aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/ABI/testing/sysfs-firmware-sgi_uv27
-rw-r--r--Documentation/dontdiff2
-rw-r--r--Documentation/filesystems/Locking15
-rw-r--r--Documentation/filesystems/ntfs.txt4
-rw-r--r--Documentation/filesystems/proc.txt19
-rw-r--r--Documentation/laptops/thinkpad-acpi.txt11
-rw-r--r--Documentation/sound/alsa/soc/dapm.txt12
-rw-r--r--Documentation/video4linux/CARDLIST.au08281
-rw-r--r--Documentation/video4linux/gspca.txt29
-rw-r--r--MAINTAINERS27
-rw-r--r--Makefile2
-rw-r--r--arch/alpha/kernel/osf_sys.c19
-rw-r--r--arch/arm/Kconfig7
-rw-r--r--arch/arm/common/sharpsl_param.c2
-rw-r--r--arch/arm/configs/ams_delta_defconfig1314
-rw-r--r--arch/arm/configs/cm_x300_defconfig1466
-rw-r--r--arch/arm/configs/n770_defconfig1421
-rw-r--r--arch/arm/configs/omap_2430sdp_defconfig1304
-rw-r--r--arch/arm/configs/omap_apollon_2420_defconfig962
-rw-r--r--arch/arm/configs/omap_generic_1510_defconfig1172
-rw-r--r--arch/arm/configs/omap_generic_1610_defconfig1178
-rw-r--r--arch/arm/configs/omap_generic_1710_defconfig1088
-rw-r--r--arch/arm/configs/omap_generic_2420_defconfig655
-rw-r--r--arch/arm/configs/omap_h2_1610_defconfig509
-rw-r--r--arch/arm/configs/omap_h4_2420_defconfig1120
-rw-r--r--arch/arm/configs/omap_innovator_1510_defconfig1253
-rw-r--r--arch/arm/configs/omap_innovator_1610_defconfig839
-rw-r--r--arch/arm/configs/omap_osk_5912_defconfig169
-rw-r--r--arch/arm/configs/omap_perseus2_730_defconfig928
-rw-r--r--arch/arm/configs/orion5x_defconfig146
-rw-r--r--arch/arm/configs/palmte_defconfig761
-rw-r--r--arch/arm/configs/palmtt_defconfig844
-rw-r--r--arch/arm/configs/palmz71_defconfig891
-rw-r--r--arch/arm/configs/palmz72_defconfig951
-rw-r--r--arch/arm/configs/sx1_defconfig1118
-rw-r--r--arch/arm/configs/viper_defconfig1678
-rw-r--r--arch/arm/configs/xm_x2xx_defconfig (renamed from arch/arm/configs/xm_x270_defconfig)237
-rw-r--r--arch/arm/include/asm/io.h5
-rw-r--r--arch/arm/include/asm/mach/map.h14
-rw-r--r--arch/arm/lib/sha1.S2
-rw-r--r--arch/arm/mach-footbridge/time.c18
-rw-r--r--arch/arm/mach-omap1/mcbsp.c8
-rw-r--r--arch/arm/mach-omap2/board-2430sdp.c2
-rw-r--r--arch/arm/mach-omap2/mcbsp.c4
-rw-r--r--arch/arm/mach-orion5x/common.h1
-rw-r--r--arch/arm/mach-orion5x/dns323-setup.c6
-rw-r--r--arch/arm/mach-orion5x/kurobox_pro-setup.c4
-rw-r--r--arch/arm/mach-orion5x/pci.c13
-rw-r--r--arch/arm/mach-orion5x/ts209-setup.c9
-rw-r--r--arch/arm/mach-orion5x/ts409-setup.c9
-rw-r--r--arch/arm/mach-pxa/Kconfig80
-rw-r--r--arch/arm/mach-pxa/Makefile30
-rw-r--r--arch/arm/mach-pxa/akita-ioexp.c222
-rw-r--r--arch/arm/mach-pxa/am200epd.c374
-rw-r--r--arch/arm/mach-pxa/cm-x255.c258
-rw-r--r--arch/arm/mach-pxa/cm-x270-pci.h13
-rw-r--r--arch/arm/mach-pxa/cm-x270.c461
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.c (renamed from arch/arm/mach-pxa/cm-x270-pci.c)56
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.h13
-rw-r--r--arch/arm/mach-pxa/cm-x2xx.c531
-rw-r--r--arch/arm/mach-pxa/cm-x300.c473
-rw-r--r--arch/arm/mach-pxa/colibri.c11
-rw-r--r--arch/arm/mach-pxa/corgi.c478
-rw-r--r--arch/arm/mach-pxa/corgi_lcd.c290
-rw-r--r--arch/arm/mach-pxa/corgi_pm.c1
-rw-r--r--arch/arm/mach-pxa/corgi_ssp.c276
-rw-r--r--arch/arm/mach-pxa/e330.c43
-rw-r--r--arch/arm/mach-pxa/e350.c43
-rw-r--r--arch/arm/mach-pxa/e400.c94
-rw-r--r--arch/arm/mach-pxa/e400_lcd.c56
-rw-r--r--arch/arm/mach-pxa/e740.c169
-rw-r--r--arch/arm/mach-pxa/e740_lcd.c123
-rw-r--r--arch/arm/mach-pxa/e750.c (renamed from arch/arm/mach-pxa/e750_lcd.c)67
-rw-r--r--arch/arm/mach-pxa/e800.c (renamed from arch/arm/mach-pxa/e800_lcd.c)79
-rw-r--r--arch/arm/mach-pxa/eseries.c157
-rw-r--r--arch/arm/mach-pxa/eseries.h4
-rw-r--r--arch/arm/mach-pxa/eseries_udc.c57
-rw-r--r--arch/arm/mach-pxa/generic.h1
-rw-r--r--arch/arm/mach-pxa/gumstix.c100
-rw-r--r--arch/arm/mach-pxa/idp.c78
-rw-r--r--arch/arm/mach-pxa/include/mach/akita.h32
-rw-r--r--arch/arm/mach-pxa/include/mach/corgi.h11
-rw-r--r--arch/arm/mach-pxa/include/mach/littleton.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/memory.h4
-rw-r--r--arch/arm/mach-pxa/include/mach/mfp-pxa25x.h4
-rw-r--r--arch/arm/mach-pxa/include/mach/mfp-pxa320.h8
-rw-r--r--arch/arm/mach-pxa/include/mach/mfp.h5
-rw-r--r--arch/arm/mach-pxa/include/mach/mioa701.h67
-rw-r--r--arch/arm/mach-pxa/include/mach/palmz72.h67
-rw-r--r--arch/arm/mach-pxa/include/mach/poodle.h9
-rw-r--r--arch/arm/mach-pxa/include/mach/spitz.h42
-rw-r--r--arch/arm/mach-pxa/include/mach/trizeps4.h84
-rw-r--r--arch/arm/mach-pxa/include/mach/viper.h96
-rw-r--r--arch/arm/mach-pxa/leds-trizeps4.c134
-rw-r--r--arch/arm/mach-pxa/leds.c2
-rw-r--r--arch/arm/mach-pxa/littleton.c205
-rw-r--r--arch/arm/mach-pxa/lpd270.c84
-rw-r--r--arch/arm/mach-pxa/lubbock.c23
-rw-r--r--arch/arm/mach-pxa/magician.c2
-rw-r--r--arch/arm/mach-pxa/mfp-pxa2xx.c222
-rw-r--r--arch/arm/mach-pxa/mioa701.c905
-rw-r--r--arch/arm/mach-pxa/mioa701_bootresume.S36
-rw-r--r--arch/arm/mach-pxa/mp900.c100
-rw-r--r--arch/arm/mach-pxa/palmtx.c20
-rw-r--r--arch/arm/mach-pxa/palmz72.c480
-rw-r--r--arch/arm/mach-pxa/pcm027.c32
-rw-r--r--arch/arm/mach-pxa/poodle.c355
-rw-r--r--arch/arm/mach-pxa/pxa25x.c28
-rw-r--r--arch/arm/mach-pxa/pxa27x.c37
-rw-r--r--arch/arm/mach-pxa/sharpsl_pm.c16
-rw-r--r--arch/arm/mach-pxa/spitz.c527
-rw-r--r--arch/arm/mach-pxa/spitz_pm.c28
-rw-r--r--arch/arm/mach-pxa/trizeps4.c549
-rw-r--r--arch/arm/mach-pxa/viper.c951
-rw-r--r--arch/arm/mach-pxa/zylonite_pxa300.c8
-rw-r--r--arch/arm/mach-pxa/zylonite_pxa320.c6
-rw-r--r--arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h10
-rw-r--r--arch/arm/mach-s3c2410/nor-simtec.c3
-rw-r--r--arch/arm/mach-s3c2412/mach-jive.c2
-rw-r--r--arch/arm/mm/mmu.c20
-rw-r--r--arch/arm/plat-mxc/clock.c1
-rw-r--r--arch/arm/plat-omap/gpio.c2
-rw-r--r--arch/arm/plat-omap/include/mach/mcbsp.h2
-rw-r--r--arch/arm/plat-omap/mcbsp.c5
-rw-r--r--arch/arm/plat-s3c24xx/gpiolib.c12
-rw-r--r--arch/arm/plat-s3c24xx/pwm-clock.c6
-rw-r--r--arch/arm/plat-s3c24xx/pwm.c5
-rw-r--r--arch/avr32/kernel/asm-offsets.c6
-rw-r--r--arch/avr32/kernel/entry-avr32b.S59
-rw-r--r--arch/avr32/mach-at32ap/pm-at32ap700x.S2
-rw-r--r--arch/blackfin/Kconfig1
-rw-r--r--arch/blackfin/Makefile26
-rw-r--r--arch/blackfin/include/asm/.gitignore (renamed from include/asm-blackfin/.gitignore)0
-rw-r--r--arch/blackfin/include/asm/Kbuild (renamed from include/asm-blackfin/Kbuild)0
-rw-r--r--arch/blackfin/include/asm/a.out.h (renamed from include/asm-blackfin/a.out.h)0
-rw-r--r--arch/blackfin/include/asm/atomic.h (renamed from include/asm-blackfin/atomic.h)0
-rw-r--r--arch/blackfin/include/asm/auxvec.h (renamed from include/asm-blackfin/auxvec.h)0
-rw-r--r--arch/blackfin/include/asm/bfin-global.h (renamed from include/asm-blackfin/bfin-global.h)0
-rw-r--r--arch/blackfin/include/asm/bfin5xx_spi.h (renamed from include/asm-blackfin/bfin5xx_spi.h)0
-rw-r--r--arch/blackfin/include/asm/bfin_simple_timer.h (renamed from include/asm-blackfin/bfin_simple_timer.h)0
-rw-r--r--arch/blackfin/include/asm/bfin_sport.h (renamed from include/asm-blackfin/bfin_sport.h)0
-rw-r--r--arch/blackfin/include/asm/bitops.h (renamed from include/asm-blackfin/bitops.h)0
-rw-r--r--arch/blackfin/include/asm/blackfin.h (renamed from include/asm-blackfin/blackfin.h)4
-rw-r--r--arch/blackfin/include/asm/bug.h (renamed from include/asm-blackfin/bug.h)0
-rw-r--r--arch/blackfin/include/asm/bugs.h (renamed from include/asm-blackfin/bugs.h)0
-rw-r--r--arch/blackfin/include/asm/byteorder.h (renamed from include/asm-blackfin/byteorder.h)0
-rw-r--r--arch/blackfin/include/asm/cache.h (renamed from include/asm-blackfin/cache.h)0
-rw-r--r--arch/blackfin/include/asm/cacheflush.h (renamed from include/asm-blackfin/cacheflush.h)0
-rw-r--r--arch/blackfin/include/asm/cdef_LPBlackfin.h (renamed from include/asm-blackfin/mach-common/cdef_LPBlackfin.h)2
-rw-r--r--arch/blackfin/include/asm/checksum.h (renamed from include/asm-blackfin/checksum.h)0
-rw-r--r--arch/blackfin/include/asm/clocks.h (renamed from include/asm-blackfin/mach-common/clocks.h)0
-rw-r--r--arch/blackfin/include/asm/context.S (renamed from include/asm-blackfin/mach-common/context.S)0
-rw-r--r--arch/blackfin/include/asm/cplb-mpu.h (renamed from include/asm-blackfin/cplb-mpu.h)0
-rw-r--r--arch/blackfin/include/asm/cplb.h (renamed from include/asm-blackfin/cplb.h)2
-rw-r--r--arch/blackfin/include/asm/cplbinit.h (renamed from include/asm-blackfin/cplbinit.h)0
-rw-r--r--arch/blackfin/include/asm/cpumask.h (renamed from include/asm-blackfin/cpumask.h)0
-rw-r--r--arch/blackfin/include/asm/cputime.h (renamed from include/asm-blackfin/cputime.h)0
-rw-r--r--arch/blackfin/include/asm/current.h (renamed from include/asm-blackfin/current.h)0
-rw-r--r--arch/blackfin/include/asm/def_LPBlackfin.h (renamed from include/asm-blackfin/mach-common/def_LPBlackfin.h)2
-rw-r--r--arch/blackfin/include/asm/delay.h (renamed from include/asm-blackfin/delay.h)2
-rw-r--r--arch/blackfin/include/asm/device.h (renamed from include/asm-blackfin/device.h)0
-rw-r--r--arch/blackfin/include/asm/div64.h (renamed from include/asm-blackfin/div64.h)0
-rw-r--r--arch/blackfin/include/asm/dma-mapping.h (renamed from include/asm-blackfin/dma-mapping.h)0
-rw-r--r--arch/blackfin/include/asm/dma.h (renamed from include/asm-blackfin/dma.h)2
-rw-r--r--arch/blackfin/include/asm/dpmc.h (renamed from include/asm-blackfin/dpmc.h)0
-rw-r--r--arch/blackfin/include/asm/early_printk.h (renamed from include/asm-blackfin/early_printk.h)0
-rw-r--r--arch/blackfin/include/asm/elf.h (renamed from include/asm-blackfin/elf.h)0
-rw-r--r--arch/blackfin/include/asm/emergency-restart.h (renamed from include/asm-blackfin/emergency-restart.h)0
-rw-r--r--arch/blackfin/include/asm/entry.h (renamed from include/asm-blackfin/entry.h)0
-rw-r--r--arch/blackfin/include/asm/errno.h (renamed from include/asm-blackfin/errno.h)0
-rw-r--r--arch/blackfin/include/asm/fb.h (renamed from include/asm-blackfin/fb.h)0
-rw-r--r--arch/blackfin/include/asm/fcntl.h (renamed from include/asm-blackfin/fcntl.h)0
-rw-r--r--arch/blackfin/include/asm/fixed_code.h (renamed from include/asm-blackfin/fixed_code.h)0
-rw-r--r--arch/blackfin/include/asm/flat.h (renamed from include/asm-blackfin/flat.h)0
-rw-r--r--arch/blackfin/include/asm/futex.h (renamed from include/asm-blackfin/futex.h)0
-rw-r--r--arch/blackfin/include/asm/gpio.h (renamed from include/asm-blackfin/gpio.h)2
-rw-r--r--arch/blackfin/include/asm/gptimers.h (renamed from include/asm-blackfin/gptimers.h)0
-rw-r--r--arch/blackfin/include/asm/hardirq.h (renamed from include/asm-blackfin/hardirq.h)0
-rw-r--r--arch/blackfin/include/asm/hw_irq.h (renamed from include/asm-blackfin/hw_irq.h)0
-rw-r--r--arch/blackfin/include/asm/io.h (renamed from include/asm-blackfin/io.h)0
-rw-r--r--arch/blackfin/include/asm/ioctl.h (renamed from include/asm-blackfin/ioctl.h)0
-rw-r--r--arch/blackfin/include/asm/ioctls.h (renamed from include/asm-blackfin/ioctls.h)0
-rw-r--r--arch/blackfin/include/asm/ipcbuf.h (renamed from include/asm-blackfin/ipcbuf.h)0
-rw-r--r--arch/blackfin/include/asm/irq.h (renamed from include/asm-blackfin/irq.h)4
-rw-r--r--arch/blackfin/include/asm/irq_handler.h (renamed from include/asm-blackfin/irq_handler.h)0
-rw-r--r--arch/blackfin/include/asm/irq_regs.h (renamed from include/asm-blackfin/irq_regs.h)0
-rw-r--r--arch/blackfin/include/asm/kdebug.h (renamed from include/asm-blackfin/kdebug.h)0
-rw-r--r--arch/blackfin/include/asm/kgdb.h (renamed from include/asm-blackfin/kgdb.h)0
-rw-r--r--arch/blackfin/include/asm/kmap_types.h (renamed from include/asm-blackfin/kmap_types.h)0
-rw-r--r--arch/blackfin/include/asm/l1layout.h (renamed from include/asm-blackfin/l1layout.h)0
-rw-r--r--arch/blackfin/include/asm/linkage.h (renamed from include/asm-blackfin/linkage.h)0
-rw-r--r--arch/blackfin/include/asm/local.h (renamed from include/asm-blackfin/local.h)0
-rw-r--r--arch/blackfin/include/asm/mem_map.h (renamed from include/asm-blackfin/mem_map.h)2
-rw-r--r--arch/blackfin/include/asm/mman.h (renamed from include/asm-blackfin/mman.h)0
-rw-r--r--arch/blackfin/include/asm/mmu.h (renamed from include/asm-blackfin/mmu.h)0
-rw-r--r--arch/blackfin/include/asm/mmu_context.h (renamed from include/asm-blackfin/mmu_context.h)6
-rw-r--r--arch/blackfin/include/asm/module.h (renamed from include/asm-blackfin/module.h)0
-rw-r--r--arch/blackfin/include/asm/msgbuf.h (renamed from include/asm-blackfin/msgbuf.h)0
-rw-r--r--arch/blackfin/include/asm/mutex.h (renamed from include/asm-blackfin/mutex.h)0
-rw-r--r--arch/blackfin/include/asm/nand.h (renamed from include/asm-blackfin/nand.h)0
-rw-r--r--arch/blackfin/include/asm/page.h (renamed from include/asm-blackfin/page.h)0
-rw-r--r--arch/blackfin/include/asm/page_offset.h (renamed from include/asm-blackfin/page_offset.h)0
-rw-r--r--arch/blackfin/include/asm/param.h (renamed from include/asm-blackfin/param.h)0
-rw-r--r--arch/blackfin/include/asm/pci.h (renamed from include/asm-blackfin/pci.h)0
-rw-r--r--arch/blackfin/include/asm/percpu.h (renamed from include/asm-blackfin/percpu.h)0
-rw-r--r--arch/blackfin/include/asm/pgalloc.h (renamed from include/asm-blackfin/pgalloc.h)0
-rw-r--r--arch/blackfin/include/asm/pgtable.h (renamed from include/asm-blackfin/pgtable.h)2
-rw-r--r--arch/blackfin/include/asm/poll.h (renamed from include/asm-blackfin/poll.h)0
-rw-r--r--arch/blackfin/include/asm/portmux.h (renamed from include/asm-blackfin/portmux.h)2
-rw-r--r--arch/blackfin/include/asm/posix_types.h (renamed from include/asm-blackfin/posix_types.h)0
-rw-r--r--arch/blackfin/include/asm/processor.h (renamed from include/asm-blackfin/processor.h)0
-rw-r--r--arch/blackfin/include/asm/ptrace.h (renamed from include/asm-blackfin/ptrace.h)0
-rw-r--r--arch/blackfin/include/asm/reboot.h (renamed from include/asm-blackfin/reboot.h)0
-rw-r--r--arch/blackfin/include/asm/resource.h (renamed from include/asm-blackfin/resource.h)0
-rw-r--r--arch/blackfin/include/asm/scatterlist.h (renamed from include/asm-blackfin/scatterlist.h)0
-rw-r--r--arch/blackfin/include/asm/sections.h (renamed from include/asm-blackfin/sections.h)0
-rw-r--r--arch/blackfin/include/asm/segment.h (renamed from include/asm-blackfin/segment.h)0
-rw-r--r--arch/blackfin/include/asm/sembuf.h (renamed from include/asm-blackfin/sembuf.h)0
-rw-r--r--arch/blackfin/include/asm/serial.h (renamed from include/asm-blackfin/serial.h)0
-rw-r--r--arch/blackfin/include/asm/setup.h (renamed from include/asm-blackfin/setup.h)0
-rw-r--r--arch/blackfin/include/asm/shmbuf.h (renamed from include/asm-blackfin/shmbuf.h)0
-rw-r--r--arch/blackfin/include/asm/shmparam.h (renamed from include/asm-blackfin/shmparam.h)0
-rw-r--r--arch/blackfin/include/asm/sigcontext.h (renamed from include/asm-blackfin/sigcontext.h)0
-rw-r--r--arch/blackfin/include/asm/siginfo.h (renamed from include/asm-blackfin/siginfo.h)0
-rw-r--r--arch/blackfin/include/asm/signal.h (renamed from include/asm-blackfin/signal.h)0
-rw-r--r--arch/blackfin/include/asm/socket.h (renamed from include/asm-blackfin/socket.h)0
-rw-r--r--arch/blackfin/include/asm/sockios.h (renamed from include/asm-blackfin/sockios.h)0
-rw-r--r--arch/blackfin/include/asm/spinlock.h (renamed from include/asm-blackfin/spinlock.h)0
-rw-r--r--arch/blackfin/include/asm/stat.h (renamed from include/asm-blackfin/stat.h)0
-rw-r--r--arch/blackfin/include/asm/statfs.h (renamed from include/asm-blackfin/statfs.h)0
-rw-r--r--arch/blackfin/include/asm/string.h (renamed from include/asm-blackfin/string.h)0
-rw-r--r--arch/blackfin/include/asm/system.h (renamed from include/asm-blackfin/system.h)2
-rw-r--r--arch/blackfin/include/asm/termbits.h (renamed from include/asm-blackfin/termbits.h)0
-rw-r--r--arch/blackfin/include/asm/termios.h (renamed from include/asm-blackfin/termios.h)0
-rw-r--r--arch/blackfin/include/asm/thread_info.h (renamed from include/asm-blackfin/thread_info.h)0
-rw-r--r--arch/blackfin/include/asm/time.h (renamed from include/asm-blackfin/time.h)0
-rw-r--r--arch/blackfin/include/asm/timex.h (renamed from include/asm-blackfin/timex.h)0
-rw-r--r--arch/blackfin/include/asm/tlb.h (renamed from include/asm-blackfin/tlb.h)0
-rw-r--r--arch/blackfin/include/asm/tlbflush.h (renamed from include/asm-blackfin/tlbflush.h)0
-rw-r--r--arch/blackfin/include/asm/topology.h (renamed from include/asm-blackfin/topology.h)0
-rw-r--r--arch/blackfin/include/asm/trace.h (renamed from include/asm-blackfin/trace.h)0
-rw-r--r--arch/blackfin/include/asm/traps.h (renamed from include/asm-blackfin/traps.h)0
-rw-r--r--arch/blackfin/include/asm/types.h (renamed from include/asm-blackfin/types.h)0
-rw-r--r--arch/blackfin/include/asm/uaccess.h (renamed from include/asm-blackfin/uaccess.h)0
-rw-r--r--arch/blackfin/include/asm/ucontext.h (renamed from include/asm-blackfin/ucontext.h)0
-rw-r--r--arch/blackfin/include/asm/unaligned.h (renamed from include/asm-blackfin/unaligned.h)0
-rw-r--r--arch/blackfin/include/asm/unistd.h (renamed from include/asm-blackfin/unistd.h)0
-rw-r--r--arch/blackfin/include/asm/user.h (renamed from include/asm-blackfin/user.h)0
-rw-r--r--arch/blackfin/kernel/entry.S2
-rw-r--r--arch/blackfin/mach-bf527/head.S4
-rw-r--r--arch/blackfin/mach-bf527/include/mach/anomaly.h (renamed from include/asm-blackfin/mach-bf527/anomaly.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/bf527.h (renamed from include/asm-blackfin/mach-bf527/bf527.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h (renamed from include/asm-blackfin/mach-bf527/bfin_serial_5xx.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/bfin_sir.h (renamed from include/asm-blackfin/mach-bf527/bfin_sir.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/blackfin.h (renamed from include/asm-blackfin/mach-bf527/blackfin.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/cdefBF522.h (renamed from include/asm-blackfin/mach-bf527/cdefBF522.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/cdefBF525.h (renamed from include/asm-blackfin/mach-bf527/cdefBF525.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/cdefBF527.h (renamed from include/asm-blackfin/mach-bf527/cdefBF527.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h (renamed from include/asm-blackfin/mach-bf527/cdefBF52x_base.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/defBF522.h (renamed from include/asm-blackfin/mach-bf527/defBF522.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/defBF525.h (renamed from include/asm-blackfin/mach-bf527/defBF525.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/defBF527.h (renamed from include/asm-blackfin/mach-bf527/defBF527.h)2
-rw-r--r--arch/blackfin/mach-bf527/include/mach/defBF52x_base.h (renamed from include/asm-blackfin/mach-bf527/defBF52x_base.h)185
-rw-r--r--arch/blackfin/mach-bf527/include/mach/dma.h (renamed from include/asm-blackfin/mach-bf527/dma.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/irq.h (renamed from include/asm-blackfin/mach-bf527/irq.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/mem_init.h (renamed from include/asm-blackfin/mach-bf527/mem_init.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/mem_map.h (renamed from include/asm-blackfin/mach-bf527/mem_map.h)0
-rw-r--r--arch/blackfin/mach-bf527/include/mach/portmux.h (renamed from include/asm-blackfin/mach-bf527/portmux.h)0
-rw-r--r--arch/blackfin/mach-bf533/head.S4
-rw-r--r--arch/blackfin/mach-bf533/include/mach/anomaly.h (renamed from include/asm-blackfin/mach-bf533/anomaly.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/bf533.h (renamed from include/asm-blackfin/mach-bf533/bf533.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h (renamed from include/asm-blackfin/mach-bf533/bfin_serial_5xx.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/bfin_sir.h (renamed from include/asm-blackfin/mach-bf533/bfin_sir.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/blackfin.h (renamed from include/asm-blackfin/mach-bf533/blackfin.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/cdefBF532.h (renamed from include/asm-blackfin/mach-bf533/cdefBF532.h)2
-rw-r--r--arch/blackfin/mach-bf533/include/mach/defBF532.h (renamed from include/asm-blackfin/mach-bf533/defBF532.h)2
-rw-r--r--arch/blackfin/mach-bf533/include/mach/dma.h (renamed from include/asm-blackfin/mach-bf533/dma.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/irq.h (renamed from include/asm-blackfin/mach-bf533/irq.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/mem_init.h (renamed from include/asm-blackfin/mach-bf533/mem_init.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/mem_map.h (renamed from include/asm-blackfin/mach-bf533/mem_map.h)0
-rw-r--r--arch/blackfin/mach-bf533/include/mach/portmux.h (renamed from include/asm-blackfin/mach-bf533/portmux.h)0
-rw-r--r--arch/blackfin/mach-bf537/boards/stamp.c27
-rw-r--r--arch/blackfin/mach-bf537/head.S4
-rw-r--r--arch/blackfin/mach-bf537/include/mach/anomaly.h (renamed from include/asm-blackfin/mach-bf537/anomaly.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/bf537.h (renamed from include/asm-blackfin/mach-bf537/bf537.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h (renamed from include/asm-blackfin/mach-bf537/bfin_serial_5xx.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/bfin_sir.h (renamed from include/asm-blackfin/mach-bf537/bfin_sir.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/blackfin.h (renamed from include/asm-blackfin/mach-bf537/blackfin.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/cdefBF534.h (renamed from include/asm-blackfin/mach-bf537/cdefBF534.h)2
-rw-r--r--arch/blackfin/mach-bf537/include/mach/cdefBF537.h (renamed from include/asm-blackfin/mach-bf537/cdefBF537.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/defBF534.h (renamed from include/asm-blackfin/mach-bf537/defBF534.h)2
-rw-r--r--arch/blackfin/mach-bf537/include/mach/defBF537.h (renamed from include/asm-blackfin/mach-bf537/defBF537.h)2
-rw-r--r--arch/blackfin/mach-bf537/include/mach/dma.h (renamed from include/asm-blackfin/mach-bf537/dma.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/irq.h (renamed from include/asm-blackfin/mach-bf537/irq.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/mem_init.h (renamed from include/asm-blackfin/mach-bf537/mem_init.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/mem_map.h (renamed from include/asm-blackfin/mach-bf537/mem_map.h)0
-rw-r--r--arch/blackfin/mach-bf537/include/mach/portmux.h (renamed from include/asm-blackfin/mach-bf537/portmux.h)0
-rw-r--r--arch/blackfin/mach-bf548/boards/cm_bf548.c4
-rw-r--r--arch/blackfin/mach-bf548/boards/ezkit.c4
-rw-r--r--arch/blackfin/mach-bf548/head.S4
-rw-r--r--arch/blackfin/mach-bf548/include/mach/anomaly.h (renamed from include/asm-blackfin/mach-bf548/anomaly.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bf548.h (renamed from include/asm-blackfin/mach-bf548/bf548.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h (renamed from include/asm-blackfin/mach-bf548/bf54x-lq043.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bf54x_keys.h (renamed from include/asm-blackfin/mach-bf548/bf54x_keys.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h (renamed from include/asm-blackfin/mach-bf548/bfin_serial_5xx.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/bfin_sir.h (renamed from include/asm-blackfin/mach-bf548/bfin_sir.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/blackfin.h (renamed from include/asm-blackfin/mach-bf548/blackfin.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF542.h (renamed from include/asm-blackfin/mach-bf548/cdefBF542.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF544.h (renamed from include/asm-blackfin/mach-bf548/cdefBF544.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF547.h (renamed from include/asm-blackfin/mach-bf548/cdefBF547.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF548.h (renamed from include/asm-blackfin/mach-bf548/cdefBF548.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF549.h (renamed from include/asm-blackfin/mach-bf548/cdefBF549.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h (renamed from include/asm-blackfin/mach-bf548/cdefBF54x_base.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF542.h (renamed from include/asm-blackfin/mach-bf548/defBF542.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF544.h (renamed from include/asm-blackfin/mach-bf548/defBF544.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF547.h (renamed from include/asm-blackfin/mach-bf548/defBF547.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF548.h (renamed from include/asm-blackfin/mach-bf548/defBF548.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF549.h (renamed from include/asm-blackfin/mach-bf548/defBF549.h)2
-rw-r--r--arch/blackfin/mach-bf548/include/mach/defBF54x_base.h (renamed from include/asm-blackfin/mach-bf548/defBF54x_base.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/dma.h (renamed from include/asm-blackfin/mach-bf548/dma.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/gpio.h (renamed from include/asm-blackfin/mach-bf548/gpio.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/irq.h (renamed from include/asm-blackfin/mach-bf548/irq.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/mem_init.h (renamed from include/asm-blackfin/mach-bf548/mem_init.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/mem_map.h (renamed from include/asm-blackfin/mach-bf548/mem_map.h)0
-rw-r--r--arch/blackfin/mach-bf548/include/mach/portmux.h (renamed from include/asm-blackfin/mach-bf548/portmux.h)0
-rw-r--r--arch/blackfin/mach-bf561/head.S4
-rw-r--r--arch/blackfin/mach-bf561/include/mach/anomaly.h (renamed from include/asm-blackfin/mach-bf561/anomaly.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/bf561.h (renamed from include/asm-blackfin/mach-bf561/bf561.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h (renamed from include/asm-blackfin/mach-bf561/bfin_serial_5xx.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/bfin_sir.h (renamed from include/asm-blackfin/mach-bf561/bfin_sir.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/blackfin.h (renamed from include/asm-blackfin/mach-bf561/blackfin.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/cdefBF561.h (renamed from include/asm-blackfin/mach-bf561/cdefBF561.h)2
-rw-r--r--arch/blackfin/mach-bf561/include/mach/defBF561.h (renamed from include/asm-blackfin/mach-bf561/defBF561.h)2
-rw-r--r--arch/blackfin/mach-bf561/include/mach/dma.h (renamed from include/asm-blackfin/mach-bf561/dma.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/irq.h (renamed from include/asm-blackfin/mach-bf561/irq.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/mem_init.h (renamed from include/asm-blackfin/mach-bf561/mem_init.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/mem_map.h (renamed from include/asm-blackfin/mach-bf561/mem_map.h)0
-rw-r--r--arch/blackfin/mach-bf561/include/mach/portmux.h (renamed from include/asm-blackfin/mach-bf561/portmux.h)0
-rw-r--r--arch/blackfin/mach-common/arch_checks.c4
-rw-r--r--arch/blackfin/mach-common/dpmc_modes.S2
-rw-r--r--arch/blackfin/mach-common/entry.S2
-rw-r--r--arch/blackfin/mach-common/interrupt.S4
-rw-r--r--arch/blackfin/mach-common/ints-priority.c4
-rw-r--r--arch/blackfin/mm/blackfin_sram.c24
-rw-r--r--arch/ia64/include/asm/io.h10
-rw-r--r--arch/ia64/include/asm/sections.h3
-rw-r--r--arch/ia64/kernel/module.c12
-rw-r--r--arch/ia64/kernel/smpboot.c1
-rw-r--r--arch/m68k/atari/atakeyb.c9
-rw-r--r--arch/mips/Kconfig9
-rw-r--r--arch/mips/emma2rh/markeins/setup.c16
-rw-r--r--arch/mips/jazz/setup.c13
-rw-r--r--arch/mips/kernel/.gitignore1
-rw-r--r--arch/mips/kernel/kgdb.c7
-rw-r--r--arch/mips/kernel/scall32-o32.S6
-rw-r--r--arch/mips/kernel/scall64-64.S6
-rw-r--r--arch/mips/kernel/scall64-n32.S6
-rw-r--r--arch/mips/kernel/scall64-o32.S6
-rw-r--r--arch/mips/kernel/setup.c75
-rw-r--r--arch/mips/kernel/traps.c18
-rw-r--r--arch/mips/mm/c-r3k.c1
-rw-r--r--arch/mips/mm/c-r4k.c18
-rw-r--r--arch/mips/mm/c-tx39.c2
-rw-r--r--arch/mips/mm/cache.c1
-rw-r--r--arch/mips/mm/tlbex.c6
-rw-r--r--arch/mips/pci/pci-ip27.c1
-rw-r--r--arch/mips/rb532/devices.c16
-rw-r--r--arch/mips/sgi-ip22/ip22-platform.c2
-rw-r--r--arch/mips/txx9/generic/setup.c4
-rw-r--r--arch/parisc/hpux/fs.c30
-rw-r--r--arch/parisc/kernel/module.c14
-rw-r--r--arch/powerpc/Makefile5
-rw-r--r--arch/powerpc/boot/Makefile2
-rw-r--r--arch/powerpc/boot/dts/mpc8641_hpcn.dts2
-rw-r--r--arch/powerpc/boot/dts/tqm8548-bigflash.dts8
-rw-r--r--arch/powerpc/boot/dts/tqm8548.dts3
-rwxr-xr-xarch/powerpc/boot/wrapper2
-rw-r--r--arch/powerpc/configs/83xx/asp8347_defconfig (renamed from arch/powerpc/configs/asp8347_defconfig)312
-rw-r--r--arch/powerpc/configs/83xx/mpc8313_rdb_defconfig188
-rw-r--r--arch/powerpc/configs/83xx/mpc8315_rdb_defconfig188
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_mds_defconfig172
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_rdb_defconfig176
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig175
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig172
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_mds_defconfig168
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_mds_defconfig172
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_rdk_defconfig183
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_mds_defconfig351
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_rdb_defconfig340
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig239
-rw-r--r--arch/powerpc/configs/85xx/ksi8560_defconfig95
-rw-r--r--arch/powerpc/configs/85xx/mpc8536_ds_defconfig (renamed from arch/powerpc/configs/mpc8536_ds_defconfig)167
-rw-r--r--arch/powerpc/configs/85xx/mpc8540_ads_defconfig71
-rw-r--r--arch/powerpc/configs/85xx/mpc8544_ds_defconfig178
-rw-r--r--arch/powerpc/configs/85xx/mpc8560_ads_defconfig98
-rw-r--r--arch/powerpc/configs/85xx/mpc8568mds_defconfig121
-rw-r--r--arch/powerpc/configs/85xx/mpc8572_ds_defconfig177
-rw-r--r--arch/powerpc/configs/85xx/mpc85xx_cds_defconfig85
-rw-r--r--arch/powerpc/configs/85xx/sbc8548_defconfig63
-rw-r--r--arch/powerpc/configs/85xx/sbc8560_defconfig69
-rw-r--r--arch/powerpc/configs/85xx/stx_gp3_defconfig163
-rw-r--r--arch/powerpc/configs/85xx/tqm8540_defconfig112
-rw-r--r--arch/powerpc/configs/85xx/tqm8541_defconfig139
-rw-r--r--arch/powerpc/configs/85xx/tqm8548_defconfig129
-rw-r--r--arch/powerpc/configs/85xx/tqm8555_defconfig139
-rw-r--r--arch/powerpc/configs/85xx/tqm8560_defconfig139
-rw-r--r--arch/powerpc/configs/adder875_defconfig55
-rw-r--r--arch/powerpc/configs/c2k_defconfig245
-rw-r--r--arch/powerpc/configs/chrp32_defconfig141
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig198
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig57
-rw-r--r--arch/powerpc/configs/g5_defconfig227
-rw-r--r--arch/powerpc/configs/iseries_defconfig87
-rw-r--r--arch/powerpc/configs/linkstation_defconfig133
-rw-r--r--arch/powerpc/configs/maple_defconfig381
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig72
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig132
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig389
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig207
-rw-r--r--arch/powerpc/configs/mpc8610_hpcd_defconfig165
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig215
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig61
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig57
-rw-r--r--arch/powerpc/configs/pmac32_defconfig241
-rw-r--r--arch/powerpc/configs/ppc64_defconfig237
-rw-r--r--arch/powerpc/configs/ppc6xx_defconfig144
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig147
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig125
-rw-r--r--arch/powerpc/configs/ps3_defconfig153
-rw-r--r--arch/powerpc/configs/pseries_defconfig172
-rw-r--r--arch/powerpc/configs/sbc8641d_defconfig173
-rw-r--r--arch/powerpc/configs/storcenter_defconfig113
-rw-r--r--arch/powerpc/include/asm/cpm2.h5
-rw-r--r--arch/powerpc/include/asm/pgtable-ppc64.h6
-rw-r--r--arch/powerpc/include/asm/sections.h3
-rw-r--r--arch/powerpc/kernel/Makefile7
-rw-r--r--arch/powerpc/kernel/align.c2
-rw-r--r--arch/powerpc/kernel/idle_6xx.S2
-rw-r--r--arch/powerpc/kernel/idle_e500.S3
-rw-r--r--arch/powerpc/kernel/module_64.c13
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S7
-rw-r--r--arch/powerpc/mm/hash_utils_64.c18
-rw-r--r--arch/powerpc/platforms/cell/spufs/sched.c29
-rw-r--r--arch/powerpc/platforms/powermac/Makefile2
-rw-r--r--arch/powerpc/platforms/ps3/htab.c269
-rw-r--r--arch/powerpc/platforms/ps3/setup.c1
-rw-r--r--arch/powerpc/platforms/ps3/spu.c18
-rw-r--r--arch/powerpc/platforms/pseries/setup.c1
-rw-r--r--arch/powerpc/sysdev/cpm_common.c37
-rw-r--r--arch/powerpc/sysdev/qe_lib/ucc_fast.c4
-rw-r--r--arch/powerpc/sysdev/qe_lib/ucc_slow.c8
-rw-r--r--arch/s390/kernel/compat_ptrace.h1
-rw-r--r--arch/s390/kernel/ptrace.c28
-rw-r--r--arch/s390/kernel/vmlinux.lds.S2
-rw-r--r--arch/sh/configs/ap325rxa_defconfig22
-rw-r--r--arch/sh/configs/migor_defconfig21
-rw-r--r--arch/sh/include/asm/uaccess_64.h2
-rw-r--r--arch/sh/kernel/cpu/sh5/entry.S14
-rw-r--r--arch/sh/kernel/entry-common.S27
-rw-r--r--arch/sh/kernel/machine_kexec.c2
-rw-r--r--arch/sh/kernel/ptrace_64.c2
-rw-r--r--arch/sh/kernel/setup.c6
-rw-r--r--arch/sh/kernel/sys_sh.c2
-rw-r--r--arch/sh/mm/consistent.c6
-rw-r--r--arch/sparc/Makefile8
-rw-r--r--arch/sparc/boot/Makefile6
-rw-r--r--arch/sparc/include/asm/smp_32.h25
-rw-r--r--arch/sparc/kernel/of_device.c19
-rw-r--r--arch/sparc/kernel/sun4d_smp.c16
-rw-r--r--arch/sparc/kernel/sun4m_smp.c12
-rw-r--r--arch/sparc64/Kconfig1
-rw-r--r--arch/sparc64/kernel/irq.c2
-rw-r--r--arch/sparc64/kernel/of_device.c20
-rw-r--r--arch/sparc64/kernel/smp.c14
-rw-r--r--arch/sparc64/mm/init.c2
-rw-r--r--arch/x86/Kconfig.cpu13
-rw-r--r--arch/x86/boot/cpucheck.c8
-rw-r--r--arch/x86/configs/i386_defconfig303
-rw-r--r--arch/x86/configs/x86_64_defconfig258
-rw-r--r--arch/x86/kernel/alternative.c36
-rw-r--r--arch/x86/kernel/cpu/amd.c9
-rw-r--r--arch/x86/kernel/cpu/centaur.c11
-rw-r--r--arch/x86/kernel/cpu/common.c34
-rw-r--r--arch/x86/kernel/cpu/common_64.c74
-rw-r--r--arch/x86/kernel/cpu/cyrix.c32
-rw-r--r--arch/x86/kernel/cpu/feature_names.c3
-rw-r--r--arch/x86/kernel/cpuid.c15
-rw-r--r--arch/x86/kernel/e820.c2
-rw-r--r--arch/x86/kernel/hpet.c19
-rw-r--r--arch/x86/kernel/io_delay.c8
-rw-r--r--arch/x86/kernel/msr.c38
-rw-r--r--arch/x86/kernel/tsc.c234
-rw-r--r--arch/x86/lib/msr-on-cpu.c22
-rw-r--r--arch/x86/pci/i386.c87
-rw-r--r--arch/x86/xen/enlighten.c2
-rw-r--r--block/blk-core.c2
-rw-r--r--block/blk-tag.c6
-rw-r--r--block/bsg.c44
-rw-r--r--block/cmd-filter.c199
-rw-r--r--block/genhd.c15
-rw-r--r--block/scsi_ioctl.c94
-rw-r--r--crypto/async_tx/async_tx.c3
-rw-r--r--crypto/camellia.c84
-rw-r--r--drivers/acpi/dispatcher/dsobject.c2
-rw-r--r--drivers/acpi/processor_core.c2
-rw-r--r--drivers/acpi/processor_perflib.c2
-rw-r--r--drivers/acpi/sbshc.c7
-rw-r--r--drivers/acpi/tables.c2
-rw-r--r--drivers/ata/Kconfig6
-rw-r--r--drivers/ata/ahci.c21
-rw-r--r--drivers/ata/libata-sff.c5
-rw-r--r--drivers/ata/pata_marvell.c51
-rw-r--r--drivers/ata/pata_sil680.c3
-rw-r--r--drivers/ata/sata_mv.c3
-rw-r--r--drivers/ata/sata_nv.c19
-rw-r--r--drivers/block/pktcdvd.c35
-rw-r--r--drivers/char/random.c19
-rw-r--r--drivers/char/tty_io.c7
-rw-r--r--drivers/char/tty_ioctl.c6
-rw-r--r--drivers/clocksource/acpi_pm.c54
-rw-r--r--drivers/firmware/iscsi_ibft.c3
-rw-r--r--drivers/gpu/drm/drm_irq.c20
-rw-r--r--drivers/gpu/drm/drm_lock.c33
-rw-r--r--drivers/gpu/drm/radeon/r300_cmdbuf.c196
-rw-r--r--drivers/gpu/drm/radeon/r300_reg.h5
-rw-r--r--drivers/gpu/drm/radeon/radeon_cp.c38
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.h19
-rw-r--r--drivers/hwmon/Kconfig9
-rw-r--r--drivers/hwmon/Makefile1
-rw-r--r--drivers/hwmon/max1111.c244
-rw-r--r--drivers/i2c/busses/i2c-sh_mobile.c271
-rw-r--r--drivers/i2c/i2c-core.c18
-rw-r--r--drivers/ide/Kconfig16
-rw-r--r--drivers/ide/arm/palm_bk3710.c8
-rw-r--r--drivers/ide/ide-cd.c2
-rw-r--r--drivers/ide/ide-disk.c14
-rw-r--r--drivers/infiniband/hw/mlx4/mr.c2
-rw-r--r--drivers/input/keyboard/bf54x-keys.c2
-rw-r--r--drivers/input/mouse/bcm5974.c74
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h2
-rw-r--r--drivers/input/touchscreen/Kconfig1
-rw-r--r--drivers/input/touchscreen/ads7846.c68
-rw-r--r--drivers/input/touchscreen/ucb1400_ts.c382
-rw-r--r--drivers/leds/Kconfig14
-rw-r--r--drivers/leds/Makefile2
-rw-r--r--drivers/leds/leds-corgi.c124
-rw-r--r--drivers/leds/leds-spitz.c131
-rw-r--r--drivers/md/bitmap.c45
-rw-r--r--drivers/md/md.c2
-rw-r--r--drivers/media/common/saa7146_video.c4
-rw-r--r--drivers/media/common/tuners/mt2131.c2
-rw-r--r--drivers/media/common/tuners/mt2131.h2
-rw-r--r--drivers/media/common/tuners/mt2131_priv.h2
-rw-r--r--drivers/media/common/tuners/mxl5005s.c4
-rw-r--r--drivers/media/common/tuners/mxl5005s.h2
-rw-r--r--drivers/media/common/tuners/tuner-simple.c33
-rw-r--r--drivers/media/common/tuners/xc5000.c2
-rw-r--r--drivers/media/common/tuners/xc5000.h2
-rw-r--r--drivers/media/common/tuners/xc5000_priv.h2
-rw-r--r--drivers/media/dvb/b2c2/flexcop-fe-tuner.c3
-rw-r--r--drivers/media/dvb/b2c2/flexcop-i2c.c12
-rw-r--r--drivers/media/dvb/bt8xx/dst.c4
-rw-r--r--drivers/media/dvb/dvb-core/dmxdev.c1
-rw-r--r--drivers/media/dvb/dvb-core/dvb_ca_en50221.c4
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c8
-rw-r--r--drivers/media/dvb/dvb-usb/cxusb.c2
-rw-r--r--drivers/media/dvb/dvb-usb/dib0700_devices.c9
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-ids.h1
-rw-r--r--drivers/media/dvb/frontends/au8522.c47
-rw-r--r--drivers/media/dvb/frontends/au8522.h11
-rw-r--r--drivers/media/dvb/frontends/cx22702.c2
-rw-r--r--drivers/media/dvb/frontends/cx22702.h2
-rw-r--r--drivers/media/dvb/frontends/cx24123.c6
-rw-r--r--drivers/media/dvb/frontends/cx24123.h2
-rw-r--r--drivers/media/dvb/frontends/s5h1409.c3
-rw-r--r--drivers/media/dvb/frontends/s5h1409.h2
-rw-r--r--drivers/media/dvb/frontends/s5h1411.c3
-rw-r--r--drivers/media/dvb/frontends/s5h1411.h2
-rw-r--r--drivers/media/dvb/frontends/s5h1420.c3
-rw-r--r--drivers/media/dvb/frontends/tda10048.c4
-rw-r--r--drivers/media/dvb/frontends/tda10048.h2
-rw-r--r--drivers/media/dvb/siano/sms-cards.c2
-rw-r--r--drivers/media/dvb/siano/sms-cards.h2
-rw-r--r--drivers/media/dvb/siano/smscoreapi.c2
-rw-r--r--drivers/media/dvb/siano/smscoreapi.h2
-rw-r--r--drivers/media/dvb/siano/smsdvb.c2
-rw-r--r--drivers/media/dvb/siano/smsusb.c2
-rw-r--r--drivers/media/dvb/ttpci/budget-patch.c3
-rw-r--r--drivers/media/dvb/ttpci/budget.c3
-rw-r--r--drivers/media/radio/Makefile4
-rw-r--r--drivers/media/radio/dsbr100.c2
-rw-r--r--drivers/media/radio/miropcm20-radio.c266
-rw-r--r--drivers/media/radio/miropcm20-rds-core.c211
-rw-r--r--drivers/media/radio/miropcm20-rds-core.h19
-rw-r--r--drivers/media/radio/miropcm20-rds.c136
-rw-r--r--drivers/media/radio/radio-aimslab.c3
-rw-r--r--drivers/media/radio/radio-aztech.c3
-rw-r--r--drivers/media/radio/radio-cadet.c2
-rw-r--r--drivers/media/radio/radio-gemtek-pci.c2
-rw-r--r--drivers/media/radio/radio-gemtek.c3
-rw-r--r--drivers/media/radio/radio-maestro.c3
-rw-r--r--drivers/media/radio/radio-maxiradio.c28
-rw-r--r--drivers/media/radio/radio-rtrack2.c3
-rw-r--r--drivers/media/radio/radio-sf16fmi.c2
-rw-r--r--drivers/media/radio/radio-si470x.c4
-rw-r--r--drivers/media/radio/radio-terratec.c3
-rw-r--r--drivers/media/radio/radio-trust.c3
-rw-r--r--drivers/media/radio/radio-zoltrix.c3
-rw-r--r--drivers/media/video/Makefile4
-rw-r--r--drivers/media/video/au0828/Kconfig1
-rw-r--r--drivers/media/video/au0828/au0828-cards.c9
-rw-r--r--drivers/media/video/au0828/au0828-cards.h3
-rw-r--r--drivers/media/video/au0828/au0828-core.c4
-rw-r--r--drivers/media/video/au0828/au0828-dvb.c25
-rw-r--r--drivers/media/video/au0828/au0828-i2c.c2
-rw-r--r--drivers/media/video/au0828/au0828-reg.h2
-rw-r--r--drivers/media/video/au0828/au0828.h2
-rw-r--r--drivers/media/video/bt8xx/bttv-cards.c73
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c1
-rw-r--r--drivers/media/video/bt8xx/bttv-risc.c3
-rw-r--r--drivers/media/video/bt8xx/bttvp.h5
-rw-r--r--drivers/media/video/btcx-risc.c4
-rw-r--r--drivers/media/video/btcx-risc.h2
-rw-r--r--drivers/media/video/bw-qcam.c3
-rw-r--r--drivers/media/video/c-qcam.c3
-rw-r--r--drivers/media/video/cpia.c2
-rw-r--r--drivers/media/video/cpia2/cpia2_v4l.c4
-rw-r--r--drivers/media/video/cx18/cx18-av-firmware.c16
-rw-r--r--drivers/media/video/cx18/cx18-driver.c6
-rw-r--r--drivers/media/video/cx18/cx18-dvb.c2
-rw-r--r--drivers/media/video/cx18/cx18-dvb.h2
-rw-r--r--drivers/media/video/cx18/cx18-irq.c2
-rw-r--r--drivers/media/video/cx18/cx18-queue.c129
-rw-r--r--drivers/media/video/cx18/cx18-queue.h2
-rw-r--r--drivers/media/video/cx23885/cx23885-417.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-cards.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-core.c4
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-i2c.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-reg.h2
-rw-r--r--drivers/media/video/cx23885/cx23885-vbi.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-video.c4
-rw-r--r--drivers/media/video/cx23885/cx23885.h2
-rw-r--r--drivers/media/video/cx25840/cx25840-core.c2
-rw-r--r--drivers/media/video/dabusb.c1
-rw-r--r--drivers/media/video/et61x251/et61x251_core.c1
-rw-r--r--drivers/media/video/gspca/conex.c28
-rw-r--r--drivers/media/video/gspca/etoms.c30
-rw-r--r--drivers/media/video/gspca/gspca.c119
-rw-r--r--drivers/media/video/gspca/gspca.h21
-rw-r--r--drivers/media/video/gspca/mars.c41
-rw-r--r--drivers/media/video/gspca/ov519.c1167
-rw-r--r--drivers/media/video/gspca/pac207.c87
-rw-r--r--drivers/media/video/gspca/pac7311.c1110
-rw-r--r--drivers/media/video/gspca/pac_common.h60
-rw-r--r--drivers/media/video/gspca/sonixb.c594
-rw-r--r--drivers/media/video/gspca/sonixj.c539
-rw-r--r--drivers/media/video/gspca/spca500.c20
-rw-r--r--drivers/media/video/gspca/spca501.c16
-rw-r--r--drivers/media/video/gspca/spca505.c16
-rw-r--r--drivers/media/video/gspca/spca506.c20
-rw-r--r--drivers/media/video/gspca/spca508.c21
-rw-r--r--drivers/media/video/gspca/spca561.c727
-rw-r--r--drivers/media/video/gspca/stk014.c20
-rw-r--r--drivers/media/video/gspca/sunplus.c167
-rw-r--r--drivers/media/video/gspca/t613.c41
-rw-r--r--drivers/media/video/gspca/tv8532.c20
-rw-r--r--drivers/media/video/gspca/vc032x.c31
-rw-r--r--drivers/media/video/gspca/zc3xx.c85
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.h1
-rw-r--r--drivers/media/video/ivtv/ivtv-irq.c29
-rw-r--r--drivers/media/video/ivtv/ivtv-queue.h2
-rw-r--r--drivers/media/video/ivtv/ivtv-streams.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-vbi.c4
-rw-r--r--drivers/media/video/ivtv/ivtv-version.h2
-rw-r--r--drivers/media/video/ks0127.c31
-rw-r--r--drivers/media/video/meye.c2
-rw-r--r--drivers/media/video/mxb.c12
-rw-r--r--drivers/media/video/ov511.c14
-rw-r--r--drivers/media/video/pms.c13
-rw-r--r--drivers/media/video/pwc/pwc-ctrl.c18
-rw-r--r--drivers/media/video/saa7115.c5
-rw-r--r--drivers/media/video/se401.c2
-rw-r--r--drivers/media/video/sn9c102/sn9c102_core.c1
-rw-r--r--drivers/media/video/sn9c102/sn9c102_devtable.h21
-rw-r--r--drivers/media/video/stv680.c2
-rw-r--r--drivers/media/video/usbvideo/ibmcam.c6
-rw-r--r--drivers/media/video/usbvideo/vicam.c2
-rw-r--r--drivers/media/video/v4l2-dev.c5
-rw-r--r--drivers/media/video/v4l2-ioctl.c4
-rw-r--r--drivers/media/video/vivi.c52
-rw-r--r--drivers/media/video/w9966.c2
-rw-r--r--drivers/media/video/zc0301/zc0301_core.c1
-rw-r--r--drivers/media/video/zc0301/zc0301_sensor.h19
-rw-r--r--drivers/mfd/Kconfig9
-rw-r--r--drivers/mfd/Makefile1
-rw-r--r--drivers/mfd/ucb1400_core.c106
-rw-r--r--drivers/misc/acer-wmi.c3
-rw-r--r--drivers/misc/fujitsu-laptop.c7
-rw-r--r--drivers/misc/hp-wmi.c91
-rw-r--r--drivers/misc/thinkpad_acpi.c1
-rw-r--r--drivers/mmc/card/block.c4
-rw-r--r--drivers/mmc/host/at91_mci.c20
-rw-r--r--drivers/mtd/mtdchar.c16
-rw-r--r--drivers/mtd/nand/cmx270_nand.c2
-rw-r--r--drivers/mtd/nand/tmio_nand.c8
-rw-r--r--drivers/net/Kconfig6
-rw-r--r--drivers/net/atl1e/atl1e_main.c3
-rw-r--r--drivers/net/atlx/atl1.c1
-rw-r--r--drivers/net/bnx2x.h5
-rw-r--r--drivers/net/bnx2x_main.c34
-rw-r--r--drivers/net/e100.c4
-rw-r--r--drivers/net/e1000/e1000_param.c81
-rw-r--r--drivers/net/forcedeth.c12
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c8
-rw-r--r--drivers/net/fs_enet/mac-scc.c8
-rw-r--r--drivers/net/gianfar.c22
-rw-r--r--drivers/net/gianfar.h1
-rw-r--r--drivers/net/ibm_newemac/core.c6
-rw-r--r--drivers/net/ibmveth.c5
-rw-r--r--drivers/net/igb/e1000_82575.c1
-rw-r--r--drivers/net/igb/e1000_hw.h1
-rw-r--r--drivers/net/igb/igb_ethtool.c17
-rw-r--r--drivers/net/igb/igb_main.c25
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c14
-rw-r--r--drivers/net/mv643xx_eth.c35
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
-rw-r--r--drivers/net/netxen/netxen_nic_main.c10
-rw-r--r--drivers/net/pcmcia/axnet_cs.c1
-rw-r--r--drivers/net/pcmcia/pcnet_cs.c2
-rw-r--r--drivers/net/r8169.c2
-rw-r--r--drivers/net/skfp/ess.c6
-rw-r--r--drivers/net/smc91x.c11
-rw-r--r--drivers/net/smc91x.h13
-rw-r--r--drivers/net/usb/hso.c3
-rw-r--r--drivers/net/usb/mcs7830.c47
-rw-r--r--drivers/net/usb/pegasus.c11
-rw-r--r--drivers/net/wan/sbni.c8
-rw-r--r--drivers/net/wd.c2
-rw-r--r--drivers/net/wireless/ath5k/base.c23
-rw-r--r--drivers/net/wireless/ath5k/base.h1
-rw-r--r--drivers/net/wireless/ath9k/hw.c8
-rw-r--r--drivers/net/wireless/ath9k/main.c18
-rw-r--r--drivers/net/wireless/ath9k/recv.c5
-rw-r--r--drivers/net/wireless/ath9k/xmit.c4
-rw-r--r--drivers/net/wireless/atmel.c51
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c3
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c35
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c77
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-fh.h1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-rx.c5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-scan.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c29
-rw-r--r--drivers/net/wireless/libertas/if_cs.c13
-rw-r--r--drivers/net/wireless/orinoco.c10
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00reg.h5
-rw-r--r--drivers/oprofile/cpu_buffer.c4
-rw-r--r--drivers/oprofile/event_buffer.c2
-rw-r--r--drivers/pci/setup-bus.c5
-rw-r--r--drivers/pcmcia/Kconfig3
-rw-r--r--drivers/pcmcia/Makefile8
-rw-r--r--drivers/pcmcia/pxa2xx_base.c44
-rw-r--r--drivers/pcmcia/pxa2xx_cm_x255.c154
-rw-r--r--drivers/pcmcia/pxa2xx_cm_x270.c14
-rw-r--r--drivers/pcmcia/pxa2xx_cm_x2xx.c49
-rw-r--r--drivers/pcmcia/pxa2xx_palmld.c151
-rw-r--r--drivers/pcmcia/pxa2xx_trizeps4.c256
-rw-r--r--drivers/pcmcia/pxa2xx_viper.c179
-rw-r--r--drivers/pnp/pnpacpi/rsparser.c2
-rw-r--r--drivers/power/Kconfig8
-rw-r--r--drivers/power/Makefile2
-rw-r--r--drivers/power/palmtx_battery.c198
-rw-r--r--drivers/power/wm97xx_battery.c272
-rw-r--r--drivers/rtc/rtc-cmos.c38
-rw-r--r--drivers/rtc/rtc-lib.c5
-rw-r--r--drivers/s390/block/dcssblk.c5
-rw-r--r--drivers/s390/cio/chp.c7
-rw-r--r--drivers/s390/cio/cio.c4
-rw-r--r--drivers/s390/cio/css.c32
-rw-r--r--drivers/s390/cio/device_fsm.c7
-rw-r--r--drivers/s390/net/claw.c79
-rw-r--r--drivers/s390/net/ctcm_fsms.c56
-rw-r--r--drivers/s390/net/ctcm_main.c24
-rw-r--r--drivers/s390/net/ctcm_main.h9
-rw-r--r--drivers/s390/net/ctcm_mpc.c46
-rw-r--r--drivers/s390/net/lcs.c3
-rw-r--r--drivers/s390/net/qeth_core.h1
-rw-r--r--drivers/s390/net/qeth_core_main.c2
-rw-r--r--drivers/s390/net/qeth_l2_main.c27
-rw-r--r--drivers/s390/net/qeth_l3_sys.c2
-rw-r--r--drivers/scsi/sd.c2
-rw-r--r--drivers/scsi/sg.c17
-rw-r--r--drivers/scsi/sr.c2
-rw-r--r--drivers/serial/8250.c16
-rw-r--r--drivers/serial/8250.h1
-rw-r--r--drivers/serial/bfin_5xx.c2
-rw-r--r--drivers/usb/host/ohci-omap.c2
-rw-r--r--drivers/usb/serial/console.c2
-rw-r--r--drivers/video/Kconfig31
-rw-r--r--drivers/video/Makefile1
-rw-r--r--drivers/video/am200epd.c295
-rw-r--r--drivers/video/atmel_lcdfb.c10
-rw-r--r--drivers/video/backlight/Kconfig15
-rw-r--r--drivers/video/backlight/Makefile2
-rw-r--r--drivers/video/backlight/corgi_lcd.c641
-rw-r--r--drivers/video/backlight/lcd.c18
-rw-r--r--drivers/video/backlight/tdo24m.c396
-rw-r--r--drivers/video/bf54x-lq043fb.c2
-rw-r--r--drivers/video/cirrusfb.c59
-rw-r--r--drivers/video/fbmem.c1
-rw-r--r--drivers/video/metronomefb.c288
-rw-r--r--drivers/video/tdfxfb.c9
-rw-r--r--drivers/watchdog/Kconfig24
-rw-r--r--drivers/watchdog/Makefile3
-rw-r--r--drivers/watchdog/at91rm9200_wdt.c2
-rw-r--r--drivers/watchdog/hpwdt.c93
-rw-r--r--drivers/watchdog/mpc8xx_wdt.c170
-rw-r--r--drivers/watchdog/mpc8xxx_wdt.c11
-rw-r--r--drivers/watchdog/pc87413_wdt.c1
-rw-r--r--drivers/watchdog/rc32434_wdt.c344
-rw-r--r--drivers/watchdog/rdc321x_wdt.c285
-rw-r--r--drivers/watchdog/s3c2410_wdt.c16
-rw-r--r--drivers/xen/balloon.c2
-rw-r--r--firmware/Makefile16
-rw-r--r--fs/9p/vfs_dir.c1
-rw-r--r--fs/Kconfig21
-rw-r--r--fs/adfs/dir.c1
-rw-r--r--fs/affs/dir.c1
-rw-r--r--fs/autofs4/root.c2
-rw-r--r--fs/befs/linuxvfs.c1
-rw-r--r--fs/bio.c48
-rw-r--r--fs/buffer.c13
-rw-r--r--fs/cifs/CHANGES10
-rw-r--r--fs/cifs/README44
-rw-r--r--fs/cifs/asn1.c11
-rw-r--r--fs/cifs/cifs_spnego.c4
-rw-r--r--fs/cifs/cifs_spnego.h2
-rw-r--r--fs/cifs/cifsencrypt.c1
-rw-r--r--fs/cifs/cifsglob.h3
-rw-r--r--fs/cifs/connect.c33
-rw-r--r--fs/cifs/dns_resolve.c7
-rw-r--r--fs/cifs/file.c4
-rw-r--r--fs/cifs/inode.c3
-rw-r--r--fs/cifs/sess.c13
-rw-r--r--fs/compat.c8
-rw-r--r--fs/configfs/dir.c17
-rw-r--r--fs/dcache.c2
-rw-r--r--fs/efs/namei.c3
-rw-r--r--fs/nfs/super.c6
-rw-r--r--fs/nfsd/nfs4acl.c2
-rw-r--r--fs/nfsd/nfs4proc.c12
-rw-r--r--fs/ntfs/namei.c89
-rw-r--r--fs/ntfs/usnjrnl.h4
-rw-r--r--fs/ocfs2/cluster/netdebug.c26
-rw-r--r--fs/ocfs2/cluster/tcp.c44
-rw-r--r--fs/ocfs2/cluster/tcp_internal.h32
-rw-r--r--fs/ocfs2/dir.c11
-rw-r--r--fs/ocfs2/journal.c23
-rw-r--r--fs/ocfs2/stackglue.c7
-rw-r--r--fs/proc/array.c59
-rw-r--r--fs/proc/generic.c1
-rw-r--r--fs/proc/proc_misc.c7
-rw-r--r--fs/readdir.c8
-rw-r--r--fs/seq_file.c11
-rw-r--r--fs/ubifs/budget.c114
-rw-r--r--fs/ubifs/dir.c1
-rw-r--r--fs/ubifs/file.c20
-rw-r--r--fs/ubifs/find.c18
-rw-r--r--fs/ubifs/gc.c6
-rw-r--r--fs/ubifs/misc.h49
-rw-r--r--fs/ubifs/super.c22
-rw-r--r--fs/ubifs/tnc.c116
-rw-r--r--fs/ubifs/ubifs-media.h2
-rw-r--r--fs/ubifs/ubifs.h14
-rw-r--r--fs/xfs/linux-2.6/xfs_file.c1
-rw-r--r--fs/xfs/linux-2.6/xfs_iops.c2
-rw-r--r--include/asm-generic/Kbuild.asm6
-rw-r--r--include/asm-generic/sections.h6
-rw-r--r--include/asm-generic/syscall.h2
-rw-r--r--include/asm-mips/cacheflush.h1
-rw-r--r--include/asm-mips/unistd.h30
-rw-r--r--include/asm-parisc/sections.h5
-rw-r--r--include/asm-x86/cpufeature.h11
-rw-r--r--include/asm-x86/msr.h27
-rw-r--r--include/asm-x86/required-features.h8
-rw-r--r--include/linux/Kbuild7
-rw-r--r--include/linux/blkdev.h18
-rw-r--r--include/linux/clockchips.h2
-rw-r--r--include/linux/cpuset.h2
-rw-r--r--include/linux/dcache.h2
-rw-r--r--include/linux/genhd.h10
-rw-r--r--include/linux/i2c.h12
-rw-r--r--include/linux/ide.h5
-rw-r--r--include/linux/ioport.h1
-rw-r--r--include/linux/lcd.h3
-rw-r--r--include/linux/list.h13
-rw-r--r--include/linux/mroute.h2
-rw-r--r--include/linux/mroute6.h1
-rw-r--r--include/linux/net.h14
-rw-r--r--include/linux/pim.h18
-rw-r--r--include/linux/quicklist.h7
-rw-r--r--include/linux/res_counter.h2
-rw-r--r--include/linux/sched.h4
-rw-r--r--include/linux/smc91x.h11
-rw-r--r--include/linux/spi/ads7846.h3
-rw-r--r--include/linux/spi/corgi_lcd.h20
-rw-r--r--include/linux/sunrpc/svc_rdma.h1
-rw-r--r--include/linux/tracehook.h2
-rw-r--r--include/linux/ucb1400.h161
-rw-r--r--include/linux/videodev2.h2
-rw-r--r--include/linux/wm97xx_batt.h26
-rw-r--r--include/net/bluetooth/hci_core.h3
-rw-r--r--include/net/inet_timewait_sock.h3
-rw-r--r--include/net/sch_generic.h12
-rw-r--r--include/video/metronomefb.h31
-rw-r--r--kernel/auditsc.c3
-rw-r--r--kernel/cpuset.c312
-rw-r--r--kernel/exit.c88
-rw-r--r--kernel/lockdep.c6
-rw-r--r--kernel/lockdep_proc.c3
-rw-r--r--kernel/pid_namespace.c3
-rw-r--r--kernel/pm_qos_params.c25
-rw-r--r--kernel/power/disk.c13
-rw-r--r--kernel/power/main.c5
-rw-r--r--kernel/resource.c88
-rw-r--r--kernel/sched.c78
-rw-r--r--kernel/sched_rt.c13
-rw-r--r--kernel/smp.c10
-rw-r--r--kernel/softlockup.c3
-rw-r--r--kernel/sysctl.c1
-rw-r--r--kernel/time/clockevents.c3
-rw-r--r--kernel/time/ntp.c2
-rw-r--r--kernel/time/tick-broadcast.c78
-rw-r--r--kernel/time/tick-common.c1
-rw-r--r--kernel/time/tick-internal.h2
-rw-r--r--kernel/time/tick-oneshot.c44
-rw-r--r--kernel/time/tick-sched.c3
-rw-r--r--lib/Kconfig.debug6
-rw-r--r--lib/debugobjects.c31
-rw-r--r--lib/vsprintf.c11
-rw-r--r--mm/filemap.c11
-rw-r--r--mm/mmap.c4
-rw-r--r--mm/page_alloc.c9
-rw-r--r--mm/page_isolation.c1
-rw-r--r--mm/quicklist.c9
-rw-r--r--mm/slub.c4
-rw-r--r--mm/truncate.c4
-rw-r--r--mm/vmstat.c19
-rw-r--r--net/bluetooth/af_bluetooth.c2
-rw-r--r--net/bluetooth/hci_conn.c21
-rw-r--r--net/bluetooth/hci_event.c11
-rw-r--r--net/bluetooth/l2cap.c34
-rw-r--r--net/bluetooth/sco.c2
-rw-r--r--net/bridge/br_ioctl.c8
-rw-r--r--net/bridge/br_sysfs_br.c26
-rw-r--r--net/core/dev.c7
-rw-r--r--net/ipv4/devinet.c15
-rw-r--r--net/ipv4/inet_timewait_sock.c35
-rw-r--r--net/ipv4/route.c4
-rw-r--r--net/ipv4/tcp_ipv4.c1
-rw-r--r--net/ipv4/tcp_output.c6
-rw-r--r--net/ipv6/ip6_output.c64
-rw-r--r--net/ipv6/raw.c6
-rw-r--r--net/ipv6/tcp_ipv6.c1
-rw-r--r--net/mac80211/debugfs_key.c6
-rw-r--r--net/mac80211/debugfs_netdev.c24
-rw-r--r--net/mac80211/ieee80211_i.h10
-rw-r--r--net/mac80211/mesh.c2
-rw-r--r--net/mac80211/mlme.c4
-rw-r--r--net/netfilter/nf_conntrack_irc.c10
-rw-r--r--net/netfilter/nf_conntrack_proto_gre.c14
-rw-r--r--net/netfilter/nf_conntrack_sip.c6
-rw-r--r--net/rfkill/rfkill.c2
-rw-r--r--net/sched/cls_api.c2
-rw-r--r--net/sched/cls_route.c2
-rw-r--r--net/sched/sch_api.c26
-rw-r--r--net/sched/sch_cbq.c6
-rw-r--r--net/sched/sch_generic.c4
-rw-r--r--net/sched/sch_hfsc.c4
-rw-r--r--net/sched/sch_htb.c8
-rw-r--r--net/sched/sch_netem.c2
-rw-r--r--net/sched/sch_teql.c2
-rw-r--r--net/sctp/auth.c3
-rw-r--r--net/sctp/socket.c8
-rw-r--r--net/sunrpc/sysctl.c18
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c8
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_transport.c5
-rw-r--r--net/tipc/bcast.c22
-rw-r--r--net/tipc/bcast.h22
-rw-r--r--net/tipc/bearer.c2
-rw-r--r--net/tipc/bearer.h2
-rw-r--r--net/tipc/cluster.c16
-rw-r--r--net/tipc/cluster.h10
-rw-r--r--net/tipc/discover.c2
-rw-r--r--net/tipc/link.c26
-rw-r--r--net/tipc/link.h2
-rw-r--r--net/tipc/name_table.h2
-rw-r--r--net/tipc/net.c2
-rw-r--r--net/tipc/net.h2
-rw-r--r--net/tipc/node.c60
-rw-r--r--net/tipc/node.h42
-rw-r--r--net/tipc/node_subscr.c4
-rw-r--r--net/tipc/node_subscr.h10
-rw-r--r--net/tipc/port.h2
-rw-r--r--net/tipc/zone.c4
-rw-r--r--net/tipc/zone.h2
-rw-r--r--net/wireless/Kconfig3
-rw-r--r--net/xfrm/xfrm_policy.c7
-rw-r--r--net/xfrm/xfrm_state.c34
-rw-r--r--security/device_cgroup.c18
-rw-r--r--security/selinux/ss/services.c6
-rw-r--r--sound/Kconfig4
-rw-r--r--sound/pci/hda/patch_realtek.c24
-rw-r--r--sound/pci/hda/patch_sigmatel.c5
-rw-r--r--sound/pci/oxygen/hifier.c4
-rw-r--r--sound/pci/oxygen/oxygen.c4
-rw-r--r--sound/pci/oxygen/oxygen_mixer.c5
-rw-r--r--sound/soc/omap/n810.c18
-rw-r--r--sound/soc/pxa/corgi.c34
-rw-r--r--sound/soc/pxa/pxa2xx-i2s.c40
-rw-r--r--sound/soc/pxa/spitz.c46
1025 files changed, 47324 insertions, 14250 deletions
diff --git a/Documentation/ABI/testing/sysfs-firmware-sgi_uv b/Documentation/ABI/testing/sysfs-firmware-sgi_uv
new file mode 100644
index 000000000000..4573fd4b7876
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-firmware-sgi_uv
@@ -0,0 +1,27 @@
1What: /sys/firmware/sgi_uv/
2Date: August 2008
3Contact: Russ Anderson <rja@sgi.com>
4Description:
5 The /sys/firmware/sgi_uv directory contains information
6 about the SGI UV platform.
7
8 Under that directory are a number of files:
9
10 partition_id
11 coherence_id
12
13 The partition_id entry contains the partition id.
14 SGI UV systems can be partitioned into multiple physical
15 machines, which each partition running a unique copy
16 of the operating system. Each partition will have a unique
17 partition id. To display the partition id, use the command:
18
19 cat /sys/firmware/sgi_uv/partition_id
20
21 The coherence_id entry contains the coherence id.
22 A partitioned SGI UV system can have one or more coherence
23 domain. The coherence id indicates which coherence domain
24 this partition is in. To display the coherence id, use the
25 command:
26
27 cat /sys/firmware/sgi_uv/coherence_id
diff --git a/Documentation/dontdiff b/Documentation/dontdiff
index 881e6dd03aea..27809357da58 100644
--- a/Documentation/dontdiff
+++ b/Documentation/dontdiff
@@ -5,6 +5,8 @@
5*.css 5*.css
6*.dvi 6*.dvi
7*.eps 7*.eps
8*.fw.gen.S
9*.fw
8*.gif 10*.gif
9*.grep 11*.grep
10*.grp 12*.grp
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 680fb566b928..8362860e21a7 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -144,8 +144,8 @@ prototypes:
144 void (*kill_sb) (struct super_block *); 144 void (*kill_sb) (struct super_block *);
145locking rules: 145locking rules:
146 may block BKL 146 may block BKL
147get_sb yes yes 147get_sb yes no
148kill_sb yes yes 148kill_sb yes no
149 149
150->get_sb() returns error or 0 with locked superblock attached to the vfsmount 150->get_sb() returns error or 0 with locked superblock attached to the vfsmount
151(exclusive on ->s_umount). 151(exclusive on ->s_umount).
@@ -409,12 +409,12 @@ ioctl: yes (see below)
409unlocked_ioctl: no (see below) 409unlocked_ioctl: no (see below)
410compat_ioctl: no 410compat_ioctl: no
411mmap: no 411mmap: no
412open: maybe (see below) 412open: no
413flush: no 413flush: no
414release: no 414release: no
415fsync: no (see below) 415fsync: no (see below)
416aio_fsync: no 416aio_fsync: no
417fasync: yes (see below) 417fasync: no
418lock: yes 418lock: yes
419readv: no 419readv: no
420writev: no 420writev: no
@@ -431,13 +431,6 @@ For many filesystems, it is probably safe to acquire the inode
431semaphore. Note some filesystems (i.e. remote ones) provide no 431semaphore. Note some filesystems (i.e. remote ones) provide no
432protection for i_size so you will need to use the BKL. 432protection for i_size so you will need to use the BKL.
433 433
434->open() locking is in-transit: big lock partially moved into the methods.
435The only exception is ->open() in the instances of file_operations that never
436end up in ->i_fop/->proc_fops, i.e. ones that belong to character devices
437(chrdev_open() takes lock before replacing ->f_op and calling the secondary
438method. As soon as we fix the handling of module reference counters all
439instances of ->open() will be called without the BKL.
440
441Note: ext2_release() was *the* source of contention on fs-intensive 434Note: ext2_release() was *the* source of contention on fs-intensive
442loads and dropping BKL on ->release() helps to get rid of that (we still 435loads and dropping BKL on ->release() helps to get rid of that (we still
443grab BKL for cases when we close a file that had been opened r/w, but that 436grab BKL for cases when we close a file that had been opened r/w, but that
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt
index e79ee2db183a..ac2a261c5f7d 100644
--- a/Documentation/filesystems/ntfs.txt
+++ b/Documentation/filesystems/ntfs.txt
@@ -40,7 +40,7 @@ Web site
40======== 40========
41 41
42There is plenty of additional information on the linux-ntfs web site 42There is plenty of additional information on the linux-ntfs web site
43at http://linux-ntfs.sourceforge.net/ 43at http://www.linux-ntfs.org/
44 44
45The web site has a lot of additional information, such as a comprehensive 45The web site has a lot of additional information, such as a comprehensive
46FAQ, documentation on the NTFS on-disk format, information on the Linux-NTFS 46FAQ, documentation on the NTFS on-disk format, information on the Linux-NTFS
@@ -272,7 +272,7 @@ And you would know that /dev/hda2 has a size of 37768814 - 4209030 + 1 =
272For Win2k and later dynamic disks, you can for example use the ldminfo utility 272For Win2k and later dynamic disks, you can for example use the ldminfo utility
273which is part of the Linux LDM tools (the latest version at the time of 273which is part of the Linux LDM tools (the latest version at the time of
274writing is linux-ldm-0.0.8.tar.bz2). You can download it from: 274writing is linux-ldm-0.0.8.tar.bz2). You can download it from:
275 http://linux-ntfs.sourceforge.net/downloads.html 275 http://www.linux-ntfs.org/
276Simply extract the downloaded archive (tar xvjf linux-ldm-0.0.8.tar.bz2), go 276Simply extract the downloaded archive (tar xvjf linux-ldm-0.0.8.tar.bz2), go
277into it (cd linux-ldm-0.0.8) and change to the test directory (cd test). You 277into it (cd linux-ldm-0.0.8) and change to the test directory (cd test). You
278will find the precompiled (i386) ldminfo utility there. NOTE: You will not be 278will find the precompiled (i386) ldminfo utility there. NOTE: You will not be
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 64557821ee59..394eb2cc1c39 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1339,6 +1339,25 @@ Enables/Disables the protection of the per-process proc entries "maps" and
1339"smaps". When enabled, the contents of these files are visible only to 1339"smaps". When enabled, the contents of these files are visible only to
1340readers that are allowed to ptrace() the given process. 1340readers that are allowed to ptrace() the given process.
1341 1341
1342msgmni
1343------
1344
1345Maximum number of message queue ids on the system.
1346This value scales to the amount of lowmem. It is automatically recomputed
1347upon memory add/remove or ipc namespace creation/removal.
1348When a value is written into this file, msgmni's value becomes fixed, i.e. it
1349is not recomputed anymore when one of the above events occurs.
1350Use auto_msgmni to change this behavior.
1351
1352auto_msgmni
1353-----------
1354
1355Enables/Disables automatic recomputing of msgmni upon memory add/remove or
1356upon ipc namespace creation/removal (see the msgmni description above).
1357Echoing "1" into this file enables msgmni automatic recomputing.
1358Echoing "0" turns it off.
1359auto_msgmni default value is 1.
1360
1342 1361
13432.4 /proc/sys/vm - The virtual memory subsystem 13622.4 /proc/sys/vm - The virtual memory subsystem
1344----------------------------------------------- 1363-----------------------------------------------
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt
index 02dc748b76c4..71f0fe1fc1b0 100644
--- a/Documentation/laptops/thinkpad-acpi.txt
+++ b/Documentation/laptops/thinkpad-acpi.txt
@@ -44,7 +44,7 @@ detailed description):
44 - LCD brightness control 44 - LCD brightness control
45 - Volume control 45 - Volume control
46 - Fan control and monitoring: fan speed, fan enable/disable 46 - Fan control and monitoring: fan speed, fan enable/disable
47 - Experimental: WAN enable and disable 47 - WAN enable and disable
48 48
49A compatibility table by model and feature is maintained on the web 49A compatibility table by model and feature is maintained on the web
50site, http://ibm-acpi.sf.net/. I appreciate any success or failure 50site, http://ibm-acpi.sf.net/. I appreciate any success or failure
@@ -1375,18 +1375,13 @@ with EINVAL, try to set pwm1_enable to 1 and pwm1 to at least 128 (255
1375would be the safest choice, though). 1375would be the safest choice, though).
1376 1376
1377 1377
1378EXPERIMENTAL: WAN 1378WAN
1379----------------- 1379---
1380 1380
1381procfs: /proc/acpi/ibm/wan 1381procfs: /proc/acpi/ibm/wan
1382sysfs device attribute: wwan_enable (deprecated) 1382sysfs device attribute: wwan_enable (deprecated)
1383sysfs rfkill class: switch "tpacpi_wwan_sw" 1383sysfs rfkill class: switch "tpacpi_wwan_sw"
1384 1384
1385This feature is marked EXPERIMENTAL because the implementation
1386directly accesses hardware registers and may not work as expected. USE
1387WITH CAUTION! To use this feature, you need to supply the
1388experimental=1 parameter when loading the module.
1389
1390This feature shows the presence and current state of a W-WAN (Sierra 1385This feature shows the presence and current state of a W-WAN (Sierra
1391Wireless EV-DO) device. 1386Wireless EV-DO) device.
1392 1387
diff --git a/Documentation/sound/alsa/soc/dapm.txt b/Documentation/sound/alsa/soc/dapm.txt
index b2ed6983f40d..46f9684d0b29 100644
--- a/Documentation/sound/alsa/soc/dapm.txt
+++ b/Documentation/sound/alsa/soc/dapm.txt
@@ -135,11 +135,7 @@ when the Mic is inserted:-
135 135
136static int spitz_mic_bias(struct snd_soc_dapm_widget* w, int event) 136static int spitz_mic_bias(struct snd_soc_dapm_widget* w, int event)
137{ 137{
138 if(SND_SOC_DAPM_EVENT_ON(event)) 138 gpio_set_value(SPITZ_GPIO_MIC_BIAS, SND_SOC_DAPM_EVENT_ON(event));
139 set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_MIC_BIAS);
140 else
141 reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_MIC_BIAS);
142
143 return 0; 139 return 0;
144} 140}
145 141
@@ -269,11 +265,7 @@ powered only when the spk is in use.
269/* turn speaker amplifier on/off depending on use */ 265/* turn speaker amplifier on/off depending on use */
270static int corgi_amp_event(struct snd_soc_dapm_widget *w, int event) 266static int corgi_amp_event(struct snd_soc_dapm_widget *w, int event)
271{ 267{
272 if (SND_SOC_DAPM_EVENT_ON(event)) 268 gpio_set_value(CORGI_GPIO_APM_ON, SND_SOC_DAPM_EVENT_ON(event));
273 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_APM_ON);
274 else
275 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_APM_ON);
276
277 return 0; 269 return 0;
278} 270}
279 271
diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828
index eedc399e8deb..aa05e5bb22fb 100644
--- a/Documentation/video4linux/CARDLIST.au0828
+++ b/Documentation/video4linux/CARDLIST.au0828
@@ -3,3 +3,4 @@
3 2 -> Hauppauge HVR850 (au0828) [2040:7240] 3 2 -> Hauppauge HVR850 (au0828) [2040:7240]
4 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] 4 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620]
5 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] 5 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281]
6 5 -> Hauppauge Woodbury (au0828) [2040:8200]
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt
index 78a863ab8a5a..0f03900c48fb 100644
--- a/Documentation/video4linux/gspca.txt
+++ b/Documentation/video4linux/gspca.txt
@@ -88,14 +88,14 @@ zc3xx 0471:0325 Philips SPC 200 NC
88zc3xx 0471:0326 Philips SPC 300 NC 88zc3xx 0471:0326 Philips SPC 300 NC
89sonixj 0471:0327 Philips SPC 600 NC 89sonixj 0471:0327 Philips SPC 600 NC
90sonixj 0471:0328 Philips SPC 700 NC 90sonixj 0471:0328 Philips SPC 700 NC
91zc3xx 0471:032d Philips spc210nc 91zc3xx 0471:032d Philips SPC 210 NC
92zc3xx 0471:032e Philips spc315nc 92zc3xx 0471:032e Philips SPC 315 NC
93sonixj 0471:0330 Philips SPC 710NC 93sonixj 0471:0330 Philips SPC 710 NC
94spca501 0497:c001 Smile International 94spca501 0497:c001 Smile International
95sunplus 04a5:3003 Benq DC 1300 95sunplus 04a5:3003 Benq DC 1300
96sunplus 04a5:3008 Benq DC 1500 96sunplus 04a5:3008 Benq DC 1500
97sunplus 04a5:300a Benq DC3410 97sunplus 04a5:300a Benq DC 3410
98spca500 04a5:300c Benq DC1016 98spca500 04a5:300c Benq DC 1016
99sunplus 04f1:1001 JVC GC A50 99sunplus 04f1:1001 JVC GC A50
100spca561 04fc:0561 Flexcam 100 100spca561 04fc:0561 Flexcam 100
101sunplus 04fc:500c Sunplus CA500C 101sunplus 04fc:500c Sunplus CA500C
@@ -175,19 +175,21 @@ sunplus 08ca:2060 Aiptek PocketDV5300
175tv8532 0923:010f ICM532 cams 175tv8532 0923:010f ICM532 cams
176mars 093a:050f Mars-Semi Pc-Camera 176mars 093a:050f Mars-Semi Pc-Camera
177pac207 093a:2460 PAC207 Qtec Webcam 100 177pac207 093a:2460 PAC207 Qtec Webcam 100
178pac207 093a:2463 Philips spc200nc pac207 178pac207 093a:2463 Philips SPC 220 NC
179pac207 093a:2464 Labtec Webcam 1200 179pac207 093a:2464 Labtec Webcam 1200
180pac207 093a:2468 PAC207 180pac207 093a:2468 PAC207
181pac207 093a:2470 Genius GF112 181pac207 093a:2470 Genius GF112
182pac207 093a:2471 PAC207 Genius VideoCam ge111 182pac207 093a:2471 Genius VideoCam ge111
183pac207 093a:2472 PAC207 Genius VideoCam ge110 183pac207 093a:2472 Genius VideoCam ge110
184pac7311 093a:2600 PAC7311 Typhoon 184pac7311 093a:2600 PAC7311 Typhoon
185pac7311 093a:2601 PAC7311 Phillips SPC610NC 185pac7311 093a:2601 Philips SPC 610 NC
186pac7311 093a:2603 PAC7312 186pac7311 093a:2603 PAC7312
187pac7311 093a:2608 PAC7311 Trust WB-3300p 187pac7311 093a:2608 Trust WB-3300p
188pac7311 093a:260e PAC7311 Gigaware VGA PC Camera, Trust WB-3350p, SIGMA cam 2350 188pac7311 093a:260e Gigaware VGA PC Camera, Trust WB-3350p, SIGMA cam 2350
189pac7311 093a:260f PAC7311 SnakeCam 189pac7311 093a:260f SnakeCam
190pac7311 093a:2621 PAC731x 190pac7311 093a:2621 PAC731x
191pac7311 093a:2624 PAC7302
192pac7311 093a:2626 Labtec 2200
191zc3xx 0ac8:0302 Z-star Vimicro zc0302 193zc3xx 0ac8:0302 Z-star Vimicro zc0302
192vc032x 0ac8:0321 Vimicro generic vc0321 194vc032x 0ac8:0321 Vimicro generic vc0321
193vc032x 0ac8:0323 Vimicro Vc0323 195vc032x 0ac8:0323 Vimicro Vc0323
@@ -220,6 +222,7 @@ sonixj 0c45:60c0 Sangha Sn535
220sonixj 0c45:60ec SN9C105+MO4000 222sonixj 0c45:60ec SN9C105+MO4000
221sonixj 0c45:60fb Surfer NoName 223sonixj 0c45:60fb Surfer NoName
222sonixj 0c45:60fc LG-LIC300 224sonixj 0c45:60fc LG-LIC300
225sonixj 0c45:6128 Microdia/Sonix SNP325
223sonixj 0c45:612a Avant Camera 226sonixj 0c45:612a Avant Camera
224sonixj 0c45:612c Typhoon Rasy Cam 1.3MPix 227sonixj 0c45:612c Typhoon Rasy Cam 1.3MPix
225sonixj 0c45:6130 Sonix Pccam 228sonixj 0c45:6130 Sonix Pccam
@@ -234,7 +237,7 @@ zc3xx 10fd:0128 Typhoon Webshot II USB 300k 0x0128
234spca561 10fd:7e50 FlyCam Usb 100 237spca561 10fd:7e50 FlyCam Usb 100
235zc3xx 10fd:8050 Typhoon Webshot II USB 300k 238zc3xx 10fd:8050 Typhoon Webshot II USB 300k
236spca501 1776:501c Arowana 300K CMOS Camera 239spca501 1776:501c Arowana 300K CMOS Camera
237t613 17a1:0128 T613/TAS5130A 240t613 17a1:0128 TASCORP JPEG Webcam, NGS Cyclops
238vc032x 17ef:4802 Lenovo Vc0323+MI1310_SOC 241vc032x 17ef:4802 Lenovo Vc0323+MI1310_SOC
239pac207 2001:f115 D-Link DSB-C120 242pac207 2001:f115 D-Link DSB-C120
240spca500 2899:012c Toptro Industrial 243spca500 2899:012c Toptro Industrial
diff --git a/MAINTAINERS b/MAINTAINERS
index 28c69aaefcd9..96b0137a575c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -222,8 +222,7 @@ W: http://code.google.com/p/aceracpi
222S: Maintained 222S: Maintained
223 223
224ACPI 224ACPI
225P: Andi Kleen 225P: Len Brown
226M: ak@linux.intel.com
227M: lenb@kernel.org 226M: lenb@kernel.org
228L: linux-acpi@vger.kernel.org 227L: linux-acpi@vger.kernel.org
229W: http://www.lesswatts.org/projects/acpi/ 228W: http://www.lesswatts.org/projects/acpi/
@@ -419,6 +418,12 @@ L: linux-laptop@vger.kernel.org
419W: http://www.canb.auug.org.au/~sfr/ 418W: http://www.canb.auug.org.au/~sfr/
420S: Supported 419S: Supported
421 420
421APPLE BCM5974 MULTITOUCH DRIVER
422P: Henrik Rydberg
423M: rydberg@euromail.se
424L: linux-input@vger.kernel.org
425S: Maintained
426
422APPLE SMC DRIVER 427APPLE SMC DRIVER
423P: Nicolas Boichat 428P: Nicolas Boichat
424M: nicolas@boichat.ch 429M: nicolas@boichat.ch
@@ -486,7 +491,7 @@ M: kernel@wantstofly.org
486L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 491L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
487S: Maintained 492S: Maintained
488 493
489ARM/COMPULAB CM-X270/EM-X270 MACHINE SUPPORT 494ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
490P: Mike Rapoport 495P: Mike Rapoport
491M: mike@compulab.co.il 496M: mike@compulab.co.il
492L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 497L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
@@ -618,6 +623,12 @@ M: marek.vasut@gmail.com
618W: http://hackndev.com 623W: http://hackndev.com
619S: Maintained 624S: Maintained
620 625
626ARM/PALMZ72 SUPPORT
627P: Sergey Lapin
628M: slapin@ossfans.org
629W: http://hackndev.com
630S: Maintained
631
621ARM/PLEB SUPPORT 632ARM/PLEB SUPPORT
622P: Peter Chubb 633P: Peter Chubb
623M: pleb@gelato.unsw.edu.au 634M: pleb@gelato.unsw.edu.au
@@ -745,11 +756,13 @@ P: Ville Syrjala
745M: syrjala@sci.fi 756M: syrjala@sci.fi
746S: Maintained 757S: Maintained
747 758
748ATL1 ETHERNET DRIVER 759ATLX ETHERNET DRIVERS
749P: Jay Cliburn 760P: Jay Cliburn
750M: jcliburn@gmail.com 761M: jcliburn@gmail.com
751P: Chris Snook 762P: Chris Snook
752M: csnook@redhat.com 763M: csnook@redhat.com
764P: Jie Yang
765M: jie.yang@atheros.com
753L: atl1-devel@lists.sourceforge.net 766L: atl1-devel@lists.sourceforge.net
754W: http://sourceforge.net/projects/atl1 767W: http://sourceforge.net/projects/atl1
755W: http://atl1.sourceforge.net 768W: http://atl1.sourceforge.net
@@ -1588,7 +1601,7 @@ S: Supported
1588EMBEDDED LINUX 1601EMBEDDED LINUX
1589P: Paul Gortmaker 1602P: Paul Gortmaker
1590M: paul.gortmaker@windriver.com 1603M: paul.gortmaker@windriver.com
1591P David Woodhouse 1604P: David Woodhouse
1592M: dwmw2@infradead.org 1605M: dwmw2@infradead.org
1593L: linux-embedded@vger.kernel.org 1606L: linux-embedded@vger.kernel.org
1594S: Maintained 1607S: Maintained
@@ -3051,7 +3064,7 @@ P: Anton Altaparmakov
3051M: aia21@cantab.net 3064M: aia21@cantab.net
3052L: linux-ntfs-dev@lists.sourceforge.net 3065L: linux-ntfs-dev@lists.sourceforge.net
3053L: linux-kernel@vger.kernel.org 3066L: linux-kernel@vger.kernel.org
3054W: http://linux-ntfs.sf.net/ 3067W: http://www.linux-ntfs.org/
3055T: git kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git 3068T: git kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
3056S: Maintained 3069S: Maintained
3057 3070
@@ -4005,7 +4018,7 @@ S: Maintained
4005 4018
4006TI OMAP MMC INTERFACE DRIVER 4019TI OMAP MMC INTERFACE DRIVER
4007P: Carlos Aguiar, Anderson Briglia and Syed Khasim 4020P: Carlos Aguiar, Anderson Briglia and Syed Khasim
4008M: linux-omap-open-source@linux.omap.com (subscribers only) 4021M: linux-omap@vger.kernel.org
4009W: http://linux.omap.com 4022W: http://linux.omap.com
4010W: http://www.muru.com/linux/omap/ 4023W: http://www.muru.com/linux/omap/
4011S: Maintained 4024S: Maintained
diff --git a/Makefile b/Makefile
index 2e15e0b4483d..4ff83ea36c19 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 27 3SUBLEVEL = 27
4EXTRAVERSION = -rc4 4EXTRAVERSION = -rc6
5NAME = Rotary Wombat 5NAME = Rotary Wombat
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
index 6e943135f0e0..8509dad31204 100644
--- a/arch/alpha/kernel/osf_sys.c
+++ b/arch/alpha/kernel/osf_sys.c
@@ -121,24 +121,29 @@ osf_filldir(void *__buf, const char *name, int namlen, loff_t offset,
121 if (reclen > buf->count) 121 if (reclen > buf->count)
122 return -EINVAL; 122 return -EINVAL;
123 d_ino = ino; 123 d_ino = ino;
124 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 124 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
125 buf->error = -EOVERFLOW;
125 return -EOVERFLOW; 126 return -EOVERFLOW;
127 }
126 if (buf->basep) { 128 if (buf->basep) {
127 if (put_user(offset, buf->basep)) 129 if (put_user(offset, buf->basep))
128 return -EFAULT; 130 goto Efault;
129 buf->basep = NULL; 131 buf->basep = NULL;
130 } 132 }
131 dirent = buf->dirent; 133 dirent = buf->dirent;
132 put_user(d_ino, &dirent->d_ino); 134 if (put_user(d_ino, &dirent->d_ino) ||
133 put_user(namlen, &dirent->d_namlen); 135 put_user(namlen, &dirent->d_namlen) ||
134 put_user(reclen, &dirent->d_reclen); 136 put_user(reclen, &dirent->d_reclen) ||
135 if (copy_to_user(dirent->d_name, name, namlen) || 137 copy_to_user(dirent->d_name, name, namlen) ||
136 put_user(0, dirent->d_name + namlen)) 138 put_user(0, dirent->d_name + namlen))
137 return -EFAULT; 139 goto Efault;
138 dirent = (void __user *)dirent + reclen; 140 dirent = (void __user *)dirent + reclen;
139 buf->dirent = dirent; 141 buf->dirent = dirent;
140 buf->count -= reclen; 142 buf->count -= reclen;
141 return 0; 143 return 0;
144Efault:
145 buf->error = -EFAULT;
146 return -EFAULT;
142} 147}
143 148
144asmlinkage int 149asmlinkage int
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4b8acd2851f4..5e17953b673f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -810,6 +810,11 @@ config OABI_COMPAT
810 UNPREDICTABLE (in fact it can be predicted that it won't work 810 UNPREDICTABLE (in fact it can be predicted that it won't work
811 at all). If in doubt say Y. 811 at all). If in doubt say Y.
812 812
813config ARCH_FLATMEM_HAS_HOLES
814 bool
815 default y
816 depends on FLATMEM
817
813config ARCH_DISCONTIGMEM_ENABLE 818config ARCH_DISCONTIGMEM_ENABLE
814 bool 819 bool
815 default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) 820 default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
@@ -840,7 +845,7 @@ config LEDS
840 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ 845 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
841 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ 846 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
842 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ 847 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
843 ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \ 848 ARCH_AT91 || ARCH_DAVINCI || \
844 ARCH_KS8695 || MACH_RD88F5182 849 ARCH_KS8695 || MACH_RD88F5182
845 help 850 help
846 If you say Y here, the LEDs on your machine will be used 851 If you say Y here, the LEDs on your machine will be used
diff --git a/arch/arm/common/sharpsl_param.c b/arch/arm/common/sharpsl_param.c
index aad4d94ba8f5..d56c932580eb 100644
--- a/arch/arm/common/sharpsl_param.c
+++ b/arch/arm/common/sharpsl_param.c
@@ -12,6 +12,7 @@
12 */ 12 */
13 13
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/module.h>
15#include <linux/string.h> 16#include <linux/string.h>
16#include <asm/mach/sharpsl_param.h> 17#include <asm/mach/sharpsl_param.h>
17 18
@@ -36,6 +37,7 @@
36#define PHAD_MAGIC MAGIC_CHG('P','H','A','D') 37#define PHAD_MAGIC MAGIC_CHG('P','H','A','D')
37 38
38struct sharpsl_param_info sharpsl_param; 39struct sharpsl_param_info sharpsl_param;
40EXPORT_SYMBOL(sharpsl_param);
39 41
40void sharpsl_save_param(void) 42void sharpsl_save_param(void)
41{ 43{
diff --git a/arch/arm/configs/ams_delta_defconfig b/arch/arm/configs/ams_delta_defconfig
new file mode 100644
index 000000000000..2c4aa11f0b0d
--- /dev/null
+++ b/arch/arm/configs/ams_delta_defconfig
@@ -0,0 +1,1314 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc1-omap1
4# Thu Jun 7 04:28:32 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# Code maturity level options
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35
36#
37# General setup
38#
39CONFIG_LOCALVERSION=""
40CONFIG_LOCALVERSION_AUTO=y
41# CONFIG_SWAP is not set
42CONFIG_SYSVIPC=y
43# CONFIG_IPC_NS is not set
44CONFIG_SYSVIPC_SYSCTL=y
45# CONFIG_POSIX_MQUEUE is not set
46# CONFIG_BSD_PROCESS_ACCT is not set
47# CONFIG_TASKSTATS is not set
48# CONFIG_UTS_NS is not set
49# CONFIG_AUDIT is not set
50# CONFIG_IKCONFIG is not set
51CONFIG_LOG_BUF_SHIFT=14
52CONFIG_SYSFS_DEPRECATED=y
53# CONFIG_RELAY is not set
54CONFIG_BLK_DEV_INITRD=y
55CONFIG_INITRAMFS_SOURCE=""
56CONFIG_CC_OPTIMIZE_FOR_SIZE=y
57CONFIG_SYSCTL=y
58# CONFIG_EMBEDDED is not set
59CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y
61CONFIG_KALLSYMS=y
62# CONFIG_KALLSYMS_ALL is not set
63# CONFIG_KALLSYMS_EXTRA_PASS is not set
64CONFIG_HOTPLUG=y
65CONFIG_PRINTK=y
66CONFIG_BUG=y
67CONFIG_ELF_CORE=y
68CONFIG_BASE_FULL=y
69CONFIG_FUTEX=y
70CONFIG_ANON_INODES=y
71CONFIG_EPOLL=y
72CONFIG_SIGNALFD=y
73CONFIG_TIMERFD=y
74CONFIG_EVENTFD=y
75CONFIG_SHMEM=y
76CONFIG_VM_EVENT_COUNTERS=y
77CONFIG_SLAB=y
78# CONFIG_SLUB is not set
79# CONFIG_SLOB is not set
80CONFIG_RT_MUTEXES=y
81# CONFIG_TINY_SHMEM is not set
82CONFIG_BASE_SMALL=0
83
84#
85# Loadable module support
86#
87CONFIG_MODULES=y
88CONFIG_MODULE_UNLOAD=y
89CONFIG_MODULE_FORCE_UNLOAD=y
90# CONFIG_MODVERSIONS is not set
91# CONFIG_MODULE_SRCVERSION_ALL is not set
92CONFIG_KMOD=y
93
94#
95# Block layer
96#
97CONFIG_BLOCK=y
98# CONFIG_LBD is not set
99# CONFIG_BLK_DEV_IO_TRACE is not set
100# CONFIG_LSF is not set
101
102#
103# IO Schedulers
104#
105CONFIG_IOSCHED_NOOP=y
106CONFIG_IOSCHED_AS=y
107CONFIG_IOSCHED_DEADLINE=y
108CONFIG_IOSCHED_CFQ=y
109CONFIG_DEFAULT_AS=y
110# CONFIG_DEFAULT_DEADLINE is not set
111# CONFIG_DEFAULT_CFQ is not set
112# CONFIG_DEFAULT_NOOP is not set
113CONFIG_DEFAULT_IOSCHED="anticipatory"
114
115#
116# System Type
117#
118# CONFIG_ARCH_AAEC2000 is not set
119# CONFIG_ARCH_INTEGRATOR is not set
120# CONFIG_ARCH_REALVIEW is not set
121# CONFIG_ARCH_VERSATILE is not set
122# CONFIG_ARCH_AT91 is not set
123# CONFIG_ARCH_CLPS7500 is not set
124# CONFIG_ARCH_CLPS711X is not set
125# CONFIG_ARCH_CO285 is not set
126# CONFIG_ARCH_EBSA110 is not set
127# CONFIG_ARCH_EP93XX is not set
128# CONFIG_ARCH_FOOTBRIDGE is not set
129# CONFIG_ARCH_NETX is not set
130# CONFIG_ARCH_H720X is not set
131# CONFIG_ARCH_IMX is not set
132# CONFIG_ARCH_IOP13XX is not set
133# CONFIG_ARCH_IOP32X is not set
134# CONFIG_ARCH_IOP33X is not set
135# CONFIG_ARCH_IXP23XX is not set
136# CONFIG_ARCH_IXP2000 is not set
137# CONFIG_ARCH_IXP4XX is not set
138# CONFIG_ARCH_L7200 is not set
139# CONFIG_ARCH_KS8695 is not set
140# CONFIG_ARCH_NS9XXX is not set
141# CONFIG_ARCH_PNX4008 is not set
142# CONFIG_ARCH_PXA is not set
143# CONFIG_ARCH_RPC is not set
144# CONFIG_ARCH_SA1100 is not set
145# CONFIG_ARCH_S3C2410 is not set
146# CONFIG_ARCH_SHARK is not set
147# CONFIG_ARCH_LH7A40X is not set
148# CONFIG_ARCH_DAVINCI is not set
149CONFIG_ARCH_OMAP=y
150
151#
152# TI OMAP Implementations
153#
154CONFIG_ARCH_OMAP1=y
155# CONFIG_ARCH_OMAP2 is not set
156
157#
158# OMAP Feature Selections
159#
160# CONFIG_OMAP_RESET_CLOCKS is not set
161# CONFIG_OMAP_BOOT_TAG is not set
162# CONFIG_OMAP_GPIO_SWITCH is not set
163CONFIG_OMAP_MUX=y
164# CONFIG_OMAP_MUX_DEBUG is not set
165CONFIG_OMAP_MUX_WARNINGS=y
166CONFIG_OMAP_MCBSP=y
167CONFIG_OMAP_MMU_FWK=y
168CONFIG_OMAP_MBOX_FWK=m
169CONFIG_OMAP_MPU_TIMER=y
170# CONFIG_OMAP_32K_TIMER is not set
171CONFIG_OMAP_LL_DEBUG_UART1=y
172# CONFIG_OMAP_LL_DEBUG_UART2 is not set
173# CONFIG_OMAP_LL_DEBUG_UART3 is not set
174# CONFIG_OMAP_LL_DEBUG_LCD is not set
175CONFIG_OMAP_SERIAL_WAKE=y
176CONFIG_OMAP_DSP=m
177# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
178# CONFIG_OMAP_DSP_TASK_MULTIOPEN is not set
179# CONFIG_OMAP_DSP_FBEXPORT is not set
180
181#
182# OMAP Core Type
183#
184# CONFIG_ARCH_OMAP730 is not set
185CONFIG_ARCH_OMAP15XX=y
186# CONFIG_ARCH_OMAP16XX is not set
187
188#
189# OMAP Board Type
190#
191# CONFIG_MACH_OMAP_INNOVATOR is not set
192# CONFIG_MACH_VOICEBLUE is not set
193# CONFIG_MACH_OMAP_PALMTE is not set
194# CONFIG_MACH_OMAP_PALMZ71 is not set
195# CONFIG_MACH_OMAP_PALMTT is not set
196# CONFIG_MACH_SX1 is not set
197CONFIG_MACH_AMS_DELTA=y
198# CONFIG_MACH_OMAP_GENERIC is not set
199
200#
201# OMAP CPU Speed
202#
203# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
204# CONFIG_OMAP_ARM_168MHZ is not set
205CONFIG_OMAP_ARM_150MHZ=y
206# CONFIG_OMAP_ARM_120MHZ is not set
207# CONFIG_OMAP_ARM_60MHZ is not set
208# CONFIG_OMAP_ARM_30MHZ is not set
209
210#
211# Processor Type
212#
213CONFIG_CPU_32=y
214CONFIG_CPU_ARM925T=y
215CONFIG_CPU_32v4T=y
216CONFIG_CPU_ABRT_EV4T=y
217CONFIG_CPU_CACHE_V4WT=y
218CONFIG_CPU_CACHE_VIVT=y
219CONFIG_CPU_COPY_V4WB=y
220CONFIG_CPU_TLB_V4WBI=y
221CONFIG_CPU_CP15=y
222CONFIG_CPU_CP15_MMU=y
223
224#
225# Processor Features
226#
227# CONFIG_ARM_THUMB is not set
228# CONFIG_CPU_ICACHE_DISABLE is not set
229# CONFIG_CPU_DCACHE_DISABLE is not set
230CONFIG_CPU_DCACHE_WRITETHROUGH=y
231# CONFIG_OUTER_CACHE is not set
232
233#
234# Bus support
235#
236# CONFIG_ARCH_SUPPORTS_MSI is not set
237
238#
239# PCCARD (PCMCIA/CardBus) support
240#
241# CONFIG_PCCARD is not set
242
243#
244# Kernel Features
245#
246# CONFIG_TICK_ONESHOT is not set
247# CONFIG_NO_HZ is not set
248# CONFIG_HIGH_RES_TIMERS is not set
249CONFIG_PREEMPT=y
250CONFIG_HZ=100
251# CONFIG_AEABI is not set
252# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
253CONFIG_SELECT_MEMORY_MODEL=y
254CONFIG_FLATMEM_MANUAL=y
255# CONFIG_DISCONTIGMEM_MANUAL is not set
256# CONFIG_SPARSEMEM_MANUAL is not set
257CONFIG_FLATMEM=y
258CONFIG_FLAT_NODE_MEM_MAP=y
259# CONFIG_SPARSEMEM_STATIC is not set
260CONFIG_SPLIT_PTLOCK_CPUS=4096
261# CONFIG_RESOURCES_64BIT is not set
262CONFIG_ZONE_DMA_FLAG=1
263# CONFIG_LEDS is not set
264CONFIG_ALIGNMENT_TRAP=y
265
266#
267# Boot options
268#
269CONFIG_ZBOOT_ROM_TEXT=0x0
270CONFIG_ZBOOT_ROM_BSS=0x0
271CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x11c00000,4M"
272# CONFIG_XIP_KERNEL is not set
273# CONFIG_KEXEC is not set
274
275#
276# CPU Frequency scaling
277#
278# CONFIG_CPU_FREQ is not set
279
280#
281# Floating point emulation
282#
283
284#
285# At least one emulation must be selected
286#
287CONFIG_FPE_NWFPE=y
288# CONFIG_FPE_NWFPE_XP is not set
289# CONFIG_FPE_FASTFPE is not set
290
291#
292# Userspace binary formats
293#
294CONFIG_BINFMT_ELF=y
295# CONFIG_BINFMT_AOUT is not set
296# CONFIG_BINFMT_MISC is not set
297# CONFIG_ARTHUR is not set
298
299#
300# Power management options
301#
302# CONFIG_PM is not set
303
304#
305# Networking
306#
307CONFIG_NET=y
308
309#
310# Networking options
311#
312CONFIG_PACKET=y
313# CONFIG_PACKET_MMAP is not set
314CONFIG_UNIX=y
315CONFIG_XFRM=y
316# CONFIG_XFRM_USER is not set
317# CONFIG_XFRM_SUB_POLICY is not set
318# CONFIG_XFRM_MIGRATE is not set
319# CONFIG_NET_KEY is not set
320CONFIG_INET=y
321CONFIG_IP_MULTICAST=y
322# CONFIG_IP_ADVANCED_ROUTER is not set
323CONFIG_IP_FIB_HASH=y
324# CONFIG_IP_PNP is not set
325# CONFIG_NET_IPIP is not set
326# CONFIG_NET_IPGRE is not set
327# CONFIG_IP_MROUTE is not set
328# CONFIG_ARPD is not set
329# CONFIG_SYN_COOKIES is not set
330# CONFIG_INET_AH is not set
331# CONFIG_INET_ESP is not set
332# CONFIG_INET_IPCOMP is not set
333# CONFIG_INET_XFRM_TUNNEL is not set
334CONFIG_INET_TUNNEL=y
335CONFIG_INET_XFRM_MODE_TRANSPORT=y
336CONFIG_INET_XFRM_MODE_TUNNEL=y
337CONFIG_INET_XFRM_MODE_BEET=y
338CONFIG_INET_DIAG=y
339CONFIG_INET_TCP_DIAG=y
340# CONFIG_TCP_CONG_ADVANCED is not set
341CONFIG_TCP_CONG_CUBIC=y
342CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_TCP_MD5SIG is not set
344CONFIG_IPV6=y
345# CONFIG_IPV6_PRIVACY is not set
346# CONFIG_IPV6_ROUTER_PREF is not set
347# CONFIG_IPV6_OPTIMISTIC_DAD is not set
348# CONFIG_INET6_AH is not set
349# CONFIG_INET6_ESP is not set
350# CONFIG_INET6_IPCOMP is not set
351# CONFIG_IPV6_MIP6 is not set
352# CONFIG_INET6_XFRM_TUNNEL is not set
353# CONFIG_INET6_TUNNEL is not set
354CONFIG_INET6_XFRM_MODE_TRANSPORT=y
355CONFIG_INET6_XFRM_MODE_TUNNEL=y
356CONFIG_INET6_XFRM_MODE_BEET=y
357# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
358CONFIG_IPV6_SIT=y
359# CONFIG_IPV6_TUNNEL is not set
360# CONFIG_IPV6_MULTIPLE_TABLES is not set
361# CONFIG_NETWORK_SECMARK is not set
362# CONFIG_NETFILTER is not set
363
364#
365# DCCP Configuration (EXPERIMENTAL)
366#
367# CONFIG_IP_DCCP is not set
368
369#
370# SCTP Configuration (EXPERIMENTAL)
371#
372# CONFIG_IP_SCTP is not set
373
374#
375# TIPC Configuration (EXPERIMENTAL)
376#
377# CONFIG_TIPC is not set
378# CONFIG_ATM is not set
379# CONFIG_BRIDGE is not set
380# CONFIG_VLAN_8021Q is not set
381# CONFIG_DECNET is not set
382# CONFIG_LLC2 is not set
383# CONFIG_IPX is not set
384# CONFIG_ATALK is not set
385# CONFIG_X25 is not set
386# CONFIG_LAPB is not set
387# CONFIG_ECONET is not set
388# CONFIG_WAN_ROUTER is not set
389
390#
391# QoS and/or fair queueing
392#
393# CONFIG_NET_SCHED is not set
394
395#
396# Network testing
397#
398# CONFIG_NET_PKTGEN is not set
399# CONFIG_HAMRADIO is not set
400# CONFIG_IRDA is not set
401# CONFIG_BT is not set
402# CONFIG_AF_RXRPC is not set
403
404#
405# Wireless
406#
407# CONFIG_CFG80211 is not set
408# CONFIG_WIRELESS_EXT is not set
409# CONFIG_MAC80211 is not set
410# CONFIG_IEEE80211 is not set
411# CONFIG_RFKILL is not set
412
413#
414# Device Drivers
415#
416
417#
418# Generic Driver Options
419#
420CONFIG_STANDALONE=y
421CONFIG_PREVENT_FIRMWARE_BUILD=y
422# CONFIG_FW_LOADER is not set
423# CONFIG_DEBUG_DRIVER is not set
424# CONFIG_DEBUG_DEVRES is not set
425# CONFIG_SYS_HYPERVISOR is not set
426
427#
428# Connector - unified userspace <-> kernelspace linker
429#
430# CONFIG_CONNECTOR is not set
431CONFIG_MTD=y
432# CONFIG_MTD_DEBUG is not set
433# CONFIG_MTD_CONCAT is not set
434CONFIG_MTD_PARTITIONS=y
435# CONFIG_MTD_REDBOOT_PARTS is not set
436# CONFIG_MTD_CMDLINE_PARTS is not set
437# CONFIG_MTD_AFS_PARTS is not set
438
439#
440# User Modules And Translation Layers
441#
442CONFIG_MTD_CHAR=y
443CONFIG_MTD_BLKDEVS=y
444CONFIG_MTD_BLOCK=y
445# CONFIG_FTL is not set
446# CONFIG_NFTL is not set
447# CONFIG_INFTL is not set
448# CONFIG_RFD_FTL is not set
449# CONFIG_SSFDC is not set
450
451#
452# RAM/ROM/Flash chip drivers
453#
454# CONFIG_MTD_CFI is not set
455# CONFIG_MTD_JEDECPROBE is not set
456CONFIG_MTD_MAP_BANK_WIDTH_1=y
457CONFIG_MTD_MAP_BANK_WIDTH_2=y
458CONFIG_MTD_MAP_BANK_WIDTH_4=y
459# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
460# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
461# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
462CONFIG_MTD_CFI_I1=y
463CONFIG_MTD_CFI_I2=y
464# CONFIG_MTD_CFI_I4 is not set
465# CONFIG_MTD_CFI_I8 is not set
466# CONFIG_MTD_RAM is not set
467# CONFIG_MTD_ROM is not set
468# CONFIG_MTD_ABSENT is not set
469
470#
471# Mapping drivers for chip access
472#
473# CONFIG_MTD_COMPLEX_MAPPINGS is not set
474# CONFIG_MTD_PLATRAM is not set
475
476#
477# Self-contained MTD device drivers
478#
479# CONFIG_MTD_SLRAM is not set
480# CONFIG_MTD_PHRAM is not set
481# CONFIG_MTD_MTDRAM is not set
482# CONFIG_MTD_BLOCK2MTD is not set
483
484#
485# Disk-On-Chip Device Drivers
486#
487# CONFIG_MTD_DOC2000 is not set
488# CONFIG_MTD_DOC2001 is not set
489# CONFIG_MTD_DOC2001PLUS is not set
490CONFIG_MTD_NAND=y
491# CONFIG_MTD_NAND_VERIFY_WRITE is not set
492# CONFIG_MTD_NAND_ECC_SMC is not set
493# CONFIG_MTD_NAND_MUSEUM_IDS is not set
494CONFIG_MTD_NAND_AMS_DELTA=y
495CONFIG_MTD_NAND_IDS=y
496# CONFIG_MTD_NAND_DISKONCHIP is not set
497# CONFIG_MTD_NAND_NANDSIM is not set
498# CONFIG_MTD_NAND_PLATFORM is not set
499# CONFIG_MTD_ONENAND is not set
500
501#
502# UBI - Unsorted block images
503#
504# CONFIG_MTD_UBI is not set
505
506#
507# Parallel port support
508#
509# CONFIG_PARPORT is not set
510
511#
512# Plug and Play support
513#
514# CONFIG_PNPACPI is not set
515
516#
517# Block devices
518#
519# CONFIG_BLK_DEV_COW_COMMON is not set
520CONFIG_BLK_DEV_LOOP=y
521# CONFIG_BLK_DEV_CRYPTOLOOP is not set
522# CONFIG_BLK_DEV_NBD is not set
523# CONFIG_BLK_DEV_UB is not set
524CONFIG_BLK_DEV_RAM=y
525CONFIG_BLK_DEV_RAM_COUNT=16
526CONFIG_BLK_DEV_RAM_SIZE=8192
527CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
528# CONFIG_CDROM_PKTCDVD is not set
529# CONFIG_ATA_OVER_ETH is not set
530
531#
532# SCSI device support
533#
534# CONFIG_RAID_ATTRS is not set
535CONFIG_SCSI=y
536# CONFIG_SCSI_TGT is not set
537# CONFIG_SCSI_NETLINK is not set
538CONFIG_SCSI_PROC_FS=y
539
540#
541# SCSI support type (disk, tape, CD-ROM)
542#
543CONFIG_BLK_DEV_SD=y
544# CONFIG_CHR_DEV_ST is not set
545# CONFIG_CHR_DEV_OSST is not set
546# CONFIG_BLK_DEV_SR is not set
547# CONFIG_CHR_DEV_SG is not set
548# CONFIG_CHR_DEV_SCH is not set
549
550#
551# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
552#
553# CONFIG_SCSI_MULTI_LUN is not set
554# CONFIG_SCSI_CONSTANTS is not set
555# CONFIG_SCSI_LOGGING is not set
556# CONFIG_SCSI_SCAN_ASYNC is not set
557CONFIG_SCSI_WAIT_SCAN=m
558
559#
560# SCSI Transports
561#
562# CONFIG_SCSI_SPI_ATTRS is not set
563# CONFIG_SCSI_FC_ATTRS is not set
564# CONFIG_SCSI_ISCSI_ATTRS is not set
565# CONFIG_SCSI_SAS_ATTRS is not set
566# CONFIG_SCSI_SAS_LIBSAS is not set
567
568#
569# SCSI low-level drivers
570#
571# CONFIG_ISCSI_TCP is not set
572# CONFIG_SCSI_DEBUG is not set
573# CONFIG_SCSI_ESP_CORE is not set
574# CONFIG_ATA is not set
575
576#
577# Multi-device support (RAID and LVM)
578#
579# CONFIG_MD is not set
580
581#
582# Network device support
583#
584CONFIG_NETDEVICES=y
585# CONFIG_DUMMY is not set
586# CONFIG_BONDING is not set
587# CONFIG_EQUALIZER is not set
588# CONFIG_TUN is not set
589# CONFIG_PHYLIB is not set
590
591#
592# Ethernet (10 or 100Mbit)
593#
594CONFIG_NET_ETHERNET=y
595CONFIG_MII=y
596# CONFIG_SMC91X is not set
597# CONFIG_DM9000 is not set
598CONFIG_NETDEV_1000=y
599CONFIG_NETDEV_10000=y
600
601#
602# Token Ring devices
603#
604
605#
606# Wireless LAN
607#
608# CONFIG_WLAN_PRE80211 is not set
609# CONFIG_WLAN_80211 is not set
610
611#
612# USB Network Adapters
613#
614CONFIG_USB_CATC=y
615CONFIG_USB_KAWETH=y
616CONFIG_USB_PEGASUS=y
617CONFIG_USB_RTL8150=y
618CONFIG_USB_USBNET_MII=y
619CONFIG_USB_USBNET=y
620CONFIG_USB_NET_AX8817X=y
621CONFIG_USB_NET_CDCETHER=y
622# CONFIG_USB_NET_DM9601 is not set
623# CONFIG_USB_NET_GL620A is not set
624CONFIG_USB_NET_NET1080=y
625# CONFIG_USB_NET_PLUSB is not set
626# CONFIG_USB_NET_MCS7830 is not set
627# CONFIG_USB_NET_RNDIS_HOST is not set
628CONFIG_USB_NET_CDC_SUBSET=y
629# CONFIG_USB_ALI_M5632 is not set
630# CONFIG_USB_AN2720 is not set
631CONFIG_USB_BELKIN=y
632CONFIG_USB_ARMLINUX=y
633# CONFIG_USB_EPSON2888 is not set
634# CONFIG_USB_KC2190 is not set
635CONFIG_USB_NET_ZAURUS=y
636# CONFIG_WAN is not set
637CONFIG_PPP=y
638CONFIG_PPP_MULTILINK=y
639# CONFIG_PPP_FILTER is not set
640# CONFIG_PPP_ASYNC is not set
641# CONFIG_PPP_SYNC_TTY is not set
642# CONFIG_PPP_DEFLATE is not set
643# CONFIG_PPP_BSDCOMP is not set
644# CONFIG_PPP_MPPE is not set
645# CONFIG_PPPOE is not set
646# CONFIG_SLIP is not set
647CONFIG_SLHC=y
648# CONFIG_SHAPER is not set
649# CONFIG_NETCONSOLE is not set
650# CONFIG_NETPOLL is not set
651# CONFIG_NET_POLL_CONTROLLER is not set
652
653#
654# ISDN subsystem
655#
656# CONFIG_ISDN is not set
657
658#
659# Input device support
660#
661CONFIG_INPUT=y
662# CONFIG_INPUT_FF_MEMLESS is not set
663
664#
665# Userland interfaces
666#
667CONFIG_INPUT_MOUSEDEV=y
668CONFIG_INPUT_MOUSEDEV_PSAUX=y
669CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
670CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
671# CONFIG_INPUT_JOYDEV is not set
672# CONFIG_INPUT_TSDEV is not set
673# CONFIG_INPUT_EVDEV is not set
674# CONFIG_INPUT_EVBUG is not set
675
676#
677# Input Device Drivers
678#
679CONFIG_INPUT_KEYBOARD=y
680CONFIG_KEYBOARD_ATKBD=y
681# CONFIG_KEYBOARD_SUNKBD is not set
682# CONFIG_KEYBOARD_LKKBD is not set
683# CONFIG_KEYBOARD_XTKBD is not set
684# CONFIG_KEYBOARD_NEWTON is not set
685# CONFIG_KEYBOARD_STOWAWAY is not set
686CONFIG_KEYBOARD_OMAP=y
687# CONFIG_KEYBOARD_GPIO is not set
688# CONFIG_INPUT_MOUSE is not set
689# CONFIG_INPUT_JOYSTICK is not set
690# CONFIG_INPUT_TABLET is not set
691# CONFIG_INPUT_TOUCHSCREEN is not set
692# CONFIG_INPUT_MISC is not set
693
694#
695# Hardware I/O ports
696#
697CONFIG_SERIO=y
698CONFIG_SERIO_SERPORT=y
699CONFIG_SERIO_LIBPS2=y
700# CONFIG_SERIO_RAW is not set
701# CONFIG_GAMEPORT is not set
702
703#
704# Character devices
705#
706CONFIG_VT=y
707CONFIG_VT_CONSOLE=y
708CONFIG_HW_CONSOLE=y
709# CONFIG_VT_HW_CONSOLE_BINDING is not set
710# CONFIG_SERIAL_NONSTANDARD is not set
711
712#
713# Serial drivers
714#
715CONFIG_SERIAL_8250=y
716CONFIG_SERIAL_8250_CONSOLE=y
717CONFIG_SERIAL_8250_NR_UARTS=4
718CONFIG_SERIAL_8250_RUNTIME_UARTS=4
719# CONFIG_SERIAL_8250_EXTENDED is not set
720
721#
722# Non-8250 serial port support
723#
724CONFIG_SERIAL_CORE=y
725CONFIG_SERIAL_CORE_CONSOLE=y
726CONFIG_UNIX98_PTYS=y
727# CONFIG_LEGACY_PTYS is not set
728
729#
730# IPMI
731#
732# CONFIG_IPMI_HANDLER is not set
733# CONFIG_WATCHDOG is not set
734CONFIG_HW_RANDOM=y
735# CONFIG_NVRAM is not set
736# CONFIG_R3964 is not set
737# CONFIG_RAW_DRIVER is not set
738
739#
740# TPM devices
741#
742# CONFIG_TCG_TPM is not set
743CONFIG_I2C=y
744CONFIG_I2C_BOARDINFO=y
745CONFIG_I2C_CHARDEV=y
746
747#
748# I2C Algorithms
749#
750CONFIG_I2C_ALGOBIT=y
751# CONFIG_I2C_ALGOPCF is not set
752# CONFIG_I2C_ALGOPCA is not set
753
754#
755# I2C Hardware Bus support
756#
757# CONFIG_I2C_GPIO is not set
758# CONFIG_I2C_OCORES is not set
759CONFIG_I2C_OMAP=y
760# CONFIG_I2C_PARPORT_LIGHT is not set
761# CONFIG_I2C_SIMTEC is not set
762# CONFIG_I2C_STUB is not set
763# CONFIG_I2C_TINY_USB is not set
764
765#
766# Miscellaneous I2C Chip support
767#
768# CONFIG_SENSORS_DS1337 is not set
769# CONFIG_SENSORS_DS1374 is not set
770# CONFIG_SENSORS_EEPROM is not set
771# CONFIG_SENSORS_PCF8574 is not set
772# CONFIG_SENSORS_PCA9539 is not set
773# CONFIG_SENSORS_PCF8591 is not set
774# CONFIG_TPS65010 is not set
775# CONFIG_SENSORS_TLV320AIC23 is not set
776# CONFIG_SENSORS_MAX6875 is not set
777# CONFIG_I2C_DEBUG_CORE is not set
778# CONFIG_I2C_DEBUG_ALGO is not set
779# CONFIG_I2C_DEBUG_BUS is not set
780# CONFIG_I2C_DEBUG_CHIP is not set
781
782#
783# SPI support
784#
785# CONFIG_SPI is not set
786# CONFIG_SPI_MASTER is not set
787
788#
789# Dallas's 1-wire bus
790#
791# CONFIG_W1 is not set
792# CONFIG_HWMON is not set
793
794#
795# Misc devices
796#
797# CONFIG_BLINK is not set
798
799#
800# Multifunction device drivers
801#
802# CONFIG_MFD_SM501 is not set
803
804#
805# LED devices
806#
807CONFIG_NEW_LEDS=y
808CONFIG_LEDS_CLASS=y
809
810#
811# LED drivers
812#
813CONFIG_LEDS_AMS_DELTA=y
814# CONFIG_LEDS_OMAP_DEBUG is not set
815# CONFIG_LEDS_OMAP is not set
816
817#
818# LED Triggers
819#
820CONFIG_LEDS_TRIGGERS=y
821CONFIG_LEDS_TRIGGER_TIMER=y
822CONFIG_LEDS_TRIGGER_HEARTBEAT=y
823
824#
825# Multimedia devices
826#
827# CONFIG_VIDEO_DEV is not set
828# CONFIG_DVB_CORE is not set
829CONFIG_DAB=y
830# CONFIG_USB_DABUSB is not set
831
832#
833# Graphics support
834#
835# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
836
837#
838# Display device support
839#
840# CONFIG_DISPLAY_SUPPORT is not set
841# CONFIG_VGASTATE is not set
842CONFIG_FB=y
843CONFIG_FIRMWARE_EDID=y
844# CONFIG_FB_DDC is not set
845# CONFIG_FB_CFB_FILLRECT is not set
846# CONFIG_FB_CFB_COPYAREA is not set
847# CONFIG_FB_CFB_IMAGEBLIT is not set
848# CONFIG_FB_SYS_FILLRECT is not set
849# CONFIG_FB_SYS_COPYAREA is not set
850# CONFIG_FB_SYS_IMAGEBLIT is not set
851# CONFIG_FB_SYS_FOPS is not set
852CONFIG_FB_DEFERRED_IO=y
853# CONFIG_FB_SVGALIB is not set
854# CONFIG_FB_MACMODES is not set
855# CONFIG_FB_BACKLIGHT is not set
856# CONFIG_FB_MODE_HELPERS is not set
857# CONFIG_FB_TILEBLITTING is not set
858
859#
860# Frame buffer hardware drivers
861#
862# CONFIG_FB_S1D13XXX is not set
863CONFIG_FB_OMAP=y
864# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
865# CONFIG_FB_OMAP_LCD_MIPID is not set
866# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
867CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
868# CONFIG_FB_OMAP_DMA_TUNE is not set
869# CONFIG_FB_VIRTUAL is not set
870
871#
872# Console display driver support
873#
874# CONFIG_VGA_CONSOLE is not set
875CONFIG_DUMMY_CONSOLE=y
876CONFIG_FRAMEBUFFER_CONSOLE=y
877# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
878CONFIG_FONTS=y
879# CONFIG_FONT_8x8 is not set
880# CONFIG_FONT_8x16 is not set
881CONFIG_FONT_6x11=y
882# CONFIG_FONT_7x14 is not set
883# CONFIG_FONT_PEARL_8x8 is not set
884# CONFIG_FONT_ACORN_8x8 is not set
885# CONFIG_FONT_MINI_4x6 is not set
886# CONFIG_FONT_CLEAN_4x6 is not set
887# CONFIG_FONT_CLEAN_5x8 is not set
888# CONFIG_FONT_SUN8x16 is not set
889# CONFIG_FONT_SUN12x22 is not set
890# CONFIG_FONT_10x18 is not set
891CONFIG_LOGO=y
892# CONFIG_LOGO_LINUX_MONO is not set
893# CONFIG_LOGO_LINUX_VGA16 is not set
894CONFIG_LOGO_LINUX_CLUT224=y
895
896#
897# Sound
898#
899# CONFIG_SOUND is not set
900
901#
902# HID Devices
903#
904CONFIG_HID=y
905# CONFIG_HID_DEBUG is not set
906
907#
908# USB Input Devices
909#
910CONFIG_USB_HID=y
911# CONFIG_USB_HIDINPUT_POWERBOOK is not set
912# CONFIG_HID_FF is not set
913# CONFIG_USB_HIDDEV is not set
914
915#
916# USB support
917#
918CONFIG_USB_ARCH_HAS_HCD=y
919CONFIG_USB_ARCH_HAS_OHCI=y
920# CONFIG_USB_ARCH_HAS_EHCI is not set
921CONFIG_USB=y
922# CONFIG_USB_DEBUG is not set
923
924#
925# Miscellaneous USB options
926#
927CONFIG_USB_DEVICEFS=y
928# CONFIG_USB_DEVICE_CLASS is not set
929# CONFIG_USB_DYNAMIC_MINORS is not set
930# CONFIG_USB_OTG is not set
931
932#
933# USB Host Controller Drivers
934#
935# CONFIG_USB_ISP116X_HCD is not set
936CONFIG_USB_OHCI_HCD=y
937# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
938# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
939CONFIG_USB_OHCI_LITTLE_ENDIAN=y
940# CONFIG_USB_SL811_HCD is not set
941# CONFIG_USB_MUSB_HDRC is not set
942
943#
944# USB Device Class drivers
945#
946# CONFIG_USB_ACM is not set
947# CONFIG_USB_PRINTER is not set
948
949#
950# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
951#
952
953#
954# may also be needed; see USB_STORAGE Help for more information
955#
956CONFIG_USB_STORAGE=y
957# CONFIG_USB_STORAGE_DEBUG is not set
958# CONFIG_USB_STORAGE_DATAFAB is not set
959# CONFIG_USB_STORAGE_FREECOM is not set
960# CONFIG_USB_STORAGE_DPCM is not set
961# CONFIG_USB_STORAGE_USBAT is not set
962# CONFIG_USB_STORAGE_SDDR09 is not set
963# CONFIG_USB_STORAGE_SDDR55 is not set
964# CONFIG_USB_STORAGE_JUMPSHOT is not set
965# CONFIG_USB_STORAGE_ALAUDA is not set
966# CONFIG_USB_STORAGE_KARMA is not set
967# CONFIG_USB_LIBUSUAL is not set
968
969#
970# USB Imaging devices
971#
972# CONFIG_USB_MDC800 is not set
973# CONFIG_USB_MICROTEK is not set
974CONFIG_USB_MON=y
975
976#
977# USB port drivers
978#
979
980#
981# USB Serial Converter support
982#
983# CONFIG_USB_SERIAL is not set
984
985#
986# USB Miscellaneous drivers
987#
988# CONFIG_USB_EMI62 is not set
989# CONFIG_USB_EMI26 is not set
990# CONFIG_USB_ADUTUX is not set
991# CONFIG_USB_AUERSWALD is not set
992# CONFIG_USB_RIO500 is not set
993# CONFIG_USB_LEGOTOWER is not set
994# CONFIG_USB_LCD is not set
995# CONFIG_USB_BERRY_CHARGE is not set
996# CONFIG_USB_LED is not set
997# CONFIG_USB_CYPRESS_CY7C63 is not set
998# CONFIG_USB_CYTHERM is not set
999# CONFIG_USB_PHIDGET is not set
1000# CONFIG_USB_IDMOUSE is not set
1001# CONFIG_USB_FTDI_ELAN is not set
1002# CONFIG_USB_APPLEDISPLAY is not set
1003# CONFIG_USB_LD is not set
1004# CONFIG_USB_TRANCEVIBRATOR is not set
1005# CONFIG_USB_IOWARRIOR is not set
1006# CONFIG_USB_TEST is not set
1007
1008#
1009# USB DSL modem support
1010#
1011
1012#
1013# USB Gadget Support
1014#
1015# CONFIG_USB_GADGET is not set
1016# CONFIG_MMC is not set
1017
1018#
1019# Real Time Clock
1020#
1021CONFIG_RTC_LIB=y
1022CONFIG_RTC_CLASS=y
1023CONFIG_RTC_HCTOSYS=y
1024CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1025# CONFIG_RTC_DEBUG is not set
1026
1027#
1028# RTC interfaces
1029#
1030CONFIG_RTC_INTF_SYSFS=y
1031CONFIG_RTC_INTF_PROC=y
1032CONFIG_RTC_INTF_DEV=y
1033# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1034# CONFIG_RTC_DRV_TEST is not set
1035
1036#
1037# I2C RTC drivers
1038#
1039# CONFIG_RTC_DRV_DS1307 is not set
1040# CONFIG_RTC_DRV_DS1672 is not set
1041# CONFIG_RTC_DRV_MAX6900 is not set
1042# CONFIG_RTC_DRV_RS5C372 is not set
1043# CONFIG_RTC_DRV_ISL1208 is not set
1044# CONFIG_RTC_DRV_X1205 is not set
1045# CONFIG_RTC_DRV_PCF8563 is not set
1046# CONFIG_RTC_DRV_PCF8583 is not set
1047
1048#
1049# SPI RTC drivers
1050#
1051
1052#
1053# Platform RTC drivers
1054#
1055# CONFIG_RTC_DRV_CMOS is not set
1056# CONFIG_RTC_DRV_DS1553 is not set
1057# CONFIG_RTC_DRV_DS1742 is not set
1058# CONFIG_RTC_DRV_M48T86 is not set
1059# CONFIG_RTC_DRV_V3020 is not set
1060
1061#
1062# on-CPU RTC drivers
1063#
1064CONFIG_RTC_DRV_OMAP=y
1065
1066#
1067# CBUS support
1068#
1069# CONFIG_CBUS is not set
1070
1071#
1072# File systems
1073#
1074CONFIG_EXT2_FS=y
1075# CONFIG_EXT2_FS_XATTR is not set
1076# CONFIG_EXT2_FS_XIP is not set
1077CONFIG_EXT3_FS=y
1078CONFIG_EXT3_FS_XATTR=y
1079# CONFIG_EXT3_FS_POSIX_ACL is not set
1080# CONFIG_EXT3_FS_SECURITY is not set
1081# CONFIG_EXT4DEV_FS is not set
1082CONFIG_JBD=y
1083# CONFIG_JBD_DEBUG is not set
1084CONFIG_FS_MBCACHE=y
1085# CONFIG_REISERFS_FS is not set
1086# CONFIG_JFS_FS is not set
1087# CONFIG_FS_POSIX_ACL is not set
1088# CONFIG_XFS_FS is not set
1089# CONFIG_GFS2_FS is not set
1090# CONFIG_OCFS2_FS is not set
1091# CONFIG_MINIX_FS is not set
1092# CONFIG_ROMFS_FS is not set
1093CONFIG_INOTIFY=y
1094CONFIG_INOTIFY_USER=y
1095# CONFIG_QUOTA is not set
1096CONFIG_DNOTIFY=y
1097CONFIG_AUTOFS_FS=y
1098CONFIG_AUTOFS4_FS=y
1099# CONFIG_FUSE_FS is not set
1100
1101#
1102# CD-ROM/DVD Filesystems
1103#
1104# CONFIG_ISO9660_FS is not set
1105# CONFIG_UDF_FS is not set
1106
1107#
1108# DOS/FAT/NT Filesystems
1109#
1110CONFIG_FAT_FS=y
1111CONFIG_MSDOS_FS=y
1112CONFIG_VFAT_FS=y
1113CONFIG_FAT_DEFAULT_CODEPAGE=437
1114CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1115# CONFIG_NTFS_FS is not set
1116
1117#
1118# Pseudo filesystems
1119#
1120CONFIG_PROC_FS=y
1121CONFIG_PROC_SYSCTL=y
1122CONFIG_SYSFS=y
1123CONFIG_TMPFS=y
1124# CONFIG_TMPFS_POSIX_ACL is not set
1125# CONFIG_HUGETLB_PAGE is not set
1126CONFIG_RAMFS=y
1127# CONFIG_CONFIGFS_FS is not set
1128
1129#
1130# Miscellaneous filesystems
1131#
1132# CONFIG_ADFS_FS is not set
1133# CONFIG_AFFS_FS is not set
1134# CONFIG_HFS_FS is not set
1135# CONFIG_HFSPLUS_FS is not set
1136# CONFIG_BEFS_FS is not set
1137# CONFIG_BFS_FS is not set
1138# CONFIG_EFS_FS is not set
1139CONFIG_JFFS2_FS=y
1140CONFIG_JFFS2_FS_DEBUG=0
1141CONFIG_JFFS2_FS_WRITEBUFFER=y
1142CONFIG_JFFS2_SUMMARY=y
1143# CONFIG_JFFS2_FS_XATTR is not set
1144# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1145CONFIG_JFFS2_ZLIB=y
1146CONFIG_JFFS2_RTIME=y
1147# CONFIG_JFFS2_RUBIN is not set
1148# CONFIG_CRAMFS is not set
1149# CONFIG_VXFS_FS is not set
1150# CONFIG_HPFS_FS is not set
1151# CONFIG_QNX4FS_FS is not set
1152# CONFIG_SYSV_FS is not set
1153# CONFIG_UFS_FS is not set
1154
1155#
1156# Network File Systems
1157#
1158CONFIG_NFS_FS=y
1159# CONFIG_NFS_V3 is not set
1160# CONFIG_NFS_V4 is not set
1161# CONFIG_NFS_DIRECTIO is not set
1162# CONFIG_NFSD is not set
1163CONFIG_LOCKD=y
1164CONFIG_NFS_COMMON=y
1165CONFIG_SUNRPC=y
1166# CONFIG_SUNRPC_BIND34 is not set
1167# CONFIG_RPCSEC_GSS_KRB5 is not set
1168# CONFIG_RPCSEC_GSS_SPKM3 is not set
1169# CONFIG_SMB_FS is not set
1170# CONFIG_CIFS is not set
1171# CONFIG_NCP_FS is not set
1172# CONFIG_CODA_FS is not set
1173# CONFIG_AFS_FS is not set
1174# CONFIG_9P_FS is not set
1175
1176#
1177# Partition Types
1178#
1179CONFIG_PARTITION_ADVANCED=y
1180# CONFIG_ACORN_PARTITION is not set
1181# CONFIG_OSF_PARTITION is not set
1182# CONFIG_AMIGA_PARTITION is not set
1183# CONFIG_ATARI_PARTITION is not set
1184# CONFIG_MAC_PARTITION is not set
1185CONFIG_MSDOS_PARTITION=y
1186# CONFIG_BSD_DISKLABEL is not set
1187# CONFIG_MINIX_SUBPARTITION is not set
1188# CONFIG_SOLARIS_X86_PARTITION is not set
1189# CONFIG_UNIXWARE_DISKLABEL is not set
1190# CONFIG_LDM_PARTITION is not set
1191# CONFIG_SGI_PARTITION is not set
1192# CONFIG_ULTRIX_PARTITION is not set
1193# CONFIG_SUN_PARTITION is not set
1194# CONFIG_KARMA_PARTITION is not set
1195# CONFIG_EFI_PARTITION is not set
1196# CONFIG_SYSV68_PARTITION is not set
1197
1198#
1199# Native Language Support
1200#
1201CONFIG_NLS=y
1202CONFIG_NLS_DEFAULT="iso8859-1"
1203CONFIG_NLS_CODEPAGE_437=y
1204# CONFIG_NLS_CODEPAGE_737 is not set
1205# CONFIG_NLS_CODEPAGE_775 is not set
1206CONFIG_NLS_CODEPAGE_850=y
1207CONFIG_NLS_CODEPAGE_852=y
1208# CONFIG_NLS_CODEPAGE_855 is not set
1209# CONFIG_NLS_CODEPAGE_857 is not set
1210# CONFIG_NLS_CODEPAGE_860 is not set
1211# CONFIG_NLS_CODEPAGE_861 is not set
1212# CONFIG_NLS_CODEPAGE_862 is not set
1213# CONFIG_NLS_CODEPAGE_863 is not set
1214# CONFIG_NLS_CODEPAGE_864 is not set
1215# CONFIG_NLS_CODEPAGE_865 is not set
1216# CONFIG_NLS_CODEPAGE_866 is not set
1217# CONFIG_NLS_CODEPAGE_869 is not set
1218# CONFIG_NLS_CODEPAGE_936 is not set
1219# CONFIG_NLS_CODEPAGE_950 is not set
1220# CONFIG_NLS_CODEPAGE_932 is not set
1221# CONFIG_NLS_CODEPAGE_949 is not set
1222# CONFIG_NLS_CODEPAGE_874 is not set
1223# CONFIG_NLS_ISO8859_8 is not set
1224# CONFIG_NLS_CODEPAGE_1250 is not set
1225# CONFIG_NLS_CODEPAGE_1251 is not set
1226# CONFIG_NLS_ASCII is not set
1227CONFIG_NLS_ISO8859_1=y
1228CONFIG_NLS_ISO8859_2=y
1229# CONFIG_NLS_ISO8859_3 is not set
1230# CONFIG_NLS_ISO8859_4 is not set
1231# CONFIG_NLS_ISO8859_5 is not set
1232# CONFIG_NLS_ISO8859_6 is not set
1233# CONFIG_NLS_ISO8859_7 is not set
1234# CONFIG_NLS_ISO8859_9 is not set
1235# CONFIG_NLS_ISO8859_13 is not set
1236# CONFIG_NLS_ISO8859_14 is not set
1237# CONFIG_NLS_ISO8859_15 is not set
1238# CONFIG_NLS_KOI8_R is not set
1239# CONFIG_NLS_KOI8_U is not set
1240# CONFIG_NLS_UTF8 is not set
1241
1242#
1243# Distributed Lock Manager
1244#
1245# CONFIG_DLM is not set
1246
1247#
1248# Profiling support
1249#
1250# CONFIG_PROFILING is not set
1251
1252#
1253# Kernel hacking
1254#
1255# CONFIG_PRINTK_TIME is not set
1256CONFIG_ENABLE_MUST_CHECK=y
1257CONFIG_MAGIC_SYSRQ=y
1258# CONFIG_UNUSED_SYMBOLS is not set
1259# CONFIG_DEBUG_FS is not set
1260# CONFIG_HEADERS_CHECK is not set
1261CONFIG_DEBUG_KERNEL=y
1262# CONFIG_DEBUG_SHIRQ is not set
1263CONFIG_DETECT_SOFTLOCKUP=y
1264# CONFIG_SCHEDSTATS is not set
1265# CONFIG_TIMER_STATS is not set
1266# CONFIG_DEBUG_SLAB is not set
1267CONFIG_DEBUG_PREEMPT=y
1268# CONFIG_DEBUG_RT_MUTEXES is not set
1269# CONFIG_RT_MUTEX_TESTER is not set
1270# CONFIG_DEBUG_SPINLOCK is not set
1271# CONFIG_DEBUG_MUTEXES is not set
1272# CONFIG_DEBUG_LOCK_ALLOC is not set
1273# CONFIG_PROVE_LOCKING is not set
1274# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1275# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1276# CONFIG_DEBUG_KOBJECT is not set
1277CONFIG_DEBUG_BUGVERBOSE=y
1278# CONFIG_DEBUG_INFO is not set
1279# CONFIG_DEBUG_VM is not set
1280# CONFIG_DEBUG_LIST is not set
1281CONFIG_FRAME_POINTER=y
1282CONFIG_FORCED_INLINING=y
1283# CONFIG_RCU_TORTURE_TEST is not set
1284# CONFIG_FAULT_INJECTION is not set
1285# CONFIG_DEBUG_USER is not set
1286# CONFIG_DEBUG_ERRORS is not set
1287# CONFIG_DEBUG_LL is not set
1288
1289#
1290# Security options
1291#
1292# CONFIG_KEYS is not set
1293# CONFIG_SECURITY is not set
1294
1295#
1296# Cryptographic options
1297#
1298# CONFIG_CRYPTO is not set
1299
1300#
1301# Library routines
1302#
1303CONFIG_BITREVERSE=y
1304# CONFIG_CRC_CCITT is not set
1305# CONFIG_CRC16 is not set
1306# CONFIG_CRC_ITU_T is not set
1307CONFIG_CRC32=y
1308# CONFIG_LIBCRC32C is not set
1309CONFIG_ZLIB_INFLATE=y
1310CONFIG_ZLIB_DEFLATE=y
1311CONFIG_PLIST=y
1312CONFIG_HAS_IOMEM=y
1313CONFIG_HAS_IOPORT=y
1314CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig
new file mode 100644
index 000000000000..46f1c9dc350c
--- /dev/null
+++ b/arch/arm/configs/cm_x300_defconfig
@@ -0,0 +1,1466 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc3
4# Tue Aug 19 11:26:54 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y
26CONFIG_ZONE_DMA=y
27CONFIG_ARCH_MTD_XIP=y
28CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
29CONFIG_VECTORS_BASE=0xffff0000
30CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
31
32#
33# General setup
34#
35CONFIG_EXPERIMENTAL=y
36CONFIG_BROKEN_ON_SMP=y
37CONFIG_INIT_ENV_ARG_LIMIT=32
38CONFIG_LOCALVERSION="-cm-x300"
39# CONFIG_LOCALVERSION_AUTO is not set
40CONFIG_SWAP=y
41CONFIG_SYSVIPC=y
42CONFIG_SYSVIPC_SYSCTL=y
43# CONFIG_POSIX_MQUEUE is not set
44# CONFIG_BSD_PROCESS_ACCT is not set
45# CONFIG_TASKSTATS is not set
46# CONFIG_AUDIT is not set
47CONFIG_IKCONFIG=y
48CONFIG_IKCONFIG_PROC=y
49CONFIG_LOG_BUF_SHIFT=18
50# CONFIG_CGROUPS is not set
51CONFIG_GROUP_SCHED=y
52CONFIG_FAIR_GROUP_SCHED=y
53# CONFIG_RT_GROUP_SCHED is not set
54CONFIG_USER_SCHED=y
55# CONFIG_CGROUP_SCHED is not set
56CONFIG_SYSFS_DEPRECATED=y
57CONFIG_SYSFS_DEPRECATED_V2=y
58# CONFIG_RELAY is not set
59CONFIG_NAMESPACES=y
60# CONFIG_UTS_NS is not set
61# CONFIG_IPC_NS is not set
62# CONFIG_USER_NS is not set
63# CONFIG_PID_NS is not set
64CONFIG_BLK_DEV_INITRD=y
65CONFIG_INITRAMFS_SOURCE=""
66# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
67CONFIG_SYSCTL=y
68# CONFIG_EMBEDDED is not set
69CONFIG_UID16=y
70CONFIG_SYSCTL_SYSCALL=y
71CONFIG_KALLSYMS=y
72# CONFIG_KALLSYMS_ALL is not set
73# CONFIG_KALLSYMS_EXTRA_PASS is not set
74CONFIG_HOTPLUG=y
75CONFIG_PRINTK=y
76CONFIG_BUG=y
77CONFIG_ELF_CORE=y
78CONFIG_COMPAT_BRK=y
79CONFIG_BASE_FULL=y
80CONFIG_FUTEX=y
81CONFIG_ANON_INODES=y
82CONFIG_EPOLL=y
83CONFIG_SIGNALFD=y
84CONFIG_TIMERFD=y
85CONFIG_EVENTFD=y
86CONFIG_SHMEM=y
87CONFIG_VM_EVENT_COUNTERS=y
88CONFIG_SLUB_DEBUG=y
89# CONFIG_SLAB is not set
90CONFIG_SLUB=y
91# CONFIG_SLOB is not set
92# CONFIG_PROFILING is not set
93# CONFIG_MARKERS is not set
94CONFIG_HAVE_OPROFILE=y
95# CONFIG_KPROBES is not set
96# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
97# CONFIG_HAVE_IOREMAP_PROT is not set
98CONFIG_HAVE_KPROBES=y
99CONFIG_HAVE_KRETPROBES=y
100# CONFIG_HAVE_ARCH_TRACEHOOK is not set
101# CONFIG_HAVE_DMA_ATTRS is not set
102# CONFIG_USE_GENERIC_SMP_HELPERS is not set
103CONFIG_HAVE_CLK=y
104CONFIG_PROC_PAGE_MONITOR=y
105CONFIG_HAVE_GENERIC_DMA_COHERENT=y
106CONFIG_SLABINFO=y
107CONFIG_RT_MUTEXES=y
108# CONFIG_TINY_SHMEM is not set
109CONFIG_BASE_SMALL=0
110CONFIG_MODULES=y
111# CONFIG_MODULE_FORCE_LOAD is not set
112CONFIG_MODULE_UNLOAD=y
113# CONFIG_MODULE_FORCE_UNLOAD is not set
114# CONFIG_MODVERSIONS is not set
115# CONFIG_MODULE_SRCVERSION_ALL is not set
116CONFIG_KMOD=y
117CONFIG_BLOCK=y
118# CONFIG_LBD is not set
119# CONFIG_BLK_DEV_IO_TRACE is not set
120# CONFIG_LSF is not set
121# CONFIG_BLK_DEV_BSG is not set
122# CONFIG_BLK_DEV_INTEGRITY is not set
123
124#
125# IO Schedulers
126#
127CONFIG_IOSCHED_NOOP=y
128CONFIG_IOSCHED_AS=y
129CONFIG_IOSCHED_DEADLINE=y
130CONFIG_IOSCHED_CFQ=y
131# CONFIG_DEFAULT_AS is not set
132# CONFIG_DEFAULT_DEADLINE is not set
133CONFIG_DEFAULT_CFQ=y
134# CONFIG_DEFAULT_NOOP is not set
135CONFIG_DEFAULT_IOSCHED="cfq"
136CONFIG_CLASSIC_RCU=y
137
138#
139# System Type
140#
141# CONFIG_ARCH_AAEC2000 is not set
142# CONFIG_ARCH_INTEGRATOR is not set
143# CONFIG_ARCH_REALVIEW is not set
144# CONFIG_ARCH_VERSATILE is not set
145# CONFIG_ARCH_AT91 is not set
146# CONFIG_ARCH_CLPS7500 is not set
147# CONFIG_ARCH_CLPS711X is not set
148# CONFIG_ARCH_EBSA110 is not set
149# CONFIG_ARCH_EP93XX is not set
150# CONFIG_ARCH_FOOTBRIDGE is not set
151# CONFIG_ARCH_NETX is not set
152# CONFIG_ARCH_H720X is not set
153# CONFIG_ARCH_IMX is not set
154# CONFIG_ARCH_IOP13XX is not set
155# CONFIG_ARCH_IOP32X is not set
156# CONFIG_ARCH_IOP33X is not set
157# CONFIG_ARCH_IXP23XX is not set
158# CONFIG_ARCH_IXP2000 is not set
159# CONFIG_ARCH_IXP4XX is not set
160# CONFIG_ARCH_L7200 is not set
161# CONFIG_ARCH_KIRKWOOD is not set
162# CONFIG_ARCH_KS8695 is not set
163# CONFIG_ARCH_NS9XXX is not set
164# CONFIG_ARCH_LOKI is not set
165# CONFIG_ARCH_MV78XX0 is not set
166# CONFIG_ARCH_MXC is not set
167# CONFIG_ARCH_ORION5X is not set
168# CONFIG_ARCH_PNX4008 is not set
169CONFIG_ARCH_PXA=y
170# CONFIG_ARCH_RPC is not set
171# CONFIG_ARCH_SA1100 is not set
172# CONFIG_ARCH_S3C2410 is not set
173# CONFIG_ARCH_SHARK is not set
174# CONFIG_ARCH_LH7A40X is not set
175# CONFIG_ARCH_DAVINCI is not set
176# CONFIG_ARCH_OMAP is not set
177# CONFIG_ARCH_MSM7X00A is not set
178
179#
180# Intel PXA2xx/PXA3xx Implementations
181#
182
183#
184# Supported PXA3xx Processor Variants
185#
186CONFIG_CPU_PXA300=y
187# CONFIG_CPU_PXA310 is not set
188# CONFIG_CPU_PXA320 is not set
189# CONFIG_CPU_PXA930 is not set
190# CONFIG_ARCH_GUMSTIX is not set
191# CONFIG_ARCH_LUBBOCK is not set
192# CONFIG_MACH_LOGICPD_PXA270 is not set
193# CONFIG_MACH_MAINSTONE is not set
194# CONFIG_ARCH_PXA_IDP is not set
195# CONFIG_PXA_SHARPSL is not set
196# CONFIG_ARCH_PXA_ESERIES is not set
197# CONFIG_MACH_TRIZEPS4 is not set
198# CONFIG_MACH_EM_X270 is not set
199# CONFIG_MACH_COLIBRI is not set
200# CONFIG_MACH_ZYLONITE is not set
201# CONFIG_MACH_LITTLETON is not set
202# CONFIG_MACH_TAVOREVB is not set
203# CONFIG_MACH_SAAR is not set
204# CONFIG_MACH_ARMCORE is not set
205CONFIG_MACH_CM_X300=y
206# CONFIG_MACH_MAGICIAN is not set
207# CONFIG_MACH_PCM027 is not set
208# CONFIG_ARCH_PXA_PALM is not set
209# CONFIG_PXA_EZX is not set
210CONFIG_PXA3xx=y
211# CONFIG_PXA_PWM is not set
212
213#
214# Boot options
215#
216
217#
218# Power management
219#
220
221#
222# Processor Type
223#
224CONFIG_CPU_32=y
225CONFIG_CPU_XSC3=y
226CONFIG_CPU_32v5=y
227CONFIG_CPU_ABRT_EV5T=y
228CONFIG_CPU_PABRT_NOIFAR=y
229CONFIG_CPU_CACHE_VIVT=y
230CONFIG_CPU_TLB_V4WBI=y
231CONFIG_CPU_CP15=y
232CONFIG_CPU_CP15_MMU=y
233CONFIG_IO_36=y
234
235#
236# Processor Features
237#
238# CONFIG_ARM_THUMB is not set
239# CONFIG_CPU_DCACHE_DISABLE is not set
240# CONFIG_CPU_BPREDICT_DISABLE is not set
241CONFIG_OUTER_CACHE=y
242CONFIG_CACHE_XSC3L2=y
243CONFIG_IWMMXT=y
244
245#
246# Bus support
247#
248# CONFIG_PCI_SYSCALL is not set
249# CONFIG_ARCH_SUPPORTS_MSI is not set
250# CONFIG_PCCARD is not set
251
252#
253# Kernel Features
254#
255CONFIG_TICK_ONESHOT=y
256CONFIG_NO_HZ=y
257# CONFIG_HIGH_RES_TIMERS is not set
258CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
259# CONFIG_PREEMPT is not set
260CONFIG_HZ=100
261CONFIG_AEABI=y
262CONFIG_OABI_COMPAT=y
263# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
264CONFIG_SELECT_MEMORY_MODEL=y
265CONFIG_FLATMEM_MANUAL=y
266# CONFIG_DISCONTIGMEM_MANUAL is not set
267# CONFIG_SPARSEMEM_MANUAL is not set
268CONFIG_FLATMEM=y
269CONFIG_FLAT_NODE_MEM_MAP=y
270# CONFIG_SPARSEMEM_STATIC is not set
271# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
272CONFIG_PAGEFLAGS_EXTENDED=y
273CONFIG_SPLIT_PTLOCK_CPUS=4096
274# CONFIG_RESOURCES_64BIT is not set
275CONFIG_ZONE_DMA_FLAG=1
276CONFIG_BOUNCE=y
277CONFIG_VIRT_TO_BUS=y
278CONFIG_ALIGNMENT_TRAP=y
279
280#
281# Boot options
282#
283CONFIG_ZBOOT_ROM_TEXT=0x0
284CONFIG_ZBOOT_ROM_BSS=0x0
285CONFIG_CMDLINE="root=/dev/mtdblock5 rootfstype=jffs2 console=ttyS2,38400"
286# CONFIG_XIP_KERNEL is not set
287# CONFIG_KEXEC is not set
288
289#
290# CPU Frequency scaling
291#
292CONFIG_CPU_FREQ=y
293CONFIG_CPU_FREQ_TABLE=y
294# CONFIG_CPU_FREQ_DEBUG is not set
295CONFIG_CPU_FREQ_STAT=y
296# CONFIG_CPU_FREQ_STAT_DETAILS is not set
297CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
298# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
299# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
300# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
301# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
302CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
303# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
304CONFIG_CPU_FREQ_GOV_USERSPACE=y
305# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
306# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
307
308#
309# Floating point emulation
310#
311
312#
313# At least one emulation must be selected
314#
315CONFIG_FPE_NWFPE=y
316# CONFIG_FPE_NWFPE_XP is not set
317# CONFIG_FPE_FASTFPE is not set
318
319#
320# Userspace binary formats
321#
322CONFIG_BINFMT_ELF=y
323# CONFIG_BINFMT_AOUT is not set
324# CONFIG_BINFMT_MISC is not set
325
326#
327# Power management options
328#
329CONFIG_PM=y
330# CONFIG_PM_DEBUG is not set
331CONFIG_PM_SLEEP=y
332CONFIG_SUSPEND=y
333CONFIG_SUSPEND_FREEZER=y
334CONFIG_APM_EMULATION=y
335CONFIG_ARCH_SUSPEND_POSSIBLE=y
336CONFIG_NET=y
337
338#
339# Networking options
340#
341CONFIG_PACKET=y
342# CONFIG_PACKET_MMAP is not set
343CONFIG_UNIX=y
344# CONFIG_NET_KEY is not set
345CONFIG_INET=y
346# CONFIG_IP_MULTICAST is not set
347# CONFIG_IP_ADVANCED_ROUTER is not set
348CONFIG_IP_FIB_HASH=y
349CONFIG_IP_PNP=y
350CONFIG_IP_PNP_DHCP=y
351CONFIG_IP_PNP_BOOTP=y
352CONFIG_IP_PNP_RARP=y
353# CONFIG_NET_IPIP is not set
354# CONFIG_NET_IPGRE is not set
355# CONFIG_ARPD is not set
356# CONFIG_SYN_COOKIES is not set
357# CONFIG_INET_AH is not set
358# CONFIG_INET_ESP is not set
359# CONFIG_INET_IPCOMP is not set
360# CONFIG_INET_XFRM_TUNNEL is not set
361# CONFIG_INET_TUNNEL is not set
362# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
363# CONFIG_INET_XFRM_MODE_TUNNEL is not set
364# CONFIG_INET_XFRM_MODE_BEET is not set
365# CONFIG_INET_LRO is not set
366# CONFIG_INET_DIAG is not set
367# CONFIG_TCP_CONG_ADVANCED is not set
368CONFIG_TCP_CONG_CUBIC=y
369CONFIG_DEFAULT_TCP_CONG="cubic"
370# CONFIG_TCP_MD5SIG is not set
371# CONFIG_IPV6 is not set
372# CONFIG_NETWORK_SECMARK is not set
373# CONFIG_NETFILTER is not set
374# CONFIG_IP_DCCP is not set
375# CONFIG_IP_SCTP is not set
376# CONFIG_TIPC is not set
377# CONFIG_ATM is not set
378# CONFIG_BRIDGE is not set
379# CONFIG_VLAN_8021Q is not set
380# CONFIG_DECNET is not set
381# CONFIG_LLC2 is not set
382# CONFIG_IPX is not set
383# CONFIG_ATALK is not set
384# CONFIG_X25 is not set
385# CONFIG_LAPB is not set
386# CONFIG_ECONET is not set
387# CONFIG_WAN_ROUTER is not set
388# CONFIG_NET_SCHED is not set
389
390#
391# Network testing
392#
393# CONFIG_NET_PKTGEN is not set
394# CONFIG_HAMRADIO is not set
395# CONFIG_CAN is not set
396# CONFIG_IRDA is not set
397CONFIG_BT=m
398CONFIG_BT_L2CAP=m
399CONFIG_BT_SCO=m
400CONFIG_BT_RFCOMM=m
401CONFIG_BT_RFCOMM_TTY=y
402CONFIG_BT_BNEP=m
403CONFIG_BT_BNEP_MC_FILTER=y
404CONFIG_BT_BNEP_PROTO_FILTER=y
405CONFIG_BT_HIDP=m
406
407#
408# Bluetooth device drivers
409#
410CONFIG_BT_HCIUSB=m
411CONFIG_BT_HCIUSB_SCO=y
412# CONFIG_BT_HCIBTSDIO is not set
413# CONFIG_BT_HCIUART is not set
414# CONFIG_BT_HCIBCM203X is not set
415# CONFIG_BT_HCIBPA10X is not set
416# CONFIG_BT_HCIBFUSB is not set
417# CONFIG_BT_HCIVHCI is not set
418# CONFIG_AF_RXRPC is not set
419
420#
421# Wireless
422#
423# CONFIG_CFG80211 is not set
424CONFIG_WIRELESS_EXT=y
425CONFIG_WIRELESS_EXT_SYSFS=y
426# CONFIG_MAC80211 is not set
427CONFIG_IEEE80211=m
428# CONFIG_IEEE80211_DEBUG is not set
429CONFIG_IEEE80211_CRYPT_WEP=m
430CONFIG_IEEE80211_CRYPT_CCMP=m
431CONFIG_IEEE80211_CRYPT_TKIP=m
432# CONFIG_RFKILL is not set
433# CONFIG_NET_9P is not set
434
435#
436# Device Drivers
437#
438
439#
440# Generic Driver Options
441#
442CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
443CONFIG_STANDALONE=y
444CONFIG_PREVENT_FIRMWARE_BUILD=y
445CONFIG_FW_LOADER=y
446CONFIG_FIRMWARE_IN_KERNEL=y
447CONFIG_EXTRA_FIRMWARE=""
448# CONFIG_DEBUG_DRIVER is not set
449# CONFIG_DEBUG_DEVRES is not set
450# CONFIG_SYS_HYPERVISOR is not set
451# CONFIG_CONNECTOR is not set
452CONFIG_MTD=y
453# CONFIG_MTD_DEBUG is not set
454# CONFIG_MTD_CONCAT is not set
455CONFIG_MTD_PARTITIONS=y
456# CONFIG_MTD_REDBOOT_PARTS is not set
457# CONFIG_MTD_CMDLINE_PARTS is not set
458# CONFIG_MTD_AFS_PARTS is not set
459# CONFIG_MTD_AR7_PARTS is not set
460
461#
462# User Modules And Translation Layers
463#
464CONFIG_MTD_CHAR=y
465CONFIG_MTD_BLKDEVS=y
466CONFIG_MTD_BLOCK=y
467# CONFIG_FTL is not set
468# CONFIG_NFTL is not set
469# CONFIG_INFTL is not set
470# CONFIG_RFD_FTL is not set
471# CONFIG_SSFDC is not set
472# CONFIG_MTD_OOPS is not set
473
474#
475# RAM/ROM/Flash chip drivers
476#
477# CONFIG_MTD_CFI is not set
478# CONFIG_MTD_JEDECPROBE is not set
479CONFIG_MTD_MAP_BANK_WIDTH_1=y
480CONFIG_MTD_MAP_BANK_WIDTH_2=y
481CONFIG_MTD_MAP_BANK_WIDTH_4=y
482# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
483# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
484# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
485CONFIG_MTD_CFI_I1=y
486CONFIG_MTD_CFI_I2=y
487# CONFIG_MTD_CFI_I4 is not set
488# CONFIG_MTD_CFI_I8 is not set
489# CONFIG_MTD_RAM is not set
490# CONFIG_MTD_ROM is not set
491# CONFIG_MTD_ABSENT is not set
492
493#
494# Mapping drivers for chip access
495#
496# CONFIG_MTD_COMPLEX_MAPPINGS is not set
497# CONFIG_MTD_SHARP_SL is not set
498# CONFIG_MTD_PLATRAM is not set
499
500#
501# Self-contained MTD device drivers
502#
503# CONFIG_MTD_SLRAM is not set
504# CONFIG_MTD_PHRAM is not set
505# CONFIG_MTD_MTDRAM is not set
506# CONFIG_MTD_BLOCK2MTD is not set
507
508#
509# Disk-On-Chip Device Drivers
510#
511# CONFIG_MTD_DOC2000 is not set
512# CONFIG_MTD_DOC2001 is not set
513# CONFIG_MTD_DOC2001PLUS is not set
514CONFIG_MTD_NAND=y
515# CONFIG_MTD_NAND_VERIFY_WRITE is not set
516# CONFIG_MTD_NAND_ECC_SMC is not set
517# CONFIG_MTD_NAND_MUSEUM_IDS is not set
518# CONFIG_MTD_NAND_H1900 is not set
519CONFIG_MTD_NAND_IDS=y
520# CONFIG_MTD_NAND_DISKONCHIP is not set
521# CONFIG_MTD_NAND_SHARPSL is not set
522CONFIG_MTD_NAND_PXA3xx=y
523# CONFIG_MTD_NAND_NANDSIM is not set
524# CONFIG_MTD_NAND_PLATFORM is not set
525# CONFIG_MTD_ALAUDA is not set
526# CONFIG_MTD_ONENAND is not set
527
528#
529# UBI - Unsorted block images
530#
531# CONFIG_MTD_UBI is not set
532# CONFIG_PARPORT is not set
533CONFIG_BLK_DEV=y
534# CONFIG_BLK_DEV_COW_COMMON is not set
535CONFIG_BLK_DEV_LOOP=y
536# CONFIG_BLK_DEV_CRYPTOLOOP is not set
537# CONFIG_BLK_DEV_NBD is not set
538# CONFIG_BLK_DEV_UB is not set
539CONFIG_BLK_DEV_RAM=y
540CONFIG_BLK_DEV_RAM_COUNT=16
541CONFIG_BLK_DEV_RAM_SIZE=4096
542# CONFIG_BLK_DEV_XIP is not set
543# CONFIG_CDROM_PKTCDVD is not set
544# CONFIG_ATA_OVER_ETH is not set
545# CONFIG_MISC_DEVICES is not set
546CONFIG_HAVE_IDE=y
547# CONFIG_IDE is not set
548
549#
550# SCSI device support
551#
552# CONFIG_RAID_ATTRS is not set
553CONFIG_SCSI=y
554CONFIG_SCSI_DMA=y
555# CONFIG_SCSI_TGT is not set
556# CONFIG_SCSI_NETLINK is not set
557CONFIG_SCSI_PROC_FS=y
558
559#
560# SCSI support type (disk, tape, CD-ROM)
561#
562CONFIG_BLK_DEV_SD=y
563# CONFIG_CHR_DEV_ST is not set
564# CONFIG_CHR_DEV_OSST is not set
565# CONFIG_BLK_DEV_SR is not set
566# CONFIG_CHR_DEV_SG is not set
567# CONFIG_CHR_DEV_SCH is not set
568
569#
570# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
571#
572# CONFIG_SCSI_MULTI_LUN is not set
573# CONFIG_SCSI_CONSTANTS is not set
574# CONFIG_SCSI_LOGGING is not set
575# CONFIG_SCSI_SCAN_ASYNC is not set
576CONFIG_SCSI_WAIT_SCAN=m
577
578#
579# SCSI Transports
580#
581# CONFIG_SCSI_SPI_ATTRS is not set
582# CONFIG_SCSI_FC_ATTRS is not set
583# CONFIG_SCSI_ISCSI_ATTRS is not set
584# CONFIG_SCSI_SAS_LIBSAS is not set
585# CONFIG_SCSI_SRP_ATTRS is not set
586CONFIG_SCSI_LOWLEVEL=y
587# CONFIG_ISCSI_TCP is not set
588# CONFIG_SCSI_DEBUG is not set
589# CONFIG_SCSI_DH is not set
590# CONFIG_ATA is not set
591# CONFIG_MD is not set
592CONFIG_NETDEVICES=y
593# CONFIG_DUMMY is not set
594# CONFIG_BONDING is not set
595# CONFIG_MACVLAN is not set
596# CONFIG_EQUALIZER is not set
597# CONFIG_TUN is not set
598# CONFIG_VETH is not set
599# CONFIG_PHYLIB is not set
600CONFIG_NET_ETHERNET=y
601CONFIG_MII=y
602# CONFIG_AX88796 is not set
603# CONFIG_SMC91X is not set
604CONFIG_DM9000=y
605CONFIG_DM9000_DEBUGLEVEL=0
606CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
607# CONFIG_SMC911X is not set
608# CONFIG_IBM_NEW_EMAC_ZMII is not set
609# CONFIG_IBM_NEW_EMAC_RGMII is not set
610# CONFIG_IBM_NEW_EMAC_TAH is not set
611# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
612# CONFIG_B44 is not set
613# CONFIG_NETDEV_1000 is not set
614# CONFIG_NETDEV_10000 is not set
615
616#
617# Wireless LAN
618#
619# CONFIG_WLAN_PRE80211 is not set
620CONFIG_WLAN_80211=y
621CONFIG_LIBERTAS=m
622# CONFIG_LIBERTAS_USB is not set
623CONFIG_LIBERTAS_SDIO=m
624# CONFIG_LIBERTAS_DEBUG is not set
625# CONFIG_USB_ZD1201 is not set
626# CONFIG_USB_NET_RNDIS_WLAN is not set
627# CONFIG_IWLWIFI_LEDS is not set
628# CONFIG_HOSTAP is not set
629
630#
631# USB Network Adapters
632#
633# CONFIG_USB_CATC is not set
634# CONFIG_USB_KAWETH is not set
635# CONFIG_USB_PEGASUS is not set
636# CONFIG_USB_RTL8150 is not set
637# CONFIG_USB_USBNET is not set
638# CONFIG_WAN is not set
639# CONFIG_PPP is not set
640# CONFIG_SLIP is not set
641# CONFIG_NETCONSOLE is not set
642# CONFIG_NETPOLL is not set
643# CONFIG_NET_POLL_CONTROLLER is not set
644# CONFIG_ISDN is not set
645
646#
647# Input device support
648#
649CONFIG_INPUT=y
650# CONFIG_INPUT_FF_MEMLESS is not set
651# CONFIG_INPUT_POLLDEV is not set
652
653#
654# Userland interfaces
655#
656CONFIG_INPUT_MOUSEDEV=y
657# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
658CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
659CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
660# CONFIG_INPUT_JOYDEV is not set
661CONFIG_INPUT_EVDEV=y
662# CONFIG_INPUT_EVBUG is not set
663
664#
665# Input Device Drivers
666#
667CONFIG_INPUT_KEYBOARD=y
668# CONFIG_KEYBOARD_ATKBD is not set
669# CONFIG_KEYBOARD_SUNKBD is not set
670# CONFIG_KEYBOARD_LKKBD is not set
671# CONFIG_KEYBOARD_XTKBD is not set
672# CONFIG_KEYBOARD_NEWTON is not set
673# CONFIG_KEYBOARD_STOWAWAY is not set
674CONFIG_KEYBOARD_PXA27x=m
675# CONFIG_KEYBOARD_GPIO is not set
676# CONFIG_INPUT_MOUSE is not set
677# CONFIG_INPUT_JOYSTICK is not set
678# CONFIG_INPUT_TABLET is not set
679CONFIG_INPUT_TOUCHSCREEN=y
680# CONFIG_TOUCHSCREEN_FUJITSU is not set
681# CONFIG_TOUCHSCREEN_GUNZE is not set
682# CONFIG_TOUCHSCREEN_ELO is not set
683# CONFIG_TOUCHSCREEN_MTOUCH is not set
684# CONFIG_TOUCHSCREEN_INEXIO is not set
685# CONFIG_TOUCHSCREEN_MK712 is not set
686# CONFIG_TOUCHSCREEN_PENMOUNT is not set
687# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
688# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
689# CONFIG_TOUCHSCREEN_UCB1400 is not set
690# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
691# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
692# CONFIG_INPUT_MISC is not set
693
694#
695# Hardware I/O ports
696#
697# CONFIG_SERIO is not set
698# CONFIG_GAMEPORT is not set
699
700#
701# Character devices
702#
703CONFIG_VT=y
704CONFIG_CONSOLE_TRANSLATIONS=y
705CONFIG_VT_CONSOLE=y
706CONFIG_HW_CONSOLE=y
707# CONFIG_VT_HW_CONSOLE_BINDING is not set
708CONFIG_DEVKMEM=y
709# CONFIG_SERIAL_NONSTANDARD is not set
710
711#
712# Serial drivers
713#
714# CONFIG_SERIAL_8250 is not set
715
716#
717# Non-8250 serial port support
718#
719CONFIG_SERIAL_PXA=y
720CONFIG_SERIAL_PXA_CONSOLE=y
721CONFIG_SERIAL_CORE=y
722CONFIG_SERIAL_CORE_CONSOLE=y
723CONFIG_UNIX98_PTYS=y
724# CONFIG_LEGACY_PTYS is not set
725# CONFIG_IPMI_HANDLER is not set
726# CONFIG_HW_RANDOM is not set
727# CONFIG_NVRAM is not set
728# CONFIG_R3964 is not set
729# CONFIG_RAW_DRIVER is not set
730# CONFIG_TCG_TPM is not set
731CONFIG_I2C=y
732CONFIG_I2C_BOARDINFO=y
733# CONFIG_I2C_CHARDEV is not set
734CONFIG_I2C_HELPER_AUTO=y
735
736#
737# I2C Hardware Bus support
738#
739
740#
741# I2C system bus drivers (mostly embedded / system-on-chip)
742#
743# CONFIG_I2C_GPIO is not set
744# CONFIG_I2C_OCORES is not set
745CONFIG_I2C_PXA=y
746# CONFIG_I2C_PXA_SLAVE is not set
747# CONFIG_I2C_SIMTEC is not set
748
749#
750# External I2C/SMBus adapter drivers
751#
752# CONFIG_I2C_PARPORT_LIGHT is not set
753# CONFIG_I2C_TAOS_EVM is not set
754# CONFIG_I2C_TINY_USB is not set
755
756#
757# Other I2C/SMBus bus drivers
758#
759# CONFIG_I2C_PCA_PLATFORM is not set
760# CONFIG_I2C_STUB is not set
761
762#
763# Miscellaneous I2C Chip support
764#
765# CONFIG_DS1682 is not set
766# CONFIG_AT24 is not set
767# CONFIG_SENSORS_EEPROM is not set
768# CONFIG_SENSORS_PCF8574 is not set
769# CONFIG_PCF8575 is not set
770# CONFIG_SENSORS_PCF8591 is not set
771# CONFIG_TPS65010 is not set
772# CONFIG_SENSORS_MAX6875 is not set
773# CONFIG_SENSORS_TSL2550 is not set
774# CONFIG_I2C_DEBUG_CORE is not set
775# CONFIG_I2C_DEBUG_ALGO is not set
776# CONFIG_I2C_DEBUG_BUS is not set
777# CONFIG_I2C_DEBUG_CHIP is not set
778# CONFIG_SPI is not set
779CONFIG_ARCH_REQUIRE_GPIOLIB=y
780CONFIG_GPIOLIB=y
781# CONFIG_DEBUG_GPIO is not set
782# CONFIG_GPIO_SYSFS is not set
783
784#
785# I2C GPIO expanders:
786#
787# CONFIG_GPIO_MAX732X is not set
788CONFIG_GPIO_PCA953X=y
789# CONFIG_GPIO_PCF857X is not set
790
791#
792# PCI GPIO expanders:
793#
794
795#
796# SPI GPIO expanders:
797#
798# CONFIG_W1 is not set
799# CONFIG_POWER_SUPPLY is not set
800# CONFIG_HWMON is not set
801# CONFIG_WATCHDOG is not set
802
803#
804# Sonics Silicon Backplane
805#
806CONFIG_SSB_POSSIBLE=y
807# CONFIG_SSB is not set
808
809#
810# Multifunction device drivers
811#
812# CONFIG_MFD_CORE is not set
813# CONFIG_MFD_SM501 is not set
814# CONFIG_HTC_EGPIO is not set
815# CONFIG_HTC_PASIC3 is not set
816# CONFIG_MFD_TMIO is not set
817# CONFIG_MFD_T7L66XB is not set
818# CONFIG_MFD_TC6387XB is not set
819# CONFIG_MFD_TC6393XB is not set
820
821#
822# Multimedia devices
823#
824
825#
826# Multimedia core support
827#
828# CONFIG_VIDEO_DEV is not set
829# CONFIG_DVB_CORE is not set
830# CONFIG_VIDEO_MEDIA is not set
831
832#
833# Multimedia drivers
834#
835# CONFIG_DAB is not set
836
837#
838# Graphics support
839#
840# CONFIG_VGASTATE is not set
841# CONFIG_VIDEO_OUTPUT_CONTROL is not set
842CONFIG_FB=y
843# CONFIG_FIRMWARE_EDID is not set
844# CONFIG_FB_DDC is not set
845CONFIG_FB_CFB_FILLRECT=y
846CONFIG_FB_CFB_COPYAREA=y
847CONFIG_FB_CFB_IMAGEBLIT=y
848# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
849# CONFIG_FB_SYS_FILLRECT is not set
850# CONFIG_FB_SYS_COPYAREA is not set
851# CONFIG_FB_SYS_IMAGEBLIT is not set
852# CONFIG_FB_FOREIGN_ENDIAN is not set
853# CONFIG_FB_SYS_FOPS is not set
854# CONFIG_FB_SVGALIB is not set
855# CONFIG_FB_MACMODES is not set
856# CONFIG_FB_BACKLIGHT is not set
857# CONFIG_FB_MODE_HELPERS is not set
858# CONFIG_FB_TILEBLITTING is not set
859
860#
861# Frame buffer hardware drivers
862#
863# CONFIG_FB_S1D13XXX is not set
864CONFIG_FB_PXA=y
865# CONFIG_FB_PXA_SMARTPANEL is not set
866# CONFIG_FB_PXA_PARAMETERS is not set
867# CONFIG_FB_MBX is not set
868# CONFIG_FB_W100 is not set
869# CONFIG_FB_AM200EPD is not set
870# CONFIG_FB_VIRTUAL is not set
871# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
872
873#
874# Display device support
875#
876# CONFIG_DISPLAY_SUPPORT is not set
877
878#
879# Console display driver support
880#
881# CONFIG_VGA_CONSOLE is not set
882CONFIG_DUMMY_CONSOLE=y
883CONFIG_FRAMEBUFFER_CONSOLE=y
884CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
885# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
886CONFIG_FONTS=y
887# CONFIG_FONT_8x8 is not set
888# CONFIG_FONT_8x16 is not set
889CONFIG_FONT_6x11=y
890# CONFIG_FONT_7x14 is not set
891# CONFIG_FONT_PEARL_8x8 is not set
892# CONFIG_FONT_ACORN_8x8 is not set
893# CONFIG_FONT_MINI_4x6 is not set
894# CONFIG_FONT_SUN8x16 is not set
895# CONFIG_FONT_SUN12x22 is not set
896# CONFIG_FONT_10x18 is not set
897CONFIG_LOGO=y
898CONFIG_LOGO_LINUX_MONO=y
899CONFIG_LOGO_LINUX_VGA16=y
900CONFIG_LOGO_LINUX_CLUT224=y
901CONFIG_SOUND=m
902CONFIG_SND=m
903CONFIG_SND_TIMER=m
904CONFIG_SND_PCM=m
905# CONFIG_SND_SEQUENCER is not set
906# CONFIG_SND_MIXER_OSS is not set
907# CONFIG_SND_PCM_OSS is not set
908# CONFIG_SND_DYNAMIC_MINORS is not set
909CONFIG_SND_SUPPORT_OLD_API=y
910CONFIG_SND_VERBOSE_PROCFS=y
911# CONFIG_SND_VERBOSE_PRINTK is not set
912# CONFIG_SND_DEBUG is not set
913CONFIG_SND_DRIVERS=y
914# CONFIG_SND_DUMMY is not set
915# CONFIG_SND_MTPAV is not set
916# CONFIG_SND_SERIAL_U16550 is not set
917# CONFIG_SND_MPU401 is not set
918CONFIG_SND_ARM=y
919# CONFIG_SND_PXA2XX_AC97 is not set
920CONFIG_SND_USB=y
921# CONFIG_SND_USB_AUDIO is not set
922# CONFIG_SND_USB_CAIAQ is not set
923CONFIG_SND_SOC=m
924CONFIG_SND_PXA2XX_SOC=m
925# CONFIG_SOUND_PRIME is not set
926CONFIG_HID_SUPPORT=y
927CONFIG_HID=y
928CONFIG_HID_DEBUG=y
929# CONFIG_HIDRAW is not set
930
931#
932# USB Input Devices
933#
934CONFIG_USB_HID=y
935# CONFIG_USB_HIDINPUT_POWERBOOK is not set
936# CONFIG_HID_FF is not set
937# CONFIG_USB_HIDDEV is not set
938CONFIG_USB_SUPPORT=y
939CONFIG_USB_ARCH_HAS_HCD=y
940CONFIG_USB_ARCH_HAS_OHCI=y
941# CONFIG_USB_ARCH_HAS_EHCI is not set
942CONFIG_USB=y
943# CONFIG_USB_DEBUG is not set
944# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
945
946#
947# Miscellaneous USB options
948#
949CONFIG_USB_DEVICEFS=y
950# CONFIG_USB_DEVICE_CLASS is not set
951# CONFIG_USB_DYNAMIC_MINORS is not set
952# CONFIG_USB_SUSPEND is not set
953# CONFIG_USB_OTG is not set
954CONFIG_USB_MON=y
955
956#
957# USB Host Controller Drivers
958#
959# CONFIG_USB_C67X00_HCD is not set
960# CONFIG_USB_ISP116X_HCD is not set
961# CONFIG_USB_ISP1760_HCD is not set
962CONFIG_USB_OHCI_HCD=y
963# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
964# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
965CONFIG_USB_OHCI_LITTLE_ENDIAN=y
966# CONFIG_USB_SL811_HCD is not set
967# CONFIG_USB_R8A66597_HCD is not set
968# CONFIG_USB_MUSB_HDRC is not set
969
970#
971# USB Device Class drivers
972#
973# CONFIG_USB_ACM is not set
974# CONFIG_USB_PRINTER is not set
975# CONFIG_USB_WDM is not set
976
977#
978# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
979#
980
981#
982# may also be needed; see USB_STORAGE Help for more information
983#
984CONFIG_USB_STORAGE=y
985# CONFIG_USB_STORAGE_DEBUG is not set
986# CONFIG_USB_STORAGE_DATAFAB is not set
987# CONFIG_USB_STORAGE_FREECOM is not set
988# CONFIG_USB_STORAGE_ISD200 is not set
989# CONFIG_USB_STORAGE_DPCM is not set
990# CONFIG_USB_STORAGE_USBAT is not set
991# CONFIG_USB_STORAGE_SDDR09 is not set
992# CONFIG_USB_STORAGE_SDDR55 is not set
993# CONFIG_USB_STORAGE_JUMPSHOT is not set
994# CONFIG_USB_STORAGE_ALAUDA is not set
995# CONFIG_USB_STORAGE_ONETOUCH is not set
996# CONFIG_USB_STORAGE_KARMA is not set
997# CONFIG_USB_STORAGE_SIERRA is not set
998# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
999# CONFIG_USB_LIBUSUAL is not set
1000
1001#
1002# USB Imaging devices
1003#
1004# CONFIG_USB_MDC800 is not set
1005# CONFIG_USB_MICROTEK is not set
1006
1007#
1008# USB port drivers
1009#
1010# CONFIG_USB_SERIAL is not set
1011
1012#
1013# USB Miscellaneous drivers
1014#
1015# CONFIG_USB_EMI62 is not set
1016# CONFIG_USB_EMI26 is not set
1017# CONFIG_USB_ADUTUX is not set
1018# CONFIG_USB_RIO500 is not set
1019# CONFIG_USB_LEGOTOWER is not set
1020# CONFIG_USB_LCD is not set
1021# CONFIG_USB_BERRY_CHARGE is not set
1022# CONFIG_USB_LED is not set
1023# CONFIG_USB_CYPRESS_CY7C63 is not set
1024# CONFIG_USB_CYTHERM is not set
1025# CONFIG_USB_PHIDGET is not set
1026# CONFIG_USB_IDMOUSE is not set
1027# CONFIG_USB_FTDI_ELAN is not set
1028# CONFIG_USB_APPLEDISPLAY is not set
1029# CONFIG_USB_LD is not set
1030# CONFIG_USB_TRANCEVIBRATOR is not set
1031# CONFIG_USB_IOWARRIOR is not set
1032# CONFIG_USB_TEST is not set
1033# CONFIG_USB_ISIGHTFW is not set
1034# CONFIG_USB_GADGET is not set
1035CONFIG_MMC=m
1036# CONFIG_MMC_DEBUG is not set
1037# CONFIG_MMC_UNSAFE_RESUME is not set
1038
1039#
1040# MMC/SD Card Drivers
1041#
1042CONFIG_MMC_BLOCK=m
1043CONFIG_MMC_BLOCK_BOUNCE=y
1044# CONFIG_SDIO_UART is not set
1045# CONFIG_MMC_TEST is not set
1046
1047#
1048# MMC/SD Host Controller Drivers
1049#
1050CONFIG_MMC_PXA=m
1051# CONFIG_MMC_SDHCI is not set
1052CONFIG_NEW_LEDS=y
1053CONFIG_LEDS_CLASS=y
1054
1055#
1056# LED drivers
1057#
1058# CONFIG_LEDS_PCA9532 is not set
1059CONFIG_LEDS_GPIO=y
1060# CONFIG_LEDS_PCA955X is not set
1061
1062#
1063# LED Triggers
1064#
1065CONFIG_LEDS_TRIGGERS=y
1066# CONFIG_LEDS_TRIGGER_TIMER is not set
1067CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1068# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
1069CONFIG_RTC_LIB=y
1070CONFIG_RTC_CLASS=y
1071CONFIG_RTC_HCTOSYS=y
1072CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1073# CONFIG_RTC_DEBUG is not set
1074
1075#
1076# RTC interfaces
1077#
1078CONFIG_RTC_INTF_SYSFS=y
1079CONFIG_RTC_INTF_PROC=y
1080CONFIG_RTC_INTF_DEV=y
1081# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1082# CONFIG_RTC_DRV_TEST is not set
1083
1084#
1085# I2C RTC drivers
1086#
1087# CONFIG_RTC_DRV_DS1307 is not set
1088# CONFIG_RTC_DRV_DS1374 is not set
1089# CONFIG_RTC_DRV_DS1672 is not set
1090# CONFIG_RTC_DRV_MAX6900 is not set
1091# CONFIG_RTC_DRV_RS5C372 is not set
1092# CONFIG_RTC_DRV_ISL1208 is not set
1093# CONFIG_RTC_DRV_X1205 is not set
1094# CONFIG_RTC_DRV_PCF8563 is not set
1095# CONFIG_RTC_DRV_PCF8583 is not set
1096# CONFIG_RTC_DRV_M41T80 is not set
1097# CONFIG_RTC_DRV_S35390A is not set
1098# CONFIG_RTC_DRV_FM3130 is not set
1099
1100#
1101# SPI RTC drivers
1102#
1103
1104#
1105# Platform RTC drivers
1106#
1107# CONFIG_RTC_DRV_CMOS is not set
1108# CONFIG_RTC_DRV_DS1511 is not set
1109# CONFIG_RTC_DRV_DS1553 is not set
1110# CONFIG_RTC_DRV_DS1742 is not set
1111# CONFIG_RTC_DRV_STK17TA8 is not set
1112# CONFIG_RTC_DRV_M48T86 is not set
1113# CONFIG_RTC_DRV_M48T59 is not set
1114# CONFIG_RTC_DRV_V3020 is not set
1115
1116#
1117# on-CPU RTC drivers
1118#
1119CONFIG_RTC_DRV_SA1100=y
1120# CONFIG_DMADEVICES is not set
1121
1122#
1123# Voltage and Current regulators
1124#
1125# CONFIG_REGULATOR is not set
1126# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1127# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1128# CONFIG_REGULATOR_BQ24022 is not set
1129# CONFIG_UIO is not set
1130
1131#
1132# File systems
1133#
1134CONFIG_EXT2_FS=y
1135# CONFIG_EXT2_FS_XATTR is not set
1136# CONFIG_EXT2_FS_XIP is not set
1137CONFIG_EXT3_FS=y
1138# CONFIG_EXT3_FS_XATTR is not set
1139# CONFIG_EXT4DEV_FS is not set
1140CONFIG_JBD=y
1141# CONFIG_JBD_DEBUG is not set
1142# CONFIG_REISERFS_FS is not set
1143# CONFIG_JFS_FS is not set
1144CONFIG_FS_POSIX_ACL=y
1145# CONFIG_XFS_FS is not set
1146# CONFIG_OCFS2_FS is not set
1147CONFIG_DNOTIFY=y
1148CONFIG_INOTIFY=y
1149CONFIG_INOTIFY_USER=y
1150# CONFIG_QUOTA is not set
1151# CONFIG_AUTOFS_FS is not set
1152# CONFIG_AUTOFS4_FS is not set
1153# CONFIG_FUSE_FS is not set
1154
1155#
1156# CD-ROM/DVD Filesystems
1157#
1158# CONFIG_ISO9660_FS is not set
1159# CONFIG_UDF_FS is not set
1160
1161#
1162# DOS/FAT/NT Filesystems
1163#
1164CONFIG_FAT_FS=m
1165CONFIG_MSDOS_FS=m
1166CONFIG_VFAT_FS=m
1167CONFIG_FAT_DEFAULT_CODEPAGE=437
1168CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1169# CONFIG_NTFS_FS is not set
1170
1171#
1172# Pseudo filesystems
1173#
1174CONFIG_PROC_FS=y
1175CONFIG_PROC_SYSCTL=y
1176CONFIG_SYSFS=y
1177CONFIG_TMPFS=y
1178# CONFIG_TMPFS_POSIX_ACL is not set
1179# CONFIG_HUGETLB_PAGE is not set
1180# CONFIG_CONFIGFS_FS is not set
1181
1182#
1183# Miscellaneous filesystems
1184#
1185# CONFIG_ADFS_FS is not set
1186# CONFIG_AFFS_FS is not set
1187# CONFIG_HFS_FS is not set
1188# CONFIG_HFSPLUS_FS is not set
1189# CONFIG_BEFS_FS is not set
1190# CONFIG_BFS_FS is not set
1191# CONFIG_EFS_FS is not set
1192CONFIG_JFFS2_FS=y
1193CONFIG_JFFS2_FS_DEBUG=0
1194CONFIG_JFFS2_FS_WRITEBUFFER=y
1195# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1196CONFIG_JFFS2_SUMMARY=y
1197# CONFIG_JFFS2_FS_XATTR is not set
1198# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1199CONFIG_JFFS2_ZLIB=y
1200# CONFIG_JFFS2_LZO is not set
1201CONFIG_JFFS2_RTIME=y
1202# CONFIG_JFFS2_RUBIN is not set
1203# CONFIG_CRAMFS is not set
1204# CONFIG_VXFS_FS is not set
1205# CONFIG_MINIX_FS is not set
1206# CONFIG_OMFS_FS is not set
1207# CONFIG_HPFS_FS is not set
1208# CONFIG_QNX4FS_FS is not set
1209# CONFIG_ROMFS_FS is not set
1210# CONFIG_SYSV_FS is not set
1211# CONFIG_UFS_FS is not set
1212CONFIG_NETWORK_FILESYSTEMS=y
1213CONFIG_NFS_FS=y
1214CONFIG_NFS_V3=y
1215CONFIG_NFS_V3_ACL=y
1216CONFIG_NFS_V4=y
1217CONFIG_ROOT_NFS=y
1218# CONFIG_NFSD is not set
1219CONFIG_LOCKD=y
1220CONFIG_LOCKD_V4=y
1221CONFIG_NFS_ACL_SUPPORT=y
1222CONFIG_NFS_COMMON=y
1223CONFIG_SUNRPC=y
1224CONFIG_SUNRPC_GSS=y
1225CONFIG_RPCSEC_GSS_KRB5=y
1226# CONFIG_RPCSEC_GSS_SPKM3 is not set
1227CONFIG_SMB_FS=m
1228# CONFIG_SMB_NLS_DEFAULT is not set
1229CONFIG_CIFS=m
1230# CONFIG_CIFS_STATS is not set
1231CONFIG_CIFS_WEAK_PW_HASH=y
1232# CONFIG_CIFS_XATTR is not set
1233# CONFIG_CIFS_DEBUG2 is not set
1234# CONFIG_CIFS_EXPERIMENTAL is not set
1235# CONFIG_NCP_FS is not set
1236# CONFIG_CODA_FS is not set
1237# CONFIG_AFS_FS is not set
1238
1239#
1240# Partition Types
1241#
1242CONFIG_PARTITION_ADVANCED=y
1243# CONFIG_ACORN_PARTITION is not set
1244# CONFIG_OSF_PARTITION is not set
1245# CONFIG_AMIGA_PARTITION is not set
1246# CONFIG_ATARI_PARTITION is not set
1247# CONFIG_MAC_PARTITION is not set
1248CONFIG_MSDOS_PARTITION=y
1249# CONFIG_BSD_DISKLABEL is not set
1250# CONFIG_MINIX_SUBPARTITION is not set
1251# CONFIG_SOLARIS_X86_PARTITION is not set
1252# CONFIG_UNIXWARE_DISKLABEL is not set
1253# CONFIG_LDM_PARTITION is not set
1254# CONFIG_SGI_PARTITION is not set
1255# CONFIG_ULTRIX_PARTITION is not set
1256# CONFIG_SUN_PARTITION is not set
1257# CONFIG_KARMA_PARTITION is not set
1258# CONFIG_EFI_PARTITION is not set
1259# CONFIG_SYSV68_PARTITION is not set
1260CONFIG_NLS=m
1261CONFIG_NLS_DEFAULT="iso8859-1"
1262CONFIG_NLS_CODEPAGE_437=m
1263# CONFIG_NLS_CODEPAGE_737 is not set
1264# CONFIG_NLS_CODEPAGE_775 is not set
1265# CONFIG_NLS_CODEPAGE_850 is not set
1266# CONFIG_NLS_CODEPAGE_852 is not set
1267# CONFIG_NLS_CODEPAGE_855 is not set
1268# CONFIG_NLS_CODEPAGE_857 is not set
1269# CONFIG_NLS_CODEPAGE_860 is not set
1270# CONFIG_NLS_CODEPAGE_861 is not set
1271# CONFIG_NLS_CODEPAGE_862 is not set
1272# CONFIG_NLS_CODEPAGE_863 is not set
1273# CONFIG_NLS_CODEPAGE_864 is not set
1274# CONFIG_NLS_CODEPAGE_865 is not set
1275# CONFIG_NLS_CODEPAGE_866 is not set
1276# CONFIG_NLS_CODEPAGE_869 is not set
1277# CONFIG_NLS_CODEPAGE_936 is not set
1278# CONFIG_NLS_CODEPAGE_950 is not set
1279# CONFIG_NLS_CODEPAGE_932 is not set
1280# CONFIG_NLS_CODEPAGE_949 is not set
1281# CONFIG_NLS_CODEPAGE_874 is not set
1282# CONFIG_NLS_ISO8859_8 is not set
1283# CONFIG_NLS_CODEPAGE_1250 is not set
1284# CONFIG_NLS_CODEPAGE_1251 is not set
1285# CONFIG_NLS_ASCII is not set
1286CONFIG_NLS_ISO8859_1=m
1287# CONFIG_NLS_ISO8859_2 is not set
1288# CONFIG_NLS_ISO8859_3 is not set
1289# CONFIG_NLS_ISO8859_4 is not set
1290# CONFIG_NLS_ISO8859_5 is not set
1291# CONFIG_NLS_ISO8859_6 is not set
1292# CONFIG_NLS_ISO8859_7 is not set
1293# CONFIG_NLS_ISO8859_9 is not set
1294# CONFIG_NLS_ISO8859_13 is not set
1295# CONFIG_NLS_ISO8859_14 is not set
1296# CONFIG_NLS_ISO8859_15 is not set
1297# CONFIG_NLS_KOI8_R is not set
1298# CONFIG_NLS_KOI8_U is not set
1299# CONFIG_NLS_UTF8 is not set
1300# CONFIG_DLM is not set
1301
1302#
1303# Kernel hacking
1304#
1305# CONFIG_PRINTK_TIME is not set
1306CONFIG_ENABLE_WARN_DEPRECATED=y
1307CONFIG_ENABLE_MUST_CHECK=y
1308CONFIG_FRAME_WARN=1024
1309# CONFIG_MAGIC_SYSRQ is not set
1310# CONFIG_UNUSED_SYMBOLS is not set
1311CONFIG_DEBUG_FS=y
1312# CONFIG_HEADERS_CHECK is not set
1313CONFIG_DEBUG_KERNEL=y
1314# CONFIG_DEBUG_SHIRQ is not set
1315# CONFIG_DETECT_SOFTLOCKUP is not set
1316# CONFIG_SCHED_DEBUG is not set
1317# CONFIG_SCHEDSTATS is not set
1318# CONFIG_TIMER_STATS is not set
1319# CONFIG_DEBUG_OBJECTS is not set
1320# CONFIG_SLUB_DEBUG_ON is not set
1321# CONFIG_SLUB_STATS is not set
1322# CONFIG_DEBUG_RT_MUTEXES is not set
1323# CONFIG_RT_MUTEX_TESTER is not set
1324# CONFIG_DEBUG_SPINLOCK is not set
1325# CONFIG_DEBUG_MUTEXES is not set
1326# CONFIG_DEBUG_LOCK_ALLOC is not set
1327# CONFIG_PROVE_LOCKING is not set
1328# CONFIG_LOCK_STAT is not set
1329# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1330# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1331# CONFIG_DEBUG_KOBJECT is not set
1332CONFIG_DEBUG_BUGVERBOSE=y
1333# CONFIG_DEBUG_INFO is not set
1334# CONFIG_DEBUG_VM is not set
1335# CONFIG_DEBUG_WRITECOUNT is not set
1336CONFIG_DEBUG_MEMORY_INIT=y
1337# CONFIG_DEBUG_LIST is not set
1338# CONFIG_DEBUG_SG is not set
1339CONFIG_FRAME_POINTER=y
1340# CONFIG_BOOT_PRINTK_DELAY is not set
1341# CONFIG_RCU_TORTURE_TEST is not set
1342# CONFIG_BACKTRACE_SELF_TEST is not set
1343# CONFIG_FAULT_INJECTION is not set
1344# CONFIG_LATENCYTOP is not set
1345CONFIG_SYSCTL_SYSCALL_CHECK=y
1346CONFIG_HAVE_FTRACE=y
1347CONFIG_HAVE_DYNAMIC_FTRACE=y
1348# CONFIG_FTRACE is not set
1349# CONFIG_IRQSOFF_TRACER is not set
1350# CONFIG_SCHED_TRACER is not set
1351# CONFIG_CONTEXT_SWITCH_TRACER is not set
1352# CONFIG_SAMPLES is not set
1353CONFIG_HAVE_ARCH_KGDB=y
1354# CONFIG_KGDB is not set
1355CONFIG_DEBUG_USER=y
1356# CONFIG_DEBUG_ERRORS is not set
1357# CONFIG_DEBUG_STACK_USAGE is not set
1358CONFIG_DEBUG_LL=y
1359# CONFIG_DEBUG_ICEDCC is not set
1360
1361#
1362# Security options
1363#
1364# CONFIG_KEYS is not set
1365# CONFIG_SECURITY is not set
1366# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1367CONFIG_CRYPTO=y
1368
1369#
1370# Crypto core or helper
1371#
1372CONFIG_CRYPTO_ALGAPI=y
1373CONFIG_CRYPTO_BLKCIPHER=y
1374CONFIG_CRYPTO_MANAGER=y
1375# CONFIG_CRYPTO_GF128MUL is not set
1376# CONFIG_CRYPTO_NULL is not set
1377# CONFIG_CRYPTO_CRYPTD is not set
1378# CONFIG_CRYPTO_AUTHENC is not set
1379# CONFIG_CRYPTO_TEST is not set
1380
1381#
1382# Authenticated Encryption with Associated Data
1383#
1384# CONFIG_CRYPTO_CCM is not set
1385# CONFIG_CRYPTO_GCM is not set
1386# CONFIG_CRYPTO_SEQIV is not set
1387
1388#
1389# Block modes
1390#
1391CONFIG_CRYPTO_CBC=y
1392# CONFIG_CRYPTO_CTR is not set
1393# CONFIG_CRYPTO_CTS is not set
1394CONFIG_CRYPTO_ECB=m
1395# CONFIG_CRYPTO_LRW is not set
1396# CONFIG_CRYPTO_PCBC is not set
1397# CONFIG_CRYPTO_XTS is not set
1398
1399#
1400# Hash modes
1401#
1402# CONFIG_CRYPTO_HMAC is not set
1403# CONFIG_CRYPTO_XCBC is not set
1404
1405#
1406# Digest
1407#
1408# CONFIG_CRYPTO_CRC32C is not set
1409# CONFIG_CRYPTO_MD4 is not set
1410CONFIG_CRYPTO_MD5=y
1411CONFIG_CRYPTO_MICHAEL_MIC=m
1412# CONFIG_CRYPTO_RMD128 is not set
1413# CONFIG_CRYPTO_RMD160 is not set
1414# CONFIG_CRYPTO_RMD256 is not set
1415# CONFIG_CRYPTO_RMD320 is not set
1416# CONFIG_CRYPTO_SHA1 is not set
1417# CONFIG_CRYPTO_SHA256 is not set
1418# CONFIG_CRYPTO_SHA512 is not set
1419# CONFIG_CRYPTO_TGR192 is not set
1420# CONFIG_CRYPTO_WP512 is not set
1421
1422#
1423# Ciphers
1424#
1425CONFIG_CRYPTO_AES=m
1426# CONFIG_CRYPTO_ANUBIS is not set
1427CONFIG_CRYPTO_ARC4=m
1428# CONFIG_CRYPTO_BLOWFISH is not set
1429# CONFIG_CRYPTO_CAMELLIA is not set
1430# CONFIG_CRYPTO_CAST5 is not set
1431# CONFIG_CRYPTO_CAST6 is not set
1432CONFIG_CRYPTO_DES=y
1433# CONFIG_CRYPTO_FCRYPT is not set
1434# CONFIG_CRYPTO_KHAZAD is not set
1435# CONFIG_CRYPTO_SALSA20 is not set
1436# CONFIG_CRYPTO_SEED is not set
1437# CONFIG_CRYPTO_SERPENT is not set
1438# CONFIG_CRYPTO_TEA is not set
1439# CONFIG_CRYPTO_TWOFISH is not set
1440
1441#
1442# Compression
1443#
1444# CONFIG_CRYPTO_DEFLATE is not set
1445# CONFIG_CRYPTO_LZO is not set
1446# CONFIG_CRYPTO_HW is not set
1447
1448#
1449# Library routines
1450#
1451CONFIG_BITREVERSE=y
1452# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1453# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1454# CONFIG_CRC_CCITT is not set
1455# CONFIG_CRC16 is not set
1456CONFIG_CRC_T10DIF=y
1457# CONFIG_CRC_ITU_T is not set
1458CONFIG_CRC32=y
1459# CONFIG_CRC7 is not set
1460# CONFIG_LIBCRC32C is not set
1461CONFIG_ZLIB_INFLATE=y
1462CONFIG_ZLIB_DEFLATE=y
1463CONFIG_PLIST=y
1464CONFIG_HAS_IOMEM=y
1465CONFIG_HAS_IOPORT=y
1466CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/n770_defconfig b/arch/arm/configs/n770_defconfig
new file mode 100644
index 000000000000..568ef1770d5f
--- /dev/null
+++ b/arch/arm/configs/n770_defconfig
@@ -0,0 +1,1421 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc8-omap1
4# Fri Jan 18 10:21:06 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39CONFIG_POSIX_MQUEUE=y
40# CONFIG_BSD_PROCESS_ACCT is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_USER_NS is not set
43# CONFIG_PID_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47# CONFIG_CGROUPS is not set
48CONFIG_FAIR_GROUP_SCHED=y
49CONFIG_FAIR_USER_SCHED=y
50# CONFIG_FAIR_CGROUP_SCHED is not set
51CONFIG_SYSFS_DEPRECATED=y
52# CONFIG_RELAY is not set
53# CONFIG_BLK_DEV_INITRD is not set
54CONFIG_CC_OPTIMIZE_FOR_SIZE=y
55CONFIG_SYSCTL=y
56# CONFIG_EMBEDDED is not set
57CONFIG_UID16=y
58CONFIG_SYSCTL_SYSCALL=y
59CONFIG_KALLSYMS=y
60# CONFIG_KALLSYMS_ALL is not set
61# CONFIG_KALLSYMS_EXTRA_PASS is not set
62CONFIG_HOTPLUG=y
63CONFIG_PRINTK=y
64CONFIG_BUG=y
65CONFIG_ELF_CORE=y
66CONFIG_BASE_FULL=y
67CONFIG_FUTEX=y
68CONFIG_ANON_INODES=y
69CONFIG_EPOLL=y
70CONFIG_SIGNALFD=y
71CONFIG_EVENTFD=y
72CONFIG_SHMEM=y
73CONFIG_VM_EVENT_COUNTERS=y
74CONFIG_SLAB=y
75# CONFIG_SLUB is not set
76# CONFIG_SLOB is not set
77CONFIG_SLABINFO=y
78CONFIG_RT_MUTEXES=y
79# CONFIG_TINY_SHMEM is not set
80CONFIG_BASE_SMALL=0
81CONFIG_MODULES=y
82CONFIG_MODULE_UNLOAD=y
83# CONFIG_MODULE_FORCE_UNLOAD is not set
84# CONFIG_MODVERSIONS is not set
85# CONFIG_MODULE_SRCVERSION_ALL is not set
86# CONFIG_KMOD is not set
87CONFIG_BLOCK=y
88# CONFIG_LBD is not set
89# CONFIG_BLK_DEV_IO_TRACE is not set
90# CONFIG_LSF is not set
91# CONFIG_BLK_DEV_BSG is not set
92
93#
94# IO Schedulers
95#
96CONFIG_IOSCHED_NOOP=y
97# CONFIG_IOSCHED_AS is not set
98# CONFIG_IOSCHED_DEADLINE is not set
99CONFIG_IOSCHED_CFQ=y
100# CONFIG_DEFAULT_AS is not set
101# CONFIG_DEFAULT_DEADLINE is not set
102CONFIG_DEFAULT_CFQ=y
103# CONFIG_DEFAULT_NOOP is not set
104CONFIG_DEFAULT_IOSCHED="cfq"
105
106#
107# System Type
108#
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_INTEGRATOR is not set
111# CONFIG_ARCH_REALVIEW is not set
112# CONFIG_ARCH_VERSATILE is not set
113# CONFIG_ARCH_AT91 is not set
114# CONFIG_ARCH_CLPS7500 is not set
115# CONFIG_ARCH_CLPS711X is not set
116# CONFIG_ARCH_CO285 is not set
117# CONFIG_ARCH_EBSA110 is not set
118# CONFIG_ARCH_EP93XX is not set
119# CONFIG_ARCH_FOOTBRIDGE is not set
120# CONFIG_ARCH_NETX is not set
121# CONFIG_ARCH_H720X is not set
122# CONFIG_ARCH_IMX is not set
123# CONFIG_ARCH_IOP13XX is not set
124# CONFIG_ARCH_IOP32X is not set
125# CONFIG_ARCH_IOP33X is not set
126# CONFIG_ARCH_IXP23XX is not set
127# CONFIG_ARCH_IXP2000 is not set
128# CONFIG_ARCH_IXP4XX is not set
129# CONFIG_ARCH_L7200 is not set
130# CONFIG_ARCH_KS8695 is not set
131# CONFIG_ARCH_NS9XXX is not set
132# CONFIG_ARCH_MXC is not set
133# CONFIG_ARCH_PNX4008 is not set
134# CONFIG_ARCH_PXA is not set
135# CONFIG_ARCH_RPC is not set
136# CONFIG_ARCH_SA1100 is not set
137# CONFIG_ARCH_S3C2410 is not set
138# CONFIG_ARCH_SHARK is not set
139# CONFIG_ARCH_LH7A40X is not set
140# CONFIG_ARCH_DAVINCI is not set
141CONFIG_ARCH_OMAP=y
142
143#
144# TI OMAP Implementations
145#
146CONFIG_ARCH_OMAP_OTG=y
147CONFIG_ARCH_OMAP1=y
148# CONFIG_ARCH_OMAP2 is not set
149# CONFIG_ARCH_OMAP3 is not set
150
151#
152# OMAP Feature Selections
153#
154CONFIG_OMAP_DEBUG_SRAM_PATCH=y
155CONFIG_OMAP_RESET_CLOCKS=y
156CONFIG_OMAP_BOOT_TAG=y
157CONFIG_OMAP_BOOT_REASON=y
158CONFIG_OMAP_COMPONENT_VERSION=y
159CONFIG_OMAP_GPIO_SWITCH=y
160# CONFIG_OMAP_MUX is not set
161CONFIG_OMAP_STI=y
162CONFIG_OMAP_STI_CONSOLE=y
163CONFIG_OMAP_MCBSP=y
164CONFIG_OMAP_MMU_FWK=y
165CONFIG_OMAP_MBOX_FWK=y
166# CONFIG_OMAP_MPU_TIMER is not set
167CONFIG_OMAP_32K_TIMER=y
168CONFIG_OMAP_32K_TIMER_HZ=128
169CONFIG_OMAP_DM_TIMER=y
170CONFIG_OMAP_LL_DEBUG_UART1=y
171# CONFIG_OMAP_LL_DEBUG_UART2 is not set
172# CONFIG_OMAP_LL_DEBUG_UART3 is not set
173
174#
175# OMAP Core Type
176#
177# CONFIG_ARCH_OMAP730 is not set
178# CONFIG_ARCH_OMAP15XX is not set
179CONFIG_ARCH_OMAP16XX=y
180
181#
182# OMAP Board Type
183#
184# CONFIG_MACH_OMAP_INNOVATOR is not set
185# CONFIG_MACH_OMAP_H2 is not set
186# CONFIG_MACH_OMAP_H3 is not set
187# CONFIG_MACH_OMAP_OSK is not set
188CONFIG_MACH_NOKIA770=y
189# CONFIG_MACH_OMAP_GENERIC is not set
190
191#
192# OMAP CPU Speed
193#
194CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
195CONFIG_OMAP_ARM_216MHZ=y
196# CONFIG_OMAP_ARM_192MHZ is not set
197# CONFIG_OMAP_ARM_168MHZ is not set
198# CONFIG_OMAP_ARM_120MHZ is not set
199# CONFIG_OMAP_ARM_60MHZ is not set
200# CONFIG_OMAP_ARM_30MHZ is not set
201
202#
203# Boot options
204#
205
206#
207# Power management
208#
209
210#
211# Processor Type
212#
213CONFIG_CPU_32=y
214CONFIG_CPU_ARM926T=y
215CONFIG_CPU_32v5=y
216CONFIG_CPU_ABRT_EV5TJ=y
217CONFIG_CPU_PABRT_NOIFAR=y
218CONFIG_CPU_CACHE_VIVT=y
219CONFIG_CPU_COPY_V4WB=y
220CONFIG_CPU_TLB_V4WBI=y
221CONFIG_CPU_CP15=y
222CONFIG_CPU_CP15_MMU=y
223
224#
225# Processor Features
226#
227CONFIG_ARM_THUMB=y
228# CONFIG_CPU_ICACHE_DISABLE is not set
229# CONFIG_CPU_DCACHE_DISABLE is not set
230# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
231# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
232# CONFIG_OUTER_CACHE is not set
233
234#
235# Bus support
236#
237# CONFIG_PCI_SYSCALL is not set
238# CONFIG_ARCH_SUPPORTS_MSI is not set
239# CONFIG_PCCARD is not set
240
241#
242# Kernel Features
243#
244# CONFIG_TICK_ONESHOT is not set
245# CONFIG_NO_HZ is not set
246# CONFIG_HIGH_RES_TIMERS is not set
247CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
248# CONFIG_PREEMPT is not set
249CONFIG_HZ=128
250# CONFIG_AEABI is not set
251# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
252CONFIG_SELECT_MEMORY_MODEL=y
253CONFIG_FLATMEM_MANUAL=y
254# CONFIG_DISCONTIGMEM_MANUAL is not set
255# CONFIG_SPARSEMEM_MANUAL is not set
256CONFIG_FLATMEM=y
257CONFIG_FLAT_NODE_MEM_MAP=y
258# CONFIG_SPARSEMEM_STATIC is not set
259# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
260CONFIG_SPLIT_PTLOCK_CPUS=4096
261# CONFIG_RESOURCES_64BIT is not set
262CONFIG_ZONE_DMA_FLAG=1
263CONFIG_BOUNCE=y
264CONFIG_VIRT_TO_BUS=y
265# CONFIG_LEDS is not set
266CONFIG_ALIGNMENT_TRAP=y
267
268#
269# Boot options
270#
271CONFIG_ZBOOT_ROM_TEXT=0x0
272CONFIG_ZBOOT_ROM_BSS=0x0
273CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time"
274# CONFIG_XIP_KERNEL is not set
275# CONFIG_KEXEC is not set
276
277#
278# CPU Frequency scaling
279#
280# CONFIG_CPU_FREQ is not set
281
282#
283# Floating point emulation
284#
285
286#
287# At least one emulation must be selected
288#
289CONFIG_FPE_NWFPE=y
290# CONFIG_FPE_NWFPE_XP is not set
291# CONFIG_FPE_FASTFPE is not set
292# CONFIG_VFP is not set
293
294#
295# Userspace binary formats
296#
297CONFIG_BINFMT_ELF=y
298# CONFIG_BINFMT_AOUT is not set
299# CONFIG_BINFMT_MISC is not set
300# CONFIG_ARTHUR is not set
301
302#
303# Power management options
304#
305CONFIG_PM=y
306# CONFIG_PM_LEGACY is not set
307# CONFIG_PM_DEBUG is not set
308CONFIG_PM_SLEEP=y
309CONFIG_SUSPEND_UP_POSSIBLE=y
310CONFIG_SUSPEND=y
311# CONFIG_APM_EMULATION is not set
312
313#
314# Networking
315#
316CONFIG_NET=y
317
318#
319# Networking options
320#
321CONFIG_PACKET=y
322# CONFIG_PACKET_MMAP is not set
323CONFIG_UNIX=y
324CONFIG_XFRM=y
325# CONFIG_XFRM_USER is not set
326# CONFIG_XFRM_SUB_POLICY is not set
327# CONFIG_XFRM_MIGRATE is not set
328# CONFIG_NET_KEY is not set
329CONFIG_INET=y
330CONFIG_IP_MULTICAST=y
331# CONFIG_IP_ADVANCED_ROUTER is not set
332CONFIG_IP_FIB_HASH=y
333CONFIG_IP_PNP=y
334CONFIG_IP_PNP_DHCP=y
335CONFIG_IP_PNP_BOOTP=y
336# CONFIG_IP_PNP_RARP is not set
337# CONFIG_NET_IPIP is not set
338# CONFIG_NET_IPGRE is not set
339# CONFIG_IP_MROUTE is not set
340# CONFIG_ARPD is not set
341# CONFIG_SYN_COOKIES is not set
342# CONFIG_INET_AH is not set
343# CONFIG_INET_ESP is not set
344# CONFIG_INET_IPCOMP is not set
345# CONFIG_INET_XFRM_TUNNEL is not set
346# CONFIG_INET_TUNNEL is not set
347CONFIG_INET_XFRM_MODE_TRANSPORT=y
348CONFIG_INET_XFRM_MODE_TUNNEL=y
349CONFIG_INET_XFRM_MODE_BEET=y
350# CONFIG_INET_LRO is not set
351# CONFIG_INET_DIAG is not set
352# CONFIG_TCP_CONG_ADVANCED is not set
353CONFIG_TCP_CONG_CUBIC=y
354CONFIG_DEFAULT_TCP_CONG="cubic"
355# CONFIG_TCP_MD5SIG is not set
356# CONFIG_IP_VS is not set
357# CONFIG_IPV6 is not set
358# CONFIG_INET6_XFRM_TUNNEL is not set
359# CONFIG_INET6_TUNNEL is not set
360# CONFIG_NETLABEL is not set
361# CONFIG_NETWORK_SECMARK is not set
362CONFIG_NETFILTER=y
363# CONFIG_NETFILTER_DEBUG is not set
364
365#
366# Core Netfilter Configuration
367#
368CONFIG_NETFILTER_NETLINK=y
369# CONFIG_NETFILTER_NETLINK_QUEUE is not set
370# CONFIG_NETFILTER_NETLINK_LOG is not set
371# CONFIG_NF_CONNTRACK_ENABLED is not set
372# CONFIG_NF_CONNTRACK is not set
373# CONFIG_NETFILTER_XTABLES is not set
374
375#
376# IP: Netfilter Configuration
377#
378# CONFIG_IP_NF_QUEUE is not set
379# CONFIG_IP_NF_IPTABLES is not set
380# CONFIG_IP_NF_ARPTABLES is not set
381# CONFIG_IP_DCCP is not set
382# CONFIG_IP_SCTP is not set
383# CONFIG_TIPC is not set
384# CONFIG_ATM is not set
385# CONFIG_BRIDGE is not set
386# CONFIG_VLAN_8021Q is not set
387# CONFIG_DECNET is not set
388# CONFIG_LLC2 is not set
389# CONFIG_IPX is not set
390# CONFIG_ATALK is not set
391# CONFIG_X25 is not set
392# CONFIG_LAPB is not set
393# CONFIG_ECONET is not set
394# CONFIG_WAN_ROUTER is not set
395# CONFIG_NET_SCHED is not set
396
397#
398# Network testing
399#
400# CONFIG_NET_PKTGEN is not set
401# CONFIG_HAMRADIO is not set
402# CONFIG_IRDA is not set
403CONFIG_BT=y
404CONFIG_BT_L2CAP=y
405CONFIG_BT_SCO=y
406CONFIG_BT_RFCOMM=y
407CONFIG_BT_RFCOMM_TTY=y
408CONFIG_BT_BNEP=y
409# CONFIG_BT_BNEP_MC_FILTER is not set
410# CONFIG_BT_BNEP_PROTO_FILTER is not set
411CONFIG_BT_HIDP=y
412
413#
414# Bluetooth device drivers
415#
416# CONFIG_BT_HCIUSB is not set
417# CONFIG_BT_HCIBTUSB is not set
418# CONFIG_BT_HCIBTSDIO is not set
419# CONFIG_BT_HCIUART is not set
420# CONFIG_BT_HCIBCM203X is not set
421# CONFIG_BT_HCIBPA10X is not set
422# CONFIG_BT_HCIBFUSB is not set
423CONFIG_BT_HCIBRF6150=y
424# CONFIG_BT_HCIH4P is not set
425# CONFIG_BT_HCIVHCI is not set
426# CONFIG_AF_RXRPC is not set
427
428#
429# Wireless
430#
431# CONFIG_CFG80211 is not set
432# CONFIG_WIRELESS_EXT is not set
433# CONFIG_MAC80211 is not set
434# CONFIG_IEEE80211 is not set
435# CONFIG_RFKILL is not set
436# CONFIG_NET_9P is not set
437
438#
439# Device Drivers
440#
441
442#
443# Generic Driver Options
444#
445CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
446CONFIG_STANDALONE=y
447CONFIG_PREVENT_FIRMWARE_BUILD=y
448CONFIG_FW_LOADER=y
449# CONFIG_DEBUG_DRIVER is not set
450# CONFIG_DEBUG_DEVRES is not set
451# CONFIG_SYS_HYPERVISOR is not set
452CONFIG_CONNECTOR=y
453# CONFIG_PROC_EVENTS is not set
454CONFIG_MTD=y
455# CONFIG_MTD_DEBUG is not set
456# CONFIG_MTD_CONCAT is not set
457CONFIG_MTD_PARTITIONS=y
458# CONFIG_MTD_REDBOOT_PARTS is not set
459CONFIG_MTD_CMDLINE_PARTS=y
460# CONFIG_MTD_AFS_PARTS is not set
461
462#
463# User Modules And Translation Layers
464#
465CONFIG_MTD_CHAR=y
466CONFIG_MTD_BLKDEVS=y
467CONFIG_MTD_BLOCK=y
468# CONFIG_FTL is not set
469# CONFIG_NFTL is not set
470# CONFIG_INFTL is not set
471# CONFIG_RFD_FTL is not set
472# CONFIG_SSFDC is not set
473# CONFIG_MTD_OOPS is not set
474
475#
476# RAM/ROM/Flash chip drivers
477#
478# CONFIG_MTD_CFI is not set
479# CONFIG_MTD_JEDECPROBE is not set
480CONFIG_MTD_MAP_BANK_WIDTH_1=y
481CONFIG_MTD_MAP_BANK_WIDTH_2=y
482CONFIG_MTD_MAP_BANK_WIDTH_4=y
483# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
484# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
485# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
486CONFIG_MTD_CFI_I1=y
487CONFIG_MTD_CFI_I2=y
488# CONFIG_MTD_CFI_I4 is not set
489# CONFIG_MTD_CFI_I8 is not set
490# CONFIG_MTD_RAM is not set
491# CONFIG_MTD_ROM is not set
492# CONFIG_MTD_ABSENT is not set
493
494#
495# Mapping drivers for chip access
496#
497# CONFIG_MTD_COMPLEX_MAPPINGS is not set
498# CONFIG_MTD_PLATRAM is not set
499
500#
501# Self-contained MTD device drivers
502#
503# CONFIG_MTD_DATAFLASH is not set
504# CONFIG_MTD_M25P80 is not set
505# CONFIG_MTD_SLRAM is not set
506# CONFIG_MTD_PHRAM is not set
507# CONFIG_MTD_MTDRAM is not set
508# CONFIG_MTD_BLOCK2MTD is not set
509
510#
511# Disk-On-Chip Device Drivers
512#
513# CONFIG_MTD_DOC2000 is not set
514# CONFIG_MTD_DOC2001 is not set
515# CONFIG_MTD_DOC2001PLUS is not set
516CONFIG_MTD_NAND=y
517# CONFIG_MTD_NAND_VERIFY_WRITE is not set
518# CONFIG_MTD_NAND_ECC_SMC is not set
519# CONFIG_MTD_NAND_MUSEUM_IDS is not set
520CONFIG_MTD_NAND_OMAP_HW=y
521CONFIG_MTD_NAND_IDS=y
522# CONFIG_MTD_NAND_DISKONCHIP is not set
523# CONFIG_MTD_NAND_NANDSIM is not set
524# CONFIG_MTD_NAND_PLATFORM is not set
525# CONFIG_MTD_ALAUDA is not set
526# CONFIG_MTD_ONENAND is not set
527
528#
529# UBI - Unsorted block images
530#
531# CONFIG_MTD_UBI is not set
532# CONFIG_PARPORT is not set
533CONFIG_BLK_DEV=y
534# CONFIG_BLK_DEV_COW_COMMON is not set
535CONFIG_BLK_DEV_LOOP=y
536# CONFIG_BLK_DEV_CRYPTOLOOP is not set
537# CONFIG_BLK_DEV_NBD is not set
538# CONFIG_BLK_DEV_UB is not set
539# CONFIG_BLK_DEV_RAM is not set
540# CONFIG_CDROM_PKTCDVD is not set
541# CONFIG_ATA_OVER_ETH is not set
542CONFIG_MISC_DEVICES=y
543# CONFIG_EEPROM_93CX6 is not set
544
545#
546# SCSI device support
547#
548# CONFIG_RAID_ATTRS is not set
549CONFIG_SCSI=y
550CONFIG_SCSI_DMA=y
551# CONFIG_SCSI_TGT is not set
552# CONFIG_SCSI_NETLINK is not set
553# CONFIG_SCSI_PROC_FS is not set
554
555#
556# SCSI support type (disk, tape, CD-ROM)
557#
558CONFIG_BLK_DEV_SD=y
559# CONFIG_CHR_DEV_ST is not set
560# CONFIG_CHR_DEV_OSST is not set
561# CONFIG_BLK_DEV_SR is not set
562# CONFIG_CHR_DEV_SG is not set
563# CONFIG_CHR_DEV_SCH is not set
564
565#
566# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
567#
568# CONFIG_SCSI_MULTI_LUN is not set
569# CONFIG_SCSI_CONSTANTS is not set
570# CONFIG_SCSI_LOGGING is not set
571# CONFIG_SCSI_SCAN_ASYNC is not set
572CONFIG_SCSI_WAIT_SCAN=m
573
574#
575# SCSI Transports
576#
577# CONFIG_SCSI_SPI_ATTRS is not set
578# CONFIG_SCSI_FC_ATTRS is not set
579# CONFIG_SCSI_ISCSI_ATTRS is not set
580# CONFIG_SCSI_SAS_LIBSAS is not set
581# CONFIG_SCSI_SRP_ATTRS is not set
582CONFIG_SCSI_LOWLEVEL=y
583# CONFIG_ISCSI_TCP is not set
584# CONFIG_SCSI_DEBUG is not set
585# CONFIG_ATA is not set
586# CONFIG_MD is not set
587CONFIG_NETDEVICES=y
588# CONFIG_NETDEVICES_MULTIQUEUE is not set
589# CONFIG_DUMMY is not set
590# CONFIG_BONDING is not set
591# CONFIG_MACVLAN is not set
592# CONFIG_EQUALIZER is not set
593CONFIG_TUN=y
594# CONFIG_VETH is not set
595# CONFIG_PHYLIB is not set
596CONFIG_NET_ETHERNET=y
597CONFIG_MII=y
598# CONFIG_AX88796 is not set
599# CONFIG_SMC91X is not set
600# CONFIG_DM9000 is not set
601# CONFIG_IBM_NEW_EMAC_ZMII is not set
602# CONFIG_IBM_NEW_EMAC_RGMII is not set
603# CONFIG_IBM_NEW_EMAC_TAH is not set
604# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
605# CONFIG_B44 is not set
606CONFIG_NETDEV_1000=y
607CONFIG_NETDEV_10000=y
608
609#
610# Wireless LAN
611#
612# CONFIG_WLAN_PRE80211 is not set
613# CONFIG_WLAN_80211 is not set
614
615#
616# USB Network Adapters
617#
618# CONFIG_USB_CATC is not set
619# CONFIG_USB_KAWETH is not set
620# CONFIG_USB_PEGASUS is not set
621# CONFIG_USB_RTL8150 is not set
622CONFIG_USB_USBNET=y
623# CONFIG_USB_NET_AX8817X is not set
624CONFIG_USB_NET_CDCETHER=y
625# CONFIG_USB_NET_DM9601 is not set
626# CONFIG_USB_NET_GL620A is not set
627CONFIG_USB_NET_NET1080=y
628# CONFIG_USB_NET_PLUSB is not set
629# CONFIG_USB_NET_MCS7830 is not set
630# CONFIG_USB_NET_RNDIS_HOST is not set
631# CONFIG_USB_NET_CDC_SUBSET is not set
632CONFIG_USB_NET_ZAURUS=y
633# CONFIG_WAN is not set
634CONFIG_PPP=y
635# CONFIG_PPP_MULTILINK is not set
636CONFIG_PPP_FILTER=y
637CONFIG_PPP_ASYNC=y
638# CONFIG_PPP_SYNC_TTY is not set
639CONFIG_PPP_DEFLATE=y
640CONFIG_PPP_BSDCOMP=y
641# CONFIG_PPP_MPPE is not set
642# CONFIG_PPPOE is not set
643# CONFIG_PPPOL2TP is not set
644# CONFIG_SLIP is not set
645CONFIG_SLHC=y
646# CONFIG_SHAPER is not set
647# CONFIG_NETCONSOLE is not set
648# CONFIG_NETPOLL is not set
649# CONFIG_NET_POLL_CONTROLLER is not set
650# CONFIG_ISDN is not set
651
652#
653# Input device support
654#
655CONFIG_INPUT=y
656# CONFIG_INPUT_FF_MEMLESS is not set
657# CONFIG_INPUT_POLLDEV is not set
658
659#
660# Userland interfaces
661#
662CONFIG_INPUT_MOUSEDEV=y
663# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
664CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
665CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
666# CONFIG_INPUT_JOYDEV is not set
667CONFIG_INPUT_EVDEV=y
668# CONFIG_INPUT_EVBUG is not set
669
670#
671# Input Device Drivers
672#
673CONFIG_INPUT_KEYBOARD=y
674# CONFIG_KEYBOARD_ATKBD is not set
675# CONFIG_KEYBOARD_SUNKBD is not set
676# CONFIG_KEYBOARD_LKKBD is not set
677# CONFIG_KEYBOARD_XTKBD is not set
678# CONFIG_KEYBOARD_NEWTON is not set
679# CONFIG_KEYBOARD_STOWAWAY is not set
680CONFIG_KEYBOARD_OMAP=y
681# CONFIG_KEYBOARD_GPIO is not set
682# CONFIG_INPUT_MOUSE is not set
683# CONFIG_INPUT_JOYSTICK is not set
684# CONFIG_INPUT_TABLET is not set
685CONFIG_INPUT_TOUCHSCREEN=y
686CONFIG_TOUCHSCREEN_ADS7846=y
687# CONFIG_TOUCHSCREEN_FUJITSU is not set
688# CONFIG_TOUCHSCREEN_GUNZE is not set
689# CONFIG_TOUCHSCREEN_ELO is not set
690# CONFIG_TOUCHSCREEN_MTOUCH is not set
691# CONFIG_TOUCHSCREEN_MK712 is not set
692# CONFIG_TOUCHSCREEN_PENMOUNT is not set
693# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
694# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
695# CONFIG_TOUCHSCREEN_UCB1400 is not set
696# CONFIG_TOUCHSCREEN_TSC2102 is not set
697# CONFIG_TOUCHSCREEN_TSC210X is not set
698# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
699# CONFIG_INPUT_MISC is not set
700
701#
702# Hardware I/O ports
703#
704CONFIG_SERIO=y
705CONFIG_SERIO_SERPORT=y
706# CONFIG_SERIO_RAW is not set
707# CONFIG_GAMEPORT is not set
708
709#
710# Character devices
711#
712CONFIG_VT=y
713CONFIG_VT_CONSOLE=y
714CONFIG_HW_CONSOLE=y
715# CONFIG_VT_HW_CONSOLE_BINDING is not set
716# CONFIG_SERIAL_NONSTANDARD is not set
717
718#
719# Serial drivers
720#
721CONFIG_SERIAL_8250=y
722CONFIG_SERIAL_8250_CONSOLE=y
723CONFIG_SERIAL_8250_NR_UARTS=4
724CONFIG_SERIAL_8250_RUNTIME_UARTS=4
725# CONFIG_SERIAL_8250_EXTENDED is not set
726
727#
728# Non-8250 serial port support
729#
730CONFIG_SERIAL_CORE=y
731CONFIG_SERIAL_CORE_CONSOLE=y
732CONFIG_UNIX98_PTYS=y
733# CONFIG_LEGACY_PTYS is not set
734# CONFIG_IPMI_HANDLER is not set
735CONFIG_HW_RANDOM=m
736CONFIG_HW_RANDOM_OMAP=m
737# CONFIG_NVRAM is not set
738# CONFIG_R3964 is not set
739# CONFIG_RAW_DRIVER is not set
740# CONFIG_TCG_TPM is not set
741CONFIG_I2C=y
742CONFIG_I2C_BOARDINFO=y
743# CONFIG_I2C_CHARDEV is not set
744
745#
746# I2C Algorithms
747#
748# CONFIG_I2C_ALGOBIT is not set
749# CONFIG_I2C_ALGOPCF is not set
750# CONFIG_I2C_ALGOPCA is not set
751
752#
753# I2C Hardware Bus support
754#
755# CONFIG_I2C_GPIO is not set
756# CONFIG_I2C_OCORES is not set
757CONFIG_I2C_OMAP=y
758# CONFIG_I2C_PARPORT_LIGHT is not set
759# CONFIG_I2C_SIMTEC is not set
760# CONFIG_I2C_TAOS_EVM is not set
761# CONFIG_I2C_STUB is not set
762# CONFIG_I2C_TINY_USB is not set
763
764#
765# Miscellaneous I2C Chip support
766#
767# CONFIG_SENSORS_DS1337 is not set
768# CONFIG_SENSORS_DS1374 is not set
769# CONFIG_DS1682 is not set
770# CONFIG_SENSORS_EEPROM is not set
771# CONFIG_SENSORS_PCF8574 is not set
772# CONFIG_SENSORS_PCA9539 is not set
773# CONFIG_SENSORS_PCF8591 is not set
774# CONFIG_ISP1301_OMAP is not set
775# CONFIG_TPS65010 is not set
776CONFIG_SENSORS_TLV320AIC23=y
777# CONFIG_GPIOEXPANDER_OMAP is not set
778# CONFIG_SENSORS_MAX6875 is not set
779# CONFIG_SENSORS_TSL2550 is not set
780# CONFIG_I2C_DEBUG_CORE is not set
781# CONFIG_I2C_DEBUG_ALGO is not set
782# CONFIG_I2C_DEBUG_BUS is not set
783# CONFIG_I2C_DEBUG_CHIP is not set
784
785#
786# SPI support
787#
788CONFIG_SPI=y
789# CONFIG_SPI_DEBUG is not set
790CONFIG_SPI_MASTER=y
791
792#
793# SPI Master Controller Drivers
794#
795CONFIG_SPI_BITBANG=y
796CONFIG_SPI_OMAP_UWIRE=y
797
798#
799# SPI Protocol Masters
800#
801# CONFIG_SPI_AT25 is not set
802# CONFIG_SPI_TSC2101 is not set
803# CONFIG_SPI_TSC2102 is not set
804# CONFIG_SPI_TSC210X is not set
805# CONFIG_SPI_TSC2301 is not set
806# CONFIG_SPI_SPIDEV is not set
807# CONFIG_SPI_TLE62X0 is not set
808# CONFIG_W1 is not set
809# CONFIG_POWER_SUPPLY is not set
810# CONFIG_HWMON is not set
811CONFIG_WATCHDOG=y
812CONFIG_WATCHDOG_NOWAYOUT=y
813
814#
815# Watchdog Device Drivers
816#
817# CONFIG_SOFT_WATCHDOG is not set
818CONFIG_OMAP_WATCHDOG=y
819
820#
821# USB-based Watchdog Cards
822#
823# CONFIG_USBPCWATCHDOG is not set
824
825#
826# Sonics Silicon Backplane
827#
828CONFIG_SSB_POSSIBLE=y
829# CONFIG_SSB is not set
830
831#
832# Multifunction device drivers
833#
834# CONFIG_MFD_SM501 is not set
835
836#
837# Multimedia devices
838#
839# CONFIG_VIDEO_DEV is not set
840# CONFIG_DVB_CORE is not set
841CONFIG_DAB=y
842# CONFIG_USB_DABUSB is not set
843
844#
845# Graphics support
846#
847# CONFIG_VGASTATE is not set
848# CONFIG_VIDEO_OUTPUT_CONTROL is not set
849CONFIG_FB=y
850# CONFIG_FIRMWARE_EDID is not set
851# CONFIG_FB_DDC is not set
852CONFIG_FB_CFB_FILLRECT=y
853CONFIG_FB_CFB_COPYAREA=y
854CONFIG_FB_CFB_IMAGEBLIT=y
855# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
856# CONFIG_FB_SYS_FILLRECT is not set
857# CONFIG_FB_SYS_COPYAREA is not set
858# CONFIG_FB_SYS_IMAGEBLIT is not set
859# CONFIG_FB_SYS_FOPS is not set
860CONFIG_FB_DEFERRED_IO=y
861# CONFIG_FB_SVGALIB is not set
862# CONFIG_FB_MACMODES is not set
863# CONFIG_FB_BACKLIGHT is not set
864# CONFIG_FB_MODE_HELPERS is not set
865# CONFIG_FB_TILEBLITTING is not set
866
867#
868# Frame buffer hardware drivers
869#
870# CONFIG_FB_UVESA is not set
871# CONFIG_FB_S1D13XXX is not set
872# CONFIG_FB_VIRTUAL is not set
873CONFIG_FB_OMAP=y
874CONFIG_FB_OMAP_LCDC_EXTERNAL=y
875CONFIG_FB_OMAP_LCDC_HWA742=y
876# CONFIG_FB_OMAP_LCDC_BLIZZARD is not set
877CONFIG_FB_OMAP_MANUAL_UPDATE=y
878# CONFIG_FB_OMAP_LCD_MIPID is not set
879# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
880CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
881# CONFIG_FB_OMAP_DMA_TUNE is not set
882# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
883
884#
885# Display device support
886#
887# CONFIG_DISPLAY_SUPPORT is not set
888
889#
890# Console display driver support
891#
892# CONFIG_VGA_CONSOLE is not set
893CONFIG_DUMMY_CONSOLE=y
894# CONFIG_FRAMEBUFFER_CONSOLE is not set
895# CONFIG_LOGO is not set
896
897#
898# Sound
899#
900CONFIG_SOUND=y
901
902#
903# Advanced Linux Sound Architecture
904#
905CONFIG_SND=y
906CONFIG_SND_TIMER=y
907CONFIG_SND_PCM=y
908CONFIG_SND_HWDEP=y
909CONFIG_SND_RAWMIDI=y
910# CONFIG_SND_SEQUENCER is not set
911# CONFIG_SND_MIXER_OSS is not set
912# CONFIG_SND_PCM_OSS is not set
913# CONFIG_SND_DYNAMIC_MINORS is not set
914# CONFIG_SND_SUPPORT_OLD_API is not set
915CONFIG_SND_VERBOSE_PROCFS=y
916# CONFIG_SND_VERBOSE_PRINTK is not set
917# CONFIG_SND_DEBUG is not set
918
919#
920# Generic devices
921#
922CONFIG_SND_DUMMY=y
923# CONFIG_SND_MTPAV is not set
924# CONFIG_SND_SERIAL_U16550 is not set
925# CONFIG_SND_MPU401 is not set
926
927#
928# ALSA ARM devices
929#
930CONFIG_SND_OMAP_AIC23=y
931# CONFIG_SND_OMAP_TSC2101 is not set
932# CONFIG_SND_SX1 is not set
933# CONFIG_SND_OMAP_TSC2102 is not set
934# CONFIG_SND_OMAP24XX_EAC is not set
935
936#
937# SPI devices
938#
939
940#
941# USB devices
942#
943CONFIG_SND_USB_AUDIO=y
944# CONFIG_SND_USB_CAIAQ is not set
945
946#
947# System on Chip audio support
948#
949# CONFIG_SND_SOC is not set
950
951#
952# SoC Audio support for SuperH
953#
954
955#
956# Open Sound System
957#
958# CONFIG_SOUND_PRIME is not set
959CONFIG_HID_SUPPORT=y
960CONFIG_HID=y
961CONFIG_HID_DEBUG=y
962# CONFIG_HIDRAW is not set
963
964#
965# USB Input Devices
966#
967CONFIG_USB_HID=y
968# CONFIG_USB_HIDINPUT_POWERBOOK is not set
969# CONFIG_HID_FF is not set
970# CONFIG_USB_HIDDEV is not set
971CONFIG_USB_SUPPORT=y
972CONFIG_USB_ARCH_HAS_HCD=y
973CONFIG_USB_ARCH_HAS_OHCI=y
974# CONFIG_USB_ARCH_HAS_EHCI is not set
975CONFIG_USB=y
976# CONFIG_USB_DEBUG is not set
977
978#
979# Miscellaneous USB options
980#
981CONFIG_USB_DEVICEFS=y
982CONFIG_USB_DEVICE_CLASS=y
983# CONFIG_USB_DYNAMIC_MINORS is not set
984CONFIG_USB_SUSPEND=y
985# CONFIG_USB_PERSIST is not set
986CONFIG_USB_OTG=y
987# CONFIG_USB_OTG_WHITELIST is not set
988# CONFIG_USB_OTG_BLACKLIST_HUB is not set
989
990#
991# USB Host Controller Drivers
992#
993# CONFIG_USB_ISP116X_HCD is not set
994CONFIG_USB_OHCI_HCD=y
995# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
996# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
997CONFIG_USB_OHCI_LITTLE_ENDIAN=y
998# CONFIG_USB_SL811_HCD is not set
999# CONFIG_USB_R8A66597_HCD is not set
1000# CONFIG_USB_MUSB_HDRC is not set
1001# CONFIG_USB_GADGET_MUSB_HDRC is not set
1002
1003#
1004# USB Device Class drivers
1005#
1006# CONFIG_USB_ACM is not set
1007# CONFIG_USB_PRINTER is not set
1008
1009#
1010# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1011#
1012
1013#
1014# may also be needed; see USB_STORAGE Help for more information
1015#
1016CONFIG_USB_STORAGE=y
1017# CONFIG_USB_STORAGE_DEBUG is not set
1018# CONFIG_USB_STORAGE_DATAFAB is not set
1019# CONFIG_USB_STORAGE_FREECOM is not set
1020# CONFIG_USB_STORAGE_ISD200 is not set
1021# CONFIG_USB_STORAGE_DPCM is not set
1022# CONFIG_USB_STORAGE_USBAT is not set
1023# CONFIG_USB_STORAGE_SDDR09 is not set
1024# CONFIG_USB_STORAGE_SDDR55 is not set
1025# CONFIG_USB_STORAGE_JUMPSHOT is not set
1026# CONFIG_USB_STORAGE_ALAUDA is not set
1027# CONFIG_USB_STORAGE_KARMA is not set
1028# CONFIG_USB_LIBUSUAL is not set
1029
1030#
1031# USB Imaging devices
1032#
1033# CONFIG_USB_MDC800 is not set
1034# CONFIG_USB_MICROTEK is not set
1035# CONFIG_USB_MON is not set
1036
1037#
1038# USB port drivers
1039#
1040
1041#
1042# USB Serial Converter support
1043#
1044CONFIG_USB_SERIAL=y
1045CONFIG_USB_SERIAL_CONSOLE=y
1046# CONFIG_USB_SERIAL_GENERIC is not set
1047# CONFIG_USB_SERIAL_AIRCABLE is not set
1048# CONFIG_USB_SERIAL_AIRPRIME is not set
1049# CONFIG_USB_SERIAL_ARK3116 is not set
1050# CONFIG_USB_SERIAL_BELKIN is not set
1051# CONFIG_USB_SERIAL_CH341 is not set
1052# CONFIG_USB_SERIAL_WHITEHEAT is not set
1053# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1054# CONFIG_USB_SERIAL_CP2101 is not set
1055# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1056# CONFIG_USB_SERIAL_EMPEG is not set
1057# CONFIG_USB_SERIAL_FTDI_SIO is not set
1058# CONFIG_USB_SERIAL_FUNSOFT is not set
1059# CONFIG_USB_SERIAL_VISOR is not set
1060# CONFIG_USB_SERIAL_IPAQ is not set
1061# CONFIG_USB_SERIAL_IR is not set
1062# CONFIG_USB_SERIAL_EDGEPORT is not set
1063# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1064# CONFIG_USB_SERIAL_GARMIN is not set
1065# CONFIG_USB_SERIAL_IPW is not set
1066# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
1067# CONFIG_USB_SERIAL_KEYSPAN is not set
1068# CONFIG_USB_SERIAL_KLSI is not set
1069# CONFIG_USB_SERIAL_KOBIL_SCT is not set
1070# CONFIG_USB_SERIAL_MCT_U232 is not set
1071# CONFIG_USB_SERIAL_MOS7720 is not set
1072# CONFIG_USB_SERIAL_MOS7840 is not set
1073# CONFIG_USB_SERIAL_NAVMAN is not set
1074CONFIG_USB_SERIAL_PL2303=y
1075# CONFIG_USB_SERIAL_OTI6858 is not set
1076# CONFIG_USB_SERIAL_HP4X is not set
1077# CONFIG_USB_SERIAL_SAFE is not set
1078# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1079# CONFIG_USB_SERIAL_TI is not set
1080# CONFIG_USB_SERIAL_CYBERJACK is not set
1081# CONFIG_USB_SERIAL_XIRCOM is not set
1082# CONFIG_USB_SERIAL_OPTION is not set
1083# CONFIG_USB_SERIAL_OMNINET is not set
1084# CONFIG_USB_SERIAL_DEBUG is not set
1085
1086#
1087# USB Miscellaneous drivers
1088#
1089# CONFIG_USB_EMI62 is not set
1090# CONFIG_USB_EMI26 is not set
1091# CONFIG_USB_ADUTUX is not set
1092# CONFIG_USB_AUERSWALD is not set
1093# CONFIG_USB_RIO500 is not set
1094# CONFIG_USB_LEGOTOWER is not set
1095# CONFIG_USB_LCD is not set
1096# CONFIG_USB_BERRY_CHARGE is not set
1097# CONFIG_USB_LED is not set
1098# CONFIG_USB_CYPRESS_CY7C63 is not set
1099# CONFIG_USB_CYTHERM is not set
1100# CONFIG_USB_PHIDGET is not set
1101# CONFIG_USB_IDMOUSE is not set
1102# CONFIG_USB_FTDI_ELAN is not set
1103# CONFIG_USB_APPLEDISPLAY is not set
1104# CONFIG_USB_LD is not set
1105# CONFIG_USB_TRANCEVIBRATOR is not set
1106# CONFIG_USB_IOWARRIOR is not set
1107# CONFIG_USB_TEST is not set
1108
1109#
1110# USB DSL modem support
1111#
1112
1113#
1114# USB Gadget Support
1115#
1116CONFIG_USB_GADGET=y
1117# CONFIG_USB_GADGET_DEBUG is not set
1118# CONFIG_USB_GADGET_DEBUG_FILES is not set
1119CONFIG_USB_GADGET_SELECTED=y
1120# CONFIG_USB_GADGET_AMD5536UDC is not set
1121# CONFIG_USB_GADGET_ATMEL_USBA is not set
1122# CONFIG_USB_GADGET_FSL_USB2 is not set
1123# CONFIG_USB_GADGET_NET2280 is not set
1124# CONFIG_USB_GADGET_PXA2XX is not set
1125# CONFIG_USB_GADGET_M66592 is not set
1126# CONFIG_USB_GADGET_GOKU is not set
1127# CONFIG_USB_GADGET_LH7A40X is not set
1128CONFIG_USB_GADGET_OMAP=y
1129CONFIG_USB_OMAP=y
1130# CONFIG_USB_GADGET_S3C2410 is not set
1131# CONFIG_USB_GADGET_AT91 is not set
1132# CONFIG_USB_GADGET_DUMMY_HCD is not set
1133# CONFIG_USB_GADGET_DUALSPEED is not set
1134# CONFIG_USB_ZERO is not set
1135CONFIG_USB_ETH=m
1136CONFIG_USB_ETH_RNDIS=y
1137# CONFIG_USB_GADGETFS is not set
1138CONFIG_USB_FILE_STORAGE=m
1139CONFIG_USB_FILE_STORAGE_TEST=y
1140# CONFIG_USB_G_SERIAL is not set
1141# CONFIG_USB_MIDI_GADGET is not set
1142CONFIG_MMC=y
1143# CONFIG_MMC_DEBUG is not set
1144# CONFIG_MMC_UNSAFE_RESUME is not set
1145
1146#
1147# MMC/SD Card Drivers
1148#
1149CONFIG_MMC_BLOCK=y
1150CONFIG_MMC_BLOCK_BOUNCE=y
1151# CONFIG_SDIO_UART is not set
1152
1153#
1154# MMC/SD Host Controller Drivers
1155#
1156CONFIG_MMC_OMAP=y
1157# CONFIG_MMC_SPI is not set
1158# CONFIG_NEW_LEDS is not set
1159CONFIG_RTC_LIB=y
1160# CONFIG_RTC_CLASS is not set
1161
1162#
1163# CBUS support
1164#
1165CONFIG_CBUS=y
1166CONFIG_CBUS_TAHVO=y
1167CONFIG_CBUS_TAHVO_USER=y
1168CONFIG_CBUS_TAHVO_USB=y
1169# CONFIG_CBUS_TAHVO_USB_HOST_BY_DEFAULT is not set
1170CONFIG_CBUS_RETU=y
1171CONFIG_CBUS_RETU_USER=y
1172CONFIG_CBUS_RETU_POWERBUTTON=y
1173CONFIG_CBUS_RETU_RTC=y
1174CONFIG_CBUS_RETU_WDT=y
1175# CONFIG_CBUS_RETU_HEADSET is not set
1176CONFIG_OMAP_DSP=y
1177# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
1178CONFIG_OMAP_DSP_FBEXPORT=y
1179
1180#
1181# File systems
1182#
1183CONFIG_EXT2_FS=y
1184# CONFIG_EXT2_FS_XATTR is not set
1185# CONFIG_EXT2_FS_XIP is not set
1186CONFIG_EXT3_FS=y
1187CONFIG_EXT3_FS_XATTR=y
1188# CONFIG_EXT3_FS_POSIX_ACL is not set
1189# CONFIG_EXT3_FS_SECURITY is not set
1190# CONFIG_EXT4DEV_FS is not set
1191CONFIG_JBD=y
1192CONFIG_FS_MBCACHE=y
1193# CONFIG_REISERFS_FS is not set
1194# CONFIG_JFS_FS is not set
1195# CONFIG_FS_POSIX_ACL is not set
1196# CONFIG_XFS_FS is not set
1197# CONFIG_GFS2_FS is not set
1198# CONFIG_OCFS2_FS is not set
1199# CONFIG_MINIX_FS is not set
1200# CONFIG_ROMFS_FS is not set
1201# CONFIG_INOTIFY is not set
1202# CONFIG_QUOTA is not set
1203CONFIG_DNOTIFY=y
1204# CONFIG_AUTOFS_FS is not set
1205# CONFIG_AUTOFS4_FS is not set
1206# CONFIG_FUSE_FS is not set
1207
1208#
1209# CD-ROM/DVD Filesystems
1210#
1211# CONFIG_ISO9660_FS is not set
1212# CONFIG_UDF_FS is not set
1213
1214#
1215# DOS/FAT/NT Filesystems
1216#
1217CONFIG_FAT_FS=y
1218CONFIG_MSDOS_FS=y
1219CONFIG_VFAT_FS=y
1220CONFIG_FAT_DEFAULT_CODEPAGE=437
1221CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1222# CONFIG_NTFS_FS is not set
1223
1224#
1225# Pseudo filesystems
1226#
1227CONFIG_PROC_FS=y
1228CONFIG_PROC_SYSCTL=y
1229CONFIG_SYSFS=y
1230CONFIG_TMPFS=y
1231# CONFIG_TMPFS_POSIX_ACL is not set
1232# CONFIG_HUGETLB_PAGE is not set
1233# CONFIG_CONFIGFS_FS is not set
1234
1235#
1236# Miscellaneous filesystems
1237#
1238# CONFIG_ADFS_FS is not set
1239# CONFIG_AFFS_FS is not set
1240# CONFIG_HFS_FS is not set
1241# CONFIG_HFSPLUS_FS is not set
1242# CONFIG_BEFS_FS is not set
1243# CONFIG_BFS_FS is not set
1244# CONFIG_EFS_FS is not set
1245CONFIG_JFFS2_FS=y
1246CONFIG_JFFS2_FS_DEBUG=0
1247CONFIG_JFFS2_FS_WRITEBUFFER=y
1248# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1249CONFIG_JFFS2_SUMMARY=y
1250# CONFIG_JFFS2_FS_XATTR is not set
1251CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1252CONFIG_JFFS2_ZLIB=y
1253# CONFIG_JFFS2_LZO is not set
1254CONFIG_JFFS2_RTIME=y
1255# CONFIG_JFFS2_RUBIN is not set
1256# CONFIG_JFFS2_CMODE_NONE is not set
1257CONFIG_JFFS2_CMODE_PRIORITY=y
1258# CONFIG_JFFS2_CMODE_SIZE is not set
1259# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1260# CONFIG_CRAMFS is not set
1261# CONFIG_VXFS_FS is not set
1262# CONFIG_HPFS_FS is not set
1263# CONFIG_QNX4FS_FS is not set
1264# CONFIG_SYSV_FS is not set
1265# CONFIG_UFS_FS is not set
1266CONFIG_NETWORK_FILESYSTEMS=y
1267CONFIG_NFS_FS=y
1268CONFIG_NFS_V3=y
1269# CONFIG_NFS_V3_ACL is not set
1270# CONFIG_NFS_V4 is not set
1271# CONFIG_NFS_DIRECTIO is not set
1272# CONFIG_NFSD is not set
1273# CONFIG_ROOT_NFS is not set
1274CONFIG_LOCKD=y
1275CONFIG_LOCKD_V4=y
1276CONFIG_NFS_COMMON=y
1277CONFIG_SUNRPC=y
1278# CONFIG_SUNRPC_BIND34 is not set
1279# CONFIG_RPCSEC_GSS_KRB5 is not set
1280# CONFIG_RPCSEC_GSS_SPKM3 is not set
1281# CONFIG_SMB_FS is not set
1282# CONFIG_CIFS is not set
1283# CONFIG_NCP_FS is not set
1284# CONFIG_CODA_FS is not set
1285# CONFIG_AFS_FS is not set
1286
1287#
1288# Partition Types
1289#
1290CONFIG_PARTITION_ADVANCED=y
1291# CONFIG_ACORN_PARTITION is not set
1292# CONFIG_OSF_PARTITION is not set
1293# CONFIG_AMIGA_PARTITION is not set
1294# CONFIG_ATARI_PARTITION is not set
1295# CONFIG_MAC_PARTITION is not set
1296CONFIG_MSDOS_PARTITION=y
1297# CONFIG_BSD_DISKLABEL is not set
1298# CONFIG_MINIX_SUBPARTITION is not set
1299# CONFIG_SOLARIS_X86_PARTITION is not set
1300# CONFIG_UNIXWARE_DISKLABEL is not set
1301# CONFIG_LDM_PARTITION is not set
1302# CONFIG_SGI_PARTITION is not set
1303# CONFIG_ULTRIX_PARTITION is not set
1304# CONFIG_SUN_PARTITION is not set
1305# CONFIG_KARMA_PARTITION is not set
1306# CONFIG_EFI_PARTITION is not set
1307# CONFIG_SYSV68_PARTITION is not set
1308CONFIG_NLS=y
1309CONFIG_NLS_DEFAULT="iso8859-1"
1310CONFIG_NLS_CODEPAGE_437=y
1311# CONFIG_NLS_CODEPAGE_737 is not set
1312# CONFIG_NLS_CODEPAGE_775 is not set
1313# CONFIG_NLS_CODEPAGE_850 is not set
1314CONFIG_NLS_CODEPAGE_852=y
1315# CONFIG_NLS_CODEPAGE_855 is not set
1316# CONFIG_NLS_CODEPAGE_857 is not set
1317# CONFIG_NLS_CODEPAGE_860 is not set
1318# CONFIG_NLS_CODEPAGE_861 is not set
1319# CONFIG_NLS_CODEPAGE_862 is not set
1320# CONFIG_NLS_CODEPAGE_863 is not set
1321# CONFIG_NLS_CODEPAGE_864 is not set
1322# CONFIG_NLS_CODEPAGE_865 is not set
1323# CONFIG_NLS_CODEPAGE_866 is not set
1324# CONFIG_NLS_CODEPAGE_869 is not set
1325# CONFIG_NLS_CODEPAGE_936 is not set
1326# CONFIG_NLS_CODEPAGE_950 is not set
1327# CONFIG_NLS_CODEPAGE_932 is not set
1328# CONFIG_NLS_CODEPAGE_949 is not set
1329# CONFIG_NLS_CODEPAGE_874 is not set
1330# CONFIG_NLS_ISO8859_8 is not set
1331# CONFIG_NLS_CODEPAGE_1250 is not set
1332# CONFIG_NLS_CODEPAGE_1251 is not set
1333# CONFIG_NLS_ASCII is not set
1334CONFIG_NLS_ISO8859_1=y
1335# CONFIG_NLS_ISO8859_2 is not set
1336# CONFIG_NLS_ISO8859_3 is not set
1337# CONFIG_NLS_ISO8859_4 is not set
1338# CONFIG_NLS_ISO8859_5 is not set
1339# CONFIG_NLS_ISO8859_6 is not set
1340# CONFIG_NLS_ISO8859_7 is not set
1341# CONFIG_NLS_ISO8859_9 is not set
1342# CONFIG_NLS_ISO8859_13 is not set
1343# CONFIG_NLS_ISO8859_14 is not set
1344CONFIG_NLS_ISO8859_15=y
1345# CONFIG_NLS_KOI8_R is not set
1346# CONFIG_NLS_KOI8_U is not set
1347CONFIG_NLS_UTF8=y
1348# CONFIG_DLM is not set
1349CONFIG_INSTRUMENTATION=y
1350# CONFIG_PROFILING is not set
1351# CONFIG_MARKERS is not set
1352
1353#
1354# Kernel hacking
1355#
1356# CONFIG_PRINTK_TIME is not set
1357CONFIG_ENABLE_WARN_DEPRECATED=y
1358CONFIG_ENABLE_MUST_CHECK=y
1359CONFIG_MAGIC_SYSRQ=y
1360# CONFIG_UNUSED_SYMBOLS is not set
1361# CONFIG_DEBUG_FS is not set
1362# CONFIG_HEADERS_CHECK is not set
1363CONFIG_DEBUG_KERNEL=y
1364# CONFIG_DEBUG_SHIRQ is not set
1365CONFIG_DETECT_SOFTLOCKUP=y
1366CONFIG_SCHED_DEBUG=y
1367# CONFIG_SCHEDSTATS is not set
1368# CONFIG_TIMER_STATS is not set
1369# CONFIG_DEBUG_SLAB is not set
1370# CONFIG_DEBUG_RT_MUTEXES is not set
1371# CONFIG_RT_MUTEX_TESTER is not set
1372# CONFIG_DEBUG_SPINLOCK is not set
1373CONFIG_DEBUG_MUTEXES=y
1374# CONFIG_DEBUG_LOCK_ALLOC is not set
1375# CONFIG_PROVE_LOCKING is not set
1376# CONFIG_LOCK_STAT is not set
1377# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1378# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1379# CONFIG_DEBUG_KOBJECT is not set
1380CONFIG_DEBUG_BUGVERBOSE=y
1381# CONFIG_DEBUG_INFO is not set
1382# CONFIG_DEBUG_VM is not set
1383# CONFIG_DEBUG_LIST is not set
1384# CONFIG_DEBUG_SG is not set
1385CONFIG_FRAME_POINTER=y
1386CONFIG_FORCED_INLINING=y
1387# CONFIG_BOOT_PRINTK_DELAY is not set
1388# CONFIG_RCU_TORTURE_TEST is not set
1389# CONFIG_FAULT_INJECTION is not set
1390# CONFIG_SAMPLES is not set
1391# CONFIG_DEBUG_USER is not set
1392CONFIG_DEBUG_ERRORS=y
1393# CONFIG_DEBUG_LL is not set
1394
1395#
1396# Security options
1397#
1398# CONFIG_KEYS is not set
1399CONFIG_SECURITY=y
1400# CONFIG_SECURITY_NETWORK is not set
1401# CONFIG_SECURITY_CAPABILITIES is not set
1402# CONFIG_SECURITY_ROOTPLUG is not set
1403# CONFIG_SECURITY_LOWMEM is not set
1404# CONFIG_CRYPTO is not set
1405
1406#
1407# Library routines
1408#
1409CONFIG_BITREVERSE=y
1410CONFIG_CRC_CCITT=y
1411# CONFIG_CRC16 is not set
1412# CONFIG_CRC_ITU_T is not set
1413CONFIG_CRC32=y
1414# CONFIG_CRC7 is not set
1415# CONFIG_LIBCRC32C is not set
1416CONFIG_ZLIB_INFLATE=y
1417CONFIG_ZLIB_DEFLATE=y
1418CONFIG_PLIST=y
1419CONFIG_HAS_IOMEM=y
1420CONFIG_HAS_IOPORT=y
1421CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_2430sdp_defconfig b/arch/arm/configs/omap_2430sdp_defconfig
new file mode 100644
index 000000000000..b0617c0da2a1
--- /dev/null
+++ b/arch/arm/configs/omap_2430sdp_defconfig
@@ -0,0 +1,1304 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:47:37 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41CONFIG_BSD_PROCESS_ACCT=y
42# CONFIG_BSD_PROCESS_ACCT_V3 is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_USER_NS is not set
45# CONFIG_AUDIT is not set
46# CONFIG_IKCONFIG is not set
47CONFIG_LOG_BUF_SHIFT=14
48CONFIG_SYSFS_DEPRECATED=y
49# CONFIG_RELAY is not set
50CONFIG_BLK_DEV_INITRD=y
51CONFIG_INITRAMFS_SOURCE=""
52CONFIG_CC_OPTIMIZE_FOR_SIZE=y
53CONFIG_SYSCTL=y
54CONFIG_EMBEDDED=y
55CONFIG_UID16=y
56# CONFIG_SYSCTL_SYSCALL is not set
57CONFIG_KALLSYMS=y
58# CONFIG_KALLSYMS_ALL is not set
59CONFIG_KALLSYMS_EXTRA_PASS=y
60CONFIG_HOTPLUG=y
61CONFIG_PRINTK=y
62CONFIG_BUG=y
63CONFIG_ELF_CORE=y
64CONFIG_BASE_FULL=y
65CONFIG_FUTEX=y
66CONFIG_ANON_INODES=y
67CONFIG_EPOLL=y
68CONFIG_SIGNALFD=y
69CONFIG_TIMERFD=y
70CONFIG_EVENTFD=y
71CONFIG_SHMEM=y
72CONFIG_VM_EVENT_COUNTERS=y
73CONFIG_SLAB=y
74# CONFIG_SLUB is not set
75# CONFIG_SLOB is not set
76CONFIG_RT_MUTEXES=y
77# CONFIG_TINY_SHMEM is not set
78CONFIG_BASE_SMALL=0
79CONFIG_MODULES=y
80CONFIG_MODULE_UNLOAD=y
81# CONFIG_MODULE_FORCE_UNLOAD is not set
82CONFIG_MODVERSIONS=y
83CONFIG_MODULE_SRCVERSION_ALL=y
84CONFIG_KMOD=y
85CONFIG_BLOCK=y
86# CONFIG_LBD is not set
87# CONFIG_BLK_DEV_IO_TRACE is not set
88# CONFIG_LSF is not set
89# CONFIG_BLK_DEV_BSG is not set
90
91#
92# IO Schedulers
93#
94CONFIG_IOSCHED_NOOP=y
95CONFIG_IOSCHED_AS=y
96CONFIG_IOSCHED_DEADLINE=y
97CONFIG_IOSCHED_CFQ=y
98CONFIG_DEFAULT_AS=y
99# CONFIG_DEFAULT_DEADLINE is not set
100# CONFIG_DEFAULT_CFQ is not set
101# CONFIG_DEFAULT_NOOP is not set
102CONFIG_DEFAULT_IOSCHED="anticipatory"
103
104#
105# System Type
106#
107# CONFIG_ARCH_AAEC2000 is not set
108# CONFIG_ARCH_INTEGRATOR is not set
109# CONFIG_ARCH_REALVIEW is not set
110# CONFIG_ARCH_VERSATILE is not set
111# CONFIG_ARCH_AT91 is not set
112# CONFIG_ARCH_CLPS7500 is not set
113# CONFIG_ARCH_CLPS711X is not set
114# CONFIG_ARCH_CO285 is not set
115# CONFIG_ARCH_EBSA110 is not set
116# CONFIG_ARCH_EP93XX is not set
117# CONFIG_ARCH_FOOTBRIDGE is not set
118# CONFIG_ARCH_NETX is not set
119# CONFIG_ARCH_H720X is not set
120# CONFIG_ARCH_IMX is not set
121# CONFIG_ARCH_IOP13XX is not set
122# CONFIG_ARCH_IOP32X is not set
123# CONFIG_ARCH_IOP33X is not set
124# CONFIG_ARCH_IXP23XX is not set
125# CONFIG_ARCH_IXP2000 is not set
126# CONFIG_ARCH_IXP4XX is not set
127# CONFIG_ARCH_L7200 is not set
128# CONFIG_ARCH_KS8695 is not set
129# CONFIG_ARCH_NS9XXX is not set
130# CONFIG_ARCH_MXC is not set
131# CONFIG_ARCH_PNX4008 is not set
132# CONFIG_ARCH_PXA is not set
133# CONFIG_ARCH_RPC is not set
134# CONFIG_ARCH_SA1100 is not set
135# CONFIG_ARCH_S3C2410 is not set
136# CONFIG_ARCH_SHARK is not set
137# CONFIG_ARCH_LH7A40X is not set
138# CONFIG_ARCH_DAVINCI is not set
139CONFIG_ARCH_OMAP=y
140
141#
142# TI OMAP Implementations
143#
144# CONFIG_ARCH_OMAP1 is not set
145CONFIG_ARCH_OMAP2=y
146# CONFIG_ARCH_OMAP3 is not set
147
148#
149# OMAP Feature Selections
150#
151# CONFIG_OMAP_RESET_CLOCKS is not set
152CONFIG_OMAP_BOOT_TAG=y
153# CONFIG_OMAP_BOOT_REASON is not set
154# CONFIG_OMAP_COMPONENT_VERSION is not set
155# CONFIG_OMAP_GPIO_SWITCH is not set
156CONFIG_OMAP_MUX=y
157# CONFIG_OMAP_MUX_DEBUG is not set
158# CONFIG_OMAP_MUX_WARNINGS is not set
159# CONFIG_OMAP_STI is not set
160CONFIG_OMAP_MCBSP=y
161# CONFIG_OMAP_MMU_FWK is not set
162# CONFIG_OMAP_MBOX_FWK is not set
163CONFIG_OMAP_MPU_TIMER=y
164# CONFIG_OMAP_32K_TIMER is not set
165CONFIG_OMAP_DM_TIMER=y
166CONFIG_OMAP_LL_DEBUG_UART1=y
167# CONFIG_OMAP_LL_DEBUG_UART2 is not set
168# CONFIG_OMAP_LL_DEBUG_UART3 is not set
169CONFIG_OMAP_SERIAL_WAKE=y
170# CONFIG_OMAP_DSP is not set
171# CONFIG_MACH_OMAP_GENERIC is not set
172
173#
174# OMAP Core Type
175#
176CONFIG_ARCH_OMAP24XX=y
177# CONFIG_ARCH_OMAP2420 is not set
178CONFIG_ARCH_OMAP2430=y
179
180#
181# OMAP Board Type
182#
183# CONFIG_MACH_NOKIA_N800 is not set
184# CONFIG_MACH_OMAP_H4 is not set
185# CONFIG_MACH_OMAP_APOLLON is not set
186# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
187CONFIG_MACH_OMAP_2430SDP=y
188
189#
190# Boot options
191#
192
193#
194# Power management
195#
196
197#
198# Processor Type
199#
200CONFIG_CPU_32=y
201CONFIG_CPU_V6=y
202# CONFIG_CPU_32v6K is not set
203CONFIG_CPU_32v6=y
204CONFIG_CPU_ABRT_EV6=y
205CONFIG_CPU_PABRT_NOIFAR=y
206CONFIG_CPU_CACHE_V6=y
207CONFIG_CPU_CACHE_VIPT=y
208CONFIG_CPU_COPY_V6=y
209CONFIG_CPU_TLB_V6=y
210CONFIG_CPU_HAS_ASID=y
211CONFIG_CPU_CP15=y
212CONFIG_CPU_CP15_MMU=y
213
214#
215# Processor Features
216#
217CONFIG_ARM_THUMB=y
218# CONFIG_CPU_ICACHE_DISABLE is not set
219# CONFIG_CPU_DCACHE_DISABLE is not set
220# CONFIG_CPU_BPREDICT_DISABLE is not set
221# CONFIG_OUTER_CACHE is not set
222
223#
224# Bus support
225#
226# CONFIG_PCI_SYSCALL is not set
227# CONFIG_ARCH_SUPPORTS_MSI is not set
228
229#
230# PCCARD (PCMCIA/CardBus) support
231#
232# CONFIG_PCCARD is not set
233
234#
235# Kernel Features
236#
237# CONFIG_TICK_ONESHOT is not set
238# CONFIG_NO_HZ is not set
239# CONFIG_HIGH_RES_TIMERS is not set
240CONFIG_PREEMPT=y
241CONFIG_HZ=100
242CONFIG_AEABI=y
243CONFIG_OABI_COMPAT=y
244# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
245CONFIG_SELECT_MEMORY_MODEL=y
246CONFIG_FLATMEM_MANUAL=y
247# CONFIG_DISCONTIGMEM_MANUAL is not set
248# CONFIG_SPARSEMEM_MANUAL is not set
249CONFIG_FLATMEM=y
250CONFIG_FLAT_NODE_MEM_MAP=y
251# CONFIG_SPARSEMEM_STATIC is not set
252CONFIG_SPLIT_PTLOCK_CPUS=4
253# CONFIG_RESOURCES_64BIT is not set
254CONFIG_ZONE_DMA_FLAG=1
255CONFIG_BOUNCE=y
256CONFIG_VIRT_TO_BUS=y
257# CONFIG_LEDS is not set
258CONFIG_ALIGNMENT_TRAP=y
259
260#
261# Boot options
262#
263CONFIG_ZBOOT_ROM_TEXT=0x0
264CONFIG_ZBOOT_ROM_BSS=0x0
265CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
266# CONFIG_XIP_KERNEL is not set
267# CONFIG_KEXEC is not set
268
269#
270# CPU Frequency scaling
271#
272# CONFIG_CPU_FREQ is not set
273
274#
275# Floating point emulation
276#
277
278#
279# At least one emulation must be selected
280#
281CONFIG_FPE_NWFPE=y
282# CONFIG_FPE_NWFPE_XP is not set
283# CONFIG_FPE_FASTFPE is not set
284# CONFIG_VFP is not set
285
286#
287# Userspace binary formats
288#
289CONFIG_BINFMT_ELF=y
290# CONFIG_BINFMT_AOUT is not set
291CONFIG_BINFMT_MISC=y
292
293#
294# Power management options
295#
296CONFIG_PM=y
297# CONFIG_PM_LEGACY is not set
298# CONFIG_PM_DEBUG is not set
299CONFIG_PM_SLEEP=y
300CONFIG_SUSPEND_UP_POSSIBLE=y
301CONFIG_SUSPEND=y
302# CONFIG_APM_EMULATION is not set
303
304#
305# Networking
306#
307CONFIG_NET=y
308
309#
310# Networking options
311#
312CONFIG_PACKET=y
313# CONFIG_PACKET_MMAP is not set
314CONFIG_UNIX=y
315CONFIG_XFRM=y
316# CONFIG_XFRM_USER is not set
317# CONFIG_XFRM_SUB_POLICY is not set
318# CONFIG_XFRM_MIGRATE is not set
319CONFIG_NET_KEY=y
320# CONFIG_NET_KEY_MIGRATE is not set
321CONFIG_INET=y
322# CONFIG_IP_MULTICAST is not set
323# CONFIG_IP_ADVANCED_ROUTER is not set
324CONFIG_IP_FIB_HASH=y
325CONFIG_IP_PNP=y
326CONFIG_IP_PNP_DHCP=y
327# CONFIG_IP_PNP_BOOTP is not set
328# CONFIG_IP_PNP_RARP is not set
329# CONFIG_NET_IPIP is not set
330# CONFIG_NET_IPGRE is not set
331# CONFIG_ARPD is not set
332# CONFIG_SYN_COOKIES is not set
333# CONFIG_INET_AH is not set
334# CONFIG_INET_ESP is not set
335# CONFIG_INET_IPCOMP is not set
336# CONFIG_INET_XFRM_TUNNEL is not set
337# CONFIG_INET_TUNNEL is not set
338CONFIG_INET_XFRM_MODE_TRANSPORT=y
339CONFIG_INET_XFRM_MODE_TUNNEL=y
340CONFIG_INET_XFRM_MODE_BEET=y
341CONFIG_INET_DIAG=y
342CONFIG_INET_TCP_DIAG=y
343# CONFIG_TCP_CONG_ADVANCED is not set
344CONFIG_TCP_CONG_CUBIC=y
345CONFIG_DEFAULT_TCP_CONG="cubic"
346# CONFIG_TCP_MD5SIG is not set
347# CONFIG_IPV6 is not set
348# CONFIG_INET6_XFRM_TUNNEL is not set
349# CONFIG_INET6_TUNNEL is not set
350# CONFIG_NETWORK_SECMARK is not set
351# CONFIG_NETFILTER is not set
352# CONFIG_IP_DCCP is not set
353# CONFIG_IP_SCTP is not set
354# CONFIG_TIPC is not set
355# CONFIG_ATM is not set
356# CONFIG_BRIDGE is not set
357# CONFIG_VLAN_8021Q is not set
358# CONFIG_DECNET is not set
359# CONFIG_LLC2 is not set
360# CONFIG_IPX is not set
361# CONFIG_ATALK is not set
362# CONFIG_X25 is not set
363# CONFIG_LAPB is not set
364# CONFIG_ECONET is not set
365# CONFIG_WAN_ROUTER is not set
366
367#
368# QoS and/or fair queueing
369#
370# CONFIG_NET_SCHED is not set
371
372#
373# Network testing
374#
375# CONFIG_NET_PKTGEN is not set
376# CONFIG_HAMRADIO is not set
377# CONFIG_IRDA is not set
378# CONFIG_BT is not set
379# CONFIG_AF_RXRPC is not set
380
381#
382# Wireless
383#
384# CONFIG_CFG80211 is not set
385# CONFIG_WIRELESS_EXT is not set
386# CONFIG_MAC80211 is not set
387# CONFIG_IEEE80211 is not set
388# CONFIG_RFKILL is not set
389# CONFIG_NET_9P is not set
390
391#
392# Device Drivers
393#
394
395#
396# Generic Driver Options
397#
398CONFIG_STANDALONE=y
399CONFIG_PREVENT_FIRMWARE_BUILD=y
400# CONFIG_FW_LOADER is not set
401# CONFIG_DEBUG_DRIVER is not set
402# CONFIG_DEBUG_DEVRES is not set
403# CONFIG_SYS_HYPERVISOR is not set
404# CONFIG_CONNECTOR is not set
405CONFIG_MTD=y
406# CONFIG_MTD_DEBUG is not set
407CONFIG_MTD_CONCAT=y
408CONFIG_MTD_PARTITIONS=y
409# CONFIG_MTD_REDBOOT_PARTS is not set
410CONFIG_MTD_CMDLINE_PARTS=y
411# CONFIG_MTD_AFS_PARTS is not set
412
413#
414# User Modules And Translation Layers
415#
416CONFIG_MTD_CHAR=y
417CONFIG_MTD_BLKDEVS=y
418CONFIG_MTD_BLOCK=y
419# CONFIG_FTL is not set
420# CONFIG_NFTL is not set
421# CONFIG_INFTL is not set
422# CONFIG_RFD_FTL is not set
423# CONFIG_SSFDC is not set
424
425#
426# RAM/ROM/Flash chip drivers
427#
428CONFIG_MTD_CFI=y
429# CONFIG_MTD_JEDECPROBE is not set
430CONFIG_MTD_GEN_PROBE=y
431# CONFIG_MTD_CFI_ADV_OPTIONS is not set
432CONFIG_MTD_MAP_BANK_WIDTH_1=y
433CONFIG_MTD_MAP_BANK_WIDTH_2=y
434CONFIG_MTD_MAP_BANK_WIDTH_4=y
435# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
436# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
437# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
438CONFIG_MTD_CFI_I1=y
439CONFIG_MTD_CFI_I2=y
440# CONFIG_MTD_CFI_I4 is not set
441# CONFIG_MTD_CFI_I8 is not set
442CONFIG_MTD_CFI_INTELEXT=y
443# CONFIG_MTD_CFI_AMDSTD is not set
444# CONFIG_MTD_CFI_STAA is not set
445CONFIG_MTD_CFI_UTIL=y
446# CONFIG_MTD_RAM is not set
447# CONFIG_MTD_ROM is not set
448# CONFIG_MTD_ABSENT is not set
449
450#
451# Mapping drivers for chip access
452#
453# CONFIG_MTD_COMPLEX_MAPPINGS is not set
454# CONFIG_MTD_PHYSMAP is not set
455# CONFIG_MTD_ARM_INTEGRATOR is not set
456CONFIG_MTD_OMAP_NOR=y
457# CONFIG_MTD_PLATRAM is not set
458
459#
460# Self-contained MTD device drivers
461#
462# CONFIG_MTD_DATAFLASH is not set
463# CONFIG_MTD_M25P80 is not set
464# CONFIG_MTD_SLRAM is not set
465# CONFIG_MTD_PHRAM is not set
466# CONFIG_MTD_MTDRAM is not set
467# CONFIG_MTD_BLOCK2MTD is not set
468
469#
470# Disk-On-Chip Device Drivers
471#
472# CONFIG_MTD_DOC2000 is not set
473# CONFIG_MTD_DOC2001 is not set
474# CONFIG_MTD_DOC2001PLUS is not set
475# CONFIG_MTD_NAND is not set
476CONFIG_MTD_ONENAND=y
477CONFIG_MTD_ONENAND_VERIFY_WRITE=y
478# CONFIG_MTD_ONENAND_GENERIC is not set
479CONFIG_MTD_ONENAND_OMAP2=y
480# CONFIG_MTD_ONENAND_OTP is not set
481
482#
483# UBI - Unsorted block images
484#
485# CONFIG_MTD_UBI is not set
486# CONFIG_PARPORT is not set
487CONFIG_BLK_DEV=y
488# CONFIG_BLK_DEV_COW_COMMON is not set
489CONFIG_BLK_DEV_LOOP=y
490# CONFIG_BLK_DEV_CRYPTOLOOP is not set
491# CONFIG_BLK_DEV_NBD is not set
492# CONFIG_BLK_DEV_UB is not set
493CONFIG_BLK_DEV_RAM=y
494CONFIG_BLK_DEV_RAM_COUNT=16
495CONFIG_BLK_DEV_RAM_SIZE=16384
496CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
497# CONFIG_CDROM_PKTCDVD is not set
498# CONFIG_ATA_OVER_ETH is not set
499
500#
501# SCSI device support
502#
503# CONFIG_RAID_ATTRS is not set
504CONFIG_SCSI=m
505CONFIG_SCSI_DMA=y
506# CONFIG_SCSI_TGT is not set
507# CONFIG_SCSI_NETLINK is not set
508CONFIG_SCSI_PROC_FS=y
509
510#
511# SCSI support type (disk, tape, CD-ROM)
512#
513CONFIG_BLK_DEV_SD=m
514# CONFIG_CHR_DEV_ST is not set
515# CONFIG_CHR_DEV_OSST is not set
516# CONFIG_BLK_DEV_SR is not set
517CONFIG_CHR_DEV_SG=m
518# CONFIG_CHR_DEV_SCH is not set
519
520#
521# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
522#
523# CONFIG_SCSI_MULTI_LUN is not set
524# CONFIG_SCSI_CONSTANTS is not set
525# CONFIG_SCSI_LOGGING is not set
526# CONFIG_SCSI_SCAN_ASYNC is not set
527CONFIG_SCSI_WAIT_SCAN=m
528
529#
530# SCSI Transports
531#
532# CONFIG_SCSI_SPI_ATTRS is not set
533# CONFIG_SCSI_FC_ATTRS is not set
534# CONFIG_SCSI_ISCSI_ATTRS is not set
535# CONFIG_SCSI_SAS_LIBSAS is not set
536CONFIG_SCSI_LOWLEVEL=y
537# CONFIG_ISCSI_TCP is not set
538# CONFIG_SCSI_DEBUG is not set
539# CONFIG_ATA is not set
540# CONFIG_MD is not set
541CONFIG_NETDEVICES=y
542# CONFIG_NETDEVICES_MULTIQUEUE is not set
543# CONFIG_DUMMY is not set
544# CONFIG_BONDING is not set
545# CONFIG_MACVLAN is not set
546# CONFIG_EQUALIZER is not set
547# CONFIG_TUN is not set
548# CONFIG_PHYLIB is not set
549CONFIG_NET_ETHERNET=y
550CONFIG_MII=y
551# CONFIG_AX88796 is not set
552CONFIG_SMC91X=y
553# CONFIG_DM9000 is not set
554CONFIG_NETDEV_1000=y
555CONFIG_NETDEV_10000=y
556
557#
558# Wireless LAN
559#
560# CONFIG_WLAN_PRE80211 is not set
561# CONFIG_WLAN_80211 is not set
562
563#
564# USB Network Adapters
565#
566# CONFIG_USB_CATC is not set
567# CONFIG_USB_KAWETH is not set
568# CONFIG_USB_PEGASUS is not set
569# CONFIG_USB_RTL8150 is not set
570# CONFIG_USB_USBNET_MII is not set
571# CONFIG_USB_USBNET is not set
572# CONFIG_WAN is not set
573# CONFIG_PPP is not set
574# CONFIG_SLIP is not set
575# CONFIG_SHAPER is not set
576# CONFIG_NETCONSOLE is not set
577# CONFIG_NETPOLL is not set
578# CONFIG_NET_POLL_CONTROLLER is not set
579# CONFIG_ISDN is not set
580
581#
582# Input device support
583#
584CONFIG_INPUT=y
585# CONFIG_INPUT_FF_MEMLESS is not set
586# CONFIG_INPUT_POLLDEV is not set
587
588#
589# Userland interfaces
590#
591# CONFIG_INPUT_MOUSEDEV is not set
592# CONFIG_INPUT_JOYDEV is not set
593# CONFIG_INPUT_TSDEV is not set
594CONFIG_INPUT_EVDEV=y
595# CONFIG_INPUT_EVBUG is not set
596
597#
598# Input Device Drivers
599#
600CONFIG_INPUT_KEYBOARD=y
601# CONFIG_KEYBOARD_ATKBD is not set
602# CONFIG_KEYBOARD_SUNKBD is not set
603# CONFIG_KEYBOARD_LKKBD is not set
604# CONFIG_KEYBOARD_XTKBD is not set
605# CONFIG_KEYBOARD_NEWTON is not set
606# CONFIG_KEYBOARD_STOWAWAY is not set
607# CONFIG_KEYBOARD_OMAP is not set
608CONFIG_KEYBOARD_TWL4030=y
609# CONFIG_KEYBOARD_GPIO is not set
610# CONFIG_INPUT_MOUSE is not set
611# CONFIG_INPUT_JOYSTICK is not set
612# CONFIG_INPUT_TABLET is not set
613CONFIG_INPUT_TOUCHSCREEN=y
614CONFIG_TOUCHSCREEN_ADS7846=y
615# CONFIG_TOUCHSCREEN_FUJITSU is not set
616# CONFIG_TOUCHSCREEN_GUNZE is not set
617# CONFIG_TOUCHSCREEN_ELO is not set
618# CONFIG_TOUCHSCREEN_MTOUCH is not set
619# CONFIG_TOUCHSCREEN_MK712 is not set
620# CONFIG_TOUCHSCREEN_PENMOUNT is not set
621# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
622# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
623# CONFIG_TOUCHSCREEN_UCB1400 is not set
624# CONFIG_TOUCHSCREEN_TSC2102 is not set
625# CONFIG_TOUCHSCREEN_TSC210X is not set
626# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
627# CONFIG_INPUT_MISC is not set
628
629#
630# Hardware I/O ports
631#
632# CONFIG_SERIO is not set
633# CONFIG_GAMEPORT is not set
634
635#
636# Character devices
637#
638CONFIG_VT=y
639CONFIG_VT_CONSOLE=y
640CONFIG_HW_CONSOLE=y
641# CONFIG_VT_HW_CONSOLE_BINDING is not set
642# CONFIG_SERIAL_NONSTANDARD is not set
643
644#
645# Serial drivers
646#
647CONFIG_SERIAL_8250=y
648CONFIG_SERIAL_8250_CONSOLE=y
649CONFIG_SERIAL_8250_NR_UARTS=32
650CONFIG_SERIAL_8250_RUNTIME_UARTS=4
651CONFIG_SERIAL_8250_EXTENDED=y
652CONFIG_SERIAL_8250_MANY_PORTS=y
653CONFIG_SERIAL_8250_SHARE_IRQ=y
654CONFIG_SERIAL_8250_DETECT_IRQ=y
655CONFIG_SERIAL_8250_RSA=y
656
657#
658# Non-8250 serial port support
659#
660CONFIG_SERIAL_CORE=y
661CONFIG_SERIAL_CORE_CONSOLE=y
662CONFIG_UNIX98_PTYS=y
663# CONFIG_LEGACY_PTYS is not set
664# CONFIG_IPMI_HANDLER is not set
665CONFIG_WATCHDOG=y
666CONFIG_WATCHDOG_NOWAYOUT=y
667
668#
669# Watchdog Device Drivers
670#
671# CONFIG_SOFT_WATCHDOG is not set
672CONFIG_OMAP_WATCHDOG=y
673
674#
675# USB-based Watchdog Cards
676#
677# CONFIG_USBPCWATCHDOG is not set
678CONFIG_HW_RANDOM=y
679CONFIG_HW_RANDOM_OMAP=y
680# CONFIG_NVRAM is not set
681# CONFIG_R3964 is not set
682# CONFIG_RAW_DRIVER is not set
683# CONFIG_TCG_TPM is not set
684CONFIG_I2C=y
685CONFIG_I2C_BOARDINFO=y
686CONFIG_I2C_CHARDEV=y
687
688#
689# I2C Algorithms
690#
691# CONFIG_I2C_ALGOBIT is not set
692# CONFIG_I2C_ALGOPCF is not set
693# CONFIG_I2C_ALGOPCA is not set
694
695#
696# I2C Hardware Bus support
697#
698# CONFIG_I2C_GPIO is not set
699# CONFIG_I2C_OCORES is not set
700CONFIG_I2C_OMAP=y
701# CONFIG_I2C_PARPORT_LIGHT is not set
702# CONFIG_I2C_SIMTEC is not set
703# CONFIG_I2C_TAOS_EVM is not set
704# CONFIG_I2C_STUB is not set
705# CONFIG_I2C_TINY_USB is not set
706
707#
708# Miscellaneous I2C Chip support
709#
710# CONFIG_SENSORS_DS1337 is not set
711# CONFIG_SENSORS_DS1374 is not set
712# CONFIG_DS1682 is not set
713# CONFIG_SENSORS_EEPROM is not set
714# CONFIG_SENSORS_PCF8574 is not set
715# CONFIG_SENSORS_PCA9539 is not set
716# CONFIG_SENSORS_PCF8591 is not set
717# CONFIG_TPS65010 is not set
718# CONFIG_SENSORS_TLV320AIC23 is not set
719# CONFIG_GPIOEXPANDER_OMAP is not set
720CONFIG_TWL4030_CORE=y
721CONFIG_TWL4030_GPIO=y
722# CONFIG_SENSORS_MAX6875 is not set
723# CONFIG_SENSORS_TSL2550 is not set
724# CONFIG_MENELAUS is not set
725# CONFIG_I2C_DEBUG_CORE is not set
726# CONFIG_I2C_DEBUG_ALGO is not set
727# CONFIG_I2C_DEBUG_BUS is not set
728# CONFIG_I2C_DEBUG_CHIP is not set
729
730#
731# SPI support
732#
733CONFIG_SPI=y
734# CONFIG_SPI_DEBUG is not set
735CONFIG_SPI_MASTER=y
736
737#
738# SPI Master Controller Drivers
739#
740# CONFIG_SPI_BITBANG is not set
741# CONFIG_SPI_OMAP24XX is not set
742
743#
744# SPI Protocol Masters
745#
746# CONFIG_SPI_AT25 is not set
747# CONFIG_SPI_TSC2101 is not set
748# CONFIG_SPI_TSC2102 is not set
749# CONFIG_SPI_TSC210X is not set
750# CONFIG_SPI_TSC2301 is not set
751# CONFIG_SPI_SPIDEV is not set
752# CONFIG_SPI_TLE62X0 is not set
753# CONFIG_W1 is not set
754# CONFIG_HWMON is not set
755CONFIG_MISC_DEVICES=y
756# CONFIG_EEPROM_93CX6 is not set
757
758#
759# Multifunction device drivers
760#
761# CONFIG_MFD_SM501 is not set
762# CONFIG_NEW_LEDS is not set
763
764#
765# Multimedia devices
766#
767# CONFIG_VIDEO_DEV is not set
768# CONFIG_DVB_CORE is not set
769CONFIG_DAB=y
770# CONFIG_USB_DABUSB is not set
771
772#
773# Graphics support
774#
775# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
776
777#
778# Display device support
779#
780# CONFIG_DISPLAY_SUPPORT is not set
781# CONFIG_VGASTATE is not set
782CONFIG_VIDEO_OUTPUT_CONTROL=m
783CONFIG_FB=y
784CONFIG_FIRMWARE_EDID=y
785# CONFIG_FB_DDC is not set
786# CONFIG_FB_CFB_FILLRECT is not set
787# CONFIG_FB_CFB_COPYAREA is not set
788# CONFIG_FB_CFB_IMAGEBLIT is not set
789# CONFIG_FB_SYS_FILLRECT is not set
790# CONFIG_FB_SYS_COPYAREA is not set
791# CONFIG_FB_SYS_IMAGEBLIT is not set
792# CONFIG_FB_SYS_FOPS is not set
793CONFIG_FB_DEFERRED_IO=y
794# CONFIG_FB_SVGALIB is not set
795# CONFIG_FB_MACMODES is not set
796# CONFIG_FB_BACKLIGHT is not set
797# CONFIG_FB_MODE_HELPERS is not set
798# CONFIG_FB_TILEBLITTING is not set
799
800#
801# Frame buffer hardware drivers
802#
803# CONFIG_FB_S1D13XXX is not set
804CONFIG_FB_OMAP=y
805# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
806# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
807CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
808# CONFIG_FB_VIRTUAL is not set
809
810#
811# Console display driver support
812#
813# CONFIG_VGA_CONSOLE is not set
814CONFIG_DUMMY_CONSOLE=y
815CONFIG_FRAMEBUFFER_CONSOLE=y
816# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
817# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
818# CONFIG_FONTS is not set
819CONFIG_FONT_8x8=y
820CONFIG_FONT_8x16=y
821CONFIG_LOGO=y
822# CONFIG_LOGO_LINUX_MONO is not set
823# CONFIG_LOGO_LINUX_VGA16 is not set
824CONFIG_LOGO_LINUX_CLUT224=y
825
826#
827# Sound
828#
829# CONFIG_SOUND is not set
830CONFIG_HID_SUPPORT=y
831CONFIG_HID=y
832# CONFIG_HID_DEBUG is not set
833
834#
835# USB Input Devices
836#
837CONFIG_USB_HID=m
838# CONFIG_USB_HIDINPUT_POWERBOOK is not set
839# CONFIG_HID_FF is not set
840# CONFIG_USB_HIDDEV is not set
841
842#
843# USB HID Boot Protocol drivers
844#
845# CONFIG_USB_KBD is not set
846# CONFIG_USB_MOUSE is not set
847CONFIG_USB_SUPPORT=y
848CONFIG_USB_ARCH_HAS_HCD=y
849CONFIG_USB_ARCH_HAS_OHCI=y
850# CONFIG_USB_ARCH_HAS_EHCI is not set
851CONFIG_USB=m
852# CONFIG_USB_DEBUG is not set
853
854#
855# Miscellaneous USB options
856#
857# CONFIG_USB_DEVICEFS is not set
858# CONFIG_USB_DEVICE_CLASS is not set
859# CONFIG_USB_DYNAMIC_MINORS is not set
860CONFIG_USB_SUSPEND=y
861# CONFIG_USB_PERSIST is not set
862CONFIG_USB_OTG=y
863CONFIG_USB_OTG_WHITELIST=y
864# CONFIG_USB_OTG_BLACKLIST_HUB is not set
865
866#
867# USB Host Controller Drivers
868#
869# CONFIG_USB_ISP116X_HCD is not set
870# CONFIG_USB_OHCI_HCD is not set
871# CONFIG_USB_SL811_HCD is not set
872# CONFIG_USB_R8A66597_HCD is not set
873CONFIG_USB_MUSB_HDRC=m
874CONFIG_USB_MUSB_SOC=y
875
876#
877# OMAP 243x high speed USB support
878#
879# CONFIG_USB_MUSB_HOST is not set
880# CONFIG_USB_MUSB_PERIPHERAL is not set
881CONFIG_USB_MUSB_OTG=y
882CONFIG_USB_GADGET_MUSB_HDRC=y
883CONFIG_USB_MUSB_HDRC_HCD=y
884# CONFIG_MUSB_PIO_ONLY is not set
885CONFIG_USB_INVENTRA_DMA=y
886# CONFIG_USB_TI_CPPI_DMA is not set
887CONFIG_USB_MUSB_LOGLEVEL=0
888
889#
890# USB Device Class drivers
891#
892# CONFIG_USB_ACM is not set
893# CONFIG_USB_PRINTER is not set
894
895#
896# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
897#
898
899#
900# may also be needed; see USB_STORAGE Help for more information
901#
902CONFIG_USB_STORAGE=m
903# CONFIG_USB_STORAGE_DEBUG is not set
904# CONFIG_USB_STORAGE_DATAFAB is not set
905# CONFIG_USB_STORAGE_FREECOM is not set
906# CONFIG_USB_STORAGE_DPCM is not set
907# CONFIG_USB_STORAGE_USBAT is not set
908# CONFIG_USB_STORAGE_SDDR09 is not set
909# CONFIG_USB_STORAGE_SDDR55 is not set
910# CONFIG_USB_STORAGE_JUMPSHOT is not set
911# CONFIG_USB_STORAGE_ALAUDA is not set
912# CONFIG_USB_STORAGE_KARMA is not set
913# CONFIG_USB_LIBUSUAL is not set
914
915#
916# USB Imaging devices
917#
918# CONFIG_USB_MDC800 is not set
919# CONFIG_USB_MICROTEK is not set
920CONFIG_USB_MON=y
921
922#
923# USB port drivers
924#
925
926#
927# USB Serial Converter support
928#
929# CONFIG_USB_SERIAL is not set
930
931#
932# USB Miscellaneous drivers
933#
934# CONFIG_USB_EMI62 is not set
935# CONFIG_USB_EMI26 is not set
936# CONFIG_USB_ADUTUX is not set
937# CONFIG_USB_AUERSWALD is not set
938# CONFIG_USB_RIO500 is not set
939# CONFIG_USB_LEGOTOWER is not set
940# CONFIG_USB_LCD is not set
941# CONFIG_USB_BERRY_CHARGE is not set
942# CONFIG_USB_LED is not set
943# CONFIG_USB_CYPRESS_CY7C63 is not set
944# CONFIG_USB_CYTHERM is not set
945# CONFIG_USB_PHIDGET is not set
946# CONFIG_USB_IDMOUSE is not set
947# CONFIG_USB_FTDI_ELAN is not set
948# CONFIG_USB_APPLEDISPLAY is not set
949# CONFIG_USB_LD is not set
950# CONFIG_USB_TRANCEVIBRATOR is not set
951# CONFIG_USB_IOWARRIOR is not set
952
953#
954# USB DSL modem support
955#
956
957#
958# USB Gadget Support
959#
960CONFIG_USB_GADGET=m
961# CONFIG_USB_GADGET_DEBUG is not set
962CONFIG_USB_GADGET_DEBUG_FILES=y
963CONFIG_USB_GADGET_SELECTED=y
964# CONFIG_USB_GADGET_AMD5536UDC is not set
965# CONFIG_USB_GADGET_FSL_USB2 is not set
966# CONFIG_USB_GADGET_NET2280 is not set
967# CONFIG_USB_GADGET_PXA2XX is not set
968# CONFIG_USB_GADGET_M66592 is not set
969# CONFIG_USB_GADGET_GOKU is not set
970# CONFIG_USB_GADGET_LH7A40X is not set
971# CONFIG_USB_GADGET_OMAP is not set
972# CONFIG_USB_GADGET_S3C2410 is not set
973# CONFIG_USB_GADGET_AT91 is not set
974# CONFIG_USB_GADGET_DUMMY_HCD is not set
975CONFIG_USB_GADGET_DUALSPEED=y
976CONFIG_USB_ZERO=m
977# CONFIG_USB_ZERO_HNPTEST is not set
978CONFIG_USB_ETH=m
979CONFIG_USB_ETH_RNDIS=y
980CONFIG_USB_GADGETFS=m
981CONFIG_USB_FILE_STORAGE=m
982# CONFIG_USB_FILE_STORAGE_TEST is not set
983CONFIG_USB_G_SERIAL=m
984# CONFIG_USB_MIDI_GADGET is not set
985CONFIG_MMC=y
986# CONFIG_MMC_DEBUG is not set
987# CONFIG_MMC_UNSAFE_RESUME is not set
988
989#
990# MMC/SD Card Drivers
991#
992CONFIG_MMC_BLOCK=y
993CONFIG_MMC_BLOCK_BOUNCE=y
994
995#
996# MMC/SD Host Controller Drivers
997#
998CONFIG_MMC_OMAP_HS=y
999CONFIG_RTC_LIB=y
1000# CONFIG_RTC_CLASS is not set
1001
1002#
1003# DMA Engine support
1004#
1005# CONFIG_DMA_ENGINE is not set
1006
1007#
1008# DMA Clients
1009#
1010
1011#
1012# DMA Devices
1013#
1014
1015#
1016# CBUS support
1017#
1018# CONFIG_CBUS is not set
1019
1020#
1021# File systems
1022#
1023CONFIG_EXT2_FS=y
1024# CONFIG_EXT2_FS_XATTR is not set
1025# CONFIG_EXT2_FS_XIP is not set
1026CONFIG_EXT3_FS=y
1027# CONFIG_EXT3_FS_XATTR is not set
1028# CONFIG_EXT4DEV_FS is not set
1029CONFIG_JBD=y
1030# CONFIG_JBD_DEBUG is not set
1031# CONFIG_REISERFS_FS is not set
1032# CONFIG_JFS_FS is not set
1033# CONFIG_FS_POSIX_ACL is not set
1034# CONFIG_XFS_FS is not set
1035# CONFIG_GFS2_FS is not set
1036# CONFIG_OCFS2_FS is not set
1037# CONFIG_MINIX_FS is not set
1038# CONFIG_ROMFS_FS is not set
1039CONFIG_INOTIFY=y
1040CONFIG_INOTIFY_USER=y
1041CONFIG_QUOTA=y
1042# CONFIG_QFMT_V1 is not set
1043CONFIG_QFMT_V2=y
1044CONFIG_QUOTACTL=y
1045CONFIG_DNOTIFY=y
1046# CONFIG_AUTOFS_FS is not set
1047# CONFIG_AUTOFS4_FS is not set
1048# CONFIG_FUSE_FS is not set
1049
1050#
1051# CD-ROM/DVD Filesystems
1052#
1053# CONFIG_ISO9660_FS is not set
1054# CONFIG_UDF_FS is not set
1055
1056#
1057# DOS/FAT/NT Filesystems
1058#
1059CONFIG_FAT_FS=y
1060CONFIG_MSDOS_FS=y
1061CONFIG_VFAT_FS=y
1062CONFIG_FAT_DEFAULT_CODEPAGE=437
1063CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1064# CONFIG_NTFS_FS is not set
1065
1066#
1067# Pseudo filesystems
1068#
1069CONFIG_PROC_FS=y
1070CONFIG_PROC_SYSCTL=y
1071CONFIG_SYSFS=y
1072CONFIG_TMPFS=y
1073# CONFIG_TMPFS_POSIX_ACL is not set
1074# CONFIG_HUGETLB_PAGE is not set
1075CONFIG_RAMFS=y
1076# CONFIG_CONFIGFS_FS is not set
1077
1078#
1079# Miscellaneous filesystems
1080#
1081# CONFIG_ADFS_FS is not set
1082# CONFIG_AFFS_FS is not set
1083# CONFIG_HFS_FS is not set
1084# CONFIG_HFSPLUS_FS is not set
1085# CONFIG_BEFS_FS is not set
1086# CONFIG_BFS_FS is not set
1087# CONFIG_EFS_FS is not set
1088CONFIG_JFFS2_FS=y
1089CONFIG_JFFS2_FS_DEBUG=0
1090CONFIG_JFFS2_FS_WRITEBUFFER=y
1091# CONFIG_JFFS2_SUMMARY is not set
1092# CONFIG_JFFS2_FS_XATTR is not set
1093CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1094CONFIG_JFFS2_ZLIB=y
1095CONFIG_JFFS2_RTIME=y
1096# CONFIG_JFFS2_RUBIN is not set
1097# CONFIG_JFFS2_CMODE_NONE is not set
1098CONFIG_JFFS2_CMODE_PRIORITY=y
1099# CONFIG_JFFS2_CMODE_SIZE is not set
1100# CONFIG_CRAMFS is not set
1101# CONFIG_VXFS_FS is not set
1102# CONFIG_HPFS_FS is not set
1103# CONFIG_QNX4FS_FS is not set
1104# CONFIG_SYSV_FS is not set
1105# CONFIG_UFS_FS is not set
1106
1107#
1108# Network File Systems
1109#
1110CONFIG_NFS_FS=y
1111CONFIG_NFS_V3=y
1112# CONFIG_NFS_V3_ACL is not set
1113# CONFIG_NFS_V4 is not set
1114# CONFIG_NFS_DIRECTIO is not set
1115# CONFIG_NFSD is not set
1116CONFIG_ROOT_NFS=y
1117CONFIG_LOCKD=y
1118CONFIG_LOCKD_V4=y
1119CONFIG_NFS_COMMON=y
1120CONFIG_SUNRPC=y
1121# CONFIG_SUNRPC_BIND34 is not set
1122# CONFIG_RPCSEC_GSS_KRB5 is not set
1123# CONFIG_RPCSEC_GSS_SPKM3 is not set
1124# CONFIG_SMB_FS is not set
1125# CONFIG_CIFS is not set
1126# CONFIG_NCP_FS is not set
1127# CONFIG_CODA_FS is not set
1128# CONFIG_AFS_FS is not set
1129
1130#
1131# Partition Types
1132#
1133CONFIG_PARTITION_ADVANCED=y
1134# CONFIG_ACORN_PARTITION is not set
1135# CONFIG_OSF_PARTITION is not set
1136# CONFIG_AMIGA_PARTITION is not set
1137# CONFIG_ATARI_PARTITION is not set
1138# CONFIG_MAC_PARTITION is not set
1139CONFIG_MSDOS_PARTITION=y
1140# CONFIG_BSD_DISKLABEL is not set
1141# CONFIG_MINIX_SUBPARTITION is not set
1142# CONFIG_SOLARIS_X86_PARTITION is not set
1143# CONFIG_UNIXWARE_DISKLABEL is not set
1144# CONFIG_LDM_PARTITION is not set
1145# CONFIG_SGI_PARTITION is not set
1146# CONFIG_ULTRIX_PARTITION is not set
1147# CONFIG_SUN_PARTITION is not set
1148# CONFIG_KARMA_PARTITION is not set
1149# CONFIG_EFI_PARTITION is not set
1150# CONFIG_SYSV68_PARTITION is not set
1151
1152#
1153# Native Language Support
1154#
1155CONFIG_NLS=y
1156CONFIG_NLS_DEFAULT="iso8859-1"
1157CONFIG_NLS_CODEPAGE_437=y
1158# CONFIG_NLS_CODEPAGE_737 is not set
1159# CONFIG_NLS_CODEPAGE_775 is not set
1160# CONFIG_NLS_CODEPAGE_850 is not set
1161# CONFIG_NLS_CODEPAGE_852 is not set
1162# CONFIG_NLS_CODEPAGE_855 is not set
1163# CONFIG_NLS_CODEPAGE_857 is not set
1164# CONFIG_NLS_CODEPAGE_860 is not set
1165# CONFIG_NLS_CODEPAGE_861 is not set
1166# CONFIG_NLS_CODEPAGE_862 is not set
1167# CONFIG_NLS_CODEPAGE_863 is not set
1168# CONFIG_NLS_CODEPAGE_864 is not set
1169# CONFIG_NLS_CODEPAGE_865 is not set
1170# CONFIG_NLS_CODEPAGE_866 is not set
1171# CONFIG_NLS_CODEPAGE_869 is not set
1172# CONFIG_NLS_CODEPAGE_936 is not set
1173# CONFIG_NLS_CODEPAGE_950 is not set
1174# CONFIG_NLS_CODEPAGE_932 is not set
1175# CONFIG_NLS_CODEPAGE_949 is not set
1176# CONFIG_NLS_CODEPAGE_874 is not set
1177# CONFIG_NLS_ISO8859_8 is not set
1178# CONFIG_NLS_CODEPAGE_1250 is not set
1179# CONFIG_NLS_CODEPAGE_1251 is not set
1180# CONFIG_NLS_ASCII is not set
1181# CONFIG_NLS_ISO8859_1 is not set
1182# CONFIG_NLS_ISO8859_2 is not set
1183# CONFIG_NLS_ISO8859_3 is not set
1184# CONFIG_NLS_ISO8859_4 is not set
1185# CONFIG_NLS_ISO8859_5 is not set
1186# CONFIG_NLS_ISO8859_6 is not set
1187# CONFIG_NLS_ISO8859_7 is not set
1188# CONFIG_NLS_ISO8859_9 is not set
1189# CONFIG_NLS_ISO8859_13 is not set
1190# CONFIG_NLS_ISO8859_14 is not set
1191# CONFIG_NLS_ISO8859_15 is not set
1192# CONFIG_NLS_KOI8_R is not set
1193# CONFIG_NLS_KOI8_U is not set
1194# CONFIG_NLS_UTF8 is not set
1195
1196#
1197# Distributed Lock Manager
1198#
1199# CONFIG_DLM is not set
1200
1201#
1202# Profiling support
1203#
1204# CONFIG_PROFILING is not set
1205
1206#
1207# Kernel hacking
1208#
1209# CONFIG_PRINTK_TIME is not set
1210CONFIG_ENABLE_MUST_CHECK=y
1211CONFIG_MAGIC_SYSRQ=y
1212# CONFIG_UNUSED_SYMBOLS is not set
1213# CONFIG_DEBUG_FS is not set
1214# CONFIG_HEADERS_CHECK is not set
1215CONFIG_DEBUG_KERNEL=y
1216# CONFIG_DEBUG_SHIRQ is not set
1217CONFIG_DETECT_SOFTLOCKUP=y
1218CONFIG_SCHED_DEBUG=y
1219# CONFIG_SCHEDSTATS is not set
1220CONFIG_TIMER_STATS=y
1221# CONFIG_DEBUG_SLAB is not set
1222CONFIG_DEBUG_PREEMPT=y
1223# CONFIG_DEBUG_RT_MUTEXES is not set
1224# CONFIG_RT_MUTEX_TESTER is not set
1225# CONFIG_DEBUG_SPINLOCK is not set
1226CONFIG_DEBUG_MUTEXES=y
1227# CONFIG_DEBUG_LOCK_ALLOC is not set
1228# CONFIG_PROVE_LOCKING is not set
1229# CONFIG_LOCK_STAT is not set
1230# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1231# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1232# CONFIG_DEBUG_KOBJECT is not set
1233# CONFIG_DEBUG_BUGVERBOSE is not set
1234# CONFIG_DEBUG_INFO is not set
1235# CONFIG_DEBUG_VM is not set
1236# CONFIG_DEBUG_LIST is not set
1237CONFIG_FRAME_POINTER=y
1238CONFIG_FORCED_INLINING=y
1239# CONFIG_RCU_TORTURE_TEST is not set
1240# CONFIG_FAULT_INJECTION is not set
1241# CONFIG_DEBUG_USER is not set
1242# CONFIG_DEBUG_ERRORS is not set
1243# CONFIG_DEBUG_LL is not set
1244
1245#
1246# Security options
1247#
1248# CONFIG_KEYS is not set
1249# CONFIG_SECURITY is not set
1250CONFIG_CRYPTO=y
1251CONFIG_CRYPTO_ALGAPI=y
1252CONFIG_CRYPTO_BLKCIPHER=y
1253CONFIG_CRYPTO_MANAGER=y
1254# CONFIG_CRYPTO_HMAC is not set
1255# CONFIG_CRYPTO_XCBC is not set
1256# CONFIG_CRYPTO_NULL is not set
1257# CONFIG_CRYPTO_MD4 is not set
1258CONFIG_CRYPTO_MD5=y
1259# CONFIG_CRYPTO_SHA1 is not set
1260# CONFIG_CRYPTO_SHA256 is not set
1261# CONFIG_CRYPTO_SHA512 is not set
1262# CONFIG_CRYPTO_WP512 is not set
1263# CONFIG_CRYPTO_TGR192 is not set
1264# CONFIG_CRYPTO_GF128MUL is not set
1265CONFIG_CRYPTO_ECB=m
1266CONFIG_CRYPTO_CBC=y
1267CONFIG_CRYPTO_PCBC=m
1268# CONFIG_CRYPTO_LRW is not set
1269# CONFIG_CRYPTO_CRYPTD is not set
1270CONFIG_CRYPTO_DES=y
1271# CONFIG_CRYPTO_FCRYPT is not set
1272# CONFIG_CRYPTO_BLOWFISH is not set
1273# CONFIG_CRYPTO_TWOFISH is not set
1274# CONFIG_CRYPTO_SERPENT is not set
1275# CONFIG_CRYPTO_AES is not set
1276# CONFIG_CRYPTO_CAST5 is not set
1277# CONFIG_CRYPTO_CAST6 is not set
1278# CONFIG_CRYPTO_TEA is not set
1279# CONFIG_CRYPTO_ARC4 is not set
1280# CONFIG_CRYPTO_KHAZAD is not set
1281# CONFIG_CRYPTO_ANUBIS is not set
1282# CONFIG_CRYPTO_DEFLATE is not set
1283# CONFIG_CRYPTO_MICHAEL_MIC is not set
1284# CONFIG_CRYPTO_CRC32C is not set
1285# CONFIG_CRYPTO_CAMELLIA is not set
1286# CONFIG_CRYPTO_TEST is not set
1287CONFIG_CRYPTO_HW=y
1288
1289#
1290# Library routines
1291#
1292CONFIG_BITREVERSE=y
1293CONFIG_CRC_CCITT=y
1294# CONFIG_CRC16 is not set
1295# CONFIG_CRC_ITU_T is not set
1296CONFIG_CRC32=y
1297# CONFIG_CRC7 is not set
1298CONFIG_LIBCRC32C=y
1299CONFIG_ZLIB_INFLATE=y
1300CONFIG_ZLIB_DEFLATE=y
1301CONFIG_PLIST=y
1302CONFIG_HAS_IOMEM=y
1303CONFIG_HAS_IOPORT=y
1304CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_apollon_2420_defconfig b/arch/arm/configs/omap_apollon_2420_defconfig
new file mode 100644
index 000000000000..bb39dfc72d69
--- /dev/null
+++ b/arch/arm/configs/omap_apollon_2420_defconfig
@@ -0,0 +1,962 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 12:07:29 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36# CONFIG_LOCALVERSION_AUTO is not set
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41CONFIG_BSD_PROCESS_ACCT=y
42# CONFIG_BSD_PROCESS_ACCT_V3 is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_USER_NS is not set
45# CONFIG_AUDIT is not set
46# CONFIG_IKCONFIG is not set
47CONFIG_LOG_BUF_SHIFT=14
48CONFIG_SYSFS_DEPRECATED=y
49# CONFIG_RELAY is not set
50# CONFIG_BLK_DEV_INITRD is not set
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58CONFIG_KALLSYMS_EXTRA_PASS=y
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80# CONFIG_MODULE_FORCE_UNLOAD is not set
81# CONFIG_MODVERSIONS is not set
82# CONFIG_MODULE_SRCVERSION_ALL is not set
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97# CONFIG_DEFAULT_AS is not set
98# CONFIG_DEFAULT_DEADLINE is not set
99CONFIG_DEFAULT_CFQ=y
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="cfq"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138CONFIG_ARCH_OMAP=y
139
140#
141# TI OMAP Implementations
142#
143CONFIG_ARCH_OMAP_OTG=y
144# CONFIG_ARCH_OMAP1 is not set
145CONFIG_ARCH_OMAP2=y
146# CONFIG_ARCH_OMAP3 is not set
147
148#
149# OMAP Feature Selections
150#
151# CONFIG_OMAP_RESET_CLOCKS is not set
152# CONFIG_OMAP_BOOT_TAG is not set
153# CONFIG_OMAP_GPIO_SWITCH is not set
154CONFIG_OMAP_MUX=y
155# CONFIG_OMAP_MUX_DEBUG is not set
156CONFIG_OMAP_MUX_WARNINGS=y
157# CONFIG_OMAP_STI is not set
158# CONFIG_OMAP_MCBSP is not set
159# CONFIG_OMAP_MMU_FWK is not set
160# CONFIG_OMAP_MBOX_FWK is not set
161# CONFIG_OMAP_MPU_TIMER is not set
162CONFIG_OMAP_32K_TIMER=y
163CONFIG_OMAP_32K_TIMER_HZ=128
164CONFIG_OMAP_DM_TIMER=y
165CONFIG_OMAP_LL_DEBUG_UART1=y
166# CONFIG_OMAP_LL_DEBUG_UART2 is not set
167# CONFIG_OMAP_LL_DEBUG_UART3 is not set
168CONFIG_OMAP_SERIAL_WAKE=y
169# CONFIG_OMAP_DSP is not set
170# CONFIG_MACH_OMAP_GENERIC is not set
171
172#
173# OMAP Core Type
174#
175CONFIG_ARCH_OMAP24XX=y
176CONFIG_ARCH_OMAP2420=y
177# CONFIG_ARCH_OMAP2430 is not set
178
179#
180# OMAP Board Type
181#
182# CONFIG_MACH_NOKIA_N800 is not set
183# CONFIG_MACH_OMAP_H4 is not set
184CONFIG_MACH_OMAP_APOLLON=y
185# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
186# CONFIG_MACH_OMAP_2430SDP is not set
187
188#
189# Boot options
190#
191
192#
193# Power management
194#
195
196#
197# Processor Type
198#
199CONFIG_CPU_32=y
200CONFIG_CPU_V6=y
201# CONFIG_CPU_32v6K is not set
202CONFIG_CPU_32v6=y
203CONFIG_CPU_ABRT_EV6=y
204CONFIG_CPU_PABRT_NOIFAR=y
205CONFIG_CPU_CACHE_V6=y
206CONFIG_CPU_CACHE_VIPT=y
207CONFIG_CPU_COPY_V6=y
208CONFIG_CPU_TLB_V6=y
209CONFIG_CPU_HAS_ASID=y
210CONFIG_CPU_CP15=y
211CONFIG_CPU_CP15_MMU=y
212
213#
214# Processor Features
215#
216# CONFIG_ARM_THUMB is not set
217# CONFIG_CPU_ICACHE_DISABLE is not set
218# CONFIG_CPU_DCACHE_DISABLE is not set
219# CONFIG_CPU_BPREDICT_DISABLE is not set
220# CONFIG_OUTER_CACHE is not set
221
222#
223# Bus support
224#
225# CONFIG_PCI_SYSCALL is not set
226# CONFIG_ARCH_SUPPORTS_MSI is not set
227
228#
229# PCCARD (PCMCIA/CardBus) support
230#
231# CONFIG_PCCARD is not set
232
233#
234# Kernel Features
235#
236# CONFIG_TICK_ONESHOT is not set
237# CONFIG_NO_HZ is not set
238# CONFIG_HIGH_RES_TIMERS is not set
239CONFIG_PREEMPT=y
240CONFIG_HZ=128
241# CONFIG_AEABI is not set
242# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
243CONFIG_SELECT_MEMORY_MODEL=y
244CONFIG_FLATMEM_MANUAL=y
245# CONFIG_DISCONTIGMEM_MANUAL is not set
246# CONFIG_SPARSEMEM_MANUAL is not set
247CONFIG_FLATMEM=y
248CONFIG_FLAT_NODE_MEM_MAP=y
249# CONFIG_SPARSEMEM_STATIC is not set
250CONFIG_SPLIT_PTLOCK_CPUS=4
251# CONFIG_RESOURCES_64BIT is not set
252CONFIG_ZONE_DMA_FLAG=1
253CONFIG_BOUNCE=y
254CONFIG_VIRT_TO_BUS=y
255# CONFIG_LEDS is not set
256CONFIG_ALIGNMENT_TRAP=y
257
258#
259# Boot options
260#
261CONFIG_ZBOOT_ROM_TEXT=0x0
262CONFIG_ZBOOT_ROM_BSS=0x0
263CONFIG_CMDLINE="root=/dev/ram0 rw mem=128M console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
264# CONFIG_XIP_KERNEL is not set
265# CONFIG_KEXEC is not set
266
267#
268# CPU Frequency scaling
269#
270# CONFIG_CPU_FREQ is not set
271
272#
273# Floating point emulation
274#
275
276#
277# At least one emulation must be selected
278#
279# CONFIG_FPE_NWFPE is not set
280# CONFIG_FPE_FASTFPE is not set
281CONFIG_VFP=y
282
283#
284# Userspace binary formats
285#
286CONFIG_BINFMT_ELF=y
287# CONFIG_BINFMT_AOUT is not set
288# CONFIG_BINFMT_MISC is not set
289# CONFIG_ARTHUR is not set
290
291#
292# Power management options
293#
294# CONFIG_PM is not set
295CONFIG_SUSPEND_UP_POSSIBLE=y
296
297#
298# Networking
299#
300CONFIG_NET=y
301
302#
303# Networking options
304#
305CONFIG_PACKET=y
306# CONFIG_PACKET_MMAP is not set
307CONFIG_UNIX=y
308CONFIG_XFRM=y
309# CONFIG_XFRM_USER is not set
310# CONFIG_XFRM_SUB_POLICY is not set
311# CONFIG_XFRM_MIGRATE is not set
312# CONFIG_NET_KEY is not set
313CONFIG_INET=y
314# CONFIG_IP_MULTICAST is not set
315# CONFIG_IP_ADVANCED_ROUTER is not set
316CONFIG_IP_FIB_HASH=y
317CONFIG_IP_PNP=y
318CONFIG_IP_PNP_DHCP=y
319CONFIG_IP_PNP_BOOTP=y
320# CONFIG_IP_PNP_RARP is not set
321# CONFIG_NET_IPIP is not set
322# CONFIG_NET_IPGRE is not set
323# CONFIG_ARPD is not set
324# CONFIG_SYN_COOKIES is not set
325# CONFIG_INET_AH is not set
326# CONFIG_INET_ESP is not set
327# CONFIG_INET_IPCOMP is not set
328# CONFIG_INET_XFRM_TUNNEL is not set
329# CONFIG_INET_TUNNEL is not set
330CONFIG_INET_XFRM_MODE_TRANSPORT=y
331CONFIG_INET_XFRM_MODE_TUNNEL=y
332CONFIG_INET_XFRM_MODE_BEET=y
333CONFIG_INET_DIAG=y
334CONFIG_INET_TCP_DIAG=y
335# CONFIG_TCP_CONG_ADVANCED is not set
336CONFIG_TCP_CONG_CUBIC=y
337CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_TCP_MD5SIG is not set
339# CONFIG_IPV6 is not set
340# CONFIG_INET6_XFRM_TUNNEL is not set
341# CONFIG_INET6_TUNNEL is not set
342# CONFIG_NETWORK_SECMARK is not set
343# CONFIG_NETFILTER is not set
344# CONFIG_IP_DCCP is not set
345# CONFIG_IP_SCTP is not set
346# CONFIG_TIPC is not set
347# CONFIG_ATM is not set
348# CONFIG_BRIDGE is not set
349# CONFIG_VLAN_8021Q is not set
350# CONFIG_DECNET is not set
351# CONFIG_LLC2 is not set
352# CONFIG_IPX is not set
353# CONFIG_ATALK is not set
354# CONFIG_X25 is not set
355# CONFIG_LAPB is not set
356# CONFIG_ECONET is not set
357# CONFIG_WAN_ROUTER is not set
358
359#
360# QoS and/or fair queueing
361#
362# CONFIG_NET_SCHED is not set
363
364#
365# Network testing
366#
367# CONFIG_NET_PKTGEN is not set
368# CONFIG_HAMRADIO is not set
369# CONFIG_IRDA is not set
370# CONFIG_BT is not set
371# CONFIG_AF_RXRPC is not set
372
373#
374# Wireless
375#
376# CONFIG_CFG80211 is not set
377# CONFIG_WIRELESS_EXT is not set
378# CONFIG_MAC80211 is not set
379# CONFIG_IEEE80211 is not set
380# CONFIG_RFKILL is not set
381# CONFIG_NET_9P is not set
382
383#
384# Device Drivers
385#
386
387#
388# Generic Driver Options
389#
390CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y
392# CONFIG_FW_LOADER is not set
393# CONFIG_DEBUG_DRIVER is not set
394# CONFIG_DEBUG_DEVRES is not set
395# CONFIG_SYS_HYPERVISOR is not set
396# CONFIG_CONNECTOR is not set
397CONFIG_MTD=y
398# CONFIG_MTD_DEBUG is not set
399CONFIG_MTD_CONCAT=y
400CONFIG_MTD_PARTITIONS=y
401# CONFIG_MTD_REDBOOT_PARTS is not set
402CONFIG_MTD_CMDLINE_PARTS=y
403# CONFIG_MTD_AFS_PARTS is not set
404
405#
406# User Modules And Translation Layers
407#
408CONFIG_MTD_CHAR=y
409CONFIG_MTD_BLKDEVS=y
410CONFIG_MTD_BLOCK=y
411# CONFIG_FTL is not set
412# CONFIG_NFTL is not set
413# CONFIG_INFTL is not set
414# CONFIG_RFD_FTL is not set
415# CONFIG_SSFDC is not set
416
417#
418# RAM/ROM/Flash chip drivers
419#
420# CONFIG_MTD_CFI is not set
421# CONFIG_MTD_JEDECPROBE is not set
422CONFIG_MTD_MAP_BANK_WIDTH_1=y
423CONFIG_MTD_MAP_BANK_WIDTH_2=y
424CONFIG_MTD_MAP_BANK_WIDTH_4=y
425# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
426# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
427# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
428CONFIG_MTD_CFI_I1=y
429CONFIG_MTD_CFI_I2=y
430# CONFIG_MTD_CFI_I4 is not set
431# CONFIG_MTD_CFI_I8 is not set
432# CONFIG_MTD_RAM is not set
433# CONFIG_MTD_ROM is not set
434# CONFIG_MTD_ABSENT is not set
435
436#
437# Mapping drivers for chip access
438#
439# CONFIG_MTD_COMPLEX_MAPPINGS is not set
440# CONFIG_MTD_PLATRAM is not set
441
442#
443# Self-contained MTD device drivers
444#
445# CONFIG_MTD_DATAFLASH is not set
446# CONFIG_MTD_M25P80 is not set
447# CONFIG_MTD_SLRAM is not set
448# CONFIG_MTD_PHRAM is not set
449# CONFIG_MTD_MTDRAM is not set
450# CONFIG_MTD_BLOCK2MTD is not set
451
452#
453# Disk-On-Chip Device Drivers
454#
455# CONFIG_MTD_DOC2000 is not set
456# CONFIG_MTD_DOC2001 is not set
457# CONFIG_MTD_DOC2001PLUS is not set
458# CONFIG_MTD_NAND is not set
459CONFIG_MTD_ONENAND=y
460# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
461CONFIG_MTD_ONENAND_GENERIC=y
462# CONFIG_MTD_ONENAND_OMAP2 is not set
463# CONFIG_MTD_ONENAND_OTP is not set
464
465#
466# UBI - Unsorted block images
467#
468# CONFIG_MTD_UBI is not set
469# CONFIG_PARPORT is not set
470CONFIG_BLK_DEV=y
471# CONFIG_BLK_DEV_COW_COMMON is not set
472CONFIG_BLK_DEV_LOOP=y
473# CONFIG_BLK_DEV_CRYPTOLOOP is not set
474# CONFIG_BLK_DEV_NBD is not set
475# CONFIG_BLK_DEV_RAM is not set
476# CONFIG_CDROM_PKTCDVD is not set
477# CONFIG_ATA_OVER_ETH is not set
478
479#
480# SCSI device support
481#
482# CONFIG_RAID_ATTRS is not set
483# CONFIG_SCSI is not set
484# CONFIG_SCSI_DMA is not set
485# CONFIG_SCSI_NETLINK is not set
486# CONFIG_ATA is not set
487# CONFIG_MD is not set
488CONFIG_NETDEVICES=y
489# CONFIG_NETDEVICES_MULTIQUEUE is not set
490# CONFIG_DUMMY is not set
491# CONFIG_BONDING is not set
492# CONFIG_MACVLAN is not set
493# CONFIG_EQUALIZER is not set
494# CONFIG_TUN is not set
495# CONFIG_PHYLIB is not set
496CONFIG_NET_ETHERNET=y
497CONFIG_MII=y
498# CONFIG_AX88796 is not set
499CONFIG_SMC91X=y
500# CONFIG_DM9000 is not set
501CONFIG_NETDEV_1000=y
502CONFIG_NETDEV_10000=y
503
504#
505# Wireless LAN
506#
507# CONFIG_WLAN_PRE80211 is not set
508# CONFIG_WLAN_80211 is not set
509# CONFIG_WAN is not set
510# CONFIG_PPP is not set
511# CONFIG_SLIP is not set
512# CONFIG_SHAPER is not set
513# CONFIG_NETCONSOLE is not set
514# CONFIG_NETPOLL is not set
515# CONFIG_NET_POLL_CONTROLLER is not set
516# CONFIG_ISDN is not set
517
518#
519# Input device support
520#
521CONFIG_INPUT=y
522# CONFIG_INPUT_FF_MEMLESS is not set
523# CONFIG_INPUT_POLLDEV is not set
524
525#
526# Userland interfaces
527#
528CONFIG_INPUT_MOUSEDEV=y
529# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
530CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
531CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
532# CONFIG_INPUT_JOYDEV is not set
533# CONFIG_INPUT_TSDEV is not set
534# CONFIG_INPUT_EVDEV is not set
535# CONFIG_INPUT_EVBUG is not set
536
537#
538# Input Device Drivers
539#
540# CONFIG_INPUT_KEYBOARD is not set
541# CONFIG_INPUT_MOUSE is not set
542# CONFIG_INPUT_JOYSTICK is not set
543# CONFIG_INPUT_TABLET is not set
544# CONFIG_INPUT_TOUCHSCREEN is not set
545# CONFIG_INPUT_MISC is not set
546
547#
548# Hardware I/O ports
549#
550# CONFIG_SERIO is not set
551# CONFIG_GAMEPORT is not set
552
553#
554# Character devices
555#
556CONFIG_VT=y
557CONFIG_VT_CONSOLE=y
558CONFIG_HW_CONSOLE=y
559# CONFIG_VT_HW_CONSOLE_BINDING is not set
560# CONFIG_SERIAL_NONSTANDARD is not set
561
562#
563# Serial drivers
564#
565CONFIG_SERIAL_8250=y
566CONFIG_SERIAL_8250_CONSOLE=y
567CONFIG_SERIAL_8250_NR_UARTS=32
568CONFIG_SERIAL_8250_RUNTIME_UARTS=4
569CONFIG_SERIAL_8250_EXTENDED=y
570CONFIG_SERIAL_8250_MANY_PORTS=y
571CONFIG_SERIAL_8250_SHARE_IRQ=y
572CONFIG_SERIAL_8250_DETECT_IRQ=y
573CONFIG_SERIAL_8250_RSA=y
574
575#
576# Non-8250 serial port support
577#
578CONFIG_SERIAL_CORE=y
579CONFIG_SERIAL_CORE_CONSOLE=y
580CONFIG_UNIX98_PTYS=y
581# CONFIG_LEGACY_PTYS is not set
582# CONFIG_IPMI_HANDLER is not set
583CONFIG_WATCHDOG=y
584# CONFIG_WATCHDOG_NOWAYOUT is not set
585
586#
587# Watchdog Device Drivers
588#
589# CONFIG_SOFT_WATCHDOG is not set
590CONFIG_OMAP_WATCHDOG=y
591CONFIG_HW_RANDOM=y
592CONFIG_HW_RANDOM_OMAP=y
593# CONFIG_NVRAM is not set
594# CONFIG_R3964 is not set
595# CONFIG_RAW_DRIVER is not set
596# CONFIG_TCG_TPM is not set
597# CONFIG_I2C is not set
598
599#
600# SPI support
601#
602CONFIG_SPI=y
603# CONFIG_SPI_DEBUG is not set
604CONFIG_SPI_MASTER=y
605
606#
607# SPI Master Controller Drivers
608#
609# CONFIG_SPI_BITBANG is not set
610CONFIG_SPI_OMAP24XX=y
611
612#
613# SPI Protocol Masters
614#
615# CONFIG_SPI_AT25 is not set
616# CONFIG_SPI_TSC2101 is not set
617# CONFIG_SPI_TSC2102 is not set
618# CONFIG_SPI_TSC210X is not set
619# CONFIG_SPI_TSC2301 is not set
620# CONFIG_SPI_SPIDEV is not set
621# CONFIG_SPI_TLE62X0 is not set
622# CONFIG_W1 is not set
623# CONFIG_HWMON is not set
624CONFIG_MISC_DEVICES=y
625# CONFIG_EEPROM_93CX6 is not set
626
627#
628# Multifunction device drivers
629#
630# CONFIG_MFD_SM501 is not set
631# CONFIG_NEW_LEDS is not set
632
633#
634# Multimedia devices
635#
636# CONFIG_VIDEO_DEV is not set
637# CONFIG_DVB_CORE is not set
638CONFIG_DAB=y
639
640#
641# Graphics support
642#
643# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
644
645#
646# Display device support
647#
648# CONFIG_DISPLAY_SUPPORT is not set
649# CONFIG_VGASTATE is not set
650CONFIG_VIDEO_OUTPUT_CONTROL=m
651CONFIG_FB=y
652CONFIG_FIRMWARE_EDID=y
653# CONFIG_FB_DDC is not set
654# CONFIG_FB_CFB_FILLRECT is not set
655# CONFIG_FB_CFB_COPYAREA is not set
656# CONFIG_FB_CFB_IMAGEBLIT is not set
657# CONFIG_FB_SYS_FILLRECT is not set
658# CONFIG_FB_SYS_COPYAREA is not set
659# CONFIG_FB_SYS_IMAGEBLIT is not set
660# CONFIG_FB_SYS_FOPS is not set
661CONFIG_FB_DEFERRED_IO=y
662# CONFIG_FB_SVGALIB is not set
663# CONFIG_FB_MACMODES is not set
664# CONFIG_FB_BACKLIGHT is not set
665# CONFIG_FB_MODE_HELPERS is not set
666# CONFIG_FB_TILEBLITTING is not set
667
668#
669# Frame buffer hardware drivers
670#
671# CONFIG_FB_S1D13XXX is not set
672CONFIG_FB_OMAP=y
673# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
674# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
675CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
676# CONFIG_FB_VIRTUAL is not set
677
678#
679# Console display driver support
680#
681# CONFIG_VGA_CONSOLE is not set
682CONFIG_DUMMY_CONSOLE=y
683CONFIG_FRAMEBUFFER_CONSOLE=y
684# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
685# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
686CONFIG_FONTS=y
687CONFIG_FONT_8x8=y
688CONFIG_FONT_8x16=y
689# CONFIG_FONT_6x11 is not set
690# CONFIG_FONT_7x14 is not set
691# CONFIG_FONT_PEARL_8x8 is not set
692# CONFIG_FONT_ACORN_8x8 is not set
693# CONFIG_FONT_MINI_4x6 is not set
694# CONFIG_FONT_SUN8x16 is not set
695# CONFIG_FONT_SUN12x22 is not set
696# CONFIG_FONT_10x18 is not set
697CONFIG_LOGO=y
698# CONFIG_LOGO_LINUX_MONO is not set
699# CONFIG_LOGO_LINUX_VGA16 is not set
700CONFIG_LOGO_LINUX_CLUT224=y
701
702#
703# Sound
704#
705# CONFIG_SOUND is not set
706CONFIG_HID_SUPPORT=y
707# CONFIG_HID is not set
708CONFIG_USB_SUPPORT=y
709CONFIG_USB_ARCH_HAS_HCD=y
710CONFIG_USB_ARCH_HAS_OHCI=y
711# CONFIG_USB_ARCH_HAS_EHCI is not set
712# CONFIG_USB is not set
713# CONFIG_USB_MUSB_HDRC is not set
714# CONFIG_USB_GADGET_MUSB_HDRC is not set
715
716#
717# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
718#
719
720#
721# USB Gadget Support
722#
723CONFIG_USB_GADGET=y
724# CONFIG_USB_GADGET_DEBUG is not set
725# CONFIG_USB_GADGET_DEBUG_FILES is not set
726CONFIG_USB_GADGET_SELECTED=y
727# CONFIG_USB_GADGET_AMD5536UDC is not set
728# CONFIG_USB_GADGET_FSL_USB2 is not set
729# CONFIG_USB_GADGET_NET2280 is not set
730# CONFIG_USB_GADGET_PXA2XX is not set
731# CONFIG_USB_GADGET_M66592 is not set
732# CONFIG_USB_GADGET_GOKU is not set
733# CONFIG_USB_GADGET_LH7A40X is not set
734CONFIG_USB_GADGET_OMAP=y
735CONFIG_USB_OMAP=y
736# CONFIG_USB_GADGET_S3C2410 is not set
737# CONFIG_USB_GADGET_AT91 is not set
738# CONFIG_USB_GADGET_DUMMY_HCD is not set
739# CONFIG_USB_GADGET_DUALSPEED is not set
740# CONFIG_USB_ZERO is not set
741CONFIG_USB_ETH=m
742CONFIG_USB_ETH_RNDIS=y
743# CONFIG_USB_GADGETFS is not set
744CONFIG_USB_FILE_STORAGE=m
745# CONFIG_USB_FILE_STORAGE_TEST is not set
746# CONFIG_USB_G_SERIAL is not set
747# CONFIG_USB_MIDI_GADGET is not set
748CONFIG_MMC=y
749# CONFIG_MMC_DEBUG is not set
750# CONFIG_MMC_UNSAFE_RESUME is not set
751
752#
753# MMC/SD Card Drivers
754#
755CONFIG_MMC_BLOCK=y
756CONFIG_MMC_BLOCK_BOUNCE=y
757
758#
759# MMC/SD Host Controller Drivers
760#
761CONFIG_MMC_OMAP=y
762CONFIG_RTC_LIB=y
763# CONFIG_RTC_CLASS is not set
764
765#
766# DMA Engine support
767#
768# CONFIG_DMA_ENGINE is not set
769
770#
771# DMA Clients
772#
773
774#
775# DMA Devices
776#
777
778#
779# CBUS support
780#
781# CONFIG_CBUS is not set
782
783#
784# File systems
785#
786CONFIG_EXT2_FS=y
787# CONFIG_EXT2_FS_XATTR is not set
788# CONFIG_EXT2_FS_XIP is not set
789# CONFIG_EXT3_FS is not set
790# CONFIG_EXT4DEV_FS is not set
791# CONFIG_REISERFS_FS is not set
792# CONFIG_JFS_FS is not set
793# CONFIG_FS_POSIX_ACL is not set
794# CONFIG_XFS_FS is not set
795# CONFIG_GFS2_FS is not set
796# CONFIG_OCFS2_FS is not set
797# CONFIG_MINIX_FS is not set
798# CONFIG_ROMFS_FS is not set
799# CONFIG_INOTIFY is not set
800# CONFIG_QUOTA is not set
801CONFIG_DNOTIFY=y
802# CONFIG_AUTOFS_FS is not set
803CONFIG_AUTOFS4_FS=y
804# CONFIG_FUSE_FS is not set
805
806#
807# CD-ROM/DVD Filesystems
808#
809# CONFIG_ISO9660_FS is not set
810# CONFIG_UDF_FS is not set
811
812#
813# DOS/FAT/NT Filesystems
814#
815# CONFIG_MSDOS_FS is not set
816# CONFIG_VFAT_FS is not set
817# CONFIG_NTFS_FS is not set
818
819#
820# Pseudo filesystems
821#
822CONFIG_PROC_FS=y
823CONFIG_PROC_SYSCTL=y
824CONFIG_SYSFS=y
825CONFIG_TMPFS=y
826# CONFIG_TMPFS_POSIX_ACL is not set
827# CONFIG_HUGETLB_PAGE is not set
828CONFIG_RAMFS=y
829# CONFIG_CONFIGFS_FS is not set
830
831#
832# Miscellaneous filesystems
833#
834# CONFIG_ADFS_FS is not set
835# CONFIG_AFFS_FS is not set
836# CONFIG_HFS_FS is not set
837# CONFIG_HFSPLUS_FS is not set
838# CONFIG_BEFS_FS is not set
839# CONFIG_BFS_FS is not set
840# CONFIG_EFS_FS is not set
841CONFIG_JFFS2_FS=y
842CONFIG_JFFS2_FS_DEBUG=0
843CONFIG_JFFS2_FS_WRITEBUFFER=y
844# CONFIG_JFFS2_SUMMARY is not set
845# CONFIG_JFFS2_FS_XATTR is not set
846# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
847CONFIG_JFFS2_ZLIB=y
848CONFIG_JFFS2_RTIME=y
849# CONFIG_JFFS2_RUBIN is not set
850CONFIG_CRAMFS=y
851# CONFIG_VXFS_FS is not set
852# CONFIG_HPFS_FS is not set
853# CONFIG_QNX4FS_FS is not set
854# CONFIG_SYSV_FS is not set
855# CONFIG_UFS_FS is not set
856
857#
858# Network File Systems
859#
860CONFIG_NFS_FS=y
861CONFIG_NFS_V3=y
862# CONFIG_NFS_V3_ACL is not set
863# CONFIG_NFS_V4 is not set
864# CONFIG_NFS_DIRECTIO is not set
865# CONFIG_NFSD is not set
866CONFIG_ROOT_NFS=y
867CONFIG_LOCKD=y
868CONFIG_LOCKD_V4=y
869CONFIG_NFS_COMMON=y
870CONFIG_SUNRPC=y
871# CONFIG_SUNRPC_BIND34 is not set
872# CONFIG_RPCSEC_GSS_KRB5 is not set
873# CONFIG_RPCSEC_GSS_SPKM3 is not set
874# CONFIG_SMB_FS is not set
875# CONFIG_CIFS is not set
876# CONFIG_NCP_FS is not set
877# CONFIG_CODA_FS is not set
878# CONFIG_AFS_FS is not set
879
880#
881# Partition Types
882#
883# CONFIG_PARTITION_ADVANCED is not set
884CONFIG_MSDOS_PARTITION=y
885
886#
887# Native Language Support
888#
889# CONFIG_NLS is not set
890
891#
892# Distributed Lock Manager
893#
894# CONFIG_DLM is not set
895
896#
897# Profiling support
898#
899# CONFIG_PROFILING is not set
900
901#
902# Kernel hacking
903#
904# CONFIG_PRINTK_TIME is not set
905CONFIG_ENABLE_MUST_CHECK=y
906# CONFIG_MAGIC_SYSRQ is not set
907# CONFIG_UNUSED_SYMBOLS is not set
908# CONFIG_DEBUG_FS is not set
909# CONFIG_HEADERS_CHECK is not set
910CONFIG_DEBUG_KERNEL=y
911# CONFIG_DEBUG_SHIRQ is not set
912CONFIG_DETECT_SOFTLOCKUP=y
913CONFIG_SCHED_DEBUG=y
914# CONFIG_SCHEDSTATS is not set
915# CONFIG_TIMER_STATS is not set
916# CONFIG_DEBUG_SLAB is not set
917CONFIG_DEBUG_PREEMPT=y
918# CONFIG_DEBUG_RT_MUTEXES is not set
919# CONFIG_RT_MUTEX_TESTER is not set
920CONFIG_DEBUG_SPINLOCK=y
921CONFIG_DEBUG_MUTEXES=y
922# CONFIG_DEBUG_LOCK_ALLOC is not set
923# CONFIG_PROVE_LOCKING is not set
924# CONFIG_LOCK_STAT is not set
925CONFIG_DEBUG_SPINLOCK_SLEEP=y
926# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
927# CONFIG_DEBUG_KOBJECT is not set
928CONFIG_DEBUG_BUGVERBOSE=y
929# CONFIG_DEBUG_INFO is not set
930# CONFIG_DEBUG_VM is not set
931# CONFIG_DEBUG_LIST is not set
932CONFIG_FRAME_POINTER=y
933CONFIG_FORCED_INLINING=y
934# CONFIG_RCU_TORTURE_TEST is not set
935# CONFIG_FAULT_INJECTION is not set
936# CONFIG_DEBUG_USER is not set
937# CONFIG_DEBUG_ERRORS is not set
938# CONFIG_DEBUG_LL is not set
939
940#
941# Security options
942#
943# CONFIG_KEYS is not set
944# CONFIG_SECURITY is not set
945# CONFIG_CRYPTO is not set
946
947#
948# Library routines
949#
950CONFIG_BITREVERSE=y
951CONFIG_CRC_CCITT=y
952# CONFIG_CRC16 is not set
953# CONFIG_CRC_ITU_T is not set
954CONFIG_CRC32=y
955# CONFIG_CRC7 is not set
956CONFIG_LIBCRC32C=y
957CONFIG_ZLIB_INFLATE=y
958CONFIG_ZLIB_DEFLATE=y
959CONFIG_PLIST=y
960CONFIG_HAS_IOMEM=y
961CONFIG_HAS_IOPORT=y
962CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_generic_1510_defconfig b/arch/arm/configs/omap_generic_1510_defconfig
new file mode 100644
index 000000000000..4b1c252f2091
--- /dev/null
+++ b/arch/arm/configs/omap_generic_1510_defconfig
@@ -0,0 +1,1172 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 12:20:19 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set
43# CONFIG_USER_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80CONFIG_MODULE_FORCE_UNLOAD=y
81# CONFIG_MODVERSIONS is not set
82# CONFIG_MODULE_SRCVERSION_ALL is not set
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97# CONFIG_DEFAULT_AS is not set
98# CONFIG_DEFAULT_DEADLINE is not set
99CONFIG_DEFAULT_CFQ=y
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="cfq"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138CONFIG_ARCH_OMAP=y
139
140#
141# TI OMAP Implementations
142#
143CONFIG_ARCH_OMAP1=y
144# CONFIG_ARCH_OMAP2 is not set
145# CONFIG_ARCH_OMAP3 is not set
146
147#
148# OMAP Feature Selections
149#
150# CONFIG_OMAP_RESET_CLOCKS is not set
151# CONFIG_OMAP_BOOT_TAG is not set
152# CONFIG_OMAP_GPIO_SWITCH is not set
153CONFIG_OMAP_MUX=y
154# CONFIG_OMAP_MUX_DEBUG is not set
155CONFIG_OMAP_MUX_WARNINGS=y
156CONFIG_OMAP_MCBSP=y
157# CONFIG_OMAP_MMU_FWK is not set
158# CONFIG_OMAP_MBOX_FWK is not set
159CONFIG_OMAP_MPU_TIMER=y
160# CONFIG_OMAP_32K_TIMER is not set
161CONFIG_OMAP_LL_DEBUG_UART1=y
162# CONFIG_OMAP_LL_DEBUG_UART2 is not set
163# CONFIG_OMAP_LL_DEBUG_UART3 is not set
164CONFIG_OMAP_SERIAL_WAKE=y
165# CONFIG_OMAP_DSP is not set
166
167#
168# OMAP Core Type
169#
170# CONFIG_ARCH_OMAP730 is not set
171CONFIG_ARCH_OMAP15XX=y
172# CONFIG_ARCH_OMAP16XX is not set
173
174#
175# OMAP Board Type
176#
177# CONFIG_MACH_OMAP_INNOVATOR is not set
178# CONFIG_MACH_VOICEBLUE is not set
179# CONFIG_MACH_OMAP_PALMTE is not set
180# CONFIG_MACH_OMAP_PALMZ71 is not set
181# CONFIG_MACH_OMAP_PALMTT is not set
182# CONFIG_MACH_SX1 is not set
183# CONFIG_MACH_AMS_DELTA is not set
184CONFIG_MACH_OMAP_GENERIC=y
185
186#
187# OMAP CPU Speed
188#
189# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
190CONFIG_OMAP_ARM_168MHZ=y
191# CONFIG_OMAP_ARM_150MHZ is not set
192# CONFIG_OMAP_ARM_120MHZ is not set
193# CONFIG_OMAP_ARM_60MHZ is not set
194# CONFIG_OMAP_ARM_30MHZ is not set
195# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
196
197#
198# Boot options
199#
200
201#
202# Power management
203#
204
205#
206# Processor Type
207#
208CONFIG_CPU_32=y
209CONFIG_CPU_ARM925T=y
210CONFIG_CPU_32v4T=y
211CONFIG_CPU_ABRT_EV4T=y
212CONFIG_CPU_PABRT_NOIFAR=y
213CONFIG_CPU_CACHE_V4WT=y
214CONFIG_CPU_CACHE_VIVT=y
215CONFIG_CPU_COPY_V4WB=y
216CONFIG_CPU_TLB_V4WBI=y
217CONFIG_CPU_CP15=y
218CONFIG_CPU_CP15_MMU=y
219
220#
221# Processor Features
222#
223# CONFIG_ARM_THUMB is not set
224# CONFIG_CPU_ICACHE_DISABLE is not set
225# CONFIG_CPU_DCACHE_DISABLE is not set
226CONFIG_CPU_DCACHE_WRITETHROUGH=y
227# CONFIG_OUTER_CACHE is not set
228
229#
230# Bus support
231#
232# CONFIG_PCI_SYSCALL is not set
233# CONFIG_ARCH_SUPPORTS_MSI is not set
234
235#
236# PCCARD (PCMCIA/CardBus) support
237#
238# CONFIG_PCCARD is not set
239
240#
241# Kernel Features
242#
243# CONFIG_TICK_ONESHOT is not set
244# CONFIG_NO_HZ is not set
245# CONFIG_HIGH_RES_TIMERS is not set
246CONFIG_PREEMPT=y
247CONFIG_HZ=100
248# CONFIG_AEABI is not set
249# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
250CONFIG_SELECT_MEMORY_MODEL=y
251CONFIG_FLATMEM_MANUAL=y
252# CONFIG_DISCONTIGMEM_MANUAL is not set
253# CONFIG_SPARSEMEM_MANUAL is not set
254CONFIG_FLATMEM=y
255CONFIG_FLAT_NODE_MEM_MAP=y
256# CONFIG_SPARSEMEM_STATIC is not set
257CONFIG_SPLIT_PTLOCK_CPUS=4096
258# CONFIG_RESOURCES_64BIT is not set
259CONFIG_ZONE_DMA_FLAG=1
260CONFIG_BOUNCE=y
261CONFIG_VIRT_TO_BUS=y
262# CONFIG_LEDS is not set
263CONFIG_ALIGNMENT_TRAP=y
264
265#
266# Boot options
267#
268CONFIG_ZBOOT_ROM_TEXT=0x0
269CONFIG_ZBOOT_ROM_BSS=0x0
270CONFIG_CMDLINE="mem=64M console=ttyS2,115200 root=0803 ro init=/bin/sh"
271# CONFIG_XIP_KERNEL is not set
272# CONFIG_KEXEC is not set
273
274#
275# CPU Frequency scaling
276#
277# CONFIG_CPU_FREQ is not set
278
279#
280# Floating point emulation
281#
282
283#
284# At least one emulation must be selected
285#
286CONFIG_FPE_NWFPE=y
287# CONFIG_FPE_NWFPE_XP is not set
288# CONFIG_FPE_FASTFPE is not set
289
290#
291# Userspace binary formats
292#
293CONFIG_BINFMT_ELF=y
294# CONFIG_BINFMT_AOUT is not set
295# CONFIG_BINFMT_MISC is not set
296# CONFIG_ARTHUR is not set
297
298#
299# Power management options
300#
301CONFIG_PM=y
302# CONFIG_PM_LEGACY is not set
303# CONFIG_PM_DEBUG is not set
304CONFIG_PM_SLEEP=y
305CONFIG_SUSPEND_UP_POSSIBLE=y
306CONFIG_SUSPEND=y
307# CONFIG_APM_EMULATION is not set
308
309#
310# Networking
311#
312CONFIG_NET=y
313
314#
315# Networking options
316#
317CONFIG_PACKET=y
318# CONFIG_PACKET_MMAP is not set
319CONFIG_UNIX=y
320CONFIG_XFRM=y
321# CONFIG_XFRM_USER is not set
322# CONFIG_XFRM_SUB_POLICY is not set
323# CONFIG_XFRM_MIGRATE is not set
324# CONFIG_NET_KEY is not set
325CONFIG_INET=y
326CONFIG_IP_MULTICAST=y
327# CONFIG_IP_ADVANCED_ROUTER is not set
328CONFIG_IP_FIB_HASH=y
329CONFIG_IP_PNP=y
330CONFIG_IP_PNP_DHCP=y
331CONFIG_IP_PNP_BOOTP=y
332# CONFIG_IP_PNP_RARP is not set
333# CONFIG_NET_IPIP is not set
334# CONFIG_NET_IPGRE is not set
335# CONFIG_IP_MROUTE is not set
336# CONFIG_ARPD is not set
337# CONFIG_SYN_COOKIES is not set
338# CONFIG_INET_AH is not set
339# CONFIG_INET_ESP is not set
340# CONFIG_INET_IPCOMP is not set
341# CONFIG_INET_XFRM_TUNNEL is not set
342# CONFIG_INET_TUNNEL is not set
343CONFIG_INET_XFRM_MODE_TRANSPORT=y
344CONFIG_INET_XFRM_MODE_TUNNEL=y
345CONFIG_INET_XFRM_MODE_BEET=y
346CONFIG_INET_DIAG=y
347CONFIG_INET_TCP_DIAG=y
348# CONFIG_TCP_CONG_ADVANCED is not set
349CONFIG_TCP_CONG_CUBIC=y
350CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_TCP_MD5SIG is not set
352# CONFIG_IPV6 is not set
353# CONFIG_INET6_XFRM_TUNNEL is not set
354# CONFIG_INET6_TUNNEL is not set
355# CONFIG_NETWORK_SECMARK is not set
356# CONFIG_NETFILTER is not set
357# CONFIG_IP_DCCP is not set
358# CONFIG_IP_SCTP is not set
359# CONFIG_TIPC is not set
360# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set
362# CONFIG_VLAN_8021Q is not set
363# CONFIG_DECNET is not set
364# CONFIG_LLC2 is not set
365# CONFIG_IPX is not set
366# CONFIG_ATALK is not set
367# CONFIG_X25 is not set
368# CONFIG_LAPB is not set
369# CONFIG_ECONET is not set
370# CONFIG_WAN_ROUTER is not set
371
372#
373# QoS and/or fair queueing
374#
375# CONFIG_NET_SCHED is not set
376
377#
378# Network testing
379#
380# CONFIG_NET_PKTGEN is not set
381# CONFIG_HAMRADIO is not set
382# CONFIG_IRDA is not set
383# CONFIG_BT is not set
384# CONFIG_AF_RXRPC is not set
385
386#
387# Wireless
388#
389# CONFIG_CFG80211 is not set
390# CONFIG_WIRELESS_EXT is not set
391# CONFIG_MAC80211 is not set
392# CONFIG_IEEE80211 is not set
393# CONFIG_RFKILL is not set
394# CONFIG_NET_9P is not set
395
396#
397# Device Drivers
398#
399
400#
401# Generic Driver Options
402#
403CONFIG_STANDALONE=y
404CONFIG_PREVENT_FIRMWARE_BUILD=y
405# CONFIG_FW_LOADER is not set
406# CONFIG_DEBUG_DRIVER is not set
407# CONFIG_DEBUG_DEVRES is not set
408# CONFIG_SYS_HYPERVISOR is not set
409# CONFIG_CONNECTOR is not set
410# CONFIG_MTD is not set
411# CONFIG_PARPORT is not set
412CONFIG_BLK_DEV=y
413# CONFIG_BLK_DEV_COW_COMMON is not set
414CONFIG_BLK_DEV_LOOP=y
415# CONFIG_BLK_DEV_CRYPTOLOOP is not set
416# CONFIG_BLK_DEV_NBD is not set
417# CONFIG_BLK_DEV_UB is not set
418CONFIG_BLK_DEV_RAM=y
419CONFIG_BLK_DEV_RAM_COUNT=16
420CONFIG_BLK_DEV_RAM_SIZE=8192
421CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
422# CONFIG_CDROM_PKTCDVD is not set
423# CONFIG_ATA_OVER_ETH is not set
424
425#
426# SCSI device support
427#
428# CONFIG_RAID_ATTRS is not set
429CONFIG_SCSI=y
430CONFIG_SCSI_DMA=y
431# CONFIG_SCSI_TGT is not set
432# CONFIG_SCSI_NETLINK is not set
433CONFIG_SCSI_PROC_FS=y
434
435#
436# SCSI support type (disk, tape, CD-ROM)
437#
438CONFIG_BLK_DEV_SD=y
439# CONFIG_CHR_DEV_ST is not set
440# CONFIG_CHR_DEV_OSST is not set
441CONFIG_BLK_DEV_SR=y
442# CONFIG_BLK_DEV_SR_VENDOR is not set
443CONFIG_CHR_DEV_SG=y
444# CONFIG_CHR_DEV_SCH is not set
445
446#
447# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
448#
449CONFIG_SCSI_MULTI_LUN=y
450# CONFIG_SCSI_CONSTANTS is not set
451# CONFIG_SCSI_LOGGING is not set
452# CONFIG_SCSI_SCAN_ASYNC is not set
453CONFIG_SCSI_WAIT_SCAN=m
454
455#
456# SCSI Transports
457#
458# CONFIG_SCSI_SPI_ATTRS is not set
459# CONFIG_SCSI_FC_ATTRS is not set
460# CONFIG_SCSI_ISCSI_ATTRS is not set
461# CONFIG_SCSI_SAS_LIBSAS is not set
462CONFIG_SCSI_LOWLEVEL=y
463# CONFIG_ISCSI_TCP is not set
464# CONFIG_SCSI_DEBUG is not set
465# CONFIG_ATA is not set
466# CONFIG_MD is not set
467CONFIG_NETDEVICES=y
468# CONFIG_NETDEVICES_MULTIQUEUE is not set
469# CONFIG_DUMMY is not set
470# CONFIG_BONDING is not set
471# CONFIG_MACVLAN is not set
472# CONFIG_EQUALIZER is not set
473# CONFIG_TUN is not set
474# CONFIG_PHYLIB is not set
475CONFIG_NET_ETHERNET=y
476CONFIG_MII=y
477# CONFIG_AX88796 is not set
478# CONFIG_SMC91X is not set
479# CONFIG_DM9000 is not set
480CONFIG_NETDEV_1000=y
481CONFIG_NETDEV_10000=y
482
483#
484# Wireless LAN
485#
486# CONFIG_WLAN_PRE80211 is not set
487# CONFIG_WLAN_80211 is not set
488
489#
490# USB Network Adapters
491#
492# CONFIG_USB_CATC is not set
493# CONFIG_USB_KAWETH is not set
494# CONFIG_USB_PEGASUS is not set
495CONFIG_USB_RTL8150=y
496CONFIG_USB_USBNET_MII=y
497CONFIG_USB_USBNET=y
498CONFIG_USB_NET_AX8817X=y
499CONFIG_USB_NET_CDCETHER=y
500# CONFIG_USB_NET_DM9601 is not set
501# CONFIG_USB_NET_GL620A is not set
502CONFIG_USB_NET_NET1080=y
503# CONFIG_USB_NET_PLUSB is not set
504# CONFIG_USB_NET_MCS7830 is not set
505# CONFIG_USB_NET_RNDIS_HOST is not set
506CONFIG_USB_NET_CDC_SUBSET=y
507# CONFIG_USB_ALI_M5632 is not set
508CONFIG_USB_AN2720=y
509CONFIG_USB_BELKIN=y
510CONFIG_USB_ARMLINUX=y
511CONFIG_USB_EPSON2888=y
512# CONFIG_USB_KC2190 is not set
513CONFIG_USB_NET_ZAURUS=y
514# CONFIG_WAN is not set
515CONFIG_PPP=y
516CONFIG_PPP_MULTILINK=y
517# CONFIG_PPP_FILTER is not set
518# CONFIG_PPP_ASYNC is not set
519# CONFIG_PPP_SYNC_TTY is not set
520# CONFIG_PPP_DEFLATE is not set
521# CONFIG_PPP_BSDCOMP is not set
522# CONFIG_PPP_MPPE is not set
523# CONFIG_PPPOE is not set
524# CONFIG_PPPOL2TP is not set
525# CONFIG_SLIP is not set
526CONFIG_SLHC=y
527# CONFIG_SHAPER is not set
528# CONFIG_NETCONSOLE is not set
529# CONFIG_NETPOLL is not set
530# CONFIG_NET_POLL_CONTROLLER is not set
531# CONFIG_ISDN is not set
532
533#
534# Input device support
535#
536CONFIG_INPUT=y
537# CONFIG_INPUT_FF_MEMLESS is not set
538# CONFIG_INPUT_POLLDEV is not set
539
540#
541# Userland interfaces
542#
543CONFIG_INPUT_MOUSEDEV=y
544CONFIG_INPUT_MOUSEDEV_PSAUX=y
545CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
546CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
547# CONFIG_INPUT_JOYDEV is not set
548# CONFIG_INPUT_TSDEV is not set
549# CONFIG_INPUT_EVDEV is not set
550# CONFIG_INPUT_EVBUG is not set
551
552#
553# Input Device Drivers
554#
555CONFIG_INPUT_KEYBOARD=y
556CONFIG_KEYBOARD_ATKBD=y
557# CONFIG_KEYBOARD_SUNKBD is not set
558# CONFIG_KEYBOARD_LKKBD is not set
559# CONFIG_KEYBOARD_XTKBD is not set
560# CONFIG_KEYBOARD_NEWTON is not set
561# CONFIG_KEYBOARD_STOWAWAY is not set
562CONFIG_KEYBOARD_OMAP=y
563# CONFIG_KEYBOARD_GPIO is not set
564# CONFIG_INPUT_MOUSE is not set
565# CONFIG_INPUT_JOYSTICK is not set
566# CONFIG_INPUT_TABLET is not set
567# CONFIG_INPUT_TOUCHSCREEN is not set
568# CONFIG_INPUT_MISC is not set
569
570#
571# Hardware I/O ports
572#
573CONFIG_SERIO=y
574CONFIG_SERIO_SERPORT=y
575CONFIG_SERIO_LIBPS2=y
576# CONFIG_SERIO_RAW is not set
577# CONFIG_GAMEPORT is not set
578
579#
580# Character devices
581#
582CONFIG_VT=y
583CONFIG_VT_CONSOLE=y
584CONFIG_HW_CONSOLE=y
585# CONFIG_VT_HW_CONSOLE_BINDING is not set
586# CONFIG_SERIAL_NONSTANDARD is not set
587
588#
589# Serial drivers
590#
591CONFIG_SERIAL_8250=y
592CONFIG_SERIAL_8250_CONSOLE=y
593CONFIG_SERIAL_8250_NR_UARTS=4
594CONFIG_SERIAL_8250_RUNTIME_UARTS=4
595# CONFIG_SERIAL_8250_EXTENDED is not set
596
597#
598# Non-8250 serial port support
599#
600CONFIG_SERIAL_CORE=y
601CONFIG_SERIAL_CORE_CONSOLE=y
602CONFIG_UNIX98_PTYS=y
603# CONFIG_LEGACY_PTYS is not set
604# CONFIG_IPMI_HANDLER is not set
605# CONFIG_WATCHDOG is not set
606CONFIG_HW_RANDOM=m
607# CONFIG_NVRAM is not set
608# CONFIG_R3964 is not set
609# CONFIG_RAW_DRIVER is not set
610# CONFIG_TCG_TPM is not set
611CONFIG_I2C=y
612CONFIG_I2C_BOARDINFO=y
613CONFIG_I2C_CHARDEV=y
614
615#
616# I2C Algorithms
617#
618CONFIG_I2C_ALGOBIT=y
619# CONFIG_I2C_ALGOPCF is not set
620# CONFIG_I2C_ALGOPCA is not set
621
622#
623# I2C Hardware Bus support
624#
625# CONFIG_I2C_GPIO is not set
626# CONFIG_I2C_OCORES is not set
627# CONFIG_I2C_OMAP is not set
628# CONFIG_I2C_PARPORT_LIGHT is not set
629# CONFIG_I2C_SIMTEC is not set
630# CONFIG_I2C_TAOS_EVM is not set
631# CONFIG_I2C_STUB is not set
632# CONFIG_I2C_TINY_USB is not set
633
634#
635# Miscellaneous I2C Chip support
636#
637# CONFIG_SENSORS_DS1337 is not set
638# CONFIG_SENSORS_DS1374 is not set
639# CONFIG_DS1682 is not set
640# CONFIG_SENSORS_EEPROM is not set
641# CONFIG_SENSORS_PCF8574 is not set
642# CONFIG_SENSORS_PCA9539 is not set
643# CONFIG_SENSORS_PCF8591 is not set
644# CONFIG_TPS65010 is not set
645# CONFIG_SENSORS_MAX6875 is not set
646# CONFIG_SENSORS_TSL2550 is not set
647# CONFIG_I2C_DEBUG_CORE is not set
648# CONFIG_I2C_DEBUG_ALGO is not set
649# CONFIG_I2C_DEBUG_BUS is not set
650# CONFIG_I2C_DEBUG_CHIP is not set
651
652#
653# SPI support
654#
655# CONFIG_SPI is not set
656# CONFIG_SPI_MASTER is not set
657# CONFIG_W1 is not set
658CONFIG_HWMON=y
659# CONFIG_HWMON_VID is not set
660# CONFIG_SENSORS_ABITUGURU is not set
661# CONFIG_SENSORS_ABITUGURU3 is not set
662# CONFIG_SENSORS_AD7418 is not set
663# CONFIG_SENSORS_ADM1021 is not set
664# CONFIG_SENSORS_ADM1025 is not set
665# CONFIG_SENSORS_ADM1026 is not set
666# CONFIG_SENSORS_ADM1029 is not set
667# CONFIG_SENSORS_ADM1031 is not set
668# CONFIG_SENSORS_ADM9240 is not set
669# CONFIG_SENSORS_ASB100 is not set
670# CONFIG_SENSORS_ATXP1 is not set
671# CONFIG_SENSORS_DS1621 is not set
672# CONFIG_SENSORS_F71805F is not set
673# CONFIG_SENSORS_FSCHER is not set
674# CONFIG_SENSORS_FSCPOS is not set
675# CONFIG_SENSORS_GL518SM is not set
676# CONFIG_SENSORS_GL520SM is not set
677# CONFIG_SENSORS_IT87 is not set
678# CONFIG_SENSORS_LM63 is not set
679# CONFIG_SENSORS_LM75 is not set
680# CONFIG_SENSORS_LM77 is not set
681# CONFIG_SENSORS_LM78 is not set
682# CONFIG_SENSORS_LM80 is not set
683# CONFIG_SENSORS_LM83 is not set
684# CONFIG_SENSORS_LM85 is not set
685# CONFIG_SENSORS_LM87 is not set
686# CONFIG_SENSORS_LM90 is not set
687# CONFIG_SENSORS_LM92 is not set
688# CONFIG_SENSORS_LM93 is not set
689# CONFIG_SENSORS_MAX1619 is not set
690# CONFIG_SENSORS_MAX6650 is not set
691# CONFIG_SENSORS_PC87360 is not set
692# CONFIG_SENSORS_PC87427 is not set
693# CONFIG_SENSORS_DME1737 is not set
694# CONFIG_SENSORS_SMSC47M1 is not set
695# CONFIG_SENSORS_SMSC47M192 is not set
696# CONFIG_SENSORS_SMSC47B397 is not set
697# CONFIG_SENSORS_THMC50 is not set
698# CONFIG_SENSORS_VT1211 is not set
699# CONFIG_SENSORS_W83781D is not set
700# CONFIG_SENSORS_W83791D is not set
701# CONFIG_SENSORS_W83792D is not set
702# CONFIG_SENSORS_W83793 is not set
703# CONFIG_SENSORS_W83L785TS is not set
704# CONFIG_SENSORS_W83627HF is not set
705# CONFIG_SENSORS_W83627EHF is not set
706# CONFIG_HWMON_DEBUG_CHIP is not set
707CONFIG_MISC_DEVICES=y
708# CONFIG_EEPROM_93CX6 is not set
709
710#
711# Multifunction device drivers
712#
713# CONFIG_MFD_SM501 is not set
714# CONFIG_NEW_LEDS is not set
715
716#
717# Multimedia devices
718#
719# CONFIG_VIDEO_DEV is not set
720# CONFIG_DVB_CORE is not set
721CONFIG_DAB=y
722# CONFIG_USB_DABUSB is not set
723
724#
725# Graphics support
726#
727# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
728
729#
730# Display device support
731#
732# CONFIG_DISPLAY_SUPPORT is not set
733# CONFIG_VGASTATE is not set
734CONFIG_VIDEO_OUTPUT_CONTROL=m
735# CONFIG_FB is not set
736
737#
738# Console display driver support
739#
740# CONFIG_VGA_CONSOLE is not set
741CONFIG_DUMMY_CONSOLE=y
742
743#
744# Sound
745#
746# CONFIG_SOUND is not set
747CONFIG_HID_SUPPORT=y
748CONFIG_HID=y
749# CONFIG_HID_DEBUG is not set
750
751#
752# USB Input Devices
753#
754CONFIG_USB_HID=y
755# CONFIG_USB_HIDINPUT_POWERBOOK is not set
756# CONFIG_HID_FF is not set
757# CONFIG_USB_HIDDEV is not set
758CONFIG_USB_SUPPORT=y
759CONFIG_USB_ARCH_HAS_HCD=y
760CONFIG_USB_ARCH_HAS_OHCI=y
761# CONFIG_USB_ARCH_HAS_EHCI is not set
762CONFIG_USB=y
763CONFIG_USB_DEBUG=y
764
765#
766# Miscellaneous USB options
767#
768CONFIG_USB_DEVICEFS=y
769# CONFIG_USB_DEVICE_CLASS is not set
770# CONFIG_USB_DYNAMIC_MINORS is not set
771# CONFIG_USB_SUSPEND is not set
772# CONFIG_USB_PERSIST is not set
773# CONFIG_USB_OTG is not set
774
775#
776# USB Host Controller Drivers
777#
778# CONFIG_USB_ISP116X_HCD is not set
779CONFIG_USB_OHCI_HCD=y
780# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
781# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
782CONFIG_USB_OHCI_LITTLE_ENDIAN=y
783# CONFIG_USB_SL811_HCD is not set
784# CONFIG_USB_R8A66597_HCD is not set
785# CONFIG_USB_MUSB_HDRC is not set
786
787#
788# USB Device Class drivers
789#
790# CONFIG_USB_ACM is not set
791# CONFIG_USB_PRINTER is not set
792
793#
794# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
795#
796
797#
798# may also be needed; see USB_STORAGE Help for more information
799#
800CONFIG_USB_STORAGE=y
801# CONFIG_USB_STORAGE_DEBUG is not set
802CONFIG_USB_STORAGE_DATAFAB=y
803CONFIG_USB_STORAGE_FREECOM=y
804CONFIG_USB_STORAGE_DPCM=y
805# CONFIG_USB_STORAGE_USBAT is not set
806CONFIG_USB_STORAGE_SDDR09=y
807CONFIG_USB_STORAGE_SDDR55=y
808CONFIG_USB_STORAGE_JUMPSHOT=y
809# CONFIG_USB_STORAGE_ALAUDA is not set
810# CONFIG_USB_STORAGE_KARMA is not set
811# CONFIG_USB_LIBUSUAL is not set
812
813#
814# USB Imaging devices
815#
816# CONFIG_USB_MDC800 is not set
817# CONFIG_USB_MICROTEK is not set
818CONFIG_USB_MON=y
819
820#
821# USB port drivers
822#
823
824#
825# USB Serial Converter support
826#
827# CONFIG_USB_SERIAL is not set
828
829#
830# USB Miscellaneous drivers
831#
832# CONFIG_USB_EMI62 is not set
833# CONFIG_USB_EMI26 is not set
834# CONFIG_USB_ADUTUX is not set
835# CONFIG_USB_AUERSWALD is not set
836# CONFIG_USB_RIO500 is not set
837# CONFIG_USB_LEGOTOWER is not set
838# CONFIG_USB_LCD is not set
839# CONFIG_USB_BERRY_CHARGE is not set
840# CONFIG_USB_LED is not set
841# CONFIG_USB_CYPRESS_CY7C63 is not set
842# CONFIG_USB_CYTHERM is not set
843# CONFIG_USB_PHIDGET is not set
844# CONFIG_USB_IDMOUSE is not set
845# CONFIG_USB_FTDI_ELAN is not set
846# CONFIG_USB_APPLEDISPLAY is not set
847# CONFIG_USB_LD is not set
848# CONFIG_USB_TRANCEVIBRATOR is not set
849# CONFIG_USB_IOWARRIOR is not set
850# CONFIG_USB_TEST is not set
851
852#
853# USB DSL modem support
854#
855
856#
857# USB Gadget Support
858#
859# CONFIG_USB_GADGET is not set
860CONFIG_MMC=y
861# CONFIG_MMC_DEBUG is not set
862# CONFIG_MMC_UNSAFE_RESUME is not set
863
864#
865# MMC/SD Card Drivers
866#
867CONFIG_MMC_BLOCK=y
868CONFIG_MMC_BLOCK_BOUNCE=y
869
870#
871# MMC/SD Host Controller Drivers
872#
873CONFIG_MMC_OMAP=y
874CONFIG_RTC_LIB=y
875CONFIG_RTC_CLASS=y
876CONFIG_RTC_HCTOSYS=y
877CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
878# CONFIG_RTC_DEBUG is not set
879
880#
881# RTC interfaces
882#
883CONFIG_RTC_INTF_SYSFS=y
884CONFIG_RTC_INTF_PROC=y
885CONFIG_RTC_INTF_DEV=y
886# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
887# CONFIG_RTC_DRV_TEST is not set
888
889#
890# I2C RTC drivers
891#
892# CONFIG_RTC_DRV_DS1307 is not set
893# CONFIG_RTC_DRV_DS1672 is not set
894# CONFIG_RTC_DRV_MAX6900 is not set
895# CONFIG_RTC_DRV_RS5C372 is not set
896# CONFIG_RTC_DRV_ISL1208 is not set
897# CONFIG_RTC_DRV_X1205 is not set
898# CONFIG_RTC_DRV_PCF8563 is not set
899# CONFIG_RTC_DRV_PCF8583 is not set
900# CONFIG_RTC_DRV_M41T80 is not set
901
902#
903# SPI RTC drivers
904#
905
906#
907# Platform RTC drivers
908#
909# CONFIG_RTC_DRV_CMOS is not set
910# CONFIG_RTC_DRV_DS1553 is not set
911# CONFIG_RTC_DRV_STK17TA8 is not set
912# CONFIG_RTC_DRV_DS1742 is not set
913# CONFIG_RTC_DRV_M48T86 is not set
914# CONFIG_RTC_DRV_M48T59 is not set
915# CONFIG_RTC_DRV_V3020 is not set
916
917#
918# on-CPU RTC drivers
919#
920CONFIG_RTC_DRV_OMAP=y
921
922#
923# DMA Engine support
924#
925# CONFIG_DMA_ENGINE is not set
926
927#
928# DMA Clients
929#
930
931#
932# DMA Devices
933#
934
935#
936# CBUS support
937#
938# CONFIG_CBUS is not set
939
940#
941# File systems
942#
943CONFIG_EXT2_FS=y
944# CONFIG_EXT2_FS_XATTR is not set
945# CONFIG_EXT2_FS_XIP is not set
946CONFIG_EXT3_FS=y
947CONFIG_EXT3_FS_XATTR=y
948# CONFIG_EXT3_FS_POSIX_ACL is not set
949# CONFIG_EXT3_FS_SECURITY is not set
950# CONFIG_EXT4DEV_FS is not set
951CONFIG_JBD=y
952# CONFIG_JBD_DEBUG is not set
953CONFIG_FS_MBCACHE=y
954# CONFIG_REISERFS_FS is not set
955# CONFIG_JFS_FS is not set
956# CONFIG_FS_POSIX_ACL is not set
957# CONFIG_XFS_FS is not set
958# CONFIG_GFS2_FS is not set
959# CONFIG_OCFS2_FS is not set
960# CONFIG_MINIX_FS is not set
961# CONFIG_ROMFS_FS is not set
962CONFIG_INOTIFY=y
963CONFIG_INOTIFY_USER=y
964# CONFIG_QUOTA is not set
965CONFIG_DNOTIFY=y
966CONFIG_AUTOFS_FS=y
967CONFIG_AUTOFS4_FS=y
968# CONFIG_FUSE_FS is not set
969
970#
971# CD-ROM/DVD Filesystems
972#
973CONFIG_ISO9660_FS=y
974CONFIG_JOLIET=y
975# CONFIG_ZISOFS is not set
976# CONFIG_UDF_FS is not set
977
978#
979# DOS/FAT/NT Filesystems
980#
981CONFIG_FAT_FS=m
982CONFIG_MSDOS_FS=m
983CONFIG_VFAT_FS=m
984CONFIG_FAT_DEFAULT_CODEPAGE=437
985CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
986# CONFIG_NTFS_FS is not set
987
988#
989# Pseudo filesystems
990#
991CONFIG_PROC_FS=y
992CONFIG_PROC_SYSCTL=y
993CONFIG_SYSFS=y
994# CONFIG_TMPFS is not set
995# CONFIG_HUGETLB_PAGE is not set
996CONFIG_RAMFS=y
997# CONFIG_CONFIGFS_FS is not set
998
999#
1000# Miscellaneous filesystems
1001#
1002# CONFIG_ADFS_FS is not set
1003# CONFIG_AFFS_FS is not set
1004# CONFIG_HFS_FS is not set
1005# CONFIG_HFSPLUS_FS is not set
1006# CONFIG_BEFS_FS is not set
1007# CONFIG_BFS_FS is not set
1008# CONFIG_EFS_FS is not set
1009# CONFIG_CRAMFS is not set
1010# CONFIG_VXFS_FS is not set
1011# CONFIG_HPFS_FS is not set
1012# CONFIG_QNX4FS_FS is not set
1013# CONFIG_SYSV_FS is not set
1014# CONFIG_UFS_FS is not set
1015
1016#
1017# Network File Systems
1018#
1019CONFIG_NFS_FS=y
1020# CONFIG_NFS_V3 is not set
1021# CONFIG_NFS_V4 is not set
1022# CONFIG_NFS_DIRECTIO is not set
1023# CONFIG_NFSD is not set
1024# CONFIG_ROOT_NFS is not set
1025CONFIG_LOCKD=y
1026CONFIG_NFS_COMMON=y
1027CONFIG_SUNRPC=y
1028# CONFIG_SUNRPC_BIND34 is not set
1029# CONFIG_RPCSEC_GSS_KRB5 is not set
1030# CONFIG_RPCSEC_GSS_SPKM3 is not set
1031# CONFIG_SMB_FS is not set
1032# CONFIG_CIFS is not set
1033# CONFIG_NCP_FS is not set
1034# CONFIG_CODA_FS is not set
1035# CONFIG_AFS_FS is not set
1036
1037#
1038# Partition Types
1039#
1040CONFIG_PARTITION_ADVANCED=y
1041# CONFIG_ACORN_PARTITION is not set
1042# CONFIG_OSF_PARTITION is not set
1043# CONFIG_AMIGA_PARTITION is not set
1044# CONFIG_ATARI_PARTITION is not set
1045# CONFIG_MAC_PARTITION is not set
1046CONFIG_MSDOS_PARTITION=y
1047# CONFIG_BSD_DISKLABEL is not set
1048# CONFIG_MINIX_SUBPARTITION is not set
1049# CONFIG_SOLARIS_X86_PARTITION is not set
1050# CONFIG_UNIXWARE_DISKLABEL is not set
1051# CONFIG_LDM_PARTITION is not set
1052# CONFIG_SGI_PARTITION is not set
1053# CONFIG_ULTRIX_PARTITION is not set
1054# CONFIG_SUN_PARTITION is not set
1055# CONFIG_KARMA_PARTITION is not set
1056# CONFIG_EFI_PARTITION is not set
1057# CONFIG_SYSV68_PARTITION is not set
1058
1059#
1060# Native Language Support
1061#
1062CONFIG_NLS=y
1063CONFIG_NLS_DEFAULT="iso8859-1"
1064# CONFIG_NLS_CODEPAGE_437 is not set
1065# CONFIG_NLS_CODEPAGE_737 is not set
1066# CONFIG_NLS_CODEPAGE_775 is not set
1067# CONFIG_NLS_CODEPAGE_850 is not set
1068# CONFIG_NLS_CODEPAGE_852 is not set
1069# CONFIG_NLS_CODEPAGE_855 is not set
1070# CONFIG_NLS_CODEPAGE_857 is not set
1071# CONFIG_NLS_CODEPAGE_860 is not set
1072# CONFIG_NLS_CODEPAGE_861 is not set
1073# CONFIG_NLS_CODEPAGE_862 is not set
1074# CONFIG_NLS_CODEPAGE_863 is not set
1075# CONFIG_NLS_CODEPAGE_864 is not set
1076# CONFIG_NLS_CODEPAGE_865 is not set
1077# CONFIG_NLS_CODEPAGE_866 is not set
1078# CONFIG_NLS_CODEPAGE_869 is not set
1079# CONFIG_NLS_CODEPAGE_936 is not set
1080# CONFIG_NLS_CODEPAGE_950 is not set
1081# CONFIG_NLS_CODEPAGE_932 is not set
1082# CONFIG_NLS_CODEPAGE_949 is not set
1083# CONFIG_NLS_CODEPAGE_874 is not set
1084# CONFIG_NLS_ISO8859_8 is not set
1085# CONFIG_NLS_CODEPAGE_1250 is not set
1086# CONFIG_NLS_CODEPAGE_1251 is not set
1087# CONFIG_NLS_ASCII is not set
1088# CONFIG_NLS_ISO8859_1 is not set
1089# CONFIG_NLS_ISO8859_2 is not set
1090# CONFIG_NLS_ISO8859_3 is not set
1091# CONFIG_NLS_ISO8859_4 is not set
1092# CONFIG_NLS_ISO8859_5 is not set
1093# CONFIG_NLS_ISO8859_6 is not set
1094# CONFIG_NLS_ISO8859_7 is not set
1095# CONFIG_NLS_ISO8859_9 is not set
1096# CONFIG_NLS_ISO8859_13 is not set
1097# CONFIG_NLS_ISO8859_14 is not set
1098# CONFIG_NLS_ISO8859_15 is not set
1099# CONFIG_NLS_KOI8_R is not set
1100# CONFIG_NLS_KOI8_U is not set
1101# CONFIG_NLS_UTF8 is not set
1102
1103#
1104# Distributed Lock Manager
1105#
1106# CONFIG_DLM is not set
1107
1108#
1109# Profiling support
1110#
1111# CONFIG_PROFILING is not set
1112
1113#
1114# Kernel hacking
1115#
1116# CONFIG_PRINTK_TIME is not set
1117CONFIG_ENABLE_MUST_CHECK=y
1118CONFIG_MAGIC_SYSRQ=y
1119# CONFIG_UNUSED_SYMBOLS is not set
1120# CONFIG_DEBUG_FS is not set
1121# CONFIG_HEADERS_CHECK is not set
1122CONFIG_DEBUG_KERNEL=y
1123# CONFIG_DEBUG_SHIRQ is not set
1124CONFIG_DETECT_SOFTLOCKUP=y
1125CONFIG_SCHED_DEBUG=y
1126# CONFIG_SCHEDSTATS is not set
1127# CONFIG_TIMER_STATS is not set
1128# CONFIG_DEBUG_SLAB is not set
1129CONFIG_DEBUG_PREEMPT=y
1130# CONFIG_DEBUG_RT_MUTEXES is not set
1131# CONFIG_RT_MUTEX_TESTER is not set
1132# CONFIG_DEBUG_SPINLOCK is not set
1133# CONFIG_DEBUG_MUTEXES is not set
1134# CONFIG_DEBUG_LOCK_ALLOC is not set
1135# CONFIG_PROVE_LOCKING is not set
1136# CONFIG_LOCK_STAT is not set
1137# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1138# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1139# CONFIG_DEBUG_KOBJECT is not set
1140CONFIG_DEBUG_BUGVERBOSE=y
1141# CONFIG_DEBUG_INFO is not set
1142# CONFIG_DEBUG_VM is not set
1143# CONFIG_DEBUG_LIST is not set
1144CONFIG_FRAME_POINTER=y
1145CONFIG_FORCED_INLINING=y
1146# CONFIG_RCU_TORTURE_TEST is not set
1147# CONFIG_FAULT_INJECTION is not set
1148# CONFIG_DEBUG_USER is not set
1149# CONFIG_DEBUG_ERRORS is not set
1150# CONFIG_DEBUG_LL is not set
1151
1152#
1153# Security options
1154#
1155# CONFIG_KEYS is not set
1156# CONFIG_SECURITY is not set
1157# CONFIG_CRYPTO is not set
1158
1159#
1160# Library routines
1161#
1162CONFIG_BITREVERSE=y
1163# CONFIG_CRC_CCITT is not set
1164# CONFIG_CRC16 is not set
1165# CONFIG_CRC_ITU_T is not set
1166CONFIG_CRC32=y
1167# CONFIG_CRC7 is not set
1168# CONFIG_LIBCRC32C is not set
1169CONFIG_PLIST=y
1170CONFIG_HAS_IOMEM=y
1171CONFIG_HAS_IOPORT=y
1172CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_generic_1610_defconfig b/arch/arm/configs/omap_generic_1610_defconfig
new file mode 100644
index 000000000000..fc66f019d56c
--- /dev/null
+++ b/arch/arm/configs/omap_generic_1610_defconfig
@@ -0,0 +1,1178 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 13:01:27 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set
43# CONFIG_USER_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80CONFIG_MODULE_FORCE_UNLOAD=y
81# CONFIG_MODVERSIONS is not set
82# CONFIG_MODULE_SRCVERSION_ALL is not set
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97# CONFIG_DEFAULT_AS is not set
98# CONFIG_DEFAULT_DEADLINE is not set
99CONFIG_DEFAULT_CFQ=y
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="cfq"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138CONFIG_ARCH_OMAP=y
139
140#
141# TI OMAP Implementations
142#
143CONFIG_ARCH_OMAP_OTG=y
144CONFIG_ARCH_OMAP1=y
145# CONFIG_ARCH_OMAP2 is not set
146# CONFIG_ARCH_OMAP3 is not set
147
148#
149# OMAP Feature Selections
150#
151# CONFIG_OMAP_RESET_CLOCKS is not set
152# CONFIG_OMAP_BOOT_TAG is not set
153# CONFIG_OMAP_GPIO_SWITCH is not set
154CONFIG_OMAP_MUX=y
155# CONFIG_OMAP_MUX_DEBUG is not set
156CONFIG_OMAP_MUX_WARNINGS=y
157# CONFIG_OMAP_STI is not set
158CONFIG_OMAP_MCBSP=y
159# CONFIG_OMAP_MMU_FWK is not set
160# CONFIG_OMAP_MBOX_FWK is not set
161CONFIG_OMAP_MPU_TIMER=y
162# CONFIG_OMAP_32K_TIMER is not set
163# CONFIG_OMAP_DM_TIMER is not set
164CONFIG_OMAP_LL_DEBUG_UART1=y
165# CONFIG_OMAP_LL_DEBUG_UART2 is not set
166# CONFIG_OMAP_LL_DEBUG_UART3 is not set
167CONFIG_OMAP_SERIAL_WAKE=y
168# CONFIG_OMAP_DSP is not set
169
170#
171# OMAP Core Type
172#
173# CONFIG_ARCH_OMAP730 is not set
174# CONFIG_ARCH_OMAP15XX is not set
175CONFIG_ARCH_OMAP16XX=y
176
177#
178# OMAP Board Type
179#
180# CONFIG_MACH_OMAP_INNOVATOR is not set
181# CONFIG_MACH_OMAP_H2 is not set
182# CONFIG_MACH_OMAP_H3 is not set
183# CONFIG_MACH_OMAP_OSK is not set
184# CONFIG_MACH_NOKIA770 is not set
185CONFIG_MACH_OMAP_GENERIC=y
186
187#
188# OMAP CPU Speed
189#
190# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
191# CONFIG_OMAP_ARM_216MHZ is not set
192CONFIG_OMAP_ARM_192MHZ=y
193# CONFIG_OMAP_ARM_168MHZ is not set
194# CONFIG_OMAP_ARM_120MHZ is not set
195# CONFIG_OMAP_ARM_60MHZ is not set
196# CONFIG_OMAP_ARM_30MHZ is not set
197# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
198
199#
200# Boot options
201#
202
203#
204# Power management
205#
206
207#
208# Processor Type
209#
210CONFIG_CPU_32=y
211CONFIG_CPU_ARM926T=y
212CONFIG_CPU_32v5=y
213CONFIG_CPU_ABRT_EV5TJ=y
214CONFIG_CPU_PABRT_NOIFAR=y
215CONFIG_CPU_CACHE_VIVT=y
216CONFIG_CPU_COPY_V4WB=y
217CONFIG_CPU_TLB_V4WBI=y
218CONFIG_CPU_CP15=y
219CONFIG_CPU_CP15_MMU=y
220
221#
222# Processor Features
223#
224# CONFIG_ARM_THUMB is not set
225# CONFIG_CPU_ICACHE_DISABLE is not set
226# CONFIG_CPU_DCACHE_DISABLE is not set
227# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
228# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
229# CONFIG_OUTER_CACHE is not set
230
231#
232# Bus support
233#
234# CONFIG_PCI_SYSCALL is not set
235# CONFIG_ARCH_SUPPORTS_MSI is not set
236
237#
238# PCCARD (PCMCIA/CardBus) support
239#
240# CONFIG_PCCARD is not set
241
242#
243# Kernel Features
244#
245# CONFIG_TICK_ONESHOT is not set
246# CONFIG_NO_HZ is not set
247# CONFIG_HIGH_RES_TIMERS is not set
248CONFIG_PREEMPT=y
249CONFIG_HZ=100
250# CONFIG_AEABI is not set
251# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
252CONFIG_SELECT_MEMORY_MODEL=y
253CONFIG_FLATMEM_MANUAL=y
254# CONFIG_DISCONTIGMEM_MANUAL is not set
255# CONFIG_SPARSEMEM_MANUAL is not set
256CONFIG_FLATMEM=y
257CONFIG_FLAT_NODE_MEM_MAP=y
258# CONFIG_SPARSEMEM_STATIC is not set
259CONFIG_SPLIT_PTLOCK_CPUS=4096
260# CONFIG_RESOURCES_64BIT is not set
261CONFIG_ZONE_DMA_FLAG=1
262CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y
264# CONFIG_LEDS is not set
265CONFIG_ALIGNMENT_TRAP=y
266
267#
268# Boot options
269#
270CONFIG_ZBOOT_ROM_TEXT=0x0
271CONFIG_ZBOOT_ROM_BSS=0x0
272CONFIG_CMDLINE="mem=64M console=ttyS2,115200 root=0803 ro init=/bin/sh"
273# CONFIG_XIP_KERNEL is not set
274# CONFIG_KEXEC is not set
275
276#
277# CPU Frequency scaling
278#
279# CONFIG_CPU_FREQ is not set
280
281#
282# Floating point emulation
283#
284
285#
286# At least one emulation must be selected
287#
288CONFIG_FPE_NWFPE=y
289# CONFIG_FPE_NWFPE_XP is not set
290# CONFIG_FPE_FASTFPE is not set
291# CONFIG_VFP is not set
292
293#
294# Userspace binary formats
295#
296CONFIG_BINFMT_ELF=y
297# CONFIG_BINFMT_AOUT is not set
298# CONFIG_BINFMT_MISC is not set
299# CONFIG_ARTHUR is not set
300
301#
302# Power management options
303#
304CONFIG_PM=y
305# CONFIG_PM_LEGACY is not set
306# CONFIG_PM_DEBUG is not set
307CONFIG_PM_SLEEP=y
308CONFIG_SUSPEND_UP_POSSIBLE=y
309CONFIG_SUSPEND=y
310# CONFIG_APM_EMULATION is not set
311
312#
313# Networking
314#
315CONFIG_NET=y
316
317#
318# Networking options
319#
320CONFIG_PACKET=y
321# CONFIG_PACKET_MMAP is not set
322CONFIG_UNIX=y
323CONFIG_XFRM=y
324# CONFIG_XFRM_USER is not set
325# CONFIG_XFRM_SUB_POLICY is not set
326# CONFIG_XFRM_MIGRATE is not set
327# CONFIG_NET_KEY is not set
328CONFIG_INET=y
329CONFIG_IP_MULTICAST=y
330# CONFIG_IP_ADVANCED_ROUTER is not set
331CONFIG_IP_FIB_HASH=y
332CONFIG_IP_PNP=y
333CONFIG_IP_PNP_DHCP=y
334CONFIG_IP_PNP_BOOTP=y
335# CONFIG_IP_PNP_RARP is not set
336# CONFIG_NET_IPIP is not set
337# CONFIG_NET_IPGRE is not set
338# CONFIG_IP_MROUTE is not set
339# CONFIG_ARPD is not set
340# CONFIG_SYN_COOKIES is not set
341# CONFIG_INET_AH is not set
342# CONFIG_INET_ESP is not set
343# CONFIG_INET_IPCOMP is not set
344# CONFIG_INET_XFRM_TUNNEL is not set
345# CONFIG_INET_TUNNEL is not set
346CONFIG_INET_XFRM_MODE_TRANSPORT=y
347CONFIG_INET_XFRM_MODE_TUNNEL=y
348CONFIG_INET_XFRM_MODE_BEET=y
349CONFIG_INET_DIAG=y
350CONFIG_INET_TCP_DIAG=y
351# CONFIG_TCP_CONG_ADVANCED is not set
352CONFIG_TCP_CONG_CUBIC=y
353CONFIG_DEFAULT_TCP_CONG="cubic"
354# CONFIG_TCP_MD5SIG is not set
355# CONFIG_IPV6 is not set
356# CONFIG_INET6_XFRM_TUNNEL is not set
357# CONFIG_INET6_TUNNEL is not set
358# CONFIG_NETWORK_SECMARK is not set
359# CONFIG_NETFILTER is not set
360# CONFIG_IP_DCCP is not set
361# CONFIG_IP_SCTP is not set
362# CONFIG_TIPC is not set
363# CONFIG_ATM is not set
364# CONFIG_BRIDGE is not set
365# CONFIG_VLAN_8021Q is not set
366# CONFIG_DECNET is not set
367# CONFIG_LLC2 is not set
368# CONFIG_IPX is not set
369# CONFIG_ATALK is not set
370# CONFIG_X25 is not set
371# CONFIG_LAPB is not set
372# CONFIG_ECONET is not set
373# CONFIG_WAN_ROUTER is not set
374
375#
376# QoS and/or fair queueing
377#
378# CONFIG_NET_SCHED is not set
379
380#
381# Network testing
382#
383# CONFIG_NET_PKTGEN is not set
384# CONFIG_HAMRADIO is not set
385# CONFIG_IRDA is not set
386# CONFIG_BT is not set
387# CONFIG_AF_RXRPC is not set
388
389#
390# Wireless
391#
392# CONFIG_CFG80211 is not set
393# CONFIG_WIRELESS_EXT is not set
394# CONFIG_MAC80211 is not set
395# CONFIG_IEEE80211 is not set
396# CONFIG_RFKILL is not set
397# CONFIG_NET_9P is not set
398
399#
400# Device Drivers
401#
402
403#
404# Generic Driver Options
405#
406CONFIG_STANDALONE=y
407CONFIG_PREVENT_FIRMWARE_BUILD=y
408# CONFIG_FW_LOADER is not set
409# CONFIG_DEBUG_DRIVER is not set
410# CONFIG_DEBUG_DEVRES is not set
411# CONFIG_SYS_HYPERVISOR is not set
412# CONFIG_CONNECTOR is not set
413# CONFIG_MTD is not set
414# CONFIG_PARPORT is not set
415CONFIG_BLK_DEV=y
416# CONFIG_BLK_DEV_COW_COMMON is not set
417CONFIG_BLK_DEV_LOOP=y
418# CONFIG_BLK_DEV_CRYPTOLOOP is not set
419# CONFIG_BLK_DEV_NBD is not set
420# CONFIG_BLK_DEV_UB is not set
421CONFIG_BLK_DEV_RAM=y
422CONFIG_BLK_DEV_RAM_COUNT=16
423CONFIG_BLK_DEV_RAM_SIZE=8192
424CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
425# CONFIG_CDROM_PKTCDVD is not set
426# CONFIG_ATA_OVER_ETH is not set
427
428#
429# SCSI device support
430#
431# CONFIG_RAID_ATTRS is not set
432CONFIG_SCSI=y
433CONFIG_SCSI_DMA=y
434# CONFIG_SCSI_TGT is not set
435# CONFIG_SCSI_NETLINK is not set
436CONFIG_SCSI_PROC_FS=y
437
438#
439# SCSI support type (disk, tape, CD-ROM)
440#
441CONFIG_BLK_DEV_SD=y
442# CONFIG_CHR_DEV_ST is not set
443# CONFIG_CHR_DEV_OSST is not set
444CONFIG_BLK_DEV_SR=y
445# CONFIG_BLK_DEV_SR_VENDOR is not set
446CONFIG_CHR_DEV_SG=y
447# CONFIG_CHR_DEV_SCH is not set
448
449#
450# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
451#
452CONFIG_SCSI_MULTI_LUN=y
453# CONFIG_SCSI_CONSTANTS is not set
454# CONFIG_SCSI_LOGGING is not set
455# CONFIG_SCSI_SCAN_ASYNC is not set
456CONFIG_SCSI_WAIT_SCAN=m
457
458#
459# SCSI Transports
460#
461# CONFIG_SCSI_SPI_ATTRS is not set
462# CONFIG_SCSI_FC_ATTRS is not set
463# CONFIG_SCSI_ISCSI_ATTRS is not set
464# CONFIG_SCSI_SAS_LIBSAS is not set
465CONFIG_SCSI_LOWLEVEL=y
466# CONFIG_ISCSI_TCP is not set
467# CONFIG_SCSI_DEBUG is not set
468# CONFIG_ATA is not set
469# CONFIG_MD is not set
470CONFIG_NETDEVICES=y
471# CONFIG_NETDEVICES_MULTIQUEUE is not set
472# CONFIG_DUMMY is not set
473# CONFIG_BONDING is not set
474# CONFIG_MACVLAN is not set
475# CONFIG_EQUALIZER is not set
476# CONFIG_TUN is not set
477# CONFIG_PHYLIB is not set
478CONFIG_NET_ETHERNET=y
479CONFIG_MII=y
480# CONFIG_AX88796 is not set
481# CONFIG_SMC91X is not set
482# CONFIG_DM9000 is not set
483CONFIG_NETDEV_1000=y
484CONFIG_NETDEV_10000=y
485
486#
487# Wireless LAN
488#
489# CONFIG_WLAN_PRE80211 is not set
490# CONFIG_WLAN_80211 is not set
491
492#
493# USB Network Adapters
494#
495# CONFIG_USB_CATC is not set
496# CONFIG_USB_KAWETH is not set
497# CONFIG_USB_PEGASUS is not set
498CONFIG_USB_RTL8150=y
499CONFIG_USB_USBNET_MII=y
500CONFIG_USB_USBNET=y
501CONFIG_USB_NET_AX8817X=y
502CONFIG_USB_NET_CDCETHER=y
503# CONFIG_USB_NET_DM9601 is not set
504# CONFIG_USB_NET_GL620A is not set
505CONFIG_USB_NET_NET1080=y
506# CONFIG_USB_NET_PLUSB is not set
507# CONFIG_USB_NET_MCS7830 is not set
508# CONFIG_USB_NET_RNDIS_HOST is not set
509CONFIG_USB_NET_CDC_SUBSET=y
510CONFIG_USB_ALI_M5632=y
511CONFIG_USB_AN2720=y
512CONFIG_USB_BELKIN=y
513CONFIG_USB_ARMLINUX=y
514CONFIG_USB_EPSON2888=y
515# CONFIG_USB_KC2190 is not set
516CONFIG_USB_NET_ZAURUS=y
517# CONFIG_WAN is not set
518CONFIG_PPP=y
519CONFIG_PPP_MULTILINK=y
520# CONFIG_PPP_FILTER is not set
521# CONFIG_PPP_ASYNC is not set
522# CONFIG_PPP_SYNC_TTY is not set
523# CONFIG_PPP_DEFLATE is not set
524# CONFIG_PPP_BSDCOMP is not set
525# CONFIG_PPP_MPPE is not set
526# CONFIG_PPPOE is not set
527# CONFIG_PPPOL2TP is not set
528# CONFIG_SLIP is not set
529CONFIG_SLHC=y
530# CONFIG_SHAPER is not set
531# CONFIG_NETCONSOLE is not set
532# CONFIG_NETPOLL is not set
533# CONFIG_NET_POLL_CONTROLLER is not set
534# CONFIG_ISDN is not set
535
536#
537# Input device support
538#
539CONFIG_INPUT=y
540# CONFIG_INPUT_FF_MEMLESS is not set
541# CONFIG_INPUT_POLLDEV is not set
542
543#
544# Userland interfaces
545#
546CONFIG_INPUT_MOUSEDEV=y
547CONFIG_INPUT_MOUSEDEV_PSAUX=y
548CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
549CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
550# CONFIG_INPUT_JOYDEV is not set
551# CONFIG_INPUT_TSDEV is not set
552# CONFIG_INPUT_EVDEV is not set
553# CONFIG_INPUT_EVBUG is not set
554
555#
556# Input Device Drivers
557#
558CONFIG_INPUT_KEYBOARD=y
559CONFIG_KEYBOARD_ATKBD=y
560# CONFIG_KEYBOARD_SUNKBD is not set
561# CONFIG_KEYBOARD_LKKBD is not set
562# CONFIG_KEYBOARD_XTKBD is not set
563# CONFIG_KEYBOARD_NEWTON is not set
564# CONFIG_KEYBOARD_STOWAWAY is not set
565CONFIG_KEYBOARD_OMAP=y
566# CONFIG_KEYBOARD_GPIO is not set
567# CONFIG_INPUT_MOUSE is not set
568# CONFIG_INPUT_JOYSTICK is not set
569# CONFIG_INPUT_TABLET is not set
570# CONFIG_INPUT_TOUCHSCREEN is not set
571# CONFIG_INPUT_MISC is not set
572
573#
574# Hardware I/O ports
575#
576CONFIG_SERIO=y
577CONFIG_SERIO_SERPORT=y
578CONFIG_SERIO_LIBPS2=y
579# CONFIG_SERIO_RAW is not set
580# CONFIG_GAMEPORT is not set
581
582#
583# Character devices
584#
585CONFIG_VT=y
586CONFIG_VT_CONSOLE=y
587CONFIG_HW_CONSOLE=y
588# CONFIG_VT_HW_CONSOLE_BINDING is not set
589# CONFIG_SERIAL_NONSTANDARD is not set
590
591#
592# Serial drivers
593#
594CONFIG_SERIAL_8250=y
595CONFIG_SERIAL_8250_CONSOLE=y
596CONFIG_SERIAL_8250_NR_UARTS=4
597CONFIG_SERIAL_8250_RUNTIME_UARTS=4
598# CONFIG_SERIAL_8250_EXTENDED is not set
599
600#
601# Non-8250 serial port support
602#
603CONFIG_SERIAL_CORE=y
604CONFIG_SERIAL_CORE_CONSOLE=y
605CONFIG_UNIX98_PTYS=y
606# CONFIG_LEGACY_PTYS is not set
607# CONFIG_IPMI_HANDLER is not set
608# CONFIG_WATCHDOG is not set
609CONFIG_HW_RANDOM=m
610CONFIG_HW_RANDOM_OMAP=m
611# CONFIG_NVRAM is not set
612# CONFIG_R3964 is not set
613# CONFIG_RAW_DRIVER is not set
614# CONFIG_TCG_TPM is not set
615CONFIG_I2C=y
616CONFIG_I2C_BOARDINFO=y
617CONFIG_I2C_CHARDEV=y
618
619#
620# I2C Algorithms
621#
622CONFIG_I2C_ALGOBIT=y
623# CONFIG_I2C_ALGOPCF is not set
624# CONFIG_I2C_ALGOPCA is not set
625
626#
627# I2C Hardware Bus support
628#
629# CONFIG_I2C_GPIO is not set
630# CONFIG_I2C_OCORES is not set
631# CONFIG_I2C_OMAP is not set
632# CONFIG_I2C_PARPORT_LIGHT is not set
633# CONFIG_I2C_SIMTEC is not set
634# CONFIG_I2C_TAOS_EVM is not set
635# CONFIG_I2C_STUB is not set
636# CONFIG_I2C_TINY_USB is not set
637
638#
639# Miscellaneous I2C Chip support
640#
641# CONFIG_SENSORS_DS1337 is not set
642# CONFIG_SENSORS_DS1374 is not set
643# CONFIG_DS1682 is not set
644# CONFIG_SENSORS_EEPROM is not set
645# CONFIG_SENSORS_PCF8574 is not set
646# CONFIG_SENSORS_PCA9539 is not set
647# CONFIG_SENSORS_PCF8591 is not set
648# CONFIG_ISP1301_OMAP is not set
649# CONFIG_TPS65010 is not set
650# CONFIG_GPIOEXPANDER_OMAP is not set
651# CONFIG_SENSORS_MAX6875 is not set
652# CONFIG_SENSORS_TSL2550 is not set
653# CONFIG_I2C_DEBUG_CORE is not set
654# CONFIG_I2C_DEBUG_ALGO is not set
655# CONFIG_I2C_DEBUG_BUS is not set
656# CONFIG_I2C_DEBUG_CHIP is not set
657
658#
659# SPI support
660#
661# CONFIG_SPI is not set
662# CONFIG_SPI_MASTER is not set
663# CONFIG_W1 is not set
664CONFIG_HWMON=y
665# CONFIG_HWMON_VID is not set
666# CONFIG_SENSORS_ABITUGURU is not set
667# CONFIG_SENSORS_ABITUGURU3 is not set
668# CONFIG_SENSORS_AD7418 is not set
669# CONFIG_SENSORS_ADM1021 is not set
670# CONFIG_SENSORS_ADM1025 is not set
671# CONFIG_SENSORS_ADM1026 is not set
672# CONFIG_SENSORS_ADM1029 is not set
673# CONFIG_SENSORS_ADM1031 is not set
674# CONFIG_SENSORS_ADM9240 is not set
675# CONFIG_SENSORS_ASB100 is not set
676# CONFIG_SENSORS_ATXP1 is not set
677# CONFIG_SENSORS_DS1621 is not set
678# CONFIG_SENSORS_F71805F is not set
679# CONFIG_SENSORS_FSCHER is not set
680# CONFIG_SENSORS_FSCPOS is not set
681# CONFIG_SENSORS_GL518SM is not set
682# CONFIG_SENSORS_GL520SM is not set
683# CONFIG_SENSORS_IT87 is not set
684# CONFIG_SENSORS_LM63 is not set
685# CONFIG_SENSORS_LM75 is not set
686# CONFIG_SENSORS_LM77 is not set
687# CONFIG_SENSORS_LM78 is not set
688# CONFIG_SENSORS_LM80 is not set
689# CONFIG_SENSORS_LM83 is not set
690# CONFIG_SENSORS_LM85 is not set
691# CONFIG_SENSORS_LM87 is not set
692# CONFIG_SENSORS_LM90 is not set
693# CONFIG_SENSORS_LM92 is not set
694# CONFIG_SENSORS_LM93 is not set
695# CONFIG_SENSORS_MAX1619 is not set
696# CONFIG_SENSORS_MAX6650 is not set
697# CONFIG_SENSORS_PC87360 is not set
698# CONFIG_SENSORS_PC87427 is not set
699# CONFIG_SENSORS_DME1737 is not set
700# CONFIG_SENSORS_SMSC47M1 is not set
701# CONFIG_SENSORS_SMSC47M192 is not set
702# CONFIG_SENSORS_SMSC47B397 is not set
703# CONFIG_SENSORS_THMC50 is not set
704# CONFIG_SENSORS_VT1211 is not set
705# CONFIG_SENSORS_W83781D is not set
706# CONFIG_SENSORS_W83791D is not set
707# CONFIG_SENSORS_W83792D is not set
708# CONFIG_SENSORS_W83793 is not set
709# CONFIG_SENSORS_W83L785TS is not set
710# CONFIG_SENSORS_W83627HF is not set
711# CONFIG_SENSORS_W83627EHF is not set
712# CONFIG_HWMON_DEBUG_CHIP is not set
713CONFIG_MISC_DEVICES=y
714# CONFIG_EEPROM_93CX6 is not set
715
716#
717# Multifunction device drivers
718#
719# CONFIG_MFD_SM501 is not set
720# CONFIG_NEW_LEDS is not set
721
722#
723# Multimedia devices
724#
725# CONFIG_VIDEO_DEV is not set
726# CONFIG_DVB_CORE is not set
727CONFIG_DAB=y
728# CONFIG_USB_DABUSB is not set
729
730#
731# Graphics support
732#
733# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
734
735#
736# Display device support
737#
738# CONFIG_DISPLAY_SUPPORT is not set
739# CONFIG_VGASTATE is not set
740CONFIG_VIDEO_OUTPUT_CONTROL=m
741# CONFIG_FB is not set
742
743#
744# Console display driver support
745#
746# CONFIG_VGA_CONSOLE is not set
747CONFIG_DUMMY_CONSOLE=y
748
749#
750# Sound
751#
752# CONFIG_SOUND is not set
753CONFIG_HID_SUPPORT=y
754CONFIG_HID=y
755# CONFIG_HID_DEBUG is not set
756
757#
758# USB Input Devices
759#
760CONFIG_USB_HID=y
761# CONFIG_USB_HIDINPUT_POWERBOOK is not set
762# CONFIG_HID_FF is not set
763# CONFIG_USB_HIDDEV is not set
764CONFIG_USB_SUPPORT=y
765CONFIG_USB_ARCH_HAS_HCD=y
766CONFIG_USB_ARCH_HAS_OHCI=y
767# CONFIG_USB_ARCH_HAS_EHCI is not set
768CONFIG_USB=y
769CONFIG_USB_DEBUG=y
770
771#
772# Miscellaneous USB options
773#
774CONFIG_USB_DEVICEFS=y
775# CONFIG_USB_DEVICE_CLASS is not set
776# CONFIG_USB_DYNAMIC_MINORS is not set
777# CONFIG_USB_SUSPEND is not set
778# CONFIG_USB_PERSIST is not set
779# CONFIG_USB_OTG is not set
780
781#
782# USB Host Controller Drivers
783#
784# CONFIG_USB_ISP116X_HCD is not set
785CONFIG_USB_OHCI_HCD=y
786# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
787# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
788CONFIG_USB_OHCI_LITTLE_ENDIAN=y
789# CONFIG_USB_SL811_HCD is not set
790# CONFIG_USB_R8A66597_HCD is not set
791# CONFIG_USB_MUSB_HDRC is not set
792
793#
794# USB Device Class drivers
795#
796# CONFIG_USB_ACM is not set
797# CONFIG_USB_PRINTER is not set
798
799#
800# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
801#
802
803#
804# may also be needed; see USB_STORAGE Help for more information
805#
806CONFIG_USB_STORAGE=y
807# CONFIG_USB_STORAGE_DEBUG is not set
808CONFIG_USB_STORAGE_DATAFAB=y
809CONFIG_USB_STORAGE_FREECOM=y
810CONFIG_USB_STORAGE_DPCM=y
811# CONFIG_USB_STORAGE_USBAT is not set
812CONFIG_USB_STORAGE_SDDR09=y
813CONFIG_USB_STORAGE_SDDR55=y
814CONFIG_USB_STORAGE_JUMPSHOT=y
815# CONFIG_USB_STORAGE_ALAUDA is not set
816# CONFIG_USB_STORAGE_KARMA is not set
817# CONFIG_USB_LIBUSUAL is not set
818
819#
820# USB Imaging devices
821#
822# CONFIG_USB_MDC800 is not set
823# CONFIG_USB_MICROTEK is not set
824CONFIG_USB_MON=y
825
826#
827# USB port drivers
828#
829
830#
831# USB Serial Converter support
832#
833# CONFIG_USB_SERIAL is not set
834
835#
836# USB Miscellaneous drivers
837#
838# CONFIG_USB_EMI62 is not set
839# CONFIG_USB_EMI26 is not set
840# CONFIG_USB_ADUTUX is not set
841# CONFIG_USB_AUERSWALD is not set
842# CONFIG_USB_RIO500 is not set
843# CONFIG_USB_LEGOTOWER is not set
844# CONFIG_USB_LCD is not set
845# CONFIG_USB_BERRY_CHARGE is not set
846# CONFIG_USB_LED is not set
847# CONFIG_USB_CYPRESS_CY7C63 is not set
848# CONFIG_USB_CYTHERM is not set
849# CONFIG_USB_PHIDGET is not set
850# CONFIG_USB_IDMOUSE is not set
851# CONFIG_USB_FTDI_ELAN is not set
852# CONFIG_USB_APPLEDISPLAY is not set
853# CONFIG_USB_LD is not set
854# CONFIG_USB_TRANCEVIBRATOR is not set
855# CONFIG_USB_IOWARRIOR is not set
856# CONFIG_USB_TEST is not set
857
858#
859# USB DSL modem support
860#
861
862#
863# USB Gadget Support
864#
865# CONFIG_USB_GADGET is not set
866CONFIG_MMC=y
867# CONFIG_MMC_DEBUG is not set
868# CONFIG_MMC_UNSAFE_RESUME is not set
869
870#
871# MMC/SD Card Drivers
872#
873CONFIG_MMC_BLOCK=y
874CONFIG_MMC_BLOCK_BOUNCE=y
875
876#
877# MMC/SD Host Controller Drivers
878#
879CONFIG_MMC_OMAP=y
880CONFIG_RTC_LIB=y
881CONFIG_RTC_CLASS=y
882CONFIG_RTC_HCTOSYS=y
883CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
884# CONFIG_RTC_DEBUG is not set
885
886#
887# RTC interfaces
888#
889CONFIG_RTC_INTF_SYSFS=y
890CONFIG_RTC_INTF_PROC=y
891CONFIG_RTC_INTF_DEV=y
892# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
893# CONFIG_RTC_DRV_TEST is not set
894
895#
896# I2C RTC drivers
897#
898# CONFIG_RTC_DRV_DS1307 is not set
899# CONFIG_RTC_DRV_DS1672 is not set
900# CONFIG_RTC_DRV_MAX6900 is not set
901# CONFIG_RTC_DRV_RS5C372 is not set
902# CONFIG_RTC_DRV_ISL1208 is not set
903# CONFIG_RTC_DRV_X1205 is not set
904# CONFIG_RTC_DRV_PCF8563 is not set
905# CONFIG_RTC_DRV_PCF8583 is not set
906# CONFIG_RTC_DRV_M41T80 is not set
907
908#
909# SPI RTC drivers
910#
911
912#
913# Platform RTC drivers
914#
915# CONFIG_RTC_DRV_CMOS is not set
916# CONFIG_RTC_DRV_DS1553 is not set
917# CONFIG_RTC_DRV_STK17TA8 is not set
918# CONFIG_RTC_DRV_DS1742 is not set
919# CONFIG_RTC_DRV_M48T86 is not set
920# CONFIG_RTC_DRV_M48T59 is not set
921# CONFIG_RTC_DRV_V3020 is not set
922
923#
924# on-CPU RTC drivers
925#
926CONFIG_RTC_DRV_OMAP=y
927
928#
929# DMA Engine support
930#
931# CONFIG_DMA_ENGINE is not set
932
933#
934# DMA Clients
935#
936
937#
938# DMA Devices
939#
940
941#
942# CBUS support
943#
944# CONFIG_CBUS is not set
945
946#
947# File systems
948#
949CONFIG_EXT2_FS=y
950# CONFIG_EXT2_FS_XATTR is not set
951# CONFIG_EXT2_FS_XIP is not set
952CONFIG_EXT3_FS=y
953CONFIG_EXT3_FS_XATTR=y
954# CONFIG_EXT3_FS_POSIX_ACL is not set
955# CONFIG_EXT3_FS_SECURITY is not set
956# CONFIG_EXT4DEV_FS is not set
957CONFIG_JBD=y
958# CONFIG_JBD_DEBUG is not set
959CONFIG_FS_MBCACHE=y
960# CONFIG_REISERFS_FS is not set
961# CONFIG_JFS_FS is not set
962# CONFIG_FS_POSIX_ACL is not set
963# CONFIG_XFS_FS is not set
964# CONFIG_GFS2_FS is not set
965# CONFIG_OCFS2_FS is not set
966# CONFIG_MINIX_FS is not set
967# CONFIG_ROMFS_FS is not set
968CONFIG_INOTIFY=y
969CONFIG_INOTIFY_USER=y
970# CONFIG_QUOTA is not set
971CONFIG_DNOTIFY=y
972CONFIG_AUTOFS_FS=y
973CONFIG_AUTOFS4_FS=y
974# CONFIG_FUSE_FS is not set
975
976#
977# CD-ROM/DVD Filesystems
978#
979CONFIG_ISO9660_FS=y
980CONFIG_JOLIET=y
981# CONFIG_ZISOFS is not set
982# CONFIG_UDF_FS is not set
983
984#
985# DOS/FAT/NT Filesystems
986#
987CONFIG_FAT_FS=m
988CONFIG_MSDOS_FS=m
989CONFIG_VFAT_FS=m
990CONFIG_FAT_DEFAULT_CODEPAGE=437
991CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
992# CONFIG_NTFS_FS is not set
993
994#
995# Pseudo filesystems
996#
997CONFIG_PROC_FS=y
998CONFIG_PROC_SYSCTL=y
999CONFIG_SYSFS=y
1000# CONFIG_TMPFS is not set
1001# CONFIG_HUGETLB_PAGE is not set
1002CONFIG_RAMFS=y
1003# CONFIG_CONFIGFS_FS is not set
1004
1005#
1006# Miscellaneous filesystems
1007#
1008# CONFIG_ADFS_FS is not set
1009# CONFIG_AFFS_FS is not set
1010# CONFIG_HFS_FS is not set
1011# CONFIG_HFSPLUS_FS is not set
1012# CONFIG_BEFS_FS is not set
1013# CONFIG_BFS_FS is not set
1014# CONFIG_EFS_FS is not set
1015# CONFIG_CRAMFS is not set
1016# CONFIG_VXFS_FS is not set
1017# CONFIG_HPFS_FS is not set
1018# CONFIG_QNX4FS_FS is not set
1019# CONFIG_SYSV_FS is not set
1020# CONFIG_UFS_FS is not set
1021
1022#
1023# Network File Systems
1024#
1025CONFIG_NFS_FS=y
1026# CONFIG_NFS_V3 is not set
1027# CONFIG_NFS_V4 is not set
1028# CONFIG_NFS_DIRECTIO is not set
1029# CONFIG_NFSD is not set
1030# CONFIG_ROOT_NFS is not set
1031CONFIG_LOCKD=y
1032CONFIG_NFS_COMMON=y
1033CONFIG_SUNRPC=y
1034# CONFIG_SUNRPC_BIND34 is not set
1035# CONFIG_RPCSEC_GSS_KRB5 is not set
1036# CONFIG_RPCSEC_GSS_SPKM3 is not set
1037# CONFIG_SMB_FS is not set
1038# CONFIG_CIFS is not set
1039# CONFIG_NCP_FS is not set
1040# CONFIG_CODA_FS is not set
1041# CONFIG_AFS_FS is not set
1042
1043#
1044# Partition Types
1045#
1046CONFIG_PARTITION_ADVANCED=y
1047# CONFIG_ACORN_PARTITION is not set
1048# CONFIG_OSF_PARTITION is not set
1049# CONFIG_AMIGA_PARTITION is not set
1050# CONFIG_ATARI_PARTITION is not set
1051# CONFIG_MAC_PARTITION is not set
1052CONFIG_MSDOS_PARTITION=y
1053# CONFIG_BSD_DISKLABEL is not set
1054# CONFIG_MINIX_SUBPARTITION is not set
1055# CONFIG_SOLARIS_X86_PARTITION is not set
1056# CONFIG_UNIXWARE_DISKLABEL is not set
1057# CONFIG_LDM_PARTITION is not set
1058# CONFIG_SGI_PARTITION is not set
1059# CONFIG_ULTRIX_PARTITION is not set
1060# CONFIG_SUN_PARTITION is not set
1061# CONFIG_KARMA_PARTITION is not set
1062# CONFIG_EFI_PARTITION is not set
1063# CONFIG_SYSV68_PARTITION is not set
1064
1065#
1066# Native Language Support
1067#
1068CONFIG_NLS=y
1069CONFIG_NLS_DEFAULT="iso8859-1"
1070# CONFIG_NLS_CODEPAGE_437 is not set
1071# CONFIG_NLS_CODEPAGE_737 is not set
1072# CONFIG_NLS_CODEPAGE_775 is not set
1073# CONFIG_NLS_CODEPAGE_850 is not set
1074# CONFIG_NLS_CODEPAGE_852 is not set
1075# CONFIG_NLS_CODEPAGE_855 is not set
1076# CONFIG_NLS_CODEPAGE_857 is not set
1077# CONFIG_NLS_CODEPAGE_860 is not set
1078# CONFIG_NLS_CODEPAGE_861 is not set
1079# CONFIG_NLS_CODEPAGE_862 is not set
1080# CONFIG_NLS_CODEPAGE_863 is not set
1081# CONFIG_NLS_CODEPAGE_864 is not set
1082# CONFIG_NLS_CODEPAGE_865 is not set
1083# CONFIG_NLS_CODEPAGE_866 is not set
1084# CONFIG_NLS_CODEPAGE_869 is not set
1085# CONFIG_NLS_CODEPAGE_936 is not set
1086# CONFIG_NLS_CODEPAGE_950 is not set
1087# CONFIG_NLS_CODEPAGE_932 is not set
1088# CONFIG_NLS_CODEPAGE_949 is not set
1089# CONFIG_NLS_CODEPAGE_874 is not set
1090# CONFIG_NLS_ISO8859_8 is not set
1091# CONFIG_NLS_CODEPAGE_1250 is not set
1092# CONFIG_NLS_CODEPAGE_1251 is not set
1093# CONFIG_NLS_ASCII is not set
1094# CONFIG_NLS_ISO8859_1 is not set
1095# CONFIG_NLS_ISO8859_2 is not set
1096# CONFIG_NLS_ISO8859_3 is not set
1097# CONFIG_NLS_ISO8859_4 is not set
1098# CONFIG_NLS_ISO8859_5 is not set
1099# CONFIG_NLS_ISO8859_6 is not set
1100# CONFIG_NLS_ISO8859_7 is not set
1101# CONFIG_NLS_ISO8859_9 is not set
1102# CONFIG_NLS_ISO8859_13 is not set
1103# CONFIG_NLS_ISO8859_14 is not set
1104# CONFIG_NLS_ISO8859_15 is not set
1105# CONFIG_NLS_KOI8_R is not set
1106# CONFIG_NLS_KOI8_U is not set
1107# CONFIG_NLS_UTF8 is not set
1108
1109#
1110# Distributed Lock Manager
1111#
1112# CONFIG_DLM is not set
1113
1114#
1115# Profiling support
1116#
1117# CONFIG_PROFILING is not set
1118
1119#
1120# Kernel hacking
1121#
1122# CONFIG_PRINTK_TIME is not set
1123CONFIG_ENABLE_MUST_CHECK=y
1124CONFIG_MAGIC_SYSRQ=y
1125# CONFIG_UNUSED_SYMBOLS is not set
1126# CONFIG_DEBUG_FS is not set
1127# CONFIG_HEADERS_CHECK is not set
1128CONFIG_DEBUG_KERNEL=y
1129# CONFIG_DEBUG_SHIRQ is not set
1130CONFIG_DETECT_SOFTLOCKUP=y
1131CONFIG_SCHED_DEBUG=y
1132# CONFIG_SCHEDSTATS is not set
1133# CONFIG_TIMER_STATS is not set
1134# CONFIG_DEBUG_SLAB is not set
1135CONFIG_DEBUG_PREEMPT=y
1136# CONFIG_DEBUG_RT_MUTEXES is not set
1137# CONFIG_RT_MUTEX_TESTER is not set
1138# CONFIG_DEBUG_SPINLOCK is not set
1139# CONFIG_DEBUG_MUTEXES is not set
1140# CONFIG_DEBUG_LOCK_ALLOC is not set
1141# CONFIG_PROVE_LOCKING is not set
1142# CONFIG_LOCK_STAT is not set
1143# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1144# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1145# CONFIG_DEBUG_KOBJECT is not set
1146CONFIG_DEBUG_BUGVERBOSE=y
1147# CONFIG_DEBUG_INFO is not set
1148# CONFIG_DEBUG_VM is not set
1149# CONFIG_DEBUG_LIST is not set
1150CONFIG_FRAME_POINTER=y
1151CONFIG_FORCED_INLINING=y
1152# CONFIG_RCU_TORTURE_TEST is not set
1153# CONFIG_FAULT_INJECTION is not set
1154# CONFIG_DEBUG_USER is not set
1155# CONFIG_DEBUG_ERRORS is not set
1156# CONFIG_DEBUG_LL is not set
1157
1158#
1159# Security options
1160#
1161# CONFIG_KEYS is not set
1162# CONFIG_SECURITY is not set
1163# CONFIG_CRYPTO is not set
1164
1165#
1166# Library routines
1167#
1168CONFIG_BITREVERSE=y
1169# CONFIG_CRC_CCITT is not set
1170# CONFIG_CRC16 is not set
1171# CONFIG_CRC_ITU_T is not set
1172CONFIG_CRC32=y
1173# CONFIG_CRC7 is not set
1174# CONFIG_LIBCRC32C is not set
1175CONFIG_PLIST=y
1176CONFIG_HAS_IOMEM=y
1177CONFIG_HAS_IOPORT=y
1178CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_generic_1710_defconfig b/arch/arm/configs/omap_generic_1710_defconfig
new file mode 100644
index 000000000000..0a00a708a4fc
--- /dev/null
+++ b/arch/arm/configs/omap_generic_1710_defconfig
@@ -0,0 +1,1088 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 13:02:08 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39# CONFIG_POSIX_MQUEUE is not set
40# CONFIG_BSD_PROCESS_ACCT is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_USER_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_LOG_BUF_SHIFT=14
46CONFIG_SYSFS_DEPRECATED=y
47# CONFIG_RELAY is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50CONFIG_CC_OPTIMIZE_FOR_SIZE=y
51CONFIG_SYSCTL=y
52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
55CONFIG_KALLSYMS=y
56# CONFIG_KALLSYMS_ALL is not set
57# CONFIG_KALLSYMS_EXTRA_PASS is not set
58CONFIG_HOTPLUG=y
59CONFIG_PRINTK=y
60CONFIG_BUG=y
61CONFIG_ELF_CORE=y
62CONFIG_BASE_FULL=y
63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
69CONFIG_SHMEM=y
70CONFIG_VM_EVENT_COUNTERS=y
71CONFIG_SLUB_DEBUG=y
72# CONFIG_SLAB is not set
73CONFIG_SLUB=y
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78# CONFIG_MODULES is not set
79CONFIG_BLOCK=y
80# CONFIG_LBD is not set
81# CONFIG_BLK_DEV_IO_TRACE is not set
82# CONFIG_LSF is not set
83# CONFIG_BLK_DEV_BSG is not set
84
85#
86# IO Schedulers
87#
88CONFIG_IOSCHED_NOOP=y
89CONFIG_IOSCHED_AS=y
90CONFIG_IOSCHED_DEADLINE=y
91CONFIG_IOSCHED_CFQ=y
92# CONFIG_DEFAULT_AS is not set
93# CONFIG_DEFAULT_DEADLINE is not set
94CONFIG_DEFAULT_CFQ=y
95# CONFIG_DEFAULT_NOOP is not set
96CONFIG_DEFAULT_IOSCHED="cfq"
97
98#
99# System Type
100#
101# CONFIG_ARCH_AAEC2000 is not set
102# CONFIG_ARCH_INTEGRATOR is not set
103# CONFIG_ARCH_REALVIEW is not set
104# CONFIG_ARCH_VERSATILE is not set
105# CONFIG_ARCH_AT91 is not set
106# CONFIG_ARCH_CLPS7500 is not set
107# CONFIG_ARCH_CLPS711X is not set
108# CONFIG_ARCH_CO285 is not set
109# CONFIG_ARCH_EBSA110 is not set
110# CONFIG_ARCH_EP93XX is not set
111# CONFIG_ARCH_FOOTBRIDGE is not set
112# CONFIG_ARCH_NETX is not set
113# CONFIG_ARCH_H720X is not set
114# CONFIG_ARCH_IMX is not set
115# CONFIG_ARCH_IOP13XX is not set
116# CONFIG_ARCH_IOP32X is not set
117# CONFIG_ARCH_IOP33X is not set
118# CONFIG_ARCH_IXP23XX is not set
119# CONFIG_ARCH_IXP2000 is not set
120# CONFIG_ARCH_IXP4XX is not set
121# CONFIG_ARCH_L7200 is not set
122# CONFIG_ARCH_KS8695 is not set
123# CONFIG_ARCH_NS9XXX is not set
124# CONFIG_ARCH_MXC is not set
125# CONFIG_ARCH_PNX4008 is not set
126# CONFIG_ARCH_PXA is not set
127# CONFIG_ARCH_RPC is not set
128# CONFIG_ARCH_SA1100 is not set
129# CONFIG_ARCH_S3C2410 is not set
130# CONFIG_ARCH_SHARK is not set
131# CONFIG_ARCH_LH7A40X is not set
132# CONFIG_ARCH_DAVINCI is not set
133CONFIG_ARCH_OMAP=y
134
135#
136# TI OMAP Implementations
137#
138CONFIG_ARCH_OMAP_OTG=y
139CONFIG_ARCH_OMAP1=y
140# CONFIG_ARCH_OMAP2 is not set
141# CONFIG_ARCH_OMAP3 is not set
142
143#
144# OMAP Feature Selections
145#
146# CONFIG_OMAP_RESET_CLOCKS is not set
147CONFIG_OMAP_BOOT_TAG=y
148# CONFIG_OMAP_BOOT_REASON is not set
149# CONFIG_OMAP_COMPONENT_VERSION is not set
150# CONFIG_OMAP_GPIO_SWITCH is not set
151# CONFIG_OMAP_MUX is not set
152# CONFIG_OMAP_STI is not set
153CONFIG_OMAP_MCBSP=y
154# CONFIG_OMAP_MMU_FWK is not set
155# CONFIG_OMAP_MBOX_FWK is not set
156CONFIG_OMAP_MPU_TIMER=y
157# CONFIG_OMAP_32K_TIMER is not set
158# CONFIG_OMAP_DM_TIMER is not set
159# CONFIG_OMAP_LL_DEBUG_UART1 is not set
160# CONFIG_OMAP_LL_DEBUG_UART2 is not set
161CONFIG_OMAP_LL_DEBUG_UART3=y
162# CONFIG_OMAP_DSP is not set
163
164#
165# OMAP Core Type
166#
167# CONFIG_ARCH_OMAP730 is not set
168# CONFIG_ARCH_OMAP15XX is not set
169CONFIG_ARCH_OMAP16XX=y
170
171#
172# OMAP Board Type
173#
174# CONFIG_MACH_OMAP_INNOVATOR is not set
175# CONFIG_MACH_OMAP_H2 is not set
176# CONFIG_MACH_OMAP_H3 is not set
177# CONFIG_MACH_OMAP_OSK is not set
178# CONFIG_MACH_NOKIA770 is not set
179CONFIG_MACH_OMAP_GENERIC=y
180
181#
182# OMAP CPU Speed
183#
184# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
185# CONFIG_OMAP_ARM_216MHZ is not set
186CONFIG_OMAP_ARM_192MHZ=y
187# CONFIG_OMAP_ARM_168MHZ is not set
188# CONFIG_OMAP_ARM_120MHZ is not set
189# CONFIG_OMAP_ARM_60MHZ is not set
190# CONFIG_OMAP_ARM_30MHZ is not set
191# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
192
193#
194# Boot options
195#
196
197#
198# Power management
199#
200
201#
202# Processor Type
203#
204CONFIG_CPU_32=y
205CONFIG_CPU_ARM926T=y
206CONFIG_CPU_32v5=y
207CONFIG_CPU_ABRT_EV5TJ=y
208CONFIG_CPU_PABRT_NOIFAR=y
209CONFIG_CPU_CACHE_VIVT=y
210CONFIG_CPU_COPY_V4WB=y
211CONFIG_CPU_TLB_V4WBI=y
212CONFIG_CPU_CP15=y
213CONFIG_CPU_CP15_MMU=y
214
215#
216# Processor Features
217#
218# CONFIG_ARM_THUMB is not set
219# CONFIG_CPU_ICACHE_DISABLE is not set
220# CONFIG_CPU_DCACHE_DISABLE is not set
221# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
222# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
223# CONFIG_OUTER_CACHE is not set
224
225#
226# Bus support
227#
228# CONFIG_PCI_SYSCALL is not set
229# CONFIG_ARCH_SUPPORTS_MSI is not set
230
231#
232# PCCARD (PCMCIA/CardBus) support
233#
234# CONFIG_PCCARD is not set
235
236#
237# Kernel Features
238#
239# CONFIG_TICK_ONESHOT is not set
240# CONFIG_NO_HZ is not set
241# CONFIG_HIGH_RES_TIMERS is not set
242# CONFIG_PREEMPT is not set
243CONFIG_HZ=100
244# CONFIG_AEABI is not set
245# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
246CONFIG_SELECT_MEMORY_MODEL=y
247CONFIG_FLATMEM_MANUAL=y
248# CONFIG_DISCONTIGMEM_MANUAL is not set
249# CONFIG_SPARSEMEM_MANUAL is not set
250CONFIG_FLATMEM=y
251CONFIG_FLAT_NODE_MEM_MAP=y
252# CONFIG_SPARSEMEM_STATIC is not set
253CONFIG_SPLIT_PTLOCK_CPUS=4096
254# CONFIG_RESOURCES_64BIT is not set
255CONFIG_ZONE_DMA_FLAG=1
256CONFIG_BOUNCE=y
257CONFIG_VIRT_TO_BUS=y
258# CONFIG_LEDS is not set
259CONFIG_ALIGNMENT_TRAP=y
260
261#
262# Boot options
263#
264CONFIG_ZBOOT_ROM_TEXT=0x0
265CONFIG_ZBOOT_ROM_BSS=0x0
266CONFIG_CMDLINE="mem=64M console=tty0 console=ttyS2,115200 root=0801"
267# CONFIG_XIP_KERNEL is not set
268# CONFIG_KEXEC is not set
269
270#
271# CPU Frequency scaling
272#
273# CONFIG_CPU_FREQ is not set
274
275#
276# Floating point emulation
277#
278
279#
280# At least one emulation must be selected
281#
282CONFIG_FPE_NWFPE=y
283# CONFIG_FPE_NWFPE_XP is not set
284# CONFIG_FPE_FASTFPE is not set
285# CONFIG_VFP is not set
286
287#
288# Userspace binary formats
289#
290CONFIG_BINFMT_ELF=y
291# CONFIG_BINFMT_AOUT is not set
292# CONFIG_BINFMT_MISC is not set
293CONFIG_ARTHUR=y
294
295#
296# Power management options
297#
298CONFIG_PM=y
299# CONFIG_PM_LEGACY is not set
300# CONFIG_PM_DEBUG is not set
301CONFIG_PM_SLEEP=y
302CONFIG_SUSPEND_UP_POSSIBLE=y
303CONFIG_SUSPEND=y
304# CONFIG_APM_EMULATION is not set
305
306#
307# Networking
308#
309CONFIG_NET=y
310
311#
312# Networking options
313#
314CONFIG_PACKET=y
315# CONFIG_PACKET_MMAP is not set
316CONFIG_UNIX=y
317CONFIG_XFRM=y
318# CONFIG_XFRM_USER is not set
319# CONFIG_XFRM_SUB_POLICY is not set
320# CONFIG_XFRM_MIGRATE is not set
321# CONFIG_NET_KEY is not set
322CONFIG_INET=y
323CONFIG_IP_MULTICAST=y
324# CONFIG_IP_ADVANCED_ROUTER is not set
325CONFIG_IP_FIB_HASH=y
326CONFIG_IP_PNP=y
327CONFIG_IP_PNP_DHCP=y
328CONFIG_IP_PNP_BOOTP=y
329# CONFIG_IP_PNP_RARP is not set
330# CONFIG_NET_IPIP is not set
331# CONFIG_NET_IPGRE is not set
332# CONFIG_IP_MROUTE is not set
333# CONFIG_ARPD is not set
334# CONFIG_SYN_COOKIES is not set
335# CONFIG_INET_AH is not set
336# CONFIG_INET_ESP is not set
337# CONFIG_INET_IPCOMP is not set
338# CONFIG_INET_XFRM_TUNNEL is not set
339# CONFIG_INET_TUNNEL is not set
340CONFIG_INET_XFRM_MODE_TRANSPORT=y
341CONFIG_INET_XFRM_MODE_TUNNEL=y
342CONFIG_INET_XFRM_MODE_BEET=y
343CONFIG_INET_DIAG=y
344CONFIG_INET_TCP_DIAG=y
345# CONFIG_TCP_CONG_ADVANCED is not set
346CONFIG_TCP_CONG_CUBIC=y
347CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_TCP_MD5SIG is not set
349# CONFIG_IPV6 is not set
350# CONFIG_INET6_XFRM_TUNNEL is not set
351# CONFIG_INET6_TUNNEL is not set
352# CONFIG_NETLABEL is not set
353# CONFIG_NETWORK_SECMARK is not set
354# CONFIG_NETFILTER is not set
355# CONFIG_IP_DCCP is not set
356# CONFIG_IP_SCTP is not set
357# CONFIG_TIPC is not set
358# CONFIG_ATM is not set
359# CONFIG_BRIDGE is not set
360# CONFIG_VLAN_8021Q is not set
361# CONFIG_DECNET is not set
362# CONFIG_LLC2 is not set
363# CONFIG_IPX is not set
364# CONFIG_ATALK is not set
365# CONFIG_X25 is not set
366# CONFIG_LAPB is not set
367# CONFIG_ECONET is not set
368# CONFIG_WAN_ROUTER is not set
369
370#
371# QoS and/or fair queueing
372#
373# CONFIG_NET_SCHED is not set
374
375#
376# Network testing
377#
378# CONFIG_NET_PKTGEN is not set
379# CONFIG_HAMRADIO is not set
380# CONFIG_IRDA is not set
381# CONFIG_BT is not set
382# CONFIG_AF_RXRPC is not set
383
384#
385# Wireless
386#
387# CONFIG_CFG80211 is not set
388# CONFIG_WIRELESS_EXT is not set
389# CONFIG_MAC80211 is not set
390# CONFIG_IEEE80211 is not set
391# CONFIG_RFKILL is not set
392# CONFIG_NET_9P is not set
393
394#
395# Device Drivers
396#
397
398#
399# Generic Driver Options
400#
401CONFIG_STANDALONE=y
402CONFIG_PREVENT_FIRMWARE_BUILD=y
403# CONFIG_FW_LOADER is not set
404# CONFIG_DEBUG_DRIVER is not set
405# CONFIG_DEBUG_DEVRES is not set
406# CONFIG_SYS_HYPERVISOR is not set
407# CONFIG_CONNECTOR is not set
408# CONFIG_MTD is not set
409# CONFIG_PARPORT is not set
410CONFIG_BLK_DEV=y
411# CONFIG_BLK_DEV_COW_COMMON is not set
412CONFIG_BLK_DEV_LOOP=y
413# CONFIG_BLK_DEV_CRYPTOLOOP is not set
414# CONFIG_BLK_DEV_NBD is not set
415# CONFIG_BLK_DEV_UB is not set
416CONFIG_BLK_DEV_RAM=y
417CONFIG_BLK_DEV_RAM_COUNT=16
418CONFIG_BLK_DEV_RAM_SIZE=8192
419CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
420# CONFIG_CDROM_PKTCDVD is not set
421# CONFIG_ATA_OVER_ETH is not set
422
423#
424# SCSI device support
425#
426# CONFIG_RAID_ATTRS is not set
427CONFIG_SCSI=y
428CONFIG_SCSI_DMA=y
429# CONFIG_SCSI_TGT is not set
430# CONFIG_SCSI_NETLINK is not set
431CONFIG_SCSI_PROC_FS=y
432
433#
434# SCSI support type (disk, tape, CD-ROM)
435#
436CONFIG_BLK_DEV_SD=y
437# CONFIG_CHR_DEV_ST is not set
438# CONFIG_CHR_DEV_OSST is not set
439# CONFIG_BLK_DEV_SR is not set
440# CONFIG_CHR_DEV_SG is not set
441# CONFIG_CHR_DEV_SCH is not set
442
443#
444# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
445#
446# CONFIG_SCSI_MULTI_LUN is not set
447# CONFIG_SCSI_CONSTANTS is not set
448# CONFIG_SCSI_LOGGING is not set
449# CONFIG_SCSI_SCAN_ASYNC is not set
450
451#
452# SCSI Transports
453#
454# CONFIG_SCSI_SPI_ATTRS is not set
455# CONFIG_SCSI_FC_ATTRS is not set
456# CONFIG_SCSI_ISCSI_ATTRS is not set
457# CONFIG_SCSI_SAS_LIBSAS is not set
458CONFIG_SCSI_LOWLEVEL=y
459# CONFIG_ISCSI_TCP is not set
460# CONFIG_SCSI_DEBUG is not set
461# CONFIG_ATA is not set
462# CONFIG_MD is not set
463CONFIG_NETDEVICES=y
464# CONFIG_NETDEVICES_MULTIQUEUE is not set
465# CONFIG_DUMMY is not set
466# CONFIG_BONDING is not set
467# CONFIG_MACVLAN is not set
468# CONFIG_EQUALIZER is not set
469# CONFIG_TUN is not set
470# CONFIG_PHYLIB is not set
471CONFIG_NET_ETHERNET=y
472CONFIG_MII=y
473# CONFIG_AX88796 is not set
474# CONFIG_SMC91X is not set
475# CONFIG_DM9000 is not set
476CONFIG_NETDEV_1000=y
477CONFIG_NETDEV_10000=y
478
479#
480# Wireless LAN
481#
482# CONFIG_WLAN_PRE80211 is not set
483# CONFIG_WLAN_80211 is not set
484
485#
486# USB Network Adapters
487#
488# CONFIG_USB_CATC is not set
489# CONFIG_USB_KAWETH is not set
490# CONFIG_USB_PEGASUS is not set
491# CONFIG_USB_RTL8150 is not set
492CONFIG_USB_USBNET_MII=y
493CONFIG_USB_USBNET=y
494CONFIG_USB_NET_AX8817X=y
495CONFIG_USB_NET_CDCETHER=y
496# CONFIG_USB_NET_DM9601 is not set
497# CONFIG_USB_NET_GL620A is not set
498CONFIG_USB_NET_NET1080=y
499# CONFIG_USB_NET_PLUSB is not set
500# CONFIG_USB_NET_MCS7830 is not set
501# CONFIG_USB_NET_RNDIS_HOST is not set
502CONFIG_USB_NET_CDC_SUBSET=y
503CONFIG_USB_ALI_M5632=y
504# CONFIG_USB_AN2720 is not set
505# CONFIG_USB_BELKIN is not set
506# CONFIG_USB_ARMLINUX is not set
507# CONFIG_USB_EPSON2888 is not set
508# CONFIG_USB_KC2190 is not set
509CONFIG_USB_NET_ZAURUS=y
510# CONFIG_WAN is not set
511CONFIG_PPP=y
512# CONFIG_PPP_MULTILINK is not set
513# CONFIG_PPP_FILTER is not set
514# CONFIG_PPP_ASYNC is not set
515# CONFIG_PPP_SYNC_TTY is not set
516# CONFIG_PPP_DEFLATE is not set
517# CONFIG_PPP_BSDCOMP is not set
518# CONFIG_PPP_MPPE is not set
519# CONFIG_PPPOE is not set
520# CONFIG_PPPOL2TP is not set
521# CONFIG_SLIP is not set
522CONFIG_SLHC=y
523# CONFIG_SHAPER is not set
524# CONFIG_NETCONSOLE is not set
525# CONFIG_NETPOLL is not set
526# CONFIG_NET_POLL_CONTROLLER is not set
527# CONFIG_ISDN is not set
528
529#
530# Input device support
531#
532CONFIG_INPUT=y
533# CONFIG_INPUT_FF_MEMLESS is not set
534# CONFIG_INPUT_POLLDEV is not set
535
536#
537# Userland interfaces
538#
539CONFIG_INPUT_MOUSEDEV=y
540CONFIG_INPUT_MOUSEDEV_PSAUX=y
541CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
542CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
543# CONFIG_INPUT_JOYDEV is not set
544# CONFIG_INPUT_TSDEV is not set
545CONFIG_INPUT_EVDEV=y
546# CONFIG_INPUT_EVBUG is not set
547
548#
549# Input Device Drivers
550#
551CONFIG_INPUT_KEYBOARD=y
552CONFIG_KEYBOARD_ATKBD=y
553# CONFIG_KEYBOARD_SUNKBD is not set
554# CONFIG_KEYBOARD_LKKBD is not set
555# CONFIG_KEYBOARD_XTKBD is not set
556# CONFIG_KEYBOARD_NEWTON is not set
557# CONFIG_KEYBOARD_STOWAWAY is not set
558CONFIG_KEYBOARD_OMAP=y
559# CONFIG_KEYBOARD_GPIO is not set
560# CONFIG_INPUT_MOUSE is not set
561# CONFIG_INPUT_JOYSTICK is not set
562# CONFIG_INPUT_TABLET is not set
563# CONFIG_INPUT_TOUCHSCREEN is not set
564# CONFIG_INPUT_MISC is not set
565
566#
567# Hardware I/O ports
568#
569CONFIG_SERIO=y
570CONFIG_SERIO_SERPORT=y
571CONFIG_SERIO_LIBPS2=y
572# CONFIG_SERIO_RAW is not set
573# CONFIG_GAMEPORT is not set
574
575#
576# Character devices
577#
578CONFIG_VT=y
579CONFIG_VT_CONSOLE=y
580CONFIG_HW_CONSOLE=y
581# CONFIG_VT_HW_CONSOLE_BINDING is not set
582# CONFIG_SERIAL_NONSTANDARD is not set
583
584#
585# Serial drivers
586#
587CONFIG_SERIAL_8250=y
588CONFIG_SERIAL_8250_CONSOLE=y
589CONFIG_SERIAL_8250_NR_UARTS=4
590CONFIG_SERIAL_8250_RUNTIME_UARTS=4
591# CONFIG_SERIAL_8250_EXTENDED is not set
592
593#
594# Non-8250 serial port support
595#
596CONFIG_SERIAL_CORE=y
597CONFIG_SERIAL_CORE_CONSOLE=y
598CONFIG_UNIX98_PTYS=y
599CONFIG_LEGACY_PTYS=y
600CONFIG_LEGACY_PTY_COUNT=256
601# CONFIG_IPMI_HANDLER is not set
602# CONFIG_WATCHDOG is not set
603CONFIG_HW_RANDOM=y
604CONFIG_HW_RANDOM_OMAP=y
605# CONFIG_NVRAM is not set
606# CONFIG_R3964 is not set
607# CONFIG_RAW_DRIVER is not set
608# CONFIG_TCG_TPM is not set
609# CONFIG_I2C is not set
610
611#
612# SPI support
613#
614# CONFIG_SPI is not set
615# CONFIG_SPI_MASTER is not set
616# CONFIG_W1 is not set
617CONFIG_HWMON=y
618# CONFIG_HWMON_VID is not set
619# CONFIG_SENSORS_ABITUGURU is not set
620# CONFIG_SENSORS_ABITUGURU3 is not set
621# CONFIG_SENSORS_F71805F is not set
622# CONFIG_SENSORS_IT87 is not set
623# CONFIG_SENSORS_PC87360 is not set
624# CONFIG_SENSORS_PC87427 is not set
625# CONFIG_SENSORS_SMSC47M1 is not set
626# CONFIG_SENSORS_SMSC47B397 is not set
627# CONFIG_SENSORS_VT1211 is not set
628# CONFIG_SENSORS_W83627HF is not set
629# CONFIG_SENSORS_W83627EHF is not set
630# CONFIG_HWMON_DEBUG_CHIP is not set
631CONFIG_MISC_DEVICES=y
632# CONFIG_EEPROM_93CX6 is not set
633
634#
635# Multifunction device drivers
636#
637# CONFIG_MFD_SM501 is not set
638# CONFIG_NEW_LEDS is not set
639
640#
641# Multimedia devices
642#
643# CONFIG_VIDEO_DEV is not set
644# CONFIG_DVB_CORE is not set
645CONFIG_DAB=y
646# CONFIG_USB_DABUSB is not set
647
648#
649# Graphics support
650#
651# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
652
653#
654# Display device support
655#
656# CONFIG_DISPLAY_SUPPORT is not set
657# CONFIG_VGASTATE is not set
658CONFIG_VIDEO_OUTPUT_CONTROL=y
659# CONFIG_FB is not set
660
661#
662# Console display driver support
663#
664# CONFIG_VGA_CONSOLE is not set
665CONFIG_DUMMY_CONSOLE=y
666
667#
668# Sound
669#
670# CONFIG_SOUND is not set
671CONFIG_HID_SUPPORT=y
672CONFIG_HID=y
673CONFIG_HID_DEBUG=y
674
675#
676# USB Input Devices
677#
678CONFIG_USB_HID=y
679# CONFIG_USB_HIDINPUT_POWERBOOK is not set
680# CONFIG_HID_FF is not set
681# CONFIG_USB_HIDDEV is not set
682CONFIG_USB_SUPPORT=y
683CONFIG_USB_ARCH_HAS_HCD=y
684CONFIG_USB_ARCH_HAS_OHCI=y
685# CONFIG_USB_ARCH_HAS_EHCI is not set
686CONFIG_USB=y
687CONFIG_USB_DEBUG=y
688
689#
690# Miscellaneous USB options
691#
692CONFIG_USB_DEVICEFS=y
693CONFIG_USB_DEVICE_CLASS=y
694# CONFIG_USB_DYNAMIC_MINORS is not set
695# CONFIG_USB_SUSPEND is not set
696# CONFIG_USB_PERSIST is not set
697# CONFIG_USB_OTG is not set
698
699#
700# USB Host Controller Drivers
701#
702# CONFIG_USB_ISP116X_HCD is not set
703CONFIG_USB_OHCI_HCD=y
704# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
705# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
706CONFIG_USB_OHCI_LITTLE_ENDIAN=y
707# CONFIG_USB_SL811_HCD is not set
708# CONFIG_USB_R8A66597_HCD is not set
709# CONFIG_USB_MUSB_HDRC is not set
710
711#
712# USB Device Class drivers
713#
714# CONFIG_USB_ACM is not set
715# CONFIG_USB_PRINTER is not set
716
717#
718# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
719#
720
721#
722# may also be needed; see USB_STORAGE Help for more information
723#
724CONFIG_USB_STORAGE=y
725# CONFIG_USB_STORAGE_DEBUG is not set
726# CONFIG_USB_STORAGE_DATAFAB is not set
727# CONFIG_USB_STORAGE_FREECOM is not set
728# CONFIG_USB_STORAGE_DPCM is not set
729# CONFIG_USB_STORAGE_USBAT is not set
730# CONFIG_USB_STORAGE_SDDR09 is not set
731# CONFIG_USB_STORAGE_SDDR55 is not set
732# CONFIG_USB_STORAGE_JUMPSHOT is not set
733# CONFIG_USB_STORAGE_ALAUDA is not set
734# CONFIG_USB_STORAGE_KARMA is not set
735# CONFIG_USB_LIBUSUAL is not set
736
737#
738# USB Imaging devices
739#
740# CONFIG_USB_MDC800 is not set
741# CONFIG_USB_MICROTEK is not set
742CONFIG_USB_MON=y
743
744#
745# USB port drivers
746#
747
748#
749# USB Serial Converter support
750#
751# CONFIG_USB_SERIAL is not set
752
753#
754# USB Miscellaneous drivers
755#
756# CONFIG_USB_EMI62 is not set
757# CONFIG_USB_EMI26 is not set
758# CONFIG_USB_ADUTUX is not set
759# CONFIG_USB_AUERSWALD is not set
760# CONFIG_USB_RIO500 is not set
761# CONFIG_USB_LEGOTOWER is not set
762# CONFIG_USB_LCD is not set
763# CONFIG_USB_BERRY_CHARGE is not set
764# CONFIG_USB_LED is not set
765# CONFIG_USB_CYPRESS_CY7C63 is not set
766# CONFIG_USB_CYTHERM is not set
767# CONFIG_USB_PHIDGET is not set
768# CONFIG_USB_IDMOUSE is not set
769# CONFIG_USB_FTDI_ELAN is not set
770# CONFIG_USB_APPLEDISPLAY is not set
771# CONFIG_USB_LD is not set
772# CONFIG_USB_TRANCEVIBRATOR is not set
773# CONFIG_USB_IOWARRIOR is not set
774# CONFIG_USB_TEST is not set
775
776#
777# USB DSL modem support
778#
779
780#
781# USB Gadget Support
782#
783# CONFIG_USB_GADGET is not set
784CONFIG_MMC=y
785# CONFIG_MMC_DEBUG is not set
786# CONFIG_MMC_UNSAFE_RESUME is not set
787
788#
789# MMC/SD Card Drivers
790#
791CONFIG_MMC_BLOCK=y
792CONFIG_MMC_BLOCK_BOUNCE=y
793
794#
795# MMC/SD Host Controller Drivers
796#
797CONFIG_MMC_OMAP=y
798CONFIG_RTC_LIB=y
799# CONFIG_RTC_CLASS is not set
800
801#
802# DMA Engine support
803#
804# CONFIG_DMA_ENGINE is not set
805
806#
807# DMA Clients
808#
809
810#
811# DMA Devices
812#
813
814#
815# CBUS support
816#
817# CONFIG_CBUS is not set
818
819#
820# File systems
821#
822CONFIG_EXT2_FS=y
823# CONFIG_EXT2_FS_XATTR is not set
824# CONFIG_EXT2_FS_XIP is not set
825CONFIG_EXT3_FS=y
826CONFIG_EXT3_FS_XATTR=y
827# CONFIG_EXT3_FS_POSIX_ACL is not set
828# CONFIG_EXT3_FS_SECURITY is not set
829# CONFIG_EXT4DEV_FS is not set
830CONFIG_JBD=y
831# CONFIG_JBD_DEBUG is not set
832CONFIG_FS_MBCACHE=y
833# CONFIG_REISERFS_FS is not set
834# CONFIG_JFS_FS is not set
835# CONFIG_FS_POSIX_ACL is not set
836# CONFIG_XFS_FS is not set
837# CONFIG_GFS2_FS is not set
838# CONFIG_OCFS2_FS is not set
839# CONFIG_MINIX_FS is not set
840# CONFIG_ROMFS_FS is not set
841CONFIG_INOTIFY=y
842CONFIG_INOTIFY_USER=y
843# CONFIG_QUOTA is not set
844CONFIG_DNOTIFY=y
845# CONFIG_AUTOFS_FS is not set
846# CONFIG_AUTOFS4_FS is not set
847# CONFIG_FUSE_FS is not set
848
849#
850# CD-ROM/DVD Filesystems
851#
852# CONFIG_ISO9660_FS is not set
853# CONFIG_UDF_FS is not set
854
855#
856# DOS/FAT/NT Filesystems
857#
858# CONFIG_MSDOS_FS is not set
859# CONFIG_VFAT_FS is not set
860# CONFIG_NTFS_FS is not set
861
862#
863# Pseudo filesystems
864#
865CONFIG_PROC_FS=y
866CONFIG_PROC_SYSCTL=y
867CONFIG_SYSFS=y
868CONFIG_TMPFS=y
869# CONFIG_TMPFS_POSIX_ACL is not set
870# CONFIG_HUGETLB_PAGE is not set
871CONFIG_RAMFS=y
872# CONFIG_CONFIGFS_FS is not set
873
874#
875# Miscellaneous filesystems
876#
877# CONFIG_ADFS_FS is not set
878# CONFIG_AFFS_FS is not set
879# CONFIG_HFS_FS is not set
880# CONFIG_HFSPLUS_FS is not set
881# CONFIG_BEFS_FS is not set
882# CONFIG_BFS_FS is not set
883# CONFIG_EFS_FS is not set
884# CONFIG_CRAMFS is not set
885# CONFIG_VXFS_FS is not set
886# CONFIG_HPFS_FS is not set
887# CONFIG_QNX4FS_FS is not set
888# CONFIG_SYSV_FS is not set
889# CONFIG_UFS_FS is not set
890
891#
892# Network File Systems
893#
894CONFIG_NFS_FS=y
895CONFIG_NFS_V3=y
896# CONFIG_NFS_V3_ACL is not set
897CONFIG_NFS_V4=y
898# CONFIG_NFS_DIRECTIO is not set
899# CONFIG_NFSD is not set
900# CONFIG_ROOT_NFS is not set
901CONFIG_LOCKD=y
902CONFIG_LOCKD_V4=y
903CONFIG_NFS_COMMON=y
904CONFIG_SUNRPC=y
905CONFIG_SUNRPC_GSS=y
906# CONFIG_SUNRPC_BIND34 is not set
907CONFIG_RPCSEC_GSS_KRB5=y
908# CONFIG_RPCSEC_GSS_SPKM3 is not set
909# CONFIG_SMB_FS is not set
910# CONFIG_CIFS is not set
911# CONFIG_NCP_FS is not set
912# CONFIG_CODA_FS is not set
913# CONFIG_AFS_FS is not set
914
915#
916# Partition Types
917#
918CONFIG_PARTITION_ADVANCED=y
919# CONFIG_ACORN_PARTITION is not set
920# CONFIG_OSF_PARTITION is not set
921# CONFIG_AMIGA_PARTITION is not set
922# CONFIG_ATARI_PARTITION is not set
923# CONFIG_MAC_PARTITION is not set
924CONFIG_MSDOS_PARTITION=y
925# CONFIG_BSD_DISKLABEL is not set
926# CONFIG_MINIX_SUBPARTITION is not set
927# CONFIG_SOLARIS_X86_PARTITION is not set
928# CONFIG_UNIXWARE_DISKLABEL is not set
929# CONFIG_LDM_PARTITION is not set
930# CONFIG_SGI_PARTITION is not set
931# CONFIG_ULTRIX_PARTITION is not set
932# CONFIG_SUN_PARTITION is not set
933# CONFIG_KARMA_PARTITION is not set
934# CONFIG_EFI_PARTITION is not set
935# CONFIG_SYSV68_PARTITION is not set
936
937#
938# Native Language Support
939#
940CONFIG_NLS=y
941CONFIG_NLS_DEFAULT="iso8859-1"
942CONFIG_NLS_CODEPAGE_437=y
943# CONFIG_NLS_CODEPAGE_737 is not set
944# CONFIG_NLS_CODEPAGE_775 is not set
945# CONFIG_NLS_CODEPAGE_850 is not set
946CONFIG_NLS_CODEPAGE_852=y
947# CONFIG_NLS_CODEPAGE_855 is not set
948# CONFIG_NLS_CODEPAGE_857 is not set
949# CONFIG_NLS_CODEPAGE_860 is not set
950# CONFIG_NLS_CODEPAGE_861 is not set
951# CONFIG_NLS_CODEPAGE_862 is not set
952# CONFIG_NLS_CODEPAGE_863 is not set
953# CONFIG_NLS_CODEPAGE_864 is not set
954# CONFIG_NLS_CODEPAGE_865 is not set
955# CONFIG_NLS_CODEPAGE_866 is not set
956# CONFIG_NLS_CODEPAGE_869 is not set
957# CONFIG_NLS_CODEPAGE_936 is not set
958# CONFIG_NLS_CODEPAGE_950 is not set
959# CONFIG_NLS_CODEPAGE_932 is not set
960# CONFIG_NLS_CODEPAGE_949 is not set
961# CONFIG_NLS_CODEPAGE_874 is not set
962# CONFIG_NLS_ISO8859_8 is not set
963# CONFIG_NLS_CODEPAGE_1250 is not set
964# CONFIG_NLS_CODEPAGE_1251 is not set
965# CONFIG_NLS_ASCII is not set
966CONFIG_NLS_ISO8859_1=y
967# CONFIG_NLS_ISO8859_2 is not set
968# CONFIG_NLS_ISO8859_3 is not set
969# CONFIG_NLS_ISO8859_4 is not set
970# CONFIG_NLS_ISO8859_5 is not set
971# CONFIG_NLS_ISO8859_6 is not set
972# CONFIG_NLS_ISO8859_7 is not set
973# CONFIG_NLS_ISO8859_9 is not set
974# CONFIG_NLS_ISO8859_13 is not set
975# CONFIG_NLS_ISO8859_14 is not set
976CONFIG_NLS_ISO8859_15=y
977# CONFIG_NLS_KOI8_R is not set
978# CONFIG_NLS_KOI8_U is not set
979# CONFIG_NLS_UTF8 is not set
980
981#
982# Distributed Lock Manager
983#
984# CONFIG_DLM is not set
985
986#
987# Profiling support
988#
989# CONFIG_PROFILING is not set
990
991#
992# Kernel hacking
993#
994# CONFIG_PRINTK_TIME is not set
995CONFIG_ENABLE_MUST_CHECK=y
996CONFIG_MAGIC_SYSRQ=y
997# CONFIG_UNUSED_SYMBOLS is not set
998# CONFIG_DEBUG_FS is not set
999# CONFIG_HEADERS_CHECK is not set
1000CONFIG_DEBUG_KERNEL=y
1001# CONFIG_DEBUG_SHIRQ is not set
1002CONFIG_DETECT_SOFTLOCKUP=y
1003CONFIG_SCHED_DEBUG=y
1004# CONFIG_SCHEDSTATS is not set
1005# CONFIG_TIMER_STATS is not set
1006# CONFIG_SLUB_DEBUG_ON is not set
1007# CONFIG_DEBUG_RT_MUTEXES is not set
1008# CONFIG_RT_MUTEX_TESTER is not set
1009CONFIG_DEBUG_SPINLOCK=y
1010# CONFIG_DEBUG_MUTEXES is not set
1011# CONFIG_DEBUG_LOCK_ALLOC is not set
1012# CONFIG_PROVE_LOCKING is not set
1013# CONFIG_LOCK_STAT is not set
1014# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1015# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1016# CONFIG_DEBUG_KOBJECT is not set
1017CONFIG_DEBUG_BUGVERBOSE=y
1018# CONFIG_DEBUG_INFO is not set
1019# CONFIG_DEBUG_VM is not set
1020# CONFIG_DEBUG_LIST is not set
1021CONFIG_FRAME_POINTER=y
1022CONFIG_FORCED_INLINING=y
1023# CONFIG_FAULT_INJECTION is not set
1024# CONFIG_DEBUG_USER is not set
1025CONFIG_DEBUG_ERRORS=y
1026# CONFIG_DEBUG_LL is not set
1027
1028#
1029# Security options
1030#
1031# CONFIG_KEYS is not set
1032CONFIG_SECURITY=y
1033# CONFIG_SECURITY_NETWORK is not set
1034CONFIG_SECURITY_CAPABILITIES=y
1035# CONFIG_SECURITY_ROOTPLUG is not set
1036# CONFIG_SECURITY_LOWMEM is not set
1037CONFIG_CRYPTO=y
1038CONFIG_CRYPTO_ALGAPI=y
1039CONFIG_CRYPTO_BLKCIPHER=y
1040CONFIG_CRYPTO_MANAGER=y
1041# CONFIG_CRYPTO_HMAC is not set
1042# CONFIG_CRYPTO_XCBC is not set
1043# CONFIG_CRYPTO_NULL is not set
1044# CONFIG_CRYPTO_MD4 is not set
1045CONFIG_CRYPTO_MD5=y
1046# CONFIG_CRYPTO_SHA1 is not set
1047# CONFIG_CRYPTO_SHA256 is not set
1048# CONFIG_CRYPTO_SHA512 is not set
1049# CONFIG_CRYPTO_WP512 is not set
1050# CONFIG_CRYPTO_TGR192 is not set
1051# CONFIG_CRYPTO_GF128MUL is not set
1052CONFIG_CRYPTO_ECB=y
1053CONFIG_CRYPTO_CBC=y
1054CONFIG_CRYPTO_PCBC=y
1055# CONFIG_CRYPTO_LRW is not set
1056# CONFIG_CRYPTO_CRYPTD is not set
1057CONFIG_CRYPTO_DES=y
1058# CONFIG_CRYPTO_FCRYPT is not set
1059# CONFIG_CRYPTO_BLOWFISH is not set
1060# CONFIG_CRYPTO_TWOFISH is not set
1061# CONFIG_CRYPTO_SERPENT is not set
1062# CONFIG_CRYPTO_AES is not set
1063# CONFIG_CRYPTO_CAST5 is not set
1064# CONFIG_CRYPTO_CAST6 is not set
1065# CONFIG_CRYPTO_TEA is not set
1066# CONFIG_CRYPTO_ARC4 is not set
1067# CONFIG_CRYPTO_KHAZAD is not set
1068# CONFIG_CRYPTO_ANUBIS is not set
1069# CONFIG_CRYPTO_DEFLATE is not set
1070# CONFIG_CRYPTO_MICHAEL_MIC is not set
1071# CONFIG_CRYPTO_CRC32C is not set
1072# CONFIG_CRYPTO_CAMELLIA is not set
1073CONFIG_CRYPTO_HW=y
1074
1075#
1076# Library routines
1077#
1078CONFIG_BITREVERSE=y
1079# CONFIG_CRC_CCITT is not set
1080# CONFIG_CRC16 is not set
1081# CONFIG_CRC_ITU_T is not set
1082CONFIG_CRC32=y
1083# CONFIG_CRC7 is not set
1084# CONFIG_LIBCRC32C is not set
1085CONFIG_PLIST=y
1086CONFIG_HAS_IOMEM=y
1087CONFIG_HAS_IOPORT=y
1088CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_generic_2420_defconfig b/arch/arm/configs/omap_generic_2420_defconfig
new file mode 100644
index 000000000000..cf4073b47aaa
--- /dev/null
+++ b/arch/arm/configs/omap_generic_2420_defconfig
@@ -0,0 +1,655 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:44:48 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39# CONFIG_BSD_PROCESS_ACCT is not set
40# CONFIG_USER_NS is not set
41# CONFIG_IKCONFIG is not set
42CONFIG_LOG_BUF_SHIFT=14
43CONFIG_SYSFS_DEPRECATED=y
44# CONFIG_RELAY is not set
45CONFIG_BLK_DEV_INITRD=y
46CONFIG_INITRAMFS_SOURCE=""
47CONFIG_CC_OPTIMIZE_FOR_SIZE=y
48CONFIG_SYSCTL=y
49# CONFIG_EMBEDDED is not set
50CONFIG_UID16=y
51CONFIG_SYSCTL_SYSCALL=y
52CONFIG_KALLSYMS=y
53# CONFIG_KALLSYMS_ALL is not set
54# CONFIG_KALLSYMS_EXTRA_PASS is not set
55CONFIG_HOTPLUG=y
56CONFIG_PRINTK=y
57CONFIG_BUG=y
58CONFIG_ELF_CORE=y
59CONFIG_BASE_FULL=y
60CONFIG_FUTEX=y
61CONFIG_ANON_INODES=y
62CONFIG_EPOLL=y
63CONFIG_SIGNALFD=y
64CONFIG_TIMERFD=y
65CONFIG_EVENTFD=y
66CONFIG_SHMEM=y
67CONFIG_VM_EVENT_COUNTERS=y
68CONFIG_SLUB_DEBUG=y
69# CONFIG_SLAB is not set
70CONFIG_SLUB=y
71# CONFIG_SLOB is not set
72CONFIG_RT_MUTEXES=y
73# CONFIG_TINY_SHMEM is not set
74CONFIG_BASE_SMALL=0
75CONFIG_MODULES=y
76CONFIG_MODULE_UNLOAD=y
77# CONFIG_MODULE_FORCE_UNLOAD is not set
78# CONFIG_MODVERSIONS is not set
79# CONFIG_MODULE_SRCVERSION_ALL is not set
80# CONFIG_KMOD is not set
81CONFIG_BLOCK=y
82# CONFIG_LBD is not set
83# CONFIG_BLK_DEV_IO_TRACE is not set
84# CONFIG_LSF is not set
85# CONFIG_BLK_DEV_BSG is not set
86
87#
88# IO Schedulers
89#
90CONFIG_IOSCHED_NOOP=y
91CONFIG_IOSCHED_AS=y
92CONFIG_IOSCHED_DEADLINE=y
93CONFIG_IOSCHED_CFQ=y
94# CONFIG_DEFAULT_AS is not set
95# CONFIG_DEFAULT_DEADLINE is not set
96CONFIG_DEFAULT_CFQ=y
97# CONFIG_DEFAULT_NOOP is not set
98CONFIG_DEFAULT_IOSCHED="cfq"
99
100#
101# System Type
102#
103# CONFIG_ARCH_AAEC2000 is not set
104# CONFIG_ARCH_INTEGRATOR is not set
105# CONFIG_ARCH_REALVIEW is not set
106# CONFIG_ARCH_VERSATILE is not set
107# CONFIG_ARCH_AT91 is not set
108# CONFIG_ARCH_CLPS7500 is not set
109# CONFIG_ARCH_CLPS711X is not set
110# CONFIG_ARCH_CO285 is not set
111# CONFIG_ARCH_EBSA110 is not set
112# CONFIG_ARCH_EP93XX is not set
113# CONFIG_ARCH_FOOTBRIDGE is not set
114# CONFIG_ARCH_NETX is not set
115# CONFIG_ARCH_H720X is not set
116# CONFIG_ARCH_IMX is not set
117# CONFIG_ARCH_IOP13XX is not set
118# CONFIG_ARCH_IOP32X is not set
119# CONFIG_ARCH_IOP33X is not set
120# CONFIG_ARCH_IXP23XX is not set
121# CONFIG_ARCH_IXP2000 is not set
122# CONFIG_ARCH_IXP4XX is not set
123# CONFIG_ARCH_L7200 is not set
124# CONFIG_ARCH_KS8695 is not set
125# CONFIG_ARCH_NS9XXX is not set
126# CONFIG_ARCH_MXC is not set
127# CONFIG_ARCH_PNX4008 is not set
128# CONFIG_ARCH_PXA is not set
129# CONFIG_ARCH_RPC is not set
130# CONFIG_ARCH_SA1100 is not set
131# CONFIG_ARCH_S3C2410 is not set
132# CONFIG_ARCH_SHARK is not set
133# CONFIG_ARCH_LH7A40X is not set
134# CONFIG_ARCH_DAVINCI is not set
135CONFIG_ARCH_OMAP=y
136
137#
138# TI OMAP Implementations
139#
140CONFIG_ARCH_OMAP_OTG=y
141# CONFIG_ARCH_OMAP1 is not set
142CONFIG_ARCH_OMAP2=y
143# CONFIG_ARCH_OMAP3 is not set
144
145#
146# OMAP Feature Selections
147#
148# CONFIG_OMAP_RESET_CLOCKS is not set
149CONFIG_OMAP_BOOT_TAG=y
150# CONFIG_OMAP_BOOT_REASON is not set
151# CONFIG_OMAP_COMPONENT_VERSION is not set
152# CONFIG_OMAP_GPIO_SWITCH is not set
153# CONFIG_OMAP_MUX is not set
154# CONFIG_OMAP_STI is not set
155CONFIG_OMAP_MCBSP=y
156# CONFIG_OMAP_MMU_FWK is not set
157# CONFIG_OMAP_MBOX_FWK is not set
158CONFIG_OMAP_MPU_TIMER=y
159# CONFIG_OMAP_32K_TIMER is not set
160CONFIG_OMAP_DM_TIMER=y
161# CONFIG_OMAP_LL_DEBUG_UART1 is not set
162# CONFIG_OMAP_LL_DEBUG_UART2 is not set
163CONFIG_OMAP_LL_DEBUG_UART3=y
164# CONFIG_OMAP_DSP is not set
165CONFIG_MACH_OMAP_GENERIC=y
166
167#
168# OMAP Core Type
169#
170CONFIG_ARCH_OMAP24XX=y
171CONFIG_ARCH_OMAP2420=y
172# CONFIG_ARCH_OMAP2430 is not set
173
174#
175# OMAP Board Type
176#
177# CONFIG_MACH_NOKIA_N800 is not set
178# CONFIG_MACH_OMAP_H4 is not set
179# CONFIG_MACH_OMAP_APOLLON is not set
180# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
181# CONFIG_MACH_OMAP_2430SDP is not set
182
183#
184# Boot options
185#
186
187#
188# Power management
189#
190
191#
192# Processor Type
193#
194CONFIG_CPU_32=y
195CONFIG_CPU_V6=y
196# CONFIG_CPU_32v6K is not set
197CONFIG_CPU_32v6=y
198CONFIG_CPU_ABRT_EV6=y
199CONFIG_CPU_PABRT_NOIFAR=y
200CONFIG_CPU_CACHE_V6=y
201CONFIG_CPU_CACHE_VIPT=y
202CONFIG_CPU_COPY_V6=y
203CONFIG_CPU_TLB_V6=y
204CONFIG_CPU_HAS_ASID=y
205CONFIG_CPU_CP15=y
206CONFIG_CPU_CP15_MMU=y
207
208#
209# Processor Features
210#
211CONFIG_ARM_THUMB=y
212# CONFIG_CPU_ICACHE_DISABLE is not set
213# CONFIG_CPU_DCACHE_DISABLE is not set
214# CONFIG_CPU_BPREDICT_DISABLE is not set
215# CONFIG_OUTER_CACHE is not set
216
217#
218# Bus support
219#
220# CONFIG_PCI_SYSCALL is not set
221# CONFIG_ARCH_SUPPORTS_MSI is not set
222
223#
224# PCCARD (PCMCIA/CardBus) support
225#
226# CONFIG_PCCARD is not set
227
228#
229# Kernel Features
230#
231# CONFIG_TICK_ONESHOT is not set
232# CONFIG_NO_HZ is not set
233# CONFIG_HIGH_RES_TIMERS is not set
234# CONFIG_PREEMPT is not set
235CONFIG_HZ=100
236# CONFIG_AEABI is not set
237# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
238CONFIG_SELECT_MEMORY_MODEL=y
239CONFIG_FLATMEM_MANUAL=y
240# CONFIG_DISCONTIGMEM_MANUAL is not set
241# CONFIG_SPARSEMEM_MANUAL is not set
242CONFIG_FLATMEM=y
243CONFIG_FLAT_NODE_MEM_MAP=y
244# CONFIG_SPARSEMEM_STATIC is not set
245CONFIG_SPLIT_PTLOCK_CPUS=4
246# CONFIG_RESOURCES_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y
250CONFIG_LEDS=y
251CONFIG_ALIGNMENT_TRAP=y
252
253#
254# Boot options
255#
256CONFIG_ZBOOT_ROM_TEXT=0x10C08000
257CONFIG_ZBOOT_ROM_BSS=0x10200000
258# CONFIG_ZBOOT_ROM is not set
259CONFIG_CMDLINE=""
260# CONFIG_XIP_KERNEL is not set
261# CONFIG_KEXEC is not set
262
263#
264# CPU Frequency scaling
265#
266# CONFIG_CPU_FREQ is not set
267
268#
269# Floating point emulation
270#
271
272#
273# At least one emulation must be selected
274#
275CONFIG_FPE_NWFPE=y
276# CONFIG_FPE_NWFPE_XP is not set
277# CONFIG_FPE_FASTFPE is not set
278# CONFIG_VFP is not set
279
280#
281# Userspace binary formats
282#
283CONFIG_BINFMT_ELF=y
284# CONFIG_BINFMT_AOUT is not set
285# CONFIG_BINFMT_MISC is not set
286# CONFIG_ARTHUR is not set
287
288#
289# Power management options
290#
291# CONFIG_PM is not set
292CONFIG_SUSPEND_UP_POSSIBLE=y
293
294#
295# Networking
296#
297# CONFIG_NET is not set
298
299#
300# Device Drivers
301#
302
303#
304# Generic Driver Options
305#
306CONFIG_STANDALONE=y
307CONFIG_PREVENT_FIRMWARE_BUILD=y
308CONFIG_FW_LOADER=y
309# CONFIG_DEBUG_DRIVER is not set
310# CONFIG_DEBUG_DEVRES is not set
311# CONFIG_SYS_HYPERVISOR is not set
312# CONFIG_MTD is not set
313# CONFIG_PARPORT is not set
314CONFIG_BLK_DEV=y
315# CONFIG_BLK_DEV_COW_COMMON is not set
316# CONFIG_BLK_DEV_LOOP is not set
317CONFIG_BLK_DEV_RAM=y
318CONFIG_BLK_DEV_RAM_COUNT=16
319CONFIG_BLK_DEV_RAM_SIZE=4096
320CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
321# CONFIG_CDROM_PKTCDVD is not set
322
323#
324# SCSI device support
325#
326# CONFIG_RAID_ATTRS is not set
327# CONFIG_SCSI is not set
328# CONFIG_SCSI_DMA is not set
329# CONFIG_SCSI_NETLINK is not set
330# CONFIG_ATA is not set
331# CONFIG_MD is not set
332
333#
334# Input device support
335#
336CONFIG_INPUT=y
337# CONFIG_INPUT_FF_MEMLESS is not set
338# CONFIG_INPUT_POLLDEV is not set
339
340#
341# Userland interfaces
342#
343CONFIG_INPUT_MOUSEDEV=y
344CONFIG_INPUT_MOUSEDEV_PSAUX=y
345CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
346CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
347# CONFIG_INPUT_JOYDEV is not set
348# CONFIG_INPUT_TSDEV is not set
349CONFIG_INPUT_EVDEV=y
350# CONFIG_INPUT_EVBUG is not set
351
352#
353# Input Device Drivers
354#
355# CONFIG_INPUT_KEYBOARD is not set
356# CONFIG_INPUT_MOUSE is not set
357# CONFIG_INPUT_JOYSTICK is not set
358# CONFIG_INPUT_TABLET is not set
359# CONFIG_INPUT_TOUCHSCREEN is not set
360# CONFIG_INPUT_MISC is not set
361
362#
363# Hardware I/O ports
364#
365CONFIG_SERIO=y
366CONFIG_SERIO_SERPORT=y
367# CONFIG_SERIO_RAW is not set
368# CONFIG_GAMEPORT is not set
369
370#
371# Character devices
372#
373CONFIG_VT=y
374CONFIG_VT_CONSOLE=y
375CONFIG_HW_CONSOLE=y
376# CONFIG_VT_HW_CONSOLE_BINDING is not set
377# CONFIG_SERIAL_NONSTANDARD is not set
378
379#
380# Serial drivers
381#
382CONFIG_SERIAL_8250=y
383CONFIG_SERIAL_8250_CONSOLE=y
384CONFIG_SERIAL_8250_NR_UARTS=4
385CONFIG_SERIAL_8250_RUNTIME_UARTS=4
386# CONFIG_SERIAL_8250_EXTENDED is not set
387
388#
389# Non-8250 serial port support
390#
391CONFIG_SERIAL_CORE=y
392CONFIG_SERIAL_CORE_CONSOLE=y
393CONFIG_UNIX98_PTYS=y
394# CONFIG_LEGACY_PTYS is not set
395# CONFIG_IPMI_HANDLER is not set
396CONFIG_WATCHDOG=y
397CONFIG_WATCHDOG_NOWAYOUT=y
398
399#
400# Watchdog Device Drivers
401#
402# CONFIG_SOFT_WATCHDOG is not set
403# CONFIG_OMAP_WATCHDOG is not set
404CONFIG_HW_RANDOM=m
405CONFIG_HW_RANDOM_OMAP=m
406# CONFIG_NVRAM is not set
407# CONFIG_R3964 is not set
408# CONFIG_RAW_DRIVER is not set
409# CONFIG_TCG_TPM is not set
410# CONFIG_I2C is not set
411
412#
413# SPI support
414#
415# CONFIG_SPI is not set
416# CONFIG_SPI_MASTER is not set
417# CONFIG_W1 is not set
418CONFIG_HWMON=y
419# CONFIG_HWMON_VID is not set
420# CONFIG_SENSORS_ABITUGURU is not set
421# CONFIG_SENSORS_ABITUGURU3 is not set
422# CONFIG_SENSORS_F71805F is not set
423# CONFIG_SENSORS_IT87 is not set
424# CONFIG_SENSORS_PC87360 is not set
425# CONFIG_SENSORS_PC87427 is not set
426# CONFIG_SENSORS_SMSC47M1 is not set
427# CONFIG_SENSORS_SMSC47B397 is not set
428# CONFIG_SENSORS_VT1211 is not set
429# CONFIG_SENSORS_W83627HF is not set
430# CONFIG_SENSORS_W83627EHF is not set
431# CONFIG_HWMON_DEBUG_CHIP is not set
432CONFIG_MISC_DEVICES=y
433# CONFIG_EEPROM_93CX6 is not set
434
435#
436# Multifunction device drivers
437#
438# CONFIG_MFD_SM501 is not set
439# CONFIG_NEW_LEDS is not set
440
441#
442# Multimedia devices
443#
444# CONFIG_VIDEO_DEV is not set
445CONFIG_DAB=y
446
447#
448# Graphics support
449#
450# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
451
452#
453# Display device support
454#
455# CONFIG_DISPLAY_SUPPORT is not set
456# CONFIG_VGASTATE is not set
457CONFIG_VIDEO_OUTPUT_CONTROL=m
458# CONFIG_FB is not set
459
460#
461# Console display driver support
462#
463# CONFIG_VGA_CONSOLE is not set
464CONFIG_DUMMY_CONSOLE=y
465
466#
467# Sound
468#
469# CONFIG_SOUND is not set
470CONFIG_HID_SUPPORT=y
471CONFIG_HID=y
472CONFIG_HID_DEBUG=y
473CONFIG_USB_SUPPORT=y
474CONFIG_USB_ARCH_HAS_HCD=y
475CONFIG_USB_ARCH_HAS_OHCI=y
476# CONFIG_USB_ARCH_HAS_EHCI is not set
477# CONFIG_USB is not set
478
479#
480# Enable Host or Gadget support to see Inventra options
481#
482
483#
484# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
485#
486
487#
488# USB Gadget Support
489#
490# CONFIG_USB_GADGET is not set
491# CONFIG_MMC is not set
492CONFIG_RTC_LIB=y
493# CONFIG_RTC_CLASS is not set
494
495#
496# DMA Engine support
497#
498# CONFIG_DMA_ENGINE is not set
499
500#
501# DMA Clients
502#
503
504#
505# DMA Devices
506#
507
508#
509# CBUS support
510#
511# CONFIG_CBUS is not set
512
513#
514# File systems
515#
516CONFIG_EXT2_FS=y
517CONFIG_EXT2_FS_XATTR=y
518# CONFIG_EXT2_FS_POSIX_ACL is not set
519# CONFIG_EXT2_FS_SECURITY is not set
520# CONFIG_EXT2_FS_XIP is not set
521# CONFIG_EXT3_FS is not set
522# CONFIG_EXT4DEV_FS is not set
523CONFIG_FS_MBCACHE=y
524# CONFIG_REISERFS_FS is not set
525# CONFIG_JFS_FS is not set
526# CONFIG_FS_POSIX_ACL is not set
527# CONFIG_XFS_FS is not set
528# CONFIG_GFS2_FS is not set
529# CONFIG_MINIX_FS is not set
530CONFIG_ROMFS_FS=y
531CONFIG_INOTIFY=y
532CONFIG_INOTIFY_USER=y
533# CONFIG_QUOTA is not set
534CONFIG_DNOTIFY=y
535# CONFIG_AUTOFS_FS is not set
536# CONFIG_AUTOFS4_FS is not set
537# CONFIG_FUSE_FS is not set
538
539#
540# CD-ROM/DVD Filesystems
541#
542# CONFIG_ISO9660_FS is not set
543# CONFIG_UDF_FS is not set
544
545#
546# DOS/FAT/NT Filesystems
547#
548# CONFIG_MSDOS_FS is not set
549# CONFIG_VFAT_FS is not set
550# CONFIG_NTFS_FS is not set
551
552#
553# Pseudo filesystems
554#
555CONFIG_PROC_FS=y
556CONFIG_PROC_SYSCTL=y
557CONFIG_SYSFS=y
558# CONFIG_TMPFS is not set
559# CONFIG_HUGETLB_PAGE is not set
560CONFIG_RAMFS=y
561# CONFIG_CONFIGFS_FS is not set
562
563#
564# Miscellaneous filesystems
565#
566# CONFIG_ADFS_FS is not set
567# CONFIG_AFFS_FS is not set
568# CONFIG_HFS_FS is not set
569# CONFIG_HFSPLUS_FS is not set
570# CONFIG_BEFS_FS is not set
571# CONFIG_BFS_FS is not set
572# CONFIG_EFS_FS is not set
573# CONFIG_CRAMFS is not set
574# CONFIG_VXFS_FS is not set
575# CONFIG_HPFS_FS is not set
576# CONFIG_QNX4FS_FS is not set
577# CONFIG_SYSV_FS is not set
578# CONFIG_UFS_FS is not set
579
580#
581# Partition Types
582#
583# CONFIG_PARTITION_ADVANCED is not set
584CONFIG_MSDOS_PARTITION=y
585
586#
587# Native Language Support
588#
589# CONFIG_NLS is not set
590
591#
592# Profiling support
593#
594# CONFIG_PROFILING is not set
595
596#
597# Kernel hacking
598#
599# CONFIG_PRINTK_TIME is not set
600CONFIG_ENABLE_MUST_CHECK=y
601# CONFIG_MAGIC_SYSRQ is not set
602# CONFIG_UNUSED_SYMBOLS is not set
603# CONFIG_DEBUG_FS is not set
604# CONFIG_HEADERS_CHECK is not set
605CONFIG_DEBUG_KERNEL=y
606# CONFIG_DEBUG_SHIRQ is not set
607CONFIG_DETECT_SOFTLOCKUP=y
608CONFIG_SCHED_DEBUG=y
609# CONFIG_SCHEDSTATS is not set
610# CONFIG_TIMER_STATS is not set
611# CONFIG_SLUB_DEBUG_ON is not set
612# CONFIG_DEBUG_RT_MUTEXES is not set
613# CONFIG_RT_MUTEX_TESTER is not set
614# CONFIG_DEBUG_SPINLOCK is not set
615# CONFIG_DEBUG_MUTEXES is not set
616# CONFIG_DEBUG_LOCK_ALLOC is not set
617# CONFIG_PROVE_LOCKING is not set
618# CONFIG_LOCK_STAT is not set
619# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
620# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
621# CONFIG_DEBUG_KOBJECT is not set
622CONFIG_DEBUG_BUGVERBOSE=y
623CONFIG_DEBUG_INFO=y
624# CONFIG_DEBUG_VM is not set
625# CONFIG_DEBUG_LIST is not set
626CONFIG_FRAME_POINTER=y
627CONFIG_FORCED_INLINING=y
628# CONFIG_RCU_TORTURE_TEST is not set
629# CONFIG_FAULT_INJECTION is not set
630CONFIG_DEBUG_USER=y
631CONFIG_DEBUG_ERRORS=y
632CONFIG_DEBUG_LL=y
633# CONFIG_DEBUG_ICEDCC is not set
634
635#
636# Security options
637#
638# CONFIG_KEYS is not set
639# CONFIG_SECURITY is not set
640# CONFIG_CRYPTO is not set
641
642#
643# Library routines
644#
645CONFIG_BITREVERSE=y
646CONFIG_CRC_CCITT=y
647# CONFIG_CRC16 is not set
648# CONFIG_CRC_ITU_T is not set
649CONFIG_CRC32=y
650# CONFIG_CRC7 is not set
651# CONFIG_LIBCRC32C is not set
652CONFIG_PLIST=y
653CONFIG_HAS_IOMEM=y
654CONFIG_HAS_IOPORT=y
655CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_h2_1610_defconfig b/arch/arm/configs/omap_h2_1610_defconfig
index 323c1deeb953..c03507202f3c 100644
--- a/arch/arm/configs/omap_h2_1610_defconfig
+++ b/arch/arm/configs/omap_h2_1610_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc3 3# Linux kernel version: 2.6.25-rc2-omap1
4# Mon Mar 3 03:39:48 2008 4# Wed Feb 20 17:12:36 2008
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -31,7 +31,6 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
31# 31#
32CONFIG_EXPERIMENTAL=y 32CONFIG_EXPERIMENTAL=y
33CONFIG_BROKEN_ON_SMP=y 33CONFIG_BROKEN_ON_SMP=y
34CONFIG_LOCK_KERNEL=y
35CONFIG_INIT_ENV_ARG_LIMIT=32 34CONFIG_INIT_ENV_ARG_LIMIT=32
36CONFIG_LOCALVERSION="" 35CONFIG_LOCALVERSION=""
37CONFIG_LOCALVERSION_AUTO=y 36CONFIG_LOCALVERSION_AUTO=y
@@ -50,7 +49,7 @@ CONFIG_FAIR_GROUP_SCHED=y
50# CONFIG_RT_GROUP_SCHED is not set 49# CONFIG_RT_GROUP_SCHED is not set
51CONFIG_USER_SCHED=y 50CONFIG_USER_SCHED=y
52# CONFIG_CGROUP_SCHED is not set 51# CONFIG_CGROUP_SCHED is not set
53# CONFIG_SYSFS_DEPRECATED is not set 52CONFIG_SYSFS_DEPRECATED=y
54# CONFIG_RELAY is not set 53# CONFIG_RELAY is not set
55CONFIG_NAMESPACES=y 54CONFIG_NAMESPACES=y
56# CONFIG_UTS_NS is not set 55# CONFIG_UTS_NS is not set
@@ -65,6 +64,7 @@ CONFIG_SYSCTL=y
65CONFIG_UID16=y 64CONFIG_UID16=y
66CONFIG_SYSCTL_SYSCALL=y 65CONFIG_SYSCTL_SYSCALL=y
67CONFIG_KALLSYMS=y 66CONFIG_KALLSYMS=y
67# CONFIG_KALLSYMS_ALL is not set
68# CONFIG_KALLSYMS_EXTRA_PASS is not set 68# CONFIG_KALLSYMS_EXTRA_PASS is not set
69CONFIG_HOTPLUG=y 69CONFIG_HOTPLUG=y
70CONFIG_PRINTK=y 70CONFIG_PRINTK=y
@@ -165,20 +165,28 @@ CONFIG_ARCH_OMAP=y
165CONFIG_ARCH_OMAP_OTG=y 165CONFIG_ARCH_OMAP_OTG=y
166CONFIG_ARCH_OMAP1=y 166CONFIG_ARCH_OMAP1=y
167# CONFIG_ARCH_OMAP2 is not set 167# CONFIG_ARCH_OMAP2 is not set
168# CONFIG_ARCH_OMAP3 is not set
168 169
169# 170#
170# OMAP Feature Selections 171# OMAP Feature Selections
171# 172#
173CONFIG_OMAP_DEBUG_SRAM_PATCH=y
172# CONFIG_OMAP_RESET_CLOCKS is not set 174# CONFIG_OMAP_RESET_CLOCKS is not set
175CONFIG_OMAP_BOOT_TAG=y
176# CONFIG_OMAP_BOOT_REASON is not set
177# CONFIG_OMAP_COMPONENT_VERSION is not set
178CONFIG_OMAP_GPIO_SWITCH=y
173CONFIG_OMAP_MUX=y 179CONFIG_OMAP_MUX=y
174# CONFIG_OMAP_MUX_DEBUG is not set 180CONFIG_OMAP_MUX_DEBUG=y
175CONFIG_OMAP_MUX_WARNINGS=y 181CONFIG_OMAP_MUX_WARNINGS=y
182# CONFIG_OMAP_STI is not set
176CONFIG_OMAP_MCBSP=y 183CONFIG_OMAP_MCBSP=y
177# CONFIG_OMAP_MMU_FWK is not set 184# CONFIG_OMAP_MMU_FWK is not set
185# CONFIG_OMAP_MBOX_FWK is not set
178# CONFIG_OMAP_MPU_TIMER is not set 186# CONFIG_OMAP_MPU_TIMER is not set
179CONFIG_OMAP_32K_TIMER=y 187CONFIG_OMAP_32K_TIMER=y
180CONFIG_OMAP_32K_TIMER_HZ=128 188CONFIG_OMAP_32K_TIMER_HZ=128
181# CONFIG_OMAP_DM_TIMER is not set 189CONFIG_OMAP_DM_TIMER=y
182CONFIG_OMAP_LL_DEBUG_UART1=y 190CONFIG_OMAP_LL_DEBUG_UART1=y
183# CONFIG_OMAP_LL_DEBUG_UART2 is not set 191# CONFIG_OMAP_LL_DEBUG_UART2 is not set
184# CONFIG_OMAP_LL_DEBUG_UART3 is not set 192# CONFIG_OMAP_LL_DEBUG_UART3 is not set
@@ -206,10 +214,10 @@ CONFIG_MACH_OMAP_H2=y
206# 214#
207# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set 215# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
208# CONFIG_OMAP_ARM_216MHZ is not set 216# CONFIG_OMAP_ARM_216MHZ is not set
209CONFIG_OMAP_ARM_192MHZ=y 217# CONFIG_OMAP_ARM_192MHZ is not set
210# CONFIG_OMAP_ARM_168MHZ is not set 218# CONFIG_OMAP_ARM_168MHZ is not set
211# CONFIG_OMAP_ARM_120MHZ is not set 219# CONFIG_OMAP_ARM_120MHZ is not set
212# CONFIG_OMAP_ARM_60MHZ is not set 220CONFIG_OMAP_ARM_60MHZ=y
213# CONFIG_OMAP_ARM_30MHZ is not set 221# CONFIG_OMAP_ARM_30MHZ is not set
214 222
215# 223#
@@ -227,6 +235,7 @@ CONFIG_CPU_32=y
227CONFIG_CPU_ARM926T=y 235CONFIG_CPU_ARM926T=y
228CONFIG_CPU_32v5=y 236CONFIG_CPU_32v5=y
229CONFIG_CPU_ABRT_EV5TJ=y 237CONFIG_CPU_ABRT_EV5TJ=y
238CONFIG_CPU_PABRT_NOIFAR=y
230CONFIG_CPU_CACHE_VIVT=y 239CONFIG_CPU_CACHE_VIVT=y
231CONFIG_CPU_COPY_V4WB=y 240CONFIG_CPU_COPY_V4WB=y
232CONFIG_CPU_TLB_V4WBI=y 241CONFIG_CPU_TLB_V4WBI=y
@@ -257,10 +266,9 @@ CONFIG_TICK_ONESHOT=y
257CONFIG_NO_HZ=y 266CONFIG_NO_HZ=y
258CONFIG_HIGH_RES_TIMERS=y 267CONFIG_HIGH_RES_TIMERS=y
259CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 268CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
260CONFIG_PREEMPT=y 269# CONFIG_PREEMPT is not set
261CONFIG_HZ=128 270CONFIG_HZ=128
262CONFIG_AEABI=y 271# CONFIG_AEABI is not set
263CONFIG_OABI_COMPAT=y
264# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 272# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
265CONFIG_SELECT_MEMORY_MODEL=y 273CONFIG_SELECT_MEMORY_MODEL=y
266CONFIG_FLATMEM_MANUAL=y 274CONFIG_FLATMEM_MANUAL=y
@@ -275,7 +283,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096
275CONFIG_ZONE_DMA_FLAG=1 283CONFIG_ZONE_DMA_FLAG=1
276CONFIG_BOUNCE=y 284CONFIG_BOUNCE=y
277CONFIG_VIRT_TO_BUS=y 285CONFIG_VIRT_TO_BUS=y
278# CONFIG_LEDS is not set 286CONFIG_LEDS=y
287# CONFIG_LEDS_CPU is not set
279CONFIG_ALIGNMENT_TRAP=y 288CONFIG_ALIGNMENT_TRAP=y
280 289
281# 290#
@@ -283,7 +292,7 @@ CONFIG_ALIGNMENT_TRAP=y
283# 292#
284CONFIG_ZBOOT_ROM_TEXT=0x0 293CONFIG_ZBOOT_ROM_TEXT=0x0
285CONFIG_ZBOOT_ROM_BSS=0x0 294CONFIG_ZBOOT_ROM_BSS=0x0
286CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh" 295CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x10600000,8M ramdisk_size=8192"
287# CONFIG_XIP_KERNEL is not set 296# CONFIG_XIP_KERNEL is not set
288# CONFIG_KEXEC is not set 297# CONFIG_KEXEC is not set
289# CONFIG_ATAGS_PROC is not set 298# CONFIG_ATAGS_PROC is not set
@@ -291,20 +300,7 @@ CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh"
291# 300#
292# CPU Frequency scaling 301# CPU Frequency scaling
293# 302#
294CONFIG_CPU_FREQ=y 303# CONFIG_CPU_FREQ is not set
295CONFIG_CPU_FREQ_TABLE=y
296# CONFIG_CPU_FREQ_DEBUG is not set
297CONFIG_CPU_FREQ_STAT=y
298# CONFIG_CPU_FREQ_STAT_DETAILS is not set
299# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
300CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
301# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
302# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
303# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
304# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
305CONFIG_CPU_FREQ_GOV_USERSPACE=y
306# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
307# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
308 304
309# 305#
310# Floating point emulation 306# Floating point emulation
@@ -322,8 +318,9 @@ CONFIG_FPE_NWFPE=y
322# Userspace binary formats 318# Userspace binary formats
323# 319#
324CONFIG_BINFMT_ELF=y 320CONFIG_BINFMT_ELF=y
325CONFIG_BINFMT_AOUT=y 321# CONFIG_BINFMT_AOUT is not set
326# CONFIG_BINFMT_MISC is not set 322# CONFIG_BINFMT_MISC is not set
323# CONFIG_ARTHUR is not set
327 324
328# 325#
329# Power management options 326# Power management options
@@ -433,21 +430,102 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
433CONFIG_STANDALONE=y 430CONFIG_STANDALONE=y
434CONFIG_PREVENT_FIRMWARE_BUILD=y 431CONFIG_PREVENT_FIRMWARE_BUILD=y
435# CONFIG_FW_LOADER is not set 432# CONFIG_FW_LOADER is not set
433CONFIG_DEBUG_DRIVER=y
434# CONFIG_DEBUG_DEVRES is not set
436# CONFIG_SYS_HYPERVISOR is not set 435# CONFIG_SYS_HYPERVISOR is not set
437# CONFIG_CONNECTOR is not set 436# CONFIG_CONNECTOR is not set
438# CONFIG_MTD is not set 437CONFIG_MTD=y
438CONFIG_MTD_DEBUG=y
439CONFIG_MTD_DEBUG_VERBOSE=3
440# CONFIG_MTD_CONCAT is not set
441CONFIG_MTD_PARTITIONS=y
442# CONFIG_MTD_REDBOOT_PARTS is not set
443CONFIG_MTD_CMDLINE_PARTS=y
444# CONFIG_MTD_AFS_PARTS is not set
445
446#
447# User Modules And Translation Layers
448#
449CONFIG_MTD_CHAR=y
450CONFIG_MTD_BLKDEVS=y
451CONFIG_MTD_BLOCK=y
452# CONFIG_FTL is not set
453# CONFIG_NFTL is not set
454# CONFIG_INFTL is not set
455# CONFIG_RFD_FTL is not set
456# CONFIG_SSFDC is not set
457# CONFIG_MTD_OOPS is not set
458
459#
460# RAM/ROM/Flash chip drivers
461#
462CONFIG_MTD_CFI=y
463# CONFIG_MTD_JEDECPROBE is not set
464CONFIG_MTD_GEN_PROBE=y
465# CONFIG_MTD_CFI_ADV_OPTIONS is not set
466CONFIG_MTD_MAP_BANK_WIDTH_1=y
467CONFIG_MTD_MAP_BANK_WIDTH_2=y
468CONFIG_MTD_MAP_BANK_WIDTH_4=y
469# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
470# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
471# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
472CONFIG_MTD_CFI_I1=y
473CONFIG_MTD_CFI_I2=y
474# CONFIG_MTD_CFI_I4 is not set
475# CONFIG_MTD_CFI_I8 is not set
476CONFIG_MTD_CFI_INTELEXT=y
477# CONFIG_MTD_CFI_AMDSTD is not set
478# CONFIG_MTD_CFI_STAA is not set
479CONFIG_MTD_CFI_UTIL=y
480# CONFIG_MTD_RAM is not set
481# CONFIG_MTD_ROM is not set
482# CONFIG_MTD_ABSENT is not set
483
484#
485# Mapping drivers for chip access
486#
487# CONFIG_MTD_COMPLEX_MAPPINGS is not set
488# CONFIG_MTD_PHYSMAP is not set
489# CONFIG_MTD_ARM_INTEGRATOR is not set
490# CONFIG_MTD_OMAP_NOR is not set
491# CONFIG_MTD_PLATRAM is not set
492
493#
494# Self-contained MTD device drivers
495#
496# CONFIG_MTD_DATAFLASH is not set
497# CONFIG_MTD_M25P80 is not set
498# CONFIG_MTD_SLRAM is not set
499# CONFIG_MTD_PHRAM is not set
500# CONFIG_MTD_MTDRAM is not set
501# CONFIG_MTD_BLOCK2MTD is not set
502
503#
504# Disk-On-Chip Device Drivers
505#
506# CONFIG_MTD_DOC2000 is not set
507# CONFIG_MTD_DOC2001 is not set
508# CONFIG_MTD_DOC2001PLUS is not set
509# CONFIG_MTD_NAND is not set
510# CONFIG_MTD_ONENAND is not set
511
512#
513# UBI - Unsorted block images
514#
515# CONFIG_MTD_UBI is not set
439# CONFIG_PARPORT is not set 516# CONFIG_PARPORT is not set
440CONFIG_BLK_DEV=y 517CONFIG_BLK_DEV=y
441# CONFIG_BLK_DEV_COW_COMMON is not set 518# CONFIG_BLK_DEV_COW_COMMON is not set
442CONFIG_BLK_DEV_LOOP=y 519CONFIG_BLK_DEV_LOOP=y
443# CONFIG_BLK_DEV_CRYPTOLOOP is not set 520# CONFIG_BLK_DEV_CRYPTOLOOP is not set
444# CONFIG_BLK_DEV_NBD is not set 521# CONFIG_BLK_DEV_NBD is not set
522# CONFIG_BLK_DEV_UB is not set
445CONFIG_BLK_DEV_RAM=y 523CONFIG_BLK_DEV_RAM=y
446CONFIG_BLK_DEV_RAM_COUNT=16 524CONFIG_BLK_DEV_RAM_COUNT=16
447CONFIG_BLK_DEV_RAM_SIZE=8192 525CONFIG_BLK_DEV_RAM_SIZE=8192
448# CONFIG_BLK_DEV_XIP is not set 526# CONFIG_BLK_DEV_XIP is not set
449# CONFIG_CDROM_PKTCDVD is not set 527# CONFIG_CDROM_PKTCDVD is not set
450CONFIG_ATA_OVER_ETH=m 528# CONFIG_ATA_OVER_ETH is not set
451CONFIG_MISC_DEVICES=y 529CONFIG_MISC_DEVICES=y
452# CONFIG_EEPROM_93CX6 is not set 530# CONFIG_EEPROM_93CX6 is not set
453# CONFIG_ENCLOSURE_SERVICES is not set 531# CONFIG_ENCLOSURE_SERVICES is not set
@@ -457,42 +535,9 @@ CONFIG_MISC_DEVICES=y
457# SCSI device support 535# SCSI device support
458# 536#
459# CONFIG_RAID_ATTRS is not set 537# CONFIG_RAID_ATTRS is not set
460CONFIG_SCSI=y 538# CONFIG_SCSI is not set
461CONFIG_SCSI_DMA=y 539# CONFIG_SCSI_DMA is not set
462# CONFIG_SCSI_TGT is not set
463# CONFIG_SCSI_NETLINK is not set 540# CONFIG_SCSI_NETLINK is not set
464CONFIG_SCSI_PROC_FS=y
465
466#
467# SCSI support type (disk, tape, CD-ROM)
468#
469# CONFIG_BLK_DEV_SD is not set
470# CONFIG_CHR_DEV_ST is not set
471# CONFIG_CHR_DEV_OSST is not set
472# CONFIG_BLK_DEV_SR is not set
473# CONFIG_CHR_DEV_SG is not set
474# CONFIG_CHR_DEV_SCH is not set
475
476#
477# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
478#
479# CONFIG_SCSI_MULTI_LUN is not set
480# CONFIG_SCSI_CONSTANTS is not set
481# CONFIG_SCSI_LOGGING is not set
482# CONFIG_SCSI_SCAN_ASYNC is not set
483CONFIG_SCSI_WAIT_SCAN=m
484
485#
486# SCSI Transports
487#
488# CONFIG_SCSI_SPI_ATTRS is not set
489# CONFIG_SCSI_FC_ATTRS is not set
490# CONFIG_SCSI_ISCSI_ATTRS is not set
491# CONFIG_SCSI_SAS_LIBSAS is not set
492# CONFIG_SCSI_SRP_ATTRS is not set
493CONFIG_SCSI_LOWLEVEL=y
494# CONFIG_ISCSI_TCP is not set
495# CONFIG_SCSI_DEBUG is not set
496# CONFIG_ATA is not set 541# CONFIG_ATA is not set
497# CONFIG_MD is not set 542# CONFIG_MD is not set
498CONFIG_NETDEVICES=y 543CONFIG_NETDEVICES=y
@@ -509,6 +554,7 @@ CONFIG_MII=y
509# CONFIG_AX88796 is not set 554# CONFIG_AX88796 is not set
510CONFIG_SMC91X=y 555CONFIG_SMC91X=y
511# CONFIG_DM9000 is not set 556# CONFIG_DM9000 is not set
557# CONFIG_ENC28J60 is not set
512# CONFIG_IBM_NEW_EMAC_ZMII is not set 558# CONFIG_IBM_NEW_EMAC_ZMII is not set
513# CONFIG_IBM_NEW_EMAC_RGMII is not set 559# CONFIG_IBM_NEW_EMAC_RGMII is not set
514# CONFIG_IBM_NEW_EMAC_TAH is not set 560# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -523,6 +569,15 @@ CONFIG_NETDEV_10000=y
523# 569#
524# CONFIG_WLAN_PRE80211 is not set 570# CONFIG_WLAN_PRE80211 is not set
525# CONFIG_WLAN_80211 is not set 571# CONFIG_WLAN_80211 is not set
572
573#
574# USB Network Adapters
575#
576# CONFIG_USB_CATC is not set
577# CONFIG_USB_KAWETH is not set
578# CONFIG_USB_PEGASUS is not set
579# CONFIG_USB_RTL8150 is not set
580# CONFIG_USB_USBNET is not set
526# CONFIG_WAN is not set 581# CONFIG_WAN is not set
527CONFIG_PPP=y 582CONFIG_PPP=y
528# CONFIG_PPP_MULTILINK is not set 583# CONFIG_PPP_MULTILINK is not set
@@ -612,7 +667,8 @@ CONFIG_SERIAL_CORE_CONSOLE=y
612CONFIG_UNIX98_PTYS=y 667CONFIG_UNIX98_PTYS=y
613# CONFIG_LEGACY_PTYS is not set 668# CONFIG_LEGACY_PTYS is not set
614# CONFIG_IPMI_HANDLER is not set 669# CONFIG_IPMI_HANDLER is not set
615# CONFIG_HW_RANDOM is not set 670CONFIG_HW_RANDOM=m
671CONFIG_HW_RANDOM_OMAP=m
616# CONFIG_NVRAM is not set 672# CONFIG_NVRAM is not set
617# CONFIG_R3964 is not set 673# CONFIG_R3964 is not set
618# CONFIG_RAW_DRIVER is not set 674# CONFIG_RAW_DRIVER is not set
@@ -638,6 +694,7 @@ CONFIG_I2C_OMAP=y
638# CONFIG_I2C_SIMTEC is not set 694# CONFIG_I2C_SIMTEC is not set
639# CONFIG_I2C_TAOS_EVM is not set 695# CONFIG_I2C_TAOS_EVM is not set
640# CONFIG_I2C_STUB is not set 696# CONFIG_I2C_STUB is not set
697# CONFIG_I2C_TINY_USB is not set
641 698
642# 699#
643# Miscellaneous I2C Chip support 700# Miscellaneous I2C Chip support
@@ -647,8 +704,10 @@ CONFIG_I2C_OMAP=y
647# CONFIG_SENSORS_PCF8574 is not set 704# CONFIG_SENSORS_PCF8574 is not set
648# CONFIG_PCF8575 is not set 705# CONFIG_PCF8575 is not set
649# CONFIG_SENSORS_PCF8591 is not set 706# CONFIG_SENSORS_PCF8591 is not set
650# CONFIG_ISP1301_OMAP is not set 707CONFIG_ISP1301_OMAP=y
651CONFIG_TPS65010=y 708CONFIG_TPS65010=y
709# CONFIG_SENSORS_TLV320AIC23 is not set
710# CONFIG_GPIOEXPANDER_OMAP is not set
652# CONFIG_SENSORS_MAX6875 is not set 711# CONFIG_SENSORS_MAX6875 is not set
653# CONFIG_SENSORS_TSL2550 is not set 712# CONFIG_SENSORS_TSL2550 is not set
654# CONFIG_I2C_DEBUG_CORE is not set 713# CONFIG_I2C_DEBUG_CORE is not set
@@ -659,8 +718,26 @@ CONFIG_TPS65010=y
659# 718#
660# SPI support 719# SPI support
661# 720#
662# CONFIG_SPI is not set 721CONFIG_SPI=y
663# CONFIG_SPI_MASTER is not set 722# CONFIG_SPI_DEBUG is not set
723CONFIG_SPI_MASTER=y
724
725#
726# SPI Master Controller Drivers
727#
728CONFIG_SPI_BITBANG=y
729CONFIG_SPI_OMAP_UWIRE=y
730
731#
732# SPI Protocol Masters
733#
734# CONFIG_SPI_AT25 is not set
735CONFIG_SPI_TSC2101=y
736# CONFIG_SPI_TSC2102 is not set
737# CONFIG_SPI_TSC210X is not set
738# CONFIG_SPI_TSC2301 is not set
739# CONFIG_SPI_SPIDEV is not set
740# CONFIG_SPI_TLE62X0 is not set
664# CONFIG_W1 is not set 741# CONFIG_W1 is not set
665# CONFIG_POWER_SUPPLY is not set 742# CONFIG_POWER_SUPPLY is not set
666CONFIG_HWMON=y 743CONFIG_HWMON=y
@@ -673,7 +750,6 @@ CONFIG_HWMON=y
673# CONFIG_SENSORS_ADM1031 is not set 750# CONFIG_SENSORS_ADM1031 is not set
674# CONFIG_SENSORS_ADM9240 is not set 751# CONFIG_SENSORS_ADM9240 is not set
675# CONFIG_SENSORS_ADT7470 is not set 752# CONFIG_SENSORS_ADT7470 is not set
676# CONFIG_SENSORS_ADT7473 is not set
677# CONFIG_SENSORS_ATXP1 is not set 753# CONFIG_SENSORS_ATXP1 is not set
678# CONFIG_SENSORS_DS1621 is not set 754# CONFIG_SENSORS_DS1621 is not set
679# CONFIG_SENSORS_F71805F is not set 755# CONFIG_SENSORS_F71805F is not set
@@ -683,6 +759,7 @@ CONFIG_HWMON=y
683# CONFIG_SENSORS_GL520SM is not set 759# CONFIG_SENSORS_GL520SM is not set
684# CONFIG_SENSORS_IT87 is not set 760# CONFIG_SENSORS_IT87 is not set
685# CONFIG_SENSORS_LM63 is not set 761# CONFIG_SENSORS_LM63 is not set
762# CONFIG_SENSORS_LM70 is not set
686# CONFIG_SENSORS_LM75 is not set 763# CONFIG_SENSORS_LM75 is not set
687# CONFIG_SENSORS_LM77 is not set 764# CONFIG_SENSORS_LM77 is not set
688# CONFIG_SENSORS_LM78 is not set 765# CONFIG_SENSORS_LM78 is not set
@@ -712,6 +789,7 @@ CONFIG_HWMON=y
712# CONFIG_SENSORS_W83L786NG is not set 789# CONFIG_SENSORS_W83L786NG is not set
713# CONFIG_SENSORS_W83627HF is not set 790# CONFIG_SENSORS_W83627HF is not set
714# CONFIG_SENSORS_W83627EHF is not set 791# CONFIG_SENSORS_W83627EHF is not set
792# CONFIG_SENSORS_TSC210X is not set
715# CONFIG_HWMON_DEBUG_CHIP is not set 793# CONFIG_HWMON_DEBUG_CHIP is not set
716CONFIG_WATCHDOG=y 794CONFIG_WATCHDOG=y
717CONFIG_WATCHDOG_NOWAYOUT=y 795CONFIG_WATCHDOG_NOWAYOUT=y
@@ -723,6 +801,11 @@ CONFIG_WATCHDOG_NOWAYOUT=y
723# CONFIG_OMAP_WATCHDOG is not set 801# CONFIG_OMAP_WATCHDOG is not set
724 802
725# 803#
804# USB-based Watchdog Cards
805#
806# CONFIG_USBPCWATCHDOG is not set
807
808#
726# Sonics Silicon Backplane 809# Sonics Silicon Backplane
727# 810#
728CONFIG_SSB_POSSIBLE=y 811CONFIG_SSB_POSSIBLE=y
@@ -740,6 +823,7 @@ CONFIG_SSB_POSSIBLE=y
740# CONFIG_VIDEO_DEV is not set 823# CONFIG_VIDEO_DEV is not set
741# CONFIG_DVB_CORE is not set 824# CONFIG_DVB_CORE is not set
742CONFIG_DAB=y 825CONFIG_DAB=y
826# CONFIG_USB_DABUSB is not set
743 827
744# 828#
745# Graphics support 829# Graphics support
@@ -749,9 +833,9 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
749CONFIG_FB=y 833CONFIG_FB=y
750CONFIG_FIRMWARE_EDID=y 834CONFIG_FIRMWARE_EDID=y
751# CONFIG_FB_DDC is not set 835# CONFIG_FB_DDC is not set
752# CONFIG_FB_CFB_FILLRECT is not set 836CONFIG_FB_CFB_FILLRECT=y
753# CONFIG_FB_CFB_COPYAREA is not set 837CONFIG_FB_CFB_COPYAREA=y
754# CONFIG_FB_CFB_IMAGEBLIT is not set 838CONFIG_FB_CFB_IMAGEBLIT=y
755# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 839# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
756# CONFIG_FB_SYS_FILLRECT is not set 840# CONFIG_FB_SYS_FILLRECT is not set
757# CONFIG_FB_SYS_COPYAREA is not set 841# CONFIG_FB_SYS_COPYAREA is not set
@@ -769,7 +853,11 @@ CONFIG_FB_MODE_HELPERS=y
769# 853#
770# CONFIG_FB_S1D13XXX is not set 854# CONFIG_FB_S1D13XXX is not set
771# CONFIG_FB_VIRTUAL is not set 855# CONFIG_FB_VIRTUAL is not set
772# CONFIG_FB_OMAP is not set 856CONFIG_FB_OMAP=y
857# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
858# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
859CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
860# CONFIG_FB_OMAP_DMA_TUNE is not set
773# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 861# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
774 862
775# 863#
@@ -785,17 +873,9 @@ CONFIG_DUMMY_CONSOLE=y
785CONFIG_FRAMEBUFFER_CONSOLE=y 873CONFIG_FRAMEBUFFER_CONSOLE=y
786# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 874# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
787# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 875# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
788CONFIG_FONTS=y 876# CONFIG_FONTS is not set
789CONFIG_FONT_8x8=y 877CONFIG_FONT_8x8=y
790CONFIG_FONT_8x16=y 878CONFIG_FONT_8x16=y
791# CONFIG_FONT_6x11 is not set
792# CONFIG_FONT_7x14 is not set
793# CONFIG_FONT_PEARL_8x8 is not set
794# CONFIG_FONT_ACORN_8x8 is not set
795# CONFIG_FONT_MINI_4x6 is not set
796# CONFIG_FONT_SUN8x16 is not set
797# CONFIG_FONT_SUN12x22 is not set
798# CONFIG_FONT_10x18 is not set
799CONFIG_LOGO=y 879CONFIG_LOGO=y
800# CONFIG_LOGO_LINUX_MONO is not set 880# CONFIG_LOGO_LINUX_MONO is not set
801# CONFIG_LOGO_LINUX_VGA16 is not set 881# CONFIG_LOGO_LINUX_VGA16 is not set
@@ -804,37 +884,204 @@ CONFIG_LOGO_LINUX_CLUT224=y
804# 884#
805# Sound 885# Sound
806# 886#
807CONFIG_SOUND=y 887# CONFIG_SOUND is not set
888CONFIG_HID_SUPPORT=y
889CONFIG_HID=y
890# CONFIG_HID_DEBUG is not set
891# CONFIG_HIDRAW is not set
808 892
809# 893#
810# Advanced Linux Sound Architecture 894# USB Input Devices
811# 895#
812# CONFIG_SND is not set 896# CONFIG_USB_HID is not set
813 897
814# 898#
815# Open Sound System 899# USB HID Boot Protocol drivers
816# 900#
817CONFIG_SOUND_PRIME=y 901# CONFIG_USB_KBD is not set
818# CONFIG_SOUND_MSNDCLAS is not set 902# CONFIG_USB_MOUSE is not set
819# CONFIG_SOUND_MSNDPIN is not set
820CONFIG_HID_SUPPORT=y
821CONFIG_HID=y
822CONFIG_HID_DEBUG=y
823# CONFIG_HIDRAW is not set
824CONFIG_USB_SUPPORT=y 903CONFIG_USB_SUPPORT=y
825CONFIG_USB_ARCH_HAS_HCD=y 904CONFIG_USB_ARCH_HAS_HCD=y
826CONFIG_USB_ARCH_HAS_OHCI=y 905CONFIG_USB_ARCH_HAS_OHCI=y
827# CONFIG_USB_ARCH_HAS_EHCI is not set 906# CONFIG_USB_ARCH_HAS_EHCI is not set
828# CONFIG_USB is not set 907CONFIG_USB=y
908# CONFIG_USB_DEBUG is not set
909# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
910
911#
912# Miscellaneous USB options
913#
914CONFIG_USB_DEVICEFS=y
915# CONFIG_USB_DEVICE_CLASS is not set
916# CONFIG_USB_DYNAMIC_MINORS is not set
917CONFIG_USB_SUSPEND=y
918# CONFIG_USB_PERSIST is not set
919CONFIG_USB_OTG=y
920CONFIG_USB_OTG_WHITELIST=y
921# CONFIG_USB_OTG_BLACKLIST_HUB is not set
922
923#
924# USB Host Controller Drivers
925#
926# CONFIG_USB_ISP116X_HCD is not set
927CONFIG_USB_OHCI_HCD=y
928# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
929# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
930CONFIG_USB_OHCI_LITTLE_ENDIAN=y
931# CONFIG_USB_SL811_HCD is not set
932# CONFIG_USB_R8A66597_HCD is not set
933# CONFIG_USB_MUSB_HDRC is not set
934# CONFIG_USB_GADGET_MUSB_HDRC is not set
935
936#
937# USB Device Class drivers
938#
939# CONFIG_USB_ACM is not set
940# CONFIG_USB_PRINTER is not set
829 941
830# 942#
831# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 943# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
832# 944#
833# CONFIG_USB_GADGET is not set 945
834# CONFIG_MMC is not set 946#
947# may also be needed; see USB_STORAGE Help for more information
948#
949# CONFIG_USB_LIBUSUAL is not set
950
951#
952# USB Imaging devices
953#
954# CONFIG_USB_MDC800 is not set
955CONFIG_USB_MON=y
956
957#
958# USB port drivers
959#
960# CONFIG_USB_SERIAL is not set
961
962#
963# USB Miscellaneous drivers
964#
965# CONFIG_USB_EMI62 is not set
966# CONFIG_USB_EMI26 is not set
967# CONFIG_USB_ADUTUX is not set
968# CONFIG_USB_AUERSWALD is not set
969# CONFIG_USB_RIO500 is not set
970# CONFIG_USB_LEGOTOWER is not set
971# CONFIG_USB_LCD is not set
972# CONFIG_USB_BERRY_CHARGE is not set
973# CONFIG_USB_LED is not set
974# CONFIG_USB_CYPRESS_CY7C63 is not set
975# CONFIG_USB_CYTHERM is not set
976# CONFIG_USB_PHIDGET is not set
977# CONFIG_USB_IDMOUSE is not set
978# CONFIG_USB_FTDI_ELAN is not set
979# CONFIG_USB_APPLEDISPLAY is not set
980# CONFIG_USB_LD is not set
981# CONFIG_USB_TRANCEVIBRATOR is not set
982# CONFIG_USB_IOWARRIOR is not set
983CONFIG_USB_TEST=y
984CONFIG_USB_GADGET=y
985# CONFIG_USB_GADGET_DEBUG is not set
986# CONFIG_USB_GADGET_DEBUG_FILES is not set
987CONFIG_USB_GADGET_SELECTED=y
988# CONFIG_USB_GADGET_AMD5536UDC is not set
989# CONFIG_USB_GADGET_ATMEL_USBA is not set
990# CONFIG_USB_GADGET_FSL_USB2 is not set
991# CONFIG_USB_GADGET_NET2280 is not set
992# CONFIG_USB_GADGET_PXA2XX is not set
993# CONFIG_USB_GADGET_M66592 is not set
994# CONFIG_USB_GADGET_GOKU is not set
995# CONFIG_USB_GADGET_LH7A40X is not set
996CONFIG_USB_GADGET_OMAP=y
997CONFIG_USB_OMAP=y
998# CONFIG_USB_GADGET_S3C2410 is not set
999# CONFIG_USB_GADGET_AT91 is not set
1000# CONFIG_USB_GADGET_DUMMY_HCD is not set
1001# CONFIG_USB_GADGET_DUALSPEED is not set
1002# CONFIG_USB_ZERO is not set
1003CONFIG_USB_ETH=y
1004CONFIG_USB_ETH_RNDIS=y
1005# CONFIG_USB_GADGETFS is not set
1006# CONFIG_USB_FILE_STORAGE is not set
1007# CONFIG_USB_G_SERIAL is not set
1008# CONFIG_USB_MIDI_GADGET is not set
1009# CONFIG_USB_G_PRINTER is not set
1010CONFIG_MMC=y
1011# CONFIG_MMC_DEBUG is not set
1012# CONFIG_MMC_UNSAFE_RESUME is not set
1013
1014#
1015# MMC/SD Card Drivers
1016#
1017CONFIG_MMC_BLOCK=y
1018CONFIG_MMC_BLOCK_BOUNCE=y
1019# CONFIG_SDIO_UART is not set
1020
1021#
1022# MMC/SD Host Controller Drivers
1023#
1024CONFIG_MMC_OMAP=y
1025# CONFIG_MMC_SPI is not set
835# CONFIG_NEW_LEDS is not set 1026# CONFIG_NEW_LEDS is not set
836CONFIG_RTC_LIB=y 1027CONFIG_RTC_LIB=y
837# CONFIG_RTC_CLASS is not set 1028CONFIG_RTC_CLASS=y
1029CONFIG_RTC_HCTOSYS=y
1030CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1031# CONFIG_RTC_DEBUG is not set
1032
1033#
1034# RTC interfaces
1035#
1036CONFIG_RTC_INTF_SYSFS=y
1037CONFIG_RTC_INTF_PROC=y
1038CONFIG_RTC_INTF_DEV=y
1039# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1040# CONFIG_RTC_DRV_TEST is not set
1041
1042#
1043# I2C RTC drivers
1044#
1045# CONFIG_RTC_DRV_DS1307 is not set
1046# CONFIG_RTC_DRV_DS1374 is not set
1047# CONFIG_RTC_DRV_DS1672 is not set
1048# CONFIG_RTC_DRV_MAX6900 is not set
1049# CONFIG_RTC_DRV_RS5C372 is not set
1050# CONFIG_RTC_DRV_ISL1208 is not set
1051# CONFIG_RTC_DRV_X1205 is not set
1052# CONFIG_RTC_DRV_PCF8563 is not set
1053# CONFIG_RTC_DRV_PCF8583 is not set
1054# CONFIG_RTC_DRV_M41T80 is not set
1055
1056#
1057# SPI RTC drivers
1058#
1059# CONFIG_RTC_DRV_MAX6902 is not set
1060# CONFIG_RTC_DRV_R9701 is not set
1061# CONFIG_RTC_DRV_RS5C348 is not set
1062
1063#
1064# Platform RTC drivers
1065#
1066# CONFIG_RTC_DRV_CMOS is not set
1067# CONFIG_RTC_DRV_DS1511 is not set
1068# CONFIG_RTC_DRV_DS1553 is not set
1069# CONFIG_RTC_DRV_DS1742 is not set
1070# CONFIG_RTC_DRV_STK17TA8 is not set
1071# CONFIG_RTC_DRV_M48T86 is not set
1072# CONFIG_RTC_DRV_M48T59 is not set
1073# CONFIG_RTC_DRV_V3020 is not set
1074
1075#
1076# on-CPU RTC drivers
1077#
1078CONFIG_RTC_DRV_OMAP=y
1079
1080#
1081# CBUS support
1082#
1083# CONFIG_CBUS is not set
1084# CONFIG_OMAP_DSP is not set
838 1085
839# 1086#
840# File systems 1087# File systems
@@ -894,6 +1141,17 @@ CONFIG_SYSFS=y
894# CONFIG_BEFS_FS is not set 1141# CONFIG_BEFS_FS is not set
895# CONFIG_BFS_FS is not set 1142# CONFIG_BFS_FS is not set
896# CONFIG_EFS_FS is not set 1143# CONFIG_EFS_FS is not set
1144CONFIG_JFFS2_FS=y
1145CONFIG_JFFS2_FS_DEBUG=0
1146CONFIG_JFFS2_FS_WRITEBUFFER=y
1147# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1148# CONFIG_JFFS2_SUMMARY is not set
1149# CONFIG_JFFS2_FS_XATTR is not set
1150# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1151CONFIG_JFFS2_ZLIB=y
1152# CONFIG_JFFS2_LZO is not set
1153CONFIG_JFFS2_RTIME=y
1154# CONFIG_JFFS2_RUBIN is not set
897CONFIG_CRAMFS=y 1155CONFIG_CRAMFS=y
898# CONFIG_VXFS_FS is not set 1156# CONFIG_VXFS_FS is not set
899# CONFIG_MINIX_FS is not set 1157# CONFIG_MINIX_FS is not set
@@ -904,19 +1162,16 @@ CONFIG_ROMFS_FS=y
904# CONFIG_UFS_FS is not set 1162# CONFIG_UFS_FS is not set
905CONFIG_NETWORK_FILESYSTEMS=y 1163CONFIG_NETWORK_FILESYSTEMS=y
906CONFIG_NFS_FS=y 1164CONFIG_NFS_FS=y
907CONFIG_NFS_V3=y 1165# CONFIG_NFS_V3 is not set
908# CONFIG_NFS_V3_ACL is not set 1166# CONFIG_NFS_V4 is not set
909CONFIG_NFS_V4=y
910# CONFIG_NFS_DIRECTIO is not set 1167# CONFIG_NFS_DIRECTIO is not set
911# CONFIG_NFSD is not set 1168# CONFIG_NFSD is not set
912CONFIG_ROOT_NFS=y 1169CONFIG_ROOT_NFS=y
913CONFIG_LOCKD=y 1170CONFIG_LOCKD=y
914CONFIG_LOCKD_V4=y
915CONFIG_NFS_COMMON=y 1171CONFIG_NFS_COMMON=y
916CONFIG_SUNRPC=y 1172CONFIG_SUNRPC=y
917CONFIG_SUNRPC_GSS=y
918# CONFIG_SUNRPC_BIND34 is not set 1173# CONFIG_SUNRPC_BIND34 is not set
919CONFIG_RPCSEC_GSS_KRB5=y 1174# CONFIG_RPCSEC_GSS_KRB5 is not set
920# CONFIG_RPCSEC_GSS_SPKM3 is not set 1175# CONFIG_RPCSEC_GSS_SPKM3 is not set
921# CONFIG_SMB_FS is not set 1176# CONFIG_SMB_FS is not set
922# CONFIG_CIFS is not set 1177# CONFIG_CIFS is not set
@@ -981,11 +1236,38 @@ CONFIG_ENABLE_MUST_CHECK=y
981# CONFIG_UNUSED_SYMBOLS is not set 1236# CONFIG_UNUSED_SYMBOLS is not set
982# CONFIG_DEBUG_FS is not set 1237# CONFIG_DEBUG_FS is not set
983# CONFIG_HEADERS_CHECK is not set 1238# CONFIG_HEADERS_CHECK is not set
984# CONFIG_DEBUG_KERNEL is not set 1239CONFIG_DEBUG_KERNEL=y
1240# CONFIG_DEBUG_SHIRQ is not set
1241CONFIG_DETECT_SOFTLOCKUP=y
1242CONFIG_SCHED_DEBUG=y
1243# CONFIG_SCHEDSTATS is not set
1244# CONFIG_TIMER_STATS is not set
1245# CONFIG_DEBUG_SLAB is not set
1246# CONFIG_DEBUG_RT_MUTEXES is not set
1247# CONFIG_RT_MUTEX_TESTER is not set
1248# CONFIG_DEBUG_SPINLOCK is not set
1249# CONFIG_DEBUG_MUTEXES is not set
1250# CONFIG_DEBUG_LOCK_ALLOC is not set
1251# CONFIG_PROVE_LOCKING is not set
1252# CONFIG_LOCK_STAT is not set
1253# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1254# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1255# CONFIG_DEBUG_KOBJECT is not set
985CONFIG_DEBUG_BUGVERBOSE=y 1256CONFIG_DEBUG_BUGVERBOSE=y
1257CONFIG_DEBUG_INFO=y
1258# CONFIG_DEBUG_VM is not set
1259# CONFIG_DEBUG_LIST is not set
1260# CONFIG_DEBUG_SG is not set
986CONFIG_FRAME_POINTER=y 1261CONFIG_FRAME_POINTER=y
1262# CONFIG_BOOT_PRINTK_DELAY is not set
1263# CONFIG_RCU_TORTURE_TEST is not set
1264# CONFIG_BACKTRACE_SELF_TEST is not set
1265# CONFIG_FAULT_INJECTION is not set
987# CONFIG_SAMPLES is not set 1266# CONFIG_SAMPLES is not set
988# CONFIG_DEBUG_USER is not set 1267CONFIG_DEBUG_USER=y
1268CONFIG_DEBUG_ERRORS=y
1269# CONFIG_DEBUG_STACK_USAGE is not set
1270# CONFIG_DEBUG_LL is not set
989 1271
990# 1272#
991# Security options 1273# Security options
@@ -994,31 +1276,29 @@ CONFIG_FRAME_POINTER=y
994# CONFIG_SECURITY is not set 1276# CONFIG_SECURITY is not set
995# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1277# CONFIG_SECURITY_FILE_CAPABILITIES is not set
996CONFIG_CRYPTO=y 1278CONFIG_CRYPTO=y
997CONFIG_CRYPTO_ALGAPI=y
998CONFIG_CRYPTO_BLKCIPHER=y
999# CONFIG_CRYPTO_SEQIV is not set 1279# CONFIG_CRYPTO_SEQIV is not set
1000CONFIG_CRYPTO_MANAGER=y 1280# CONFIG_CRYPTO_MANAGER is not set
1001# CONFIG_CRYPTO_HMAC is not set 1281# CONFIG_CRYPTO_HMAC is not set
1002# CONFIG_CRYPTO_XCBC is not set 1282# CONFIG_CRYPTO_XCBC is not set
1003# CONFIG_CRYPTO_NULL is not set 1283# CONFIG_CRYPTO_NULL is not set
1004# CONFIG_CRYPTO_MD4 is not set 1284# CONFIG_CRYPTO_MD4 is not set
1005CONFIG_CRYPTO_MD5=y 1285# CONFIG_CRYPTO_MD5 is not set
1006# CONFIG_CRYPTO_SHA1 is not set 1286# CONFIG_CRYPTO_SHA1 is not set
1007# CONFIG_CRYPTO_SHA256 is not set 1287# CONFIG_CRYPTO_SHA256 is not set
1008# CONFIG_CRYPTO_SHA512 is not set 1288# CONFIG_CRYPTO_SHA512 is not set
1009# CONFIG_CRYPTO_WP512 is not set 1289# CONFIG_CRYPTO_WP512 is not set
1010# CONFIG_CRYPTO_TGR192 is not set 1290# CONFIG_CRYPTO_TGR192 is not set
1011# CONFIG_CRYPTO_GF128MUL is not set 1291# CONFIG_CRYPTO_GF128MUL is not set
1012CONFIG_CRYPTO_ECB=m 1292# CONFIG_CRYPTO_ECB is not set
1013CONFIG_CRYPTO_CBC=y 1293# CONFIG_CRYPTO_CBC is not set
1014CONFIG_CRYPTO_PCBC=m 1294# CONFIG_CRYPTO_PCBC is not set
1015# CONFIG_CRYPTO_LRW is not set 1295# CONFIG_CRYPTO_LRW is not set
1016# CONFIG_CRYPTO_XTS is not set 1296# CONFIG_CRYPTO_XTS is not set
1017# CONFIG_CRYPTO_CTR is not set 1297# CONFIG_CRYPTO_CTR is not set
1018# CONFIG_CRYPTO_GCM is not set 1298# CONFIG_CRYPTO_GCM is not set
1019# CONFIG_CRYPTO_CCM is not set 1299# CONFIG_CRYPTO_CCM is not set
1020# CONFIG_CRYPTO_CRYPTD is not set 1300# CONFIG_CRYPTO_CRYPTD is not set
1021CONFIG_CRYPTO_DES=y 1301# CONFIG_CRYPTO_DES is not set
1022# CONFIG_CRYPTO_FCRYPT is not set 1302# CONFIG_CRYPTO_FCRYPT is not set
1023# CONFIG_CRYPTO_BLOWFISH is not set 1303# CONFIG_CRYPTO_BLOWFISH is not set
1024# CONFIG_CRYPTO_TWOFISH is not set 1304# CONFIG_CRYPTO_TWOFISH is not set
@@ -1052,6 +1332,7 @@ CONFIG_CRC32=y
1052# CONFIG_CRC7 is not set 1332# CONFIG_CRC7 is not set
1053# CONFIG_LIBCRC32C is not set 1333# CONFIG_LIBCRC32C is not set
1054CONFIG_ZLIB_INFLATE=y 1334CONFIG_ZLIB_INFLATE=y
1335CONFIG_ZLIB_DEFLATE=y
1055CONFIG_PLIST=y 1336CONFIG_PLIST=y
1056CONFIG_HAS_IOMEM=y 1337CONFIG_HAS_IOMEM=y
1057CONFIG_HAS_IOPORT=y 1338CONFIG_HAS_IOPORT=y
diff --git a/arch/arm/configs/omap_h4_2420_defconfig b/arch/arm/configs/omap_h4_2420_defconfig
new file mode 100644
index 000000000000..5bc89185a64f
--- /dev/null
+++ b/arch/arm/configs/omap_h4_2420_defconfig
@@ -0,0 +1,1120 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:44:58 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39# CONFIG_POSIX_MQUEUE is not set
40CONFIG_BSD_PROCESS_ACCT=y
41# CONFIG_BSD_PROCESS_ACCT_V3 is not set
42# CONFIG_TASKSTATS is not set
43# CONFIG_USER_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53CONFIG_EMBEDDED=y
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58CONFIG_KALLSYMS_EXTRA_PASS=y
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80# CONFIG_MODULE_FORCE_UNLOAD is not set
81CONFIG_MODVERSIONS=y
82CONFIG_MODULE_SRCVERSION_ALL=y
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97CONFIG_DEFAULT_AS=y
98# CONFIG_DEFAULT_DEADLINE is not set
99# CONFIG_DEFAULT_CFQ is not set
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="anticipatory"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138CONFIG_ARCH_OMAP=y
139
140#
141# TI OMAP Implementations
142#
143CONFIG_ARCH_OMAP_OTG=y
144# CONFIG_ARCH_OMAP1 is not set
145CONFIG_ARCH_OMAP2=y
146# CONFIG_ARCH_OMAP3 is not set
147
148#
149# OMAP Feature Selections
150#
151CONFIG_OMAP_DEBUG_DEVICES=y
152# CONFIG_OMAP_RESET_CLOCKS is not set
153CONFIG_OMAP_BOOT_TAG=y
154# CONFIG_OMAP_BOOT_REASON is not set
155# CONFIG_OMAP_COMPONENT_VERSION is not set
156# CONFIG_OMAP_GPIO_SWITCH is not set
157CONFIG_OMAP_MUX=y
158CONFIG_OMAP_MUX_DEBUG=y
159CONFIG_OMAP_MUX_WARNINGS=y
160# CONFIG_OMAP_STI is not set
161CONFIG_OMAP_MCBSP=y
162# CONFIG_OMAP_MMU_FWK is not set
163# CONFIG_OMAP_MBOX_FWK is not set
164CONFIG_OMAP_MPU_TIMER=y
165# CONFIG_OMAP_32K_TIMER is not set
166CONFIG_OMAP_DM_TIMER=y
167CONFIG_OMAP_LL_DEBUG_UART1=y
168# CONFIG_OMAP_LL_DEBUG_UART2 is not set
169# CONFIG_OMAP_LL_DEBUG_UART3 is not set
170CONFIG_OMAP_SERIAL_WAKE=y
171# CONFIG_OMAP_DSP is not set
172# CONFIG_MACH_OMAP_GENERIC is not set
173
174#
175# OMAP Core Type
176#
177CONFIG_ARCH_OMAP24XX=y
178CONFIG_ARCH_OMAP2420=y
179# CONFIG_ARCH_OMAP2430 is not set
180
181#
182# OMAP Board Type
183#
184# CONFIG_MACH_NOKIA_N800 is not set
185CONFIG_MACH_OMAP_H4=y
186# CONFIG_MACH_OMAP_H4_TUSB is not set
187# CONFIG_MACH_OMAP_H4_OTG is not set
188# CONFIG_MACH_OMAP2_H4_USB1 is not set
189# CONFIG_MACH_OMAP_APOLLON is not set
190# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
191# CONFIG_MACH_OMAP_2430SDP is not set
192
193#
194# Boot options
195#
196
197#
198# Power management
199#
200
201#
202# Processor Type
203#
204CONFIG_CPU_32=y
205CONFIG_CPU_V6=y
206# CONFIG_CPU_32v6K is not set
207CONFIG_CPU_32v6=y
208CONFIG_CPU_ABRT_EV6=y
209CONFIG_CPU_PABRT_NOIFAR=y
210CONFIG_CPU_CACHE_V6=y
211CONFIG_CPU_CACHE_VIPT=y
212CONFIG_CPU_COPY_V6=y
213CONFIG_CPU_TLB_V6=y
214CONFIG_CPU_HAS_ASID=y
215CONFIG_CPU_CP15=y
216CONFIG_CPU_CP15_MMU=y
217
218#
219# Processor Features
220#
221CONFIG_ARM_THUMB=y
222# CONFIG_CPU_ICACHE_DISABLE is not set
223# CONFIG_CPU_DCACHE_DISABLE is not set
224# CONFIG_CPU_BPREDICT_DISABLE is not set
225# CONFIG_OUTER_CACHE is not set
226
227#
228# Bus support
229#
230# CONFIG_PCI_SYSCALL is not set
231# CONFIG_ARCH_SUPPORTS_MSI is not set
232
233#
234# PCCARD (PCMCIA/CardBus) support
235#
236# CONFIG_PCCARD is not set
237
238#
239# Kernel Features
240#
241# CONFIG_TICK_ONESHOT is not set
242# CONFIG_NO_HZ is not set
243# CONFIG_HIGH_RES_TIMERS is not set
244# CONFIG_PREEMPT is not set
245CONFIG_HZ=100
246CONFIG_AEABI=y
247CONFIG_OABI_COMPAT=y
248# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
249CONFIG_SELECT_MEMORY_MODEL=y
250CONFIG_FLATMEM_MANUAL=y
251# CONFIG_DISCONTIGMEM_MANUAL is not set
252# CONFIG_SPARSEMEM_MANUAL is not set
253CONFIG_FLATMEM=y
254CONFIG_FLAT_NODE_MEM_MAP=y
255# CONFIG_SPARSEMEM_STATIC is not set
256CONFIG_SPLIT_PTLOCK_CPUS=4
257# CONFIG_RESOURCES_64BIT is not set
258CONFIG_ZONE_DMA_FLAG=1
259CONFIG_BOUNCE=y
260CONFIG_VIRT_TO_BUS=y
261# CONFIG_LEDS is not set
262CONFIG_ALIGNMENT_TRAP=y
263
264#
265# Boot options
266#
267CONFIG_ZBOOT_ROM_TEXT=0x0
268CONFIG_ZBOOT_ROM_BSS=0x0
269CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
270# CONFIG_XIP_KERNEL is not set
271# CONFIG_KEXEC is not set
272
273#
274# CPU Frequency scaling
275#
276# CONFIG_CPU_FREQ is not set
277
278#
279# Floating point emulation
280#
281
282#
283# At least one emulation must be selected
284#
285CONFIG_FPE_NWFPE=y
286# CONFIG_FPE_NWFPE_XP is not set
287# CONFIG_FPE_FASTFPE is not set
288# CONFIG_VFP is not set
289
290#
291# Userspace binary formats
292#
293CONFIG_BINFMT_ELF=y
294# CONFIG_BINFMT_AOUT is not set
295CONFIG_BINFMT_MISC=y
296
297#
298# Power management options
299#
300# CONFIG_PM is not set
301CONFIG_SUSPEND_UP_POSSIBLE=y
302
303#
304# Networking
305#
306CONFIG_NET=y
307
308#
309# Networking options
310#
311CONFIG_PACKET=y
312# CONFIG_PACKET_MMAP is not set
313CONFIG_UNIX=y
314CONFIG_XFRM=y
315# CONFIG_XFRM_USER is not set
316# CONFIG_XFRM_SUB_POLICY is not set
317# CONFIG_XFRM_MIGRATE is not set
318CONFIG_NET_KEY=y
319# CONFIG_NET_KEY_MIGRATE is not set
320CONFIG_INET=y
321# CONFIG_IP_MULTICAST is not set
322# CONFIG_IP_ADVANCED_ROUTER is not set
323CONFIG_IP_FIB_HASH=y
324CONFIG_IP_PNP=y
325CONFIG_IP_PNP_DHCP=y
326# CONFIG_IP_PNP_BOOTP is not set
327# CONFIG_IP_PNP_RARP is not set
328# CONFIG_NET_IPIP is not set
329# CONFIG_NET_IPGRE is not set
330# CONFIG_ARPD is not set
331# CONFIG_SYN_COOKIES is not set
332# CONFIG_INET_AH is not set
333# CONFIG_INET_ESP is not set
334# CONFIG_INET_IPCOMP is not set
335# CONFIG_INET_XFRM_TUNNEL is not set
336# CONFIG_INET_TUNNEL is not set
337CONFIG_INET_XFRM_MODE_TRANSPORT=y
338CONFIG_INET_XFRM_MODE_TUNNEL=y
339CONFIG_INET_XFRM_MODE_BEET=y
340CONFIG_INET_DIAG=y
341CONFIG_INET_TCP_DIAG=y
342# CONFIG_TCP_CONG_ADVANCED is not set
343CONFIG_TCP_CONG_CUBIC=y
344CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_TCP_MD5SIG is not set
346# CONFIG_IPV6 is not set
347# CONFIG_INET6_XFRM_TUNNEL is not set
348# CONFIG_INET6_TUNNEL is not set
349# CONFIG_NETWORK_SECMARK is not set
350# CONFIG_NETFILTER is not set
351# CONFIG_IP_DCCP is not set
352# CONFIG_IP_SCTP is not set
353# CONFIG_TIPC is not set
354# CONFIG_ATM is not set
355# CONFIG_BRIDGE is not set
356# CONFIG_VLAN_8021Q is not set
357# CONFIG_DECNET is not set
358# CONFIG_LLC2 is not set
359# CONFIG_IPX is not set
360# CONFIG_ATALK is not set
361# CONFIG_X25 is not set
362# CONFIG_LAPB is not set
363# CONFIG_ECONET is not set
364# CONFIG_WAN_ROUTER is not set
365
366#
367# QoS and/or fair queueing
368#
369# CONFIG_NET_SCHED is not set
370
371#
372# Network testing
373#
374# CONFIG_NET_PKTGEN is not set
375# CONFIG_HAMRADIO is not set
376CONFIG_IRDA=y
377
378#
379# IrDA protocols
380#
381CONFIG_IRLAN=y
382CONFIG_IRCOMM=y
383# CONFIG_IRDA_ULTRA is not set
384
385#
386# IrDA options
387#
388# CONFIG_IRDA_CACHE_LAST_LSAP is not set
389# CONFIG_IRDA_FAST_RR is not set
390# CONFIG_IRDA_DEBUG is not set
391
392#
393# Infrared-port device drivers
394#
395
396#
397# SIR device drivers
398#
399# CONFIG_IRTTY_SIR is not set
400
401#
402# Dongle support
403#
404
405#
406# Old SIR device drivers
407#
408# CONFIG_IRPORT_SIR is not set
409
410#
411# Old Serial dongle support
412#
413
414#
415# FIR device drivers
416#
417CONFIG_OMAP_IR=y
418# CONFIG_BT is not set
419# CONFIG_AF_RXRPC is not set
420
421#
422# Wireless
423#
424# CONFIG_CFG80211 is not set
425# CONFIG_WIRELESS_EXT is not set
426# CONFIG_MAC80211 is not set
427# CONFIG_IEEE80211 is not set
428# CONFIG_RFKILL is not set
429# CONFIG_NET_9P is not set
430
431#
432# Device Drivers
433#
434
435#
436# Generic Driver Options
437#
438CONFIG_STANDALONE=y
439CONFIG_PREVENT_FIRMWARE_BUILD=y
440# CONFIG_FW_LOADER is not set
441# CONFIG_DEBUG_DRIVER is not set
442# CONFIG_DEBUG_DEVRES is not set
443# CONFIG_SYS_HYPERVISOR is not set
444# CONFIG_CONNECTOR is not set
445CONFIG_MTD=y
446# CONFIG_MTD_DEBUG is not set
447CONFIG_MTD_CONCAT=y
448CONFIG_MTD_PARTITIONS=y
449# CONFIG_MTD_REDBOOT_PARTS is not set
450CONFIG_MTD_CMDLINE_PARTS=y
451# CONFIG_MTD_AFS_PARTS is not set
452
453#
454# User Modules And Translation Layers
455#
456CONFIG_MTD_CHAR=y
457CONFIG_MTD_BLKDEVS=y
458CONFIG_MTD_BLOCK=y
459# CONFIG_FTL is not set
460# CONFIG_NFTL is not set
461# CONFIG_INFTL is not set
462# CONFIG_RFD_FTL is not set
463# CONFIG_SSFDC is not set
464
465#
466# RAM/ROM/Flash chip drivers
467#
468CONFIG_MTD_CFI=y
469# CONFIG_MTD_JEDECPROBE is not set
470CONFIG_MTD_GEN_PROBE=y
471# CONFIG_MTD_CFI_ADV_OPTIONS is not set
472CONFIG_MTD_MAP_BANK_WIDTH_1=y
473CONFIG_MTD_MAP_BANK_WIDTH_2=y
474CONFIG_MTD_MAP_BANK_WIDTH_4=y
475# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
476# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
477# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
478CONFIG_MTD_CFI_I1=y
479CONFIG_MTD_CFI_I2=y
480# CONFIG_MTD_CFI_I4 is not set
481# CONFIG_MTD_CFI_I8 is not set
482CONFIG_MTD_CFI_INTELEXT=y
483# CONFIG_MTD_CFI_AMDSTD is not set
484# CONFIG_MTD_CFI_STAA is not set
485CONFIG_MTD_CFI_UTIL=y
486# CONFIG_MTD_RAM is not set
487# CONFIG_MTD_ROM is not set
488# CONFIG_MTD_ABSENT is not set
489
490#
491# Mapping drivers for chip access
492#
493# CONFIG_MTD_COMPLEX_MAPPINGS is not set
494# CONFIG_MTD_PHYSMAP is not set
495# CONFIG_MTD_ARM_INTEGRATOR is not set
496CONFIG_MTD_OMAP_NOR=y
497# CONFIG_MTD_PLATRAM is not set
498
499#
500# Self-contained MTD device drivers
501#
502# CONFIG_MTD_SLRAM is not set
503# CONFIG_MTD_PHRAM is not set
504# CONFIG_MTD_MTDRAM is not set
505# CONFIG_MTD_BLOCK2MTD is not set
506
507#
508# Disk-On-Chip Device Drivers
509#
510# CONFIG_MTD_DOC2000 is not set
511# CONFIG_MTD_DOC2001 is not set
512# CONFIG_MTD_DOC2001PLUS is not set
513# CONFIG_MTD_NAND is not set
514# CONFIG_MTD_ONENAND is not set
515
516#
517# UBI - Unsorted block images
518#
519# CONFIG_MTD_UBI is not set
520# CONFIG_PARPORT is not set
521CONFIG_BLK_DEV=y
522# CONFIG_BLK_DEV_COW_COMMON is not set
523CONFIG_BLK_DEV_LOOP=y
524# CONFIG_BLK_DEV_CRYPTOLOOP is not set
525# CONFIG_BLK_DEV_NBD is not set
526CONFIG_BLK_DEV_RAM=y
527CONFIG_BLK_DEV_RAM_COUNT=16
528CONFIG_BLK_DEV_RAM_SIZE=16384
529CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
530# CONFIG_CDROM_PKTCDVD is not set
531# CONFIG_ATA_OVER_ETH is not set
532
533#
534# SCSI device support
535#
536# CONFIG_RAID_ATTRS is not set
537# CONFIG_SCSI is not set
538# CONFIG_SCSI_DMA is not set
539# CONFIG_SCSI_NETLINK is not set
540# CONFIG_ATA is not set
541# CONFIG_MD is not set
542CONFIG_NETDEVICES=y
543# CONFIG_NETDEVICES_MULTIQUEUE is not set
544# CONFIG_DUMMY is not set
545# CONFIG_BONDING is not set
546# CONFIG_MACVLAN is not set
547# CONFIG_EQUALIZER is not set
548# CONFIG_TUN is not set
549# CONFIG_PHYLIB is not set
550CONFIG_NET_ETHERNET=y
551CONFIG_MII=y
552# CONFIG_AX88796 is not set
553CONFIG_SMC91X=y
554# CONFIG_DM9000 is not set
555CONFIG_NETDEV_1000=y
556CONFIG_NETDEV_10000=y
557
558#
559# Wireless LAN
560#
561# CONFIG_WLAN_PRE80211 is not set
562# CONFIG_WLAN_80211 is not set
563# CONFIG_WAN is not set
564# CONFIG_PPP is not set
565# CONFIG_SLIP is not set
566# CONFIG_SHAPER is not set
567# CONFIG_NETCONSOLE is not set
568# CONFIG_NETPOLL is not set
569# CONFIG_NET_POLL_CONTROLLER is not set
570# CONFIG_ISDN is not set
571
572#
573# Input device support
574#
575CONFIG_INPUT=y
576# CONFIG_INPUT_FF_MEMLESS is not set
577# CONFIG_INPUT_POLLDEV is not set
578
579#
580# Userland interfaces
581#
582# CONFIG_INPUT_MOUSEDEV is not set
583# CONFIG_INPUT_JOYDEV is not set
584# CONFIG_INPUT_TSDEV is not set
585CONFIG_INPUT_EVDEV=y
586# CONFIG_INPUT_EVBUG is not set
587
588#
589# Input Device Drivers
590#
591CONFIG_INPUT_KEYBOARD=y
592# CONFIG_KEYBOARD_ATKBD is not set
593# CONFIG_KEYBOARD_SUNKBD is not set
594# CONFIG_KEYBOARD_LKKBD is not set
595# CONFIG_KEYBOARD_XTKBD is not set
596# CONFIG_KEYBOARD_NEWTON is not set
597# CONFIG_KEYBOARD_STOWAWAY is not set
598CONFIG_KEYBOARD_OMAP=y
599# CONFIG_KEYBOARD_GPIO is not set
600# CONFIG_INPUT_MOUSE is not set
601# CONFIG_INPUT_JOYSTICK is not set
602# CONFIG_INPUT_TABLET is not set
603# CONFIG_INPUT_TOUCHSCREEN is not set
604# CONFIG_INPUT_MISC is not set
605
606#
607# Hardware I/O ports
608#
609# CONFIG_SERIO is not set
610# CONFIG_GAMEPORT is not set
611
612#
613# Character devices
614#
615CONFIG_VT=y
616CONFIG_VT_CONSOLE=y
617CONFIG_HW_CONSOLE=y
618# CONFIG_VT_HW_CONSOLE_BINDING is not set
619# CONFIG_SERIAL_NONSTANDARD is not set
620
621#
622# Serial drivers
623#
624CONFIG_SERIAL_8250=y
625CONFIG_SERIAL_8250_CONSOLE=y
626CONFIG_SERIAL_8250_NR_UARTS=32
627CONFIG_SERIAL_8250_RUNTIME_UARTS=4
628CONFIG_SERIAL_8250_EXTENDED=y
629CONFIG_SERIAL_8250_MANY_PORTS=y
630CONFIG_SERIAL_8250_SHARE_IRQ=y
631CONFIG_SERIAL_8250_DETECT_IRQ=y
632CONFIG_SERIAL_8250_RSA=y
633
634#
635# Non-8250 serial port support
636#
637CONFIG_SERIAL_CORE=y
638CONFIG_SERIAL_CORE_CONSOLE=y
639CONFIG_UNIX98_PTYS=y
640# CONFIG_LEGACY_PTYS is not set
641# CONFIG_IPMI_HANDLER is not set
642CONFIG_WATCHDOG=y
643CONFIG_WATCHDOG_NOWAYOUT=y
644
645#
646# Watchdog Device Drivers
647#
648# CONFIG_SOFT_WATCHDOG is not set
649CONFIG_OMAP_WATCHDOG=y
650CONFIG_HW_RANDOM=m
651CONFIG_HW_RANDOM_OMAP=m
652# CONFIG_NVRAM is not set
653# CONFIG_R3964 is not set
654# CONFIG_RAW_DRIVER is not set
655# CONFIG_TCG_TPM is not set
656CONFIG_I2C=y
657CONFIG_I2C_BOARDINFO=y
658# CONFIG_I2C_CHARDEV is not set
659
660#
661# I2C Algorithms
662#
663# CONFIG_I2C_ALGOBIT is not set
664# CONFIG_I2C_ALGOPCF is not set
665# CONFIG_I2C_ALGOPCA is not set
666
667#
668# I2C Hardware Bus support
669#
670# CONFIG_I2C_GPIO is not set
671# CONFIG_I2C_OCORES is not set
672CONFIG_I2C_OMAP=y
673# CONFIG_I2C_PARPORT_LIGHT is not set
674# CONFIG_I2C_SIMTEC is not set
675# CONFIG_I2C_TAOS_EVM is not set
676# CONFIG_I2C_STUB is not set
677
678#
679# Miscellaneous I2C Chip support
680#
681# CONFIG_SENSORS_DS1337 is not set
682# CONFIG_SENSORS_DS1374 is not set
683# CONFIG_DS1682 is not set
684# CONFIG_SENSORS_EEPROM is not set
685# CONFIG_SENSORS_PCF8574 is not set
686# CONFIG_SENSORS_PCA9539 is not set
687# CONFIG_SENSORS_PCF8591 is not set
688# CONFIG_ISP1301_OMAP is not set
689# CONFIG_TPS65010 is not set
690# CONFIG_SENSORS_TLV320AIC23 is not set
691CONFIG_GPIOEXPANDER_OMAP=y
692# CONFIG_TWL4030_CORE is not set
693# CONFIG_SENSORS_MAX6875 is not set
694# CONFIG_SENSORS_TSL2550 is not set
695CONFIG_MENELAUS=y
696# CONFIG_I2C_DEBUG_CORE is not set
697# CONFIG_I2C_DEBUG_ALGO is not set
698# CONFIG_I2C_DEBUG_BUS is not set
699# CONFIG_I2C_DEBUG_CHIP is not set
700
701#
702# SPI support
703#
704# CONFIG_SPI is not set
705# CONFIG_SPI_MASTER is not set
706# CONFIG_W1 is not set
707# CONFIG_HWMON is not set
708CONFIG_MISC_DEVICES=y
709# CONFIG_EEPROM_93CX6 is not set
710
711#
712# Multifunction device drivers
713#
714# CONFIG_MFD_SM501 is not set
715# CONFIG_NEW_LEDS is not set
716
717#
718# Multimedia devices
719#
720# CONFIG_VIDEO_DEV is not set
721# CONFIG_DVB_CORE is not set
722CONFIG_DAB=y
723
724#
725# Graphics support
726#
727# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
728
729#
730# Display device support
731#
732# CONFIG_DISPLAY_SUPPORT is not set
733# CONFIG_VGASTATE is not set
734CONFIG_VIDEO_OUTPUT_CONTROL=m
735CONFIG_FB=y
736CONFIG_FIRMWARE_EDID=y
737# CONFIG_FB_DDC is not set
738# CONFIG_FB_CFB_FILLRECT is not set
739# CONFIG_FB_CFB_COPYAREA is not set
740# CONFIG_FB_CFB_IMAGEBLIT is not set
741# CONFIG_FB_SYS_FILLRECT is not set
742# CONFIG_FB_SYS_COPYAREA is not set
743# CONFIG_FB_SYS_IMAGEBLIT is not set
744# CONFIG_FB_SYS_FOPS is not set
745CONFIG_FB_DEFERRED_IO=y
746# CONFIG_FB_SVGALIB is not set
747# CONFIG_FB_MACMODES is not set
748# CONFIG_FB_BACKLIGHT is not set
749# CONFIG_FB_MODE_HELPERS is not set
750# CONFIG_FB_TILEBLITTING is not set
751
752#
753# Frame buffer hardware drivers
754#
755# CONFIG_FB_S1D13XXX is not set
756CONFIG_FB_OMAP=y
757# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
758# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
759CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
760# CONFIG_FB_VIRTUAL is not set
761
762#
763# Console display driver support
764#
765# CONFIG_VGA_CONSOLE is not set
766CONFIG_DUMMY_CONSOLE=y
767CONFIG_FRAMEBUFFER_CONSOLE=y
768# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
769# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
770# CONFIG_FONTS is not set
771CONFIG_FONT_8x8=y
772CONFIG_FONT_8x16=y
773CONFIG_LOGO=y
774# CONFIG_LOGO_LINUX_MONO is not set
775# CONFIG_LOGO_LINUX_VGA16 is not set
776CONFIG_LOGO_LINUX_CLUT224=y
777
778#
779# Sound
780#
781# CONFIG_SOUND is not set
782CONFIG_HID_SUPPORT=y
783CONFIG_HID=y
784# CONFIG_HID_DEBUG is not set
785CONFIG_USB_SUPPORT=y
786CONFIG_USB_ARCH_HAS_HCD=y
787CONFIG_USB_ARCH_HAS_OHCI=y
788# CONFIG_USB_ARCH_HAS_EHCI is not set
789# CONFIG_USB is not set
790
791#
792# Enable Host or Gadget support to see Inventra options
793#
794
795#
796# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
797#
798
799#
800# USB Gadget Support
801#
802# CONFIG_USB_GADGET is not set
803CONFIG_MMC=y
804# CONFIG_MMC_DEBUG is not set
805# CONFIG_MMC_UNSAFE_RESUME is not set
806
807#
808# MMC/SD Card Drivers
809#
810CONFIG_MMC_BLOCK=y
811CONFIG_MMC_BLOCK_BOUNCE=y
812
813#
814# MMC/SD Host Controller Drivers
815#
816CONFIG_MMC_OMAP=y
817CONFIG_RTC_LIB=y
818# CONFIG_RTC_CLASS is not set
819
820#
821# DMA Engine support
822#
823# CONFIG_DMA_ENGINE is not set
824
825#
826# DMA Clients
827#
828
829#
830# DMA Devices
831#
832
833#
834# CBUS support
835#
836# CONFIG_CBUS is not set
837
838#
839# File systems
840#
841CONFIG_EXT2_FS=y
842# CONFIG_EXT2_FS_XATTR is not set
843# CONFIG_EXT2_FS_XIP is not set
844CONFIG_EXT3_FS=y
845# CONFIG_EXT3_FS_XATTR is not set
846# CONFIG_EXT4DEV_FS is not set
847CONFIG_JBD=y
848# CONFIG_JBD_DEBUG is not set
849# CONFIG_REISERFS_FS is not set
850# CONFIG_JFS_FS is not set
851# CONFIG_FS_POSIX_ACL is not set
852# CONFIG_XFS_FS is not set
853# CONFIG_GFS2_FS is not set
854# CONFIG_OCFS2_FS is not set
855# CONFIG_MINIX_FS is not set
856# CONFIG_ROMFS_FS is not set
857CONFIG_INOTIFY=y
858CONFIG_INOTIFY_USER=y
859CONFIG_QUOTA=y
860# CONFIG_QFMT_V1 is not set
861CONFIG_QFMT_V2=y
862CONFIG_QUOTACTL=y
863CONFIG_DNOTIFY=y
864# CONFIG_AUTOFS_FS is not set
865# CONFIG_AUTOFS4_FS is not set
866# CONFIG_FUSE_FS is not set
867
868#
869# CD-ROM/DVD Filesystems
870#
871# CONFIG_ISO9660_FS is not set
872# CONFIG_UDF_FS is not set
873
874#
875# DOS/FAT/NT Filesystems
876#
877CONFIG_FAT_FS=y
878CONFIG_MSDOS_FS=y
879CONFIG_VFAT_FS=y
880CONFIG_FAT_DEFAULT_CODEPAGE=437
881CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
882# CONFIG_NTFS_FS is not set
883
884#
885# Pseudo filesystems
886#
887CONFIG_PROC_FS=y
888CONFIG_PROC_SYSCTL=y
889CONFIG_SYSFS=y
890CONFIG_TMPFS=y
891# CONFIG_TMPFS_POSIX_ACL is not set
892# CONFIG_HUGETLB_PAGE is not set
893CONFIG_RAMFS=y
894# CONFIG_CONFIGFS_FS is not set
895
896#
897# Miscellaneous filesystems
898#
899# CONFIG_ADFS_FS is not set
900# CONFIG_AFFS_FS is not set
901# CONFIG_HFS_FS is not set
902# CONFIG_HFSPLUS_FS is not set
903# CONFIG_BEFS_FS is not set
904# CONFIG_BFS_FS is not set
905# CONFIG_EFS_FS is not set
906CONFIG_JFFS2_FS=y
907CONFIG_JFFS2_FS_DEBUG=0
908CONFIG_JFFS2_FS_WRITEBUFFER=y
909# CONFIG_JFFS2_SUMMARY is not set
910# CONFIG_JFFS2_FS_XATTR is not set
911# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
912CONFIG_JFFS2_ZLIB=y
913CONFIG_JFFS2_RTIME=y
914# CONFIG_JFFS2_RUBIN is not set
915# CONFIG_CRAMFS is not set
916# CONFIG_VXFS_FS is not set
917# CONFIG_HPFS_FS is not set
918# CONFIG_QNX4FS_FS is not set
919# CONFIG_SYSV_FS is not set
920# CONFIG_UFS_FS is not set
921
922#
923# Network File Systems
924#
925CONFIG_NFS_FS=y
926CONFIG_NFS_V3=y
927# CONFIG_NFS_V3_ACL is not set
928CONFIG_NFS_V4=y
929# CONFIG_NFS_DIRECTIO is not set
930# CONFIG_NFSD is not set
931CONFIG_ROOT_NFS=y
932CONFIG_LOCKD=y
933CONFIG_LOCKD_V4=y
934CONFIG_NFS_COMMON=y
935CONFIG_SUNRPC=y
936CONFIG_SUNRPC_GSS=y
937# CONFIG_SUNRPC_BIND34 is not set
938CONFIG_RPCSEC_GSS_KRB5=y
939# CONFIG_RPCSEC_GSS_SPKM3 is not set
940# CONFIG_SMB_FS is not set
941# CONFIG_CIFS is not set
942# CONFIG_NCP_FS is not set
943# CONFIG_CODA_FS is not set
944# CONFIG_AFS_FS is not set
945
946#
947# Partition Types
948#
949CONFIG_PARTITION_ADVANCED=y
950# CONFIG_ACORN_PARTITION is not set
951# CONFIG_OSF_PARTITION is not set
952# CONFIG_AMIGA_PARTITION is not set
953# CONFIG_ATARI_PARTITION is not set
954# CONFIG_MAC_PARTITION is not set
955CONFIG_MSDOS_PARTITION=y
956# CONFIG_BSD_DISKLABEL is not set
957# CONFIG_MINIX_SUBPARTITION is not set
958# CONFIG_SOLARIS_X86_PARTITION is not set
959# CONFIG_UNIXWARE_DISKLABEL is not set
960# CONFIG_LDM_PARTITION is not set
961# CONFIG_SGI_PARTITION is not set
962# CONFIG_ULTRIX_PARTITION is not set
963# CONFIG_SUN_PARTITION is not set
964# CONFIG_KARMA_PARTITION is not set
965# CONFIG_EFI_PARTITION is not set
966# CONFIG_SYSV68_PARTITION is not set
967
968#
969# Native Language Support
970#
971CONFIG_NLS=y
972CONFIG_NLS_DEFAULT="iso8859-1"
973CONFIG_NLS_CODEPAGE_437=y
974# CONFIG_NLS_CODEPAGE_737 is not set
975# CONFIG_NLS_CODEPAGE_775 is not set
976# CONFIG_NLS_CODEPAGE_850 is not set
977# CONFIG_NLS_CODEPAGE_852 is not set
978# CONFIG_NLS_CODEPAGE_855 is not set
979# CONFIG_NLS_CODEPAGE_857 is not set
980# CONFIG_NLS_CODEPAGE_860 is not set
981# CONFIG_NLS_CODEPAGE_861 is not set
982# CONFIG_NLS_CODEPAGE_862 is not set
983# CONFIG_NLS_CODEPAGE_863 is not set
984# CONFIG_NLS_CODEPAGE_864 is not set
985# CONFIG_NLS_CODEPAGE_865 is not set
986# CONFIG_NLS_CODEPAGE_866 is not set
987# CONFIG_NLS_CODEPAGE_869 is not set
988# CONFIG_NLS_CODEPAGE_936 is not set
989# CONFIG_NLS_CODEPAGE_950 is not set
990# CONFIG_NLS_CODEPAGE_932 is not set
991# CONFIG_NLS_CODEPAGE_949 is not set
992# CONFIG_NLS_CODEPAGE_874 is not set
993# CONFIG_NLS_ISO8859_8 is not set
994# CONFIG_NLS_CODEPAGE_1250 is not set
995# CONFIG_NLS_CODEPAGE_1251 is not set
996# CONFIG_NLS_ASCII is not set
997# CONFIG_NLS_ISO8859_1 is not set
998# CONFIG_NLS_ISO8859_2 is not set
999# CONFIG_NLS_ISO8859_3 is not set
1000# CONFIG_NLS_ISO8859_4 is not set
1001# CONFIG_NLS_ISO8859_5 is not set
1002# CONFIG_NLS_ISO8859_6 is not set
1003# CONFIG_NLS_ISO8859_7 is not set
1004# CONFIG_NLS_ISO8859_9 is not set
1005# CONFIG_NLS_ISO8859_13 is not set
1006# CONFIG_NLS_ISO8859_14 is not set
1007# CONFIG_NLS_ISO8859_15 is not set
1008# CONFIG_NLS_KOI8_R is not set
1009# CONFIG_NLS_KOI8_U is not set
1010# CONFIG_NLS_UTF8 is not set
1011
1012#
1013# Distributed Lock Manager
1014#
1015# CONFIG_DLM is not set
1016
1017#
1018# Profiling support
1019#
1020# CONFIG_PROFILING is not set
1021
1022#
1023# Kernel hacking
1024#
1025# CONFIG_PRINTK_TIME is not set
1026CONFIG_ENABLE_MUST_CHECK=y
1027CONFIG_MAGIC_SYSRQ=y
1028# CONFIG_UNUSED_SYMBOLS is not set
1029# CONFIG_DEBUG_FS is not set
1030# CONFIG_HEADERS_CHECK is not set
1031CONFIG_DEBUG_KERNEL=y
1032# CONFIG_DEBUG_SHIRQ is not set
1033CONFIG_DETECT_SOFTLOCKUP=y
1034CONFIG_SCHED_DEBUG=y
1035# CONFIG_SCHEDSTATS is not set
1036# CONFIG_TIMER_STATS is not set
1037# CONFIG_DEBUG_SLAB is not set
1038# CONFIG_DEBUG_RT_MUTEXES is not set
1039# CONFIG_RT_MUTEX_TESTER is not set
1040# CONFIG_DEBUG_SPINLOCK is not set
1041CONFIG_DEBUG_MUTEXES=y
1042# CONFIG_DEBUG_LOCK_ALLOC is not set
1043# CONFIG_PROVE_LOCKING is not set
1044# CONFIG_LOCK_STAT is not set
1045# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1046# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1047# CONFIG_DEBUG_KOBJECT is not set
1048# CONFIG_DEBUG_BUGVERBOSE is not set
1049# CONFIG_DEBUG_INFO is not set
1050# CONFIG_DEBUG_VM is not set
1051# CONFIG_DEBUG_LIST is not set
1052CONFIG_FRAME_POINTER=y
1053CONFIG_FORCED_INLINING=y
1054# CONFIG_RCU_TORTURE_TEST is not set
1055# CONFIG_FAULT_INJECTION is not set
1056# CONFIG_DEBUG_USER is not set
1057# CONFIG_DEBUG_ERRORS is not set
1058CONFIG_DEBUG_LL=y
1059# CONFIG_DEBUG_ICEDCC is not set
1060
1061#
1062# Security options
1063#
1064# CONFIG_KEYS is not set
1065# CONFIG_SECURITY is not set
1066CONFIG_CRYPTO=y
1067CONFIG_CRYPTO_ALGAPI=y
1068CONFIG_CRYPTO_BLKCIPHER=y
1069CONFIG_CRYPTO_MANAGER=y
1070# CONFIG_CRYPTO_HMAC is not set
1071# CONFIG_CRYPTO_XCBC is not set
1072# CONFIG_CRYPTO_NULL is not set
1073# CONFIG_CRYPTO_MD4 is not set
1074CONFIG_CRYPTO_MD5=y
1075# CONFIG_CRYPTO_SHA1 is not set
1076# CONFIG_CRYPTO_SHA256 is not set
1077# CONFIG_CRYPTO_SHA512 is not set
1078# CONFIG_CRYPTO_WP512 is not set
1079# CONFIG_CRYPTO_TGR192 is not set
1080# CONFIG_CRYPTO_GF128MUL is not set
1081CONFIG_CRYPTO_ECB=m
1082CONFIG_CRYPTO_CBC=y
1083CONFIG_CRYPTO_PCBC=m
1084# CONFIG_CRYPTO_LRW is not set
1085# CONFIG_CRYPTO_CRYPTD is not set
1086CONFIG_CRYPTO_DES=y
1087# CONFIG_CRYPTO_FCRYPT is not set
1088# CONFIG_CRYPTO_BLOWFISH is not set
1089# CONFIG_CRYPTO_TWOFISH is not set
1090# CONFIG_CRYPTO_SERPENT is not set
1091# CONFIG_CRYPTO_AES is not set
1092# CONFIG_CRYPTO_CAST5 is not set
1093# CONFIG_CRYPTO_CAST6 is not set
1094# CONFIG_CRYPTO_TEA is not set
1095# CONFIG_CRYPTO_ARC4 is not set
1096# CONFIG_CRYPTO_KHAZAD is not set
1097# CONFIG_CRYPTO_ANUBIS is not set
1098# CONFIG_CRYPTO_DEFLATE is not set
1099# CONFIG_CRYPTO_MICHAEL_MIC is not set
1100# CONFIG_CRYPTO_CRC32C is not set
1101# CONFIG_CRYPTO_CAMELLIA is not set
1102# CONFIG_CRYPTO_TEST is not set
1103CONFIG_CRYPTO_HW=y
1104
1105#
1106# Library routines
1107#
1108CONFIG_BITREVERSE=y
1109CONFIG_CRC_CCITT=y
1110# CONFIG_CRC16 is not set
1111# CONFIG_CRC_ITU_T is not set
1112CONFIG_CRC32=y
1113# CONFIG_CRC7 is not set
1114CONFIG_LIBCRC32C=y
1115CONFIG_ZLIB_INFLATE=y
1116CONFIG_ZLIB_DEFLATE=y
1117CONFIG_PLIST=y
1118CONFIG_HAS_IOMEM=y
1119CONFIG_HAS_IOPORT=y
1120CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_innovator_1510_defconfig b/arch/arm/configs/omap_innovator_1510_defconfig
new file mode 100644
index 000000000000..55b2611bd90a
--- /dev/null
+++ b/arch/arm/configs/omap_innovator_1510_defconfig
@@ -0,0 +1,1253 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:45:02 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set
43# CONFIG_USER_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_ALL is not set
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80# CONFIG_MODULE_FORCE_UNLOAD is not set
81# CONFIG_MODVERSIONS is not set
82# CONFIG_MODULE_SRCVERSION_ALL is not set
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97# CONFIG_DEFAULT_AS is not set
98# CONFIG_DEFAULT_DEADLINE is not set
99CONFIG_DEFAULT_CFQ=y
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="cfq"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131# CONFIG_ARCH_PXA is not set
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138CONFIG_ARCH_OMAP=y
139
140#
141# TI OMAP Implementations
142#
143CONFIG_ARCH_OMAP1=y
144# CONFIG_ARCH_OMAP2 is not set
145# CONFIG_ARCH_OMAP3 is not set
146
147#
148# OMAP Feature Selections
149#
150# CONFIG_OMAP_RESET_CLOCKS is not set
151# CONFIG_OMAP_BOOT_TAG is not set
152# CONFIG_OMAP_GPIO_SWITCH is not set
153CONFIG_OMAP_MUX=y
154# CONFIG_OMAP_MUX_DEBUG is not set
155CONFIG_OMAP_MUX_WARNINGS=y
156CONFIG_OMAP_MCBSP=y
157# CONFIG_OMAP_MMU_FWK is not set
158# CONFIG_OMAP_MBOX_FWK is not set
159CONFIG_OMAP_MPU_TIMER=y
160# CONFIG_OMAP_32K_TIMER is not set
161CONFIG_OMAP_LL_DEBUG_UART1=y
162# CONFIG_OMAP_LL_DEBUG_UART2 is not set
163# CONFIG_OMAP_LL_DEBUG_UART3 is not set
164CONFIG_OMAP_SERIAL_WAKE=y
165# CONFIG_OMAP_DSP is not set
166
167#
168# OMAP Core Type
169#
170# CONFIG_ARCH_OMAP730 is not set
171CONFIG_ARCH_OMAP15XX=y
172# CONFIG_ARCH_OMAP16XX is not set
173
174#
175# OMAP Board Type
176#
177CONFIG_MACH_OMAP_INNOVATOR=y
178# CONFIG_MACH_VOICEBLUE is not set
179# CONFIG_MACH_OMAP_PALMTE is not set
180# CONFIG_MACH_OMAP_PALMZ71 is not set
181# CONFIG_MACH_OMAP_PALMTT is not set
182# CONFIG_MACH_SX1 is not set
183# CONFIG_MACH_AMS_DELTA is not set
184# CONFIG_MACH_OMAP_GENERIC is not set
185
186#
187# OMAP CPU Speed
188#
189# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
190CONFIG_OMAP_ARM_168MHZ=y
191# CONFIG_OMAP_ARM_150MHZ is not set
192# CONFIG_OMAP_ARM_120MHZ is not set
193# CONFIG_OMAP_ARM_60MHZ is not set
194# CONFIG_OMAP_ARM_30MHZ is not set
195# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
196
197#
198# Boot options
199#
200
201#
202# Power management
203#
204
205#
206# Processor Type
207#
208CONFIG_CPU_32=y
209CONFIG_CPU_ARM925T=y
210CONFIG_CPU_32v4T=y
211CONFIG_CPU_ABRT_EV4T=y
212CONFIG_CPU_PABRT_NOIFAR=y
213CONFIG_CPU_CACHE_V4WT=y
214CONFIG_CPU_CACHE_VIVT=y
215CONFIG_CPU_COPY_V4WB=y
216CONFIG_CPU_TLB_V4WBI=y
217CONFIG_CPU_CP15=y
218CONFIG_CPU_CP15_MMU=y
219
220#
221# Processor Features
222#
223CONFIG_ARM_THUMB=y
224# CONFIG_CPU_ICACHE_DISABLE is not set
225# CONFIG_CPU_DCACHE_DISABLE is not set
226CONFIG_CPU_DCACHE_WRITETHROUGH=y
227# CONFIG_OUTER_CACHE is not set
228
229#
230# Bus support
231#
232# CONFIG_PCI_SYSCALL is not set
233# CONFIG_ARCH_SUPPORTS_MSI is not set
234
235#
236# PCCARD (PCMCIA/CardBus) support
237#
238# CONFIG_PCCARD is not set
239
240#
241# Kernel Features
242#
243# CONFIG_TICK_ONESHOT is not set
244# CONFIG_NO_HZ is not set
245# CONFIG_HIGH_RES_TIMERS is not set
246CONFIG_PREEMPT=y
247CONFIG_HZ=100
248# CONFIG_AEABI is not set
249# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
250CONFIG_SELECT_MEMORY_MODEL=y
251CONFIG_FLATMEM_MANUAL=y
252# CONFIG_DISCONTIGMEM_MANUAL is not set
253# CONFIG_SPARSEMEM_MANUAL is not set
254CONFIG_FLATMEM=y
255CONFIG_FLAT_NODE_MEM_MAP=y
256# CONFIG_SPARSEMEM_STATIC is not set
257CONFIG_SPLIT_PTLOCK_CPUS=4096
258# CONFIG_RESOURCES_64BIT is not set
259CONFIG_ZONE_DMA_FLAG=1
260CONFIG_BOUNCE=y
261CONFIG_VIRT_TO_BUS=y
262CONFIG_LEDS=y
263CONFIG_ALIGNMENT_TRAP=y
264
265#
266# Boot options
267#
268CONFIG_ZBOOT_ROM_TEXT=0x0
269CONFIG_ZBOOT_ROM_BSS=0x0
270CONFIG_CMDLINE="console=ttyS0,115200n8 root=/dev/nfs ip=bootp noinitrd"
271# CONFIG_XIP_KERNEL is not set
272# CONFIG_KEXEC is not set
273
274#
275# CPU Frequency scaling
276#
277# CONFIG_CPU_FREQ is not set
278
279#
280# Floating point emulation
281#
282
283#
284# At least one emulation must be selected
285#
286CONFIG_FPE_NWFPE=y
287# CONFIG_FPE_NWFPE_XP is not set
288# CONFIG_FPE_FASTFPE is not set
289
290#
291# Userspace binary formats
292#
293CONFIG_BINFMT_ELF=y
294# CONFIG_BINFMT_AOUT is not set
295# CONFIG_BINFMT_MISC is not set
296# CONFIG_ARTHUR is not set
297
298#
299# Power management options
300#
301CONFIG_PM=y
302# CONFIG_PM_LEGACY is not set
303# CONFIG_PM_DEBUG is not set
304CONFIG_PM_SLEEP=y
305CONFIG_SUSPEND_UP_POSSIBLE=y
306CONFIG_SUSPEND=y
307# CONFIG_APM_EMULATION is not set
308
309#
310# Networking
311#
312CONFIG_NET=y
313
314#
315# Networking options
316#
317CONFIG_PACKET=y
318# CONFIG_PACKET_MMAP is not set
319CONFIG_UNIX=y
320CONFIG_XFRM=y
321# CONFIG_XFRM_USER is not set
322# CONFIG_XFRM_SUB_POLICY is not set
323# CONFIG_XFRM_MIGRATE is not set
324# CONFIG_NET_KEY is not set
325CONFIG_INET=y
326CONFIG_IP_MULTICAST=y
327# CONFIG_IP_ADVANCED_ROUTER is not set
328CONFIG_IP_FIB_HASH=y
329CONFIG_IP_PNP=y
330CONFIG_IP_PNP_DHCP=y
331CONFIG_IP_PNP_BOOTP=y
332# CONFIG_IP_PNP_RARP is not set
333# CONFIG_NET_IPIP is not set
334# CONFIG_NET_IPGRE is not set
335# CONFIG_IP_MROUTE is not set
336# CONFIG_ARPD is not set
337# CONFIG_SYN_COOKIES is not set
338# CONFIG_INET_AH is not set
339# CONFIG_INET_ESP is not set
340# CONFIG_INET_IPCOMP is not set
341# CONFIG_INET_XFRM_TUNNEL is not set
342# CONFIG_INET_TUNNEL is not set
343CONFIG_INET_XFRM_MODE_TRANSPORT=y
344CONFIG_INET_XFRM_MODE_TUNNEL=y
345CONFIG_INET_XFRM_MODE_BEET=y
346CONFIG_INET_DIAG=y
347CONFIG_INET_TCP_DIAG=y
348# CONFIG_TCP_CONG_ADVANCED is not set
349CONFIG_TCP_CONG_CUBIC=y
350CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_TCP_MD5SIG is not set
352# CONFIG_IPV6 is not set
353# CONFIG_INET6_XFRM_TUNNEL is not set
354# CONFIG_INET6_TUNNEL is not set
355# CONFIG_NETWORK_SECMARK is not set
356# CONFIG_NETFILTER is not set
357# CONFIG_IP_DCCP is not set
358# CONFIG_IP_SCTP is not set
359# CONFIG_TIPC is not set
360# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set
362# CONFIG_VLAN_8021Q is not set
363# CONFIG_DECNET is not set
364# CONFIG_LLC2 is not set
365# CONFIG_IPX is not set
366# CONFIG_ATALK is not set
367# CONFIG_X25 is not set
368# CONFIG_LAPB is not set
369# CONFIG_ECONET is not set
370# CONFIG_WAN_ROUTER is not set
371
372#
373# QoS and/or fair queueing
374#
375# CONFIG_NET_SCHED is not set
376
377#
378# Network testing
379#
380# CONFIG_NET_PKTGEN is not set
381# CONFIG_HAMRADIO is not set
382# CONFIG_IRDA is not set
383# CONFIG_BT is not set
384# CONFIG_AF_RXRPC is not set
385
386#
387# Wireless
388#
389# CONFIG_CFG80211 is not set
390# CONFIG_WIRELESS_EXT is not set
391# CONFIG_MAC80211 is not set
392# CONFIG_IEEE80211 is not set
393# CONFIG_RFKILL is not set
394# CONFIG_NET_9P is not set
395
396#
397# Device Drivers
398#
399
400#
401# Generic Driver Options
402#
403CONFIG_STANDALONE=y
404CONFIG_PREVENT_FIRMWARE_BUILD=y
405# CONFIG_FW_LOADER is not set
406# CONFIG_DEBUG_DRIVER is not set
407# CONFIG_DEBUG_DEVRES is not set
408# CONFIG_SYS_HYPERVISOR is not set
409# CONFIG_CONNECTOR is not set
410# CONFIG_MTD is not set
411# CONFIG_PARPORT is not set
412CONFIG_BLK_DEV=y
413# CONFIG_BLK_DEV_COW_COMMON is not set
414CONFIG_BLK_DEV_LOOP=y
415# CONFIG_BLK_DEV_CRYPTOLOOP is not set
416# CONFIG_BLK_DEV_NBD is not set
417# CONFIG_BLK_DEV_UB is not set
418CONFIG_BLK_DEV_RAM=y
419CONFIG_BLK_DEV_RAM_COUNT=16
420CONFIG_BLK_DEV_RAM_SIZE=8192
421CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
422# CONFIG_CDROM_PKTCDVD is not set
423# CONFIG_ATA_OVER_ETH is not set
424
425#
426# SCSI device support
427#
428# CONFIG_RAID_ATTRS is not set
429CONFIG_SCSI=y
430CONFIG_SCSI_DMA=y
431# CONFIG_SCSI_TGT is not set
432# CONFIG_SCSI_NETLINK is not set
433CONFIG_SCSI_PROC_FS=y
434
435#
436# SCSI support type (disk, tape, CD-ROM)
437#
438CONFIG_BLK_DEV_SD=y
439CONFIG_CHR_DEV_ST=y
440# CONFIG_CHR_DEV_OSST is not set
441CONFIG_BLK_DEV_SR=y
442# CONFIG_BLK_DEV_SR_VENDOR is not set
443CONFIG_CHR_DEV_SG=y
444# CONFIG_CHR_DEV_SCH is not set
445
446#
447# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
448#
449CONFIG_SCSI_MULTI_LUN=y
450# CONFIG_SCSI_CONSTANTS is not set
451# CONFIG_SCSI_LOGGING is not set
452# CONFIG_SCSI_SCAN_ASYNC is not set
453CONFIG_SCSI_WAIT_SCAN=m
454
455#
456# SCSI Transports
457#
458# CONFIG_SCSI_SPI_ATTRS is not set
459# CONFIG_SCSI_FC_ATTRS is not set
460# CONFIG_SCSI_ISCSI_ATTRS is not set
461# CONFIG_SCSI_SAS_LIBSAS is not set
462CONFIG_SCSI_LOWLEVEL=y
463# CONFIG_ISCSI_TCP is not set
464# CONFIG_SCSI_DEBUG is not set
465# CONFIG_ATA is not set
466# CONFIG_MD is not set
467CONFIG_NETDEVICES=y
468# CONFIG_NETDEVICES_MULTIQUEUE is not set
469# CONFIG_DUMMY is not set
470# CONFIG_BONDING is not set
471# CONFIG_MACVLAN is not set
472# CONFIG_EQUALIZER is not set
473# CONFIG_TUN is not set
474# CONFIG_PHYLIB is not set
475CONFIG_NET_ETHERNET=y
476CONFIG_MII=y
477# CONFIG_AX88796 is not set
478CONFIG_SMC91X=y
479# CONFIG_DM9000 is not set
480CONFIG_NETDEV_1000=y
481CONFIG_NETDEV_10000=y
482
483#
484# Wireless LAN
485#
486# CONFIG_WLAN_PRE80211 is not set
487# CONFIG_WLAN_80211 is not set
488
489#
490# USB Network Adapters
491#
492# CONFIG_USB_CATC is not set
493# CONFIG_USB_KAWETH is not set
494# CONFIG_USB_PEGASUS is not set
495CONFIG_USB_RTL8150=y
496CONFIG_USB_USBNET_MII=y
497CONFIG_USB_USBNET=y
498CONFIG_USB_NET_AX8817X=y
499CONFIG_USB_NET_CDCETHER=y
500# CONFIG_USB_NET_DM9601 is not set
501# CONFIG_USB_NET_GL620A is not set
502CONFIG_USB_NET_NET1080=y
503# CONFIG_USB_NET_PLUSB is not set
504# CONFIG_USB_NET_MCS7830 is not set
505# CONFIG_USB_NET_RNDIS_HOST is not set
506# CONFIG_USB_NET_CDC_SUBSET is not set
507CONFIG_USB_NET_ZAURUS=y
508# CONFIG_WAN is not set
509CONFIG_PPP=y
510CONFIG_PPP_MULTILINK=y
511# CONFIG_PPP_FILTER is not set
512CONFIG_PPP_ASYNC=y
513# CONFIG_PPP_SYNC_TTY is not set
514CONFIG_PPP_DEFLATE=y
515CONFIG_PPP_BSDCOMP=y
516# CONFIG_PPP_MPPE is not set
517# CONFIG_PPPOE is not set
518# CONFIG_PPPOL2TP is not set
519# CONFIG_SLIP is not set
520CONFIG_SLHC=y
521# CONFIG_SHAPER is not set
522# CONFIG_NETCONSOLE is not set
523# CONFIG_NETPOLL is not set
524# CONFIG_NET_POLL_CONTROLLER is not set
525# CONFIG_ISDN is not set
526
527#
528# Input device support
529#
530CONFIG_INPUT=y
531# CONFIG_INPUT_FF_MEMLESS is not set
532# CONFIG_INPUT_POLLDEV is not set
533
534#
535# Userland interfaces
536#
537CONFIG_INPUT_MOUSEDEV=y
538CONFIG_INPUT_MOUSEDEV_PSAUX=y
539CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
540CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
541# CONFIG_INPUT_JOYDEV is not set
542# CONFIG_INPUT_TSDEV is not set
543# CONFIG_INPUT_EVDEV is not set
544# CONFIG_INPUT_EVBUG is not set
545
546#
547# Input Device Drivers
548#
549CONFIG_INPUT_KEYBOARD=y
550# CONFIG_KEYBOARD_ATKBD is not set
551# CONFIG_KEYBOARD_SUNKBD is not set
552# CONFIG_KEYBOARD_LKKBD is not set
553# CONFIG_KEYBOARD_XTKBD is not set
554# CONFIG_KEYBOARD_NEWTON is not set
555# CONFIG_KEYBOARD_STOWAWAY is not set
556CONFIG_KEYBOARD_OMAP=y
557CONFIG_OMAP_PS2=m
558# CONFIG_KEYBOARD_GPIO is not set
559# CONFIG_INPUT_MOUSE is not set
560# CONFIG_INPUT_JOYSTICK is not set
561# CONFIG_INPUT_TABLET is not set
562# CONFIG_INPUT_TOUCHSCREEN is not set
563# CONFIG_INPUT_MISC is not set
564
565#
566# Hardware I/O ports
567#
568CONFIG_SERIO=y
569CONFIG_SERIO_SERPORT=y
570# CONFIG_SERIO_RAW is not set
571# CONFIG_GAMEPORT is not set
572
573#
574# Character devices
575#
576CONFIG_VT=y
577CONFIG_VT_CONSOLE=y
578CONFIG_HW_CONSOLE=y
579# CONFIG_VT_HW_CONSOLE_BINDING is not set
580# CONFIG_SERIAL_NONSTANDARD is not set
581
582#
583# Serial drivers
584#
585CONFIG_SERIAL_8250=y
586CONFIG_SERIAL_8250_CONSOLE=y
587CONFIG_SERIAL_8250_NR_UARTS=4
588CONFIG_SERIAL_8250_RUNTIME_UARTS=4
589# CONFIG_SERIAL_8250_EXTENDED is not set
590
591#
592# Non-8250 serial port support
593#
594CONFIG_SERIAL_CORE=y
595CONFIG_SERIAL_CORE_CONSOLE=y
596CONFIG_UNIX98_PTYS=y
597# CONFIG_LEGACY_PTYS is not set
598# CONFIG_IPMI_HANDLER is not set
599# CONFIG_WATCHDOG is not set
600CONFIG_HW_RANDOM=m
601# CONFIG_NVRAM is not set
602# CONFIG_R3964 is not set
603# CONFIG_RAW_DRIVER is not set
604# CONFIG_TCG_TPM is not set
605CONFIG_I2C=y
606CONFIG_I2C_BOARDINFO=y
607# CONFIG_I2C_CHARDEV is not set
608
609#
610# I2C Algorithms
611#
612# CONFIG_I2C_ALGOBIT is not set
613# CONFIG_I2C_ALGOPCF is not set
614# CONFIG_I2C_ALGOPCA is not set
615
616#
617# I2C Hardware Bus support
618#
619# CONFIG_I2C_GPIO is not set
620# CONFIG_I2C_OCORES is not set
621# CONFIG_I2C_OMAP is not set
622# CONFIG_I2C_PARPORT_LIGHT is not set
623# CONFIG_I2C_SIMTEC is not set
624# CONFIG_I2C_TAOS_EVM is not set
625# CONFIG_I2C_STUB is not set
626# CONFIG_I2C_TINY_USB is not set
627
628#
629# Miscellaneous I2C Chip support
630#
631# CONFIG_SENSORS_DS1337 is not set
632# CONFIG_SENSORS_DS1374 is not set
633# CONFIG_DS1682 is not set
634# CONFIG_SENSORS_EEPROM is not set
635# CONFIG_SENSORS_PCF8574 is not set
636# CONFIG_SENSORS_PCA9539 is not set
637# CONFIG_SENSORS_PCF8591 is not set
638# CONFIG_TPS65010 is not set
639# CONFIG_SENSORS_MAX6875 is not set
640# CONFIG_SENSORS_TSL2550 is not set
641# CONFIG_I2C_DEBUG_CORE is not set
642# CONFIG_I2C_DEBUG_ALGO is not set
643# CONFIG_I2C_DEBUG_BUS is not set
644# CONFIG_I2C_DEBUG_CHIP is not set
645
646#
647# SPI support
648#
649# CONFIG_SPI is not set
650# CONFIG_SPI_MASTER is not set
651# CONFIG_W1 is not set
652CONFIG_HWMON=y
653# CONFIG_HWMON_VID is not set
654# CONFIG_SENSORS_ABITUGURU is not set
655# CONFIG_SENSORS_ABITUGURU3 is not set
656# CONFIG_SENSORS_AD7418 is not set
657# CONFIG_SENSORS_ADM1021 is not set
658# CONFIG_SENSORS_ADM1025 is not set
659# CONFIG_SENSORS_ADM1026 is not set
660# CONFIG_SENSORS_ADM1029 is not set
661# CONFIG_SENSORS_ADM1031 is not set
662# CONFIG_SENSORS_ADM9240 is not set
663# CONFIG_SENSORS_ASB100 is not set
664# CONFIG_SENSORS_ATXP1 is not set
665# CONFIG_SENSORS_DS1621 is not set
666# CONFIG_SENSORS_F71805F is not set
667# CONFIG_SENSORS_FSCHER is not set
668# CONFIG_SENSORS_FSCPOS is not set
669# CONFIG_SENSORS_GL518SM is not set
670# CONFIG_SENSORS_GL520SM is not set
671# CONFIG_SENSORS_IT87 is not set
672# CONFIG_SENSORS_LM63 is not set
673# CONFIG_SENSORS_LM75 is not set
674# CONFIG_SENSORS_LM77 is not set
675# CONFIG_SENSORS_LM78 is not set
676# CONFIG_SENSORS_LM80 is not set
677# CONFIG_SENSORS_LM83 is not set
678# CONFIG_SENSORS_LM85 is not set
679# CONFIG_SENSORS_LM87 is not set
680# CONFIG_SENSORS_LM90 is not set
681# CONFIG_SENSORS_LM92 is not set
682# CONFIG_SENSORS_LM93 is not set
683# CONFIG_SENSORS_MAX1619 is not set
684# CONFIG_SENSORS_MAX6650 is not set
685# CONFIG_SENSORS_PC87360 is not set
686# CONFIG_SENSORS_PC87427 is not set
687# CONFIG_SENSORS_DME1737 is not set
688# CONFIG_SENSORS_SMSC47M1 is not set
689# CONFIG_SENSORS_SMSC47M192 is not set
690# CONFIG_SENSORS_SMSC47B397 is not set
691# CONFIG_SENSORS_THMC50 is not set
692# CONFIG_SENSORS_VT1211 is not set
693# CONFIG_SENSORS_W83781D is not set
694# CONFIG_SENSORS_W83791D is not set
695# CONFIG_SENSORS_W83792D is not set
696# CONFIG_SENSORS_W83793 is not set
697# CONFIG_SENSORS_W83L785TS is not set
698# CONFIG_SENSORS_W83627HF is not set
699# CONFIG_SENSORS_W83627EHF is not set
700# CONFIG_HWMON_DEBUG_CHIP is not set
701CONFIG_MISC_DEVICES=y
702# CONFIG_EEPROM_93CX6 is not set
703
704#
705# Multifunction device drivers
706#
707# CONFIG_MFD_SM501 is not set
708# CONFIG_NEW_LEDS is not set
709
710#
711# Multimedia devices
712#
713# CONFIG_VIDEO_DEV is not set
714# CONFIG_DVB_CORE is not set
715CONFIG_DAB=y
716# CONFIG_USB_DABUSB is not set
717
718#
719# Graphics support
720#
721# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
722
723#
724# Display device support
725#
726# CONFIG_DISPLAY_SUPPORT is not set
727# CONFIG_VGASTATE is not set
728CONFIG_VIDEO_OUTPUT_CONTROL=m
729CONFIG_FB=y
730# CONFIG_FIRMWARE_EDID is not set
731# CONFIG_FB_DDC is not set
732# CONFIG_FB_CFB_FILLRECT is not set
733# CONFIG_FB_CFB_COPYAREA is not set
734# CONFIG_FB_CFB_IMAGEBLIT is not set
735# CONFIG_FB_SYS_FILLRECT is not set
736# CONFIG_FB_SYS_COPYAREA is not set
737# CONFIG_FB_SYS_IMAGEBLIT is not set
738# CONFIG_FB_SYS_FOPS is not set
739CONFIG_FB_DEFERRED_IO=y
740# CONFIG_FB_SVGALIB is not set
741# CONFIG_FB_MACMODES is not set
742# CONFIG_FB_BACKLIGHT is not set
743# CONFIG_FB_MODE_HELPERS is not set
744# CONFIG_FB_TILEBLITTING is not set
745
746#
747# Frame buffer hardware drivers
748#
749# CONFIG_FB_S1D13XXX is not set
750CONFIG_FB_OMAP=y
751# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
752# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
753CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
754# CONFIG_FB_OMAP_DMA_TUNE is not set
755# CONFIG_FB_VIRTUAL is not set
756
757#
758# Console display driver support
759#
760# CONFIG_VGA_CONSOLE is not set
761CONFIG_DUMMY_CONSOLE=y
762CONFIG_FRAMEBUFFER_CONSOLE=y
763# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
764# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
765CONFIG_FONTS=y
766CONFIG_FONT_8x8=y
767CONFIG_FONT_8x16=y
768# CONFIG_FONT_6x11 is not set
769# CONFIG_FONT_7x14 is not set
770# CONFIG_FONT_PEARL_8x8 is not set
771# CONFIG_FONT_ACORN_8x8 is not set
772# CONFIG_FONT_MINI_4x6 is not set
773# CONFIG_FONT_SUN8x16 is not set
774# CONFIG_FONT_SUN12x22 is not set
775# CONFIG_FONT_10x18 is not set
776CONFIG_LOGO=y
777CONFIG_LOGO_LINUX_MONO=y
778CONFIG_LOGO_LINUX_VGA16=y
779CONFIG_LOGO_LINUX_CLUT224=y
780
781#
782# Sound
783#
784# CONFIG_SOUND is not set
785CONFIG_HID_SUPPORT=y
786CONFIG_HID=y
787# CONFIG_HID_DEBUG is not set
788
789#
790# USB Input Devices
791#
792CONFIG_USB_HID=y
793# CONFIG_USB_HIDINPUT_POWERBOOK is not set
794# CONFIG_HID_FF is not set
795# CONFIG_USB_HIDDEV is not set
796CONFIG_USB_SUPPORT=y
797CONFIG_USB_ARCH_HAS_HCD=y
798CONFIG_USB_ARCH_HAS_OHCI=y
799# CONFIG_USB_ARCH_HAS_EHCI is not set
800CONFIG_USB=y
801CONFIG_USB_DEBUG=y
802
803#
804# Miscellaneous USB options
805#
806CONFIG_USB_DEVICEFS=y
807# CONFIG_USB_DEVICE_CLASS is not set
808# CONFIG_USB_DYNAMIC_MINORS is not set
809CONFIG_USB_SUSPEND=y
810# CONFIG_USB_PERSIST is not set
811# CONFIG_USB_OTG is not set
812
813#
814# USB Host Controller Drivers
815#
816# CONFIG_USB_ISP116X_HCD is not set
817CONFIG_USB_OHCI_HCD=y
818# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
819# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
820CONFIG_USB_OHCI_LITTLE_ENDIAN=y
821# CONFIG_USB_SL811_HCD is not set
822# CONFIG_USB_R8A66597_HCD is not set
823# CONFIG_USB_MUSB_HDRC is not set
824
825#
826# USB Device Class drivers
827#
828# CONFIG_USB_ACM is not set
829# CONFIG_USB_PRINTER is not set
830
831#
832# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
833#
834
835#
836# may also be needed; see USB_STORAGE Help for more information
837#
838CONFIG_USB_STORAGE=y
839# CONFIG_USB_STORAGE_DEBUG is not set
840CONFIG_USB_STORAGE_DATAFAB=y
841CONFIG_USB_STORAGE_FREECOM=y
842CONFIG_USB_STORAGE_DPCM=y
843# CONFIG_USB_STORAGE_USBAT is not set
844CONFIG_USB_STORAGE_SDDR09=y
845CONFIG_USB_STORAGE_SDDR55=y
846CONFIG_USB_STORAGE_JUMPSHOT=y
847# CONFIG_USB_STORAGE_ALAUDA is not set
848# CONFIG_USB_STORAGE_KARMA is not set
849# CONFIG_USB_LIBUSUAL is not set
850
851#
852# USB Imaging devices
853#
854# CONFIG_USB_MDC800 is not set
855# CONFIG_USB_MICROTEK is not set
856CONFIG_USB_MON=y
857
858#
859# USB port drivers
860#
861
862#
863# USB Serial Converter support
864#
865# CONFIG_USB_SERIAL is not set
866
867#
868# USB Miscellaneous drivers
869#
870# CONFIG_USB_EMI62 is not set
871# CONFIG_USB_EMI26 is not set
872# CONFIG_USB_ADUTUX is not set
873# CONFIG_USB_AUERSWALD is not set
874# CONFIG_USB_RIO500 is not set
875# CONFIG_USB_LEGOTOWER is not set
876# CONFIG_USB_LCD is not set
877# CONFIG_USB_BERRY_CHARGE is not set
878# CONFIG_USB_LED is not set
879# CONFIG_USB_CYPRESS_CY7C63 is not set
880# CONFIG_USB_CYTHERM is not set
881# CONFIG_USB_PHIDGET is not set
882# CONFIG_USB_IDMOUSE is not set
883# CONFIG_USB_FTDI_ELAN is not set
884# CONFIG_USB_APPLEDISPLAY is not set
885# CONFIG_USB_LD is not set
886# CONFIG_USB_TRANCEVIBRATOR is not set
887# CONFIG_USB_IOWARRIOR is not set
888# CONFIG_USB_TEST is not set
889
890#
891# USB DSL modem support
892#
893
894#
895# USB Gadget Support
896#
897# CONFIG_USB_GADGET is not set
898CONFIG_MMC=y
899# CONFIG_MMC_DEBUG is not set
900# CONFIG_MMC_UNSAFE_RESUME is not set
901
902#
903# MMC/SD Card Drivers
904#
905CONFIG_MMC_BLOCK=y
906CONFIG_MMC_BLOCK_BOUNCE=y
907
908#
909# MMC/SD Host Controller Drivers
910#
911CONFIG_MMC_OMAP=y
912CONFIG_RTC_LIB=y
913CONFIG_RTC_CLASS=y
914CONFIG_RTC_HCTOSYS=y
915CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
916# CONFIG_RTC_DEBUG is not set
917
918#
919# RTC interfaces
920#
921CONFIG_RTC_INTF_SYSFS=y
922CONFIG_RTC_INTF_PROC=y
923CONFIG_RTC_INTF_DEV=y
924# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
925# CONFIG_RTC_DRV_TEST is not set
926
927#
928# I2C RTC drivers
929#
930# CONFIG_RTC_DRV_DS1307 is not set
931# CONFIG_RTC_DRV_DS1672 is not set
932# CONFIG_RTC_DRV_MAX6900 is not set
933# CONFIG_RTC_DRV_RS5C372 is not set
934# CONFIG_RTC_DRV_ISL1208 is not set
935# CONFIG_RTC_DRV_X1205 is not set
936# CONFIG_RTC_DRV_PCF8563 is not set
937# CONFIG_RTC_DRV_PCF8583 is not set
938# CONFIG_RTC_DRV_M41T80 is not set
939
940#
941# SPI RTC drivers
942#
943
944#
945# Platform RTC drivers
946#
947# CONFIG_RTC_DRV_CMOS is not set
948# CONFIG_RTC_DRV_DS1553 is not set
949# CONFIG_RTC_DRV_STK17TA8 is not set
950# CONFIG_RTC_DRV_DS1742 is not set
951# CONFIG_RTC_DRV_M48T86 is not set
952# CONFIG_RTC_DRV_M48T59 is not set
953# CONFIG_RTC_DRV_V3020 is not set
954
955#
956# on-CPU RTC drivers
957#
958CONFIG_RTC_DRV_OMAP=y
959
960#
961# DMA Engine support
962#
963# CONFIG_DMA_ENGINE is not set
964
965#
966# DMA Clients
967#
968
969#
970# DMA Devices
971#
972
973#
974# CBUS support
975#
976# CONFIG_CBUS is not set
977
978#
979# File systems
980#
981CONFIG_EXT2_FS=y
982# CONFIG_EXT2_FS_XATTR is not set
983# CONFIG_EXT2_FS_XIP is not set
984CONFIG_EXT3_FS=y
985CONFIG_EXT3_FS_XATTR=y
986# CONFIG_EXT3_FS_POSIX_ACL is not set
987# CONFIG_EXT3_FS_SECURITY is not set
988# CONFIG_EXT4DEV_FS is not set
989CONFIG_JBD=y
990# CONFIG_JBD_DEBUG is not set
991CONFIG_FS_MBCACHE=y
992# CONFIG_REISERFS_FS is not set
993# CONFIG_JFS_FS is not set
994# CONFIG_FS_POSIX_ACL is not set
995# CONFIG_XFS_FS is not set
996# CONFIG_GFS2_FS is not set
997# CONFIG_OCFS2_FS is not set
998# CONFIG_MINIX_FS is not set
999# CONFIG_ROMFS_FS is not set
1000CONFIG_INOTIFY=y
1001CONFIG_INOTIFY_USER=y
1002# CONFIG_QUOTA is not set
1003CONFIG_DNOTIFY=y
1004CONFIG_AUTOFS_FS=y
1005CONFIG_AUTOFS4_FS=y
1006# CONFIG_FUSE_FS is not set
1007
1008#
1009# CD-ROM/DVD Filesystems
1010#
1011CONFIG_ISO9660_FS=y
1012CONFIG_JOLIET=y
1013# CONFIG_ZISOFS is not set
1014# CONFIG_UDF_FS is not set
1015
1016#
1017# DOS/FAT/NT Filesystems
1018#
1019CONFIG_FAT_FS=m
1020CONFIG_MSDOS_FS=m
1021CONFIG_VFAT_FS=m
1022CONFIG_FAT_DEFAULT_CODEPAGE=437
1023CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1024# CONFIG_NTFS_FS is not set
1025
1026#
1027# Pseudo filesystems
1028#
1029CONFIG_PROC_FS=y
1030CONFIG_PROC_SYSCTL=y
1031CONFIG_SYSFS=y
1032CONFIG_TMPFS=y
1033# CONFIG_TMPFS_POSIX_ACL is not set
1034# CONFIG_HUGETLB_PAGE is not set
1035CONFIG_RAMFS=y
1036# CONFIG_CONFIGFS_FS is not set
1037
1038#
1039# Miscellaneous filesystems
1040#
1041# CONFIG_ADFS_FS is not set
1042# CONFIG_AFFS_FS is not set
1043# CONFIG_HFS_FS is not set
1044# CONFIG_HFSPLUS_FS is not set
1045# CONFIG_BEFS_FS is not set
1046# CONFIG_BFS_FS is not set
1047# CONFIG_EFS_FS is not set
1048# CONFIG_CRAMFS is not set
1049# CONFIG_VXFS_FS is not set
1050# CONFIG_HPFS_FS is not set
1051# CONFIG_QNX4FS_FS is not set
1052# CONFIG_SYSV_FS is not set
1053# CONFIG_UFS_FS is not set
1054
1055#
1056# Network File Systems
1057#
1058CONFIG_NFS_FS=y
1059CONFIG_NFS_V3=y
1060# CONFIG_NFS_V3_ACL is not set
1061CONFIG_NFS_V4=y
1062# CONFIG_NFS_DIRECTIO is not set
1063# CONFIG_NFSD is not set
1064CONFIG_ROOT_NFS=y
1065CONFIG_LOCKD=y
1066CONFIG_LOCKD_V4=y
1067CONFIG_NFS_COMMON=y
1068CONFIG_SUNRPC=y
1069CONFIG_SUNRPC_GSS=y
1070# CONFIG_SUNRPC_BIND34 is not set
1071CONFIG_RPCSEC_GSS_KRB5=y
1072# CONFIG_RPCSEC_GSS_SPKM3 is not set
1073# CONFIG_SMB_FS is not set
1074# CONFIG_CIFS is not set
1075# CONFIG_NCP_FS is not set
1076# CONFIG_CODA_FS is not set
1077# CONFIG_AFS_FS is not set
1078
1079#
1080# Partition Types
1081#
1082CONFIG_PARTITION_ADVANCED=y
1083# CONFIG_ACORN_PARTITION is not set
1084# CONFIG_OSF_PARTITION is not set
1085# CONFIG_AMIGA_PARTITION is not set
1086# CONFIG_ATARI_PARTITION is not set
1087# CONFIG_MAC_PARTITION is not set
1088CONFIG_MSDOS_PARTITION=y
1089# CONFIG_BSD_DISKLABEL is not set
1090# CONFIG_MINIX_SUBPARTITION is not set
1091# CONFIG_SOLARIS_X86_PARTITION is not set
1092# CONFIG_UNIXWARE_DISKLABEL is not set
1093# CONFIG_LDM_PARTITION is not set
1094# CONFIG_SGI_PARTITION is not set
1095# CONFIG_ULTRIX_PARTITION is not set
1096# CONFIG_SUN_PARTITION is not set
1097# CONFIG_KARMA_PARTITION is not set
1098# CONFIG_EFI_PARTITION is not set
1099# CONFIG_SYSV68_PARTITION is not set
1100
1101#
1102# Native Language Support
1103#
1104CONFIG_NLS=y
1105CONFIG_NLS_DEFAULT="iso8859-1"
1106# CONFIG_NLS_CODEPAGE_437 is not set
1107# CONFIG_NLS_CODEPAGE_737 is not set
1108# CONFIG_NLS_CODEPAGE_775 is not set
1109# CONFIG_NLS_CODEPAGE_850 is not set
1110# CONFIG_NLS_CODEPAGE_852 is not set
1111# CONFIG_NLS_CODEPAGE_855 is not set
1112# CONFIG_NLS_CODEPAGE_857 is not set
1113# CONFIG_NLS_CODEPAGE_860 is not set
1114# CONFIG_NLS_CODEPAGE_861 is not set
1115# CONFIG_NLS_CODEPAGE_862 is not set
1116# CONFIG_NLS_CODEPAGE_863 is not set
1117# CONFIG_NLS_CODEPAGE_864 is not set
1118# CONFIG_NLS_CODEPAGE_865 is not set
1119# CONFIG_NLS_CODEPAGE_866 is not set
1120# CONFIG_NLS_CODEPAGE_869 is not set
1121# CONFIG_NLS_CODEPAGE_936 is not set
1122# CONFIG_NLS_CODEPAGE_950 is not set
1123# CONFIG_NLS_CODEPAGE_932 is not set
1124# CONFIG_NLS_CODEPAGE_949 is not set
1125# CONFIG_NLS_CODEPAGE_874 is not set
1126# CONFIG_NLS_ISO8859_8 is not set
1127# CONFIG_NLS_CODEPAGE_1250 is not set
1128# CONFIG_NLS_CODEPAGE_1251 is not set
1129# CONFIG_NLS_ASCII is not set
1130# CONFIG_NLS_ISO8859_1 is not set
1131# CONFIG_NLS_ISO8859_2 is not set
1132# CONFIG_NLS_ISO8859_3 is not set
1133# CONFIG_NLS_ISO8859_4 is not set
1134# CONFIG_NLS_ISO8859_5 is not set
1135# CONFIG_NLS_ISO8859_6 is not set
1136# CONFIG_NLS_ISO8859_7 is not set
1137# CONFIG_NLS_ISO8859_9 is not set
1138# CONFIG_NLS_ISO8859_13 is not set
1139# CONFIG_NLS_ISO8859_14 is not set
1140# CONFIG_NLS_ISO8859_15 is not set
1141# CONFIG_NLS_KOI8_R is not set
1142# CONFIG_NLS_KOI8_U is not set
1143# CONFIG_NLS_UTF8 is not set
1144
1145#
1146# Distributed Lock Manager
1147#
1148# CONFIG_DLM is not set
1149
1150#
1151# Profiling support
1152#
1153# CONFIG_PROFILING is not set
1154
1155#
1156# Kernel hacking
1157#
1158# CONFIG_PRINTK_TIME is not set
1159CONFIG_ENABLE_MUST_CHECK=y
1160CONFIG_MAGIC_SYSRQ=y
1161# CONFIG_UNUSED_SYMBOLS is not set
1162# CONFIG_DEBUG_FS is not set
1163# CONFIG_HEADERS_CHECK is not set
1164CONFIG_DEBUG_KERNEL=y
1165# CONFIG_DEBUG_SHIRQ is not set
1166CONFIG_DETECT_SOFTLOCKUP=y
1167CONFIG_SCHED_DEBUG=y
1168# CONFIG_SCHEDSTATS is not set
1169# CONFIG_TIMER_STATS is not set
1170# CONFIG_DEBUG_SLAB is not set
1171CONFIG_DEBUG_PREEMPT=y
1172# CONFIG_DEBUG_RT_MUTEXES is not set
1173# CONFIG_RT_MUTEX_TESTER is not set
1174# CONFIG_DEBUG_SPINLOCK is not set
1175# CONFIG_DEBUG_MUTEXES is not set
1176# CONFIG_DEBUG_LOCK_ALLOC is not set
1177# CONFIG_PROVE_LOCKING is not set
1178# CONFIG_LOCK_STAT is not set
1179# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1180# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1181# CONFIG_DEBUG_KOBJECT is not set
1182CONFIG_DEBUG_BUGVERBOSE=y
1183# CONFIG_DEBUG_INFO is not set
1184# CONFIG_DEBUG_VM is not set
1185# CONFIG_DEBUG_LIST is not set
1186CONFIG_FRAME_POINTER=y
1187CONFIG_FORCED_INLINING=y
1188# CONFIG_RCU_TORTURE_TEST is not set
1189# CONFIG_FAULT_INJECTION is not set
1190# CONFIG_DEBUG_USER is not set
1191# CONFIG_DEBUG_ERRORS is not set
1192# CONFIG_DEBUG_LL is not set
1193
1194#
1195# Security options
1196#
1197# CONFIG_KEYS is not set
1198# CONFIG_SECURITY is not set
1199CONFIG_CRYPTO=y
1200CONFIG_CRYPTO_ALGAPI=y
1201CONFIG_CRYPTO_BLKCIPHER=y
1202CONFIG_CRYPTO_MANAGER=y
1203# CONFIG_CRYPTO_HMAC is not set
1204# CONFIG_CRYPTO_XCBC is not set
1205# CONFIG_CRYPTO_NULL is not set
1206# CONFIG_CRYPTO_MD4 is not set
1207CONFIG_CRYPTO_MD5=y
1208# CONFIG_CRYPTO_SHA1 is not set
1209# CONFIG_CRYPTO_SHA256 is not set
1210# CONFIG_CRYPTO_SHA512 is not set
1211# CONFIG_CRYPTO_WP512 is not set
1212# CONFIG_CRYPTO_TGR192 is not set
1213# CONFIG_CRYPTO_GF128MUL is not set
1214CONFIG_CRYPTO_ECB=m
1215CONFIG_CRYPTO_CBC=y
1216CONFIG_CRYPTO_PCBC=m
1217# CONFIG_CRYPTO_LRW is not set
1218# CONFIG_CRYPTO_CRYPTD is not set
1219CONFIG_CRYPTO_DES=y
1220# CONFIG_CRYPTO_FCRYPT is not set
1221# CONFIG_CRYPTO_BLOWFISH is not set
1222# CONFIG_CRYPTO_TWOFISH is not set
1223# CONFIG_CRYPTO_SERPENT is not set
1224# CONFIG_CRYPTO_AES is not set
1225# CONFIG_CRYPTO_CAST5 is not set
1226# CONFIG_CRYPTO_CAST6 is not set
1227# CONFIG_CRYPTO_TEA is not set
1228# CONFIG_CRYPTO_ARC4 is not set
1229# CONFIG_CRYPTO_KHAZAD is not set
1230# CONFIG_CRYPTO_ANUBIS is not set
1231# CONFIG_CRYPTO_DEFLATE is not set
1232# CONFIG_CRYPTO_MICHAEL_MIC is not set
1233# CONFIG_CRYPTO_CRC32C is not set
1234# CONFIG_CRYPTO_CAMELLIA is not set
1235# CONFIG_CRYPTO_TEST is not set
1236CONFIG_CRYPTO_HW=y
1237
1238#
1239# Library routines
1240#
1241CONFIG_BITREVERSE=y
1242CONFIG_CRC_CCITT=y
1243# CONFIG_CRC16 is not set
1244# CONFIG_CRC_ITU_T is not set
1245CONFIG_CRC32=y
1246# CONFIG_CRC7 is not set
1247# CONFIG_LIBCRC32C is not set
1248CONFIG_ZLIB_INFLATE=y
1249CONFIG_ZLIB_DEFLATE=y
1250CONFIG_PLIST=y
1251CONFIG_HAS_IOMEM=y
1252CONFIG_HAS_IOPORT=y
1253CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_innovator_1610_defconfig b/arch/arm/configs/omap_innovator_1610_defconfig
new file mode 100644
index 000000000000..95d9f2be53e0
--- /dev/null
+++ b/arch/arm/configs/omap_innovator_1610_defconfig
@@ -0,0 +1,839 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:45:05 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39# CONFIG_POSIX_MQUEUE is not set
40# CONFIG_BSD_PROCESS_ACCT is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_USER_NS is not set
43# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set
45CONFIG_LOG_BUF_SHIFT=14
46CONFIG_SYSFS_DEPRECATED=y
47# CONFIG_RELAY is not set
48CONFIG_BLK_DEV_INITRD=y
49CONFIG_INITRAMFS_SOURCE=""
50CONFIG_CC_OPTIMIZE_FOR_SIZE=y
51CONFIG_SYSCTL=y
52# CONFIG_EMBEDDED is not set
53CONFIG_UID16=y
54CONFIG_SYSCTL_SYSCALL=y
55CONFIG_KALLSYMS=y
56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y
58CONFIG_PRINTK=y
59CONFIG_BUG=y
60CONFIG_ELF_CORE=y
61CONFIG_BASE_FULL=y
62CONFIG_FUTEX=y
63CONFIG_ANON_INODES=y
64CONFIG_EPOLL=y
65CONFIG_SIGNALFD=y
66CONFIG_TIMERFD=y
67CONFIG_EVENTFD=y
68CONFIG_SHMEM=y
69CONFIG_VM_EVENT_COUNTERS=y
70CONFIG_SLUB_DEBUG=y
71# CONFIG_SLAB is not set
72CONFIG_SLUB=y
73# CONFIG_SLOB is not set
74CONFIG_RT_MUTEXES=y
75# CONFIG_TINY_SHMEM is not set
76CONFIG_BASE_SMALL=0
77CONFIG_MODULES=y
78CONFIG_MODULE_UNLOAD=y
79# CONFIG_MODULE_FORCE_UNLOAD is not set
80# CONFIG_MODVERSIONS is not set
81# CONFIG_MODULE_SRCVERSION_ALL is not set
82CONFIG_KMOD=y
83CONFIG_BLOCK=y
84# CONFIG_LBD is not set
85# CONFIG_BLK_DEV_IO_TRACE is not set
86# CONFIG_LSF is not set
87# CONFIG_BLK_DEV_BSG is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=y
95CONFIG_IOSCHED_CFQ=y
96# CONFIG_DEFAULT_AS is not set
97# CONFIG_DEFAULT_DEADLINE is not set
98CONFIG_DEFAULT_CFQ=y
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="cfq"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP13XX is not set
120# CONFIG_ARCH_IOP32X is not set
121# CONFIG_ARCH_IOP33X is not set
122# CONFIG_ARCH_IXP23XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP4XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_KS8695 is not set
127# CONFIG_ARCH_NS9XXX is not set
128# CONFIG_ARCH_MXC is not set
129# CONFIG_ARCH_PNX4008 is not set
130# CONFIG_ARCH_PXA is not set
131# CONFIG_ARCH_RPC is not set
132# CONFIG_ARCH_SA1100 is not set
133# CONFIG_ARCH_S3C2410 is not set
134# CONFIG_ARCH_SHARK is not set
135# CONFIG_ARCH_LH7A40X is not set
136# CONFIG_ARCH_DAVINCI is not set
137CONFIG_ARCH_OMAP=y
138
139#
140# TI OMAP Implementations
141#
142CONFIG_ARCH_OMAP_OTG=y
143CONFIG_ARCH_OMAP1=y
144# CONFIG_ARCH_OMAP2 is not set
145# CONFIG_ARCH_OMAP3 is not set
146
147#
148# OMAP Feature Selections
149#
150# CONFIG_OMAP_RESET_CLOCKS is not set
151# CONFIG_OMAP_BOOT_TAG is not set
152# CONFIG_OMAP_GPIO_SWITCH is not set
153CONFIG_OMAP_MUX=y
154# CONFIG_OMAP_MUX_DEBUG is not set
155CONFIG_OMAP_MUX_WARNINGS=y
156# CONFIG_OMAP_STI is not set
157CONFIG_OMAP_MCBSP=y
158# CONFIG_OMAP_MMU_FWK is not set
159# CONFIG_OMAP_MBOX_FWK is not set
160CONFIG_OMAP_MPU_TIMER=y
161# CONFIG_OMAP_32K_TIMER is not set
162# CONFIG_OMAP_DM_TIMER is not set
163CONFIG_OMAP_LL_DEBUG_UART1=y
164# CONFIG_OMAP_LL_DEBUG_UART2 is not set
165# CONFIG_OMAP_LL_DEBUG_UART3 is not set
166CONFIG_OMAP_SERIAL_WAKE=y
167# CONFIG_OMAP_DSP is not set
168
169#
170# OMAP Core Type
171#
172# CONFIG_ARCH_OMAP730 is not set
173# CONFIG_ARCH_OMAP15XX is not set
174CONFIG_ARCH_OMAP16XX=y
175
176#
177# OMAP Board Type
178#
179CONFIG_MACH_OMAP_INNOVATOR=y
180# CONFIG_MACH_OMAP_H2 is not set
181# CONFIG_MACH_OMAP_H3 is not set
182# CONFIG_MACH_OMAP_OSK is not set
183# CONFIG_MACH_NOKIA770 is not set
184# CONFIG_MACH_OMAP_GENERIC is not set
185
186#
187# OMAP CPU Speed
188#
189# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
190# CONFIG_OMAP_ARM_216MHZ is not set
191CONFIG_OMAP_ARM_192MHZ=y
192# CONFIG_OMAP_ARM_168MHZ is not set
193# CONFIG_OMAP_ARM_120MHZ is not set
194# CONFIG_OMAP_ARM_60MHZ is not set
195# CONFIG_OMAP_ARM_30MHZ is not set
196# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
197
198#
199# Boot options
200#
201
202#
203# Power management
204#
205
206#
207# Processor Type
208#
209CONFIG_CPU_32=y
210CONFIG_CPU_ARM926T=y
211CONFIG_CPU_32v5=y
212CONFIG_CPU_ABRT_EV5TJ=y
213CONFIG_CPU_PABRT_NOIFAR=y
214CONFIG_CPU_CACHE_VIVT=y
215CONFIG_CPU_COPY_V4WB=y
216CONFIG_CPU_TLB_V4WBI=y
217CONFIG_CPU_CP15=y
218CONFIG_CPU_CP15_MMU=y
219
220#
221# Processor Features
222#
223# CONFIG_ARM_THUMB is not set
224# CONFIG_CPU_ICACHE_DISABLE is not set
225# CONFIG_CPU_DCACHE_DISABLE is not set
226CONFIG_CPU_DCACHE_WRITETHROUGH=y
227# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
228# CONFIG_OUTER_CACHE is not set
229
230#
231# Bus support
232#
233# CONFIG_PCI_SYSCALL is not set
234# CONFIG_ARCH_SUPPORTS_MSI is not set
235
236#
237# PCCARD (PCMCIA/CardBus) support
238#
239# CONFIG_PCCARD is not set
240
241#
242# Kernel Features
243#
244# CONFIG_TICK_ONESHOT is not set
245# CONFIG_NO_HZ is not set
246# CONFIG_HIGH_RES_TIMERS is not set
247# CONFIG_PREEMPT is not set
248CONFIG_HZ=100
249# CONFIG_AEABI is not set
250# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
251CONFIG_SELECT_MEMORY_MODEL=y
252CONFIG_FLATMEM_MANUAL=y
253# CONFIG_DISCONTIGMEM_MANUAL is not set
254# CONFIG_SPARSEMEM_MANUAL is not set
255CONFIG_FLATMEM=y
256CONFIG_FLAT_NODE_MEM_MAP=y
257# CONFIG_SPARSEMEM_STATIC is not set
258CONFIG_SPLIT_PTLOCK_CPUS=4096
259# CONFIG_RESOURCES_64BIT is not set
260CONFIG_ZONE_DMA_FLAG=1
261CONFIG_BOUNCE=y
262CONFIG_VIRT_TO_BUS=y
263# CONFIG_LEDS is not set
264CONFIG_ALIGNMENT_TRAP=y
265
266#
267# Boot options
268#
269CONFIG_ZBOOT_ROM_TEXT=0x0
270CONFIG_ZBOOT_ROM_BSS=0x0
271CONFIG_CMDLINE="mem=32M console=tty0 console=ttyS0,115200 initrd=0x10200000,8M root=/dev/ram0 rw"
272# CONFIG_XIP_KERNEL is not set
273# CONFIG_KEXEC is not set
274
275#
276# CPU Frequency scaling
277#
278# CONFIG_CPU_FREQ is not set
279
280#
281# Floating point emulation
282#
283
284#
285# At least one emulation must be selected
286#
287CONFIG_FPE_NWFPE=y
288# CONFIG_FPE_NWFPE_XP is not set
289# CONFIG_FPE_FASTFPE is not set
290# CONFIG_VFP is not set
291
292#
293# Userspace binary formats
294#
295CONFIG_BINFMT_ELF=y
296# CONFIG_BINFMT_AOUT is not set
297# CONFIG_BINFMT_MISC is not set
298# CONFIG_ARTHUR is not set
299
300#
301# Power management options
302#
303# CONFIG_PM is not set
304CONFIG_SUSPEND_UP_POSSIBLE=y
305
306#
307# Networking
308#
309CONFIG_NET=y
310
311#
312# Networking options
313#
314CONFIG_PACKET=m
315# CONFIG_PACKET_MMAP is not set
316CONFIG_UNIX=y
317CONFIG_XFRM=y
318# CONFIG_XFRM_USER is not set
319# CONFIG_XFRM_SUB_POLICY is not set
320# CONFIG_XFRM_MIGRATE is not set
321# CONFIG_NET_KEY is not set
322CONFIG_INET=y
323CONFIG_IP_MULTICAST=y
324# CONFIG_IP_ADVANCED_ROUTER is not set
325CONFIG_IP_FIB_HASH=y
326CONFIG_IP_PNP=y
327CONFIG_IP_PNP_DHCP=y
328CONFIG_IP_PNP_BOOTP=y
329# CONFIG_IP_PNP_RARP is not set
330# CONFIG_NET_IPIP is not set
331# CONFIG_NET_IPGRE is not set
332# CONFIG_IP_MROUTE is not set
333# CONFIG_ARPD is not set
334# CONFIG_SYN_COOKIES is not set
335# CONFIG_INET_AH is not set
336# CONFIG_INET_ESP is not set
337# CONFIG_INET_IPCOMP is not set
338# CONFIG_INET_XFRM_TUNNEL is not set
339# CONFIG_INET_TUNNEL is not set
340CONFIG_INET_XFRM_MODE_TRANSPORT=y
341CONFIG_INET_XFRM_MODE_TUNNEL=y
342CONFIG_INET_XFRM_MODE_BEET=y
343CONFIG_INET_DIAG=y
344CONFIG_INET_TCP_DIAG=y
345# CONFIG_TCP_CONG_ADVANCED is not set
346CONFIG_TCP_CONG_CUBIC=y
347CONFIG_DEFAULT_TCP_CONG="cubic"
348# CONFIG_TCP_MD5SIG is not set
349# CONFIG_IPV6 is not set
350# CONFIG_INET6_XFRM_TUNNEL is not set
351# CONFIG_INET6_TUNNEL is not set
352# CONFIG_NETWORK_SECMARK is not set
353# CONFIG_NETFILTER is not set
354# CONFIG_IP_DCCP is not set
355# CONFIG_IP_SCTP is not set
356# CONFIG_TIPC is not set
357# CONFIG_ATM is not set
358# CONFIG_BRIDGE is not set
359# CONFIG_VLAN_8021Q is not set
360# CONFIG_DECNET is not set
361# CONFIG_LLC2 is not set
362# CONFIG_IPX is not set
363# CONFIG_ATALK is not set
364# CONFIG_X25 is not set
365# CONFIG_LAPB is not set
366# CONFIG_ECONET is not set
367# CONFIG_WAN_ROUTER is not set
368
369#
370# QoS and/or fair queueing
371#
372# CONFIG_NET_SCHED is not set
373
374#
375# Network testing
376#
377# CONFIG_NET_PKTGEN is not set
378# CONFIG_HAMRADIO is not set
379# CONFIG_IRDA is not set
380# CONFIG_BT is not set
381# CONFIG_AF_RXRPC is not set
382
383#
384# Wireless
385#
386# CONFIG_CFG80211 is not set
387# CONFIG_WIRELESS_EXT is not set
388# CONFIG_MAC80211 is not set
389# CONFIG_IEEE80211 is not set
390# CONFIG_RFKILL is not set
391# CONFIG_NET_9P is not set
392
393#
394# Device Drivers
395#
396
397#
398# Generic Driver Options
399#
400CONFIG_STANDALONE=y
401CONFIG_PREVENT_FIRMWARE_BUILD=y
402# CONFIG_FW_LOADER is not set
403# CONFIG_SYS_HYPERVISOR is not set
404# CONFIG_CONNECTOR is not set
405# CONFIG_MTD is not set
406# CONFIG_PARPORT is not set
407CONFIG_BLK_DEV=y
408# CONFIG_BLK_DEV_COW_COMMON is not set
409CONFIG_BLK_DEV_LOOP=y
410# CONFIG_BLK_DEV_CRYPTOLOOP is not set
411# CONFIG_BLK_DEV_NBD is not set
412CONFIG_BLK_DEV_RAM=y
413CONFIG_BLK_DEV_RAM_COUNT=16
414CONFIG_BLK_DEV_RAM_SIZE=8192
415CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
416# CONFIG_CDROM_PKTCDVD is not set
417# CONFIG_ATA_OVER_ETH is not set
418
419#
420# SCSI device support
421#
422# CONFIG_RAID_ATTRS is not set
423# CONFIG_SCSI is not set
424# CONFIG_SCSI_DMA is not set
425# CONFIG_SCSI_NETLINK is not set
426# CONFIG_ATA is not set
427# CONFIG_MD is not set
428CONFIG_NETDEVICES=y
429# CONFIG_NETDEVICES_MULTIQUEUE is not set
430# CONFIG_DUMMY is not set
431# CONFIG_BONDING is not set
432# CONFIG_MACVLAN is not set
433# CONFIG_EQUALIZER is not set
434# CONFIG_TUN is not set
435# CONFIG_PHYLIB is not set
436CONFIG_NET_ETHERNET=y
437CONFIG_MII=y
438# CONFIG_AX88796 is not set
439CONFIG_SMC91X=y
440# CONFIG_DM9000 is not set
441CONFIG_NETDEV_1000=y
442CONFIG_NETDEV_10000=y
443
444#
445# Wireless LAN
446#
447# CONFIG_WLAN_PRE80211 is not set
448# CONFIG_WLAN_80211 is not set
449# CONFIG_WAN is not set
450CONFIG_PPP=y
451CONFIG_PPP_MULTILINK=y
452# CONFIG_PPP_FILTER is not set
453# CONFIG_PPP_ASYNC is not set
454# CONFIG_PPP_SYNC_TTY is not set
455# CONFIG_PPP_DEFLATE is not set
456# CONFIG_PPP_BSDCOMP is not set
457# CONFIG_PPP_MPPE is not set
458# CONFIG_PPPOE is not set
459# CONFIG_PPPOL2TP is not set
460# CONFIG_SLIP is not set
461CONFIG_SLHC=y
462# CONFIG_SHAPER is not set
463# CONFIG_NETCONSOLE is not set
464# CONFIG_NETPOLL is not set
465# CONFIG_NET_POLL_CONTROLLER is not set
466# CONFIG_ISDN is not set
467
468#
469# Input device support
470#
471CONFIG_INPUT=y
472# CONFIG_INPUT_FF_MEMLESS is not set
473# CONFIG_INPUT_POLLDEV is not set
474
475#
476# Userland interfaces
477#
478CONFIG_INPUT_MOUSEDEV=y
479CONFIG_INPUT_MOUSEDEV_PSAUX=y
480CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
481CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
482# CONFIG_INPUT_JOYDEV is not set
483# CONFIG_INPUT_TSDEV is not set
484# CONFIG_INPUT_EVDEV is not set
485# CONFIG_INPUT_EVBUG is not set
486
487#
488# Input Device Drivers
489#
490CONFIG_INPUT_KEYBOARD=y
491# CONFIG_KEYBOARD_ATKBD is not set
492# CONFIG_KEYBOARD_SUNKBD is not set
493# CONFIG_KEYBOARD_LKKBD is not set
494# CONFIG_KEYBOARD_XTKBD is not set
495# CONFIG_KEYBOARD_NEWTON is not set
496# CONFIG_KEYBOARD_STOWAWAY is not set
497CONFIG_KEYBOARD_OMAP=y
498# CONFIG_KEYBOARD_GPIO is not set
499# CONFIG_INPUT_MOUSE is not set
500# CONFIG_INPUT_JOYSTICK is not set
501# CONFIG_INPUT_TABLET is not set
502# CONFIG_INPUT_TOUCHSCREEN is not set
503# CONFIG_INPUT_MISC is not set
504
505#
506# Hardware I/O ports
507#
508CONFIG_SERIO=y
509CONFIG_SERIO_SERPORT=y
510# CONFIG_SERIO_RAW is not set
511# CONFIG_GAMEPORT is not set
512
513#
514# Character devices
515#
516CONFIG_VT=y
517CONFIG_VT_CONSOLE=y
518CONFIG_HW_CONSOLE=y
519# CONFIG_VT_HW_CONSOLE_BINDING is not set
520# CONFIG_SERIAL_NONSTANDARD is not set
521
522#
523# Serial drivers
524#
525CONFIG_SERIAL_8250=y
526CONFIG_SERIAL_8250_CONSOLE=y
527CONFIG_SERIAL_8250_NR_UARTS=4
528CONFIG_SERIAL_8250_RUNTIME_UARTS=4
529# CONFIG_SERIAL_8250_EXTENDED is not set
530
531#
532# Non-8250 serial port support
533#
534CONFIG_SERIAL_CORE=y
535CONFIG_SERIAL_CORE_CONSOLE=y
536CONFIG_UNIX98_PTYS=y
537CONFIG_LEGACY_PTYS=y
538CONFIG_LEGACY_PTY_COUNT=256
539# CONFIG_IPMI_HANDLER is not set
540# CONFIG_WATCHDOG is not set
541CONFIG_HW_RANDOM=m
542CONFIG_HW_RANDOM_OMAP=m
543# CONFIG_NVRAM is not set
544# CONFIG_R3964 is not set
545# CONFIG_RAW_DRIVER is not set
546# CONFIG_TCG_TPM is not set
547# CONFIG_I2C is not set
548
549#
550# SPI support
551#
552# CONFIG_SPI is not set
553# CONFIG_SPI_MASTER is not set
554# CONFIG_W1 is not set
555CONFIG_HWMON=y
556# CONFIG_HWMON_VID is not set
557# CONFIG_SENSORS_ABITUGURU is not set
558# CONFIG_SENSORS_ABITUGURU3 is not set
559# CONFIG_SENSORS_F71805F is not set
560# CONFIG_SENSORS_IT87 is not set
561# CONFIG_SENSORS_PC87360 is not set
562# CONFIG_SENSORS_PC87427 is not set
563# CONFIG_SENSORS_SMSC47M1 is not set
564# CONFIG_SENSORS_SMSC47B397 is not set
565# CONFIG_SENSORS_VT1211 is not set
566# CONFIG_SENSORS_W83627HF is not set
567# CONFIG_SENSORS_W83627EHF is not set
568# CONFIG_HWMON_DEBUG_CHIP is not set
569CONFIG_MISC_DEVICES=y
570# CONFIG_EEPROM_93CX6 is not set
571
572#
573# Multifunction device drivers
574#
575# CONFIG_MFD_SM501 is not set
576# CONFIG_NEW_LEDS is not set
577
578#
579# Multimedia devices
580#
581# CONFIG_VIDEO_DEV is not set
582# CONFIG_DVB_CORE is not set
583CONFIG_DAB=y
584
585#
586# Graphics support
587#
588# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
589
590#
591# Display device support
592#
593# CONFIG_DISPLAY_SUPPORT is not set
594# CONFIG_VGASTATE is not set
595CONFIG_VIDEO_OUTPUT_CONTROL=m
596CONFIG_FB=y
597# CONFIG_FIRMWARE_EDID is not set
598# CONFIG_FB_DDC is not set
599# CONFIG_FB_CFB_FILLRECT is not set
600# CONFIG_FB_CFB_COPYAREA is not set
601# CONFIG_FB_CFB_IMAGEBLIT is not set
602# CONFIG_FB_SYS_FILLRECT is not set
603# CONFIG_FB_SYS_COPYAREA is not set
604# CONFIG_FB_SYS_IMAGEBLIT is not set
605# CONFIG_FB_SYS_FOPS is not set
606CONFIG_FB_DEFERRED_IO=y
607# CONFIG_FB_SVGALIB is not set
608# CONFIG_FB_MACMODES is not set
609# CONFIG_FB_BACKLIGHT is not set
610CONFIG_FB_MODE_HELPERS=y
611# CONFIG_FB_TILEBLITTING is not set
612
613#
614# Frame buffer hardware drivers
615#
616# CONFIG_FB_S1D13XXX is not set
617CONFIG_FB_OMAP=y
618# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
619# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
620CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
621# CONFIG_FB_OMAP_DMA_TUNE is not set
622# CONFIG_FB_VIRTUAL is not set
623
624#
625# Console display driver support
626#
627# CONFIG_VGA_CONSOLE is not set
628CONFIG_DUMMY_CONSOLE=y
629CONFIG_FRAMEBUFFER_CONSOLE=y
630# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
631# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
632CONFIG_FONTS=y
633CONFIG_FONT_8x8=y
634CONFIG_FONT_8x16=y
635# CONFIG_FONT_6x11 is not set
636# CONFIG_FONT_7x14 is not set
637# CONFIG_FONT_PEARL_8x8 is not set
638# CONFIG_FONT_ACORN_8x8 is not set
639# CONFIG_FONT_MINI_4x6 is not set
640# CONFIG_FONT_SUN8x16 is not set
641# CONFIG_FONT_SUN12x22 is not set
642# CONFIG_FONT_10x18 is not set
643CONFIG_LOGO=y
644CONFIG_LOGO_LINUX_MONO=y
645CONFIG_LOGO_LINUX_VGA16=y
646CONFIG_LOGO_LINUX_CLUT224=y
647
648#
649# Sound
650#
651# CONFIG_SOUND is not set
652CONFIG_HID_SUPPORT=y
653CONFIG_HID=y
654CONFIG_HID_DEBUG=y
655CONFIG_USB_SUPPORT=y
656CONFIG_USB_ARCH_HAS_HCD=y
657CONFIG_USB_ARCH_HAS_OHCI=y
658# CONFIG_USB_ARCH_HAS_EHCI is not set
659# CONFIG_USB is not set
660
661#
662# Enable Host or Gadget support to see Inventra options
663#
664
665#
666# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
667#
668
669#
670# USB Gadget Support
671#
672# CONFIG_USB_GADGET is not set
673# CONFIG_MMC is not set
674CONFIG_RTC_LIB=y
675# CONFIG_RTC_CLASS is not set
676
677#
678# DMA Engine support
679#
680# CONFIG_DMA_ENGINE is not set
681
682#
683# DMA Clients
684#
685
686#
687# DMA Devices
688#
689
690#
691# CBUS support
692#
693# CONFIG_CBUS is not set
694
695#
696# File systems
697#
698CONFIG_EXT2_FS=y
699# CONFIG_EXT2_FS_XATTR is not set
700# CONFIG_EXT2_FS_XIP is not set
701# CONFIG_EXT3_FS is not set
702# CONFIG_EXT4DEV_FS is not set
703# CONFIG_REISERFS_FS is not set
704# CONFIG_JFS_FS is not set
705# CONFIG_FS_POSIX_ACL is not set
706# CONFIG_XFS_FS is not set
707# CONFIG_GFS2_FS is not set
708# CONFIG_OCFS2_FS is not set
709# CONFIG_MINIX_FS is not set
710# CONFIG_ROMFS_FS is not set
711CONFIG_INOTIFY=y
712CONFIG_INOTIFY_USER=y
713# CONFIG_QUOTA is not set
714CONFIG_DNOTIFY=y
715CONFIG_AUTOFS_FS=y
716CONFIG_AUTOFS4_FS=y
717# CONFIG_FUSE_FS is not set
718
719#
720# CD-ROM/DVD Filesystems
721#
722# CONFIG_ISO9660_FS is not set
723# CONFIG_UDF_FS is not set
724
725#
726# DOS/FAT/NT Filesystems
727#
728# CONFIG_MSDOS_FS is not set
729# CONFIG_VFAT_FS is not set
730# CONFIG_NTFS_FS is not set
731
732#
733# Pseudo filesystems
734#
735CONFIG_PROC_FS=y
736CONFIG_PROC_SYSCTL=y
737CONFIG_SYSFS=y
738# CONFIG_TMPFS is not set
739# CONFIG_HUGETLB_PAGE is not set
740CONFIG_RAMFS=y
741# CONFIG_CONFIGFS_FS is not set
742
743#
744# Miscellaneous filesystems
745#
746# CONFIG_ADFS_FS is not set
747# CONFIG_AFFS_FS is not set
748# CONFIG_HFS_FS is not set
749# CONFIG_HFSPLUS_FS is not set
750# CONFIG_BEFS_FS is not set
751# CONFIG_BFS_FS is not set
752# CONFIG_EFS_FS is not set
753# CONFIG_CRAMFS is not set
754# CONFIG_VXFS_FS is not set
755# CONFIG_HPFS_FS is not set
756# CONFIG_QNX4FS_FS is not set
757# CONFIG_SYSV_FS is not set
758# CONFIG_UFS_FS is not set
759
760#
761# Network File Systems
762#
763CONFIG_NFS_FS=y
764CONFIG_NFS_V3=y
765# CONFIG_NFS_V3_ACL is not set
766# CONFIG_NFS_V4 is not set
767# CONFIG_NFS_DIRECTIO is not set
768# CONFIG_NFSD is not set
769# CONFIG_ROOT_NFS is not set
770CONFIG_LOCKD=y
771CONFIG_LOCKD_V4=y
772CONFIG_NFS_COMMON=y
773CONFIG_SUNRPC=y
774# CONFIG_SUNRPC_BIND34 is not set
775# CONFIG_RPCSEC_GSS_KRB5 is not set
776# CONFIG_RPCSEC_GSS_SPKM3 is not set
777# CONFIG_SMB_FS is not set
778# CONFIG_CIFS is not set
779# CONFIG_NCP_FS is not set
780# CONFIG_CODA_FS is not set
781# CONFIG_AFS_FS is not set
782
783#
784# Partition Types
785#
786# CONFIG_PARTITION_ADVANCED is not set
787CONFIG_MSDOS_PARTITION=y
788
789#
790# Native Language Support
791#
792# CONFIG_NLS is not set
793
794#
795# Distributed Lock Manager
796#
797# CONFIG_DLM is not set
798
799#
800# Profiling support
801#
802# CONFIG_PROFILING is not set
803
804#
805# Kernel hacking
806#
807# CONFIG_PRINTK_TIME is not set
808CONFIG_ENABLE_MUST_CHECK=y
809# CONFIG_MAGIC_SYSRQ is not set
810# CONFIG_UNUSED_SYMBOLS is not set
811# CONFIG_DEBUG_FS is not set
812# CONFIG_HEADERS_CHECK is not set
813# CONFIG_DEBUG_KERNEL is not set
814# CONFIG_SLUB_DEBUG_ON is not set
815CONFIG_DEBUG_BUGVERBOSE=y
816CONFIG_FRAME_POINTER=y
817# CONFIG_DEBUG_USER is not set
818
819#
820# Security options
821#
822# CONFIG_KEYS is not set
823# CONFIG_SECURITY is not set
824# CONFIG_CRYPTO is not set
825
826#
827# Library routines
828#
829CONFIG_BITREVERSE=y
830# CONFIG_CRC_CCITT is not set
831# CONFIG_CRC16 is not set
832# CONFIG_CRC_ITU_T is not set
833CONFIG_CRC32=y
834# CONFIG_CRC7 is not set
835# CONFIG_LIBCRC32C is not set
836CONFIG_PLIST=y
837CONFIG_HAS_IOMEM=y
838CONFIG_HAS_IOPORT=y
839CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/omap_osk_5912_defconfig b/arch/arm/configs/omap_osk_5912_defconfig
index d4ca5e6e4ffa..b68e0144cab5 100644
--- a/arch/arm/configs/omap_osk_5912_defconfig
+++ b/arch/arm/configs/omap_osk_5912_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc3 3# Linux kernel version: 2.6.24-rc3-omap1
4# Mon Mar 3 03:35:17 2008 4# Fri Nov 23 12:24:12 2007
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -21,7 +21,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set 21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y 22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y 23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ARCH_SUPPORTS_AOUT=y
25CONFIG_ZONE_DMA=y 24CONFIG_ZONE_DMA=y
26CONFIG_VECTORS_BASE=0xffff0000 25CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -40,22 +39,17 @@ CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set 39# CONFIG_POSIX_MQUEUE is not set
41# CONFIG_BSD_PROCESS_ACCT is not set 40# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set 41# CONFIG_TASKSTATS is not set
42# CONFIG_USER_NS is not set
43# CONFIG_PID_NS is not set
43# CONFIG_AUDIT is not set 44# CONFIG_AUDIT is not set
44# CONFIG_IKCONFIG is not set 45# CONFIG_IKCONFIG is not set
45CONFIG_LOG_BUF_SHIFT=14 46CONFIG_LOG_BUF_SHIFT=14
46# CONFIG_CGROUPS is not set 47# CONFIG_CGROUPS is not set
47CONFIG_GROUP_SCHED=y
48CONFIG_FAIR_GROUP_SCHED=y 48CONFIG_FAIR_GROUP_SCHED=y
49# CONFIG_RT_GROUP_SCHED is not set 49CONFIG_FAIR_USER_SCHED=y
50CONFIG_USER_SCHED=y 50# CONFIG_FAIR_CGROUP_SCHED is not set
51# CONFIG_CGROUP_SCHED is not set 51CONFIG_SYSFS_DEPRECATED=y
52# CONFIG_SYSFS_DEPRECATED is not set
53# CONFIG_RELAY is not set 52# CONFIG_RELAY is not set
54CONFIG_NAMESPACES=y
55# CONFIG_UTS_NS is not set
56# CONFIG_IPC_NS is not set
57# CONFIG_USER_NS is not set
58# CONFIG_PID_NS is not set
59CONFIG_BLK_DEV_INITRD=y 53CONFIG_BLK_DEV_INITRD=y
60CONFIG_INITRAMFS_SOURCE="" 54CONFIG_INITRAMFS_SOURCE=""
61CONFIG_CC_OPTIMIZE_FOR_SIZE=y 55CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -69,26 +63,18 @@ CONFIG_HOTPLUG=y
69CONFIG_PRINTK=y 63CONFIG_PRINTK=y
70CONFIG_BUG=y 64CONFIG_BUG=y
71CONFIG_ELF_CORE=y 65CONFIG_ELF_CORE=y
72CONFIG_COMPAT_BRK=y
73CONFIG_BASE_FULL=y 66CONFIG_BASE_FULL=y
74CONFIG_FUTEX=y 67CONFIG_FUTEX=y
75CONFIG_ANON_INODES=y 68CONFIG_ANON_INODES=y
76CONFIG_EPOLL=y 69CONFIG_EPOLL=y
77CONFIG_SIGNALFD=y 70CONFIG_SIGNALFD=y
78CONFIG_TIMERFD=y
79CONFIG_EVENTFD=y 71CONFIG_EVENTFD=y
80CONFIG_SHMEM=y 72CONFIG_SHMEM=y
81CONFIG_VM_EVENT_COUNTERS=y 73CONFIG_VM_EVENT_COUNTERS=y
82CONFIG_SLAB=y 74CONFIG_SLUB_DEBUG=y
83# CONFIG_SLUB is not set 75# CONFIG_SLAB is not set
76CONFIG_SLUB=y
84# CONFIG_SLOB is not set 77# CONFIG_SLOB is not set
85# CONFIG_PROFILING is not set
86# CONFIG_MARKERS is not set
87CONFIG_HAVE_OPROFILE=y
88# CONFIG_KPROBES is not set
89CONFIG_HAVE_KPROBES=y
90CONFIG_PROC_PAGE_MONITOR=y
91CONFIG_SLABINFO=y
92CONFIG_RT_MUTEXES=y 78CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 79# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 80CONFIG_BASE_SMALL=0
@@ -116,8 +102,6 @@ CONFIG_IOSCHED_CFQ=y
116CONFIG_DEFAULT_CFQ=y 102CONFIG_DEFAULT_CFQ=y
117# CONFIG_DEFAULT_NOOP is not set 103# CONFIG_DEFAULT_NOOP is not set
118CONFIG_DEFAULT_IOSCHED="cfq" 104CONFIG_DEFAULT_IOSCHED="cfq"
119CONFIG_CLASSIC_RCU=y
120# CONFIG_PREEMPT_RCU is not set
121 105
122# 106#
123# System Type 107# System Type
@@ -146,7 +130,6 @@ CONFIG_CLASSIC_RCU=y
146# CONFIG_ARCH_KS8695 is not set 130# CONFIG_ARCH_KS8695 is not set
147# CONFIG_ARCH_NS9XXX is not set 131# CONFIG_ARCH_NS9XXX is not set
148# CONFIG_ARCH_MXC is not set 132# CONFIG_ARCH_MXC is not set
149# CONFIG_ARCH_ORION is not set
150# CONFIG_ARCH_PNX4008 is not set 133# CONFIG_ARCH_PNX4008 is not set
151# CONFIG_ARCH_PXA is not set 134# CONFIG_ARCH_PXA is not set
152# CONFIG_ARCH_RPC is not set 135# CONFIG_ARCH_RPC is not set
@@ -156,7 +139,6 @@ CONFIG_CLASSIC_RCU=y
156# CONFIG_ARCH_LH7A40X is not set 139# CONFIG_ARCH_LH7A40X is not set
157# CONFIG_ARCH_DAVINCI is not set 140# CONFIG_ARCH_DAVINCI is not set
158CONFIG_ARCH_OMAP=y 141CONFIG_ARCH_OMAP=y
159# CONFIG_ARCH_MSM7X00A is not set
160 142
161# 143#
162# TI OMAP Implementations 144# TI OMAP Implementations
@@ -164,16 +146,22 @@ CONFIG_ARCH_OMAP=y
164CONFIG_ARCH_OMAP_OTG=y 146CONFIG_ARCH_OMAP_OTG=y
165CONFIG_ARCH_OMAP1=y 147CONFIG_ARCH_OMAP1=y
166# CONFIG_ARCH_OMAP2 is not set 148# CONFIG_ARCH_OMAP2 is not set
149# CONFIG_ARCH_OMAP3 is not set
167 150
168# 151#
169# OMAP Feature Selections 152# OMAP Feature Selections
170# 153#
154CONFIG_OMAP_DEBUG_SRAM_PATCH=y
171CONFIG_OMAP_RESET_CLOCKS=y 155CONFIG_OMAP_RESET_CLOCKS=y
156# CONFIG_OMAP_BOOT_TAG is not set
157# CONFIG_OMAP_GPIO_SWITCH is not set
172CONFIG_OMAP_MUX=y 158CONFIG_OMAP_MUX=y
173# CONFIG_OMAP_MUX_DEBUG is not set 159# CONFIG_OMAP_MUX_DEBUG is not set
174CONFIG_OMAP_MUX_WARNINGS=y 160CONFIG_OMAP_MUX_WARNINGS=y
161# CONFIG_OMAP_STI is not set
175CONFIG_OMAP_MCBSP=y 162CONFIG_OMAP_MCBSP=y
176# CONFIG_OMAP_MMU_FWK is not set 163# CONFIG_OMAP_MMU_FWK is not set
164# CONFIG_OMAP_MBOX_FWK is not set
177# CONFIG_OMAP_MPU_TIMER is not set 165# CONFIG_OMAP_MPU_TIMER is not set
178CONFIG_OMAP_32K_TIMER=y 166CONFIG_OMAP_32K_TIMER=y
179CONFIG_OMAP_32K_TIMER_HZ=128 167CONFIG_OMAP_32K_TIMER_HZ=128
@@ -182,6 +170,7 @@ CONFIG_OMAP_LL_DEBUG_UART1=y
182# CONFIG_OMAP_LL_DEBUG_UART2 is not set 170# CONFIG_OMAP_LL_DEBUG_UART2 is not set
183# CONFIG_OMAP_LL_DEBUG_UART3 is not set 171# CONFIG_OMAP_LL_DEBUG_UART3 is not set
184CONFIG_OMAP_SERIAL_WAKE=y 172CONFIG_OMAP_SERIAL_WAKE=y
173# CONFIG_OMAP_DSP is not set
185 174
186# 175#
187# OMAP Core Type 176# OMAP Core Type
@@ -193,13 +182,13 @@ CONFIG_ARCH_OMAP16XX=y
193# 182#
194# OMAP Board Type 183# OMAP Board Type
195# 184#
196CONFIG_MACH_OMAP_INNOVATOR=y 185# CONFIG_MACH_OMAP_INNOVATOR is not set
197CONFIG_MACH_OMAP_H2=y 186# CONFIG_MACH_OMAP_H2 is not set
198CONFIG_MACH_OMAP_H3=y 187# CONFIG_MACH_OMAP_H3 is not set
199CONFIG_MACH_OMAP_OSK=y 188CONFIG_MACH_OMAP_OSK=y
200# CONFIG_OMAP_OSK_MISTRAL is not set 189# CONFIG_OMAP_OSK_MISTRAL is not set
201CONFIG_MACH_NOKIA770=y 190# CONFIG_MACH_NOKIA770 is not set
202CONFIG_MACH_OMAP_GENERIC=y 191# CONFIG_MACH_OMAP_GENERIC is not set
203 192
204# 193#
205# OMAP CPU Speed 194# OMAP CPU Speed
@@ -227,6 +216,7 @@ CONFIG_CPU_32=y
227CONFIG_CPU_ARM926T=y 216CONFIG_CPU_ARM926T=y
228CONFIG_CPU_32v5=y 217CONFIG_CPU_32v5=y
229CONFIG_CPU_ABRT_EV5TJ=y 218CONFIG_CPU_ABRT_EV5TJ=y
219CONFIG_CPU_PABRT_NOIFAR=y
230CONFIG_CPU_CACHE_VIVT=y 220CONFIG_CPU_CACHE_VIVT=y
231CONFIG_CPU_COPY_V4WB=y 221CONFIG_CPU_COPY_V4WB=y
232CONFIG_CPU_TLB_V4WBI=y 222CONFIG_CPU_TLB_V4WBI=y
@@ -264,12 +254,11 @@ CONFIG_OMAP_CF=y
264# 254#
265CONFIG_TICK_ONESHOT=y 255CONFIG_TICK_ONESHOT=y
266CONFIG_NO_HZ=y 256CONFIG_NO_HZ=y
267CONFIG_HIGH_RES_TIMERS=y 257# CONFIG_HIGH_RES_TIMERS is not set
268CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 258CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
269# CONFIG_PREEMPT is not set 259# CONFIG_PREEMPT is not set
270CONFIG_HZ=128 260CONFIG_HZ=128
271CONFIG_AEABI=y 261# CONFIG_AEABI is not set
272CONFIG_OABI_COMPAT=y
273# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 262# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
274CONFIG_SELECT_MEMORY_MODEL=y 263CONFIG_SELECT_MEMORY_MODEL=y
275CONFIG_FLATMEM_MANUAL=y 264CONFIG_FLATMEM_MANUAL=y
@@ -295,7 +284,6 @@ CONFIG_ZBOOT_ROM_BSS=0x0
295CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw" 284CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw"
296# CONFIG_XIP_KERNEL is not set 285# CONFIG_XIP_KERNEL is not set
297# CONFIG_KEXEC is not set 286# CONFIG_KEXEC is not set
298# CONFIG_ATAGS_PROC is not set
299 287
300# 288#
301# CPU Frequency scaling 289# CPU Frequency scaling
@@ -320,6 +308,7 @@ CONFIG_FPE_NWFPE=y
320CONFIG_BINFMT_ELF=y 308CONFIG_BINFMT_ELF=y
321# CONFIG_BINFMT_AOUT is not set 309# CONFIG_BINFMT_AOUT is not set
322# CONFIG_BINFMT_MISC is not set 310# CONFIG_BINFMT_MISC is not set
311# CONFIG_ARTHUR is not set
323 312
324# 313#
325# Power management options 314# Power management options
@@ -328,10 +317,9 @@ CONFIG_PM=y
328# CONFIG_PM_LEGACY is not set 317# CONFIG_PM_LEGACY is not set
329# CONFIG_PM_DEBUG is not set 318# CONFIG_PM_DEBUG is not set
330CONFIG_PM_SLEEP=y 319CONFIG_PM_SLEEP=y
320CONFIG_SUSPEND_UP_POSSIBLE=y
331CONFIG_SUSPEND=y 321CONFIG_SUSPEND=y
332CONFIG_SUSPEND_FREEZER=y
333# CONFIG_APM_EMULATION is not set 322# CONFIG_APM_EMULATION is not set
334CONFIG_ARCH_SUSPEND_POSSIBLE=y
335 323
336# 324#
337# Networking 325# Networking
@@ -348,7 +336,6 @@ CONFIG_XFRM=y
348# CONFIG_XFRM_USER is not set 336# CONFIG_XFRM_USER is not set
349# CONFIG_XFRM_SUB_POLICY is not set 337# CONFIG_XFRM_SUB_POLICY is not set
350# CONFIG_XFRM_MIGRATE is not set 338# CONFIG_XFRM_MIGRATE is not set
351# CONFIG_XFRM_STATISTICS is not set
352# CONFIG_NET_KEY is not set 339# CONFIG_NET_KEY is not set
353CONFIG_INET=y 340CONFIG_INET=y
354CONFIG_IP_MULTICAST=y 341CONFIG_IP_MULTICAST=y
@@ -404,7 +391,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
404# 391#
405# CONFIG_NET_PKTGEN is not set 392# CONFIG_NET_PKTGEN is not set
406# CONFIG_HAMRADIO is not set 393# CONFIG_HAMRADIO is not set
407# CONFIG_CAN is not set
408# CONFIG_IRDA is not set 394# CONFIG_IRDA is not set
409# CONFIG_BT is not set 395# CONFIG_BT is not set
410# CONFIG_AF_RXRPC is not set 396# CONFIG_AF_RXRPC is not set
@@ -517,13 +503,11 @@ CONFIG_BLK_DEV_LOOP=y
517CONFIG_BLK_DEV_RAM=y 503CONFIG_BLK_DEV_RAM=y
518CONFIG_BLK_DEV_RAM_COUNT=16 504CONFIG_BLK_DEV_RAM_COUNT=16
519CONFIG_BLK_DEV_RAM_SIZE=8192 505CONFIG_BLK_DEV_RAM_SIZE=8192
520# CONFIG_BLK_DEV_XIP is not set 506CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
521# CONFIG_CDROM_PKTCDVD is not set 507# CONFIG_CDROM_PKTCDVD is not set
522# CONFIG_ATA_OVER_ETH is not set 508# CONFIG_ATA_OVER_ETH is not set
523CONFIG_MISC_DEVICES=y 509CONFIG_MISC_DEVICES=y
524# CONFIG_EEPROM_93CX6 is not set 510# CONFIG_EEPROM_93CX6 is not set
525# CONFIG_ENCLOSURE_SERVICES is not set
526CONFIG_HAVE_IDE=y
527CONFIG_IDE=m 511CONFIG_IDE=m
528CONFIG_BLK_DEV_IDE=m 512CONFIG_BLK_DEV_IDE=m
529 513
@@ -545,6 +529,7 @@ CONFIG_IDE_PROC_FS=y
545# 529#
546# CONFIG_IDE_GENERIC is not set 530# CONFIG_IDE_GENERIC is not set
547# CONFIG_BLK_DEV_PLATFORM is not set 531# CONFIG_BLK_DEV_PLATFORM is not set
532# CONFIG_IDE_ARM is not set
548# CONFIG_BLK_DEV_IDEDMA is not set 533# CONFIG_BLK_DEV_IDEDMA is not set
549CONFIG_IDE_ARCH_OBSOLETE_INIT=y 534CONFIG_IDE_ARCH_OBSOLETE_INIT=y
550# CONFIG_BLK_DEV_HD is not set 535# CONFIG_BLK_DEV_HD is not set
@@ -578,7 +563,6 @@ CONFIG_SMC91X=y
578# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 563# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
579# CONFIG_B44 is not set 564# CONFIG_B44 is not set
580CONFIG_NETDEV_1000=y 565CONFIG_NETDEV_1000=y
581# CONFIG_E1000E_ENABLED is not set
582CONFIG_NETDEV_10000=y 566CONFIG_NETDEV_10000=y
583 567
584# 568#
@@ -600,6 +584,7 @@ CONFIG_PPP_MULTILINK=y
600# CONFIG_PPPOL2TP is not set 584# CONFIG_PPPOL2TP is not set
601# CONFIG_SLIP is not set 585# CONFIG_SLIP is not set
602CONFIG_SLHC=y 586CONFIG_SLHC=y
587# CONFIG_SHAPER is not set
603# CONFIG_NETCONSOLE is not set 588# CONFIG_NETCONSOLE is not set
604# CONFIG_NETPOLL is not set 589# CONFIG_NETPOLL is not set
605# CONFIG_NET_POLL_CONTROLLER is not set 590# CONFIG_NET_POLL_CONTROLLER is not set
@@ -696,7 +681,6 @@ CONFIG_HW_RANDOM_OMAP=m
696# CONFIG_SYNCLINK_CS is not set 681# CONFIG_SYNCLINK_CS is not set
697# CONFIG_CARDMAN_4000 is not set 682# CONFIG_CARDMAN_4000 is not set
698# CONFIG_CARDMAN_4040 is not set 683# CONFIG_CARDMAN_4040 is not set
699# CONFIG_IPWIRELESS is not set
700# CONFIG_RAW_DRIVER is not set 684# CONFIG_RAW_DRIVER is not set
701# CONFIG_TCG_TPM is not set 685# CONFIG_TCG_TPM is not set
702CONFIG_I2C=y 686CONFIG_I2C=y
@@ -724,13 +708,17 @@ CONFIG_I2C_OMAP=y
724# 708#
725# Miscellaneous I2C Chip support 709# Miscellaneous I2C Chip support
726# 710#
711# CONFIG_SENSORS_DS1337 is not set
712# CONFIG_SENSORS_DS1374 is not set
727# CONFIG_DS1682 is not set 713# CONFIG_DS1682 is not set
728# CONFIG_SENSORS_EEPROM is not set 714# CONFIG_SENSORS_EEPROM is not set
729# CONFIG_SENSORS_PCF8574 is not set 715# CONFIG_SENSORS_PCF8574 is not set
730# CONFIG_PCF8575 is not set 716# CONFIG_SENSORS_PCA9539 is not set
731# CONFIG_SENSORS_PCF8591 is not set 717# CONFIG_SENSORS_PCF8591 is not set
732# CONFIG_ISP1301_OMAP is not set 718# CONFIG_ISP1301_OMAP is not set
733CONFIG_TPS65010=y 719CONFIG_TPS65010=y
720# CONFIG_SENSORS_TLV320AIC23 is not set
721# CONFIG_GPIOEXPANDER_OMAP is not set
734# CONFIG_SENSORS_MAX6875 is not set 722# CONFIG_SENSORS_MAX6875 is not set
735# CONFIG_SENSORS_TSL2550 is not set 723# CONFIG_SENSORS_TSL2550 is not set
736# CONFIG_I2C_DEBUG_CORE is not set 724# CONFIG_I2C_DEBUG_CORE is not set
@@ -755,7 +743,6 @@ CONFIG_HWMON=y
755# CONFIG_SENSORS_ADM1031 is not set 743# CONFIG_SENSORS_ADM1031 is not set
756# CONFIG_SENSORS_ADM9240 is not set 744# CONFIG_SENSORS_ADM9240 is not set
757# CONFIG_SENSORS_ADT7470 is not set 745# CONFIG_SENSORS_ADT7470 is not set
758# CONFIG_SENSORS_ADT7473 is not set
759# CONFIG_SENSORS_ATXP1 is not set 746# CONFIG_SENSORS_ATXP1 is not set
760# CONFIG_SENSORS_DS1621 is not set 747# CONFIG_SENSORS_DS1621 is not set
761# CONFIG_SENSORS_F71805F is not set 748# CONFIG_SENSORS_F71805F is not set
@@ -783,7 +770,6 @@ CONFIG_HWMON=y
783# CONFIG_SENSORS_SMSC47M1 is not set 770# CONFIG_SENSORS_SMSC47M1 is not set
784# CONFIG_SENSORS_SMSC47M192 is not set 771# CONFIG_SENSORS_SMSC47M192 is not set
785# CONFIG_SENSORS_SMSC47B397 is not set 772# CONFIG_SENSORS_SMSC47B397 is not set
786# CONFIG_SENSORS_ADS7828 is not set
787# CONFIG_SENSORS_THMC50 is not set 773# CONFIG_SENSORS_THMC50 is not set
788# CONFIG_SENSORS_VT1211 is not set 774# CONFIG_SENSORS_VT1211 is not set
789# CONFIG_SENSORS_W83781D is not set 775# CONFIG_SENSORS_W83781D is not set
@@ -791,7 +777,6 @@ CONFIG_HWMON=y
791# CONFIG_SENSORS_W83792D is not set 777# CONFIG_SENSORS_W83792D is not set
792# CONFIG_SENSORS_W83793 is not set 778# CONFIG_SENSORS_W83793 is not set
793# CONFIG_SENSORS_W83L785TS is not set 779# CONFIG_SENSORS_W83L785TS is not set
794# CONFIG_SENSORS_W83L786NG is not set
795# CONFIG_SENSORS_W83627HF is not set 780# CONFIG_SENSORS_W83627HF is not set
796# CONFIG_SENSORS_W83627EHF is not set 781# CONFIG_SENSORS_W83627EHF is not set
797# CONFIG_HWMON_DEBUG_CHIP is not set 782# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -807,7 +792,6 @@ CONFIG_SSB_POSSIBLE=y
807# Multifunction device drivers 792# Multifunction device drivers
808# 793#
809# CONFIG_MFD_SM501 is not set 794# CONFIG_MFD_SM501 is not set
810# CONFIG_MFD_ASIC3 is not set
811 795
812# 796#
813# Multimedia devices 797# Multimedia devices
@@ -822,11 +806,11 @@ CONFIG_DAB=y
822# CONFIG_VGASTATE is not set 806# CONFIG_VGASTATE is not set
823CONFIG_VIDEO_OUTPUT_CONTROL=m 807CONFIG_VIDEO_OUTPUT_CONTROL=m
824CONFIG_FB=y 808CONFIG_FB=y
825CONFIG_FIRMWARE_EDID=y 809# CONFIG_FIRMWARE_EDID is not set
826# CONFIG_FB_DDC is not set 810# CONFIG_FB_DDC is not set
827# CONFIG_FB_CFB_FILLRECT is not set 811CONFIG_FB_CFB_FILLRECT=y
828# CONFIG_FB_CFB_COPYAREA is not set 812CONFIG_FB_CFB_COPYAREA=y
829# CONFIG_FB_CFB_IMAGEBLIT is not set 813CONFIG_FB_CFB_IMAGEBLIT=y
830# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 814# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
831# CONFIG_FB_SYS_FILLRECT is not set 815# CONFIG_FB_SYS_FILLRECT is not set
832# CONFIG_FB_SYS_COPYAREA is not set 816# CONFIG_FB_SYS_COPYAREA is not set
@@ -844,7 +828,11 @@ CONFIG_FB_MODE_HELPERS=y
844# 828#
845# CONFIG_FB_S1D13XXX is not set 829# CONFIG_FB_S1D13XXX is not set
846# CONFIG_FB_VIRTUAL is not set 830# CONFIG_FB_VIRTUAL is not set
847# CONFIG_FB_OMAP is not set 831CONFIG_FB_OMAP=y
832# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
833# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
834CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
835# CONFIG_FB_OMAP_DMA_TUNE is not set
848# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 836# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
849 837
850# 838#
@@ -891,8 +879,16 @@ CONFIG_USB_ARCH_HAS_OHCI=y
891# CONFIG_USB is not set 879# CONFIG_USB is not set
892 880
893# 881#
882# Enable Host or Gadget support to see Inventra options
883#
884
885#
894# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
895# 887#
888
889#
890# USB Gadget Support
891#
896# CONFIG_USB_GADGET is not set 892# CONFIG_USB_GADGET is not set
897# CONFIG_MMC is not set 893# CONFIG_MMC is not set
898# CONFIG_NEW_LEDS is not set 894# CONFIG_NEW_LEDS is not set
@@ -900,6 +896,11 @@ CONFIG_RTC_LIB=y
900# CONFIG_RTC_CLASS is not set 896# CONFIG_RTC_CLASS is not set
901 897
902# 898#
899# CBUS support
900#
901# CONFIG_CBUS is not set
902
903#
903# File systems 904# File systems
904# 905#
905CONFIG_EXT2_FS=y 906CONFIG_EXT2_FS=y
@@ -913,10 +914,12 @@ CONFIG_EXT2_FS=y
913# CONFIG_XFS_FS is not set 914# CONFIG_XFS_FS is not set
914# CONFIG_GFS2_FS is not set 915# CONFIG_GFS2_FS is not set
915# CONFIG_OCFS2_FS is not set 916# CONFIG_OCFS2_FS is not set
916CONFIG_DNOTIFY=y 917# CONFIG_MINIX_FS is not set
918# CONFIG_ROMFS_FS is not set
917CONFIG_INOTIFY=y 919CONFIG_INOTIFY=y
918CONFIG_INOTIFY_USER=y 920CONFIG_INOTIFY_USER=y
919# CONFIG_QUOTA is not set 921# CONFIG_QUOTA is not set
922CONFIG_DNOTIFY=y
920CONFIG_AUTOFS_FS=y 923CONFIG_AUTOFS_FS=y
921CONFIG_AUTOFS4_FS=y 924CONFIG_AUTOFS4_FS=y
922# CONFIG_FUSE_FS is not set 925# CONFIG_FUSE_FS is not set
@@ -970,10 +973,8 @@ CONFIG_JFFS2_RTIME=y
970# CONFIG_JFFS2_RUBIN is not set 973# CONFIG_JFFS2_RUBIN is not set
971# CONFIG_CRAMFS is not set 974# CONFIG_CRAMFS is not set
972# CONFIG_VXFS_FS is not set 975# CONFIG_VXFS_FS is not set
973# CONFIG_MINIX_FS is not set
974# CONFIG_HPFS_FS is not set 976# CONFIG_HPFS_FS is not set
975# CONFIG_QNX4FS_FS is not set 977# CONFIG_QNX4FS_FS is not set
976# CONFIG_ROMFS_FS is not set
977# CONFIG_SYSV_FS is not set 978# CONFIG_SYSV_FS is not set
978# CONFIG_UFS_FS is not set 979# CONFIG_UFS_FS is not set
979CONFIG_NETWORK_FILESYSTEMS=y 980CONFIG_NETWORK_FILESYSTEMS=y
@@ -1043,6 +1044,9 @@ CONFIG_NLS_ISO8859_1=m
1043# CONFIG_NLS_KOI8_U is not set 1044# CONFIG_NLS_KOI8_U is not set
1044# CONFIG_NLS_UTF8 is not set 1045# CONFIG_NLS_UTF8 is not set
1045# CONFIG_DLM is not set 1046# CONFIG_DLM is not set
1047CONFIG_INSTRUMENTATION=y
1048# CONFIG_PROFILING is not set
1049# CONFIG_MARKERS is not set
1046 1050
1047# 1051#
1048# Kernel hacking 1052# Kernel hacking
@@ -1055,6 +1059,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1055# CONFIG_DEBUG_FS is not set 1059# CONFIG_DEBUG_FS is not set
1056# CONFIG_HEADERS_CHECK is not set 1060# CONFIG_HEADERS_CHECK is not set
1057# CONFIG_DEBUG_KERNEL is not set 1061# CONFIG_DEBUG_KERNEL is not set
1062# CONFIG_SLUB_DEBUG_ON is not set
1058CONFIG_DEBUG_BUGVERBOSE=y 1063CONFIG_DEBUG_BUGVERBOSE=y
1059CONFIG_FRAME_POINTER=y 1064CONFIG_FRAME_POINTER=y
1060# CONFIG_SAMPLES is not set 1065# CONFIG_SAMPLES is not set
@@ -1066,51 +1071,7 @@ CONFIG_FRAME_POINTER=y
1066# CONFIG_KEYS is not set 1071# CONFIG_KEYS is not set
1067# CONFIG_SECURITY is not set 1072# CONFIG_SECURITY is not set
1068# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1073# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1069CONFIG_CRYPTO=y 1074# CONFIG_CRYPTO is not set
1070# CONFIG_CRYPTO_SEQIV is not set
1071# CONFIG_CRYPTO_MANAGER is not set
1072# CONFIG_CRYPTO_HMAC is not set
1073# CONFIG_CRYPTO_XCBC is not set
1074# CONFIG_CRYPTO_NULL is not set
1075# CONFIG_CRYPTO_MD4 is not set
1076# CONFIG_CRYPTO_MD5 is not set
1077# CONFIG_CRYPTO_SHA1 is not set
1078# CONFIG_CRYPTO_SHA256 is not set
1079# CONFIG_CRYPTO_SHA512 is not set
1080# CONFIG_CRYPTO_WP512 is not set
1081# CONFIG_CRYPTO_TGR192 is not set
1082# CONFIG_CRYPTO_GF128MUL is not set
1083# CONFIG_CRYPTO_ECB is not set
1084# CONFIG_CRYPTO_CBC is not set
1085# CONFIG_CRYPTO_PCBC is not set
1086# CONFIG_CRYPTO_LRW is not set
1087# CONFIG_CRYPTO_XTS is not set
1088# CONFIG_CRYPTO_CTR is not set
1089# CONFIG_CRYPTO_GCM is not set
1090# CONFIG_CRYPTO_CCM is not set
1091# CONFIG_CRYPTO_CRYPTD is not set
1092# CONFIG_CRYPTO_DES is not set
1093# CONFIG_CRYPTO_FCRYPT is not set
1094# CONFIG_CRYPTO_BLOWFISH is not set
1095# CONFIG_CRYPTO_TWOFISH is not set
1096# CONFIG_CRYPTO_SERPENT is not set
1097# CONFIG_CRYPTO_AES is not set
1098# CONFIG_CRYPTO_CAST5 is not set
1099# CONFIG_CRYPTO_CAST6 is not set
1100# CONFIG_CRYPTO_TEA is not set
1101# CONFIG_CRYPTO_ARC4 is not set
1102# CONFIG_CRYPTO_KHAZAD is not set
1103# CONFIG_CRYPTO_ANUBIS is not set
1104# CONFIG_CRYPTO_SEED is not set
1105# CONFIG_CRYPTO_SALSA20 is not set
1106# CONFIG_CRYPTO_DEFLATE is not set
1107# CONFIG_CRYPTO_MICHAEL_MIC is not set
1108# CONFIG_CRYPTO_CRC32C is not set
1109# CONFIG_CRYPTO_CAMELLIA is not set
1110# CONFIG_CRYPTO_TEST is not set
1111# CONFIG_CRYPTO_AUTHENC is not set
1112# CONFIG_CRYPTO_LZO is not set
1113CONFIG_CRYPTO_HW=y
1114 1075
1115# 1076#
1116# Library routines 1077# Library routines
diff --git a/arch/arm/configs/omap_perseus2_730_defconfig b/arch/arm/configs/omap_perseus2_730_defconfig
new file mode 100644
index 000000000000..b94800c0e000
--- /dev/null
+++ b/arch/arm/configs/omap_perseus2_730_defconfig
@@ -0,0 +1,928 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc6-omap1
4# Tue Sep 18 11:45:12 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36CONFIG_LOCALVERSION_AUTO=y
37CONFIG_SWAP=y
38CONFIG_SYSVIPC=y
39CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set
41# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set
43# CONFIG_USER_NS is not set
44# CONFIG_AUDIT is not set
45# CONFIG_IKCONFIG is not set
46CONFIG_LOG_BUF_SHIFT=14
47CONFIG_SYSFS_DEPRECATED=y
48# CONFIG_RELAY is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53# CONFIG_EMBEDDED is not set
54CONFIG_UID16=y
55CONFIG_SYSCTL_SYSCALL=y
56CONFIG_KALLSYMS=y
57# CONFIG_KALLSYMS_EXTRA_PASS is not set
58CONFIG_HOTPLUG=y
59CONFIG_PRINTK=y
60CONFIG_BUG=y
61CONFIG_ELF_CORE=y
62CONFIG_BASE_FULL=y
63CONFIG_FUTEX=y
64CONFIG_ANON_INODES=y
65CONFIG_EPOLL=y
66CONFIG_SIGNALFD=y
67CONFIG_TIMERFD=y
68CONFIG_EVENTFD=y
69CONFIG_SHMEM=y
70CONFIG_VM_EVENT_COUNTERS=y
71CONFIG_SLAB=y
72# CONFIG_SLUB is not set
73# CONFIG_SLOB is not set
74CONFIG_RT_MUTEXES=y
75# CONFIG_TINY_SHMEM is not set
76CONFIG_BASE_SMALL=0
77CONFIG_MODULES=y
78CONFIG_MODULE_UNLOAD=y
79# CONFIG_MODULE_FORCE_UNLOAD is not set
80# CONFIG_MODVERSIONS is not set
81# CONFIG_MODULE_SRCVERSION_ALL is not set
82CONFIG_KMOD=y
83CONFIG_BLOCK=y
84# CONFIG_LBD is not set
85# CONFIG_BLK_DEV_IO_TRACE is not set
86# CONFIG_LSF is not set
87# CONFIG_BLK_DEV_BSG is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94CONFIG_IOSCHED_DEADLINE=y
95CONFIG_IOSCHED_CFQ=y
96# CONFIG_DEFAULT_AS is not set
97# CONFIG_DEFAULT_DEADLINE is not set
98CONFIG_DEFAULT_CFQ=y
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="cfq"
101
102#
103# System Type
104#
105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_INTEGRATOR is not set
107# CONFIG_ARCH_REALVIEW is not set
108# CONFIG_ARCH_VERSATILE is not set
109# CONFIG_ARCH_AT91 is not set
110# CONFIG_ARCH_CLPS7500 is not set
111# CONFIG_ARCH_CLPS711X is not set
112# CONFIG_ARCH_CO285 is not set
113# CONFIG_ARCH_EBSA110 is not set
114# CONFIG_ARCH_EP93XX is not set
115# CONFIG_ARCH_FOOTBRIDGE is not set
116# CONFIG_ARCH_NETX is not set
117# CONFIG_ARCH_H720X is not set
118# CONFIG_ARCH_IMX is not set
119# CONFIG_ARCH_IOP13XX is not set
120# CONFIG_ARCH_IOP32X is not set
121# CONFIG_ARCH_IOP33X is not set
122# CONFIG_ARCH_IXP23XX is not set
123# CONFIG_ARCH_IXP2000 is not set
124# CONFIG_ARCH_IXP4XX is not set
125# CONFIG_ARCH_L7200 is not set
126# CONFIG_ARCH_KS8695 is not set
127# CONFIG_ARCH_NS9XXX is not set
128# CONFIG_ARCH_MXC is not set
129# CONFIG_ARCH_PNX4008 is not set
130# CONFIG_ARCH_PXA is not set
131# CONFIG_ARCH_RPC is not set
132# CONFIG_ARCH_SA1100 is not set
133# CONFIG_ARCH_S3C2410 is not set
134# CONFIG_ARCH_SHARK is not set
135# CONFIG_ARCH_LH7A40X is not set
136# CONFIG_ARCH_DAVINCI is not set
137CONFIG_ARCH_OMAP=y
138
139#
140# TI OMAP Implementations
141#
142CONFIG_ARCH_OMAP_OTG=y
143CONFIG_ARCH_OMAP1=y
144# CONFIG_ARCH_OMAP2 is not set
145# CONFIG_ARCH_OMAP3 is not set
146
147#
148# OMAP Feature Selections
149#
150# CONFIG_OMAP_RESET_CLOCKS is not set
151# CONFIG_OMAP_BOOT_TAG is not set
152# CONFIG_OMAP_GPIO_SWITCH is not set
153CONFIG_OMAP_MUX=y
154# CONFIG_OMAP_MUX_DEBUG is not set
155CONFIG_OMAP_MUX_WARNINGS=y
156CONFIG_OMAP_MCBSP=y
157# CONFIG_OMAP_MMU_FWK is not set
158# CONFIG_OMAP_MBOX_FWK is not set
159CONFIG_OMAP_MPU_TIMER=y
160# CONFIG_OMAP_32K_TIMER is not set
161CONFIG_OMAP_LL_DEBUG_UART1=y
162# CONFIG_OMAP_LL_DEBUG_UART2 is not set
163# CONFIG_OMAP_LL_DEBUG_UART3 is not set
164CONFIG_OMAP_SERIAL_WAKE=y
165
166#
167# OMAP Core Type
168#
169CONFIG_ARCH_OMAP730=y
170# CONFIG_ARCH_OMAP15XX is not set
171# CONFIG_ARCH_OMAP16XX is not set
172
173#
174# OMAP Board Type
175#
176CONFIG_MACH_OMAP_PERSEUS2=y
177# CONFIG_MACH_OMAP_FSAMPLE is not set
178
179#
180# OMAP CPU Speed
181#
182# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
183# CONFIG_OMAP_ARM_195MHZ is not set
184CONFIG_OMAP_ARM_182MHZ=y
185# CONFIG_OMAP_ARM_168MHZ is not set
186# CONFIG_OMAP_ARM_120MHZ is not set
187# CONFIG_OMAP_ARM_60MHZ is not set
188# CONFIG_OMAP_ARM_30MHZ is not set
189# CONFIG_MACH_OMAP_APOLLON_PLUS is not set
190
191#
192# Boot options
193#
194
195#
196# Power management
197#
198
199#
200# Processor Type
201#
202CONFIG_CPU_32=y
203CONFIG_CPU_ARM926T=y
204CONFIG_CPU_32v5=y
205CONFIG_CPU_ABRT_EV5TJ=y
206CONFIG_CPU_PABRT_NOIFAR=y
207CONFIG_CPU_CACHE_VIVT=y
208CONFIG_CPU_COPY_V4WB=y
209CONFIG_CPU_TLB_V4WBI=y
210CONFIG_CPU_CP15=y
211CONFIG_CPU_CP15_MMU=y
212
213#
214# Processor Features
215#
216# CONFIG_ARM_THUMB is not set
217# CONFIG_CPU_ICACHE_DISABLE is not set
218# CONFIG_CPU_DCACHE_DISABLE is not set
219# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
220# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
221# CONFIG_OUTER_CACHE is not set
222
223#
224# Bus support
225#
226# CONFIG_PCI_SYSCALL is not set
227# CONFIG_ARCH_SUPPORTS_MSI is not set
228
229#
230# PCCARD (PCMCIA/CardBus) support
231#
232# CONFIG_PCCARD is not set
233
234#
235# Kernel Features
236#
237# CONFIG_TICK_ONESHOT is not set
238# CONFIG_NO_HZ is not set
239# CONFIG_HIGH_RES_TIMERS is not set
240CONFIG_PREEMPT=y
241CONFIG_HZ=100
242# CONFIG_AEABI is not set
243# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
244CONFIG_SELECT_MEMORY_MODEL=y
245CONFIG_FLATMEM_MANUAL=y
246# CONFIG_DISCONTIGMEM_MANUAL is not set
247# CONFIG_SPARSEMEM_MANUAL is not set
248CONFIG_FLATMEM=y
249CONFIG_FLAT_NODE_MEM_MAP=y
250# CONFIG_SPARSEMEM_STATIC is not set
251CONFIG_SPLIT_PTLOCK_CPUS=4096
252# CONFIG_RESOURCES_64BIT is not set
253CONFIG_ZONE_DMA_FLAG=1
254CONFIG_BOUNCE=y
255CONFIG_VIRT_TO_BUS=y
256CONFIG_LEDS=y
257CONFIG_LEDS_CPU=y
258CONFIG_ALIGNMENT_TRAP=y
259
260#
261# Boot options
262#
263CONFIG_ZBOOT_ROM_TEXT=0x0
264CONFIG_ZBOOT_ROM_BSS=0x0
265CONFIG_CMDLINE="mem=32M console=ttyS0,115200 ip=dhcp"
266# CONFIG_XIP_KERNEL is not set
267# CONFIG_KEXEC is not set
268
269#
270# CPU Frequency scaling
271#
272# CONFIG_CPU_FREQ is not set
273
274#
275# Floating point emulation
276#
277
278#
279# At least one emulation must be selected
280#
281CONFIG_FPE_NWFPE=y
282# CONFIG_FPE_NWFPE_XP is not set
283# CONFIG_FPE_FASTFPE is not set
284# CONFIG_VFP is not set
285
286#
287# Userspace binary formats
288#
289CONFIG_BINFMT_ELF=y
290# CONFIG_BINFMT_AOUT is not set
291# CONFIG_BINFMT_MISC is not set
292# CONFIG_ARTHUR is not set
293
294#
295# Power management options
296#
297CONFIG_PM=y
298# CONFIG_PM_LEGACY is not set
299# CONFIG_PM_DEBUG is not set
300CONFIG_PM_SLEEP=y
301CONFIG_SUSPEND_UP_POSSIBLE=y
302CONFIG_SUSPEND=y
303# CONFIG_APM_EMULATION is not set
304
305#
306# Networking
307#
308CONFIG_NET=y
309
310#
311# Networking options
312#
313CONFIG_PACKET=y
314# CONFIG_PACKET_MMAP is not set
315CONFIG_UNIX=y
316CONFIG_XFRM=y
317# CONFIG_XFRM_USER is not set
318# CONFIG_XFRM_SUB_POLICY is not set
319# CONFIG_XFRM_MIGRATE is not set
320# CONFIG_NET_KEY is not set
321CONFIG_INET=y
322CONFIG_IP_MULTICAST=y
323# CONFIG_IP_ADVANCED_ROUTER is not set
324CONFIG_IP_FIB_HASH=y
325CONFIG_IP_PNP=y
326CONFIG_IP_PNP_DHCP=y
327CONFIG_IP_PNP_BOOTP=y
328# CONFIG_IP_PNP_RARP is not set
329# CONFIG_NET_IPIP is not set
330# CONFIG_NET_IPGRE is not set
331# CONFIG_IP_MROUTE is not set
332# CONFIG_ARPD is not set
333# CONFIG_SYN_COOKIES is not set
334# CONFIG_INET_AH is not set
335# CONFIG_INET_ESP is not set
336# CONFIG_INET_IPCOMP is not set
337# CONFIG_INET_XFRM_TUNNEL is not set
338# CONFIG_INET_TUNNEL is not set
339CONFIG_INET_XFRM_MODE_TRANSPORT=y
340CONFIG_INET_XFRM_MODE_TUNNEL=y
341CONFIG_INET_XFRM_MODE_BEET=y
342CONFIG_INET_DIAG=y
343CONFIG_INET_TCP_DIAG=y
344# CONFIG_TCP_CONG_ADVANCED is not set
345CONFIG_TCP_CONG_CUBIC=y
346CONFIG_DEFAULT_TCP_CONG="cubic"
347# CONFIG_TCP_MD5SIG is not set
348# CONFIG_IPV6 is not set
349# CONFIG_INET6_XFRM_TUNNEL is not set
350# CONFIG_INET6_TUNNEL is not set
351# CONFIG_NETWORK_SECMARK is not set
352# CONFIG_NETFILTER is not set
353# CONFIG_IP_DCCP is not set
354# CONFIG_IP_SCTP is not set
355# CONFIG_TIPC is not set
356# CONFIG_ATM is not set
357# CONFIG_BRIDGE is not set
358# CONFIG_VLAN_8021Q is not set
359# CONFIG_DECNET is not set
360# CONFIG_LLC2 is not set
361# CONFIG_IPX is not set
362# CONFIG_ATALK is not set
363# CONFIG_X25 is not set
364# CONFIG_LAPB is not set
365# CONFIG_ECONET is not set
366# CONFIG_WAN_ROUTER is not set
367
368#
369# QoS and/or fair queueing
370#
371# CONFIG_NET_SCHED is not set
372
373#
374# Network testing
375#
376# CONFIG_NET_PKTGEN is not set
377# CONFIG_HAMRADIO is not set
378# CONFIG_IRDA is not set
379# CONFIG_BT is not set
380# CONFIG_AF_RXRPC is not set
381
382#
383# Wireless
384#
385# CONFIG_CFG80211 is not set
386# CONFIG_WIRELESS_EXT is not set
387# CONFIG_MAC80211 is not set
388# CONFIG_IEEE80211 is not set
389# CONFIG_RFKILL is not set
390# CONFIG_NET_9P is not set
391
392#
393# Device Drivers
394#
395
396#
397# Generic Driver Options
398#
399CONFIG_STANDALONE=y
400CONFIG_PREVENT_FIRMWARE_BUILD=y
401# CONFIG_FW_LOADER is not set
402# CONFIG_SYS_HYPERVISOR is not set
403# CONFIG_CONNECTOR is not set
404CONFIG_MTD=y
405# CONFIG_MTD_DEBUG is not set
406# CONFIG_MTD_CONCAT is not set
407CONFIG_MTD_PARTITIONS=y
408# CONFIG_MTD_REDBOOT_PARTS is not set
409CONFIG_MTD_CMDLINE_PARTS=y
410# CONFIG_MTD_AFS_PARTS is not set
411
412#
413# User Modules And Translation Layers
414#
415CONFIG_MTD_CHAR=y
416CONFIG_MTD_BLKDEVS=y
417CONFIG_MTD_BLOCK=y
418# CONFIG_FTL is not set
419# CONFIG_NFTL is not set
420# CONFIG_INFTL is not set
421# CONFIG_RFD_FTL is not set
422# CONFIG_SSFDC is not set
423
424#
425# RAM/ROM/Flash chip drivers
426#
427CONFIG_MTD_CFI=y
428# CONFIG_MTD_JEDECPROBE is not set
429CONFIG_MTD_GEN_PROBE=y
430# CONFIG_MTD_CFI_ADV_OPTIONS is not set
431CONFIG_MTD_MAP_BANK_WIDTH_1=y
432CONFIG_MTD_MAP_BANK_WIDTH_2=y
433CONFIG_MTD_MAP_BANK_WIDTH_4=y
434# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
435# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
436# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
437CONFIG_MTD_CFI_I1=y
438CONFIG_MTD_CFI_I2=y
439# CONFIG_MTD_CFI_I4 is not set
440# CONFIG_MTD_CFI_I8 is not set
441CONFIG_MTD_CFI_INTELEXT=y
442# CONFIG_MTD_CFI_AMDSTD is not set
443# CONFIG_MTD_CFI_STAA is not set
444CONFIG_MTD_CFI_UTIL=y
445# CONFIG_MTD_RAM is not set
446# CONFIG_MTD_ROM is not set
447# CONFIG_MTD_ABSENT is not set
448
449#
450# Mapping drivers for chip access
451#
452# CONFIG_MTD_COMPLEX_MAPPINGS is not set
453# CONFIG_MTD_PHYSMAP is not set
454# CONFIG_MTD_ARM_INTEGRATOR is not set
455CONFIG_MTD_OMAP_NOR=y
456# CONFIG_MTD_PLATRAM is not set
457
458#
459# Self-contained MTD device drivers
460#
461# CONFIG_MTD_SLRAM is not set
462# CONFIG_MTD_PHRAM is not set
463# CONFIG_MTD_MTDRAM is not set
464# CONFIG_MTD_BLOCK2MTD is not set
465
466#
467# Disk-On-Chip Device Drivers
468#
469# CONFIG_MTD_DOC2000 is not set
470# CONFIG_MTD_DOC2001 is not set
471# CONFIG_MTD_DOC2001PLUS is not set
472CONFIG_MTD_NAND=y
473# CONFIG_MTD_NAND_VERIFY_WRITE is not set
474# CONFIG_MTD_NAND_ECC_SMC is not set
475# CONFIG_MTD_NAND_MUSEUM_IDS is not set
476CONFIG_MTD_NAND_OMAP=y
477CONFIG_MTD_NAND_IDS=y
478# CONFIG_MTD_NAND_DISKONCHIP is not set
479# CONFIG_MTD_NAND_NANDSIM is not set
480# CONFIG_MTD_NAND_PLATFORM is not set
481# CONFIG_MTD_ONENAND is not set
482
483#
484# UBI - Unsorted block images
485#
486# CONFIG_MTD_UBI is not set
487# CONFIG_PARPORT is not set
488CONFIG_BLK_DEV=y
489# CONFIG_BLK_DEV_COW_COMMON is not set
490CONFIG_BLK_DEV_LOOP=y
491# CONFIG_BLK_DEV_CRYPTOLOOP is not set
492# CONFIG_BLK_DEV_NBD is not set
493CONFIG_BLK_DEV_RAM=y
494CONFIG_BLK_DEV_RAM_COUNT=16
495CONFIG_BLK_DEV_RAM_SIZE=8192
496CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
497# CONFIG_CDROM_PKTCDVD is not set
498# CONFIG_ATA_OVER_ETH is not set
499
500#
501# SCSI device support
502#
503# CONFIG_RAID_ATTRS is not set
504# CONFIG_SCSI is not set
505# CONFIG_SCSI_DMA is not set
506# CONFIG_SCSI_NETLINK is not set
507# CONFIG_ATA is not set
508# CONFIG_MD is not set
509CONFIG_NETDEVICES=y
510# CONFIG_NETDEVICES_MULTIQUEUE is not set
511# CONFIG_DUMMY is not set
512# CONFIG_BONDING is not set
513# CONFIG_MACVLAN is not set
514# CONFIG_EQUALIZER is not set
515# CONFIG_TUN is not set
516# CONFIG_PHYLIB is not set
517CONFIG_NET_ETHERNET=y
518CONFIG_MII=y
519# CONFIG_AX88796 is not set
520CONFIG_SMC91X=y
521# CONFIG_DM9000 is not set
522CONFIG_NETDEV_1000=y
523CONFIG_NETDEV_10000=y
524
525#
526# Wireless LAN
527#
528# CONFIG_WLAN_PRE80211 is not set
529# CONFIG_WLAN_80211 is not set
530# CONFIG_WAN is not set
531# CONFIG_PPP is not set
532# CONFIG_SLIP is not set
533# CONFIG_SHAPER is not set
534# CONFIG_NETCONSOLE is not set
535# CONFIG_NETPOLL is not set
536# CONFIG_NET_POLL_CONTROLLER is not set
537# CONFIG_ISDN is not set
538
539#
540# Input device support
541#
542CONFIG_INPUT=y
543# CONFIG_INPUT_FF_MEMLESS is not set
544# CONFIG_INPUT_POLLDEV is not set
545
546#
547# Userland interfaces
548#
549CONFIG_INPUT_MOUSEDEV=y
550CONFIG_INPUT_MOUSEDEV_PSAUX=y
551CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
552CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
553# CONFIG_INPUT_JOYDEV is not set
554# CONFIG_INPUT_TSDEV is not set
555# CONFIG_INPUT_EVDEV is not set
556# CONFIG_INPUT_EVBUG is not set
557
558#
559# Input Device Drivers
560#
561CONFIG_INPUT_KEYBOARD=y
562# CONFIG_KEYBOARD_ATKBD is not set
563# CONFIG_KEYBOARD_SUNKBD is not set
564# CONFIG_KEYBOARD_LKKBD is not set
565# CONFIG_KEYBOARD_XTKBD is not set
566# CONFIG_KEYBOARD_NEWTON is not set
567# CONFIG_KEYBOARD_STOWAWAY is not set
568CONFIG_KEYBOARD_OMAP=y
569# CONFIG_KEYBOARD_GPIO is not set
570# CONFIG_INPUT_MOUSE is not set
571# CONFIG_INPUT_JOYSTICK is not set
572# CONFIG_INPUT_TABLET is not set
573# CONFIG_INPUT_TOUCHSCREEN is not set
574# CONFIG_INPUT_MISC is not set
575
576#
577# Hardware I/O ports
578#
579CONFIG_SERIO=y
580CONFIG_SERIO_SERPORT=y
581# CONFIG_SERIO_RAW is not set
582# CONFIG_GAMEPORT is not set
583
584#
585# Character devices
586#
587CONFIG_VT=y
588CONFIG_VT_CONSOLE=y
589CONFIG_HW_CONSOLE=y
590# CONFIG_VT_HW_CONSOLE_BINDING is not set
591# CONFIG_SERIAL_NONSTANDARD is not set
592
593#
594# Serial drivers
595#
596CONFIG_SERIAL_8250=y
597CONFIG_SERIAL_8250_CONSOLE=y
598CONFIG_SERIAL_8250_NR_UARTS=4
599CONFIG_SERIAL_8250_RUNTIME_UARTS=4
600# CONFIG_SERIAL_8250_EXTENDED is not set
601
602#
603# Non-8250 serial port support
604#
605CONFIG_SERIAL_CORE=y
606CONFIG_SERIAL_CORE_CONSOLE=y
607CONFIG_UNIX98_PTYS=y
608# CONFIG_LEGACY_PTYS is not set
609# CONFIG_IPMI_HANDLER is not set
610# CONFIG_WATCHDOG is not set
611CONFIG_HW_RANDOM=m
612# CONFIG_NVRAM is not set
613# CONFIG_R3964 is not set
614# CONFIG_RAW_DRIVER is not set
615# CONFIG_TCG_TPM is not set
616# CONFIG_I2C is not set
617
618#
619# SPI support
620#
621# CONFIG_SPI is not set
622# CONFIG_SPI_MASTER is not set
623# CONFIG_W1 is not set
624CONFIG_HWMON=y
625# CONFIG_HWMON_VID is not set
626# CONFIG_SENSORS_ABITUGURU is not set
627# CONFIG_SENSORS_ABITUGURU3 is not set
628# CONFIG_SENSORS_F71805F is not set
629# CONFIG_SENSORS_IT87 is not set
630# CONFIG_SENSORS_PC87360 is not set
631# CONFIG_SENSORS_PC87427 is not set
632# CONFIG_SENSORS_SMSC47M1 is not set
633# CONFIG_SENSORS_SMSC47B397 is not set
634# CONFIG_SENSORS_VT1211 is not set
635# CONFIG_SENSORS_W83627HF is not set
636# CONFIG_SENSORS_W83627EHF is not set
637# CONFIG_HWMON_DEBUG_CHIP is not set
638CONFIG_MISC_DEVICES=y
639# CONFIG_EEPROM_93CX6 is not set
640
641#
642# Multifunction device drivers
643#
644# CONFIG_MFD_SM501 is not set
645# CONFIG_NEW_LEDS is not set
646
647#
648# Multimedia devices
649#
650# CONFIG_VIDEO_DEV is not set
651# CONFIG_DVB_CORE is not set
652CONFIG_DAB=y
653
654#
655# Graphics support
656#
657# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
658
659#
660# Display device support
661#
662# CONFIG_DISPLAY_SUPPORT is not set
663# CONFIG_VGASTATE is not set
664CONFIG_VIDEO_OUTPUT_CONTROL=m
665CONFIG_FB=y
666# CONFIG_FIRMWARE_EDID is not set
667# CONFIG_FB_DDC is not set
668# CONFIG_FB_CFB_FILLRECT is not set
669# CONFIG_FB_CFB_COPYAREA is not set
670# CONFIG_FB_CFB_IMAGEBLIT is not set
671CONFIG_FB_SYS_FILLRECT=y
672CONFIG_FB_SYS_COPYAREA=y
673CONFIG_FB_SYS_IMAGEBLIT=y
674CONFIG_FB_SYS_FOPS=y
675CONFIG_FB_DEFERRED_IO=y
676# CONFIG_FB_SVGALIB is not set
677# CONFIG_FB_MACMODES is not set
678# CONFIG_FB_BACKLIGHT is not set
679CONFIG_FB_MODE_HELPERS=y
680# CONFIG_FB_TILEBLITTING is not set
681
682#
683# Frame buffer hardware drivers
684#
685# CONFIG_FB_S1D13XXX is not set
686# CONFIG_FB_OMAP is not set
687CONFIG_FB_VIRTUAL=y
688
689#
690# Console display driver support
691#
692# CONFIG_VGA_CONSOLE is not set
693CONFIG_DUMMY_CONSOLE=y
694# CONFIG_FRAMEBUFFER_CONSOLE is not set
695# CONFIG_LOGO is not set
696
697#
698# Sound
699#
700# CONFIG_SOUND is not set
701CONFIG_HID_SUPPORT=y
702CONFIG_HID=y
703# CONFIG_HID_DEBUG is not set
704CONFIG_USB_SUPPORT=y
705CONFIG_USB_ARCH_HAS_HCD=y
706CONFIG_USB_ARCH_HAS_OHCI=y
707# CONFIG_USB_ARCH_HAS_EHCI is not set
708# CONFIG_USB is not set
709
710#
711# Enable Host or Gadget support to see Inventra options
712#
713
714#
715# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
716#
717
718#
719# USB Gadget Support
720#
721# CONFIG_USB_GADGET is not set
722# CONFIG_MMC is not set
723CONFIG_RTC_LIB=y
724CONFIG_RTC_CLASS=y
725CONFIG_RTC_HCTOSYS=y
726CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
727# CONFIG_RTC_DEBUG is not set
728
729#
730# RTC interfaces
731#
732CONFIG_RTC_INTF_SYSFS=y
733CONFIG_RTC_INTF_PROC=y
734CONFIG_RTC_INTF_DEV=y
735# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
736# CONFIG_RTC_DRV_TEST is not set
737
738#
739# SPI RTC drivers
740#
741
742#
743# Platform RTC drivers
744#
745# CONFIG_RTC_DRV_CMOS is not set
746# CONFIG_RTC_DRV_DS1553 is not set
747# CONFIG_RTC_DRV_STK17TA8 is not set
748# CONFIG_RTC_DRV_DS1742 is not set
749# CONFIG_RTC_DRV_M48T86 is not set
750# CONFIG_RTC_DRV_M48T59 is not set
751# CONFIG_RTC_DRV_V3020 is not set
752
753#
754# on-CPU RTC drivers
755#
756CONFIG_RTC_DRV_OMAP=y
757
758#
759# DMA Engine support
760#
761# CONFIG_DMA_ENGINE is not set
762
763#
764# DMA Clients
765#
766
767#
768# DMA Devices
769#
770
771#
772# CBUS support
773#
774# CONFIG_CBUS is not set
775
776#
777# File systems
778#
779CONFIG_EXT2_FS=y
780# CONFIG_EXT2_FS_XATTR is not set
781# CONFIG_EXT2_FS_XIP is not set
782# CONFIG_EXT3_FS is not set
783# CONFIG_EXT4DEV_FS is not set
784# CONFIG_REISERFS_FS is not set
785# CONFIG_JFS_FS is not set
786# CONFIG_FS_POSIX_ACL is not set
787# CONFIG_XFS_FS is not set
788# CONFIG_GFS2_FS is not set
789# CONFIG_OCFS2_FS is not set
790# CONFIG_MINIX_FS is not set
791# CONFIG_ROMFS_FS is not set
792CONFIG_INOTIFY=y
793CONFIG_INOTIFY_USER=y
794# CONFIG_QUOTA is not set
795CONFIG_DNOTIFY=y
796# CONFIG_AUTOFS_FS is not set
797# CONFIG_AUTOFS4_FS is not set
798# CONFIG_FUSE_FS is not set
799
800#
801# CD-ROM/DVD Filesystems
802#
803# CONFIG_ISO9660_FS is not set
804# CONFIG_UDF_FS is not set
805
806#
807# DOS/FAT/NT Filesystems
808#
809# CONFIG_MSDOS_FS is not set
810# CONFIG_VFAT_FS is not set
811# CONFIG_NTFS_FS is not set
812
813#
814# Pseudo filesystems
815#
816CONFIG_PROC_FS=y
817CONFIG_PROC_SYSCTL=y
818CONFIG_SYSFS=y
819# CONFIG_TMPFS is not set
820# CONFIG_HUGETLB_PAGE is not set
821CONFIG_RAMFS=y
822# CONFIG_CONFIGFS_FS is not set
823
824#
825# Miscellaneous filesystems
826#
827# CONFIG_ADFS_FS is not set
828# CONFIG_AFFS_FS is not set
829# CONFIG_HFS_FS is not set
830# CONFIG_HFSPLUS_FS is not set
831# CONFIG_BEFS_FS is not set
832# CONFIG_BFS_FS is not set
833# CONFIG_EFS_FS is not set
834CONFIG_JFFS2_FS=y
835CONFIG_JFFS2_FS_DEBUG=0
836CONFIG_JFFS2_FS_WRITEBUFFER=y
837# CONFIG_JFFS2_SUMMARY is not set
838# CONFIG_JFFS2_FS_XATTR is not set
839# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
840CONFIG_JFFS2_ZLIB=y
841CONFIG_JFFS2_RTIME=y
842# CONFIG_JFFS2_RUBIN is not set
843# CONFIG_CRAMFS is not set
844# CONFIG_VXFS_FS is not set
845# CONFIG_HPFS_FS is not set
846# CONFIG_QNX4FS_FS is not set
847# CONFIG_SYSV_FS is not set
848# CONFIG_UFS_FS is not set
849
850#
851# Network File Systems
852#
853CONFIG_NFS_FS=y
854# CONFIG_NFS_V3 is not set
855# CONFIG_NFS_V4 is not set
856# CONFIG_NFS_DIRECTIO is not set
857# CONFIG_NFSD is not set
858CONFIG_ROOT_NFS=y
859CONFIG_LOCKD=y
860CONFIG_NFS_COMMON=y
861CONFIG_SUNRPC=y
862# CONFIG_SUNRPC_BIND34 is not set
863# CONFIG_RPCSEC_GSS_KRB5 is not set
864# CONFIG_RPCSEC_GSS_SPKM3 is not set
865# CONFIG_SMB_FS is not set
866# CONFIG_CIFS is not set
867# CONFIG_NCP_FS is not set
868# CONFIG_CODA_FS is not set
869# CONFIG_AFS_FS is not set
870
871#
872# Partition Types
873#
874# CONFIG_PARTITION_ADVANCED is not set
875CONFIG_MSDOS_PARTITION=y
876
877#
878# Native Language Support
879#
880# CONFIG_NLS is not set
881
882#
883# Distributed Lock Manager
884#
885# CONFIG_DLM is not set
886
887#
888# Profiling support
889#
890# CONFIG_PROFILING is not set
891
892#
893# Kernel hacking
894#
895# CONFIG_PRINTK_TIME is not set
896CONFIG_ENABLE_MUST_CHECK=y
897# CONFIG_MAGIC_SYSRQ is not set
898# CONFIG_UNUSED_SYMBOLS is not set
899# CONFIG_DEBUG_FS is not set
900# CONFIG_HEADERS_CHECK is not set
901# CONFIG_DEBUG_KERNEL is not set
902CONFIG_DEBUG_BUGVERBOSE=y
903CONFIG_FRAME_POINTER=y
904# CONFIG_DEBUG_USER is not set
905
906#
907# Security options
908#
909# CONFIG_KEYS is not set
910# CONFIG_SECURITY is not set
911# CONFIG_CRYPTO is not set
912
913#
914# Library routines
915#
916CONFIG_BITREVERSE=y
917# CONFIG_CRC_CCITT is not set
918# CONFIG_CRC16 is not set
919# CONFIG_CRC_ITU_T is not set
920CONFIG_CRC32=y
921# CONFIG_CRC7 is not set
922# CONFIG_LIBCRC32C is not set
923CONFIG_ZLIB_INFLATE=y
924CONFIG_ZLIB_DEFLATE=y
925CONFIG_PLIST=y
926CONFIG_HAS_IOMEM=y
927CONFIG_HAS_IOPORT=y
928CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig
index 1464ffe71717..4017d83c9d2d 100644
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc4 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 2 23:54:48 2008 4# Fri Aug 22 12:38:51 2008
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -12,6 +12,7 @@ CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set 12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y 16CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y 17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y 18CONFIG_HARDIRQS_SW_RESEND=y
@@ -23,6 +24,7 @@ CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y 24CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ARCH_SUPPORTS_AOUT=y 25CONFIG_ARCH_SUPPORTS_AOUT=y
25CONFIG_ZONE_DMA=y 26CONFIG_ZONE_DMA=y
27CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_VECTORS_BASE=0xffff0000 28CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 29CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
28 30
@@ -56,7 +58,6 @@ CONFIG_SYSCTL=y
56CONFIG_EMBEDDED=y 58CONFIG_EMBEDDED=y
57CONFIG_UID16=y 59CONFIG_UID16=y
58CONFIG_SYSCTL_SYSCALL=y 60CONFIG_SYSCTL_SYSCALL=y
59CONFIG_SYSCTL_SYSCALL_CHECK=y
60CONFIG_KALLSYMS=y 61CONFIG_KALLSYMS=y
61CONFIG_KALLSYMS_ALL=y 62CONFIG_KALLSYMS_ALL=y
62# CONFIG_KALLSYMS_EXTRA_PASS is not set 63# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -83,11 +84,17 @@ CONFIG_PROFILING=y
83CONFIG_OPROFILE=y 84CONFIG_OPROFILE=y
84CONFIG_HAVE_OPROFILE=y 85CONFIG_HAVE_OPROFILE=y
85CONFIG_KPROBES=y 86CONFIG_KPROBES=y
87# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
86CONFIG_KRETPROBES=y 88CONFIG_KRETPROBES=y
89# CONFIG_HAVE_IOREMAP_PROT is not set
87CONFIG_HAVE_KPROBES=y 90CONFIG_HAVE_KPROBES=y
88CONFIG_HAVE_KRETPROBES=y 91CONFIG_HAVE_KRETPROBES=y
92# CONFIG_HAVE_ARCH_TRACEHOOK is not set
89# CONFIG_HAVE_DMA_ATTRS is not set 93# CONFIG_HAVE_DMA_ATTRS is not set
94# CONFIG_USE_GENERIC_SMP_HELPERS is not set
95# CONFIG_HAVE_CLK is not set
90CONFIG_PROC_PAGE_MONITOR=y 96CONFIG_PROC_PAGE_MONITOR=y
97CONFIG_HAVE_GENERIC_DMA_COHERENT=y
91CONFIG_RT_MUTEXES=y 98CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 99# CONFIG_TINY_SHMEM is not set
93CONFIG_BASE_SMALL=0 100CONFIG_BASE_SMALL=0
@@ -97,12 +104,13 @@ CONFIG_MODULE_UNLOAD=y
97# CONFIG_MODULE_FORCE_UNLOAD is not set 104# CONFIG_MODULE_FORCE_UNLOAD is not set
98# CONFIG_MODVERSIONS is not set 105# CONFIG_MODVERSIONS is not set
99# CONFIG_MODULE_SRCVERSION_ALL is not set 106# CONFIG_MODULE_SRCVERSION_ALL is not set
100# CONFIG_KMOD is not set 107CONFIG_KMOD=y
101CONFIG_BLOCK=y 108CONFIG_BLOCK=y
102# CONFIG_LBD is not set 109# CONFIG_LBD is not set
103# CONFIG_BLK_DEV_IO_TRACE is not set 110# CONFIG_BLK_DEV_IO_TRACE is not set
104# CONFIG_LSF is not set 111# CONFIG_LSF is not set
105# CONFIG_BLK_DEV_BSG is not set 112# CONFIG_BLK_DEV_BSG is not set
113# CONFIG_BLK_DEV_INTEGRITY is not set
106 114
107# 115#
108# IO Schedulers 116# IO Schedulers
@@ -128,7 +136,6 @@ CONFIG_CLASSIC_RCU=y
128# CONFIG_ARCH_AT91 is not set 136# CONFIG_ARCH_AT91 is not set
129# CONFIG_ARCH_CLPS7500 is not set 137# CONFIG_ARCH_CLPS7500 is not set
130# CONFIG_ARCH_CLPS711X is not set 138# CONFIG_ARCH_CLPS711X is not set
131# CONFIG_ARCH_CO285 is not set
132# CONFIG_ARCH_EBSA110 is not set 139# CONFIG_ARCH_EBSA110 is not set
133# CONFIG_ARCH_EP93XX is not set 140# CONFIG_ARCH_EP93XX is not set
134# CONFIG_ARCH_FOOTBRIDGE is not set 141# CONFIG_ARCH_FOOTBRIDGE is not set
@@ -142,8 +149,11 @@ CONFIG_CLASSIC_RCU=y
142# CONFIG_ARCH_IXP2000 is not set 149# CONFIG_ARCH_IXP2000 is not set
143# CONFIG_ARCH_IXP4XX is not set 150# CONFIG_ARCH_IXP4XX is not set
144# CONFIG_ARCH_L7200 is not set 151# CONFIG_ARCH_L7200 is not set
152# CONFIG_ARCH_KIRKWOOD is not set
145# CONFIG_ARCH_KS8695 is not set 153# CONFIG_ARCH_KS8695 is not set
146# CONFIG_ARCH_NS9XXX is not set 154# CONFIG_ARCH_NS9XXX is not set
155# CONFIG_ARCH_LOKI is not set
156# CONFIG_ARCH_MV78XX0 is not set
147# CONFIG_ARCH_MXC is not set 157# CONFIG_ARCH_MXC is not set
148CONFIG_ARCH_ORION5X=y 158CONFIG_ARCH_ORION5X=y
149# CONFIG_ARCH_PNX4008 is not set 159# CONFIG_ARCH_PNX4008 is not set
@@ -195,7 +205,7 @@ CONFIG_CPU_ABRT_EV5T=y
195CONFIG_CPU_PABRT_NOIFAR=y 205CONFIG_CPU_PABRT_NOIFAR=y
196CONFIG_CPU_CACHE_VIVT=y 206CONFIG_CPU_CACHE_VIVT=y
197CONFIG_CPU_COPY_FEROCEON=y 207CONFIG_CPU_COPY_FEROCEON=y
198CONFIG_CPU_TLB_V4WBI=y 208CONFIG_CPU_TLB_FEROCEON=y
199CONFIG_CPU_CP15=y 209CONFIG_CPU_CP15=y
200CONFIG_CPU_CP15_MMU=y 210CONFIG_CPU_CP15_MMU=y
201 211
@@ -280,10 +290,6 @@ CONFIG_BINFMT_ELF=y
280# 290#
281# CONFIG_PM is not set 291# CONFIG_PM is not set
282CONFIG_ARCH_SUSPEND_POSSIBLE=y 292CONFIG_ARCH_SUSPEND_POSSIBLE=y
283
284#
285# Networking
286#
287CONFIG_NET=y 293CONFIG_NET=y
288 294
289# 295#
@@ -361,6 +367,7 @@ CONFIG_NET_PKTGEN=m
361# 367#
362# CONFIG_CFG80211 is not set 368# CONFIG_CFG80211 is not set
363CONFIG_WIRELESS_EXT=y 369CONFIG_WIRELESS_EXT=y
370CONFIG_WIRELESS_EXT_SYSFS=y
364# CONFIG_MAC80211 is not set 371# CONFIG_MAC80211 is not set
365# CONFIG_IEEE80211 is not set 372# CONFIG_IEEE80211 is not set
366# CONFIG_RFKILL is not set 373# CONFIG_RFKILL is not set
@@ -377,6 +384,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
377CONFIG_STANDALONE=y 384CONFIG_STANDALONE=y
378CONFIG_PREVENT_FIRMWARE_BUILD=y 385CONFIG_PREVENT_FIRMWARE_BUILD=y
379CONFIG_FW_LOADER=y 386CONFIG_FW_LOADER=y
387# CONFIG_FIRMWARE_IN_KERNEL is not set
388CONFIG_EXTRA_FIRMWARE=""
380# CONFIG_DEBUG_DRIVER is not set 389# CONFIG_DEBUG_DRIVER is not set
381# CONFIG_DEBUG_DEVRES is not set 390# CONFIG_DEBUG_DEVRES is not set
382# CONFIG_SYS_HYPERVISOR is not set 391# CONFIG_SYS_HYPERVISOR is not set
@@ -499,6 +508,7 @@ CONFIG_MISC_DEVICES=y
499# CONFIG_SGI_IOC4 is not set 508# CONFIG_SGI_IOC4 is not set
500# CONFIG_TIFM_CORE is not set 509# CONFIG_TIFM_CORE is not set
501# CONFIG_ENCLOSURE_SERVICES is not set 510# CONFIG_ENCLOSURE_SERVICES is not set
511# CONFIG_HP_ILO is not set
502CONFIG_HAVE_IDE=y 512CONFIG_HAVE_IDE=y
503# CONFIG_IDE is not set 513# CONFIG_IDE is not set
504 514
@@ -575,6 +585,7 @@ CONFIG_SCSI_LOWLEVEL=y
575# CONFIG_SCSI_NSP32 is not set 585# CONFIG_SCSI_NSP32 is not set
576# CONFIG_SCSI_DEBUG is not set 586# CONFIG_SCSI_DEBUG is not set
577# CONFIG_SCSI_SRP is not set 587# CONFIG_SCSI_SRP is not set
588# CONFIG_SCSI_DH is not set
578CONFIG_ATA=y 589CONFIG_ATA=y
579# CONFIG_ATA_NONSTANDARD is not set 590# CONFIG_ATA_NONSTANDARD is not set
580CONFIG_SATA_PMP=y 591CONFIG_SATA_PMP=y
@@ -641,11 +652,14 @@ CONFIG_SATA_MV=y
641# 652#
642# IEEE 1394 (FireWire) support 653# IEEE 1394 (FireWire) support
643# 654#
655
656#
657# Enable only one of the two stacks, unless you know what you are doing
658#
644# CONFIG_FIREWIRE is not set 659# CONFIG_FIREWIRE is not set
645# CONFIG_IEEE1394 is not set 660# CONFIG_IEEE1394 is not set
646# CONFIG_I2O is not set 661# CONFIG_I2O is not set
647CONFIG_NETDEVICES=y 662CONFIG_NETDEVICES=y
648# CONFIG_NETDEVICES_MULTIQUEUE is not set
649# CONFIG_DUMMY is not set 663# CONFIG_DUMMY is not set
650# CONFIG_BONDING is not set 664# CONFIG_BONDING is not set
651# CONFIG_MACVLAN is not set 665# CONFIG_MACVLAN is not set
@@ -694,7 +708,6 @@ CONFIG_NETDEV_1000=y
694# CONFIG_DL2K is not set 708# CONFIG_DL2K is not set
695# CONFIG_E1000 is not set 709# CONFIG_E1000 is not set
696# CONFIG_E1000E is not set 710# CONFIG_E1000E is not set
697# CONFIG_E1000E_ENABLED is not set
698# CONFIG_IP1000 is not set 711# CONFIG_IP1000 is not set
699# CONFIG_IGB is not set 712# CONFIG_IGB is not set
700# CONFIG_NS83820 is not set 713# CONFIG_NS83820 is not set
@@ -710,6 +723,7 @@ CONFIG_NETDEV_1000=y
710CONFIG_MV643XX_ETH=y 723CONFIG_MV643XX_ETH=y
711# CONFIG_QLA3XXX is not set 724# CONFIG_QLA3XXX is not set
712# CONFIG_ATL1 is not set 725# CONFIG_ATL1 is not set
726# CONFIG_ATL1E is not set
713# CONFIG_NETDEV_10000 is not set 727# CONFIG_NETDEV_10000 is not set
714# CONFIG_TR is not set 728# CONFIG_TR is not set
715 729
@@ -815,44 +829,65 @@ CONFIG_DEVPORT=y
815CONFIG_I2C=y 829CONFIG_I2C=y
816CONFIG_I2C_BOARDINFO=y 830CONFIG_I2C_BOARDINFO=y
817CONFIG_I2C_CHARDEV=y 831CONFIG_I2C_CHARDEV=y
832CONFIG_I2C_HELPER_AUTO=y
818 833
819# 834#
820# I2C Hardware Bus support 835# I2C Hardware Bus support
821# 836#
837
838#
839# PC SMBus host controller drivers
840#
822# CONFIG_I2C_ALI1535 is not set 841# CONFIG_I2C_ALI1535 is not set
823# CONFIG_I2C_ALI1563 is not set 842# CONFIG_I2C_ALI1563 is not set
824# CONFIG_I2C_ALI15X3 is not set 843# CONFIG_I2C_ALI15X3 is not set
825# CONFIG_I2C_AMD756 is not set 844# CONFIG_I2C_AMD756 is not set
826# CONFIG_I2C_AMD8111 is not set 845# CONFIG_I2C_AMD8111 is not set
827# CONFIG_I2C_GPIO is not set
828# CONFIG_I2C_I801 is not set 846# CONFIG_I2C_I801 is not set
829# CONFIG_I2C_I810 is not set 847# CONFIG_I2C_ISCH is not set
830# CONFIG_I2C_PIIX4 is not set 848# CONFIG_I2C_PIIX4 is not set
831# CONFIG_I2C_NFORCE2 is not set 849# CONFIG_I2C_NFORCE2 is not set
832# CONFIG_I2C_OCORES is not set
833# CONFIG_I2C_PARPORT_LIGHT is not set
834# CONFIG_I2C_PROSAVAGE is not set
835# CONFIG_I2C_SAVAGE4 is not set
836# CONFIG_I2C_SIMTEC is not set
837# CONFIG_I2C_SIS5595 is not set 850# CONFIG_I2C_SIS5595 is not set
838# CONFIG_I2C_SIS630 is not set 851# CONFIG_I2C_SIS630 is not set
839# CONFIG_I2C_SIS96X is not set 852# CONFIG_I2C_SIS96X is not set
840# CONFIG_I2C_TAOS_EVM is not set
841# CONFIG_I2C_STUB is not set
842# CONFIG_I2C_TINY_USB is not set
843# CONFIG_I2C_VIA is not set 853# CONFIG_I2C_VIA is not set
844# CONFIG_I2C_VIAPRO is not set 854# CONFIG_I2C_VIAPRO is not set
855
856#
857# I2C system bus drivers (mostly embedded / system-on-chip)
858#
859# CONFIG_I2C_GPIO is not set
860CONFIG_I2C_MV64XXX=y
861# CONFIG_I2C_OCORES is not set
862# CONFIG_I2C_SIMTEC is not set
863
864#
865# External I2C/SMBus adapter drivers
866#
867# CONFIG_I2C_PARPORT_LIGHT is not set
868# CONFIG_I2C_TAOS_EVM is not set
869# CONFIG_I2C_TINY_USB is not set
870
871#
872# Graphics adapter I2C/DDC channel drivers
873#
845# CONFIG_I2C_VOODOO3 is not set 874# CONFIG_I2C_VOODOO3 is not set
875
876#
877# Other I2C/SMBus bus drivers
878#
846# CONFIG_I2C_PCA_PLATFORM is not set 879# CONFIG_I2C_PCA_PLATFORM is not set
847CONFIG_I2C_MV64XXX=y 880# CONFIG_I2C_STUB is not set
848 881
849# 882#
850# Miscellaneous I2C Chip support 883# Miscellaneous I2C Chip support
851# 884#
852# CONFIG_DS1682 is not set 885# CONFIG_DS1682 is not set
886# CONFIG_AT24 is not set
853# CONFIG_SENSORS_EEPROM is not set 887# CONFIG_SENSORS_EEPROM is not set
854# CONFIG_SENSORS_PCF8574 is not set 888# CONFIG_SENSORS_PCF8574 is not set
855# CONFIG_PCF8575 is not set 889# CONFIG_PCF8575 is not set
890# CONFIG_SENSORS_PCA9539 is not set
856# CONFIG_SENSORS_PCF8591 is not set 891# CONFIG_SENSORS_PCF8591 is not set
857# CONFIG_SENSORS_MAX6875 is not set 892# CONFIG_SENSORS_MAX6875 is not set
858# CONFIG_SENSORS_TSL2550 is not set 893# CONFIG_SENSORS_TSL2550 is not set
@@ -865,6 +900,7 @@ CONFIG_I2C_MV64XXX=y
865# CONFIG_POWER_SUPPLY is not set 900# CONFIG_POWER_SUPPLY is not set
866CONFIG_HWMON=y 901CONFIG_HWMON=y
867# CONFIG_HWMON_VID is not set 902# CONFIG_HWMON_VID is not set
903# CONFIG_SENSORS_AD7414 is not set
868# CONFIG_SENSORS_AD7418 is not set 904# CONFIG_SENSORS_AD7418 is not set
869# CONFIG_SENSORS_ADM1021 is not set 905# CONFIG_SENSORS_ADM1021 is not set
870# CONFIG_SENSORS_ADM1025 is not set 906# CONFIG_SENSORS_ADM1025 is not set
@@ -884,7 +920,7 @@ CONFIG_HWMON=y
884# CONFIG_SENSORS_GL520SM is not set 920# CONFIG_SENSORS_GL520SM is not set
885# CONFIG_SENSORS_IT87 is not set 921# CONFIG_SENSORS_IT87 is not set
886# CONFIG_SENSORS_LM63 is not set 922# CONFIG_SENSORS_LM63 is not set
887# CONFIG_SENSORS_LM75 is not set 923CONFIG_SENSORS_LM75=y
888# CONFIG_SENSORS_LM77 is not set 924# CONFIG_SENSORS_LM77 is not set
889# CONFIG_SENSORS_LM78 is not set 925# CONFIG_SENSORS_LM78 is not set
890# CONFIG_SENSORS_LM80 is not set 926# CONFIG_SENSORS_LM80 is not set
@@ -928,9 +964,12 @@ CONFIG_SSB_POSSIBLE=y
928# 964#
929# Multifunction device drivers 965# Multifunction device drivers
930# 966#
967# CONFIG_MFD_CORE is not set
931# CONFIG_MFD_SM501 is not set 968# CONFIG_MFD_SM501 is not set
932# CONFIG_MFD_ASIC3 is not set
933# CONFIG_HTC_PASIC3 is not set 969# CONFIG_HTC_PASIC3 is not set
970# CONFIG_MFD_TMIO is not set
971# CONFIG_MFD_T7L66XB is not set
972# CONFIG_MFD_TC6387XB is not set
934 973
935# 974#
936# Multimedia devices 975# Multimedia devices
@@ -961,10 +1000,6 @@ CONFIG_SSB_POSSIBLE=y
961# Display device support 1000# Display device support
962# 1001#
963# CONFIG_DISPLAY_SUPPORT is not set 1002# CONFIG_DISPLAY_SUPPORT is not set
964
965#
966# Sound
967#
968# CONFIG_SOUND is not set 1003# CONFIG_SOUND is not set
969CONFIG_HID_SUPPORT=y 1004CONFIG_HID_SUPPORT=y
970CONFIG_HID=y 1005CONFIG_HID=y
@@ -995,6 +1030,7 @@ CONFIG_USB_DEVICE_CLASS=y
995# CONFIG_USB_OTG is not set 1030# CONFIG_USB_OTG is not set
996# CONFIG_USB_OTG_WHITELIST is not set 1031# CONFIG_USB_OTG_WHITELIST is not set
997# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1032# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1033# CONFIG_USB_MON is not set
998 1034
999# 1035#
1000# USB Host Controller Drivers 1036# USB Host Controller Drivers
@@ -1037,6 +1073,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1037# CONFIG_USB_STORAGE_ALAUDA is not set 1073# CONFIG_USB_STORAGE_ALAUDA is not set
1038# CONFIG_USB_STORAGE_ONETOUCH is not set 1074# CONFIG_USB_STORAGE_ONETOUCH is not set
1039# CONFIG_USB_STORAGE_KARMA is not set 1075# CONFIG_USB_STORAGE_KARMA is not set
1076# CONFIG_USB_STORAGE_SIERRA is not set
1040# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1077# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1041# CONFIG_USB_LIBUSUAL is not set 1078# CONFIG_USB_LIBUSUAL is not set
1042 1079
@@ -1045,7 +1082,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1045# 1082#
1046# CONFIG_USB_MDC800 is not set 1083# CONFIG_USB_MDC800 is not set
1047# CONFIG_USB_MICROTEK is not set 1084# CONFIG_USB_MICROTEK is not set
1048# CONFIG_USB_MON is not set
1049 1085
1050# 1086#
1051# USB port drivers 1087# USB port drivers
@@ -1058,7 +1094,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1058# CONFIG_USB_EMI62 is not set 1094# CONFIG_USB_EMI62 is not set
1059# CONFIG_USB_EMI26 is not set 1095# CONFIG_USB_EMI26 is not set
1060# CONFIG_USB_ADUTUX is not set 1096# CONFIG_USB_ADUTUX is not set
1061# CONFIG_USB_AUERSWALD is not set
1062# CONFIG_USB_RIO500 is not set 1097# CONFIG_USB_RIO500 is not set
1063# CONFIG_USB_LEGOTOWER is not set 1098# CONFIG_USB_LEGOTOWER is not set
1064# CONFIG_USB_LCD is not set 1099# CONFIG_USB_LCD is not set
@@ -1084,7 +1119,9 @@ CONFIG_LEDS_CLASS=y
1084# 1119#
1085# LED drivers 1120# LED drivers
1086# 1121#
1122# CONFIG_LEDS_PCA9532 is not set
1087CONFIG_LEDS_GPIO=y 1123CONFIG_LEDS_GPIO=y
1124# CONFIG_LEDS_PCA955X is not set
1088 1125
1089# 1126#
1090# LED Triggers 1127# LED Triggers
@@ -1123,6 +1160,7 @@ CONFIG_RTC_DRV_PCF8563=y
1123CONFIG_RTC_DRV_M41T80=y 1160CONFIG_RTC_DRV_M41T80=y
1124# CONFIG_RTC_DRV_M41T80_WDT is not set 1161# CONFIG_RTC_DRV_M41T80_WDT is not set
1125CONFIG_RTC_DRV_S35390A=y 1162CONFIG_RTC_DRV_S35390A=y
1163# CONFIG_RTC_DRV_FM3130 is not set
1126 1164
1127# 1165#
1128# SPI RTC drivers 1166# SPI RTC drivers
@@ -1143,6 +1181,27 @@ CONFIG_RTC_DRV_S35390A=y
1143# 1181#
1144# on-CPU RTC drivers 1182# on-CPU RTC drivers
1145# 1183#
1184CONFIG_DMADEVICES=y
1185
1186#
1187# DMA Devices
1188#
1189CONFIG_MV_XOR=y
1190CONFIG_DMA_ENGINE=y
1191
1192#
1193# DMA Clients
1194#
1195# CONFIG_NET_DMA is not set
1196# CONFIG_DMATEST is not set
1197
1198#
1199# Voltage and Current regulators
1200#
1201# CONFIG_REGULATOR is not set
1202# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1203# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1204# CONFIG_REGULATOR_BQ24022 is not set
1146# CONFIG_UIO is not set 1205# CONFIG_UIO is not set
1147 1206
1148# 1207#
@@ -1222,6 +1281,7 @@ CONFIG_JFFS2_RTIME=y
1222CONFIG_CRAMFS=y 1281CONFIG_CRAMFS=y
1223# CONFIG_VXFS_FS is not set 1282# CONFIG_VXFS_FS is not set
1224# CONFIG_MINIX_FS is not set 1283# CONFIG_MINIX_FS is not set
1284# CONFIG_OMFS_FS is not set
1225# CONFIG_HPFS_FS is not set 1285# CONFIG_HPFS_FS is not set
1226# CONFIG_QNX4FS_FS is not set 1286# CONFIG_QNX4FS_FS is not set
1227# CONFIG_ROMFS_FS is not set 1287# CONFIG_ROMFS_FS is not set
@@ -1232,13 +1292,12 @@ CONFIG_NFS_FS=y
1232CONFIG_NFS_V3=y 1292CONFIG_NFS_V3=y
1233# CONFIG_NFS_V3_ACL is not set 1293# CONFIG_NFS_V3_ACL is not set
1234# CONFIG_NFS_V4 is not set 1294# CONFIG_NFS_V4 is not set
1235# CONFIG_NFSD is not set
1236CONFIG_ROOT_NFS=y 1295CONFIG_ROOT_NFS=y
1296# CONFIG_NFSD is not set
1237CONFIG_LOCKD=y 1297CONFIG_LOCKD=y
1238CONFIG_LOCKD_V4=y 1298CONFIG_LOCKD_V4=y
1239CONFIG_NFS_COMMON=y 1299CONFIG_NFS_COMMON=y
1240CONFIG_SUNRPC=y 1300CONFIG_SUNRPC=y
1241# CONFIG_SUNRPC_BIND34 is not set
1242# CONFIG_RPCSEC_GSS_KRB5 is not set 1301# CONFIG_RPCSEC_GSS_KRB5 is not set
1243# CONFIG_RPCSEC_GSS_SPKM3 is not set 1302# CONFIG_RPCSEC_GSS_SPKM3 is not set
1244# CONFIG_SMB_FS is not set 1303# CONFIG_SMB_FS is not set
@@ -1324,6 +1383,8 @@ CONFIG_MAGIC_SYSRQ=y
1324CONFIG_DEBUG_KERNEL=y 1383CONFIG_DEBUG_KERNEL=y
1325# CONFIG_DEBUG_SHIRQ is not set 1384# CONFIG_DEBUG_SHIRQ is not set
1326CONFIG_DETECT_SOFTLOCKUP=y 1385CONFIG_DETECT_SOFTLOCKUP=y
1386# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1387CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1327CONFIG_SCHED_DEBUG=y 1388CONFIG_SCHED_DEBUG=y
1328CONFIG_SCHEDSTATS=y 1389CONFIG_SCHEDSTATS=y
1329# CONFIG_TIMER_STATS is not set 1390# CONFIG_TIMER_STATS is not set
@@ -1338,11 +1399,13 @@ CONFIG_DEBUG_PREEMPT=y
1338# CONFIG_LOCK_STAT is not set 1399# CONFIG_LOCK_STAT is not set
1339# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1400# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1340# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1401# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1402CONFIG_STACKTRACE=y
1341# CONFIG_DEBUG_KOBJECT is not set 1403# CONFIG_DEBUG_KOBJECT is not set
1342# CONFIG_DEBUG_BUGVERBOSE is not set 1404# CONFIG_DEBUG_BUGVERBOSE is not set
1343CONFIG_DEBUG_INFO=y 1405CONFIG_DEBUG_INFO=y
1344# CONFIG_DEBUG_VM is not set 1406# CONFIG_DEBUG_VM is not set
1345# CONFIG_DEBUG_WRITECOUNT is not set 1407# CONFIG_DEBUG_WRITECOUNT is not set
1408# CONFIG_DEBUG_MEMORY_INIT is not set
1346# CONFIG_DEBUG_LIST is not set 1409# CONFIG_DEBUG_LIST is not set
1347# CONFIG_DEBUG_SG is not set 1410# CONFIG_DEBUG_SG is not set
1348CONFIG_FRAME_POINTER=y 1411CONFIG_FRAME_POINTER=y
@@ -1352,7 +1415,18 @@ CONFIG_FRAME_POINTER=y
1352# CONFIG_BACKTRACE_SELF_TEST is not set 1415# CONFIG_BACKTRACE_SELF_TEST is not set
1353# CONFIG_LKDTM is not set 1416# CONFIG_LKDTM is not set
1354# CONFIG_FAULT_INJECTION is not set 1417# CONFIG_FAULT_INJECTION is not set
1418CONFIG_LATENCYTOP=y
1419CONFIG_SYSCTL_SYSCALL_CHECK=y
1420CONFIG_HAVE_FTRACE=y
1421CONFIG_HAVE_DYNAMIC_FTRACE=y
1422# CONFIG_FTRACE is not set
1423# CONFIG_IRQSOFF_TRACER is not set
1424# CONFIG_PREEMPT_TRACER is not set
1425# CONFIG_SCHED_TRACER is not set
1426# CONFIG_CONTEXT_SWITCH_TRACER is not set
1355# CONFIG_SAMPLES is not set 1427# CONFIG_SAMPLES is not set
1428CONFIG_HAVE_ARCH_KGDB=y
1429# CONFIG_KGDB is not set
1356CONFIG_DEBUG_USER=y 1430CONFIG_DEBUG_USER=y
1357CONFIG_DEBUG_ERRORS=y 1431CONFIG_DEBUG_ERRORS=y
1358# CONFIG_DEBUG_STACK_USAGE is not set 1432# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1365,6 +1439,7 @@ CONFIG_DEBUG_LL=y
1365# CONFIG_KEYS is not set 1439# CONFIG_KEYS is not set
1366# CONFIG_SECURITY is not set 1440# CONFIG_SECURITY is not set
1367# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1441# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1442CONFIG_ASYNC_CORE=y
1368CONFIG_CRYPTO=y 1443CONFIG_CRYPTO=y
1369 1444
1370# 1445#
@@ -1410,6 +1485,10 @@ CONFIG_CRYPTO_PCBC=m
1410# CONFIG_CRYPTO_MD4 is not set 1485# CONFIG_CRYPTO_MD4 is not set
1411# CONFIG_CRYPTO_MD5 is not set 1486# CONFIG_CRYPTO_MD5 is not set
1412# CONFIG_CRYPTO_MICHAEL_MIC is not set 1487# CONFIG_CRYPTO_MICHAEL_MIC is not set
1488# CONFIG_CRYPTO_RMD128 is not set
1489# CONFIG_CRYPTO_RMD160 is not set
1490# CONFIG_CRYPTO_RMD256 is not set
1491# CONFIG_CRYPTO_RMD320 is not set
1413# CONFIG_CRYPTO_SHA1 is not set 1492# CONFIG_CRYPTO_SHA1 is not set
1414# CONFIG_CRYPTO_SHA256 is not set 1493# CONFIG_CRYPTO_SHA256 is not set
1415# CONFIG_CRYPTO_SHA512 is not set 1494# CONFIG_CRYPTO_SHA512 is not set
@@ -1451,6 +1530,7 @@ CONFIG_BITREVERSE=y
1451# CONFIG_GENERIC_FIND_NEXT_BIT is not set 1530# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1452# CONFIG_CRC_CCITT is not set 1531# CONFIG_CRC_CCITT is not set
1453# CONFIG_CRC16 is not set 1532# CONFIG_CRC16 is not set
1533CONFIG_CRC_T10DIF=y
1454CONFIG_CRC_ITU_T=m 1534CONFIG_CRC_ITU_T=m
1455CONFIG_CRC32=y 1535CONFIG_CRC32=y
1456# CONFIG_CRC7 is not set 1536# CONFIG_CRC7 is not set
diff --git a/arch/arm/configs/palmte_defconfig b/arch/arm/configs/palmte_defconfig
new file mode 100644
index 000000000000..40fc6a778e00
--- /dev/null
+++ b/arch/arm/configs/palmte_defconfig
@@ -0,0 +1,761 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc1-omap1
4# Sat May 19 11:04:27 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# Code maturity level options
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34
35#
36# General setup
37#
38CONFIG_LOCALVERSION=""
39CONFIG_LOCALVERSION_AUTO=y
40# CONFIG_SWAP is not set
41CONFIG_SYSVIPC=y
42# CONFIG_IPC_NS is not set
43CONFIG_SYSVIPC_SYSCTL=y
44CONFIG_BSD_PROCESS_ACCT=y
45# CONFIG_BSD_PROCESS_ACCT_V3 is not set
46# CONFIG_UTS_NS is not set
47# CONFIG_IKCONFIG is not set
48CONFIG_LOG_BUF_SHIFT=14
49CONFIG_SYSFS_DEPRECATED=y
50# CONFIG_RELAY is not set
51# CONFIG_BLK_DEV_INITRD is not set
52CONFIG_CC_OPTIMIZE_FOR_SIZE=y
53CONFIG_SYSCTL=y
54# CONFIG_EMBEDDED is not set
55CONFIG_UID16=y
56CONFIG_SYSCTL_SYSCALL=y
57CONFIG_KALLSYMS=y
58# CONFIG_KALLSYMS_EXTRA_PASS is not set
59CONFIG_HOTPLUG=y
60CONFIG_PRINTK=y
61CONFIG_BUG=y
62CONFIG_ELF_CORE=y
63CONFIG_BASE_FULL=y
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78
79#
80# Loadable module support
81#
82# CONFIG_MODULES is not set
83
84#
85# Block layer
86#
87CONFIG_BLOCK=y
88# CONFIG_LBD is not set
89# CONFIG_BLK_DEV_IO_TRACE is not set
90# CONFIG_LSF is not set
91
92#
93# IO Schedulers
94#
95CONFIG_IOSCHED_NOOP=y
96CONFIG_IOSCHED_AS=y
97# CONFIG_IOSCHED_DEADLINE is not set
98# CONFIG_IOSCHED_CFQ is not set
99CONFIG_DEFAULT_AS=y
100# CONFIG_DEFAULT_DEADLINE is not set
101# CONFIG_DEFAULT_CFQ is not set
102# CONFIG_DEFAULT_NOOP is not set
103CONFIG_DEFAULT_IOSCHED="anticipatory"
104
105#
106# System Type
107#
108# CONFIG_ARCH_AAEC2000 is not set
109# CONFIG_ARCH_INTEGRATOR is not set
110# CONFIG_ARCH_REALVIEW is not set
111# CONFIG_ARCH_VERSATILE is not set
112# CONFIG_ARCH_AT91 is not set
113# CONFIG_ARCH_CLPS7500 is not set
114# CONFIG_ARCH_CLPS711X is not set
115# CONFIG_ARCH_CO285 is not set
116# CONFIG_ARCH_EBSA110 is not set
117# CONFIG_ARCH_EP93XX is not set
118# CONFIG_ARCH_FOOTBRIDGE is not set
119# CONFIG_ARCH_NETX is not set
120# CONFIG_ARCH_H720X is not set
121# CONFIG_ARCH_IMX is not set
122# CONFIG_ARCH_IOP13XX is not set
123# CONFIG_ARCH_IOP32X is not set
124# CONFIG_ARCH_IOP33X is not set
125# CONFIG_ARCH_IXP23XX is not set
126# CONFIG_ARCH_IXP2000 is not set
127# CONFIG_ARCH_IXP4XX is not set
128# CONFIG_ARCH_L7200 is not set
129# CONFIG_ARCH_KS8695 is not set
130# CONFIG_ARCH_NS9XXX is not set
131# CONFIG_ARCH_PNX4008 is not set
132# CONFIG_ARCH_PXA is not set
133# CONFIG_ARCH_RPC is not set
134# CONFIG_ARCH_SA1100 is not set
135# CONFIG_ARCH_S3C2410 is not set
136# CONFIG_ARCH_SHARK is not set
137# CONFIG_ARCH_LH7A40X is not set
138# CONFIG_ARCH_DAVINCI is not set
139CONFIG_ARCH_OMAP=y
140
141#
142# TI OMAP Implementations
143#
144CONFIG_ARCH_OMAP1=y
145# CONFIG_ARCH_OMAP2 is not set
146
147#
148# OMAP Feature Selections
149#
150# CONFIG_OMAP_RESET_CLOCKS is not set
151# CONFIG_OMAP_BOOT_TAG is not set
152CONFIG_OMAP_GPIO_SWITCH=y
153CONFIG_OMAP_MUX=y
154# CONFIG_OMAP_MUX_DEBUG is not set
155CONFIG_OMAP_MUX_WARNINGS=y
156CONFIG_OMAP_MCBSP=y
157# CONFIG_OMAP_MMU_FWK is not set
158# CONFIG_OMAP_MBOX_FWK is not set
159CONFIG_OMAP_MPU_TIMER=y
160# CONFIG_OMAP_32K_TIMER is not set
161CONFIG_OMAP_LL_DEBUG_UART1=y
162# CONFIG_OMAP_LL_DEBUG_UART2 is not set
163# CONFIG_OMAP_LL_DEBUG_UART3 is not set
164CONFIG_OMAP_SERIAL_WAKE=y
165# CONFIG_OMAP_DSP is not set
166
167#
168# OMAP Core Type
169#
170# CONFIG_ARCH_OMAP730 is not set
171CONFIG_ARCH_OMAP15XX=y
172# CONFIG_ARCH_OMAP16XX is not set
173
174#
175# OMAP Board Type
176#
177# CONFIG_MACH_OMAP_INNOVATOR is not set
178# CONFIG_MACH_VOICEBLUE is not set
179CONFIG_MACH_OMAP_PALMTE=y
180# CONFIG_MACH_OMAP_PALMZ71 is not set
181# CONFIG_MACH_OMAP_PALMTT is not set
182# CONFIG_MACH_SX1 is not set
183# CONFIG_MACH_AMS_DELTA is not set
184# CONFIG_MACH_OMAP_GENERIC is not set
185
186#
187# OMAP CPU Speed
188#
189CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
190# CONFIG_OMAP_ARM_168MHZ is not set
191# CONFIG_OMAP_ARM_150MHZ is not set
192# CONFIG_OMAP_ARM_120MHZ is not set
193# CONFIG_OMAP_ARM_60MHZ is not set
194# CONFIG_OMAP_ARM_30MHZ is not set
195
196#
197# Processor Type
198#
199CONFIG_CPU_32=y
200CONFIG_CPU_ARM925T=y
201CONFIG_CPU_32v4T=y
202CONFIG_CPU_ABRT_EV4T=y
203CONFIG_CPU_CACHE_V4WT=y
204CONFIG_CPU_CACHE_VIVT=y
205CONFIG_CPU_COPY_V4WB=y
206CONFIG_CPU_TLB_V4WBI=y
207CONFIG_CPU_CP15=y
208CONFIG_CPU_CP15_MMU=y
209
210#
211# Processor Features
212#
213# CONFIG_ARM_THUMB is not set
214# CONFIG_CPU_ICACHE_DISABLE is not set
215# CONFIG_CPU_DCACHE_DISABLE is not set
216# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
217# CONFIG_OUTER_CACHE is not set
218
219#
220# Bus support
221#
222# CONFIG_ARCH_SUPPORTS_MSI is not set
223
224#
225# PCCARD (PCMCIA/CardBus) support
226#
227# CONFIG_PCCARD is not set
228
229#
230# Kernel Features
231#
232# CONFIG_TICK_ONESHOT is not set
233# CONFIG_NO_HZ is not set
234# CONFIG_HIGH_RES_TIMERS is not set
235# CONFIG_PREEMPT is not set
236CONFIG_HZ=100
237# CONFIG_AEABI is not set
238# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
239CONFIG_SELECT_MEMORY_MODEL=y
240CONFIG_FLATMEM_MANUAL=y
241# CONFIG_DISCONTIGMEM_MANUAL is not set
242# CONFIG_SPARSEMEM_MANUAL is not set
243CONFIG_FLATMEM=y
244CONFIG_FLAT_NODE_MEM_MAP=y
245# CONFIG_SPARSEMEM_STATIC is not set
246CONFIG_SPLIT_PTLOCK_CPUS=4096
247# CONFIG_RESOURCES_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1
249# CONFIG_LEDS is not set
250CONFIG_ALIGNMENT_TRAP=y
251
252#
253# Boot options
254#
255CONFIG_ZBOOT_ROM_TEXT=0x0
256CONFIG_ZBOOT_ROM_BSS=0x0
257CONFIG_CMDLINE=""
258# CONFIG_XIP_KERNEL is not set
259# CONFIG_KEXEC is not set
260
261#
262# CPU Frequency scaling
263#
264# CONFIG_CPU_FREQ is not set
265
266#
267# Floating point emulation
268#
269
270#
271# At least one emulation must be selected
272#
273CONFIG_FPE_NWFPE=y
274# CONFIG_FPE_NWFPE_XP is not set
275# CONFIG_FPE_FASTFPE is not set
276
277#
278# Userspace binary formats
279#
280CONFIG_BINFMT_ELF=y
281# CONFIG_BINFMT_AOUT is not set
282# CONFIG_BINFMT_MISC is not set
283# CONFIG_ARTHUR is not set
284
285#
286# Power management options
287#
288# CONFIG_PM is not set
289
290#
291# Networking
292#
293# CONFIG_NET is not set
294
295#
296# Device Drivers
297#
298
299#
300# Generic Driver Options
301#
302# CONFIG_STANDALONE is not set
303# CONFIG_PREVENT_FIRMWARE_BUILD is not set
304# CONFIG_FW_LOADER is not set
305# CONFIG_SYS_HYPERVISOR is not set
306
307#
308# Connector - unified userspace <-> kernelspace linker
309#
310# CONFIG_MTD is not set
311
312#
313# Parallel port support
314#
315# CONFIG_PARPORT is not set
316
317#
318# Plug and Play support
319#
320# CONFIG_PNPACPI is not set
321
322#
323# Block devices
324#
325# CONFIG_BLK_DEV_COW_COMMON is not set
326# CONFIG_BLK_DEV_LOOP is not set
327# CONFIG_BLK_DEV_RAM is not set
328# CONFIG_CDROM_PKTCDVD is not set
329
330#
331# SCSI device support
332#
333# CONFIG_RAID_ATTRS is not set
334# CONFIG_SCSI is not set
335# CONFIG_SCSI_NETLINK is not set
336# CONFIG_ATA is not set
337
338#
339# Multi-device support (RAID and LVM)
340#
341# CONFIG_MD is not set
342
343#
344# ISDN subsystem
345#
346
347#
348# Input device support
349#
350CONFIG_INPUT=y
351# CONFIG_INPUT_FF_MEMLESS is not set
352
353#
354# Userland interfaces
355#
356CONFIG_INPUT_MOUSEDEV=y
357# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
358CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
359CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
360# CONFIG_INPUT_JOYDEV is not set
361# CONFIG_INPUT_TSDEV is not set
362# CONFIG_INPUT_EVDEV is not set
363# CONFIG_INPUT_EVBUG is not set
364
365#
366# Input Device Drivers
367#
368# CONFIG_INPUT_KEYBOARD is not set
369# CONFIG_INPUT_MOUSE is not set
370# CONFIG_INPUT_JOYSTICK is not set
371# CONFIG_INPUT_TABLET is not set
372# CONFIG_INPUT_TOUCHSCREEN is not set
373# CONFIG_INPUT_MISC is not set
374
375#
376# Hardware I/O ports
377#
378# CONFIG_SERIO is not set
379# CONFIG_GAMEPORT is not set
380
381#
382# Character devices
383#
384CONFIG_VT=y
385CONFIG_VT_CONSOLE=y
386CONFIG_HW_CONSOLE=y
387# CONFIG_VT_HW_CONSOLE_BINDING is not set
388# CONFIG_SERIAL_NONSTANDARD is not set
389
390#
391# Serial drivers
392#
393# CONFIG_SERIAL_8250 is not set
394
395#
396# Non-8250 serial port support
397#
398CONFIG_UNIX98_PTYS=y
399# CONFIG_LEGACY_PTYS is not set
400
401#
402# IPMI
403#
404# CONFIG_IPMI_HANDLER is not set
405# CONFIG_WATCHDOG is not set
406CONFIG_HW_RANDOM=y
407# CONFIG_NVRAM is not set
408CONFIG_OMAP_RTC=y
409# CONFIG_R3964 is not set
410# CONFIG_RAW_DRIVER is not set
411
412#
413# TPM devices
414#
415# CONFIG_TCG_TPM is not set
416# CONFIG_I2C is not set
417
418#
419# SPI support
420#
421# CONFIG_SPI is not set
422# CONFIG_SPI_MASTER is not set
423
424#
425# Dallas's 1-wire bus
426#
427# CONFIG_W1 is not set
428# CONFIG_HWMON is not set
429
430#
431# Misc devices
432#
433# CONFIG_BLINK is not set
434
435#
436# Multifunction device drivers
437#
438# CONFIG_MFD_SM501 is not set
439
440#
441# LED devices
442#
443# CONFIG_NEW_LEDS is not set
444
445#
446# LED drivers
447#
448
449#
450# LED Triggers
451#
452
453#
454# Multimedia devices
455#
456# CONFIG_VIDEO_DEV is not set
457CONFIG_DAB=y
458
459#
460# Graphics support
461#
462# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
463
464#
465# Display device support
466#
467# CONFIG_DISPLAY_SUPPORT is not set
468# CONFIG_VGASTATE is not set
469CONFIG_FB=y
470# CONFIG_FIRMWARE_EDID is not set
471# CONFIG_FB_DDC is not set
472# CONFIG_FB_CFB_FILLRECT is not set
473# CONFIG_FB_CFB_COPYAREA is not set
474# CONFIG_FB_CFB_IMAGEBLIT is not set
475# CONFIG_FB_SYS_FILLRECT is not set
476# CONFIG_FB_SYS_COPYAREA is not set
477# CONFIG_FB_SYS_IMAGEBLIT is not set
478# CONFIG_FB_SYS_FOPS is not set
479CONFIG_FB_DEFERRED_IO=y
480# CONFIG_FB_SVGALIB is not set
481# CONFIG_FB_MACMODES is not set
482# CONFIG_FB_BACKLIGHT is not set
483# CONFIG_FB_MODE_HELPERS is not set
484# CONFIG_FB_TILEBLITTING is not set
485
486#
487# Frame buffer hardware drivers
488#
489# CONFIG_FB_S1D13XXX is not set
490CONFIG_FB_OMAP=y
491# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
492# CONFIG_FB_OMAP_LCD_MIPID is not set
493# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
494CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
495# CONFIG_FB_OMAP_DMA_TUNE is not set
496# CONFIG_FB_VIRTUAL is not set
497
498#
499# Console display driver support
500#
501# CONFIG_VGA_CONSOLE is not set
502CONFIG_DUMMY_CONSOLE=y
503CONFIG_FRAMEBUFFER_CONSOLE=y
504# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
505# CONFIG_FONTS is not set
506CONFIG_FONT_8x8=y
507CONFIG_FONT_8x16=y
508CONFIG_LOGO=y
509# CONFIG_LOGO_LINUX_MONO is not set
510# CONFIG_LOGO_LINUX_VGA16 is not set
511CONFIG_LOGO_LINUX_CLUT224=y
512
513#
514# Sound
515#
516# CONFIG_SOUND is not set
517
518#
519# HID Devices
520#
521CONFIG_HID=y
522# CONFIG_HID_DEBUG is not set
523
524#
525# USB support
526#
527CONFIG_USB_ARCH_HAS_HCD=y
528CONFIG_USB_ARCH_HAS_OHCI=y
529# CONFIG_USB_ARCH_HAS_EHCI is not set
530# CONFIG_USB is not set
531# CONFIG_USB_MUSB_HDRC is not set
532# CONFIG_USB_GADGET_MUSB_HDRC is not set
533
534#
535# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
536#
537
538#
539# USB Gadget Support
540#
541CONFIG_USB_GADGET=y
542# CONFIG_USB_GADGET_DEBUG_FILES is not set
543CONFIG_USB_GADGET_SELECTED=y
544# CONFIG_USB_GADGET_FSL_USB2 is not set
545# CONFIG_USB_GADGET_NET2280 is not set
546# CONFIG_USB_GADGET_PXA2XX is not set
547# CONFIG_USB_GADGET_GOKU is not set
548# CONFIG_USB_GADGET_LH7A40X is not set
549CONFIG_USB_GADGET_OMAP=y
550CONFIG_USB_OMAP=y
551# CONFIG_USB_GADGET_AT91 is not set
552# CONFIG_USB_GADGET_DUMMY_HCD is not set
553# CONFIG_USB_GADGET_DUALSPEED is not set
554CONFIG_USB_ZERO=y
555# CONFIG_USB_ETH is not set
556# CONFIG_USB_GADGETFS is not set
557# CONFIG_USB_FILE_STORAGE is not set
558# CONFIG_USB_G_SERIAL is not set
559# CONFIG_USB_MIDI_GADGET is not set
560CONFIG_MMC=y
561# CONFIG_MMC_DEBUG is not set
562# CONFIG_MMC_UNSAFE_RESUME is not set
563
564#
565# MMC/SD Card Drivers
566#
567CONFIG_MMC_BLOCK=y
568
569#
570# MMC/SD Host Controller Drivers
571#
572CONFIG_MMC_OMAP=y
573
574#
575# Real Time Clock
576#
577CONFIG_RTC_LIB=y
578# CONFIG_RTC_CLASS is not set
579
580#
581# CBUS support
582#
583# CONFIG_CBUS is not set
584
585#
586# File systems
587#
588CONFIG_EXT2_FS=y
589# CONFIG_EXT2_FS_XATTR is not set
590# CONFIG_EXT2_FS_XIP is not set
591# CONFIG_EXT3_FS is not set
592# CONFIG_EXT4DEV_FS is not set
593# CONFIG_REISERFS_FS is not set
594# CONFIG_JFS_FS is not set
595# CONFIG_FS_POSIX_ACL is not set
596# CONFIG_XFS_FS is not set
597# CONFIG_GFS2_FS is not set
598# CONFIG_MINIX_FS is not set
599# CONFIG_ROMFS_FS is not set
600# CONFIG_INOTIFY is not set
601# CONFIG_QUOTA is not set
602CONFIG_DNOTIFY=y
603# CONFIG_AUTOFS_FS is not set
604# CONFIG_AUTOFS4_FS is not set
605# CONFIG_FUSE_FS is not set
606
607#
608# CD-ROM/DVD Filesystems
609#
610# CONFIG_ISO9660_FS is not set
611# CONFIG_UDF_FS is not set
612
613#
614# DOS/FAT/NT Filesystems
615#
616CONFIG_FAT_FS=y
617CONFIG_MSDOS_FS=y
618CONFIG_VFAT_FS=y
619CONFIG_FAT_DEFAULT_CODEPAGE=850
620CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
621# CONFIG_NTFS_FS is not set
622
623#
624# Pseudo filesystems
625#
626CONFIG_PROC_FS=y
627CONFIG_PROC_SYSCTL=y
628CONFIG_SYSFS=y
629CONFIG_TMPFS=y
630# CONFIG_TMPFS_POSIX_ACL is not set
631# CONFIG_HUGETLB_PAGE is not set
632CONFIG_RAMFS=y
633# CONFIG_CONFIGFS_FS is not set
634
635#
636# Miscellaneous filesystems
637#
638# CONFIG_ADFS_FS is not set
639# CONFIG_AFFS_FS is not set
640# CONFIG_HFS_FS is not set
641# CONFIG_HFSPLUS_FS is not set
642# CONFIG_BEFS_FS is not set
643# CONFIG_BFS_FS is not set
644# CONFIG_EFS_FS is not set
645CONFIG_CRAMFS=y
646# CONFIG_VXFS_FS is not set
647# CONFIG_HPFS_FS is not set
648# CONFIG_QNX4FS_FS is not set
649# CONFIG_SYSV_FS is not set
650# CONFIG_UFS_FS is not set
651
652#
653# Partition Types
654#
655CONFIG_PARTITION_ADVANCED=y
656# CONFIG_ACORN_PARTITION is not set
657# CONFIG_OSF_PARTITION is not set
658# CONFIG_AMIGA_PARTITION is not set
659# CONFIG_ATARI_PARTITION is not set
660# CONFIG_MAC_PARTITION is not set
661CONFIG_MSDOS_PARTITION=y
662# CONFIG_BSD_DISKLABEL is not set
663# CONFIG_MINIX_SUBPARTITION is not set
664# CONFIG_SOLARIS_X86_PARTITION is not set
665# CONFIG_UNIXWARE_DISKLABEL is not set
666# CONFIG_LDM_PARTITION is not set
667# CONFIG_SGI_PARTITION is not set
668# CONFIG_ULTRIX_PARTITION is not set
669# CONFIG_SUN_PARTITION is not set
670# CONFIG_KARMA_PARTITION is not set
671# CONFIG_EFI_PARTITION is not set
672# CONFIG_SYSV68_PARTITION is not set
673
674#
675# Native Language Support
676#
677CONFIG_NLS=y
678CONFIG_NLS_DEFAULT="iso8859-1"
679# CONFIG_NLS_CODEPAGE_437 is not set
680# CONFIG_NLS_CODEPAGE_737 is not set
681# CONFIG_NLS_CODEPAGE_775 is not set
682CONFIG_NLS_CODEPAGE_850=y
683# CONFIG_NLS_CODEPAGE_852 is not set
684# CONFIG_NLS_CODEPAGE_855 is not set
685# CONFIG_NLS_CODEPAGE_857 is not set
686# CONFIG_NLS_CODEPAGE_860 is not set
687# CONFIG_NLS_CODEPAGE_861 is not set
688# CONFIG_NLS_CODEPAGE_862 is not set
689# CONFIG_NLS_CODEPAGE_863 is not set
690# CONFIG_NLS_CODEPAGE_864 is not set
691# CONFIG_NLS_CODEPAGE_865 is not set
692# CONFIG_NLS_CODEPAGE_866 is not set
693# CONFIG_NLS_CODEPAGE_869 is not set
694# CONFIG_NLS_CODEPAGE_936 is not set
695# CONFIG_NLS_CODEPAGE_950 is not set
696# CONFIG_NLS_CODEPAGE_932 is not set
697# CONFIG_NLS_CODEPAGE_949 is not set
698# CONFIG_NLS_CODEPAGE_874 is not set
699# CONFIG_NLS_ISO8859_8 is not set
700# CONFIG_NLS_CODEPAGE_1250 is not set
701# CONFIG_NLS_CODEPAGE_1251 is not set
702# CONFIG_NLS_ASCII is not set
703CONFIG_NLS_ISO8859_1=y
704# CONFIG_NLS_ISO8859_2 is not set
705# CONFIG_NLS_ISO8859_3 is not set
706# CONFIG_NLS_ISO8859_4 is not set
707# CONFIG_NLS_ISO8859_5 is not set
708# CONFIG_NLS_ISO8859_6 is not set
709# CONFIG_NLS_ISO8859_7 is not set
710# CONFIG_NLS_ISO8859_9 is not set
711# CONFIG_NLS_ISO8859_13 is not set
712# CONFIG_NLS_ISO8859_14 is not set
713# CONFIG_NLS_ISO8859_15 is not set
714# CONFIG_NLS_KOI8_R is not set
715# CONFIG_NLS_KOI8_U is not set
716# CONFIG_NLS_UTF8 is not set
717
718#
719# Profiling support
720#
721# CONFIG_PROFILING is not set
722
723#
724# Kernel hacking
725#
726# CONFIG_PRINTK_TIME is not set
727CONFIG_ENABLE_MUST_CHECK=y
728# CONFIG_MAGIC_SYSRQ is not set
729# CONFIG_UNUSED_SYMBOLS is not set
730# CONFIG_DEBUG_FS is not set
731# CONFIG_HEADERS_CHECK is not set
732# CONFIG_DEBUG_KERNEL is not set
733CONFIG_DEBUG_BUGVERBOSE=y
734CONFIG_FRAME_POINTER=y
735# CONFIG_DEBUG_USER is not set
736
737#
738# Security options
739#
740# CONFIG_KEYS is not set
741# CONFIG_SECURITY is not set
742
743#
744# Cryptographic options
745#
746# CONFIG_CRYPTO is not set
747
748#
749# Library routines
750#
751CONFIG_BITREVERSE=y
752CONFIG_CRC_CCITT=y
753# CONFIG_CRC16 is not set
754# CONFIG_CRC_ITU_T is not set
755CONFIG_CRC32=y
756# CONFIG_LIBCRC32C is not set
757CONFIG_ZLIB_INFLATE=y
758CONFIG_PLIST=y
759CONFIG_HAS_IOMEM=y
760CONFIG_HAS_IOPORT=y
761CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/palmtt_defconfig b/arch/arm/configs/palmtt_defconfig
new file mode 100644
index 000000000000..e54ced41217e
--- /dev/null
+++ b/arch/arm/configs/palmtt_defconfig
@@ -0,0 +1,844 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc3-omap1
4# Sun Oct 29 00:36:12 2006
5#
6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
8CONFIG_MMU=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14CONFIG_GENERIC_HWEIGHT=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y
16CONFIG_VECTORS_BASE=0xffff0000
17CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
18
19#
20# Code maturity level options
21#
22CONFIG_EXPERIMENTAL=y
23CONFIG_BROKEN_ON_SMP=y
24CONFIG_INIT_ENV_ARG_LIMIT=32
25
26#
27# General setup
28#
29CONFIG_LOCALVERSION=""
30CONFIG_LOCALVERSION_AUTO=y
31CONFIG_SWAP=y
32CONFIG_SYSVIPC=y
33# CONFIG_IPC_NS is not set
34# CONFIG_POSIX_MQUEUE is not set
35CONFIG_BSD_PROCESS_ACCT=y
36# CONFIG_BSD_PROCESS_ACCT_V3 is not set
37# CONFIG_TASKSTATS is not set
38# CONFIG_UTS_NS is not set
39# CONFIG_AUDIT is not set
40# CONFIG_IKCONFIG is not set
41# CONFIG_RELAY is not set
42CONFIG_INITRAMFS_SOURCE=""
43CONFIG_CC_OPTIMIZE_FOR_SIZE=y
44CONFIG_SYSCTL=y
45# CONFIG_EMBEDDED is not set
46CONFIG_UID16=y
47# CONFIG_SYSCTL_SYSCALL is not set
48CONFIG_KALLSYMS=y
49# CONFIG_KALLSYMS_EXTRA_PASS is not set
50CONFIG_HOTPLUG=y
51CONFIG_PRINTK=y
52CONFIG_BUG=y
53CONFIG_ELF_CORE=y
54CONFIG_BASE_FULL=y
55CONFIG_FUTEX=y
56CONFIG_EPOLL=y
57CONFIG_SHMEM=y
58CONFIG_SLAB=y
59CONFIG_VM_EVENT_COUNTERS=y
60CONFIG_RT_MUTEXES=y
61# CONFIG_TINY_SHMEM is not set
62CONFIG_BASE_SMALL=0
63# CONFIG_SLOB is not set
64
65#
66# Loadable module support
67#
68# CONFIG_MODULES is not set
69
70#
71# Block layer
72#
73CONFIG_BLOCK=y
74# CONFIG_BLK_DEV_IO_TRACE is not set
75
76#
77# IO Schedulers
78#
79CONFIG_IOSCHED_NOOP=y
80# CONFIG_IOSCHED_AS is not set
81# CONFIG_IOSCHED_DEADLINE is not set
82# CONFIG_IOSCHED_CFQ is not set
83# CONFIG_DEFAULT_AS is not set
84# CONFIG_DEFAULT_DEADLINE is not set
85# CONFIG_DEFAULT_CFQ is not set
86CONFIG_DEFAULT_NOOP=y
87CONFIG_DEFAULT_IOSCHED="noop"
88
89#
90# System Type
91#
92# CONFIG_ARCH_AAEC2000 is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_REALVIEW is not set
95# CONFIG_ARCH_VERSATILE is not set
96# CONFIG_ARCH_AT91 is not set
97# CONFIG_ARCH_CLPS7500 is not set
98# CONFIG_ARCH_CLPS711X is not set
99# CONFIG_ARCH_CO285 is not set
100# CONFIG_ARCH_EBSA110 is not set
101# CONFIG_ARCH_EP93XX is not set
102# CONFIG_ARCH_FOOTBRIDGE is not set
103# CONFIG_ARCH_NETX is not set
104# CONFIG_ARCH_H720X is not set
105# CONFIG_ARCH_IMX is not set
106# CONFIG_ARCH_IOP32X is not set
107# CONFIG_ARCH_IOP33X is not set
108# CONFIG_ARCH_IXP4XX is not set
109# CONFIG_ARCH_IXP2000 is not set
110# CONFIG_ARCH_IXP23XX is not set
111# CONFIG_ARCH_L7200 is not set
112# CONFIG_ARCH_PNX4008 is not set
113# CONFIG_ARCH_PXA is not set
114# CONFIG_ARCH_RPC is not set
115# CONFIG_ARCH_SA1100 is not set
116# CONFIG_ARCH_S3C2410 is not set
117# CONFIG_ARCH_SHARK is not set
118# CONFIG_ARCH_LH7A40X is not set
119CONFIG_ARCH_OMAP=y
120
121#
122# TI OMAP Implementations
123#
124CONFIG_ARCH_OMAP1=y
125# CONFIG_ARCH_OMAP2 is not set
126
127#
128# OMAP Feature Selections
129#
130# CONFIG_OMAP_RESET_CLOCKS is not set
131# CONFIG_OMAP_BOOT_TAG is not set
132# CONFIG_OMAP_GPIO_SWITCH is not set
133CONFIG_OMAP_MUX=y
134# CONFIG_OMAP_MUX_DEBUG is not set
135CONFIG_OMAP_MUX_WARNINGS=y
136CONFIG_OMAP_MCBSP=y
137CONFIG_OMAP_MPU_TIMER=y
138# CONFIG_OMAP_32K_TIMER is not set
139# CONFIG_OMAP_LL_DEBUG_UART1 is not set
140CONFIG_OMAP_LL_DEBUG_UART2=y
141# CONFIG_OMAP_LL_DEBUG_UART3 is not set
142CONFIG_OMAP_SERIAL_WAKE=y
143CONFIG_OMAP_DSP=y
144# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
145# CONFIG_OMAP_DSP_TASK_MULTIOPEN is not set
146CONFIG_OMAP_DSP_FBEXPORT=y
147
148#
149# OMAP Core Type
150#
151# CONFIG_ARCH_OMAP730 is not set
152CONFIG_ARCH_OMAP15XX=y
153# CONFIG_ARCH_OMAP16XX is not set
154
155#
156# OMAP Board Type
157#
158# CONFIG_MACH_OMAP_INNOVATOR is not set
159# CONFIG_MACH_VOICEBLUE is not set
160# CONFIG_MACH_OMAP_PALMTE is not set
161# CONFIG_MACH_OMAP_PALMZ71 is not set
162CONFIG_MACH_OMAP_PALMTT=y
163# CONFIG_MACH_AMS_DELTA is not set
164# CONFIG_MACH_OMAP_GENERIC is not set
165
166#
167# OMAP CPU Speed
168#
169CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
170# CONFIG_OMAP_ARM_168MHZ is not set
171# CONFIG_OMAP_ARM_150MHZ is not set
172# CONFIG_OMAP_ARM_120MHZ is not set
173# CONFIG_OMAP_ARM_60MHZ is not set
174# CONFIG_OMAP_ARM_30MHZ is not set
175
176#
177# Processor Type
178#
179CONFIG_CPU_32=y
180CONFIG_CPU_ARM925T=y
181CONFIG_CPU_32v4T=y
182CONFIG_CPU_ABRT_EV4T=y
183CONFIG_CPU_CACHE_V4WT=y
184CONFIG_CPU_CACHE_VIVT=y
185CONFIG_CPU_COPY_V4WB=y
186CONFIG_CPU_TLB_V4WBI=y
187CONFIG_CPU_CP15=y
188CONFIG_CPU_CP15_MMU=y
189
190#
191# Processor Features
192#
193CONFIG_ARM_THUMB=y
194# CONFIG_CPU_ICACHE_DISABLE is not set
195# CONFIG_CPU_DCACHE_DISABLE is not set
196# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
197
198#
199# Bus support
200#
201
202#
203# PCCARD (PCMCIA/CardBus) support
204#
205# CONFIG_PCCARD is not set
206
207#
208# Kernel Features
209#
210# CONFIG_PREEMPT is not set
211# CONFIG_NO_IDLE_HZ is not set
212CONFIG_HZ=100
213# CONFIG_AEABI is not set
214# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
215CONFIG_SELECT_MEMORY_MODEL=y
216CONFIG_FLATMEM_MANUAL=y
217# CONFIG_DISCONTIGMEM_MANUAL is not set
218# CONFIG_SPARSEMEM_MANUAL is not set
219CONFIG_FLATMEM=y
220CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_STATIC is not set
222CONFIG_SPLIT_PTLOCK_CPUS=4096
223# CONFIG_RESOURCES_64BIT is not set
224# CONFIG_LEDS is not set
225CONFIG_ALIGNMENT_TRAP=y
226
227#
228# Boot options
229#
230CONFIG_ZBOOT_ROM_TEXT=0x0
231CONFIG_ZBOOT_ROM_BSS=0x0
232CONFIG_CMDLINE="root=/dev/mmcblk0p2 rw init=/init"
233# CONFIG_XIP_KERNEL is not set
234
235#
236# CPU Frequency scaling
237#
238# CONFIG_CPU_FREQ is not set
239
240#
241# Floating point emulation
242#
243
244#
245# At least one emulation must be selected
246#
247CONFIG_FPE_NWFPE=y
248# CONFIG_FPE_NWFPE_XP is not set
249# CONFIG_FPE_FASTFPE is not set
250
251#
252# Userspace binary formats
253#
254CONFIG_BINFMT_ELF=y
255# CONFIG_BINFMT_AOUT is not set
256# CONFIG_BINFMT_MISC is not set
257# CONFIG_ARTHUR is not set
258
259#
260# Power management options
261#
262# CONFIG_PM is not set
263# CONFIG_APM is not set
264
265#
266# Networking
267#
268CONFIG_NET=y
269
270#
271# Networking options
272#
273# CONFIG_NETDEBUG is not set
274CONFIG_PACKET=y
275# CONFIG_PACKET_MMAP is not set
276CONFIG_UNIX=y
277CONFIG_XFRM=y
278# CONFIG_XFRM_USER is not set
279# CONFIG_XFRM_SUB_POLICY is not set
280CONFIG_NET_KEY=y
281CONFIG_INET=y
282# CONFIG_IP_MULTICAST is not set
283# CONFIG_IP_ADVANCED_ROUTER is not set
284CONFIG_IP_FIB_HASH=y
285# CONFIG_IP_PNP is not set
286# CONFIG_NET_IPIP is not set
287# CONFIG_NET_IPGRE is not set
288# CONFIG_ARPD is not set
289# CONFIG_SYN_COOKIES is not set
290# CONFIG_INET_AH is not set
291# CONFIG_INET_ESP is not set
292# CONFIG_INET_IPCOMP is not set
293# CONFIG_INET_XFRM_TUNNEL is not set
294# CONFIG_INET_TUNNEL is not set
295# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
296# CONFIG_INET_XFRM_MODE_TUNNEL is not set
297# CONFIG_INET_XFRM_MODE_BEET is not set
298# CONFIG_INET_DIAG is not set
299# CONFIG_TCP_CONG_ADVANCED is not set
300CONFIG_TCP_CONG_CUBIC=y
301CONFIG_DEFAULT_TCP_CONG="cubic"
302# CONFIG_IPV6 is not set
303# CONFIG_INET6_XFRM_TUNNEL is not set
304# CONFIG_INET6_TUNNEL is not set
305# CONFIG_NETWORK_SECMARK is not set
306# CONFIG_NETFILTER is not set
307
308#
309# DCCP Configuration (EXPERIMENTAL)
310#
311# CONFIG_IP_DCCP is not set
312
313#
314# SCTP Configuration (EXPERIMENTAL)
315#
316# CONFIG_IP_SCTP is not set
317
318#
319# TIPC Configuration (EXPERIMENTAL)
320#
321# CONFIG_TIPC is not set
322# CONFIG_ATM is not set
323# CONFIG_BRIDGE is not set
324# CONFIG_VLAN_8021Q is not set
325# CONFIG_DECNET is not set
326# CONFIG_LLC2 is not set
327# CONFIG_IPX is not set
328# CONFIG_ATALK is not set
329# CONFIG_X25 is not set
330# CONFIG_LAPB is not set
331# CONFIG_ECONET is not set
332# CONFIG_WAN_ROUTER is not set
333
334#
335# QoS and/or fair queueing
336#
337# CONFIG_NET_SCHED is not set
338
339#
340# Network testing
341#
342# CONFIG_NET_PKTGEN is not set
343# CONFIG_HAMRADIO is not set
344# CONFIG_IRDA is not set
345# CONFIG_BT is not set
346# CONFIG_IEEE80211 is not set
347
348#
349# Device Drivers
350#
351
352#
353# Generic Driver Options
354#
355CONFIG_STANDALONE=y
356CONFIG_PREVENT_FIRMWARE_BUILD=y
357# CONFIG_FW_LOADER is not set
358# CONFIG_SYS_HYPERVISOR is not set
359
360#
361# Connector - unified userspace <-> kernelspace linker
362#
363# CONFIG_CONNECTOR is not set
364
365#
366# Memory Technology Devices (MTD)
367#
368# CONFIG_MTD is not set
369
370#
371# Parallel port support
372#
373# CONFIG_PARPORT is not set
374
375#
376# Plug and Play support
377#
378
379#
380# Block devices
381#
382# CONFIG_BLK_DEV_COW_COMMON is not set
383# CONFIG_BLK_DEV_LOOP is not set
384# CONFIG_BLK_DEV_NBD is not set
385# CONFIG_BLK_DEV_RAM is not set
386# CONFIG_BLK_DEV_INITRD is not set
387# CONFIG_CDROM_PKTCDVD is not set
388# CONFIG_ATA_OVER_ETH is not set
389
390#
391# SCSI device support
392#
393# CONFIG_RAID_ATTRS is not set
394# CONFIG_SCSI is not set
395# CONFIG_SCSI_NETLINK is not set
396
397#
398# Multi-device support (RAID and LVM)
399#
400# CONFIG_MD is not set
401
402#
403# Fusion MPT device support
404#
405# CONFIG_FUSION is not set
406
407#
408# IEEE 1394 (FireWire) support
409#
410
411#
412# I2O device support
413#
414
415#
416# Network device support
417#
418# CONFIG_NETDEVICES is not set
419# CONFIG_NETPOLL is not set
420# CONFIG_NET_POLL_CONTROLLER is not set
421
422#
423# ISDN subsystem
424#
425# CONFIG_ISDN is not set
426
427#
428# Input device support
429#
430CONFIG_INPUT=y
431# CONFIG_INPUT_FF_MEMLESS is not set
432
433#
434# Userland interfaces
435#
436CONFIG_INPUT_MOUSEDEV=y
437CONFIG_INPUT_MOUSEDEV_PSAUX=y
438CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
439CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
440# CONFIG_INPUT_JOYDEV is not set
441CONFIG_INPUT_TSDEV=y
442CONFIG_INPUT_TSDEV_SCREEN_X=320
443CONFIG_INPUT_TSDEV_SCREEN_Y=320
444CONFIG_INPUT_EVDEV=y
445# CONFIG_INPUT_EVBUG is not set
446
447#
448# Input Device Drivers
449#
450# CONFIG_INPUT_KEYBOARD is not set
451# CONFIG_INPUT_MOUSE is not set
452# CONFIG_INPUT_JOYSTICK is not set
453CONFIG_INPUT_TOUCHSCREEN=y
454CONFIG_TOUCHSCREEN_ADS7846=y
455# CONFIG_TOUCHSCREEN_GUNZE is not set
456# CONFIG_TOUCHSCREEN_ELO is not set
457# CONFIG_TOUCHSCREEN_MTOUCH is not set
458# CONFIG_TOUCHSCREEN_MK712 is not set
459# CONFIG_TOUCHSCREEN_PENMOUNT is not set
460# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
461# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
462# CONFIG_TOUCHSCREEN_TSC2102 is not set
463# CONFIG_INPUT_MISC is not set
464
465#
466# Hardware I/O ports
467#
468# CONFIG_SERIO is not set
469# CONFIG_GAMEPORT is not set
470
471#
472# Character devices
473#
474CONFIG_VT=y
475CONFIG_VT_CONSOLE=y
476CONFIG_HW_CONSOLE=y
477# CONFIG_VT_HW_CONSOLE_BINDING is not set
478# CONFIG_SERIAL_NONSTANDARD is not set
479
480#
481# Serial drivers
482#
483# CONFIG_SERIAL_8250 is not set
484
485#
486# Non-8250 serial port support
487#
488CONFIG_UNIX98_PTYS=y
489CONFIG_LEGACY_PTYS=y
490CONFIG_LEGACY_PTY_COUNT=256
491
492#
493# IPMI
494#
495# CONFIG_IPMI_HANDLER is not set
496
497#
498# Watchdog Cards
499#
500# CONFIG_WATCHDOG is not set
501CONFIG_HW_RANDOM=y
502# CONFIG_NVRAM is not set
503# CONFIG_OMAP_RTC is not set
504# CONFIG_DTLK is not set
505# CONFIG_R3964 is not set
506
507#
508# Ftape, the floppy tape device driver
509#
510# CONFIG_RAW_DRIVER is not set
511
512#
513# TPM devices
514#
515# CONFIG_TCG_TPM is not set
516
517#
518# I2C support
519#
520# CONFIG_I2C is not set
521
522#
523# SPI support
524#
525CONFIG_SPI=y
526CONFIG_SPI_MASTER=y
527
528#
529# SPI Master Controller Drivers
530#
531CONFIG_SPI_BITBANG=y
532CONFIG_SPI_OMAP_UWIRE=y
533
534#
535# SPI Protocol Masters
536#
537# CONFIG_TSC2102 is not set
538
539#
540# Dallas's 1-wire bus
541#
542# CONFIG_W1 is not set
543
544#
545# Hardware Monitoring support
546#
547CONFIG_HWMON=y
548# CONFIG_HWMON_VID is not set
549# CONFIG_SENSORS_ABITUGURU is not set
550# CONFIG_SENSORS_F71805F is not set
551# CONFIG_SENSORS_LM70 is not set
552# CONFIG_SENSORS_VT1211 is not set
553# CONFIG_HWMON_DEBUG_CHIP is not set
554
555#
556# Misc devices
557#
558# CONFIG_SGI_IOC4 is not set
559# CONFIG_TIFM_CORE is not set
560
561#
562# LED devices
563#
564CONFIG_NEW_LEDS=y
565CONFIG_LEDS_CLASS=y
566
567#
568# LED drivers
569#
570CONFIG_LEDS_OMAP=y
571
572#
573# LED Triggers
574#
575CONFIG_LEDS_TRIGGERS=y
576CONFIG_LEDS_TRIGGER_TIMER=y
577CONFIG_LEDS_TRIGGER_HEARTBEAT=y
578
579#
580# Multimedia devices
581#
582# CONFIG_VIDEO_DEV is not set
583
584#
585# Digital Video Broadcasting Devices
586#
587# CONFIG_DVB is not set
588
589#
590# Graphics support
591#
592CONFIG_FIRMWARE_EDID=y
593CONFIG_FB=y
594# CONFIG_FB_CFB_FILLRECT is not set
595# CONFIG_FB_CFB_COPYAREA is not set
596# CONFIG_FB_CFB_IMAGEBLIT is not set
597# CONFIG_FB_MACMODES is not set
598# CONFIG_FB_BACKLIGHT is not set
599# CONFIG_FB_MODE_HELPERS is not set
600# CONFIG_FB_TILEBLITTING is not set
601# CONFIG_FB_S1D13XXX is not set
602# CONFIG_FB_VIRTUAL is not set
603CONFIG_FB_OMAP=y
604# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
605# CONFIG_FB_OMAP_LCD_MIPID is not set
606# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
607CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
608# CONFIG_FB_OMAP_DMA_TUNE is not set
609
610#
611# Console display driver support
612#
613# CONFIG_VGA_CONSOLE is not set
614CONFIG_DUMMY_CONSOLE=y
615CONFIG_FRAMEBUFFER_CONSOLE=y
616# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
617# CONFIG_FONTS is not set
618CONFIG_FONT_8x8=y
619CONFIG_FONT_8x16=y
620
621#
622# Logo configuration
623#
624# CONFIG_LOGO is not set
625CONFIG_BACKLIGHT_LCD_SUPPORT=y
626CONFIG_BACKLIGHT_CLASS_DEVICE=y
627CONFIG_BACKLIGHT_DEVICE=y
628CONFIG_LCD_CLASS_DEVICE=y
629CONFIG_LCD_DEVICE=y
630CONFIG_BACKLIGHT_OMAP=y
631
632#
633# Sound
634#
635# CONFIG_SOUND is not set
636
637#
638# USB support
639#
640CONFIG_USB_ARCH_HAS_HCD=y
641CONFIG_USB_ARCH_HAS_OHCI=y
642# CONFIG_USB_ARCH_HAS_EHCI is not set
643# CONFIG_USB is not set
644
645#
646# Enable Host or Gadget support to see Inventra options
647#
648
649#
650# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
651#
652
653#
654# USB Gadget Support
655#
656# CONFIG_USB_GADGET is not set
657
658#
659# MMC/SD Card support
660#
661# CONFIG_MMC is not set
662
663#
664# Real Time Clock
665#
666CONFIG_RTC_LIB=y
667CONFIG_RTC_CLASS=y
668CONFIG_RTC_HCTOSYS=y
669CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
670# CONFIG_RTC_DEBUG is not set
671
672#
673# RTC interfaces
674#
675CONFIG_RTC_INTF_SYSFS=y
676CONFIG_RTC_INTF_PROC=y
677CONFIG_RTC_INTF_DEV=y
678# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
679
680#
681# RTC drivers
682#
683# CONFIG_RTC_DRV_DS1553 is not set
684# CONFIG_RTC_DRV_DS1742 is not set
685CONFIG_RTC_DRV_OMAP=y
686# CONFIG_RTC_DRV_RS5C348 is not set
687# CONFIG_RTC_DRV_M48T86 is not set
688# CONFIG_RTC_DRV_TEST is not set
689# CONFIG_RTC_DRV_MAX6902 is not set
690# CONFIG_RTC_DRV_V3020 is not set
691
692#
693# Synchronous Serial Interfaces (SSI)
694#
695# CONFIG_OMAP_UWIRE is not set
696# CONFIG_OMAP_TSC2101 is not set
697
698#
699# CBUS support
700#
701# CONFIG_CBUS is not set
702
703#
704# File systems
705#
706CONFIG_EXT2_FS=y
707# CONFIG_EXT2_FS_XATTR is not set
708# CONFIG_EXT2_FS_XIP is not set
709# CONFIG_EXT3_FS is not set
710# CONFIG_EXT4DEV_FS is not set
711# CONFIG_REISERFS_FS is not set
712# CONFIG_JFS_FS is not set
713# CONFIG_FS_POSIX_ACL is not set
714# CONFIG_XFS_FS is not set
715# CONFIG_GFS2_FS is not set
716# CONFIG_OCFS2_FS is not set
717# CONFIG_MINIX_FS is not set
718# CONFIG_ROMFS_FS is not set
719# CONFIG_INOTIFY is not set
720# CONFIG_QUOTA is not set
721CONFIG_DNOTIFY=y
722# CONFIG_AUTOFS_FS is not set
723# CONFIG_AUTOFS4_FS is not set
724# CONFIG_FUSE_FS is not set
725
726#
727# CD-ROM/DVD Filesystems
728#
729# CONFIG_ISO9660_FS is not set
730# CONFIG_UDF_FS is not set
731
732#
733# DOS/FAT/NT Filesystems
734#
735# CONFIG_MSDOS_FS is not set
736# CONFIG_VFAT_FS is not set
737# CONFIG_NTFS_FS is not set
738
739#
740# Pseudo filesystems
741#
742CONFIG_PROC_FS=y
743CONFIG_PROC_SYSCTL=y
744CONFIG_SYSFS=y
745# CONFIG_TMPFS is not set
746# CONFIG_HUGETLB_PAGE is not set
747CONFIG_RAMFS=y
748# CONFIG_CONFIGFS_FS is not set
749
750#
751# Miscellaneous filesystems
752#
753# CONFIG_ADFS_FS is not set
754# CONFIG_AFFS_FS is not set
755# CONFIG_HFS_FS is not set
756# CONFIG_HFSPLUS_FS is not set
757# CONFIG_BEFS_FS is not set
758# CONFIG_BFS_FS is not set
759# CONFIG_EFS_FS is not set
760# CONFIG_CRAMFS is not set
761# CONFIG_VXFS_FS is not set
762# CONFIG_HPFS_FS is not set
763# CONFIG_QNX4FS_FS is not set
764# CONFIG_SYSV_FS is not set
765# CONFIG_UFS_FS is not set
766
767#
768# Network File Systems
769#
770# CONFIG_NFS_FS is not set
771# CONFIG_NFSD is not set
772# CONFIG_SMB_FS is not set
773# CONFIG_CIFS is not set
774# CONFIG_NCP_FS is not set
775# CONFIG_CODA_FS is not set
776# CONFIG_AFS_FS is not set
777# CONFIG_9P_FS is not set
778
779#
780# Partition Types
781#
782CONFIG_PARTITION_ADVANCED=y
783# CONFIG_ACORN_PARTITION is not set
784# CONFIG_OSF_PARTITION is not set
785# CONFIG_AMIGA_PARTITION is not set
786# CONFIG_ATARI_PARTITION is not set
787# CONFIG_MAC_PARTITION is not set
788CONFIG_MSDOS_PARTITION=y
789# CONFIG_BSD_DISKLABEL is not set
790# CONFIG_MINIX_SUBPARTITION is not set
791# CONFIG_SOLARIS_X86_PARTITION is not set
792# CONFIG_UNIXWARE_DISKLABEL is not set
793# CONFIG_LDM_PARTITION is not set
794# CONFIG_SGI_PARTITION is not set
795# CONFIG_ULTRIX_PARTITION is not set
796# CONFIG_SUN_PARTITION is not set
797# CONFIG_KARMA_PARTITION is not set
798# CONFIG_EFI_PARTITION is not set
799
800#
801# Native Language Support
802#
803# CONFIG_NLS is not set
804
805#
806# Profiling support
807#
808# CONFIG_PROFILING is not set
809
810#
811# Kernel hacking
812#
813# CONFIG_PRINTK_TIME is not set
814# CONFIG_ENABLE_MUST_CHECK is not set
815# CONFIG_MAGIC_SYSRQ is not set
816# CONFIG_UNUSED_SYMBOLS is not set
817# CONFIG_DEBUG_KERNEL is not set
818CONFIG_LOG_BUF_SHIFT=14
819CONFIG_DEBUG_BUGVERBOSE=y
820# CONFIG_DEBUG_FS is not set
821CONFIG_FRAME_POINTER=y
822# CONFIG_UNWIND_INFO is not set
823# CONFIG_HEADERS_CHECK is not set
824# CONFIG_DEBUG_USER is not set
825
826#
827# Security options
828#
829# CONFIG_KEYS is not set
830# CONFIG_SECURITY is not set
831
832#
833# Cryptographic options
834#
835# CONFIG_CRYPTO is not set
836
837#
838# Library routines
839#
840CONFIG_CRC_CCITT=y
841CONFIG_CRC16=y
842CONFIG_CRC32=y
843CONFIG_LIBCRC32C=y
844CONFIG_PLIST=y
diff --git a/arch/arm/configs/palmz71_defconfig b/arch/arm/configs/palmz71_defconfig
new file mode 100644
index 000000000000..6361922e71c1
--- /dev/null
+++ b/arch/arm/configs/palmz71_defconfig
@@ -0,0 +1,891 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc1-omap1
4# Thu Jun 7 05:13:00 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# Code maturity level options
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34
35#
36# General setup
37#
38CONFIG_LOCALVERSION="-z71"
39CONFIG_LOCALVERSION_AUTO=y
40CONFIG_SWAP=y
41CONFIG_SYSVIPC=y
42# CONFIG_IPC_NS is not set
43CONFIG_SYSVIPC_SYSCTL=y
44# CONFIG_POSIX_MQUEUE is not set
45CONFIG_BSD_PROCESS_ACCT=y
46# CONFIG_BSD_PROCESS_ACCT_V3 is not set
47# CONFIG_TASKSTATS is not set
48# CONFIG_UTS_NS is not set
49# CONFIG_AUDIT is not set
50# CONFIG_IKCONFIG is not set
51CONFIG_LOG_BUF_SHIFT=14
52CONFIG_SYSFS_DEPRECATED=y
53# CONFIG_RELAY is not set
54# CONFIG_BLK_DEV_INITRD is not set
55CONFIG_CC_OPTIMIZE_FOR_SIZE=y
56CONFIG_SYSCTL=y
57# CONFIG_EMBEDDED is not set
58CONFIG_UID16=y
59CONFIG_SYSCTL_SYSCALL=y
60CONFIG_KALLSYMS=y
61# CONFIG_KALLSYMS_EXTRA_PASS is not set
62CONFIG_HOTPLUG=y
63CONFIG_PRINTK=y
64CONFIG_BUG=y
65CONFIG_ELF_CORE=y
66CONFIG_BASE_FULL=y
67CONFIG_FUTEX=y
68CONFIG_ANON_INODES=y
69CONFIG_EPOLL=y
70CONFIG_SIGNALFD=y
71CONFIG_TIMERFD=y
72CONFIG_EVENTFD=y
73CONFIG_SHMEM=y
74CONFIG_VM_EVENT_COUNTERS=y
75CONFIG_SLAB=y
76# CONFIG_SLUB is not set
77# CONFIG_SLOB is not set
78CONFIG_RT_MUTEXES=y
79# CONFIG_TINY_SHMEM is not set
80CONFIG_BASE_SMALL=0
81
82#
83# Loadable module support
84#
85# CONFIG_MODULES is not set
86
87#
88# Block layer
89#
90CONFIG_BLOCK=y
91# CONFIG_LBD is not set
92# CONFIG_BLK_DEV_IO_TRACE is not set
93# CONFIG_LSF is not set
94
95#
96# IO Schedulers
97#
98CONFIG_IOSCHED_NOOP=y
99# CONFIG_IOSCHED_AS is not set
100# CONFIG_IOSCHED_DEADLINE is not set
101# CONFIG_IOSCHED_CFQ is not set
102# CONFIG_DEFAULT_AS is not set
103# CONFIG_DEFAULT_DEADLINE is not set
104# CONFIG_DEFAULT_CFQ is not set
105CONFIG_DEFAULT_NOOP=y
106CONFIG_DEFAULT_IOSCHED="noop"
107
108#
109# System Type
110#
111# CONFIG_ARCH_AAEC2000 is not set
112# CONFIG_ARCH_INTEGRATOR is not set
113# CONFIG_ARCH_REALVIEW is not set
114# CONFIG_ARCH_VERSATILE is not set
115# CONFIG_ARCH_AT91 is not set
116# CONFIG_ARCH_CLPS7500 is not set
117# CONFIG_ARCH_CLPS711X is not set
118# CONFIG_ARCH_CO285 is not set
119# CONFIG_ARCH_EBSA110 is not set
120# CONFIG_ARCH_EP93XX is not set
121# CONFIG_ARCH_FOOTBRIDGE is not set
122# CONFIG_ARCH_NETX is not set
123# CONFIG_ARCH_H720X is not set
124# CONFIG_ARCH_IMX is not set
125# CONFIG_ARCH_IOP13XX is not set
126# CONFIG_ARCH_IOP32X is not set
127# CONFIG_ARCH_IOP33X is not set
128# CONFIG_ARCH_IXP23XX is not set
129# CONFIG_ARCH_IXP2000 is not set
130# CONFIG_ARCH_IXP4XX is not set
131# CONFIG_ARCH_L7200 is not set
132# CONFIG_ARCH_KS8695 is not set
133# CONFIG_ARCH_NS9XXX is not set
134# CONFIG_ARCH_PNX4008 is not set
135# CONFIG_ARCH_PXA is not set
136# CONFIG_ARCH_RPC is not set
137# CONFIG_ARCH_SA1100 is not set
138# CONFIG_ARCH_S3C2410 is not set
139# CONFIG_ARCH_SHARK is not set
140# CONFIG_ARCH_LH7A40X is not set
141# CONFIG_ARCH_DAVINCI is not set
142CONFIG_ARCH_OMAP=y
143
144#
145# TI OMAP Implementations
146#
147CONFIG_ARCH_OMAP1=y
148# CONFIG_ARCH_OMAP2 is not set
149
150#
151# OMAP Feature Selections
152#
153# CONFIG_OMAP_RESET_CLOCKS is not set
154# CONFIG_OMAP_BOOT_TAG is not set
155# CONFIG_OMAP_GPIO_SWITCH is not set
156CONFIG_OMAP_MUX=y
157# CONFIG_OMAP_MUX_DEBUG is not set
158CONFIG_OMAP_MUX_WARNINGS=y
159CONFIG_OMAP_MCBSP=y
160# CONFIG_OMAP_MMU_FWK is not set
161# CONFIG_OMAP_MBOX_FWK is not set
162CONFIG_OMAP_MPU_TIMER=y
163# CONFIG_OMAP_32K_TIMER is not set
164CONFIG_OMAP_LL_DEBUG_UART1=y
165# CONFIG_OMAP_LL_DEBUG_UART2 is not set
166# CONFIG_OMAP_LL_DEBUG_UART3 is not set
167# CONFIG_OMAP_LL_DEBUG_LCD is not set
168CONFIG_OMAP_SERIAL_WAKE=y
169# CONFIG_OMAP_DSP is not set
170
171#
172# OMAP Core Type
173#
174# CONFIG_ARCH_OMAP730 is not set
175CONFIG_ARCH_OMAP15XX=y
176# CONFIG_ARCH_OMAP16XX is not set
177
178#
179# OMAP Board Type
180#
181# CONFIG_MACH_OMAP_INNOVATOR is not set
182# CONFIG_MACH_VOICEBLUE is not set
183# CONFIG_MACH_OMAP_PALMTE is not set
184CONFIG_MACH_OMAP_PALMZ71=y
185# CONFIG_MACH_OMAP_PALMTT is not set
186# CONFIG_MACH_SX1 is not set
187# CONFIG_MACH_AMS_DELTA is not set
188# CONFIG_MACH_OMAP_GENERIC is not set
189
190#
191# OMAP CPU Speed
192#
193CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
194# CONFIG_OMAP_ARM_168MHZ is not set
195# CONFIG_OMAP_ARM_150MHZ is not set
196# CONFIG_OMAP_ARM_120MHZ is not set
197# CONFIG_OMAP_ARM_60MHZ is not set
198# CONFIG_OMAP_ARM_30MHZ is not set
199
200#
201# Processor Type
202#
203CONFIG_CPU_32=y
204CONFIG_CPU_ARM925T=y
205CONFIG_CPU_32v4T=y
206CONFIG_CPU_ABRT_EV4T=y
207CONFIG_CPU_CACHE_V4WT=y
208CONFIG_CPU_CACHE_VIVT=y
209CONFIG_CPU_COPY_V4WB=y
210CONFIG_CPU_TLB_V4WBI=y
211CONFIG_CPU_CP15=y
212CONFIG_CPU_CP15_MMU=y
213
214#
215# Processor Features
216#
217# CONFIG_ARM_THUMB is not set
218# CONFIG_CPU_ICACHE_DISABLE is not set
219# CONFIG_CPU_DCACHE_DISABLE is not set
220# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
221# CONFIG_OUTER_CACHE is not set
222
223#
224# Bus support
225#
226# CONFIG_ARCH_SUPPORTS_MSI is not set
227
228#
229# PCCARD (PCMCIA/CardBus) support
230#
231# CONFIG_PCCARD is not set
232
233#
234# Kernel Features
235#
236# CONFIG_TICK_ONESHOT is not set
237# CONFIG_NO_HZ is not set
238# CONFIG_HIGH_RES_TIMERS is not set
239# CONFIG_PREEMPT is not set
240CONFIG_HZ=100
241# CONFIG_AEABI is not set
242# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
243CONFIG_SELECT_MEMORY_MODEL=y
244CONFIG_FLATMEM_MANUAL=y
245# CONFIG_DISCONTIGMEM_MANUAL is not set
246# CONFIG_SPARSEMEM_MANUAL is not set
247CONFIG_FLATMEM=y
248CONFIG_FLAT_NODE_MEM_MAP=y
249# CONFIG_SPARSEMEM_STATIC is not set
250CONFIG_SPLIT_PTLOCK_CPUS=4096
251# CONFIG_RESOURCES_64BIT is not set
252CONFIG_ZONE_DMA_FLAG=1
253# CONFIG_LEDS is not set
254CONFIG_ALIGNMENT_TRAP=y
255
256#
257# Boot options
258#
259CONFIG_ZBOOT_ROM_TEXT=0x0
260CONFIG_ZBOOT_ROM_BSS=0x0
261CONFIG_CMDLINE=""
262# CONFIG_XIP_KERNEL is not set
263# CONFIG_KEXEC is not set
264
265#
266# CPU Frequency scaling
267#
268# CONFIG_CPU_FREQ is not set
269
270#
271# Floating point emulation
272#
273
274#
275# At least one emulation must be selected
276#
277CONFIG_FPE_NWFPE=y
278# CONFIG_FPE_NWFPE_XP is not set
279# CONFIG_FPE_FASTFPE is not set
280
281#
282# Userspace binary formats
283#
284CONFIG_BINFMT_ELF=y
285# CONFIG_BINFMT_AOUT is not set
286# CONFIG_BINFMT_MISC is not set
287# CONFIG_ARTHUR is not set
288
289#
290# Power management options
291#
292# CONFIG_PM is not set
293
294#
295# Networking
296#
297CONFIG_NET=y
298
299#
300# Networking options
301#
302CONFIG_PACKET=y
303# CONFIG_PACKET_MMAP is not set
304CONFIG_UNIX=y
305CONFIG_XFRM=y
306# CONFIG_XFRM_USER is not set
307# CONFIG_XFRM_SUB_POLICY is not set
308# CONFIG_XFRM_MIGRATE is not set
309CONFIG_NET_KEY=y
310# CONFIG_NET_KEY_MIGRATE is not set
311CONFIG_INET=y
312# CONFIG_IP_MULTICAST is not set
313# CONFIG_IP_ADVANCED_ROUTER is not set
314CONFIG_IP_FIB_HASH=y
315# CONFIG_IP_PNP is not set
316# CONFIG_NET_IPIP is not set
317# CONFIG_NET_IPGRE is not set
318# CONFIG_ARPD is not set
319# CONFIG_SYN_COOKIES is not set
320# CONFIG_INET_AH is not set
321# CONFIG_INET_ESP is not set
322# CONFIG_INET_IPCOMP is not set
323# CONFIG_INET_XFRM_TUNNEL is not set
324# CONFIG_INET_TUNNEL is not set
325# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
326# CONFIG_INET_XFRM_MODE_TUNNEL is not set
327CONFIG_INET_XFRM_MODE_BEET=y
328# CONFIG_INET_DIAG is not set
329# CONFIG_TCP_CONG_ADVANCED is not set
330CONFIG_TCP_CONG_CUBIC=y
331CONFIG_DEFAULT_TCP_CONG="cubic"
332# CONFIG_TCP_MD5SIG is not set
333# CONFIG_IPV6 is not set
334# CONFIG_INET6_XFRM_TUNNEL is not set
335# CONFIG_INET6_TUNNEL is not set
336# CONFIG_NETWORK_SECMARK is not set
337# CONFIG_NETFILTER is not set
338
339#
340# DCCP Configuration (EXPERIMENTAL)
341#
342# CONFIG_IP_DCCP is not set
343
344#
345# SCTP Configuration (EXPERIMENTAL)
346#
347# CONFIG_IP_SCTP is not set
348
349#
350# TIPC Configuration (EXPERIMENTAL)
351#
352# CONFIG_TIPC is not set
353# CONFIG_ATM is not set
354# CONFIG_BRIDGE is not set
355# CONFIG_VLAN_8021Q is not set
356# CONFIG_DECNET is not set
357# CONFIG_LLC2 is not set
358# CONFIG_IPX is not set
359# CONFIG_ATALK is not set
360# CONFIG_X25 is not set
361# CONFIG_LAPB is not set
362# CONFIG_ECONET is not set
363# CONFIG_WAN_ROUTER is not set
364
365#
366# QoS and/or fair queueing
367#
368# CONFIG_NET_SCHED is not set
369
370#
371# Network testing
372#
373# CONFIG_NET_PKTGEN is not set
374# CONFIG_HAMRADIO is not set
375# CONFIG_IRDA is not set
376# CONFIG_BT is not set
377# CONFIG_AF_RXRPC is not set
378
379#
380# Wireless
381#
382# CONFIG_CFG80211 is not set
383# CONFIG_WIRELESS_EXT is not set
384# CONFIG_MAC80211 is not set
385# CONFIG_IEEE80211 is not set
386# CONFIG_RFKILL is not set
387
388#
389# Device Drivers
390#
391
392#
393# Generic Driver Options
394#
395CONFIG_STANDALONE=y
396CONFIG_PREVENT_FIRMWARE_BUILD=y
397# CONFIG_FW_LOADER is not set
398# CONFIG_SYS_HYPERVISOR is not set
399
400#
401# Connector - unified userspace <-> kernelspace linker
402#
403# CONFIG_CONNECTOR is not set
404# CONFIG_MTD is not set
405
406#
407# Parallel port support
408#
409# CONFIG_PARPORT is not set
410
411#
412# Plug and Play support
413#
414# CONFIG_PNPACPI is not set
415
416#
417# Block devices
418#
419# CONFIG_BLK_DEV_COW_COMMON is not set
420# CONFIG_BLK_DEV_LOOP is not set
421# CONFIG_BLK_DEV_NBD is not set
422# CONFIG_BLK_DEV_RAM is not set
423# CONFIG_CDROM_PKTCDVD is not set
424# CONFIG_ATA_OVER_ETH is not set
425
426#
427# SCSI device support
428#
429# CONFIG_RAID_ATTRS is not set
430# CONFIG_SCSI is not set
431# CONFIG_SCSI_NETLINK is not set
432# CONFIG_ATA is not set
433
434#
435# Multi-device support (RAID and LVM)
436#
437# CONFIG_MD is not set
438
439#
440# Network device support
441#
442# CONFIG_NETDEVICES is not set
443# CONFIG_NETPOLL is not set
444# CONFIG_NET_POLL_CONTROLLER is not set
445
446#
447# ISDN subsystem
448#
449# CONFIG_ISDN is not set
450
451#
452# Input device support
453#
454CONFIG_INPUT=y
455# CONFIG_INPUT_FF_MEMLESS is not set
456
457#
458# Userland interfaces
459#
460CONFIG_INPUT_MOUSEDEV=y
461CONFIG_INPUT_MOUSEDEV_PSAUX=y
462CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
463CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
464# CONFIG_INPUT_JOYDEV is not set
465CONFIG_INPUT_TSDEV=y
466CONFIG_INPUT_TSDEV_SCREEN_X=320
467CONFIG_INPUT_TSDEV_SCREEN_Y=320
468# CONFIG_INPUT_EVDEV is not set
469# CONFIG_INPUT_EVBUG is not set
470
471#
472# Input Device Drivers
473#
474# CONFIG_INPUT_KEYBOARD is not set
475# CONFIG_INPUT_MOUSE is not set
476# CONFIG_INPUT_JOYSTICK is not set
477# CONFIG_INPUT_TABLET is not set
478CONFIG_INPUT_TOUCHSCREEN=y
479CONFIG_TOUCHSCREEN_ADS7846=y
480# CONFIG_TOUCHSCREEN_GUNZE is not set
481# CONFIG_TOUCHSCREEN_ELO is not set
482# CONFIG_TOUCHSCREEN_MTOUCH is not set
483# CONFIG_TOUCHSCREEN_MK712 is not set
484# CONFIG_TOUCHSCREEN_PENMOUNT is not set
485# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
486# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
487# CONFIG_TOUCHSCREEN_UCB1400 is not set
488# CONFIG_TOUCHSCREEN_TSC210X is not set
489# CONFIG_TOUCHSCREEN_TSC2046 is not set
490# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
491# CONFIG_INPUT_MISC is not set
492
493#
494# Hardware I/O ports
495#
496# CONFIG_SERIO is not set
497# CONFIG_GAMEPORT is not set
498
499#
500# Character devices
501#
502CONFIG_VT=y
503CONFIG_VT_CONSOLE=y
504CONFIG_HW_CONSOLE=y
505# CONFIG_VT_HW_CONSOLE_BINDING is not set
506# CONFIG_SERIAL_NONSTANDARD is not set
507
508#
509# Serial drivers
510#
511CONFIG_SERIAL_8250=y
512CONFIG_SERIAL_8250_CONSOLE=y
513CONFIG_SERIAL_8250_NR_UARTS=4
514CONFIG_SERIAL_8250_RUNTIME_UARTS=4
515# CONFIG_SERIAL_8250_EXTENDED is not set
516
517#
518# Non-8250 serial port support
519#
520CONFIG_SERIAL_CORE=y
521CONFIG_SERIAL_CORE_CONSOLE=y
522CONFIG_UNIX98_PTYS=y
523CONFIG_LEGACY_PTYS=y
524CONFIG_LEGACY_PTY_COUNT=16
525
526#
527# IPMI
528#
529# CONFIG_IPMI_HANDLER is not set
530# CONFIG_WATCHDOG is not set
531CONFIG_HW_RANDOM=y
532# CONFIG_NVRAM is not set
533# CONFIG_R3964 is not set
534# CONFIG_RAW_DRIVER is not set
535
536#
537# TPM devices
538#
539# CONFIG_TCG_TPM is not set
540# CONFIG_I2C is not set
541
542#
543# SPI support
544#
545CONFIG_SPI=y
546CONFIG_SPI_MASTER=y
547
548#
549# SPI Master Controller Drivers
550#
551CONFIG_SPI_BITBANG=y
552CONFIG_SPI_OMAP_UWIRE=y
553
554#
555# SPI Protocol Masters
556#
557# CONFIG_SPI_AT25 is not set
558# CONFIG_SPI_TSC2101 is not set
559# CONFIG_SPI_TSC2102 is not set
560# CONFIG_SPI_TSC210X is not set
561# CONFIG_SPI_TSC2301 is not set
562# CONFIG_SPI_SPIDEV is not set
563
564#
565# Dallas's 1-wire bus
566#
567# CONFIG_W1 is not set
568CONFIG_HWMON=y
569# CONFIG_HWMON_VID is not set
570# CONFIG_SENSORS_ABITUGURU is not set
571# CONFIG_SENSORS_F71805F is not set
572# CONFIG_SENSORS_LM70 is not set
573# CONFIG_SENSORS_PC87427 is not set
574# CONFIG_SENSORS_SMSC47M1 is not set
575# CONFIG_SENSORS_SMSC47B397 is not set
576# CONFIG_SENSORS_VT1211 is not set
577# CONFIG_SENSORS_W83627HF is not set
578# CONFIG_SENSORS_TSC210X is not set
579# CONFIG_HWMON_DEBUG_CHIP is not set
580
581#
582# Misc devices
583#
584# CONFIG_BLINK is not set
585
586#
587# Multifunction device drivers
588#
589# CONFIG_MFD_SM501 is not set
590
591#
592# LED devices
593#
594# CONFIG_NEW_LEDS is not set
595
596#
597# LED drivers
598#
599
600#
601# LED Triggers
602#
603
604#
605# Multimedia devices
606#
607# CONFIG_VIDEO_DEV is not set
608# CONFIG_DVB_CORE is not set
609CONFIG_DAB=y
610
611#
612# Graphics support
613#
614CONFIG_BACKLIGHT_LCD_SUPPORT=y
615CONFIG_BACKLIGHT_CLASS_DEVICE=y
616CONFIG_LCD_CLASS_DEVICE=y
617CONFIG_BACKLIGHT_OMAP=y
618
619#
620# Display device support
621#
622# CONFIG_DISPLAY_SUPPORT is not set
623# CONFIG_VGASTATE is not set
624CONFIG_FB=y
625CONFIG_FIRMWARE_EDID=y
626# CONFIG_FB_DDC is not set
627# CONFIG_FB_CFB_FILLRECT is not set
628# CONFIG_FB_CFB_COPYAREA is not set
629# CONFIG_FB_CFB_IMAGEBLIT is not set
630# CONFIG_FB_SYS_FILLRECT is not set
631# CONFIG_FB_SYS_COPYAREA is not set
632# CONFIG_FB_SYS_IMAGEBLIT is not set
633# CONFIG_FB_SYS_FOPS is not set
634CONFIG_FB_DEFERRED_IO=y
635# CONFIG_FB_SVGALIB is not set
636# CONFIG_FB_MACMODES is not set
637# CONFIG_FB_BACKLIGHT is not set
638# CONFIG_FB_MODE_HELPERS is not set
639# CONFIG_FB_TILEBLITTING is not set
640
641#
642# Frame buffer hardware drivers
643#
644# CONFIG_FB_S1D13XXX is not set
645CONFIG_FB_OMAP=y
646# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
647# CONFIG_FB_OMAP_LCD_MIPID is not set
648# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
649CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
650# CONFIG_FB_OMAP_DMA_TUNE is not set
651# CONFIG_FB_VIRTUAL is not set
652
653#
654# Console display driver support
655#
656# CONFIG_VGA_CONSOLE is not set
657CONFIG_DUMMY_CONSOLE=y
658CONFIG_FRAMEBUFFER_CONSOLE=y
659# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
660# CONFIG_FONTS is not set
661CONFIG_FONT_8x8=y
662CONFIG_FONT_8x16=y
663# CONFIG_LOGO is not set
664
665#
666# Sound
667#
668# CONFIG_SOUND is not set
669
670#
671# HID Devices
672#
673CONFIG_HID=y
674# CONFIG_HID_DEBUG is not set
675
676#
677# USB support
678#
679CONFIG_USB_ARCH_HAS_HCD=y
680CONFIG_USB_ARCH_HAS_OHCI=y
681# CONFIG_USB_ARCH_HAS_EHCI is not set
682# CONFIG_USB is not set
683
684#
685# Enable Host or Gadget support to see Inventra options
686#
687
688#
689# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
690#
691
692#
693# USB Gadget Support
694#
695# CONFIG_USB_GADGET is not set
696CONFIG_MMC=y
697# CONFIG_MMC_DEBUG is not set
698# CONFIG_MMC_UNSAFE_RESUME is not set
699
700#
701# MMC/SD Card Drivers
702#
703CONFIG_MMC_BLOCK=y
704
705#
706# MMC/SD Host Controller Drivers
707#
708CONFIG_MMC_OMAP=y
709
710#
711# Real Time Clock
712#
713CONFIG_RTC_LIB=y
714CONFIG_RTC_CLASS=y
715CONFIG_RTC_HCTOSYS=y
716CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
717# CONFIG_RTC_DEBUG is not set
718
719#
720# RTC interfaces
721#
722CONFIG_RTC_INTF_SYSFS=y
723CONFIG_RTC_INTF_PROC=y
724CONFIG_RTC_INTF_DEV=y
725# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
726# CONFIG_RTC_DRV_TEST is not set
727
728#
729# I2C RTC drivers
730#
731
732#
733# SPI RTC drivers
734#
735# CONFIG_RTC_DRV_RS5C348 is not set
736# CONFIG_RTC_DRV_MAX6902 is not set
737
738#
739# Platform RTC drivers
740#
741# CONFIG_RTC_DRV_CMOS is not set
742# CONFIG_RTC_DRV_DS1553 is not set
743# CONFIG_RTC_DRV_DS1742 is not set
744# CONFIG_RTC_DRV_M48T86 is not set
745# CONFIG_RTC_DRV_V3020 is not set
746
747#
748# on-CPU RTC drivers
749#
750CONFIG_RTC_DRV_OMAP=y
751
752#
753# CBUS support
754#
755# CONFIG_CBUS is not set
756
757#
758# File systems
759#
760CONFIG_EXT2_FS=y
761# CONFIG_EXT2_FS_XATTR is not set
762# CONFIG_EXT2_FS_XIP is not set
763# CONFIG_EXT3_FS is not set
764# CONFIG_EXT4DEV_FS is not set
765# CONFIG_REISERFS_FS is not set
766# CONFIG_JFS_FS is not set
767# CONFIG_FS_POSIX_ACL is not set
768# CONFIG_XFS_FS is not set
769# CONFIG_GFS2_FS is not set
770# CONFIG_OCFS2_FS is not set
771# CONFIG_MINIX_FS is not set
772# CONFIG_ROMFS_FS is not set
773# CONFIG_INOTIFY is not set
774# CONFIG_QUOTA is not set
775CONFIG_DNOTIFY=y
776# CONFIG_AUTOFS_FS is not set
777# CONFIG_AUTOFS4_FS is not set
778# CONFIG_FUSE_FS is not set
779
780#
781# CD-ROM/DVD Filesystems
782#
783# CONFIG_ISO9660_FS is not set
784# CONFIG_UDF_FS is not set
785
786#
787# DOS/FAT/NT Filesystems
788#
789# CONFIG_MSDOS_FS is not set
790# CONFIG_VFAT_FS is not set
791# CONFIG_NTFS_FS is not set
792
793#
794# Pseudo filesystems
795#
796CONFIG_PROC_FS=y
797CONFIG_PROC_SYSCTL=y
798CONFIG_SYSFS=y
799# CONFIG_TMPFS is not set
800# CONFIG_HUGETLB_PAGE is not set
801CONFIG_RAMFS=y
802# CONFIG_CONFIGFS_FS is not set
803
804#
805# Miscellaneous filesystems
806#
807# CONFIG_ADFS_FS is not set
808# CONFIG_AFFS_FS is not set
809# CONFIG_HFS_FS is not set
810# CONFIG_HFSPLUS_FS is not set
811# CONFIG_BEFS_FS is not set
812# CONFIG_BFS_FS is not set
813# CONFIG_EFS_FS is not set
814# CONFIG_CRAMFS is not set
815# CONFIG_VXFS_FS is not set
816# CONFIG_HPFS_FS is not set
817# CONFIG_QNX4FS_FS is not set
818# CONFIG_SYSV_FS is not set
819# CONFIG_UFS_FS is not set
820
821#
822# Network File Systems
823#
824# CONFIG_NFS_FS is not set
825# CONFIG_NFSD is not set
826# CONFIG_SMB_FS is not set
827# CONFIG_CIFS is not set
828# CONFIG_NCP_FS is not set
829# CONFIG_CODA_FS is not set
830# CONFIG_AFS_FS is not set
831# CONFIG_9P_FS is not set
832
833#
834# Partition Types
835#
836# CONFIG_PARTITION_ADVANCED is not set
837CONFIG_MSDOS_PARTITION=y
838
839#
840# Native Language Support
841#
842# CONFIG_NLS is not set
843
844#
845# Distributed Lock Manager
846#
847# CONFIG_DLM is not set
848
849#
850# Profiling support
851#
852# CONFIG_PROFILING is not set
853
854#
855# Kernel hacking
856#
857# CONFIG_PRINTK_TIME is not set
858CONFIG_ENABLE_MUST_CHECK=y
859# CONFIG_MAGIC_SYSRQ is not set
860# CONFIG_UNUSED_SYMBOLS is not set
861# CONFIG_DEBUG_FS is not set
862# CONFIG_HEADERS_CHECK is not set
863# CONFIG_DEBUG_KERNEL is not set
864CONFIG_DEBUG_BUGVERBOSE=y
865CONFIG_FRAME_POINTER=y
866# CONFIG_DEBUG_USER is not set
867
868#
869# Security options
870#
871# CONFIG_KEYS is not set
872# CONFIG_SECURITY is not set
873
874#
875# Cryptographic options
876#
877# CONFIG_CRYPTO is not set
878
879#
880# Library routines
881#
882CONFIG_BITREVERSE=y
883CONFIG_CRC_CCITT=y
884CONFIG_CRC16=y
885# CONFIG_CRC_ITU_T is not set
886CONFIG_CRC32=y
887CONFIG_LIBCRC32C=y
888CONFIG_PLIST=y
889CONFIG_HAS_IOMEM=y
890CONFIG_HAS_IOPORT=y
891CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/palmz72_defconfig b/arch/arm/configs/palmz72_defconfig
new file mode 100644
index 000000000000..3245f8f33e0a
--- /dev/null
+++ b/arch/arm/configs/palmz72_defconfig
@@ -0,0 +1,951 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc4
4# Sun Aug 24 02:29:27 2008
5#
6CONFIG_ARM=y
7CONFIG_HAVE_PWM=y
8CONFIG_SYS_SUPPORTS_APM_EMULATION=y
9CONFIG_GENERIC_GPIO=y
10CONFIG_GENERIC_TIME=y
11CONFIG_GENERIC_CLOCKEVENTS=y
12CONFIG_MMU=y
13# CONFIG_NO_IOPORT is not set
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_STACKTRACE_SUPPORT=y
16CONFIG_HAVE_LATENCYTOP_SUPPORT=y
17CONFIG_LOCKDEP_SUPPORT=y
18CONFIG_TRACE_IRQFLAGS_SUPPORT=y
19CONFIG_HARDIRQS_SW_RESEND=y
20CONFIG_GENERIC_IRQ_PROBE=y
21CONFIG_RWSEM_GENERIC_SPINLOCK=y
22# CONFIG_ARCH_HAS_ILOG2_U32 is not set
23# CONFIG_ARCH_HAS_ILOG2_U64 is not set
24CONFIG_GENERIC_HWEIGHT=y
25CONFIG_GENERIC_CALIBRATE_DELAY=y
26CONFIG_ARCH_SUPPORTS_AOUT=y
27CONFIG_ZONE_DMA=y
28CONFIG_ARCH_MTD_XIP=y
29CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30CONFIG_VECTORS_BASE=0xffff0000
31CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
32
33#
34# General setup
35#
36CONFIG_EXPERIMENTAL=y
37CONFIG_BROKEN_ON_SMP=y
38CONFIG_LOCK_KERNEL=y
39CONFIG_INIT_ENV_ARG_LIMIT=32
40CONFIG_LOCALVERSION=""
41# CONFIG_LOCALVERSION_AUTO is not set
42CONFIG_SWAP=y
43CONFIG_SYSVIPC=y
44CONFIG_SYSVIPC_SYSCTL=y
45# CONFIG_POSIX_MQUEUE is not set
46# CONFIG_BSD_PROCESS_ACCT is not set
47# CONFIG_TASKSTATS is not set
48# CONFIG_AUDIT is not set
49# CONFIG_IKCONFIG is not set
50CONFIG_LOG_BUF_SHIFT=14
51# CONFIG_CGROUPS is not set
52# CONFIG_GROUP_SCHED is not set
53CONFIG_SYSFS_DEPRECATED=y
54CONFIG_SYSFS_DEPRECATED_V2=y
55# CONFIG_RELAY is not set
56CONFIG_NAMESPACES=y
57# CONFIG_UTS_NS is not set
58# CONFIG_IPC_NS is not set
59# CONFIG_USER_NS is not set
60# CONFIG_PID_NS is not set
61CONFIG_BLK_DEV_INITRD=y
62CONFIG_INITRAMFS_SOURCE=""
63CONFIG_CC_OPTIMIZE_FOR_SIZE=y
64CONFIG_SYSCTL=y
65# CONFIG_EMBEDDED is not set
66CONFIG_UID16=y
67CONFIG_SYSCTL_SYSCALL=y
68CONFIG_KALLSYMS=y
69# CONFIG_KALLSYMS_EXTRA_PASS is not set
70CONFIG_HOTPLUG=y
71CONFIG_PRINTK=y
72CONFIG_BUG=y
73CONFIG_ELF_CORE=y
74CONFIG_COMPAT_BRK=y
75CONFIG_BASE_FULL=y
76CONFIG_FUTEX=y
77CONFIG_ANON_INODES=y
78CONFIG_EPOLL=y
79CONFIG_SIGNALFD=y
80CONFIG_TIMERFD=y
81CONFIG_EVENTFD=y
82CONFIG_SHMEM=y
83CONFIG_VM_EVENT_COUNTERS=y
84CONFIG_SLAB=y
85# CONFIG_SLUB is not set
86# CONFIG_SLOB is not set
87# CONFIG_PROFILING is not set
88# CONFIG_MARKERS is not set
89CONFIG_HAVE_OPROFILE=y
90# CONFIG_KPROBES is not set
91# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
92# CONFIG_HAVE_IOREMAP_PROT is not set
93CONFIG_HAVE_KPROBES=y
94CONFIG_HAVE_KRETPROBES=y
95# CONFIG_HAVE_ARCH_TRACEHOOK is not set
96# CONFIG_HAVE_DMA_ATTRS is not set
97# CONFIG_USE_GENERIC_SMP_HELPERS is not set
98CONFIG_HAVE_CLK=y
99CONFIG_PROC_PAGE_MONITOR=y
100CONFIG_HAVE_GENERIC_DMA_COHERENT=y
101CONFIG_SLABINFO=y
102CONFIG_RT_MUTEXES=y
103# CONFIG_TINY_SHMEM is not set
104CONFIG_BASE_SMALL=0
105CONFIG_MODULES=y
106# CONFIG_MODULE_FORCE_LOAD is not set
107CONFIG_MODULE_UNLOAD=y
108# CONFIG_MODULE_FORCE_UNLOAD is not set
109# CONFIG_MODVERSIONS is not set
110# CONFIG_MODULE_SRCVERSION_ALL is not set
111CONFIG_KMOD=y
112CONFIG_BLOCK=y
113# CONFIG_LBD is not set
114# CONFIG_BLK_DEV_IO_TRACE is not set
115# CONFIG_LSF is not set
116# CONFIG_BLK_DEV_BSG is not set
117# CONFIG_BLK_DEV_INTEGRITY is not set
118
119#
120# IO Schedulers
121#
122CONFIG_IOSCHED_NOOP=y
123CONFIG_IOSCHED_AS=y
124# CONFIG_IOSCHED_DEADLINE is not set
125# CONFIG_IOSCHED_CFQ is not set
126CONFIG_DEFAULT_AS=y
127# CONFIG_DEFAULT_DEADLINE is not set
128# CONFIG_DEFAULT_CFQ is not set
129# CONFIG_DEFAULT_NOOP is not set
130CONFIG_DEFAULT_IOSCHED="anticipatory"
131CONFIG_CLASSIC_RCU=y
132
133#
134# System Type
135#
136# CONFIG_ARCH_AAEC2000 is not set
137# CONFIG_ARCH_INTEGRATOR is not set
138# CONFIG_ARCH_REALVIEW is not set
139# CONFIG_ARCH_VERSATILE is not set
140# CONFIG_ARCH_AT91 is not set
141# CONFIG_ARCH_CLPS7500 is not set
142# CONFIG_ARCH_CLPS711X is not set
143# CONFIG_ARCH_EBSA110 is not set
144# CONFIG_ARCH_EP93XX is not set
145# CONFIG_ARCH_FOOTBRIDGE is not set
146# CONFIG_ARCH_NETX is not set
147# CONFIG_ARCH_H720X is not set
148# CONFIG_ARCH_IMX is not set
149# CONFIG_ARCH_IOP13XX is not set
150# CONFIG_ARCH_IOP32X is not set
151# CONFIG_ARCH_IOP33X is not set
152# CONFIG_ARCH_IXP23XX is not set
153# CONFIG_ARCH_IXP2000 is not set
154# CONFIG_ARCH_IXP4XX is not set
155# CONFIG_ARCH_L7200 is not set
156# CONFIG_ARCH_KIRKWOOD is not set
157# CONFIG_ARCH_KS8695 is not set
158# CONFIG_ARCH_NS9XXX is not set
159# CONFIG_ARCH_LOKI is not set
160# CONFIG_ARCH_MV78XX0 is not set
161# CONFIG_ARCH_MXC is not set
162# CONFIG_ARCH_ORION5X is not set
163# CONFIG_ARCH_PNX4008 is not set
164CONFIG_ARCH_PXA=y
165# CONFIG_ARCH_RPC is not set
166# CONFIG_ARCH_SA1100 is not set
167# CONFIG_ARCH_S3C2410 is not set
168# CONFIG_ARCH_SHARK is not set
169# CONFIG_ARCH_LH7A40X is not set
170# CONFIG_ARCH_DAVINCI is not set
171# CONFIG_ARCH_OMAP is not set
172# CONFIG_ARCH_MSM7X00A is not set
173
174#
175# Intel PXA2xx/PXA3xx Implementations
176#
177# CONFIG_ARCH_GUMSTIX is not set
178# CONFIG_ARCH_LUBBOCK is not set
179# CONFIG_MACH_LOGICPD_PXA270 is not set
180# CONFIG_MACH_MAINSTONE is not set
181# CONFIG_ARCH_PXA_IDP is not set
182# CONFIG_PXA_SHARPSL is not set
183# CONFIG_ARCH_PXA_ESERIES is not set
184# CONFIG_MACH_TRIZEPS4 is not set
185# CONFIG_MACH_EM_X270 is not set
186# CONFIG_MACH_COLIBRI is not set
187# CONFIG_MACH_ZYLONITE is not set
188# CONFIG_MACH_LITTLETON is not set
189# CONFIG_MACH_TAVOREVB is not set
190# CONFIG_MACH_SAAR is not set
191# CONFIG_MACH_ARMCORE is not set
192# CONFIG_MACH_MAGICIAN is not set
193# CONFIG_MACH_PCM027 is not set
194CONFIG_ARCH_PXA_PALM=y
195# CONFIG_MACH_PALMTX is not set
196CONFIG_MACH_PALMZ72=y
197# CONFIG_PXA_EZX is not set
198CONFIG_PXA27x=y
199CONFIG_PXA_PWM=y
200
201#
202# Boot options
203#
204
205#
206# Power management
207#
208
209#
210# Processor Type
211#
212CONFIG_CPU_32=y
213CONFIG_CPU_XSCALE=y
214CONFIG_CPU_32v5=y
215CONFIG_CPU_ABRT_EV5T=y
216CONFIG_CPU_PABRT_NOIFAR=y
217CONFIG_CPU_CACHE_VIVT=y
218CONFIG_CPU_TLB_V4WBI=y
219CONFIG_CPU_CP15=y
220CONFIG_CPU_CP15_MMU=y
221
222#
223# Processor Features
224#
225CONFIG_ARM_THUMB=y
226# CONFIG_CPU_DCACHE_DISABLE is not set
227# CONFIG_OUTER_CACHE is not set
228CONFIG_IWMMXT=y
229CONFIG_XSCALE_PMU=y
230
231#
232# Bus support
233#
234# CONFIG_PCI_SYSCALL is not set
235# CONFIG_ARCH_SUPPORTS_MSI is not set
236# CONFIG_PCCARD is not set
237
238#
239# Kernel Features
240#
241CONFIG_TICK_ONESHOT=y
242# CONFIG_NO_HZ is not set
243# CONFIG_HIGH_RES_TIMERS is not set
244CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
245CONFIG_PREEMPT=y
246CONFIG_HZ=100
247CONFIG_AEABI=y
248CONFIG_OABI_COMPAT=y
249# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
250CONFIG_SELECT_MEMORY_MODEL=y
251CONFIG_FLATMEM_MANUAL=y
252# CONFIG_DISCONTIGMEM_MANUAL is not set
253# CONFIG_SPARSEMEM_MANUAL is not set
254CONFIG_FLATMEM=y
255CONFIG_FLAT_NODE_MEM_MAP=y
256# CONFIG_SPARSEMEM_STATIC is not set
257# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
258CONFIG_PAGEFLAGS_EXTENDED=y
259CONFIG_SPLIT_PTLOCK_CPUS=4096
260# CONFIG_RESOURCES_64BIT is not set
261CONFIG_ZONE_DMA_FLAG=1
262CONFIG_BOUNCE=y
263CONFIG_VIRT_TO_BUS=y
264CONFIG_ALIGNMENT_TRAP=y
265
266#
267# Boot options
268#
269CONFIG_ZBOOT_ROM_TEXT=0x0
270CONFIG_ZBOOT_ROM_BSS=0x0
271CONFIG_CMDLINE="mem=32M console=tty root=/dev/mmcblk0"
272# CONFIG_XIP_KERNEL is not set
273# CONFIG_KEXEC is not set
274
275#
276# CPU Frequency scaling
277#
278# CONFIG_CPU_FREQ is not set
279
280#
281# Floating point emulation
282#
283
284#
285# At least one emulation must be selected
286#
287CONFIG_FPE_NWFPE=y
288# CONFIG_FPE_NWFPE_XP is not set
289# CONFIG_FPE_FASTFPE is not set
290
291#
292# Userspace binary formats
293#
294CONFIG_BINFMT_ELF=y
295# CONFIG_BINFMT_AOUT is not set
296# CONFIG_BINFMT_MISC is not set
297
298#
299# Power management options
300#
301CONFIG_PM=y
302# CONFIG_PM_DEBUG is not set
303CONFIG_PM_SLEEP=y
304CONFIG_SUSPEND=y
305CONFIG_SUSPEND_FREEZER=y
306CONFIG_APM_EMULATION=y
307CONFIG_ARCH_SUSPEND_POSSIBLE=y
308CONFIG_NET=y
309
310#
311# Networking options
312#
313CONFIG_PACKET=y
314# CONFIG_PACKET_MMAP is not set
315CONFIG_UNIX=y
316# CONFIG_NET_KEY is not set
317CONFIG_INET=y
318# CONFIG_IP_MULTICAST is not set
319# CONFIG_IP_ADVANCED_ROUTER is not set
320CONFIG_IP_FIB_HASH=y
321CONFIG_IP_PNP=y
322# CONFIG_IP_PNP_DHCP is not set
323CONFIG_IP_PNP_BOOTP=y
324# CONFIG_IP_PNP_RARP is not set
325# CONFIG_NET_IPIP is not set
326# CONFIG_NET_IPGRE is not set
327# CONFIG_ARPD is not set
328# CONFIG_SYN_COOKIES is not set
329# CONFIG_INET_AH is not set
330# CONFIG_INET_ESP is not set
331# CONFIG_INET_IPCOMP is not set
332# CONFIG_INET_XFRM_TUNNEL is not set
333# CONFIG_INET_TUNNEL is not set
334# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
335# CONFIG_INET_XFRM_MODE_TUNNEL is not set
336# CONFIG_INET_XFRM_MODE_BEET is not set
337# CONFIG_INET_LRO is not set
338CONFIG_INET_DIAG=y
339CONFIG_INET_TCP_DIAG=y
340# CONFIG_TCP_CONG_ADVANCED is not set
341CONFIG_TCP_CONG_CUBIC=y
342CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_TCP_MD5SIG is not set
344# CONFIG_IPV6 is not set
345# CONFIG_NETWORK_SECMARK is not set
346# CONFIG_NETFILTER is not set
347# CONFIG_IP_DCCP is not set
348# CONFIG_IP_SCTP is not set
349# CONFIG_TIPC is not set
350# CONFIG_ATM is not set
351# CONFIG_BRIDGE is not set
352# CONFIG_VLAN_8021Q is not set
353# CONFIG_DECNET is not set
354# CONFIG_LLC2 is not set
355# CONFIG_IPX is not set
356# CONFIG_ATALK is not set
357# CONFIG_X25 is not set
358# CONFIG_LAPB is not set
359# CONFIG_ECONET is not set
360# CONFIG_WAN_ROUTER is not set
361# CONFIG_NET_SCHED is not set
362
363#
364# Network testing
365#
366# CONFIG_NET_PKTGEN is not set
367# CONFIG_HAMRADIO is not set
368# CONFIG_CAN is not set
369# CONFIG_IRDA is not set
370# CONFIG_BT is not set
371# CONFIG_AF_RXRPC is not set
372
373#
374# Wireless
375#
376# CONFIG_CFG80211 is not set
377# CONFIG_WIRELESS_EXT is not set
378# CONFIG_MAC80211 is not set
379# CONFIG_IEEE80211 is not set
380# CONFIG_RFKILL is not set
381# CONFIG_NET_9P is not set
382
383#
384# Device Drivers
385#
386
387#
388# Generic Driver Options
389#
390CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
391CONFIG_STANDALONE=y
392CONFIG_PREVENT_FIRMWARE_BUILD=y
393CONFIG_FW_LOADER=y
394CONFIG_FIRMWARE_IN_KERNEL=y
395CONFIG_EXTRA_FIRMWARE=""
396# CONFIG_SYS_HYPERVISOR is not set
397# CONFIG_CONNECTOR is not set
398# CONFIG_MTD is not set
399# CONFIG_PARPORT is not set
400CONFIG_BLK_DEV=y
401# CONFIG_BLK_DEV_COW_COMMON is not set
402CONFIG_BLK_DEV_LOOP=y
403# CONFIG_BLK_DEV_CRYPTOLOOP is not set
404# CONFIG_BLK_DEV_NBD is not set
405# CONFIG_BLK_DEV_RAM is not set
406# CONFIG_CDROM_PKTCDVD is not set
407# CONFIG_ATA_OVER_ETH is not set
408# CONFIG_MISC_DEVICES is not set
409CONFIG_HAVE_IDE=y
410# CONFIG_IDE is not set
411
412#
413# SCSI device support
414#
415# CONFIG_RAID_ATTRS is not set
416# CONFIG_SCSI is not set
417# CONFIG_SCSI_DMA is not set
418# CONFIG_SCSI_NETLINK is not set
419# CONFIG_ATA is not set
420# CONFIG_MD is not set
421# CONFIG_NETDEVICES is not set
422# CONFIG_ISDN is not set
423
424#
425# Input device support
426#
427CONFIG_INPUT=y
428# CONFIG_INPUT_FF_MEMLESS is not set
429# CONFIG_INPUT_POLLDEV is not set
430
431#
432# Userland interfaces
433#
434CONFIG_INPUT_MOUSEDEV=y
435# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
436CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
437CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
438# CONFIG_INPUT_JOYDEV is not set
439CONFIG_INPUT_EVDEV=y
440# CONFIG_INPUT_EVBUG is not set
441
442#
443# Input Device Drivers
444#
445CONFIG_INPUT_KEYBOARD=y
446# CONFIG_KEYBOARD_ATKBD is not set
447# CONFIG_KEYBOARD_SUNKBD is not set
448# CONFIG_KEYBOARD_LKKBD is not set
449# CONFIG_KEYBOARD_XTKBD is not set
450# CONFIG_KEYBOARD_NEWTON is not set
451# CONFIG_KEYBOARD_STOWAWAY is not set
452CONFIG_KEYBOARD_PXA27x=y
453# CONFIG_KEYBOARD_GPIO is not set
454# CONFIG_KEYBOARD_MATRIX is not set
455# CONFIG_INPUT_MOUSE is not set
456# CONFIG_INPUT_JOYSTICK is not set
457# CONFIG_INPUT_TABLET is not set
458# CONFIG_INPUT_TOUCHSCREEN is not set
459# CONFIG_INPUT_MISC is not set
460
461#
462# Hardware I/O ports
463#
464# CONFIG_SERIO is not set
465# CONFIG_GAMEPORT is not set
466
467#
468# Character devices
469#
470CONFIG_VT=y
471CONFIG_CONSOLE_TRANSLATIONS=y
472CONFIG_VT_CONSOLE=y
473CONFIG_HW_CONSOLE=y
474# CONFIG_VT_HW_CONSOLE_BINDING is not set
475CONFIG_DEVKMEM=y
476# CONFIG_SERIAL_NONSTANDARD is not set
477
478#
479# Serial drivers
480#
481# CONFIG_SERIAL_8250 is not set
482
483#
484# Non-8250 serial port support
485#
486# CONFIG_SERIAL_PXA is not set
487CONFIG_UNIX98_PTYS=y
488CONFIG_LEGACY_PTYS=y
489CONFIG_LEGACY_PTY_COUNT=256
490# CONFIG_IPMI_HANDLER is not set
491# CONFIG_HW_RANDOM is not set
492# CONFIG_NVRAM is not set
493# CONFIG_R3964 is not set
494# CONFIG_RAW_DRIVER is not set
495# CONFIG_TCG_TPM is not set
496CONFIG_I2C=y
497CONFIG_I2C_BOARDINFO=y
498# CONFIG_I2C_CHARDEV is not set
499CONFIG_I2C_HELPER_AUTO=y
500
501#
502# I2C Hardware Bus support
503#
504
505#
506# I2C system bus drivers (mostly embedded / system-on-chip)
507#
508# CONFIG_I2C_GPIO is not set
509# CONFIG_I2C_OCORES is not set
510CONFIG_I2C_PXA=y
511# CONFIG_I2C_PXA_SLAVE is not set
512# CONFIG_I2C_SIMTEC is not set
513
514#
515# External I2C/SMBus adapter drivers
516#
517# CONFIG_I2C_PARPORT_LIGHT is not set
518# CONFIG_I2C_TAOS_EVM is not set
519
520#
521# Other I2C/SMBus bus drivers
522#
523# CONFIG_I2C_PCA_PLATFORM is not set
524# CONFIG_I2C_STUB is not set
525
526#
527# Miscellaneous I2C Chip support
528#
529# CONFIG_DS1682 is not set
530# CONFIG_AT24 is not set
531# CONFIG_SENSORS_EEPROM is not set
532# CONFIG_SENSORS_PCF8574 is not set
533# CONFIG_PCF8575 is not set
534# CONFIG_SENSORS_PCA9539 is not set
535# CONFIG_SENSORS_PCF8591 is not set
536# CONFIG_TPS65010 is not set
537# CONFIG_SENSORS_MAX6875 is not set
538# CONFIG_SENSORS_TSL2550 is not set
539# CONFIG_I2C_DEBUG_CORE is not set
540# CONFIG_I2C_DEBUG_ALGO is not set
541# CONFIG_I2C_DEBUG_BUS is not set
542# CONFIG_I2C_DEBUG_CHIP is not set
543CONFIG_SPI=y
544CONFIG_SPI_MASTER=y
545
546#
547# SPI Master Controller Drivers
548#
549# CONFIG_SPI_BITBANG is not set
550# CONFIG_SPI_PXA2XX is not set
551
552#
553# SPI Protocol Masters
554#
555# CONFIG_SPI_AT25 is not set
556CONFIG_SPI_SPIDEV=y
557# CONFIG_SPI_TLE62X0 is not set
558CONFIG_ARCH_REQUIRE_GPIOLIB=y
559CONFIG_GPIOLIB=y
560CONFIG_GPIO_SYSFS=y
561
562#
563# I2C GPIO expanders:
564#
565# CONFIG_GPIO_MAX732X is not set
566# CONFIG_GPIO_PCA953X is not set
567# CONFIG_GPIO_PCF857X is not set
568
569#
570# PCI GPIO expanders:
571#
572
573#
574# SPI GPIO expanders:
575#
576# CONFIG_GPIO_MAX7301 is not set
577# CONFIG_GPIO_MCP23S08 is not set
578# CONFIG_W1 is not set
579CONFIG_POWER_SUPPLY=y
580# CONFIG_POWER_SUPPLY_DEBUG is not set
581CONFIG_PDA_POWER=y
582# CONFIG_APM_POWER is not set
583# CONFIG_BATTERY_DS2760 is not set
584# CONFIG_HWMON is not set
585# CONFIG_WATCHDOG is not set
586
587#
588# Sonics Silicon Backplane
589#
590CONFIG_SSB_POSSIBLE=y
591# CONFIG_SSB is not set
592
593#
594# Multifunction device drivers
595#
596# CONFIG_MFD_CORE is not set
597# CONFIG_MFD_SM501 is not set
598# CONFIG_HTC_EGPIO is not set
599# CONFIG_HTC_PASIC3 is not set
600# CONFIG_MFD_TMIO is not set
601# CONFIG_MFD_T7L66XB is not set
602# CONFIG_MFD_TC6387XB is not set
603# CONFIG_MFD_TC6393XB is not set
604
605#
606# Multimedia devices
607#
608
609#
610# Multimedia core support
611#
612# CONFIG_VIDEO_DEV is not set
613# CONFIG_DVB_CORE is not set
614# CONFIG_VIDEO_MEDIA is not set
615
616#
617# Multimedia drivers
618#
619# CONFIG_DAB is not set
620
621#
622# Graphics support
623#
624# CONFIG_VGASTATE is not set
625# CONFIG_VIDEO_OUTPUT_CONTROL is not set
626CONFIG_FB=y
627# CONFIG_FIRMWARE_EDID is not set
628# CONFIG_FB_DDC is not set
629CONFIG_FB_CFB_FILLRECT=y
630CONFIG_FB_CFB_COPYAREA=y
631CONFIG_FB_CFB_IMAGEBLIT=y
632# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
633# CONFIG_FB_SYS_FILLRECT is not set
634# CONFIG_FB_SYS_COPYAREA is not set
635# CONFIG_FB_SYS_IMAGEBLIT is not set
636# CONFIG_FB_FOREIGN_ENDIAN is not set
637# CONFIG_FB_SYS_FOPS is not set
638# CONFIG_FB_SVGALIB is not set
639# CONFIG_FB_MACMODES is not set
640# CONFIG_FB_BACKLIGHT is not set
641# CONFIG_FB_MODE_HELPERS is not set
642# CONFIG_FB_TILEBLITTING is not set
643
644#
645# Frame buffer hardware drivers
646#
647# CONFIG_FB_S1D13XXX is not set
648CONFIG_FB_PXA=y
649# CONFIG_FB_PXA_SMARTPANEL is not set
650# CONFIG_FB_PXA_PARAMETERS is not set
651# CONFIG_FB_MBX is not set
652# CONFIG_FB_W100 is not set
653# CONFIG_FB_AM200EPD is not set
654# CONFIG_FB_VIRTUAL is not set
655CONFIG_BACKLIGHT_LCD_SUPPORT=y
656# CONFIG_LCD_CLASS_DEVICE is not set
657CONFIG_BACKLIGHT_CLASS_DEVICE=y
658# CONFIG_BACKLIGHT_CORGI is not set
659CONFIG_BACKLIGHT_PWM=y
660
661#
662# Display device support
663#
664CONFIG_DISPLAY_SUPPORT=y
665
666#
667# Display hardware drivers
668#
669
670#
671# Console display driver support
672#
673# CONFIG_VGA_CONSOLE is not set
674CONFIG_DUMMY_CONSOLE=y
675CONFIG_FRAMEBUFFER_CONSOLE=y
676# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
677# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
678CONFIG_FONTS=y
679CONFIG_FONT_8x8=y
680# CONFIG_FONT_8x16 is not set
681# CONFIG_FONT_6x11 is not set
682# CONFIG_FONT_7x14 is not set
683# CONFIG_FONT_PEARL_8x8 is not set
684# CONFIG_FONT_ACORN_8x8 is not set
685# CONFIG_FONT_MINI_4x6 is not set
686# CONFIG_FONT_SUN8x16 is not set
687# CONFIG_FONT_SUN12x22 is not set
688# CONFIG_FONT_10x18 is not set
689# CONFIG_LOGO is not set
690# CONFIG_SOUND is not set
691# CONFIG_HID_SUPPORT is not set
692# CONFIG_USB_SUPPORT is not set
693CONFIG_MMC=y
694CONFIG_MMC_DEBUG=y
695# CONFIG_MMC_UNSAFE_RESUME is not set
696
697#
698# MMC/SD Card Drivers
699#
700CONFIG_MMC_BLOCK=y
701CONFIG_MMC_BLOCK_BOUNCE=y
702# CONFIG_SDIO_UART is not set
703# CONFIG_MMC_TEST is not set
704
705#
706# MMC/SD Host Controller Drivers
707#
708CONFIG_MMC_PXA=y
709# CONFIG_MMC_SDHCI is not set
710# CONFIG_MMC_SPI is not set
711# CONFIG_NEW_LEDS is not set
712CONFIG_RTC_LIB=y
713CONFIG_RTC_CLASS=y
714CONFIG_RTC_HCTOSYS=y
715CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
716# CONFIG_RTC_DEBUG is not set
717
718#
719# RTC interfaces
720#
721CONFIG_RTC_INTF_SYSFS=y
722CONFIG_RTC_INTF_PROC=y
723CONFIG_RTC_INTF_DEV=y
724# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
725# CONFIG_RTC_DRV_TEST is not set
726
727#
728# I2C RTC drivers
729#
730# CONFIG_RTC_DRV_DS1307 is not set
731# CONFIG_RTC_DRV_DS1374 is not set
732# CONFIG_RTC_DRV_DS1672 is not set
733# CONFIG_RTC_DRV_MAX6900 is not set
734# CONFIG_RTC_DRV_RS5C372 is not set
735# CONFIG_RTC_DRV_ISL1208 is not set
736# CONFIG_RTC_DRV_X1205 is not set
737# CONFIG_RTC_DRV_PCF8563 is not set
738# CONFIG_RTC_DRV_PCF8583 is not set
739# CONFIG_RTC_DRV_M41T80 is not set
740# CONFIG_RTC_DRV_S35390A is not set
741# CONFIG_RTC_DRV_FM3130 is not set
742
743#
744# SPI RTC drivers
745#
746# CONFIG_RTC_DRV_M41T94 is not set
747# CONFIG_RTC_DRV_DS1305 is not set
748# CONFIG_RTC_DRV_MAX6902 is not set
749# CONFIG_RTC_DRV_R9701 is not set
750# CONFIG_RTC_DRV_RS5C348 is not set
751
752#
753# Platform RTC drivers
754#
755# CONFIG_RTC_DRV_CMOS is not set
756# CONFIG_RTC_DRV_DS1511 is not set
757# CONFIG_RTC_DRV_DS1553 is not set
758# CONFIG_RTC_DRV_DS1742 is not set
759# CONFIG_RTC_DRV_STK17TA8 is not set
760# CONFIG_RTC_DRV_M48T86 is not set
761# CONFIG_RTC_DRV_M48T59 is not set
762# CONFIG_RTC_DRV_V3020 is not set
763
764#
765# on-CPU RTC drivers
766#
767CONFIG_RTC_DRV_SA1100=y
768# CONFIG_DMADEVICES is not set
769
770#
771# Voltage and Current regulators
772#
773# CONFIG_REGULATOR is not set
774# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
775# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
776# CONFIG_REGULATOR_BQ24022 is not set
777# CONFIG_UIO is not set
778
779#
780# File systems
781#
782CONFIG_EXT2_FS=y
783# CONFIG_EXT2_FS_XATTR is not set
784# CONFIG_EXT2_FS_XIP is not set
785CONFIG_EXT3_FS=y
786CONFIG_EXT3_FS_XATTR=y
787# CONFIG_EXT3_FS_POSIX_ACL is not set
788# CONFIG_EXT3_FS_SECURITY is not set
789# CONFIG_EXT4DEV_FS is not set
790CONFIG_JBD=y
791CONFIG_FS_MBCACHE=y
792# CONFIG_REISERFS_FS is not set
793# CONFIG_JFS_FS is not set
794# CONFIG_FS_POSIX_ACL is not set
795# CONFIG_XFS_FS is not set
796# CONFIG_OCFS2_FS is not set
797# CONFIG_DNOTIFY is not set
798# CONFIG_INOTIFY is not set
799# CONFIG_QUOTA is not set
800# CONFIG_AUTOFS_FS is not set
801# CONFIG_AUTOFS4_FS is not set
802# CONFIG_FUSE_FS is not set
803
804#
805# CD-ROM/DVD Filesystems
806#
807# CONFIG_ISO9660_FS is not set
808# CONFIG_UDF_FS is not set
809
810#
811# DOS/FAT/NT Filesystems
812#
813CONFIG_FAT_FS=y
814CONFIG_MSDOS_FS=y
815CONFIG_VFAT_FS=y
816CONFIG_FAT_DEFAULT_CODEPAGE=866
817CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
818# CONFIG_NTFS_FS is not set
819
820#
821# Pseudo filesystems
822#
823CONFIG_PROC_FS=y
824CONFIG_PROC_SYSCTL=y
825CONFIG_SYSFS=y
826CONFIG_TMPFS=y
827# CONFIG_TMPFS_POSIX_ACL is not set
828# CONFIG_HUGETLB_PAGE is not set
829# CONFIG_CONFIGFS_FS is not set
830
831#
832# Miscellaneous filesystems
833#
834# CONFIG_ADFS_FS is not set
835# CONFIG_AFFS_FS is not set
836# CONFIG_HFS_FS is not set
837# CONFIG_HFSPLUS_FS is not set
838# CONFIG_BEFS_FS is not set
839# CONFIG_BFS_FS is not set
840# CONFIG_EFS_FS is not set
841# CONFIG_CRAMFS is not set
842# CONFIG_VXFS_FS is not set
843# CONFIG_MINIX_FS is not set
844# CONFIG_OMFS_FS is not set
845# CONFIG_HPFS_FS is not set
846# CONFIG_QNX4FS_FS is not set
847# CONFIG_ROMFS_FS is not set
848# CONFIG_SYSV_FS is not set
849# CONFIG_UFS_FS is not set
850# CONFIG_NETWORK_FILESYSTEMS is not set
851
852#
853# Partition Types
854#
855# CONFIG_PARTITION_ADVANCED is not set
856CONFIG_MSDOS_PARTITION=y
857CONFIG_NLS=y
858CONFIG_NLS_DEFAULT="utf8"
859# CONFIG_NLS_CODEPAGE_437 is not set
860# CONFIG_NLS_CODEPAGE_737 is not set
861# CONFIG_NLS_CODEPAGE_775 is not set
862# CONFIG_NLS_CODEPAGE_850 is not set
863# CONFIG_NLS_CODEPAGE_852 is not set
864# CONFIG_NLS_CODEPAGE_855 is not set
865# CONFIG_NLS_CODEPAGE_857 is not set
866# CONFIG_NLS_CODEPAGE_860 is not set
867# CONFIG_NLS_CODEPAGE_861 is not set
868# CONFIG_NLS_CODEPAGE_862 is not set
869# CONFIG_NLS_CODEPAGE_863 is not set
870# CONFIG_NLS_CODEPAGE_864 is not set
871# CONFIG_NLS_CODEPAGE_865 is not set
872CONFIG_NLS_CODEPAGE_866=y
873# CONFIG_NLS_CODEPAGE_869 is not set
874# CONFIG_NLS_CODEPAGE_936 is not set
875# CONFIG_NLS_CODEPAGE_950 is not set
876# CONFIG_NLS_CODEPAGE_932 is not set
877# CONFIG_NLS_CODEPAGE_949 is not set
878# CONFIG_NLS_CODEPAGE_874 is not set
879# CONFIG_NLS_ISO8859_8 is not set
880# CONFIG_NLS_CODEPAGE_1250 is not set
881# CONFIG_NLS_CODEPAGE_1251 is not set
882# CONFIG_NLS_ASCII is not set
883# CONFIG_NLS_ISO8859_1 is not set
884# CONFIG_NLS_ISO8859_2 is not set
885# CONFIG_NLS_ISO8859_3 is not set
886# CONFIG_NLS_ISO8859_4 is not set
887# CONFIG_NLS_ISO8859_5 is not set
888# CONFIG_NLS_ISO8859_6 is not set
889# CONFIG_NLS_ISO8859_7 is not set
890# CONFIG_NLS_ISO8859_9 is not set
891# CONFIG_NLS_ISO8859_13 is not set
892# CONFIG_NLS_ISO8859_14 is not set
893# CONFIG_NLS_ISO8859_15 is not set
894# CONFIG_NLS_KOI8_R is not set
895# CONFIG_NLS_KOI8_U is not set
896CONFIG_NLS_UTF8=y
897# CONFIG_DLM is not set
898
899#
900# Kernel hacking
901#
902# CONFIG_PRINTK_TIME is not set
903CONFIG_ENABLE_WARN_DEPRECATED=y
904CONFIG_ENABLE_MUST_CHECK=y
905CONFIG_FRAME_WARN=1024
906# CONFIG_MAGIC_SYSRQ is not set
907# CONFIG_UNUSED_SYMBOLS is not set
908# CONFIG_DEBUG_FS is not set
909# CONFIG_HEADERS_CHECK is not set
910# CONFIG_DEBUG_KERNEL is not set
911CONFIG_DEBUG_BUGVERBOSE=y
912CONFIG_DEBUG_MEMORY_INIT=y
913CONFIG_FRAME_POINTER=y
914# CONFIG_LATENCYTOP is not set
915CONFIG_SYSCTL_SYSCALL_CHECK=y
916CONFIG_HAVE_FTRACE=y
917CONFIG_HAVE_DYNAMIC_FTRACE=y
918# CONFIG_FTRACE is not set
919# CONFIG_IRQSOFF_TRACER is not set
920# CONFIG_PREEMPT_TRACER is not set
921# CONFIG_SCHED_TRACER is not set
922# CONFIG_CONTEXT_SWITCH_TRACER is not set
923# CONFIG_SAMPLES is not set
924CONFIG_HAVE_ARCH_KGDB=y
925CONFIG_DEBUG_USER=y
926
927#
928# Security options
929#
930# CONFIG_KEYS is not set
931# CONFIG_SECURITY is not set
932# CONFIG_SECURITY_FILE_CAPABILITIES is not set
933# CONFIG_CRYPTO is not set
934
935#
936# Library routines
937#
938CONFIG_BITREVERSE=y
939# CONFIG_GENERIC_FIND_FIRST_BIT is not set
940# CONFIG_GENERIC_FIND_NEXT_BIT is not set
941# CONFIG_CRC_CCITT is not set
942# CONFIG_CRC16 is not set
943CONFIG_CRC_T10DIF=y
944# CONFIG_CRC_ITU_T is not set
945CONFIG_CRC32=y
946# CONFIG_CRC7 is not set
947# CONFIG_LIBCRC32C is not set
948CONFIG_PLIST=y
949CONFIG_HAS_IOMEM=y
950CONFIG_HAS_IOPORT=y
951CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/sx1_defconfig b/arch/arm/configs/sx1_defconfig
new file mode 100644
index 000000000000..853dcdd9f2e0
--- /dev/null
+++ b/arch/arm/configs/sx1_defconfig
@@ -0,0 +1,1118 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc1-omap1
4# Thu Jun 7 05:16:10 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27
28#
29# Code maturity level options
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_LOCK_KERNEL=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35
36#
37# General setup
38#
39CONFIG_LOCALVERSION=""
40CONFIG_LOCALVERSION_AUTO=y
41CONFIG_SWAP=y
42CONFIG_SYSVIPC=y
43# CONFIG_IPC_NS is not set
44CONFIG_SYSVIPC_SYSCTL=y
45CONFIG_POSIX_MQUEUE=y
46# CONFIG_BSD_PROCESS_ACCT is not set
47# CONFIG_TASKSTATS is not set
48# CONFIG_UTS_NS is not set
49# CONFIG_AUDIT is not set
50CONFIG_IKCONFIG=y
51# CONFIG_IKCONFIG_PROC is not set
52CONFIG_LOG_BUF_SHIFT=14
53CONFIG_SYSFS_DEPRECATED=y
54# CONFIG_RELAY is not set
55# CONFIG_BLK_DEV_INITRD is not set
56CONFIG_CC_OPTIMIZE_FOR_SIZE=y
57CONFIG_SYSCTL=y
58CONFIG_EMBEDDED=y
59CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y
61# CONFIG_KALLSYMS is not set
62CONFIG_HOTPLUG=y
63CONFIG_PRINTK=y
64CONFIG_BUG=y
65# CONFIG_ELF_CORE is not set
66# CONFIG_BASE_FULL is not set
67CONFIG_FUTEX=y
68CONFIG_ANON_INODES=y
69CONFIG_EPOLL=y
70CONFIG_SIGNALFD=y
71CONFIG_TIMERFD=y
72CONFIG_EVENTFD=y
73# CONFIG_SHMEM is not set
74# CONFIG_VM_EVENT_COUNTERS is not set
75# CONFIG_SLAB is not set
76# CONFIG_SLUB is not set
77CONFIG_SLOB=y
78CONFIG_RT_MUTEXES=y
79CONFIG_TINY_SHMEM=y
80CONFIG_BASE_SMALL=1
81
82#
83# Loadable module support
84#
85CONFIG_MODULES=y
86CONFIG_MODULE_UNLOAD=y
87# CONFIG_MODULE_FORCE_UNLOAD is not set
88# CONFIG_MODVERSIONS is not set
89# CONFIG_MODULE_SRCVERSION_ALL is not set
90CONFIG_KMOD=y
91
92#
93# Block layer
94#
95CONFIG_BLOCK=y
96# CONFIG_LBD is not set
97# CONFIG_BLK_DEV_IO_TRACE is not set
98# CONFIG_LSF is not set
99
100#
101# IO Schedulers
102#
103CONFIG_IOSCHED_NOOP=y
104# CONFIG_IOSCHED_AS is not set
105CONFIG_IOSCHED_DEADLINE=y
106# CONFIG_IOSCHED_CFQ is not set
107# CONFIG_DEFAULT_AS is not set
108CONFIG_DEFAULT_DEADLINE=y
109# CONFIG_DEFAULT_CFQ is not set
110# CONFIG_DEFAULT_NOOP is not set
111CONFIG_DEFAULT_IOSCHED="deadline"
112
113#
114# System Type
115#
116# CONFIG_ARCH_AAEC2000 is not set
117# CONFIG_ARCH_INTEGRATOR is not set
118# CONFIG_ARCH_REALVIEW is not set
119# CONFIG_ARCH_VERSATILE is not set
120# CONFIG_ARCH_AT91 is not set
121# CONFIG_ARCH_CLPS7500 is not set
122# CONFIG_ARCH_CLPS711X is not set
123# CONFIG_ARCH_CO285 is not set
124# CONFIG_ARCH_EBSA110 is not set
125# CONFIG_ARCH_EP93XX is not set
126# CONFIG_ARCH_FOOTBRIDGE is not set
127# CONFIG_ARCH_NETX is not set
128# CONFIG_ARCH_H720X is not set
129# CONFIG_ARCH_IMX is not set
130# CONFIG_ARCH_IOP13XX is not set
131# CONFIG_ARCH_IOP32X is not set
132# CONFIG_ARCH_IOP33X is not set
133# CONFIG_ARCH_IXP23XX is not set
134# CONFIG_ARCH_IXP2000 is not set
135# CONFIG_ARCH_IXP4XX is not set
136# CONFIG_ARCH_L7200 is not set
137# CONFIG_ARCH_KS8695 is not set
138# CONFIG_ARCH_NS9XXX is not set
139# CONFIG_ARCH_PNX4008 is not set
140# CONFIG_ARCH_PXA is not set
141# CONFIG_ARCH_RPC is not set
142# CONFIG_ARCH_SA1100 is not set
143# CONFIG_ARCH_S3C2410 is not set
144# CONFIG_ARCH_SHARK is not set
145# CONFIG_ARCH_LH7A40X is not set
146# CONFIG_ARCH_DAVINCI is not set
147CONFIG_ARCH_OMAP=y
148
149#
150# TI OMAP Implementations
151#
152CONFIG_ARCH_OMAP1=y
153# CONFIG_ARCH_OMAP2 is not set
154
155#
156# OMAP Feature Selections
157#
158# CONFIG_OMAP_RESET_CLOCKS is not set
159CONFIG_OMAP_BOOT_TAG=y
160# CONFIG_OMAP_BOOT_REASON is not set
161# CONFIG_OMAP_COMPONENT_VERSION is not set
162CONFIG_OMAP_GPIO_SWITCH=y
163CONFIG_OMAP_MUX=y
164# CONFIG_OMAP_MUX_DEBUG is not set
165CONFIG_OMAP_MUX_WARNINGS=y
166CONFIG_OMAP_MCBSP=y
167CONFIG_OMAP_MMU_FWK=y
168CONFIG_OMAP_MBOX_FWK=y
169CONFIG_OMAP_MPU_TIMER=y
170# CONFIG_OMAP_32K_TIMER is not set
171# CONFIG_OMAP_LL_DEBUG_UART1 is not set
172# CONFIG_OMAP_LL_DEBUG_UART2 is not set
173CONFIG_OMAP_LL_DEBUG_UART3=y
174# CONFIG_OMAP_LL_DEBUG_LCD is not set
175CONFIG_OMAP_SERIAL_WAKE=y
176CONFIG_OMAP_DSP=y
177# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
178# CONFIG_OMAP_DSP_TASK_MULTIOPEN is not set
179# CONFIG_OMAP_DSP_FBEXPORT is not set
180
181#
182# OMAP Core Type
183#
184# CONFIG_ARCH_OMAP730 is not set
185CONFIG_ARCH_OMAP15XX=y
186# CONFIG_ARCH_OMAP16XX is not set
187
188#
189# OMAP Board Type
190#
191# CONFIG_MACH_OMAP_INNOVATOR is not set
192# CONFIG_MACH_VOICEBLUE is not set
193# CONFIG_MACH_OMAP_PALMTE is not set
194# CONFIG_MACH_OMAP_PALMZ71 is not set
195# CONFIG_MACH_OMAP_PALMTT is not set
196CONFIG_MACH_SX1=y
197# CONFIG_MACH_AMS_DELTA is not set
198# CONFIG_MACH_OMAP_GENERIC is not set
199
200#
201# OMAP CPU Speed
202#
203# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
204CONFIG_OMAP_ARM_168MHZ=y
205# CONFIG_OMAP_ARM_150MHZ is not set
206# CONFIG_OMAP_ARM_120MHZ is not set
207# CONFIG_OMAP_ARM_60MHZ is not set
208# CONFIG_OMAP_ARM_30MHZ is not set
209
210#
211# Processor Type
212#
213CONFIG_CPU_32=y
214CONFIG_CPU_ARM925T=y
215CONFIG_CPU_32v4T=y
216CONFIG_CPU_ABRT_EV4T=y
217CONFIG_CPU_CACHE_V4WT=y
218CONFIG_CPU_CACHE_VIVT=y
219CONFIG_CPU_COPY_V4WB=y
220CONFIG_CPU_TLB_V4WBI=y
221CONFIG_CPU_CP15=y
222CONFIG_CPU_CP15_MMU=y
223
224#
225# Processor Features
226#
227CONFIG_ARM_THUMB=y
228# CONFIG_CPU_ICACHE_DISABLE is not set
229# CONFIG_CPU_DCACHE_DISABLE is not set
230# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
231# CONFIG_OUTER_CACHE is not set
232
233#
234# Bus support
235#
236# CONFIG_ARCH_SUPPORTS_MSI is not set
237
238#
239# PCCARD (PCMCIA/CardBus) support
240#
241# CONFIG_PCCARD is not set
242
243#
244# Kernel Features
245#
246# CONFIG_TICK_ONESHOT is not set
247# CONFIG_NO_HZ is not set
248# CONFIG_HIGH_RES_TIMERS is not set
249CONFIG_PREEMPT=y
250CONFIG_HZ=100
251# CONFIG_AEABI is not set
252# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
253CONFIG_SELECT_MEMORY_MODEL=y
254CONFIG_FLATMEM_MANUAL=y
255# CONFIG_DISCONTIGMEM_MANUAL is not set
256# CONFIG_SPARSEMEM_MANUAL is not set
257CONFIG_FLATMEM=y
258CONFIG_FLAT_NODE_MEM_MAP=y
259# CONFIG_SPARSEMEM_STATIC is not set
260CONFIG_SPLIT_PTLOCK_CPUS=4096
261# CONFIG_RESOURCES_64BIT is not set
262CONFIG_ZONE_DMA_FLAG=1
263# CONFIG_LEDS is not set
264CONFIG_ALIGNMENT_TRAP=y
265
266#
267# Boot options
268#
269CONFIG_ZBOOT_ROM_TEXT=0x0
270CONFIG_ZBOOT_ROM_BSS=0x0
271CONFIG_CMDLINE=""
272# CONFIG_XIP_KERNEL is not set
273# CONFIG_KEXEC is not set
274
275#
276# CPU Frequency scaling
277#
278# CONFIG_CPU_FREQ is not set
279
280#
281# Floating point emulation
282#
283
284#
285# At least one emulation must be selected
286#
287CONFIG_FPE_NWFPE=y
288# CONFIG_FPE_NWFPE_XP is not set
289# CONFIG_FPE_FASTFPE is not set
290
291#
292# Userspace binary formats
293#
294CONFIG_BINFMT_ELF=y
295# CONFIG_BINFMT_AOUT is not set
296CONFIG_BINFMT_MISC=y
297# CONFIG_ARTHUR is not set
298
299#
300# Power management options
301#
302# CONFIG_PM is not set
303
304#
305# Networking
306#
307CONFIG_NET=y
308
309#
310# Networking options
311#
312CONFIG_PACKET=y
313CONFIG_PACKET_MMAP=y
314CONFIG_UNIX=y
315# CONFIG_NET_KEY is not set
316CONFIG_INET=y
317# CONFIG_IP_MULTICAST is not set
318# CONFIG_IP_ADVANCED_ROUTER is not set
319CONFIG_IP_FIB_HASH=y
320CONFIG_IP_PNP=y
321# CONFIG_IP_PNP_DHCP is not set
322# CONFIG_IP_PNP_BOOTP is not set
323# CONFIG_IP_PNP_RARP is not set
324# CONFIG_NET_IPIP is not set
325# CONFIG_NET_IPGRE is not set
326# CONFIG_ARPD is not set
327# CONFIG_SYN_COOKIES is not set
328# CONFIG_INET_AH is not set
329# CONFIG_INET_ESP is not set
330# CONFIG_INET_IPCOMP is not set
331# CONFIG_INET_XFRM_TUNNEL is not set
332# CONFIG_INET_TUNNEL is not set
333# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
334# CONFIG_INET_XFRM_MODE_TUNNEL is not set
335# CONFIG_INET_XFRM_MODE_BEET is not set
336# CONFIG_INET_DIAG is not set
337# CONFIG_TCP_CONG_ADVANCED is not set
338CONFIG_TCP_CONG_CUBIC=y
339CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_TCP_MD5SIG is not set
341# CONFIG_IPV6 is not set
342# CONFIG_INET6_XFRM_TUNNEL is not set
343# CONFIG_INET6_TUNNEL is not set
344# CONFIG_NETWORK_SECMARK is not set
345# CONFIG_NETFILTER is not set
346
347#
348# DCCP Configuration (EXPERIMENTAL)
349#
350# CONFIG_IP_DCCP is not set
351
352#
353# SCTP Configuration (EXPERIMENTAL)
354#
355# CONFIG_IP_SCTP is not set
356
357#
358# TIPC Configuration (EXPERIMENTAL)
359#
360# CONFIG_TIPC is not set
361# CONFIG_ATM is not set
362# CONFIG_BRIDGE is not set
363# CONFIG_VLAN_8021Q is not set
364# CONFIG_DECNET is not set
365# CONFIG_LLC2 is not set
366# CONFIG_IPX is not set
367# CONFIG_ATALK is not set
368# CONFIG_X25 is not set
369# CONFIG_LAPB is not set
370# CONFIG_ECONET is not set
371# CONFIG_WAN_ROUTER is not set
372
373#
374# QoS and/or fair queueing
375#
376# CONFIG_NET_SCHED is not set
377
378#
379# Network testing
380#
381# CONFIG_NET_PKTGEN is not set
382# CONFIG_HAMRADIO is not set
383# CONFIG_IRDA is not set
384# CONFIG_BT is not set
385# CONFIG_AF_RXRPC is not set
386
387#
388# Wireless
389#
390# CONFIG_CFG80211 is not set
391# CONFIG_WIRELESS_EXT is not set
392# CONFIG_MAC80211 is not set
393# CONFIG_IEEE80211 is not set
394# CONFIG_RFKILL is not set
395
396#
397# Device Drivers
398#
399
400#
401# Generic Driver Options
402#
403CONFIG_STANDALONE=y
404CONFIG_PREVENT_FIRMWARE_BUILD=y
405# CONFIG_FW_LOADER is not set
406# CONFIG_DEBUG_DRIVER is not set
407# CONFIG_DEBUG_DEVRES is not set
408# CONFIG_SYS_HYPERVISOR is not set
409
410#
411# Connector - unified userspace <-> kernelspace linker
412#
413CONFIG_CONNECTOR=y
414# CONFIG_PROC_EVENTS is not set
415# CONFIG_MTD is not set
416
417#
418# Parallel port support
419#
420# CONFIG_PARPORT is not set
421
422#
423# Plug and Play support
424#
425# CONFIG_PNPACPI is not set
426
427#
428# Block devices
429#
430# CONFIG_BLK_DEV_COW_COMMON is not set
431CONFIG_BLK_DEV_LOOP=m
432# CONFIG_BLK_DEV_CRYPTOLOOP is not set
433# CONFIG_BLK_DEV_NBD is not set
434CONFIG_BLK_DEV_RAM=m
435CONFIG_BLK_DEV_RAM_COUNT=2
436CONFIG_BLK_DEV_RAM_SIZE=4096
437CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
438# CONFIG_CDROM_PKTCDVD is not set
439# CONFIG_ATA_OVER_ETH is not set
440
441#
442# SCSI device support
443#
444# CONFIG_RAID_ATTRS is not set
445# CONFIG_SCSI is not set
446# CONFIG_SCSI_NETLINK is not set
447# CONFIG_ATA is not set
448
449#
450# Multi-device support (RAID and LVM)
451#
452# CONFIG_MD is not set
453
454#
455# Network device support
456#
457CONFIG_NETDEVICES=y
458# CONFIG_DUMMY is not set
459# CONFIG_BONDING is not set
460# CONFIG_EQUALIZER is not set
461# CONFIG_TUN is not set
462CONFIG_PHYLIB=y
463
464#
465# MII PHY device drivers
466#
467# CONFIG_MARVELL_PHY is not set
468# CONFIG_DAVICOM_PHY is not set
469# CONFIG_QSEMI_PHY is not set
470# CONFIG_LXT_PHY is not set
471# CONFIG_CICADA_PHY is not set
472# CONFIG_VITESSE_PHY is not set
473# CONFIG_SMSC_PHY is not set
474# CONFIG_BROADCOM_PHY is not set
475# CONFIG_FIXED_PHY is not set
476
477#
478# Ethernet (10 or 100Mbit)
479#
480CONFIG_NET_ETHERNET=y
481CONFIG_MII=y
482# CONFIG_SMC91X is not set
483# CONFIG_DM9000 is not set
484CONFIG_NETDEV_1000=y
485CONFIG_NETDEV_10000=y
486
487#
488# Token Ring devices
489#
490
491#
492# Wireless LAN
493#
494# CONFIG_WLAN_PRE80211 is not set
495# CONFIG_WLAN_80211 is not set
496# CONFIG_WAN is not set
497# CONFIG_PPP is not set
498# CONFIG_SLIP is not set
499# CONFIG_SHAPER is not set
500# CONFIG_NETCONSOLE is not set
501# CONFIG_NETPOLL is not set
502# CONFIG_NET_POLL_CONTROLLER is not set
503
504#
505# ISDN subsystem
506#
507# CONFIG_ISDN is not set
508
509#
510# Input device support
511#
512CONFIG_INPUT=y
513# CONFIG_INPUT_FF_MEMLESS is not set
514
515#
516# Userland interfaces
517#
518# CONFIG_INPUT_MOUSEDEV is not set
519# CONFIG_INPUT_JOYDEV is not set
520# CONFIG_INPUT_TSDEV is not set
521CONFIG_INPUT_EVDEV=y
522# CONFIG_INPUT_EVBUG is not set
523
524#
525# Input Device Drivers
526#
527CONFIG_INPUT_KEYBOARD=y
528# CONFIG_KEYBOARD_ATKBD is not set
529# CONFIG_KEYBOARD_SUNKBD is not set
530# CONFIG_KEYBOARD_LKKBD is not set
531# CONFIG_KEYBOARD_XTKBD is not set
532# CONFIG_KEYBOARD_NEWTON is not set
533# CONFIG_KEYBOARD_STOWAWAY is not set
534CONFIG_KEYBOARD_OMAP=y
535# CONFIG_KEYBOARD_GPIO is not set
536# CONFIG_INPUT_MOUSE is not set
537# CONFIG_INPUT_JOYSTICK is not set
538# CONFIG_INPUT_TABLET is not set
539# CONFIG_INPUT_TOUCHSCREEN is not set
540# CONFIG_INPUT_MISC is not set
541
542#
543# Hardware I/O ports
544#
545# CONFIG_SERIO is not set
546# CONFIG_GAMEPORT is not set
547
548#
549# Character devices
550#
551CONFIG_VT=y
552CONFIG_VT_CONSOLE=y
553CONFIG_HW_CONSOLE=y
554# CONFIG_VT_HW_CONSOLE_BINDING is not set
555# CONFIG_SERIAL_NONSTANDARD is not set
556
557#
558# Serial drivers
559#
560CONFIG_SERIAL_8250=y
561# CONFIG_SERIAL_8250_CONSOLE is not set
562CONFIG_SERIAL_8250_NR_UARTS=3
563CONFIG_SERIAL_8250_RUNTIME_UARTS=3
564# CONFIG_SERIAL_8250_EXTENDED is not set
565
566#
567# Non-8250 serial port support
568#
569CONFIG_SERIAL_CORE=y
570CONFIG_UNIX98_PTYS=y
571# CONFIG_LEGACY_PTYS is not set
572
573#
574# IPMI
575#
576# CONFIG_IPMI_HANDLER is not set
577# CONFIG_WATCHDOG is not set
578# CONFIG_HW_RANDOM is not set
579# CONFIG_NVRAM is not set
580# CONFIG_R3964 is not set
581# CONFIG_RAW_DRIVER is not set
582
583#
584# TPM devices
585#
586# CONFIG_TCG_TPM is not set
587CONFIG_I2C=y
588CONFIG_I2C_BOARDINFO=y
589CONFIG_I2C_CHARDEV=y
590
591#
592# I2C Algorithms
593#
594# CONFIG_I2C_ALGOBIT is not set
595# CONFIG_I2C_ALGOPCF is not set
596# CONFIG_I2C_ALGOPCA is not set
597
598#
599# I2C Hardware Bus support
600#
601# CONFIG_I2C_GPIO is not set
602# CONFIG_I2C_OCORES is not set
603CONFIG_I2C_OMAP=y
604# CONFIG_I2C_PARPORT_LIGHT is not set
605# CONFIG_I2C_SIMTEC is not set
606# CONFIG_I2C_STUB is not set
607
608#
609# Miscellaneous I2C Chip support
610#
611# CONFIG_SENSORS_DS1337 is not set
612# CONFIG_SENSORS_DS1374 is not set
613# CONFIG_SENSORS_EEPROM is not set
614# CONFIG_SENSORS_PCF8574 is not set
615# CONFIG_SENSORS_PCA9539 is not set
616# CONFIG_SENSORS_PCF8591 is not set
617# CONFIG_TPS65010 is not set
618# CONFIG_SENSORS_TLV320AIC23 is not set
619# CONFIG_SENSORS_MAX6875 is not set
620# CONFIG_I2C_DEBUG_CORE is not set
621# CONFIG_I2C_DEBUG_ALGO is not set
622# CONFIG_I2C_DEBUG_BUS is not set
623# CONFIG_I2C_DEBUG_CHIP is not set
624
625#
626# SPI support
627#
628# CONFIG_SPI is not set
629# CONFIG_SPI_MASTER is not set
630
631#
632# Dallas's 1-wire bus
633#
634# CONFIG_W1 is not set
635# CONFIG_HWMON is not set
636
637#
638# Misc devices
639#
640# CONFIG_BLINK is not set
641
642#
643# Multifunction device drivers
644#
645# CONFIG_MFD_SM501 is not set
646
647#
648# LED devices
649#
650# CONFIG_NEW_LEDS is not set
651
652#
653# LED drivers
654#
655
656#
657# LED Triggers
658#
659
660#
661# Multimedia devices
662#
663# CONFIG_VIDEO_DEV is not set
664# CONFIG_DVB_CORE is not set
665CONFIG_DAB=y
666
667#
668# Graphics support
669#
670# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
671
672#
673# Display device support
674#
675# CONFIG_DISPLAY_SUPPORT is not set
676# CONFIG_VGASTATE is not set
677CONFIG_FB=y
678# CONFIG_FIRMWARE_EDID is not set
679# CONFIG_FB_DDC is not set
680# CONFIG_FB_CFB_FILLRECT is not set
681# CONFIG_FB_CFB_COPYAREA is not set
682# CONFIG_FB_CFB_IMAGEBLIT is not set
683# CONFIG_FB_SYS_FILLRECT is not set
684# CONFIG_FB_SYS_COPYAREA is not set
685# CONFIG_FB_SYS_IMAGEBLIT is not set
686# CONFIG_FB_SYS_FOPS is not set
687CONFIG_FB_DEFERRED_IO=y
688# CONFIG_FB_SVGALIB is not set
689# CONFIG_FB_MACMODES is not set
690# CONFIG_FB_BACKLIGHT is not set
691# CONFIG_FB_MODE_HELPERS is not set
692# CONFIG_FB_TILEBLITTING is not set
693
694#
695# Frame buffer hardware drivers
696#
697# CONFIG_FB_S1D13XXX is not set
698CONFIG_FB_OMAP=y
699# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
700# CONFIG_FB_OMAP_LCD_MIPID is not set
701CONFIG_FB_OMAP_BOOTLOADER_INIT=y
702CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
703# CONFIG_FB_OMAP_DMA_TUNE is not set
704# CONFIG_FB_VIRTUAL is not set
705
706#
707# Console display driver support
708#
709# CONFIG_VGA_CONSOLE is not set
710CONFIG_DUMMY_CONSOLE=y
711CONFIG_FRAMEBUFFER_CONSOLE=y
712# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
713CONFIG_FONTS=y
714# CONFIG_FONT_8x8 is not set
715# CONFIG_FONT_8x16 is not set
716# CONFIG_FONT_6x11 is not set
717# CONFIG_FONT_7x14 is not set
718# CONFIG_FONT_PEARL_8x8 is not set
719# CONFIG_FONT_ACORN_8x8 is not set
720CONFIG_FONT_MINI_4x6=y
721# CONFIG_FONT_CLEAN_4x6 is not set
722# CONFIG_FONT_CLEAN_5x8 is not set
723# CONFIG_FONT_SUN8x16 is not set
724# CONFIG_FONT_SUN12x22 is not set
725# CONFIG_FONT_10x18 is not set
726CONFIG_LOGO=y
727# CONFIG_LOGO_LINUX_MONO is not set
728# CONFIG_LOGO_LINUX_VGA16 is not set
729CONFIG_LOGO_LINUX_CLUT224=y
730
731#
732# Sound
733#
734CONFIG_SOUND=y
735
736#
737# Advanced Linux Sound Architecture
738#
739CONFIG_SND=y
740CONFIG_SND_TIMER=y
741CONFIG_SND_PCM=y
742# CONFIG_SND_SEQUENCER is not set
743CONFIG_SND_OSSEMUL=y
744CONFIG_SND_MIXER_OSS=y
745CONFIG_SND_PCM_OSS=y
746CONFIG_SND_PCM_OSS_PLUGINS=y
747# CONFIG_SND_DYNAMIC_MINORS is not set
748# CONFIG_SND_SUPPORT_OLD_API is not set
749# CONFIG_SND_VERBOSE_PROCFS is not set
750# CONFIG_SND_VERBOSE_PRINTK is not set
751# CONFIG_SND_DEBUG is not set
752
753#
754# Generic devices
755#
756# CONFIG_SND_DUMMY is not set
757# CONFIG_SND_MTPAV is not set
758# CONFIG_SND_SERIAL_U16550 is not set
759# CONFIG_SND_MPU401 is not set
760
761#
762# ALSA ARM devices
763#
764# CONFIG_SND_OMAP_AIC23 is not set
765# CONFIG_SND_OMAP_TSC2101 is not set
766CONFIG_SND_SX1=y
767# CONFIG_SND_OMAP_TSC2102 is not set
768# CONFIG_SND_OMAP24XX_EAC is not set
769
770#
771# System on Chip audio support
772#
773# CONFIG_SND_SOC is not set
774
775#
776# Open Sound System
777#
778# CONFIG_SOUND_PRIME is not set
779
780#
781# HID Devices
782#
783CONFIG_HID=y
784# CONFIG_HID_DEBUG is not set
785
786#
787# USB support
788#
789CONFIG_USB_ARCH_HAS_HCD=y
790CONFIG_USB_ARCH_HAS_OHCI=y
791# CONFIG_USB_ARCH_HAS_EHCI is not set
792# CONFIG_USB is not set
793# CONFIG_USB_MUSB_HDRC is not set
794# CONFIG_USB_GADGET_MUSB_HDRC is not set
795
796#
797# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
798#
799
800#
801# USB Gadget Support
802#
803CONFIG_USB_GADGET=y
804# CONFIG_USB_GADGET_DEBUG_FILES is not set
805CONFIG_USB_GADGET_SELECTED=y
806# CONFIG_USB_GADGET_FSL_USB2 is not set
807# CONFIG_USB_GADGET_NET2280 is not set
808# CONFIG_USB_GADGET_PXA2XX is not set
809# CONFIG_USB_GADGET_GOKU is not set
810# CONFIG_USB_GADGET_LH7A40X is not set
811CONFIG_USB_GADGET_OMAP=y
812CONFIG_USB_OMAP=y
813# CONFIG_USB_GADGET_AT91 is not set
814# CONFIG_USB_GADGET_DUMMY_HCD is not set
815# CONFIG_USB_GADGET_DUALSPEED is not set
816# CONFIG_USB_ZERO is not set
817CONFIG_USB_ETH=y
818CONFIG_USB_ETH_RNDIS=y
819# CONFIG_USB_GADGETFS is not set
820# CONFIG_USB_FILE_STORAGE is not set
821# CONFIG_USB_G_SERIAL is not set
822# CONFIG_USB_MIDI_GADGET is not set
823CONFIG_MMC=y
824# CONFIG_MMC_DEBUG is not set
825# CONFIG_MMC_UNSAFE_RESUME is not set
826
827#
828# MMC/SD Card Drivers
829#
830CONFIG_MMC_BLOCK=y
831
832#
833# MMC/SD Host Controller Drivers
834#
835CONFIG_MMC_OMAP=y
836
837#
838# Real Time Clock
839#
840CONFIG_RTC_LIB=y
841CONFIG_RTC_CLASS=y
842CONFIG_RTC_HCTOSYS=y
843CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
844# CONFIG_RTC_DEBUG is not set
845
846#
847# RTC interfaces
848#
849CONFIG_RTC_INTF_SYSFS=y
850CONFIG_RTC_INTF_PROC=y
851CONFIG_RTC_INTF_DEV=y
852# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
853# CONFIG_RTC_DRV_TEST is not set
854
855#
856# I2C RTC drivers
857#
858# CONFIG_RTC_DRV_DS1307 is not set
859# CONFIG_RTC_DRV_DS1672 is not set
860# CONFIG_RTC_DRV_MAX6900 is not set
861# CONFIG_RTC_DRV_RS5C372 is not set
862# CONFIG_RTC_DRV_ISL1208 is not set
863# CONFIG_RTC_DRV_X1205 is not set
864# CONFIG_RTC_DRV_PCF8563 is not set
865# CONFIG_RTC_DRV_PCF8583 is not set
866
867#
868# SPI RTC drivers
869#
870
871#
872# Platform RTC drivers
873#
874# CONFIG_RTC_DRV_CMOS is not set
875# CONFIG_RTC_DRV_DS1553 is not set
876# CONFIG_RTC_DRV_DS1742 is not set
877# CONFIG_RTC_DRV_M48T86 is not set
878# CONFIG_RTC_DRV_V3020 is not set
879
880#
881# on-CPU RTC drivers
882#
883CONFIG_RTC_DRV_OMAP=y
884
885#
886# CBUS support
887#
888# CONFIG_CBUS is not set
889
890#
891# File systems
892#
893CONFIG_EXT2_FS=y
894# CONFIG_EXT2_FS_XATTR is not set
895# CONFIG_EXT2_FS_XIP is not set
896# CONFIG_EXT3_FS is not set
897# CONFIG_EXT4DEV_FS is not set
898# CONFIG_REISERFS_FS is not set
899# CONFIG_JFS_FS is not set
900# CONFIG_FS_POSIX_ACL is not set
901# CONFIG_XFS_FS is not set
902# CONFIG_GFS2_FS is not set
903# CONFIG_OCFS2_FS is not set
904# CONFIG_MINIX_FS is not set
905# CONFIG_ROMFS_FS is not set
906CONFIG_INOTIFY=y
907CONFIG_INOTIFY_USER=y
908# CONFIG_QUOTA is not set
909# CONFIG_DNOTIFY is not set
910# CONFIG_AUTOFS_FS is not set
911# CONFIG_AUTOFS4_FS is not set
912# CONFIG_FUSE_FS is not set
913
914#
915# CD-ROM/DVD Filesystems
916#
917# CONFIG_ISO9660_FS is not set
918# CONFIG_UDF_FS is not set
919
920#
921# DOS/FAT/NT Filesystems
922#
923CONFIG_FAT_FS=y
924CONFIG_MSDOS_FS=y
925CONFIG_VFAT_FS=y
926CONFIG_FAT_DEFAULT_CODEPAGE=866
927CONFIG_FAT_DEFAULT_IOCHARSET="koi8-r"
928# CONFIG_NTFS_FS is not set
929
930#
931# Pseudo filesystems
932#
933CONFIG_PROC_FS=y
934CONFIG_PROC_SYSCTL=y
935CONFIG_SYSFS=y
936CONFIG_TMPFS=y
937# CONFIG_TMPFS_POSIX_ACL is not set
938# CONFIG_HUGETLB_PAGE is not set
939CONFIG_RAMFS=y
940# CONFIG_CONFIGFS_FS is not set
941
942#
943# Miscellaneous filesystems
944#
945# CONFIG_ADFS_FS is not set
946# CONFIG_AFFS_FS is not set
947# CONFIG_HFS_FS is not set
948# CONFIG_HFSPLUS_FS is not set
949# CONFIG_BEFS_FS is not set
950# CONFIG_BFS_FS is not set
951# CONFIG_EFS_FS is not set
952CONFIG_CRAMFS=y
953# CONFIG_VXFS_FS is not set
954# CONFIG_HPFS_FS is not set
955# CONFIG_QNX4FS_FS is not set
956# CONFIG_SYSV_FS is not set
957# CONFIG_UFS_FS is not set
958
959#
960# Network File Systems
961#
962CONFIG_NFS_FS=y
963# CONFIG_NFS_V3 is not set
964# CONFIG_NFS_V4 is not set
965# CONFIG_NFS_DIRECTIO is not set
966# CONFIG_NFSD is not set
967CONFIG_ROOT_NFS=y
968CONFIG_LOCKD=y
969CONFIG_NFS_COMMON=y
970CONFIG_SUNRPC=y
971# CONFIG_SUNRPC_BIND34 is not set
972# CONFIG_RPCSEC_GSS_KRB5 is not set
973# CONFIG_RPCSEC_GSS_SPKM3 is not set
974# CONFIG_SMB_FS is not set
975# CONFIG_CIFS is not set
976# CONFIG_NCP_FS is not set
977# CONFIG_CODA_FS is not set
978# CONFIG_AFS_FS is not set
979# CONFIG_9P_FS is not set
980
981#
982# Partition Types
983#
984CONFIG_PARTITION_ADVANCED=y
985# CONFIG_ACORN_PARTITION is not set
986# CONFIG_OSF_PARTITION is not set
987# CONFIG_AMIGA_PARTITION is not set
988# CONFIG_ATARI_PARTITION is not set
989# CONFIG_MAC_PARTITION is not set
990CONFIG_MSDOS_PARTITION=y
991# CONFIG_BSD_DISKLABEL is not set
992# CONFIG_MINIX_SUBPARTITION is not set
993# CONFIG_SOLARIS_X86_PARTITION is not set
994# CONFIG_UNIXWARE_DISKLABEL is not set
995# CONFIG_LDM_PARTITION is not set
996# CONFIG_SGI_PARTITION is not set
997# CONFIG_ULTRIX_PARTITION is not set
998# CONFIG_SUN_PARTITION is not set
999# CONFIG_KARMA_PARTITION is not set
1000# CONFIG_EFI_PARTITION is not set
1001# CONFIG_SYSV68_PARTITION is not set
1002
1003#
1004# Native Language Support
1005#
1006CONFIG_NLS=y
1007CONFIG_NLS_DEFAULT="iso8859-1"
1008CONFIG_NLS_CODEPAGE_437=y
1009# CONFIG_NLS_CODEPAGE_737 is not set
1010# CONFIG_NLS_CODEPAGE_775 is not set
1011# CONFIG_NLS_CODEPAGE_850 is not set
1012# CONFIG_NLS_CODEPAGE_852 is not set
1013# CONFIG_NLS_CODEPAGE_855 is not set
1014# CONFIG_NLS_CODEPAGE_857 is not set
1015# CONFIG_NLS_CODEPAGE_860 is not set
1016# CONFIG_NLS_CODEPAGE_861 is not set
1017# CONFIG_NLS_CODEPAGE_862 is not set
1018# CONFIG_NLS_CODEPAGE_863 is not set
1019# CONFIG_NLS_CODEPAGE_864 is not set
1020# CONFIG_NLS_CODEPAGE_865 is not set
1021CONFIG_NLS_CODEPAGE_866=y
1022# CONFIG_NLS_CODEPAGE_869 is not set
1023# CONFIG_NLS_CODEPAGE_936 is not set
1024# CONFIG_NLS_CODEPAGE_950 is not set
1025# CONFIG_NLS_CODEPAGE_932 is not set
1026# CONFIG_NLS_CODEPAGE_949 is not set
1027# CONFIG_NLS_CODEPAGE_874 is not set
1028# CONFIG_NLS_ISO8859_8 is not set
1029# CONFIG_NLS_CODEPAGE_1250 is not set
1030CONFIG_NLS_CODEPAGE_1251=y
1031# CONFIG_NLS_ASCII is not set
1032CONFIG_NLS_ISO8859_1=y
1033# CONFIG_NLS_ISO8859_2 is not set
1034# CONFIG_NLS_ISO8859_3 is not set
1035# CONFIG_NLS_ISO8859_4 is not set
1036CONFIG_NLS_ISO8859_5=y
1037# CONFIG_NLS_ISO8859_6 is not set
1038# CONFIG_NLS_ISO8859_7 is not set
1039# CONFIG_NLS_ISO8859_9 is not set
1040# CONFIG_NLS_ISO8859_13 is not set
1041# CONFIG_NLS_ISO8859_14 is not set
1042# CONFIG_NLS_ISO8859_15 is not set
1043CONFIG_NLS_KOI8_R=y
1044# CONFIG_NLS_KOI8_U is not set
1045CONFIG_NLS_UTF8=y
1046
1047#
1048# Distributed Lock Manager
1049#
1050# CONFIG_DLM is not set
1051
1052#
1053# Profiling support
1054#
1055CONFIG_PROFILING=y
1056CONFIG_OPROFILE=y
1057
1058#
1059# Kernel hacking
1060#
1061# CONFIG_PRINTK_TIME is not set
1062# CONFIG_ENABLE_MUST_CHECK is not set
1063# CONFIG_MAGIC_SYSRQ is not set
1064# CONFIG_UNUSED_SYMBOLS is not set
1065# CONFIG_DEBUG_FS is not set
1066# CONFIG_HEADERS_CHECK is not set
1067CONFIG_DEBUG_KERNEL=y
1068# CONFIG_DEBUG_SHIRQ is not set
1069# CONFIG_DETECT_SOFTLOCKUP is not set
1070# CONFIG_SCHEDSTATS is not set
1071# CONFIG_TIMER_STATS is not set
1072CONFIG_DEBUG_PREEMPT=y
1073# CONFIG_DEBUG_RT_MUTEXES is not set
1074# CONFIG_RT_MUTEX_TESTER is not set
1075# CONFIG_DEBUG_SPINLOCK is not set
1076# CONFIG_DEBUG_MUTEXES is not set
1077# CONFIG_DEBUG_LOCK_ALLOC is not set
1078# CONFIG_PROVE_LOCKING is not set
1079# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1080# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1081# CONFIG_DEBUG_KOBJECT is not set
1082# CONFIG_DEBUG_BUGVERBOSE is not set
1083# CONFIG_DEBUG_INFO is not set
1084# CONFIG_DEBUG_VM is not set
1085# CONFIG_DEBUG_LIST is not set
1086CONFIG_FRAME_POINTER=y
1087CONFIG_FORCED_INLINING=y
1088# CONFIG_RCU_TORTURE_TEST is not set
1089# CONFIG_FAULT_INJECTION is not set
1090# CONFIG_DEBUG_USER is not set
1091# CONFIG_DEBUG_ERRORS is not set
1092# CONFIG_DEBUG_LL is not set
1093
1094#
1095# Security options
1096#
1097# CONFIG_KEYS is not set
1098# CONFIG_SECURITY is not set
1099
1100#
1101# Cryptographic options
1102#
1103# CONFIG_CRYPTO is not set
1104
1105#
1106# Library routines
1107#
1108CONFIG_BITREVERSE=y
1109CONFIG_CRC_CCITT=y
1110CONFIG_CRC16=y
1111# CONFIG_CRC_ITU_T is not set
1112CONFIG_CRC32=y
1113CONFIG_LIBCRC32C=y
1114CONFIG_ZLIB_INFLATE=y
1115CONFIG_PLIST=y
1116CONFIG_HAS_IOMEM=y
1117CONFIG_HAS_IOPORT=y
1118CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/viper_defconfig b/arch/arm/configs/viper_defconfig
new file mode 100644
index 000000000000..d01fecb8673e
--- /dev/null
+++ b/arch/arm/configs/viper_defconfig
@@ -0,0 +1,1678 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc4
4# Thu Aug 21 17:12:07 2008
5#
6CONFIG_ARM=y
7CONFIG_HAVE_PWM=y
8CONFIG_SYS_SUPPORTS_APM_EMULATION=y
9CONFIG_GENERIC_GPIO=y
10CONFIG_GENERIC_TIME=y
11CONFIG_GENERIC_CLOCKEVENTS=y
12CONFIG_MMU=y
13# CONFIG_NO_IOPORT is not set
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_STACKTRACE_SUPPORT=y
16CONFIG_HAVE_LATENCYTOP_SUPPORT=y
17CONFIG_LOCKDEP_SUPPORT=y
18CONFIG_TRACE_IRQFLAGS_SUPPORT=y
19CONFIG_HARDIRQS_SW_RESEND=y
20CONFIG_GENERIC_IRQ_PROBE=y
21CONFIG_RWSEM_GENERIC_SPINLOCK=y
22# CONFIG_ARCH_HAS_ILOG2_U32 is not set
23# CONFIG_ARCH_HAS_ILOG2_U64 is not set
24CONFIG_GENERIC_HWEIGHT=y
25CONFIG_GENERIC_CALIBRATE_DELAY=y
26CONFIG_ARCH_SUPPORTS_AOUT=y
27CONFIG_ZONE_DMA=y
28CONFIG_ARCH_MTD_XIP=y
29CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30CONFIG_VECTORS_BASE=0xffff0000
31CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
32
33#
34# General setup
35#
36CONFIG_EXPERIMENTAL=y
37CONFIG_BROKEN_ON_SMP=y
38CONFIG_INIT_ENV_ARG_LIMIT=32
39CONFIG_LOCALVERSION=""
40CONFIG_LOCALVERSION_AUTO=y
41# CONFIG_SWAP is not set
42CONFIG_SYSVIPC=y
43CONFIG_SYSVIPC_SYSCTL=y
44# CONFIG_POSIX_MQUEUE is not set
45# CONFIG_BSD_PROCESS_ACCT is not set
46# CONFIG_TASKSTATS is not set
47# CONFIG_AUDIT is not set
48# CONFIG_IKCONFIG is not set
49CONFIG_LOG_BUF_SHIFT=13
50# CONFIG_CGROUPS is not set
51# CONFIG_GROUP_SCHED is not set
52CONFIG_SYSFS_DEPRECATED=y
53CONFIG_SYSFS_DEPRECATED_V2=y
54# CONFIG_RELAY is not set
55# CONFIG_NAMESPACES is not set
56# CONFIG_BLK_DEV_INITRD is not set
57CONFIG_CC_OPTIMIZE_FOR_SIZE=y
58CONFIG_SYSCTL=y
59CONFIG_EMBEDDED=y
60CONFIG_UID16=y
61CONFIG_SYSCTL_SYSCALL=y
62CONFIG_KALLSYMS=y
63# CONFIG_KALLSYMS_ALL is not set
64# CONFIG_KALLSYMS_EXTRA_PASS is not set
65CONFIG_HOTPLUG=y
66CONFIG_PRINTK=y
67CONFIG_BUG=y
68# CONFIG_ELF_CORE is not set
69CONFIG_COMPAT_BRK=y
70CONFIG_BASE_FULL=y
71CONFIG_FUTEX=y
72CONFIG_ANON_INODES=y
73CONFIG_EPOLL=y
74CONFIG_SIGNALFD=y
75CONFIG_TIMERFD=y
76CONFIG_EVENTFD=y
77# CONFIG_SHMEM is not set
78CONFIG_VM_EVENT_COUNTERS=y
79CONFIG_SLAB=y
80# CONFIG_SLUB is not set
81# CONFIG_SLOB is not set
82# CONFIG_PROFILING is not set
83# CONFIG_MARKERS is not set
84CONFIG_HAVE_OPROFILE=y
85# CONFIG_KPROBES is not set
86# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
87# CONFIG_HAVE_IOREMAP_PROT is not set
88CONFIG_HAVE_KPROBES=y
89CONFIG_HAVE_KRETPROBES=y
90# CONFIG_HAVE_ARCH_TRACEHOOK is not set
91# CONFIG_HAVE_DMA_ATTRS is not set
92# CONFIG_USE_GENERIC_SMP_HELPERS is not set
93CONFIG_HAVE_CLK=y
94CONFIG_PROC_PAGE_MONITOR=y
95CONFIG_HAVE_GENERIC_DMA_COHERENT=y
96CONFIG_SLABINFO=y
97CONFIG_RT_MUTEXES=y
98CONFIG_TINY_SHMEM=y
99CONFIG_BASE_SMALL=0
100CONFIG_MODULES=y
101# CONFIG_MODULE_FORCE_LOAD is not set
102CONFIG_MODULE_UNLOAD=y
103# CONFIG_MODULE_FORCE_UNLOAD is not set
104# CONFIG_MODVERSIONS is not set
105# CONFIG_MODULE_SRCVERSION_ALL is not set
106CONFIG_KMOD=y
107CONFIG_BLOCK=y
108# CONFIG_LBD is not set
109# CONFIG_BLK_DEV_IO_TRACE is not set
110# CONFIG_LSF is not set
111# CONFIG_BLK_DEV_BSG is not set
112# CONFIG_BLK_DEV_INTEGRITY is not set
113
114#
115# IO Schedulers
116#
117CONFIG_IOSCHED_NOOP=y
118# CONFIG_IOSCHED_AS is not set
119CONFIG_IOSCHED_DEADLINE=y
120# CONFIG_IOSCHED_CFQ is not set
121# CONFIG_DEFAULT_AS is not set
122CONFIG_DEFAULT_DEADLINE=y
123# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="deadline"
126CONFIG_CLASSIC_RCU=y
127
128#
129# System Type
130#
131# CONFIG_ARCH_AAEC2000 is not set
132# CONFIG_ARCH_INTEGRATOR is not set
133# CONFIG_ARCH_REALVIEW is not set
134# CONFIG_ARCH_VERSATILE is not set
135# CONFIG_ARCH_AT91 is not set
136# CONFIG_ARCH_CLPS7500 is not set
137# CONFIG_ARCH_CLPS711X is not set
138# CONFIG_ARCH_EBSA110 is not set
139# CONFIG_ARCH_EP93XX is not set
140# CONFIG_ARCH_FOOTBRIDGE is not set
141# CONFIG_ARCH_NETX is not set
142# CONFIG_ARCH_H720X is not set
143# CONFIG_ARCH_IMX is not set
144# CONFIG_ARCH_IOP13XX is not set
145# CONFIG_ARCH_IOP32X is not set
146# CONFIG_ARCH_IOP33X is not set
147# CONFIG_ARCH_IXP23XX is not set
148# CONFIG_ARCH_IXP2000 is not set
149# CONFIG_ARCH_IXP4XX is not set
150# CONFIG_ARCH_L7200 is not set
151# CONFIG_ARCH_KIRKWOOD is not set
152# CONFIG_ARCH_KS8695 is not set
153# CONFIG_ARCH_NS9XXX is not set
154# CONFIG_ARCH_LOKI is not set
155# CONFIG_ARCH_MV78XX0 is not set
156# CONFIG_ARCH_MXC is not set
157# CONFIG_ARCH_ORION5X is not set
158# CONFIG_ARCH_PNX4008 is not set
159CONFIG_ARCH_PXA=y
160# CONFIG_ARCH_RPC is not set
161# CONFIG_ARCH_SA1100 is not set
162# CONFIG_ARCH_S3C2410 is not set
163# CONFIG_ARCH_SHARK is not set
164# CONFIG_ARCH_LH7A40X is not set
165# CONFIG_ARCH_DAVINCI is not set
166# CONFIG_ARCH_OMAP is not set
167# CONFIG_ARCH_MSM7X00A is not set
168
169#
170# Intel PXA2xx/PXA3xx Implementations
171#
172# CONFIG_ARCH_GUMSTIX is not set
173# CONFIG_ARCH_LUBBOCK is not set
174# CONFIG_MACH_LOGICPD_PXA270 is not set
175# CONFIG_MACH_MAINSTONE is not set
176# CONFIG_ARCH_PXA_IDP is not set
177# CONFIG_PXA_SHARPSL is not set
178CONFIG_ARCH_VIPER=y
179# CONFIG_ARCH_PXA_ESERIES is not set
180# CONFIG_MACH_TRIZEPS4 is not set
181# CONFIG_MACH_EM_X270 is not set
182# CONFIG_MACH_COLIBRI is not set
183# CONFIG_MACH_ZYLONITE is not set
184# CONFIG_MACH_LITTLETON is not set
185# CONFIG_MACH_TAVOREVB is not set
186# CONFIG_MACH_SAAR is not set
187# CONFIG_MACH_ARMCORE is not set
188# CONFIG_MACH_MAGICIAN is not set
189# CONFIG_MACH_PCM027 is not set
190# CONFIG_ARCH_PXA_PALM is not set
191# CONFIG_PXA_EZX is not set
192CONFIG_PXA25x=y
193CONFIG_PXA_PWM=m
194CONFIG_PXA_HAVE_ISA_IRQS=y
195
196#
197# Boot options
198#
199
200#
201# Power management
202#
203
204#
205# Processor Type
206#
207CONFIG_CPU_32=y
208CONFIG_CPU_XSCALE=y
209CONFIG_CPU_32v5=y
210CONFIG_CPU_ABRT_EV5T=y
211CONFIG_CPU_PABRT_NOIFAR=y
212CONFIG_CPU_CACHE_VIVT=y
213CONFIG_CPU_TLB_V4WBI=y
214CONFIG_CPU_CP15=y
215CONFIG_CPU_CP15_MMU=y
216
217#
218# Processor Features
219#
220CONFIG_ARM_THUMB=y
221# CONFIG_CPU_DCACHE_DISABLE is not set
222# CONFIG_OUTER_CACHE is not set
223CONFIG_IWMMXT=y
224CONFIG_XSCALE_PMU=y
225
226#
227# Bus support
228#
229CONFIG_ISA=y
230# CONFIG_PCI_SYSCALL is not set
231# CONFIG_ARCH_SUPPORTS_MSI is not set
232CONFIG_PCCARD=m
233# CONFIG_PCMCIA_DEBUG is not set
234CONFIG_PCMCIA=m
235CONFIG_PCMCIA_LOAD_CIS=y
236CONFIG_PCMCIA_IOCTL=y
237
238#
239# PC-card bridges
240#
241# CONFIG_I82365 is not set
242# CONFIG_TCIC is not set
243CONFIG_PCMCIA_PXA2XX=m
244CONFIG_PCMCIA_PROBE=y
245
246#
247# Kernel Features
248#
249CONFIG_TICK_ONESHOT=y
250# CONFIG_NO_HZ is not set
251# CONFIG_HIGH_RES_TIMERS is not set
252CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
253# CONFIG_PREEMPT is not set
254CONFIG_HZ=100
255CONFIG_AEABI=y
256CONFIG_OABI_COMPAT=y
257# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
258CONFIG_SELECT_MEMORY_MODEL=y
259CONFIG_FLATMEM_MANUAL=y
260# CONFIG_DISCONTIGMEM_MANUAL is not set
261# CONFIG_SPARSEMEM_MANUAL is not set
262CONFIG_FLATMEM=y
263CONFIG_FLAT_NODE_MEM_MAP=y
264# CONFIG_SPARSEMEM_STATIC is not set
265# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
266CONFIG_PAGEFLAGS_EXTENDED=y
267CONFIG_SPLIT_PTLOCK_CPUS=4096
268# CONFIG_RESOURCES_64BIT is not set
269CONFIG_ZONE_DMA_FLAG=1
270CONFIG_BOUNCE=y
271CONFIG_VIRT_TO_BUS=y
272CONFIG_ALIGNMENT_TRAP=y
273
274#
275# Boot options
276#
277CONFIG_ZBOOT_ROM_TEXT=0x0
278CONFIG_ZBOOT_ROM_BSS=0x0
279CONFIG_CMDLINE="root=31:02 rootfstype=jffs2 ro console=ttyS0,115200"
280# CONFIG_XIP_KERNEL is not set
281# CONFIG_KEXEC is not set
282
283#
284# CPU Frequency scaling
285#
286CONFIG_CPU_FREQ=y
287CONFIG_CPU_FREQ_TABLE=y
288# CONFIG_CPU_FREQ_DEBUG is not set
289CONFIG_CPU_FREQ_STAT=y
290# CONFIG_CPU_FREQ_STAT_DETAILS is not set
291CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
292# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
293# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
294# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
295# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
296CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
297CONFIG_CPU_FREQ_GOV_POWERSAVE=m
298CONFIG_CPU_FREQ_GOV_USERSPACE=m
299CONFIG_CPU_FREQ_GOV_ONDEMAND=m
300CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
301CONFIG_CPU_FREQ_PXA=y
302
303#
304# Floating point emulation
305#
306
307#
308# At least one emulation must be selected
309#
310# CONFIG_FPE_NWFPE is not set
311CONFIG_FPE_FASTFPE=y
312
313#
314# Userspace binary formats
315#
316CONFIG_BINFMT_ELF=y
317# CONFIG_BINFMT_AOUT is not set
318# CONFIG_BINFMT_MISC is not set
319
320#
321# Power management options
322#
323CONFIG_PM=y
324# CONFIG_PM_DEBUG is not set
325CONFIG_PM_SLEEP=y
326CONFIG_SUSPEND=y
327CONFIG_SUSPEND_FREEZER=y
328# CONFIG_APM_EMULATION is not set
329CONFIG_ARCH_SUSPEND_POSSIBLE=y
330CONFIG_NET=y
331
332#
333# Networking options
334#
335CONFIG_PACKET=y
336# CONFIG_PACKET_MMAP is not set
337CONFIG_UNIX=y
338CONFIG_XFRM=y
339# CONFIG_XFRM_USER is not set
340# CONFIG_XFRM_SUB_POLICY is not set
341# CONFIG_XFRM_MIGRATE is not set
342# CONFIG_XFRM_STATISTICS is not set
343# CONFIG_NET_KEY is not set
344CONFIG_INET=y
345# CONFIG_IP_MULTICAST is not set
346# CONFIG_IP_ADVANCED_ROUTER is not set
347CONFIG_IP_FIB_HASH=y
348CONFIG_IP_PNP=y
349CONFIG_IP_PNP_DHCP=y
350# CONFIG_IP_PNP_BOOTP is not set
351# CONFIG_IP_PNP_RARP is not set
352# CONFIG_NET_IPIP is not set
353# CONFIG_NET_IPGRE is not set
354# CONFIG_ARPD is not set
355CONFIG_SYN_COOKIES=y
356# CONFIG_INET_AH is not set
357# CONFIG_INET_ESP is not set
358# CONFIG_INET_IPCOMP is not set
359# CONFIG_INET_XFRM_TUNNEL is not set
360# CONFIG_INET_TUNNEL is not set
361CONFIG_INET_XFRM_MODE_TRANSPORT=y
362CONFIG_INET_XFRM_MODE_TUNNEL=y
363CONFIG_INET_XFRM_MODE_BEET=y
364# CONFIG_INET_LRO is not set
365CONFIG_INET_DIAG=y
366CONFIG_INET_TCP_DIAG=y
367# CONFIG_TCP_CONG_ADVANCED is not set
368CONFIG_TCP_CONG_CUBIC=y
369CONFIG_DEFAULT_TCP_CONG="cubic"
370# CONFIG_TCP_MD5SIG is not set
371# CONFIG_IPV6 is not set
372# CONFIG_NETWORK_SECMARK is not set
373# CONFIG_NETFILTER is not set
374# CONFIG_IP_DCCP is not set
375# CONFIG_IP_SCTP is not set
376# CONFIG_TIPC is not set
377# CONFIG_ATM is not set
378# CONFIG_BRIDGE is not set
379# CONFIG_VLAN_8021Q is not set
380# CONFIG_DECNET is not set
381# CONFIG_LLC2 is not set
382# CONFIG_IPX is not set
383# CONFIG_ATALK is not set
384# CONFIG_X25 is not set
385# CONFIG_LAPB is not set
386# CONFIG_ECONET is not set
387# CONFIG_WAN_ROUTER is not set
388# CONFIG_NET_SCHED is not set
389
390#
391# Network testing
392#
393# CONFIG_NET_PKTGEN is not set
394# CONFIG_HAMRADIO is not set
395# CONFIG_CAN is not set
396# CONFIG_IRDA is not set
397CONFIG_BT=m
398CONFIG_BT_L2CAP=m
399# CONFIG_BT_SCO is not set
400CONFIG_BT_RFCOMM=m
401CONFIG_BT_RFCOMM_TTY=y
402CONFIG_BT_BNEP=m
403# CONFIG_BT_BNEP_MC_FILTER is not set
404# CONFIG_BT_BNEP_PROTO_FILTER is not set
405# CONFIG_BT_HIDP is not set
406
407#
408# Bluetooth device drivers
409#
410CONFIG_BT_HCIUSB=m
411# CONFIG_BT_HCIUSB_SCO is not set
412# CONFIG_BT_HCIBTUSB is not set
413CONFIG_BT_HCIUART=m
414CONFIG_BT_HCIUART_H4=y
415CONFIG_BT_HCIUART_BCSP=y
416# CONFIG_BT_HCIUART_LL is not set
417# CONFIG_BT_HCIBCM203X is not set
418# CONFIG_BT_HCIBPA10X is not set
419# CONFIG_BT_HCIBFUSB is not set
420# CONFIG_BT_HCIDTL1 is not set
421# CONFIG_BT_HCIBT3C is not set
422# CONFIG_BT_HCIBLUECARD is not set
423# CONFIG_BT_HCIBTUART is not set
424# CONFIG_BT_HCIVHCI is not set
425# CONFIG_AF_RXRPC is not set
426
427#
428# Wireless
429#
430# CONFIG_CFG80211 is not set
431# CONFIG_WIRELESS_EXT is not set
432# CONFIG_MAC80211 is not set
433CONFIG_IEEE80211=m
434# CONFIG_IEEE80211_DEBUG is not set
435CONFIG_IEEE80211_CRYPT_WEP=m
436# CONFIG_IEEE80211_CRYPT_CCMP is not set
437# CONFIG_IEEE80211_CRYPT_TKIP is not set
438# CONFIG_RFKILL is not set
439# CONFIG_NET_9P is not set
440
441#
442# Device Drivers
443#
444
445#
446# Generic Driver Options
447#
448CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
449CONFIG_STANDALONE=y
450CONFIG_PREVENT_FIRMWARE_BUILD=y
451CONFIG_FW_LOADER=m
452CONFIG_FIRMWARE_IN_KERNEL=y
453CONFIG_EXTRA_FIRMWARE=""
454# CONFIG_DEBUG_DRIVER is not set
455# CONFIG_DEBUG_DEVRES is not set
456# CONFIG_SYS_HYPERVISOR is not set
457# CONFIG_CONNECTOR is not set
458CONFIG_MTD=y
459# CONFIG_MTD_DEBUG is not set
460# CONFIG_MTD_CONCAT is not set
461CONFIG_MTD_PARTITIONS=y
462CONFIG_MTD_REDBOOT_PARTS=y
463CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=0
464# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
465# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
466# CONFIG_MTD_CMDLINE_PARTS is not set
467# CONFIG_MTD_AFS_PARTS is not set
468# CONFIG_MTD_AR7_PARTS is not set
469
470#
471# User Modules And Translation Layers
472#
473CONFIG_MTD_CHAR=m
474CONFIG_MTD_BLKDEVS=y
475CONFIG_MTD_BLOCK=y
476# CONFIG_FTL is not set
477# CONFIG_NFTL is not set
478# CONFIG_INFTL is not set
479# CONFIG_RFD_FTL is not set
480# CONFIG_SSFDC is not set
481# CONFIG_MTD_OOPS is not set
482
483#
484# RAM/ROM/Flash chip drivers
485#
486CONFIG_MTD_CFI=y
487CONFIG_MTD_JEDECPROBE=y
488CONFIG_MTD_GEN_PROBE=y
489CONFIG_MTD_CFI_ADV_OPTIONS=y
490CONFIG_MTD_CFI_NOSWAP=y
491# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
492# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
493CONFIG_MTD_CFI_GEOMETRY=y
494CONFIG_MTD_MAP_BANK_WIDTH_1=y
495CONFIG_MTD_MAP_BANK_WIDTH_2=y
496# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
497# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
498# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
499# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
500CONFIG_MTD_CFI_I1=y
501# CONFIG_MTD_CFI_I2 is not set
502# CONFIG_MTD_CFI_I4 is not set
503# CONFIG_MTD_CFI_I8 is not set
504# CONFIG_MTD_OTP is not set
505CONFIG_MTD_CFI_INTELEXT=y
506CONFIG_MTD_CFI_AMDSTD=y
507# CONFIG_MTD_CFI_STAA is not set
508CONFIG_MTD_CFI_UTIL=y
509CONFIG_MTD_RAM=y
510# CONFIG_MTD_ROM is not set
511# CONFIG_MTD_ABSENT is not set
512# CONFIG_MTD_XIP is not set
513
514#
515# Mapping drivers for chip access
516#
517CONFIG_MTD_COMPLEX_MAPPINGS=y
518CONFIG_MTD_PHYSMAP=y
519CONFIG_MTD_PHYSMAP_START=0x8000000
520CONFIG_MTD_PHYSMAP_LEN=0
521CONFIG_MTD_PHYSMAP_BANKWIDTH=2
522CONFIG_MTD_PXA2XX=y
523# CONFIG_MTD_ARM_INTEGRATOR is not set
524# CONFIG_MTD_IMPA7 is not set
525# CONFIG_MTD_SHARP_SL is not set
526# CONFIG_MTD_PLATRAM is not set
527CONFIG_MTD_SPARSE_RAM=y
528
529#
530# Self-contained MTD device drivers
531#
532# CONFIG_MTD_SLRAM is not set
533# CONFIG_MTD_PHRAM is not set
534# CONFIG_MTD_MTDRAM is not set
535# CONFIG_MTD_BLOCK2MTD is not set
536
537#
538# Disk-On-Chip Device Drivers
539#
540# CONFIG_MTD_DOC2000 is not set
541# CONFIG_MTD_DOC2001 is not set
542# CONFIG_MTD_DOC2001PLUS is not set
543# CONFIG_MTD_NAND is not set
544# CONFIG_MTD_ONENAND is not set
545
546#
547# UBI - Unsorted block images
548#
549# CONFIG_MTD_UBI is not set
550# CONFIG_PARPORT is not set
551# CONFIG_PNP is not set
552CONFIG_BLK_DEV=y
553# CONFIG_BLK_DEV_COW_COMMON is not set
554CONFIG_BLK_DEV_LOOP=m
555# CONFIG_BLK_DEV_CRYPTOLOOP is not set
556# CONFIG_BLK_DEV_NBD is not set
557# CONFIG_BLK_DEV_UB is not set
558# CONFIG_BLK_DEV_RAM is not set
559# CONFIG_CDROM_PKTCDVD is not set
560# CONFIG_ATA_OVER_ETH is not set
561CONFIG_MISC_DEVICES=y
562# CONFIG_EEPROM_93CX6 is not set
563# CONFIG_ENCLOSURE_SERVICES is not set
564CONFIG_HAVE_IDE=y
565# CONFIG_IDE is not set
566
567#
568# SCSI device support
569#
570# CONFIG_RAID_ATTRS is not set
571CONFIG_SCSI=m
572CONFIG_SCSI_DMA=y
573# CONFIG_SCSI_TGT is not set
574# CONFIG_SCSI_NETLINK is not set
575# CONFIG_SCSI_PROC_FS is not set
576
577#
578# SCSI support type (disk, tape, CD-ROM)
579#
580CONFIG_BLK_DEV_SD=m
581# CONFIG_CHR_DEV_ST is not set
582# CONFIG_CHR_DEV_OSST is not set
583# CONFIG_BLK_DEV_SR is not set
584# CONFIG_CHR_DEV_SG is not set
585# CONFIG_CHR_DEV_SCH is not set
586
587#
588# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
589#
590# CONFIG_SCSI_MULTI_LUN is not set
591# CONFIG_SCSI_CONSTANTS is not set
592# CONFIG_SCSI_LOGGING is not set
593# CONFIG_SCSI_SCAN_ASYNC is not set
594CONFIG_SCSI_WAIT_SCAN=m
595
596#
597# SCSI Transports
598#
599# CONFIG_SCSI_SPI_ATTRS is not set
600# CONFIG_SCSI_FC_ATTRS is not set
601# CONFIG_SCSI_ISCSI_ATTRS is not set
602# CONFIG_SCSI_SAS_LIBSAS is not set
603# CONFIG_SCSI_SRP_ATTRS is not set
604CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_ISCSI_TCP is not set
606# CONFIG_SCSI_AHA152X is not set
607# CONFIG_SCSI_AIC7XXX_OLD is not set
608# CONFIG_SCSI_ADVANSYS is not set
609# CONFIG_SCSI_IN2000 is not set
610# CONFIG_SCSI_DTC3280 is not set
611# CONFIG_SCSI_FUTURE_DOMAIN is not set
612# CONFIG_SCSI_GENERIC_NCR5380 is not set
613# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
614# CONFIG_SCSI_NCR53C406A is not set
615# CONFIG_SCSI_PAS16 is not set
616# CONFIG_SCSI_QLOGIC_FAS is not set
617# CONFIG_SCSI_SYM53C416 is not set
618# CONFIG_SCSI_T128 is not set
619# CONFIG_SCSI_DEBUG is not set
620# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
621# CONFIG_SCSI_DH is not set
622CONFIG_ATA=m
623# CONFIG_ATA_NONSTANDARD is not set
624# CONFIG_SATA_PMP is not set
625CONFIG_ATA_SFF=y
626# CONFIG_SATA_MV is not set
627# CONFIG_PATA_LEGACY is not set
628CONFIG_PATA_PCMCIA=m
629# CONFIG_PATA_QDI is not set
630# CONFIG_PATA_WINBOND_VLB is not set
631# CONFIG_PATA_PLATFORM is not set
632# CONFIG_MD is not set
633CONFIG_NETDEVICES=y
634# CONFIG_DUMMY is not set
635# CONFIG_BONDING is not set
636# CONFIG_MACVLAN is not set
637# CONFIG_EQUALIZER is not set
638# CONFIG_TUN is not set
639# CONFIG_VETH is not set
640# CONFIG_ARCNET is not set
641# CONFIG_PHYLIB is not set
642CONFIG_NET_ETHERNET=y
643CONFIG_MII=y
644# CONFIG_AX88796 is not set
645# CONFIG_NET_VENDOR_3COM is not set
646# CONFIG_NET_VENDOR_SMC is not set
647CONFIG_SMC91X=y
648# CONFIG_DM9000 is not set
649# CONFIG_SMC911X is not set
650# CONFIG_NET_VENDOR_RACAL is not set
651# CONFIG_AT1700 is not set
652# CONFIG_DEPCA is not set
653# CONFIG_HP100 is not set
654# CONFIG_NET_ISA is not set
655# CONFIG_IBM_NEW_EMAC_ZMII is not set
656# CONFIG_IBM_NEW_EMAC_RGMII is not set
657# CONFIG_IBM_NEW_EMAC_TAH is not set
658# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
659# CONFIG_NET_PCI is not set
660# CONFIG_B44 is not set
661# CONFIG_NETDEV_1000 is not set
662# CONFIG_NETDEV_10000 is not set
663# CONFIG_TR is not set
664
665#
666# Wireless LAN
667#
668# CONFIG_WLAN_PRE80211 is not set
669# CONFIG_WLAN_80211 is not set
670# CONFIG_IWLWIFI_LEDS is not set
671
672#
673# USB Network Adapters
674#
675# CONFIG_USB_CATC is not set
676# CONFIG_USB_KAWETH is not set
677CONFIG_USB_PEGASUS=m
678# CONFIG_USB_RTL8150 is not set
679CONFIG_USB_USBNET=m
680CONFIG_USB_NET_AX8817X=m
681CONFIG_USB_NET_CDCETHER=m
682# CONFIG_USB_NET_DM9601 is not set
683# CONFIG_USB_NET_GL620A is not set
684CONFIG_USB_NET_NET1080=m
685# CONFIG_USB_NET_PLUSB is not set
686# CONFIG_USB_NET_MCS7830 is not set
687# CONFIG_USB_NET_RNDIS_HOST is not set
688# CONFIG_USB_NET_CDC_SUBSET is not set
689CONFIG_USB_NET_ZAURUS=m
690CONFIG_NET_PCMCIA=y
691# CONFIG_PCMCIA_3C589 is not set
692# CONFIG_PCMCIA_3C574 is not set
693# CONFIG_PCMCIA_FMVJ18X is not set
694# CONFIG_PCMCIA_PCNET is not set
695# CONFIG_PCMCIA_NMCLAN is not set
696# CONFIG_PCMCIA_SMC91C92 is not set
697# CONFIG_PCMCIA_XIRC2PS is not set
698# CONFIG_PCMCIA_AXNET is not set
699# CONFIG_WAN is not set
700CONFIG_PPP=m
701# CONFIG_PPP_MULTILINK is not set
702# CONFIG_PPP_FILTER is not set
703CONFIG_PPP_ASYNC=m
704# CONFIG_PPP_SYNC_TTY is not set
705CONFIG_PPP_DEFLATE=m
706CONFIG_PPP_BSDCOMP=m
707# CONFIG_PPP_MPPE is not set
708# CONFIG_PPPOE is not set
709# CONFIG_PPPOL2TP is not set
710# CONFIG_SLIP is not set
711CONFIG_SLHC=m
712# CONFIG_NETCONSOLE is not set
713# CONFIG_NETPOLL is not set
714# CONFIG_NET_POLL_CONTROLLER is not set
715# CONFIG_ISDN is not set
716
717#
718# Input device support
719#
720CONFIG_INPUT=y
721# CONFIG_INPUT_FF_MEMLESS is not set
722# CONFIG_INPUT_POLLDEV is not set
723
724#
725# Userland interfaces
726#
727CONFIG_INPUT_MOUSEDEV=m
728# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
729CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
730CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
731# CONFIG_INPUT_JOYDEV is not set
732CONFIG_INPUT_EVDEV=m
733# CONFIG_INPUT_EVBUG is not set
734
735#
736# Input Device Drivers
737#
738# CONFIG_INPUT_KEYBOARD is not set
739# CONFIG_INPUT_MOUSE is not set
740# CONFIG_INPUT_JOYSTICK is not set
741# CONFIG_INPUT_TABLET is not set
742CONFIG_INPUT_TOUCHSCREEN=y
743CONFIG_TOUCHSCREEN_FUJITSU=m
744# CONFIG_TOUCHSCREEN_GUNZE is not set
745CONFIG_TOUCHSCREEN_ELO=m
746CONFIG_TOUCHSCREEN_MTOUCH=m
747CONFIG_TOUCHSCREEN_INEXIO=m
748# CONFIG_TOUCHSCREEN_MK712 is not set
749CONFIG_TOUCHSCREEN_HTCPEN=m
750CONFIG_TOUCHSCREEN_PENMOUNT=m
751CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
752CONFIG_TOUCHSCREEN_TOUCHWIN=m
753# CONFIG_TOUCHSCREEN_UCB1400 is not set
754# CONFIG_TOUCHSCREEN_WM97XX is not set
755# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
756CONFIG_TOUCHSCREEN_TOUCHIT213=m
757CONFIG_INPUT_MISC=y
758# CONFIG_INPUT_ATI_REMOTE is not set
759# CONFIG_INPUT_ATI_REMOTE2 is not set
760# CONFIG_INPUT_KEYSPAN_REMOTE is not set
761# CONFIG_INPUT_POWERMATE is not set
762# CONFIG_INPUT_YEALINK is not set
763CONFIG_INPUT_UINPUT=m
764
765#
766# Hardware I/O ports
767#
768CONFIG_SERIO=y
769CONFIG_SERIO_SERPORT=y
770# CONFIG_SERIO_LIBPS2 is not set
771# CONFIG_SERIO_RAW is not set
772# CONFIG_GAMEPORT is not set
773
774#
775# Character devices
776#
777CONFIG_VT=y
778# CONFIG_CONSOLE_TRANSLATIONS is not set
779# CONFIG_VT_CONSOLE is not set
780CONFIG_HW_CONSOLE=y
781# CONFIG_VT_HW_CONSOLE_BINDING is not set
782CONFIG_DEVKMEM=y
783# CONFIG_SERIAL_NONSTANDARD is not set
784
785#
786# Serial drivers
787#
788CONFIG_SERIAL_8250=m
789# CONFIG_SERIAL_8250_CS is not set
790CONFIG_SERIAL_8250_NR_UARTS=5
791CONFIG_SERIAL_8250_RUNTIME_UARTS=5
792# CONFIG_SERIAL_8250_EXTENDED is not set
793
794#
795# Non-8250 serial port support
796#
797CONFIG_SERIAL_PXA=y
798CONFIG_SERIAL_PXA_CONSOLE=y
799CONFIG_SERIAL_CORE=y
800CONFIG_SERIAL_CORE_CONSOLE=y
801CONFIG_UNIX98_PTYS=y
802# CONFIG_LEGACY_PTYS is not set
803# CONFIG_IPMI_HANDLER is not set
804CONFIG_HW_RANDOM=m
805# CONFIG_NVRAM is not set
806# CONFIG_DTLK is not set
807# CONFIG_R3964 is not set
808
809#
810# PCMCIA character devices
811#
812# CONFIG_SYNCLINK_CS is not set
813# CONFIG_CARDMAN_4000 is not set
814# CONFIG_CARDMAN_4040 is not set
815# CONFIG_IPWIRELESS is not set
816# CONFIG_RAW_DRIVER is not set
817# CONFIG_TCG_TPM is not set
818CONFIG_DEVPORT=y
819CONFIG_I2C=y
820CONFIG_I2C_BOARDINFO=y
821CONFIG_I2C_CHARDEV=y
822# CONFIG_I2C_HELPER_AUTO is not set
823
824#
825# I2C Algorithms
826#
827CONFIG_I2C_ALGOBIT=y
828# CONFIG_I2C_ALGOPCF is not set
829# CONFIG_I2C_ALGOPCA is not set
830
831#
832# I2C Hardware Bus support
833#
834
835#
836# I2C system bus drivers (mostly embedded / system-on-chip)
837#
838CONFIG_I2C_GPIO=y
839# CONFIG_I2C_OCORES is not set
840CONFIG_I2C_PXA=y
841# CONFIG_I2C_PXA_SLAVE is not set
842# CONFIG_I2C_SIMTEC is not set
843
844#
845# External I2C/SMBus adapter drivers
846#
847# CONFIG_I2C_PARPORT_LIGHT is not set
848# CONFIG_I2C_TAOS_EVM is not set
849# CONFIG_I2C_TINY_USB is not set
850
851#
852# Other I2C/SMBus bus drivers
853#
854# CONFIG_I2C_ELEKTOR is not set
855# CONFIG_I2C_PCA_ISA is not set
856# CONFIG_I2C_PCA_PLATFORM is not set
857# CONFIG_I2C_STUB is not set
858
859#
860# Miscellaneous I2C Chip support
861#
862# CONFIG_DS1682 is not set
863# CONFIG_AT24 is not set
864# CONFIG_SENSORS_EEPROM is not set
865# CONFIG_SENSORS_PCF8574 is not set
866# CONFIG_PCF8575 is not set
867# CONFIG_SENSORS_PCA9539 is not set
868# CONFIG_SENSORS_PCF8591 is not set
869# CONFIG_TPS65010 is not set
870# CONFIG_SENSORS_MAX6875 is not set
871# CONFIG_SENSORS_TSL2550 is not set
872# CONFIG_I2C_DEBUG_CORE is not set
873# CONFIG_I2C_DEBUG_ALGO is not set
874# CONFIG_I2C_DEBUG_BUS is not set
875# CONFIG_I2C_DEBUG_CHIP is not set
876# CONFIG_SPI is not set
877CONFIG_ARCH_REQUIRE_GPIOLIB=y
878CONFIG_GPIOLIB=y
879# CONFIG_DEBUG_GPIO is not set
880CONFIG_GPIO_SYSFS=y
881
882#
883# I2C GPIO expanders:
884#
885# CONFIG_GPIO_MAX732X is not set
886# CONFIG_GPIO_PCA953X is not set
887# CONFIG_GPIO_PCF857X is not set
888
889#
890# PCI GPIO expanders:
891#
892
893#
894# SPI GPIO expanders:
895#
896# CONFIG_W1 is not set
897# CONFIG_POWER_SUPPLY is not set
898CONFIG_HWMON=y
899# CONFIG_HWMON_VID is not set
900# CONFIG_SENSORS_AD7414 is not set
901# CONFIG_SENSORS_AD7418 is not set
902# CONFIG_SENSORS_ADM1021 is not set
903# CONFIG_SENSORS_ADM1025 is not set
904# CONFIG_SENSORS_ADM1026 is not set
905# CONFIG_SENSORS_ADM1029 is not set
906# CONFIG_SENSORS_ADM1031 is not set
907# CONFIG_SENSORS_ADM9240 is not set
908# CONFIG_SENSORS_ADT7470 is not set
909# CONFIG_SENSORS_ADT7473 is not set
910# CONFIG_SENSORS_ATXP1 is not set
911# CONFIG_SENSORS_DS1621 is not set
912# CONFIG_SENSORS_F71805F is not set
913# CONFIG_SENSORS_F71882FG is not set
914# CONFIG_SENSORS_F75375S is not set
915# CONFIG_SENSORS_GL518SM is not set
916# CONFIG_SENSORS_GL520SM is not set
917# CONFIG_SENSORS_IT87 is not set
918# CONFIG_SENSORS_LM63 is not set
919# CONFIG_SENSORS_LM75 is not set
920# CONFIG_SENSORS_LM77 is not set
921# CONFIG_SENSORS_LM78 is not set
922# CONFIG_SENSORS_LM80 is not set
923# CONFIG_SENSORS_LM83 is not set
924# CONFIG_SENSORS_LM85 is not set
925# CONFIG_SENSORS_LM87 is not set
926# CONFIG_SENSORS_LM90 is not set
927# CONFIG_SENSORS_LM92 is not set
928# CONFIG_SENSORS_LM93 is not set
929# CONFIG_SENSORS_MAX1619 is not set
930# CONFIG_SENSORS_MAX6650 is not set
931# CONFIG_SENSORS_PC87360 is not set
932# CONFIG_SENSORS_PC87427 is not set
933# CONFIG_SENSORS_DME1737 is not set
934# CONFIG_SENSORS_SMSC47M1 is not set
935# CONFIG_SENSORS_SMSC47M192 is not set
936# CONFIG_SENSORS_SMSC47B397 is not set
937# CONFIG_SENSORS_ADS7828 is not set
938# CONFIG_SENSORS_THMC50 is not set
939# CONFIG_SENSORS_VT1211 is not set
940# CONFIG_SENSORS_W83781D is not set
941# CONFIG_SENSORS_W83791D is not set
942# CONFIG_SENSORS_W83792D is not set
943# CONFIG_SENSORS_W83793 is not set
944# CONFIG_SENSORS_W83L785TS is not set
945# CONFIG_SENSORS_W83L786NG is not set
946# CONFIG_SENSORS_W83627HF is not set
947# CONFIG_SENSORS_W83627EHF is not set
948# CONFIG_HWMON_DEBUG_CHIP is not set
949CONFIG_WATCHDOG=y
950# CONFIG_WATCHDOG_NOWAYOUT is not set
951
952#
953# Watchdog Device Drivers
954#
955# CONFIG_SOFT_WATCHDOG is not set
956# CONFIG_SA1100_WATCHDOG is not set
957
958#
959# ISA-based Watchdog Cards
960#
961# CONFIG_PCWATCHDOG is not set
962# CONFIG_MIXCOMWD is not set
963# CONFIG_WDT is not set
964
965#
966# USB-based Watchdog Cards
967#
968# CONFIG_USBPCWATCHDOG is not set
969
970#
971# Sonics Silicon Backplane
972#
973CONFIG_SSB_POSSIBLE=y
974# CONFIG_SSB is not set
975
976#
977# Multifunction device drivers
978#
979# CONFIG_MFD_CORE is not set
980# CONFIG_MFD_SM501 is not set
981# CONFIG_HTC_EGPIO is not set
982# CONFIG_HTC_PASIC3 is not set
983# CONFIG_MFD_TMIO is not set
984# CONFIG_MFD_T7L66XB is not set
985# CONFIG_MFD_TC6387XB is not set
986# CONFIG_MFD_TC6393XB is not set
987
988#
989# Multimedia devices
990#
991
992#
993# Multimedia core support
994#
995# CONFIG_VIDEO_DEV is not set
996# CONFIG_DVB_CORE is not set
997# CONFIG_VIDEO_MEDIA is not set
998
999#
1000# Multimedia drivers
1001#
1002# CONFIG_DAB is not set
1003
1004#
1005# Graphics support
1006#
1007# CONFIG_VGASTATE is not set
1008# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1009CONFIG_FB=y
1010# CONFIG_FIRMWARE_EDID is not set
1011# CONFIG_FB_DDC is not set
1012CONFIG_FB_CFB_FILLRECT=m
1013CONFIG_FB_CFB_COPYAREA=m
1014CONFIG_FB_CFB_IMAGEBLIT=m
1015# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1016# CONFIG_FB_SYS_FILLRECT is not set
1017# CONFIG_FB_SYS_COPYAREA is not set
1018# CONFIG_FB_SYS_IMAGEBLIT is not set
1019# CONFIG_FB_FOREIGN_ENDIAN is not set
1020# CONFIG_FB_SYS_FOPS is not set
1021# CONFIG_FB_SVGALIB is not set
1022# CONFIG_FB_MACMODES is not set
1023# CONFIG_FB_BACKLIGHT is not set
1024# CONFIG_FB_MODE_HELPERS is not set
1025# CONFIG_FB_TILEBLITTING is not set
1026
1027#
1028# Frame buffer hardware drivers
1029#
1030# CONFIG_FB_S1D13XXX is not set
1031CONFIG_FB_PXA=m
1032# CONFIG_FB_PXA_SMARTPANEL is not set
1033CONFIG_FB_PXA_PARAMETERS=y
1034# CONFIG_FB_MBX is not set
1035# CONFIG_FB_W100 is not set
1036# CONFIG_FB_AM200EPD is not set
1037# CONFIG_FB_VIRTUAL is not set
1038CONFIG_BACKLIGHT_LCD_SUPPORT=y
1039CONFIG_LCD_CLASS_DEVICE=m
1040# CONFIG_LCD_ILI9320 is not set
1041# CONFIG_LCD_PLATFORM is not set
1042CONFIG_BACKLIGHT_CLASS_DEVICE=m
1043# CONFIG_BACKLIGHT_CORGI is not set
1044CONFIG_BACKLIGHT_PWM=m
1045
1046#
1047# Display device support
1048#
1049# CONFIG_DISPLAY_SUPPORT is not set
1050
1051#
1052# Console display driver support
1053#
1054# CONFIG_VGA_CONSOLE is not set
1055# CONFIG_MDA_CONSOLE is not set
1056CONFIG_DUMMY_CONSOLE=y
1057CONFIG_FRAMEBUFFER_CONSOLE=m
1058# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1059# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1060# CONFIG_FONTS is not set
1061CONFIG_FONT_8x8=y
1062CONFIG_FONT_8x16=y
1063CONFIG_LOGO=y
1064CONFIG_LOGO_LINUX_MONO=y
1065CONFIG_LOGO_LINUX_VGA16=y
1066CONFIG_LOGO_LINUX_CLUT224=y
1067CONFIG_SOUND=m
1068CONFIG_SND=m
1069CONFIG_SND_TIMER=m
1070CONFIG_SND_PCM=m
1071# CONFIG_SND_SEQUENCER is not set
1072CONFIG_SND_OSSEMUL=y
1073CONFIG_SND_MIXER_OSS=m
1074CONFIG_SND_PCM_OSS=m
1075CONFIG_SND_PCM_OSS_PLUGINS=y
1076# CONFIG_SND_DYNAMIC_MINORS is not set
1077CONFIG_SND_SUPPORT_OLD_API=y
1078CONFIG_SND_VERBOSE_PROCFS=y
1079# CONFIG_SND_VERBOSE_PRINTK is not set
1080# CONFIG_SND_DEBUG is not set
1081CONFIG_SND_VMASTER=y
1082CONFIG_SND_AC97_CODEC=m
1083CONFIG_SND_DRIVERS=y
1084# CONFIG_SND_DUMMY is not set
1085# CONFIG_SND_MTPAV is not set
1086# CONFIG_SND_SERIAL_U16550 is not set
1087# CONFIG_SND_MPU401 is not set
1088# CONFIG_SND_AC97_POWER_SAVE is not set
1089CONFIG_SND_ARM=y
1090CONFIG_SND_PXA2XX_PCM=m
1091CONFIG_SND_PXA2XX_AC97=m
1092CONFIG_SND_USB=y
1093# CONFIG_SND_USB_AUDIO is not set
1094# CONFIG_SND_USB_CAIAQ is not set
1095CONFIG_SND_PCMCIA=y
1096# CONFIG_SND_VXPOCKET is not set
1097# CONFIG_SND_PDAUDIOCF is not set
1098# CONFIG_SND_SOC is not set
1099# CONFIG_SOUND_PRIME is not set
1100CONFIG_AC97_BUS=m
1101CONFIG_HID_SUPPORT=y
1102CONFIG_HID=y
1103# CONFIG_HID_DEBUG is not set
1104# CONFIG_HIDRAW is not set
1105
1106#
1107# USB Input Devices
1108#
1109CONFIG_USB_HID=m
1110# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1111# CONFIG_HID_FF is not set
1112# CONFIG_USB_HIDDEV is not set
1113
1114#
1115# USB HID Boot Protocol drivers
1116#
1117# CONFIG_USB_KBD is not set
1118# CONFIG_USB_MOUSE is not set
1119CONFIG_USB_SUPPORT=y
1120CONFIG_USB_ARCH_HAS_HCD=y
1121# CONFIG_USB_ARCH_HAS_OHCI is not set
1122# CONFIG_USB_ARCH_HAS_EHCI is not set
1123CONFIG_USB=m
1124# CONFIG_USB_DEBUG is not set
1125# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1126
1127#
1128# Miscellaneous USB options
1129#
1130CONFIG_USB_DEVICEFS=y
1131CONFIG_USB_DEVICE_CLASS=y
1132# CONFIG_USB_DYNAMIC_MINORS is not set
1133CONFIG_USB_SUSPEND=y
1134# CONFIG_USB_OTG is not set
1135# CONFIG_USB_OTG_WHITELIST is not set
1136# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1137# CONFIG_USB_MON is not set
1138
1139#
1140# USB Host Controller Drivers
1141#
1142# CONFIG_USB_C67X00_HCD is not set
1143CONFIG_USB_ISP116X_HCD=m
1144# CONFIG_USB_ISP1760_HCD is not set
1145CONFIG_USB_SL811_HCD=m
1146# CONFIG_USB_SL811_CS is not set
1147CONFIG_USB_R8A66597_HCD=m
1148# CONFIG_USB_MUSB_HDRC is not set
1149# CONFIG_USB_GADGET_MUSB_HDRC is not set
1150
1151#
1152# USB Device Class drivers
1153#
1154CONFIG_USB_ACM=m
1155# CONFIG_USB_PRINTER is not set
1156# CONFIG_USB_WDM is not set
1157
1158#
1159# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1160#
1161
1162#
1163# may also be needed; see USB_STORAGE Help for more information
1164#
1165CONFIG_USB_STORAGE=m
1166# CONFIG_USB_STORAGE_DEBUG is not set
1167# CONFIG_USB_STORAGE_DATAFAB is not set
1168# CONFIG_USB_STORAGE_FREECOM is not set
1169# CONFIG_USB_STORAGE_ISD200 is not set
1170# CONFIG_USB_STORAGE_DPCM is not set
1171# CONFIG_USB_STORAGE_USBAT is not set
1172# CONFIG_USB_STORAGE_SDDR09 is not set
1173# CONFIG_USB_STORAGE_SDDR55 is not set
1174# CONFIG_USB_STORAGE_JUMPSHOT is not set
1175# CONFIG_USB_STORAGE_ALAUDA is not set
1176# CONFIG_USB_STORAGE_ONETOUCH is not set
1177# CONFIG_USB_STORAGE_KARMA is not set
1178# CONFIG_USB_STORAGE_SIERRA is not set
1179# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1180# CONFIG_USB_LIBUSUAL is not set
1181
1182#
1183# USB Imaging devices
1184#
1185# CONFIG_USB_MDC800 is not set
1186# CONFIG_USB_MICROTEK is not set
1187
1188#
1189# USB port drivers
1190#
1191CONFIG_USB_SERIAL=m
1192# CONFIG_USB_EZUSB is not set
1193CONFIG_USB_SERIAL_GENERIC=y
1194# CONFIG_USB_SERIAL_AIRCABLE is not set
1195# CONFIG_USB_SERIAL_ARK3116 is not set
1196# CONFIG_USB_SERIAL_BELKIN is not set
1197# CONFIG_USB_SERIAL_CH341 is not set
1198# CONFIG_USB_SERIAL_WHITEHEAT is not set
1199# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1200# CONFIG_USB_SERIAL_CP2101 is not set
1201# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1202# CONFIG_USB_SERIAL_EMPEG is not set
1203# CONFIG_USB_SERIAL_FTDI_SIO is not set
1204# CONFIG_USB_SERIAL_FUNSOFT is not set
1205# CONFIG_USB_SERIAL_VISOR is not set
1206# CONFIG_USB_SERIAL_IPAQ is not set
1207# CONFIG_USB_SERIAL_IR is not set
1208# CONFIG_USB_SERIAL_EDGEPORT is not set
1209# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1210# CONFIG_USB_SERIAL_GARMIN is not set
1211# CONFIG_USB_SERIAL_IPW is not set
1212# CONFIG_USB_SERIAL_IUU is not set
1213# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
1214# CONFIG_USB_SERIAL_KEYSPAN is not set
1215# CONFIG_USB_SERIAL_KLSI is not set
1216# CONFIG_USB_SERIAL_KOBIL_SCT is not set
1217CONFIG_USB_SERIAL_MCT_U232=m
1218# CONFIG_USB_SERIAL_MOS7720 is not set
1219# CONFIG_USB_SERIAL_MOS7840 is not set
1220# CONFIG_USB_SERIAL_MOTOROLA is not set
1221# CONFIG_USB_SERIAL_NAVMAN is not set
1222# CONFIG_USB_SERIAL_PL2303 is not set
1223# CONFIG_USB_SERIAL_OTI6858 is not set
1224# CONFIG_USB_SERIAL_SPCP8X5 is not set
1225# CONFIG_USB_SERIAL_HP4X is not set
1226# CONFIG_USB_SERIAL_SAFE is not set
1227# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
1228# CONFIG_USB_SERIAL_TI is not set
1229# CONFIG_USB_SERIAL_CYBERJACK is not set
1230# CONFIG_USB_SERIAL_XIRCOM is not set
1231# CONFIG_USB_SERIAL_OPTION is not set
1232# CONFIG_USB_SERIAL_OMNINET is not set
1233# CONFIG_USB_SERIAL_DEBUG is not set
1234
1235#
1236# USB Miscellaneous drivers
1237#
1238# CONFIG_USB_EMI62 is not set
1239# CONFIG_USB_EMI26 is not set
1240# CONFIG_USB_ADUTUX is not set
1241# CONFIG_USB_RIO500 is not set
1242# CONFIG_USB_LEGOTOWER is not set
1243# CONFIG_USB_LCD is not set
1244# CONFIG_USB_BERRY_CHARGE is not set
1245# CONFIG_USB_LED is not set
1246# CONFIG_USB_CYPRESS_CY7C63 is not set
1247# CONFIG_USB_CYTHERM is not set
1248# CONFIG_USB_PHIDGET is not set
1249# CONFIG_USB_IDMOUSE is not set
1250# CONFIG_USB_FTDI_ELAN is not set
1251# CONFIG_USB_APPLEDISPLAY is not set
1252# CONFIG_USB_LD is not set
1253# CONFIG_USB_TRANCEVIBRATOR is not set
1254# CONFIG_USB_IOWARRIOR is not set
1255# CONFIG_USB_TEST is not set
1256# CONFIG_USB_ISIGHTFW is not set
1257CONFIG_USB_GADGET=m
1258# CONFIG_USB_GADGET_DEBUG is not set
1259# CONFIG_USB_GADGET_DEBUG_FILES is not set
1260CONFIG_USB_GADGET_SELECTED=y
1261# CONFIG_USB_GADGET_AMD5536UDC is not set
1262# CONFIG_USB_GADGET_ATMEL_USBA is not set
1263# CONFIG_USB_GADGET_FSL_USB2 is not set
1264# CONFIG_USB_GADGET_NET2280 is not set
1265CONFIG_USB_GADGET_PXA25X=y
1266CONFIG_USB_PXA25X=m
1267# CONFIG_USB_PXA25X_SMALL is not set
1268# CONFIG_USB_GADGET_M66592 is not set
1269# CONFIG_USB_GADGET_PXA27X is not set
1270# CONFIG_USB_GADGET_GOKU is not set
1271# CONFIG_USB_GADGET_LH7A40X is not set
1272# CONFIG_USB_GADGET_OMAP is not set
1273# CONFIG_USB_GADGET_S3C2410 is not set
1274# CONFIG_USB_GADGET_AT91 is not set
1275# CONFIG_USB_GADGET_DUMMY_HCD is not set
1276# CONFIG_USB_GADGET_DUALSPEED is not set
1277# CONFIG_USB_ZERO is not set
1278CONFIG_USB_ETH=m
1279CONFIG_USB_ETH_RNDIS=y
1280CONFIG_USB_GADGETFS=m
1281CONFIG_USB_FILE_STORAGE=m
1282# CONFIG_USB_FILE_STORAGE_TEST is not set
1283CONFIG_USB_G_SERIAL=m
1284# CONFIG_USB_MIDI_GADGET is not set
1285CONFIG_USB_G_PRINTER=m
1286# CONFIG_USB_CDC_COMPOSITE is not set
1287# CONFIG_MMC is not set
1288# CONFIG_NEW_LEDS is not set
1289CONFIG_RTC_LIB=y
1290CONFIG_RTC_CLASS=m
1291
1292#
1293# RTC interfaces
1294#
1295CONFIG_RTC_INTF_SYSFS=y
1296CONFIG_RTC_INTF_PROC=y
1297CONFIG_RTC_INTF_DEV=y
1298# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1299# CONFIG_RTC_DRV_TEST is not set
1300
1301#
1302# I2C RTC drivers
1303#
1304CONFIG_RTC_DRV_DS1307=m
1305# CONFIG_RTC_DRV_DS1374 is not set
1306# CONFIG_RTC_DRV_DS1672 is not set
1307# CONFIG_RTC_DRV_MAX6900 is not set
1308# CONFIG_RTC_DRV_RS5C372 is not set
1309# CONFIG_RTC_DRV_ISL1208 is not set
1310# CONFIG_RTC_DRV_X1205 is not set
1311# CONFIG_RTC_DRV_PCF8563 is not set
1312# CONFIG_RTC_DRV_PCF8583 is not set
1313# CONFIG_RTC_DRV_M41T80 is not set
1314# CONFIG_RTC_DRV_S35390A is not set
1315# CONFIG_RTC_DRV_FM3130 is not set
1316
1317#
1318# SPI RTC drivers
1319#
1320
1321#
1322# Platform RTC drivers
1323#
1324# CONFIG_RTC_DRV_CMOS is not set
1325# CONFIG_RTC_DRV_DS1511 is not set
1326# CONFIG_RTC_DRV_DS1553 is not set
1327# CONFIG_RTC_DRV_DS1742 is not set
1328# CONFIG_RTC_DRV_STK17TA8 is not set
1329# CONFIG_RTC_DRV_M48T86 is not set
1330# CONFIG_RTC_DRV_M48T59 is not set
1331# CONFIG_RTC_DRV_V3020 is not set
1332
1333#
1334# on-CPU RTC drivers
1335#
1336CONFIG_RTC_DRV_SA1100=m
1337# CONFIG_DMADEVICES is not set
1338
1339#
1340# Voltage and Current regulators
1341#
1342# CONFIG_REGULATOR is not set
1343# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1344# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1345# CONFIG_REGULATOR_BQ24022 is not set
1346# CONFIG_UIO is not set
1347
1348#
1349# File systems
1350#
1351CONFIG_EXT2_FS=m
1352# CONFIG_EXT2_FS_XATTR is not set
1353# CONFIG_EXT2_FS_XIP is not set
1354CONFIG_EXT3_FS=m
1355# CONFIG_EXT3_FS_XATTR is not set
1356# CONFIG_EXT4DEV_FS is not set
1357CONFIG_JBD=m
1358# CONFIG_REISERFS_FS is not set
1359# CONFIG_JFS_FS is not set
1360# CONFIG_FS_POSIX_ACL is not set
1361# CONFIG_XFS_FS is not set
1362# CONFIG_OCFS2_FS is not set
1363# CONFIG_DNOTIFY is not set
1364CONFIG_INOTIFY=y
1365CONFIG_INOTIFY_USER=y
1366# CONFIG_QUOTA is not set
1367# CONFIG_AUTOFS_FS is not set
1368# CONFIG_AUTOFS4_FS is not set
1369# CONFIG_FUSE_FS is not set
1370
1371#
1372# CD-ROM/DVD Filesystems
1373#
1374# CONFIG_ISO9660_FS is not set
1375# CONFIG_UDF_FS is not set
1376
1377#
1378# DOS/FAT/NT Filesystems
1379#
1380CONFIG_FAT_FS=m
1381# CONFIG_MSDOS_FS is not set
1382CONFIG_VFAT_FS=m
1383CONFIG_FAT_DEFAULT_CODEPAGE=437
1384CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1385# CONFIG_NTFS_FS is not set
1386
1387#
1388# Pseudo filesystems
1389#
1390CONFIG_PROC_FS=y
1391CONFIG_PROC_SYSCTL=y
1392CONFIG_SYSFS=y
1393CONFIG_TMPFS=y
1394# CONFIG_TMPFS_POSIX_ACL is not set
1395# CONFIG_HUGETLB_PAGE is not set
1396# CONFIG_CONFIGFS_FS is not set
1397
1398#
1399# Miscellaneous filesystems
1400#
1401# CONFIG_ADFS_FS is not set
1402# CONFIG_AFFS_FS is not set
1403# CONFIG_HFS_FS is not set
1404# CONFIG_HFSPLUS_FS is not set
1405# CONFIG_BEFS_FS is not set
1406# CONFIG_BFS_FS is not set
1407# CONFIG_EFS_FS is not set
1408CONFIG_JFFS2_FS=y
1409CONFIG_JFFS2_FS_DEBUG=0
1410CONFIG_JFFS2_FS_WRITEBUFFER=y
1411# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1412# CONFIG_JFFS2_SUMMARY is not set
1413# CONFIG_JFFS2_FS_XATTR is not set
1414# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1415CONFIG_JFFS2_ZLIB=y
1416# CONFIG_JFFS2_LZO is not set
1417CONFIG_JFFS2_RTIME=y
1418# CONFIG_JFFS2_RUBIN is not set
1419# CONFIG_CRAMFS is not set
1420# CONFIG_VXFS_FS is not set
1421# CONFIG_MINIX_FS is not set
1422# CONFIG_OMFS_FS is not set
1423# CONFIG_HPFS_FS is not set
1424# CONFIG_QNX4FS_FS is not set
1425# CONFIG_ROMFS_FS is not set
1426# CONFIG_SYSV_FS is not set
1427# CONFIG_UFS_FS is not set
1428CONFIG_NETWORK_FILESYSTEMS=y
1429CONFIG_NFS_FS=y
1430CONFIG_NFS_V3=y
1431# CONFIG_NFS_V3_ACL is not set
1432# CONFIG_NFS_V4 is not set
1433CONFIG_ROOT_NFS=y
1434CONFIG_NFSD=m
1435CONFIG_NFSD_V3=y
1436# CONFIG_NFSD_V3_ACL is not set
1437# CONFIG_NFSD_V4 is not set
1438CONFIG_LOCKD=y
1439CONFIG_LOCKD_V4=y
1440CONFIG_EXPORTFS=m
1441CONFIG_NFS_COMMON=y
1442CONFIG_SUNRPC=y
1443# CONFIG_RPCSEC_GSS_KRB5 is not set
1444# CONFIG_RPCSEC_GSS_SPKM3 is not set
1445# CONFIG_SMB_FS is not set
1446# CONFIG_CIFS is not set
1447# CONFIG_NCP_FS is not set
1448# CONFIG_CODA_FS is not set
1449# CONFIG_AFS_FS is not set
1450
1451#
1452# Partition Types
1453#
1454CONFIG_PARTITION_ADVANCED=y
1455# CONFIG_ACORN_PARTITION is not set
1456# CONFIG_OSF_PARTITION is not set
1457# CONFIG_AMIGA_PARTITION is not set
1458# CONFIG_ATARI_PARTITION is not set
1459# CONFIG_MAC_PARTITION is not set
1460CONFIG_MSDOS_PARTITION=y
1461# CONFIG_BSD_DISKLABEL is not set
1462# CONFIG_MINIX_SUBPARTITION is not set
1463# CONFIG_SOLARIS_X86_PARTITION is not set
1464# CONFIG_UNIXWARE_DISKLABEL is not set
1465# CONFIG_LDM_PARTITION is not set
1466# CONFIG_SGI_PARTITION is not set
1467# CONFIG_ULTRIX_PARTITION is not set
1468# CONFIG_SUN_PARTITION is not set
1469# CONFIG_KARMA_PARTITION is not set
1470# CONFIG_EFI_PARTITION is not set
1471# CONFIG_SYSV68_PARTITION is not set
1472CONFIG_NLS=m
1473CONFIG_NLS_DEFAULT="iso8859-1"
1474CONFIG_NLS_CODEPAGE_437=m
1475# CONFIG_NLS_CODEPAGE_737 is not set
1476# CONFIG_NLS_CODEPAGE_775 is not set
1477CONFIG_NLS_CODEPAGE_850=m
1478# CONFIG_NLS_CODEPAGE_852 is not set
1479# CONFIG_NLS_CODEPAGE_855 is not set
1480# CONFIG_NLS_CODEPAGE_857 is not set
1481# CONFIG_NLS_CODEPAGE_860 is not set
1482# CONFIG_NLS_CODEPAGE_861 is not set
1483# CONFIG_NLS_CODEPAGE_862 is not set
1484# CONFIG_NLS_CODEPAGE_863 is not set
1485# CONFIG_NLS_CODEPAGE_864 is not set
1486# CONFIG_NLS_CODEPAGE_865 is not set
1487# CONFIG_NLS_CODEPAGE_866 is not set
1488# CONFIG_NLS_CODEPAGE_869 is not set
1489# CONFIG_NLS_CODEPAGE_936 is not set
1490# CONFIG_NLS_CODEPAGE_950 is not set
1491# CONFIG_NLS_CODEPAGE_932 is not set
1492# CONFIG_NLS_CODEPAGE_949 is not set
1493# CONFIG_NLS_CODEPAGE_874 is not set
1494# CONFIG_NLS_ISO8859_8 is not set
1495# CONFIG_NLS_CODEPAGE_1250 is not set
1496# CONFIG_NLS_CODEPAGE_1251 is not set
1497# CONFIG_NLS_ASCII is not set
1498CONFIG_NLS_ISO8859_1=m
1499# CONFIG_NLS_ISO8859_2 is not set
1500# CONFIG_NLS_ISO8859_3 is not set
1501# CONFIG_NLS_ISO8859_4 is not set
1502# CONFIG_NLS_ISO8859_5 is not set
1503# CONFIG_NLS_ISO8859_6 is not set
1504# CONFIG_NLS_ISO8859_7 is not set
1505# CONFIG_NLS_ISO8859_9 is not set
1506# CONFIG_NLS_ISO8859_13 is not set
1507# CONFIG_NLS_ISO8859_14 is not set
1508CONFIG_NLS_ISO8859_15=m
1509# CONFIG_NLS_KOI8_R is not set
1510# CONFIG_NLS_KOI8_U is not set
1511CONFIG_NLS_UTF8=m
1512# CONFIG_DLM is not set
1513
1514#
1515# Kernel hacking
1516#
1517# CONFIG_PRINTK_TIME is not set
1518CONFIG_ENABLE_WARN_DEPRECATED=y
1519CONFIG_ENABLE_MUST_CHECK=y
1520CONFIG_FRAME_WARN=1024
1521CONFIG_MAGIC_SYSRQ=y
1522# CONFIG_UNUSED_SYMBOLS is not set
1523# CONFIG_DEBUG_FS is not set
1524# CONFIG_HEADERS_CHECK is not set
1525CONFIG_DEBUG_KERNEL=y
1526# CONFIG_DEBUG_SHIRQ is not set
1527CONFIG_DETECT_SOFTLOCKUP=y
1528# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1529CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1530CONFIG_SCHED_DEBUG=y
1531# CONFIG_SCHEDSTATS is not set
1532# CONFIG_TIMER_STATS is not set
1533# CONFIG_DEBUG_OBJECTS is not set
1534# CONFIG_DEBUG_SLAB is not set
1535# CONFIG_DEBUG_RT_MUTEXES is not set
1536# CONFIG_RT_MUTEX_TESTER is not set
1537# CONFIG_DEBUG_SPINLOCK is not set
1538CONFIG_DEBUG_MUTEXES=y
1539# CONFIG_DEBUG_LOCK_ALLOC is not set
1540# CONFIG_PROVE_LOCKING is not set
1541# CONFIG_LOCK_STAT is not set
1542# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1543# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1544# CONFIG_DEBUG_KOBJECT is not set
1545CONFIG_DEBUG_BUGVERBOSE=y
1546# CONFIG_DEBUG_INFO is not set
1547# CONFIG_DEBUG_VM is not set
1548# CONFIG_DEBUG_WRITECOUNT is not set
1549# CONFIG_DEBUG_MEMORY_INIT is not set
1550# CONFIG_DEBUG_LIST is not set
1551# CONFIG_DEBUG_SG is not set
1552CONFIG_FRAME_POINTER=y
1553# CONFIG_BOOT_PRINTK_DELAY is not set
1554# CONFIG_RCU_TORTURE_TEST is not set
1555# CONFIG_BACKTRACE_SELF_TEST is not set
1556# CONFIG_FAULT_INJECTION is not set
1557# CONFIG_LATENCYTOP is not set
1558CONFIG_SYSCTL_SYSCALL_CHECK=y
1559CONFIG_HAVE_FTRACE=y
1560CONFIG_HAVE_DYNAMIC_FTRACE=y
1561# CONFIG_FTRACE is not set
1562# CONFIG_IRQSOFF_TRACER is not set
1563# CONFIG_SCHED_TRACER is not set
1564# CONFIG_CONTEXT_SWITCH_TRACER is not set
1565# CONFIG_SAMPLES is not set
1566CONFIG_HAVE_ARCH_KGDB=y
1567# CONFIG_KGDB is not set
1568# CONFIG_DEBUG_USER is not set
1569CONFIG_DEBUG_ERRORS=y
1570# CONFIG_DEBUG_STACK_USAGE is not set
1571# CONFIG_DEBUG_LL is not set
1572
1573#
1574# Security options
1575#
1576# CONFIG_KEYS is not set
1577# CONFIG_SECURITY is not set
1578# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1579CONFIG_CRYPTO=y
1580
1581#
1582# Crypto core or helper
1583#
1584CONFIG_CRYPTO_ALGAPI=m
1585CONFIG_CRYPTO_BLKCIPHER=m
1586CONFIG_CRYPTO_MANAGER=m
1587# CONFIG_CRYPTO_GF128MUL is not set
1588# CONFIG_CRYPTO_NULL is not set
1589# CONFIG_CRYPTO_CRYPTD is not set
1590# CONFIG_CRYPTO_AUTHENC is not set
1591# CONFIG_CRYPTO_TEST is not set
1592
1593#
1594# Authenticated Encryption with Associated Data
1595#
1596# CONFIG_CRYPTO_CCM is not set
1597# CONFIG_CRYPTO_GCM is not set
1598# CONFIG_CRYPTO_SEQIV is not set
1599
1600#
1601# Block modes
1602#
1603# CONFIG_CRYPTO_CBC is not set
1604# CONFIG_CRYPTO_CTR is not set
1605# CONFIG_CRYPTO_CTS is not set
1606CONFIG_CRYPTO_ECB=m
1607# CONFIG_CRYPTO_LRW is not set
1608# CONFIG_CRYPTO_PCBC is not set
1609# CONFIG_CRYPTO_XTS is not set
1610
1611#
1612# Hash modes
1613#
1614# CONFIG_CRYPTO_HMAC is not set
1615# CONFIG_CRYPTO_XCBC is not set
1616
1617#
1618# Digest
1619#
1620# CONFIG_CRYPTO_CRC32C is not set
1621# CONFIG_CRYPTO_MD4 is not set
1622# CONFIG_CRYPTO_MD5 is not set
1623# CONFIG_CRYPTO_MICHAEL_MIC is not set
1624# CONFIG_CRYPTO_RMD128 is not set
1625# CONFIG_CRYPTO_RMD160 is not set
1626# CONFIG_CRYPTO_RMD256 is not set
1627# CONFIG_CRYPTO_RMD320 is not set
1628# CONFIG_CRYPTO_SHA1 is not set
1629# CONFIG_CRYPTO_SHA256 is not set
1630# CONFIG_CRYPTO_SHA512 is not set
1631# CONFIG_CRYPTO_TGR192 is not set
1632# CONFIG_CRYPTO_WP512 is not set
1633
1634#
1635# Ciphers
1636#
1637# CONFIG_CRYPTO_AES is not set
1638# CONFIG_CRYPTO_ANUBIS is not set
1639CONFIG_CRYPTO_ARC4=m
1640# CONFIG_CRYPTO_BLOWFISH is not set
1641# CONFIG_CRYPTO_CAMELLIA is not set
1642# CONFIG_CRYPTO_CAST5 is not set
1643# CONFIG_CRYPTO_CAST6 is not set
1644# CONFIG_CRYPTO_DES is not set
1645# CONFIG_CRYPTO_FCRYPT is not set
1646# CONFIG_CRYPTO_KHAZAD is not set
1647# CONFIG_CRYPTO_SALSA20 is not set
1648# CONFIG_CRYPTO_SEED is not set
1649# CONFIG_CRYPTO_SERPENT is not set
1650# CONFIG_CRYPTO_TEA is not set
1651# CONFIG_CRYPTO_TWOFISH is not set
1652
1653#
1654# Compression
1655#
1656# CONFIG_CRYPTO_DEFLATE is not set
1657# CONFIG_CRYPTO_LZO is not set
1658CONFIG_CRYPTO_HW=y
1659
1660#
1661# Library routines
1662#
1663CONFIG_BITREVERSE=y
1664# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1665# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1666CONFIG_CRC_CCITT=m
1667# CONFIG_CRC16 is not set
1668CONFIG_CRC_T10DIF=m
1669# CONFIG_CRC_ITU_T is not set
1670CONFIG_CRC32=y
1671# CONFIG_CRC7 is not set
1672# CONFIG_LIBCRC32C is not set
1673CONFIG_ZLIB_INFLATE=y
1674CONFIG_ZLIB_DEFLATE=y
1675CONFIG_PLIST=y
1676CONFIG_HAS_IOMEM=y
1677CONFIG_HAS_IOPORT=y
1678CONFIG_HAS_DMA=y
diff --git a/arch/arm/configs/xm_x270_defconfig b/arch/arm/configs/xm_x2xx_defconfig
index aa40d91ce599..f891364deceb 100644
--- a/arch/arm/configs/xm_x270_defconfig
+++ b/arch/arm/configs/xm_x2xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25 3# Linux kernel version: 2.6.27-rc8
4# Sun May 11 15:12:52 2008 4# Sun Oct 5 11:05:36 2008
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -12,6 +12,7 @@ CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set 12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y 16CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y 17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y 18CONFIG_HARDIRQS_SW_RESEND=y
@@ -24,6 +25,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ARCH_SUPPORTS_AOUT=y 25CONFIG_ARCH_SUPPORTS_AOUT=y
25CONFIG_ZONE_DMA=y 26CONFIG_ZONE_DMA=y
26CONFIG_ARCH_MTD_XIP=y 27CONFIG_ARCH_MTD_XIP=y
28CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
27CONFIG_VECTORS_BASE=0xffff0000 29CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 30CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29 31
@@ -62,7 +64,6 @@ CONFIG_SYSCTL=y
62CONFIG_EMBEDDED=y 64CONFIG_EMBEDDED=y
63CONFIG_UID16=y 65CONFIG_UID16=y
64CONFIG_SYSCTL_SYSCALL=y 66CONFIG_SYSCTL_SYSCALL=y
65CONFIG_SYSCTL_SYSCALL_CHECK=y
66CONFIG_KALLSYMS=y 67CONFIG_KALLSYMS=y
67# CONFIG_KALLSYMS_ALL is not set 68# CONFIG_KALLSYMS_ALL is not set
68# CONFIG_KALLSYMS_EXTRA_PASS is not set 69# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -88,14 +89,21 @@ CONFIG_SLUB=y
88# CONFIG_MARKERS is not set 89# CONFIG_MARKERS is not set
89CONFIG_HAVE_OPROFILE=y 90CONFIG_HAVE_OPROFILE=y
90# CONFIG_KPROBES is not set 91# CONFIG_KPROBES is not set
92# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
93# CONFIG_HAVE_IOREMAP_PROT is not set
91CONFIG_HAVE_KPROBES=y 94CONFIG_HAVE_KPROBES=y
92CONFIG_HAVE_KRETPROBES=y 95CONFIG_HAVE_KRETPROBES=y
96# CONFIG_HAVE_ARCH_TRACEHOOK is not set
93# CONFIG_HAVE_DMA_ATTRS is not set 97# CONFIG_HAVE_DMA_ATTRS is not set
98# CONFIG_USE_GENERIC_SMP_HELPERS is not set
99CONFIG_HAVE_CLK=y
94# CONFIG_PROC_PAGE_MONITOR is not set 100# CONFIG_PROC_PAGE_MONITOR is not set
101CONFIG_HAVE_GENERIC_DMA_COHERENT=y
95CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
96# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
97CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
98CONFIG_MODULES=y 105CONFIG_MODULES=y
106# CONFIG_MODULE_FORCE_LOAD is not set
99CONFIG_MODULE_UNLOAD=y 107CONFIG_MODULE_UNLOAD=y
100# CONFIG_MODULE_FORCE_UNLOAD is not set 108# CONFIG_MODULE_FORCE_UNLOAD is not set
101# CONFIG_MODVERSIONS is not set 109# CONFIG_MODVERSIONS is not set
@@ -106,6 +114,7 @@ CONFIG_BLOCK=y
106# CONFIG_BLK_DEV_IO_TRACE is not set 114# CONFIG_BLK_DEV_IO_TRACE is not set
107# CONFIG_LSF is not set 115# CONFIG_LSF is not set
108# CONFIG_BLK_DEV_BSG is not set 116# CONFIG_BLK_DEV_BSG is not set
117# CONFIG_BLK_DEV_INTEGRITY is not set
109 118
110# 119#
111# IO Schedulers 120# IO Schedulers
@@ -131,7 +140,6 @@ CONFIG_CLASSIC_RCU=y
131# CONFIG_ARCH_AT91 is not set 140# CONFIG_ARCH_AT91 is not set
132# CONFIG_ARCH_CLPS7500 is not set 141# CONFIG_ARCH_CLPS7500 is not set
133# CONFIG_ARCH_CLPS711X is not set 142# CONFIG_ARCH_CLPS711X is not set
134# CONFIG_ARCH_CO285 is not set
135# CONFIG_ARCH_EBSA110 is not set 143# CONFIG_ARCH_EBSA110 is not set
136# CONFIG_ARCH_EP93XX is not set 144# CONFIG_ARCH_EP93XX is not set
137# CONFIG_ARCH_FOOTBRIDGE is not set 145# CONFIG_ARCH_FOOTBRIDGE is not set
@@ -145,8 +153,11 @@ CONFIG_CLASSIC_RCU=y
145# CONFIG_ARCH_IXP2000 is not set 153# CONFIG_ARCH_IXP2000 is not set
146# CONFIG_ARCH_IXP4XX is not set 154# CONFIG_ARCH_IXP4XX is not set
147# CONFIG_ARCH_L7200 is not set 155# CONFIG_ARCH_L7200 is not set
156# CONFIG_ARCH_KIRKWOOD is not set
148# CONFIG_ARCH_KS8695 is not set 157# CONFIG_ARCH_KS8695 is not set
149# CONFIG_ARCH_NS9XXX is not set 158# CONFIG_ARCH_NS9XXX is not set
159# CONFIG_ARCH_LOKI is not set
160# CONFIG_ARCH_MV78XX0 is not set
150# CONFIG_ARCH_MXC is not set 161# CONFIG_ARCH_MXC is not set
151# CONFIG_ARCH_ORION5X is not set 162# CONFIG_ARCH_ORION5X is not set
152# CONFIG_ARCH_PNX4008 is not set 163# CONFIG_ARCH_PNX4008 is not set
@@ -164,26 +175,32 @@ CONFIG_DMABOUNCE=y
164# 175#
165# Intel PXA2xx/PXA3xx Implementations 176# Intel PXA2xx/PXA3xx Implementations
166# 177#
167
168#
169# Select target boards
170#
171# CONFIG_ARCH_GUMSTIX is not set 178# CONFIG_ARCH_GUMSTIX is not set
172# CONFIG_ARCH_LUBBOCK is not set 179# CONFIG_ARCH_LUBBOCK is not set
173# CONFIG_MACH_LOGICPD_PXA270 is not set 180# CONFIG_MACH_LOGICPD_PXA270 is not set
174# CONFIG_MACH_MAINSTONE is not set 181# CONFIG_MACH_MAINSTONE is not set
182# CONFIG_MACH_MP900C is not set
175# CONFIG_ARCH_PXA_IDP is not set 183# CONFIG_ARCH_PXA_IDP is not set
176# CONFIG_PXA_SHARPSL is not set 184# CONFIG_PXA_SHARPSL is not set
185# CONFIG_ARCH_VIPER is not set
177# CONFIG_ARCH_PXA_ESERIES is not set 186# CONFIG_ARCH_PXA_ESERIES is not set
178# CONFIG_MACH_TRIZEPS4 is not set 187# CONFIG_TRIZEPS_PXA is not set
179CONFIG_MACH_EM_X270=y 188CONFIG_MACH_EM_X270=y
180# CONFIG_MACH_COLIBRI is not set 189# CONFIG_MACH_COLIBRI is not set
181# CONFIG_MACH_ZYLONITE is not set 190# CONFIG_MACH_ZYLONITE is not set
182# CONFIG_MACH_LITTLETON is not set 191# CONFIG_MACH_LITTLETON is not set
192# CONFIG_MACH_TAVOREVB is not set
193# CONFIG_MACH_SAAR is not set
183CONFIG_MACH_ARMCORE=y 194CONFIG_MACH_ARMCORE=y
195# CONFIG_MACH_CM_X300 is not set
184# CONFIG_MACH_MAGICIAN is not set 196# CONFIG_MACH_MAGICIAN is not set
197# CONFIG_MACH_MIOA701 is not set
185# CONFIG_MACH_PCM027 is not set 198# CONFIG_MACH_PCM027 is not set
199# CONFIG_ARCH_PXA_PALM is not set
200# CONFIG_PXA_EZX is not set
201CONFIG_PXA25x=y
186CONFIG_PXA27x=y 202CONFIG_PXA27x=y
203CONFIG_PXA_SSP=y
187# CONFIG_PXA_PWM is not set 204# CONFIG_PXA_PWM is not set
188 205
189# 206#
@@ -253,11 +270,17 @@ CONFIG_TICK_ONESHOT=y
253CONFIG_NO_HZ=y 270CONFIG_NO_HZ=y
254# CONFIG_HIGH_RES_TIMERS is not set 271# CONFIG_HIGH_RES_TIMERS is not set
255CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 272CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
273CONFIG_VMSPLIT_3G=y
274# CONFIG_VMSPLIT_2G is not set
275# CONFIG_VMSPLIT_1G is not set
276CONFIG_PAGE_OFFSET=0xC0000000
256# CONFIG_PREEMPT is not set 277# CONFIG_PREEMPT is not set
257CONFIG_HZ=100 278CONFIG_HZ=100
258CONFIG_AEABI=y 279CONFIG_AEABI=y
259CONFIG_OABI_COMPAT=y 280CONFIG_OABI_COMPAT=y
260# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 281CONFIG_ARCH_FLATMEM_HAS_HOLES=y
282# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
283# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
261CONFIG_SELECT_MEMORY_MODEL=y 284CONFIG_SELECT_MEMORY_MODEL=y
262CONFIG_FLATMEM_MANUAL=y 285CONFIG_FLATMEM_MANUAL=y
263# CONFIG_DISCONTIGMEM_MANUAL is not set 286# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -284,9 +307,10 @@ CONFIG_CMDLINE="root=1f03 mem=32M"
284# CONFIG_KEXEC is not set 307# CONFIG_KEXEC is not set
285 308
286# 309#
287# CPU Frequency scaling 310# CPU Power Management
288# 311#
289# CONFIG_CPU_FREQ is not set 312# CONFIG_CPU_FREQ is not set
313# CONFIG_CPU_IDLE is not set
290 314
291# 315#
292# Floating point emulation 316# Floating point emulation
@@ -316,10 +340,6 @@ CONFIG_SUSPEND=y
316CONFIG_SUSPEND_FREEZER=y 340CONFIG_SUSPEND_FREEZER=y
317CONFIG_APM_EMULATION=m 341CONFIG_APM_EMULATION=m
318CONFIG_ARCH_SUSPEND_POSSIBLE=y 342CONFIG_ARCH_SUSPEND_POSSIBLE=y
319
320#
321# Networking
322#
323CONFIG_NET=y 343CONFIG_NET=y
324 344
325# 345#
@@ -402,6 +422,7 @@ CONFIG_BT_HIDP=m
402# 422#
403CONFIG_BT_HCIUSB=m 423CONFIG_BT_HCIUSB=m
404CONFIG_BT_HCIUSB_SCO=y 424CONFIG_BT_HCIUSB_SCO=y
425# CONFIG_BT_HCIBTUSB is not set
405# CONFIG_BT_HCIBTSDIO is not set 426# CONFIG_BT_HCIBTSDIO is not set
406# CONFIG_BT_HCIUART is not set 427# CONFIG_BT_HCIUART is not set
407# CONFIG_BT_HCIBCM203X is not set 428# CONFIG_BT_HCIBCM203X is not set
@@ -419,6 +440,7 @@ CONFIG_BT_HCIUSB_SCO=y
419# 440#
420# CONFIG_CFG80211 is not set 441# CONFIG_CFG80211 is not set
421CONFIG_WIRELESS_EXT=y 442CONFIG_WIRELESS_EXT=y
443CONFIG_WIRELESS_EXT_SYSFS=y
422# CONFIG_MAC80211 is not set 444# CONFIG_MAC80211 is not set
423# CONFIG_IEEE80211 is not set 445# CONFIG_IEEE80211 is not set
424# CONFIG_RFKILL is not set 446# CONFIG_RFKILL is not set
@@ -435,6 +457,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
435CONFIG_STANDALONE=y 457CONFIG_STANDALONE=y
436CONFIG_PREVENT_FIRMWARE_BUILD=y 458CONFIG_PREVENT_FIRMWARE_BUILD=y
437CONFIG_FW_LOADER=m 459CONFIG_FW_LOADER=m
460CONFIG_FIRMWARE_IN_KERNEL=y
461CONFIG_EXTRA_FIRMWARE=""
438# CONFIG_DEBUG_DRIVER is not set 462# CONFIG_DEBUG_DRIVER is not set
439# CONFIG_DEBUG_DEVRES is not set 463# CONFIG_DEBUG_DEVRES is not set
440# CONFIG_SYS_HYPERVISOR is not set 464# CONFIG_SYS_HYPERVISOR is not set
@@ -527,6 +551,7 @@ CONFIG_MTD_NAND=y
527# CONFIG_MTD_NAND_ECC_SMC is not set 551# CONFIG_MTD_NAND_ECC_SMC is not set
528# CONFIG_MTD_NAND_MUSEUM_IDS is not set 552# CONFIG_MTD_NAND_MUSEUM_IDS is not set
529# CONFIG_MTD_NAND_H1900 is not set 553# CONFIG_MTD_NAND_H1900 is not set
554CONFIG_MTD_NAND_GPIO=m
530CONFIG_MTD_NAND_IDS=y 555CONFIG_MTD_NAND_IDS=y
531# CONFIG_MTD_NAND_DISKONCHIP is not set 556# CONFIG_MTD_NAND_DISKONCHIP is not set
532# CONFIG_MTD_NAND_SHARPSL is not set 557# CONFIG_MTD_NAND_SHARPSL is not set
@@ -636,6 +661,7 @@ CONFIG_SCSI_LOWLEVEL=y
636# CONFIG_SCSI_DEBUG is not set 661# CONFIG_SCSI_DEBUG is not set
637# CONFIG_SCSI_SRP is not set 662# CONFIG_SCSI_SRP is not set
638# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 663# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
664# CONFIG_SCSI_DH is not set
639CONFIG_ATA=m 665CONFIG_ATA=m
640# CONFIG_ATA_NONSTANDARD is not set 666# CONFIG_ATA_NONSTANDARD is not set
641# CONFIG_SATA_PMP is not set 667# CONFIG_SATA_PMP is not set
@@ -696,17 +722,21 @@ CONFIG_PATA_PCMCIA=m
696# CONFIG_PATA_VIA is not set 722# CONFIG_PATA_VIA is not set
697# CONFIG_PATA_WINBOND is not set 723# CONFIG_PATA_WINBOND is not set
698# CONFIG_PATA_PLATFORM is not set 724# CONFIG_PATA_PLATFORM is not set
725# CONFIG_PATA_SCH is not set
699# CONFIG_MD is not set 726# CONFIG_MD is not set
700# CONFIG_FUSION is not set 727# CONFIG_FUSION is not set
701 728
702# 729#
703# IEEE 1394 (FireWire) support 730# IEEE 1394 (FireWire) support
704# 731#
732
733#
734# Enable only one of the two stacks, unless you know what you are doing
735#
705# CONFIG_FIREWIRE is not set 736# CONFIG_FIREWIRE is not set
706# CONFIG_IEEE1394 is not set 737# CONFIG_IEEE1394 is not set
707# CONFIG_I2O is not set 738# CONFIG_I2O is not set
708CONFIG_NETDEVICES=y 739CONFIG_NETDEVICES=y
709# CONFIG_NETDEVICES_MULTIQUEUE is not set
710# CONFIG_DUMMY is not set 740# CONFIG_DUMMY is not set
711# CONFIG_BONDING is not set 741# CONFIG_BONDING is not set
712# CONFIG_MACVLAN is not set 742# CONFIG_MACVLAN is not set
@@ -725,6 +755,7 @@ CONFIG_MII=y
725# CONFIG_SMC91X is not set 755# CONFIG_SMC91X is not set
726CONFIG_DM9000=y 756CONFIG_DM9000=y
727CONFIG_DM9000_DEBUGLEVEL=1 757CONFIG_DM9000_DEBUGLEVEL=1
758# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
728# CONFIG_SMC911X is not set 759# CONFIG_SMC911X is not set
729# CONFIG_NET_TULIP is not set 760# CONFIG_NET_TULIP is not set
730# CONFIG_HP100 is not set 761# CONFIG_HP100 is not set
@@ -780,7 +811,6 @@ CONFIG_LIBERTAS_SDIO=m
780# CONFIG_PRISM54 is not set 811# CONFIG_PRISM54 is not set
781# CONFIG_USB_ZD1201 is not set 812# CONFIG_USB_ZD1201 is not set
782# CONFIG_USB_NET_RNDIS_WLAN is not set 813# CONFIG_USB_NET_RNDIS_WLAN is not set
783# CONFIG_IWLWIFI is not set
784# CONFIG_IWLWIFI_LEDS is not set 814# CONFIG_IWLWIFI_LEDS is not set
785# CONFIG_HOSTAP is not set 815# CONFIG_HOSTAP is not set
786 816
@@ -853,17 +883,18 @@ CONFIG_INPUT_TOUCHSCREEN=y
853# CONFIG_TOUCHSCREEN_GUNZE is not set 883# CONFIG_TOUCHSCREEN_GUNZE is not set
854# CONFIG_TOUCHSCREEN_ELO is not set 884# CONFIG_TOUCHSCREEN_ELO is not set
855# CONFIG_TOUCHSCREEN_MTOUCH is not set 885# CONFIG_TOUCHSCREEN_MTOUCH is not set
886# CONFIG_TOUCHSCREEN_INEXIO is not set
856# CONFIG_TOUCHSCREEN_MK712 is not set 887# CONFIG_TOUCHSCREEN_MK712 is not set
857# CONFIG_TOUCHSCREEN_PENMOUNT is not set 888# CONFIG_TOUCHSCREEN_PENMOUNT is not set
858# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set 889# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
859# CONFIG_TOUCHSCREEN_TOUCHWIN is not set 890# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
860CONFIG_TOUCHSCREEN_UCB1400=m
861CONFIG_TOUCHSCREEN_WM97XX=m 891CONFIG_TOUCHSCREEN_WM97XX=m
862# CONFIG_TOUCHSCREEN_WM9705 is not set 892# CONFIG_TOUCHSCREEN_WM9705 is not set
863CONFIG_TOUCHSCREEN_WM9712=y 893CONFIG_TOUCHSCREEN_WM9712=y
864# CONFIG_TOUCHSCREEN_WM9713 is not set 894# CONFIG_TOUCHSCREEN_WM9713 is not set
865# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set 895# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
866# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 896# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
897# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
867# CONFIG_INPUT_MISC is not set 898# CONFIG_INPUT_MISC is not set
868 899
869# 900#
@@ -880,6 +911,7 @@ CONFIG_SERIO_LIBPS2=y
880# Character devices 911# Character devices
881# 912#
882CONFIG_VT=y 913CONFIG_VT=y
914CONFIG_CONSOLE_TRANSLATIONS=y
883CONFIG_VT_CONSOLE=y 915CONFIG_VT_CONSOLE=y
884CONFIG_HW_CONSOLE=y 916CONFIG_HW_CONSOLE=y
885# CONFIG_VT_HW_CONSOLE_BINDING is not set 917# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -922,45 +954,66 @@ CONFIG_DEVPORT=y
922CONFIG_I2C=y 954CONFIG_I2C=y
923CONFIG_I2C_BOARDINFO=y 955CONFIG_I2C_BOARDINFO=y
924CONFIG_I2C_CHARDEV=m 956CONFIG_I2C_CHARDEV=m
957CONFIG_I2C_HELPER_AUTO=y
925 958
926# 959#
927# I2C Hardware Bus support 960# I2C Hardware Bus support
928# 961#
962
963#
964# PC SMBus host controller drivers
965#
929# CONFIG_I2C_ALI1535 is not set 966# CONFIG_I2C_ALI1535 is not set
930# CONFIG_I2C_ALI1563 is not set 967# CONFIG_I2C_ALI1563 is not set
931# CONFIG_I2C_ALI15X3 is not set 968# CONFIG_I2C_ALI15X3 is not set
932# CONFIG_I2C_AMD756 is not set 969# CONFIG_I2C_AMD756 is not set
933# CONFIG_I2C_AMD8111 is not set 970# CONFIG_I2C_AMD8111 is not set
934# CONFIG_I2C_GPIO is not set
935# CONFIG_I2C_I801 is not set 971# CONFIG_I2C_I801 is not set
936# CONFIG_I2C_I810 is not set 972# CONFIG_I2C_ISCH is not set
937CONFIG_I2C_PXA=y
938# CONFIG_I2C_PXA_SLAVE is not set
939# CONFIG_I2C_PIIX4 is not set 973# CONFIG_I2C_PIIX4 is not set
940# CONFIG_I2C_NFORCE2 is not set 974# CONFIG_I2C_NFORCE2 is not set
941# CONFIG_I2C_OCORES is not set
942# CONFIG_I2C_PARPORT_LIGHT is not set
943# CONFIG_I2C_PROSAVAGE is not set
944# CONFIG_I2C_SAVAGE4 is not set
945# CONFIG_I2C_SIMTEC is not set
946# CONFIG_I2C_SIS5595 is not set 975# CONFIG_I2C_SIS5595 is not set
947# CONFIG_I2C_SIS630 is not set 976# CONFIG_I2C_SIS630 is not set
948# CONFIG_I2C_SIS96X is not set 977# CONFIG_I2C_SIS96X is not set
949# CONFIG_I2C_TAOS_EVM is not set
950# CONFIG_I2C_STUB is not set
951# CONFIG_I2C_TINY_USB is not set
952# CONFIG_I2C_VIA is not set 978# CONFIG_I2C_VIA is not set
953# CONFIG_I2C_VIAPRO is not set 979# CONFIG_I2C_VIAPRO is not set
980
981#
982# I2C system bus drivers (mostly embedded / system-on-chip)
983#
984# CONFIG_I2C_GPIO is not set
985# CONFIG_I2C_OCORES is not set
986CONFIG_I2C_PXA=y
987# CONFIG_I2C_PXA_SLAVE is not set
988# CONFIG_I2C_SIMTEC is not set
989
990#
991# External I2C/SMBus adapter drivers
992#
993# CONFIG_I2C_PARPORT_LIGHT is not set
994# CONFIG_I2C_TAOS_EVM is not set
995# CONFIG_I2C_TINY_USB is not set
996
997#
998# Graphics adapter I2C/DDC channel drivers
999#
954# CONFIG_I2C_VOODOO3 is not set 1000# CONFIG_I2C_VOODOO3 is not set
1001
1002#
1003# Other I2C/SMBus bus drivers
1004#
955# CONFIG_I2C_PCA_PLATFORM is not set 1005# CONFIG_I2C_PCA_PLATFORM is not set
1006# CONFIG_I2C_STUB is not set
956 1007
957# 1008#
958# Miscellaneous I2C Chip support 1009# Miscellaneous I2C Chip support
959# 1010#
960# CONFIG_DS1682 is not set 1011# CONFIG_DS1682 is not set
1012# CONFIG_AT24 is not set
961# CONFIG_SENSORS_EEPROM is not set 1013# CONFIG_SENSORS_EEPROM is not set
962# CONFIG_SENSORS_PCF8574 is not set 1014# CONFIG_SENSORS_PCF8574 is not set
963# CONFIG_PCF8575 is not set 1015# CONFIG_PCF8575 is not set
1016# CONFIG_SENSORS_PCA9539 is not set
964# CONFIG_SENSORS_PCF8591 is not set 1017# CONFIG_SENSORS_PCF8591 is not set
965# CONFIG_TPS65010 is not set 1018# CONFIG_TPS65010 is not set
966# CONFIG_SENSORS_MAX6875 is not set 1019# CONFIG_SENSORS_MAX6875 is not set
@@ -970,25 +1023,31 @@ CONFIG_I2C_PXA=y
970# CONFIG_I2C_DEBUG_BUS is not set 1023# CONFIG_I2C_DEBUG_BUS is not set
971# CONFIG_I2C_DEBUG_CHIP is not set 1024# CONFIG_I2C_DEBUG_CHIP is not set
972# CONFIG_SPI is not set 1025# CONFIG_SPI is not set
973CONFIG_HAVE_GPIO_LIB=y 1026CONFIG_ARCH_REQUIRE_GPIOLIB=y
974 1027CONFIG_GPIOLIB=y
975#
976# GPIO Support
977#
978# CONFIG_DEBUG_GPIO is not set 1028# CONFIG_DEBUG_GPIO is not set
1029# CONFIG_GPIO_SYSFS is not set
979 1030
980# 1031#
981# I2C GPIO expanders: 1032# I2C GPIO expanders:
982# 1033#
1034# CONFIG_GPIO_MAX732X is not set
983# CONFIG_GPIO_PCA953X is not set 1035# CONFIG_GPIO_PCA953X is not set
984# CONFIG_GPIO_PCF857X is not set 1036# CONFIG_GPIO_PCF857X is not set
985 1037
986# 1038#
1039# PCI GPIO expanders:
1040#
1041# CONFIG_GPIO_BT8XX is not set
1042
1043#
987# SPI GPIO expanders: 1044# SPI GPIO expanders:
988# 1045#
989# CONFIG_W1 is not set 1046# CONFIG_W1 is not set
990# CONFIG_POWER_SUPPLY is not set 1047# CONFIG_POWER_SUPPLY is not set
991# CONFIG_HWMON is not set 1048# CONFIG_HWMON is not set
1049# CONFIG_THERMAL is not set
1050# CONFIG_THERMAL_HWMON is not set
992# CONFIG_WATCHDOG is not set 1051# CONFIG_WATCHDOG is not set
993 1052
994# 1053#
@@ -1000,10 +1059,16 @@ CONFIG_SSB_POSSIBLE=y
1000# 1059#
1001# Multifunction device drivers 1060# Multifunction device drivers
1002# 1061#
1062# CONFIG_MFD_CORE is not set
1003# CONFIG_MFD_SM501 is not set 1063# CONFIG_MFD_SM501 is not set
1004# CONFIG_MFD_ASIC3 is not set 1064# CONFIG_MFD_ASIC3 is not set
1005# CONFIG_HTC_EGPIO is not set 1065# CONFIG_HTC_EGPIO is not set
1006# CONFIG_HTC_PASIC3 is not set 1066# CONFIG_HTC_PASIC3 is not set
1067# CONFIG_UCB1400_CORE is not set
1068# CONFIG_MFD_TMIO is not set
1069# CONFIG_MFD_T7L66XB is not set
1070# CONFIG_MFD_TC6387XB is not set
1071# CONFIG_MFD_TC6393XB is not set
1007 1072
1008# 1073#
1009# Multimedia devices 1074# Multimedia devices
@@ -1014,6 +1079,7 @@ CONFIG_SSB_POSSIBLE=y
1014# 1079#
1015# CONFIG_VIDEO_DEV is not set 1080# CONFIG_VIDEO_DEV is not set
1016# CONFIG_DVB_CORE is not set 1081# CONFIG_DVB_CORE is not set
1082# CONFIG_VIDEO_MEDIA is not set
1017 1083
1018# 1084#
1019# Multimedia drivers 1085# Multimedia drivers
@@ -1038,7 +1104,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
1038# CONFIG_FB_SYS_IMAGEBLIT is not set 1104# CONFIG_FB_SYS_IMAGEBLIT is not set
1039# CONFIG_FB_FOREIGN_ENDIAN is not set 1105# CONFIG_FB_FOREIGN_ENDIAN is not set
1040# CONFIG_FB_SYS_FOPS is not set 1106# CONFIG_FB_SYS_FOPS is not set
1041CONFIG_FB_DEFERRED_IO=y
1042# CONFIG_FB_SVGALIB is not set 1107# CONFIG_FB_SVGALIB is not set
1043# CONFIG_FB_MACMODES is not set 1108# CONFIG_FB_MACMODES is not set
1044# CONFIG_FB_BACKLIGHT is not set 1109# CONFIG_FB_BACKLIGHT is not set
@@ -1071,12 +1136,14 @@ CONFIG_FB_DEFERRED_IO=y
1071# CONFIG_FB_TRIDENT is not set 1136# CONFIG_FB_TRIDENT is not set
1072# CONFIG_FB_ARK is not set 1137# CONFIG_FB_ARK is not set
1073# CONFIG_FB_PM3 is not set 1138# CONFIG_FB_PM3 is not set
1139# CONFIG_FB_CARMINE is not set
1074CONFIG_FB_PXA=y 1140CONFIG_FB_PXA=y
1075# CONFIG_FB_PXA_SMARTPANEL is not set 1141# CONFIG_FB_PXA_SMARTPANEL is not set
1076CONFIG_FB_PXA_PARAMETERS=y 1142CONFIG_FB_PXA_PARAMETERS=y
1077CONFIG_FB_MBX=m 1143CONFIG_FB_MBX=m
1078# CONFIG_FB_AM200EPD is not set 1144# CONFIG_FB_W100 is not set
1079# CONFIG_FB_VIRTUAL is not set 1145# CONFIG_FB_VIRTUAL is not set
1146# CONFIG_FB_METRONOME is not set
1080# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1147# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1081 1148
1082# 1149#
@@ -1099,15 +1166,7 @@ CONFIG_LOGO=y
1099CONFIG_LOGO_LINUX_MONO=y 1166CONFIG_LOGO_LINUX_MONO=y
1100CONFIG_LOGO_LINUX_VGA16=y 1167CONFIG_LOGO_LINUX_VGA16=y
1101CONFIG_LOGO_LINUX_CLUT224=y 1168CONFIG_LOGO_LINUX_CLUT224=y
1102
1103#
1104# Sound
1105#
1106CONFIG_SOUND=m 1169CONFIG_SOUND=m
1107
1108#
1109# Advanced Linux Sound Architecture
1110#
1111CONFIG_SND=m 1170CONFIG_SND=m
1112CONFIG_SND_TIMER=m 1171CONFIG_SND_TIMER=m
1113CONFIG_SND_PCM=m 1172CONFIG_SND_PCM=m
@@ -1121,19 +1180,15 @@ CONFIG_SND_SUPPORT_OLD_API=y
1121CONFIG_SND_VERBOSE_PROCFS=y 1180CONFIG_SND_VERBOSE_PROCFS=y
1122# CONFIG_SND_VERBOSE_PRINTK is not set 1181# CONFIG_SND_VERBOSE_PRINTK is not set
1123# CONFIG_SND_DEBUG is not set 1182# CONFIG_SND_DEBUG is not set
1124 1183CONFIG_SND_VMASTER=y
1125#
1126# Generic devices
1127#
1128CONFIG_SND_AC97_CODEC=m 1184CONFIG_SND_AC97_CODEC=m
1185CONFIG_SND_DRIVERS=y
1129# CONFIG_SND_DUMMY is not set 1186# CONFIG_SND_DUMMY is not set
1130# CONFIG_SND_MTPAV is not set 1187# CONFIG_SND_MTPAV is not set
1131# CONFIG_SND_SERIAL_U16550 is not set 1188# CONFIG_SND_SERIAL_U16550 is not set
1132# CONFIG_SND_MPU401 is not set 1189# CONFIG_SND_MPU401 is not set
1133 1190# CONFIG_SND_AC97_POWER_SAVE is not set
1134# 1191CONFIG_SND_PCI=y
1135# PCI devices
1136#
1137# CONFIG_SND_AD1889 is not set 1192# CONFIG_SND_AD1889 is not set
1138# CONFIG_SND_ALS300 is not set 1193# CONFIG_SND_ALS300 is not set
1139# CONFIG_SND_ALI5451 is not set 1194# CONFIG_SND_ALI5451 is not set
@@ -1193,42 +1248,16 @@ CONFIG_SND_AC97_CODEC=m
1193# CONFIG_SND_VIRTUOSO is not set 1248# CONFIG_SND_VIRTUOSO is not set
1194# CONFIG_SND_VX222 is not set 1249# CONFIG_SND_VX222 is not set
1195# CONFIG_SND_YMFPCI is not set 1250# CONFIG_SND_YMFPCI is not set
1196# CONFIG_SND_AC97_POWER_SAVE is not set 1251CONFIG_SND_ARM=y
1197
1198#
1199# ALSA ARM devices
1200#
1201CONFIG_SND_PXA2XX_PCM=m 1252CONFIG_SND_PXA2XX_PCM=m
1202CONFIG_SND_PXA2XX_AC97=m 1253CONFIG_SND_PXA2XX_AC97=m
1203 1254CONFIG_SND_USB=y
1204#
1205# USB devices
1206#
1207# CONFIG_SND_USB_AUDIO is not set 1255# CONFIG_SND_USB_AUDIO is not set
1208# CONFIG_SND_USB_CAIAQ is not set 1256# CONFIG_SND_USB_CAIAQ is not set
1209 1257CONFIG_SND_PCMCIA=y
1210#
1211# PCMCIA devices
1212#
1213# CONFIG_SND_VXPOCKET is not set 1258# CONFIG_SND_VXPOCKET is not set
1214# CONFIG_SND_PDAUDIOCF is not set 1259# CONFIG_SND_PDAUDIOCF is not set
1215
1216#
1217# System on Chip audio support
1218#
1219# CONFIG_SND_SOC is not set 1260# CONFIG_SND_SOC is not set
1220
1221#
1222# ALSA SoC audio for Freescale SOCs
1223#
1224
1225#
1226# SoC Audio for the Texas Instruments OMAP
1227#
1228
1229#
1230# Open Sound System
1231#
1232# CONFIG_SOUND_PRIME is not set 1261# CONFIG_SOUND_PRIME is not set
1233CONFIG_AC97_BUS=m 1262CONFIG_AC97_BUS=m
1234CONFIG_HID_SUPPORT=y 1263CONFIG_HID_SUPPORT=y
@@ -1261,12 +1290,15 @@ CONFIG_USB_DEVICEFS=y
1261# CONFIG_USB_OTG is not set 1290# CONFIG_USB_OTG is not set
1262# CONFIG_USB_OTG_WHITELIST is not set 1291# CONFIG_USB_OTG_WHITELIST is not set
1263# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1292# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1293CONFIG_USB_MON=y
1264 1294
1265# 1295#
1266# USB Host Controller Drivers 1296# USB Host Controller Drivers
1267# 1297#
1298# CONFIG_USB_C67X00_HCD is not set
1268# CONFIG_USB_EHCI_HCD is not set 1299# CONFIG_USB_EHCI_HCD is not set
1269# CONFIG_USB_ISP116X_HCD is not set 1300# CONFIG_USB_ISP116X_HCD is not set
1301# CONFIG_USB_ISP1760_HCD is not set
1270CONFIG_USB_OHCI_HCD=y 1302CONFIG_USB_OHCI_HCD=y
1271# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set 1303# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1272# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set 1304# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
@@ -1274,12 +1306,14 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1274# CONFIG_USB_UHCI_HCD is not set 1306# CONFIG_USB_UHCI_HCD is not set
1275# CONFIG_USB_SL811_HCD is not set 1307# CONFIG_USB_SL811_HCD is not set
1276# CONFIG_USB_R8A66597_HCD is not set 1308# CONFIG_USB_R8A66597_HCD is not set
1309# CONFIG_USB_MUSB_HDRC is not set
1277 1310
1278# 1311#
1279# USB Device Class drivers 1312# USB Device Class drivers
1280# 1313#
1281# CONFIG_USB_ACM is not set 1314# CONFIG_USB_ACM is not set
1282# CONFIG_USB_PRINTER is not set 1315# CONFIG_USB_PRINTER is not set
1316# CONFIG_USB_WDM is not set
1283 1317
1284# 1318#
1285# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1319# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1309,7 +1343,6 @@ CONFIG_USB_STORAGE=y
1309# 1343#
1310# CONFIG_USB_MDC800 is not set 1344# CONFIG_USB_MDC800 is not set
1311# CONFIG_USB_MICROTEK is not set 1345# CONFIG_USB_MICROTEK is not set
1312CONFIG_USB_MON=y
1313 1346
1314# 1347#
1315# USB port drivers 1348# USB port drivers
@@ -1322,7 +1355,6 @@ CONFIG_USB_MON=y
1322# CONFIG_USB_EMI62 is not set 1355# CONFIG_USB_EMI62 is not set
1323# CONFIG_USB_EMI26 is not set 1356# CONFIG_USB_EMI26 is not set
1324# CONFIG_USB_ADUTUX is not set 1357# CONFIG_USB_ADUTUX is not set
1325# CONFIG_USB_AUERSWALD is not set
1326# CONFIG_USB_RIO500 is not set 1358# CONFIG_USB_RIO500 is not set
1327# CONFIG_USB_LEGOTOWER is not set 1359# CONFIG_USB_LEGOTOWER is not set
1328# CONFIG_USB_LCD is not set 1360# CONFIG_USB_LCD is not set
@@ -1338,6 +1370,7 @@ CONFIG_USB_MON=y
1338# CONFIG_USB_TRANCEVIBRATOR is not set 1370# CONFIG_USB_TRANCEVIBRATOR is not set
1339# CONFIG_USB_IOWARRIOR is not set 1371# CONFIG_USB_IOWARRIOR is not set
1340# CONFIG_USB_TEST is not set 1372# CONFIG_USB_TEST is not set
1373# CONFIG_USB_ISIGHTFW is not set
1341# CONFIG_USB_GADGET is not set 1374# CONFIG_USB_GADGET is not set
1342CONFIG_MMC=m 1375CONFIG_MMC=m
1343# CONFIG_MMC_DEBUG is not set 1376# CONFIG_MMC_DEBUG is not set
@@ -1349,6 +1382,7 @@ CONFIG_MMC=m
1349CONFIG_MMC_BLOCK=m 1382CONFIG_MMC_BLOCK=m
1350CONFIG_MMC_BLOCK_BOUNCE=y 1383CONFIG_MMC_BLOCK_BOUNCE=y
1351# CONFIG_SDIO_UART is not set 1384# CONFIG_SDIO_UART is not set
1385# CONFIG_MMC_TEST is not set
1352 1386
1353# 1387#
1354# MMC/SD Host Controller Drivers 1388# MMC/SD Host Controller Drivers
@@ -1356,14 +1390,19 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1356CONFIG_MMC_PXA=m 1390CONFIG_MMC_PXA=m
1357# CONFIG_MMC_SDHCI is not set 1391# CONFIG_MMC_SDHCI is not set
1358# CONFIG_MMC_TIFM_SD is not set 1392# CONFIG_MMC_TIFM_SD is not set
1393# CONFIG_MMC_SDRICOH_CS is not set
1394# CONFIG_MEMSTICK is not set
1395# CONFIG_ACCESSIBILITY is not set
1359CONFIG_NEW_LEDS=y 1396CONFIG_NEW_LEDS=y
1360CONFIG_LEDS_CLASS=y 1397CONFIG_LEDS_CLASS=y
1361 1398
1362# 1399#
1363# LED drivers 1400# LED drivers
1364# 1401#
1402# CONFIG_LEDS_PCA9532 is not set
1365# CONFIG_LEDS_GPIO is not set 1403# CONFIG_LEDS_GPIO is not set
1366CONFIG_LEDS_CM_X270=y 1404CONFIG_LEDS_CM_X270=y
1405# CONFIG_LEDS_PCA955X is not set
1367 1406
1368# 1407#
1369# LED Triggers 1408# LED Triggers
@@ -1401,6 +1440,7 @@ CONFIG_RTC_INTF_DEV=y
1401# CONFIG_RTC_DRV_PCF8583 is not set 1440# CONFIG_RTC_DRV_PCF8583 is not set
1402# CONFIG_RTC_DRV_M41T80 is not set 1441# CONFIG_RTC_DRV_M41T80 is not set
1403# CONFIG_RTC_DRV_S35390A is not set 1442# CONFIG_RTC_DRV_S35390A is not set
1443# CONFIG_RTC_DRV_FM3130 is not set
1404 1444
1405# 1445#
1406# SPI RTC drivers 1446# SPI RTC drivers
@@ -1422,6 +1462,15 @@ CONFIG_RTC_DRV_V3020=y
1422# on-CPU RTC drivers 1462# on-CPU RTC drivers
1423# 1463#
1424CONFIG_RTC_DRV_SA1100=y 1464CONFIG_RTC_DRV_SA1100=y
1465# CONFIG_DMADEVICES is not set
1466
1467#
1468# Voltage and Current regulators
1469#
1470# CONFIG_REGULATOR is not set
1471# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1472# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1473# CONFIG_REGULATOR_BQ24022 is not set
1425# CONFIG_UIO is not set 1474# CONFIG_UIO is not set
1426 1475
1427# 1476#
@@ -1501,6 +1550,7 @@ CONFIG_JFFS2_RTIME=y
1501# CONFIG_CRAMFS is not set 1550# CONFIG_CRAMFS is not set
1502# CONFIG_VXFS_FS is not set 1551# CONFIG_VXFS_FS is not set
1503# CONFIG_MINIX_FS is not set 1552# CONFIG_MINIX_FS is not set
1553# CONFIG_OMFS_FS is not set
1504# CONFIG_HPFS_FS is not set 1554# CONFIG_HPFS_FS is not set
1505# CONFIG_QNX4FS_FS is not set 1555# CONFIG_QNX4FS_FS is not set
1506# CONFIG_ROMFS_FS is not set 1556# CONFIG_ROMFS_FS is not set
@@ -1511,13 +1561,12 @@ CONFIG_NFS_FS=y
1511CONFIG_NFS_V3=y 1561CONFIG_NFS_V3=y
1512# CONFIG_NFS_V3_ACL is not set 1562# CONFIG_NFS_V3_ACL is not set
1513# CONFIG_NFS_V4 is not set 1563# CONFIG_NFS_V4 is not set
1514# CONFIG_NFSD is not set
1515CONFIG_ROOT_NFS=y 1564CONFIG_ROOT_NFS=y
1565# CONFIG_NFSD is not set
1516CONFIG_LOCKD=y 1566CONFIG_LOCKD=y
1517CONFIG_LOCKD_V4=y 1567CONFIG_LOCKD_V4=y
1518CONFIG_NFS_COMMON=y 1568CONFIG_NFS_COMMON=y
1519CONFIG_SUNRPC=y 1569CONFIG_SUNRPC=y
1520# CONFIG_SUNRPC_BIND34 is not set
1521# CONFIG_RPCSEC_GSS_KRB5 is not set 1570# CONFIG_RPCSEC_GSS_KRB5 is not set
1522# CONFIG_RPCSEC_GSS_SPKM3 is not set 1571# CONFIG_RPCSEC_GSS_SPKM3 is not set
1523# CONFIG_SMB_FS is not set 1572# CONFIG_SMB_FS is not set
@@ -1626,6 +1675,7 @@ CONFIG_DEBUG_KERNEL=y
1626# CONFIG_DEBUG_INFO is not set 1675# CONFIG_DEBUG_INFO is not set
1627# CONFIG_DEBUG_VM is not set 1676# CONFIG_DEBUG_VM is not set
1628# CONFIG_DEBUG_WRITECOUNT is not set 1677# CONFIG_DEBUG_WRITECOUNT is not set
1678# CONFIG_DEBUG_MEMORY_INIT is not set
1629# CONFIG_DEBUG_LIST is not set 1679# CONFIG_DEBUG_LIST is not set
1630# CONFIG_DEBUG_SG is not set 1680# CONFIG_DEBUG_SG is not set
1631CONFIG_FRAME_POINTER=y 1681CONFIG_FRAME_POINTER=y
@@ -1633,7 +1683,17 @@ CONFIG_FRAME_POINTER=y
1633# CONFIG_RCU_TORTURE_TEST is not set 1683# CONFIG_RCU_TORTURE_TEST is not set
1634# CONFIG_BACKTRACE_SELF_TEST is not set 1684# CONFIG_BACKTRACE_SELF_TEST is not set
1635# CONFIG_FAULT_INJECTION is not set 1685# CONFIG_FAULT_INJECTION is not set
1686# CONFIG_LATENCYTOP is not set
1687CONFIG_SYSCTL_SYSCALL_CHECK=y
1688CONFIG_HAVE_FTRACE=y
1689CONFIG_HAVE_DYNAMIC_FTRACE=y
1690# CONFIG_FTRACE is not set
1691# CONFIG_IRQSOFF_TRACER is not set
1692# CONFIG_SCHED_TRACER is not set
1693# CONFIG_CONTEXT_SWITCH_TRACER is not set
1636# CONFIG_SAMPLES is not set 1694# CONFIG_SAMPLES is not set
1695CONFIG_HAVE_ARCH_KGDB=y
1696# CONFIG_KGDB is not set
1637CONFIG_DEBUG_USER=y 1697CONFIG_DEBUG_USER=y
1638CONFIG_DEBUG_ERRORS=y 1698CONFIG_DEBUG_ERRORS=y
1639# CONFIG_DEBUG_STACK_USAGE is not set 1699# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1689,6 +1749,10 @@ CONFIG_CRYPTO=y
1689# CONFIG_CRYPTO_MD4 is not set 1749# CONFIG_CRYPTO_MD4 is not set
1690# CONFIG_CRYPTO_MD5 is not set 1750# CONFIG_CRYPTO_MD5 is not set
1691# CONFIG_CRYPTO_MICHAEL_MIC is not set 1751# CONFIG_CRYPTO_MICHAEL_MIC is not set
1752# CONFIG_CRYPTO_RMD128 is not set
1753# CONFIG_CRYPTO_RMD160 is not set
1754# CONFIG_CRYPTO_RMD256 is not set
1755# CONFIG_CRYPTO_RMD320 is not set
1692# CONFIG_CRYPTO_SHA1 is not set 1756# CONFIG_CRYPTO_SHA1 is not set
1693# CONFIG_CRYPTO_SHA256 is not set 1757# CONFIG_CRYPTO_SHA256 is not set
1694# CONFIG_CRYPTO_SHA512 is not set 1758# CONFIG_CRYPTO_SHA512 is not set
@@ -1729,6 +1793,7 @@ CONFIG_BITREVERSE=y
1729# CONFIG_GENERIC_FIND_NEXT_BIT is not set 1793# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1730CONFIG_CRC_CCITT=m 1794CONFIG_CRC_CCITT=m
1731# CONFIG_CRC16 is not set 1795# CONFIG_CRC16 is not set
1796# CONFIG_CRC_T10DIF is not set
1732# CONFIG_CRC_ITU_T is not set 1797# CONFIG_CRC_ITU_T is not set
1733CONFIG_CRC32=y 1798CONFIG_CRC32=y
1734# CONFIG_CRC7 is not set 1799# CONFIG_CRC7 is not set
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index 94a95d7fafd6..71934856fc22 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -61,8 +61,9 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen);
61#define MT_DEVICE_NONSHARED 1 61#define MT_DEVICE_NONSHARED 1
62#define MT_DEVICE_CACHED 2 62#define MT_DEVICE_CACHED 2
63#define MT_DEVICE_IXP2000 3 63#define MT_DEVICE_IXP2000 3
64#define MT_DEVICE_WC 4
64/* 65/*
65 * types 4 onwards can be found in asm/mach/map.h and are undefined 66 * types 5 onwards can be found in asm/mach/map.h and are undefined
66 * for ioremap 67 * for ioremap
67 */ 68 */
68 69
@@ -215,11 +216,13 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
215#define ioremap(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE) 216#define ioremap(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)
216#define ioremap_nocache(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE) 217#define ioremap_nocache(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)
217#define ioremap_cached(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE_CACHED) 218#define ioremap_cached(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE_CACHED)
219#define ioremap_wc(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE_WC)
218#define iounmap(cookie) __iounmap(cookie) 220#define iounmap(cookie) __iounmap(cookie)
219#else 221#else
220#define ioremap(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) 222#define ioremap(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE)
221#define ioremap_nocache(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) 223#define ioremap_nocache(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE)
222#define ioremap_cached(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_CACHED) 224#define ioremap_cached(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_CACHED)
225#define ioremap_wc(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_WC)
223#define iounmap(cookie) __arch_iounmap(cookie) 226#define iounmap(cookie) __arch_iounmap(cookie)
224#endif 227#endif
225 228
diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
index 06f583b13999..9eb936e49cc3 100644
--- a/arch/arm/include/asm/mach/map.h
+++ b/arch/arm/include/asm/mach/map.h
@@ -18,13 +18,13 @@ struct map_desc {
18 unsigned int type; 18 unsigned int type;
19}; 19};
20 20
21/* types 0-3 are defined in asm/io.h */ 21/* types 0-4 are defined in asm/io.h */
22#define MT_CACHECLEAN 4 22#define MT_CACHECLEAN 5
23#define MT_MINICLEAN 5 23#define MT_MINICLEAN 6
24#define MT_LOW_VECTORS 6 24#define MT_LOW_VECTORS 7
25#define MT_HIGH_VECTORS 7 25#define MT_HIGH_VECTORS 8
26#define MT_MEMORY 8 26#define MT_MEMORY 9
27#define MT_ROM 9 27#define MT_ROM 10
28 28
29#define MT_NONSHARED_DEVICE MT_DEVICE_NONSHARED 29#define MT_NONSHARED_DEVICE MT_DEVICE_NONSHARED
30#define MT_IXP2000_DEVICE MT_DEVICE_IXP2000 30#define MT_IXP2000_DEVICE MT_DEVICE_IXP2000
diff --git a/arch/arm/lib/sha1.S b/arch/arm/lib/sha1.S
index ff6ece487ffc..67c2bf4774b7 100644
--- a/arch/arm/lib/sha1.S
+++ b/arch/arm/lib/sha1.S
@@ -29,7 +29,7 @@ ENTRY(sha_transform)
29 stmfd sp!, {r4 - r8, lr} 29 stmfd sp!, {r4 - r8, lr}
30 30
31 @ for (i = 0; i < 16; i++) 31 @ for (i = 0; i < 16; i++)
32 @ W[i] = be32_to_cpu(in[i]); */ 32 @ W[i] = be32_to_cpu(in[i]);
33 33
34#ifdef __ARMEB__ 34#ifdef __ARMEB__
35 mov r4, r0 35 mov r4, r0
diff --git a/arch/arm/mach-footbridge/time.c b/arch/arm/mach-footbridge/time.c
index fd9a7c11d62d..004819ea85c8 100644
--- a/arch/arm/mach-footbridge/time.c
+++ b/arch/arm/mach-footbridge/time.c
@@ -49,12 +49,12 @@ static unsigned long __init get_isa_cmos_time(void)
49 } while (sec != CMOS_READ(RTC_SECONDS)); 49 } while (sec != CMOS_READ(RTC_SECONDS));
50 50
51 if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { 51 if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
52 BCD_TO_BIN(sec); 52 sec = bcd2bin(sec);
53 BCD_TO_BIN(min); 53 min = bcd2bin(min);
54 BCD_TO_BIN(hour); 54 hour = bcd2bin(hour);
55 BCD_TO_BIN(day); 55 day = bcd2bin(day);
56 BCD_TO_BIN(mon); 56 mon = bcd2bin(mon);
57 BCD_TO_BIN(year); 57 year = bcd2bin(year);
58 } 58 }
59 if ((year += 1900) < 1970) 59 if ((year += 1900) < 1970)
60 year += 100; 60 year += 100;
@@ -76,7 +76,7 @@ static int set_isa_cmos_time(void)
76 76
77 cmos_minutes = CMOS_READ(RTC_MINUTES); 77 cmos_minutes = CMOS_READ(RTC_MINUTES);
78 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) 78 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD)
79 BCD_TO_BIN(cmos_minutes); 79 cmos_minutes = bcd2bin(cmos_minutes);
80 80
81 /* 81 /*
82 * since we're only adjusting minutes and seconds, 82 * since we're only adjusting minutes and seconds,
@@ -92,8 +92,8 @@ static int set_isa_cmos_time(void)
92 92
93 if (abs(real_minutes - cmos_minutes) < 30) { 93 if (abs(real_minutes - cmos_minutes) < 30) {
94 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { 94 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
95 BIN_TO_BCD(real_seconds); 95 real_seconds = bin2bcd(real_seconds);
96 BIN_TO_BCD(real_minutes); 96 real_minutes = bin2bcd(real_minutes);
97 } 97 }
98 CMOS_WRITE(real_seconds,RTC_SECONDS); 98 CMOS_WRITE(real_seconds,RTC_SECONDS);
99 CMOS_WRITE(real_minutes,RTC_MINUTES); 99 CMOS_WRITE(real_minutes,RTC_MINUTES);
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index 826010d5d014..2baeaeb0c900 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -159,6 +159,7 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {
159#ifdef CONFIG_ARCH_OMAP730 159#ifdef CONFIG_ARCH_OMAP730
160static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { 160static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
161 { 161 {
162 .phys_base = OMAP730_MCBSP1_BASE,
162 .virt_base = io_p2v(OMAP730_MCBSP1_BASE), 163 .virt_base = io_p2v(OMAP730_MCBSP1_BASE),
163 .dma_rx_sync = OMAP_DMA_MCBSP1_RX, 164 .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
164 .dma_tx_sync = OMAP_DMA_MCBSP1_TX, 165 .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
@@ -167,6 +168,7 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
167 .ops = &omap1_mcbsp_ops, 168 .ops = &omap1_mcbsp_ops,
168 }, 169 },
169 { 170 {
171 .phys_base = OMAP730_MCBSP2_BASE,
170 .virt_base = io_p2v(OMAP730_MCBSP2_BASE), 172 .virt_base = io_p2v(OMAP730_MCBSP2_BASE),
171 .dma_rx_sync = OMAP_DMA_MCBSP3_RX, 173 .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
172 .dma_tx_sync = OMAP_DMA_MCBSP3_TX, 174 .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
@@ -184,6 +186,7 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
184#ifdef CONFIG_ARCH_OMAP15XX 186#ifdef CONFIG_ARCH_OMAP15XX
185static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { 187static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
186 { 188 {
189 .phys_base = OMAP1510_MCBSP1_BASE,
187 .virt_base = OMAP1510_MCBSP1_BASE, 190 .virt_base = OMAP1510_MCBSP1_BASE,
188 .dma_rx_sync = OMAP_DMA_MCBSP1_RX, 191 .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
189 .dma_tx_sync = OMAP_DMA_MCBSP1_TX, 192 .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
@@ -193,6 +196,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
193 .clk_name = "mcbsp_clk", 196 .clk_name = "mcbsp_clk",
194 }, 197 },
195 { 198 {
199 .phys_base = OMAP1510_MCBSP2_BASE,
196 .virt_base = io_p2v(OMAP1510_MCBSP2_BASE), 200 .virt_base = io_p2v(OMAP1510_MCBSP2_BASE),
197 .dma_rx_sync = OMAP_DMA_MCBSP2_RX, 201 .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
198 .dma_tx_sync = OMAP_DMA_MCBSP2_TX, 202 .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
@@ -201,6 +205,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
201 .ops = &omap1_mcbsp_ops, 205 .ops = &omap1_mcbsp_ops,
202 }, 206 },
203 { 207 {
208 .phys_base = OMAP1510_MCBSP3_BASE,
204 .virt_base = OMAP1510_MCBSP3_BASE, 209 .virt_base = OMAP1510_MCBSP3_BASE,
205 .dma_rx_sync = OMAP_DMA_MCBSP3_RX, 210 .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
206 .dma_tx_sync = OMAP_DMA_MCBSP3_TX, 211 .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
@@ -219,6 +224,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
219#ifdef CONFIG_ARCH_OMAP16XX 224#ifdef CONFIG_ARCH_OMAP16XX
220static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { 225static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
221 { 226 {
227 .phys_base = OMAP1610_MCBSP1_BASE,
222 .virt_base = OMAP1610_MCBSP1_BASE, 228 .virt_base = OMAP1610_MCBSP1_BASE,
223 .dma_rx_sync = OMAP_DMA_MCBSP1_RX, 229 .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
224 .dma_tx_sync = OMAP_DMA_MCBSP1_TX, 230 .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
@@ -228,6 +234,7 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
228 .clk_name = "mcbsp_clk", 234 .clk_name = "mcbsp_clk",
229 }, 235 },
230 { 236 {
237 .phys_base = OMAP1610_MCBSP2_BASE,
231 .virt_base = io_p2v(OMAP1610_MCBSP2_BASE), 238 .virt_base = io_p2v(OMAP1610_MCBSP2_BASE),
232 .dma_rx_sync = OMAP_DMA_MCBSP2_RX, 239 .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
233 .dma_tx_sync = OMAP_DMA_MCBSP2_TX, 240 .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
@@ -236,6 +243,7 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
236 .ops = &omap1_mcbsp_ops, 243 .ops = &omap1_mcbsp_ops,
237 }, 244 },
238 { 245 {
246 .phys_base = OMAP1610_MCBSP3_BASE,
239 .virt_base = OMAP1610_MCBSP3_BASE, 247 .virt_base = OMAP1610_MCBSP3_BASE,
240 .dma_rx_sync = OMAP_DMA_MCBSP3_RX, 248 .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
241 .dma_tx_sync = OMAP_DMA_MCBSP3_TX, 249 .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index d4d6385cad7c..b72ca13b3acb 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -103,7 +103,7 @@ static struct resource sdp2430_smc91x_resources[] = {
103 [1] = { 103 [1] = {
104 .start = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), 104 .start = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ),
105 .end = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), 105 .end = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ),
106 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 106 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
107 }, 107 },
108}; 108};
109 109
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index 27eb6e3ca926..b261f1f80b5e 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -134,6 +134,7 @@ static struct omap_mcbsp_ops omap2_mcbsp_ops = {
134#ifdef CONFIG_ARCH_OMAP24XX 134#ifdef CONFIG_ARCH_OMAP24XX
135static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = { 135static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = {
136 { 136 {
137 .phys_base = OMAP24XX_MCBSP1_BASE,
137 .virt_base = IO_ADDRESS(OMAP24XX_MCBSP1_BASE), 138 .virt_base = IO_ADDRESS(OMAP24XX_MCBSP1_BASE),
138 .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX, 139 .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX,
139 .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX, 140 .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX,
@@ -143,6 +144,7 @@ static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = {
143 .clk_name = "mcbsp_clk", 144 .clk_name = "mcbsp_clk",
144 }, 145 },
145 { 146 {
147 .phys_base = OMAP24XX_MCBSP2_BASE,
146 .virt_base = IO_ADDRESS(OMAP24XX_MCBSP2_BASE), 148 .virt_base = IO_ADDRESS(OMAP24XX_MCBSP2_BASE),
147 .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX, 149 .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX,
148 .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX, 150 .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX,
@@ -161,6 +163,7 @@ static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = {
161#ifdef CONFIG_ARCH_OMAP34XX 163#ifdef CONFIG_ARCH_OMAP34XX
162static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = { 164static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = {
163 { 165 {
166 .phys_base = OMAP34XX_MCBSP1_BASE,
164 .virt_base = IO_ADDRESS(OMAP34XX_MCBSP1_BASE), 167 .virt_base = IO_ADDRESS(OMAP34XX_MCBSP1_BASE),
165 .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX, 168 .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX,
166 .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX, 169 .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX,
@@ -170,6 +173,7 @@ static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = {
170 .clk_name = "mcbsp_clk", 173 .clk_name = "mcbsp_clk",
171 }, 174 },
172 { 175 {
176 .phys_base = OMAP34XX_MCBSP2_BASE,
173 .virt_base = IO_ADDRESS(OMAP34XX_MCBSP2_BASE), 177 .virt_base = IO_ADDRESS(OMAP34XX_MCBSP2_BASE),
174 .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX, 178 .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX,
175 .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX, 179 .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX,
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h
index e75bd7004b94..0bd195551a27 100644
--- a/arch/arm/mach-orion5x/common.h
+++ b/arch/arm/mach-orion5x/common.h
@@ -41,6 +41,7 @@ struct pci_bus;
41struct pci_sys_data; 41struct pci_sys_data;
42 42
43void orion5x_pcie_id(u32 *dev, u32 *rev); 43void orion5x_pcie_id(u32 *dev, u32 *rev);
44void orion5x_pci_disable(void);
44void orion5x_pci_set_cardbus_mode(void); 45void orion5x_pci_set_cardbus_mode(void);
45int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys); 46int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
46struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys); 47struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys);
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index 1a1d84b80a65..b38c65ccfb15 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -245,12 +245,8 @@ static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = {
245static struct i2c_board_info __initdata dns323_i2c_devices[] = { 245static struct i2c_board_info __initdata dns323_i2c_devices[] = {
246 { 246 {
247 I2C_BOARD_INFO("g760a", 0x3e), 247 I2C_BOARD_INFO("g760a", 0x3e),
248#if 0
249 /* this entry requires the new-style driver model lm75 driver,
250 * for the meantime "insmod lm75.ko force_lm75=0,0x48" is needed */
251 }, { 248 }, {
252 I2C_BOARD_INFO("g751", 0x48), 249 I2C_BOARD_INFO("lm75", 0x48),
253#endif
254 }, { 250 }, {
255 I2C_BOARD_INFO("m41t80", 0x68), 251 I2C_BOARD_INFO("m41t80", 0x68),
256 }, 252 },
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index cb72f1bb9cb7..e321ec331839 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -146,8 +146,10 @@ static struct hw_pci kurobox_pro_pci __initdata = {
146 146
147static int __init kurobox_pro_pci_init(void) 147static int __init kurobox_pro_pci_init(void)
148{ 148{
149 if (machine_is_kurobox_pro()) 149 if (machine_is_kurobox_pro()) {
150 orion5x_pci_disable();
150 pci_common_init(&kurobox_pro_pci); 151 pci_common_init(&kurobox_pro_pci);
152 }
151 153
152 return 0; 154 return 0;
153} 155}
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index fbceecc4b7ec..a7b7d77b1b09 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -541,6 +541,13 @@ static void __devinit rc_pci_fixup(struct pci_dev *dev)
541} 541}
542DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup); 542DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup);
543 543
544static int orion5x_pci_disabled __initdata;
545
546void __init orion5x_pci_disable(void)
547{
548 orion5x_pci_disabled = 1;
549}
550
544void __init orion5x_pci_set_cardbus_mode(void) 551void __init orion5x_pci_set_cardbus_mode(void)
545{ 552{
546 orion5x_pci_cardbus_mode = 1; 553 orion5x_pci_cardbus_mode = 1;
@@ -553,7 +560,7 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
553 if (nr == 0) { 560 if (nr == 0) {
554 orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr); 561 orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
555 ret = pcie_setup(sys); 562 ret = pcie_setup(sys);
556 } else if (nr == 1) { 563 } else if (nr == 1 && !orion5x_pci_disabled) {
557 orion5x_pci_set_bus_nr(sys->busnr); 564 orion5x_pci_set_bus_nr(sys->busnr);
558 ret = pci_setup(sys); 565 ret = pci_setup(sys);
559 } 566 }
@@ -567,7 +574,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys
567 574
568 if (nr == 0) { 575 if (nr == 0) {
569 bus = pci_scan_bus(sys->busnr, &pcie_ops, sys); 576 bus = pci_scan_bus(sys->busnr, &pcie_ops, sys);
570 } else if (nr == 1) { 577 } else if (nr == 1 && !orion5x_pci_disabled) {
571 bus = pci_scan_bus(sys->busnr, &pci_ops, sys); 578 bus = pci_scan_bus(sys->busnr, &pci_ops, sys);
572 } else { 579 } else {
573 bus = NULL; 580 bus = NULL;
@@ -584,7 +591,7 @@ int __init orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
584 /* 591 /*
585 * PCIe endpoint? 592 * PCIe endpoint?
586 */ 593 */
587 if (bus < orion5x_pci_local_bus_nr()) 594 if (orion5x_pci_disabled || bus < orion5x_pci_local_bus_nr())
588 return IRQ_ORION5X_PCIE0_INT; 595 return IRQ_ORION5X_PCIE0_INT;
589 596
590 return -1; 597 return -1;
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c
index dd657163cd8d..9d6890514199 100644
--- a/arch/arm/mach-orion5x/ts209-setup.c
+++ b/arch/arm/mach-orion5x/ts209-setup.c
@@ -287,6 +287,10 @@ static void __init qnap_ts209_init(void)
287 /* 287 /*
288 * Configure peripherals. 288 * Configure peripherals.
289 */ 289 */
290 orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE,
291 QNAP_TS209_NOR_BOOT_SIZE);
292 platform_device_register(&qnap_ts209_nor_flash);
293
290 orion5x_ehci0_init(); 294 orion5x_ehci0_init();
291 orion5x_ehci1_init(); 295 orion5x_ehci1_init();
292 qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE + 296 qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE +
@@ -296,12 +300,9 @@ static void __init qnap_ts209_init(void)
296 orion5x_i2c_init(); 300 orion5x_i2c_init();
297 orion5x_sata_init(&qnap_ts209_sata_data); 301 orion5x_sata_init(&qnap_ts209_sata_data);
298 orion5x_uart0_init(); 302 orion5x_uart0_init();
303 orion5x_uart1_init();
299 orion5x_xor_init(); 304 orion5x_xor_init();
300 305
301 orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE,
302 QNAP_TS209_NOR_BOOT_SIZE);
303 platform_device_register(&qnap_ts209_nor_flash);
304
305 platform_device_register(&qnap_ts209_button_device); 306 platform_device_register(&qnap_ts209_button_device);
306 307
307 /* Get RTC IRQ and register the chip */ 308 /* Get RTC IRQ and register the chip */
diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c
index b27d2b762081..d85588ac7ef8 100644
--- a/arch/arm/mach-orion5x/ts409-setup.c
+++ b/arch/arm/mach-orion5x/ts409-setup.c
@@ -278,6 +278,10 @@ static void __init qnap_ts409_init(void)
278 /* 278 /*
279 * Configure peripherals. 279 * Configure peripherals.
280 */ 280 */
281 orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE,
282 QNAP_TS409_NOR_BOOT_SIZE);
283 platform_device_register(&qnap_ts409_nor_flash);
284
281 orion5x_ehci0_init(); 285 orion5x_ehci0_init();
282 qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE + 286 qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE +
283 qnap_ts409_partitions[5].offset, 287 qnap_ts409_partitions[5].offset,
@@ -285,10 +289,7 @@ static void __init qnap_ts409_init(void)
285 orion5x_eth_init(&qnap_tsx09_eth_data); 289 orion5x_eth_init(&qnap_tsx09_eth_data);
286 orion5x_i2c_init(); 290 orion5x_i2c_init();
287 orion5x_uart0_init(); 291 orion5x_uart0_init();
288 292 orion5x_uart1_init();
289 orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE,
290 QNAP_TS409_NOR_BOOT_SIZE);
291 platform_device_register(&qnap_ts409_nor_flash);
292 293
293 platform_device_register(&qnap_ts409_button_device); 294 platform_device_register(&qnap_ts409_button_device);
294 295
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index b0417122d4e4..f781873431f3 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -52,6 +52,10 @@ config MACH_MAINSTONE
52 select HAVE_PWM 52 select HAVE_PWM
53 select PXA_HAVE_BOARD_IRQS 53 select PXA_HAVE_BOARD_IRQS
54 54
55config MACH_MP900C
56 bool "Nec Mobilepro 900/c"
57 select PXA25x
58
55config ARCH_PXA_IDP 59config ARCH_PXA_IDP
56 bool "Accelent Xscale IDP" 60 bool "Accelent Xscale IDP"
57 select PXA25x 61 select PXA25x
@@ -119,6 +123,15 @@ config MACH_TOSA
119 select PXA25x 123 select PXA25x
120 select PXA_HAVE_BOARD_IRQS 124 select PXA_HAVE_BOARD_IRQS
121 125
126config ARCH_VIPER
127 bool "Arcom/Eurotech VIPER SBC"
128 select PXA25x
129 select ISA
130 select I2C_GPIO
131 select HAVE_PWM
132 select PXA_HAVE_BOARD_IRQS
133 select PXA_HAVE_ISA_IRQS
134
122config ARCH_PXA_ESERIES 135config ARCH_PXA_ESERIES
123 bool "PXA based Toshiba e-series PDAs" 136 bool "PXA based Toshiba e-series PDAs"
124 select PXA25x 137 select PXA25x
@@ -175,13 +188,41 @@ config MACH_E800
175 Say Y here if you intend to run this kernel on a Toshiba 188 Say Y here if you intend to run this kernel on a Toshiba
176 e800 family PDA. 189 e800 family PDA.
177 190
191config TRIZEPS_PXA
192 bool "PXA based Keith und Koep Trizeps DIMM-Modules"
193
178config MACH_TRIZEPS4 194config MACH_TRIZEPS4
179 bool "Keith und Koep Trizeps4 DIMM-Module" 195 bool "Keith und Koep Trizeps4 DIMM-Module"
196 depends on TRIZEPS_PXA
197 select TRIZEPS_PCMCIA
180 select PXA27x 198 select PXA27x
181 199
182config MACH_TRIZEPS4_CONXS 200config MACH_TRIZEPS4WL
201 bool "Keith und Koep Trizeps4-WL DIMM-Module"
202 depends on TRIZEPS_PXA
203 select TRIZEPS_PCMCIA
204 select PXA27x
205 select PXA_SSP
206
207choice
208 prompt "Select base board for Trizeps module"
209 depends on TRIZEPS_PXA
210
211config MACH_TRIZEPS_CONXS
183 bool "ConXS Eval Board" 212 bool "ConXS Eval Board"
184 depends on MACH_TRIZEPS4 213
214config MACH_TRIZEPS_UCONXS
215 bool "uConXS Eval Board"
216
217config MACH_TRIZEPS_ANY
218 bool "another Board"
219
220endchoice
221
222config TRIZEPS_PCMCIA
223 bool
224 help
225 Enable PCMCIA support for Trizeps modules
185 226
186config MACH_EM_X270 227config MACH_EM_X270
187 bool "CompuLab EM-x270 platform" 228 bool "CompuLab EM-x270 platform"
@@ -194,6 +235,7 @@ config MACH_COLIBRI
194config MACH_ZYLONITE 235config MACH_ZYLONITE
195 bool "PXA3xx Development Platform (aka Zylonite)" 236 bool "PXA3xx Development Platform (aka Zylonite)"
196 select PXA3xx 237 select PXA3xx
238 select PXA_SSP
197 select HAVE_PWM 239 select HAVE_PWM
198 240
199config MACH_LITTLETON 241config MACH_LITTLETON
@@ -212,9 +254,16 @@ config MACH_SAAR
212 select PXA930 254 select PXA930
213 255
214config MACH_ARMCORE 256config MACH_ARMCORE
215 bool "CompuLab CM-X270 modules" 257 bool "CompuLab CM-X255/CM-X270 modules"
216 select PXA27x 258 select PXA27x
217 select IWMMXT 259 select IWMMXT
260 select PXA25x
261 select PXA_SSP
262
263config MACH_CM_X300
264 bool "CompuLab CM-X300 modules"
265 select PXA3xx
266 select CPU_PXA300
218 267
219config MACH_MAGICIAN 268config MACH_MAGICIAN
220 bool "Enable HTC Magician Support" 269 bool "Enable HTC Magician Support"
@@ -222,6 +271,18 @@ config MACH_MAGICIAN
222 select IWMMXT 271 select IWMMXT
223 select PXA_HAVE_BOARD_IRQS 272 select PXA_HAVE_BOARD_IRQS
224 273
274config MACH_MIOA701
275 bool "Mitac Mio A701 Support"
276 select PXA27x
277 select IWMMXT
278 select LEDS_GPIO
279 select HAVE_PWM
280 select GPIO_SYSFS
281 help
282 Say Y here if you intend to run this kernel on a
283 MIO A701. Currently there is only basic support
284 for this PDA.
285
225config MACH_PCM027 286config MACH_PCM027
226 bool "Phytec phyCORE-PXA270 CPU module (PCM-027)" 287 bool "Phytec phyCORE-PXA270 CPU module (PCM-027)"
227 select PXA27x 288 select PXA27x
@@ -243,6 +304,16 @@ config MACH_PALMTX
243 Say Y here if you intend to run this kernel on a Palm T|X 304 Say Y here if you intend to run this kernel on a Palm T|X
244 handheld computer. 305 handheld computer.
245 306
307config MACH_PALMZ72
308 bool "Palm Zire 72"
309 default y
310 depends on ARCH_PXA_PALM
311 select PXA27x
312 select IWMMXT
313 help
314 Say Y here if you intend to run this kernel on Palm Zire 72
315 handheld computer.
316
246config MACH_PCM990_BASEBOARD 317config MACH_PCM990_BASEBOARD
247 bool "PHYTEC PCM-990 development board" 318 bool "PHYTEC PCM-990 development board"
248 select HAVE_PWM 319 select HAVE_PWM
@@ -263,6 +334,9 @@ config PCM990_DISPLAY_NONE
263 334
264endchoice 335endchoice
265 336
337config MACH_AM200EPD
338 depends on MACH_GUMSTIX_F
339 bool "Enable AM200EPD board support"
266 340
267config PXA_EZX 341config PXA_EZX
268 bool "Motorola EZX Platform" 342 bool "Motorola EZX Platform"
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index 99ecbe7f8506..3d2dea4afb87 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -22,27 +22,33 @@ obj-$(CONFIG_CPU_PXA930) += pxa930.o
22 22
23# Specific board support 23# Specific board support
24obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o 24obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o
25obj-$(CONFIG_MACH_AM200EPD) += am200epd.o
25obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o 26obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o
26obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o 27obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o
27obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o 28obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o
29obj-$(CONFIG_MACH_MP900C) += mp900.o
28obj-$(CONFIG_ARCH_PXA_IDP) += idp.o 30obj-$(CONFIG_ARCH_PXA_IDP) += idp.o
29obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o 31obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o
30obj-$(CONFIG_MACH_COLIBRI) += colibri.o 32obj-$(CONFIG_MACH_COLIBRI) += colibri.o
31obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o corgi_pm.o 33obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o
32obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o spitz_pm.o 34obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o
33obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o 35obj-$(CONFIG_MACH_POODLE) += poodle.o
34obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
35obj-$(CONFIG_MACH_PCM027) += pcm027.o 36obj-$(CONFIG_MACH_PCM027) += pcm027.o
36obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o 37obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o
37obj-$(CONFIG_MACH_TOSA) += tosa.o 38obj-$(CONFIG_MACH_TOSA) += tosa.o
38obj-$(CONFIG_MACH_EM_X270) += em-x270.o 39obj-$(CONFIG_MACH_EM_X270) += em-x270.o
39obj-$(CONFIG_MACH_MAGICIAN) += magician.o 40obj-$(CONFIG_MACH_MAGICIAN) += magician.o
40obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o eseries_udc.o 41obj-$(CONFIG_MACH_MIOA701) += mioa701.o mioa701_bootresume.o
41obj-$(CONFIG_MACH_E740) += e740_lcd.o 42obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o
42obj-$(CONFIG_MACH_E750) += e750_lcd.o 43obj-$(CONFIG_MACH_E330) += e330.o
43obj-$(CONFIG_MACH_E400) += e400_lcd.o 44obj-$(CONFIG_MACH_E350) += e350.o
44obj-$(CONFIG_MACH_E800) += e800_lcd.o 45obj-$(CONFIG_MACH_E740) += e740.o
46obj-$(CONFIG_MACH_E750) += e750.o
47obj-$(CONFIG_MACH_E400) += e400.o
48obj-$(CONFIG_MACH_E800) += e800.o
45obj-$(CONFIG_MACH_PALMTX) += palmtx.o 49obj-$(CONFIG_MACH_PALMTX) += palmtx.o
50obj-$(CONFIG_MACH_PALMZ72) += palmz72.o
51obj-$(CONFIG_ARCH_VIPER) += viper.o
46 52
47ifeq ($(CONFIG_MACH_ZYLONITE),y) 53ifeq ($(CONFIG_MACH_ZYLONITE),y)
48 obj-y += zylonite.o 54 obj-y += zylonite.o
@@ -53,7 +59,8 @@ obj-$(CONFIG_MACH_LITTLETON) += littleton.o
53obj-$(CONFIG_MACH_TAVOREVB) += tavorevb.o 59obj-$(CONFIG_MACH_TAVOREVB) += tavorevb.o
54obj-$(CONFIG_MACH_SAAR) += saar.o 60obj-$(CONFIG_MACH_SAAR) += saar.o
55 61
56obj-$(CONFIG_MACH_ARMCORE) += cm-x270.o 62obj-$(CONFIG_MACH_ARMCORE) += cm-x2xx.o cm-x255.o cm-x270.o
63obj-$(CONFIG_MACH_CM_X300) += cm-x300.o
57obj-$(CONFIG_PXA_EZX) += ezx.o 64obj-$(CONFIG_PXA_EZX) += ezx.o
58 65
59# Support for blinky lights 66# Support for blinky lights
@@ -61,12 +68,11 @@ led-y := leds.o
61led-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o 68led-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o
62led-$(CONFIG_MACH_MAINSTONE) += leds-mainstone.o 69led-$(CONFIG_MACH_MAINSTONE) += leds-mainstone.o
63led-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o 70led-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o
64led-$(CONFIG_MACH_TRIZEPS4) += leds-trizeps4.o
65 71
66obj-$(CONFIG_LEDS) += $(led-y) 72obj-$(CONFIG_LEDS) += $(led-y)
67 73
68ifeq ($(CONFIG_PCI),y) 74ifeq ($(CONFIG_PCI),y)
69obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o 75obj-$(CONFIG_MACH_ARMCORE) += cm-x2xx-pci.o
70endif 76endif
71 77
72obj-$(CONFIG_TOSA_BT) += tosa-bt.o 78obj-$(CONFIG_TOSA_BT) += tosa-bt.o
diff --git a/arch/arm/mach-pxa/akita-ioexp.c b/arch/arm/mach-pxa/akita-ioexp.c
deleted file mode 100644
index 5c67b188a3ba..000000000000
--- a/arch/arm/mach-pxa/akita-ioexp.c
+++ /dev/null
@@ -1,222 +0,0 @@
1/*
2 * Support for the Extra GPIOs on the Sharp SL-C1000 (Akita)
3 * (uses a Maxim MAX7310 8 Port IO Expander)
4 *
5 * Copyright 2005 Openedhand Ltd.
6 *
7 * Author: Richard Purdie <richard@openedhand.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 */
14
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/platform_device.h>
18#include <linux/module.h>
19#include <linux/i2c.h>
20#include <linux/slab.h>
21#include <linux/workqueue.h>
22#include <mach/akita.h>
23
24/* MAX7310 Regiser Map */
25#define MAX7310_INPUT 0x00
26#define MAX7310_OUTPUT 0x01
27#define MAX7310_POLINV 0x02
28#define MAX7310_IODIR 0x03 /* 1 = Input, 0 = Output */
29#define MAX7310_TIMEOUT 0x04
30
31/* Addresses to scan */
32static const unsigned short normal_i2c[] = { 0x18, I2C_CLIENT_END };
33
34/* I2C Magic */
35I2C_CLIENT_INSMOD;
36
37static int max7310_write(struct i2c_client *client, int address, int data);
38static struct i2c_client max7310_template;
39static void akita_ioexp_work(struct work_struct *private_);
40
41static struct device *akita_ioexp_device;
42static unsigned char ioexp_output_value = AKITA_IOEXP_IO_OUT;
43DECLARE_WORK(akita_ioexp, akita_ioexp_work);
44
45
46/*
47 * MAX7310 Access
48 */
49static int max7310_config(struct device *dev, int iomode, int polarity)
50{
51 int ret;
52 struct i2c_client *client = to_i2c_client(dev);
53
54 ret = max7310_write(client, MAX7310_POLINV, polarity);
55 if (ret < 0)
56 return ret;
57 ret = max7310_write(client, MAX7310_IODIR, iomode);
58 return ret;
59}
60
61static int max7310_set_ouputs(struct device *dev, int outputs)
62{
63 struct i2c_client *client = to_i2c_client(dev);
64
65 return max7310_write(client, MAX7310_OUTPUT, outputs);
66}
67
68/*
69 * I2C Functions
70 */
71static int max7310_write(struct i2c_client *client, int address, int value)
72{
73 u8 data[2];
74
75 data[0] = address & 0xff;
76 data[1] = value & 0xff;
77
78 if (i2c_master_send(client, data, 2) == 2)
79 return 0;
80 return -1;
81}
82
83static int max7310_detect(struct i2c_adapter *adapter, int address, int kind)
84{
85 struct i2c_client *new_client;
86 int err;
87
88 if (!(new_client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL)))
89 return -ENOMEM;
90
91 max7310_template.adapter = adapter;
92 max7310_template.addr = address;
93
94 memcpy(new_client, &max7310_template, sizeof(struct i2c_client));
95
96 if ((err = i2c_attach_client(new_client))) {
97 kfree(new_client);
98 return err;
99 }
100
101 max7310_config(&new_client->dev, AKITA_IOEXP_IO_DIR, 0);
102 akita_ioexp_device = &new_client->dev;
103 schedule_work(&akita_ioexp);
104
105 return 0;
106}
107
108static int max7310_attach_adapter(struct i2c_adapter *adapter)
109{
110 return i2c_probe(adapter, &addr_data, max7310_detect);
111}
112
113static int max7310_detach_client(struct i2c_client *client)
114{
115 int err;
116
117 akita_ioexp_device = NULL;
118
119 if ((err = i2c_detach_client(client)))
120 return err;
121
122 kfree(client);
123 return 0;
124}
125
126static struct i2c_driver max7310_i2c_driver = {
127 .driver = {
128 .name = "akita-max7310",
129 },
130 .id = I2C_DRIVERID_AKITAIOEXP,
131 .attach_adapter = max7310_attach_adapter,
132 .detach_client = max7310_detach_client,
133};
134
135static struct i2c_client max7310_template = {
136 name: "akita-max7310",
137 driver: &max7310_i2c_driver,
138};
139
140void akita_set_ioexp(struct device *dev, unsigned char bit)
141{
142 ioexp_output_value |= bit;
143
144 if (akita_ioexp_device)
145 schedule_work(&akita_ioexp);
146 return;
147}
148
149void akita_reset_ioexp(struct device *dev, unsigned char bit)
150{
151 ioexp_output_value &= ~bit;
152
153 if (akita_ioexp_device)
154 schedule_work(&akita_ioexp);
155 return;
156}
157
158EXPORT_SYMBOL(akita_set_ioexp);
159EXPORT_SYMBOL(akita_reset_ioexp);
160
161static void akita_ioexp_work(struct work_struct *private_)
162{
163 if (akita_ioexp_device)
164 max7310_set_ouputs(akita_ioexp_device, ioexp_output_value);
165}
166
167
168#ifdef CONFIG_PM
169static int akita_ioexp_suspend(struct platform_device *pdev, pm_message_t state)
170{
171 flush_scheduled_work();
172 return 0;
173}
174
175static int akita_ioexp_resume(struct platform_device *pdev)
176{
177 schedule_work(&akita_ioexp);
178 return 0;
179}
180#else
181#define akita_ioexp_suspend NULL
182#define akita_ioexp_resume NULL
183#endif
184
185static int __init akita_ioexp_probe(struct platform_device *pdev)
186{
187 return i2c_add_driver(&max7310_i2c_driver);
188}
189
190static int akita_ioexp_remove(struct platform_device *pdev)
191{
192 i2c_del_driver(&max7310_i2c_driver);
193 return 0;
194}
195
196static struct platform_driver akita_ioexp_driver = {
197 .probe = akita_ioexp_probe,
198 .remove = akita_ioexp_remove,
199 .suspend = akita_ioexp_suspend,
200 .resume = akita_ioexp_resume,
201 .driver = {
202 .name = "akita-ioexp",
203 },
204};
205
206static int __init akita_ioexp_init(void)
207{
208 return platform_driver_register(&akita_ioexp_driver);
209}
210
211static void __exit akita_ioexp_exit(void)
212{
213 platform_driver_unregister(&akita_ioexp_driver);
214}
215
216MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
217MODULE_DESCRIPTION("Akita IO-Expander driver");
218MODULE_LICENSE("GPL");
219
220fs_initcall(akita_ioexp_init);
221module_exit(akita_ioexp_exit);
222
diff --git a/arch/arm/mach-pxa/am200epd.c b/arch/arm/mach-pxa/am200epd.c
new file mode 100644
index 000000000000..b965085a37b9
--- /dev/null
+++ b/arch/arm/mach-pxa/am200epd.c
@@ -0,0 +1,374 @@
1/*
2 * am200epd.c -- Platform device for AM200 EPD kit
3 *
4 * Copyright (C) 2008, Jaya Kumar
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.
9 *
10 * Layout is based on skeletonfb.c by James Simmons and Geert Uytterhoeven.
11 *
12 * This work was made possible by help and equipment support from E-Ink
13 * Corporation. http://support.eink.com/community
14 *
15 * This driver is written to be used with the Metronome display controller.
16 * on the AM200 EPD prototype kit/development kit with an E-Ink 800x600
17 * Vizplex EPD on a Gumstix board using the Lyre interface board.
18 *
19 */
20
21#include <linux/module.h>
22#include <linux/kernel.h>
23#include <linux/errno.h>
24#include <linux/string.h>
25#include <linux/delay.h>
26#include <linux/interrupt.h>
27#include <linux/fb.h>
28#include <linux/init.h>
29#include <linux/platform_device.h>
30#include <linux/irq.h>
31#include <linux/gpio.h>
32
33#include <mach/pxafb.h>
34
35#include <video/metronomefb.h>
36
37static unsigned int panel_type = 6;
38static struct platform_device *am200_device;
39static struct metronome_board am200_board;
40
41static struct pxafb_mode_info am200_fb_mode_9inch7 = {
42 .pixclock = 40000,
43 .xres = 1200,
44 .yres = 842,
45 .bpp = 16,
46 .hsync_len = 2,
47 .left_margin = 2,
48 .right_margin = 2,
49 .vsync_len = 1,
50 .upper_margin = 2,
51 .lower_margin = 25,
52 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
53};
54
55static struct pxafb_mode_info am200_fb_mode_8inch = {
56 .pixclock = 40000,
57 .xres = 1088,
58 .yres = 791,
59 .bpp = 16,
60 .hsync_len = 28,
61 .left_margin = 8,
62 .right_margin = 30,
63 .vsync_len = 8,
64 .upper_margin = 10,
65 .lower_margin = 8,
66 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
67};
68
69static struct pxafb_mode_info am200_fb_mode_6inch = {
70 .pixclock = 40189,
71 .xres = 832,
72 .yres = 622,
73 .bpp = 16,
74 .hsync_len = 28,
75 .left_margin = 34,
76 .right_margin = 34,
77 .vsync_len = 25,
78 .upper_margin = 0,
79 .lower_margin = 2,
80 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
81};
82
83static struct pxafb_mach_info am200_fb_info = {
84 .modes = &am200_fb_mode_6inch,
85 .num_modes = 1,
86 .lcd_conn = LCD_TYPE_COLOR_TFT | LCD_PCLK_EDGE_FALL |
87 LCD_AC_BIAS_FREQ(24),
88};
89
90/* register offsets for gpio control */
91#define LED_GPIO_PIN 51
92#define STDBY_GPIO_PIN 48
93#define RST_GPIO_PIN 49
94#define RDY_GPIO_PIN 32
95#define ERR_GPIO_PIN 17
96#define PCBPWR_GPIO_PIN 16
97static int gpios[] = { LED_GPIO_PIN , STDBY_GPIO_PIN , RST_GPIO_PIN,
98 RDY_GPIO_PIN, ERR_GPIO_PIN, PCBPWR_GPIO_PIN };
99static char *gpio_names[] = { "LED" , "STDBY" , "RST", "RDY", "ERR", "PCBPWR" };
100
101static int am200_init_gpio_regs(struct metronomefb_par *par)
102{
103 int i;
104 int err;
105
106 for (i = 0; i < ARRAY_SIZE(gpios); i++) {
107 err = gpio_request(gpios[i], gpio_names[i]);
108 if (err) {
109 dev_err(&am200_device->dev, "failed requesting "
110 "gpio %s, err=%d\n", gpio_names[i], err);
111 goto err_req_gpio;
112 }
113 }
114
115 gpio_direction_output(LED_GPIO_PIN, 0);
116 gpio_direction_output(STDBY_GPIO_PIN, 0);
117 gpio_direction_output(RST_GPIO_PIN, 0);
118
119 gpio_direction_input(RDY_GPIO_PIN);
120 gpio_direction_input(ERR_GPIO_PIN);
121
122 gpio_direction_output(PCBPWR_GPIO_PIN, 0);
123
124 return 0;
125
126err_req_gpio:
127 while (i > 0)
128 gpio_free(gpios[i--]);
129
130 return err;
131}
132
133static void am200_cleanup(struct metronomefb_par *par)
134{
135 int i;
136
137 free_irq(IRQ_GPIO(RDY_GPIO_PIN), par);
138
139 for (i = 0; i < ARRAY_SIZE(gpios); i++)
140 gpio_free(gpios[i]);
141}
142
143static int am200_share_video_mem(struct fb_info *info)
144{
145 /* rough check if this is our desired fb and not something else */
146 if ((info->var.xres != am200_fb_info.modes->xres)
147 || (info->var.yres != am200_fb_info.modes->yres))
148 return 0;
149
150 /* we've now been notified that we have our new fb */
151 am200_board.metromem = info->screen_base;
152 am200_board.host_fbinfo = info;
153
154 /* try to refcount host drv since we are the consumer after this */
155 if (!try_module_get(info->fbops->owner))
156 return -ENODEV;
157
158 return 0;
159}
160
161static int am200_unshare_video_mem(struct fb_info *info)
162{
163 dev_dbg(&am200_device->dev, "ENTER %s\n", __func__);
164
165 if (info != am200_board.host_fbinfo)
166 return 0;
167
168 module_put(am200_board.host_fbinfo->fbops->owner);
169 return 0;
170}
171
172static int am200_fb_notifier_callback(struct notifier_block *self,
173 unsigned long event, void *data)
174{
175 struct fb_event *evdata = data;
176 struct fb_info *info = evdata->info;
177
178 dev_dbg(&am200_device->dev, "ENTER %s\n", __func__);
179
180 if (event == FB_EVENT_FB_REGISTERED)
181 return am200_share_video_mem(info);
182 else if (event == FB_EVENT_FB_UNREGISTERED)
183 return am200_unshare_video_mem(info);
184
185 return 0;
186}
187
188static struct notifier_block am200_fb_notif = {
189 .notifier_call = am200_fb_notifier_callback,
190};
191
192/* this gets called as part of our init. these steps must be done now so
193 * that we can use set_pxa_fb_info */
194static void __init am200_presetup_fb(void)
195{
196 int fw;
197 int fh;
198 int padding_size;
199 int totalsize;
200
201 switch (panel_type) {
202 case 6:
203 am200_fb_info.modes = &am200_fb_mode_6inch;
204 break;
205 case 8:
206 am200_fb_info.modes = &am200_fb_mode_8inch;
207 break;
208 case 97:
209 am200_fb_info.modes = &am200_fb_mode_9inch7;
210 break;
211 default:
212 dev_err(&am200_device->dev, "invalid panel_type selection,"
213 " setting to 6\n");
214 am200_fb_info.modes = &am200_fb_mode_6inch;
215 break;
216 }
217
218 /* the frame buffer is divided as follows:
219 command | CRC | padding
220 16kb waveform data | CRC | padding
221 image data | CRC
222 */
223
224 fw = am200_fb_info.modes->xres;
225 fh = am200_fb_info.modes->yres;
226
227 /* waveform must be 16k + 2 for checksum */
228 am200_board.wfm_size = roundup(16*1024 + 2, fw);
229
230 padding_size = PAGE_SIZE + (4 * fw);
231
232 /* total is 1 cmd , 1 wfm, padding and image */
233 totalsize = fw + am200_board.wfm_size + padding_size + (fw*fh);
234
235 /* save this off because we're manipulating fw after this and
236 * we'll need it when we're ready to setup the framebuffer */
237 am200_board.fw = fw;
238 am200_board.fh = fh;
239
240 /* the reason we do this adjustment is because we want to acquire
241 * more framebuffer memory without imposing custom awareness on the
242 * underlying pxafb driver */
243 am200_fb_info.modes->yres = DIV_ROUND_UP(totalsize, fw);
244
245 /* we divide since we told the LCD controller we're 16bpp */
246 am200_fb_info.modes->xres /= 2;
247
248 set_pxa_fb_info(&am200_fb_info);
249
250}
251
252/* this gets called by metronomefb as part of its init, in our case, we
253 * have already completed initial framebuffer init in presetup_fb so we
254 * can just setup the fb access pointers */
255static int am200_setup_fb(struct metronomefb_par *par)
256{
257 int fw;
258 int fh;
259
260 fw = am200_board.fw;
261 fh = am200_board.fh;
262
263 /* metromem was set up by the notifier in share_video_mem so now
264 * we can use its value to calculate the other entries */
265 par->metromem_cmd = (struct metromem_cmd *) am200_board.metromem;
266 par->metromem_wfm = am200_board.metromem + fw;
267 par->metromem_img = par->metromem_wfm + am200_board.wfm_size;
268 par->metromem_img_csum = (u16 *) (par->metromem_img + (fw * fh));
269 par->metromem_dma = am200_board.host_fbinfo->fix.smem_start;
270
271 return 0;
272}
273
274static int am200_get_panel_type(void)
275{
276 return panel_type;
277}
278
279static irqreturn_t am200_handle_irq(int irq, void *dev_id)
280{
281 struct metronomefb_par *par = dev_id;
282
283 wake_up_interruptible(&par->waitq);
284 return IRQ_HANDLED;
285}
286
287static int am200_setup_irq(struct fb_info *info)
288{
289 int ret;
290
291 ret = request_irq(IRQ_GPIO(RDY_GPIO_PIN), am200_handle_irq,
292 IRQF_DISABLED|IRQF_TRIGGER_FALLING,
293 "AM200", info->par);
294 if (ret)
295 dev_err(&am200_device->dev, "request_irq failed: %d\n", ret);
296
297 return ret;
298}
299
300static void am200_set_rst(struct metronomefb_par *par, int state)
301{
302 gpio_set_value(RST_GPIO_PIN, state);
303}
304
305static void am200_set_stdby(struct metronomefb_par *par, int state)
306{
307 gpio_set_value(STDBY_GPIO_PIN, state);
308}
309
310static int am200_wait_event(struct metronomefb_par *par)
311{
312 return wait_event_timeout(par->waitq, gpio_get_value(RDY_GPIO_PIN), HZ);
313}
314
315static int am200_wait_event_intr(struct metronomefb_par *par)
316{
317 return wait_event_interruptible_timeout(par->waitq,
318 gpio_get_value(RDY_GPIO_PIN), HZ);
319}
320
321static struct metronome_board am200_board = {
322 .owner = THIS_MODULE,
323 .setup_irq = am200_setup_irq,
324 .setup_io = am200_init_gpio_regs,
325 .setup_fb = am200_setup_fb,
326 .set_rst = am200_set_rst,
327 .set_stdby = am200_set_stdby,
328 .met_wait_event = am200_wait_event,
329 .met_wait_event_intr = am200_wait_event_intr,
330 .get_panel_type = am200_get_panel_type,
331 .cleanup = am200_cleanup,
332};
333
334static int __init am200_init(void)
335{
336 int ret;
337
338 /* before anything else, we request notification for any fb
339 * creation events */
340 fb_register_client(&am200_fb_notif);
341
342 /* request our platform independent driver */
343 request_module("metronomefb");
344
345 am200_device = platform_device_alloc("metronomefb", -1);
346 if (!am200_device)
347 return -ENOMEM;
348
349 /* the am200_board that will be seen by metronomefb is a copy */
350 platform_device_add_data(am200_device, &am200_board,
351 sizeof(am200_board));
352
353 /* this _add binds metronomefb to am200. metronomefb refcounts am200 */
354 ret = platform_device_add(am200_device);
355
356 if (ret) {
357 platform_device_put(am200_device);
358 fb_unregister_client(&am200_fb_notif);
359 return ret;
360 }
361
362 am200_presetup_fb();
363
364 return 0;
365}
366
367module_param(panel_type, uint, 0);
368MODULE_PARM_DESC(panel_type, "Select the panel type: 6, 8, 97");
369
370module_init(am200_init);
371
372MODULE_DESCRIPTION("board driver for am200 metronome epd kit");
373MODULE_AUTHOR("Jaya Kumar");
374MODULE_LICENSE("GPL");
diff --git a/arch/arm/mach-pxa/cm-x255.c b/arch/arm/mach-pxa/cm-x255.c
new file mode 100644
index 000000000000..83a4cdf08176
--- /dev/null
+++ b/arch/arm/mach-pxa/cm-x255.c
@@ -0,0 +1,258 @@
1/*
2 * linux/arch/arm/mach-pxa/cm-x255.c
3 *
4 * Copyright (C) 2007, 2008 CompuLab, Ltd.
5 * Mike Rapoport <mike@compulab.co.il>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <linux/platform_device.h>
13#include <linux/irq.h>
14#include <linux/gpio.h>
15#include <linux/mtd/partitions.h>
16#include <linux/mtd/physmap.h>
17#include <linux/mtd/nand-gpio.h>
18
19#include <linux/spi/spi.h>
20
21#include <asm/mach/arch.h>
22#include <asm/mach-types.h>
23#include <asm/mach/map.h>
24
25#include <mach/pxa2xx-regs.h>
26#include <mach/mfp-pxa25x.h>
27#include <mach/pxa2xx_spi.h>
28#include <mach/bitfield.h>
29
30#include "generic.h"
31
32#define GPIO_NAND_CS (5)
33#define GPIO_NAND_ALE (4)
34#define GPIO_NAND_CLE (3)
35#define GPIO_NAND_RB (10)
36
37static unsigned long cmx255_pin_config[] = {
38 /* AC'97 */
39 GPIO28_AC97_BITCLK,
40 GPIO29_AC97_SDATA_IN_0,
41 GPIO30_AC97_SDATA_OUT,
42 GPIO31_AC97_SYNC,
43
44 /* BTUART */
45 GPIO42_BTUART_RXD,
46 GPIO43_BTUART_TXD,
47 GPIO44_BTUART_CTS,
48 GPIO45_BTUART_RTS,
49
50 /* STUART */
51 GPIO46_STUART_RXD,
52 GPIO47_STUART_TXD,
53
54 /* LCD */
55 GPIO58_LCD_LDD_0,
56 GPIO59_LCD_LDD_1,
57 GPIO60_LCD_LDD_2,
58 GPIO61_LCD_LDD_3,
59 GPIO62_LCD_LDD_4,
60 GPIO63_LCD_LDD_5,
61 GPIO64_LCD_LDD_6,
62 GPIO65_LCD_LDD_7,
63 GPIO66_LCD_LDD_8,
64 GPIO67_LCD_LDD_9,
65 GPIO68_LCD_LDD_10,
66 GPIO69_LCD_LDD_11,
67 GPIO70_LCD_LDD_12,
68 GPIO71_LCD_LDD_13,
69 GPIO72_LCD_LDD_14,
70 GPIO73_LCD_LDD_15,
71 GPIO74_LCD_FCLK,
72 GPIO75_LCD_LCLK,
73 GPIO76_LCD_PCLK,
74 GPIO77_LCD_BIAS,
75
76 /* SSP1 */
77 GPIO23_SSP1_SCLK,
78 GPIO24_SSP1_SFRM,
79 GPIO25_SSP1_TXD,
80 GPIO26_SSP1_RXD,
81
82 /* SSP2 */
83 GPIO81_SSP2_CLK_OUT,
84 GPIO82_SSP2_FRM_OUT,
85 GPIO83_SSP2_TXD,
86 GPIO84_SSP2_RXD,
87
88 /* PC Card */
89 GPIO48_nPOE,
90 GPIO49_nPWE,
91 GPIO50_nPIOR,
92 GPIO51_nPIOW,
93 GPIO52_nPCE_1,
94 GPIO53_nPCE_2,
95 GPIO54_nPSKTSEL,
96 GPIO55_nPREG,
97 GPIO56_nPWAIT,
98 GPIO57_nIOIS16,
99
100 /* SDRAM and local bus */
101 GPIO15_nCS_1,
102 GPIO78_nCS_2,
103 GPIO79_nCS_3,
104 GPIO80_nCS_4,
105 GPIO33_nCS_5,
106 GPIO18_RDY,
107
108 /* GPIO */
109 GPIO0_GPIO | WAKEUP_ON_EDGE_BOTH,
110 GPIO9_GPIO, /* PC card reset */
111
112 /* NAND controls */
113 GPIO5_GPIO | MFP_LPM_DRIVE_HIGH, /* NAND CE# */
114 GPIO4_GPIO | MFP_LPM_DRIVE_LOW, /* NAND ALE */
115 GPIO3_GPIO | MFP_LPM_DRIVE_LOW, /* NAND CLE */
116 GPIO10_GPIO, /* NAND Ready/Busy */
117
118 /* interrupts */
119 GPIO22_GPIO, /* DM9000 interrupt */
120};
121
122#if defined(CONFIG_SPI_PXA2XX)
123static struct pxa2xx_spi_master pxa_ssp_master_info = {
124 .num_chipselect = 1,
125};
126
127static struct spi_board_info spi_board_info[] __initdata = {
128 [0] = {
129 .modalias = "rtc-max6902",
130 .max_speed_hz = 1000000,
131 .bus_num = 1,
132 .chip_select = 0,
133 },
134};
135
136static void __init cmx255_init_rtc(void)
137{
138 pxa2xx_set_spi_info(1, &pxa_ssp_master_info);
139 spi_register_board_info(ARRAY_AND_SIZE(spi_board_info));
140}
141#else
142static inline void cmx255_init_rtc(void) {}
143#endif
144
145#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
146static struct mtd_partition cmx255_nor_partitions[] = {
147 {
148 .name = "ARMmon",
149 .size = 0x00030000,
150 .offset = 0,
151 .mask_flags = MTD_WRITEABLE /* force read-only */
152 } , {
153 .name = "ARMmon setup block",
154 .size = 0x00010000,
155 .offset = MTDPART_OFS_APPEND,
156 .mask_flags = MTD_WRITEABLE /* force read-only */
157 } , {
158 .name = "kernel",
159 .size = 0x00160000,
160 .offset = MTDPART_OFS_APPEND,
161 } , {
162 .name = "ramdisk",
163 .size = MTDPART_SIZ_FULL,
164 .offset = MTDPART_OFS_APPEND
165 }
166};
167
168static struct physmap_flash_data cmx255_nor_flash_data[] = {
169 {
170 .width = 2, /* bankwidth in bytes */
171 .parts = cmx255_nor_partitions,
172 .nr_parts = ARRAY_SIZE(cmx255_nor_partitions)
173 }
174};
175
176static struct resource cmx255_nor_resource = {
177 .start = PXA_CS0_PHYS,
178 .end = PXA_CS0_PHYS + SZ_8M - 1,
179 .flags = IORESOURCE_MEM,
180};
181
182static struct platform_device cmx255_nor = {
183 .name = "physmap-flash",
184 .id = -1,
185 .dev = {
186 .platform_data = cmx255_nor_flash_data,
187 },
188 .resource = &cmx255_nor_resource,
189 .num_resources = 1,
190};
191
192static void __init cmx255_init_nor(void)
193{
194 platform_device_register(&cmx255_nor);
195}
196#else
197static inline void cmx255_init_nor(void) {}
198#endif
199
200#if defined(CONFIG_MTD_NAND_GPIO) || defined(CONFIG_MTD_NAND_GPIO_MODULE)
201static struct resource cmx255_nand_resource[] = {
202 [0] = {
203 .start = PXA_CS1_PHYS,
204 .end = PXA_CS1_PHYS + 11,
205 .flags = IORESOURCE_MEM,
206 },
207 [1] = {
208 .start = PXA_CS5_PHYS,
209 .end = PXA_CS5_PHYS + 3,
210 .flags = IORESOURCE_MEM,
211 },
212};
213
214static struct mtd_partition cmx255_nand_parts[] = {
215 [0] = {
216 .name = "cmx255-nand",
217 .size = MTDPART_SIZ_FULL,
218 .offset = 0,
219 },
220};
221
222static struct gpio_nand_platdata cmx255_nand_platdata = {
223 .gpio_nce = GPIO_NAND_CS,
224 .gpio_cle = GPIO_NAND_CLE,
225 .gpio_ale = GPIO_NAND_ALE,
226 .gpio_rdy = GPIO_NAND_RB,
227 .gpio_nwp = -1,
228 .parts = cmx255_nand_parts,
229 .num_parts = ARRAY_SIZE(cmx255_nand_parts),
230 .chip_delay = 25,
231};
232
233static struct platform_device cmx255_nand = {
234 .name = "gpio-nand",
235 .num_resources = ARRAY_SIZE(cmx255_nand_resource),
236 .resource = cmx255_nand_resource,
237 .id = -1,
238 .dev = {
239 .platform_data = &cmx255_nand_platdata,
240 }
241};
242
243static void __init cmx255_init_nand(void)
244{
245 platform_device_register(&cmx255_nand);
246}
247#else
248static inline void cmx255_init_nand(void) {}
249#endif
250
251void __init cmx255_init(void)
252{
253 pxa2xx_mfp_config(ARRAY_AND_SIZE(cmx255_pin_config));
254
255 cmx255_init_rtc();
256 cmx255_init_nor();
257 cmx255_init_nand();
258}
diff --git a/arch/arm/mach-pxa/cm-x270-pci.h b/arch/arm/mach-pxa/cm-x270-pci.h
deleted file mode 100644
index 48f532f4cb51..000000000000
--- a/arch/arm/mach-pxa/cm-x270-pci.h
+++ /dev/null
@@ -1,13 +0,0 @@
1extern void __cmx270_pci_init_irq(int irq_gpio);
2extern void __cmx270_pci_suspend(void);
3extern void __cmx270_pci_resume(void);
4
5#ifdef CONFIG_PCI
6#define cmx270_pci_init_irq(x) __cmx270_pci_init_irq(x)
7#define cmx270_pci_suspend(x) __cmx270_pci_suspend(x)
8#define cmx270_pci_resume(x) __cmx270_pci_resume(x)
9#else
10#define cmx270_pci_init_irq(x) do {} while (0)
11#define cmx270_pci_suspend(x) do {} while (0)
12#define cmx270_pci_resume(x) do {} while (0)
13#endif
diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
index af003a269534..102a43186618 100644
--- a/arch/arm/mach-pxa/cm-x270.c
+++ b/arch/arm/mach-pxa/cm-x270.c
@@ -14,46 +14,22 @@
14#include <linux/irq.h> 14#include <linux/irq.h>
15#include <linux/gpio.h> 15#include <linux/gpio.h>
16 16
17#include <linux/dm9000.h>
18#include <linux/rtc-v3020.h> 17#include <linux/rtc-v3020.h>
19#include <video/mbxfb.h> 18#include <video/mbxfb.h>
20#include <linux/leds.h>
21 19
22#include <asm/mach/arch.h>
23#include <asm/mach-types.h>
24#include <asm/mach/map.h>
25
26#include <mach/pxa2xx-regs.h>
27#include <mach/mfp-pxa27x.h> 20#include <mach/mfp-pxa27x.h>
28#include <mach/pxa-regs.h>
29#include <mach/audio.h>
30#include <mach/pxafb.h>
31#include <mach/ohci.h> 21#include <mach/ohci.h>
32#include <mach/mmc.h> 22#include <mach/mmc.h>
33#include <mach/bitfield.h>
34
35#include <asm/hardware/it8152.h>
36 23
37#include "generic.h" 24#include "generic.h"
38#include "cm-x270-pci.h"
39
40/* virtual addresses for statically mapped regions */
41#define CMX270_VIRT_BASE (0xe8000000)
42#define CMX270_IT8152_VIRT (CMX270_VIRT_BASE)
43 25
26/* physical address if local-bus attached devices */
44#define RTC_PHYS_BASE (PXA_CS1_PHYS + (5 << 22)) 27#define RTC_PHYS_BASE (PXA_CS1_PHYS + (5 << 22))
45#define DM9000_PHYS_BASE (PXA_CS1_PHYS + (6 << 22))
46 28
47/* GPIO IRQ usage */ 29/* GPIO IRQ usage */
48#define GPIO10_ETHIRQ (10)
49#define GPIO22_IT8152_IRQ (22)
50#define GPIO83_MMC_IRQ (83) 30#define GPIO83_MMC_IRQ (83)
51#define GPIO95_GFXIRQ (95)
52 31
53#define CMX270_ETHIRQ IRQ_GPIO(GPIO10_ETHIRQ)
54#define CMX270_IT8152_IRQ IRQ_GPIO(GPIO22_IT8152_IRQ)
55#define CMX270_MMC_IRQ IRQ_GPIO(GPIO83_MMC_IRQ) 32#define CMX270_MMC_IRQ IRQ_GPIO(GPIO83_MMC_IRQ)
56#define CMX270_GFXIRQ IRQ_GPIO(GPIO95_GFXIRQ)
57 33
58/* MMC power enable */ 34/* MMC power enable */
59#define GPIO105_MMC_POWER (105) 35#define GPIO105_MMC_POWER (105)
@@ -157,62 +133,6 @@ static unsigned long cmx270_pin_config[] = {
157 GPIO83_GPIO, /* MMC card detect */ 133 GPIO83_GPIO, /* MMC card detect */
158}; 134};
159 135
160#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
161static struct resource cmx270_dm9000_resource[] = {
162 [0] = {
163 .start = DM9000_PHYS_BASE,
164 .end = DM9000_PHYS_BASE + 4,
165 .flags = IORESOURCE_MEM,
166 },
167 [1] = {
168 .start = DM9000_PHYS_BASE + 8,
169 .end = DM9000_PHYS_BASE + 8 + 500,
170 .flags = IORESOURCE_MEM,
171 },
172 [2] = {
173 .start = CMX270_ETHIRQ,
174 .end = CMX270_ETHIRQ,
175 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
176 }
177};
178
179static struct dm9000_plat_data cmx270_dm9000_platdata = {
180 .flags = DM9000_PLATF_32BITONLY,
181};
182
183static struct platform_device cmx270_dm9000_device = {
184 .name = "dm9000",
185 .id = 0,
186 .num_resources = ARRAY_SIZE(cmx270_dm9000_resource),
187 .resource = cmx270_dm9000_resource,
188 .dev = {
189 .platform_data = &cmx270_dm9000_platdata,
190 }
191};
192
193static void __init cmx270_init_dm9000(void)
194{
195 platform_device_register(&cmx270_dm9000_device);
196}
197#else
198static inline void cmx270_init_dm9000(void) {}
199#endif
200
201/* UCB1400 touchscreen controller */
202#if defined(CONFIG_TOUCHSCREEN_UCB1400) || defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
203static struct platform_device cmx270_ts_device = {
204 .name = "ucb1400_ts",
205 .id = -1,
206};
207
208static void __init cmx270_init_touchscreen(void)
209{
210 platform_device_register(&cmx270_ts_device);
211}
212#else
213static inline void cmx270_init_touchscreen(void) {}
214#endif
215
216/* V3020 RTC */ 136/* V3020 RTC */
217#if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) 137#if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE)
218static struct resource cmx270_v3020_resource[] = { 138static struct resource cmx270_v3020_resource[] = {
@@ -242,45 +162,7 @@ static void __init cmx270_init_rtc(void)
242 platform_device_register(&cmx270_rtc_device); 162 platform_device_register(&cmx270_rtc_device);
243} 163}
244#else 164#else
245static inline void cmx270_init_rtc(void) {} 165static inline void cmx2xx_init_rtc(void) {}
246#endif
247
248/* CM-X270 LEDs */
249#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
250static struct gpio_led cmx270_leds[] = {
251 [0] = {
252 .name = "cm-x270:red",
253 .default_trigger = "nand-disk",
254 .gpio = 93,
255 .active_low = 1,
256 },
257 [1] = {
258 .name = "cm-x270:green",
259 .default_trigger = "heartbeat",
260 .gpio = 94,
261 .active_low = 1,
262 },
263};
264
265static struct gpio_led_platform_data cmx270_gpio_led_pdata = {
266 .num_leds = ARRAY_SIZE(cmx270_leds),
267 .leds = cmx270_leds,
268};
269
270static struct platform_device cmx270_led_device = {
271 .name = "leds-gpio",
272 .id = -1,
273 .dev = {
274 .platform_data = &cmx270_gpio_led_pdata,
275 },
276};
277
278static void __init cmx270_init_leds(void)
279{
280 platform_device_register(&cmx270_led_device);
281}
282#else
283static inline void cmx270_init_leds(void) {}
284#endif 166#endif
285 167
286/* 2700G graphics */ 168/* 2700G graphics */
@@ -373,224 +255,6 @@ static void __init cmx270_init_2700G(void)
373static inline void cmx270_init_2700G(void) {} 255static inline void cmx270_init_2700G(void) {}
374#endif 256#endif
375 257
376#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
377/*
378 Display definitions
379 keep these for backwards compatibility, although symbolic names (as
380 e.g. in lpd270.c) looks better
381*/
382#define MTYPE_STN320x240 0
383#define MTYPE_TFT640x480 1
384#define MTYPE_CRT640x480 2
385#define MTYPE_CRT800x600 3
386#define MTYPE_TFT320x240 6
387#define MTYPE_STN640x480 7
388
389static struct pxafb_mode_info generic_stn_320x240_mode = {
390 .pixclock = 76923,
391 .bpp = 8,
392 .xres = 320,
393 .yres = 240,
394 .hsync_len = 3,
395 .vsync_len = 2,
396 .left_margin = 3,
397 .upper_margin = 0,
398 .right_margin = 3,
399 .lower_margin = 0,
400 .sync = (FB_SYNC_HOR_HIGH_ACT |
401 FB_SYNC_VERT_HIGH_ACT),
402 .cmap_greyscale = 0,
403};
404
405static struct pxafb_mach_info generic_stn_320x240 = {
406 .modes = &generic_stn_320x240_mode,
407 .num_modes = 1,
408 .lccr0 = 0,
409 .lccr3 = (LCCR3_PixClkDiv(0x03) |
410 LCCR3_Acb(0xff) |
411 LCCR3_PCP),
412 .cmap_inverse = 0,
413 .cmap_static = 0,
414};
415
416static struct pxafb_mode_info generic_tft_640x480_mode = {
417 .pixclock = 38461,
418 .bpp = 8,
419 .xres = 640,
420 .yres = 480,
421 .hsync_len = 60,
422 .vsync_len = 2,
423 .left_margin = 70,
424 .upper_margin = 10,
425 .right_margin = 70,
426 .lower_margin = 5,
427 .sync = 0,
428 .cmap_greyscale = 0,
429};
430
431static struct pxafb_mach_info generic_tft_640x480 = {
432 .modes = &generic_tft_640x480_mode,
433 .num_modes = 1,
434 .lccr0 = (LCCR0_PAS),
435 .lccr3 = (LCCR3_PixClkDiv(0x01) |
436 LCCR3_Acb(0xff) |
437 LCCR3_PCP),
438 .cmap_inverse = 0,
439 .cmap_static = 0,
440};
441
442static struct pxafb_mode_info generic_crt_640x480_mode = {
443 .pixclock = 38461,
444 .bpp = 8,
445 .xres = 640,
446 .yres = 480,
447 .hsync_len = 63,
448 .vsync_len = 2,
449 .left_margin = 81,
450 .upper_margin = 33,
451 .right_margin = 16,
452 .lower_margin = 10,
453 .sync = (FB_SYNC_HOR_HIGH_ACT |
454 FB_SYNC_VERT_HIGH_ACT),
455 .cmap_greyscale = 0,
456};
457
458static struct pxafb_mach_info generic_crt_640x480 = {
459 .modes = &generic_crt_640x480_mode,
460 .num_modes = 1,
461 .lccr0 = (LCCR0_PAS),
462 .lccr3 = (LCCR3_PixClkDiv(0x01) |
463 LCCR3_Acb(0xff)),
464 .cmap_inverse = 0,
465 .cmap_static = 0,
466};
467
468static struct pxafb_mode_info generic_crt_800x600_mode = {
469 .pixclock = 28846,
470 .bpp = 8,
471 .xres = 800,
472 .yres = 600,
473 .hsync_len = 63,
474 .vsync_len = 2,
475 .left_margin = 26,
476 .upper_margin = 21,
477 .right_margin = 26,
478 .lower_margin = 11,
479 .sync = (FB_SYNC_HOR_HIGH_ACT |
480 FB_SYNC_VERT_HIGH_ACT),
481 .cmap_greyscale = 0,
482};
483
484static struct pxafb_mach_info generic_crt_800x600 = {
485 .modes = &generic_crt_800x600_mode,
486 .num_modes = 1,
487 .lccr0 = (LCCR0_PAS),
488 .lccr3 = (LCCR3_PixClkDiv(0x02) |
489 LCCR3_Acb(0xff)),
490 .cmap_inverse = 0,
491 .cmap_static = 0,
492};
493
494static struct pxafb_mode_info generic_tft_320x240_mode = {
495 .pixclock = 134615,
496 .bpp = 16,
497 .xres = 320,
498 .yres = 240,
499 .hsync_len = 63,
500 .vsync_len = 7,
501 .left_margin = 75,
502 .upper_margin = 0,
503 .right_margin = 15,
504 .lower_margin = 15,
505 .sync = 0,
506 .cmap_greyscale = 0,
507};
508
509static struct pxafb_mach_info generic_tft_320x240 = {
510 .modes = &generic_tft_320x240_mode,
511 .num_modes = 1,
512 .lccr0 = (LCCR0_PAS),
513 .lccr3 = (LCCR3_PixClkDiv(0x06) |
514 LCCR3_Acb(0xff) |
515 LCCR3_PCP),
516 .cmap_inverse = 0,
517 .cmap_static = 0,
518};
519
520static struct pxafb_mode_info generic_stn_640x480_mode = {
521 .pixclock = 57692,
522 .bpp = 8,
523 .xres = 640,
524 .yres = 480,
525 .hsync_len = 4,
526 .vsync_len = 2,
527 .left_margin = 10,
528 .upper_margin = 5,
529 .right_margin = 10,
530 .lower_margin = 5,
531 .sync = (FB_SYNC_HOR_HIGH_ACT |
532 FB_SYNC_VERT_HIGH_ACT),
533 .cmap_greyscale = 0,
534};
535
536static struct pxafb_mach_info generic_stn_640x480 = {
537 .modes = &generic_stn_640x480_mode,
538 .num_modes = 1,
539 .lccr0 = 0,
540 .lccr3 = (LCCR3_PixClkDiv(0x02) |
541 LCCR3_Acb(0xff)),
542 .cmap_inverse = 0,
543 .cmap_static = 0,
544};
545
546static struct pxafb_mach_info *cmx270_display = &generic_crt_640x480;
547
548static int __init cmx270_set_display(char *str)
549{
550 int disp_type = simple_strtol(str, NULL, 0);
551 switch (disp_type) {
552 case MTYPE_STN320x240:
553 cmx270_display = &generic_stn_320x240;
554 break;
555 case MTYPE_TFT640x480:
556 cmx270_display = &generic_tft_640x480;
557 break;
558 case MTYPE_CRT640x480:
559 cmx270_display = &generic_crt_640x480;
560 break;
561 case MTYPE_CRT800x600:
562 cmx270_display = &generic_crt_800x600;
563 break;
564 case MTYPE_TFT320x240:
565 cmx270_display = &generic_tft_320x240;
566 break;
567 case MTYPE_STN640x480:
568 cmx270_display = &generic_stn_640x480;
569 break;
570 default: /* fallback to CRT 640x480 */
571 cmx270_display = &generic_crt_640x480;
572 break;
573 }
574 return 1;
575}
576
577/*
578 This should be done really early to get proper configuration for
579 frame buffer.
580 Indeed, pxafb parameters can be used istead, but CM-X270 bootloader
581 has limitied line length for kernel command line, and also it will
582 break compatibitlty with proprietary releases already in field.
583*/
584__setup("monitor=", cmx270_set_display);
585
586static void __init cmx270_init_display(void)
587{
588 set_pxa_fb_info(cmx270_display);
589}
590#else
591static inline void cmx270_init_display(void) {}
592#endif
593
594/* PXA27x OHCI controller setup */ 258/* PXA27x OHCI controller setup */
595#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) 259#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
596static int cmx270_ohci_init(struct device *dev) 260static int cmx270_ohci_init(struct device *dev)
@@ -676,131 +340,12 @@ static void __init cmx270_init_mmc(void)
676static inline void cmx270_init_mmc(void) {} 340static inline void cmx270_init_mmc(void) {}
677#endif 341#endif
678 342
679#ifdef CONFIG_PM 343void __init cmx270_init(void)
680static unsigned long sleep_save_msc[10];
681
682static int cmx270_suspend(struct sys_device *dev, pm_message_t state)
683{
684 cmx270_pci_suspend();
685
686 /* save MSC registers */
687 sleep_save_msc[0] = MSC0;
688 sleep_save_msc[1] = MSC1;
689 sleep_save_msc[2] = MSC2;
690
691 /* setup power saving mode registers */
692 PCFR = 0x0;
693 PSLR = 0xff400000;
694 PMCR = 0x00000005;
695 PWER = 0x80000000;
696 PFER = 0x00000000;
697 PRER = 0x00000000;
698 PGSR0 = 0xC0018800;
699 PGSR1 = 0x004F0002;
700 PGSR2 = 0x6021C000;
701 PGSR3 = 0x00020000;
702
703 return 0;
704}
705
706static int cmx270_resume(struct sys_device *dev)
707{
708 cmx270_pci_resume();
709
710 /* restore MSC registers */
711 MSC0 = sleep_save_msc[0];
712 MSC1 = sleep_save_msc[1];
713 MSC2 = sleep_save_msc[2];
714
715 return 0;
716}
717
718static struct sysdev_class cmx270_pm_sysclass = {
719 .name = "pm",
720 .resume = cmx270_resume,
721 .suspend = cmx270_suspend,
722};
723
724static struct sys_device cmx270_pm_device = {
725 .cls = &cmx270_pm_sysclass,
726};
727
728static int __init cmx270_pm_init(void)
729{
730 int error;
731 error = sysdev_class_register(&cmx270_pm_sysclass);
732 if (error == 0)
733 error = sysdev_register(&cmx270_pm_device);
734 return error;
735}
736#else
737static int __init cmx270_pm_init(void) { return 0; }
738#endif
739
740#if defined(CONFIG_SND_PXA2XX_AC97) || defined(CONFIG_SND_PXA2XX_AC97_MODULE)
741static void __init cmx270_init_ac97(void)
742{
743 pxa_set_ac97_info(NULL);
744}
745#else
746static inline void cmx270_init_ac97(void) {}
747#endif
748
749static void __init cmx270_init(void)
750{ 344{
751 cmx270_pm_init();
752
753 pxa2xx_mfp_config(ARRAY_AND_SIZE(cmx270_pin_config)); 345 pxa2xx_mfp_config(ARRAY_AND_SIZE(cmx270_pin_config));
754 346
755 cmx270_init_dm9000();
756 cmx270_init_rtc(); 347 cmx270_init_rtc();
757 cmx270_init_display();
758 cmx270_init_mmc(); 348 cmx270_init_mmc();
759 cmx270_init_ohci(); 349 cmx270_init_ohci();
760 cmx270_init_ac97();
761 cmx270_init_touchscreen();
762 cmx270_init_leds();
763 cmx270_init_2700G(); 350 cmx270_init_2700G();
764} 351}
765
766static void __init cmx270_init_irq(void)
767{
768 pxa27x_init_irq();
769
770 cmx270_pci_init_irq(GPIO22_IT8152_IRQ);
771}
772
773#ifdef CONFIG_PCI
774/* Map PCI companion statically */
775static struct map_desc cmx270_io_desc[] __initdata = {
776 [0] = { /* PCI bridge */
777 .virtual = CMX270_IT8152_VIRT,
778 .pfn = __phys_to_pfn(PXA_CS4_PHYS),
779 .length = SZ_64M,
780 .type = MT_DEVICE
781 },
782};
783
784static void __init cmx270_map_io(void)
785{
786 pxa_map_io();
787 iotable_init(cmx270_io_desc, ARRAY_SIZE(cmx270_io_desc));
788
789 it8152_base_address = CMX270_IT8152_VIRT;
790}
791#else
792static void __init cmx270_map_io(void)
793{
794 pxa_map_io();
795}
796#endif
797
798MACHINE_START(ARMCORE, "Compulab CM-x270")
799 .boot_params = 0xa0000100,
800 .phys_io = 0x40000000,
801 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
802 .map_io = cmx270_map_io,
803 .init_irq = cmx270_init_irq,
804 .timer = &pxa_timer,
805 .init_machine = cmx270_init,
806MACHINE_END
diff --git a/arch/arm/mach-pxa/cm-x270-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index 2d5bcea1e520..3156b25f6e9d 100644
--- a/arch/arm/mach-pxa/cm-x270-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-pxa/cm-x270-pci.c 2 * linux/arch/arm/mach-pxa/cm-x2xx-pci.c
3 * 3 *
4 * PCI bios-type initialisation for PCI machines 4 * PCI bios-type initialisation for PCI machines
5 * 5 *
@@ -28,7 +28,7 @@
28#include <asm/hardware/it8152.h> 28#include <asm/hardware/it8152.h>
29 29
30unsigned long it8152_base_address; 30unsigned long it8152_base_address;
31static int cmx270_it8152_irq_gpio; 31static int cmx2xx_it8152_irq_gpio;
32 32
33/* 33/*
34 * Only first 64MB of memory can be accessed via PCI. 34 * Only first 64MB of memory can be accessed via PCI.
@@ -36,13 +36,13 @@ static int cmx270_it8152_irq_gpio;
36 * This is really ugly and we need a better way of specifying 36 * This is really ugly and we need a better way of specifying
37 * DMA-capable regions of memory. 37 * DMA-capable regions of memory.
38 */ 38 */
39void __init cmx270_pci_adjust_zones(int node, unsigned long *zone_size, 39void __init cmx2xx_pci_adjust_zones(int node, unsigned long *zone_size,
40 unsigned long *zhole_size) 40 unsigned long *zhole_size)
41{ 41{
42 unsigned int sz = SZ_64M >> PAGE_SHIFT; 42 unsigned int sz = SZ_64M >> PAGE_SHIFT;
43 43
44 if (machine_is_armcore()) { 44 if (machine_is_armcore()) {
45 pr_info("Adjusting zones for CM-X270\n"); 45 pr_info("Adjusting zones for CM-X2XX\n");
46 46
47 /* 47 /*
48 * Only adjust if > 64M on current system 48 * Only adjust if > 64M on current system
@@ -57,29 +57,29 @@ void __init cmx270_pci_adjust_zones(int node, unsigned long *zone_size,
57 } 57 }
58} 58}
59 59
60static void cmx270_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) 60static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
61{ 61{
62 /* clear our parent irq */ 62 /* clear our parent irq */
63 GEDR(cmx270_it8152_irq_gpio) = GPIO_bit(cmx270_it8152_irq_gpio); 63 GEDR(cmx2xx_it8152_irq_gpio) = GPIO_bit(cmx2xx_it8152_irq_gpio);
64 64
65 it8152_irq_demux(irq, desc); 65 it8152_irq_demux(irq, desc);
66} 66}
67 67
68void __cmx270_pci_init_irq(int irq_gpio) 68void __cmx2xx_pci_init_irq(int irq_gpio)
69{ 69{
70 it8152_init_irq(); 70 it8152_init_irq();
71 71
72 cmx270_it8152_irq_gpio = irq_gpio; 72 cmx2xx_it8152_irq_gpio = irq_gpio;
73 73
74 set_irq_type(gpio_to_irq(irq_gpio), IRQ_TYPE_EDGE_RISING); 74 set_irq_type(gpio_to_irq(irq_gpio), IRQ_TYPE_EDGE_RISING);
75 75
76 set_irq_chained_handler(gpio_to_irq(irq_gpio), cmx270_it8152_irq_demux); 76 set_irq_chained_handler(gpio_to_irq(irq_gpio), cmx2xx_it8152_irq_demux);
77} 77}
78 78
79#ifdef CONFIG_PM 79#ifdef CONFIG_PM
80static unsigned long sleep_save_ite[10]; 80static unsigned long sleep_save_ite[10];
81 81
82void __cmx270_pci_suspend(void) 82void __cmx2xx_pci_suspend(void)
83{ 83{
84 /* save ITE state */ 84 /* save ITE state */
85 sleep_save_ite[0] = __raw_readl(IT8152_INTC_PDCNIMR); 85 sleep_save_ite[0] = __raw_readl(IT8152_INTC_PDCNIMR);
@@ -91,7 +91,7 @@ void __cmx270_pci_suspend(void)
91 __raw_writel((0), IT8152_INTC_LPCNIRR); 91 __raw_writel((0), IT8152_INTC_LPCNIRR);
92} 92}
93 93
94void __cmx270_pci_resume(void) 94void __cmx2xx_pci_resume(void)
95{ 95{
96 /* restore IT8152 state */ 96 /* restore IT8152 state */
97 __raw_writel((sleep_save_ite[0]), IT8152_INTC_PDCNIMR); 97 __raw_writel((sleep_save_ite[0]), IT8152_INTC_PDCNIMR);
@@ -99,12 +99,12 @@ void __cmx270_pci_resume(void)
99 __raw_writel((sleep_save_ite[2]), IT8152_INTC_LPNIAR); 99 __raw_writel((sleep_save_ite[2]), IT8152_INTC_LPNIAR);
100} 100}
101#else 101#else
102void cmx270_pci_suspend(void) {} 102void cmx2xx_pci_suspend(void) {}
103void cmx270_pci_resume(void) {} 103void cmx2xx_pci_resume(void) {}
104#endif 104#endif
105 105
106/* PCI IRQ mapping*/ 106/* PCI IRQ mapping*/
107static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 107static int __init cmx2xx_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
108{ 108{
109 int irq; 109 int irq;
110 110
@@ -116,14 +116,14 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
116 116
117 /* 117 /*
118 Here comes the ugly part. The routing is baseboard specific, 118 Here comes the ugly part. The routing is baseboard specific,
119 but defining a platform for each possible base of CM-X270 is 119 but defining a platform for each possible base of CM-X2XX is
120 unrealistic. Here we keep mapping for ATXBase and SB-X270. 120 unrealistic. Here we keep mapping for ATXBase and SB-X2XX.
121 */ 121 */
122 /* ATXBASE PCI slot */ 122 /* ATXBASE PCI slot */
123 if (slot == 7) 123 if (slot == 7)
124 return IT8152_PCI_INTA; 124 return IT8152_PCI_INTA;
125 125
126 /* ATXBase/SB-x270 CardBus */ 126 /* ATXBase/SB-X2XX CardBus */
127 if (slot == 8 || slot == 0) 127 if (slot == 8 || slot == 0)
128 return IT8152_PCI_INTB; 128 return IT8152_PCI_INTB;
129 129
@@ -131,7 +131,11 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
131 if (slot == 9) 131 if (slot == 9)
132 return IT8152_PCI_INTA; 132 return IT8152_PCI_INTA;
133 133
134 /* SB-x270 Ethernet */ 134 /* CM-x255 Onboard Ethernet */
135 if (slot == 15)
136 return IT8152_PCI_INTC;
137
138 /* SB-x2xx Ethernet */
135 if (slot == 16) 139 if (slot == 16)
136 return IT8152_PCI_INTA; 140 return IT8152_PCI_INTA;
137 141
@@ -144,9 +148,9 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
144 return(0); 148 return(0);
145} 149}
146 150
147static void cmx270_pci_preinit(void) 151static void cmx2xx_pci_preinit(void)
148{ 152{
149 pr_info("Initializing CM-X270 PCI subsystem\n"); 153 pr_info("Initializing CM-X2XX PCI subsystem\n");
150 154
151 __raw_writel(0x800, IT8152_PCI_CFG_ADDR); 155 __raw_writel(0x800, IT8152_PCI_CFG_ADDR);
152 if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) { 156 if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) {
@@ -200,21 +204,21 @@ static void cmx270_pci_preinit(void)
200 } 204 }
201} 205}
202 206
203static struct hw_pci cmx270_pci __initdata = { 207static struct hw_pci cmx2xx_pci __initdata = {
204 .swizzle = pci_std_swizzle, 208 .swizzle = pci_std_swizzle,
205 .map_irq = cmx270_pci_map_irq, 209 .map_irq = cmx2xx_pci_map_irq,
206 .nr_controllers = 1, 210 .nr_controllers = 1,
207 .setup = it8152_pci_setup, 211 .setup = it8152_pci_setup,
208 .scan = it8152_pci_scan_bus, 212 .scan = it8152_pci_scan_bus,
209 .preinit = cmx270_pci_preinit, 213 .preinit = cmx2xx_pci_preinit,
210}; 214};
211 215
212static int __init cmx270_init_pci(void) 216static int __init cmx2xx_init_pci(void)
213{ 217{
214 if (machine_is_armcore()) 218 if (machine_is_armcore())
215 pci_common_init(&cmx270_pci); 219 pci_common_init(&cmx2xx_pci);
216 220
217 return 0; 221 return 0;
218} 222}
219 223
220subsys_initcall(cmx270_init_pci); 224subsys_initcall(cmx2xx_init_pci);
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.h b/arch/arm/mach-pxa/cm-x2xx-pci.h
new file mode 100644
index 000000000000..e24aad2e3ad7
--- /dev/null
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.h
@@ -0,0 +1,13 @@
1extern void __cmx2xx_pci_init_irq(int irq_gpio);
2extern void __cmx2xx_pci_suspend(void);
3extern void __cmx2xx_pci_resume(void);
4
5#ifdef CONFIG_PCI
6#define cmx2xx_pci_init_irq(x) __cmx2xx_pci_init_irq(x)
7#define cmx2xx_pci_suspend(x) __cmx2xx_pci_suspend(x)
8#define cmx2xx_pci_resume(x) __cmx2xx_pci_resume(x)
9#else
10#define cmx2xx_pci_init_irq(x) do {} while (0)
11#define cmx2xx_pci_suspend(x) do {} while (0)
12#define cmx2xx_pci_resume(x) do {} while (0)
13#endif
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c
new file mode 100644
index 000000000000..0b3ce3b6d896
--- /dev/null
+++ b/arch/arm/mach-pxa/cm-x2xx.c
@@ -0,0 +1,531 @@
1/*
2 * linux/arch/arm/mach-pxa/cm-x2xx.c
3 *
4 * Copyright (C) 2008 CompuLab, Ltd.
5 * Mike Rapoport <mike@compulab.co.il>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <linux/platform_device.h>
13#include <linux/sysdev.h>
14#include <linux/irq.h>
15#include <linux/gpio.h>
16
17#include <linux/dm9000.h>
18#include <linux/leds.h>
19
20#include <asm/mach/arch.h>
21#include <asm/mach-types.h>
22#include <asm/mach/map.h>
23
24#include <mach/pxa2xx-regs.h>
25#include <mach/mfp-pxa27x.h>
26#include <mach/pxa-regs.h>
27#include <mach/audio.h>
28#include <mach/pxafb.h>
29
30#include <asm/hardware/it8152.h>
31
32#include "generic.h"
33#include "cm-x2xx-pci.h"
34
35extern void cmx255_init(void);
36extern void cmx270_init(void);
37
38/* virtual addresses for statically mapped regions */
39#define CMX2XX_VIRT_BASE (0xe8000000)
40#define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE)
41
42/* physical address if local-bus attached devices */
43#define CMX255_DM9000_PHYS_BASE (PXA_CS1_PHYS + (8 << 22))
44#define CMX270_DM9000_PHYS_BASE (PXA_CS1_PHYS + (6 << 22))
45
46/* leds */
47#define CMX255_GPIO_RED (27)
48#define CMX255_GPIO_GREEN (32)
49#define CMX270_GPIO_RED (93)
50#define CMX270_GPIO_GREEN (94)
51
52/* GPIO IRQ usage */
53#define GPIO22_ETHIRQ (22)
54#define GPIO10_ETHIRQ (10)
55#define CMX255_GPIO_IT8152_IRQ (0)
56#define CMX270_GPIO_IT8152_IRQ (22)
57
58#define CMX255_ETHIRQ IRQ_GPIO(GPIO22_ETHIRQ)
59#define CMX270_ETHIRQ IRQ_GPIO(GPIO10_ETHIRQ)
60
61#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
62static struct resource cmx255_dm9000_resource[] = {
63 [0] = {
64 .start = CMX255_DM9000_PHYS_BASE,
65 .end = CMX255_DM9000_PHYS_BASE + 3,
66 .flags = IORESOURCE_MEM,
67 },
68 [1] = {
69 .start = CMX255_DM9000_PHYS_BASE + 4,
70 .end = CMX255_DM9000_PHYS_BASE + 4 + 500,
71 .flags = IORESOURCE_MEM,
72 },
73 [2] = {
74 .start = CMX255_ETHIRQ,
75 .end = CMX255_ETHIRQ,
76 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
77 }
78};
79
80static struct resource cmx270_dm9000_resource[] = {
81 [0] = {
82 .start = CMX270_DM9000_PHYS_BASE,
83 .end = CMX270_DM9000_PHYS_BASE + 3,
84 .flags = IORESOURCE_MEM,
85 },
86 [1] = {
87 .start = CMX270_DM9000_PHYS_BASE + 8,
88 .end = CMX270_DM9000_PHYS_BASE + 8 + 500,
89 .flags = IORESOURCE_MEM,
90 },
91 [2] = {
92 .start = CMX270_ETHIRQ,
93 .end = CMX270_ETHIRQ,
94 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
95 }
96};
97
98static struct dm9000_plat_data cmx270_dm9000_platdata = {
99 .flags = DM9000_PLATF_32BITONLY,
100};
101
102static struct platform_device cmx2xx_dm9000_device = {
103 .name = "dm9000",
104 .id = 0,
105 .num_resources = ARRAY_SIZE(cmx270_dm9000_resource),
106 .dev = {
107 .platform_data = &cmx270_dm9000_platdata,
108 }
109};
110
111static void __init cmx2xx_init_dm9000(void)
112{
113 if (cpu_is_pxa25x())
114 cmx2xx_dm9000_device.resource = cmx255_dm9000_resource;
115 else
116 cmx2xx_dm9000_device.resource = cmx270_dm9000_resource;
117 platform_device_register(&cmx2xx_dm9000_device);
118}
119#else
120static inline void cmx2xx_init_dm9000(void) {}
121#endif
122
123/* UCB1400 touchscreen controller */
124#if defined(CONFIG_TOUCHSCREEN_UCB1400) || defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
125static struct platform_device cmx2xx_ts_device = {
126 .name = "ucb1400_ts",
127 .id = -1,
128};
129
130static void __init cmx2xx_init_touchscreen(void)
131{
132 platform_device_register(&cmx2xx_ts_device);
133}
134#else
135static inline void cmx2xx_init_touchscreen(void) {}
136#endif
137
138/* CM-X270 LEDs */
139#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
140static struct gpio_led cmx2xx_leds[] = {
141 [0] = {
142 .name = "cm-x2xx:red",
143 .default_trigger = "nand-disk",
144 .active_low = 1,
145 },
146 [1] = {
147 .name = "cm-x2xx:green",
148 .default_trigger = "heartbeat",
149 .active_low = 1,
150 },
151};
152
153static struct gpio_led_platform_data cmx2xx_gpio_led_pdata = {
154 .num_leds = ARRAY_SIZE(cmx2xx_leds),
155 .leds = cmx2xx_leds,
156};
157
158static struct platform_device cmx2xx_led_device = {
159 .name = "leds-gpio",
160 .id = -1,
161 .dev = {
162 .platform_data = &cmx2xx_gpio_led_pdata,
163 },
164};
165
166static void __init cmx2xx_init_leds(void)
167{
168 if (cpu_is_pxa25x()) {
169 cmx2xx_leds[0].gpio = CMX255_GPIO_RED;
170 cmx2xx_leds[1].gpio = CMX255_GPIO_GREEN;
171 } else {
172 cmx2xx_leds[0].gpio = CMX270_GPIO_RED;
173 cmx2xx_leds[1].gpio = CMX270_GPIO_GREEN;
174 }
175 platform_device_register(&cmx2xx_led_device);
176}
177#else
178static inline void cmx2xx_init_leds(void) {}
179#endif
180
181#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
182/*
183 Display definitions
184 keep these for backwards compatibility, although symbolic names (as
185 e.g. in lpd270.c) looks better
186*/
187#define MTYPE_STN320x240 0
188#define MTYPE_TFT640x480 1
189#define MTYPE_CRT640x480 2
190#define MTYPE_CRT800x600 3
191#define MTYPE_TFT320x240 6
192#define MTYPE_STN640x480 7
193
194static struct pxafb_mode_info generic_stn_320x240_mode = {
195 .pixclock = 76923,
196 .bpp = 8,
197 .xres = 320,
198 .yres = 240,
199 .hsync_len = 3,
200 .vsync_len = 2,
201 .left_margin = 3,
202 .upper_margin = 0,
203 .right_margin = 3,
204 .lower_margin = 0,
205 .sync = (FB_SYNC_HOR_HIGH_ACT |
206 FB_SYNC_VERT_HIGH_ACT),
207 .cmap_greyscale = 0,
208};
209
210static struct pxafb_mach_info generic_stn_320x240 = {
211 .modes = &generic_stn_320x240_mode,
212 .num_modes = 1,
213 .lccr0 = 0,
214 .lccr3 = (LCCR3_PixClkDiv(0x03) |
215 LCCR3_Acb(0xff) |
216 LCCR3_PCP),
217 .cmap_inverse = 0,
218 .cmap_static = 0,
219};
220
221static struct pxafb_mode_info generic_tft_640x480_mode = {
222 .pixclock = 38461,
223 .bpp = 8,
224 .xres = 640,
225 .yres = 480,
226 .hsync_len = 60,
227 .vsync_len = 2,
228 .left_margin = 70,
229 .upper_margin = 10,
230 .right_margin = 70,
231 .lower_margin = 5,
232 .sync = 0,
233 .cmap_greyscale = 0,
234};
235
236static struct pxafb_mach_info generic_tft_640x480 = {
237 .modes = &generic_tft_640x480_mode,
238 .num_modes = 1,
239 .lccr0 = (LCCR0_PAS),
240 .lccr3 = (LCCR3_PixClkDiv(0x01) |
241 LCCR3_Acb(0xff) |
242 LCCR3_PCP),
243 .cmap_inverse = 0,
244 .cmap_static = 0,
245};
246
247static struct pxafb_mode_info generic_crt_640x480_mode = {
248 .pixclock = 38461,
249 .bpp = 8,
250 .xres = 640,
251 .yres = 480,
252 .hsync_len = 63,
253 .vsync_len = 2,
254 .left_margin = 81,
255 .upper_margin = 33,
256 .right_margin = 16,
257 .lower_margin = 10,
258 .sync = (FB_SYNC_HOR_HIGH_ACT |
259 FB_SYNC_VERT_HIGH_ACT),
260 .cmap_greyscale = 0,
261};
262
263static struct pxafb_mach_info generic_crt_640x480 = {
264 .modes = &generic_crt_640x480_mode,
265 .num_modes = 1,
266 .lccr0 = (LCCR0_PAS),
267 .lccr3 = (LCCR3_PixClkDiv(0x01) |
268 LCCR3_Acb(0xff)),
269 .cmap_inverse = 0,
270 .cmap_static = 0,
271};
272
273static struct pxafb_mode_info generic_crt_800x600_mode = {
274 .pixclock = 28846,
275 .bpp = 8,
276 .xres = 800,
277 .yres = 600,
278 .hsync_len = 63,
279 .vsync_len = 2,
280 .left_margin = 26,
281 .upper_margin = 21,
282 .right_margin = 26,
283 .lower_margin = 11,
284 .sync = (FB_SYNC_HOR_HIGH_ACT |
285 FB_SYNC_VERT_HIGH_ACT),
286 .cmap_greyscale = 0,
287};
288
289static struct pxafb_mach_info generic_crt_800x600 = {
290 .modes = &generic_crt_800x600_mode,
291 .num_modes = 1,
292 .lccr0 = (LCCR0_PAS),
293 .lccr3 = (LCCR3_PixClkDiv(0x02) |
294 LCCR3_Acb(0xff)),
295 .cmap_inverse = 0,
296 .cmap_static = 0,
297};
298
299static struct pxafb_mode_info generic_tft_320x240_mode = {
300 .pixclock = 134615,
301 .bpp = 16,
302 .xres = 320,
303 .yres = 240,
304 .hsync_len = 63,
305 .vsync_len = 7,
306 .left_margin = 75,
307 .upper_margin = 0,
308 .right_margin = 15,
309 .lower_margin = 15,
310 .sync = 0,
311 .cmap_greyscale = 0,
312};
313
314static struct pxafb_mach_info generic_tft_320x240 = {
315 .modes = &generic_tft_320x240_mode,
316 .num_modes = 1,
317 .lccr0 = (LCCR0_PAS),
318 .lccr3 = (LCCR3_PixClkDiv(0x06) |
319 LCCR3_Acb(0xff) |
320 LCCR3_PCP),
321 .cmap_inverse = 0,
322 .cmap_static = 0,
323};
324
325static struct pxafb_mode_info generic_stn_640x480_mode = {
326 .pixclock = 57692,
327 .bpp = 8,
328 .xres = 640,
329 .yres = 480,
330 .hsync_len = 4,
331 .vsync_len = 2,
332 .left_margin = 10,
333 .upper_margin = 5,
334 .right_margin = 10,
335 .lower_margin = 5,
336 .sync = (FB_SYNC_HOR_HIGH_ACT |
337 FB_SYNC_VERT_HIGH_ACT),
338 .cmap_greyscale = 0,
339};
340
341static struct pxafb_mach_info generic_stn_640x480 = {
342 .modes = &generic_stn_640x480_mode,
343 .num_modes = 1,
344 .lccr0 = 0,
345 .lccr3 = (LCCR3_PixClkDiv(0x02) |
346 LCCR3_Acb(0xff)),
347 .cmap_inverse = 0,
348 .cmap_static = 0,
349};
350
351static struct pxafb_mach_info *cmx2xx_display = &generic_crt_640x480;
352
353static int __init cmx2xx_set_display(char *str)
354{
355 int disp_type = simple_strtol(str, NULL, 0);
356 switch (disp_type) {
357 case MTYPE_STN320x240:
358 cmx2xx_display = &generic_stn_320x240;
359 break;
360 case MTYPE_TFT640x480:
361 cmx2xx_display = &generic_tft_640x480;
362 break;
363 case MTYPE_CRT640x480:
364 cmx2xx_display = &generic_crt_640x480;
365 break;
366 case MTYPE_CRT800x600:
367 cmx2xx_display = &generic_crt_800x600;
368 break;
369 case MTYPE_TFT320x240:
370 cmx2xx_display = &generic_tft_320x240;
371 break;
372 case MTYPE_STN640x480:
373 cmx2xx_display = &generic_stn_640x480;
374 break;
375 default: /* fallback to CRT 640x480 */
376 cmx2xx_display = &generic_crt_640x480;
377 break;
378 }
379 return 1;
380}
381
382/*
383 This should be done really early to get proper configuration for
384 frame buffer.
385 Indeed, pxafb parameters can be used istead, but CM-X2XX bootloader
386 has limitied line length for kernel command line, and also it will
387 break compatibitlty with proprietary releases already in field.
388*/
389__setup("monitor=", cmx2xx_set_display);
390
391static void __init cmx2xx_init_display(void)
392{
393 set_pxa_fb_info(cmx2xx_display);
394}
395#else
396static inline void cmx2xx_init_display(void) {}
397#endif
398
399#ifdef CONFIG_PM
400static unsigned long sleep_save_msc[10];
401
402static int cmx2xx_suspend(struct sys_device *dev, pm_message_t state)
403{
404 cmx2xx_pci_suspend();
405
406 /* save MSC registers */
407 sleep_save_msc[0] = MSC0;
408 sleep_save_msc[1] = MSC1;
409 sleep_save_msc[2] = MSC2;
410
411 /* setup power saving mode registers */
412 PCFR = 0x0;
413 PSLR = 0xff400000;
414 PMCR = 0x00000005;
415 PWER = 0x80000000;
416 PFER = 0x00000000;
417 PRER = 0x00000000;
418 PGSR0 = 0xC0018800;
419 PGSR1 = 0x004F0002;
420 PGSR2 = 0x6021C000;
421 PGSR3 = 0x00020000;
422
423 return 0;
424}
425
426static int cmx2xx_resume(struct sys_device *dev)
427{
428 cmx2xx_pci_resume();
429
430 /* restore MSC registers */
431 MSC0 = sleep_save_msc[0];
432 MSC1 = sleep_save_msc[1];
433 MSC2 = sleep_save_msc[2];
434
435 return 0;
436}
437
438static struct sysdev_class cmx2xx_pm_sysclass = {
439 .name = "pm",
440 .resume = cmx2xx_resume,
441 .suspend = cmx2xx_suspend,
442};
443
444static struct sys_device cmx2xx_pm_device = {
445 .cls = &cmx2xx_pm_sysclass,
446};
447
448static int __init cmx2xx_pm_init(void)
449{
450 int error;
451 error = sysdev_class_register(&cmx2xx_pm_sysclass);
452 if (error == 0)
453 error = sysdev_register(&cmx2xx_pm_device);
454 return error;
455}
456#else
457static int __init cmx2xx_pm_init(void) { return 0; }
458#endif
459
460#if defined(CONFIG_SND_PXA2XX_AC97) || defined(CONFIG_SND_PXA2XX_AC97_MODULE)
461static void __init cmx2xx_init_ac97(void)
462{
463 pxa_set_ac97_info(NULL);
464}
465#else
466static inline void cmx2xx_init_ac97(void) {}
467#endif
468
469static void __init cmx2xx_init(void)
470{
471 cmx2xx_pm_init();
472
473 if (cpu_is_pxa25x())
474 cmx255_init();
475 else
476 cmx270_init();
477
478 cmx2xx_init_dm9000();
479 cmx2xx_init_display();
480 cmx2xx_init_ac97();
481 cmx2xx_init_touchscreen();
482 cmx2xx_init_leds();
483}
484
485static void __init cmx2xx_init_irq(void)
486{
487 pxa27x_init_irq();
488
489 if (cpu_is_pxa25x()) {
490 pxa25x_init_irq();
491 cmx2xx_pci_init_irq(CMX255_GPIO_IT8152_IRQ);
492 } else {
493 pxa27x_init_irq();
494 cmx2xx_pci_init_irq(CMX270_GPIO_IT8152_IRQ);
495 }
496}
497
498#ifdef CONFIG_PCI
499/* Map PCI companion statically */
500static struct map_desc cmx2xx_io_desc[] __initdata = {
501 [0] = { /* PCI bridge */
502 .virtual = CMX2XX_IT8152_VIRT,
503 .pfn = __phys_to_pfn(PXA_CS4_PHYS),
504 .length = SZ_64M,
505 .type = MT_DEVICE
506 },
507};
508
509static void __init cmx2xx_map_io(void)
510{
511 pxa_map_io();
512 iotable_init(cmx2xx_io_desc, ARRAY_SIZE(cmx2xx_io_desc));
513
514 it8152_base_address = CMX2XX_IT8152_VIRT;
515}
516#else
517static void __init cmx2xx_map_io(void)
518{
519 pxa_map_io();
520}
521#endif
522
523MACHINE_START(ARMCORE, "Compulab CM-X2XX")
524 .boot_params = 0xa0000100,
525 .phys_io = 0x40000000,
526 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
527 .map_io = cmx2xx_map_io,
528 .init_irq = cmx2xx_init_irq,
529 .timer = &pxa_timer,
530 .init_machine = cmx2xx_init,
531MACHINE_END
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c
new file mode 100644
index 000000000000..7bc5679b41ba
--- /dev/null
+++ b/arch/arm/mach-pxa/cm-x300.c
@@ -0,0 +1,473 @@
1/*
2 * linux/arch/arm/mach-pxa/cm-x300.c
3 *
4 * Support for the CompuLab CM-X300 modules
5 *
6 * Copyright (C) 2008 CompuLab Ltd.
7 *
8 * Mike Rapoport <mike@compulab.co.il>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#include <linux/module.h>
16#include <linux/kernel.h>
17#include <linux/interrupt.h>
18#include <linux/init.h>
19#include <linux/platform_device.h>
20
21#include <linux/gpio.h>
22#include <linux/dm9000.h>
23#include <linux/leds.h>
24
25#include <linux/i2c.h>
26#include <linux/i2c/pca953x.h>
27
28#include <asm/mach-types.h>
29#include <asm/mach/arch.h>
30
31#include <mach/mfp-pxa300.h>
32
33#include <mach/hardware.h>
34#include <mach/gpio.h>
35#include <mach/pxafb.h>
36#include <mach/mmc.h>
37#include <mach/ohci.h>
38#include <mach/i2c.h>
39#include <mach/pxa3xx_nand.h>
40
41#include <asm/mach/map.h>
42
43#include "generic.h"
44
45#define CM_X300_ETH_PHYS 0x08000010
46
47#define GPIO82_MMC2_IRQ (82)
48#define GPIO85_MMC2_WP (85)
49
50#define CM_X300_MMC2_IRQ IRQ_GPIO(GPIO82_MMC2_IRQ)
51
52static mfp_cfg_t cm_x300_mfp_cfg[] __initdata = {
53 /* LCD */
54 GPIO54_LCD_LDD_0,
55 GPIO55_LCD_LDD_1,
56 GPIO56_LCD_LDD_2,
57 GPIO57_LCD_LDD_3,
58 GPIO58_LCD_LDD_4,
59 GPIO59_LCD_LDD_5,
60 GPIO60_LCD_LDD_6,
61 GPIO61_LCD_LDD_7,
62 GPIO62_LCD_LDD_8,
63 GPIO63_LCD_LDD_9,
64 GPIO64_LCD_LDD_10,
65 GPIO65_LCD_LDD_11,
66 GPIO66_LCD_LDD_12,
67 GPIO67_LCD_LDD_13,
68 GPIO68_LCD_LDD_14,
69 GPIO69_LCD_LDD_15,
70 GPIO72_LCD_FCLK,
71 GPIO73_LCD_LCLK,
72 GPIO74_LCD_PCLK,
73 GPIO75_LCD_BIAS,
74
75 /* BTUART */
76 GPIO111_UART2_RTS,
77 GPIO112_UART2_RXD | MFP_LPM_EDGE_FALL,
78 GPIO113_UART2_TXD,
79 GPIO114_UART2_CTS | MFP_LPM_EDGE_BOTH,
80
81 /* STUART */
82 GPIO109_UART3_TXD,
83 GPIO110_UART3_RXD | MFP_LPM_EDGE_FALL,
84
85 /* AC97 */
86 GPIO23_AC97_nACRESET,
87 GPIO24_AC97_SYSCLK,
88 GPIO29_AC97_BITCLK,
89 GPIO25_AC97_SDATA_IN_0,
90 GPIO27_AC97_SDATA_OUT,
91 GPIO28_AC97_SYNC,
92
93 /* Keypad */
94 GPIO115_KP_MKIN_0 | MFP_LPM_EDGE_BOTH,
95 GPIO116_KP_MKIN_1 | MFP_LPM_EDGE_BOTH,
96 GPIO117_KP_MKIN_2 | MFP_LPM_EDGE_BOTH,
97 GPIO118_KP_MKIN_3 | MFP_LPM_EDGE_BOTH,
98 GPIO119_KP_MKIN_4 | MFP_LPM_EDGE_BOTH,
99 GPIO120_KP_MKIN_5 | MFP_LPM_EDGE_BOTH,
100 GPIO2_2_KP_MKIN_6 | MFP_LPM_EDGE_BOTH,
101 GPIO3_2_KP_MKIN_7 | MFP_LPM_EDGE_BOTH,
102 GPIO121_KP_MKOUT_0,
103 GPIO122_KP_MKOUT_1,
104 GPIO123_KP_MKOUT_2,
105 GPIO124_KP_MKOUT_3,
106 GPIO125_KP_MKOUT_4,
107 GPIO4_2_KP_MKOUT_5,
108
109 /* MMC1 */
110 GPIO3_MMC1_DAT0,
111 GPIO4_MMC1_DAT1 | MFP_LPM_EDGE_BOTH,
112 GPIO5_MMC1_DAT2,
113 GPIO6_MMC1_DAT3,
114 GPIO7_MMC1_CLK,
115 GPIO8_MMC1_CMD, /* CMD0 for slot 0 */
116
117 /* MMC2 */
118 GPIO9_MMC2_DAT0,
119 GPIO10_MMC2_DAT1 | MFP_LPM_EDGE_BOTH,
120 GPIO11_MMC2_DAT2,
121 GPIO12_MMC2_DAT3,
122 GPIO13_MMC2_CLK,
123 GPIO14_MMC2_CMD,
124
125 /* FFUART */
126 GPIO30_UART1_RXD | MFP_LPM_EDGE_FALL,
127 GPIO31_UART1_TXD,
128 GPIO32_UART1_CTS,
129 GPIO37_UART1_RTS,
130 GPIO33_UART1_DCD,
131 GPIO34_UART1_DSR | MFP_LPM_EDGE_FALL,
132 GPIO35_UART1_RI,
133 GPIO36_UART1_DTR,
134
135 /* GPIOs */
136 GPIO79_GPIO, /* LED */
137 GPIO82_GPIO | MFP_PULL_HIGH, /* MMC CD */
138 GPIO85_GPIO, /* MMC WP */
139 GPIO99_GPIO, /* Ethernet IRQ */
140};
141
142#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
143static struct resource dm9000_resources[] = {
144 [0] = {
145 .start = CM_X300_ETH_PHYS,
146 .end = CM_X300_ETH_PHYS + 0x3,
147 .flags = IORESOURCE_MEM,
148 },
149 [1] = {
150 .start = CM_X300_ETH_PHYS + 0x4,
151 .end = CM_X300_ETH_PHYS + 0x4 + 500,
152 .flags = IORESOURCE_MEM,
153 },
154 [2] = {
155 .start = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO99)),
156 .end = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO99)),
157 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
158 }
159};
160
161static struct dm9000_plat_data cm_x300_dm9000_platdata = {
162 .flags = DM9000_PLATF_16BITONLY,
163};
164
165static struct platform_device dm9000_device = {
166 .name = "dm9000",
167 .id = 0,
168 .num_resources = ARRAY_SIZE(dm9000_resources),
169 .resource = dm9000_resources,
170 .dev = {
171 .platform_data = &cm_x300_dm9000_platdata,
172 }
173
174};
175
176static void __init cm_x300_init_dm9000(void)
177{
178 platform_device_register(&dm9000_device);
179}
180#else
181static inline void cm_x300_init_dm9000(void) {}
182#endif
183
184#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
185static struct pxafb_mode_info cm_x300_lcd_modes[] = {
186 [0] = {
187 .pixclock = 38000,
188 .bpp = 16,
189 .xres = 480,
190 .yres = 640,
191 .hsync_len = 8,
192 .vsync_len = 2,
193 .left_margin = 8,
194 .upper_margin = 0,
195 .right_margin = 24,
196 .lower_margin = 4,
197 .cmap_greyscale = 0,
198 },
199 [1] = {
200 .pixclock = 153800,
201 .bpp = 16,
202 .xres = 240,
203 .yres = 320,
204 .hsync_len = 8,
205 .vsync_len = 2,
206 .left_margin = 8,
207 .upper_margin = 2,
208 .right_margin = 88,
209 .lower_margin = 2,
210 .cmap_greyscale = 0,
211 },
212};
213
214static struct pxafb_mach_info cm_x300_lcd = {
215 .modes = cm_x300_lcd_modes,
216 .num_modes = 2,
217 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
218};
219
220static void __init cm_x300_init_lcd(void)
221{
222 set_pxa_fb_info(&cm_x300_lcd);
223}
224#else
225static inline void cm_x300_init_lcd(void) {}
226#endif
227
228#if defined(CONFIG_MTD_NAND_PXA3xx) || defined(CONFIG_MTD_NAND_PXA3xx_MODULE)
229static struct mtd_partition cm_x300_nand_partitions[] = {
230 [0] = {
231 .name = "OBM",
232 .offset = 0,
233 .size = SZ_256K,
234 .mask_flags = MTD_WRITEABLE, /* force read-only */
235 },
236 [1] = {
237 .name = "U-Boot",
238 .offset = MTDPART_OFS_APPEND,
239 .size = SZ_256K,
240 .mask_flags = MTD_WRITEABLE, /* force read-only */
241 },
242 [2] = {
243 .name = "Environment",
244 .offset = MTDPART_OFS_APPEND,
245 .size = SZ_256K,
246 },
247 [3] = {
248 .name = "reserved",
249 .offset = MTDPART_OFS_APPEND,
250 .size = SZ_256K + SZ_1M,
251 .mask_flags = MTD_WRITEABLE, /* force read-only */
252 },
253 [4] = {
254 .name = "kernel",
255 .offset = MTDPART_OFS_APPEND,
256 .size = SZ_4M,
257 },
258 [5] = {
259 .name = "fs",
260 .offset = MTDPART_OFS_APPEND,
261 .size = MTDPART_SIZ_FULL,
262 },
263};
264
265static struct pxa3xx_nand_platform_data cm_x300_nand_info = {
266 .enable_arbiter = 1,
267 .parts = cm_x300_nand_partitions,
268 .nr_parts = ARRAY_SIZE(cm_x300_nand_partitions),
269};
270
271static void __init cm_x300_init_nand(void)
272{
273 pxa3xx_set_nand_info(&cm_x300_nand_info);
274}
275#else
276static inline void cm_x300_init_nand(void) {}
277#endif
278
279#if defined(CONFIG_MMC) || defined(CONFIG_MMC_MODULE)
280/* The first MMC slot of CM-X300 is hardwired to Libertas card and has
281 no detection/ro pins */
282static int cm_x300_mci_init(struct device *dev,
283 irq_handler_t cm_x300_detect_int,
284 void *data)
285{
286 return 0;
287}
288
289static void cm_x300_mci_exit(struct device *dev, void *data)
290{
291}
292
293static struct pxamci_platform_data cm_x300_mci_platform_data = {
294 .detect_delay = 20,
295 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
296 .init = cm_x300_mci_init,
297 .exit = cm_x300_mci_exit,
298};
299
300static int cm_x300_mci2_ro(struct device *dev)
301{
302 return gpio_get_value(GPIO85_MMC2_WP);
303}
304
305static int cm_x300_mci2_init(struct device *dev,
306 irq_handler_t cm_x300_detect_int,
307 void *data)
308{
309 int err;
310
311 /*
312 * setup GPIO for CM-X300 MMC controller
313 */
314 err = gpio_request(GPIO82_MMC2_IRQ, "mmc card detect");
315 if (err)
316 goto err_request_cd;
317 gpio_direction_input(GPIO82_MMC2_IRQ);
318
319 err = gpio_request(GPIO85_MMC2_WP, "mmc write protect");
320 if (err)
321 goto err_request_wp;
322 gpio_direction_input(GPIO85_MMC2_WP);
323
324 err = request_irq(CM_X300_MMC2_IRQ, cm_x300_detect_int,
325 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
326 "MMC card detect", data);
327 if (err) {
328 printk(KERN_ERR "%s: MMC/SD/SDIO: "
329 "can't request card detect IRQ\n", __func__);
330 goto err_request_irq;
331 }
332
333 return 0;
334
335err_request_irq:
336 gpio_free(GPIO85_MMC2_WP);
337err_request_wp:
338 gpio_free(GPIO82_MMC2_IRQ);
339err_request_cd:
340 return err;
341}
342
343static void cm_x300_mci2_exit(struct device *dev, void *data)
344{
345 free_irq(CM_X300_MMC2_IRQ, data);
346 gpio_free(GPIO82_MMC2_IRQ);
347 gpio_free(GPIO85_MMC2_WP);
348}
349
350static struct pxamci_platform_data cm_x300_mci2_platform_data = {
351 .detect_delay = 20,
352 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
353 .init = cm_x300_mci2_init,
354 .exit = cm_x300_mci2_exit,
355 .get_ro = cm_x300_mci2_ro,
356};
357
358static void __init cm_x300_init_mmc(void)
359{
360 pxa_set_mci_info(&cm_x300_mci_platform_data);
361 pxa3xx_set_mci2_info(&cm_x300_mci2_platform_data);
362}
363#else
364static inline void cm_x300_init_mmc(void) {}
365#endif
366
367#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
368static int cm_x300_ohci_init(struct device *dev)
369{
370 /* Set the Power Control Polarity Low */
371 UHCHR = (UHCHR | UHCHR_PCPL) &
372 ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
373
374 return 0;
375}
376
377static struct pxaohci_platform_data cm_x300_ohci_platform_data = {
378 .port_mode = PMM_PERPORT_MODE,
379 .init = cm_x300_ohci_init,
380};
381static void __init cm_x300_init_ohci(void)
382{
383 pxa_set_ohci_info(&cm_x300_ohci_platform_data);
384}
385#else
386static inline void cm_x300_init_ohci(void) {}
387#endif
388
389#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
390static struct gpio_led cm_x300_leds[] = {
391 [0] = {
392 .name = "cm-x300:green",
393 .default_trigger = "heartbeat",
394 .gpio = 79,
395 .active_low = 1,
396 },
397};
398
399static struct gpio_led_platform_data cm_x300_gpio_led_pdata = {
400 .num_leds = ARRAY_SIZE(cm_x300_leds),
401 .leds = cm_x300_leds,
402};
403
404static struct platform_device cm_x300_led_device = {
405 .name = "leds-gpio",
406 .id = -1,
407 .dev = {
408 .platform_data = &cm_x300_gpio_led_pdata,
409 },
410};
411
412static void __init cm_x300_init_leds(void)
413{
414 platform_device_register(&cm_x300_led_device);
415}
416#else
417static inline void cm_x300_init_leds(void) {}
418#endif
419
420#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
421/* PCA9555 */
422static struct pca953x_platform_data cm_x300_gpio_ext_pdata_0 = {
423 .gpio_base = 128,
424};
425
426static struct pca953x_platform_data cm_x300_gpio_ext_pdata_1 = {
427 .gpio_base = 144,
428};
429
430static struct i2c_board_info cm_x300_gpio_ext_info[] = {
431 [0] = {
432 I2C_BOARD_INFO("pca9555", 0x24),
433 .platform_data = &cm_x300_gpio_ext_pdata_0,
434 },
435 [1] = {
436 I2C_BOARD_INFO("pca9555", 0x25),
437 .platform_data = &cm_x300_gpio_ext_pdata_1,
438 },
439};
440
441static void __init cm_x300_init_i2c(void)
442{
443 pxa_set_i2c_info(NULL);
444 i2c_register_board_info(0, cm_x300_gpio_ext_info,
445 ARRAY_SIZE(cm_x300_gpio_ext_info));
446}
447#else
448static inline void cm_x300_init_i2c(void) {}
449#endif
450
451static void __init cm_x300_init(void)
452{
453 /* board-processor specific GPIO initialization */
454 pxa3xx_mfp_config(ARRAY_AND_SIZE(cm_x300_mfp_cfg));
455
456 cm_x300_init_dm9000();
457 cm_x300_init_lcd();
458 cm_x300_init_ohci();
459 cm_x300_init_mmc();
460 cm_x300_init_nand();
461 cm_x300_init_leds();
462 cm_x300_init_i2c();
463}
464
465MACHINE_START(CM_X300, "CM-X300 module")
466 .phys_io = 0x40000000,
467 .boot_params = 0xa0000100,
468 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
469 .map_io = pxa_map_io,
470 .init_irq = pxa3xx_init_irq,
471 .timer = &pxa_timer,
472 .init_machine = cm_x300_init,
473MACHINE_END
diff --git a/arch/arm/mach-pxa/colibri.c b/arch/arm/mach-pxa/colibri.c
index abce13c846c5..e8473624427e 100644
--- a/arch/arm/mach-pxa/colibri.c
+++ b/arch/arm/mach-pxa/colibri.c
@@ -29,12 +29,17 @@
29#include <asm/mach/irq.h> 29#include <asm/mach/irq.h>
30#include <asm/mach/flash.h> 30#include <asm/mach/flash.h>
31#include <mach/pxa-regs.h> 31#include <mach/pxa-regs.h>
32#include <mach/pxa2xx-gpio.h> 32#include <mach/mfp-pxa27x.h>
33#include <mach/colibri.h> 33#include <mach/colibri.h>
34 34
35#include "generic.h" 35#include "generic.h"
36#include "devices.h" 36#include "devices.h"
37 37
38static unsigned long colibri_pin_config[] __initdata = {
39 GPIO78_nCS_2, /* Ethernet CS */
40 GPIO114_GPIO, /* Ethernet IRQ */
41};
42
38/* 43/*
39 * Flash 44 * Flash
40 */ 45 */
@@ -116,9 +121,7 @@ static struct platform_device *colibri_devices[] __initdata = {
116 121
117static void __init colibri_init(void) 122static void __init colibri_init(void)
118{ 123{
119 /* DM9000 LAN */ 124 pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pin_config));
120 pxa_gpio_mode(GPIO78_nCS_2_MD);
121 pxa_gpio_mode(GPIO_DM9000 | GPIO_IN);
122 125
123 platform_add_devices(colibri_devices, ARRAY_SIZE(colibri_devices)); 126 platform_add_devices(colibri_devices, ARRAY_SIZE(colibri_devices));
124} 127}
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
index 123a950db466..5c08c4e9cd22 100644
--- a/arch/arm/mach-pxa/corgi.c
+++ b/arch/arm/mach-pxa/corgi.c
@@ -20,7 +20,11 @@
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/mmc/host.h> 21#include <linux/mmc/host.h>
22#include <linux/pm.h> 22#include <linux/pm.h>
23#include <linux/gpio.h>
23#include <linux/backlight.h> 24#include <linux/backlight.h>
25#include <linux/spi/spi.h>
26#include <linux/spi/ads7846.h>
27#include <linux/spi/corgi_lcd.h>
24#include <video/w100fb.h> 28#include <video/w100fb.h>
25 29
26#include <asm/setup.h> 30#include <asm/setup.h>
@@ -37,10 +41,12 @@
37 41
38#include <mach/pxa-regs.h> 42#include <mach/pxa-regs.h>
39#include <mach/pxa2xx-regs.h> 43#include <mach/pxa2xx-regs.h>
40#include <mach/pxa2xx-gpio.h> 44#include <mach/mfp-pxa25x.h>
45#include <mach/i2c.h>
41#include <mach/irda.h> 46#include <mach/irda.h>
42#include <mach/mmc.h> 47#include <mach/mmc.h>
43#include <mach/udc.h> 48#include <mach/udc.h>
49#include <mach/pxa2xx_spi.h>
44#include <mach/corgi.h> 50#include <mach/corgi.h>
45#include <mach/sharpsl.h> 51#include <mach/sharpsl.h>
46 52
@@ -51,6 +57,61 @@
51#include "devices.h" 57#include "devices.h"
52#include "sharpsl.h" 58#include "sharpsl.h"
53 59
60static unsigned long corgi_pin_config[] __initdata = {
61 /* Static Memory I/O */
62 GPIO78_nCS_2, /* w100fb */
63 GPIO80_nCS_4, /* scoop */
64
65 /* SSP1 */
66 GPIO23_SSP1_SCLK,
67 GPIO25_SSP1_TXD,
68 GPIO26_SSP1_RXD,
69 GPIO24_GPIO, /* CORGI_GPIO_ADS7846_CS - SFRM as chip select */
70
71 /* I2S */
72 GPIO28_I2S_BITCLK_OUT,
73 GPIO29_I2S_SDATA_IN,
74 GPIO30_I2S_SDATA_OUT,
75 GPIO31_I2S_SYNC,
76 GPIO32_I2S_SYSCLK,
77
78 /* Infra-Red */
79 GPIO47_FICP_TXD,
80 GPIO46_FICP_RXD,
81
82 /* FFUART */
83 GPIO40_FFUART_DTR,
84 GPIO41_FFUART_RTS,
85 GPIO39_FFUART_TXD,
86 GPIO37_FFUART_DSR,
87 GPIO34_FFUART_RXD,
88 GPIO35_FFUART_CTS,
89
90 /* PC Card */
91 GPIO48_nPOE,
92 GPIO49_nPWE,
93 GPIO50_nPIOR,
94 GPIO51_nPIOW,
95 GPIO52_nPCE_1,
96 GPIO53_nPCE_2,
97 GPIO54_nPSKTSEL,
98 GPIO55_nPREG,
99 GPIO56_nPWAIT,
100 GPIO57_nIOIS16,
101
102 /* MMC */
103 GPIO6_MMC_CLK,
104 GPIO8_MMC_CS0,
105
106 /* GPIO */
107 GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */
108 GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */
109 GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */
110 GPIO22_GPIO, /* CORGI_GPIO_IR_ON */
111 GPIO44_GPIO, /* CORGI_GPIO_HSYNC */
112
113 GPIO1_GPIO | WAKEUP_ON_EDGE_RISE,
114};
54 115
55/* 116/*
56 * Corgi SCOOP Device 117 * Corgi SCOOP Device
@@ -66,6 +127,7 @@ static struct resource corgi_scoop_resources[] = {
66static struct scoop_config corgi_scoop_setup = { 127static struct scoop_config corgi_scoop_setup = {
67 .io_dir = CORGI_SCOOP_IO_DIR, 128 .io_dir = CORGI_SCOOP_IO_DIR,
68 .io_out = CORGI_SCOOP_IO_OUT, 129 .io_out = CORGI_SCOOP_IO_OUT,
130 .gpio_base = CORGI_SCOOP_GPIO_BASE,
69}; 131};
70 132
71struct platform_device corgiscoop_device = { 133struct platform_device corgiscoop_device = {
@@ -78,27 +140,6 @@ struct platform_device corgiscoop_device = {
78 .resource = corgi_scoop_resources, 140 .resource = corgi_scoop_resources,
79}; 141};
80 142
81static void corgi_pcmcia_init(void)
82{
83 /* Setup default state of GPIO outputs
84 before we enable them as outputs. */
85 GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) |
86 GPIO_bit(GPIO49_nPWE) | GPIO_bit(GPIO50_nPIOR) |
87 GPIO_bit(GPIO51_nPIOW) | GPIO_bit(GPIO52_nPCE_1) |
88 GPIO_bit(GPIO53_nPCE_2);
89
90 pxa_gpio_mode(GPIO48_nPOE_MD);
91 pxa_gpio_mode(GPIO49_nPWE_MD);
92 pxa_gpio_mode(GPIO50_nPIOR_MD);
93 pxa_gpio_mode(GPIO51_nPIOW_MD);
94 pxa_gpio_mode(GPIO55_nPREG_MD);
95 pxa_gpio_mode(GPIO56_nPWAIT_MD);
96 pxa_gpio_mode(GPIO57_nIOIS16_MD);
97 pxa_gpio_mode(GPIO52_nPCE_1_MD);
98 pxa_gpio_mode(GPIO53_nPCE_2_MD);
99 pxa_gpio_mode(GPIO54_pSKTSEL_MD);
100}
101
102static struct scoop_pcmcia_dev corgi_pcmcia_scoop[] = { 143static struct scoop_pcmcia_dev corgi_pcmcia_scoop[] = {
103{ 144{
104 .dev = &corgiscoop_device.dev, 145 .dev = &corgiscoop_device.dev,
@@ -111,58 +152,10 @@ static struct scoop_pcmcia_dev corgi_pcmcia_scoop[] = {
111static struct scoop_pcmcia_config corgi_pcmcia_config = { 152static struct scoop_pcmcia_config corgi_pcmcia_config = {
112 .devs = &corgi_pcmcia_scoop[0], 153 .devs = &corgi_pcmcia_scoop[0],
113 .num_devs = 1, 154 .num_devs = 1,
114 .pcmcia_init = corgi_pcmcia_init,
115}; 155};
116 156
117EXPORT_SYMBOL(corgiscoop_device); 157EXPORT_SYMBOL(corgiscoop_device);
118 158
119
120/*
121 * Corgi SSP Device
122 *
123 * Set the parent as the scoop device because a lot of SSP devices
124 * also use scoop functions and this makes the power up/down order
125 * work correctly.
126 */
127struct platform_device corgissp_device = {
128 .name = "corgi-ssp",
129 .dev = {
130 .parent = &corgiscoop_device.dev,
131 },
132 .id = -1,
133};
134
135struct corgissp_machinfo corgi_ssp_machinfo = {
136 .port = 1,
137 .cs_lcdcon = CORGI_GPIO_LCDCON_CS,
138 .cs_ads7846 = CORGI_GPIO_ADS7846_CS,
139 .cs_max1111 = CORGI_GPIO_MAX1111_CS,
140 .clk_lcdcon = 76,
141 .clk_ads7846 = 2,
142 .clk_max1111 = 8,
143};
144
145
146/*
147 * LCD/Framebuffer
148 */
149static void w100_lcdtg_suspend(struct w100fb_par *par)
150{
151 corgi_lcdtg_suspend();
152}
153
154static void w100_lcdtg_init(struct w100fb_par *par)
155{
156 corgi_lcdtg_hw_init(par->xres);
157}
158
159
160static struct w100_tg_info corgi_lcdtg_info = {
161 .change = w100_lcdtg_init,
162 .suspend = w100_lcdtg_suspend,
163 .resume = w100_lcdtg_init,
164};
165
166static struct w100_mem_info corgi_fb_mem = { 159static struct w100_mem_info corgi_fb_mem = {
167 .ext_cntl = 0x00040003, 160 .ext_cntl = 0x00040003,
168 .sdram_mode_reg = 0x00650021, 161 .sdram_mode_reg = 0x00650021,
@@ -241,7 +234,6 @@ static struct w100_mode corgi_fb_modes[] = {
241}; 234};
242 235
243static struct w100fb_mach_info corgi_fb_info = { 236static struct w100fb_mach_info corgi_fb_info = {
244 .tg = &corgi_lcdtg_info,
245 .init_mode = INIT_MODE_ROTATED, 237 .init_mode = INIT_MODE_ROTATED,
246 .mem = &corgi_fb_mem, 238 .mem = &corgi_fb_mem,
247 .regs = &corgi_fb_regs, 239 .regs = &corgi_fb_regs,
@@ -267,60 +259,10 @@ static struct platform_device corgifb_device = {
267 .resource = corgi_fb_resources, 259 .resource = corgi_fb_resources,
268 .dev = { 260 .dev = {
269 .platform_data = &corgi_fb_info, 261 .platform_data = &corgi_fb_info,
270 .parent = &corgissp_device.dev,
271 }, 262 },
272 263
273}; 264};
274 265
275
276/*
277 * Corgi Backlight Device
278 */
279static void corgi_bl_kick_battery(void)
280{
281 void (*kick_batt)(void);
282
283 kick_batt = symbol_get(sharpsl_battery_kick);
284 if (kick_batt) {
285 kick_batt();
286 symbol_put(sharpsl_battery_kick);
287 }
288}
289
290static void corgi_bl_set_intensity(int intensity)
291{
292 if (intensity > 0x10)
293 intensity += 0x10;
294
295 /* Bits 0-4 are accessed via the SSP interface */
296 corgi_ssp_blduty_set(intensity & 0x1f);
297
298 /* Bit 5 is via SCOOP */
299 if (intensity & 0x0020)
300 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT);
301 else
302 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT);
303}
304
305static struct generic_bl_info corgi_bl_machinfo = {
306 .name = "corgi-bl",
307 .max_intensity = 0x2f,
308 .default_intensity = 0x1f,
309 .limit_mask = 0x0b,
310 .set_bl_intensity = corgi_bl_set_intensity,
311 .kick_battery = corgi_bl_kick_battery,
312};
313
314static struct platform_device corgibl_device = {
315 .name = "generic-bl",
316 .dev = {
317 .parent = &corgifb_device.dev,
318 .platform_data = &corgi_bl_machinfo,
319 },
320 .id = -1,
321};
322
323
324/* 266/*
325 * Corgi Keyboard Device 267 * Corgi Keyboard Device
326 */ 268 */
@@ -329,75 +271,35 @@ static struct platform_device corgikbd_device = {
329 .id = -1, 271 .id = -1,
330}; 272};
331 273
332
333/* 274/*
334 * Corgi LEDs 275 * Corgi LEDs
335 */ 276 */
336static struct platform_device corgiled_device = { 277static struct gpio_led corgi_gpio_leds[] = {
337 .name = "corgi-led", 278 {
338 .id = -1, 279 .name = "corgi:amber:charge",
339}; 280 .default_trigger = "sharpsl-charge",
340 281 .gpio = CORGI_GPIO_LED_ORANGE,
341 282 },
342/* 283 {
343 * Corgi Touch Screen Device 284 .name = "corgi:green:mail",
344 */ 285 .default_trigger = "nand-disk",
345static unsigned long (*get_hsync_invperiod)(struct device *dev); 286 .gpio = CORGI_GPIO_LED_GREEN,
346
347static void inline sharpsl_wait_sync(int gpio)
348{
349 while((GPLR(gpio) & GPIO_bit(gpio)) == 0);
350 while((GPLR(gpio) & GPIO_bit(gpio)) != 0);
351}
352
353static unsigned long corgi_get_hsync_invperiod(void)
354{
355 if (!get_hsync_invperiod)
356 get_hsync_invperiod = symbol_get(w100fb_get_hsynclen);
357 if (!get_hsync_invperiod)
358 return 0;
359
360 return get_hsync_invperiod(&corgifb_device.dev);
361}
362
363static void corgi_put_hsync(void)
364{
365 if (get_hsync_invperiod)
366 symbol_put(w100fb_get_hsynclen);
367 get_hsync_invperiod = NULL;
368}
369
370static void corgi_wait_hsync(void)
371{
372 sharpsl_wait_sync(CORGI_GPIO_HSYNC);
373}
374
375static struct resource corgits_resources[] = {
376 [0] = {
377 .start = CORGI_IRQ_GPIO_TP_INT,
378 .end = CORGI_IRQ_GPIO_TP_INT,
379 .flags = IORESOURCE_IRQ,
380 }, 287 },
381}; 288};
382 289
383static struct corgits_machinfo corgi_ts_machinfo = { 290static struct gpio_led_platform_data corgi_gpio_leds_info = {
384 .get_hsync_invperiod = corgi_get_hsync_invperiod, 291 .leds = corgi_gpio_leds,
385 .put_hsync = corgi_put_hsync, 292 .num_leds = ARRAY_SIZE(corgi_gpio_leds),
386 .wait_hsync = corgi_wait_hsync,
387}; 293};
388 294
389static struct platform_device corgits_device = { 295static struct platform_device corgiled_device = {
390 .name = "corgi-ts", 296 .name = "leds-gpio",
297 .id = -1,
391 .dev = { 298 .dev = {
392 .parent = &corgissp_device.dev, 299 .platform_data = &corgi_gpio_leds_info,
393 .platform_data = &corgi_ts_machinfo,
394 }, 300 },
395 .id = -1,
396 .num_resources = ARRAY_SIZE(corgits_resources),
397 .resource = corgits_resources,
398}; 301};
399 302
400
401/* 303/*
402 * MMC/SD Device 304 * MMC/SD Device
403 * 305 *
@@ -410,20 +312,42 @@ static int corgi_mci_init(struct device *dev, irq_handler_t corgi_detect_int, vo
410{ 312{
411 int err; 313 int err;
412 314
413 /* setup GPIO for PXA25x MMC controller */ 315 err = gpio_request(CORGI_GPIO_nSD_DETECT, "nSD_DETECT");
414 pxa_gpio_mode(GPIO6_MMCCLK_MD); 316 if (err)
415 pxa_gpio_mode(GPIO8_MMCCS0_MD); 317 goto err_out;
416 pxa_gpio_mode(CORGI_GPIO_nSD_DETECT | GPIO_IN);
417 pxa_gpio_mode(CORGI_GPIO_SD_PWR | GPIO_OUT);
418 318
419 corgi_mci_platform_data.detect_delay = msecs_to_jiffies(250); 319 err = gpio_request(CORGI_GPIO_nSD_WP, "nSD_WP");
320 if (err)
321 goto err_free_1;
420 322
421 err = request_irq(CORGI_IRQ_GPIO_nSD_DETECT, corgi_detect_int, 323 err = gpio_request(CORGI_GPIO_SD_PWR, "SD_PWR");
422 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
423 "MMC card detect", data);
424 if (err) 324 if (err)
425 printk(KERN_ERR "corgi_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); 325 goto err_free_2;
426 326
327 gpio_direction_input(CORGI_GPIO_nSD_DETECT);
328 gpio_direction_input(CORGI_GPIO_nSD_WP);
329 gpio_direction_output(CORGI_GPIO_SD_PWR, 0);
330
331 corgi_mci_platform_data.detect_delay = msecs_to_jiffies(250);
332
333 err = request_irq(CORGI_IRQ_GPIO_nSD_DETECT, corgi_detect_int,
334 IRQF_DISABLED | IRQF_TRIGGER_RISING |
335 IRQF_TRIGGER_FALLING,
336 "MMC card detect", data);
337 if (err) {
338 pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
339 __func__);
340 goto err_free_3;
341 }
342 return 0;
343
344err_free_3:
345 gpio_free(CORGI_GPIO_SD_PWR);
346err_free_2:
347 gpio_free(CORGI_GPIO_nSD_WP);
348err_free_1:
349 gpio_free(CORGI_GPIO_nSD_DETECT);
350err_out:
427 return err; 351 return err;
428} 352}
429 353
@@ -431,20 +355,20 @@ static void corgi_mci_setpower(struct device *dev, unsigned int vdd)
431{ 355{
432 struct pxamci_platform_data* p_d = dev->platform_data; 356 struct pxamci_platform_data* p_d = dev->platform_data;
433 357
434 if (( 1 << vdd) & p_d->ocr_mask) 358 gpio_set_value(CORGI_GPIO_SD_PWR, ((1 << vdd) & p_d->ocr_mask));
435 GPSR1 = GPIO_bit(CORGI_GPIO_SD_PWR);
436 else
437 GPCR1 = GPIO_bit(CORGI_GPIO_SD_PWR);
438} 359}
439 360
440static int corgi_mci_get_ro(struct device *dev) 361static int corgi_mci_get_ro(struct device *dev)
441{ 362{
442 return GPLR(CORGI_GPIO_nSD_WP) & GPIO_bit(CORGI_GPIO_nSD_WP); 363 return gpio_get_value(CORGI_GPIO_nSD_WP);
443} 364}
444 365
445static void corgi_mci_exit(struct device *dev, void *data) 366static void corgi_mci_exit(struct device *dev, void *data)
446{ 367{
447 free_irq(CORGI_IRQ_GPIO_nSD_DETECT, data); 368 free_irq(CORGI_IRQ_GPIO_nSD_DETECT, data);
369 gpio_free(CORGI_GPIO_SD_PWR);
370 gpio_free(CORGI_GPIO_nSD_WP);
371 gpio_free(CORGI_GPIO_nSD_DETECT);
448} 372}
449 373
450static struct pxamci_platform_data corgi_mci_platform_data = { 374static struct pxamci_platform_data corgi_mci_platform_data = {
@@ -461,16 +385,32 @@ static struct pxamci_platform_data corgi_mci_platform_data = {
461 */ 385 */
462static void corgi_irda_transceiver_mode(struct device *dev, int mode) 386static void corgi_irda_transceiver_mode(struct device *dev, int mode)
463{ 387{
464 if (mode & IR_OFF) 388 gpio_set_value(CORGI_GPIO_IR_ON, mode & IR_OFF);
465 GPSR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON);
466 else
467 GPCR(CORGI_GPIO_IR_ON) = GPIO_bit(CORGI_GPIO_IR_ON);
468 pxa2xx_transceiver_mode(dev, mode); 389 pxa2xx_transceiver_mode(dev, mode);
469} 390}
470 391
392static int corgi_irda_startup(struct device *dev)
393{
394 int err;
395
396 err = gpio_request(CORGI_GPIO_IR_ON, "IR_ON");
397 if (err)
398 return err;
399
400 gpio_direction_output(CORGI_GPIO_IR_ON, 1);
401 return 0;
402}
403
404static void corgi_irda_shutdown(struct device *dev)
405{
406 gpio_free(CORGI_GPIO_IR_ON);
407}
408
471static struct pxaficp_platform_data corgi_ficp_platform_data = { 409static struct pxaficp_platform_data corgi_ficp_platform_data = {
472 .transceiver_cap = IR_SIRMODE | IR_OFF, 410 .transceiver_cap = IR_SIRMODE | IR_OFF,
473 .transceiver_mode = corgi_irda_transceiver_mode, 411 .transceiver_mode = corgi_irda_transceiver_mode,
412 .startup = corgi_irda_startup,
413 .shutdown = corgi_irda_shutdown,
474}; 414};
475 415
476 416
@@ -482,14 +422,129 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
482 .gpio_pullup = CORGI_GPIO_USB_PULLUP, 422 .gpio_pullup = CORGI_GPIO_USB_PULLUP,
483}; 423};
484 424
425#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MASTER)
426static struct pxa2xx_spi_master corgi_spi_info = {
427 .num_chipselect = 3,
428};
429
430static struct ads7846_platform_data corgi_ads7846_info = {
431 .model = 7846,
432 .vref_delay_usecs = 100,
433 .x_plate_ohms = 419,
434 .y_plate_ohms = 486,
435 .gpio_pendown = CORGI_GPIO_TP_INT,
436};
437
438static void corgi_ads7846_cs(u32 command)
439{
440 gpio_set_value(CORGI_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
441}
442
443static struct pxa2xx_spi_chip corgi_ads7846_chip = {
444 .cs_control = corgi_ads7846_cs,
445};
446
447static void corgi_bl_kick_battery(void)
448{
449 void (*kick_batt)(void);
450
451 kick_batt = symbol_get(sharpsl_battery_kick);
452 if (kick_batt) {
453 kick_batt();
454 symbol_put(sharpsl_battery_kick);
455 }
456}
457
458static struct corgi_lcd_platform_data corgi_lcdcon_info = {
459 .init_mode = CORGI_LCD_MODE_VGA,
460 .max_intensity = 0x2f,
461 .default_intensity = 0x1f,
462 .limit_mask = 0x0b,
463 .gpio_backlight_cont = CORGI_GPIO_BACKLIGHT_CONT,
464 .gpio_backlight_on = -1,
465 .kick_battery = corgi_bl_kick_battery,
466};
467
468static void corgi_lcdcon_cs(u32 command)
469{
470 gpio_set_value(CORGI_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
471}
472
473static struct pxa2xx_spi_chip corgi_lcdcon_chip = {
474 .cs_control = corgi_lcdcon_cs,
475};
476
477static void corgi_max1111_cs(u32 command)
478{
479 gpio_set_value(CORGI_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
480}
481
482static struct pxa2xx_spi_chip corgi_max1111_chip = {
483 .cs_control = corgi_max1111_cs,
484};
485
486static struct spi_board_info corgi_spi_devices[] = {
487 {
488 .modalias = "ads7846",
489 .max_speed_hz = 1200000,
490 .bus_num = 1,
491 .chip_select = 0,
492 .platform_data = &corgi_ads7846_info,
493 .controller_data= &corgi_ads7846_chip,
494 .irq = gpio_to_irq(CORGI_GPIO_TP_INT),
495 }, {
496 .modalias = "corgi-lcd",
497 .max_speed_hz = 50000,
498 .bus_num = 1,
499 .chip_select = 1,
500 .platform_data = &corgi_lcdcon_info,
501 .controller_data= &corgi_lcdcon_chip,
502 }, {
503 .modalias = "max1111",
504 .max_speed_hz = 450000,
505 .bus_num = 1,
506 .chip_select = 2,
507 .controller_data= &corgi_max1111_chip,
508 },
509};
510
511static void __init corgi_init_spi(void)
512{
513 int err;
514
515 err = gpio_request(CORGI_GPIO_ADS7846_CS, "ADS7846_CS");
516 if (err)
517 return;
518
519 err = gpio_request(CORGI_GPIO_LCDCON_CS, "LCDCON_CS");
520 if (err)
521 goto err_free_1;
522
523 err = gpio_request(CORGI_GPIO_MAX1111_CS, "MAX1111_CS");
524 if (err)
525 goto err_free_2;
526
527 gpio_direction_output(CORGI_GPIO_ADS7846_CS, 1);
528 gpio_direction_output(CORGI_GPIO_LCDCON_CS, 1);
529 gpio_direction_output(CORGI_GPIO_MAX1111_CS, 1);
530
531 pxa2xx_set_spi_info(1, &corgi_spi_info);
532 spi_register_board_info(ARRAY_AND_SIZE(corgi_spi_devices));
533 return;
534
535err_free_2:
536 gpio_free(CORGI_GPIO_LCDCON_CS);
537err_free_1:
538 gpio_free(CORGI_GPIO_ADS7846_CS);
539}
540#else
541static inline void corgi_init_spi(void) {}
542#endif
485 543
486static struct platform_device *devices[] __initdata = { 544static struct platform_device *devices[] __initdata = {
487 &corgiscoop_device, 545 &corgiscoop_device,
488 &corgissp_device,
489 &corgifb_device, 546 &corgifb_device,
490 &corgikbd_device, 547 &corgikbd_device,
491 &corgibl_device,
492 &corgits_device,
493 &corgiled_device, 548 &corgiled_device,
494}; 549};
495 550
@@ -497,7 +552,8 @@ static void corgi_poweroff(void)
497{ 552{
498 if (!machine_is_corgi()) 553 if (!machine_is_corgi())
499 /* Green LED off tells the bootloader to halt */ 554 /* Green LED off tells the bootloader to halt */
500 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); 555 gpio_set_value(CORGI_GPIO_LED_GREEN, 0);
556
501 arm_machine_restart('h'); 557 arm_machine_restart('h');
502} 558}
503 559
@@ -505,7 +561,8 @@ static void corgi_restart(char mode)
505{ 561{
506 if (!machine_is_corgi()) 562 if (!machine_is_corgi())
507 /* Green LED on tells the bootloader to reboot */ 563 /* Green LED on tells the bootloader to reboot */
508 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); 564 gpio_set_value(CORGI_GPIO_LED_GREEN, 1);
565
509 arm_machine_restart('h'); 566 arm_machine_restart('h');
510} 567}
511 568
@@ -514,24 +571,17 @@ static void __init corgi_init(void)
514 pm_power_off = corgi_poweroff; 571 pm_power_off = corgi_poweroff;
515 arm_pm_restart = corgi_restart; 572 arm_pm_restart = corgi_restart;
516 573
517 /* setup sleep mode values */
518 PWER = 0x00000002;
519 PFER = 0x00000000;
520 PRER = 0x00000002;
521 PGSR0 = 0x0158C000;
522 PGSR1 = 0x00FF0080;
523 PGSR2 = 0x0001C004;
524 /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ 574 /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
525 PCFR |= PCFR_OPDE; 575 PCFR |= PCFR_OPDE;
526 576
527 corgi_ssp_set_machinfo(&corgi_ssp_machinfo); 577 pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config));
528 578
529 pxa_gpio_mode(CORGI_GPIO_IR_ON | GPIO_OUT); 579 corgi_init_spi();
530 pxa_gpio_mode(CORGI_GPIO_HSYNC | GPIO_IN);
531 580
532 pxa_set_udc_info(&udc_info); 581 pxa_set_udc_info(&udc_info);
533 pxa_set_mci_info(&corgi_mci_platform_data); 582 pxa_set_mci_info(&corgi_mci_platform_data);
534 pxa_set_ficp_info(&corgi_ficp_platform_data); 583 pxa_set_ficp_info(&corgi_ficp_platform_data);
584 pxa_set_i2c_info(NULL);
535 585
536 platform_scoop_config = &corgi_pcmcia_config; 586 platform_scoop_config = &corgi_pcmcia_config;
537 587
diff --git a/arch/arm/mach-pxa/corgi_lcd.c b/arch/arm/mach-pxa/corgi_lcd.c
deleted file mode 100644
index 311baf149b07..000000000000
--- a/arch/arm/mach-pxa/corgi_lcd.c
+++ /dev/null
@@ -1,290 +0,0 @@
1/*
2 * linux/arch/arm/mach-pxa/corgi_lcd.c
3 *
4 * Corgi/Spitz LCD Specific Code
5 *
6 * Copyright (C) 2005 Richard Purdie
7 *
8 * Connectivity:
9 * Corgi - LCD to ATI Imageon w100 (Wallaby)
10 * Spitz - LCD to PXA Framebuffer
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15 *
16 */
17
18#include <linux/delay.h>
19#include <linux/kernel.h>
20#include <linux/platform_device.h>
21#include <linux/module.h>
22#include <linux/string.h>
23#include <mach/akita.h>
24#include <mach/corgi.h>
25#include <mach/hardware.h>
26#include <mach/pxa-regs.h>
27#include <mach/sharpsl.h>
28#include <mach/spitz.h>
29#include <asm/hardware/scoop.h>
30#include <asm/mach/sharpsl_param.h>
31#include "generic.h"
32
33/* Register Addresses */
34#define RESCTL_ADRS 0x00
35#define PHACTRL_ADRS 0x01
36#define DUTYCTRL_ADRS 0x02
37#define POWERREG0_ADRS 0x03
38#define POWERREG1_ADRS 0x04
39#define GPOR3_ADRS 0x05
40#define PICTRL_ADRS 0x06
41#define POLCTRL_ADRS 0x07
42
43/* Register Bit Definitions */
44#define RESCTL_QVGA 0x01
45#define RESCTL_VGA 0x00
46
47#define POWER1_VW_ON 0x01 /* VW Supply FET ON */
48#define POWER1_GVSS_ON 0x02 /* GVSS(-8V) Power Supply ON */
49#define POWER1_VDD_ON 0x04 /* VDD(8V),SVSS(-4V) Power Supply ON */
50
51#define POWER1_VW_OFF 0x00 /* VW Supply FET OFF */
52#define POWER1_GVSS_OFF 0x00 /* GVSS(-8V) Power Supply OFF */
53#define POWER1_VDD_OFF 0x00 /* VDD(8V),SVSS(-4V) Power Supply OFF */
54
55#define POWER0_COM_DCLK 0x01 /* COM Voltage DC Bias DAC Serial Data Clock */
56#define POWER0_COM_DOUT 0x02 /* COM Voltage DC Bias DAC Serial Data Out */
57#define POWER0_DAC_ON 0x04 /* DAC Power Supply ON */
58#define POWER0_COM_ON 0x08 /* COM Power Supply ON */
59#define POWER0_VCC5_ON 0x10 /* VCC5 Power Supply ON */
60
61#define POWER0_DAC_OFF 0x00 /* DAC Power Supply OFF */
62#define POWER0_COM_OFF 0x00 /* COM Power Supply OFF */
63#define POWER0_VCC5_OFF 0x00 /* VCC5 Power Supply OFF */
64
65#define PICTRL_INIT_STATE 0x01
66#define PICTRL_INIOFF 0x02
67#define PICTRL_POWER_DOWN 0x04
68#define PICTRL_COM_SIGNAL_OFF 0x08
69#define PICTRL_DAC_SIGNAL_OFF 0x10
70
71#define POLCTRL_SYNC_POL_FALL 0x01
72#define POLCTRL_EN_POL_FALL 0x02
73#define POLCTRL_DATA_POL_FALL 0x04
74#define POLCTRL_SYNC_ACT_H 0x08
75#define POLCTRL_EN_ACT_L 0x10
76
77#define POLCTRL_SYNC_POL_RISE 0x00
78#define POLCTRL_EN_POL_RISE 0x00
79#define POLCTRL_DATA_POL_RISE 0x00
80#define POLCTRL_SYNC_ACT_L 0x00
81#define POLCTRL_EN_ACT_H 0x00
82
83#define PHACTRL_PHASE_MANUAL 0x01
84#define DEFAULT_PHAD_QVGA (9)
85#define DEFAULT_COMADJ (125)
86
87/*
88 * This is only a psuedo I2C interface. We can't use the standard kernel
89 * routines as the interface is write only. We just assume the data is acked...
90 */
91static void lcdtg_ssp_i2c_send(u8 data)
92{
93 corgi_ssp_lcdtg_send(POWERREG0_ADRS, data);
94 udelay(10);
95}
96
97static void lcdtg_i2c_send_bit(u8 data)
98{
99 lcdtg_ssp_i2c_send(data);
100 lcdtg_ssp_i2c_send(data | POWER0_COM_DCLK);
101 lcdtg_ssp_i2c_send(data);
102}
103
104static void lcdtg_i2c_send_start(u8 base)
105{
106 lcdtg_ssp_i2c_send(base | POWER0_COM_DCLK | POWER0_COM_DOUT);
107 lcdtg_ssp_i2c_send(base | POWER0_COM_DCLK);
108 lcdtg_ssp_i2c_send(base);
109}
110
111static void lcdtg_i2c_send_stop(u8 base)
112{
113 lcdtg_ssp_i2c_send(base);
114 lcdtg_ssp_i2c_send(base | POWER0_COM_DCLK);
115 lcdtg_ssp_i2c_send(base | POWER0_COM_DCLK | POWER0_COM_DOUT);
116}
117
118static void lcdtg_i2c_send_byte(u8 base, u8 data)
119{
120 int i;
121 for (i = 0; i < 8; i++) {
122 if (data & 0x80)
123 lcdtg_i2c_send_bit(base | POWER0_COM_DOUT);
124 else
125 lcdtg_i2c_send_bit(base);
126 data <<= 1;
127 }
128}
129
130static void lcdtg_i2c_wait_ack(u8 base)
131{
132 lcdtg_i2c_send_bit(base);
133}
134
135static void lcdtg_set_common_voltage(u8 base_data, u8 data)
136{
137 /* Set Common Voltage to M62332FP via I2C */
138 lcdtg_i2c_send_start(base_data);
139 lcdtg_i2c_send_byte(base_data, 0x9c);
140 lcdtg_i2c_wait_ack(base_data);
141 lcdtg_i2c_send_byte(base_data, 0x00);
142 lcdtg_i2c_wait_ack(base_data);
143 lcdtg_i2c_send_byte(base_data, data);
144 lcdtg_i2c_wait_ack(base_data);
145 lcdtg_i2c_send_stop(base_data);
146}
147
148/* Set Phase Adjust */
149static void lcdtg_set_phadadj(int mode)
150{
151 int adj;
152 switch(mode) {
153 case 480:
154 case 640:
155 /* Setting for VGA */
156 adj = sharpsl_param.phadadj;
157 if (adj < 0) {
158 adj = PHACTRL_PHASE_MANUAL;
159 } else {
160 adj = ((adj & 0x0f) << 1) | PHACTRL_PHASE_MANUAL;
161 }
162 break;
163 case 240:
164 case 320:
165 default:
166 /* Setting for QVGA */
167 adj = (DEFAULT_PHAD_QVGA << 1) | PHACTRL_PHASE_MANUAL;
168 break;
169 }
170
171 corgi_ssp_lcdtg_send(PHACTRL_ADRS, adj);
172}
173
174static int lcd_inited;
175
176void corgi_lcdtg_hw_init(int mode)
177{
178 if (!lcd_inited) {
179 int comadj;
180
181 /* Initialize Internal Logic & Port */
182 corgi_ssp_lcdtg_send(PICTRL_ADRS, PICTRL_POWER_DOWN | PICTRL_INIOFF | PICTRL_INIT_STATE
183 | PICTRL_COM_SIGNAL_OFF | PICTRL_DAC_SIGNAL_OFF);
184
185 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_OFF
186 | POWER0_COM_OFF | POWER0_VCC5_OFF);
187
188 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_OFF);
189
190 /* VDD(+8V), SVSS(-4V) ON */
191 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_ON);
192 mdelay(3);
193
194 /* DAC ON */
195 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON
196 | POWER0_COM_OFF | POWER0_VCC5_OFF);
197
198 /* INIB = H, INI = L */
199 /* PICTL[0] = H , PICTL[1] = PICTL[2] = PICTL[4] = L */
200 corgi_ssp_lcdtg_send(PICTRL_ADRS, PICTRL_INIT_STATE | PICTRL_COM_SIGNAL_OFF);
201
202 /* Set Common Voltage */
203 comadj = sharpsl_param.comadj;
204 if (comadj < 0)
205 comadj = DEFAULT_COMADJ;
206 lcdtg_set_common_voltage((POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_OFF), comadj);
207
208 /* VCC5 ON, DAC ON */
209 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON |
210 POWER0_COM_OFF | POWER0_VCC5_ON);
211
212 /* GVSS(-8V) ON, VDD ON */
213 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_ON | POWER1_VDD_ON);
214 mdelay(2);
215
216 /* COM SIGNAL ON (PICTL[3] = L) */
217 corgi_ssp_lcdtg_send(PICTRL_ADRS, PICTRL_INIT_STATE);
218
219 /* COM ON, DAC ON, VCC5_ON */
220 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON
221 | POWER0_COM_ON | POWER0_VCC5_ON);
222
223 /* VW ON, GVSS ON, VDD ON */
224 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_ON | POWER1_GVSS_ON | POWER1_VDD_ON);
225
226 /* Signals output enable */
227 corgi_ssp_lcdtg_send(PICTRL_ADRS, 0);
228
229 /* Set Phase Adjust */
230 lcdtg_set_phadadj(mode);
231
232 /* Initialize for Input Signals from ATI */
233 corgi_ssp_lcdtg_send(POLCTRL_ADRS, POLCTRL_SYNC_POL_RISE | POLCTRL_EN_POL_RISE
234 | POLCTRL_DATA_POL_RISE | POLCTRL_SYNC_ACT_L | POLCTRL_EN_ACT_H);
235 udelay(1000);
236
237 lcd_inited=1;
238 } else {
239 lcdtg_set_phadadj(mode);
240 }
241
242 switch(mode) {
243 case 480:
244 case 640:
245 /* Set Lcd Resolution (VGA) */
246 corgi_ssp_lcdtg_send(RESCTL_ADRS, RESCTL_VGA);
247 break;
248 case 240:
249 case 320:
250 default:
251 /* Set Lcd Resolution (QVGA) */
252 corgi_ssp_lcdtg_send(RESCTL_ADRS, RESCTL_QVGA);
253 break;
254 }
255}
256
257void corgi_lcdtg_suspend(void)
258{
259 /* 60Hz x 2 frame = 16.7msec x 2 = 33.4 msec */
260 mdelay(34);
261
262 /* (1)VW OFF */
263 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_ON | POWER1_VDD_ON);
264
265 /* (2)COM OFF */
266 corgi_ssp_lcdtg_send(PICTRL_ADRS, PICTRL_COM_SIGNAL_OFF);
267 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_ON);
268
269 /* (3)Set Common Voltage Bias 0V */
270 lcdtg_set_common_voltage(POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_ON, 0);
271
272 /* (4)GVSS OFF */
273 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_ON);
274
275 /* (5)VCC5 OFF */
276 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_OFF);
277
278 /* (6)Set PDWN, INIOFF, DACOFF */
279 corgi_ssp_lcdtg_send(PICTRL_ADRS, PICTRL_INIOFF | PICTRL_DAC_SIGNAL_OFF |
280 PICTRL_POWER_DOWN | PICTRL_COM_SIGNAL_OFF);
281
282 /* (7)DAC OFF */
283 corgi_ssp_lcdtg_send(POWERREG0_ADRS, POWER0_DAC_OFF | POWER0_COM_OFF | POWER0_VCC5_OFF);
284
285 /* (8)VDD OFF */
286 corgi_ssp_lcdtg_send(POWERREG1_ADRS, POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_OFF);
287
288 lcd_inited = 0;
289}
290
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c
index 35bbfccd2df3..eb7d6c94aa42 100644
--- a/arch/arm/mach-pxa/corgi_pm.c
+++ b/arch/arm/mach-pxa/corgi_pm.c
@@ -21,7 +21,6 @@
21#include <asm/irq.h> 21#include <asm/irq.h>
22#include <asm/mach-types.h> 22#include <asm/mach-types.h>
23#include <mach/hardware.h> 23#include <mach/hardware.h>
24#include <asm/hardware/scoop.h>
25 24
26#include <mach/sharpsl.h> 25#include <mach/sharpsl.h>
27#include <mach/corgi.h> 26#include <mach/corgi.h>
diff --git a/arch/arm/mach-pxa/corgi_ssp.c b/arch/arm/mach-pxa/corgi_ssp.c
deleted file mode 100644
index 8e2f2215c4ba..000000000000
--- a/arch/arm/mach-pxa/corgi_ssp.c
+++ /dev/null
@@ -1,276 +0,0 @@
1/*
2 * SSP control code for Sharp Corgi devices
3 *
4 * Copyright (c) 2004-2005 Richard Purdie
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
12#include <linux/module.h>
13#include <linux/init.h>
14#include <linux/kernel.h>
15#include <linux/sched.h>
16#include <linux/slab.h>
17#include <linux/delay.h>
18#include <linux/platform_device.h>
19#include <mach/hardware.h>
20#include <asm/mach-types.h>
21
22#include <mach/ssp.h>
23#include <mach/pxa-regs.h>
24#include <mach/pxa2xx-gpio.h>
25#include <mach/regs-ssp.h>
26#include "sharpsl.h"
27
28static DEFINE_SPINLOCK(corgi_ssp_lock);
29static struct ssp_dev corgi_ssp_dev;
30static struct ssp_state corgi_ssp_state;
31static struct corgissp_machinfo *ssp_machinfo;
32
33/*
34 * There are three devices connected to the SSP interface:
35 * 1. A touchscreen controller (TI ADS7846 compatible)
36 * 2. An LCD controller (with some Backlight functionality)
37 * 3. A battery monitoring IC (Maxim MAX1111)
38 *
39 * Each device uses a different speed/mode of communication.
40 *
41 * The touchscreen is very sensitive and the most frequently used
42 * so the port is left configured for this.
43 *
44 * Devices are selected using Chip Selects on GPIOs.
45 */
46
47/*
48 * ADS7846 Routines
49 */
50unsigned long corgi_ssp_ads7846_putget(ulong data)
51{
52 unsigned long flag;
53 u32 ret = 0;
54
55 spin_lock_irqsave(&corgi_ssp_lock, flag);
56 if (ssp_machinfo->cs_ads7846 >= 0)
57 GPCR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
58
59 ssp_write_word(&corgi_ssp_dev,data);
60 ssp_read_word(&corgi_ssp_dev, &ret);
61
62 if (ssp_machinfo->cs_ads7846 >= 0)
63 GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
64 spin_unlock_irqrestore(&corgi_ssp_lock, flag);
65
66 return ret;
67}
68
69/*
70 * NOTE: These functions should always be called in interrupt context
71 * and use the _lock and _unlock functions. They are very time sensitive.
72 */
73void corgi_ssp_ads7846_lock(void)
74{
75 spin_lock(&corgi_ssp_lock);
76 if (ssp_machinfo->cs_ads7846 >= 0)
77 GPCR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
78}
79
80void corgi_ssp_ads7846_unlock(void)
81{
82 if (ssp_machinfo->cs_ads7846 >= 0)
83 GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
84 spin_unlock(&corgi_ssp_lock);
85}
86
87void corgi_ssp_ads7846_put(ulong data)
88{
89 ssp_write_word(&corgi_ssp_dev,data);
90}
91
92unsigned long corgi_ssp_ads7846_get(void)
93{
94 u32 ret = 0;
95 ssp_read_word(&corgi_ssp_dev, &ret);
96 return ret;
97}
98
99EXPORT_SYMBOL(corgi_ssp_ads7846_putget);
100EXPORT_SYMBOL(corgi_ssp_ads7846_lock);
101EXPORT_SYMBOL(corgi_ssp_ads7846_unlock);
102EXPORT_SYMBOL(corgi_ssp_ads7846_put);
103EXPORT_SYMBOL(corgi_ssp_ads7846_get);
104
105
106/*
107 * LCD/Backlight Routines
108 */
109unsigned long corgi_ssp_dac_put(ulong data)
110{
111 unsigned long flag, sscr1 = SSCR1_SPH;
112 u32 tmp;
113
114 spin_lock_irqsave(&corgi_ssp_lock, flag);
115
116 if (machine_is_spitz() || machine_is_akita() || machine_is_borzoi())
117 sscr1 = 0;
118
119 ssp_disable(&corgi_ssp_dev);
120 ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), sscr1, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_lcdcon));
121 ssp_enable(&corgi_ssp_dev);
122
123 if (ssp_machinfo->cs_lcdcon >= 0)
124 GPCR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon);
125 ssp_write_word(&corgi_ssp_dev,data);
126 /* Read null data back from device to prevent SSP overflow */
127 ssp_read_word(&corgi_ssp_dev, &tmp);
128 if (ssp_machinfo->cs_lcdcon >= 0)
129 GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon);
130
131 ssp_disable(&corgi_ssp_dev);
132 ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
133 ssp_enable(&corgi_ssp_dev);
134
135 spin_unlock_irqrestore(&corgi_ssp_lock, flag);
136
137 return 0;
138}
139
140void corgi_ssp_lcdtg_send(u8 adrs, u8 data)
141{
142 corgi_ssp_dac_put(((adrs & 0x07) << 5) | (data & 0x1f));
143}
144
145void corgi_ssp_blduty_set(int duty)
146{
147 corgi_ssp_lcdtg_send(0x02,duty);
148}
149
150EXPORT_SYMBOL(corgi_ssp_lcdtg_send);
151EXPORT_SYMBOL(corgi_ssp_blduty_set);
152
153/*
154 * Max1111 Routines
155 */
156int corgi_ssp_max1111_get(ulong data)
157{
158 unsigned long flag;
159 long voltage = 0, voltage1 = 0, voltage2 = 0;
160
161 spin_lock_irqsave(&corgi_ssp_lock, flag);
162 if (ssp_machinfo->cs_max1111 >= 0)
163 GPCR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111);
164 ssp_disable(&corgi_ssp_dev);
165 ssp_config(&corgi_ssp_dev, (SSCR0_Motorola | (SSCR0_DSS & 0x07 )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_max1111));
166 ssp_enable(&corgi_ssp_dev);
167
168 udelay(1);
169
170 /* TB1/RB1 */
171 ssp_write_word(&corgi_ssp_dev,data);
172 ssp_read_word(&corgi_ssp_dev, (u32*)&voltage1); /* null read */
173
174 /* TB12/RB2 */
175 ssp_write_word(&corgi_ssp_dev,0);
176 ssp_read_word(&corgi_ssp_dev, (u32*)&voltage1);
177
178 /* TB13/RB3*/
179 ssp_write_word(&corgi_ssp_dev,0);
180 ssp_read_word(&corgi_ssp_dev, (u32*)&voltage2);
181
182 ssp_disable(&corgi_ssp_dev);
183 ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
184 ssp_enable(&corgi_ssp_dev);
185 if (ssp_machinfo->cs_max1111 >= 0)
186 GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111);
187 spin_unlock_irqrestore(&corgi_ssp_lock, flag);
188
189 if (voltage1 & 0xc0 || voltage2 & 0x3f)
190 voltage = -1;
191 else
192 voltage = ((voltage1 << 2) & 0xfc) | ((voltage2 >> 6) & 0x03);
193
194 return voltage;
195}
196
197EXPORT_SYMBOL(corgi_ssp_max1111_get);
198
199/*
200 * Support Routines
201 */
202
203void __init corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo)
204{
205 ssp_machinfo = machinfo;
206}
207
208static int __init corgi_ssp_probe(struct platform_device *dev)
209{
210 int ret;
211
212 /* Chip Select - Disable All */
213 if (ssp_machinfo->cs_lcdcon >= 0)
214 pxa_gpio_mode(ssp_machinfo->cs_lcdcon | GPIO_OUT | GPIO_DFLT_HIGH);
215 if (ssp_machinfo->cs_max1111 >= 0)
216 pxa_gpio_mode(ssp_machinfo->cs_max1111 | GPIO_OUT | GPIO_DFLT_HIGH);
217 if (ssp_machinfo->cs_ads7846 >= 0)
218 pxa_gpio_mode(ssp_machinfo->cs_ads7846 | GPIO_OUT | GPIO_DFLT_HIGH);
219
220 ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0);
221
222 if (ret)
223 printk(KERN_ERR "Unable to register SSP handler!\n");
224 else {
225 ssp_disable(&corgi_ssp_dev);
226 ssp_config(&corgi_ssp_dev, (SSCR0_National | (SSCR0_DSS & 0x0b )), 0, 0, SSCR0_SerClkDiv(ssp_machinfo->clk_ads7846));
227 ssp_enable(&corgi_ssp_dev);
228 }
229
230 return ret;
231}
232
233static int corgi_ssp_remove(struct platform_device *dev)
234{
235 ssp_exit(&corgi_ssp_dev);
236 return 0;
237}
238
239static int corgi_ssp_suspend(struct platform_device *dev, pm_message_t state)
240{
241 ssp_flush(&corgi_ssp_dev);
242 ssp_save_state(&corgi_ssp_dev,&corgi_ssp_state);
243
244 return 0;
245}
246
247static int corgi_ssp_resume(struct platform_device *dev)
248{
249 if (ssp_machinfo->cs_lcdcon >= 0)
250 GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */
251 if (ssp_machinfo->cs_max1111 >= 0)
252 GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/
253 if (ssp_machinfo->cs_ads7846 >= 0)
254 GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/
255 ssp_restore_state(&corgi_ssp_dev,&corgi_ssp_state);
256 ssp_enable(&corgi_ssp_dev);
257
258 return 0;
259}
260
261static struct platform_driver corgissp_driver = {
262 .probe = corgi_ssp_probe,
263 .remove = corgi_ssp_remove,
264 .suspend = corgi_ssp_suspend,
265 .resume = corgi_ssp_resume,
266 .driver = {
267 .name = "corgi-ssp",
268 },
269};
270
271int __init corgi_ssp_init(void)
272{
273 return platform_driver_register(&corgissp_driver);
274}
275
276arch_initcall(corgi_ssp_init);
diff --git a/arch/arm/mach-pxa/e330.c b/arch/arm/mach-pxa/e330.c
new file mode 100644
index 000000000000..d488eded2058
--- /dev/null
+++ b/arch/arm/mach-pxa/e330.c
@@ -0,0 +1,43 @@
1/*
2 * Hardware definitions for the Toshiba eseries PDAs
3 *
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15
16#include <asm/setup.h>
17#include <asm/mach/arch.h>
18#include <asm/mach-types.h>
19
20#include <mach/mfp-pxa25x.h>
21#include <mach/hardware.h>
22#include <mach/udc.h>
23
24#include "generic.h"
25#include "eseries.h"
26
27static void __init e330_init(void)
28{
29 pxa_set_udc_info(&e7xx_udc_mach_info);
30}
31
32MACHINE_START(E330, "Toshiba e330")
33 /* Maintainer: Ian Molton (spyro@f2s.com) */
34 .phys_io = 0x40000000,
35 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
36 .boot_params = 0xa0000100,
37 .map_io = pxa_map_io,
38 .init_irq = pxa25x_init_irq,
39 .fixup = eseries_fixup,
40 .init_machine = e330_init,
41 .timer = &pxa_timer,
42MACHINE_END
43
diff --git a/arch/arm/mach-pxa/e350.c b/arch/arm/mach-pxa/e350.c
new file mode 100644
index 000000000000..8ecbc5479828
--- /dev/null
+++ b/arch/arm/mach-pxa/e350.c
@@ -0,0 +1,43 @@
1/*
2 * Hardware definitions for the Toshiba eseries PDAs
3 *
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15
16#include <asm/setup.h>
17#include <asm/mach/arch.h>
18#include <asm/mach-types.h>
19
20#include <mach/mfp-pxa25x.h>
21#include <mach/hardware.h>
22#include <mach/udc.h>
23
24#include "generic.h"
25#include "eseries.h"
26
27static void __init e350_init(void)
28{
29 pxa_set_udc_info(&e7xx_udc_mach_info);
30}
31
32MACHINE_START(E350, "Toshiba e350")
33 /* Maintainer: Ian Molton (spyro@f2s.com) */
34 .phys_io = 0x40000000,
35 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
36 .boot_params = 0xa0000100,
37 .map_io = pxa_map_io,
38 .init_irq = pxa25x_init_irq,
39 .fixup = eseries_fixup,
40 .init_machine = e350_init,
41 .timer = &pxa_timer,
42MACHINE_END
43
diff --git a/arch/arm/mach-pxa/e400.c b/arch/arm/mach-pxa/e400.c
new file mode 100644
index 000000000000..544bbaa20621
--- /dev/null
+++ b/arch/arm/mach-pxa/e400.c
@@ -0,0 +1,94 @@
1/*
2 * Hardware definitions for the Toshiba eseries PDAs
3 *
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15
16#include <asm/setup.h>
17#include <asm/mach/arch.h>
18#include <asm/mach-types.h>
19
20#include <mach/pxa-regs.h>
21#include <mach/mfp-pxa25x.h>
22#include <mach/hardware.h>
23
24#include <mach/pxafb.h>
25#include <mach/udc.h>
26
27#include "generic.h"
28#include "eseries.h"
29
30/* ------------------------ E400 LCD definitions ------------------------ */
31
32static struct pxafb_mode_info e400_pxafb_mode_info = {
33 .pixclock = 140703,
34 .xres = 240,
35 .yres = 320,
36 .bpp = 16,
37 .hsync_len = 4,
38 .left_margin = 28,
39 .right_margin = 8,
40 .vsync_len = 3,
41 .upper_margin = 5,
42 .lower_margin = 6,
43 .sync = 0,
44};
45
46static struct pxafb_mach_info e400_pxafb_mach_info = {
47 .modes = &e400_pxafb_mode_info,
48 .num_modes = 1,
49 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
50 .lccr3 = 0,
51 .pxafb_backlight_power = NULL,
52};
53
54/* ------------------------ E400 MFP config ----------------------------- */
55
56static unsigned long e400_pin_config[] __initdata = {
57 /* Chip selects */
58 GPIO15_nCS_1, /* CS1 - Flash */
59 GPIO80_nCS_4, /* CS4 - TMIO */
60
61 /* Clocks */
62 GPIO12_32KHz,
63
64 /* BTUART */
65 GPIO42_BTUART_RXD,
66 GPIO43_BTUART_TXD,
67 GPIO44_BTUART_CTS,
68 GPIO45_GPIO, /* Used by TMIO for #SUSPEND */
69
70 /* wakeup */
71 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
72};
73
74/* ---------------------------------------------------------------------- */
75
76static void __init e400_init(void)
77{
78 pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config));
79 set_pxa_fb_info(&e400_pxafb_mach_info);
80 pxa_set_udc_info(&e7xx_udc_mach_info);
81}
82
83MACHINE_START(E400, "Toshiba e400")
84 /* Maintainer: Ian Molton (spyro@f2s.com) */
85 .phys_io = 0x40000000,
86 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
87 .boot_params = 0xa0000100,
88 .map_io = pxa_map_io,
89 .init_irq = pxa25x_init_irq,
90 .fixup = eseries_fixup,
91 .init_machine = e400_init,
92 .timer = &pxa_timer,
93MACHINE_END
94
diff --git a/arch/arm/mach-pxa/e400_lcd.c b/arch/arm/mach-pxa/e400_lcd.c
deleted file mode 100644
index 263884165f57..000000000000
--- a/arch/arm/mach-pxa/e400_lcd.c
+++ /dev/null
@@ -1,56 +0,0 @@
1/*
2 * e400_lcd.c
3 *
4 * (c) 2005 Ian Molton <spyro@f2s.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
12#include <linux/kernel.h>
13#include <linux/init.h>
14#include <linux/module.h>
15
16#include <asm/mach-types.h>
17#include <mach/pxa-regs.h>
18#include <mach/pxafb.h>
19
20static struct pxafb_mode_info e400_pxafb_mode_info = {
21 .pixclock = 140703,
22 .xres = 240,
23 .yres = 320,
24 .bpp = 16,
25 .hsync_len = 4,
26 .left_margin = 28,
27 .right_margin = 8,
28 .vsync_len = 3,
29 .upper_margin = 5,
30 .lower_margin = 6,
31 .sync = 0,
32};
33
34static struct pxafb_mach_info e400_pxafb_mach_info = {
35 .modes = &e400_pxafb_mode_info,
36 .num_modes = 1,
37 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
38 .lccr3 = 0,
39 .pxafb_backlight_power = NULL,
40};
41
42static int __init e400_lcd_init(void)
43{
44 if (!machine_is_e400())
45 return -ENODEV;
46
47 set_pxa_fb_info(&e400_pxafb_mach_info);
48 return 0;
49}
50
51module_init(e400_lcd_init);
52
53MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
54MODULE_DESCRIPTION("e400 lcd driver");
55MODULE_LICENSE("GPLv2");
56
diff --git a/arch/arm/mach-pxa/e740.c b/arch/arm/mach-pxa/e740.c
new file mode 100644
index 000000000000..c57a15b37f0d
--- /dev/null
+++ b/arch/arm/mach-pxa/e740.c
@@ -0,0 +1,169 @@
1/*
2 * Hardware definitions for the Toshiba eseries PDAs
3 *
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/device.h>
16#include <linux/platform_device.h>
17#include <linux/fb.h>
18
19#include <video/w100fb.h>
20
21#include <asm/setup.h>
22#include <asm/mach/arch.h>
23#include <asm/mach-types.h>
24
25#include <mach/mfp-pxa25x.h>
26#include <mach/hardware.h>
27#include <mach/udc.h>
28
29#include "generic.h"
30#include "eseries.h"
31
32
33/* ------------------------ e740 video support --------------------------- */
34
35static struct w100_gen_regs e740_lcd_regs = {
36 .lcd_format = 0x00008023,
37 .lcdd_cntl1 = 0x0f000000,
38 .lcdd_cntl2 = 0x0003ffff,
39 .genlcd_cntl1 = 0x00ffff03,
40 .genlcd_cntl2 = 0x003c0f03,
41 .genlcd_cntl3 = 0x000143aa,
42};
43
44static struct w100_mode e740_lcd_mode = {
45 .xres = 240,
46 .yres = 320,
47 .left_margin = 20,
48 .right_margin = 28,
49 .upper_margin = 9,
50 .lower_margin = 8,
51 .crtc_ss = 0x80140013,
52 .crtc_ls = 0x81150110,
53 .crtc_gs = 0x80050005,
54 .crtc_vpos_gs = 0x000a0009,
55 .crtc_rev = 0x0040010a,
56 .crtc_dclk = 0xa906000a,
57 .crtc_gclk = 0x80050108,
58 .crtc_goe = 0x80050108,
59 .pll_freq = 57,
60 .pixclk_divider = 4,
61 .pixclk_divider_rotated = 4,
62 .pixclk_src = CLK_SRC_XTAL,
63 .sysclk_divider = 1,
64 .sysclk_src = CLK_SRC_PLL,
65 .crtc_ps1_active = 0x41060010,
66};
67
68static struct w100_gpio_regs e740_w100_gpio_info = {
69 .init_data1 = 0x21002103,
70 .gpio_dir1 = 0xffffdeff,
71 .gpio_oe1 = 0x03c00643,
72 .init_data2 = 0x003f003f,
73 .gpio_dir2 = 0xffffffff,
74 .gpio_oe2 = 0x000000ff,
75};
76
77static struct w100fb_mach_info e740_fb_info = {
78 .modelist = &e740_lcd_mode,
79 .num_modes = 1,
80 .regs = &e740_lcd_regs,
81 .gpio = &e740_w100_gpio_info,
82 .xtal_freq = 14318000,
83 .xtal_dbl = 1,
84};
85
86static struct resource e740_fb_resources[] = {
87 [0] = {
88 .start = 0x0c000000,
89 .end = 0x0cffffff,
90 .flags = IORESOURCE_MEM,
91 },
92};
93
94static struct platform_device e740_fb_device = {
95 .name = "w100fb",
96 .id = -1,
97 .dev = {
98 .platform_data = &e740_fb_info,
99 },
100 .num_resources = ARRAY_SIZE(e740_fb_resources),
101 .resource = e740_fb_resources,
102};
103
104/* --------------------------- MFP Pin config -------------------------- */
105
106static unsigned long e740_pin_config[] __initdata = {
107 /* Chip selects */
108 GPIO15_nCS_1, /* CS1 - Flash */
109 GPIO79_nCS_3, /* CS3 - IMAGEON */
110 GPIO80_nCS_4, /* CS4 - TMIO */
111
112 /* Clocks */
113 GPIO12_32KHz,
114
115 /* BTUART */
116 GPIO42_BTUART_RXD,
117 GPIO43_BTUART_TXD,
118 GPIO44_BTUART_CTS,
119 GPIO45_GPIO, /* Used by TMIO for #SUSPEND */
120
121 /* PC Card */
122 GPIO8_GPIO, /* CD0 */
123 GPIO44_GPIO, /* CD1 */
124 GPIO11_GPIO, /* IRQ0 */
125 GPIO6_GPIO, /* IRQ1 */
126 GPIO27_GPIO, /* RST0 */
127 GPIO24_GPIO, /* RST1 */
128 GPIO20_GPIO, /* PWR0 */
129 GPIO23_GPIO, /* PWR1 */
130 GPIO48_nPOE,
131 GPIO49_nPWE,
132 GPIO50_nPIOR,
133 GPIO51_nPIOW,
134 GPIO52_nPCE_1,
135 GPIO53_nPCE_2,
136 GPIO54_nPSKTSEL,
137 GPIO55_nPREG,
138 GPIO56_nPWAIT,
139 GPIO57_nIOIS16,
140
141 /* wakeup */
142 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
143};
144
145/* ----------------------------------------------------------------------- */
146
147static struct platform_device *devices[] __initdata = {
148 &e740_fb_device,
149};
150
151static void __init e740_init(void)
152{
153 pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config));
154 platform_add_devices(devices, ARRAY_SIZE(devices));
155 pxa_set_udc_info(&e7xx_udc_mach_info);
156}
157
158MACHINE_START(E740, "Toshiba e740")
159 /* Maintainer: Ian Molton (spyro@f2s.com) */
160 .phys_io = 0x40000000,
161 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
162 .boot_params = 0xa0000100,
163 .map_io = pxa_map_io,
164 .init_irq = pxa25x_init_irq,
165 .fixup = eseries_fixup,
166 .init_machine = e740_init,
167 .timer = &pxa_timer,
168MACHINE_END
169
diff --git a/arch/arm/mach-pxa/e740_lcd.c b/arch/arm/mach-pxa/e740_lcd.c
deleted file mode 100644
index 26bd599af178..000000000000
--- a/arch/arm/mach-pxa/e740_lcd.c
+++ /dev/null
@@ -1,123 +0,0 @@
1/* e740_lcd.c
2 *
3 * This file contains the definitions for the LCD timings and functions
4 * to control the LCD power / frontlighting via the w100fb driver.
5 *
6 * (c) 2005 Ian Molton <spyro@f2s.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
13
14#include <linux/module.h>
15#include <linux/device.h>
16#include <linux/fb.h>
17#include <linux/err.h>
18#include <linux/platform_device.h>
19
20#include <asm/mach-types.h>
21
22#include <video/w100fb.h>
23
24/*
25**potential** shutdown routine - to be investigated
26devmem2 0x0c010528 w 0xff3fff00
27devmem2 0x0c010190 w 0x7FFF8000
28devmem2 0x0c0101b0 w 0x00FF0000
29devmem2 0x0c01008c w 0x00000000
30devmem2 0x0c010080 w 0x000000bf
31devmem2 0x0c010098 w 0x00000015
32devmem2 0x0c010088 w 0x4b000204
33devmem2 0x0c010098 w 0x0000001d
34*/
35
36static struct w100_gen_regs e740_lcd_regs = {
37 .lcd_format = 0x00008023,
38 .lcdd_cntl1 = 0x0f000000,
39 .lcdd_cntl2 = 0x0003ffff,
40 .genlcd_cntl1 = 0x00ffff03,
41 .genlcd_cntl2 = 0x003c0f03,
42 .genlcd_cntl3 = 0x000143aa,
43};
44
45static struct w100_mode e740_lcd_mode = {
46 .xres = 240,
47 .yres = 320,
48 .left_margin = 20,
49 .right_margin = 28,
50 .upper_margin = 9,
51 .lower_margin = 8,
52 .crtc_ss = 0x80140013,
53 .crtc_ls = 0x81150110,
54 .crtc_gs = 0x80050005,
55 .crtc_vpos_gs = 0x000a0009,
56 .crtc_rev = 0x0040010a,
57 .crtc_dclk = 0xa906000a,
58 .crtc_gclk = 0x80050108,
59 .crtc_goe = 0x80050108,
60 .pll_freq = 57,
61 .pixclk_divider = 4,
62 .pixclk_divider_rotated = 4,
63 .pixclk_src = CLK_SRC_XTAL,
64 .sysclk_divider = 1,
65 .sysclk_src = CLK_SRC_PLL,
66 .crtc_ps1_active = 0x41060010,
67};
68
69
70static struct w100_gpio_regs e740_w100_gpio_info = {
71 .init_data1 = 0x21002103,
72 .gpio_dir1 = 0xffffdeff,
73 .gpio_oe1 = 0x03c00643,
74 .init_data2 = 0x003f003f,
75 .gpio_dir2 = 0xffffffff,
76 .gpio_oe2 = 0x000000ff,
77};
78
79static struct w100fb_mach_info e740_fb_info = {
80 .modelist = &e740_lcd_mode,
81 .num_modes = 1,
82 .regs = &e740_lcd_regs,
83 .gpio = &e740_w100_gpio_info,
84 .xtal_freq = 14318000,
85 .xtal_dbl = 1,
86};
87
88static struct resource e740_fb_resources[] = {
89 [0] = {
90 .start = 0x0c000000,
91 .end = 0x0cffffff,
92 .flags = IORESOURCE_MEM,
93 },
94};
95
96/* ----------------------- device declarations -------------------------- */
97
98
99static struct platform_device e740_fb_device = {
100 .name = "w100fb",
101 .id = -1,
102 .dev = {
103 .platform_data = &e740_fb_info,
104 },
105 .num_resources = ARRAY_SIZE(e740_fb_resources),
106 .resource = e740_fb_resources,
107};
108
109static int e740_lcd_init(void)
110{
111 int ret;
112
113 if (!machine_is_e740())
114 return -ENODEV;
115
116 return platform_device_register(&e740_fb_device);
117}
118
119module_init(e740_lcd_init);
120
121MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
122MODULE_DESCRIPTION("e740 lcd driver");
123MODULE_LICENSE("GPLv2");
diff --git a/arch/arm/mach-pxa/e750_lcd.c b/arch/arm/mach-pxa/e750.c
index 75edc3b5390f..640e738b85df 100644
--- a/arch/arm/mach-pxa/e750_lcd.c
+++ b/arch/arm/mach-pxa/e750.c
@@ -1,25 +1,35 @@
1/* e750_lcd.c 1/*
2 * Hardware definitions for the Toshiba eseries PDAs
2 * 3 *
3 * This file contains the definitions for the LCD timings and functions 4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
4 * to control the LCD power / frontlighting via the w100fb driver.
5 * 5 *
6 * (c) 2005 Ian Molton <spyro@f2s.com> 6 * This file is licensed under
7 * 7 * the terms of the GNU General Public License version 2. This program
8 * This program is free software; you can redistribute it and/or modify 8 * is licensed "as is" without any warranty of any kind, whether express
9 * it under the terms of the GNU General Public License version 2 as 9 * or implied.
10 * published by the Free Software Foundation.
11 * 10 *
12 */ 11 */
13 12
14#include <linux/module.h> 13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/device.h> 15#include <linux/device.h>
16#include <linux/fb.h>
17#include <linux/err.h>
18#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/fb.h>
18
19#include <video/w100fb.h>
19 20
21#include <asm/setup.h>
22#include <asm/mach/arch.h>
20#include <asm/mach-types.h> 23#include <asm/mach-types.h>
21 24
22#include <video/w100fb.h> 25#include <mach/mfp-pxa25x.h>
26#include <mach/hardware.h>
27#include <mach/udc.h>
28
29#include "generic.h"
30#include "eseries.h"
31
32/* ---------------------- E750 LCD definitions -------------------- */
23 33
24static struct w100_gen_regs e750_lcd_regs = { 34static struct w100_gen_regs e750_lcd_regs = {
25 .lcd_format = 0x00008003, 35 .lcd_format = 0x00008003,
@@ -54,7 +64,6 @@ static struct w100_mode e750_lcd_mode = {
54 .sysclk_src = CLK_SRC_PLL, 64 .sysclk_src = CLK_SRC_PLL,
55}; 65};
56 66
57
58static struct w100_gpio_regs e750_w100_gpio_info = { 67static struct w100_gpio_regs e750_w100_gpio_info = {
59 .init_data1 = 0x01192f1b, 68 .init_data1 = 0x01192f1b,
60 .gpio_dir1 = 0xd5ffdeff, 69 .gpio_dir1 = 0xd5ffdeff,
@@ -81,9 +90,6 @@ static struct resource e750_fb_resources[] = {
81 }, 90 },
82}; 91};
83 92
84/* ----------------------- device declarations -------------------------- */
85
86
87static struct platform_device e750_fb_device = { 93static struct platform_device e750_fb_device = {
88 .name = "w100fb", 94 .name = "w100fb",
89 .id = -1, 95 .id = -1,
@@ -94,16 +100,27 @@ static struct platform_device e750_fb_device = {
94 .resource = e750_fb_resources, 100 .resource = e750_fb_resources,
95}; 101};
96 102
97static int e750_lcd_init(void) 103/* ----------------------------------------------------------------------- */
98{
99 if (!machine_is_e750())
100 return -ENODEV;
101 104
102 return platform_device_register(&e750_fb_device); 105static struct platform_device *devices[] __initdata = {
106 &e750_fb_device,
107};
108
109static void __init e750_init(void)
110{
111 platform_add_devices(devices, ARRAY_SIZE(devices));
112 pxa_set_udc_info(&e7xx_udc_mach_info);
103} 113}
104 114
105module_init(e750_lcd_init); 115MACHINE_START(E750, "Toshiba e750")
116 /* Maintainer: Ian Molton (spyro@f2s.com) */
117 .phys_io = 0x40000000,
118 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
119 .boot_params = 0xa0000100,
120 .map_io = pxa_map_io,
121 .init_irq = pxa25x_init_irq,
122 .fixup = eseries_fixup,
123 .init_machine = e750_init,
124 .timer = &pxa_timer,
125MACHINE_END
106 126
107MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
108MODULE_DESCRIPTION("e750 lcd driver");
109MODULE_LICENSE("GPLv2");
diff --git a/arch/arm/mach-pxa/e800_lcd.c b/arch/arm/mach-pxa/e800.c
index e6aeab0ebc22..a293e09bfe25 100644
--- a/arch/arm/mach-pxa/e800_lcd.c
+++ b/arch/arm/mach-pxa/e800.c
@@ -1,25 +1,36 @@
1/* e800_lcd.c 1/*
2 * Hardware definitions for the Toshiba eseries PDAs
2 * 3 *
3 * This file contains the definitions for the LCD timings and functions 4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
4 * to control the LCD power / frontlighting via the w100fb driver.
5 * 5 *
6 * (c) 2005 Ian Molton <spyro@f2s.com> 6 * This file is licensed under
7 * 7 * the terms of the GNU General Public License version 2. This program
8 * This program is free software; you can redistribute it and/or modify 8 * is licensed "as is" without any warranty of any kind, whether express
9 * it under the terms of the GNU General Public License version 2 as 9 * or implied.
10 * published by the Free Software Foundation.
11 * 10 *
12 */ 11 */
13 12
14#include <linux/module.h> 13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/device.h> 15#include <linux/device.h>
16#include <linux/fb.h>
17#include <linux/err.h>
18#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/fb.h>
18
19#include <video/w100fb.h>
19 20
21#include <asm/setup.h>
22#include <asm/mach/arch.h>
20#include <asm/mach-types.h> 23#include <asm/mach-types.h>
21 24
22#include <video/w100fb.h> 25#include <mach/mfp-pxa25x.h>
26#include <mach/hardware.h>
27#include <mach/eseries-gpio.h>
28#include <mach/udc.h>
29
30#include "generic.h"
31#include "eseries.h"
32
33/* ------------------------ e800 LCD definitions ------------------------- */
23 34
24static struct w100_gen_regs e800_lcd_regs = { 35static struct w100_gen_regs e800_lcd_regs = {
25 .lcd_format = 0x00008003, 36 .lcd_format = 0x00008003,
@@ -71,8 +82,8 @@ static struct w100_mode e800_lcd_mode[2] = {
71 .crtc_goe = 0x80cc0015, 82 .crtc_goe = 0x80cc0015,
72 .crtc_ps1_active = 0x00000000, 83 .crtc_ps1_active = 0x00000000,
73 .pll_freq = 100, 84 .pll_freq = 100,
74 .pixclk_divider = 6, /* Wince uses 14 which gives a 7MHz pclk. */ 85 .pixclk_divider = 6, /* Wince uses 14 which gives a */
75 .pixclk_divider_rotated = 6, /* we want a 14MHz one (much nicer to look at) */ 86 .pixclk_divider_rotated = 6, /* 7MHz Pclk. We use a 14MHz one */
76 .pixclk_src = CLK_SRC_PLL, 87 .pixclk_src = CLK_SRC_PLL,
77 .sysclk_divider = 0, 88 .sysclk_divider = 0,
78 .sysclk_src = CLK_SRC_PLL, 89 .sysclk_src = CLK_SRC_PLL,
@@ -131,9 +142,6 @@ static struct resource e800_fb_resources[] = {
131 }, 142 },
132}; 143};
133 144
134/* ----------------------- device declarations -------------------------- */
135
136
137static struct platform_device e800_fb_device = { 145static struct platform_device e800_fb_device = {
138 .name = "w100fb", 146 .name = "w100fb",
139 .id = -1, 147 .id = -1,
@@ -144,16 +152,35 @@ static struct platform_device e800_fb_device = {
144 .resource = e800_fb_resources, 152 .resource = e800_fb_resources,
145}; 153};
146 154
147static int e800_lcd_init(void) 155/* --------------------------- UDC definitions --------------------------- */
148{ 156
149 if (!machine_is_e800()) 157static struct pxa2xx_udc_mach_info e800_udc_mach_info = {
150 return -ENODEV; 158 .gpio_vbus = GPIO_E800_USB_DISC,
159 .gpio_pullup = GPIO_E800_USB_PULLUP,
160 .gpio_pullup_inverted = 1
161};
151 162
152 return platform_device_register(&e800_fb_device); 163/* ----------------------------------------------------------------------- */
164
165static struct platform_device *devices[] __initdata = {
166 &e800_fb_device,
167};
168
169static void __init e800_init(void)
170{
171 platform_add_devices(devices, ARRAY_SIZE(devices));
172 pxa_set_udc_info(&e800_udc_mach_info);
153} 173}
154 174
155module_init(e800_lcd_init); 175MACHINE_START(E800, "Toshiba e800")
176 /* Maintainer: Ian Molton (spyro@f2s.com) */
177 .phys_io = 0x40000000,
178 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
179 .boot_params = 0xa0000100,
180 .map_io = pxa_map_io,
181 .init_irq = pxa25x_init_irq,
182 .fixup = eseries_fixup,
183 .init_machine = e800_init,
184 .timer = &pxa_timer,
185MACHINE_END
156 186
157MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
158MODULE_DESCRIPTION("e800 lcd driver");
159MODULE_LICENSE("GPLv2");
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index 001a252bd514..d28849b50a14 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -19,68 +19,13 @@
19 19
20#include <mach/mfp-pxa25x.h> 20#include <mach/mfp-pxa25x.h>
21#include <mach/hardware.h> 21#include <mach/hardware.h>
22#include <mach/eseries-gpio.h>
23#include <mach/udc.h>
22 24
23#include "generic.h" 25#include "generic.h"
24 26
25static unsigned long e740_pin_config[] __initdata = {
26 /* Chip selects */
27 GPIO15_nCS_1, /* CS1 - Flash */
28 GPIO79_nCS_3, /* CS3 - IMAGEON */
29 GPIO80_nCS_4, /* CS4 - TMIO */
30
31 /* Clocks */
32 GPIO12_32KHz,
33
34 /* BTUART */
35 GPIO42_BTUART_RXD,
36 GPIO43_BTUART_TXD,
37 GPIO44_BTUART_CTS,
38 GPIO45_GPIO, /* Used by TMIO for #SUSPEND */
39
40 /* PC Card */
41 GPIO8_GPIO, /* CD0 */
42 GPIO44_GPIO, /* CD1 */
43 GPIO11_GPIO, /* IRQ0 */
44 GPIO6_GPIO, /* IRQ1 */
45 GPIO27_GPIO, /* RST0 */
46 GPIO24_GPIO, /* RST1 */
47 GPIO20_GPIO, /* PWR0 */
48 GPIO23_GPIO, /* PWR1 */
49 GPIO48_nPOE,
50 GPIO49_nPWE,
51 GPIO50_nPIOR,
52 GPIO51_nPIOW,
53 GPIO52_nPCE_1,
54 GPIO53_nPCE_2,
55 GPIO54_nPSKTSEL,
56 GPIO55_nPREG,
57 GPIO56_nPWAIT,
58 GPIO57_nIOIS16,
59
60 /* wakeup */
61 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
62};
63
64static unsigned long e400_pin_config[] __initdata = {
65 /* Chip selects */
66 GPIO15_nCS_1, /* CS1 - Flash */
67 GPIO80_nCS_4, /* CS4 - TMIO */
68
69 /* Clocks */
70 GPIO12_32KHz,
71
72 /* BTUART */
73 GPIO42_BTUART_RXD,
74 GPIO43_BTUART_TXD,
75 GPIO44_BTUART_CTS,
76 GPIO45_GPIO, /* Used by TMIO for #SUSPEND */
77
78 /* wakeup */
79 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE,
80};
81
82/* Only e800 has 128MB RAM */ 27/* Only e800 has 128MB RAM */
83static void __init eseries_fixup(struct machine_desc *desc, 28void __init eseries_fixup(struct machine_desc *desc,
84 struct tag *tags, char **cmdline, struct meminfo *mi) 29 struct tag *tags, char **cmdline, struct meminfo *mi)
85{ 30{
86 mi->nr_banks=1; 31 mi->nr_banks=1;
@@ -92,95 +37,9 @@ static void __init eseries_fixup(struct machine_desc *desc,
92 mi->bank[0].size = (64*1024*1024); 37 mi->bank[0].size = (64*1024*1024);
93} 38}
94 39
95static void __init e740_init(void) 40struct pxa2xx_udc_mach_info e7xx_udc_mach_info = {
96{ 41 .gpio_vbus = GPIO_E7XX_USB_DISC,
97 pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); 42 .gpio_pullup = GPIO_E7XX_USB_PULLUP,
98} 43 .gpio_pullup_inverted = 1
99 44};
100static void __init e400_init(void)
101{
102 pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config));
103}
104
105/* e-series machine definitions */
106
107#ifdef CONFIG_MACH_E330
108MACHINE_START(E330, "Toshiba e330")
109 /* Maintainer: Ian Molton (spyro@f2s.com) */
110 .phys_io = 0x40000000,
111 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
112 .boot_params = 0xa0000100,
113 .map_io = pxa_map_io,
114 .init_irq = pxa25x_init_irq,
115 .fixup = eseries_fixup,
116 .timer = &pxa_timer,
117MACHINE_END
118#endif
119
120#ifdef CONFIG_MACH_E350
121MACHINE_START(E350, "Toshiba e350")
122 /* Maintainer: Ian Molton (spyro@f2s.com) */
123 .phys_io = 0x40000000,
124 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
125 .boot_params = 0xa0000100,
126 .map_io = pxa_map_io,
127 .init_irq = pxa25x_init_irq,
128 .fixup = eseries_fixup,
129 .timer = &pxa_timer,
130MACHINE_END
131#endif
132
133#ifdef CONFIG_MACH_E740
134MACHINE_START(E740, "Toshiba e740")
135 /* Maintainer: Ian Molton (spyro@f2s.com) */
136 .phys_io = 0x40000000,
137 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
138 .boot_params = 0xa0000100,
139 .map_io = pxa_map_io,
140 .init_irq = pxa25x_init_irq,
141 .fixup = eseries_fixup,
142 .init_machine = e740_init,
143 .timer = &pxa_timer,
144MACHINE_END
145#endif
146
147#ifdef CONFIG_MACH_E750
148MACHINE_START(E750, "Toshiba e750")
149 /* Maintainer: Ian Molton (spyro@f2s.com) */
150 .phys_io = 0x40000000,
151 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
152 .boot_params = 0xa0000100,
153 .map_io = pxa_map_io,
154 .init_irq = pxa25x_init_irq,
155 .fixup = eseries_fixup,
156 .timer = &pxa_timer,
157MACHINE_END
158#endif
159
160#ifdef CONFIG_MACH_E400
161MACHINE_START(E400, "Toshiba e400")
162 /* Maintainer: Ian Molton (spyro@f2s.com) */
163 .phys_io = 0x40000000,
164 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
165 .boot_params = 0xa0000100,
166 .map_io = pxa_map_io,
167 .init_irq = pxa25x_init_irq,
168 .fixup = eseries_fixup,
169 .init_machine = e400_init,
170 .timer = &pxa_timer,
171MACHINE_END
172#endif
173
174#ifdef CONFIG_MACH_E800
175MACHINE_START(E800, "Toshiba e800")
176 /* Maintainer: Ian Molton (spyro@f2s.com) */
177 .phys_io = 0x40000000,
178 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
179 .boot_params = 0xa0000100,
180 .map_io = pxa_map_io,
181 .init_irq = pxa25x_init_irq,
182 .fixup = eseries_fixup,
183 .timer = &pxa_timer,
184MACHINE_END
185#endif
186 45
diff --git a/arch/arm/mach-pxa/eseries.h b/arch/arm/mach-pxa/eseries.h
new file mode 100644
index 000000000000..a83f88d4b6ad
--- /dev/null
+++ b/arch/arm/mach-pxa/eseries.h
@@ -0,0 +1,4 @@
1void __init eseries_fixup(struct machine_desc *desc,
2 struct tag *tags, char **cmdline, struct meminfo *mi);
3
4extern struct pxa2xx_udc_mach_info e7xx_udc_mach_info;
diff --git a/arch/arm/mach-pxa/eseries_udc.c b/arch/arm/mach-pxa/eseries_udc.c
deleted file mode 100644
index d622c04c0d44..000000000000
--- a/arch/arm/mach-pxa/eseries_udc.c
+++ /dev/null
@@ -1,57 +0,0 @@
1/*
2 * UDC functions for the Toshiba e-series PDAs
3 *
4 * Copyright (c) Ian Molton 2003
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/device.h>
16
17#include <mach/udc.h>
18#include <mach/eseries-gpio.h>
19#include <mach/hardware.h>
20#include <mach/pxa-regs.h>
21#include <asm/mach/arch.h>
22#include <asm/mach-types.h>
23#include <asm/mach/map.h>
24#include <asm/domain.h>
25
26/* local PXA generic code */
27#include "generic.h"
28
29static struct pxa2xx_udc_mach_info e7xx_udc_mach_info = {
30 .gpio_vbus = GPIO_E7XX_USB_DISC,
31 .gpio_pullup = GPIO_E7XX_USB_PULLUP,
32 .gpio_pullup_inverted = 1
33};
34
35static struct pxa2xx_udc_mach_info e800_udc_mach_info = {
36 .gpio_vbus = GPIO_E800_USB_DISC,
37 .gpio_pullup = GPIO_E800_USB_PULLUP,
38 .gpio_pullup_inverted = 1
39};
40
41static int __init eseries_udc_init(void)
42{
43 if (machine_is_e330() || machine_is_e350() ||
44 machine_is_e740() || machine_is_e750() ||
45 machine_is_e400())
46 pxa_set_udc_info(&e7xx_udc_mach_info);
47 else if (machine_is_e800())
48 pxa_set_udc_info(&e800_udc_mach_info);
49
50 return 0;
51}
52
53module_init(eseries_udc_init);
54
55MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
56MODULE_DESCRIPTION("eseries UDC support");
57MODULE_LICENSE("GPLv2");
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h
index 041c048320e4..dc876a8e6668 100644
--- a/arch/arm/mach-pxa/generic.h
+++ b/arch/arm/mach-pxa/generic.h
@@ -65,4 +65,5 @@ static inline void pxa3xx_clear_reset_status(unsigned int mask) {}
65 65
66extern struct sysdev_class pxa_irq_sysclass; 66extern struct sysdev_class pxa_irq_sysclass;
67extern struct sysdev_class pxa_gpio_sysclass; 67extern struct sysdev_class pxa_gpio_sysclass;
68extern struct sysdev_class pxa2xx_mfp_sysclass;
68extern struct sysdev_class pxa3xx_mfp_sysclass; 69extern struct sysdev_class pxa3xx_mfp_sysclass;
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c
index c0092472fa58..d8962a0fb98d 100644
--- a/arch/arm/mach-pxa/gumstix.c
+++ b/arch/arm/mach-pxa/gumstix.c
@@ -20,8 +20,12 @@
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/platform_device.h> 21#include <linux/platform_device.h>
22#include <linux/interrupt.h> 22#include <linux/interrupt.h>
23#include <linux/delay.h>
23#include <linux/mtd/mtd.h> 24#include <linux/mtd/mtd.h>
24#include <linux/mtd/partitions.h> 25#include <linux/mtd/partitions.h>
26#include <linux/gpio.h>
27#include <linux/err.h>
28#include <linux/clk.h>
25 29
26#include <asm/setup.h> 30#include <asm/setup.h>
27#include <asm/memory.h> 31#include <asm/memory.h>
@@ -40,7 +44,7 @@
40 44
41#include <mach/pxa-regs.h> 45#include <mach/pxa-regs.h>
42#include <mach/pxa2xx-regs.h> 46#include <mach/pxa2xx-regs.h>
43#include <mach/pxa2xx-gpio.h> 47#include <mach/mfp-pxa25x.h>
44 48
45#include "generic.h" 49#include "generic.h"
46 50
@@ -85,21 +89,8 @@ static struct platform_device *devices[] __initdata = {
85}; 89};
86 90
87#ifdef CONFIG_MMC_PXA 91#ifdef CONFIG_MMC_PXA
88static struct pxamci_platform_data gumstix_mci_platform_data;
89
90static int gumstix_mci_init(struct device *dev, irq_handler_t detect_int,
91 void *data)
92{
93 pxa_gpio_mode(GPIO6_MMCCLK_MD);
94 pxa_gpio_mode(GPIO53_MMCCLK_MD);
95 pxa_gpio_mode(GPIO8_MMCCS0_MD);
96
97 return 0;
98}
99
100static struct pxamci_platform_data gumstix_mci_platform_data = { 92static struct pxamci_platform_data gumstix_mci_platform_data = {
101 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, 93 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
102 .init = gumstix_mci_init,
103}; 94};
104 95
105static void __init gumstix_mmc_init(void) 96static void __init gumstix_mmc_init(void)
@@ -109,11 +100,11 @@ static void __init gumstix_mmc_init(void)
109#else 100#else
110static void __init gumstix_mmc_init(void) 101static void __init gumstix_mmc_init(void)
111{ 102{
112 printk(KERN_INFO "Gumstix mmc disabled\n"); 103 pr_debug("Gumstix mmc disabled\n");
113} 104}
114#endif 105#endif
115 106
116#ifdef CONFIG_USB_GADGET_PXA2XX 107#ifdef CONFIG_USB_GADGET_PXA25X
117static struct pxa2xx_udc_mach_info gumstix_udc_info __initdata = { 108static struct pxa2xx_udc_mach_info gumstix_udc_info __initdata = {
118 .gpio_vbus = GPIO_GUMSTIX_USB_GPIOn, 109 .gpio_vbus = GPIO_GUMSTIX_USB_GPIOn,
119 .gpio_pullup = GPIO_GUMSTIX_USB_GPIOx, 110 .gpio_pullup = GPIO_GUMSTIX_USB_GPIOx,
@@ -126,12 +117,87 @@ static void __init gumstix_udc_init(void)
126#else 117#else
127static void gumstix_udc_init(void) 118static void gumstix_udc_init(void)
128{ 119{
129 printk(KERN_INFO "Gumstix udc is disabled\n"); 120 pr_debug("Gumstix udc is disabled\n");
130} 121}
131#endif 122#endif
132 123
124#ifdef CONFIG_BT
125/* Normally, the bootloader would have enabled this 32kHz clock but many
126** boards still have u-boot 1.1.4 so we check if it has been turned on and
127** if not, we turn it on with a warning message. */
128static void gumstix_setup_bt_clock(void)
129{
130 int timeout = 500;
131
132 if (!(OSCC & OSCC_OOK))
133 pr_warning("32kHz clock was not on. Bootloader may need to "
134 "be updated\n");
135 else
136 return;
137
138 OSCC |= OSCC_OON;
139 do {
140 if (OSCC & OSCC_OOK)
141 break;
142 udelay(1);
143 } while (--timeout);
144 if (!timeout)
145 pr_err("Failed to start 32kHz clock\n");
146}
147
148static void __init gumstix_bluetooth_init(void)
149{
150 int err;
151
152 gumstix_setup_bt_clock();
153
154 err = gpio_request(GPIO_GUMSTIX_BTRESET, "BTRST");
155 if (err) {
156 pr_err("gumstix: failed request gpio for bluetooth reset\n");
157 return;
158 }
159
160 err = gpio_direction_output(GPIO_GUMSTIX_BTRESET, 1);
161 if (err) {
162 pr_err("gumstix: can't reset bluetooth\n");
163 return;
164 }
165 gpio_set_value(GPIO_GUMSTIX_BTRESET, 0);
166 udelay(100);
167 gpio_set_value(GPIO_GUMSTIX_BTRESET, 1);
168}
169#else
170static void gumstix_bluetooth_init(void)
171{
172 pr_debug("Gumstix Bluetooth is disabled\n");
173}
174#endif
175
176static unsigned long gumstix_pin_config[] __initdata = {
177 GPIO12_32KHz,
178 /* BTUART */
179 GPIO42_HWUART_RXD,
180 GPIO43_HWUART_TXD,
181 GPIO44_HWUART_CTS,
182 GPIO45_HWUART_RTS,
183 /* MMC */
184 GPIO6_MMC_CLK,
185 GPIO53_MMC_CLK,
186 GPIO8_MMC_CS0,
187 /* these are used by AM200EPD */
188 GPIO51_GPIO,
189 GPIO49_GPIO,
190 GPIO48_GPIO,
191 GPIO32_GPIO,
192 GPIO17_GPIO,
193 GPIO16_GPIO,
194};
195
133static void __init gumstix_init(void) 196static void __init gumstix_init(void)
134{ 197{
198 pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config));
199
200 gumstix_bluetooth_init();
135 gumstix_udc_init(); 201 gumstix_udc_init();
136 gumstix_mmc_init(); 202 gumstix_mmc_init();
137 (void) platform_add_devices(devices, ARRAY_SIZE(devices)); 203 (void) platform_add_devices(devices, ARRAY_SIZE(devices));
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c
index 5aa0270d5605..013b15baa034 100644
--- a/arch/arm/mach-pxa/idp.c
+++ b/arch/arm/mach-pxa/idp.c
@@ -32,7 +32,7 @@
32#include <asm/mach/map.h> 32#include <asm/mach/map.h>
33 33
34#include <mach/pxa-regs.h> 34#include <mach/pxa-regs.h>
35#include <mach/pxa2xx-gpio.h> 35#include <mach/mfp-pxa25x.h>
36#include <mach/idp.h> 36#include <mach/idp.h>
37#include <mach/pxafb.h> 37#include <mach/pxafb.h>
38#include <mach/bitfield.h> 38#include <mach/bitfield.h>
@@ -46,6 +46,47 @@
46 * - Ethernet interrupt 46 * - Ethernet interrupt
47 */ 47 */
48 48
49static unsigned long idp_pin_config[] __initdata = {
50 /* LCD */
51 GPIO58_LCD_LDD_0,
52 GPIO59_LCD_LDD_1,
53 GPIO60_LCD_LDD_2,
54 GPIO61_LCD_LDD_3,
55 GPIO62_LCD_LDD_4,
56 GPIO63_LCD_LDD_5,
57 GPIO64_LCD_LDD_6,
58 GPIO65_LCD_LDD_7,
59 GPIO66_LCD_LDD_8,
60 GPIO67_LCD_LDD_9,
61 GPIO68_LCD_LDD_10,
62 GPIO69_LCD_LDD_11,
63 GPIO70_LCD_LDD_12,
64 GPIO71_LCD_LDD_13,
65 GPIO72_LCD_LDD_14,
66 GPIO73_LCD_LDD_15,
67 GPIO74_LCD_FCLK,
68 GPIO75_LCD_LCLK,
69 GPIO76_LCD_PCLK,
70
71 /* BTUART */
72 GPIO42_BTUART_RXD,
73 GPIO43_BTUART_TXD,
74 GPIO44_BTUART_CTS,
75 GPIO45_BTUART_RTS,
76
77 /* STUART */
78 GPIO46_STUART_RXD,
79 GPIO47_STUART_TXD,
80
81 /* MMC */
82 GPIO6_MMC_CLK,
83 GPIO8_MMC_CS0,
84
85 /* Ethernet */
86 GPIO33_nCS_5, /* Ethernet CS */
87 GPIO4_GPIO, /* Ethernet IRQ */
88};
89
49static struct resource smc91x_resources[] = { 90static struct resource smc91x_resources[] = {
50 [0] = { 91 [0] = {
51 .start = (IDP_ETH_PHYS + 0x300), 92 .start = (IDP_ETH_PHYS + 0x300),
@@ -121,44 +162,28 @@ static struct pxafb_mach_info sharp_lm8v31 = {
121 .num_modes = 1, 162 .num_modes = 1,
122 .cmap_inverse = 0, 163 .cmap_inverse = 0,
123 .cmap_static = 0, 164 .cmap_static = 0,
124 .lccr0 = LCCR0_SDS, 165 .lcd_conn = LCD_COLOR_DSTN_16BPP | LCD_PCLK_EDGE_FALL |
125 .lccr3 = LCCR3_PCP | LCCR3_Acb(255), 166 LCD_AC_BIAS_FREQ(255),
126 .pxafb_backlight_power = &idp_backlight_power, 167 .pxafb_backlight_power = &idp_backlight_power,
127 .pxafb_lcd_power = &idp_lcd_power 168 .pxafb_lcd_power = &idp_lcd_power
128}; 169};
129 170
130static int idp_mci_init(struct device *dev, irq_handler_t idp_detect_int, void *data)
131{
132 /* setup GPIO for PXA25x MMC controller */
133 pxa_gpio_mode(GPIO6_MMCCLK_MD);
134 pxa_gpio_mode(GPIO8_MMCCS0_MD);
135
136 return 0;
137}
138
139static struct pxamci_platform_data idp_mci_platform_data = { 171static struct pxamci_platform_data idp_mci_platform_data = {
140 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, 172 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
141 .init = idp_mci_init,
142}; 173};
143 174
144static void __init idp_init(void) 175static void __init idp_init(void)
145{ 176{
146 printk("idp_init()\n"); 177 printk("idp_init()\n");
147 178
179 pxa2xx_mfp_config(ARRAY_AND_SIZE(idp_pin_config));
180
148 platform_device_register(&smc91x_device); 181 platform_device_register(&smc91x_device);
149 //platform_device_register(&mst_audio_device); 182 //platform_device_register(&mst_audio_device);
150 set_pxa_fb_info(&sharp_lm8v31); 183 set_pxa_fb_info(&sharp_lm8v31);
151 pxa_set_mci_info(&idp_mci_platform_data); 184 pxa_set_mci_info(&idp_mci_platform_data);
152} 185}
153 186
154static void __init idp_init_irq(void)
155{
156
157 pxa25x_init_irq();
158
159 set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE);
160}
161
162static struct map_desc idp_io_desc[] __initdata = { 187static struct map_desc idp_io_desc[] __initdata = {
163 { 188 {
164 .virtual = IDP_COREVOLT_VIRT, 189 .virtual = IDP_COREVOLT_VIRT,
@@ -177,15 +202,6 @@ static void __init idp_map_io(void)
177{ 202{
178 pxa_map_io(); 203 pxa_map_io();
179 iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc)); 204 iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc));
180
181 // serial ports 2 & 3
182 pxa_gpio_mode(GPIO42_BTRXD_MD);
183 pxa_gpio_mode(GPIO43_BTTXD_MD);
184 pxa_gpio_mode(GPIO44_BTCTS_MD);
185 pxa_gpio_mode(GPIO45_BTRTS_MD);
186 pxa_gpio_mode(GPIO46_STRXD_MD);
187 pxa_gpio_mode(GPIO47_STTXD_MD);
188
189} 205}
190 206
191 207
@@ -194,7 +210,7 @@ MACHINE_START(PXA_IDP, "Vibren PXA255 IDP")
194 .phys_io = 0x40000000, 210 .phys_io = 0x40000000,
195 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, 211 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
196 .map_io = idp_map_io, 212 .map_io = idp_map_io,
197 .init_irq = idp_init_irq, 213 .init_irq = pxa25x_init_irq,
198 .timer = &pxa_timer, 214 .timer = &pxa_timer,
199 .init_machine = idp_init, 215 .init_machine = idp_init,
200MACHINE_END 216MACHINE_END
diff --git a/arch/arm/mach-pxa/include/mach/akita.h b/arch/arm/mach-pxa/include/mach/akita.h
deleted file mode 100644
index 5d8cc1d9cb10..000000000000
--- a/arch/arm/mach-pxa/include/mach/akita.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/*
2 * Hardware specific definitions for SL-C1000 (Akita)
3 *
4 * Copyright (c) 2005 Richard Purdie
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
12/* Akita IO Expander GPIOs */
13
14#define AKITA_IOEXP_RESERVED_7 (1 << 7)
15#define AKITA_IOEXP_IR_ON (1 << 6)
16#define AKITA_IOEXP_AKIN_PULLUP (1 << 5)
17#define AKITA_IOEXP_BACKLIGHT_CONT (1 << 4)
18#define AKITA_IOEXP_BACKLIGHT_ON (1 << 3)
19#define AKITA_IOEXP_MIC_BIAS (1 << 2)
20#define AKITA_IOEXP_RESERVED_1 (1 << 1)
21#define AKITA_IOEXP_RESERVED_0 (1 << 0)
22
23/* Direction Bitfield 0=output 1=input */
24#define AKITA_IOEXP_IO_DIR 0
25/* Default Values */
26#define AKITA_IOEXP_IO_OUT (AKITA_IOEXP_IR_ON | AKITA_IOEXP_AKIN_PULLUP)
27
28extern struct platform_device akitaioexp_device;
29
30void akita_set_ioexp(struct device *dev, unsigned char bitmask);
31void akita_reset_ioexp(struct device *dev, unsigned char bitmask);
32
diff --git a/arch/arm/mach-pxa/include/mach/corgi.h b/arch/arm/mach-pxa/include/mach/corgi.h
index bf856503baf6..585970ef08ce 100644
--- a/arch/arm/mach-pxa/include/mach/corgi.h
+++ b/arch/arm/mach-pxa/include/mach/corgi.h
@@ -98,12 +98,21 @@
98 CORGI_SCP_MIC_BIAS ) 98 CORGI_SCP_MIC_BIAS )
99#define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) 99#define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R )
100 100
101#define CORGI_SCOOP_GPIO_BASE (NR_BUILTIN_GPIO)
102#define CORGI_GPIO_LED_GREEN (CORGI_SCOOP_GPIO_BASE + 0)
103#define CORGI_GPIO_SWA (CORGI_SCOOP_GPIO_BASE + 1) /* Hinge Switch A */
104#define CORGI_GPIO_SWB (CORGI_SCOOP_GPIO_BASE + 2) /* Hinge Switch B */
105#define CORGI_GPIO_MUTE_L (CORGI_SCOOP_GPIO_BASE + 3)
106#define CORGI_GPIO_MUTE_R (CORGI_SCOOP_GPIO_BASE + 4)
107#define CORGI_GPIO_AKIN_PULLUP (CORGI_SCOOP_GPIO_BASE + 5)
108#define CORGI_GPIO_APM_ON (CORGI_SCOOP_GPIO_BASE + 6)
109#define CORGI_GPIO_BACKLIGHT_CONT (CORGI_SCOOP_GPIO_BASE + 7)
110#define CORGI_GPIO_MIC_BIAS (CORGI_SCOOP_GPIO_BASE + 8)
101 111
102/* 112/*
103 * Shared data structures 113 * Shared data structures
104 */ 114 */
105extern struct platform_device corgiscoop_device; 115extern struct platform_device corgiscoop_device;
106extern struct platform_device corgissp_device;
107 116
108#endif /* __ASM_ARCH_CORGI_H */ 117#endif /* __ASM_ARCH_CORGI_H */
109 118
diff --git a/arch/arm/mach-pxa/include/mach/littleton.h b/arch/arm/mach-pxa/include/mach/littleton.h
index 79d209b826f4..5c4e320c1437 100644
--- a/arch/arm/mach-pxa/include/mach/littleton.h
+++ b/arch/arm/mach-pxa/include/mach/littleton.h
@@ -3,4 +3,6 @@
3 3
4#define LITTLETON_ETH_PHYS 0x30000000 4#define LITTLETON_ETH_PHYS 0x30000000
5 5
6#define LITTLETON_GPIO_LCD_CS (17)
7
6#endif /* __ASM_ARCH_ZYLONITE_H */ 8#endif /* __ASM_ARCH_ZYLONITE_H */
diff --git a/arch/arm/mach-pxa/include/mach/memory.h b/arch/arm/mach-pxa/include/mach/memory.h
index 552eb7fa6579..59aef89808d6 100644
--- a/arch/arm/mach-pxa/include/mach/memory.h
+++ b/arch/arm/mach-pxa/include/mach/memory.h
@@ -40,11 +40,11 @@
40#define NODE_MEM_SIZE_BITS 26 40#define NODE_MEM_SIZE_BITS 26
41 41
42#if !defined(__ASSEMBLY__) && defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) 42#if !defined(__ASSEMBLY__) && defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
43void cmx270_pci_adjust_zones(int node, unsigned long *size, 43void cmx2xx_pci_adjust_zones(int node, unsigned long *size,
44 unsigned long *holes); 44 unsigned long *holes);
45 45
46#define arch_adjust_zones(node, size, holes) \ 46#define arch_adjust_zones(node, size, holes) \
47 cmx270_pci_adjust_zones(node, size, holes) 47 cmx2xx_pci_adjust_zones(node, size, holes)
48 48
49#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_64M - 1) 49#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_64M - 1)
50#endif 50#endif
diff --git a/arch/arm/mach-pxa/include/mach/mfp-pxa25x.h b/arch/arm/mach-pxa/include/mach/mfp-pxa25x.h
index 6c8e72238bfd..617cab2cc8d0 100644
--- a/arch/arm/mach-pxa/include/mach/mfp-pxa25x.h
+++ b/arch/arm/mach-pxa/include/mach/mfp-pxa25x.h
@@ -17,7 +17,7 @@
17 17
18/* Crystal and Clock Signals */ 18/* Crystal and Clock Signals */
19#define GPIO10_RTCCLK MFP_CFG_OUT(GPIO10, AF1, DRIVE_LOW) 19#define GPIO10_RTCCLK MFP_CFG_OUT(GPIO10, AF1, DRIVE_LOW)
20#define GPIO70_RTC_CLK MFP_CFG_OUT(GPIO70, AF1, DRIVE_LOW) 20#define GPIO70_RTCCLK MFP_CFG_OUT(GPIO70, AF1, DRIVE_LOW)
21#define GPIO7_48MHz MFP_CFG_OUT(GPIO7, AF1, DRIVE_LOW) 21#define GPIO7_48MHz MFP_CFG_OUT(GPIO7, AF1, DRIVE_LOW)
22#define GPIO11_3_6MHz MFP_CFG_OUT(GPIO11, AF1, DRIVE_LOW) 22#define GPIO11_3_6MHz MFP_CFG_OUT(GPIO11, AF1, DRIVE_LOW)
23#define GPIO71_3_6MHz MFP_CFG_OUT(GPIO71, AF1, DRIVE_LOW) 23#define GPIO71_3_6MHz MFP_CFG_OUT(GPIO71, AF1, DRIVE_LOW)
@@ -156,6 +156,6 @@
156#define GPIO74_LCD_FCLK MFP_CFG_OUT(GPIO74, AF2, DRIVE_LOW) 156#define GPIO74_LCD_FCLK MFP_CFG_OUT(GPIO74, AF2, DRIVE_LOW)
157#define GPIO75_LCD_LCLK MFP_CFG_OUT(GPIO75, AF2, DRIVE_LOW) 157#define GPIO75_LCD_LCLK MFP_CFG_OUT(GPIO75, AF2, DRIVE_LOW)
158#define GPIO76_LCD_PCLK MFP_CFG_OUT(GPIO76, AF2, DRIVE_LOW) 158#define GPIO76_LCD_PCLK MFP_CFG_OUT(GPIO76, AF2, DRIVE_LOW)
159#define GPIO77_LCD_ACBIAS MFP_CFG_OUT(GPIO77, AF2, DRIVE_LOW) 159#define GPIO77_LCD_BIAS MFP_CFG_OUT(GPIO77, AF2, DRIVE_LOW)
160 160
161#endif /* __ASM_ARCH_MFP_PXA25X_H */ 161#endif /* __ASM_ARCH_MFP_PXA25X_H */
diff --git a/arch/arm/mach-pxa/include/mach/mfp-pxa320.h b/arch/arm/mach-pxa/include/mach/mfp-pxa320.h
index 74990510cf34..67f8385ea548 100644
--- a/arch/arm/mach-pxa/include/mach/mfp-pxa320.h
+++ b/arch/arm/mach-pxa/include/mach/mfp-pxa320.h
@@ -257,10 +257,10 @@
257#define GPIO38_SSP2_RXD MFP_CFG(GPIO38, AF2) 257#define GPIO38_SSP2_RXD MFP_CFG(GPIO38, AF2)
258#define GPIO38_SSP2_TXD MFP_CFG(GPIO38, AF5) 258#define GPIO38_SSP2_TXD MFP_CFG(GPIO38, AF5)
259 259
260#define GPIO69_SSP3_SCLK MFP_CFG(GPIO69, AF2, DS08X, FLOAT) 260#define GPIO69_SSP3_SCLK MFP_CFG_X(GPIO69, AF2, DS08X, FLOAT)
261#define GPIO70_SSP3_FRM MFP_CFG(GPIO70, AF2, DS08X, DRIVE_LOW) 261#define GPIO70_SSP3_FRM MFP_CFG_X(GPIO70, AF2, DS08X, DRIVE_LOW)
262#define GPIO89_SSP3_SCLK MFP_CFG(GPIO89, AF1, DS08X, FLOAT) 262#define GPIO89_SSP3_SCLK MFP_CFG_X(GPIO89, AF1, DS08X, FLOAT)
263#define GPIO90_SSP3_FRM MFP_CFG(GPIO90, AF1, DS08X, DRIVE_LOW) 263#define GPIO90_SSP3_FRM MFP_CFG_X(GPIO90, AF1, DS08X, DRIVE_LOW)
264#define GPIO71_SSP3_RXD MFP_CFG_X(GPIO71, AF5, DS08X, FLOAT) 264#define GPIO71_SSP3_RXD MFP_CFG_X(GPIO71, AF5, DS08X, FLOAT)
265#define GPIO71_SSP3_TXD MFP_CFG_X(GPIO71, AF2, DS08X, DRIVE_LOW) 265#define GPIO71_SSP3_TXD MFP_CFG_X(GPIO71, AF2, DS08X, DRIVE_LOW)
266#define GPIO72_SSP3_RXD MFP_CFG_X(GPIO72, AF2, DS08X, FLOAT) 266#define GPIO72_SSP3_RXD MFP_CFG_X(GPIO72, AF2, DS08X, FLOAT)
diff --git a/arch/arm/mach-pxa/include/mach/mfp.h b/arch/arm/mach-pxa/include/mach/mfp.h
index 8769567b389b..482185053a92 100644
--- a/arch/arm/mach-pxa/include/mach/mfp.h
+++ b/arch/arm/mach-pxa/include/mach/mfp.h
@@ -274,12 +274,13 @@ typedef unsigned long mfp_cfg_t;
274#define MFP_DS_MASK (0x7 << 13) 274#define MFP_DS_MASK (0x7 << 13)
275#define MFP_DS(x) (((x) >> 13) & 0x7) 275#define MFP_DS(x) (((x) >> 13) & 0x7)
276 276
277#define MFP_LPM_INPUT (0x0 << 16) 277#define MFP_LPM_DEFAULT (0x0 << 16)
278#define MFP_LPM_DRIVE_LOW (0x1 << 16) 278#define MFP_LPM_DRIVE_LOW (0x1 << 16)
279#define MFP_LPM_DRIVE_HIGH (0x2 << 16) 279#define MFP_LPM_DRIVE_HIGH (0x2 << 16)
280#define MFP_LPM_PULL_LOW (0x3 << 16) 280#define MFP_LPM_PULL_LOW (0x3 << 16)
281#define MFP_LPM_PULL_HIGH (0x4 << 16) 281#define MFP_LPM_PULL_HIGH (0x4 << 16)
282#define MFP_LPM_FLOAT (0x5 << 16) 282#define MFP_LPM_FLOAT (0x5 << 16)
283#define MFP_LPM_INPUT (0x6 << 16)
283#define MFP_LPM_STATE_MASK (0x7 << 16) 284#define MFP_LPM_STATE_MASK (0x7 << 16)
284#define MFP_LPM_STATE(x) (((x) >> 16) & 0x7) 285#define MFP_LPM_STATE(x) (((x) >> 16) & 0x7)
285 286
@@ -297,7 +298,7 @@ typedef unsigned long mfp_cfg_t;
297#define MFP_PULL_MASK (0x3 << 21) 298#define MFP_PULL_MASK (0x3 << 21)
298#define MFP_PULL(x) (((x) >> 21) & 0x3) 299#define MFP_PULL(x) (((x) >> 21) & 0x3)
299 300
300#define MFP_CFG_DEFAULT (MFP_AF0 | MFP_DS03X | MFP_LPM_INPUT |\ 301#define MFP_CFG_DEFAULT (MFP_AF0 | MFP_DS03X | MFP_LPM_DEFAULT |\
301 MFP_LPM_EDGE_NONE | MFP_PULL_NONE) 302 MFP_LPM_EDGE_NONE | MFP_PULL_NONE)
302 303
303#define MFP_CFG(pin, af) \ 304#define MFP_CFG(pin, af) \
diff --git a/arch/arm/mach-pxa/include/mach/mioa701.h b/arch/arm/mach-pxa/include/mach/mioa701.h
new file mode 100644
index 000000000000..8483cb511831
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/mioa701.h
@@ -0,0 +1,67 @@
1#ifndef _MIOA701_H_
2#define _MIOA701_H_
3
4#define MIO_CFG_IN(pin, af) \
5 ((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK)) |\
6 (MFP_PIN(pin) | MFP_##af | MFP_DIR_IN))
7
8#define MIO_CFG_OUT(pin, af, state) \
9 ((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK | MFP_LPM_STATE_MASK)) |\
10 (MFP_PIN(pin) | MFP_##af | MFP_DIR_OUT | MFP_LPM_##state))
11
12/* Global GPIOs */
13#define GPIO9_CHARGE_nEN 9
14#define GPIO18_POWEROFF 18
15#define GPIO87_LCD_POWER 87
16
17/* USB */
18#define GPIO13_USB_DETECT 13
19#define GPIO22_USB_ENABLE 22
20
21/* SDIO bits */
22#define GPIO78_SDIO_RO 78
23#define GPIO15_SDIO_INSERT 15
24#define GPIO91_SDIO_EN 91
25
26/* Bluetooth */
27#define GPIO83_BT_ON 83
28
29/* GPS */
30#define GPIO23_GPS_UNKNOWN1 23
31#define GPIO26_GPS_ON 26
32#define GPIO27_GPS_RESET 27
33#define GPIO106_GPS_UNKNOWN2 106
34#define GPIO107_GPS_UNKNOWN3 107
35
36/* GSM */
37#define GPIO24_GSM_MOD_RESET_CMD 24
38#define GPIO88_GSM_nMOD_ON_CMD 88
39#define GPIO90_GSM_nMOD_OFF_CMD 90
40#define GPIO114_GSM_nMOD_DTE_UART_STATE 114
41#define GPIO25_GSM_MOD_ON_STATE 25
42#define GPIO113_GSM_EVENT 113
43
44/* SOUND */
45#define GPIO12_HPJACK_INSERT 12
46
47/* LEDS */
48#define GPIO10_LED_nCharging 10
49#define GPIO97_LED_nBlue 97
50#define GPIO98_LED_nOrange 98
51#define GPIO82_LED_nVibra 82
52#define GPIO115_LED_nKeyboard 115
53
54/* Keyboard */
55#define GPIO0_KEY_POWER 0
56#define GPIO93_KEY_VOLUME_UP 93
57#define GPIO94_KEY_VOLUME_DOWN 94
58
59extern struct input_dev *mioa701_evdev;
60extern void mioa701_gpio_lpm_set(unsigned long mfp_pin);
61
62/* Assembler externals mioa701_bootresume.S */
63extern u32 mioa701_bootstrap;
64extern u32 mioa701_jumpaddr;
65extern u32 mioa701_bootstrap_lg;
66
67#endif /* _MIOA701_H */
diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
new file mode 100644
index 000000000000..8fd30bcecb7c
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/palmz72.h
@@ -0,0 +1,67 @@
1/*
2 * GPIOs and interrupts for Palm Zire72 Handheld Computer
3 *
4 * Authors: Alex Osborne <bobofdoom@gmail.com>
5 * Jan Herman <2hp@seznam.cz>
6 * Sergey Lapin <slapin@ossfans.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
13
14#ifndef _INCLUDE_PALMZ72_H_
15#define _INCLUDE_PALMZ72_H_
16
17/* Power and control */
18#define GPIO_NR_PALMZ72_GPIO_RESET 1
19#define GPIO_NR_PALMZ72_POWER_DETECT 0
20
21/* SD/MMC */
22#define GPIO_NR_PALMZ72_SD_DETECT_N 14
23#define GPIO_NR_PALMZ72_SD_POWER_N 98
24#define GPIO_NR_PALMZ72_SD_RO 115
25
26/* Touchscreen */
27#define GPIO_NR_PALMZ72_WM9712_IRQ 27
28
29/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
30#define GPIO_NR_PALMZ72_IR_DISABLE 49
31
32/* USB */
33#define GPIO_NR_PALMZ72_USB_DETECT_N 15
34#define GPIO_NR_PALMZ72_USB_POWER 95
35#define GPIO_NR_PALMZ72_USB_PULLUP 12
36
37/* LCD/Backlight */
38#define GPIO_NR_PALMZ72_BL_POWER 20
39#define GPIO_NR_PALMZ72_LCD_POWER 96
40
41/* LED */
42#define GPIO_NR_PALMZ72_LED_GREEN 88
43
44/* Bluetooth */
45#define GPIO_NR_PALMZ72_BT_POWER 17
46#define GPIO_NR_PALMZ72_BT_RESET 83
47
48/** Initial values **/
49
50/* Battery */
51#define PALMZ72_BAT_MAX_VOLTAGE 4000 /* 4.00v current voltage */
52#define PALMZ72_BAT_MIN_VOLTAGE 3550 /* 3.55v critical voltage */
53#define PALMZ72_BAT_MAX_CURRENT 0 /* unknokn */
54#define PALMZ72_BAT_MIN_CURRENT 0 /* unknown */
55#define PALMZ72_BAT_MAX_CHARGE 1 /* unknown */
56#define PALMZ72_BAT_MIN_CHARGE 1 /* unknown */
57#define PALMZ72_MAX_LIFE_MINS 360 /* on-life in minutes */
58
59/* Backlight */
60#define PALMZ72_MAX_INTENSITY 0xFE
61#define PALMZ72_DEFAULT_INTENSITY 0x7E
62#define PALMZ72_LIMIT_MASK 0x7F
63#define PALMZ72_PRESCALER 0x3F
64#define PALMZ72_PERIOD_NS 3500
65
66#endif
67
diff --git a/arch/arm/mach-pxa/include/mach/poodle.h b/arch/arm/mach-pxa/include/mach/poodle.h
index 67debc47e8c6..0b3e6d051c64 100644
--- a/arch/arm/mach-pxa/include/mach/poodle.h
+++ b/arch/arm/mach-pxa/include/mach/poodle.h
@@ -23,6 +23,7 @@
23#define POODLE_GPIO_AC_IN (1) 23#define POODLE_GPIO_AC_IN (1)
24#define POODLE_GPIO_CO 16 24#define POODLE_GPIO_CO 16
25#define POODLE_GPIO_TP_INT (5) 25#define POODLE_GPIO_TP_INT (5)
26#define POODLE_GPIO_TP_CS (24)
26#define POODLE_GPIO_WAKEUP (11) /* change battery */ 27#define POODLE_GPIO_WAKEUP (11) /* change battery */
27#define POODLE_GPIO_GA_INT (10) 28#define POODLE_GPIO_GA_INT (10)
28#define POODLE_GPIO_IR_ON (22) 29#define POODLE_GPIO_IR_ON (22)
@@ -70,6 +71,14 @@
70#define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT ) 71#define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT )
71#define POODLE_SCOOP_IO_OUT ( 0 ) 72#define POODLE_SCOOP_IO_OUT ( 0 )
72 73
74#define POODLE_SCOOP_GPIO_BASE (NR_BUILTIN_GPIO)
75#define POODLE_GPIO_CHARGE_ON (POODLE_SCOOP_GPIO_BASE + 0)
76#define POODLE_GPIO_CP401 (POODLE_SCOOP_GPIO_BASE + 2)
77#define POODLE_GPIO_VPEN (POODLE_SCOOP_GPIO_BASE + 7)
78#define POODLE_GPIO_L_PCLK (POODLE_SCOOP_GPIO_BASE + 9)
79#define POODLE_GPIO_L_LCLK (POODLE_SCOOP_GPIO_BASE + 10)
80#define POODLE_GPIO_HS_OUT (POODLE_SCOOP_GPIO_BASE + 11)
81
73#define POODLE_LOCOMO_GPIO_AMP_ON LOCOMO_GPIO(8) 82#define POODLE_LOCOMO_GPIO_AMP_ON LOCOMO_GPIO(8)
74#define POODLE_LOCOMO_GPIO_MUTE_L LOCOMO_GPIO(10) 83#define POODLE_LOCOMO_GPIO_MUTE_L LOCOMO_GPIO(10)
75#define POODLE_LOCOMO_GPIO_MUTE_R LOCOMO_GPIO(11) 84#define POODLE_LOCOMO_GPIO_MUTE_R LOCOMO_GPIO(11)
diff --git a/arch/arm/mach-pxa/include/mach/spitz.h b/arch/arm/mach-pxa/include/mach/spitz.h
index bd14365f7ed5..31ac26b55bc1 100644
--- a/arch/arm/mach-pxa/include/mach/spitz.h
+++ b/arch/arm/mach-pxa/include/mach/spitz.h
@@ -16,6 +16,7 @@
16#endif 16#endif
17 17
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <linux/gpio.h>
19 20
20/* Spitz/Akita GPIOs */ 21/* Spitz/Akita GPIOs */
21 22
@@ -100,13 +101,24 @@
100#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Low */ 101#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Low */
101#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Low */ 102#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Low */
102 103
103#define SPITZ_SCP_IO_DIR (SPITZ_SCP_LED_GREEN | SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \ 104#define SPITZ_SCP_IO_DIR (SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \
104 SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \ 105 SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | \
105 SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON) 106 SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
106#define SPITZ_SCP_IO_OUT (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R) 107#define SPITZ_SCP_IO_OUT (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R)
107#define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON) 108#define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
108#define SPITZ_SCP_SUS_SET 0 109#define SPITZ_SCP_SUS_SET 0
109 110
111#define SPITZ_SCP_GPIO_BASE (NR_BUILTIN_GPIO)
112#define SPITZ_GPIO_LED_GREEN (SPITZ_SCP_GPIO_BASE + 0)
113#define SPITZ_GPIO_JK_B (SPITZ_SCP_GPIO_BASE + 1)
114#define SPITZ_GPIO_CHRG_ON (SPITZ_SCP_GPIO_BASE + 2)
115#define SPITZ_GPIO_MUTE_L (SPITZ_SCP_GPIO_BASE + 3)
116#define SPITZ_GPIO_MUTE_R (SPITZ_SCP_GPIO_BASE + 4)
117#define SPITZ_GPIO_CF_POWER (SPITZ_SCP_GPIO_BASE + 5)
118#define SPITZ_GPIO_LED_ORANGE (SPITZ_SCP_GPIO_BASE + 6)
119#define SPITZ_GPIO_JK_A (SPITZ_SCP_GPIO_BASE + 7)
120#define SPITZ_GPIO_ADC_TEMP_ON (SPITZ_SCP_GPIO_BASE + 8)
121
110/* Spitz Scoop Device (No. 2) GPIOs */ 122/* Spitz Scoop Device (No. 2) GPIOs */
111/* Suspend States in comments */ 123/* Suspend States in comments */
112#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* High */ 124#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* High */
@@ -119,15 +131,36 @@
119#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Low */ 131#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Low */
120#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Low */ 132#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Low */
121 133
122#define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \ 134#define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \
123 SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \ 135 SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
124 SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS) 136 SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
125 137
126#define SPITZ_SCP2_IO_OUT (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1) 138#define SPITZ_SCP2_IO_OUT (SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1)
127#define SPITZ_SCP2_SUS_CLR (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \ 139#define SPITZ_SCP2_SUS_CLR (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
128 SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS) 140 SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
129#define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1) 141#define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1)
130 142
143#define SPITZ_SCP2_GPIO_BASE (NR_BUILTIN_GPIO + 12)
144#define SPITZ_GPIO_IR_ON (SPITZ_SCP2_GPIO_BASE + 0)
145#define SPITZ_GPIO_AKIN_PULLUP (SPITZ_SCP2_GPIO_BASE + 1
146#define SPITZ_GPIO_RESERVED_1 (SPITZ_SCP2_GPIO_BASE + 2)
147#define SPITZ_GPIO_RESERVED_2 (SPITZ_SCP2_GPIO_BASE + 3)
148#define SPITZ_GPIO_RESERVED_3 (SPITZ_SCP2_GPIO_BASE + 4)
149#define SPITZ_GPIO_RESERVED_4 (SPITZ_SCP2_GPIO_BASE + 5)
150#define SPITZ_GPIO_BACKLIGHT_CONT (SPITZ_SCP2_GPIO_BASE + 6)
151#define SPITZ_GPIO_BACKLIGHT_ON (SPITZ_SCP2_GPIO_BASE + 7)
152#define SPITZ_GPIO_MIC_BIAS (SPITZ_SCP2_GPIO_BASE + 8)
153
154/* Akita IO Expander GPIOs */
155#define AKITA_IOEXP_GPIO_BASE (NR_BUILTIN_GPIO + 12)
156#define AKITA_GPIO_RESERVED_0 (AKITA_IOEXP_GPIO_BASE + 0)
157#define AKITA_GPIO_RESERVED_1 (AKITA_IOEXP_GPIO_BASE + 1)
158#define AKITA_GPIO_MIC_BIAS (AKITA_IOEXP_GPIO_BASE + 2)
159#define AKITA_GPIO_BACKLIGHT_ON (AKITA_IOEXP_GPIO_BASE + 3)
160#define AKITA_GPIO_BACKLIGHT_CONT (AKITA_IOEXP_GPIO_BASE + 4)
161#define AKITA_GPIO_AKIN_PULLUP (AKITA_IOEXP_GPIO_BASE + 5)
162#define AKITA_GPIO_IR_ON (AKITA_IOEXP_GPIO_BASE + 6)
163#define AKITA_GPIO_RESERVED_7 (AKITA_IOEXP_GPIO_BASE + 7)
131 164
132/* Spitz IRQ Definitions */ 165/* Spitz IRQ Definitions */
133 166
@@ -154,5 +187,4 @@
154 */ 187 */
155extern struct platform_device spitzscoop_device; 188extern struct platform_device spitzscoop_device;
156extern struct platform_device spitzscoop2_device; 189extern struct platform_device spitzscoop2_device;
157extern struct platform_device spitzssp_device;
158extern struct sharpsl_charger_machinfo spitz_pm_machinfo; 190extern struct sharpsl_charger_machinfo spitz_pm_machinfo;
diff --git a/arch/arm/mach-pxa/include/mach/trizeps4.h b/arch/arm/mach-pxa/include/mach/trizeps4.h
index 641d0ec110bb..903e1a2e6641 100644
--- a/arch/arm/mach-pxa/include/mach/trizeps4.h
+++ b/arch/arm/mach-pxa/include/mach/trizeps4.h
@@ -17,11 +17,16 @@
17#define TRIZEPS4_PIC_PHYS (PXA_CS3_PHYS) /* Logic chip on ConXS-Board */ 17#define TRIZEPS4_PIC_PHYS (PXA_CS3_PHYS) /* Logic chip on ConXS-Board */
18#define TRIZEPS4_SDRAM_BASE 0xa0000000 /* SDRAM region */ 18#define TRIZEPS4_SDRAM_BASE 0xa0000000 /* SDRAM region */
19 19
20#define TRIZEPS4_CFSR_PHYS (PXA_CS3_PHYS) /* Logic chip on ConXS-Board CSFR register */ 20 /* Logic on ConXS-board CSFR register*/
21#define TRIZEPS4_BOCR_PHYS (PXA_CS3_PHYS+0x02000000) /* Logic chip on ConXS-Board BOCR register */ 21#define TRIZEPS4_CFSR_PHYS (PXA_CS3_PHYS)
22#define TRIZEPS4_IRCR_PHYS (PXA_CS3_PHYS+0x02400000) /* Logic chip on ConXS-Board IRCR register*/ 22 /* Logic on ConXS-board BOCR register*/
23#define TRIZEPS4_UPSR_PHYS (PXA_CS3_PHYS+0x02800000) /* Logic chip on ConXS-Board UPSR register*/ 23#define TRIZEPS4_BOCR_PHYS (PXA_CS3_PHYS+0x02000000)
24#define TRIZEPS4_DICR_PHYS (PXA_CS3_PHYS+0x03800000) /* Logic chip on ConXS-Board DICR register*/ 24 /* Logic on ConXS-board IRCR register*/
25#define TRIZEPS4_IRCR_PHYS (PXA_CS3_PHYS+0x02400000)
26 /* Logic on ConXS-board UPSR register*/
27#define TRIZEPS4_UPSR_PHYS (PXA_CS3_PHYS+0x02800000)
28 /* Logic on ConXS-board DICR register*/
29#define TRIZEPS4_DICR_PHYS (PXA_CS3_PHYS+0x03800000)
25 30
26/* virtual memory regions */ 31/* virtual memory regions */
27#define TRIZEPS4_DISK_VIRT 0xF0000000 /* Disk On Chip region */ 32#define TRIZEPS4_DISK_VIRT 0xF0000000 /* Disk On Chip region */
@@ -54,6 +59,15 @@
54#define GPIO_MMC_DET 12 59#define GPIO_MMC_DET 12
55#define TRIZEPS4_MMC_IRQ IRQ_GPIO(GPIO_MMC_DET) 60#define TRIZEPS4_MMC_IRQ IRQ_GPIO(GPIO_MMC_DET)
56 61
62/* DOC NAND chip */
63#define GPIO_DOC_LOCK 94
64#define GPIO_DOC_IRQ 93
65#define TRIZEPS4_DOC_IRQ IRQ_GPIO(GPIO_DOC_IRQ)
66
67/* SPI interface */
68#define GPIO_SPI 53
69#define TRIZEPS4_SPI_IRQ IRQ_GPIO(GPIO_SPI)
70
57/* LEDS using tx2 / rx2 */ 71/* LEDS using tx2 / rx2 */
58#define GPIO_SYS_BUSY_LED 46 72#define GPIO_SYS_BUSY_LED 46
59#define GPIO_HEARTBEAT_LED 47 73#define GPIO_HEARTBEAT_LED 47
@@ -62,24 +76,66 @@
62#define GPIO_PIC 0 76#define GPIO_PIC 0
63#define TRIZEPS4_PIC_IRQ IRQ_GPIO(GPIO_PIC) 77#define TRIZEPS4_PIC_IRQ IRQ_GPIO(GPIO_PIC)
64 78
65#define CFSR_P2V(x) ((x) - TRIZEPS4_CFSR_PHYS + TRIZEPS4_CFSR_VIRT) 79#ifdef CONFIG_MACH_TRIZEPS_CONXS
66#define CFSR_V2P(x) ((x) - TRIZEPS4_CFSR_VIRT + TRIZEPS4_CFSR_PHYS) 80/* for CONXS base board define these registers */
81#define CFSR_P2V(x) ((x) - TRIZEPS4_CFSR_PHYS + TRIZEPS4_CFSR_VIRT)
82#define CFSR_V2P(x) ((x) - TRIZEPS4_CFSR_VIRT + TRIZEPS4_CFSR_PHYS)
67 83
68#define BCR_P2V(x) ((x) - TRIZEPS4_BOCR_PHYS + TRIZEPS4_BOCR_VIRT) 84#define BCR_P2V(x) ((x) - TRIZEPS4_BOCR_PHYS + TRIZEPS4_BOCR_VIRT)
69#define BCR_V2P(x) ((x) - TRIZEPS4_BOCR_VIRT + TRIZEPS4_BOCR_PHYS) 85#define BCR_V2P(x) ((x) - TRIZEPS4_BOCR_VIRT + TRIZEPS4_BOCR_PHYS)
70 86
71#define DCR_P2V(x) ((x) - TRIZEPS4_DICR_PHYS + TRIZEPS4_DICR_VIRT) 87#define DCR_P2V(x) ((x) - TRIZEPS4_DICR_PHYS + TRIZEPS4_DICR_VIRT)
72#define DCR_V2P(x) ((x) - TRIZEPS4_DICR_VIRT + TRIZEPS4_DICR_PHYS) 88#define DCR_V2P(x) ((x) - TRIZEPS4_DICR_VIRT + TRIZEPS4_DICR_PHYS)
89
90#define IRCR_P2V(x) ((x) - TRIZEPS4_IRCR_PHYS + TRIZEPS4_IRCR_VIRT)
91#define IRCR_V2P(x) ((x) - TRIZEPS4_IRCR_VIRT + TRIZEPS4_IRCR_PHYS)
73 92
74#ifndef __ASSEMBLY__ 93#ifndef __ASSEMBLY__
75#define ConXS_CFSR (*((volatile unsigned short *)CFSR_P2V(0x0C000000))) 94static inline unsigned short CFSR_readw(void)
76#define ConXS_BCR (*((volatile unsigned short *)BCR_P2V(0x0E000000))) 95{
77#define ConXS_DCR (*((volatile unsigned short *)DCR_P2V(0x0F800000))) 96 /* [Compact Flash Status Register] is read only */
97 return *((unsigned short *)CFSR_P2V(0x0C000000));
98}
99static inline void BCR_writew(unsigned short value)
100{
101 /* [Board Control Regsiter] is write only */
102 *((unsigned short *)BCR_P2V(0x0E000000)) = value;
103}
104static inline void DCR_writew(unsigned short value)
105{
106 /* [Display Control Register] is write only */
107 *((unsigned short *)DCR_P2V(0x0E000000)) = value;
108}
109static inline void IRCR_writew(unsigned short value)
110{
111 /* [InfraRed data Control Register] is write only */
112 *((unsigned short *)IRCR_P2V(0x0E000000)) = value;
113}
78#else 114#else
79#define ConXS_CFSR CFSR_P2V(0x0C000000) 115#define ConXS_CFSR CFSR_P2V(0x0C000000)
80#define ConXS_BCR BCR_P2V(0x0E000000) 116#define ConXS_BCR BCR_P2V(0x0E000000)
81#define ConXS_DCR DCR_P2V(0x0F800000) 117#define ConXS_DCR DCR_P2V(0x0F800000)
118#define ConXS_IRCR IRCR_P2V(0x0F800000)
82#endif 119#endif
120#else
121/* for whatever baseboard define function registers */
122static inline unsigned short CFSR_readw(void)
123{
124 return 0;
125}
126static inline void BCR_writew(unsigned short value)
127{
128 ;
129}
130static inline void DCR_writew(unsigned short value)
131{
132 ;
133}
134static inline void IRCR_writew(unsigned short value)
135{
136 ;
137}
138#endif /* CONFIG_MACH_TRIZEPS_CONXS */
83 139
84#define ConXS_CFSR_BVD_MASK 0x0003 140#define ConXS_CFSR_BVD_MASK 0x0003
85#define ConXS_CFSR_BVD1 (1 << 0) 141#define ConXS_CFSR_BVD1 (1 << 0)
diff --git a/arch/arm/mach-pxa/include/mach/viper.h b/arch/arm/mach-pxa/include/mach/viper.h
new file mode 100644
index 000000000000..10988c270ca3
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/viper.h
@@ -0,0 +1,96 @@
1/*
2 * arch/arm/mach-pxa/include/mach/viper.h
3 *
4 * Author: Ian Campbell
5 * Created: Feb 03, 2003
6 * Copyright: Arcom Control Systems.
7 *
8 * Maintained by Marc Zyngier <maz@misterjones.org>
9 * <marc.zyngier@altran.com>
10 *
11 * Created based on lubbock.h:
12 * Author: Nicolas Pitre
13 * Created: Jun 15, 2001
14 * Copyright: MontaVista Software Inc.
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License version 2 as
18 * published by the Free Software Foundation.
19 */
20
21#ifndef ARCH_VIPER_H
22#define ARCH_VIPER_H
23
24#define VIPER_BOOT_PHYS PXA_CS0_PHYS
25#define VIPER_FLASH_PHYS PXA_CS1_PHYS
26#define VIPER_ETH_PHYS PXA_CS2_PHYS
27#define VIPER_USB_PHYS PXA_CS3_PHYS
28#define VIPER_ETH_DATA_PHYS PXA_CS4_PHYS
29#define VIPER_CPLD_PHYS PXA_CS5_PHYS
30
31#define VIPER_CPLD_BASE (0xf0000000)
32#define VIPER_PC104IO_BASE (0xf1000000)
33#define VIPER_USB_BASE (0xf1800000)
34
35#define VIPER_ETH_GPIO (0)
36#define VIPER_CPLD_GPIO (1)
37#define VIPER_USB_GPIO (2)
38#define VIPER_UARTA_GPIO (4)
39#define VIPER_UARTB_GPIO (3)
40#define VIPER_CF_CD_GPIO (32)
41#define VIPER_CF_RDY_GPIO (8)
42#define VIPER_BCKLIGHT_EN_GPIO (9)
43#define VIPER_LCD_EN_GPIO (10)
44#define VIPER_PSU_DATA_GPIO (6)
45#define VIPER_PSU_CLK_GPIO (11)
46#define VIPER_UART_SHDN_GPIO (12)
47#define VIPER_BRIGHTNESS_GPIO (16)
48#define VIPER_PSU_nCS_LD_GPIO (19)
49#define VIPER_UPS_GPIO (20)
50#define VIPER_CF_POWER_GPIO (82)
51#define VIPER_TPM_I2C_SDA_GPIO (26)
52#define VIPER_TPM_I2C_SCL_GPIO (27)
53#define VIPER_RTC_I2C_SDA_GPIO (83)
54#define VIPER_RTC_I2C_SCL_GPIO (84)
55
56#define VIPER_CPLD_P2V(x) ((x) - VIPER_CPLD_PHYS + VIPER_CPLD_BASE)
57#define VIPER_CPLD_V2P(x) ((x) - VIPER_CPLD_BASE + VIPER_CPLD_PHYS)
58
59#ifndef __ASSEMBLY__
60# define __VIPER_CPLD_REG(x) (*((volatile u16 *)VIPER_CPLD_P2V(x)))
61#endif
62
63/* board level registers in the CPLD: (offsets from CPLD_BASE) ... */
64
65/* ... Physical addresses */
66#define _VIPER_LO_IRQ_STATUS (VIPER_CPLD_PHYS + 0x100000)
67#define _VIPER_ICR_PHYS (VIPER_CPLD_PHYS + 0x100002)
68#define _VIPER_HI_IRQ_STATUS (VIPER_CPLD_PHYS + 0x100004)
69#define _VIPER_VERSION_PHYS (VIPER_CPLD_PHYS + 0x100006)
70#define VIPER_UARTA_PHYS (VIPER_CPLD_PHYS + 0x300010)
71#define VIPER_UARTB_PHYS (VIPER_CPLD_PHYS + 0x300000)
72#define _VIPER_SRAM_BASE (VIPER_CPLD_PHYS + 0x800000)
73
74/* ... Virtual addresses */
75#define VIPER_LO_IRQ_STATUS __VIPER_CPLD_REG(_VIPER_LO_IRQ_STATUS)
76#define VIPER_HI_IRQ_STATUS __VIPER_CPLD_REG(_VIPER_HI_IRQ_STATUS)
77#define VIPER_VERSION __VIPER_CPLD_REG(_VIPER_VERSION_PHYS)
78#define VIPER_ICR __VIPER_CPLD_REG(_VIPER_ICR_PHYS)
79
80/* Decode VIPER_VERSION register */
81#define VIPER_CPLD_REVISION(x) (((x) >> 5) & 0x7)
82#define VIPER_BOARD_VERSION(x) (((x) >> 3) & 0x3)
83#define VIPER_BOARD_ISSUE(x) (((x) >> 0) & 0x7)
84
85/* Interrupt and Configuration Register (VIPER_ICR) */
86/* This is a write only register. Only CF_RST is used under Linux */
87
88extern void viper_cf_rst(int state);
89
90#define VIPER_ICR_RETRIG (1 << 0)
91#define VIPER_ICR_AUTO_CLR (1 << 1)
92#define VIPER_ICR_R_DIS (1 << 2)
93#define VIPER_ICR_CF_RST (1 << 3)
94
95#endif
96
diff --git a/arch/arm/mach-pxa/leds-trizeps4.c b/arch/arm/mach-pxa/leds-trizeps4.c
deleted file mode 100644
index 3bc29007df3a..000000000000
--- a/arch/arm/mach-pxa/leds-trizeps4.c
+++ /dev/null
@@ -1,134 +0,0 @@
1/*
2 * linux/arch/arm/mach-pxa/leds-trizeps4.c
3 *
4 * Author: Jürgen Schindele
5 * Created: 20 02, 2006
6 * Copyright: Jürgen Schindele
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#include <linux/init.h>
14
15#include <mach/hardware.h>
16#include <asm/system.h>
17#include <asm/types.h>
18#include <asm/leds.h>
19
20#include <mach/pxa-regs.h>
21#include <mach/pxa2xx-gpio.h>
22#include <mach/trizeps4.h>
23
24#include "leds.h"
25
26#define LED_STATE_ENABLED 1
27#define LED_STATE_CLAIMED 2
28
29#define SYS_BUSY 0x01
30#define HEARTBEAT 0x02
31#define BLINK 0x04
32
33static unsigned int led_state;
34static unsigned int hw_led_state;
35
36void trizeps4_leds_event(led_event_t evt)
37{
38 unsigned long flags;
39
40 local_irq_save(flags);
41
42 switch (evt) {
43 case led_start:
44 hw_led_state = 0;
45 pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */
46 pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */
47 led_state = LED_STATE_ENABLED;
48 break;
49
50 case led_stop:
51 led_state &= ~LED_STATE_ENABLED;
52 break;
53
54 case led_claim:
55 led_state |= LED_STATE_CLAIMED;
56 hw_led_state = 0;
57 break;
58
59 case led_release:
60 led_state &= ~LED_STATE_CLAIMED;
61 hw_led_state = 0;
62 break;
63
64#ifdef CONFIG_LEDS_TIMER
65 case led_timer:
66 hw_led_state ^= HEARTBEAT;
67 break;
68#endif
69
70#ifdef CONFIG_LEDS_CPU
71 case led_idle_start:
72 hw_led_state &= ~SYS_BUSY;
73 break;
74
75 case led_idle_end:
76 hw_led_state |= SYS_BUSY;
77 break;
78#endif
79
80 case led_halted:
81 break;
82
83 case led_green_on:
84 hw_led_state |= BLINK;
85 break;
86
87 case led_green_off:
88 hw_led_state &= ~BLINK;
89 break;
90
91 case led_amber_on:
92 break;
93
94 case led_amber_off:
95 break;
96
97 case led_red_on:
98 break;
99
100 case led_red_off:
101 break;
102
103 default:
104 break;
105 }
106
107 if (led_state & LED_STATE_ENABLED) {
108 switch (hw_led_state) {
109 case 0:
110 GPSR(GPIO_SYS_BUSY_LED) |= GPIO_bit(GPIO_SYS_BUSY_LED);
111 GPSR(GPIO_HEARTBEAT_LED) |= GPIO_bit(GPIO_HEARTBEAT_LED);
112 break;
113 case 1:
114 GPCR(GPIO_SYS_BUSY_LED) |= GPIO_bit(GPIO_SYS_BUSY_LED);
115 GPSR(GPIO_HEARTBEAT_LED) |= GPIO_bit(GPIO_HEARTBEAT_LED);
116 break;
117 case 2:
118 GPSR(GPIO_SYS_BUSY_LED) |= GPIO_bit(GPIO_SYS_BUSY_LED);
119 GPCR(GPIO_HEARTBEAT_LED) |= GPIO_bit(GPIO_HEARTBEAT_LED);
120 break;
121 case 3:
122 GPCR(GPIO_SYS_BUSY_LED) |= GPIO_bit(GPIO_SYS_BUSY_LED);
123 GPCR(GPIO_HEARTBEAT_LED) |= GPIO_bit(GPIO_HEARTBEAT_LED);
124 break;
125 }
126 }
127 else {
128 /* turn all off */
129 GPSR(GPIO_SYS_BUSY_LED) |= GPIO_bit(GPIO_SYS_BUSY_LED);
130 GPSR(GPIO_HEARTBEAT_LED) |= GPIO_bit(GPIO_HEARTBEAT_LED);
131 }
132
133 local_irq_restore(flags);
134}
diff --git a/arch/arm/mach-pxa/leds.c b/arch/arm/mach-pxa/leds.c
index e13eb841e48d..bbe4d5f6afaa 100644
--- a/arch/arm/mach-pxa/leds.c
+++ b/arch/arm/mach-pxa/leds.c
@@ -24,8 +24,6 @@ pxa_leds_init(void)
24 leds_event = mainstone_leds_event; 24 leds_event = mainstone_leds_event;
25 if (machine_is_pxa_idp()) 25 if (machine_is_pxa_idp())
26 leds_event = idp_leds_event; 26 leds_event = idp_leds_event;
27 if (machine_is_trizeps4())
28 leds_event = trizeps4_leds_event;
29 27
30 leds_event(led_start); 28 leds_event(led_start);
31 return 0; 29 return 0;
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c
index 58f3402a0375..b4d00aba0e31 100644
--- a/arch/arm/mach-pxa/littleton.c
+++ b/arch/arm/mach-pxa/littleton.c
@@ -20,6 +20,7 @@
20#include <linux/delay.h> 20#include <linux/delay.h>
21#include <linux/platform_device.h> 21#include <linux/platform_device.h>
22#include <linux/clk.h> 22#include <linux/clk.h>
23#include <linux/spi/spi.h>
23#include <linux/smc91x.h> 24#include <linux/smc91x.h>
24 25
25#include <asm/types.h> 26#include <asm/types.h>
@@ -38,6 +39,7 @@
38#include <mach/gpio.h> 39#include <mach/gpio.h>
39#include <mach/pxafb.h> 40#include <mach/pxafb.h>
40#include <mach/ssp.h> 41#include <mach/ssp.h>
42#include <mach/pxa2xx_spi.h>
41#include <mach/pxa27x_keypad.h> 43#include <mach/pxa27x_keypad.h>
42#include <mach/pxa3xx_nand.h> 44#include <mach/pxa3xx_nand.h>
43#include <mach/littleton.h> 45#include <mach/littleton.h>
@@ -72,8 +74,8 @@ static mfp_cfg_t littleton_mfp_cfg[] __initdata = {
72 74
73 /* SSP2 */ 75 /* SSP2 */
74 GPIO25_SSP2_SCLK, 76 GPIO25_SSP2_SCLK,
75 GPIO17_SSP2_FRM,
76 GPIO27_SSP2_TXD, 77 GPIO27_SSP2_TXD,
78 GPIO17_GPIO, /* SFRM as chip-select */
77 79
78 /* Debug Ethernet */ 80 /* Debug Ethernet */
79 GPIO90_GPIO, 81 GPIO90_GPIO,
@@ -123,160 +125,6 @@ static struct platform_device smc91x_device = {
123}; 125};
124 126
125#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) 127#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
126/* use bit 30, 31 as the indicator of command parameter number */
127#define CMD0(x) ((0x00000000) | ((x) << 9))
128#define CMD1(x, x1) ((0x40000000) | ((x) << 9) | 0x100 | (x1))
129#define CMD2(x, x1, x2) ((0x80000000) | ((x) << 18) | 0x20000 |\
130 ((x1) << 9) | 0x100 | (x2))
131
132static uint32_t lcd_panel_reset[] = {
133 CMD0(0x1), /* reset */
134 CMD0(0x0), /* nop */
135 CMD0(0x0), /* nop */
136 CMD0(0x0), /* nop */
137};
138
139static uint32_t lcd_panel_on[] = {
140 CMD0(0x29), /* Display ON */
141 CMD2(0xB8, 0xFF, 0xF9), /* Output Control */
142 CMD0(0x11), /* Sleep out */
143 CMD1(0xB0, 0x16), /* Wake */
144};
145
146static uint32_t lcd_panel_off[] = {
147 CMD0(0x28), /* Display OFF */
148 CMD2(0xB8, 0x80, 0x02), /* Output Control */
149 CMD0(0x10), /* Sleep in */
150 CMD1(0xB0, 0x00), /* Deep stand by in */
151};
152
153static uint32_t lcd_vga_pass_through[] = {
154 CMD1(0xB0, 0x16),
155 CMD1(0xBC, 0x80),
156 CMD1(0xE1, 0x00),
157 CMD1(0x36, 0x50),
158 CMD1(0x3B, 0x00),
159};
160
161static uint32_t lcd_qvga_pass_through[] = {
162 CMD1(0xB0, 0x16),
163 CMD1(0xBC, 0x81),
164 CMD1(0xE1, 0x00),
165 CMD1(0x36, 0x50),
166 CMD1(0x3B, 0x22),
167};
168
169static uint32_t lcd_vga_transfer[] = {
170 CMD1(0xcf, 0x02), /* Blanking period control (1) */
171 CMD2(0xd0, 0x08, 0x04), /* Blanking period control (2) */
172 CMD1(0xd1, 0x01), /* CKV timing control on/off */
173 CMD2(0xd2, 0x14, 0x00), /* CKV 1,2 timing control */
174 CMD2(0xd3, 0x1a, 0x0f), /* OEV timing control */
175 CMD2(0xd4, 0x1f, 0xaf), /* ASW timing control (1) */
176 CMD1(0xd5, 0x14), /* ASW timing control (2) */
177 CMD0(0x21), /* Invert for normally black display */
178 CMD0(0x29), /* Display on */
179};
180
181static uint32_t lcd_qvga_transfer[] = {
182 CMD1(0xd6, 0x02), /* Blanking period control (1) */
183 CMD2(0xd7, 0x08, 0x04), /* Blanking period control (2) */
184 CMD1(0xd8, 0x01), /* CKV timing control on/off */
185 CMD2(0xd9, 0x00, 0x08), /* CKV 1,2 timing control */
186 CMD2(0xde, 0x05, 0x0a), /* OEV timing control */
187 CMD2(0xdf, 0x0a, 0x19), /* ASW timing control (1) */
188 CMD1(0xe0, 0x0a), /* ASW timing control (2) */
189 CMD0(0x21), /* Invert for normally black display */
190 CMD0(0x29), /* Display on */
191};
192
193static uint32_t lcd_panel_config[] = {
194 CMD2(0xb8, 0xff, 0xf9), /* Output control */
195 CMD0(0x11), /* sleep out */
196 CMD1(0xba, 0x01), /* Display mode (1) */
197 CMD1(0xbb, 0x00), /* Display mode (2) */
198 CMD1(0x3a, 0x60), /* Display mode 18-bit RGB */
199 CMD1(0xbf, 0x10), /* Drive system change control */
200 CMD1(0xb1, 0x56), /* Booster operation setup */
201 CMD1(0xb2, 0x33), /* Booster mode setup */
202 CMD1(0xb3, 0x11), /* Booster frequency setup */
203 CMD1(0xb4, 0x02), /* Op amp/system clock */
204 CMD1(0xb5, 0x35), /* VCS voltage */
205 CMD1(0xb6, 0x40), /* VCOM voltage */
206 CMD1(0xb7, 0x03), /* External display signal */
207 CMD1(0xbd, 0x00), /* ASW slew rate */
208 CMD1(0xbe, 0x00), /* Dummy data for QuadData operation */
209 CMD1(0xc0, 0x11), /* Sleep out FR count (A) */
210 CMD1(0xc1, 0x11), /* Sleep out FR count (B) */
211 CMD1(0xc2, 0x11), /* Sleep out FR count (C) */
212 CMD2(0xc3, 0x20, 0x40), /* Sleep out FR count (D) */
213 CMD2(0xc4, 0x60, 0xc0), /* Sleep out FR count (E) */
214 CMD2(0xc5, 0x10, 0x20), /* Sleep out FR count (F) */
215 CMD1(0xc6, 0xc0), /* Sleep out FR count (G) */
216 CMD2(0xc7, 0x33, 0x43), /* Gamma 1 fine tuning (1) */
217 CMD1(0xc8, 0x44), /* Gamma 1 fine tuning (2) */
218 CMD1(0xc9, 0x33), /* Gamma 1 inclination adjustment */
219 CMD1(0xca, 0x00), /* Gamma 1 blue offset adjustment */
220 CMD2(0xec, 0x01, 0xf0), /* Horizontal clock cycles */
221};
222
223static void ssp_reconfig(struct ssp_dev *dev, int nparam)
224{
225 static int last_nparam = -1;
226
227 /* check if it is necessary to re-config SSP */
228 if (nparam == last_nparam)
229 return;
230
231 ssp_disable(dev);
232 ssp_config(dev, (nparam == 2) ? 0x0010058a : 0x00100581, 0x18, 0, 0);
233
234 last_nparam = nparam;
235}
236
237static void ssp_send_cmd(uint32_t *cmd, int num)
238{
239 static int ssp_initialized;
240 static struct ssp_dev ssp2;
241
242 int i;
243
244 if (!ssp_initialized) {
245 ssp_init(&ssp2, 2, SSP_NO_IRQ);
246 ssp_initialized = 1;
247 }
248
249 clk_enable(ssp2.ssp->clk);
250 for (i = 0; i < num; i++, cmd++) {
251 ssp_reconfig(&ssp2, (*cmd >> 30) & 0x3);
252 ssp_write_word(&ssp2, *cmd & 0x3fffffff);
253
254 /* FIXME: ssp_flush() is mandatory here to work */
255 ssp_flush(&ssp2);
256 }
257 clk_disable(ssp2.ssp->clk);
258}
259
260static void littleton_lcd_power(int on, struct fb_var_screeninfo *var)
261{
262 if (on) {
263 ssp_send_cmd(ARRAY_AND_SIZE(lcd_panel_on));
264 ssp_send_cmd(ARRAY_AND_SIZE(lcd_panel_reset));
265 if (var->xres > 240) {
266 /* VGA */
267 ssp_send_cmd(ARRAY_AND_SIZE(lcd_vga_pass_through));
268 ssp_send_cmd(ARRAY_AND_SIZE(lcd_panel_config));
269 ssp_send_cmd(ARRAY_AND_SIZE(lcd_vga_transfer));
270 } else {
271 /* QVGA */
272 ssp_send_cmd(ARRAY_AND_SIZE(lcd_qvga_pass_through));
273 ssp_send_cmd(ARRAY_AND_SIZE(lcd_panel_config));
274 ssp_send_cmd(ARRAY_AND_SIZE(lcd_qvga_transfer));
275 }
276 } else
277 ssp_send_cmd(ARRAY_AND_SIZE(lcd_panel_off));
278}
279
280static struct pxafb_mode_info tpo_tdo24mtea1_modes[] = { 128static struct pxafb_mode_info tpo_tdo24mtea1_modes[] = {
281 [0] = { 129 [0] = {
282 /* VGA */ 130 /* VGA */
@@ -312,7 +160,6 @@ static struct pxafb_mach_info littleton_lcd_info = {
312 .modes = tpo_tdo24mtea1_modes, 160 .modes = tpo_tdo24mtea1_modes,
313 .num_modes = 2, 161 .num_modes = 2,
314 .lcd_conn = LCD_COLOR_TFT_16BPP, 162 .lcd_conn = LCD_COLOR_TFT_16BPP,
315 .pxafb_lcd_power = littleton_lcd_power,
316}; 163};
317 164
318static void littleton_init_lcd(void) 165static void littleton_init_lcd(void)
@@ -323,6 +170,51 @@ static void littleton_init_lcd(void)
323static inline void littleton_init_lcd(void) {}; 170static inline void littleton_init_lcd(void) {};
324#endif /* CONFIG_FB_PXA || CONFIG_FB_PXA_MODULE */ 171#endif /* CONFIG_FB_PXA || CONFIG_FB_PXA_MODULE */
325 172
173#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE)
174static struct pxa2xx_spi_master littleton_spi_info = {
175 .num_chipselect = 1,
176};
177
178static void littleton_tdo24m_cs(u32 cmd)
179{
180 gpio_set_value(LITTLETON_GPIO_LCD_CS, !(cmd == PXA2XX_CS_ASSERT));
181}
182
183static struct pxa2xx_spi_chip littleton_tdo24m_chip = {
184 .rx_threshold = 1,
185 .tx_threshold = 1,
186 .cs_control = littleton_tdo24m_cs,
187};
188
189static struct spi_board_info littleton_spi_devices[] __initdata = {
190 {
191 .modalias = "tdo24m",
192 .max_speed_hz = 1000000,
193 .bus_num = 2,
194 .chip_select = 0,
195 .controller_data= &littleton_tdo24m_chip,
196 },
197};
198
199static void __init littleton_init_spi(void)
200{
201 int err;
202
203 err = gpio_request(LITTLETON_GPIO_LCD_CS, "LCD_CS");
204 if (err) {
205 pr_warning("failed to request GPIO for LCS CS\n");
206 return;
207 }
208
209 gpio_direction_output(LITTLETON_GPIO_LCD_CS, 1);
210
211 pxa2xx_set_spi_info(2, &littleton_spi_info);
212 spi_register_board_info(ARRAY_AND_SIZE(littleton_spi_devices));
213}
214#else
215static inline void littleton_init_spi(void) {}
216#endif
217
326#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 218#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
327static unsigned int littleton_matrix_key_map[] = { 219static unsigned int littleton_matrix_key_map[] = {
328 /* KEY(row, col, key_code) */ 220 /* KEY(row, col, key_code) */
@@ -433,6 +325,7 @@ static void __init littleton_init(void)
433 */ 325 */
434 platform_device_register(&smc91x_device); 326 platform_device_register(&smc91x_device);
435 327
328 littleton_init_spi();
436 littleton_init_lcd(); 329 littleton_init_lcd();
437 littleton_init_keypad(); 330 littleton_init_keypad();
438 littleton_init_nand(); 331 littleton_init_nand();
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index b7038948d1d4..7b158e5248ad 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -40,7 +40,7 @@
40 40
41#include <mach/pxa-regs.h> 41#include <mach/pxa-regs.h>
42#include <mach/pxa2xx-regs.h> 42#include <mach/pxa2xx-regs.h>
43#include <mach/pxa2xx-gpio.h> 43#include <mach/mfp-pxa27x.h>
44#include <mach/lpd270.h> 44#include <mach/lpd270.h>
45#include <mach/audio.h> 45#include <mach/audio.h>
46#include <mach/pxafb.h> 46#include <mach/pxafb.h>
@@ -51,6 +51,43 @@
51#include "generic.h" 51#include "generic.h"
52#include "devices.h" 52#include "devices.h"
53 53
54static unsigned long lpd270_pin_config[] __initdata = {
55 /* Chip Selects */
56 GPIO15_nCS_1, /* Mainboard Flash */
57 GPIO78_nCS_2, /* CPLD + Ethernet */
58
59 /* LCD - 16bpp Active TFT */
60 GPIO58_LCD_LDD_0,
61 GPIO59_LCD_LDD_1,
62 GPIO60_LCD_LDD_2,
63 GPIO61_LCD_LDD_3,
64 GPIO62_LCD_LDD_4,
65 GPIO63_LCD_LDD_5,
66 GPIO64_LCD_LDD_6,
67 GPIO65_LCD_LDD_7,
68 GPIO66_LCD_LDD_8,
69 GPIO67_LCD_LDD_9,
70 GPIO68_LCD_LDD_10,
71 GPIO69_LCD_LDD_11,
72 GPIO70_LCD_LDD_12,
73 GPIO71_LCD_LDD_13,
74 GPIO72_LCD_LDD_14,
75 GPIO73_LCD_LDD_15,
76 GPIO74_LCD_FCLK,
77 GPIO75_LCD_LCLK,
78 GPIO76_LCD_PCLK,
79 GPIO77_LCD_BIAS,
80 GPIO16_PWM0_OUT, /* Backlight */
81
82 /* USB Host */
83 GPIO88_USBH1_PWR,
84 GPIO89_USBH1_PEN,
85
86 /* AC97 */
87 GPIO45_AC97_SYSCLK,
88
89 GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH,
90};
54 91
55static unsigned int lpd270_irq_enabled; 92static unsigned int lpd270_irq_enabled;
56 93
@@ -265,8 +302,8 @@ static struct pxafb_mode_info sharp_lq057q3dc02_mode = {
265static struct pxafb_mach_info sharp_lq057q3dc02 = { 302static struct pxafb_mach_info sharp_lq057q3dc02 = {
266 .modes = &sharp_lq057q3dc02_mode, 303 .modes = &sharp_lq057q3dc02_mode,
267 .num_modes = 1, 304 .num_modes = 1,
268 .lccr0 = 0x07800080, 305 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
269 .lccr3 = 0x00400000, 306 LCD_ALTERNATE_MAPPING,
270}; 307};
271 308
272/* 12.1" TFT SVGA (LoLo display number 2) */ 309/* 12.1" TFT SVGA (LoLo display number 2) */
@@ -287,8 +324,8 @@ static struct pxafb_mode_info sharp_lq121s1dg31_mode = {
287static struct pxafb_mach_info sharp_lq121s1dg31 = { 324static struct pxafb_mach_info sharp_lq121s1dg31 = {
288 .modes = &sharp_lq121s1dg31_mode, 325 .modes = &sharp_lq121s1dg31_mode,
289 .num_modes = 1, 326 .num_modes = 1,
290 .lccr0 = 0x07800080, 327 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
291 .lccr3 = 0x00400000, 328 LCD_ALTERNATE_MAPPING,
292}; 329};
293 330
294/* 3.6" TFT QVGA (LoLo display number 3) */ 331/* 3.6" TFT QVGA (LoLo display number 3) */
@@ -309,8 +346,8 @@ static struct pxafb_mode_info sharp_lq036q1da01_mode = {
309static struct pxafb_mach_info sharp_lq036q1da01 = { 346static struct pxafb_mach_info sharp_lq036q1da01 = {
310 .modes = &sharp_lq036q1da01_mode, 347 .modes = &sharp_lq036q1da01_mode,
311 .num_modes = 1, 348 .num_modes = 1,
312 .lccr0 = 0x07800080, 349 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
313 .lccr3 = 0x00400000, 350 LCD_ALTERNATE_MAPPING,
314}; 351};
315 352
316/* 6.4" TFT VGA (LoLo display number 5) */ 353/* 6.4" TFT VGA (LoLo display number 5) */
@@ -331,8 +368,8 @@ static struct pxafb_mode_info sharp_lq64d343_mode = {
331static struct pxafb_mach_info sharp_lq64d343 = { 368static struct pxafb_mach_info sharp_lq64d343 = {
332 .modes = &sharp_lq64d343_mode, 369 .modes = &sharp_lq64d343_mode,
333 .num_modes = 1, 370 .num_modes = 1,
334 .lccr0 = 0x07800080, 371 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
335 .lccr3 = 0x00400000, 372 LCD_ALTERNATE_MAPPING,
336}; 373};
337 374
338/* 10.4" TFT VGA (LoLo display number 7) */ 375/* 10.4" TFT VGA (LoLo display number 7) */
@@ -353,8 +390,8 @@ static struct pxafb_mode_info sharp_lq10d368_mode = {
353static struct pxafb_mach_info sharp_lq10d368 = { 390static struct pxafb_mach_info sharp_lq10d368 = {
354 .modes = &sharp_lq10d368_mode, 391 .modes = &sharp_lq10d368_mode,
355 .num_modes = 1, 392 .num_modes = 1,
356 .lccr0 = 0x07800080, 393 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
357 .lccr3 = 0x00400000, 394 LCD_ALTERNATE_MAPPING,
358}; 395};
359 396
360/* 3.5" TFT QVGA (LoLo display number 8) */ 397/* 3.5" TFT QVGA (LoLo display number 8) */
@@ -375,8 +412,8 @@ static struct pxafb_mode_info sharp_lq035q7db02_20_mode = {
375static struct pxafb_mach_info sharp_lq035q7db02_20 = { 412static struct pxafb_mach_info sharp_lq035q7db02_20 = {
376 .modes = &sharp_lq035q7db02_20_mode, 413 .modes = &sharp_lq035q7db02_20_mode,
377 .num_modes = 1, 414 .num_modes = 1,
378 .lccr0 = 0x07800080, 415 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL |
379 .lccr3 = 0x00400000, 416 LCD_ALTERNATE_MAPPING,
380}; 417};
381 418
382static struct pxafb_mach_info *lpd270_lcd_to_use; 419static struct pxafb_mach_info *lpd270_lcd_to_use;
@@ -413,10 +450,6 @@ static struct platform_device *platform_devices[] __initdata = {
413 450
414static int lpd270_ohci_init(struct device *dev) 451static int lpd270_ohci_init(struct device *dev)
415{ 452{
416 /* setup Port1 GPIO pin. */
417 pxa_gpio_mode(88 | GPIO_ALT_FN_1_IN); /* USBHPWR1 */
418 pxa_gpio_mode(89 | GPIO_ALT_FN_2_OUT); /* USBHPEN1 */
419
420 /* Set the Power Control Polarity Low and Power Sense 453 /* Set the Power Control Polarity Low and Power Sense
421 Polarity Low to active low. */ 454 Polarity Low to active low. */
422 UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) & 455 UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
@@ -432,6 +465,8 @@ static struct pxaohci_platform_data lpd270_ohci_platform_data = {
432 465
433static void __init lpd270_init(void) 466static void __init lpd270_init(void)
434{ 467{
468 pxa2xx_mfp_config(ARRAY_AND_SIZE(lpd270_pin_config));
469
435 lpd270_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4; 470 lpd270_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4;
436 lpd270_flash_data[1].width = 4; 471 lpd270_flash_data[1].width = 4;
437 472
@@ -442,12 +477,6 @@ static void __init lpd270_init(void)
442 */ 477 */
443 ARB_CNTRL = ARB_CORE_PARK | 0x234; 478 ARB_CNTRL = ARB_CORE_PARK | 0x234;
444 479
445 /*
446 * On LogicPD PXA270, we route AC97_SYSCLK via GPIO45.
447 */
448 pxa_gpio_mode(GPIO45_SYSCLK_AC97_MD);
449 pxa_gpio_mode(GPIO16_PWM0_MD);
450
451 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); 480 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
452 481
453 pxa_set_ac97_info(NULL); 482 pxa_set_ac97_info(NULL);
@@ -473,15 +502,6 @@ static void __init lpd270_map_io(void)
473 pxa_map_io(); 502 pxa_map_io();
474 iotable_init(lpd270_io_desc, ARRAY_SIZE(lpd270_io_desc)); 503 iotable_init(lpd270_io_desc, ARRAY_SIZE(lpd270_io_desc));
475 504
476 /* initialize sleep mode regs (wake-up sources, etc) */
477 PGSR0 = 0x00008800;
478 PGSR1 = 0x00000002;
479 PGSR2 = 0x0001FC00;
480 PGSR3 = 0x00001F81;
481 PWER = 0xC0000002;
482 PRER = 0x00000002;
483 PFER = 0x00000002;
484
485 /* for use I SRAM as framebuffer. */ 505 /* for use I SRAM as framebuffer. */
486 PSLR |= 0x00000F04; 506 PSLR |= 0x00000F04;
487 PCFR = 0x00000066; 507 PCFR = 0x00000066;
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 4ffdff2d9ff1..ecbfbb9f46a2 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -57,13 +57,36 @@
57 57
58static unsigned long lubbock_pin_config[] __initdata = { 58static unsigned long lubbock_pin_config[] __initdata = {
59 GPIO15_nCS_1, /* CS1 - Flash */ 59 GPIO15_nCS_1, /* CS1 - Flash */
60 GPIO78_nCS_2, /* CS2 - Baseboard FGPA */
60 GPIO79_nCS_3, /* CS3 - SMC ethernet */ 61 GPIO79_nCS_3, /* CS3 - SMC ethernet */
62 GPIO80_nCS_4, /* CS4 - SA1111 */
61 63
62 /* SSP data pins */ 64 /* SSP data pins */
63 GPIO23_SSP1_SCLK, 65 GPIO23_SSP1_SCLK,
64 GPIO25_SSP1_TXD, 66 GPIO25_SSP1_TXD,
65 GPIO26_SSP1_RXD, 67 GPIO26_SSP1_RXD,
66 68
69 /* LCD - 16bpp DSTN */
70 GPIO58_LCD_LDD_0,
71 GPIO59_LCD_LDD_1,
72 GPIO60_LCD_LDD_2,
73 GPIO61_LCD_LDD_3,
74 GPIO62_LCD_LDD_4,
75 GPIO63_LCD_LDD_5,
76 GPIO64_LCD_LDD_6,
77 GPIO65_LCD_LDD_7,
78 GPIO66_LCD_LDD_8,
79 GPIO67_LCD_LDD_9,
80 GPIO68_LCD_LDD_10,
81 GPIO69_LCD_LDD_11,
82 GPIO70_LCD_LDD_12,
83 GPIO71_LCD_LDD_13,
84 GPIO72_LCD_LDD_14,
85 GPIO73_LCD_LDD_15,
86 GPIO74_LCD_FCLK,
87 GPIO75_LCD_LCLK,
88 GPIO76_LCD_PCLK,
89
67 /* BTUART */ 90 /* BTUART */
68 GPIO42_BTUART_RXD, 91 GPIO42_BTUART_RXD,
69 GPIO43_BTUART_TXD, 92 GPIO43_BTUART_TXD,
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c
index 143f28adaf95..8ebdac7e9a13 100644
--- a/arch/arm/mach-pxa/magician.c
+++ b/arch/arm/mach-pxa/magician.c
@@ -409,7 +409,7 @@ static struct platform_device backlight = {
409 * LEDs 409 * LEDs
410 */ 410 */
411 411
412struct gpio_led gpio_leds[] = { 412static struct gpio_led gpio_leds[] = {
413 { 413 {
414 .name = "magician::vibra", 414 .name = "magician::vibra",
415 .default_trigger = "none", 415 .default_trigger = "none",
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c
index 925575f10acf..3ee1f39062e9 100644
--- a/arch/arm/mach-pxa/mfp-pxa2xx.c
+++ b/arch/arm/mach-pxa/mfp-pxa2xx.c
@@ -25,7 +25,12 @@
25 25
26#include "generic.h" 26#include "generic.h"
27 27
28#define PGSR(x) __REG2(0x40F00020, ((x) & 0x60) >> 3) 28#define gpio_to_bank(gpio) ((gpio) >> 5)
29
30#define PGSR(x) __REG2(0x40F00020, (x) << 2)
31#define __GAFR(u, x) __REG2((u) ? 0x40E00058 : 0x40E00054, (x) << 3)
32#define GAFR_L(x) __GAFR(0, x)
33#define GAFR_U(x) __GAFR(1, x)
29 34
30#define PWER_WE35 (1 << 24) 35#define PWER_WE35 (1 << 24)
31 36
@@ -38,49 +43,59 @@ struct gpio_desc {
38}; 43};
39 44
40static struct gpio_desc gpio_desc[MFP_PIN_GPIO127 + 1]; 45static struct gpio_desc gpio_desc[MFP_PIN_GPIO127 + 1];
46static int gpio_nr;
41 47
42static int __mfp_config_lpm(unsigned gpio, unsigned long lpm) 48static unsigned long gpdr_lpm[4];
43{
44 unsigned mask = GPIO_bit(gpio);
45
46 /* low power state */
47 switch (lpm) {
48 case MFP_LPM_DRIVE_HIGH:
49 PGSR(gpio) |= mask;
50 break;
51 case MFP_LPM_DRIVE_LOW:
52 PGSR(gpio) &= ~mask;
53 break;
54 case MFP_LPM_INPUT:
55 break;
56 default:
57 pr_warning("%s: invalid low power state for GPIO%d\n",
58 __func__, gpio);
59 return -EINVAL;
60 }
61 return 0;
62}
63 49
64static int __mfp_config_gpio(unsigned gpio, unsigned long c) 50static int __mfp_config_gpio(unsigned gpio, unsigned long c)
65{ 51{
66 unsigned long gafr, mask = GPIO_bit(gpio); 52 unsigned long gafr, mask = GPIO_bit(gpio);
67 int fn; 53 int bank = gpio_to_bank(gpio);
54 int uorl = !!(gpio & 0x10); /* GAFRx_U or GAFRx_L ? */
55 int shft = (gpio & 0xf) << 1;
56 int fn = MFP_AF(c);
57 int dir = c & MFP_DIR_OUT;
68 58
69 fn = MFP_AF(c);
70 if (fn > 3) 59 if (fn > 3)
71 return -EINVAL; 60 return -EINVAL;
72 61
73 /* alternate function and direction */ 62 /* alternate function and direction at run-time */
74 gafr = GAFR(gpio) & ~(0x3 << ((gpio & 0xf) * 2)); 63 gafr = (uorl == 0) ? GAFR_L(bank) : GAFR_U(bank);
75 GAFR(gpio) = gafr | (fn << ((gpio & 0xf) * 2)); 64 gafr = (gafr & ~(0x3 << shft)) | (fn << shft);
76 65
77 if (c & MFP_DIR_OUT) 66 if (uorl == 0)
67 GAFR_L(bank) = gafr;
68 else
69 GAFR_U(bank) = gafr;
70
71 if (dir == MFP_DIR_OUT)
78 GPDR(gpio) |= mask; 72 GPDR(gpio) |= mask;
79 else 73 else
80 GPDR(gpio) &= ~mask; 74 GPDR(gpio) &= ~mask;
81 75
82 if (__mfp_config_lpm(gpio, c & MFP_LPM_STATE_MASK)) 76 /* alternate function and direction at low power mode */
83 return -EINVAL; 77 switch (c & MFP_LPM_STATE_MASK) {
78 case MFP_LPM_DRIVE_HIGH:
79 PGSR(bank) |= mask;
80 dir = MFP_DIR_OUT;
81 break;
82 case MFP_LPM_DRIVE_LOW:
83 PGSR(bank) &= ~mask;
84 dir = MFP_DIR_OUT;
85 break;
86 case MFP_LPM_DEFAULT:
87 break;
88 default:
89 /* warning and fall through, treat as MFP_LPM_DEFAULT */
90 pr_warning("%s: GPIO%d: unsupported low power mode\n",
91 __func__, gpio);
92 break;
93 }
94
95 if (dir == MFP_DIR_OUT)
96 gpdr_lpm[bank] |= mask;
97 else
98 gpdr_lpm[bank] &= ~mask;
84 99
85 /* give early warning if MFP_LPM_CAN_WAKEUP is set on the 100 /* give early warning if MFP_LPM_CAN_WAKEUP is set on the
86 * configurations of those pins not able to wakeup 101 * configurations of those pins not able to wakeup
@@ -91,7 +106,7 @@ static int __mfp_config_gpio(unsigned gpio, unsigned long c)
91 return -EINVAL; 106 return -EINVAL;
92 } 107 }
93 108
94 if ((c & MFP_LPM_CAN_WAKEUP) && (c & MFP_DIR_OUT)) { 109 if ((c & MFP_LPM_CAN_WAKEUP) && (dir == MFP_DIR_OUT)) {
95 pr_warning("%s: output GPIO%d unable to wakeup\n", 110 pr_warning("%s: output GPIO%d unable to wakeup\n",
96 __func__, gpio); 111 __func__, gpio);
97 return -EINVAL; 112 return -EINVAL;
@@ -135,7 +150,7 @@ void pxa2xx_mfp_config(unsigned long *mfp_cfgs, int num)
135 150
136void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm) 151void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm)
137{ 152{
138 unsigned long flags; 153 unsigned long flags, c;
139 int gpio; 154 int gpio;
140 155
141 gpio = __mfp_validate(mfp); 156 gpio = __mfp_validate(mfp);
@@ -143,7 +158,11 @@ void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm)
143 return; 158 return;
144 159
145 local_irq_save(flags); 160 local_irq_save(flags);
146 __mfp_config_lpm(gpio, lpm); 161
162 c = gpio_desc[gpio].config;
163 c = (c & ~MFP_LPM_STATE_MASK) | lpm;
164 __mfp_config_gpio(gpio, c);
165
147 local_irq_restore(flags); 166 local_irq_restore(flags);
148} 167}
149 168
@@ -187,23 +206,22 @@ int gpio_set_wake(unsigned int gpio, unsigned int on)
187} 206}
188 207
189#ifdef CONFIG_PXA25x 208#ifdef CONFIG_PXA25x
190static int __init pxa25x_mfp_init(void) 209static void __init pxa25x_mfp_init(void)
191{ 210{
192 int i; 211 int i;
193 212
194 if (cpu_is_pxa25x()) { 213 for (i = 0; i <= 84; i++)
195 for (i = 0; i <= 84; i++) 214 gpio_desc[i].valid = 1;
196 gpio_desc[i].valid = 1;
197 215
198 for (i = 0; i <= 15; i++) { 216 for (i = 0; i <= 15; i++) {
199 gpio_desc[i].can_wakeup = 1; 217 gpio_desc[i].can_wakeup = 1;
200 gpio_desc[i].mask = GPIO_bit(i); 218 gpio_desc[i].mask = GPIO_bit(i);
201 }
202 } 219 }
203 220
204 return 0; 221 gpio_nr = 85;
205} 222}
206postcore_initcall(pxa25x_mfp_init); 223#else
224static inline void pxa25x_mfp_init(void) {}
207#endif /* CONFIG_PXA25x */ 225#endif /* CONFIG_PXA25x */
208 226
209#ifdef CONFIG_PXA27x 227#ifdef CONFIG_PXA27x
@@ -233,45 +251,103 @@ int keypad_set_wake(unsigned int on)
233 return 0; 251 return 0;
234} 252}
235 253
236static int __init pxa27x_mfp_init(void) 254static void __init pxa27x_mfp_init(void)
237{ 255{
238 int i, gpio; 256 int i, gpio;
239 257
240 if (cpu_is_pxa27x()) { 258 for (i = 0; i <= 120; i++) {
241 for (i = 0; i <= 120; i++) { 259 /* skip GPIO2, 5, 6, 7, 8, they are not
242 /* skip GPIO2, 5, 6, 7, 8, they are not 260 * valid pins allow configuration
243 * valid pins allow configuration 261 */
244 */ 262 if (i == 2 || i == 5 || i == 6 || i == 7 || i == 8)
245 if (i == 2 || i == 5 || i == 6 || 263 continue;
246 i == 7 || i == 8)
247 continue;
248 264
249 gpio_desc[i].valid = 1; 265 gpio_desc[i].valid = 1;
250 } 266 }
251 267
252 /* Keypad GPIOs */ 268 /* Keypad GPIOs */
253 for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { 269 for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) {
254 gpio = pxa27x_pkwr_gpio[i]; 270 gpio = pxa27x_pkwr_gpio[i];
255 gpio_desc[gpio].can_wakeup = 1; 271 gpio_desc[gpio].can_wakeup = 1;
256 gpio_desc[gpio].keypad_gpio = 1; 272 gpio_desc[gpio].keypad_gpio = 1;
257 gpio_desc[gpio].mask = 1 << i; 273 gpio_desc[gpio].mask = 1 << i;
258 } 274 }
259 275
260 /* Overwrite GPIO13 as a PWER wakeup source */ 276 /* Overwrite GPIO13 as a PWER wakeup source */
261 for (i = 0; i <= 15; i++) { 277 for (i = 0; i <= 15; i++) {
262 /* skip GPIO2, 5, 6, 7, 8 */ 278 /* skip GPIO2, 5, 6, 7, 8 */
263 if (GPIO_bit(i) & 0x1e4) 279 if (GPIO_bit(i) & 0x1e4)
264 continue; 280 continue;
265 281
266 gpio_desc[i].can_wakeup = 1; 282 gpio_desc[i].can_wakeup = 1;
267 gpio_desc[i].mask = GPIO_bit(i); 283 gpio_desc[i].mask = GPIO_bit(i);
268 } 284 }
285
286 gpio_desc[35].can_wakeup = 1;
287 gpio_desc[35].mask = PWER_WE35;
288
289 gpio_nr = 121;
290}
291#else
292static inline void pxa27x_mfp_init(void) {}
293#endif /* CONFIG_PXA27x */
294
295#ifdef CONFIG_PM
296static unsigned long saved_gafr[2][4];
297static unsigned long saved_gpdr[4];
298
299static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state)
300{
301 int i;
302
303 for (i = 0; i <= gpio_to_bank(gpio_nr); i++) {
269 304
270 gpio_desc[35].can_wakeup = 1; 305 saved_gafr[0][i] = GAFR_L(i);
271 gpio_desc[35].mask = PWER_WE35; 306 saved_gafr[1][i] = GAFR_U(i);
307 saved_gpdr[i] = GPDR(i * 32);
308
309 GPDR(i * 32) = gpdr_lpm[i];
272 } 310 }
311 return 0;
312}
273 313
314static int pxa2xx_mfp_resume(struct sys_device *d)
315{
316 int i;
317
318 for (i = 0; i <= gpio_to_bank(gpio_nr); i++) {
319 GAFR_L(i) = saved_gafr[0][i];
320 GAFR_U(i) = saved_gafr[1][i];
321 GPDR(i * 32) = saved_gpdr[i];
322 }
323 PSSR = PSSR_RDH | PSSR_PH;
274 return 0; 324 return 0;
275} 325}
276postcore_initcall(pxa27x_mfp_init); 326#else
277#endif /* CONFIG_PXA27x */ 327#define pxa2xx_mfp_suspend NULL
328#define pxa2xx_mfp_resume NULL
329#endif
330
331struct sysdev_class pxa2xx_mfp_sysclass = {
332 .name = "mfp",
333 .suspend = pxa2xx_mfp_suspend,
334 .resume = pxa2xx_mfp_resume,
335};
336
337static int __init pxa2xx_mfp_init(void)
338{
339 int i;
340
341 if (cpu_is_pxa25x())
342 pxa25x_mfp_init();
343
344 if (cpu_is_pxa27x())
345 pxa27x_mfp_init();
346
347 /* initialize gafr_run[], pgsr_lpm[] from existing values */
348 for (i = 0; i <= gpio_to_bank(gpio_nr); i++)
349 gpdr_lpm[i] = GPDR(i * 32);
350
351 return sysdev_class_register(&pxa2xx_mfp_sysclass);
352}
353postcore_initcall(pxa2xx_mfp_init);
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c
new file mode 100644
index 000000000000..0842c531ee4d
--- /dev/null
+++ b/arch/arm/mach-pxa/mioa701.c
@@ -0,0 +1,905 @@
1/*
2 * Handles the Mitac Mio A701 Board
3 *
4 * Copyright (C) 2008 Robert Jarzmik
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21
22#include <linux/kernel.h>
23#include <linux/init.h>
24#include <linux/platform_device.h>
25#include <linux/sysdev.h>
26#include <linux/input.h>
27#include <linux/delay.h>
28#include <linux/gpio_keys.h>
29#include <linux/pwm_backlight.h>
30#include <linux/rtc.h>
31#include <linux/leds.h>
32#include <linux/gpio.h>
33#include <linux/interrupt.h>
34#include <linux/irq.h>
35#include <linux/pda_power.h>
36#include <linux/power_supply.h>
37#include <linux/wm97xx.h>
38#include <linux/mtd/physmap.h>
39
40#include <asm/mach-types.h>
41#include <asm/mach/arch.h>
42#include <mach/mfp-pxa27x.h>
43#include <mach/pxa27x_keypad.h>
44#include <mach/pxafb.h>
45#include <mach/pxa2xx-regs.h>
46#include <mach/mmc.h>
47#include <mach/udc.h>
48#include <mach/pxa27x-udc.h>
49
50#include <mach/mioa701.h>
51
52#include "generic.h"
53#include "devices.h"
54
55static unsigned long mioa701_pin_config[] = {
56 /* Mio global */
57 MIO_CFG_OUT(GPIO9_CHARGE_nEN, AF0, DRIVE_LOW),
58 MIO_CFG_OUT(GPIO18_POWEROFF, AF0, DRIVE_LOW),
59 MFP_CFG_OUT(GPIO3, AF0, DRIVE_HIGH),
60 MFP_CFG_OUT(GPIO4, AF0, DRIVE_HIGH),
61
62 /* Backlight PWM 0 */
63 GPIO16_PWM0_OUT,
64
65 /* MMC */
66 GPIO32_MMC_CLK,
67 GPIO92_MMC_DAT_0,
68 GPIO109_MMC_DAT_1,
69 GPIO110_MMC_DAT_2,
70 GPIO111_MMC_DAT_3,
71 GPIO112_MMC_CMD,
72 MIO_CFG_IN(GPIO78_SDIO_RO, AF0),
73 MIO_CFG_IN(GPIO15_SDIO_INSERT, AF0),
74 MIO_CFG_OUT(GPIO91_SDIO_EN, AF0, DRIVE_LOW),
75
76 /* USB */
77 MIO_CFG_IN(GPIO13_USB_DETECT, AF0),
78 MIO_CFG_OUT(GPIO22_USB_ENABLE, AF0, DRIVE_LOW),
79
80 /* LCD */
81 GPIO58_LCD_LDD_0,
82 GPIO59_LCD_LDD_1,
83 GPIO60_LCD_LDD_2,
84 GPIO61_LCD_LDD_3,
85 GPIO62_LCD_LDD_4,
86 GPIO63_LCD_LDD_5,
87 GPIO64_LCD_LDD_6,
88 GPIO65_LCD_LDD_7,
89 GPIO66_LCD_LDD_8,
90 GPIO67_LCD_LDD_9,
91 GPIO68_LCD_LDD_10,
92 GPIO69_LCD_LDD_11,
93 GPIO70_LCD_LDD_12,
94 GPIO71_LCD_LDD_13,
95 GPIO72_LCD_LDD_14,
96 GPIO73_LCD_LDD_15,
97 GPIO74_LCD_FCLK,
98 GPIO75_LCD_LCLK,
99 GPIO76_LCD_PCLK,
100
101 /* Bluetooth */
102 GPIO44_BTUART_CTS,
103 GPIO42_BTUART_RXD,
104 GPIO45_BTUART_RTS,
105 GPIO43_BTUART_TXD,
106 MIO_CFG_OUT(GPIO83_BT_ON, AF0, DRIVE_LOW),
107
108 /* GPS */
109 MIO_CFG_OUT(GPIO23_GPS_UNKNOWN1, AF0, DRIVE_LOW),
110 MIO_CFG_OUT(GPIO26_GPS_ON, AF0, DRIVE_LOW),
111 MIO_CFG_OUT(GPIO27_GPS_RESET, AF0, DRIVE_LOW),
112 MIO_CFG_OUT(GPIO106_GPS_UNKNOWN2, AF0, DRIVE_LOW),
113 MIO_CFG_OUT(GPIO107_GPS_UNKNOWN3, AF0, DRIVE_LOW),
114 GPIO46_STUART_RXD,
115 GPIO47_STUART_TXD,
116
117 /* GSM */
118 MIO_CFG_OUT(GPIO24_GSM_MOD_RESET_CMD, AF0, DRIVE_LOW),
119 MIO_CFG_OUT(GPIO88_GSM_nMOD_ON_CMD, AF0, DRIVE_HIGH),
120 MIO_CFG_OUT(GPIO90_GSM_nMOD_OFF_CMD, AF0, DRIVE_HIGH),
121 MIO_CFG_OUT(GPIO114_GSM_nMOD_DTE_UART_STATE, AF0, DRIVE_HIGH),
122 MIO_CFG_IN(GPIO25_GSM_MOD_ON_STATE, AF0),
123 MIO_CFG_IN(GPIO113_GSM_EVENT, AF0) | WAKEUP_ON_EDGE_BOTH,
124 GPIO34_FFUART_RXD,
125 GPIO35_FFUART_CTS,
126 GPIO36_FFUART_DCD,
127 GPIO37_FFUART_DSR,
128 GPIO39_FFUART_TXD,
129 GPIO40_FFUART_DTR,
130 GPIO41_FFUART_RTS,
131
132 /* Sound */
133 GPIO89_AC97_SYSCLK,
134 MIO_CFG_IN(GPIO12_HPJACK_INSERT, AF0),
135
136 /* Leds */
137 MIO_CFG_OUT(GPIO10_LED_nCharging, AF0, DRIVE_HIGH),
138 MIO_CFG_OUT(GPIO97_LED_nBlue, AF0, DRIVE_HIGH),
139 MIO_CFG_OUT(GPIO98_LED_nOrange, AF0, DRIVE_HIGH),
140 MIO_CFG_OUT(GPIO82_LED_nVibra, AF0, DRIVE_HIGH),
141 MIO_CFG_OUT(GPIO115_LED_nKeyboard, AF0, DRIVE_HIGH),
142
143 /* Keyboard */
144 MIO_CFG_IN(GPIO0_KEY_POWER, AF0) | WAKEUP_ON_EDGE_BOTH,
145 MIO_CFG_IN(GPIO93_KEY_VOLUME_UP, AF0),
146 MIO_CFG_IN(GPIO94_KEY_VOLUME_DOWN, AF0),
147 GPIO100_KP_MKIN_0,
148 GPIO101_KP_MKIN_1,
149 GPIO102_KP_MKIN_2,
150 GPIO103_KP_MKOUT_0,
151 GPIO104_KP_MKOUT_1,
152 GPIO105_KP_MKOUT_2,
153
154 /* Unknown */
155 MFP_CFG_IN(GPIO14, AF0),
156 MFP_CFG_IN(GPIO20, AF0),
157 MFP_CFG_IN(GPIO21, AF0),
158 MFP_CFG_IN(GPIO33, AF0),
159 MFP_CFG_OUT(GPIO49, AF0, DRIVE_HIGH),
160 MFP_CFG_OUT(GPIO57, AF0, DRIVE_HIGH),
161 MFP_CFG_OUT(GPIO77, AF0, DRIVE_HIGH),
162 MFP_CFG_IN(GPIO80, AF0),
163 MFP_CFG_OUT(GPIO86, AF0, DRIVE_HIGH),
164 MFP_CFG_IN(GPIO96, AF0),
165 MFP_CFG_OUT(GPIO116, AF0, DRIVE_HIGH),
166};
167
168#define MIO_GPIO_IN(num, _desc) \
169 { .gpio = (num), .dir = 0, .desc = (_desc) }
170#define MIO_GPIO_OUT(num, _init, _desc) \
171 { .gpio = (num), .dir = 1, .init = (_init), .desc = (_desc) }
172struct gpio_ress {
173 unsigned gpio : 8;
174 unsigned dir : 1;
175 unsigned init : 1;
176 char *desc;
177};
178
179static int mio_gpio_request(struct gpio_ress *gpios, int size)
180{
181 int i, rc = 0;
182 int gpio;
183 int dir;
184
185 for (i = 0; (!rc) && (i < size); i++) {
186 gpio = gpios[i].gpio;
187 dir = gpios[i].dir;
188 rc = gpio_request(gpio, gpios[i].desc);
189 if (rc) {
190 printk(KERN_ERR "Error requesting GPIO %d(%s) : %d\n",
191 gpio, gpios[i].desc, rc);
192 continue;
193 }
194 if (dir)
195 gpio_direction_output(gpio, gpios[i].init);
196 else
197 gpio_direction_input(gpio);
198 }
199 while ((rc) && (--i >= 0))
200 gpio_free(gpios[i].gpio);
201 return rc;
202}
203
204static void mio_gpio_free(struct gpio_ress *gpios, int size)
205{
206 int i;
207
208 for (i = 0; i < size; i++)
209 gpio_free(gpios[i].gpio);
210}
211
212/* LCD Screen and Backlight */
213static struct platform_pwm_backlight_data mioa701_backlight_data = {
214 .pwm_id = 0,
215 .max_brightness = 100,
216 .dft_brightness = 50,
217 .pwm_period_ns = 4000 * 1024, /* Fl = 250kHz */
218};
219
220/*
221 * LTM0305A776C LCD panel timings
222 *
223 * see:
224 * - the LTM0305A776C datasheet,
225 * - and the PXA27x Programmers' manual
226 */
227static struct pxafb_mode_info mioa701_ltm0305a776c = {
228 .pixclock = 220000, /* CLK=4.545 MHz */
229 .xres = 240,
230 .yres = 320,
231 .bpp = 16,
232 .hsync_len = 4,
233 .vsync_len = 2,
234 .left_margin = 6,
235 .right_margin = 4,
236 .upper_margin = 5,
237 .lower_margin = 3,
238};
239
240static void mioa701_lcd_power(int on, struct fb_var_screeninfo *si)
241{
242 gpio_set_value(GPIO87_LCD_POWER, on);
243}
244
245static struct pxafb_mach_info mioa701_pxafb_info = {
246 .modes = &mioa701_ltm0305a776c,
247 .num_modes = 1,
248 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
249 .pxafb_lcd_power = mioa701_lcd_power,
250};
251
252/*
253 * Keyboard configuration
254 */
255static unsigned int mioa701_matrix_keys[] = {
256 KEY(0, 0, KEY_UP),
257 KEY(0, 1, KEY_RIGHT),
258 KEY(0, 2, KEY_MEDIA),
259 KEY(1, 0, KEY_DOWN),
260 KEY(1, 1, KEY_ENTER),
261 KEY(1, 2, KEY_CONNECT), /* GPS key */
262 KEY(2, 0, KEY_LEFT),
263 KEY(2, 1, KEY_PHONE), /* Phone Green key */
264 KEY(2, 2, KEY_CAMERA) /* Camera key */
265};
266static struct pxa27x_keypad_platform_data mioa701_keypad_info = {
267 .matrix_key_rows = 3,
268 .matrix_key_cols = 3,
269 .matrix_key_map = mioa701_matrix_keys,
270 .matrix_key_map_size = ARRAY_SIZE(mioa701_matrix_keys),
271};
272
273/*
274 * GPIO Key Configuration
275 */
276#define MIO_KEY(key, _gpio, _desc, _wakeup) \
277 { .code = (key), .gpio = (_gpio), .active_low = 0, \
278 .desc = (_desc), .type = EV_KEY, .wakeup = (_wakeup) }
279static struct gpio_keys_button mioa701_button_table[] = {
280 MIO_KEY(KEY_EXIT, GPIO0_KEY_POWER, "Power button", 1),
281 MIO_KEY(KEY_VOLUMEUP, GPIO93_KEY_VOLUME_UP, "Volume up", 0),
282 MIO_KEY(KEY_VOLUMEDOWN, GPIO94_KEY_VOLUME_DOWN, "Volume down", 0),
283 MIO_KEY(KEY_HP, GPIO12_HPJACK_INSERT, "HP jack detect", 0)
284};
285
286static struct gpio_keys_platform_data mioa701_gpio_keys_data = {
287 .buttons = mioa701_button_table,
288 .nbuttons = ARRAY_SIZE(mioa701_button_table),
289};
290
291/*
292 * Leds and vibrator
293 */
294#define ONE_LED(_gpio, _name) \
295{ .gpio = (_gpio), .name = (_name), .active_low = true }
296static struct gpio_led gpio_leds[] = {
297 ONE_LED(GPIO10_LED_nCharging, "mioa701:charging"),
298 ONE_LED(GPIO97_LED_nBlue, "mioa701:blue"),
299 ONE_LED(GPIO98_LED_nOrange, "mioa701:orange"),
300 ONE_LED(GPIO82_LED_nVibra, "mioa701:vibra"),
301 ONE_LED(GPIO115_LED_nKeyboard, "mioa701:keyboard")
302};
303
304static struct gpio_led_platform_data gpio_led_info = {
305 .leds = gpio_leds,
306 .num_leds = ARRAY_SIZE(gpio_leds),
307};
308
309/*
310 * GSM Sagem XS200 chip
311 *
312 * GSM handling was purged from kernel. For history, this is the way to go :
313 * - init : GPIO24_GSM_MOD_RESET_CMD = 0, GPIO114_GSM_nMOD_DTE_UART_STATE = 1
314 * GPIO88_GSM_nMOD_ON_CMD = 1, GPIO90_GSM_nMOD_OFF_CMD = 1
315 * - reset : GPIO24_GSM_MOD_RESET_CMD = 1, msleep(100),
316 * GPIO24_GSM_MOD_RESET_CMD = 0
317 * - turn on : GPIO88_GSM_nMOD_ON_CMD = 0, msleep(1000),
318 * GPIO88_GSM_nMOD_ON_CMD = 1
319 * - turn off : GPIO90_GSM_nMOD_OFF_CMD = 0, msleep(1000),
320 * GPIO90_GSM_nMOD_OFF_CMD = 1
321 */
322static int is_gsm_on(void)
323{
324 int is_on;
325
326 is_on = !!gpio_get_value(GPIO25_GSM_MOD_ON_STATE);
327 return is_on;
328}
329
330irqreturn_t gsm_on_irq(int irq, void *p)
331{
332 printk(KERN_DEBUG "Mioa701: GSM status changed to %s\n",
333 is_gsm_on() ? "on" : "off");
334 return IRQ_HANDLED;
335}
336
337struct gpio_ress gsm_gpios[] = {
338 MIO_GPIO_IN(GPIO25_GSM_MOD_ON_STATE, "GSM state"),
339 MIO_GPIO_IN(GPIO113_GSM_EVENT, "GSM event"),
340};
341
342static int __init gsm_init(void)
343{
344 int rc;
345
346 rc = mio_gpio_request(ARRAY_AND_SIZE(gsm_gpios));
347 if (rc)
348 goto err_gpio;
349 rc = request_irq(gpio_to_irq(GPIO25_GSM_MOD_ON_STATE), gsm_on_irq,
350 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
351 "GSM XS200 Power Irq", NULL);
352 if (rc)
353 goto err_irq;
354
355 gpio_set_wake(GPIO113_GSM_EVENT, 1);
356 return 0;
357
358err_irq:
359 printk(KERN_ERR "Mioa701: Can't request GSM_ON irq\n");
360 mio_gpio_free(ARRAY_AND_SIZE(gsm_gpios));
361err_gpio:
362 printk(KERN_ERR "Mioa701: gsm not available\n");
363 return rc;
364}
365
366static void gsm_exit(void)
367{
368 free_irq(gpio_to_irq(GPIO25_GSM_MOD_ON_STATE), NULL);
369 mio_gpio_free(ARRAY_AND_SIZE(gsm_gpios));
370}
371
372/*
373 * Bluetooth BRF6150 chip
374 *
375 * BT handling was purged from kernel. For history, this is the way to go :
376 * - turn on : GPIO83_BT_ON = 1
377 * - turn off : GPIO83_BT_ON = 0
378 */
379
380/*
381 * GPS Sirf Star III chip
382 *
383 * GPS handling was purged from kernel. For history, this is the way to go :
384 * - init : GPIO23_GPS_UNKNOWN1 = 1, GPIO26_GPS_ON = 0, GPIO27_GPS_RESET = 0
385 * GPIO106_GPS_UNKNOWN2 = 0, GPIO107_GPS_UNKNOWN3 = 0
386 * - turn on : GPIO27_GPS_RESET = 1, GPIO26_GPS_ON = 1
387 * - turn off : GPIO26_GPS_ON = 0, GPIO27_GPS_RESET = 0
388 */
389
390/*
391 * USB UDC
392 */
393static void udc_power_command(int cmd)
394{
395 switch (cmd) {
396 case PXA2XX_UDC_CMD_DISCONNECT:
397 gpio_set_value(GPIO22_USB_ENABLE, 0);
398 break;
399 case PXA2XX_UDC_CMD_CONNECT:
400 gpio_set_value(GPIO22_USB_ENABLE, 1);
401 break;
402 default:
403 printk(KERN_INFO "udc_control: unknown command (0x%x)!\n", cmd);
404 break;
405 }
406}
407
408static int is_usb_connected(void)
409{
410 return !!gpio_get_value(GPIO13_USB_DETECT);
411}
412
413static struct pxa2xx_udc_mach_info mioa701_udc_info = {
414 .udc_is_connected = is_usb_connected,
415 .udc_command = udc_power_command,
416};
417
418struct gpio_ress udc_gpios[] = {
419 MIO_GPIO_OUT(GPIO22_USB_ENABLE, 0, "USB Vbus enable")
420};
421
422static int __init udc_init(void)
423{
424 pxa_set_udc_info(&mioa701_udc_info);
425 return mio_gpio_request(ARRAY_AND_SIZE(udc_gpios));
426}
427
428static void udc_exit(void)
429{
430 mio_gpio_free(ARRAY_AND_SIZE(udc_gpios));
431}
432
433/*
434 * SDIO/MMC Card controller
435 */
436static void mci_setpower(struct device *dev, unsigned int vdd)
437{
438 struct pxamci_platform_data *p_d = dev->platform_data;
439
440 if ((1 << vdd) & p_d->ocr_mask)
441 gpio_set_value(GPIO91_SDIO_EN, 1); /* enable SDIO power */
442 else
443 gpio_set_value(GPIO91_SDIO_EN, 0); /* disable SDIO power */
444}
445
446static int mci_get_ro(struct device *dev)
447{
448 return gpio_get_value(GPIO78_SDIO_RO);
449}
450
451struct gpio_ress mci_gpios[] = {
452 MIO_GPIO_IN(GPIO78_SDIO_RO, "SDIO readonly detect"),
453 MIO_GPIO_IN(GPIO15_SDIO_INSERT, "SDIO insertion detect"),
454 MIO_GPIO_OUT(GPIO91_SDIO_EN, 0, "SDIO power enable")
455};
456
457static void mci_exit(struct device *dev, void *data)
458{
459 mio_gpio_free(ARRAY_AND_SIZE(mci_gpios));
460 free_irq(gpio_to_irq(GPIO15_SDIO_INSERT), data);
461}
462
463static struct pxamci_platform_data mioa701_mci_info;
464
465/**
466 * The card detect interrupt isn't debounced so we delay it by 250ms
467 * to give the card a chance to fully insert/eject.
468 */
469static int mci_init(struct device *dev, irq_handler_t detect_int, void *data)
470{
471 int rc;
472 int irq = gpio_to_irq(GPIO15_SDIO_INSERT);
473
474 rc = mio_gpio_request(ARRAY_AND_SIZE(mci_gpios));
475 if (rc)
476 goto err_gpio;
477 /* enable RE/FE interrupt on card insertion and removal */
478 rc = request_irq(irq, detect_int,
479 IRQF_DISABLED | IRQF_TRIGGER_RISING |
480 IRQF_TRIGGER_FALLING,
481 "MMC card detect", data);
482 if (rc)
483 goto err_irq;
484
485 mioa701_mci_info.detect_delay = msecs_to_jiffies(250);
486 return 0;
487
488err_irq:
489 dev_err(dev, "mioa701_mci_init: MMC/SD:"
490 " can't request MMC card detect IRQ\n");
491 mio_gpio_free(ARRAY_AND_SIZE(mci_gpios));
492err_gpio:
493 return rc;
494}
495
496static struct pxamci_platform_data mioa701_mci_info = {
497 .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
498 .init = mci_init,
499 .get_ro = mci_get_ro,
500 .setpower = mci_setpower,
501 .exit = mci_exit,
502};
503
504/* FlashRAM */
505static struct resource strataflash_resource = {
506 .start = PXA_CS0_PHYS,
507 .end = PXA_CS0_PHYS + SZ_64M - 1,
508 .flags = IORESOURCE_MEM,
509};
510
511static struct physmap_flash_data strataflash_data = {
512 .width = 2,
513 /* .set_vpp = mioa701_set_vpp, */
514};
515
516static struct platform_device strataflash = {
517 .name = "physmap-flash",
518 .id = -1,
519 .resource = &strataflash_resource,
520 .num_resources = 1,
521 .dev = {
522 .platform_data = &strataflash_data,
523 },
524};
525
526/*
527 * Suspend/Resume bootstrap management
528 *
529 * MIO A701 reboot sequence is highly ROM dependant. From the one dissassembled,
530 * this sequence is as follows :
531 * - disables interrupts
532 * - initialize SDRAM (self refresh RAM into active RAM)
533 * - initialize GPIOs (depends on value at 0xa020b020)
534 * - initialize coprossessors
535 * - if edge detect on PWR_SCL(GPIO3), then proceed to cold start
536 * - or if value at 0xa020b000 not equal to 0x0f0f0f0f, proceed to cold start
537 * - else do a resume, ie. jump to addr 0xa0100000
538 */
539#define RESUME_ENABLE_ADDR 0xa020b000
540#define RESUME_ENABLE_VAL 0x0f0f0f0f
541#define RESUME_BT_ADDR 0xa020b020
542#define RESUME_UNKNOWN_ADDR 0xa020b024
543#define RESUME_VECTOR_ADDR 0xa0100000
544#define BOOTSTRAP_WORDS mioa701_bootstrap_lg/4
545
546static u32 *save_buffer;
547
548static void install_bootstrap(void)
549{
550 int i;
551 u32 *rom_bootstrap = phys_to_virt(RESUME_VECTOR_ADDR);
552 u32 *src = &mioa701_bootstrap;
553
554 for (i = 0; i < BOOTSTRAP_WORDS; i++)
555 rom_bootstrap[i] = src[i];
556}
557
558
559static int mioa701_sys_suspend(struct sys_device *sysdev, pm_message_t state)
560{
561 int i = 0, is_bt_on;
562 u32 *mem_resume_vector = phys_to_virt(RESUME_VECTOR_ADDR);
563 u32 *mem_resume_enabler = phys_to_virt(RESUME_ENABLE_ADDR);
564 u32 *mem_resume_bt = phys_to_virt(RESUME_BT_ADDR);
565 u32 *mem_resume_unknown = phys_to_virt(RESUME_UNKNOWN_ADDR);
566
567 /* Devices prepare suspend */
568 is_bt_on = gpio_get_value(GPIO83_BT_ON);
569 pxa2xx_mfp_set_lpm(GPIO83_BT_ON,
570 is_bt_on ? MFP_LPM_DRIVE_HIGH : MFP_LPM_DRIVE_LOW);
571
572 for (i = 0; i < BOOTSTRAP_WORDS; i++)
573 save_buffer[i] = mem_resume_vector[i];
574 save_buffer[i++] = *mem_resume_enabler;
575 save_buffer[i++] = *mem_resume_bt;
576 save_buffer[i++] = *mem_resume_unknown;
577
578 *mem_resume_enabler = RESUME_ENABLE_VAL;
579 *mem_resume_bt = is_bt_on;
580
581 install_bootstrap();
582 return 0;
583}
584
585static int mioa701_sys_resume(struct sys_device *sysdev)
586{
587 int i = 0;
588 u32 *mem_resume_vector = phys_to_virt(RESUME_VECTOR_ADDR);
589 u32 *mem_resume_enabler = phys_to_virt(RESUME_ENABLE_ADDR);
590 u32 *mem_resume_bt = phys_to_virt(RESUME_BT_ADDR);
591 u32 *mem_resume_unknown = phys_to_virt(RESUME_UNKNOWN_ADDR);
592
593 for (i = 0; i < BOOTSTRAP_WORDS; i++)
594 mem_resume_vector[i] = save_buffer[i];
595 *mem_resume_enabler = save_buffer[i++];
596 *mem_resume_bt = save_buffer[i++];
597 *mem_resume_unknown = save_buffer[i++];
598
599 return 0;
600}
601
602static struct sysdev_class mioa701_sysclass = {
603 .name = "mioa701",
604};
605
606static struct sys_device sysdev_bootstrap = {
607 .cls = &mioa701_sysclass,
608};
609
610static struct sysdev_driver driver_bootstrap = {
611 .suspend = &mioa701_sys_suspend,
612 .resume = &mioa701_sys_resume,
613};
614
615static int __init bootstrap_init(void)
616{
617 int rc;
618 int save_size = mioa701_bootstrap_lg + (sizeof(u32) * 3);
619
620 rc = sysdev_class_register(&mioa701_sysclass);
621 if (rc) {
622 printk(KERN_ERR "Failed registering mioa701 sys class\n");
623 return -ENODEV;
624 }
625 rc = sysdev_register(&sysdev_bootstrap);
626 if (rc) {
627 printk(KERN_ERR "Failed registering mioa701 sys device\n");
628 return -ENODEV;
629 }
630 rc = sysdev_driver_register(&mioa701_sysclass, &driver_bootstrap);
631 if (rc) {
632 printk(KERN_ERR "Failed registering PMU sys driver\n");
633 return -ENODEV;
634 }
635
636 save_buffer = kmalloc(save_size, GFP_KERNEL);
637 if (!save_buffer)
638 return -ENOMEM;
639 printk(KERN_INFO "MioA701: allocated %d bytes for bootstrap\n",
640 save_size);
641 return 0;
642}
643
644static void bootstrap_exit(void)
645{
646 kfree(save_buffer);
647 sysdev_driver_unregister(&mioa701_sysclass, &driver_bootstrap);
648 sysdev_unregister(&sysdev_bootstrap);
649 sysdev_class_unregister(&mioa701_sysclass);
650
651 printk(KERN_CRIT "Unregistering mioa701 suspend will hang next"
652 "resume !!!\n");
653}
654
655/*
656 * Power Supply
657 */
658static char *supplicants[] = {
659 "mioa701_battery"
660};
661
662static void mioa701_set_charge(int flags)
663{
664 gpio_set_value(GPIO9_CHARGE_nEN, !flags);
665}
666
667static struct pda_power_pdata power_pdata = {
668 .is_ac_online = is_usb_connected,
669 .set_charge = mioa701_set_charge,
670 .supplied_to = supplicants,
671 .num_supplicants = ARRAY_SIZE(supplicants),
672};
673
674static struct resource power_resources[] = {
675 [0] = {
676 .name = "ac",
677 .start = gpio_to_irq(GPIO13_USB_DETECT),
678 .end = gpio_to_irq(GPIO13_USB_DETECT),
679 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE |
680 IORESOURCE_IRQ_LOWEDGE,
681 },
682};
683
684static struct platform_device power_dev = {
685 .name = "pda-power",
686 .id = -1,
687 .resource = power_resources,
688 .num_resources = ARRAY_SIZE(power_resources),
689 .dev = {
690 .platform_data = &power_pdata,
691 },
692};
693
694#if defined(CONFIG_PDA_POWER) && defined(CONFIG_TOUCHSCREEN_WM97XX)
695static struct wm97xx *battery_wm;
696
697static enum power_supply_property battery_props[] = {
698 POWER_SUPPLY_PROP_STATUS,
699 POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
700 POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
701 POWER_SUPPLY_PROP_VOLTAGE_NOW,
702 POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, /* Necessary for apm */
703};
704
705static int get_battery_voltage(void)
706{
707 int adc = -1;
708
709 if (battery_wm)
710 adc = wm97xx_read_aux_adc(battery_wm, WM97XX_AUX_ID1);
711 return adc;
712}
713
714static int get_battery_status(struct power_supply *b)
715{
716 int status;
717
718 if (is_usb_connected())
719 status = POWER_SUPPLY_STATUS_CHARGING;
720 else
721 status = POWER_SUPPLY_STATUS_DISCHARGING;
722
723 return status;
724}
725
726static int get_property(struct power_supply *b,
727 enum power_supply_property psp,
728 union power_supply_propval *val)
729{
730 int rc = 0;
731
732 switch (psp) {
733 case POWER_SUPPLY_PROP_STATUS:
734 val->intval = get_battery_status(b);
735 break;
736 case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
737 val->intval = 0xfd0;
738 break;
739 case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
740 val->intval = 0xc00;
741 break;
742 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
743 val->intval = get_battery_voltage();
744 break;
745 case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
746 val->intval = 100;
747 break;
748 default:
749 val->intval = -1;
750 rc = -1;
751 }
752
753 return rc;
754};
755
756static struct power_supply battery_ps = {
757 .name = "mioa701_battery",
758 .type = POWER_SUPPLY_TYPE_BATTERY,
759 .get_property = get_property,
760 .properties = battery_props,
761 .num_properties = ARRAY_SIZE(battery_props),
762};
763
764static int battery_probe(struct platform_device *pdev)
765{
766 struct wm97xx *wm = platform_get_drvdata(pdev);
767 int rc;
768
769 battery_wm = wm;
770
771 rc = power_supply_register(NULL, &battery_ps);
772 if (rc)
773 dev_err(&pdev->dev,
774 "Could not register mioa701 battery -> %d\n", rc);
775 return rc;
776}
777
778static int battery_remove(struct platform_device *pdev)
779{
780 battery_wm = NULL;
781 return 0;
782}
783
784static struct platform_driver mioa701_battery_driver = {
785 .driver = {
786 .name = "wm97xx-battery",
787 },
788 .probe = battery_probe,
789 .remove = battery_remove
790};
791
792static int __init mioa701_battery_init(void)
793{
794 int rc;
795
796 rc = platform_driver_register(&mioa701_battery_driver);
797 if (rc)
798 printk(KERN_ERR "Could not register mioa701 battery driver\n");
799 return rc;
800}
801
802#else
803static int __init mioa701_battery_init(void)
804{
805 return 0;
806}
807#endif
808
809/*
810 * Mio global
811 */
812
813/* Devices */
814#define MIO_PARENT_DEV(var, strname, tparent, pdata) \
815static struct platform_device var = { \
816 .name = strname, \
817 .id = -1, \
818 .dev = { \
819 .platform_data = pdata, \
820 .parent = tparent, \
821 }, \
822};
823#define MIO_SIMPLE_DEV(var, strname, pdata) \
824 MIO_PARENT_DEV(var, strname, NULL, pdata)
825
826MIO_SIMPLE_DEV(mioa701_gpio_keys, "gpio-keys", &mioa701_gpio_keys_data)
827MIO_PARENT_DEV(mioa701_backlight, "pwm-backlight", &pxa27x_device_pwm0.dev,
828 &mioa701_backlight_data);
829MIO_SIMPLE_DEV(mioa701_led, "leds-gpio", &gpio_led_info)
830MIO_SIMPLE_DEV(pxa2xx_pcm, "pxa2xx-pcm", NULL)
831MIO_SIMPLE_DEV(pxa2xx_ac97, "pxa2xx-ac97", NULL)
832MIO_PARENT_DEV(mio_wm9713_codec, "wm9713-codec", &pxa2xx_ac97.dev, NULL)
833MIO_SIMPLE_DEV(mioa701_sound, "mioa701-wm9713", NULL)
834MIO_SIMPLE_DEV(mioa701_board, "mioa701-board", NULL)
835
836static struct platform_device *devices[] __initdata = {
837 &mioa701_gpio_keys,
838 &mioa701_backlight,
839 &mioa701_led,
840 &pxa2xx_pcm,
841 &pxa2xx_ac97,
842 &mio_wm9713_codec,
843 &mioa701_sound,
844 &power_dev,
845 &strataflash,
846 &mioa701_board
847};
848
849static void mioa701_machine_exit(void);
850
851static void mioa701_poweroff(void)
852{
853 mioa701_machine_exit();
854 gpio_set_value(GPIO18_POWEROFF, 1);
855}
856
857static void mioa701_restart(char c)
858{
859 mioa701_machine_exit();
860 arm_machine_restart(c);
861}
862
863struct gpio_ress global_gpios[] = {
864 MIO_GPIO_OUT(GPIO9_CHARGE_nEN, 1, "Charger enable"),
865 MIO_GPIO_OUT(GPIO18_POWEROFF, 0, "Power Off"),
866 MIO_GPIO_OUT(GPIO87_LCD_POWER, 0, "LCD Power")
867};
868
869static void __init mioa701_machine_init(void)
870{
871 PSLR = 0xff100000; /* SYSDEL=125ms, PWRDEL=125ms, PSLR_SL_ROD=1 */
872 PCFR = PCFR_DC_EN | PCFR_GPR_EN | PCFR_OPDE;
873 RTTR = 32768 - 1; /* Reset crazy WinCE value */
874 UP2OCR = UP2OCR_HXOE;
875
876 pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config));
877 mio_gpio_request(ARRAY_AND_SIZE(global_gpios));
878 bootstrap_init();
879 set_pxa_fb_info(&mioa701_pxafb_info);
880 pxa_set_mci_info(&mioa701_mci_info);
881 pxa_set_keypad_info(&mioa701_keypad_info);
882 udc_init();
883 pm_power_off = mioa701_poweroff;
884 arm_pm_restart = mioa701_restart;
885 platform_add_devices(devices, ARRAY_SIZE(devices));
886 gsm_init();
887 mioa701_battery_init();
888}
889
890static void mioa701_machine_exit(void)
891{
892 udc_exit();
893 bootstrap_exit();
894 gsm_exit();
895}
896
897MACHINE_START(MIOA701, "MIO A701")
898 .phys_io = 0x40000000,
899 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
900 .boot_params = 0xa0000100,
901 .map_io = &pxa_map_io,
902 .init_irq = &pxa27x_init_irq,
903 .init_machine = mioa701_machine_init,
904 .timer = &pxa_timer,
905MACHINE_END
diff --git a/arch/arm/mach-pxa/mioa701_bootresume.S b/arch/arm/mach-pxa/mioa701_bootresume.S
new file mode 100644
index 000000000000..a647693d9856
--- /dev/null
+++ b/arch/arm/mach-pxa/mioa701_bootresume.S
@@ -0,0 +1,36 @@
1/* Bootloader to resume MIO A701
2 *
3 * 2007-1-12 Robert Jarzmik
4 *
5 * This code is licenced under the GPLv2.
6*/
7
8#include <linux/linkage.h>
9#include <asm/assembler.h>
10
11/*
12 * Note: Yes, part of the following code is located into the .data section.
13 * This is to allow jumpaddr to be accessed with a relative load
14 * while we can't rely on any MMU translation. We could have put
15 * sleep_save_sp in the .text section as well, but some setups might
16 * insist on it to be truly read-only.
17 */
18 .data
19ENTRY(mioa701_bootstrap)
200:
21 b 1f
22ENTRY(mioa701_jumpaddr)
23 .word 0x40f00008 @ PSPR in no-MMU mode
241:
25 mov r0, #0xa0000000 @ Don't suppose memory access works
26 orr r0, r0, #0x00200000 @ even if it's supposed to
27 mov r1, #0
28 str r1, [r0] @ Early disable resume for next boot
29 ldr r0, mioa701_jumpaddr @ (Murphy's Law)
30 ldr r0, [r0]
31 mov pc, r0
322:
33
34ENTRY(mioa701_bootstrap_lg)
35 .data
36 .word 2b-0b
diff --git a/arch/arm/mach-pxa/mp900.c b/arch/arm/mach-pxa/mp900.c
new file mode 100644
index 000000000000..8a73814126b1
--- /dev/null
+++ b/arch/arm/mach-pxa/mp900.c
@@ -0,0 +1,100 @@
1/*
2 * linux/arch/arm/mach-pxa/mp900.c
3 *
4 * Support for the NEC MobilePro900/C platform
5 *
6 * Based on mach-pxa/gumstix.c
7 *
8 * 2007, 2008 Kristoffer Ericson <kristoffer.ericson@gmail.com>
9 * 2007, 2008 Michael Petchkovsky <mkpetch@internode.on.net>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16#include <linux/init.h>
17#include <linux/device.h>
18#include <linux/platform_device.h>
19#include <linux/types.h>
20#include <linux/usb/isp116x.h>
21
22#include <mach/hardware.h>
23#include <mach/pxa-regs.h>
24#include <asm/mach-types.h>
25#include <asm/mach/arch.h>
26#include "generic.h"
27
28static void isp116x_pfm_delay(struct device *dev, int delay)
29{
30
31 /* 400Mhz PXA2 = 2.5ns / instruction */
32
33 int cyc = delay / 10;
34
35 /* 4 Instructions = 4 x 2.5ns = 10ns */
36 __asm__ volatile ("0:\n"
37 "subs %0, %1, #1\n"
38 "bge 0b\n"
39 :"=r" (cyc)
40 :"0"(cyc)
41 );
42}
43
44static struct isp116x_platform_data isp116x_pfm_data = {
45 .remote_wakeup_enable = 1,
46 .delay = isp116x_pfm_delay,
47};
48
49static struct resource isp116x_pfm_resources[] = {
50 [0] = {
51 .start = 0x0d000000,
52 .end = 0x0d000000 + 1,
53 .flags = IORESOURCE_MEM,
54 },
55 [1] = {
56 .start = 0x0d000000 + 4,
57 .end = 0x0d000000 + 5,
58 .flags = IORESOURCE_MEM,
59 },
60 [2] = {
61 .start = 61,
62 .end = 61,
63 .flags = IORESOURCE_IRQ,
64 },
65};
66
67static struct platform_device mp900c_dummy_device = {
68 .name = "mp900c_dummy",
69 .id = -1,
70};
71
72static struct platform_device mp900c_usb = {
73 .name = "isp116x-hcd",
74 .num_resources = ARRAY_SIZE(isp116x_pfm_resources),
75 .resource = isp116x_pfm_resources,
76 .dev.platform_data = &isp116x_pfm_data,
77};
78
79static struct platform_device *devices[] __initdata = {
80 &mp900c_dummy_device,
81 &mp900c_usb,
82};
83
84static void __init mp900c_init(void)
85{
86 printk(KERN_INFO "MobilePro 900/C machine init\n");
87 platform_add_devices(devices, ARRAY_SIZE(devices));
88}
89
90/* Maintainer - Michael Petchkovsky <mkpetch@internode.on.net> */
91MACHINE_START(NEC_MP900, "MobilePro900/C")
92 .phys_io = 0x40000000,
93 .boot_params = 0xa0220100,
94 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
95 .timer = &pxa_timer,
96 .map_io = pxa_map_io,
97 .init_irq = pxa25x_init_irq,
98 .init_machine = mp900c_init,
99MACHINE_END
100
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index fe924a23debe..4447711c9fc6 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -25,6 +25,8 @@
25#include <linux/pda_power.h> 25#include <linux/pda_power.h>
26#include <linux/pwm_backlight.h> 26#include <linux/pwm_backlight.h>
27#include <linux/gpio.h> 27#include <linux/gpio.h>
28#include <linux/wm97xx_batt.h>
29#include <linux/power_supply.h>
28 30
29#include <asm/mach-types.h> 31#include <asm/mach-types.h>
30#include <asm/mach/arch.h> 32#include <asm/mach/arch.h>
@@ -340,6 +342,23 @@ static struct platform_device power_supply = {
340}; 342};
341 343
342/****************************************************************************** 344/******************************************************************************
345 * WM97xx battery
346 ******************************************************************************/
347static struct wm97xx_batt_info wm97xx_batt_pdata = {
348 .batt_aux = WM97XX_AUX_ID3,
349 .temp_aux = WM97XX_AUX_ID2,
350 .charge_gpio = -1,
351 .max_voltage = PALMTX_BAT_MAX_VOLTAGE,
352 .min_voltage = PALMTX_BAT_MIN_VOLTAGE,
353 .batt_mult = 1000,
354 .batt_div = 414,
355 .temp_mult = 1,
356 .temp_div = 1,
357 .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
358 .batt_name = "main-batt",
359};
360
361/******************************************************************************
343 * Framebuffer 362 * Framebuffer
344 ******************************************************************************/ 363 ******************************************************************************/
345static struct pxafb_mode_info palmtx_lcd_modes[] = { 364static struct pxafb_mode_info palmtx_lcd_modes[] = {
@@ -401,6 +420,7 @@ static void __init palmtx_init(void)
401 pxa_set_ac97_info(NULL); 420 pxa_set_ac97_info(NULL);
402 pxa_set_ficp_info(&palmtx_ficp_platform_data); 421 pxa_set_ficp_info(&palmtx_ficp_platform_data);
403 pxa_set_keypad_info(&palmtx_keypad_platform_data); 422 pxa_set_keypad_info(&palmtx_keypad_platform_data);
423 wm97xx_bat_set_pdata(&wm97xx_batt_pdata);
404 424
405 platform_add_devices(devices, ARRAY_SIZE(devices)); 425 platform_add_devices(devices, ARRAY_SIZE(devices));
406} 426}
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
new file mode 100644
index 000000000000..a90b4d77a201
--- /dev/null
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -0,0 +1,480 @@
1/*
2 * Hardware definitions for Palm Zire72
3 *
4 * Authors:
5 * Vladimir "Farcaller" Pouzanov <farcaller@gmail.com>
6 * Sergey Lapin <slapin@ossfans.org>
7 * Alex Osborne <bobofdoom@gmail.com>
8 * Jan Herman <2hp@seznam.cz>
9 *
10 * Rewrite for mainline:
11 * Marek Vasut <marek.vasut@gmail.com>
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License version 2 as
15 * published by the Free Software Foundation.
16 *
17 * (find more info at www.hackndev.com)
18 *
19 */
20
21#include <linux/platform_device.h>
22#include <linux/sysdev.h>
23#include <linux/delay.h>
24#include <linux/irq.h>
25#include <linux/gpio_keys.h>
26#include <linux/input.h>
27#include <linux/pda_power.h>
28#include <linux/pwm_backlight.h>
29#include <linux/gpio.h>
30#include <linux/power_supply.h>
31
32#include <asm/mach-types.h>
33#include <asm/mach/arch.h>
34#include <asm/mach/map.h>
35
36#include <mach/audio.h>
37#include <mach/palmz72.h>
38#include <mach/mmc.h>
39#include <mach/pxafb.h>
40#include <mach/pxa-regs.h>
41#include <mach/pxa2xx-regs.h>
42#include <mach/mfp-pxa27x.h>
43#include <mach/irda.h>
44#include <mach/pxa27x_keypad.h>
45#include <mach/udc.h>
46#include <mach/pm.h>
47
48#include "generic.h"
49#include "devices.h"
50
51/******************************************************************************
52 * Pin configuration
53 ******************************************************************************/
54static unsigned long palmz72_pin_config[] __initdata = {
55 /* MMC */
56 GPIO32_MMC_CLK,
57 GPIO92_MMC_DAT_0,
58 GPIO109_MMC_DAT_1,
59 GPIO110_MMC_DAT_2,
60 GPIO111_MMC_DAT_3,
61 GPIO112_MMC_CMD,
62 GPIO14_GPIO, /* SD detect */
63 GPIO115_GPIO, /* SD RO */
64 GPIO98_GPIO, /* SD power */
65
66 /* AC97 */
67 GPIO28_AC97_BITCLK,
68 GPIO29_AC97_SDATA_IN_0,
69 GPIO30_AC97_SDATA_OUT,
70 GPIO31_AC97_SYNC,
71
72 /* IrDA */
73 GPIO49_GPIO, /* ir disable */
74 GPIO46_FICP_RXD,
75 GPIO47_FICP_TXD,
76
77 /* PWM */
78 GPIO16_PWM0_OUT,
79
80 /* USB */
81 GPIO15_GPIO, /* usb detect */
82 GPIO12_GPIO, /* usb pullup */
83 GPIO95_GPIO, /* usb power */
84
85 /* Matrix keypad */
86 GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH,
87 GPIO101_KP_MKIN_1 | WAKEUP_ON_LEVEL_HIGH,
88 GPIO102_KP_MKIN_2 | WAKEUP_ON_LEVEL_HIGH,
89 GPIO97_KP_MKIN_3 | WAKEUP_ON_LEVEL_HIGH,
90 GPIO103_KP_MKOUT_0,
91 GPIO104_KP_MKOUT_1,
92 GPIO105_KP_MKOUT_2,
93
94 /* LCD */
95 GPIO58_LCD_LDD_0,
96 GPIO59_LCD_LDD_1,
97 GPIO60_LCD_LDD_2,
98 GPIO61_LCD_LDD_3,
99 GPIO62_LCD_LDD_4,
100 GPIO63_LCD_LDD_5,
101 GPIO64_LCD_LDD_6,
102 GPIO65_LCD_LDD_7,
103 GPIO66_LCD_LDD_8,
104 GPIO67_LCD_LDD_9,
105 GPIO68_LCD_LDD_10,
106 GPIO69_LCD_LDD_11,
107 GPIO70_LCD_LDD_12,
108 GPIO71_LCD_LDD_13,
109 GPIO72_LCD_LDD_14,
110 GPIO73_LCD_LDD_15,
111 GPIO74_LCD_FCLK,
112 GPIO75_LCD_LCLK,
113 GPIO76_LCD_PCLK,
114 GPIO77_LCD_BIAS,
115 GPIO20_GPIO, /* bl power */
116 GPIO21_GPIO, /* LCD border switch */
117 GPIO22_GPIO, /* LCD border color */
118 GPIO96_GPIO, /* lcd power */
119
120 /* Misc. */
121 GPIO0_GPIO | WAKEUP_ON_LEVEL_HIGH, /* power detect */
122 GPIO88_GPIO, /* green led */
123 GPIO27_GPIO, /* WM9712 IRQ */
124};
125
126/******************************************************************************
127 * SD/MMC card controller
128 ******************************************************************************/
129static int palmz72_mci_init(struct device *dev,
130 irq_handler_t palmz72_detect_int, void *data)
131{
132 int err = 0;
133
134 /* Setup an interrupt for detecting card insert/remove events */
135 err = gpio_request(GPIO_NR_PALMZ72_SD_DETECT_N, "SD IRQ");
136 if (err)
137 goto err;
138 err = gpio_direction_input(GPIO_NR_PALMZ72_SD_DETECT_N);
139 if (err)
140 goto err2;
141 err = request_irq(gpio_to_irq(GPIO_NR_PALMZ72_SD_DETECT_N),
142 palmz72_detect_int, IRQF_DISABLED | IRQF_SAMPLE_RANDOM |
143 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
144 "SD/MMC card detect", data);
145 if (err) {
146 printk(KERN_ERR "%s: cannot request SD/MMC card detect IRQ\n",
147 __func__);
148 goto err2;
149 }
150
151 /* SD_POWER is not actually power, but it is more like chip
152 * select, i.e. it is inverted */
153
154 err = gpio_request(GPIO_NR_PALMZ72_SD_POWER_N, "SD_POWER");
155 if (err)
156 goto err3;
157 err = gpio_direction_output(GPIO_NR_PALMZ72_SD_POWER_N, 0);
158 if (err)
159 goto err4;
160 err = gpio_request(GPIO_NR_PALMZ72_SD_RO, "SD_RO");
161 if (err)
162 goto err4;
163 err = gpio_direction_input(GPIO_NR_PALMZ72_SD_RO);
164 if (err)
165 goto err5;
166
167 printk(KERN_DEBUG "%s: irq registered\n", __func__);
168
169 return 0;
170
171err5:
172 gpio_free(GPIO_NR_PALMZ72_SD_RO);
173err4:
174 gpio_free(GPIO_NR_PALMZ72_SD_POWER_N);
175err3:
176 free_irq(gpio_to_irq(GPIO_NR_PALMZ72_SD_DETECT_N), data);
177err2:
178 gpio_free(GPIO_NR_PALMZ72_SD_DETECT_N);
179err:
180 return err;
181}
182
183static void palmz72_mci_exit(struct device *dev, void *data)
184{
185 gpio_free(GPIO_NR_PALMZ72_SD_POWER_N);
186 free_irq(gpio_to_irq(GPIO_NR_PALMZ72_SD_DETECT_N), data);
187 gpio_free(GPIO_NR_PALMZ72_SD_DETECT_N);
188 gpio_free(GPIO_NR_PALMZ72_SD_RO);
189}
190
191static void palmz72_mci_power(struct device *dev, unsigned int vdd)
192{
193 struct pxamci_platform_data *p_d = dev->platform_data;
194 if (p_d->ocr_mask & (1 << vdd))
195 gpio_set_value(GPIO_NR_PALMZ72_SD_POWER_N, 0);
196 else
197 gpio_set_value(GPIO_NR_PALMZ72_SD_POWER_N, 1);
198}
199
200static int palmz72_mci_ro(struct device *dev)
201{
202 return gpio_get_value(GPIO_NR_PALMZ72_SD_RO);
203}
204
205static struct pxamci_platform_data palmz72_mci_platform_data = {
206 .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
207 .setpower = palmz72_mci_power,
208 .get_ro = palmz72_mci_ro,
209 .init = palmz72_mci_init,
210 .exit = palmz72_mci_exit,
211};
212
213/******************************************************************************
214 * GPIO keyboard
215 ******************************************************************************/
216static unsigned int palmz72_matrix_keys[] = {
217 KEY(0, 0, KEY_POWER),
218 KEY(0, 1, KEY_F1),
219 KEY(0, 2, KEY_ENTER),
220
221 KEY(1, 0, KEY_F2),
222 KEY(1, 1, KEY_F3),
223 KEY(1, 2, KEY_F4),
224
225 KEY(2, 0, KEY_UP),
226 KEY(2, 2, KEY_DOWN),
227
228 KEY(3, 0, KEY_RIGHT),
229 KEY(3, 2, KEY_LEFT),
230};
231
232static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
233 .matrix_key_rows = 4,
234 .matrix_key_cols = 3,
235 .matrix_key_map = palmz72_matrix_keys,
236 .matrix_key_map_size = ARRAY_SIZE(palmz72_matrix_keys),
237
238 .debounce_interval = 30,
239};
240
241/******************************************************************************
242 * Backlight
243 ******************************************************************************/
244static int palmz72_backlight_init(struct device *dev)
245{
246 int ret;
247
248 ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
249 if (ret)
250 goto err;
251 ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
252 if (ret)
253 goto err2;
254 ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
255 if (ret)
256 goto err2;
257 ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
258 if (ret)
259 goto err3;
260
261 return 0;
262err3:
263 gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
264err2:
265 gpio_free(GPIO_NR_PALMZ72_BL_POWER);
266err:
267 return ret;
268}
269
270static int palmz72_backlight_notify(int brightness)
271{
272 gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
273 gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
274 return brightness;
275}
276
277static void palmz72_backlight_exit(struct device *dev)
278{
279 gpio_free(GPIO_NR_PALMZ72_BL_POWER);
280 gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
281}
282
283static struct platform_pwm_backlight_data palmz72_backlight_data = {
284 .pwm_id = 0,
285 .max_brightness = PALMZ72_MAX_INTENSITY,
286 .dft_brightness = PALMZ72_MAX_INTENSITY,
287 .pwm_period_ns = PALMZ72_PERIOD_NS,
288 .init = palmz72_backlight_init,
289 .notify = palmz72_backlight_notify,
290 .exit = palmz72_backlight_exit,
291};
292
293static struct platform_device palmz72_backlight = {
294 .name = "pwm-backlight",
295 .dev = {
296 .parent = &pxa27x_device_pwm0.dev,
297 .platform_data = &palmz72_backlight_data,
298 },
299};
300
301/******************************************************************************
302 * IrDA
303 ******************************************************************************/
304static int palmz72_irda_startup(struct device *dev)
305{
306 int err;
307 err = gpio_request(GPIO_NR_PALMZ72_IR_DISABLE, "IR DISABLE");
308 if (err)
309 goto err;
310 err = gpio_direction_output(GPIO_NR_PALMZ72_IR_DISABLE, 1);
311 if (err)
312 gpio_free(GPIO_NR_PALMZ72_IR_DISABLE);
313err:
314 return err;
315}
316
317static void palmz72_irda_shutdown(struct device *dev)
318{
319 gpio_free(GPIO_NR_PALMZ72_IR_DISABLE);
320}
321
322static void palmz72_irda_transceiver_mode(struct device *dev, int mode)
323{
324 gpio_set_value(GPIO_NR_PALMZ72_IR_DISABLE, mode & IR_OFF);
325 pxa2xx_transceiver_mode(dev, mode);
326}
327
328static struct pxaficp_platform_data palmz72_ficp_platform_data = {
329 .startup = palmz72_irda_startup,
330 .shutdown = palmz72_irda_shutdown,
331 .transceiver_cap = IR_SIRMODE | IR_OFF,
332 .transceiver_mode = palmz72_irda_transceiver_mode,
333};
334
335/******************************************************************************
336 * LEDs
337 ******************************************************************************/
338static struct gpio_led gpio_leds[] = {
339 {
340 .name = "palmz72:green:led",
341 .default_trigger = "none",
342 .gpio = GPIO_NR_PALMZ72_LED_GREEN,
343 },
344};
345
346static struct gpio_led_platform_data gpio_led_info = {
347 .leds = gpio_leds,
348 .num_leds = ARRAY_SIZE(gpio_leds),
349};
350
351static struct platform_device palmz72_leds = {
352 .name = "leds-gpio",
353 .id = -1,
354 .dev = {
355 .platform_data = &gpio_led_info,
356 }
357};
358
359/******************************************************************************
360 * Power supply
361 ******************************************************************************/
362static int power_supply_init(struct device *dev)
363{
364 int ret;
365
366 ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
367 if (ret)
368 goto err1;
369 ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
370 if (ret)
371 goto err2;
372
373 ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
374 if (ret)
375 goto err2;
376 ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
377 if (ret)
378 goto err3;
379
380 return 0;
381err3:
382 gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
383err2:
384 gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
385err1:
386 return ret;
387}
388
389static int palmz72_is_ac_online(void)
390{
391 return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
392}
393
394static int palmz72_is_usb_online(void)
395{
396 return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
397}
398
399static void power_supply_exit(struct device *dev)
400{
401 gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
402 gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
403}
404
405static char *palmz72_supplicants[] = {
406 "main-battery",
407};
408
409static struct pda_power_pdata power_supply_info = {
410 .init = power_supply_init,
411 .is_ac_online = palmz72_is_ac_online,
412 .is_usb_online = palmz72_is_usb_online,
413 .exit = power_supply_exit,
414 .supplied_to = palmz72_supplicants,
415 .num_supplicants = ARRAY_SIZE(palmz72_supplicants),
416};
417
418static struct platform_device power_supply = {
419 .name = "pda-power",
420 .id = -1,
421 .dev = {
422 .platform_data = &power_supply_info,
423 },
424};
425
426/******************************************************************************
427 * Framebuffer
428 ******************************************************************************/
429static struct pxafb_mode_info palmz72_lcd_modes[] = {
430{
431 .pixclock = 115384,
432 .xres = 320,
433 .yres = 320,
434 .bpp = 16,
435
436 .left_margin = 27,
437 .right_margin = 7,
438 .upper_margin = 7,
439 .lower_margin = 8,
440
441 .hsync_len = 6,
442 .vsync_len = 1,
443},
444};
445
446static struct pxafb_mach_info palmz72_lcd_screen = {
447 .modes = palmz72_lcd_modes,
448 .num_modes = ARRAY_SIZE(palmz72_lcd_modes),
449 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
450};
451
452/******************************************************************************
453 * Machine init
454 ******************************************************************************/
455static struct platform_device *devices[] __initdata = {
456 &palmz72_backlight,
457 &palmz72_leds,
458 &power_supply,
459};
460
461static void __init palmz72_init(void)
462{
463 pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
464 set_pxa_fb_info(&palmz72_lcd_screen);
465 pxa_set_mci_info(&palmz72_mci_platform_data);
466 pxa_set_ac97_info(NULL);
467 pxa_set_ficp_info(&palmz72_ficp_platform_data);
468 pxa_set_keypad_info(&palmz72_keypad_platform_data);
469 platform_add_devices(devices, ARRAY_SIZE(devices));
470}
471
472MACHINE_START(PALMZ72, "Palm Zire72")
473 .phys_io = 0x40000000,
474 .io_pg_offst = io_p2v(0x40000000),
475 .boot_params = 0xa0000100,
476 .map_io = pxa_map_io,
477 .init_irq = pxa27x_init_irq,
478 .timer = &pxa_timer,
479 .init_machine = palmz72_init
480MACHINE_END
diff --git a/arch/arm/mach-pxa/pcm027.c b/arch/arm/mach-pxa/pcm027.c
index 730b9f6ede1d..36135a02fdc7 100644
--- a/arch/arm/mach-pxa/pcm027.c
+++ b/arch/arm/mach-pxa/pcm027.c
@@ -31,7 +31,7 @@
31#include <asm/mach/arch.h> 31#include <asm/mach/arch.h>
32#include <mach/hardware.h> 32#include <mach/hardware.h>
33#include <mach/pxa-regs.h> 33#include <mach/pxa-regs.h>
34#include <mach/pxa2xx-gpio.h> 34#include <mach/mfp-pxa27x.h>
35#include <mach/pxa2xx-regs.h> 35#include <mach/pxa2xx-regs.h>
36#include <mach/pxa2xx_spi.h> 36#include <mach/pxa2xx_spi.h>
37#include <mach/pcm027.h> 37#include <mach/pcm027.h>
@@ -86,6 +86,28 @@
86 * *) CPU internal use only 86 * *) CPU internal use only
87 */ 87 */
88 88
89static unsigned long pcm027_pin_config[] __initdata = {
90 /* Chip Selects */
91 GPIO20_nSDCS_2,
92 GPIO21_nSDCS_3,
93 GPIO15_nCS_1,
94 GPIO78_nCS_2,
95 GPIO80_nCS_4,
96 GPIO33_nCS_5, /* Ethernet */
97
98 /* I2C */
99 GPIO117_I2C_SCL,
100 GPIO118_I2C_SDA,
101
102 /* GPIO */
103 GPIO52_GPIO, /* IRQ from network controller */
104#ifdef CONFIG_LEDS_GPIO
105 GPIO90_GPIO, /* PCM027_LED_CPU */
106 GPIO91_GPIO, /* PCM027_LED_HEART_BEAT */
107#endif
108 GPIO114_GPIO, /* IRQ from CAN controller */
109};
110
89/* 111/*
90 * SMC91x network controller specific stuff 112 * SMC91x network controller specific stuff
91 */ 113 */
@@ -206,13 +228,9 @@ static void __init pcm027_init(void)
206 */ 228 */
207 ARB_CNTRL = ARB_CORE_PARK | 0x234; 229 ARB_CNTRL = ARB_CORE_PARK | 0x234;
208 230
209 platform_add_devices(devices, ARRAY_SIZE(devices)); 231 pxa2xx_mfp_config(pcm027_pin_config, ARRAY_SIZE(pcm027_pin_config));
210 232
211 /* LEDs (on demand only) */ 233 platform_add_devices(devices, ARRAY_SIZE(devices));
212#ifdef CONFIG_LEDS_GPIO
213 pxa_gpio_mode(PCM027_LED_CPU | GPIO_OUT);
214 pxa_gpio_mode(PCM027_LED_HEARD_BEAT | GPIO_OUT);
215#endif /* CONFIG_LEDS_GPIO */
216 234
217 /* at last call the baseboard to initialize itself */ 235 /* at last call the baseboard to initialize itself */
218#ifdef CONFIG_MACH_PCM990_BASEBOARD 236#ifdef CONFIG_MACH_PCM990_BASEBOARD
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
index 055ec63d768c..2e3bd8b1523b 100644
--- a/arch/arm/mach-pxa/poodle.c
+++ b/arch/arm/mach-pxa/poodle.c
@@ -20,6 +20,9 @@
20#include <linux/fb.h> 20#include <linux/fb.h>
21#include <linux/pm.h> 21#include <linux/pm.h>
22#include <linux/delay.h> 22#include <linux/delay.h>
23#include <linux/gpio.h>
24#include <linux/spi/spi.h>
25#include <linux/spi/ads7846.h>
23 26
24#include <mach/hardware.h> 27#include <mach/hardware.h>
25#include <asm/mach-types.h> 28#include <asm/mach-types.h>
@@ -33,14 +36,16 @@
33 36
34#include <mach/pxa-regs.h> 37#include <mach/pxa-regs.h>
35#include <mach/pxa2xx-regs.h> 38#include <mach/pxa2xx-regs.h>
36#include <mach/pxa2xx-gpio.h> 39#include <mach/mfp-pxa25x.h>
37#include <mach/mmc.h> 40#include <mach/mmc.h>
38#include <mach/udc.h> 41#include <mach/udc.h>
42#include <mach/i2c.h>
39#include <mach/irda.h> 43#include <mach/irda.h>
40#include <mach/poodle.h> 44#include <mach/poodle.h>
41#include <mach/pxafb.h> 45#include <mach/pxafb.h>
42#include <mach/sharpsl.h> 46#include <mach/sharpsl.h>
43#include <mach/ssp.h> 47#include <mach/ssp.h>
48#include <mach/pxa2xx_spi.h>
44 49
45#include <asm/hardware/scoop.h> 50#include <asm/hardware/scoop.h>
46#include <asm/hardware/locomo.h> 51#include <asm/hardware/locomo.h>
@@ -50,6 +55,88 @@
50#include "devices.h" 55#include "devices.h"
51#include "sharpsl.h" 56#include "sharpsl.h"
52 57
58static unsigned long poodle_pin_config[] __initdata = {
59 /* I/O */
60 GPIO79_nCS_3,
61 GPIO80_nCS_4,
62 GPIO18_RDY,
63
64 /* Clock */
65 GPIO12_32KHz,
66
67 /* SSP1 */
68 GPIO23_SSP1_SCLK,
69 GPIO25_SSP1_TXD,
70 GPIO26_SSP1_RXD,
71 GPIO24_GPIO, /* POODLE_GPIO_TP_CS - SFRM as chip select */
72
73 /* I2S */
74 GPIO28_I2S_BITCLK_OUT,
75 GPIO29_I2S_SDATA_IN,
76 GPIO30_I2S_SDATA_OUT,
77 GPIO31_I2S_SYNC,
78 GPIO32_I2S_SYSCLK,
79
80 /* Infra-Red */
81 GPIO47_FICP_TXD,
82 GPIO46_FICP_RXD,
83
84 /* FFUART */
85 GPIO40_FFUART_DTR,
86 GPIO41_FFUART_RTS,
87 GPIO39_FFUART_TXD,
88 GPIO37_FFUART_DSR,
89 GPIO34_FFUART_RXD,
90 GPIO35_FFUART_CTS,
91
92 /* LCD */
93 GPIO58_LCD_LDD_0,
94 GPIO59_LCD_LDD_1,
95 GPIO60_LCD_LDD_2,
96 GPIO61_LCD_LDD_3,
97 GPIO62_LCD_LDD_4,
98 GPIO63_LCD_LDD_5,
99 GPIO64_LCD_LDD_6,
100 GPIO65_LCD_LDD_7,
101 GPIO66_LCD_LDD_8,
102 GPIO67_LCD_LDD_9,
103 GPIO68_LCD_LDD_10,
104 GPIO69_LCD_LDD_11,
105 GPIO70_LCD_LDD_12,
106 GPIO71_LCD_LDD_13,
107 GPIO72_LCD_LDD_14,
108 GPIO73_LCD_LDD_15,
109 GPIO74_LCD_FCLK,
110 GPIO75_LCD_LCLK,
111 GPIO76_LCD_PCLK,
112 GPIO77_LCD_BIAS,
113
114 /* PC Card */
115 GPIO48_nPOE,
116 GPIO49_nPWE,
117 GPIO50_nPIOR,
118 GPIO51_nPIOW,
119 GPIO52_nPCE_1,
120 GPIO53_nPCE_2,
121 GPIO54_nPSKTSEL,
122 GPIO55_nPREG,
123 GPIO56_nPWAIT,
124 GPIO57_nIOIS16,
125
126 /* MMC */
127 GPIO6_MMC_CLK,
128 GPIO8_MMC_CS0,
129
130 /* GPIO */
131 GPIO9_GPIO, /* POODLE_GPIO_nSD_DETECT */
132 GPIO7_GPIO, /* POODLE_GPIO_nSD_WP */
133 GPIO3_GPIO, /* POODLE_GPIO_SD_PWR */
134 GPIO33_GPIO, /* POODLE_GPIO_SD_PWR1 */
135
136 GPIO20_GPIO, /* POODLE_GPIO_USB_PULLUP */
137 GPIO22_GPIO, /* POODLE_GPIO_IR_ON */
138};
139
53static struct resource poodle_scoop_resources[] = { 140static struct resource poodle_scoop_resources[] = {
54 [0] = { 141 [0] = {
55 .start = 0x10800000, 142 .start = 0x10800000,
@@ -61,6 +148,7 @@ static struct resource poodle_scoop_resources[] = {
61static struct scoop_config poodle_scoop_setup = { 148static struct scoop_config poodle_scoop_setup = {
62 .io_dir = POODLE_SCOOP_IO_DIR, 149 .io_dir = POODLE_SCOOP_IO_DIR,
63 .io_out = POODLE_SCOOP_IO_OUT, 150 .io_out = POODLE_SCOOP_IO_OUT,
151 .gpio_base = POODLE_SCOOP_GPIO_BASE,
64}; 152};
65 153
66struct platform_device poodle_scoop_device = { 154struct platform_device poodle_scoop_device = {
@@ -73,27 +161,6 @@ struct platform_device poodle_scoop_device = {
73 .resource = poodle_scoop_resources, 161 .resource = poodle_scoop_resources,
74}; 162};
75 163
76static void poodle_pcmcia_init(void)
77{
78 /* Setup default state of GPIO outputs
79 before we enable them as outputs. */
80 GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) |
81 GPIO_bit(GPIO49_nPWE) | GPIO_bit(GPIO50_nPIOR) |
82 GPIO_bit(GPIO51_nPIOW) | GPIO_bit(GPIO52_nPCE_1) |
83 GPIO_bit(GPIO53_nPCE_2);
84
85 pxa_gpio_mode(GPIO48_nPOE_MD);
86 pxa_gpio_mode(GPIO49_nPWE_MD);
87 pxa_gpio_mode(GPIO50_nPIOR_MD);
88 pxa_gpio_mode(GPIO51_nPIOW_MD);
89 pxa_gpio_mode(GPIO55_nPREG_MD);
90 pxa_gpio_mode(GPIO56_nPWAIT_MD);
91 pxa_gpio_mode(GPIO57_nIOIS16_MD);
92 pxa_gpio_mode(GPIO52_nPCE_1_MD);
93 pxa_gpio_mode(GPIO53_nPCE_2_MD);
94 pxa_gpio_mode(GPIO54_pSKTSEL_MD);
95}
96
97static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = { 164static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = {
98{ 165{
99 .dev = &poodle_scoop_device.dev, 166 .dev = &poodle_scoop_device.dev,
@@ -106,7 +173,6 @@ static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = {
106static struct scoop_pcmcia_config poodle_pcmcia_config = { 173static struct scoop_pcmcia_config poodle_pcmcia_config = {
107 .devs = &poodle_pcmcia_scoop[0], 174 .devs = &poodle_pcmcia_scoop[0],
108 .num_devs = 1, 175 .num_devs = 1,
109 .pcmcia_init = poodle_pcmcia_init,
110}; 176};
111 177
112EXPORT_SYMBOL(poodle_scoop_device); 178EXPORT_SYMBOL(poodle_scoop_device);
@@ -135,62 +201,55 @@ struct platform_device poodle_locomo_device = {
135 201
136EXPORT_SYMBOL(poodle_locomo_device); 202EXPORT_SYMBOL(poodle_locomo_device);
137 203
138/* 204#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE)
139 * Poodle SSP Device 205static struct pxa2xx_spi_master poodle_spi_info = {
140 */ 206 .num_chipselect = 1,
141
142struct platform_device poodle_ssp_device = {
143 .name = "corgi-ssp",
144 .id = -1,
145};
146
147struct corgissp_machinfo poodle_ssp_machinfo = {
148 .port = 1,
149 .cs_lcdcon = -1,
150 .cs_ads7846 = -1,
151 .cs_max1111 = -1,
152 .clk_lcdcon = 2,
153 .clk_ads7846 = 36,
154 .clk_max1111 = 2,
155}; 207};
156 208
157 209static struct ads7846_platform_data poodle_ads7846_info = {
158/* 210 .model = 7846,
159 * Poodle Touch Screen Device 211 .vref_delay_usecs = 100,
160 */ 212 .x_plate_ohms = 419,
161static struct resource poodlets_resources[] = { 213 .y_plate_ohms = 486,
162 [0] = { 214 .gpio_pendown = POODLE_GPIO_TP_INT,
163 .start = POODLE_IRQ_GPIO_TP_INT,
164 .end = POODLE_IRQ_GPIO_TP_INT,
165 .flags = IORESOURCE_IRQ,
166 },
167}; 215};
168 216
169static unsigned long poodle_get_hsync_invperiod(void) 217static void ads7846_cs(u32 command)
170{ 218{
171 return 0; 219 gpio_set_value(POODLE_GPIO_TP_CS, !(command == PXA2XX_CS_ASSERT));
172} 220}
173 221
174static void poodle_null_hsync(void) 222static struct pxa2xx_spi_chip poodle_ads7846_chip = {
175{ 223 .cs_control = ads7846_cs,
176}
177
178static struct corgits_machinfo poodle_ts_machinfo = {
179 .get_hsync_invperiod = poodle_get_hsync_invperiod,
180 .put_hsync = poodle_null_hsync,
181 .wait_hsync = poodle_null_hsync,
182}; 224};
183 225
184static struct platform_device poodle_ts_device = { 226static struct spi_board_info poodle_spi_devices[] = {
185 .name = "corgi-ts", 227 {
186 .dev = { 228 .modalias = "ads7846",
187 .platform_data = &poodle_ts_machinfo, 229 .max_speed_hz = 10000,
230 .bus_num = 1,
231 .platform_data = &poodle_ads7846_info,
232 .controller_data= &poodle_ads7846_chip,
233 .irq = gpio_to_irq(POODLE_GPIO_TP_INT),
188 }, 234 },
189 .id = -1,
190 .num_resources = ARRAY_SIZE(poodlets_resources),
191 .resource = poodlets_resources,
192}; 235};
193 236
237static void __init poodle_init_spi(void)
238{
239 int err;
240
241 err = gpio_request(POODLE_GPIO_TP_CS, "ADS7846_CS");
242 if (err)
243 return;
244
245 gpio_direction_output(POODLE_GPIO_TP_CS, 1);
246
247 pxa2xx_set_spi_info(1, &poodle_spi_info);
248 spi_register_board_info(ARRAY_AND_SIZE(poodle_spi_devices));
249}
250#else
251static inline void poodle_init_spi(void) {}
252#endif
194 253
195/* 254/*
196 * MMC/SD Device 255 * MMC/SD Device
@@ -204,22 +263,50 @@ static int poodle_mci_init(struct device *dev, irq_handler_t poodle_detect_int,
204{ 263{
205 int err; 264 int err;
206 265
207 /* setup GPIO for PXA25x MMC controller */ 266 err = gpio_request(POODLE_GPIO_nSD_DETECT, "nSD_DETECT");
208 pxa_gpio_mode(GPIO6_MMCCLK_MD); 267 if (err)
209 pxa_gpio_mode(GPIO8_MMCCS0_MD); 268 goto err_out;
210 pxa_gpio_mode(POODLE_GPIO_nSD_DETECT | GPIO_IN); 269
211 pxa_gpio_mode(POODLE_GPIO_nSD_WP | GPIO_IN); 270 err = gpio_request(POODLE_GPIO_nSD_WP, "nSD_WP");
212 pxa_gpio_mode(POODLE_GPIO_SD_PWR | GPIO_OUT); 271 if (err)
213 pxa_gpio_mode(POODLE_GPIO_SD_PWR1 | GPIO_OUT); 272 goto err_free_1;
273
274 err = gpio_request(POODLE_GPIO_SD_PWR, "SD_PWR");
275 if (err)
276 goto err_free_2;
277
278 err = gpio_request(POODLE_GPIO_SD_PWR1, "SD_PWR1");
279 if (err)
280 goto err_free_3;
281
282 gpio_direction_input(POODLE_GPIO_nSD_DETECT);
283 gpio_direction_input(POODLE_GPIO_nSD_WP);
284
285 gpio_direction_output(POODLE_GPIO_SD_PWR, 0);
286 gpio_direction_output(POODLE_GPIO_SD_PWR1, 0);
214 287
215 poodle_mci_platform_data.detect_delay = msecs_to_jiffies(250); 288 poodle_mci_platform_data.detect_delay = msecs_to_jiffies(250);
216 289
217 err = request_irq(POODLE_IRQ_GPIO_nSD_DETECT, poodle_detect_int, 290 err = request_irq(POODLE_IRQ_GPIO_nSD_DETECT, poodle_detect_int,
218 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, 291 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
219 "MMC card detect", data); 292 "MMC card detect", data);
220 if (err) 293 if (err) {
221 printk(KERN_ERR "poodle_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); 294 pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
295 __func__);
296 goto err_free_4;
297 }
298
299 return 0;
222 300
301err_free_4:
302 gpio_free(POODLE_GPIO_SD_PWR1);
303err_free_3:
304 gpio_free(POODLE_GPIO_SD_PWR);
305err_free_2:
306 gpio_free(POODLE_GPIO_nSD_WP);
307err_free_1:
308 gpio_free(POODLE_GPIO_nSD_DETECT);
309err_out:
223 return err; 310 return err;
224} 311}
225 312
@@ -227,18 +314,19 @@ static void poodle_mci_setpower(struct device *dev, unsigned int vdd)
227{ 314{
228 struct pxamci_platform_data* p_d = dev->platform_data; 315 struct pxamci_platform_data* p_d = dev->platform_data;
229 316
230 if (( 1 << vdd) & p_d->ocr_mask) { 317 if ((1 << vdd) & p_d->ocr_mask) {
231 GPSR(POODLE_GPIO_SD_PWR) = GPIO_bit(POODLE_GPIO_SD_PWR); 318 gpio_set_value(POODLE_GPIO_SD_PWR, 1);
232 mdelay(2); 319 mdelay(2);
233 GPSR(POODLE_GPIO_SD_PWR1) = GPIO_bit(POODLE_GPIO_SD_PWR1); 320 gpio_set_value(POODLE_GPIO_SD_PWR1, 1);
234 } else { 321 } else {
235 GPCR(POODLE_GPIO_SD_PWR1) = GPIO_bit(POODLE_GPIO_SD_PWR1); 322 gpio_set_value(POODLE_GPIO_SD_PWR1, 0);
236 GPCR(POODLE_GPIO_SD_PWR) = GPIO_bit(POODLE_GPIO_SD_PWR); 323 gpio_set_value(POODLE_GPIO_SD_PWR, 0);
237 } 324 }
238} 325}
239 326
240static int poodle_mci_get_ro(struct device *dev) 327static int poodle_mci_get_ro(struct device *dev)
241{ 328{
329 return !!gpio_get_value(POODLE_GPIO_nSD_WP);
242 return GPLR(POODLE_GPIO_nSD_WP) & GPIO_bit(POODLE_GPIO_nSD_WP); 330 return GPLR(POODLE_GPIO_nSD_WP) & GPIO_bit(POODLE_GPIO_nSD_WP);
243} 331}
244 332
@@ -246,6 +334,10 @@ static int poodle_mci_get_ro(struct device *dev)
246static void poodle_mci_exit(struct device *dev, void *data) 334static void poodle_mci_exit(struct device *dev, void *data)
247{ 335{
248 free_irq(POODLE_IRQ_GPIO_nSD_DETECT, data); 336 free_irq(POODLE_IRQ_GPIO_nSD_DETECT, data);
337 gpio_free(POODLE_GPIO_SD_PWR1);
338 gpio_free(POODLE_GPIO_SD_PWR);
339 gpio_free(POODLE_GPIO_nSD_WP);
340 gpio_free(POODLE_GPIO_nSD_DETECT);
249} 341}
250 342
251static struct pxamci_platform_data poodle_mci_platform_data = { 343static struct pxamci_platform_data poodle_mci_platform_data = {
@@ -262,38 +354,41 @@ static struct pxamci_platform_data poodle_mci_platform_data = {
262 */ 354 */
263static void poodle_irda_transceiver_mode(struct device *dev, int mode) 355static void poodle_irda_transceiver_mode(struct device *dev, int mode)
264{ 356{
265 if (mode & IR_OFF) { 357 gpio_set_value(POODLE_GPIO_IR_ON, mode & IR_OFF);
266 GPSR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON);
267 } else {
268 GPCR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON);
269 }
270 pxa2xx_transceiver_mode(dev, mode); 358 pxa2xx_transceiver_mode(dev, mode);
271} 359}
272 360
361static int poodle_irda_startup(struct device *dev)
362{
363 int err;
364
365 err = gpio_request(POODLE_GPIO_IR_ON, "IR_ON");
366 if (err)
367 return err;
368
369 gpio_direction_output(POODLE_GPIO_IR_ON, 1);
370 return 0;
371}
372
373static void poodle_irda_shutdown(struct device *dev)
374{
375 gpio_free(POODLE_GPIO_IR_ON);
376}
377
273static struct pxaficp_platform_data poodle_ficp_platform_data = { 378static struct pxaficp_platform_data poodle_ficp_platform_data = {
274 .transceiver_cap = IR_SIRMODE | IR_OFF, 379 .transceiver_cap = IR_SIRMODE | IR_OFF,
275 .transceiver_mode = poodle_irda_transceiver_mode, 380 .transceiver_mode = poodle_irda_transceiver_mode,
381 .startup = poodle_irda_startup,
382 .shutdown = poodle_irda_shutdown,
276}; 383};
277 384
278 385
279/* 386/*
280 * USB Device Controller 387 * USB Device Controller
281 */ 388 */
282static void poodle_udc_command(int cmd)
283{
284 switch(cmd) {
285 case PXA2XX_UDC_CMD_CONNECT:
286 GPSR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP);
287 break;
288 case PXA2XX_UDC_CMD_DISCONNECT:
289 GPCR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP);
290 break;
291 }
292}
293
294static struct pxa2xx_udc_mach_info udc_info __initdata = { 389static struct pxa2xx_udc_mach_info udc_info __initdata = {
295 /* no connect GPIO; poodle can't tell connection status */ 390 /* no connect GPIO; poodle can't tell connection status */
296 .udc_command = poodle_udc_command, 391 .gpio_pullup = POODLE_GPIO_USB_PULLUP,
297}; 392};
298 393
299 394
@@ -315,15 +410,12 @@ static struct pxafb_mode_info poodle_fb_mode = {
315static struct pxafb_mach_info poodle_fb_info = { 410static struct pxafb_mach_info poodle_fb_info = {
316 .modes = &poodle_fb_mode, 411 .modes = &poodle_fb_mode,
317 .num_modes = 1, 412 .num_modes = 1,
318 .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color, 413 .lcd_conn = LCD_COLOR_TFT_16BPP,
319 .lccr3 = 0,
320}; 414};
321 415
322static struct platform_device *devices[] __initdata = { 416static struct platform_device *devices[] __initdata = {
323 &poodle_locomo_device, 417 &poodle_locomo_device,
324 &poodle_scoop_device, 418 &poodle_scoop_device,
325 &poodle_ssp_device,
326 &poodle_ts_device,
327}; 419};
328 420
329static void poodle_poweroff(void) 421static void poodle_poweroff(void)
@@ -343,58 +435,23 @@ static void __init poodle_init(void)
343 pm_power_off = poodle_poweroff; 435 pm_power_off = poodle_poweroff;
344 arm_pm_restart = poodle_restart; 436 arm_pm_restart = poodle_restart;
345 437
346 /* setup sleep mode values */
347 PWER = 0x00000002;
348 PFER = 0x00000000;
349 PRER = 0x00000002;
350 PGSR0 = 0x00008000;
351 PGSR1 = 0x003F0202;
352 PGSR2 = 0x0001C000;
353 PCFR |= PCFR_OPDE; 438 PCFR |= PCFR_OPDE;
354 439
355 /* cpu initialize */ 440 pxa2xx_mfp_config(ARRAY_AND_SIZE(poodle_pin_config));
356 /* Pgsr Register */ 441
357 PGSR0 = 0x0146dd80; 442 platform_scoop_config = &poodle_pcmcia_config;
358 PGSR1 = 0x03bf0890; 443
359 PGSR2 = 0x0001c000; 444 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
360 445 if (ret)
361 /* Alternate Register */ 446 pr_warning("poodle: Unable to register LoCoMo device\n");
362 GAFR0_L = 0x01001000;
363 GAFR0_U = 0x591a8010;
364 GAFR1_L = 0x900a8451;
365 GAFR1_U = 0xaaa5aaaa;
366 GAFR2_L = 0x8aaaaaaa;
367 GAFR2_U = 0x00000002;
368
369 /* Direction Register */
370 GPDR0 = 0xd3f0904c;
371 GPDR1 = 0xfcffb7d3;
372 GPDR2 = 0x0001ffff;
373
374 /* Output Register */
375 GPCR0 = 0x00000000;
376 GPCR1 = 0x00000000;
377 GPCR2 = 0x00000000;
378
379 GPSR0 = 0x00400000;
380 GPSR1 = 0x00000000;
381 GPSR2 = 0x00000000;
382 447
383 set_pxa_fb_parent(&poodle_locomo_device.dev); 448 set_pxa_fb_parent(&poodle_locomo_device.dev);
384 set_pxa_fb_info(&poodle_fb_info); 449 set_pxa_fb_info(&poodle_fb_info);
385 pxa_gpio_mode(POODLE_GPIO_USB_PULLUP | GPIO_OUT);
386 pxa_gpio_mode(POODLE_GPIO_IR_ON | GPIO_OUT);
387 pxa_set_udc_info(&udc_info); 450 pxa_set_udc_info(&udc_info);
388 pxa_set_mci_info(&poodle_mci_platform_data); 451 pxa_set_mci_info(&poodle_mci_platform_data);
389 pxa_set_ficp_info(&poodle_ficp_platform_data); 452 pxa_set_ficp_info(&poodle_ficp_platform_data);
390 453 pxa_set_i2c_info(NULL);
391 platform_scoop_config = &poodle_pcmcia_config; 454 poodle_init_spi();
392
393 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
394 if (ret) {
395 printk(KERN_WARNING "poodle: Unable to register LoCoMo device\n");
396 }
397 corgi_ssp_set_machinfo(&poodle_ssp_machinfo);
398} 455}
399 456
400static void __init fixup_poodle(struct machine_desc *desc, 457static void __init fixup_poodle(struct machine_desc *desc,
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 3caa74a10d13..25d17a1dab78 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -209,45 +209,21 @@ static struct clk pxa25x_clks[] = {
209 * More ones like CP and general purpose register values are preserved 209 * More ones like CP and general purpose register values are preserved
210 * with the stack pointer in sleep.S. 210 * with the stack pointer in sleep.S.
211 */ 211 */
212enum { SLEEP_SAVE_PGSR0, SLEEP_SAVE_PGSR1, SLEEP_SAVE_PGSR2, 212enum {
213
214 SLEEP_SAVE_GAFR0_L, SLEEP_SAVE_GAFR0_U,
215 SLEEP_SAVE_GAFR1_L, SLEEP_SAVE_GAFR1_U,
216 SLEEP_SAVE_GAFR2_L, SLEEP_SAVE_GAFR2_U,
217
218 SLEEP_SAVE_PSTR, 213 SLEEP_SAVE_PSTR,
219
220 SLEEP_SAVE_CKEN, 214 SLEEP_SAVE_CKEN,
221
222 SLEEP_SAVE_COUNT 215 SLEEP_SAVE_COUNT
223}; 216};
224 217
225 218
226static void pxa25x_cpu_pm_save(unsigned long *sleep_save) 219static void pxa25x_cpu_pm_save(unsigned long *sleep_save)
227{ 220{
228 SAVE(PGSR0); SAVE(PGSR1); SAVE(PGSR2);
229
230 SAVE(GAFR0_L); SAVE(GAFR0_U);
231 SAVE(GAFR1_L); SAVE(GAFR1_U);
232 SAVE(GAFR2_L); SAVE(GAFR2_U);
233
234 SAVE(CKEN); 221 SAVE(CKEN);
235 SAVE(PSTR); 222 SAVE(PSTR);
236
237 /* Clear GPIO transition detect bits */
238 GEDR0 = GEDR0; GEDR1 = GEDR1; GEDR2 = GEDR2;
239} 223}
240 224
241static void pxa25x_cpu_pm_restore(unsigned long *sleep_save) 225static void pxa25x_cpu_pm_restore(unsigned long *sleep_save)
242{ 226{
243 /* restore registers */
244 RESTORE(GAFR0_L); RESTORE(GAFR0_U);
245 RESTORE(GAFR1_L); RESTORE(GAFR1_U);
246 RESTORE(GAFR2_L); RESTORE(GAFR2_U);
247 RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2);
248
249 PSSR = PSSR_RDH | PSSR_PH;
250
251 RESTORE(CKEN); 227 RESTORE(CKEN);
252 RESTORE(PSTR); 228 RESTORE(PSTR);
253} 229}
@@ -346,6 +322,8 @@ static struct sys_device pxa25x_sysdev[] = {
346 { 322 {
347 .cls = &pxa_irq_sysclass, 323 .cls = &pxa_irq_sysclass,
348 }, { 324 }, {
325 .cls = &pxa2xx_mfp_sysclass,
326 }, {
349 .cls = &pxa_gpio_sysclass, 327 .cls = &pxa_gpio_sysclass,
350 }, 328 },
351}; 329};
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index 4835207c1426..bf01e14098f5 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -183,36 +183,18 @@ static struct clk pxa27x_clks[] = {
183 * More ones like CP and general purpose register values are preserved 183 * More ones like CP and general purpose register values are preserved
184 * with the stack pointer in sleep.S. 184 * with the stack pointer in sleep.S.
185 */ 185 */
186enum { SLEEP_SAVE_PGSR0, SLEEP_SAVE_PGSR1, SLEEP_SAVE_PGSR2, SLEEP_SAVE_PGSR3, 186enum {
187
188 SLEEP_SAVE_GAFR0_L, SLEEP_SAVE_GAFR0_U,
189 SLEEP_SAVE_GAFR1_L, SLEEP_SAVE_GAFR1_U,
190 SLEEP_SAVE_GAFR2_L, SLEEP_SAVE_GAFR2_U,
191 SLEEP_SAVE_GAFR3_L, SLEEP_SAVE_GAFR3_U,
192
193 SLEEP_SAVE_PSTR, 187 SLEEP_SAVE_PSTR,
194
195 SLEEP_SAVE_CKEN, 188 SLEEP_SAVE_CKEN,
196
197 SLEEP_SAVE_MDREFR, 189 SLEEP_SAVE_MDREFR,
198 SLEEP_SAVE_PWER, SLEEP_SAVE_PCFR, SLEEP_SAVE_PRER, 190 SLEEP_SAVE_PCFR,
199 SLEEP_SAVE_PFER, SLEEP_SAVE_PKWR,
200
201 SLEEP_SAVE_COUNT 191 SLEEP_SAVE_COUNT
202}; 192};
203 193
204void pxa27x_cpu_pm_save(unsigned long *sleep_save) 194void pxa27x_cpu_pm_save(unsigned long *sleep_save)
205{ 195{
206 SAVE(PGSR0); SAVE(PGSR1); SAVE(PGSR2); SAVE(PGSR3);
207
208 SAVE(GAFR0_L); SAVE(GAFR0_U);
209 SAVE(GAFR1_L); SAVE(GAFR1_U);
210 SAVE(GAFR2_L); SAVE(GAFR2_U);
211 SAVE(GAFR3_L); SAVE(GAFR3_U);
212
213 SAVE(MDREFR); 196 SAVE(MDREFR);
214 SAVE(PWER); SAVE(PCFR); SAVE(PRER); 197 SAVE(PCFR);
215 SAVE(PFER); SAVE(PKWR);
216 198
217 SAVE(CKEN); 199 SAVE(CKEN);
218 SAVE(PSTR); 200 SAVE(PSTR);
@@ -220,21 +202,12 @@ void pxa27x_cpu_pm_save(unsigned long *sleep_save)
220 202
221void pxa27x_cpu_pm_restore(unsigned long *sleep_save) 203void pxa27x_cpu_pm_restore(unsigned long *sleep_save)
222{ 204{
223 /* restore registers */
224 RESTORE(GAFR0_L); RESTORE(GAFR0_U);
225 RESTORE(GAFR1_L); RESTORE(GAFR1_U);
226 RESTORE(GAFR2_L); RESTORE(GAFR2_U);
227 RESTORE(GAFR3_L); RESTORE(GAFR3_U);
228 RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2); RESTORE(PGSR3);
229
230 RESTORE(MDREFR); 205 RESTORE(MDREFR);
231 RESTORE(PWER); RESTORE(PCFR); RESTORE(PRER); 206 RESTORE(PCFR);
232 RESTORE(PFER); RESTORE(PKWR);
233 207
234 PSSR = PSSR_RDH | PSSR_PH; 208 PSSR = PSSR_RDH | PSSR_PH;
235 209
236 RESTORE(CKEN); 210 RESTORE(CKEN);
237
238 RESTORE(PSTR); 211 RESTORE(PSTR);
239} 212}
240 213
@@ -386,6 +359,8 @@ static struct sys_device pxa27x_sysdev[] = {
386 { 359 {
387 .cls = &pxa_irq_sysclass, 360 .cls = &pxa_irq_sysclass,
388 }, { 361 }, {
362 .cls = &pxa2xx_mfp_sysclass,
363 }, {
389 .cls = &pxa_gpio_sysclass, 364 .cls = &pxa_gpio_sysclass,
390 }, 365 },
391}; 366};
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c
index e804ae09370c..15c2f1a8623b 100644
--- a/arch/arm/mach-pxa/sharpsl_pm.c
+++ b/arch/arm/mach-pxa/sharpsl_pm.c
@@ -116,24 +116,20 @@ struct battery_thresh spitz_battery_levels_noac[] = {
116 { 0, 0}, 116 { 0, 0},
117}; 117};
118 118
119/* MAX1111 Commands */
120#define MAXCTRL_PD0 1u << 0
121#define MAXCTRL_PD1 1u << 1
122#define MAXCTRL_SGL 1u << 2
123#define MAXCTRL_UNI 1u << 3
124#define MAXCTRL_SEL_SH 4
125#define MAXCTRL_STR 1u << 7
126
127/* 119/*
128 * Read MAX1111 ADC 120 * Read MAX1111 ADC
129 */ 121 */
122extern int max1111_read_channel(int);
123
130int sharpsl_pm_pxa_read_max1111(int channel) 124int sharpsl_pm_pxa_read_max1111(int channel)
131{ 125{
132 if (machine_is_tosa()) // Ugly, better move this function into another module 126 if (machine_is_tosa()) // Ugly, better move this function into another module
133 return 0; 127 return 0;
134 128
135 return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1 129 /* max1111 accepts channels from 0-3, however,
136 | MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR); 130 * it is encoded from 0-7 here in the code.
131 */
132 return max1111_read_channel(channel >> 1);
137} 133}
138 134
139void sharpsl_pm_pxa_init(void) 135void sharpsl_pm_pxa_init(void)
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index cd39005c98ff..245890d2b6b5 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -19,9 +19,16 @@
19#include <linux/major.h> 19#include <linux/major.h>
20#include <linux/fs.h> 20#include <linux/fs.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/gpio.h>
23#include <linux/leds.h>
22#include <linux/mmc/host.h> 24#include <linux/mmc/host.h>
23#include <linux/pm.h> 25#include <linux/pm.h>
24#include <linux/backlight.h> 26#include <linux/backlight.h>
27#include <linux/i2c.h>
28#include <linux/i2c/pca953x.h>
29#include <linux/spi/spi.h>
30#include <linux/spi/ads7846.h>
31#include <linux/spi/corgi_lcd.h>
25 32
26#include <asm/setup.h> 33#include <asm/setup.h>
27#include <asm/memory.h> 34#include <asm/memory.h>
@@ -37,15 +44,16 @@
37 44
38#include <mach/pxa-regs.h> 45#include <mach/pxa-regs.h>
39#include <mach/pxa2xx-regs.h> 46#include <mach/pxa2xx-regs.h>
40#include <mach/pxa2xx-gpio.h> 47#include <mach/mfp-pxa27x.h>
41#include <mach/pxa27x-udc.h> 48#include <mach/pxa27x-udc.h>
42#include <mach/reset.h> 49#include <mach/reset.h>
50#include <mach/i2c.h>
43#include <mach/irda.h> 51#include <mach/irda.h>
44#include <mach/mmc.h> 52#include <mach/mmc.h>
45#include <mach/ohci.h> 53#include <mach/ohci.h>
46#include <mach/udc.h> 54#include <mach/udc.h>
47#include <mach/pxafb.h> 55#include <mach/pxafb.h>
48#include <mach/akita.h> 56#include <mach/pxa2xx_spi.h>
49#include <mach/spitz.h> 57#include <mach/spitz.h>
50#include <mach/sharpsl.h> 58#include <mach/sharpsl.h>
51 59
@@ -56,6 +64,66 @@
56#include "devices.h" 64#include "devices.h"
57#include "sharpsl.h" 65#include "sharpsl.h"
58 66
67static unsigned long spitz_pin_config[] __initdata = {
68 /* Chip Selects */
69 GPIO78_nCS_2, /* SCOOP #2 */
70 GPIO80_nCS_4, /* SCOOP #1 */
71
72 /* LCD - 16bpp Active TFT */
73 GPIO58_LCD_LDD_0,
74 GPIO59_LCD_LDD_1,
75 GPIO60_LCD_LDD_2,
76 GPIO61_LCD_LDD_3,
77 GPIO62_LCD_LDD_4,
78 GPIO63_LCD_LDD_5,
79 GPIO64_LCD_LDD_6,
80 GPIO65_LCD_LDD_7,
81 GPIO66_LCD_LDD_8,
82 GPIO67_LCD_LDD_9,
83 GPIO68_LCD_LDD_10,
84 GPIO69_LCD_LDD_11,
85 GPIO70_LCD_LDD_12,
86 GPIO71_LCD_LDD_13,
87 GPIO72_LCD_LDD_14,
88 GPIO73_LCD_LDD_15,
89 GPIO74_LCD_FCLK,
90 GPIO75_LCD_LCLK,
91 GPIO76_LCD_PCLK,
92
93 /* PC Card */
94 GPIO48_nPOE,
95 GPIO49_nPWE,
96 GPIO50_nPIOR,
97 GPIO51_nPIOW,
98 GPIO85_nPCE_1,
99 GPIO54_nPCE_2,
100 GPIO79_PSKTSEL,
101 GPIO55_nPREG,
102 GPIO56_nPWAIT,
103 GPIO57_nIOIS16,
104
105 /* MMC */
106 GPIO32_MMC_CLK,
107 GPIO112_MMC_CMD,
108 GPIO92_MMC_DAT_0,
109 GPIO109_MMC_DAT_1,
110 GPIO110_MMC_DAT_2,
111 GPIO111_MMC_DAT_3,
112
113 /* GPIOs */
114 GPIO9_GPIO, /* SPITZ_GPIO_nSD_DETECT */
115 GPIO81_GPIO, /* SPITZ_GPIO_nSD_WP */
116 GPIO41_GPIO, /* SPITZ_GPIO_USB_CONNECT */
117 GPIO37_GPIO, /* SPITZ_GPIO_USB_HOST */
118 GPIO35_GPIO, /* SPITZ_GPIO_USB_DEVICE */
119 GPIO22_GPIO, /* SPITZ_GPIO_HSYNC */
120 GPIO94_GPIO, /* SPITZ_GPIO_CF_CD */
121 GPIO105_GPIO, /* SPITZ_GPIO_CF_IRQ */
122 GPIO106_GPIO, /* SPITZ_GPIO_CF2_IRQ */
123
124 GPIO1_GPIO | WAKEUP_ON_EDGE_RISE,
125};
126
59/* 127/*
60 * Spitz SCOOP Device #1 128 * Spitz SCOOP Device #1
61 */ 129 */
@@ -68,10 +136,11 @@ static struct resource spitz_scoop_resources[] = {
68}; 136};
69 137
70static struct scoop_config spitz_scoop_setup = { 138static struct scoop_config spitz_scoop_setup = {
71 .io_dir = SPITZ_SCP_IO_DIR, 139 .io_dir = SPITZ_SCP_IO_DIR,
72 .io_out = SPITZ_SCP_IO_OUT, 140 .io_out = SPITZ_SCP_IO_OUT,
73 .suspend_clr = SPITZ_SCP_SUS_CLR, 141 .suspend_clr = SPITZ_SCP_SUS_CLR,
74 .suspend_set = SPITZ_SCP_SUS_SET, 142 .suspend_set = SPITZ_SCP_SUS_SET,
143 .gpio_base = SPITZ_SCP_GPIO_BASE,
75}; 144};
76 145
77struct platform_device spitzscoop_device = { 146struct platform_device spitzscoop_device = {
@@ -96,10 +165,11 @@ static struct resource spitz_scoop2_resources[] = {
96}; 165};
97 166
98static struct scoop_config spitz_scoop2_setup = { 167static struct scoop_config spitz_scoop2_setup = {
99 .io_dir = SPITZ_SCP2_IO_DIR, 168 .io_dir = SPITZ_SCP2_IO_DIR,
100 .io_out = SPITZ_SCP2_IO_OUT, 169 .io_out = SPITZ_SCP2_IO_OUT,
101 .suspend_clr = SPITZ_SCP2_SUS_CLR, 170 .suspend_clr = SPITZ_SCP2_SUS_CLR,
102 .suspend_set = SPITZ_SCP2_SUS_SET, 171 .suspend_set = SPITZ_SCP2_SUS_SET,
172 .gpio_base = SPITZ_SCP2_GPIO_BASE,
103}; 173};
104 174
105struct platform_device spitzscoop2_device = { 175struct platform_device spitzscoop2_device = {
@@ -121,7 +191,7 @@ static void spitz_card_pwr_ctrl(int device, unsigned short new_cpr)
121 unsigned short cpr = read_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR); 191 unsigned short cpr = read_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR);
122 192
123 if (new_cpr & 0x0007) { 193 if (new_cpr & 0x0007) {
124 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CF_POWER); 194 gpio_set_value(SPITZ_GPIO_CF_POWER, 1);
125 if (!(cpr & 0x0002) && !(cpr & 0x0004)) 195 if (!(cpr & 0x0002) && !(cpr & 0x0004))
126 mdelay(5); 196 mdelay(5);
127 if (device == SPITZ_PWR_CF) 197 if (device == SPITZ_PWR_CF)
@@ -137,34 +207,13 @@ static void spitz_card_pwr_ctrl(int device, unsigned short new_cpr)
137 if (!(cpr & 0x0002) && !(cpr & 0x0004)) { 207 if (!(cpr & 0x0002) && !(cpr & 0x0004)) {
138 write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, 0x0000); 208 write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, 0x0000);
139 mdelay(1); 209 mdelay(1);
140 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CF_POWER); 210 gpio_set_value(SPITZ_GPIO_CF_POWER, 0);
141 } else { 211 } else {
142 write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr | new_cpr); 212 write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr | new_cpr);
143 } 213 }
144 } 214 }
145} 215}
146 216
147static void spitz_pcmcia_init(void)
148{
149 /* Setup default state of GPIO outputs
150 before we enable them as outputs. */
151 GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) |
152 GPIO_bit(GPIO49_nPWE) | GPIO_bit(GPIO50_nPIOR) |
153 GPIO_bit(GPIO51_nPIOW) | GPIO_bit(GPIO54_nPCE_2);
154 GPSR(GPIO85_nPCE_1) = GPIO_bit(GPIO85_nPCE_1);
155
156 pxa_gpio_mode(GPIO48_nPOE_MD);
157 pxa_gpio_mode(GPIO49_nPWE_MD);
158 pxa_gpio_mode(GPIO50_nPIOR_MD);
159 pxa_gpio_mode(GPIO51_nPIOW_MD);
160 pxa_gpio_mode(GPIO55_nPREG_MD);
161 pxa_gpio_mode(GPIO56_nPWAIT_MD);
162 pxa_gpio_mode(GPIO57_nIOIS16_MD);
163 pxa_gpio_mode(GPIO85_nPCE_1_MD);
164 pxa_gpio_mode(GPIO54_nPCE_2_MD);
165 pxa_gpio_mode(GPIO104_pSKTSEL_MD);
166}
167
168static void spitz_pcmcia_pwr(struct device *scoop, unsigned short cpr, int nr) 217static void spitz_pcmcia_pwr(struct device *scoop, unsigned short cpr, int nr)
169{ 218{
170 /* Only need to override behaviour for slot 0 */ 219 /* Only need to override behaviour for slot 0 */
@@ -190,165 +239,169 @@ static struct scoop_pcmcia_dev spitz_pcmcia_scoop[] = {
190static struct scoop_pcmcia_config spitz_pcmcia_config = { 239static struct scoop_pcmcia_config spitz_pcmcia_config = {
191 .devs = &spitz_pcmcia_scoop[0], 240 .devs = &spitz_pcmcia_scoop[0],
192 .num_devs = 2, 241 .num_devs = 2,
193 .pcmcia_init = spitz_pcmcia_init,
194 .power_ctrl = spitz_pcmcia_pwr, 242 .power_ctrl = spitz_pcmcia_pwr,
195}; 243};
196 244
197EXPORT_SYMBOL(spitzscoop_device); 245EXPORT_SYMBOL(spitzscoop_device);
198EXPORT_SYMBOL(spitzscoop2_device); 246EXPORT_SYMBOL(spitzscoop2_device);
199 247
200
201/* 248/*
202 * Spitz SSP Device 249 * Spitz Keyboard Device
203 *
204 * Set the parent as the scoop device because a lot of SSP devices
205 * also use scoop functions and this makes the power up/down order
206 * work correctly.
207 */ 250 */
208struct platform_device spitzssp_device = { 251static struct platform_device spitzkbd_device = {
209 .name = "corgi-ssp", 252 .name = "spitz-keyboard",
210 .dev = {
211 .parent = &spitzscoop_device.dev,
212 },
213 .id = -1, 253 .id = -1,
214}; 254};
215 255
216struct corgissp_machinfo spitz_ssp_machinfo = {
217 .port = 2,
218 .cs_lcdcon = SPITZ_GPIO_LCDCON_CS,
219 .cs_ads7846 = SPITZ_GPIO_ADS7846_CS,
220 .cs_max1111 = SPITZ_GPIO_MAX1111_CS,
221 .clk_lcdcon = 520,
222 .clk_ads7846 = 14,
223 .clk_max1111 = 56,
224};
225
226 256
227/* 257/*
228 * Spitz Backlight Device 258 * Spitz LEDs
229 */ 259 */
230static void spitz_bl_kick_battery(void) 260static struct gpio_led spitz_gpio_leds[] = {
231{ 261 {
232 void (*kick_batt)(void); 262 .name = "spitz:amber:charge",
233 263 .default_trigger = "sharpsl-charge",
234 kick_batt = symbol_get(sharpsl_battery_kick); 264 .gpio = SPITZ_GPIO_LED_ORANGE,
235 if (kick_batt) { 265 },
236 kick_batt(); 266 {
237 symbol_put(sharpsl_battery_kick); 267 .name = "spitz:green:hddactivity",
238 } 268 .default_trigger = "ide-disk",
239} 269 .gpio = SPITZ_GPIO_LED_GREEN,
240
241static struct generic_bl_info spitz_bl_machinfo = {
242 .name = "corgi-bl",
243 .default_intensity = 0x1f,
244 .limit_mask = 0x0b,
245 .max_intensity = 0x2f,
246 .kick_battery = spitz_bl_kick_battery,
247};
248
249static struct platform_device spitzbl_device = {
250 .name = "generic-bl",
251 .dev = {
252 .platform_data = &spitz_bl_machinfo,
253 }, 270 },
254 .id = -1,
255}; 271};
256 272
257 273static struct gpio_led_platform_data spitz_gpio_leds_info = {
258/* 274 .leds = spitz_gpio_leds,
259 * Spitz Keyboard Device 275 .num_leds = ARRAY_SIZE(spitz_gpio_leds),
260 */
261static struct platform_device spitzkbd_device = {
262 .name = "spitz-keyboard",
263 .id = -1,
264}; 276};
265 277
266
267/*
268 * Spitz LEDs
269 */
270static struct platform_device spitzled_device = { 278static struct platform_device spitzled_device = {
271 .name = "spitz-led", 279 .name = "leds-gpio",
272 .id = -1, 280 .id = -1,
281 .dev = {
282 .platform_data = &spitz_gpio_leds_info,
283 },
273}; 284};
274 285
275/* 286#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE)
276 * Spitz Touch Screen Device 287static struct pxa2xx_spi_master spitz_spi_info = {
277 */ 288 .num_chipselect = 3,
289};
278 290
279static unsigned long (*get_hsync_invperiod)(struct device *dev); 291static struct ads7846_platform_data spitz_ads7846_info = {
292 .model = 7846,
293 .vref_delay_usecs = 100,
294 .x_plate_ohms = 419,
295 .y_plate_ohms = 486,
296 .gpio_pendown = SPITZ_GPIO_TP_INT,
297};
280 298
281static void inline sharpsl_wait_sync(int gpio) 299static void spitz_ads7846_cs(u32 command)
282{ 300{
283 while((GPLR(gpio) & GPIO_bit(gpio)) == 0); 301 gpio_set_value(SPITZ_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
284 while((GPLR(gpio) & GPIO_bit(gpio)) != 0);
285} 302}
286 303
287static struct device *spitz_pxafb_dev; 304static struct pxa2xx_spi_chip spitz_ads7846_chip = {
305 .cs_control = spitz_ads7846_cs,
306};
288 307
289static int is_pxafb_device(struct device * dev, void * data) 308static void spitz_bl_kick_battery(void)
290{ 309{
291 struct platform_device *pdev = container_of(dev, struct platform_device, dev); 310 void (*kick_batt)(void);
292
293 return (strncmp(pdev->name, "pxa2xx-fb", 9) == 0);
294}
295 311
296static unsigned long spitz_get_hsync_invperiod(void) 312 kick_batt = symbol_get(sharpsl_battery_kick);
297{ 313 if (kick_batt) {
298#ifdef CONFIG_FB_PXA 314 kick_batt();
299 if (!spitz_pxafb_dev) { 315 symbol_put(sharpsl_battery_kick);
300 spitz_pxafb_dev = bus_find_device(&platform_bus_type, NULL, NULL, is_pxafb_device);
301 if (!spitz_pxafb_dev)
302 return 0;
303 } 316 }
304 if (!get_hsync_invperiod)
305 get_hsync_invperiod = symbol_get(pxafb_get_hsync_time);
306 if (!get_hsync_invperiod)
307#endif
308 return 0;
309
310 return get_hsync_invperiod(spitz_pxafb_dev);
311} 317}
312 318
313static void spitz_put_hsync(void) 319static struct corgi_lcd_platform_data spitz_lcdcon_info = {
314{ 320 .init_mode = CORGI_LCD_MODE_VGA,
315 put_device(spitz_pxafb_dev); 321 .max_intensity = 0x2f,
316 if (get_hsync_invperiod) 322 .default_intensity = 0x1f,
317 symbol_put(pxafb_get_hsync_time); 323 .limit_mask = 0x0b,
318 spitz_pxafb_dev = NULL; 324 .gpio_backlight_cont = SPITZ_GPIO_BACKLIGHT_CONT,
319 get_hsync_invperiod = NULL; 325 .gpio_backlight_on = SPITZ_GPIO_BACKLIGHT_ON,
320} 326 .kick_battery = spitz_bl_kick_battery,
327};
321 328
322static void spitz_wait_hsync(void) 329static void spitz_lcdcon_cs(u32 command)
323{ 330{
324 sharpsl_wait_sync(SPITZ_GPIO_HSYNC); 331 gpio_set_value(SPITZ_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
325} 332}
326 333
327static struct resource spitzts_resources[] = { 334static struct pxa2xx_spi_chip spitz_lcdcon_chip = {
328 [0] = { 335 .cs_control = spitz_lcdcon_cs,
329 .start = SPITZ_IRQ_GPIO_TP_INT,
330 .end = SPITZ_IRQ_GPIO_TP_INT,
331 .flags = IORESOURCE_IRQ,
332 },
333}; 336};
334 337
335static struct corgits_machinfo spitz_ts_machinfo = { 338static void spitz_max1111_cs(u32 command)
336 .get_hsync_invperiod = spitz_get_hsync_invperiod, 339{
337 .put_hsync = spitz_put_hsync, 340 gpio_set_value(SPITZ_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
338 .wait_hsync = spitz_wait_hsync, 341}
342
343static struct pxa2xx_spi_chip spitz_max1111_chip = {
344 .cs_control = spitz_max1111_cs,
339}; 345};
340 346
341static struct platform_device spitzts_device = { 347static struct spi_board_info spitz_spi_devices[] = {
342 .name = "corgi-ts", 348 {
343 .dev = { 349 .modalias = "ads7846",
344 .parent = &spitzssp_device.dev, 350 .max_speed_hz = 1200000,
345 .platform_data = &spitz_ts_machinfo, 351 .bus_num = 2,
352 .chip_select = 0,
353 .platform_data = &spitz_ads7846_info,
354 .controller_data= &spitz_ads7846_chip,
355 .irq = gpio_to_irq(SPITZ_GPIO_TP_INT),
356 }, {
357 .modalias = "corgi-lcd",
358 .max_speed_hz = 50000,
359 .bus_num = 2,
360 .chip_select = 1,
361 .platform_data = &spitz_lcdcon_info,
362 .controller_data= &spitz_lcdcon_chip,
363 }, {
364 .modalias = "max1111",
365 .max_speed_hz = 450000,
366 .bus_num = 2,
367 .chip_select = 2,
368 .controller_data= &spitz_max1111_chip,
346 }, 369 },
347 .id = -1,
348 .num_resources = ARRAY_SIZE(spitzts_resources),
349 .resource = spitzts_resources,
350}; 370};
351 371
372static void __init spitz_init_spi(void)
373{
374 int err;
375
376 err = gpio_request(SPITZ_GPIO_ADS7846_CS, "ADS7846_CS");
377 if (err)
378 return;
379
380 err = gpio_request(SPITZ_GPIO_LCDCON_CS, "LCDCON_CS");
381 if (err)
382 goto err_free_1;
383
384 err = gpio_request(SPITZ_GPIO_MAX1111_CS, "MAX1111_CS");
385 if (err)
386 goto err_free_2;
387
388 if (machine_is_akita()) {
389 spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT;
390 spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON;
391 }
392
393 pxa2xx_set_spi_info(2, &spitz_spi_info);
394 spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
395 return;
396
397err_free_2:
398 gpio_free(SPITZ_GPIO_LCDCON_CS);
399err_free_1:
400 gpio_free(SPITZ_GPIO_ADS7846_CS);
401}
402#else
403static inline void spitz_init_spi(void) {}
404#endif
352 405
353/* 406/*
354 * MMC/SD Device 407 * MMC/SD Device
@@ -363,24 +416,35 @@ static int spitz_mci_init(struct device *dev, irq_handler_t spitz_detect_int, vo
363{ 416{
364 int err; 417 int err;
365 418
366 /* setup GPIO for PXA27x MMC controller */ 419 err = gpio_request(SPITZ_GPIO_nSD_DETECT, "nSD_DETECT");
367 pxa_gpio_mode(GPIO32_MMCCLK_MD); 420 if (err)
368 pxa_gpio_mode(GPIO112_MMCCMD_MD); 421 goto err_out;
369 pxa_gpio_mode(GPIO92_MMCDAT0_MD); 422
370 pxa_gpio_mode(GPIO109_MMCDAT1_MD); 423 err = gpio_request(SPITZ_GPIO_nSD_WP, "nSD_WP");
371 pxa_gpio_mode(GPIO110_MMCDAT2_MD); 424 if (err)
372 pxa_gpio_mode(GPIO111_MMCDAT3_MD); 425 goto err_free_1;
373 pxa_gpio_mode(SPITZ_GPIO_nSD_DETECT | GPIO_IN); 426
374 pxa_gpio_mode(SPITZ_GPIO_nSD_WP | GPIO_IN); 427 gpio_direction_input(SPITZ_GPIO_nSD_DETECT);
428 gpio_direction_input(SPITZ_GPIO_nSD_WP);
375 429
376 spitz_mci_platform_data.detect_delay = msecs_to_jiffies(250); 430 spitz_mci_platform_data.detect_delay = msecs_to_jiffies(250);
377 431
378 err = request_irq(SPITZ_IRQ_GPIO_nSD_DETECT, spitz_detect_int, 432 err = request_irq(SPITZ_IRQ_GPIO_nSD_DETECT, spitz_detect_int,
379 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, 433 IRQF_DISABLED | IRQF_TRIGGER_RISING |
434 IRQF_TRIGGER_FALLING,
380 "MMC card detect", data); 435 "MMC card detect", data);
381 if (err) 436 if (err) {
382 printk(KERN_ERR "spitz_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); 437 pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
438 __func__);
439 goto err_free_2;
440 }
441 return 0;
383 442
443err_free_2:
444 gpio_free(SPITZ_GPIO_nSD_WP);
445err_free_1:
446 gpio_free(SPITZ_GPIO_nSD_DETECT);
447err_out:
384 return err; 448 return err;
385} 449}
386 450
@@ -396,12 +460,14 @@ static void spitz_mci_setpower(struct device *dev, unsigned int vdd)
396 460
397static int spitz_mci_get_ro(struct device *dev) 461static int spitz_mci_get_ro(struct device *dev)
398{ 462{
399 return GPLR(SPITZ_GPIO_nSD_WP) & GPIO_bit(SPITZ_GPIO_nSD_WP); 463 return gpio_get_value(SPITZ_GPIO_nSD_WP);
400} 464}
401 465
402static void spitz_mci_exit(struct device *dev, void *data) 466static void spitz_mci_exit(struct device *dev, void *data)
403{ 467{
404 free_irq(SPITZ_IRQ_GPIO_nSD_DETECT, data); 468 free_irq(SPITZ_IRQ_GPIO_nSD_DETECT, data);
469 gpio_free(SPITZ_GPIO_nSD_WP);
470 gpio_free(SPITZ_GPIO_nSD_DETECT);
405} 471}
406 472
407static struct pxamci_platform_data spitz_mci_platform_data = { 473static struct pxamci_platform_data spitz_mci_platform_data = {
@@ -418,15 +484,18 @@ static struct pxamci_platform_data spitz_mci_platform_data = {
418 */ 484 */
419static int spitz_ohci_init(struct device *dev) 485static int spitz_ohci_init(struct device *dev)
420{ 486{
421 /* Only Port 2 is connected */ 487 int err;
422 pxa_gpio_mode(SPITZ_GPIO_USB_CONNECT | GPIO_IN); 488
423 pxa_gpio_mode(SPITZ_GPIO_USB_HOST | GPIO_OUT); 489 err = gpio_request(SPITZ_GPIO_USB_HOST, "USB_HOST");
424 pxa_gpio_mode(SPITZ_GPIO_USB_DEVICE | GPIO_IN); 490 if (err)
491 return err;
425 492
426 /* Setup USB Port 2 Output Control Register */ 493 /* Only Port 2 is connected
494 * Setup USB Port 2 Output Control Register
495 */
427 UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE; 496 UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE;
428 497
429 GPSR(SPITZ_GPIO_USB_HOST) = GPIO_bit(SPITZ_GPIO_USB_HOST); 498 gpio_direction_output(SPITZ_GPIO_USB_HOST, 1);
430 499
431 UHCHR = (UHCHR) & 500 UHCHR = (UHCHR) &
432 ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSEP3 | UHCHR_SSE); 501 ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSEP3 | UHCHR_SSE);
@@ -446,29 +515,50 @@ static struct pxaohci_platform_data spitz_ohci_platform_data = {
446/* 515/*
447 * Irda 516 * Irda
448 */ 517 */
518static int spitz_irda_startup(struct device *dev)
519{
520 int rc;
521
522 rc = gpio_request(SPITZ_GPIO_IR_ON, "IrDA on");
523 if (rc)
524 goto err;
525
526 rc = gpio_direction_output(SPITZ_GPIO_IR_ON, 1);
527 if (rc)
528 goto err_dir;
529
530 return 0;
531
532err_dir:
533 gpio_free(SPITZ_GPIO_IR_ON);
534err:
535 return rc;
536}
537
538static void spitz_irda_shutdown(struct device *dev)
539{
540 gpio_free(SPITZ_GPIO_IR_ON);
541}
542
449static void spitz_irda_transceiver_mode(struct device *dev, int mode) 543static void spitz_irda_transceiver_mode(struct device *dev, int mode)
450{ 544{
451 if (mode & IR_OFF) 545 gpio_set_value(SPITZ_GPIO_IR_ON, mode & IR_OFF);
452 set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON);
453 else
454 reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_IR_ON);
455 pxa2xx_transceiver_mode(dev, mode); 546 pxa2xx_transceiver_mode(dev, mode);
456} 547}
457 548
458#ifdef CONFIG_MACH_AKITA 549#ifdef CONFIG_MACH_AKITA
459static void akita_irda_transceiver_mode(struct device *dev, int mode) 550static void akita_irda_transceiver_mode(struct device *dev, int mode)
460{ 551{
461 if (mode & IR_OFF) 552 gpio_set_value(AKITA_GPIO_IR_ON, mode & IR_OFF);
462 akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON);
463 else
464 akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_IR_ON);
465 pxa2xx_transceiver_mode(dev, mode); 553 pxa2xx_transceiver_mode(dev, mode);
466} 554}
467#endif 555#endif
468 556
469static struct pxaficp_platform_data spitz_ficp_platform_data = { 557static struct pxaficp_platform_data spitz_ficp_platform_data = {
470 .transceiver_cap = IR_SIRMODE | IR_OFF, 558 .transceiver_cap = IR_SIRMODE | IR_OFF,
471 .transceiver_mode = spitz_irda_transceiver_mode, 559 .transceiver_mode = spitz_irda_transceiver_mode,
560 .startup = spitz_irda_startup,
561 .shutdown = spitz_irda_shutdown,
472}; 562};
473 563
474 564
@@ -476,14 +566,6 @@ static struct pxaficp_platform_data spitz_ficp_platform_data = {
476 * Spitz PXA Framebuffer 566 * Spitz PXA Framebuffer
477 */ 567 */
478 568
479static void spitz_lcd_power(int on, struct fb_var_screeninfo *var)
480{
481 if (on)
482 corgi_lcdtg_hw_init(var->xres);
483 else
484 corgi_lcdtg_suspend();
485}
486
487static struct pxafb_mode_info spitz_pxafb_modes[] = { 569static struct pxafb_mode_info spitz_pxafb_modes[] = {
488{ 570{
489 .pixclock = 19231, 571 .pixclock = 19231,
@@ -516,18 +598,13 @@ static struct pxafb_mach_info spitz_pxafb_info = {
516 .modes = &spitz_pxafb_modes[0], 598 .modes = &spitz_pxafb_modes[0],
517 .num_modes = 2, 599 .num_modes = 2,
518 .fixed_modes = 1, 600 .fixed_modes = 1,
519 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act | LCCR0_LDDALT | LCCR0_OUC | LCCR0_CMDIM | LCCR0_RDSTM, 601 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_ALTERNATE_MAPPING,
520 .lccr3 = LCCR3_PixRsEdg | LCCR3_OutEnH,
521 .pxafb_lcd_power = spitz_lcd_power,
522}; 602};
523 603
524 604
525static struct platform_device *devices[] __initdata = { 605static struct platform_device *devices[] __initdata = {
526 &spitzscoop_device, 606 &spitzscoop_device,
527 &spitzssp_device,
528 &spitzkbd_device, 607 &spitzkbd_device,
529 &spitzts_device,
530 &spitzbl_device,
531 &spitzled_device, 608 &spitzled_device,
532}; 609};
533 610
@@ -553,56 +630,26 @@ static void __init common_init(void)
553 630
554 PMCR = 0x00; 631 PMCR = 0x00;
555 632
556 /* setup sleep mode values */
557 PWER = 0x00000002;
558 PFER = 0x00000000;
559 PRER = 0x00000002;
560 PGSR0 = 0x0158C000;
561 PGSR1 = 0x00FF0080;
562 PGSR2 = 0x0001C004;
563
564 /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ 633 /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
565 PCFR |= PCFR_OPDE; 634 PCFR |= PCFR_OPDE;
566 635
567 corgi_ssp_set_machinfo(&spitz_ssp_machinfo); 636 pxa2xx_mfp_config(ARRAY_AND_SIZE(spitz_pin_config));
568 637
569 pxa_gpio_mode(SPITZ_GPIO_HSYNC | GPIO_IN); 638 spitz_init_spi();
570 639
571 platform_add_devices(devices, ARRAY_SIZE(devices)); 640 platform_add_devices(devices, ARRAY_SIZE(devices));
572 pxa_set_mci_info(&spitz_mci_platform_data); 641 pxa_set_mci_info(&spitz_mci_platform_data);
573 pxa_set_ohci_info(&spitz_ohci_platform_data); 642 pxa_set_ohci_info(&spitz_ohci_platform_data);
574 pxa_set_ficp_info(&spitz_ficp_platform_data); 643 pxa_set_ficp_info(&spitz_ficp_platform_data);
575 set_pxa_fb_parent(&spitzssp_device.dev);
576 set_pxa_fb_info(&spitz_pxafb_info); 644 set_pxa_fb_info(&spitz_pxafb_info);
645 pxa_set_i2c_info(NULL);
577} 646}
578 647
579#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI) 648#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
580static void spitz_bl_set_intensity(int intensity)
581{
582 if (intensity > 0x10)
583 intensity += 0x10;
584
585 /* Bits 0-4 are accessed via the SSP interface */
586 corgi_ssp_blduty_set(intensity & 0x1f);
587
588 /* Bit 5 is via SCOOP */
589 if (intensity & 0x0020)
590 reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_CONT);
591 else
592 set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_CONT);
593
594 if (intensity)
595 set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_ON);
596 else
597 reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_BACKLIGHT_ON);
598}
599
600static void __init spitz_init(void) 649static void __init spitz_init(void)
601{ 650{
602 platform_scoop_config = &spitz_pcmcia_config; 651 platform_scoop_config = &spitz_pcmcia_config;
603 652
604 spitz_bl_machinfo.set_bl_intensity = spitz_bl_set_intensity;
605
606 common_init(); 653 common_init();
607 654
608 platform_device_register(&spitzscoop2_device); 655 platform_device_register(&spitzscoop2_device);
@@ -613,32 +660,17 @@ static void __init spitz_init(void)
613/* 660/*
614 * Akita IO Expander 661 * Akita IO Expander
615 */ 662 */
616struct platform_device akitaioexp_device = { 663static struct pca953x_platform_data akita_ioexp = {
617 .name = "akita-ioexp", 664 .gpio_base = AKITA_IOEXP_GPIO_BASE,
618 .id = -1,
619}; 665};
620 666
621EXPORT_SYMBOL_GPL(akitaioexp_device); 667static struct i2c_board_info akita_i2c_board_info[] = {
622 668 {
623static void akita_bl_set_intensity(int intensity) 669 .type = "max7310",
624{ 670 .addr = 0x18,
625 if (intensity > 0x10) 671 .platform_data = &akita_ioexp,
626 intensity += 0x10; 672 },
627 673};
628 /* Bits 0-4 are accessed via the SSP interface */
629 corgi_ssp_blduty_set(intensity & 0x1f);
630
631 /* Bit 5 is via IO-Expander */
632 if (intensity & 0x0020)
633 akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_CONT);
634 else
635 akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_CONT);
636
637 if (intensity)
638 akita_set_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_ON);
639 else
640 akita_reset_ioexp(&akitaioexp_device.dev, AKITA_IOEXP_BACKLIGHT_ON);
641}
642 674
643static void __init akita_init(void) 675static void __init akita_init(void)
644{ 676{
@@ -647,11 +679,10 @@ static void __init akita_init(void)
647 /* We just pretend the second element of the array doesn't exist */ 679 /* We just pretend the second element of the array doesn't exist */
648 spitz_pcmcia_config.num_devs = 1; 680 spitz_pcmcia_config.num_devs = 1;
649 platform_scoop_config = &spitz_pcmcia_config; 681 platform_scoop_config = &spitz_pcmcia_config;
650 spitz_bl_machinfo.set_bl_intensity = akita_bl_set_intensity;
651 682
652 platform_device_register(&akitaioexp_device); 683 pxa_set_i2c_info(NULL);
684 i2c_register_board_info(0, ARRAY_AND_SIZE(akita_i2c_board_info));
653 685
654 spitzscoop_device.dev.parent = &akitaioexp_device.dev;
655 common_init(); 686 common_init();
656} 687}
657#endif 688#endif
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c
index 8a40505dfd28..53018db106ac 100644
--- a/arch/arm/mach-pxa/spitz_pm.c
+++ b/arch/arm/mach-pxa/spitz_pm.c
@@ -21,7 +21,6 @@
21#include <asm/irq.h> 21#include <asm/irq.h>
22#include <asm/mach-types.h> 22#include <asm/mach-types.h>
23#include <mach/hardware.h> 23#include <mach/hardware.h>
24#include <asm/hardware/scoop.h>
25 24
26#include <mach/sharpsl.h> 25#include <mach/sharpsl.h>
27#include <mach/spitz.h> 26#include <mach/spitz.h>
@@ -48,44 +47,35 @@ static void spitz_charger_init(void)
48 47
49static void spitz_measure_temp(int on) 48static void spitz_measure_temp(int on)
50{ 49{
51 if (on) 50 gpio_set_value(SPITZ_GPIO_ADC_TEMP_ON, on);
52 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_ADC_TEMP_ON);
53 else
54 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_ADC_TEMP_ON);
55} 51}
56 52
57static void spitz_charge(int on) 53static void spitz_charge(int on)
58{ 54{
59 if (on) { 55 if (on) {
60 if (sharpsl_pm.flags & SHARPSL_SUSPENDED) { 56 if (sharpsl_pm.flags & SHARPSL_SUSPENDED) {
61 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_JK_B); 57 gpio_set_value(SPITZ_GPIO_JK_B, 1);
62 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CHRG_ON); 58 gpio_set_value(SPITZ_GPIO_CHRG_ON, 0);
63 } else { 59 } else {
64 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_JK_B); 60 gpio_set_value(SPITZ_GPIO_JK_B, 0);
65 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CHRG_ON); 61 gpio_set_value(SPITZ_GPIO_CHRG_ON, 0);
66 } 62 }
67 } else { 63 } else {
68 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_JK_B); 64 gpio_set_value(SPITZ_GPIO_JK_B, 0);
69 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_CHRG_ON); 65 gpio_set_value(SPITZ_GPIO_CHRG_ON, 1);
70 } 66 }
71} 67}
72 68
73static void spitz_discharge(int on) 69static void spitz_discharge(int on)
74{ 70{
75 if (on) 71 gpio_set_value(SPITZ_GPIO_JK_A, on);
76 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_JK_A);
77 else
78 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_JK_A);
79} 72}
80 73
81/* HACK - For unknown reasons, accurate voltage readings are only made with a load 74/* HACK - For unknown reasons, accurate voltage readings are only made with a load
82 on the power bus which the green led on spitz provides */ 75 on the power bus which the green led on spitz provides */
83static void spitz_discharge1(int on) 76static void spitz_discharge1(int on)
84{ 77{
85 if (on) 78 gpio_set_value(SPITZ_GPIO_LED_GREEN, on);
86 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_GREEN);
87 else
88 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_GREEN);
89} 79}
90 80
91static void spitz_presuspend(void) 81static void spitz_presuspend(void)
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c
index 3ed757e6bcc8..75ff8f4243f1 100644
--- a/arch/arm/mach-pxa/trizeps4.c
+++ b/arch/arm/mach-pxa/trizeps4.c
@@ -22,8 +22,8 @@
22#include <linux/fb.h> 22#include <linux/fb.h>
23#include <linux/ioport.h> 23#include <linux/ioport.h>
24#include <linux/delay.h> 24#include <linux/delay.h>
25#include <linux/serial_8250.h> 25#include <linux/gpio.h>
26#include <linux/mtd/mtd.h> 26#include <linux/dm9000.h>
27#include <linux/mtd/physmap.h> 27#include <linux/mtd/physmap.h>
28#include <linux/mtd/partitions.h> 28#include <linux/mtd/partitions.h>
29 29
@@ -31,7 +31,6 @@
31#include <asm/setup.h> 31#include <asm/setup.h>
32#include <asm/memory.h> 32#include <asm/memory.h>
33#include <asm/mach-types.h> 33#include <asm/mach-types.h>
34#include <mach/hardware.h>
35#include <asm/irq.h> 34#include <asm/irq.h>
36#include <asm/sizes.h> 35#include <asm/sizes.h>
37 36
@@ -40,41 +39,148 @@
40#include <asm/mach/irq.h> 39#include <asm/mach/irq.h>
41#include <asm/mach/flash.h> 40#include <asm/mach/flash.h>
42 41
42#include <mach/hardware.h>
43#include <mach/pxa-regs.h> 43#include <mach/pxa-regs.h>
44#include <mach/pxa2xx-regs.h> 44#include <mach/pxa2xx-regs.h>
45#include <mach/pxa2xx-gpio.h> 45#include <mach/mfp-pxa27x.h>
46#include <mach/pxa2xx_spi.h>
46#include <mach/trizeps4.h> 47#include <mach/trizeps4.h>
47#include <mach/audio.h> 48#include <mach/audio.h>
48#include <mach/pxafb.h> 49#include <mach/pxafb.h>
49#include <mach/mmc.h> 50#include <mach/mmc.h>
50#include <mach/irda.h> 51#include <mach/irda.h>
51#include <mach/ohci.h> 52#include <mach/ohci.h>
53#include <mach/i2c.h>
52 54
53#include "generic.h" 55#include "generic.h"
54#include "devices.h" 56#include "devices.h"
55 57
56/******************************************************************************************** 58/* comment out the following line if you want to use the
59 * Standard UART from PXA for serial / irda transmission
60 * and acivate it if you have status leds connected */
61#define STATUS_LEDS_ON_STUART_PINS 1
62
63/*****************************************************************************
64 * MultiFunctionPins of CPU
65 *****************************************************************************/
66static unsigned long trizeps4_pin_config[] __initdata = {
67 /* Chip Selects */
68 GPIO15_nCS_1, /* DiskOnChip CS */
69 GPIO93_GPIO, /* TRIZEPS4_DOC_IRQ */
70 GPIO94_GPIO, /* DOC lock */
71
72 GPIO78_nCS_2, /* DM9000 CS */
73 GPIO101_GPIO, /* TRIZEPS4_ETH_IRQ */
74
75 GPIO79_nCS_3, /* Logic CS */
76 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, /* Logic irq */
77
78 /* LCD - 16bpp Active TFT */
79 GPIO58_LCD_LDD_0,
80 GPIO59_LCD_LDD_1,
81 GPIO60_LCD_LDD_2,
82 GPIO61_LCD_LDD_3,
83 GPIO62_LCD_LDD_4,
84 GPIO63_LCD_LDD_5,
85 GPIO64_LCD_LDD_6,
86 GPIO65_LCD_LDD_7,
87 GPIO66_LCD_LDD_8,
88 GPIO67_LCD_LDD_9,
89 GPIO68_LCD_LDD_10,
90 GPIO69_LCD_LDD_11,
91 GPIO70_LCD_LDD_12,
92 GPIO71_LCD_LDD_13,
93 GPIO72_LCD_LDD_14,
94 GPIO73_LCD_LDD_15,
95 GPIO74_LCD_FCLK,
96 GPIO75_LCD_LCLK,
97 GPIO76_LCD_PCLK,
98 GPIO77_LCD_BIAS,
99
100 /* UART */
101 GPIO9_FFUART_CTS,
102 GPIO10_FFUART_DCD,
103 GPIO16_FFUART_TXD,
104 GPIO33_FFUART_DSR,
105 GPIO38_FFUART_RI,
106 GPIO82_FFUART_DTR,
107 GPIO83_FFUART_RTS,
108 GPIO96_FFUART_RXD,
109
110 GPIO42_BTUART_RXD,
111 GPIO43_BTUART_TXD,
112 GPIO44_BTUART_CTS,
113 GPIO45_BTUART_RTS,
114#ifdef STATUS_LEDS_ON_STUART_PINS
115 GPIO46_GPIO,
116 GPIO47_GPIO,
117#else
118 GPIO46_STUART_RXD,
119 GPIO47_STUART_TXD,
120#endif
121 /* PCMCIA */
122 GPIO11_GPIO, /* TRIZEPS4_CD_IRQ */
123 GPIO13_GPIO, /* TRIZEPS4_READY_NINT */
124 GPIO48_nPOE,
125 GPIO49_nPWE,
126 GPIO50_nPIOR,
127 GPIO51_nPIOW,
128 GPIO54_nPCE_2,
129 GPIO55_nPREG,
130 GPIO56_nPWAIT,
131 GPIO57_nIOIS16,
132 GPIO102_nPCE_1,
133 GPIO104_PSKTSEL,
134
135 /* MultiMediaCard */
136 GPIO32_MMC_CLK,
137 GPIO92_MMC_DAT_0,
138 GPIO109_MMC_DAT_1,
139 GPIO110_MMC_DAT_2,
140 GPIO111_MMC_DAT_3,
141 GPIO112_MMC_CMD,
142 GPIO12_GPIO, /* TRIZEPS4_MMC_IRQ */
143
144 /* USB OHCI */
145 GPIO88_USBH1_PWR, /* USBHPWR1 */
146 GPIO89_USBH1_PEN, /* USBHPEN1 */
147
148 /* I2C */
149 GPIO117_I2C_SCL,
150 GPIO118_I2C_SDA,
151};
152
153static unsigned long trizeps4wl_pin_config[] __initdata = {
154 /* SSP 2 */
155 GPIO14_SSP2_SFRM,
156 GPIO19_SSP2_SCLK,
157 GPIO53_GPIO, /* TRIZEPS4_SPI_IRQ */
158 GPIO86_SSP2_RXD,
159 GPIO87_SSP2_TXD,
160};
161
162/****************************************************************************
57 * ONBOARD FLASH 163 * ONBOARD FLASH
58 ********************************************************************************************/ 164 ****************************************************************************/
59static struct mtd_partition trizeps4_partitions[] = { 165static struct mtd_partition trizeps4_partitions[] = {
60 { 166 {
61 .name = "Bootloader", 167 .name = "Bootloader",
62 .offset = 0x00000000, 168 .offset = 0x00000000,
63 .size = 0x00040000, 169 .size = 0x00040000,
64 .mask_flags = MTD_WRITEABLE /* force read-only */ 170 .mask_flags = MTD_WRITEABLE /* force read-only */
65 },{ 171 }, {
66 .name = "Backup", 172 .name = "Backup",
67 .offset = 0x00040000, 173 .offset = 0x00040000,
68 .size = 0x00040000, 174 .size = 0x00040000,
69 },{ 175 }, {
70 .name = "Image", 176 .name = "Image",
71 .offset = 0x00080000, 177 .offset = 0x00080000,
72 .size = 0x01080000, 178 .size = 0x01080000,
73 },{ 179 }, {
74 .name = "IPSM", 180 .name = "IPSM",
75 .offset = 0x01100000, 181 .offset = 0x01100000,
76 .size = 0x00e00000, 182 .size = 0x00e00000,
77 },{ 183 }, {
78 .name = "Registry", 184 .name = "Registry",
79 .offset = 0x01f00000, 185 .offset = 0x01f00000,
80 .size = MTDPART_SIZ_FULL, 186 .size = MTDPART_SIZ_FULL,
@@ -105,9 +211,9 @@ static struct platform_device flash_device = {
105 .num_resources = 1, 211 .num_resources = 1,
106}; 212};
107 213
108/******************************************************************************************** 214/****************************************************************************
109 * DAVICOM DM9000 Ethernet 215 * DAVICOM DM9000 Ethernet
110 ********************************************************************************************/ 216 ****************************************************************************/
111static struct resource dm9000_resources[] = { 217static struct resource dm9000_resources[] = {
112 [0] = { 218 [0] = {
113 .start = TRIZEPS4_ETH_PHYS+0x300, 219 .start = TRIZEPS4_ETH_PHYS+0x300,
@@ -122,67 +228,68 @@ static struct resource dm9000_resources[] = {
122 [2] = { 228 [2] = {
123 .start = TRIZEPS4_ETH_IRQ, 229 .start = TRIZEPS4_ETH_IRQ,
124 .end = TRIZEPS4_ETH_IRQ, 230 .end = TRIZEPS4_ETH_IRQ,
125 .flags = (IORESOURCE_IRQ | IRQ_TYPE_EDGE_RISING), 231 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
126 }, 232 },
127}; 233};
128 234
235static struct dm9000_plat_data tri_dm9000_platdata = {
236 .flags = DM9000_PLATF_32BITONLY,
237};
238
129static struct platform_device dm9000_device = { 239static struct platform_device dm9000_device = {
130 .name = "dm9000", 240 .name = "dm9000",
131 .id = -1, 241 .id = -1,
132 .num_resources = ARRAY_SIZE(dm9000_resources), 242 .num_resources = ARRAY_SIZE(dm9000_resources),
133 .resource = dm9000_resources, 243 .resource = dm9000_resources,
244 .dev = {
245 .platform_data = &tri_dm9000_platdata,
246 }
134}; 247};
135 248
136/******************************************************************************************** 249/****************************************************************************
137 * PXA270 serial ports 250 * LED's on GPIO pins of PXA
138 ********************************************************************************************/ 251 ****************************************************************************/
139static struct plat_serial8250_port tri_serial_ports[] = { 252static struct gpio_led trizeps4_led[] = {
140#ifdef CONFIG_SERIAL_PXA 253#ifdef STATUS_LEDS_ON_STUART_PINS
141 /* this uses the own PXA driver */
142 { 254 {
143 0, 255 .name = "led0:orange:heartbeat", /* */
144 }, 256 .default_trigger = "heartbeat",
145#else 257 .gpio = GPIO_HEARTBEAT_LED,
146 /* this uses the generic 8520 driver */ 258 .active_low = 1,
147 [0] = {
148 .membase = (void *)&FFUART,
149 .irq = IRQ_FFUART,
150 .flags = UPF_BOOT_AUTOCONF,
151 .iotype = UPIO_MEM32,
152 .regshift = 2,
153 .uartclk = (921600*16),
154 },
155 [1] = {
156 .membase = (void *)&BTUART,
157 .irq = IRQ_BTUART,
158 .flags = UPF_BOOT_AUTOCONF,
159 .iotype = UPIO_MEM32,
160 .regshift = 2,
161 .uartclk = (921600*16),
162 }, 259 },
163 { 260 {
164 0, 261 .name = "led1:yellow:cpubusy", /* */
262 .default_trigger = "cpu-busy",
263 .gpio = GPIO_SYS_BUSY_LED,
264 .active_low = 1,
165 }, 265 },
166#endif 266#endif
167}; 267};
168 268
169static struct platform_device uart_devices = { 269static struct gpio_led_platform_data trizeps4_led_data = {
170 .name = "serial8250", 270 .leds = trizeps4_led,
171 .id = 0, 271 .num_leds = ARRAY_SIZE(trizeps4_led),
272};
273
274static struct platform_device leds_devices = {
275 .name = "leds-gpio",
276 .id = -1,
172 .dev = { 277 .dev = {
173 .platform_data = tri_serial_ports, 278 .platform_data = &trizeps4_led_data,
174 }, 279 },
175 .num_resources = 0,
176 .resource = NULL,
177}; 280};
178 281
179static struct platform_device * trizeps4_devices[] __initdata = { 282static struct platform_device *trizeps4_devices[] __initdata = {
180 &flash_device, 283 &flash_device,
181 &uart_devices,
182 &dm9000_device, 284 &dm9000_device,
285 &leds_devices,
286};
287
288static struct platform_device *trizeps4wl_devices[] __initdata = {
289 &flash_device,
290 &leds_devices,
183}; 291};
184 292
185#ifdef CONFIG_MACH_TRIZEPS4_CONXS
186static short trizeps_conxs_bcr; 293static short trizeps_conxs_bcr;
187 294
188/* PCCARD power switching supports only 3,3V */ 295/* PCCARD power switching supports only 3,3V */
@@ -192,108 +299,63 @@ void board_pcmcia_power(int power)
192 /* switch power on, put in reset and enable buffers */ 299 /* switch power on, put in reset and enable buffers */
193 trizeps_conxs_bcr |= power; 300 trizeps_conxs_bcr |= power;
194 trizeps_conxs_bcr |= ConXS_BCR_CF_RESET; 301 trizeps_conxs_bcr |= ConXS_BCR_CF_RESET;
195 trizeps_conxs_bcr &= ~(ConXS_BCR_CF_BUF_EN); 302 trizeps_conxs_bcr &= ~ConXS_BCR_CF_BUF_EN;
196 ConXS_BCR = trizeps_conxs_bcr; 303 BCR_writew(trizeps_conxs_bcr);
197 /* wait a little */ 304 /* wait a little */
198 udelay(2000); 305 udelay(2000);
199 /* take reset away */ 306 /* take reset away */
200 trizeps_conxs_bcr &= ~(ConXS_BCR_CF_RESET); 307 trizeps_conxs_bcr &= ~ConXS_BCR_CF_RESET;
201 ConXS_BCR = trizeps_conxs_bcr; 308 BCR_writew(trizeps_conxs_bcr);
202 udelay(2000); 309 udelay(2000);
203 } else { 310 } else {
204 /* put in reset */ 311 /* put in reset */
205 trizeps_conxs_bcr |= ConXS_BCR_CF_RESET; 312 trizeps_conxs_bcr |= ConXS_BCR_CF_RESET;
206 ConXS_BCR = trizeps_conxs_bcr; 313 BCR_writew(trizeps_conxs_bcr);
207 udelay(1000); 314 udelay(1000);
208 /* switch power off */ 315 /* switch power off */
209 trizeps_conxs_bcr &= ~(0xf); 316 trizeps_conxs_bcr &= ~0xf;
210 ConXS_BCR = trizeps_conxs_bcr; 317 BCR_writew(trizeps_conxs_bcr);
211
212 } 318 }
213 pr_debug("%s: o%s 0x%x\n", __func__, power ? "n": "ff", trizeps_conxs_bcr); 319 pr_debug("%s: o%s 0x%x\n", __func__, power ? "n" : "ff",
320 trizeps_conxs_bcr);
214} 321}
322EXPORT_SYMBOL(board_pcmcia_power);
215 323
216/* backlight power switching for LCD panel */ 324/* backlight power switching for LCD panel */
217static void board_backlight_power(int on) 325static void board_backlight_power(int on)
218{ 326{
219 if (on) { 327 if (on)
220 trizeps_conxs_bcr |= ConXS_BCR_L_DISP; 328 trizeps_conxs_bcr |= ConXS_BCR_L_DISP;
221 } else { 329 else
222 trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP; 330 trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP;
223 }
224 pr_debug("%s: o%s 0x%x\n", __func__, on ? "n" : "ff", trizeps_conxs_bcr);
225 ConXS_BCR = trizeps_conxs_bcr;
226}
227 331
228/* Powersupply for MMC/SD cardslot */ 332 pr_debug("%s: o%s 0x%x\n", __func__, on ? "n" : "ff",
229static void board_mci_power(struct device *dev, unsigned int vdd) 333 trizeps_conxs_bcr);
230{ 334 BCR_writew(trizeps_conxs_bcr);
231 struct pxamci_platform_data* p_d = dev->platform_data;
232
233 if (( 1 << vdd) & p_d->ocr_mask) {
234 pr_debug("%s: on\n", __func__);
235 /* FIXME fill in values here */
236 } else {
237 pr_debug("%s: off\n", __func__);
238 /* FIXME fill in values here */
239 }
240} 335}
241 336
242static short trizeps_conxs_ircr; 337/* a I2C based RTC is known on CONXS board */
243 338static struct i2c_board_info trizeps4_i2c_devices[] __initdata = {
244/* Switch modes and Power for IRDA receiver */ 339 { I2C_BOARD_INFO("rtc-pcf8593", 0x51) }
245static void board_irda_mode(struct device *dev, int mode) 340};
246{
247 unsigned long flags;
248
249 local_irq_save(flags);
250 if (mode & IR_SIRMODE) {
251 /* Slow mode */
252 trizeps_conxs_ircr &= ~ConXS_IRCR_MODE;
253 } else if (mode & IR_FIRMODE) {
254 /* Fast mode */
255 trizeps_conxs_ircr |= ConXS_IRCR_MODE;
256 }
257 pxa2xx_transceiver_mode(dev, mode);
258 if (mode & IR_OFF) {
259 trizeps_conxs_ircr |= ConXS_IRCR_SD;
260 } else {
261 trizeps_conxs_ircr &= ~ConXS_IRCR_SD;
262 }
263 /* FIXME write values to register */
264 local_irq_restore(flags);
265}
266
267#else
268/* for other baseboards define dummies */
269void board_pcmcia_power(int power) {;}
270#define board_backlight_power NULL
271#define board_mci_power NULL
272#define board_irda_mode NULL
273
274#endif /* CONFIG_MACH_TRIZEPS4_CONXS */
275EXPORT_SYMBOL(board_pcmcia_power);
276 341
277static int trizeps4_mci_init(struct device *dev, irq_handler_t mci_detect_int, void *data) 342/****************************************************************************
343 * MMC card slot external to module
344 ****************************************************************************/
345static int trizeps4_mci_init(struct device *dev, irq_handler_t mci_detect_int,
346 void *data)
278{ 347{
279 int err; 348 int err;
280 /* setup GPIO for PXA27x MMC controller */
281 pxa_gpio_mode(GPIO32_MMCCLK_MD);
282 pxa_gpio_mode(GPIO112_MMCCMD_MD);
283 pxa_gpio_mode(GPIO92_MMCDAT0_MD);
284 pxa_gpio_mode(GPIO109_MMCDAT1_MD);
285 pxa_gpio_mode(GPIO110_MMCDAT2_MD);
286 pxa_gpio_mode(GPIO111_MMCDAT3_MD);
287
288 pxa_gpio_mode(GPIO_MMC_DET | GPIO_IN);
289 349
290 err = request_irq(TRIZEPS4_MMC_IRQ, mci_detect_int, 350 err = request_irq(TRIZEPS4_MMC_IRQ, mci_detect_int,
291 IRQF_DISABLED | IRQF_TRIGGER_RISING, 351 IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_SAMPLE_RANDOM,
292 "MMC card detect", data); 352 "MMC card detect", data);
293 if (err) 353 if (err) {
294 printk(KERN_ERR "trizeps4_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); 354 printk(KERN_ERR "trizeps4_mci_init: MMC/SD: can't request"
295 355 "MMC card detect IRQ\n");
296 return err; 356 return -1;
357 }
358 return 0;
297} 359}
298 360
299static void trizeps4_mci_exit(struct device *dev, void *data) 361static void trizeps4_mci_exit(struct device *dev, void *data)
@@ -303,22 +365,68 @@ static void trizeps4_mci_exit(struct device *dev, void *data)
303 365
304static struct pxamci_platform_data trizeps4_mci_platform_data = { 366static struct pxamci_platform_data trizeps4_mci_platform_data = {
305 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, 367 .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
368 .detect_delay = 1,
306 .init = trizeps4_mci_init, 369 .init = trizeps4_mci_init,
307 .exit = trizeps4_mci_exit, 370 .exit = trizeps4_mci_exit,
308 .setpower = board_mci_power, 371 .get_ro = NULL, /* write-protection not supported */
372 .setpower = NULL, /* power-switching not supported */
309}; 373};
310 374
375/****************************************************************************
376 * IRDA mode switching on stuart
377 ****************************************************************************/
378#ifndef STATUS_LEDS_ON_STUART_PINS
379static short trizeps_conxs_ircr;
380
381static int trizeps4_irda_startup(struct device *dev)
382{
383 trizeps_conxs_ircr &= ~ConXS_IRCR_SD;
384 IRCR_writew(trizeps_conxs_ircr);
385 return 0;
386}
387
388static void trizeps4_irda_shutdown(struct device *dev)
389{
390 trizeps_conxs_ircr |= ConXS_IRCR_SD;
391 IRCR_writew(trizeps_conxs_ircr);
392}
393
394static void trizeps4_irda_transceiver_mode(struct device *dev, int mode)
395{
396 unsigned long flags;
397
398 local_irq_save(flags);
399 /* Switch mode */
400 if (mode & IR_SIRMODE)
401 trizeps_conxs_ircr &= ~ConXS_IRCR_MODE; /* Slow mode */
402 else if (mode & IR_FIRMODE) {
403 trizeps_conxs_ircr |= ConXS_IRCR_MODE; /* Fast mode */
404
405 /* Switch power */
406 if (mode & IR_OFF)
407 trizeps_conxs_ircr |= ConXS_IRCR_SD;
408 else
409 trizeps_conxs_ircr &= ~ConXS_IRCR_SD;
410
411 IRCR_writew(trizeps_conxs_ircr);
412 local_irq_restore(flags);
413
414 pxa2xx_transceiver_mode(dev, mode);
415}
416
311static struct pxaficp_platform_data trizeps4_ficp_platform_data = { 417static struct pxaficp_platform_data trizeps4_ficp_platform_data = {
312 .transceiver_cap = IR_SIRMODE | IR_FIRMODE | IR_OFF, 418 .transceiver_cap = IR_SIRMODE | IR_FIRMODE | IR_OFF,
313 .transceiver_mode = board_irda_mode, 419 .transceiver_mode = trizeps4_irda_transceiver_mode,
420 .startup = trizeps4_irda_startup,
421 .shutdown = trizeps4_irda_shutdown,
314}; 422};
423#endif
315 424
425/****************************************************************************
426 * OHCI USB port
427 ****************************************************************************/
316static int trizeps4_ohci_init(struct device *dev) 428static int trizeps4_ohci_init(struct device *dev)
317{ 429{
318 /* setup Port1 GPIO pin. */
319 pxa_gpio_mode( 88 | GPIO_ALT_FN_1_IN); /* USBHPWR1 */
320 pxa_gpio_mode( 89 | GPIO_ALT_FN_2_OUT); /* USBHPEN1 */
321
322 /* Set the Power Control Polarity Low and Power Sense 430 /* Set the Power Control Polarity Low and Power Sense
323 Polarity Low to active low. */ 431 Polarity Low to active low. */
324 UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) & 432 UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
@@ -327,15 +435,9 @@ static int trizeps4_ohci_init(struct device *dev)
327 return 0; 435 return 0;
328} 436}
329 437
330static void trizeps4_ohci_exit(struct device *dev)
331{
332 ;
333}
334
335static struct pxaohci_platform_data trizeps4_ohci_platform_data = { 438static struct pxaohci_platform_data trizeps4_ohci_platform_data = {
336 .port_mode = PMM_PERPORT_MODE, 439 .port_mode = PMM_PERPORT_MODE,
337 .init = trizeps4_ohci_init, 440 .init = trizeps4_ohci_init,
338 .exit = trizeps4_ohci_exit,
339}; 441};
340 442
341static struct map_desc trizeps4_io_desc[] __initdata = { 443static struct map_desc trizeps4_io_desc[] __initdata = {
@@ -372,105 +474,80 @@ static struct map_desc trizeps4_io_desc[] __initdata = {
372}; 474};
373 475
374static struct pxafb_mode_info sharp_lcd_mode = { 476static struct pxafb_mode_info sharp_lcd_mode = {
375 .pixclock = 78000, 477 .pixclock = 78000,
376 .xres = 640, 478 .xres = 640,
377 .yres = 480, 479 .yres = 480,
378 .bpp = 8, 480 .bpp = 8,
379 .hsync_len = 4, 481 .hsync_len = 4,
380 .left_margin = 4, 482 .left_margin = 4,
381 .right_margin = 4, 483 .right_margin = 4,
382 .vsync_len = 2, 484 .vsync_len = 2,
383 .upper_margin = 0, 485 .upper_margin = 0,
384 .lower_margin = 0, 486 .lower_margin = 0,
385 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 487 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
386 .cmap_greyscale = 0, 488 .cmap_greyscale = 0,
387}; 489};
388 490
389static struct pxafb_mach_info sharp_lcd = { 491static struct pxafb_mach_info sharp_lcd = {
390 .modes = &sharp_lcd_mode, 492 .modes = &sharp_lcd_mode,
391 .num_modes = 1, 493 .num_modes = 1,
392 .cmap_inverse = 0, 494 .lcd_conn = LCD_COLOR_DSTN_16BPP | LCD_PCLK_EDGE_FALL,
393 .cmap_static = 0, 495 .cmap_inverse = 0,
394 .lccr0 = LCCR0_Color | LCCR0_Pas | LCCR0_Dual, 496 .cmap_static = 0,
395 .lccr3 = 0x0340ff02, 497 .pxafb_backlight_power = board_backlight_power,
396 .pxafb_backlight_power = board_backlight_power,
397}; 498};
398 499
399static struct pxafb_mode_info toshiba_lcd_mode = { 500static struct pxafb_mode_info toshiba_lcd_mode = {
400 .pixclock = 39720, 501 .pixclock = 39720,
401 .xres = 640, 502 .xres = 640,
402 .yres = 480, 503 .yres = 480,
403 .bpp = 8, 504 .bpp = 8,
404 .hsync_len = 63, 505 .hsync_len = 63,
405 .left_margin = 12, 506 .left_margin = 12,
406 .right_margin = 12, 507 .right_margin = 12,
407 .vsync_len = 4, 508 .vsync_len = 4,
408 .upper_margin = 32, 509 .upper_margin = 32,
409 .lower_margin = 10, 510 .lower_margin = 10,
410 .sync = 0, 511 .sync = 0,
411 .cmap_greyscale = 0, 512 .cmap_greyscale = 0,
412}; 513};
413 514
414static struct pxafb_mach_info toshiba_lcd = { 515static struct pxafb_mach_info toshiba_lcd = {
415 .modes = &toshiba_lcd_mode, 516 .modes = &toshiba_lcd_mode,
416 .num_modes = 1, 517 .num_modes = 1,
417 .cmap_inverse = 0, 518 .lcd_conn = (LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL),
418 .cmap_static = 0, 519 .cmap_inverse = 0,
419 .lccr0 = LCCR0_Color | LCCR0_Act, 520 .cmap_static = 0,
420 .lccr3 = 0x03400002, 521 .pxafb_backlight_power = board_backlight_power,
421 .pxafb_backlight_power = board_backlight_power,
422}; 522};
423 523
424static void __init trizeps4_init(void) 524static void __init trizeps4_init(void)
425{ 525{
426 platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); 526 pxa2xx_mfp_config(ARRAY_AND_SIZE(trizeps4_pin_config));
527 if (machine_is_trizeps4wl()) {
528 pxa2xx_mfp_config(ARRAY_AND_SIZE(trizeps4wl_pin_config));
529 platform_add_devices(trizeps4wl_devices,
530 ARRAY_SIZE(trizeps4wl_devices));
531 } else {
532 platform_add_devices(trizeps4_devices,
533 ARRAY_SIZE(trizeps4_devices));
534 }
427 535
428/* set_pxa_fb_info(&sharp_lcd); */ 536 if (0) /* dont know how to determine LCD */
429 set_pxa_fb_info(&toshiba_lcd); 537 set_pxa_fb_info(&sharp_lcd);
538 else
539 set_pxa_fb_info(&toshiba_lcd);
430 540
431 pxa_set_mci_info(&trizeps4_mci_platform_data); 541 pxa_set_mci_info(&trizeps4_mci_platform_data);
542#ifndef STATUS_LEDS_ON_STUART_PINS
432 pxa_set_ficp_info(&trizeps4_ficp_platform_data); 543 pxa_set_ficp_info(&trizeps4_ficp_platform_data);
544#endif
433 pxa_set_ohci_info(&trizeps4_ohci_platform_data); 545 pxa_set_ohci_info(&trizeps4_ohci_platform_data);
434 pxa_set_ac97_info(NULL); 546 pxa_set_ac97_info(NULL);
435} 547 pxa_set_i2c_info(NULL);
548 i2c_register_board_info(0, trizeps4_i2c_devices,
549 ARRAY_SIZE(trizeps4_i2c_devices));
436 550
437static void __init trizeps4_map_io(void)
438{
439 pxa_map_io();
440 iotable_init(trizeps4_io_desc, ARRAY_SIZE(trizeps4_io_desc));
441
442 /* for DiskOnChip */
443 pxa_gpio_mode(GPIO15_nCS_1_MD);
444
445 /* for off-module PIC on ConXS board */
446 pxa_gpio_mode(GPIO_PIC | GPIO_IN);
447
448 /* UCB1400 irq */
449 pxa_gpio_mode(GPIO_UCB1400 | GPIO_IN);
450
451 /* for DM9000 LAN */
452 pxa_gpio_mode(GPIO78_nCS_2_MD);
453 pxa_gpio_mode(GPIO_DM9000 | GPIO_IN);
454
455 /* for PCMCIA device */
456 pxa_gpio_mode(GPIO_PCD | GPIO_IN);
457 pxa_gpio_mode(GPIO_PRDY | GPIO_IN);
458
459 /* for I2C adapter */
460 pxa_gpio_mode(GPIO117_I2CSCL_MD);
461 pxa_gpio_mode(GPIO118_I2CSDA_MD);
462
463 /* MMC_DET s.o. */
464 pxa_gpio_mode(GPIO_MMC_DET | GPIO_IN);
465
466 /* whats that for ??? */
467 pxa_gpio_mode(GPIO79_nCS_3_MD);
468
469#ifdef CONFIG_LEDS
470 pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */
471 pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */
472#endif
473#ifdef CONFIG_MACH_TRIZEPS4_CONXS
474#ifdef CONFIG_IDE_PXA_CF 551#ifdef CONFIG_IDE_PXA_CF
475 /* if boot direct from compact flash dont disable power */ 552 /* if boot direct from compact flash dont disable power */
476 trizeps_conxs_bcr = 0x0009; 553 trizeps_conxs_bcr = 0x0009;
@@ -478,18 +555,24 @@ static void __init trizeps4_map_io(void)
478 /* this is the reset value */ 555 /* this is the reset value */
479 trizeps_conxs_bcr = 0x00A0; 556 trizeps_conxs_bcr = 0x00A0;
480#endif 557#endif
481 ConXS_BCR = trizeps_conxs_bcr; 558 BCR_writew(trizeps_conxs_bcr);
482#endif 559 board_backlight_power(1);
560}
483 561
484#warning FIXME - accessing PM registers directly is deprecated 562static void __init trizeps4_map_io(void)
485 PWER = 0x00000002; 563{
486 PFER = 0x00000000; 564 pxa_map_io();
487 PRER = 0x00000002; 565 iotable_init(trizeps4_io_desc, ARRAY_SIZE(trizeps4_io_desc));
488 PGSR0 = 0x0158C000; 566
489 PGSR1 = 0x00FF0080; 567 if ((MSC0 & 0x8) && (BOOT_DEF & 0x1)) {
490 PGSR2 = 0x0001C004; 568 /* if flash is 16 bit wide its a Trizeps4 WL */
491 /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ 569 __machine_arch_type = MACH_TYPE_TRIZEPS4WL;
492 PCFR |= PCFR_OPDE; 570 trizeps4_flash_data[0].width = 2;
571 } else {
572 /* if flash is 32 bit wide its a Trizeps4 */
573 __machine_arch_type = MACH_TYPE_TRIZEPS4;
574 trizeps4_flash_data[0].width = 4;
575 }
493} 576}
494 577
495MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") 578MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
@@ -503,3 +586,13 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
503 .timer = &pxa_timer, 586 .timer = &pxa_timer,
504MACHINE_END 587MACHINE_END
505 588
589MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module")
590 /* MAINTAINER("Jürgen Schindele") */
591 .phys_io = 0x40000000,
592 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
593 .boot_params = TRIZEPS4_SDRAM_BASE + 0x100,
594 .init_machine = trizeps4_init,
595 .map_io = trizeps4_map_io,
596 .init_irq = pxa27x_init_irq,
597 .timer = &pxa_timer,
598MACHINE_END
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
new file mode 100644
index 000000000000..d7632f63603c
--- /dev/null
+++ b/arch/arm/mach-pxa/viper.c
@@ -0,0 +1,951 @@
1/*
2 * linux/arch/arm/mach-pxa/viper.c
3 *
4 * Support for the Arcom VIPER SBC.
5 *
6 * Author: Ian Campbell
7 * Created: Feb 03, 2003
8 * Copyright: Arcom Control Systems
9 *
10 * Maintained by Marc Zyngier <maz@misterjones.org>
11 * <marc.zyngier@altran.com>
12 *
13 * Based on lubbock.c:
14 * Author: Nicolas Pitre
15 * Created: Jun 15, 2001
16 * Copyright: MontaVista Software Inc.
17 *
18 * This program is free software; you can redistribute it and/or modify
19 * it under the terms of the GNU General Public License version 2 as
20 * published by the Free Software Foundation.
21 */
22
23#include <linux/types.h>
24#include <linux/memory.h>
25#include <linux/cpu.h>
26#include <linux/cpufreq.h>
27#include <linux/delay.h>
28#include <linux/fs.h>
29#include <linux/init.h>
30#include <linux/interrupt.h>
31#include <linux/major.h>
32#include <linux/module.h>
33#include <linux/pm.h>
34#include <linux/sched.h>
35#include <linux/gpio.h>
36#include <linux/i2c-gpio.h>
37#include <linux/serial_8250.h>
38#include <linux/smc91x.h>
39#include <linux/pwm_backlight.h>
40#include <linux/usb/isp116x.h>
41#include <linux/mtd/mtd.h>
42#include <linux/mtd/partitions.h>
43#include <linux/mtd/physmap.h>
44
45#include <mach/pxa-regs.h>
46#include <mach/pxa2xx-regs.h>
47#include <mach/bitfield.h>
48#include <mach/audio.h>
49#include <mach/pxafb.h>
50#include <mach/mfp-pxa25x.h>
51#include <mach/i2c.h>
52#include <mach/viper.h>
53
54#include <asm/setup.h>
55#include <asm/mach-types.h>
56#include <asm/irq.h>
57#include <asm/sizes.h>
58
59#include <asm/mach/arch.h>
60#include <asm/mach/map.h>
61#include <asm/mach/irq.h>
62
63#include "generic.h"
64#include "devices.h"
65
66static unsigned int icr;
67
68static void viper_icr_set_bit(unsigned int bit)
69{
70 icr |= bit;
71 VIPER_ICR = icr;
72}
73
74static void viper_icr_clear_bit(unsigned int bit)
75{
76 icr &= ~bit;
77 VIPER_ICR = icr;
78}
79
80/* This function is used from the pcmcia module to reset the CF */
81void viper_cf_rst(int state)
82{
83 if (state)
84 viper_icr_set_bit(VIPER_ICR_CF_RST);
85 else
86 viper_icr_clear_bit(VIPER_ICR_CF_RST);
87}
88EXPORT_SYMBOL(viper_cf_rst);
89
90/*
91 * The CPLD version register was not present on VIPER boards prior to
92 * v2i1. On v1 boards where the version register is not present we
93 * will just read back the previous value from the databus.
94 *
95 * Therefore we do two reads. The first time we write 0 to the
96 * (read-only) register before reading and the second time we write
97 * 0xff first. If the two reads do not match or they read back as 0xff
98 * or 0x00 then we have version 1 hardware.
99 */
100static u8 viper_hw_version(void)
101{
102 u8 v1, v2;
103 unsigned long flags;
104
105 local_irq_save(flags);
106
107 VIPER_VERSION = 0;
108 v1 = VIPER_VERSION;
109 VIPER_VERSION = 0xff;
110 v2 = VIPER_VERSION;
111
112 v1 = (v1 != v2 || v1 == 0xff) ? 0 : v1;
113
114 local_irq_restore(flags);
115 return v1;
116}
117
118/* CPU sysdev */
119static int viper_cpu_suspend(struct sys_device *sysdev, pm_message_t state)
120{
121 viper_icr_set_bit(VIPER_ICR_R_DIS);
122 return 0;
123}
124
125static int viper_cpu_resume(struct sys_device *sysdev)
126{
127 viper_icr_clear_bit(VIPER_ICR_R_DIS);
128 return 0;
129}
130
131static struct sysdev_driver viper_cpu_sysdev_driver = {
132 .suspend = viper_cpu_suspend,
133 .resume = viper_cpu_resume,
134};
135
136static unsigned int current_voltage_divisor;
137
138/*
139 * If force is not true then step from existing to new divisor. If
140 * force is true then jump straight to the new divisor. Stepping is
141 * used because if the jump in voltage is too large, the VCC can dip
142 * too low and the regulator cuts out.
143 *
144 * force can be used to initialize the divisor to a know state by
145 * setting the value for the current clock speed, since we are already
146 * running at that speed we know the voltage should be pretty close so
147 * the jump won't be too large
148 */
149static void viper_set_core_cpu_voltage(unsigned long khz, int force)
150{
151 int i = 0;
152 unsigned int divisor = 0;
153 const char *v;
154
155 if (khz < 200000) {
156 v = "1.0"; divisor = 0xfff;
157 } else if (khz < 300000) {
158 v = "1.1"; divisor = 0xde5;
159 } else {
160 v = "1.3"; divisor = 0x325;
161 }
162
163 pr_debug("viper: setting CPU core voltage to %sV at %d.%03dMHz\n",
164 v, (int)khz / 1000, (int)khz % 1000);
165
166#define STEP 0x100
167 do {
168 int step;
169
170 if (force)
171 step = divisor;
172 else if (current_voltage_divisor < divisor - STEP)
173 step = current_voltage_divisor + STEP;
174 else if (current_voltage_divisor > divisor + STEP)
175 step = current_voltage_divisor - STEP;
176 else
177 step = divisor;
178 force = 0;
179
180 gpio_set_value(VIPER_PSU_CLK_GPIO, 0);
181 gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 0);
182
183 for (i = 1 << 11 ; i > 0 ; i >>= 1) {
184 udelay(1);
185
186 gpio_set_value(VIPER_PSU_DATA_GPIO, step & i);
187 udelay(1);
188
189 gpio_set_value(VIPER_PSU_CLK_GPIO, 1);
190 udelay(1);
191
192 gpio_set_value(VIPER_PSU_CLK_GPIO, 0);
193 }
194 udelay(1);
195
196 gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 1);
197 udelay(1);
198
199 gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 0);
200
201 current_voltage_divisor = step;
202 } while (current_voltage_divisor != divisor);
203}
204
205/* Interrupt handling */
206static unsigned long viper_irq_enabled_mask;
207
208static void viper_ack_irq(unsigned int irq)
209{
210 int viper_irq = irq - PXA_ISA_IRQ(0);
211
212 if (viper_irq < 8)
213 VIPER_LO_IRQ_STATUS = 1 << viper_irq;
214 else
215 VIPER_HI_IRQ_STATUS = 1 << (viper_irq - 8);
216}
217
218static void viper_mask_irq(unsigned int irq)
219{
220 viper_irq_enabled_mask &= ~(1 << (irq - PXA_ISA_IRQ(0)));
221}
222
223static void viper_unmask_irq(unsigned int irq)
224{
225 viper_irq_enabled_mask |= (1 << (irq - PXA_ISA_IRQ(0)));
226}
227
228static inline unsigned long viper_irq_pending(void)
229{
230 return (VIPER_HI_IRQ_STATUS << 8 | VIPER_LO_IRQ_STATUS) &
231 viper_irq_enabled_mask;
232}
233
234static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
235{
236 unsigned long pending;
237
238 pending = viper_irq_pending();
239 do {
240 if (likely(pending)) {
241 irq = PXA_ISA_IRQ(0) + __ffs(pending);
242 generic_handle_irq(irq);
243 }
244 pending = viper_irq_pending();
245 } while (pending);
246}
247
248static struct irq_chip viper_irq_chip = {
249 .name = "ISA",
250 .ack = viper_ack_irq,
251 .mask = viper_mask_irq,
252 .unmask = viper_unmask_irq
253};
254
255static void __init viper_init_irq(void)
256{
257 const int isa_irqs[] = { 3, 4, 5, 6, 7, 10, 11, 12, 9, 14, 15 };
258 int irq;
259 int isa_irq;
260
261 pxa25x_init_irq();
262
263 /* setup ISA IRQs */
264 for (irq = 0; irq < ARRAY_SIZE(isa_irqs); irq++) {
265 isa_irq = isa_irqs[irq];
266 set_irq_chip(isa_irq, &viper_irq_chip);
267 set_irq_handler(isa_irq, handle_edge_irq);
268 set_irq_flags(isa_irq, IRQF_VALID | IRQF_PROBE);
269 }
270
271 set_irq_chained_handler(gpio_to_irq(VIPER_CPLD_GPIO),
272 viper_irq_handler);
273 set_irq_type(gpio_to_irq(VIPER_CPLD_GPIO), IRQ_TYPE_EDGE_BOTH);
274
275#ifndef CONFIG_SERIAL_PXA
276 /*
277 * 8250 doesn't support IRQ_TYPE being passed as part
278 * of the plat_serial8250_port structure...
279 */
280 set_irq_type(gpio_to_irq(VIPER_UARTA_GPIO), IRQ_TYPE_EDGE_RISING);
281 set_irq_type(gpio_to_irq(VIPER_UARTB_GPIO), IRQ_TYPE_EDGE_RISING);
282#endif
283}
284
285/* Flat Panel */
286static struct pxafb_mode_info fb_mode_info[] = {
287 {
288 .pixclock = 157500,
289
290 .xres = 320,
291 .yres = 240,
292
293 .bpp = 16,
294
295 .hsync_len = 63,
296 .left_margin = 7,
297 .right_margin = 13,
298
299 .vsync_len = 20,
300 .upper_margin = 0,
301 .lower_margin = 0,
302
303 .sync = 0,
304 },
305};
306
307static struct pxafb_mach_info fb_info = {
308 .modes = fb_mode_info,
309 .num_modes = 1,
310 .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
311};
312
313static int viper_backlight_init(struct device *dev)
314{
315 int ret;
316
317 /* GPIO9 and 10 control FB backlight. Initialise to off */
318 ret = gpio_request(VIPER_BCKLIGHT_EN_GPIO, "Backlight");
319 if (ret)
320 goto err_request_bckl;
321
322 ret = gpio_request(VIPER_LCD_EN_GPIO, "LCD");
323 if (ret)
324 goto err_request_lcd;
325
326 ret = gpio_direction_output(VIPER_BCKLIGHT_EN_GPIO, 0);
327 if (ret)
328 goto err_dir;
329
330 ret = gpio_direction_output(VIPER_LCD_EN_GPIO, 0);
331 if (ret)
332 goto err_dir;
333
334 return 0;
335
336err_dir:
337 gpio_free(VIPER_LCD_EN_GPIO);
338err_request_lcd:
339 gpio_free(VIPER_BCKLIGHT_EN_GPIO);
340err_request_bckl:
341 dev_err(dev, "Failed to setup LCD GPIOs\n");
342
343 return ret;
344}
345
346static int viper_backlight_notify(int brightness)
347{
348 gpio_set_value(VIPER_LCD_EN_GPIO, !!brightness);
349 gpio_set_value(VIPER_BCKLIGHT_EN_GPIO, !!brightness);
350
351 return brightness;
352}
353
354static void viper_backlight_exit(struct device *dev)
355{
356 gpio_free(VIPER_LCD_EN_GPIO);
357 gpio_free(VIPER_BCKLIGHT_EN_GPIO);
358}
359
360static struct platform_pwm_backlight_data viper_backlight_data = {
361 .pwm_id = 0,
362 .max_brightness = 100,
363 .dft_brightness = 100,
364 .pwm_period_ns = 1000000,
365 .init = viper_backlight_init,
366 .notify = viper_backlight_notify,
367 .exit = viper_backlight_exit,
368};
369
370static struct platform_device viper_backlight_device = {
371 .name = "pwm-backlight",
372 .dev = {
373 .parent = &pxa25x_device_pwm0.dev,
374 .platform_data = &viper_backlight_data,
375 },
376};
377
378/* Ethernet */
379static struct resource smc91x_resources[] = {
380 [0] = {
381 .name = "smc91x-regs",
382 .start = VIPER_ETH_PHYS + 0x300,
383 .end = VIPER_ETH_PHYS + 0x30f,
384 .flags = IORESOURCE_MEM,
385 },
386 [1] = {
387 .start = gpio_to_irq(VIPER_ETH_GPIO),
388 .end = gpio_to_irq(VIPER_ETH_GPIO),
389 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
390 },
391 [2] = {
392 .name = "smc91x-data32",
393 .start = VIPER_ETH_DATA_PHYS,
394 .end = VIPER_ETH_DATA_PHYS + 3,
395 .flags = IORESOURCE_MEM,
396 },
397};
398
399static struct smc91x_platdata viper_smc91x_info = {
400 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
401 .leda = RPC_LED_100_10,
402 .ledb = RPC_LED_TX_RX,
403};
404
405static struct platform_device smc91x_device = {
406 .name = "smc91x",
407 .id = -1,
408 .num_resources = ARRAY_SIZE(smc91x_resources),
409 .resource = smc91x_resources,
410 .dev = {
411 .platform_data = &viper_smc91x_info,
412 },
413};
414
415/* i2c */
416static struct i2c_gpio_platform_data i2c_bus_data = {
417 .sda_pin = VIPER_RTC_I2C_SDA_GPIO,
418 .scl_pin = VIPER_RTC_I2C_SCL_GPIO,
419 .udelay = 10,
420 .timeout = 100,
421};
422
423static struct platform_device i2c_bus_device = {
424 .name = "i2c-gpio",
425 .id = 1, /* pxa2xx-i2c is bus 0, so start at 1 */
426 .dev = {
427 .platform_data = &i2c_bus_data,
428 }
429};
430
431static struct i2c_board_info __initdata viper_i2c_devices[] = {
432 {
433 I2C_BOARD_INFO("ds1338", 0x68),
434 },
435};
436
437/*
438 * Serial configuration:
439 * You can either have the standard PXA ports driven by the PXA driver,
440 * or all the ports (PXA + 16850) driven by the 8250 driver.
441 * Choose your poison.
442 */
443
444static struct resource viper_serial_resources[] = {
445#ifndef CONFIG_SERIAL_PXA
446 {
447 .start = 0x40100000,
448 .end = 0x4010001f,
449 .flags = IORESOURCE_MEM,
450 },
451 {
452 .start = 0x40200000,
453 .end = 0x4020001f,
454 .flags = IORESOURCE_MEM,
455 },
456 {
457 .start = 0x40700000,
458 .end = 0x4070001f,
459 .flags = IORESOURCE_MEM,
460 },
461 {
462 .start = VIPER_UARTA_PHYS,
463 .end = VIPER_UARTA_PHYS + 0xf,
464 .flags = IORESOURCE_MEM,
465 },
466 {
467 .start = VIPER_UARTB_PHYS,
468 .end = VIPER_UARTB_PHYS + 0xf,
469 .flags = IORESOURCE_MEM,
470 },
471#else
472 {
473 0,
474 },
475#endif
476};
477
478static struct plat_serial8250_port serial_platform_data[] = {
479#ifndef CONFIG_SERIAL_PXA
480 /* Internal UARTs */
481 {
482 .membase = (void *)&FFUART,
483 .mapbase = __PREG(FFUART),
484 .irq = IRQ_FFUART,
485 .uartclk = 921600 * 16,
486 .regshift = 2,
487 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
488 .iotype = UPIO_MEM,
489 },
490 {
491 .membase = (void *)&BTUART,
492 .mapbase = __PREG(BTUART),
493 .irq = IRQ_BTUART,
494 .uartclk = 921600 * 16,
495 .regshift = 2,
496 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
497 .iotype = UPIO_MEM,
498 },
499 {
500 .membase = (void *)&STUART,
501 .mapbase = __PREG(STUART),
502 .irq = IRQ_STUART,
503 .uartclk = 921600 * 16,
504 .regshift = 2,
505 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
506 .iotype = UPIO_MEM,
507 },
508 /* External UARTs */
509 {
510 .mapbase = VIPER_UARTA_PHYS,
511 .irq = gpio_to_irq(VIPER_UARTA_GPIO),
512 .uartclk = 1843200,
513 .regshift = 1,
514 .iotype = UPIO_MEM,
515 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP |
516 UPF_SKIP_TEST,
517 },
518 {
519 .mapbase = VIPER_UARTB_PHYS,
520 .irq = gpio_to_irq(VIPER_UARTB_GPIO),
521 .uartclk = 1843200,
522 .regshift = 1,
523 .iotype = UPIO_MEM,
524 .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP |
525 UPF_SKIP_TEST,
526 },
527#endif
528 { },
529};
530
531static struct platform_device serial_device = {
532 .name = "serial8250",
533 .id = 0,
534 .dev = {
535 .platform_data = serial_platform_data,
536 },
537 .num_resources = ARRAY_SIZE(viper_serial_resources),
538 .resource = viper_serial_resources,
539};
540
541/* USB */
542static void isp116x_delay(struct device *dev, int delay)
543{
544 ndelay(delay);
545}
546
547static struct resource isp116x_resources[] = {
548 [0] = { /* DATA */
549 .start = VIPER_USB_PHYS + 0,
550 .end = VIPER_USB_PHYS + 1,
551 .flags = IORESOURCE_MEM,
552 },
553 [1] = { /* ADDR */
554 .start = VIPER_USB_PHYS + 2,
555 .end = VIPER_USB_PHYS + 3,
556 .flags = IORESOURCE_MEM,
557 },
558 [2] = {
559 .start = gpio_to_irq(VIPER_USB_GPIO),
560 .end = gpio_to_irq(VIPER_USB_GPIO),
561 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
562 },
563};
564
565/* (DataBusWidth16|AnalogOCEnable|DREQOutputPolarity|DownstreamPort15KRSel ) */
566static struct isp116x_platform_data isp116x_platform_data = {
567 /* Enable internal resistors on downstream ports */
568 .sel15Kres = 1,
569 /* On-chip overcurrent protection */
570 .oc_enable = 1,
571 /* INT output polarity */
572 .int_act_high = 1,
573 /* INT edge or level triggered */
574 .int_edge_triggered = 0,
575
576 /* WAKEUP pin connected - NOT SUPPORTED */
577 /* .remote_wakeup_connected = 0, */
578 /* Wakeup by devices on usb bus enabled */
579 .remote_wakeup_enable = 0,
580 .delay = isp116x_delay,
581};
582
583static struct platform_device isp116x_device = {
584 .name = "isp116x-hcd",
585 .id = -1,
586 .num_resources = ARRAY_SIZE(isp116x_resources),
587 .resource = isp116x_resources,
588 .dev = {
589 .platform_data = &isp116x_platform_data,
590 },
591
592};
593
594/* MTD */
595static struct resource mtd_resources[] = {
596 [0] = { /* RedBoot config + filesystem flash */
597 .start = VIPER_FLASH_PHYS,
598 .end = VIPER_FLASH_PHYS + SZ_32M - 1,
599 .flags = IORESOURCE_MEM,
600 },
601 [1] = { /* Boot flash */
602 .start = VIPER_BOOT_PHYS,
603 .end = VIPER_BOOT_PHYS + SZ_1M - 1,
604 .flags = IORESOURCE_MEM,
605 },
606 [2] = { /*
607 * SRAM size is actually 256KB, 8bits, with a sparse mapping
608 * (each byte is on a 16bit boundary).
609 */
610 .start = _VIPER_SRAM_BASE,
611 .end = _VIPER_SRAM_BASE + SZ_512K - 1,
612 .flags = IORESOURCE_MEM,
613 },
614};
615
616static struct mtd_partition viper_boot_flash_partition = {
617 .name = "RedBoot",
618 .size = SZ_1M,
619 .offset = 0,
620 .mask_flags = MTD_WRITEABLE, /* force R/O */
621};
622
623static struct physmap_flash_data viper_flash_data[] = {
624 [0] = {
625 .width = 2,
626 .parts = NULL,
627 .nr_parts = 0,
628 },
629 [1] = {
630 .width = 2,
631 .parts = &viper_boot_flash_partition,
632 .nr_parts = 1,
633 },
634};
635
636static struct platform_device viper_mtd_devices[] = {
637 [0] = {
638 .name = "physmap-flash",
639 .id = 0,
640 .dev = {
641 .platform_data = &viper_flash_data[0],
642 },
643 .resource = &mtd_resources[0],
644 .num_resources = 1,
645 },
646 [1] = {
647 .name = "physmap-flash",
648 .id = 1,
649 .dev = {
650 .platform_data = &viper_flash_data[1],
651 },
652 .resource = &mtd_resources[1],
653 .num_resources = 1,
654 },
655};
656
657static struct platform_device *viper_devs[] __initdata = {
658 &smc91x_device,
659 &i2c_bus_device,
660 &serial_device,
661 &isp116x_device,
662 &viper_mtd_devices[0],
663 &viper_mtd_devices[1],
664 &viper_backlight_device,
665};
666
667static mfp_cfg_t viper_pin_config[] __initdata = {
668 /* Chip selects */
669 GPIO15_nCS_1,
670 GPIO78_nCS_2,
671 GPIO79_nCS_3,
672 GPIO80_nCS_4,
673 GPIO33_nCS_5,
674
675 /* FP Backlight */
676 GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */
677 GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */
678 GPIO16_PWM0_OUT,
679
680 /* Ethernet PHY Ready */
681 GPIO18_RDY,
682
683 /* Serial shutdown */
684 GPIO12_GPIO | MFP_LPM_DRIVE_HIGH, /* VIPER_UART_SHDN_GPIO */
685
686 /* Compact-Flash / PC104 */
687 GPIO48_nPOE,
688 GPIO49_nPWE,
689 GPIO50_nPIOR,
690 GPIO51_nPIOW,
691 GPIO52_nPCE_1,
692 GPIO53_nPCE_2,
693 GPIO54_nPSKTSEL,
694 GPIO55_nPREG,
695 GPIO56_nPWAIT,
696 GPIO57_nIOIS16,
697 GPIO8_GPIO, /* VIPER_CF_RDY_GPIO */
698 GPIO32_GPIO, /* VIPER_CF_CD_GPIO */
699 GPIO82_GPIO, /* VIPER_CF_POWER_GPIO */
700
701 /* Integrated UPS control */
702 GPIO20_GPIO, /* VIPER_UPS_GPIO */
703
704 /* Vcc regulator control */
705 GPIO6_GPIO, /* VIPER_PSU_DATA_GPIO */
706 GPIO11_GPIO, /* VIPER_PSU_CLK_GPIO */
707 GPIO19_GPIO, /* VIPER_PSU_nCS_LD_GPIO */
708
709 /* i2c busses */
710 GPIO26_GPIO, /* VIPER_TPM_I2C_SDA_GPIO */
711 GPIO27_GPIO, /* VIPER_TPM_I2C_SCL_GPIO */
712 GPIO83_GPIO, /* VIPER_RTC_I2C_SDA_GPIO */
713 GPIO84_GPIO, /* VIPER_RTC_I2C_SCL_GPIO */
714
715 /* PC/104 Interrupt */
716 GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* VIPER_CPLD_GPIO */
717};
718
719static unsigned long viper_tpm;
720
721static int __init viper_tpm_setup(char *str)
722{
723 strict_strtoul(str, 10, &viper_tpm);
724 return 1;
725}
726
727__setup("tpm=", viper_tpm_setup);
728
729static void __init viper_tpm_init(void)
730{
731 struct platform_device *tpm_device;
732 struct i2c_gpio_platform_data i2c_tpm_data = {
733 .sda_pin = VIPER_TPM_I2C_SDA_GPIO,
734 .scl_pin = VIPER_TPM_I2C_SCL_GPIO,
735 .udelay = 10,
736 .timeout = 100,
737 };
738 char *errstr;
739
740 /* Allocate TPM i2c bus if requested */
741 if (!viper_tpm)
742 return;
743
744 tpm_device = platform_device_alloc("i2c-gpio", 2);
745 if (tpm_device) {
746 if (!platform_device_add_data(tpm_device,
747 &i2c_tpm_data,
748 sizeof(i2c_tpm_data))) {
749 if (platform_device_add(tpm_device)) {
750 errstr = "register TPM i2c bus";
751 goto error_free_tpm;
752 }
753 } else {
754 errstr = "allocate TPM i2c bus data";
755 goto error_free_tpm;
756 }
757 } else {
758 errstr = "allocate TPM i2c device";
759 goto error_tpm;
760 }
761
762 return;
763
764error_free_tpm:
765 kfree(tpm_device);
766error_tpm:
767 pr_err("viper: Couldn't %s, giving up\n", errstr);
768}
769
770static void __init viper_init_vcore_gpios(void)
771{
772 if (gpio_request(VIPER_PSU_DATA_GPIO, "PSU data"))
773 goto err_request_data;
774
775 if (gpio_request(VIPER_PSU_CLK_GPIO, "PSU clock"))
776 goto err_request_clk;
777
778 if (gpio_request(VIPER_PSU_nCS_LD_GPIO, "PSU cs"))
779 goto err_request_cs;
780
781 if (gpio_direction_output(VIPER_PSU_DATA_GPIO, 0) ||
782 gpio_direction_output(VIPER_PSU_CLK_GPIO, 0) ||
783 gpio_direction_output(VIPER_PSU_nCS_LD_GPIO, 0))
784 goto err_dir;
785
786 /* c/should assume redboot set the correct level ??? */
787 viper_set_core_cpu_voltage(get_clk_frequency_khz(0), 1);
788
789 return;
790
791err_dir:
792 gpio_free(VIPER_PSU_nCS_LD_GPIO);
793err_request_cs:
794 gpio_free(VIPER_PSU_CLK_GPIO);
795err_request_clk:
796 gpio_free(VIPER_PSU_DATA_GPIO);
797err_request_data:
798 pr_err("viper: Failed to setup vcore control GPIOs\n");
799}
800
801static void __init viper_init_serial_gpio(void)
802{
803 if (gpio_request(VIPER_UART_SHDN_GPIO, "UARTs shutdown"))
804 goto err_request;
805
806 if (gpio_direction_output(VIPER_UART_SHDN_GPIO, 0))
807 goto err_dir;
808
809 return;
810
811err_dir:
812 gpio_free(VIPER_UART_SHDN_GPIO);
813err_request:
814 pr_err("viper: Failed to setup UART shutdown GPIO\n");
815}
816
817#ifdef CONFIG_CPU_FREQ
818static int viper_cpufreq_notifier(struct notifier_block *nb,
819 unsigned long val, void *data)
820{
821 struct cpufreq_freqs *freq = data;
822
823 /* TODO: Adjust timings??? */
824
825 switch (val) {
826 case CPUFREQ_PRECHANGE:
827 if (freq->old < freq->new) {
828 /* we are getting faster so raise the voltage
829 * before we change freq */
830 viper_set_core_cpu_voltage(freq->new, 0);
831 }
832 break;
833 case CPUFREQ_POSTCHANGE:
834 if (freq->old > freq->new) {
835 /* we are slowing down so drop the power
836 * after we change freq */
837 viper_set_core_cpu_voltage(freq->new, 0);
838 }
839 break;
840 case CPUFREQ_RESUMECHANGE:
841 viper_set_core_cpu_voltage(freq->new, 0);
842 break;
843 default:
844 /* ignore */
845 break;
846 }
847
848 return 0;
849}
850
851static struct notifier_block viper_cpufreq_notifier_block = {
852 .notifier_call = viper_cpufreq_notifier
853};
854
855static void __init viper_init_cpufreq(void)
856{
857 if (cpufreq_register_notifier(&viper_cpufreq_notifier_block,
858 CPUFREQ_TRANSITION_NOTIFIER))
859 pr_err("viper: Failed to setup cpufreq notifier\n");
860}
861#else
862static inline void viper_init_cpufreq(void) {}
863#endif
864
865static void viper_power_off(void)
866{
867 pr_notice("Shutting off UPS\n");
868 gpio_set_value(VIPER_UPS_GPIO, 1);
869 /* Spin to death... */
870 while (1);
871}
872
873static void __init viper_init(void)
874{
875 u8 version;
876
877 pm_power_off = viper_power_off;
878
879 pxa2xx_mfp_config(ARRAY_AND_SIZE(viper_pin_config));
880
881 /* Wake-up serial console */
882 viper_init_serial_gpio();
883
884 set_pxa_fb_info(&fb_info);
885
886 /* v1 hardware cannot use the datacs line */
887 version = viper_hw_version();
888 if (version == 0)
889 smc91x_device.num_resources--;
890
891 pxa_set_i2c_info(NULL);
892 platform_add_devices(viper_devs, ARRAY_SIZE(viper_devs));
893
894 viper_init_vcore_gpios();
895 viper_init_cpufreq();
896
897 sysdev_driver_register(&cpu_sysdev_class, &viper_cpu_sysdev_driver);
898
899 if (version) {
900 pr_info("viper: hardware v%di%d detected. "
901 "CPLD revision %d.\n",
902 VIPER_BOARD_VERSION(version),
903 VIPER_BOARD_ISSUE(version),
904 VIPER_CPLD_REVISION(version));
905 system_rev = (VIPER_BOARD_VERSION(version) << 8) |
906 (VIPER_BOARD_ISSUE(version) << 4) |
907 VIPER_CPLD_REVISION(version);
908 } else {
909 pr_info("viper: No version register.\n");
910 }
911
912 i2c_register_board_info(1, ARRAY_AND_SIZE(viper_i2c_devices));
913
914 viper_tpm_init();
915 pxa_set_ac97_info(NULL);
916}
917
918static struct map_desc viper_io_desc[] __initdata = {
919 {
920 .virtual = VIPER_CPLD_BASE,
921 .pfn = __phys_to_pfn(VIPER_CPLD_PHYS),
922 .length = 0x00300000,
923 .type = MT_DEVICE,
924 },
925 {
926 .virtual = VIPER_PC104IO_BASE,
927 .pfn = __phys_to_pfn(_PCMCIA1IO),
928 .length = 0x00800000,
929 .type = MT_DEVICE,
930 },
931};
932
933static void __init viper_map_io(void)
934{
935 pxa_map_io();
936
937 iotable_init(viper_io_desc, ARRAY_SIZE(viper_io_desc));
938
939 PCFR |= PCFR_OPDE;
940}
941
942MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC")
943 /* Maintainer: Marc Zyngier <maz@misterjones.org> */
944 .phys_io = 0x40000000,
945 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
946 .boot_params = 0xa0000100,
947 .map_io = viper_map_io,
948 .init_irq = viper_init_irq,
949 .timer = &pxa_timer,
950 .init_machine = viper_init,
951MACHINE_END
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c
index 095f5c648236..1f4d7c052c22 100644
--- a/arch/arm/mach-pxa/zylonite_pxa300.c
+++ b/arch/arm/mach-pxa/zylonite_pxa300.c
@@ -73,6 +73,12 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = {
73 GPIO27_AC97_SDATA_OUT, 73 GPIO27_AC97_SDATA_OUT,
74 GPIO28_AC97_SYNC, 74 GPIO28_AC97_SYNC,
75 75
76 /* SSP3 */
77 GPIO91_SSP3_SCLK,
78 GPIO92_SSP3_FRM,
79 GPIO93_SSP3_TXD,
80 GPIO94_SSP3_RXD,
81
76 /* WM9713 IRQ */ 82 /* WM9713 IRQ */
77 GPIO26_GPIO, 83 GPIO26_GPIO,
78 84
@@ -209,7 +215,7 @@ static struct pca953x_platform_data gpio_exp[] = {
209 }, 215 },
210}; 216};
211 217
212struct i2c_board_info zylonite_i2c_board_info[] = { 218static struct i2c_board_info zylonite_i2c_board_info[] = {
213 { 219 {
214 .type = "pca9539", 220 .type = "pca9539",
215 .addr = 0x74, 221 .addr = 0x74,
diff --git a/arch/arm/mach-pxa/zylonite_pxa320.c b/arch/arm/mach-pxa/zylonite_pxa320.c
index 9879d7da2df5..755e87fa8ab9 100644
--- a/arch/arm/mach-pxa/zylonite_pxa320.c
+++ b/arch/arm/mach-pxa/zylonite_pxa320.c
@@ -69,6 +69,12 @@ static mfp_cfg_t mfp_cfg[] __initdata = {
69 GPIO39_AC97_BITCLK, 69 GPIO39_AC97_BITCLK,
70 GPIO40_AC97_nACRESET, 70 GPIO40_AC97_nACRESET,
71 71
72 /* SSP3 */
73 GPIO89_SSP3_SCLK,
74 GPIO90_SSP3_FRM,
75 GPIO91_SSP3_TXD,
76 GPIO92_SSP3_RXD,
77
72 /* WM9713 IRQ */ 78 /* WM9713 IRQ */
73 GPIO15_GPIO, 79 GPIO15_GPIO,
74 80
diff --git a/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h b/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
index 7dd458363a51..6026d091a2fe 100644
--- a/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
+++ b/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
@@ -48,11 +48,11 @@
48#define S3C2443_CLKSRC_I2S_EPLLREF3 (3<<14) 48#define S3C2443_CLKSRC_I2S_EPLLREF3 (3<<14)
49#define S3C2443_CLKSRC_I2S_MASK (3<<14) 49#define S3C2443_CLKSRC_I2S_MASK (3<<14)
50 50
51#define S3C2443_CLKSRC_EPLLREF_XTAL (2<<8) 51#define S3C2443_CLKSRC_EPLLREF_XTAL (2<<7)
52#define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<8) 52#define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<7)
53#define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<8) 53#define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<7)
54#define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<8) 54#define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<7)
55#define S3C2443_CLKSRC_EPLLREF_MASK (3<<8) 55#define S3C2443_CLKSRC_EPLLREF_MASK (3<<7)
56 56
57#define S3C2443_CLKSRC_ESYSCLK_EPLL (1<<6) 57#define S3C2443_CLKSRC_ESYSCLK_EPLL (1<<6)
58#define S3C2443_CLKSRC_MSYSCLK_MPLL (1<<4) 58#define S3C2443_CLKSRC_MSYSCLK_MPLL (1<<4)
diff --git a/arch/arm/mach-s3c2410/nor-simtec.c b/arch/arm/mach-s3c2410/nor-simtec.c
index b2ae237042a5..598d130633dc 100644
--- a/arch/arm/mach-s3c2410/nor-simtec.c
+++ b/arch/arm/mach-s3c2410/nor-simtec.c
@@ -30,6 +30,7 @@
30#include <mach/bast-map.h> 30#include <mach/bast-map.h>
31#include <mach/bast-cpld.h> 31#include <mach/bast-cpld.h>
32 32
33#include "nor-simtec.h"
33 34
34static void simtec_nor_vpp(struct map_info *map, int vpp) 35static void simtec_nor_vpp(struct map_info *map, int vpp)
35{ 36{
@@ -50,7 +51,7 @@ static void simtec_nor_vpp(struct map_info *map, int vpp)
50 local_irq_restore(flags); 51 local_irq_restore(flags);
51} 52}
52 53
53struct physmap_flash_data simtec_nor_pdata = { 54static struct physmap_flash_data simtec_nor_pdata = {
54 .width = 2, 55 .width = 2,
55 .set_vpp = simtec_nor_vpp, 56 .set_vpp = simtec_nor_vpp,
56 .nr_parts = 0, 57 .nr_parts = 0,
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c
index 4c061d29463c..ad980a1690c2 100644
--- a/arch/arm/mach-s3c2412/mach-jive.c
+++ b/arch/arm/mach-s3c2412/mach-jive.c
@@ -395,7 +395,7 @@ static void jive_lcd_spi_chipselect(struct s3c2410_spigpio_info *spi, int cs)
395} 395}
396 396
397static struct s3c2410_spigpio_info jive_lcd_spi = { 397static struct s3c2410_spigpio_info jive_lcd_spi = {
398 .bus_num = 0, 398 .bus_num = 1,
399 .pin_clk = S3C2410_GPG8, 399 .pin_clk = S3C2410_GPG8,
400 .pin_mosi = S3C2410_GPB8, 400 .pin_mosi = S3C2410_GPB8,
401 .chip_select = jive_lcd_spi_chipselect, 401 .chip_select = jive_lcd_spi_chipselect,
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 25d9a11eb617..a713e40e1f1a 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -211,6 +211,12 @@ static struct mem_type mem_types[] = {
211 PMD_SECT_TEX(1), 211 PMD_SECT_TEX(1),
212 .domain = DOMAIN_IO, 212 .domain = DOMAIN_IO,
213 }, 213 },
214 [MT_DEVICE_WC] = { /* ioremap_wc */
215 .prot_pte = PROT_PTE_DEVICE,
216 .prot_l1 = PMD_TYPE_TABLE,
217 .prot_sect = PROT_SECT_DEVICE,
218 .domain = DOMAIN_IO,
219 },
214 [MT_CACHECLEAN] = { 220 [MT_CACHECLEAN] = {
215 .prot_sect = PMD_TYPE_SECT | PMD_SECT_XN, 221 .prot_sect = PMD_TYPE_SECT | PMD_SECT_XN,
216 .domain = DOMAIN_KERNEL, 222 .domain = DOMAIN_KERNEL,
@@ -273,6 +279,20 @@ static void __init build_mem_type_table(void)
273 } 279 }
274 280
275 /* 281 /*
282 * On non-Xscale3 ARMv5-and-older systems, use CB=01
283 * (Uncached/Buffered) for ioremap_wc() mappings. On XScale3
284 * and ARMv6+, use TEXCB=00100 mappings (Inner/Outer Uncacheable
285 * in xsc3 parlance, Uncached Normal in ARMv6 parlance).
286 */
287 if (cpu_is_xsc3() || cpu_arch >= CPU_ARCH_ARMv6) {
288 mem_types[MT_DEVICE_WC].prot_pte_ext |= PTE_EXT_TEX(1);
289 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1);
290 } else {
291 mem_types[MT_DEVICE_WC].prot_pte |= L_PTE_BUFFERABLE;
292 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_BUFFERABLE;
293 }
294
295 /*
276 * ARMv5 and lower, bit 4 must be set for page tables. 296 * ARMv5 and lower, bit 4 must be set for page tables.
277 * (was: cache "update-able on write" bit on ARM610) 297 * (was: cache "update-able on write" bit on ARM610)
278 * However, Xscale cores require this bit to be cleared. 298 * However, Xscale cores require this bit to be cleared.
diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c
index 2f8627218839..0a38f0b396eb 100644
--- a/arch/arm/plat-mxc/clock.c
+++ b/arch/arm/plat-mxc/clock.c
@@ -37,7 +37,6 @@
37#include <linux/proc_fs.h> 37#include <linux/proc_fs.h>
38#include <linux/semaphore.h> 38#include <linux/semaphore.h>
39#include <linux/string.h> 39#include <linux/string.h>
40#include <linux/version.h>
41 40
42#include <mach/clock.h> 41#include <mach/clock.h>
43 42
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 3e76ee2bc731..9e1341ebc14e 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1488,7 +1488,7 @@ static int __init _omap_gpio_init(void)
1488 bank->chip.set = gpio_set; 1488 bank->chip.set = gpio_set;
1489 if (bank_is_mpuio(bank)) { 1489 if (bank_is_mpuio(bank)) {
1490 bank->chip.label = "mpuio"; 1490 bank->chip.label = "mpuio";
1491#ifdef CONFIG_ARCH_OMAP1 1491#ifdef CONFIG_ARCH_OMAP16XX
1492 bank->chip.dev = &omap_mpuio_device.dev; 1492 bank->chip.dev = &omap_mpuio_device.dev;
1493#endif 1493#endif
1494 bank->chip.base = OMAP_MPUIO(0); 1494 bank->chip.base = OMAP_MPUIO(0);
diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/mach/mcbsp.h
index 6eb44a92871d..8fdb95e26fcd 100644
--- a/arch/arm/plat-omap/include/mach/mcbsp.h
+++ b/arch/arm/plat-omap/include/mach/mcbsp.h
@@ -315,6 +315,7 @@ struct omap_mcbsp_ops {
315}; 315};
316 316
317struct omap_mcbsp_platform_data { 317struct omap_mcbsp_platform_data {
318 unsigned long phys_base;
318 u32 virt_base; 319 u32 virt_base;
319 u8 dma_rx_sync, dma_tx_sync; 320 u8 dma_rx_sync, dma_tx_sync;
320 u16 rx_irq, tx_irq; 321 u16 rx_irq, tx_irq;
@@ -324,6 +325,7 @@ struct omap_mcbsp_platform_data {
324 325
325struct omap_mcbsp { 326struct omap_mcbsp {
326 struct device *dev; 327 struct device *dev;
328 unsigned long phys_base;
327 u32 io_base; 329 u32 io_base;
328 u8 id; 330 u8 id;
329 u8 free; 331 u8 free;
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index d0844050f2d2..014d26574bb6 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -651,7 +651,7 @@ int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer,
651 omap_set_dma_dest_params(mcbsp[id].dma_tx_lch, 651 omap_set_dma_dest_params(mcbsp[id].dma_tx_lch,
652 src_port, 652 src_port,
653 OMAP_DMA_AMODE_CONSTANT, 653 OMAP_DMA_AMODE_CONSTANT,
654 mcbsp[id].io_base + OMAP_MCBSP_REG_DXR1, 654 mcbsp[id].phys_base + OMAP_MCBSP_REG_DXR1,
655 0, 0); 655 0, 0);
656 656
657 omap_set_dma_src_params(mcbsp[id].dma_tx_lch, 657 omap_set_dma_src_params(mcbsp[id].dma_tx_lch,
@@ -712,7 +712,7 @@ int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
712 omap_set_dma_src_params(mcbsp[id].dma_rx_lch, 712 omap_set_dma_src_params(mcbsp[id].dma_rx_lch,
713 src_port, 713 src_port,
714 OMAP_DMA_AMODE_CONSTANT, 714 OMAP_DMA_AMODE_CONSTANT,
715 mcbsp[id].io_base + OMAP_MCBSP_REG_DRR1, 715 mcbsp[id].phys_base + OMAP_MCBSP_REG_DRR1,
716 0, 0); 716 0, 0);
717 717
718 omap_set_dma_dest_params(mcbsp[id].dma_rx_lch, 718 omap_set_dma_dest_params(mcbsp[id].dma_rx_lch,
@@ -830,6 +830,7 @@ static int __init omap_mcbsp_probe(struct platform_device *pdev)
830 mcbsp[id].dma_tx_lch = -1; 830 mcbsp[id].dma_tx_lch = -1;
831 mcbsp[id].dma_rx_lch = -1; 831 mcbsp[id].dma_rx_lch = -1;
832 832
833 mcbsp[id].phys_base = pdata->phys_base;
833 mcbsp[id].io_base = pdata->virt_base; 834 mcbsp[id].io_base = pdata->virt_base;
834 /* Default I/O is IRQ based */ 835 /* Default I/O is IRQ based */
835 mcbsp[id].io_type = OMAP_MCBSP_IRQ_IO; 836 mcbsp[id].io_type = OMAP_MCBSP_IRQ_IO;
diff --git a/arch/arm/plat-s3c24xx/gpiolib.c b/arch/arm/plat-s3c24xx/gpiolib.c
index 849f8469714a..3caec6bad3eb 100644
--- a/arch/arm/plat-s3c24xx/gpiolib.c
+++ b/arch/arm/plat-s3c24xx/gpiolib.c
@@ -39,7 +39,7 @@ static inline struct s3c24xx_gpio_chip *to_s3c_chip(struct gpio_chip *gpc)
39 * drivers themsevles. 39 * drivers themsevles.
40 */ 40 */
41 41
42int s3c24xx_gpiolib_input(struct gpio_chip *chip, unsigned offset) 42static int s3c24xx_gpiolib_input(struct gpio_chip *chip, unsigned offset)
43{ 43{
44 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip); 44 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip);
45 void __iomem *base = ourchip->base; 45 void __iomem *base = ourchip->base;
@@ -58,7 +58,7 @@ int s3c24xx_gpiolib_input(struct gpio_chip *chip, unsigned offset)
58 return 0; 58 return 0;
59} 59}
60 60
61int s3c24xx_gpiolib_output(struct gpio_chip *chip, 61static int s3c24xx_gpiolib_output(struct gpio_chip *chip,
62 unsigned offset, int value) 62 unsigned offset, int value)
63{ 63{
64 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip); 64 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip);
@@ -86,7 +86,8 @@ int s3c24xx_gpiolib_output(struct gpio_chip *chip,
86 return 0; 86 return 0;
87} 87}
88 88
89void s3c24xx_gpiolib_set(struct gpio_chip *chip, unsigned offset, int value) 89static void s3c24xx_gpiolib_set(struct gpio_chip *chip,
90 unsigned offset, int value)
90{ 91{
91 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip); 92 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip);
92 void __iomem *base = ourchip->base; 93 void __iomem *base = ourchip->base;
@@ -104,7 +105,7 @@ void s3c24xx_gpiolib_set(struct gpio_chip *chip, unsigned offset, int value)
104 local_irq_restore(flags); 105 local_irq_restore(flags);
105} 106}
106 107
107int s3c24xx_gpiolib_get(struct gpio_chip *chip, unsigned offset) 108static int s3c24xx_gpiolib_get(struct gpio_chip *chip, unsigned offset)
108{ 109{
109 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip); 110 struct s3c24xx_gpio_chip *ourchip = to_s3c_chip(chip);
110 unsigned long val; 111 unsigned long val;
@@ -150,8 +151,7 @@ static int s3c24xx_gpiolib_banka_output(struct gpio_chip *chip,
150 return 0; 151 return 0;
151} 152}
152 153
153 154static struct s3c24xx_gpio_chip gpios[] = {
154struct s3c24xx_gpio_chip gpios[] = {
155 [0] = { 155 [0] = {
156 .base = S3C24XX_GPIO_BASE(S3C2410_GPA0), 156 .base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
157 .chip = { 157 .chip = {
diff --git a/arch/arm/plat-s3c24xx/pwm-clock.c b/arch/arm/plat-s3c24xx/pwm-clock.c
index ccfdc9d7ae4b..306cc9c6f9ef 100644
--- a/arch/arm/plat-s3c24xx/pwm-clock.c
+++ b/arch/arm/plat-s3c24xx/pwm-clock.c
@@ -89,7 +89,7 @@ static unsigned long clk_pwm_scaler_getrate(struct clk *clk)
89 89
90/* TODO - add set rate calls. */ 90/* TODO - add set rate calls. */
91 91
92struct clk clk_timer_scaler[] = { 92static struct clk clk_timer_scaler[] = {
93 [0] = { 93 [0] = {
94 .name = "pwm-scaler0", 94 .name = "pwm-scaler0",
95 .id = -1, 95 .id = -1,
@@ -102,7 +102,7 @@ struct clk clk_timer_scaler[] = {
102 }, 102 },
103}; 103};
104 104
105struct clk clk_timer_tclk[] = { 105static struct clk clk_timer_tclk[] = {
106 [0] = { 106 [0] = {
107 .name = "pwm-tclk0", 107 .name = "pwm-tclk0",
108 .id = -1, 108 .id = -1,
@@ -232,7 +232,7 @@ static int clk_pwm_tdiv_set_rate(struct clk *clk, unsigned long rate)
232 return 0; 232 return 0;
233} 233}
234 234
235struct pwm_tdiv_clk clk_timer_tdiv[] = { 235static struct pwm_tdiv_clk clk_timer_tdiv[] = {
236 [0] = { 236 [0] = {
237 .clk = { 237 .clk = {
238 .name = "pwm-tdiv", 238 .name = "pwm-tdiv",
diff --git a/arch/arm/plat-s3c24xx/pwm.c b/arch/arm/plat-s3c24xx/pwm.c
index 18c4bdc49a05..7a92c938542a 100644
--- a/arch/arm/plat-s3c24xx/pwm.c
+++ b/arch/arm/plat-s3c24xx/pwm.c
@@ -19,6 +19,7 @@
19#include <linux/io.h> 19#include <linux/io.h>
20#include <linux/pwm.h> 20#include <linux/pwm.h>
21 21
22#include <asm/plat-s3c24xx/devs.h>
22#include <asm/plat-s3c/regs-timer.h> 23#include <asm/plat-s3c/regs-timer.h>
23 24
24struct pwm_device { 25struct pwm_device {
@@ -38,7 +39,7 @@ struct pwm_device {
38 unsigned char pwm_id; 39 unsigned char pwm_id;
39}; 40};
40 41
41#define pwm_dbg(_pwm, msg...) dev_info(&(_pwm)->pdev->dev, msg) 42#define pwm_dbg(_pwm, msg...) dev_dbg(&(_pwm)->pdev->dev, msg)
42 43
43static struct clk *clk_scaler[2]; 44static struct clk *clk_scaler[2];
44 45
@@ -168,7 +169,7 @@ void pwm_disable(struct pwm_device *pwm)
168 169
169EXPORT_SYMBOL(pwm_disable); 170EXPORT_SYMBOL(pwm_disable);
170 171
171unsigned long pwm_calc_tin(struct pwm_device *pwm, unsigned long freq) 172static unsigned long pwm_calc_tin(struct pwm_device *pwm, unsigned long freq)
172{ 173{
173 unsigned long tin_parent_rate; 174 unsigned long tin_parent_rate;
174 unsigned int div; 175 unsigned int div;
diff --git a/arch/avr32/kernel/asm-offsets.c b/arch/avr32/kernel/asm-offsets.c
index e4796c67a831..d6a8193a1d2f 100644
--- a/arch/avr32/kernel/asm-offsets.c
+++ b/arch/avr32/kernel/asm-offsets.c
@@ -4,6 +4,8 @@
4 * to extract and format the required data. 4 * to extract and format the required data.
5 */ 5 */
6 6
7#include <linux/mm.h>
8#include <linux/sched.h>
7#include <linux/thread_info.h> 9#include <linux/thread_info.h>
8#include <linux/kbuild.h> 10#include <linux/kbuild.h>
9 11
@@ -17,4 +19,8 @@ void foo(void)
17 OFFSET(TI_rar_saved, thread_info, rar_saved); 19 OFFSET(TI_rar_saved, thread_info, rar_saved);
18 OFFSET(TI_rsr_saved, thread_info, rsr_saved); 20 OFFSET(TI_rsr_saved, thread_info, rsr_saved);
19 OFFSET(TI_restart_block, thread_info, restart_block); 21 OFFSET(TI_restart_block, thread_info, restart_block);
22 BLANK();
23 OFFSET(TSK_active_mm, task_struct, active_mm);
24 BLANK();
25 OFFSET(MM_pgd, mm_struct, pgd);
20} 26}
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S
index 2b398cae110c..33d49377b8be 100644
--- a/arch/avr32/kernel/entry-avr32b.S
+++ b/arch/avr32/kernel/entry-avr32b.S
@@ -334,9 +334,64 @@ save_full_context_ex:
334 334
335 /* Low-level exception handlers */ 335 /* Low-level exception handlers */
336handle_critical: 336handle_critical:
337 /*
338 * AT32AP700x errata:
339 *
340 * After a Java stack overflow or underflow trap, any CPU
341 * memory access may cause erratic behavior. This will happen
342 * when the four least significant bits of the JOSP system
343 * register contains any value between 9 and 15 (inclusive).
344 *
345 * Possible workarounds:
346 * - Don't use the Java Extension Module
347 * - Ensure that the stack overflow and underflow trap
348 * handlers do not do any memory access or trigger any
349 * exceptions before the overflow/underflow condition is
350 * cleared (by incrementing or decrementing the JOSP)
351 * - Make sure that JOSP does not contain any problematic
352 * value before doing any exception or interrupt
353 * processing.
354 * - Set up a critical exception handler which writes a
355 * known-to-be-safe value, e.g. 4, to JOSP before doing
356 * any further processing.
357 *
358 * We'll use the last workaround for now since we cannot
359 * guarantee that user space processes don't use Java mode.
360 * Non-well-behaving userland will be terminated with extreme
361 * prejudice.
362 */
363#ifdef CONFIG_CPU_AT32AP700X
364 /*
365 * There's a chance we can't touch memory, so temporarily
366 * borrow PTBR to save the stack pointer while we fix things
367 * up...
368 */
369 mtsr SYSREG_PTBR, sp
370 mov sp, 4
371 mtsr SYSREG_JOSP, sp
372 mfsr sp, SYSREG_PTBR
373 sub pc, -2
374
375 /* Push most of pt_regs on stack. We'll do the rest later */
337 sub sp, 4 376 sub sp, 4
338 stmts --sp, r0-lr 377 pushm r0-r12
339 rcall save_full_context_ex 378
379 /* PTBR mirrors current_thread_info()->task->active_mm->pgd */
380 get_thread_info r0
381 ld.w r1, r0[TI_task]
382 ld.w r2, r1[TSK_active_mm]
383 ld.w r3, r2[MM_pgd]
384 mtsr SYSREG_PTBR, r3
385#else
386 sub sp, 4
387 pushm r0-r12
388#endif
389 sub r0, sp, -(14 * 4)
390 mov r1, lr
391 mfsr r2, SYSREG_RAR_EX
392 mfsr r3, SYSREG_RSR_EX
393 pushm r0-r3
394
340 mfsr r12, SYSREG_ECR 395 mfsr r12, SYSREG_ECR
341 mov r11, sp 396 mov r11, sp
342 rcall do_critical_exception 397 rcall do_critical_exception
diff --git a/arch/avr32/mach-at32ap/pm-at32ap700x.S b/arch/avr32/mach-at32ap/pm-at32ap700x.S
index 5be4de65b209..17503b0ed6c9 100644
--- a/arch/avr32/mach-at32ap/pm-at32ap700x.S
+++ b/arch/avr32/mach-at32ap/pm-at32ap700x.S
@@ -134,7 +134,7 @@ pm_standby:
134 mov r11, SDRAMC_LPR_LPCB_SELF_RFR 134 mov r11, SDRAMC_LPR_LPCB_SELF_RFR
135 bfins r10, r11, 0, 2 /* LPCB <- self Refresh */ 135 bfins r10, r11, 0, 2 /* LPCB <- self Refresh */
136 sync 0 /* flush write buffer */ 136 sync 0 /* flush write buffer */
137 st.w r12[SDRAMC_LPR], r11 /* put SDRAM in self-refresh mode */ 137 st.w r12[SDRAMC_LPR], r10 /* put SDRAM in self-refresh mode */
138 ld.w r11, r12[SDRAMC_LPR] 138 ld.w r11, r12[SDRAMC_LPR]
139 unmask_interrupts 139 unmask_interrupts
140 sleep CPU_SLEEP_FROZEN 140 sleep CPU_SLEEP_FROZEN
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index f64d25973a37..4154ff1101fa 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -855,6 +855,7 @@ menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
855 855
856config PCI 856config PCI
857 bool "PCI support" 857 bool "PCI support"
858 depends on BROKEN
858 help 859 help
859 Support for PCI bus. 860 Support for PCI bus.
860 861
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile
index 9564731ad3a8..eac0533d6e4f 100644
--- a/arch/blackfin/Makefile
+++ b/arch/blackfin/Makefile
@@ -98,36 +98,20 @@ libs-y += arch/$(ARCH)/lib/
98 98
99drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/ 99drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/
100 100
101machdirs := $(patsubst %,arch/blackfin/mach-%/, $(machine-y))
101 102
103KBUILD_CFLAGS += -Iarch/$(ARCH)/include/
104KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include
102 105
103# Update machine arch symlinks if something which affects 106KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
104# them changed. We use .mach to indicate when they were updated
105# last, otherwise make uses the target directory mtime.
106
107 show_mach_symlink = :
108 quiet_show_mach_symlink = echo ' SYMLINK include/asm-$(ARCH)/mach-$(MACHINE) -> include/asm-$(ARCH)/mach'
109silent_show_mach_symlink = :
110include/asm-blackfin/.mach: $(wildcard include/config/arch/*.h) include/config/auto.conf
111 @$($(quiet)show_mach_symlink)
112ifneq ($(KBUILD_SRC),)
113 $(Q)mkdir -p include/asm-$(ARCH)
114 $(Q)ln -fsn $(srctree)/include/asm-$(ARCH)/mach-$(MACHINE) include/asm-$(ARCH)/mach
115else
116 $(Q)ln -fsn mach-$(MACHINE) include/asm-$(ARCH)/mach
117endif
118 @touch $@
119 107
120CLEAN_FILES += \ 108CLEAN_FILES += \
121 include/asm-$(ARCH)/asm-offsets.h \ 109 arch/$(ARCH)/include/asm/asm-offsets.h \
122 arch/$(ARCH)/kernel/asm-offsets.s \ 110 arch/$(ARCH)/kernel/asm-offsets.s \
123 include/asm-$(ARCH)/mach \
124 include/asm-$(ARCH)/.mach
125 111
126archprepare: include/asm-blackfin/.mach
127archclean: 112archclean:
128 $(Q)$(MAKE) $(clean)=$(boot) 113 $(Q)$(MAKE) $(clean)=$(boot)
129 114
130
131INSTALL_PATH ?= /tftpboot 115INSTALL_PATH ?= /tftpboot
132boot := arch/$(ARCH)/boot 116boot := arch/$(ARCH)/boot
133BOOT_TARGETS = vmImage 117BOOT_TARGETS = vmImage
diff --git a/include/asm-blackfin/.gitignore b/arch/blackfin/include/asm/.gitignore
index 7858564a4466..7858564a4466 100644
--- a/include/asm-blackfin/.gitignore
+++ b/arch/blackfin/include/asm/.gitignore
diff --git a/include/asm-blackfin/Kbuild b/arch/blackfin/include/asm/Kbuild
index 606ecfdcc962..606ecfdcc962 100644
--- a/include/asm-blackfin/Kbuild
+++ b/arch/blackfin/include/asm/Kbuild
diff --git a/include/asm-blackfin/a.out.h b/arch/blackfin/include/asm/a.out.h
index 6c3d652ebd33..6c3d652ebd33 100644
--- a/include/asm-blackfin/a.out.h
+++ b/arch/blackfin/include/asm/a.out.h
diff --git a/include/asm-blackfin/atomic.h b/arch/blackfin/include/asm/atomic.h
index 7cf508718605..7cf508718605 100644
--- a/include/asm-blackfin/atomic.h
+++ b/arch/blackfin/include/asm/atomic.h
diff --git a/include/asm-blackfin/auxvec.h b/arch/blackfin/include/asm/auxvec.h
index 215506cd87b7..215506cd87b7 100644
--- a/include/asm-blackfin/auxvec.h
+++ b/arch/blackfin/include/asm/auxvec.h
diff --git a/include/asm-blackfin/bfin-global.h b/arch/blackfin/include/asm/bfin-global.h
index 7ba70de66f2b..7ba70de66f2b 100644
--- a/include/asm-blackfin/bfin-global.h
+++ b/arch/blackfin/include/asm/bfin-global.h
diff --git a/include/asm-blackfin/bfin5xx_spi.h b/arch/blackfin/include/asm/bfin5xx_spi.h
index 9fa19158e38d..9fa19158e38d 100644
--- a/include/asm-blackfin/bfin5xx_spi.h
+++ b/arch/blackfin/include/asm/bfin5xx_spi.h
diff --git a/include/asm-blackfin/bfin_simple_timer.h b/arch/blackfin/include/asm/bfin_simple_timer.h
index fccbb595464a..fccbb595464a 100644
--- a/include/asm-blackfin/bfin_simple_timer.h
+++ b/arch/blackfin/include/asm/bfin_simple_timer.h
diff --git a/include/asm-blackfin/bfin_sport.h b/arch/blackfin/include/asm/bfin_sport.h
index c76ed8def302..c76ed8def302 100644
--- a/include/asm-blackfin/bfin_sport.h
+++ b/arch/blackfin/include/asm/bfin_sport.h
diff --git a/include/asm-blackfin/bitops.h b/arch/blackfin/include/asm/bitops.h
index b39a175c79c1..b39a175c79c1 100644
--- a/include/asm-blackfin/bitops.h
+++ b/arch/blackfin/include/asm/bitops.h
diff --git a/include/asm-blackfin/blackfin.h b/arch/blackfin/include/asm/blackfin.h
index 984b74f0a2ec..8749b0e321ab 100644
--- a/include/asm-blackfin/blackfin.h
+++ b/arch/blackfin/include/asm/blackfin.h
@@ -11,7 +11,7 @@
11#define HI(con32) (((con32) >> 16) & 0xFFFF) 11#define HI(con32) (((con32) >> 16) & 0xFFFF)
12#define hi(con32) (((con32) >> 16) & 0xFFFF) 12#define hi(con32) (((con32) >> 16) & 0xFFFF)
13 13
14#include <asm/mach/anomaly.h> 14#include <mach/anomaly.h>
15 15
16#ifndef __ASSEMBLY__ 16#ifndef __ASSEMBLY__
17 17
@@ -86,7 +86,7 @@ static inline void CSYNC(void)
86 86
87#endif /* __ASSEMBLY__ */ 87#endif /* __ASSEMBLY__ */
88 88
89#include <asm/mach/blackfin.h> 89#include <mach/blackfin.h>
90#include <asm/bfin-global.h> 90#include <asm/bfin-global.h>
91 91
92#endif /* _BLACKFIN_H_ */ 92#endif /* _BLACKFIN_H_ */
diff --git a/include/asm-blackfin/bug.h b/arch/blackfin/include/asm/bug.h
index 6d3e11b1fc57..6d3e11b1fc57 100644
--- a/include/asm-blackfin/bug.h
+++ b/arch/blackfin/include/asm/bug.h
diff --git a/include/asm-blackfin/bugs.h b/arch/blackfin/include/asm/bugs.h
index 9093c9c1fb81..9093c9c1fb81 100644
--- a/include/asm-blackfin/bugs.h
+++ b/arch/blackfin/include/asm/bugs.h
diff --git a/include/asm-blackfin/byteorder.h b/arch/blackfin/include/asm/byteorder.h
index 6a673d42da18..6a673d42da18 100644
--- a/include/asm-blackfin/byteorder.h
+++ b/arch/blackfin/include/asm/byteorder.h
diff --git a/include/asm-blackfin/cache.h b/arch/blackfin/include/asm/cache.h
index 023d72133b5a..023d72133b5a 100644
--- a/include/asm-blackfin/cache.h
+++ b/arch/blackfin/include/asm/cache.h
diff --git a/include/asm-blackfin/cacheflush.h b/arch/blackfin/include/asm/cacheflush.h
index d81a77545a04..d81a77545a04 100644
--- a/include/asm-blackfin/cacheflush.h
+++ b/arch/blackfin/include/asm/cacheflush.h
diff --git a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h b/arch/blackfin/include/asm/cdef_LPBlackfin.h
index d39c396f850d..35f841bce57d 100644
--- a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h
+++ b/arch/blackfin/include/asm/cdef_LPBlackfin.h
@@ -33,7 +33,7 @@
33#warning cdef_LPBlackfin.h should only be included for 532 compatible chips. 33#warning cdef_LPBlackfin.h should only be included for 532 compatible chips.
34#endif 34#endif
35*/ 35*/
36#include <asm/mach-common/def_LPBlackfin.h> 36#include <asm/def_LPBlackfin.h>
37 37
38/*Cache & SRAM Memory*/ 38/*Cache & SRAM Memory*/
39#define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS) 39#define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS)
diff --git a/include/asm-blackfin/checksum.h b/arch/blackfin/include/asm/checksum.h
index 6f6af2b8e9e0..6f6af2b8e9e0 100644
--- a/include/asm-blackfin/checksum.h
+++ b/arch/blackfin/include/asm/checksum.h
diff --git a/include/asm-blackfin/mach-common/clocks.h b/arch/blackfin/include/asm/clocks.h
index 033bba92d61c..033bba92d61c 100644
--- a/include/asm-blackfin/mach-common/clocks.h
+++ b/arch/blackfin/include/asm/clocks.h
diff --git a/include/asm-blackfin/mach-common/context.S b/arch/blackfin/include/asm/context.S
index c0e630edfb9a..c0e630edfb9a 100644
--- a/include/asm-blackfin/mach-common/context.S
+++ b/arch/blackfin/include/asm/context.S
diff --git a/include/asm-blackfin/cplb-mpu.h b/arch/blackfin/include/asm/cplb-mpu.h
index 75c67b99d607..75c67b99d607 100644
--- a/include/asm-blackfin/cplb-mpu.h
+++ b/arch/blackfin/include/asm/cplb-mpu.h
diff --git a/include/asm-blackfin/cplb.h b/arch/blackfin/include/asm/cplb.h
index 5b0da9a69b67..05d6f05fb748 100644
--- a/include/asm-blackfin/cplb.h
+++ b/arch/blackfin/include/asm/cplb.h
@@ -31,7 +31,7 @@
31#define _CPLB_H 31#define _CPLB_H
32 32
33#include <asm/blackfin.h> 33#include <asm/blackfin.h>
34#include <asm/mach/anomaly.h> 34#include <mach/anomaly.h>
35 35
36#define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) 36#define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO)
37#define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) 37#define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK)
diff --git a/include/asm-blackfin/cplbinit.h b/arch/blackfin/include/asm/cplbinit.h
index 0eb1c1b685a7..0eb1c1b685a7 100644
--- a/include/asm-blackfin/cplbinit.h
+++ b/arch/blackfin/include/asm/cplbinit.h
diff --git a/include/asm-blackfin/cpumask.h b/arch/blackfin/include/asm/cpumask.h
index b20a8e9012cb..b20a8e9012cb 100644
--- a/include/asm-blackfin/cpumask.h
+++ b/arch/blackfin/include/asm/cpumask.h
diff --git a/include/asm-blackfin/cputime.h b/arch/blackfin/include/asm/cputime.h
index 2b19705f9885..2b19705f9885 100644
--- a/include/asm-blackfin/cputime.h
+++ b/arch/blackfin/include/asm/cputime.h
diff --git a/include/asm-blackfin/current.h b/arch/blackfin/include/asm/current.h
index 31918d29122c..31918d29122c 100644
--- a/include/asm-blackfin/current.h
+++ b/arch/blackfin/include/asm/current.h
diff --git a/include/asm-blackfin/mach-common/def_LPBlackfin.h b/arch/blackfin/include/asm/def_LPBlackfin.h
index e8967f6124f7..6341eebff3dc 100644
--- a/include/asm-blackfin/mach-common/def_LPBlackfin.h
+++ b/arch/blackfin/include/asm/def_LPBlackfin.h
@@ -31,7 +31,7 @@
31#ifndef _DEF_LPBLACKFIN_H 31#ifndef _DEF_LPBLACKFIN_H
32#define _DEF_LPBLACKFIN_H 32#define _DEF_LPBLACKFIN_H
33 33
34#include <asm/mach/anomaly.h> 34#include <mach/anomaly.h>
35 35
36#define MK_BMSK_(x) (1<<x) 36#define MK_BMSK_(x) (1<<x)
37 37
diff --git a/include/asm-blackfin/delay.h b/arch/blackfin/include/asm/delay.h
index 473a8113277f..0889c3abb593 100644
--- a/include/asm-blackfin/delay.h
+++ b/arch/blackfin/include/asm/delay.h
@@ -9,7 +9,7 @@
9#ifndef __ASM_DELAY_H__ 9#ifndef __ASM_DELAY_H__
10#define __ASM_DELAY_H__ 10#define __ASM_DELAY_H__
11 11
12#include <asm/mach/anomaly.h> 12#include <mach/anomaly.h>
13 13
14static inline void __delay(unsigned long loops) 14static inline void __delay(unsigned long loops)
15{ 15{
diff --git a/include/asm-blackfin/device.h b/arch/blackfin/include/asm/device.h
index d8f9872b0e2d..d8f9872b0e2d 100644
--- a/include/asm-blackfin/device.h
+++ b/arch/blackfin/include/asm/device.h
diff --git a/include/asm-blackfin/div64.h b/arch/blackfin/include/asm/div64.h
index 6cd978cefb28..6cd978cefb28 100644
--- a/include/asm-blackfin/div64.h
+++ b/arch/blackfin/include/asm/div64.h
diff --git a/include/asm-blackfin/dma-mapping.h b/arch/blackfin/include/asm/dma-mapping.h
index 1a13c2fc3667..1a13c2fc3667 100644
--- a/include/asm-blackfin/dma-mapping.h
+++ b/arch/blackfin/include/asm/dma-mapping.h
diff --git a/include/asm-blackfin/dma.h b/arch/blackfin/include/asm/dma.h
index 3cd4b522aa3f..6509733bb0f6 100644
--- a/include/asm-blackfin/dma.h
+++ b/arch/blackfin/include/asm/dma.h
@@ -35,7 +35,7 @@
35#include <asm/signal.h> 35#include <asm/signal.h>
36 36
37#include <linux/kernel.h> 37#include <linux/kernel.h>
38#include <asm/mach/dma.h> 38#include <mach/dma.h>
39#include <linux/mm.h> 39#include <linux/mm.h>
40#include <linux/interrupt.h> 40#include <linux/interrupt.h>
41#include <asm/blackfin.h> 41#include <asm/blackfin.h>
diff --git a/include/asm-blackfin/dpmc.h b/arch/blackfin/include/asm/dpmc.h
index 96e8208f929a..96e8208f929a 100644
--- a/include/asm-blackfin/dpmc.h
+++ b/arch/blackfin/include/asm/dpmc.h
diff --git a/include/asm-blackfin/early_printk.h b/arch/blackfin/include/asm/early_printk.h
index 110f1c1f845c..110f1c1f845c 100644
--- a/include/asm-blackfin/early_printk.h
+++ b/arch/blackfin/include/asm/early_printk.h
diff --git a/include/asm-blackfin/elf.h b/arch/blackfin/include/asm/elf.h
index 67a03a8a353e..67a03a8a353e 100644
--- a/include/asm-blackfin/elf.h
+++ b/arch/blackfin/include/asm/elf.h
diff --git a/include/asm-blackfin/emergency-restart.h b/arch/blackfin/include/asm/emergency-restart.h
index 27f6c785d103..27f6c785d103 100644
--- a/include/asm-blackfin/emergency-restart.h
+++ b/arch/blackfin/include/asm/emergency-restart.h
diff --git a/include/asm-blackfin/entry.h b/arch/blackfin/include/asm/entry.h
index c4f721e0d00d..c4f721e0d00d 100644
--- a/include/asm-blackfin/entry.h
+++ b/arch/blackfin/include/asm/entry.h
diff --git a/include/asm-blackfin/errno.h b/arch/blackfin/include/asm/errno.h
index 164e4f39bb57..164e4f39bb57 100644
--- a/include/asm-blackfin/errno.h
+++ b/arch/blackfin/include/asm/errno.h
diff --git a/include/asm-blackfin/fb.h b/arch/blackfin/include/asm/fb.h
index c7df38030992..c7df38030992 100644
--- a/include/asm-blackfin/fb.h
+++ b/arch/blackfin/include/asm/fb.h
diff --git a/include/asm-blackfin/fcntl.h b/arch/blackfin/include/asm/fcntl.h
index 9c4037127857..9c4037127857 100644
--- a/include/asm-blackfin/fcntl.h
+++ b/arch/blackfin/include/asm/fcntl.h
diff --git a/include/asm-blackfin/fixed_code.h b/arch/blackfin/include/asm/fixed_code.h
index 32c4d495d847..32c4d495d847 100644
--- a/include/asm-blackfin/fixed_code.h
+++ b/arch/blackfin/include/asm/fixed_code.h
diff --git a/include/asm-blackfin/flat.h b/arch/blackfin/include/asm/flat.h
index e70074e05f4e..e70074e05f4e 100644
--- a/include/asm-blackfin/flat.h
+++ b/arch/blackfin/include/asm/flat.h
diff --git a/include/asm-blackfin/futex.h b/arch/blackfin/include/asm/futex.h
index 6a332a9f099c..6a332a9f099c 100644
--- a/include/asm-blackfin/futex.h
+++ b/arch/blackfin/include/asm/futex.h
diff --git a/include/asm-blackfin/gpio.h b/arch/blackfin/include/asm/gpio.h
index 168f1251eb4d..ad33ac271fd9 100644
--- a/include/asm-blackfin/gpio.h
+++ b/arch/blackfin/include/asm/gpio.h
@@ -224,7 +224,7 @@
224#endif 224#endif
225 225
226#ifdef BF548_FAMILY 226#ifdef BF548_FAMILY
227#include <asm-blackfin/mach-bf548/gpio.h> 227#include <mach/gpio.h>
228#endif 228#endif
229 229
230#ifdef BF561_FAMILY 230#ifdef BF561_FAMILY
diff --git a/include/asm-blackfin/gptimers.h b/arch/blackfin/include/asm/gptimers.h
index 0520d2aac8f3..0520d2aac8f3 100644
--- a/include/asm-blackfin/gptimers.h
+++ b/arch/blackfin/include/asm/gptimers.h
diff --git a/include/asm-blackfin/hardirq.h b/arch/blackfin/include/asm/hardirq.h
index b6b19f1b9dab..b6b19f1b9dab 100644
--- a/include/asm-blackfin/hardirq.h
+++ b/arch/blackfin/include/asm/hardirq.h
diff --git a/include/asm-blackfin/hw_irq.h b/arch/blackfin/include/asm/hw_irq.h
index 5b51eaec012c..5b51eaec012c 100644
--- a/include/asm-blackfin/hw_irq.h
+++ b/arch/blackfin/include/asm/hw_irq.h
diff --git a/include/asm-blackfin/io.h b/arch/blackfin/include/asm/io.h
index cbbf7ffdbbff..cbbf7ffdbbff 100644
--- a/include/asm-blackfin/io.h
+++ b/arch/blackfin/include/asm/io.h
diff --git a/include/asm-blackfin/ioctl.h b/arch/blackfin/include/asm/ioctl.h
index b279fe06dfe5..b279fe06dfe5 100644
--- a/include/asm-blackfin/ioctl.h
+++ b/arch/blackfin/include/asm/ioctl.h
diff --git a/include/asm-blackfin/ioctls.h b/arch/blackfin/include/asm/ioctls.h
index 895e3173165d..895e3173165d 100644
--- a/include/asm-blackfin/ioctls.h
+++ b/arch/blackfin/include/asm/ioctls.h
diff --git a/include/asm-blackfin/ipcbuf.h b/arch/blackfin/include/asm/ipcbuf.h
index 8f0899cdf4d2..8f0899cdf4d2 100644
--- a/include/asm-blackfin/ipcbuf.h
+++ b/arch/blackfin/include/asm/ipcbuf.h
diff --git a/include/asm-blackfin/irq.h b/arch/blackfin/include/asm/irq.h
index 86b67834354d..89f59e18af93 100644
--- a/include/asm-blackfin/irq.h
+++ b/arch/blackfin/include/asm/irq.h
@@ -17,7 +17,7 @@
17#ifndef _BFIN_IRQ_H_ 17#ifndef _BFIN_IRQ_H_
18#define _BFIN_IRQ_H_ 18#define _BFIN_IRQ_H_
19 19
20#include <asm/mach/irq.h> 20#include <mach/irq.h>
21#include <asm/ptrace.h> 21#include <asm/ptrace.h>
22 22
23/******************************************************************************* 23/*******************************************************************************
@@ -34,7 +34,7 @@
34 * interrupts apart (just the TX/RX for the various devices) 34 * interrupts apart (just the TX/RX for the various devices)
35 *******************************************************************************/ 35 *******************************************************************************/
36 36
37/* SYS_IRQS and NR_IRQS are defined in <asm/mach-bf5xx/irq.h>*/ 37/* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h>*/
38 38
39/* 39/*
40 * Machine specific interrupt sources. 40 * Machine specific interrupt sources.
diff --git a/include/asm-blackfin/irq_handler.h b/arch/blackfin/include/asm/irq_handler.h
index 139b5208f9d8..139b5208f9d8 100644
--- a/include/asm-blackfin/irq_handler.h
+++ b/arch/blackfin/include/asm/irq_handler.h
diff --git a/include/asm-blackfin/irq_regs.h b/arch/blackfin/include/asm/irq_regs.h
index 3dd9c0b70270..3dd9c0b70270 100644
--- a/include/asm-blackfin/irq_regs.h
+++ b/arch/blackfin/include/asm/irq_regs.h
diff --git a/include/asm-blackfin/kdebug.h b/arch/blackfin/include/asm/kdebug.h
index 6ece1b037665..6ece1b037665 100644
--- a/include/asm-blackfin/kdebug.h
+++ b/arch/blackfin/include/asm/kdebug.h
diff --git a/include/asm-blackfin/kgdb.h b/arch/blackfin/include/asm/kgdb.h
index 0f73847fd6bc..0f73847fd6bc 100644
--- a/include/asm-blackfin/kgdb.h
+++ b/arch/blackfin/include/asm/kgdb.h
diff --git a/include/asm-blackfin/kmap_types.h b/arch/blackfin/include/asm/kmap_types.h
index e215f7104974..e215f7104974 100644
--- a/include/asm-blackfin/kmap_types.h
+++ b/arch/blackfin/include/asm/kmap_types.h
diff --git a/include/asm-blackfin/l1layout.h b/arch/blackfin/include/asm/l1layout.h
index c13ded777828..c13ded777828 100644
--- a/include/asm-blackfin/l1layout.h
+++ b/arch/blackfin/include/asm/l1layout.h
diff --git a/include/asm-blackfin/linkage.h b/arch/blackfin/include/asm/linkage.h
index 5a822bb790f7..5a822bb790f7 100644
--- a/include/asm-blackfin/linkage.h
+++ b/arch/blackfin/include/asm/linkage.h
diff --git a/include/asm-blackfin/local.h b/arch/blackfin/include/asm/local.h
index 75afffbc6421..75afffbc6421 100644
--- a/include/asm-blackfin/local.h
+++ b/arch/blackfin/include/asm/local.h
diff --git a/include/asm-blackfin/mem_map.h b/arch/blackfin/include/asm/mem_map.h
index 42d1f37f6d9c..88d04a707708 100644
--- a/include/asm-blackfin/mem_map.h
+++ b/arch/blackfin/include/asm/mem_map.h
@@ -7,6 +7,6 @@
7#ifndef _MEM_MAP_H_ 7#ifndef _MEM_MAP_H_
8#define _MEM_MAP_H_ 8#define _MEM_MAP_H_
9 9
10#include <asm/mach/mem_map.h> 10#include <mach/mem_map.h>
11 11
12#endif /* _MEM_MAP_H_ */ 12#endif /* _MEM_MAP_H_ */
diff --git a/include/asm-blackfin/mman.h b/arch/blackfin/include/asm/mman.h
index b58f5ad3f024..b58f5ad3f024 100644
--- a/include/asm-blackfin/mman.h
+++ b/arch/blackfin/include/asm/mman.h
diff --git a/include/asm-blackfin/mmu.h b/arch/blackfin/include/asm/mmu.h
index 757e43906ed4..757e43906ed4 100644
--- a/include/asm-blackfin/mmu.h
+++ b/arch/blackfin/include/asm/mmu.h
diff --git a/include/asm-blackfin/mmu_context.h b/arch/blackfin/include/asm/mmu_context.h
index f55ec3c23a92..8529552a981f 100644
--- a/include/asm-blackfin/mmu_context.h
+++ b/arch/blackfin/include/asm/mmu_context.h
@@ -173,8 +173,10 @@ static inline void protect_page(struct mm_struct *mm, unsigned long addr,
173 173
174static inline void update_protections(struct mm_struct *mm) 174static inline void update_protections(struct mm_struct *mm)
175{ 175{
176 flush_switched_cplbs(); 176 if (mm->context.page_rwx_mask == current_rwx_mask) {
177 set_mask_dcplbs(mm->context.page_rwx_mask); 177 flush_switched_cplbs();
178 set_mask_dcplbs(mm->context.page_rwx_mask);
179 }
178} 180}
179#endif 181#endif
180 182
diff --git a/include/asm-blackfin/module.h b/arch/blackfin/include/asm/module.h
index e3128df139d6..e3128df139d6 100644
--- a/include/asm-blackfin/module.h
+++ b/arch/blackfin/include/asm/module.h
diff --git a/include/asm-blackfin/msgbuf.h b/arch/blackfin/include/asm/msgbuf.h
index 6fcbe8cd801d..6fcbe8cd801d 100644
--- a/include/asm-blackfin/msgbuf.h
+++ b/arch/blackfin/include/asm/msgbuf.h
diff --git a/include/asm-blackfin/mutex.h b/arch/blackfin/include/asm/mutex.h
index 458c1f7fbc18..458c1f7fbc18 100644
--- a/include/asm-blackfin/mutex.h
+++ b/arch/blackfin/include/asm/mutex.h
diff --git a/include/asm-blackfin/nand.h b/arch/blackfin/include/asm/nand.h
index afbaafa793f1..afbaafa793f1 100644
--- a/include/asm-blackfin/nand.h
+++ b/arch/blackfin/include/asm/nand.h
diff --git a/include/asm-blackfin/page.h b/arch/blackfin/include/asm/page.h
index 344f6a8c1f22..344f6a8c1f22 100644
--- a/include/asm-blackfin/page.h
+++ b/arch/blackfin/include/asm/page.h
diff --git a/include/asm-blackfin/page_offset.h b/arch/blackfin/include/asm/page_offset.h
index cbaff24b4b25..cbaff24b4b25 100644
--- a/include/asm-blackfin/page_offset.h
+++ b/arch/blackfin/include/asm/page_offset.h
diff --git a/include/asm-blackfin/param.h b/arch/blackfin/include/asm/param.h
index 41564a6347f8..41564a6347f8 100644
--- a/include/asm-blackfin/param.h
+++ b/arch/blackfin/include/asm/param.h
diff --git a/include/asm-blackfin/pci.h b/arch/blackfin/include/asm/pci.h
index 61277358c865..61277358c865 100644
--- a/include/asm-blackfin/pci.h
+++ b/arch/blackfin/include/asm/pci.h
diff --git a/include/asm-blackfin/percpu.h b/arch/blackfin/include/asm/percpu.h
index 78dd61f6b39f..78dd61f6b39f 100644
--- a/include/asm-blackfin/percpu.h
+++ b/arch/blackfin/include/asm/percpu.h
diff --git a/include/asm-blackfin/pgalloc.h b/arch/blackfin/include/asm/pgalloc.h
index c686e0542fd0..c686e0542fd0 100644
--- a/include/asm-blackfin/pgalloc.h
+++ b/arch/blackfin/include/asm/pgalloc.h
diff --git a/include/asm-blackfin/pgtable.h b/arch/blackfin/include/asm/pgtable.h
index b11b114689c0..f11684e4ade7 100644
--- a/include/asm-blackfin/pgtable.h
+++ b/arch/blackfin/include/asm/pgtable.h
@@ -4,7 +4,7 @@
4#include <asm-generic/4level-fixup.h> 4#include <asm-generic/4level-fixup.h>
5 5
6#include <asm/page.h> 6#include <asm/page.h>
7#include <asm/mach-common/def_LPBlackfin.h> 7#include <asm/def_LPBlackfin.h>
8 8
9typedef pte_t *pte_addr_t; 9typedef pte_t *pte_addr_t;
10/* 10/*
diff --git a/include/asm-blackfin/poll.h b/arch/blackfin/include/asm/poll.h
index 94cc2636e0e2..94cc2636e0e2 100644
--- a/include/asm-blackfin/poll.h
+++ b/arch/blackfin/include/asm/poll.h
diff --git a/include/asm-blackfin/portmux.h b/arch/blackfin/include/asm/portmux.h
index 0807b286cd9e..88eb5c07cc24 100644
--- a/include/asm-blackfin/portmux.h
+++ b/arch/blackfin/include/asm/portmux.h
@@ -21,7 +21,7 @@ int peripheral_request_list(const unsigned short per[], const char *label);
21void peripheral_free_list(const unsigned short per[]); 21void peripheral_free_list(const unsigned short per[]);
22 22
23#include <asm/gpio.h> 23#include <asm/gpio.h>
24#include <asm/mach/portmux.h> 24#include <mach/portmux.h>
25 25
26#ifndef P_SPORT2_TFS 26#ifndef P_SPORT2_TFS
27#define P_SPORT2_TFS P_UNDEF 27#define P_SPORT2_TFS P_UNDEF
diff --git a/include/asm-blackfin/posix_types.h b/arch/blackfin/include/asm/posix_types.h
index 23aa1f8c1bd1..23aa1f8c1bd1 100644
--- a/include/asm-blackfin/posix_types.h
+++ b/arch/blackfin/include/asm/posix_types.h
diff --git a/include/asm-blackfin/processor.h b/arch/blackfin/include/asm/processor.h
index 6f3995b119d8..6f3995b119d8 100644
--- a/include/asm-blackfin/processor.h
+++ b/arch/blackfin/include/asm/processor.h
diff --git a/include/asm-blackfin/ptrace.h b/arch/blackfin/include/asm/ptrace.h
index a45a80e54adc..a45a80e54adc 100644
--- a/include/asm-blackfin/ptrace.h
+++ b/arch/blackfin/include/asm/ptrace.h
diff --git a/include/asm-blackfin/reboot.h b/arch/blackfin/include/asm/reboot.h
index 6d448b5f5985..6d448b5f5985 100644
--- a/include/asm-blackfin/reboot.h
+++ b/arch/blackfin/include/asm/reboot.h
diff --git a/include/asm-blackfin/resource.h b/arch/blackfin/include/asm/resource.h
index 091355ab3495..091355ab3495 100644
--- a/include/asm-blackfin/resource.h
+++ b/arch/blackfin/include/asm/resource.h
diff --git a/include/asm-blackfin/scatterlist.h b/arch/blackfin/include/asm/scatterlist.h
index 04f448711cd0..04f448711cd0 100644
--- a/include/asm-blackfin/scatterlist.h
+++ b/arch/blackfin/include/asm/scatterlist.h
diff --git a/include/asm-blackfin/sections.h b/arch/blackfin/include/asm/sections.h
index 1443c3353a8c..1443c3353a8c 100644
--- a/include/asm-blackfin/sections.h
+++ b/arch/blackfin/include/asm/sections.h
diff --git a/include/asm-blackfin/segment.h b/arch/blackfin/include/asm/segment.h
index 02cfd09b5a99..02cfd09b5a99 100644
--- a/include/asm-blackfin/segment.h
+++ b/arch/blackfin/include/asm/segment.h
diff --git a/include/asm-blackfin/sembuf.h b/arch/blackfin/include/asm/sembuf.h
index 18deb5c7fa5d..18deb5c7fa5d 100644
--- a/include/asm-blackfin/sembuf.h
+++ b/arch/blackfin/include/asm/sembuf.h
diff --git a/include/asm-blackfin/serial.h b/arch/blackfin/include/asm/serial.h
index 994dd869558c..994dd869558c 100644
--- a/include/asm-blackfin/serial.h
+++ b/arch/blackfin/include/asm/serial.h
diff --git a/include/asm-blackfin/setup.h b/arch/blackfin/include/asm/setup.h
index 01c8c6cbe6fc..01c8c6cbe6fc 100644
--- a/include/asm-blackfin/setup.h
+++ b/arch/blackfin/include/asm/setup.h
diff --git a/include/asm-blackfin/shmbuf.h b/arch/blackfin/include/asm/shmbuf.h
index 612436303e89..612436303e89 100644
--- a/include/asm-blackfin/shmbuf.h
+++ b/arch/blackfin/include/asm/shmbuf.h
diff --git a/include/asm-blackfin/shmparam.h b/arch/blackfin/include/asm/shmparam.h
index 3c03906b7664..3c03906b7664 100644
--- a/include/asm-blackfin/shmparam.h
+++ b/arch/blackfin/include/asm/shmparam.h
diff --git a/include/asm-blackfin/sigcontext.h b/arch/blackfin/include/asm/sigcontext.h
index ce00b03c2775..ce00b03c2775 100644
--- a/include/asm-blackfin/sigcontext.h
+++ b/arch/blackfin/include/asm/sigcontext.h
diff --git a/include/asm-blackfin/siginfo.h b/arch/blackfin/include/asm/siginfo.h
index eca4565cea37..eca4565cea37 100644
--- a/include/asm-blackfin/siginfo.h
+++ b/arch/blackfin/include/asm/siginfo.h
diff --git a/include/asm-blackfin/signal.h b/arch/blackfin/include/asm/signal.h
index 87951d251458..87951d251458 100644
--- a/include/asm-blackfin/signal.h
+++ b/arch/blackfin/include/asm/signal.h
diff --git a/include/asm-blackfin/socket.h b/arch/blackfin/include/asm/socket.h
index 2ca702e44d47..2ca702e44d47 100644
--- a/include/asm-blackfin/socket.h
+++ b/arch/blackfin/include/asm/socket.h
diff --git a/include/asm-blackfin/sockios.h b/arch/blackfin/include/asm/sockios.h
index 426b89bfaa8b..426b89bfaa8b 100644
--- a/include/asm-blackfin/sockios.h
+++ b/arch/blackfin/include/asm/sockios.h
diff --git a/include/asm-blackfin/spinlock.h b/arch/blackfin/include/asm/spinlock.h
index 64e908a50646..64e908a50646 100644
--- a/include/asm-blackfin/spinlock.h
+++ b/arch/blackfin/include/asm/spinlock.h
diff --git a/include/asm-blackfin/stat.h b/arch/blackfin/include/asm/stat.h
index d2b6f11ec231..d2b6f11ec231 100644
--- a/include/asm-blackfin/stat.h
+++ b/arch/blackfin/include/asm/stat.h
diff --git a/include/asm-blackfin/statfs.h b/arch/blackfin/include/asm/statfs.h
index 350672091ba3..350672091ba3 100644
--- a/include/asm-blackfin/statfs.h
+++ b/arch/blackfin/include/asm/statfs.h
diff --git a/include/asm-blackfin/string.h b/arch/blackfin/include/asm/string.h
index 321f4d96e4ae..321f4d96e4ae 100644
--- a/include/asm-blackfin/string.h
+++ b/arch/blackfin/include/asm/string.h
diff --git a/include/asm-blackfin/system.h b/arch/blackfin/include/asm/system.h
index 51494ef5bb41..8f1627d8bf09 100644
--- a/include/asm-blackfin/system.h
+++ b/arch/blackfin/include/asm/system.h
@@ -36,7 +36,7 @@
36 36
37#include <linux/linkage.h> 37#include <linux/linkage.h>
38#include <linux/compiler.h> 38#include <linux/compiler.h>
39#include <asm/mach/anomaly.h> 39#include <mach/anomaly.h>
40 40
41/* 41/*
42 * Interrupt configuring macros. 42 * Interrupt configuring macros.
diff --git a/include/asm-blackfin/termbits.h b/arch/blackfin/include/asm/termbits.h
index f37feb7cf895..f37feb7cf895 100644
--- a/include/asm-blackfin/termbits.h
+++ b/arch/blackfin/include/asm/termbits.h
diff --git a/include/asm-blackfin/termios.h b/arch/blackfin/include/asm/termios.h
index d50d063c605a..d50d063c605a 100644
--- a/include/asm-blackfin/termios.h
+++ b/arch/blackfin/include/asm/termios.h
diff --git a/include/asm-blackfin/thread_info.h b/arch/blackfin/include/asm/thread_info.h
index 642769329d12..642769329d12 100644
--- a/include/asm-blackfin/thread_info.h
+++ b/arch/blackfin/include/asm/thread_info.h
diff --git a/include/asm-blackfin/time.h b/arch/blackfin/include/asm/time.h
index ddc43ce38533..ddc43ce38533 100644
--- a/include/asm-blackfin/time.h
+++ b/arch/blackfin/include/asm/time.h
diff --git a/include/asm-blackfin/timex.h b/arch/blackfin/include/asm/timex.h
index 22b0806161bb..22b0806161bb 100644
--- a/include/asm-blackfin/timex.h
+++ b/arch/blackfin/include/asm/timex.h
diff --git a/include/asm-blackfin/tlb.h b/arch/blackfin/include/asm/tlb.h
index 89a12ee916d8..89a12ee916d8 100644
--- a/include/asm-blackfin/tlb.h
+++ b/arch/blackfin/include/asm/tlb.h
diff --git a/include/asm-blackfin/tlbflush.h b/arch/blackfin/include/asm/tlbflush.h
index 277b400924b8..277b400924b8 100644
--- a/include/asm-blackfin/tlbflush.h
+++ b/arch/blackfin/include/asm/tlbflush.h
diff --git a/include/asm-blackfin/topology.h b/arch/blackfin/include/asm/topology.h
index acee23987897..acee23987897 100644
--- a/include/asm-blackfin/topology.h
+++ b/arch/blackfin/include/asm/topology.h
diff --git a/include/asm-blackfin/trace.h b/arch/blackfin/include/asm/trace.h
index 312b596b9731..312b596b9731 100644
--- a/include/asm-blackfin/trace.h
+++ b/arch/blackfin/include/asm/trace.h
diff --git a/include/asm-blackfin/traps.h b/arch/blackfin/include/asm/traps.h
index f0e5f940d9ca..f0e5f940d9ca 100644
--- a/include/asm-blackfin/traps.h
+++ b/arch/blackfin/include/asm/traps.h
diff --git a/include/asm-blackfin/types.h b/arch/blackfin/include/asm/types.h
index 8441cbc2bf9e..8441cbc2bf9e 100644
--- a/include/asm-blackfin/types.h
+++ b/arch/blackfin/include/asm/types.h
diff --git a/include/asm-blackfin/uaccess.h b/arch/blackfin/include/asm/uaccess.h
index d928b8099056..d928b8099056 100644
--- a/include/asm-blackfin/uaccess.h
+++ b/arch/blackfin/include/asm/uaccess.h
diff --git a/include/asm-blackfin/ucontext.h b/arch/blackfin/include/asm/ucontext.h
index 4a4e3856beba..4a4e3856beba 100644
--- a/include/asm-blackfin/ucontext.h
+++ b/arch/blackfin/include/asm/ucontext.h
diff --git a/include/asm-blackfin/unaligned.h b/arch/blackfin/include/asm/unaligned.h
index fd8a1d634945..fd8a1d634945 100644
--- a/include/asm-blackfin/unaligned.h
+++ b/arch/blackfin/include/asm/unaligned.h
diff --git a/include/asm-blackfin/unistd.h b/arch/blackfin/include/asm/unistd.h
index 1e57b636e0bc..1e57b636e0bc 100644
--- a/include/asm-blackfin/unistd.h
+++ b/arch/blackfin/include/asm/unistd.h
diff --git a/include/asm-blackfin/user.h b/arch/blackfin/include/asm/user.h
index afe6a0e1f7ce..afe6a0e1f7ce 100644
--- a/include/asm-blackfin/user.h
+++ b/arch/blackfin/include/asm/user.h
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S
index 31bd9bf3efae..faea88ebb2ef 100644
--- a/arch/blackfin/kernel/entry.S
+++ b/arch/blackfin/kernel/entry.S
@@ -32,7 +32,7 @@
32#include <asm/errno.h> 32#include <asm/errno.h>
33#include <asm/asm-offsets.h> 33#include <asm/asm-offsets.h>
34 34
35#include <asm/mach-common/context.S> 35#include <asm/context.S>
36 36
37#ifdef CONFIG_EXCPT_IRQ_SYSC_L1 37#ifdef CONFIG_EXCPT_IRQ_SYSC_L1
38.section .l1.text 38.section .l1.text
diff --git a/arch/blackfin/mach-bf527/head.S b/arch/blackfin/mach-bf527/head.S
index c3334cc5bcb7..28c486191209 100644
--- a/arch/blackfin/mach-bf527/head.S
+++ b/arch/blackfin/mach-bf527/head.S
@@ -31,8 +31,8 @@
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#ifdef CONFIG_BFIN_KERNEL_CLOCK 33#ifdef CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach-common/clocks.h> 34#include <asm/clocks.h>
35#include <asm/mach/mem_init.h> 35#include <mach/mem_init.h>
36#endif 36#endif
37 37
38.section .l1.text 38.section .l1.text
diff --git a/include/asm-blackfin/mach-bf527/anomaly.h b/arch/blackfin/mach-bf527/include/mach/anomaly.h
index b7b166f4f064..b7b166f4f064 100644
--- a/include/asm-blackfin/mach-bf527/anomaly.h
+++ b/arch/blackfin/mach-bf527/include/mach/anomaly.h
diff --git a/include/asm-blackfin/mach-bf527/bf527.h b/arch/blackfin/mach-bf527/include/mach/bf527.h
index 056eb4b9cd25..056eb4b9cd25 100644
--- a/include/asm-blackfin/mach-bf527/bf527.h
+++ b/arch/blackfin/mach-bf527/include/mach/bf527.h
diff --git a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h b/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h
index 2526b6ed6faa..2526b6ed6faa 100644
--- a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h
+++ b/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h
diff --git a/include/asm-blackfin/mach-bf527/bfin_sir.h b/arch/blackfin/mach-bf527/include/mach/bfin_sir.h
index cfd8ad4f1f2c..cfd8ad4f1f2c 100644
--- a/include/asm-blackfin/mach-bf527/bfin_sir.h
+++ b/arch/blackfin/mach-bf527/include/mach/bfin_sir.h
diff --git a/include/asm-blackfin/mach-bf527/blackfin.h b/arch/blackfin/mach-bf527/include/mach/blackfin.h
index 297821e2d79a..297821e2d79a 100644
--- a/include/asm-blackfin/mach-bf527/blackfin.h
+++ b/arch/blackfin/mach-bf527/include/mach/blackfin.h
diff --git a/include/asm-blackfin/mach-bf527/cdefBF522.h b/arch/blackfin/mach-bf527/include/mach/cdefBF522.h
index 52c06494b886..663c2bbdfd91 100644
--- a/include/asm-blackfin/mach-bf527/cdefBF522.h
+++ b/arch/blackfin/mach-bf527/include/mach/cdefBF522.h
@@ -36,7 +36,7 @@
36#include "defBF522.h" 36#include "defBF522.h"
37 37
38/* include core specific register pointer definitions */ 38/* include core specific register pointer definitions */
39#include <asm/mach-common/cdef_LPBlackfin.h> 39#include <asm/cdef_LPBlackfin.h>
40 40
41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF522 */ 41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF522 */
42 42
diff --git a/include/asm-blackfin/mach-bf527/cdefBF525.h b/arch/blackfin/mach-bf527/include/mach/cdefBF525.h
index 2cc67e4b4d86..00377eb59b75 100644
--- a/include/asm-blackfin/mach-bf527/cdefBF525.h
+++ b/arch/blackfin/mach-bf527/include/mach/cdefBF525.h
@@ -36,7 +36,7 @@
36#include "defBF525.h" 36#include "defBF525.h"
37 37
38/* include core specific register pointer definitions */ 38/* include core specific register pointer definitions */
39#include <asm/mach-common/cdef_LPBlackfin.h> 39#include <asm/cdef_LPBlackfin.h>
40 40
41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF525 */ 41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF525 */
42 42
diff --git a/include/asm-blackfin/mach-bf527/cdefBF527.h b/arch/blackfin/mach-bf527/include/mach/cdefBF527.h
index 5bd1a8601743..fca8db708119 100644
--- a/include/asm-blackfin/mach-bf527/cdefBF527.h
+++ b/arch/blackfin/mach-bf527/include/mach/cdefBF527.h
@@ -36,7 +36,7 @@
36#include "defBF527.h" 36#include "defBF527.h"
37 37
38/* include core specific register pointer definitions */ 38/* include core specific register pointer definitions */
39#include <asm/mach-common/cdef_LPBlackfin.h> 39#include <asm/cdef_LPBlackfin.h>
40 40
41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF527 */ 41/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF527 */
42 42
diff --git a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h
index 9dbdbec8ea1b..9a814b9a12b9 100644
--- a/include/asm-blackfin/mach-bf527/cdefBF52x_base.h
+++ b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h
@@ -37,7 +37,7 @@
37#include "defBF52x_base.h" 37#include "defBF52x_base.h"
38 38
39/* Include core specific register pointer definitions */ 39/* Include core specific register pointer definitions */
40#include <asm/mach-common/cdef_LPBlackfin.h> 40#include <asm/cdef_LPBlackfin.h>
41 41
42/* ==== begin from cdefBF534.h ==== */ 42/* ==== begin from cdefBF534.h ==== */
43 43
diff --git a/include/asm-blackfin/mach-bf527/defBF522.h b/arch/blackfin/mach-bf527/include/mach/defBF522.h
index 9671d8f2c5ef..0a8cdcdf0b49 100644
--- a/include/asm-blackfin/mach-bf527/defBF522.h
+++ b/arch/blackfin/mach-bf527/include/mach/defBF522.h
@@ -32,7 +32,7 @@
32#define _DEF_BF522_H 32#define _DEF_BF522_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF522 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF522 */
38 38
diff --git a/include/asm-blackfin/mach-bf527/defBF525.h b/arch/blackfin/mach-bf527/include/mach/defBF525.h
index 6a375a084acc..5cd7576fef76 100644
--- a/include/asm-blackfin/mach-bf527/defBF525.h
+++ b/arch/blackfin/mach-bf527/include/mach/defBF525.h
@@ -32,7 +32,7 @@
32#define _DEF_BF525_H 32#define _DEF_BF525_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF525 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF525 */
38 38
diff --git a/include/asm-blackfin/mach-bf527/defBF527.h b/arch/blackfin/mach-bf527/include/mach/defBF527.h
index f1a70db70cb8..f040f364afa3 100644
--- a/include/asm-blackfin/mach-bf527/defBF527.h
+++ b/arch/blackfin/mach-bf527/include/mach/defBF527.h
@@ -32,7 +32,7 @@
32#define _DEF_BF527_H 32#define _DEF_BF527_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF527 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF527 */
38 38
diff --git a/include/asm-blackfin/mach-bf527/defBF52x_base.h b/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h
index fc69cf93f149..6ac2ed7026eb 100644
--- a/include/asm-blackfin/mach-bf527/defBF52x_base.h
+++ b/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h
@@ -151,7 +151,7 @@
151#define TIMER7_CONFIG 0xFFC00670 /* Timer 7 Configuration Register */ 151#define TIMER7_CONFIG 0xFFC00670 /* Timer 7 Configuration Register */
152#define TIMER7_COUNTER 0xFFC00674 /* Timer 7 Counter Register */ 152#define TIMER7_COUNTER 0xFFC00674 /* Timer 7 Counter Register */
153#define TIMER7_PERIOD 0xFFC00678 /* Timer 7 Period Register */ 153#define TIMER7_PERIOD 0xFFC00678 /* Timer 7 Period Register */
154#define TIMER7_WIDTH 0xFFC0067C /* Timer 7 Width Register */ 154#define TIMER7_WIDTH 0xFFC0067C /* Timer 7 Width Register */
155 155
156#define TIMER_ENABLE 0xFFC00680 /* Timer Enable Register */ 156#define TIMER_ENABLE 0xFFC00680 /* Timer Enable Register */
157#define TIMER_DISABLE 0xFFC00684 /* Timer Disable Register */ 157#define TIMER_DISABLE 0xFFC00684 /* Timer Disable Register */
@@ -634,18 +634,9 @@
634/* PLL_DIV Macros */ 634/* PLL_DIV Macros */
635#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */ 635#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
636 636
637/* VR_CTL Masks */ 637/* VR_CTL Masks */
638#define FREQ 0x0003 /* Switching Oscillator Frequency For Regulator */ 638#define FREQ 0x3000 /* Switching Oscillator Frequency For Regulator */
639#define HIBERNATE 0x0000 /* Powerdown/Bypass On-Board Regulation */ 639#define HIBERNATE 0x0000 /* Powerdown/Bypass On-Board Regulation */
640#define FREQ_333 0x0001 /* Switching Frequency Is 333 kHz */
641#define FREQ_667 0x0002 /* Switching Frequency Is 667 kHz */
642#define FREQ_1000 0x0003 /* Switching Frequency Is 1 MHz */
643
644#define GAIN 0x000C /* Voltage Level Gain */
645#define GAIN_5 0x0000 /* GAIN = 5 */
646#define GAIN_10 0x0004 /* GAIN = 10 */
647#define GAIN_20 0x0008 /* GAIN = 20 */
648#define GAIN_50 0x000C /* GAIN = 50 */
649 640
650#define VLEV 0x00F0 /* Internal Voltage Level */ 641#define VLEV 0x00F0 /* Internal Voltage Level */
651#define VLEV_085 0x0060 /* VLEV = 0.85 V (-5% - +10% Accuracy) */ 642#define VLEV_085 0x0060 /* VLEV = 0.85 V (-5% - +10% Accuracy) */
@@ -660,7 +651,7 @@
660#define VLEV_130 0x00F0 /* VLEV = 1.30 V (-5% - +10% Accuracy) */ 651#define VLEV_130 0x00F0 /* VLEV = 1.30 V (-5% - +10% Accuracy) */
661 652
662#define WAKE 0x0100 /* Enable RTC/Reset Wakeup From Hibernate */ 653#define WAKE 0x0100 /* Enable RTC/Reset Wakeup From Hibernate */
663#define CANWE 0x0200 /* Enable CAN Wakeup From Hibernate */ 654#define USBWE 0x0200 /* Enable USB Wakeup From Hibernate */
664#define PHYWE 0x0400 /* Enable PHY Wakeup From Hibernate */ 655#define PHYWE 0x0400 /* Enable PHY Wakeup From Hibernate */
665#define CLKBUFOE 0x4000 /* CLKIN Buffer Output Enable */ 656#define CLKBUFOE 0x4000 /* CLKIN Buffer Output Enable */
666#define PHYCLKOE CLKBUFOE /* Alternative legacy name for the above */ 657#define PHYCLKOE CLKBUFOE /* Alternative legacy name for the above */
@@ -697,16 +688,16 @@
697 688
698#define IRQ_ERROR1 0x00000002 /* Error Interrupt (DMA, DMARx Block, DMARx Overflow) */ 689#define IRQ_ERROR1 0x00000002 /* Error Interrupt (DMA, DMARx Block, DMARx Overflow) */
699#define IRQ_ERROR2 0x00000004 /* Error Interrupt (CAN, Ethernet, SPORTx, PPI, SPI, UARTx) */ 690#define IRQ_ERROR2 0x00000004 /* Error Interrupt (CAN, Ethernet, SPORTx, PPI, SPI, UARTx) */
700#define IRQ_RTC 0x00000008 /* Real Time Clock Interrupt */ 691#define IRQ_RTC 0x00000008 /* Real Time Clock Interrupt */
701#define IRQ_DMA0 0x00000010 /* DMA Channel 0 (PPI) Interrupt */ 692#define IRQ_DMA0 0x00000010 /* DMA Channel 0 (PPI) Interrupt */
702#define IRQ_DMA3 0x00000020 /* DMA Channel 3 (SPORT0 RX) Interrupt */ 693#define IRQ_DMA3 0x00000020 /* DMA Channel 3 (SPORT0 RX) Interrupt */
703#define IRQ_DMA4 0x00000040 /* DMA Channel 4 (SPORT0 TX) Interrupt */ 694#define IRQ_DMA4 0x00000040 /* DMA Channel 4 (SPORT0 TX) Interrupt */
704#define IRQ_DMA5 0x00000080 /* DMA Channel 5 (SPORT1 RX) Interrupt */ 695#define IRQ_DMA5 0x00000080 /* DMA Channel 5 (SPORT1 RX) Interrupt */
705 696
706#define IRQ_DMA6 0x00000100 /* DMA Channel 6 (SPORT1 TX) Interrupt */ 697#define IRQ_DMA6 0x00000100 /* DMA Channel 6 (SPORT1 TX) Interrupt */
707#define IRQ_TWI 0x00000200 /* TWI Interrupt */ 698#define IRQ_TWI 0x00000200 /* TWI Interrupt */
708#define IRQ_DMA7 0x00000400 /* DMA Channel 7 (SPI) Interrupt */ 699#define IRQ_DMA7 0x00000400 /* DMA Channel 7 (SPI) Interrupt */
709#define IRQ_DMA8 0x00000800 /* DMA Channel 8 (UART0 RX) Interrupt */ 700#define IRQ_DMA8 0x00000800 /* DMA Channel 8 (UART0 RX) Interrupt */
710#define IRQ_DMA9 0x00001000 /* DMA Channel 9 (UART0 TX) Interrupt */ 701#define IRQ_DMA9 0x00001000 /* DMA Channel 9 (UART0 TX) Interrupt */
711#define IRQ_DMA10 0x00002000 /* DMA Channel 10 (UART1 RX) Interrupt */ 702#define IRQ_DMA10 0x00002000 /* DMA Channel 10 (UART1 RX) Interrupt */
712#define IRQ_DMA11 0x00004000 /* DMA Channel 11 (UART1 TX) Interrupt */ 703#define IRQ_DMA11 0x00004000 /* DMA Channel 11 (UART1 TX) Interrupt */
@@ -801,7 +792,7 @@
801#define WDEV_NONE 0x0006 /* no event on roll over */ 792#define WDEV_NONE 0x0006 /* no event on roll over */
802#define WDEN 0x0FF0 /* enable watchdog */ 793#define WDEN 0x0FF0 /* enable watchdog */
803#define WDDIS 0x0AD0 /* disable watchdog */ 794#define WDDIS 0x0AD0 /* disable watchdog */
804#define WDRO 0x8000 /* watchdog rolled over latch */ 795#define WDRO 0x8000 /* watchdog rolled over latch */
805 796
806/* depreciated WDOG_CTL Register Masks for legacy code */ 797/* depreciated WDOG_CTL Register Masks for legacy code */
807 798
@@ -882,7 +873,7 @@
882#define NINT 0x01 /* Pending Interrupt */ 873#define NINT 0x01 /* Pending Interrupt */
883#define IIR_TX_READY 0x02 /* UART_THR empty */ 874#define IIR_TX_READY 0x02 /* UART_THR empty */
884#define IIR_RX_READY 0x04 /* Receive data ready */ 875#define IIR_RX_READY 0x04 /* Receive data ready */
885#define IIR_LINE_CHANGE 0x06 /* Receive line status */ 876#define IIR_LINE_CHANGE 0x06 /* Receive line status */
886#define IIR_STATUS 0x06 /* Highest Priority Pending Interrupt */ 877#define IIR_STATUS 0x06 /* Highest Priority Pending Interrupt */
887 878
888/* UARTx_GCTL Masks */ 879/* UARTx_GCTL Masks */
@@ -1638,12 +1629,12 @@
1638 1629
1639/* entry addresses of the user-callable Boot ROM functions */ 1630/* entry addresses of the user-callable Boot ROM functions */
1640 1631
1641#define _BOOTROM_RESET 0xEF000000 1632#define _BOOTROM_RESET 0xEF000000
1642#define _BOOTROM_FINAL_INIT 0xEF000002 1633#define _BOOTROM_FINAL_INIT 0xEF000002
1643#define _BOOTROM_DO_MEMORY_DMA 0xEF000006 1634#define _BOOTROM_DO_MEMORY_DMA 0xEF000006
1644#define _BOOTROM_BOOT_DXE_FLASH 0xEF000008 1635#define _BOOTROM_BOOT_DXE_FLASH 0xEF000008
1645#define _BOOTROM_BOOT_DXE_SPI 0xEF00000A 1636#define _BOOTROM_BOOT_DXE_SPI 0xEF00000A
1646#define _BOOTROM_BOOT_DXE_TWI 0xEF00000C 1637#define _BOOTROM_BOOT_DXE_TWI 0xEF00000C
1647#define _BOOTROM_GET_DXE_ADDRESS_FLASH 0xEF000010 1638#define _BOOTROM_GET_DXE_ADDRESS_FLASH 0xEF000010
1648#define _BOOTROM_GET_DXE_ADDRESS_SPI 0xEF000012 1639#define _BOOTROM_GET_DXE_ADDRESS_SPI 0xEF000012
1649#define _BOOTROM_GET_DXE_ADDRESS_TWI 0xEF000014 1640#define _BOOTROM_GET_DXE_ADDRESS_TWI 0xEF000014
@@ -1771,71 +1762,71 @@
1771/* Bit masks for CNT_CONFIG */ 1762/* Bit masks for CNT_CONFIG */
1772 1763
1773#define CNTE 0x1 /* Counter Enable */ 1764#define CNTE 0x1 /* Counter Enable */
1774#define nCNTE 0x0 1765#define nCNTE 0x0
1775#define DEBE 0x2 /* Debounce Enable */ 1766#define DEBE 0x2 /* Debounce Enable */
1776#define nDEBE 0x0 1767#define nDEBE 0x0
1777#define CDGINV 0x10 /* CDG Pin Polarity Invert */ 1768#define CDGINV 0x10 /* CDG Pin Polarity Invert */
1778#define nCDGINV 0x0 1769#define nCDGINV 0x0
1779#define CUDINV 0x20 /* CUD Pin Polarity Invert */ 1770#define CUDINV 0x20 /* CUD Pin Polarity Invert */
1780#define nCUDINV 0x0 1771#define nCUDINV 0x0
1781#define CZMINV 0x40 /* CZM Pin Polarity Invert */ 1772#define CZMINV 0x40 /* CZM Pin Polarity Invert */
1782#define nCZMINV 0x0 1773#define nCZMINV 0x0
1783#define CNTMODE 0x700 /* Counter Operating Mode */ 1774#define CNTMODE 0x700 /* Counter Operating Mode */
1784#define ZMZC 0x800 /* CZM Zeroes Counter Enable */ 1775#define ZMZC 0x800 /* CZM Zeroes Counter Enable */
1785#define nZMZC 0x0 1776#define nZMZC 0x0
1786#define BNDMODE 0x3000 /* Boundary register Mode */ 1777#define BNDMODE 0x3000 /* Boundary register Mode */
1787#define INPDIS 0x8000 /* CUG and CDG Input Disable */ 1778#define INPDIS 0x8000 /* CUG and CDG Input Disable */
1788#define nINPDIS 0x0 1779#define nINPDIS 0x0
1789 1780
1790/* Bit masks for CNT_IMASK */ 1781/* Bit masks for CNT_IMASK */
1791 1782
1792#define ICIE 0x1 /* Illegal Gray/Binary Code Interrupt Enable */ 1783#define ICIE 0x1 /* Illegal Gray/Binary Code Interrupt Enable */
1793#define nICIE 0x0 1784#define nICIE 0x0
1794#define UCIE 0x2 /* Up count Interrupt Enable */ 1785#define UCIE 0x2 /* Up count Interrupt Enable */
1795#define nUCIE 0x0 1786#define nUCIE 0x0
1796#define DCIE 0x4 /* Down count Interrupt Enable */ 1787#define DCIE 0x4 /* Down count Interrupt Enable */
1797#define nDCIE 0x0 1788#define nDCIE 0x0
1798#define MINCIE 0x8 /* Min Count Interrupt Enable */ 1789#define MINCIE 0x8 /* Min Count Interrupt Enable */
1799#define nMINCIE 0x0 1790#define nMINCIE 0x0
1800#define MAXCIE 0x10 /* Max Count Interrupt Enable */ 1791#define MAXCIE 0x10 /* Max Count Interrupt Enable */
1801#define nMAXCIE 0x0 1792#define nMAXCIE 0x0
1802#define COV31IE 0x20 /* Bit 31 Overflow Interrupt Enable */ 1793#define COV31IE 0x20 /* Bit 31 Overflow Interrupt Enable */
1803#define nCOV31IE 0x0 1794#define nCOV31IE 0x0
1804#define COV15IE 0x40 /* Bit 15 Overflow Interrupt Enable */ 1795#define COV15IE 0x40 /* Bit 15 Overflow Interrupt Enable */
1805#define nCOV15IE 0x0 1796#define nCOV15IE 0x0
1806#define CZEROIE 0x80 /* Count to Zero Interrupt Enable */ 1797#define CZEROIE 0x80 /* Count to Zero Interrupt Enable */
1807#define nCZEROIE 0x0 1798#define nCZEROIE 0x0
1808#define CZMIE 0x100 /* CZM Pin Interrupt Enable */ 1799#define CZMIE 0x100 /* CZM Pin Interrupt Enable */
1809#define nCZMIE 0x0 1800#define nCZMIE 0x0
1810#define CZMEIE 0x200 /* CZM Error Interrupt Enable */ 1801#define CZMEIE 0x200 /* CZM Error Interrupt Enable */
1811#define nCZMEIE 0x0 1802#define nCZMEIE 0x0
1812#define CZMZIE 0x400 /* CZM Zeroes Counter Interrupt Enable */ 1803#define CZMZIE 0x400 /* CZM Zeroes Counter Interrupt Enable */
1813#define nCZMZIE 0x0 1804#define nCZMZIE 0x0
1814 1805
1815/* Bit masks for CNT_STATUS */ 1806/* Bit masks for CNT_STATUS */
1816 1807
1817#define ICII 0x1 /* Illegal Gray/Binary Code Interrupt Identifier */ 1808#define ICII 0x1 /* Illegal Gray/Binary Code Interrupt Identifier */
1818#define nICII 0x0 1809#define nICII 0x0
1819#define UCII 0x2 /* Up count Interrupt Identifier */ 1810#define UCII 0x2 /* Up count Interrupt Identifier */
1820#define nUCII 0x0 1811#define nUCII 0x0
1821#define DCII 0x4 /* Down count Interrupt Identifier */ 1812#define DCII 0x4 /* Down count Interrupt Identifier */
1822#define nDCII 0x0 1813#define nDCII 0x0
1823#define MINCII 0x8 /* Min Count Interrupt Identifier */ 1814#define MINCII 0x8 /* Min Count Interrupt Identifier */
1824#define nMINCII 0x0 1815#define nMINCII 0x0
1825#define MAXCII 0x10 /* Max Count Interrupt Identifier */ 1816#define MAXCII 0x10 /* Max Count Interrupt Identifier */
1826#define nMAXCII 0x0 1817#define nMAXCII 0x0
1827#define COV31II 0x20 /* Bit 31 Overflow Interrupt Identifier */ 1818#define COV31II 0x20 /* Bit 31 Overflow Interrupt Identifier */
1828#define nCOV31II 0x0 1819#define nCOV31II 0x0
1829#define COV15II 0x40 /* Bit 15 Overflow Interrupt Identifier */ 1820#define COV15II 0x40 /* Bit 15 Overflow Interrupt Identifier */
1830#define nCOV15II 0x0 1821#define nCOV15II 0x0
1831#define CZEROII 0x80 /* Count to Zero Interrupt Identifier */ 1822#define CZEROII 0x80 /* Count to Zero Interrupt Identifier */
1832#define nCZEROII 0x0 1823#define nCZEROII 0x0
1833#define CZMII 0x100 /* CZM Pin Interrupt Identifier */ 1824#define CZMII 0x100 /* CZM Pin Interrupt Identifier */
1834#define nCZMII 0x0 1825#define nCZMII 0x0
1835#define CZMEII 0x200 /* CZM Error Interrupt Identifier */ 1826#define CZMEII 0x200 /* CZM Error Interrupt Identifier */
1836#define nCZMEII 0x0 1827#define nCZMEII 0x0
1837#define CZMZII 0x400 /* CZM Zeroes Counter Interrupt Identifier */ 1828#define CZMZII 0x400 /* CZM Zeroes Counter Interrupt Identifier */
1838#define nCZMZII 0x0 1829#define nCZMZII 0x0
1839 1830
1840/* Bit masks for CNT_COMMAND */ 1831/* Bit masks for CNT_COMMAND */
1841 1832
@@ -1843,7 +1834,7 @@
1843#define W1LMIN 0xf0 /* Load Min Register */ 1834#define W1LMIN 0xf0 /* Load Min Register */
1844#define W1LMAX 0xf00 /* Load Max Register */ 1835#define W1LMAX 0xf00 /* Load Max Register */
1845#define W1ZMONCE 0x1000 /* Enable CZM Clear Counter Once */ 1836#define W1ZMONCE 0x1000 /* Enable CZM Clear Counter Once */
1846#define nW1ZMONCE 0x0 1837#define nW1ZMONCE 0x0
1847 1838
1848/* Bit masks for CNT_DEBOUNCE */ 1839/* Bit masks for CNT_DEBOUNCE */
1849 1840
@@ -1853,15 +1844,15 @@
1853 1844
1854#define FUSE_FADDR 0x1ff /* OTP/Fuse Address */ 1845#define FUSE_FADDR 0x1ff /* OTP/Fuse Address */
1855#define FIEN 0x800 /* OTP/Fuse Interrupt Enable */ 1846#define FIEN 0x800 /* OTP/Fuse Interrupt Enable */
1856#define nFIEN 0x0 1847#define nFIEN 0x0
1857#define FTESTDEC 0x1000 /* OTP/Fuse Test Decoder */ 1848#define FTESTDEC 0x1000 /* OTP/Fuse Test Decoder */
1858#define nFTESTDEC 0x0 1849#define nFTESTDEC 0x0
1859#define FWRTEST 0x2000 /* OTP/Fuse Write Test */ 1850#define FWRTEST 0x2000 /* OTP/Fuse Write Test */
1860#define nFWRTEST 0x0 1851#define nFWRTEST 0x0
1861#define FRDEN 0x4000 /* OTP/Fuse Read Enable */ 1852#define FRDEN 0x4000 /* OTP/Fuse Read Enable */
1862#define nFRDEN 0x0 1853#define nFRDEN 0x0
1863#define FWREN 0x8000 /* OTP/Fuse Write Enable */ 1854#define FWREN 0x8000 /* OTP/Fuse Write Enable */
1864#define nFWREN 0x0 1855#define nFWREN 0x0
1865 1856
1866/* Bit masks for OTP_BEN */ 1857/* Bit masks for OTP_BEN */
1867 1858
@@ -1870,15 +1861,15 @@
1870/* Bit masks for OTP_STATUS */ 1861/* Bit masks for OTP_STATUS */
1871 1862
1872#define FCOMP 0x1 /* OTP/Fuse Access Complete */ 1863#define FCOMP 0x1 /* OTP/Fuse Access Complete */
1873#define nFCOMP 0x0 1864#define nFCOMP 0x0
1874#define FERROR 0x2 /* OTP/Fuse Access Error */ 1865#define FERROR 0x2 /* OTP/Fuse Access Error */
1875#define nFERROR 0x0 1866#define nFERROR 0x0
1876#define MMRGLOAD 0x10 /* Memory Mapped Register Gasket Load */ 1867#define MMRGLOAD 0x10 /* Memory Mapped Register Gasket Load */
1877#define nMMRGLOAD 0x0 1868#define nMMRGLOAD 0x0
1878#define MMRGLOCK 0x20 /* Memory Mapped Register Gasket Lock */ 1869#define MMRGLOCK 0x20 /* Memory Mapped Register Gasket Lock */
1879#define nMMRGLOCK 0x0 1870#define nMMRGLOCK 0x0
1880#define FPGMEN 0x40 /* OTP/Fuse Program Enable */ 1871#define FPGMEN 0x40 /* OTP/Fuse Program Enable */
1881#define nFPGMEN 0x0 1872#define nFPGMEN 0x0
1882 1873
1883/* Bit masks for OTP_TIMING */ 1874/* Bit masks for OTP_TIMING */
1884 1875
@@ -1892,42 +1883,42 @@
1892/* Bit masks for SECURE_SYSSWT */ 1883/* Bit masks for SECURE_SYSSWT */
1893 1884
1894#define EMUDABL 0x1 /* Emulation Disable. */ 1885#define EMUDABL 0x1 /* Emulation Disable. */
1895#define nEMUDABL 0x0 1886#define nEMUDABL 0x0
1896#define RSTDABL 0x2 /* Reset Disable */ 1887#define RSTDABL 0x2 /* Reset Disable */
1897#define nRSTDABL 0x0 1888#define nRSTDABL 0x0
1898#define L1IDABL 0x1c /* L1 Instruction Memory Disable. */ 1889#define L1IDABL 0x1c /* L1 Instruction Memory Disable. */
1899#define L1DADABL 0xe0 /* L1 Data Bank A Memory Disable. */ 1890#define L1DADABL 0xe0 /* L1 Data Bank A Memory Disable. */
1900#define L1DBDABL 0x700 /* L1 Data Bank B Memory Disable. */ 1891#define L1DBDABL 0x700 /* L1 Data Bank B Memory Disable. */
1901#define DMA0OVR 0x800 /* DMA0 Memory Access Override */ 1892#define DMA0OVR 0x800 /* DMA0 Memory Access Override */
1902#define nDMA0OVR 0x0 1893#define nDMA0OVR 0x0
1903#define DMA1OVR 0x1000 /* DMA1 Memory Access Override */ 1894#define DMA1OVR 0x1000 /* DMA1 Memory Access Override */
1904#define nDMA1OVR 0x0 1895#define nDMA1OVR 0x0
1905#define EMUOVR 0x4000 /* Emulation Override */ 1896#define EMUOVR 0x4000 /* Emulation Override */
1906#define nEMUOVR 0x0 1897#define nEMUOVR 0x0
1907#define OTPSEN 0x8000 /* OTP Secrets Enable. */ 1898#define OTPSEN 0x8000 /* OTP Secrets Enable. */
1908#define nOTPSEN 0x0 1899#define nOTPSEN 0x0
1909#define L2DABL 0x70000 /* L2 Memory Disable. */ 1900#define L2DABL 0x70000 /* L2 Memory Disable. */
1910 1901
1911/* Bit masks for SECURE_CONTROL */ 1902/* Bit masks for SECURE_CONTROL */
1912 1903
1913#define SECURE0 0x1 /* SECURE 0 */ 1904#define SECURE0 0x1 /* SECURE 0 */
1914#define nSECURE0 0x0 1905#define nSECURE0 0x0
1915#define SECURE1 0x2 /* SECURE 1 */ 1906#define SECURE1 0x2 /* SECURE 1 */
1916#define nSECURE1 0x0 1907#define nSECURE1 0x0
1917#define SECURE2 0x4 /* SECURE 2 */ 1908#define SECURE2 0x4 /* SECURE 2 */
1918#define nSECURE2 0x0 1909#define nSECURE2 0x0
1919#define SECURE3 0x8 /* SECURE 3 */ 1910#define SECURE3 0x8 /* SECURE 3 */
1920#define nSECURE3 0x0 1911#define nSECURE3 0x0
1921 1912
1922/* Bit masks for SECURE_STATUS */ 1913/* Bit masks for SECURE_STATUS */
1923 1914
1924#define SECMODE 0x3 /* Secured Mode Control State */ 1915#define SECMODE 0x3 /* Secured Mode Control State */
1925#define NMI 0x4 /* Non Maskable Interrupt */ 1916#define NMI 0x4 /* Non Maskable Interrupt */
1926#define nNMI 0x0 1917#define nNMI 0x0
1927#define AFVALID 0x8 /* Authentication Firmware Valid */ 1918#define AFVALID 0x8 /* Authentication Firmware Valid */
1928#define nAFVALID 0x0 1919#define nAFVALID 0x0
1929#define AFEXIT 0x10 /* Authentication Firmware Exit */ 1920#define AFEXIT 0x10 /* Authentication Firmware Exit */
1930#define nAFEXIT 0x0 1921#define nAFEXIT 0x0
1931#define SECSTAT 0xe0 /* Secure Status */ 1922#define SECSTAT 0xe0 /* Secure Status */
1932 1923
1933/* Bit masks for NFC_CTL */ 1924/* Bit masks for NFC_CTL */
@@ -1935,60 +1926,60 @@
1935#define WR_DLY 0xf /* Write Strobe Delay */ 1926#define WR_DLY 0xf /* Write Strobe Delay */
1936#define RD_DLY 0xf0 /* Read Strobe Delay */ 1927#define RD_DLY 0xf0 /* Read Strobe Delay */
1937#define NWIDTH 0x100 /* NAND Data Width */ 1928#define NWIDTH 0x100 /* NAND Data Width */
1938#define nNWIDTH 0x0 1929#define nNWIDTH 0x0
1939#define PG_SIZE 0x200 /* Page Size */ 1930#define PG_SIZE 0x200 /* Page Size */
1940#define nPG_SIZE 0x0 1931#define nPG_SIZE 0x0
1941 1932
1942/* Bit masks for NFC_STAT */ 1933/* Bit masks for NFC_STAT */
1943 1934
1944#define NBUSY 0x1 /* Not Busy */ 1935#define NBUSY 0x1 /* Not Busy */
1945#define nNBUSY 0x0 1936#define nNBUSY 0x0
1946#define WB_FULL 0x2 /* Write Buffer Full */ 1937#define WB_FULL 0x2 /* Write Buffer Full */
1947#define nWB_FULL 0x0 1938#define nWB_FULL 0x0
1948#define PG_WR_STAT 0x4 /* Page Write Pending */ 1939#define PG_WR_STAT 0x4 /* Page Write Pending */
1949#define nPG_WR_STAT 0x0 1940#define nPG_WR_STAT 0x0
1950#define PG_RD_STAT 0x8 /* Page Read Pending */ 1941#define PG_RD_STAT 0x8 /* Page Read Pending */
1951#define nPG_RD_STAT 0x0 1942#define nPG_RD_STAT 0x0
1952#define WB_EMPTY 0x10 /* Write Buffer Empty */ 1943#define WB_EMPTY 0x10 /* Write Buffer Empty */
1953#define nWB_EMPTY 0x0 1944#define nWB_EMPTY 0x0
1954 1945
1955/* Bit masks for NFC_IRQSTAT */ 1946/* Bit masks for NFC_IRQSTAT */
1956 1947
1957#define NBUSYIRQ 0x1 /* Not Busy IRQ */ 1948#define NBUSYIRQ 0x1 /* Not Busy IRQ */
1958#define nNBUSYIRQ 0x0 1949#define nNBUSYIRQ 0x0
1959#define WB_OVF 0x2 /* Write Buffer Overflow */ 1950#define WB_OVF 0x2 /* Write Buffer Overflow */
1960#define nWB_OVF 0x0 1951#define nWB_OVF 0x0
1961#define WB_EDGE 0x4 /* Write Buffer Edge Detect */ 1952#define WB_EDGE 0x4 /* Write Buffer Edge Detect */
1962#define nWB_EDGE 0x0 1953#define nWB_EDGE 0x0
1963#define RD_RDY 0x8 /* Read Data Ready */ 1954#define RD_RDY 0x8 /* Read Data Ready */
1964#define nRD_RDY 0x0 1955#define nRD_RDY 0x0
1965#define WR_DONE 0x10 /* Page Write Done */ 1956#define WR_DONE 0x10 /* Page Write Done */
1966#define nWR_DONE 0x0 1957#define nWR_DONE 0x0
1967 1958
1968/* Bit masks for NFC_IRQMASK */ 1959/* Bit masks for NFC_IRQMASK */
1969 1960
1970#define MASK_BUSYIRQ 0x1 /* Mask Not Busy IRQ */ 1961#define MASK_BUSYIRQ 0x1 /* Mask Not Busy IRQ */
1971#define nMASK_BUSYIRQ 0x0 1962#define nMASK_BUSYIRQ 0x0
1972#define MASK_WBOVF 0x2 /* Mask Write Buffer Overflow */ 1963#define MASK_WBOVF 0x2 /* Mask Write Buffer Overflow */
1973#define nMASK_WBOVF 0x0 1964#define nMASK_WBOVF 0x0
1974#define MASK_WBEMPTY 0x4 /* Mask Write Buffer Empty */ 1965#define MASK_WBEMPTY 0x4 /* Mask Write Buffer Empty */
1975#define nMASK_WBEMPTY 0x0 1966#define nMASK_WBEMPTY 0x0
1976#define MASK_RDRDY 0x8 /* Mask Read Data Ready */ 1967#define MASK_RDRDY 0x8 /* Mask Read Data Ready */
1977#define nMASK_RDRDY 0x0 1968#define nMASK_RDRDY 0x0
1978#define MASK_WRDONE 0x10 /* Mask Write Done */ 1969#define MASK_WRDONE 0x10 /* Mask Write Done */
1979#define nMASK_WRDONE 0x0 1970#define nMASK_WRDONE 0x0
1980 1971
1981/* Bit masks for NFC_RST */ 1972/* Bit masks for NFC_RST */
1982 1973
1983#define ECC_RST 0x1 /* ECC (and NFC counters) Reset */ 1974#define ECC_RST 0x1 /* ECC (and NFC counters) Reset */
1984#define nECC_RST 0x0 1975#define nECC_RST 0x0
1985 1976
1986/* Bit masks for NFC_PGCTL */ 1977/* Bit masks for NFC_PGCTL */
1987 1978
1988#define PG_RD_START 0x1 /* Page Read Start */ 1979#define PG_RD_START 0x1 /* Page Read Start */
1989#define nPG_RD_START 0x0 1980#define nPG_RD_START 0x0
1990#define PG_WR_START 0x2 /* Page Write Start */ 1981#define PG_WR_START 0x2 /* Page Write Start */
1991#define nPG_WR_START 0x0 1982#define nPG_WR_START 0x0
1992 1983
1993/* Bit masks for NFC_ECC0 */ 1984/* Bit masks for NFC_ECC0 */
1994 1985
diff --git a/include/asm-blackfin/mach-bf527/dma.h b/arch/blackfin/mach-bf527/include/mach/dma.h
index 49dd693223e8..49dd693223e8 100644
--- a/include/asm-blackfin/mach-bf527/dma.h
+++ b/arch/blackfin/mach-bf527/include/mach/dma.h
diff --git a/include/asm-blackfin/mach-bf527/irq.h b/arch/blackfin/mach-bf527/include/mach/irq.h
index 4e2b3f2020e5..4e2b3f2020e5 100644
--- a/include/asm-blackfin/mach-bf527/irq.h
+++ b/arch/blackfin/mach-bf527/include/mach/irq.h
diff --git a/include/asm-blackfin/mach-bf527/mem_init.h b/arch/blackfin/mach-bf527/include/mach/mem_init.h
index cbe03f4a5698..cbe03f4a5698 100644
--- a/include/asm-blackfin/mach-bf527/mem_init.h
+++ b/arch/blackfin/mach-bf527/include/mach/mem_init.h
diff --git a/include/asm-blackfin/mach-bf527/mem_map.h b/arch/blackfin/mach-bf527/include/mach/mem_map.h
index ef46dc991cd4..ef46dc991cd4 100644
--- a/include/asm-blackfin/mach-bf527/mem_map.h
+++ b/arch/blackfin/mach-bf527/include/mach/mem_map.h
diff --git a/include/asm-blackfin/mach-bf527/portmux.h b/arch/blackfin/mach-bf527/include/mach/portmux.h
index ae4d205bfcf5..ae4d205bfcf5 100644
--- a/include/asm-blackfin/mach-bf527/portmux.h
+++ b/arch/blackfin/mach-bf527/include/mach/portmux.h
diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S
index d59db86195b6..01b2b7ead5ab 100644
--- a/arch/blackfin/mach-bf533/head.S
+++ b/arch/blackfin/mach-bf533/head.S
@@ -31,8 +31,8 @@
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#ifdef CONFIG_BFIN_KERNEL_CLOCK 33#ifdef CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach-common/clocks.h> 34#include <asm/clocks.h>
35#include <asm/mach/mem_init.h> 35#include <mach/mem_init.h>
36#endif 36#endif
37 37
38.section .l1.text 38.section .l1.text
diff --git a/include/asm-blackfin/mach-bf533/anomaly.h b/arch/blackfin/mach-bf533/include/mach/anomaly.h
index 8f7ea112fd3a..8f7ea112fd3a 100644
--- a/include/asm-blackfin/mach-bf533/anomaly.h
+++ b/arch/blackfin/mach-bf533/include/mach/anomaly.h
diff --git a/include/asm-blackfin/mach-bf533/bf533.h b/arch/blackfin/mach-bf533/include/mach/bf533.h
index 12a416931991..12a416931991 100644
--- a/include/asm-blackfin/mach-bf533/bf533.h
+++ b/arch/blackfin/mach-bf533/include/mach/bf533.h
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h
index ebf592b59aab..ebf592b59aab 100644
--- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h
+++ b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h
diff --git a/include/asm-blackfin/mach-bf533/bfin_sir.h b/arch/blackfin/mach-bf533/include/mach/bfin_sir.h
index 9bb87e9e2e9b..9bb87e9e2e9b 100644
--- a/include/asm-blackfin/mach-bf533/bfin_sir.h
+++ b/arch/blackfin/mach-bf533/include/mach/bfin_sir.h
diff --git a/include/asm-blackfin/mach-bf533/blackfin.h b/arch/blackfin/mach-bf533/include/mach/blackfin.h
index d80971b4e3aa..d80971b4e3aa 100644
--- a/include/asm-blackfin/mach-bf533/blackfin.h
+++ b/arch/blackfin/mach-bf533/include/mach/blackfin.h
diff --git a/include/asm-blackfin/mach-bf533/cdefBF532.h b/arch/blackfin/mach-bf533/include/mach/cdefBF532.h
index 154655452d4c..3d8978a52c17 100644
--- a/include/asm-blackfin/mach-bf533/cdefBF532.h
+++ b/arch/blackfin/mach-bf533/include/mach/cdefBF532.h
@@ -37,7 +37,7 @@
37#include "defBF532.h" 37#include "defBF532.h"
38 38
39/*include core specific register pointer definitions*/ 39/*include core specific register pointer definitions*/
40#include <asm/mach-common/cdef_LPBlackfin.h> 40#include <asm/cdef_LPBlackfin.h>
41 41
42#include <asm/system.h> 42#include <asm/system.h>
43 43
diff --git a/include/asm-blackfin/mach-bf533/defBF532.h b/arch/blackfin/mach-bf533/include/mach/defBF532.h
index 0ab4dd7494cf..7f4633223e6d 100644
--- a/include/asm-blackfin/mach-bf533/defBF532.h
+++ b/arch/blackfin/mach-bf533/include/mach/defBF532.h
@@ -48,7 +48,7 @@
48#define _DEF_BF532_H 48#define _DEF_BF532_H
49 49
50/* include all Core registers and bit definitions */ 50/* include all Core registers and bit definitions */
51#include <asm/mach-common/def_LPBlackfin.h> 51#include <asm/def_LPBlackfin.h>
52 52
53/*********************************************************************************** */ 53/*********************************************************************************** */
54/* System MMR Register Map */ 54/* System MMR Register Map */
diff --git a/include/asm-blackfin/mach-bf533/dma.h b/arch/blackfin/mach-bf533/include/mach/dma.h
index bd9d5e94307d..bd9d5e94307d 100644
--- a/include/asm-blackfin/mach-bf533/dma.h
+++ b/arch/blackfin/mach-bf533/include/mach/dma.h
diff --git a/include/asm-blackfin/mach-bf533/irq.h b/arch/blackfin/mach-bf533/include/mach/irq.h
index 5aa38e5da6b7..5aa38e5da6b7 100644
--- a/include/asm-blackfin/mach-bf533/irq.h
+++ b/arch/blackfin/mach-bf533/include/mach/irq.h
diff --git a/include/asm-blackfin/mach-bf533/mem_init.h b/arch/blackfin/mach-bf533/include/mach/mem_init.h
index ed2034bf10ec..ed2034bf10ec 100644
--- a/include/asm-blackfin/mach-bf533/mem_init.h
+++ b/arch/blackfin/mach-bf533/include/mach/mem_init.h
diff --git a/include/asm-blackfin/mach-bf533/mem_map.h b/arch/blackfin/mach-bf533/include/mach/mem_map.h
index 581fc6eea789..581fc6eea789 100644
--- a/include/asm-blackfin/mach-bf533/mem_map.h
+++ b/arch/blackfin/mach-bf533/include/mach/mem_map.h
diff --git a/include/asm-blackfin/mach-bf533/portmux.h b/arch/blackfin/mach-bf533/include/mach/portmux.h
index 685a2651dcda..685a2651dcda 100644
--- a/include/asm-blackfin/mach-bf533/portmux.h
+++ b/arch/blackfin/mach-bf533/include/mach/portmux.h
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index e93964fdb432..8482d22321f3 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -584,6 +584,30 @@ static struct bfin5xx_spi_chip spidev_chip_info = {
584 584
585#if defined(CONFIG_MTD_DATAFLASH) \ 585#if defined(CONFIG_MTD_DATAFLASH) \
586 || defined(CONFIG_MTD_DATAFLASH_MODULE) 586 || defined(CONFIG_MTD_DATAFLASH_MODULE)
587
588static struct mtd_partition bfin_spi_dataflash_partitions[] = {
589 {
590 .name = "bootloader(spi)",
591 .size = 0x00040000,
592 .offset = 0,
593 .mask_flags = MTD_CAP_ROM
594 }, {
595 .name = "linux kernel(spi)",
596 .size = 0xe0000,
597 .offset = MTDPART_OFS_APPEND,
598 }, {
599 .name = "file system(spi)",
600 .size = MTDPART_SIZ_FULL,
601 .offset = MTDPART_OFS_APPEND,
602 }
603};
604
605static struct flash_platform_data bfin_spi_dataflash_data = {
606 .name = "SPI Dataflash",
607 .parts = bfin_spi_dataflash_partitions,
608 .nr_parts = ARRAY_SIZE(bfin_spi_dataflash_partitions),
609};
610
587/* DataFlash chip */ 611/* DataFlash chip */
588static struct bfin5xx_spi_chip data_flash_chip_info = { 612static struct bfin5xx_spi_chip data_flash_chip_info = {
589 .enable_dma = 0, /* use dma transfer with this chip*/ 613 .enable_dma = 0, /* use dma transfer with this chip*/
@@ -609,9 +633,10 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
609 || defined(CONFIG_MTD_DATAFLASH_MODULE) 633 || defined(CONFIG_MTD_DATAFLASH_MODULE)
610 { /* DataFlash chip */ 634 { /* DataFlash chip */
611 .modalias = "mtd_dataflash", 635 .modalias = "mtd_dataflash",
612 .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ 636 .max_speed_hz = 33250000, /* max spi clock (SCK) speed in HZ */
613 .bus_num = 0, /* Framework bus number */ 637 .bus_num = 0, /* Framework bus number */
614 .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/ 638 .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/
639 .platform_data = &bfin_spi_dataflash_data,
615 .controller_data = &data_flash_chip_info, 640 .controller_data = &data_flash_chip_info,
616 .mode = SPI_MODE_3, 641 .mode = SPI_MODE_3,
617 }, 642 },
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S
index 64e0287ab266..12eb5cc571d0 100644
--- a/arch/blackfin/mach-bf537/head.S
+++ b/arch/blackfin/mach-bf537/head.S
@@ -31,8 +31,8 @@
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#ifdef CONFIG_BFIN_KERNEL_CLOCK 33#ifdef CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach-common/clocks.h> 34#include <asm/clocks.h>
35#include <asm/mach/mem_init.h> 35#include <mach/mem_init.h>
36#endif 36#endif
37 37
38.section .l1.text 38.section .l1.text
diff --git a/include/asm-blackfin/mach-bf537/anomaly.h b/arch/blackfin/mach-bf537/include/mach/anomaly.h
index 8460ab9c324f..8460ab9c324f 100644
--- a/include/asm-blackfin/mach-bf537/anomaly.h
+++ b/arch/blackfin/mach-bf537/include/mach/anomaly.h
diff --git a/include/asm-blackfin/mach-bf537/bf537.h b/arch/blackfin/mach-bf537/include/mach/bf537.h
index cfe2a221112e..cfe2a221112e 100644
--- a/include/asm-blackfin/mach-bf537/bf537.h
+++ b/arch/blackfin/mach-bf537/include/mach/bf537.h
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h
index 1bf56ffa22f9..1bf56ffa22f9 100644
--- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h
+++ b/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h
diff --git a/include/asm-blackfin/mach-bf537/bfin_sir.h b/arch/blackfin/mach-bf537/include/mach/bfin_sir.h
index cfd8ad4f1f2c..cfd8ad4f1f2c 100644
--- a/include/asm-blackfin/mach-bf537/bfin_sir.h
+++ b/arch/blackfin/mach-bf537/include/mach/bfin_sir.h
diff --git a/include/asm-blackfin/mach-bf537/blackfin.h b/arch/blackfin/mach-bf537/include/mach/blackfin.h
index cffc786b2a2b..cffc786b2a2b 100644
--- a/include/asm-blackfin/mach-bf537/blackfin.h
+++ b/arch/blackfin/mach-bf537/include/mach/blackfin.h
diff --git a/include/asm-blackfin/mach-bf537/cdefBF534.h b/arch/blackfin/mach-bf537/include/mach/cdefBF534.h
index 82de526f8097..88d491cd9f36 100644
--- a/include/asm-blackfin/mach-bf537/cdefBF534.h
+++ b/arch/blackfin/mach-bf537/include/mach/cdefBF534.h
@@ -38,7 +38,7 @@
38#include "defBF534.h" 38#include "defBF534.h"
39 39
40/* Include core specific register pointer definitions */ 40/* Include core specific register pointer definitions */
41#include <asm/mach-common/cdef_LPBlackfin.h> 41#include <asm/cdef_LPBlackfin.h>
42 42
43#include <asm/system.h> 43#include <asm/system.h>
44 44
diff --git a/include/asm-blackfin/mach-bf537/cdefBF537.h b/arch/blackfin/mach-bf537/include/mach/cdefBF537.h
index b8fc949a991f..b8fc949a991f 100644
--- a/include/asm-blackfin/mach-bf537/cdefBF537.h
+++ b/arch/blackfin/mach-bf537/include/mach/cdefBF537.h
diff --git a/include/asm-blackfin/mach-bf537/defBF534.h b/arch/blackfin/mach-bf537/include/mach/defBF534.h
index d0d80d3152ba..a3227f9003ff 100644
--- a/include/asm-blackfin/mach-bf537/defBF534.h
+++ b/arch/blackfin/mach-bf537/include/mach/defBF534.h
@@ -32,7 +32,7 @@
32#define _DEF_BF534_H 32#define _DEF_BF534_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/************************************************************************************ 37/************************************************************************************
38** System MMR Register Map 38** System MMR Register Map
diff --git a/include/asm-blackfin/mach-bf537/defBF537.h b/arch/blackfin/mach-bf537/include/mach/defBF537.h
index abde24c6d3b1..3d6c83e31b1e 100644
--- a/include/asm-blackfin/mach-bf537/defBF537.h
+++ b/arch/blackfin/mach-bf537/include/mach/defBF537.h
@@ -33,7 +33,7 @@
33#define _DEF_BF537_H 33#define _DEF_BF537_H
34 34
35/* Include all Core registers and bit definitions*/ 35/* Include all Core registers and bit definitions*/
36#include <asm/mach-common/cdef_LPBlackfin.h> 36#include <asm/cdef_LPBlackfin.h>
37 37
38/* Include all MMR and bit defines common to BF534 */ 38/* Include all MMR and bit defines common to BF534 */
39#include "defBF534.h" 39#include "defBF534.h"
diff --git a/include/asm-blackfin/mach-bf537/dma.h b/arch/blackfin/mach-bf537/include/mach/dma.h
index 7a964040870a..7a964040870a 100644
--- a/include/asm-blackfin/mach-bf537/dma.h
+++ b/arch/blackfin/mach-bf537/include/mach/dma.h
diff --git a/include/asm-blackfin/mach-bf537/irq.h b/arch/blackfin/mach-bf537/include/mach/irq.h
index 2e68a8a1e730..2e68a8a1e730 100644
--- a/include/asm-blackfin/mach-bf537/irq.h
+++ b/arch/blackfin/mach-bf537/include/mach/irq.h
diff --git a/include/asm-blackfin/mach-bf537/mem_init.h b/arch/blackfin/mach-bf537/include/mach/mem_init.h
index f67698f670ca..f67698f670ca 100644
--- a/include/asm-blackfin/mach-bf537/mem_init.h
+++ b/arch/blackfin/mach-bf537/include/mach/mem_init.h
diff --git a/include/asm-blackfin/mach-bf537/mem_map.h b/arch/blackfin/mach-bf537/include/mach/mem_map.h
index 5078b669431f..5078b669431f 100644
--- a/include/asm-blackfin/mach-bf537/mem_map.h
+++ b/arch/blackfin/mach-bf537/include/mach/mem_map.h
diff --git a/include/asm-blackfin/mach-bf537/portmux.h b/arch/blackfin/mach-bf537/include/mach/portmux.h
index 78fee6e0f237..78fee6e0f237 100644
--- a/include/asm-blackfin/mach-bf537/portmux.h
+++ b/arch/blackfin/mach-bf537/include/mach/portmux.h
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c
index 58abbed0a225..ce934ee174e0 100644
--- a/arch/blackfin/mach-bf548/boards/cm_bf548.c
+++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c
@@ -45,7 +45,7 @@
45#include <asm/gpio.h> 45#include <asm/gpio.h>
46#include <asm/nand.h> 46#include <asm/nand.h>
47#include <asm/portmux.h> 47#include <asm/portmux.h>
48#include <asm/mach/bf54x_keys.h> 48#include <mach/bf54x_keys.h>
49#include <asm/dpmc.h> 49#include <asm/dpmc.h>
50#include <linux/input.h> 50#include <linux/input.h>
51#include <linux/spi/ad7877.h> 51#include <linux/spi/ad7877.h>
@@ -61,7 +61,7 @@ const char bfin_board_name[] = "Bluetechnix CM-BF548";
61 61
62#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) 62#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE)
63 63
64#include <asm/mach/bf54x-lq043.h> 64#include <mach/bf54x-lq043.h>
65 65
66static struct bfin_bf54xfb_mach_info bf54x_lq043_data = { 66static struct bfin_bf54xfb_mach_info bf54x_lq043_data = {
67 .width = 480, 67 .width = 480,
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 0d6333ada1d9..39357693046d 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -48,7 +48,7 @@
48#include <asm/nand.h> 48#include <asm/nand.h>
49#include <asm/dpmc.h> 49#include <asm/dpmc.h>
50#include <asm/portmux.h> 50#include <asm/portmux.h>
51#include <asm/mach/bf54x_keys.h> 51#include <mach/bf54x_keys.h>
52#include <linux/input.h> 52#include <linux/input.h>
53#include <linux/spi/ad7877.h> 53#include <linux/spi/ad7877.h>
54 54
@@ -106,7 +106,7 @@ arch_initcall(bfin_isp1761_init);
106 106
107#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) 107#if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE)
108 108
109#include <asm/mach/bf54x-lq043.h> 109#include <mach/bf54x-lq043.h>
110 110
111static struct bfin_bf54xfb_mach_info bf54x_lq043_data = { 111static struct bfin_bf54xfb_mach_info bf54x_lq043_data = {
112 .width = 480, 112 .width = 480,
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S
index e3000f70a26e..4d5cfeacb123 100644
--- a/arch/blackfin/mach-bf548/head.S
+++ b/arch/blackfin/mach-bf548/head.S
@@ -31,8 +31,8 @@
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#ifdef CONFIG_BFIN_KERNEL_CLOCK 33#ifdef CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach-common/clocks.h> 34#include <asm/clocks.h>
35#include <asm/mach/mem_init.h> 35#include <mach/mem_init.h>
36#endif 36#endif
37 37
38.section .l1.text 38.section .l1.text
diff --git a/include/asm-blackfin/mach-bf548/anomaly.h b/arch/blackfin/mach-bf548/include/mach/anomaly.h
index 3ad59655881a..3ad59655881a 100644
--- a/include/asm-blackfin/mach-bf548/anomaly.h
+++ b/arch/blackfin/mach-bf548/include/mach/anomaly.h
diff --git a/include/asm-blackfin/mach-bf548/bf548.h b/arch/blackfin/mach-bf548/include/mach/bf548.h
index e748588e8930..e748588e8930 100644
--- a/include/asm-blackfin/mach-bf548/bf548.h
+++ b/arch/blackfin/mach-bf548/include/mach/bf548.h
diff --git a/include/asm-blackfin/mach-bf548/bf54x-lq043.h b/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h
index 9c7ca62a45eb..9c7ca62a45eb 100644
--- a/include/asm-blackfin/mach-bf548/bf54x-lq043.h
+++ b/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h
diff --git a/include/asm-blackfin/mach-bf548/bf54x_keys.h b/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h
index 1fb4ec77cc25..1fb4ec77cc25 100644
--- a/include/asm-blackfin/mach-bf548/bf54x_keys.h
+++ b/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h
index 5e29446a8e03..5e29446a8e03 100644
--- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h
+++ b/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h
diff --git a/include/asm-blackfin/mach-bf548/bfin_sir.h b/arch/blackfin/mach-bf548/include/mach/bfin_sir.h
index c41f9cf00268..c41f9cf00268 100644
--- a/include/asm-blackfin/mach-bf548/bfin_sir.h
+++ b/arch/blackfin/mach-bf548/include/mach/bfin_sir.h
diff --git a/include/asm-blackfin/mach-bf548/blackfin.h b/arch/blackfin/mach-bf548/include/mach/blackfin.h
index d6ee74ac0460..d6ee74ac0460 100644
--- a/include/asm-blackfin/mach-bf548/blackfin.h
+++ b/arch/blackfin/mach-bf548/include/mach/blackfin.h
diff --git a/include/asm-blackfin/mach-bf548/cdefBF542.h b/arch/blackfin/mach-bf548/include/mach/cdefBF542.h
index 60b9f77576f1..07aefb9ed79b 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF542.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF542.h
@@ -35,7 +35,7 @@
35#include "defBF542.h" 35#include "defBF542.h"
36 36
37/* include core sbfin_read_()ecific register pointer definitions */ 37/* include core sbfin_read_()ecific register pointer definitions */
38#include <asm/mach-common/cdef_LPBlackfin.h> 38#include <asm/cdef_LPBlackfin.h>
39 39
40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF542 */ 40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF542 */
41 41
diff --git a/include/asm-blackfin/mach-bf548/cdefBF544.h b/arch/blackfin/mach-bf548/include/mach/cdefBF544.h
index ea9b4ab496f3..431a69278991 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF544.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF544.h
@@ -35,7 +35,7 @@
35#include "defBF544.h" 35#include "defBF544.h"
36 36
37/* include core sbfin_read_()ecific register pointer definitions */ 37/* include core sbfin_read_()ecific register pointer definitions */
38#include <asm/mach-common/cdef_LPBlackfin.h> 38#include <asm/cdef_LPBlackfin.h>
39 39
40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF544 */ 40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF544 */
41 41
diff --git a/include/asm-blackfin/mach-bf548/cdefBF547.h b/arch/blackfin/mach-bf548/include/mach/cdefBF547.h
index ba716277c00d..93376e90dfc5 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF547.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF547.h
@@ -35,7 +35,7 @@
35#include "defBF548.h" 35#include "defBF548.h"
36 36
37/* include core sbfin_read_()ecific register pointer definitions */ 37/* include core sbfin_read_()ecific register pointer definitions */
38#include <asm/mach-common/cdef_LPBlackfin.h> 38#include <asm/cdef_LPBlackfin.h>
39 39
40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */ 40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */
41 41
diff --git a/include/asm-blackfin/mach-bf548/cdefBF548.h b/arch/blackfin/mach-bf548/include/mach/cdefBF548.h
index ae971ebff6a0..9cd74384136f 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF548.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF548.h
@@ -35,7 +35,7 @@
35#include "defBF548.h" 35#include "defBF548.h"
36 36
37/* include core sbfin_read_()ecific register pointer definitions */ 37/* include core sbfin_read_()ecific register pointer definitions */
38#include <asm/mach-common/cdef_LPBlackfin.h> 38#include <asm/cdef_LPBlackfin.h>
39 39
40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */ 40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */
41 41
diff --git a/include/asm-blackfin/mach-bf548/cdefBF549.h b/arch/blackfin/mach-bf548/include/mach/cdefBF549.h
index 92d07d961999..ead360b69dea 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF549.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF549.h
@@ -35,7 +35,7 @@
35#include "defBF549.h" 35#include "defBF549.h"
36 36
37/* include core sbfin_read_()ecific register pointer definitions */ 37/* include core sbfin_read_()ecific register pointer definitions */
38#include <asm/mach-common/cdef_LPBlackfin.h> 38#include <asm/cdef_LPBlackfin.h>
39 39
40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF549 */ 40/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF549 */
41 41
diff --git a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h b/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h
index 57ac8cb9b1f6..57ac8cb9b1f6 100644
--- a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h
+++ b/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h
diff --git a/include/asm-blackfin/mach-bf548/defBF542.h b/arch/blackfin/mach-bf548/include/mach/defBF542.h
index a7c809f29ede..b1316541b8d6 100644
--- a/include/asm-blackfin/mach-bf548/defBF542.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF542.h
@@ -32,7 +32,7 @@
32#define _DEF_BF542_H 32#define _DEF_BF542_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF542 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF542 */
38 38
diff --git a/include/asm-blackfin/mach-bf548/defBF544.h b/arch/blackfin/mach-bf548/include/mach/defBF544.h
index b8b9870e2697..c2c785bdc5fc 100644
--- a/include/asm-blackfin/mach-bf548/defBF544.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF544.h
@@ -32,7 +32,7 @@
32#define _DEF_BF544_H 32#define _DEF_BF544_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF544 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF544 */
38 38
diff --git a/include/asm-blackfin/mach-bf548/defBF547.h b/arch/blackfin/mach-bf548/include/mach/defBF547.h
index 3a3a18ebb10e..661f0d877bd1 100644
--- a/include/asm-blackfin/mach-bf548/defBF547.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF547.h
@@ -32,7 +32,7 @@
32#define _DEF_BF548_H 32#define _DEF_BF548_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */
38 38
diff --git a/include/asm-blackfin/mach-bf548/defBF548.h b/arch/blackfin/mach-bf548/include/mach/defBF548.h
index 1d7c96edb038..85d4bade911d 100644
--- a/include/asm-blackfin/mach-bf548/defBF548.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF548.h
@@ -32,7 +32,7 @@
32#define _DEF_BF548_H 32#define _DEF_BF548_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */ 37/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF548 */
38 38
diff --git a/include/asm-blackfin/mach-bf548/defBF549.h b/arch/blackfin/mach-bf548/include/mach/defBF549.h
index fcb72b41e007..096734541644 100644
--- a/include/asm-blackfin/mach-bf548/defBF549.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF549.h
@@ -32,7 +32,7 @@
32#define _DEF_BF549_H 32#define _DEF_BF549_H
33 33
34/* Include all Core registers and bit definitions */ 34/* Include all Core registers and bit definitions */
35#include <asm/mach-common/def_LPBlackfin.h> 35#include <asm/def_LPBlackfin.h>
36 36
37 37
38/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF549 */ 38/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF549 */
diff --git a/include/asm-blackfin/mach-bf548/defBF54x_base.h b/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h
index e022e896cb18..e022e896cb18 100644
--- a/include/asm-blackfin/mach-bf548/defBF54x_base.h
+++ b/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h
diff --git a/include/asm-blackfin/mach-bf548/dma.h b/arch/blackfin/mach-bf548/include/mach/dma.h
index 36a2ef7e7849..36a2ef7e7849 100644
--- a/include/asm-blackfin/mach-bf548/dma.h
+++ b/arch/blackfin/mach-bf548/include/mach/dma.h
diff --git a/include/asm-blackfin/mach-bf548/gpio.h b/arch/blackfin/mach-bf548/include/mach/gpio.h
index bba82dc75f16..bba82dc75f16 100644
--- a/include/asm-blackfin/mach-bf548/gpio.h
+++ b/arch/blackfin/mach-bf548/include/mach/gpio.h
diff --git a/include/asm-blackfin/mach-bf548/irq.h b/arch/blackfin/mach-bf548/include/mach/irq.h
index ad380d1f5872..ad380d1f5872 100644
--- a/include/asm-blackfin/mach-bf548/irq.h
+++ b/arch/blackfin/mach-bf548/include/mach/irq.h
diff --git a/include/asm-blackfin/mach-bf548/mem_init.h b/arch/blackfin/mach-bf548/include/mach/mem_init.h
index ab0b863eee66..ab0b863eee66 100644
--- a/include/asm-blackfin/mach-bf548/mem_init.h
+++ b/arch/blackfin/mach-bf548/include/mach/mem_init.h
diff --git a/include/asm-blackfin/mach-bf548/mem_map.h b/arch/blackfin/mach-bf548/include/mach/mem_map.h
index f99f47bc3a07..f99f47bc3a07 100644
--- a/include/asm-blackfin/mach-bf548/mem_map.h
+++ b/arch/blackfin/mach-bf548/include/mach/mem_map.h
diff --git a/include/asm-blackfin/mach-bf548/portmux.h b/arch/blackfin/mach-bf548/include/mach/portmux.h
index 8177a567dcdb..8177a567dcdb 100644
--- a/include/asm-blackfin/mach-bf548/portmux.h
+++ b/arch/blackfin/mach-bf548/include/mach/portmux.h
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S
index c7a81e34703d..75ea6a905829 100644
--- a/arch/blackfin/mach-bf561/head.S
+++ b/arch/blackfin/mach-bf561/head.S
@@ -31,8 +31,8 @@
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#ifdef CONFIG_BFIN_KERNEL_CLOCK 33#ifdef CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach-common/clocks.h> 34#include <asm/clocks.h>
35#include <asm/mach/mem_init.h> 35#include <mach/mem_init.h>
36#endif 36#endif
37 37
38.section .l1.text 38.section .l1.text
diff --git a/include/asm-blackfin/mach-bf561/anomaly.h b/arch/blackfin/mach-bf561/include/mach/anomaly.h
index 5c5d7d7d695f..5c5d7d7d695f 100644
--- a/include/asm-blackfin/mach-bf561/anomaly.h
+++ b/arch/blackfin/mach-bf561/include/mach/anomaly.h
diff --git a/include/asm-blackfin/mach-bf561/bf561.h b/arch/blackfin/mach-bf561/include/mach/bf561.h
index 3ef9e5f36136..3ef9e5f36136 100644
--- a/include/asm-blackfin/mach-bf561/bf561.h
+++ b/arch/blackfin/mach-bf561/include/mach/bf561.h
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h
index 8aa02780e642..8aa02780e642 100644
--- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h
+++ b/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h
diff --git a/include/asm-blackfin/mach-bf561/bfin_sir.h b/arch/blackfin/mach-bf561/include/mach/bfin_sir.h
index 9bb87e9e2e9b..9bb87e9e2e9b 100644
--- a/include/asm-blackfin/mach-bf561/bfin_sir.h
+++ b/arch/blackfin/mach-bf561/include/mach/bfin_sir.h
diff --git a/include/asm-blackfin/mach-bf561/blackfin.h b/arch/blackfin/mach-bf561/include/mach/blackfin.h
index 0ea8666e6764..0ea8666e6764 100644
--- a/include/asm-blackfin/mach-bf561/blackfin.h
+++ b/arch/blackfin/mach-bf561/include/mach/blackfin.h
diff --git a/include/asm-blackfin/mach-bf561/cdefBF561.h b/arch/blackfin/mach-bf561/include/mach/cdefBF561.h
index b07ffccd66dd..c14d63402e70 100644
--- a/include/asm-blackfin/mach-bf561/cdefBF561.h
+++ b/arch/blackfin/mach-bf561/include/mach/cdefBF561.h
@@ -37,7 +37,7 @@
37#include "defBF561.h" 37#include "defBF561.h"
38 38
39/*include core specific register pointer definitions*/ 39/*include core specific register pointer definitions*/
40#include <asm/mach-common/cdef_LPBlackfin.h> 40#include <asm/cdef_LPBlackfin.h>
41 41
42#include <asm/system.h> 42#include <asm/system.h>
43 43
diff --git a/include/asm-blackfin/mach-bf561/defBF561.h b/arch/blackfin/mach-bf561/include/mach/defBF561.h
index 1ab50e906fe7..4eca2026bb92 100644
--- a/include/asm-blackfin/mach-bf561/defBF561.h
+++ b/arch/blackfin/mach-bf561/include/mach/defBF561.h
@@ -37,7 +37,7 @@
37#endif 37#endif
38*/ 38*/
39/* include all Core registers and bit definitions */ 39/* include all Core registers and bit definitions */
40#include <asm/mach-common/def_LPBlackfin.h> 40#include <asm/def_LPBlackfin.h>
41 41
42/*********************************************************************************** */ 42/*********************************************************************************** */
43/* System MMR Register Map */ 43/* System MMR Register Map */
diff --git a/include/asm-blackfin/mach-bf561/dma.h b/arch/blackfin/mach-bf561/include/mach/dma.h
index 8bc46cd89a02..8bc46cd89a02 100644
--- a/include/asm-blackfin/mach-bf561/dma.h
+++ b/arch/blackfin/mach-bf561/include/mach/dma.h
diff --git a/include/asm-blackfin/mach-bf561/irq.h b/arch/blackfin/mach-bf561/include/mach/irq.h
index 6698389c5564..6698389c5564 100644
--- a/include/asm-blackfin/mach-bf561/irq.h
+++ b/arch/blackfin/mach-bf561/include/mach/irq.h
diff --git a/include/asm-blackfin/mach-bf561/mem_init.h b/arch/blackfin/mach-bf561/include/mach/mem_init.h
index e163260bca18..e163260bca18 100644
--- a/include/asm-blackfin/mach-bf561/mem_init.h
+++ b/arch/blackfin/mach-bf561/include/mach/mem_init.h
diff --git a/include/asm-blackfin/mach-bf561/mem_map.h b/arch/blackfin/mach-bf561/include/mach/mem_map.h
index c26d8486cc4b..c26d8486cc4b 100644
--- a/include/asm-blackfin/mach-bf561/mem_map.h
+++ b/arch/blackfin/mach-bf561/include/mach/mem_map.h
diff --git a/include/asm-blackfin/mach-bf561/portmux.h b/arch/blackfin/mach-bf561/include/mach/portmux.h
index a6ee8206efb6..a6ee8206efb6 100644
--- a/include/asm-blackfin/mach-bf561/portmux.h
+++ b/arch/blackfin/mach-bf561/include/mach/portmux.h
diff --git a/arch/blackfin/mach-common/arch_checks.c b/arch/blackfin/mach-common/arch_checks.c
index 5986758b2752..98133b968f7b 100644
--- a/arch/blackfin/mach-common/arch_checks.c
+++ b/arch/blackfin/mach-common/arch_checks.c
@@ -28,8 +28,8 @@
28 */ 28 */
29 29
30#include <asm/fixed_code.h> 30#include <asm/fixed_code.h>
31#include <asm/mach/anomaly.h> 31#include <mach/anomaly.h>
32#include <asm/mach-common/clocks.h> 32#include <asm/clocks.h>
33 33
34#ifdef CONFIG_BFIN_KERNEL_CLOCK 34#ifdef CONFIG_BFIN_KERNEL_CLOCK
35 35
diff --git a/arch/blackfin/mach-common/dpmc_modes.S b/arch/blackfin/mach-common/dpmc_modes.S
index 838b0b2ce9a5..ad5431e2cd05 100644
--- a/arch/blackfin/mach-common/dpmc_modes.S
+++ b/arch/blackfin/mach-common/dpmc_modes.S
@@ -6,7 +6,7 @@
6 6
7#include <linux/linkage.h> 7#include <linux/linkage.h>
8#include <asm/blackfin.h> 8#include <asm/blackfin.h>
9#include <asm/mach/irq.h> 9#include <mach/irq.h>
10#include <asm/dpmc.h> 10#include <asm/dpmc.h>
11 11
12.section .l1.text 12.section .l1.text
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 117c01c2c6b0..847c172a99eb 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -43,7 +43,7 @@
43#include <asm/asm-offsets.h> 43#include <asm/asm-offsets.h>
44#include <asm/trace.h> 44#include <asm/trace.h>
45 45
46#include <asm/mach-common/context.S> 46#include <asm/context.S>
47 47
48#if defined(CONFIG_BFIN_SCRATCH_REG_RETN) 48#if defined(CONFIG_BFIN_SCRATCH_REG_RETN)
49# define EX_SCRATCH_REG RETN 49# define EX_SCRATCH_REG RETN
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index 7f752c87fe46..b27e59d32401 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -29,7 +29,7 @@
29 */ 29 */
30 30
31#include <asm/blackfin.h> 31#include <asm/blackfin.h>
32#include <asm/mach/irq.h> 32#include <mach/irq.h>
33#include <linux/linkage.h> 33#include <linux/linkage.h>
34#include <asm/entry.h> 34#include <asm/entry.h>
35#include <asm/asm-offsets.h> 35#include <asm/asm-offsets.h>
@@ -37,7 +37,7 @@
37#include <asm/traps.h> 37#include <asm/traps.h>
38#include <asm/thread_info.h> 38#include <asm/thread_info.h>
39 39
40#include <asm/mach-common/context.S> 40#include <asm/context.S>
41 41
42.extern _ret_from_exception 42.extern _ret_from_exception
43 43
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c
index 62f8883a5c27..5fa536727c61 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -216,7 +216,7 @@ int bfin_internal_set_wake(unsigned int irq, unsigned int state)
216 wakeup |= KPADWE; 216 wakeup |= KPADWE;
217 break; 217 break;
218#endif 218#endif
219#ifdef IRQ_CNT 219#ifdef CONFIG_BF54x
220 case IRQ_CNT: 220 case IRQ_CNT:
221 wakeup |= ROTWE; 221 wakeup |= ROTWE;
222 break; 222 break;
@@ -983,7 +983,7 @@ int __init init_arch_irq(void)
983 983
984 local_irq_disable(); 984 local_irq_disable();
985 985
986#if defined(CONFIG_BF527) || defined(CONFIG_BF536) || defined(CONFIG_BF537) 986#if (defined(CONFIG_BF537) || defined(CONFIG_BF536))
987 /* Clear EMAC Interrupt Status bits so we can demux it later */ 987 /* Clear EMAC Interrupt Status bits so we can demux it later */
988 bfin_write_EMAC_SYSTAT(-1); 988 bfin_write_EMAC_SYSTAT(-1);
989#endif 989#endif
diff --git a/arch/blackfin/mm/blackfin_sram.c b/arch/blackfin/mm/blackfin_sram.c
index 9d2be43ac3da..4f5e887a0d96 100644
--- a/arch/blackfin/mm/blackfin_sram.c
+++ b/arch/blackfin/mm/blackfin_sram.c
@@ -335,7 +335,7 @@ static int _sram_free(const void *addr,
335 plast->size += pavail->size; 335 plast->size += pavail->size;
336 kmem_cache_free(sram_piece_cache, pavail); 336 kmem_cache_free(sram_piece_cache, pavail);
337 } else { 337 } else {
338 pavail->next = plast; 338 pavail->next = plast->next;
339 plast->next = pavail; 339 plast->next = pavail;
340 plast = pavail; 340 plast = pavail;
341 } 341 }
@@ -379,7 +379,7 @@ EXPORT_SYMBOL(sram_free);
379 379
380void *l1_data_A_sram_alloc(size_t size) 380void *l1_data_A_sram_alloc(size_t size)
381{ 381{
382 unsigned flags; 382 unsigned long flags;
383 void *addr = NULL; 383 void *addr = NULL;
384 384
385 /* add mutex operation */ 385 /* add mutex operation */
@@ -402,7 +402,7 @@ EXPORT_SYMBOL(l1_data_A_sram_alloc);
402 402
403int l1_data_A_sram_free(const void *addr) 403int l1_data_A_sram_free(const void *addr)
404{ 404{
405 unsigned flags; 405 unsigned long flags;
406 int ret; 406 int ret;
407 407
408 /* add mutex operation */ 408 /* add mutex operation */
@@ -425,7 +425,7 @@ EXPORT_SYMBOL(l1_data_A_sram_free);
425void *l1_data_B_sram_alloc(size_t size) 425void *l1_data_B_sram_alloc(size_t size)
426{ 426{
427#if L1_DATA_B_LENGTH != 0 427#if L1_DATA_B_LENGTH != 0
428 unsigned flags; 428 unsigned long flags;
429 void *addr; 429 void *addr;
430 430
431 /* add mutex operation */ 431 /* add mutex operation */
@@ -450,7 +450,7 @@ EXPORT_SYMBOL(l1_data_B_sram_alloc);
450int l1_data_B_sram_free(const void *addr) 450int l1_data_B_sram_free(const void *addr)
451{ 451{
452#if L1_DATA_B_LENGTH != 0 452#if L1_DATA_B_LENGTH != 0
453 unsigned flags; 453 unsigned long flags;
454 int ret; 454 int ret;
455 455
456 /* add mutex operation */ 456 /* add mutex operation */
@@ -504,7 +504,7 @@ EXPORT_SYMBOL(l1_data_sram_free);
504void *l1_inst_sram_alloc(size_t size) 504void *l1_inst_sram_alloc(size_t size)
505{ 505{
506#if L1_CODE_LENGTH != 0 506#if L1_CODE_LENGTH != 0
507 unsigned flags; 507 unsigned long flags;
508 void *addr; 508 void *addr;
509 509
510 /* add mutex operation */ 510 /* add mutex operation */
@@ -529,7 +529,7 @@ EXPORT_SYMBOL(l1_inst_sram_alloc);
529int l1_inst_sram_free(const void *addr) 529int l1_inst_sram_free(const void *addr)
530{ 530{
531#if L1_CODE_LENGTH != 0 531#if L1_CODE_LENGTH != 0
532 unsigned flags; 532 unsigned long flags;
533 int ret; 533 int ret;
534 534
535 /* add mutex operation */ 535 /* add mutex operation */
@@ -551,7 +551,7 @@ EXPORT_SYMBOL(l1_inst_sram_free);
551/* L1 Scratchpad memory allocate function */ 551/* L1 Scratchpad memory allocate function */
552void *l1sram_alloc(size_t size) 552void *l1sram_alloc(size_t size)
553{ 553{
554 unsigned flags; 554 unsigned long flags;
555 void *addr; 555 void *addr;
556 556
557 /* add mutex operation */ 557 /* add mutex operation */
@@ -569,7 +569,7 @@ void *l1sram_alloc(size_t size)
569/* L1 Scratchpad memory allocate function */ 569/* L1 Scratchpad memory allocate function */
570void *l1sram_alloc_max(size_t *psize) 570void *l1sram_alloc_max(size_t *psize)
571{ 571{
572 unsigned flags; 572 unsigned long flags;
573 void *addr; 573 void *addr;
574 574
575 /* add mutex operation */ 575 /* add mutex operation */
@@ -587,7 +587,7 @@ void *l1sram_alloc_max(size_t *psize)
587/* L1 Scratchpad memory free function */ 587/* L1 Scratchpad memory free function */
588int l1sram_free(const void *addr) 588int l1sram_free(const void *addr)
589{ 589{
590 unsigned flags; 590 unsigned long flags;
591 int ret; 591 int ret;
592 592
593 /* add mutex operation */ 593 /* add mutex operation */
@@ -605,7 +605,7 @@ int l1sram_free(const void *addr)
605void *l2_sram_alloc(size_t size) 605void *l2_sram_alloc(size_t size)
606{ 606{
607#if L2_LENGTH != 0 607#if L2_LENGTH != 0
608 unsigned flags; 608 unsigned long flags;
609 void *addr; 609 void *addr;
610 610
611 /* add mutex operation */ 611 /* add mutex operation */
@@ -641,7 +641,7 @@ EXPORT_SYMBOL(l2_sram_zalloc);
641int l2_sram_free(const void *addr) 641int l2_sram_free(const void *addr)
642{ 642{
643#if L2_LENGTH != 0 643#if L2_LENGTH != 0
644 unsigned flags; 644 unsigned long flags;
645 int ret; 645 int ret;
646 646
647 /* add mutex operation */ 647 /* add mutex operation */
diff --git a/arch/ia64/include/asm/io.h b/arch/ia64/include/asm/io.h
index 260a85ac9d6a..7f257507cd86 100644
--- a/arch/ia64/include/asm/io.h
+++ b/arch/ia64/include/asm/io.h
@@ -19,6 +19,8 @@
19 * Copyright (C) 1999 Don Dugger <don.dugger@intel.com> 19 * Copyright (C) 1999 Don Dugger <don.dugger@intel.com>
20 */ 20 */
21 21
22#include <asm/unaligned.h>
23
22/* We don't use IO slowdowns on the ia64, but.. */ 24/* We don't use IO slowdowns on the ia64, but.. */
23#define __SLOW_DOWN_IO do { } while (0) 25#define __SLOW_DOWN_IO do { } while (0)
24#define SLOW_DOWN_IO do { } while (0) 26#define SLOW_DOWN_IO do { } while (0)
@@ -241,7 +243,7 @@ __insw (unsigned long port, void *dst, unsigned long count)
241 unsigned short *dp = dst; 243 unsigned short *dp = dst;
242 244
243 while (count--) 245 while (count--)
244 *dp++ = platform_inw(port); 246 put_unaligned(platform_inw(port), dp++);
245} 247}
246 248
247static inline void 249static inline void
@@ -250,7 +252,7 @@ __insl (unsigned long port, void *dst, unsigned long count)
250 unsigned int *dp = dst; 252 unsigned int *dp = dst;
251 253
252 while (count--) 254 while (count--)
253 *dp++ = platform_inl(port); 255 put_unaligned(platform_inl(port), dp++);
254} 256}
255 257
256static inline void 258static inline void
@@ -268,7 +270,7 @@ __outsw (unsigned long port, const void *src, unsigned long count)
268 const unsigned short *sp = src; 270 const unsigned short *sp = src;
269 271
270 while (count--) 272 while (count--)
271 platform_outw(*sp++, port); 273 platform_outw(get_unaligned(sp++), port);
272} 274}
273 275
274static inline void 276static inline void
@@ -277,7 +279,7 @@ __outsl (unsigned long port, const void *src, unsigned long count)
277 const unsigned int *sp = src; 279 const unsigned int *sp = src;
278 280
279 while (count--) 281 while (count--)
280 platform_outl(*sp++, port); 282 platform_outl(get_unaligned(sp++), port);
281} 283}
282 284
283/* 285/*
diff --git a/arch/ia64/include/asm/sections.h b/arch/ia64/include/asm/sections.h
index 7286e4a9fe84..a7acad2bc2f0 100644
--- a/arch/ia64/include/asm/sections.h
+++ b/arch/ia64/include/asm/sections.h
@@ -21,5 +21,8 @@ extern char __start_gate_brl_fsys_bubble_down_patchlist[], __end_gate_brl_fsys_b
21extern char __start_unwind[], __end_unwind[]; 21extern char __start_unwind[], __end_unwind[];
22extern char __start_ivt_text[], __end_ivt_text[]; 22extern char __start_ivt_text[], __end_ivt_text[];
23 23
24#undef dereference_function_descriptor
25void *dereference_function_descriptor(void *);
26
24#endif /* _ASM_IA64_SECTIONS_H */ 27#endif /* _ASM_IA64_SECTIONS_H */
25 28
diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c
index 29aad349e0c4..545626f66a4c 100644
--- a/arch/ia64/kernel/module.c
+++ b/arch/ia64/kernel/module.c
@@ -31,9 +31,11 @@
31#include <linux/elf.h> 31#include <linux/elf.h>
32#include <linux/moduleloader.h> 32#include <linux/moduleloader.h>
33#include <linux/string.h> 33#include <linux/string.h>
34#include <linux/uaccess.h>
34#include <linux/vmalloc.h> 35#include <linux/vmalloc.h>
35 36
36#include <asm/patch.h> 37#include <asm/patch.h>
38#include <asm/sections.h>
37#include <asm/unaligned.h> 39#include <asm/unaligned.h>
38 40
39#define ARCH_MODULE_DEBUG 0 41#define ARCH_MODULE_DEBUG 0
@@ -941,3 +943,13 @@ module_arch_cleanup (struct module *mod)
941 if (mod->arch.core_unw_table) 943 if (mod->arch.core_unw_table)
942 unw_remove_unwind_table(mod->arch.core_unw_table); 944 unw_remove_unwind_table(mod->arch.core_unw_table);
943} 945}
946
947void *dereference_function_descriptor(void *ptr)
948{
949 struct fdesc *desc = ptr;
950 void *p;
951
952 if (!probe_kernel_address(&desc->ip, p))
953 ptr = p;
954 return ptr;
955}
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
index b39853a292d5..bcea81e432fd 100644
--- a/arch/ia64/kernel/smpboot.c
+++ b/arch/ia64/kernel/smpboot.c
@@ -138,6 +138,7 @@ cpumask_t cpu_possible_map = CPU_MASK_NONE;
138EXPORT_SYMBOL(cpu_possible_map); 138EXPORT_SYMBOL(cpu_possible_map);
139 139
140cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned; 140cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned;
141EXPORT_SYMBOL(cpu_core_map);
141DEFINE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map); 142DEFINE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map);
142EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); 143EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
143 144
diff --git a/arch/m68k/atari/atakeyb.c b/arch/m68k/atari/atakeyb.c
index 8a2a53b33616..bb959fbab2dc 100644
--- a/arch/m68k/atari/atakeyb.c
+++ b/arch/m68k/atari/atakeyb.c
@@ -580,13 +580,15 @@ int atari_keyb_init(void)
580 do { 580 do {
581 /* reset IKBD ACIA */ 581 /* reset IKBD ACIA */
582 acia.key_ctrl = ACIA_RESET | 582 acia.key_ctrl = ACIA_RESET |
583 (atari_switches & ATARI_SWITCH_IKBD) ? ACIA_RHTID : 0; 583 ((atari_switches & ATARI_SWITCH_IKBD) ?
584 ACIA_RHTID : 0);
584 (void)acia.key_ctrl; 585 (void)acia.key_ctrl;
585 (void)acia.key_data; 586 (void)acia.key_data;
586 587
587 /* reset MIDI ACIA */ 588 /* reset MIDI ACIA */
588 acia.mid_ctrl = ACIA_RESET | 589 acia.mid_ctrl = ACIA_RESET |
589 (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0; 590 ((atari_switches & ATARI_SWITCH_MIDI) ?
591 ACIA_RHTID : 0);
590 (void)acia.mid_ctrl; 592 (void)acia.mid_ctrl;
591 (void)acia.mid_data; 593 (void)acia.mid_data;
592 594
@@ -599,7 +601,8 @@ int atari_keyb_init(void)
599 ACIA_RHTID : ACIA_RLTID); 601 ACIA_RHTID : ACIA_RLTID);
600 602
601 acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S | 603 acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S |
602 (atari_switches & ATARI_SWITCH_MIDI) ? ACIA_RHTID : 0; 604 ((atari_switches & ATARI_SWITCH_MIDI) ?
605 ACIA_RHTID : 0);
603 606
604 /* make sure the interrupt line is up */ 607 /* make sure the interrupt line is up */
605 } while ((mfp.par_dt_reg & 0x10) == 0); 608 } while ((mfp.par_dt_reg & 0x10) == 0);
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 4da736e25333..49896a2a1d72 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1886,6 +1886,15 @@ config STACKTRACE_SUPPORT
1886 1886
1887source "init/Kconfig" 1887source "init/Kconfig"
1888 1888
1889config PROBE_INITRD_HEADER
1890 bool "Probe initrd header created by addinitrd"
1891 depends on BLK_DEV_INITRD
1892 help
1893 Probe initrd header at the last page of kernel image.
1894 Say Y here if you are using arch/mips/boot/addinitrd.c to
1895 add initrd or initramfs image to the kernel image.
1896 Otherwise, say N.
1897
1889menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 1898menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1890 1899
1891config HW_HAS_EISA 1900config HW_HAS_EISA
diff --git a/arch/mips/emma2rh/markeins/setup.c b/arch/mips/emma2rh/markeins/setup.c
index 822a20e21fa4..b6a23ad539f8 100644
--- a/arch/mips/emma2rh/markeins/setup.c
+++ b/arch/mips/emma2rh/markeins/setup.c
@@ -25,23 +25,9 @@
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/kernel.h> 26#include <linux/kernel.h>
27#include <linux/types.h> 27#include <linux/types.h>
28#include <linux/initrd.h> 28
29#include <linux/irq.h>
30#include <linux/ioport.h>
31#include <linux/param.h> /* for HZ */
32#include <linux/root_dev.h>
33#include <linux/serial.h>
34#include <linux/serial_core.h>
35
36#include <asm/cpu.h>
37#include <asm/bootinfo.h>
38#include <asm/addrspace.h>
39#include <asm/time.h> 29#include <asm/time.h>
40#include <asm/bcache.h>
41#include <asm/irq.h>
42#include <asm/reboot.h> 30#include <asm/reboot.h>
43#include <asm/traps.h>
44#include <asm/debug.h>
45 31
46#include <asm/emma2rh/emma2rh.h> 32#include <asm/emma2rh/emma2rh.h>
47 33
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c
index b59ba6b93cdd..7043f6b9ff3c 100644
--- a/arch/mips/jazz/setup.c
+++ b/arch/mips/jazz/setup.c
@@ -5,33 +5,22 @@
5 * License. See the file "COPYING" in the main directory of this archive 5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details. 6 * for more details.
7 * 7 *
8 * Copyright (C) 1996, 1997, 1998, 2001, 07 by Ralf Baechle 8 * Copyright (C) 1996, 1997, 1998, 2001, 07, 08 by Ralf Baechle
9 * Copyright (C) 2001 MIPS Technologies, Inc. 9 * Copyright (C) 2001 MIPS Technologies, Inc.
10 * Copyright (C) 2007 by Thomas Bogendoerfer 10 * Copyright (C) 2007 by Thomas Bogendoerfer
11 */ 11 */
12#include <linux/eisa.h> 12#include <linux/eisa.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/ioport.h> 14#include <linux/ioport.h>
15#include <linux/sched.h>
16#include <linux/interrupt.h>
17#include <linux/mm.h>
18#include <linux/console.h> 15#include <linux/console.h>
19#include <linux/fb.h>
20#include <linux/pm.h>
21#include <linux/screen_info.h> 16#include <linux/screen_info.h>
22#include <linux/platform_device.h> 17#include <linux/platform_device.h>
23#include <linux/serial_8250.h> 18#include <linux/serial_8250.h>
24 19
25#include <asm/bootinfo.h>
26#include <asm/irq.h>
27#include <asm/jazz.h> 20#include <asm/jazz.h>
28#include <asm/jazzdma.h> 21#include <asm/jazzdma.h>
29#include <asm/reboot.h> 22#include <asm/reboot.h>
30#include <asm/io.h>
31#include <asm/pgtable.h> 23#include <asm/pgtable.h>
32#include <asm/time.h>
33#include <asm/traps.h>
34#include <asm/mc146818-time.h>
35 24
36extern asmlinkage void jazz_handle_int(void); 25extern asmlinkage void jazz_handle_int(void);
37 26
diff --git a/arch/mips/kernel/.gitignore b/arch/mips/kernel/.gitignore
new file mode 100644
index 000000000000..c5f676c3c224
--- /dev/null
+++ b/arch/mips/kernel/.gitignore
@@ -0,0 +1 @@
vmlinux.lds
diff --git a/arch/mips/kernel/kgdb.c b/arch/mips/kernel/kgdb.c
index c5a8b2d21ca4..8f6d58ede33c 100644
--- a/arch/mips/kernel/kgdb.c
+++ b/arch/mips/kernel/kgdb.c
@@ -62,13 +62,13 @@ void arch_kgdb_breakpoint(void)
62 62
63static void kgdb_call_nmi_hook(void *ignored) 63static void kgdb_call_nmi_hook(void *ignored)
64{ 64{
65 kgdb_nmicallback(raw_smp_processor_id(), (void *)0); 65 kgdb_nmicallback(raw_smp_processor_id(), NULL);
66} 66}
67 67
68void kgdb_roundup_cpus(unsigned long flags) 68void kgdb_roundup_cpus(unsigned long flags)
69{ 69{
70 local_irq_enable(); 70 local_irq_enable();
71 smp_call_function(kgdb_call_nmi_hook, NULL, NULL); 71 smp_call_function(kgdb_call_nmi_hook, NULL, 0);
72 local_irq_disable(); 72 local_irq_disable();
73} 73}
74 74
@@ -190,9 +190,6 @@ static int kgdb_mips_notify(struct notifier_block *self, unsigned long cmd,
190 struct pt_regs *regs = args->regs; 190 struct pt_regs *regs = args->regs;
191 int trap = (regs->cp0_cause & 0x7c) >> 2; 191 int trap = (regs->cp0_cause & 0x7c) >> 2;
192 192
193 if (fixup_exception(regs))
194 return NOTIFY_DONE;
195
196 /* Userpace events, ignore. */ 193 /* Userpace events, ignore. */
197 if (user_mode(regs)) 194 if (user_mode(regs))
198 return NOTIFY_DONE; 195 return NOTIFY_DONE;
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index fc4fd4d705e2..5e75a316f6b1 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -647,6 +647,12 @@ einval: li v0, -EINVAL
647 sys sys_timerfd_create 2 647 sys sys_timerfd_create 2
648 sys sys_timerfd_gettime 2 648 sys sys_timerfd_gettime 2
649 sys sys_timerfd_settime 4 649 sys sys_timerfd_settime 4
650 sys sys_signalfd4 4
651 sys sys_eventfd2 2 /* 4325 */
652 sys sys_epoll_create1 1
653 sys sys_dup3 3
654 sys sys_pipe2 2
655 sys sys_inotify_init1 1
650 .endm 656 .endm
651 657
652 /* We pre-compute the number of _instruction_ bytes needed to 658 /* We pre-compute the number of _instruction_ bytes needed to
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 2b73fd1e4528..3d58204c9d44 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -481,4 +481,10 @@ sys_call_table:
481 PTR sys_timerfd_create /* 5280 */ 481 PTR sys_timerfd_create /* 5280 */
482 PTR sys_timerfd_gettime 482 PTR sys_timerfd_gettime
483 PTR sys_timerfd_settime 483 PTR sys_timerfd_settime
484 PTR sys_signalfd4
485 PTR sys_eventfd2
486 PTR sys_epoll_create1 /* 5285 */
487 PTR sys_dup3
488 PTR sys_pipe2
489 PTR sys_inotify_init1
484 .size sys_call_table,.-sys_call_table 490 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 2654e75d2fef..da7f1b6ea0fb 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -407,4 +407,10 @@ EXPORT(sysn32_call_table)
407 PTR sys_timerfd_create 407 PTR sys_timerfd_create
408 PTR sys_timerfd_gettime /* 5285 */ 408 PTR sys_timerfd_gettime /* 5285 */
409 PTR sys_timerfd_settime 409 PTR sys_timerfd_settime
410 PTR sys_signalfd4
411 PTR sys_eventfd2
412 PTR sys_epoll_create1
413 PTR sys_dup3 /* 5290 */
414 PTR sys_pipe2
415 PTR sys_inotify_init1
410 .size sysn32_call_table,.-sysn32_call_table 416 .size sysn32_call_table,.-sysn32_call_table
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 76167bea5a70..d7cd1aac9ada 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -529,4 +529,10 @@ sys_call_table:
529 PTR sys_timerfd_create 529 PTR sys_timerfd_create
530 PTR sys_timerfd_gettime 530 PTR sys_timerfd_gettime
531 PTR sys_timerfd_settime 531 PTR sys_timerfd_settime
532 PTR compat_sys_signalfd4
533 PTR sys_eventfd2 /* 4325 */
534 PTR sys_epoll_create1
535 PTR sys_dup3
536 PTR sys_pipe2
537 PTR sys_inotify_init1
532 .size sys_call_table,.-sys_call_table 538 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 8af84867e74d..16f8edfe5cdc 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -78,7 +78,7 @@ void __init add_memory_region(phys_t start, phys_t size, long type)
78 78
79 /* Sanity check */ 79 /* Sanity check */
80 if (start + size < start) { 80 if (start + size < start) {
81 printk("Trying to add an invalid memory region, skipped\n"); 81 pr_warning("Trying to add an invalid memory region, skipped\n");
82 return; 82 return;
83 } 83 }
84 84
@@ -92,7 +92,7 @@ void __init add_memory_region(phys_t start, phys_t size, long type)
92 } 92 }
93 93
94 if (x == BOOT_MEM_MAP_MAX) { 94 if (x == BOOT_MEM_MAP_MAX) {
95 printk("Ooops! Too many entries in the memory map!\n"); 95 pr_err("Ooops! Too many entries in the memory map!\n");
96 return; 96 return;
97 } 97 }
98 98
@@ -108,22 +108,22 @@ static void __init print_memory_map(void)
108 const int field = 2 * sizeof(unsigned long); 108 const int field = 2 * sizeof(unsigned long);
109 109
110 for (i = 0; i < boot_mem_map.nr_map; i++) { 110 for (i = 0; i < boot_mem_map.nr_map; i++) {
111 printk(" memory: %0*Lx @ %0*Lx ", 111 printk(KERN_INFO " memory: %0*Lx @ %0*Lx ",
112 field, (unsigned long long) boot_mem_map.map[i].size, 112 field, (unsigned long long) boot_mem_map.map[i].size,
113 field, (unsigned long long) boot_mem_map.map[i].addr); 113 field, (unsigned long long) boot_mem_map.map[i].addr);
114 114
115 switch (boot_mem_map.map[i].type) { 115 switch (boot_mem_map.map[i].type) {
116 case BOOT_MEM_RAM: 116 case BOOT_MEM_RAM:
117 printk("(usable)\n"); 117 printk(KERN_CONT "(usable)\n");
118 break; 118 break;
119 case BOOT_MEM_ROM_DATA: 119 case BOOT_MEM_ROM_DATA:
120 printk("(ROM data)\n"); 120 printk(KERN_CONT "(ROM data)\n");
121 break; 121 break;
122 case BOOT_MEM_RESERVED: 122 case BOOT_MEM_RESERVED:
123 printk("(reserved)\n"); 123 printk(KERN_CONT "(reserved)\n");
124 break; 124 break;
125 default: 125 default:
126 printk("type %lu\n", boot_mem_map.map[i].type); 126 printk(KERN_CONT "type %lu\n", boot_mem_map.map[i].type);
127 break; 127 break;
128 } 128 }
129 } 129 }
@@ -160,36 +160,39 @@ early_param("rd_size", rd_size_early);
160static unsigned long __init init_initrd(void) 160static unsigned long __init init_initrd(void)
161{ 161{
162 unsigned long end; 162 unsigned long end;
163 u32 *initrd_header;
164 163
165 /* 164 /*
166 * Board specific code or command line parser should have 165 * Board specific code or command line parser should have
167 * already set up initrd_start and initrd_end. In these cases 166 * already set up initrd_start and initrd_end. In these cases
168 * perfom sanity checks and use them if all looks good. 167 * perfom sanity checks and use them if all looks good.
169 */ 168 */
170 if (initrd_start && initrd_end > initrd_start) 169 if (!initrd_start || initrd_end <= initrd_start) {
171 goto sanitize; 170#ifdef CONFIG_PROBE_INITRD_HEADER
171 u32 *initrd_header;
172 172
173 /* 173 /*
174 * See if initrd has been added to the kernel image by 174 * See if initrd has been added to the kernel image by
175 * arch/mips/boot/addinitrd.c. In that case a header is 175 * arch/mips/boot/addinitrd.c. In that case a header is
176 * prepended to initrd and is made up by 8 bytes. The fisrt 176 * prepended to initrd and is made up by 8 bytes. The first
177 * word is a magic number and the second one is the size of 177 * word is a magic number and the second one is the size of
178 * initrd. Initrd start must be page aligned in any cases. 178 * initrd. Initrd start must be page aligned in any cases.
179 */ 179 */
180 initrd_header = __va(PAGE_ALIGN(__pa_symbol(&_end) + 8)) - 8; 180 initrd_header = __va(PAGE_ALIGN(__pa_symbol(&_end) + 8)) - 8;
181 if (initrd_header[0] != 0x494E5244) 181 if (initrd_header[0] != 0x494E5244)
182 goto disable;
183 initrd_start = (unsigned long)(initrd_header + 2);
184 initrd_end = initrd_start + initrd_header[1];
185#else
182 goto disable; 186 goto disable;
183 initrd_start = (unsigned long)(initrd_header + 2); 187#endif
184 initrd_end = initrd_start + initrd_header[1]; 188 }
185 189
186sanitize:
187 if (initrd_start & ~PAGE_MASK) { 190 if (initrd_start & ~PAGE_MASK) {
188 printk(KERN_ERR "initrd start must be page aligned\n"); 191 pr_err("initrd start must be page aligned\n");
189 goto disable; 192 goto disable;
190 } 193 }
191 if (initrd_start < PAGE_OFFSET) { 194 if (initrd_start < PAGE_OFFSET) {
192 printk(KERN_ERR "initrd start < PAGE_OFFSET\n"); 195 pr_err("initrd start < PAGE_OFFSET\n");
193 goto disable; 196 goto disable;
194 } 197 }
195 198
@@ -221,18 +224,18 @@ static void __init finalize_initrd(void)
221 goto disable; 224 goto disable;
222 } 225 }
223 if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { 226 if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) {
224 printk("Initrd extends beyond end of memory"); 227 printk(KERN_ERR "Initrd extends beyond end of memory");
225 goto disable; 228 goto disable;
226 } 229 }
227 230
228 reserve_bootmem(__pa(initrd_start), size, BOOTMEM_DEFAULT); 231 reserve_bootmem(__pa(initrd_start), size, BOOTMEM_DEFAULT);
229 initrd_below_start_ok = 1; 232 initrd_below_start_ok = 1;
230 233
231 printk(KERN_INFO "Initial ramdisk at: 0x%lx (%lu bytes)\n", 234 pr_info("Initial ramdisk at: 0x%lx (%lu bytes)\n",
232 initrd_start, size); 235 initrd_start, size);
233 return; 236 return;
234disable: 237disable:
235 printk(" - disabling initrd\n"); 238 printk(KERN_CONT " - disabling initrd\n");
236 initrd_start = 0; 239 initrd_start = 0;
237 initrd_end = 0; 240 initrd_end = 0;
238} 241}
@@ -310,14 +313,12 @@ static void __init bootmem_init(void)
310 if (min_low_pfn >= max_low_pfn) 313 if (min_low_pfn >= max_low_pfn)
311 panic("Incorrect memory mapping !!!"); 314 panic("Incorrect memory mapping !!!");
312 if (min_low_pfn > ARCH_PFN_OFFSET) { 315 if (min_low_pfn > ARCH_PFN_OFFSET) {
313 printk(KERN_INFO 316 pr_info("Wasting %lu bytes for tracking %lu unused pages\n",
314 "Wasting %lu bytes for tracking %lu unused pages\n", 317 (min_low_pfn - ARCH_PFN_OFFSET) * sizeof(struct page),
315 (min_low_pfn - ARCH_PFN_OFFSET) * sizeof(struct page), 318 min_low_pfn - ARCH_PFN_OFFSET);
316 min_low_pfn - ARCH_PFN_OFFSET);
317 } else if (min_low_pfn < ARCH_PFN_OFFSET) { 319 } else if (min_low_pfn < ARCH_PFN_OFFSET) {
318 printk(KERN_INFO 320 pr_info("%lu free pages won't be used\n",
319 "%lu free pages won't be used\n", 321 ARCH_PFN_OFFSET - min_low_pfn);
320 ARCH_PFN_OFFSET - min_low_pfn);
321 } 322 }
322 min_low_pfn = ARCH_PFN_OFFSET; 323 min_low_pfn = ARCH_PFN_OFFSET;
323 324
@@ -471,7 +472,7 @@ static void __init arch_mem_init(char **cmdline_p)
471 /* call board setup routine */ 472 /* call board setup routine */
472 plat_mem_setup(); 473 plat_mem_setup();
473 474
474 printk("Determined physical RAM map:\n"); 475 pr_info("Determined physical RAM map:\n");
475 print_memory_map(); 476 print_memory_map();
476 477
477 strlcpy(command_line, arcs_cmdline, sizeof(command_line)); 478 strlcpy(command_line, arcs_cmdline, sizeof(command_line));
@@ -482,7 +483,7 @@ static void __init arch_mem_init(char **cmdline_p)
482 parse_early_param(); 483 parse_early_param();
483 484
484 if (usermem) { 485 if (usermem) {
485 printk("User-defined physical RAM map:\n"); 486 pr_info("User-defined physical RAM map:\n");
486 print_memory_map(); 487 print_memory_map();
487 } 488 }
488 489
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 426cced1e9dc..6bee29097a56 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -373,8 +373,8 @@ void __noreturn die(const char * str, const struct pt_regs * regs)
373 do_exit(SIGSEGV); 373 do_exit(SIGSEGV);
374} 374}
375 375
376extern const struct exception_table_entry __start___dbe_table[]; 376extern struct exception_table_entry __start___dbe_table[];
377extern const struct exception_table_entry __stop___dbe_table[]; 377extern struct exception_table_entry __stop___dbe_table[];
378 378
379__asm__( 379__asm__(
380" .section __dbe_table, \"a\"\n" 380" .section __dbe_table, \"a\"\n"
@@ -1200,7 +1200,7 @@ void *set_except_vector(int n, void *addr)
1200 if (n == 0 && cpu_has_divec) { 1200 if (n == 0 && cpu_has_divec) {
1201 *(u32 *)(ebase + 0x200) = 0x08000000 | 1201 *(u32 *)(ebase + 0x200) = 0x08000000 |
1202 (0x03ffffff & (handler >> 2)); 1202 (0x03ffffff & (handler >> 2));
1203 flush_icache_range(ebase + 0x200, ebase + 0x204); 1203 local_flush_icache_range(ebase + 0x200, ebase + 0x204);
1204 } 1204 }
1205 return (void *)old_handler; 1205 return (void *)old_handler;
1206} 1206}
@@ -1283,7 +1283,8 @@ static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs)
1283 *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff); 1283 *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff);
1284 w = (u32 *)(b + ori_offset); 1284 w = (u32 *)(b + ori_offset);
1285 *w = (*w & 0xffff0000) | ((u32)handler & 0xffff); 1285 *w = (*w & 0xffff0000) | ((u32)handler & 0xffff);
1286 flush_icache_range((unsigned long)b, (unsigned long)(b+handler_len)); 1286 local_flush_icache_range((unsigned long)b,
1287 (unsigned long)(b+handler_len));
1287 } 1288 }
1288 else { 1289 else {
1289 /* 1290 /*
@@ -1295,7 +1296,8 @@ static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs)
1295 w = (u32 *)b; 1296 w = (u32 *)b;
1296 *w++ = 0x08000000 | (((u32)handler >> 2) & 0x03fffff); /* j handler */ 1297 *w++ = 0x08000000 | (((u32)handler >> 2) & 0x03fffff); /* j handler */
1297 *w = 0; 1298 *w = 0;
1298 flush_icache_range((unsigned long)b, (unsigned long)(b+8)); 1299 local_flush_icache_range((unsigned long)b,
1300 (unsigned long)(b+8));
1299 } 1301 }
1300 1302
1301 return (void *)old_handler; 1303 return (void *)old_handler;
@@ -1515,7 +1517,7 @@ void __cpuinit per_cpu_trap_init(void)
1515void __init set_handler(unsigned long offset, void *addr, unsigned long size) 1517void __init set_handler(unsigned long offset, void *addr, unsigned long size)
1516{ 1518{
1517 memcpy((void *)(ebase + offset), addr, size); 1519 memcpy((void *)(ebase + offset), addr, size);
1518 flush_icache_range(ebase + offset, ebase + offset + size); 1520 local_flush_icache_range(ebase + offset, ebase + offset + size);
1519} 1521}
1520 1522
1521static char panic_null_cerr[] __cpuinitdata = 1523static char panic_null_cerr[] __cpuinitdata =
@@ -1680,6 +1682,8 @@ void __init trap_init(void)
1680 signal32_init(); 1682 signal32_init();
1681#endif 1683#endif
1682 1684
1683 flush_icache_range(ebase, ebase + 0x400); 1685 local_flush_icache_range(ebase, ebase + 0x400);
1684 flush_tlb_handlers(); 1686 flush_tlb_handlers();
1687
1688 sort_extable(__start___dbe_table, __stop___dbe_table);
1685} 1689}
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c
index 27a5b466c85c..5500c20c79ae 100644
--- a/arch/mips/mm/c-r3k.c
+++ b/arch/mips/mm/c-r3k.c
@@ -320,6 +320,7 @@ void __cpuinit r3k_cache_init(void)
320 flush_cache_range = r3k_flush_cache_range; 320 flush_cache_range = r3k_flush_cache_range;
321 flush_cache_page = r3k_flush_cache_page; 321 flush_cache_page = r3k_flush_cache_page;
322 flush_icache_range = r3k_flush_icache_range; 322 flush_icache_range = r3k_flush_icache_range;
323 local_flush_icache_range = r3k_flush_icache_range;
323 324
324 flush_cache_sigtramp = r3k_flush_cache_sigtramp; 325 flush_cache_sigtramp = r3k_flush_cache_sigtramp;
325 local_flush_data_cache_page = local_r3k_flush_data_cache_page; 326 local_flush_data_cache_page = local_r3k_flush_data_cache_page;
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 71df3390c07b..6e99665ae860 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -543,12 +543,8 @@ struct flush_icache_range_args {
543 unsigned long end; 543 unsigned long end;
544}; 544};
545 545
546static inline void local_r4k_flush_icache_range(void *args) 546static inline void local_r4k_flush_icache_range(unsigned long start, unsigned long end)
547{ 547{
548 struct flush_icache_range_args *fir_args = args;
549 unsigned long start = fir_args->start;
550 unsigned long end = fir_args->end;
551
552 if (!cpu_has_ic_fills_f_dc) { 548 if (!cpu_has_ic_fills_f_dc) {
553 if (end - start >= dcache_size) { 549 if (end - start >= dcache_size) {
554 r4k_blast_dcache(); 550 r4k_blast_dcache();
@@ -564,6 +560,15 @@ static inline void local_r4k_flush_icache_range(void *args)
564 protected_blast_icache_range(start, end); 560 protected_blast_icache_range(start, end);
565} 561}
566 562
563static inline void local_r4k_flush_icache_range_ipi(void *args)
564{
565 struct flush_icache_range_args *fir_args = args;
566 unsigned long start = fir_args->start;
567 unsigned long end = fir_args->end;
568
569 local_r4k_flush_icache_range(start, end);
570}
571
567static void r4k_flush_icache_range(unsigned long start, unsigned long end) 572static void r4k_flush_icache_range(unsigned long start, unsigned long end)
568{ 573{
569 struct flush_icache_range_args args; 574 struct flush_icache_range_args args;
@@ -571,7 +576,7 @@ static void r4k_flush_icache_range(unsigned long start, unsigned long end)
571 args.start = start; 576 args.start = start;
572 args.end = end; 577 args.end = end;
573 578
574 r4k_on_each_cpu(local_r4k_flush_icache_range, &args, 1); 579 r4k_on_each_cpu(local_r4k_flush_icache_range_ipi, &args, 1);
575 instruction_hazard(); 580 instruction_hazard();
576} 581}
577 582
@@ -1375,6 +1380,7 @@ void __cpuinit r4k_cache_init(void)
1375 local_flush_data_cache_page = local_r4k_flush_data_cache_page; 1380 local_flush_data_cache_page = local_r4k_flush_data_cache_page;
1376 flush_data_cache_page = r4k_flush_data_cache_page; 1381 flush_data_cache_page = r4k_flush_data_cache_page;
1377 flush_icache_range = r4k_flush_icache_range; 1382 flush_icache_range = r4k_flush_icache_range;
1383 local_flush_icache_range = local_r4k_flush_icache_range;
1378 1384
1379#if defined(CONFIG_DMA_NONCOHERENT) 1385#if defined(CONFIG_DMA_NONCOHERENT)
1380 if (coherentio) { 1386 if (coherentio) {
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c
index a9f7f1f5e9b4..f7c8f9ce39c1 100644
--- a/arch/mips/mm/c-tx39.c
+++ b/arch/mips/mm/c-tx39.c
@@ -362,6 +362,7 @@ void __cpuinit tx39_cache_init(void)
362 flush_cache_range = (void *) tx39h_flush_icache_all; 362 flush_cache_range = (void *) tx39h_flush_icache_all;
363 flush_cache_page = (void *) tx39h_flush_icache_all; 363 flush_cache_page = (void *) tx39h_flush_icache_all;
364 flush_icache_range = (void *) tx39h_flush_icache_all; 364 flush_icache_range = (void *) tx39h_flush_icache_all;
365 local_flush_icache_range = (void *) tx39h_flush_icache_all;
365 366
366 flush_cache_sigtramp = (void *) tx39h_flush_icache_all; 367 flush_cache_sigtramp = (void *) tx39h_flush_icache_all;
367 local_flush_data_cache_page = (void *) tx39h_flush_icache_all; 368 local_flush_data_cache_page = (void *) tx39h_flush_icache_all;
@@ -390,6 +391,7 @@ void __cpuinit tx39_cache_init(void)
390 flush_cache_range = tx39_flush_cache_range; 391 flush_cache_range = tx39_flush_cache_range;
391 flush_cache_page = tx39_flush_cache_page; 392 flush_cache_page = tx39_flush_cache_page;
392 flush_icache_range = tx39_flush_icache_range; 393 flush_icache_range = tx39_flush_icache_range;
394 local_flush_icache_range = tx39_flush_icache_range;
393 395
394 flush_cache_sigtramp = tx39_flush_cache_sigtramp; 396 flush_cache_sigtramp = tx39_flush_cache_sigtramp;
395 local_flush_data_cache_page = local_tx39_flush_data_cache_page; 397 local_flush_data_cache_page = local_tx39_flush_data_cache_page;
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 034e8506f6ea..1eb7c71e3d6a 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -29,6 +29,7 @@ void (*flush_cache_range)(struct vm_area_struct *vma, unsigned long start,
29void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, 29void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page,
30 unsigned long pfn); 30 unsigned long pfn);
31void (*flush_icache_range)(unsigned long start, unsigned long end); 31void (*flush_icache_range)(unsigned long start, unsigned long end);
32void (*local_flush_icache_range)(unsigned long start, unsigned long end);
32 33
33void (*__flush_cache_vmap)(void); 34void (*__flush_cache_vmap)(void);
34void (*__flush_cache_vunmap)(void); 35void (*__flush_cache_vunmap)(void);
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 76da73a5ab3c..979cf9197282 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -1273,10 +1273,10 @@ void __cpuinit build_tlb_refill_handler(void)
1273 1273
1274void __cpuinit flush_tlb_handlers(void) 1274void __cpuinit flush_tlb_handlers(void)
1275{ 1275{
1276 flush_icache_range((unsigned long)handle_tlbl, 1276 local_flush_icache_range((unsigned long)handle_tlbl,
1277 (unsigned long)handle_tlbl + sizeof(handle_tlbl)); 1277 (unsigned long)handle_tlbl + sizeof(handle_tlbl));
1278 flush_icache_range((unsigned long)handle_tlbs, 1278 local_flush_icache_range((unsigned long)handle_tlbs,
1279 (unsigned long)handle_tlbs + sizeof(handle_tlbs)); 1279 (unsigned long)handle_tlbs + sizeof(handle_tlbs));
1280 flush_icache_range((unsigned long)handle_tlbm, 1280 local_flush_icache_range((unsigned long)handle_tlbm,
1281 (unsigned long)handle_tlbm + sizeof(handle_tlbm)); 1281 (unsigned long)handle_tlbm + sizeof(handle_tlbm));
1282} 1282}
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci-ip27.c
index ce92f82b16d2..bd78368c82bf 100644
--- a/arch/mips/pci/pci-ip27.c
+++ b/arch/mips/pci/pci-ip27.c
@@ -205,6 +205,7 @@ int pcibus_to_node(struct pci_bus *bus)
205 205
206 return bc->nasid; 206 return bc->nasid;
207} 207}
208EXPORT_SYMBOL(pcibus_to_node);
208 209
209DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC3, 210DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC3,
210 pci_fixup_ioc3); 211 pci_fixup_ioc3);
diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c
index 44fb0a62877f..82ab395efa33 100644
--- a/arch/mips/rb532/devices.c
+++ b/arch/mips/rb532/devices.c
@@ -49,8 +49,6 @@
49#define GPIO_ALE (1 << 0x0a) 49#define GPIO_ALE (1 << 0x0a)
50#define GPIO_CLE (1 << 0x0b) 50#define GPIO_CLE (1 << 0x0b)
51 51
52extern char *board_type;
53
54static struct resource korina_dev0_res[] = { 52static struct resource korina_dev0_res[] = {
55 { 53 {
56 .name = "korina_regs", 54 .name = "korina_regs",
@@ -265,14 +263,6 @@ static void __init parse_mac_addr(char *macstr)
265} 263}
266 264
267 265
268/* DEVICE CONTROLLER 1 */
269#define CFG_DC_DEV1 ((void *)0xb8010010)
270#define CFG_DC_DEV2 ((void *)0xb8010020)
271#define CFG_DC_DEVBASE 0x0
272#define CFG_DC_DEVMASK 0x4
273#define CFG_DC_DEVC 0x8
274#define CFG_DC_DEVTC 0xC
275
276/* NAND definitions */ 266/* NAND definitions */
277#define NAND_CHIP_DELAY 25 267#define NAND_CHIP_DELAY 25
278 268
@@ -301,16 +291,16 @@ static void __init rb532_nand_setup(void)
301static int __init plat_setup_devices(void) 291static int __init plat_setup_devices(void)
302{ 292{
303 /* Look for the CF card reader */ 293 /* Look for the CF card reader */
304 if (!readl(CFG_DC_DEV1 + CFG_DC_DEVMASK)) 294 if (!readl(IDT434_REG_BASE + DEV1MASK))
305 rb532_devs[1] = NULL; 295 rb532_devs[1] = NULL;
306 else { 296 else {
307 cf_slot0_res[0].start = 297 cf_slot0_res[0].start =
308 readl(CFG_DC_DEV1 + CFG_DC_DEVBASE); 298 readl(IDT434_REG_BASE + DEV1BASE);
309 cf_slot0_res[0].end = cf_slot0_res[0].start + 0x1000; 299 cf_slot0_res[0].end = cf_slot0_res[0].start + 0x1000;
310 } 300 }
311 301
312 /* Read the NAND resources from the device controller */ 302 /* Read the NAND resources from the device controller */
313 nand_slot0_res[0].start = readl(CFG_DC_DEV2 + CFG_DC_DEVBASE); 303 nand_slot0_res[0].start = readl(IDT434_REG_BASE + DEV2BASE);
314 nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000; 304 nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000;
315 305
316 /* Initialise the NAND device */ 306 /* Initialise the NAND device */
diff --git a/arch/mips/sgi-ip22/ip22-platform.c b/arch/mips/sgi-ip22/ip22-platform.c
index 60141235ec40..52486c4d2b01 100644
--- a/arch/mips/sgi-ip22/ip22-platform.c
+++ b/arch/mips/sgi-ip22/ip22-platform.c
@@ -150,7 +150,7 @@ static int __init sgiseeq_devinit(void)
150 return res; 150 return res;
151 151
152 /* Second HPC is missing? */ 152 /* Second HPC is missing? */
153 if (!ip22_is_fullhouse() || 153 if (ip22_is_fullhouse() ||
154 get_dbe(tmp, (unsigned int *)&hpc3c1->pbdma[1])) 154 get_dbe(tmp, (unsigned int *)&hpc3c1->pbdma[1]))
155 return 0; 155 return 0;
156 156
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 1bc57d0f4c5c..fe6bee09cece 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -53,6 +53,7 @@ txx9_reg_res_init(unsigned int pcode, unsigned long base, unsigned long size)
53 txx9_ce_res[i].name = txx9_ce_res_name[i]; 53 txx9_ce_res[i].name = txx9_ce_res_name[i];
54 } 54 }
55 55
56 txx9_pcode = pcode;
56 sprintf(txx9_pcode_str, "TX%x", pcode); 57 sprintf(txx9_pcode_str, "TX%x", pcode);
57 if (base) { 58 if (base) {
58 txx9_reg_res.start = base & 0xfffffffffULL; 59 txx9_reg_res.start = base & 0xfffffffffULL;
@@ -328,6 +329,9 @@ void __init arch_init_irq(void)
328 329
329void __init plat_time_init(void) 330void __init plat_time_init(void)
330{ 331{
332#ifdef CONFIG_CPU_TX49XX
333 mips_hpt_frequency = txx9_cpu_clock / 2;
334#endif
331 txx9_board_vec->time_init(); 335 txx9_board_vec->time_init();
332} 336}
333 337
diff --git a/arch/parisc/hpux/fs.c b/arch/parisc/hpux/fs.c
index 1263f00dc35d..12c04c5e558b 100644
--- a/arch/parisc/hpux/fs.c
+++ b/arch/parisc/hpux/fs.c
@@ -84,22 +84,28 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
84 if (reclen > buf->count) 84 if (reclen > buf->count)
85 return -EINVAL; 85 return -EINVAL;
86 d_ino = ino; 86 d_ino = ino;
87 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 87 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
88 buf->error = -EOVERFLOW;
88 return -EOVERFLOW; 89 return -EOVERFLOW;
90 }
89 dirent = buf->previous; 91 dirent = buf->previous;
90 if (dirent) 92 if (dirent)
91 put_user(offset, &dirent->d_off); 93 if (put_user(offset, &dirent->d_off))
94 goto Efault;
92 dirent = buf->current_dir; 95 dirent = buf->current_dir;
96 if (put_user(d_ino, &dirent->d_ino) ||
97 put_user(reclen, &dirent->d_reclen) ||
98 put_user(namlen, &dirent->d_namlen) ||
99 copy_to_user(dirent->d_name, name, namlen) ||
100 put_user(0, dirent->d_name + namlen))
101 goto Efault;
93 buf->previous = dirent; 102 buf->previous = dirent;
94 put_user(d_ino, &dirent->d_ino); 103 buf->current_dir = (void __user *)dirent + reclen;
95 put_user(reclen, &dirent->d_reclen);
96 put_user(namlen, &dirent->d_namlen);
97 copy_to_user(dirent->d_name, name, namlen);
98 put_user(0, dirent->d_name + namlen);
99 dirent = (void __user *)dirent + reclen;
100 buf->current_dir = dirent;
101 buf->count -= reclen; 104 buf->count -= reclen;
102 return 0; 105 return 0;
106Efault:
107 buf->error = -EFAULT;
108 return -EFAULT;
103} 109}
104 110
105#undef NAME_OFFSET 111#undef NAME_OFFSET
@@ -126,8 +132,10 @@ int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned i
126 error = buf.error; 132 error = buf.error;
127 lastdirent = buf.previous; 133 lastdirent = buf.previous;
128 if (lastdirent) { 134 if (lastdirent) {
129 put_user(file->f_pos, &lastdirent->d_off); 135 if (put_user(file->f_pos, &lastdirent->d_off))
130 error = count - buf.count; 136 error = -EFAULT;
137 else
138 error = count - buf.count;
131 } 139 }
132 140
133out_putf: 141out_putf:
diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c
index fdacdd4341c9..44138c3e6ea7 100644
--- a/arch/parisc/kernel/module.c
+++ b/arch/parisc/kernel/module.c
@@ -47,7 +47,9 @@
47#include <linux/string.h> 47#include <linux/string.h>
48#include <linux/kernel.h> 48#include <linux/kernel.h>
49#include <linux/bug.h> 49#include <linux/bug.h>
50#include <linux/uaccess.h>
50 51
52#include <asm/sections.h>
51#include <asm/unwind.h> 53#include <asm/unwind.h>
52 54
53#if 0 55#if 0
@@ -860,3 +862,15 @@ void module_arch_cleanup(struct module *mod)
860 deregister_unwind_table(mod); 862 deregister_unwind_table(mod);
861 module_bug_cleanup(mod); 863 module_bug_cleanup(mod);
862} 864}
865
866#ifdef CONFIG_64BIT
867void *dereference_function_descriptor(void *ptr)
868{
869 Elf64_Fdesc *desc = ptr;
870 void *p;
871
872 if (!probe_kernel_address(&desc->addr, p))
873 ptr = p;
874 return ptr;
875}
876#endif
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 9155c9312c1e..c6be19e9ceae 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -116,6 +116,11 @@ ifeq ($(CONFIG_6xx),y)
116KBUILD_CFLAGS += -mcpu=powerpc 116KBUILD_CFLAGS += -mcpu=powerpc
117endif 117endif
118 118
119# Work around a gcc code-gen bug with -fno-omit-frame-pointer.
120ifeq ($(CONFIG_FTRACE),y)
121KBUILD_CFLAGS += -mno-sched-epilog
122endif
123
119cpu-as-$(CONFIG_4xx) += -Wa,-m405 124cpu-as-$(CONFIG_4xx) += -Wa,-m405
120cpu-as-$(CONFIG_6xx) += -Wa,-maltivec 125cpu-as-$(CONFIG_6xx) += -Wa,-maltivec
121cpu-as-$(CONFIG_POWER4) += -Wa,-maltivec 126cpu-as-$(CONFIG_POWER4) += -Wa,-maltivec
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 14174aa24074..717a3bc1352e 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -49,7 +49,7 @@ zlib := inffast.c inflate.c inftrees.c
49zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h 49zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h
50zliblinuxheader := zlib.h zconf.h zutil.h 50zliblinuxheader := zlib.h zconf.h zutil.h
51 51
52$(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \ 52$(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \
53 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) 53 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
54 54
55src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c 55src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
index ae08761ffff1..d665e767822a 100644
--- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
@@ -411,7 +411,7 @@
411 0xe000 0 0 1 &i8259 12 2 411 0xe000 0 0 1 &i8259 12 2
412 0xe100 0 0 2 &i8259 9 2 412 0xe100 0 0 2 &i8259 9 2
413 0xe200 0 0 3 &i8259 10 2 413 0xe200 0 0 3 &i8259 10 2
414 0xe300 0 0 4 &i8259 112 414 0xe300 0 0 4 &i8259 11 2
415 415
416 // IDSEL 0x1d Audio 416 // IDSEL 0x1d Audio
417 0xe800 0 0 1 &i8259 6 2 417 0xe800 0 0 1 &i8259 6 2
diff --git a/arch/powerpc/boot/dts/tqm8548-bigflash.dts b/arch/powerpc/boot/dts/tqm8548-bigflash.dts
index 64d2d5bbcdf1..4199e89b4e50 100644
--- a/arch/powerpc/boot/dts/tqm8548-bigflash.dts
+++ b/arch/powerpc/boot/dts/tqm8548-bigflash.dts
@@ -50,13 +50,14 @@
50 reg = <0x00000000 0x00000000>; // Filled in by U-Boot 50 reg = <0x00000000 0x00000000>; // Filled in by U-Boot
51 }; 51 };
52 52
53 soc8548@a0000000 { 53 soc@a0000000 {
54 #address-cells = <1>; 54 #address-cells = <1>;
55 #size-cells = <1>; 55 #size-cells = <1>;
56 device_type = "soc"; 56 device_type = "soc";
57 ranges = <0x0 0xa0000000 0x100000>; 57 ranges = <0x0 0xa0000000 0x100000>;
58 reg = <0xa0000000 0x1000>; // CCSRBAR 58 reg = <0xa0000000 0x1000>; // CCSRBAR
59 bus-frequency = <0>; 59 bus-frequency = <0>;
60 compatible = "fsl,mpc8548-immr", "simple-bus";
60 61
61 memory-controller@2000 { 62 memory-controller@2000 {
62 compatible = "fsl,mpc8548-memory-controller"; 63 compatible = "fsl,mpc8548-memory-controller";
@@ -83,6 +84,11 @@
83 interrupts = <43 2>; 84 interrupts = <43 2>;
84 interrupt-parent = <&mpic>; 85 interrupt-parent = <&mpic>;
85 dfsrr; 86 dfsrr;
87
88 rtc@68 {
89 compatible = "dallas,ds1337";
90 reg = <0x68>;
91 };
86 }; 92 };
87 93
88 i2c@3100 { 94 i2c@3100 {
diff --git a/arch/powerpc/boot/dts/tqm8548.dts b/arch/powerpc/boot/dts/tqm8548.dts
index 2563112cabd3..58ee4185454b 100644
--- a/arch/powerpc/boot/dts/tqm8548.dts
+++ b/arch/powerpc/boot/dts/tqm8548.dts
@@ -50,13 +50,14 @@
50 reg = <0x00000000 0x00000000>; // Filled in by U-Boot 50 reg = <0x00000000 0x00000000>; // Filled in by U-Boot
51 }; 51 };
52 52
53 soc8548@e0000000 { 53 soc@e0000000 {
54 #address-cells = <1>; 54 #address-cells = <1>;
55 #size-cells = <1>; 55 #size-cells = <1>;
56 device_type = "soc"; 56 device_type = "soc";
57 ranges = <0x0 0xe0000000 0x100000>; 57 ranges = <0x0 0xe0000000 0x100000>;
58 reg = <0xe0000000 0x1000>; // CCSRBAR 58 reg = <0xe0000000 0x1000>; // CCSRBAR
59 bus-frequency = <0>; 59 bus-frequency = <0>;
60 compatible = "fsl,mpc8548-immr", "simple-bus";
60 61
61 memory-controller@2000 { 62 memory-controller@2000 {
62 compatible = "fsl,mpc8548-memory-controller"; 63 compatible = "fsl,mpc8548-memory-controller";
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 644bf9d4ea00..965c237c122d 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -165,7 +165,7 @@ cuboot*)
165 binary=y 165 binary=y
166 gzip= 166 gzip=
167 case "$platform" in 167 case "$platform" in
168 *-mpc885ads|*-adder875*|*-ep88xc) 168 *-mpc866ads|*-mpc885ads|*-adder875*|*-ep88xc)
169 platformo=$object/cuboot-8xx.o 169 platformo=$object/cuboot-8xx.o
170 ;; 170 ;;
171 *5200*|*-motionpro) 171 *5200*|*-motionpro)
diff --git a/arch/powerpc/configs/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index 60bb4d106c87..5e6780a088ce 100644
--- a/arch/powerpc/configs/asp8347_defconfig
+++ b/arch/powerpc/configs/83xx/asp8347_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.25-rc6 3# Linux kernel version: 2.6.27-rc4
4# Tue May 6 02:21:00 2008 4# Thu Aug 21 00:52:01 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18CONFIG_FSL_EMB_PERFMON=y 18CONFIG_FSL_EMB_PERFMON=y
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -31,6 +32,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
36CONFIG_GENERIC_HWEIGHT=y 40CONFIG_GENERIC_HWEIGHT=y
@@ -50,6 +54,9 @@ CONFIG_AUDIT_ARCH=y
50CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
51# CONFIG_DEFAULT_UIMAGE is not set 55# CONFIG_DEFAULT_UIMAGE is not set
52CONFIG_REDBOOT=y 56CONFIG_REDBOOT=y
57CONFIG_HIBERNATE_32=y
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_ARCH_SUSPEND_POSSIBLE=y
53# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -92,6 +99,7 @@ CONFIG_HOTPLUG=y
92CONFIG_PRINTK=y 99CONFIG_PRINTK=y
93CONFIG_BUG=y 100CONFIG_BUG=y
94CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
95CONFIG_COMPAT_BRK=y 103CONFIG_COMPAT_BRK=y
96CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
97CONFIG_FUTEX=y 105CONFIG_FUTEX=y
@@ -109,24 +117,33 @@ CONFIG_SLUB=y
109# CONFIG_PROFILING is not set 117# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set 118# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y 119CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
112CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127# CONFIG_HAVE_CLK is not set
114CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
115CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
116CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
117# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
118CONFIG_BASE_SMALL=0 133CONFIG_BASE_SMALL=0
119CONFIG_MODULES=y 134CONFIG_MODULES=y
135# CONFIG_MODULE_FORCE_LOAD is not set
120CONFIG_MODULE_UNLOAD=y 136CONFIG_MODULE_UNLOAD=y
121# CONFIG_MODULE_FORCE_UNLOAD is not set 137# CONFIG_MODULE_FORCE_UNLOAD is not set
122# CONFIG_MODVERSIONS is not set 138# CONFIG_MODVERSIONS is not set
123# CONFIG_MODULE_SRCVERSION_ALL is not set 139# CONFIG_MODULE_SRCVERSION_ALL is not set
124# CONFIG_KMOD is not set 140CONFIG_KMOD=y
125CONFIG_BLOCK=y 141CONFIG_BLOCK=y
126# CONFIG_LBD is not set 142# CONFIG_LBD is not set
127# CONFIG_BLK_DEV_IO_TRACE is not set 143# CONFIG_BLK_DEV_IO_TRACE is not set
128# CONFIG_LSF is not set 144# CONFIG_LSF is not set
129# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set
130 147
131# 148#
132# IO Schedulers 149# IO Schedulers
@@ -145,38 +162,49 @@ CONFIG_CLASSIC_RCU=y
145# 162#
146# Platform support 163# Platform support
147# 164#
148# CONFIG_PPC_MULTIPLATFORM is not set 165CONFIG_PPC_MULTIPLATFORM=y
149# CONFIG_PPC_82xx is not set 166CONFIG_CLASSIC32=y
150CONFIG_PPC_83xx=y 167CONFIG_PPC_CHRP=y
151# CONFIG_PPC_86xx is not set 168# CONFIG_MPC5121_ADS is not set
152# CONFIG_PPC_MPC512x is not set 169# CONFIG_MPC5121_GENERIC is not set
153# CONFIG_PPC_MPC5121 is not set 170# CONFIG_PPC_MPC52xx is not set
171CONFIG_PPC_PMAC=y
154# CONFIG_PPC_CELL is not set 172# CONFIG_PPC_CELL is not set
155# CONFIG_PPC_CELL_NATIVE is not set 173# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set
156# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
157CONFIG_MPC83xx=y 176CONFIG_PPC_83xx=y
158# CONFIG_MPC831x_RDB is not set 177# CONFIG_MPC831x_RDB is not set
159# CONFIG_MPC832x_MDS is not set 178# CONFIG_MPC832x_MDS is not set
160# CONFIG_MPC832x_RDB is not set 179# CONFIG_MPC832x_RDB is not set
161# CONFIG_MPC834x_MDS is not set 180# CONFIG_MPC834x_MDS is not set
162# CONFIG_MPC834x_ITX is not set 181# CONFIG_MPC834x_ITX is not set
163# CONFIG_MPC836x_MDS is not set 182# CONFIG_MPC836x_MDS is not set
183# CONFIG_MPC836x_RDK is not set
164# CONFIG_MPC837x_MDS is not set 184# CONFIG_MPC837x_MDS is not set
165# CONFIG_MPC837x_RDB is not set 185# CONFIG_MPC837x_RDB is not set
166# CONFIG_SBC834x is not set 186# CONFIG_SBC834x is not set
167CONFIG_ASP834x=y 187CONFIG_ASP834x=y
168CONFIG_PPC_MPC834x=y 188CONFIG_PPC_MPC834x=y
189# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
169CONFIG_IPIC=y 193CONFIG_IPIC=y
170# CONFIG_MPIC is not set 194CONFIG_MPIC=y
171# CONFIG_MPIC_WEIRD is not set 195# CONFIG_MPIC_WEIRD is not set
172# CONFIG_PPC_I8259 is not set 196CONFIG_PPC_I8259=y
173# CONFIG_PPC_RTAS is not set 197CONFIG_PPC_RTAS=y
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
174# CONFIG_MMIO_NVRAM is not set 200# CONFIG_MMIO_NVRAM is not set
175# CONFIG_PPC_MPC106 is not set 201CONFIG_PPC_MPC106=y
176# CONFIG_PPC_970_NAP is not set 202# CONFIG_PPC_970_NAP is not set
177# CONFIG_PPC_INDIRECT_IO is not set 203# CONFIG_PPC_INDIRECT_IO is not set
178# CONFIG_GENERIC_IOMAP is not set 204# CONFIG_GENERIC_IOMAP is not set
179# CONFIG_CPU_FREQ is not set 205# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set
180# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
181 209
182# 210#
@@ -192,7 +220,7 @@ CONFIG_HZ_250=y
192# CONFIG_HZ_300 is not set 220# CONFIG_HZ_300 is not set
193# CONFIG_HZ_1000 is not set 221# CONFIG_HZ_1000 is not set
194CONFIG_HZ=250 222CONFIG_HZ=250
195# CONFIG_SCHED_HRTICK is not set 223CONFIG_SCHED_HRTICK=y
196CONFIG_PREEMPT_NONE=y 224CONFIG_PREEMPT_NONE=y
197# CONFIG_PREEMPT_VOLUNTARY is not set 225# CONFIG_PREEMPT_VOLUNTARY is not set
198# CONFIG_PREEMPT is not set 226# CONFIG_PREEMPT is not set
@@ -202,6 +230,7 @@ CONFIG_BINFMT_ELF=y
202CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
203CONFIG_ARCH_HAS_WALK_MEMORY=y 231CONFIG_ARCH_HAS_WALK_MEMORY=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 232CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
233# CONFIG_KEXEC is not set
205CONFIG_ARCH_FLATMEM_ENABLE=y 234CONFIG_ARCH_FLATMEM_ENABLE=y
206CONFIG_ARCH_POPULATES_NODE_MAP=y 235CONFIG_ARCH_POPULATES_NODE_MAP=y
207CONFIG_SELECT_MEMORY_MODEL=y 236CONFIG_SELECT_MEMORY_MODEL=y
@@ -212,13 +241,17 @@ CONFIG_FLATMEM=y
212CONFIG_FLAT_NODE_MEM_MAP=y 241CONFIG_FLAT_NODE_MEM_MAP=y
213# CONFIG_SPARSEMEM_STATIC is not set 242# CONFIG_SPARSEMEM_STATIC is not set
214# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
244CONFIG_PAGEFLAGS_EXTENDED=y
215CONFIG_SPLIT_PTLOCK_CPUS=4 245CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y
216# CONFIG_RESOURCES_64BIT is not set 247# CONFIG_RESOURCES_64BIT is not set
217CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
218CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
219CONFIG_VIRT_TO_BUS=y 250CONFIG_VIRT_TO_BUS=y
251CONFIG_FORCE_MAX_ZONEORDER=11
220CONFIG_PROC_DEVICETREE=y 252CONFIG_PROC_DEVICETREE=y
221# CONFIG_CMDLINE_BOOL is not set 253# CONFIG_CMDLINE_BOOL is not set
254CONFIG_EXTRA_TARGETS=""
222# CONFIG_PM is not set 255# CONFIG_PM is not set
223CONFIG_SECCOMP=y 256CONFIG_SECCOMP=y
224CONFIG_ISA_DMA_API=y 257CONFIG_ISA_DMA_API=y
@@ -226,10 +259,13 @@ CONFIG_ISA_DMA_API=y
226# 259#
227# Bus options 260# Bus options
228# 261#
262# CONFIG_ISA is not set
229CONFIG_ZONE_DMA=y 263CONFIG_ZONE_DMA=y
230CONFIG_GENERIC_ISA_DMA=y 264CONFIG_GENERIC_ISA_DMA=y
231CONFIG_PPC_INDIRECT_PCI=y 265CONFIG_PPC_INDIRECT_PCI=y
232CONFIG_FSL_SOC=y 266CONFIG_FSL_SOC=y
267CONFIG_FSL_PCI=y
268CONFIG_PPC_PCI_CHOICE=y
233CONFIG_PCI=y 269CONFIG_PCI=y
234CONFIG_PCI_DOMAINS=y 270CONFIG_PCI_DOMAINS=y
235CONFIG_PCI_SYSCALL=y 271CONFIG_PCI_SYSCALL=y
@@ -239,6 +275,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
239CONFIG_PCI_LEGACY=y 275CONFIG_PCI_LEGACY=y
240# CONFIG_PCCARD is not set 276# CONFIG_PCCARD is not set
241# CONFIG_HOTPLUG_PCI is not set 277# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set
242 279
243# 280#
244# Advanced setup 281# Advanced setup
@@ -248,15 +285,11 @@ CONFIG_PCI_LEGACY=y
248# 285#
249# Default settings for advanced configuration options are used 286# Default settings for advanced configuration options are used
250# 287#
251CONFIG_HIGHMEM_START=0xfe000000
252CONFIG_LOWMEM_SIZE=0x30000000 288CONFIG_LOWMEM_SIZE=0x30000000
289CONFIG_PAGE_OFFSET=0xc0000000
253CONFIG_KERNEL_START=0xc0000000 290CONFIG_KERNEL_START=0xc0000000
291CONFIG_PHYSICAL_START=0x00000000
254CONFIG_TASK_SIZE=0xc0000000 292CONFIG_TASK_SIZE=0xc0000000
255CONFIG_BOOT_LOAD=0x00800000
256
257#
258# Networking
259#
260CONFIG_NET=y 293CONFIG_NET=y
261 294
262# 295#
@@ -300,8 +333,6 @@ CONFIG_TCP_CONG_CUBIC=y
300CONFIG_DEFAULT_TCP_CONG="cubic" 333CONFIG_DEFAULT_TCP_CONG="cubic"
301# CONFIG_TCP_MD5SIG is not set 334# CONFIG_TCP_MD5SIG is not set
302# CONFIG_IPV6 is not set 335# CONFIG_IPV6 is not set
303# CONFIG_INET6_XFRM_TUNNEL is not set
304# CONFIG_INET6_TUNNEL is not set
305# CONFIG_NETWORK_SECMARK is not set 336# CONFIG_NETWORK_SECMARK is not set
306# CONFIG_NETFILTER is not set 337# CONFIG_NETFILTER is not set
307# CONFIG_IP_DCCP is not set 338# CONFIG_IP_DCCP is not set
@@ -363,6 +394,7 @@ CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
363# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set 394# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
364# CONFIG_MTD_CMDLINE_PARTS is not set 395# CONFIG_MTD_CMDLINE_PARTS is not set
365CONFIG_MTD_OF_PARTS=y 396CONFIG_MTD_OF_PARTS=y
397# CONFIG_MTD_AR7_PARTS is not set
366 398
367# 399#
368# User Modules And Translation Layers 400# User Modules And Translation Layers
@@ -434,9 +466,11 @@ CONFIG_MTD_PHYSMAP_OF=y
434# 466#
435# CONFIG_MTD_UBI is not set 467# CONFIG_MTD_UBI is not set
436CONFIG_OF_DEVICE=y 468CONFIG_OF_DEVICE=y
469CONFIG_OF_I2C=y
437# CONFIG_PARPORT is not set 470# CONFIG_PARPORT is not set
438CONFIG_BLK_DEV=y 471CONFIG_BLK_DEV=y
439# CONFIG_BLK_DEV_FD is not set 472# CONFIG_BLK_DEV_FD is not set
473# CONFIG_MAC_FLOPPY is not set
440# CONFIG_BLK_CPQ_DA is not set 474# CONFIG_BLK_CPQ_DA is not set
441# CONFIG_BLK_CPQ_CISS_DA is not set 475# CONFIG_BLK_CPQ_CISS_DA is not set
442# CONFIG_BLK_DEV_DAC960 is not set 476# CONFIG_BLK_DEV_DAC960 is not set
@@ -453,12 +487,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
453# CONFIG_BLK_DEV_XIP is not set 487# CONFIG_BLK_DEV_XIP is not set
454# CONFIG_CDROM_PKTCDVD is not set 488# CONFIG_CDROM_PKTCDVD is not set
455# CONFIG_ATA_OVER_ETH is not set 489# CONFIG_ATA_OVER_ETH is not set
490# CONFIG_BLK_DEV_HD is not set
456CONFIG_MISC_DEVICES=y 491CONFIG_MISC_DEVICES=y
457# CONFIG_PHANTOM is not set 492# CONFIG_PHANTOM is not set
458# CONFIG_EEPROM_93CX6 is not set 493# CONFIG_EEPROM_93CX6 is not set
459# CONFIG_SGI_IOC4 is not set 494# CONFIG_SGI_IOC4 is not set
460# CONFIG_TIFM_CORE is not set 495# CONFIG_TIFM_CORE is not set
461# CONFIG_ENCLOSURE_SERVICES is not set 496# CONFIG_ENCLOSURE_SERVICES is not set
497# CONFIG_HP_ILO is not set
462CONFIG_HAVE_IDE=y 498CONFIG_HAVE_IDE=y
463# CONFIG_IDE is not set 499# CONFIG_IDE is not set
464 500
@@ -476,12 +512,15 @@ CONFIG_HAVE_IDE=y
476# 512#
477# IEEE 1394 (FireWire) support 513# IEEE 1394 (FireWire) support
478# 514#
515
516#
517# Enable only one of the two stacks, unless you know what you are doing
518#
479# CONFIG_FIREWIRE is not set 519# CONFIG_FIREWIRE is not set
480# CONFIG_IEEE1394 is not set 520# CONFIG_IEEE1394 is not set
481# CONFIG_I2O is not set 521# CONFIG_I2O is not set
482# CONFIG_MACINTOSH_DRIVERS is not set 522# CONFIG_MACINTOSH_DRIVERS is not set
483CONFIG_NETDEVICES=y 523CONFIG_NETDEVICES=y
484# CONFIG_NETDEVICES_MULTIQUEUE is not set
485# CONFIG_DUMMY is not set 524# CONFIG_DUMMY is not set
486# CONFIG_BONDING is not set 525# CONFIG_BONDING is not set
487# CONFIG_MACVLAN is not set 526# CONFIG_MACVLAN is not set
@@ -508,6 +547,8 @@ CONFIG_PHYLIB=y
508# CONFIG_MDIO_BITBANG is not set 547# CONFIG_MDIO_BITBANG is not set
509CONFIG_NET_ETHERNET=y 548CONFIG_NET_ETHERNET=y
510CONFIG_MII=y 549CONFIG_MII=y
550# CONFIG_MACE is not set
551# CONFIG_BMAC is not set
511# CONFIG_HAPPYMEAL is not set 552# CONFIG_HAPPYMEAL is not set
512# CONFIG_SUNGEM is not set 553# CONFIG_SUNGEM is not set
513# CONFIG_CASSINI is not set 554# CONFIG_CASSINI is not set
@@ -525,7 +566,6 @@ CONFIG_NETDEV_1000=y
525# CONFIG_DL2K is not set 566# CONFIG_DL2K is not set
526# CONFIG_E1000 is not set 567# CONFIG_E1000 is not set
527# CONFIG_E1000E is not set 568# CONFIG_E1000E is not set
528# CONFIG_E1000E_ENABLED is not set
529# CONFIG_IP1000 is not set 569# CONFIG_IP1000 is not set
530# CONFIG_IGB is not set 570# CONFIG_IGB is not set
531# CONFIG_NS83820 is not set 571# CONFIG_NS83820 is not set
@@ -535,14 +575,14 @@ CONFIG_NETDEV_1000=y
535# CONFIG_SIS190 is not set 575# CONFIG_SIS190 is not set
536# CONFIG_SKGE is not set 576# CONFIG_SKGE is not set
537# CONFIG_SKY2 is not set 577# CONFIG_SKY2 is not set
538# CONFIG_SK98LIN is not set
539# CONFIG_VIA_VELOCITY is not set 578# CONFIG_VIA_VELOCITY is not set
540# CONFIG_TIGON3 is not set 579# CONFIG_TIGON3 is not set
541# CONFIG_BNX2 is not set 580# CONFIG_BNX2 is not set
542CONFIG_GIANFAR=y 581CONFIG_GIANFAR=y
543# CONFIG_GFAR_NAPI is not set 582# CONFIG_MV643XX_ETH is not set
544# CONFIG_QLA3XXX is not set 583# CONFIG_QLA3XXX is not set
545# CONFIG_ATL1 is not set 584# CONFIG_ATL1 is not set
585# CONFIG_ATL1E is not set
546# CONFIG_NETDEV_10000 is not set 586# CONFIG_NETDEV_10000 is not set
547# CONFIG_TR is not set 587# CONFIG_TR is not set
548 588
@@ -551,6 +591,7 @@ CONFIG_GIANFAR=y
551# 591#
552# CONFIG_WLAN_PRE80211 is not set 592# CONFIG_WLAN_PRE80211 is not set
553# CONFIG_WLAN_80211 is not set 593# CONFIG_WLAN_80211 is not set
594# CONFIG_IWLWIFI_LEDS is not set
554 595
555# 596#
556# USB Network Adapters 597# USB Network Adapters
@@ -606,6 +647,7 @@ CONFIG_INPUT=y
606# Character devices 647# Character devices
607# 648#
608# CONFIG_VT is not set 649# CONFIG_VT is not set
650CONFIG_DEVKMEM=y
609# CONFIG_SERIAL_NONSTANDARD is not set 651# CONFIG_SERIAL_NONSTANDARD is not set
610# CONFIG_NOZOMI is not set 652# CONFIG_NOZOMI is not set
611 653
@@ -625,16 +667,17 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
625# CONFIG_SERIAL_UARTLITE is not set 667# CONFIG_SERIAL_UARTLITE is not set
626CONFIG_SERIAL_CORE=y 668CONFIG_SERIAL_CORE=y
627CONFIG_SERIAL_CORE_CONSOLE=y 669CONFIG_SERIAL_CORE_CONSOLE=y
670# CONFIG_SERIAL_PMACZILOG is not set
628# CONFIG_SERIAL_JSM is not set 671# CONFIG_SERIAL_JSM is not set
629# CONFIG_SERIAL_OF_PLATFORM is not set 672# CONFIG_SERIAL_OF_PLATFORM is not set
630CONFIG_UNIX98_PTYS=y 673CONFIG_UNIX98_PTYS=y
631CONFIG_LEGACY_PTYS=y 674CONFIG_LEGACY_PTYS=y
632CONFIG_LEGACY_PTY_COUNT=256 675CONFIG_LEGACY_PTY_COUNT=256
676# CONFIG_BRIQ_PANEL is not set
677# CONFIG_HVC_RTAS is not set
633# CONFIG_IPMI_HANDLER is not set 678# CONFIG_IPMI_HANDLER is not set
634# CONFIG_HW_RANDOM is not set 679# CONFIG_HW_RANDOM is not set
635# CONFIG_NVRAM is not set 680# CONFIG_NVRAM is not set
636CONFIG_GEN_RTC=y
637# CONFIG_GEN_RTC_X is not set
638# CONFIG_R3964 is not set 681# CONFIG_R3964 is not set
639# CONFIG_APPLICOM is not set 682# CONFIG_APPLICOM is not set
640# CONFIG_RAW_DRIVER is not set 683# CONFIG_RAW_DRIVER is not set
@@ -643,16 +686,14 @@ CONFIG_DEVPORT=y
643CONFIG_I2C=y 686CONFIG_I2C=y
644CONFIG_I2C_BOARDINFO=y 687CONFIG_I2C_BOARDINFO=y
645CONFIG_I2C_CHARDEV=y 688CONFIG_I2C_CHARDEV=y
689CONFIG_I2C_HELPER_AUTO=y
646 690
647# 691#
648# I2C Algorithms 692# I2C Hardware Bus support
649# 693#
650# CONFIG_I2C_ALGOBIT is not set
651# CONFIG_I2C_ALGOPCF is not set
652# CONFIG_I2C_ALGOPCA is not set
653 694
654# 695#
655# I2C Hardware Bus support 696# PC SMBus host controller drivers
656# 697#
657# CONFIG_I2C_ALI1535 is not set 698# CONFIG_I2C_ALI1535 is not set
658# CONFIG_I2C_ALI1563 is not set 699# CONFIG_I2C_ALI1563 is not set
@@ -660,50 +701,70 @@ CONFIG_I2C_CHARDEV=y
660# CONFIG_I2C_AMD756 is not set 701# CONFIG_I2C_AMD756 is not set
661# CONFIG_I2C_AMD8111 is not set 702# CONFIG_I2C_AMD8111 is not set
662# CONFIG_I2C_I801 is not set 703# CONFIG_I2C_I801 is not set
663# CONFIG_I2C_I810 is not set 704# CONFIG_I2C_ISCH is not set
664# CONFIG_I2C_PIIX4 is not set 705# CONFIG_I2C_PIIX4 is not set
665CONFIG_I2C_MPC=y
666# CONFIG_I2C_NFORCE2 is not set 706# CONFIG_I2C_NFORCE2 is not set
667# CONFIG_I2C_OCORES is not set
668# CONFIG_I2C_PARPORT_LIGHT is not set
669# CONFIG_I2C_PROSAVAGE is not set
670# CONFIG_I2C_SAVAGE4 is not set
671# CONFIG_I2C_SIMTEC is not set
672# CONFIG_I2C_SIS5595 is not set 707# CONFIG_I2C_SIS5595 is not set
673# CONFIG_I2C_SIS630 is not set 708# CONFIG_I2C_SIS630 is not set
674# CONFIG_I2C_SIS96X is not set 709# CONFIG_I2C_SIS96X is not set
675# CONFIG_I2C_TAOS_EVM is not set
676# CONFIG_I2C_STUB is not set
677# CONFIG_I2C_TINY_USB is not set
678# CONFIG_I2C_VIA is not set 710# CONFIG_I2C_VIA is not set
679# CONFIG_I2C_VIAPRO is not set 711# CONFIG_I2C_VIAPRO is not set
712
713#
714# Mac SMBus host controller drivers
715#
716# CONFIG_I2C_HYDRA is not set
717CONFIG_I2C_POWERMAC=y
718
719#
720# I2C system bus drivers (mostly embedded / system-on-chip)
721#
722CONFIG_I2C_MPC=y
723# CONFIG_I2C_OCORES is not set
724# CONFIG_I2C_SIMTEC is not set
725
726#
727# External I2C/SMBus adapter drivers
728#
729# CONFIG_I2C_PARPORT_LIGHT is not set
730# CONFIG_I2C_TAOS_EVM is not set
731# CONFIG_I2C_TINY_USB is not set
732
733#
734# Graphics adapter I2C/DDC channel drivers
735#
680# CONFIG_I2C_VOODOO3 is not set 736# CONFIG_I2C_VOODOO3 is not set
681 737
682# 738#
739# Other I2C/SMBus bus drivers
740#
741# CONFIG_I2C_PCA_PLATFORM is not set
742# CONFIG_I2C_STUB is not set
743
744#
683# Miscellaneous I2C Chip support 745# Miscellaneous I2C Chip support
684# 746#
685# CONFIG_DS1682 is not set 747# CONFIG_DS1682 is not set
748# CONFIG_AT24 is not set
686# CONFIG_SENSORS_EEPROM is not set 749# CONFIG_SENSORS_EEPROM is not set
687# CONFIG_SENSORS_PCF8574 is not set 750# CONFIG_SENSORS_PCF8574 is not set
688# CONFIG_PCF8575 is not set 751# CONFIG_PCF8575 is not set
752# CONFIG_SENSORS_PCA9539 is not set
689# CONFIG_SENSORS_PCF8591 is not set 753# CONFIG_SENSORS_PCF8591 is not set
690# CONFIG_TPS65010 is not set
691# CONFIG_SENSORS_MAX6875 is not set 754# CONFIG_SENSORS_MAX6875 is not set
692# CONFIG_SENSORS_TSL2550 is not set 755# CONFIG_SENSORS_TSL2550 is not set
693# CONFIG_I2C_DEBUG_CORE is not set 756# CONFIG_I2C_DEBUG_CORE is not set
694# CONFIG_I2C_DEBUG_ALGO is not set 757# CONFIG_I2C_DEBUG_ALGO is not set
695# CONFIG_I2C_DEBUG_BUS is not set 758# CONFIG_I2C_DEBUG_BUS is not set
696# CONFIG_I2C_DEBUG_CHIP is not set 759# CONFIG_I2C_DEBUG_CHIP is not set
697
698#
699# SPI support
700#
701# CONFIG_SPI is not set 760# CONFIG_SPI is not set
702# CONFIG_SPI_MASTER is not set 761CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
762# CONFIG_GPIOLIB is not set
703# CONFIG_W1 is not set 763# CONFIG_W1 is not set
704# CONFIG_POWER_SUPPLY is not set 764# CONFIG_POWER_SUPPLY is not set
705CONFIG_HWMON=y 765CONFIG_HWMON=y
706# CONFIG_HWMON_VID is not set 766# CONFIG_HWMON_VID is not set
767# CONFIG_SENSORS_AD7414 is not set
707# CONFIG_SENSORS_AD7418 is not set 768# CONFIG_SENSORS_AD7418 is not set
708# CONFIG_SENSORS_ADM1021 is not set 769# CONFIG_SENSORS_ADM1021 is not set
709# CONFIG_SENSORS_ADM1025 is not set 770# CONFIG_SENSORS_ADM1025 is not set
@@ -713,6 +774,7 @@ CONFIG_HWMON=y
713# CONFIG_SENSORS_ADM9240 is not set 774# CONFIG_SENSORS_ADM9240 is not set
714# CONFIG_SENSORS_ADT7470 is not set 775# CONFIG_SENSORS_ADT7470 is not set
715# CONFIG_SENSORS_ADT7473 is not set 776# CONFIG_SENSORS_ADT7473 is not set
777# CONFIG_SENSORS_AMS is not set
716# CONFIG_SENSORS_ATXP1 is not set 778# CONFIG_SENSORS_ATXP1 is not set
717# CONFIG_SENSORS_DS1621 is not set 779# CONFIG_SENSORS_DS1621 is not set
718# CONFIG_SENSORS_I5K_AMB is not set 780# CONFIG_SENSORS_I5K_AMB is not set
@@ -757,6 +819,7 @@ CONFIG_HWMON=y
757# CONFIG_SENSORS_W83627EHF is not set 819# CONFIG_SENSORS_W83627EHF is not set
758# CONFIG_HWMON_DEBUG_CHIP is not set 820# CONFIG_HWMON_DEBUG_CHIP is not set
759CONFIG_THERMAL=y 821CONFIG_THERMAL=y
822# CONFIG_THERMAL_HWMON is not set
760CONFIG_WATCHDOG=y 823CONFIG_WATCHDOG=y
761# CONFIG_WATCHDOG_NOWAYOUT is not set 824# CONFIG_WATCHDOG_NOWAYOUT is not set
762 825
@@ -764,7 +827,9 @@ CONFIG_WATCHDOG=y
764# Watchdog Device Drivers 827# Watchdog Device Drivers
765# 828#
766# CONFIG_SOFT_WATCHDOG is not set 829# CONFIG_SOFT_WATCHDOG is not set
767CONFIG_83xx_WDT=y 830# CONFIG_ALIM7101_WDT is not set
831# CONFIG_8xxx_WDT is not set
832# CONFIG_WATCHDOG_RTAS is not set
768 833
769# 834#
770# PCI-based Watchdog Cards 835# PCI-based Watchdog Cards
@@ -786,13 +851,25 @@ CONFIG_SSB_POSSIBLE=y
786# 851#
787# Multifunction device drivers 852# Multifunction device drivers
788# 853#
854# CONFIG_MFD_CORE is not set
789# CONFIG_MFD_SM501 is not set 855# CONFIG_MFD_SM501 is not set
856# CONFIG_HTC_PASIC3 is not set
857# CONFIG_MFD_TMIO is not set
790 858
791# 859#
792# Multimedia devices 860# Multimedia devices
793# 861#
862
863#
864# Multimedia core support
865#
794# CONFIG_VIDEO_DEV is not set 866# CONFIG_VIDEO_DEV is not set
795# CONFIG_DVB_CORE is not set 867# CONFIG_DVB_CORE is not set
868# CONFIG_VIDEO_MEDIA is not set
869
870#
871# Multimedia drivers
872#
796CONFIG_DAB=y 873CONFIG_DAB=y
797# CONFIG_USB_DABUSB is not set 874# CONFIG_USB_DABUSB is not set
798 875
@@ -810,10 +887,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
810# Display device support 887# Display device support
811# 888#
812# CONFIG_DISPLAY_SUPPORT is not set 889# CONFIG_DISPLAY_SUPPORT is not set
813
814#
815# Sound
816#
817# CONFIG_SOUND is not set 890# CONFIG_SOUND is not set
818# CONFIG_HID_SUPPORT is not set 891# CONFIG_HID_SUPPORT is not set
819CONFIG_USB_SUPPORT=y 892CONFIG_USB_SUPPORT=y
@@ -831,16 +904,21 @@ CONFIG_USB=y
831CONFIG_USB_DEVICE_CLASS=y 904CONFIG_USB_DEVICE_CLASS=y
832# CONFIG_USB_DYNAMIC_MINORS is not set 905# CONFIG_USB_DYNAMIC_MINORS is not set
833# CONFIG_USB_OTG is not set 906# CONFIG_USB_OTG is not set
907# CONFIG_USB_OTG_WHITELIST is not set
908# CONFIG_USB_OTG_BLACKLIST_HUB is not set
909CONFIG_USB_MON=y
834 910
835# 911#
836# USB Host Controller Drivers 912# USB Host Controller Drivers
837# 913#
914# CONFIG_USB_C67X00_HCD is not set
838CONFIG_USB_EHCI_HCD=y 915CONFIG_USB_EHCI_HCD=y
839CONFIG_USB_EHCI_ROOT_HUB_TT=y 916CONFIG_USB_EHCI_ROOT_HUB_TT=y
840# CONFIG_USB_EHCI_TT_NEWSCHED is not set 917# CONFIG_USB_EHCI_TT_NEWSCHED is not set
841CONFIG_USB_EHCI_FSL=y 918CONFIG_USB_EHCI_FSL=y
842CONFIG_USB_EHCI_HCD_PPC_OF=y 919CONFIG_USB_EHCI_HCD_PPC_OF=y
843# CONFIG_USB_ISP116X_HCD is not set 920# CONFIG_USB_ISP116X_HCD is not set
921# CONFIG_USB_ISP1760_HCD is not set
844# CONFIG_USB_OHCI_HCD is not set 922# CONFIG_USB_OHCI_HCD is not set
845# CONFIG_USB_UHCI_HCD is not set 923# CONFIG_USB_UHCI_HCD is not set
846# CONFIG_USB_SL811_HCD is not set 924# CONFIG_USB_SL811_HCD is not set
@@ -851,6 +929,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
851# 929#
852# CONFIG_USB_ACM is not set 930# CONFIG_USB_ACM is not set
853# CONFIG_USB_PRINTER is not set 931# CONFIG_USB_PRINTER is not set
932# CONFIG_USB_WDM is not set
854 933
855# 934#
856# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 935# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -865,7 +944,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
865# USB Imaging devices 944# USB Imaging devices
866# 945#
867# CONFIG_USB_MDC800 is not set 946# CONFIG_USB_MDC800 is not set
868CONFIG_USB_MON=y
869 947
870# 948#
871# USB port drivers 949# USB port drivers
@@ -878,7 +956,6 @@ CONFIG_USB_MON=y
878# CONFIG_USB_EMI62 is not set 956# CONFIG_USB_EMI62 is not set
879# CONFIG_USB_EMI26 is not set 957# CONFIG_USB_EMI26 is not set
880# CONFIG_USB_ADUTUX is not set 958# CONFIG_USB_ADUTUX is not set
881# CONFIG_USB_AUERSWALD is not set
882# CONFIG_USB_RIO500 is not set 959# CONFIG_USB_RIO500 is not set
883# CONFIG_USB_LEGOTOWER is not set 960# CONFIG_USB_LEGOTOWER is not set
884# CONFIG_USB_LCD is not set 961# CONFIG_USB_LCD is not set
@@ -894,18 +971,16 @@ CONFIG_USB_MON=y
894# CONFIG_USB_LD is not set 971# CONFIG_USB_LD is not set
895# CONFIG_USB_TRANCEVIBRATOR is not set 972# CONFIG_USB_TRANCEVIBRATOR is not set
896# CONFIG_USB_IOWARRIOR is not set 973# CONFIG_USB_IOWARRIOR is not set
974# CONFIG_USB_ISIGHTFW is not set
897# CONFIG_USB_GADGET is not set 975# CONFIG_USB_GADGET is not set
898# CONFIG_MMC is not set 976# CONFIG_MMC is not set
899# CONFIG_MEMSTICK is not set 977# CONFIG_MEMSTICK is not set
900# CONFIG_NEW_LEDS is not set 978# CONFIG_NEW_LEDS is not set
979# CONFIG_ACCESSIBILITY is not set
901# CONFIG_INFINIBAND is not set 980# CONFIG_INFINIBAND is not set
902# CONFIG_EDAC is not set 981# CONFIG_EDAC is not set
903CONFIG_RTC_LIB=y 982CONFIG_RTC_LIB=y
904CONFIG_RTC_CLASS=y 983CONFIG_RTC_CLASS=y
905
906#
907# Conflicting RTC option has been selected, check GEN_RTC and RTC
908#
909CONFIG_RTC_HCTOSYS=y 984CONFIG_RTC_HCTOSYS=y
910CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 985CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
911# CONFIG_RTC_DEBUG is not set 986# CONFIG_RTC_DEBUG is not set
@@ -933,6 +1008,7 @@ CONFIG_RTC_DRV_DS1374=y
933# CONFIG_RTC_DRV_PCF8583 is not set 1008# CONFIG_RTC_DRV_PCF8583 is not set
934# CONFIG_RTC_DRV_M41T80 is not set 1009# CONFIG_RTC_DRV_M41T80 is not set
935# CONFIG_RTC_DRV_S35390A is not set 1010# CONFIG_RTC_DRV_S35390A is not set
1011# CONFIG_RTC_DRV_FM3130 is not set
936 1012
937# 1013#
938# SPI RTC drivers 1014# SPI RTC drivers
@@ -953,11 +1029,8 @@ CONFIG_RTC_DRV_DS1374=y
953# 1029#
954# on-CPU RTC drivers 1030# on-CPU RTC drivers
955# 1031#
1032# CONFIG_RTC_DRV_PPC is not set
956# CONFIG_DMADEVICES is not set 1033# CONFIG_DMADEVICES is not set
957
958#
959# Userspace I/O
960#
961# CONFIG_UIO is not set 1034# CONFIG_UIO is not set
962 1035
963# 1036#
@@ -977,7 +1050,6 @@ CONFIG_FS_MBCACHE=y
977# CONFIG_JFS_FS is not set 1050# CONFIG_JFS_FS is not set
978# CONFIG_FS_POSIX_ACL is not set 1051# CONFIG_FS_POSIX_ACL is not set
979# CONFIG_XFS_FS is not set 1052# CONFIG_XFS_FS is not set
980# CONFIG_GFS2_FS is not set
981# CONFIG_OCFS2_FS is not set 1053# CONFIG_OCFS2_FS is not set
982CONFIG_DNOTIFY=y 1054CONFIG_DNOTIFY=y
983CONFIG_INOTIFY=y 1055CONFIG_INOTIFY=y
@@ -1036,6 +1108,7 @@ CONFIG_JFFS2_RTIME=y
1036# CONFIG_CRAMFS is not set 1108# CONFIG_CRAMFS is not set
1037# CONFIG_VXFS_FS is not set 1109# CONFIG_VXFS_FS is not set
1038# CONFIG_MINIX_FS is not set 1110# CONFIG_MINIX_FS is not set
1111# CONFIG_OMFS_FS is not set
1039# CONFIG_HPFS_FS is not set 1112# CONFIG_HPFS_FS is not set
1040# CONFIG_QNX4FS_FS is not set 1113# CONFIG_QNX4FS_FS is not set
1041# CONFIG_ROMFS_FS is not set 1114# CONFIG_ROMFS_FS is not set
@@ -1046,15 +1119,13 @@ CONFIG_NFS_FS=y
1046CONFIG_NFS_V3=y 1119CONFIG_NFS_V3=y
1047# CONFIG_NFS_V3_ACL is not set 1120# CONFIG_NFS_V3_ACL is not set
1048CONFIG_NFS_V4=y 1121CONFIG_NFS_V4=y
1049# CONFIG_NFS_DIRECTIO is not set
1050# CONFIG_NFSD is not set
1051CONFIG_ROOT_NFS=y 1122CONFIG_ROOT_NFS=y
1123# CONFIG_NFSD is not set
1052CONFIG_LOCKD=y 1124CONFIG_LOCKD=y
1053CONFIG_LOCKD_V4=y 1125CONFIG_LOCKD_V4=y
1054CONFIG_NFS_COMMON=y 1126CONFIG_NFS_COMMON=y
1055CONFIG_SUNRPC=y 1127CONFIG_SUNRPC=y
1056CONFIG_SUNRPC_GSS=y 1128CONFIG_SUNRPC_GSS=y
1057# CONFIG_SUNRPC_BIND34 is not set
1058CONFIG_RPCSEC_GSS_KRB5=y 1129CONFIG_RPCSEC_GSS_KRB5=y
1059# CONFIG_RPCSEC_GSS_SPKM3 is not set 1130# CONFIG_RPCSEC_GSS_SPKM3 is not set
1060# CONFIG_SMB_FS is not set 1131# CONFIG_SMB_FS is not set
@@ -1126,8 +1197,10 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1126# Library routines 1197# Library routines
1127# 1198#
1128CONFIG_BITREVERSE=y 1199CONFIG_BITREVERSE=y
1200# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1129# CONFIG_CRC_CCITT is not set 1201# CONFIG_CRC_CCITT is not set
1130# CONFIG_CRC16 is not set 1202# CONFIG_CRC16 is not set
1203# CONFIG_CRC_T10DIF is not set
1131# CONFIG_CRC_ITU_T is not set 1204# CONFIG_CRC_ITU_T is not set
1132CONFIG_CRC32=y 1205CONFIG_CRC32=y
1133# CONFIG_CRC7 is not set 1206# CONFIG_CRC7 is not set
@@ -1146,6 +1219,7 @@ CONFIG_HAVE_LMB=y
1146# CONFIG_PRINTK_TIME is not set 1219# CONFIG_PRINTK_TIME is not set
1147CONFIG_ENABLE_WARN_DEPRECATED=y 1220CONFIG_ENABLE_WARN_DEPRECATED=y
1148CONFIG_ENABLE_MUST_CHECK=y 1221CONFIG_ENABLE_MUST_CHECK=y
1222CONFIG_FRAME_WARN=1024
1149# CONFIG_MAGIC_SYSRQ is not set 1223# CONFIG_MAGIC_SYSRQ is not set
1150# CONFIG_UNUSED_SYMBOLS is not set 1224# CONFIG_UNUSED_SYMBOLS is not set
1151# CONFIG_DEBUG_FS is not set 1225# CONFIG_DEBUG_FS is not set
@@ -1154,7 +1228,18 @@ CONFIG_ENABLE_MUST_CHECK=y
1154# CONFIG_SLUB_DEBUG_ON is not set 1228# CONFIG_SLUB_DEBUG_ON is not set
1155# CONFIG_SLUB_STATS is not set 1229# CONFIG_SLUB_STATS is not set
1156# CONFIG_DEBUG_BUGVERBOSE is not set 1230# CONFIG_DEBUG_BUGVERBOSE is not set
1231# CONFIG_DEBUG_MEMORY_INIT is not set
1232# CONFIG_LATENCYTOP is not set
1233# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1234CONFIG_HAVE_FTRACE=y
1235CONFIG_HAVE_DYNAMIC_FTRACE=y
1236# CONFIG_FTRACE is not set
1237# CONFIG_SCHED_TRACER is not set
1238# CONFIG_CONTEXT_SWITCH_TRACER is not set
1157# CONFIG_SAMPLES is not set 1239# CONFIG_SAMPLES is not set
1240CONFIG_HAVE_ARCH_KGDB=y
1241# CONFIG_IRQSTACKS is not set
1242# CONFIG_BOOTX_TEXT is not set
1158# CONFIG_PPC_EARLY_DEBUG is not set 1243# CONFIG_PPC_EARLY_DEBUG is not set
1159 1244
1160# 1245#
@@ -1164,51 +1249,86 @@ CONFIG_ENABLE_MUST_CHECK=y
1164# CONFIG_SECURITY is not set 1249# CONFIG_SECURITY is not set
1165# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1250# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1166CONFIG_CRYPTO=y 1251CONFIG_CRYPTO=y
1252
1253#
1254# Crypto core or helper
1255#
1167CONFIG_CRYPTO_ALGAPI=y 1256CONFIG_CRYPTO_ALGAPI=y
1168CONFIG_CRYPTO_BLKCIPHER=y 1257CONFIG_CRYPTO_BLKCIPHER=y
1169# CONFIG_CRYPTO_SEQIV is not set
1170CONFIG_CRYPTO_MANAGER=y 1258CONFIG_CRYPTO_MANAGER=y
1259# CONFIG_CRYPTO_GF128MUL is not set
1260# CONFIG_CRYPTO_NULL is not set
1261# CONFIG_CRYPTO_CRYPTD is not set
1262# CONFIG_CRYPTO_AUTHENC is not set
1263# CONFIG_CRYPTO_TEST is not set
1264
1265#
1266# Authenticated Encryption with Associated Data
1267#
1268# CONFIG_CRYPTO_CCM is not set
1269# CONFIG_CRYPTO_GCM is not set
1270# CONFIG_CRYPTO_SEQIV is not set
1271
1272#
1273# Block modes
1274#
1275CONFIG_CRYPTO_CBC=y
1276# CONFIG_CRYPTO_CTR is not set
1277# CONFIG_CRYPTO_CTS is not set
1278CONFIG_CRYPTO_ECB=m
1279# CONFIG_CRYPTO_LRW is not set
1280CONFIG_CRYPTO_PCBC=m
1281# CONFIG_CRYPTO_XTS is not set
1282
1283#
1284# Hash modes
1285#
1171# CONFIG_CRYPTO_HMAC is not set 1286# CONFIG_CRYPTO_HMAC is not set
1172# CONFIG_CRYPTO_XCBC is not set 1287# CONFIG_CRYPTO_XCBC is not set
1173# CONFIG_CRYPTO_NULL is not set 1288
1289#
1290# Digest
1291#
1292# CONFIG_CRYPTO_CRC32C is not set
1174# CONFIG_CRYPTO_MD4 is not set 1293# CONFIG_CRYPTO_MD4 is not set
1175CONFIG_CRYPTO_MD5=y 1294CONFIG_CRYPTO_MD5=y
1295# CONFIG_CRYPTO_MICHAEL_MIC is not set
1296# CONFIG_CRYPTO_RMD128 is not set
1297# CONFIG_CRYPTO_RMD160 is not set
1298# CONFIG_CRYPTO_RMD256 is not set
1299# CONFIG_CRYPTO_RMD320 is not set
1176# CONFIG_CRYPTO_SHA1 is not set 1300# CONFIG_CRYPTO_SHA1 is not set
1177# CONFIG_CRYPTO_SHA256 is not set 1301# CONFIG_CRYPTO_SHA256 is not set
1178# CONFIG_CRYPTO_SHA512 is not set 1302# CONFIG_CRYPTO_SHA512 is not set
1179# CONFIG_CRYPTO_WP512 is not set
1180# CONFIG_CRYPTO_TGR192 is not set 1303# CONFIG_CRYPTO_TGR192 is not set
1181# CONFIG_CRYPTO_GF128MUL is not set 1304# CONFIG_CRYPTO_WP512 is not set
1182CONFIG_CRYPTO_ECB=m 1305
1183CONFIG_CRYPTO_CBC=y 1306#
1184CONFIG_CRYPTO_PCBC=m 1307# Ciphers
1185# CONFIG_CRYPTO_LRW is not set 1308#
1186# CONFIG_CRYPTO_XTS is not set
1187# CONFIG_CRYPTO_CTR is not set
1188# CONFIG_CRYPTO_GCM is not set
1189# CONFIG_CRYPTO_CCM is not set
1190# CONFIG_CRYPTO_CRYPTD is not set
1191CONFIG_CRYPTO_DES=y
1192# CONFIG_CRYPTO_FCRYPT is not set
1193# CONFIG_CRYPTO_BLOWFISH is not set
1194# CONFIG_CRYPTO_TWOFISH is not set
1195# CONFIG_CRYPTO_SERPENT is not set
1196# CONFIG_CRYPTO_AES is not set 1309# CONFIG_CRYPTO_AES is not set
1310# CONFIG_CRYPTO_ANUBIS is not set
1311# CONFIG_CRYPTO_ARC4 is not set
1312# CONFIG_CRYPTO_BLOWFISH is not set
1313# CONFIG_CRYPTO_CAMELLIA is not set
1197# CONFIG_CRYPTO_CAST5 is not set 1314# CONFIG_CRYPTO_CAST5 is not set
1198# CONFIG_CRYPTO_CAST6 is not set 1315# CONFIG_CRYPTO_CAST6 is not set
1199# CONFIG_CRYPTO_TEA is not set 1316CONFIG_CRYPTO_DES=y
1200# CONFIG_CRYPTO_ARC4 is not set 1317# CONFIG_CRYPTO_FCRYPT is not set
1201# CONFIG_CRYPTO_KHAZAD is not set 1318# CONFIG_CRYPTO_KHAZAD is not set
1202# CONFIG_CRYPTO_ANUBIS is not set
1203# CONFIG_CRYPTO_SEED is not set
1204# CONFIG_CRYPTO_SALSA20 is not set 1319# CONFIG_CRYPTO_SALSA20 is not set
1320# CONFIG_CRYPTO_SEED is not set
1321# CONFIG_CRYPTO_SERPENT is not set
1322# CONFIG_CRYPTO_TEA is not set
1323# CONFIG_CRYPTO_TWOFISH is not set
1324
1325#
1326# Compression
1327#
1205# CONFIG_CRYPTO_DEFLATE is not set 1328# CONFIG_CRYPTO_DEFLATE is not set
1206# CONFIG_CRYPTO_MICHAEL_MIC is not set
1207# CONFIG_CRYPTO_CRC32C is not set
1208# CONFIG_CRYPTO_CAMELLIA is not set
1209# CONFIG_CRYPTO_TEST is not set
1210# CONFIG_CRYPTO_AUTHENC is not set
1211# CONFIG_CRYPTO_LZO is not set 1329# CONFIG_CRYPTO_LZO is not set
1212CONFIG_CRYPTO_HW=y 1330CONFIG_CRYPTO_HW=y
1213# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1331# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1332# CONFIG_CRYPTO_DEV_TALITOS is not set
1214# CONFIG_PPC_CLOCK is not set 1333# CONFIG_PPC_CLOCK is not set
1334# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index 5428f9f5ed85..2028337868b4 100644
--- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:21 2008 4# Thu Aug 21 00:52:17 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162CONFIG_MPC831x_RDB=y 176CONFIG_MPC831x_RDB=y
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC831x=y 187CONFIG_PPC_MPC831x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
185# 209#
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -260,10 +290,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
260CONFIG_KERNEL_START=0xc0000000 290CONFIG_KERNEL_START=0xc0000000
261CONFIG_PHYSICAL_START=0x00000000 291CONFIG_PHYSICAL_START=0x00000000
262CONFIG_TASK_SIZE=0xc0000000 292CONFIG_TASK_SIZE=0xc0000000
263
264#
265# Networking
266#
267CONFIG_NET=y 293CONFIG_NET=y
268 294
269# 295#
@@ -452,9 +478,11 @@ CONFIG_MTD_NAND_FSL_ELBC=y
452# CONFIG_MTD_UBI is not set 478# CONFIG_MTD_UBI is not set
453CONFIG_OF_DEVICE=y 479CONFIG_OF_DEVICE=y
454CONFIG_OF_I2C=y 480CONFIG_OF_I2C=y
481CONFIG_OF_SPI=y
455# CONFIG_PARPORT is not set 482# CONFIG_PARPORT is not set
456CONFIG_BLK_DEV=y 483CONFIG_BLK_DEV=y
457# CONFIG_BLK_DEV_FD is not set 484# CONFIG_BLK_DEV_FD is not set
485# CONFIG_MAC_FLOPPY is not set
458# CONFIG_BLK_CPQ_DA is not set 486# CONFIG_BLK_CPQ_DA is not set
459# CONFIG_BLK_CPQ_CISS_DA is not set 487# CONFIG_BLK_CPQ_CISS_DA is not set
460# CONFIG_BLK_DEV_DAC960 is not set 488# CONFIG_BLK_DEV_DAC960 is not set
@@ -471,12 +499,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
471# CONFIG_BLK_DEV_XIP is not set 499# CONFIG_BLK_DEV_XIP is not set
472# CONFIG_CDROM_PKTCDVD is not set 500# CONFIG_CDROM_PKTCDVD is not set
473# CONFIG_ATA_OVER_ETH is not set 501# CONFIG_ATA_OVER_ETH is not set
502# CONFIG_BLK_DEV_HD is not set
474CONFIG_MISC_DEVICES=y 503CONFIG_MISC_DEVICES=y
475# CONFIG_PHANTOM is not set 504# CONFIG_PHANTOM is not set
476# CONFIG_EEPROM_93CX6 is not set 505# CONFIG_EEPROM_93CX6 is not set
477# CONFIG_SGI_IOC4 is not set 506# CONFIG_SGI_IOC4 is not set
478# CONFIG_TIFM_CORE is not set 507# CONFIG_TIFM_CORE is not set
479# CONFIG_ENCLOSURE_SERVICES is not set 508# CONFIG_ENCLOSURE_SERVICES is not set
509# CONFIG_HP_ILO is not set
480CONFIG_HAVE_IDE=y 510CONFIG_HAVE_IDE=y
481# CONFIG_IDE is not set 511# CONFIG_IDE is not set
482 512
@@ -553,7 +583,10 @@ CONFIG_SCSI_LOWLEVEL=y
553# CONFIG_SCSI_DC390T is not set 583# CONFIG_SCSI_DC390T is not set
554# CONFIG_SCSI_NSP32 is not set 584# CONFIG_SCSI_NSP32 is not set
555# CONFIG_SCSI_DEBUG is not set 585# CONFIG_SCSI_DEBUG is not set
586# CONFIG_SCSI_MESH is not set
587# CONFIG_SCSI_MAC53C94 is not set
556# CONFIG_SCSI_SRP is not set 588# CONFIG_SCSI_SRP is not set
589# CONFIG_SCSI_DH is not set
557# CONFIG_ATA is not set 590# CONFIG_ATA is not set
558CONFIG_MD=y 591CONFIG_MD=y
559CONFIG_BLK_DEV_MD=y 592CONFIG_BLK_DEV_MD=y
@@ -570,12 +603,15 @@ CONFIG_MD_RAID1=y
570# 603#
571# IEEE 1394 (FireWire) support 604# IEEE 1394 (FireWire) support
572# 605#
606
607#
608# Enable only one of the two stacks, unless you know what you are doing
609#
573# CONFIG_FIREWIRE is not set 610# CONFIG_FIREWIRE is not set
574# CONFIG_IEEE1394 is not set 611# CONFIG_IEEE1394 is not set
575# CONFIG_I2O is not set 612# CONFIG_I2O is not set
576# CONFIG_MACINTOSH_DRIVERS is not set 613# CONFIG_MACINTOSH_DRIVERS is not set
577CONFIG_NETDEVICES=y 614CONFIG_NETDEVICES=y
578# CONFIG_NETDEVICES_MULTIQUEUE is not set
579# CONFIG_DUMMY is not set 615# CONFIG_DUMMY is not set
580# CONFIG_BONDING is not set 616# CONFIG_BONDING is not set
581# CONFIG_MACVLAN is not set 617# CONFIG_MACVLAN is not set
@@ -602,6 +638,8 @@ CONFIG_CICADA_PHY=y
602# CONFIG_MDIO_BITBANG is not set 638# CONFIG_MDIO_BITBANG is not set
603CONFIG_NET_ETHERNET=y 639CONFIG_NET_ETHERNET=y
604CONFIG_MII=y 640CONFIG_MII=y
641# CONFIG_MACE is not set
642# CONFIG_BMAC is not set
605# CONFIG_HAPPYMEAL is not set 643# CONFIG_HAPPYMEAL is not set
606# CONFIG_SUNGEM is not set 644# CONFIG_SUNGEM is not set
607# CONFIG_CASSINI is not set 645# CONFIG_CASSINI is not set
@@ -638,7 +676,6 @@ CONFIG_NETDEV_1000=y
638# CONFIG_DL2K is not set 676# CONFIG_DL2K is not set
639# CONFIG_E1000 is not set 677# CONFIG_E1000 is not set
640# CONFIG_E1000E is not set 678# CONFIG_E1000E is not set
641# CONFIG_E1000E_ENABLED is not set
642# CONFIG_IP1000 is not set 679# CONFIG_IP1000 is not set
643# CONFIG_IGB is not set 680# CONFIG_IGB is not set
644# CONFIG_NS83820 is not set 681# CONFIG_NS83820 is not set
@@ -652,9 +689,10 @@ CONFIG_NETDEV_1000=y
652# CONFIG_TIGON3 is not set 689# CONFIG_TIGON3 is not set
653# CONFIG_BNX2 is not set 690# CONFIG_BNX2 is not set
654CONFIG_GIANFAR=y 691CONFIG_GIANFAR=y
655CONFIG_GFAR_NAPI=y 692# CONFIG_MV643XX_ETH is not set
656# CONFIG_QLA3XXX is not set 693# CONFIG_QLA3XXX is not set
657# CONFIG_ATL1 is not set 694# CONFIG_ATL1 is not set
695# CONFIG_ATL1E is not set
658CONFIG_NETDEV_10000=y 696CONFIG_NETDEV_10000=y
659# CONFIG_CHELSIO_T1 is not set 697# CONFIG_CHELSIO_T1 is not set
660# CONFIG_CHELSIO_T3 is not set 698# CONFIG_CHELSIO_T3 is not set
@@ -752,11 +790,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
752# CONFIG_SERIAL_UARTLITE is not set 790# CONFIG_SERIAL_UARTLITE is not set
753CONFIG_SERIAL_CORE=y 791CONFIG_SERIAL_CORE=y
754CONFIG_SERIAL_CORE_CONSOLE=y 792CONFIG_SERIAL_CORE_CONSOLE=y
793# CONFIG_SERIAL_PMACZILOG is not set
755# CONFIG_SERIAL_JSM is not set 794# CONFIG_SERIAL_JSM is not set
756# CONFIG_SERIAL_OF_PLATFORM is not set 795# CONFIG_SERIAL_OF_PLATFORM is not set
757CONFIG_UNIX98_PTYS=y 796CONFIG_UNIX98_PTYS=y
758CONFIG_LEGACY_PTYS=y 797CONFIG_LEGACY_PTYS=y
759CONFIG_LEGACY_PTY_COUNT=256 798CONFIG_LEGACY_PTY_COUNT=256
799# CONFIG_BRIQ_PANEL is not set
800# CONFIG_HVC_RTAS is not set
760# CONFIG_IPMI_HANDLER is not set 801# CONFIG_IPMI_HANDLER is not set
761CONFIG_HW_RANDOM=y 802CONFIG_HW_RANDOM=y
762# CONFIG_NVRAM is not set 803# CONFIG_NVRAM is not set
@@ -768,43 +809,70 @@ CONFIG_DEVPORT=y
768CONFIG_I2C=y 809CONFIG_I2C=y
769CONFIG_I2C_BOARDINFO=y 810CONFIG_I2C_BOARDINFO=y
770CONFIG_I2C_CHARDEV=y 811CONFIG_I2C_CHARDEV=y
812CONFIG_I2C_HELPER_AUTO=y
771 813
772# 814#
773# I2C Hardware Bus support 815# I2C Hardware Bus support
774# 816#
817
818#
819# PC SMBus host controller drivers
820#
775# CONFIG_I2C_ALI1535 is not set 821# CONFIG_I2C_ALI1535 is not set
776# CONFIG_I2C_ALI1563 is not set 822# CONFIG_I2C_ALI1563 is not set
777# CONFIG_I2C_ALI15X3 is not set 823# CONFIG_I2C_ALI15X3 is not set
778# CONFIG_I2C_AMD756 is not set 824# CONFIG_I2C_AMD756 is not set
779# CONFIG_I2C_AMD8111 is not set 825# CONFIG_I2C_AMD8111 is not set
780# CONFIG_I2C_I801 is not set 826# CONFIG_I2C_I801 is not set
781# CONFIG_I2C_I810 is not set 827# CONFIG_I2C_ISCH is not set
782# CONFIG_I2C_PIIX4 is not set 828# CONFIG_I2C_PIIX4 is not set
783CONFIG_I2C_MPC=y
784# CONFIG_I2C_NFORCE2 is not set 829# CONFIG_I2C_NFORCE2 is not set
785# CONFIG_I2C_OCORES is not set
786# CONFIG_I2C_PARPORT_LIGHT is not set
787# CONFIG_I2C_PROSAVAGE is not set
788# CONFIG_I2C_SAVAGE4 is not set
789# CONFIG_I2C_SIMTEC is not set
790# CONFIG_I2C_SIS5595 is not set 830# CONFIG_I2C_SIS5595 is not set
791# CONFIG_I2C_SIS630 is not set 831# CONFIG_I2C_SIS630 is not set
792# CONFIG_I2C_SIS96X is not set 832# CONFIG_I2C_SIS96X is not set
793# CONFIG_I2C_TAOS_EVM is not set
794# CONFIG_I2C_STUB is not set
795# CONFIG_I2C_TINY_USB is not set
796# CONFIG_I2C_VIA is not set 833# CONFIG_I2C_VIA is not set
797# CONFIG_I2C_VIAPRO is not set 834# CONFIG_I2C_VIAPRO is not set
835
836#
837# Mac SMBus host controller drivers
838#
839# CONFIG_I2C_HYDRA is not set
840CONFIG_I2C_POWERMAC=y
841
842#
843# I2C system bus drivers (mostly embedded / system-on-chip)
844#
845CONFIG_I2C_MPC=y
846# CONFIG_I2C_OCORES is not set
847# CONFIG_I2C_SIMTEC is not set
848
849#
850# External I2C/SMBus adapter drivers
851#
852# CONFIG_I2C_PARPORT_LIGHT is not set
853# CONFIG_I2C_TAOS_EVM is not set
854# CONFIG_I2C_TINY_USB is not set
855
856#
857# Graphics adapter I2C/DDC channel drivers
858#
798# CONFIG_I2C_VOODOO3 is not set 859# CONFIG_I2C_VOODOO3 is not set
860
861#
862# Other I2C/SMBus bus drivers
863#
799# CONFIG_I2C_PCA_PLATFORM is not set 864# CONFIG_I2C_PCA_PLATFORM is not set
865# CONFIG_I2C_STUB is not set
800 866
801# 867#
802# Miscellaneous I2C Chip support 868# Miscellaneous I2C Chip support
803# 869#
804# CONFIG_DS1682 is not set 870# CONFIG_DS1682 is not set
871# CONFIG_AT24 is not set
805# CONFIG_SENSORS_EEPROM is not set 872# CONFIG_SENSORS_EEPROM is not set
806# CONFIG_SENSORS_PCF8574 is not set 873# CONFIG_SENSORS_PCF8574 is not set
807# CONFIG_PCF8575 is not set 874# CONFIG_PCF8575 is not set
875# CONFIG_SENSORS_PCA9539 is not set
808# CONFIG_SENSORS_PCF8591 is not set 876# CONFIG_SENSORS_PCF8591 is not set
809# CONFIG_SENSORS_MAX6875 is not set 877# CONFIG_SENSORS_MAX6875 is not set
810# CONFIG_SENSORS_TSL2550 is not set 878# CONFIG_SENSORS_TSL2550 is not set
@@ -828,11 +896,15 @@ CONFIG_SPI_MPC83xx=y
828# CONFIG_SPI_AT25 is not set 896# CONFIG_SPI_AT25 is not set
829# CONFIG_SPI_SPIDEV is not set 897# CONFIG_SPI_SPIDEV is not set
830# CONFIG_SPI_TLE62X0 is not set 898# CONFIG_SPI_TLE62X0 is not set
899CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
900# CONFIG_GPIOLIB is not set
831# CONFIG_W1 is not set 901# CONFIG_W1 is not set
832# CONFIG_POWER_SUPPLY is not set 902# CONFIG_POWER_SUPPLY is not set
833CONFIG_HWMON=y 903CONFIG_HWMON=y
834# CONFIG_HWMON_VID is not set 904# CONFIG_HWMON_VID is not set
905# CONFIG_SENSORS_AD7414 is not set
835# CONFIG_SENSORS_AD7418 is not set 906# CONFIG_SENSORS_AD7418 is not set
907# CONFIG_SENSORS_ADCXX is not set
836# CONFIG_SENSORS_ADM1021 is not set 908# CONFIG_SENSORS_ADM1021 is not set
837# CONFIG_SENSORS_ADM1025 is not set 909# CONFIG_SENSORS_ADM1025 is not set
838# CONFIG_SENSORS_ADM1026 is not set 910# CONFIG_SENSORS_ADM1026 is not set
@@ -841,6 +913,7 @@ CONFIG_HWMON=y
841# CONFIG_SENSORS_ADM9240 is not set 913# CONFIG_SENSORS_ADM9240 is not set
842# CONFIG_SENSORS_ADT7470 is not set 914# CONFIG_SENSORS_ADT7470 is not set
843# CONFIG_SENSORS_ADT7473 is not set 915# CONFIG_SENSORS_ADT7473 is not set
916# CONFIG_SENSORS_AMS is not set
844# CONFIG_SENSORS_ATXP1 is not set 917# CONFIG_SENSORS_ATXP1 is not set
845# CONFIG_SENSORS_DS1621 is not set 918# CONFIG_SENSORS_DS1621 is not set
846# CONFIG_SENSORS_I5K_AMB is not set 919# CONFIG_SENSORS_I5K_AMB is not set
@@ -886,6 +959,7 @@ CONFIG_HWMON=y
886# CONFIG_SENSORS_W83627EHF is not set 959# CONFIG_SENSORS_W83627EHF is not set
887# CONFIG_HWMON_DEBUG_CHIP is not set 960# CONFIG_HWMON_DEBUG_CHIP is not set
888# CONFIG_THERMAL is not set 961# CONFIG_THERMAL is not set
962# CONFIG_THERMAL_HWMON is not set
889CONFIG_WATCHDOG=y 963CONFIG_WATCHDOG=y
890# CONFIG_WATCHDOG_NOWAYOUT is not set 964# CONFIG_WATCHDOG_NOWAYOUT is not set
891 965
@@ -893,7 +967,9 @@ CONFIG_WATCHDOG=y
893# Watchdog Device Drivers 967# Watchdog Device Drivers
894# 968#
895# CONFIG_SOFT_WATCHDOG is not set 969# CONFIG_SOFT_WATCHDOG is not set
896CONFIG_83xx_WDT=y 970# CONFIG_ALIM7101_WDT is not set
971# CONFIG_8xxx_WDT is not set
972# CONFIG_WATCHDOG_RTAS is not set
897 973
898# 974#
899# PCI-based Watchdog Cards 975# PCI-based Watchdog Cards
@@ -915,8 +991,10 @@ CONFIG_SSB_POSSIBLE=y
915# 991#
916# Multifunction device drivers 992# Multifunction device drivers
917# 993#
994# CONFIG_MFD_CORE is not set
918# CONFIG_MFD_SM501 is not set 995# CONFIG_MFD_SM501 is not set
919# CONFIG_HTC_PASIC3 is not set 996# CONFIG_HTC_PASIC3 is not set
997# CONFIG_MFD_TMIO is not set
920 998
921# 999#
922# Multimedia devices 1000# Multimedia devices
@@ -949,10 +1027,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
949# Display device support 1027# Display device support
950# 1028#
951# CONFIG_DISPLAY_SUPPORT is not set 1029# CONFIG_DISPLAY_SUPPORT is not set
952
953#
954# Sound
955#
956# CONFIG_SOUND is not set 1030# CONFIG_SOUND is not set
957CONFIG_HID_SUPPORT=y 1031CONFIG_HID_SUPPORT=y
958CONFIG_HID=y 1032CONFIG_HID=y
@@ -986,6 +1060,7 @@ CONFIG_USB_DEVICE_CLASS=y
986# CONFIG_USB_OTG is not set 1060# CONFIG_USB_OTG is not set
987# CONFIG_USB_OTG_WHITELIST is not set 1061# CONFIG_USB_OTG_WHITELIST is not set
988# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1062# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1063CONFIG_USB_MON=y
989 1064
990# 1065#
991# USB Host Controller Drivers 1066# USB Host Controller Drivers
@@ -1009,6 +1084,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1009CONFIG_USB_UHCI_HCD=y 1084CONFIG_USB_UHCI_HCD=y
1010# CONFIG_USB_SL811_HCD is not set 1085# CONFIG_USB_SL811_HCD is not set
1011# CONFIG_USB_R8A66597_HCD is not set 1086# CONFIG_USB_R8A66597_HCD is not set
1087# CONFIG_USB_GADGET_MUSB_HDRC is not set
1012 1088
1013# 1089#
1014# USB Device Class drivers 1090# USB Device Class drivers
@@ -1037,6 +1113,7 @@ CONFIG_USB_STORAGE=y
1037# CONFIG_USB_STORAGE_ALAUDA is not set 1113# CONFIG_USB_STORAGE_ALAUDA is not set
1038# CONFIG_USB_STORAGE_ONETOUCH is not set 1114# CONFIG_USB_STORAGE_ONETOUCH is not set
1039# CONFIG_USB_STORAGE_KARMA is not set 1115# CONFIG_USB_STORAGE_KARMA is not set
1116# CONFIG_USB_STORAGE_SIERRA is not set
1040# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1117# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1041# CONFIG_USB_LIBUSUAL is not set 1118# CONFIG_USB_LIBUSUAL is not set
1042 1119
@@ -1045,7 +1122,6 @@ CONFIG_USB_STORAGE=y
1045# 1122#
1046# CONFIG_USB_MDC800 is not set 1123# CONFIG_USB_MDC800 is not set
1047# CONFIG_USB_MICROTEK is not set 1124# CONFIG_USB_MICROTEK is not set
1048CONFIG_USB_MON=y
1049 1125
1050# 1126#
1051# USB port drivers 1127# USB port drivers
@@ -1058,7 +1134,6 @@ CONFIG_USB_MON=y
1058# CONFIG_USB_EMI62 is not set 1134# CONFIG_USB_EMI62 is not set
1059# CONFIG_USB_EMI26 is not set 1135# CONFIG_USB_EMI26 is not set
1060# CONFIG_USB_ADUTUX is not set 1136# CONFIG_USB_ADUTUX is not set
1061# CONFIG_USB_AUERSWALD is not set
1062# CONFIG_USB_RIO500 is not set 1137# CONFIG_USB_RIO500 is not set
1063# CONFIG_USB_LEGOTOWER is not set 1138# CONFIG_USB_LEGOTOWER is not set
1064# CONFIG_USB_LCD is not set 1139# CONFIG_USB_LCD is not set
@@ -1085,7 +1160,7 @@ CONFIG_USB_GADGET_SELECTED=y
1085# CONFIG_USB_GADGET_FSL_USB2 is not set 1160# CONFIG_USB_GADGET_FSL_USB2 is not set
1086CONFIG_USB_GADGET_NET2280=y 1161CONFIG_USB_GADGET_NET2280=y
1087CONFIG_USB_NET2280=y 1162CONFIG_USB_NET2280=y
1088# CONFIG_USB_GADGET_PXA2XX is not set 1163# CONFIG_USB_GADGET_PXA25X is not set
1089# CONFIG_USB_GADGET_M66592 is not set 1164# CONFIG_USB_GADGET_M66592 is not set
1090# CONFIG_USB_GADGET_PXA27X is not set 1165# CONFIG_USB_GADGET_PXA27X is not set
1091# CONFIG_USB_GADGET_GOKU is not set 1166# CONFIG_USB_GADGET_GOKU is not set
@@ -1103,6 +1178,7 @@ CONFIG_USB_ETH_RNDIS=y
1103# CONFIG_USB_G_SERIAL is not set 1178# CONFIG_USB_G_SERIAL is not set
1104# CONFIG_USB_MIDI_GADGET is not set 1179# CONFIG_USB_MIDI_GADGET is not set
1105# CONFIG_USB_G_PRINTER is not set 1180# CONFIG_USB_G_PRINTER is not set
1181# CONFIG_USB_CDC_COMPOSITE is not set
1106# CONFIG_MMC is not set 1182# CONFIG_MMC is not set
1107# CONFIG_MEMSTICK is not set 1183# CONFIG_MEMSTICK is not set
1108# CONFIG_NEW_LEDS is not set 1184# CONFIG_NEW_LEDS is not set
@@ -1138,10 +1214,13 @@ CONFIG_RTC_DRV_DS1307=y
1138# CONFIG_RTC_DRV_PCF8583 is not set 1214# CONFIG_RTC_DRV_PCF8583 is not set
1139# CONFIG_RTC_DRV_M41T80 is not set 1215# CONFIG_RTC_DRV_M41T80 is not set
1140# CONFIG_RTC_DRV_S35390A is not set 1216# CONFIG_RTC_DRV_S35390A is not set
1217# CONFIG_RTC_DRV_FM3130 is not set
1141 1218
1142# 1219#
1143# SPI RTC drivers 1220# SPI RTC drivers
1144# 1221#
1222# CONFIG_RTC_DRV_M41T94 is not set
1223# CONFIG_RTC_DRV_DS1305 is not set
1145# CONFIG_RTC_DRV_MAX6902 is not set 1224# CONFIG_RTC_DRV_MAX6902 is not set
1146# CONFIG_RTC_DRV_R9701 is not set 1225# CONFIG_RTC_DRV_R9701 is not set
1147# CONFIG_RTC_DRV_RS5C348 is not set 1226# CONFIG_RTC_DRV_RS5C348 is not set
@@ -1240,6 +1319,7 @@ CONFIG_JFFS2_RTIME=y
1240# CONFIG_CRAMFS is not set 1319# CONFIG_CRAMFS is not set
1241# CONFIG_VXFS_FS is not set 1320# CONFIG_VXFS_FS is not set
1242# CONFIG_MINIX_FS is not set 1321# CONFIG_MINIX_FS is not set
1322# CONFIG_OMFS_FS is not set
1243# CONFIG_HPFS_FS is not set 1323# CONFIG_HPFS_FS is not set
1244# CONFIG_QNX4FS_FS is not set 1324# CONFIG_QNX4FS_FS is not set
1245# CONFIG_ROMFS_FS is not set 1325# CONFIG_ROMFS_FS is not set
@@ -1250,14 +1330,13 @@ CONFIG_NFS_FS=y
1250CONFIG_NFS_V3=y 1330CONFIG_NFS_V3=y
1251# CONFIG_NFS_V3_ACL is not set 1331# CONFIG_NFS_V3_ACL is not set
1252CONFIG_NFS_V4=y 1332CONFIG_NFS_V4=y
1253# CONFIG_NFSD is not set
1254CONFIG_ROOT_NFS=y 1333CONFIG_ROOT_NFS=y
1334# CONFIG_NFSD is not set
1255CONFIG_LOCKD=y 1335CONFIG_LOCKD=y
1256CONFIG_LOCKD_V4=y 1336CONFIG_LOCKD_V4=y
1257CONFIG_NFS_COMMON=y 1337CONFIG_NFS_COMMON=y
1258CONFIG_SUNRPC=y 1338CONFIG_SUNRPC=y
1259CONFIG_SUNRPC_GSS=y 1339CONFIG_SUNRPC_GSS=y
1260# CONFIG_SUNRPC_BIND34 is not set
1261CONFIG_RPCSEC_GSS_KRB5=y 1340CONFIG_RPCSEC_GSS_KRB5=y
1262# CONFIG_RPCSEC_GSS_SPKM3 is not set 1341# CONFIG_RPCSEC_GSS_SPKM3 is not set
1263# CONFIG_SMB_FS is not set 1342# CONFIG_SMB_FS is not set
@@ -1297,6 +1376,7 @@ CONFIG_BITREVERSE=y
1297# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1376# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1298# CONFIG_CRC_CCITT is not set 1377# CONFIG_CRC_CCITT is not set
1299# CONFIG_CRC16 is not set 1378# CONFIG_CRC16 is not set
1379# CONFIG_CRC_T10DIF is not set
1300# CONFIG_CRC_ITU_T is not set 1380# CONFIG_CRC_ITU_T is not set
1301CONFIG_CRC32=y 1381CONFIG_CRC32=y
1302# CONFIG_CRC7 is not set 1382# CONFIG_CRC7 is not set
@@ -1323,6 +1403,8 @@ CONFIG_FRAME_WARN=1024
1323CONFIG_DEBUG_KERNEL=y 1403CONFIG_DEBUG_KERNEL=y
1324# CONFIG_DEBUG_SHIRQ is not set 1404# CONFIG_DEBUG_SHIRQ is not set
1325CONFIG_DETECT_SOFTLOCKUP=y 1405CONFIG_DETECT_SOFTLOCKUP=y
1406# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1407CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1326CONFIG_SCHED_DEBUG=y 1408CONFIG_SCHED_DEBUG=y
1327# CONFIG_SCHEDSTATS is not set 1409# CONFIG_SCHEDSTATS is not set
1328# CONFIG_TIMER_STATS is not set 1410# CONFIG_TIMER_STATS is not set
@@ -1340,19 +1422,32 @@ CONFIG_SCHED_DEBUG=y
1340# CONFIG_DEBUG_INFO is not set 1422# CONFIG_DEBUG_INFO is not set
1341# CONFIG_DEBUG_VM is not set 1423# CONFIG_DEBUG_VM is not set
1342# CONFIG_DEBUG_WRITECOUNT is not set 1424# CONFIG_DEBUG_WRITECOUNT is not set
1425# CONFIG_DEBUG_MEMORY_INIT is not set
1343# CONFIG_DEBUG_LIST is not set 1426# CONFIG_DEBUG_LIST is not set
1344# CONFIG_DEBUG_SG is not set 1427# CONFIG_DEBUG_SG is not set
1345# CONFIG_BOOT_PRINTK_DELAY is not set 1428# CONFIG_BOOT_PRINTK_DELAY is not set
1346# CONFIG_RCU_TORTURE_TEST is not set 1429# CONFIG_RCU_TORTURE_TEST is not set
1347# CONFIG_BACKTRACE_SELF_TEST is not set 1430# CONFIG_BACKTRACE_SELF_TEST is not set
1348# CONFIG_FAULT_INJECTION is not set 1431# CONFIG_FAULT_INJECTION is not set
1432# CONFIG_LATENCYTOP is not set
1433CONFIG_SYSCTL_SYSCALL_CHECK=y
1434CONFIG_HAVE_FTRACE=y
1435CONFIG_HAVE_DYNAMIC_FTRACE=y
1436# CONFIG_FTRACE is not set
1437# CONFIG_SCHED_TRACER is not set
1438# CONFIG_CONTEXT_SWITCH_TRACER is not set
1349# CONFIG_SAMPLES is not set 1439# CONFIG_SAMPLES is not set
1440CONFIG_HAVE_ARCH_KGDB=y
1441# CONFIG_KGDB is not set
1350# CONFIG_DEBUG_STACKOVERFLOW is not set 1442# CONFIG_DEBUG_STACKOVERFLOW is not set
1351# CONFIG_DEBUG_STACK_USAGE is not set 1443# CONFIG_DEBUG_STACK_USAGE is not set
1352# CONFIG_DEBUG_PAGEALLOC is not set 1444# CONFIG_DEBUG_PAGEALLOC is not set
1353# CONFIG_DEBUGGER is not set 1445# CONFIG_CODE_PATCHING_SELFTEST is not set
1446# CONFIG_FTR_FIXUP_SELFTEST is not set
1447# CONFIG_XMON is not set
1354# CONFIG_IRQSTACKS is not set 1448# CONFIG_IRQSTACKS is not set
1355# CONFIG_BDI_SWITCH is not set 1449# CONFIG_BDI_SWITCH is not set
1450# CONFIG_BOOTX_TEXT is not set
1356# CONFIG_PPC_EARLY_DEBUG is not set 1451# CONFIG_PPC_EARLY_DEBUG is not set
1357 1452
1358# 1453#
@@ -1406,6 +1501,10 @@ CONFIG_CRYPTO_PCBC=m
1406# CONFIG_CRYPTO_MD4 is not set 1501# CONFIG_CRYPTO_MD4 is not set
1407CONFIG_CRYPTO_MD5=y 1502CONFIG_CRYPTO_MD5=y
1408# CONFIG_CRYPTO_MICHAEL_MIC is not set 1503# CONFIG_CRYPTO_MICHAEL_MIC is not set
1504# CONFIG_CRYPTO_RMD128 is not set
1505# CONFIG_CRYPTO_RMD160 is not set
1506# CONFIG_CRYPTO_RMD256 is not set
1507# CONFIG_CRYPTO_RMD320 is not set
1409# CONFIG_CRYPTO_SHA1 is not set 1508# CONFIG_CRYPTO_SHA1 is not set
1410# CONFIG_CRYPTO_SHA256 is not set 1509# CONFIG_CRYPTO_SHA256 is not set
1411# CONFIG_CRYPTO_SHA512 is not set 1510# CONFIG_CRYPTO_SHA512 is not set
@@ -1438,5 +1537,6 @@ CONFIG_CRYPTO_DES=y
1438# CONFIG_CRYPTO_LZO is not set 1537# CONFIG_CRYPTO_LZO is not set
1439CONFIG_CRYPTO_HW=y 1538CONFIG_CRYPTO_HW=y
1440# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1539# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1540# CONFIG_CRYPTO_DEV_TALITOS is not set
1441# CONFIG_PPC_CLOCK is not set 1541# CONFIG_PPC_CLOCK is not set
1442# CONFIG_VIRTUALIZATION is not set 1542# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
index 9bc3a03ae264..dd80eb0a87a1 100644
--- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:21 2008 4# Thu Aug 21 00:52:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162CONFIG_MPC831x_RDB=y 176CONFIG_MPC831x_RDB=y
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC831x=y 187CONFIG_PPC_MPC831x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
185# 209#
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -260,10 +290,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
260CONFIG_KERNEL_START=0xc0000000 290CONFIG_KERNEL_START=0xc0000000
261CONFIG_PHYSICAL_START=0x00000000 291CONFIG_PHYSICAL_START=0x00000000
262CONFIG_TASK_SIZE=0xc0000000 292CONFIG_TASK_SIZE=0xc0000000
263
264#
265# Networking
266#
267CONFIG_NET=y 293CONFIG_NET=y
268 294
269# 295#
@@ -452,9 +478,11 @@ CONFIG_MTD_NAND_IDS=y
452# CONFIG_MTD_UBI is not set 478# CONFIG_MTD_UBI is not set
453CONFIG_OF_DEVICE=y 479CONFIG_OF_DEVICE=y
454CONFIG_OF_I2C=y 480CONFIG_OF_I2C=y
481CONFIG_OF_SPI=y
455# CONFIG_PARPORT is not set 482# CONFIG_PARPORT is not set
456CONFIG_BLK_DEV=y 483CONFIG_BLK_DEV=y
457# CONFIG_BLK_DEV_FD is not set 484# CONFIG_BLK_DEV_FD is not set
485# CONFIG_MAC_FLOPPY is not set
458# CONFIG_BLK_CPQ_DA is not set 486# CONFIG_BLK_CPQ_DA is not set
459# CONFIG_BLK_CPQ_CISS_DA is not set 487# CONFIG_BLK_CPQ_CISS_DA is not set
460# CONFIG_BLK_DEV_DAC960 is not set 488# CONFIG_BLK_DEV_DAC960 is not set
@@ -471,12 +499,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
471# CONFIG_BLK_DEV_XIP is not set 499# CONFIG_BLK_DEV_XIP is not set
472# CONFIG_CDROM_PKTCDVD is not set 500# CONFIG_CDROM_PKTCDVD is not set
473# CONFIG_ATA_OVER_ETH is not set 501# CONFIG_ATA_OVER_ETH is not set
502# CONFIG_BLK_DEV_HD is not set
474CONFIG_MISC_DEVICES=y 503CONFIG_MISC_DEVICES=y
475# CONFIG_PHANTOM is not set 504# CONFIG_PHANTOM is not set
476# CONFIG_EEPROM_93CX6 is not set 505# CONFIG_EEPROM_93CX6 is not set
477# CONFIG_SGI_IOC4 is not set 506# CONFIG_SGI_IOC4 is not set
478# CONFIG_TIFM_CORE is not set 507# CONFIG_TIFM_CORE is not set
479# CONFIG_ENCLOSURE_SERVICES is not set 508# CONFIG_ENCLOSURE_SERVICES is not set
509# CONFIG_HP_ILO is not set
480CONFIG_HAVE_IDE=y 510CONFIG_HAVE_IDE=y
481# CONFIG_IDE is not set 511# CONFIG_IDE is not set
482 512
@@ -554,7 +584,10 @@ CONFIG_SCSI_LOWLEVEL=y
554# CONFIG_SCSI_DC390T is not set 584# CONFIG_SCSI_DC390T is not set
555# CONFIG_SCSI_NSP32 is not set 585# CONFIG_SCSI_NSP32 is not set
556# CONFIG_SCSI_DEBUG is not set 586# CONFIG_SCSI_DEBUG is not set
587# CONFIG_SCSI_MESH is not set
588# CONFIG_SCSI_MAC53C94 is not set
557# CONFIG_SCSI_SRP is not set 589# CONFIG_SCSI_SRP is not set
590# CONFIG_SCSI_DH is not set
558CONFIG_ATA=y 591CONFIG_ATA=y
559# CONFIG_ATA_NONSTANDARD is not set 592# CONFIG_ATA_NONSTANDARD is not set
560CONFIG_SATA_PMP=y 593CONFIG_SATA_PMP=y
@@ -631,12 +664,15 @@ CONFIG_MD_RAID1=y
631# 664#
632# IEEE 1394 (FireWire) support 665# IEEE 1394 (FireWire) support
633# 666#
667
668#
669# Enable only one of the two stacks, unless you know what you are doing
670#
634# CONFIG_FIREWIRE is not set 671# CONFIG_FIREWIRE is not set
635# CONFIG_IEEE1394 is not set 672# CONFIG_IEEE1394 is not set
636# CONFIG_I2O is not set 673# CONFIG_I2O is not set
637# CONFIG_MACINTOSH_DRIVERS is not set 674# CONFIG_MACINTOSH_DRIVERS is not set
638CONFIG_NETDEVICES=y 675CONFIG_NETDEVICES=y
639# CONFIG_NETDEVICES_MULTIQUEUE is not set
640# CONFIG_DUMMY is not set 676# CONFIG_DUMMY is not set
641# CONFIG_BONDING is not set 677# CONFIG_BONDING is not set
642# CONFIG_MACVLAN is not set 678# CONFIG_MACVLAN is not set
@@ -663,6 +699,8 @@ CONFIG_PHYLIB=y
663# CONFIG_MDIO_BITBANG is not set 699# CONFIG_MDIO_BITBANG is not set
664CONFIG_NET_ETHERNET=y 700CONFIG_NET_ETHERNET=y
665CONFIG_MII=y 701CONFIG_MII=y
702# CONFIG_MACE is not set
703# CONFIG_BMAC is not set
666# CONFIG_HAPPYMEAL is not set 704# CONFIG_HAPPYMEAL is not set
667# CONFIG_SUNGEM is not set 705# CONFIG_SUNGEM is not set
668# CONFIG_CASSINI is not set 706# CONFIG_CASSINI is not set
@@ -699,7 +737,6 @@ CONFIG_NETDEV_1000=y
699# CONFIG_DL2K is not set 737# CONFIG_DL2K is not set
700# CONFIG_E1000 is not set 738# CONFIG_E1000 is not set
701# CONFIG_E1000E is not set 739# CONFIG_E1000E is not set
702# CONFIG_E1000E_ENABLED is not set
703# CONFIG_IP1000 is not set 740# CONFIG_IP1000 is not set
704# CONFIG_IGB is not set 741# CONFIG_IGB is not set
705# CONFIG_NS83820 is not set 742# CONFIG_NS83820 is not set
@@ -713,9 +750,10 @@ CONFIG_NETDEV_1000=y
713# CONFIG_TIGON3 is not set 750# CONFIG_TIGON3 is not set
714# CONFIG_BNX2 is not set 751# CONFIG_BNX2 is not set
715CONFIG_GIANFAR=y 752CONFIG_GIANFAR=y
716CONFIG_GFAR_NAPI=y 753# CONFIG_MV643XX_ETH is not set
717# CONFIG_QLA3XXX is not set 754# CONFIG_QLA3XXX is not set
718# CONFIG_ATL1 is not set 755# CONFIG_ATL1 is not set
756# CONFIG_ATL1E is not set
719CONFIG_NETDEV_10000=y 757CONFIG_NETDEV_10000=y
720# CONFIG_CHELSIO_T1 is not set 758# CONFIG_CHELSIO_T1 is not set
721# CONFIG_CHELSIO_T3 is not set 759# CONFIG_CHELSIO_T3 is not set
@@ -813,11 +851,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
813# CONFIG_SERIAL_UARTLITE is not set 851# CONFIG_SERIAL_UARTLITE is not set
814CONFIG_SERIAL_CORE=y 852CONFIG_SERIAL_CORE=y
815CONFIG_SERIAL_CORE_CONSOLE=y 853CONFIG_SERIAL_CORE_CONSOLE=y
854# CONFIG_SERIAL_PMACZILOG is not set
816# CONFIG_SERIAL_JSM is not set 855# CONFIG_SERIAL_JSM is not set
817# CONFIG_SERIAL_OF_PLATFORM is not set 856# CONFIG_SERIAL_OF_PLATFORM is not set
818CONFIG_UNIX98_PTYS=y 857CONFIG_UNIX98_PTYS=y
819CONFIG_LEGACY_PTYS=y 858CONFIG_LEGACY_PTYS=y
820CONFIG_LEGACY_PTY_COUNT=256 859CONFIG_LEGACY_PTY_COUNT=256
860# CONFIG_BRIQ_PANEL is not set
861# CONFIG_HVC_RTAS is not set
821# CONFIG_IPMI_HANDLER is not set 862# CONFIG_IPMI_HANDLER is not set
822CONFIG_HW_RANDOM=y 863CONFIG_HW_RANDOM=y
823# CONFIG_NVRAM is not set 864# CONFIG_NVRAM is not set
@@ -829,43 +870,70 @@ CONFIG_DEVPORT=y
829CONFIG_I2C=y 870CONFIG_I2C=y
830CONFIG_I2C_BOARDINFO=y 871CONFIG_I2C_BOARDINFO=y
831CONFIG_I2C_CHARDEV=y 872CONFIG_I2C_CHARDEV=y
873CONFIG_I2C_HELPER_AUTO=y
832 874
833# 875#
834# I2C Hardware Bus support 876# I2C Hardware Bus support
835# 877#
878
879#
880# PC SMBus host controller drivers
881#
836# CONFIG_I2C_ALI1535 is not set 882# CONFIG_I2C_ALI1535 is not set
837# CONFIG_I2C_ALI1563 is not set 883# CONFIG_I2C_ALI1563 is not set
838# CONFIG_I2C_ALI15X3 is not set 884# CONFIG_I2C_ALI15X3 is not set
839# CONFIG_I2C_AMD756 is not set 885# CONFIG_I2C_AMD756 is not set
840# CONFIG_I2C_AMD8111 is not set 886# CONFIG_I2C_AMD8111 is not set
841# CONFIG_I2C_I801 is not set 887# CONFIG_I2C_I801 is not set
842# CONFIG_I2C_I810 is not set 888# CONFIG_I2C_ISCH is not set
843# CONFIG_I2C_PIIX4 is not set 889# CONFIG_I2C_PIIX4 is not set
844CONFIG_I2C_MPC=y
845# CONFIG_I2C_NFORCE2 is not set 890# CONFIG_I2C_NFORCE2 is not set
846# CONFIG_I2C_OCORES is not set
847# CONFIG_I2C_PARPORT_LIGHT is not set
848# CONFIG_I2C_PROSAVAGE is not set
849# CONFIG_I2C_SAVAGE4 is not set
850# CONFIG_I2C_SIMTEC is not set
851# CONFIG_I2C_SIS5595 is not set 891# CONFIG_I2C_SIS5595 is not set
852# CONFIG_I2C_SIS630 is not set 892# CONFIG_I2C_SIS630 is not set
853# CONFIG_I2C_SIS96X is not set 893# CONFIG_I2C_SIS96X is not set
854# CONFIG_I2C_TAOS_EVM is not set
855# CONFIG_I2C_STUB is not set
856# CONFIG_I2C_TINY_USB is not set
857# CONFIG_I2C_VIA is not set 894# CONFIG_I2C_VIA is not set
858# CONFIG_I2C_VIAPRO is not set 895# CONFIG_I2C_VIAPRO is not set
896
897#
898# Mac SMBus host controller drivers
899#
900# CONFIG_I2C_HYDRA is not set
901CONFIG_I2C_POWERMAC=y
902
903#
904# I2C system bus drivers (mostly embedded / system-on-chip)
905#
906CONFIG_I2C_MPC=y
907# CONFIG_I2C_OCORES is not set
908# CONFIG_I2C_SIMTEC is not set
909
910#
911# External I2C/SMBus adapter drivers
912#
913# CONFIG_I2C_PARPORT_LIGHT is not set
914# CONFIG_I2C_TAOS_EVM is not set
915# CONFIG_I2C_TINY_USB is not set
916
917#
918# Graphics adapter I2C/DDC channel drivers
919#
859# CONFIG_I2C_VOODOO3 is not set 920# CONFIG_I2C_VOODOO3 is not set
921
922#
923# Other I2C/SMBus bus drivers
924#
860# CONFIG_I2C_PCA_PLATFORM is not set 925# CONFIG_I2C_PCA_PLATFORM is not set
926# CONFIG_I2C_STUB is not set
861 927
862# 928#
863# Miscellaneous I2C Chip support 929# Miscellaneous I2C Chip support
864# 930#
865# CONFIG_DS1682 is not set 931# CONFIG_DS1682 is not set
932# CONFIG_AT24 is not set
866# CONFIG_SENSORS_EEPROM is not set 933# CONFIG_SENSORS_EEPROM is not set
867# CONFIG_SENSORS_PCF8574 is not set 934# CONFIG_SENSORS_PCF8574 is not set
868# CONFIG_PCF8575 is not set 935# CONFIG_PCF8575 is not set
936# CONFIG_SENSORS_PCA9539 is not set
869# CONFIG_SENSORS_PCF8591 is not set 937# CONFIG_SENSORS_PCF8591 is not set
870# CONFIG_SENSORS_MAX6875 is not set 938# CONFIG_SENSORS_MAX6875 is not set
871# CONFIG_SENSORS_TSL2550 is not set 939# CONFIG_SENSORS_TSL2550 is not set
@@ -889,11 +957,15 @@ CONFIG_SPI_MPC83xx=y
889# CONFIG_SPI_AT25 is not set 957# CONFIG_SPI_AT25 is not set
890# CONFIG_SPI_SPIDEV is not set 958# CONFIG_SPI_SPIDEV is not set
891# CONFIG_SPI_TLE62X0 is not set 959# CONFIG_SPI_TLE62X0 is not set
960CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
961# CONFIG_GPIOLIB is not set
892# CONFIG_W1 is not set 962# CONFIG_W1 is not set
893# CONFIG_POWER_SUPPLY is not set 963# CONFIG_POWER_SUPPLY is not set
894CONFIG_HWMON=y 964CONFIG_HWMON=y
895# CONFIG_HWMON_VID is not set 965# CONFIG_HWMON_VID is not set
966# CONFIG_SENSORS_AD7414 is not set
896# CONFIG_SENSORS_AD7418 is not set 967# CONFIG_SENSORS_AD7418 is not set
968# CONFIG_SENSORS_ADCXX is not set
897# CONFIG_SENSORS_ADM1021 is not set 969# CONFIG_SENSORS_ADM1021 is not set
898# CONFIG_SENSORS_ADM1025 is not set 970# CONFIG_SENSORS_ADM1025 is not set
899# CONFIG_SENSORS_ADM1026 is not set 971# CONFIG_SENSORS_ADM1026 is not set
@@ -902,6 +974,7 @@ CONFIG_HWMON=y
902# CONFIG_SENSORS_ADM9240 is not set 974# CONFIG_SENSORS_ADM9240 is not set
903# CONFIG_SENSORS_ADT7470 is not set 975# CONFIG_SENSORS_ADT7470 is not set
904# CONFIG_SENSORS_ADT7473 is not set 976# CONFIG_SENSORS_ADT7473 is not set
977# CONFIG_SENSORS_AMS is not set
905# CONFIG_SENSORS_ATXP1 is not set 978# CONFIG_SENSORS_ATXP1 is not set
906# CONFIG_SENSORS_DS1621 is not set 979# CONFIG_SENSORS_DS1621 is not set
907# CONFIG_SENSORS_I5K_AMB is not set 980# CONFIG_SENSORS_I5K_AMB is not set
@@ -947,6 +1020,7 @@ CONFIG_HWMON=y
947# CONFIG_SENSORS_W83627EHF is not set 1020# CONFIG_SENSORS_W83627EHF is not set
948# CONFIG_HWMON_DEBUG_CHIP is not set 1021# CONFIG_HWMON_DEBUG_CHIP is not set
949# CONFIG_THERMAL is not set 1022# CONFIG_THERMAL is not set
1023# CONFIG_THERMAL_HWMON is not set
950CONFIG_WATCHDOG=y 1024CONFIG_WATCHDOG=y
951# CONFIG_WATCHDOG_NOWAYOUT is not set 1025# CONFIG_WATCHDOG_NOWAYOUT is not set
952 1026
@@ -954,7 +1028,9 @@ CONFIG_WATCHDOG=y
954# Watchdog Device Drivers 1028# Watchdog Device Drivers
955# 1029#
956# CONFIG_SOFT_WATCHDOG is not set 1030# CONFIG_SOFT_WATCHDOG is not set
957CONFIG_83xx_WDT=y 1031# CONFIG_ALIM7101_WDT is not set
1032# CONFIG_8xxx_WDT is not set
1033# CONFIG_WATCHDOG_RTAS is not set
958 1034
959# 1035#
960# PCI-based Watchdog Cards 1036# PCI-based Watchdog Cards
@@ -976,8 +1052,10 @@ CONFIG_SSB_POSSIBLE=y
976# 1052#
977# Multifunction device drivers 1053# Multifunction device drivers
978# 1054#
1055# CONFIG_MFD_CORE is not set
979# CONFIG_MFD_SM501 is not set 1056# CONFIG_MFD_SM501 is not set
980# CONFIG_HTC_PASIC3 is not set 1057# CONFIG_HTC_PASIC3 is not set
1058# CONFIG_MFD_TMIO is not set
981 1059
982# 1060#
983# Multimedia devices 1061# Multimedia devices
@@ -1010,10 +1088,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1010# Display device support 1088# Display device support
1011# 1089#
1012# CONFIG_DISPLAY_SUPPORT is not set 1090# CONFIG_DISPLAY_SUPPORT is not set
1013
1014#
1015# Sound
1016#
1017# CONFIG_SOUND is not set 1091# CONFIG_SOUND is not set
1018CONFIG_HID_SUPPORT=y 1092CONFIG_HID_SUPPORT=y
1019CONFIG_HID=y 1093CONFIG_HID=y
@@ -1047,6 +1121,7 @@ CONFIG_USB_DEVICE_CLASS=y
1047# CONFIG_USB_OTG is not set 1121# CONFIG_USB_OTG is not set
1048# CONFIG_USB_OTG_WHITELIST is not set 1122# CONFIG_USB_OTG_WHITELIST is not set
1049# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1123# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1124CONFIG_USB_MON=y
1050 1125
1051# 1126#
1052# USB Host Controller Drivers 1127# USB Host Controller Drivers
@@ -1070,6 +1145,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1070CONFIG_USB_UHCI_HCD=y 1145CONFIG_USB_UHCI_HCD=y
1071# CONFIG_USB_SL811_HCD is not set 1146# CONFIG_USB_SL811_HCD is not set
1072# CONFIG_USB_R8A66597_HCD is not set 1147# CONFIG_USB_R8A66597_HCD is not set
1148# CONFIG_USB_GADGET_MUSB_HDRC is not set
1073 1149
1074# 1150#
1075# USB Device Class drivers 1151# USB Device Class drivers
@@ -1098,6 +1174,7 @@ CONFIG_USB_STORAGE=y
1098# CONFIG_USB_STORAGE_ALAUDA is not set 1174# CONFIG_USB_STORAGE_ALAUDA is not set
1099# CONFIG_USB_STORAGE_ONETOUCH is not set 1175# CONFIG_USB_STORAGE_ONETOUCH is not set
1100# CONFIG_USB_STORAGE_KARMA is not set 1176# CONFIG_USB_STORAGE_KARMA is not set
1177# CONFIG_USB_STORAGE_SIERRA is not set
1101# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1178# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1102# CONFIG_USB_LIBUSUAL is not set 1179# CONFIG_USB_LIBUSUAL is not set
1103 1180
@@ -1106,7 +1183,6 @@ CONFIG_USB_STORAGE=y
1106# 1183#
1107# CONFIG_USB_MDC800 is not set 1184# CONFIG_USB_MDC800 is not set
1108# CONFIG_USB_MICROTEK is not set 1185# CONFIG_USB_MICROTEK is not set
1109CONFIG_USB_MON=y
1110 1186
1111# 1187#
1112# USB port drivers 1188# USB port drivers
@@ -1119,7 +1195,6 @@ CONFIG_USB_MON=y
1119# CONFIG_USB_EMI62 is not set 1195# CONFIG_USB_EMI62 is not set
1120# CONFIG_USB_EMI26 is not set 1196# CONFIG_USB_EMI26 is not set
1121# CONFIG_USB_ADUTUX is not set 1197# CONFIG_USB_ADUTUX is not set
1122# CONFIG_USB_AUERSWALD is not set
1123# CONFIG_USB_RIO500 is not set 1198# CONFIG_USB_RIO500 is not set
1124# CONFIG_USB_LEGOTOWER is not set 1199# CONFIG_USB_LEGOTOWER is not set
1125# CONFIG_USB_LCD is not set 1200# CONFIG_USB_LCD is not set
@@ -1146,7 +1221,7 @@ CONFIG_USB_GADGET_SELECTED=y
1146# CONFIG_USB_GADGET_FSL_USB2 is not set 1221# CONFIG_USB_GADGET_FSL_USB2 is not set
1147CONFIG_USB_GADGET_NET2280=y 1222CONFIG_USB_GADGET_NET2280=y
1148CONFIG_USB_NET2280=y 1223CONFIG_USB_NET2280=y
1149# CONFIG_USB_GADGET_PXA2XX is not set 1224# CONFIG_USB_GADGET_PXA25X is not set
1150# CONFIG_USB_GADGET_M66592 is not set 1225# CONFIG_USB_GADGET_M66592 is not set
1151# CONFIG_USB_GADGET_PXA27X is not set 1226# CONFIG_USB_GADGET_PXA27X is not set
1152# CONFIG_USB_GADGET_GOKU is not set 1227# CONFIG_USB_GADGET_GOKU is not set
@@ -1164,6 +1239,7 @@ CONFIG_USB_ETH_RNDIS=y
1164# CONFIG_USB_G_SERIAL is not set 1239# CONFIG_USB_G_SERIAL is not set
1165# CONFIG_USB_MIDI_GADGET is not set 1240# CONFIG_USB_MIDI_GADGET is not set
1166# CONFIG_USB_G_PRINTER is not set 1241# CONFIG_USB_G_PRINTER is not set
1242# CONFIG_USB_CDC_COMPOSITE is not set
1167# CONFIG_MMC is not set 1243# CONFIG_MMC is not set
1168# CONFIG_MEMSTICK is not set 1244# CONFIG_MEMSTICK is not set
1169# CONFIG_NEW_LEDS is not set 1245# CONFIG_NEW_LEDS is not set
@@ -1199,10 +1275,13 @@ CONFIG_RTC_DRV_DS1307=y
1199# CONFIG_RTC_DRV_PCF8583 is not set 1275# CONFIG_RTC_DRV_PCF8583 is not set
1200# CONFIG_RTC_DRV_M41T80 is not set 1276# CONFIG_RTC_DRV_M41T80 is not set
1201# CONFIG_RTC_DRV_S35390A is not set 1277# CONFIG_RTC_DRV_S35390A is not set
1278# CONFIG_RTC_DRV_FM3130 is not set
1202 1279
1203# 1280#
1204# SPI RTC drivers 1281# SPI RTC drivers
1205# 1282#
1283# CONFIG_RTC_DRV_M41T94 is not set
1284# CONFIG_RTC_DRV_DS1305 is not set
1206# CONFIG_RTC_DRV_MAX6902 is not set 1285# CONFIG_RTC_DRV_MAX6902 is not set
1207# CONFIG_RTC_DRV_R9701 is not set 1286# CONFIG_RTC_DRV_R9701 is not set
1208# CONFIG_RTC_DRV_RS5C348 is not set 1287# CONFIG_RTC_DRV_RS5C348 is not set
@@ -1301,6 +1380,7 @@ CONFIG_JFFS2_RTIME=y
1301# CONFIG_CRAMFS is not set 1380# CONFIG_CRAMFS is not set
1302# CONFIG_VXFS_FS is not set 1381# CONFIG_VXFS_FS is not set
1303# CONFIG_MINIX_FS is not set 1382# CONFIG_MINIX_FS is not set
1383# CONFIG_OMFS_FS is not set
1304# CONFIG_HPFS_FS is not set 1384# CONFIG_HPFS_FS is not set
1305# CONFIG_QNX4FS_FS is not set 1385# CONFIG_QNX4FS_FS is not set
1306# CONFIG_ROMFS_FS is not set 1386# CONFIG_ROMFS_FS is not set
@@ -1311,14 +1391,13 @@ CONFIG_NFS_FS=y
1311CONFIG_NFS_V3=y 1391CONFIG_NFS_V3=y
1312# CONFIG_NFS_V3_ACL is not set 1392# CONFIG_NFS_V3_ACL is not set
1313CONFIG_NFS_V4=y 1393CONFIG_NFS_V4=y
1314# CONFIG_NFSD is not set
1315CONFIG_ROOT_NFS=y 1394CONFIG_ROOT_NFS=y
1395# CONFIG_NFSD is not set
1316CONFIG_LOCKD=y 1396CONFIG_LOCKD=y
1317CONFIG_LOCKD_V4=y 1397CONFIG_LOCKD_V4=y
1318CONFIG_NFS_COMMON=y 1398CONFIG_NFS_COMMON=y
1319CONFIG_SUNRPC=y 1399CONFIG_SUNRPC=y
1320CONFIG_SUNRPC_GSS=y 1400CONFIG_SUNRPC_GSS=y
1321# CONFIG_SUNRPC_BIND34 is not set
1322CONFIG_RPCSEC_GSS_KRB5=y 1401CONFIG_RPCSEC_GSS_KRB5=y
1323# CONFIG_RPCSEC_GSS_SPKM3 is not set 1402# CONFIG_RPCSEC_GSS_SPKM3 is not set
1324# CONFIG_SMB_FS is not set 1403# CONFIG_SMB_FS is not set
@@ -1358,6 +1437,7 @@ CONFIG_BITREVERSE=y
1358# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1437# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1359# CONFIG_CRC_CCITT is not set 1438# CONFIG_CRC_CCITT is not set
1360# CONFIG_CRC16 is not set 1439# CONFIG_CRC16 is not set
1440# CONFIG_CRC_T10DIF is not set
1361# CONFIG_CRC_ITU_T is not set 1441# CONFIG_CRC_ITU_T is not set
1362CONFIG_CRC32=y 1442CONFIG_CRC32=y
1363# CONFIG_CRC7 is not set 1443# CONFIG_CRC7 is not set
@@ -1384,6 +1464,8 @@ CONFIG_FRAME_WARN=1024
1384CONFIG_DEBUG_KERNEL=y 1464CONFIG_DEBUG_KERNEL=y
1385# CONFIG_DEBUG_SHIRQ is not set 1465# CONFIG_DEBUG_SHIRQ is not set
1386CONFIG_DETECT_SOFTLOCKUP=y 1466CONFIG_DETECT_SOFTLOCKUP=y
1467# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1468CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1387CONFIG_SCHED_DEBUG=y 1469CONFIG_SCHED_DEBUG=y
1388# CONFIG_SCHEDSTATS is not set 1470# CONFIG_SCHEDSTATS is not set
1389# CONFIG_TIMER_STATS is not set 1471# CONFIG_TIMER_STATS is not set
@@ -1401,19 +1483,32 @@ CONFIG_SCHED_DEBUG=y
1401# CONFIG_DEBUG_INFO is not set 1483# CONFIG_DEBUG_INFO is not set
1402# CONFIG_DEBUG_VM is not set 1484# CONFIG_DEBUG_VM is not set
1403# CONFIG_DEBUG_WRITECOUNT is not set 1485# CONFIG_DEBUG_WRITECOUNT is not set
1486# CONFIG_DEBUG_MEMORY_INIT is not set
1404# CONFIG_DEBUG_LIST is not set 1487# CONFIG_DEBUG_LIST is not set
1405# CONFIG_DEBUG_SG is not set 1488# CONFIG_DEBUG_SG is not set
1406# CONFIG_BOOT_PRINTK_DELAY is not set 1489# CONFIG_BOOT_PRINTK_DELAY is not set
1407# CONFIG_RCU_TORTURE_TEST is not set 1490# CONFIG_RCU_TORTURE_TEST is not set
1408# CONFIG_BACKTRACE_SELF_TEST is not set 1491# CONFIG_BACKTRACE_SELF_TEST is not set
1409# CONFIG_FAULT_INJECTION is not set 1492# CONFIG_FAULT_INJECTION is not set
1493# CONFIG_LATENCYTOP is not set
1494CONFIG_SYSCTL_SYSCALL_CHECK=y
1495CONFIG_HAVE_FTRACE=y
1496CONFIG_HAVE_DYNAMIC_FTRACE=y
1497# CONFIG_FTRACE is not set
1498# CONFIG_SCHED_TRACER is not set
1499# CONFIG_CONTEXT_SWITCH_TRACER is not set
1410# CONFIG_SAMPLES is not set 1500# CONFIG_SAMPLES is not set
1501CONFIG_HAVE_ARCH_KGDB=y
1502# CONFIG_KGDB is not set
1411# CONFIG_DEBUG_STACKOVERFLOW is not set 1503# CONFIG_DEBUG_STACKOVERFLOW is not set
1412# CONFIG_DEBUG_STACK_USAGE is not set 1504# CONFIG_DEBUG_STACK_USAGE is not set
1413# CONFIG_DEBUG_PAGEALLOC is not set 1505# CONFIG_DEBUG_PAGEALLOC is not set
1414# CONFIG_DEBUGGER is not set 1506# CONFIG_CODE_PATCHING_SELFTEST is not set
1507# CONFIG_FTR_FIXUP_SELFTEST is not set
1508# CONFIG_XMON is not set
1415# CONFIG_IRQSTACKS is not set 1509# CONFIG_IRQSTACKS is not set
1416# CONFIG_BDI_SWITCH is not set 1510# CONFIG_BDI_SWITCH is not set
1511# CONFIG_BOOTX_TEXT is not set
1417# CONFIG_PPC_EARLY_DEBUG is not set 1512# CONFIG_PPC_EARLY_DEBUG is not set
1418 1513
1419# 1514#
@@ -1467,6 +1562,10 @@ CONFIG_CRYPTO_PCBC=m
1467# CONFIG_CRYPTO_MD4 is not set 1562# CONFIG_CRYPTO_MD4 is not set
1468CONFIG_CRYPTO_MD5=y 1563CONFIG_CRYPTO_MD5=y
1469# CONFIG_CRYPTO_MICHAEL_MIC is not set 1564# CONFIG_CRYPTO_MICHAEL_MIC is not set
1565# CONFIG_CRYPTO_RMD128 is not set
1566# CONFIG_CRYPTO_RMD160 is not set
1567# CONFIG_CRYPTO_RMD256 is not set
1568# CONFIG_CRYPTO_RMD320 is not set
1470# CONFIG_CRYPTO_SHA1 is not set 1569# CONFIG_CRYPTO_SHA1 is not set
1471# CONFIG_CRYPTO_SHA256 is not set 1570# CONFIG_CRYPTO_SHA256 is not set
1472# CONFIG_CRYPTO_SHA512 is not set 1571# CONFIG_CRYPTO_SHA512 is not set
@@ -1499,5 +1598,6 @@ CONFIG_CRYPTO_DES=y
1499# CONFIG_CRYPTO_LZO is not set 1598# CONFIG_CRYPTO_LZO is not set
1500CONFIG_CRYPTO_HW=y 1599CONFIG_CRYPTO_HW=y
1501# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1600# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1601# CONFIG_CRYPTO_DEV_TALITOS is not set
1502# CONFIG_PPC_CLOCK is not set 1602# CONFIG_PPC_CLOCK is not set
1503# CONFIG_VIRTUALIZATION is not set 1603# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
index 1eca26f3659a..bdf50c8a17e6 100644
--- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:22 2008 4# Thu Aug 21 00:52:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163CONFIG_MPC832x_MDS=y 177CONFIG_MPC832x_MDS=y
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC832x=y 187CONFIG_PPC_MPC832x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183CONFIG_QUICC_ENGINE=y 207CONFIG_QUICC_ENGINE=y
184# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
185 209
@@ -196,7 +220,7 @@ CONFIG_HZ_250=y
196# CONFIG_HZ_300 is not set 220# CONFIG_HZ_300 is not set
197# CONFIG_HZ_1000 is not set 221# CONFIG_HZ_1000 is not set
198CONFIG_HZ=250 222CONFIG_HZ=250
199# CONFIG_SCHED_HRTICK is not set 223CONFIG_SCHED_HRTICK=y
200CONFIG_PREEMPT_NONE=y 224CONFIG_PREEMPT_NONE=y
201# CONFIG_PREEMPT_VOLUNTARY is not set 225# CONFIG_PREEMPT_VOLUNTARY is not set
202# CONFIG_PREEMPT is not set 226# CONFIG_PREEMPT is not set
@@ -207,6 +231,7 @@ CONFIG_MATH_EMULATION=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y 232CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 233CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
234# CONFIG_KEXEC is not set
210CONFIG_ARCH_FLATMEM_ENABLE=y 235CONFIG_ARCH_FLATMEM_ENABLE=y
211CONFIG_ARCH_POPULATES_NODE_MAP=y 236CONFIG_ARCH_POPULATES_NODE_MAP=y
212CONFIG_SELECT_MEMORY_MODEL=y 237CONFIG_SELECT_MEMORY_MODEL=y
@@ -219,6 +244,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 244# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 245CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 246CONFIG_SPLIT_PTLOCK_CPUS=4
247CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 248# CONFIG_RESOURCES_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 249CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 250CONFIG_BOUNCE=y
@@ -226,6 +252,7 @@ CONFIG_VIRT_TO_BUS=y
226CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
255CONFIG_EXTRA_TARGETS=""
229# CONFIG_PM is not set 256# CONFIG_PM is not set
230CONFIG_SECCOMP=y 257CONFIG_SECCOMP=y
231CONFIG_ISA_DMA_API=y 258CONFIG_ISA_DMA_API=y
@@ -233,10 +260,13 @@ CONFIG_ISA_DMA_API=y
233# 260#
234# Bus options 261# Bus options
235# 262#
263# CONFIG_ISA is not set
236CONFIG_ZONE_DMA=y 264CONFIG_ZONE_DMA=y
237CONFIG_GENERIC_ISA_DMA=y 265CONFIG_GENERIC_ISA_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 266CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 267CONFIG_FSL_SOC=y
268CONFIG_FSL_PCI=y
269CONFIG_PPC_PCI_CHOICE=y
240CONFIG_PCI=y 270CONFIG_PCI=y
241CONFIG_PCI_DOMAINS=y 271CONFIG_PCI_DOMAINS=y
242CONFIG_PCI_SYSCALL=y 272CONFIG_PCI_SYSCALL=y
@@ -261,10 +291,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
261CONFIG_KERNEL_START=0xc0000000 291CONFIG_KERNEL_START=0xc0000000
262CONFIG_PHYSICAL_START=0x00000000 292CONFIG_PHYSICAL_START=0x00000000
263CONFIG_TASK_SIZE=0xc0000000 293CONFIG_TASK_SIZE=0xc0000000
264
265#
266# Networking
267#
268CONFIG_NET=y 294CONFIG_NET=y
269 295
270# 296#
@@ -365,6 +391,7 @@ CONFIG_OF_I2C=y
365# CONFIG_PARPORT is not set 391# CONFIG_PARPORT is not set
366CONFIG_BLK_DEV=y 392CONFIG_BLK_DEV=y
367# CONFIG_BLK_DEV_FD is not set 393# CONFIG_BLK_DEV_FD is not set
394# CONFIG_MAC_FLOPPY is not set
368# CONFIG_BLK_CPQ_DA is not set 395# CONFIG_BLK_CPQ_DA is not set
369# CONFIG_BLK_CPQ_CISS_DA is not set 396# CONFIG_BLK_CPQ_CISS_DA is not set
370# CONFIG_BLK_DEV_DAC960 is not set 397# CONFIG_BLK_DEV_DAC960 is not set
@@ -380,12 +407,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
380# CONFIG_BLK_DEV_XIP is not set 407# CONFIG_BLK_DEV_XIP is not set
381# CONFIG_CDROM_PKTCDVD is not set 408# CONFIG_CDROM_PKTCDVD is not set
382# CONFIG_ATA_OVER_ETH is not set 409# CONFIG_ATA_OVER_ETH is not set
410# CONFIG_BLK_DEV_HD is not set
383CONFIG_MISC_DEVICES=y 411CONFIG_MISC_DEVICES=y
384# CONFIG_PHANTOM is not set 412# CONFIG_PHANTOM is not set
385# CONFIG_EEPROM_93CX6 is not set 413# CONFIG_EEPROM_93CX6 is not set
386# CONFIG_SGI_IOC4 is not set 414# CONFIG_SGI_IOC4 is not set
387# CONFIG_TIFM_CORE is not set 415# CONFIG_TIFM_CORE is not set
388# CONFIG_ENCLOSURE_SERVICES is not set 416# CONFIG_ENCLOSURE_SERVICES is not set
417# CONFIG_HP_ILO is not set
389CONFIG_HAVE_IDE=y 418CONFIG_HAVE_IDE=y
390# CONFIG_IDE is not set 419# CONFIG_IDE is not set
391 420
@@ -462,7 +491,10 @@ CONFIG_SCSI_LOWLEVEL=y
462# CONFIG_SCSI_DC390T is not set 491# CONFIG_SCSI_DC390T is not set
463# CONFIG_SCSI_NSP32 is not set 492# CONFIG_SCSI_NSP32 is not set
464# CONFIG_SCSI_DEBUG is not set 493# CONFIG_SCSI_DEBUG is not set
494# CONFIG_SCSI_MESH is not set
495# CONFIG_SCSI_MAC53C94 is not set
465# CONFIG_SCSI_SRP is not set 496# CONFIG_SCSI_SRP is not set
497# CONFIG_SCSI_DH is not set
466# CONFIG_ATA is not set 498# CONFIG_ATA is not set
467# CONFIG_MD is not set 499# CONFIG_MD is not set
468# CONFIG_FUSION is not set 500# CONFIG_FUSION is not set
@@ -470,12 +502,15 @@ CONFIG_SCSI_LOWLEVEL=y
470# 502#
471# IEEE 1394 (FireWire) support 503# IEEE 1394 (FireWire) support
472# 504#
505
506#
507# Enable only one of the two stacks, unless you know what you are doing
508#
473# CONFIG_FIREWIRE is not set 509# CONFIG_FIREWIRE is not set
474# CONFIG_IEEE1394 is not set 510# CONFIG_IEEE1394 is not set
475# CONFIG_I2O is not set 511# CONFIG_I2O is not set
476# CONFIG_MACINTOSH_DRIVERS is not set 512# CONFIG_MACINTOSH_DRIVERS is not set
477CONFIG_NETDEVICES=y 513CONFIG_NETDEVICES=y
478# CONFIG_NETDEVICES_MULTIQUEUE is not set
479# CONFIG_DUMMY is not set 514# CONFIG_DUMMY is not set
480# CONFIG_BONDING is not set 515# CONFIG_BONDING is not set
481# CONFIG_MACVLAN is not set 516# CONFIG_MACVLAN is not set
@@ -502,6 +537,8 @@ CONFIG_DAVICOM_PHY=y
502# CONFIG_MDIO_BITBANG is not set 537# CONFIG_MDIO_BITBANG is not set
503CONFIG_NET_ETHERNET=y 538CONFIG_NET_ETHERNET=y
504CONFIG_MII=y 539CONFIG_MII=y
540# CONFIG_MACE is not set
541# CONFIG_BMAC is not set
505# CONFIG_HAPPYMEAL is not set 542# CONFIG_HAPPYMEAL is not set
506# CONFIG_SUNGEM is not set 543# CONFIG_SUNGEM is not set
507# CONFIG_CASSINI is not set 544# CONFIG_CASSINI is not set
@@ -519,7 +556,6 @@ CONFIG_NETDEV_1000=y
519# CONFIG_DL2K is not set 556# CONFIG_DL2K is not set
520# CONFIG_E1000 is not set 557# CONFIG_E1000 is not set
521# CONFIG_E1000E is not set 558# CONFIG_E1000E is not set
522# CONFIG_E1000E_ENABLED is not set
523# CONFIG_IP1000 is not set 559# CONFIG_IP1000 is not set
524# CONFIG_IGB is not set 560# CONFIG_IGB is not set
525# CONFIG_NS83820 is not set 561# CONFIG_NS83820 is not set
@@ -534,12 +570,13 @@ CONFIG_NETDEV_1000=y
534# CONFIG_BNX2 is not set 570# CONFIG_BNX2 is not set
535# CONFIG_GIANFAR is not set 571# CONFIG_GIANFAR is not set
536CONFIG_UCC_GETH=y 572CONFIG_UCC_GETH=y
537# CONFIG_UGETH_NAPI is not set
538# CONFIG_UGETH_MAGIC_PACKET is not set 573# CONFIG_UGETH_MAGIC_PACKET is not set
539# CONFIG_UGETH_FILTERING is not set 574# CONFIG_UGETH_FILTERING is not set
540# CONFIG_UGETH_TX_ON_DEMAND is not set 575# CONFIG_UGETH_TX_ON_DEMAND is not set
576# CONFIG_MV643XX_ETH is not set
541# CONFIG_QLA3XXX is not set 577# CONFIG_QLA3XXX is not set
542# CONFIG_ATL1 is not set 578# CONFIG_ATL1 is not set
579# CONFIG_ATL1E is not set
543CONFIG_NETDEV_10000=y 580CONFIG_NETDEV_10000=y
544# CONFIG_CHELSIO_T1 is not set 581# CONFIG_CHELSIO_T1 is not set
545# CONFIG_CHELSIO_T3 is not set 582# CONFIG_CHELSIO_T3 is not set
@@ -628,12 +665,15 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
628# CONFIG_SERIAL_UARTLITE is not set 665# CONFIG_SERIAL_UARTLITE is not set
629CONFIG_SERIAL_CORE=y 666CONFIG_SERIAL_CORE=y
630CONFIG_SERIAL_CORE_CONSOLE=y 667CONFIG_SERIAL_CORE_CONSOLE=y
668# CONFIG_SERIAL_PMACZILOG is not set
631# CONFIG_SERIAL_JSM is not set 669# CONFIG_SERIAL_JSM is not set
632# CONFIG_SERIAL_OF_PLATFORM is not set 670# CONFIG_SERIAL_OF_PLATFORM is not set
633# CONFIG_SERIAL_QE is not set 671# CONFIG_SERIAL_QE is not set
634CONFIG_UNIX98_PTYS=y 672CONFIG_UNIX98_PTYS=y
635CONFIG_LEGACY_PTYS=y 673CONFIG_LEGACY_PTYS=y
636CONFIG_LEGACY_PTY_COUNT=256 674CONFIG_LEGACY_PTY_COUNT=256
675# CONFIG_BRIQ_PANEL is not set
676# CONFIG_HVC_RTAS is not set
637# CONFIG_IPMI_HANDLER is not set 677# CONFIG_IPMI_HANDLER is not set
638CONFIG_HW_RANDOM=y 678CONFIG_HW_RANDOM=y
639# CONFIG_NVRAM is not set 679# CONFIG_NVRAM is not set
@@ -645,42 +685,69 @@ CONFIG_DEVPORT=y
645CONFIG_I2C=y 685CONFIG_I2C=y
646CONFIG_I2C_BOARDINFO=y 686CONFIG_I2C_BOARDINFO=y
647CONFIG_I2C_CHARDEV=y 687CONFIG_I2C_CHARDEV=y
688CONFIG_I2C_HELPER_AUTO=y
648 689
649# 690#
650# I2C Hardware Bus support 691# I2C Hardware Bus support
651# 692#
693
694#
695# PC SMBus host controller drivers
696#
652# CONFIG_I2C_ALI1535 is not set 697# CONFIG_I2C_ALI1535 is not set
653# CONFIG_I2C_ALI1563 is not set 698# CONFIG_I2C_ALI1563 is not set
654# CONFIG_I2C_ALI15X3 is not set 699# CONFIG_I2C_ALI15X3 is not set
655# CONFIG_I2C_AMD756 is not set 700# CONFIG_I2C_AMD756 is not set
656# CONFIG_I2C_AMD8111 is not set 701# CONFIG_I2C_AMD8111 is not set
657# CONFIG_I2C_I801 is not set 702# CONFIG_I2C_I801 is not set
658# CONFIG_I2C_I810 is not set 703# CONFIG_I2C_ISCH is not set
659# CONFIG_I2C_PIIX4 is not set 704# CONFIG_I2C_PIIX4 is not set
660CONFIG_I2C_MPC=y
661# CONFIG_I2C_NFORCE2 is not set 705# CONFIG_I2C_NFORCE2 is not set
662# CONFIG_I2C_OCORES is not set
663# CONFIG_I2C_PARPORT_LIGHT is not set
664# CONFIG_I2C_PROSAVAGE is not set
665# CONFIG_I2C_SAVAGE4 is not set
666# CONFIG_I2C_SIMTEC is not set
667# CONFIG_I2C_SIS5595 is not set 706# CONFIG_I2C_SIS5595 is not set
668# CONFIG_I2C_SIS630 is not set 707# CONFIG_I2C_SIS630 is not set
669# CONFIG_I2C_SIS96X is not set 708# CONFIG_I2C_SIS96X is not set
670# CONFIG_I2C_TAOS_EVM is not set
671# CONFIG_I2C_STUB is not set
672# CONFIG_I2C_VIA is not set 709# CONFIG_I2C_VIA is not set
673# CONFIG_I2C_VIAPRO is not set 710# CONFIG_I2C_VIAPRO is not set
711
712#
713# Mac SMBus host controller drivers
714#
715# CONFIG_I2C_HYDRA is not set
716CONFIG_I2C_POWERMAC=y
717
718#
719# I2C system bus drivers (mostly embedded / system-on-chip)
720#
721CONFIG_I2C_MPC=y
722# CONFIG_I2C_OCORES is not set
723# CONFIG_I2C_SIMTEC is not set
724
725#
726# External I2C/SMBus adapter drivers
727#
728# CONFIG_I2C_PARPORT_LIGHT is not set
729# CONFIG_I2C_TAOS_EVM is not set
730
731#
732# Graphics adapter I2C/DDC channel drivers
733#
674# CONFIG_I2C_VOODOO3 is not set 734# CONFIG_I2C_VOODOO3 is not set
735
736#
737# Other I2C/SMBus bus drivers
738#
675# CONFIG_I2C_PCA_PLATFORM is not set 739# CONFIG_I2C_PCA_PLATFORM is not set
740# CONFIG_I2C_STUB is not set
676 741
677# 742#
678# Miscellaneous I2C Chip support 743# Miscellaneous I2C Chip support
679# 744#
680# CONFIG_DS1682 is not set 745# CONFIG_DS1682 is not set
746# CONFIG_AT24 is not set
681# CONFIG_SENSORS_EEPROM is not set 747# CONFIG_SENSORS_EEPROM is not set
682# CONFIG_SENSORS_PCF8574 is not set 748# CONFIG_SENSORS_PCF8574 is not set
683# CONFIG_PCF8575 is not set 749# CONFIG_PCF8575 is not set
750# CONFIG_SENSORS_PCA9539 is not set
684# CONFIG_SENSORS_PCF8591 is not set 751# CONFIG_SENSORS_PCF8591 is not set
685# CONFIG_SENSORS_MAX6875 is not set 752# CONFIG_SENSORS_MAX6875 is not set
686# CONFIG_SENSORS_TSL2550 is not set 753# CONFIG_SENSORS_TSL2550 is not set
@@ -689,10 +756,13 @@ CONFIG_I2C_MPC=y
689# CONFIG_I2C_DEBUG_BUS is not set 756# CONFIG_I2C_DEBUG_BUS is not set
690# CONFIG_I2C_DEBUG_CHIP is not set 757# CONFIG_I2C_DEBUG_CHIP is not set
691# CONFIG_SPI is not set 758# CONFIG_SPI is not set
759CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
760# CONFIG_GPIOLIB is not set
692# CONFIG_W1 is not set 761# CONFIG_W1 is not set
693# CONFIG_POWER_SUPPLY is not set 762# CONFIG_POWER_SUPPLY is not set
694CONFIG_HWMON=y 763CONFIG_HWMON=y
695# CONFIG_HWMON_VID is not set 764# CONFIG_HWMON_VID is not set
765# CONFIG_SENSORS_AD7414 is not set
696# CONFIG_SENSORS_AD7418 is not set 766# CONFIG_SENSORS_AD7418 is not set
697# CONFIG_SENSORS_ADM1021 is not set 767# CONFIG_SENSORS_ADM1021 is not set
698# CONFIG_SENSORS_ADM1025 is not set 768# CONFIG_SENSORS_ADM1025 is not set
@@ -702,6 +772,7 @@ CONFIG_HWMON=y
702# CONFIG_SENSORS_ADM9240 is not set 772# CONFIG_SENSORS_ADM9240 is not set
703# CONFIG_SENSORS_ADT7470 is not set 773# CONFIG_SENSORS_ADT7470 is not set
704# CONFIG_SENSORS_ADT7473 is not set 774# CONFIG_SENSORS_ADT7473 is not set
775# CONFIG_SENSORS_AMS is not set
705# CONFIG_SENSORS_ATXP1 is not set 776# CONFIG_SENSORS_ATXP1 is not set
706# CONFIG_SENSORS_DS1621 is not set 777# CONFIG_SENSORS_DS1621 is not set
707# CONFIG_SENSORS_I5K_AMB is not set 778# CONFIG_SENSORS_I5K_AMB is not set
@@ -746,6 +817,7 @@ CONFIG_HWMON=y
746# CONFIG_SENSORS_W83627EHF is not set 817# CONFIG_SENSORS_W83627EHF is not set
747# CONFIG_HWMON_DEBUG_CHIP is not set 818# CONFIG_HWMON_DEBUG_CHIP is not set
748# CONFIG_THERMAL is not set 819# CONFIG_THERMAL is not set
820# CONFIG_THERMAL_HWMON is not set
749CONFIG_WATCHDOG=y 821CONFIG_WATCHDOG=y
750# CONFIG_WATCHDOG_NOWAYOUT is not set 822# CONFIG_WATCHDOG_NOWAYOUT is not set
751 823
@@ -753,7 +825,9 @@ CONFIG_WATCHDOG=y
753# Watchdog Device Drivers 825# Watchdog Device Drivers
754# 826#
755# CONFIG_SOFT_WATCHDOG is not set 827# CONFIG_SOFT_WATCHDOG is not set
756CONFIG_83xx_WDT=y 828# CONFIG_ALIM7101_WDT is not set
829# CONFIG_8xxx_WDT is not set
830# CONFIG_WATCHDOG_RTAS is not set
757 831
758# 832#
759# PCI-based Watchdog Cards 833# PCI-based Watchdog Cards
@@ -770,8 +844,10 @@ CONFIG_SSB_POSSIBLE=y
770# 844#
771# Multifunction device drivers 845# Multifunction device drivers
772# 846#
847# CONFIG_MFD_CORE is not set
773# CONFIG_MFD_SM501 is not set 848# CONFIG_MFD_SM501 is not set
774# CONFIG_HTC_PASIC3 is not set 849# CONFIG_HTC_PASIC3 is not set
850# CONFIG_MFD_TMIO is not set
775 851
776# 852#
777# Multimedia devices 853# Multimedia devices
@@ -803,10 +879,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
803# Display device support 879# Display device support
804# 880#
805# CONFIG_DISPLAY_SUPPORT is not set 881# CONFIG_DISPLAY_SUPPORT is not set
806
807#
808# Sound
809#
810# CONFIG_SOUND is not set 882# CONFIG_SOUND is not set
811CONFIG_HID_SUPPORT=y 883CONFIG_HID_SUPPORT=y
812CONFIG_HID=y 884CONFIG_HID=y
@@ -821,6 +893,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
821# CONFIG_USB_OTG_BLACKLIST_HUB is not set 893# CONFIG_USB_OTG_BLACKLIST_HUB is not set
822 894
823# 895#
896# Enable Host or Gadget support to see Inventra options
897#
898
899#
824# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 900# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
825# 901#
826# CONFIG_USB_GADGET is not set 902# CONFIG_USB_GADGET is not set
@@ -859,6 +935,7 @@ CONFIG_RTC_DRV_DS1374=y
859# CONFIG_RTC_DRV_PCF8583 is not set 935# CONFIG_RTC_DRV_PCF8583 is not set
860# CONFIG_RTC_DRV_M41T80 is not set 936# CONFIG_RTC_DRV_M41T80 is not set
861# CONFIG_RTC_DRV_S35390A is not set 937# CONFIG_RTC_DRV_S35390A is not set
938# CONFIG_RTC_DRV_FM3130 is not set
862 939
863# 940#
864# SPI RTC drivers 941# SPI RTC drivers
@@ -947,6 +1024,7 @@ CONFIG_TMPFS=y
947# CONFIG_CRAMFS is not set 1024# CONFIG_CRAMFS is not set
948# CONFIG_VXFS_FS is not set 1025# CONFIG_VXFS_FS is not set
949# CONFIG_MINIX_FS is not set 1026# CONFIG_MINIX_FS is not set
1027# CONFIG_OMFS_FS is not set
950# CONFIG_HPFS_FS is not set 1028# CONFIG_HPFS_FS is not set
951# CONFIG_QNX4FS_FS is not set 1029# CONFIG_QNX4FS_FS is not set
952# CONFIG_ROMFS_FS is not set 1030# CONFIG_ROMFS_FS is not set
@@ -957,14 +1035,13 @@ CONFIG_NFS_FS=y
957CONFIG_NFS_V3=y 1035CONFIG_NFS_V3=y
958# CONFIG_NFS_V3_ACL is not set 1036# CONFIG_NFS_V3_ACL is not set
959CONFIG_NFS_V4=y 1037CONFIG_NFS_V4=y
960# CONFIG_NFSD is not set
961CONFIG_ROOT_NFS=y 1038CONFIG_ROOT_NFS=y
1039# CONFIG_NFSD is not set
962CONFIG_LOCKD=y 1040CONFIG_LOCKD=y
963CONFIG_LOCKD_V4=y 1041CONFIG_LOCKD_V4=y
964CONFIG_NFS_COMMON=y 1042CONFIG_NFS_COMMON=y
965CONFIG_SUNRPC=y 1043CONFIG_SUNRPC=y
966CONFIG_SUNRPC_GSS=y 1044CONFIG_SUNRPC_GSS=y
967# CONFIG_SUNRPC_BIND34 is not set
968CONFIG_RPCSEC_GSS_KRB5=y 1045CONFIG_RPCSEC_GSS_KRB5=y
969# CONFIG_RPCSEC_GSS_SPKM3 is not set 1046# CONFIG_RPCSEC_GSS_SPKM3 is not set
970# CONFIG_SMB_FS is not set 1047# CONFIG_SMB_FS is not set
@@ -994,6 +1071,7 @@ CONFIG_PARTITION_ADVANCED=y
994# CONFIG_DLM is not set 1071# CONFIG_DLM is not set
995CONFIG_UCC_FAST=y 1072CONFIG_UCC_FAST=y
996CONFIG_UCC=y 1073CONFIG_UCC=y
1074# CONFIG_QE_GPIO is not set
997 1075
998# 1076#
999# Library routines 1077# Library routines
@@ -1002,6 +1080,7 @@ CONFIG_BITREVERSE=y
1002# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1080# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1003# CONFIG_CRC_CCITT is not set 1081# CONFIG_CRC_CCITT is not set
1004# CONFIG_CRC16 is not set 1082# CONFIG_CRC16 is not set
1083# CONFIG_CRC_T10DIF is not set
1005# CONFIG_CRC_ITU_T is not set 1084# CONFIG_CRC_ITU_T is not set
1006CONFIG_CRC32=y 1085CONFIG_CRC32=y
1007# CONFIG_CRC7 is not set 1086# CONFIG_CRC7 is not set
@@ -1027,8 +1106,18 @@ CONFIG_FRAME_WARN=1024
1027# CONFIG_SLUB_DEBUG_ON is not set 1106# CONFIG_SLUB_DEBUG_ON is not set
1028# CONFIG_SLUB_STATS is not set 1107# CONFIG_SLUB_STATS is not set
1029# CONFIG_DEBUG_BUGVERBOSE is not set 1108# CONFIG_DEBUG_BUGVERBOSE is not set
1109# CONFIG_DEBUG_MEMORY_INIT is not set
1110# CONFIG_LATENCYTOP is not set
1111CONFIG_SYSCTL_SYSCALL_CHECK=y
1112CONFIG_HAVE_FTRACE=y
1113CONFIG_HAVE_DYNAMIC_FTRACE=y
1114# CONFIG_FTRACE is not set
1115# CONFIG_SCHED_TRACER is not set
1116# CONFIG_CONTEXT_SWITCH_TRACER is not set
1030# CONFIG_SAMPLES is not set 1117# CONFIG_SAMPLES is not set
1118CONFIG_HAVE_ARCH_KGDB=y
1031# CONFIG_IRQSTACKS is not set 1119# CONFIG_IRQSTACKS is not set
1120# CONFIG_BOOTX_TEXT is not set
1032# CONFIG_PPC_EARLY_DEBUG is not set 1121# CONFIG_PPC_EARLY_DEBUG is not set
1033 1122
1034# 1123#
@@ -1082,6 +1171,10 @@ CONFIG_CRYPTO_PCBC=m
1082# CONFIG_CRYPTO_MD4 is not set 1171# CONFIG_CRYPTO_MD4 is not set
1083CONFIG_CRYPTO_MD5=y 1172CONFIG_CRYPTO_MD5=y
1084# CONFIG_CRYPTO_MICHAEL_MIC is not set 1173# CONFIG_CRYPTO_MICHAEL_MIC is not set
1174# CONFIG_CRYPTO_RMD128 is not set
1175# CONFIG_CRYPTO_RMD160 is not set
1176# CONFIG_CRYPTO_RMD256 is not set
1177# CONFIG_CRYPTO_RMD320 is not set
1085# CONFIG_CRYPTO_SHA1 is not set 1178# CONFIG_CRYPTO_SHA1 is not set
1086# CONFIG_CRYPTO_SHA256 is not set 1179# CONFIG_CRYPTO_SHA256 is not set
1087# CONFIG_CRYPTO_SHA512 is not set 1180# CONFIG_CRYPTO_SHA512 is not set
@@ -1114,6 +1207,7 @@ CONFIG_CRYPTO_DES=y
1114# CONFIG_CRYPTO_LZO is not set 1207# CONFIG_CRYPTO_LZO is not set
1115CONFIG_CRYPTO_HW=y 1208CONFIG_CRYPTO_HW=y
1116# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1209# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1210# CONFIG_CRYPTO_DEV_TALITOS is not set
1117# CONFIG_PPC_CLOCK is not set 1211# CONFIG_PPC_CLOCK is not set
1118CONFIG_PPC_LIB_RHEAP=y 1212CONFIG_PPC_LIB_RHEAP=y
1119# CONFIG_VIRTUALIZATION is not set 1213# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
index de95d327463c..4eef8c95480e 100644
--- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:24 2008 4# Thu Aug 21 00:52:19 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164CONFIG_MPC832x_RDB=y 178CONFIG_MPC832x_RDB=y
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC832x=y 187CONFIG_PPC_MPC832x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183CONFIG_QUICC_ENGINE=y 207CONFIG_QUICC_ENGINE=y
184# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
185 209
@@ -196,7 +220,7 @@ CONFIG_HZ_250=y
196# CONFIG_HZ_300 is not set 220# CONFIG_HZ_300 is not set
197# CONFIG_HZ_1000 is not set 221# CONFIG_HZ_1000 is not set
198CONFIG_HZ=250 222CONFIG_HZ=250
199# CONFIG_SCHED_HRTICK is not set 223CONFIG_SCHED_HRTICK=y
200CONFIG_PREEMPT_NONE=y 224CONFIG_PREEMPT_NONE=y
201# CONFIG_PREEMPT_VOLUNTARY is not set 225# CONFIG_PREEMPT_VOLUNTARY is not set
202# CONFIG_PREEMPT is not set 226# CONFIG_PREEMPT is not set
@@ -207,6 +231,7 @@ CONFIG_MATH_EMULATION=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y 232CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 233CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
234# CONFIG_KEXEC is not set
210CONFIG_ARCH_FLATMEM_ENABLE=y 235CONFIG_ARCH_FLATMEM_ENABLE=y
211CONFIG_ARCH_POPULATES_NODE_MAP=y 236CONFIG_ARCH_POPULATES_NODE_MAP=y
212CONFIG_SELECT_MEMORY_MODEL=y 237CONFIG_SELECT_MEMORY_MODEL=y
@@ -219,6 +244,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 244# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 245CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 246CONFIG_SPLIT_PTLOCK_CPUS=4
247CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 248# CONFIG_RESOURCES_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 249CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 250CONFIG_BOUNCE=y
@@ -226,6 +252,7 @@ CONFIG_VIRT_TO_BUS=y
226CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
255CONFIG_EXTRA_TARGETS=""
229# CONFIG_PM is not set 256# CONFIG_PM is not set
230CONFIG_SECCOMP=y 257CONFIG_SECCOMP=y
231CONFIG_ISA_DMA_API=y 258CONFIG_ISA_DMA_API=y
@@ -233,10 +260,13 @@ CONFIG_ISA_DMA_API=y
233# 260#
234# Bus options 261# Bus options
235# 262#
263# CONFIG_ISA is not set
236CONFIG_ZONE_DMA=y 264CONFIG_ZONE_DMA=y
237CONFIG_GENERIC_ISA_DMA=y 265CONFIG_GENERIC_ISA_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 266CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 267CONFIG_FSL_SOC=y
268CONFIG_FSL_PCI=y
269CONFIG_PPC_PCI_CHOICE=y
240CONFIG_PCI=y 270CONFIG_PCI=y
241CONFIG_PCI_DOMAINS=y 271CONFIG_PCI_DOMAINS=y
242CONFIG_PCI_SYSCALL=y 272CONFIG_PCI_SYSCALL=y
@@ -261,10 +291,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
261CONFIG_KERNEL_START=0xc0000000 291CONFIG_KERNEL_START=0xc0000000
262CONFIG_PHYSICAL_START=0x00000000 292CONFIG_PHYSICAL_START=0x00000000
263CONFIG_TASK_SIZE=0xc0000000 293CONFIG_TASK_SIZE=0xc0000000
264
265#
266# Networking
267#
268CONFIG_NET=y 294CONFIG_NET=y
269 295
270# 296#
@@ -362,9 +388,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
362# CONFIG_MTD is not set 388# CONFIG_MTD is not set
363CONFIG_OF_DEVICE=y 389CONFIG_OF_DEVICE=y
364CONFIG_OF_I2C=y 390CONFIG_OF_I2C=y
391CONFIG_OF_SPI=y
365# CONFIG_PARPORT is not set 392# CONFIG_PARPORT is not set
366CONFIG_BLK_DEV=y 393CONFIG_BLK_DEV=y
367# CONFIG_BLK_DEV_FD is not set 394# CONFIG_BLK_DEV_FD is not set
395# CONFIG_MAC_FLOPPY is not set
368# CONFIG_BLK_CPQ_DA is not set 396# CONFIG_BLK_CPQ_DA is not set
369# CONFIG_BLK_CPQ_CISS_DA is not set 397# CONFIG_BLK_CPQ_CISS_DA is not set
370# CONFIG_BLK_DEV_DAC960 is not set 398# CONFIG_BLK_DEV_DAC960 is not set
@@ -381,12 +409,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
381# CONFIG_BLK_DEV_XIP is not set 409# CONFIG_BLK_DEV_XIP is not set
382# CONFIG_CDROM_PKTCDVD is not set 410# CONFIG_CDROM_PKTCDVD is not set
383# CONFIG_ATA_OVER_ETH is not set 411# CONFIG_ATA_OVER_ETH is not set
412# CONFIG_BLK_DEV_HD is not set
384CONFIG_MISC_DEVICES=y 413CONFIG_MISC_DEVICES=y
385# CONFIG_PHANTOM is not set 414# CONFIG_PHANTOM is not set
386# CONFIG_EEPROM_93CX6 is not set 415# CONFIG_EEPROM_93CX6 is not set
387# CONFIG_SGI_IOC4 is not set 416# CONFIG_SGI_IOC4 is not set
388# CONFIG_TIFM_CORE is not set 417# CONFIG_TIFM_CORE is not set
389# CONFIG_ENCLOSURE_SERVICES is not set 418# CONFIG_ENCLOSURE_SERVICES is not set
419# CONFIG_HP_ILO is not set
390CONFIG_HAVE_IDE=y 420CONFIG_HAVE_IDE=y
391# CONFIG_IDE is not set 421# CONFIG_IDE is not set
392 422
@@ -463,7 +493,10 @@ CONFIG_SCSI_LOWLEVEL=y
463# CONFIG_SCSI_DC390T is not set 493# CONFIG_SCSI_DC390T is not set
464# CONFIG_SCSI_NSP32 is not set 494# CONFIG_SCSI_NSP32 is not set
465# CONFIG_SCSI_DEBUG is not set 495# CONFIG_SCSI_DEBUG is not set
496# CONFIG_SCSI_MESH is not set
497# CONFIG_SCSI_MAC53C94 is not set
466# CONFIG_SCSI_SRP is not set 498# CONFIG_SCSI_SRP is not set
499# CONFIG_SCSI_DH is not set
467# CONFIG_ATA is not set 500# CONFIG_ATA is not set
468# CONFIG_MD is not set 501# CONFIG_MD is not set
469# CONFIG_FUSION is not set 502# CONFIG_FUSION is not set
@@ -471,12 +504,15 @@ CONFIG_SCSI_LOWLEVEL=y
471# 504#
472# IEEE 1394 (FireWire) support 505# IEEE 1394 (FireWire) support
473# 506#
507
508#
509# Enable only one of the two stacks, unless you know what you are doing
510#
474# CONFIG_FIREWIRE is not set 511# CONFIG_FIREWIRE is not set
475# CONFIG_IEEE1394 is not set 512# CONFIG_IEEE1394 is not set
476# CONFIG_I2O is not set 513# CONFIG_I2O is not set
477# CONFIG_MACINTOSH_DRIVERS is not set 514# CONFIG_MACINTOSH_DRIVERS is not set
478CONFIG_NETDEVICES=y 515CONFIG_NETDEVICES=y
479# CONFIG_NETDEVICES_MULTIQUEUE is not set
480# CONFIG_DUMMY is not set 516# CONFIG_DUMMY is not set
481# CONFIG_BONDING is not set 517# CONFIG_BONDING is not set
482# CONFIG_MACVLAN is not set 518# CONFIG_MACVLAN is not set
@@ -503,6 +539,8 @@ CONFIG_ICPLUS_PHY=y
503# CONFIG_MDIO_BITBANG is not set 539# CONFIG_MDIO_BITBANG is not set
504CONFIG_NET_ETHERNET=y 540CONFIG_NET_ETHERNET=y
505CONFIG_MII=y 541CONFIG_MII=y
542# CONFIG_MACE is not set
543# CONFIG_BMAC is not set
506# CONFIG_HAPPYMEAL is not set 544# CONFIG_HAPPYMEAL is not set
507# CONFIG_SUNGEM is not set 545# CONFIG_SUNGEM is not set
508# CONFIG_CASSINI is not set 546# CONFIG_CASSINI is not set
@@ -520,10 +558,8 @@ CONFIG_NETDEV_1000=y
520# CONFIG_ACENIC is not set 558# CONFIG_ACENIC is not set
521# CONFIG_DL2K is not set 559# CONFIG_DL2K is not set
522CONFIG_E1000=y 560CONFIG_E1000=y
523# CONFIG_E1000_NAPI is not set
524# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 561# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
525# CONFIG_E1000E is not set 562# CONFIG_E1000E is not set
526# CONFIG_E1000E_ENABLED is not set
527# CONFIG_IP1000 is not set 563# CONFIG_IP1000 is not set
528# CONFIG_IGB is not set 564# CONFIG_IGB is not set
529# CONFIG_NS83820 is not set 565# CONFIG_NS83820 is not set
@@ -538,12 +574,13 @@ CONFIG_E1000=y
538# CONFIG_BNX2 is not set 574# CONFIG_BNX2 is not set
539# CONFIG_GIANFAR is not set 575# CONFIG_GIANFAR is not set
540CONFIG_UCC_GETH=y 576CONFIG_UCC_GETH=y
541CONFIG_UGETH_NAPI=y
542# CONFIG_UGETH_MAGIC_PACKET is not set 577# CONFIG_UGETH_MAGIC_PACKET is not set
543# CONFIG_UGETH_FILTERING is not set 578# CONFIG_UGETH_FILTERING is not set
544# CONFIG_UGETH_TX_ON_DEMAND is not set 579# CONFIG_UGETH_TX_ON_DEMAND is not set
580# CONFIG_MV643XX_ETH is not set
545# CONFIG_QLA3XXX is not set 581# CONFIG_QLA3XXX is not set
546# CONFIG_ATL1 is not set 582# CONFIG_ATL1 is not set
583# CONFIG_ATL1E is not set
547CONFIG_NETDEV_10000=y 584CONFIG_NETDEV_10000=y
548# CONFIG_CHELSIO_T1 is not set 585# CONFIG_CHELSIO_T1 is not set
549# CONFIG_CHELSIO_T3 is not set 586# CONFIG_CHELSIO_T3 is not set
@@ -641,12 +678,15 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
641# CONFIG_SERIAL_UARTLITE is not set 678# CONFIG_SERIAL_UARTLITE is not set
642CONFIG_SERIAL_CORE=y 679CONFIG_SERIAL_CORE=y
643CONFIG_SERIAL_CORE_CONSOLE=y 680CONFIG_SERIAL_CORE_CONSOLE=y
681# CONFIG_SERIAL_PMACZILOG is not set
644# CONFIG_SERIAL_JSM is not set 682# CONFIG_SERIAL_JSM is not set
645# CONFIG_SERIAL_OF_PLATFORM is not set 683# CONFIG_SERIAL_OF_PLATFORM is not set
646# CONFIG_SERIAL_QE is not set 684# CONFIG_SERIAL_QE is not set
647CONFIG_UNIX98_PTYS=y 685CONFIG_UNIX98_PTYS=y
648CONFIG_LEGACY_PTYS=y 686CONFIG_LEGACY_PTYS=y
649CONFIG_LEGACY_PTY_COUNT=256 687CONFIG_LEGACY_PTY_COUNT=256
688# CONFIG_BRIQ_PANEL is not set
689# CONFIG_HVC_RTAS is not set
650# CONFIG_IPMI_HANDLER is not set 690# CONFIG_IPMI_HANDLER is not set
651CONFIG_HW_RANDOM=y 691CONFIG_HW_RANDOM=y
652# CONFIG_NVRAM is not set 692# CONFIG_NVRAM is not set
@@ -660,43 +700,70 @@ CONFIG_DEVPORT=y
660CONFIG_I2C=y 700CONFIG_I2C=y
661CONFIG_I2C_BOARDINFO=y 701CONFIG_I2C_BOARDINFO=y
662CONFIG_I2C_CHARDEV=y 702CONFIG_I2C_CHARDEV=y
703CONFIG_I2C_HELPER_AUTO=y
663 704
664# 705#
665# I2C Hardware Bus support 706# I2C Hardware Bus support
666# 707#
708
709#
710# PC SMBus host controller drivers
711#
667# CONFIG_I2C_ALI1535 is not set 712# CONFIG_I2C_ALI1535 is not set
668# CONFIG_I2C_ALI1563 is not set 713# CONFIG_I2C_ALI1563 is not set
669# CONFIG_I2C_ALI15X3 is not set 714# CONFIG_I2C_ALI15X3 is not set
670# CONFIG_I2C_AMD756 is not set 715# CONFIG_I2C_AMD756 is not set
671# CONFIG_I2C_AMD8111 is not set 716# CONFIG_I2C_AMD8111 is not set
672# CONFIG_I2C_I801 is not set 717# CONFIG_I2C_I801 is not set
673# CONFIG_I2C_I810 is not set 718# CONFIG_I2C_ISCH is not set
674# CONFIG_I2C_PIIX4 is not set 719# CONFIG_I2C_PIIX4 is not set
675CONFIG_I2C_MPC=y
676# CONFIG_I2C_NFORCE2 is not set 720# CONFIG_I2C_NFORCE2 is not set
677# CONFIG_I2C_OCORES is not set
678# CONFIG_I2C_PARPORT_LIGHT is not set
679# CONFIG_I2C_PROSAVAGE is not set
680# CONFIG_I2C_SAVAGE4 is not set
681# CONFIG_I2C_SIMTEC is not set
682# CONFIG_I2C_SIS5595 is not set 721# CONFIG_I2C_SIS5595 is not set
683# CONFIG_I2C_SIS630 is not set 722# CONFIG_I2C_SIS630 is not set
684# CONFIG_I2C_SIS96X is not set 723# CONFIG_I2C_SIS96X is not set
685# CONFIG_I2C_TAOS_EVM is not set
686# CONFIG_I2C_STUB is not set
687# CONFIG_I2C_TINY_USB is not set
688# CONFIG_I2C_VIA is not set 724# CONFIG_I2C_VIA is not set
689# CONFIG_I2C_VIAPRO is not set 725# CONFIG_I2C_VIAPRO is not set
726
727#
728# Mac SMBus host controller drivers
729#
730# CONFIG_I2C_HYDRA is not set
731CONFIG_I2C_POWERMAC=y
732
733#
734# I2C system bus drivers (mostly embedded / system-on-chip)
735#
736CONFIG_I2C_MPC=y
737# CONFIG_I2C_OCORES is not set
738# CONFIG_I2C_SIMTEC is not set
739
740#
741# External I2C/SMBus adapter drivers
742#
743# CONFIG_I2C_PARPORT_LIGHT is not set
744# CONFIG_I2C_TAOS_EVM is not set
745# CONFIG_I2C_TINY_USB is not set
746
747#
748# Graphics adapter I2C/DDC channel drivers
749#
690# CONFIG_I2C_VOODOO3 is not set 750# CONFIG_I2C_VOODOO3 is not set
751
752#
753# Other I2C/SMBus bus drivers
754#
691# CONFIG_I2C_PCA_PLATFORM is not set 755# CONFIG_I2C_PCA_PLATFORM is not set
756# CONFIG_I2C_STUB is not set
692 757
693# 758#
694# Miscellaneous I2C Chip support 759# Miscellaneous I2C Chip support
695# 760#
696# CONFIG_DS1682 is not set 761# CONFIG_DS1682 is not set
762# CONFIG_AT24 is not set
697# CONFIG_SENSORS_EEPROM is not set 763# CONFIG_SENSORS_EEPROM is not set
698# CONFIG_SENSORS_PCF8574 is not set 764# CONFIG_SENSORS_PCF8574 is not set
699# CONFIG_PCF8575 is not set 765# CONFIG_PCF8575 is not set
766# CONFIG_SENSORS_PCA9539 is not set
700# CONFIG_SENSORS_PCF8591 is not set 767# CONFIG_SENSORS_PCF8591 is not set
701# CONFIG_SENSORS_MAX6875 is not set 768# CONFIG_SENSORS_MAX6875 is not set
702# CONFIG_SENSORS_TSL2550 is not set 769# CONFIG_SENSORS_TSL2550 is not set
@@ -719,11 +786,15 @@ CONFIG_SPI_MPC83xx=y
719# CONFIG_SPI_AT25 is not set 786# CONFIG_SPI_AT25 is not set
720# CONFIG_SPI_SPIDEV is not set 787# CONFIG_SPI_SPIDEV is not set
721# CONFIG_SPI_TLE62X0 is not set 788# CONFIG_SPI_TLE62X0 is not set
789CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
790# CONFIG_GPIOLIB is not set
722# CONFIG_W1 is not set 791# CONFIG_W1 is not set
723# CONFIG_POWER_SUPPLY is not set 792# CONFIG_POWER_SUPPLY is not set
724CONFIG_HWMON=y 793CONFIG_HWMON=y
725# CONFIG_HWMON_VID is not set 794# CONFIG_HWMON_VID is not set
795# CONFIG_SENSORS_AD7414 is not set
726# CONFIG_SENSORS_AD7418 is not set 796# CONFIG_SENSORS_AD7418 is not set
797# CONFIG_SENSORS_ADCXX is not set
727# CONFIG_SENSORS_ADM1021 is not set 798# CONFIG_SENSORS_ADM1021 is not set
728# CONFIG_SENSORS_ADM1025 is not set 799# CONFIG_SENSORS_ADM1025 is not set
729# CONFIG_SENSORS_ADM1026 is not set 800# CONFIG_SENSORS_ADM1026 is not set
@@ -732,6 +803,7 @@ CONFIG_HWMON=y
732# CONFIG_SENSORS_ADM9240 is not set 803# CONFIG_SENSORS_ADM9240 is not set
733# CONFIG_SENSORS_ADT7470 is not set 804# CONFIG_SENSORS_ADT7470 is not set
734# CONFIG_SENSORS_ADT7473 is not set 805# CONFIG_SENSORS_ADT7473 is not set
806# CONFIG_SENSORS_AMS is not set
735# CONFIG_SENSORS_ATXP1 is not set 807# CONFIG_SENSORS_ATXP1 is not set
736# CONFIG_SENSORS_DS1621 is not set 808# CONFIG_SENSORS_DS1621 is not set
737# CONFIG_SENSORS_I5K_AMB is not set 809# CONFIG_SENSORS_I5K_AMB is not set
@@ -777,6 +849,7 @@ CONFIG_HWMON=y
777# CONFIG_SENSORS_W83627EHF is not set 849# CONFIG_SENSORS_W83627EHF is not set
778# CONFIG_HWMON_DEBUG_CHIP is not set 850# CONFIG_HWMON_DEBUG_CHIP is not set
779# CONFIG_THERMAL is not set 851# CONFIG_THERMAL is not set
852# CONFIG_THERMAL_HWMON is not set
780CONFIG_WATCHDOG=y 853CONFIG_WATCHDOG=y
781# CONFIG_WATCHDOG_NOWAYOUT is not set 854# CONFIG_WATCHDOG_NOWAYOUT is not set
782 855
@@ -784,7 +857,9 @@ CONFIG_WATCHDOG=y
784# Watchdog Device Drivers 857# Watchdog Device Drivers
785# 858#
786# CONFIG_SOFT_WATCHDOG is not set 859# CONFIG_SOFT_WATCHDOG is not set
787CONFIG_83xx_WDT=y 860# CONFIG_ALIM7101_WDT is not set
861# CONFIG_8xxx_WDT is not set
862# CONFIG_WATCHDOG_RTAS is not set
788 863
789# 864#
790# PCI-based Watchdog Cards 865# PCI-based Watchdog Cards
@@ -806,8 +881,10 @@ CONFIG_SSB_POSSIBLE=y
806# 881#
807# Multifunction device drivers 882# Multifunction device drivers
808# 883#
884# CONFIG_MFD_CORE is not set
809# CONFIG_MFD_SM501 is not set 885# CONFIG_MFD_SM501 is not set
810# CONFIG_HTC_PASIC3 is not set 886# CONFIG_HTC_PASIC3 is not set
887# CONFIG_MFD_TMIO is not set
811 888
812# 889#
813# Multimedia devices 890# Multimedia devices
@@ -840,10 +917,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
840# Display device support 917# Display device support
841# 918#
842# CONFIG_DISPLAY_SUPPORT is not set 919# CONFIG_DISPLAY_SUPPORT is not set
843
844#
845# Sound
846#
847# CONFIG_SOUND is not set 920# CONFIG_SOUND is not set
848CONFIG_HID_SUPPORT=y 921CONFIG_HID_SUPPORT=y
849CONFIG_HID=y 922CONFIG_HID=y
@@ -877,6 +950,7 @@ CONFIG_USB_DEVICE_CLASS=y
877# CONFIG_USB_OTG is not set 950# CONFIG_USB_OTG is not set
878# CONFIG_USB_OTG_WHITELIST is not set 951# CONFIG_USB_OTG_WHITELIST is not set
879# CONFIG_USB_OTG_BLACKLIST_HUB is not set 952# CONFIG_USB_OTG_BLACKLIST_HUB is not set
953CONFIG_USB_MON=y
880 954
881# 955#
882# USB Host Controller Drivers 956# USB Host Controller Drivers
@@ -928,6 +1002,7 @@ CONFIG_USB_STORAGE=y
928# CONFIG_USB_STORAGE_ALAUDA is not set 1002# CONFIG_USB_STORAGE_ALAUDA is not set
929# CONFIG_USB_STORAGE_ONETOUCH is not set 1003# CONFIG_USB_STORAGE_ONETOUCH is not set
930# CONFIG_USB_STORAGE_KARMA is not set 1004# CONFIG_USB_STORAGE_KARMA is not set
1005# CONFIG_USB_STORAGE_SIERRA is not set
931# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1006# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
932# CONFIG_USB_LIBUSUAL is not set 1007# CONFIG_USB_LIBUSUAL is not set
933 1008
@@ -936,7 +1011,6 @@ CONFIG_USB_STORAGE=y
936# 1011#
937# CONFIG_USB_MDC800 is not set 1012# CONFIG_USB_MDC800 is not set
938# CONFIG_USB_MICROTEK is not set 1013# CONFIG_USB_MICROTEK is not set
939CONFIG_USB_MON=y
940 1014
941# 1015#
942# USB port drivers 1016# USB port drivers
@@ -949,7 +1023,6 @@ CONFIG_USB_MON=y
949# CONFIG_USB_EMI62 is not set 1023# CONFIG_USB_EMI62 is not set
950# CONFIG_USB_EMI26 is not set 1024# CONFIG_USB_EMI26 is not set
951# CONFIG_USB_ADUTUX is not set 1025# CONFIG_USB_ADUTUX is not set
952# CONFIG_USB_AUERSWALD is not set
953# CONFIG_USB_RIO500 is not set 1026# CONFIG_USB_RIO500 is not set
954# CONFIG_USB_LEGOTOWER is not set 1027# CONFIG_USB_LEGOTOWER is not set
955# CONFIG_USB_LCD is not set 1028# CONFIG_USB_LCD is not set
@@ -1063,6 +1136,7 @@ CONFIG_TMPFS=y
1063# CONFIG_CRAMFS is not set 1136# CONFIG_CRAMFS is not set
1064# CONFIG_VXFS_FS is not set 1137# CONFIG_VXFS_FS is not set
1065# CONFIG_MINIX_FS is not set 1138# CONFIG_MINIX_FS is not set
1139# CONFIG_OMFS_FS is not set
1066# CONFIG_HPFS_FS is not set 1140# CONFIG_HPFS_FS is not set
1067# CONFIG_QNX4FS_FS is not set 1141# CONFIG_QNX4FS_FS is not set
1068# CONFIG_ROMFS_FS is not set 1142# CONFIG_ROMFS_FS is not set
@@ -1073,14 +1147,13 @@ CONFIG_NFS_FS=y
1073CONFIG_NFS_V3=y 1147CONFIG_NFS_V3=y
1074# CONFIG_NFS_V3_ACL is not set 1148# CONFIG_NFS_V3_ACL is not set
1075CONFIG_NFS_V4=y 1149CONFIG_NFS_V4=y
1076# CONFIG_NFSD is not set
1077CONFIG_ROOT_NFS=y 1150CONFIG_ROOT_NFS=y
1151# CONFIG_NFSD is not set
1078CONFIG_LOCKD=y 1152CONFIG_LOCKD=y
1079CONFIG_LOCKD_V4=y 1153CONFIG_LOCKD_V4=y
1080CONFIG_NFS_COMMON=y 1154CONFIG_NFS_COMMON=y
1081CONFIG_SUNRPC=y 1155CONFIG_SUNRPC=y
1082CONFIG_SUNRPC_GSS=y 1156CONFIG_SUNRPC_GSS=y
1083# CONFIG_SUNRPC_BIND34 is not set
1084CONFIG_RPCSEC_GSS_KRB5=y 1157CONFIG_RPCSEC_GSS_KRB5=y
1085# CONFIG_RPCSEC_GSS_SPKM3 is not set 1158# CONFIG_RPCSEC_GSS_SPKM3 is not set
1086# CONFIG_SMB_FS is not set 1159# CONFIG_SMB_FS is not set
@@ -1154,6 +1227,7 @@ CONFIG_NLS_ISO8859_1=y
1154# CONFIG_DLM is not set 1227# CONFIG_DLM is not set
1155CONFIG_UCC_FAST=y 1228CONFIG_UCC_FAST=y
1156CONFIG_UCC=y 1229CONFIG_UCC=y
1230# CONFIG_QE_GPIO is not set
1157 1231
1158# 1232#
1159# Library routines 1233# Library routines
@@ -1162,6 +1236,7 @@ CONFIG_BITREVERSE=y
1162# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1236# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1163# CONFIG_CRC_CCITT is not set 1237# CONFIG_CRC_CCITT is not set
1164# CONFIG_CRC16 is not set 1238# CONFIG_CRC16 is not set
1239CONFIG_CRC_T10DIF=y
1165CONFIG_CRC_ITU_T=y 1240CONFIG_CRC_ITU_T=y
1166CONFIG_CRC32=y 1241CONFIG_CRC32=y
1167CONFIG_CRC7=y 1242CONFIG_CRC7=y
@@ -1187,8 +1262,18 @@ CONFIG_FRAME_WARN=1024
1187# CONFIG_SLUB_DEBUG_ON is not set 1262# CONFIG_SLUB_DEBUG_ON is not set
1188# CONFIG_SLUB_STATS is not set 1263# CONFIG_SLUB_STATS is not set
1189# CONFIG_DEBUG_BUGVERBOSE is not set 1264# CONFIG_DEBUG_BUGVERBOSE is not set
1265# CONFIG_DEBUG_MEMORY_INIT is not set
1266# CONFIG_LATENCYTOP is not set
1267CONFIG_SYSCTL_SYSCALL_CHECK=y
1268CONFIG_HAVE_FTRACE=y
1269CONFIG_HAVE_DYNAMIC_FTRACE=y
1270# CONFIG_FTRACE is not set
1271# CONFIG_SCHED_TRACER is not set
1272# CONFIG_CONTEXT_SWITCH_TRACER is not set
1190# CONFIG_SAMPLES is not set 1273# CONFIG_SAMPLES is not set
1274CONFIG_HAVE_ARCH_KGDB=y
1191# CONFIG_IRQSTACKS is not set 1275# CONFIG_IRQSTACKS is not set
1276# CONFIG_BOOTX_TEXT is not set
1192# CONFIG_PPC_EARLY_DEBUG is not set 1277# CONFIG_PPC_EARLY_DEBUG is not set
1193 1278
1194# 1279#
@@ -1242,6 +1327,10 @@ CONFIG_CRYPTO_PCBC=m
1242# CONFIG_CRYPTO_MD4 is not set 1327# CONFIG_CRYPTO_MD4 is not set
1243CONFIG_CRYPTO_MD5=y 1328CONFIG_CRYPTO_MD5=y
1244# CONFIG_CRYPTO_MICHAEL_MIC is not set 1329# CONFIG_CRYPTO_MICHAEL_MIC is not set
1330# CONFIG_CRYPTO_RMD128 is not set
1331# CONFIG_CRYPTO_RMD160 is not set
1332# CONFIG_CRYPTO_RMD256 is not set
1333# CONFIG_CRYPTO_RMD320 is not set
1245# CONFIG_CRYPTO_SHA1 is not set 1334# CONFIG_CRYPTO_SHA1 is not set
1246# CONFIG_CRYPTO_SHA256 is not set 1335# CONFIG_CRYPTO_SHA256 is not set
1247# CONFIG_CRYPTO_SHA512 is not set 1336# CONFIG_CRYPTO_SHA512 is not set
@@ -1274,6 +1363,7 @@ CONFIG_CRYPTO_DES=y
1274# CONFIG_CRYPTO_LZO is not set 1363# CONFIG_CRYPTO_LZO is not set
1275CONFIG_CRYPTO_HW=y 1364CONFIG_CRYPTO_HW=y
1276# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1365# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1366# CONFIG_CRYPTO_DEV_TALITOS is not set
1277# CONFIG_PPC_CLOCK is not set 1367# CONFIG_PPC_CLOCK is not set
1278CONFIG_PPC_LIB_RHEAP=y 1368CONFIG_PPC_LIB_RHEAP=y
1279# CONFIG_VIRTUALIZATION is not set 1369# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
index b47fc9185708..8d6513931850 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:25 2008 4# Thu Aug 21 00:52:20 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166CONFIG_MPC834x_ITX=y 180CONFIG_MPC834x_ITX=y
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC834x=y 187CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
185# 209#
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -259,10 +289,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
259CONFIG_KERNEL_START=0xc0000000 289CONFIG_KERNEL_START=0xc0000000
260CONFIG_PHYSICAL_START=0x00000000 290CONFIG_PHYSICAL_START=0x00000000
261CONFIG_TASK_SIZE=0xc0000000 291CONFIG_TASK_SIZE=0xc0000000
262
263#
264# Networking
265#
266CONFIG_NET=y 292CONFIG_NET=y
267 293
268# 294#
@@ -439,9 +465,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
439# CONFIG_MTD_UBI is not set 465# CONFIG_MTD_UBI is not set
440CONFIG_OF_DEVICE=y 466CONFIG_OF_DEVICE=y
441CONFIG_OF_I2C=y 467CONFIG_OF_I2C=y
468CONFIG_OF_SPI=y
442# CONFIG_PARPORT is not set 469# CONFIG_PARPORT is not set
443CONFIG_BLK_DEV=y 470CONFIG_BLK_DEV=y
444# CONFIG_BLK_DEV_FD is not set 471# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
445# CONFIG_BLK_CPQ_DA is not set 473# CONFIG_BLK_CPQ_DA is not set
446# CONFIG_BLK_CPQ_CISS_DA is not set 474# CONFIG_BLK_CPQ_CISS_DA is not set
447# CONFIG_BLK_DEV_DAC960 is not set 475# CONFIG_BLK_DEV_DAC960 is not set
@@ -458,18 +486,17 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
458# CONFIG_BLK_DEV_XIP is not set 486# CONFIG_BLK_DEV_XIP is not set
459# CONFIG_CDROM_PKTCDVD is not set 487# CONFIG_CDROM_PKTCDVD is not set
460# CONFIG_ATA_OVER_ETH is not set 488# CONFIG_ATA_OVER_ETH is not set
489# CONFIG_BLK_DEV_HD is not set
461CONFIG_MISC_DEVICES=y 490CONFIG_MISC_DEVICES=y
462# CONFIG_PHANTOM is not set 491# CONFIG_PHANTOM is not set
463# CONFIG_EEPROM_93CX6 is not set 492# CONFIG_EEPROM_93CX6 is not set
464# CONFIG_SGI_IOC4 is not set 493# CONFIG_SGI_IOC4 is not set
465# CONFIG_TIFM_CORE is not set 494# CONFIG_TIFM_CORE is not set
466# CONFIG_ENCLOSURE_SERVICES is not set 495# CONFIG_ENCLOSURE_SERVICES is not set
496# CONFIG_HP_ILO is not set
467CONFIG_HAVE_IDE=y 497CONFIG_HAVE_IDE=y
468CONFIG_IDE=y 498CONFIG_IDE=y
469CONFIG_IDE_MAX_HWIFS=4
470# CONFIG_BLK_DEV_IDE is not set 499# CONFIG_BLK_DEV_IDE is not set
471# CONFIG_BLK_DEV_HD_ONLY is not set
472# CONFIG_BLK_DEV_HD is not set
473 500
474# 501#
475# SCSI device support 502# SCSI device support
@@ -545,7 +572,10 @@ CONFIG_SCSI_LOWLEVEL=y
545# CONFIG_SCSI_DC390T is not set 572# CONFIG_SCSI_DC390T is not set
546# CONFIG_SCSI_NSP32 is not set 573# CONFIG_SCSI_NSP32 is not set
547# CONFIG_SCSI_DEBUG is not set 574# CONFIG_SCSI_DEBUG is not set
575# CONFIG_SCSI_MESH is not set
576# CONFIG_SCSI_MAC53C94 is not set
548# CONFIG_SCSI_SRP is not set 577# CONFIG_SCSI_SRP is not set
578# CONFIG_SCSI_DH is not set
549CONFIG_ATA=y 579CONFIG_ATA=y
550# CONFIG_ATA_NONSTANDARD is not set 580# CONFIG_ATA_NONSTANDARD is not set
551CONFIG_SATA_PMP=y 581CONFIG_SATA_PMP=y
@@ -623,12 +653,15 @@ CONFIG_MD_RAID1=y
623# 653#
624# IEEE 1394 (FireWire) support 654# IEEE 1394 (FireWire) support
625# 655#
656
657#
658# Enable only one of the two stacks, unless you know what you are doing
659#
626# CONFIG_FIREWIRE is not set 660# CONFIG_FIREWIRE is not set
627# CONFIG_IEEE1394 is not set 661# CONFIG_IEEE1394 is not set
628# CONFIG_I2O is not set 662# CONFIG_I2O is not set
629# CONFIG_MACINTOSH_DRIVERS is not set 663# CONFIG_MACINTOSH_DRIVERS is not set
630CONFIG_NETDEVICES=y 664CONFIG_NETDEVICES=y
631# CONFIG_NETDEVICES_MULTIQUEUE is not set
632# CONFIG_DUMMY is not set 665# CONFIG_DUMMY is not set
633# CONFIG_BONDING is not set 666# CONFIG_BONDING is not set
634# CONFIG_MACVLAN is not set 667# CONFIG_MACVLAN is not set
@@ -659,7 +692,6 @@ CONFIG_NETDEV_1000=y
659# CONFIG_DL2K is not set 692# CONFIG_DL2K is not set
660# CONFIG_E1000 is not set 693# CONFIG_E1000 is not set
661# CONFIG_E1000E is not set 694# CONFIG_E1000E is not set
662# CONFIG_E1000E_ENABLED is not set
663# CONFIG_IP1000 is not set 695# CONFIG_IP1000 is not set
664# CONFIG_IGB is not set 696# CONFIG_IGB is not set
665# CONFIG_NS83820 is not set 697# CONFIG_NS83820 is not set
@@ -673,9 +705,10 @@ CONFIG_NETDEV_1000=y
673# CONFIG_TIGON3 is not set 705# CONFIG_TIGON3 is not set
674# CONFIG_BNX2 is not set 706# CONFIG_BNX2 is not set
675CONFIG_GIANFAR=y 707CONFIG_GIANFAR=y
676CONFIG_GFAR_NAPI=y 708# CONFIG_MV643XX_ETH is not set
677# CONFIG_QLA3XXX is not set 709# CONFIG_QLA3XXX is not set
678# CONFIG_ATL1 is not set 710# CONFIG_ATL1 is not set
711# CONFIG_ATL1E is not set
679CONFIG_NETDEV_10000=y 712CONFIG_NETDEV_10000=y
680# CONFIG_CHELSIO_T1 is not set 713# CONFIG_CHELSIO_T1 is not set
681# CONFIG_CHELSIO_T3 is not set 714# CONFIG_CHELSIO_T3 is not set
@@ -753,11 +786,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
753# CONFIG_SERIAL_UARTLITE is not set 786# CONFIG_SERIAL_UARTLITE is not set
754CONFIG_SERIAL_CORE=y 787CONFIG_SERIAL_CORE=y
755CONFIG_SERIAL_CORE_CONSOLE=y 788CONFIG_SERIAL_CORE_CONSOLE=y
789# CONFIG_SERIAL_PMACZILOG is not set
756# CONFIG_SERIAL_JSM is not set 790# CONFIG_SERIAL_JSM is not set
757# CONFIG_SERIAL_OF_PLATFORM is not set 791# CONFIG_SERIAL_OF_PLATFORM is not set
758CONFIG_UNIX98_PTYS=y 792CONFIG_UNIX98_PTYS=y
759CONFIG_LEGACY_PTYS=y 793CONFIG_LEGACY_PTYS=y
760CONFIG_LEGACY_PTY_COUNT=256 794CONFIG_LEGACY_PTY_COUNT=256
795# CONFIG_BRIQ_PANEL is not set
796# CONFIG_HVC_RTAS is not set
761# CONFIG_IPMI_HANDLER is not set 797# CONFIG_IPMI_HANDLER is not set
762CONFIG_HW_RANDOM=y 798CONFIG_HW_RANDOM=y
763# CONFIG_NVRAM is not set 799# CONFIG_NVRAM is not set
@@ -769,43 +805,70 @@ CONFIG_DEVPORT=y
769CONFIG_I2C=y 805CONFIG_I2C=y
770CONFIG_I2C_BOARDINFO=y 806CONFIG_I2C_BOARDINFO=y
771CONFIG_I2C_CHARDEV=y 807CONFIG_I2C_CHARDEV=y
808CONFIG_I2C_HELPER_AUTO=y
772 809
773# 810#
774# I2C Hardware Bus support 811# I2C Hardware Bus support
775# 812#
813
814#
815# PC SMBus host controller drivers
816#
776# CONFIG_I2C_ALI1535 is not set 817# CONFIG_I2C_ALI1535 is not set
777# CONFIG_I2C_ALI1563 is not set 818# CONFIG_I2C_ALI1563 is not set
778# CONFIG_I2C_ALI15X3 is not set 819# CONFIG_I2C_ALI15X3 is not set
779# CONFIG_I2C_AMD756 is not set 820# CONFIG_I2C_AMD756 is not set
780# CONFIG_I2C_AMD8111 is not set 821# CONFIG_I2C_AMD8111 is not set
781# CONFIG_I2C_I801 is not set 822# CONFIG_I2C_I801 is not set
782# CONFIG_I2C_I810 is not set 823# CONFIG_I2C_ISCH is not set
783# CONFIG_I2C_PIIX4 is not set 824# CONFIG_I2C_PIIX4 is not set
784CONFIG_I2C_MPC=y
785# CONFIG_I2C_NFORCE2 is not set 825# CONFIG_I2C_NFORCE2 is not set
786# CONFIG_I2C_OCORES is not set
787# CONFIG_I2C_PARPORT_LIGHT is not set
788# CONFIG_I2C_PROSAVAGE is not set
789# CONFIG_I2C_SAVAGE4 is not set
790# CONFIG_I2C_SIMTEC is not set
791# CONFIG_I2C_SIS5595 is not set 826# CONFIG_I2C_SIS5595 is not set
792# CONFIG_I2C_SIS630 is not set 827# CONFIG_I2C_SIS630 is not set
793# CONFIG_I2C_SIS96X is not set 828# CONFIG_I2C_SIS96X is not set
794# CONFIG_I2C_TAOS_EVM is not set
795# CONFIG_I2C_STUB is not set
796# CONFIG_I2C_TINY_USB is not set
797# CONFIG_I2C_VIA is not set 829# CONFIG_I2C_VIA is not set
798# CONFIG_I2C_VIAPRO is not set 830# CONFIG_I2C_VIAPRO is not set
831
832#
833# Mac SMBus host controller drivers
834#
835# CONFIG_I2C_HYDRA is not set
836CONFIG_I2C_POWERMAC=y
837
838#
839# I2C system bus drivers (mostly embedded / system-on-chip)
840#
841CONFIG_I2C_MPC=y
842# CONFIG_I2C_OCORES is not set
843# CONFIG_I2C_SIMTEC is not set
844
845#
846# External I2C/SMBus adapter drivers
847#
848# CONFIG_I2C_PARPORT_LIGHT is not set
849# CONFIG_I2C_TAOS_EVM is not set
850# CONFIG_I2C_TINY_USB is not set
851
852#
853# Graphics adapter I2C/DDC channel drivers
854#
799# CONFIG_I2C_VOODOO3 is not set 855# CONFIG_I2C_VOODOO3 is not set
856
857#
858# Other I2C/SMBus bus drivers
859#
800# CONFIG_I2C_PCA_PLATFORM is not set 860# CONFIG_I2C_PCA_PLATFORM is not set
861# CONFIG_I2C_STUB is not set
801 862
802# 863#
803# Miscellaneous I2C Chip support 864# Miscellaneous I2C Chip support
804# 865#
805# CONFIG_DS1682 is not set 866# CONFIG_DS1682 is not set
867# CONFIG_AT24 is not set
806# CONFIG_SENSORS_EEPROM is not set 868# CONFIG_SENSORS_EEPROM is not set
807CONFIG_SENSORS_PCF8574=y 869CONFIG_SENSORS_PCF8574=y
808# CONFIG_PCF8575 is not set 870# CONFIG_PCF8575 is not set
871# CONFIG_SENSORS_PCA9539 is not set
809# CONFIG_SENSORS_PCF8591 is not set 872# CONFIG_SENSORS_PCF8591 is not set
810# CONFIG_SENSORS_MAX6875 is not set 873# CONFIG_SENSORS_MAX6875 is not set
811# CONFIG_SENSORS_TSL2550 is not set 874# CONFIG_SENSORS_TSL2550 is not set
@@ -828,10 +891,13 @@ CONFIG_SPI_MPC83xx=y
828# CONFIG_SPI_AT25 is not set 891# CONFIG_SPI_AT25 is not set
829# CONFIG_SPI_SPIDEV is not set 892# CONFIG_SPI_SPIDEV is not set
830# CONFIG_SPI_TLE62X0 is not set 893# CONFIG_SPI_TLE62X0 is not set
894CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
895# CONFIG_GPIOLIB is not set
831# CONFIG_W1 is not set 896# CONFIG_W1 is not set
832# CONFIG_POWER_SUPPLY is not set 897# CONFIG_POWER_SUPPLY is not set
833# CONFIG_HWMON is not set 898# CONFIG_HWMON is not set
834# CONFIG_THERMAL is not set 899# CONFIG_THERMAL is not set
900# CONFIG_THERMAL_HWMON is not set
835CONFIG_WATCHDOG=y 901CONFIG_WATCHDOG=y
836# CONFIG_WATCHDOG_NOWAYOUT is not set 902# CONFIG_WATCHDOG_NOWAYOUT is not set
837 903
@@ -839,7 +905,9 @@ CONFIG_WATCHDOG=y
839# Watchdog Device Drivers 905# Watchdog Device Drivers
840# 906#
841# CONFIG_SOFT_WATCHDOG is not set 907# CONFIG_SOFT_WATCHDOG is not set
842CONFIG_83xx_WDT=y 908# CONFIG_ALIM7101_WDT is not set
909# CONFIG_8xxx_WDT is not set
910# CONFIG_WATCHDOG_RTAS is not set
843 911
844# 912#
845# PCI-based Watchdog Cards 913# PCI-based Watchdog Cards
@@ -861,8 +929,10 @@ CONFIG_SSB_POSSIBLE=y
861# 929#
862# Multifunction device drivers 930# Multifunction device drivers
863# 931#
932# CONFIG_MFD_CORE is not set
864# CONFIG_MFD_SM501 is not set 933# CONFIG_MFD_SM501 is not set
865# CONFIG_HTC_PASIC3 is not set 934# CONFIG_HTC_PASIC3 is not set
935# CONFIG_MFD_TMIO is not set
866 936
867# 937#
868# Multimedia devices 938# Multimedia devices
@@ -895,10 +965,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
895# Display device support 965# Display device support
896# 966#
897# CONFIG_DISPLAY_SUPPORT is not set 967# CONFIG_DISPLAY_SUPPORT is not set
898
899#
900# Sound
901#
902# CONFIG_SOUND is not set 968# CONFIG_SOUND is not set
903CONFIG_USB_SUPPORT=y 969CONFIG_USB_SUPPORT=y
904CONFIG_USB_ARCH_HAS_HCD=y 970CONFIG_USB_ARCH_HAS_HCD=y
@@ -917,6 +983,7 @@ CONFIG_USB_DEVICE_CLASS=y
917# CONFIG_USB_OTG is not set 983# CONFIG_USB_OTG is not set
918# CONFIG_USB_OTG_WHITELIST is not set 984# CONFIG_USB_OTG_WHITELIST is not set
919# CONFIG_USB_OTG_BLACKLIST_HUB is not set 985# CONFIG_USB_OTG_BLACKLIST_HUB is not set
986CONFIG_USB_MON=y
920 987
921# 988#
922# USB Host Controller Drivers 989# USB Host Controller Drivers
@@ -960,6 +1027,7 @@ CONFIG_USB_STORAGE=y
960# CONFIG_USB_STORAGE_JUMPSHOT is not set 1027# CONFIG_USB_STORAGE_JUMPSHOT is not set
961# CONFIG_USB_STORAGE_ALAUDA is not set 1028# CONFIG_USB_STORAGE_ALAUDA is not set
962# CONFIG_USB_STORAGE_KARMA is not set 1029# CONFIG_USB_STORAGE_KARMA is not set
1030# CONFIG_USB_STORAGE_SIERRA is not set
963# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1031# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
964# CONFIG_USB_LIBUSUAL is not set 1032# CONFIG_USB_LIBUSUAL is not set
965 1033
@@ -968,7 +1036,6 @@ CONFIG_USB_STORAGE=y
968# 1036#
969# CONFIG_USB_MDC800 is not set 1037# CONFIG_USB_MDC800 is not set
970# CONFIG_USB_MICROTEK is not set 1038# CONFIG_USB_MICROTEK is not set
971CONFIG_USB_MON=y
972 1039
973# 1040#
974# USB port drivers 1041# USB port drivers
@@ -981,7 +1048,6 @@ CONFIG_USB_MON=y
981# CONFIG_USB_EMI62 is not set 1048# CONFIG_USB_EMI62 is not set
982# CONFIG_USB_EMI26 is not set 1049# CONFIG_USB_EMI26 is not set
983# CONFIG_USB_ADUTUX is not set 1050# CONFIG_USB_ADUTUX is not set
984# CONFIG_USB_AUERSWALD is not set
985# CONFIG_USB_RIO500 is not set 1051# CONFIG_USB_RIO500 is not set
986# CONFIG_USB_LEGOTOWER is not set 1052# CONFIG_USB_LEGOTOWER is not set
987# CONFIG_USB_LCD is not set 1053# CONFIG_USB_LCD is not set
@@ -1035,10 +1101,13 @@ CONFIG_RTC_DRV_DS1307=y
1035# CONFIG_RTC_DRV_PCF8583 is not set 1101# CONFIG_RTC_DRV_PCF8583 is not set
1036# CONFIG_RTC_DRV_M41T80 is not set 1102# CONFIG_RTC_DRV_M41T80 is not set
1037# CONFIG_RTC_DRV_S35390A is not set 1103# CONFIG_RTC_DRV_S35390A is not set
1104# CONFIG_RTC_DRV_FM3130 is not set
1038 1105
1039# 1106#
1040# SPI RTC drivers 1107# SPI RTC drivers
1041# 1108#
1109# CONFIG_RTC_DRV_M41T94 is not set
1110# CONFIG_RTC_DRV_DS1305 is not set
1042# CONFIG_RTC_DRV_MAX6902 is not set 1111# CONFIG_RTC_DRV_MAX6902 is not set
1043# CONFIG_RTC_DRV_R9701 is not set 1112# CONFIG_RTC_DRV_R9701 is not set
1044# CONFIG_RTC_DRV_RS5C348 is not set 1113# CONFIG_RTC_DRV_RS5C348 is not set
@@ -1130,6 +1199,7 @@ CONFIG_TMPFS=y
1130# CONFIG_CRAMFS is not set 1199# CONFIG_CRAMFS is not set
1131# CONFIG_VXFS_FS is not set 1200# CONFIG_VXFS_FS is not set
1132# CONFIG_MINIX_FS is not set 1201# CONFIG_MINIX_FS is not set
1202# CONFIG_OMFS_FS is not set
1133# CONFIG_HPFS_FS is not set 1203# CONFIG_HPFS_FS is not set
1134# CONFIG_QNX4FS_FS is not set 1204# CONFIG_QNX4FS_FS is not set
1135# CONFIG_ROMFS_FS is not set 1205# CONFIG_ROMFS_FS is not set
@@ -1140,14 +1210,13 @@ CONFIG_NFS_FS=y
1140CONFIG_NFS_V3=y 1210CONFIG_NFS_V3=y
1141# CONFIG_NFS_V3_ACL is not set 1211# CONFIG_NFS_V3_ACL is not set
1142CONFIG_NFS_V4=y 1212CONFIG_NFS_V4=y
1143# CONFIG_NFSD is not set
1144CONFIG_ROOT_NFS=y 1213CONFIG_ROOT_NFS=y
1214# CONFIG_NFSD is not set
1145CONFIG_LOCKD=y 1215CONFIG_LOCKD=y
1146CONFIG_LOCKD_V4=y 1216CONFIG_LOCKD_V4=y
1147CONFIG_NFS_COMMON=y 1217CONFIG_NFS_COMMON=y
1148CONFIG_SUNRPC=y 1218CONFIG_SUNRPC=y
1149CONFIG_SUNRPC_GSS=y 1219CONFIG_SUNRPC_GSS=y
1150# CONFIG_SUNRPC_BIND34 is not set
1151CONFIG_RPCSEC_GSS_KRB5=y 1220CONFIG_RPCSEC_GSS_KRB5=y
1152# CONFIG_RPCSEC_GSS_SPKM3 is not set 1221# CONFIG_RPCSEC_GSS_SPKM3 is not set
1153# CONFIG_SMB_FS is not set 1222# CONFIG_SMB_FS is not set
@@ -1226,6 +1295,7 @@ CONFIG_BITREVERSE=y
1226# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1295# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1227# CONFIG_CRC_CCITT is not set 1296# CONFIG_CRC_CCITT is not set
1228# CONFIG_CRC16 is not set 1297# CONFIG_CRC16 is not set
1298CONFIG_CRC_T10DIF=y
1229# CONFIG_CRC_ITU_T is not set 1299# CONFIG_CRC_ITU_T is not set
1230CONFIG_CRC32=y 1300CONFIG_CRC32=y
1231# CONFIG_CRC7 is not set 1301# CONFIG_CRC7 is not set
@@ -1251,8 +1321,18 @@ CONFIG_FRAME_WARN=1024
1251# CONFIG_SLUB_DEBUG_ON is not set 1321# CONFIG_SLUB_DEBUG_ON is not set
1252# CONFIG_SLUB_STATS is not set 1322# CONFIG_SLUB_STATS is not set
1253# CONFIG_DEBUG_BUGVERBOSE is not set 1323# CONFIG_DEBUG_BUGVERBOSE is not set
1324# CONFIG_DEBUG_MEMORY_INIT is not set
1325# CONFIG_LATENCYTOP is not set
1326CONFIG_SYSCTL_SYSCALL_CHECK=y
1327CONFIG_HAVE_FTRACE=y
1328CONFIG_HAVE_DYNAMIC_FTRACE=y
1329# CONFIG_FTRACE is not set
1330# CONFIG_SCHED_TRACER is not set
1331# CONFIG_CONTEXT_SWITCH_TRACER is not set
1254# CONFIG_SAMPLES is not set 1332# CONFIG_SAMPLES is not set
1333CONFIG_HAVE_ARCH_KGDB=y
1255# CONFIG_IRQSTACKS is not set 1334# CONFIG_IRQSTACKS is not set
1335# CONFIG_BOOTX_TEXT is not set
1256# CONFIG_PPC_EARLY_DEBUG is not set 1336# CONFIG_PPC_EARLY_DEBUG is not set
1257 1337
1258# 1338#
@@ -1306,6 +1386,10 @@ CONFIG_CRYPTO_PCBC=m
1306# CONFIG_CRYPTO_MD4 is not set 1386# CONFIG_CRYPTO_MD4 is not set
1307CONFIG_CRYPTO_MD5=y 1387CONFIG_CRYPTO_MD5=y
1308# CONFIG_CRYPTO_MICHAEL_MIC is not set 1388# CONFIG_CRYPTO_MICHAEL_MIC is not set
1389# CONFIG_CRYPTO_RMD128 is not set
1390# CONFIG_CRYPTO_RMD160 is not set
1391# CONFIG_CRYPTO_RMD256 is not set
1392# CONFIG_CRYPTO_RMD320 is not set
1309# CONFIG_CRYPTO_SHA1 is not set 1393# CONFIG_CRYPTO_SHA1 is not set
1310# CONFIG_CRYPTO_SHA256 is not set 1394# CONFIG_CRYPTO_SHA256 is not set
1311# CONFIG_CRYPTO_SHA512 is not set 1395# CONFIG_CRYPTO_SHA512 is not set
@@ -1338,5 +1422,6 @@ CONFIG_CRYPTO_DES=y
1338# CONFIG_CRYPTO_LZO is not set 1422# CONFIG_CRYPTO_LZO is not set
1339CONFIG_CRYPTO_HW=y 1423CONFIG_CRYPTO_HW=y
1340# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1424# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1425# CONFIG_CRYPTO_DEV_TALITOS is not set
1341# CONFIG_PPC_CLOCK is not set 1426# CONFIG_PPC_CLOCK is not set
1342# CONFIG_VIRTUALIZATION is not set 1427# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
index fdac4845bad9..a8afa39d6f76 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:26 2008 4# Thu Aug 21 00:52:21 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166CONFIG_MPC834x_ITX=y 180CONFIG_MPC834x_ITX=y
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC834x=y 187CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
185# 209#
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -259,10 +289,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
259CONFIG_KERNEL_START=0xc0000000 289CONFIG_KERNEL_START=0xc0000000
260CONFIG_PHYSICAL_START=0x00000000 290CONFIG_PHYSICAL_START=0x00000000
261CONFIG_TASK_SIZE=0xc0000000 291CONFIG_TASK_SIZE=0xc0000000
262
263#
264# Networking
265#
266CONFIG_NET=y 292CONFIG_NET=y
267 293
268# 294#
@@ -439,9 +465,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
439# CONFIG_MTD_UBI is not set 465# CONFIG_MTD_UBI is not set
440CONFIG_OF_DEVICE=y 466CONFIG_OF_DEVICE=y
441CONFIG_OF_I2C=y 467CONFIG_OF_I2C=y
468CONFIG_OF_SPI=y
442# CONFIG_PARPORT is not set 469# CONFIG_PARPORT is not set
443CONFIG_BLK_DEV=y 470CONFIG_BLK_DEV=y
444# CONFIG_BLK_DEV_FD is not set 471# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
445# CONFIG_BLK_CPQ_DA is not set 473# CONFIG_BLK_CPQ_DA is not set
446# CONFIG_BLK_CPQ_CISS_DA is not set 474# CONFIG_BLK_CPQ_CISS_DA is not set
447# CONFIG_BLK_DEV_DAC960 is not set 475# CONFIG_BLK_DEV_DAC960 is not set
@@ -458,12 +486,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
458# CONFIG_BLK_DEV_XIP is not set 486# CONFIG_BLK_DEV_XIP is not set
459# CONFIG_CDROM_PKTCDVD is not set 487# CONFIG_CDROM_PKTCDVD is not set
460# CONFIG_ATA_OVER_ETH is not set 488# CONFIG_ATA_OVER_ETH is not set
489# CONFIG_BLK_DEV_HD is not set
461CONFIG_MISC_DEVICES=y 490CONFIG_MISC_DEVICES=y
462# CONFIG_PHANTOM is not set 491# CONFIG_PHANTOM is not set
463# CONFIG_EEPROM_93CX6 is not set 492# CONFIG_EEPROM_93CX6 is not set
464# CONFIG_SGI_IOC4 is not set 493# CONFIG_SGI_IOC4 is not set
465# CONFIG_TIFM_CORE is not set 494# CONFIG_TIFM_CORE is not set
466# CONFIG_ENCLOSURE_SERVICES is not set 495# CONFIG_ENCLOSURE_SERVICES is not set
496# CONFIG_HP_ILO is not set
467CONFIG_HAVE_IDE=y 497CONFIG_HAVE_IDE=y
468# CONFIG_IDE is not set 498# CONFIG_IDE is not set
469 499
@@ -540,7 +570,10 @@ CONFIG_SCSI_LOWLEVEL=y
540# CONFIG_SCSI_DC390T is not set 570# CONFIG_SCSI_DC390T is not set
541# CONFIG_SCSI_NSP32 is not set 571# CONFIG_SCSI_NSP32 is not set
542# CONFIG_SCSI_DEBUG is not set 572# CONFIG_SCSI_DEBUG is not set
573# CONFIG_SCSI_MESH is not set
574# CONFIG_SCSI_MAC53C94 is not set
543# CONFIG_SCSI_SRP is not set 575# CONFIG_SCSI_SRP is not set
576# CONFIG_SCSI_DH is not set
544# CONFIG_ATA is not set 577# CONFIG_ATA is not set
545# CONFIG_MD is not set 578# CONFIG_MD is not set
546# CONFIG_FUSION is not set 579# CONFIG_FUSION is not set
@@ -548,12 +581,15 @@ CONFIG_SCSI_LOWLEVEL=y
548# 581#
549# IEEE 1394 (FireWire) support 582# IEEE 1394 (FireWire) support
550# 583#
584
585#
586# Enable only one of the two stacks, unless you know what you are doing
587#
551# CONFIG_FIREWIRE is not set 588# CONFIG_FIREWIRE is not set
552# CONFIG_IEEE1394 is not set 589# CONFIG_IEEE1394 is not set
553# CONFIG_I2O is not set 590# CONFIG_I2O is not set
554# CONFIG_MACINTOSH_DRIVERS is not set 591# CONFIG_MACINTOSH_DRIVERS is not set
555CONFIG_NETDEVICES=y 592CONFIG_NETDEVICES=y
556# CONFIG_NETDEVICES_MULTIQUEUE is not set
557# CONFIG_DUMMY is not set 593# CONFIG_DUMMY is not set
558# CONFIG_BONDING is not set 594# CONFIG_BONDING is not set
559# CONFIG_MACVLAN is not set 595# CONFIG_MACVLAN is not set
@@ -584,7 +620,6 @@ CONFIG_NETDEV_1000=y
584# CONFIG_DL2K is not set 620# CONFIG_DL2K is not set
585# CONFIG_E1000 is not set 621# CONFIG_E1000 is not set
586# CONFIG_E1000E is not set 622# CONFIG_E1000E is not set
587# CONFIG_E1000E_ENABLED is not set
588# CONFIG_IP1000 is not set 623# CONFIG_IP1000 is not set
589# CONFIG_IGB is not set 624# CONFIG_IGB is not set
590# CONFIG_NS83820 is not set 625# CONFIG_NS83820 is not set
@@ -598,9 +633,10 @@ CONFIG_NETDEV_1000=y
598# CONFIG_TIGON3 is not set 633# CONFIG_TIGON3 is not set
599# CONFIG_BNX2 is not set 634# CONFIG_BNX2 is not set
600CONFIG_GIANFAR=y 635CONFIG_GIANFAR=y
601CONFIG_GFAR_NAPI=y 636# CONFIG_MV643XX_ETH is not set
602# CONFIG_QLA3XXX is not set 637# CONFIG_QLA3XXX is not set
603# CONFIG_ATL1 is not set 638# CONFIG_ATL1 is not set
639# CONFIG_ATL1E is not set
604CONFIG_NETDEV_10000=y 640CONFIG_NETDEV_10000=y
605# CONFIG_CHELSIO_T1 is not set 641# CONFIG_CHELSIO_T1 is not set
606# CONFIG_CHELSIO_T3 is not set 642# CONFIG_CHELSIO_T3 is not set
@@ -678,11 +714,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
678# CONFIG_SERIAL_UARTLITE is not set 714# CONFIG_SERIAL_UARTLITE is not set
679CONFIG_SERIAL_CORE=y 715CONFIG_SERIAL_CORE=y
680CONFIG_SERIAL_CORE_CONSOLE=y 716CONFIG_SERIAL_CORE_CONSOLE=y
717# CONFIG_SERIAL_PMACZILOG is not set
681# CONFIG_SERIAL_JSM is not set 718# CONFIG_SERIAL_JSM is not set
682# CONFIG_SERIAL_OF_PLATFORM is not set 719# CONFIG_SERIAL_OF_PLATFORM is not set
683CONFIG_UNIX98_PTYS=y 720CONFIG_UNIX98_PTYS=y
684CONFIG_LEGACY_PTYS=y 721CONFIG_LEGACY_PTYS=y
685CONFIG_LEGACY_PTY_COUNT=256 722CONFIG_LEGACY_PTY_COUNT=256
723# CONFIG_BRIQ_PANEL is not set
724# CONFIG_HVC_RTAS is not set
686# CONFIG_IPMI_HANDLER is not set 725# CONFIG_IPMI_HANDLER is not set
687CONFIG_HW_RANDOM=y 726CONFIG_HW_RANDOM=y
688# CONFIG_NVRAM is not set 727# CONFIG_NVRAM is not set
@@ -694,43 +733,70 @@ CONFIG_DEVPORT=y
694CONFIG_I2C=y 733CONFIG_I2C=y
695CONFIG_I2C_BOARDINFO=y 734CONFIG_I2C_BOARDINFO=y
696CONFIG_I2C_CHARDEV=y 735CONFIG_I2C_CHARDEV=y
736CONFIG_I2C_HELPER_AUTO=y
697 737
698# 738#
699# I2C Hardware Bus support 739# I2C Hardware Bus support
700# 740#
741
742#
743# PC SMBus host controller drivers
744#
701# CONFIG_I2C_ALI1535 is not set 745# CONFIG_I2C_ALI1535 is not set
702# CONFIG_I2C_ALI1563 is not set 746# CONFIG_I2C_ALI1563 is not set
703# CONFIG_I2C_ALI15X3 is not set 747# CONFIG_I2C_ALI15X3 is not set
704# CONFIG_I2C_AMD756 is not set 748# CONFIG_I2C_AMD756 is not set
705# CONFIG_I2C_AMD8111 is not set 749# CONFIG_I2C_AMD8111 is not set
706# CONFIG_I2C_I801 is not set 750# CONFIG_I2C_I801 is not set
707# CONFIG_I2C_I810 is not set 751# CONFIG_I2C_ISCH is not set
708# CONFIG_I2C_PIIX4 is not set 752# CONFIG_I2C_PIIX4 is not set
709CONFIG_I2C_MPC=y
710# CONFIG_I2C_NFORCE2 is not set 753# CONFIG_I2C_NFORCE2 is not set
711# CONFIG_I2C_OCORES is not set
712# CONFIG_I2C_PARPORT_LIGHT is not set
713# CONFIG_I2C_PROSAVAGE is not set
714# CONFIG_I2C_SAVAGE4 is not set
715# CONFIG_I2C_SIMTEC is not set
716# CONFIG_I2C_SIS5595 is not set 754# CONFIG_I2C_SIS5595 is not set
717# CONFIG_I2C_SIS630 is not set 755# CONFIG_I2C_SIS630 is not set
718# CONFIG_I2C_SIS96X is not set 756# CONFIG_I2C_SIS96X is not set
719# CONFIG_I2C_TAOS_EVM is not set
720# CONFIG_I2C_STUB is not set
721# CONFIG_I2C_TINY_USB is not set
722# CONFIG_I2C_VIA is not set 757# CONFIG_I2C_VIA is not set
723# CONFIG_I2C_VIAPRO is not set 758# CONFIG_I2C_VIAPRO is not set
759
760#
761# Mac SMBus host controller drivers
762#
763# CONFIG_I2C_HYDRA is not set
764CONFIG_I2C_POWERMAC=y
765
766#
767# I2C system bus drivers (mostly embedded / system-on-chip)
768#
769CONFIG_I2C_MPC=y
770# CONFIG_I2C_OCORES is not set
771# CONFIG_I2C_SIMTEC is not set
772
773#
774# External I2C/SMBus adapter drivers
775#
776# CONFIG_I2C_PARPORT_LIGHT is not set
777# CONFIG_I2C_TAOS_EVM is not set
778# CONFIG_I2C_TINY_USB is not set
779
780#
781# Graphics adapter I2C/DDC channel drivers
782#
724# CONFIG_I2C_VOODOO3 is not set 783# CONFIG_I2C_VOODOO3 is not set
784
785#
786# Other I2C/SMBus bus drivers
787#
725# CONFIG_I2C_PCA_PLATFORM is not set 788# CONFIG_I2C_PCA_PLATFORM is not set
789# CONFIG_I2C_STUB is not set
726 790
727# 791#
728# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
729# 793#
730# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
795# CONFIG_AT24 is not set
731# CONFIG_SENSORS_EEPROM is not set 796# CONFIG_SENSORS_EEPROM is not set
732CONFIG_SENSORS_PCF8574=y 797CONFIG_SENSORS_PCF8574=y
733# CONFIG_PCF8575 is not set 798# CONFIG_PCF8575 is not set
799# CONFIG_SENSORS_PCA9539 is not set
734# CONFIG_SENSORS_PCF8591 is not set 800# CONFIG_SENSORS_PCF8591 is not set
735# CONFIG_SENSORS_MAX6875 is not set 801# CONFIG_SENSORS_MAX6875 is not set
736# CONFIG_SENSORS_TSL2550 is not set 802# CONFIG_SENSORS_TSL2550 is not set
@@ -753,10 +819,13 @@ CONFIG_SPI_MPC83xx=y
753# CONFIG_SPI_AT25 is not set 819# CONFIG_SPI_AT25 is not set
754# CONFIG_SPI_SPIDEV is not set 820# CONFIG_SPI_SPIDEV is not set
755# CONFIG_SPI_TLE62X0 is not set 821# CONFIG_SPI_TLE62X0 is not set
822CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
823# CONFIG_GPIOLIB is not set
756# CONFIG_W1 is not set 824# CONFIG_W1 is not set
757# CONFIG_POWER_SUPPLY is not set 825# CONFIG_POWER_SUPPLY is not set
758# CONFIG_HWMON is not set 826# CONFIG_HWMON is not set
759# CONFIG_THERMAL is not set 827# CONFIG_THERMAL is not set
828# CONFIG_THERMAL_HWMON is not set
760CONFIG_WATCHDOG=y 829CONFIG_WATCHDOG=y
761# CONFIG_WATCHDOG_NOWAYOUT is not set 830# CONFIG_WATCHDOG_NOWAYOUT is not set
762 831
@@ -764,7 +833,9 @@ CONFIG_WATCHDOG=y
764# Watchdog Device Drivers 833# Watchdog Device Drivers
765# 834#
766# CONFIG_SOFT_WATCHDOG is not set 835# CONFIG_SOFT_WATCHDOG is not set
767CONFIG_83xx_WDT=y 836# CONFIG_ALIM7101_WDT is not set
837# CONFIG_8xxx_WDT is not set
838# CONFIG_WATCHDOG_RTAS is not set
768 839
769# 840#
770# PCI-based Watchdog Cards 841# PCI-based Watchdog Cards
@@ -786,8 +857,10 @@ CONFIG_SSB_POSSIBLE=y
786# 857#
787# Multifunction device drivers 858# Multifunction device drivers
788# 859#
860# CONFIG_MFD_CORE is not set
789# CONFIG_MFD_SM501 is not set 861# CONFIG_MFD_SM501 is not set
790# CONFIG_HTC_PASIC3 is not set 862# CONFIG_HTC_PASIC3 is not set
863# CONFIG_MFD_TMIO is not set
791 864
792# 865#
793# Multimedia devices 866# Multimedia devices
@@ -820,10 +893,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
820# Display device support 893# Display device support
821# 894#
822# CONFIG_DISPLAY_SUPPORT is not set 895# CONFIG_DISPLAY_SUPPORT is not set
823
824#
825# Sound
826#
827# CONFIG_SOUND is not set 896# CONFIG_SOUND is not set
828CONFIG_USB_SUPPORT=y 897CONFIG_USB_SUPPORT=y
829CONFIG_USB_ARCH_HAS_HCD=y 898CONFIG_USB_ARCH_HAS_HCD=y
@@ -842,6 +911,7 @@ CONFIG_USB_DEVICE_CLASS=y
842# CONFIG_USB_OTG is not set 911# CONFIG_USB_OTG is not set
843# CONFIG_USB_OTG_WHITELIST is not set 912# CONFIG_USB_OTG_WHITELIST is not set
844# CONFIG_USB_OTG_BLACKLIST_HUB is not set 913# CONFIG_USB_OTG_BLACKLIST_HUB is not set
914CONFIG_USB_MON=y
845 915
846# 916#
847# USB Host Controller Drivers 917# USB Host Controller Drivers
@@ -885,6 +955,7 @@ CONFIG_USB_STORAGE=y
885# CONFIG_USB_STORAGE_JUMPSHOT is not set 955# CONFIG_USB_STORAGE_JUMPSHOT is not set
886# CONFIG_USB_STORAGE_ALAUDA is not set 956# CONFIG_USB_STORAGE_ALAUDA is not set
887# CONFIG_USB_STORAGE_KARMA is not set 957# CONFIG_USB_STORAGE_KARMA is not set
958# CONFIG_USB_STORAGE_SIERRA is not set
888# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 959# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
889# CONFIG_USB_LIBUSUAL is not set 960# CONFIG_USB_LIBUSUAL is not set
890 961
@@ -893,7 +964,6 @@ CONFIG_USB_STORAGE=y
893# 964#
894# CONFIG_USB_MDC800 is not set 965# CONFIG_USB_MDC800 is not set
895# CONFIG_USB_MICROTEK is not set 966# CONFIG_USB_MICROTEK is not set
896CONFIG_USB_MON=y
897 967
898# 968#
899# USB port drivers 969# USB port drivers
@@ -906,7 +976,6 @@ CONFIG_USB_MON=y
906# CONFIG_USB_EMI62 is not set 976# CONFIG_USB_EMI62 is not set
907# CONFIG_USB_EMI26 is not set 977# CONFIG_USB_EMI26 is not set
908# CONFIG_USB_ADUTUX is not set 978# CONFIG_USB_ADUTUX is not set
909# CONFIG_USB_AUERSWALD is not set
910# CONFIG_USB_RIO500 is not set 979# CONFIG_USB_RIO500 is not set
911# CONFIG_USB_LEGOTOWER is not set 980# CONFIG_USB_LEGOTOWER is not set
912# CONFIG_USB_LCD is not set 981# CONFIG_USB_LCD is not set
@@ -959,10 +1028,13 @@ CONFIG_RTC_DRV_DS1307=y
959# CONFIG_RTC_DRV_PCF8583 is not set 1028# CONFIG_RTC_DRV_PCF8583 is not set
960# CONFIG_RTC_DRV_M41T80 is not set 1029# CONFIG_RTC_DRV_M41T80 is not set
961# CONFIG_RTC_DRV_S35390A is not set 1030# CONFIG_RTC_DRV_S35390A is not set
1031# CONFIG_RTC_DRV_FM3130 is not set
962 1032
963# 1033#
964# SPI RTC drivers 1034# SPI RTC drivers
965# 1035#
1036# CONFIG_RTC_DRV_M41T94 is not set
1037# CONFIG_RTC_DRV_DS1305 is not set
966# CONFIG_RTC_DRV_MAX6902 is not set 1038# CONFIG_RTC_DRV_MAX6902 is not set
967# CONFIG_RTC_DRV_R9701 is not set 1039# CONFIG_RTC_DRV_R9701 is not set
968# CONFIG_RTC_DRV_RS5C348 is not set 1040# CONFIG_RTC_DRV_RS5C348 is not set
@@ -1054,6 +1126,7 @@ CONFIG_TMPFS=y
1054# CONFIG_CRAMFS is not set 1126# CONFIG_CRAMFS is not set
1055# CONFIG_VXFS_FS is not set 1127# CONFIG_VXFS_FS is not set
1056# CONFIG_MINIX_FS is not set 1128# CONFIG_MINIX_FS is not set
1129# CONFIG_OMFS_FS is not set
1057# CONFIG_HPFS_FS is not set 1130# CONFIG_HPFS_FS is not set
1058# CONFIG_QNX4FS_FS is not set 1131# CONFIG_QNX4FS_FS is not set
1059# CONFIG_ROMFS_FS is not set 1132# CONFIG_ROMFS_FS is not set
@@ -1064,14 +1137,13 @@ CONFIG_NFS_FS=y
1064CONFIG_NFS_V3=y 1137CONFIG_NFS_V3=y
1065# CONFIG_NFS_V3_ACL is not set 1138# CONFIG_NFS_V3_ACL is not set
1066CONFIG_NFS_V4=y 1139CONFIG_NFS_V4=y
1067# CONFIG_NFSD is not set
1068CONFIG_ROOT_NFS=y 1140CONFIG_ROOT_NFS=y
1141# CONFIG_NFSD is not set
1069CONFIG_LOCKD=y 1142CONFIG_LOCKD=y
1070CONFIG_LOCKD_V4=y 1143CONFIG_LOCKD_V4=y
1071CONFIG_NFS_COMMON=y 1144CONFIG_NFS_COMMON=y
1072CONFIG_SUNRPC=y 1145CONFIG_SUNRPC=y
1073CONFIG_SUNRPC_GSS=y 1146CONFIG_SUNRPC_GSS=y
1074# CONFIG_SUNRPC_BIND34 is not set
1075CONFIG_RPCSEC_GSS_KRB5=y 1147CONFIG_RPCSEC_GSS_KRB5=y
1076# CONFIG_RPCSEC_GSS_SPKM3 is not set 1148# CONFIG_RPCSEC_GSS_SPKM3 is not set
1077# CONFIG_SMB_FS is not set 1149# CONFIG_SMB_FS is not set
@@ -1150,6 +1222,7 @@ CONFIG_BITREVERSE=y
1150# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1222# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1151# CONFIG_CRC_CCITT is not set 1223# CONFIG_CRC_CCITT is not set
1152# CONFIG_CRC16 is not set 1224# CONFIG_CRC16 is not set
1225CONFIG_CRC_T10DIF=y
1153# CONFIG_CRC_ITU_T is not set 1226# CONFIG_CRC_ITU_T is not set
1154CONFIG_CRC32=y 1227CONFIG_CRC32=y
1155# CONFIG_CRC7 is not set 1228# CONFIG_CRC7 is not set
@@ -1175,8 +1248,18 @@ CONFIG_FRAME_WARN=1024
1175# CONFIG_SLUB_DEBUG_ON is not set 1248# CONFIG_SLUB_DEBUG_ON is not set
1176# CONFIG_SLUB_STATS is not set 1249# CONFIG_SLUB_STATS is not set
1177# CONFIG_DEBUG_BUGVERBOSE is not set 1250# CONFIG_DEBUG_BUGVERBOSE is not set
1251# CONFIG_DEBUG_MEMORY_INIT is not set
1252# CONFIG_LATENCYTOP is not set
1253CONFIG_SYSCTL_SYSCALL_CHECK=y
1254CONFIG_HAVE_FTRACE=y
1255CONFIG_HAVE_DYNAMIC_FTRACE=y
1256# CONFIG_FTRACE is not set
1257# CONFIG_SCHED_TRACER is not set
1258# CONFIG_CONTEXT_SWITCH_TRACER is not set
1178# CONFIG_SAMPLES is not set 1259# CONFIG_SAMPLES is not set
1260CONFIG_HAVE_ARCH_KGDB=y
1179# CONFIG_IRQSTACKS is not set 1261# CONFIG_IRQSTACKS is not set
1262# CONFIG_BOOTX_TEXT is not set
1180# CONFIG_PPC_EARLY_DEBUG is not set 1263# CONFIG_PPC_EARLY_DEBUG is not set
1181 1264
1182# 1265#
@@ -1230,6 +1313,10 @@ CONFIG_CRYPTO_PCBC=m
1230# CONFIG_CRYPTO_MD4 is not set 1313# CONFIG_CRYPTO_MD4 is not set
1231CONFIG_CRYPTO_MD5=y 1314CONFIG_CRYPTO_MD5=y
1232# CONFIG_CRYPTO_MICHAEL_MIC is not set 1315# CONFIG_CRYPTO_MICHAEL_MIC is not set
1316# CONFIG_CRYPTO_RMD128 is not set
1317# CONFIG_CRYPTO_RMD160 is not set
1318# CONFIG_CRYPTO_RMD256 is not set
1319# CONFIG_CRYPTO_RMD320 is not set
1233# CONFIG_CRYPTO_SHA1 is not set 1320# CONFIG_CRYPTO_SHA1 is not set
1234# CONFIG_CRYPTO_SHA256 is not set 1321# CONFIG_CRYPTO_SHA256 is not set
1235# CONFIG_CRYPTO_SHA512 is not set 1322# CONFIG_CRYPTO_SHA512 is not set
@@ -1262,5 +1349,6 @@ CONFIG_CRYPTO_DES=y
1262# CONFIG_CRYPTO_LZO is not set 1349# CONFIG_CRYPTO_LZO is not set
1263CONFIG_CRYPTO_HW=y 1350CONFIG_CRYPTO_HW=y
1264# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1351# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1352# CONFIG_CRYPTO_DEV_TALITOS is not set
1265# CONFIG_PPC_CLOCK is not set 1353# CONFIG_PPC_CLOCK is not set
1266# CONFIG_VIRTUALIZATION is not set 1354# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
index c82e96e984fc..24c320a36670 100644
--- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:26 2008 4# Thu Aug 21 00:52:21 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,37 +161,49 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165CONFIG_MPC834x_MDS=y 179CONFIG_MPC834x_MDS=y
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167# CONFIG_MPC836x_MDS is not set 181# CONFIG_MPC836x_MDS is not set
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
171CONFIG_PPC_MPC834x=y 187CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
172CONFIG_IPIC=y 192CONFIG_IPIC=y
173# CONFIG_MPIC is not set 193CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
185# 209#
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -259,10 +289,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
259CONFIG_KERNEL_START=0xc0000000 289CONFIG_KERNEL_START=0xc0000000
260CONFIG_PHYSICAL_START=0x00000000 290CONFIG_PHYSICAL_START=0x00000000
261CONFIG_TASK_SIZE=0xc0000000 291CONFIG_TASK_SIZE=0xc0000000
262
263#
264# Networking
265#
266CONFIG_NET=y 292CONFIG_NET=y
267 293
268# 294#
@@ -363,6 +389,7 @@ CONFIG_OF_I2C=y
363# CONFIG_PARPORT is not set 389# CONFIG_PARPORT is not set
364CONFIG_BLK_DEV=y 390CONFIG_BLK_DEV=y
365# CONFIG_BLK_DEV_FD is not set 391# CONFIG_BLK_DEV_FD is not set
392# CONFIG_MAC_FLOPPY is not set
366# CONFIG_BLK_CPQ_DA is not set 393# CONFIG_BLK_CPQ_DA is not set
367# CONFIG_BLK_CPQ_CISS_DA is not set 394# CONFIG_BLK_CPQ_CISS_DA is not set
368# CONFIG_BLK_DEV_DAC960 is not set 395# CONFIG_BLK_DEV_DAC960 is not set
@@ -378,12 +405,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
378# CONFIG_BLK_DEV_XIP is not set 405# CONFIG_BLK_DEV_XIP is not set
379# CONFIG_CDROM_PKTCDVD is not set 406# CONFIG_CDROM_PKTCDVD is not set
380# CONFIG_ATA_OVER_ETH is not set 407# CONFIG_ATA_OVER_ETH is not set
408# CONFIG_BLK_DEV_HD is not set
381CONFIG_MISC_DEVICES=y 409CONFIG_MISC_DEVICES=y
382# CONFIG_PHANTOM is not set 410# CONFIG_PHANTOM is not set
383# CONFIG_EEPROM_93CX6 is not set 411# CONFIG_EEPROM_93CX6 is not set
384# CONFIG_SGI_IOC4 is not set 412# CONFIG_SGI_IOC4 is not set
385# CONFIG_TIFM_CORE is not set 413# CONFIG_TIFM_CORE is not set
386# CONFIG_ENCLOSURE_SERVICES is not set 414# CONFIG_ENCLOSURE_SERVICES is not set
415# CONFIG_HP_ILO is not set
387CONFIG_HAVE_IDE=y 416CONFIG_HAVE_IDE=y
388# CONFIG_IDE is not set 417# CONFIG_IDE is not set
389 418
@@ -401,12 +430,15 @@ CONFIG_HAVE_IDE=y
401# 430#
402# IEEE 1394 (FireWire) support 431# IEEE 1394 (FireWire) support
403# 432#
433
434#
435# Enable only one of the two stacks, unless you know what you are doing
436#
404# CONFIG_FIREWIRE is not set 437# CONFIG_FIREWIRE is not set
405# CONFIG_IEEE1394 is not set 438# CONFIG_IEEE1394 is not set
406# CONFIG_I2O is not set 439# CONFIG_I2O is not set
407# CONFIG_MACINTOSH_DRIVERS is not set 440# CONFIG_MACINTOSH_DRIVERS is not set
408CONFIG_NETDEVICES=y 441CONFIG_NETDEVICES=y
409# CONFIG_NETDEVICES_MULTIQUEUE is not set
410# CONFIG_DUMMY is not set 442# CONFIG_DUMMY is not set
411# CONFIG_BONDING is not set 443# CONFIG_BONDING is not set
412# CONFIG_MACVLAN is not set 444# CONFIG_MACVLAN is not set
@@ -433,6 +465,8 @@ CONFIG_MARVELL_PHY=y
433# CONFIG_MDIO_BITBANG is not set 465# CONFIG_MDIO_BITBANG is not set
434CONFIG_NET_ETHERNET=y 466CONFIG_NET_ETHERNET=y
435CONFIG_MII=y 467CONFIG_MII=y
468# CONFIG_MACE is not set
469# CONFIG_BMAC is not set
436# CONFIG_HAPPYMEAL is not set 470# CONFIG_HAPPYMEAL is not set
437# CONFIG_SUNGEM is not set 471# CONFIG_SUNGEM is not set
438# CONFIG_CASSINI is not set 472# CONFIG_CASSINI is not set
@@ -468,7 +502,6 @@ CONFIG_NETDEV_1000=y
468# CONFIG_DL2K is not set 502# CONFIG_DL2K is not set
469# CONFIG_E1000 is not set 503# CONFIG_E1000 is not set
470# CONFIG_E1000E is not set 504# CONFIG_E1000E is not set
471# CONFIG_E1000E_ENABLED is not set
472# CONFIG_IP1000 is not set 505# CONFIG_IP1000 is not set
473# CONFIG_IGB is not set 506# CONFIG_IGB is not set
474# CONFIG_NS83820 is not set 507# CONFIG_NS83820 is not set
@@ -482,9 +515,10 @@ CONFIG_NETDEV_1000=y
482# CONFIG_TIGON3 is not set 515# CONFIG_TIGON3 is not set
483# CONFIG_BNX2 is not set 516# CONFIG_BNX2 is not set
484CONFIG_GIANFAR=y 517CONFIG_GIANFAR=y
485# CONFIG_GFAR_NAPI is not set 518# CONFIG_MV643XX_ETH is not set
486# CONFIG_QLA3XXX is not set 519# CONFIG_QLA3XXX is not set
487# CONFIG_ATL1 is not set 520# CONFIG_ATL1 is not set
521# CONFIG_ATL1E is not set
488CONFIG_NETDEV_10000=y 522CONFIG_NETDEV_10000=y
489# CONFIG_CHELSIO_T1 is not set 523# CONFIG_CHELSIO_T1 is not set
490# CONFIG_CHELSIO_T3 is not set 524# CONFIG_CHELSIO_T3 is not set
@@ -572,11 +606,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
572# CONFIG_SERIAL_UARTLITE is not set 606# CONFIG_SERIAL_UARTLITE is not set
573CONFIG_SERIAL_CORE=y 607CONFIG_SERIAL_CORE=y
574CONFIG_SERIAL_CORE_CONSOLE=y 608CONFIG_SERIAL_CORE_CONSOLE=y
609# CONFIG_SERIAL_PMACZILOG is not set
575# CONFIG_SERIAL_JSM is not set 610# CONFIG_SERIAL_JSM is not set
576# CONFIG_SERIAL_OF_PLATFORM is not set 611# CONFIG_SERIAL_OF_PLATFORM is not set
577CONFIG_UNIX98_PTYS=y 612CONFIG_UNIX98_PTYS=y
578CONFIG_LEGACY_PTYS=y 613CONFIG_LEGACY_PTYS=y
579CONFIG_LEGACY_PTY_COUNT=256 614CONFIG_LEGACY_PTY_COUNT=256
615# CONFIG_BRIQ_PANEL is not set
616# CONFIG_HVC_RTAS is not set
580# CONFIG_IPMI_HANDLER is not set 617# CONFIG_IPMI_HANDLER is not set
581# CONFIG_HW_RANDOM is not set 618# CONFIG_HW_RANDOM is not set
582# CONFIG_NVRAM is not set 619# CONFIG_NVRAM is not set
@@ -588,42 +625,69 @@ CONFIG_DEVPORT=y
588CONFIG_I2C=y 625CONFIG_I2C=y
589CONFIG_I2C_BOARDINFO=y 626CONFIG_I2C_BOARDINFO=y
590CONFIG_I2C_CHARDEV=y 627CONFIG_I2C_CHARDEV=y
628CONFIG_I2C_HELPER_AUTO=y
591 629
592# 630#
593# I2C Hardware Bus support 631# I2C Hardware Bus support
594# 632#
633
634#
635# PC SMBus host controller drivers
636#
595# CONFIG_I2C_ALI1535 is not set 637# CONFIG_I2C_ALI1535 is not set
596# CONFIG_I2C_ALI1563 is not set 638# CONFIG_I2C_ALI1563 is not set
597# CONFIG_I2C_ALI15X3 is not set 639# CONFIG_I2C_ALI15X3 is not set
598# CONFIG_I2C_AMD756 is not set 640# CONFIG_I2C_AMD756 is not set
599# CONFIG_I2C_AMD8111 is not set 641# CONFIG_I2C_AMD8111 is not set
600# CONFIG_I2C_I801 is not set 642# CONFIG_I2C_I801 is not set
601# CONFIG_I2C_I810 is not set 643# CONFIG_I2C_ISCH is not set
602# CONFIG_I2C_PIIX4 is not set 644# CONFIG_I2C_PIIX4 is not set
603CONFIG_I2C_MPC=y
604# CONFIG_I2C_NFORCE2 is not set 645# CONFIG_I2C_NFORCE2 is not set
605# CONFIG_I2C_OCORES is not set
606# CONFIG_I2C_PARPORT_LIGHT is not set
607# CONFIG_I2C_PROSAVAGE is not set
608# CONFIG_I2C_SAVAGE4 is not set
609# CONFIG_I2C_SIMTEC is not set
610# CONFIG_I2C_SIS5595 is not set 646# CONFIG_I2C_SIS5595 is not set
611# CONFIG_I2C_SIS630 is not set 647# CONFIG_I2C_SIS630 is not set
612# CONFIG_I2C_SIS96X is not set 648# CONFIG_I2C_SIS96X is not set
613# CONFIG_I2C_TAOS_EVM is not set
614# CONFIG_I2C_STUB is not set
615# CONFIG_I2C_VIA is not set 649# CONFIG_I2C_VIA is not set
616# CONFIG_I2C_VIAPRO is not set 650# CONFIG_I2C_VIAPRO is not set
651
652#
653# Mac SMBus host controller drivers
654#
655# CONFIG_I2C_HYDRA is not set
656CONFIG_I2C_POWERMAC=y
657
658#
659# I2C system bus drivers (mostly embedded / system-on-chip)
660#
661CONFIG_I2C_MPC=y
662# CONFIG_I2C_OCORES is not set
663# CONFIG_I2C_SIMTEC is not set
664
665#
666# External I2C/SMBus adapter drivers
667#
668# CONFIG_I2C_PARPORT_LIGHT is not set
669# CONFIG_I2C_TAOS_EVM is not set
670
671#
672# Graphics adapter I2C/DDC channel drivers
673#
617# CONFIG_I2C_VOODOO3 is not set 674# CONFIG_I2C_VOODOO3 is not set
675
676#
677# Other I2C/SMBus bus drivers
678#
618# CONFIG_I2C_PCA_PLATFORM is not set 679# CONFIG_I2C_PCA_PLATFORM is not set
680# CONFIG_I2C_STUB is not set
619 681
620# 682#
621# Miscellaneous I2C Chip support 683# Miscellaneous I2C Chip support
622# 684#
623# CONFIG_DS1682 is not set 685# CONFIG_DS1682 is not set
686# CONFIG_AT24 is not set
624# CONFIG_SENSORS_EEPROM is not set 687# CONFIG_SENSORS_EEPROM is not set
625# CONFIG_SENSORS_PCF8574 is not set 688# CONFIG_SENSORS_PCF8574 is not set
626# CONFIG_PCF8575 is not set 689# CONFIG_PCF8575 is not set
690# CONFIG_SENSORS_PCA9539 is not set
627# CONFIG_SENSORS_PCF8591 is not set 691# CONFIG_SENSORS_PCF8591 is not set
628# CONFIG_SENSORS_MAX6875 is not set 692# CONFIG_SENSORS_MAX6875 is not set
629# CONFIG_SENSORS_TSL2550 is not set 693# CONFIG_SENSORS_TSL2550 is not set
@@ -632,10 +696,13 @@ CONFIG_I2C_MPC=y
632# CONFIG_I2C_DEBUG_BUS is not set 696# CONFIG_I2C_DEBUG_BUS is not set
633# CONFIG_I2C_DEBUG_CHIP is not set 697# CONFIG_I2C_DEBUG_CHIP is not set
634# CONFIG_SPI is not set 698# CONFIG_SPI is not set
699CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
700# CONFIG_GPIOLIB is not set
635# CONFIG_W1 is not set 701# CONFIG_W1 is not set
636# CONFIG_POWER_SUPPLY is not set 702# CONFIG_POWER_SUPPLY is not set
637CONFIG_HWMON=y 703CONFIG_HWMON=y
638# CONFIG_HWMON_VID is not set 704# CONFIG_HWMON_VID is not set
705# CONFIG_SENSORS_AD7414 is not set
639# CONFIG_SENSORS_AD7418 is not set 706# CONFIG_SENSORS_AD7418 is not set
640# CONFIG_SENSORS_ADM1021 is not set 707# CONFIG_SENSORS_ADM1021 is not set
641# CONFIG_SENSORS_ADM1025 is not set 708# CONFIG_SENSORS_ADM1025 is not set
@@ -645,6 +712,7 @@ CONFIG_HWMON=y
645# CONFIG_SENSORS_ADM9240 is not set 712# CONFIG_SENSORS_ADM9240 is not set
646# CONFIG_SENSORS_ADT7470 is not set 713# CONFIG_SENSORS_ADT7470 is not set
647# CONFIG_SENSORS_ADT7473 is not set 714# CONFIG_SENSORS_ADT7473 is not set
715# CONFIG_SENSORS_AMS is not set
648# CONFIG_SENSORS_ATXP1 is not set 716# CONFIG_SENSORS_ATXP1 is not set
649# CONFIG_SENSORS_DS1621 is not set 717# CONFIG_SENSORS_DS1621 is not set
650# CONFIG_SENSORS_I5K_AMB is not set 718# CONFIG_SENSORS_I5K_AMB is not set
@@ -689,6 +757,7 @@ CONFIG_HWMON=y
689# CONFIG_SENSORS_W83627EHF is not set 757# CONFIG_SENSORS_W83627EHF is not set
690# CONFIG_HWMON_DEBUG_CHIP is not set 758# CONFIG_HWMON_DEBUG_CHIP is not set
691# CONFIG_THERMAL is not set 759# CONFIG_THERMAL is not set
760# CONFIG_THERMAL_HWMON is not set
692CONFIG_WATCHDOG=y 761CONFIG_WATCHDOG=y
693# CONFIG_WATCHDOG_NOWAYOUT is not set 762# CONFIG_WATCHDOG_NOWAYOUT is not set
694 763
@@ -696,7 +765,9 @@ CONFIG_WATCHDOG=y
696# Watchdog Device Drivers 765# Watchdog Device Drivers
697# 766#
698# CONFIG_SOFT_WATCHDOG is not set 767# CONFIG_SOFT_WATCHDOG is not set
699CONFIG_83xx_WDT=y 768# CONFIG_ALIM7101_WDT is not set
769# CONFIG_8xxx_WDT is not set
770# CONFIG_WATCHDOG_RTAS is not set
700 771
701# 772#
702# PCI-based Watchdog Cards 773# PCI-based Watchdog Cards
@@ -713,8 +784,10 @@ CONFIG_SSB_POSSIBLE=y
713# 784#
714# Multifunction device drivers 785# Multifunction device drivers
715# 786#
787# CONFIG_MFD_CORE is not set
716# CONFIG_MFD_SM501 is not set 788# CONFIG_MFD_SM501 is not set
717# CONFIG_HTC_PASIC3 is not set 789# CONFIG_HTC_PASIC3 is not set
790# CONFIG_MFD_TMIO is not set
718 791
719# 792#
720# Multimedia devices 793# Multimedia devices
@@ -746,10 +819,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
746# Display device support 819# Display device support
747# 820#
748# CONFIG_DISPLAY_SUPPORT is not set 821# CONFIG_DISPLAY_SUPPORT is not set
749
750#
751# Sound
752#
753# CONFIG_SOUND is not set 822# CONFIG_SOUND is not set
754CONFIG_HID_SUPPORT=y 823CONFIG_HID_SUPPORT=y
755CONFIG_HID=y 824CONFIG_HID=y
@@ -764,6 +833,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
764# CONFIG_USB_OTG_BLACKLIST_HUB is not set 833# CONFIG_USB_OTG_BLACKLIST_HUB is not set
765 834
766# 835#
836# Enable Host or Gadget support to see Inventra options
837#
838
839#
767# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 840# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
768# 841#
769# CONFIG_USB_GADGET is not set 842# CONFIG_USB_GADGET is not set
@@ -802,6 +875,7 @@ CONFIG_RTC_DRV_DS1374=y
802# CONFIG_RTC_DRV_PCF8583 is not set 875# CONFIG_RTC_DRV_PCF8583 is not set
803# CONFIG_RTC_DRV_M41T80 is not set 876# CONFIG_RTC_DRV_M41T80 is not set
804# CONFIG_RTC_DRV_S35390A is not set 877# CONFIG_RTC_DRV_S35390A is not set
878# CONFIG_RTC_DRV_FM3130 is not set
805 879
806# 880#
807# SPI RTC drivers 881# SPI RTC drivers
@@ -890,6 +964,7 @@ CONFIG_TMPFS=y
890# CONFIG_CRAMFS is not set 964# CONFIG_CRAMFS is not set
891# CONFIG_VXFS_FS is not set 965# CONFIG_VXFS_FS is not set
892# CONFIG_MINIX_FS is not set 966# CONFIG_MINIX_FS is not set
967# CONFIG_OMFS_FS is not set
893# CONFIG_HPFS_FS is not set 968# CONFIG_HPFS_FS is not set
894# CONFIG_QNX4FS_FS is not set 969# CONFIG_QNX4FS_FS is not set
895# CONFIG_ROMFS_FS is not set 970# CONFIG_ROMFS_FS is not set
@@ -900,14 +975,13 @@ CONFIG_NFS_FS=y
900CONFIG_NFS_V3=y 975CONFIG_NFS_V3=y
901# CONFIG_NFS_V3_ACL is not set 976# CONFIG_NFS_V3_ACL is not set
902CONFIG_NFS_V4=y 977CONFIG_NFS_V4=y
903# CONFIG_NFSD is not set
904CONFIG_ROOT_NFS=y 978CONFIG_ROOT_NFS=y
979# CONFIG_NFSD is not set
905CONFIG_LOCKD=y 980CONFIG_LOCKD=y
906CONFIG_LOCKD_V4=y 981CONFIG_LOCKD_V4=y
907CONFIG_NFS_COMMON=y 982CONFIG_NFS_COMMON=y
908CONFIG_SUNRPC=y 983CONFIG_SUNRPC=y
909CONFIG_SUNRPC_GSS=y 984CONFIG_SUNRPC_GSS=y
910# CONFIG_SUNRPC_BIND34 is not set
911CONFIG_RPCSEC_GSS_KRB5=y 985CONFIG_RPCSEC_GSS_KRB5=y
912# CONFIG_RPCSEC_GSS_SPKM3 is not set 986# CONFIG_RPCSEC_GSS_SPKM3 is not set
913# CONFIG_SMB_FS is not set 987# CONFIG_SMB_FS is not set
@@ -943,6 +1017,7 @@ CONFIG_BITREVERSE=y
943# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1017# CONFIG_GENERIC_FIND_FIRST_BIT is not set
944# CONFIG_CRC_CCITT is not set 1018# CONFIG_CRC_CCITT is not set
945# CONFIG_CRC16 is not set 1019# CONFIG_CRC16 is not set
1020# CONFIG_CRC_T10DIF is not set
946# CONFIG_CRC_ITU_T is not set 1021# CONFIG_CRC_ITU_T is not set
947CONFIG_CRC32=y 1022CONFIG_CRC32=y
948# CONFIG_CRC7 is not set 1023# CONFIG_CRC7 is not set
@@ -968,8 +1043,18 @@ CONFIG_FRAME_WARN=1024
968# CONFIG_SLUB_DEBUG_ON is not set 1043# CONFIG_SLUB_DEBUG_ON is not set
969# CONFIG_SLUB_STATS is not set 1044# CONFIG_SLUB_STATS is not set
970# CONFIG_DEBUG_BUGVERBOSE is not set 1045# CONFIG_DEBUG_BUGVERBOSE is not set
1046# CONFIG_DEBUG_MEMORY_INIT is not set
1047# CONFIG_LATENCYTOP is not set
1048CONFIG_SYSCTL_SYSCALL_CHECK=y
1049CONFIG_HAVE_FTRACE=y
1050CONFIG_HAVE_DYNAMIC_FTRACE=y
1051# CONFIG_FTRACE is not set
1052# CONFIG_SCHED_TRACER is not set
1053# CONFIG_CONTEXT_SWITCH_TRACER is not set
971# CONFIG_SAMPLES is not set 1054# CONFIG_SAMPLES is not set
1055CONFIG_HAVE_ARCH_KGDB=y
972# CONFIG_IRQSTACKS is not set 1056# CONFIG_IRQSTACKS is not set
1057# CONFIG_BOOTX_TEXT is not set
973# CONFIG_PPC_EARLY_DEBUG is not set 1058# CONFIG_PPC_EARLY_DEBUG is not set
974 1059
975# 1060#
@@ -1023,6 +1108,10 @@ CONFIG_CRYPTO_PCBC=m
1023# CONFIG_CRYPTO_MD4 is not set 1108# CONFIG_CRYPTO_MD4 is not set
1024CONFIG_CRYPTO_MD5=y 1109CONFIG_CRYPTO_MD5=y
1025# CONFIG_CRYPTO_MICHAEL_MIC is not set 1110# CONFIG_CRYPTO_MICHAEL_MIC is not set
1111# CONFIG_CRYPTO_RMD128 is not set
1112# CONFIG_CRYPTO_RMD160 is not set
1113# CONFIG_CRYPTO_RMD256 is not set
1114# CONFIG_CRYPTO_RMD320 is not set
1026# CONFIG_CRYPTO_SHA1 is not set 1115# CONFIG_CRYPTO_SHA1 is not set
1027# CONFIG_CRYPTO_SHA256 is not set 1116# CONFIG_CRYPTO_SHA256 is not set
1028# CONFIG_CRYPTO_SHA512 is not set 1117# CONFIG_CRYPTO_SHA512 is not set
@@ -1055,5 +1144,6 @@ CONFIG_CRYPTO_DES=y
1055# CONFIG_CRYPTO_LZO is not set 1144# CONFIG_CRYPTO_LZO is not set
1056CONFIG_CRYPTO_HW=y 1145CONFIG_CRYPTO_HW=y
1057# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1146# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1147# CONFIG_CRYPTO_DEV_TALITOS is not set
1058# CONFIG_PPC_CLOCK is not set 1148# CONFIG_PPC_CLOCK is not set
1059# CONFIG_VIRTUALIZATION is not set 1149# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
index 20fd9f58cf42..e029e9e14622 100644
--- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:27 2008 4# Thu Aug 21 00:52:22 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,10 +116,16 @@ CONFIG_SLUB=y
111# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
116# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
117CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
118CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
120# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -125,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
125# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
126# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
127# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
128# CONFIG_KMOD is not set 139CONFIG_KMOD=y
129CONFIG_BLOCK=y 140CONFIG_BLOCK=y
130# CONFIG_LBD is not set 141# CONFIG_LBD is not set
131# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
132# CONFIG_LSF is not set 143# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
134 146
135# 147#
136# IO Schedulers 148# IO Schedulers
@@ -149,36 +161,48 @@ CONFIG_CLASSIC_RCU=y
149# 161#
150# Platform support 162# Platform support
151# 163#
152# CONFIG_PPC_MULTIPLATFORM is not set 164CONFIG_PPC_MULTIPLATFORM=y
153# CONFIG_PPC_82xx is not set 165CONFIG_CLASSIC32=y
154CONFIG_PPC_83xx=y 166CONFIG_PPC_CHRP=y
155# CONFIG_PPC_86xx is not set 167# CONFIG_MPC5121_ADS is not set
156# CONFIG_PPC_MPC512x is not set 168# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC5121 is not set 169# CONFIG_PPC_MPC52xx is not set
170CONFIG_PPC_PMAC=y
158# CONFIG_PPC_CELL is not set 171# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 172# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 174# CONFIG_PQ2ADS is not set
161CONFIG_MPC83xx=y 175CONFIG_PPC_83xx=y
162# CONFIG_MPC831x_RDB is not set 176# CONFIG_MPC831x_RDB is not set
163# CONFIG_MPC832x_MDS is not set 177# CONFIG_MPC832x_MDS is not set
164# CONFIG_MPC832x_RDB is not set 178# CONFIG_MPC832x_RDB is not set
165# CONFIG_MPC834x_MDS is not set 179# CONFIG_MPC834x_MDS is not set
166# CONFIG_MPC834x_ITX is not set 180# CONFIG_MPC834x_ITX is not set
167CONFIG_MPC836x_MDS=y 181CONFIG_MPC836x_MDS=y
182# CONFIG_MPC836x_RDK is not set
168# CONFIG_MPC837x_MDS is not set 183# CONFIG_MPC837x_MDS is not set
169# CONFIG_MPC837x_RDB is not set 184# CONFIG_MPC837x_RDB is not set
170# CONFIG_SBC834x is not set 185# CONFIG_SBC834x is not set
186# CONFIG_ASP834x is not set
187# CONFIG_PPC_86xx is not set
188# CONFIG_EMBEDDED6xx is not set
189CONFIG_PPC_NATIVE=y
190# CONFIG_UDBG_RTAS_CONSOLE is not set
171CONFIG_IPIC=y 191CONFIG_IPIC=y
172# CONFIG_MPIC is not set 192CONFIG_MPIC=y
173# CONFIG_MPIC_WEIRD is not set 193# CONFIG_MPIC_WEIRD is not set
174# CONFIG_PPC_I8259 is not set 194CONFIG_PPC_I8259=y
175# CONFIG_PPC_RTAS is not set 195CONFIG_PPC_RTAS=y
196# CONFIG_RTAS_ERROR_LOGGING is not set
197CONFIG_RTAS_PROC=y
176# CONFIG_MMIO_NVRAM is not set 198# CONFIG_MMIO_NVRAM is not set
177# CONFIG_PPC_MPC106 is not set 199CONFIG_PPC_MPC106=y
178# CONFIG_PPC_970_NAP is not set 200# CONFIG_PPC_970_NAP is not set
179# CONFIG_PPC_INDIRECT_IO is not set 201# CONFIG_PPC_INDIRECT_IO is not set
180# CONFIG_GENERIC_IOMAP is not set 202# CONFIG_GENERIC_IOMAP is not set
181# CONFIG_CPU_FREQ is not set 203# CONFIG_CPU_FREQ is not set
204# CONFIG_PPC601_SYNC_FIX is not set
205# CONFIG_TAU is not set
182CONFIG_QUICC_ENGINE=y 206CONFIG_QUICC_ENGINE=y
183# CONFIG_FSL_ULI1575 is not set 207# CONFIG_FSL_ULI1575 is not set
184 208
@@ -195,7 +219,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 219# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 220# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 221CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 222CONFIG_SCHED_HRTICK=y
199CONFIG_PREEMPT_NONE=y 223CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 224# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 225# CONFIG_PREEMPT is not set
@@ -205,6 +229,7 @@ CONFIG_BINFMT_ELF=y
205CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
206CONFIG_ARCH_HAS_WALK_MEMORY=y 230CONFIG_ARCH_HAS_WALK_MEMORY=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 231CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
232# CONFIG_KEXEC is not set
208CONFIG_ARCH_FLATMEM_ENABLE=y 233CONFIG_ARCH_FLATMEM_ENABLE=y
209CONFIG_ARCH_POPULATES_NODE_MAP=y 234CONFIG_ARCH_POPULATES_NODE_MAP=y
210CONFIG_SELECT_MEMORY_MODEL=y 235CONFIG_SELECT_MEMORY_MODEL=y
@@ -217,6 +242,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 247CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 248CONFIG_BOUNCE=y
@@ -224,6 +250,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
253CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 254# CONFIG_PM is not set
228CONFIG_SECCOMP=y 255CONFIG_SECCOMP=y
229CONFIG_ISA_DMA_API=y 256CONFIG_ISA_DMA_API=y
@@ -231,10 +258,13 @@ CONFIG_ISA_DMA_API=y
231# 258#
232# Bus options 259# Bus options
233# 260#
261# CONFIG_ISA is not set
234CONFIG_ZONE_DMA=y 262CONFIG_ZONE_DMA=y
235CONFIG_GENERIC_ISA_DMA=y 263CONFIG_GENERIC_ISA_DMA=y
236CONFIG_PPC_INDIRECT_PCI=y 264CONFIG_PPC_INDIRECT_PCI=y
237CONFIG_FSL_SOC=y 265CONFIG_FSL_SOC=y
266CONFIG_FSL_PCI=y
267CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 268CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 269CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 270CONFIG_PCI_SYSCALL=y
@@ -259,10 +289,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
259CONFIG_KERNEL_START=0xc0000000 289CONFIG_KERNEL_START=0xc0000000
260CONFIG_PHYSICAL_START=0x00000000 290CONFIG_PHYSICAL_START=0x00000000
261CONFIG_TASK_SIZE=0xc0000000 291CONFIG_TASK_SIZE=0xc0000000
262
263#
264# Networking
265#
266CONFIG_NET=y 292CONFIG_NET=y
267 293
268# 294#
@@ -363,6 +389,7 @@ CONFIG_OF_I2C=y
363# CONFIG_PARPORT is not set 389# CONFIG_PARPORT is not set
364CONFIG_BLK_DEV=y 390CONFIG_BLK_DEV=y
365# CONFIG_BLK_DEV_FD is not set 391# CONFIG_BLK_DEV_FD is not set
392# CONFIG_MAC_FLOPPY is not set
366# CONFIG_BLK_CPQ_DA is not set 393# CONFIG_BLK_CPQ_DA is not set
367# CONFIG_BLK_CPQ_CISS_DA is not set 394# CONFIG_BLK_CPQ_CISS_DA is not set
368# CONFIG_BLK_DEV_DAC960 is not set 395# CONFIG_BLK_DEV_DAC960 is not set
@@ -378,12 +405,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
378# CONFIG_BLK_DEV_XIP is not set 405# CONFIG_BLK_DEV_XIP is not set
379# CONFIG_CDROM_PKTCDVD is not set 406# CONFIG_CDROM_PKTCDVD is not set
380# CONFIG_ATA_OVER_ETH is not set 407# CONFIG_ATA_OVER_ETH is not set
408# CONFIG_BLK_DEV_HD is not set
381CONFIG_MISC_DEVICES=y 409CONFIG_MISC_DEVICES=y
382# CONFIG_PHANTOM is not set 410# CONFIG_PHANTOM is not set
383# CONFIG_EEPROM_93CX6 is not set 411# CONFIG_EEPROM_93CX6 is not set
384# CONFIG_SGI_IOC4 is not set 412# CONFIG_SGI_IOC4 is not set
385# CONFIG_TIFM_CORE is not set 413# CONFIG_TIFM_CORE is not set
386# CONFIG_ENCLOSURE_SERVICES is not set 414# CONFIG_ENCLOSURE_SERVICES is not set
415# CONFIG_HP_ILO is not set
387CONFIG_HAVE_IDE=y 416CONFIG_HAVE_IDE=y
388# CONFIG_IDE is not set 417# CONFIG_IDE is not set
389 418
@@ -460,7 +489,10 @@ CONFIG_SCSI_LOWLEVEL=y
460# CONFIG_SCSI_DC390T is not set 489# CONFIG_SCSI_DC390T is not set
461# CONFIG_SCSI_NSP32 is not set 490# CONFIG_SCSI_NSP32 is not set
462# CONFIG_SCSI_DEBUG is not set 491# CONFIG_SCSI_DEBUG is not set
492# CONFIG_SCSI_MESH is not set
493# CONFIG_SCSI_MAC53C94 is not set
463# CONFIG_SCSI_SRP is not set 494# CONFIG_SCSI_SRP is not set
495# CONFIG_SCSI_DH is not set
464# CONFIG_ATA is not set 496# CONFIG_ATA is not set
465# CONFIG_MD is not set 497# CONFIG_MD is not set
466# CONFIG_FUSION is not set 498# CONFIG_FUSION is not set
@@ -468,12 +500,15 @@ CONFIG_SCSI_LOWLEVEL=y
468# 500#
469# IEEE 1394 (FireWire) support 501# IEEE 1394 (FireWire) support
470# 502#
503
504#
505# Enable only one of the two stacks, unless you know what you are doing
506#
471# CONFIG_FIREWIRE is not set 507# CONFIG_FIREWIRE is not set
472# CONFIG_IEEE1394 is not set 508# CONFIG_IEEE1394 is not set
473# CONFIG_I2O is not set 509# CONFIG_I2O is not set
474# CONFIG_MACINTOSH_DRIVERS is not set 510# CONFIG_MACINTOSH_DRIVERS is not set
475CONFIG_NETDEVICES=y 511CONFIG_NETDEVICES=y
476# CONFIG_NETDEVICES_MULTIQUEUE is not set
477# CONFIG_DUMMY is not set 512# CONFIG_DUMMY is not set
478# CONFIG_BONDING is not set 513# CONFIG_BONDING is not set
479# CONFIG_MACVLAN is not set 514# CONFIG_MACVLAN is not set
@@ -500,6 +535,8 @@ CONFIG_MARVELL_PHY=y
500# CONFIG_MDIO_BITBANG is not set 535# CONFIG_MDIO_BITBANG is not set
501CONFIG_NET_ETHERNET=y 536CONFIG_NET_ETHERNET=y
502CONFIG_MII=y 537CONFIG_MII=y
538# CONFIG_MACE is not set
539# CONFIG_BMAC is not set
503# CONFIG_HAPPYMEAL is not set 540# CONFIG_HAPPYMEAL is not set
504# CONFIG_SUNGEM is not set 541# CONFIG_SUNGEM is not set
505# CONFIG_CASSINI is not set 542# CONFIG_CASSINI is not set
@@ -517,7 +554,6 @@ CONFIG_NETDEV_1000=y
517# CONFIG_DL2K is not set 554# CONFIG_DL2K is not set
518# CONFIG_E1000 is not set 555# CONFIG_E1000 is not set
519# CONFIG_E1000E is not set 556# CONFIG_E1000E is not set
520# CONFIG_E1000E_ENABLED is not set
521# CONFIG_IP1000 is not set 557# CONFIG_IP1000 is not set
522# CONFIG_IGB is not set 558# CONFIG_IGB is not set
523# CONFIG_NS83820 is not set 559# CONFIG_NS83820 is not set
@@ -532,12 +568,13 @@ CONFIG_NETDEV_1000=y
532# CONFIG_BNX2 is not set 568# CONFIG_BNX2 is not set
533# CONFIG_GIANFAR is not set 569# CONFIG_GIANFAR is not set
534CONFIG_UCC_GETH=y 570CONFIG_UCC_GETH=y
535# CONFIG_UGETH_NAPI is not set
536# CONFIG_UGETH_MAGIC_PACKET is not set 571# CONFIG_UGETH_MAGIC_PACKET is not set
537# CONFIG_UGETH_FILTERING is not set 572# CONFIG_UGETH_FILTERING is not set
538# CONFIG_UGETH_TX_ON_DEMAND is not set 573# CONFIG_UGETH_TX_ON_DEMAND is not set
574# CONFIG_MV643XX_ETH is not set
539# CONFIG_QLA3XXX is not set 575# CONFIG_QLA3XXX is not set
540# CONFIG_ATL1 is not set 576# CONFIG_ATL1 is not set
577# CONFIG_ATL1E is not set
541CONFIG_NETDEV_10000=y 578CONFIG_NETDEV_10000=y
542# CONFIG_CHELSIO_T1 is not set 579# CONFIG_CHELSIO_T1 is not set
543# CONFIG_CHELSIO_T3 is not set 580# CONFIG_CHELSIO_T3 is not set
@@ -626,12 +663,15 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
626# CONFIG_SERIAL_UARTLITE is not set 663# CONFIG_SERIAL_UARTLITE is not set
627CONFIG_SERIAL_CORE=y 664CONFIG_SERIAL_CORE=y
628CONFIG_SERIAL_CORE_CONSOLE=y 665CONFIG_SERIAL_CORE_CONSOLE=y
666# CONFIG_SERIAL_PMACZILOG is not set
629# CONFIG_SERIAL_JSM is not set 667# CONFIG_SERIAL_JSM is not set
630# CONFIG_SERIAL_OF_PLATFORM is not set 668# CONFIG_SERIAL_OF_PLATFORM is not set
631# CONFIG_SERIAL_QE is not set 669# CONFIG_SERIAL_QE is not set
632CONFIG_UNIX98_PTYS=y 670CONFIG_UNIX98_PTYS=y
633CONFIG_LEGACY_PTYS=y 671CONFIG_LEGACY_PTYS=y
634CONFIG_LEGACY_PTY_COUNT=256 672CONFIG_LEGACY_PTY_COUNT=256
673# CONFIG_BRIQ_PANEL is not set
674# CONFIG_HVC_RTAS is not set
635# CONFIG_IPMI_HANDLER is not set 675# CONFIG_IPMI_HANDLER is not set
636CONFIG_HW_RANDOM=y 676CONFIG_HW_RANDOM=y
637# CONFIG_NVRAM is not set 677# CONFIG_NVRAM is not set
@@ -643,42 +683,69 @@ CONFIG_DEVPORT=y
643CONFIG_I2C=y 683CONFIG_I2C=y
644CONFIG_I2C_BOARDINFO=y 684CONFIG_I2C_BOARDINFO=y
645CONFIG_I2C_CHARDEV=y 685CONFIG_I2C_CHARDEV=y
686CONFIG_I2C_HELPER_AUTO=y
646 687
647# 688#
648# I2C Hardware Bus support 689# I2C Hardware Bus support
649# 690#
691
692#
693# PC SMBus host controller drivers
694#
650# CONFIG_I2C_ALI1535 is not set 695# CONFIG_I2C_ALI1535 is not set
651# CONFIG_I2C_ALI1563 is not set 696# CONFIG_I2C_ALI1563 is not set
652# CONFIG_I2C_ALI15X3 is not set 697# CONFIG_I2C_ALI15X3 is not set
653# CONFIG_I2C_AMD756 is not set 698# CONFIG_I2C_AMD756 is not set
654# CONFIG_I2C_AMD8111 is not set 699# CONFIG_I2C_AMD8111 is not set
655# CONFIG_I2C_I801 is not set 700# CONFIG_I2C_I801 is not set
656# CONFIG_I2C_I810 is not set 701# CONFIG_I2C_ISCH is not set
657# CONFIG_I2C_PIIX4 is not set 702# CONFIG_I2C_PIIX4 is not set
658CONFIG_I2C_MPC=y
659# CONFIG_I2C_NFORCE2 is not set 703# CONFIG_I2C_NFORCE2 is not set
660# CONFIG_I2C_OCORES is not set
661# CONFIG_I2C_PARPORT_LIGHT is not set
662# CONFIG_I2C_PROSAVAGE is not set
663# CONFIG_I2C_SAVAGE4 is not set
664# CONFIG_I2C_SIMTEC is not set
665# CONFIG_I2C_SIS5595 is not set 704# CONFIG_I2C_SIS5595 is not set
666# CONFIG_I2C_SIS630 is not set 705# CONFIG_I2C_SIS630 is not set
667# CONFIG_I2C_SIS96X is not set 706# CONFIG_I2C_SIS96X is not set
668# CONFIG_I2C_TAOS_EVM is not set
669# CONFIG_I2C_STUB is not set
670# CONFIG_I2C_VIA is not set 707# CONFIG_I2C_VIA is not set
671# CONFIG_I2C_VIAPRO is not set 708# CONFIG_I2C_VIAPRO is not set
709
710#
711# Mac SMBus host controller drivers
712#
713# CONFIG_I2C_HYDRA is not set
714CONFIG_I2C_POWERMAC=y
715
716#
717# I2C system bus drivers (mostly embedded / system-on-chip)
718#
719CONFIG_I2C_MPC=y
720# CONFIG_I2C_OCORES is not set
721# CONFIG_I2C_SIMTEC is not set
722
723#
724# External I2C/SMBus adapter drivers
725#
726# CONFIG_I2C_PARPORT_LIGHT is not set
727# CONFIG_I2C_TAOS_EVM is not set
728
729#
730# Graphics adapter I2C/DDC channel drivers
731#
672# CONFIG_I2C_VOODOO3 is not set 732# CONFIG_I2C_VOODOO3 is not set
733
734#
735# Other I2C/SMBus bus drivers
736#
673# CONFIG_I2C_PCA_PLATFORM is not set 737# CONFIG_I2C_PCA_PLATFORM is not set
738# CONFIG_I2C_STUB is not set
674 739
675# 740#
676# Miscellaneous I2C Chip support 741# Miscellaneous I2C Chip support
677# 742#
678# CONFIG_DS1682 is not set 743# CONFIG_DS1682 is not set
744# CONFIG_AT24 is not set
679# CONFIG_SENSORS_EEPROM is not set 745# CONFIG_SENSORS_EEPROM is not set
680# CONFIG_SENSORS_PCF8574 is not set 746# CONFIG_SENSORS_PCF8574 is not set
681# CONFIG_PCF8575 is not set 747# CONFIG_PCF8575 is not set
748# CONFIG_SENSORS_PCA9539 is not set
682# CONFIG_SENSORS_PCF8591 is not set 749# CONFIG_SENSORS_PCF8591 is not set
683# CONFIG_SENSORS_MAX6875 is not set 750# CONFIG_SENSORS_MAX6875 is not set
684# CONFIG_SENSORS_TSL2550 is not set 751# CONFIG_SENSORS_TSL2550 is not set
@@ -687,10 +754,13 @@ CONFIG_I2C_MPC=y
687# CONFIG_I2C_DEBUG_BUS is not set 754# CONFIG_I2C_DEBUG_BUS is not set
688# CONFIG_I2C_DEBUG_CHIP is not set 755# CONFIG_I2C_DEBUG_CHIP is not set
689# CONFIG_SPI is not set 756# CONFIG_SPI is not set
757CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
758# CONFIG_GPIOLIB is not set
690# CONFIG_W1 is not set 759# CONFIG_W1 is not set
691# CONFIG_POWER_SUPPLY is not set 760# CONFIG_POWER_SUPPLY is not set
692CONFIG_HWMON=y 761CONFIG_HWMON=y
693# CONFIG_HWMON_VID is not set 762# CONFIG_HWMON_VID is not set
763# CONFIG_SENSORS_AD7414 is not set
694# CONFIG_SENSORS_AD7418 is not set 764# CONFIG_SENSORS_AD7418 is not set
695# CONFIG_SENSORS_ADM1021 is not set 765# CONFIG_SENSORS_ADM1021 is not set
696# CONFIG_SENSORS_ADM1025 is not set 766# CONFIG_SENSORS_ADM1025 is not set
@@ -700,6 +770,7 @@ CONFIG_HWMON=y
700# CONFIG_SENSORS_ADM9240 is not set 770# CONFIG_SENSORS_ADM9240 is not set
701# CONFIG_SENSORS_ADT7470 is not set 771# CONFIG_SENSORS_ADT7470 is not set
702# CONFIG_SENSORS_ADT7473 is not set 772# CONFIG_SENSORS_ADT7473 is not set
773# CONFIG_SENSORS_AMS is not set
703# CONFIG_SENSORS_ATXP1 is not set 774# CONFIG_SENSORS_ATXP1 is not set
704# CONFIG_SENSORS_DS1621 is not set 775# CONFIG_SENSORS_DS1621 is not set
705# CONFIG_SENSORS_I5K_AMB is not set 776# CONFIG_SENSORS_I5K_AMB is not set
@@ -744,6 +815,7 @@ CONFIG_HWMON=y
744# CONFIG_SENSORS_W83627EHF is not set 815# CONFIG_SENSORS_W83627EHF is not set
745# CONFIG_HWMON_DEBUG_CHIP is not set 816# CONFIG_HWMON_DEBUG_CHIP is not set
746# CONFIG_THERMAL is not set 817# CONFIG_THERMAL is not set
818# CONFIG_THERMAL_HWMON is not set
747CONFIG_WATCHDOG=y 819CONFIG_WATCHDOG=y
748# CONFIG_WATCHDOG_NOWAYOUT is not set 820# CONFIG_WATCHDOG_NOWAYOUT is not set
749 821
@@ -751,7 +823,9 @@ CONFIG_WATCHDOG=y
751# Watchdog Device Drivers 823# Watchdog Device Drivers
752# 824#
753# CONFIG_SOFT_WATCHDOG is not set 825# CONFIG_SOFT_WATCHDOG is not set
754CONFIG_83xx_WDT=y 826# CONFIG_ALIM7101_WDT is not set
827# CONFIG_8xxx_WDT is not set
828# CONFIG_WATCHDOG_RTAS is not set
755 829
756# 830#
757# PCI-based Watchdog Cards 831# PCI-based Watchdog Cards
@@ -768,8 +842,10 @@ CONFIG_SSB_POSSIBLE=y
768# 842#
769# Multifunction device drivers 843# Multifunction device drivers
770# 844#
845# CONFIG_MFD_CORE is not set
771# CONFIG_MFD_SM501 is not set 846# CONFIG_MFD_SM501 is not set
772# CONFIG_HTC_PASIC3 is not set 847# CONFIG_HTC_PASIC3 is not set
848# CONFIG_MFD_TMIO is not set
773 849
774# 850#
775# Multimedia devices 851# Multimedia devices
@@ -801,10 +877,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
801# Display device support 877# Display device support
802# 878#
803# CONFIG_DISPLAY_SUPPORT is not set 879# CONFIG_DISPLAY_SUPPORT is not set
804
805#
806# Sound
807#
808# CONFIG_SOUND is not set 880# CONFIG_SOUND is not set
809CONFIG_HID_SUPPORT=y 881CONFIG_HID_SUPPORT=y
810CONFIG_HID=y 882CONFIG_HID=y
@@ -819,6 +891,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
819# CONFIG_USB_OTG_BLACKLIST_HUB is not set 891# CONFIG_USB_OTG_BLACKLIST_HUB is not set
820 892
821# 893#
894# Enable Host or Gadget support to see Inventra options
895#
896
897#
822# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 898# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
823# 899#
824# CONFIG_USB_GADGET is not set 900# CONFIG_USB_GADGET is not set
@@ -857,6 +933,7 @@ CONFIG_RTC_DRV_DS1374=y
857# CONFIG_RTC_DRV_PCF8583 is not set 933# CONFIG_RTC_DRV_PCF8583 is not set
858# CONFIG_RTC_DRV_M41T80 is not set 934# CONFIG_RTC_DRV_M41T80 is not set
859# CONFIG_RTC_DRV_S35390A is not set 935# CONFIG_RTC_DRV_S35390A is not set
936# CONFIG_RTC_DRV_FM3130 is not set
860 937
861# 938#
862# SPI RTC drivers 939# SPI RTC drivers
@@ -945,6 +1022,7 @@ CONFIG_TMPFS=y
945# CONFIG_CRAMFS is not set 1022# CONFIG_CRAMFS is not set
946# CONFIG_VXFS_FS is not set 1023# CONFIG_VXFS_FS is not set
947# CONFIG_MINIX_FS is not set 1024# CONFIG_MINIX_FS is not set
1025# CONFIG_OMFS_FS is not set
948# CONFIG_HPFS_FS is not set 1026# CONFIG_HPFS_FS is not set
949# CONFIG_QNX4FS_FS is not set 1027# CONFIG_QNX4FS_FS is not set
950# CONFIG_ROMFS_FS is not set 1028# CONFIG_ROMFS_FS is not set
@@ -955,14 +1033,13 @@ CONFIG_NFS_FS=y
955CONFIG_NFS_V3=y 1033CONFIG_NFS_V3=y
956# CONFIG_NFS_V3_ACL is not set 1034# CONFIG_NFS_V3_ACL is not set
957CONFIG_NFS_V4=y 1035CONFIG_NFS_V4=y
958# CONFIG_NFSD is not set
959CONFIG_ROOT_NFS=y 1036CONFIG_ROOT_NFS=y
1037# CONFIG_NFSD is not set
960CONFIG_LOCKD=y 1038CONFIG_LOCKD=y
961CONFIG_LOCKD_V4=y 1039CONFIG_LOCKD_V4=y
962CONFIG_NFS_COMMON=y 1040CONFIG_NFS_COMMON=y
963CONFIG_SUNRPC=y 1041CONFIG_SUNRPC=y
964CONFIG_SUNRPC_GSS=y 1042CONFIG_SUNRPC_GSS=y
965# CONFIG_SUNRPC_BIND34 is not set
966CONFIG_RPCSEC_GSS_KRB5=y 1043CONFIG_RPCSEC_GSS_KRB5=y
967# CONFIG_RPCSEC_GSS_SPKM3 is not set 1044# CONFIG_RPCSEC_GSS_SPKM3 is not set
968# CONFIG_SMB_FS is not set 1045# CONFIG_SMB_FS is not set
@@ -992,6 +1069,7 @@ CONFIG_PARTITION_ADVANCED=y
992# CONFIG_DLM is not set 1069# CONFIG_DLM is not set
993CONFIG_UCC_FAST=y 1070CONFIG_UCC_FAST=y
994CONFIG_UCC=y 1071CONFIG_UCC=y
1072# CONFIG_QE_GPIO is not set
995 1073
996# 1074#
997# Library routines 1075# Library routines
@@ -1000,6 +1078,7 @@ CONFIG_BITREVERSE=y
1000# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1078# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1001# CONFIG_CRC_CCITT is not set 1079# CONFIG_CRC_CCITT is not set
1002# CONFIG_CRC16 is not set 1080# CONFIG_CRC16 is not set
1081# CONFIG_CRC_T10DIF is not set
1003# CONFIG_CRC_ITU_T is not set 1082# CONFIG_CRC_ITU_T is not set
1004CONFIG_CRC32=y 1083CONFIG_CRC32=y
1005# CONFIG_CRC7 is not set 1084# CONFIG_CRC7 is not set
@@ -1025,8 +1104,18 @@ CONFIG_FRAME_WARN=1024
1025# CONFIG_SLUB_DEBUG_ON is not set 1104# CONFIG_SLUB_DEBUG_ON is not set
1026# CONFIG_SLUB_STATS is not set 1105# CONFIG_SLUB_STATS is not set
1027# CONFIG_DEBUG_BUGVERBOSE is not set 1106# CONFIG_DEBUG_BUGVERBOSE is not set
1107# CONFIG_DEBUG_MEMORY_INIT is not set
1108# CONFIG_LATENCYTOP is not set
1109CONFIG_SYSCTL_SYSCALL_CHECK=y
1110CONFIG_HAVE_FTRACE=y
1111CONFIG_HAVE_DYNAMIC_FTRACE=y
1112# CONFIG_FTRACE is not set
1113# CONFIG_SCHED_TRACER is not set
1114# CONFIG_CONTEXT_SWITCH_TRACER is not set
1028# CONFIG_SAMPLES is not set 1115# CONFIG_SAMPLES is not set
1116CONFIG_HAVE_ARCH_KGDB=y
1029# CONFIG_IRQSTACKS is not set 1117# CONFIG_IRQSTACKS is not set
1118# CONFIG_BOOTX_TEXT is not set
1030# CONFIG_PPC_EARLY_DEBUG is not set 1119# CONFIG_PPC_EARLY_DEBUG is not set
1031 1120
1032# 1121#
@@ -1080,6 +1169,10 @@ CONFIG_CRYPTO_PCBC=m
1080# CONFIG_CRYPTO_MD4 is not set 1169# CONFIG_CRYPTO_MD4 is not set
1081CONFIG_CRYPTO_MD5=y 1170CONFIG_CRYPTO_MD5=y
1082# CONFIG_CRYPTO_MICHAEL_MIC is not set 1171# CONFIG_CRYPTO_MICHAEL_MIC is not set
1172# CONFIG_CRYPTO_RMD128 is not set
1173# CONFIG_CRYPTO_RMD160 is not set
1174# CONFIG_CRYPTO_RMD256 is not set
1175# CONFIG_CRYPTO_RMD320 is not set
1083# CONFIG_CRYPTO_SHA1 is not set 1176# CONFIG_CRYPTO_SHA1 is not set
1084# CONFIG_CRYPTO_SHA256 is not set 1177# CONFIG_CRYPTO_SHA256 is not set
1085# CONFIG_CRYPTO_SHA512 is not set 1178# CONFIG_CRYPTO_SHA512 is not set
@@ -1112,6 +1205,7 @@ CONFIG_CRYPTO_DES=y
1112# CONFIG_CRYPTO_LZO is not set 1205# CONFIG_CRYPTO_LZO is not set
1113CONFIG_CRYPTO_HW=y 1206CONFIG_CRYPTO_HW=y
1114# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1207# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1208# CONFIG_CRYPTO_DEV_TALITOS is not set
1115# CONFIG_PPC_CLOCK is not set 1209# CONFIG_PPC_CLOCK is not set
1116CONFIG_PPC_LIB_RHEAP=y 1210CONFIG_PPC_LIB_RHEAP=y
1117# CONFIG_VIRTUALIZATION is not set 1211# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
index d2c435f0da42..7d674be702fe 100644
--- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc2 3# Linux kernel version: 2.6.27-rc4
4# Mon May 19 21:12:32 2008 4# Thu Aug 21 00:52:24 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -52,6 +54,9 @@ CONFIG_PPC_UDBG_16550=y
52CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
53CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
54CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
57CONFIG_HIBERNATE_32=y
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_ARCH_SUSPEND_POSSIBLE=y
55# CONFIG_PPC_DCR_NATIVE is not set 60# CONFIG_PPC_DCR_NATIVE is not set
56# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 62CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -89,12 +94,12 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 95CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 97# CONFIG_KALLSYMS is not set
94CONFIG_HOTPLUG=y 98CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 99CONFIG_PRINTK=y
96CONFIG_BUG=y 100CONFIG_BUG=y
97CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
98CONFIG_COMPAT_BRK=y 103CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 105CONFIG_FUTEX=y
@@ -112,10 +117,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 117# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 118# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 119CONFIG_HAVE_OPROFILE=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -126,12 +137,13 @@ CONFIG_MODULE_UNLOAD=y
126# CONFIG_MODULE_FORCE_UNLOAD is not set 137# CONFIG_MODULE_FORCE_UNLOAD is not set
127# CONFIG_MODVERSIONS is not set 138# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 139# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set 140CONFIG_KMOD=y
130CONFIG_BLOCK=y 141CONFIG_BLOCK=y
131# CONFIG_LBD is not set 142# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set 143# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 144# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set
135 147
136# 148#
137# IO Schedulers 149# IO Schedulers
@@ -150,16 +162,18 @@ CONFIG_CLASSIC_RCU=y
150# 162#
151# Platform support 163# Platform support
152# 164#
153# CONFIG_PPC_MULTIPLATFORM is not set 165CONFIG_PPC_MULTIPLATFORM=y
154# CONFIG_PPC_82xx is not set 166CONFIG_CLASSIC32=y
155CONFIG_PPC_83xx=y 167CONFIG_PPC_CHRP=y
156# CONFIG_PPC_86xx is not set 168# CONFIG_MPC5121_ADS is not set
157# CONFIG_PPC_MPC512x is not set 169# CONFIG_MPC5121_GENERIC is not set
158# CONFIG_PPC_MPC5121 is not set 170# CONFIG_PPC_MPC52xx is not set
171CONFIG_PPC_PMAC=y
159# CONFIG_PPC_CELL is not set 172# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 173# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set
161# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
162CONFIG_MPC83xx=y 176CONFIG_PPC_83xx=y
163# CONFIG_MPC831x_RDB is not set 177# CONFIG_MPC831x_RDB is not set
164# CONFIG_MPC832x_MDS is not set 178# CONFIG_MPC832x_MDS is not set
165# CONFIG_MPC832x_RDB is not set 179# CONFIG_MPC832x_RDB is not set
@@ -170,17 +184,26 @@ CONFIG_MPC836x_RDK=y
170# CONFIG_MPC837x_MDS is not set 184# CONFIG_MPC837x_MDS is not set
171# CONFIG_MPC837x_RDB is not set 185# CONFIG_MPC837x_RDB is not set
172# CONFIG_SBC834x is not set 186# CONFIG_SBC834x is not set
187# CONFIG_ASP834x is not set
188# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
173CONFIG_IPIC=y 192CONFIG_IPIC=y
174# CONFIG_MPIC is not set 193CONFIG_MPIC=y
175# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
176# CONFIG_PPC_I8259 is not set 195CONFIG_PPC_I8259=y
177# CONFIG_PPC_RTAS is not set 196CONFIG_PPC_RTAS=y
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
178# CONFIG_MMIO_NVRAM is not set 199# CONFIG_MMIO_NVRAM is not set
179# CONFIG_PPC_MPC106 is not set 200CONFIG_PPC_MPC106=y
180# CONFIG_PPC_970_NAP is not set 201# CONFIG_PPC_970_NAP is not set
181# CONFIG_PPC_INDIRECT_IO is not set 202# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 203# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 204# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set
184CONFIG_QUICC_ENGINE=y 207CONFIG_QUICC_ENGINE=y
185# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
186 209
@@ -207,6 +230,7 @@ CONFIG_BINFMT_ELF=y
207CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
208CONFIG_ARCH_HAS_WALK_MEMORY=y 231CONFIG_ARCH_HAS_WALK_MEMORY=y
209CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 232CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
233# CONFIG_KEXEC is not set
210CONFIG_ARCH_FLATMEM_ENABLE=y 234CONFIG_ARCH_FLATMEM_ENABLE=y
211CONFIG_ARCH_POPULATES_NODE_MAP=y 235CONFIG_ARCH_POPULATES_NODE_MAP=y
212CONFIG_SELECT_MEMORY_MODEL=y 236CONFIG_SELECT_MEMORY_MODEL=y
@@ -219,6 +243,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 244CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 245CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 247# CONFIG_RESOURCES_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
@@ -226,6 +251,7 @@ CONFIG_VIRT_TO_BUS=y
226CONFIG_FORCE_MAX_ZONEORDER=11 251CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 252CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 253# CONFIG_CMDLINE_BOOL is not set
254CONFIG_EXTRA_TARGETS=""
229# CONFIG_PM is not set 255# CONFIG_PM is not set
230CONFIG_SECCOMP=y 256CONFIG_SECCOMP=y
231CONFIG_ISA_DMA_API=y 257CONFIG_ISA_DMA_API=y
@@ -233,12 +259,15 @@ CONFIG_ISA_DMA_API=y
233# 259#
234# Bus options 260# Bus options
235# 261#
262# CONFIG_ISA is not set
236CONFIG_ZONE_DMA=y 263CONFIG_ZONE_DMA=y
237CONFIG_GENERIC_ISA_DMA=y 264CONFIG_GENERIC_ISA_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 265CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 266CONFIG_FSL_SOC=y
267CONFIG_FSL_PCI=y
240CONFIG_FSL_LBC=y 268CONFIG_FSL_LBC=y
241CONFIG_FSL_GTM=y 269CONFIG_FSL_GTM=y
270CONFIG_PPC_PCI_CHOICE=y
242CONFIG_PCI=y 271CONFIG_PCI=y
243CONFIG_PCI_DOMAINS=y 272CONFIG_PCI_DOMAINS=y
244CONFIG_PCI_SYSCALL=y 273CONFIG_PCI_SYSCALL=y
@@ -263,10 +292,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
263CONFIG_KERNEL_START=0xc0000000 292CONFIG_KERNEL_START=0xc0000000
264CONFIG_PHYSICAL_START=0x00000000 293CONFIG_PHYSICAL_START=0x00000000
265CONFIG_TASK_SIZE=0xc0000000 294CONFIG_TASK_SIZE=0xc0000000
266
267#
268# Networking
269#
270CONFIG_NET=y 295CONFIG_NET=y
271 296
272# 297#
@@ -359,6 +384,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
359CONFIG_STANDALONE=y 384CONFIG_STANDALONE=y
360CONFIG_PREVENT_FIRMWARE_BUILD=y 385CONFIG_PREVENT_FIRMWARE_BUILD=y
361CONFIG_FW_LOADER=y 386CONFIG_FW_LOADER=y
387CONFIG_FIRMWARE_IN_KERNEL=y
388CONFIG_EXTRA_FIRMWARE=""
362# CONFIG_SYS_HYPERVISOR is not set 389# CONFIG_SYS_HYPERVISOR is not set
363# CONFIG_CONNECTOR is not set 390# CONFIG_CONNECTOR is not set
364CONFIG_MTD=y 391CONFIG_MTD=y
@@ -449,9 +476,11 @@ CONFIG_MTD_PHYSMAP_OF=y
449CONFIG_OF_DEVICE=y 476CONFIG_OF_DEVICE=y
450CONFIG_OF_GPIO=y 477CONFIG_OF_GPIO=y
451CONFIG_OF_I2C=y 478CONFIG_OF_I2C=y
479CONFIG_OF_SPI=y
452# CONFIG_PARPORT is not set 480# CONFIG_PARPORT is not set
453CONFIG_BLK_DEV=y 481CONFIG_BLK_DEV=y
454# CONFIG_BLK_DEV_FD is not set 482# CONFIG_BLK_DEV_FD is not set
483# CONFIG_MAC_FLOPPY is not set
455# CONFIG_BLK_CPQ_DA is not set 484# CONFIG_BLK_CPQ_DA is not set
456# CONFIG_BLK_CPQ_CISS_DA is not set 485# CONFIG_BLK_CPQ_CISS_DA is not set
457# CONFIG_BLK_DEV_DAC960 is not set 486# CONFIG_BLK_DEV_DAC960 is not set
@@ -467,12 +496,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
467# CONFIG_BLK_DEV_XIP is not set 496# CONFIG_BLK_DEV_XIP is not set
468# CONFIG_CDROM_PKTCDVD is not set 497# CONFIG_CDROM_PKTCDVD is not set
469# CONFIG_ATA_OVER_ETH is not set 498# CONFIG_ATA_OVER_ETH is not set
499# CONFIG_BLK_DEV_HD is not set
470CONFIG_MISC_DEVICES=y 500CONFIG_MISC_DEVICES=y
471# CONFIG_PHANTOM is not set 501# CONFIG_PHANTOM is not set
472# CONFIG_EEPROM_93CX6 is not set 502# CONFIG_EEPROM_93CX6 is not set
473# CONFIG_SGI_IOC4 is not set 503# CONFIG_SGI_IOC4 is not set
474# CONFIG_TIFM_CORE is not set 504# CONFIG_TIFM_CORE is not set
475# CONFIG_ENCLOSURE_SERVICES is not set 505# CONFIG_ENCLOSURE_SERVICES is not set
506# CONFIG_HP_ILO is not set
476CONFIG_HAVE_IDE=y 507CONFIG_HAVE_IDE=y
477# CONFIG_IDE is not set 508# CONFIG_IDE is not set
478 509
@@ -490,12 +521,15 @@ CONFIG_HAVE_IDE=y
490# 521#
491# IEEE 1394 (FireWire) support 522# IEEE 1394 (FireWire) support
492# 523#
524
525#
526# Enable only one of the two stacks, unless you know what you are doing
527#
493# CONFIG_FIREWIRE is not set 528# CONFIG_FIREWIRE is not set
494# CONFIG_IEEE1394 is not set 529# CONFIG_IEEE1394 is not set
495# CONFIG_I2O is not set 530# CONFIG_I2O is not set
496# CONFIG_MACINTOSH_DRIVERS is not set 531# CONFIG_MACINTOSH_DRIVERS is not set
497CONFIG_NETDEVICES=y 532CONFIG_NETDEVICES=y
498# CONFIG_NETDEVICES_MULTIQUEUE is not set
499# CONFIG_DUMMY is not set 533# CONFIG_DUMMY is not set
500# CONFIG_BONDING is not set 534# CONFIG_BONDING is not set
501# CONFIG_MACVLAN is not set 535# CONFIG_MACVLAN is not set
@@ -526,7 +560,6 @@ CONFIG_NETDEV_1000=y
526# CONFIG_DL2K is not set 560# CONFIG_DL2K is not set
527# CONFIG_E1000 is not set 561# CONFIG_E1000 is not set
528# CONFIG_E1000E is not set 562# CONFIG_E1000E is not set
529# CONFIG_E1000E_ENABLED is not set
530# CONFIG_IP1000 is not set 563# CONFIG_IP1000 is not set
531# CONFIG_IGB is not set 564# CONFIG_IGB is not set
532# CONFIG_NS83820 is not set 565# CONFIG_NS83820 is not set
@@ -541,12 +574,13 @@ CONFIG_NETDEV_1000=y
541# CONFIG_BNX2 is not set 574# CONFIG_BNX2 is not set
542# CONFIG_GIANFAR is not set 575# CONFIG_GIANFAR is not set
543CONFIG_UCC_GETH=y 576CONFIG_UCC_GETH=y
544CONFIG_UGETH_NAPI=y
545# CONFIG_UGETH_MAGIC_PACKET is not set 577# CONFIG_UGETH_MAGIC_PACKET is not set
546# CONFIG_UGETH_FILTERING is not set 578# CONFIG_UGETH_FILTERING is not set
547# CONFIG_UGETH_TX_ON_DEMAND is not set 579# CONFIG_UGETH_TX_ON_DEMAND is not set
580# CONFIG_MV643XX_ETH is not set
548# CONFIG_QLA3XXX is not set 581# CONFIG_QLA3XXX is not set
549# CONFIG_ATL1 is not set 582# CONFIG_ATL1 is not set
583# CONFIG_ATL1E is not set
550# CONFIG_NETDEV_10000 is not set 584# CONFIG_NETDEV_10000 is not set
551# CONFIG_TR is not set 585# CONFIG_TR is not set
552 586
@@ -602,6 +636,7 @@ CONFIG_INPUT=y
602# Character devices 636# Character devices
603# 637#
604CONFIG_VT=y 638CONFIG_VT=y
639CONFIG_CONSOLE_TRANSLATIONS=y
605CONFIG_VT_CONSOLE=y 640CONFIG_VT_CONSOLE=y
606CONFIG_HW_CONSOLE=y 641CONFIG_HW_CONSOLE=y
607# CONFIG_VT_HW_CONSOLE_BINDING is not set 642# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -625,12 +660,15 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
625# CONFIG_SERIAL_UARTLITE is not set 660# CONFIG_SERIAL_UARTLITE is not set
626CONFIG_SERIAL_CORE=y 661CONFIG_SERIAL_CORE=y
627CONFIG_SERIAL_CORE_CONSOLE=y 662CONFIG_SERIAL_CORE_CONSOLE=y
663# CONFIG_SERIAL_PMACZILOG is not set
628# CONFIG_SERIAL_JSM is not set 664# CONFIG_SERIAL_JSM is not set
629# CONFIG_SERIAL_OF_PLATFORM is not set 665# CONFIG_SERIAL_OF_PLATFORM is not set
630CONFIG_SERIAL_QE=y 666CONFIG_SERIAL_QE=y
631CONFIG_UNIX98_PTYS=y 667CONFIG_UNIX98_PTYS=y
632CONFIG_LEGACY_PTYS=y 668CONFIG_LEGACY_PTYS=y
633CONFIG_LEGACY_PTY_COUNT=256 669CONFIG_LEGACY_PTY_COUNT=256
670# CONFIG_BRIQ_PANEL is not set
671# CONFIG_HVC_RTAS is not set
634# CONFIG_IPMI_HANDLER is not set 672# CONFIG_IPMI_HANDLER is not set
635CONFIG_HW_RANDOM=y 673CONFIG_HW_RANDOM=y
636# CONFIG_NVRAM is not set 674# CONFIG_NVRAM is not set
@@ -643,43 +681,70 @@ CONFIG_DEVPORT=y
643CONFIG_I2C=y 681CONFIG_I2C=y
644CONFIG_I2C_BOARDINFO=y 682CONFIG_I2C_BOARDINFO=y
645CONFIG_I2C_CHARDEV=y 683CONFIG_I2C_CHARDEV=y
684CONFIG_I2C_HELPER_AUTO=y
646 685
647# 686#
648# I2C Hardware Bus support 687# I2C Hardware Bus support
649# 688#
689
690#
691# PC SMBus host controller drivers
692#
650# CONFIG_I2C_ALI1535 is not set 693# CONFIG_I2C_ALI1535 is not set
651# CONFIG_I2C_ALI1563 is not set 694# CONFIG_I2C_ALI1563 is not set
652# CONFIG_I2C_ALI15X3 is not set 695# CONFIG_I2C_ALI15X3 is not set
653# CONFIG_I2C_AMD756 is not set 696# CONFIG_I2C_AMD756 is not set
654# CONFIG_I2C_AMD8111 is not set 697# CONFIG_I2C_AMD8111 is not set
655# CONFIG_I2C_GPIO is not set
656# CONFIG_I2C_I801 is not set 698# CONFIG_I2C_I801 is not set
657# CONFIG_I2C_I810 is not set 699# CONFIG_I2C_ISCH is not set
658# CONFIG_I2C_PIIX4 is not set 700# CONFIG_I2C_PIIX4 is not set
659CONFIG_I2C_MPC=y
660# CONFIG_I2C_NFORCE2 is not set 701# CONFIG_I2C_NFORCE2 is not set
661# CONFIG_I2C_OCORES is not set
662# CONFIG_I2C_PARPORT_LIGHT is not set
663# CONFIG_I2C_PROSAVAGE is not set
664# CONFIG_I2C_SAVAGE4 is not set
665# CONFIG_I2C_SIMTEC is not set
666# CONFIG_I2C_SIS5595 is not set 702# CONFIG_I2C_SIS5595 is not set
667# CONFIG_I2C_SIS630 is not set 703# CONFIG_I2C_SIS630 is not set
668# CONFIG_I2C_SIS96X is not set 704# CONFIG_I2C_SIS96X is not set
669# CONFIG_I2C_TAOS_EVM is not set
670# CONFIG_I2C_STUB is not set
671# CONFIG_I2C_VIA is not set 705# CONFIG_I2C_VIA is not set
672# CONFIG_I2C_VIAPRO is not set 706# CONFIG_I2C_VIAPRO is not set
707
708#
709# Mac SMBus host controller drivers
710#
711# CONFIG_I2C_HYDRA is not set
712CONFIG_I2C_POWERMAC=y
713
714#
715# I2C system bus drivers (mostly embedded / system-on-chip)
716#
717# CONFIG_I2C_GPIO is not set
718CONFIG_I2C_MPC=y
719# CONFIG_I2C_OCORES is not set
720# CONFIG_I2C_SIMTEC is not set
721
722#
723# External I2C/SMBus adapter drivers
724#
725# CONFIG_I2C_PARPORT_LIGHT is not set
726# CONFIG_I2C_TAOS_EVM is not set
727
728#
729# Graphics adapter I2C/DDC channel drivers
730#
673# CONFIG_I2C_VOODOO3 is not set 731# CONFIG_I2C_VOODOO3 is not set
732
733#
734# Other I2C/SMBus bus drivers
735#
674# CONFIG_I2C_PCA_PLATFORM is not set 736# CONFIG_I2C_PCA_PLATFORM is not set
737# CONFIG_I2C_STUB is not set
675 738
676# 739#
677# Miscellaneous I2C Chip support 740# Miscellaneous I2C Chip support
678# 741#
679# CONFIG_DS1682 is not set 742# CONFIG_DS1682 is not set
743# CONFIG_AT24 is not set
680# CONFIG_SENSORS_EEPROM is not set 744# CONFIG_SENSORS_EEPROM is not set
681# CONFIG_SENSORS_PCF8574 is not set 745# CONFIG_SENSORS_PCF8574 is not set
682# CONFIG_PCF8575 is not set 746# CONFIG_PCF8575 is not set
747# CONFIG_SENSORS_PCA9539 is not set
683# CONFIG_SENSORS_PCF8591 is not set 748# CONFIG_SENSORS_PCF8591 is not set
684# CONFIG_TPS65010 is not set 749# CONFIG_TPS65010 is not set
685# CONFIG_SENSORS_MAX6875 is not set 750# CONFIG_SENSORS_MAX6875 is not set
@@ -703,26 +768,33 @@ CONFIG_SPI_MPC83xx=y
703# CONFIG_SPI_AT25 is not set 768# CONFIG_SPI_AT25 is not set
704CONFIG_SPI_SPIDEV=y 769CONFIG_SPI_SPIDEV=y
705# CONFIG_SPI_TLE62X0 is not set 770# CONFIG_SPI_TLE62X0 is not set
706CONFIG_HAVE_GPIO_LIB=y 771CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
707 772CONFIG_ARCH_REQUIRE_GPIOLIB=y
708# 773CONFIG_GPIOLIB=y
709# GPIO Support 774# CONFIG_GPIO_SYSFS is not set
710#
711 775
712# 776#
713# I2C GPIO expanders: 777# I2C GPIO expanders:
714# 778#
779# CONFIG_GPIO_MAX732X is not set
715# CONFIG_GPIO_PCA953X is not set 780# CONFIG_GPIO_PCA953X is not set
716# CONFIG_GPIO_PCF857X is not set 781# CONFIG_GPIO_PCF857X is not set
717 782
718# 783#
784# PCI GPIO expanders:
785#
786# CONFIG_GPIO_BT8XX is not set
787
788#
719# SPI GPIO expanders: 789# SPI GPIO expanders:
720# 790#
791# CONFIG_GPIO_MAX7301 is not set
721# CONFIG_GPIO_MCP23S08 is not set 792# CONFIG_GPIO_MCP23S08 is not set
722# CONFIG_W1 is not set 793# CONFIG_W1 is not set
723# CONFIG_POWER_SUPPLY is not set 794# CONFIG_POWER_SUPPLY is not set
724# CONFIG_HWMON is not set 795# CONFIG_HWMON is not set
725# CONFIG_THERMAL is not set 796# CONFIG_THERMAL is not set
797# CONFIG_THERMAL_HWMON is not set
726CONFIG_WATCHDOG=y 798CONFIG_WATCHDOG=y
727# CONFIG_WATCHDOG_NOWAYOUT is not set 799# CONFIG_WATCHDOG_NOWAYOUT is not set
728 800
@@ -730,7 +802,9 @@ CONFIG_WATCHDOG=y
730# Watchdog Device Drivers 802# Watchdog Device Drivers
731# 803#
732# CONFIG_SOFT_WATCHDOG is not set 804# CONFIG_SOFT_WATCHDOG is not set
733CONFIG_83xx_WDT=y 805# CONFIG_ALIM7101_WDT is not set
806# CONFIG_8xxx_WDT is not set
807# CONFIG_WATCHDOG_RTAS is not set
734 808
735# 809#
736# PCI-based Watchdog Cards 810# PCI-based Watchdog Cards
@@ -747,9 +821,10 @@ CONFIG_SSB_POSSIBLE=y
747# 821#
748# Multifunction device drivers 822# Multifunction device drivers
749# 823#
824# CONFIG_MFD_CORE is not set
750# CONFIG_MFD_SM501 is not set 825# CONFIG_MFD_SM501 is not set
751# CONFIG_HTC_EGPIO is not set
752# CONFIG_HTC_PASIC3 is not set 826# CONFIG_HTC_PASIC3 is not set
827# CONFIG_MFD_TMIO is not set
753 828
754# 829#
755# Multimedia devices 830# Multimedia devices
@@ -799,6 +874,9 @@ CONFIG_FB_MACMODES=y
799# CONFIG_FB_PM2 is not set 874# CONFIG_FB_PM2 is not set
800# CONFIG_FB_CYBER2000 is not set 875# CONFIG_FB_CYBER2000 is not set
801CONFIG_FB_OF=y 876CONFIG_FB_OF=y
877# CONFIG_FB_CONTROL is not set
878# CONFIG_FB_PLATINUM is not set
879# CONFIG_FB_VALKYRIE is not set
802# CONFIG_FB_CT65550 is not set 880# CONFIG_FB_CT65550 is not set
803# CONFIG_FB_ASILIANT is not set 881# CONFIG_FB_ASILIANT is not set
804# CONFIG_FB_IMSTT is not set 882# CONFIG_FB_IMSTT is not set
@@ -821,6 +899,7 @@ CONFIG_FB_OF=y
821# CONFIG_FB_TRIDENT is not set 899# CONFIG_FB_TRIDENT is not set
822# CONFIG_FB_ARK is not set 900# CONFIG_FB_ARK is not set
823# CONFIG_FB_PM3 is not set 901# CONFIG_FB_PM3 is not set
902# CONFIG_FB_CARMINE is not set
824# CONFIG_FB_FSL_DIU is not set 903# CONFIG_FB_FSL_DIU is not set
825# CONFIG_FB_IBM_GXT4500 is not set 904# CONFIG_FB_IBM_GXT4500 is not set
826# CONFIG_FB_VIRTUAL is not set 905# CONFIG_FB_VIRTUAL is not set
@@ -846,10 +925,6 @@ CONFIG_LOGO=y
846# CONFIG_LOGO_LINUX_MONO is not set 925# CONFIG_LOGO_LINUX_MONO is not set
847CONFIG_LOGO_LINUX_VGA16=y 926CONFIG_LOGO_LINUX_VGA16=y
848CONFIG_LOGO_LINUX_CLUT224=y 927CONFIG_LOGO_LINUX_CLUT224=y
849
850#
851# Sound
852#
853# CONFIG_SOUND is not set 928# CONFIG_SOUND is not set
854CONFIG_HID_SUPPORT=y 929CONFIG_HID_SUPPORT=y
855CONFIG_HID=y 930CONFIG_HID=y
@@ -941,6 +1016,7 @@ CONFIG_JFFS2_RTIME=y
941# CONFIG_CRAMFS is not set 1016# CONFIG_CRAMFS is not set
942# CONFIG_VXFS_FS is not set 1017# CONFIG_VXFS_FS is not set
943# CONFIG_MINIX_FS is not set 1018# CONFIG_MINIX_FS is not set
1019# CONFIG_OMFS_FS is not set
944# CONFIG_HPFS_FS is not set 1020# CONFIG_HPFS_FS is not set
945# CONFIG_QNX4FS_FS is not set 1021# CONFIG_QNX4FS_FS is not set
946# CONFIG_ROMFS_FS is not set 1022# CONFIG_ROMFS_FS is not set
@@ -951,14 +1027,13 @@ CONFIG_NFS_FS=y
951CONFIG_NFS_V3=y 1027CONFIG_NFS_V3=y
952# CONFIG_NFS_V3_ACL is not set 1028# CONFIG_NFS_V3_ACL is not set
953CONFIG_NFS_V4=y 1029CONFIG_NFS_V4=y
954# CONFIG_NFSD is not set
955CONFIG_ROOT_NFS=y 1030CONFIG_ROOT_NFS=y
1031# CONFIG_NFSD is not set
956CONFIG_LOCKD=y 1032CONFIG_LOCKD=y
957CONFIG_LOCKD_V4=y 1033CONFIG_LOCKD_V4=y
958CONFIG_NFS_COMMON=y 1034CONFIG_NFS_COMMON=y
959CONFIG_SUNRPC=y 1035CONFIG_SUNRPC=y
960CONFIG_SUNRPC_GSS=y 1036CONFIG_SUNRPC_GSS=y
961# CONFIG_SUNRPC_BIND34 is not set
962CONFIG_RPCSEC_GSS_KRB5=y 1037CONFIG_RPCSEC_GSS_KRB5=y
963# CONFIG_RPCSEC_GSS_SPKM3 is not set 1038# CONFIG_RPCSEC_GSS_SPKM3 is not set
964# CONFIG_SMB_FS is not set 1039# CONFIG_SMB_FS is not set
@@ -998,6 +1073,7 @@ CONFIG_BITREVERSE=y
998# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1073# CONFIG_GENERIC_FIND_FIRST_BIT is not set
999# CONFIG_CRC_CCITT is not set 1074# CONFIG_CRC_CCITT is not set
1000# CONFIG_CRC16 is not set 1075# CONFIG_CRC16 is not set
1076# CONFIG_CRC_T10DIF is not set
1001# CONFIG_CRC_ITU_T is not set 1077# CONFIG_CRC_ITU_T is not set
1002CONFIG_CRC32=y 1078CONFIG_CRC32=y
1003# CONFIG_CRC7 is not set 1079# CONFIG_CRC7 is not set
@@ -1025,12 +1101,22 @@ CONFIG_FRAME_WARN=1024
1025# CONFIG_SLUB_DEBUG_ON is not set 1101# CONFIG_SLUB_DEBUG_ON is not set
1026# CONFIG_SLUB_STATS is not set 1102# CONFIG_SLUB_STATS is not set
1027# CONFIG_DEBUG_BUGVERBOSE is not set 1103# CONFIG_DEBUG_BUGVERBOSE is not set
1104# CONFIG_DEBUG_MEMORY_INIT is not set
1105# CONFIG_LATENCYTOP is not set
1106CONFIG_SYSCTL_SYSCALL_CHECK=y
1107CONFIG_HAVE_FTRACE=y
1108CONFIG_HAVE_DYNAMIC_FTRACE=y
1109# CONFIG_FTRACE is not set
1110# CONFIG_SCHED_TRACER is not set
1111# CONFIG_CONTEXT_SWITCH_TRACER is not set
1028# CONFIG_SAMPLES is not set 1112# CONFIG_SAMPLES is not set
1113CONFIG_HAVE_ARCH_KGDB=y
1029# CONFIG_IRQSTACKS is not set 1114# CONFIG_IRQSTACKS is not set
1115# CONFIG_BOOTX_TEXT is not set
1030CONFIG_PPC_EARLY_DEBUG=y 1116CONFIG_PPC_EARLY_DEBUG=y
1031# CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1117# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
1032# CONFIG_PPC_EARLY_DEBUG_G5 is not set 1118# CONFIG_PPC_EARLY_DEBUG_G5 is not set
1033# CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set 1119CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL=y
1034# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set 1120# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
1035# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 1121# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
1036# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 1122# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
@@ -1091,6 +1177,10 @@ CONFIG_CRYPTO_CBC=y
1091# CONFIG_CRYPTO_MD4 is not set 1177# CONFIG_CRYPTO_MD4 is not set
1092CONFIG_CRYPTO_MD5=y 1178CONFIG_CRYPTO_MD5=y
1093# CONFIG_CRYPTO_MICHAEL_MIC is not set 1179# CONFIG_CRYPTO_MICHAEL_MIC is not set
1180# CONFIG_CRYPTO_RMD128 is not set
1181# CONFIG_CRYPTO_RMD160 is not set
1182# CONFIG_CRYPTO_RMD256 is not set
1183# CONFIG_CRYPTO_RMD320 is not set
1094# CONFIG_CRYPTO_SHA1 is not set 1184# CONFIG_CRYPTO_SHA1 is not set
1095# CONFIG_CRYPTO_SHA256 is not set 1185# CONFIG_CRYPTO_SHA256 is not set
1096# CONFIG_CRYPTO_SHA512 is not set 1186# CONFIG_CRYPTO_SHA512 is not set
@@ -1123,6 +1213,7 @@ CONFIG_CRYPTO_DES=y
1123# CONFIG_CRYPTO_LZO is not set 1213# CONFIG_CRYPTO_LZO is not set
1124CONFIG_CRYPTO_HW=y 1214CONFIG_CRYPTO_HW=y
1125# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1215# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1216# CONFIG_CRYPTO_DEV_TALITOS is not set
1126# CONFIG_PPC_CLOCK is not set 1217# CONFIG_PPC_CLOCK is not set
1127CONFIG_PPC_LIB_RHEAP=y 1218CONFIG_PPC_LIB_RHEAP=y
1128# CONFIG_VIRTUALIZATION is not set 1219# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
index 0f94d9f56beb..de472022aa81 100644
--- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:28 2008 4# Thu Aug 21 00:52:23 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,13 +93,13 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 96CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 97# CONFIG_KALLSYMS_EXTRA_PASS is not set
94CONFIG_HOTPLUG=y 98CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 99CONFIG_PRINTK=y
96CONFIG_BUG=y 100CONFIG_BUG=y
97CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
98CONFIG_COMPAT_BRK=y 103CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 105CONFIG_FUTEX=y
@@ -112,10 +117,16 @@ CONFIG_SLAB=y
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
114# CONFIG_KPROBES is not set 119# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -126,12 +137,13 @@ CONFIG_MODULE_UNLOAD=y
126# CONFIG_MODULE_FORCE_UNLOAD is not set 137# CONFIG_MODULE_FORCE_UNLOAD is not set
127# CONFIG_MODVERSIONS is not set 138# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 139# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set 140CONFIG_KMOD=y
130CONFIG_BLOCK=y 141CONFIG_BLOCK=y
131# CONFIG_LBD is not set 142# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set 143# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 144# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set
135 147
136# 148#
137# IO Schedulers 149# IO Schedulers
@@ -150,37 +162,49 @@ CONFIG_CLASSIC_RCU=y
150# 162#
151# Platform support 163# Platform support
152# 164#
153# CONFIG_PPC_MULTIPLATFORM is not set 165CONFIG_PPC_MULTIPLATFORM=y
154# CONFIG_PPC_82xx is not set 166CONFIG_CLASSIC32=y
155CONFIG_PPC_83xx=y 167CONFIG_PPC_CHRP=y
156# CONFIG_PPC_86xx is not set 168# CONFIG_MPC5121_ADS is not set
157# CONFIG_PPC_MPC512x is not set 169# CONFIG_MPC5121_GENERIC is not set
158# CONFIG_PPC_MPC5121 is not set 170# CONFIG_PPC_MPC52xx is not set
171CONFIG_PPC_PMAC=y
159# CONFIG_PPC_CELL is not set 172# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 173# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set
161# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
162CONFIG_MPC83xx=y 176CONFIG_PPC_83xx=y
163# CONFIG_MPC831x_RDB is not set 177# CONFIG_MPC831x_RDB is not set
164# CONFIG_MPC832x_MDS is not set 178# CONFIG_MPC832x_MDS is not set
165# CONFIG_MPC832x_RDB is not set 179# CONFIG_MPC832x_RDB is not set
166# CONFIG_MPC834x_MDS is not set 180# CONFIG_MPC834x_MDS is not set
167# CONFIG_MPC834x_ITX is not set 181# CONFIG_MPC834x_ITX is not set
168# CONFIG_MPC836x_MDS is not set 182# CONFIG_MPC836x_MDS is not set
183# CONFIG_MPC836x_RDK is not set
169CONFIG_MPC837x_MDS=y 184CONFIG_MPC837x_MDS=y
170# CONFIG_MPC837x_RDB is not set 185# CONFIG_MPC837x_RDB is not set
171# CONFIG_SBC834x is not set 186# CONFIG_SBC834x is not set
187# CONFIG_ASP834x is not set
172CONFIG_PPC_MPC837x=y 188CONFIG_PPC_MPC837x=y
189# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
173CONFIG_IPIC=y 193CONFIG_IPIC=y
174# CONFIG_MPIC is not set 194CONFIG_MPIC=y
175# CONFIG_MPIC_WEIRD is not set 195# CONFIG_MPIC_WEIRD is not set
176# CONFIG_PPC_I8259 is not set 196CONFIG_PPC_I8259=y
177# CONFIG_PPC_RTAS is not set 197CONFIG_PPC_RTAS=y
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
178# CONFIG_MMIO_NVRAM is not set 200# CONFIG_MMIO_NVRAM is not set
179# CONFIG_PPC_MPC106 is not set 201CONFIG_PPC_MPC106=y
180# CONFIG_PPC_970_NAP is not set 202# CONFIG_PPC_970_NAP is not set
181# CONFIG_PPC_INDIRECT_IO is not set 203# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 204# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 205# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set
184# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
185 209
186# 210#
@@ -206,6 +230,7 @@ CONFIG_BINFMT_ELF=y
206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
207CONFIG_ARCH_HAS_WALK_MEMORY=y 231CONFIG_ARCH_HAS_WALK_MEMORY=y
208CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 232CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
233# CONFIG_KEXEC is not set
209CONFIG_ARCH_FLATMEM_ENABLE=y 234CONFIG_ARCH_FLATMEM_ENABLE=y
210CONFIG_ARCH_POPULATES_NODE_MAP=y 235CONFIG_ARCH_POPULATES_NODE_MAP=y
211CONFIG_SELECT_MEMORY_MODEL=y 236CONFIG_SELECT_MEMORY_MODEL=y
@@ -218,6 +243,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 244CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 245CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y
221# CONFIG_RESOURCES_64BIT is not set 247# CONFIG_RESOURCES_64BIT is not set
222CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
223CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
@@ -225,6 +251,7 @@ CONFIG_VIRT_TO_BUS=y
225CONFIG_FORCE_MAX_ZONEORDER=11 251CONFIG_FORCE_MAX_ZONEORDER=11
226CONFIG_PROC_DEVICETREE=y 252CONFIG_PROC_DEVICETREE=y
227# CONFIG_CMDLINE_BOOL is not set 253# CONFIG_CMDLINE_BOOL is not set
254CONFIG_EXTRA_TARGETS=""
228# CONFIG_PM is not set 255# CONFIG_PM is not set
229CONFIG_SECCOMP=y 256CONFIG_SECCOMP=y
230CONFIG_ISA_DMA_API=y 257CONFIG_ISA_DMA_API=y
@@ -232,15 +259,22 @@ CONFIG_ISA_DMA_API=y
232# 259#
233# Bus options 260# Bus options
234# 261#
262# CONFIG_ISA is not set
235CONFIG_ZONE_DMA=y 263CONFIG_ZONE_DMA=y
236CONFIG_GENERIC_ISA_DMA=y 264CONFIG_GENERIC_ISA_DMA=y
237CONFIG_PPC_INDIRECT_PCI=y 265CONFIG_PPC_INDIRECT_PCI=y
238CONFIG_FSL_SOC=y 266CONFIG_FSL_SOC=y
239# CONFIG_PCI is not set 267CONFIG_FSL_PCI=y
240# CONFIG_PCI_DOMAINS is not set 268CONFIG_PPC_PCI_CHOICE=y
241# CONFIG_PCI_SYSCALL is not set 269CONFIG_PCI=y
242# CONFIG_ARCH_SUPPORTS_MSI is not set 270CONFIG_PCI_DOMAINS=y
271CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y
243# CONFIG_PCCARD is not set 276# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set
244# CONFIG_HAS_RAPIDIO is not set 278# CONFIG_HAS_RAPIDIO is not set
245 279
246# 280#
@@ -256,10 +290,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
256CONFIG_KERNEL_START=0xc0000000 290CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 291CONFIG_PHYSICAL_START=0x00000000
258CONFIG_TASK_SIZE=0xc0000000 292CONFIG_TASK_SIZE=0xc0000000
259
260#
261# Networking
262#
263CONFIG_NET=y 293CONFIG_NET=y
264 294
265# 295#
@@ -360,19 +390,30 @@ CONFIG_OF_I2C=y
360# CONFIG_PARPORT is not set 390# CONFIG_PARPORT is not set
361CONFIG_BLK_DEV=y 391CONFIG_BLK_DEV=y
362# CONFIG_BLK_DEV_FD is not set 392# CONFIG_BLK_DEV_FD is not set
393# CONFIG_MAC_FLOPPY is not set
394# CONFIG_BLK_CPQ_DA is not set
395# CONFIG_BLK_CPQ_CISS_DA is not set
396# CONFIG_BLK_DEV_DAC960 is not set
397# CONFIG_BLK_DEV_UMEM is not set
363# CONFIG_BLK_DEV_COW_COMMON is not set 398# CONFIG_BLK_DEV_COW_COMMON is not set
364CONFIG_BLK_DEV_LOOP=y 399CONFIG_BLK_DEV_LOOP=y
365# CONFIG_BLK_DEV_CRYPTOLOOP is not set 400# CONFIG_BLK_DEV_CRYPTOLOOP is not set
366# CONFIG_BLK_DEV_NBD is not set 401# CONFIG_BLK_DEV_NBD is not set
402# CONFIG_BLK_DEV_SX8 is not set
367CONFIG_BLK_DEV_RAM=y 403CONFIG_BLK_DEV_RAM=y
368CONFIG_BLK_DEV_RAM_COUNT=16 404CONFIG_BLK_DEV_RAM_COUNT=16
369CONFIG_BLK_DEV_RAM_SIZE=32768 405CONFIG_BLK_DEV_RAM_SIZE=32768
370# CONFIG_BLK_DEV_XIP is not set 406# CONFIG_BLK_DEV_XIP is not set
371# CONFIG_CDROM_PKTCDVD is not set 407# CONFIG_CDROM_PKTCDVD is not set
372# CONFIG_ATA_OVER_ETH is not set 408# CONFIG_ATA_OVER_ETH is not set
409# CONFIG_BLK_DEV_HD is not set
373CONFIG_MISC_DEVICES=y 410CONFIG_MISC_DEVICES=y
411# CONFIG_PHANTOM is not set
374# CONFIG_EEPROM_93CX6 is not set 412# CONFIG_EEPROM_93CX6 is not set
413# CONFIG_SGI_IOC4 is not set
414# CONFIG_TIFM_CORE is not set
375# CONFIG_ENCLOSURE_SERVICES is not set 415# CONFIG_ENCLOSURE_SERVICES is not set
416# CONFIG_HP_ILO is not set
376CONFIG_HAVE_IDE=y 417CONFIG_HAVE_IDE=y
377# CONFIG_IDE is not set 418# CONFIG_IDE is not set
378 419
@@ -415,24 +456,128 @@ CONFIG_SCSI_WAIT_SCAN=m
415# CONFIG_SCSI_SRP_ATTRS is not set 456# CONFIG_SCSI_SRP_ATTRS is not set
416CONFIG_SCSI_LOWLEVEL=y 457CONFIG_SCSI_LOWLEVEL=y
417# CONFIG_ISCSI_TCP is not set 458# CONFIG_ISCSI_TCP is not set
459# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
460# CONFIG_SCSI_3W_9XXX is not set
461# CONFIG_SCSI_ACARD is not set
462# CONFIG_SCSI_AACRAID is not set
463# CONFIG_SCSI_AIC7XXX is not set
464# CONFIG_SCSI_AIC7XXX_OLD is not set
465# CONFIG_SCSI_AIC79XX is not set
466# CONFIG_SCSI_AIC94XX is not set
467# CONFIG_SCSI_DPT_I2O is not set
468# CONFIG_SCSI_ADVANSYS is not set
469# CONFIG_SCSI_ARCMSR is not set
470# CONFIG_MEGARAID_NEWGEN is not set
471# CONFIG_MEGARAID_LEGACY is not set
472# CONFIG_MEGARAID_SAS is not set
473# CONFIG_SCSI_HPTIOP is not set
474# CONFIG_SCSI_BUSLOGIC is not set
475# CONFIG_SCSI_DMX3191D is not set
476# CONFIG_SCSI_EATA is not set
477# CONFIG_SCSI_FUTURE_DOMAIN is not set
478# CONFIG_SCSI_GDTH is not set
479# CONFIG_SCSI_IPS is not set
480# CONFIG_SCSI_INITIO is not set
481# CONFIG_SCSI_INIA100 is not set
482# CONFIG_SCSI_MVSAS is not set
483# CONFIG_SCSI_STEX is not set
484# CONFIG_SCSI_SYM53C8XX_2 is not set
485# CONFIG_SCSI_IPR is not set
486# CONFIG_SCSI_QLOGIC_1280 is not set
487# CONFIG_SCSI_QLA_FC is not set
488# CONFIG_SCSI_QLA_ISCSI is not set
489# CONFIG_SCSI_LPFC is not set
490# CONFIG_SCSI_DC395x is not set
491# CONFIG_SCSI_DC390T is not set
492# CONFIG_SCSI_NSP32 is not set
418# CONFIG_SCSI_DEBUG is not set 493# CONFIG_SCSI_DEBUG is not set
494# CONFIG_SCSI_MESH is not set
495# CONFIG_SCSI_MAC53C94 is not set
496# CONFIG_SCSI_SRP is not set
497# CONFIG_SCSI_DH is not set
419CONFIG_ATA=y 498CONFIG_ATA=y
420# CONFIG_ATA_NONSTANDARD is not set 499# CONFIG_ATA_NONSTANDARD is not set
421CONFIG_SATA_PMP=y 500CONFIG_SATA_PMP=y
501# CONFIG_SATA_AHCI is not set
502# CONFIG_SATA_SIL24 is not set
422CONFIG_SATA_FSL=y 503CONFIG_SATA_FSL=y
423CONFIG_ATA_SFF=y 504CONFIG_ATA_SFF=y
505# CONFIG_SATA_SVW is not set
506# CONFIG_ATA_PIIX is not set
424# CONFIG_SATA_MV is not set 507# CONFIG_SATA_MV is not set
508# CONFIG_SATA_NV is not set
509# CONFIG_PDC_ADMA is not set
510# CONFIG_SATA_QSTOR is not set
511# CONFIG_SATA_PROMISE is not set
512# CONFIG_SATA_SX4 is not set
513# CONFIG_SATA_SIL is not set
514# CONFIG_SATA_SIS is not set
515# CONFIG_SATA_ULI is not set
516# CONFIG_SATA_VIA is not set
517# CONFIG_SATA_VITESSE is not set
518# CONFIG_SATA_INIC162X is not set
519# CONFIG_PATA_ALI is not set
520# CONFIG_PATA_AMD is not set
521# CONFIG_PATA_ARTOP is not set
522# CONFIG_PATA_ATIIXP is not set
523# CONFIG_PATA_CMD640_PCI is not set
524# CONFIG_PATA_CMD64X is not set
525# CONFIG_PATA_CS5520 is not set
526# CONFIG_PATA_CS5530 is not set
527# CONFIG_PATA_CYPRESS is not set
528# CONFIG_PATA_EFAR is not set
529# CONFIG_ATA_GENERIC is not set
530# CONFIG_PATA_HPT366 is not set
531# CONFIG_PATA_HPT37X is not set
532# CONFIG_PATA_HPT3X2N is not set
533# CONFIG_PATA_HPT3X3 is not set
534# CONFIG_PATA_IT821X is not set
535# CONFIG_PATA_IT8213 is not set
536# CONFIG_PATA_JMICRON is not set
537# CONFIG_PATA_TRIFLEX is not set
538# CONFIG_PATA_MARVELL is not set
539# CONFIG_PATA_MPIIX is not set
540# CONFIG_PATA_OLDPIIX is not set
541# CONFIG_PATA_NETCELL is not set
542# CONFIG_PATA_NINJA32 is not set
543# CONFIG_PATA_NS87410 is not set
544# CONFIG_PATA_NS87415 is not set
545# CONFIG_PATA_OPTI is not set
546# CONFIG_PATA_OPTIDMA is not set
547# CONFIG_PATA_PDC_OLD is not set
548# CONFIG_PATA_RADISYS is not set
549# CONFIG_PATA_RZ1000 is not set
550# CONFIG_PATA_SC1200 is not set
551# CONFIG_PATA_SERVERWORKS is not set
552# CONFIG_PATA_PDC2027X is not set
553# CONFIG_PATA_SIL680 is not set
554# CONFIG_PATA_SIS is not set
555# CONFIG_PATA_VIA is not set
556# CONFIG_PATA_WINBOND is not set
425# CONFIG_PATA_PLATFORM is not set 557# CONFIG_PATA_PLATFORM is not set
558# CONFIG_PATA_SCH is not set
426# CONFIG_MD is not set 559# CONFIG_MD is not set
560# CONFIG_FUSION is not set
561
562#
563# IEEE 1394 (FireWire) support
564#
565
566#
567# Enable only one of the two stacks, unless you know what you are doing
568#
569# CONFIG_FIREWIRE is not set
570# CONFIG_IEEE1394 is not set
571# CONFIG_I2O is not set
427# CONFIG_MACINTOSH_DRIVERS is not set 572# CONFIG_MACINTOSH_DRIVERS is not set
428CONFIG_NETDEVICES=y 573CONFIG_NETDEVICES=y
429# CONFIG_NETDEVICES_MULTIQUEUE is not set
430# CONFIG_DUMMY is not set 574# CONFIG_DUMMY is not set
431# CONFIG_BONDING is not set 575# CONFIG_BONDING is not set
432# CONFIG_MACVLAN is not set 576# CONFIG_MACVLAN is not set
433# CONFIG_EQUALIZER is not set 577# CONFIG_EQUALIZER is not set
434# CONFIG_TUN is not set 578# CONFIG_TUN is not set
435# CONFIG_VETH is not set 579# CONFIG_VETH is not set
580# CONFIG_ARCNET is not set
436CONFIG_PHYLIB=y 581CONFIG_PHYLIB=y
437 582
438# 583#
@@ -452,16 +597,56 @@ CONFIG_MARVELL_PHY=y
452# CONFIG_MDIO_BITBANG is not set 597# CONFIG_MDIO_BITBANG is not set
453CONFIG_NET_ETHERNET=y 598CONFIG_NET_ETHERNET=y
454CONFIG_MII=y 599CONFIG_MII=y
600# CONFIG_MACE is not set
601# CONFIG_BMAC is not set
602# CONFIG_HAPPYMEAL is not set
603# CONFIG_SUNGEM is not set
604# CONFIG_CASSINI is not set
605# CONFIG_NET_VENDOR_3COM is not set
606# CONFIG_NET_TULIP is not set
607# CONFIG_HP100 is not set
455# CONFIG_IBM_NEW_EMAC_ZMII is not set 608# CONFIG_IBM_NEW_EMAC_ZMII is not set
456# CONFIG_IBM_NEW_EMAC_RGMII is not set 609# CONFIG_IBM_NEW_EMAC_RGMII is not set
457# CONFIG_IBM_NEW_EMAC_TAH is not set 610# CONFIG_IBM_NEW_EMAC_TAH is not set
458# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 611# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
612# CONFIG_NET_PCI is not set
459# CONFIG_B44 is not set 613# CONFIG_B44 is not set
460CONFIG_NETDEV_1000=y 614CONFIG_NETDEV_1000=y
461# CONFIG_E1000E_ENABLED is not set 615# CONFIG_ACENIC is not set
616# CONFIG_DL2K is not set
617# CONFIG_E1000 is not set
618# CONFIG_E1000E is not set
619# CONFIG_IP1000 is not set
620# CONFIG_IGB is not set
621# CONFIG_NS83820 is not set
622# CONFIG_HAMACHI is not set
623# CONFIG_YELLOWFIN is not set
624# CONFIG_R8169 is not set
625# CONFIG_SIS190 is not set
626# CONFIG_SKGE is not set
627# CONFIG_SKY2 is not set
628# CONFIG_VIA_VELOCITY is not set
629# CONFIG_TIGON3 is not set
630# CONFIG_BNX2 is not set
462CONFIG_GIANFAR=y 631CONFIG_GIANFAR=y
463# CONFIG_GFAR_NAPI is not set 632# CONFIG_MV643XX_ETH is not set
633# CONFIG_QLA3XXX is not set
634# CONFIG_ATL1 is not set
635# CONFIG_ATL1E is not set
464CONFIG_NETDEV_10000=y 636CONFIG_NETDEV_10000=y
637# CONFIG_CHELSIO_T1 is not set
638# CONFIG_CHELSIO_T3 is not set
639# CONFIG_IXGBE is not set
640# CONFIG_IXGB is not set
641# CONFIG_S2IO is not set
642# CONFIG_MYRI10GE is not set
643# CONFIG_NETXEN_NIC is not set
644# CONFIG_NIU is not set
645# CONFIG_MLX4_CORE is not set
646# CONFIG_TEHUTI is not set
647# CONFIG_BNX2X is not set
648# CONFIG_SFC is not set
649# CONFIG_TR is not set
465 650
466# 651#
467# Wireless LAN 652# Wireless LAN
@@ -470,8 +655,11 @@ CONFIG_NETDEV_10000=y
470# CONFIG_WLAN_80211 is not set 655# CONFIG_WLAN_80211 is not set
471# CONFIG_IWLWIFI_LEDS is not set 656# CONFIG_IWLWIFI_LEDS is not set
472# CONFIG_WAN is not set 657# CONFIG_WAN is not set
658# CONFIG_FDDI is not set
659# CONFIG_HIPPI is not set
473# CONFIG_PPP is not set 660# CONFIG_PPP is not set
474# CONFIG_SLIP is not set 661# CONFIG_SLIP is not set
662# CONFIG_NET_FC is not set
475# CONFIG_NETCONSOLE is not set 663# CONFIG_NETCONSOLE is not set
476# CONFIG_NETPOLL is not set 664# CONFIG_NETPOLL is not set
477# CONFIG_NET_POLL_CONTROLLER is not set 665# CONFIG_NET_POLL_CONTROLLER is not set
@@ -515,12 +703,14 @@ CONFIG_INPUT=y
515# CONFIG_VT is not set 703# CONFIG_VT is not set
516CONFIG_DEVKMEM=y 704CONFIG_DEVKMEM=y
517# CONFIG_SERIAL_NONSTANDARD is not set 705# CONFIG_SERIAL_NONSTANDARD is not set
706# CONFIG_NOZOMI is not set
518 707
519# 708#
520# Serial drivers 709# Serial drivers
521# 710#
522CONFIG_SERIAL_8250=y 711CONFIG_SERIAL_8250=y
523CONFIG_SERIAL_8250_CONSOLE=y 712CONFIG_SERIAL_8250_CONSOLE=y
713CONFIG_SERIAL_8250_PCI=y
524CONFIG_SERIAL_8250_NR_UARTS=4 714CONFIG_SERIAL_8250_NR_UARTS=4
525CONFIG_SERIAL_8250_RUNTIME_UARTS=4 715CONFIG_SERIAL_8250_RUNTIME_UARTS=4
526# CONFIG_SERIAL_8250_EXTENDED is not set 716# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -531,40 +721,90 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
531# CONFIG_SERIAL_UARTLITE is not set 721# CONFIG_SERIAL_UARTLITE is not set
532CONFIG_SERIAL_CORE=y 722CONFIG_SERIAL_CORE=y
533CONFIG_SERIAL_CORE_CONSOLE=y 723CONFIG_SERIAL_CORE_CONSOLE=y
724# CONFIG_SERIAL_PMACZILOG is not set
725# CONFIG_SERIAL_JSM is not set
534# CONFIG_SERIAL_OF_PLATFORM is not set 726# CONFIG_SERIAL_OF_PLATFORM is not set
535CONFIG_UNIX98_PTYS=y 727CONFIG_UNIX98_PTYS=y
536CONFIG_LEGACY_PTYS=y 728CONFIG_LEGACY_PTYS=y
537CONFIG_LEGACY_PTY_COUNT=256 729CONFIG_LEGACY_PTY_COUNT=256
730# CONFIG_BRIQ_PANEL is not set
731# CONFIG_HVC_RTAS is not set
538# CONFIG_IPMI_HANDLER is not set 732# CONFIG_IPMI_HANDLER is not set
539# CONFIG_HW_RANDOM is not set 733# CONFIG_HW_RANDOM is not set
540# CONFIG_NVRAM is not set 734# CONFIG_NVRAM is not set
541CONFIG_GEN_RTC=y 735CONFIG_GEN_RTC=y
542# CONFIG_GEN_RTC_X is not set 736# CONFIG_GEN_RTC_X is not set
543# CONFIG_R3964 is not set 737# CONFIG_R3964 is not set
738# CONFIG_APPLICOM is not set
544# CONFIG_RAW_DRIVER is not set 739# CONFIG_RAW_DRIVER is not set
545# CONFIG_TCG_TPM is not set 740# CONFIG_TCG_TPM is not set
741CONFIG_DEVPORT=y
546CONFIG_I2C=y 742CONFIG_I2C=y
547CONFIG_I2C_BOARDINFO=y 743CONFIG_I2C_BOARDINFO=y
548CONFIG_I2C_CHARDEV=y 744CONFIG_I2C_CHARDEV=y
745CONFIG_I2C_HELPER_AUTO=y
549 746
550# 747#
551# I2C Hardware Bus support 748# I2C Hardware Bus support
552# 749#
750
751#
752# PC SMBus host controller drivers
753#
754# CONFIG_I2C_ALI1535 is not set
755# CONFIG_I2C_ALI1563 is not set
756# CONFIG_I2C_ALI15X3 is not set
757# CONFIG_I2C_AMD756 is not set
758# CONFIG_I2C_AMD8111 is not set
759# CONFIG_I2C_I801 is not set
760# CONFIG_I2C_ISCH is not set
761# CONFIG_I2C_PIIX4 is not set
762# CONFIG_I2C_NFORCE2 is not set
763# CONFIG_I2C_SIS5595 is not set
764# CONFIG_I2C_SIS630 is not set
765# CONFIG_I2C_SIS96X is not set
766# CONFIG_I2C_VIA is not set
767# CONFIG_I2C_VIAPRO is not set
768
769#
770# Mac SMBus host controller drivers
771#
772# CONFIG_I2C_HYDRA is not set
773CONFIG_I2C_POWERMAC=y
774
775#
776# I2C system bus drivers (mostly embedded / system-on-chip)
777#
553CONFIG_I2C_MPC=y 778CONFIG_I2C_MPC=y
554# CONFIG_I2C_OCORES is not set 779# CONFIG_I2C_OCORES is not set
555# CONFIG_I2C_PARPORT_LIGHT is not set
556# CONFIG_I2C_SIMTEC is not set 780# CONFIG_I2C_SIMTEC is not set
781
782#
783# External I2C/SMBus adapter drivers
784#
785# CONFIG_I2C_PARPORT_LIGHT is not set
557# CONFIG_I2C_TAOS_EVM is not set 786# CONFIG_I2C_TAOS_EVM is not set
558# CONFIG_I2C_STUB is not set 787
788#
789# Graphics adapter I2C/DDC channel drivers
790#
791# CONFIG_I2C_VOODOO3 is not set
792
793#
794# Other I2C/SMBus bus drivers
795#
559# CONFIG_I2C_PCA_PLATFORM is not set 796# CONFIG_I2C_PCA_PLATFORM is not set
797# CONFIG_I2C_STUB is not set
560 798
561# 799#
562# Miscellaneous I2C Chip support 800# Miscellaneous I2C Chip support
563# 801#
564# CONFIG_DS1682 is not set 802# CONFIG_DS1682 is not set
803# CONFIG_AT24 is not set
565# CONFIG_SENSORS_EEPROM is not set 804# CONFIG_SENSORS_EEPROM is not set
566# CONFIG_SENSORS_PCF8574 is not set 805# CONFIG_SENSORS_PCF8574 is not set
567# CONFIG_PCF8575 is not set 806# CONFIG_PCF8575 is not set
807# CONFIG_SENSORS_PCA9539 is not set
568# CONFIG_SENSORS_PCF8591 is not set 808# CONFIG_SENSORS_PCF8591 is not set
569# CONFIG_SENSORS_MAX6875 is not set 809# CONFIG_SENSORS_MAX6875 is not set
570# CONFIG_SENSORS_TSL2550 is not set 810# CONFIG_SENSORS_TSL2550 is not set
@@ -573,10 +813,13 @@ CONFIG_I2C_MPC=y
573# CONFIG_I2C_DEBUG_BUS is not set 813# CONFIG_I2C_DEBUG_BUS is not set
574# CONFIG_I2C_DEBUG_CHIP is not set 814# CONFIG_I2C_DEBUG_CHIP is not set
575# CONFIG_SPI is not set 815# CONFIG_SPI is not set
816CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
817# CONFIG_GPIOLIB is not set
576# CONFIG_W1 is not set 818# CONFIG_W1 is not set
577# CONFIG_POWER_SUPPLY is not set 819# CONFIG_POWER_SUPPLY is not set
578CONFIG_HWMON=y 820CONFIG_HWMON=y
579# CONFIG_HWMON_VID is not set 821# CONFIG_HWMON_VID is not set
822# CONFIG_SENSORS_AD7414 is not set
580# CONFIG_SENSORS_AD7418 is not set 823# CONFIG_SENSORS_AD7418 is not set
581# CONFIG_SENSORS_ADM1021 is not set 824# CONFIG_SENSORS_ADM1021 is not set
582# CONFIG_SENSORS_ADM1025 is not set 825# CONFIG_SENSORS_ADM1025 is not set
@@ -586,8 +829,10 @@ CONFIG_HWMON=y
586# CONFIG_SENSORS_ADM9240 is not set 829# CONFIG_SENSORS_ADM9240 is not set
587# CONFIG_SENSORS_ADT7470 is not set 830# CONFIG_SENSORS_ADT7470 is not set
588# CONFIG_SENSORS_ADT7473 is not set 831# CONFIG_SENSORS_ADT7473 is not set
832# CONFIG_SENSORS_AMS is not set
589# CONFIG_SENSORS_ATXP1 is not set 833# CONFIG_SENSORS_ATXP1 is not set
590# CONFIG_SENSORS_DS1621 is not set 834# CONFIG_SENSORS_DS1621 is not set
835# CONFIG_SENSORS_I5K_AMB is not set
591# CONFIG_SENSORS_F71805F is not set 836# CONFIG_SENSORS_F71805F is not set
592# CONFIG_SENSORS_F71882FG is not set 837# CONFIG_SENSORS_F71882FG is not set
593# CONFIG_SENSORS_F75375S is not set 838# CONFIG_SENSORS_F75375S is not set
@@ -609,13 +854,16 @@ CONFIG_HWMON=y
609# CONFIG_SENSORS_MAX6650 is not set 854# CONFIG_SENSORS_MAX6650 is not set
610# CONFIG_SENSORS_PC87360 is not set 855# CONFIG_SENSORS_PC87360 is not set
611# CONFIG_SENSORS_PC87427 is not set 856# CONFIG_SENSORS_PC87427 is not set
857# CONFIG_SENSORS_SIS5595 is not set
612# CONFIG_SENSORS_DME1737 is not set 858# CONFIG_SENSORS_DME1737 is not set
613# CONFIG_SENSORS_SMSC47M1 is not set 859# CONFIG_SENSORS_SMSC47M1 is not set
614# CONFIG_SENSORS_SMSC47M192 is not set 860# CONFIG_SENSORS_SMSC47M192 is not set
615# CONFIG_SENSORS_SMSC47B397 is not set 861# CONFIG_SENSORS_SMSC47B397 is not set
616# CONFIG_SENSORS_ADS7828 is not set 862# CONFIG_SENSORS_ADS7828 is not set
617# CONFIG_SENSORS_THMC50 is not set 863# CONFIG_SENSORS_THMC50 is not set
864# CONFIG_SENSORS_VIA686A is not set
618# CONFIG_SENSORS_VT1211 is not set 865# CONFIG_SENSORS_VT1211 is not set
866# CONFIG_SENSORS_VT8231 is not set
619# CONFIG_SENSORS_W83781D is not set 867# CONFIG_SENSORS_W83781D is not set
620# CONFIG_SENSORS_W83791D is not set 868# CONFIG_SENSORS_W83791D is not set
621# CONFIG_SENSORS_W83792D is not set 869# CONFIG_SENSORS_W83792D is not set
@@ -626,6 +874,7 @@ CONFIG_HWMON=y
626# CONFIG_SENSORS_W83627EHF is not set 874# CONFIG_SENSORS_W83627EHF is not set
627# CONFIG_HWMON_DEBUG_CHIP is not set 875# CONFIG_HWMON_DEBUG_CHIP is not set
628# CONFIG_THERMAL is not set 876# CONFIG_THERMAL is not set
877# CONFIG_THERMAL_HWMON is not set
629CONFIG_WATCHDOG=y 878CONFIG_WATCHDOG=y
630# CONFIG_WATCHDOG_NOWAYOUT is not set 879# CONFIG_WATCHDOG_NOWAYOUT is not set
631 880
@@ -633,7 +882,15 @@ CONFIG_WATCHDOG=y
633# Watchdog Device Drivers 882# Watchdog Device Drivers
634# 883#
635# CONFIG_SOFT_WATCHDOG is not set 884# CONFIG_SOFT_WATCHDOG is not set
636CONFIG_83xx_WDT=y 885# CONFIG_ALIM7101_WDT is not set
886# CONFIG_8xxx_WDT is not set
887# CONFIG_WATCHDOG_RTAS is not set
888
889#
890# PCI-based Watchdog Cards
891#
892# CONFIG_PCIPCWATCHDOG is not set
893# CONFIG_WDTPCI is not set
637 894
638# 895#
639# Sonics Silicon Backplane 896# Sonics Silicon Backplane
@@ -644,8 +901,10 @@ CONFIG_SSB_POSSIBLE=y
644# 901#
645# Multifunction device drivers 902# Multifunction device drivers
646# 903#
904# CONFIG_MFD_CORE is not set
647# CONFIG_MFD_SM501 is not set 905# CONFIG_MFD_SM501 is not set
648# CONFIG_HTC_PASIC3 is not set 906# CONFIG_HTC_PASIC3 is not set
907# CONFIG_MFD_TMIO is not set
649 908
650# 909#
651# Multimedia devices 910# Multimedia devices
@@ -666,6 +925,8 @@ CONFIG_DAB=y
666# 925#
667# Graphics support 926# Graphics support
668# 927#
928# CONFIG_AGP is not set
929# CONFIG_DRM is not set
669# CONFIG_VGASTATE is not set 930# CONFIG_VGASTATE is not set
670CONFIG_VIDEO_OUTPUT_CONTROL=m 931CONFIG_VIDEO_OUTPUT_CONTROL=m
671# CONFIG_FB is not set 932# CONFIG_FB is not set
@@ -675,10 +936,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
675# Display device support 936# Display device support
676# 937#
677# CONFIG_DISPLAY_SUPPORT is not set 938# CONFIG_DISPLAY_SUPPORT is not set
678
679#
680# Sound
681#
682# CONFIG_SOUND is not set 939# CONFIG_SOUND is not set
683CONFIG_HID_SUPPORT=y 940CONFIG_HID_SUPPORT=y
684CONFIG_HID=y 941CONFIG_HID=y
@@ -686,13 +943,17 @@ CONFIG_HID=y
686# CONFIG_HIDRAW is not set 943# CONFIG_HIDRAW is not set
687CONFIG_USB_SUPPORT=y 944CONFIG_USB_SUPPORT=y
688CONFIG_USB_ARCH_HAS_HCD=y 945CONFIG_USB_ARCH_HAS_HCD=y
689# CONFIG_USB_ARCH_HAS_OHCI is not set 946CONFIG_USB_ARCH_HAS_OHCI=y
690CONFIG_USB_ARCH_HAS_EHCI=y 947CONFIG_USB_ARCH_HAS_EHCI=y
691# CONFIG_USB is not set 948# CONFIG_USB is not set
692# CONFIG_USB_OTG_WHITELIST is not set 949# CONFIG_USB_OTG_WHITELIST is not set
693# CONFIG_USB_OTG_BLACKLIST_HUB is not set 950# CONFIG_USB_OTG_BLACKLIST_HUB is not set
694 951
695# 952#
953# Enable Host or Gadget support to see Inventra options
954#
955
956#
696# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 957# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
697# 958#
698# CONFIG_USB_GADGET is not set 959# CONFIG_USB_GADGET is not set
@@ -700,6 +961,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
700# CONFIG_MEMSTICK is not set 961# CONFIG_MEMSTICK is not set
701# CONFIG_NEW_LEDS is not set 962# CONFIG_NEW_LEDS is not set
702# CONFIG_ACCESSIBILITY is not set 963# CONFIG_ACCESSIBILITY is not set
964# CONFIG_INFINIBAND is not set
703# CONFIG_EDAC is not set 965# CONFIG_EDAC is not set
704# CONFIG_RTC_CLASS is not set 966# CONFIG_RTC_CLASS is not set
705# CONFIG_DMADEVICES is not set 967# CONFIG_DMADEVICES is not set
@@ -769,6 +1031,7 @@ CONFIG_TMPFS=y
769# CONFIG_CRAMFS is not set 1031# CONFIG_CRAMFS is not set
770# CONFIG_VXFS_FS is not set 1032# CONFIG_VXFS_FS is not set
771# CONFIG_MINIX_FS is not set 1033# CONFIG_MINIX_FS is not set
1034# CONFIG_OMFS_FS is not set
772# CONFIG_HPFS_FS is not set 1035# CONFIG_HPFS_FS is not set
773# CONFIG_QNX4FS_FS is not set 1036# CONFIG_QNX4FS_FS is not set
774# CONFIG_ROMFS_FS is not set 1037# CONFIG_ROMFS_FS is not set
@@ -779,14 +1042,13 @@ CONFIG_NFS_FS=y
779CONFIG_NFS_V3=y 1042CONFIG_NFS_V3=y
780# CONFIG_NFS_V3_ACL is not set 1043# CONFIG_NFS_V3_ACL is not set
781CONFIG_NFS_V4=y 1044CONFIG_NFS_V4=y
782# CONFIG_NFSD is not set
783CONFIG_ROOT_NFS=y 1045CONFIG_ROOT_NFS=y
1046# CONFIG_NFSD is not set
784CONFIG_LOCKD=y 1047CONFIG_LOCKD=y
785CONFIG_LOCKD_V4=y 1048CONFIG_LOCKD_V4=y
786CONFIG_NFS_COMMON=y 1049CONFIG_NFS_COMMON=y
787CONFIG_SUNRPC=y 1050CONFIG_SUNRPC=y
788CONFIG_SUNRPC_GSS=y 1051CONFIG_SUNRPC_GSS=y
789# CONFIG_SUNRPC_BIND34 is not set
790CONFIG_RPCSEC_GSS_KRB5=y 1052CONFIG_RPCSEC_GSS_KRB5=y
791# CONFIG_RPCSEC_GSS_SPKM3 is not set 1053# CONFIG_RPCSEC_GSS_SPKM3 is not set
792# CONFIG_SMB_FS is not set 1054# CONFIG_SMB_FS is not set
@@ -826,6 +1088,7 @@ CONFIG_BITREVERSE=y
826# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1088# CONFIG_GENERIC_FIND_FIRST_BIT is not set
827# CONFIG_CRC_CCITT is not set 1089# CONFIG_CRC_CCITT is not set
828# CONFIG_CRC16 is not set 1090# CONFIG_CRC16 is not set
1091CONFIG_CRC_T10DIF=y
829# CONFIG_CRC_ITU_T is not set 1092# CONFIG_CRC_ITU_T is not set
830CONFIG_CRC32=y 1093CONFIG_CRC32=y
831# CONFIG_CRC7 is not set 1094# CONFIG_CRC7 is not set
@@ -849,8 +1112,18 @@ CONFIG_FRAME_WARN=1024
849# CONFIG_HEADERS_CHECK is not set 1112# CONFIG_HEADERS_CHECK is not set
850# CONFIG_DEBUG_KERNEL is not set 1113# CONFIG_DEBUG_KERNEL is not set
851# CONFIG_DEBUG_BUGVERBOSE is not set 1114# CONFIG_DEBUG_BUGVERBOSE is not set
1115# CONFIG_DEBUG_MEMORY_INIT is not set
1116# CONFIG_LATENCYTOP is not set
1117CONFIG_SYSCTL_SYSCALL_CHECK=y
1118CONFIG_HAVE_FTRACE=y
1119CONFIG_HAVE_DYNAMIC_FTRACE=y
1120# CONFIG_FTRACE is not set
1121# CONFIG_SCHED_TRACER is not set
1122# CONFIG_CONTEXT_SWITCH_TRACER is not set
852# CONFIG_SAMPLES is not set 1123# CONFIG_SAMPLES is not set
1124CONFIG_HAVE_ARCH_KGDB=y
853# CONFIG_IRQSTACKS is not set 1125# CONFIG_IRQSTACKS is not set
1126# CONFIG_BOOTX_TEXT is not set
854# CONFIG_PPC_EARLY_DEBUG is not set 1127# CONFIG_PPC_EARLY_DEBUG is not set
855 1128
856# 1129#
@@ -904,6 +1177,10 @@ CONFIG_CRYPTO_PCBC=m
904# CONFIG_CRYPTO_MD4 is not set 1177# CONFIG_CRYPTO_MD4 is not set
905CONFIG_CRYPTO_MD5=y 1178CONFIG_CRYPTO_MD5=y
906# CONFIG_CRYPTO_MICHAEL_MIC is not set 1179# CONFIG_CRYPTO_MICHAEL_MIC is not set
1180# CONFIG_CRYPTO_RMD128 is not set
1181# CONFIG_CRYPTO_RMD160 is not set
1182# CONFIG_CRYPTO_RMD256 is not set
1183# CONFIG_CRYPTO_RMD320 is not set
907# CONFIG_CRYPTO_SHA1 is not set 1184# CONFIG_CRYPTO_SHA1 is not set
908# CONFIG_CRYPTO_SHA256 is not set 1185# CONFIG_CRYPTO_SHA256 is not set
909# CONFIG_CRYPTO_SHA512 is not set 1186# CONFIG_CRYPTO_SHA512 is not set
@@ -935,5 +1212,7 @@ CONFIG_CRYPTO_DES=y
935# CONFIG_CRYPTO_DEFLATE is not set 1212# CONFIG_CRYPTO_DEFLATE is not set
936# CONFIG_CRYPTO_LZO is not set 1213# CONFIG_CRYPTO_LZO is not set
937CONFIG_CRYPTO_HW=y 1214CONFIG_CRYPTO_HW=y
1215# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1216# CONFIG_CRYPTO_DEV_TALITOS is not set
938# CONFIG_PPC_CLOCK is not set 1217# CONFIG_PPC_CLOCK is not set
939# CONFIG_VIRTUALIZATION is not set 1218# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
index 0d448556f53a..e8d2d691d26c 100644
--- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Tue Jun 10 09:17:12 2008 4# Thu Aug 21 00:52:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,13 +93,13 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 96CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 97# CONFIG_KALLSYMS_EXTRA_PASS is not set
94CONFIG_HOTPLUG=y 98CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 99CONFIG_PRINTK=y
96CONFIG_BUG=y 100CONFIG_BUG=y
97CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
98CONFIG_COMPAT_BRK=y 103CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 104CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 105CONFIG_FUTEX=y
@@ -112,10 +117,16 @@ CONFIG_SLAB=y
112# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
114# CONFIG_KPROBES is not set 119# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -126,12 +137,13 @@ CONFIG_MODULE_UNLOAD=y
126# CONFIG_MODULE_FORCE_UNLOAD is not set 137# CONFIG_MODULE_FORCE_UNLOAD is not set
127# CONFIG_MODVERSIONS is not set 138# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 139# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set 140CONFIG_KMOD=y
130CONFIG_BLOCK=y 141CONFIG_BLOCK=y
131# CONFIG_LBD is not set 142# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set 143# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 144# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set
135 147
136# 148#
137# IO Schedulers 149# IO Schedulers
@@ -150,37 +162,49 @@ CONFIG_CLASSIC_RCU=y
150# 162#
151# Platform support 163# Platform support
152# 164#
153# CONFIG_PPC_MULTIPLATFORM is not set 165CONFIG_PPC_MULTIPLATFORM=y
154# CONFIG_PPC_82xx is not set 166CONFIG_CLASSIC32=y
155CONFIG_PPC_83xx=y 167CONFIG_PPC_CHRP=y
156# CONFIG_PPC_86xx is not set 168# CONFIG_MPC5121_ADS is not set
157# CONFIG_PPC_MPC512x is not set 169# CONFIG_MPC5121_GENERIC is not set
158# CONFIG_PPC_MPC5121 is not set 170# CONFIG_PPC_MPC52xx is not set
171CONFIG_PPC_PMAC=y
159# CONFIG_PPC_CELL is not set 172# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 173# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set
161# CONFIG_PQ2ADS is not set 175# CONFIG_PQ2ADS is not set
162CONFIG_MPC83xx=y 176CONFIG_PPC_83xx=y
163# CONFIG_MPC831x_RDB is not set 177# CONFIG_MPC831x_RDB is not set
164# CONFIG_MPC832x_MDS is not set 178# CONFIG_MPC832x_MDS is not set
165# CONFIG_MPC832x_RDB is not set 179# CONFIG_MPC832x_RDB is not set
166# CONFIG_MPC834x_MDS is not set 180# CONFIG_MPC834x_MDS is not set
167# CONFIG_MPC834x_ITX is not set 181# CONFIG_MPC834x_ITX is not set
168# CONFIG_MPC836x_MDS is not set 182# CONFIG_MPC836x_MDS is not set
183# CONFIG_MPC836x_RDK is not set
169# CONFIG_MPC837x_MDS is not set 184# CONFIG_MPC837x_MDS is not set
170CONFIG_MPC837x_RDB=y 185CONFIG_MPC837x_RDB=y
171# CONFIG_SBC834x is not set 186# CONFIG_SBC834x is not set
187# CONFIG_ASP834x is not set
172CONFIG_PPC_MPC837x=y 188CONFIG_PPC_MPC837x=y
189# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
173CONFIG_IPIC=y 193CONFIG_IPIC=y
174# CONFIG_MPIC is not set 194CONFIG_MPIC=y
175# CONFIG_MPIC_WEIRD is not set 195# CONFIG_MPIC_WEIRD is not set
176# CONFIG_PPC_I8259 is not set 196CONFIG_PPC_I8259=y
177# CONFIG_PPC_RTAS is not set 197CONFIG_PPC_RTAS=y
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
178# CONFIG_MMIO_NVRAM is not set 200# CONFIG_MMIO_NVRAM is not set
179# CONFIG_PPC_MPC106 is not set 201CONFIG_PPC_MPC106=y
180# CONFIG_PPC_970_NAP is not set 202# CONFIG_PPC_970_NAP is not set
181# CONFIG_PPC_INDIRECT_IO is not set 203# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 204# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 205# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set
184# CONFIG_FSL_ULI1575 is not set 208# CONFIG_FSL_ULI1575 is not set
185 209
186# 210#
@@ -206,6 +230,7 @@ CONFIG_BINFMT_ELF=y
206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
207CONFIG_ARCH_HAS_WALK_MEMORY=y 231CONFIG_ARCH_HAS_WALK_MEMORY=y
208CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 232CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
233# CONFIG_KEXEC is not set
209CONFIG_ARCH_FLATMEM_ENABLE=y 234CONFIG_ARCH_FLATMEM_ENABLE=y
210CONFIG_ARCH_POPULATES_NODE_MAP=y 235CONFIG_ARCH_POPULATES_NODE_MAP=y
211CONFIG_SELECT_MEMORY_MODEL=y 236CONFIG_SELECT_MEMORY_MODEL=y
@@ -218,6 +243,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 244CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 245CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y
221# CONFIG_RESOURCES_64BIT is not set 247# CONFIG_RESOURCES_64BIT is not set
222CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
223CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
@@ -225,6 +251,7 @@ CONFIG_VIRT_TO_BUS=y
225CONFIG_FORCE_MAX_ZONEORDER=11 251CONFIG_FORCE_MAX_ZONEORDER=11
226CONFIG_PROC_DEVICETREE=y 252CONFIG_PROC_DEVICETREE=y
227# CONFIG_CMDLINE_BOOL is not set 253# CONFIG_CMDLINE_BOOL is not set
254CONFIG_EXTRA_TARGETS=""
228# CONFIG_PM is not set 255# CONFIG_PM is not set
229CONFIG_SECCOMP=y 256CONFIG_SECCOMP=y
230CONFIG_ISA_DMA_API=y 257CONFIG_ISA_DMA_API=y
@@ -232,15 +259,22 @@ CONFIG_ISA_DMA_API=y
232# 259#
233# Bus options 260# Bus options
234# 261#
262# CONFIG_ISA is not set
235CONFIG_ZONE_DMA=y 263CONFIG_ZONE_DMA=y
236CONFIG_GENERIC_ISA_DMA=y 264CONFIG_GENERIC_ISA_DMA=y
237CONFIG_PPC_INDIRECT_PCI=y 265CONFIG_PPC_INDIRECT_PCI=y
238CONFIG_FSL_SOC=y 266CONFIG_FSL_SOC=y
239# CONFIG_PCI is not set 267CONFIG_FSL_PCI=y
240# CONFIG_PCI_DOMAINS is not set 268CONFIG_PPC_PCI_CHOICE=y
241# CONFIG_PCI_SYSCALL is not set 269CONFIG_PCI=y
242# CONFIG_ARCH_SUPPORTS_MSI is not set 270CONFIG_PCI_DOMAINS=y
271CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y
243# CONFIG_PCCARD is not set 276# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set
244# CONFIG_HAS_RAPIDIO is not set 278# CONFIG_HAS_RAPIDIO is not set
245 279
246# 280#
@@ -256,10 +290,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
256CONFIG_KERNEL_START=0xc0000000 290CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 291CONFIG_PHYSICAL_START=0x00000000
258CONFIG_TASK_SIZE=0xc0000000 292CONFIG_TASK_SIZE=0xc0000000
259
260#
261# Networking
262#
263CONFIG_NET=y 293CONFIG_NET=y
264 294
265# 295#
@@ -355,10 +385,16 @@ CONFIG_OF_I2C=y
355# CONFIG_PARPORT is not set 385# CONFIG_PARPORT is not set
356CONFIG_BLK_DEV=y 386CONFIG_BLK_DEV=y
357# CONFIG_BLK_DEV_FD is not set 387# CONFIG_BLK_DEV_FD is not set
388# CONFIG_MAC_FLOPPY is not set
389# CONFIG_BLK_CPQ_DA is not set
390# CONFIG_BLK_CPQ_CISS_DA is not set
391# CONFIG_BLK_DEV_DAC960 is not set
392# CONFIG_BLK_DEV_UMEM is not set
358# CONFIG_BLK_DEV_COW_COMMON is not set 393# CONFIG_BLK_DEV_COW_COMMON is not set
359CONFIG_BLK_DEV_LOOP=y 394CONFIG_BLK_DEV_LOOP=y
360# CONFIG_BLK_DEV_CRYPTOLOOP is not set 395# CONFIG_BLK_DEV_CRYPTOLOOP is not set
361# CONFIG_BLK_DEV_NBD is not set 396# CONFIG_BLK_DEV_NBD is not set
397# CONFIG_BLK_DEV_SX8 is not set
362# CONFIG_BLK_DEV_UB is not set 398# CONFIG_BLK_DEV_UB is not set
363CONFIG_BLK_DEV_RAM=y 399CONFIG_BLK_DEV_RAM=y
364CONFIG_BLK_DEV_RAM_COUNT=16 400CONFIG_BLK_DEV_RAM_COUNT=16
@@ -366,9 +402,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
366# CONFIG_BLK_DEV_XIP is not set 402# CONFIG_BLK_DEV_XIP is not set
367# CONFIG_CDROM_PKTCDVD is not set 403# CONFIG_CDROM_PKTCDVD is not set
368# CONFIG_ATA_OVER_ETH is not set 404# CONFIG_ATA_OVER_ETH is not set
405# CONFIG_BLK_DEV_HD is not set
369CONFIG_MISC_DEVICES=y 406CONFIG_MISC_DEVICES=y
407# CONFIG_PHANTOM is not set
370# CONFIG_EEPROM_93CX6 is not set 408# CONFIG_EEPROM_93CX6 is not set
409# CONFIG_SGI_IOC4 is not set
410# CONFIG_TIFM_CORE is not set
371# CONFIG_ENCLOSURE_SERVICES is not set 411# CONFIG_ENCLOSURE_SERVICES is not set
412# CONFIG_HP_ILO is not set
372CONFIG_HAVE_IDE=y 413CONFIG_HAVE_IDE=y
373# CONFIG_IDE is not set 414# CONFIG_IDE is not set
374 415
@@ -411,14 +452,106 @@ CONFIG_SCSI_WAIT_SCAN=m
411# CONFIG_SCSI_SRP_ATTRS is not set 452# CONFIG_SCSI_SRP_ATTRS is not set
412CONFIG_SCSI_LOWLEVEL=y 453CONFIG_SCSI_LOWLEVEL=y
413# CONFIG_ISCSI_TCP is not set 454# CONFIG_ISCSI_TCP is not set
455# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
456# CONFIG_SCSI_3W_9XXX is not set
457# CONFIG_SCSI_ACARD is not set
458# CONFIG_SCSI_AACRAID is not set
459# CONFIG_SCSI_AIC7XXX is not set
460# CONFIG_SCSI_AIC7XXX_OLD is not set
461# CONFIG_SCSI_AIC79XX is not set
462# CONFIG_SCSI_AIC94XX is not set
463# CONFIG_SCSI_DPT_I2O is not set
464# CONFIG_SCSI_ADVANSYS is not set
465# CONFIG_SCSI_ARCMSR is not set
466# CONFIG_MEGARAID_NEWGEN is not set
467# CONFIG_MEGARAID_LEGACY is not set
468# CONFIG_MEGARAID_SAS is not set
469# CONFIG_SCSI_HPTIOP is not set
470# CONFIG_SCSI_BUSLOGIC is not set
471# CONFIG_SCSI_DMX3191D is not set
472# CONFIG_SCSI_EATA is not set
473# CONFIG_SCSI_FUTURE_DOMAIN is not set
474# CONFIG_SCSI_GDTH is not set
475# CONFIG_SCSI_IPS is not set
476# CONFIG_SCSI_INITIO is not set
477# CONFIG_SCSI_INIA100 is not set
478# CONFIG_SCSI_MVSAS is not set
479# CONFIG_SCSI_STEX is not set
480# CONFIG_SCSI_SYM53C8XX_2 is not set
481# CONFIG_SCSI_IPR is not set
482# CONFIG_SCSI_QLOGIC_1280 is not set
483# CONFIG_SCSI_QLA_FC is not set
484# CONFIG_SCSI_QLA_ISCSI is not set
485# CONFIG_SCSI_LPFC is not set
486# CONFIG_SCSI_DC395x is not set
487# CONFIG_SCSI_DC390T is not set
488# CONFIG_SCSI_NSP32 is not set
414# CONFIG_SCSI_DEBUG is not set 489# CONFIG_SCSI_DEBUG is not set
490# CONFIG_SCSI_MESH is not set
491# CONFIG_SCSI_MAC53C94 is not set
492# CONFIG_SCSI_SRP is not set
493# CONFIG_SCSI_DH is not set
415CONFIG_ATA=y 494CONFIG_ATA=y
416# CONFIG_ATA_NONSTANDARD is not set 495# CONFIG_ATA_NONSTANDARD is not set
417CONFIG_SATA_PMP=y 496CONFIG_SATA_PMP=y
497# CONFIG_SATA_AHCI is not set
498# CONFIG_SATA_SIL24 is not set
418CONFIG_SATA_FSL=y 499CONFIG_SATA_FSL=y
419CONFIG_ATA_SFF=y 500CONFIG_ATA_SFF=y
501# CONFIG_SATA_SVW is not set
502# CONFIG_ATA_PIIX is not set
420# CONFIG_SATA_MV is not set 503# CONFIG_SATA_MV is not set
504# CONFIG_SATA_NV is not set
505# CONFIG_PDC_ADMA is not set
506# CONFIG_SATA_QSTOR is not set
507# CONFIG_SATA_PROMISE is not set
508# CONFIG_SATA_SX4 is not set
509# CONFIG_SATA_SIL is not set
510# CONFIG_SATA_SIS is not set
511# CONFIG_SATA_ULI is not set
512# CONFIG_SATA_VIA is not set
513# CONFIG_SATA_VITESSE is not set
514# CONFIG_SATA_INIC162X is not set
515# CONFIG_PATA_ALI is not set
516# CONFIG_PATA_AMD is not set
517# CONFIG_PATA_ARTOP is not set
518# CONFIG_PATA_ATIIXP is not set
519# CONFIG_PATA_CMD640_PCI is not set
520# CONFIG_PATA_CMD64X is not set
521# CONFIG_PATA_CS5520 is not set
522# CONFIG_PATA_CS5530 is not set
523# CONFIG_PATA_CYPRESS is not set
524# CONFIG_PATA_EFAR is not set
525# CONFIG_ATA_GENERIC is not set
526# CONFIG_PATA_HPT366 is not set
527# CONFIG_PATA_HPT37X is not set
528# CONFIG_PATA_HPT3X2N is not set
529# CONFIG_PATA_HPT3X3 is not set
530# CONFIG_PATA_IT821X is not set
531# CONFIG_PATA_IT8213 is not set
532# CONFIG_PATA_JMICRON is not set
533# CONFIG_PATA_TRIFLEX is not set
534# CONFIG_PATA_MARVELL is not set
535# CONFIG_PATA_MPIIX is not set
536# CONFIG_PATA_OLDPIIX is not set
537# CONFIG_PATA_NETCELL is not set
538# CONFIG_PATA_NINJA32 is not set
539# CONFIG_PATA_NS87410 is not set
540# CONFIG_PATA_NS87415 is not set
541# CONFIG_PATA_OPTI is not set
542# CONFIG_PATA_OPTIDMA is not set
543# CONFIG_PATA_PDC_OLD is not set
544# CONFIG_PATA_RADISYS is not set
545# CONFIG_PATA_RZ1000 is not set
546# CONFIG_PATA_SC1200 is not set
547# CONFIG_PATA_SERVERWORKS is not set
548# CONFIG_PATA_PDC2027X is not set
549# CONFIG_PATA_SIL680 is not set
550# CONFIG_PATA_SIS is not set
551# CONFIG_PATA_VIA is not set
552# CONFIG_PATA_WINBOND is not set
421# CONFIG_PATA_PLATFORM is not set 553# CONFIG_PATA_PLATFORM is not set
554# CONFIG_PATA_SCH is not set
422CONFIG_MD=y 555CONFIG_MD=y
423CONFIG_BLK_DEV_MD=y 556CONFIG_BLK_DEV_MD=y
424# CONFIG_MD_LINEAR is not set 557# CONFIG_MD_LINEAR is not set
@@ -430,15 +563,27 @@ CONFIG_MD_RAID5_RESHAPE=y
430# CONFIG_MD_MULTIPATH is not set 563# CONFIG_MD_MULTIPATH is not set
431# CONFIG_MD_FAULTY is not set 564# CONFIG_MD_FAULTY is not set
432# CONFIG_BLK_DEV_DM is not set 565# CONFIG_BLK_DEV_DM is not set
566# CONFIG_FUSION is not set
567
568#
569# IEEE 1394 (FireWire) support
570#
571
572#
573# Enable only one of the two stacks, unless you know what you are doing
574#
575# CONFIG_FIREWIRE is not set
576# CONFIG_IEEE1394 is not set
577# CONFIG_I2O is not set
433# CONFIG_MACINTOSH_DRIVERS is not set 578# CONFIG_MACINTOSH_DRIVERS is not set
434CONFIG_NETDEVICES=y 579CONFIG_NETDEVICES=y
435# CONFIG_NETDEVICES_MULTIQUEUE is not set
436# CONFIG_DUMMY is not set 580# CONFIG_DUMMY is not set
437# CONFIG_BONDING is not set 581# CONFIG_BONDING is not set
438# CONFIG_MACVLAN is not set 582# CONFIG_MACVLAN is not set
439# CONFIG_EQUALIZER is not set 583# CONFIG_EQUALIZER is not set
440# CONFIG_TUN is not set 584# CONFIG_TUN is not set
441# CONFIG_VETH is not set 585# CONFIG_VETH is not set
586# CONFIG_ARCNET is not set
442CONFIG_PHYLIB=y 587CONFIG_PHYLIB=y
443 588
444# 589#
@@ -458,16 +603,44 @@ CONFIG_FIXED_PHY=y
458# CONFIG_MDIO_BITBANG is not set 603# CONFIG_MDIO_BITBANG is not set
459CONFIG_NET_ETHERNET=y 604CONFIG_NET_ETHERNET=y
460CONFIG_MII=y 605CONFIG_MII=y
606# CONFIG_MACE is not set
607# CONFIG_BMAC is not set
608# CONFIG_HAPPYMEAL is not set
609# CONFIG_SUNGEM is not set
610# CONFIG_CASSINI is not set
611# CONFIG_NET_VENDOR_3COM is not set
612# CONFIG_NET_TULIP is not set
613# CONFIG_HP100 is not set
461# CONFIG_IBM_NEW_EMAC_ZMII is not set 614# CONFIG_IBM_NEW_EMAC_ZMII is not set
462# CONFIG_IBM_NEW_EMAC_RGMII is not set 615# CONFIG_IBM_NEW_EMAC_RGMII is not set
463# CONFIG_IBM_NEW_EMAC_TAH is not set 616# CONFIG_IBM_NEW_EMAC_TAH is not set
464# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 617# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
618# CONFIG_NET_PCI is not set
465# CONFIG_B44 is not set 619# CONFIG_B44 is not set
466CONFIG_NETDEV_1000=y 620CONFIG_NETDEV_1000=y
467# CONFIG_E1000E_ENABLED is not set 621# CONFIG_ACENIC is not set
622# CONFIG_DL2K is not set
623# CONFIG_E1000 is not set
624# CONFIG_E1000E is not set
625# CONFIG_IP1000 is not set
626# CONFIG_IGB is not set
627# CONFIG_NS83820 is not set
628# CONFIG_HAMACHI is not set
629# CONFIG_YELLOWFIN is not set
630# CONFIG_R8169 is not set
631# CONFIG_SIS190 is not set
632# CONFIG_SKGE is not set
633# CONFIG_SKY2 is not set
634# CONFIG_VIA_VELOCITY is not set
635# CONFIG_TIGON3 is not set
636# CONFIG_BNX2 is not set
468CONFIG_GIANFAR=y 637CONFIG_GIANFAR=y
469CONFIG_GFAR_NAPI=y 638# CONFIG_MV643XX_ETH is not set
639# CONFIG_QLA3XXX is not set
640# CONFIG_ATL1 is not set
641# CONFIG_ATL1E is not set
470# CONFIG_NETDEV_10000 is not set 642# CONFIG_NETDEV_10000 is not set
643# CONFIG_TR is not set
471 644
472# 645#
473# Wireless LAN 646# Wireless LAN
@@ -485,8 +658,11 @@ CONFIG_GFAR_NAPI=y
485# CONFIG_USB_RTL8150 is not set 658# CONFIG_USB_RTL8150 is not set
486# CONFIG_USB_USBNET is not set 659# CONFIG_USB_USBNET is not set
487# CONFIG_WAN is not set 660# CONFIG_WAN is not set
661# CONFIG_FDDI is not set
662# CONFIG_HIPPI is not set
488# CONFIG_PPP is not set 663# CONFIG_PPP is not set
489# CONFIG_SLIP is not set 664# CONFIG_SLIP is not set
665# CONFIG_NET_FC is not set
490# CONFIG_NETCONSOLE is not set 666# CONFIG_NETCONSOLE is not set
491# CONFIG_NETPOLL is not set 667# CONFIG_NETPOLL is not set
492# CONFIG_NET_POLL_CONTROLLER is not set 668# CONFIG_NET_POLL_CONTROLLER is not set
@@ -530,12 +706,14 @@ CONFIG_INPUT=y
530# CONFIG_VT is not set 706# CONFIG_VT is not set
531CONFIG_DEVKMEM=y 707CONFIG_DEVKMEM=y
532# CONFIG_SERIAL_NONSTANDARD is not set 708# CONFIG_SERIAL_NONSTANDARD is not set
709# CONFIG_NOZOMI is not set
533 710
534# 711#
535# Serial drivers 712# Serial drivers
536# 713#
537CONFIG_SERIAL_8250=y 714CONFIG_SERIAL_8250=y
538CONFIG_SERIAL_8250_CONSOLE=y 715CONFIG_SERIAL_8250_CONSOLE=y
716CONFIG_SERIAL_8250_PCI=y
539CONFIG_SERIAL_8250_NR_UARTS=4 717CONFIG_SERIAL_8250_NR_UARTS=4
540CONFIG_SERIAL_8250_RUNTIME_UARTS=4 718CONFIG_SERIAL_8250_RUNTIME_UARTS=4
541# CONFIG_SERIAL_8250_EXTENDED is not set 719# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -546,41 +724,91 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
546# CONFIG_SERIAL_UARTLITE is not set 724# CONFIG_SERIAL_UARTLITE is not set
547CONFIG_SERIAL_CORE=y 725CONFIG_SERIAL_CORE=y
548CONFIG_SERIAL_CORE_CONSOLE=y 726CONFIG_SERIAL_CORE_CONSOLE=y
727# CONFIG_SERIAL_PMACZILOG is not set
728# CONFIG_SERIAL_JSM is not set
549# CONFIG_SERIAL_OF_PLATFORM is not set 729# CONFIG_SERIAL_OF_PLATFORM is not set
550CONFIG_UNIX98_PTYS=y 730CONFIG_UNIX98_PTYS=y
551CONFIG_LEGACY_PTYS=y 731CONFIG_LEGACY_PTYS=y
552CONFIG_LEGACY_PTY_COUNT=256 732CONFIG_LEGACY_PTY_COUNT=256
733# CONFIG_BRIQ_PANEL is not set
734# CONFIG_HVC_RTAS is not set
553# CONFIG_IPMI_HANDLER is not set 735# CONFIG_IPMI_HANDLER is not set
554# CONFIG_HW_RANDOM is not set 736# CONFIG_HW_RANDOM is not set
555# CONFIG_NVRAM is not set 737# CONFIG_NVRAM is not set
556CONFIG_GEN_RTC=y 738CONFIG_GEN_RTC=y
557# CONFIG_GEN_RTC_X is not set 739# CONFIG_GEN_RTC_X is not set
558# CONFIG_R3964 is not set 740# CONFIG_R3964 is not set
741# CONFIG_APPLICOM is not set
559# CONFIG_RAW_DRIVER is not set 742# CONFIG_RAW_DRIVER is not set
560# CONFIG_TCG_TPM is not set 743# CONFIG_TCG_TPM is not set
744CONFIG_DEVPORT=y
561CONFIG_I2C=y 745CONFIG_I2C=y
562CONFIG_I2C_BOARDINFO=y 746CONFIG_I2C_BOARDINFO=y
563CONFIG_I2C_CHARDEV=y 747CONFIG_I2C_CHARDEV=y
748CONFIG_I2C_HELPER_AUTO=y
564 749
565# 750#
566# I2C Hardware Bus support 751# I2C Hardware Bus support
567# 752#
753
754#
755# PC SMBus host controller drivers
756#
757# CONFIG_I2C_ALI1535 is not set
758# CONFIG_I2C_ALI1563 is not set
759# CONFIG_I2C_ALI15X3 is not set
760# CONFIG_I2C_AMD756 is not set
761# CONFIG_I2C_AMD8111 is not set
762# CONFIG_I2C_I801 is not set
763# CONFIG_I2C_ISCH is not set
764# CONFIG_I2C_PIIX4 is not set
765# CONFIG_I2C_NFORCE2 is not set
766# CONFIG_I2C_SIS5595 is not set
767# CONFIG_I2C_SIS630 is not set
768# CONFIG_I2C_SIS96X is not set
769# CONFIG_I2C_VIA is not set
770# CONFIG_I2C_VIAPRO is not set
771
772#
773# Mac SMBus host controller drivers
774#
775# CONFIG_I2C_HYDRA is not set
776CONFIG_I2C_POWERMAC=y
777
778#
779# I2C system bus drivers (mostly embedded / system-on-chip)
780#
568CONFIG_I2C_MPC=y 781CONFIG_I2C_MPC=y
569# CONFIG_I2C_OCORES is not set 782# CONFIG_I2C_OCORES is not set
570# CONFIG_I2C_PARPORT_LIGHT is not set
571# CONFIG_I2C_SIMTEC is not set 783# CONFIG_I2C_SIMTEC is not set
784
785#
786# External I2C/SMBus adapter drivers
787#
788# CONFIG_I2C_PARPORT_LIGHT is not set
572# CONFIG_I2C_TAOS_EVM is not set 789# CONFIG_I2C_TAOS_EVM is not set
573# CONFIG_I2C_STUB is not set
574# CONFIG_I2C_TINY_USB is not set 790# CONFIG_I2C_TINY_USB is not set
791
792#
793# Graphics adapter I2C/DDC channel drivers
794#
795# CONFIG_I2C_VOODOO3 is not set
796
797#
798# Other I2C/SMBus bus drivers
799#
575# CONFIG_I2C_PCA_PLATFORM is not set 800# CONFIG_I2C_PCA_PLATFORM is not set
801# CONFIG_I2C_STUB is not set
576 802
577# 803#
578# Miscellaneous I2C Chip support 804# Miscellaneous I2C Chip support
579# 805#
580# CONFIG_DS1682 is not set 806# CONFIG_DS1682 is not set
807# CONFIG_AT24 is not set
581# CONFIG_SENSORS_EEPROM is not set 808# CONFIG_SENSORS_EEPROM is not set
582# CONFIG_SENSORS_PCF8574 is not set 809# CONFIG_SENSORS_PCF8574 is not set
583# CONFIG_PCF8575 is not set 810# CONFIG_PCF8575 is not set
811# CONFIG_SENSORS_PCA9539 is not set
584# CONFIG_SENSORS_PCF8591 is not set 812# CONFIG_SENSORS_PCF8591 is not set
585# CONFIG_SENSORS_MAX6875 is not set 813# CONFIG_SENSORS_MAX6875 is not set
586# CONFIG_SENSORS_TSL2550 is not set 814# CONFIG_SENSORS_TSL2550 is not set
@@ -589,10 +817,13 @@ CONFIG_I2C_MPC=y
589# CONFIG_I2C_DEBUG_BUS is not set 817# CONFIG_I2C_DEBUG_BUS is not set
590# CONFIG_I2C_DEBUG_CHIP is not set 818# CONFIG_I2C_DEBUG_CHIP is not set
591# CONFIG_SPI is not set 819# CONFIG_SPI is not set
820CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
821# CONFIG_GPIOLIB is not set
592# CONFIG_W1 is not set 822# CONFIG_W1 is not set
593# CONFIG_POWER_SUPPLY is not set 823# CONFIG_POWER_SUPPLY is not set
594CONFIG_HWMON=y 824CONFIG_HWMON=y
595# CONFIG_HWMON_VID is not set 825# CONFIG_HWMON_VID is not set
826# CONFIG_SENSORS_AD7414 is not set
596# CONFIG_SENSORS_AD7418 is not set 827# CONFIG_SENSORS_AD7418 is not set
597# CONFIG_SENSORS_ADM1021 is not set 828# CONFIG_SENSORS_ADM1021 is not set
598# CONFIG_SENSORS_ADM1025 is not set 829# CONFIG_SENSORS_ADM1025 is not set
@@ -602,8 +833,10 @@ CONFIG_HWMON=y
602# CONFIG_SENSORS_ADM9240 is not set 833# CONFIG_SENSORS_ADM9240 is not set
603# CONFIG_SENSORS_ADT7470 is not set 834# CONFIG_SENSORS_ADT7470 is not set
604# CONFIG_SENSORS_ADT7473 is not set 835# CONFIG_SENSORS_ADT7473 is not set
836# CONFIG_SENSORS_AMS is not set
605# CONFIG_SENSORS_ATXP1 is not set 837# CONFIG_SENSORS_ATXP1 is not set
606# CONFIG_SENSORS_DS1621 is not set 838# CONFIG_SENSORS_DS1621 is not set
839# CONFIG_SENSORS_I5K_AMB is not set
607# CONFIG_SENSORS_F71805F is not set 840# CONFIG_SENSORS_F71805F is not set
608# CONFIG_SENSORS_F71882FG is not set 841# CONFIG_SENSORS_F71882FG is not set
609# CONFIG_SENSORS_F75375S is not set 842# CONFIG_SENSORS_F75375S is not set
@@ -625,13 +858,16 @@ CONFIG_HWMON=y
625# CONFIG_SENSORS_MAX6650 is not set 858# CONFIG_SENSORS_MAX6650 is not set
626# CONFIG_SENSORS_PC87360 is not set 859# CONFIG_SENSORS_PC87360 is not set
627# CONFIG_SENSORS_PC87427 is not set 860# CONFIG_SENSORS_PC87427 is not set
861# CONFIG_SENSORS_SIS5595 is not set
628# CONFIG_SENSORS_DME1737 is not set 862# CONFIG_SENSORS_DME1737 is not set
629# CONFIG_SENSORS_SMSC47M1 is not set 863# CONFIG_SENSORS_SMSC47M1 is not set
630# CONFIG_SENSORS_SMSC47M192 is not set 864# CONFIG_SENSORS_SMSC47M192 is not set
631# CONFIG_SENSORS_SMSC47B397 is not set 865# CONFIG_SENSORS_SMSC47B397 is not set
632# CONFIG_SENSORS_ADS7828 is not set 866# CONFIG_SENSORS_ADS7828 is not set
633# CONFIG_SENSORS_THMC50 is not set 867# CONFIG_SENSORS_THMC50 is not set
868# CONFIG_SENSORS_VIA686A is not set
634# CONFIG_SENSORS_VT1211 is not set 869# CONFIG_SENSORS_VT1211 is not set
870# CONFIG_SENSORS_VT8231 is not set
635# CONFIG_SENSORS_W83781D is not set 871# CONFIG_SENSORS_W83781D is not set
636# CONFIG_SENSORS_W83791D is not set 872# CONFIG_SENSORS_W83791D is not set
637# CONFIG_SENSORS_W83792D is not set 873# CONFIG_SENSORS_W83792D is not set
@@ -642,6 +878,7 @@ CONFIG_HWMON=y
642# CONFIG_SENSORS_W83627EHF is not set 878# CONFIG_SENSORS_W83627EHF is not set
643# CONFIG_HWMON_DEBUG_CHIP is not set 879# CONFIG_HWMON_DEBUG_CHIP is not set
644# CONFIG_THERMAL is not set 880# CONFIG_THERMAL is not set
881# CONFIG_THERMAL_HWMON is not set
645CONFIG_WATCHDOG=y 882CONFIG_WATCHDOG=y
646# CONFIG_WATCHDOG_NOWAYOUT is not set 883# CONFIG_WATCHDOG_NOWAYOUT is not set
647 884
@@ -649,7 +886,15 @@ CONFIG_WATCHDOG=y
649# Watchdog Device Drivers 886# Watchdog Device Drivers
650# 887#
651# CONFIG_SOFT_WATCHDOG is not set 888# CONFIG_SOFT_WATCHDOG is not set
652CONFIG_83xx_WDT=y 889# CONFIG_ALIM7101_WDT is not set
890# CONFIG_8xxx_WDT is not set
891# CONFIG_WATCHDOG_RTAS is not set
892
893#
894# PCI-based Watchdog Cards
895#
896# CONFIG_PCIPCWATCHDOG is not set
897# CONFIG_WDTPCI is not set
653 898
654# 899#
655# USB-based Watchdog Cards 900# USB-based Watchdog Cards
@@ -665,8 +910,10 @@ CONFIG_SSB_POSSIBLE=y
665# 910#
666# Multifunction device drivers 911# Multifunction device drivers
667# 912#
913# CONFIG_MFD_CORE is not set
668# CONFIG_MFD_SM501 is not set 914# CONFIG_MFD_SM501 is not set
669# CONFIG_HTC_PASIC3 is not set 915# CONFIG_HTC_PASIC3 is not set
916# CONFIG_MFD_TMIO is not set
670 917
671# 918#
672# Multimedia devices 919# Multimedia devices
@@ -688,6 +935,8 @@ CONFIG_DAB=y
688# 935#
689# Graphics support 936# Graphics support
690# 937#
938# CONFIG_AGP is not set
939# CONFIG_DRM is not set
691# CONFIG_VGASTATE is not set 940# CONFIG_VGASTATE is not set
692CONFIG_VIDEO_OUTPUT_CONTROL=m 941CONFIG_VIDEO_OUTPUT_CONTROL=m
693# CONFIG_FB is not set 942# CONFIG_FB is not set
@@ -697,10 +946,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
697# Display device support 946# Display device support
698# 947#
699# CONFIG_DISPLAY_SUPPORT is not set 948# CONFIG_DISPLAY_SUPPORT is not set
700
701#
702# Sound
703#
704# CONFIG_SOUND is not set 949# CONFIG_SOUND is not set
705CONFIG_HID_SUPPORT=y 950CONFIG_HID_SUPPORT=y
706CONFIG_HID=y 951CONFIG_HID=y
@@ -716,7 +961,7 @@ CONFIG_USB_HID=y
716# CONFIG_USB_HIDDEV is not set 961# CONFIG_USB_HIDDEV is not set
717CONFIG_USB_SUPPORT=y 962CONFIG_USB_SUPPORT=y
718CONFIG_USB_ARCH_HAS_HCD=y 963CONFIG_USB_ARCH_HAS_HCD=y
719# CONFIG_USB_ARCH_HAS_OHCI is not set 964CONFIG_USB_ARCH_HAS_OHCI=y
720CONFIG_USB_ARCH_HAS_EHCI=y 965CONFIG_USB_ARCH_HAS_EHCI=y
721CONFIG_USB=y 966CONFIG_USB=y
722# CONFIG_USB_DEBUG is not set 967# CONFIG_USB_DEBUG is not set
@@ -731,6 +976,7 @@ CONFIG_USB_DEVICE_CLASS=y
731# CONFIG_USB_OTG is not set 976# CONFIG_USB_OTG is not set
732# CONFIG_USB_OTG_WHITELIST is not set 977# CONFIG_USB_OTG_WHITELIST is not set
733# CONFIG_USB_OTG_BLACKLIST_HUB is not set 978# CONFIG_USB_OTG_BLACKLIST_HUB is not set
979CONFIG_USB_MON=y
734 980
735# 981#
736# USB Host Controller Drivers 982# USB Host Controller Drivers
@@ -743,6 +989,8 @@ CONFIG_USB_EHCI_FSL=y
743CONFIG_USB_EHCI_HCD_PPC_OF=y 989CONFIG_USB_EHCI_HCD_PPC_OF=y
744# CONFIG_USB_ISP116X_HCD is not set 990# CONFIG_USB_ISP116X_HCD is not set
745# CONFIG_USB_ISP1760_HCD is not set 991# CONFIG_USB_ISP1760_HCD is not set
992# CONFIG_USB_OHCI_HCD is not set
993# CONFIG_USB_UHCI_HCD is not set
746# CONFIG_USB_SL811_HCD is not set 994# CONFIG_USB_SL811_HCD is not set
747# CONFIG_USB_R8A66597_HCD is not set 995# CONFIG_USB_R8A66597_HCD is not set
748 996
@@ -768,7 +1016,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
768# 1016#
769# CONFIG_USB_MDC800 is not set 1017# CONFIG_USB_MDC800 is not set
770# CONFIG_USB_MICROTEK is not set 1018# CONFIG_USB_MICROTEK is not set
771CONFIG_USB_MON=y
772 1019
773# 1020#
774# USB port drivers 1021# USB port drivers
@@ -781,7 +1028,6 @@ CONFIG_USB_MON=y
781# CONFIG_USB_EMI62 is not set 1028# CONFIG_USB_EMI62 is not set
782# CONFIG_USB_EMI26 is not set 1029# CONFIG_USB_EMI26 is not set
783# CONFIG_USB_ADUTUX is not set 1030# CONFIG_USB_ADUTUX is not set
784# CONFIG_USB_AUERSWALD is not set
785# CONFIG_USB_RIO500 is not set 1031# CONFIG_USB_RIO500 is not set
786# CONFIG_USB_LEGOTOWER is not set 1032# CONFIG_USB_LEGOTOWER is not set
787# CONFIG_USB_LCD is not set 1033# CONFIG_USB_LCD is not set
@@ -803,6 +1049,7 @@ CONFIG_USB_MON=y
803# CONFIG_MEMSTICK is not set 1049# CONFIG_MEMSTICK is not set
804# CONFIG_NEW_LEDS is not set 1050# CONFIG_NEW_LEDS is not set
805# CONFIG_ACCESSIBILITY is not set 1051# CONFIG_ACCESSIBILITY is not set
1052# CONFIG_INFINIBAND is not set
806# CONFIG_EDAC is not set 1053# CONFIG_EDAC is not set
807# CONFIG_RTC_CLASS is not set 1054# CONFIG_RTC_CLASS is not set
808# CONFIG_DMADEVICES is not set 1055# CONFIG_DMADEVICES is not set
@@ -872,6 +1119,7 @@ CONFIG_TMPFS=y
872# CONFIG_CRAMFS is not set 1119# CONFIG_CRAMFS is not set
873# CONFIG_VXFS_FS is not set 1120# CONFIG_VXFS_FS is not set
874# CONFIG_MINIX_FS is not set 1121# CONFIG_MINIX_FS is not set
1122# CONFIG_OMFS_FS is not set
875# CONFIG_HPFS_FS is not set 1123# CONFIG_HPFS_FS is not set
876# CONFIG_QNX4FS_FS is not set 1124# CONFIG_QNX4FS_FS is not set
877# CONFIG_ROMFS_FS is not set 1125# CONFIG_ROMFS_FS is not set
@@ -882,14 +1130,13 @@ CONFIG_NFS_FS=y
882CONFIG_NFS_V3=y 1130CONFIG_NFS_V3=y
883# CONFIG_NFS_V3_ACL is not set 1131# CONFIG_NFS_V3_ACL is not set
884CONFIG_NFS_V4=y 1132CONFIG_NFS_V4=y
885# CONFIG_NFSD is not set
886CONFIG_ROOT_NFS=y 1133CONFIG_ROOT_NFS=y
1134# CONFIG_NFSD is not set
887CONFIG_LOCKD=y 1135CONFIG_LOCKD=y
888CONFIG_LOCKD_V4=y 1136CONFIG_LOCKD_V4=y
889CONFIG_NFS_COMMON=y 1137CONFIG_NFS_COMMON=y
890CONFIG_SUNRPC=y 1138CONFIG_SUNRPC=y
891CONFIG_SUNRPC_GSS=y 1139CONFIG_SUNRPC_GSS=y
892# CONFIG_SUNRPC_BIND34 is not set
893CONFIG_RPCSEC_GSS_KRB5=y 1140CONFIG_RPCSEC_GSS_KRB5=y
894# CONFIG_RPCSEC_GSS_SPKM3 is not set 1141# CONFIG_RPCSEC_GSS_SPKM3 is not set
895# CONFIG_SMB_FS is not set 1142# CONFIG_SMB_FS is not set
@@ -929,6 +1176,7 @@ CONFIG_BITREVERSE=y
929# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1176# CONFIG_GENERIC_FIND_FIRST_BIT is not set
930# CONFIG_CRC_CCITT is not set 1177# CONFIG_CRC_CCITT is not set
931# CONFIG_CRC16 is not set 1178# CONFIG_CRC16 is not set
1179CONFIG_CRC_T10DIF=y
932# CONFIG_CRC_ITU_T is not set 1180# CONFIG_CRC_ITU_T is not set
933CONFIG_CRC32=y 1181CONFIG_CRC32=y
934# CONFIG_CRC7 is not set 1182# CONFIG_CRC7 is not set
@@ -952,8 +1200,18 @@ CONFIG_FRAME_WARN=1024
952# CONFIG_HEADERS_CHECK is not set 1200# CONFIG_HEADERS_CHECK is not set
953# CONFIG_DEBUG_KERNEL is not set 1201# CONFIG_DEBUG_KERNEL is not set
954# CONFIG_DEBUG_BUGVERBOSE is not set 1202# CONFIG_DEBUG_BUGVERBOSE is not set
1203# CONFIG_DEBUG_MEMORY_INIT is not set
1204# CONFIG_LATENCYTOP is not set
1205CONFIG_SYSCTL_SYSCALL_CHECK=y
1206CONFIG_HAVE_FTRACE=y
1207CONFIG_HAVE_DYNAMIC_FTRACE=y
1208# CONFIG_FTRACE is not set
1209# CONFIG_SCHED_TRACER is not set
1210# CONFIG_CONTEXT_SWITCH_TRACER is not set
955# CONFIG_SAMPLES is not set 1211# CONFIG_SAMPLES is not set
1212CONFIG_HAVE_ARCH_KGDB=y
956# CONFIG_IRQSTACKS is not set 1213# CONFIG_IRQSTACKS is not set
1214# CONFIG_BOOTX_TEXT is not set
957# CONFIG_PPC_EARLY_DEBUG is not set 1215# CONFIG_PPC_EARLY_DEBUG is not set
958 1216
959# 1217#
@@ -1011,6 +1269,10 @@ CONFIG_CRYPTO_PCBC=m
1011# CONFIG_CRYPTO_MD4 is not set 1269# CONFIG_CRYPTO_MD4 is not set
1012CONFIG_CRYPTO_MD5=y 1270CONFIG_CRYPTO_MD5=y
1013# CONFIG_CRYPTO_MICHAEL_MIC is not set 1271# CONFIG_CRYPTO_MICHAEL_MIC is not set
1272# CONFIG_CRYPTO_RMD128 is not set
1273# CONFIG_CRYPTO_RMD160 is not set
1274# CONFIG_CRYPTO_RMD256 is not set
1275# CONFIG_CRYPTO_RMD320 is not set
1014# CONFIG_CRYPTO_SHA1 is not set 1276# CONFIG_CRYPTO_SHA1 is not set
1015# CONFIG_CRYPTO_SHA256 is not set 1277# CONFIG_CRYPTO_SHA256 is not set
1016# CONFIG_CRYPTO_SHA512 is not set 1278# CONFIG_CRYPTO_SHA512 is not set
@@ -1042,5 +1304,7 @@ CONFIG_CRYPTO_DES=y
1042# CONFIG_CRYPTO_DEFLATE is not set 1304# CONFIG_CRYPTO_DEFLATE is not set
1043# CONFIG_CRYPTO_LZO is not set 1305# CONFIG_CRYPTO_LZO is not set
1044CONFIG_CRYPTO_HW=y 1306CONFIG_CRYPTO_HW=y
1307# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1308# CONFIG_CRYPTO_DEV_TALITOS is not set
1045# CONFIG_PPC_CLOCK is not set 1309# CONFIG_PPC_CLOCK is not set
1046# CONFIG_VIRTUALIZATION is not set 1310# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
index 1752918be2c1..9245a67da200 100644
--- a/arch/powerpc/configs/83xx/sbc834x_defconfig
+++ b/arch/powerpc/configs/83xx/sbc834x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:30 2008 4# Thu Aug 21 00:52:27 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -51,6 +53,9 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,12 +93,12 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92# CONFIG_KALLSYMS is not set 96# CONFIG_KALLSYMS is not set
93CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 98CONFIG_PRINTK=y
95CONFIG_BUG=y 99CONFIG_BUG=y
96CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -110,10 +115,16 @@ CONFIG_SLAB=y
110# CONFIG_PROFILING is not set 115# CONFIG_PROFILING is not set
111# CONFIG_MARKERS is not set 116# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 117CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
119CONFIG_HAVE_IOREMAP_PROT=y
113CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y
115# CONFIG_HAVE_DMA_ATTRS is not set 123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
116CONFIG_PROC_PAGE_MONITOR=y 126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
117CONFIG_SLABINFO=y 128CONFIG_SLABINFO=y
118CONFIG_RT_MUTEXES=y 129CONFIG_RT_MUTEXES=y
119# CONFIG_TINY_SHMEM is not set 130# CONFIG_TINY_SHMEM is not set
@@ -124,12 +135,13 @@ CONFIG_MODULE_UNLOAD=y
124# CONFIG_MODULE_FORCE_UNLOAD is not set 135# CONFIG_MODULE_FORCE_UNLOAD is not set
125# CONFIG_MODVERSIONS is not set 136# CONFIG_MODVERSIONS is not set
126# CONFIG_MODULE_SRCVERSION_ALL is not set 137# CONFIG_MODULE_SRCVERSION_ALL is not set
127# CONFIG_KMOD is not set 138CONFIG_KMOD=y
128CONFIG_BLOCK=y 139CONFIG_BLOCK=y
129# CONFIG_LBD is not set 140# CONFIG_LBD is not set
130# CONFIG_BLK_DEV_IO_TRACE is not set 141# CONFIG_BLK_DEV_IO_TRACE is not set
131# CONFIG_LSF is not set 142# CONFIG_LSF is not set
132# CONFIG_BLK_DEV_BSG is not set 143# CONFIG_BLK_DEV_BSG is not set
144# CONFIG_BLK_DEV_INTEGRITY is not set
133 145
134# 146#
135# IO Schedulers 147# IO Schedulers
@@ -148,37 +160,49 @@ CONFIG_CLASSIC_RCU=y
148# 160#
149# Platform support 161# Platform support
150# 162#
151# CONFIG_PPC_MULTIPLATFORM is not set 163CONFIG_PPC_MULTIPLATFORM=y
152# CONFIG_PPC_82xx is not set 164CONFIG_CLASSIC32=y
153CONFIG_PPC_83xx=y 165CONFIG_PPC_CHRP=y
154# CONFIG_PPC_86xx is not set 166# CONFIG_MPC5121_ADS is not set
155# CONFIG_PPC_MPC512x is not set 167# CONFIG_MPC5121_GENERIC is not set
156# CONFIG_PPC_MPC5121 is not set 168# CONFIG_PPC_MPC52xx is not set
169CONFIG_PPC_PMAC=y
157# CONFIG_PPC_CELL is not set 170# CONFIG_PPC_CELL is not set
158# CONFIG_PPC_CELL_NATIVE is not set 171# CONFIG_PPC_CELL_NATIVE is not set
172# CONFIG_PPC_82xx is not set
159# CONFIG_PQ2ADS is not set 173# CONFIG_PQ2ADS is not set
160CONFIG_MPC83xx=y 174CONFIG_PPC_83xx=y
161# CONFIG_MPC831x_RDB is not set 175# CONFIG_MPC831x_RDB is not set
162# CONFIG_MPC832x_MDS is not set 176# CONFIG_MPC832x_MDS is not set
163# CONFIG_MPC832x_RDB is not set 177# CONFIG_MPC832x_RDB is not set
164# CONFIG_MPC834x_MDS is not set 178# CONFIG_MPC834x_MDS is not set
165# CONFIG_MPC834x_ITX is not set 179# CONFIG_MPC834x_ITX is not set
166# CONFIG_MPC836x_MDS is not set 180# CONFIG_MPC836x_MDS is not set
181# CONFIG_MPC836x_RDK is not set
167# CONFIG_MPC837x_MDS is not set 182# CONFIG_MPC837x_MDS is not set
168# CONFIG_MPC837x_RDB is not set 183# CONFIG_MPC837x_RDB is not set
169CONFIG_SBC834x=y 184CONFIG_SBC834x=y
185# CONFIG_ASP834x is not set
170CONFIG_PPC_MPC834x=y 186CONFIG_PPC_MPC834x=y
187# CONFIG_PPC_86xx is not set
188# CONFIG_EMBEDDED6xx is not set
189CONFIG_PPC_NATIVE=y
190# CONFIG_UDBG_RTAS_CONSOLE is not set
171CONFIG_IPIC=y 191CONFIG_IPIC=y
172# CONFIG_MPIC is not set 192CONFIG_MPIC=y
173# CONFIG_MPIC_WEIRD is not set 193# CONFIG_MPIC_WEIRD is not set
174# CONFIG_PPC_I8259 is not set 194CONFIG_PPC_I8259=y
175# CONFIG_PPC_RTAS is not set 195CONFIG_PPC_RTAS=y
196# CONFIG_RTAS_ERROR_LOGGING is not set
197CONFIG_RTAS_PROC=y
176# CONFIG_MMIO_NVRAM is not set 198# CONFIG_MMIO_NVRAM is not set
177# CONFIG_PPC_MPC106 is not set 199CONFIG_PPC_MPC106=y
178# CONFIG_PPC_970_NAP is not set 200# CONFIG_PPC_970_NAP is not set
179# CONFIG_PPC_INDIRECT_IO is not set 201# CONFIG_PPC_INDIRECT_IO is not set
180# CONFIG_GENERIC_IOMAP is not set 202# CONFIG_GENERIC_IOMAP is not set
181# CONFIG_CPU_FREQ is not set 203# CONFIG_CPU_FREQ is not set
204# CONFIG_PPC601_SYNC_FIX is not set
205# CONFIG_TAU is not set
182# CONFIG_FSL_ULI1575 is not set 206# CONFIG_FSL_ULI1575 is not set
183 207
184# 208#
@@ -204,6 +228,7 @@ CONFIG_BINFMT_ELF=y
204CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 228CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
205CONFIG_ARCH_HAS_WALK_MEMORY=y 229CONFIG_ARCH_HAS_WALK_MEMORY=y
206CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
231# CONFIG_KEXEC is not set
207CONFIG_ARCH_FLATMEM_ENABLE=y 232CONFIG_ARCH_FLATMEM_ENABLE=y
208CONFIG_ARCH_POPULATES_NODE_MAP=y 233CONFIG_ARCH_POPULATES_NODE_MAP=y
209CONFIG_SELECT_MEMORY_MODEL=y 234CONFIG_SELECT_MEMORY_MODEL=y
@@ -216,6 +241,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
216# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 241# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
217CONFIG_PAGEFLAGS_EXTENDED=y 242CONFIG_PAGEFLAGS_EXTENDED=y
218CONFIG_SPLIT_PTLOCK_CPUS=4 243CONFIG_SPLIT_PTLOCK_CPUS=4
244CONFIG_MIGRATION=y
219# CONFIG_RESOURCES_64BIT is not set 245# CONFIG_RESOURCES_64BIT is not set
220CONFIG_ZONE_DMA_FLAG=1 246CONFIG_ZONE_DMA_FLAG=1
221CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
@@ -223,6 +249,7 @@ CONFIG_VIRT_TO_BUS=y
223CONFIG_FORCE_MAX_ZONEORDER=11 249CONFIG_FORCE_MAX_ZONEORDER=11
224CONFIG_PROC_DEVICETREE=y 250CONFIG_PROC_DEVICETREE=y
225# CONFIG_CMDLINE_BOOL is not set 251# CONFIG_CMDLINE_BOOL is not set
252CONFIG_EXTRA_TARGETS=""
226# CONFIG_PM is not set 253# CONFIG_PM is not set
227CONFIG_SECCOMP=y 254CONFIG_SECCOMP=y
228CONFIG_ISA_DMA_API=y 255CONFIG_ISA_DMA_API=y
@@ -230,15 +257,22 @@ CONFIG_ISA_DMA_API=y
230# 257#
231# Bus options 258# Bus options
232# 259#
260# CONFIG_ISA is not set
233CONFIG_ZONE_DMA=y 261CONFIG_ZONE_DMA=y
234CONFIG_GENERIC_ISA_DMA=y 262CONFIG_GENERIC_ISA_DMA=y
235CONFIG_PPC_INDIRECT_PCI=y 263CONFIG_PPC_INDIRECT_PCI=y
236CONFIG_FSL_SOC=y 264CONFIG_FSL_SOC=y
237# CONFIG_PCI is not set 265CONFIG_FSL_PCI=y
238# CONFIG_PCI_DOMAINS is not set 266CONFIG_PPC_PCI_CHOICE=y
239# CONFIG_PCI_SYSCALL is not set 267CONFIG_PCI=y
240# CONFIG_ARCH_SUPPORTS_MSI is not set 268CONFIG_PCI_DOMAINS=y
269CONFIG_PCI_SYSCALL=y
270# CONFIG_PCIEPORTBUS is not set
271CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set
273CONFIG_PCI_LEGACY=y
241# CONFIG_PCCARD is not set 274# CONFIG_PCCARD is not set
275# CONFIG_HOTPLUG_PCI is not set
242# CONFIG_HAS_RAPIDIO is not set 276# CONFIG_HAS_RAPIDIO is not set
243 277
244# 278#
@@ -254,10 +288,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
254CONFIG_KERNEL_START=0xc0000000 288CONFIG_KERNEL_START=0xc0000000
255CONFIG_PHYSICAL_START=0x00000000 289CONFIG_PHYSICAL_START=0x00000000
256CONFIG_TASK_SIZE=0xc0000000 290CONFIG_TASK_SIZE=0xc0000000
257
258#
259# Networking
260#
261CONFIG_NET=y 291CONFIG_NET=y
262 292
263# 293#
@@ -358,19 +388,30 @@ CONFIG_OF_I2C=y
358# CONFIG_PARPORT is not set 388# CONFIG_PARPORT is not set
359CONFIG_BLK_DEV=y 389CONFIG_BLK_DEV=y
360# CONFIG_BLK_DEV_FD is not set 390# CONFIG_BLK_DEV_FD is not set
391# CONFIG_MAC_FLOPPY is not set
392# CONFIG_BLK_CPQ_DA is not set
393# CONFIG_BLK_CPQ_CISS_DA is not set
394# CONFIG_BLK_DEV_DAC960 is not set
395# CONFIG_BLK_DEV_UMEM is not set
361# CONFIG_BLK_DEV_COW_COMMON is not set 396# CONFIG_BLK_DEV_COW_COMMON is not set
362CONFIG_BLK_DEV_LOOP=y 397CONFIG_BLK_DEV_LOOP=y
363# CONFIG_BLK_DEV_CRYPTOLOOP is not set 398# CONFIG_BLK_DEV_CRYPTOLOOP is not set
364# CONFIG_BLK_DEV_NBD is not set 399# CONFIG_BLK_DEV_NBD is not set
400# CONFIG_BLK_DEV_SX8 is not set
365CONFIG_BLK_DEV_RAM=y 401CONFIG_BLK_DEV_RAM=y
366CONFIG_BLK_DEV_RAM_COUNT=16 402CONFIG_BLK_DEV_RAM_COUNT=16
367CONFIG_BLK_DEV_RAM_SIZE=32768 403CONFIG_BLK_DEV_RAM_SIZE=32768
368# CONFIG_BLK_DEV_XIP is not set 404# CONFIG_BLK_DEV_XIP is not set
369# CONFIG_CDROM_PKTCDVD is not set 405# CONFIG_CDROM_PKTCDVD is not set
370# CONFIG_ATA_OVER_ETH is not set 406# CONFIG_ATA_OVER_ETH is not set
407# CONFIG_BLK_DEV_HD is not set
371CONFIG_MISC_DEVICES=y 408CONFIG_MISC_DEVICES=y
409# CONFIG_PHANTOM is not set
372# CONFIG_EEPROM_93CX6 is not set 410# CONFIG_EEPROM_93CX6 is not set
411# CONFIG_SGI_IOC4 is not set
412# CONFIG_TIFM_CORE is not set
373# CONFIG_ENCLOSURE_SERVICES is not set 413# CONFIG_ENCLOSURE_SERVICES is not set
414# CONFIG_HP_ILO is not set
374CONFIG_HAVE_IDE=y 415CONFIG_HAVE_IDE=y
375# CONFIG_IDE is not set 416# CONFIG_IDE is not set
376 417
@@ -383,15 +424,27 @@ CONFIG_HAVE_IDE=y
383# CONFIG_SCSI_NETLINK is not set 424# CONFIG_SCSI_NETLINK is not set
384# CONFIG_ATA is not set 425# CONFIG_ATA is not set
385# CONFIG_MD is not set 426# CONFIG_MD is not set
427# CONFIG_FUSION is not set
428
429#
430# IEEE 1394 (FireWire) support
431#
432
433#
434# Enable only one of the two stacks, unless you know what you are doing
435#
436# CONFIG_FIREWIRE is not set
437# CONFIG_IEEE1394 is not set
438# CONFIG_I2O is not set
386# CONFIG_MACINTOSH_DRIVERS is not set 439# CONFIG_MACINTOSH_DRIVERS is not set
387CONFIG_NETDEVICES=y 440CONFIG_NETDEVICES=y
388# CONFIG_NETDEVICES_MULTIQUEUE is not set
389# CONFIG_DUMMY is not set 441# CONFIG_DUMMY is not set
390# CONFIG_BONDING is not set 442# CONFIG_BONDING is not set
391# CONFIG_MACVLAN is not set 443# CONFIG_MACVLAN is not set
392# CONFIG_EQUALIZER is not set 444# CONFIG_EQUALIZER is not set
393# CONFIG_TUN is not set 445# CONFIG_TUN is not set
394# CONFIG_VETH is not set 446# CONFIG_VETH is not set
447# CONFIG_ARCNET is not set
395CONFIG_PHYLIB=y 448CONFIG_PHYLIB=y
396 449
397# 450#
@@ -411,16 +464,44 @@ CONFIG_BROADCOM_PHY=y
411# CONFIG_MDIO_BITBANG is not set 464# CONFIG_MDIO_BITBANG is not set
412CONFIG_NET_ETHERNET=y 465CONFIG_NET_ETHERNET=y
413CONFIG_MII=y 466CONFIG_MII=y
467# CONFIG_MACE is not set
468# CONFIG_BMAC is not set
469# CONFIG_HAPPYMEAL is not set
470# CONFIG_SUNGEM is not set
471# CONFIG_CASSINI is not set
472# CONFIG_NET_VENDOR_3COM is not set
473# CONFIG_NET_TULIP is not set
474# CONFIG_HP100 is not set
414# CONFIG_IBM_NEW_EMAC_ZMII is not set 475# CONFIG_IBM_NEW_EMAC_ZMII is not set
415# CONFIG_IBM_NEW_EMAC_RGMII is not set 476# CONFIG_IBM_NEW_EMAC_RGMII is not set
416# CONFIG_IBM_NEW_EMAC_TAH is not set 477# CONFIG_IBM_NEW_EMAC_TAH is not set
417# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 478# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
479# CONFIG_NET_PCI is not set
418# CONFIG_B44 is not set 480# CONFIG_B44 is not set
419CONFIG_NETDEV_1000=y 481CONFIG_NETDEV_1000=y
420# CONFIG_E1000E_ENABLED is not set 482# CONFIG_ACENIC is not set
483# CONFIG_DL2K is not set
484# CONFIG_E1000 is not set
485# CONFIG_E1000E is not set
486# CONFIG_IP1000 is not set
487# CONFIG_IGB is not set
488# CONFIG_NS83820 is not set
489# CONFIG_HAMACHI is not set
490# CONFIG_YELLOWFIN is not set
491# CONFIG_R8169 is not set
492# CONFIG_SIS190 is not set
493# CONFIG_SKGE is not set
494# CONFIG_SKY2 is not set
495# CONFIG_VIA_VELOCITY is not set
496# CONFIG_TIGON3 is not set
497# CONFIG_BNX2 is not set
421CONFIG_GIANFAR=y 498CONFIG_GIANFAR=y
422# CONFIG_GFAR_NAPI is not set 499# CONFIG_MV643XX_ETH is not set
500# CONFIG_QLA3XXX is not set
501# CONFIG_ATL1 is not set
502# CONFIG_ATL1E is not set
423# CONFIG_NETDEV_10000 is not set 503# CONFIG_NETDEV_10000 is not set
504# CONFIG_TR is not set
424 505
425# 506#
426# Wireless LAN 507# Wireless LAN
@@ -429,6 +510,8 @@ CONFIG_GIANFAR=y
429# CONFIG_WLAN_80211 is not set 510# CONFIG_WLAN_80211 is not set
430# CONFIG_IWLWIFI_LEDS is not set 511# CONFIG_IWLWIFI_LEDS is not set
431# CONFIG_WAN is not set 512# CONFIG_WAN is not set
513# CONFIG_FDDI is not set
514# CONFIG_HIPPI is not set
432# CONFIG_PPP is not set 515# CONFIG_PPP is not set
433# CONFIG_SLIP is not set 516# CONFIG_SLIP is not set
434# CONFIG_NETCONSOLE is not set 517# CONFIG_NETCONSOLE is not set
@@ -474,12 +557,14 @@ CONFIG_INPUT=y
474# CONFIG_VT is not set 557# CONFIG_VT is not set
475CONFIG_DEVKMEM=y 558CONFIG_DEVKMEM=y
476# CONFIG_SERIAL_NONSTANDARD is not set 559# CONFIG_SERIAL_NONSTANDARD is not set
560# CONFIG_NOZOMI is not set
477 561
478# 562#
479# Serial drivers 563# Serial drivers
480# 564#
481CONFIG_SERIAL_8250=y 565CONFIG_SERIAL_8250=y
482CONFIG_SERIAL_8250_CONSOLE=y 566CONFIG_SERIAL_8250_CONSOLE=y
567CONFIG_SERIAL_8250_PCI=y
483CONFIG_SERIAL_8250_NR_UARTS=4 568CONFIG_SERIAL_8250_NR_UARTS=4
484CONFIG_SERIAL_8250_RUNTIME_UARTS=4 569CONFIG_SERIAL_8250_RUNTIME_UARTS=4
485# CONFIG_SERIAL_8250_EXTENDED is not set 570# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -490,40 +575,90 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
490# CONFIG_SERIAL_UARTLITE is not set 575# CONFIG_SERIAL_UARTLITE is not set
491CONFIG_SERIAL_CORE=y 576CONFIG_SERIAL_CORE=y
492CONFIG_SERIAL_CORE_CONSOLE=y 577CONFIG_SERIAL_CORE_CONSOLE=y
578# CONFIG_SERIAL_PMACZILOG is not set
579# CONFIG_SERIAL_JSM is not set
493# CONFIG_SERIAL_OF_PLATFORM is not set 580# CONFIG_SERIAL_OF_PLATFORM is not set
494CONFIG_UNIX98_PTYS=y 581CONFIG_UNIX98_PTYS=y
495CONFIG_LEGACY_PTYS=y 582CONFIG_LEGACY_PTYS=y
496CONFIG_LEGACY_PTY_COUNT=256 583CONFIG_LEGACY_PTY_COUNT=256
584# CONFIG_BRIQ_PANEL is not set
585# CONFIG_HVC_RTAS is not set
497# CONFIG_IPMI_HANDLER is not set 586# CONFIG_IPMI_HANDLER is not set
498# CONFIG_HW_RANDOM is not set 587# CONFIG_HW_RANDOM is not set
499# CONFIG_NVRAM is not set 588# CONFIG_NVRAM is not set
500CONFIG_GEN_RTC=y 589CONFIG_GEN_RTC=y
501# CONFIG_GEN_RTC_X is not set 590# CONFIG_GEN_RTC_X is not set
502# CONFIG_R3964 is not set 591# CONFIG_R3964 is not set
592# CONFIG_APPLICOM is not set
503# CONFIG_RAW_DRIVER is not set 593# CONFIG_RAW_DRIVER is not set
504# CONFIG_TCG_TPM is not set 594# CONFIG_TCG_TPM is not set
595CONFIG_DEVPORT=y
505CONFIG_I2C=y 596CONFIG_I2C=y
506CONFIG_I2C_BOARDINFO=y 597CONFIG_I2C_BOARDINFO=y
507CONFIG_I2C_CHARDEV=y 598CONFIG_I2C_CHARDEV=y
599CONFIG_I2C_HELPER_AUTO=y
508 600
509# 601#
510# I2C Hardware Bus support 602# I2C Hardware Bus support
511# 603#
604
605#
606# PC SMBus host controller drivers
607#
608# CONFIG_I2C_ALI1535 is not set
609# CONFIG_I2C_ALI1563 is not set
610# CONFIG_I2C_ALI15X3 is not set
611# CONFIG_I2C_AMD756 is not set
612# CONFIG_I2C_AMD8111 is not set
613# CONFIG_I2C_I801 is not set
614# CONFIG_I2C_ISCH is not set
615# CONFIG_I2C_PIIX4 is not set
616# CONFIG_I2C_NFORCE2 is not set
617# CONFIG_I2C_SIS5595 is not set
618# CONFIG_I2C_SIS630 is not set
619# CONFIG_I2C_SIS96X is not set
620# CONFIG_I2C_VIA is not set
621# CONFIG_I2C_VIAPRO is not set
622
623#
624# Mac SMBus host controller drivers
625#
626# CONFIG_I2C_HYDRA is not set
627CONFIG_I2C_POWERMAC=y
628
629#
630# I2C system bus drivers (mostly embedded / system-on-chip)
631#
512CONFIG_I2C_MPC=y 632CONFIG_I2C_MPC=y
513# CONFIG_I2C_OCORES is not set 633# CONFIG_I2C_OCORES is not set
514# CONFIG_I2C_PARPORT_LIGHT is not set
515# CONFIG_I2C_SIMTEC is not set 634# CONFIG_I2C_SIMTEC is not set
635
636#
637# External I2C/SMBus adapter drivers
638#
639# CONFIG_I2C_PARPORT_LIGHT is not set
516# CONFIG_I2C_TAOS_EVM is not set 640# CONFIG_I2C_TAOS_EVM is not set
517# CONFIG_I2C_STUB is not set 641
642#
643# Graphics adapter I2C/DDC channel drivers
644#
645# CONFIG_I2C_VOODOO3 is not set
646
647#
648# Other I2C/SMBus bus drivers
649#
518# CONFIG_I2C_PCA_PLATFORM is not set 650# CONFIG_I2C_PCA_PLATFORM is not set
651# CONFIG_I2C_STUB is not set
519 652
520# 653#
521# Miscellaneous I2C Chip support 654# Miscellaneous I2C Chip support
522# 655#
523# CONFIG_DS1682 is not set 656# CONFIG_DS1682 is not set
657# CONFIG_AT24 is not set
524# CONFIG_SENSORS_EEPROM is not set 658# CONFIG_SENSORS_EEPROM is not set
525# CONFIG_SENSORS_PCF8574 is not set 659# CONFIG_SENSORS_PCF8574 is not set
526# CONFIG_PCF8575 is not set 660# CONFIG_PCF8575 is not set
661# CONFIG_SENSORS_PCA9539 is not set
527# CONFIG_SENSORS_PCF8591 is not set 662# CONFIG_SENSORS_PCF8591 is not set
528# CONFIG_SENSORS_MAX6875 is not set 663# CONFIG_SENSORS_MAX6875 is not set
529# CONFIG_SENSORS_TSL2550 is not set 664# CONFIG_SENSORS_TSL2550 is not set
@@ -532,10 +667,13 @@ CONFIG_I2C_MPC=y
532# CONFIG_I2C_DEBUG_BUS is not set 667# CONFIG_I2C_DEBUG_BUS is not set
533# CONFIG_I2C_DEBUG_CHIP is not set 668# CONFIG_I2C_DEBUG_CHIP is not set
534# CONFIG_SPI is not set 669# CONFIG_SPI is not set
670CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
671# CONFIG_GPIOLIB is not set
535# CONFIG_W1 is not set 672# CONFIG_W1 is not set
536# CONFIG_POWER_SUPPLY is not set 673# CONFIG_POWER_SUPPLY is not set
537CONFIG_HWMON=y 674CONFIG_HWMON=y
538# CONFIG_HWMON_VID is not set 675# CONFIG_HWMON_VID is not set
676# CONFIG_SENSORS_AD7414 is not set
539# CONFIG_SENSORS_AD7418 is not set 677# CONFIG_SENSORS_AD7418 is not set
540# CONFIG_SENSORS_ADM1021 is not set 678# CONFIG_SENSORS_ADM1021 is not set
541# CONFIG_SENSORS_ADM1025 is not set 679# CONFIG_SENSORS_ADM1025 is not set
@@ -545,8 +683,10 @@ CONFIG_HWMON=y
545# CONFIG_SENSORS_ADM9240 is not set 683# CONFIG_SENSORS_ADM9240 is not set
546# CONFIG_SENSORS_ADT7470 is not set 684# CONFIG_SENSORS_ADT7470 is not set
547# CONFIG_SENSORS_ADT7473 is not set 685# CONFIG_SENSORS_ADT7473 is not set
686# CONFIG_SENSORS_AMS is not set
548# CONFIG_SENSORS_ATXP1 is not set 687# CONFIG_SENSORS_ATXP1 is not set
549# CONFIG_SENSORS_DS1621 is not set 688# CONFIG_SENSORS_DS1621 is not set
689# CONFIG_SENSORS_I5K_AMB is not set
550# CONFIG_SENSORS_F71805F is not set 690# CONFIG_SENSORS_F71805F is not set
551# CONFIG_SENSORS_F71882FG is not set 691# CONFIG_SENSORS_F71882FG is not set
552# CONFIG_SENSORS_F75375S is not set 692# CONFIG_SENSORS_F75375S is not set
@@ -568,13 +708,16 @@ CONFIG_HWMON=y
568# CONFIG_SENSORS_MAX6650 is not set 708# CONFIG_SENSORS_MAX6650 is not set
569# CONFIG_SENSORS_PC87360 is not set 709# CONFIG_SENSORS_PC87360 is not set
570# CONFIG_SENSORS_PC87427 is not set 710# CONFIG_SENSORS_PC87427 is not set
711# CONFIG_SENSORS_SIS5595 is not set
571# CONFIG_SENSORS_DME1737 is not set 712# CONFIG_SENSORS_DME1737 is not set
572# CONFIG_SENSORS_SMSC47M1 is not set 713# CONFIG_SENSORS_SMSC47M1 is not set
573# CONFIG_SENSORS_SMSC47M192 is not set 714# CONFIG_SENSORS_SMSC47M192 is not set
574# CONFIG_SENSORS_SMSC47B397 is not set 715# CONFIG_SENSORS_SMSC47B397 is not set
575# CONFIG_SENSORS_ADS7828 is not set 716# CONFIG_SENSORS_ADS7828 is not set
576# CONFIG_SENSORS_THMC50 is not set 717# CONFIG_SENSORS_THMC50 is not set
718# CONFIG_SENSORS_VIA686A is not set
577# CONFIG_SENSORS_VT1211 is not set 719# CONFIG_SENSORS_VT1211 is not set
720# CONFIG_SENSORS_VT8231 is not set
578# CONFIG_SENSORS_W83781D is not set 721# CONFIG_SENSORS_W83781D is not set
579# CONFIG_SENSORS_W83791D is not set 722# CONFIG_SENSORS_W83791D is not set
580# CONFIG_SENSORS_W83792D is not set 723# CONFIG_SENSORS_W83792D is not set
@@ -585,6 +728,7 @@ CONFIG_HWMON=y
585# CONFIG_SENSORS_W83627EHF is not set 728# CONFIG_SENSORS_W83627EHF is not set
586# CONFIG_HWMON_DEBUG_CHIP is not set 729# CONFIG_HWMON_DEBUG_CHIP is not set
587# CONFIG_THERMAL is not set 730# CONFIG_THERMAL is not set
731# CONFIG_THERMAL_HWMON is not set
588CONFIG_WATCHDOG=y 732CONFIG_WATCHDOG=y
589# CONFIG_WATCHDOG_NOWAYOUT is not set 733# CONFIG_WATCHDOG_NOWAYOUT is not set
590 734
@@ -592,7 +736,15 @@ CONFIG_WATCHDOG=y
592# Watchdog Device Drivers 736# Watchdog Device Drivers
593# 737#
594# CONFIG_SOFT_WATCHDOG is not set 738# CONFIG_SOFT_WATCHDOG is not set
595CONFIG_83xx_WDT=y 739# CONFIG_ALIM7101_WDT is not set
740# CONFIG_8xxx_WDT is not set
741# CONFIG_WATCHDOG_RTAS is not set
742
743#
744# PCI-based Watchdog Cards
745#
746# CONFIG_PCIPCWATCHDOG is not set
747# CONFIG_WDTPCI is not set
596 748
597# 749#
598# Sonics Silicon Backplane 750# Sonics Silicon Backplane
@@ -603,8 +755,10 @@ CONFIG_SSB_POSSIBLE=y
603# 755#
604# Multifunction device drivers 756# Multifunction device drivers
605# 757#
758# CONFIG_MFD_CORE is not set
606# CONFIG_MFD_SM501 is not set 759# CONFIG_MFD_SM501 is not set
607# CONFIG_HTC_PASIC3 is not set 760# CONFIG_HTC_PASIC3 is not set
761# CONFIG_MFD_TMIO is not set
608 762
609# 763#
610# Multimedia devices 764# Multimedia devices
@@ -625,6 +779,8 @@ CONFIG_SSB_POSSIBLE=y
625# 779#
626# Graphics support 780# Graphics support
627# 781#
782# CONFIG_AGP is not set
783# CONFIG_DRM is not set
628# CONFIG_VGASTATE is not set 784# CONFIG_VGASTATE is not set
629# CONFIG_VIDEO_OUTPUT_CONTROL is not set 785# CONFIG_VIDEO_OUTPUT_CONTROL is not set
630# CONFIG_FB is not set 786# CONFIG_FB is not set
@@ -634,10 +790,6 @@ CONFIG_SSB_POSSIBLE=y
634# Display device support 790# Display device support
635# 791#
636# CONFIG_DISPLAY_SUPPORT is not set 792# CONFIG_DISPLAY_SUPPORT is not set
637
638#
639# Sound
640#
641# CONFIG_SOUND is not set 793# CONFIG_SOUND is not set
642CONFIG_HID_SUPPORT=y 794CONFIG_HID_SUPPORT=y
643CONFIG_HID=y 795CONFIG_HID=y
@@ -648,6 +800,7 @@ CONFIG_HID=y
648# CONFIG_MEMSTICK is not set 800# CONFIG_MEMSTICK is not set
649# CONFIG_NEW_LEDS is not set 801# CONFIG_NEW_LEDS is not set
650# CONFIG_ACCESSIBILITY is not set 802# CONFIG_ACCESSIBILITY is not set
803# CONFIG_INFINIBAND is not set
651# CONFIG_EDAC is not set 804# CONFIG_EDAC is not set
652# CONFIG_RTC_CLASS is not set 805# CONFIG_RTC_CLASS is not set
653# CONFIG_DMADEVICES is not set 806# CONFIG_DMADEVICES is not set
@@ -710,6 +863,7 @@ CONFIG_TMPFS=y
710# CONFIG_CRAMFS is not set 863# CONFIG_CRAMFS is not set
711# CONFIG_VXFS_FS is not set 864# CONFIG_VXFS_FS is not set
712# CONFIG_MINIX_FS is not set 865# CONFIG_MINIX_FS is not set
866# CONFIG_OMFS_FS is not set
713# CONFIG_HPFS_FS is not set 867# CONFIG_HPFS_FS is not set
714# CONFIG_QNX4FS_FS is not set 868# CONFIG_QNX4FS_FS is not set
715# CONFIG_ROMFS_FS is not set 869# CONFIG_ROMFS_FS is not set
@@ -720,14 +874,13 @@ CONFIG_NFS_FS=y
720CONFIG_NFS_V3=y 874CONFIG_NFS_V3=y
721# CONFIG_NFS_V3_ACL is not set 875# CONFIG_NFS_V3_ACL is not set
722CONFIG_NFS_V4=y 876CONFIG_NFS_V4=y
723# CONFIG_NFSD is not set
724CONFIG_ROOT_NFS=y 877CONFIG_ROOT_NFS=y
878# CONFIG_NFSD is not set
725CONFIG_LOCKD=y 879CONFIG_LOCKD=y
726CONFIG_LOCKD_V4=y 880CONFIG_LOCKD_V4=y
727CONFIG_NFS_COMMON=y 881CONFIG_NFS_COMMON=y
728CONFIG_SUNRPC=y 882CONFIG_SUNRPC=y
729CONFIG_SUNRPC_GSS=y 883CONFIG_SUNRPC_GSS=y
730# CONFIG_SUNRPC_BIND34 is not set
731CONFIG_RPCSEC_GSS_KRB5=y 884CONFIG_RPCSEC_GSS_KRB5=y
732# CONFIG_RPCSEC_GSS_SPKM3 is not set 885# CONFIG_RPCSEC_GSS_SPKM3 is not set
733# CONFIG_SMB_FS is not set 886# CONFIG_SMB_FS is not set
@@ -740,6 +893,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
740# Partition Types 893# Partition Types
741# 894#
742# CONFIG_PARTITION_ADVANCED is not set 895# CONFIG_PARTITION_ADVANCED is not set
896CONFIG_MAC_PARTITION=y
743CONFIG_MSDOS_PARTITION=y 897CONFIG_MSDOS_PARTITION=y
744# CONFIG_NLS is not set 898# CONFIG_NLS is not set
745# CONFIG_DLM is not set 899# CONFIG_DLM is not set
@@ -751,6 +905,7 @@ CONFIG_BITREVERSE=y
751# CONFIG_GENERIC_FIND_FIRST_BIT is not set 905# CONFIG_GENERIC_FIND_FIRST_BIT is not set
752# CONFIG_CRC_CCITT is not set 906# CONFIG_CRC_CCITT is not set
753# CONFIG_CRC16 is not set 907# CONFIG_CRC16 is not set
908# CONFIG_CRC_T10DIF is not set
754# CONFIG_CRC_ITU_T is not set 909# CONFIG_CRC_ITU_T is not set
755CONFIG_CRC32=y 910CONFIG_CRC32=y
756# CONFIG_CRC7 is not set 911# CONFIG_CRC7 is not set
@@ -774,8 +929,18 @@ CONFIG_FRAME_WARN=1024
774# CONFIG_HEADERS_CHECK is not set 929# CONFIG_HEADERS_CHECK is not set
775# CONFIG_DEBUG_KERNEL is not set 930# CONFIG_DEBUG_KERNEL is not set
776# CONFIG_DEBUG_BUGVERBOSE is not set 931# CONFIG_DEBUG_BUGVERBOSE is not set
932# CONFIG_DEBUG_MEMORY_INIT is not set
933# CONFIG_LATENCYTOP is not set
934CONFIG_SYSCTL_SYSCALL_CHECK=y
935CONFIG_HAVE_FTRACE=y
936CONFIG_HAVE_DYNAMIC_FTRACE=y
937# CONFIG_FTRACE is not set
938# CONFIG_SCHED_TRACER is not set
939# CONFIG_CONTEXT_SWITCH_TRACER is not set
777# CONFIG_SAMPLES is not set 940# CONFIG_SAMPLES is not set
941CONFIG_HAVE_ARCH_KGDB=y
778# CONFIG_IRQSTACKS is not set 942# CONFIG_IRQSTACKS is not set
943# CONFIG_BOOTX_TEXT is not set
779# CONFIG_PPC_EARLY_DEBUG is not set 944# CONFIG_PPC_EARLY_DEBUG is not set
780 945
781# 946#
@@ -829,6 +994,10 @@ CONFIG_CRYPTO_PCBC=m
829# CONFIG_CRYPTO_MD4 is not set 994# CONFIG_CRYPTO_MD4 is not set
830CONFIG_CRYPTO_MD5=y 995CONFIG_CRYPTO_MD5=y
831# CONFIG_CRYPTO_MICHAEL_MIC is not set 996# CONFIG_CRYPTO_MICHAEL_MIC is not set
997# CONFIG_CRYPTO_RMD128 is not set
998# CONFIG_CRYPTO_RMD160 is not set
999# CONFIG_CRYPTO_RMD256 is not set
1000# CONFIG_CRYPTO_RMD320 is not set
832# CONFIG_CRYPTO_SHA1 is not set 1001# CONFIG_CRYPTO_SHA1 is not set
833# CONFIG_CRYPTO_SHA256 is not set 1002# CONFIG_CRYPTO_SHA256 is not set
834# CONFIG_CRYPTO_SHA512 is not set 1003# CONFIG_CRYPTO_SHA512 is not set
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
index b82bb042308a..8bb89f26a20d 100644
--- a/arch/powerpc/configs/85xx/ksi8560_defconfig
+++ b/arch/powerpc/configs/85xx/ksi8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:30 2008 4# Thu Aug 21 00:52:28 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -85,7 +88,6 @@ CONFIG_INITRAMFS_SOURCE=""
85CONFIG_SYSCTL=y 88CONFIG_SYSCTL=y
86CONFIG_EMBEDDED=y 89CONFIG_EMBEDDED=y
87CONFIG_SYSCTL_SYSCALL=y 90CONFIG_SYSCTL_SYSCALL=y
88CONFIG_SYSCTL_SYSCALL_CHECK=y
89CONFIG_KALLSYMS=y 91CONFIG_KALLSYMS=y
90# CONFIG_KALLSYMS_ALL is not set 92# CONFIG_KALLSYMS_ALL is not set
91# CONFIG_KALLSYMS_EXTRA_PASS is not set 93# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -110,10 +112,16 @@ CONFIG_SLUB=y
110# CONFIG_PROFILING is not set 112# CONFIG_PROFILING is not set
111# CONFIG_MARKERS is not set 113# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 114CONFIG_HAVE_OPROFILE=y
115CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
116CONFIG_HAVE_IOREMAP_PROT=y
113CONFIG_HAVE_KPROBES=y 117CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y 118CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y
115# CONFIG_HAVE_DMA_ATTRS is not set 120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122CONFIG_HAVE_CLK=y
116CONFIG_PROC_PAGE_MONITOR=y 123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
117CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
118CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
119# CONFIG_TINY_SHMEM is not set 127# CONFIG_TINY_SHMEM is not set
@@ -124,6 +132,7 @@ CONFIG_BLOCK=y
124# CONFIG_BLK_DEV_IO_TRACE is not set 132# CONFIG_BLK_DEV_IO_TRACE is not set
125# CONFIG_LSF is not set 133# CONFIG_LSF is not set
126# CONFIG_BLK_DEV_BSG is not set 134# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set
127 136
128# 137#
129# IO Schedulers 138# IO Schedulers
@@ -142,8 +151,6 @@ CONFIG_CLASSIC_RCU=y
142# 151#
143# Platform support 152# Platform support
144# 153#
145# CONFIG_PPC_MPC512x is not set
146# CONFIG_PPC_MPC5121 is not set
147# CONFIG_PPC_CELL is not set 154# CONFIG_PPC_CELL is not set
148# CONFIG_PPC_CELL_NATIVE is not set 155# CONFIG_PPC_CELL_NATIVE is not set
149# CONFIG_PQ2ADS is not set 156# CONFIG_PQ2ADS is not set
@@ -152,11 +159,13 @@ CONFIG_MPC85xx=y
152# CONFIG_MPC8560_ADS is not set 159# CONFIG_MPC8560_ADS is not set
153# CONFIG_MPC85xx_CDS is not set 160# CONFIG_MPC85xx_CDS is not set
154# CONFIG_MPC85xx_MDS is not set 161# CONFIG_MPC85xx_MDS is not set
162# CONFIG_MPC8536_DS is not set
155# CONFIG_MPC85xx_DS is not set 163# CONFIG_MPC85xx_DS is not set
156CONFIG_KSI8560=y 164CONFIG_KSI8560=y
157# CONFIG_STX_GP3 is not set 165# CONFIG_STX_GP3 is not set
158# CONFIG_TQM8540 is not set 166# CONFIG_TQM8540 is not set
159# CONFIG_TQM8541 is not set 167# CONFIG_TQM8541 is not set
168# CONFIG_TQM8548 is not set
160# CONFIG_TQM8555 is not set 169# CONFIG_TQM8555 is not set
161# CONFIG_TQM8560 is not set 170# CONFIG_TQM8560 is not set
162# CONFIG_SBC8548 is not set 171# CONFIG_SBC8548 is not set
@@ -173,7 +182,6 @@ CONFIG_MPIC=y
173# CONFIG_GENERIC_IOMAP is not set 182# CONFIG_GENERIC_IOMAP is not set
174# CONFIG_CPU_FREQ is not set 183# CONFIG_CPU_FREQ is not set
175CONFIG_CPM2=y 184CONFIG_CPM2=y
176CONFIG_PPC_CPM_NEW_BINDING=y
177# CONFIG_FSL_ULI1575 is not set 185# CONFIG_FSL_ULI1575 is not set
178CONFIG_CPM=y 186CONFIG_CPM=y
179 187
@@ -213,6 +221,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
213# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
214CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
215CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y
216# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
217CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
218CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
@@ -220,6 +229,7 @@ CONFIG_VIRT_TO_BUS=y
220CONFIG_FORCE_MAX_ZONEORDER=11 229CONFIG_FORCE_MAX_ZONEORDER=11
221# CONFIG_PROC_DEVICETREE is not set 230# CONFIG_PROC_DEVICETREE is not set
222# CONFIG_CMDLINE_BOOL is not set 231# CONFIG_CMDLINE_BOOL is not set
232CONFIG_EXTRA_TARGETS=""
223# CONFIG_PM is not set 233# CONFIG_PM is not set
224# CONFIG_SECCOMP is not set 234# CONFIG_SECCOMP is not set
225CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
@@ -229,6 +239,7 @@ CONFIG_ISA_DMA_API=y
229# 239#
230CONFIG_ZONE_DMA=y 240CONFIG_ZONE_DMA=y
231CONFIG_FSL_SOC=y 241CONFIG_FSL_SOC=y
242CONFIG_PPC_PCI_CHOICE=y
232# CONFIG_PCI is not set 243# CONFIG_PCI is not set
233# CONFIG_PCI_DOMAINS is not set 244# CONFIG_PCI_DOMAINS is not set
234# CONFIG_PCI_SYSCALL is not set 245# CONFIG_PCI_SYSCALL is not set
@@ -250,10 +261,6 @@ CONFIG_KERNEL_START=0xc0000000
250CONFIG_PHYSICAL_START=0x00000000 261CONFIG_PHYSICAL_START=0x00000000
251CONFIG_PHYSICAL_ALIGN=0x10000000 262CONFIG_PHYSICAL_ALIGN=0x10000000
252CONFIG_TASK_SIZE=0xc0000000 263CONFIG_TASK_SIZE=0xc0000000
253
254#
255# Networking
256#
257CONFIG_NET=y 264CONFIG_NET=y
258 265
259# 266#
@@ -427,6 +434,7 @@ CONFIG_MTD_PHYSMAP_OF=y
427# 434#
428# CONFIG_MTD_UBI is not set 435# CONFIG_MTD_UBI is not set
429CONFIG_OF_DEVICE=y 436CONFIG_OF_DEVICE=y
437CONFIG_OF_GPIO=y
430# CONFIG_PARPORT is not set 438# CONFIG_PARPORT is not set
431CONFIG_BLK_DEV=y 439CONFIG_BLK_DEV=y
432# CONFIG_BLK_DEV_FD is not set 440# CONFIG_BLK_DEV_FD is not set
@@ -440,12 +448,12 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
440# CONFIG_BLK_DEV_XIP is not set 448# CONFIG_BLK_DEV_XIP is not set
441# CONFIG_CDROM_PKTCDVD is not set 449# CONFIG_CDROM_PKTCDVD is not set
442# CONFIG_ATA_OVER_ETH is not set 450# CONFIG_ATA_OVER_ETH is not set
451# CONFIG_BLK_DEV_HD is not set
443CONFIG_MISC_DEVICES=y 452CONFIG_MISC_DEVICES=y
444# CONFIG_EEPROM_93CX6 is not set 453# CONFIG_EEPROM_93CX6 is not set
445# CONFIG_ENCLOSURE_SERVICES is not set 454# CONFIG_ENCLOSURE_SERVICES is not set
446CONFIG_HAVE_IDE=y 455CONFIG_HAVE_IDE=y
447CONFIG_IDE=y 456CONFIG_IDE=y
448CONFIG_IDE_MAX_HWIFS=4
449CONFIG_BLK_DEV_IDE=y 457CONFIG_BLK_DEV_IDE=y
450 458
451# 459#
@@ -463,11 +471,8 @@ CONFIG_IDE_PROC_FS=y
463# 471#
464# IDE chipset support/bugfixes 472# IDE chipset support/bugfixes
465# 473#
466CONFIG_IDE_GENERIC=y
467# CONFIG_BLK_DEV_PLATFORM is not set 474# CONFIG_BLK_DEV_PLATFORM is not set
468# CONFIG_BLK_DEV_IDEDMA is not set 475# CONFIG_BLK_DEV_IDEDMA is not set
469# CONFIG_BLK_DEV_HD_ONLY is not set
470# CONFIG_BLK_DEV_HD is not set
471 476
472# 477#
473# SCSI device support 478# SCSI device support
@@ -480,7 +485,6 @@ CONFIG_IDE_GENERIC=y
480# CONFIG_MD is not set 485# CONFIG_MD is not set
481# CONFIG_MACINTOSH_DRIVERS is not set 486# CONFIG_MACINTOSH_DRIVERS is not set
482CONFIG_NETDEVICES=y 487CONFIG_NETDEVICES=y
483# CONFIG_NETDEVICES_MULTIQUEUE is not set
484# CONFIG_DUMMY is not set 488# CONFIG_DUMMY is not set
485# CONFIG_BONDING is not set 489# CONFIG_BONDING is not set
486# CONFIG_MACVLAN is not set 490# CONFIG_MACVLAN is not set
@@ -504,6 +508,7 @@ CONFIG_MARVELL_PHY=y
504# CONFIG_REALTEK_PHY is not set 508# CONFIG_REALTEK_PHY is not set
505# CONFIG_FIXED_PHY is not set 509# CONFIG_FIXED_PHY is not set
506CONFIG_MDIO_BITBANG=y 510CONFIG_MDIO_BITBANG=y
511# CONFIG_MDIO_OF_GPIO is not set
507CONFIG_NET_ETHERNET=y 512CONFIG_NET_ETHERNET=y
508CONFIG_MII=y 513CONFIG_MII=y
509# CONFIG_IBM_NEW_EMAC_ZMII is not set 514# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -516,9 +521,7 @@ CONFIG_FS_ENET=y
516CONFIG_FS_ENET_HAS_FCC=y 521CONFIG_FS_ENET_HAS_FCC=y
517CONFIG_FS_ENET_MDIO_FCC=y 522CONFIG_FS_ENET_MDIO_FCC=y
518CONFIG_NETDEV_1000=y 523CONFIG_NETDEV_1000=y
519# CONFIG_E1000E_ENABLED is not set
520CONFIG_GIANFAR=y 524CONFIG_GIANFAR=y
521CONFIG_GFAR_NAPI=y
522CONFIG_NETDEV_10000=y 525CONFIG_NETDEV_10000=y
523 526
524# 527#
@@ -606,6 +609,23 @@ CONFIG_GEN_RTC=y
606# CONFIG_TCG_TPM is not set 609# CONFIG_TCG_TPM is not set
607# CONFIG_I2C is not set 610# CONFIG_I2C is not set
608# CONFIG_SPI is not set 611# CONFIG_SPI is not set
612CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
613CONFIG_ARCH_REQUIRE_GPIOLIB=y
614CONFIG_GPIOLIB=y
615# CONFIG_DEBUG_GPIO is not set
616# CONFIG_GPIO_SYSFS is not set
617
618#
619# I2C GPIO expanders:
620#
621
622#
623# PCI GPIO expanders:
624#
625
626#
627# SPI GPIO expanders:
628#
609# CONFIG_W1 is not set 629# CONFIG_W1 is not set
610# CONFIG_POWER_SUPPLY is not set 630# CONFIG_POWER_SUPPLY is not set
611CONFIG_HWMON=y 631CONFIG_HWMON=y
@@ -622,6 +642,7 @@ CONFIG_HWMON=y
622# CONFIG_SENSORS_W83627EHF is not set 642# CONFIG_SENSORS_W83627EHF is not set
623# CONFIG_HWMON_DEBUG_CHIP is not set 643# CONFIG_HWMON_DEBUG_CHIP is not set
624# CONFIG_THERMAL is not set 644# CONFIG_THERMAL is not set
645# CONFIG_THERMAL_HWMON is not set
625# CONFIG_WATCHDOG is not set 646# CONFIG_WATCHDOG is not set
626 647
627# 648#
@@ -633,8 +654,10 @@ CONFIG_SSB_POSSIBLE=y
633# 654#
634# Multifunction device drivers 655# Multifunction device drivers
635# 656#
657# CONFIG_MFD_CORE is not set
636# CONFIG_MFD_SM501 is not set 658# CONFIG_MFD_SM501 is not set
637# CONFIG_HTC_PASIC3 is not set 659# CONFIG_HTC_PASIC3 is not set
660# CONFIG_MFD_TMIO is not set
638 661
639# 662#
640# Multimedia devices 663# Multimedia devices
@@ -664,10 +687,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
664# Display device support 687# Display device support
665# 688#
666# CONFIG_DISPLAY_SUPPORT is not set 689# CONFIG_DISPLAY_SUPPORT is not set
667
668#
669# Sound
670#
671# CONFIG_SOUND is not set 690# CONFIG_SOUND is not set
672CONFIG_HID_SUPPORT=y 691CONFIG_HID_SUPPORT=y
673CONFIG_HID=y 692CONFIG_HID=y
@@ -681,6 +700,10 @@ CONFIG_USB_SUPPORT=y
681# CONFIG_USB_OTG_BLACKLIST_HUB is not set 700# CONFIG_USB_OTG_BLACKLIST_HUB is not set
682 701
683# 702#
703# Enable Host or Gadget support to see Inventra options
704#
705
706#
684# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 707# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
685# 708#
686# CONFIG_USB_GADGET is not set 709# CONFIG_USB_GADGET is not set
@@ -759,6 +782,7 @@ CONFIG_TMPFS=y
759# CONFIG_CRAMFS is not set 782# CONFIG_CRAMFS is not set
760# CONFIG_VXFS_FS is not set 783# CONFIG_VXFS_FS is not set
761# CONFIG_MINIX_FS is not set 784# CONFIG_MINIX_FS is not set
785# CONFIG_OMFS_FS is not set
762# CONFIG_HPFS_FS is not set 786# CONFIG_HPFS_FS is not set
763# CONFIG_QNX4FS_FS is not set 787# CONFIG_QNX4FS_FS is not set
764# CONFIG_ROMFS_FS is not set 788# CONFIG_ROMFS_FS is not set
@@ -768,12 +792,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
768CONFIG_NFS_FS=y 792CONFIG_NFS_FS=y
769# CONFIG_NFS_V3 is not set 793# CONFIG_NFS_V3 is not set
770# CONFIG_NFS_V4 is not set 794# CONFIG_NFS_V4 is not set
771# CONFIG_NFSD is not set
772CONFIG_ROOT_NFS=y 795CONFIG_ROOT_NFS=y
796# CONFIG_NFSD is not set
773CONFIG_LOCKD=y 797CONFIG_LOCKD=y
774CONFIG_NFS_COMMON=y 798CONFIG_NFS_COMMON=y
775CONFIG_SUNRPC=y 799CONFIG_SUNRPC=y
776# CONFIG_SUNRPC_BIND34 is not set
777# CONFIG_RPCSEC_GSS_KRB5 is not set 800# CONFIG_RPCSEC_GSS_KRB5 is not set
778# CONFIG_RPCSEC_GSS_SPKM3 is not set 801# CONFIG_RPCSEC_GSS_SPKM3 is not set
779# CONFIG_SMB_FS is not set 802# CONFIG_SMB_FS is not set
@@ -809,6 +832,7 @@ CONFIG_BITREVERSE=y
809# CONFIG_GENERIC_FIND_FIRST_BIT is not set 832# CONFIG_GENERIC_FIND_FIRST_BIT is not set
810# CONFIG_CRC_CCITT is not set 833# CONFIG_CRC_CCITT is not set
811# CONFIG_CRC16 is not set 834# CONFIG_CRC16 is not set
835# CONFIG_CRC_T10DIF is not set
812# CONFIG_CRC_ITU_T is not set 836# CONFIG_CRC_ITU_T is not set
813CONFIG_CRC32=y 837CONFIG_CRC32=y
814# CONFIG_CRC7 is not set 838# CONFIG_CRC7 is not set
@@ -833,6 +857,8 @@ CONFIG_DEBUG_FS=y
833CONFIG_DEBUG_KERNEL=y 857CONFIG_DEBUG_KERNEL=y
834# CONFIG_DEBUG_SHIRQ is not set 858# CONFIG_DEBUG_SHIRQ is not set
835CONFIG_DETECT_SOFTLOCKUP=y 859CONFIG_DETECT_SOFTLOCKUP=y
860# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
861CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
836CONFIG_SCHED_DEBUG=y 862CONFIG_SCHED_DEBUG=y
837# CONFIG_SCHEDSTATS is not set 863# CONFIG_SCHEDSTATS is not set
838# CONFIG_TIMER_STATS is not set 864# CONFIG_TIMER_STATS is not set
@@ -851,17 +877,29 @@ CONFIG_DEBUG_MUTEXES=y
851# CONFIG_DEBUG_INFO is not set 877# CONFIG_DEBUG_INFO is not set
852# CONFIG_DEBUG_VM is not set 878# CONFIG_DEBUG_VM is not set
853# CONFIG_DEBUG_WRITECOUNT is not set 879# CONFIG_DEBUG_WRITECOUNT is not set
880# CONFIG_DEBUG_MEMORY_INIT is not set
854# CONFIG_DEBUG_LIST is not set 881# CONFIG_DEBUG_LIST is not set
855# CONFIG_DEBUG_SG is not set 882# CONFIG_DEBUG_SG is not set
856# CONFIG_BOOT_PRINTK_DELAY is not set 883# CONFIG_BOOT_PRINTK_DELAY is not set
884# CONFIG_RCU_TORTURE_TEST is not set
857# CONFIG_BACKTRACE_SELF_TEST is not set 885# CONFIG_BACKTRACE_SELF_TEST is not set
858# CONFIG_FAULT_INJECTION is not set 886# CONFIG_FAULT_INJECTION is not set
887# CONFIG_LATENCYTOP is not set
888CONFIG_SYSCTL_SYSCALL_CHECK=y
889CONFIG_HAVE_FTRACE=y
890CONFIG_HAVE_DYNAMIC_FTRACE=y
891# CONFIG_FTRACE is not set
892# CONFIG_SCHED_TRACER is not set
893# CONFIG_CONTEXT_SWITCH_TRACER is not set
859# CONFIG_SAMPLES is not set 894# CONFIG_SAMPLES is not set
895CONFIG_HAVE_ARCH_KGDB=y
896# CONFIG_KGDB is not set
860# CONFIG_DEBUG_STACKOVERFLOW is not set 897# CONFIG_DEBUG_STACKOVERFLOW is not set
861# CONFIG_DEBUG_STACK_USAGE is not set 898# CONFIG_DEBUG_STACK_USAGE is not set
862# CONFIG_DEBUG_PAGEALLOC is not set 899# CONFIG_DEBUG_PAGEALLOC is not set
863# CONFIG_DEBUGGER is not set 900# CONFIG_CODE_PATCHING_SELFTEST is not set
864# CONFIG_KGDB_CONSOLE is not set 901# CONFIG_FTR_FIXUP_SELFTEST is not set
902# CONFIG_XMON is not set
865# CONFIG_IRQSTACKS is not set 903# CONFIG_IRQSTACKS is not set
866# CONFIG_VIRQ_DEBUG is not set 904# CONFIG_VIRQ_DEBUG is not set
867# CONFIG_BDI_SWITCH is not set 905# CONFIG_BDI_SWITCH is not set
@@ -915,6 +953,10 @@ CONFIG_CRYPTO=y
915# CONFIG_CRYPTO_MD4 is not set 953# CONFIG_CRYPTO_MD4 is not set
916# CONFIG_CRYPTO_MD5 is not set 954# CONFIG_CRYPTO_MD5 is not set
917# CONFIG_CRYPTO_MICHAEL_MIC is not set 955# CONFIG_CRYPTO_MICHAEL_MIC is not set
956# CONFIG_CRYPTO_RMD128 is not set
957# CONFIG_CRYPTO_RMD160 is not set
958# CONFIG_CRYPTO_RMD256 is not set
959# CONFIG_CRYPTO_RMD320 is not set
918# CONFIG_CRYPTO_SHA1 is not set 960# CONFIG_CRYPTO_SHA1 is not set
919# CONFIG_CRYPTO_SHA256 is not set 961# CONFIG_CRYPTO_SHA256 is not set
920# CONFIG_CRYPTO_SHA512 is not set 962# CONFIG_CRYPTO_SHA512 is not set
@@ -946,6 +988,7 @@ CONFIG_CRYPTO=y
946# CONFIG_CRYPTO_DEFLATE is not set 988# CONFIG_CRYPTO_DEFLATE is not set
947# CONFIG_CRYPTO_LZO is not set 989# CONFIG_CRYPTO_LZO is not set
948CONFIG_CRYPTO_HW=y 990CONFIG_CRYPTO_HW=y
949# CONFIG_PPC_CLOCK is not set 991# CONFIG_CRYPTO_DEV_TALITOS is not set
992CONFIG_PPC_CLOCK=y
950CONFIG_PPC_LIB_RHEAP=y 993CONFIG_PPC_LIB_RHEAP=y
951# CONFIG_VIRTUALIZATION is not set 994# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc8536_ds_defconfig b/arch/powerpc/configs/85xx/mpc8536_ds_defconfig
index f1e2931de5da..6b516bea6e75 100644
--- a/arch/powerpc/configs/mpc8536_ds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8536_ds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc8 3# Linux kernel version: 2.6.27-rc4
4# Wed Jul 2 01:34:26 2008 4# Thu Aug 21 07:18:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -93,7 +94,6 @@ CONFIG_INITRAMFS_SOURCE=""
93CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
94CONFIG_EMBEDDED=y 95CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
96CONFIG_SYSCTL_SYSCALL_CHECK=y
97CONFIG_KALLSYMS=y 97CONFIG_KALLSYMS=y
98CONFIG_KALLSYMS_ALL=y 98CONFIG_KALLSYMS_ALL=y
99CONFIG_KALLSYMS_EXTRA_PASS=y 99CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -119,10 +119,16 @@ CONFIG_SLUB=y
119# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
120CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
121# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
128# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -139,6 +145,7 @@ CONFIG_LBD=y
139# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
140# CONFIG_LSF is not set 146# CONFIG_LSF is not set
141# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
142 149
143# 150#
144# IO Schedulers 151# IO Schedulers
@@ -157,8 +164,6 @@ CONFIG_CLASSIC_RCU=y
157# 164#
158# Platform support 165# Platform support
159# 166#
160# CONFIG_PPC_MPC512x is not set
161# CONFIG_PPC_MPC5121 is not set
162# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
163# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
164# CONFIG_PQ2ADS is not set 169# CONFIG_PQ2ADS is not set
@@ -205,7 +210,7 @@ CONFIG_HZ_250=y
205# CONFIG_HZ_300 is not set 210# CONFIG_HZ_300 is not set
206# CONFIG_HZ_1000 is not set 211# CONFIG_HZ_1000 is not set
207CONFIG_HZ=250 212CONFIG_HZ=250
208# CONFIG_SCHED_HRTICK is not set 213CONFIG_SCHED_HRTICK=y
209CONFIG_PREEMPT_NONE=y 214CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 215# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 216# CONFIG_PREEMPT is not set
@@ -228,6 +233,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 234CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 235CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y
231# CONFIG_RESOURCES_64BIT is not set 237# CONFIG_RESOURCES_64BIT is not set
232CONFIG_ZONE_DMA_FLAG=1 238CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
@@ -235,6 +241,7 @@ CONFIG_VIRT_TO_BUS=y
235CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
236CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
237# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
244CONFIG_EXTRA_TARGETS=""
238# CONFIG_PM is not set 245# CONFIG_PM is not set
239CONFIG_SECCOMP=y 246CONFIG_SECCOMP=y
240CONFIG_ISA_DMA_API=y 247CONFIG_ISA_DMA_API=y
@@ -246,6 +253,7 @@ CONFIG_ZONE_DMA=y
246CONFIG_PPC_INDIRECT_PCI=y 253CONFIG_PPC_INDIRECT_PCI=y
247CONFIG_FSL_SOC=y 254CONFIG_FSL_SOC=y
248CONFIG_FSL_PCI=y 255CONFIG_FSL_PCI=y
256CONFIG_PPC_PCI_CHOICE=y
249CONFIG_PCI=y 257CONFIG_PCI=y
250CONFIG_PCI_DOMAINS=y 258CONFIG_PCI_DOMAINS=y
251CONFIG_PCI_SYSCALL=y 259CONFIG_PCI_SYSCALL=y
@@ -272,10 +280,6 @@ CONFIG_KERNEL_START=0xc0000000
272CONFIG_PHYSICAL_START=0x00000000 280CONFIG_PHYSICAL_START=0x00000000
273CONFIG_PHYSICAL_ALIGN=0x10000000 281CONFIG_PHYSICAL_ALIGN=0x10000000
274CONFIG_TASK_SIZE=0xc0000000 282CONFIG_TASK_SIZE=0xc0000000
275
276#
277# Networking
278#
279CONFIG_NET=y 283CONFIG_NET=y
280 284
281# 285#
@@ -401,6 +405,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
401CONFIG_STANDALONE=y 405CONFIG_STANDALONE=y
402CONFIG_PREVENT_FIRMWARE_BUILD=y 406CONFIG_PREVENT_FIRMWARE_BUILD=y
403CONFIG_FW_LOADER=y 407CONFIG_FW_LOADER=y
408CONFIG_FIRMWARE_IN_KERNEL=y
409CONFIG_EXTRA_FIRMWARE=""
404# CONFIG_DEBUG_DRIVER is not set 410# CONFIG_DEBUG_DRIVER is not set
405# CONFIG_DEBUG_DEVRES is not set 411# CONFIG_DEBUG_DEVRES is not set
406# CONFIG_SYS_HYPERVISOR is not set 412# CONFIG_SYS_HYPERVISOR is not set
@@ -427,12 +433,14 @@ CONFIG_BLK_DEV_RAM_SIZE=524288
427# CONFIG_BLK_DEV_XIP is not set 433# CONFIG_BLK_DEV_XIP is not set
428# CONFIG_CDROM_PKTCDVD is not set 434# CONFIG_CDROM_PKTCDVD is not set
429# CONFIG_ATA_OVER_ETH is not set 435# CONFIG_ATA_OVER_ETH is not set
436# CONFIG_BLK_DEV_HD is not set
430CONFIG_MISC_DEVICES=y 437CONFIG_MISC_DEVICES=y
431# CONFIG_PHANTOM is not set 438# CONFIG_PHANTOM is not set
432# CONFIG_EEPROM_93CX6 is not set 439# CONFIG_EEPROM_93CX6 is not set
433# CONFIG_SGI_IOC4 is not set 440# CONFIG_SGI_IOC4 is not set
434# CONFIG_TIFM_CORE is not set 441# CONFIG_TIFM_CORE is not set
435# CONFIG_ENCLOSURE_SERVICES is not set 442# CONFIG_ENCLOSURE_SERVICES is not set
443# CONFIG_HP_ILO is not set
436CONFIG_HAVE_IDE=y 444CONFIG_HAVE_IDE=y
437# CONFIG_IDE is not set 445# CONFIG_IDE is not set
438 446
@@ -512,6 +520,7 @@ CONFIG_SCSI_LOWLEVEL=y
512# CONFIG_SCSI_NSP32 is not set 520# CONFIG_SCSI_NSP32 is not set
513# CONFIG_SCSI_DEBUG is not set 521# CONFIG_SCSI_DEBUG is not set
514# CONFIG_SCSI_SRP is not set 522# CONFIG_SCSI_SRP is not set
523# CONFIG_SCSI_DH is not set
515CONFIG_ATA=y 524CONFIG_ATA=y
516# CONFIG_ATA_NONSTANDARD is not set 525# CONFIG_ATA_NONSTANDARD is not set
517CONFIG_SATA_PMP=y 526CONFIG_SATA_PMP=y
@@ -588,7 +597,6 @@ CONFIG_SATA_SIL=y
588# CONFIG_I2O is not set 597# CONFIG_I2O is not set
589# CONFIG_MACINTOSH_DRIVERS is not set 598# CONFIG_MACINTOSH_DRIVERS is not set
590CONFIG_NETDEVICES=y 599CONFIG_NETDEVICES=y
591# CONFIG_NETDEVICES_MULTIQUEUE is not set
592CONFIG_DUMMY=y 600CONFIG_DUMMY=y
593# CONFIG_BONDING is not set 601# CONFIG_BONDING is not set
594# CONFIG_MACVLAN is not set 602# CONFIG_MACVLAN is not set
@@ -632,7 +640,6 @@ CONFIG_NETDEV_1000=y
632# CONFIG_DL2K is not set 640# CONFIG_DL2K is not set
633# CONFIG_E1000 is not set 641# CONFIG_E1000 is not set
634# CONFIG_E1000E is not set 642# CONFIG_E1000E is not set
635# CONFIG_E1000E_ENABLED is not set
636# CONFIG_IP1000 is not set 643# CONFIG_IP1000 is not set
637# CONFIG_IGB is not set 644# CONFIG_IGB is not set
638# CONFIG_NS83820 is not set 645# CONFIG_NS83820 is not set
@@ -648,9 +655,9 @@ CONFIG_SKY2=y
648# CONFIG_TIGON3 is not set 655# CONFIG_TIGON3 is not set
649# CONFIG_BNX2 is not set 656# CONFIG_BNX2 is not set
650CONFIG_GIANFAR=y 657CONFIG_GIANFAR=y
651CONFIG_GFAR_NAPI=y
652# CONFIG_QLA3XXX is not set 658# CONFIG_QLA3XXX is not set
653# CONFIG_ATL1 is not set 659# CONFIG_ATL1 is not set
660# CONFIG_ATL1E is not set
654CONFIG_NETDEV_10000=y 661CONFIG_NETDEV_10000=y
655# CONFIG_CHELSIO_T1 is not set 662# CONFIG_CHELSIO_T1 is not set
656# CONFIG_CHELSIO_T3 is not set 663# CONFIG_CHELSIO_T3 is not set
@@ -727,12 +734,14 @@ CONFIG_SERIO_SERPORT=y
727# CONFIG_SERIO_PCIPS2 is not set 734# CONFIG_SERIO_PCIPS2 is not set
728CONFIG_SERIO_LIBPS2=y 735CONFIG_SERIO_LIBPS2=y
729# CONFIG_SERIO_RAW is not set 736# CONFIG_SERIO_RAW is not set
737# CONFIG_SERIO_XILINX_XPS_PS2 is not set
730# CONFIG_GAMEPORT is not set 738# CONFIG_GAMEPORT is not set
731 739
732# 740#
733# Character devices 741# Character devices
734# 742#
735CONFIG_VT=y 743CONFIG_VT=y
744CONFIG_CONSOLE_TRANSLATIONS=y
736CONFIG_VT_CONSOLE=y 745CONFIG_VT_CONSOLE=y
737CONFIG_HW_CONSOLE=y 746CONFIG_HW_CONSOLE=y
738# CONFIG_VT_HW_CONSOLE_BINDING is not set 747# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -766,7 +775,7 @@ CONFIG_UNIX98_PTYS=y
766CONFIG_LEGACY_PTYS=y 775CONFIG_LEGACY_PTYS=y
767CONFIG_LEGACY_PTY_COUNT=256 776CONFIG_LEGACY_PTY_COUNT=256
768# CONFIG_IPMI_HANDLER is not set 777# CONFIG_IPMI_HANDLER is not set
769# CONFIG_HW_RANDOM is not set 778CONFIG_HW_RANDOM=y
770# CONFIG_NVRAM is not set 779# CONFIG_NVRAM is not set
771# CONFIG_R3964 is not set 780# CONFIG_R3964 is not set
772# CONFIG_APPLICOM is not set 781# CONFIG_APPLICOM is not set
@@ -776,43 +785,64 @@ CONFIG_DEVPORT=y
776CONFIG_I2C=y 785CONFIG_I2C=y
777CONFIG_I2C_BOARDINFO=y 786CONFIG_I2C_BOARDINFO=y
778# CONFIG_I2C_CHARDEV is not set 787# CONFIG_I2C_CHARDEV is not set
788CONFIG_I2C_HELPER_AUTO=y
779 789
780# 790#
781# I2C Hardware Bus support 791# I2C Hardware Bus support
782# 792#
793
794#
795# PC SMBus host controller drivers
796#
783# CONFIG_I2C_ALI1535 is not set 797# CONFIG_I2C_ALI1535 is not set
784# CONFIG_I2C_ALI1563 is not set 798# CONFIG_I2C_ALI1563 is not set
785# CONFIG_I2C_ALI15X3 is not set 799# CONFIG_I2C_ALI15X3 is not set
786# CONFIG_I2C_AMD756 is not set 800# CONFIG_I2C_AMD756 is not set
787# CONFIG_I2C_AMD8111 is not set 801# CONFIG_I2C_AMD8111 is not set
788# CONFIG_I2C_I801 is not set 802# CONFIG_I2C_I801 is not set
789# CONFIG_I2C_I810 is not set 803# CONFIG_I2C_ISCH is not set
790# CONFIG_I2C_PIIX4 is not set 804# CONFIG_I2C_PIIX4 is not set
791CONFIG_I2C_MPC=y
792# CONFIG_I2C_NFORCE2 is not set 805# CONFIG_I2C_NFORCE2 is not set
793# CONFIG_I2C_OCORES is not set
794# CONFIG_I2C_PARPORT_LIGHT is not set
795# CONFIG_I2C_PROSAVAGE is not set
796# CONFIG_I2C_SAVAGE4 is not set
797# CONFIG_I2C_SIMTEC is not set
798# CONFIG_I2C_SIS5595 is not set 806# CONFIG_I2C_SIS5595 is not set
799# CONFIG_I2C_SIS630 is not set 807# CONFIG_I2C_SIS630 is not set
800# CONFIG_I2C_SIS96X is not set 808# CONFIG_I2C_SIS96X is not set
801# CONFIG_I2C_TAOS_EVM is not set
802# CONFIG_I2C_STUB is not set
803# CONFIG_I2C_TINY_USB is not set
804# CONFIG_I2C_VIA is not set 809# CONFIG_I2C_VIA is not set
805# CONFIG_I2C_VIAPRO is not set 810# CONFIG_I2C_VIAPRO is not set
811
812#
813# I2C system bus drivers (mostly embedded / system-on-chip)
814#
815CONFIG_I2C_MPC=y
816# CONFIG_I2C_OCORES is not set
817# CONFIG_I2C_SIMTEC is not set
818
819#
820# External I2C/SMBus adapter drivers
821#
822# CONFIG_I2C_PARPORT_LIGHT is not set
823# CONFIG_I2C_TAOS_EVM is not set
824# CONFIG_I2C_TINY_USB is not set
825
826#
827# Graphics adapter I2C/DDC channel drivers
828#
806# CONFIG_I2C_VOODOO3 is not set 829# CONFIG_I2C_VOODOO3 is not set
830
831#
832# Other I2C/SMBus bus drivers
833#
807# CONFIG_I2C_PCA_PLATFORM is not set 834# CONFIG_I2C_PCA_PLATFORM is not set
835# CONFIG_I2C_STUB is not set
808 836
809# 837#
810# Miscellaneous I2C Chip support 838# Miscellaneous I2C Chip support
811# 839#
812# CONFIG_DS1682 is not set 840# CONFIG_DS1682 is not set
841# CONFIG_AT24 is not set
813CONFIG_SENSORS_EEPROM=y 842CONFIG_SENSORS_EEPROM=y
814# CONFIG_SENSORS_PCF8574 is not set 843# CONFIG_SENSORS_PCF8574 is not set
815# CONFIG_PCF8575 is not set 844# CONFIG_PCF8575 is not set
845# CONFIG_SENSORS_PCA9539 is not set
816# CONFIG_SENSORS_PCF8591 is not set 846# CONFIG_SENSORS_PCF8591 is not set
817# CONFIG_SENSORS_MAX6875 is not set 847# CONFIG_SENSORS_MAX6875 is not set
818# CONFIG_SENSORS_TSL2550 is not set 848# CONFIG_SENSORS_TSL2550 is not set
@@ -821,6 +851,8 @@ CONFIG_SENSORS_EEPROM=y
821# CONFIG_I2C_DEBUG_BUS is not set 851# CONFIG_I2C_DEBUG_BUS is not set
822# CONFIG_I2C_DEBUG_CHIP is not set 852# CONFIG_I2C_DEBUG_CHIP is not set
823# CONFIG_SPI is not set 853# CONFIG_SPI is not set
854CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
855# CONFIG_GPIOLIB is not set
824# CONFIG_W1 is not set 856# CONFIG_W1 is not set
825# CONFIG_POWER_SUPPLY is not set 857# CONFIG_POWER_SUPPLY is not set
826# CONFIG_HWMON is not set 858# CONFIG_HWMON is not set
@@ -836,8 +868,10 @@ CONFIG_SSB_POSSIBLE=y
836# 868#
837# Multifunction device drivers 869# Multifunction device drivers
838# 870#
871# CONFIG_MFD_CORE is not set
839# CONFIG_MFD_SM501 is not set 872# CONFIG_MFD_SM501 is not set
840# CONFIG_HTC_PASIC3 is not set 873# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set
841 875
842# 876#
843# Multimedia devices 877# Multimedia devices
@@ -879,6 +913,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
879# CONFIG_DVB_TTUSB_BUDGET is not set 913# CONFIG_DVB_TTUSB_BUDGET is not set
880# CONFIG_DVB_TTUSB_DEC is not set 914# CONFIG_DVB_TTUSB_DEC is not set
881# CONFIG_DVB_CINERGYT2 is not set 915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set
882 917
883# 918#
884# Supported FlexCopII (B2C2) Adapters 919# Supported FlexCopII (B2C2) Adapters
@@ -925,6 +960,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
925# CONFIG_DVB_SP887X is not set 960# CONFIG_DVB_SP887X is not set
926# CONFIG_DVB_CX22700 is not set 961# CONFIG_DVB_CX22700 is not set
927# CONFIG_DVB_CX22702 is not set 962# CONFIG_DVB_CX22702 is not set
963# CONFIG_DVB_DRX397XD is not set
928# CONFIG_DVB_L64781 is not set 964# CONFIG_DVB_L64781 is not set
929# CONFIG_DVB_TDA1004X is not set 965# CONFIG_DVB_TDA1004X is not set
930# CONFIG_DVB_NXT6000 is not set 966# CONFIG_DVB_NXT6000 is not set
@@ -992,15 +1028,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
992CONFIG_VGA_CONSOLE=y 1028CONFIG_VGA_CONSOLE=y
993# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set
994CONFIG_DUMMY_CONSOLE=y 1030CONFIG_DUMMY_CONSOLE=y
995
996#
997# Sound
998#
999CONFIG_SOUND=y 1031CONFIG_SOUND=y
1000
1001#
1002# Advanced Linux Sound Architecture
1003#
1004CONFIG_SND=y 1032CONFIG_SND=y
1005CONFIG_SND_TIMER=y 1033CONFIG_SND_TIMER=y
1006CONFIG_SND_PCM=y 1034CONFIG_SND_PCM=y
@@ -1012,19 +1040,15 @@ CONFIG_SND_SUPPORT_OLD_API=y
1012CONFIG_SND_VERBOSE_PROCFS=y 1040CONFIG_SND_VERBOSE_PROCFS=y
1013# CONFIG_SND_VERBOSE_PRINTK is not set 1041# CONFIG_SND_VERBOSE_PRINTK is not set
1014# CONFIG_SND_DEBUG is not set 1042# CONFIG_SND_DEBUG is not set
1015 1043CONFIG_SND_VMASTER=y
1016#
1017# Generic devices
1018#
1019CONFIG_SND_AC97_CODEC=y 1044CONFIG_SND_AC97_CODEC=y
1045CONFIG_SND_DRIVERS=y
1020# CONFIG_SND_DUMMY is not set 1046# CONFIG_SND_DUMMY is not set
1021# CONFIG_SND_MTPAV is not set 1047# CONFIG_SND_MTPAV is not set
1022# CONFIG_SND_SERIAL_U16550 is not set 1048# CONFIG_SND_SERIAL_U16550 is not set
1023# CONFIG_SND_MPU401 is not set 1049# CONFIG_SND_MPU401 is not set
1024 1050# CONFIG_SND_AC97_POWER_SAVE is not set
1025# 1051CONFIG_SND_PCI=y
1026# PCI devices
1027#
1028# CONFIG_SND_AD1889 is not set 1052# CONFIG_SND_AD1889 is not set
1029# CONFIG_SND_ALS300 is not set 1053# CONFIG_SND_ALS300 is not set
1030# CONFIG_SND_ALS4000 is not set 1054# CONFIG_SND_ALS4000 is not set
@@ -1086,39 +1110,12 @@ CONFIG_SND_INTEL8X0=y
1086# CONFIG_SND_VIRTUOSO is not set 1110# CONFIG_SND_VIRTUOSO is not set
1087# CONFIG_SND_VX222 is not set 1111# CONFIG_SND_VX222 is not set
1088# CONFIG_SND_YMFPCI is not set 1112# CONFIG_SND_YMFPCI is not set
1089# CONFIG_SND_AC97_POWER_SAVE is not set 1113CONFIG_SND_PPC=y
1090 1114CONFIG_SND_USB=y
1091#
1092# ALSA PowerMac devices
1093#
1094
1095#
1096# ALSA PowerPC devices
1097#
1098
1099#
1100# USB devices
1101#
1102# CONFIG_SND_USB_AUDIO is not set 1115# CONFIG_SND_USB_AUDIO is not set
1103# CONFIG_SND_USB_USX2Y is not set 1116# CONFIG_SND_USB_USX2Y is not set
1104# CONFIG_SND_USB_CAIAQ is not set 1117# CONFIG_SND_USB_CAIAQ is not set
1105
1106#
1107# System on Chip audio support
1108#
1109# CONFIG_SND_SOC is not set 1118# CONFIG_SND_SOC is not set
1110
1111#
1112# ALSA SoC audio for Freescale SOCs
1113#
1114
1115#
1116# SoC Audio for the Texas Instruments OMAP
1117#
1118
1119#
1120# Open Sound System
1121#
1122# CONFIG_SOUND_PRIME is not set 1119# CONFIG_SOUND_PRIME is not set
1123CONFIG_AC97_BUS=y 1120CONFIG_AC97_BUS=y
1124CONFIG_HID_SUPPORT=y 1121CONFIG_HID_SUPPORT=y
@@ -1150,6 +1147,7 @@ CONFIG_USB_DEVICE_CLASS=y
1150# CONFIG_USB_OTG is not set 1147# CONFIG_USB_OTG is not set
1151# CONFIG_USB_OTG_WHITELIST is not set 1148# CONFIG_USB_OTG_WHITELIST is not set
1152# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1149# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1150CONFIG_USB_MON=y
1153 1151
1154# 1152#
1155# USB Host Controller Drivers 1153# USB Host Controller Drivers
@@ -1201,6 +1199,7 @@ CONFIG_USB_STORAGE=y
1201# CONFIG_USB_STORAGE_ALAUDA is not set 1199# CONFIG_USB_STORAGE_ALAUDA is not set
1202# CONFIG_USB_STORAGE_ONETOUCH is not set 1200# CONFIG_USB_STORAGE_ONETOUCH is not set
1203# CONFIG_USB_STORAGE_KARMA is not set 1201# CONFIG_USB_STORAGE_KARMA is not set
1202# CONFIG_USB_STORAGE_SIERRA is not set
1204# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1203# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1205# CONFIG_USB_LIBUSUAL is not set 1204# CONFIG_USB_LIBUSUAL is not set
1206 1205
@@ -1209,7 +1208,6 @@ CONFIG_USB_STORAGE=y
1209# 1208#
1210# CONFIG_USB_MDC800 is not set 1209# CONFIG_USB_MDC800 is not set
1211# CONFIG_USB_MICROTEK is not set 1210# CONFIG_USB_MICROTEK is not set
1212CONFIG_USB_MON=y
1213 1211
1214# 1212#
1215# USB port drivers 1213# USB port drivers
@@ -1222,7 +1220,6 @@ CONFIG_USB_MON=y
1222# CONFIG_USB_EMI62 is not set 1220# CONFIG_USB_EMI62 is not set
1223# CONFIG_USB_EMI26 is not set 1221# CONFIG_USB_EMI26 is not set
1224# CONFIG_USB_ADUTUX is not set 1222# CONFIG_USB_ADUTUX is not set
1225# CONFIG_USB_AUERSWALD is not set
1226# CONFIG_USB_RIO500 is not set 1223# CONFIG_USB_RIO500 is not set
1227# CONFIG_USB_LEGOTOWER is not set 1224# CONFIG_USB_LEGOTOWER is not set
1228# CONFIG_USB_LCD is not set 1225# CONFIG_USB_LCD is not set
@@ -1310,6 +1307,7 @@ CONFIG_DMA_ENGINE=y
1310# DMA Clients 1307# DMA Clients
1311# 1308#
1312# CONFIG_NET_DMA is not set 1309# CONFIG_NET_DMA is not set
1310# CONFIG_DMATEST is not set
1313# CONFIG_UIO is not set 1311# CONFIG_UIO is not set
1314 1312
1315# 1313#
@@ -1387,6 +1385,7 @@ CONFIG_EFS_FS=m
1387CONFIG_CRAMFS=y 1385CONFIG_CRAMFS=y
1388CONFIG_VXFS_FS=m 1386CONFIG_VXFS_FS=m
1389# CONFIG_MINIX_FS is not set 1387# CONFIG_MINIX_FS is not set
1388# CONFIG_OMFS_FS is not set
1390CONFIG_HPFS_FS=m 1389CONFIG_HPFS_FS=m
1391CONFIG_QNX4FS_FS=m 1390CONFIG_QNX4FS_FS=m
1392# CONFIG_ROMFS_FS is not set 1391# CONFIG_ROMFS_FS is not set
@@ -1399,17 +1398,16 @@ CONFIG_NFS_FS=y
1399CONFIG_NFS_V3=y 1398CONFIG_NFS_V3=y
1400# CONFIG_NFS_V3_ACL is not set 1399# CONFIG_NFS_V3_ACL is not set
1401CONFIG_NFS_V4=y 1400CONFIG_NFS_V4=y
1401CONFIG_ROOT_NFS=y
1402CONFIG_NFSD=y 1402CONFIG_NFSD=y
1403# CONFIG_NFSD_V3 is not set 1403# CONFIG_NFSD_V3 is not set
1404# CONFIG_NFSD_V4 is not set 1404# CONFIG_NFSD_V4 is not set
1405CONFIG_ROOT_NFS=y
1406CONFIG_LOCKD=y 1405CONFIG_LOCKD=y
1407CONFIG_LOCKD_V4=y 1406CONFIG_LOCKD_V4=y
1408CONFIG_EXPORTFS=y 1407CONFIG_EXPORTFS=y
1409CONFIG_NFS_COMMON=y 1408CONFIG_NFS_COMMON=y
1410CONFIG_SUNRPC=y 1409CONFIG_SUNRPC=y
1411CONFIG_SUNRPC_GSS=y 1410CONFIG_SUNRPC_GSS=y
1412# CONFIG_SUNRPC_BIND34 is not set
1413CONFIG_RPCSEC_GSS_KRB5=y 1411CONFIG_RPCSEC_GSS_KRB5=y
1414# CONFIG_RPCSEC_GSS_SPKM3 is not set 1412# CONFIG_RPCSEC_GSS_SPKM3 is not set
1415# CONFIG_SMB_FS is not set 1413# CONFIG_SMB_FS is not set
@@ -1488,6 +1486,7 @@ CONFIG_BITREVERSE=y
1488# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1486# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1489# CONFIG_CRC_CCITT is not set 1487# CONFIG_CRC_CCITT is not set
1490# CONFIG_CRC16 is not set 1488# CONFIG_CRC16 is not set
1489CONFIG_CRC_T10DIF=y
1491CONFIG_CRC_ITU_T=m 1490CONFIG_CRC_ITU_T=m
1492CONFIG_CRC32=y 1491CONFIG_CRC32=y
1493# CONFIG_CRC7 is not set 1492# CONFIG_CRC7 is not set
@@ -1513,6 +1512,8 @@ CONFIG_DEBUG_FS=y
1513CONFIG_DEBUG_KERNEL=y 1512CONFIG_DEBUG_KERNEL=y
1514# CONFIG_DEBUG_SHIRQ is not set 1513# CONFIG_DEBUG_SHIRQ is not set
1515CONFIG_DETECT_SOFTLOCKUP=y 1514CONFIG_DETECT_SOFTLOCKUP=y
1515# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1516CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1516CONFIG_SCHED_DEBUG=y 1517CONFIG_SCHED_DEBUG=y
1517# CONFIG_SCHEDSTATS is not set 1518# CONFIG_SCHEDSTATS is not set
1518# CONFIG_TIMER_STATS is not set 1519# CONFIG_TIMER_STATS is not set
@@ -1531,19 +1532,29 @@ CONFIG_SCHED_DEBUG=y
1531CONFIG_DEBUG_INFO=y 1532CONFIG_DEBUG_INFO=y
1532# CONFIG_DEBUG_VM is not set 1533# CONFIG_DEBUG_VM is not set
1533# CONFIG_DEBUG_WRITECOUNT is not set 1534# CONFIG_DEBUG_WRITECOUNT is not set
1535# CONFIG_DEBUG_MEMORY_INIT is not set
1534# CONFIG_DEBUG_LIST is not set 1536# CONFIG_DEBUG_LIST is not set
1535# CONFIG_DEBUG_SG is not set 1537# CONFIG_DEBUG_SG is not set
1536# CONFIG_BOOT_PRINTK_DELAY is not set 1538# CONFIG_BOOT_PRINTK_DELAY is not set
1537# CONFIG_RCU_TORTURE_TEST is not set 1539# CONFIG_RCU_TORTURE_TEST is not set
1538# CONFIG_BACKTRACE_SELF_TEST is not set 1540# CONFIG_BACKTRACE_SELF_TEST is not set
1539# CONFIG_FAULT_INJECTION is not set 1541# CONFIG_FAULT_INJECTION is not set
1542# CONFIG_LATENCYTOP is not set
1543CONFIG_SYSCTL_SYSCALL_CHECK=y
1544CONFIG_HAVE_FTRACE=y
1545CONFIG_HAVE_DYNAMIC_FTRACE=y
1546# CONFIG_FTRACE is not set
1547# CONFIG_SCHED_TRACER is not set
1548# CONFIG_CONTEXT_SWITCH_TRACER is not set
1540# CONFIG_SAMPLES is not set 1549# CONFIG_SAMPLES is not set
1550CONFIG_HAVE_ARCH_KGDB=y
1551# CONFIG_KGDB is not set
1541# CONFIG_DEBUG_STACKOVERFLOW is not set 1552# CONFIG_DEBUG_STACKOVERFLOW is not set
1542# CONFIG_DEBUG_STACK_USAGE is not set 1553# CONFIG_DEBUG_STACK_USAGE is not set
1543# CONFIG_DEBUG_PAGEALLOC is not set 1554# CONFIG_DEBUG_PAGEALLOC is not set
1544# CONFIG_DEBUGGER is not set
1545# CONFIG_CODE_PATCHING_SELFTEST is not set 1555# CONFIG_CODE_PATCHING_SELFTEST is not set
1546# CONFIG_FTR_FIXUP_SELFTEST is not set 1556# CONFIG_FTR_FIXUP_SELFTEST is not set
1557# CONFIG_XMON is not set
1547# CONFIG_IRQSTACKS is not set 1558# CONFIG_IRQSTACKS is not set
1548# CONFIG_VIRQ_DEBUG is not set 1559# CONFIG_VIRQ_DEBUG is not set
1549# CONFIG_BDI_SWITCH is not set 1560# CONFIG_BDI_SWITCH is not set
@@ -1561,13 +1572,14 @@ CONFIG_CRYPTO=y
1561# Crypto core or helper 1572# Crypto core or helper
1562# 1573#
1563CONFIG_CRYPTO_ALGAPI=y 1574CONFIG_CRYPTO_ALGAPI=y
1575CONFIG_CRYPTO_AEAD=y
1564CONFIG_CRYPTO_BLKCIPHER=y 1576CONFIG_CRYPTO_BLKCIPHER=y
1565CONFIG_CRYPTO_HASH=y 1577CONFIG_CRYPTO_HASH=y
1566CONFIG_CRYPTO_MANAGER=y 1578CONFIG_CRYPTO_MANAGER=y
1567# CONFIG_CRYPTO_GF128MUL is not set 1579# CONFIG_CRYPTO_GF128MUL is not set
1568# CONFIG_CRYPTO_NULL is not set 1580# CONFIG_CRYPTO_NULL is not set
1569# CONFIG_CRYPTO_CRYPTD is not set 1581# CONFIG_CRYPTO_CRYPTD is not set
1570# CONFIG_CRYPTO_AUTHENC is not set 1582CONFIG_CRYPTO_AUTHENC=y
1571# CONFIG_CRYPTO_TEST is not set 1583# CONFIG_CRYPTO_TEST is not set
1572 1584
1573# 1585#
@@ -1601,6 +1613,10 @@ CONFIG_CRYPTO_HMAC=y
1601# CONFIG_CRYPTO_MD4 is not set 1613# CONFIG_CRYPTO_MD4 is not set
1602CONFIG_CRYPTO_MD5=y 1614CONFIG_CRYPTO_MD5=y
1603# CONFIG_CRYPTO_MICHAEL_MIC is not set 1615# CONFIG_CRYPTO_MICHAEL_MIC is not set
1616# CONFIG_CRYPTO_RMD128 is not set
1617# CONFIG_CRYPTO_RMD160 is not set
1618# CONFIG_CRYPTO_RMD256 is not set
1619# CONFIG_CRYPTO_RMD320 is not set
1604CONFIG_CRYPTO_SHA1=m 1620CONFIG_CRYPTO_SHA1=m
1605# CONFIG_CRYPTO_SHA256 is not set 1621# CONFIG_CRYPTO_SHA256 is not set
1606# CONFIG_CRYPTO_SHA512 is not set 1622# CONFIG_CRYPTO_SHA512 is not set
@@ -1633,5 +1649,6 @@ CONFIG_CRYPTO_DES=y
1633# CONFIG_CRYPTO_LZO is not set 1649# CONFIG_CRYPTO_LZO is not set
1634CONFIG_CRYPTO_HW=y 1650CONFIG_CRYPTO_HW=y
1635# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1651# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1652CONFIG_CRYPTO_DEV_TALITOS=y
1636# CONFIG_PPC_CLOCK is not set 1653# CONFIG_PPC_CLOCK is not set
1637# CONFIG_VIRTUALIZATION is not set 1654# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index f33fd516fd54..1ea181f826f1 100644
--- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:31 2008 4# Thu Aug 21 00:52:30 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -114,10 +115,16 @@ CONFIG_SLUB=y
114# CONFIG_PROFILING is not set 115# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set 116# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 117CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
119CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y
119# CONFIG_HAVE_DMA_ATTRS is not set 123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
120CONFIG_PROC_PAGE_MONITOR=y 126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
121CONFIG_SLABINFO=y 128CONFIG_SLABINFO=y
122CONFIG_RT_MUTEXES=y 129CONFIG_RT_MUTEXES=y
123# CONFIG_TINY_SHMEM is not set 130# CONFIG_TINY_SHMEM is not set
@@ -128,6 +135,7 @@ CONFIG_BLOCK=y
128# CONFIG_BLK_DEV_IO_TRACE is not set 135# CONFIG_BLK_DEV_IO_TRACE is not set
129# CONFIG_LSF is not set 136# CONFIG_LSF is not set
130# CONFIG_BLK_DEV_BSG is not set 137# CONFIG_BLK_DEV_BSG is not set
138# CONFIG_BLK_DEV_INTEGRITY is not set
131 139
132# 140#
133# IO Schedulers 141# IO Schedulers
@@ -146,8 +154,6 @@ CONFIG_CLASSIC_RCU=y
146# 154#
147# Platform support 155# Platform support
148# 156#
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_PPC_CELL is not set 157# CONFIG_PPC_CELL is not set
152# CONFIG_PPC_CELL_NATIVE is not set 158# CONFIG_PPC_CELL_NATIVE is not set
153# CONFIG_PQ2ADS is not set 159# CONFIG_PQ2ADS is not set
@@ -156,11 +162,13 @@ CONFIG_MPC8540_ADS=y
156# CONFIG_MPC8560_ADS is not set 162# CONFIG_MPC8560_ADS is not set
157# CONFIG_MPC85xx_CDS is not set 163# CONFIG_MPC85xx_CDS is not set
158# CONFIG_MPC85xx_MDS is not set 164# CONFIG_MPC85xx_MDS is not set
165# CONFIG_MPC8536_DS is not set
159# CONFIG_MPC85xx_DS is not set 166# CONFIG_MPC85xx_DS is not set
160# CONFIG_KSI8560 is not set 167# CONFIG_KSI8560 is not set
161# CONFIG_STX_GP3 is not set 168# CONFIG_STX_GP3 is not set
162# CONFIG_TQM8540 is not set 169# CONFIG_TQM8540 is not set
163# CONFIG_TQM8541 is not set 170# CONFIG_TQM8541 is not set
171# CONFIG_TQM8548 is not set
164# CONFIG_TQM8555 is not set 172# CONFIG_TQM8555 is not set
165# CONFIG_TQM8560 is not set 173# CONFIG_TQM8560 is not set
166# CONFIG_SBC8548 is not set 174# CONFIG_SBC8548 is not set
@@ -192,7 +200,7 @@ CONFIG_HZ_250=y
192# CONFIG_HZ_300 is not set 200# CONFIG_HZ_300 is not set
193# CONFIG_HZ_1000 is not set 201# CONFIG_HZ_1000 is not set
194CONFIG_HZ=250 202CONFIG_HZ=250
195# CONFIG_SCHED_HRTICK is not set 203CONFIG_SCHED_HRTICK=y
196CONFIG_PREEMPT_NONE=y 204CONFIG_PREEMPT_NONE=y
197# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
198# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
@@ -215,6 +223,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
215# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
216CONFIG_PAGEFLAGS_EXTENDED=y 224CONFIG_PAGEFLAGS_EXTENDED=y
217CONFIG_SPLIT_PTLOCK_CPUS=4 225CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y
218# CONFIG_RESOURCES_64BIT is not set 227# CONFIG_RESOURCES_64BIT is not set
219CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
220CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
@@ -222,6 +231,7 @@ CONFIG_VIRT_TO_BUS=y
222CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
223CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
224# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
234CONFIG_EXTRA_TARGETS=""
225# CONFIG_PM is not set 235# CONFIG_PM is not set
226# CONFIG_SECCOMP is not set 236# CONFIG_SECCOMP is not set
227CONFIG_ISA_DMA_API=y 237CONFIG_ISA_DMA_API=y
@@ -231,6 +241,7 @@ CONFIG_ISA_DMA_API=y
231# 241#
232CONFIG_ZONE_DMA=y 242CONFIG_ZONE_DMA=y
233CONFIG_FSL_SOC=y 243CONFIG_FSL_SOC=y
244CONFIG_PPC_PCI_CHOICE=y
234# CONFIG_PCI is not set 245# CONFIG_PCI is not set
235# CONFIG_PCI_DOMAINS is not set 246# CONFIG_PCI_DOMAINS is not set
236# CONFIG_PCI_SYSCALL is not set 247# CONFIG_PCI_SYSCALL is not set
@@ -252,10 +263,6 @@ CONFIG_KERNEL_START=0xc0000000
252CONFIG_PHYSICAL_START=0x00000000 263CONFIG_PHYSICAL_START=0x00000000
253CONFIG_PHYSICAL_ALIGN=0x10000000 264CONFIG_PHYSICAL_ALIGN=0x10000000
254CONFIG_TASK_SIZE=0xc0000000 265CONFIG_TASK_SIZE=0xc0000000
255
256#
257# Networking
258#
259CONFIG_NET=y 266CONFIG_NET=y
260 267
261# 268#
@@ -367,6 +374,7 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
367# CONFIG_BLK_DEV_XIP is not set 374# CONFIG_BLK_DEV_XIP is not set
368# CONFIG_CDROM_PKTCDVD is not set 375# CONFIG_CDROM_PKTCDVD is not set
369# CONFIG_ATA_OVER_ETH is not set 376# CONFIG_ATA_OVER_ETH is not set
377# CONFIG_BLK_DEV_HD is not set
370CONFIG_MISC_DEVICES=y 378CONFIG_MISC_DEVICES=y
371# CONFIG_EEPROM_93CX6 is not set 379# CONFIG_EEPROM_93CX6 is not set
372# CONFIG_ENCLOSURE_SERVICES is not set 380# CONFIG_ENCLOSURE_SERVICES is not set
@@ -384,7 +392,6 @@ CONFIG_HAVE_IDE=y
384# CONFIG_MD is not set 392# CONFIG_MD is not set
385# CONFIG_MACINTOSH_DRIVERS is not set 393# CONFIG_MACINTOSH_DRIVERS is not set
386CONFIG_NETDEVICES=y 394CONFIG_NETDEVICES=y
387# CONFIG_NETDEVICES_MULTIQUEUE is not set
388# CONFIG_DUMMY is not set 395# CONFIG_DUMMY is not set
389# CONFIG_BONDING is not set 396# CONFIG_BONDING is not set
390# CONFIG_MACVLAN is not set 397# CONFIG_MACVLAN is not set
@@ -416,9 +423,7 @@ CONFIG_MII=y
416# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 423# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
417# CONFIG_B44 is not set 424# CONFIG_B44 is not set
418CONFIG_NETDEV_1000=y 425CONFIG_NETDEV_1000=y
419# CONFIG_E1000E_ENABLED is not set
420CONFIG_GIANFAR=y 426CONFIG_GIANFAR=y
421CONFIG_GFAR_NAPI=y
422CONFIG_NETDEV_10000=y 427CONFIG_NETDEV_10000=y
423 428
424# 429#
@@ -504,6 +509,8 @@ CONFIG_GEN_RTC=y
504# CONFIG_TCG_TPM is not set 509# CONFIG_TCG_TPM is not set
505# CONFIG_I2C is not set 510# CONFIG_I2C is not set
506# CONFIG_SPI is not set 511# CONFIG_SPI is not set
512CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
513# CONFIG_GPIOLIB is not set
507# CONFIG_W1 is not set 514# CONFIG_W1 is not set
508# CONFIG_POWER_SUPPLY is not set 515# CONFIG_POWER_SUPPLY is not set
509CONFIG_HWMON=y 516CONFIG_HWMON=y
@@ -520,6 +527,7 @@ CONFIG_HWMON=y
520# CONFIG_SENSORS_W83627EHF is not set 527# CONFIG_SENSORS_W83627EHF is not set
521# CONFIG_HWMON_DEBUG_CHIP is not set 528# CONFIG_HWMON_DEBUG_CHIP is not set
522# CONFIG_THERMAL is not set 529# CONFIG_THERMAL is not set
530# CONFIG_THERMAL_HWMON is not set
523# CONFIG_WATCHDOG is not set 531# CONFIG_WATCHDOG is not set
524 532
525# 533#
@@ -531,8 +539,10 @@ CONFIG_SSB_POSSIBLE=y
531# 539#
532# Multifunction device drivers 540# Multifunction device drivers
533# 541#
542# CONFIG_MFD_CORE is not set
534# CONFIG_MFD_SM501 is not set 543# CONFIG_MFD_SM501 is not set
535# CONFIG_HTC_PASIC3 is not set 544# CONFIG_HTC_PASIC3 is not set
545# CONFIG_MFD_TMIO is not set
536 546
537# 547#
538# Multimedia devices 548# Multimedia devices
@@ -562,10 +572,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
562# Display device support 572# Display device support
563# 573#
564# CONFIG_DISPLAY_SUPPORT is not set 574# CONFIG_DISPLAY_SUPPORT is not set
565
566#
567# Sound
568#
569# CONFIG_SOUND is not set 575# CONFIG_SOUND is not set
570CONFIG_HID_SUPPORT=y 576CONFIG_HID_SUPPORT=y
571CONFIG_HID=y 577CONFIG_HID=y
@@ -579,6 +585,10 @@ CONFIG_USB_SUPPORT=y
579# CONFIG_USB_OTG_BLACKLIST_HUB is not set 585# CONFIG_USB_OTG_BLACKLIST_HUB is not set
580 586
581# 587#
588# Enable Host or Gadget support to see Inventra options
589#
590
591#
582# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 592# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
583# 593#
584# CONFIG_USB_GADGET is not set 594# CONFIG_USB_GADGET is not set
@@ -655,6 +665,7 @@ CONFIG_TMPFS=y
655# CONFIG_CRAMFS is not set 665# CONFIG_CRAMFS is not set
656# CONFIG_VXFS_FS is not set 666# CONFIG_VXFS_FS is not set
657# CONFIG_MINIX_FS is not set 667# CONFIG_MINIX_FS is not set
668# CONFIG_OMFS_FS is not set
658# CONFIG_HPFS_FS is not set 669# CONFIG_HPFS_FS is not set
659# CONFIG_QNX4FS_FS is not set 670# CONFIG_QNX4FS_FS is not set
660# CONFIG_ROMFS_FS is not set 671# CONFIG_ROMFS_FS is not set
@@ -664,12 +675,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
664CONFIG_NFS_FS=y 675CONFIG_NFS_FS=y
665# CONFIG_NFS_V3 is not set 676# CONFIG_NFS_V3 is not set
666# CONFIG_NFS_V4 is not set 677# CONFIG_NFS_V4 is not set
667# CONFIG_NFSD is not set
668CONFIG_ROOT_NFS=y 678CONFIG_ROOT_NFS=y
679# CONFIG_NFSD is not set
669CONFIG_LOCKD=y 680CONFIG_LOCKD=y
670CONFIG_NFS_COMMON=y 681CONFIG_NFS_COMMON=y
671CONFIG_SUNRPC=y 682CONFIG_SUNRPC=y
672# CONFIG_SUNRPC_BIND34 is not set
673# CONFIG_RPCSEC_GSS_KRB5 is not set 683# CONFIG_RPCSEC_GSS_KRB5 is not set
674# CONFIG_RPCSEC_GSS_SPKM3 is not set 684# CONFIG_RPCSEC_GSS_SPKM3 is not set
675# CONFIG_SMB_FS is not set 685# CONFIG_SMB_FS is not set
@@ -705,6 +715,7 @@ CONFIG_BITREVERSE=y
705# CONFIG_GENERIC_FIND_FIRST_BIT is not set 715# CONFIG_GENERIC_FIND_FIRST_BIT is not set
706# CONFIG_CRC_CCITT is not set 716# CONFIG_CRC_CCITT is not set
707# CONFIG_CRC16 is not set 717# CONFIG_CRC16 is not set
718# CONFIG_CRC_T10DIF is not set
708# CONFIG_CRC_ITU_T is not set 719# CONFIG_CRC_ITU_T is not set
709CONFIG_CRC32=y 720CONFIG_CRC32=y
710# CONFIG_CRC7 is not set 721# CONFIG_CRC7 is not set
@@ -729,6 +740,8 @@ CONFIG_FRAME_WARN=1024
729CONFIG_DEBUG_KERNEL=y 740CONFIG_DEBUG_KERNEL=y
730# CONFIG_DEBUG_SHIRQ is not set 741# CONFIG_DEBUG_SHIRQ is not set
731CONFIG_DETECT_SOFTLOCKUP=y 742CONFIG_DETECT_SOFTLOCKUP=y
743# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
744CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
732CONFIG_SCHED_DEBUG=y 745CONFIG_SCHED_DEBUG=y
733# CONFIG_SCHEDSTATS is not set 746# CONFIG_SCHEDSTATS is not set
734# CONFIG_TIMER_STATS is not set 747# CONFIG_TIMER_STATS is not set
@@ -746,16 +759,29 @@ CONFIG_DEBUG_MUTEXES=y
746# CONFIG_DEBUG_INFO is not set 759# CONFIG_DEBUG_INFO is not set
747# CONFIG_DEBUG_VM is not set 760# CONFIG_DEBUG_VM is not set
748# CONFIG_DEBUG_WRITECOUNT is not set 761# CONFIG_DEBUG_WRITECOUNT is not set
762# CONFIG_DEBUG_MEMORY_INIT is not set
749# CONFIG_DEBUG_LIST is not set 763# CONFIG_DEBUG_LIST is not set
750# CONFIG_DEBUG_SG is not set 764# CONFIG_DEBUG_SG is not set
751# CONFIG_BOOT_PRINTK_DELAY is not set 765# CONFIG_BOOT_PRINTK_DELAY is not set
766# CONFIG_RCU_TORTURE_TEST is not set
752# CONFIG_BACKTRACE_SELF_TEST is not set 767# CONFIG_BACKTRACE_SELF_TEST is not set
753# CONFIG_FAULT_INJECTION is not set 768# CONFIG_FAULT_INJECTION is not set
769# CONFIG_LATENCYTOP is not set
770CONFIG_SYSCTL_SYSCALL_CHECK=y
771CONFIG_HAVE_FTRACE=y
772CONFIG_HAVE_DYNAMIC_FTRACE=y
773# CONFIG_FTRACE is not set
774# CONFIG_SCHED_TRACER is not set
775# CONFIG_CONTEXT_SWITCH_TRACER is not set
754# CONFIG_SAMPLES is not set 776# CONFIG_SAMPLES is not set
777CONFIG_HAVE_ARCH_KGDB=y
778# CONFIG_KGDB is not set
755# CONFIG_DEBUG_STACKOVERFLOW is not set 779# CONFIG_DEBUG_STACKOVERFLOW is not set
756# CONFIG_DEBUG_STACK_USAGE is not set 780# CONFIG_DEBUG_STACK_USAGE is not set
757# CONFIG_DEBUG_PAGEALLOC is not set 781# CONFIG_DEBUG_PAGEALLOC is not set
758# CONFIG_DEBUGGER is not set 782# CONFIG_CODE_PATCHING_SELFTEST is not set
783# CONFIG_FTR_FIXUP_SELFTEST is not set
784# CONFIG_XMON is not set
759# CONFIG_IRQSTACKS is not set 785# CONFIG_IRQSTACKS is not set
760# CONFIG_BDI_SWITCH is not set 786# CONFIG_BDI_SWITCH is not set
761# CONFIG_PPC_EARLY_DEBUG is not set 787# CONFIG_PPC_EARLY_DEBUG is not set
@@ -808,6 +834,10 @@ CONFIG_CRYPTO=y
808# CONFIG_CRYPTO_MD4 is not set 834# CONFIG_CRYPTO_MD4 is not set
809# CONFIG_CRYPTO_MD5 is not set 835# CONFIG_CRYPTO_MD5 is not set
810# CONFIG_CRYPTO_MICHAEL_MIC is not set 836# CONFIG_CRYPTO_MICHAEL_MIC is not set
837# CONFIG_CRYPTO_RMD128 is not set
838# CONFIG_CRYPTO_RMD160 is not set
839# CONFIG_CRYPTO_RMD256 is not set
840# CONFIG_CRYPTO_RMD320 is not set
811# CONFIG_CRYPTO_SHA1 is not set 841# CONFIG_CRYPTO_SHA1 is not set
812# CONFIG_CRYPTO_SHA256 is not set 842# CONFIG_CRYPTO_SHA256 is not set
813# CONFIG_CRYPTO_SHA512 is not set 843# CONFIG_CRYPTO_SHA512 is not set
@@ -839,5 +869,6 @@ CONFIG_CRYPTO=y
839# CONFIG_CRYPTO_DEFLATE is not set 869# CONFIG_CRYPTO_DEFLATE is not set
840# CONFIG_CRYPTO_LZO is not set 870# CONFIG_CRYPTO_LZO is not set
841CONFIG_CRYPTO_HW=y 871CONFIG_CRYPTO_HW=y
872# CONFIG_CRYPTO_DEV_TALITOS is not set
842# CONFIG_PPC_CLOCK is not set 873# CONFIG_PPC_CLOCK is not set
843# CONFIG_VIRTUALIZATION is not set 874# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
index a0583e5119f5..1aecdeab9841 100644
--- a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:32 2008 4# Thu Aug 21 07:20:43 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -92,7 +94,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 95CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 97CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 98CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_EXTRA_PASS=y 99CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -118,10 +119,16 @@ CONFIG_SLUB=y
118# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -138,6 +145,7 @@ CONFIG_LBD=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 146# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
141 149
142# 150#
143# IO Schedulers 151# IO Schedulers
@@ -156,8 +164,6 @@ CONFIG_CLASSIC_RCU=y
156# 164#
157# Platform support 165# Platform support
158# 166#
159# CONFIG_PPC_MPC512x is not set
160# CONFIG_PPC_MPC5121 is not set
161# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
162# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
163# CONFIG_PQ2ADS is not set 169# CONFIG_PQ2ADS is not set
@@ -166,11 +172,13 @@ CONFIG_MPC85xx=y
166# CONFIG_MPC8560_ADS is not set 172# CONFIG_MPC8560_ADS is not set
167# CONFIG_MPC85xx_CDS is not set 173# CONFIG_MPC85xx_CDS is not set
168# CONFIG_MPC85xx_MDS is not set 174# CONFIG_MPC85xx_MDS is not set
175# CONFIG_MPC8536_DS is not set
169CONFIG_MPC85xx_DS=y 176CONFIG_MPC85xx_DS=y
170# CONFIG_KSI8560 is not set 177# CONFIG_KSI8560 is not set
171# CONFIG_STX_GP3 is not set 178# CONFIG_STX_GP3 is not set
172# CONFIG_TQM8540 is not set 179# CONFIG_TQM8540 is not set
173# CONFIG_TQM8541 is not set 180# CONFIG_TQM8541 is not set
181# CONFIG_TQM8548 is not set
174# CONFIG_TQM8555 is not set 182# CONFIG_TQM8555 is not set
175# CONFIG_TQM8560 is not set 183# CONFIG_TQM8560 is not set
176# CONFIG_SBC8548 is not set 184# CONFIG_SBC8548 is not set
@@ -202,7 +210,7 @@ CONFIG_HZ_250=y
202# CONFIG_HZ_300 is not set 210# CONFIG_HZ_300 is not set
203# CONFIG_HZ_1000 is not set 211# CONFIG_HZ_1000 is not set
204CONFIG_HZ=250 212CONFIG_HZ=250
205# CONFIG_SCHED_HRTICK is not set 213CONFIG_SCHED_HRTICK=y
206CONFIG_PREEMPT_NONE=y 214CONFIG_PREEMPT_NONE=y
207# CONFIG_PREEMPT_VOLUNTARY is not set 215# CONFIG_PREEMPT_VOLUNTARY is not set
208# CONFIG_PREEMPT is not set 216# CONFIG_PREEMPT is not set
@@ -225,6 +233,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 234CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 235CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 237# CONFIG_RESOURCES_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 238CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
@@ -232,6 +241,7 @@ CONFIG_VIRT_TO_BUS=y
232CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
233CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
234# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
244CONFIG_EXTRA_TARGETS=""
235# CONFIG_PM is not set 245# CONFIG_PM is not set
236CONFIG_SECCOMP=y 246CONFIG_SECCOMP=y
237CONFIG_ISA_DMA_API=y 247CONFIG_ISA_DMA_API=y
@@ -244,6 +254,7 @@ CONFIG_GENERIC_ISA_DMA=y
244CONFIG_PPC_INDIRECT_PCI=y 254CONFIG_PPC_INDIRECT_PCI=y
245CONFIG_FSL_SOC=y 255CONFIG_FSL_SOC=y
246CONFIG_FSL_PCI=y 256CONFIG_FSL_PCI=y
257CONFIG_PPC_PCI_CHOICE=y
247CONFIG_PCI=y 258CONFIG_PCI=y
248CONFIG_PCI_DOMAINS=y 259CONFIG_PCI_DOMAINS=y
249CONFIG_PCI_SYSCALL=y 260CONFIG_PCI_SYSCALL=y
@@ -270,10 +281,6 @@ CONFIG_KERNEL_START=0xc0000000
270CONFIG_PHYSICAL_START=0x00000000 281CONFIG_PHYSICAL_START=0x00000000
271CONFIG_PHYSICAL_ALIGN=0x10000000 282CONFIG_PHYSICAL_ALIGN=0x10000000
272CONFIG_TASK_SIZE=0xc0000000 283CONFIG_TASK_SIZE=0xc0000000
273
274#
275# Networking
276#
277CONFIG_NET=y 284CONFIG_NET=y
278 285
279# 286#
@@ -399,6 +406,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
399CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
400CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
401CONFIG_FW_LOADER=y 408CONFIG_FW_LOADER=y
409CONFIG_FIRMWARE_IN_KERNEL=y
410CONFIG_EXTRA_FIRMWARE=""
402# CONFIG_DEBUG_DRIVER is not set 411# CONFIG_DEBUG_DRIVER is not set
403# CONFIG_DEBUG_DEVRES is not set 412# CONFIG_DEBUG_DEVRES is not set
404# CONFIG_SYS_HYPERVISOR is not set 413# CONFIG_SYS_HYPERVISOR is not set
@@ -425,12 +434,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
425# CONFIG_BLK_DEV_XIP is not set 434# CONFIG_BLK_DEV_XIP is not set
426# CONFIG_CDROM_PKTCDVD is not set 435# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 436# CONFIG_ATA_OVER_ETH is not set
437# CONFIG_BLK_DEV_HD is not set
428CONFIG_MISC_DEVICES=y 438CONFIG_MISC_DEVICES=y
429# CONFIG_PHANTOM is not set 439# CONFIG_PHANTOM is not set
430# CONFIG_EEPROM_93CX6 is not set 440# CONFIG_EEPROM_93CX6 is not set
431# CONFIG_SGI_IOC4 is not set 441# CONFIG_SGI_IOC4 is not set
432# CONFIG_TIFM_CORE is not set 442# CONFIG_TIFM_CORE is not set
433# CONFIG_ENCLOSURE_SERVICES is not set 443# CONFIG_ENCLOSURE_SERVICES is not set
444# CONFIG_HP_ILO is not set
434CONFIG_HAVE_IDE=y 445CONFIG_HAVE_IDE=y
435# CONFIG_IDE is not set 446# CONFIG_IDE is not set
436 447
@@ -510,6 +521,7 @@ CONFIG_SCSI_LOWLEVEL=y
510# CONFIG_SCSI_NSP32 is not set 521# CONFIG_SCSI_NSP32 is not set
511# CONFIG_SCSI_DEBUG is not set 522# CONFIG_SCSI_DEBUG is not set
512# CONFIG_SCSI_SRP is not set 523# CONFIG_SCSI_SRP is not set
524# CONFIG_SCSI_DH is not set
513CONFIG_ATA=y 525CONFIG_ATA=y
514# CONFIG_ATA_NONSTANDARD is not set 526# CONFIG_ATA_NONSTANDARD is not set
515CONFIG_SATA_PMP=y 527CONFIG_SATA_PMP=y
@@ -577,12 +589,15 @@ CONFIG_PATA_ALI=y
577# 589#
578# IEEE 1394 (FireWire) support 590# IEEE 1394 (FireWire) support
579# 591#
592
593#
594# Enable only one of the two stacks, unless you know what you are doing
595#
580# CONFIG_FIREWIRE is not set 596# CONFIG_FIREWIRE is not set
581# CONFIG_IEEE1394 is not set 597# CONFIG_IEEE1394 is not set
582# CONFIG_I2O is not set 598# CONFIG_I2O is not set
583# CONFIG_MACINTOSH_DRIVERS is not set 599# CONFIG_MACINTOSH_DRIVERS is not set
584CONFIG_NETDEVICES=y 600CONFIG_NETDEVICES=y
585# CONFIG_NETDEVICES_MULTIQUEUE is not set
586CONFIG_DUMMY=y 601CONFIG_DUMMY=y
587# CONFIG_BONDING is not set 602# CONFIG_BONDING is not set
588# CONFIG_MACVLAN is not set 603# CONFIG_MACVLAN is not set
@@ -626,7 +641,6 @@ CONFIG_NETDEV_1000=y
626# CONFIG_DL2K is not set 641# CONFIG_DL2K is not set
627# CONFIG_E1000 is not set 642# CONFIG_E1000 is not set
628# CONFIG_E1000E is not set 643# CONFIG_E1000E is not set
629# CONFIG_E1000E_ENABLED is not set
630# CONFIG_IP1000 is not set 644# CONFIG_IP1000 is not set
631# CONFIG_IGB is not set 645# CONFIG_IGB is not set
632# CONFIG_NS83820 is not set 646# CONFIG_NS83820 is not set
@@ -640,9 +654,9 @@ CONFIG_NETDEV_1000=y
640# CONFIG_TIGON3 is not set 654# CONFIG_TIGON3 is not set
641# CONFIG_BNX2 is not set 655# CONFIG_BNX2 is not set
642CONFIG_GIANFAR=y 656CONFIG_GIANFAR=y
643CONFIG_GFAR_NAPI=y
644# CONFIG_QLA3XXX is not set 657# CONFIG_QLA3XXX is not set
645# CONFIG_ATL1 is not set 658# CONFIG_ATL1 is not set
659# CONFIG_ATL1E is not set
646CONFIG_NETDEV_10000=y 660CONFIG_NETDEV_10000=y
647# CONFIG_CHELSIO_T1 is not set 661# CONFIG_CHELSIO_T1 is not set
648# CONFIG_CHELSIO_T3 is not set 662# CONFIG_CHELSIO_T3 is not set
@@ -719,12 +733,14 @@ CONFIG_SERIO_SERPORT=y
719# CONFIG_SERIO_PCIPS2 is not set 733# CONFIG_SERIO_PCIPS2 is not set
720CONFIG_SERIO_LIBPS2=y 734CONFIG_SERIO_LIBPS2=y
721# CONFIG_SERIO_RAW is not set 735# CONFIG_SERIO_RAW is not set
736# CONFIG_SERIO_XILINX_XPS_PS2 is not set
722# CONFIG_GAMEPORT is not set 737# CONFIG_GAMEPORT is not set
723 738
724# 739#
725# Character devices 740# Character devices
726# 741#
727CONFIG_VT=y 742CONFIG_VT=y
743CONFIG_CONSOLE_TRANSLATIONS=y
728CONFIG_VT_CONSOLE=y 744CONFIG_VT_CONSOLE=y
729CONFIG_HW_CONSOLE=y 745CONFIG_HW_CONSOLE=y
730# CONFIG_VT_HW_CONSOLE_BINDING is not set 746# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -758,7 +774,7 @@ CONFIG_UNIX98_PTYS=y
758CONFIG_LEGACY_PTYS=y 774CONFIG_LEGACY_PTYS=y
759CONFIG_LEGACY_PTY_COUNT=256 775CONFIG_LEGACY_PTY_COUNT=256
760# CONFIG_IPMI_HANDLER is not set 776# CONFIG_IPMI_HANDLER is not set
761# CONFIG_HW_RANDOM is not set 777CONFIG_HW_RANDOM=y
762CONFIG_NVRAM=y 778CONFIG_NVRAM=y
763# CONFIG_R3964 is not set 779# CONFIG_R3964 is not set
764# CONFIG_APPLICOM is not set 780# CONFIG_APPLICOM is not set
@@ -768,43 +784,64 @@ CONFIG_DEVPORT=y
768CONFIG_I2C=y 784CONFIG_I2C=y
769CONFIG_I2C_BOARDINFO=y 785CONFIG_I2C_BOARDINFO=y
770# CONFIG_I2C_CHARDEV is not set 786# CONFIG_I2C_CHARDEV is not set
787CONFIG_I2C_HELPER_AUTO=y
771 788
772# 789#
773# I2C Hardware Bus support 790# I2C Hardware Bus support
774# 791#
792
793#
794# PC SMBus host controller drivers
795#
775# CONFIG_I2C_ALI1535 is not set 796# CONFIG_I2C_ALI1535 is not set
776# CONFIG_I2C_ALI1563 is not set 797# CONFIG_I2C_ALI1563 is not set
777# CONFIG_I2C_ALI15X3 is not set 798# CONFIG_I2C_ALI15X3 is not set
778# CONFIG_I2C_AMD756 is not set 799# CONFIG_I2C_AMD756 is not set
779# CONFIG_I2C_AMD8111 is not set 800# CONFIG_I2C_AMD8111 is not set
780# CONFIG_I2C_I801 is not set 801# CONFIG_I2C_I801 is not set
781# CONFIG_I2C_I810 is not set 802# CONFIG_I2C_ISCH is not set
782# CONFIG_I2C_PIIX4 is not set 803# CONFIG_I2C_PIIX4 is not set
783CONFIG_I2C_MPC=y
784# CONFIG_I2C_NFORCE2 is not set 804# CONFIG_I2C_NFORCE2 is not set
785# CONFIG_I2C_OCORES is not set
786# CONFIG_I2C_PARPORT_LIGHT is not set
787# CONFIG_I2C_PROSAVAGE is not set
788# CONFIG_I2C_SAVAGE4 is not set
789# CONFIG_I2C_SIMTEC is not set
790# CONFIG_I2C_SIS5595 is not set 805# CONFIG_I2C_SIS5595 is not set
791# CONFIG_I2C_SIS630 is not set 806# CONFIG_I2C_SIS630 is not set
792# CONFIG_I2C_SIS96X is not set 807# CONFIG_I2C_SIS96X is not set
793# CONFIG_I2C_TAOS_EVM is not set
794# CONFIG_I2C_STUB is not set
795# CONFIG_I2C_TINY_USB is not set
796# CONFIG_I2C_VIA is not set 808# CONFIG_I2C_VIA is not set
797# CONFIG_I2C_VIAPRO is not set 809# CONFIG_I2C_VIAPRO is not set
810
811#
812# I2C system bus drivers (mostly embedded / system-on-chip)
813#
814CONFIG_I2C_MPC=y
815# CONFIG_I2C_OCORES is not set
816# CONFIG_I2C_SIMTEC is not set
817
818#
819# External I2C/SMBus adapter drivers
820#
821# CONFIG_I2C_PARPORT_LIGHT is not set
822# CONFIG_I2C_TAOS_EVM is not set
823# CONFIG_I2C_TINY_USB is not set
824
825#
826# Graphics adapter I2C/DDC channel drivers
827#
798# CONFIG_I2C_VOODOO3 is not set 828# CONFIG_I2C_VOODOO3 is not set
829
830#
831# Other I2C/SMBus bus drivers
832#
799# CONFIG_I2C_PCA_PLATFORM is not set 833# CONFIG_I2C_PCA_PLATFORM is not set
834# CONFIG_I2C_STUB is not set
800 835
801# 836#
802# Miscellaneous I2C Chip support 837# Miscellaneous I2C Chip support
803# 838#
804# CONFIG_DS1682 is not set 839# CONFIG_DS1682 is not set
840# CONFIG_AT24 is not set
805CONFIG_SENSORS_EEPROM=y 841CONFIG_SENSORS_EEPROM=y
806# CONFIG_SENSORS_PCF8574 is not set 842# CONFIG_SENSORS_PCF8574 is not set
807# CONFIG_PCF8575 is not set 843# CONFIG_PCF8575 is not set
844# CONFIG_SENSORS_PCA9539 is not set
808# CONFIG_SENSORS_PCF8591 is not set 845# CONFIG_SENSORS_PCF8591 is not set
809# CONFIG_SENSORS_MAX6875 is not set 846# CONFIG_SENSORS_MAX6875 is not set
810# CONFIG_SENSORS_TSL2550 is not set 847# CONFIG_SENSORS_TSL2550 is not set
@@ -813,10 +850,13 @@ CONFIG_SENSORS_EEPROM=y
813# CONFIG_I2C_DEBUG_BUS is not set 850# CONFIG_I2C_DEBUG_BUS is not set
814# CONFIG_I2C_DEBUG_CHIP is not set 851# CONFIG_I2C_DEBUG_CHIP is not set
815# CONFIG_SPI is not set 852# CONFIG_SPI is not set
853CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
854# CONFIG_GPIOLIB is not set
816# CONFIG_W1 is not set 855# CONFIG_W1 is not set
817# CONFIG_POWER_SUPPLY is not set 856# CONFIG_POWER_SUPPLY is not set
818# CONFIG_HWMON is not set 857# CONFIG_HWMON is not set
819# CONFIG_THERMAL is not set 858# CONFIG_THERMAL is not set
859# CONFIG_THERMAL_HWMON is not set
820# CONFIG_WATCHDOG is not set 860# CONFIG_WATCHDOG is not set
821 861
822# 862#
@@ -828,8 +868,10 @@ CONFIG_SSB_POSSIBLE=y
828# 868#
829# Multifunction device drivers 869# Multifunction device drivers
830# 870#
871# CONFIG_MFD_CORE is not set
831# CONFIG_MFD_SM501 is not set 872# CONFIG_MFD_SM501 is not set
832# CONFIG_HTC_PASIC3 is not set 873# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set
833 875
834# 876#
835# Multimedia devices 877# Multimedia devices
@@ -871,6 +913,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
871# CONFIG_DVB_TTUSB_BUDGET is not set 913# CONFIG_DVB_TTUSB_BUDGET is not set
872# CONFIG_DVB_TTUSB_DEC is not set 914# CONFIG_DVB_TTUSB_DEC is not set
873# CONFIG_DVB_CINERGYT2 is not set 915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set
874 917
875# 918#
876# Supported FlexCopII (B2C2) Adapters 919# Supported FlexCopII (B2C2) Adapters
@@ -917,6 +960,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
917# CONFIG_DVB_SP887X is not set 960# CONFIG_DVB_SP887X is not set
918# CONFIG_DVB_CX22700 is not set 961# CONFIG_DVB_CX22700 is not set
919# CONFIG_DVB_CX22702 is not set 962# CONFIG_DVB_CX22702 is not set
963# CONFIG_DVB_DRX397XD is not set
920# CONFIG_DVB_L64781 is not set 964# CONFIG_DVB_L64781 is not set
921# CONFIG_DVB_TDA1004X is not set 965# CONFIG_DVB_TDA1004X is not set
922# CONFIG_DVB_NXT6000 is not set 966# CONFIG_DVB_NXT6000 is not set
@@ -984,15 +1028,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
984CONFIG_VGA_CONSOLE=y 1028CONFIG_VGA_CONSOLE=y
985# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set
986CONFIG_DUMMY_CONSOLE=y 1030CONFIG_DUMMY_CONSOLE=y
987
988#
989# Sound
990#
991CONFIG_SOUND=y 1031CONFIG_SOUND=y
992
993#
994# Advanced Linux Sound Architecture
995#
996CONFIG_SND=y 1032CONFIG_SND=y
997CONFIG_SND_TIMER=y 1033CONFIG_SND_TIMER=y
998CONFIG_SND_PCM=y 1034CONFIG_SND_PCM=y
@@ -1006,19 +1042,15 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
1006CONFIG_SND_VERBOSE_PROCFS=y 1042CONFIG_SND_VERBOSE_PROCFS=y
1007# CONFIG_SND_VERBOSE_PRINTK is not set 1043# CONFIG_SND_VERBOSE_PRINTK is not set
1008# CONFIG_SND_DEBUG is not set 1044# CONFIG_SND_DEBUG is not set
1009 1045CONFIG_SND_VMASTER=y
1010#
1011# Generic devices
1012#
1013CONFIG_SND_AC97_CODEC=y 1046CONFIG_SND_AC97_CODEC=y
1047CONFIG_SND_DRIVERS=y
1014# CONFIG_SND_DUMMY is not set 1048# CONFIG_SND_DUMMY is not set
1015# CONFIG_SND_MTPAV is not set 1049# CONFIG_SND_MTPAV is not set
1016# CONFIG_SND_SERIAL_U16550 is not set 1050# CONFIG_SND_SERIAL_U16550 is not set
1017# CONFIG_SND_MPU401 is not set 1051# CONFIG_SND_MPU401 is not set
1018 1052# CONFIG_SND_AC97_POWER_SAVE is not set
1019# 1053CONFIG_SND_PCI=y
1020# PCI devices
1021#
1022# CONFIG_SND_AD1889 is not set 1054# CONFIG_SND_AD1889 is not set
1023# CONFIG_SND_ALS300 is not set 1055# CONFIG_SND_ALS300 is not set
1024# CONFIG_SND_ALS4000 is not set 1056# CONFIG_SND_ALS4000 is not set
@@ -1080,39 +1112,12 @@ CONFIG_SND_INTEL8X0=y
1080# CONFIG_SND_VIRTUOSO is not set 1112# CONFIG_SND_VIRTUOSO is not set
1081# CONFIG_SND_VX222 is not set 1113# CONFIG_SND_VX222 is not set
1082# CONFIG_SND_YMFPCI is not set 1114# CONFIG_SND_YMFPCI is not set
1083# CONFIG_SND_AC97_POWER_SAVE is not set 1115CONFIG_SND_PPC=y
1084 1116CONFIG_SND_USB=y
1085#
1086# ALSA PowerMac devices
1087#
1088
1089#
1090# ALSA PowerPC devices
1091#
1092
1093#
1094# USB devices
1095#
1096# CONFIG_SND_USB_AUDIO is not set 1117# CONFIG_SND_USB_AUDIO is not set
1097# CONFIG_SND_USB_USX2Y is not set 1118# CONFIG_SND_USB_USX2Y is not set
1098# CONFIG_SND_USB_CAIAQ is not set 1119# CONFIG_SND_USB_CAIAQ is not set
1099
1100#
1101# System on Chip audio support
1102#
1103# CONFIG_SND_SOC is not set 1120# CONFIG_SND_SOC is not set
1104
1105#
1106# ALSA SoC audio for Freescale SOCs
1107#
1108
1109#
1110# SoC Audio for the Texas Instruments OMAP
1111#
1112
1113#
1114# Open Sound System
1115#
1116# CONFIG_SOUND_PRIME is not set 1121# CONFIG_SOUND_PRIME is not set
1117CONFIG_AC97_BUS=y 1122CONFIG_AC97_BUS=y
1118CONFIG_HID_SUPPORT=y 1123CONFIG_HID_SUPPORT=y
@@ -1144,6 +1149,7 @@ CONFIG_USB_DEVICE_CLASS=y
1144# CONFIG_USB_OTG is not set 1149# CONFIG_USB_OTG is not set
1145# CONFIG_USB_OTG_WHITELIST is not set 1150# CONFIG_USB_OTG_WHITELIST is not set
1146# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1151# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1152CONFIG_USB_MON=y
1147 1153
1148# 1154#
1149# USB Host Controller Drivers 1155# USB Host Controller Drivers
@@ -1195,6 +1201,7 @@ CONFIG_USB_STORAGE=y
1195# CONFIG_USB_STORAGE_ALAUDA is not set 1201# CONFIG_USB_STORAGE_ALAUDA is not set
1196# CONFIG_USB_STORAGE_ONETOUCH is not set 1202# CONFIG_USB_STORAGE_ONETOUCH is not set
1197# CONFIG_USB_STORAGE_KARMA is not set 1203# CONFIG_USB_STORAGE_KARMA is not set
1204# CONFIG_USB_STORAGE_SIERRA is not set
1198# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1205# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1199# CONFIG_USB_LIBUSUAL is not set 1206# CONFIG_USB_LIBUSUAL is not set
1200 1207
@@ -1203,7 +1210,6 @@ CONFIG_USB_STORAGE=y
1203# 1210#
1204# CONFIG_USB_MDC800 is not set 1211# CONFIG_USB_MDC800 is not set
1205# CONFIG_USB_MICROTEK is not set 1212# CONFIG_USB_MICROTEK is not set
1206CONFIG_USB_MON=y
1207 1213
1208# 1214#
1209# USB port drivers 1215# USB port drivers
@@ -1216,7 +1222,6 @@ CONFIG_USB_MON=y
1216# CONFIG_USB_EMI62 is not set 1222# CONFIG_USB_EMI62 is not set
1217# CONFIG_USB_EMI26 is not set 1223# CONFIG_USB_EMI26 is not set
1218# CONFIG_USB_ADUTUX is not set 1224# CONFIG_USB_ADUTUX is not set
1219# CONFIG_USB_AUERSWALD is not set
1220# CONFIG_USB_RIO500 is not set 1225# CONFIG_USB_RIO500 is not set
1221# CONFIG_USB_LEGOTOWER is not set 1226# CONFIG_USB_LEGOTOWER is not set
1222# CONFIG_USB_LCD is not set 1227# CONFIG_USB_LCD is not set
@@ -1270,6 +1275,7 @@ CONFIG_RTC_INTF_DEV=y
1270# CONFIG_RTC_DRV_PCF8583 is not set 1275# CONFIG_RTC_DRV_PCF8583 is not set
1271# CONFIG_RTC_DRV_M41T80 is not set 1276# CONFIG_RTC_DRV_M41T80 is not set
1272# CONFIG_RTC_DRV_S35390A is not set 1277# CONFIG_RTC_DRV_S35390A is not set
1278# CONFIG_RTC_DRV_FM3130 is not set
1273 1279
1274# 1280#
1275# SPI RTC drivers 1281# SPI RTC drivers
@@ -1303,6 +1309,7 @@ CONFIG_DMA_ENGINE=y
1303# DMA Clients 1309# DMA Clients
1304# 1310#
1305# CONFIG_NET_DMA is not set 1311# CONFIG_NET_DMA is not set
1312# CONFIG_DMATEST is not set
1306# CONFIG_UIO is not set 1313# CONFIG_UIO is not set
1307 1314
1308# 1315#
@@ -1379,6 +1386,7 @@ CONFIG_EFS_FS=m
1379CONFIG_CRAMFS=y 1386CONFIG_CRAMFS=y
1380CONFIG_VXFS_FS=m 1387CONFIG_VXFS_FS=m
1381# CONFIG_MINIX_FS is not set 1388# CONFIG_MINIX_FS is not set
1389# CONFIG_OMFS_FS is not set
1382CONFIG_HPFS_FS=m 1390CONFIG_HPFS_FS=m
1383CONFIG_QNX4FS_FS=m 1391CONFIG_QNX4FS_FS=m
1384# CONFIG_ROMFS_FS is not set 1392# CONFIG_ROMFS_FS is not set
@@ -1391,17 +1399,16 @@ CONFIG_NFS_FS=y
1391CONFIG_NFS_V3=y 1399CONFIG_NFS_V3=y
1392# CONFIG_NFS_V3_ACL is not set 1400# CONFIG_NFS_V3_ACL is not set
1393CONFIG_NFS_V4=y 1401CONFIG_NFS_V4=y
1402CONFIG_ROOT_NFS=y
1394CONFIG_NFSD=y 1403CONFIG_NFSD=y
1395# CONFIG_NFSD_V3 is not set 1404# CONFIG_NFSD_V3 is not set
1396# CONFIG_NFSD_V4 is not set 1405# CONFIG_NFSD_V4 is not set
1397CONFIG_ROOT_NFS=y
1398CONFIG_LOCKD=y 1406CONFIG_LOCKD=y
1399CONFIG_LOCKD_V4=y 1407CONFIG_LOCKD_V4=y
1400CONFIG_EXPORTFS=y 1408CONFIG_EXPORTFS=y
1401CONFIG_NFS_COMMON=y 1409CONFIG_NFS_COMMON=y
1402CONFIG_SUNRPC=y 1410CONFIG_SUNRPC=y
1403CONFIG_SUNRPC_GSS=y 1411CONFIG_SUNRPC_GSS=y
1404# CONFIG_SUNRPC_BIND34 is not set
1405CONFIG_RPCSEC_GSS_KRB5=y 1412CONFIG_RPCSEC_GSS_KRB5=y
1406# CONFIG_RPCSEC_GSS_SPKM3 is not set 1413# CONFIG_RPCSEC_GSS_SPKM3 is not set
1407# CONFIG_SMB_FS is not set 1414# CONFIG_SMB_FS is not set
@@ -1480,6 +1487,7 @@ CONFIG_BITREVERSE=y
1480# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1487# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1481# CONFIG_CRC_CCITT is not set 1488# CONFIG_CRC_CCITT is not set
1482# CONFIG_CRC16 is not set 1489# CONFIG_CRC16 is not set
1490CONFIG_CRC_T10DIF=y
1483CONFIG_CRC_ITU_T=m 1491CONFIG_CRC_ITU_T=m
1484CONFIG_CRC32=y 1492CONFIG_CRC32=y
1485# CONFIG_CRC7 is not set 1493# CONFIG_CRC7 is not set
@@ -1505,6 +1513,8 @@ CONFIG_FRAME_WARN=1024
1505CONFIG_DEBUG_KERNEL=y 1513CONFIG_DEBUG_KERNEL=y
1506# CONFIG_DEBUG_SHIRQ is not set 1514# CONFIG_DEBUG_SHIRQ is not set
1507CONFIG_DETECT_SOFTLOCKUP=y 1515CONFIG_DETECT_SOFTLOCKUP=y
1516# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1517CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1508CONFIG_SCHED_DEBUG=y 1518CONFIG_SCHED_DEBUG=y
1509# CONFIG_SCHEDSTATS is not set 1519# CONFIG_SCHEDSTATS is not set
1510# CONFIG_TIMER_STATS is not set 1520# CONFIG_TIMER_STATS is not set
@@ -1523,17 +1533,29 @@ CONFIG_SCHED_DEBUG=y
1523CONFIG_DEBUG_INFO=y 1533CONFIG_DEBUG_INFO=y
1524# CONFIG_DEBUG_VM is not set 1534# CONFIG_DEBUG_VM is not set
1525# CONFIG_DEBUG_WRITECOUNT is not set 1535# CONFIG_DEBUG_WRITECOUNT is not set
1536# CONFIG_DEBUG_MEMORY_INIT is not set
1526# CONFIG_DEBUG_LIST is not set 1537# CONFIG_DEBUG_LIST is not set
1527# CONFIG_DEBUG_SG is not set 1538# CONFIG_DEBUG_SG is not set
1528# CONFIG_BOOT_PRINTK_DELAY is not set 1539# CONFIG_BOOT_PRINTK_DELAY is not set
1529# CONFIG_RCU_TORTURE_TEST is not set 1540# CONFIG_RCU_TORTURE_TEST is not set
1530# CONFIG_BACKTRACE_SELF_TEST is not set 1541# CONFIG_BACKTRACE_SELF_TEST is not set
1531# CONFIG_FAULT_INJECTION is not set 1542# CONFIG_FAULT_INJECTION is not set
1543# CONFIG_LATENCYTOP is not set
1544CONFIG_SYSCTL_SYSCALL_CHECK=y
1545CONFIG_HAVE_FTRACE=y
1546CONFIG_HAVE_DYNAMIC_FTRACE=y
1547# CONFIG_FTRACE is not set
1548# CONFIG_SCHED_TRACER is not set
1549# CONFIG_CONTEXT_SWITCH_TRACER is not set
1532# CONFIG_SAMPLES is not set 1550# CONFIG_SAMPLES is not set
1551CONFIG_HAVE_ARCH_KGDB=y
1552# CONFIG_KGDB is not set
1533# CONFIG_DEBUG_STACKOVERFLOW is not set 1553# CONFIG_DEBUG_STACKOVERFLOW is not set
1534# CONFIG_DEBUG_STACK_USAGE is not set 1554# CONFIG_DEBUG_STACK_USAGE is not set
1535# CONFIG_DEBUG_PAGEALLOC is not set 1555# CONFIG_DEBUG_PAGEALLOC is not set
1536# CONFIG_DEBUGGER is not set 1556# CONFIG_CODE_PATCHING_SELFTEST is not set
1557# CONFIG_FTR_FIXUP_SELFTEST is not set
1558# CONFIG_XMON is not set
1537# CONFIG_IRQSTACKS is not set 1559# CONFIG_IRQSTACKS is not set
1538# CONFIG_BDI_SWITCH is not set 1560# CONFIG_BDI_SWITCH is not set
1539# CONFIG_PPC_EARLY_DEBUG is not set 1561# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1550,13 +1572,14 @@ CONFIG_CRYPTO=y
1550# Crypto core or helper 1572# Crypto core or helper
1551# 1573#
1552CONFIG_CRYPTO_ALGAPI=y 1574CONFIG_CRYPTO_ALGAPI=y
1575CONFIG_CRYPTO_AEAD=y
1553CONFIG_CRYPTO_BLKCIPHER=y 1576CONFIG_CRYPTO_BLKCIPHER=y
1554CONFIG_CRYPTO_HASH=y 1577CONFIG_CRYPTO_HASH=y
1555CONFIG_CRYPTO_MANAGER=y 1578CONFIG_CRYPTO_MANAGER=y
1556# CONFIG_CRYPTO_GF128MUL is not set 1579# CONFIG_CRYPTO_GF128MUL is not set
1557# CONFIG_CRYPTO_NULL is not set 1580# CONFIG_CRYPTO_NULL is not set
1558# CONFIG_CRYPTO_CRYPTD is not set 1581# CONFIG_CRYPTO_CRYPTD is not set
1559# CONFIG_CRYPTO_AUTHENC is not set 1582CONFIG_CRYPTO_AUTHENC=y
1560# CONFIG_CRYPTO_TEST is not set 1583# CONFIG_CRYPTO_TEST is not set
1561 1584
1562# 1585#
@@ -1590,6 +1613,10 @@ CONFIG_CRYPTO_HMAC=y
1590# CONFIG_CRYPTO_MD4 is not set 1613# CONFIG_CRYPTO_MD4 is not set
1591CONFIG_CRYPTO_MD5=y 1614CONFIG_CRYPTO_MD5=y
1592# CONFIG_CRYPTO_MICHAEL_MIC is not set 1615# CONFIG_CRYPTO_MICHAEL_MIC is not set
1616# CONFIG_CRYPTO_RMD128 is not set
1617# CONFIG_CRYPTO_RMD160 is not set
1618# CONFIG_CRYPTO_RMD256 is not set
1619# CONFIG_CRYPTO_RMD320 is not set
1593CONFIG_CRYPTO_SHA1=m 1620CONFIG_CRYPTO_SHA1=m
1594# CONFIG_CRYPTO_SHA256 is not set 1621# CONFIG_CRYPTO_SHA256 is not set
1595# CONFIG_CRYPTO_SHA512 is not set 1622# CONFIG_CRYPTO_SHA512 is not set
@@ -1622,5 +1649,6 @@ CONFIG_CRYPTO_DES=y
1622# CONFIG_CRYPTO_LZO is not set 1649# CONFIG_CRYPTO_LZO is not set
1623CONFIG_CRYPTO_HW=y 1650CONFIG_CRYPTO_HW=y
1624# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1651# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1652CONFIG_CRYPTO_DEV_TALITOS=y
1625# CONFIG_PPC_CLOCK is not set 1653# CONFIG_PPC_CLOCK is not set
1626# CONFIG_VIRTUALIZATION is not set 1654# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
index e19592b42043..06e26d906f65 100644
--- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:33 2008 4# Thu Aug 21 00:52:32 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -89,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 95CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 96# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 97# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -114,10 +116,16 @@ CONFIG_SLUB=y
114# CONFIG_PROFILING is not set 116# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
119# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126CONFIG_HAVE_CLK=y
120CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
121CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
122CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
123# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -128,6 +136,7 @@ CONFIG_BLOCK=y
128# CONFIG_BLK_DEV_IO_TRACE is not set 136# CONFIG_BLK_DEV_IO_TRACE is not set
129# CONFIG_LSF is not set 137# CONFIG_LSF is not set
130# CONFIG_BLK_DEV_BSG is not set 138# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set
131 140
132# 141#
133# IO Schedulers 142# IO Schedulers
@@ -146,8 +155,6 @@ CONFIG_CLASSIC_RCU=y
146# 155#
147# Platform support 156# Platform support
148# 157#
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_PPC_CELL is not set 158# CONFIG_PPC_CELL is not set
152# CONFIG_PPC_CELL_NATIVE is not set 159# CONFIG_PPC_CELL_NATIVE is not set
153# CONFIG_PQ2ADS is not set 160# CONFIG_PQ2ADS is not set
@@ -156,11 +163,13 @@ CONFIG_MPC85xx=y
156CONFIG_MPC8560_ADS=y 163CONFIG_MPC8560_ADS=y
157# CONFIG_MPC85xx_CDS is not set 164# CONFIG_MPC85xx_CDS is not set
158# CONFIG_MPC85xx_MDS is not set 165# CONFIG_MPC85xx_MDS is not set
166# CONFIG_MPC8536_DS is not set
159# CONFIG_MPC85xx_DS is not set 167# CONFIG_MPC85xx_DS is not set
160# CONFIG_KSI8560 is not set 168# CONFIG_KSI8560 is not set
161# CONFIG_STX_GP3 is not set 169# CONFIG_STX_GP3 is not set
162# CONFIG_TQM8540 is not set 170# CONFIG_TQM8540 is not set
163# CONFIG_TQM8541 is not set 171# CONFIG_TQM8541 is not set
172# CONFIG_TQM8548 is not set
164# CONFIG_TQM8555 is not set 173# CONFIG_TQM8555 is not set
165# CONFIG_TQM8560 is not set 174# CONFIG_TQM8560 is not set
166# CONFIG_SBC8548 is not set 175# CONFIG_SBC8548 is not set
@@ -177,7 +186,6 @@ CONFIG_MPIC=y
177# CONFIG_GENERIC_IOMAP is not set 186# CONFIG_GENERIC_IOMAP is not set
178# CONFIG_CPU_FREQ is not set 187# CONFIG_CPU_FREQ is not set
179CONFIG_CPM2=y 188CONFIG_CPM2=y
180CONFIG_PPC_CPM_NEW_BINDING=y
181# CONFIG_FSL_ULI1575 is not set 189# CONFIG_FSL_ULI1575 is not set
182CONFIG_CPM=y 190CONFIG_CPM=y
183 191
@@ -217,6 +225,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
228CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 229# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 230CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 231CONFIG_BOUNCE=y
@@ -224,6 +233,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 233CONFIG_FORCE_MAX_ZONEORDER=11
225# CONFIG_PROC_DEVICETREE is not set 234# CONFIG_PROC_DEVICETREE is not set
226# CONFIG_CMDLINE_BOOL is not set 235# CONFIG_CMDLINE_BOOL is not set
236CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 237# CONFIG_PM is not set
228# CONFIG_SECCOMP is not set 238# CONFIG_SECCOMP is not set
229CONFIG_ISA_DMA_API=y 239CONFIG_ISA_DMA_API=y
@@ -235,6 +245,7 @@ CONFIG_ZONE_DMA=y
235CONFIG_PPC_INDIRECT_PCI=y 245CONFIG_PPC_INDIRECT_PCI=y
236CONFIG_FSL_SOC=y 246CONFIG_FSL_SOC=y
237CONFIG_FSL_PCI=y 247CONFIG_FSL_PCI=y
248CONFIG_PPC_PCI_CHOICE=y
238CONFIG_PCI=y 249CONFIG_PCI=y
239CONFIG_PCI_DOMAINS=y 250CONFIG_PCI_DOMAINS=y
240CONFIG_PCI_SYSCALL=y 251CONFIG_PCI_SYSCALL=y
@@ -261,10 +272,6 @@ CONFIG_KERNEL_START=0xc0000000
261CONFIG_PHYSICAL_START=0x00000000 272CONFIG_PHYSICAL_START=0x00000000
262CONFIG_PHYSICAL_ALIGN=0x10000000 273CONFIG_PHYSICAL_ALIGN=0x10000000
263CONFIG_TASK_SIZE=0xc0000000 274CONFIG_TASK_SIZE=0xc0000000
264
265#
266# Networking
267#
268CONFIG_NET=y 275CONFIG_NET=y
269 276
270# 277#
@@ -363,6 +370,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
363# CONFIG_CONNECTOR is not set 370# CONFIG_CONNECTOR is not set
364# CONFIG_MTD is not set 371# CONFIG_MTD is not set
365CONFIG_OF_DEVICE=y 372CONFIG_OF_DEVICE=y
373CONFIG_OF_GPIO=y
366# CONFIG_PARPORT is not set 374# CONFIG_PARPORT is not set
367CONFIG_BLK_DEV=y 375CONFIG_BLK_DEV=y
368# CONFIG_BLK_DEV_FD is not set 376# CONFIG_BLK_DEV_FD is not set
@@ -381,12 +389,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
381# CONFIG_BLK_DEV_XIP is not set 389# CONFIG_BLK_DEV_XIP is not set
382# CONFIG_CDROM_PKTCDVD is not set 390# CONFIG_CDROM_PKTCDVD is not set
383# CONFIG_ATA_OVER_ETH is not set 391# CONFIG_ATA_OVER_ETH is not set
392# CONFIG_BLK_DEV_HD is not set
384CONFIG_MISC_DEVICES=y 393CONFIG_MISC_DEVICES=y
385# CONFIG_PHANTOM is not set 394# CONFIG_PHANTOM is not set
386# CONFIG_EEPROM_93CX6 is not set 395# CONFIG_EEPROM_93CX6 is not set
387# CONFIG_SGI_IOC4 is not set 396# CONFIG_SGI_IOC4 is not set
388# CONFIG_TIFM_CORE is not set 397# CONFIG_TIFM_CORE is not set
389# CONFIG_ENCLOSURE_SERVICES is not set 398# CONFIG_ENCLOSURE_SERVICES is not set
399# CONFIG_HP_ILO is not set
390CONFIG_HAVE_IDE=y 400CONFIG_HAVE_IDE=y
391# CONFIG_IDE is not set 401# CONFIG_IDE is not set
392 402
@@ -404,12 +414,15 @@ CONFIG_HAVE_IDE=y
404# 414#
405# IEEE 1394 (FireWire) support 415# IEEE 1394 (FireWire) support
406# 416#
417
418#
419# Enable only one of the two stacks, unless you know what you are doing
420#
407# CONFIG_FIREWIRE is not set 421# CONFIG_FIREWIRE is not set
408# CONFIG_IEEE1394 is not set 422# CONFIG_IEEE1394 is not set
409# CONFIG_I2O is not set 423# CONFIG_I2O is not set
410# CONFIG_MACINTOSH_DRIVERS is not set 424# CONFIG_MACINTOSH_DRIVERS is not set
411CONFIG_NETDEVICES=y 425CONFIG_NETDEVICES=y
412# CONFIG_NETDEVICES_MULTIQUEUE is not set
413# CONFIG_DUMMY is not set 426# CONFIG_DUMMY is not set
414# CONFIG_BONDING is not set 427# CONFIG_BONDING is not set
415# CONFIG_MACVLAN is not set 428# CONFIG_MACVLAN is not set
@@ -456,10 +469,8 @@ CONFIG_NETDEV_1000=y
456# CONFIG_ACENIC is not set 469# CONFIG_ACENIC is not set
457# CONFIG_DL2K is not set 470# CONFIG_DL2K is not set
458CONFIG_E1000=y 471CONFIG_E1000=y
459CONFIG_E1000_NAPI=y
460# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 472# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
461# CONFIG_E1000E is not set 473# CONFIG_E1000E is not set
462# CONFIG_E1000E_ENABLED is not set
463# CONFIG_IP1000 is not set 474# CONFIG_IP1000 is not set
464# CONFIG_IGB is not set 475# CONFIG_IGB is not set
465# CONFIG_NS83820 is not set 476# CONFIG_NS83820 is not set
@@ -473,9 +484,9 @@ CONFIG_E1000_NAPI=y
473# CONFIG_TIGON3 is not set 484# CONFIG_TIGON3 is not set
474# CONFIG_BNX2 is not set 485# CONFIG_BNX2 is not set
475CONFIG_GIANFAR=y 486CONFIG_GIANFAR=y
476CONFIG_GFAR_NAPI=y
477# CONFIG_QLA3XXX is not set 487# CONFIG_QLA3XXX is not set
478# CONFIG_ATL1 is not set 488# CONFIG_ATL1 is not set
489# CONFIG_ATL1E is not set
479CONFIG_NETDEV_10000=y 490CONFIG_NETDEV_10000=y
480# CONFIG_CHELSIO_T1 is not set 491# CONFIG_CHELSIO_T1 is not set
481# CONFIG_CHELSIO_T3 is not set 492# CONFIG_CHELSIO_T3 is not set
@@ -582,6 +593,24 @@ CONFIG_GEN_RTC=y
582CONFIG_DEVPORT=y 593CONFIG_DEVPORT=y
583# CONFIG_I2C is not set 594# CONFIG_I2C is not set
584# CONFIG_SPI is not set 595# CONFIG_SPI is not set
596CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
597CONFIG_ARCH_REQUIRE_GPIOLIB=y
598CONFIG_GPIOLIB=y
599# CONFIG_DEBUG_GPIO is not set
600# CONFIG_GPIO_SYSFS is not set
601
602#
603# I2C GPIO expanders:
604#
605
606#
607# PCI GPIO expanders:
608#
609# CONFIG_GPIO_BT8XX is not set
610
611#
612# SPI GPIO expanders:
613#
585# CONFIG_W1 is not set 614# CONFIG_W1 is not set
586# CONFIG_POWER_SUPPLY is not set 615# CONFIG_POWER_SUPPLY is not set
587CONFIG_HWMON=y 616CONFIG_HWMON=y
@@ -602,6 +631,7 @@ CONFIG_HWMON=y
602# CONFIG_SENSORS_W83627EHF is not set 631# CONFIG_SENSORS_W83627EHF is not set
603# CONFIG_HWMON_DEBUG_CHIP is not set 632# CONFIG_HWMON_DEBUG_CHIP is not set
604# CONFIG_THERMAL is not set 633# CONFIG_THERMAL is not set
634# CONFIG_THERMAL_HWMON is not set
605# CONFIG_WATCHDOG is not set 635# CONFIG_WATCHDOG is not set
606 636
607# 637#
@@ -613,8 +643,10 @@ CONFIG_SSB_POSSIBLE=y
613# 643#
614# Multifunction device drivers 644# Multifunction device drivers
615# 645#
646# CONFIG_MFD_CORE is not set
616# CONFIG_MFD_SM501 is not set 647# CONFIG_MFD_SM501 is not set
617# CONFIG_HTC_PASIC3 is not set 648# CONFIG_HTC_PASIC3 is not set
649# CONFIG_MFD_TMIO is not set
618 650
619# 651#
620# Multimedia devices 652# Multimedia devices
@@ -646,10 +678,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
646# Display device support 678# Display device support
647# 679#
648# CONFIG_DISPLAY_SUPPORT is not set 680# CONFIG_DISPLAY_SUPPORT is not set
649
650#
651# Sound
652#
653# CONFIG_SOUND is not set 681# CONFIG_SOUND is not set
654CONFIG_HID_SUPPORT=y 682CONFIG_HID_SUPPORT=y
655CONFIG_HID=y 683CONFIG_HID=y
@@ -664,6 +692,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
664# CONFIG_USB_OTG_BLACKLIST_HUB is not set 692# CONFIG_USB_OTG_BLACKLIST_HUB is not set
665 693
666# 694#
695# Enable Host or Gadget support to see Inventra options
696#
697
698#
667# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 699# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
668# 700#
669# CONFIG_USB_GADGET is not set 701# CONFIG_USB_GADGET is not set
@@ -741,6 +773,7 @@ CONFIG_TMPFS=y
741# CONFIG_CRAMFS is not set 773# CONFIG_CRAMFS is not set
742# CONFIG_VXFS_FS is not set 774# CONFIG_VXFS_FS is not set
743# CONFIG_MINIX_FS is not set 775# CONFIG_MINIX_FS is not set
776# CONFIG_OMFS_FS is not set
744# CONFIG_HPFS_FS is not set 777# CONFIG_HPFS_FS is not set
745# CONFIG_QNX4FS_FS is not set 778# CONFIG_QNX4FS_FS is not set
746# CONFIG_ROMFS_FS is not set 779# CONFIG_ROMFS_FS is not set
@@ -750,12 +783,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
750CONFIG_NFS_FS=y 783CONFIG_NFS_FS=y
751# CONFIG_NFS_V3 is not set 784# CONFIG_NFS_V3 is not set
752# CONFIG_NFS_V4 is not set 785# CONFIG_NFS_V4 is not set
753# CONFIG_NFSD is not set
754CONFIG_ROOT_NFS=y 786CONFIG_ROOT_NFS=y
787# CONFIG_NFSD is not set
755CONFIG_LOCKD=y 788CONFIG_LOCKD=y
756CONFIG_NFS_COMMON=y 789CONFIG_NFS_COMMON=y
757CONFIG_SUNRPC=y 790CONFIG_SUNRPC=y
758# CONFIG_SUNRPC_BIND34 is not set
759# CONFIG_RPCSEC_GSS_KRB5 is not set 791# CONFIG_RPCSEC_GSS_KRB5 is not set
760# CONFIG_RPCSEC_GSS_SPKM3 is not set 792# CONFIG_RPCSEC_GSS_SPKM3 is not set
761# CONFIG_SMB_FS is not set 793# CONFIG_SMB_FS is not set
@@ -791,6 +823,7 @@ CONFIG_BITREVERSE=y
791# CONFIG_GENERIC_FIND_FIRST_BIT is not set 823# CONFIG_GENERIC_FIND_FIRST_BIT is not set
792# CONFIG_CRC_CCITT is not set 824# CONFIG_CRC_CCITT is not set
793# CONFIG_CRC16 is not set 825# CONFIG_CRC16 is not set
826# CONFIG_CRC_T10DIF is not set
794# CONFIG_CRC_ITU_T is not set 827# CONFIG_CRC_ITU_T is not set
795CONFIG_CRC32=y 828CONFIG_CRC32=y
796# CONFIG_CRC7 is not set 829# CONFIG_CRC7 is not set
@@ -815,6 +848,8 @@ CONFIG_FRAME_WARN=1024
815CONFIG_DEBUG_KERNEL=y 848CONFIG_DEBUG_KERNEL=y
816# CONFIG_DEBUG_SHIRQ is not set 849# CONFIG_DEBUG_SHIRQ is not set
817CONFIG_DETECT_SOFTLOCKUP=y 850CONFIG_DETECT_SOFTLOCKUP=y
851# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
852CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
818CONFIG_SCHED_DEBUG=y 853CONFIG_SCHED_DEBUG=y
819# CONFIG_SCHEDSTATS is not set 854# CONFIG_SCHEDSTATS is not set
820# CONFIG_TIMER_STATS is not set 855# CONFIG_TIMER_STATS is not set
@@ -832,17 +867,29 @@ CONFIG_DEBUG_MUTEXES=y
832# CONFIG_DEBUG_INFO is not set 867# CONFIG_DEBUG_INFO is not set
833# CONFIG_DEBUG_VM is not set 868# CONFIG_DEBUG_VM is not set
834# CONFIG_DEBUG_WRITECOUNT is not set 869# CONFIG_DEBUG_WRITECOUNT is not set
870# CONFIG_DEBUG_MEMORY_INIT is not set
835# CONFIG_DEBUG_LIST is not set 871# CONFIG_DEBUG_LIST is not set
836# CONFIG_DEBUG_SG is not set 872# CONFIG_DEBUG_SG is not set
837# CONFIG_BOOT_PRINTK_DELAY is not set 873# CONFIG_BOOT_PRINTK_DELAY is not set
874# CONFIG_RCU_TORTURE_TEST is not set
838# CONFIG_BACKTRACE_SELF_TEST is not set 875# CONFIG_BACKTRACE_SELF_TEST is not set
839# CONFIG_FAULT_INJECTION is not set 876# CONFIG_FAULT_INJECTION is not set
877# CONFIG_LATENCYTOP is not set
878CONFIG_SYSCTL_SYSCALL_CHECK=y
879CONFIG_HAVE_FTRACE=y
880CONFIG_HAVE_DYNAMIC_FTRACE=y
881# CONFIG_FTRACE is not set
882# CONFIG_SCHED_TRACER is not set
883# CONFIG_CONTEXT_SWITCH_TRACER is not set
840# CONFIG_SAMPLES is not set 884# CONFIG_SAMPLES is not set
885CONFIG_HAVE_ARCH_KGDB=y
886# CONFIG_KGDB is not set
841# CONFIG_DEBUG_STACKOVERFLOW is not set 887# CONFIG_DEBUG_STACKOVERFLOW is not set
842# CONFIG_DEBUG_STACK_USAGE is not set 888# CONFIG_DEBUG_STACK_USAGE is not set
843# CONFIG_DEBUG_PAGEALLOC is not set 889# CONFIG_DEBUG_PAGEALLOC is not set
844# CONFIG_DEBUGGER is not set 890# CONFIG_CODE_PATCHING_SELFTEST is not set
845# CONFIG_KGDB_CONSOLE is not set 891# CONFIG_FTR_FIXUP_SELFTEST is not set
892# CONFIG_XMON is not set
846# CONFIG_IRQSTACKS is not set 893# CONFIG_IRQSTACKS is not set
847# CONFIG_BDI_SWITCH is not set 894# CONFIG_BDI_SWITCH is not set
848# CONFIG_PPC_EARLY_DEBUG is not set 895# CONFIG_PPC_EARLY_DEBUG is not set
@@ -895,6 +942,10 @@ CONFIG_CRYPTO=y
895# CONFIG_CRYPTO_MD4 is not set 942# CONFIG_CRYPTO_MD4 is not set
896# CONFIG_CRYPTO_MD5 is not set 943# CONFIG_CRYPTO_MD5 is not set
897# CONFIG_CRYPTO_MICHAEL_MIC is not set 944# CONFIG_CRYPTO_MICHAEL_MIC is not set
945# CONFIG_CRYPTO_RMD128 is not set
946# CONFIG_CRYPTO_RMD160 is not set
947# CONFIG_CRYPTO_RMD256 is not set
948# CONFIG_CRYPTO_RMD320 is not set
898# CONFIG_CRYPTO_SHA1 is not set 949# CONFIG_CRYPTO_SHA1 is not set
899# CONFIG_CRYPTO_SHA256 is not set 950# CONFIG_CRYPTO_SHA256 is not set
900# CONFIG_CRYPTO_SHA512 is not set 951# CONFIG_CRYPTO_SHA512 is not set
@@ -927,6 +978,7 @@ CONFIG_CRYPTO=y
927# CONFIG_CRYPTO_LZO is not set 978# CONFIG_CRYPTO_LZO is not set
928CONFIG_CRYPTO_HW=y 979CONFIG_CRYPTO_HW=y
929# CONFIG_CRYPTO_DEV_HIFN_795X is not set 980# CONFIG_CRYPTO_DEV_HIFN_795X is not set
930# CONFIG_PPC_CLOCK is not set 981# CONFIG_CRYPTO_DEV_TALITOS is not set
982CONFIG_PPC_CLOCK=y
931CONFIG_PPC_LIB_RHEAP=y 983CONFIG_PPC_LIB_RHEAP=y
932# CONFIG_VIRTUALIZATION is not set 984# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc8568mds_defconfig b/arch/powerpc/configs/85xx/mpc8568mds_defconfig
index 28004e93aeee..dc27c74955fa 100644
--- a/arch/powerpc/configs/85xx/mpc8568mds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8568mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:34 2008 4# Thu Aug 21 00:52:33 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 94# CONFIG_KALLSYMS is not set
94CONFIG_HOTPLUG=y 95CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 96CONFIG_PRINTK=y
@@ -112,10 +113,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 113# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 114# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 115CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 128# CONFIG_TINY_SHMEM is not set
@@ -126,12 +133,13 @@ CONFIG_MODULE_UNLOAD=y
126# CONFIG_MODULE_FORCE_UNLOAD is not set 133# CONFIG_MODULE_FORCE_UNLOAD is not set
127# CONFIG_MODVERSIONS is not set 134# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 135# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set 136CONFIG_KMOD=y
130CONFIG_BLOCK=y 137CONFIG_BLOCK=y
131# CONFIG_LBD is not set 138# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set 139# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 140# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 141# CONFIG_BLK_DEV_BSG is not set
142# CONFIG_BLK_DEV_INTEGRITY is not set
135 143
136# 144#
137# IO Schedulers 145# IO Schedulers
@@ -150,8 +158,6 @@ CONFIG_CLASSIC_RCU=y
150# 158#
151# Platform support 159# Platform support
152# 160#
153# CONFIG_PPC_MPC512x is not set
154# CONFIG_PPC_MPC5121 is not set
155# CONFIG_PPC_CELL is not set 161# CONFIG_PPC_CELL is not set
156# CONFIG_PPC_CELL_NATIVE is not set 162# CONFIG_PPC_CELL_NATIVE is not set
157# CONFIG_PQ2ADS is not set 163# CONFIG_PQ2ADS is not set
@@ -160,11 +166,13 @@ CONFIG_MPC85xx=y
160# CONFIG_MPC8560_ADS is not set 166# CONFIG_MPC8560_ADS is not set
161# CONFIG_MPC85xx_CDS is not set 167# CONFIG_MPC85xx_CDS is not set
162CONFIG_MPC85xx_MDS=y 168CONFIG_MPC85xx_MDS=y
169# CONFIG_MPC8536_DS is not set
163# CONFIG_MPC85xx_DS is not set 170# CONFIG_MPC85xx_DS is not set
164# CONFIG_KSI8560 is not set 171# CONFIG_KSI8560 is not set
165# CONFIG_STX_GP3 is not set 172# CONFIG_STX_GP3 is not set
166# CONFIG_TQM8540 is not set 173# CONFIG_TQM8540 is not set
167# CONFIG_TQM8541 is not set 174# CONFIG_TQM8541 is not set
175# CONFIG_TQM8548 is not set
168# CONFIG_TQM8555 is not set 176# CONFIG_TQM8555 is not set
169# CONFIG_TQM8560 is not set 177# CONFIG_TQM8560 is not set
170# CONFIG_SBC8548 is not set 178# CONFIG_SBC8548 is not set
@@ -197,7 +205,7 @@ CONFIG_HZ_250=y
197# CONFIG_HZ_300 is not set 205# CONFIG_HZ_300 is not set
198# CONFIG_HZ_1000 is not set 206# CONFIG_HZ_1000 is not set
199CONFIG_HZ=250 207CONFIG_HZ=250
200# CONFIG_SCHED_HRTICK is not set 208CONFIG_SCHED_HRTICK=y
201CONFIG_PREEMPT_NONE=y 209CONFIG_PREEMPT_NONE=y
202# CONFIG_PREEMPT_VOLUNTARY is not set 210# CONFIG_PREEMPT_VOLUNTARY is not set
203# CONFIG_PREEMPT is not set 211# CONFIG_PREEMPT is not set
@@ -220,6 +228,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
221CONFIG_PAGEFLAGS_EXTENDED=y 229CONFIG_PAGEFLAGS_EXTENDED=y
222CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y
223# CONFIG_RESOURCES_64BIT is not set 232# CONFIG_RESOURCES_64BIT is not set
224CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
225CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
@@ -227,6 +236,7 @@ CONFIG_VIRT_TO_BUS=y
227CONFIG_FORCE_MAX_ZONEORDER=11 236CONFIG_FORCE_MAX_ZONEORDER=11
228CONFIG_PROC_DEVICETREE=y 237CONFIG_PROC_DEVICETREE=y
229# CONFIG_CMDLINE_BOOL is not set 238# CONFIG_CMDLINE_BOOL is not set
239CONFIG_EXTRA_TARGETS=""
230# CONFIG_PM is not set 240# CONFIG_PM is not set
231CONFIG_SECCOMP=y 241CONFIG_SECCOMP=y
232CONFIG_ISA_DMA_API=y 242CONFIG_ISA_DMA_API=y
@@ -238,6 +248,7 @@ CONFIG_ZONE_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 248CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 249CONFIG_FSL_SOC=y
240CONFIG_FSL_PCI=y 250CONFIG_FSL_PCI=y
251CONFIG_PPC_PCI_CHOICE=y
241CONFIG_PCI=y 252CONFIG_PCI=y
242CONFIG_PCI_DOMAINS=y 253CONFIG_PCI_DOMAINS=y
243CONFIG_PCI_SYSCALL=y 254CONFIG_PCI_SYSCALL=y
@@ -264,10 +275,6 @@ CONFIG_KERNEL_START=0xc0000000
264CONFIG_PHYSICAL_START=0x00000000 275CONFIG_PHYSICAL_START=0x00000000
265CONFIG_PHYSICAL_ALIGN=0x10000000 276CONFIG_PHYSICAL_ALIGN=0x10000000
266CONFIG_TASK_SIZE=0xc0000000 277CONFIG_TASK_SIZE=0xc0000000
267
268#
269# Networking
270#
271CONFIG_NET=y 278CONFIG_NET=y
272 279
273# 280#
@@ -385,12 +392,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
385# CONFIG_BLK_DEV_XIP is not set 392# CONFIG_BLK_DEV_XIP is not set
386# CONFIG_CDROM_PKTCDVD is not set 393# CONFIG_CDROM_PKTCDVD is not set
387# CONFIG_ATA_OVER_ETH is not set 394# CONFIG_ATA_OVER_ETH is not set
395# CONFIG_BLK_DEV_HD is not set
388CONFIG_MISC_DEVICES=y 396CONFIG_MISC_DEVICES=y
389# CONFIG_PHANTOM is not set 397# CONFIG_PHANTOM is not set
390# CONFIG_EEPROM_93CX6 is not set 398# CONFIG_EEPROM_93CX6 is not set
391# CONFIG_SGI_IOC4 is not set 399# CONFIG_SGI_IOC4 is not set
392# CONFIG_TIFM_CORE is not set 400# CONFIG_TIFM_CORE is not set
393# CONFIG_ENCLOSURE_SERVICES is not set 401# CONFIG_ENCLOSURE_SERVICES is not set
402# CONFIG_HP_ILO is not set
394CONFIG_HAVE_IDE=y 403CONFIG_HAVE_IDE=y
395# CONFIG_IDE is not set 404# CONFIG_IDE is not set
396 405
@@ -468,6 +477,7 @@ CONFIG_SCSI_LOWLEVEL=y
468# CONFIG_SCSI_NSP32 is not set 477# CONFIG_SCSI_NSP32 is not set
469# CONFIG_SCSI_DEBUG is not set 478# CONFIG_SCSI_DEBUG is not set
470# CONFIG_SCSI_SRP is not set 479# CONFIG_SCSI_SRP is not set
480# CONFIG_SCSI_DH is not set
471# CONFIG_ATA is not set 481# CONFIG_ATA is not set
472# CONFIG_MD is not set 482# CONFIG_MD is not set
473# CONFIG_FUSION is not set 483# CONFIG_FUSION is not set
@@ -475,12 +485,15 @@ CONFIG_SCSI_LOWLEVEL=y
475# 485#
476# IEEE 1394 (FireWire) support 486# IEEE 1394 (FireWire) support
477# 487#
488
489#
490# Enable only one of the two stacks, unless you know what you are doing
491#
478# CONFIG_FIREWIRE is not set 492# CONFIG_FIREWIRE is not set
479# CONFIG_IEEE1394 is not set 493# CONFIG_IEEE1394 is not set
480# CONFIG_I2O is not set 494# CONFIG_I2O is not set
481# CONFIG_MACINTOSH_DRIVERS is not set 495# CONFIG_MACINTOSH_DRIVERS is not set
482CONFIG_NETDEVICES=y 496CONFIG_NETDEVICES=y
483# CONFIG_NETDEVICES_MULTIQUEUE is not set
484# CONFIG_DUMMY is not set 497# CONFIG_DUMMY is not set
485# CONFIG_BONDING is not set 498# CONFIG_BONDING is not set
486# CONFIG_MACVLAN is not set 499# CONFIG_MACVLAN is not set
@@ -524,7 +537,6 @@ CONFIG_NETDEV_1000=y
524# CONFIG_DL2K is not set 537# CONFIG_DL2K is not set
525# CONFIG_E1000 is not set 538# CONFIG_E1000 is not set
526# CONFIG_E1000E is not set 539# CONFIG_E1000E is not set
527# CONFIG_E1000E_ENABLED is not set
528# CONFIG_IP1000 is not set 540# CONFIG_IP1000 is not set
529# CONFIG_IGB is not set 541# CONFIG_IGB is not set
530# CONFIG_NS83820 is not set 542# CONFIG_NS83820 is not set
@@ -538,10 +550,10 @@ CONFIG_NETDEV_1000=y
538# CONFIG_TIGON3 is not set 550# CONFIG_TIGON3 is not set
539# CONFIG_BNX2 is not set 551# CONFIG_BNX2 is not set
540CONFIG_GIANFAR=y 552CONFIG_GIANFAR=y
541CONFIG_GFAR_NAPI=y
542# CONFIG_UCC_GETH is not set 553# CONFIG_UCC_GETH is not set
543# CONFIG_QLA3XXX is not set 554# CONFIG_QLA3XXX is not set
544# CONFIG_ATL1 is not set 555# CONFIG_ATL1 is not set
556# CONFIG_ATL1E is not set
545CONFIG_NETDEV_10000=y 557CONFIG_NETDEV_10000=y
546# CONFIG_CHELSIO_T1 is not set 558# CONFIG_CHELSIO_T1 is not set
547# CONFIG_CHELSIO_T3 is not set 559# CONFIG_CHELSIO_T3 is not set
@@ -648,42 +660,63 @@ CONFIG_DEVPORT=y
648CONFIG_I2C=y 660CONFIG_I2C=y
649CONFIG_I2C_BOARDINFO=y 661CONFIG_I2C_BOARDINFO=y
650CONFIG_I2C_CHARDEV=y 662CONFIG_I2C_CHARDEV=y
663CONFIG_I2C_HELPER_AUTO=y
651 664
652# 665#
653# I2C Hardware Bus support 666# I2C Hardware Bus support
654# 667#
668
669#
670# PC SMBus host controller drivers
671#
655# CONFIG_I2C_ALI1535 is not set 672# CONFIG_I2C_ALI1535 is not set
656# CONFIG_I2C_ALI1563 is not set 673# CONFIG_I2C_ALI1563 is not set
657# CONFIG_I2C_ALI15X3 is not set 674# CONFIG_I2C_ALI15X3 is not set
658# CONFIG_I2C_AMD756 is not set 675# CONFIG_I2C_AMD756 is not set
659# CONFIG_I2C_AMD8111 is not set 676# CONFIG_I2C_AMD8111 is not set
660# CONFIG_I2C_I801 is not set 677# CONFIG_I2C_I801 is not set
661# CONFIG_I2C_I810 is not set 678# CONFIG_I2C_ISCH is not set
662# CONFIG_I2C_PIIX4 is not set 679# CONFIG_I2C_PIIX4 is not set
663CONFIG_I2C_MPC=y
664# CONFIG_I2C_NFORCE2 is not set 680# CONFIG_I2C_NFORCE2 is not set
665# CONFIG_I2C_OCORES is not set
666# CONFIG_I2C_PARPORT_LIGHT is not set
667# CONFIG_I2C_PROSAVAGE is not set
668# CONFIG_I2C_SAVAGE4 is not set
669# CONFIG_I2C_SIMTEC is not set
670# CONFIG_I2C_SIS5595 is not set 681# CONFIG_I2C_SIS5595 is not set
671# CONFIG_I2C_SIS630 is not set 682# CONFIG_I2C_SIS630 is not set
672# CONFIG_I2C_SIS96X is not set 683# CONFIG_I2C_SIS96X is not set
673# CONFIG_I2C_TAOS_EVM is not set
674# CONFIG_I2C_STUB is not set
675# CONFIG_I2C_VIA is not set 684# CONFIG_I2C_VIA is not set
676# CONFIG_I2C_VIAPRO is not set 685# CONFIG_I2C_VIAPRO is not set
686
687#
688# I2C system bus drivers (mostly embedded / system-on-chip)
689#
690CONFIG_I2C_MPC=y
691# CONFIG_I2C_OCORES is not set
692# CONFIG_I2C_SIMTEC is not set
693
694#
695# External I2C/SMBus adapter drivers
696#
697# CONFIG_I2C_PARPORT_LIGHT is not set
698# CONFIG_I2C_TAOS_EVM is not set
699
700#
701# Graphics adapter I2C/DDC channel drivers
702#
677# CONFIG_I2C_VOODOO3 is not set 703# CONFIG_I2C_VOODOO3 is not set
704
705#
706# Other I2C/SMBus bus drivers
707#
678# CONFIG_I2C_PCA_PLATFORM is not set 708# CONFIG_I2C_PCA_PLATFORM is not set
709# CONFIG_I2C_STUB is not set
679 710
680# 711#
681# Miscellaneous I2C Chip support 712# Miscellaneous I2C Chip support
682# 713#
683# CONFIG_DS1682 is not set 714# CONFIG_DS1682 is not set
715# CONFIG_AT24 is not set
684# CONFIG_SENSORS_EEPROM is not set 716# CONFIG_SENSORS_EEPROM is not set
685# CONFIG_SENSORS_PCF8574 is not set 717# CONFIG_SENSORS_PCF8574 is not set
686# CONFIG_PCF8575 is not set 718# CONFIG_PCF8575 is not set
719# CONFIG_SENSORS_PCA9539 is not set
687# CONFIG_SENSORS_PCF8591 is not set 720# CONFIG_SENSORS_PCF8591 is not set
688# CONFIG_SENSORS_MAX6875 is not set 721# CONFIG_SENSORS_MAX6875 is not set
689# CONFIG_SENSORS_TSL2550 is not set 722# CONFIG_SENSORS_TSL2550 is not set
@@ -692,10 +725,13 @@ CONFIG_I2C_MPC=y
692# CONFIG_I2C_DEBUG_BUS is not set 725# CONFIG_I2C_DEBUG_BUS is not set
693# CONFIG_I2C_DEBUG_CHIP is not set 726# CONFIG_I2C_DEBUG_CHIP is not set
694# CONFIG_SPI is not set 727# CONFIG_SPI is not set
728CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
729# CONFIG_GPIOLIB is not set
695# CONFIG_W1 is not set 730# CONFIG_W1 is not set
696# CONFIG_POWER_SUPPLY is not set 731# CONFIG_POWER_SUPPLY is not set
697CONFIG_HWMON=y 732CONFIG_HWMON=y
698# CONFIG_HWMON_VID is not set 733# CONFIG_HWMON_VID is not set
734# CONFIG_SENSORS_AD7414 is not set
699# CONFIG_SENSORS_AD7418 is not set 735# CONFIG_SENSORS_AD7418 is not set
700# CONFIG_SENSORS_ADM1021 is not set 736# CONFIG_SENSORS_ADM1021 is not set
701# CONFIG_SENSORS_ADM1025 is not set 737# CONFIG_SENSORS_ADM1025 is not set
@@ -749,6 +785,7 @@ CONFIG_HWMON=y
749# CONFIG_SENSORS_W83627EHF is not set 785# CONFIG_SENSORS_W83627EHF is not set
750# CONFIG_HWMON_DEBUG_CHIP is not set 786# CONFIG_HWMON_DEBUG_CHIP is not set
751# CONFIG_THERMAL is not set 787# CONFIG_THERMAL is not set
788# CONFIG_THERMAL_HWMON is not set
752CONFIG_WATCHDOG=y 789CONFIG_WATCHDOG=y
753# CONFIG_WATCHDOG_NOWAYOUT is not set 790# CONFIG_WATCHDOG_NOWAYOUT is not set
754 791
@@ -756,6 +793,7 @@ CONFIG_WATCHDOG=y
756# Watchdog Device Drivers 793# Watchdog Device Drivers
757# 794#
758# CONFIG_SOFT_WATCHDOG is not set 795# CONFIG_SOFT_WATCHDOG is not set
796# CONFIG_ALIM7101_WDT is not set
759# CONFIG_BOOKE_WDT is not set 797# CONFIG_BOOKE_WDT is not set
760 798
761# 799#
@@ -773,8 +811,10 @@ CONFIG_SSB_POSSIBLE=y
773# 811#
774# Multifunction device drivers 812# Multifunction device drivers
775# 813#
814# CONFIG_MFD_CORE is not set
776# CONFIG_MFD_SM501 is not set 815# CONFIG_MFD_SM501 is not set
777# CONFIG_HTC_PASIC3 is not set 816# CONFIG_HTC_PASIC3 is not set
817# CONFIG_MFD_TMIO is not set
778 818
779# 819#
780# Multimedia devices 820# Multimedia devices
@@ -806,10 +846,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
806# Display device support 846# Display device support
807# 847#
808# CONFIG_DISPLAY_SUPPORT is not set 848# CONFIG_DISPLAY_SUPPORT is not set
809
810#
811# Sound
812#
813# CONFIG_SOUND is not set 849# CONFIG_SOUND is not set
814CONFIG_HID_SUPPORT=y 850CONFIG_HID_SUPPORT=y
815CONFIG_HID=y 851CONFIG_HID=y
@@ -824,6 +860,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
824# CONFIG_USB_OTG_BLACKLIST_HUB is not set 860# CONFIG_USB_OTG_BLACKLIST_HUB is not set
825 861
826# 862#
863# Enable Host or Gadget support to see Inventra options
864#
865
866#
827# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 867# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
828# 868#
829# CONFIG_USB_GADGET is not set 869# CONFIG_USB_GADGET is not set
@@ -862,6 +902,7 @@ CONFIG_RTC_DRV_DS1374=y
862# CONFIG_RTC_DRV_PCF8583 is not set 902# CONFIG_RTC_DRV_PCF8583 is not set
863# CONFIG_RTC_DRV_M41T80 is not set 903# CONFIG_RTC_DRV_M41T80 is not set
864# CONFIG_RTC_DRV_S35390A is not set 904# CONFIG_RTC_DRV_S35390A is not set
905# CONFIG_RTC_DRV_FM3130 is not set
865 906
866# 907#
867# SPI RTC drivers 908# SPI RTC drivers
@@ -950,6 +991,7 @@ CONFIG_TMPFS=y
950# CONFIG_CRAMFS is not set 991# CONFIG_CRAMFS is not set
951# CONFIG_VXFS_FS is not set 992# CONFIG_VXFS_FS is not set
952# CONFIG_MINIX_FS is not set 993# CONFIG_MINIX_FS is not set
994# CONFIG_OMFS_FS is not set
953# CONFIG_HPFS_FS is not set 995# CONFIG_HPFS_FS is not set
954# CONFIG_QNX4FS_FS is not set 996# CONFIG_QNX4FS_FS is not set
955# CONFIG_ROMFS_FS is not set 997# CONFIG_ROMFS_FS is not set
@@ -960,14 +1002,13 @@ CONFIG_NFS_FS=y
960CONFIG_NFS_V3=y 1002CONFIG_NFS_V3=y
961# CONFIG_NFS_V3_ACL is not set 1003# CONFIG_NFS_V3_ACL is not set
962CONFIG_NFS_V4=y 1004CONFIG_NFS_V4=y
963# CONFIG_NFSD is not set
964CONFIG_ROOT_NFS=y 1005CONFIG_ROOT_NFS=y
1006# CONFIG_NFSD is not set
965CONFIG_LOCKD=y 1007CONFIG_LOCKD=y
966CONFIG_LOCKD_V4=y 1008CONFIG_LOCKD_V4=y
967CONFIG_NFS_COMMON=y 1009CONFIG_NFS_COMMON=y
968CONFIG_SUNRPC=y 1010CONFIG_SUNRPC=y
969CONFIG_SUNRPC_GSS=y 1011CONFIG_SUNRPC_GSS=y
970# CONFIG_SUNRPC_BIND34 is not set
971CONFIG_RPCSEC_GSS_KRB5=y 1012CONFIG_RPCSEC_GSS_KRB5=y
972# CONFIG_RPCSEC_GSS_SPKM3 is not set 1013# CONFIG_RPCSEC_GSS_SPKM3 is not set
973# CONFIG_SMB_FS is not set 1014# CONFIG_SMB_FS is not set
@@ -995,6 +1036,7 @@ CONFIG_PARTITION_ADVANCED=y
995# CONFIG_SYSV68_PARTITION is not set 1036# CONFIG_SYSV68_PARTITION is not set
996# CONFIG_NLS is not set 1037# CONFIG_NLS is not set
997# CONFIG_DLM is not set 1038# CONFIG_DLM is not set
1039# CONFIG_QE_GPIO is not set
998 1040
999# 1041#
1000# Library routines 1042# Library routines
@@ -1003,6 +1045,7 @@ CONFIG_BITREVERSE=y
1003# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1045# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1004# CONFIG_CRC_CCITT is not set 1046# CONFIG_CRC_CCITT is not set
1005# CONFIG_CRC16 is not set 1047# CONFIG_CRC16 is not set
1048# CONFIG_CRC_T10DIF is not set
1006# CONFIG_CRC_ITU_T is not set 1049# CONFIG_CRC_ITU_T is not set
1007CONFIG_CRC32=y 1050CONFIG_CRC32=y
1008# CONFIG_CRC7 is not set 1051# CONFIG_CRC7 is not set
@@ -1027,6 +1070,8 @@ CONFIG_FRAME_WARN=1024
1027CONFIG_DEBUG_KERNEL=y 1070CONFIG_DEBUG_KERNEL=y
1028# CONFIG_DEBUG_SHIRQ is not set 1071# CONFIG_DEBUG_SHIRQ is not set
1029CONFIG_DETECT_SOFTLOCKUP=y 1072CONFIG_DETECT_SOFTLOCKUP=y
1073# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1074CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1030CONFIG_SCHED_DEBUG=y 1075CONFIG_SCHED_DEBUG=y
1031# CONFIG_SCHEDSTATS is not set 1076# CONFIG_SCHEDSTATS is not set
1032# CONFIG_TIMER_STATS is not set 1077# CONFIG_TIMER_STATS is not set
@@ -1044,17 +1089,28 @@ CONFIG_SCHED_DEBUG=y
1044# CONFIG_DEBUG_INFO is not set 1089# CONFIG_DEBUG_INFO is not set
1045# CONFIG_DEBUG_VM is not set 1090# CONFIG_DEBUG_VM is not set
1046# CONFIG_DEBUG_WRITECOUNT is not set 1091# CONFIG_DEBUG_WRITECOUNT is not set
1092# CONFIG_DEBUG_MEMORY_INIT is not set
1047# CONFIG_DEBUG_LIST is not set 1093# CONFIG_DEBUG_LIST is not set
1048# CONFIG_DEBUG_SG is not set 1094# CONFIG_DEBUG_SG is not set
1049# CONFIG_BOOT_PRINTK_DELAY is not set 1095# CONFIG_BOOT_PRINTK_DELAY is not set
1050# CONFIG_RCU_TORTURE_TEST is not set 1096# CONFIG_RCU_TORTURE_TEST is not set
1051# CONFIG_BACKTRACE_SELF_TEST is not set 1097# CONFIG_BACKTRACE_SELF_TEST is not set
1052# CONFIG_FAULT_INJECTION is not set 1098# CONFIG_FAULT_INJECTION is not set
1099# CONFIG_LATENCYTOP is not set
1100CONFIG_SYSCTL_SYSCALL_CHECK=y
1101CONFIG_HAVE_FTRACE=y
1102CONFIG_HAVE_DYNAMIC_FTRACE=y
1103# CONFIG_FTRACE is not set
1104# CONFIG_SCHED_TRACER is not set
1105# CONFIG_CONTEXT_SWITCH_TRACER is not set
1053# CONFIG_SAMPLES is not set 1106# CONFIG_SAMPLES is not set
1107CONFIG_HAVE_ARCH_KGDB=y
1108# CONFIG_KGDB is not set
1054# CONFIG_DEBUG_STACKOVERFLOW is not set 1109# CONFIG_DEBUG_STACKOVERFLOW is not set
1055# CONFIG_DEBUG_STACK_USAGE is not set 1110# CONFIG_DEBUG_STACK_USAGE is not set
1056# CONFIG_DEBUG_PAGEALLOC is not set 1111# CONFIG_DEBUG_PAGEALLOC is not set
1057CONFIG_DEBUGGER=y 1112# CONFIG_CODE_PATCHING_SELFTEST is not set
1113# CONFIG_FTR_FIXUP_SELFTEST is not set
1058# CONFIG_XMON is not set 1114# CONFIG_XMON is not set
1059# CONFIG_IRQSTACKS is not set 1115# CONFIG_IRQSTACKS is not set
1060# CONFIG_BDI_SWITCH is not set 1116# CONFIG_BDI_SWITCH is not set
@@ -1122,6 +1178,10 @@ CONFIG_CRYPTO_PCBC=m
1122# CONFIG_CRYPTO_MD4 is not set 1178# CONFIG_CRYPTO_MD4 is not set
1123CONFIG_CRYPTO_MD5=y 1179CONFIG_CRYPTO_MD5=y
1124# CONFIG_CRYPTO_MICHAEL_MIC is not set 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
1125# CONFIG_CRYPTO_SHA1 is not set 1185# CONFIG_CRYPTO_SHA1 is not set
1126# CONFIG_CRYPTO_SHA256 is not set 1186# CONFIG_CRYPTO_SHA256 is not set
1127# CONFIG_CRYPTO_SHA512 is not set 1187# CONFIG_CRYPTO_SHA512 is not set
@@ -1154,6 +1214,7 @@ CONFIG_CRYPTO_DES=y
1154# CONFIG_CRYPTO_LZO is not set 1214# CONFIG_CRYPTO_LZO is not set
1155CONFIG_CRYPTO_HW=y 1215CONFIG_CRYPTO_HW=y
1156# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1216# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1217# CONFIG_CRYPTO_DEV_TALITOS is not set
1157# CONFIG_PPC_CLOCK is not set 1218# CONFIG_PPC_CLOCK is not set
1158CONFIG_PPC_LIB_RHEAP=y 1219CONFIG_PPC_LIB_RHEAP=y
1159# CONFIG_VIRTUALIZATION is not set 1220# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc8572_ds_defconfig b/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
index 164fd9606ee6..eda45bb8a13f 100644
--- a/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:35 2008 4# Thu Aug 21 07:21:42 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -92,7 +94,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 95CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 97CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 98CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_EXTRA_PASS=y 99CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -118,10 +119,16 @@ CONFIG_SLUB=y
118# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -138,6 +145,7 @@ CONFIG_LBD=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 146# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
141 149
142# 150#
143# IO Schedulers 151# IO Schedulers
@@ -156,8 +164,6 @@ CONFIG_CLASSIC_RCU=y
156# 164#
157# Platform support 165# Platform support
158# 166#
159# CONFIG_PPC_MPC512x is not set
160# CONFIG_PPC_MPC5121 is not set
161# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
162# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
163# CONFIG_PQ2ADS is not set 169# CONFIG_PQ2ADS is not set
@@ -166,11 +172,13 @@ CONFIG_MPC85xx=y
166# CONFIG_MPC8560_ADS is not set 172# CONFIG_MPC8560_ADS is not set
167# CONFIG_MPC85xx_CDS is not set 173# CONFIG_MPC85xx_CDS is not set
168# CONFIG_MPC85xx_MDS is not set 174# CONFIG_MPC85xx_MDS is not set
175# CONFIG_MPC8536_DS is not set
169CONFIG_MPC85xx_DS=y 176CONFIG_MPC85xx_DS=y
170# CONFIG_KSI8560 is not set 177# CONFIG_KSI8560 is not set
171# CONFIG_STX_GP3 is not set 178# CONFIG_STX_GP3 is not set
172# CONFIG_TQM8540 is not set 179# CONFIG_TQM8540 is not set
173# CONFIG_TQM8541 is not set 180# CONFIG_TQM8541 is not set
181# CONFIG_TQM8548 is not set
174# CONFIG_TQM8555 is not set 182# CONFIG_TQM8555 is not set
175# CONFIG_TQM8560 is not set 183# CONFIG_TQM8560 is not set
176# CONFIG_SBC8548 is not set 184# CONFIG_SBC8548 is not set
@@ -202,7 +210,7 @@ CONFIG_HZ_250=y
202# CONFIG_HZ_300 is not set 210# CONFIG_HZ_300 is not set
203# CONFIG_HZ_1000 is not set 211# CONFIG_HZ_1000 is not set
204CONFIG_HZ=250 212CONFIG_HZ=250
205# CONFIG_SCHED_HRTICK is not set 213CONFIG_SCHED_HRTICK=y
206CONFIG_PREEMPT_NONE=y 214CONFIG_PREEMPT_NONE=y
207# CONFIG_PREEMPT_VOLUNTARY is not set 215# CONFIG_PREEMPT_VOLUNTARY is not set
208# CONFIG_PREEMPT is not set 216# CONFIG_PREEMPT is not set
@@ -225,6 +233,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 234CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 235CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 237# CONFIG_RESOURCES_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 238CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
@@ -232,6 +241,7 @@ CONFIG_VIRT_TO_BUS=y
232CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
233CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
234# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
244CONFIG_EXTRA_TARGETS=""
235# CONFIG_PM is not set 245# CONFIG_PM is not set
236CONFIG_SECCOMP=y 246CONFIG_SECCOMP=y
237CONFIG_ISA_DMA_API=y 247CONFIG_ISA_DMA_API=y
@@ -244,6 +254,7 @@ CONFIG_GENERIC_ISA_DMA=y
244CONFIG_PPC_INDIRECT_PCI=y 254CONFIG_PPC_INDIRECT_PCI=y
245CONFIG_FSL_SOC=y 255CONFIG_FSL_SOC=y
246CONFIG_FSL_PCI=y 256CONFIG_FSL_PCI=y
257CONFIG_PPC_PCI_CHOICE=y
247CONFIG_PCI=y 258CONFIG_PCI=y
248CONFIG_PCI_DOMAINS=y 259CONFIG_PCI_DOMAINS=y
249CONFIG_PCI_SYSCALL=y 260CONFIG_PCI_SYSCALL=y
@@ -270,10 +281,6 @@ CONFIG_KERNEL_START=0xc0000000
270CONFIG_PHYSICAL_START=0x00000000 281CONFIG_PHYSICAL_START=0x00000000
271CONFIG_PHYSICAL_ALIGN=0x10000000 282CONFIG_PHYSICAL_ALIGN=0x10000000
272CONFIG_TASK_SIZE=0xc0000000 283CONFIG_TASK_SIZE=0xc0000000
273
274#
275# Networking
276#
277CONFIG_NET=y 284CONFIG_NET=y
278 285
279# 286#
@@ -399,6 +406,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
399CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
400CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
401CONFIG_FW_LOADER=y 408CONFIG_FW_LOADER=y
409CONFIG_FIRMWARE_IN_KERNEL=y
410CONFIG_EXTRA_FIRMWARE=""
402# CONFIG_DEBUG_DRIVER is not set 411# CONFIG_DEBUG_DRIVER is not set
403# CONFIG_DEBUG_DEVRES is not set 412# CONFIG_DEBUG_DEVRES is not set
404# CONFIG_SYS_HYPERVISOR is not set 413# CONFIG_SYS_HYPERVISOR is not set
@@ -425,12 +434,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
425# CONFIG_BLK_DEV_XIP is not set 434# CONFIG_BLK_DEV_XIP is not set
426# CONFIG_CDROM_PKTCDVD is not set 435# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 436# CONFIG_ATA_OVER_ETH is not set
437# CONFIG_BLK_DEV_HD is not set
428CONFIG_MISC_DEVICES=y 438CONFIG_MISC_DEVICES=y
429# CONFIG_PHANTOM is not set 439# CONFIG_PHANTOM is not set
430# CONFIG_EEPROM_93CX6 is not set 440# CONFIG_EEPROM_93CX6 is not set
431# CONFIG_SGI_IOC4 is not set 441# CONFIG_SGI_IOC4 is not set
432# CONFIG_TIFM_CORE is not set 442# CONFIG_TIFM_CORE is not set
433# CONFIG_ENCLOSURE_SERVICES is not set 443# CONFIG_ENCLOSURE_SERVICES is not set
444# CONFIG_HP_ILO is not set
434CONFIG_HAVE_IDE=y 445CONFIG_HAVE_IDE=y
435# CONFIG_IDE is not set 446# CONFIG_IDE is not set
436 447
@@ -510,6 +521,7 @@ CONFIG_SCSI_LOWLEVEL=y
510# CONFIG_SCSI_NSP32 is not set 521# CONFIG_SCSI_NSP32 is not set
511# CONFIG_SCSI_DEBUG is not set 522# CONFIG_SCSI_DEBUG is not set
512# CONFIG_SCSI_SRP is not set 523# CONFIG_SCSI_SRP is not set
524# CONFIG_SCSI_DH is not set
513CONFIG_ATA=y 525CONFIG_ATA=y
514# CONFIG_ATA_NONSTANDARD is not set 526# CONFIG_ATA_NONSTANDARD is not set
515CONFIG_SATA_PMP=y 527CONFIG_SATA_PMP=y
@@ -577,12 +589,15 @@ CONFIG_PATA_ALI=y
577# 589#
578# IEEE 1394 (FireWire) support 590# IEEE 1394 (FireWire) support
579# 591#
592
593#
594# Enable only one of the two stacks, unless you know what you are doing
595#
580# CONFIG_FIREWIRE is not set 596# CONFIG_FIREWIRE is not set
581# CONFIG_IEEE1394 is not set 597# CONFIG_IEEE1394 is not set
582# CONFIG_I2O is not set 598# CONFIG_I2O is not set
583# CONFIG_MACINTOSH_DRIVERS is not set 599# CONFIG_MACINTOSH_DRIVERS is not set
584CONFIG_NETDEVICES=y 600CONFIG_NETDEVICES=y
585# CONFIG_NETDEVICES_MULTIQUEUE is not set
586CONFIG_DUMMY=y 601CONFIG_DUMMY=y
587# CONFIG_BONDING is not set 602# CONFIG_BONDING is not set
588# CONFIG_MACVLAN is not set 603# CONFIG_MACVLAN is not set
@@ -626,7 +641,6 @@ CONFIG_NETDEV_1000=y
626# CONFIG_DL2K is not set 641# CONFIG_DL2K is not set
627# CONFIG_E1000 is not set 642# CONFIG_E1000 is not set
628# CONFIG_E1000E is not set 643# CONFIG_E1000E is not set
629# CONFIG_E1000E_ENABLED is not set
630# CONFIG_IP1000 is not set 644# CONFIG_IP1000 is not set
631# CONFIG_IGB is not set 645# CONFIG_IGB is not set
632# CONFIG_NS83820 is not set 646# CONFIG_NS83820 is not set
@@ -640,9 +654,9 @@ CONFIG_NETDEV_1000=y
640# CONFIG_TIGON3 is not set 654# CONFIG_TIGON3 is not set
641# CONFIG_BNX2 is not set 655# CONFIG_BNX2 is not set
642CONFIG_GIANFAR=y 656CONFIG_GIANFAR=y
643CONFIG_GFAR_NAPI=y
644# CONFIG_QLA3XXX is not set 657# CONFIG_QLA3XXX is not set
645# CONFIG_ATL1 is not set 658# CONFIG_ATL1 is not set
659# CONFIG_ATL1E is not set
646CONFIG_NETDEV_10000=y 660CONFIG_NETDEV_10000=y
647# CONFIG_CHELSIO_T1 is not set 661# CONFIG_CHELSIO_T1 is not set
648# CONFIG_CHELSIO_T3 is not set 662# CONFIG_CHELSIO_T3 is not set
@@ -719,12 +733,14 @@ CONFIG_SERIO_SERPORT=y
719# CONFIG_SERIO_PCIPS2 is not set 733# CONFIG_SERIO_PCIPS2 is not set
720CONFIG_SERIO_LIBPS2=y 734CONFIG_SERIO_LIBPS2=y
721# CONFIG_SERIO_RAW is not set 735# CONFIG_SERIO_RAW is not set
736# CONFIG_SERIO_XILINX_XPS_PS2 is not set
722# CONFIG_GAMEPORT is not set 737# CONFIG_GAMEPORT is not set
723 738
724# 739#
725# Character devices 740# Character devices
726# 741#
727CONFIG_VT=y 742CONFIG_VT=y
743CONFIG_CONSOLE_TRANSLATIONS=y
728CONFIG_VT_CONSOLE=y 744CONFIG_VT_CONSOLE=y
729CONFIG_HW_CONSOLE=y 745CONFIG_HW_CONSOLE=y
730# CONFIG_VT_HW_CONSOLE_BINDING is not set 746# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -758,7 +774,7 @@ CONFIG_UNIX98_PTYS=y
758CONFIG_LEGACY_PTYS=y 774CONFIG_LEGACY_PTYS=y
759CONFIG_LEGACY_PTY_COUNT=256 775CONFIG_LEGACY_PTY_COUNT=256
760# CONFIG_IPMI_HANDLER is not set 776# CONFIG_IPMI_HANDLER is not set
761# CONFIG_HW_RANDOM is not set 777CONFIG_HW_RANDOM=y
762CONFIG_NVRAM=y 778CONFIG_NVRAM=y
763# CONFIG_R3964 is not set 779# CONFIG_R3964 is not set
764# CONFIG_APPLICOM is not set 780# CONFIG_APPLICOM is not set
@@ -768,43 +784,64 @@ CONFIG_DEVPORT=y
768CONFIG_I2C=y 784CONFIG_I2C=y
769CONFIG_I2C_BOARDINFO=y 785CONFIG_I2C_BOARDINFO=y
770# CONFIG_I2C_CHARDEV is not set 786# CONFIG_I2C_CHARDEV is not set
787CONFIG_I2C_HELPER_AUTO=y
771 788
772# 789#
773# I2C Hardware Bus support 790# I2C Hardware Bus support
774# 791#
792
793#
794# PC SMBus host controller drivers
795#
775# CONFIG_I2C_ALI1535 is not set 796# CONFIG_I2C_ALI1535 is not set
776# CONFIG_I2C_ALI1563 is not set 797# CONFIG_I2C_ALI1563 is not set
777# CONFIG_I2C_ALI15X3 is not set 798# CONFIG_I2C_ALI15X3 is not set
778# CONFIG_I2C_AMD756 is not set 799# CONFIG_I2C_AMD756 is not set
779# CONFIG_I2C_AMD8111 is not set 800# CONFIG_I2C_AMD8111 is not set
780# CONFIG_I2C_I801 is not set 801# CONFIG_I2C_I801 is not set
781# CONFIG_I2C_I810 is not set 802# CONFIG_I2C_ISCH is not set
782# CONFIG_I2C_PIIX4 is not set 803# CONFIG_I2C_PIIX4 is not set
783CONFIG_I2C_MPC=y
784# CONFIG_I2C_NFORCE2 is not set 804# CONFIG_I2C_NFORCE2 is not set
785# CONFIG_I2C_OCORES is not set
786# CONFIG_I2C_PARPORT_LIGHT is not set
787# CONFIG_I2C_PROSAVAGE is not set
788# CONFIG_I2C_SAVAGE4 is not set
789# CONFIG_I2C_SIMTEC is not set
790# CONFIG_I2C_SIS5595 is not set 805# CONFIG_I2C_SIS5595 is not set
791# CONFIG_I2C_SIS630 is not set 806# CONFIG_I2C_SIS630 is not set
792# CONFIG_I2C_SIS96X is not set 807# CONFIG_I2C_SIS96X is not set
793# CONFIG_I2C_TAOS_EVM is not set
794# CONFIG_I2C_STUB is not set
795# CONFIG_I2C_TINY_USB is not set
796# CONFIG_I2C_VIA is not set 808# CONFIG_I2C_VIA is not set
797# CONFIG_I2C_VIAPRO is not set 809# CONFIG_I2C_VIAPRO is not set
810
811#
812# I2C system bus drivers (mostly embedded / system-on-chip)
813#
814CONFIG_I2C_MPC=y
815# CONFIG_I2C_OCORES is not set
816# CONFIG_I2C_SIMTEC is not set
817
818#
819# External I2C/SMBus adapter drivers
820#
821# CONFIG_I2C_PARPORT_LIGHT is not set
822# CONFIG_I2C_TAOS_EVM is not set
823# CONFIG_I2C_TINY_USB is not set
824
825#
826# Graphics adapter I2C/DDC channel drivers
827#
798# CONFIG_I2C_VOODOO3 is not set 828# CONFIG_I2C_VOODOO3 is not set
829
830#
831# Other I2C/SMBus bus drivers
832#
799# CONFIG_I2C_PCA_PLATFORM is not set 833# CONFIG_I2C_PCA_PLATFORM is not set
834# CONFIG_I2C_STUB is not set
800 835
801# 836#
802# Miscellaneous I2C Chip support 837# Miscellaneous I2C Chip support
803# 838#
804# CONFIG_DS1682 is not set 839# CONFIG_DS1682 is not set
840# CONFIG_AT24 is not set
805CONFIG_SENSORS_EEPROM=y 841CONFIG_SENSORS_EEPROM=y
806# CONFIG_SENSORS_PCF8574 is not set 842# CONFIG_SENSORS_PCF8574 is not set
807# CONFIG_PCF8575 is not set 843# CONFIG_PCF8575 is not set
844# CONFIG_SENSORS_PCA9539 is not set
808# CONFIG_SENSORS_PCF8591 is not set 845# CONFIG_SENSORS_PCF8591 is not set
809# CONFIG_SENSORS_MAX6875 is not set 846# CONFIG_SENSORS_MAX6875 is not set
810# CONFIG_SENSORS_TSL2550 is not set 847# CONFIG_SENSORS_TSL2550 is not set
@@ -813,10 +850,13 @@ CONFIG_SENSORS_EEPROM=y
813# CONFIG_I2C_DEBUG_BUS is not set 850# CONFIG_I2C_DEBUG_BUS is not set
814# CONFIG_I2C_DEBUG_CHIP is not set 851# CONFIG_I2C_DEBUG_CHIP is not set
815# CONFIG_SPI is not set 852# CONFIG_SPI is not set
853CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
854# CONFIG_GPIOLIB is not set
816# CONFIG_W1 is not set 855# CONFIG_W1 is not set
817# CONFIG_POWER_SUPPLY is not set 856# CONFIG_POWER_SUPPLY is not set
818# CONFIG_HWMON is not set 857# CONFIG_HWMON is not set
819# CONFIG_THERMAL is not set 858# CONFIG_THERMAL is not set
859# CONFIG_THERMAL_HWMON is not set
820# CONFIG_WATCHDOG is not set 860# CONFIG_WATCHDOG is not set
821 861
822# 862#
@@ -828,8 +868,10 @@ CONFIG_SSB_POSSIBLE=y
828# 868#
829# Multifunction device drivers 869# Multifunction device drivers
830# 870#
871# CONFIG_MFD_CORE is not set
831# CONFIG_MFD_SM501 is not set 872# CONFIG_MFD_SM501 is not set
832# CONFIG_HTC_PASIC3 is not set 873# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set
833 875
834# 876#
835# Multimedia devices 877# Multimedia devices
@@ -871,6 +913,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
871# CONFIG_DVB_TTUSB_BUDGET is not set 913# CONFIG_DVB_TTUSB_BUDGET is not set
872# CONFIG_DVB_TTUSB_DEC is not set 914# CONFIG_DVB_TTUSB_DEC is not set
873# CONFIG_DVB_CINERGYT2 is not set 915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set
874 917
875# 918#
876# Supported FlexCopII (B2C2) Adapters 919# Supported FlexCopII (B2C2) Adapters
@@ -917,6 +960,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
917# CONFIG_DVB_SP887X is not set 960# CONFIG_DVB_SP887X is not set
918# CONFIG_DVB_CX22700 is not set 961# CONFIG_DVB_CX22700 is not set
919# CONFIG_DVB_CX22702 is not set 962# CONFIG_DVB_CX22702 is not set
963# CONFIG_DVB_DRX397XD is not set
920# CONFIG_DVB_L64781 is not set 964# CONFIG_DVB_L64781 is not set
921# CONFIG_DVB_TDA1004X is not set 965# CONFIG_DVB_TDA1004X is not set
922# CONFIG_DVB_NXT6000 is not set 966# CONFIG_DVB_NXT6000 is not set
@@ -984,15 +1028,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
984CONFIG_VGA_CONSOLE=y 1028CONFIG_VGA_CONSOLE=y
985# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set
986CONFIG_DUMMY_CONSOLE=y 1030CONFIG_DUMMY_CONSOLE=y
987
988#
989# Sound
990#
991CONFIG_SOUND=y 1031CONFIG_SOUND=y
992
993#
994# Advanced Linux Sound Architecture
995#
996CONFIG_SND=y 1032CONFIG_SND=y
997CONFIG_SND_TIMER=y 1033CONFIG_SND_TIMER=y
998CONFIG_SND_PCM=y 1034CONFIG_SND_PCM=y
@@ -1006,19 +1042,15 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
1006CONFIG_SND_VERBOSE_PROCFS=y 1042CONFIG_SND_VERBOSE_PROCFS=y
1007# CONFIG_SND_VERBOSE_PRINTK is not set 1043# CONFIG_SND_VERBOSE_PRINTK is not set
1008# CONFIG_SND_DEBUG is not set 1044# CONFIG_SND_DEBUG is not set
1009 1045CONFIG_SND_VMASTER=y
1010#
1011# Generic devices
1012#
1013CONFIG_SND_AC97_CODEC=y 1046CONFIG_SND_AC97_CODEC=y
1047CONFIG_SND_DRIVERS=y
1014# CONFIG_SND_DUMMY is not set 1048# CONFIG_SND_DUMMY is not set
1015# CONFIG_SND_MTPAV is not set 1049# CONFIG_SND_MTPAV is not set
1016# CONFIG_SND_SERIAL_U16550 is not set 1050# CONFIG_SND_SERIAL_U16550 is not set
1017# CONFIG_SND_MPU401 is not set 1051# CONFIG_SND_MPU401 is not set
1018 1052# CONFIG_SND_AC97_POWER_SAVE is not set
1019# 1053CONFIG_SND_PCI=y
1020# PCI devices
1021#
1022# CONFIG_SND_AD1889 is not set 1054# CONFIG_SND_AD1889 is not set
1023# CONFIG_SND_ALS300 is not set 1055# CONFIG_SND_ALS300 is not set
1024# CONFIG_SND_ALS4000 is not set 1056# CONFIG_SND_ALS4000 is not set
@@ -1080,39 +1112,12 @@ CONFIG_SND_INTEL8X0=y
1080# CONFIG_SND_VIRTUOSO is not set 1112# CONFIG_SND_VIRTUOSO is not set
1081# CONFIG_SND_VX222 is not set 1113# CONFIG_SND_VX222 is not set
1082# CONFIG_SND_YMFPCI is not set 1114# CONFIG_SND_YMFPCI is not set
1083# CONFIG_SND_AC97_POWER_SAVE is not set 1115CONFIG_SND_PPC=y
1084 1116CONFIG_SND_USB=y
1085#
1086# ALSA PowerMac devices
1087#
1088
1089#
1090# ALSA PowerPC devices
1091#
1092
1093#
1094# USB devices
1095#
1096# CONFIG_SND_USB_AUDIO is not set 1117# CONFIG_SND_USB_AUDIO is not set
1097# CONFIG_SND_USB_USX2Y is not set 1118# CONFIG_SND_USB_USX2Y is not set
1098# CONFIG_SND_USB_CAIAQ is not set 1119# CONFIG_SND_USB_CAIAQ is not set
1099
1100#
1101# System on Chip audio support
1102#
1103# CONFIG_SND_SOC is not set 1120# CONFIG_SND_SOC is not set
1104
1105#
1106# ALSA SoC audio for Freescale SOCs
1107#
1108
1109#
1110# SoC Audio for the Texas Instruments OMAP
1111#
1112
1113#
1114# Open Sound System
1115#
1116# CONFIG_SOUND_PRIME is not set 1121# CONFIG_SOUND_PRIME is not set
1117CONFIG_AC97_BUS=y 1122CONFIG_AC97_BUS=y
1118CONFIG_HID_SUPPORT=y 1123CONFIG_HID_SUPPORT=y
@@ -1144,6 +1149,7 @@ CONFIG_USB_DEVICE_CLASS=y
1144# CONFIG_USB_OTG is not set 1149# CONFIG_USB_OTG is not set
1145# CONFIG_USB_OTG_WHITELIST is not set 1150# CONFIG_USB_OTG_WHITELIST is not set
1146# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1151# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1152CONFIG_USB_MON=y
1147 1153
1148# 1154#
1149# USB Host Controller Drivers 1155# USB Host Controller Drivers
@@ -1195,6 +1201,7 @@ CONFIG_USB_STORAGE=y
1195# CONFIG_USB_STORAGE_ALAUDA is not set 1201# CONFIG_USB_STORAGE_ALAUDA is not set
1196# CONFIG_USB_STORAGE_ONETOUCH is not set 1202# CONFIG_USB_STORAGE_ONETOUCH is not set
1197# CONFIG_USB_STORAGE_KARMA is not set 1203# CONFIG_USB_STORAGE_KARMA is not set
1204# CONFIG_USB_STORAGE_SIERRA is not set
1198# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1205# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1199# CONFIG_USB_LIBUSUAL is not set 1206# CONFIG_USB_LIBUSUAL is not set
1200 1207
@@ -1203,7 +1210,6 @@ CONFIG_USB_STORAGE=y
1203# 1210#
1204# CONFIG_USB_MDC800 is not set 1211# CONFIG_USB_MDC800 is not set
1205# CONFIG_USB_MICROTEK is not set 1212# CONFIG_USB_MICROTEK is not set
1206CONFIG_USB_MON=y
1207 1213
1208# 1214#
1209# USB port drivers 1215# USB port drivers
@@ -1216,7 +1222,6 @@ CONFIG_USB_MON=y
1216# CONFIG_USB_EMI62 is not set 1222# CONFIG_USB_EMI62 is not set
1217# CONFIG_USB_EMI26 is not set 1223# CONFIG_USB_EMI26 is not set
1218# CONFIG_USB_ADUTUX is not set 1224# CONFIG_USB_ADUTUX is not set
1219# CONFIG_USB_AUERSWALD is not set
1220# CONFIG_USB_RIO500 is not set 1225# CONFIG_USB_RIO500 is not set
1221# CONFIG_USB_LEGOTOWER is not set 1226# CONFIG_USB_LEGOTOWER is not set
1222# CONFIG_USB_LCD is not set 1227# CONFIG_USB_LCD is not set
@@ -1270,6 +1275,7 @@ CONFIG_RTC_INTF_DEV=y
1270# CONFIG_RTC_DRV_PCF8583 is not set 1275# CONFIG_RTC_DRV_PCF8583 is not set
1271# CONFIG_RTC_DRV_M41T80 is not set 1276# CONFIG_RTC_DRV_M41T80 is not set
1272# CONFIG_RTC_DRV_S35390A is not set 1277# CONFIG_RTC_DRV_S35390A is not set
1278# CONFIG_RTC_DRV_FM3130 is not set
1273 1279
1274# 1280#
1275# SPI RTC drivers 1281# SPI RTC drivers
@@ -1368,6 +1374,7 @@ CONFIG_EFS_FS=m
1368CONFIG_CRAMFS=y 1374CONFIG_CRAMFS=y
1369CONFIG_VXFS_FS=m 1375CONFIG_VXFS_FS=m
1370# CONFIG_MINIX_FS is not set 1376# CONFIG_MINIX_FS is not set
1377# CONFIG_OMFS_FS is not set
1371CONFIG_HPFS_FS=m 1378CONFIG_HPFS_FS=m
1372CONFIG_QNX4FS_FS=m 1379CONFIG_QNX4FS_FS=m
1373# CONFIG_ROMFS_FS is not set 1380# CONFIG_ROMFS_FS is not set
@@ -1380,17 +1387,16 @@ CONFIG_NFS_FS=y
1380CONFIG_NFS_V3=y 1387CONFIG_NFS_V3=y
1381# CONFIG_NFS_V3_ACL is not set 1388# CONFIG_NFS_V3_ACL is not set
1382CONFIG_NFS_V4=y 1389CONFIG_NFS_V4=y
1390CONFIG_ROOT_NFS=y
1383CONFIG_NFSD=y 1391CONFIG_NFSD=y
1384# CONFIG_NFSD_V3 is not set 1392# CONFIG_NFSD_V3 is not set
1385# CONFIG_NFSD_V4 is not set 1393# CONFIG_NFSD_V4 is not set
1386CONFIG_ROOT_NFS=y
1387CONFIG_LOCKD=y 1394CONFIG_LOCKD=y
1388CONFIG_LOCKD_V4=y 1395CONFIG_LOCKD_V4=y
1389CONFIG_EXPORTFS=y 1396CONFIG_EXPORTFS=y
1390CONFIG_NFS_COMMON=y 1397CONFIG_NFS_COMMON=y
1391CONFIG_SUNRPC=y 1398CONFIG_SUNRPC=y
1392CONFIG_SUNRPC_GSS=y 1399CONFIG_SUNRPC_GSS=y
1393# CONFIG_SUNRPC_BIND34 is not set
1394CONFIG_RPCSEC_GSS_KRB5=y 1400CONFIG_RPCSEC_GSS_KRB5=y
1395# CONFIG_RPCSEC_GSS_SPKM3 is not set 1401# CONFIG_RPCSEC_GSS_SPKM3 is not set
1396# CONFIG_SMB_FS is not set 1402# CONFIG_SMB_FS is not set
@@ -1469,6 +1475,7 @@ CONFIG_BITREVERSE=y
1469# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1475# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1470# CONFIG_CRC_CCITT is not set 1476# CONFIG_CRC_CCITT is not set
1471# CONFIG_CRC16 is not set 1477# CONFIG_CRC16 is not set
1478CONFIG_CRC_T10DIF=y
1472CONFIG_CRC_ITU_T=m 1479CONFIG_CRC_ITU_T=m
1473CONFIG_CRC32=y 1480CONFIG_CRC32=y
1474# CONFIG_CRC7 is not set 1481# CONFIG_CRC7 is not set
@@ -1494,6 +1501,8 @@ CONFIG_FRAME_WARN=1024
1494CONFIG_DEBUG_KERNEL=y 1501CONFIG_DEBUG_KERNEL=y
1495# CONFIG_DEBUG_SHIRQ is not set 1502# CONFIG_DEBUG_SHIRQ is not set
1496CONFIG_DETECT_SOFTLOCKUP=y 1503CONFIG_DETECT_SOFTLOCKUP=y
1504# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1505CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1497CONFIG_SCHED_DEBUG=y 1506CONFIG_SCHED_DEBUG=y
1498# CONFIG_SCHEDSTATS is not set 1507# CONFIG_SCHEDSTATS is not set
1499# CONFIG_TIMER_STATS is not set 1508# CONFIG_TIMER_STATS is not set
@@ -1512,17 +1521,29 @@ CONFIG_SCHED_DEBUG=y
1512CONFIG_DEBUG_INFO=y 1521CONFIG_DEBUG_INFO=y
1513# CONFIG_DEBUG_VM is not set 1522# CONFIG_DEBUG_VM is not set
1514# CONFIG_DEBUG_WRITECOUNT is not set 1523# CONFIG_DEBUG_WRITECOUNT is not set
1524# CONFIG_DEBUG_MEMORY_INIT is not set
1515# CONFIG_DEBUG_LIST is not set 1525# CONFIG_DEBUG_LIST is not set
1516# CONFIG_DEBUG_SG is not set 1526# CONFIG_DEBUG_SG is not set
1517# CONFIG_BOOT_PRINTK_DELAY is not set 1527# CONFIG_BOOT_PRINTK_DELAY is not set
1518# CONFIG_RCU_TORTURE_TEST is not set 1528# CONFIG_RCU_TORTURE_TEST is not set
1519# CONFIG_BACKTRACE_SELF_TEST is not set 1529# CONFIG_BACKTRACE_SELF_TEST is not set
1520# CONFIG_FAULT_INJECTION is not set 1530# CONFIG_FAULT_INJECTION is not set
1531# CONFIG_LATENCYTOP is not set
1532CONFIG_SYSCTL_SYSCALL_CHECK=y
1533CONFIG_HAVE_FTRACE=y
1534CONFIG_HAVE_DYNAMIC_FTRACE=y
1535# CONFIG_FTRACE is not set
1536# CONFIG_SCHED_TRACER is not set
1537# CONFIG_CONTEXT_SWITCH_TRACER is not set
1521# CONFIG_SAMPLES is not set 1538# CONFIG_SAMPLES is not set
1539CONFIG_HAVE_ARCH_KGDB=y
1540# CONFIG_KGDB is not set
1522# CONFIG_DEBUG_STACKOVERFLOW is not set 1541# CONFIG_DEBUG_STACKOVERFLOW is not set
1523# CONFIG_DEBUG_STACK_USAGE is not set 1542# CONFIG_DEBUG_STACK_USAGE is not set
1524# CONFIG_DEBUG_PAGEALLOC is not set 1543# CONFIG_DEBUG_PAGEALLOC is not set
1525# CONFIG_DEBUGGER is not set 1544# CONFIG_CODE_PATCHING_SELFTEST is not set
1545# CONFIG_FTR_FIXUP_SELFTEST is not set
1546# CONFIG_XMON is not set
1526# CONFIG_IRQSTACKS is not set 1547# CONFIG_IRQSTACKS is not set
1527# CONFIG_BDI_SWITCH is not set 1548# CONFIG_BDI_SWITCH is not set
1528# CONFIG_PPC_EARLY_DEBUG is not set 1549# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1539,13 +1560,14 @@ CONFIG_CRYPTO=y
1539# Crypto core or helper 1560# Crypto core or helper
1540# 1561#
1541CONFIG_CRYPTO_ALGAPI=y 1562CONFIG_CRYPTO_ALGAPI=y
1563CONFIG_CRYPTO_AEAD=y
1542CONFIG_CRYPTO_BLKCIPHER=y 1564CONFIG_CRYPTO_BLKCIPHER=y
1543CONFIG_CRYPTO_HASH=y 1565CONFIG_CRYPTO_HASH=y
1544CONFIG_CRYPTO_MANAGER=y 1566CONFIG_CRYPTO_MANAGER=y
1545# CONFIG_CRYPTO_GF128MUL is not set 1567# CONFIG_CRYPTO_GF128MUL is not set
1546# CONFIG_CRYPTO_NULL is not set 1568# CONFIG_CRYPTO_NULL is not set
1547# CONFIG_CRYPTO_CRYPTD is not set 1569# CONFIG_CRYPTO_CRYPTD is not set
1548# CONFIG_CRYPTO_AUTHENC is not set 1570CONFIG_CRYPTO_AUTHENC=y
1549# CONFIG_CRYPTO_TEST is not set 1571# CONFIG_CRYPTO_TEST is not set
1550 1572
1551# 1573#
@@ -1579,6 +1601,10 @@ CONFIG_CRYPTO_HMAC=y
1579# CONFIG_CRYPTO_MD4 is not set 1601# CONFIG_CRYPTO_MD4 is not set
1580CONFIG_CRYPTO_MD5=y 1602CONFIG_CRYPTO_MD5=y
1581# CONFIG_CRYPTO_MICHAEL_MIC is not set 1603# CONFIG_CRYPTO_MICHAEL_MIC is not set
1604# CONFIG_CRYPTO_RMD128 is not set
1605# CONFIG_CRYPTO_RMD160 is not set
1606# CONFIG_CRYPTO_RMD256 is not set
1607# CONFIG_CRYPTO_RMD320 is not set
1582CONFIG_CRYPTO_SHA1=m 1608CONFIG_CRYPTO_SHA1=m
1583# CONFIG_CRYPTO_SHA256 is not set 1609# CONFIG_CRYPTO_SHA256 is not set
1584# CONFIG_CRYPTO_SHA512 is not set 1610# CONFIG_CRYPTO_SHA512 is not set
@@ -1611,5 +1637,6 @@ CONFIG_CRYPTO_DES=y
1611# CONFIG_CRYPTO_LZO is not set 1637# CONFIG_CRYPTO_LZO is not set
1612CONFIG_CRYPTO_HW=y 1638CONFIG_CRYPTO_HW=y
1613# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1639# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1640CONFIG_CRYPTO_DEV_TALITOS=y
1614# CONFIG_PPC_CLOCK is not set 1641# CONFIG_PPC_CLOCK is not set
1615# CONFIG_VIRTUALIZATION is not set 1642# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
index b09f0032a10b..97f3c4fe440b 100644
--- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:36 2008 4# Thu Aug 21 00:52:34 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -114,10 +115,16 @@ CONFIG_SLUB=y
114# CONFIG_PROFILING is not set 115# CONFIG_PROFILING is not set
115# CONFIG_MARKERS is not set 116# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 117CONFIG_HAVE_OPROFILE=y
118CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
119CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y
119# CONFIG_HAVE_DMA_ATTRS is not set 123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
120CONFIG_PROC_PAGE_MONITOR=y 126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
121CONFIG_SLABINFO=y 128CONFIG_SLABINFO=y
122CONFIG_RT_MUTEXES=y 129CONFIG_RT_MUTEXES=y
123# CONFIG_TINY_SHMEM is not set 130# CONFIG_TINY_SHMEM is not set
@@ -128,6 +135,7 @@ CONFIG_BLOCK=y
128# CONFIG_BLK_DEV_IO_TRACE is not set 135# CONFIG_BLK_DEV_IO_TRACE is not set
129# CONFIG_LSF is not set 136# CONFIG_LSF is not set
130# CONFIG_BLK_DEV_BSG is not set 137# CONFIG_BLK_DEV_BSG is not set
138# CONFIG_BLK_DEV_INTEGRITY is not set
131 139
132# 140#
133# IO Schedulers 141# IO Schedulers
@@ -146,8 +154,6 @@ CONFIG_CLASSIC_RCU=y
146# 154#
147# Platform support 155# Platform support
148# 156#
149# CONFIG_PPC_MPC512x is not set
150# CONFIG_PPC_MPC5121 is not set
151# CONFIG_PPC_CELL is not set 157# CONFIG_PPC_CELL is not set
152# CONFIG_PPC_CELL_NATIVE is not set 158# CONFIG_PPC_CELL_NATIVE is not set
153# CONFIG_PQ2ADS is not set 159# CONFIG_PQ2ADS is not set
@@ -156,11 +162,13 @@ CONFIG_MPC85xx=y
156# CONFIG_MPC8560_ADS is not set 162# CONFIG_MPC8560_ADS is not set
157CONFIG_MPC85xx_CDS=y 163CONFIG_MPC85xx_CDS=y
158# CONFIG_MPC85xx_MDS is not set 164# CONFIG_MPC85xx_MDS is not set
165# CONFIG_MPC8536_DS is not set
159# CONFIG_MPC85xx_DS is not set 166# CONFIG_MPC85xx_DS is not set
160# CONFIG_KSI8560 is not set 167# CONFIG_KSI8560 is not set
161# CONFIG_STX_GP3 is not set 168# CONFIG_STX_GP3 is not set
162# CONFIG_TQM8540 is not set 169# CONFIG_TQM8540 is not set
163# CONFIG_TQM8541 is not set 170# CONFIG_TQM8541 is not set
171# CONFIG_TQM8548 is not set
164# CONFIG_TQM8555 is not set 172# CONFIG_TQM8555 is not set
165# CONFIG_TQM8560 is not set 173# CONFIG_TQM8560 is not set
166# CONFIG_SBC8548 is not set 174# CONFIG_SBC8548 is not set
@@ -192,7 +200,7 @@ CONFIG_HZ_250=y
192# CONFIG_HZ_300 is not set 200# CONFIG_HZ_300 is not set
193# CONFIG_HZ_1000 is not set 201# CONFIG_HZ_1000 is not set
194CONFIG_HZ=250 202CONFIG_HZ=250
195# CONFIG_SCHED_HRTICK is not set 203CONFIG_SCHED_HRTICK=y
196CONFIG_PREEMPT_NONE=y 204CONFIG_PREEMPT_NONE=y
197# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
198# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
@@ -215,6 +223,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
215# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
216CONFIG_PAGEFLAGS_EXTENDED=y 224CONFIG_PAGEFLAGS_EXTENDED=y
217CONFIG_SPLIT_PTLOCK_CPUS=4 225CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y
218# CONFIG_RESOURCES_64BIT is not set 227# CONFIG_RESOURCES_64BIT is not set
219CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
220CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
@@ -222,6 +231,7 @@ CONFIG_VIRT_TO_BUS=y
222CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
223CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
224# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
234CONFIG_EXTRA_TARGETS=""
225# CONFIG_PM is not set 235# CONFIG_PM is not set
226# CONFIG_SECCOMP is not set 236# CONFIG_SECCOMP is not set
227CONFIG_ISA_DMA_API=y 237CONFIG_ISA_DMA_API=y
@@ -233,6 +243,7 @@ CONFIG_ZONE_DMA=y
233CONFIG_PPC_INDIRECT_PCI=y 243CONFIG_PPC_INDIRECT_PCI=y
234CONFIG_FSL_SOC=y 244CONFIG_FSL_SOC=y
235CONFIG_FSL_PCI=y 245CONFIG_FSL_PCI=y
246CONFIG_PPC_PCI_CHOICE=y
236CONFIG_PCI=y 247CONFIG_PCI=y
237CONFIG_PCI_DOMAINS=y 248CONFIG_PCI_DOMAINS=y
238CONFIG_PCI_SYSCALL=y 249CONFIG_PCI_SYSCALL=y
@@ -259,10 +270,6 @@ CONFIG_KERNEL_START=0xc0000000
259CONFIG_PHYSICAL_START=0x00000000 270CONFIG_PHYSICAL_START=0x00000000
260CONFIG_PHYSICAL_ALIGN=0x10000000 271CONFIG_PHYSICAL_ALIGN=0x10000000
261CONFIG_TASK_SIZE=0xc0000000 272CONFIG_TASK_SIZE=0xc0000000
262
263#
264# Networking
265#
266CONFIG_NET=y 273CONFIG_NET=y
267 274
268# 275#
@@ -379,20 +386,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
379# CONFIG_BLK_DEV_XIP is not set 386# CONFIG_BLK_DEV_XIP is not set
380# CONFIG_CDROM_PKTCDVD is not set 387# CONFIG_CDROM_PKTCDVD is not set
381# CONFIG_ATA_OVER_ETH is not set 388# CONFIG_ATA_OVER_ETH is not set
389# CONFIG_BLK_DEV_HD is not set
382CONFIG_MISC_DEVICES=y 390CONFIG_MISC_DEVICES=y
383# CONFIG_PHANTOM is not set 391# CONFIG_PHANTOM is not set
384# CONFIG_EEPROM_93CX6 is not set 392# CONFIG_EEPROM_93CX6 is not set
385# CONFIG_SGI_IOC4 is not set 393# CONFIG_SGI_IOC4 is not set
386# CONFIG_TIFM_CORE is not set 394# CONFIG_TIFM_CORE is not set
387# CONFIG_ENCLOSURE_SERVICES is not set 395# CONFIG_ENCLOSURE_SERVICES is not set
396# CONFIG_HP_ILO is not set
388CONFIG_HAVE_IDE=y 397CONFIG_HAVE_IDE=y
389CONFIG_IDE=y 398CONFIG_IDE=y
390CONFIG_IDE_MAX_HWIFS=4
391CONFIG_BLK_DEV_IDE=y 399CONFIG_BLK_DEV_IDE=y
392 400
393# 401#
394# Please see Documentation/ide/ide.txt for help/info on IDE drives 402# Please see Documentation/ide/ide.txt for help/info on IDE drives
395# 403#
404CONFIG_IDE_TIMINGS=y
396# CONFIG_BLK_DEV_IDE_SATA is not set 405# CONFIG_BLK_DEV_IDE_SATA is not set
397# CONFIG_BLK_DEV_IDEDISK is not set 406# CONFIG_BLK_DEV_IDEDISK is not set
398# CONFIG_IDEDISK_MULTI_MODE is not set 407# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -405,7 +414,6 @@ CONFIG_IDE_PROC_FS=y
405# 414#
406# IDE chipset support/bugfixes 415# IDE chipset support/bugfixes
407# 416#
408CONFIG_IDE_GENERIC=y
409# CONFIG_BLK_DEV_PLATFORM is not set 417# CONFIG_BLK_DEV_PLATFORM is not set
410CONFIG_BLK_DEV_IDEDMA_SFF=y 418CONFIG_BLK_DEV_IDEDMA_SFF=y
411 419
@@ -423,10 +431,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
423# CONFIG_BLK_DEV_AMD74XX is not set 431# CONFIG_BLK_DEV_AMD74XX is not set
424# CONFIG_BLK_DEV_CMD64X is not set 432# CONFIG_BLK_DEV_CMD64X is not set
425# CONFIG_BLK_DEV_TRIFLEX is not set 433# CONFIG_BLK_DEV_TRIFLEX is not set
426# CONFIG_BLK_DEV_CY82C693 is not set
427# CONFIG_BLK_DEV_CS5520 is not set 434# CONFIG_BLK_DEV_CS5520 is not set
428# CONFIG_BLK_DEV_CS5530 is not set 435# CONFIG_BLK_DEV_CS5530 is not set
429# CONFIG_BLK_DEV_HPT34X is not set
430# CONFIG_BLK_DEV_HPT366 is not set 436# CONFIG_BLK_DEV_HPT366 is not set
431# CONFIG_BLK_DEV_JMICRON is not set 437# CONFIG_BLK_DEV_JMICRON is not set
432# CONFIG_BLK_DEV_SC1200 is not set 438# CONFIG_BLK_DEV_SC1200 is not set
@@ -444,8 +450,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
444CONFIG_BLK_DEV_VIA82CXXX=y 450CONFIG_BLK_DEV_VIA82CXXX=y
445# CONFIG_BLK_DEV_TC86C001 is not set 451# CONFIG_BLK_DEV_TC86C001 is not set
446CONFIG_BLK_DEV_IDEDMA=y 452CONFIG_BLK_DEV_IDEDMA=y
447# CONFIG_BLK_DEV_HD_ONLY is not set
448# CONFIG_BLK_DEV_HD is not set
449 453
450# 454#
451# SCSI device support 455# SCSI device support
@@ -461,12 +465,15 @@ CONFIG_BLK_DEV_IDEDMA=y
461# 465#
462# IEEE 1394 (FireWire) support 466# IEEE 1394 (FireWire) support
463# 467#
468
469#
470# Enable only one of the two stacks, unless you know what you are doing
471#
464# CONFIG_FIREWIRE is not set 472# CONFIG_FIREWIRE is not set
465# CONFIG_IEEE1394 is not set 473# CONFIG_IEEE1394 is not set
466# CONFIG_I2O is not set 474# CONFIG_I2O is not set
467# CONFIG_MACINTOSH_DRIVERS is not set 475# CONFIG_MACINTOSH_DRIVERS is not set
468CONFIG_NETDEVICES=y 476CONFIG_NETDEVICES=y
469# CONFIG_NETDEVICES_MULTIQUEUE is not set
470# CONFIG_DUMMY is not set 477# CONFIG_DUMMY is not set
471# CONFIG_BONDING is not set 478# CONFIG_BONDING is not set
472# CONFIG_MACVLAN is not set 479# CONFIG_MACVLAN is not set
@@ -509,10 +516,8 @@ CONFIG_NETDEV_1000=y
509# CONFIG_ACENIC is not set 516# CONFIG_ACENIC is not set
510# CONFIG_DL2K is not set 517# CONFIG_DL2K is not set
511CONFIG_E1000=y 518CONFIG_E1000=y
512CONFIG_E1000_NAPI=y
513# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 519# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
514# CONFIG_E1000E is not set 520# CONFIG_E1000E is not set
515# CONFIG_E1000E_ENABLED is not set
516# CONFIG_IP1000 is not set 521# CONFIG_IP1000 is not set
517# CONFIG_IGB is not set 522# CONFIG_IGB is not set
518# CONFIG_NS83820 is not set 523# CONFIG_NS83820 is not set
@@ -526,9 +531,9 @@ CONFIG_E1000_NAPI=y
526# CONFIG_TIGON3 is not set 531# CONFIG_TIGON3 is not set
527# CONFIG_BNX2 is not set 532# CONFIG_BNX2 is not set
528CONFIG_GIANFAR=y 533CONFIG_GIANFAR=y
529CONFIG_GFAR_NAPI=y
530# CONFIG_QLA3XXX is not set 534# CONFIG_QLA3XXX is not set
531# CONFIG_ATL1 is not set 535# CONFIG_ATL1 is not set
536# CONFIG_ATL1E is not set
532CONFIG_NETDEV_10000=y 537CONFIG_NETDEV_10000=y
533# CONFIG_CHELSIO_T1 is not set 538# CONFIG_CHELSIO_T1 is not set
534# CONFIG_CHELSIO_T3 is not set 539# CONFIG_CHELSIO_T3 is not set
@@ -634,6 +639,8 @@ CONFIG_GEN_RTC=y
634CONFIG_DEVPORT=y 639CONFIG_DEVPORT=y
635# CONFIG_I2C is not set 640# CONFIG_I2C is not set
636# CONFIG_SPI is not set 641# CONFIG_SPI is not set
642CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
643# CONFIG_GPIOLIB is not set
637# CONFIG_W1 is not set 644# CONFIG_W1 is not set
638# CONFIG_POWER_SUPPLY is not set 645# CONFIG_POWER_SUPPLY is not set
639CONFIG_HWMON=y 646CONFIG_HWMON=y
@@ -654,6 +661,7 @@ CONFIG_HWMON=y
654# CONFIG_SENSORS_W83627EHF is not set 661# CONFIG_SENSORS_W83627EHF is not set
655# CONFIG_HWMON_DEBUG_CHIP is not set 662# CONFIG_HWMON_DEBUG_CHIP is not set
656# CONFIG_THERMAL is not set 663# CONFIG_THERMAL is not set
664# CONFIG_THERMAL_HWMON is not set
657# CONFIG_WATCHDOG is not set 665# CONFIG_WATCHDOG is not set
658 666
659# 667#
@@ -665,8 +673,10 @@ CONFIG_SSB_POSSIBLE=y
665# 673#
666# Multifunction device drivers 674# Multifunction device drivers
667# 675#
676# CONFIG_MFD_CORE is not set
668# CONFIG_MFD_SM501 is not set 677# CONFIG_MFD_SM501 is not set
669# CONFIG_HTC_PASIC3 is not set 678# CONFIG_HTC_PASIC3 is not set
679# CONFIG_MFD_TMIO is not set
670 680
671# 681#
672# Multimedia devices 682# Multimedia devices
@@ -698,10 +708,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
698# Display device support 708# Display device support
699# 709#
700# CONFIG_DISPLAY_SUPPORT is not set 710# CONFIG_DISPLAY_SUPPORT is not set
701
702#
703# Sound
704#
705# CONFIG_SOUND is not set 711# CONFIG_SOUND is not set
706CONFIG_HID_SUPPORT=y 712CONFIG_HID_SUPPORT=y
707CONFIG_HID=y 713CONFIG_HID=y
@@ -716,6 +722,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
716# CONFIG_USB_OTG_BLACKLIST_HUB is not set 722# CONFIG_USB_OTG_BLACKLIST_HUB is not set
717 723
718# 724#
725# Enable Host or Gadget support to see Inventra options
726#
727
728#
719# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 729# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
720# 730#
721# CONFIG_USB_GADGET is not set 731# CONFIG_USB_GADGET is not set
@@ -793,6 +803,7 @@ CONFIG_TMPFS=y
793# CONFIG_CRAMFS is not set 803# CONFIG_CRAMFS is not set
794# CONFIG_VXFS_FS is not set 804# CONFIG_VXFS_FS is not set
795# CONFIG_MINIX_FS is not set 805# CONFIG_MINIX_FS is not set
806# CONFIG_OMFS_FS is not set
796# CONFIG_HPFS_FS is not set 807# CONFIG_HPFS_FS is not set
797# CONFIG_QNX4FS_FS is not set 808# CONFIG_QNX4FS_FS is not set
798# CONFIG_ROMFS_FS is not set 809# CONFIG_ROMFS_FS is not set
@@ -802,12 +813,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
802CONFIG_NFS_FS=y 813CONFIG_NFS_FS=y
803# CONFIG_NFS_V3 is not set 814# CONFIG_NFS_V3 is not set
804# CONFIG_NFS_V4 is not set 815# CONFIG_NFS_V4 is not set
805# CONFIG_NFSD is not set
806CONFIG_ROOT_NFS=y 816CONFIG_ROOT_NFS=y
817# CONFIG_NFSD is not set
807CONFIG_LOCKD=y 818CONFIG_LOCKD=y
808CONFIG_NFS_COMMON=y 819CONFIG_NFS_COMMON=y
809CONFIG_SUNRPC=y 820CONFIG_SUNRPC=y
810# CONFIG_SUNRPC_BIND34 is not set
811# CONFIG_RPCSEC_GSS_KRB5 is not set 821# CONFIG_RPCSEC_GSS_KRB5 is not set
812# CONFIG_RPCSEC_GSS_SPKM3 is not set 822# CONFIG_RPCSEC_GSS_SPKM3 is not set
813# CONFIG_SMB_FS is not set 823# CONFIG_SMB_FS is not set
@@ -843,6 +853,7 @@ CONFIG_BITREVERSE=y
843# CONFIG_GENERIC_FIND_FIRST_BIT is not set 853# CONFIG_GENERIC_FIND_FIRST_BIT is not set
844# CONFIG_CRC_CCITT is not set 854# CONFIG_CRC_CCITT is not set
845# CONFIG_CRC16 is not set 855# CONFIG_CRC16 is not set
856# CONFIG_CRC_T10DIF is not set
846# CONFIG_CRC_ITU_T is not set 857# CONFIG_CRC_ITU_T is not set
847CONFIG_CRC32=y 858CONFIG_CRC32=y
848# CONFIG_CRC7 is not set 859# CONFIG_CRC7 is not set
@@ -867,6 +878,8 @@ CONFIG_FRAME_WARN=1024
867CONFIG_DEBUG_KERNEL=y 878CONFIG_DEBUG_KERNEL=y
868# CONFIG_DEBUG_SHIRQ is not set 879# CONFIG_DEBUG_SHIRQ is not set
869CONFIG_DETECT_SOFTLOCKUP=y 880CONFIG_DETECT_SOFTLOCKUP=y
881# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
882CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
870CONFIG_SCHED_DEBUG=y 883CONFIG_SCHED_DEBUG=y
871# CONFIG_SCHEDSTATS is not set 884# CONFIG_SCHEDSTATS is not set
872# CONFIG_TIMER_STATS is not set 885# CONFIG_TIMER_STATS is not set
@@ -884,16 +897,29 @@ CONFIG_DEBUG_MUTEXES=y
884# CONFIG_DEBUG_INFO is not set 897# CONFIG_DEBUG_INFO is not set
885# CONFIG_DEBUG_VM is not set 898# CONFIG_DEBUG_VM is not set
886# CONFIG_DEBUG_WRITECOUNT is not set 899# CONFIG_DEBUG_WRITECOUNT is not set
900# CONFIG_DEBUG_MEMORY_INIT is not set
887# CONFIG_DEBUG_LIST is not set 901# CONFIG_DEBUG_LIST is not set
888# CONFIG_DEBUG_SG is not set 902# CONFIG_DEBUG_SG is not set
889# CONFIG_BOOT_PRINTK_DELAY is not set 903# CONFIG_BOOT_PRINTK_DELAY is not set
904# CONFIG_RCU_TORTURE_TEST is not set
890# CONFIG_BACKTRACE_SELF_TEST is not set 905# CONFIG_BACKTRACE_SELF_TEST is not set
891# CONFIG_FAULT_INJECTION is not set 906# CONFIG_FAULT_INJECTION is not set
907# CONFIG_LATENCYTOP is not set
908CONFIG_SYSCTL_SYSCALL_CHECK=y
909CONFIG_HAVE_FTRACE=y
910CONFIG_HAVE_DYNAMIC_FTRACE=y
911# CONFIG_FTRACE is not set
912# CONFIG_SCHED_TRACER is not set
913# CONFIG_CONTEXT_SWITCH_TRACER is not set
892# CONFIG_SAMPLES is not set 914# CONFIG_SAMPLES is not set
915CONFIG_HAVE_ARCH_KGDB=y
916# CONFIG_KGDB is not set
893# CONFIG_DEBUG_STACKOVERFLOW is not set 917# CONFIG_DEBUG_STACKOVERFLOW is not set
894# CONFIG_DEBUG_STACK_USAGE is not set 918# CONFIG_DEBUG_STACK_USAGE is not set
895# CONFIG_DEBUG_PAGEALLOC is not set 919# CONFIG_DEBUG_PAGEALLOC is not set
896# CONFIG_DEBUGGER is not set 920# CONFIG_CODE_PATCHING_SELFTEST is not set
921# CONFIG_FTR_FIXUP_SELFTEST is not set
922# CONFIG_XMON is not set
897# CONFIG_IRQSTACKS is not set 923# CONFIG_IRQSTACKS is not set
898# CONFIG_BDI_SWITCH is not set 924# CONFIG_BDI_SWITCH is not set
899# CONFIG_PPC_EARLY_DEBUG is not set 925# CONFIG_PPC_EARLY_DEBUG is not set
@@ -946,6 +972,10 @@ CONFIG_CRYPTO=y
946# CONFIG_CRYPTO_MD4 is not set 972# CONFIG_CRYPTO_MD4 is not set
947# CONFIG_CRYPTO_MD5 is not set 973# CONFIG_CRYPTO_MD5 is not set
948# CONFIG_CRYPTO_MICHAEL_MIC is not set 974# CONFIG_CRYPTO_MICHAEL_MIC is not set
975# CONFIG_CRYPTO_RMD128 is not set
976# CONFIG_CRYPTO_RMD160 is not set
977# CONFIG_CRYPTO_RMD256 is not set
978# CONFIG_CRYPTO_RMD320 is not set
949# CONFIG_CRYPTO_SHA1 is not set 979# CONFIG_CRYPTO_SHA1 is not set
950# CONFIG_CRYPTO_SHA256 is not set 980# CONFIG_CRYPTO_SHA256 is not set
951# CONFIG_CRYPTO_SHA512 is not set 981# CONFIG_CRYPTO_SHA512 is not set
@@ -978,5 +1008,6 @@ CONFIG_CRYPTO=y
978# CONFIG_CRYPTO_LZO is not set 1008# CONFIG_CRYPTO_LZO is not set
979CONFIG_CRYPTO_HW=y 1009CONFIG_CRYPTO_HW=y
980# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1010# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1011# CONFIG_CRYPTO_DEV_TALITOS is not set
981# CONFIG_PPC_CLOCK is not set 1012# CONFIG_PPC_CLOCK is not set
982# CONFIG_VIRTUALIZATION is not set 1013# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
index 24f7f44b4821..41cedc4b63f6 100644
--- a/arch/powerpc/configs/85xx/sbc8548_defconfig
+++ b/arch/powerpc/configs/85xx/sbc8548_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:37 2008 4# Thu Aug 21 00:52:35 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_EXTRA_PASS is not set 95# CONFIG_KALLSYMS_EXTRA_PASS is not set
95CONFIG_HOTPLUG=y 96CONFIG_HOTPLUG=y
@@ -112,10 +113,16 @@ CONFIG_SLAB=y
112# CONFIG_PROFILING is not set 113# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 114# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 115CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 128# CONFIG_TINY_SHMEM is not set
@@ -126,6 +133,7 @@ CONFIG_BLOCK=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 133# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 134# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 135# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set
129 137
130# 138#
131# IO Schedulers 139# IO Schedulers
@@ -144,8 +152,6 @@ CONFIG_CLASSIC_RCU=y
144# 152#
145# Platform support 153# Platform support
146# 154#
147# CONFIG_PPC_MPC512x is not set
148# CONFIG_PPC_MPC5121 is not set
149# CONFIG_PPC_CELL is not set 155# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 156# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 157# CONFIG_PQ2ADS is not set
@@ -154,11 +160,13 @@ CONFIG_MPC85xx=y
154# CONFIG_MPC8560_ADS is not set 160# CONFIG_MPC8560_ADS is not set
155# CONFIG_MPC85xx_CDS is not set 161# CONFIG_MPC85xx_CDS is not set
156# CONFIG_MPC85xx_MDS is not set 162# CONFIG_MPC85xx_MDS is not set
163# CONFIG_MPC8536_DS is not set
157# CONFIG_MPC85xx_DS is not set 164# CONFIG_MPC85xx_DS is not set
158# CONFIG_KSI8560 is not set 165# CONFIG_KSI8560 is not set
159# CONFIG_STX_GP3 is not set 166# CONFIG_STX_GP3 is not set
160# CONFIG_TQM8540 is not set 167# CONFIG_TQM8540 is not set
161# CONFIG_TQM8541 is not set 168# CONFIG_TQM8541 is not set
169# CONFIG_TQM8548 is not set
162# CONFIG_TQM8555 is not set 170# CONFIG_TQM8555 is not set
163# CONFIG_TQM8560 is not set 171# CONFIG_TQM8560 is not set
164CONFIG_SBC8548=y 172CONFIG_SBC8548=y
@@ -213,6 +221,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
213# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
214CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
215CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y
216# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
217CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
218CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
@@ -220,6 +229,7 @@ CONFIG_VIRT_TO_BUS=y
220CONFIG_FORCE_MAX_ZONEORDER=11 229CONFIG_FORCE_MAX_ZONEORDER=11
221CONFIG_PROC_DEVICETREE=y 230CONFIG_PROC_DEVICETREE=y
222# CONFIG_CMDLINE_BOOL is not set 231# CONFIG_CMDLINE_BOOL is not set
232CONFIG_EXTRA_TARGETS=""
223# CONFIG_PM is not set 233# CONFIG_PM is not set
224# CONFIG_SECCOMP is not set 234# CONFIG_SECCOMP is not set
225CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
@@ -231,6 +241,7 @@ CONFIG_ZONE_DMA=y
231CONFIG_PPC_INDIRECT_PCI=y 241CONFIG_PPC_INDIRECT_PCI=y
232CONFIG_FSL_SOC=y 242CONFIG_FSL_SOC=y
233CONFIG_FSL_PCI=y 243CONFIG_FSL_PCI=y
244CONFIG_PPC_PCI_CHOICE=y
234CONFIG_PCI=y 245CONFIG_PCI=y
235CONFIG_PCI_DOMAINS=y 246CONFIG_PCI_DOMAINS=y
236CONFIG_PCI_SYSCALL=y 247CONFIG_PCI_SYSCALL=y
@@ -256,10 +267,6 @@ CONFIG_KERNEL_START=0xc0000000
256CONFIG_PHYSICAL_START=0x00000000 267CONFIG_PHYSICAL_START=0x00000000
257CONFIG_PHYSICAL_ALIGN=0x10000000 268CONFIG_PHYSICAL_ALIGN=0x10000000
258CONFIG_TASK_SIZE=0xc0000000 269CONFIG_TASK_SIZE=0xc0000000
259
260#
261# Networking
262#
263CONFIG_NET=y 270CONFIG_NET=y
264 271
265# 272#
@@ -374,12 +381,14 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
374# CONFIG_BLK_DEV_XIP is not set 381# CONFIG_BLK_DEV_XIP is not set
375# CONFIG_CDROM_PKTCDVD is not set 382# CONFIG_CDROM_PKTCDVD is not set
376# CONFIG_ATA_OVER_ETH is not set 383# CONFIG_ATA_OVER_ETH is not set
384# CONFIG_BLK_DEV_HD is not set
377CONFIG_MISC_DEVICES=y 385CONFIG_MISC_DEVICES=y
378# CONFIG_PHANTOM is not set 386# CONFIG_PHANTOM is not set
379# CONFIG_EEPROM_93CX6 is not set 387# CONFIG_EEPROM_93CX6 is not set
380# CONFIG_SGI_IOC4 is not set 388# CONFIG_SGI_IOC4 is not set
381# CONFIG_TIFM_CORE is not set 389# CONFIG_TIFM_CORE is not set
382# CONFIG_ENCLOSURE_SERVICES is not set 390# CONFIG_ENCLOSURE_SERVICES is not set
391# CONFIG_HP_ILO is not set
383CONFIG_HAVE_IDE=y 392CONFIG_HAVE_IDE=y
384# CONFIG_IDE is not set 393# CONFIG_IDE is not set
385 394
@@ -397,12 +406,15 @@ CONFIG_HAVE_IDE=y
397# 406#
398# IEEE 1394 (FireWire) support 407# IEEE 1394 (FireWire) support
399# 408#
409
410#
411# Enable only one of the two stacks, unless you know what you are doing
412#
400# CONFIG_FIREWIRE is not set 413# CONFIG_FIREWIRE is not set
401# CONFIG_IEEE1394 is not set 414# CONFIG_IEEE1394 is not set
402# CONFIG_I2O is not set 415# CONFIG_I2O is not set
403# CONFIG_MACINTOSH_DRIVERS is not set 416# CONFIG_MACINTOSH_DRIVERS is not set
404CONFIG_NETDEVICES=y 417CONFIG_NETDEVICES=y
405# CONFIG_NETDEVICES_MULTIQUEUE is not set
406# CONFIG_DUMMY is not set 418# CONFIG_DUMMY is not set
407# CONFIG_BONDING is not set 419# CONFIG_BONDING is not set
408# CONFIG_MACVLAN is not set 420# CONFIG_MACVLAN is not set
@@ -446,7 +458,6 @@ CONFIG_NETDEV_1000=y
446# CONFIG_DL2K is not set 458# CONFIG_DL2K is not set
447# CONFIG_E1000 is not set 459# CONFIG_E1000 is not set
448# CONFIG_E1000E is not set 460# CONFIG_E1000E is not set
449# CONFIG_E1000E_ENABLED is not set
450# CONFIG_IP1000 is not set 461# CONFIG_IP1000 is not set
451# CONFIG_IGB is not set 462# CONFIG_IGB is not set
452# CONFIG_NS83820 is not set 463# CONFIG_NS83820 is not set
@@ -460,9 +471,9 @@ CONFIG_NETDEV_1000=y
460# CONFIG_TIGON3 is not set 471# CONFIG_TIGON3 is not set
461# CONFIG_BNX2 is not set 472# CONFIG_BNX2 is not set
462CONFIG_GIANFAR=y 473CONFIG_GIANFAR=y
463CONFIG_GFAR_NAPI=y
464# CONFIG_QLA3XXX is not set 474# CONFIG_QLA3XXX is not set
465# CONFIG_ATL1 is not set 475# CONFIG_ATL1 is not set
476# CONFIG_ATL1E is not set
466CONFIG_NETDEV_10000=y 477CONFIG_NETDEV_10000=y
467# CONFIG_CHELSIO_T1 is not set 478# CONFIG_CHELSIO_T1 is not set
468# CONFIG_CHELSIO_T3 is not set 479# CONFIG_CHELSIO_T3 is not set
@@ -568,6 +579,8 @@ CONFIG_GEN_RTC=y
568CONFIG_DEVPORT=y 579CONFIG_DEVPORT=y
569# CONFIG_I2C is not set 580# CONFIG_I2C is not set
570# CONFIG_SPI is not set 581# CONFIG_SPI is not set
582CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
583# CONFIG_GPIOLIB is not set
571# CONFIG_W1 is not set 584# CONFIG_W1 is not set
572# CONFIG_POWER_SUPPLY is not set 585# CONFIG_POWER_SUPPLY is not set
573CONFIG_HWMON=y 586CONFIG_HWMON=y
@@ -588,6 +601,7 @@ CONFIG_HWMON=y
588# CONFIG_SENSORS_W83627EHF is not set 601# CONFIG_SENSORS_W83627EHF is not set
589# CONFIG_HWMON_DEBUG_CHIP is not set 602# CONFIG_HWMON_DEBUG_CHIP is not set
590# CONFIG_THERMAL is not set 603# CONFIG_THERMAL is not set
604# CONFIG_THERMAL_HWMON is not set
591# CONFIG_WATCHDOG is not set 605# CONFIG_WATCHDOG is not set
592 606
593# 607#
@@ -599,8 +613,10 @@ CONFIG_SSB_POSSIBLE=y
599# 613#
600# Multifunction device drivers 614# Multifunction device drivers
601# 615#
616# CONFIG_MFD_CORE is not set
602# CONFIG_MFD_SM501 is not set 617# CONFIG_MFD_SM501 is not set
603# CONFIG_HTC_PASIC3 is not set 618# CONFIG_HTC_PASIC3 is not set
619# CONFIG_MFD_TMIO is not set
604 620
605# 621#
606# Multimedia devices 622# Multimedia devices
@@ -632,10 +648,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
632# Display device support 648# Display device support
633# 649#
634# CONFIG_DISPLAY_SUPPORT is not set 650# CONFIG_DISPLAY_SUPPORT is not set
635
636#
637# Sound
638#
639# CONFIG_SOUND is not set 651# CONFIG_SOUND is not set
640# CONFIG_HID_SUPPORT is not set 652# CONFIG_HID_SUPPORT is not set
641# CONFIG_USB_SUPPORT is not set 653# CONFIG_USB_SUPPORT is not set
@@ -706,6 +718,7 @@ CONFIG_TMPFS=y
706# CONFIG_CRAMFS is not set 718# CONFIG_CRAMFS is not set
707# CONFIG_VXFS_FS is not set 719# CONFIG_VXFS_FS is not set
708# CONFIG_MINIX_FS is not set 720# CONFIG_MINIX_FS is not set
721# CONFIG_OMFS_FS is not set
709# CONFIG_HPFS_FS is not set 722# CONFIG_HPFS_FS is not set
710# CONFIG_QNX4FS_FS is not set 723# CONFIG_QNX4FS_FS is not set
711# CONFIG_ROMFS_FS is not set 724# CONFIG_ROMFS_FS is not set
@@ -715,12 +728,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
715CONFIG_NFS_FS=y 728CONFIG_NFS_FS=y
716# CONFIG_NFS_V3 is not set 729# CONFIG_NFS_V3 is not set
717# CONFIG_NFS_V4 is not set 730# CONFIG_NFS_V4 is not set
718# CONFIG_NFSD is not set
719CONFIG_ROOT_NFS=y 731CONFIG_ROOT_NFS=y
732# CONFIG_NFSD is not set
720CONFIG_LOCKD=y 733CONFIG_LOCKD=y
721CONFIG_NFS_COMMON=y 734CONFIG_NFS_COMMON=y
722CONFIG_SUNRPC=y 735CONFIG_SUNRPC=y
723# CONFIG_SUNRPC_BIND34 is not set
724# CONFIG_RPCSEC_GSS_KRB5 is not set 736# CONFIG_RPCSEC_GSS_KRB5 is not set
725# CONFIG_RPCSEC_GSS_SPKM3 is not set 737# CONFIG_RPCSEC_GSS_SPKM3 is not set
726# CONFIG_SMB_FS is not set 738# CONFIG_SMB_FS is not set
@@ -744,6 +756,7 @@ CONFIG_BITREVERSE=y
744# CONFIG_GENERIC_FIND_FIRST_BIT is not set 756# CONFIG_GENERIC_FIND_FIRST_BIT is not set
745# CONFIG_CRC_CCITT is not set 757# CONFIG_CRC_CCITT is not set
746# CONFIG_CRC16 is not set 758# CONFIG_CRC16 is not set
759# CONFIG_CRC_T10DIF is not set
747# CONFIG_CRC_ITU_T is not set 760# CONFIG_CRC_ITU_T is not set
748CONFIG_CRC32=y 761CONFIG_CRC32=y
749# CONFIG_CRC7 is not set 762# CONFIG_CRC7 is not set
@@ -767,7 +780,16 @@ CONFIG_FRAME_WARN=1024
767# CONFIG_HEADERS_CHECK is not set 780# CONFIG_HEADERS_CHECK is not set
768# CONFIG_DEBUG_KERNEL is not set 781# CONFIG_DEBUG_KERNEL is not set
769# CONFIG_DEBUG_BUGVERBOSE is not set 782# CONFIG_DEBUG_BUGVERBOSE is not set
783# CONFIG_DEBUG_MEMORY_INIT is not set
784# CONFIG_LATENCYTOP is not set
785CONFIG_SYSCTL_SYSCALL_CHECK=y
786CONFIG_HAVE_FTRACE=y
787CONFIG_HAVE_DYNAMIC_FTRACE=y
788# CONFIG_FTRACE is not set
789# CONFIG_SCHED_TRACER is not set
790# CONFIG_CONTEXT_SWITCH_TRACER is not set
770# CONFIG_SAMPLES is not set 791# CONFIG_SAMPLES is not set
792CONFIG_HAVE_ARCH_KGDB=y
771# CONFIG_IRQSTACKS is not set 793# CONFIG_IRQSTACKS is not set
772# CONFIG_PPC_EARLY_DEBUG is not set 794# CONFIG_PPC_EARLY_DEBUG is not set
773 795
@@ -819,6 +841,10 @@ CONFIG_CRYPTO=y
819# CONFIG_CRYPTO_MD4 is not set 841# CONFIG_CRYPTO_MD4 is not set
820# CONFIG_CRYPTO_MD5 is not set 842# CONFIG_CRYPTO_MD5 is not set
821# CONFIG_CRYPTO_MICHAEL_MIC is not set 843# CONFIG_CRYPTO_MICHAEL_MIC is not set
844# CONFIG_CRYPTO_RMD128 is not set
845# CONFIG_CRYPTO_RMD160 is not set
846# CONFIG_CRYPTO_RMD256 is not set
847# CONFIG_CRYPTO_RMD320 is not set
822# CONFIG_CRYPTO_SHA1 is not set 848# CONFIG_CRYPTO_SHA1 is not set
823# CONFIG_CRYPTO_SHA256 is not set 849# CONFIG_CRYPTO_SHA256 is not set
824# CONFIG_CRYPTO_SHA512 is not set 850# CONFIG_CRYPTO_SHA512 is not set
@@ -851,5 +877,6 @@ CONFIG_CRYPTO=y
851# CONFIG_CRYPTO_LZO is not set 877# CONFIG_CRYPTO_LZO is not set
852CONFIG_CRYPTO_HW=y 878CONFIG_CRYPTO_HW=y
853# CONFIG_CRYPTO_DEV_HIFN_795X is not set 879# CONFIG_CRYPTO_DEV_HIFN_795X is not set
880# CONFIG_CRYPTO_DEV_TALITOS is not set
854# CONFIG_PPC_CLOCK is not set 881# CONFIG_PPC_CLOCK is not set
855# CONFIG_VIRTUALIZATION is not set 882# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig
index 655518dcd73f..daef36f41b42 100644
--- a/arch/powerpc/configs/85xx/sbc8560_defconfig
+++ b/arch/powerpc/configs/85xx/sbc8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:38 2008 4# Thu Aug 21 00:52:36 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -113,10 +114,16 @@ CONFIG_SLAB=y
113# CONFIG_PROFILING is not set 114# CONFIG_PROFILING is not set
114# CONFIG_MARKERS is not set 115# CONFIG_MARKERS is not set
115CONFIG_HAVE_OPROFILE=y 116CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y
116CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y
118# CONFIG_HAVE_DMA_ATTRS is not set 122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
119CONFIG_PROC_PAGE_MONITOR=y 125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
121CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
122# CONFIG_TINY_SHMEM is not set 129# CONFIG_TINY_SHMEM is not set
@@ -127,6 +134,7 @@ CONFIG_BLOCK=y
127# CONFIG_BLK_DEV_IO_TRACE is not set 134# CONFIG_BLK_DEV_IO_TRACE is not set
128# CONFIG_LSF is not set 135# CONFIG_LSF is not set
129# CONFIG_BLK_DEV_BSG is not set 136# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set
130 138
131# 139#
132# IO Schedulers 140# IO Schedulers
@@ -145,8 +153,6 @@ CONFIG_CLASSIC_RCU=y
145# 153#
146# Platform support 154# Platform support
147# 155#
148# CONFIG_PPC_MPC512x is not set
149# CONFIG_PPC_MPC5121 is not set
150# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
151# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
152# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
@@ -155,11 +161,13 @@ CONFIG_MPC85xx=y
155# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
156# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
157# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
164# CONFIG_MPC8536_DS is not set
158# CONFIG_MPC85xx_DS is not set 165# CONFIG_MPC85xx_DS is not set
159# CONFIG_KSI8560 is not set 166# CONFIG_KSI8560 is not set
160# CONFIG_STX_GP3 is not set 167# CONFIG_STX_GP3 is not set
161# CONFIG_TQM8540 is not set 168# CONFIG_TQM8540 is not set
162# CONFIG_TQM8541 is not set 169# CONFIG_TQM8541 is not set
170# CONFIG_TQM8548 is not set
163# CONFIG_TQM8555 is not set 171# CONFIG_TQM8555 is not set
164# CONFIG_TQM8560 is not set 172# CONFIG_TQM8560 is not set
165# CONFIG_SBC8548 is not set 173# CONFIG_SBC8548 is not set
@@ -214,6 +222,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
214# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
215CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
216CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y
217# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
218CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
219CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
@@ -221,6 +230,7 @@ CONFIG_VIRT_TO_BUS=y
221CONFIG_FORCE_MAX_ZONEORDER=11 230CONFIG_FORCE_MAX_ZONEORDER=11
222CONFIG_PROC_DEVICETREE=y 231CONFIG_PROC_DEVICETREE=y
223# CONFIG_CMDLINE_BOOL is not set 232# CONFIG_CMDLINE_BOOL is not set
233CONFIG_EXTRA_TARGETS=""
224# CONFIG_PM is not set 234# CONFIG_PM is not set
225# CONFIG_SECCOMP is not set 235# CONFIG_SECCOMP is not set
226CONFIG_ISA_DMA_API=y 236CONFIG_ISA_DMA_API=y
@@ -230,6 +240,7 @@ CONFIG_ISA_DMA_API=y
230# 240#
231CONFIG_ZONE_DMA=y 241CONFIG_ZONE_DMA=y
232CONFIG_FSL_SOC=y 242CONFIG_FSL_SOC=y
243CONFIG_PPC_PCI_CHOICE=y
233# CONFIG_PCI is not set 244# CONFIG_PCI is not set
234# CONFIG_PCI_DOMAINS is not set 245# CONFIG_PCI_DOMAINS is not set
235# CONFIG_PCI_SYSCALL is not set 246# CONFIG_PCI_SYSCALL is not set
@@ -251,10 +262,6 @@ CONFIG_KERNEL_START=0xc0000000
251CONFIG_PHYSICAL_START=0x00000000 262CONFIG_PHYSICAL_START=0x00000000
252CONFIG_PHYSICAL_ALIGN=0x10000000 263CONFIG_PHYSICAL_ALIGN=0x10000000
253CONFIG_TASK_SIZE=0xc0000000 264CONFIG_TASK_SIZE=0xc0000000
254
255#
256# Networking
257#
258CONFIG_NET=y 265CONFIG_NET=y
259 266
260# 267#
@@ -366,6 +373,7 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
366# CONFIG_BLK_DEV_XIP is not set 373# CONFIG_BLK_DEV_XIP is not set
367# CONFIG_CDROM_PKTCDVD is not set 374# CONFIG_CDROM_PKTCDVD is not set
368# CONFIG_ATA_OVER_ETH is not set 375# CONFIG_ATA_OVER_ETH is not set
376# CONFIG_BLK_DEV_HD is not set
369CONFIG_MISC_DEVICES=y 377CONFIG_MISC_DEVICES=y
370# CONFIG_EEPROM_93CX6 is not set 378# CONFIG_EEPROM_93CX6 is not set
371# CONFIG_ENCLOSURE_SERVICES is not set 379# CONFIG_ENCLOSURE_SERVICES is not set
@@ -383,7 +391,6 @@ CONFIG_HAVE_IDE=y
383# CONFIG_MD is not set 391# CONFIG_MD is not set
384# CONFIG_MACINTOSH_DRIVERS is not set 392# CONFIG_MACINTOSH_DRIVERS is not set
385CONFIG_NETDEVICES=y 393CONFIG_NETDEVICES=y
386# CONFIG_NETDEVICES_MULTIQUEUE is not set
387# CONFIG_DUMMY is not set 394# CONFIG_DUMMY is not set
388# CONFIG_BONDING is not set 395# CONFIG_BONDING is not set
389# CONFIG_MACVLAN is not set 396# CONFIG_MACVLAN is not set
@@ -415,9 +422,7 @@ CONFIG_MII=y
415# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 422# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
416# CONFIG_B44 is not set 423# CONFIG_B44 is not set
417CONFIG_NETDEV_1000=y 424CONFIG_NETDEV_1000=y
418# CONFIG_E1000E_ENABLED is not set
419CONFIG_GIANFAR=y 425CONFIG_GIANFAR=y
420CONFIG_GFAR_NAPI=y
421CONFIG_NETDEV_10000=y 426CONFIG_NETDEV_10000=y
422 427
423# 428#
@@ -501,6 +506,8 @@ CONFIG_LEGACY_PTY_COUNT=256
501# CONFIG_TCG_TPM is not set 506# CONFIG_TCG_TPM is not set
502# CONFIG_I2C is not set 507# CONFIG_I2C is not set
503# CONFIG_SPI is not set 508# CONFIG_SPI is not set
509CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
510# CONFIG_GPIOLIB is not set
504# CONFIG_W1 is not set 511# CONFIG_W1 is not set
505# CONFIG_POWER_SUPPLY is not set 512# CONFIG_POWER_SUPPLY is not set
506CONFIG_HWMON=y 513CONFIG_HWMON=y
@@ -517,6 +524,7 @@ CONFIG_HWMON=y
517# CONFIG_SENSORS_W83627EHF is not set 524# CONFIG_SENSORS_W83627EHF is not set
518# CONFIG_HWMON_DEBUG_CHIP is not set 525# CONFIG_HWMON_DEBUG_CHIP is not set
519# CONFIG_THERMAL is not set 526# CONFIG_THERMAL is not set
527# CONFIG_THERMAL_HWMON is not set
520# CONFIG_WATCHDOG is not set 528# CONFIG_WATCHDOG is not set
521 529
522# 530#
@@ -528,8 +536,10 @@ CONFIG_SSB_POSSIBLE=y
528# 536#
529# Multifunction device drivers 537# Multifunction device drivers
530# 538#
539# CONFIG_MFD_CORE is not set
531# CONFIG_MFD_SM501 is not set 540# CONFIG_MFD_SM501 is not set
532# CONFIG_HTC_PASIC3 is not set 541# CONFIG_HTC_PASIC3 is not set
542# CONFIG_MFD_TMIO is not set
533 543
534# 544#
535# Multimedia devices 545# Multimedia devices
@@ -559,10 +569,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
559# Display device support 569# Display device support
560# 570#
561# CONFIG_DISPLAY_SUPPORT is not set 571# CONFIG_DISPLAY_SUPPORT is not set
562
563#
564# Sound
565#
566# CONFIG_SOUND is not set 572# CONFIG_SOUND is not set
567CONFIG_HID_SUPPORT=y 573CONFIG_HID_SUPPORT=y
568CONFIG_HID=y 574CONFIG_HID=y
@@ -576,6 +582,10 @@ CONFIG_USB_SUPPORT=y
576# CONFIG_USB_OTG_BLACKLIST_HUB is not set 582# CONFIG_USB_OTG_BLACKLIST_HUB is not set
577 583
578# 584#
585# Enable Host or Gadget support to see Inventra options
586#
587
588#
579# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 589# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
580# 590#
581# CONFIG_USB_GADGET is not set 591# CONFIG_USB_GADGET is not set
@@ -679,6 +689,7 @@ CONFIG_TMPFS=y
679# CONFIG_CRAMFS is not set 689# CONFIG_CRAMFS is not set
680# CONFIG_VXFS_FS is not set 690# CONFIG_VXFS_FS is not set
681# CONFIG_MINIX_FS is not set 691# CONFIG_MINIX_FS is not set
692# CONFIG_OMFS_FS is not set
682# CONFIG_HPFS_FS is not set 693# CONFIG_HPFS_FS is not set
683# CONFIG_QNX4FS_FS is not set 694# CONFIG_QNX4FS_FS is not set
684# CONFIG_ROMFS_FS is not set 695# CONFIG_ROMFS_FS is not set
@@ -688,12 +699,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
688CONFIG_NFS_FS=y 699CONFIG_NFS_FS=y
689# CONFIG_NFS_V3 is not set 700# CONFIG_NFS_V3 is not set
690# CONFIG_NFS_V4 is not set 701# CONFIG_NFS_V4 is not set
691# CONFIG_NFSD is not set
692CONFIG_ROOT_NFS=y 702CONFIG_ROOT_NFS=y
703# CONFIG_NFSD is not set
693CONFIG_LOCKD=y 704CONFIG_LOCKD=y
694CONFIG_NFS_COMMON=y 705CONFIG_NFS_COMMON=y
695CONFIG_SUNRPC=y 706CONFIG_SUNRPC=y
696# CONFIG_SUNRPC_BIND34 is not set
697# CONFIG_RPCSEC_GSS_KRB5 is not set 707# CONFIG_RPCSEC_GSS_KRB5 is not set
698# CONFIG_RPCSEC_GSS_SPKM3 is not set 708# CONFIG_RPCSEC_GSS_SPKM3 is not set
699# CONFIG_SMB_FS is not set 709# CONFIG_SMB_FS is not set
@@ -729,6 +739,7 @@ CONFIG_BITREVERSE=y
729# CONFIG_GENERIC_FIND_FIRST_BIT is not set 739# CONFIG_GENERIC_FIND_FIRST_BIT is not set
730# CONFIG_CRC_CCITT is not set 740# CONFIG_CRC_CCITT is not set
731# CONFIG_CRC16 is not set 741# CONFIG_CRC16 is not set
742# CONFIG_CRC_T10DIF is not set
732# CONFIG_CRC_ITU_T is not set 743# CONFIG_CRC_ITU_T is not set
733CONFIG_CRC32=y 744CONFIG_CRC32=y
734# CONFIG_CRC7 is not set 745# CONFIG_CRC7 is not set
@@ -753,6 +764,8 @@ CONFIG_MAGIC_SYSRQ=y
753CONFIG_DEBUG_KERNEL=y 764CONFIG_DEBUG_KERNEL=y
754# CONFIG_DEBUG_SHIRQ is not set 765# CONFIG_DEBUG_SHIRQ is not set
755CONFIG_DETECT_SOFTLOCKUP=y 766CONFIG_DETECT_SOFTLOCKUP=y
767# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
768CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
756CONFIG_SCHED_DEBUG=y 769CONFIG_SCHED_DEBUG=y
757# CONFIG_SCHEDSTATS is not set 770# CONFIG_SCHEDSTATS is not set
758# CONFIG_TIMER_STATS is not set 771# CONFIG_TIMER_STATS is not set
@@ -769,16 +782,29 @@ CONFIG_DEBUG_MUTEXES=y
769# CONFIG_DEBUG_INFO is not set 782# CONFIG_DEBUG_INFO is not set
770# CONFIG_DEBUG_VM is not set 783# CONFIG_DEBUG_VM is not set
771# CONFIG_DEBUG_WRITECOUNT is not set 784# CONFIG_DEBUG_WRITECOUNT is not set
785# CONFIG_DEBUG_MEMORY_INIT is not set
772# CONFIG_DEBUG_LIST is not set 786# CONFIG_DEBUG_LIST is not set
773# CONFIG_DEBUG_SG is not set 787# CONFIG_DEBUG_SG is not set
774# CONFIG_BOOT_PRINTK_DELAY is not set 788# CONFIG_BOOT_PRINTK_DELAY is not set
789# CONFIG_RCU_TORTURE_TEST is not set
775# CONFIG_BACKTRACE_SELF_TEST is not set 790# CONFIG_BACKTRACE_SELF_TEST is not set
776# CONFIG_FAULT_INJECTION is not set 791# CONFIG_FAULT_INJECTION is not set
792# CONFIG_LATENCYTOP is not set
793CONFIG_SYSCTL_SYSCALL_CHECK=y
794CONFIG_HAVE_FTRACE=y
795CONFIG_HAVE_DYNAMIC_FTRACE=y
796# CONFIG_FTRACE is not set
797# CONFIG_SCHED_TRACER is not set
798# CONFIG_CONTEXT_SWITCH_TRACER is not set
777# CONFIG_SAMPLES is not set 799# CONFIG_SAMPLES is not set
800CONFIG_HAVE_ARCH_KGDB=y
801# CONFIG_KGDB is not set
778# CONFIG_DEBUG_STACKOVERFLOW is not set 802# CONFIG_DEBUG_STACKOVERFLOW is not set
779# CONFIG_DEBUG_STACK_USAGE is not set 803# CONFIG_DEBUG_STACK_USAGE is not set
780# CONFIG_DEBUG_PAGEALLOC is not set 804# CONFIG_DEBUG_PAGEALLOC is not set
781# CONFIG_DEBUGGER is not set 805# CONFIG_CODE_PATCHING_SELFTEST is not set
806# CONFIG_FTR_FIXUP_SELFTEST is not set
807# CONFIG_XMON is not set
782# CONFIG_IRQSTACKS is not set 808# CONFIG_IRQSTACKS is not set
783# CONFIG_BDI_SWITCH is not set 809# CONFIG_BDI_SWITCH is not set
784CONFIG_PPC_EARLY_DEBUG=y 810CONFIG_PPC_EARLY_DEBUG=y
@@ -842,6 +868,10 @@ CONFIG_CRYPTO=y
842# CONFIG_CRYPTO_MD4 is not set 868# CONFIG_CRYPTO_MD4 is not set
843# CONFIG_CRYPTO_MD5 is not set 869# CONFIG_CRYPTO_MD5 is not set
844# CONFIG_CRYPTO_MICHAEL_MIC is not set 870# CONFIG_CRYPTO_MICHAEL_MIC is not set
871# CONFIG_CRYPTO_RMD128 is not set
872# CONFIG_CRYPTO_RMD160 is not set
873# CONFIG_CRYPTO_RMD256 is not set
874# CONFIG_CRYPTO_RMD320 is not set
845# CONFIG_CRYPTO_SHA1 is not set 875# CONFIG_CRYPTO_SHA1 is not set
846# CONFIG_CRYPTO_SHA256 is not set 876# CONFIG_CRYPTO_SHA256 is not set
847# CONFIG_CRYPTO_SHA512 is not set 877# CONFIG_CRYPTO_SHA512 is not set
@@ -873,5 +903,6 @@ CONFIG_CRYPTO=y
873# CONFIG_CRYPTO_DEFLATE is not set 903# CONFIG_CRYPTO_DEFLATE is not set
874# CONFIG_CRYPTO_LZO is not set 904# CONFIG_CRYPTO_LZO is not set
875CONFIG_CRYPTO_HW=y 905CONFIG_CRYPTO_HW=y
906# CONFIG_CRYPTO_DEV_TALITOS is not set
876# CONFIG_PPC_CLOCK is not set 907# CONFIG_PPC_CLOCK is not set
877# CONFIG_VIRTUALIZATION is not set 908# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
index 7804ca1ecc94..2b05d43f8f7e 100644
--- a/arch/powerpc/configs/85xx/stx_gp3_defconfig
+++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:38 2008 4# Thu Aug 21 00:52:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -89,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93CONFIG_KALLSYMS=y 95CONFIG_KALLSYMS=y
94# CONFIG_KALLSYMS_ALL is not set 96# CONFIG_KALLSYMS_ALL is not set
95# CONFIG_KALLSYMS_EXTRA_PASS is not set 97# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -115,10 +117,16 @@ CONFIG_SLUB=y
115# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
116CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set 119# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set 125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127CONFIG_HAVE_CLK=y
121CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
123CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
124# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -134,6 +142,7 @@ CONFIG_BLOCK=y
134# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
135# CONFIG_LSF is not set 143# CONFIG_LSF is not set
136# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
137 146
138# 147#
139# IO Schedulers 148# IO Schedulers
@@ -152,8 +161,6 @@ CONFIG_CLASSIC_RCU=y
152# 161#
153# Platform support 162# Platform support
154# 163#
155# CONFIG_PPC_MPC512x is not set
156# CONFIG_PPC_MPC5121 is not set
157# CONFIG_PPC_CELL is not set 164# CONFIG_PPC_CELL is not set
158# CONFIG_PPC_CELL_NATIVE is not set 165# CONFIG_PPC_CELL_NATIVE is not set
159# CONFIG_PQ2ADS is not set 166# CONFIG_PQ2ADS is not set
@@ -162,11 +169,13 @@ CONFIG_MPC85xx=y
162# CONFIG_MPC8560_ADS is not set 169# CONFIG_MPC8560_ADS is not set
163# CONFIG_MPC85xx_CDS is not set 170# CONFIG_MPC85xx_CDS is not set
164# CONFIG_MPC85xx_MDS is not set 171# CONFIG_MPC85xx_MDS is not set
172# CONFIG_MPC8536_DS is not set
165# CONFIG_MPC85xx_DS is not set 173# CONFIG_MPC85xx_DS is not set
166# CONFIG_KSI8560 is not set 174# CONFIG_KSI8560 is not set
167CONFIG_STX_GP3=y 175CONFIG_STX_GP3=y
168# CONFIG_TQM8540 is not set 176# CONFIG_TQM8540 is not set
169# CONFIG_TQM8541 is not set 177# CONFIG_TQM8541 is not set
178# CONFIG_TQM8548 is not set
170# CONFIG_TQM8555 is not set 179# CONFIG_TQM8555 is not set
171# CONFIG_TQM8560 is not set 180# CONFIG_TQM8560 is not set
172# CONFIG_SBC8548 is not set 181# CONFIG_SBC8548 is not set
@@ -183,7 +192,6 @@ CONFIG_MPIC=y
183# CONFIG_GENERIC_IOMAP is not set 192# CONFIG_GENERIC_IOMAP is not set
184# CONFIG_CPU_FREQ is not set 193# CONFIG_CPU_FREQ is not set
185CONFIG_CPM2=y 194CONFIG_CPM2=y
186CONFIG_PPC_CPM_NEW_BINDING=y
187# CONFIG_FSL_ULI1575 is not set 195# CONFIG_FSL_ULI1575 is not set
188CONFIG_CPM=y 196CONFIG_CPM=y
189 197
@@ -223,6 +231,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
234CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 236CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 237CONFIG_BOUNCE=y
@@ -230,6 +239,7 @@ CONFIG_VIRT_TO_BUS=y
230CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
231CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
232# CONFIG_CMDLINE_BOOL is not set 241# CONFIG_CMDLINE_BOOL is not set
242CONFIG_EXTRA_TARGETS=""
233# CONFIG_PM is not set 243# CONFIG_PM is not set
234CONFIG_SECCOMP=y 244CONFIG_SECCOMP=y
235CONFIG_ISA_DMA_API=y 245CONFIG_ISA_DMA_API=y
@@ -241,6 +251,7 @@ CONFIG_ZONE_DMA=y
241CONFIG_PPC_INDIRECT_PCI=y 251CONFIG_PPC_INDIRECT_PCI=y
242CONFIG_FSL_SOC=y 252CONFIG_FSL_SOC=y
243CONFIG_FSL_PCI=y 253CONFIG_FSL_PCI=y
254CONFIG_PPC_PCI_CHOICE=y
244CONFIG_PCI=y 255CONFIG_PCI=y
245CONFIG_PCI_DOMAINS=y 256CONFIG_PCI_DOMAINS=y
246CONFIG_PCI_SYSCALL=y 257CONFIG_PCI_SYSCALL=y
@@ -267,10 +278,6 @@ CONFIG_KERNEL_START=0xc0000000
267CONFIG_PHYSICAL_START=0x00000000 278CONFIG_PHYSICAL_START=0x00000000
268CONFIG_PHYSICAL_ALIGN=0x10000000 279CONFIG_PHYSICAL_ALIGN=0x10000000
269CONFIG_TASK_SIZE=0xc0000000 280CONFIG_TASK_SIZE=0xc0000000
270
271#
272# Networking
273#
274CONFIG_NET=y 281CONFIG_NET=y
275 282
276# 283#
@@ -426,6 +433,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
426# CONFIG_CONNECTOR is not set 433# CONFIG_CONNECTOR is not set
427# CONFIG_MTD is not set 434# CONFIG_MTD is not set
428CONFIG_OF_DEVICE=y 435CONFIG_OF_DEVICE=y
436CONFIG_OF_GPIO=y
429CONFIG_OF_I2C=m 437CONFIG_OF_I2C=m
430CONFIG_PARPORT=m 438CONFIG_PARPORT=m
431CONFIG_PARPORT_PC=m 439CONFIG_PARPORT_PC=m
@@ -452,15 +460,16 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
452# CONFIG_BLK_DEV_XIP is not set 460# CONFIG_BLK_DEV_XIP is not set
453# CONFIG_CDROM_PKTCDVD is not set 461# CONFIG_CDROM_PKTCDVD is not set
454# CONFIG_ATA_OVER_ETH is not set 462# CONFIG_ATA_OVER_ETH is not set
463# CONFIG_BLK_DEV_HD is not set
455CONFIG_MISC_DEVICES=y 464CONFIG_MISC_DEVICES=y
456# CONFIG_PHANTOM is not set 465# CONFIG_PHANTOM is not set
457# CONFIG_EEPROM_93CX6 is not set 466# CONFIG_EEPROM_93CX6 is not set
458# CONFIG_SGI_IOC4 is not set 467# CONFIG_SGI_IOC4 is not set
459# CONFIG_TIFM_CORE is not set 468# CONFIG_TIFM_CORE is not set
460# CONFIG_ENCLOSURE_SERVICES is not set 469# CONFIG_ENCLOSURE_SERVICES is not set
470# CONFIG_HP_ILO is not set
461CONFIG_HAVE_IDE=y 471CONFIG_HAVE_IDE=y
462CONFIG_IDE=y 472CONFIG_IDE=y
463CONFIG_IDE_MAX_HWIFS=4
464CONFIG_BLK_DEV_IDE=y 473CONFIG_BLK_DEV_IDE=y
465 474
466# 475#
@@ -480,7 +489,6 @@ CONFIG_IDE_PROC_FS=y
480# 489#
481# IDE chipset support/bugfixes 490# IDE chipset support/bugfixes
482# 491#
483CONFIG_IDE_GENERIC=y
484# CONFIG_BLK_DEV_PLATFORM is not set 492# CONFIG_BLK_DEV_PLATFORM is not set
485 493
486# 494#
@@ -493,10 +501,8 @@ CONFIG_IDE_GENERIC=y
493# CONFIG_BLK_DEV_AMD74XX is not set 501# CONFIG_BLK_DEV_AMD74XX is not set
494# CONFIG_BLK_DEV_CMD64X is not set 502# CONFIG_BLK_DEV_CMD64X is not set
495# CONFIG_BLK_DEV_TRIFLEX is not set 503# CONFIG_BLK_DEV_TRIFLEX is not set
496# CONFIG_BLK_DEV_CY82C693 is not set
497# CONFIG_BLK_DEV_CS5520 is not set 504# CONFIG_BLK_DEV_CS5520 is not set
498# CONFIG_BLK_DEV_CS5530 is not set 505# CONFIG_BLK_DEV_CS5530 is not set
499# CONFIG_BLK_DEV_HPT34X is not set
500# CONFIG_BLK_DEV_HPT366 is not set 506# CONFIG_BLK_DEV_HPT366 is not set
501# CONFIG_BLK_DEV_JMICRON is not set 507# CONFIG_BLK_DEV_JMICRON is not set
502# CONFIG_BLK_DEV_SC1200 is not set 508# CONFIG_BLK_DEV_SC1200 is not set
@@ -514,8 +520,6 @@ CONFIG_IDE_GENERIC=y
514# CONFIG_BLK_DEV_VIA82CXXX is not set 520# CONFIG_BLK_DEV_VIA82CXXX is not set
515# CONFIG_BLK_DEV_TC86C001 is not set 521# CONFIG_BLK_DEV_TC86C001 is not set
516# CONFIG_BLK_DEV_IDEDMA is not set 522# CONFIG_BLK_DEV_IDEDMA is not set
517# CONFIG_BLK_DEV_HD_ONLY is not set
518# CONFIG_BLK_DEV_HD is not set
519 523
520# 524#
521# SCSI device support 525# SCSI device support
@@ -594,6 +598,7 @@ CONFIG_SCSI_LOWLEVEL=y
594# CONFIG_SCSI_NSP32 is not set 598# CONFIG_SCSI_NSP32 is not set
595# CONFIG_SCSI_DEBUG is not set 599# CONFIG_SCSI_DEBUG is not set
596# CONFIG_SCSI_SRP is not set 600# CONFIG_SCSI_SRP is not set
601# CONFIG_SCSI_DH is not set
597# CONFIG_ATA is not set 602# CONFIG_ATA is not set
598# CONFIG_MD is not set 603# CONFIG_MD is not set
599# CONFIG_FUSION is not set 604# CONFIG_FUSION is not set
@@ -601,12 +606,15 @@ CONFIG_SCSI_LOWLEVEL=y
601# 606#
602# IEEE 1394 (FireWire) support 607# IEEE 1394 (FireWire) support
603# 608#
609
610#
611# Enable only one of the two stacks, unless you know what you are doing
612#
604# CONFIG_FIREWIRE is not set 613# CONFIG_FIREWIRE is not set
605# CONFIG_IEEE1394 is not set 614# CONFIG_IEEE1394 is not set
606# CONFIG_I2O is not set 615# CONFIG_I2O is not set
607# CONFIG_MACINTOSH_DRIVERS is not set 616# CONFIG_MACINTOSH_DRIVERS is not set
608CONFIG_NETDEVICES=y 617CONFIG_NETDEVICES=y
609# CONFIG_NETDEVICES_MULTIQUEUE is not set
610# CONFIG_DUMMY is not set 618# CONFIG_DUMMY is not set
611# CONFIG_BONDING is not set 619# CONFIG_BONDING is not set
612# CONFIG_MACVLAN is not set 620# CONFIG_MACVLAN is not set
@@ -652,7 +660,6 @@ CONFIG_NETDEV_1000=y
652# CONFIG_DL2K is not set 660# CONFIG_DL2K is not set
653# CONFIG_E1000 is not set 661# CONFIG_E1000 is not set
654# CONFIG_E1000E is not set 662# CONFIG_E1000E is not set
655# CONFIG_E1000E_ENABLED is not set
656# CONFIG_IP1000 is not set 663# CONFIG_IP1000 is not set
657# CONFIG_IGB is not set 664# CONFIG_IGB is not set
658# CONFIG_NS83820 is not set 665# CONFIG_NS83820 is not set
@@ -666,9 +673,9 @@ CONFIG_NETDEV_1000=y
666# CONFIG_TIGON3 is not set 673# CONFIG_TIGON3 is not set
667# CONFIG_BNX2 is not set 674# CONFIG_BNX2 is not set
668CONFIG_GIANFAR=y 675CONFIG_GIANFAR=y
669CONFIG_GFAR_NAPI=y
670# CONFIG_QLA3XXX is not set 676# CONFIG_QLA3XXX is not set
671# CONFIG_ATL1 is not set 677# CONFIG_ATL1 is not set
678# CONFIG_ATL1E is not set
672CONFIG_NETDEV_10000=y 679CONFIG_NETDEV_10000=y
673# CONFIG_CHELSIO_T1 is not set 680# CONFIG_CHELSIO_T1 is not set
674# CONFIG_CHELSIO_T3 is not set 681# CONFIG_CHELSIO_T3 is not set
@@ -731,6 +738,7 @@ CONFIG_KEYBOARD_ATKBD=y
731# CONFIG_KEYBOARD_XTKBD is not set 738# CONFIG_KEYBOARD_XTKBD is not set
732# CONFIG_KEYBOARD_NEWTON is not set 739# CONFIG_KEYBOARD_NEWTON is not set
733# CONFIG_KEYBOARD_STOWAWAY is not set 740# CONFIG_KEYBOARD_STOWAWAY is not set
741# CONFIG_KEYBOARD_GPIO is not set
734CONFIG_INPUT_MOUSE=y 742CONFIG_INPUT_MOUSE=y
735CONFIG_MOUSE_PS2=y 743CONFIG_MOUSE_PS2=y
736CONFIG_MOUSE_PS2_ALPS=y 744CONFIG_MOUSE_PS2_ALPS=y
@@ -741,7 +749,9 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
741# CONFIG_MOUSE_PS2_TOUCHKIT is not set 749# CONFIG_MOUSE_PS2_TOUCHKIT is not set
742# CONFIG_MOUSE_SERIAL is not set 750# CONFIG_MOUSE_SERIAL is not set
743# CONFIG_MOUSE_APPLETOUCH is not set 751# CONFIG_MOUSE_APPLETOUCH is not set
752# CONFIG_MOUSE_BCM5974 is not set
744# CONFIG_MOUSE_VSXXXAA is not set 753# CONFIG_MOUSE_VSXXXAA is not set
754# CONFIG_MOUSE_GPIO is not set
745# CONFIG_INPUT_JOYSTICK is not set 755# CONFIG_INPUT_JOYSTICK is not set
746# CONFIG_INPUT_TABLET is not set 756# CONFIG_INPUT_TABLET is not set
747# CONFIG_INPUT_TOUCHSCREEN is not set 757# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -757,6 +767,7 @@ CONFIG_SERIO_SERPORT=y
757# CONFIG_SERIO_PCIPS2 is not set 767# CONFIG_SERIO_PCIPS2 is not set
758CONFIG_SERIO_LIBPS2=y 768CONFIG_SERIO_LIBPS2=y
759# CONFIG_SERIO_RAW is not set 769# CONFIG_SERIO_RAW is not set
770# CONFIG_SERIO_XILINX_XPS_PS2 is not set
760# CONFIG_GAMEPORT is not set 771# CONFIG_GAMEPORT is not set
761 772
762# 773#
@@ -805,44 +816,68 @@ CONFIG_DEVPORT=y
805CONFIG_I2C=m 816CONFIG_I2C=m
806CONFIG_I2C_BOARDINFO=y 817CONFIG_I2C_BOARDINFO=y
807CONFIG_I2C_CHARDEV=m 818CONFIG_I2C_CHARDEV=m
819CONFIG_I2C_HELPER_AUTO=y
808 820
809# 821#
810# I2C Hardware Bus support 822# I2C Hardware Bus support
811# 823#
824
825#
826# PC SMBus host controller drivers
827#
812# CONFIG_I2C_ALI1535 is not set 828# CONFIG_I2C_ALI1535 is not set
813# CONFIG_I2C_ALI1563 is not set 829# CONFIG_I2C_ALI1563 is not set
814# CONFIG_I2C_ALI15X3 is not set 830# CONFIG_I2C_ALI15X3 is not set
815# CONFIG_I2C_AMD756 is not set 831# CONFIG_I2C_AMD756 is not set
816# CONFIG_I2C_AMD8111 is not set 832# CONFIG_I2C_AMD8111 is not set
817# CONFIG_I2C_I801 is not set 833# CONFIG_I2C_I801 is not set
818# CONFIG_I2C_I810 is not set 834# CONFIG_I2C_ISCH is not set
819# CONFIG_I2C_PIIX4 is not set 835# CONFIG_I2C_PIIX4 is not set
820# CONFIG_I2C_MPC is not set
821# CONFIG_I2C_NFORCE2 is not set 836# CONFIG_I2C_NFORCE2 is not set
822# CONFIG_I2C_OCORES is not set
823# CONFIG_I2C_PARPORT is not set
824# CONFIG_I2C_PARPORT_LIGHT is not set
825# CONFIG_I2C_PROSAVAGE is not set
826# CONFIG_I2C_SAVAGE4 is not set
827# CONFIG_I2C_SIMTEC is not set
828# CONFIG_I2C_SIS5595 is not set 837# CONFIG_I2C_SIS5595 is not set
829# CONFIG_I2C_SIS630 is not set 838# CONFIG_I2C_SIS630 is not set
830# CONFIG_I2C_SIS96X is not set 839# CONFIG_I2C_SIS96X is not set
831# CONFIG_I2C_TAOS_EVM is not set
832# CONFIG_I2C_STUB is not set
833# CONFIG_I2C_VIA is not set 840# CONFIG_I2C_VIA is not set
834# CONFIG_I2C_VIAPRO is not set 841# CONFIG_I2C_VIAPRO is not set
842
843#
844# I2C system bus drivers (mostly embedded / system-on-chip)
845#
846# CONFIG_I2C_CPM is not set
847# CONFIG_I2C_GPIO is not set
848# CONFIG_I2C_MPC is not set
849# CONFIG_I2C_OCORES is not set
850# CONFIG_I2C_SIMTEC is not set
851
852#
853# External I2C/SMBus adapter drivers
854#
855# CONFIG_I2C_PARPORT is not set
856# CONFIG_I2C_PARPORT_LIGHT is not set
857# CONFIG_I2C_TAOS_EVM is not set
858
859#
860# Graphics adapter I2C/DDC channel drivers
861#
835# CONFIG_I2C_VOODOO3 is not set 862# CONFIG_I2C_VOODOO3 is not set
863
864#
865# Other I2C/SMBus bus drivers
866#
836# CONFIG_I2C_PCA_PLATFORM is not set 867# CONFIG_I2C_PCA_PLATFORM is not set
868# CONFIG_I2C_STUB is not set
837 869
838# 870#
839# Miscellaneous I2C Chip support 871# Miscellaneous I2C Chip support
840# 872#
841# CONFIG_DS1682 is not set 873# CONFIG_DS1682 is not set
874# CONFIG_AT24 is not set
842# CONFIG_SENSORS_EEPROM is not set 875# CONFIG_SENSORS_EEPROM is not set
843# CONFIG_SENSORS_PCF8574 is not set 876# CONFIG_SENSORS_PCF8574 is not set
844# CONFIG_PCF8575 is not set 877# CONFIG_PCF8575 is not set
878# CONFIG_SENSORS_PCA9539 is not set
845# CONFIG_SENSORS_PCF8591 is not set 879# CONFIG_SENSORS_PCF8591 is not set
880# CONFIG_TPS65010 is not set
846# CONFIG_SENSORS_MAX6875 is not set 881# CONFIG_SENSORS_MAX6875 is not set
847# CONFIG_SENSORS_TSL2550 is not set 882# CONFIG_SENSORS_TSL2550 is not set
848# CONFIG_I2C_DEBUG_CORE is not set 883# CONFIG_I2C_DEBUG_CORE is not set
@@ -850,10 +885,32 @@ CONFIG_I2C_CHARDEV=m
850# CONFIG_I2C_DEBUG_BUS is not set 885# CONFIG_I2C_DEBUG_BUS is not set
851# CONFIG_I2C_DEBUG_CHIP is not set 886# CONFIG_I2C_DEBUG_CHIP is not set
852# CONFIG_SPI is not set 887# CONFIG_SPI is not set
888CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
889CONFIG_ARCH_REQUIRE_GPIOLIB=y
890CONFIG_GPIOLIB=y
891# CONFIG_DEBUG_GPIO is not set
892# CONFIG_GPIO_SYSFS is not set
893
894#
895# I2C GPIO expanders:
896#
897# CONFIG_GPIO_MAX732X is not set
898# CONFIG_GPIO_PCA953X is not set
899# CONFIG_GPIO_PCF857X is not set
900
901#
902# PCI GPIO expanders:
903#
904# CONFIG_GPIO_BT8XX is not set
905
906#
907# SPI GPIO expanders:
908#
853# CONFIG_W1 is not set 909# CONFIG_W1 is not set
854# CONFIG_POWER_SUPPLY is not set 910# CONFIG_POWER_SUPPLY is not set
855CONFIG_HWMON=y 911CONFIG_HWMON=y
856# CONFIG_HWMON_VID is not set 912# CONFIG_HWMON_VID is not set
913# CONFIG_SENSORS_AD7414 is not set
857# CONFIG_SENSORS_AD7418 is not set 914# CONFIG_SENSORS_AD7418 is not set
858# CONFIG_SENSORS_ADM1021 is not set 915# CONFIG_SENSORS_ADM1021 is not set
859# CONFIG_SENSORS_ADM1025 is not set 916# CONFIG_SENSORS_ADM1025 is not set
@@ -907,6 +964,7 @@ CONFIG_HWMON=y
907# CONFIG_SENSORS_W83627EHF is not set 964# CONFIG_SENSORS_W83627EHF is not set
908# CONFIG_HWMON_DEBUG_CHIP is not set 965# CONFIG_HWMON_DEBUG_CHIP is not set
909# CONFIG_THERMAL is not set 966# CONFIG_THERMAL is not set
967# CONFIG_THERMAL_HWMON is not set
910# CONFIG_WATCHDOG is not set 968# CONFIG_WATCHDOG is not set
911 969
912# 970#
@@ -918,8 +976,10 @@ CONFIG_SSB_POSSIBLE=y
918# 976#
919# Multifunction device drivers 977# Multifunction device drivers
920# 978#
979# CONFIG_MFD_CORE is not set
921# CONFIG_MFD_SM501 is not set 980# CONFIG_MFD_SM501 is not set
922# CONFIG_HTC_PASIC3 is not set 981# CONFIG_HTC_PASIC3 is not set
982# CONFIG_MFD_TMIO is not set
923 983
924# 984#
925# Multimedia devices 985# Multimedia devices
@@ -958,20 +1018,8 @@ CONFIG_DRM=m
958# Display device support 1018# Display device support
959# 1019#
960# CONFIG_DISPLAY_SUPPORT is not set 1020# CONFIG_DISPLAY_SUPPORT is not set
961
962#
963# Sound
964#
965CONFIG_SOUND=m 1021CONFIG_SOUND=m
966
967#
968# Advanced Linux Sound Architecture
969#
970# CONFIG_SND is not set 1022# CONFIG_SND is not set
971
972#
973# Open Sound System
974#
975# CONFIG_SOUND_PRIME is not set 1023# CONFIG_SOUND_PRIME is not set
976CONFIG_HID_SUPPORT=y 1024CONFIG_HID_SUPPORT=y
977CONFIG_HID=y 1025CONFIG_HID=y
@@ -986,6 +1034,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
986# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1034# CONFIG_USB_OTG_BLACKLIST_HUB is not set
987 1035
988# 1036#
1037# Enable Host or Gadget support to see Inventra options
1038#
1039
1040#
989# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1041# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
990# 1042#
991# CONFIG_USB_GADGET is not set 1043# CONFIG_USB_GADGET is not set
@@ -1070,6 +1122,7 @@ CONFIG_TMPFS=y
1070CONFIG_CRAMFS=m 1122CONFIG_CRAMFS=m
1071# CONFIG_VXFS_FS is not set 1123# CONFIG_VXFS_FS is not set
1072# CONFIG_MINIX_FS is not set 1124# CONFIG_MINIX_FS is not set
1125# CONFIG_OMFS_FS is not set
1073# CONFIG_HPFS_FS is not set 1126# CONFIG_HPFS_FS is not set
1074# CONFIG_QNX4FS_FS is not set 1127# CONFIG_QNX4FS_FS is not set
1075# CONFIG_ROMFS_FS is not set 1128# CONFIG_ROMFS_FS is not set
@@ -1080,13 +1133,12 @@ CONFIG_NFS_FS=y
1080CONFIG_NFS_V3=y 1133CONFIG_NFS_V3=y
1081# CONFIG_NFS_V3_ACL is not set 1134# CONFIG_NFS_V3_ACL is not set
1082# CONFIG_NFS_V4 is not set 1135# CONFIG_NFS_V4 is not set
1083# CONFIG_NFSD is not set
1084CONFIG_ROOT_NFS=y 1136CONFIG_ROOT_NFS=y
1137# CONFIG_NFSD is not set
1085CONFIG_LOCKD=y 1138CONFIG_LOCKD=y
1086CONFIG_LOCKD_V4=y 1139CONFIG_LOCKD_V4=y
1087CONFIG_NFS_COMMON=y 1140CONFIG_NFS_COMMON=y
1088CONFIG_SUNRPC=y 1141CONFIG_SUNRPC=y
1089# CONFIG_SUNRPC_BIND34 is not set
1090# CONFIG_RPCSEC_GSS_KRB5 is not set 1142# CONFIG_RPCSEC_GSS_KRB5 is not set
1091# CONFIG_RPCSEC_GSS_SPKM3 is not set 1143# CONFIG_RPCSEC_GSS_SPKM3 is not set
1092CONFIG_SMB_FS=m 1144CONFIG_SMB_FS=m
@@ -1150,6 +1202,7 @@ CONFIG_BITREVERSE=y
1150# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1202# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1151CONFIG_CRC_CCITT=y 1203CONFIG_CRC_CCITT=y
1152# CONFIG_CRC16 is not set 1204# CONFIG_CRC16 is not set
1205CONFIG_CRC_T10DIF=m
1153CONFIG_CRC_ITU_T=m 1206CONFIG_CRC_ITU_T=m
1154CONFIG_CRC32=y 1207CONFIG_CRC32=y
1155# CONFIG_CRC7 is not set 1208# CONFIG_CRC7 is not set
@@ -1175,6 +1228,8 @@ CONFIG_FRAME_WARN=1024
1175CONFIG_DEBUG_KERNEL=y 1228CONFIG_DEBUG_KERNEL=y
1176# CONFIG_DEBUG_SHIRQ is not set 1229# CONFIG_DEBUG_SHIRQ is not set
1177CONFIG_DETECT_SOFTLOCKUP=y 1230CONFIG_DETECT_SOFTLOCKUP=y
1231# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1232CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1178CONFIG_SCHED_DEBUG=y 1233CONFIG_SCHED_DEBUG=y
1179# CONFIG_SCHEDSTATS is not set 1234# CONFIG_SCHEDSTATS is not set
1180# CONFIG_TIMER_STATS is not set 1235# CONFIG_TIMER_STATS is not set
@@ -1193,18 +1248,29 @@ CONFIG_SCHED_DEBUG=y
1193# CONFIG_DEBUG_INFO is not set 1248# CONFIG_DEBUG_INFO is not set
1194# CONFIG_DEBUG_VM is not set 1249# CONFIG_DEBUG_VM is not set
1195# CONFIG_DEBUG_WRITECOUNT is not set 1250# CONFIG_DEBUG_WRITECOUNT is not set
1251# CONFIG_DEBUG_MEMORY_INIT is not set
1196# CONFIG_DEBUG_LIST is not set 1252# CONFIG_DEBUG_LIST is not set
1197# CONFIG_DEBUG_SG is not set 1253# CONFIG_DEBUG_SG is not set
1198# CONFIG_BOOT_PRINTK_DELAY is not set 1254# CONFIG_BOOT_PRINTK_DELAY is not set
1199# CONFIG_RCU_TORTURE_TEST is not set 1255# CONFIG_RCU_TORTURE_TEST is not set
1200# CONFIG_BACKTRACE_SELF_TEST is not set 1256# CONFIG_BACKTRACE_SELF_TEST is not set
1201# CONFIG_FAULT_INJECTION is not set 1257# CONFIG_FAULT_INJECTION is not set
1258# CONFIG_LATENCYTOP is not set
1259CONFIG_SYSCTL_SYSCALL_CHECK=y
1260CONFIG_HAVE_FTRACE=y
1261CONFIG_HAVE_DYNAMIC_FTRACE=y
1262# CONFIG_FTRACE is not set
1263# CONFIG_SCHED_TRACER is not set
1264# CONFIG_CONTEXT_SWITCH_TRACER is not set
1202# CONFIG_SAMPLES is not set 1265# CONFIG_SAMPLES is not set
1266CONFIG_HAVE_ARCH_KGDB=y
1267# CONFIG_KGDB is not set
1203# CONFIG_DEBUG_STACKOVERFLOW is not set 1268# CONFIG_DEBUG_STACKOVERFLOW is not set
1204# CONFIG_DEBUG_STACK_USAGE is not set 1269# CONFIG_DEBUG_STACK_USAGE is not set
1205# CONFIG_DEBUG_PAGEALLOC is not set 1270# CONFIG_DEBUG_PAGEALLOC is not set
1206# CONFIG_DEBUGGER is not set 1271# CONFIG_CODE_PATCHING_SELFTEST is not set
1207# CONFIG_KGDB_CONSOLE is not set 1272# CONFIG_FTR_FIXUP_SELFTEST is not set
1273# CONFIG_XMON is not set
1208# CONFIG_IRQSTACKS is not set 1274# CONFIG_IRQSTACKS is not set
1209CONFIG_BDI_SWITCH=y 1275CONFIG_BDI_SWITCH=y
1210# CONFIG_PPC_EARLY_DEBUG is not set 1276# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1258,6 +1324,10 @@ CONFIG_CRYPTO=y
1258# CONFIG_CRYPTO_MD4 is not set 1324# CONFIG_CRYPTO_MD4 is not set
1259# CONFIG_CRYPTO_MD5 is not set 1325# CONFIG_CRYPTO_MD5 is not set
1260# CONFIG_CRYPTO_MICHAEL_MIC is not set 1326# CONFIG_CRYPTO_MICHAEL_MIC is not set
1327# CONFIG_CRYPTO_RMD128 is not set
1328# CONFIG_CRYPTO_RMD160 is not set
1329# CONFIG_CRYPTO_RMD256 is not set
1330# CONFIG_CRYPTO_RMD320 is not set
1261# CONFIG_CRYPTO_SHA1 is not set 1331# CONFIG_CRYPTO_SHA1 is not set
1262# CONFIG_CRYPTO_SHA256 is not set 1332# CONFIG_CRYPTO_SHA256 is not set
1263# CONFIG_CRYPTO_SHA512 is not set 1333# CONFIG_CRYPTO_SHA512 is not set
@@ -1290,6 +1360,7 @@ CONFIG_CRYPTO=y
1290# CONFIG_CRYPTO_LZO is not set 1360# CONFIG_CRYPTO_LZO is not set
1291CONFIG_CRYPTO_HW=y 1361CONFIG_CRYPTO_HW=y
1292# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1362# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1293# CONFIG_PPC_CLOCK is not set 1363# CONFIG_CRYPTO_DEV_TALITOS is not set
1364CONFIG_PPC_CLOCK=y
1294CONFIG_PPC_LIB_RHEAP=y 1365CONFIG_PPC_LIB_RHEAP=y
1295# CONFIG_VIRTUALIZATION is not set 1366# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig
index e0b5559e84aa..1b2d5d577915 100644
--- a/arch/powerpc/configs/85xx/tqm8540_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8540_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:39 2008 4# Thu Aug 21 00:52:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -89,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 94# CONFIG_KALLSYMS is not set
94# CONFIG_HOTPLUG is not set 95# CONFIG_HOTPLUG is not set
95CONFIG_PRINTK=y 96CONFIG_PRINTK=y
@@ -112,10 +113,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 113# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 114# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 115CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 128# CONFIG_TINY_SHMEM is not set
@@ -126,6 +133,7 @@ CONFIG_BLOCK=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 133# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 134# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 135# CONFIG_BLK_DEV_BSG is not set
136# CONFIG_BLK_DEV_INTEGRITY is not set
129 137
130# 138#
131# IO Schedulers 139# IO Schedulers
@@ -144,8 +152,6 @@ CONFIG_CLASSIC_RCU=y
144# 152#
145# Platform support 153# Platform support
146# 154#
147# CONFIG_PPC_MPC512x is not set
148# CONFIG_PPC_MPC5121 is not set
149# CONFIG_PPC_CELL is not set 155# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 156# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 157# CONFIG_PQ2ADS is not set
@@ -154,11 +160,13 @@ CONFIG_MPC85xx=y
154# CONFIG_MPC8560_ADS is not set 160# CONFIG_MPC8560_ADS is not set
155# CONFIG_MPC85xx_CDS is not set 161# CONFIG_MPC85xx_CDS is not set
156# CONFIG_MPC85xx_MDS is not set 162# CONFIG_MPC85xx_MDS is not set
163# CONFIG_MPC8536_DS is not set
157# CONFIG_MPC85xx_DS is not set 164# CONFIG_MPC85xx_DS is not set
158# CONFIG_KSI8560 is not set 165# CONFIG_KSI8560 is not set
159# CONFIG_STX_GP3 is not set 166# CONFIG_STX_GP3 is not set
160CONFIG_TQM8540=y 167CONFIG_TQM8540=y
161# CONFIG_TQM8541 is not set 168# CONFIG_TQM8541 is not set
169# CONFIG_TQM8548 is not set
162# CONFIG_TQM8555 is not set 170# CONFIG_TQM8555 is not set
163# CONFIG_TQM8560 is not set 171# CONFIG_TQM8560 is not set
164# CONFIG_SBC8548 is not set 172# CONFIG_SBC8548 is not set
@@ -214,6 +222,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
214# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
215CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
216CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y
217# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
218CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
219CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
@@ -221,6 +230,7 @@ CONFIG_VIRT_TO_BUS=y
221CONFIG_FORCE_MAX_ZONEORDER=11 230CONFIG_FORCE_MAX_ZONEORDER=11
222# CONFIG_PROC_DEVICETREE is not set 231# CONFIG_PROC_DEVICETREE is not set
223# CONFIG_CMDLINE_BOOL is not set 232# CONFIG_CMDLINE_BOOL is not set
233CONFIG_EXTRA_TARGETS=""
224# CONFIG_PM is not set 234# CONFIG_PM is not set
225CONFIG_SECCOMP=y 235CONFIG_SECCOMP=y
226CONFIG_ISA_DMA_API=y 236CONFIG_ISA_DMA_API=y
@@ -232,6 +242,7 @@ CONFIG_ZONE_DMA=y
232CONFIG_PPC_INDIRECT_PCI=y 242CONFIG_PPC_INDIRECT_PCI=y
233CONFIG_FSL_SOC=y 243CONFIG_FSL_SOC=y
234CONFIG_FSL_PCI=y 244CONFIG_FSL_PCI=y
245CONFIG_PPC_PCI_CHOICE=y
235CONFIG_PCI=y 246CONFIG_PCI=y
236CONFIG_PCI_DOMAINS=y 247CONFIG_PCI_DOMAINS=y
237CONFIG_PCI_SYSCALL=y 248CONFIG_PCI_SYSCALL=y
@@ -255,10 +266,6 @@ CONFIG_KERNEL_START=0xc0000000
255CONFIG_PHYSICAL_START=0x00000000 266CONFIG_PHYSICAL_START=0x00000000
256CONFIG_PHYSICAL_ALIGN=0x10000000 267CONFIG_PHYSICAL_ALIGN=0x10000000
257CONFIG_TASK_SIZE=0xc0000000 268CONFIG_TASK_SIZE=0xc0000000
258
259#
260# Networking
261#
262CONFIG_NET=y 269CONFIG_NET=y
263 270
264# 271#
@@ -449,20 +456,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
449# CONFIG_BLK_DEV_XIP is not set 456# CONFIG_BLK_DEV_XIP is not set
450# CONFIG_CDROM_PKTCDVD is not set 457# CONFIG_CDROM_PKTCDVD is not set
451# CONFIG_ATA_OVER_ETH is not set 458# CONFIG_ATA_OVER_ETH is not set
459# CONFIG_BLK_DEV_HD is not set
452CONFIG_MISC_DEVICES=y 460CONFIG_MISC_DEVICES=y
453# CONFIG_PHANTOM is not set 461# CONFIG_PHANTOM is not set
454# CONFIG_EEPROM_93CX6 is not set 462# CONFIG_EEPROM_93CX6 is not set
455# CONFIG_SGI_IOC4 is not set 463# CONFIG_SGI_IOC4 is not set
456# CONFIG_TIFM_CORE is not set 464# CONFIG_TIFM_CORE is not set
457# CONFIG_ENCLOSURE_SERVICES is not set 465# CONFIG_ENCLOSURE_SERVICES is not set
466# CONFIG_HP_ILO is not set
458CONFIG_HAVE_IDE=y 467CONFIG_HAVE_IDE=y
459CONFIG_IDE=y 468CONFIG_IDE=y
460CONFIG_IDE_MAX_HWIFS=4
461CONFIG_BLK_DEV_IDE=y 469CONFIG_BLK_DEV_IDE=y
462 470
463# 471#
464# Please see Documentation/ide/ide.txt for help/info on IDE drives 472# Please see Documentation/ide/ide.txt for help/info on IDE drives
465# 473#
474CONFIG_IDE_TIMINGS=y
466# CONFIG_BLK_DEV_IDE_SATA is not set 475# CONFIG_BLK_DEV_IDE_SATA is not set
467CONFIG_BLK_DEV_IDEDISK=y 476CONFIG_BLK_DEV_IDEDISK=y
468# CONFIG_IDEDISK_MULTI_MODE is not set 477# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -475,7 +484,6 @@ CONFIG_IDE_PROC_FS=y
475# 484#
476# IDE chipset support/bugfixes 485# IDE chipset support/bugfixes
477# 486#
478CONFIG_IDE_GENERIC=y
479# CONFIG_BLK_DEV_PLATFORM is not set 487# CONFIG_BLK_DEV_PLATFORM is not set
480CONFIG_BLK_DEV_IDEDMA_SFF=y 488CONFIG_BLK_DEV_IDEDMA_SFF=y
481 489
@@ -493,10 +501,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
493# CONFIG_BLK_DEV_AMD74XX is not set 501# CONFIG_BLK_DEV_AMD74XX is not set
494# CONFIG_BLK_DEV_CMD64X is not set 502# CONFIG_BLK_DEV_CMD64X is not set
495# CONFIG_BLK_DEV_TRIFLEX is not set 503# CONFIG_BLK_DEV_TRIFLEX is not set
496# CONFIG_BLK_DEV_CY82C693 is not set
497# CONFIG_BLK_DEV_CS5520 is not set 504# CONFIG_BLK_DEV_CS5520 is not set
498# CONFIG_BLK_DEV_CS5530 is not set 505# CONFIG_BLK_DEV_CS5530 is not set
499# CONFIG_BLK_DEV_HPT34X is not set
500# CONFIG_BLK_DEV_HPT366 is not set 506# CONFIG_BLK_DEV_HPT366 is not set
501# CONFIG_BLK_DEV_JMICRON is not set 507# CONFIG_BLK_DEV_JMICRON is not set
502# CONFIG_BLK_DEV_SC1200 is not set 508# CONFIG_BLK_DEV_SC1200 is not set
@@ -514,8 +520,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
514CONFIG_BLK_DEV_VIA82CXXX=y 520CONFIG_BLK_DEV_VIA82CXXX=y
515# CONFIG_BLK_DEV_TC86C001 is not set 521# CONFIG_BLK_DEV_TC86C001 is not set
516CONFIG_BLK_DEV_IDEDMA=y 522CONFIG_BLK_DEV_IDEDMA=y
517# CONFIG_BLK_DEV_HD_ONLY is not set
518# CONFIG_BLK_DEV_HD is not set
519 523
520# 524#
521# SCSI device support 525# SCSI device support
@@ -531,12 +535,15 @@ CONFIG_BLK_DEV_IDEDMA=y
531# 535#
532# IEEE 1394 (FireWire) support 536# IEEE 1394 (FireWire) support
533# 537#
538
539#
540# Enable only one of the two stacks, unless you know what you are doing
541#
534# CONFIG_FIREWIRE is not set 542# CONFIG_FIREWIRE is not set
535# CONFIG_IEEE1394 is not set 543# CONFIG_IEEE1394 is not set
536# CONFIG_I2O is not set 544# CONFIG_I2O is not set
537# CONFIG_MACINTOSH_DRIVERS is not set 545# CONFIG_MACINTOSH_DRIVERS is not set
538CONFIG_NETDEVICES=y 546CONFIG_NETDEVICES=y
539# CONFIG_NETDEVICES_MULTIQUEUE is not set
540# CONFIG_DUMMY is not set 547# CONFIG_DUMMY is not set
541# CONFIG_BONDING is not set 548# CONFIG_BONDING is not set
542# CONFIG_MACVLAN is not set 549# CONFIG_MACVLAN is not set
@@ -598,7 +605,6 @@ CONFIG_NETDEV_1000=y
598# CONFIG_DL2K is not set 605# CONFIG_DL2K is not set
599# CONFIG_E1000 is not set 606# CONFIG_E1000 is not set
600# CONFIG_E1000E is not set 607# CONFIG_E1000E is not set
601# CONFIG_E1000E_ENABLED is not set
602# CONFIG_IP1000 is not set 608# CONFIG_IP1000 is not set
603# CONFIG_IGB is not set 609# CONFIG_IGB is not set
604# CONFIG_NS83820 is not set 610# CONFIG_NS83820 is not set
@@ -612,9 +618,9 @@ CONFIG_NETDEV_1000=y
612# CONFIG_TIGON3 is not set 618# CONFIG_TIGON3 is not set
613# CONFIG_BNX2 is not set 619# CONFIG_BNX2 is not set
614CONFIG_GIANFAR=y 620CONFIG_GIANFAR=y
615CONFIG_GFAR_NAPI=y
616# CONFIG_QLA3XXX is not set 621# CONFIG_QLA3XXX is not set
617# CONFIG_ATL1 is not set 622# CONFIG_ATL1 is not set
623# CONFIG_ATL1E is not set
618CONFIG_NETDEV_10000=y 624CONFIG_NETDEV_10000=y
619# CONFIG_CHELSIO_T1 is not set 625# CONFIG_CHELSIO_T1 is not set
620# CONFIG_CHELSIO_T3 is not set 626# CONFIG_CHELSIO_T3 is not set
@@ -721,41 +727,62 @@ CONFIG_DEVPORT=y
721CONFIG_I2C=y 727CONFIG_I2C=y
722CONFIG_I2C_BOARDINFO=y 728CONFIG_I2C_BOARDINFO=y
723CONFIG_I2C_CHARDEV=y 729CONFIG_I2C_CHARDEV=y
730CONFIG_I2C_HELPER_AUTO=y
724 731
725# 732#
726# I2C Hardware Bus support 733# I2C Hardware Bus support
727# 734#
735
736#
737# PC SMBus host controller drivers
738#
728# CONFIG_I2C_ALI1535 is not set 739# CONFIG_I2C_ALI1535 is not set
729# CONFIG_I2C_ALI1563 is not set 740# CONFIG_I2C_ALI1563 is not set
730# CONFIG_I2C_ALI15X3 is not set 741# CONFIG_I2C_ALI15X3 is not set
731# CONFIG_I2C_AMD756 is not set 742# CONFIG_I2C_AMD756 is not set
732# CONFIG_I2C_AMD8111 is not set 743# CONFIG_I2C_AMD8111 is not set
733# CONFIG_I2C_I801 is not set 744# CONFIG_I2C_I801 is not set
734# CONFIG_I2C_I810 is not set 745# CONFIG_I2C_ISCH is not set
735# CONFIG_I2C_PIIX4 is not set 746# CONFIG_I2C_PIIX4 is not set
736CONFIG_I2C_MPC=y
737# CONFIG_I2C_NFORCE2 is not set 747# CONFIG_I2C_NFORCE2 is not set
738# CONFIG_I2C_OCORES is not set
739# CONFIG_I2C_PARPORT_LIGHT is not set
740# CONFIG_I2C_PROSAVAGE is not set
741# CONFIG_I2C_SAVAGE4 is not set
742# CONFIG_I2C_SIMTEC is not set
743# CONFIG_I2C_SIS5595 is not set 748# CONFIG_I2C_SIS5595 is not set
744# CONFIG_I2C_SIS630 is not set 749# CONFIG_I2C_SIS630 is not set
745# CONFIG_I2C_SIS96X is not set 750# CONFIG_I2C_SIS96X is not set
746# CONFIG_I2C_TAOS_EVM is not set
747# CONFIG_I2C_VIA is not set 751# CONFIG_I2C_VIA is not set
748# CONFIG_I2C_VIAPRO is not set 752# CONFIG_I2C_VIAPRO is not set
753
754#
755# I2C system bus drivers (mostly embedded / system-on-chip)
756#
757CONFIG_I2C_MPC=y
758# CONFIG_I2C_OCORES is not set
759# CONFIG_I2C_SIMTEC is not set
760
761#
762# External I2C/SMBus adapter drivers
763#
764# CONFIG_I2C_PARPORT_LIGHT is not set
765# CONFIG_I2C_TAOS_EVM is not set
766
767#
768# Graphics adapter I2C/DDC channel drivers
769#
749# CONFIG_I2C_VOODOO3 is not set 770# CONFIG_I2C_VOODOO3 is not set
771
772#
773# Other I2C/SMBus bus drivers
774#
750# CONFIG_I2C_PCA_PLATFORM is not set 775# CONFIG_I2C_PCA_PLATFORM is not set
751 776
752# 777#
753# Miscellaneous I2C Chip support 778# Miscellaneous I2C Chip support
754# 779#
755# CONFIG_DS1682 is not set 780# CONFIG_DS1682 is not set
781# CONFIG_AT24 is not set
756# CONFIG_SENSORS_EEPROM is not set 782# CONFIG_SENSORS_EEPROM is not set
757# CONFIG_SENSORS_PCF8574 is not set 783# CONFIG_SENSORS_PCF8574 is not set
758# CONFIG_PCF8575 is not set 784# CONFIG_PCF8575 is not set
785# CONFIG_SENSORS_PCA9539 is not set
759# CONFIG_SENSORS_PCF8591 is not set 786# CONFIG_SENSORS_PCF8591 is not set
760# CONFIG_SENSORS_MAX6875 is not set 787# CONFIG_SENSORS_MAX6875 is not set
761# CONFIG_SENSORS_TSL2550 is not set 788# CONFIG_SENSORS_TSL2550 is not set
@@ -764,10 +791,13 @@ CONFIG_I2C_MPC=y
764# CONFIG_I2C_DEBUG_BUS is not set 791# CONFIG_I2C_DEBUG_BUS is not set
765# CONFIG_I2C_DEBUG_CHIP is not set 792# CONFIG_I2C_DEBUG_CHIP is not set
766# CONFIG_SPI is not set 793# CONFIG_SPI is not set
794CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
795# CONFIG_GPIOLIB is not set
767# CONFIG_W1 is not set 796# CONFIG_W1 is not set
768# CONFIG_POWER_SUPPLY is not set 797# CONFIG_POWER_SUPPLY is not set
769CONFIG_HWMON=y 798CONFIG_HWMON=y
770# CONFIG_HWMON_VID is not set 799# CONFIG_HWMON_VID is not set
800# CONFIG_SENSORS_AD7414 is not set
771# CONFIG_SENSORS_AD7418 is not set 801# CONFIG_SENSORS_AD7418 is not set
772# CONFIG_SENSORS_ADM1021 is not set 802# CONFIG_SENSORS_ADM1021 is not set
773# CONFIG_SENSORS_ADM1025 is not set 803# CONFIG_SENSORS_ADM1025 is not set
@@ -821,6 +851,7 @@ CONFIG_SENSORS_LM75=y
821# CONFIG_SENSORS_W83627EHF is not set 851# CONFIG_SENSORS_W83627EHF is not set
822CONFIG_HWMON_DEBUG_CHIP=y 852CONFIG_HWMON_DEBUG_CHIP=y
823# CONFIG_THERMAL is not set 853# CONFIG_THERMAL is not set
854# CONFIG_THERMAL_HWMON is not set
824# CONFIG_WATCHDOG is not set 855# CONFIG_WATCHDOG is not set
825 856
826# 857#
@@ -832,8 +863,10 @@ CONFIG_SSB_POSSIBLE=y
832# 863#
833# Multifunction device drivers 864# Multifunction device drivers
834# 865#
866# CONFIG_MFD_CORE is not set
835# CONFIG_MFD_SM501 is not set 867# CONFIG_MFD_SM501 is not set
836# CONFIG_HTC_PASIC3 is not set 868# CONFIG_HTC_PASIC3 is not set
869# CONFIG_MFD_TMIO is not set
837 870
838# 871#
839# Multimedia devices 872# Multimedia devices
@@ -865,10 +898,6 @@ CONFIG_DAB=y
865# Display device support 898# Display device support
866# 899#
867# CONFIG_DISPLAY_SUPPORT is not set 900# CONFIG_DISPLAY_SUPPORT is not set
868
869#
870# Sound
871#
872# CONFIG_SOUND is not set 901# CONFIG_SOUND is not set
873CONFIG_HID_SUPPORT=y 902CONFIG_HID_SUPPORT=y
874CONFIG_HID=y 903CONFIG_HID=y
@@ -883,6 +912,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
883# CONFIG_USB_OTG_BLACKLIST_HUB is not set 912# CONFIG_USB_OTG_BLACKLIST_HUB is not set
884 913
885# 914#
915# Enable Host or Gadget support to see Inventra options
916#
917
918#
886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 919# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
887# 920#
888# CONFIG_USB_GADGET is not set 921# CONFIG_USB_GADGET is not set
@@ -971,6 +1004,7 @@ CONFIG_JFFS2_RTIME=y
971CONFIG_CRAMFS=y 1004CONFIG_CRAMFS=y
972# CONFIG_VXFS_FS is not set 1005# CONFIG_VXFS_FS is not set
973# CONFIG_MINIX_FS is not set 1006# CONFIG_MINIX_FS is not set
1007# CONFIG_OMFS_FS is not set
974# CONFIG_HPFS_FS is not set 1008# CONFIG_HPFS_FS is not set
975# CONFIG_QNX4FS_FS is not set 1009# CONFIG_QNX4FS_FS is not set
976# CONFIG_ROMFS_FS is not set 1010# CONFIG_ROMFS_FS is not set
@@ -980,12 +1014,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
980CONFIG_NFS_FS=y 1014CONFIG_NFS_FS=y
981# CONFIG_NFS_V3 is not set 1015# CONFIG_NFS_V3 is not set
982# CONFIG_NFS_V4 is not set 1016# CONFIG_NFS_V4 is not set
983# CONFIG_NFSD is not set
984CONFIG_ROOT_NFS=y 1017CONFIG_ROOT_NFS=y
1018# CONFIG_NFSD is not set
985CONFIG_LOCKD=y 1019CONFIG_LOCKD=y
986CONFIG_NFS_COMMON=y 1020CONFIG_NFS_COMMON=y
987CONFIG_SUNRPC=y 1021CONFIG_SUNRPC=y
988# CONFIG_SUNRPC_BIND34 is not set
989# CONFIG_RPCSEC_GSS_KRB5 is not set 1022# CONFIG_RPCSEC_GSS_KRB5 is not set
990# CONFIG_RPCSEC_GSS_SPKM3 is not set 1023# CONFIG_RPCSEC_GSS_SPKM3 is not set
991# CONFIG_SMB_FS is not set 1024# CONFIG_SMB_FS is not set
@@ -1021,6 +1054,7 @@ CONFIG_BITREVERSE=y
1021# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1054# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1022# CONFIG_CRC_CCITT is not set 1055# CONFIG_CRC_CCITT is not set
1023# CONFIG_CRC16 is not set 1056# CONFIG_CRC16 is not set
1057# CONFIG_CRC_T10DIF is not set
1024# CONFIG_CRC_ITU_T is not set 1058# CONFIG_CRC_ITU_T is not set
1025CONFIG_CRC32=y 1059CONFIG_CRC32=y
1026# CONFIG_CRC7 is not set 1060# CONFIG_CRC7 is not set
@@ -1048,7 +1082,16 @@ CONFIG_FRAME_WARN=1024
1048# CONFIG_SLUB_DEBUG_ON is not set 1082# CONFIG_SLUB_DEBUG_ON is not set
1049# CONFIG_SLUB_STATS is not set 1083# CONFIG_SLUB_STATS is not set
1050# CONFIG_DEBUG_BUGVERBOSE is not set 1084# CONFIG_DEBUG_BUGVERBOSE is not set
1085# CONFIG_DEBUG_MEMORY_INIT is not set
1086# CONFIG_LATENCYTOP is not set
1087CONFIG_SYSCTL_SYSCALL_CHECK=y
1088CONFIG_HAVE_FTRACE=y
1089CONFIG_HAVE_DYNAMIC_FTRACE=y
1090# CONFIG_FTRACE is not set
1091# CONFIG_SCHED_TRACER is not set
1092# CONFIG_CONTEXT_SWITCH_TRACER is not set
1051# CONFIG_SAMPLES is not set 1093# CONFIG_SAMPLES is not set
1094CONFIG_HAVE_ARCH_KGDB=y
1052# CONFIG_IRQSTACKS is not set 1095# CONFIG_IRQSTACKS is not set
1053# CONFIG_PPC_EARLY_DEBUG is not set 1096# CONFIG_PPC_EARLY_DEBUG is not set
1054 1097
@@ -1100,6 +1143,10 @@ CONFIG_CRYPTO=y
1100# CONFIG_CRYPTO_MD4 is not set 1143# CONFIG_CRYPTO_MD4 is not set
1101# CONFIG_CRYPTO_MD5 is not set 1144# CONFIG_CRYPTO_MD5 is not set
1102# CONFIG_CRYPTO_MICHAEL_MIC is not set 1145# CONFIG_CRYPTO_MICHAEL_MIC is not set
1146# CONFIG_CRYPTO_RMD128 is not set
1147# CONFIG_CRYPTO_RMD160 is not set
1148# CONFIG_CRYPTO_RMD256 is not set
1149# CONFIG_CRYPTO_RMD320 is not set
1103# CONFIG_CRYPTO_SHA1 is not set 1150# CONFIG_CRYPTO_SHA1 is not set
1104# CONFIG_CRYPTO_SHA256 is not set 1151# CONFIG_CRYPTO_SHA256 is not set
1105# CONFIG_CRYPTO_SHA512 is not set 1152# CONFIG_CRYPTO_SHA512 is not set
@@ -1132,5 +1179,6 @@ CONFIG_CRYPTO=y
1132# CONFIG_CRYPTO_LZO is not set 1179# CONFIG_CRYPTO_LZO is not set
1133CONFIG_CRYPTO_HW=y 1180CONFIG_CRYPTO_HW=y
1134# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1181# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1182# CONFIG_CRYPTO_DEV_TALITOS is not set
1135# CONFIG_PPC_CLOCK is not set 1183# CONFIG_PPC_CLOCK is not set
1136# CONFIG_VIRTUALIZATION is not set 1184# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig
index 6f9067b49e07..da841a09755c 100644
--- a/arch/powerpc/configs/85xx/tqm8541_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8541_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:40 2008 4# Thu Aug 21 00:52:39 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -89,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 95# CONFIG_KALLSYMS is not set
94# CONFIG_HOTPLUG is not set 96# CONFIG_HOTPLUG is not set
95CONFIG_PRINTK=y 97CONFIG_PRINTK=y
@@ -112,10 +114,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 114# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 115# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 116CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y
118CONFIG_PROC_PAGE_MONITOR=y 125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 129# CONFIG_TINY_SHMEM is not set
@@ -126,6 +134,7 @@ CONFIG_BLOCK=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 134# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 135# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 136# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set
129 138
130# 139#
131# IO Schedulers 140# IO Schedulers
@@ -144,8 +153,6 @@ CONFIG_CLASSIC_RCU=y
144# 153#
145# Platform support 154# Platform support
146# 155#
147# CONFIG_PPC_MPC512x is not set
148# CONFIG_PPC_MPC5121 is not set
149# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
@@ -154,11 +161,13 @@ CONFIG_MPC85xx=y
154# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
155# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
156# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
164# CONFIG_MPC8536_DS is not set
157# CONFIG_MPC85xx_DS is not set 165# CONFIG_MPC85xx_DS is not set
158# CONFIG_KSI8560 is not set 166# CONFIG_KSI8560 is not set
159# CONFIG_STX_GP3 is not set 167# CONFIG_STX_GP3 is not set
160# CONFIG_TQM8540 is not set 168# CONFIG_TQM8540 is not set
161CONFIG_TQM8541=y 169CONFIG_TQM8541=y
170# CONFIG_TQM8548 is not set
162# CONFIG_TQM8555 is not set 171# CONFIG_TQM8555 is not set
163# CONFIG_TQM8560 is not set 172# CONFIG_TQM8560 is not set
164# CONFIG_SBC8548 is not set 173# CONFIG_SBC8548 is not set
@@ -176,7 +185,6 @@ CONFIG_MPIC=y
176# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
177# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
178CONFIG_CPM2=y 187CONFIG_CPM2=y
179CONFIG_PPC_CPM_NEW_BINDING=y
180# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
181CONFIG_CPM=y 189CONFIG_CPM=y
182 190
@@ -216,6 +224,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
216# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
217CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
218CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y
219# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
220CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
221CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
@@ -223,6 +232,7 @@ CONFIG_VIRT_TO_BUS=y
223CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
224# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
225# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
235CONFIG_EXTRA_TARGETS=""
226# CONFIG_PM is not set 236# CONFIG_PM is not set
227CONFIG_SECCOMP=y 237CONFIG_SECCOMP=y
228CONFIG_ISA_DMA_API=y 238CONFIG_ISA_DMA_API=y
@@ -234,6 +244,7 @@ CONFIG_ZONE_DMA=y
234CONFIG_PPC_INDIRECT_PCI=y 244CONFIG_PPC_INDIRECT_PCI=y
235CONFIG_FSL_SOC=y 245CONFIG_FSL_SOC=y
236CONFIG_FSL_PCI=y 246CONFIG_FSL_PCI=y
247CONFIG_PPC_PCI_CHOICE=y
237CONFIG_PCI=y 248CONFIG_PCI=y
238CONFIG_PCI_DOMAINS=y 249CONFIG_PCI_DOMAINS=y
239CONFIG_PCI_SYSCALL=y 250CONFIG_PCI_SYSCALL=y
@@ -257,10 +268,6 @@ CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 268CONFIG_PHYSICAL_START=0x00000000
258CONFIG_PHYSICAL_ALIGN=0x10000000 269CONFIG_PHYSICAL_ALIGN=0x10000000
259CONFIG_TASK_SIZE=0xc0000000 270CONFIG_TASK_SIZE=0xc0000000
260
261#
262# Networking
263#
264CONFIG_NET=y 271CONFIG_NET=y
265 272
266# 273#
@@ -432,6 +439,7 @@ CONFIG_MTD_CFI_UTIL=y
432# 439#
433# CONFIG_MTD_UBI is not set 440# CONFIG_MTD_UBI is not set
434CONFIG_OF_DEVICE=y 441CONFIG_OF_DEVICE=y
442CONFIG_OF_GPIO=y
435CONFIG_OF_I2C=y 443CONFIG_OF_I2C=y
436# CONFIG_PARPORT is not set 444# CONFIG_PARPORT is not set
437CONFIG_BLK_DEV=y 445CONFIG_BLK_DEV=y
@@ -451,20 +459,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
451# CONFIG_BLK_DEV_XIP is not set 459# CONFIG_BLK_DEV_XIP is not set
452# CONFIG_CDROM_PKTCDVD is not set 460# CONFIG_CDROM_PKTCDVD is not set
453# CONFIG_ATA_OVER_ETH is not set 461# CONFIG_ATA_OVER_ETH is not set
462# CONFIG_BLK_DEV_HD is not set
454CONFIG_MISC_DEVICES=y 463CONFIG_MISC_DEVICES=y
455# CONFIG_PHANTOM is not set 464# CONFIG_PHANTOM is not set
456# CONFIG_EEPROM_93CX6 is not set 465# CONFIG_EEPROM_93CX6 is not set
457# CONFIG_SGI_IOC4 is not set 466# CONFIG_SGI_IOC4 is not set
458# CONFIG_TIFM_CORE is not set 467# CONFIG_TIFM_CORE is not set
459# CONFIG_ENCLOSURE_SERVICES is not set 468# CONFIG_ENCLOSURE_SERVICES is not set
469# CONFIG_HP_ILO is not set
460CONFIG_HAVE_IDE=y 470CONFIG_HAVE_IDE=y
461CONFIG_IDE=y 471CONFIG_IDE=y
462CONFIG_IDE_MAX_HWIFS=4
463CONFIG_BLK_DEV_IDE=y 472CONFIG_BLK_DEV_IDE=y
464 473
465# 474#
466# Please see Documentation/ide/ide.txt for help/info on IDE drives 475# Please see Documentation/ide/ide.txt for help/info on IDE drives
467# 476#
477CONFIG_IDE_TIMINGS=y
468# CONFIG_BLK_DEV_IDE_SATA is not set 478# CONFIG_BLK_DEV_IDE_SATA is not set
469CONFIG_BLK_DEV_IDEDISK=y 479CONFIG_BLK_DEV_IDEDISK=y
470# CONFIG_IDEDISK_MULTI_MODE is not set 480# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -477,7 +487,6 @@ CONFIG_IDE_PROC_FS=y
477# 487#
478# IDE chipset support/bugfixes 488# IDE chipset support/bugfixes
479# 489#
480CONFIG_IDE_GENERIC=y
481# CONFIG_BLK_DEV_PLATFORM is not set 490# CONFIG_BLK_DEV_PLATFORM is not set
482CONFIG_BLK_DEV_IDEDMA_SFF=y 491CONFIG_BLK_DEV_IDEDMA_SFF=y
483 492
@@ -495,10 +504,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
495# CONFIG_BLK_DEV_AMD74XX is not set 504# CONFIG_BLK_DEV_AMD74XX is not set
496# CONFIG_BLK_DEV_CMD64X is not set 505# CONFIG_BLK_DEV_CMD64X is not set
497# CONFIG_BLK_DEV_TRIFLEX is not set 506# CONFIG_BLK_DEV_TRIFLEX is not set
498# CONFIG_BLK_DEV_CY82C693 is not set
499# CONFIG_BLK_DEV_CS5520 is not set 507# CONFIG_BLK_DEV_CS5520 is not set
500# CONFIG_BLK_DEV_CS5530 is not set 508# CONFIG_BLK_DEV_CS5530 is not set
501# CONFIG_BLK_DEV_HPT34X is not set
502# CONFIG_BLK_DEV_HPT366 is not set 509# CONFIG_BLK_DEV_HPT366 is not set
503# CONFIG_BLK_DEV_JMICRON is not set 510# CONFIG_BLK_DEV_JMICRON is not set
504# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
@@ -516,8 +523,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
516CONFIG_BLK_DEV_VIA82CXXX=y 523CONFIG_BLK_DEV_VIA82CXXX=y
517# CONFIG_BLK_DEV_TC86C001 is not set 524# CONFIG_BLK_DEV_TC86C001 is not set
518CONFIG_BLK_DEV_IDEDMA=y 525CONFIG_BLK_DEV_IDEDMA=y
519# CONFIG_BLK_DEV_HD_ONLY is not set
520# CONFIG_BLK_DEV_HD is not set
521 526
522# 527#
523# SCSI device support 528# SCSI device support
@@ -533,12 +538,15 @@ CONFIG_BLK_DEV_IDEDMA=y
533# 538#
534# IEEE 1394 (FireWire) support 539# IEEE 1394 (FireWire) support
535# 540#
541
542#
543# Enable only one of the two stacks, unless you know what you are doing
544#
536# CONFIG_FIREWIRE is not set 545# CONFIG_FIREWIRE is not set
537# CONFIG_IEEE1394 is not set 546# CONFIG_IEEE1394 is not set
538# CONFIG_I2O is not set 547# CONFIG_I2O is not set
539# CONFIG_MACINTOSH_DRIVERS is not set 548# CONFIG_MACINTOSH_DRIVERS is not set
540CONFIG_NETDEVICES=y 549CONFIG_NETDEVICES=y
541# CONFIG_NETDEVICES_MULTIQUEUE is not set
542# CONFIG_DUMMY is not set 550# CONFIG_DUMMY is not set
543# CONFIG_BONDING is not set 551# CONFIG_BONDING is not set
544# CONFIG_MACVLAN is not set 552# CONFIG_MACVLAN is not set
@@ -601,7 +609,6 @@ CONFIG_NETDEV_1000=y
601# CONFIG_DL2K is not set 609# CONFIG_DL2K is not set
602# CONFIG_E1000 is not set 610# CONFIG_E1000 is not set
603# CONFIG_E1000E is not set 611# CONFIG_E1000E is not set
604# CONFIG_E1000E_ENABLED is not set
605# CONFIG_IP1000 is not set 612# CONFIG_IP1000 is not set
606# CONFIG_IGB is not set 613# CONFIG_IGB is not set
607# CONFIG_NS83820 is not set 614# CONFIG_NS83820 is not set
@@ -615,9 +622,9 @@ CONFIG_NETDEV_1000=y
615# CONFIG_TIGON3 is not set 622# CONFIG_TIGON3 is not set
616# CONFIG_BNX2 is not set 623# CONFIG_BNX2 is not set
617CONFIG_GIANFAR=y 624CONFIG_GIANFAR=y
618CONFIG_GFAR_NAPI=y
619# CONFIG_QLA3XXX is not set 625# CONFIG_QLA3XXX is not set
620# CONFIG_ATL1 is not set 626# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set
621CONFIG_NETDEV_10000=y 628CONFIG_NETDEV_10000=y
622# CONFIG_CHELSIO_T1 is not set 629# CONFIG_CHELSIO_T1 is not set
623# CONFIG_CHELSIO_T3 is not set 630# CONFIG_CHELSIO_T3 is not set
@@ -732,42 +739,66 @@ CONFIG_DEVPORT=y
732CONFIG_I2C=y 739CONFIG_I2C=y
733CONFIG_I2C_BOARDINFO=y 740CONFIG_I2C_BOARDINFO=y
734CONFIG_I2C_CHARDEV=y 741CONFIG_I2C_CHARDEV=y
742CONFIG_I2C_HELPER_AUTO=y
735 743
736# 744#
737# I2C Hardware Bus support 745# I2C Hardware Bus support
738# 746#
747
748#
749# PC SMBus host controller drivers
750#
739# CONFIG_I2C_ALI1535 is not set 751# CONFIG_I2C_ALI1535 is not set
740# CONFIG_I2C_ALI1563 is not set 752# CONFIG_I2C_ALI1563 is not set
741# CONFIG_I2C_ALI15X3 is not set 753# CONFIG_I2C_ALI15X3 is not set
742# CONFIG_I2C_AMD756 is not set 754# CONFIG_I2C_AMD756 is not set
743# CONFIG_I2C_AMD8111 is not set 755# CONFIG_I2C_AMD8111 is not set
744# CONFIG_I2C_I801 is not set 756# CONFIG_I2C_I801 is not set
745# CONFIG_I2C_I810 is not set 757# CONFIG_I2C_ISCH is not set
746# CONFIG_I2C_PIIX4 is not set 758# CONFIG_I2C_PIIX4 is not set
747CONFIG_I2C_MPC=y
748# CONFIG_I2C_NFORCE2 is not set 759# CONFIG_I2C_NFORCE2 is not set
749# CONFIG_I2C_OCORES is not set
750# CONFIG_I2C_PARPORT_LIGHT is not set
751# CONFIG_I2C_PROSAVAGE is not set
752# CONFIG_I2C_SAVAGE4 is not set
753# CONFIG_I2C_SIMTEC is not set
754# CONFIG_I2C_SIS5595 is not set 760# CONFIG_I2C_SIS5595 is not set
755# CONFIG_I2C_SIS630 is not set 761# CONFIG_I2C_SIS630 is not set
756# CONFIG_I2C_SIS96X is not set 762# CONFIG_I2C_SIS96X is not set
757# CONFIG_I2C_TAOS_EVM is not set
758# CONFIG_I2C_VIA is not set 763# CONFIG_I2C_VIA is not set
759# CONFIG_I2C_VIAPRO is not set 764# CONFIG_I2C_VIAPRO is not set
765
766#
767# I2C system bus drivers (mostly embedded / system-on-chip)
768#
769# CONFIG_I2C_CPM is not set
770# CONFIG_I2C_GPIO is not set
771CONFIG_I2C_MPC=y
772# CONFIG_I2C_OCORES is not set
773# CONFIG_I2C_SIMTEC is not set
774
775#
776# External I2C/SMBus adapter drivers
777#
778# CONFIG_I2C_PARPORT_LIGHT is not set
779# CONFIG_I2C_TAOS_EVM is not set
780
781#
782# Graphics adapter I2C/DDC channel drivers
783#
760# CONFIG_I2C_VOODOO3 is not set 784# CONFIG_I2C_VOODOO3 is not set
785
786#
787# Other I2C/SMBus bus drivers
788#
761# CONFIG_I2C_PCA_PLATFORM is not set 789# CONFIG_I2C_PCA_PLATFORM is not set
762 790
763# 791#
764# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
765# 793#
766# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
795# CONFIG_AT24 is not set
767# CONFIG_SENSORS_EEPROM is not set 796# CONFIG_SENSORS_EEPROM is not set
768# CONFIG_SENSORS_PCF8574 is not set 797# CONFIG_SENSORS_PCF8574 is not set
769# CONFIG_PCF8575 is not set 798# CONFIG_PCF8575 is not set
799# CONFIG_SENSORS_PCA9539 is not set
770# CONFIG_SENSORS_PCF8591 is not set 800# CONFIG_SENSORS_PCF8591 is not set
801# CONFIG_TPS65010 is not set
771# CONFIG_SENSORS_MAX6875 is not set 802# CONFIG_SENSORS_MAX6875 is not set
772# CONFIG_SENSORS_TSL2550 is not set 803# CONFIG_SENSORS_TSL2550 is not set
773# CONFIG_I2C_DEBUG_CORE is not set 804# CONFIG_I2C_DEBUG_CORE is not set
@@ -775,10 +806,31 @@ CONFIG_I2C_MPC=y
775# CONFIG_I2C_DEBUG_BUS is not set 806# CONFIG_I2C_DEBUG_BUS is not set
776# CONFIG_I2C_DEBUG_CHIP is not set 807# CONFIG_I2C_DEBUG_CHIP is not set
777# CONFIG_SPI is not set 808# CONFIG_SPI is not set
809CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
810CONFIG_ARCH_REQUIRE_GPIOLIB=y
811CONFIG_GPIOLIB=y
812# CONFIG_GPIO_SYSFS is not set
813
814#
815# I2C GPIO expanders:
816#
817# CONFIG_GPIO_MAX732X is not set
818# CONFIG_GPIO_PCA953X is not set
819# CONFIG_GPIO_PCF857X is not set
820
821#
822# PCI GPIO expanders:
823#
824# CONFIG_GPIO_BT8XX is not set
825
826#
827# SPI GPIO expanders:
828#
778# CONFIG_W1 is not set 829# CONFIG_W1 is not set
779# CONFIG_POWER_SUPPLY is not set 830# CONFIG_POWER_SUPPLY is not set
780CONFIG_HWMON=y 831CONFIG_HWMON=y
781# CONFIG_HWMON_VID is not set 832# CONFIG_HWMON_VID is not set
833# CONFIG_SENSORS_AD7414 is not set
782# CONFIG_SENSORS_AD7418 is not set 834# CONFIG_SENSORS_AD7418 is not set
783# CONFIG_SENSORS_ADM1021 is not set 835# CONFIG_SENSORS_ADM1021 is not set
784# CONFIG_SENSORS_ADM1025 is not set 836# CONFIG_SENSORS_ADM1025 is not set
@@ -832,6 +884,7 @@ CONFIG_SENSORS_LM75=y
832# CONFIG_SENSORS_W83627EHF is not set 884# CONFIG_SENSORS_W83627EHF is not set
833CONFIG_HWMON_DEBUG_CHIP=y 885CONFIG_HWMON_DEBUG_CHIP=y
834# CONFIG_THERMAL is not set 886# CONFIG_THERMAL is not set
887# CONFIG_THERMAL_HWMON is not set
835# CONFIG_WATCHDOG is not set 888# CONFIG_WATCHDOG is not set
836 889
837# 890#
@@ -843,8 +896,10 @@ CONFIG_SSB_POSSIBLE=y
843# 896#
844# Multifunction device drivers 897# Multifunction device drivers
845# 898#
899# CONFIG_MFD_CORE is not set
846# CONFIG_MFD_SM501 is not set 900# CONFIG_MFD_SM501 is not set
847# CONFIG_HTC_PASIC3 is not set 901# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set
848 903
849# 904#
850# Multimedia devices 905# Multimedia devices
@@ -876,10 +931,6 @@ CONFIG_DAB=y
876# Display device support 931# Display device support
877# 932#
878# CONFIG_DISPLAY_SUPPORT is not set 933# CONFIG_DISPLAY_SUPPORT is not set
879
880#
881# Sound
882#
883# CONFIG_SOUND is not set 934# CONFIG_SOUND is not set
884CONFIG_HID_SUPPORT=y 935CONFIG_HID_SUPPORT=y
885CONFIG_HID=y 936CONFIG_HID=y
@@ -894,6 +945,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
894# CONFIG_USB_OTG_BLACKLIST_HUB is not set 945# CONFIG_USB_OTG_BLACKLIST_HUB is not set
895 946
896# 947#
948# Enable Host or Gadget support to see Inventra options
949#
950
951#
897# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
898# 953#
899# CONFIG_USB_GADGET is not set 954# CONFIG_USB_GADGET is not set
@@ -982,6 +1037,7 @@ CONFIG_JFFS2_RTIME=y
982CONFIG_CRAMFS=y 1037CONFIG_CRAMFS=y
983# CONFIG_VXFS_FS is not set 1038# CONFIG_VXFS_FS is not set
984# CONFIG_MINIX_FS is not set 1039# CONFIG_MINIX_FS is not set
1040# CONFIG_OMFS_FS is not set
985# CONFIG_HPFS_FS is not set 1041# CONFIG_HPFS_FS is not set
986# CONFIG_QNX4FS_FS is not set 1042# CONFIG_QNX4FS_FS is not set
987# CONFIG_ROMFS_FS is not set 1043# CONFIG_ROMFS_FS is not set
@@ -991,12 +1047,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
991CONFIG_NFS_FS=y 1047CONFIG_NFS_FS=y
992# CONFIG_NFS_V3 is not set 1048# CONFIG_NFS_V3 is not set
993# CONFIG_NFS_V4 is not set 1049# CONFIG_NFS_V4 is not set
994# CONFIG_NFSD is not set
995CONFIG_ROOT_NFS=y 1050CONFIG_ROOT_NFS=y
1051# CONFIG_NFSD is not set
996CONFIG_LOCKD=y 1052CONFIG_LOCKD=y
997CONFIG_NFS_COMMON=y 1053CONFIG_NFS_COMMON=y
998CONFIG_SUNRPC=y 1054CONFIG_SUNRPC=y
999# CONFIG_SUNRPC_BIND34 is not set
1000# CONFIG_RPCSEC_GSS_KRB5 is not set 1055# CONFIG_RPCSEC_GSS_KRB5 is not set
1001# CONFIG_RPCSEC_GSS_SPKM3 is not set 1056# CONFIG_RPCSEC_GSS_SPKM3 is not set
1002# CONFIG_SMB_FS is not set 1057# CONFIG_SMB_FS is not set
@@ -1032,6 +1087,7 @@ CONFIG_BITREVERSE=y
1032# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1033# CONFIG_CRC_CCITT is not set 1088# CONFIG_CRC_CCITT is not set
1034# CONFIG_CRC16 is not set 1089# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set
1035# CONFIG_CRC_ITU_T is not set 1091# CONFIG_CRC_ITU_T is not set
1036CONFIG_CRC32=y 1092CONFIG_CRC32=y
1037# CONFIG_CRC7 is not set 1093# CONFIG_CRC7 is not set
@@ -1059,8 +1115,16 @@ CONFIG_FRAME_WARN=1024
1059# CONFIG_SLUB_DEBUG_ON is not set 1115# CONFIG_SLUB_DEBUG_ON is not set
1060# CONFIG_SLUB_STATS is not set 1116# CONFIG_SLUB_STATS is not set
1061# CONFIG_DEBUG_BUGVERBOSE is not set 1117# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set
1119# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y
1123# CONFIG_FTRACE is not set
1124# CONFIG_SCHED_TRACER is not set
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set
1062# CONFIG_SAMPLES is not set 1126# CONFIG_SAMPLES is not set
1063# CONFIG_KGDB_CONSOLE is not set 1127CONFIG_HAVE_ARCH_KGDB=y
1064# CONFIG_IRQSTACKS is not set 1128# CONFIG_IRQSTACKS is not set
1065# CONFIG_PPC_EARLY_DEBUG is not set 1129# CONFIG_PPC_EARLY_DEBUG is not set
1066 1130
@@ -1112,6 +1176,10 @@ CONFIG_CRYPTO=y
1112# CONFIG_CRYPTO_MD4 is not set 1176# CONFIG_CRYPTO_MD4 is not set
1113# CONFIG_CRYPTO_MD5 is not set 1177# CONFIG_CRYPTO_MD5 is not set
1114# CONFIG_CRYPTO_MICHAEL_MIC is not set 1178# CONFIG_CRYPTO_MICHAEL_MIC is not set
1179# CONFIG_CRYPTO_RMD128 is not set
1180# CONFIG_CRYPTO_RMD160 is not set
1181# CONFIG_CRYPTO_RMD256 is not set
1182# CONFIG_CRYPTO_RMD320 is not set
1115# CONFIG_CRYPTO_SHA1 is not set 1183# CONFIG_CRYPTO_SHA1 is not set
1116# CONFIG_CRYPTO_SHA256 is not set 1184# CONFIG_CRYPTO_SHA256 is not set
1117# CONFIG_CRYPTO_SHA512 is not set 1185# CONFIG_CRYPTO_SHA512 is not set
@@ -1144,6 +1212,7 @@ CONFIG_CRYPTO=y
1144# CONFIG_CRYPTO_LZO is not set 1212# CONFIG_CRYPTO_LZO is not set
1145CONFIG_CRYPTO_HW=y 1213CONFIG_CRYPTO_HW=y
1146# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1147# CONFIG_PPC_CLOCK is not set 1215# CONFIG_CRYPTO_DEV_TALITOS is not set
1216CONFIG_PPC_CLOCK=y
1148CONFIG_PPC_LIB_RHEAP=y 1217CONFIG_PPC_LIB_RHEAP=y
1149# CONFIG_VIRTUALIZATION is not set 1218# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig
index b3b770be3cc9..ca1234d26855 100644
--- a/arch/powerpc/configs/85xx/tqm8548_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8548_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Thu Jun 26 14:40:02 2008 4# Thu Aug 21 00:52:40 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -90,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
90CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
91CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
92CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
93CONFIG_SYSCTL_SYSCALL_CHECK=y
94CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
96# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -116,10 +116,16 @@ CONFIG_SLUB=y
116# CONFIG_MARKERS is not set 116# CONFIG_MARKERS is not set
117CONFIG_HAVE_OPROFILE=y 117CONFIG_HAVE_OPROFILE=y
118# CONFIG_KPROBES is not set 118# CONFIG_KPROBES is not set
119CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
120CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y
121# CONFIG_HAVE_DMA_ATTRS is not set 124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
122CONFIG_PROC_PAGE_MONITOR=y 127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
125# CONFIG_TINY_SHMEM is not set 131# CONFIG_TINY_SHMEM is not set
@@ -130,12 +136,13 @@ CONFIG_MODULE_UNLOAD=y
130# CONFIG_MODULE_FORCE_UNLOAD is not set 136# CONFIG_MODULE_FORCE_UNLOAD is not set
131# CONFIG_MODVERSIONS is not set 137# CONFIG_MODVERSIONS is not set
132# CONFIG_MODULE_SRCVERSION_ALL is not set 138# CONFIG_MODULE_SRCVERSION_ALL is not set
133# CONFIG_KMOD is not set 139CONFIG_KMOD=y
134CONFIG_BLOCK=y 140CONFIG_BLOCK=y
135# CONFIG_LBD is not set 141# CONFIG_LBD is not set
136# CONFIG_BLK_DEV_IO_TRACE is not set 142# CONFIG_BLK_DEV_IO_TRACE is not set
137# CONFIG_LSF is not set 143# CONFIG_LSF is not set
138# CONFIG_BLK_DEV_BSG is not set 144# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set
139 146
140# 147#
141# IO Schedulers 148# IO Schedulers
@@ -154,8 +161,6 @@ CONFIG_CLASSIC_RCU=y
154# 161#
155# Platform support 162# Platform support
156# 163#
157# CONFIG_PPC_MPC512x is not set
158# CONFIG_PPC_MPC5121 is not set
159# CONFIG_PPC_CELL is not set 164# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 165# CONFIG_PPC_CELL_NATIVE is not set
161# CONFIG_PQ2ADS is not set 166# CONFIG_PQ2ADS is not set
@@ -164,6 +169,7 @@ CONFIG_MPC85xx=y
164# CONFIG_MPC8560_ADS is not set 169# CONFIG_MPC8560_ADS is not set
165# CONFIG_MPC85xx_CDS is not set 170# CONFIG_MPC85xx_CDS is not set
166# CONFIG_MPC85xx_MDS is not set 171# CONFIG_MPC85xx_MDS is not set
172# CONFIG_MPC8536_DS is not set
167# CONFIG_MPC85xx_DS is not set 173# CONFIG_MPC85xx_DS is not set
168# CONFIG_KSI8560 is not set 174# CONFIG_KSI8560 is not set
169# CONFIG_STX_GP3 is not set 175# CONFIG_STX_GP3 is not set
@@ -187,7 +193,6 @@ CONFIG_MPIC=y
187# CONFIG_GENERIC_IOMAP is not set 193# CONFIG_GENERIC_IOMAP is not set
188# CONFIG_CPU_FREQ is not set 194# CONFIG_CPU_FREQ is not set
189# CONFIG_CPM2 is not set 195# CONFIG_CPM2 is not set
190CONFIG_PPC_CPM_NEW_BINDING=y
191# CONFIG_FSL_ULI1575 is not set 196# CONFIG_FSL_ULI1575 is not set
192 197
193# 198#
@@ -203,7 +208,7 @@ CONFIG_HZ_250=y
203# CONFIG_HZ_300 is not set 208# CONFIG_HZ_300 is not set
204# CONFIG_HZ_1000 is not set 209# CONFIG_HZ_1000 is not set
205CONFIG_HZ=250 210CONFIG_HZ=250
206# CONFIG_SCHED_HRTICK is not set 211CONFIG_SCHED_HRTICK=y
207CONFIG_PREEMPT_NONE=y 212CONFIG_PREEMPT_NONE=y
208# CONFIG_PREEMPT_VOLUNTARY is not set 213# CONFIG_PREEMPT_VOLUNTARY is not set
209# CONFIG_PREEMPT is not set 214# CONFIG_PREEMPT is not set
@@ -226,6 +231,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
226# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
227CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
228CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
234CONFIG_MIGRATION=y
229# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
230CONFIG_ZONE_DMA_FLAG=1 236CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 237CONFIG_BOUNCE=y
@@ -233,6 +239,7 @@ CONFIG_VIRT_TO_BUS=y
233CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
234CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
235# CONFIG_CMDLINE_BOOL is not set 241# CONFIG_CMDLINE_BOOL is not set
242CONFIG_EXTRA_TARGETS=""
236# CONFIG_PM is not set 243# CONFIG_PM is not set
237# CONFIG_SECCOMP is not set 244# CONFIG_SECCOMP is not set
238CONFIG_ISA_DMA_API=y 245CONFIG_ISA_DMA_API=y
@@ -244,7 +251,7 @@ CONFIG_ZONE_DMA=y
244CONFIG_PPC_INDIRECT_PCI=y 251CONFIG_PPC_INDIRECT_PCI=y
245CONFIG_FSL_SOC=y 252CONFIG_FSL_SOC=y
246CONFIG_FSL_PCI=y 253CONFIG_FSL_PCI=y
247CONFIG_FSL_LBC=y 254CONFIG_PPC_PCI_CHOICE=y
248CONFIG_PCI=y 255CONFIG_PCI=y
249CONFIG_PCI_DOMAINS=y 256CONFIG_PCI_DOMAINS=y
250CONFIG_PCI_SYSCALL=y 257CONFIG_PCI_SYSCALL=y
@@ -273,10 +280,6 @@ CONFIG_KERNEL_START=0xc0000000
273CONFIG_PHYSICAL_START=0x00000000 280CONFIG_PHYSICAL_START=0x00000000
274CONFIG_PHYSICAL_ALIGN=0x10000000 281CONFIG_PHYSICAL_ALIGN=0x10000000
275CONFIG_TASK_SIZE=0xc0000000 282CONFIG_TASK_SIZE=0xc0000000
276
277#
278# Networking
279#
280CONFIG_NET=y 283CONFIG_NET=y
281 284
282# 285#
@@ -455,7 +458,6 @@ CONFIG_MTD_NAND_IDS=y
455# CONFIG_MTD_NAND_NANDSIM is not set 458# CONFIG_MTD_NAND_NANDSIM is not set
456# CONFIG_MTD_NAND_PLATFORM is not set 459# CONFIG_MTD_NAND_PLATFORM is not set
457# CONFIG_MTD_NAND_FSL_ELBC is not set 460# CONFIG_MTD_NAND_FSL_ELBC is not set
458CONFIG_MTD_NAND_FSL_UPM=y
459# CONFIG_MTD_ONENAND is not set 461# CONFIG_MTD_ONENAND is not set
460 462
461# 463#
@@ -490,20 +492,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
490# CONFIG_BLK_DEV_XIP is not set 492# CONFIG_BLK_DEV_XIP is not set
491# CONFIG_CDROM_PKTCDVD is not set 493# CONFIG_CDROM_PKTCDVD is not set
492# CONFIG_ATA_OVER_ETH is not set 494# CONFIG_ATA_OVER_ETH is not set
495# CONFIG_BLK_DEV_HD is not set
493CONFIG_MISC_DEVICES=y 496CONFIG_MISC_DEVICES=y
494# CONFIG_PHANTOM is not set 497# CONFIG_PHANTOM is not set
495# CONFIG_EEPROM_93CX6 is not set 498# CONFIG_EEPROM_93CX6 is not set
496# CONFIG_SGI_IOC4 is not set 499# CONFIG_SGI_IOC4 is not set
497# CONFIG_TIFM_CORE is not set 500# CONFIG_TIFM_CORE is not set
498# CONFIG_ENCLOSURE_SERVICES is not set 501# CONFIG_ENCLOSURE_SERVICES is not set
502# CONFIG_HP_ILO is not set
499CONFIG_HAVE_IDE=y 503CONFIG_HAVE_IDE=y
500CONFIG_IDE=y 504CONFIG_IDE=y
501CONFIG_IDE_MAX_HWIFS=4
502CONFIG_BLK_DEV_IDE=y 505CONFIG_BLK_DEV_IDE=y
503 506
504# 507#
505# Please see Documentation/ide/ide.txt for help/info on IDE drives 508# Please see Documentation/ide/ide.txt for help/info on IDE drives
506# 509#
510CONFIG_IDE_TIMINGS=y
507# CONFIG_BLK_DEV_IDE_SATA is not set 511# CONFIG_BLK_DEV_IDE_SATA is not set
508# CONFIG_BLK_DEV_IDEDISK is not set 512# CONFIG_BLK_DEV_IDEDISK is not set
509# CONFIG_IDEDISK_MULTI_MODE is not set 513# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -516,7 +520,6 @@ CONFIG_IDE_PROC_FS=y
516# 520#
517# IDE chipset support/bugfixes 521# IDE chipset support/bugfixes
518# 522#
519CONFIG_IDE_GENERIC=y
520# CONFIG_BLK_DEV_PLATFORM is not set 523# CONFIG_BLK_DEV_PLATFORM is not set
521CONFIG_BLK_DEV_IDEDMA_SFF=y 524CONFIG_BLK_DEV_IDEDMA_SFF=y
522 525
@@ -534,10 +537,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
534# CONFIG_BLK_DEV_AMD74XX is not set 537# CONFIG_BLK_DEV_AMD74XX is not set
535# CONFIG_BLK_DEV_CMD64X is not set 538# CONFIG_BLK_DEV_CMD64X is not set
536# CONFIG_BLK_DEV_TRIFLEX is not set 539# CONFIG_BLK_DEV_TRIFLEX is not set
537# CONFIG_BLK_DEV_CY82C693 is not set
538# CONFIG_BLK_DEV_CS5520 is not set 540# CONFIG_BLK_DEV_CS5520 is not set
539# CONFIG_BLK_DEV_CS5530 is not set 541# CONFIG_BLK_DEV_CS5530 is not set
540# CONFIG_BLK_DEV_HPT34X is not set
541# CONFIG_BLK_DEV_HPT366 is not set 542# CONFIG_BLK_DEV_HPT366 is not set
542# CONFIG_BLK_DEV_JMICRON is not set 543# CONFIG_BLK_DEV_JMICRON is not set
543# CONFIG_BLK_DEV_SC1200 is not set 544# CONFIG_BLK_DEV_SC1200 is not set
@@ -555,8 +556,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
555CONFIG_BLK_DEV_VIA82CXXX=y 556CONFIG_BLK_DEV_VIA82CXXX=y
556# CONFIG_BLK_DEV_TC86C001 is not set 557# CONFIG_BLK_DEV_TC86C001 is not set
557CONFIG_BLK_DEV_IDEDMA=y 558CONFIG_BLK_DEV_IDEDMA=y
558# CONFIG_BLK_DEV_HD_ONLY is not set
559# CONFIG_BLK_DEV_HD is not set
560 559
561# 560#
562# SCSI device support 561# SCSI device support
@@ -572,12 +571,15 @@ CONFIG_BLK_DEV_IDEDMA=y
572# 571#
573# IEEE 1394 (FireWire) support 572# IEEE 1394 (FireWire) support
574# 573#
574
575#
576# Enable only one of the two stacks, unless you know what you are doing
577#
575# CONFIG_FIREWIRE is not set 578# CONFIG_FIREWIRE is not set
576# CONFIG_IEEE1394 is not set 579# CONFIG_IEEE1394 is not set
577# CONFIG_I2O is not set 580# CONFIG_I2O is not set
578# CONFIG_MACINTOSH_DRIVERS is not set 581# CONFIG_MACINTOSH_DRIVERS is not set
579CONFIG_NETDEVICES=y 582CONFIG_NETDEVICES=y
580# CONFIG_NETDEVICES_MULTIQUEUE is not set
581# CONFIG_DUMMY is not set 583# CONFIG_DUMMY is not set
582# CONFIG_BONDING is not set 584# CONFIG_BONDING is not set
583# CONFIG_MACVLAN is not set 585# CONFIG_MACVLAN is not set
@@ -620,10 +622,8 @@ CONFIG_NETDEV_1000=y
620# CONFIG_ACENIC is not set 622# CONFIG_ACENIC is not set
621# CONFIG_DL2K is not set 623# CONFIG_DL2K is not set
622CONFIG_E1000=y 624CONFIG_E1000=y
623CONFIG_E1000_NAPI=y
624# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 625# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
625# CONFIG_E1000E is not set 626# CONFIG_E1000E is not set
626# CONFIG_E1000E_ENABLED is not set
627# CONFIG_IP1000 is not set 627# CONFIG_IP1000 is not set
628# CONFIG_IGB is not set 628# CONFIG_IGB is not set
629# CONFIG_NS83820 is not set 629# CONFIG_NS83820 is not set
@@ -637,9 +637,9 @@ CONFIG_E1000_NAPI=y
637# CONFIG_TIGON3 is not set 637# CONFIG_TIGON3 is not set
638# CONFIG_BNX2 is not set 638# CONFIG_BNX2 is not set
639CONFIG_GIANFAR=y 639CONFIG_GIANFAR=y
640CONFIG_GFAR_NAPI=y
641# CONFIG_QLA3XXX is not set 640# CONFIG_QLA3XXX is not set
642# CONFIG_ATL1 is not set 641# CONFIG_ATL1 is not set
642# CONFIG_ATL1E is not set
643CONFIG_NETDEV_10000=y 643CONFIG_NETDEV_10000=y
644# CONFIG_CHELSIO_T1 is not set 644# CONFIG_CHELSIO_T1 is not set
645# CONFIG_CHELSIO_T3 is not set 645# CONFIG_CHELSIO_T3 is not set
@@ -744,42 +744,63 @@ CONFIG_DEVPORT=y
744CONFIG_I2C=y 744CONFIG_I2C=y
745CONFIG_I2C_BOARDINFO=y 745CONFIG_I2C_BOARDINFO=y
746CONFIG_I2C_CHARDEV=y 746CONFIG_I2C_CHARDEV=y
747CONFIG_I2C_HELPER_AUTO=y
747 748
748# 749#
749# I2C Hardware Bus support 750# I2C Hardware Bus support
750# 751#
752
753#
754# PC SMBus host controller drivers
755#
751# CONFIG_I2C_ALI1535 is not set 756# CONFIG_I2C_ALI1535 is not set
752# CONFIG_I2C_ALI1563 is not set 757# CONFIG_I2C_ALI1563 is not set
753# CONFIG_I2C_ALI15X3 is not set 758# CONFIG_I2C_ALI15X3 is not set
754# CONFIG_I2C_AMD756 is not set 759# CONFIG_I2C_AMD756 is not set
755# CONFIG_I2C_AMD8111 is not set 760# CONFIG_I2C_AMD8111 is not set
756# CONFIG_I2C_I801 is not set 761# CONFIG_I2C_I801 is not set
757# CONFIG_I2C_I810 is not set 762# CONFIG_I2C_ISCH is not set
758# CONFIG_I2C_PIIX4 is not set 763# CONFIG_I2C_PIIX4 is not set
759CONFIG_I2C_MPC=y
760# CONFIG_I2C_NFORCE2 is not set 764# CONFIG_I2C_NFORCE2 is not set
761# CONFIG_I2C_OCORES is not set
762# CONFIG_I2C_PARPORT_LIGHT is not set
763# CONFIG_I2C_PROSAVAGE is not set
764# CONFIG_I2C_SAVAGE4 is not set
765# CONFIG_I2C_SIMTEC is not set
766# CONFIG_I2C_SIS5595 is not set 765# CONFIG_I2C_SIS5595 is not set
767# CONFIG_I2C_SIS630 is not set 766# CONFIG_I2C_SIS630 is not set
768# CONFIG_I2C_SIS96X is not set 767# CONFIG_I2C_SIS96X is not set
769# CONFIG_I2C_TAOS_EVM is not set
770# CONFIG_I2C_STUB is not set
771# CONFIG_I2C_VIA is not set 768# CONFIG_I2C_VIA is not set
772# CONFIG_I2C_VIAPRO is not set 769# CONFIG_I2C_VIAPRO is not set
770
771#
772# I2C system bus drivers (mostly embedded / system-on-chip)
773#
774CONFIG_I2C_MPC=y
775# CONFIG_I2C_OCORES is not set
776# CONFIG_I2C_SIMTEC is not set
777
778#
779# External I2C/SMBus adapter drivers
780#
781# CONFIG_I2C_PARPORT_LIGHT is not set
782# CONFIG_I2C_TAOS_EVM is not set
783
784#
785# Graphics adapter I2C/DDC channel drivers
786#
773# CONFIG_I2C_VOODOO3 is not set 787# CONFIG_I2C_VOODOO3 is not set
788
789#
790# Other I2C/SMBus bus drivers
791#
774# CONFIG_I2C_PCA_PLATFORM is not set 792# CONFIG_I2C_PCA_PLATFORM is not set
793# CONFIG_I2C_STUB is not set
775 794
776# 795#
777# Miscellaneous I2C Chip support 796# Miscellaneous I2C Chip support
778# 797#
779# CONFIG_DS1682 is not set 798# CONFIG_DS1682 is not set
799# CONFIG_AT24 is not set
780# CONFIG_SENSORS_EEPROM is not set 800# CONFIG_SENSORS_EEPROM is not set
781# CONFIG_SENSORS_PCF8574 is not set 801# CONFIG_SENSORS_PCF8574 is not set
782# CONFIG_PCF8575 is not set 802# CONFIG_PCF8575 is not set
803# CONFIG_SENSORS_PCA9539 is not set
783# CONFIG_SENSORS_PCF8591 is not set 804# CONFIG_SENSORS_PCF8591 is not set
784# CONFIG_SENSORS_MAX6875 is not set 805# CONFIG_SENSORS_MAX6875 is not set
785# CONFIG_SENSORS_TSL2550 is not set 806# CONFIG_SENSORS_TSL2550 is not set
@@ -788,10 +809,13 @@ CONFIG_I2C_MPC=y
788# CONFIG_I2C_DEBUG_BUS is not set 809# CONFIG_I2C_DEBUG_BUS is not set
789# CONFIG_I2C_DEBUG_CHIP is not set 810# CONFIG_I2C_DEBUG_CHIP is not set
790# CONFIG_SPI is not set 811# CONFIG_SPI is not set
812CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
813# CONFIG_GPIOLIB is not set
791# CONFIG_W1 is not set 814# CONFIG_W1 is not set
792# CONFIG_POWER_SUPPLY is not set 815# CONFIG_POWER_SUPPLY is not set
793CONFIG_HWMON=y 816CONFIG_HWMON=y
794# CONFIG_HWMON_VID is not set 817# CONFIG_HWMON_VID is not set
818# CONFIG_SENSORS_AD7414 is not set
795# CONFIG_SENSORS_AD7418 is not set 819# CONFIG_SENSORS_AD7418 is not set
796# CONFIG_SENSORS_ADM1021 is not set 820# CONFIG_SENSORS_ADM1021 is not set
797# CONFIG_SENSORS_ADM1025 is not set 821# CONFIG_SENSORS_ADM1025 is not set
@@ -845,6 +869,7 @@ CONFIG_SENSORS_LM75=y
845# CONFIG_SENSORS_W83627EHF is not set 869# CONFIG_SENSORS_W83627EHF is not set
846# CONFIG_HWMON_DEBUG_CHIP is not set 870# CONFIG_HWMON_DEBUG_CHIP is not set
847# CONFIG_THERMAL is not set 871# CONFIG_THERMAL is not set
872# CONFIG_THERMAL_HWMON is not set
848# CONFIG_WATCHDOG is not set 873# CONFIG_WATCHDOG is not set
849 874
850# 875#
@@ -856,8 +881,10 @@ CONFIG_SSB_POSSIBLE=y
856# 881#
857# Multifunction device drivers 882# Multifunction device drivers
858# 883#
884# CONFIG_MFD_CORE is not set
859# CONFIG_MFD_SM501 is not set 885# CONFIG_MFD_SM501 is not set
860# CONFIG_HTC_PASIC3 is not set 886# CONFIG_HTC_PASIC3 is not set
887# CONFIG_MFD_TMIO is not set
861 888
862# 889#
863# Multimedia devices 890# Multimedia devices
@@ -889,10 +916,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
889# Display device support 916# Display device support
890# 917#
891# CONFIG_DISPLAY_SUPPORT is not set 918# CONFIG_DISPLAY_SUPPORT is not set
892
893#
894# Sound
895#
896# CONFIG_SOUND is not set 919# CONFIG_SOUND is not set
897CONFIG_HID_SUPPORT=y 920CONFIG_HID_SUPPORT=y
898CONFIG_HID=y 921CONFIG_HID=y
@@ -907,6 +930,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
907# CONFIG_USB_OTG_BLACKLIST_HUB is not set 930# CONFIG_USB_OTG_BLACKLIST_HUB is not set
908 931
909# 932#
933# Enable Host or Gadget support to see Inventra options
934#
935
936#
910# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 937# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
911# 938#
912# CONFIG_USB_GADGET is not set 939# CONFIG_USB_GADGET is not set
@@ -945,6 +972,7 @@ CONFIG_RTC_DRV_DS1307=y
945# CONFIG_RTC_DRV_PCF8583 is not set 972# CONFIG_RTC_DRV_PCF8583 is not set
946# CONFIG_RTC_DRV_M41T80 is not set 973# CONFIG_RTC_DRV_M41T80 is not set
947# CONFIG_RTC_DRV_S35390A is not set 974# CONFIG_RTC_DRV_S35390A is not set
975# CONFIG_RTC_DRV_FM3130 is not set
948 976
949# 977#
950# SPI RTC drivers 978# SPI RTC drivers
@@ -1031,9 +1059,11 @@ CONFIG_TMPFS=y
1031# CONFIG_BFS_FS is not set 1059# CONFIG_BFS_FS is not set
1032# CONFIG_EFS_FS is not set 1060# CONFIG_EFS_FS is not set
1033# CONFIG_JFFS2_FS is not set 1061# CONFIG_JFFS2_FS is not set
1062# CONFIG_UBIFS_FS is not set
1034# CONFIG_CRAMFS is not set 1063# CONFIG_CRAMFS is not set
1035# CONFIG_VXFS_FS is not set 1064# CONFIG_VXFS_FS is not set
1036# CONFIG_MINIX_FS is not set 1065# CONFIG_MINIX_FS is not set
1066# CONFIG_OMFS_FS is not set
1037# CONFIG_HPFS_FS is not set 1067# CONFIG_HPFS_FS is not set
1038# CONFIG_QNX4FS_FS is not set 1068# CONFIG_QNX4FS_FS is not set
1039# CONFIG_ROMFS_FS is not set 1069# CONFIG_ROMFS_FS is not set
@@ -1043,12 +1073,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
1043CONFIG_NFS_FS=y 1073CONFIG_NFS_FS=y
1044# CONFIG_NFS_V3 is not set 1074# CONFIG_NFS_V3 is not set
1045# CONFIG_NFS_V4 is not set 1075# CONFIG_NFS_V4 is not set
1046# CONFIG_NFSD is not set
1047CONFIG_ROOT_NFS=y 1076CONFIG_ROOT_NFS=y
1077# CONFIG_NFSD is not set
1048CONFIG_LOCKD=y 1078CONFIG_LOCKD=y
1049CONFIG_NFS_COMMON=y 1079CONFIG_NFS_COMMON=y
1050CONFIG_SUNRPC=y 1080CONFIG_SUNRPC=y
1051# CONFIG_SUNRPC_BIND34 is not set
1052# CONFIG_RPCSEC_GSS_KRB5 is not set 1081# CONFIG_RPCSEC_GSS_KRB5 is not set
1053# CONFIG_RPCSEC_GSS_SPKM3 is not set 1082# CONFIG_RPCSEC_GSS_SPKM3 is not set
1054# CONFIG_SMB_FS is not set 1083# CONFIG_SMB_FS is not set
@@ -1084,6 +1113,7 @@ CONFIG_BITREVERSE=y
1084# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1113# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1085# CONFIG_CRC_CCITT is not set 1114# CONFIG_CRC_CCITT is not set
1086# CONFIG_CRC16 is not set 1115# CONFIG_CRC16 is not set
1116# CONFIG_CRC_T10DIF is not set
1087# CONFIG_CRC_ITU_T is not set 1117# CONFIG_CRC_ITU_T is not set
1088CONFIG_CRC32=y 1118CONFIG_CRC32=y
1089# CONFIG_CRC7 is not set 1119# CONFIG_CRC7 is not set
@@ -1108,6 +1138,8 @@ CONFIG_FRAME_WARN=1024
1108CONFIG_DEBUG_KERNEL=y 1138CONFIG_DEBUG_KERNEL=y
1109# CONFIG_DEBUG_SHIRQ is not set 1139# CONFIG_DEBUG_SHIRQ is not set
1110CONFIG_DETECT_SOFTLOCKUP=y 1140CONFIG_DETECT_SOFTLOCKUP=y
1141# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1142CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1111CONFIG_SCHED_DEBUG=y 1143CONFIG_SCHED_DEBUG=y
1112# CONFIG_SCHEDSTATS is not set 1144# CONFIG_SCHEDSTATS is not set
1113# CONFIG_TIMER_STATS is not set 1145# CONFIG_TIMER_STATS is not set
@@ -1125,17 +1157,29 @@ CONFIG_DEBUG_MUTEXES=y
1125# CONFIG_DEBUG_INFO is not set 1157# CONFIG_DEBUG_INFO is not set
1126# CONFIG_DEBUG_VM is not set 1158# CONFIG_DEBUG_VM is not set
1127# CONFIG_DEBUG_WRITECOUNT is not set 1159# CONFIG_DEBUG_WRITECOUNT is not set
1160# CONFIG_DEBUG_MEMORY_INIT is not set
1128# CONFIG_DEBUG_LIST is not set 1161# CONFIG_DEBUG_LIST is not set
1129# CONFIG_DEBUG_SG is not set 1162# CONFIG_DEBUG_SG is not set
1130# CONFIG_BOOT_PRINTK_DELAY is not set 1163# CONFIG_BOOT_PRINTK_DELAY is not set
1131# CONFIG_RCU_TORTURE_TEST is not set 1164# CONFIG_RCU_TORTURE_TEST is not set
1132# CONFIG_BACKTRACE_SELF_TEST is not set 1165# CONFIG_BACKTRACE_SELF_TEST is not set
1133# CONFIG_FAULT_INJECTION is not set 1166# CONFIG_FAULT_INJECTION is not set
1167# CONFIG_LATENCYTOP is not set
1168CONFIG_SYSCTL_SYSCALL_CHECK=y
1169CONFIG_HAVE_FTRACE=y
1170CONFIG_HAVE_DYNAMIC_FTRACE=y
1171# CONFIG_FTRACE is not set
1172# CONFIG_SCHED_TRACER is not set
1173# CONFIG_CONTEXT_SWITCH_TRACER is not set
1134# CONFIG_SAMPLES is not set 1174# CONFIG_SAMPLES is not set
1175CONFIG_HAVE_ARCH_KGDB=y
1176# CONFIG_KGDB is not set
1135# CONFIG_DEBUG_STACKOVERFLOW is not set 1177# CONFIG_DEBUG_STACKOVERFLOW is not set
1136# CONFIG_DEBUG_STACK_USAGE is not set 1178# CONFIG_DEBUG_STACK_USAGE is not set
1137# CONFIG_DEBUG_PAGEALLOC is not set 1179# CONFIG_DEBUG_PAGEALLOC is not set
1138# CONFIG_DEBUGGER is not set 1180# CONFIG_CODE_PATCHING_SELFTEST is not set
1181# CONFIG_FTR_FIXUP_SELFTEST is not set
1182# CONFIG_XMON is not set
1139# CONFIG_IRQSTACKS is not set 1183# CONFIG_IRQSTACKS is not set
1140# CONFIG_BDI_SWITCH is not set 1184# CONFIG_BDI_SWITCH is not set
1141# CONFIG_PPC_EARLY_DEBUG is not set 1185# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1189,6 +1233,10 @@ CONFIG_CRYPTO=y
1189# CONFIG_CRYPTO_MD4 is not set 1233# CONFIG_CRYPTO_MD4 is not set
1190# CONFIG_CRYPTO_MD5 is not set 1234# CONFIG_CRYPTO_MD5 is not set
1191# CONFIG_CRYPTO_MICHAEL_MIC is not set 1235# CONFIG_CRYPTO_MICHAEL_MIC is not set
1236# CONFIG_CRYPTO_RMD128 is not set
1237# CONFIG_CRYPTO_RMD160 is not set
1238# CONFIG_CRYPTO_RMD256 is not set
1239# CONFIG_CRYPTO_RMD320 is not set
1192# CONFIG_CRYPTO_SHA1 is not set 1240# CONFIG_CRYPTO_SHA1 is not set
1193# CONFIG_CRYPTO_SHA256 is not set 1241# CONFIG_CRYPTO_SHA256 is not set
1194# CONFIG_CRYPTO_SHA512 is not set 1242# CONFIG_CRYPTO_SHA512 is not set
@@ -1221,5 +1269,6 @@ CONFIG_CRYPTO=y
1221# CONFIG_CRYPTO_LZO is not set 1269# CONFIG_CRYPTO_LZO is not set
1222CONFIG_CRYPTO_HW=y 1270CONFIG_CRYPTO_HW=y
1223# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1271# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1272# CONFIG_CRYPTO_DEV_TALITOS is not set
1224# CONFIG_PPC_CLOCK is not set 1273# CONFIG_PPC_CLOCK is not set
1225# CONFIG_VIRTUALIZATION is not set 1274# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig
index 03120b5b52fa..dcf9cfe28b55 100644
--- a/arch/powerpc/configs/85xx/tqm8555_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8555_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:41 2008 4# Thu Aug 21 00:52:42 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -89,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 95# CONFIG_KALLSYMS is not set
94# CONFIG_HOTPLUG is not set 96# CONFIG_HOTPLUG is not set
95CONFIG_PRINTK=y 97CONFIG_PRINTK=y
@@ -112,10 +114,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 114# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 115# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 116CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y
118CONFIG_PROC_PAGE_MONITOR=y 125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 129# CONFIG_TINY_SHMEM is not set
@@ -126,6 +134,7 @@ CONFIG_BLOCK=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 134# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 135# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 136# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set
129 138
130# 139#
131# IO Schedulers 140# IO Schedulers
@@ -144,8 +153,6 @@ CONFIG_CLASSIC_RCU=y
144# 153#
145# Platform support 154# Platform support
146# 155#
147# CONFIG_PPC_MPC512x is not set
148# CONFIG_PPC_MPC5121 is not set
149# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
@@ -154,11 +161,13 @@ CONFIG_MPC85xx=y
154# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
155# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
156# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
164# CONFIG_MPC8536_DS is not set
157# CONFIG_MPC85xx_DS is not set 165# CONFIG_MPC85xx_DS is not set
158# CONFIG_KSI8560 is not set 166# CONFIG_KSI8560 is not set
159# CONFIG_STX_GP3 is not set 167# CONFIG_STX_GP3 is not set
160# CONFIG_TQM8540 is not set 168# CONFIG_TQM8540 is not set
161# CONFIG_TQM8541 is not set 169# CONFIG_TQM8541 is not set
170# CONFIG_TQM8548 is not set
162CONFIG_TQM8555=y 171CONFIG_TQM8555=y
163# CONFIG_TQM8560 is not set 172# CONFIG_TQM8560 is not set
164# CONFIG_SBC8548 is not set 173# CONFIG_SBC8548 is not set
@@ -176,7 +185,6 @@ CONFIG_MPIC=y
176# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
177# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
178CONFIG_CPM2=y 187CONFIG_CPM2=y
179CONFIG_PPC_CPM_NEW_BINDING=y
180# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
181CONFIG_CPM=y 189CONFIG_CPM=y
182 190
@@ -216,6 +224,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
216# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
217CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
218CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y
219# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
220CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
221CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
@@ -223,6 +232,7 @@ CONFIG_VIRT_TO_BUS=y
223CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
224# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
225# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
235CONFIG_EXTRA_TARGETS=""
226# CONFIG_PM is not set 236# CONFIG_PM is not set
227CONFIG_SECCOMP=y 237CONFIG_SECCOMP=y
228CONFIG_ISA_DMA_API=y 238CONFIG_ISA_DMA_API=y
@@ -234,6 +244,7 @@ CONFIG_ZONE_DMA=y
234CONFIG_PPC_INDIRECT_PCI=y 244CONFIG_PPC_INDIRECT_PCI=y
235CONFIG_FSL_SOC=y 245CONFIG_FSL_SOC=y
236CONFIG_FSL_PCI=y 246CONFIG_FSL_PCI=y
247CONFIG_PPC_PCI_CHOICE=y
237CONFIG_PCI=y 248CONFIG_PCI=y
238CONFIG_PCI_DOMAINS=y 249CONFIG_PCI_DOMAINS=y
239CONFIG_PCI_SYSCALL=y 250CONFIG_PCI_SYSCALL=y
@@ -257,10 +268,6 @@ CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 268CONFIG_PHYSICAL_START=0x00000000
258CONFIG_PHYSICAL_ALIGN=0x10000000 269CONFIG_PHYSICAL_ALIGN=0x10000000
259CONFIG_TASK_SIZE=0xc0000000 270CONFIG_TASK_SIZE=0xc0000000
260
261#
262# Networking
263#
264CONFIG_NET=y 271CONFIG_NET=y
265 272
266# 273#
@@ -432,6 +439,7 @@ CONFIG_MTD_CFI_UTIL=y
432# 439#
433# CONFIG_MTD_UBI is not set 440# CONFIG_MTD_UBI is not set
434CONFIG_OF_DEVICE=y 441CONFIG_OF_DEVICE=y
442CONFIG_OF_GPIO=y
435CONFIG_OF_I2C=y 443CONFIG_OF_I2C=y
436# CONFIG_PARPORT is not set 444# CONFIG_PARPORT is not set
437CONFIG_BLK_DEV=y 445CONFIG_BLK_DEV=y
@@ -451,20 +459,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
451# CONFIG_BLK_DEV_XIP is not set 459# CONFIG_BLK_DEV_XIP is not set
452# CONFIG_CDROM_PKTCDVD is not set 460# CONFIG_CDROM_PKTCDVD is not set
453# CONFIG_ATA_OVER_ETH is not set 461# CONFIG_ATA_OVER_ETH is not set
462# CONFIG_BLK_DEV_HD is not set
454CONFIG_MISC_DEVICES=y 463CONFIG_MISC_DEVICES=y
455# CONFIG_PHANTOM is not set 464# CONFIG_PHANTOM is not set
456# CONFIG_EEPROM_93CX6 is not set 465# CONFIG_EEPROM_93CX6 is not set
457# CONFIG_SGI_IOC4 is not set 466# CONFIG_SGI_IOC4 is not set
458# CONFIG_TIFM_CORE is not set 467# CONFIG_TIFM_CORE is not set
459# CONFIG_ENCLOSURE_SERVICES is not set 468# CONFIG_ENCLOSURE_SERVICES is not set
469# CONFIG_HP_ILO is not set
460CONFIG_HAVE_IDE=y 470CONFIG_HAVE_IDE=y
461CONFIG_IDE=y 471CONFIG_IDE=y
462CONFIG_IDE_MAX_HWIFS=4
463CONFIG_BLK_DEV_IDE=y 472CONFIG_BLK_DEV_IDE=y
464 473
465# 474#
466# Please see Documentation/ide/ide.txt for help/info on IDE drives 475# Please see Documentation/ide/ide.txt for help/info on IDE drives
467# 476#
477CONFIG_IDE_TIMINGS=y
468# CONFIG_BLK_DEV_IDE_SATA is not set 478# CONFIG_BLK_DEV_IDE_SATA is not set
469CONFIG_BLK_DEV_IDEDISK=y 479CONFIG_BLK_DEV_IDEDISK=y
470# CONFIG_IDEDISK_MULTI_MODE is not set 480# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -477,7 +487,6 @@ CONFIG_IDE_PROC_FS=y
477# 487#
478# IDE chipset support/bugfixes 488# IDE chipset support/bugfixes
479# 489#
480CONFIG_IDE_GENERIC=y
481# CONFIG_BLK_DEV_PLATFORM is not set 490# CONFIG_BLK_DEV_PLATFORM is not set
482CONFIG_BLK_DEV_IDEDMA_SFF=y 491CONFIG_BLK_DEV_IDEDMA_SFF=y
483 492
@@ -495,10 +504,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
495# CONFIG_BLK_DEV_AMD74XX is not set 504# CONFIG_BLK_DEV_AMD74XX is not set
496# CONFIG_BLK_DEV_CMD64X is not set 505# CONFIG_BLK_DEV_CMD64X is not set
497# CONFIG_BLK_DEV_TRIFLEX is not set 506# CONFIG_BLK_DEV_TRIFLEX is not set
498# CONFIG_BLK_DEV_CY82C693 is not set
499# CONFIG_BLK_DEV_CS5520 is not set 507# CONFIG_BLK_DEV_CS5520 is not set
500# CONFIG_BLK_DEV_CS5530 is not set 508# CONFIG_BLK_DEV_CS5530 is not set
501# CONFIG_BLK_DEV_HPT34X is not set
502# CONFIG_BLK_DEV_HPT366 is not set 509# CONFIG_BLK_DEV_HPT366 is not set
503# CONFIG_BLK_DEV_JMICRON is not set 510# CONFIG_BLK_DEV_JMICRON is not set
504# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
@@ -516,8 +523,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
516CONFIG_BLK_DEV_VIA82CXXX=y 523CONFIG_BLK_DEV_VIA82CXXX=y
517# CONFIG_BLK_DEV_TC86C001 is not set 524# CONFIG_BLK_DEV_TC86C001 is not set
518CONFIG_BLK_DEV_IDEDMA=y 525CONFIG_BLK_DEV_IDEDMA=y
519# CONFIG_BLK_DEV_HD_ONLY is not set
520# CONFIG_BLK_DEV_HD is not set
521 526
522# 527#
523# SCSI device support 528# SCSI device support
@@ -533,12 +538,15 @@ CONFIG_BLK_DEV_IDEDMA=y
533# 538#
534# IEEE 1394 (FireWire) support 539# IEEE 1394 (FireWire) support
535# 540#
541
542#
543# Enable only one of the two stacks, unless you know what you are doing
544#
536# CONFIG_FIREWIRE is not set 545# CONFIG_FIREWIRE is not set
537# CONFIG_IEEE1394 is not set 546# CONFIG_IEEE1394 is not set
538# CONFIG_I2O is not set 547# CONFIG_I2O is not set
539# CONFIG_MACINTOSH_DRIVERS is not set 548# CONFIG_MACINTOSH_DRIVERS is not set
540CONFIG_NETDEVICES=y 549CONFIG_NETDEVICES=y
541# CONFIG_NETDEVICES_MULTIQUEUE is not set
542# CONFIG_DUMMY is not set 550# CONFIG_DUMMY is not set
543# CONFIG_BONDING is not set 551# CONFIG_BONDING is not set
544# CONFIG_MACVLAN is not set 552# CONFIG_MACVLAN is not set
@@ -601,7 +609,6 @@ CONFIG_NETDEV_1000=y
601# CONFIG_DL2K is not set 609# CONFIG_DL2K is not set
602# CONFIG_E1000 is not set 610# CONFIG_E1000 is not set
603# CONFIG_E1000E is not set 611# CONFIG_E1000E is not set
604# CONFIG_E1000E_ENABLED is not set
605# CONFIG_IP1000 is not set 612# CONFIG_IP1000 is not set
606# CONFIG_IGB is not set 613# CONFIG_IGB is not set
607# CONFIG_NS83820 is not set 614# CONFIG_NS83820 is not set
@@ -615,9 +622,9 @@ CONFIG_NETDEV_1000=y
615# CONFIG_TIGON3 is not set 622# CONFIG_TIGON3 is not set
616# CONFIG_BNX2 is not set 623# CONFIG_BNX2 is not set
617CONFIG_GIANFAR=y 624CONFIG_GIANFAR=y
618CONFIG_GFAR_NAPI=y
619# CONFIG_QLA3XXX is not set 625# CONFIG_QLA3XXX is not set
620# CONFIG_ATL1 is not set 626# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set
621CONFIG_NETDEV_10000=y 628CONFIG_NETDEV_10000=y
622# CONFIG_CHELSIO_T1 is not set 629# CONFIG_CHELSIO_T1 is not set
623# CONFIG_CHELSIO_T3 is not set 630# CONFIG_CHELSIO_T3 is not set
@@ -732,42 +739,66 @@ CONFIG_DEVPORT=y
732CONFIG_I2C=y 739CONFIG_I2C=y
733CONFIG_I2C_BOARDINFO=y 740CONFIG_I2C_BOARDINFO=y
734CONFIG_I2C_CHARDEV=y 741CONFIG_I2C_CHARDEV=y
742CONFIG_I2C_HELPER_AUTO=y
735 743
736# 744#
737# I2C Hardware Bus support 745# I2C Hardware Bus support
738# 746#
747
748#
749# PC SMBus host controller drivers
750#
739# CONFIG_I2C_ALI1535 is not set 751# CONFIG_I2C_ALI1535 is not set
740# CONFIG_I2C_ALI1563 is not set 752# CONFIG_I2C_ALI1563 is not set
741# CONFIG_I2C_ALI15X3 is not set 753# CONFIG_I2C_ALI15X3 is not set
742# CONFIG_I2C_AMD756 is not set 754# CONFIG_I2C_AMD756 is not set
743# CONFIG_I2C_AMD8111 is not set 755# CONFIG_I2C_AMD8111 is not set
744# CONFIG_I2C_I801 is not set 756# CONFIG_I2C_I801 is not set
745# CONFIG_I2C_I810 is not set 757# CONFIG_I2C_ISCH is not set
746# CONFIG_I2C_PIIX4 is not set 758# CONFIG_I2C_PIIX4 is not set
747CONFIG_I2C_MPC=y
748# CONFIG_I2C_NFORCE2 is not set 759# CONFIG_I2C_NFORCE2 is not set
749# CONFIG_I2C_OCORES is not set
750# CONFIG_I2C_PARPORT_LIGHT is not set
751# CONFIG_I2C_PROSAVAGE is not set
752# CONFIG_I2C_SAVAGE4 is not set
753# CONFIG_I2C_SIMTEC is not set
754# CONFIG_I2C_SIS5595 is not set 760# CONFIG_I2C_SIS5595 is not set
755# CONFIG_I2C_SIS630 is not set 761# CONFIG_I2C_SIS630 is not set
756# CONFIG_I2C_SIS96X is not set 762# CONFIG_I2C_SIS96X is not set
757# CONFIG_I2C_TAOS_EVM is not set
758# CONFIG_I2C_VIA is not set 763# CONFIG_I2C_VIA is not set
759# CONFIG_I2C_VIAPRO is not set 764# CONFIG_I2C_VIAPRO is not set
765
766#
767# I2C system bus drivers (mostly embedded / system-on-chip)
768#
769# CONFIG_I2C_CPM is not set
770# CONFIG_I2C_GPIO is not set
771CONFIG_I2C_MPC=y
772# CONFIG_I2C_OCORES is not set
773# CONFIG_I2C_SIMTEC is not set
774
775#
776# External I2C/SMBus adapter drivers
777#
778# CONFIG_I2C_PARPORT_LIGHT is not set
779# CONFIG_I2C_TAOS_EVM is not set
780
781#
782# Graphics adapter I2C/DDC channel drivers
783#
760# CONFIG_I2C_VOODOO3 is not set 784# CONFIG_I2C_VOODOO3 is not set
785
786#
787# Other I2C/SMBus bus drivers
788#
761# CONFIG_I2C_PCA_PLATFORM is not set 789# CONFIG_I2C_PCA_PLATFORM is not set
762 790
763# 791#
764# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
765# 793#
766# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
795# CONFIG_AT24 is not set
767# CONFIG_SENSORS_EEPROM is not set 796# CONFIG_SENSORS_EEPROM is not set
768# CONFIG_SENSORS_PCF8574 is not set 797# CONFIG_SENSORS_PCF8574 is not set
769# CONFIG_PCF8575 is not set 798# CONFIG_PCF8575 is not set
799# CONFIG_SENSORS_PCA9539 is not set
770# CONFIG_SENSORS_PCF8591 is not set 800# CONFIG_SENSORS_PCF8591 is not set
801# CONFIG_TPS65010 is not set
771# CONFIG_SENSORS_MAX6875 is not set 802# CONFIG_SENSORS_MAX6875 is not set
772# CONFIG_SENSORS_TSL2550 is not set 803# CONFIG_SENSORS_TSL2550 is not set
773# CONFIG_I2C_DEBUG_CORE is not set 804# CONFIG_I2C_DEBUG_CORE is not set
@@ -775,10 +806,31 @@ CONFIG_I2C_MPC=y
775# CONFIG_I2C_DEBUG_BUS is not set 806# CONFIG_I2C_DEBUG_BUS is not set
776# CONFIG_I2C_DEBUG_CHIP is not set 807# CONFIG_I2C_DEBUG_CHIP is not set
777# CONFIG_SPI is not set 808# CONFIG_SPI is not set
809CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
810CONFIG_ARCH_REQUIRE_GPIOLIB=y
811CONFIG_GPIOLIB=y
812# CONFIG_GPIO_SYSFS is not set
813
814#
815# I2C GPIO expanders:
816#
817# CONFIG_GPIO_MAX732X is not set
818# CONFIG_GPIO_PCA953X is not set
819# CONFIG_GPIO_PCF857X is not set
820
821#
822# PCI GPIO expanders:
823#
824# CONFIG_GPIO_BT8XX is not set
825
826#
827# SPI GPIO expanders:
828#
778# CONFIG_W1 is not set 829# CONFIG_W1 is not set
779# CONFIG_POWER_SUPPLY is not set 830# CONFIG_POWER_SUPPLY is not set
780CONFIG_HWMON=y 831CONFIG_HWMON=y
781# CONFIG_HWMON_VID is not set 832# CONFIG_HWMON_VID is not set
833# CONFIG_SENSORS_AD7414 is not set
782# CONFIG_SENSORS_AD7418 is not set 834# CONFIG_SENSORS_AD7418 is not set
783# CONFIG_SENSORS_ADM1021 is not set 835# CONFIG_SENSORS_ADM1021 is not set
784# CONFIG_SENSORS_ADM1025 is not set 836# CONFIG_SENSORS_ADM1025 is not set
@@ -832,6 +884,7 @@ CONFIG_SENSORS_LM75=y
832# CONFIG_SENSORS_W83627EHF is not set 884# CONFIG_SENSORS_W83627EHF is not set
833CONFIG_HWMON_DEBUG_CHIP=y 885CONFIG_HWMON_DEBUG_CHIP=y
834# CONFIG_THERMAL is not set 886# CONFIG_THERMAL is not set
887# CONFIG_THERMAL_HWMON is not set
835# CONFIG_WATCHDOG is not set 888# CONFIG_WATCHDOG is not set
836 889
837# 890#
@@ -843,8 +896,10 @@ CONFIG_SSB_POSSIBLE=y
843# 896#
844# Multifunction device drivers 897# Multifunction device drivers
845# 898#
899# CONFIG_MFD_CORE is not set
846# CONFIG_MFD_SM501 is not set 900# CONFIG_MFD_SM501 is not set
847# CONFIG_HTC_PASIC3 is not set 901# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set
848 903
849# 904#
850# Multimedia devices 905# Multimedia devices
@@ -876,10 +931,6 @@ CONFIG_DAB=y
876# Display device support 931# Display device support
877# 932#
878# CONFIG_DISPLAY_SUPPORT is not set 933# CONFIG_DISPLAY_SUPPORT is not set
879
880#
881# Sound
882#
883# CONFIG_SOUND is not set 934# CONFIG_SOUND is not set
884CONFIG_HID_SUPPORT=y 935CONFIG_HID_SUPPORT=y
885CONFIG_HID=y 936CONFIG_HID=y
@@ -894,6 +945,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
894# CONFIG_USB_OTG_BLACKLIST_HUB is not set 945# CONFIG_USB_OTG_BLACKLIST_HUB is not set
895 946
896# 947#
948# Enable Host or Gadget support to see Inventra options
949#
950
951#
897# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
898# 953#
899# CONFIG_USB_GADGET is not set 954# CONFIG_USB_GADGET is not set
@@ -982,6 +1037,7 @@ CONFIG_JFFS2_RTIME=y
982CONFIG_CRAMFS=y 1037CONFIG_CRAMFS=y
983# CONFIG_VXFS_FS is not set 1038# CONFIG_VXFS_FS is not set
984# CONFIG_MINIX_FS is not set 1039# CONFIG_MINIX_FS is not set
1040# CONFIG_OMFS_FS is not set
985# CONFIG_HPFS_FS is not set 1041# CONFIG_HPFS_FS is not set
986# CONFIG_QNX4FS_FS is not set 1042# CONFIG_QNX4FS_FS is not set
987# CONFIG_ROMFS_FS is not set 1043# CONFIG_ROMFS_FS is not set
@@ -991,12 +1047,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
991CONFIG_NFS_FS=y 1047CONFIG_NFS_FS=y
992# CONFIG_NFS_V3 is not set 1048# CONFIG_NFS_V3 is not set
993# CONFIG_NFS_V4 is not set 1049# CONFIG_NFS_V4 is not set
994# CONFIG_NFSD is not set
995CONFIG_ROOT_NFS=y 1050CONFIG_ROOT_NFS=y
1051# CONFIG_NFSD is not set
996CONFIG_LOCKD=y 1052CONFIG_LOCKD=y
997CONFIG_NFS_COMMON=y 1053CONFIG_NFS_COMMON=y
998CONFIG_SUNRPC=y 1054CONFIG_SUNRPC=y
999# CONFIG_SUNRPC_BIND34 is not set
1000# CONFIG_RPCSEC_GSS_KRB5 is not set 1055# CONFIG_RPCSEC_GSS_KRB5 is not set
1001# CONFIG_RPCSEC_GSS_SPKM3 is not set 1056# CONFIG_RPCSEC_GSS_SPKM3 is not set
1002# CONFIG_SMB_FS is not set 1057# CONFIG_SMB_FS is not set
@@ -1032,6 +1087,7 @@ CONFIG_BITREVERSE=y
1032# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1033# CONFIG_CRC_CCITT is not set 1088# CONFIG_CRC_CCITT is not set
1034# CONFIG_CRC16 is not set 1089# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set
1035# CONFIG_CRC_ITU_T is not set 1091# CONFIG_CRC_ITU_T is not set
1036CONFIG_CRC32=y 1092CONFIG_CRC32=y
1037# CONFIG_CRC7 is not set 1093# CONFIG_CRC7 is not set
@@ -1059,8 +1115,16 @@ CONFIG_FRAME_WARN=1024
1059# CONFIG_SLUB_DEBUG_ON is not set 1115# CONFIG_SLUB_DEBUG_ON is not set
1060# CONFIG_SLUB_STATS is not set 1116# CONFIG_SLUB_STATS is not set
1061# CONFIG_DEBUG_BUGVERBOSE is not set 1117# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set
1119# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y
1123# CONFIG_FTRACE is not set
1124# CONFIG_SCHED_TRACER is not set
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set
1062# CONFIG_SAMPLES is not set 1126# CONFIG_SAMPLES is not set
1063# CONFIG_KGDB_CONSOLE is not set 1127CONFIG_HAVE_ARCH_KGDB=y
1064# CONFIG_IRQSTACKS is not set 1128# CONFIG_IRQSTACKS is not set
1065# CONFIG_PPC_EARLY_DEBUG is not set 1129# CONFIG_PPC_EARLY_DEBUG is not set
1066 1130
@@ -1112,6 +1176,10 @@ CONFIG_CRYPTO=y
1112# CONFIG_CRYPTO_MD4 is not set 1176# CONFIG_CRYPTO_MD4 is not set
1113# CONFIG_CRYPTO_MD5 is not set 1177# CONFIG_CRYPTO_MD5 is not set
1114# CONFIG_CRYPTO_MICHAEL_MIC is not set 1178# CONFIG_CRYPTO_MICHAEL_MIC is not set
1179# CONFIG_CRYPTO_RMD128 is not set
1180# CONFIG_CRYPTO_RMD160 is not set
1181# CONFIG_CRYPTO_RMD256 is not set
1182# CONFIG_CRYPTO_RMD320 is not set
1115# CONFIG_CRYPTO_SHA1 is not set 1183# CONFIG_CRYPTO_SHA1 is not set
1116# CONFIG_CRYPTO_SHA256 is not set 1184# CONFIG_CRYPTO_SHA256 is not set
1117# CONFIG_CRYPTO_SHA512 is not set 1185# CONFIG_CRYPTO_SHA512 is not set
@@ -1144,6 +1212,7 @@ CONFIG_CRYPTO=y
1144# CONFIG_CRYPTO_LZO is not set 1212# CONFIG_CRYPTO_LZO is not set
1145CONFIG_CRYPTO_HW=y 1213CONFIG_CRYPTO_HW=y
1146# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1147# CONFIG_PPC_CLOCK is not set 1215# CONFIG_CRYPTO_DEV_TALITOS is not set
1216CONFIG_PPC_CLOCK=y
1148CONFIG_PPC_LIB_RHEAP=y 1217CONFIG_PPC_LIB_RHEAP=y
1149# CONFIG_VIRTUALIZATION is not set 1218# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig
index 3113257edf5a..8d676629cdb1 100644
--- a/arch/powerpc/configs/85xx/tqm8560_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:42 2008 4# Thu Aug 21 00:52:43 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -89,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
89CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
90CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
92CONFIG_SYSCTL_SYSCALL_CHECK=y
93# CONFIG_KALLSYMS is not set 95# CONFIG_KALLSYMS is not set
94# CONFIG_HOTPLUG is not set 96# CONFIG_HOTPLUG is not set
95CONFIG_PRINTK=y 97CONFIG_PRINTK=y
@@ -112,10 +114,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 114# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 115# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 116CONFIG_HAVE_OPROFILE=y
117CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
118CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y
118CONFIG_PROC_PAGE_MONITOR=y 125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 129# CONFIG_TINY_SHMEM is not set
@@ -126,6 +134,7 @@ CONFIG_BLOCK=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 134# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 135# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 136# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set
129 138
130# 139#
131# IO Schedulers 140# IO Schedulers
@@ -144,8 +153,6 @@ CONFIG_CLASSIC_RCU=y
144# 153#
145# Platform support 154# Platform support
146# 155#
147# CONFIG_PPC_MPC512x is not set
148# CONFIG_PPC_MPC5121 is not set
149# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
150# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set 158# CONFIG_PQ2ADS is not set
@@ -154,11 +161,13 @@ CONFIG_MPC85xx=y
154# CONFIG_MPC8560_ADS is not set 161# CONFIG_MPC8560_ADS is not set
155# CONFIG_MPC85xx_CDS is not set 162# CONFIG_MPC85xx_CDS is not set
156# CONFIG_MPC85xx_MDS is not set 163# CONFIG_MPC85xx_MDS is not set
164# CONFIG_MPC8536_DS is not set
157# CONFIG_MPC85xx_DS is not set 165# CONFIG_MPC85xx_DS is not set
158# CONFIG_KSI8560 is not set 166# CONFIG_KSI8560 is not set
159# CONFIG_STX_GP3 is not set 167# CONFIG_STX_GP3 is not set
160# CONFIG_TQM8540 is not set 168# CONFIG_TQM8540 is not set
161# CONFIG_TQM8541 is not set 169# CONFIG_TQM8541 is not set
170# CONFIG_TQM8548 is not set
162# CONFIG_TQM8555 is not set 171# CONFIG_TQM8555 is not set
163CONFIG_TQM8560=y 172CONFIG_TQM8560=y
164# CONFIG_SBC8548 is not set 173# CONFIG_SBC8548 is not set
@@ -176,7 +185,6 @@ CONFIG_MPIC=y
176# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
177# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
178CONFIG_CPM2=y 187CONFIG_CPM2=y
179CONFIG_PPC_CPM_NEW_BINDING=y
180# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
181CONFIG_CPM=y 189CONFIG_CPM=y
182 190
@@ -216,6 +224,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
216# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
217CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
218CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y
219# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
220CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
221CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
@@ -223,6 +232,7 @@ CONFIG_VIRT_TO_BUS=y
223CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
224# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
225# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
235CONFIG_EXTRA_TARGETS=""
226# CONFIG_PM is not set 236# CONFIG_PM is not set
227CONFIG_SECCOMP=y 237CONFIG_SECCOMP=y
228CONFIG_ISA_DMA_API=y 238CONFIG_ISA_DMA_API=y
@@ -234,6 +244,7 @@ CONFIG_ZONE_DMA=y
234CONFIG_PPC_INDIRECT_PCI=y 244CONFIG_PPC_INDIRECT_PCI=y
235CONFIG_FSL_SOC=y 245CONFIG_FSL_SOC=y
236CONFIG_FSL_PCI=y 246CONFIG_FSL_PCI=y
247CONFIG_PPC_PCI_CHOICE=y
237CONFIG_PCI=y 248CONFIG_PCI=y
238CONFIG_PCI_DOMAINS=y 249CONFIG_PCI_DOMAINS=y
239CONFIG_PCI_SYSCALL=y 250CONFIG_PCI_SYSCALL=y
@@ -257,10 +268,6 @@ CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 268CONFIG_PHYSICAL_START=0x00000000
258CONFIG_PHYSICAL_ALIGN=0x10000000 269CONFIG_PHYSICAL_ALIGN=0x10000000
259CONFIG_TASK_SIZE=0xc0000000 270CONFIG_TASK_SIZE=0xc0000000
260
261#
262# Networking
263#
264CONFIG_NET=y 271CONFIG_NET=y
265 272
266# 273#
@@ -432,6 +439,7 @@ CONFIG_MTD_CFI_UTIL=y
432# 439#
433# CONFIG_MTD_UBI is not set 440# CONFIG_MTD_UBI is not set
434CONFIG_OF_DEVICE=y 441CONFIG_OF_DEVICE=y
442CONFIG_OF_GPIO=y
435CONFIG_OF_I2C=y 443CONFIG_OF_I2C=y
436# CONFIG_PARPORT is not set 444# CONFIG_PARPORT is not set
437CONFIG_BLK_DEV=y 445CONFIG_BLK_DEV=y
@@ -451,20 +459,22 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
451# CONFIG_BLK_DEV_XIP is not set 459# CONFIG_BLK_DEV_XIP is not set
452# CONFIG_CDROM_PKTCDVD is not set 460# CONFIG_CDROM_PKTCDVD is not set
453# CONFIG_ATA_OVER_ETH is not set 461# CONFIG_ATA_OVER_ETH is not set
462# CONFIG_BLK_DEV_HD is not set
454CONFIG_MISC_DEVICES=y 463CONFIG_MISC_DEVICES=y
455# CONFIG_PHANTOM is not set 464# CONFIG_PHANTOM is not set
456# CONFIG_EEPROM_93CX6 is not set 465# CONFIG_EEPROM_93CX6 is not set
457# CONFIG_SGI_IOC4 is not set 466# CONFIG_SGI_IOC4 is not set
458# CONFIG_TIFM_CORE is not set 467# CONFIG_TIFM_CORE is not set
459# CONFIG_ENCLOSURE_SERVICES is not set 468# CONFIG_ENCLOSURE_SERVICES is not set
469# CONFIG_HP_ILO is not set
460CONFIG_HAVE_IDE=y 470CONFIG_HAVE_IDE=y
461CONFIG_IDE=y 471CONFIG_IDE=y
462CONFIG_IDE_MAX_HWIFS=4
463CONFIG_BLK_DEV_IDE=y 472CONFIG_BLK_DEV_IDE=y
464 473
465# 474#
466# Please see Documentation/ide/ide.txt for help/info on IDE drives 475# Please see Documentation/ide/ide.txt for help/info on IDE drives
467# 476#
477CONFIG_IDE_TIMINGS=y
468# CONFIG_BLK_DEV_IDE_SATA is not set 478# CONFIG_BLK_DEV_IDE_SATA is not set
469CONFIG_BLK_DEV_IDEDISK=y 479CONFIG_BLK_DEV_IDEDISK=y
470# CONFIG_IDEDISK_MULTI_MODE is not set 480# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -477,7 +487,6 @@ CONFIG_IDE_PROC_FS=y
477# 487#
478# IDE chipset support/bugfixes 488# IDE chipset support/bugfixes
479# 489#
480CONFIG_IDE_GENERIC=y
481# CONFIG_BLK_DEV_PLATFORM is not set 490# CONFIG_BLK_DEV_PLATFORM is not set
482CONFIG_BLK_DEV_IDEDMA_SFF=y 491CONFIG_BLK_DEV_IDEDMA_SFF=y
483 492
@@ -495,10 +504,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
495# CONFIG_BLK_DEV_AMD74XX is not set 504# CONFIG_BLK_DEV_AMD74XX is not set
496# CONFIG_BLK_DEV_CMD64X is not set 505# CONFIG_BLK_DEV_CMD64X is not set
497# CONFIG_BLK_DEV_TRIFLEX is not set 506# CONFIG_BLK_DEV_TRIFLEX is not set
498# CONFIG_BLK_DEV_CY82C693 is not set
499# CONFIG_BLK_DEV_CS5520 is not set 507# CONFIG_BLK_DEV_CS5520 is not set
500# CONFIG_BLK_DEV_CS5530 is not set 508# CONFIG_BLK_DEV_CS5530 is not set
501# CONFIG_BLK_DEV_HPT34X is not set
502# CONFIG_BLK_DEV_HPT366 is not set 509# CONFIG_BLK_DEV_HPT366 is not set
503# CONFIG_BLK_DEV_JMICRON is not set 510# CONFIG_BLK_DEV_JMICRON is not set
504# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
@@ -516,8 +523,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
516CONFIG_BLK_DEV_VIA82CXXX=y 523CONFIG_BLK_DEV_VIA82CXXX=y
517# CONFIG_BLK_DEV_TC86C001 is not set 524# CONFIG_BLK_DEV_TC86C001 is not set
518CONFIG_BLK_DEV_IDEDMA=y 525CONFIG_BLK_DEV_IDEDMA=y
519# CONFIG_BLK_DEV_HD_ONLY is not set
520# CONFIG_BLK_DEV_HD is not set
521 526
522# 527#
523# SCSI device support 528# SCSI device support
@@ -533,12 +538,15 @@ CONFIG_BLK_DEV_IDEDMA=y
533# 538#
534# IEEE 1394 (FireWire) support 539# IEEE 1394 (FireWire) support
535# 540#
541
542#
543# Enable only one of the two stacks, unless you know what you are doing
544#
536# CONFIG_FIREWIRE is not set 545# CONFIG_FIREWIRE is not set
537# CONFIG_IEEE1394 is not set 546# CONFIG_IEEE1394 is not set
538# CONFIG_I2O is not set 547# CONFIG_I2O is not set
539# CONFIG_MACINTOSH_DRIVERS is not set 548# CONFIG_MACINTOSH_DRIVERS is not set
540CONFIG_NETDEVICES=y 549CONFIG_NETDEVICES=y
541# CONFIG_NETDEVICES_MULTIQUEUE is not set
542# CONFIG_DUMMY is not set 550# CONFIG_DUMMY is not set
543# CONFIG_BONDING is not set 551# CONFIG_BONDING is not set
544# CONFIG_MACVLAN is not set 552# CONFIG_MACVLAN is not set
@@ -601,7 +609,6 @@ CONFIG_NETDEV_1000=y
601# CONFIG_DL2K is not set 609# CONFIG_DL2K is not set
602# CONFIG_E1000 is not set 610# CONFIG_E1000 is not set
603# CONFIG_E1000E is not set 611# CONFIG_E1000E is not set
604# CONFIG_E1000E_ENABLED is not set
605# CONFIG_IP1000 is not set 612# CONFIG_IP1000 is not set
606# CONFIG_IGB is not set 613# CONFIG_IGB is not set
607# CONFIG_NS83820 is not set 614# CONFIG_NS83820 is not set
@@ -615,9 +622,9 @@ CONFIG_NETDEV_1000=y
615# CONFIG_TIGON3 is not set 622# CONFIG_TIGON3 is not set
616# CONFIG_BNX2 is not set 623# CONFIG_BNX2 is not set
617CONFIG_GIANFAR=y 624CONFIG_GIANFAR=y
618CONFIG_GFAR_NAPI=y
619# CONFIG_QLA3XXX is not set 625# CONFIG_QLA3XXX is not set
620# CONFIG_ATL1 is not set 626# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set
621CONFIG_NETDEV_10000=y 628CONFIG_NETDEV_10000=y
622# CONFIG_CHELSIO_T1 is not set 629# CONFIG_CHELSIO_T1 is not set
623# CONFIG_CHELSIO_T3 is not set 630# CONFIG_CHELSIO_T3 is not set
@@ -732,42 +739,66 @@ CONFIG_DEVPORT=y
732CONFIG_I2C=y 739CONFIG_I2C=y
733CONFIG_I2C_BOARDINFO=y 740CONFIG_I2C_BOARDINFO=y
734CONFIG_I2C_CHARDEV=y 741CONFIG_I2C_CHARDEV=y
742CONFIG_I2C_HELPER_AUTO=y
735 743
736# 744#
737# I2C Hardware Bus support 745# I2C Hardware Bus support
738# 746#
747
748#
749# PC SMBus host controller drivers
750#
739# CONFIG_I2C_ALI1535 is not set 751# CONFIG_I2C_ALI1535 is not set
740# CONFIG_I2C_ALI1563 is not set 752# CONFIG_I2C_ALI1563 is not set
741# CONFIG_I2C_ALI15X3 is not set 753# CONFIG_I2C_ALI15X3 is not set
742# CONFIG_I2C_AMD756 is not set 754# CONFIG_I2C_AMD756 is not set
743# CONFIG_I2C_AMD8111 is not set 755# CONFIG_I2C_AMD8111 is not set
744# CONFIG_I2C_I801 is not set 756# CONFIG_I2C_I801 is not set
745# CONFIG_I2C_I810 is not set 757# CONFIG_I2C_ISCH is not set
746# CONFIG_I2C_PIIX4 is not set 758# CONFIG_I2C_PIIX4 is not set
747CONFIG_I2C_MPC=y
748# CONFIG_I2C_NFORCE2 is not set 759# CONFIG_I2C_NFORCE2 is not set
749# CONFIG_I2C_OCORES is not set
750# CONFIG_I2C_PARPORT_LIGHT is not set
751# CONFIG_I2C_PROSAVAGE is not set
752# CONFIG_I2C_SAVAGE4 is not set
753# CONFIG_I2C_SIMTEC is not set
754# CONFIG_I2C_SIS5595 is not set 760# CONFIG_I2C_SIS5595 is not set
755# CONFIG_I2C_SIS630 is not set 761# CONFIG_I2C_SIS630 is not set
756# CONFIG_I2C_SIS96X is not set 762# CONFIG_I2C_SIS96X is not set
757# CONFIG_I2C_TAOS_EVM is not set
758# CONFIG_I2C_VIA is not set 763# CONFIG_I2C_VIA is not set
759# CONFIG_I2C_VIAPRO is not set 764# CONFIG_I2C_VIAPRO is not set
765
766#
767# I2C system bus drivers (mostly embedded / system-on-chip)
768#
769# CONFIG_I2C_CPM is not set
770# CONFIG_I2C_GPIO is not set
771CONFIG_I2C_MPC=y
772# CONFIG_I2C_OCORES is not set
773# CONFIG_I2C_SIMTEC is not set
774
775#
776# External I2C/SMBus adapter drivers
777#
778# CONFIG_I2C_PARPORT_LIGHT is not set
779# CONFIG_I2C_TAOS_EVM is not set
780
781#
782# Graphics adapter I2C/DDC channel drivers
783#
760# CONFIG_I2C_VOODOO3 is not set 784# CONFIG_I2C_VOODOO3 is not set
785
786#
787# Other I2C/SMBus bus drivers
788#
761# CONFIG_I2C_PCA_PLATFORM is not set 789# CONFIG_I2C_PCA_PLATFORM is not set
762 790
763# 791#
764# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
765# 793#
766# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
795# CONFIG_AT24 is not set
767# CONFIG_SENSORS_EEPROM is not set 796# CONFIG_SENSORS_EEPROM is not set
768# CONFIG_SENSORS_PCF8574 is not set 797# CONFIG_SENSORS_PCF8574 is not set
769# CONFIG_PCF8575 is not set 798# CONFIG_PCF8575 is not set
799# CONFIG_SENSORS_PCA9539 is not set
770# CONFIG_SENSORS_PCF8591 is not set 800# CONFIG_SENSORS_PCF8591 is not set
801# CONFIG_TPS65010 is not set
771# CONFIG_SENSORS_MAX6875 is not set 802# CONFIG_SENSORS_MAX6875 is not set
772# CONFIG_SENSORS_TSL2550 is not set 803# CONFIG_SENSORS_TSL2550 is not set
773# CONFIG_I2C_DEBUG_CORE is not set 804# CONFIG_I2C_DEBUG_CORE is not set
@@ -775,10 +806,31 @@ CONFIG_I2C_MPC=y
775# CONFIG_I2C_DEBUG_BUS is not set 806# CONFIG_I2C_DEBUG_BUS is not set
776# CONFIG_I2C_DEBUG_CHIP is not set 807# CONFIG_I2C_DEBUG_CHIP is not set
777# CONFIG_SPI is not set 808# CONFIG_SPI is not set
809CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
810CONFIG_ARCH_REQUIRE_GPIOLIB=y
811CONFIG_GPIOLIB=y
812# CONFIG_GPIO_SYSFS is not set
813
814#
815# I2C GPIO expanders:
816#
817# CONFIG_GPIO_MAX732X is not set
818# CONFIG_GPIO_PCA953X is not set
819# CONFIG_GPIO_PCF857X is not set
820
821#
822# PCI GPIO expanders:
823#
824# CONFIG_GPIO_BT8XX is not set
825
826#
827# SPI GPIO expanders:
828#
778# CONFIG_W1 is not set 829# CONFIG_W1 is not set
779# CONFIG_POWER_SUPPLY is not set 830# CONFIG_POWER_SUPPLY is not set
780CONFIG_HWMON=y 831CONFIG_HWMON=y
781# CONFIG_HWMON_VID is not set 832# CONFIG_HWMON_VID is not set
833# CONFIG_SENSORS_AD7414 is not set
782# CONFIG_SENSORS_AD7418 is not set 834# CONFIG_SENSORS_AD7418 is not set
783# CONFIG_SENSORS_ADM1021 is not set 835# CONFIG_SENSORS_ADM1021 is not set
784# CONFIG_SENSORS_ADM1025 is not set 836# CONFIG_SENSORS_ADM1025 is not set
@@ -832,6 +884,7 @@ CONFIG_SENSORS_LM75=y
832# CONFIG_SENSORS_W83627EHF is not set 884# CONFIG_SENSORS_W83627EHF is not set
833CONFIG_HWMON_DEBUG_CHIP=y 885CONFIG_HWMON_DEBUG_CHIP=y
834# CONFIG_THERMAL is not set 886# CONFIG_THERMAL is not set
887# CONFIG_THERMAL_HWMON is not set
835# CONFIG_WATCHDOG is not set 888# CONFIG_WATCHDOG is not set
836 889
837# 890#
@@ -843,8 +896,10 @@ CONFIG_SSB_POSSIBLE=y
843# 896#
844# Multifunction device drivers 897# Multifunction device drivers
845# 898#
899# CONFIG_MFD_CORE is not set
846# CONFIG_MFD_SM501 is not set 900# CONFIG_MFD_SM501 is not set
847# CONFIG_HTC_PASIC3 is not set 901# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set
848 903
849# 904#
850# Multimedia devices 905# Multimedia devices
@@ -876,10 +931,6 @@ CONFIG_DAB=y
876# Display device support 931# Display device support
877# 932#
878# CONFIG_DISPLAY_SUPPORT is not set 933# CONFIG_DISPLAY_SUPPORT is not set
879
880#
881# Sound
882#
883# CONFIG_SOUND is not set 934# CONFIG_SOUND is not set
884CONFIG_HID_SUPPORT=y 935CONFIG_HID_SUPPORT=y
885CONFIG_HID=y 936CONFIG_HID=y
@@ -894,6 +945,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
894# CONFIG_USB_OTG_BLACKLIST_HUB is not set 945# CONFIG_USB_OTG_BLACKLIST_HUB is not set
895 946
896# 947#
948# Enable Host or Gadget support to see Inventra options
949#
950
951#
897# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
898# 953#
899# CONFIG_USB_GADGET is not set 954# CONFIG_USB_GADGET is not set
@@ -982,6 +1037,7 @@ CONFIG_JFFS2_RTIME=y
982CONFIG_CRAMFS=y 1037CONFIG_CRAMFS=y
983# CONFIG_VXFS_FS is not set 1038# CONFIG_VXFS_FS is not set
984# CONFIG_MINIX_FS is not set 1039# CONFIG_MINIX_FS is not set
1040# CONFIG_OMFS_FS is not set
985# CONFIG_HPFS_FS is not set 1041# CONFIG_HPFS_FS is not set
986# CONFIG_QNX4FS_FS is not set 1042# CONFIG_QNX4FS_FS is not set
987# CONFIG_ROMFS_FS is not set 1043# CONFIG_ROMFS_FS is not set
@@ -991,12 +1047,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
991CONFIG_NFS_FS=y 1047CONFIG_NFS_FS=y
992# CONFIG_NFS_V3 is not set 1048# CONFIG_NFS_V3 is not set
993# CONFIG_NFS_V4 is not set 1049# CONFIG_NFS_V4 is not set
994# CONFIG_NFSD is not set
995CONFIG_ROOT_NFS=y 1050CONFIG_ROOT_NFS=y
1051# CONFIG_NFSD is not set
996CONFIG_LOCKD=y 1052CONFIG_LOCKD=y
997CONFIG_NFS_COMMON=y 1053CONFIG_NFS_COMMON=y
998CONFIG_SUNRPC=y 1054CONFIG_SUNRPC=y
999# CONFIG_SUNRPC_BIND34 is not set
1000# CONFIG_RPCSEC_GSS_KRB5 is not set 1055# CONFIG_RPCSEC_GSS_KRB5 is not set
1001# CONFIG_RPCSEC_GSS_SPKM3 is not set 1056# CONFIG_RPCSEC_GSS_SPKM3 is not set
1002# CONFIG_SMB_FS is not set 1057# CONFIG_SMB_FS is not set
@@ -1032,6 +1087,7 @@ CONFIG_BITREVERSE=y
1032# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1033# CONFIG_CRC_CCITT is not set 1088# CONFIG_CRC_CCITT is not set
1034# CONFIG_CRC16 is not set 1089# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set
1035# CONFIG_CRC_ITU_T is not set 1091# CONFIG_CRC_ITU_T is not set
1036CONFIG_CRC32=y 1092CONFIG_CRC32=y
1037# CONFIG_CRC7 is not set 1093# CONFIG_CRC7 is not set
@@ -1059,8 +1115,16 @@ CONFIG_FRAME_WARN=1024
1059# CONFIG_SLUB_DEBUG_ON is not set 1115# CONFIG_SLUB_DEBUG_ON is not set
1060# CONFIG_SLUB_STATS is not set 1116# CONFIG_SLUB_STATS is not set
1061# CONFIG_DEBUG_BUGVERBOSE is not set 1117# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set
1119# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y
1123# CONFIG_FTRACE is not set
1124# CONFIG_SCHED_TRACER is not set
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set
1062# CONFIG_SAMPLES is not set 1126# CONFIG_SAMPLES is not set
1063# CONFIG_KGDB_CONSOLE is not set 1127CONFIG_HAVE_ARCH_KGDB=y
1064# CONFIG_IRQSTACKS is not set 1128# CONFIG_IRQSTACKS is not set
1065# CONFIG_PPC_EARLY_DEBUG is not set 1129# CONFIG_PPC_EARLY_DEBUG is not set
1066 1130
@@ -1112,6 +1176,10 @@ CONFIG_CRYPTO=y
1112# CONFIG_CRYPTO_MD4 is not set 1176# CONFIG_CRYPTO_MD4 is not set
1113# CONFIG_CRYPTO_MD5 is not set 1177# CONFIG_CRYPTO_MD5 is not set
1114# CONFIG_CRYPTO_MICHAEL_MIC is not set 1178# CONFIG_CRYPTO_MICHAEL_MIC is not set
1179# CONFIG_CRYPTO_RMD128 is not set
1180# CONFIG_CRYPTO_RMD160 is not set
1181# CONFIG_CRYPTO_RMD256 is not set
1182# CONFIG_CRYPTO_RMD320 is not set
1115# CONFIG_CRYPTO_SHA1 is not set 1183# CONFIG_CRYPTO_SHA1 is not set
1116# CONFIG_CRYPTO_SHA256 is not set 1184# CONFIG_CRYPTO_SHA256 is not set
1117# CONFIG_CRYPTO_SHA512 is not set 1185# CONFIG_CRYPTO_SHA512 is not set
@@ -1144,6 +1212,7 @@ CONFIG_CRYPTO=y
1144# CONFIG_CRYPTO_LZO is not set 1212# CONFIG_CRYPTO_LZO is not set
1145CONFIG_CRYPTO_HW=y 1213CONFIG_CRYPTO_HW=y
1146# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1147# CONFIG_PPC_CLOCK is not set 1215# CONFIG_CRYPTO_DEV_TALITOS is not set
1216CONFIG_PPC_CLOCK=y
1148CONFIG_PPC_LIB_RHEAP=y 1217CONFIG_PPC_LIB_RHEAP=y
1149# CONFIG_VIRTUALIZATION is not set 1218# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 6740f2a3aa3d..63cd51fbb4b9 100644
--- a/arch/powerpc/configs/adder875_defconfig
+++ b/arch/powerpc/configs/adder875_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:08 2008 4# Thu Aug 21 00:52:00 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
30CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
31CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
32CONFIG_HAVE_LATENCYTOP_SUPPORT=y
32CONFIG_LOCKDEP_SUPPORT=y 33CONFIG_LOCKDEP_SUPPORT=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -109,10 +110,16 @@ CONFIG_SLUB=y
109# CONFIG_PROFILING is not set 110# CONFIG_PROFILING is not set
110# CONFIG_MARKERS is not set 111# CONFIG_MARKERS is not set
111CONFIG_HAVE_OPROFILE=y 112CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y
112CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y
114# CONFIG_HAVE_DMA_ATTRS is not set 118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120CONFIG_HAVE_CLK=y
115CONFIG_PROC_PAGE_MONITOR=y 121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
116CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
117# CONFIG_TINY_SHMEM is not set 124# CONFIG_TINY_SHMEM is not set
118CONFIG_BASE_SMALL=1 125CONFIG_BASE_SMALL=1
@@ -122,6 +129,7 @@ CONFIG_BLOCK=y
122# CONFIG_BLK_DEV_IO_TRACE is not set 129# CONFIG_BLK_DEV_IO_TRACE is not set
123# CONFIG_LSF is not set 130# CONFIG_LSF is not set
124# CONFIG_BLK_DEV_BSG is not set 131# CONFIG_BLK_DEV_BSG is not set
132# CONFIG_BLK_DEV_INTEGRITY is not set
125 133
126# 134#
127# IO Schedulers 135# IO Schedulers
@@ -140,8 +148,6 @@ CONFIG_CLASSIC_RCU=y
140# 148#
141# Platform support 149# Platform support
142# 150#
143# CONFIG_PPC_MPC512x is not set
144# CONFIG_PPC_MPC5121 is not set
145# CONFIG_PPC_CELL is not set 151# CONFIG_PPC_CELL is not set
146# CONFIG_PPC_CELL_NATIVE is not set 152# CONFIG_PPC_CELL_NATIVE is not set
147CONFIG_CPM1=y 153CONFIG_CPM1=y
@@ -159,6 +165,7 @@ CONFIG_PPC_ADDER875=y
159# Generic MPC8xx Options 165# Generic MPC8xx Options
160# 166#
161CONFIG_8xx_COPYBACK=y 167CONFIG_8xx_COPYBACK=y
168# CONFIG_8xx_GPIO is not set
162# CONFIG_8xx_CPU6 is not set 169# CONFIG_8xx_CPU6 is not set
163CONFIG_8xx_CPU15=y 170CONFIG_8xx_CPU15=y
164CONFIG_NO_UCODE_PATCH=y 171CONFIG_NO_UCODE_PATCH=y
@@ -177,7 +184,6 @@ CONFIG_NO_UCODE_PATCH=y
177# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
178# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
179# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
180CONFIG_PPC_CPM_NEW_BINDING=y
181# CONFIG_FSL_ULI1575 is not set 187# CONFIG_FSL_ULI1575 is not set
182CONFIG_CPM=y 188CONFIG_CPM=y
183 189
@@ -218,6 +224,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y
221# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
222CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
223CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
@@ -225,6 +232,7 @@ CONFIG_VIRT_TO_BUS=y
225CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
226# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
227# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
235CONFIG_EXTRA_TARGETS=""
228# CONFIG_PM is not set 236# CONFIG_PM is not set
229# CONFIG_SECCOMP is not set 237# CONFIG_SECCOMP is not set
230CONFIG_ISA_DMA_API=y 238CONFIG_ISA_DMA_API=y
@@ -257,10 +265,6 @@ CONFIG_PHYSICAL_START=0x00000000
257CONFIG_TASK_SIZE=0x80000000 265CONFIG_TASK_SIZE=0x80000000
258CONFIG_CONSISTENT_START=0xfd000000 266CONFIG_CONSISTENT_START=0xfd000000
259CONFIG_CONSISTENT_SIZE=0x00200000 267CONFIG_CONSISTENT_SIZE=0x00200000
260
261#
262# Networking
263#
264CONFIG_NET=y 268CONFIG_NET=y
265 269
266# 270#
@@ -443,7 +447,6 @@ CONFIG_HAVE_IDE=y
443# CONFIG_MD is not set 447# CONFIG_MD is not set
444# CONFIG_MACINTOSH_DRIVERS is not set 448# CONFIG_MACINTOSH_DRIVERS is not set
445CONFIG_NETDEVICES=y 449CONFIG_NETDEVICES=y
446# CONFIG_NETDEVICES_MULTIQUEUE is not set
447# CONFIG_DUMMY is not set 450# CONFIG_DUMMY is not set
448# CONFIG_BONDING is not set 451# CONFIG_BONDING is not set
449# CONFIG_MACVLAN is not set 452# CONFIG_MACVLAN is not set
@@ -547,6 +550,7 @@ CONFIG_SERIO_I8042=y
547CONFIG_SERIO_SERPORT=y 550CONFIG_SERIO_SERPORT=y
548CONFIG_SERIO_LIBPS2=y 551CONFIG_SERIO_LIBPS2=y
549# CONFIG_SERIO_RAW is not set 552# CONFIG_SERIO_RAW is not set
553# CONFIG_SERIO_XILINX_XPS_PS2 is not set
550# CONFIG_GAMEPORT is not set 554# CONFIG_GAMEPORT is not set
551 555
552# 556#
@@ -587,6 +591,8 @@ CONFIG_GEN_RTC=y
587# CONFIG_TCG_TPM is not set 591# CONFIG_TCG_TPM is not set
588# CONFIG_I2C is not set 592# CONFIG_I2C is not set
589# CONFIG_SPI is not set 593# CONFIG_SPI is not set
594CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
595# CONFIG_GPIOLIB is not set
590# CONFIG_W1 is not set 596# CONFIG_W1 is not set
591# CONFIG_POWER_SUPPLY is not set 597# CONFIG_POWER_SUPPLY is not set
592# CONFIG_HWMON is not set 598# CONFIG_HWMON is not set
@@ -602,8 +608,10 @@ CONFIG_SSB_POSSIBLE=y
602# 608#
603# Multifunction device drivers 609# Multifunction device drivers
604# 610#
611# CONFIG_MFD_CORE is not set
605# CONFIG_MFD_SM501 is not set 612# CONFIG_MFD_SM501 is not set
606# CONFIG_HTC_PASIC3 is not set 613# CONFIG_HTC_PASIC3 is not set
614# CONFIG_MFD_TMIO is not set
607 615
608# 616#
609# Multimedia devices 617# Multimedia devices
@@ -633,10 +641,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
633# Display device support 641# Display device support
634# 642#
635# CONFIG_DISPLAY_SUPPORT is not set 643# CONFIG_DISPLAY_SUPPORT is not set
636
637#
638# Sound
639#
640# CONFIG_SOUND is not set 644# CONFIG_SOUND is not set
641# CONFIG_HID_SUPPORT is not set 645# CONFIG_HID_SUPPORT is not set
642# CONFIG_USB_SUPPORT is not set 646# CONFIG_USB_SUPPORT is not set
@@ -706,6 +710,7 @@ CONFIG_TMPFS=y
706CONFIG_CRAMFS=y 710CONFIG_CRAMFS=y
707# CONFIG_VXFS_FS is not set 711# CONFIG_VXFS_FS is not set
708# CONFIG_MINIX_FS is not set 712# CONFIG_MINIX_FS is not set
713# CONFIG_OMFS_FS is not set
709# CONFIG_HPFS_FS is not set 714# CONFIG_HPFS_FS is not set
710# CONFIG_QNX4FS_FS is not set 715# CONFIG_QNX4FS_FS is not set
711# CONFIG_ROMFS_FS is not set 716# CONFIG_ROMFS_FS is not set
@@ -716,13 +721,12 @@ CONFIG_NFS_FS=y
716CONFIG_NFS_V3=y 721CONFIG_NFS_V3=y
717# CONFIG_NFS_V3_ACL is not set 722# CONFIG_NFS_V3_ACL is not set
718# CONFIG_NFS_V4 is not set 723# CONFIG_NFS_V4 is not set
719# CONFIG_NFSD is not set
720CONFIG_ROOT_NFS=y 724CONFIG_ROOT_NFS=y
725# CONFIG_NFSD is not set
721CONFIG_LOCKD=y 726CONFIG_LOCKD=y
722CONFIG_LOCKD_V4=y 727CONFIG_LOCKD_V4=y
723CONFIG_NFS_COMMON=y 728CONFIG_NFS_COMMON=y
724CONFIG_SUNRPC=y 729CONFIG_SUNRPC=y
725# CONFIG_SUNRPC_BIND34 is not set
726# CONFIG_RPCSEC_GSS_KRB5 is not set 730# CONFIG_RPCSEC_GSS_KRB5 is not set
727# CONFIG_RPCSEC_GSS_SPKM3 is not set 731# CONFIG_RPCSEC_GSS_SPKM3 is not set
728# CONFIG_SMB_FS is not set 732# CONFIG_SMB_FS is not set
@@ -761,6 +765,7 @@ CONFIG_MSDOS_PARTITION=y
761# CONFIG_GENERIC_FIND_FIRST_BIT is not set 765# CONFIG_GENERIC_FIND_FIRST_BIT is not set
762# CONFIG_CRC_CCITT is not set 766# CONFIG_CRC_CCITT is not set
763# CONFIG_CRC16 is not set 767# CONFIG_CRC16 is not set
768# CONFIG_CRC_T10DIF is not set
764# CONFIG_CRC_ITU_T is not set 769# CONFIG_CRC_ITU_T is not set
765# CONFIG_CRC32 is not set 770# CONFIG_CRC32 is not set
766# CONFIG_CRC7 is not set 771# CONFIG_CRC7 is not set
@@ -785,6 +790,8 @@ CONFIG_DEBUG_FS=y
785CONFIG_DEBUG_KERNEL=y 790CONFIG_DEBUG_KERNEL=y
786# CONFIG_DEBUG_SHIRQ is not set 791# CONFIG_DEBUG_SHIRQ is not set
787CONFIG_DETECT_SOFTLOCKUP=y 792CONFIG_DETECT_SOFTLOCKUP=y
793# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
794CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
788CONFIG_SCHED_DEBUG=y 795CONFIG_SCHED_DEBUG=y
789# CONFIG_SCHEDSTATS is not set 796# CONFIG_SCHEDSTATS is not set
790# CONFIG_TIMER_STATS is not set 797# CONFIG_TIMER_STATS is not set
@@ -800,16 +807,28 @@ CONFIG_DEBUG_BUGVERBOSE=y
800CONFIG_DEBUG_INFO=y 807CONFIG_DEBUG_INFO=y
801# CONFIG_DEBUG_VM is not set 808# CONFIG_DEBUG_VM is not set
802# CONFIG_DEBUG_WRITECOUNT is not set 809# CONFIG_DEBUG_WRITECOUNT is not set
810# CONFIG_DEBUG_MEMORY_INIT is not set
803# CONFIG_DEBUG_LIST is not set 811# CONFIG_DEBUG_LIST is not set
804# CONFIG_DEBUG_SG is not set 812# CONFIG_DEBUG_SG is not set
805# CONFIG_BOOT_PRINTK_DELAY is not set 813# CONFIG_BOOT_PRINTK_DELAY is not set
814# CONFIG_RCU_TORTURE_TEST is not set
806# CONFIG_BACKTRACE_SELF_TEST is not set 815# CONFIG_BACKTRACE_SELF_TEST is not set
807# CONFIG_FAULT_INJECTION is not set 816# CONFIG_FAULT_INJECTION is not set
817# CONFIG_LATENCYTOP is not set
818CONFIG_HAVE_FTRACE=y
819CONFIG_HAVE_DYNAMIC_FTRACE=y
820# CONFIG_FTRACE is not set
821# CONFIG_SCHED_TRACER is not set
822# CONFIG_CONTEXT_SWITCH_TRACER is not set
808# CONFIG_SAMPLES is not set 823# CONFIG_SAMPLES is not set
824CONFIG_HAVE_ARCH_KGDB=y
825# CONFIG_KGDB is not set
809# CONFIG_DEBUG_STACKOVERFLOW is not set 826# CONFIG_DEBUG_STACKOVERFLOW is not set
810# CONFIG_DEBUG_STACK_USAGE is not set 827# CONFIG_DEBUG_STACK_USAGE is not set
811# CONFIG_DEBUG_PAGEALLOC is not set 828# CONFIG_DEBUG_PAGEALLOC is not set
812# CONFIG_DEBUGGER is not set 829# CONFIG_CODE_PATCHING_SELFTEST is not set
830# CONFIG_FTR_FIXUP_SELFTEST is not set
831# CONFIG_XMON is not set
813# CONFIG_IRQSTACKS is not set 832# CONFIG_IRQSTACKS is not set
814# CONFIG_VIRQ_DEBUG is not set 833# CONFIG_VIRQ_DEBUG is not set
815# CONFIG_BDI_SWITCH is not set 834# CONFIG_BDI_SWITCH is not set
@@ -822,6 +841,6 @@ CONFIG_DEBUG_INFO=y
822# CONFIG_SECURITY is not set 841# CONFIG_SECURITY is not set
823# CONFIG_SECURITY_FILE_CAPABILITIES is not set 842# CONFIG_SECURITY_FILE_CAPABILITIES is not set
824# CONFIG_CRYPTO is not set 843# CONFIG_CRYPTO is not set
825# CONFIG_PPC_CLOCK is not set 844CONFIG_PPC_CLOCK=y
826CONFIG_PPC_LIB_RHEAP=y 845CONFIG_PPC_LIB_RHEAP=y
827# CONFIG_VIRTUALIZATION is not set 846# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index dc599c7e97d5..c16521ffb477 100644
--- a/arch/powerpc/configs/c2k_defconfig
+++ b/arch/powerpc/configs/c2k_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc2 3# Linux kernel version: 2.6.27-rc4
4# Thu May 15 11:00:14 2008 4# Thu Aug 21 00:52:02 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -97,7 +98,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
97CONFIG_SYSCTL=y 98CONFIG_SYSCTL=y
98# CONFIG_EMBEDDED is not set 99# CONFIG_EMBEDDED is not set
99CONFIG_SYSCTL_SYSCALL=y 100CONFIG_SYSCTL_SYSCALL=y
100CONFIG_SYSCTL_SYSCALL_CHECK=y
101CONFIG_KALLSYMS=y 101CONFIG_KALLSYMS=y
102# CONFIG_KALLSYMS_ALL is not set 102# CONFIG_KALLSYMS_ALL is not set
103CONFIG_KALLSYMS_EXTRA_PASS=y 103CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -124,11 +124,17 @@ CONFIG_PROFILING=y
124CONFIG_OPROFILE=m 124CONFIG_OPROFILE=m
125CONFIG_HAVE_OPROFILE=y 125CONFIG_HAVE_OPROFILE=y
126CONFIG_KPROBES=y 126CONFIG_KPROBES=y
127CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
127CONFIG_KRETPROBES=y 128CONFIG_KRETPROBES=y
129CONFIG_HAVE_IOREMAP_PROT=y
128CONFIG_HAVE_KPROBES=y 130CONFIG_HAVE_KPROBES=y
129CONFIG_HAVE_KRETPROBES=y 131CONFIG_HAVE_KRETPROBES=y
132CONFIG_HAVE_ARCH_TRACEHOOK=y
130# CONFIG_HAVE_DMA_ATTRS is not set 133# CONFIG_HAVE_DMA_ATTRS is not set
134# CONFIG_USE_GENERIC_SMP_HELPERS is not set
135# CONFIG_HAVE_CLK is not set
131CONFIG_PROC_PAGE_MONITOR=y 136CONFIG_PROC_PAGE_MONITOR=y
137# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 138CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 139CONFIG_RT_MUTEXES=y
134# CONFIG_TINY_SHMEM is not set 140# CONFIG_TINY_SHMEM is not set
@@ -145,6 +151,7 @@ CONFIG_LBD=y
145# CONFIG_BLK_DEV_IO_TRACE is not set 151# CONFIG_BLK_DEV_IO_TRACE is not set
146# CONFIG_LSF is not set 152# CONFIG_LSF is not set
147# CONFIG_BLK_DEV_BSG is not set 153# CONFIG_BLK_DEV_BSG is not set
154# CONFIG_BLK_DEV_INTEGRITY is not set
148 155
149# 156#
150# IO Schedulers 157# IO Schedulers
@@ -164,19 +171,18 @@ CONFIG_CLASSIC_RCU=y
164# Platform support 171# Platform support
165# 172#
166CONFIG_PPC_MULTIPLATFORM=y 173CONFIG_PPC_MULTIPLATFORM=y
167# CONFIG_PPC_82xx is not set
168# CONFIG_PPC_83xx is not set
169# CONFIG_PPC_86xx is not set
170CONFIG_CLASSIC32=y 174CONFIG_CLASSIC32=y
171# CONFIG_PPC_CHRP is not set 175# CONFIG_PPC_CHRP is not set
172# CONFIG_PPC_MPC512x is not set
173# CONFIG_PPC_MPC5121 is not set
174# CONFIG_MPC5121_ADS is not set 176# CONFIG_MPC5121_ADS is not set
177# CONFIG_MPC5121_GENERIC is not set
175# CONFIG_PPC_MPC52xx is not set 178# CONFIG_PPC_MPC52xx is not set
176# CONFIG_PPC_PMAC is not set 179# CONFIG_PPC_PMAC is not set
177# CONFIG_PPC_CELL is not set 180# CONFIG_PPC_CELL is not set
178# CONFIG_PPC_CELL_NATIVE is not set 181# CONFIG_PPC_CELL_NATIVE is not set
182# CONFIG_PPC_82xx is not set
179# CONFIG_PQ2ADS is not set 183# CONFIG_PQ2ADS is not set
184# CONFIG_PPC_83xx is not set
185# CONFIG_PPC_86xx is not set
180CONFIG_EMBEDDED6xx=y 186CONFIG_EMBEDDED6xx=y
181# CONFIG_LINKSTATION is not set 187# CONFIG_LINKSTATION is not set
182# CONFIG_STORCENTER is not set 188# CONFIG_STORCENTER is not set
@@ -253,6 +259,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
253# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 259# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
254CONFIG_PAGEFLAGS_EXTENDED=y 260CONFIG_PAGEFLAGS_EXTENDED=y
255CONFIG_SPLIT_PTLOCK_CPUS=4 261CONFIG_SPLIT_PTLOCK_CPUS=4
262CONFIG_MIGRATION=y
256# CONFIG_RESOURCES_64BIT is not set 263# CONFIG_RESOURCES_64BIT is not set
257CONFIG_ZONE_DMA_FLAG=1 264CONFIG_ZONE_DMA_FLAG=1
258CONFIG_BOUNCE=y 265CONFIG_BOUNCE=y
@@ -260,6 +267,7 @@ CONFIG_VIRT_TO_BUS=y
260CONFIG_FORCE_MAX_ZONEORDER=11 267CONFIG_FORCE_MAX_ZONEORDER=11
261# CONFIG_PROC_DEVICETREE is not set 268# CONFIG_PROC_DEVICETREE is not set
262# CONFIG_CMDLINE_BOOL is not set 269# CONFIG_CMDLINE_BOOL is not set
270CONFIG_EXTRA_TARGETS=""
263CONFIG_PM=y 271CONFIG_PM=y
264# CONFIG_PM_DEBUG is not set 272# CONFIG_PM_DEBUG is not set
265CONFIG_SECCOMP=y 273CONFIG_SECCOMP=y
@@ -301,10 +309,6 @@ CONFIG_PHYSICAL_START=0x00000000
301CONFIG_TASK_SIZE=0xc0000000 309CONFIG_TASK_SIZE=0xc0000000
302CONFIG_CONSISTENT_START=0xff100000 310CONFIG_CONSISTENT_START=0xff100000
303CONFIG_CONSISTENT_SIZE=0x00200000 311CONFIG_CONSISTENT_SIZE=0x00200000
304
305#
306# Networking
307#
308CONFIG_NET=y 312CONFIG_NET=y
309 313
310# 314#
@@ -318,6 +322,7 @@ CONFIG_XFRM_USER=y
318# CONFIG_XFRM_SUB_POLICY is not set 322# CONFIG_XFRM_SUB_POLICY is not set
319# CONFIG_XFRM_MIGRATE is not set 323# CONFIG_XFRM_MIGRATE is not set
320# CONFIG_XFRM_STATISTICS is not set 324# CONFIG_XFRM_STATISTICS is not set
325CONFIG_XFRM_IPCOMP=m
321CONFIG_NET_KEY=m 326CONFIG_NET_KEY=m
322# CONFIG_NET_KEY_MIGRATE is not set 327# CONFIG_NET_KEY_MIGRATE is not set
323CONFIG_INET=y 328CONFIG_INET=y
@@ -349,7 +354,7 @@ CONFIG_INET_TUNNEL=m
349CONFIG_INET_XFRM_MODE_TRANSPORT=y 354CONFIG_INET_XFRM_MODE_TRANSPORT=y
350CONFIG_INET_XFRM_MODE_TUNNEL=y 355CONFIG_INET_XFRM_MODE_TUNNEL=y
351CONFIG_INET_XFRM_MODE_BEET=y 356CONFIG_INET_XFRM_MODE_BEET=y
352# CONFIG_INET_LRO is not set 357CONFIG_INET_LRO=m
353CONFIG_INET_DIAG=y 358CONFIG_INET_DIAG=y
354CONFIG_INET_TCP_DIAG=y 359CONFIG_INET_TCP_DIAG=y
355# CONFIG_TCP_CONG_ADVANCED is not set 360# CONFIG_TCP_CONG_ADVANCED is not set
@@ -472,6 +477,7 @@ CONFIG_IP_NF_MANGLE=m
472CONFIG_IP_NF_TARGET_ECN=m 477CONFIG_IP_NF_TARGET_ECN=m
473# CONFIG_IP_NF_TARGET_TTL is not set 478# CONFIG_IP_NF_TARGET_TTL is not set
474CONFIG_IP_NF_RAW=m 479CONFIG_IP_NF_RAW=m
480# CONFIG_IP_NF_SECURITY is not set
475CONFIG_IP_NF_ARPTABLES=m 481CONFIG_IP_NF_ARPTABLES=m
476CONFIG_IP_NF_ARPFILTER=m 482CONFIG_IP_NF_ARPFILTER=m
477CONFIG_IP_NF_ARP_MANGLE=m 483CONFIG_IP_NF_ARP_MANGLE=m
@@ -495,6 +501,7 @@ CONFIG_IP6_NF_TARGET_LOG=m
495CONFIG_IP6_NF_MANGLE=m 501CONFIG_IP6_NF_MANGLE=m
496# CONFIG_IP6_NF_TARGET_HL is not set 502# CONFIG_IP6_NF_TARGET_HL is not set
497CONFIG_IP6_NF_RAW=m 503CONFIG_IP6_NF_RAW=m
504# CONFIG_IP6_NF_SECURITY is not set
498 505
499# 506#
500# Bridge: Netfilter Configuration 507# Bridge: Netfilter Configuration
@@ -507,6 +514,7 @@ CONFIG_BRIDGE_EBT_802_3=m
507CONFIG_BRIDGE_EBT_AMONG=m 514CONFIG_BRIDGE_EBT_AMONG=m
508CONFIG_BRIDGE_EBT_ARP=m 515CONFIG_BRIDGE_EBT_ARP=m
509CONFIG_BRIDGE_EBT_IP=m 516CONFIG_BRIDGE_EBT_IP=m
517# CONFIG_BRIDGE_EBT_IP6 is not set
510CONFIG_BRIDGE_EBT_LIMIT=m 518CONFIG_BRIDGE_EBT_LIMIT=m
511CONFIG_BRIDGE_EBT_MARK=m 519CONFIG_BRIDGE_EBT_MARK=m
512CONFIG_BRIDGE_EBT_PKTTYPE=m 520CONFIG_BRIDGE_EBT_PKTTYPE=m
@@ -535,8 +543,10 @@ CONFIG_ATM_LANE=m
535# CONFIG_ATM_MPOA is not set 543# CONFIG_ATM_MPOA is not set
536CONFIG_ATM_BR2684=m 544CONFIG_ATM_BR2684=m
537# CONFIG_ATM_BR2684_IPFILTER is not set 545# CONFIG_ATM_BR2684_IPFILTER is not set
546CONFIG_STP=m
538CONFIG_BRIDGE=m 547CONFIG_BRIDGE=m
539CONFIG_VLAN_8021Q=m 548CONFIG_VLAN_8021Q=m
549# CONFIG_VLAN_8021Q_GVRP is not set
540# CONFIG_DECNET is not set 550# CONFIG_DECNET is not set
541CONFIG_LLC=m 551CONFIG_LLC=m
542# CONFIG_LLC2 is not set 552# CONFIG_LLC2 is not set
@@ -556,7 +566,6 @@ CONFIG_NET_SCH_HTB=m
556CONFIG_NET_SCH_HFSC=m 566CONFIG_NET_SCH_HFSC=m
557CONFIG_NET_SCH_ATM=m 567CONFIG_NET_SCH_ATM=m
558CONFIG_NET_SCH_PRIO=m 568CONFIG_NET_SCH_PRIO=m
559# CONFIG_NET_SCH_RR is not set
560CONFIG_NET_SCH_RED=m 569CONFIG_NET_SCH_RED=m
561CONFIG_NET_SCH_SFQ=m 570CONFIG_NET_SCH_SFQ=m
562CONFIG_NET_SCH_TEQL=m 571CONFIG_NET_SCH_TEQL=m
@@ -601,7 +610,6 @@ CONFIG_BT_RFCOMM_TTY=y
601CONFIG_BT_BNEP=m 610CONFIG_BT_BNEP=m
602CONFIG_BT_BNEP_MC_FILTER=y 611CONFIG_BT_BNEP_MC_FILTER=y
603CONFIG_BT_BNEP_PROTO_FILTER=y 612CONFIG_BT_BNEP_PROTO_FILTER=y
604CONFIG_BT_CMTP=m
605CONFIG_BT_HIDP=m 613CONFIG_BT_HIDP=m
606 614
607# 615#
@@ -609,6 +617,7 @@ CONFIG_BT_HIDP=m
609# 617#
610CONFIG_BT_HCIUSB=m 618CONFIG_BT_HCIUSB=m
611CONFIG_BT_HCIUSB_SCO=y 619CONFIG_BT_HCIUSB_SCO=y
620# CONFIG_BT_HCIBTUSB is not set
612CONFIG_BT_HCIUART=m 621CONFIG_BT_HCIUART=m
613CONFIG_BT_HCIUART_H4=y 622CONFIG_BT_HCIUART_H4=y
614CONFIG_BT_HCIUART_BCSP=y 623CONFIG_BT_HCIUART_BCSP=y
@@ -625,6 +634,7 @@ CONFIG_FIB_RULES=y
625# 634#
626# CONFIG_CFG80211 is not set 635# CONFIG_CFG80211 is not set
627CONFIG_WIRELESS_EXT=y 636CONFIG_WIRELESS_EXT=y
637CONFIG_WIRELESS_EXT_SYSFS=y
628# CONFIG_MAC80211 is not set 638# CONFIG_MAC80211 is not set
629CONFIG_IEEE80211=m 639CONFIG_IEEE80211=m
630# CONFIG_IEEE80211_DEBUG is not set 640# CONFIG_IEEE80211_DEBUG is not set
@@ -645,6 +655,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
645CONFIG_STANDALONE=y 655CONFIG_STANDALONE=y
646CONFIG_PREVENT_FIRMWARE_BUILD=y 656CONFIG_PREVENT_FIRMWARE_BUILD=y
647CONFIG_FW_LOADER=y 657CONFIG_FW_LOADER=y
658CONFIG_FIRMWARE_IN_KERNEL=y
659CONFIG_EXTRA_FIRMWARE=""
648# CONFIG_DEBUG_DRIVER is not set 660# CONFIG_DEBUG_DRIVER is not set
649# CONFIG_DEBUG_DEVRES is not set 661# CONFIG_DEBUG_DEVRES is not set
650# CONFIG_SYS_HYPERVISOR is not set 662# CONFIG_SYS_HYPERVISOR is not set
@@ -749,6 +761,7 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
749# CONFIG_BLK_DEV_XIP is not set 761# CONFIG_BLK_DEV_XIP is not set
750# CONFIG_CDROM_PKTCDVD is not set 762# CONFIG_CDROM_PKTCDVD is not set
751# CONFIG_ATA_OVER_ETH is not set 763# CONFIG_ATA_OVER_ETH is not set
764# CONFIG_BLK_DEV_HD is not set
752# CONFIG_MISC_DEVICES is not set 765# CONFIG_MISC_DEVICES is not set
753CONFIG_HAVE_IDE=y 766CONFIG_HAVE_IDE=y
754# CONFIG_IDE is not set 767# CONFIG_IDE is not set
@@ -844,6 +857,7 @@ CONFIG_SCSI_LPFC=m
844# CONFIG_SCSI_NSP32 is not set 857# CONFIG_SCSI_NSP32 is not set
845# CONFIG_SCSI_DEBUG is not set 858# CONFIG_SCSI_DEBUG is not set
846# CONFIG_SCSI_SRP is not set 859# CONFIG_SCSI_SRP is not set
860# CONFIG_SCSI_DH is not set
847# CONFIG_ATA is not set 861# CONFIG_ATA is not set
848# CONFIG_MD is not set 862# CONFIG_MD is not set
849# CONFIG_FUSION is not set 863# CONFIG_FUSION is not set
@@ -851,12 +865,15 @@ CONFIG_SCSI_LPFC=m
851# 865#
852# IEEE 1394 (FireWire) support 866# IEEE 1394 (FireWire) support
853# 867#
868
869#
870# Enable only one of the two stacks, unless you know what you are doing
871#
854# CONFIG_FIREWIRE is not set 872# CONFIG_FIREWIRE is not set
855# CONFIG_IEEE1394 is not set 873# CONFIG_IEEE1394 is not set
856# CONFIG_I2O is not set 874# CONFIG_I2O is not set
857# CONFIG_MACINTOSH_DRIVERS is not set 875# CONFIG_MACINTOSH_DRIVERS is not set
858CONFIG_NETDEVICES=y 876CONFIG_NETDEVICES=y
859# CONFIG_NETDEVICES_MULTIQUEUE is not set
860CONFIG_DUMMY=m 877CONFIG_DUMMY=m
861CONFIG_BONDING=m 878CONFIG_BONDING=m
862# CONFIG_MACVLAN is not set 879# CONFIG_MACVLAN is not set
@@ -900,7 +917,6 @@ CONFIG_NETDEV_1000=y
900# CONFIG_DL2K is not set 917# CONFIG_DL2K is not set
901# CONFIG_E1000 is not set 918# CONFIG_E1000 is not set
902# CONFIG_E1000E is not set 919# CONFIG_E1000E is not set
903# CONFIG_E1000E_ENABLED is not set
904# CONFIG_IP1000 is not set 920# CONFIG_IP1000 is not set
905# CONFIG_IGB is not set 921# CONFIG_IGB is not set
906# CONFIG_NS83820 is not set 922# CONFIG_NS83820 is not set
@@ -916,6 +932,7 @@ CONFIG_NETDEV_1000=y
916CONFIG_MV643XX_ETH=y 932CONFIG_MV643XX_ETH=y
917# CONFIG_QLA3XXX is not set 933# CONFIG_QLA3XXX is not set
918# CONFIG_ATL1 is not set 934# CONFIG_ATL1 is not set
935# CONFIG_ATL1E is not set
919# CONFIG_NETDEV_10000 is not set 936# CONFIG_NETDEV_10000 is not set
920# CONFIG_TR is not set 937# CONFIG_TR is not set
921 938
@@ -940,112 +957,13 @@ CONFIG_MV643XX_ETH=y
940# CONFIG_HIPPI is not set 957# CONFIG_HIPPI is not set
941# CONFIG_PPP is not set 958# CONFIG_PPP is not set
942# CONFIG_SLIP is not set 959# CONFIG_SLIP is not set
943CONFIG_SLHC=m
944# CONFIG_NET_FC is not set 960# CONFIG_NET_FC is not set
945CONFIG_NETCONSOLE=m 961CONFIG_NETCONSOLE=m
946# CONFIG_NETCONSOLE_DYNAMIC is not set 962# CONFIG_NETCONSOLE_DYNAMIC is not set
947CONFIG_NETPOLL=y 963CONFIG_NETPOLL=y
948CONFIG_NETPOLL_TRAP=y 964CONFIG_NETPOLL_TRAP=y
949CONFIG_NET_POLL_CONTROLLER=y 965CONFIG_NET_POLL_CONTROLLER=y
950CONFIG_ISDN=m 966# CONFIG_ISDN is not set
951CONFIG_ISDN_I4L=m
952CONFIG_ISDN_PPP=y
953CONFIG_ISDN_PPP_VJ=y
954CONFIG_ISDN_MPP=y
955CONFIG_IPPP_FILTER=y
956# CONFIG_ISDN_PPP_BSDCOMP is not set
957CONFIG_ISDN_AUDIO=y
958CONFIG_ISDN_TTY_FAX=y
959
960#
961# ISDN feature submodules
962#
963CONFIG_ISDN_DRV_LOOP=m
964# CONFIG_ISDN_DIVERSION is not set
965
966#
967# ISDN4Linux hardware drivers
968#
969
970#
971# Passive cards
972#
973CONFIG_ISDN_DRV_HISAX=m
974
975#
976# D-channel protocol features
977#
978CONFIG_HISAX_EURO=y
979CONFIG_DE_AOC=y
980CONFIG_HISAX_NO_SENDCOMPLETE=y
981CONFIG_HISAX_NO_LLC=y
982CONFIG_HISAX_NO_KEYPAD=y
983CONFIG_HISAX_1TR6=y
984CONFIG_HISAX_NI1=y
985CONFIG_HISAX_MAX_CARDS=8
986
987#
988# HiSax supported cards
989#
990CONFIG_HISAX_16_3=y
991CONFIG_HISAX_S0BOX=y
992CONFIG_HISAX_FRITZPCI=y
993CONFIG_HISAX_AVM_A1_PCMCIA=y
994CONFIG_HISAX_ELSA=y
995CONFIG_HISAX_DIEHLDIVA=y
996CONFIG_HISAX_SEDLBAUER=y
997CONFIG_HISAX_NICCY=y
998CONFIG_HISAX_BKM_A4T=y
999CONFIG_HISAX_SCT_QUADRO=y
1000CONFIG_HISAX_GAZEL=y
1001CONFIG_HISAX_W6692=y
1002CONFIG_HISAX_HFC_SX=y
1003# CONFIG_HISAX_DEBUG is not set
1004
1005#
1006# HiSax PCMCIA card service modules
1007#
1008
1009#
1010# HiSax sub driver modules
1011#
1012CONFIG_HISAX_ST5481=m
1013CONFIG_HISAX_HFCUSB=m
1014# CONFIG_HISAX_HFC4S8S is not set
1015CONFIG_HISAX_FRITZ_PCIPNP=m
1016CONFIG_HISAX_HDLC=y
1017
1018#
1019# Active cards
1020#
1021CONFIG_HYSDN=m
1022CONFIG_HYSDN_CAPI=y
1023# CONFIG_ISDN_DRV_GIGASET is not set
1024CONFIG_ISDN_CAPI=m
1025CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
1026CONFIG_CAPI_TRACE=y
1027CONFIG_ISDN_CAPI_MIDDLEWARE=y
1028CONFIG_ISDN_CAPI_CAPI20=m
1029CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
1030CONFIG_ISDN_CAPI_CAPIFS=m
1031CONFIG_ISDN_CAPI_CAPIDRV=m
1032
1033#
1034# CAPI hardware drivers
1035#
1036CONFIG_CAPI_AVM=y
1037CONFIG_ISDN_DRV_AVMB1_B1PCI=m
1038CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
1039CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
1040CONFIG_ISDN_DRV_AVMB1_T1PCI=m
1041CONFIG_ISDN_DRV_AVMB1_C4=m
1042CONFIG_CAPI_EICON=y
1043CONFIG_ISDN_DIVAS=m
1044CONFIG_ISDN_DIVAS_BRIPCI=y
1045CONFIG_ISDN_DIVAS_PRIPCI=y
1046CONFIG_ISDN_DIVAS_DIVACAPI=m
1047CONFIG_ISDN_DIVAS_USERIDI=m
1048CONFIG_ISDN_DIVAS_MAINT=m
1049# CONFIG_PHONE is not set 967# CONFIG_PHONE is not set
1050 968
1051# 969#
@@ -1092,6 +1010,7 @@ CONFIG_INPUT_UINPUT=m
1092# Character devices 1010# Character devices
1093# 1011#
1094CONFIG_VT=y 1012CONFIG_VT=y
1013CONFIG_CONSOLE_TRANSLATIONS=y
1095CONFIG_VT_CONSOLE=y 1014CONFIG_VT_CONSOLE=y
1096CONFIG_HW_CONSOLE=y 1015CONFIG_HW_CONSOLE=y
1097# CONFIG_VT_HW_CONSOLE_BINDING is not set 1016# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -1145,44 +1064,65 @@ CONFIG_DEVPORT=y
1145CONFIG_I2C=m 1064CONFIG_I2C=m
1146CONFIG_I2C_BOARDINFO=y 1065CONFIG_I2C_BOARDINFO=y
1147CONFIG_I2C_CHARDEV=m 1066CONFIG_I2C_CHARDEV=m
1067CONFIG_I2C_HELPER_AUTO=y
1148 1068
1149# 1069#
1150# I2C Hardware Bus support 1070# I2C Hardware Bus support
1151# 1071#
1072
1073#
1074# PC SMBus host controller drivers
1075#
1152# CONFIG_I2C_ALI1535 is not set 1076# CONFIG_I2C_ALI1535 is not set
1153# CONFIG_I2C_ALI1563 is not set 1077# CONFIG_I2C_ALI1563 is not set
1154# CONFIG_I2C_ALI15X3 is not set 1078# CONFIG_I2C_ALI15X3 is not set
1155# CONFIG_I2C_AMD756 is not set 1079# CONFIG_I2C_AMD756 is not set
1156# CONFIG_I2C_AMD8111 is not set 1080# CONFIG_I2C_AMD8111 is not set
1157# CONFIG_I2C_I801 is not set 1081# CONFIG_I2C_I801 is not set
1158# CONFIG_I2C_I810 is not set 1082# CONFIG_I2C_ISCH is not set
1159# CONFIG_I2C_PIIX4 is not set 1083# CONFIG_I2C_PIIX4 is not set
1160# CONFIG_I2C_MPC is not set
1161# CONFIG_I2C_NFORCE2 is not set 1084# CONFIG_I2C_NFORCE2 is not set
1162# CONFIG_I2C_OCORES is not set
1163# CONFIG_I2C_PARPORT_LIGHT is not set
1164# CONFIG_I2C_PROSAVAGE is not set
1165# CONFIG_I2C_SAVAGE4 is not set
1166# CONFIG_I2C_SIMTEC is not set
1167# CONFIG_I2C_SIS5595 is not set 1085# CONFIG_I2C_SIS5595 is not set
1168# CONFIG_I2C_SIS630 is not set 1086# CONFIG_I2C_SIS630 is not set
1169# CONFIG_I2C_SIS96X is not set 1087# CONFIG_I2C_SIS96X is not set
1170# CONFIG_I2C_TAOS_EVM is not set
1171# CONFIG_I2C_STUB is not set
1172# CONFIG_I2C_TINY_USB is not set
1173# CONFIG_I2C_VIA is not set 1088# CONFIG_I2C_VIA is not set
1174# CONFIG_I2C_VIAPRO is not set 1089# CONFIG_I2C_VIAPRO is not set
1090
1091#
1092# I2C system bus drivers (mostly embedded / system-on-chip)
1093#
1094# CONFIG_I2C_MPC is not set
1095CONFIG_I2C_MV64XXX=m
1096# CONFIG_I2C_OCORES is not set
1097# CONFIG_I2C_SIMTEC is not set
1098
1099#
1100# External I2C/SMBus adapter drivers
1101#
1102# CONFIG_I2C_PARPORT_LIGHT is not set
1103# CONFIG_I2C_TAOS_EVM is not set
1104# CONFIG_I2C_TINY_USB is not set
1105
1106#
1107# Graphics adapter I2C/DDC channel drivers
1108#
1175# CONFIG_I2C_VOODOO3 is not set 1109# CONFIG_I2C_VOODOO3 is not set
1110
1111#
1112# Other I2C/SMBus bus drivers
1113#
1176# CONFIG_I2C_PCA_PLATFORM is not set 1114# CONFIG_I2C_PCA_PLATFORM is not set
1177CONFIG_I2C_MV64XXX=m 1115# CONFIG_I2C_STUB is not set
1178 1116
1179# 1117#
1180# Miscellaneous I2C Chip support 1118# Miscellaneous I2C Chip support
1181# 1119#
1182# CONFIG_DS1682 is not set 1120# CONFIG_DS1682 is not set
1121# CONFIG_AT24 is not set
1183CONFIG_SENSORS_EEPROM=m 1122CONFIG_SENSORS_EEPROM=m
1184CONFIG_SENSORS_PCF8574=m 1123CONFIG_SENSORS_PCF8574=m
1185# CONFIG_PCF8575 is not set 1124# CONFIG_PCF8575 is not set
1125# CONFIG_SENSORS_PCA9539 is not set
1186CONFIG_SENSORS_PCF8591=m 1126CONFIG_SENSORS_PCF8591=m
1187# CONFIG_SENSORS_MAX6875 is not set 1127# CONFIG_SENSORS_MAX6875 is not set
1188# CONFIG_SENSORS_TSL2550 is not set 1128# CONFIG_SENSORS_TSL2550 is not set
@@ -1191,10 +1131,13 @@ CONFIG_SENSORS_PCF8591=m
1191# CONFIG_I2C_DEBUG_BUS is not set 1131# CONFIG_I2C_DEBUG_BUS is not set
1192# CONFIG_I2C_DEBUG_CHIP is not set 1132# CONFIG_I2C_DEBUG_CHIP is not set
1193# CONFIG_SPI is not set 1133# CONFIG_SPI is not set
1134CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1135# CONFIG_GPIOLIB is not set
1194# CONFIG_W1 is not set 1136# CONFIG_W1 is not set
1195# CONFIG_POWER_SUPPLY is not set 1137# CONFIG_POWER_SUPPLY is not set
1196CONFIG_HWMON=m 1138CONFIG_HWMON=m
1197CONFIG_HWMON_VID=m 1139CONFIG_HWMON_VID=m
1140# CONFIG_SENSORS_AD7414 is not set
1198# CONFIG_SENSORS_AD7418 is not set 1141# CONFIG_SENSORS_AD7418 is not set
1199CONFIG_SENSORS_ADM1021=m 1142CONFIG_SENSORS_ADM1021=m
1200CONFIG_SENSORS_ADM1025=m 1143CONFIG_SENSORS_ADM1025=m
@@ -1255,6 +1198,7 @@ CONFIG_WATCHDOG=y
1255# Watchdog Device Drivers 1198# Watchdog Device Drivers
1256# 1199#
1257CONFIG_SOFT_WATCHDOG=m 1200CONFIG_SOFT_WATCHDOG=m
1201# CONFIG_ALIM7101_WDT is not set
1258# CONFIG_MV64X60_WDT is not set 1202# CONFIG_MV64X60_WDT is not set
1259 1203
1260# 1204#
@@ -1278,8 +1222,10 @@ CONFIG_SSB_POSSIBLE=y
1278# 1222#
1279# Multifunction device drivers 1223# Multifunction device drivers
1280# 1224#
1225# CONFIG_MFD_CORE is not set
1281# CONFIG_MFD_SM501 is not set 1226# CONFIG_MFD_SM501 is not set
1282# CONFIG_HTC_PASIC3 is not set 1227# CONFIG_HTC_PASIC3 is not set
1228# CONFIG_MFD_TMIO is not set
1283 1229
1284# 1230#
1285# Multimedia devices 1231# Multimedia devices
@@ -1290,6 +1236,7 @@ CONFIG_SSB_POSSIBLE=y
1290# 1236#
1291# CONFIG_VIDEO_DEV is not set 1237# CONFIG_VIDEO_DEV is not set
1292# CONFIG_DVB_CORE is not set 1238# CONFIG_DVB_CORE is not set
1239# CONFIG_VIDEO_MEDIA is not set
1293 1240
1294# 1241#
1295# Multimedia drivers 1242# Multimedia drivers
@@ -1316,10 +1263,6 @@ CONFIG_SSB_POSSIBLE=y
1316# 1263#
1317# CONFIG_VGA_CONSOLE is not set 1264# CONFIG_VGA_CONSOLE is not set
1318CONFIG_DUMMY_CONSOLE=y 1265CONFIG_DUMMY_CONSOLE=y
1319
1320#
1321# Sound
1322#
1323# CONFIG_SOUND is not set 1266# CONFIG_SOUND is not set
1324# CONFIG_HID_SUPPORT is not set 1267# CONFIG_HID_SUPPORT is not set
1325CONFIG_HID=m 1268CONFIG_HID=m
@@ -1339,6 +1282,7 @@ CONFIG_USB_DEVICEFS=y
1339# CONFIG_USB_DYNAMIC_MINORS is not set 1282# CONFIG_USB_DYNAMIC_MINORS is not set
1340CONFIG_USB_SUSPEND=y 1283CONFIG_USB_SUSPEND=y
1341# CONFIG_USB_OTG is not set 1284# CONFIG_USB_OTG is not set
1285CONFIG_USB_MON=y
1342 1286
1343# 1287#
1344# USB Host Controller Drivers 1288# USB Host Controller Drivers
@@ -1363,10 +1307,15 @@ CONFIG_USB_UHCI_HCD=m
1363# CONFIG_USB_R8A66597_HCD is not set 1307# CONFIG_USB_R8A66597_HCD is not set
1364 1308
1365# 1309#
1310# Enable Host or Gadget support to see Inventra options
1311#
1312
1313#
1366# USB Device Class drivers 1314# USB Device Class drivers
1367# 1315#
1368CONFIG_USB_ACM=m 1316CONFIG_USB_ACM=m
1369CONFIG_USB_PRINTER=m 1317CONFIG_USB_PRINTER=m
1318# CONFIG_USB_WDM is not set
1370 1319
1371# 1320#
1372# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1321# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1388,6 +1337,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1388# CONFIG_USB_STORAGE_ALAUDA is not set 1337# CONFIG_USB_STORAGE_ALAUDA is not set
1389# CONFIG_USB_STORAGE_ONETOUCH is not set 1338# CONFIG_USB_STORAGE_ONETOUCH is not set
1390# CONFIG_USB_STORAGE_KARMA is not set 1339# CONFIG_USB_STORAGE_KARMA is not set
1340# CONFIG_USB_STORAGE_SIERRA is not set
1391# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1341# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1392# CONFIG_USB_LIBUSUAL is not set 1342# CONFIG_USB_LIBUSUAL is not set
1393 1343
@@ -1396,7 +1346,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1396# 1346#
1397CONFIG_USB_MDC800=m 1347CONFIG_USB_MDC800=m
1398CONFIG_USB_MICROTEK=m 1348CONFIG_USB_MICROTEK=m
1399CONFIG_USB_MON=y
1400 1349
1401# 1350#
1402# USB port drivers 1351# USB port drivers
@@ -1405,7 +1354,6 @@ CONFIG_USB_SERIAL=m
1405CONFIG_USB_EZUSB=y 1354CONFIG_USB_EZUSB=y
1406CONFIG_USB_SERIAL_GENERIC=y 1355CONFIG_USB_SERIAL_GENERIC=y
1407# CONFIG_USB_SERIAL_AIRCABLE is not set 1356# CONFIG_USB_SERIAL_AIRCABLE is not set
1408# CONFIG_USB_SERIAL_AIRPRIME is not set
1409# CONFIG_USB_SERIAL_ARK3116 is not set 1357# CONFIG_USB_SERIAL_ARK3116 is not set
1410CONFIG_USB_SERIAL_BELKIN=m 1358CONFIG_USB_SERIAL_BELKIN=m
1411# CONFIG_USB_SERIAL_CH341 is not set 1359# CONFIG_USB_SERIAL_CH341 is not set
@@ -1443,6 +1391,7 @@ CONFIG_USB_SERIAL_KOBIL_SCT=m
1443CONFIG_USB_SERIAL_MCT_U232=m 1391CONFIG_USB_SERIAL_MCT_U232=m
1444# CONFIG_USB_SERIAL_MOS7720 is not set 1392# CONFIG_USB_SERIAL_MOS7720 is not set
1445# CONFIG_USB_SERIAL_MOS7840 is not set 1393# CONFIG_USB_SERIAL_MOS7840 is not set
1394# CONFIG_USB_SERIAL_MOTOROLA is not set
1446# CONFIG_USB_SERIAL_NAVMAN is not set 1395# CONFIG_USB_SERIAL_NAVMAN is not set
1447CONFIG_USB_SERIAL_PL2303=m 1396CONFIG_USB_SERIAL_PL2303=m
1448# CONFIG_USB_SERIAL_OTI6858 is not set 1397# CONFIG_USB_SERIAL_OTI6858 is not set
@@ -1464,7 +1413,6 @@ CONFIG_USB_SERIAL_OMNINET=m
1464CONFIG_USB_EMI62=m 1413CONFIG_USB_EMI62=m
1465# CONFIG_USB_EMI26 is not set 1414# CONFIG_USB_EMI26 is not set
1466# CONFIG_USB_ADUTUX is not set 1415# CONFIG_USB_ADUTUX is not set
1467CONFIG_USB_AUERSWALD=m
1468CONFIG_USB_RIO500=m 1416CONFIG_USB_RIO500=m
1469CONFIG_USB_LEGOTOWER=m 1417CONFIG_USB_LEGOTOWER=m
1470CONFIG_USB_LCD=m 1418CONFIG_USB_LCD=m
@@ -1481,6 +1429,7 @@ CONFIG_USB_LED=m
1481# CONFIG_USB_TRANCEVIBRATOR is not set 1429# CONFIG_USB_TRANCEVIBRATOR is not set
1482# CONFIG_USB_IOWARRIOR is not set 1430# CONFIG_USB_IOWARRIOR is not set
1483CONFIG_USB_TEST=m 1431CONFIG_USB_TEST=m
1432# CONFIG_USB_ISIGHTFW is not set
1484CONFIG_USB_ATM=m 1433CONFIG_USB_ATM=m
1485CONFIG_USB_SPEEDTOUCH=m 1434CONFIG_USB_SPEEDTOUCH=m
1486# CONFIG_USB_CXACRU is not set 1435# CONFIG_USB_CXACRU is not set
@@ -1601,6 +1550,7 @@ CONFIG_JFFS2_RTIME=y
1601CONFIG_CRAMFS=m 1550CONFIG_CRAMFS=m
1602CONFIG_VXFS_FS=m 1551CONFIG_VXFS_FS=m
1603# CONFIG_MINIX_FS is not set 1552# CONFIG_MINIX_FS is not set
1553# CONFIG_OMFS_FS is not set
1604# CONFIG_HPFS_FS is not set 1554# CONFIG_HPFS_FS is not set
1605# CONFIG_QNX4FS_FS is not set 1555# CONFIG_QNX4FS_FS is not set
1606# CONFIG_ROMFS_FS is not set 1556# CONFIG_ROMFS_FS is not set
@@ -1611,8 +1561,8 @@ CONFIG_NFS_FS=y
1611CONFIG_NFS_V3=y 1561CONFIG_NFS_V3=y
1612CONFIG_NFS_V3_ACL=y 1562CONFIG_NFS_V3_ACL=y
1613CONFIG_NFS_V4=y 1563CONFIG_NFS_V4=y
1614# CONFIG_NFSD is not set
1615CONFIG_ROOT_NFS=y 1564CONFIG_ROOT_NFS=y
1565# CONFIG_NFSD is not set
1616CONFIG_LOCKD=y 1566CONFIG_LOCKD=y
1617CONFIG_LOCKD_V4=y 1567CONFIG_LOCKD_V4=y
1618CONFIG_NFS_ACL_SUPPORT=y 1568CONFIG_NFS_ACL_SUPPORT=y
@@ -1620,7 +1570,6 @@ CONFIG_NFS_COMMON=y
1620CONFIG_SUNRPC=y 1570CONFIG_SUNRPC=y
1621CONFIG_SUNRPC_GSS=y 1571CONFIG_SUNRPC_GSS=y
1622CONFIG_SUNRPC_XPRT_RDMA=m 1572CONFIG_SUNRPC_XPRT_RDMA=m
1623# CONFIG_SUNRPC_BIND34 is not set
1624CONFIG_RPCSEC_GSS_KRB5=y 1573CONFIG_RPCSEC_GSS_KRB5=y
1625CONFIG_RPCSEC_GSS_SPKM3=m 1574CONFIG_RPCSEC_GSS_SPKM3=m
1626# CONFIG_SMB_FS is not set 1575# CONFIG_SMB_FS is not set
@@ -1705,6 +1654,7 @@ CONFIG_BITREVERSE=y
1705# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1654# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1706CONFIG_CRC_CCITT=m 1655CONFIG_CRC_CCITT=m
1707# CONFIG_CRC16 is not set 1656# CONFIG_CRC16 is not set
1657CONFIG_CRC_T10DIF=m
1708CONFIG_CRC_ITU_T=m 1658CONFIG_CRC_ITU_T=m
1709CONFIG_CRC32=y 1659CONFIG_CRC32=y
1710# CONFIG_CRC7 is not set 1660# CONFIG_CRC7 is not set
@@ -1732,6 +1682,8 @@ CONFIG_MAGIC_SYSRQ=y
1732CONFIG_DEBUG_KERNEL=y 1682CONFIG_DEBUG_KERNEL=y
1733# CONFIG_DEBUG_SHIRQ is not set 1683# CONFIG_DEBUG_SHIRQ is not set
1734CONFIG_DETECT_SOFTLOCKUP=y 1684CONFIG_DETECT_SOFTLOCKUP=y
1685# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1686CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1735CONFIG_SCHED_DEBUG=y 1687CONFIG_SCHED_DEBUG=y
1736# CONFIG_SCHEDSTATS is not set 1688# CONFIG_SCHEDSTATS is not set
1737# CONFIG_TIMER_STATS is not set 1689# CONFIG_TIMER_STATS is not set
@@ -1750,6 +1702,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
1750CONFIG_DEBUG_INFO=y 1702CONFIG_DEBUG_INFO=y
1751# CONFIG_DEBUG_VM is not set 1703# CONFIG_DEBUG_VM is not set
1752# CONFIG_DEBUG_WRITECOUNT is not set 1704# CONFIG_DEBUG_WRITECOUNT is not set
1705CONFIG_DEBUG_MEMORY_INIT=y
1753# CONFIG_DEBUG_LIST is not set 1706# CONFIG_DEBUG_LIST is not set
1754# CONFIG_DEBUG_SG is not set 1707# CONFIG_DEBUG_SG is not set
1755# CONFIG_BOOT_PRINTK_DELAY is not set 1708# CONFIG_BOOT_PRINTK_DELAY is not set
@@ -1758,11 +1711,22 @@ CONFIG_DEBUG_INFO=y
1758# CONFIG_BACKTRACE_SELF_TEST is not set 1711# CONFIG_BACKTRACE_SELF_TEST is not set
1759# CONFIG_LKDTM is not set 1712# CONFIG_LKDTM is not set
1760# CONFIG_FAULT_INJECTION is not set 1713# CONFIG_FAULT_INJECTION is not set
1714# CONFIG_LATENCYTOP is not set
1715CONFIG_SYSCTL_SYSCALL_CHECK=y
1716CONFIG_HAVE_FTRACE=y
1717CONFIG_HAVE_DYNAMIC_FTRACE=y
1718# CONFIG_FTRACE is not set
1719# CONFIG_SCHED_TRACER is not set
1720# CONFIG_CONTEXT_SWITCH_TRACER is not set
1761# CONFIG_SAMPLES is not set 1721# CONFIG_SAMPLES is not set
1722CONFIG_HAVE_ARCH_KGDB=y
1723# CONFIG_KGDB is not set
1762CONFIG_DEBUG_STACKOVERFLOW=y 1724CONFIG_DEBUG_STACKOVERFLOW=y
1763CONFIG_DEBUG_STACK_USAGE=y 1725CONFIG_DEBUG_STACK_USAGE=y
1764# CONFIG_DEBUG_PAGEALLOC is not set 1726# CONFIG_DEBUG_PAGEALLOC is not set
1765# CONFIG_DEBUGGER is not set 1727# CONFIG_CODE_PATCHING_SELFTEST is not set
1728# CONFIG_FTR_FIXUP_SELFTEST is not set
1729# CONFIG_XMON is not set
1766# CONFIG_IRQSTACKS is not set 1730# CONFIG_IRQSTACKS is not set
1767# CONFIG_BDI_SWITCH is not set 1731# CONFIG_BDI_SWITCH is not set
1768CONFIG_BOOTX_TEXT=y 1732CONFIG_BOOTX_TEXT=y
@@ -1776,7 +1740,6 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
1776CONFIG_SECURITY=y 1740CONFIG_SECURITY=y
1777CONFIG_SECURITY_NETWORK=y 1741CONFIG_SECURITY_NETWORK=y
1778# CONFIG_SECURITY_NETWORK_XFRM is not set 1742# CONFIG_SECURITY_NETWORK_XFRM is not set
1779CONFIG_SECURITY_CAPABILITIES=y
1780# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1743# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1781CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1744CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
1782CONFIG_SECURITY_SELINUX=y 1745CONFIG_SECURITY_SELINUX=y
@@ -1835,6 +1798,10 @@ CONFIG_CRYPTO_CRC32C=m
1835CONFIG_CRYPTO_MD4=m 1798CONFIG_CRYPTO_MD4=m
1836CONFIG_CRYPTO_MD5=y 1799CONFIG_CRYPTO_MD5=y
1837CONFIG_CRYPTO_MICHAEL_MIC=m 1800CONFIG_CRYPTO_MICHAEL_MIC=m
1801# CONFIG_CRYPTO_RMD128 is not set
1802# CONFIG_CRYPTO_RMD160 is not set
1803# CONFIG_CRYPTO_RMD256 is not set
1804# CONFIG_CRYPTO_RMD320 is not set
1838CONFIG_CRYPTO_SHA1=y 1805CONFIG_CRYPTO_SHA1=y
1839CONFIG_CRYPTO_SHA256=m 1806CONFIG_CRYPTO_SHA256=m
1840CONFIG_CRYPTO_SHA512=m 1807CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 05360d4ef1b1..2e0ef8c18227 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc3 3# Linux kernel version: 2.6.27-rc4
4# Tue May 20 20:00:44 2008 4# Tue Aug 26 13:12:40 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -33,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -90,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
90CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
91# CONFIG_EMBEDDED is not set 92# CONFIG_EMBEDDED is not set
92CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
93CONFIG_SYSCTL_SYSCALL_CHECK=y
94CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
95# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
96# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -117,10 +117,16 @@ CONFIG_SLUB=y
117# CONFIG_MARKERS is not set 117# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 119# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set 125# CONFIG_HAVE_DMA_ATTRS is not set
126CONFIG_USE_GENERIC_SMP_HELPERS=y
127# CONFIG_HAVE_CLK is not set
123CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
126# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -138,6 +144,7 @@ CONFIG_LBD=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 144# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 145# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 146# CONFIG_BLK_DEV_BSG is not set
147# CONFIG_BLK_DEV_INTEGRITY is not set
141 148
142# 149#
143# IO Schedulers 150# IO Schedulers
@@ -157,19 +164,18 @@ CONFIG_CLASSIC_RCU=y
157# Platform support 164# Platform support
158# 165#
159CONFIG_PPC_MULTIPLATFORM=y 166CONFIG_PPC_MULTIPLATFORM=y
160# CONFIG_PPC_82xx is not set
161# CONFIG_PPC_83xx is not set
162# CONFIG_PPC_86xx is not set
163CONFIG_CLASSIC32=y 167CONFIG_CLASSIC32=y
164CONFIG_PPC_CHRP=y 168CONFIG_PPC_CHRP=y
165# CONFIG_PPC_MPC512x is not set
166# CONFIG_PPC_MPC5121 is not set
167# CONFIG_MPC5121_ADS is not set 169# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set
168# CONFIG_PPC_MPC52xx is not set 171# CONFIG_PPC_MPC52xx is not set
169# CONFIG_PPC_PMAC is not set 172# CONFIG_PPC_PMAC is not set
170# CONFIG_PPC_CELL is not set 173# CONFIG_PPC_CELL is not set
171# CONFIG_PPC_CELL_NATIVE is not set 174# CONFIG_PPC_CELL_NATIVE is not set
175# CONFIG_PPC_82xx is not set
172# CONFIG_PQ2ADS is not set 176# CONFIG_PQ2ADS is not set
177# CONFIG_PPC_83xx is not set
178# CONFIG_PPC_86xx is not set
173CONFIG_PPC_NATIVE=y 179CONFIG_PPC_NATIVE=y
174# CONFIG_UDBG_RTAS_CONSOLE is not set 180# CONFIG_UDBG_RTAS_CONSOLE is not set
175# CONFIG_IPIC is not set 181# CONFIG_IPIC is not set
@@ -201,7 +207,7 @@ CONFIG_HZ_250=y
201# CONFIG_HZ_300 is not set 207# CONFIG_HZ_300 is not set
202# CONFIG_HZ_1000 is not set 208# CONFIG_HZ_1000 is not set
203CONFIG_HZ=250 209CONFIG_HZ=250
204# CONFIG_SCHED_HRTICK is not set 210CONFIG_SCHED_HRTICK=y
205CONFIG_PREEMPT_NONE=y 211CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 212# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 213# CONFIG_PREEMPT is not set
@@ -225,6 +231,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
234# CONFIG_MIGRATION is not set
228# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 236CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 237CONFIG_BOUNCE=y
@@ -232,6 +239,7 @@ CONFIG_VIRT_TO_BUS=y
232CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
233CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
234# CONFIG_CMDLINE_BOOL is not set 241# CONFIG_CMDLINE_BOOL is not set
242CONFIG_EXTRA_TARGETS=""
235# CONFIG_PM is not set 243# CONFIG_PM is not set
236CONFIG_SECCOMP=y 244CONFIG_SECCOMP=y
237CONFIG_ISA_DMA_API=y 245CONFIG_ISA_DMA_API=y
@@ -268,10 +276,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
268CONFIG_KERNEL_START=0xc0000000 276CONFIG_KERNEL_START=0xc0000000
269CONFIG_PHYSICAL_START=0x00000000 277CONFIG_PHYSICAL_START=0x00000000
270CONFIG_TASK_SIZE=0xc0000000 278CONFIG_TASK_SIZE=0xc0000000
271
272#
273# Networking
274#
275CONFIG_NET=y 279CONFIG_NET=y
276 280
277# 281#
@@ -398,7 +402,9 @@ CONFIG_NF_NAT_SIP=m
398CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 402CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
399# CONFIG_STANDALONE is not set 403# CONFIG_STANDALONE is not set
400CONFIG_PREVENT_FIRMWARE_BUILD=y 404CONFIG_PREVENT_FIRMWARE_BUILD=y
401# CONFIG_FW_LOADER is not set 405CONFIG_FW_LOADER=y
406CONFIG_FIRMWARE_IN_KERNEL=y
407CONFIG_EXTRA_FIRMWARE=""
402# CONFIG_DEBUG_DRIVER is not set 408# CONFIG_DEBUG_DRIVER is not set
403# CONFIG_DEBUG_DEVRES is not set 409# CONFIG_DEBUG_DEVRES is not set
404# CONFIG_SYS_HYPERVISOR is not set 410# CONFIG_SYS_HYPERVISOR is not set
@@ -427,12 +433,14 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
427# CONFIG_BLK_DEV_XIP is not set 433# CONFIG_BLK_DEV_XIP is not set
428# CONFIG_CDROM_PKTCDVD is not set 434# CONFIG_CDROM_PKTCDVD is not set
429# CONFIG_ATA_OVER_ETH is not set 435# CONFIG_ATA_OVER_ETH is not set
436# CONFIG_BLK_DEV_HD is not set
430CONFIG_MISC_DEVICES=y 437CONFIG_MISC_DEVICES=y
431# CONFIG_PHANTOM is not set 438# CONFIG_PHANTOM is not set
432# CONFIG_EEPROM_93CX6 is not set 439# CONFIG_EEPROM_93CX6 is not set
433# CONFIG_SGI_IOC4 is not set 440# CONFIG_SGI_IOC4 is not set
434# CONFIG_TIFM_CORE is not set 441# CONFIG_TIFM_CORE is not set
435# CONFIG_ENCLOSURE_SERVICES is not set 442# CONFIG_ENCLOSURE_SERVICES is not set
443# CONFIG_HP_ILO is not set
436CONFIG_HAVE_IDE=y 444CONFIG_HAVE_IDE=y
437CONFIG_IDE=y 445CONFIG_IDE=y
438CONFIG_BLK_DEV_IDE=y 446CONFIG_BLK_DEV_IDE=y
@@ -440,6 +448,7 @@ CONFIG_BLK_DEV_IDE=y
440# 448#
441# Please see Documentation/ide/ide.txt for help/info on IDE drives 449# Please see Documentation/ide/ide.txt for help/info on IDE drives
442# 450#
451CONFIG_IDE_TIMINGS=y
443# CONFIG_BLK_DEV_IDE_SATA is not set 452# CONFIG_BLK_DEV_IDE_SATA is not set
444CONFIG_BLK_DEV_IDEDISK=y 453CONFIG_BLK_DEV_IDEDISK=y
445CONFIG_IDEDISK_MULTI_MODE=y 454CONFIG_IDEDISK_MULTI_MODE=y
@@ -454,7 +463,6 @@ CONFIG_IDE_PROC_FS=y
454# 463#
455# IDE chipset support/bugfixes 464# IDE chipset support/bugfixes
456# 465#
457CONFIG_IDE_GENERIC=y
458# CONFIG_BLK_DEV_PLATFORM is not set 466# CONFIG_BLK_DEV_PLATFORM is not set
459CONFIG_BLK_DEV_IDEDMA_SFF=y 467CONFIG_BLK_DEV_IDEDMA_SFF=y
460 468
@@ -472,10 +480,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
472# CONFIG_BLK_DEV_AMD74XX is not set 480# CONFIG_BLK_DEV_AMD74XX is not set
473# CONFIG_BLK_DEV_CMD64X is not set 481# CONFIG_BLK_DEV_CMD64X is not set
474# CONFIG_BLK_DEV_TRIFLEX is not set 482# CONFIG_BLK_DEV_TRIFLEX is not set
475# CONFIG_BLK_DEV_CY82C693 is not set
476# CONFIG_BLK_DEV_CS5520 is not set 483# CONFIG_BLK_DEV_CS5520 is not set
477# CONFIG_BLK_DEV_CS5530 is not set 484# CONFIG_BLK_DEV_CS5530 is not set
478# CONFIG_BLK_DEV_HPT34X is not set
479# CONFIG_BLK_DEV_HPT366 is not set 485# CONFIG_BLK_DEV_HPT366 is not set
480# CONFIG_BLK_DEV_JMICRON is not set 486# CONFIG_BLK_DEV_JMICRON is not set
481# CONFIG_BLK_DEV_SC1200 is not set 487# CONFIG_BLK_DEV_SC1200 is not set
@@ -493,8 +499,6 @@ CONFIG_BLK_DEV_SL82C105=y
493CONFIG_BLK_DEV_VIA82CXXX=y 499CONFIG_BLK_DEV_VIA82CXXX=y
494# CONFIG_BLK_DEV_TC86C001 is not set 500# CONFIG_BLK_DEV_TC86C001 is not set
495CONFIG_BLK_DEV_IDEDMA=y 501CONFIG_BLK_DEV_IDEDMA=y
496# CONFIG_BLK_DEV_HD_ONLY is not set
497# CONFIG_BLK_DEV_HD is not set
498 502
499# 503#
500# SCSI device support 504# SCSI device support
@@ -588,6 +592,7 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
588# CONFIG_SCSI_NSP32 is not set 592# CONFIG_SCSI_NSP32 is not set
589# CONFIG_SCSI_DEBUG is not set 593# CONFIG_SCSI_DEBUG is not set
590# CONFIG_SCSI_SRP is not set 594# CONFIG_SCSI_SRP is not set
595# CONFIG_SCSI_DH is not set
591# CONFIG_ATA is not set 596# CONFIG_ATA is not set
592# CONFIG_MD is not set 597# CONFIG_MD is not set
593# CONFIG_FUSION is not set 598# CONFIG_FUSION is not set
@@ -595,12 +600,15 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
595# 600#
596# IEEE 1394 (FireWire) support 601# IEEE 1394 (FireWire) support
597# 602#
603
604#
605# Enable only one of the two stacks, unless you know what you are doing
606#
598# CONFIG_FIREWIRE is not set 607# CONFIG_FIREWIRE is not set
599# CONFIG_IEEE1394 is not set 608# CONFIG_IEEE1394 is not set
600# CONFIG_I2O is not set 609# CONFIG_I2O is not set
601# CONFIG_MACINTOSH_DRIVERS is not set 610# CONFIG_MACINTOSH_DRIVERS is not set
602CONFIG_NETDEVICES=y 611CONFIG_NETDEVICES=y
603# CONFIG_NETDEVICES_MULTIQUEUE is not set
604# CONFIG_DUMMY is not set 612# CONFIG_DUMMY is not set
605# CONFIG_BONDING is not set 613# CONFIG_BONDING is not set
606# CONFIG_MACVLAN is not set 614# CONFIG_MACVLAN is not set
@@ -660,14 +668,12 @@ CONFIG_8139TOO=y
660# CONFIG_TLAN is not set 668# CONFIG_TLAN is not set
661CONFIG_VIA_RHINE=y 669CONFIG_VIA_RHINE=y
662# CONFIG_VIA_RHINE_MMIO is not set 670# CONFIG_VIA_RHINE_MMIO is not set
663# CONFIG_VIA_RHINE_NAPI is not set
664# CONFIG_SC92031 is not set 671# CONFIG_SC92031 is not set
665CONFIG_NETDEV_1000=y 672CONFIG_NETDEV_1000=y
666# CONFIG_ACENIC is not set 673# CONFIG_ACENIC is not set
667# CONFIG_DL2K is not set 674# CONFIG_DL2K is not set
668# CONFIG_E1000 is not set 675# CONFIG_E1000 is not set
669# CONFIG_E1000E is not set 676# CONFIG_E1000E is not set
670# CONFIG_E1000E_ENABLED is not set
671# CONFIG_IP1000 is not set 677# CONFIG_IP1000 is not set
672# CONFIG_IGB is not set 678# CONFIG_IGB is not set
673# CONFIG_NS83820 is not set 679# CONFIG_NS83820 is not set
@@ -683,6 +689,7 @@ CONFIG_NETDEV_1000=y
683CONFIG_MV643XX_ETH=y 689CONFIG_MV643XX_ETH=y
684# CONFIG_QLA3XXX is not set 690# CONFIG_QLA3XXX is not set
685# CONFIG_ATL1 is not set 691# CONFIG_ATL1 is not set
692# CONFIG_ATL1E is not set
686CONFIG_NETDEV_10000=y 693CONFIG_NETDEV_10000=y
687# CONFIG_CHELSIO_T1 is not set 694# CONFIG_CHELSIO_T1 is not set
688# CONFIG_CHELSIO_T3 is not set 695# CONFIG_CHELSIO_T3 is not set
@@ -773,6 +780,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
773# CONFIG_MOUSE_PS2_TOUCHKIT is not set 780# CONFIG_MOUSE_PS2_TOUCHKIT is not set
774# CONFIG_MOUSE_SERIAL is not set 781# CONFIG_MOUSE_SERIAL is not set
775# CONFIG_MOUSE_APPLETOUCH is not set 782# CONFIG_MOUSE_APPLETOUCH is not set
783# CONFIG_MOUSE_BCM5974 is not set
776# CONFIG_MOUSE_INPORT is not set 784# CONFIG_MOUSE_INPORT is not set
777# CONFIG_MOUSE_LOGIBM is not set 785# CONFIG_MOUSE_LOGIBM is not set
778# CONFIG_MOUSE_PC110PAD is not set 786# CONFIG_MOUSE_PC110PAD is not set
@@ -798,12 +806,14 @@ CONFIG_SERIO_SERPORT=y
798# CONFIG_SERIO_PCIPS2 is not set 806# CONFIG_SERIO_PCIPS2 is not set
799CONFIG_SERIO_LIBPS2=y 807CONFIG_SERIO_LIBPS2=y
800# CONFIG_SERIO_RAW is not set 808# CONFIG_SERIO_RAW is not set
809# CONFIG_SERIO_XILINX_XPS_PS2 is not set
801# CONFIG_GAMEPORT is not set 810# CONFIG_GAMEPORT is not set
802 811
803# 812#
804# Character devices 813# Character devices
805# 814#
806CONFIG_VT=y 815CONFIG_VT=y
816CONFIG_CONSOLE_TRANSLATIONS=y
807CONFIG_VT_CONSOLE=y 817CONFIG_VT_CONSOLE=y
808CONFIG_HW_CONSOLE=y 818CONFIG_HW_CONSOLE=y
809# CONFIG_VT_HW_CONSOLE_BINDING is not set 819# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -848,46 +858,71 @@ CONFIG_DEVPORT=y
848CONFIG_I2C=y 858CONFIG_I2C=y
849CONFIG_I2C_BOARDINFO=y 859CONFIG_I2C_BOARDINFO=y
850# CONFIG_I2C_CHARDEV is not set 860# CONFIG_I2C_CHARDEV is not set
861CONFIG_I2C_HELPER_AUTO=y
851CONFIG_I2C_ALGOBIT=y 862CONFIG_I2C_ALGOBIT=y
852 863
853# 864#
854# I2C Hardware Bus support 865# I2C Hardware Bus support
855# 866#
867
868#
869# PC SMBus host controller drivers
870#
856# CONFIG_I2C_ALI1535 is not set 871# CONFIG_I2C_ALI1535 is not set
857# CONFIG_I2C_ALI1563 is not set 872# CONFIG_I2C_ALI1563 is not set
858# CONFIG_I2C_ALI15X3 is not set 873# CONFIG_I2C_ALI15X3 is not set
859# CONFIG_I2C_AMD756 is not set 874# CONFIG_I2C_AMD756 is not set
860# CONFIG_I2C_AMD8111 is not set 875# CONFIG_I2C_AMD8111 is not set
861# CONFIG_I2C_HYDRA is not set
862# CONFIG_I2C_I801 is not set 876# CONFIG_I2C_I801 is not set
863# CONFIG_I2C_I810 is not set 877# CONFIG_I2C_ISCH is not set
864# CONFIG_I2C_PIIX4 is not set 878# CONFIG_I2C_PIIX4 is not set
865# CONFIG_I2C_MPC is not set
866# CONFIG_I2C_NFORCE2 is not set 879# CONFIG_I2C_NFORCE2 is not set
867# CONFIG_I2C_OCORES is not set
868# CONFIG_I2C_PARPORT_LIGHT is not set
869# CONFIG_I2C_PROSAVAGE is not set
870# CONFIG_I2C_SAVAGE4 is not set
871# CONFIG_I2C_SIMTEC is not set
872# CONFIG_I2C_SIS5595 is not set 880# CONFIG_I2C_SIS5595 is not set
873# CONFIG_I2C_SIS630 is not set 881# CONFIG_I2C_SIS630 is not set
874# CONFIG_I2C_SIS96X is not set 882# CONFIG_I2C_SIS96X is not set
875# CONFIG_I2C_TAOS_EVM is not set
876# CONFIG_I2C_STUB is not set
877# CONFIG_I2C_TINY_USB is not set
878# CONFIG_I2C_VIA is not set 883# CONFIG_I2C_VIA is not set
879# CONFIG_I2C_VIAPRO is not set 884# CONFIG_I2C_VIAPRO is not set
885
886#
887# Mac SMBus host controller drivers
888#
889# CONFIG_I2C_HYDRA is not set
890
891#
892# I2C system bus drivers (mostly embedded / system-on-chip)
893#
894# CONFIG_I2C_MPC is not set
895# CONFIG_I2C_OCORES is not set
896# CONFIG_I2C_SIMTEC is not set
897
898#
899# External I2C/SMBus adapter drivers
900#
901# CONFIG_I2C_PARPORT_LIGHT is not set
902# CONFIG_I2C_TAOS_EVM is not set
903# CONFIG_I2C_TINY_USB is not set
904
905#
906# Graphics adapter I2C/DDC channel drivers
907#
880# CONFIG_I2C_VOODOO3 is not set 908# CONFIG_I2C_VOODOO3 is not set
909
910#
911# Other I2C/SMBus bus drivers
912#
881# CONFIG_I2C_PCA_ISA is not set 913# CONFIG_I2C_PCA_ISA is not set
882# CONFIG_I2C_PCA_PLATFORM is not set 914# CONFIG_I2C_PCA_PLATFORM is not set
915# CONFIG_I2C_STUB is not set
883 916
884# 917#
885# Miscellaneous I2C Chip support 918# Miscellaneous I2C Chip support
886# 919#
887# CONFIG_DS1682 is not set 920# CONFIG_DS1682 is not set
921# CONFIG_AT24 is not set
888# CONFIG_SENSORS_EEPROM is not set 922# CONFIG_SENSORS_EEPROM is not set
889# CONFIG_SENSORS_PCF8574 is not set 923# CONFIG_SENSORS_PCF8574 is not set
890# CONFIG_PCF8575 is not set 924# CONFIG_PCF8575 is not set
925# CONFIG_SENSORS_PCA9539 is not set
891# CONFIG_SENSORS_PCF8591 is not set 926# CONFIG_SENSORS_PCF8591 is not set
892# CONFIG_SENSORS_MAX6875 is not set 927# CONFIG_SENSORS_MAX6875 is not set
893# CONFIG_SENSORS_TSL2550 is not set 928# CONFIG_SENSORS_TSL2550 is not set
@@ -896,10 +931,13 @@ CONFIG_I2C_ALGOBIT=y
896# CONFIG_I2C_DEBUG_BUS is not set 931# CONFIG_I2C_DEBUG_BUS is not set
897# CONFIG_I2C_DEBUG_CHIP is not set 932# CONFIG_I2C_DEBUG_CHIP is not set
898# CONFIG_SPI is not set 933# CONFIG_SPI is not set
934CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
935# CONFIG_GPIOLIB is not set
899# CONFIG_W1 is not set 936# CONFIG_W1 is not set
900# CONFIG_POWER_SUPPLY is not set 937# CONFIG_POWER_SUPPLY is not set
901# CONFIG_HWMON is not set 938# CONFIG_HWMON is not set
902# CONFIG_THERMAL is not set 939# CONFIG_THERMAL is not set
940# CONFIG_THERMAL_HWMON is not set
903# CONFIG_WATCHDOG is not set 941# CONFIG_WATCHDOG is not set
904 942
905# 943#
@@ -911,8 +949,10 @@ CONFIG_SSB_POSSIBLE=y
911# 949#
912# Multifunction device drivers 950# Multifunction device drivers
913# 951#
952# CONFIG_MFD_CORE is not set
914# CONFIG_MFD_SM501 is not set 953# CONFIG_MFD_SM501 is not set
915# CONFIG_HTC_PASIC3 is not set 954# CONFIG_HTC_PASIC3 is not set
955# CONFIG_MFD_TMIO is not set
916 956
917# 957#
918# Multimedia devices 958# Multimedia devices
@@ -997,10 +1037,13 @@ CONFIG_FB_3DFX=y
997# CONFIG_FB_TRIDENT is not set 1037# CONFIG_FB_TRIDENT is not set
998# CONFIG_FB_ARK is not set 1038# CONFIG_FB_ARK is not set
999# CONFIG_FB_PM3 is not set 1039# CONFIG_FB_PM3 is not set
1040# CONFIG_FB_CARMINE is not set
1000# CONFIG_FB_IBM_GXT4500 is not set 1041# CONFIG_FB_IBM_GXT4500 is not set
1001# CONFIG_FB_VIRTUAL is not set 1042# CONFIG_FB_VIRTUAL is not set
1002CONFIG_BACKLIGHT_LCD_SUPPORT=y 1043CONFIG_BACKLIGHT_LCD_SUPPORT=y
1003CONFIG_LCD_CLASS_DEVICE=m 1044CONFIG_LCD_CLASS_DEVICE=m
1045# CONFIG_LCD_ILI9320 is not set
1046# CONFIG_LCD_PLATFORM is not set
1004CONFIG_BACKLIGHT_CLASS_DEVICE=y 1047CONFIG_BACKLIGHT_CLASS_DEVICE=y
1005# CONFIG_BACKLIGHT_CORGI is not set 1048# CONFIG_BACKLIGHT_CORGI is not set
1006 1049
@@ -1030,10 +1073,6 @@ CONFIG_LOGO=y
1030CONFIG_LOGO_LINUX_MONO=y 1073CONFIG_LOGO_LINUX_MONO=y
1031CONFIG_LOGO_LINUX_VGA16=y 1074CONFIG_LOGO_LINUX_VGA16=y
1032CONFIG_LOGO_LINUX_CLUT224=y 1075CONFIG_LOGO_LINUX_CLUT224=y
1033
1034#
1035# Sound
1036#
1037# CONFIG_SOUND is not set 1076# CONFIG_SOUND is not set
1038CONFIG_HID_SUPPORT=y 1077CONFIG_HID_SUPPORT=y
1039CONFIG_HID=y 1078CONFIG_HID=y
@@ -1062,6 +1101,7 @@ CONFIG_USB_DEVICEFS=y
1062CONFIG_USB_DEVICE_CLASS=y 1101CONFIG_USB_DEVICE_CLASS=y
1063# CONFIG_USB_DYNAMIC_MINORS is not set 1102# CONFIG_USB_DYNAMIC_MINORS is not set
1064# CONFIG_USB_OTG is not set 1103# CONFIG_USB_OTG is not set
1104CONFIG_USB_MON=y
1065 1105
1066# 1106#
1067# USB Host Controller Drivers 1107# USB Host Controller Drivers
@@ -1087,6 +1127,7 @@ CONFIG_USB_UHCI_HCD=y
1087# 1127#
1088# CONFIG_USB_ACM is not set 1128# CONFIG_USB_ACM is not set
1089# CONFIG_USB_PRINTER is not set 1129# CONFIG_USB_PRINTER is not set
1130# CONFIG_USB_WDM is not set
1090 1131
1091# 1132#
1092# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1133# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1108,6 +1149,7 @@ CONFIG_USB_STORAGE=m
1108# CONFIG_USB_STORAGE_ALAUDA is not set 1149# CONFIG_USB_STORAGE_ALAUDA is not set
1109# CONFIG_USB_STORAGE_ONETOUCH is not set 1150# CONFIG_USB_STORAGE_ONETOUCH is not set
1110# CONFIG_USB_STORAGE_KARMA is not set 1151# CONFIG_USB_STORAGE_KARMA is not set
1152# CONFIG_USB_STORAGE_SIERRA is not set
1111# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1153# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1112# CONFIG_USB_LIBUSUAL is not set 1154# CONFIG_USB_LIBUSUAL is not set
1113 1155
@@ -1116,7 +1158,6 @@ CONFIG_USB_STORAGE=m
1116# 1158#
1117# CONFIG_USB_MDC800 is not set 1159# CONFIG_USB_MDC800 is not set
1118# CONFIG_USB_MICROTEK is not set 1160# CONFIG_USB_MICROTEK is not set
1119CONFIG_USB_MON=y
1120 1161
1121# 1162#
1122# USB port drivers 1163# USB port drivers
@@ -1129,7 +1170,6 @@ CONFIG_USB_MON=y
1129# CONFIG_USB_EMI62 is not set 1170# CONFIG_USB_EMI62 is not set
1130# CONFIG_USB_EMI26 is not set 1171# CONFIG_USB_EMI26 is not set
1131# CONFIG_USB_ADUTUX is not set 1172# CONFIG_USB_ADUTUX is not set
1132# CONFIG_USB_AUERSWALD is not set
1133# CONFIG_USB_RIO500 is not set 1173# CONFIG_USB_RIO500 is not set
1134# CONFIG_USB_LEGOTOWER is not set 1174# CONFIG_USB_LEGOTOWER is not set
1135# CONFIG_USB_LCD is not set 1175# CONFIG_USB_LCD is not set
@@ -1146,6 +1186,7 @@ CONFIG_USB_MON=y
1146# CONFIG_USB_TRANCEVIBRATOR is not set 1186# CONFIG_USB_TRANCEVIBRATOR is not set
1147# CONFIG_USB_IOWARRIOR is not set 1187# CONFIG_USB_IOWARRIOR is not set
1148# CONFIG_USB_TEST is not set 1188# CONFIG_USB_TEST is not set
1189# CONFIG_USB_ISIGHTFW is not set
1149# CONFIG_USB_GADGET is not set 1190# CONFIG_USB_GADGET is not set
1150# CONFIG_MMC is not set 1191# CONFIG_MMC is not set
1151# CONFIG_MEMSTICK is not set 1192# CONFIG_MEMSTICK is not set
@@ -1226,6 +1267,7 @@ CONFIG_TMPFS=y
1226# CONFIG_CRAMFS is not set 1267# CONFIG_CRAMFS is not set
1227# CONFIG_VXFS_FS is not set 1268# CONFIG_VXFS_FS is not set
1228# CONFIG_MINIX_FS is not set 1269# CONFIG_MINIX_FS is not set
1270# CONFIG_OMFS_FS is not set
1229# CONFIG_HPFS_FS is not set 1271# CONFIG_HPFS_FS is not set
1230# CONFIG_QNX4FS_FS is not set 1272# CONFIG_QNX4FS_FS is not set
1231# CONFIG_ROMFS_FS is not set 1273# CONFIG_ROMFS_FS is not set
@@ -1310,6 +1352,7 @@ CONFIG_BITREVERSE=y
1310# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1352# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1311CONFIG_CRC_CCITT=m 1353CONFIG_CRC_CCITT=m
1312# CONFIG_CRC16 is not set 1354# CONFIG_CRC16 is not set
1355CONFIG_CRC_T10DIF=y
1313# CONFIG_CRC_ITU_T is not set 1356# CONFIG_CRC_ITU_T is not set
1314CONFIG_CRC32=y 1357CONFIG_CRC32=y
1315# CONFIG_CRC7 is not set 1358# CONFIG_CRC7 is not set
@@ -1336,6 +1379,8 @@ CONFIG_MAGIC_SYSRQ=y
1336CONFIG_DEBUG_KERNEL=y 1379CONFIG_DEBUG_KERNEL=y
1337# CONFIG_DEBUG_SHIRQ is not set 1380# CONFIG_DEBUG_SHIRQ is not set
1338CONFIG_DETECT_SOFTLOCKUP=y 1381CONFIG_DETECT_SOFTLOCKUP=y
1382# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1383CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1339CONFIG_SCHED_DEBUG=y 1384CONFIG_SCHED_DEBUG=y
1340# CONFIG_SCHEDSTATS is not set 1385# CONFIG_SCHEDSTATS is not set
1341# CONFIG_TIMER_STATS is not set 1386# CONFIG_TIMER_STATS is not set
@@ -1354,20 +1399,32 @@ CONFIG_DEBUG_BUGVERBOSE=y
1354# CONFIG_DEBUG_INFO is not set 1399# CONFIG_DEBUG_INFO is not set
1355# CONFIG_DEBUG_VM is not set 1400# CONFIG_DEBUG_VM is not set
1356# CONFIG_DEBUG_WRITECOUNT is not set 1401# CONFIG_DEBUG_WRITECOUNT is not set
1402CONFIG_DEBUG_MEMORY_INIT=y
1357# CONFIG_DEBUG_LIST is not set 1403# CONFIG_DEBUG_LIST is not set
1358# CONFIG_DEBUG_SG is not set 1404# CONFIG_DEBUG_SG is not set
1359# CONFIG_BOOT_PRINTK_DELAY is not set 1405# CONFIG_BOOT_PRINTK_DELAY is not set
1360# CONFIG_RCU_TORTURE_TEST is not set 1406# CONFIG_RCU_TORTURE_TEST is not set
1361# CONFIG_BACKTRACE_SELF_TEST is not set 1407# CONFIG_BACKTRACE_SELF_TEST is not set
1362# CONFIG_FAULT_INJECTION is not set 1408# CONFIG_FAULT_INJECTION is not set
1409# CONFIG_LATENCYTOP is not set
1410CONFIG_SYSCTL_SYSCALL_CHECK=y
1411CONFIG_HAVE_FTRACE=y
1412CONFIG_HAVE_DYNAMIC_FTRACE=y
1413# CONFIG_FTRACE is not set
1414# CONFIG_SCHED_TRACER is not set
1415# CONFIG_CONTEXT_SWITCH_TRACER is not set
1363# CONFIG_SAMPLES is not set 1416# CONFIG_SAMPLES is not set
1417CONFIG_HAVE_ARCH_KGDB=y
1418# CONFIG_KGDB is not set
1364# CONFIG_DEBUG_STACKOVERFLOW is not set 1419# CONFIG_DEBUG_STACKOVERFLOW is not set
1365# CONFIG_DEBUG_STACK_USAGE is not set 1420# CONFIG_DEBUG_STACK_USAGE is not set
1366# CONFIG_DEBUG_PAGEALLOC is not set 1421# CONFIG_DEBUG_PAGEALLOC is not set
1367CONFIG_DEBUGGER=y 1422# CONFIG_CODE_PATCHING_SELFTEST is not set
1423# CONFIG_FTR_FIXUP_SELFTEST is not set
1368CONFIG_XMON=y 1424CONFIG_XMON=y
1369CONFIG_XMON_DEFAULT=y 1425CONFIG_XMON_DEFAULT=y
1370CONFIG_XMON_DISASSEMBLY=y 1426CONFIG_XMON_DISASSEMBLY=y
1427CONFIG_DEBUGGER=y
1371CONFIG_IRQSTACKS=y 1428CONFIG_IRQSTACKS=y
1372# CONFIG_BDI_SWITCH is not set 1429# CONFIG_BDI_SWITCH is not set
1373# CONFIG_BOOTX_TEXT is not set 1430# CONFIG_BOOTX_TEXT is not set
@@ -1424,6 +1481,10 @@ CONFIG_CRYPTO_PCBC=m
1424# CONFIG_CRYPTO_MD4 is not set 1481# CONFIG_CRYPTO_MD4 is not set
1425# CONFIG_CRYPTO_MD5 is not set 1482# CONFIG_CRYPTO_MD5 is not set
1426# CONFIG_CRYPTO_MICHAEL_MIC is not set 1483# CONFIG_CRYPTO_MICHAEL_MIC is not set
1484# CONFIG_CRYPTO_RMD128 is not set
1485# CONFIG_CRYPTO_RMD160 is not set
1486# CONFIG_CRYPTO_RMD256 is not set
1487# CONFIG_CRYPTO_RMD320 is not set
1427CONFIG_CRYPTO_SHA1=m 1488CONFIG_CRYPTO_SHA1=m
1428# CONFIG_CRYPTO_SHA256 is not set 1489# CONFIG_CRYPTO_SHA256 is not set
1429# CONFIG_CRYPTO_SHA512 is not set 1490# CONFIG_CRYPTO_SHA512 is not set
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index ba2a463b9305..ef0c6e800508 100644
--- a/arch/powerpc/configs/ep8248e_defconfig
+++ b/arch/powerpc/configs/ep8248e_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:09 2008 4# Thu Aug 21 00:52:03 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -31,12 +32,14 @@ CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 39CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y 40CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 41CONFIG_GENERIC_FIND_NEXT_BIT=y
42CONFIG_GENERIC_GPIO=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 44CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y 45CONFIG_EARLY_PRINTK=y
@@ -45,11 +48,13 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
47CONFIG_OF=y 50CONFIG_OF=y
48# CONFIG_PPC_UDBG_16550 is not set 51CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
52# CONFIG_DEFAULT_UIMAGE is not set 55# CONFIG_DEFAULT_UIMAGE is not set
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -81,7 +86,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
81CONFIG_SYSCTL=y 86CONFIG_SYSCTL=y
82CONFIG_EMBEDDED=y 87CONFIG_EMBEDDED=y
83CONFIG_SYSCTL_SYSCALL=y 88CONFIG_SYSCTL_SYSCALL=y
84CONFIG_SYSCTL_SYSCALL_CHECK=y
85CONFIG_KALLSYMS=y 89CONFIG_KALLSYMS=y
86CONFIG_KALLSYMS_ALL=y 90CONFIG_KALLSYMS_ALL=y
87# CONFIG_KALLSYMS_EXTRA_PASS is not set 91# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -89,6 +93,7 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 93CONFIG_PRINTK=y
90CONFIG_BUG=y 94CONFIG_BUG=y
91CONFIG_ELF_CORE=y 95CONFIG_ELF_CORE=y
96CONFIG_PCSPKR_PLATFORM=y
92CONFIG_COMPAT_BRK=y 97CONFIG_COMPAT_BRK=y
93CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
94CONFIG_FUTEX=y 99CONFIG_FUTEX=y
@@ -105,10 +110,16 @@ CONFIG_SLAB=y
105# CONFIG_PROFILING is not set 110# CONFIG_PROFILING is not set
106# CONFIG_MARKERS is not set 111# CONFIG_MARKERS is not set
107CONFIG_HAVE_OPROFILE=y 112CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y
108CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
109CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y
110# CONFIG_HAVE_DMA_ATTRS is not set 118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120CONFIG_HAVE_CLK=y
111CONFIG_PROC_PAGE_MONITOR=y 121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
112CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
113CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
114# CONFIG_TINY_SHMEM is not set 125# CONFIG_TINY_SHMEM is not set
@@ -118,6 +129,7 @@ CONFIG_BLOCK=y
118# CONFIG_LBD is not set 129# CONFIG_LBD is not set
119# CONFIG_BLK_DEV_IO_TRACE is not set 130# CONFIG_BLK_DEV_IO_TRACE is not set
120# CONFIG_LSF is not set 131# CONFIG_LSF is not set
132# CONFIG_BLK_DEV_INTEGRITY is not set
121 133
122# 134#
123# IO Schedulers 135# IO Schedulers
@@ -136,33 +148,43 @@ CONFIG_CLASSIC_RCU=y
136# 148#
137# Platform support 149# Platform support
138# 150#
139# CONFIG_PPC_MULTIPLATFORM is not set 151CONFIG_PPC_MULTIPLATFORM=y
140CONFIG_PPC_82xx=y 152CONFIG_CLASSIC32=y
141# CONFIG_PPC_83xx is not set 153CONFIG_PPC_CHRP=y
142# CONFIG_PPC_86xx is not set 154# CONFIG_MPC5121_ADS is not set
143# CONFIG_PPC_MPC512x is not set 155# CONFIG_MPC5121_GENERIC is not set
144# CONFIG_PPC_MPC5121 is not set 156# CONFIG_PPC_MPC52xx is not set
157CONFIG_PPC_PMAC=y
145# CONFIG_PPC_CELL is not set 158# CONFIG_PPC_CELL is not set
146# CONFIG_PPC_CELL_NATIVE is not set 159# CONFIG_PPC_CELL_NATIVE is not set
160CONFIG_PPC_82xx=y
147# CONFIG_MPC8272_ADS is not set 161# CONFIG_MPC8272_ADS is not set
148# CONFIG_PQ2FADS is not set 162# CONFIG_PQ2FADS is not set
149CONFIG_EP8248E=y 163CONFIG_EP8248E=y
150# CONFIG_PQ2ADS is not set 164# CONFIG_PQ2ADS is not set
151CONFIG_8260=y 165CONFIG_8260=y
152CONFIG_8272=y 166CONFIG_8272=y
167# CONFIG_PPC_83xx is not set
168# CONFIG_PPC_86xx is not set
169# CONFIG_EMBEDDED6xx is not set
170CONFIG_PPC_NATIVE=y
171# CONFIG_UDBG_RTAS_CONSOLE is not set
153# CONFIG_IPIC is not set 172# CONFIG_IPIC is not set
154# CONFIG_MPIC is not set 173CONFIG_MPIC=y
155# CONFIG_MPIC_WEIRD is not set 174# CONFIG_MPIC_WEIRD is not set
156# CONFIG_PPC_I8259 is not set 175CONFIG_PPC_I8259=y
157# CONFIG_PPC_RTAS is not set 176CONFIG_PPC_RTAS=y
177# CONFIG_RTAS_ERROR_LOGGING is not set
178CONFIG_RTAS_PROC=y
158# CONFIG_MMIO_NVRAM is not set 179# CONFIG_MMIO_NVRAM is not set
159# CONFIG_PPC_MPC106 is not set 180CONFIG_PPC_MPC106=y
160# CONFIG_PPC_970_NAP is not set 181# CONFIG_PPC_970_NAP is not set
161# CONFIG_PPC_INDIRECT_IO is not set 182# CONFIG_PPC_INDIRECT_IO is not set
162# CONFIG_GENERIC_IOMAP is not set 183# CONFIG_GENERIC_IOMAP is not set
163# CONFIG_CPU_FREQ is not set 184# CONFIG_CPU_FREQ is not set
185# CONFIG_PPC601_SYNC_FIX is not set
186# CONFIG_TAU is not set
164CONFIG_CPM2=y 187CONFIG_CPM2=y
165CONFIG_PPC_CPM_NEW_BINDING=y
166# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
167CONFIG_CPM=y 189CONFIG_CPM=y
168 190
@@ -197,6 +219,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
197# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
198CONFIG_PAGEFLAGS_EXTENDED=y 220CONFIG_PAGEFLAGS_EXTENDED=y
199CONFIG_SPLIT_PTLOCK_CPUS=4 221CONFIG_SPLIT_PTLOCK_CPUS=4
222CONFIG_MIGRATION=y
200# CONFIG_RESOURCES_64BIT is not set 223# CONFIG_RESOURCES_64BIT is not set
201CONFIG_ZONE_DMA_FLAG=1 224CONFIG_ZONE_DMA_FLAG=1
202CONFIG_BOUNCE=y 225CONFIG_BOUNCE=y
@@ -204,6 +227,7 @@ CONFIG_VIRT_TO_BUS=y
204CONFIG_FORCE_MAX_ZONEORDER=11 227CONFIG_FORCE_MAX_ZONEORDER=11
205CONFIG_PROC_DEVICETREE=y 228CONFIG_PROC_DEVICETREE=y
206# CONFIG_CMDLINE_BOOL is not set 229# CONFIG_CMDLINE_BOOL is not set
230CONFIG_EXTRA_TARGETS=""
207# CONFIG_PM is not set 231# CONFIG_PM is not set
208# CONFIG_SECCOMP is not set 232# CONFIG_SECCOMP is not set
209CONFIG_ISA_DMA_API=y 233CONFIG_ISA_DMA_API=y
@@ -211,13 +235,22 @@ CONFIG_ISA_DMA_API=y
211# 235#
212# Bus options 236# Bus options
213# 237#
238# CONFIG_ISA is not set
214CONFIG_ZONE_DMA=y 239CONFIG_ZONE_DMA=y
240CONFIG_PPC_INDIRECT_PCI=y
215CONFIG_FSL_SOC=y 241CONFIG_FSL_SOC=y
216# CONFIG_PCI is not set 242CONFIG_PPC_PCI_CHOICE=y
217# CONFIG_PCI_DOMAINS is not set 243CONFIG_PCI=y
218# CONFIG_PCI_SYSCALL is not set 244CONFIG_PCI_DOMAINS=y
219# CONFIG_ARCH_SUPPORTS_MSI is not set 245CONFIG_PCI_SYSCALL=y
246CONFIG_PCI_8260=y
247# CONFIG_PCIEPORTBUS is not set
248CONFIG_ARCH_SUPPORTS_MSI=y
249# CONFIG_PCI_MSI is not set
250CONFIG_PCI_LEGACY=y
251# CONFIG_PCI_DEBUG is not set
220# CONFIG_PCCARD is not set 252# CONFIG_PCCARD is not set
253# CONFIG_HOTPLUG_PCI is not set
221# CONFIG_HAS_RAPIDIO is not set 254# CONFIG_HAS_RAPIDIO is not set
222 255
223# 256#
@@ -233,10 +266,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
233CONFIG_KERNEL_START=0xc0000000 266CONFIG_KERNEL_START=0xc0000000
234CONFIG_PHYSICAL_START=0x00000000 267CONFIG_PHYSICAL_START=0x00000000
235CONFIG_TASK_SIZE=0xc0000000 268CONFIG_TASK_SIZE=0xc0000000
236
237#
238# Networking
239#
240CONFIG_NET=y 269CONFIG_NET=y
241 270
242# 271#
@@ -410,11 +439,13 @@ CONFIG_MTD_CFI_UTIL=y
410# CONFIG_MTD_COMPLEX_MAPPINGS is not set 439# CONFIG_MTD_COMPLEX_MAPPINGS is not set
411# CONFIG_MTD_PHYSMAP is not set 440# CONFIG_MTD_PHYSMAP is not set
412CONFIG_MTD_PHYSMAP_OF=y 441CONFIG_MTD_PHYSMAP_OF=y
442# CONFIG_MTD_INTEL_VR_NOR is not set
413# CONFIG_MTD_PLATRAM is not set 443# CONFIG_MTD_PLATRAM is not set
414 444
415# 445#
416# Self-contained MTD device drivers 446# Self-contained MTD device drivers
417# 447#
448# CONFIG_MTD_PMC551 is not set
418# CONFIG_MTD_SLRAM is not set 449# CONFIG_MTD_SLRAM is not set
419# CONFIG_MTD_PHRAM is not set 450# CONFIG_MTD_PHRAM is not set
420# CONFIG_MTD_MTDRAM is not set 451# CONFIG_MTD_MTDRAM is not set
@@ -434,16 +465,23 @@ CONFIG_MTD_PHYSMAP_OF=y
434# 465#
435# CONFIG_MTD_UBI is not set 466# CONFIG_MTD_UBI is not set
436CONFIG_OF_DEVICE=y 467CONFIG_OF_DEVICE=y
468CONFIG_OF_GPIO=y
437# CONFIG_PARPORT is not set 469# CONFIG_PARPORT is not set
438CONFIG_BLK_DEV=y 470CONFIG_BLK_DEV=y
439# CONFIG_BLK_DEV_FD is not set 471# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
473# CONFIG_BLK_CPQ_DA is not set
474# CONFIG_BLK_CPQ_CISS_DA is not set
475# CONFIG_BLK_DEV_DAC960 is not set
440# CONFIG_BLK_DEV_COW_COMMON is not set 476# CONFIG_BLK_DEV_COW_COMMON is not set
441CONFIG_BLK_DEV_LOOP=y 477CONFIG_BLK_DEV_LOOP=y
442# CONFIG_BLK_DEV_CRYPTOLOOP is not set 478# CONFIG_BLK_DEV_CRYPTOLOOP is not set
443# CONFIG_BLK_DEV_NBD is not set 479# CONFIG_BLK_DEV_NBD is not set
480# CONFIG_BLK_DEV_SX8 is not set
444# CONFIG_BLK_DEV_RAM is not set 481# CONFIG_BLK_DEV_RAM is not set
445# CONFIG_CDROM_PKTCDVD is not set 482# CONFIG_CDROM_PKTCDVD is not set
446# CONFIG_ATA_OVER_ETH is not set 483# CONFIG_ATA_OVER_ETH is not set
484# CONFIG_BLK_DEV_HD is not set
447# CONFIG_MISC_DEVICES is not set 485# CONFIG_MISC_DEVICES is not set
448CONFIG_HAVE_IDE=y 486CONFIG_HAVE_IDE=y
449# CONFIG_IDE is not set 487# CONFIG_IDE is not set
@@ -457,14 +495,25 @@ CONFIG_HAVE_IDE=y
457# CONFIG_SCSI_NETLINK is not set 495# CONFIG_SCSI_NETLINK is not set
458# CONFIG_ATA is not set 496# CONFIG_ATA is not set
459# CONFIG_MD is not set 497# CONFIG_MD is not set
498# CONFIG_FUSION is not set
499
500#
501# IEEE 1394 (FireWire) support
502#
503
504#
505# A new alternative FireWire stack is available with EXPERIMENTAL=y
506#
507# CONFIG_IEEE1394 is not set
508# CONFIG_I2O is not set
460# CONFIG_MACINTOSH_DRIVERS is not set 509# CONFIG_MACINTOSH_DRIVERS is not set
461CONFIG_NETDEVICES=y 510CONFIG_NETDEVICES=y
462# CONFIG_NETDEVICES_MULTIQUEUE is not set
463# CONFIG_DUMMY is not set 511# CONFIG_DUMMY is not set
464# CONFIG_BONDING is not set 512# CONFIG_BONDING is not set
465# CONFIG_EQUALIZER is not set 513# CONFIG_EQUALIZER is not set
466# CONFIG_TUN is not set 514# CONFIG_TUN is not set
467# CONFIG_VETH is not set 515# CONFIG_VETH is not set
516# CONFIG_ARCNET is not set
468CONFIG_PHYLIB=y 517CONFIG_PHYLIB=y
469 518
470# 519#
@@ -482,21 +531,59 @@ CONFIG_DAVICOM_PHY=y
482# CONFIG_REALTEK_PHY is not set 531# CONFIG_REALTEK_PHY is not set
483# CONFIG_FIXED_PHY is not set 532# CONFIG_FIXED_PHY is not set
484CONFIG_MDIO_BITBANG=y 533CONFIG_MDIO_BITBANG=y
534# CONFIG_MDIO_OF_GPIO is not set
485CONFIG_NET_ETHERNET=y 535CONFIG_NET_ETHERNET=y
486CONFIG_MII=y 536CONFIG_MII=y
537# CONFIG_MACE is not set
538# CONFIG_BMAC is not set
539# CONFIG_HAPPYMEAL is not set
540# CONFIG_SUNGEM is not set
541# CONFIG_CASSINI is not set
542# CONFIG_NET_VENDOR_3COM is not set
543# CONFIG_NET_TULIP is not set
544# CONFIG_HP100 is not set
487# CONFIG_IBM_NEW_EMAC_ZMII is not set 545# CONFIG_IBM_NEW_EMAC_ZMII is not set
488# CONFIG_IBM_NEW_EMAC_RGMII is not set 546# CONFIG_IBM_NEW_EMAC_RGMII is not set
489# CONFIG_IBM_NEW_EMAC_TAH is not set 547# CONFIG_IBM_NEW_EMAC_TAH is not set
490# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 548# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
549# CONFIG_NET_PCI is not set
491# CONFIG_B44 is not set 550# CONFIG_B44 is not set
492CONFIG_FS_ENET=y 551CONFIG_FS_ENET=y
493# CONFIG_FS_ENET_HAS_SCC is not set 552# CONFIG_FS_ENET_HAS_SCC is not set
494CONFIG_FS_ENET_HAS_FCC=y 553CONFIG_FS_ENET_HAS_FCC=y
495# CONFIG_FS_ENET_MDIO_FCC is not set 554# CONFIG_FS_ENET_MDIO_FCC is not set
496CONFIG_NETDEV_1000=y 555CONFIG_NETDEV_1000=y
497# CONFIG_E1000E_ENABLED is not set 556# CONFIG_ACENIC is not set
557# CONFIG_DL2K is not set
558# CONFIG_E1000 is not set
559# CONFIG_E1000E is not set
560# CONFIG_IGB is not set
561# CONFIG_NS83820 is not set
562# CONFIG_HAMACHI is not set
563# CONFIG_R8169 is not set
564# CONFIG_SIS190 is not set
565# CONFIG_SKGE is not set
566# CONFIG_SKY2 is not set
567# CONFIG_VIA_VELOCITY is not set
568# CONFIG_TIGON3 is not set
569# CONFIG_BNX2 is not set
498# CONFIG_GIANFAR is not set 570# CONFIG_GIANFAR is not set
571# CONFIG_MV643XX_ETH is not set
572# CONFIG_QLA3XXX is not set
499CONFIG_NETDEV_10000=y 573CONFIG_NETDEV_10000=y
574# CONFIG_CHELSIO_T1 is not set
575# CONFIG_CHELSIO_T3 is not set
576# CONFIG_IXGBE is not set
577# CONFIG_IXGB is not set
578# CONFIG_S2IO is not set
579# CONFIG_MYRI10GE is not set
580# CONFIG_NETXEN_NIC is not set
581# CONFIG_NIU is not set
582# CONFIG_MLX4_CORE is not set
583# CONFIG_TEHUTI is not set
584# CONFIG_BNX2X is not set
585# CONFIG_SFC is not set
586# CONFIG_TR is not set
500 587
501# 588#
502# Wireless LAN 589# Wireless LAN
@@ -505,6 +592,7 @@ CONFIG_NETDEV_10000=y
505# CONFIG_WLAN_80211 is not set 592# CONFIG_WLAN_80211 is not set
506# CONFIG_IWLWIFI_LEDS is not set 593# CONFIG_IWLWIFI_LEDS is not set
507# CONFIG_WAN is not set 594# CONFIG_WAN is not set
595# CONFIG_FDDI is not set
508# CONFIG_PPP is not set 596# CONFIG_PPP is not set
509# CONFIG_SLIP is not set 597# CONFIG_SLIP is not set
510# CONFIG_NETPOLL is not set 598# CONFIG_NETPOLL is not set
@@ -541,6 +629,7 @@ CONFIG_DEVKMEM=y
541# CONFIG_SERIAL_UARTLITE is not set 629# CONFIG_SERIAL_UARTLITE is not set
542CONFIG_SERIAL_CORE=y 630CONFIG_SERIAL_CORE=y
543CONFIG_SERIAL_CORE_CONSOLE=y 631CONFIG_SERIAL_CORE_CONSOLE=y
632# CONFIG_SERIAL_PMACZILOG is not set
544CONFIG_SERIAL_CPM=y 633CONFIG_SERIAL_CPM=y
545CONFIG_SERIAL_CPM_CONSOLE=y 634CONFIG_SERIAL_CPM_CONSOLE=y
546CONFIG_SERIAL_CPM_SCC1=y 635CONFIG_SERIAL_CPM_SCC1=y
@@ -549,21 +638,44 @@ CONFIG_SERIAL_CPM_SCC1=y
549CONFIG_SERIAL_CPM_SCC4=y 638CONFIG_SERIAL_CPM_SCC4=y
550# CONFIG_SERIAL_CPM_SMC1 is not set 639# CONFIG_SERIAL_CPM_SMC1 is not set
551# CONFIG_SERIAL_CPM_SMC2 is not set 640# CONFIG_SERIAL_CPM_SMC2 is not set
641# CONFIG_SERIAL_JSM is not set
552CONFIG_UNIX98_PTYS=y 642CONFIG_UNIX98_PTYS=y
553CONFIG_LEGACY_PTYS=y 643CONFIG_LEGACY_PTYS=y
554CONFIG_LEGACY_PTY_COUNT=256 644CONFIG_LEGACY_PTY_COUNT=256
645# CONFIG_BRIQ_PANEL is not set
646# CONFIG_HVC_RTAS is not set
555# CONFIG_IPMI_HANDLER is not set 647# CONFIG_IPMI_HANDLER is not set
556CONFIG_HW_RANDOM=y 648CONFIG_HW_RANDOM=y
557# CONFIG_NVRAM is not set 649# CONFIG_NVRAM is not set
558# CONFIG_GEN_RTC is not set 650# CONFIG_GEN_RTC is not set
559# CONFIG_R3964 is not set 651# CONFIG_R3964 is not set
652# CONFIG_APPLICOM is not set
560# CONFIG_RAW_DRIVER is not set 653# CONFIG_RAW_DRIVER is not set
654CONFIG_DEVPORT=y
561# CONFIG_I2C is not set 655# CONFIG_I2C is not set
562# CONFIG_SPI is not set 656# CONFIG_SPI is not set
657CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
658CONFIG_ARCH_REQUIRE_GPIOLIB=y
659CONFIG_GPIOLIB=y
660# CONFIG_DEBUG_GPIO is not set
661
662#
663# I2C GPIO expanders:
664#
665
666#
667# PCI GPIO expanders:
668#
669# CONFIG_GPIO_BT8XX is not set
670
671#
672# SPI GPIO expanders:
673#
563# CONFIG_W1 is not set 674# CONFIG_W1 is not set
564# CONFIG_POWER_SUPPLY is not set 675# CONFIG_POWER_SUPPLY is not set
565# CONFIG_HWMON is not set 676# CONFIG_HWMON is not set
566# CONFIG_THERMAL is not set 677# CONFIG_THERMAL is not set
678# CONFIG_THERMAL_HWMON is not set
567# CONFIG_WATCHDOG is not set 679# CONFIG_WATCHDOG is not set
568 680
569# 681#
@@ -575,8 +687,10 @@ CONFIG_SSB_POSSIBLE=y
575# 687#
576# Multifunction device drivers 688# Multifunction device drivers
577# 689#
690# CONFIG_MFD_CORE is not set
578# CONFIG_MFD_SM501 is not set 691# CONFIG_MFD_SM501 is not set
579# CONFIG_HTC_PASIC3 is not set 692# CONFIG_HTC_PASIC3 is not set
693# CONFIG_MFD_TMIO is not set
580 694
581# 695#
582# Multimedia devices 696# Multimedia devices
@@ -597,6 +711,8 @@ CONFIG_DAB=y
597# 711#
598# Graphics support 712# Graphics support
599# 713#
714# CONFIG_AGP is not set
715# CONFIG_DRM is not set
600# CONFIG_VGASTATE is not set 716# CONFIG_VGASTATE is not set
601# CONFIG_VIDEO_OUTPUT_CONTROL is not set 717# CONFIG_VIDEO_OUTPUT_CONTROL is not set
602# CONFIG_FB is not set 718# CONFIG_FB is not set
@@ -606,16 +722,13 @@ CONFIG_DAB=y
606# Display device support 722# Display device support
607# 723#
608# CONFIG_DISPLAY_SUPPORT is not set 724# CONFIG_DISPLAY_SUPPORT is not set
609
610#
611# Sound
612#
613# CONFIG_SOUND is not set 725# CONFIG_SOUND is not set
614# CONFIG_USB_SUPPORT is not set 726# CONFIG_USB_SUPPORT is not set
615# CONFIG_MMC is not set 727# CONFIG_MMC is not set
616# CONFIG_MEMSTICK is not set 728# CONFIG_MEMSTICK is not set
617# CONFIG_NEW_LEDS is not set 729# CONFIG_NEW_LEDS is not set
618# CONFIG_ACCESSIBILITY is not set 730# CONFIG_ACCESSIBILITY is not set
731# CONFIG_INFINIBAND is not set
619# CONFIG_RTC_CLASS is not set 732# CONFIG_RTC_CLASS is not set
620# CONFIG_DMADEVICES is not set 733# CONFIG_DMADEVICES is not set
621# CONFIG_UIO is not set 734# CONFIG_UIO is not set
@@ -675,6 +788,7 @@ CONFIG_TMPFS=y
675CONFIG_CRAMFS=y 788CONFIG_CRAMFS=y
676# CONFIG_VXFS_FS is not set 789# CONFIG_VXFS_FS is not set
677# CONFIG_MINIX_FS is not set 790# CONFIG_MINIX_FS is not set
791# CONFIG_OMFS_FS is not set
678# CONFIG_HPFS_FS is not set 792# CONFIG_HPFS_FS is not set
679# CONFIG_QNX4FS_FS is not set 793# CONFIG_QNX4FS_FS is not set
680# CONFIG_ROMFS_FS is not set 794# CONFIG_ROMFS_FS is not set
@@ -684,8 +798,8 @@ CONFIG_NETWORK_FILESYSTEMS=y
684CONFIG_NFS_FS=y 798CONFIG_NFS_FS=y
685CONFIG_NFS_V3=y 799CONFIG_NFS_V3=y
686# CONFIG_NFS_V3_ACL is not set 800# CONFIG_NFS_V3_ACL is not set
687# CONFIG_NFSD is not set
688CONFIG_ROOT_NFS=y 801CONFIG_ROOT_NFS=y
802# CONFIG_NFSD is not set
689CONFIG_LOCKD=y 803CONFIG_LOCKD=y
690CONFIG_LOCKD_V4=y 804CONFIG_LOCKD_V4=y
691CONFIG_NFS_COMMON=y 805CONFIG_NFS_COMMON=y
@@ -763,6 +877,7 @@ CONFIG_NLS_UTF8=y
763# CONFIG_GENERIC_FIND_FIRST_BIT is not set 877# CONFIG_GENERIC_FIND_FIRST_BIT is not set
764# CONFIG_CRC_CCITT is not set 878# CONFIG_CRC_CCITT is not set
765# CONFIG_CRC16 is not set 879# CONFIG_CRC16 is not set
880# CONFIG_CRC_T10DIF is not set
766# CONFIG_CRC_ITU_T is not set 881# CONFIG_CRC_ITU_T is not set
767# CONFIG_CRC32 is not set 882# CONFIG_CRC32 is not set
768# CONFIG_CRC7 is not set 883# CONFIG_CRC7 is not set
@@ -804,19 +919,31 @@ CONFIG_DEBUG_BUGVERBOSE=y
804CONFIG_DEBUG_INFO=y 919CONFIG_DEBUG_INFO=y
805# CONFIG_DEBUG_VM is not set 920# CONFIG_DEBUG_VM is not set
806# CONFIG_DEBUG_WRITECOUNT is not set 921# CONFIG_DEBUG_WRITECOUNT is not set
922# CONFIG_DEBUG_MEMORY_INIT is not set
807# CONFIG_DEBUG_LIST is not set 923# CONFIG_DEBUG_LIST is not set
808# CONFIG_DEBUG_SG is not set 924# CONFIG_DEBUG_SG is not set
809# CONFIG_BOOT_PRINTK_DELAY is not set 925# CONFIG_BOOT_PRINTK_DELAY is not set
926# CONFIG_RCU_TORTURE_TEST is not set
810# CONFIG_BACKTRACE_SELF_TEST is not set 927# CONFIG_BACKTRACE_SELF_TEST is not set
811# CONFIG_FAULT_INJECTION is not set 928# CONFIG_FAULT_INJECTION is not set
929# CONFIG_LATENCYTOP is not set
930CONFIG_SYSCTL_SYSCALL_CHECK=y
931CONFIG_HAVE_FTRACE=y
932CONFIG_HAVE_DYNAMIC_FTRACE=y
933# CONFIG_FTRACE is not set
934# CONFIG_SCHED_TRACER is not set
935# CONFIG_CONTEXT_SWITCH_TRACER is not set
812# CONFIG_SAMPLES is not set 936# CONFIG_SAMPLES is not set
937CONFIG_HAVE_ARCH_KGDB=y
813# CONFIG_DEBUG_STACKOVERFLOW is not set 938# CONFIG_DEBUG_STACKOVERFLOW is not set
814# CONFIG_DEBUG_STACK_USAGE is not set 939# CONFIG_DEBUG_STACK_USAGE is not set
815# CONFIG_DEBUG_PAGEALLOC is not set 940# CONFIG_DEBUG_PAGEALLOC is not set
816# CONFIG_DEBUGGER is not set 941# CONFIG_CODE_PATCHING_SELFTEST is not set
817# CONFIG_KGDB_CONSOLE is not set 942# CONFIG_FTR_FIXUP_SELFTEST is not set
943# CONFIG_XMON is not set
818# CONFIG_IRQSTACKS is not set 944# CONFIG_IRQSTACKS is not set
819CONFIG_BDI_SWITCH=y 945CONFIG_BDI_SWITCH=y
946# CONFIG_BOOTX_TEXT is not set
820# CONFIG_PPC_EARLY_DEBUG is not set 947# CONFIG_PPC_EARLY_DEBUG is not set
821 948
822# 949#
@@ -824,6 +951,7 @@ CONFIG_BDI_SWITCH=y
824# 951#
825# CONFIG_KEYS is not set 952# CONFIG_KEYS is not set
826# CONFIG_SECURITY is not set 953# CONFIG_SECURITY is not set
954# CONFIG_SECURITY_FILE_CAPABILITIES is not set
827CONFIG_CRYPTO=y 955CONFIG_CRYPTO=y
828 956
829# 957#
@@ -864,6 +992,10 @@ CONFIG_CRYPTO_PCBC=y
864# CONFIG_CRYPTO_MD4 is not set 992# CONFIG_CRYPTO_MD4 is not set
865CONFIG_CRYPTO_MD5=y 993CONFIG_CRYPTO_MD5=y
866# CONFIG_CRYPTO_MICHAEL_MIC is not set 994# CONFIG_CRYPTO_MICHAEL_MIC is not set
995# CONFIG_CRYPTO_RMD128 is not set
996# CONFIG_CRYPTO_RMD160 is not set
997# CONFIG_CRYPTO_RMD256 is not set
998# CONFIG_CRYPTO_RMD320 is not set
867# CONFIG_CRYPTO_SHA1 is not set 999# CONFIG_CRYPTO_SHA1 is not set
868# CONFIG_CRYPTO_SHA256 is not set 1000# CONFIG_CRYPTO_SHA256 is not set
869# CONFIG_CRYPTO_SHA512 is not set 1001# CONFIG_CRYPTO_SHA512 is not set
@@ -894,6 +1026,6 @@ CONFIG_CRYPTO_DES=y
894# CONFIG_CRYPTO_DEFLATE is not set 1026# CONFIG_CRYPTO_DEFLATE is not set
895# CONFIG_CRYPTO_LZO is not set 1027# CONFIG_CRYPTO_LZO is not set
896# CONFIG_CRYPTO_HW is not set 1028# CONFIG_CRYPTO_HW is not set
897# CONFIG_PPC_CLOCK is not set 1029CONFIG_PPC_CLOCK=y
898CONFIG_PPC_LIB_RHEAP=y 1030CONFIG_PPC_LIB_RHEAP=y
899# CONFIG_VIRTUALIZATION is not set 1031# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index ac72b48542dc..480225be2f39 100644
--- a/arch/powerpc/configs/ep88xc_defconfig
+++ b/arch/powerpc/configs/ep88xc_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:09 2008 4# Thu Aug 21 00:52:04 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
30CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
31CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
32CONFIG_HAVE_LATENCYTOP_SUPPORT=y
32CONFIG_LOCKDEP_SUPPORT=y 33CONFIG_LOCKDEP_SUPPORT=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -108,10 +109,16 @@ CONFIG_SLUB=y
108# CONFIG_PROFILING is not set 109# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set 110# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y 111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
113CONFIG_HAVE_IOREMAP_PROT=y
111CONFIG_HAVE_KPROBES=y 114CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y 115CONFIG_HAVE_KRETPROBES=y
116CONFIG_HAVE_ARCH_TRACEHOOK=y
113# CONFIG_HAVE_DMA_ATTRS is not set 117# CONFIG_HAVE_DMA_ATTRS is not set
118# CONFIG_USE_GENERIC_SMP_HELPERS is not set
119CONFIG_HAVE_CLK=y
114CONFIG_PROC_PAGE_MONITOR=y 120CONFIG_PROC_PAGE_MONITOR=y
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
115CONFIG_SLABINFO=y 122CONFIG_SLABINFO=y
116# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
117CONFIG_BASE_SMALL=1 124CONFIG_BASE_SMALL=1
@@ -121,6 +128,7 @@ CONFIG_BLOCK=y
121# CONFIG_BLK_DEV_IO_TRACE is not set 128# CONFIG_BLK_DEV_IO_TRACE is not set
122# CONFIG_LSF is not set 129# CONFIG_LSF is not set
123# CONFIG_BLK_DEV_BSG is not set 130# CONFIG_BLK_DEV_BSG is not set
131# CONFIG_BLK_DEV_INTEGRITY is not set
124 132
125# 133#
126# IO Schedulers 134# IO Schedulers
@@ -139,8 +147,6 @@ CONFIG_CLASSIC_RCU=y
139# 147#
140# Platform support 148# Platform support
141# 149#
142# CONFIG_PPC_MPC512x is not set
143# CONFIG_PPC_MPC5121 is not set
144# CONFIG_PPC_CELL is not set 150# CONFIG_PPC_CELL is not set
145# CONFIG_PPC_CELL_NATIVE is not set 151# CONFIG_PPC_CELL_NATIVE is not set
146CONFIG_CPM1=y 152CONFIG_CPM1=y
@@ -158,6 +164,7 @@ CONFIG_PPC_EP88XC=y
158# Generic MPC8xx Options 164# Generic MPC8xx Options
159# 165#
160CONFIG_8xx_COPYBACK=y 166CONFIG_8xx_COPYBACK=y
167# CONFIG_8xx_GPIO is not set
161# CONFIG_8xx_CPU6 is not set 168# CONFIG_8xx_CPU6 is not set
162CONFIG_8xx_CPU15=y 169CONFIG_8xx_CPU15=y
163CONFIG_NO_UCODE_PATCH=y 170CONFIG_NO_UCODE_PATCH=y
@@ -176,7 +183,6 @@ CONFIG_NO_UCODE_PATCH=y
176# CONFIG_PPC_INDIRECT_IO is not set 183# CONFIG_PPC_INDIRECT_IO is not set
177# CONFIG_GENERIC_IOMAP is not set 184# CONFIG_GENERIC_IOMAP is not set
178# CONFIG_CPU_FREQ is not set 185# CONFIG_CPU_FREQ is not set
179CONFIG_PPC_CPM_NEW_BINDING=y
180# CONFIG_FSL_ULI1575 is not set 186# CONFIG_FSL_ULI1575 is not set
181CONFIG_CPM=y 187CONFIG_CPM=y
182 188
@@ -193,7 +199,7 @@ CONFIG_HZ_100=y
193# CONFIG_HZ_300 is not set 199# CONFIG_HZ_300 is not set
194# CONFIG_HZ_1000 is not set 200# CONFIG_HZ_1000 is not set
195CONFIG_HZ=100 201CONFIG_HZ=100
196# CONFIG_SCHED_HRTICK is not set 202CONFIG_SCHED_HRTICK=y
197CONFIG_PREEMPT_NONE=y 203CONFIG_PREEMPT_NONE=y
198# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
199# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
@@ -217,6 +223,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 224CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 225CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 227# CONFIG_RESOURCES_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
@@ -224,6 +231,7 @@ CONFIG_VIRT_TO_BUS=y
224CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
225CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
226# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
234CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 235# CONFIG_PM is not set
228# CONFIG_SECCOMP is not set 236# CONFIG_SECCOMP is not set
229CONFIG_ISA_DMA_API=y 237CONFIG_ISA_DMA_API=y
@@ -256,10 +264,6 @@ CONFIG_PHYSICAL_START=0x00000000
256CONFIG_TASK_SIZE=0x80000000 264CONFIG_TASK_SIZE=0x80000000
257CONFIG_CONSISTENT_START=0xfd000000 265CONFIG_CONSISTENT_START=0xfd000000
258CONFIG_CONSISTENT_SIZE=0x00200000 266CONFIG_CONSISTENT_SIZE=0x00200000
259
260#
261# Networking
262#
263CONFIG_NET=y 267CONFIG_NET=y
264 268
265# 269#
@@ -442,7 +446,6 @@ CONFIG_HAVE_IDE=y
442# CONFIG_MD is not set 446# CONFIG_MD is not set
443# CONFIG_MACINTOSH_DRIVERS is not set 447# CONFIG_MACINTOSH_DRIVERS is not set
444CONFIG_NETDEVICES=y 448CONFIG_NETDEVICES=y
445# CONFIG_NETDEVICES_MULTIQUEUE is not set
446# CONFIG_DUMMY is not set 449# CONFIG_DUMMY is not set
447# CONFIG_BONDING is not set 450# CONFIG_BONDING is not set
448# CONFIG_MACVLAN is not set 451# CONFIG_MACVLAN is not set
@@ -544,10 +547,13 @@ CONFIG_GEN_RTC=y
544# CONFIG_TCG_TPM is not set 547# CONFIG_TCG_TPM is not set
545# CONFIG_I2C is not set 548# CONFIG_I2C is not set
546# CONFIG_SPI is not set 549# CONFIG_SPI is not set
550CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
551# CONFIG_GPIOLIB is not set
547# CONFIG_W1 is not set 552# CONFIG_W1 is not set
548# CONFIG_POWER_SUPPLY is not set 553# CONFIG_POWER_SUPPLY is not set
549# CONFIG_HWMON is not set 554# CONFIG_HWMON is not set
550# CONFIG_THERMAL is not set 555# CONFIG_THERMAL is not set
556# CONFIG_THERMAL_HWMON is not set
551# CONFIG_WATCHDOG is not set 557# CONFIG_WATCHDOG is not set
552 558
553# 559#
@@ -559,8 +565,10 @@ CONFIG_SSB_POSSIBLE=y
559# 565#
560# Multifunction device drivers 566# Multifunction device drivers
561# 567#
568# CONFIG_MFD_CORE is not set
562# CONFIG_MFD_SM501 is not set 569# CONFIG_MFD_SM501 is not set
563# CONFIG_HTC_PASIC3 is not set 570# CONFIG_HTC_PASIC3 is not set
571# CONFIG_MFD_TMIO is not set
564 572
565# 573#
566# Multimedia devices 574# Multimedia devices
@@ -590,10 +598,6 @@ CONFIG_DAB=y
590# Display device support 598# Display device support
591# 599#
592# CONFIG_DISPLAY_SUPPORT is not set 600# CONFIG_DISPLAY_SUPPORT is not set
593
594#
595# Sound
596#
597# CONFIG_SOUND is not set 601# CONFIG_SOUND is not set
598# CONFIG_USB_SUPPORT is not set 602# CONFIG_USB_SUPPORT is not set
599# CONFIG_MMC is not set 603# CONFIG_MMC is not set
@@ -662,6 +666,7 @@ CONFIG_TMPFS=y
662CONFIG_CRAMFS=y 666CONFIG_CRAMFS=y
663# CONFIG_VXFS_FS is not set 667# CONFIG_VXFS_FS is not set
664# CONFIG_MINIX_FS is not set 668# CONFIG_MINIX_FS is not set
669# CONFIG_OMFS_FS is not set
665# CONFIG_HPFS_FS is not set 670# CONFIG_HPFS_FS is not set
666# CONFIG_QNX4FS_FS is not set 671# CONFIG_QNX4FS_FS is not set
667# CONFIG_ROMFS_FS is not set 672# CONFIG_ROMFS_FS is not set
@@ -672,13 +677,12 @@ CONFIG_NFS_FS=y
672CONFIG_NFS_V3=y 677CONFIG_NFS_V3=y
673# CONFIG_NFS_V3_ACL is not set 678# CONFIG_NFS_V3_ACL is not set
674# CONFIG_NFS_V4 is not set 679# CONFIG_NFS_V4 is not set
675# CONFIG_NFSD is not set
676CONFIG_ROOT_NFS=y 680CONFIG_ROOT_NFS=y
681# CONFIG_NFSD is not set
677CONFIG_LOCKD=y 682CONFIG_LOCKD=y
678CONFIG_LOCKD_V4=y 683CONFIG_LOCKD_V4=y
679CONFIG_NFS_COMMON=y 684CONFIG_NFS_COMMON=y
680CONFIG_SUNRPC=y 685CONFIG_SUNRPC=y
681# CONFIG_SUNRPC_BIND34 is not set
682# CONFIG_RPCSEC_GSS_KRB5 is not set 686# CONFIG_RPCSEC_GSS_KRB5 is not set
683# CONFIG_RPCSEC_GSS_SPKM3 is not set 687# CONFIG_RPCSEC_GSS_SPKM3 is not set
684# CONFIG_SMB_FS is not set 688# CONFIG_SMB_FS is not set
@@ -717,6 +721,7 @@ CONFIG_MSDOS_PARTITION=y
717# CONFIG_GENERIC_FIND_FIRST_BIT is not set 721# CONFIG_GENERIC_FIND_FIRST_BIT is not set
718# CONFIG_CRC_CCITT is not set 722# CONFIG_CRC_CCITT is not set
719# CONFIG_CRC16 is not set 723# CONFIG_CRC16 is not set
724# CONFIG_CRC_T10DIF is not set
720# CONFIG_CRC_ITU_T is not set 725# CONFIG_CRC_ITU_T is not set
721# CONFIG_CRC32 is not set 726# CONFIG_CRC32 is not set
722# CONFIG_CRC7 is not set 727# CONFIG_CRC7 is not set
@@ -741,6 +746,8 @@ CONFIG_MAGIC_SYSRQ=y
741CONFIG_DEBUG_KERNEL=y 746CONFIG_DEBUG_KERNEL=y
742# CONFIG_DEBUG_SHIRQ is not set 747# CONFIG_DEBUG_SHIRQ is not set
743CONFIG_DETECT_SOFTLOCKUP=y 748CONFIG_DETECT_SOFTLOCKUP=y
749# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
750CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
744CONFIG_SCHED_DEBUG=y 751CONFIG_SCHED_DEBUG=y
745# CONFIG_SCHEDSTATS is not set 752# CONFIG_SCHEDSTATS is not set
746# CONFIG_TIMER_STATS is not set 753# CONFIG_TIMER_STATS is not set
@@ -756,16 +763,28 @@ CONFIG_DEBUG_BUGVERBOSE=y
756CONFIG_DEBUG_INFO=y 763CONFIG_DEBUG_INFO=y
757# CONFIG_DEBUG_VM is not set 764# CONFIG_DEBUG_VM is not set
758# CONFIG_DEBUG_WRITECOUNT is not set 765# CONFIG_DEBUG_WRITECOUNT is not set
766# CONFIG_DEBUG_MEMORY_INIT is not set
759# CONFIG_DEBUG_LIST is not set 767# CONFIG_DEBUG_LIST is not set
760# CONFIG_DEBUG_SG is not set 768# CONFIG_DEBUG_SG is not set
761# CONFIG_BOOT_PRINTK_DELAY is not set 769# CONFIG_BOOT_PRINTK_DELAY is not set
770# CONFIG_RCU_TORTURE_TEST is not set
762# CONFIG_BACKTRACE_SELF_TEST is not set 771# CONFIG_BACKTRACE_SELF_TEST is not set
763# CONFIG_FAULT_INJECTION is not set 772# CONFIG_FAULT_INJECTION is not set
773# CONFIG_LATENCYTOP is not set
774CONFIG_HAVE_FTRACE=y
775CONFIG_HAVE_DYNAMIC_FTRACE=y
776# CONFIG_FTRACE is not set
777# CONFIG_SCHED_TRACER is not set
778# CONFIG_CONTEXT_SWITCH_TRACER is not set
764# CONFIG_SAMPLES is not set 779# CONFIG_SAMPLES is not set
780CONFIG_HAVE_ARCH_KGDB=y
781# CONFIG_KGDB is not set
765# CONFIG_DEBUG_STACKOVERFLOW is not set 782# CONFIG_DEBUG_STACKOVERFLOW is not set
766# CONFIG_DEBUG_STACK_USAGE is not set 783# CONFIG_DEBUG_STACK_USAGE is not set
767# CONFIG_DEBUG_PAGEALLOC is not set 784# CONFIG_DEBUG_PAGEALLOC is not set
768# CONFIG_DEBUGGER is not set 785# CONFIG_CODE_PATCHING_SELFTEST is not set
786# CONFIG_FTR_FIXUP_SELFTEST is not set
787# CONFIG_XMON is not set
769# CONFIG_IRQSTACKS is not set 788# CONFIG_IRQSTACKS is not set
770# CONFIG_BDI_SWITCH is not set 789# CONFIG_BDI_SWITCH is not set
771# CONFIG_PPC_EARLY_DEBUG is not set 790# CONFIG_PPC_EARLY_DEBUG is not set
@@ -777,6 +796,6 @@ CONFIG_DEBUG_INFO=y
777# CONFIG_SECURITY is not set 796# CONFIG_SECURITY is not set
778# CONFIG_SECURITY_FILE_CAPABILITIES is not set 797# CONFIG_SECURITY_FILE_CAPABILITIES is not set
779# CONFIG_CRYPTO is not set 798# CONFIG_CRYPTO is not set
780# CONFIG_PPC_CLOCK is not set 799CONFIG_PPC_CLOCK=y
781CONFIG_PPC_LIB_RHEAP=y 800CONFIG_PPC_LIB_RHEAP=y
782# CONFIG_VIRTUALIZATION is not set 801# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 0ccc6e493dcb..cfa5d053ee5e 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc6 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 16 21:08:31 2008 4# Tue Aug 26 13:15:06 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -13,6 +13,7 @@ CONFIG_POWER4=y
13# CONFIG_TUNE_CELL is not set 13# CONFIG_TUNE_CELL is not set
14CONFIG_PPC_FPU=y 14CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 15CONFIG_ALTIVEC=y
16# CONFIG_VSX is not set
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
17CONFIG_PPC_MM_SLICES=y 18CONFIG_PPC_MM_SLICES=y
18CONFIG_VIRT_CPU_ACCOUNTING=y 19CONFIG_VIRT_CPU_ACCOUNTING=y
@@ -30,6 +31,7 @@ CONFIG_GENERIC_HARDIRQS=y
30CONFIG_HAVE_SETUP_PER_CPU_AREA=y 31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
31CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 33CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y
33CONFIG_TRACE_IRQFLAGS_SUPPORT=y 35CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -94,9 +96,8 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
94CONFIG_SYSCTL=y 96CONFIG_SYSCTL=y
95# CONFIG_EMBEDDED is not set 97# CONFIG_EMBEDDED is not set
96CONFIG_SYSCTL_SYSCALL=y 98CONFIG_SYSCTL_SYSCALL=y
97CONFIG_SYSCTL_SYSCALL_CHECK=y
98CONFIG_KALLSYMS=y 99CONFIG_KALLSYMS=y
99# CONFIG_KALLSYMS_ALL is not set 100CONFIG_KALLSYMS_ALL=y
100# CONFIG_KALLSYMS_EXTRA_PASS is not set 101# CONFIG_KALLSYMS_EXTRA_PASS is not set
101CONFIG_HOTPLUG=y 102CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 103CONFIG_PRINTK=y
@@ -121,10 +122,16 @@ CONFIG_PROFILING=y
121CONFIG_OPROFILE=y 122CONFIG_OPROFILE=y
122CONFIG_HAVE_OPROFILE=y 123CONFIG_HAVE_OPROFILE=y
123# CONFIG_KPROBES is not set 124# CONFIG_KPROBES is not set
125CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
126CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 127CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
126# CONFIG_HAVE_DMA_ATTRS is not set 129CONFIG_HAVE_ARCH_TRACEHOOK=y
130CONFIG_HAVE_DMA_ATTRS=y
131CONFIG_USE_GENERIC_SMP_HELPERS=y
132# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y 133CONFIG_PROC_PAGE_MONITOR=y
134# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
128CONFIG_SLABINFO=y 135CONFIG_SLABINFO=y
129CONFIG_RT_MUTEXES=y 136CONFIG_RT_MUTEXES=y
130# CONFIG_TINY_SHMEM is not set 137# CONFIG_TINY_SHMEM is not set
@@ -140,6 +147,7 @@ CONFIG_STOP_MACHINE=y
140CONFIG_BLOCK=y 147CONFIG_BLOCK=y
141# CONFIG_BLK_DEV_IO_TRACE is not set 148# CONFIG_BLK_DEV_IO_TRACE is not set
142CONFIG_BLK_DEV_BSG=y 149CONFIG_BLK_DEV_BSG=y
150# CONFIG_BLK_DEV_INTEGRITY is not set
143CONFIG_BLOCK_COMPAT=y 151CONFIG_BLOCK_COMPAT=y
144 152
145# 153#
@@ -160,13 +168,8 @@ CONFIG_CLASSIC_RCU=y
160# Platform support 168# Platform support
161# 169#
162CONFIG_PPC_MULTIPLATFORM=y 170CONFIG_PPC_MULTIPLATFORM=y
163# CONFIG_PPC_82xx is not set
164# CONFIG_PPC_83xx is not set
165# CONFIG_PPC_86xx is not set
166# CONFIG_PPC_PSERIES is not set 171# CONFIG_PPC_PSERIES is not set
167# CONFIG_PPC_ISERIES is not set 172# CONFIG_PPC_ISERIES is not set
168# CONFIG_PPC_MPC512x is not set
169# CONFIG_PPC_MPC5121 is not set
170CONFIG_PPC_PMAC=y 173CONFIG_PPC_PMAC=y
171CONFIG_PPC_PMAC64=y 174CONFIG_PPC_PMAC64=y
172# CONFIG_PPC_MAPLE is not set 175# CONFIG_PPC_MAPLE is not set
@@ -224,7 +227,7 @@ CONFIG_HZ_250=y
224# CONFIG_HZ_300 is not set 227# CONFIG_HZ_300 is not set
225# CONFIG_HZ_1000 is not set 228# CONFIG_HZ_1000 is not set
226CONFIG_HZ=250 229CONFIG_HZ=250
227# CONFIG_SCHED_HRTICK is not set 230CONFIG_SCHED_HRTICK=y
228CONFIG_PREEMPT_NONE=y 231CONFIG_PREEMPT_NONE=y
229# CONFIG_PREEMPT_VOLUNTARY is not set 232# CONFIG_PREEMPT_VOLUNTARY is not set
230# CONFIG_PREEMPT is not set 233# CONFIG_PREEMPT is not set
@@ -256,6 +259,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
256CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 259CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
257CONFIG_PAGEFLAGS_EXTENDED=y 260CONFIG_PAGEFLAGS_EXTENDED=y
258CONFIG_SPLIT_PTLOCK_CPUS=4 261CONFIG_SPLIT_PTLOCK_CPUS=4
262# CONFIG_MIGRATION is not set
259CONFIG_RESOURCES_64BIT=y 263CONFIG_RESOURCES_64BIT=y
260CONFIG_ZONE_DMA_FLAG=1 264CONFIG_ZONE_DMA_FLAG=1
261CONFIG_BOUNCE=y 265CONFIG_BOUNCE=y
@@ -265,6 +269,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
265# CONFIG_SCHED_SMT is not set 269# CONFIG_SCHED_SMT is not set
266CONFIG_PROC_DEVICETREE=y 270CONFIG_PROC_DEVICETREE=y
267# CONFIG_CMDLINE_BOOL is not set 271# CONFIG_CMDLINE_BOOL is not set
272CONFIG_EXTRA_TARGETS=""
268CONFIG_ARCH_WANTS_FREEZER_CONTROL=y 273CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
269# CONFIG_PM is not set 274# CONFIG_PM is not set
270CONFIG_SECCOMP=y 275CONFIG_SECCOMP=y
@@ -290,10 +295,6 @@ CONFIG_PCI_MSI=y
290CONFIG_PAGE_OFFSET=0xc000000000000000 295CONFIG_PAGE_OFFSET=0xc000000000000000
291CONFIG_KERNEL_START=0xc000000000000000 296CONFIG_KERNEL_START=0xc000000000000000
292CONFIG_PHYSICAL_START=0x00000000 297CONFIG_PHYSICAL_START=0x00000000
293
294#
295# Networking
296#
297CONFIG_NET=y 298CONFIG_NET=y
298 299
299# 300#
@@ -307,6 +308,7 @@ CONFIG_XFRM_USER=m
307# CONFIG_XFRM_SUB_POLICY is not set 308# CONFIG_XFRM_SUB_POLICY is not set
308# CONFIG_XFRM_MIGRATE is not set 309# CONFIG_XFRM_MIGRATE is not set
309# CONFIG_XFRM_STATISTICS is not set 310# CONFIG_XFRM_STATISTICS is not set
311CONFIG_XFRM_IPCOMP=m
310CONFIG_NET_KEY=m 312CONFIG_NET_KEY=m
311# CONFIG_NET_KEY_MIGRATE is not set 313# CONFIG_NET_KEY_MIGRATE is not set
312CONFIG_INET=y 314CONFIG_INET=y
@@ -422,6 +424,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
422CONFIG_STANDALONE=y 424CONFIG_STANDALONE=y
423CONFIG_PREVENT_FIRMWARE_BUILD=y 425CONFIG_PREVENT_FIRMWARE_BUILD=y
424CONFIG_FW_LOADER=y 426CONFIG_FW_LOADER=y
427CONFIG_FIRMWARE_IN_KERNEL=y
428CONFIG_EXTRA_FIRMWARE=""
425# CONFIG_DEBUG_DRIVER is not set 429# CONFIG_DEBUG_DRIVER is not set
426# CONFIG_DEBUG_DEVRES is not set 430# CONFIG_DEBUG_DEVRES is not set
427# CONFIG_SYS_HYPERVISOR is not set 431# CONFIG_SYS_HYPERVISOR is not set
@@ -449,12 +453,14 @@ CONFIG_CDROM_PKTCDVD=m
449CONFIG_CDROM_PKTCDVD_BUFFERS=8 453CONFIG_CDROM_PKTCDVD_BUFFERS=8
450# CONFIG_CDROM_PKTCDVD_WCACHE is not set 454# CONFIG_CDROM_PKTCDVD_WCACHE is not set
451# CONFIG_ATA_OVER_ETH is not set 455# CONFIG_ATA_OVER_ETH is not set
456# CONFIG_BLK_DEV_HD is not set
452CONFIG_MISC_DEVICES=y 457CONFIG_MISC_DEVICES=y
453# CONFIG_PHANTOM is not set 458# CONFIG_PHANTOM is not set
454# CONFIG_EEPROM_93CX6 is not set 459# CONFIG_EEPROM_93CX6 is not set
455# CONFIG_SGI_IOC4 is not set 460# CONFIG_SGI_IOC4 is not set
456# CONFIG_TIFM_CORE is not set 461# CONFIG_TIFM_CORE is not set
457# CONFIG_ENCLOSURE_SERVICES is not set 462# CONFIG_ENCLOSURE_SERVICES is not set
463# CONFIG_HP_ILO is not set
458CONFIG_HAVE_IDE=y 464CONFIG_HAVE_IDE=y
459CONFIG_IDE=y 465CONFIG_IDE=y
460CONFIG_BLK_DEV_IDE=y 466CONFIG_BLK_DEV_IDE=y
@@ -462,6 +468,7 @@ CONFIG_BLK_DEV_IDE=y
462# 468#
463# Please see Documentation/ide/ide.txt for help/info on IDE drives 469# Please see Documentation/ide/ide.txt for help/info on IDE drives
464# 470#
471CONFIG_IDE_TIMINGS=y
465# CONFIG_BLK_DEV_IDE_SATA is not set 472# CONFIG_BLK_DEV_IDE_SATA is not set
466CONFIG_BLK_DEV_IDEDISK=y 473CONFIG_BLK_DEV_IDEDISK=y
467# CONFIG_IDEDISK_MULTI_MODE is not set 474# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -492,10 +499,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
492# CONFIG_BLK_DEV_AMD74XX is not set 499# CONFIG_BLK_DEV_AMD74XX is not set
493# CONFIG_BLK_DEV_CMD64X is not set 500# CONFIG_BLK_DEV_CMD64X is not set
494# CONFIG_BLK_DEV_TRIFLEX is not set 501# CONFIG_BLK_DEV_TRIFLEX is not set
495# CONFIG_BLK_DEV_CY82C693 is not set
496# CONFIG_BLK_DEV_CS5520 is not set 502# CONFIG_BLK_DEV_CS5520 is not set
497# CONFIG_BLK_DEV_CS5530 is not set 503# CONFIG_BLK_DEV_CS5530 is not set
498# CONFIG_BLK_DEV_HPT34X is not set
499# CONFIG_BLK_DEV_HPT366 is not set 504# CONFIG_BLK_DEV_HPT366 is not set
500# CONFIG_BLK_DEV_JMICRON is not set 505# CONFIG_BLK_DEV_JMICRON is not set
501# CONFIG_BLK_DEV_SC1200 is not set 506# CONFIG_BLK_DEV_SC1200 is not set
@@ -516,8 +521,6 @@ CONFIG_BLK_DEV_IDE_PMAC=y
516CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 521CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
517CONFIG_BLK_DEV_IDEDMA_PMAC=y 522CONFIG_BLK_DEV_IDEDMA_PMAC=y
518CONFIG_BLK_DEV_IDEDMA=y 523CONFIG_BLK_DEV_IDEDMA=y
519# CONFIG_BLK_DEV_HD_ONLY is not set
520# CONFIG_BLK_DEV_HD is not set
521 524
522# 525#
523# SCSI device support 526# SCSI device support
@@ -592,6 +595,7 @@ CONFIG_SCSI_LOWLEVEL=y
592# CONFIG_SCSI_DC390T is not set 595# CONFIG_SCSI_DC390T is not set
593# CONFIG_SCSI_DEBUG is not set 596# CONFIG_SCSI_DEBUG is not set
594# CONFIG_SCSI_SRP is not set 597# CONFIG_SCSI_SRP is not set
598# CONFIG_SCSI_DH is not set
595CONFIG_ATA=y 599CONFIG_ATA=y
596# CONFIG_ATA_NONSTANDARD is not set 600# CONFIG_ATA_NONSTANDARD is not set
597CONFIG_SATA_PMP=y 601CONFIG_SATA_PMP=y
@@ -675,29 +679,21 @@ CONFIG_DM_ZERO=m
675# 679#
676# IEEE 1394 (FireWire) support 680# IEEE 1394 (FireWire) support
677# 681#
678# CONFIG_FIREWIRE is not set
679CONFIG_IEEE1394=y
680
681#
682# Subsystem Options
683#
684# CONFIG_IEEE1394_VERBOSEDEBUG is not set
685 682
686# 683#
687# Controllers 684# Enable only one of the two stacks, unless you know what you are doing
688# 685#
689# CONFIG_IEEE1394_PCILYNX is not set 686# CONFIG_FIREWIRE is not set
687CONFIG_IEEE1394=y
690CONFIG_IEEE1394_OHCI1394=y 688CONFIG_IEEE1394_OHCI1394=y
691 689# CONFIG_IEEE1394_PCILYNX is not set
692#
693# Protocols
694#
695CONFIG_IEEE1394_VIDEO1394=m
696CONFIG_IEEE1394_SBP2=m 690CONFIG_IEEE1394_SBP2=m
697CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y 691CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
698CONFIG_IEEE1394_ETH1394=m 692CONFIG_IEEE1394_ETH1394=m
699CONFIG_IEEE1394_DV1394=m
700CONFIG_IEEE1394_RAWIO=y 693CONFIG_IEEE1394_RAWIO=y
694CONFIG_IEEE1394_VIDEO1394=m
695CONFIG_IEEE1394_DV1394=m
696# CONFIG_IEEE1394_VERBOSEDEBUG is not set
701# CONFIG_I2O is not set 697# CONFIG_I2O is not set
702CONFIG_MACINTOSH_DRIVERS=y 698CONFIG_MACINTOSH_DRIVERS=y
703CONFIG_ADB_PMU=y 699CONFIG_ADB_PMU=y
@@ -712,7 +708,6 @@ CONFIG_WINDFARM_PM112=y
712CONFIG_WINDFARM_PM121=y 708CONFIG_WINDFARM_PM121=y
713# CONFIG_PMAC_RACKMETER is not set 709# CONFIG_PMAC_RACKMETER is not set
714CONFIG_NETDEVICES=y 710CONFIG_NETDEVICES=y
715# CONFIG_NETDEVICES_MULTIQUEUE is not set
716CONFIG_DUMMY=m 711CONFIG_DUMMY=m
717CONFIG_BONDING=m 712CONFIG_BONDING=m
718# CONFIG_MACVLAN is not set 713# CONFIG_MACVLAN is not set
@@ -720,7 +715,23 @@ CONFIG_BONDING=m
720CONFIG_TUN=m 715CONFIG_TUN=m
721# CONFIG_VETH is not set 716# CONFIG_VETH is not set
722# CONFIG_ARCNET is not set 717# CONFIG_ARCNET is not set
723# CONFIG_PHYLIB is not set 718CONFIG_PHYLIB=y
719
720#
721# MII PHY device drivers
722#
723# CONFIG_MARVELL_PHY is not set
724# CONFIG_DAVICOM_PHY is not set
725# CONFIG_QSEMI_PHY is not set
726# CONFIG_LXT_PHY is not set
727# CONFIG_CICADA_PHY is not set
728# CONFIG_VITESSE_PHY is not set
729# CONFIG_SMSC_PHY is not set
730# CONFIG_BROADCOM_PHY is not set
731# CONFIG_ICPLUS_PHY is not set
732# CONFIG_REALTEK_PHY is not set
733# CONFIG_FIXED_PHY is not set
734# CONFIG_MDIO_BITBANG is not set
724CONFIG_NET_ETHERNET=y 735CONFIG_NET_ETHERNET=y
725CONFIG_MII=y 736CONFIG_MII=y
726# CONFIG_HAPPYMEAL is not set 737# CONFIG_HAPPYMEAL is not set
@@ -740,10 +751,8 @@ CONFIG_ACENIC=y
740CONFIG_ACENIC_OMIT_TIGON_I=y 751CONFIG_ACENIC_OMIT_TIGON_I=y
741# CONFIG_DL2K is not set 752# CONFIG_DL2K is not set
742CONFIG_E1000=y 753CONFIG_E1000=y
743# CONFIG_E1000_NAPI is not set
744# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 754# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
745# CONFIG_E1000E is not set 755# CONFIG_E1000E is not set
746# CONFIG_E1000E_ENABLED is not set
747# CONFIG_IP1000 is not set 756# CONFIG_IP1000 is not set
748# CONFIG_IGB is not set 757# CONFIG_IGB is not set
749# CONFIG_NS83820 is not set 758# CONFIG_NS83820 is not set
@@ -758,6 +767,7 @@ CONFIG_TIGON3=y
758# CONFIG_BNX2 is not set 767# CONFIG_BNX2 is not set
759# CONFIG_QLA3XXX is not set 768# CONFIG_QLA3XXX is not set
760# CONFIG_ATL1 is not set 769# CONFIG_ATL1 is not set
770# CONFIG_ATL1E is not set
761CONFIG_NETDEV_10000=y 771CONFIG_NETDEV_10000=y
762# CONFIG_CHELSIO_T1 is not set 772# CONFIG_CHELSIO_T1 is not set
763# CONFIG_CHELSIO_T3 is not set 773# CONFIG_CHELSIO_T3 is not set
@@ -855,6 +865,7 @@ CONFIG_INPUT_MOUSE=y
855# CONFIG_MOUSE_PS2 is not set 865# CONFIG_MOUSE_PS2 is not set
856# CONFIG_MOUSE_SERIAL is not set 866# CONFIG_MOUSE_SERIAL is not set
857# CONFIG_MOUSE_APPLETOUCH is not set 867# CONFIG_MOUSE_APPLETOUCH is not set
868# CONFIG_MOUSE_BCM5974 is not set
858# CONFIG_MOUSE_VSXXXAA is not set 869# CONFIG_MOUSE_VSXXXAA is not set
859# CONFIG_INPUT_JOYSTICK is not set 870# CONFIG_INPUT_JOYSTICK is not set
860# CONFIG_INPUT_TABLET is not set 871# CONFIG_INPUT_TABLET is not set
@@ -869,12 +880,14 @@ CONFIG_SERIO=y
869# CONFIG_SERIO_SERPORT is not set 880# CONFIG_SERIO_SERPORT is not set
870# CONFIG_SERIO_PCIPS2 is not set 881# CONFIG_SERIO_PCIPS2 is not set
871# CONFIG_SERIO_RAW is not set 882# CONFIG_SERIO_RAW is not set
883# CONFIG_SERIO_XILINX_XPS_PS2 is not set
872# CONFIG_GAMEPORT is not set 884# CONFIG_GAMEPORT is not set
873 885
874# 886#
875# Character devices 887# Character devices
876# 888#
877CONFIG_VT=y 889CONFIG_VT=y
890CONFIG_CONSOLE_TRANSLATIONS=y
878CONFIG_VT_CONSOLE=y 891CONFIG_VT_CONSOLE=y
879CONFIG_HW_CONSOLE=y 892CONFIG_HW_CONSOLE=y
880# CONFIG_VT_HW_CONSOLE_BINDING is not set 893# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -909,44 +922,69 @@ CONFIG_DEVPORT=y
909CONFIG_I2C=y 922CONFIG_I2C=y
910CONFIG_I2C_BOARDINFO=y 923CONFIG_I2C_BOARDINFO=y
911CONFIG_I2C_CHARDEV=y 924CONFIG_I2C_CHARDEV=y
925CONFIG_I2C_HELPER_AUTO=y
912CONFIG_I2C_ALGOBIT=y 926CONFIG_I2C_ALGOBIT=y
913 927
914# 928#
915# I2C Hardware Bus support 929# I2C Hardware Bus support
916# 930#
931
932#
933# PC SMBus host controller drivers
934#
917# CONFIG_I2C_ALI1535 is not set 935# CONFIG_I2C_ALI1535 is not set
918# CONFIG_I2C_ALI1563 is not set 936# CONFIG_I2C_ALI1563 is not set
919# CONFIG_I2C_ALI15X3 is not set 937# CONFIG_I2C_ALI15X3 is not set
920# CONFIG_I2C_AMD756 is not set 938# CONFIG_I2C_AMD756 is not set
921# CONFIG_I2C_AMD8111 is not set 939# CONFIG_I2C_AMD8111 is not set
922# CONFIG_I2C_I801 is not set 940# CONFIG_I2C_I801 is not set
923# CONFIG_I2C_I810 is not set 941# CONFIG_I2C_ISCH is not set
924# CONFIG_I2C_PIIX4 is not set 942# CONFIG_I2C_PIIX4 is not set
925CONFIG_I2C_POWERMAC=y
926# CONFIG_I2C_NFORCE2 is not set 943# CONFIG_I2C_NFORCE2 is not set
927# CONFIG_I2C_OCORES is not set
928# CONFIG_I2C_PARPORT_LIGHT is not set
929# CONFIG_I2C_PROSAVAGE is not set
930# CONFIG_I2C_SAVAGE4 is not set
931# CONFIG_I2C_SIMTEC is not set
932# CONFIG_I2C_SIS5595 is not set 944# CONFIG_I2C_SIS5595 is not set
933# CONFIG_I2C_SIS630 is not set 945# CONFIG_I2C_SIS630 is not set
934# CONFIG_I2C_SIS96X is not set 946# CONFIG_I2C_SIS96X is not set
935# CONFIG_I2C_TAOS_EVM is not set
936# CONFIG_I2C_STUB is not set
937# CONFIG_I2C_TINY_USB is not set
938# CONFIG_I2C_VIA is not set 947# CONFIG_I2C_VIA is not set
939# CONFIG_I2C_VIAPRO is not set 948# CONFIG_I2C_VIAPRO is not set
949
950#
951# Mac SMBus host controller drivers
952#
953CONFIG_I2C_POWERMAC=y
954
955#
956# I2C system bus drivers (mostly embedded / system-on-chip)
957#
958# CONFIG_I2C_OCORES is not set
959# CONFIG_I2C_SIMTEC is not set
960
961#
962# External I2C/SMBus adapter drivers
963#
964# CONFIG_I2C_PARPORT_LIGHT is not set
965# CONFIG_I2C_TAOS_EVM is not set
966# CONFIG_I2C_TINY_USB is not set
967
968#
969# Graphics adapter I2C/DDC channel drivers
970#
940# CONFIG_I2C_VOODOO3 is not set 971# CONFIG_I2C_VOODOO3 is not set
972
973#
974# Other I2C/SMBus bus drivers
975#
941# CONFIG_I2C_PCA_PLATFORM is not set 976# CONFIG_I2C_PCA_PLATFORM is not set
977# CONFIG_I2C_STUB is not set
942 978
943# 979#
944# Miscellaneous I2C Chip support 980# Miscellaneous I2C Chip support
945# 981#
946# CONFIG_DS1682 is not set 982# CONFIG_DS1682 is not set
983# CONFIG_AT24 is not set
947# CONFIG_SENSORS_EEPROM is not set 984# CONFIG_SENSORS_EEPROM is not set
948# CONFIG_SENSORS_PCF8574 is not set 985# CONFIG_SENSORS_PCF8574 is not set
949# CONFIG_PCF8575 is not set 986# CONFIG_PCF8575 is not set
987# CONFIG_SENSORS_PCA9539 is not set
950# CONFIG_SENSORS_PCF8591 is not set 988# CONFIG_SENSORS_PCF8591 is not set
951# CONFIG_SENSORS_MAX6875 is not set 989# CONFIG_SENSORS_MAX6875 is not set
952# CONFIG_SENSORS_TSL2550 is not set 990# CONFIG_SENSORS_TSL2550 is not set
@@ -955,10 +993,13 @@ CONFIG_I2C_POWERMAC=y
955# CONFIG_I2C_DEBUG_BUS is not set 993# CONFIG_I2C_DEBUG_BUS is not set
956# CONFIG_I2C_DEBUG_CHIP is not set 994# CONFIG_I2C_DEBUG_CHIP is not set
957# CONFIG_SPI is not set 995# CONFIG_SPI is not set
996CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
997# CONFIG_GPIOLIB is not set
958# CONFIG_W1 is not set 998# CONFIG_W1 is not set
959# CONFIG_POWER_SUPPLY is not set 999# CONFIG_POWER_SUPPLY is not set
960# CONFIG_HWMON is not set 1000# CONFIG_HWMON is not set
961# CONFIG_THERMAL is not set 1001# CONFIG_THERMAL is not set
1002# CONFIG_THERMAL_HWMON is not set
962# CONFIG_WATCHDOG is not set 1003# CONFIG_WATCHDOG is not set
963 1004
964# 1005#
@@ -970,8 +1011,10 @@ CONFIG_SSB_POSSIBLE=y
970# 1011#
971# Multifunction device drivers 1012# Multifunction device drivers
972# 1013#
1014# CONFIG_MFD_CORE is not set
973# CONFIG_MFD_SM501 is not set 1015# CONFIG_MFD_SM501 is not set
974# CONFIG_HTC_PASIC3 is not set 1016# CONFIG_HTC_PASIC3 is not set
1017# CONFIG_MFD_TMIO is not set
975 1018
976# 1019#
977# Multimedia devices 1020# Multimedia devices
@@ -1050,10 +1093,13 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1050# CONFIG_FB_TRIDENT is not set 1093# CONFIG_FB_TRIDENT is not set
1051# CONFIG_FB_ARK is not set 1094# CONFIG_FB_ARK is not set
1052# CONFIG_FB_PM3 is not set 1095# CONFIG_FB_PM3 is not set
1096# CONFIG_FB_CARMINE is not set
1053# CONFIG_FB_IBM_GXT4500 is not set 1097# CONFIG_FB_IBM_GXT4500 is not set
1054# CONFIG_FB_VIRTUAL is not set 1098# CONFIG_FB_VIRTUAL is not set
1055CONFIG_BACKLIGHT_LCD_SUPPORT=y 1099CONFIG_BACKLIGHT_LCD_SUPPORT=y
1056CONFIG_LCD_CLASS_DEVICE=m 1100CONFIG_LCD_CLASS_DEVICE=m
1101# CONFIG_LCD_ILI9320 is not set
1102# CONFIG_LCD_PLATFORM is not set
1057CONFIG_BACKLIGHT_CLASS_DEVICE=y 1103CONFIG_BACKLIGHT_CLASS_DEVICE=y
1058# CONFIG_BACKLIGHT_CORGI is not set 1104# CONFIG_BACKLIGHT_CORGI is not set
1059 1105
@@ -1077,15 +1123,7 @@ CONFIG_LOGO=y
1077CONFIG_LOGO_LINUX_MONO=y 1123CONFIG_LOGO_LINUX_MONO=y
1078CONFIG_LOGO_LINUX_VGA16=y 1124CONFIG_LOGO_LINUX_VGA16=y
1079CONFIG_LOGO_LINUX_CLUT224=y 1125CONFIG_LOGO_LINUX_CLUT224=y
1080
1081#
1082# Sound
1083#
1084CONFIG_SOUND=m 1126CONFIG_SOUND=m
1085
1086#
1087# Advanced Linux Sound Architecture
1088#
1089CONFIG_SND=m 1127CONFIG_SND=m
1090CONFIG_SND_TIMER=m 1128CONFIG_SND_TIMER=m
1091CONFIG_SND_PCM=m 1129CONFIG_SND_PCM=m
@@ -1103,19 +1141,13 @@ CONFIG_SND_SUPPORT_OLD_API=y
1103CONFIG_SND_VERBOSE_PROCFS=y 1141CONFIG_SND_VERBOSE_PROCFS=y
1104# CONFIG_SND_VERBOSE_PRINTK is not set 1142# CONFIG_SND_VERBOSE_PRINTK is not set
1105# CONFIG_SND_DEBUG is not set 1143# CONFIG_SND_DEBUG is not set
1106 1144CONFIG_SND_DRIVERS=y
1107#
1108# Generic devices
1109#
1110# CONFIG_SND_DUMMY is not set 1145# CONFIG_SND_DUMMY is not set
1111# CONFIG_SND_VIRMIDI is not set 1146# CONFIG_SND_VIRMIDI is not set
1112# CONFIG_SND_MTPAV is not set 1147# CONFIG_SND_MTPAV is not set
1113# CONFIG_SND_SERIAL_U16550 is not set 1148# CONFIG_SND_SERIAL_U16550 is not set
1114# CONFIG_SND_MPU401 is not set 1149# CONFIG_SND_MPU401 is not set
1115 1150CONFIG_SND_PCI=y
1116#
1117# PCI devices
1118#
1119# CONFIG_SND_AD1889 is not set 1151# CONFIG_SND_AD1889 is not set
1120# CONFIG_SND_ALS300 is not set 1152# CONFIG_SND_ALS300 is not set
1121# CONFIG_SND_ALS4000 is not set 1153# CONFIG_SND_ALS4000 is not set
@@ -1177,20 +1209,9 @@ CONFIG_SND_VERBOSE_PROCFS=y
1177# CONFIG_SND_VIRTUOSO is not set 1209# CONFIG_SND_VIRTUOSO is not set
1178# CONFIG_SND_VX222 is not set 1210# CONFIG_SND_VX222 is not set
1179# CONFIG_SND_YMFPCI is not set 1211# CONFIG_SND_YMFPCI is not set
1180 1212CONFIG_SND_PPC=y
1181#
1182# ALSA PowerMac devices
1183#
1184CONFIG_SND_POWERMAC=m 1213CONFIG_SND_POWERMAC=m
1185CONFIG_SND_POWERMAC_AUTO_DRC=y 1214CONFIG_SND_POWERMAC_AUTO_DRC=y
1186
1187#
1188# ALSA PowerPC devices
1189#
1190
1191#
1192# Apple Onboard Audio driver
1193#
1194CONFIG_SND_AOA=m 1215CONFIG_SND_AOA=m
1195CONFIG_SND_AOA_FABRIC_LAYOUT=m 1216CONFIG_SND_AOA_FABRIC_LAYOUT=m
1196CONFIG_SND_AOA_ONYX=m 1217CONFIG_SND_AOA_ONYX=m
@@ -1198,30 +1219,11 @@ CONFIG_SND_AOA_TAS=m
1198CONFIG_SND_AOA_TOONIE=m 1219CONFIG_SND_AOA_TOONIE=m
1199CONFIG_SND_AOA_SOUNDBUS=m 1220CONFIG_SND_AOA_SOUNDBUS=m
1200CONFIG_SND_AOA_SOUNDBUS_I2S=m 1221CONFIG_SND_AOA_SOUNDBUS_I2S=m
1201 1222CONFIG_SND_USB=y
1202#
1203# USB devices
1204#
1205CONFIG_SND_USB_AUDIO=m 1223CONFIG_SND_USB_AUDIO=m
1206# CONFIG_SND_USB_USX2Y is not set 1224# CONFIG_SND_USB_USX2Y is not set
1207# CONFIG_SND_USB_CAIAQ is not set 1225# CONFIG_SND_USB_CAIAQ is not set
1208
1209#
1210# System on Chip audio support
1211#
1212# CONFIG_SND_SOC is not set 1226# CONFIG_SND_SOC is not set
1213
1214#
1215# ALSA SoC audio for Freescale SOCs
1216#
1217
1218#
1219# SoC Audio for the Texas Instruments OMAP
1220#
1221
1222#
1223# Open Sound System
1224#
1225# CONFIG_SOUND_PRIME is not set 1227# CONFIG_SOUND_PRIME is not set
1226CONFIG_HID_SUPPORT=y 1228CONFIG_HID_SUPPORT=y
1227CONFIG_HID=y 1229CONFIG_HID=y
@@ -1256,6 +1258,7 @@ CONFIG_USB_DEVICEFS=y
1256CONFIG_USB_DEVICE_CLASS=y 1258CONFIG_USB_DEVICE_CLASS=y
1257# CONFIG_USB_DYNAMIC_MINORS is not set 1259# CONFIG_USB_DYNAMIC_MINORS is not set
1258# CONFIG_USB_OTG is not set 1260# CONFIG_USB_OTG is not set
1261CONFIG_USB_MON=y
1259 1262
1260# 1263#
1261# USB Host Controller Drivers 1264# USB Host Controller Drivers
@@ -1306,6 +1309,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1306# CONFIG_USB_STORAGE_ALAUDA is not set 1309# CONFIG_USB_STORAGE_ALAUDA is not set
1307# CONFIG_USB_STORAGE_ONETOUCH is not set 1310# CONFIG_USB_STORAGE_ONETOUCH is not set
1308# CONFIG_USB_STORAGE_KARMA is not set 1311# CONFIG_USB_STORAGE_KARMA is not set
1312# CONFIG_USB_STORAGE_SIERRA is not set
1309# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1313# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1310# CONFIG_USB_LIBUSUAL is not set 1314# CONFIG_USB_LIBUSUAL is not set
1311 1315
@@ -1314,7 +1318,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1314# 1318#
1315# CONFIG_USB_MDC800 is not set 1319# CONFIG_USB_MDC800 is not set
1316# CONFIG_USB_MICROTEK is not set 1320# CONFIG_USB_MICROTEK is not set
1317CONFIG_USB_MON=y
1318 1321
1319# 1322#
1320# USB port drivers 1323# USB port drivers
@@ -1323,7 +1326,6 @@ CONFIG_USB_SERIAL=m
1323CONFIG_USB_EZUSB=y 1326CONFIG_USB_EZUSB=y
1324CONFIG_USB_SERIAL_GENERIC=y 1327CONFIG_USB_SERIAL_GENERIC=y
1325# CONFIG_USB_SERIAL_AIRCABLE is not set 1328# CONFIG_USB_SERIAL_AIRCABLE is not set
1326# CONFIG_USB_SERIAL_AIRPRIME is not set
1327# CONFIG_USB_SERIAL_ARK3116 is not set 1329# CONFIG_USB_SERIAL_ARK3116 is not set
1328CONFIG_USB_SERIAL_BELKIN=m 1330CONFIG_USB_SERIAL_BELKIN=m
1329# CONFIG_USB_SERIAL_CH341 is not set 1331# CONFIG_USB_SERIAL_CH341 is not set
@@ -1383,7 +1385,6 @@ CONFIG_USB_SERIAL_OMNINET=m
1383# CONFIG_USB_EMI62 is not set 1385# CONFIG_USB_EMI62 is not set
1384# CONFIG_USB_EMI26 is not set 1386# CONFIG_USB_EMI26 is not set
1385# CONFIG_USB_ADUTUX is not set 1387# CONFIG_USB_ADUTUX is not set
1386# CONFIG_USB_AUERSWALD is not set
1387# CONFIG_USB_RIO500 is not set 1388# CONFIG_USB_RIO500 is not set
1388# CONFIG_USB_LEGOTOWER is not set 1389# CONFIG_USB_LEGOTOWER is not set
1389# CONFIG_USB_LCD is not set 1390# CONFIG_USB_LCD is not set
@@ -1497,6 +1498,7 @@ CONFIG_HFSPLUS_FS=m
1497CONFIG_CRAMFS=y 1498CONFIG_CRAMFS=y
1498# CONFIG_VXFS_FS is not set 1499# CONFIG_VXFS_FS is not set
1499# CONFIG_MINIX_FS is not set 1500# CONFIG_MINIX_FS is not set
1501# CONFIG_OMFS_FS is not set
1500# CONFIG_HPFS_FS is not set 1502# CONFIG_HPFS_FS is not set
1501# CONFIG_QNX4FS_FS is not set 1503# CONFIG_QNX4FS_FS is not set
1502# CONFIG_ROMFS_FS is not set 1504# CONFIG_ROMFS_FS is not set
@@ -1519,7 +1521,6 @@ CONFIG_NFS_ACL_SUPPORT=y
1519CONFIG_NFS_COMMON=y 1521CONFIG_NFS_COMMON=y
1520CONFIG_SUNRPC=y 1522CONFIG_SUNRPC=y
1521CONFIG_SUNRPC_GSS=y 1523CONFIG_SUNRPC_GSS=y
1522# CONFIG_SUNRPC_BIND34 is not set
1523CONFIG_RPCSEC_GSS_KRB5=y 1524CONFIG_RPCSEC_GSS_KRB5=y
1524# CONFIG_RPCSEC_GSS_SPKM3 is not set 1525# CONFIG_RPCSEC_GSS_SPKM3 is not set
1525# CONFIG_SMB_FS is not set 1526# CONFIG_SMB_FS is not set
@@ -1603,6 +1604,7 @@ CONFIG_BITREVERSE=y
1603# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1604# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1604CONFIG_CRC_CCITT=m 1605CONFIG_CRC_CCITT=m
1605# CONFIG_CRC16 is not set 1606# CONFIG_CRC16 is not set
1607CONFIG_CRC_T10DIF=y
1606CONFIG_CRC_ITU_T=m 1608CONFIG_CRC_ITU_T=m
1607CONFIG_CRC32=y 1609CONFIG_CRC32=y
1608# CONFIG_CRC7 is not set 1610# CONFIG_CRC7 is not set
@@ -1629,8 +1631,10 @@ CONFIG_DEBUG_FS=y
1629CONFIG_DEBUG_KERNEL=y 1631CONFIG_DEBUG_KERNEL=y
1630# CONFIG_DEBUG_SHIRQ is not set 1632# CONFIG_DEBUG_SHIRQ is not set
1631CONFIG_DETECT_SOFTLOCKUP=y 1633CONFIG_DETECT_SOFTLOCKUP=y
1634# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1635CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1632CONFIG_SCHED_DEBUG=y 1636CONFIG_SCHED_DEBUG=y
1633# CONFIG_SCHEDSTATS is not set 1637CONFIG_SCHEDSTATS=y
1634# CONFIG_TIMER_STATS is not set 1638# CONFIG_TIMER_STATS is not set
1635# CONFIG_DEBUG_OBJECTS is not set 1639# CONFIG_DEBUG_OBJECTS is not set
1636# CONFIG_SLUB_DEBUG_ON is not set 1640# CONFIG_SLUB_DEBUG_ON is not set
@@ -1644,22 +1648,37 @@ CONFIG_DEBUG_MUTEXES=y
1644# CONFIG_LOCK_STAT is not set 1648# CONFIG_LOCK_STAT is not set
1645# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1649# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1646# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1650# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1651CONFIG_STACKTRACE=y
1647# CONFIG_DEBUG_KOBJECT is not set 1652# CONFIG_DEBUG_KOBJECT is not set
1648CONFIG_DEBUG_BUGVERBOSE=y 1653CONFIG_DEBUG_BUGVERBOSE=y
1649# CONFIG_DEBUG_INFO is not set 1654# CONFIG_DEBUG_INFO is not set
1650# CONFIG_DEBUG_VM is not set 1655# CONFIG_DEBUG_VM is not set
1651# CONFIG_DEBUG_WRITECOUNT is not set 1656# CONFIG_DEBUG_WRITECOUNT is not set
1657CONFIG_DEBUG_MEMORY_INIT=y
1652# CONFIG_DEBUG_LIST is not set 1658# CONFIG_DEBUG_LIST is not set
1653# CONFIG_DEBUG_SG is not set 1659# CONFIG_DEBUG_SG is not set
1660CONFIG_FRAME_POINTER=y
1654# CONFIG_BOOT_PRINTK_DELAY is not set 1661# CONFIG_BOOT_PRINTK_DELAY is not set
1655# CONFIG_RCU_TORTURE_TEST is not set 1662# CONFIG_RCU_TORTURE_TEST is not set
1656# CONFIG_BACKTRACE_SELF_TEST is not set 1663# CONFIG_BACKTRACE_SELF_TEST is not set
1657# CONFIG_FAULT_INJECTION is not set 1664# CONFIG_FAULT_INJECTION is not set
1665CONFIG_LATENCYTOP=y
1666CONFIG_SYSCTL_SYSCALL_CHECK=y
1667CONFIG_HAVE_FTRACE=y
1668CONFIG_HAVE_DYNAMIC_FTRACE=y
1669# CONFIG_FTRACE is not set
1670# CONFIG_IRQSOFF_TRACER is not set
1671# CONFIG_SCHED_TRACER is not set
1672# CONFIG_CONTEXT_SWITCH_TRACER is not set
1658# CONFIG_SAMPLES is not set 1673# CONFIG_SAMPLES is not set
1674CONFIG_HAVE_ARCH_KGDB=y
1675# CONFIG_KGDB is not set
1659# CONFIG_DEBUG_STACKOVERFLOW is not set 1676# CONFIG_DEBUG_STACKOVERFLOW is not set
1660# CONFIG_DEBUG_STACK_USAGE is not set 1677# CONFIG_DEBUG_STACK_USAGE is not set
1661# CONFIG_DEBUG_PAGEALLOC is not set 1678# CONFIG_DEBUG_PAGEALLOC is not set
1662# CONFIG_DEBUGGER is not set 1679# CONFIG_CODE_PATCHING_SELFTEST is not set
1680# CONFIG_FTR_FIXUP_SELFTEST is not set
1681# CONFIG_XMON is not set
1663CONFIG_IRQSTACKS=y 1682CONFIG_IRQSTACKS=y
1664# CONFIG_VIRQ_DEBUG is not set 1683# CONFIG_VIRQ_DEBUG is not set
1665CONFIG_BOOTX_TEXT=y 1684CONFIG_BOOTX_TEXT=y
@@ -1718,6 +1737,10 @@ CONFIG_CRYPTO_CRC32C=m
1718CONFIG_CRYPTO_MD4=m 1737CONFIG_CRYPTO_MD4=m
1719CONFIG_CRYPTO_MD5=y 1738CONFIG_CRYPTO_MD5=y
1720CONFIG_CRYPTO_MICHAEL_MIC=m 1739CONFIG_CRYPTO_MICHAEL_MIC=m
1740# CONFIG_CRYPTO_RMD128 is not set
1741# CONFIG_CRYPTO_RMD160 is not set
1742# CONFIG_CRYPTO_RMD256 is not set
1743# CONFIG_CRYPTO_RMD320 is not set
1721CONFIG_CRYPTO_SHA1=m 1744CONFIG_CRYPTO_SHA1=m
1722CONFIG_CRYPTO_SHA256=m 1745CONFIG_CRYPTO_SHA256=m
1723CONFIG_CRYPTO_SHA512=m 1746CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 63f0bdb6340d..2c3f13577f4b 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc3 3# Linux kernel version: 2.6.27-rc4
4# Tue May 20 20:01:36 2008 4# Tue Aug 26 13:15:49 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -31,6 +31,7 @@ CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y 31CONFIG_HAVE_SETUP_PER_CPU_AREA=y
32CONFIG_IRQ_PER_CPU=y 32CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 33CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_TRACE_IRQFLAGS_SUPPORT=y 35CONFIG_TRACE_IRQFLAGS_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -94,9 +95,8 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
94CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
95# CONFIG_EMBEDDED is not set 96# CONFIG_EMBEDDED is not set
96CONFIG_SYSCTL_SYSCALL=y 97CONFIG_SYSCTL_SYSCALL=y
97CONFIG_SYSCTL_SYSCALL_CHECK=y
98CONFIG_KALLSYMS=y 98CONFIG_KALLSYMS=y
99# CONFIG_KALLSYMS_ALL is not set 99CONFIG_KALLSYMS_ALL=y
100# CONFIG_KALLSYMS_EXTRA_PASS is not set 100# CONFIG_KALLSYMS_EXTRA_PASS is not set
101CONFIG_HOTPLUG=y 101CONFIG_HOTPLUG=y
102CONFIG_PRINTK=y 102CONFIG_PRINTK=y
@@ -120,10 +120,16 @@ CONFIG_SLUB=y
120# CONFIG_MARKERS is not set 120# CONFIG_MARKERS is not set
121CONFIG_HAVE_OPROFILE=y 121CONFIG_HAVE_OPROFILE=y
122# CONFIG_KPROBES is not set 122# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
124CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
125# CONFIG_HAVE_DMA_ATTRS is not set 127CONFIG_HAVE_ARCH_TRACEHOOK=y
128CONFIG_HAVE_DMA_ATTRS=y
129CONFIG_USE_GENERIC_SMP_HELPERS=y
130# CONFIG_HAVE_CLK is not set
126CONFIG_PROC_PAGE_MONITOR=y 131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 134CONFIG_RT_MUTEXES=y
129# CONFIG_TINY_SHMEM is not set 135# CONFIG_TINY_SHMEM is not set
@@ -139,6 +145,7 @@ CONFIG_STOP_MACHINE=y
139CONFIG_BLOCK=y 145CONFIG_BLOCK=y
140# CONFIG_BLK_DEV_IO_TRACE is not set 146# CONFIG_BLK_DEV_IO_TRACE is not set
141CONFIG_BLK_DEV_BSG=y 147CONFIG_BLK_DEV_BSG=y
148# CONFIG_BLK_DEV_INTEGRITY is not set
142CONFIG_BLOCK_COMPAT=y 149CONFIG_BLOCK_COMPAT=y
143 150
144# 151#
@@ -159,9 +166,6 @@ CONFIG_CLASSIC_RCU=y
159# Platform support 166# Platform support
160# 167#
161CONFIG_PPC_MULTIPLATFORM=y 168CONFIG_PPC_MULTIPLATFORM=y
162# CONFIG_PPC_82xx is not set
163# CONFIG_PPC_83xx is not set
164# CONFIG_PPC_86xx is not set
165# CONFIG_PPC_PSERIES is not set 169# CONFIG_PPC_PSERIES is not set
166CONFIG_LPARCFG=y 170CONFIG_LPARCFG=y
167CONFIG_PPC_ISERIES=y 171CONFIG_PPC_ISERIES=y
@@ -173,8 +177,6 @@ CONFIG_VIODASD=y
173CONFIG_VIOCD=m 177CONFIG_VIOCD=m
174CONFIG_VIOTAPE=m 178CONFIG_VIOTAPE=m
175CONFIG_VIOPATH=y 179CONFIG_VIOPATH=y
176# CONFIG_PPC_MPC512x is not set
177# CONFIG_PPC_MPC5121 is not set
178# CONFIG_PPC_PMAC is not set 180# CONFIG_PPC_PMAC is not set
179# CONFIG_PPC_MAPLE is not set 181# CONFIG_PPC_MAPLE is not set
180# CONFIG_PPC_PASEMI is not set 182# CONFIG_PPC_PASEMI is not set
@@ -211,7 +213,7 @@ CONFIG_HZ_250=y
211# CONFIG_HZ_300 is not set 213# CONFIG_HZ_300 is not set
212# CONFIG_HZ_1000 is not set 214# CONFIG_HZ_1000 is not set
213CONFIG_HZ=250 215CONFIG_HZ=250
214# CONFIG_SCHED_HRTICK is not set 216CONFIG_SCHED_HRTICK=y
215CONFIG_PREEMPT_NONE=y 217CONFIG_PREEMPT_NONE=y
216# CONFIG_PREEMPT_VOLUNTARY is not set 218# CONFIG_PREEMPT_VOLUNTARY is not set
217# CONFIG_PREEMPT is not set 219# CONFIG_PREEMPT is not set
@@ -241,6 +243,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
241CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 243CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
242CONFIG_PAGEFLAGS_EXTENDED=y 244CONFIG_PAGEFLAGS_EXTENDED=y
243CONFIG_SPLIT_PTLOCK_CPUS=4 245CONFIG_SPLIT_PTLOCK_CPUS=4
246# CONFIG_MIGRATION is not set
244CONFIG_RESOURCES_64BIT=y 247CONFIG_RESOURCES_64BIT=y
245CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
246CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
@@ -250,6 +253,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
250# CONFIG_SCHED_SMT is not set 253# CONFIG_SCHED_SMT is not set
251CONFIG_PROC_DEVICETREE=y 254CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 255# CONFIG_CMDLINE_BOOL is not set
256CONFIG_EXTRA_TARGETS=""
253# CONFIG_PM is not set 257# CONFIG_PM is not set
254CONFIG_SECCOMP=y 258CONFIG_SECCOMP=y
255CONFIG_ISA_DMA_API=y 259CONFIG_ISA_DMA_API=y
@@ -274,10 +278,6 @@ CONFIG_ARCH_SUPPORTS_MSI=y
274CONFIG_PAGE_OFFSET=0xc000000000000000 278CONFIG_PAGE_OFFSET=0xc000000000000000
275CONFIG_KERNEL_START=0xc000000000000000 279CONFIG_KERNEL_START=0xc000000000000000
276CONFIG_PHYSICAL_START=0x00000000 280CONFIG_PHYSICAL_START=0x00000000
277
278#
279# Networking
280#
281CONFIG_NET=y 281CONFIG_NET=y
282 282
283# 283#
@@ -291,6 +291,7 @@ CONFIG_XFRM_USER=m
291CONFIG_XFRM_SUB_POLICY=y 291CONFIG_XFRM_SUB_POLICY=y
292# CONFIG_XFRM_MIGRATE is not set 292# CONFIG_XFRM_MIGRATE is not set
293# CONFIG_XFRM_STATISTICS is not set 293# CONFIG_XFRM_STATISTICS is not set
294CONFIG_XFRM_IPCOMP=m
294CONFIG_NET_KEY=m 295CONFIG_NET_KEY=m
295# CONFIG_NET_KEY_MIGRATE is not set 296# CONFIG_NET_KEY_MIGRATE is not set
296CONFIG_INET=y 297CONFIG_INET=y
@@ -480,7 +481,9 @@ CONFIG_NET_CLS_ROUTE=y
480CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 481CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
481CONFIG_STANDALONE=y 482CONFIG_STANDALONE=y
482CONFIG_PREVENT_FIRMWARE_BUILD=y 483CONFIG_PREVENT_FIRMWARE_BUILD=y
483CONFIG_FW_LOADER=m 484CONFIG_FW_LOADER=y
485CONFIG_FIRMWARE_IN_KERNEL=y
486CONFIG_EXTRA_FIRMWARE=""
484# CONFIG_DEBUG_DRIVER is not set 487# CONFIG_DEBUG_DRIVER is not set
485# CONFIG_DEBUG_DEVRES is not set 488# CONFIG_DEBUG_DEVRES is not set
486# CONFIG_SYS_HYPERVISOR is not set 489# CONFIG_SYS_HYPERVISOR is not set
@@ -504,12 +507,14 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
504# CONFIG_BLK_DEV_XIP is not set 507# CONFIG_BLK_DEV_XIP is not set
505# CONFIG_CDROM_PKTCDVD is not set 508# CONFIG_CDROM_PKTCDVD is not set
506# CONFIG_ATA_OVER_ETH is not set 509# CONFIG_ATA_OVER_ETH is not set
510# CONFIG_BLK_DEV_HD is not set
507CONFIG_MISC_DEVICES=y 511CONFIG_MISC_DEVICES=y
508# CONFIG_PHANTOM is not set 512# CONFIG_PHANTOM is not set
509# CONFIG_EEPROM_93CX6 is not set 513# CONFIG_EEPROM_93CX6 is not set
510# CONFIG_SGI_IOC4 is not set 514# CONFIG_SGI_IOC4 is not set
511# CONFIG_TIFM_CORE is not set 515# CONFIG_TIFM_CORE is not set
512# CONFIG_ENCLOSURE_SERVICES is not set 516# CONFIG_ENCLOSURE_SERVICES is not set
517# CONFIG_HP_ILO is not set
513CONFIG_HAVE_IDE=y 518CONFIG_HAVE_IDE=y
514# CONFIG_IDE is not set 519# CONFIG_IDE is not set
515 520
@@ -588,6 +593,7 @@ CONFIG_SCSI_IBMVSCSI=m
588# CONFIG_SCSI_DC390T is not set 593# CONFIG_SCSI_DC390T is not set
589# CONFIG_SCSI_DEBUG is not set 594# CONFIG_SCSI_DEBUG is not set
590# CONFIG_SCSI_SRP is not set 595# CONFIG_SCSI_SRP is not set
596# CONFIG_SCSI_DH is not set
591# CONFIG_ATA is not set 597# CONFIG_ATA is not set
592CONFIG_MD=y 598CONFIG_MD=y
593CONFIG_BLK_DEV_MD=y 599CONFIG_BLK_DEV_MD=y
@@ -612,12 +618,15 @@ CONFIG_DM_ZERO=m
612# 618#
613# IEEE 1394 (FireWire) support 619# IEEE 1394 (FireWire) support
614# 620#
621
622#
623# Enable only one of the two stacks, unless you know what you are doing
624#
615# CONFIG_FIREWIRE is not set 625# CONFIG_FIREWIRE is not set
616# CONFIG_IEEE1394 is not set 626# CONFIG_IEEE1394 is not set
617# CONFIG_I2O is not set 627# CONFIG_I2O is not set
618# CONFIG_MACINTOSH_DRIVERS is not set 628# CONFIG_MACINTOSH_DRIVERS is not set
619CONFIG_NETDEVICES=y 629CONFIG_NETDEVICES=y
620# CONFIG_NETDEVICES_MULTIQUEUE is not set
621CONFIG_DUMMY=m 630CONFIG_DUMMY=m
622CONFIG_BONDING=m 631CONFIG_BONDING=m
623# CONFIG_MACVLAN is not set 632# CONFIG_MACVLAN is not set
@@ -655,6 +664,7 @@ CONFIG_E100=y
655# CONFIG_SIS900 is not set 664# CONFIG_SIS900 is not set
656# CONFIG_EPIC100 is not set 665# CONFIG_EPIC100 is not set
657# CONFIG_SUNDANCE is not set 666# CONFIG_SUNDANCE is not set
667# CONFIG_TLAN is not set
658# CONFIG_VIA_RHINE is not set 668# CONFIG_VIA_RHINE is not set
659# CONFIG_SC92031 is not set 669# CONFIG_SC92031 is not set
660CONFIG_NETDEV_1000=y 670CONFIG_NETDEV_1000=y
@@ -662,10 +672,8 @@ CONFIG_ACENIC=m
662# CONFIG_ACENIC_OMIT_TIGON_I is not set 672# CONFIG_ACENIC_OMIT_TIGON_I is not set
663# CONFIG_DL2K is not set 673# CONFIG_DL2K is not set
664CONFIG_E1000=m 674CONFIG_E1000=m
665# CONFIG_E1000_NAPI is not set
666# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 675# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
667# CONFIG_E1000E is not set 676# CONFIG_E1000E is not set
668# CONFIG_E1000E_ENABLED is not set
669# CONFIG_IP1000 is not set 677# CONFIG_IP1000 is not set
670# CONFIG_IGB is not set 678# CONFIG_IGB is not set
671# CONFIG_NS83820 is not set 679# CONFIG_NS83820 is not set
@@ -680,6 +688,7 @@ CONFIG_E1000=m
680# CONFIG_BNX2 is not set 688# CONFIG_BNX2 is not set
681# CONFIG_QLA3XXX is not set 689# CONFIG_QLA3XXX is not set
682# CONFIG_ATL1 is not set 690# CONFIG_ATL1 is not set
691# CONFIG_ATL1E is not set
683CONFIG_NETDEV_10000=y 692CONFIG_NETDEV_10000=y
684# CONFIG_CHELSIO_T1 is not set 693# CONFIG_CHELSIO_T1 is not set
685# CONFIG_CHELSIO_T3 is not set 694# CONFIG_CHELSIO_T3 is not set
@@ -767,6 +776,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
767# Character devices 776# Character devices
768# 777#
769CONFIG_VT=y 778CONFIG_VT=y
779CONFIG_CONSOLE_TRANSLATIONS=y
770CONFIG_VT_CONSOLE=y 780CONFIG_VT_CONSOLE=y
771CONFIG_HW_CONSOLE=y 781CONFIG_HW_CONSOLE=y
772# CONFIG_VT_HW_CONSOLE_BINDING is not set 782# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -789,6 +799,7 @@ CONFIG_UNIX98_PTYS=y
789CONFIG_LEGACY_PTYS=y 799CONFIG_LEGACY_PTYS=y
790CONFIG_LEGACY_PTY_COUNT=256 800CONFIG_LEGACY_PTY_COUNT=256
791CONFIG_HVC_DRIVER=y 801CONFIG_HVC_DRIVER=y
802CONFIG_HVC_IRQ=y
792CONFIG_HVC_ISERIES=y 803CONFIG_HVC_ISERIES=y
793# CONFIG_IPMI_HANDLER is not set 804# CONFIG_IPMI_HANDLER is not set
794# CONFIG_HW_RANDOM is not set 805# CONFIG_HW_RANDOM is not set
@@ -803,10 +814,13 @@ CONFIG_MAX_RAW_DEVS=256
803CONFIG_DEVPORT=y 814CONFIG_DEVPORT=y
804# CONFIG_I2C is not set 815# CONFIG_I2C is not set
805# CONFIG_SPI is not set 816# CONFIG_SPI is not set
817CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
818# CONFIG_GPIOLIB is not set
806# CONFIG_W1 is not set 819# CONFIG_W1 is not set
807# CONFIG_POWER_SUPPLY is not set 820# CONFIG_POWER_SUPPLY is not set
808# CONFIG_HWMON is not set 821# CONFIG_HWMON is not set
809# CONFIG_THERMAL is not set 822# CONFIG_THERMAL is not set
823# CONFIG_THERMAL_HWMON is not set
810# CONFIG_WATCHDOG is not set 824# CONFIG_WATCHDOG is not set
811 825
812# 826#
@@ -818,8 +832,10 @@ CONFIG_SSB_POSSIBLE=y
818# 832#
819# Multifunction device drivers 833# Multifunction device drivers
820# 834#
835# CONFIG_MFD_CORE is not set
821# CONFIG_MFD_SM501 is not set 836# CONFIG_MFD_SM501 is not set
822# CONFIG_HTC_PASIC3 is not set 837# CONFIG_HTC_PASIC3 is not set
838# CONFIG_MFD_TMIO is not set
823 839
824# 840#
825# Multimedia devices 841# Multimedia devices
@@ -858,10 +874,6 @@ CONFIG_SSB_POSSIBLE=y
858CONFIG_VGA_CONSOLE=y 874CONFIG_VGA_CONSOLE=y
859# CONFIG_VGACON_SOFT_SCROLLBACK is not set 875# CONFIG_VGACON_SOFT_SCROLLBACK is not set
860CONFIG_DUMMY_CONSOLE=y 876CONFIG_DUMMY_CONSOLE=y
861
862#
863# Sound
864#
865# CONFIG_SOUND is not set 877# CONFIG_SOUND is not set
866# CONFIG_HID_SUPPORT is not set 878# CONFIG_HID_SUPPORT is not set
867# CONFIG_USB_SUPPORT is not set 879# CONFIG_USB_SUPPORT is not set
@@ -910,7 +922,6 @@ CONFIG_XFS_POSIX_ACL=y
910# CONFIG_XFS_RT is not set 922# CONFIG_XFS_RT is not set
911# CONFIG_XFS_DEBUG is not set 923# CONFIG_XFS_DEBUG is not set
912CONFIG_GFS2_FS=m 924CONFIG_GFS2_FS=m
913CONFIG_GFS2_FS_LOCKING_NOLOCK=m
914CONFIG_GFS2_FS_LOCKING_DLM=m 925CONFIG_GFS2_FS_LOCKING_DLM=m
915# CONFIG_OCFS2_FS is not set 926# CONFIG_OCFS2_FS is not set
916CONFIG_DNOTIFY=y 927CONFIG_DNOTIFY=y
@@ -967,6 +978,7 @@ CONFIG_CONFIGFS_FS=m
967CONFIG_CRAMFS=y 978CONFIG_CRAMFS=y
968# CONFIG_VXFS_FS is not set 979# CONFIG_VXFS_FS is not set
969# CONFIG_MINIX_FS is not set 980# CONFIG_MINIX_FS is not set
981# CONFIG_OMFS_FS is not set
970# CONFIG_HPFS_FS is not set 982# CONFIG_HPFS_FS is not set
971# CONFIG_QNX4FS_FS is not set 983# CONFIG_QNX4FS_FS is not set
972# CONFIG_ROMFS_FS is not set 984# CONFIG_ROMFS_FS is not set
@@ -989,7 +1001,6 @@ CONFIG_NFS_ACL_SUPPORT=y
989CONFIG_NFS_COMMON=y 1001CONFIG_NFS_COMMON=y
990CONFIG_SUNRPC=y 1002CONFIG_SUNRPC=y
991CONFIG_SUNRPC_GSS=y 1003CONFIG_SUNRPC_GSS=y
992# CONFIG_SUNRPC_BIND34 is not set
993CONFIG_RPCSEC_GSS_KRB5=y 1004CONFIG_RPCSEC_GSS_KRB5=y
994CONFIG_RPCSEC_GSS_SPKM3=m 1005CONFIG_RPCSEC_GSS_SPKM3=m
995# CONFIG_SMB_FS is not set 1006# CONFIG_SMB_FS is not set
@@ -1059,6 +1070,7 @@ CONFIG_BITREVERSE=y
1059# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1070# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1060CONFIG_CRC_CCITT=m 1071CONFIG_CRC_CCITT=m
1061# CONFIG_CRC16 is not set 1072# CONFIG_CRC16 is not set
1073CONFIG_CRC_T10DIF=y
1062CONFIG_CRC_ITU_T=m 1074CONFIG_CRC_ITU_T=m
1063CONFIG_CRC32=y 1075CONFIG_CRC32=y
1064# CONFIG_CRC7 is not set 1076# CONFIG_CRC7 is not set
@@ -1089,8 +1101,10 @@ CONFIG_DEBUG_FS=y
1089CONFIG_DEBUG_KERNEL=y 1101CONFIG_DEBUG_KERNEL=y
1090# CONFIG_DEBUG_SHIRQ is not set 1102# CONFIG_DEBUG_SHIRQ is not set
1091CONFIG_DETECT_SOFTLOCKUP=y 1103CONFIG_DETECT_SOFTLOCKUP=y
1104# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1105CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1092CONFIG_SCHED_DEBUG=y 1106CONFIG_SCHED_DEBUG=y
1093# CONFIG_SCHEDSTATS is not set 1107CONFIG_SCHEDSTATS=y
1094# CONFIG_TIMER_STATS is not set 1108# CONFIG_TIMER_STATS is not set
1095# CONFIG_DEBUG_OBJECTS is not set 1109# CONFIG_DEBUG_OBJECTS is not set
1096# CONFIG_SLUB_DEBUG_ON is not set 1110# CONFIG_SLUB_DEBUG_ON is not set
@@ -1104,22 +1118,37 @@ CONFIG_SCHED_DEBUG=y
1104# CONFIG_LOCK_STAT is not set 1118# CONFIG_LOCK_STAT is not set
1105# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1119# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1106# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1120# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1121CONFIG_STACKTRACE=y
1107# CONFIG_DEBUG_KOBJECT is not set 1122# CONFIG_DEBUG_KOBJECT is not set
1108CONFIG_DEBUG_BUGVERBOSE=y 1123CONFIG_DEBUG_BUGVERBOSE=y
1109# CONFIG_DEBUG_INFO is not set 1124# CONFIG_DEBUG_INFO is not set
1110# CONFIG_DEBUG_VM is not set 1125# CONFIG_DEBUG_VM is not set
1111# CONFIG_DEBUG_WRITECOUNT is not set 1126# CONFIG_DEBUG_WRITECOUNT is not set
1127CONFIG_DEBUG_MEMORY_INIT=y
1112# CONFIG_DEBUG_LIST is not set 1128# CONFIG_DEBUG_LIST is not set
1113# CONFIG_DEBUG_SG is not set 1129# CONFIG_DEBUG_SG is not set
1130CONFIG_FRAME_POINTER=y
1114# CONFIG_BOOT_PRINTK_DELAY is not set 1131# CONFIG_BOOT_PRINTK_DELAY is not set
1115# CONFIG_RCU_TORTURE_TEST is not set 1132# CONFIG_RCU_TORTURE_TEST is not set
1116# CONFIG_BACKTRACE_SELF_TEST is not set 1133# CONFIG_BACKTRACE_SELF_TEST is not set
1117# CONFIG_FAULT_INJECTION is not set 1134# CONFIG_FAULT_INJECTION is not set
1135CONFIG_LATENCYTOP=y
1136CONFIG_SYSCTL_SYSCALL_CHECK=y
1137CONFIG_HAVE_FTRACE=y
1138CONFIG_HAVE_DYNAMIC_FTRACE=y
1139# CONFIG_FTRACE is not set
1140# CONFIG_IRQSOFF_TRACER is not set
1141# CONFIG_SCHED_TRACER is not set
1142# CONFIG_CONTEXT_SWITCH_TRACER is not set
1118# CONFIG_SAMPLES is not set 1143# CONFIG_SAMPLES is not set
1144CONFIG_HAVE_ARCH_KGDB=y
1145# CONFIG_KGDB is not set
1119CONFIG_DEBUG_STACKOVERFLOW=y 1146CONFIG_DEBUG_STACKOVERFLOW=y
1120CONFIG_DEBUG_STACK_USAGE=y 1147CONFIG_DEBUG_STACK_USAGE=y
1121# CONFIG_DEBUG_PAGEALLOC is not set 1148# CONFIG_DEBUG_PAGEALLOC is not set
1122# CONFIG_DEBUGGER is not set 1149# CONFIG_CODE_PATCHING_SELFTEST is not set
1150# CONFIG_FTR_FIXUP_SELFTEST is not set
1151# CONFIG_XMON is not set
1123CONFIG_IRQSTACKS=y 1152CONFIG_IRQSTACKS=y
1124# CONFIG_VIRQ_DEBUG is not set 1153# CONFIG_VIRQ_DEBUG is not set
1125# CONFIG_BOOTX_TEXT is not set 1154# CONFIG_BOOTX_TEXT is not set
@@ -1178,6 +1207,10 @@ CONFIG_CRYPTO_CRC32C=m
1178CONFIG_CRYPTO_MD4=m 1207CONFIG_CRYPTO_MD4=m
1179CONFIG_CRYPTO_MD5=y 1208CONFIG_CRYPTO_MD5=y
1180CONFIG_CRYPTO_MICHAEL_MIC=m 1209CONFIG_CRYPTO_MICHAEL_MIC=m
1210# CONFIG_CRYPTO_RMD128 is not set
1211# CONFIG_CRYPTO_RMD160 is not set
1212# CONFIG_CRYPTO_RMD256 is not set
1213# CONFIG_CRYPTO_RMD320 is not set
1181CONFIG_CRYPTO_SHA1=m 1214CONFIG_CRYPTO_SHA1=m
1182CONFIG_CRYPTO_SHA256=m 1215CONFIG_CRYPTO_SHA256=m
1183CONFIG_CRYPTO_SHA512=m 1216CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 48434c2c7628..6fc4c2127757 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:10 2008 4# Thu Aug 21 00:52:05 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -32,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -93,7 +94,6 @@ CONFIG_INITRAMFS_SOURCE=""
93CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
94# CONFIG_EMBEDDED is not set 95# CONFIG_EMBEDDED is not set
95CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
96CONFIG_SYSCTL_SYSCALL_CHECK=y
97CONFIG_KALLSYMS=y 97CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_ALL is not set 98# CONFIG_KALLSYMS_ALL is not set
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 99# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -119,10 +119,16 @@ CONFIG_SLUB=y
119# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
120CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
121# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
128# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -139,6 +145,7 @@ CONFIG_BLOCK=y
139# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
140# CONFIG_LSF is not set 146# CONFIG_LSF is not set
141# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
142 149
143# 150#
144# IO Schedulers 151# IO Schedulers
@@ -158,25 +165,25 @@ CONFIG_CLASSIC_RCU=y
158# Platform support 165# Platform support
159# 166#
160CONFIG_PPC_MULTIPLATFORM=y 167CONFIG_PPC_MULTIPLATFORM=y
161# CONFIG_PPC_82xx is not set
162# CONFIG_PPC_83xx is not set
163# CONFIG_PPC_86xx is not set
164CONFIG_CLASSIC32=y 168CONFIG_CLASSIC32=y
165# CONFIG_PPC_CHRP is not set 169# CONFIG_PPC_CHRP is not set
166# CONFIG_PPC_MPC512x is not set
167# CONFIG_PPC_MPC5121 is not set
168# CONFIG_MPC5121_ADS is not set 170# CONFIG_MPC5121_ADS is not set
171# CONFIG_MPC5121_GENERIC is not set
169# CONFIG_PPC_MPC52xx is not set 172# CONFIG_PPC_MPC52xx is not set
170# CONFIG_PPC_PMAC is not set 173# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 174# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 175# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set
173# CONFIG_PQ2ADS is not set 177# CONFIG_PQ2ADS is not set
178# CONFIG_PPC_83xx is not set
179# CONFIG_PPC_86xx is not set
174CONFIG_EMBEDDED6xx=y 180CONFIG_EMBEDDED6xx=y
175CONFIG_LINKSTATION=y 181CONFIG_LINKSTATION=y
176# CONFIG_STORCENTER is not set 182# CONFIG_STORCENTER is not set
177# CONFIG_MPC7448HPC2 is not set 183# CONFIG_MPC7448HPC2 is not set
178# CONFIG_PPC_HOLLY is not set 184# CONFIG_PPC_HOLLY is not set
179# CONFIG_PPC_PRPMC2800 is not set 185# CONFIG_PPC_PRPMC2800 is not set
186# CONFIG_PPC_C2K is not set
180CONFIG_MPC10X_BRIDGE=y 187CONFIG_MPC10X_BRIDGE=y
181CONFIG_MPC10X_OPENPIC=y 188CONFIG_MPC10X_OPENPIC=y
182# CONFIG_MPC10X_STORE_GATHERING is not set 189# CONFIG_MPC10X_STORE_GATHERING is not set
@@ -207,7 +214,7 @@ CONFIG_HZ_100=y
207# CONFIG_HZ_300 is not set 214# CONFIG_HZ_300 is not set
208# CONFIG_HZ_1000 is not set 215# CONFIG_HZ_1000 is not set
209CONFIG_HZ=100 216CONFIG_HZ=100
210# CONFIG_SCHED_HRTICK is not set 217CONFIG_SCHED_HRTICK=y
211CONFIG_PREEMPT_NONE=y 218CONFIG_PREEMPT_NONE=y
212# CONFIG_PREEMPT_VOLUNTARY is not set 219# CONFIG_PREEMPT_VOLUNTARY is not set
213# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
@@ -230,6 +237,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
230# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 237# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
231CONFIG_PAGEFLAGS_EXTENDED=y 238CONFIG_PAGEFLAGS_EXTENDED=y
232CONFIG_SPLIT_PTLOCK_CPUS=4 239CONFIG_SPLIT_PTLOCK_CPUS=4
240CONFIG_MIGRATION=y
233# CONFIG_RESOURCES_64BIT is not set 241# CONFIG_RESOURCES_64BIT is not set
234CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
@@ -237,6 +245,7 @@ CONFIG_VIRT_TO_BUS=y
237CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
248CONFIG_EXTRA_TARGETS=""
240# CONFIG_PM is not set 249# CONFIG_PM is not set
241CONFIG_SECCOMP=y 250CONFIG_SECCOMP=y
242CONFIG_ISA_DMA_API=y 251CONFIG_ISA_DMA_API=y
@@ -273,10 +282,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
273CONFIG_KERNEL_START=0xc0000000 282CONFIG_KERNEL_START=0xc0000000
274CONFIG_PHYSICAL_START=0x00000000 283CONFIG_PHYSICAL_START=0x00000000
275CONFIG_TASK_SIZE=0xc0000000 284CONFIG_TASK_SIZE=0xc0000000
276
277#
278# Networking
279#
280CONFIG_NET=y 285CONFIG_NET=y
281 286
282# 287#
@@ -461,6 +466,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
461# 466#
462# CONFIG_CFG80211 is not set 467# CONFIG_CFG80211 is not set
463CONFIG_WIRELESS_EXT=y 468CONFIG_WIRELESS_EXT=y
469CONFIG_WIRELESS_EXT_SYSFS=y
464# CONFIG_MAC80211 is not set 470# CONFIG_MAC80211 is not set
465CONFIG_IEEE80211=m 471CONFIG_IEEE80211=m
466CONFIG_IEEE80211_DEBUG=y 472CONFIG_IEEE80211_DEBUG=y
@@ -480,7 +486,9 @@ CONFIG_IEEE80211_CRYPT_TKIP=m
480CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 486CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
481CONFIG_STANDALONE=y 487CONFIG_STANDALONE=y
482CONFIG_PREVENT_FIRMWARE_BUILD=y 488CONFIG_PREVENT_FIRMWARE_BUILD=y
483CONFIG_FW_LOADER=m 489CONFIG_FW_LOADER=y
490CONFIG_FIRMWARE_IN_KERNEL=y
491CONFIG_EXTRA_FIRMWARE=""
484# CONFIG_DEBUG_DRIVER is not set 492# CONFIG_DEBUG_DRIVER is not set
485# CONFIG_DEBUG_DEVRES is not set 493# CONFIG_DEBUG_DEVRES is not set
486# CONFIG_SYS_HYPERVISOR is not set 494# CONFIG_SYS_HYPERVISOR is not set
@@ -592,12 +600,14 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
592# CONFIG_BLK_DEV_XIP is not set 600# CONFIG_BLK_DEV_XIP is not set
593# CONFIG_CDROM_PKTCDVD is not set 601# CONFIG_CDROM_PKTCDVD is not set
594# CONFIG_ATA_OVER_ETH is not set 602# CONFIG_ATA_OVER_ETH is not set
603# CONFIG_BLK_DEV_HD is not set
595CONFIG_MISC_DEVICES=y 604CONFIG_MISC_DEVICES=y
596# CONFIG_PHANTOM is not set 605# CONFIG_PHANTOM is not set
597# CONFIG_EEPROM_93CX6 is not set 606# CONFIG_EEPROM_93CX6 is not set
598# CONFIG_SGI_IOC4 is not set 607# CONFIG_SGI_IOC4 is not set
599# CONFIG_TIFM_CORE is not set 608# CONFIG_TIFM_CORE is not set
600# CONFIG_ENCLOSURE_SERVICES is not set 609# CONFIG_ENCLOSURE_SERVICES is not set
610# CONFIG_HP_ILO is not set
601CONFIG_HAVE_IDE=y 611CONFIG_HAVE_IDE=y
602# CONFIG_IDE is not set 612# CONFIG_IDE is not set
603 613
@@ -676,6 +686,7 @@ CONFIG_SCSI_LOWLEVEL=y
676# CONFIG_SCSI_NSP32 is not set 686# CONFIG_SCSI_NSP32 is not set
677# CONFIG_SCSI_DEBUG is not set 687# CONFIG_SCSI_DEBUG is not set
678# CONFIG_SCSI_SRP is not set 688# CONFIG_SCSI_SRP is not set
689# CONFIG_SCSI_DH is not set
679CONFIG_ATA=y 690CONFIG_ATA=y
680# CONFIG_ATA_NONSTANDARD is not set 691# CONFIG_ATA_NONSTANDARD is not set
681CONFIG_SATA_PMP=y 692CONFIG_SATA_PMP=y
@@ -743,12 +754,15 @@ CONFIG_PATA_SIL680=y
743# 754#
744# IEEE 1394 (FireWire) support 755# IEEE 1394 (FireWire) support
745# 756#
757
758#
759# Enable only one of the two stacks, unless you know what you are doing
760#
746# CONFIG_FIREWIRE is not set 761# CONFIG_FIREWIRE is not set
747# CONFIG_IEEE1394 is not set 762# CONFIG_IEEE1394 is not set
748# CONFIG_I2O is not set 763# CONFIG_I2O is not set
749# CONFIG_MACINTOSH_DRIVERS is not set 764# CONFIG_MACINTOSH_DRIVERS is not set
750CONFIG_NETDEVICES=y 765CONFIG_NETDEVICES=y
751# CONFIG_NETDEVICES_MULTIQUEUE is not set
752# CONFIG_DUMMY is not set 766# CONFIG_DUMMY is not set
753# CONFIG_BONDING is not set 767# CONFIG_BONDING is not set
754# CONFIG_MACVLAN is not set 768# CONFIG_MACVLAN is not set
@@ -785,14 +799,12 @@ CONFIG_NETDEV_1000=y
785# CONFIG_DL2K is not set 799# CONFIG_DL2K is not set
786# CONFIG_E1000 is not set 800# CONFIG_E1000 is not set
787# CONFIG_E1000E is not set 801# CONFIG_E1000E is not set
788# CONFIG_E1000E_ENABLED is not set
789# CONFIG_IP1000 is not set 802# CONFIG_IP1000 is not set
790# CONFIG_IGB is not set 803# CONFIG_IGB is not set
791# CONFIG_NS83820 is not set 804# CONFIG_NS83820 is not set
792# CONFIG_HAMACHI is not set 805# CONFIG_HAMACHI is not set
793# CONFIG_YELLOWFIN is not set 806# CONFIG_YELLOWFIN is not set
794CONFIG_R8169=y 807CONFIG_R8169=y
795# CONFIG_R8169_NAPI is not set
796# CONFIG_SIS190 is not set 808# CONFIG_SIS190 is not set
797# CONFIG_SKGE is not set 809# CONFIG_SKGE is not set
798# CONFIG_SKY2 is not set 810# CONFIG_SKY2 is not set
@@ -803,6 +815,7 @@ CONFIG_R8169=y
803# CONFIG_MV643XX_ETH is not set 815# CONFIG_MV643XX_ETH is not set
804# CONFIG_QLA3XXX is not set 816# CONFIG_QLA3XXX is not set
805# CONFIG_ATL1 is not set 817# CONFIG_ATL1 is not set
818# CONFIG_ATL1E is not set
806CONFIG_NETDEV_10000=y 819CONFIG_NETDEV_10000=y
807# CONFIG_CHELSIO_T1 is not set 820# CONFIG_CHELSIO_T1 is not set
808# CONFIG_CHELSIO_T3 is not set 821# CONFIG_CHELSIO_T3 is not set
@@ -889,12 +902,14 @@ CONFIG_SERIO=y
889CONFIG_SERIO_SERPORT=y 902CONFIG_SERIO_SERPORT=y
890# CONFIG_SERIO_PCIPS2 is not set 903# CONFIG_SERIO_PCIPS2 is not set
891# CONFIG_SERIO_RAW is not set 904# CONFIG_SERIO_RAW is not set
905# CONFIG_SERIO_XILINX_XPS_PS2 is not set
892# CONFIG_GAMEPORT is not set 906# CONFIG_GAMEPORT is not set
893 907
894# 908#
895# Character devices 909# Character devices
896# 910#
897CONFIG_VT=y 911CONFIG_VT=y
912CONFIG_CONSOLE_TRANSLATIONS=y
898CONFIG_VT_CONSOLE=y 913CONFIG_VT_CONSOLE=y
899CONFIG_HW_CONSOLE=y 914CONFIG_HW_CONSOLE=y
900# CONFIG_VT_HW_CONSOLE_BINDING is not set 915# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -934,43 +949,64 @@ CONFIG_DEVPORT=y
934CONFIG_I2C=y 949CONFIG_I2C=y
935CONFIG_I2C_BOARDINFO=y 950CONFIG_I2C_BOARDINFO=y
936CONFIG_I2C_CHARDEV=y 951CONFIG_I2C_CHARDEV=y
952CONFIG_I2C_HELPER_AUTO=y
937 953
938# 954#
939# I2C Hardware Bus support 955# I2C Hardware Bus support
940# 956#
957
958#
959# PC SMBus host controller drivers
960#
941# CONFIG_I2C_ALI1535 is not set 961# CONFIG_I2C_ALI1535 is not set
942# CONFIG_I2C_ALI1563 is not set 962# CONFIG_I2C_ALI1563 is not set
943# CONFIG_I2C_ALI15X3 is not set 963# CONFIG_I2C_ALI15X3 is not set
944# CONFIG_I2C_AMD756 is not set 964# CONFIG_I2C_AMD756 is not set
945# CONFIG_I2C_AMD8111 is not set 965# CONFIG_I2C_AMD8111 is not set
946# CONFIG_I2C_I801 is not set 966# CONFIG_I2C_I801 is not set
947# CONFIG_I2C_I810 is not set 967# CONFIG_I2C_ISCH is not set
948# CONFIG_I2C_PIIX4 is not set 968# CONFIG_I2C_PIIX4 is not set
949CONFIG_I2C_MPC=y
950# CONFIG_I2C_NFORCE2 is not set 969# CONFIG_I2C_NFORCE2 is not set
951# CONFIG_I2C_OCORES is not set
952# CONFIG_I2C_PARPORT_LIGHT is not set
953# CONFIG_I2C_PROSAVAGE is not set
954# CONFIG_I2C_SAVAGE4 is not set
955# CONFIG_I2C_SIMTEC is not set
956# CONFIG_I2C_SIS5595 is not set 970# CONFIG_I2C_SIS5595 is not set
957# CONFIG_I2C_SIS630 is not set 971# CONFIG_I2C_SIS630 is not set
958# CONFIG_I2C_SIS96X is not set 972# CONFIG_I2C_SIS96X is not set
959# CONFIG_I2C_TAOS_EVM is not set
960# CONFIG_I2C_STUB is not set
961# CONFIG_I2C_TINY_USB is not set
962# CONFIG_I2C_VIA is not set 973# CONFIG_I2C_VIA is not set
963# CONFIG_I2C_VIAPRO is not set 974# CONFIG_I2C_VIAPRO is not set
975
976#
977# I2C system bus drivers (mostly embedded / system-on-chip)
978#
979CONFIG_I2C_MPC=y
980# CONFIG_I2C_OCORES is not set
981# CONFIG_I2C_SIMTEC is not set
982
983#
984# External I2C/SMBus adapter drivers
985#
986# CONFIG_I2C_PARPORT_LIGHT is not set
987# CONFIG_I2C_TAOS_EVM is not set
988# CONFIG_I2C_TINY_USB is not set
989
990#
991# Graphics adapter I2C/DDC channel drivers
992#
964# CONFIG_I2C_VOODOO3 is not set 993# CONFIG_I2C_VOODOO3 is not set
994
995#
996# Other I2C/SMBus bus drivers
997#
965# CONFIG_I2C_PCA_PLATFORM is not set 998# CONFIG_I2C_PCA_PLATFORM is not set
999# CONFIG_I2C_STUB is not set
966 1000
967# 1001#
968# Miscellaneous I2C Chip support 1002# Miscellaneous I2C Chip support
969# 1003#
970# CONFIG_DS1682 is not set 1004# CONFIG_DS1682 is not set
1005# CONFIG_AT24 is not set
971CONFIG_SENSORS_EEPROM=m 1006CONFIG_SENSORS_EEPROM=m
972# CONFIG_SENSORS_PCF8574 is not set 1007# CONFIG_SENSORS_PCF8574 is not set
973# CONFIG_PCF8575 is not set 1008# CONFIG_PCF8575 is not set
1009# CONFIG_SENSORS_PCA9539 is not set
974# CONFIG_SENSORS_PCF8591 is not set 1010# CONFIG_SENSORS_PCF8591 is not set
975# CONFIG_SENSORS_MAX6875 is not set 1011# CONFIG_SENSORS_MAX6875 is not set
976# CONFIG_SENSORS_TSL2550 is not set 1012# CONFIG_SENSORS_TSL2550 is not set
@@ -979,10 +1015,13 @@ CONFIG_SENSORS_EEPROM=m
979# CONFIG_I2C_DEBUG_BUS is not set 1015# CONFIG_I2C_DEBUG_BUS is not set
980# CONFIG_I2C_DEBUG_CHIP is not set 1016# CONFIG_I2C_DEBUG_CHIP is not set
981# CONFIG_SPI is not set 1017# CONFIG_SPI is not set
1018CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1019# CONFIG_GPIOLIB is not set
982# CONFIG_W1 is not set 1020# CONFIG_W1 is not set
983# CONFIG_POWER_SUPPLY is not set 1021# CONFIG_POWER_SUPPLY is not set
984CONFIG_HWMON=y 1022CONFIG_HWMON=y
985# CONFIG_HWMON_VID is not set 1023# CONFIG_HWMON_VID is not set
1024# CONFIG_SENSORS_AD7414 is not set
986# CONFIG_SENSORS_AD7418 is not set 1025# CONFIG_SENSORS_AD7418 is not set
987# CONFIG_SENSORS_ADM1021 is not set 1026# CONFIG_SENSORS_ADM1021 is not set
988# CONFIG_SENSORS_ADM1025 is not set 1027# CONFIG_SENSORS_ADM1025 is not set
@@ -1036,6 +1075,7 @@ CONFIG_HWMON=y
1036# CONFIG_SENSORS_W83627EHF is not set 1075# CONFIG_SENSORS_W83627EHF is not set
1037# CONFIG_HWMON_DEBUG_CHIP is not set 1076# CONFIG_HWMON_DEBUG_CHIP is not set
1038# CONFIG_THERMAL is not set 1077# CONFIG_THERMAL is not set
1078# CONFIG_THERMAL_HWMON is not set
1039# CONFIG_WATCHDOG is not set 1079# CONFIG_WATCHDOG is not set
1040 1080
1041# 1081#
@@ -1047,8 +1087,10 @@ CONFIG_SSB_POSSIBLE=y
1047# 1087#
1048# Multifunction device drivers 1088# Multifunction device drivers
1049# 1089#
1090# CONFIG_MFD_CORE is not set
1050# CONFIG_MFD_SM501 is not set 1091# CONFIG_MFD_SM501 is not set
1051# CONFIG_HTC_PASIC3 is not set 1092# CONFIG_HTC_PASIC3 is not set
1093# CONFIG_MFD_TMIO is not set
1052 1094
1053# 1095#
1054# Multimedia devices 1096# Multimedia devices
@@ -1086,10 +1128,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1086# 1128#
1087# CONFIG_VGA_CONSOLE is not set 1129# CONFIG_VGA_CONSOLE is not set
1088CONFIG_DUMMY_CONSOLE=y 1130CONFIG_DUMMY_CONSOLE=y
1089
1090#
1091# Sound
1092#
1093# CONFIG_SOUND is not set 1131# CONFIG_SOUND is not set
1094CONFIG_HID_SUPPORT=y 1132CONFIG_HID_SUPPORT=y
1095CONFIG_HID=m 1133CONFIG_HID=m
@@ -1121,6 +1159,7 @@ CONFIG_USB_DEVICEFS=y
1121CONFIG_USB_DEVICE_CLASS=y 1159CONFIG_USB_DEVICE_CLASS=y
1122# CONFIG_USB_DYNAMIC_MINORS is not set 1160# CONFIG_USB_DYNAMIC_MINORS is not set
1123# CONFIG_USB_OTG is not set 1161# CONFIG_USB_OTG is not set
1162CONFIG_USB_MON=y
1124 1163
1125# 1164#
1126# USB Host Controller Drivers 1165# USB Host Controller Drivers
@@ -1172,6 +1211,7 @@ CONFIG_USB_STORAGE=m
1172# CONFIG_USB_STORAGE_ALAUDA is not set 1211# CONFIG_USB_STORAGE_ALAUDA is not set
1173# CONFIG_USB_STORAGE_ONETOUCH is not set 1212# CONFIG_USB_STORAGE_ONETOUCH is not set
1174# CONFIG_USB_STORAGE_KARMA is not set 1213# CONFIG_USB_STORAGE_KARMA is not set
1214# CONFIG_USB_STORAGE_SIERRA is not set
1175# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1215# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1176# CONFIG_USB_LIBUSUAL is not set 1216# CONFIG_USB_LIBUSUAL is not set
1177 1217
@@ -1180,7 +1220,6 @@ CONFIG_USB_STORAGE=m
1180# 1220#
1181# CONFIG_USB_MDC800 is not set 1221# CONFIG_USB_MDC800 is not set
1182# CONFIG_USB_MICROTEK is not set 1222# CONFIG_USB_MICROTEK is not set
1183CONFIG_USB_MON=y
1184 1223
1185# 1224#
1186# USB port drivers 1225# USB port drivers
@@ -1190,7 +1229,6 @@ CONFIG_USB_SERIAL_CONSOLE=y
1190# CONFIG_USB_EZUSB is not set 1229# CONFIG_USB_EZUSB is not set
1191# CONFIG_USB_SERIAL_GENERIC is not set 1230# CONFIG_USB_SERIAL_GENERIC is not set
1192# CONFIG_USB_SERIAL_AIRCABLE is not set 1231# CONFIG_USB_SERIAL_AIRCABLE is not set
1193# CONFIG_USB_SERIAL_AIRPRIME is not set
1194# CONFIG_USB_SERIAL_ARK3116 is not set 1232# CONFIG_USB_SERIAL_ARK3116 is not set
1195# CONFIG_USB_SERIAL_BELKIN is not set 1233# CONFIG_USB_SERIAL_BELKIN is not set
1196# CONFIG_USB_SERIAL_CH341 is not set 1234# CONFIG_USB_SERIAL_CH341 is not set
@@ -1237,7 +1275,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1237# CONFIG_USB_EMI62 is not set 1275# CONFIG_USB_EMI62 is not set
1238# CONFIG_USB_EMI26 is not set 1276# CONFIG_USB_EMI26 is not set
1239# CONFIG_USB_ADUTUX is not set 1277# CONFIG_USB_ADUTUX is not set
1240# CONFIG_USB_AUERSWALD is not set
1241# CONFIG_USB_RIO500 is not set 1278# CONFIG_USB_RIO500 is not set
1242# CONFIG_USB_LEGOTOWER is not set 1279# CONFIG_USB_LEGOTOWER is not set
1243# CONFIG_USB_LCD is not set 1280# CONFIG_USB_LCD is not set
@@ -1291,6 +1328,7 @@ CONFIG_RTC_DRV_RS5C372=y
1291# CONFIG_RTC_DRV_PCF8583 is not set 1328# CONFIG_RTC_DRV_PCF8583 is not set
1292# CONFIG_RTC_DRV_M41T80 is not set 1329# CONFIG_RTC_DRV_M41T80 is not set
1293# CONFIG_RTC_DRV_S35390A is not set 1330# CONFIG_RTC_DRV_S35390A is not set
1331# CONFIG_RTC_DRV_FM3130 is not set
1294 1332
1295# 1333#
1296# SPI RTC drivers 1334# SPI RTC drivers
@@ -1392,6 +1430,7 @@ CONFIG_TMPFS=y
1392# CONFIG_CRAMFS is not set 1430# CONFIG_CRAMFS is not set
1393# CONFIG_VXFS_FS is not set 1431# CONFIG_VXFS_FS is not set
1394# CONFIG_MINIX_FS is not set 1432# CONFIG_MINIX_FS is not set
1433# CONFIG_OMFS_FS is not set
1395# CONFIG_HPFS_FS is not set 1434# CONFIG_HPFS_FS is not set
1396# CONFIG_QNX4FS_FS is not set 1435# CONFIG_QNX4FS_FS is not set
1397# CONFIG_ROMFS_FS is not set 1436# CONFIG_ROMFS_FS is not set
@@ -1402,11 +1441,11 @@ CONFIG_NFS_FS=y
1402CONFIG_NFS_V3=y 1441CONFIG_NFS_V3=y
1403CONFIG_NFS_V3_ACL=y 1442CONFIG_NFS_V3_ACL=y
1404CONFIG_NFS_V4=y 1443CONFIG_NFS_V4=y
1444CONFIG_ROOT_NFS=y
1405CONFIG_NFSD=m 1445CONFIG_NFSD=m
1406CONFIG_NFSD_V3=y 1446CONFIG_NFSD_V3=y
1407# CONFIG_NFSD_V3_ACL is not set 1447# CONFIG_NFSD_V3_ACL is not set
1408# CONFIG_NFSD_V4 is not set 1448# CONFIG_NFSD_V4 is not set
1409CONFIG_ROOT_NFS=y
1410CONFIG_LOCKD=y 1449CONFIG_LOCKD=y
1411CONFIG_LOCKD_V4=y 1450CONFIG_LOCKD_V4=y
1412CONFIG_EXPORTFS=m 1451CONFIG_EXPORTFS=m
@@ -1414,7 +1453,6 @@ CONFIG_NFS_ACL_SUPPORT=y
1414CONFIG_NFS_COMMON=y 1453CONFIG_NFS_COMMON=y
1415CONFIG_SUNRPC=y 1454CONFIG_SUNRPC=y
1416CONFIG_SUNRPC_GSS=y 1455CONFIG_SUNRPC_GSS=y
1417# CONFIG_SUNRPC_BIND34 is not set
1418CONFIG_RPCSEC_GSS_KRB5=y 1456CONFIG_RPCSEC_GSS_KRB5=y
1419# CONFIG_RPCSEC_GSS_SPKM3 is not set 1457# CONFIG_RPCSEC_GSS_SPKM3 is not set
1420# CONFIG_SMB_FS is not set 1458# CONFIG_SMB_FS is not set
@@ -1482,6 +1520,7 @@ CONFIG_BITREVERSE=y
1482# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1520# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1483CONFIG_CRC_CCITT=m 1521CONFIG_CRC_CCITT=m
1484# CONFIG_CRC16 is not set 1522# CONFIG_CRC16 is not set
1523CONFIG_CRC_T10DIF=y
1485CONFIG_CRC_ITU_T=m 1524CONFIG_CRC_ITU_T=m
1486CONFIG_CRC32=y 1525CONFIG_CRC32=y
1487# CONFIG_CRC7 is not set 1526# CONFIG_CRC7 is not set
@@ -1510,6 +1549,8 @@ CONFIG_MAGIC_SYSRQ=y
1510CONFIG_DEBUG_KERNEL=y 1549CONFIG_DEBUG_KERNEL=y
1511# CONFIG_DEBUG_SHIRQ is not set 1550# CONFIG_DEBUG_SHIRQ is not set
1512CONFIG_DETECT_SOFTLOCKUP=y 1551CONFIG_DETECT_SOFTLOCKUP=y
1552# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1553CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1513CONFIG_SCHED_DEBUG=y 1554CONFIG_SCHED_DEBUG=y
1514# CONFIG_SCHEDSTATS is not set 1555# CONFIG_SCHEDSTATS is not set
1515# CONFIG_TIMER_STATS is not set 1556# CONFIG_TIMER_STATS is not set
@@ -1527,17 +1568,29 @@ CONFIG_DEBUG_BUGVERBOSE=y
1527# CONFIG_DEBUG_INFO is not set 1568# CONFIG_DEBUG_INFO is not set
1528# CONFIG_DEBUG_VM is not set 1569# CONFIG_DEBUG_VM is not set
1529# CONFIG_DEBUG_WRITECOUNT is not set 1570# CONFIG_DEBUG_WRITECOUNT is not set
1571CONFIG_DEBUG_MEMORY_INIT=y
1530# CONFIG_DEBUG_LIST is not set 1572# CONFIG_DEBUG_LIST is not set
1531# CONFIG_DEBUG_SG is not set 1573# CONFIG_DEBUG_SG is not set
1532# CONFIG_BOOT_PRINTK_DELAY is not set 1574# CONFIG_BOOT_PRINTK_DELAY is not set
1533# CONFIG_RCU_TORTURE_TEST is not set 1575# CONFIG_RCU_TORTURE_TEST is not set
1534# CONFIG_BACKTRACE_SELF_TEST is not set 1576# CONFIG_BACKTRACE_SELF_TEST is not set
1535# CONFIG_FAULT_INJECTION is not set 1577# CONFIG_FAULT_INJECTION is not set
1578# CONFIG_LATENCYTOP is not set
1579CONFIG_SYSCTL_SYSCALL_CHECK=y
1580CONFIG_HAVE_FTRACE=y
1581CONFIG_HAVE_DYNAMIC_FTRACE=y
1582# CONFIG_FTRACE is not set
1583# CONFIG_SCHED_TRACER is not set
1584# CONFIG_CONTEXT_SWITCH_TRACER is not set
1536# CONFIG_SAMPLES is not set 1585# CONFIG_SAMPLES is not set
1586CONFIG_HAVE_ARCH_KGDB=y
1587# CONFIG_KGDB is not set
1537# CONFIG_DEBUG_STACKOVERFLOW is not set 1588# CONFIG_DEBUG_STACKOVERFLOW is not set
1538# CONFIG_DEBUG_STACK_USAGE is not set 1589# CONFIG_DEBUG_STACK_USAGE is not set
1539# CONFIG_DEBUG_PAGEALLOC is not set 1590# CONFIG_DEBUG_PAGEALLOC is not set
1540# CONFIG_DEBUGGER is not set 1591# CONFIG_CODE_PATCHING_SELFTEST is not set
1592# CONFIG_FTR_FIXUP_SELFTEST is not set
1593# CONFIG_XMON is not set
1541# CONFIG_IRQSTACKS is not set 1594# CONFIG_IRQSTACKS is not set
1542# CONFIG_BDI_SWITCH is not set 1595# CONFIG_BDI_SWITCH is not set
1543# CONFIG_BOOTX_TEXT is not set 1596# CONFIG_BOOTX_TEXT is not set
@@ -1556,6 +1609,7 @@ CONFIG_CRYPTO=y
1556# 1609#
1557CONFIG_CRYPTO_ALGAPI=y 1610CONFIG_CRYPTO_ALGAPI=y
1558CONFIG_CRYPTO_BLKCIPHER=y 1611CONFIG_CRYPTO_BLKCIPHER=y
1612CONFIG_CRYPTO_HASH=m
1559CONFIG_CRYPTO_MANAGER=y 1613CONFIG_CRYPTO_MANAGER=y
1560# CONFIG_CRYPTO_GF128MUL is not set 1614# CONFIG_CRYPTO_GF128MUL is not set
1561# CONFIG_CRYPTO_NULL is not set 1615# CONFIG_CRYPTO_NULL is not set
@@ -1594,6 +1648,10 @@ CONFIG_CRYPTO_CRC32C=m
1594CONFIG_CRYPTO_MD4=m 1648CONFIG_CRYPTO_MD4=m
1595CONFIG_CRYPTO_MD5=y 1649CONFIG_CRYPTO_MD5=y
1596CONFIG_CRYPTO_MICHAEL_MIC=m 1650CONFIG_CRYPTO_MICHAEL_MIC=m
1651# CONFIG_CRYPTO_RMD128 is not set
1652# CONFIG_CRYPTO_RMD160 is not set
1653# CONFIG_CRYPTO_RMD256 is not set
1654# CONFIG_CRYPTO_RMD320 is not set
1597CONFIG_CRYPTO_SHA1=m 1655CONFIG_CRYPTO_SHA1=m
1598# CONFIG_CRYPTO_SHA256 is not set 1656# CONFIG_CRYPTO_SHA256 is not set
1599# CONFIG_CRYPTO_SHA512 is not set 1657# CONFIG_CRYPTO_SHA512 is not set
@@ -1627,5 +1685,6 @@ CONFIG_CRYPTO_DEFLATE=m
1627# CONFIG_CRYPTO_LZO is not set 1685# CONFIG_CRYPTO_LZO is not set
1628CONFIG_CRYPTO_HW=y 1686CONFIG_CRYPTO_HW=y
1629# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1687# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1688# CONFIG_CRYPTO_DEV_TALITOS is not set
1630# CONFIG_PPC_CLOCK is not set 1689# CONFIG_PPC_CLOCK is not set
1631# CONFIG_VIRTUALIZATION is not set 1690# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 7a166a39d92d..1a3b6423222b 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc4 3# Linux kernel version: 2.6.27-rc4
4# Thu Dec 6 16:48:26 2007 4# Tue Aug 26 13:18:58 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -27,7 +27,12 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 28CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
30CONFIG_HAVE_SETUP_PER_CPU_AREA=y
30CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_TRACE_IRQFLAGS_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y
31CONFIG_RWSEM_XCHGADD_ALGORITHM=y 36CONFIG_RWSEM_XCHGADD_ALGORITHM=y
32CONFIG_ARCH_HAS_ILOG2_U32=y 37CONFIG_ARCH_HAS_ILOG2_U32=y
33CONFIG_ARCH_HAS_ILOG2_U64=y 38CONFIG_ARCH_HAS_ILOG2_U64=y
@@ -67,16 +72,20 @@ CONFIG_SYSVIPC_SYSCTL=y
67CONFIG_POSIX_MQUEUE=y 72CONFIG_POSIX_MQUEUE=y
68# CONFIG_BSD_PROCESS_ACCT is not set 73# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 74# CONFIG_TASKSTATS is not set
70# CONFIG_USER_NS is not set
71# CONFIG_PID_NS is not set
72# CONFIG_AUDIT is not set 75# CONFIG_AUDIT is not set
73CONFIG_IKCONFIG=y 76CONFIG_IKCONFIG=y
74CONFIG_IKCONFIG_PROC=y 77CONFIG_IKCONFIG_PROC=y
75CONFIG_LOG_BUF_SHIFT=17 78CONFIG_LOG_BUF_SHIFT=17
76# CONFIG_CGROUPS is not set 79# CONFIG_CGROUPS is not set
77# CONFIG_FAIR_GROUP_SCHED is not set 80# CONFIG_GROUP_SCHED is not set
78CONFIG_SYSFS_DEPRECATED=y 81CONFIG_SYSFS_DEPRECATED=y
82CONFIG_SYSFS_DEPRECATED_V2=y
79# CONFIG_RELAY is not set 83# CONFIG_RELAY is not set
84CONFIG_NAMESPACES=y
85# CONFIG_UTS_NS is not set
86# CONFIG_IPC_NS is not set
87# CONFIG_USER_NS is not set
88# CONFIG_PID_NS is not set
80# CONFIG_BLK_DEV_INITRD is not set 89# CONFIG_BLK_DEV_INITRD is not set
81CONFIG_CC_OPTIMIZE_FOR_SIZE=y 90CONFIG_CC_OPTIMIZE_FOR_SIZE=y
82CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
@@ -89,11 +98,13 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 98CONFIG_PRINTK=y
90CONFIG_BUG=y 99CONFIG_BUG=y
91CONFIG_ELF_CORE=y 100CONFIG_ELF_CORE=y
101# CONFIG_COMPAT_BRK is not set
92CONFIG_BASE_FULL=y 102CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y 103CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y 104CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y 105CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y 106CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 109CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
@@ -101,10 +112,28 @@ CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
102CONFIG_SLUB=y 113CONFIG_SLUB=y
103# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
115CONFIG_PROFILING=y
116# CONFIG_MARKERS is not set
117CONFIG_OPROFILE=m
118CONFIG_HAVE_OPROFILE=y
119CONFIG_KPROBES=y
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_KRETPROBES=y
122CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y
126CONFIG_HAVE_DMA_ATTRS=y
127CONFIG_USE_GENERIC_SMP_HELPERS=y
128# CONFIG_HAVE_CLK is not set
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y
104CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set 133# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0 134CONFIG_BASE_SMALL=0
107CONFIG_MODULES=y 135CONFIG_MODULES=y
136# CONFIG_MODULE_FORCE_LOAD is not set
108CONFIG_MODULE_UNLOAD=y 137CONFIG_MODULE_UNLOAD=y
109# CONFIG_MODULE_FORCE_UNLOAD is not set 138# CONFIG_MODULE_FORCE_UNLOAD is not set
110CONFIG_MODVERSIONS=y 139CONFIG_MODVERSIONS=y
@@ -114,6 +143,7 @@ CONFIG_STOP_MACHINE=y
114CONFIG_BLOCK=y 143CONFIG_BLOCK=y
115# CONFIG_BLK_DEV_IO_TRACE is not set 144# CONFIG_BLK_DEV_IO_TRACE is not set
116# CONFIG_BLK_DEV_BSG is not set 145# CONFIG_BLK_DEV_BSG is not set
146# CONFIG_BLK_DEV_INTEGRITY is not set
117CONFIG_BLOCK_COMPAT=y 147CONFIG_BLOCK_COMPAT=y
118 148
119# 149#
@@ -128,29 +158,26 @@ CONFIG_DEFAULT_AS=y
128# CONFIG_DEFAULT_CFQ is not set 158# CONFIG_DEFAULT_CFQ is not set
129# CONFIG_DEFAULT_NOOP is not set 159# CONFIG_DEFAULT_NOOP is not set
130CONFIG_DEFAULT_IOSCHED="anticipatory" 160CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y
131 162
132# 163#
133# Platform support 164# Platform support
134# 165#
135CONFIG_PPC_MULTIPLATFORM=y 166CONFIG_PPC_MULTIPLATFORM=y
136# CONFIG_PPC_82xx is not set
137# CONFIG_PPC_83xx is not set
138# CONFIG_PPC_86xx is not set
139# CONFIG_PPC_PSERIES is not set 167# CONFIG_PPC_PSERIES is not set
140# CONFIG_PPC_ISERIES is not set 168# CONFIG_PPC_ISERIES is not set
141# CONFIG_PPC_MPC52xx is not set
142# CONFIG_PPC_MPC5200 is not set
143# CONFIG_PPC_PMAC is not set 169# CONFIG_PPC_PMAC is not set
144CONFIG_PPC_MAPLE=y 170CONFIG_PPC_MAPLE=y
145# CONFIG_PPC_PASEMI is not set 171# CONFIG_PPC_PASEMI is not set
146# CONFIG_PPC_CELLEB is not set
147# CONFIG_PPC_PS3 is not set 172# CONFIG_PPC_PS3 is not set
148# CONFIG_PPC_CELL is not set 173# CONFIG_PPC_CELL is not set
149# CONFIG_PPC_CELL_NATIVE is not set 174# CONFIG_PPC_CELL_NATIVE is not set
150# CONFIG_PPC_IBM_CELL_BLADE is not set 175# CONFIG_PPC_IBM_CELL_BLADE is not set
176# CONFIG_PPC_CELLEB is not set
151# CONFIG_PQ2ADS is not set 177# CONFIG_PQ2ADS is not set
152CONFIG_PPC_NATIVE=y 178CONFIG_PPC_NATIVE=y
153CONFIG_UDBG_RTAS_CONSOLE=y 179CONFIG_UDBG_RTAS_CONSOLE=y
180# CONFIG_IPIC is not set
154CONFIG_MPIC=y 181CONFIG_MPIC=y
155# CONFIG_MPIC_WEIRD is not set 182# CONFIG_MPIC_WEIRD is not set
156# CONFIG_PPC_I8259 is not set 183# CONFIG_PPC_I8259 is not set
@@ -166,7 +193,6 @@ CONFIG_PPC_970_NAP=y
166# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
167# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
168# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
169# CONFIG_CPM2 is not set
170# CONFIG_FSL_ULI1575 is not set 196# CONFIG_FSL_ULI1575 is not set
171 197
172# 198#
@@ -181,16 +207,19 @@ CONFIG_HZ_250=y
181# CONFIG_HZ_300 is not set 207# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 208# CONFIG_HZ_1000 is not set
183CONFIG_HZ=250 209CONFIG_HZ=250
210CONFIG_SCHED_HRTICK=y
184CONFIG_PREEMPT_NONE=y 211CONFIG_PREEMPT_NONE=y
185# CONFIG_PREEMPT_VOLUNTARY is not set 212# CONFIG_PREEMPT_VOLUNTARY is not set
186# CONFIG_PREEMPT is not set 213# CONFIG_PREEMPT is not set
187# CONFIG_PREEMPT_BKL is not set
188CONFIG_BINFMT_ELF=y 214CONFIG_BINFMT_ELF=y
215CONFIG_COMPAT_BINFMT_ELF=y
189# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
190CONFIG_FORCE_MAX_ZONEORDER=13
191CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 217CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
192CONFIG_IOMMU_VMERGE=y 218CONFIG_IOMMU_VMERGE=y
219CONFIG_IOMMU_HELPER=y
193CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 220CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
221CONFIG_ARCH_HAS_WALK_MEMORY=y
222CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
194CONFIG_KEXEC=y 223CONFIG_KEXEC=y
195# CONFIG_CRASH_DUMP is not set 224# CONFIG_CRASH_DUMP is not set
196CONFIG_IRQ_ALL_CPUS=y 225CONFIG_IRQ_ALL_CPUS=y
@@ -207,18 +236,21 @@ CONFIG_FLATMEM=y
207CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
208# CONFIG_SPARSEMEM_STATIC is not set 237# CONFIG_SPARSEMEM_STATIC is not set
209CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 238CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
239CONFIG_PAGEFLAGS_EXTENDED=y
210CONFIG_SPLIT_PTLOCK_CPUS=4 240CONFIG_SPLIT_PTLOCK_CPUS=4
241# CONFIG_MIGRATION is not set
211CONFIG_RESOURCES_64BIT=y 242CONFIG_RESOURCES_64BIT=y
212CONFIG_ZONE_DMA_FLAG=1 243CONFIG_ZONE_DMA_FLAG=1
213CONFIG_BOUNCE=y 244CONFIG_BOUNCE=y
214# CONFIG_PPC_HAS_HASH_64K is not set 245# CONFIG_PPC_HAS_HASH_64K is not set
215# CONFIG_PPC_64K_PAGES is not set 246# CONFIG_PPC_64K_PAGES is not set
247CONFIG_FORCE_MAX_ZONEORDER=13
216# CONFIG_SCHED_SMT is not set 248# CONFIG_SCHED_SMT is not set
217CONFIG_PROC_DEVICETREE=y 249CONFIG_PROC_DEVICETREE=y
218# CONFIG_CMDLINE_BOOL is not set 250# CONFIG_CMDLINE_BOOL is not set
251CONFIG_EXTRA_TARGETS=""
219# CONFIG_PM is not set 252# CONFIG_PM is not set
220CONFIG_SECCOMP=y 253CONFIG_SECCOMP=y
221# CONFIG_WANT_DEVICE_TREE is not set
222CONFIG_ISA_DMA_API=y 254CONFIG_ISA_DMA_API=y
223 255
224# 256#
@@ -237,11 +269,10 @@ CONFIG_PCI_LEGACY=y
237# CONFIG_PCI_DEBUG is not set 269# CONFIG_PCI_DEBUG is not set
238# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
239# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
272# CONFIG_HAS_RAPIDIO is not set
273CONFIG_PAGE_OFFSET=0xc000000000000000
240CONFIG_KERNEL_START=0xc000000000000000 274CONFIG_KERNEL_START=0xc000000000000000
241 275CONFIG_PHYSICAL_START=0x00000000
242#
243# Networking
244#
245CONFIG_NET=y 276CONFIG_NET=y
246 277
247# 278#
@@ -254,6 +285,7 @@ CONFIG_XFRM=y
254CONFIG_XFRM_USER=m 285CONFIG_XFRM_USER=m
255# CONFIG_XFRM_SUB_POLICY is not set 286# CONFIG_XFRM_SUB_POLICY is not set
256# CONFIG_XFRM_MIGRATE is not set 287# CONFIG_XFRM_MIGRATE is not set
288# CONFIG_XFRM_STATISTICS is not set
257# CONFIG_NET_KEY is not set 289# CONFIG_NET_KEY is not set
258CONFIG_INET=y 290CONFIG_INET=y
259CONFIG_IP_MULTICAST=y 291CONFIG_IP_MULTICAST=y
@@ -284,8 +316,6 @@ CONFIG_TCP_CONG_CUBIC=y
284CONFIG_DEFAULT_TCP_CONG="cubic" 316CONFIG_DEFAULT_TCP_CONG="cubic"
285# CONFIG_TCP_MD5SIG is not set 317# CONFIG_TCP_MD5SIG is not set
286# CONFIG_IPV6 is not set 318# CONFIG_IPV6 is not set
287# CONFIG_INET6_XFRM_TUNNEL is not set
288# CONFIG_INET6_TUNNEL is not set
289# CONFIG_NETWORK_SECMARK is not set 319# CONFIG_NETWORK_SECMARK is not set
290# CONFIG_NETFILTER is not set 320# CONFIG_NETFILTER is not set
291# CONFIG_IP_DCCP is not set 321# CONFIG_IP_DCCP is not set
@@ -308,7 +338,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
308# Network testing 338# Network testing
309# 339#
310# CONFIG_NET_PKTGEN is not set 340# CONFIG_NET_PKTGEN is not set
341# CONFIG_NET_TCPPROBE is not set
311# CONFIG_HAMRADIO is not set 342# CONFIG_HAMRADIO is not set
343# CONFIG_CAN is not set
312# CONFIG_IRDA is not set 344# CONFIG_IRDA is not set
313# CONFIG_BT is not set 345# CONFIG_BT is not set
314# CONFIG_AF_RXRPC is not set 346# CONFIG_AF_RXRPC is not set
@@ -334,12 +366,15 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
334CONFIG_STANDALONE=y 366CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 367CONFIG_PREVENT_FIRMWARE_BUILD=y
336CONFIG_FW_LOADER=y 368CONFIG_FW_LOADER=y
369CONFIG_FIRMWARE_IN_KERNEL=y
370CONFIG_EXTRA_FIRMWARE=""
337# CONFIG_DEBUG_DRIVER is not set 371# CONFIG_DEBUG_DRIVER is not set
338# CONFIG_DEBUG_DEVRES is not set 372# CONFIG_DEBUG_DEVRES is not set
339# CONFIG_SYS_HYPERVISOR is not set 373# CONFIG_SYS_HYPERVISOR is not set
340# CONFIG_CONNECTOR is not set 374# CONFIG_CONNECTOR is not set
341# CONFIG_MTD is not set 375# CONFIG_MTD is not set
342CONFIG_OF_DEVICE=y 376CONFIG_OF_DEVICE=y
377CONFIG_OF_I2C=y
343# CONFIG_PARPORT is not set 378# CONFIG_PARPORT is not set
344CONFIG_BLK_DEV=y 379CONFIG_BLK_DEV=y
345# CONFIG_BLK_DEV_FD is not set 380# CONFIG_BLK_DEV_FD is not set
@@ -354,24 +389,30 @@ CONFIG_BLK_DEV=y
354CONFIG_BLK_DEV_RAM=y 389CONFIG_BLK_DEV_RAM=y
355CONFIG_BLK_DEV_RAM_COUNT=16 390CONFIG_BLK_DEV_RAM_COUNT=16
356CONFIG_BLK_DEV_RAM_SIZE=8192 391CONFIG_BLK_DEV_RAM_SIZE=8192
357CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 392# CONFIG_BLK_DEV_XIP is not set
358# CONFIG_CDROM_PKTCDVD is not set 393# CONFIG_CDROM_PKTCDVD is not set
359# CONFIG_ATA_OVER_ETH is not set 394# CONFIG_ATA_OVER_ETH is not set
395# CONFIG_BLK_DEV_HD is not set
360CONFIG_MISC_DEVICES=y 396CONFIG_MISC_DEVICES=y
361# CONFIG_PHANTOM is not set 397# CONFIG_PHANTOM is not set
362# CONFIG_EEPROM_93CX6 is not set 398# CONFIG_EEPROM_93CX6 is not set
363# CONFIG_SGI_IOC4 is not set 399# CONFIG_SGI_IOC4 is not set
364# CONFIG_TIFM_CORE is not set 400# CONFIG_TIFM_CORE is not set
401# CONFIG_ENCLOSURE_SERVICES is not set
402# CONFIG_HP_ILO is not set
403CONFIG_HAVE_IDE=y
365CONFIG_IDE=y 404CONFIG_IDE=y
366CONFIG_BLK_DEV_IDE=y 405CONFIG_BLK_DEV_IDE=y
367 406
368# 407#
369# Please see Documentation/ide.txt for help/info on IDE drives 408# Please see Documentation/ide/ide.txt for help/info on IDE drives
370# 409#
410CONFIG_IDE_TIMINGS=y
371# CONFIG_BLK_DEV_IDE_SATA is not set 411# CONFIG_BLK_DEV_IDE_SATA is not set
372CONFIG_BLK_DEV_IDEDISK=y 412CONFIG_BLK_DEV_IDEDISK=y
373# CONFIG_IDEDISK_MULTI_MODE is not set 413# CONFIG_IDEDISK_MULTI_MODE is not set
374CONFIG_BLK_DEV_IDECD=y 414CONFIG_BLK_DEV_IDECD=y
415CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
375# CONFIG_BLK_DEV_IDETAPE is not set 416# CONFIG_BLK_DEV_IDETAPE is not set
376# CONFIG_BLK_DEV_IDEFLOPPY is not set 417# CONFIG_BLK_DEV_IDEFLOPPY is not set
377# CONFIG_BLK_DEV_IDESCSI is not set 418# CONFIG_BLK_DEV_IDESCSI is not set
@@ -381,14 +422,13 @@ CONFIG_IDE_PROC_FS=y
381# 422#
382# IDE chipset support/bugfixes 423# IDE chipset support/bugfixes
383# 424#
384CONFIG_IDE_GENERIC=y
385# CONFIG_BLK_DEV_PLATFORM is not set 425# CONFIG_BLK_DEV_PLATFORM is not set
426CONFIG_BLK_DEV_IDEDMA_SFF=y
386 427
387# 428#
388# PCI IDE chipsets support 429# PCI IDE chipsets support
389# 430#
390CONFIG_BLK_DEV_IDEPCI=y 431CONFIG_BLK_DEV_IDEPCI=y
391CONFIG_IDEPCI_SHARE_IRQ=y
392CONFIG_IDEPCI_PCIBUS_ORDER=y 432CONFIG_IDEPCI_PCIBUS_ORDER=y
393# CONFIG_BLK_DEV_OFFBOARD is not set 433# CONFIG_BLK_DEV_OFFBOARD is not set
394CONFIG_BLK_DEV_GENERIC=y 434CONFIG_BLK_DEV_GENERIC=y
@@ -399,10 +439,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
399CONFIG_BLK_DEV_AMD74XX=y 439CONFIG_BLK_DEV_AMD74XX=y
400# CONFIG_BLK_DEV_CMD64X is not set 440# CONFIG_BLK_DEV_CMD64X is not set
401# CONFIG_BLK_DEV_TRIFLEX is not set 441# CONFIG_BLK_DEV_TRIFLEX is not set
402# CONFIG_BLK_DEV_CY82C693 is not set
403# CONFIG_BLK_DEV_CS5520 is not set 442# CONFIG_BLK_DEV_CS5520 is not set
404# CONFIG_BLK_DEV_CS5530 is not set 443# CONFIG_BLK_DEV_CS5530 is not set
405# CONFIG_BLK_DEV_HPT34X is not set
406# CONFIG_BLK_DEV_HPT366 is not set 444# CONFIG_BLK_DEV_HPT366 is not set
407# CONFIG_BLK_DEV_JMICRON is not set 445# CONFIG_BLK_DEV_JMICRON is not set
408# CONFIG_BLK_DEV_SC1200 is not set 446# CONFIG_BLK_DEV_SC1200 is not set
@@ -419,10 +457,7 @@ CONFIG_BLK_DEV_AMD74XX=y
419# CONFIG_BLK_DEV_TRM290 is not set 457# CONFIG_BLK_DEV_TRM290 is not set
420# CONFIG_BLK_DEV_VIA82CXXX is not set 458# CONFIG_BLK_DEV_VIA82CXXX is not set
421# CONFIG_BLK_DEV_TC86C001 is not set 459# CONFIG_BLK_DEV_TC86C001 is not set
422# CONFIG_IDE_ARM is not set
423CONFIG_BLK_DEV_IDEDMA=y 460CONFIG_BLK_DEV_IDEDMA=y
424CONFIG_IDE_ARCH_OBSOLETE_INIT=y
425# CONFIG_BLK_DEV_HD is not set
426 461
427# 462#
428# SCSI device support 463# SCSI device support
@@ -483,6 +518,7 @@ CONFIG_SCSI_LOWLEVEL=y
483# CONFIG_SCSI_IPS is not set 518# CONFIG_SCSI_IPS is not set
484# CONFIG_SCSI_INITIO is not set 519# CONFIG_SCSI_INITIO is not set
485# CONFIG_SCSI_INIA100 is not set 520# CONFIG_SCSI_INIA100 is not set
521# CONFIG_SCSI_MVSAS is not set
486# CONFIG_SCSI_STEX is not set 522# CONFIG_SCSI_STEX is not set
487# CONFIG_SCSI_SYM53C8XX_2 is not set 523# CONFIG_SCSI_SYM53C8XX_2 is not set
488CONFIG_SCSI_IPR=y 524CONFIG_SCSI_IPR=y
@@ -496,9 +532,13 @@ CONFIG_SCSI_IPR_DUMP=y
496# CONFIG_SCSI_DC390T is not set 532# CONFIG_SCSI_DC390T is not set
497# CONFIG_SCSI_DEBUG is not set 533# CONFIG_SCSI_DEBUG is not set
498# CONFIG_SCSI_SRP is not set 534# CONFIG_SCSI_SRP is not set
535# CONFIG_SCSI_DH is not set
499CONFIG_ATA=y 536CONFIG_ATA=y
500CONFIG_ATA_NONSTANDARD=y 537CONFIG_ATA_NONSTANDARD=y
538CONFIG_SATA_PMP=y
501# CONFIG_SATA_AHCI is not set 539# CONFIG_SATA_AHCI is not set
540# CONFIG_SATA_SIL24 is not set
541CONFIG_ATA_SFF=y
502# CONFIG_SATA_SVW is not set 542# CONFIG_SATA_SVW is not set
503# CONFIG_ATA_PIIX is not set 543# CONFIG_ATA_PIIX is not set
504# CONFIG_SATA_MV is not set 544# CONFIG_SATA_MV is not set
@@ -508,7 +548,6 @@ CONFIG_ATA_NONSTANDARD=y
508# CONFIG_SATA_PROMISE is not set 548# CONFIG_SATA_PROMISE is not set
509# CONFIG_SATA_SX4 is not set 549# CONFIG_SATA_SX4 is not set
510# CONFIG_SATA_SIL is not set 550# CONFIG_SATA_SIL is not set
511# CONFIG_SATA_SIL24 is not set
512# CONFIG_SATA_SIS is not set 551# CONFIG_SATA_SIS is not set
513# CONFIG_SATA_ULI is not set 552# CONFIG_SATA_ULI is not set
514# CONFIG_SATA_VIA is not set 553# CONFIG_SATA_VIA is not set
@@ -537,6 +576,7 @@ CONFIG_ATA_NONSTANDARD=y
537# CONFIG_PATA_MPIIX is not set 576# CONFIG_PATA_MPIIX is not set
538# CONFIG_PATA_OLDPIIX is not set 577# CONFIG_PATA_OLDPIIX is not set
539# CONFIG_PATA_NETCELL is not set 578# CONFIG_PATA_NETCELL is not set
579# CONFIG_PATA_NINJA32 is not set
540# CONFIG_PATA_NS87410 is not set 580# CONFIG_PATA_NS87410 is not set
541# CONFIG_PATA_NS87415 is not set 581# CONFIG_PATA_NS87415 is not set
542# CONFIG_PATA_OPTI is not set 582# CONFIG_PATA_OPTI is not set
@@ -551,27 +591,47 @@ CONFIG_ATA_NONSTANDARD=y
551# CONFIG_PATA_SIS is not set 591# CONFIG_PATA_SIS is not set
552# CONFIG_PATA_VIA is not set 592# CONFIG_PATA_VIA is not set
553# CONFIG_PATA_WINBOND is not set 593# CONFIG_PATA_WINBOND is not set
594# CONFIG_PATA_PLATFORM is not set
595# CONFIG_PATA_SCH is not set
554# CONFIG_MD is not set 596# CONFIG_MD is not set
555# CONFIG_FUSION is not set 597# CONFIG_FUSION is not set
556 598
557# 599#
558# IEEE 1394 (FireWire) support 600# IEEE 1394 (FireWire) support
559# 601#
602
603#
604# Enable only one of the two stacks, unless you know what you are doing
605#
560# CONFIG_FIREWIRE is not set 606# CONFIG_FIREWIRE is not set
561# CONFIG_IEEE1394 is not set 607# CONFIG_IEEE1394 is not set
562# CONFIG_I2O is not set 608# CONFIG_I2O is not set
563# CONFIG_MACINTOSH_DRIVERS is not set 609# CONFIG_MACINTOSH_DRIVERS is not set
564CONFIG_NETDEVICES=y 610CONFIG_NETDEVICES=y
565# CONFIG_NETDEVICES_MULTIQUEUE is not set
566# CONFIG_DUMMY is not set 611# CONFIG_DUMMY is not set
567# CONFIG_BONDING is not set 612# CONFIG_BONDING is not set
568# CONFIG_MACVLAN is not set 613# CONFIG_MACVLAN is not set
569# CONFIG_EQUALIZER is not set 614# CONFIG_EQUALIZER is not set
570# CONFIG_TUN is not set 615# CONFIG_TUN is not set
571# CONFIG_VETH is not set 616# CONFIG_VETH is not set
572# CONFIG_IP1000 is not set
573# CONFIG_ARCNET is not set 617# CONFIG_ARCNET is not set
574# CONFIG_PHYLIB is not set 618CONFIG_PHYLIB=y
619
620#
621# MII PHY device drivers
622#
623# CONFIG_MARVELL_PHY is not set
624# CONFIG_DAVICOM_PHY is not set
625# CONFIG_QSEMI_PHY is not set
626# CONFIG_LXT_PHY is not set
627# CONFIG_CICADA_PHY is not set
628# CONFIG_VITESSE_PHY is not set
629# CONFIG_SMSC_PHY is not set
630# CONFIG_BROADCOM_PHY is not set
631# CONFIG_ICPLUS_PHY is not set
632# CONFIG_REALTEK_PHY is not set
633# CONFIG_FIXED_PHY is not set
634# CONFIG_MDIO_BITBANG is not set
575CONFIG_NET_ETHERNET=y 635CONFIG_NET_ETHERNET=y
576CONFIG_MII=y 636CONFIG_MII=y
577# CONFIG_HAPPYMEAL is not set 637# CONFIG_HAPPYMEAL is not set
@@ -587,7 +647,6 @@ CONFIG_MII=y
587CONFIG_NET_PCI=y 647CONFIG_NET_PCI=y
588# CONFIG_PCNET32 is not set 648# CONFIG_PCNET32 is not set
589CONFIG_AMD8111_ETH=y 649CONFIG_AMD8111_ETH=y
590# CONFIG_AMD8111E_NAPI is not set
591# CONFIG_ADAPTEC_STARFIRE is not set 650# CONFIG_ADAPTEC_STARFIRE is not set
592# CONFIG_B44 is not set 651# CONFIG_B44 is not set
593# CONFIG_FORCEDETH is not set 652# CONFIG_FORCEDETH is not set
@@ -598,18 +657,21 @@ CONFIG_AMD8111_ETH=y
598# CONFIG_NE2K_PCI is not set 657# CONFIG_NE2K_PCI is not set
599# CONFIG_8139CP is not set 658# CONFIG_8139CP is not set
600# CONFIG_8139TOO is not set 659# CONFIG_8139TOO is not set
660# CONFIG_R6040 is not set
601# CONFIG_SIS900 is not set 661# CONFIG_SIS900 is not set
602# CONFIG_EPIC100 is not set 662# CONFIG_EPIC100 is not set
603# CONFIG_SUNDANCE is not set 663# CONFIG_SUNDANCE is not set
664# CONFIG_TLAN is not set
604# CONFIG_VIA_RHINE is not set 665# CONFIG_VIA_RHINE is not set
605# CONFIG_SC92031 is not set 666# CONFIG_SC92031 is not set
606CONFIG_NETDEV_1000=y 667CONFIG_NETDEV_1000=y
607# CONFIG_ACENIC is not set 668# CONFIG_ACENIC is not set
608# CONFIG_DL2K is not set 669# CONFIG_DL2K is not set
609CONFIG_E1000=y 670CONFIG_E1000=y
610# CONFIG_E1000_NAPI is not set
611# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 671# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
612# CONFIG_E1000E is not set 672# CONFIG_E1000E is not set
673# CONFIG_IP1000 is not set
674# CONFIG_IGB is not set
613# CONFIG_NS83820 is not set 675# CONFIG_NS83820 is not set
614# CONFIG_HAMACHI is not set 676# CONFIG_HAMACHI is not set
615# CONFIG_YELLOWFIN is not set 677# CONFIG_YELLOWFIN is not set
@@ -617,12 +679,12 @@ CONFIG_E1000=y
617# CONFIG_SIS190 is not set 679# CONFIG_SIS190 is not set
618# CONFIG_SKGE is not set 680# CONFIG_SKGE is not set
619# CONFIG_SKY2 is not set 681# CONFIG_SKY2 is not set
620# CONFIG_SK98LIN is not set
621# CONFIG_VIA_VELOCITY is not set 682# CONFIG_VIA_VELOCITY is not set
622CONFIG_TIGON3=y 683CONFIG_TIGON3=y
623# CONFIG_BNX2 is not set 684# CONFIG_BNX2 is not set
624# CONFIG_QLA3XXX is not set 685# CONFIG_QLA3XXX is not set
625# CONFIG_ATL1 is not set 686# CONFIG_ATL1 is not set
687# CONFIG_ATL1E is not set
626CONFIG_NETDEV_10000=y 688CONFIG_NETDEV_10000=y
627# CONFIG_CHELSIO_T1 is not set 689# CONFIG_CHELSIO_T1 is not set
628# CONFIG_CHELSIO_T3 is not set 690# CONFIG_CHELSIO_T3 is not set
@@ -632,9 +694,10 @@ CONFIG_NETDEV_10000=y
632# CONFIG_MYRI10GE is not set 694# CONFIG_MYRI10GE is not set
633# CONFIG_NETXEN_NIC is not set 695# CONFIG_NETXEN_NIC is not set
634# CONFIG_NIU is not set 696# CONFIG_NIU is not set
635# CONFIG_PASEMI_MAC is not set
636# CONFIG_MLX4_CORE is not set 697# CONFIG_MLX4_CORE is not set
637# CONFIG_TEHUTI is not set 698# CONFIG_TEHUTI is not set
699# CONFIG_BNX2X is not set
700# CONFIG_SFC is not set
638# CONFIG_TR is not set 701# CONFIG_TR is not set
639 702
640# 703#
@@ -642,6 +705,7 @@ CONFIG_NETDEV_10000=y
642# 705#
643# CONFIG_WLAN_PRE80211 is not set 706# CONFIG_WLAN_PRE80211 is not set
644# CONFIG_WLAN_80211 is not set 707# CONFIG_WLAN_80211 is not set
708# CONFIG_IWLWIFI_LEDS is not set
645 709
646# 710#
647# USB Network Adapters 711# USB Network Adapters
@@ -657,7 +721,6 @@ CONFIG_USB_PEGASUS=y
657# CONFIG_PPP is not set 721# CONFIG_PPP is not set
658# CONFIG_SLIP is not set 722# CONFIG_SLIP is not set
659# CONFIG_NET_FC is not set 723# CONFIG_NET_FC is not set
660# CONFIG_SHAPER is not set
661# CONFIG_NETCONSOLE is not set 724# CONFIG_NETCONSOLE is not set
662# CONFIG_NETPOLL is not set 725# CONFIG_NETPOLL is not set
663# CONFIG_NET_POLL_CONTROLLER is not set 726# CONFIG_NET_POLL_CONTROLLER is not set
@@ -702,10 +765,13 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
702# Character devices 765# Character devices
703# 766#
704CONFIG_VT=y 767CONFIG_VT=y
768CONFIG_CONSOLE_TRANSLATIONS=y
705CONFIG_VT_CONSOLE=y 769CONFIG_VT_CONSOLE=y
706CONFIG_HW_CONSOLE=y 770CONFIG_HW_CONSOLE=y
707# CONFIG_VT_HW_CONSOLE_BINDING is not set 771# CONFIG_VT_HW_CONSOLE_BINDING is not set
772CONFIG_DEVKMEM=y
708# CONFIG_SERIAL_NONSTANDARD is not set 773# CONFIG_SERIAL_NONSTANDARD is not set
774# CONFIG_NOZOMI is not set
709 775
710# 776#
711# Serial drivers 777# Serial drivers
@@ -742,16 +808,14 @@ CONFIG_DEVPORT=y
742CONFIG_I2C=y 808CONFIG_I2C=y
743CONFIG_I2C_BOARDINFO=y 809CONFIG_I2C_BOARDINFO=y
744CONFIG_I2C_CHARDEV=y 810CONFIG_I2C_CHARDEV=y
811CONFIG_I2C_HELPER_AUTO=y
745 812
746# 813#
747# I2C Algorithms 814# I2C Hardware Bus support
748# 815#
749CONFIG_I2C_ALGOBIT=y
750# CONFIG_I2C_ALGOPCF is not set
751# CONFIG_I2C_ALGOPCA is not set
752 816
753# 817#
754# I2C Hardware Bus support 818# PC SMBus host controller drivers
755# 819#
756# CONFIG_I2C_ALI1535 is not set 820# CONFIG_I2C_ALI1535 is not set
757# CONFIG_I2C_ALI1563 is not set 821# CONFIG_I2C_ALI1563 is not set
@@ -759,32 +823,47 @@ CONFIG_I2C_ALGOBIT=y
759# CONFIG_I2C_AMD756 is not set 823# CONFIG_I2C_AMD756 is not set
760CONFIG_I2C_AMD8111=y 824CONFIG_I2C_AMD8111=y
761# CONFIG_I2C_I801 is not set 825# CONFIG_I2C_I801 is not set
762# CONFIG_I2C_I810 is not set 826# CONFIG_I2C_ISCH is not set
763# CONFIG_I2C_PIIX4 is not set 827# CONFIG_I2C_PIIX4 is not set
764# CONFIG_I2C_NFORCE2 is not set 828# CONFIG_I2C_NFORCE2 is not set
765# CONFIG_I2C_OCORES is not set
766# CONFIG_I2C_PARPORT_LIGHT is not set
767# CONFIG_I2C_PROSAVAGE is not set
768# CONFIG_I2C_SAVAGE4 is not set
769# CONFIG_I2C_SIMTEC is not set
770# CONFIG_I2C_SIS5595 is not set 829# CONFIG_I2C_SIS5595 is not set
771# CONFIG_I2C_SIS630 is not set 830# CONFIG_I2C_SIS630 is not set
772# CONFIG_I2C_SIS96X is not set 831# CONFIG_I2C_SIS96X is not set
773# CONFIG_I2C_TAOS_EVM is not set
774# CONFIG_I2C_STUB is not set
775# CONFIG_I2C_TINY_USB is not set
776# CONFIG_I2C_VIA is not set 832# CONFIG_I2C_VIA is not set
777# CONFIG_I2C_VIAPRO is not set 833# CONFIG_I2C_VIAPRO is not set
834
835#
836# I2C system bus drivers (mostly embedded / system-on-chip)
837#
838# CONFIG_I2C_OCORES is not set
839# CONFIG_I2C_SIMTEC is not set
840
841#
842# External I2C/SMBus adapter drivers
843#
844# CONFIG_I2C_PARPORT_LIGHT is not set
845# CONFIG_I2C_TAOS_EVM is not set
846# CONFIG_I2C_TINY_USB is not set
847
848#
849# Graphics adapter I2C/DDC channel drivers
850#
778# CONFIG_I2C_VOODOO3 is not set 851# CONFIG_I2C_VOODOO3 is not set
779 852
780# 853#
854# Other I2C/SMBus bus drivers
855#
856# CONFIG_I2C_PCA_PLATFORM is not set
857# CONFIG_I2C_STUB is not set
858
859#
781# Miscellaneous I2C Chip support 860# Miscellaneous I2C Chip support
782# 861#
783# CONFIG_SENSORS_DS1337 is not set
784# CONFIG_SENSORS_DS1374 is not set
785# CONFIG_DS1682 is not set 862# CONFIG_DS1682 is not set
863# CONFIG_AT24 is not set
786# CONFIG_SENSORS_EEPROM is not set 864# CONFIG_SENSORS_EEPROM is not set
787# CONFIG_SENSORS_PCF8574 is not set 865# CONFIG_SENSORS_PCF8574 is not set
866# CONFIG_PCF8575 is not set
788# CONFIG_SENSORS_PCA9539 is not set 867# CONFIG_SENSORS_PCA9539 is not set
789# CONFIG_SENSORS_PCF8591 is not set 868# CONFIG_SENSORS_PCF8591 is not set
790# CONFIG_SENSORS_MAX6875 is not set 869# CONFIG_SENSORS_MAX6875 is not set
@@ -793,15 +872,14 @@ CONFIG_I2C_AMD8111=y
793# CONFIG_I2C_DEBUG_ALGO is not set 872# CONFIG_I2C_DEBUG_ALGO is not set
794# CONFIG_I2C_DEBUG_BUS is not set 873# CONFIG_I2C_DEBUG_BUS is not set
795# CONFIG_I2C_DEBUG_CHIP is not set 874# CONFIG_I2C_DEBUG_CHIP is not set
796
797#
798# SPI support
799#
800# CONFIG_SPI is not set 875# CONFIG_SPI is not set
801# CONFIG_SPI_MASTER is not set 876CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
877# CONFIG_GPIOLIB is not set
802# CONFIG_W1 is not set 878# CONFIG_W1 is not set
803# CONFIG_POWER_SUPPLY is not set 879# CONFIG_POWER_SUPPLY is not set
804# CONFIG_HWMON is not set 880# CONFIG_HWMON is not set
881# CONFIG_THERMAL is not set
882# CONFIG_THERMAL_HWMON is not set
805# CONFIG_WATCHDOG is not set 883# CONFIG_WATCHDOG is not set
806 884
807# 885#
@@ -813,13 +891,25 @@ CONFIG_SSB_POSSIBLE=y
813# 891#
814# Multifunction device drivers 892# Multifunction device drivers
815# 893#
894# CONFIG_MFD_CORE is not set
816# CONFIG_MFD_SM501 is not set 895# CONFIG_MFD_SM501 is not set
896# CONFIG_HTC_PASIC3 is not set
897# CONFIG_MFD_TMIO is not set
817 898
818# 899#
819# Multimedia devices 900# Multimedia devices
820# 901#
902
903#
904# Multimedia core support
905#
821# CONFIG_VIDEO_DEV is not set 906# CONFIG_VIDEO_DEV is not set
822# CONFIG_DVB_CORE is not set 907# CONFIG_DVB_CORE is not set
908# CONFIG_VIDEO_MEDIA is not set
909
910#
911# Multimedia drivers
912#
823# CONFIG_DAB is not set 913# CONFIG_DAB is not set
824 914
825# 915#
@@ -842,10 +932,6 @@ CONFIG_SSB_POSSIBLE=y
842# 932#
843# CONFIG_VGA_CONSOLE is not set 933# CONFIG_VGA_CONSOLE is not set
844CONFIG_DUMMY_CONSOLE=y 934CONFIG_DUMMY_CONSOLE=y
845
846#
847# Sound
848#
849# CONFIG_SOUND is not set 935# CONFIG_SOUND is not set
850CONFIG_HID_SUPPORT=y 936CONFIG_HID_SUPPORT=y
851CONFIG_HID=y 937CONFIG_HID=y
@@ -865,6 +951,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
865CONFIG_USB_ARCH_HAS_EHCI=y 951CONFIG_USB_ARCH_HAS_EHCI=y
866CONFIG_USB=y 952CONFIG_USB=y
867# CONFIG_USB_DEBUG is not set 953# CONFIG_USB_DEBUG is not set
954# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
868 955
869# 956#
870# Miscellaneous USB options 957# Miscellaneous USB options
@@ -873,15 +960,18 @@ CONFIG_USB_DEVICEFS=y
873CONFIG_USB_DEVICE_CLASS=y 960CONFIG_USB_DEVICE_CLASS=y
874# CONFIG_USB_DYNAMIC_MINORS is not set 961# CONFIG_USB_DYNAMIC_MINORS is not set
875# CONFIG_USB_OTG is not set 962# CONFIG_USB_OTG is not set
963CONFIG_USB_MON=y
876 964
877# 965#
878# USB Host Controller Drivers 966# USB Host Controller Drivers
879# 967#
968# CONFIG_USB_C67X00_HCD is not set
880CONFIG_USB_EHCI_HCD=y 969CONFIG_USB_EHCI_HCD=y
881CONFIG_USB_EHCI_SPLIT_ISO=y
882CONFIG_USB_EHCI_ROOT_HUB_TT=y 970CONFIG_USB_EHCI_ROOT_HUB_TT=y
883# CONFIG_USB_EHCI_TT_NEWSCHED is not set 971# CONFIG_USB_EHCI_TT_NEWSCHED is not set
972# CONFIG_USB_EHCI_HCD_PPC_OF is not set
884# CONFIG_USB_ISP116X_HCD is not set 973# CONFIG_USB_ISP116X_HCD is not set
974# CONFIG_USB_ISP1760_HCD is not set
885CONFIG_USB_OHCI_HCD=y 975CONFIG_USB_OHCI_HCD=y
886# CONFIG_USB_OHCI_HCD_PPC_OF is not set 976# CONFIG_USB_OHCI_HCD_PPC_OF is not set
887# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set 977# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
@@ -896,6 +986,7 @@ CONFIG_USB_UHCI_HCD=y
896# 986#
897# CONFIG_USB_ACM is not set 987# CONFIG_USB_ACM is not set
898# CONFIG_USB_PRINTER is not set 988# CONFIG_USB_PRINTER is not set
989# CONFIG_USB_WDM is not set
899 990
900# 991#
901# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 992# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -912,20 +1003,15 @@ CONFIG_USB_UHCI_HCD=y
912# 1003#
913# CONFIG_USB_MDC800 is not set 1004# CONFIG_USB_MDC800 is not set
914# CONFIG_USB_MICROTEK is not set 1005# CONFIG_USB_MICROTEK is not set
915CONFIG_USB_MON=y
916 1006
917# 1007#
918# USB port drivers 1008# USB port drivers
919# 1009#
920
921#
922# USB Serial Converter support
923#
924CONFIG_USB_SERIAL=y 1010CONFIG_USB_SERIAL=y
925# CONFIG_USB_SERIAL_CONSOLE is not set 1011# CONFIG_USB_SERIAL_CONSOLE is not set
1012CONFIG_USB_EZUSB=y
926CONFIG_USB_SERIAL_GENERIC=y 1013CONFIG_USB_SERIAL_GENERIC=y
927# CONFIG_USB_SERIAL_AIRCABLE is not set 1014# CONFIG_USB_SERIAL_AIRCABLE is not set
928# CONFIG_USB_SERIAL_AIRPRIME is not set
929# CONFIG_USB_SERIAL_ARK3116 is not set 1015# CONFIG_USB_SERIAL_ARK3116 is not set
930# CONFIG_USB_SERIAL_BELKIN is not set 1016# CONFIG_USB_SERIAL_BELKIN is not set
931# CONFIG_USB_SERIAL_CH341 is not set 1017# CONFIG_USB_SERIAL_CH341 is not set
@@ -943,6 +1029,7 @@ CONFIG_USB_SERIAL_CYPRESS_M8=m
943# CONFIG_USB_SERIAL_EDGEPORT_TI is not set 1029# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
944CONFIG_USB_SERIAL_GARMIN=m 1030CONFIG_USB_SERIAL_GARMIN=m
945CONFIG_USB_SERIAL_IPW=m 1031CONFIG_USB_SERIAL_IPW=m
1032# CONFIG_USB_SERIAL_IUU is not set
946# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set 1033# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
947CONFIG_USB_SERIAL_KEYSPAN=y 1034CONFIG_USB_SERIAL_KEYSPAN=y
948CONFIG_USB_SERIAL_KEYSPAN_MPR=y 1035CONFIG_USB_SERIAL_KEYSPAN_MPR=y
@@ -962,9 +1049,11 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
962# CONFIG_USB_SERIAL_MCT_U232 is not set 1049# CONFIG_USB_SERIAL_MCT_U232 is not set
963# CONFIG_USB_SERIAL_MOS7720 is not set 1050# CONFIG_USB_SERIAL_MOS7720 is not set
964# CONFIG_USB_SERIAL_MOS7840 is not set 1051# CONFIG_USB_SERIAL_MOS7840 is not set
1052# CONFIG_USB_SERIAL_MOTOROLA is not set
965# CONFIG_USB_SERIAL_NAVMAN is not set 1053# CONFIG_USB_SERIAL_NAVMAN is not set
966# CONFIG_USB_SERIAL_PL2303 is not set 1054# CONFIG_USB_SERIAL_PL2303 is not set
967# CONFIG_USB_SERIAL_OTI6858 is not set 1055# CONFIG_USB_SERIAL_OTI6858 is not set
1056# CONFIG_USB_SERIAL_SPCP8X5 is not set
968# CONFIG_USB_SERIAL_HP4X is not set 1057# CONFIG_USB_SERIAL_HP4X is not set
969# CONFIG_USB_SERIAL_SAFE is not set 1058# CONFIG_USB_SERIAL_SAFE is not set
970# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set 1059# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
@@ -974,7 +1063,6 @@ CONFIG_USB_SERIAL_TI=m
974# CONFIG_USB_SERIAL_OPTION is not set 1063# CONFIG_USB_SERIAL_OPTION is not set
975# CONFIG_USB_SERIAL_OMNINET is not set 1064# CONFIG_USB_SERIAL_OMNINET is not set
976# CONFIG_USB_SERIAL_DEBUG is not set 1065# CONFIG_USB_SERIAL_DEBUG is not set
977CONFIG_USB_EZUSB=y
978 1066
979# 1067#
980# USB Miscellaneous drivers 1068# USB Miscellaneous drivers
@@ -982,7 +1070,6 @@ CONFIG_USB_EZUSB=y
982# CONFIG_USB_EMI62 is not set 1070# CONFIG_USB_EMI62 is not set
983# CONFIG_USB_EMI26 is not set 1071# CONFIG_USB_EMI26 is not set
984# CONFIG_USB_ADUTUX is not set 1072# CONFIG_USB_ADUTUX is not set
985# CONFIG_USB_AUERSWALD is not set
986# CONFIG_USB_RIO500 is not set 1073# CONFIG_USB_RIO500 is not set
987# CONFIG_USB_LEGOTOWER is not set 1074# CONFIG_USB_LEGOTOWER is not set
988# CONFIG_USB_LCD is not set 1075# CONFIG_USB_LCD is not set
@@ -999,24 +1086,16 @@ CONFIG_USB_EZUSB=y
999# CONFIG_USB_TRANCEVIBRATOR is not set 1086# CONFIG_USB_TRANCEVIBRATOR is not set
1000# CONFIG_USB_IOWARRIOR is not set 1087# CONFIG_USB_IOWARRIOR is not set
1001# CONFIG_USB_TEST is not set 1088# CONFIG_USB_TEST is not set
1002 1089# CONFIG_USB_ISIGHTFW is not set
1003#
1004# USB DSL modem support
1005#
1006
1007#
1008# USB Gadget Support
1009#
1010# CONFIG_USB_GADGET is not set 1090# CONFIG_USB_GADGET is not set
1011# CONFIG_MMC is not set 1091# CONFIG_MMC is not set
1092# CONFIG_MEMSTICK is not set
1012# CONFIG_NEW_LEDS is not set 1093# CONFIG_NEW_LEDS is not set
1094# CONFIG_ACCESSIBILITY is not set
1013# CONFIG_INFINIBAND is not set 1095# CONFIG_INFINIBAND is not set
1014# CONFIG_EDAC is not set 1096# CONFIG_EDAC is not set
1015# CONFIG_RTC_CLASS is not set 1097# CONFIG_RTC_CLASS is not set
1016 1098# CONFIG_DMADEVICES is not set
1017#
1018# Userspace I/O
1019#
1020# CONFIG_UIO is not set 1099# CONFIG_UIO is not set
1021 1100
1022# 1101#
@@ -1037,12 +1116,10 @@ CONFIG_FS_POSIX_ACL=y
1037# CONFIG_XFS_FS is not set 1116# CONFIG_XFS_FS is not set
1038# CONFIG_GFS2_FS is not set 1117# CONFIG_GFS2_FS is not set
1039# CONFIG_OCFS2_FS is not set 1118# CONFIG_OCFS2_FS is not set
1040# CONFIG_MINIX_FS is not set 1119CONFIG_DNOTIFY=y
1041# CONFIG_ROMFS_FS is not set
1042CONFIG_INOTIFY=y 1120CONFIG_INOTIFY=y
1043CONFIG_INOTIFY_USER=y 1121CONFIG_INOTIFY_USER=y
1044# CONFIG_QUOTA is not set 1122# CONFIG_QUOTA is not set
1045CONFIG_DNOTIFY=y
1046# CONFIG_AUTOFS_FS is not set 1123# CONFIG_AUTOFS_FS is not set
1047# CONFIG_AUTOFS4_FS is not set 1124# CONFIG_AUTOFS4_FS is not set
1048# CONFIG_FUSE_FS is not set 1125# CONFIG_FUSE_FS is not set
@@ -1088,8 +1165,11 @@ CONFIG_HUGETLB_PAGE=y
1088# CONFIG_EFS_FS is not set 1165# CONFIG_EFS_FS is not set
1089CONFIG_CRAMFS=y 1166CONFIG_CRAMFS=y
1090# CONFIG_VXFS_FS is not set 1167# CONFIG_VXFS_FS is not set
1168# CONFIG_MINIX_FS is not set
1169# CONFIG_OMFS_FS is not set
1091# CONFIG_HPFS_FS is not set 1170# CONFIG_HPFS_FS is not set
1092# CONFIG_QNX4FS_FS is not set 1171# CONFIG_QNX4FS_FS is not set
1172# CONFIG_ROMFS_FS is not set
1093# CONFIG_SYSV_FS is not set 1173# CONFIG_SYSV_FS is not set
1094# CONFIG_UFS_FS is not set 1174# CONFIG_UFS_FS is not set
1095CONFIG_NETWORK_FILESYSTEMS=y 1175CONFIG_NETWORK_FILESYSTEMS=y
@@ -1097,16 +1177,14 @@ CONFIG_NFS_FS=y
1097CONFIG_NFS_V3=y 1177CONFIG_NFS_V3=y
1098CONFIG_NFS_V3_ACL=y 1178CONFIG_NFS_V3_ACL=y
1099CONFIG_NFS_V4=y 1179CONFIG_NFS_V4=y
1100# CONFIG_NFS_DIRECTIO is not set
1101# CONFIG_NFSD is not set
1102CONFIG_ROOT_NFS=y 1180CONFIG_ROOT_NFS=y
1181# CONFIG_NFSD is not set
1103CONFIG_LOCKD=y 1182CONFIG_LOCKD=y
1104CONFIG_LOCKD_V4=y 1183CONFIG_LOCKD_V4=y
1105CONFIG_NFS_ACL_SUPPORT=y 1184CONFIG_NFS_ACL_SUPPORT=y
1106CONFIG_NFS_COMMON=y 1185CONFIG_NFS_COMMON=y
1107CONFIG_SUNRPC=y 1186CONFIG_SUNRPC=y
1108CONFIG_SUNRPC_GSS=y 1187CONFIG_SUNRPC_GSS=y
1109# CONFIG_SUNRPC_BIND34 is not set
1110CONFIG_RPCSEC_GSS_KRB5=y 1188CONFIG_RPCSEC_GSS_KRB5=y
1111# CONFIG_RPCSEC_GSS_SPKM3 is not set 1189# CONFIG_RPCSEC_GSS_SPKM3 is not set
1112# CONFIG_SMB_FS is not set 1190# CONFIG_SMB_FS is not set
@@ -1177,14 +1255,15 @@ CONFIG_NLS_DEFAULT="utf-8"
1177# CONFIG_NLS_KOI8_U is not set 1255# CONFIG_NLS_KOI8_U is not set
1178CONFIG_NLS_UTF8=y 1256CONFIG_NLS_UTF8=y
1179# CONFIG_DLM is not set 1257# CONFIG_DLM is not set
1180# CONFIG_UCC_SLOW is not set
1181 1258
1182# 1259#
1183# Library routines 1260# Library routines
1184# 1261#
1185CONFIG_BITREVERSE=y 1262CONFIG_BITREVERSE=y
1263# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1186CONFIG_CRC_CCITT=y 1264CONFIG_CRC_CCITT=y
1187# CONFIG_CRC16 is not set 1265# CONFIG_CRC16 is not set
1266CONFIG_CRC_T10DIF=y
1188# CONFIG_CRC_ITU_T is not set 1267# CONFIG_CRC_ITU_T is not set
1189CONFIG_CRC32=y 1268CONFIG_CRC32=y
1190# CONFIG_CRC7 is not set 1269# CONFIG_CRC7 is not set
@@ -1194,7 +1273,7 @@ CONFIG_PLIST=y
1194CONFIG_HAS_IOMEM=y 1273CONFIG_HAS_IOMEM=y
1195CONFIG_HAS_IOPORT=y 1274CONFIG_HAS_IOPORT=y
1196CONFIG_HAS_DMA=y 1275CONFIG_HAS_DMA=y
1197# CONFIG_INSTRUMENTATION is not set 1276CONFIG_HAVE_LMB=y
1198 1277
1199# 1278#
1200# Kernel hacking 1279# Kernel hacking
@@ -1202,6 +1281,7 @@ CONFIG_HAS_DMA=y
1202# CONFIG_PRINTK_TIME is not set 1281# CONFIG_PRINTK_TIME is not set
1203CONFIG_ENABLE_WARN_DEPRECATED=y 1282CONFIG_ENABLE_WARN_DEPRECATED=y
1204CONFIG_ENABLE_MUST_CHECK=y 1283CONFIG_ENABLE_MUST_CHECK=y
1284CONFIG_FRAME_WARN=2048
1205CONFIG_MAGIC_SYSRQ=y 1285CONFIG_MAGIC_SYSRQ=y
1206# CONFIG_UNUSED_SYMBOLS is not set 1286# CONFIG_UNUSED_SYMBOLS is not set
1207CONFIG_DEBUG_FS=y 1287CONFIG_DEBUG_FS=y
@@ -1209,34 +1289,59 @@ CONFIG_DEBUG_FS=y
1209CONFIG_DEBUG_KERNEL=y 1289CONFIG_DEBUG_KERNEL=y
1210# CONFIG_DEBUG_SHIRQ is not set 1290# CONFIG_DEBUG_SHIRQ is not set
1211CONFIG_DETECT_SOFTLOCKUP=y 1291CONFIG_DETECT_SOFTLOCKUP=y
1292# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1293CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1212CONFIG_SCHED_DEBUG=y 1294CONFIG_SCHED_DEBUG=y
1213# CONFIG_SCHEDSTATS is not set 1295CONFIG_SCHEDSTATS=y
1214# CONFIG_TIMER_STATS is not set 1296# CONFIG_TIMER_STATS is not set
1297# CONFIG_DEBUG_OBJECTS is not set
1215# CONFIG_SLUB_DEBUG_ON is not set 1298# CONFIG_SLUB_DEBUG_ON is not set
1299# CONFIG_SLUB_STATS is not set
1216# CONFIG_DEBUG_RT_MUTEXES is not set 1300# CONFIG_DEBUG_RT_MUTEXES is not set
1217# CONFIG_RT_MUTEX_TESTER is not set 1301# CONFIG_RT_MUTEX_TESTER is not set
1218# CONFIG_DEBUG_SPINLOCK is not set 1302# CONFIG_DEBUG_SPINLOCK is not set
1219# CONFIG_DEBUG_MUTEXES is not set 1303# CONFIG_DEBUG_MUTEXES is not set
1304# CONFIG_DEBUG_LOCK_ALLOC is not set
1305# CONFIG_PROVE_LOCKING is not set
1306# CONFIG_LOCK_STAT is not set
1220CONFIG_DEBUG_SPINLOCK_SLEEP=y 1307CONFIG_DEBUG_SPINLOCK_SLEEP=y
1221# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1308# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1309CONFIG_STACKTRACE=y
1222# CONFIG_DEBUG_KOBJECT is not set 1310# CONFIG_DEBUG_KOBJECT is not set
1223CONFIG_DEBUG_BUGVERBOSE=y 1311CONFIG_DEBUG_BUGVERBOSE=y
1224# CONFIG_DEBUG_INFO is not set 1312# CONFIG_DEBUG_INFO is not set
1225# CONFIG_DEBUG_VM is not set 1313# CONFIG_DEBUG_VM is not set
1314# CONFIG_DEBUG_WRITECOUNT is not set
1315CONFIG_DEBUG_MEMORY_INIT=y
1226# CONFIG_DEBUG_LIST is not set 1316# CONFIG_DEBUG_LIST is not set
1227# CONFIG_DEBUG_SG is not set 1317# CONFIG_DEBUG_SG is not set
1228# CONFIG_FORCED_INLINING is not set 1318CONFIG_FRAME_POINTER=y
1229# CONFIG_BOOT_PRINTK_DELAY is not set 1319# CONFIG_BOOT_PRINTK_DELAY is not set
1230# CONFIG_RCU_TORTURE_TEST is not set 1320# CONFIG_RCU_TORTURE_TEST is not set
1321# CONFIG_KPROBES_SANITY_TEST is not set
1322# CONFIG_BACKTRACE_SELF_TEST is not set
1323# CONFIG_LKDTM is not set
1231# CONFIG_FAULT_INJECTION is not set 1324# CONFIG_FAULT_INJECTION is not set
1325CONFIG_LATENCYTOP=y
1326# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1327CONFIG_HAVE_FTRACE=y
1328CONFIG_HAVE_DYNAMIC_FTRACE=y
1329# CONFIG_FTRACE is not set
1330# CONFIG_IRQSOFF_TRACER is not set
1331# CONFIG_SCHED_TRACER is not set
1332# CONFIG_CONTEXT_SWITCH_TRACER is not set
1232# CONFIG_SAMPLES is not set 1333# CONFIG_SAMPLES is not set
1334CONFIG_HAVE_ARCH_KGDB=y
1335# CONFIG_KGDB is not set
1233CONFIG_DEBUG_STACKOVERFLOW=y 1336CONFIG_DEBUG_STACKOVERFLOW=y
1234CONFIG_DEBUG_STACK_USAGE=y 1337CONFIG_DEBUG_STACK_USAGE=y
1235# CONFIG_DEBUG_PAGEALLOC is not set 1338# CONFIG_DEBUG_PAGEALLOC is not set
1236CONFIG_DEBUGGER=y 1339# CONFIG_CODE_PATCHING_SELFTEST is not set
1340# CONFIG_FTR_FIXUP_SELFTEST is not set
1237CONFIG_XMON=y 1341CONFIG_XMON=y
1238CONFIG_XMON_DEFAULT=y 1342CONFIG_XMON_DEFAULT=y
1239CONFIG_XMON_DISASSEMBLY=y 1343CONFIG_XMON_DISASSEMBLY=y
1344CONFIG_DEBUGGER=y
1240# CONFIG_IRQSTACKS is not set 1345# CONFIG_IRQSTACKS is not set
1241# CONFIG_VIRQ_DEBUG is not set 1346# CONFIG_VIRQ_DEBUG is not set
1242CONFIG_BOOTX_TEXT=y 1347CONFIG_BOOTX_TEXT=y
@@ -1249,44 +1354,84 @@ CONFIG_BOOTX_TEXT=y
1249# CONFIG_SECURITY is not set 1354# CONFIG_SECURITY is not set
1250# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1355# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1251CONFIG_CRYPTO=y 1356CONFIG_CRYPTO=y
1357
1358#
1359# Crypto core or helper
1360#
1252CONFIG_CRYPTO_ALGAPI=y 1361CONFIG_CRYPTO_ALGAPI=y
1253CONFIG_CRYPTO_BLKCIPHER=y 1362CONFIG_CRYPTO_BLKCIPHER=y
1254CONFIG_CRYPTO_MANAGER=y 1363CONFIG_CRYPTO_MANAGER=y
1364# CONFIG_CRYPTO_GF128MUL is not set
1365# CONFIG_CRYPTO_NULL is not set
1366# CONFIG_CRYPTO_CRYPTD is not set
1367# CONFIG_CRYPTO_AUTHENC is not set
1368# CONFIG_CRYPTO_TEST is not set
1369
1370#
1371# Authenticated Encryption with Associated Data
1372#
1373# CONFIG_CRYPTO_CCM is not set
1374# CONFIG_CRYPTO_GCM is not set
1375# CONFIG_CRYPTO_SEQIV is not set
1376
1377#
1378# Block modes
1379#
1380CONFIG_CRYPTO_CBC=y
1381# CONFIG_CRYPTO_CTR is not set
1382# CONFIG_CRYPTO_CTS is not set
1383CONFIG_CRYPTO_ECB=m
1384# CONFIG_CRYPTO_LRW is not set
1385CONFIG_CRYPTO_PCBC=m
1386# CONFIG_CRYPTO_XTS is not set
1387
1388#
1389# Hash modes
1390#
1255# CONFIG_CRYPTO_HMAC is not set 1391# CONFIG_CRYPTO_HMAC is not set
1256# CONFIG_CRYPTO_XCBC is not set 1392# CONFIG_CRYPTO_XCBC is not set
1257# CONFIG_CRYPTO_NULL is not set 1393
1394#
1395# Digest
1396#
1397# CONFIG_CRYPTO_CRC32C is not set
1258# CONFIG_CRYPTO_MD4 is not set 1398# CONFIG_CRYPTO_MD4 is not set
1259CONFIG_CRYPTO_MD5=y 1399CONFIG_CRYPTO_MD5=y
1400# CONFIG_CRYPTO_MICHAEL_MIC is not set
1401# CONFIG_CRYPTO_RMD128 is not set
1402# CONFIG_CRYPTO_RMD160 is not set
1403# CONFIG_CRYPTO_RMD256 is not set
1404# CONFIG_CRYPTO_RMD320 is not set
1260# CONFIG_CRYPTO_SHA1 is not set 1405# CONFIG_CRYPTO_SHA1 is not set
1261# CONFIG_CRYPTO_SHA256 is not set 1406# CONFIG_CRYPTO_SHA256 is not set
1262# CONFIG_CRYPTO_SHA512 is not set 1407# CONFIG_CRYPTO_SHA512 is not set
1263# CONFIG_CRYPTO_WP512 is not set
1264# CONFIG_CRYPTO_TGR192 is not set 1408# CONFIG_CRYPTO_TGR192 is not set
1265# CONFIG_CRYPTO_GF128MUL is not set 1409# CONFIG_CRYPTO_WP512 is not set
1266CONFIG_CRYPTO_ECB=m 1410
1267CONFIG_CRYPTO_CBC=y 1411#
1268CONFIG_CRYPTO_PCBC=m 1412# Ciphers
1269# CONFIG_CRYPTO_LRW is not set 1413#
1270# CONFIG_CRYPTO_XTS is not set
1271# CONFIG_CRYPTO_CRYPTD is not set
1272CONFIG_CRYPTO_DES=y
1273# CONFIG_CRYPTO_FCRYPT is not set
1274# CONFIG_CRYPTO_BLOWFISH is not set
1275# CONFIG_CRYPTO_TWOFISH is not set
1276# CONFIG_CRYPTO_SERPENT is not set
1277# CONFIG_CRYPTO_AES is not set 1414# CONFIG_CRYPTO_AES is not set
1415# CONFIG_CRYPTO_ANUBIS is not set
1416# CONFIG_CRYPTO_ARC4 is not set
1417# CONFIG_CRYPTO_BLOWFISH is not set
1418# CONFIG_CRYPTO_CAMELLIA is not set
1278# CONFIG_CRYPTO_CAST5 is not set 1419# CONFIG_CRYPTO_CAST5 is not set
1279# CONFIG_CRYPTO_CAST6 is not set 1420# CONFIG_CRYPTO_CAST6 is not set
1280# CONFIG_CRYPTO_TEA is not set 1421CONFIG_CRYPTO_DES=y
1281# CONFIG_CRYPTO_ARC4 is not set 1422# CONFIG_CRYPTO_FCRYPT is not set
1282# CONFIG_CRYPTO_KHAZAD is not set 1423# CONFIG_CRYPTO_KHAZAD is not set
1283# CONFIG_CRYPTO_ANUBIS is not set 1424# CONFIG_CRYPTO_SALSA20 is not set
1284# CONFIG_CRYPTO_SEED is not set 1425# CONFIG_CRYPTO_SEED is not set
1426# CONFIG_CRYPTO_SERPENT is not set
1427# CONFIG_CRYPTO_TEA is not set
1428# CONFIG_CRYPTO_TWOFISH is not set
1429
1430#
1431# Compression
1432#
1285# CONFIG_CRYPTO_DEFLATE is not set 1433# CONFIG_CRYPTO_DEFLATE is not set
1286# CONFIG_CRYPTO_MICHAEL_MIC is not set 1434# CONFIG_CRYPTO_LZO is not set
1287# CONFIG_CRYPTO_CRC32C is not set
1288# CONFIG_CRYPTO_CAMELLIA is not set
1289# CONFIG_CRYPTO_TEST is not set
1290# CONFIG_CRYPTO_AUTHENC is not set
1291# CONFIG_CRYPTO_HW is not set 1435# CONFIG_CRYPTO_HW is not set
1292# CONFIG_PPC_CLOCK is not set 1436# CONFIG_PPC_CLOCK is not set
1437# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 066c583c1f8a..ab5199f26a24 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:11 2008 4# Thu Aug 21 00:52:06 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -32,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -88,7 +89,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 89CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 90CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 91CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 92CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 93# CONFIG_KALLSYMS_EXTRA_PASS is not set
94CONFIG_HOTPLUG=y 94CONFIG_HOTPLUG=y
@@ -112,10 +112,16 @@ CONFIG_SLUB=y
112# CONFIG_PROFILING is not set 112# CONFIG_PROFILING is not set
113# CONFIG_MARKERS is not set 113# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 114CONFIG_HAVE_OPROFILE=y
115CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
116CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 117CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 118CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 127# CONFIG_TINY_SHMEM is not set
@@ -126,6 +132,7 @@ CONFIG_LBD=y
126# CONFIG_BLK_DEV_IO_TRACE is not set 132# CONFIG_BLK_DEV_IO_TRACE is not set
127# CONFIG_LSF is not set 133# CONFIG_LSF is not set
128# CONFIG_BLK_DEV_BSG is not set 134# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set
129 136
130# 137#
131# IO Schedulers 138# IO Schedulers
@@ -145,25 +152,25 @@ CONFIG_CLASSIC_RCU=y
145# Platform support 152# Platform support
146# 153#
147CONFIG_PPC_MULTIPLATFORM=y 154CONFIG_PPC_MULTIPLATFORM=y
148# CONFIG_PPC_82xx is not set
149# CONFIG_PPC_83xx is not set
150# CONFIG_PPC_86xx is not set
151CONFIG_CLASSIC32=y 155CONFIG_CLASSIC32=y
152# CONFIG_PPC_CHRP is not set 156# CONFIG_PPC_CHRP is not set
153# CONFIG_PPC_MPC512x is not set
154# CONFIG_PPC_MPC5121 is not set
155# CONFIG_MPC5121_ADS is not set 157# CONFIG_MPC5121_ADS is not set
158# CONFIG_MPC5121_GENERIC is not set
156# CONFIG_PPC_MPC52xx is not set 159# CONFIG_PPC_MPC52xx is not set
157# CONFIG_PPC_PMAC is not set 160# CONFIG_PPC_PMAC is not set
158# CONFIG_PPC_CELL is not set 161# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 162# CONFIG_PPC_CELL_NATIVE is not set
163# CONFIG_PPC_82xx is not set
160# CONFIG_PQ2ADS is not set 164# CONFIG_PQ2ADS is not set
165# CONFIG_PPC_83xx is not set
166# CONFIG_PPC_86xx is not set
161CONFIG_EMBEDDED6xx=y 167CONFIG_EMBEDDED6xx=y
162# CONFIG_LINKSTATION is not set 168# CONFIG_LINKSTATION is not set
163# CONFIG_STORCENTER is not set 169# CONFIG_STORCENTER is not set
164CONFIG_MPC7448HPC2=y 170CONFIG_MPC7448HPC2=y
165# CONFIG_PPC_HOLLY is not set 171# CONFIG_PPC_HOLLY is not set
166# CONFIG_PPC_PRPMC2800 is not set 172# CONFIG_PPC_PRPMC2800 is not set
173# CONFIG_PPC_C2K is not set
167CONFIG_TSI108_BRIDGE=y 174CONFIG_TSI108_BRIDGE=y
168# CONFIG_IPIC is not set 175# CONFIG_IPIC is not set
169CONFIG_MPIC=y 176CONFIG_MPIC=y
@@ -192,7 +199,7 @@ CONFIG_HZ_250=y
192# CONFIG_HZ_300 is not set 199# CONFIG_HZ_300 is not set
193# CONFIG_HZ_1000 is not set 200# CONFIG_HZ_1000 is not set
194CONFIG_HZ=250 201CONFIG_HZ=250
195# CONFIG_SCHED_HRTICK is not set 202CONFIG_SCHED_HRTICK=y
196CONFIG_PREEMPT_NONE=y 203CONFIG_PREEMPT_NONE=y
197# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
198# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
@@ -215,6 +222,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
215# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
216CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
217CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y
218# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
219CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
220CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
@@ -222,6 +230,7 @@ CONFIG_VIRT_TO_BUS=y
222CONFIG_FORCE_MAX_ZONEORDER=11 230CONFIG_FORCE_MAX_ZONEORDER=11
223CONFIG_PROC_DEVICETREE=y 231CONFIG_PROC_DEVICETREE=y
224# CONFIG_CMDLINE_BOOL is not set 232# CONFIG_CMDLINE_BOOL is not set
233CONFIG_EXTRA_TARGETS=""
225# CONFIG_PM is not set 234# CONFIG_PM is not set
226# CONFIG_SECCOMP is not set 235# CONFIG_SECCOMP is not set
227CONFIG_ISA_DMA_API=y 236CONFIG_ISA_DMA_API=y
@@ -256,10 +265,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
256CONFIG_KERNEL_START=0xc0000000 265CONFIG_KERNEL_START=0xc0000000
257CONFIG_PHYSICAL_START=0x00000000 266CONFIG_PHYSICAL_START=0x00000000
258CONFIG_TASK_SIZE=0xc0000000 267CONFIG_TASK_SIZE=0xc0000000
259
260#
261# Networking
262#
263CONFIG_NET=y 268CONFIG_NET=y
264 269
265# 270#
@@ -374,12 +379,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
374# CONFIG_BLK_DEV_XIP is not set 379# CONFIG_BLK_DEV_XIP is not set
375# CONFIG_CDROM_PKTCDVD is not set 380# CONFIG_CDROM_PKTCDVD is not set
376# CONFIG_ATA_OVER_ETH is not set 381# CONFIG_ATA_OVER_ETH is not set
382# CONFIG_BLK_DEV_HD is not set
377CONFIG_MISC_DEVICES=y 383CONFIG_MISC_DEVICES=y
378# CONFIG_PHANTOM is not set 384# CONFIG_PHANTOM is not set
379# CONFIG_EEPROM_93CX6 is not set 385# CONFIG_EEPROM_93CX6 is not set
380# CONFIG_SGI_IOC4 is not set 386# CONFIG_SGI_IOC4 is not set
381# CONFIG_TIFM_CORE is not set 387# CONFIG_TIFM_CORE is not set
382# CONFIG_ENCLOSURE_SERVICES is not set 388# CONFIG_ENCLOSURE_SERVICES is not set
389# CONFIG_HP_ILO is not set
383CONFIG_HAVE_IDE=y 390CONFIG_HAVE_IDE=y
384# CONFIG_IDE is not set 391# CONFIG_IDE is not set
385 392
@@ -457,6 +464,7 @@ CONFIG_SCSI_LOWLEVEL=y
457# CONFIG_SCSI_NSP32 is not set 464# CONFIG_SCSI_NSP32 is not set
458# CONFIG_SCSI_DEBUG is not set 465# CONFIG_SCSI_DEBUG is not set
459# CONFIG_SCSI_SRP is not set 466# CONFIG_SCSI_SRP is not set
467# CONFIG_SCSI_DH is not set
460CONFIG_ATA=y 468CONFIG_ATA=y
461# CONFIG_ATA_NONSTANDARD is not set 469# CONFIG_ATA_NONSTANDARD is not set
462CONFIG_SATA_PMP=y 470CONFIG_SATA_PMP=y
@@ -523,12 +531,15 @@ CONFIG_SATA_MV=y
523# 531#
524# IEEE 1394 (FireWire) support 532# IEEE 1394 (FireWire) support
525# 533#
534
535#
536# Enable only one of the two stacks, unless you know what you are doing
537#
526# CONFIG_FIREWIRE is not set 538# CONFIG_FIREWIRE is not set
527# CONFIG_IEEE1394 is not set 539# CONFIG_IEEE1394 is not set
528# CONFIG_I2O is not set 540# CONFIG_I2O is not set
529# CONFIG_MACINTOSH_DRIVERS is not set 541# CONFIG_MACINTOSH_DRIVERS is not set
530CONFIG_NETDEVICES=y 542CONFIG_NETDEVICES=y
531# CONFIG_NETDEVICES_MULTIQUEUE is not set
532# CONFIG_DUMMY is not set 543# CONFIG_DUMMY is not set
533# CONFIG_BONDING is not set 544# CONFIG_BONDING is not set
534# CONFIG_MACVLAN is not set 545# CONFIG_MACVLAN is not set
@@ -594,7 +605,6 @@ CONFIG_NETDEV_1000=y
594# CONFIG_DL2K is not set 605# CONFIG_DL2K is not set
595# CONFIG_E1000 is not set 606# CONFIG_E1000 is not set
596# CONFIG_E1000E is not set 607# CONFIG_E1000E is not set
597# CONFIG_E1000E_ENABLED is not set
598# CONFIG_IP1000 is not set 608# CONFIG_IP1000 is not set
599# CONFIG_IGB is not set 609# CONFIG_IGB is not set
600# CONFIG_NS83820 is not set 610# CONFIG_NS83820 is not set
@@ -611,6 +621,7 @@ CONFIG_TSI108_ETH=y
611# CONFIG_MV643XX_ETH is not set 621# CONFIG_MV643XX_ETH is not set
612# CONFIG_QLA3XXX is not set 622# CONFIG_QLA3XXX is not set
613# CONFIG_ATL1 is not set 623# CONFIG_ATL1 is not set
624# CONFIG_ATL1E is not set
614CONFIG_NETDEV_10000=y 625CONFIG_NETDEV_10000=y
615# CONFIG_CHELSIO_T1 is not set 626# CONFIG_CHELSIO_T1 is not set
616# CONFIG_CHELSIO_T3 is not set 627# CONFIG_CHELSIO_T3 is not set
@@ -716,6 +727,8 @@ CONFIG_GEN_RTC=y
716CONFIG_DEVPORT=y 727CONFIG_DEVPORT=y
717# CONFIG_I2C is not set 728# CONFIG_I2C is not set
718# CONFIG_SPI is not set 729# CONFIG_SPI is not set
730CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
731# CONFIG_GPIOLIB is not set
719# CONFIG_W1 is not set 732# CONFIG_W1 is not set
720# CONFIG_POWER_SUPPLY is not set 733# CONFIG_POWER_SUPPLY is not set
721CONFIG_HWMON=y 734CONFIG_HWMON=y
@@ -736,6 +749,7 @@ CONFIG_HWMON=y
736# CONFIG_SENSORS_W83627EHF is not set 749# CONFIG_SENSORS_W83627EHF is not set
737# CONFIG_HWMON_DEBUG_CHIP is not set 750# CONFIG_HWMON_DEBUG_CHIP is not set
738# CONFIG_THERMAL is not set 751# CONFIG_THERMAL is not set
752# CONFIG_THERMAL_HWMON is not set
739# CONFIG_WATCHDOG is not set 753# CONFIG_WATCHDOG is not set
740 754
741# 755#
@@ -747,8 +761,10 @@ CONFIG_SSB_POSSIBLE=y
747# 761#
748# Multifunction device drivers 762# Multifunction device drivers
749# 763#
764# CONFIG_MFD_CORE is not set
750# CONFIG_MFD_SM501 is not set 765# CONFIG_MFD_SM501 is not set
751# CONFIG_HTC_PASIC3 is not set 766# CONFIG_HTC_PASIC3 is not set
767# CONFIG_MFD_TMIO is not set
752 768
753# 769#
754# Multimedia devices 770# Multimedia devices
@@ -780,10 +796,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
780# Display device support 796# Display device support
781# 797#
782# CONFIG_DISPLAY_SUPPORT is not set 798# CONFIG_DISPLAY_SUPPORT is not set
783
784#
785# Sound
786#
787# CONFIG_SOUND is not set 799# CONFIG_SOUND is not set
788CONFIG_HID_SUPPORT=y 800CONFIG_HID_SUPPORT=y
789CONFIG_HID=y 801CONFIG_HID=y
@@ -798,6 +810,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
798# CONFIG_USB_OTG_BLACKLIST_HUB is not set 810# CONFIG_USB_OTG_BLACKLIST_HUB is not set
799 811
800# 812#
813# Enable Host or Gadget support to see Inventra options
814#
815
816#
801# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 817# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
802# 818#
803# CONFIG_USB_GADGET is not set 819# CONFIG_USB_GADGET is not set
@@ -875,6 +891,7 @@ CONFIG_TMPFS=y
875# CONFIG_CRAMFS is not set 891# CONFIG_CRAMFS is not set
876# CONFIG_VXFS_FS is not set 892# CONFIG_VXFS_FS is not set
877# CONFIG_MINIX_FS is not set 893# CONFIG_MINIX_FS is not set
894# CONFIG_OMFS_FS is not set
878# CONFIG_HPFS_FS is not set 895# CONFIG_HPFS_FS is not set
879# CONFIG_QNX4FS_FS is not set 896# CONFIG_QNX4FS_FS is not set
880# CONFIG_ROMFS_FS is not set 897# CONFIG_ROMFS_FS is not set
@@ -884,12 +901,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
884CONFIG_NFS_FS=y 901CONFIG_NFS_FS=y
885# CONFIG_NFS_V3 is not set 902# CONFIG_NFS_V3 is not set
886# CONFIG_NFS_V4 is not set 903# CONFIG_NFS_V4 is not set
887# CONFIG_NFSD is not set
888CONFIG_ROOT_NFS=y 904CONFIG_ROOT_NFS=y
905# CONFIG_NFSD is not set
889CONFIG_LOCKD=y 906CONFIG_LOCKD=y
890CONFIG_NFS_COMMON=y 907CONFIG_NFS_COMMON=y
891CONFIG_SUNRPC=y 908CONFIG_SUNRPC=y
892# CONFIG_SUNRPC_BIND34 is not set
893# CONFIG_RPCSEC_GSS_KRB5 is not set 909# CONFIG_RPCSEC_GSS_KRB5 is not set
894# CONFIG_RPCSEC_GSS_SPKM3 is not set 910# CONFIG_RPCSEC_GSS_SPKM3 is not set
895# CONFIG_SMB_FS is not set 911# CONFIG_SMB_FS is not set
@@ -929,6 +945,7 @@ CONFIG_BITREVERSE=y
929# CONFIG_GENERIC_FIND_FIRST_BIT is not set 945# CONFIG_GENERIC_FIND_FIRST_BIT is not set
930# CONFIG_CRC_CCITT is not set 946# CONFIG_CRC_CCITT is not set
931# CONFIG_CRC16 is not set 947# CONFIG_CRC16 is not set
948CONFIG_CRC_T10DIF=y
932# CONFIG_CRC_ITU_T is not set 949# CONFIG_CRC_ITU_T is not set
933CONFIG_CRC32=y 950CONFIG_CRC32=y
934# CONFIG_CRC7 is not set 951# CONFIG_CRC7 is not set
@@ -954,7 +971,16 @@ CONFIG_FRAME_WARN=1024
954# CONFIG_SLUB_DEBUG_ON is not set 971# CONFIG_SLUB_DEBUG_ON is not set
955# CONFIG_SLUB_STATS is not set 972# CONFIG_SLUB_STATS is not set
956# CONFIG_DEBUG_BUGVERBOSE is not set 973# CONFIG_DEBUG_BUGVERBOSE is not set
974# CONFIG_DEBUG_MEMORY_INIT is not set
975# CONFIG_LATENCYTOP is not set
976CONFIG_SYSCTL_SYSCALL_CHECK=y
977CONFIG_HAVE_FTRACE=y
978CONFIG_HAVE_DYNAMIC_FTRACE=y
979# CONFIG_FTRACE is not set
980# CONFIG_SCHED_TRACER is not set
981# CONFIG_CONTEXT_SWITCH_TRACER is not set
957# CONFIG_SAMPLES is not set 982# CONFIG_SAMPLES is not set
983CONFIG_HAVE_ARCH_KGDB=y
958# CONFIG_IRQSTACKS is not set 984# CONFIG_IRQSTACKS is not set
959# CONFIG_BOOTX_TEXT is not set 985# CONFIG_BOOTX_TEXT is not set
960# CONFIG_PPC_EARLY_DEBUG is not set 986# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1007,6 +1033,10 @@ CONFIG_CRYPTO=y
1007# CONFIG_CRYPTO_MD4 is not set 1033# CONFIG_CRYPTO_MD4 is not set
1008# CONFIG_CRYPTO_MD5 is not set 1034# CONFIG_CRYPTO_MD5 is not set
1009# CONFIG_CRYPTO_MICHAEL_MIC is not set 1035# CONFIG_CRYPTO_MICHAEL_MIC is not set
1036# CONFIG_CRYPTO_RMD128 is not set
1037# CONFIG_CRYPTO_RMD160 is not set
1038# CONFIG_CRYPTO_RMD256 is not set
1039# CONFIG_CRYPTO_RMD320 is not set
1010# CONFIG_CRYPTO_SHA1 is not set 1040# CONFIG_CRYPTO_SHA1 is not set
1011# CONFIG_CRYPTO_SHA256 is not set 1041# CONFIG_CRYPTO_SHA256 is not set
1012# CONFIG_CRYPTO_SHA512 is not set 1042# CONFIG_CRYPTO_SHA512 is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 30d7834b7db1..7c435c84c875 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:12 2008 4# Thu Aug 21 00:52:07 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -31,12 +32,14 @@ CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 39CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y 40CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 41CONFIG_GENERIC_FIND_NEXT_BIT=y
42CONFIG_GENERIC_GPIO=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 44CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y 45CONFIG_EARLY_PRINTK=y
@@ -45,11 +48,13 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
47CONFIG_OF=y 50CONFIG_OF=y
48# CONFIG_PPC_UDBG_16550 is not set 51CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
52CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -81,7 +86,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
81CONFIG_SYSCTL=y 86CONFIG_SYSCTL=y
82CONFIG_EMBEDDED=y 87CONFIG_EMBEDDED=y
83CONFIG_SYSCTL_SYSCALL=y 88CONFIG_SYSCTL_SYSCALL=y
84CONFIG_SYSCTL_SYSCALL_CHECK=y
85CONFIG_KALLSYMS=y 89CONFIG_KALLSYMS=y
86CONFIG_KALLSYMS_ALL=y 90CONFIG_KALLSYMS_ALL=y
87# CONFIG_KALLSYMS_EXTRA_PASS is not set 91# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -89,6 +93,7 @@ CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y 93CONFIG_PRINTK=y
90CONFIG_BUG=y 94CONFIG_BUG=y
91CONFIG_ELF_CORE=y 95CONFIG_ELF_CORE=y
96CONFIG_PCSPKR_PLATFORM=y
92CONFIG_COMPAT_BRK=y 97CONFIG_COMPAT_BRK=y
93CONFIG_BASE_FULL=y 98CONFIG_BASE_FULL=y
94CONFIG_FUTEX=y 99CONFIG_FUTEX=y
@@ -106,10 +111,16 @@ CONFIG_SLUB=y
106# CONFIG_PROFILING is not set 111# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set 112# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y 113CONFIG_HAVE_OPROFILE=y
114CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
115CONFIG_HAVE_IOREMAP_PROT=y
109CONFIG_HAVE_KPROBES=y 116CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y 117CONFIG_HAVE_KRETPROBES=y
118CONFIG_HAVE_ARCH_TRACEHOOK=y
111# CONFIG_HAVE_DMA_ATTRS is not set 119# CONFIG_HAVE_DMA_ATTRS is not set
120# CONFIG_USE_GENERIC_SMP_HELPERS is not set
121CONFIG_HAVE_CLK=y
112CONFIG_PROC_PAGE_MONITOR=y 122CONFIG_PROC_PAGE_MONITOR=y
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
113CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set 126# CONFIG_TINY_SHMEM is not set
@@ -119,6 +130,7 @@ CONFIG_BLOCK=y
119# CONFIG_LBD is not set 130# CONFIG_LBD is not set
120# CONFIG_BLK_DEV_IO_TRACE is not set 131# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set 132# CONFIG_LSF is not set
133# CONFIG_BLK_DEV_INTEGRITY is not set
122 134
123# 135#
124# IO Schedulers 136# IO Schedulers
@@ -137,14 +149,16 @@ CONFIG_CLASSIC_RCU=y
137# 149#
138# Platform support 150# Platform support
139# 151#
140# CONFIG_PPC_MULTIPLATFORM is not set 152CONFIG_PPC_MULTIPLATFORM=y
141CONFIG_PPC_82xx=y 153CONFIG_CLASSIC32=y
142# CONFIG_PPC_83xx is not set 154CONFIG_PPC_CHRP=y
143# CONFIG_PPC_86xx is not set 155# CONFIG_MPC5121_ADS is not set
144# CONFIG_PPC_MPC512x is not set 156# CONFIG_MPC5121_GENERIC is not set
145# CONFIG_PPC_MPC5121 is not set 157# CONFIG_PPC_MPC52xx is not set
158CONFIG_PPC_PMAC=y
146# CONFIG_PPC_CELL is not set 159# CONFIG_PPC_CELL is not set
147# CONFIG_PPC_CELL_NATIVE is not set 160# CONFIG_PPC_CELL_NATIVE is not set
161CONFIG_PPC_82xx=y
148CONFIG_MPC8272_ADS=y 162CONFIG_MPC8272_ADS=y
149# CONFIG_PQ2FADS is not set 163# CONFIG_PQ2FADS is not set
150# CONFIG_EP8248E is not set 164# CONFIG_EP8248E is not set
@@ -152,19 +166,27 @@ CONFIG_PQ2ADS=y
152CONFIG_8260=y 166CONFIG_8260=y
153CONFIG_8272=y 167CONFIG_8272=y
154CONFIG_PQ2_ADS_PCI_PIC=y 168CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set
172CONFIG_PPC_NATIVE=y
173# CONFIG_UDBG_RTAS_CONSOLE is not set
155# CONFIG_IPIC is not set 174# CONFIG_IPIC is not set
156# CONFIG_MPIC is not set 175CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set 176# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set 177CONFIG_PPC_I8259=y
159# CONFIG_PPC_RTAS is not set 178CONFIG_PPC_RTAS=y
179# CONFIG_RTAS_ERROR_LOGGING is not set
180CONFIG_RTAS_PROC=y
160# CONFIG_MMIO_NVRAM is not set 181# CONFIG_MMIO_NVRAM is not set
161# CONFIG_PPC_MPC106 is not set 182CONFIG_PPC_MPC106=y
162# CONFIG_PPC_970_NAP is not set 183# CONFIG_PPC_970_NAP is not set
163# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
164# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
165# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_PPC601_SYNC_FIX is not set
188# CONFIG_TAU is not set
166CONFIG_CPM2=y 189CONFIG_CPM2=y
167CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set 190# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y 191CONFIG_CPM=y
170 192
@@ -181,7 +203,7 @@ CONFIG_HZ_250=y
181# CONFIG_HZ_300 is not set 203# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 204# CONFIG_HZ_1000 is not set
183CONFIG_HZ=250 205CONFIG_HZ=250
184# CONFIG_SCHED_HRTICK is not set 206CONFIG_SCHED_HRTICK=y
185CONFIG_PREEMPT_NONE=y 207CONFIG_PREEMPT_NONE=y
186# CONFIG_PREEMPT_VOLUNTARY is not set 208# CONFIG_PREEMPT_VOLUNTARY is not set
187# CONFIG_PREEMPT is not set 209# CONFIG_PREEMPT is not set
@@ -199,6 +221,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
199# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
200CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
201CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y
202# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
203CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
204CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
@@ -206,6 +229,7 @@ CONFIG_VIRT_TO_BUS=y
206CONFIG_FORCE_MAX_ZONEORDER=11 229CONFIG_FORCE_MAX_ZONEORDER=11
207CONFIG_PROC_DEVICETREE=y 230CONFIG_PROC_DEVICETREE=y
208# CONFIG_CMDLINE_BOOL is not set 231# CONFIG_CMDLINE_BOOL is not set
232CONFIG_EXTRA_TARGETS=""
209# CONFIG_PM is not set 233# CONFIG_PM is not set
210CONFIG_SECCOMP=y 234CONFIG_SECCOMP=y
211CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
@@ -213,9 +237,11 @@ CONFIG_ISA_DMA_API=y
213# 237#
214# Bus options 238# Bus options
215# 239#
240# CONFIG_ISA is not set
216CONFIG_ZONE_DMA=y 241CONFIG_ZONE_DMA=y
217CONFIG_PPC_INDIRECT_PCI=y 242CONFIG_PPC_INDIRECT_PCI=y
218CONFIG_FSL_SOC=y 243CONFIG_FSL_SOC=y
244CONFIG_PPC_PCI_CHOICE=y
219CONFIG_PCI=y 245CONFIG_PCI=y
220CONFIG_PCI_DOMAINS=y 246CONFIG_PCI_DOMAINS=y
221CONFIG_PCI_SYSCALL=y 247CONFIG_PCI_SYSCALL=y
@@ -242,10 +268,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
242CONFIG_KERNEL_START=0xc0000000 268CONFIG_KERNEL_START=0xc0000000
243CONFIG_PHYSICAL_START=0x00000000 269CONFIG_PHYSICAL_START=0x00000000
244CONFIG_TASK_SIZE=0xc0000000 270CONFIG_TASK_SIZE=0xc0000000
245
246#
247# Networking
248#
249CONFIG_NET=y 271CONFIG_NET=y
250 272
251# 273#
@@ -446,9 +468,11 @@ CONFIG_MTD_PHYSMAP_OF=y
446# 468#
447# CONFIG_MTD_UBI is not set 469# CONFIG_MTD_UBI is not set
448CONFIG_OF_DEVICE=y 470CONFIG_OF_DEVICE=y
471CONFIG_OF_GPIO=y
449# CONFIG_PARPORT is not set 472# CONFIG_PARPORT is not set
450CONFIG_BLK_DEV=y 473CONFIG_BLK_DEV=y
451# CONFIG_BLK_DEV_FD is not set 474# CONFIG_BLK_DEV_FD is not set
475# CONFIG_MAC_FLOPPY is not set
452# CONFIG_BLK_CPQ_DA is not set 476# CONFIG_BLK_CPQ_DA is not set
453# CONFIG_BLK_CPQ_CISS_DA is not set 477# CONFIG_BLK_CPQ_CISS_DA is not set
454# CONFIG_BLK_DEV_DAC960 is not set 478# CONFIG_BLK_DEV_DAC960 is not set
@@ -460,6 +484,7 @@ CONFIG_BLK_DEV_LOOP=y
460# CONFIG_BLK_DEV_RAM is not set 484# CONFIG_BLK_DEV_RAM is not set
461# CONFIG_CDROM_PKTCDVD is not set 485# CONFIG_CDROM_PKTCDVD is not set
462# CONFIG_ATA_OVER_ETH is not set 486# CONFIG_ATA_OVER_ETH is not set
487# CONFIG_BLK_DEV_HD is not set
463# CONFIG_MISC_DEVICES is not set 488# CONFIG_MISC_DEVICES is not set
464CONFIG_HAVE_IDE=y 489CONFIG_HAVE_IDE=y
465# CONFIG_IDE is not set 490# CONFIG_IDE is not set
@@ -480,13 +505,12 @@ CONFIG_HAVE_IDE=y
480# 505#
481 506
482# 507#
483# An alternative FireWire stack is available with EXPERIMENTAL=y 508# A new alternative FireWire stack is available with EXPERIMENTAL=y
484# 509#
485# CONFIG_IEEE1394 is not set 510# CONFIG_IEEE1394 is not set
486# CONFIG_I2O is not set 511# CONFIG_I2O is not set
487# CONFIG_MACINTOSH_DRIVERS is not set 512# CONFIG_MACINTOSH_DRIVERS is not set
488CONFIG_NETDEVICES=y 513CONFIG_NETDEVICES=y
489# CONFIG_NETDEVICES_MULTIQUEUE is not set
490# CONFIG_DUMMY is not set 514# CONFIG_DUMMY is not set
491# CONFIG_BONDING is not set 515# CONFIG_BONDING is not set
492# CONFIG_EQUALIZER is not set 516# CONFIG_EQUALIZER is not set
@@ -510,8 +534,11 @@ CONFIG_DAVICOM_PHY=y
510# CONFIG_REALTEK_PHY is not set 534# CONFIG_REALTEK_PHY is not set
511# CONFIG_FIXED_PHY is not set 535# CONFIG_FIXED_PHY is not set
512CONFIG_MDIO_BITBANG=y 536CONFIG_MDIO_BITBANG=y
537# CONFIG_MDIO_OF_GPIO is not set
513CONFIG_NET_ETHERNET=y 538CONFIG_NET_ETHERNET=y
514CONFIG_MII=y 539CONFIG_MII=y
540# CONFIG_MACE is not set
541# CONFIG_BMAC is not set
515# CONFIG_HAPPYMEAL is not set 542# CONFIG_HAPPYMEAL is not set
516# CONFIG_SUNGEM is not set 543# CONFIG_SUNGEM is not set
517# CONFIG_CASSINI is not set 544# CONFIG_CASSINI is not set
@@ -533,7 +560,6 @@ CONFIG_NETDEV_1000=y
533# CONFIG_DL2K is not set 560# CONFIG_DL2K is not set
534# CONFIG_E1000 is not set 561# CONFIG_E1000 is not set
535# CONFIG_E1000E is not set 562# CONFIG_E1000E is not set
536# CONFIG_E1000E_ENABLED is not set
537# CONFIG_IGB is not set 563# CONFIG_IGB is not set
538# CONFIG_NS83820 is not set 564# CONFIG_NS83820 is not set
539# CONFIG_HAMACHI is not set 565# CONFIG_HAMACHI is not set
@@ -545,6 +571,7 @@ CONFIG_NETDEV_1000=y
545# CONFIG_TIGON3 is not set 571# CONFIG_TIGON3 is not set
546# CONFIG_BNX2 is not set 572# CONFIG_BNX2 is not set
547# CONFIG_GIANFAR is not set 573# CONFIG_GIANFAR is not set
574# CONFIG_MV643XX_ETH is not set
548# CONFIG_QLA3XXX is not set 575# CONFIG_QLA3XXX is not set
549CONFIG_NETDEV_10000=y 576CONFIG_NETDEV_10000=y
550# CONFIG_CHELSIO_T1 is not set 577# CONFIG_CHELSIO_T1 is not set
@@ -610,6 +637,7 @@ CONFIG_KEYBOARD_ATKBD=y
610# CONFIG_KEYBOARD_XTKBD is not set 637# CONFIG_KEYBOARD_XTKBD is not set
611# CONFIG_KEYBOARD_NEWTON is not set 638# CONFIG_KEYBOARD_NEWTON is not set
612# CONFIG_KEYBOARD_STOWAWAY is not set 639# CONFIG_KEYBOARD_STOWAWAY is not set
640# CONFIG_KEYBOARD_GPIO is not set
613CONFIG_INPUT_MOUSE=y 641CONFIG_INPUT_MOUSE=y
614CONFIG_MOUSE_PS2=y 642CONFIG_MOUSE_PS2=y
615CONFIG_MOUSE_PS2_ALPS=y 643CONFIG_MOUSE_PS2_ALPS=y
@@ -620,6 +648,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
620# CONFIG_MOUSE_PS2_TOUCHKIT is not set 648# CONFIG_MOUSE_PS2_TOUCHKIT is not set
621# CONFIG_MOUSE_SERIAL is not set 649# CONFIG_MOUSE_SERIAL is not set
622# CONFIG_MOUSE_VSXXXAA is not set 650# CONFIG_MOUSE_VSXXXAA is not set
651# CONFIG_MOUSE_GPIO is not set
623# CONFIG_INPUT_JOYSTICK is not set 652# CONFIG_INPUT_JOYSTICK is not set
624# CONFIG_INPUT_TABLET is not set 653# CONFIG_INPUT_TABLET is not set
625# CONFIG_INPUT_TOUCHSCREEN is not set 654# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -634,6 +663,7 @@ CONFIG_SERIO_SERPORT=y
634# CONFIG_SERIO_PCIPS2 is not set 663# CONFIG_SERIO_PCIPS2 is not set
635CONFIG_SERIO_LIBPS2=y 664CONFIG_SERIO_LIBPS2=y
636# CONFIG_SERIO_RAW is not set 665# CONFIG_SERIO_RAW is not set
666# CONFIG_SERIO_XILINX_XPS_PS2 is not set
637# CONFIG_GAMEPORT is not set 667# CONFIG_GAMEPORT is not set
638 668
639# 669#
@@ -654,6 +684,7 @@ CONFIG_DEVKMEM=y
654# CONFIG_SERIAL_UARTLITE is not set 684# CONFIG_SERIAL_UARTLITE is not set
655CONFIG_SERIAL_CORE=y 685CONFIG_SERIAL_CORE=y
656CONFIG_SERIAL_CORE_CONSOLE=y 686CONFIG_SERIAL_CORE_CONSOLE=y
687# CONFIG_SERIAL_PMACZILOG is not set
657CONFIG_SERIAL_CPM=y 688CONFIG_SERIAL_CPM=y
658CONFIG_SERIAL_CPM_CONSOLE=y 689CONFIG_SERIAL_CPM_CONSOLE=y
659CONFIG_SERIAL_CPM_SCC1=y 690CONFIG_SERIAL_CPM_SCC1=y
@@ -666,6 +697,8 @@ CONFIG_SERIAL_CPM_SCC4=y
666CONFIG_UNIX98_PTYS=y 697CONFIG_UNIX98_PTYS=y
667CONFIG_LEGACY_PTYS=y 698CONFIG_LEGACY_PTYS=y
668CONFIG_LEGACY_PTY_COUNT=256 699CONFIG_LEGACY_PTY_COUNT=256
700# CONFIG_BRIQ_PANEL is not set
701# CONFIG_HVC_RTAS is not set
669# CONFIG_IPMI_HANDLER is not set 702# CONFIG_IPMI_HANDLER is not set
670CONFIG_HW_RANDOM=y 703CONFIG_HW_RANDOM=y
671# CONFIG_NVRAM is not set 704# CONFIG_NVRAM is not set
@@ -676,10 +709,28 @@ CONFIG_HW_RANDOM=y
676CONFIG_DEVPORT=y 709CONFIG_DEVPORT=y
677# CONFIG_I2C is not set 710# CONFIG_I2C is not set
678# CONFIG_SPI is not set 711# CONFIG_SPI is not set
712CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
713CONFIG_ARCH_REQUIRE_GPIOLIB=y
714CONFIG_GPIOLIB=y
715# CONFIG_DEBUG_GPIO is not set
716
717#
718# I2C GPIO expanders:
719#
720
721#
722# PCI GPIO expanders:
723#
724# CONFIG_GPIO_BT8XX is not set
725
726#
727# SPI GPIO expanders:
728#
679# CONFIG_W1 is not set 729# CONFIG_W1 is not set
680# CONFIG_POWER_SUPPLY is not set 730# CONFIG_POWER_SUPPLY is not set
681# CONFIG_HWMON is not set 731# CONFIG_HWMON is not set
682# CONFIG_THERMAL is not set 732# CONFIG_THERMAL is not set
733# CONFIG_THERMAL_HWMON is not set
683# CONFIG_WATCHDOG is not set 734# CONFIG_WATCHDOG is not set
684 735
685# 736#
@@ -691,8 +742,10 @@ CONFIG_SSB_POSSIBLE=y
691# 742#
692# Multifunction device drivers 743# Multifunction device drivers
693# 744#
745# CONFIG_MFD_CORE is not set
694# CONFIG_MFD_SM501 is not set 746# CONFIG_MFD_SM501 is not set
695# CONFIG_HTC_PASIC3 is not set 747# CONFIG_HTC_PASIC3 is not set
748# CONFIG_MFD_TMIO is not set
696 749
697# 750#
698# Multimedia devices 751# Multimedia devices
@@ -724,10 +777,6 @@ CONFIG_DAB=y
724# Display device support 777# Display device support
725# 778#
726# CONFIG_DISPLAY_SUPPORT is not set 779# CONFIG_DISPLAY_SUPPORT is not set
727
728#
729# Sound
730#
731# CONFIG_SOUND is not set 780# CONFIG_SOUND is not set
732# CONFIG_HID_SUPPORT is not set 781# CONFIG_HID_SUPPORT is not set
733# CONFIG_USB_SUPPORT is not set 782# CONFIG_USB_SUPPORT is not set
@@ -798,6 +847,7 @@ CONFIG_TMPFS=y
798CONFIG_CRAMFS=y 847CONFIG_CRAMFS=y
799# CONFIG_VXFS_FS is not set 848# CONFIG_VXFS_FS is not set
800# CONFIG_MINIX_FS is not set 849# CONFIG_MINIX_FS is not set
850# CONFIG_OMFS_FS is not set
801# CONFIG_HPFS_FS is not set 851# CONFIG_HPFS_FS is not set
802# CONFIG_QNX4FS_FS is not set 852# CONFIG_QNX4FS_FS is not set
803# CONFIG_ROMFS_FS is not set 853# CONFIG_ROMFS_FS is not set
@@ -807,8 +857,8 @@ CONFIG_NETWORK_FILESYSTEMS=y
807CONFIG_NFS_FS=y 857CONFIG_NFS_FS=y
808CONFIG_NFS_V3=y 858CONFIG_NFS_V3=y
809CONFIG_NFS_V3_ACL=y 859CONFIG_NFS_V3_ACL=y
810# CONFIG_NFSD is not set
811CONFIG_ROOT_NFS=y 860CONFIG_ROOT_NFS=y
861# CONFIG_NFSD is not set
812CONFIG_LOCKD=y 862CONFIG_LOCKD=y
813CONFIG_LOCKD_V4=y 863CONFIG_LOCKD_V4=y
814CONFIG_NFS_ACL_SUPPORT=y 864CONFIG_NFS_ACL_SUPPORT=y
@@ -888,6 +938,7 @@ CONFIG_BITREVERSE=y
888# CONFIG_GENERIC_FIND_FIRST_BIT is not set 938# CONFIG_GENERIC_FIND_FIRST_BIT is not set
889CONFIG_CRC_CCITT=y 939CONFIG_CRC_CCITT=y
890# CONFIG_CRC16 is not set 940# CONFIG_CRC16 is not set
941# CONFIG_CRC_T10DIF is not set
891# CONFIG_CRC_ITU_T is not set 942# CONFIG_CRC_ITU_T is not set
892CONFIG_CRC32=y 943CONFIG_CRC32=y
893# CONFIG_CRC7 is not set 944# CONFIG_CRC7 is not set
@@ -914,6 +965,8 @@ CONFIG_MAGIC_SYSRQ=y
914CONFIG_DEBUG_KERNEL=y 965CONFIG_DEBUG_KERNEL=y
915# CONFIG_DEBUG_SHIRQ is not set 966# CONFIG_DEBUG_SHIRQ is not set
916CONFIG_DETECT_SOFTLOCKUP=y 967CONFIG_DETECT_SOFTLOCKUP=y
968# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
969CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
917CONFIG_SCHED_DEBUG=y 970CONFIG_SCHED_DEBUG=y
918# CONFIG_SCHEDSTATS is not set 971# CONFIG_SCHEDSTATS is not set
919# CONFIG_TIMER_STATS is not set 972# CONFIG_TIMER_STATS is not set
@@ -931,19 +984,31 @@ CONFIG_DEBUG_BUGVERBOSE=y
931CONFIG_DEBUG_INFO=y 984CONFIG_DEBUG_INFO=y
932# CONFIG_DEBUG_VM is not set 985# CONFIG_DEBUG_VM is not set
933# CONFIG_DEBUG_WRITECOUNT is not set 986# CONFIG_DEBUG_WRITECOUNT is not set
987# CONFIG_DEBUG_MEMORY_INIT is not set
934# CONFIG_DEBUG_LIST is not set 988# CONFIG_DEBUG_LIST is not set
935# CONFIG_DEBUG_SG is not set 989# CONFIG_DEBUG_SG is not set
936# CONFIG_BOOT_PRINTK_DELAY is not set 990# CONFIG_BOOT_PRINTK_DELAY is not set
991# CONFIG_RCU_TORTURE_TEST is not set
937# CONFIG_BACKTRACE_SELF_TEST is not set 992# CONFIG_BACKTRACE_SELF_TEST is not set
938# CONFIG_FAULT_INJECTION is not set 993# CONFIG_FAULT_INJECTION is not set
994# CONFIG_LATENCYTOP is not set
995CONFIG_SYSCTL_SYSCALL_CHECK=y
996CONFIG_HAVE_FTRACE=y
997CONFIG_HAVE_DYNAMIC_FTRACE=y
998# CONFIG_FTRACE is not set
999# CONFIG_SCHED_TRACER is not set
1000# CONFIG_CONTEXT_SWITCH_TRACER is not set
939# CONFIG_SAMPLES is not set 1001# CONFIG_SAMPLES is not set
1002CONFIG_HAVE_ARCH_KGDB=y
940# CONFIG_DEBUG_STACKOVERFLOW is not set 1003# CONFIG_DEBUG_STACKOVERFLOW is not set
941# CONFIG_DEBUG_STACK_USAGE is not set 1004# CONFIG_DEBUG_STACK_USAGE is not set
942# CONFIG_DEBUG_PAGEALLOC is not set 1005# CONFIG_DEBUG_PAGEALLOC is not set
943# CONFIG_DEBUGGER is not set 1006# CONFIG_CODE_PATCHING_SELFTEST is not set
944# CONFIG_KGDB_CONSOLE is not set 1007# CONFIG_FTR_FIXUP_SELFTEST is not set
1008# CONFIG_XMON is not set
945# CONFIG_IRQSTACKS is not set 1009# CONFIG_IRQSTACKS is not set
946CONFIG_BDI_SWITCH=y 1010CONFIG_BDI_SWITCH=y
1011# CONFIG_BOOTX_TEXT is not set
947# CONFIG_PPC_EARLY_DEBUG is not set 1012# CONFIG_PPC_EARLY_DEBUG is not set
948 1013
949# 1014#
@@ -951,6 +1016,7 @@ CONFIG_BDI_SWITCH=y
951# 1016#
952# CONFIG_KEYS is not set 1017# CONFIG_KEYS is not set
953# CONFIG_SECURITY is not set 1018# CONFIG_SECURITY is not set
1019# CONFIG_SECURITY_FILE_CAPABILITIES is not set
954CONFIG_CRYPTO=y 1020CONFIG_CRYPTO=y
955 1021
956# 1022#
@@ -991,6 +1057,10 @@ CONFIG_CRYPTO_PCBC=y
991# CONFIG_CRYPTO_MD4 is not set 1057# CONFIG_CRYPTO_MD4 is not set
992CONFIG_CRYPTO_MD5=y 1058CONFIG_CRYPTO_MD5=y
993# CONFIG_CRYPTO_MICHAEL_MIC is not set 1059# CONFIG_CRYPTO_MICHAEL_MIC is not set
1060# CONFIG_CRYPTO_RMD128 is not set
1061# CONFIG_CRYPTO_RMD160 is not set
1062# CONFIG_CRYPTO_RMD256 is not set
1063# CONFIG_CRYPTO_RMD320 is not set
994# CONFIG_CRYPTO_SHA1 is not set 1064# CONFIG_CRYPTO_SHA1 is not set
995# CONFIG_CRYPTO_SHA256 is not set 1065# CONFIG_CRYPTO_SHA256 is not set
996# CONFIG_CRYPTO_SHA512 is not set 1066# CONFIG_CRYPTO_SHA512 is not set
@@ -1021,6 +1091,6 @@ CONFIG_CRYPTO_DES=y
1021# CONFIG_CRYPTO_DEFLATE is not set 1091# CONFIG_CRYPTO_DEFLATE is not set
1022# CONFIG_CRYPTO_LZO is not set 1092# CONFIG_CRYPTO_LZO is not set
1023# CONFIG_CRYPTO_HW is not set 1093# CONFIG_CRYPTO_HW is not set
1024# CONFIG_PPC_CLOCK is not set 1094CONFIG_PPC_CLOCK=y
1025CONFIG_PPC_LIB_RHEAP=y 1095CONFIG_PPC_LIB_RHEAP=y
1026# CONFIG_VIRTUALIZATION is not set 1096# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 4293c8be06e1..916e3df7cc45 100644
--- a/arch/powerpc/configs/mpc83xx_defconfig
+++ b/arch/powerpc/configs/mpc83xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:14 2008 4# Thu Aug 21 07:16:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_6xx=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_FSL_EMB_PERFMON is not set 18# CONFIG_FSL_EMB_PERFMON is not set
19# CONFIG_ALTIVEC is not set
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
21# CONFIG_PPC_MM_SLICES is not set 22# CONFIG_PPC_MM_SLICES is not set
@@ -32,12 +33,14 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
38CONFIG_GENERIC_HWEIGHT=y 40CONFIG_GENERIC_HWEIGHT=y
39CONFIG_GENERIC_CALIBRATE_DELAY=y 41CONFIG_GENERIC_CALIBRATE_DELAY=y
40CONFIG_GENERIC_FIND_NEXT_BIT=y 42CONFIG_GENERIC_FIND_NEXT_BIT=y
43CONFIG_GENERIC_GPIO=y
41# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
42CONFIG_PPC=y 45CONFIG_PPC=y
43CONFIG_EARLY_PRINTK=y 46CONFIG_EARLY_PRINTK=y
@@ -51,6 +54,10 @@ CONFIG_PPC_UDBG_16550=y
51CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
53CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
57CONFIG_REDBOOT=y
58CONFIG_HIBERNATE_32=y
59CONFIG_ARCH_HIBERNATION_POSSIBLE=y
60CONFIG_ARCH_SUSPEND_POSSIBLE=y
54# CONFIG_PPC_DCR_NATIVE is not set 61# CONFIG_PPC_DCR_NATIVE is not set
55# CONFIG_PPC_DCR_MMIO is not set 62# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -88,13 +95,13 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 96CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 97CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 98CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 99# CONFIG_KALLSYMS_EXTRA_PASS is not set
94CONFIG_HOTPLUG=y 100CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y 101CONFIG_PRINTK=y
96CONFIG_BUG=y 102CONFIG_BUG=y
97CONFIG_ELF_CORE=y 103CONFIG_ELF_CORE=y
104CONFIG_PCSPKR_PLATFORM=y
98CONFIG_COMPAT_BRK=y 105CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 106CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 107CONFIG_FUTEX=y
@@ -112,10 +119,16 @@ CONFIG_SLAB=y
112# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
113CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
114# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
118CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
119CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
120CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
121# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -126,12 +139,13 @@ CONFIG_MODULE_UNLOAD=y
126# CONFIG_MODULE_FORCE_UNLOAD is not set 139# CONFIG_MODULE_FORCE_UNLOAD is not set
127# CONFIG_MODVERSIONS is not set 140# CONFIG_MODVERSIONS is not set
128# CONFIG_MODULE_SRCVERSION_ALL is not set 141# CONFIG_MODULE_SRCVERSION_ALL is not set
129# CONFIG_KMOD is not set 142CONFIG_KMOD=y
130CONFIG_BLOCK=y 143CONFIG_BLOCK=y
131# CONFIG_LBD is not set 144# CONFIG_LBD is not set
132# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 146# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
135 149
136# 150#
137# IO Schedulers 151# IO Schedulers
@@ -150,40 +164,52 @@ CONFIG_CLASSIC_RCU=y
150# 164#
151# Platform support 165# Platform support
152# 166#
153# CONFIG_PPC_MULTIPLATFORM is not set 167CONFIG_PPC_MULTIPLATFORM=y
154# CONFIG_PPC_82xx is not set 168CONFIG_CLASSIC32=y
155CONFIG_PPC_83xx=y 169CONFIG_PPC_CHRP=y
156# CONFIG_PPC_86xx is not set 170# CONFIG_MPC5121_ADS is not set
157# CONFIG_PPC_MPC512x is not set 171# CONFIG_MPC5121_GENERIC is not set
158# CONFIG_PPC_MPC5121 is not set 172# CONFIG_PPC_MPC52xx is not set
173CONFIG_PPC_PMAC=y
159# CONFIG_PPC_CELL is not set 174# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 175# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set
161# CONFIG_PQ2ADS is not set 177# CONFIG_PQ2ADS is not set
162CONFIG_MPC83xx=y 178CONFIG_PPC_83xx=y
163CONFIG_MPC831x_RDB=y 179CONFIG_MPC831x_RDB=y
164CONFIG_MPC832x_MDS=y 180CONFIG_MPC832x_MDS=y
165CONFIG_MPC832x_RDB=y 181CONFIG_MPC832x_RDB=y
166CONFIG_MPC834x_MDS=y 182CONFIG_MPC834x_MDS=y
167CONFIG_MPC834x_ITX=y 183CONFIG_MPC834x_ITX=y
168CONFIG_MPC836x_MDS=y 184CONFIG_MPC836x_MDS=y
185CONFIG_MPC836x_RDK=y
169CONFIG_MPC837x_MDS=y 186CONFIG_MPC837x_MDS=y
170CONFIG_MPC837x_RDB=y 187CONFIG_MPC837x_RDB=y
171CONFIG_SBC834x=y 188CONFIG_SBC834x=y
189CONFIG_ASP834x=y
172CONFIG_PPC_MPC831x=y 190CONFIG_PPC_MPC831x=y
173CONFIG_PPC_MPC832x=y 191CONFIG_PPC_MPC832x=y
174CONFIG_PPC_MPC834x=y 192CONFIG_PPC_MPC834x=y
175CONFIG_PPC_MPC837x=y 193CONFIG_PPC_MPC837x=y
194# CONFIG_PPC_86xx is not set
195# CONFIG_EMBEDDED6xx is not set
196CONFIG_PPC_NATIVE=y
197# CONFIG_UDBG_RTAS_CONSOLE is not set
176CONFIG_IPIC=y 198CONFIG_IPIC=y
177# CONFIG_MPIC is not set 199CONFIG_MPIC=y
178# CONFIG_MPIC_WEIRD is not set 200# CONFIG_MPIC_WEIRD is not set
179# CONFIG_PPC_I8259 is not set 201CONFIG_PPC_I8259=y
180# CONFIG_PPC_RTAS is not set 202CONFIG_PPC_RTAS=y
203# CONFIG_RTAS_ERROR_LOGGING is not set
204CONFIG_RTAS_PROC=y
181# CONFIG_MMIO_NVRAM is not set 205# CONFIG_MMIO_NVRAM is not set
182# CONFIG_PPC_MPC106 is not set 206CONFIG_PPC_MPC106=y
183# CONFIG_PPC_970_NAP is not set 207# CONFIG_PPC_970_NAP is not set
184# CONFIG_PPC_INDIRECT_IO is not set 208# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 209# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 210# CONFIG_CPU_FREQ is not set
211# CONFIG_PPC601_SYNC_FIX is not set
212# CONFIG_TAU is not set
187CONFIG_QUICC_ENGINE=y 213CONFIG_QUICC_ENGINE=y
188# CONFIG_FSL_ULI1575 is not set 214# CONFIG_FSL_ULI1575 is not set
189 215
@@ -211,6 +237,7 @@ CONFIG_MATH_EMULATION=y
211CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 237CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
212CONFIG_ARCH_HAS_WALK_MEMORY=y 238CONFIG_ARCH_HAS_WALK_MEMORY=y
213CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 239CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
240# CONFIG_KEXEC is not set
214CONFIG_ARCH_FLATMEM_ENABLE=y 241CONFIG_ARCH_FLATMEM_ENABLE=y
215CONFIG_ARCH_POPULATES_NODE_MAP=y 242CONFIG_ARCH_POPULATES_NODE_MAP=y
216CONFIG_SELECT_MEMORY_MODEL=y 243CONFIG_SELECT_MEMORY_MODEL=y
@@ -223,6 +250,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 250# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 251CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 252CONFIG_SPLIT_PTLOCK_CPUS=4
253CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 254# CONFIG_RESOURCES_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 255CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
@@ -230,6 +258,7 @@ CONFIG_VIRT_TO_BUS=y
230CONFIG_FORCE_MAX_ZONEORDER=11 258CONFIG_FORCE_MAX_ZONEORDER=11
231CONFIG_PROC_DEVICETREE=y 259CONFIG_PROC_DEVICETREE=y
232# CONFIG_CMDLINE_BOOL is not set 260# CONFIG_CMDLINE_BOOL is not set
261CONFIG_EXTRA_TARGETS=""
233# CONFIG_PM is not set 262# CONFIG_PM is not set
234CONFIG_SECCOMP=y 263CONFIG_SECCOMP=y
235CONFIG_ISA_DMA_API=y 264CONFIG_ISA_DMA_API=y
@@ -237,15 +266,24 @@ CONFIG_ISA_DMA_API=y
237# 266#
238# Bus options 267# Bus options
239# 268#
269# CONFIG_ISA is not set
240CONFIG_ZONE_DMA=y 270CONFIG_ZONE_DMA=y
241CONFIG_GENERIC_ISA_DMA=y 271CONFIG_GENERIC_ISA_DMA=y
242CONFIG_PPC_INDIRECT_PCI=y 272CONFIG_PPC_INDIRECT_PCI=y
243CONFIG_FSL_SOC=y 273CONFIG_FSL_SOC=y
244# CONFIG_PCI is not set 274CONFIG_FSL_PCI=y
245# CONFIG_PCI_DOMAINS is not set 275CONFIG_FSL_LBC=y
246# CONFIG_PCI_SYSCALL is not set 276CONFIG_FSL_GTM=y
247# CONFIG_ARCH_SUPPORTS_MSI is not set 277CONFIG_PPC_PCI_CHOICE=y
278CONFIG_PCI=y
279CONFIG_PCI_DOMAINS=y
280CONFIG_PCI_SYSCALL=y
281# CONFIG_PCIEPORTBUS is not set
282CONFIG_ARCH_SUPPORTS_MSI=y
283# CONFIG_PCI_MSI is not set
284CONFIG_PCI_LEGACY=y
248# CONFIG_PCCARD is not set 285# CONFIG_PCCARD is not set
286# CONFIG_HOTPLUG_PCI is not set
249# CONFIG_HAS_RAPIDIO is not set 287# CONFIG_HAS_RAPIDIO is not set
250 288
251# 289#
@@ -261,10 +299,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
261CONFIG_KERNEL_START=0xc0000000 299CONFIG_KERNEL_START=0xc0000000
262CONFIG_PHYSICAL_START=0x00000000 300CONFIG_PHYSICAL_START=0x00000000
263CONFIG_TASK_SIZE=0xc0000000 301CONFIG_TASK_SIZE=0xc0000000
264
265#
266# Networking
267#
268CONFIG_NET=y 302CONFIG_NET=y
269 303
270# 304#
@@ -412,11 +446,13 @@ CONFIG_MTD_CFI_UTIL=y
412# CONFIG_MTD_COMPLEX_MAPPINGS is not set 446# CONFIG_MTD_COMPLEX_MAPPINGS is not set
413# CONFIG_MTD_PHYSMAP is not set 447# CONFIG_MTD_PHYSMAP is not set
414CONFIG_MTD_PHYSMAP_OF=y 448CONFIG_MTD_PHYSMAP_OF=y
449# CONFIG_MTD_INTEL_VR_NOR is not set
415# CONFIG_MTD_PLATRAM is not set 450# CONFIG_MTD_PLATRAM is not set
416 451
417# 452#
418# Self-contained MTD device drivers 453# Self-contained MTD device drivers
419# 454#
455# CONFIG_MTD_PMC551 is not set
420# CONFIG_MTD_SLRAM is not set 456# CONFIG_MTD_SLRAM is not set
421# CONFIG_MTD_PHRAM is not set 457# CONFIG_MTD_PHRAM is not set
422# CONFIG_MTD_MTDRAM is not set 458# CONFIG_MTD_MTDRAM is not set
@@ -434,10 +470,12 @@ CONFIG_MTD_NAND_VERIFY_WRITE=y
434# CONFIG_MTD_NAND_MUSEUM_IDS is not set 470# CONFIG_MTD_NAND_MUSEUM_IDS is not set
435CONFIG_MTD_NAND_IDS=y 471CONFIG_MTD_NAND_IDS=y
436# CONFIG_MTD_NAND_DISKONCHIP is not set 472# CONFIG_MTD_NAND_DISKONCHIP is not set
473# CONFIG_MTD_NAND_CAFE is not set
437# CONFIG_MTD_NAND_NANDSIM is not set 474# CONFIG_MTD_NAND_NANDSIM is not set
438# CONFIG_MTD_NAND_PLATFORM is not set 475# CONFIG_MTD_NAND_PLATFORM is not set
439# CONFIG_MTD_ALAUDA is not set 476# CONFIG_MTD_ALAUDA is not set
440CONFIG_MTD_NAND_FSL_ELBC=y 477CONFIG_MTD_NAND_FSL_ELBC=y
478# CONFIG_MTD_NAND_FSL_UPM is not set
441# CONFIG_MTD_ONENAND is not set 479# CONFIG_MTD_ONENAND is not set
442 480
443# 481#
@@ -445,14 +483,21 @@ CONFIG_MTD_NAND_FSL_ELBC=y
445# 483#
446# CONFIG_MTD_UBI is not set 484# CONFIG_MTD_UBI is not set
447CONFIG_OF_DEVICE=y 485CONFIG_OF_DEVICE=y
486CONFIG_OF_GPIO=y
448CONFIG_OF_I2C=y 487CONFIG_OF_I2C=y
449# CONFIG_PARPORT is not set 488# CONFIG_PARPORT is not set
450CONFIG_BLK_DEV=y 489CONFIG_BLK_DEV=y
451# CONFIG_BLK_DEV_FD is not set 490# CONFIG_BLK_DEV_FD is not set
491# CONFIG_MAC_FLOPPY is not set
492# CONFIG_BLK_CPQ_DA is not set
493# CONFIG_BLK_CPQ_CISS_DA is not set
494# CONFIG_BLK_DEV_DAC960 is not set
495# CONFIG_BLK_DEV_UMEM is not set
452# CONFIG_BLK_DEV_COW_COMMON is not set 496# CONFIG_BLK_DEV_COW_COMMON is not set
453CONFIG_BLK_DEV_LOOP=y 497CONFIG_BLK_DEV_LOOP=y
454# CONFIG_BLK_DEV_CRYPTOLOOP is not set 498# CONFIG_BLK_DEV_CRYPTOLOOP is not set
455# CONFIG_BLK_DEV_NBD is not set 499# CONFIG_BLK_DEV_NBD is not set
500# CONFIG_BLK_DEV_SX8 is not set
456# CONFIG_BLK_DEV_UB is not set 501# CONFIG_BLK_DEV_UB is not set
457CONFIG_BLK_DEV_RAM=y 502CONFIG_BLK_DEV_RAM=y
458CONFIG_BLK_DEV_RAM_COUNT=16 503CONFIG_BLK_DEV_RAM_COUNT=16
@@ -460,9 +505,14 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
460# CONFIG_BLK_DEV_XIP is not set 505# CONFIG_BLK_DEV_XIP is not set
461# CONFIG_CDROM_PKTCDVD is not set 506# CONFIG_CDROM_PKTCDVD is not set
462# CONFIG_ATA_OVER_ETH is not set 507# CONFIG_ATA_OVER_ETH is not set
508# CONFIG_BLK_DEV_HD is not set
463CONFIG_MISC_DEVICES=y 509CONFIG_MISC_DEVICES=y
510# CONFIG_PHANTOM is not set
464# CONFIG_EEPROM_93CX6 is not set 511# CONFIG_EEPROM_93CX6 is not set
512# CONFIG_SGI_IOC4 is not set
513# CONFIG_TIFM_CORE is not set
465# CONFIG_ENCLOSURE_SERVICES is not set 514# CONFIG_ENCLOSURE_SERVICES is not set
515# CONFIG_HP_ILO is not set
466CONFIG_HAVE_IDE=y 516CONFIG_HAVE_IDE=y
467# CONFIG_IDE is not set 517# CONFIG_IDE is not set
468 518
@@ -505,24 +555,128 @@ CONFIG_SCSI_WAIT_SCAN=m
505# CONFIG_SCSI_SRP_ATTRS is not set 555# CONFIG_SCSI_SRP_ATTRS is not set
506CONFIG_SCSI_LOWLEVEL=y 556CONFIG_SCSI_LOWLEVEL=y
507# CONFIG_ISCSI_TCP is not set 557# CONFIG_ISCSI_TCP is not set
558# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
559# CONFIG_SCSI_3W_9XXX is not set
560# CONFIG_SCSI_ACARD is not set
561# CONFIG_SCSI_AACRAID is not set
562# CONFIG_SCSI_AIC7XXX is not set
563# CONFIG_SCSI_AIC7XXX_OLD is not set
564# CONFIG_SCSI_AIC79XX is not set
565# CONFIG_SCSI_AIC94XX is not set
566# CONFIG_SCSI_DPT_I2O is not set
567# CONFIG_SCSI_ADVANSYS is not set
568# CONFIG_SCSI_ARCMSR is not set
569# CONFIG_MEGARAID_NEWGEN is not set
570# CONFIG_MEGARAID_LEGACY is not set
571# CONFIG_MEGARAID_SAS is not set
572# CONFIG_SCSI_HPTIOP is not set
573# CONFIG_SCSI_BUSLOGIC is not set
574# CONFIG_SCSI_DMX3191D is not set
575# CONFIG_SCSI_EATA is not set
576# CONFIG_SCSI_FUTURE_DOMAIN is not set
577# CONFIG_SCSI_GDTH is not set
578# CONFIG_SCSI_IPS is not set
579# CONFIG_SCSI_INITIO is not set
580# CONFIG_SCSI_INIA100 is not set
581# CONFIG_SCSI_MVSAS is not set
582# CONFIG_SCSI_STEX is not set
583# CONFIG_SCSI_SYM53C8XX_2 is not set
584# CONFIG_SCSI_IPR is not set
585# CONFIG_SCSI_QLOGIC_1280 is not set
586# CONFIG_SCSI_QLA_FC is not set
587# CONFIG_SCSI_QLA_ISCSI is not set
588# CONFIG_SCSI_LPFC is not set
589# CONFIG_SCSI_DC395x is not set
590# CONFIG_SCSI_DC390T is not set
591# CONFIG_SCSI_NSP32 is not set
508# CONFIG_SCSI_DEBUG is not set 592# CONFIG_SCSI_DEBUG is not set
593# CONFIG_SCSI_MESH is not set
594# CONFIG_SCSI_MAC53C94 is not set
595# CONFIG_SCSI_SRP is not set
596# CONFIG_SCSI_DH is not set
509CONFIG_ATA=y 597CONFIG_ATA=y
510# CONFIG_ATA_NONSTANDARD is not set 598# CONFIG_ATA_NONSTANDARD is not set
511CONFIG_SATA_PMP=y 599CONFIG_SATA_PMP=y
600# CONFIG_SATA_AHCI is not set
601# CONFIG_SATA_SIL24 is not set
512CONFIG_SATA_FSL=y 602CONFIG_SATA_FSL=y
513CONFIG_ATA_SFF=y 603CONFIG_ATA_SFF=y
604# CONFIG_SATA_SVW is not set
605# CONFIG_ATA_PIIX is not set
514# CONFIG_SATA_MV is not set 606# CONFIG_SATA_MV is not set
607# CONFIG_SATA_NV is not set
608# CONFIG_PDC_ADMA is not set
609# CONFIG_SATA_QSTOR is not set
610# CONFIG_SATA_PROMISE is not set
611# CONFIG_SATA_SX4 is not set
612# CONFIG_SATA_SIL is not set
613# CONFIG_SATA_SIS is not set
614# CONFIG_SATA_ULI is not set
615# CONFIG_SATA_VIA is not set
616# CONFIG_SATA_VITESSE is not set
617# CONFIG_SATA_INIC162X is not set
618# CONFIG_PATA_ALI is not set
619# CONFIG_PATA_AMD is not set
620# CONFIG_PATA_ARTOP is not set
621# CONFIG_PATA_ATIIXP is not set
622# CONFIG_PATA_CMD640_PCI is not set
623# CONFIG_PATA_CMD64X is not set
624# CONFIG_PATA_CS5520 is not set
625# CONFIG_PATA_CS5530 is not set
626# CONFIG_PATA_CYPRESS is not set
627# CONFIG_PATA_EFAR is not set
628# CONFIG_ATA_GENERIC is not set
629# CONFIG_PATA_HPT366 is not set
630# CONFIG_PATA_HPT37X is not set
631# CONFIG_PATA_HPT3X2N is not set
632# CONFIG_PATA_HPT3X3 is not set
633# CONFIG_PATA_IT821X is not set
634# CONFIG_PATA_IT8213 is not set
635# CONFIG_PATA_JMICRON is not set
636# CONFIG_PATA_TRIFLEX is not set
637# CONFIG_PATA_MARVELL is not set
638# CONFIG_PATA_MPIIX is not set
639# CONFIG_PATA_OLDPIIX is not set
640# CONFIG_PATA_NETCELL is not set
641# CONFIG_PATA_NINJA32 is not set
642# CONFIG_PATA_NS87410 is not set
643# CONFIG_PATA_NS87415 is not set
644# CONFIG_PATA_OPTI is not set
645# CONFIG_PATA_OPTIDMA is not set
646# CONFIG_PATA_PDC_OLD is not set
647# CONFIG_PATA_RADISYS is not set
648# CONFIG_PATA_RZ1000 is not set
649# CONFIG_PATA_SC1200 is not set
650# CONFIG_PATA_SERVERWORKS is not set
651# CONFIG_PATA_PDC2027X is not set
652# CONFIG_PATA_SIL680 is not set
653# CONFIG_PATA_SIS is not set
654# CONFIG_PATA_VIA is not set
655# CONFIG_PATA_WINBOND is not set
515# CONFIG_PATA_PLATFORM is not set 656# CONFIG_PATA_PLATFORM is not set
657# CONFIG_PATA_SCH is not set
516# CONFIG_MD is not set 658# CONFIG_MD is not set
659# CONFIG_FUSION is not set
660
661#
662# IEEE 1394 (FireWire) support
663#
664
665#
666# Enable only one of the two stacks, unless you know what you are doing
667#
668# CONFIG_FIREWIRE is not set
669# CONFIG_IEEE1394 is not set
670# CONFIG_I2O is not set
517# CONFIG_MACINTOSH_DRIVERS is not set 671# CONFIG_MACINTOSH_DRIVERS is not set
518CONFIG_NETDEVICES=y 672CONFIG_NETDEVICES=y
519# CONFIG_NETDEVICES_MULTIQUEUE is not set
520# CONFIG_DUMMY is not set 673# CONFIG_DUMMY is not set
521# CONFIG_BONDING is not set 674# CONFIG_BONDING is not set
522# CONFIG_MACVLAN is not set 675# CONFIG_MACVLAN is not set
523# CONFIG_EQUALIZER is not set 676# CONFIG_EQUALIZER is not set
524# CONFIG_TUN is not set 677# CONFIG_TUN is not set
525# CONFIG_VETH is not set 678# CONFIG_VETH is not set
679# CONFIG_ARCNET is not set
526CONFIG_PHYLIB=y 680CONFIG_PHYLIB=y
527 681
528# 682#
@@ -542,21 +696,60 @@ CONFIG_ICPLUS_PHY=y
542# CONFIG_MDIO_BITBANG is not set 696# CONFIG_MDIO_BITBANG is not set
543CONFIG_NET_ETHERNET=y 697CONFIG_NET_ETHERNET=y
544CONFIG_MII=y 698CONFIG_MII=y
699# CONFIG_MACE is not set
700# CONFIG_BMAC is not set
701# CONFIG_HAPPYMEAL is not set
702# CONFIG_SUNGEM is not set
703# CONFIG_CASSINI is not set
704# CONFIG_NET_VENDOR_3COM is not set
705# CONFIG_NET_TULIP is not set
706# CONFIG_HP100 is not set
545# CONFIG_IBM_NEW_EMAC_ZMII is not set 707# CONFIG_IBM_NEW_EMAC_ZMII is not set
546# CONFIG_IBM_NEW_EMAC_RGMII is not set 708# CONFIG_IBM_NEW_EMAC_RGMII is not set
547# CONFIG_IBM_NEW_EMAC_TAH is not set 709# CONFIG_IBM_NEW_EMAC_TAH is not set
548# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 710# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
711# CONFIG_NET_PCI is not set
549# CONFIG_B44 is not set 712# CONFIG_B44 is not set
550CONFIG_NETDEV_1000=y 713CONFIG_NETDEV_1000=y
551# CONFIG_E1000E_ENABLED is not set 714# CONFIG_ACENIC is not set
715# CONFIG_DL2K is not set
716# CONFIG_E1000 is not set
717# CONFIG_E1000E is not set
718# CONFIG_IP1000 is not set
719# CONFIG_IGB is not set
720# CONFIG_NS83820 is not set
721# CONFIG_HAMACHI is not set
722# CONFIG_YELLOWFIN is not set
723# CONFIG_R8169 is not set
724# CONFIG_SIS190 is not set
725# CONFIG_SKGE is not set
726# CONFIG_SKY2 is not set
727# CONFIG_VIA_VELOCITY is not set
728# CONFIG_TIGON3 is not set
729# CONFIG_BNX2 is not set
552CONFIG_GIANFAR=y 730CONFIG_GIANFAR=y
553# CONFIG_GFAR_NAPI is not set
554CONFIG_UCC_GETH=y 731CONFIG_UCC_GETH=y
555# CONFIG_UGETH_NAPI is not set
556# CONFIG_UGETH_MAGIC_PACKET is not set 732# CONFIG_UGETH_MAGIC_PACKET is not set
557# CONFIG_UGETH_FILTERING is not set 733# CONFIG_UGETH_FILTERING is not set
558# CONFIG_UGETH_TX_ON_DEMAND is not set 734# CONFIG_UGETH_TX_ON_DEMAND is not set
735# CONFIG_MV643XX_ETH is not set
736# CONFIG_QLA3XXX is not set
737# CONFIG_ATL1 is not set
738# CONFIG_ATL1E is not set
559CONFIG_NETDEV_10000=y 739CONFIG_NETDEV_10000=y
740# CONFIG_CHELSIO_T1 is not set
741# CONFIG_CHELSIO_T3 is not set
742# CONFIG_IXGBE is not set
743# CONFIG_IXGB is not set
744# CONFIG_S2IO is not set
745# CONFIG_MYRI10GE is not set
746# CONFIG_NETXEN_NIC is not set
747# CONFIG_NIU is not set
748# CONFIG_MLX4_CORE is not set
749# CONFIG_TEHUTI is not set
750# CONFIG_BNX2X is not set
751# CONFIG_SFC is not set
752# CONFIG_TR is not set
560 753
561# 754#
562# Wireless LAN 755# Wireless LAN
@@ -574,8 +767,11 @@ CONFIG_NETDEV_10000=y
574# CONFIG_USB_RTL8150 is not set 767# CONFIG_USB_RTL8150 is not set
575# CONFIG_USB_USBNET is not set 768# CONFIG_USB_USBNET is not set
576# CONFIG_WAN is not set 769# CONFIG_WAN is not set
770# CONFIG_FDDI is not set
771# CONFIG_HIPPI is not set
577# CONFIG_PPP is not set 772# CONFIG_PPP is not set
578# CONFIG_SLIP is not set 773# CONFIG_SLIP is not set
774# CONFIG_NET_FC is not set
579# CONFIG_NETCONSOLE is not set 775# CONFIG_NETCONSOLE is not set
580# CONFIG_NETPOLL is not set 776# CONFIG_NETPOLL is not set
581# CONFIG_NET_POLL_CONTROLLER is not set 777# CONFIG_NET_POLL_CONTROLLER is not set
@@ -619,12 +815,14 @@ CONFIG_INPUT=y
619# CONFIG_VT is not set 815# CONFIG_VT is not set
620CONFIG_DEVKMEM=y 816CONFIG_DEVKMEM=y
621# CONFIG_SERIAL_NONSTANDARD is not set 817# CONFIG_SERIAL_NONSTANDARD is not set
818# CONFIG_NOZOMI is not set
622 819
623# 820#
624# Serial drivers 821# Serial drivers
625# 822#
626CONFIG_SERIAL_8250=y 823CONFIG_SERIAL_8250=y
627CONFIG_SERIAL_8250_CONSOLE=y 824CONFIG_SERIAL_8250_CONSOLE=y
825CONFIG_SERIAL_8250_PCI=y
628CONFIG_SERIAL_8250_NR_UARTS=4 826CONFIG_SERIAL_8250_NR_UARTS=4
629CONFIG_SERIAL_8250_RUNTIME_UARTS=4 827CONFIG_SERIAL_8250_RUNTIME_UARTS=4
630# CONFIG_SERIAL_8250_EXTENDED is not set 828# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -635,43 +833,95 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
635# CONFIG_SERIAL_UARTLITE is not set 833# CONFIG_SERIAL_UARTLITE is not set
636CONFIG_SERIAL_CORE=y 834CONFIG_SERIAL_CORE=y
637CONFIG_SERIAL_CORE_CONSOLE=y 835CONFIG_SERIAL_CORE_CONSOLE=y
836# CONFIG_SERIAL_PMACZILOG is not set
837# CONFIG_SERIAL_JSM is not set
638# CONFIG_SERIAL_OF_PLATFORM is not set 838# CONFIG_SERIAL_OF_PLATFORM is not set
639# CONFIG_SERIAL_QE is not set 839# CONFIG_SERIAL_QE is not set
640CONFIG_UNIX98_PTYS=y 840CONFIG_UNIX98_PTYS=y
641CONFIG_LEGACY_PTYS=y 841CONFIG_LEGACY_PTYS=y
642CONFIG_LEGACY_PTY_COUNT=256 842CONFIG_LEGACY_PTY_COUNT=256
843# CONFIG_BRIQ_PANEL is not set
844# CONFIG_HVC_RTAS is not set
643# CONFIG_IPMI_HANDLER is not set 845# CONFIG_IPMI_HANDLER is not set
644# CONFIG_HW_RANDOM is not set 846CONFIG_HW_RANDOM=y
645# CONFIG_NVRAM is not set 847# CONFIG_NVRAM is not set
646CONFIG_GEN_RTC=y 848CONFIG_GEN_RTC=y
647# CONFIG_GEN_RTC_X is not set 849# CONFIG_GEN_RTC_X is not set
648# CONFIG_R3964 is not set 850# CONFIG_R3964 is not set
851# CONFIG_APPLICOM is not set
649# CONFIG_RAW_DRIVER is not set 852# CONFIG_RAW_DRIVER is not set
650# CONFIG_TCG_TPM is not set 853# CONFIG_TCG_TPM is not set
854CONFIG_DEVPORT=y
651CONFIG_I2C=y 855CONFIG_I2C=y
652CONFIG_I2C_BOARDINFO=y 856CONFIG_I2C_BOARDINFO=y
653CONFIG_I2C_CHARDEV=y 857CONFIG_I2C_CHARDEV=y
858CONFIG_I2C_HELPER_AUTO=y
654 859
655# 860#
656# I2C Hardware Bus support 861# I2C Hardware Bus support
657# 862#
863
864#
865# PC SMBus host controller drivers
866#
867# CONFIG_I2C_ALI1535 is not set
868# CONFIG_I2C_ALI1563 is not set
869# CONFIG_I2C_ALI15X3 is not set
870# CONFIG_I2C_AMD756 is not set
871# CONFIG_I2C_AMD8111 is not set
872# CONFIG_I2C_I801 is not set
873# CONFIG_I2C_ISCH is not set
874# CONFIG_I2C_PIIX4 is not set
875# CONFIG_I2C_NFORCE2 is not set
876# CONFIG_I2C_SIS5595 is not set
877# CONFIG_I2C_SIS630 is not set
878# CONFIG_I2C_SIS96X is not set
879# CONFIG_I2C_VIA is not set
880# CONFIG_I2C_VIAPRO is not set
881
882#
883# Mac SMBus host controller drivers
884#
885# CONFIG_I2C_HYDRA is not set
886CONFIG_I2C_POWERMAC=y
887
888#
889# I2C system bus drivers (mostly embedded / system-on-chip)
890#
891# CONFIG_I2C_GPIO is not set
658CONFIG_I2C_MPC=y 892CONFIG_I2C_MPC=y
659# CONFIG_I2C_OCORES is not set 893# CONFIG_I2C_OCORES is not set
660# CONFIG_I2C_PARPORT_LIGHT is not set
661# CONFIG_I2C_SIMTEC is not set 894# CONFIG_I2C_SIMTEC is not set
895
896#
897# External I2C/SMBus adapter drivers
898#
899# CONFIG_I2C_PARPORT_LIGHT is not set
662# CONFIG_I2C_TAOS_EVM is not set 900# CONFIG_I2C_TAOS_EVM is not set
663# CONFIG_I2C_STUB is not set
664# CONFIG_I2C_TINY_USB is not set 901# CONFIG_I2C_TINY_USB is not set
902
903#
904# Graphics adapter I2C/DDC channel drivers
905#
906# CONFIG_I2C_VOODOO3 is not set
907
908#
909# Other I2C/SMBus bus drivers
910#
665# CONFIG_I2C_PCA_PLATFORM is not set 911# CONFIG_I2C_PCA_PLATFORM is not set
912# CONFIG_I2C_STUB is not set
666 913
667# 914#
668# Miscellaneous I2C Chip support 915# Miscellaneous I2C Chip support
669# 916#
670# CONFIG_DS1682 is not set 917# CONFIG_DS1682 is not set
918# CONFIG_AT24 is not set
671# CONFIG_SENSORS_EEPROM is not set 919# CONFIG_SENSORS_EEPROM is not set
672# CONFIG_SENSORS_PCF8574 is not set 920# CONFIG_SENSORS_PCF8574 is not set
673# CONFIG_PCF8575 is not set 921# CONFIG_PCF8575 is not set
922# CONFIG_SENSORS_PCA9539 is not set
674# CONFIG_SENSORS_PCF8591 is not set 923# CONFIG_SENSORS_PCF8591 is not set
924# CONFIG_TPS65010 is not set
675# CONFIG_SENSORS_MAX6875 is not set 925# CONFIG_SENSORS_MAX6875 is not set
676# CONFIG_SENSORS_TSL2550 is not set 926# CONFIG_SENSORS_TSL2550 is not set
677# CONFIG_I2C_DEBUG_CORE is not set 927# CONFIG_I2C_DEBUG_CORE is not set
@@ -679,10 +929,31 @@ CONFIG_I2C_MPC=y
679# CONFIG_I2C_DEBUG_BUS is not set 929# CONFIG_I2C_DEBUG_BUS is not set
680# CONFIG_I2C_DEBUG_CHIP is not set 930# CONFIG_I2C_DEBUG_CHIP is not set
681# CONFIG_SPI is not set 931# CONFIG_SPI is not set
932CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
933CONFIG_ARCH_REQUIRE_GPIOLIB=y
934CONFIG_GPIOLIB=y
935# CONFIG_GPIO_SYSFS is not set
936
937#
938# I2C GPIO expanders:
939#
940# CONFIG_GPIO_MAX732X is not set
941# CONFIG_GPIO_PCA953X is not set
942# CONFIG_GPIO_PCF857X is not set
943
944#
945# PCI GPIO expanders:
946#
947# CONFIG_GPIO_BT8XX is not set
948
949#
950# SPI GPIO expanders:
951#
682# CONFIG_W1 is not set 952# CONFIG_W1 is not set
683# CONFIG_POWER_SUPPLY is not set 953# CONFIG_POWER_SUPPLY is not set
684CONFIG_HWMON=y 954CONFIG_HWMON=y
685# CONFIG_HWMON_VID is not set 955# CONFIG_HWMON_VID is not set
956# CONFIG_SENSORS_AD7414 is not set
686# CONFIG_SENSORS_AD7418 is not set 957# CONFIG_SENSORS_AD7418 is not set
687# CONFIG_SENSORS_ADM1021 is not set 958# CONFIG_SENSORS_ADM1021 is not set
688# CONFIG_SENSORS_ADM1025 is not set 959# CONFIG_SENSORS_ADM1025 is not set
@@ -692,8 +963,10 @@ CONFIG_HWMON=y
692# CONFIG_SENSORS_ADM9240 is not set 963# CONFIG_SENSORS_ADM9240 is not set
693# CONFIG_SENSORS_ADT7470 is not set 964# CONFIG_SENSORS_ADT7470 is not set
694# CONFIG_SENSORS_ADT7473 is not set 965# CONFIG_SENSORS_ADT7473 is not set
966# CONFIG_SENSORS_AMS is not set
695# CONFIG_SENSORS_ATXP1 is not set 967# CONFIG_SENSORS_ATXP1 is not set
696# CONFIG_SENSORS_DS1621 is not set 968# CONFIG_SENSORS_DS1621 is not set
969# CONFIG_SENSORS_I5K_AMB is not set
697# CONFIG_SENSORS_F71805F is not set 970# CONFIG_SENSORS_F71805F is not set
698# CONFIG_SENSORS_F71882FG is not set 971# CONFIG_SENSORS_F71882FG is not set
699# CONFIG_SENSORS_F75375S is not set 972# CONFIG_SENSORS_F75375S is not set
@@ -715,13 +988,16 @@ CONFIG_HWMON=y
715# CONFIG_SENSORS_MAX6650 is not set 988# CONFIG_SENSORS_MAX6650 is not set
716# CONFIG_SENSORS_PC87360 is not set 989# CONFIG_SENSORS_PC87360 is not set
717# CONFIG_SENSORS_PC87427 is not set 990# CONFIG_SENSORS_PC87427 is not set
991# CONFIG_SENSORS_SIS5595 is not set
718# CONFIG_SENSORS_DME1737 is not set 992# CONFIG_SENSORS_DME1737 is not set
719# CONFIG_SENSORS_SMSC47M1 is not set 993# CONFIG_SENSORS_SMSC47M1 is not set
720# CONFIG_SENSORS_SMSC47M192 is not set 994# CONFIG_SENSORS_SMSC47M192 is not set
721# CONFIG_SENSORS_SMSC47B397 is not set 995# CONFIG_SENSORS_SMSC47B397 is not set
722# CONFIG_SENSORS_ADS7828 is not set 996# CONFIG_SENSORS_ADS7828 is not set
723# CONFIG_SENSORS_THMC50 is not set 997# CONFIG_SENSORS_THMC50 is not set
998# CONFIG_SENSORS_VIA686A is not set
724# CONFIG_SENSORS_VT1211 is not set 999# CONFIG_SENSORS_VT1211 is not set
1000# CONFIG_SENSORS_VT8231 is not set
725# CONFIG_SENSORS_W83781D is not set 1001# CONFIG_SENSORS_W83781D is not set
726# CONFIG_SENSORS_W83791D is not set 1002# CONFIG_SENSORS_W83791D is not set
727# CONFIG_SENSORS_W83792D is not set 1003# CONFIG_SENSORS_W83792D is not set
@@ -732,6 +1008,7 @@ CONFIG_HWMON=y
732# CONFIG_SENSORS_W83627EHF is not set 1008# CONFIG_SENSORS_W83627EHF is not set
733# CONFIG_HWMON_DEBUG_CHIP is not set 1009# CONFIG_HWMON_DEBUG_CHIP is not set
734# CONFIG_THERMAL is not set 1010# CONFIG_THERMAL is not set
1011# CONFIG_THERMAL_HWMON is not set
735CONFIG_WATCHDOG=y 1012CONFIG_WATCHDOG=y
736# CONFIG_WATCHDOG_NOWAYOUT is not set 1013# CONFIG_WATCHDOG_NOWAYOUT is not set
737 1014
@@ -739,7 +1016,15 @@ CONFIG_WATCHDOG=y
739# Watchdog Device Drivers 1016# Watchdog Device Drivers
740# 1017#
741# CONFIG_SOFT_WATCHDOG is not set 1018# CONFIG_SOFT_WATCHDOG is not set
742CONFIG_83xx_WDT=y 1019# CONFIG_ALIM7101_WDT is not set
1020# CONFIG_8xxx_WDT is not set
1021# CONFIG_WATCHDOG_RTAS is not set
1022
1023#
1024# PCI-based Watchdog Cards
1025#
1026# CONFIG_PCIPCWATCHDOG is not set
1027# CONFIG_WDTPCI is not set
743 1028
744# 1029#
745# USB-based Watchdog Cards 1030# USB-based Watchdog Cards
@@ -755,8 +1040,10 @@ CONFIG_SSB_POSSIBLE=y
755# 1040#
756# Multifunction device drivers 1041# Multifunction device drivers
757# 1042#
1043# CONFIG_MFD_CORE is not set
758# CONFIG_MFD_SM501 is not set 1044# CONFIG_MFD_SM501 is not set
759# CONFIG_HTC_PASIC3 is not set 1045# CONFIG_HTC_PASIC3 is not set
1046# CONFIG_MFD_TMIO is not set
760 1047
761# 1048#
762# Multimedia devices 1049# Multimedia devices
@@ -778,6 +1065,8 @@ CONFIG_DAB=y
778# 1065#
779# Graphics support 1066# Graphics support
780# 1067#
1068# CONFIG_AGP is not set
1069# CONFIG_DRM is not set
781# CONFIG_VGASTATE is not set 1070# CONFIG_VGASTATE is not set
782CONFIG_VIDEO_OUTPUT_CONTROL=m 1071CONFIG_VIDEO_OUTPUT_CONTROL=m
783# CONFIG_FB is not set 1072# CONFIG_FB is not set
@@ -787,10 +1076,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
787# Display device support 1076# Display device support
788# 1077#
789# CONFIG_DISPLAY_SUPPORT is not set 1078# CONFIG_DISPLAY_SUPPORT is not set
790
791#
792# Sound
793#
794# CONFIG_SOUND is not set 1079# CONFIG_SOUND is not set
795CONFIG_HID_SUPPORT=y 1080CONFIG_HID_SUPPORT=y
796CONFIG_HID=y 1081CONFIG_HID=y
@@ -806,7 +1091,7 @@ CONFIG_USB_HID=y
806# CONFIG_USB_HIDDEV is not set 1091# CONFIG_USB_HIDDEV is not set
807CONFIG_USB_SUPPORT=y 1092CONFIG_USB_SUPPORT=y
808CONFIG_USB_ARCH_HAS_HCD=y 1093CONFIG_USB_ARCH_HAS_HCD=y
809# CONFIG_USB_ARCH_HAS_OHCI is not set 1094CONFIG_USB_ARCH_HAS_OHCI=y
810CONFIG_USB_ARCH_HAS_EHCI=y 1095CONFIG_USB_ARCH_HAS_EHCI=y
811CONFIG_USB=y 1096CONFIG_USB=y
812# CONFIG_USB_DEBUG is not set 1097# CONFIG_USB_DEBUG is not set
@@ -821,6 +1106,7 @@ CONFIG_USB_DEVICE_CLASS=y
821# CONFIG_USB_OTG is not set 1106# CONFIG_USB_OTG is not set
822# CONFIG_USB_OTG_WHITELIST is not set 1107# CONFIG_USB_OTG_WHITELIST is not set
823# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1108# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1109CONFIG_USB_MON=y
824 1110
825# 1111#
826# USB Host Controller Drivers 1112# USB Host Controller Drivers
@@ -833,6 +1119,8 @@ CONFIG_USB_EHCI_FSL=y
833CONFIG_USB_EHCI_HCD_PPC_OF=y 1119CONFIG_USB_EHCI_HCD_PPC_OF=y
834# CONFIG_USB_ISP116X_HCD is not set 1120# CONFIG_USB_ISP116X_HCD is not set
835# CONFIG_USB_ISP1760_HCD is not set 1121# CONFIG_USB_ISP1760_HCD is not set
1122# CONFIG_USB_OHCI_HCD is not set
1123# CONFIG_USB_UHCI_HCD is not set
836# CONFIG_USB_SL811_HCD is not set 1124# CONFIG_USB_SL811_HCD is not set
837# CONFIG_USB_R8A66597_HCD is not set 1125# CONFIG_USB_R8A66597_HCD is not set
838 1126
@@ -858,7 +1146,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
858# 1146#
859# CONFIG_USB_MDC800 is not set 1147# CONFIG_USB_MDC800 is not set
860# CONFIG_USB_MICROTEK is not set 1148# CONFIG_USB_MICROTEK is not set
861CONFIG_USB_MON=y
862 1149
863# 1150#
864# USB port drivers 1151# USB port drivers
@@ -871,7 +1158,6 @@ CONFIG_USB_MON=y
871# CONFIG_USB_EMI62 is not set 1158# CONFIG_USB_EMI62 is not set
872# CONFIG_USB_EMI26 is not set 1159# CONFIG_USB_EMI26 is not set
873# CONFIG_USB_ADUTUX is not set 1160# CONFIG_USB_ADUTUX is not set
874# CONFIG_USB_AUERSWALD is not set
875# CONFIG_USB_RIO500 is not set 1161# CONFIG_USB_RIO500 is not set
876# CONFIG_USB_LEGOTOWER is not set 1162# CONFIG_USB_LEGOTOWER is not set
877# CONFIG_USB_LCD is not set 1163# CONFIG_USB_LCD is not set
@@ -893,6 +1179,7 @@ CONFIG_USB_MON=y
893# CONFIG_MEMSTICK is not set 1179# CONFIG_MEMSTICK is not set
894# CONFIG_NEW_LEDS is not set 1180# CONFIG_NEW_LEDS is not set
895# CONFIG_ACCESSIBILITY is not set 1181# CONFIG_ACCESSIBILITY is not set
1182# CONFIG_INFINIBAND is not set
896# CONFIG_EDAC is not set 1183# CONFIG_EDAC is not set
897# CONFIG_RTC_CLASS is not set 1184# CONFIG_RTC_CLASS is not set
898# CONFIG_DMADEVICES is not set 1185# CONFIG_DMADEVICES is not set
@@ -963,6 +1250,7 @@ CONFIG_TMPFS=y
963# CONFIG_CRAMFS is not set 1250# CONFIG_CRAMFS is not set
964# CONFIG_VXFS_FS is not set 1251# CONFIG_VXFS_FS is not set
965# CONFIG_MINIX_FS is not set 1252# CONFIG_MINIX_FS is not set
1253# CONFIG_OMFS_FS is not set
966# CONFIG_HPFS_FS is not set 1254# CONFIG_HPFS_FS is not set
967# CONFIG_QNX4FS_FS is not set 1255# CONFIG_QNX4FS_FS is not set
968# CONFIG_ROMFS_FS is not set 1256# CONFIG_ROMFS_FS is not set
@@ -973,14 +1261,13 @@ CONFIG_NFS_FS=y
973CONFIG_NFS_V3=y 1261CONFIG_NFS_V3=y
974# CONFIG_NFS_V3_ACL is not set 1262# CONFIG_NFS_V3_ACL is not set
975CONFIG_NFS_V4=y 1263CONFIG_NFS_V4=y
976# CONFIG_NFSD is not set
977CONFIG_ROOT_NFS=y 1264CONFIG_ROOT_NFS=y
1265# CONFIG_NFSD is not set
978CONFIG_LOCKD=y 1266CONFIG_LOCKD=y
979CONFIG_LOCKD_V4=y 1267CONFIG_LOCKD_V4=y
980CONFIG_NFS_COMMON=y 1268CONFIG_NFS_COMMON=y
981CONFIG_SUNRPC=y 1269CONFIG_SUNRPC=y
982CONFIG_SUNRPC_GSS=y 1270CONFIG_SUNRPC_GSS=y
983# CONFIG_SUNRPC_BIND34 is not set
984CONFIG_RPCSEC_GSS_KRB5=y 1271CONFIG_RPCSEC_GSS_KRB5=y
985# CONFIG_RPCSEC_GSS_SPKM3 is not set 1272# CONFIG_RPCSEC_GSS_SPKM3 is not set
986# CONFIG_SMB_FS is not set 1273# CONFIG_SMB_FS is not set
@@ -1014,6 +1301,7 @@ CONFIG_MSDOS_PARTITION=y
1014# CONFIG_DLM is not set 1301# CONFIG_DLM is not set
1015CONFIG_UCC_FAST=y 1302CONFIG_UCC_FAST=y
1016CONFIG_UCC=y 1303CONFIG_UCC=y
1304CONFIG_QE_GPIO=y
1017 1305
1018# 1306#
1019# Library routines 1307# Library routines
@@ -1022,6 +1310,7 @@ CONFIG_BITREVERSE=y
1022# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1310# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1023# CONFIG_CRC_CCITT is not set 1311# CONFIG_CRC_CCITT is not set
1024# CONFIG_CRC16 is not set 1312# CONFIG_CRC16 is not set
1313CONFIG_CRC_T10DIF=y
1025# CONFIG_CRC_ITU_T is not set 1314# CONFIG_CRC_ITU_T is not set
1026CONFIG_CRC32=y 1315CONFIG_CRC32=y
1027# CONFIG_CRC7 is not set 1316# CONFIG_CRC7 is not set
@@ -1045,8 +1334,18 @@ CONFIG_FRAME_WARN=1024
1045# CONFIG_HEADERS_CHECK is not set 1334# CONFIG_HEADERS_CHECK is not set
1046# CONFIG_DEBUG_KERNEL is not set 1335# CONFIG_DEBUG_KERNEL is not set
1047# CONFIG_DEBUG_BUGVERBOSE is not set 1336# CONFIG_DEBUG_BUGVERBOSE is not set
1337# CONFIG_DEBUG_MEMORY_INIT is not set
1338# CONFIG_LATENCYTOP is not set
1339CONFIG_SYSCTL_SYSCALL_CHECK=y
1340CONFIG_HAVE_FTRACE=y
1341CONFIG_HAVE_DYNAMIC_FTRACE=y
1342# CONFIG_FTRACE is not set
1343# CONFIG_SCHED_TRACER is not set
1344# CONFIG_CONTEXT_SWITCH_TRACER is not set
1048# CONFIG_SAMPLES is not set 1345# CONFIG_SAMPLES is not set
1346CONFIG_HAVE_ARCH_KGDB=y
1049# CONFIG_IRQSTACKS is not set 1347# CONFIG_IRQSTACKS is not set
1348# CONFIG_BOOTX_TEXT is not set
1050# CONFIG_PPC_EARLY_DEBUG is not set 1349# CONFIG_PPC_EARLY_DEBUG is not set
1051 1350
1052# 1351#
@@ -1061,12 +1360,14 @@ CONFIG_CRYPTO=y
1061# Crypto core or helper 1360# Crypto core or helper
1062# 1361#
1063CONFIG_CRYPTO_ALGAPI=y 1362CONFIG_CRYPTO_ALGAPI=y
1363CONFIG_CRYPTO_AEAD=y
1064CONFIG_CRYPTO_BLKCIPHER=y 1364CONFIG_CRYPTO_BLKCIPHER=y
1365CONFIG_CRYPTO_HASH=y
1065CONFIG_CRYPTO_MANAGER=y 1366CONFIG_CRYPTO_MANAGER=y
1066# CONFIG_CRYPTO_GF128MUL is not set 1367# CONFIG_CRYPTO_GF128MUL is not set
1067# CONFIG_CRYPTO_NULL is not set 1368# CONFIG_CRYPTO_NULL is not set
1068# CONFIG_CRYPTO_CRYPTD is not set 1369# CONFIG_CRYPTO_CRYPTD is not set
1069# CONFIG_CRYPTO_AUTHENC is not set 1370CONFIG_CRYPTO_AUTHENC=y
1070# CONFIG_CRYPTO_TEST is not set 1371# CONFIG_CRYPTO_TEST is not set
1071 1372
1072# 1373#
@@ -1100,6 +1401,10 @@ CONFIG_CRYPTO_PCBC=m
1100# CONFIG_CRYPTO_MD4 is not set 1401# CONFIG_CRYPTO_MD4 is not set
1101CONFIG_CRYPTO_MD5=y 1402CONFIG_CRYPTO_MD5=y
1102# CONFIG_CRYPTO_MICHAEL_MIC is not set 1403# CONFIG_CRYPTO_MICHAEL_MIC is not set
1404# CONFIG_CRYPTO_RMD128 is not set
1405# CONFIG_CRYPTO_RMD160 is not set
1406# CONFIG_CRYPTO_RMD256 is not set
1407# CONFIG_CRYPTO_RMD320 is not set
1103# CONFIG_CRYPTO_SHA1 is not set 1408# CONFIG_CRYPTO_SHA1 is not set
1104# CONFIG_CRYPTO_SHA256 is not set 1409# CONFIG_CRYPTO_SHA256 is not set
1105# CONFIG_CRYPTO_SHA512 is not set 1410# CONFIG_CRYPTO_SHA512 is not set
@@ -1131,6 +1436,8 @@ CONFIG_CRYPTO_DES=y
1131# CONFIG_CRYPTO_DEFLATE is not set 1436# CONFIG_CRYPTO_DEFLATE is not set
1132# CONFIG_CRYPTO_LZO is not set 1437# CONFIG_CRYPTO_LZO is not set
1133CONFIG_CRYPTO_HW=y 1438CONFIG_CRYPTO_HW=y
1439# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1440CONFIG_CRYPTO_DEV_TALITOS=y
1134# CONFIG_PPC_CLOCK is not set 1441# CONFIG_PPC_CLOCK is not set
1135CONFIG_PPC_LIB_RHEAP=y 1442CONFIG_PPC_LIB_RHEAP=y
1136# CONFIG_VIRTUALIZATION is not set 1443# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index fa0170504b88..f0a13bebf50c 100644
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ b/arch/powerpc/configs/mpc85xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 09:03:46 2008 4# Thu Aug 21 07:15:20 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_PPC_85xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_E500=y 17CONFIG_E500=y
18# CONFIG_PPC_E500MC is not set
18CONFIG_BOOKE=y 19CONFIG_BOOKE=y
19CONFIG_FSL_BOOKE=y 20CONFIG_FSL_BOOKE=y
20CONFIG_FSL_EMB_PERFMON=y 21CONFIG_FSL_EMB_PERFMON=y
@@ -33,12 +34,14 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
39CONFIG_GENERIC_HWEIGHT=y 41CONFIG_GENERIC_HWEIGHT=y
40CONFIG_GENERIC_CALIBRATE_DELAY=y 42CONFIG_GENERIC_CALIBRATE_DELAY=y
41CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y
42# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
43CONFIG_PPC=y 46CONFIG_PPC=y
44CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
@@ -92,7 +95,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 96CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 97CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 98CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 99CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_EXTRA_PASS=y 100CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -118,10 +120,16 @@ CONFIG_SLUB=y
118# CONFIG_MARKERS is not set 120# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 121CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 122# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
124CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set 128# CONFIG_HAVE_DMA_ATTRS is not set
129# CONFIG_USE_GENERIC_SMP_HELPERS is not set
130CONFIG_HAVE_CLK=y
124CONFIG_PROC_PAGE_MONITOR=y 131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 134CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 135# CONFIG_TINY_SHMEM is not set
@@ -138,6 +146,7 @@ CONFIG_LBD=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 146# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 147# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 148# CONFIG_BLK_DEV_BSG is not set
149# CONFIG_BLK_DEV_INTEGRITY is not set
141 150
142# 151#
143# IO Schedulers 152# IO Schedulers
@@ -156,8 +165,6 @@ CONFIG_CLASSIC_RCU=y
156# 165#
157# Platform support 166# Platform support
158# 167#
159# CONFIG_PPC_MPC512x is not set
160# CONFIG_PPC_MPC5121 is not set
161# CONFIG_PPC_CELL is not set 168# CONFIG_PPC_CELL is not set
162# CONFIG_PPC_CELL_NATIVE is not set 169# CONFIG_PPC_CELL_NATIVE is not set
163# CONFIG_PQ2ADS is not set 170# CONFIG_PQ2ADS is not set
@@ -166,11 +173,13 @@ CONFIG_MPC8540_ADS=y
166CONFIG_MPC8560_ADS=y 173CONFIG_MPC8560_ADS=y
167CONFIG_MPC85xx_CDS=y 174CONFIG_MPC85xx_CDS=y
168CONFIG_MPC85xx_MDS=y 175CONFIG_MPC85xx_MDS=y
176CONFIG_MPC8536_DS=y
169CONFIG_MPC85xx_DS=y 177CONFIG_MPC85xx_DS=y
170CONFIG_KSI8560=y 178CONFIG_KSI8560=y
171# CONFIG_STX_GP3 is not set 179# CONFIG_STX_GP3 is not set
172CONFIG_TQM8540=y 180CONFIG_TQM8540=y
173CONFIG_TQM8541=y 181CONFIG_TQM8541=y
182CONFIG_TQM8548=y
174CONFIG_TQM8555=y 183CONFIG_TQM8555=y
175CONFIG_TQM8560=y 184CONFIG_TQM8560=y
176CONFIG_SBC8548=y 185CONFIG_SBC8548=y
@@ -189,7 +198,6 @@ CONFIG_PPC_I8259=y
189# CONFIG_CPU_FREQ is not set 198# CONFIG_CPU_FREQ is not set
190CONFIG_QUICC_ENGINE=y 199CONFIG_QUICC_ENGINE=y
191CONFIG_CPM2=y 200CONFIG_CPM2=y
192CONFIG_PPC_CPM_NEW_BINDING=y
193CONFIG_FSL_ULI1575=y 201CONFIG_FSL_ULI1575=y
194CONFIG_CPM=y 202CONFIG_CPM=y
195 203
@@ -206,7 +214,7 @@ CONFIG_HZ_250=y
206# CONFIG_HZ_300 is not set 214# CONFIG_HZ_300 is not set
207# CONFIG_HZ_1000 is not set 215# CONFIG_HZ_1000 is not set
208CONFIG_HZ=250 216CONFIG_HZ=250
209# CONFIG_SCHED_HRTICK is not set 217CONFIG_SCHED_HRTICK=y
210CONFIG_PREEMPT_NONE=y 218CONFIG_PREEMPT_NONE=y
211# CONFIG_PREEMPT_VOLUNTARY is not set 219# CONFIG_PREEMPT_VOLUNTARY is not set
212# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
@@ -229,6 +237,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
229# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 237# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
230CONFIG_PAGEFLAGS_EXTENDED=y 238CONFIG_PAGEFLAGS_EXTENDED=y
231CONFIG_SPLIT_PTLOCK_CPUS=4 239CONFIG_SPLIT_PTLOCK_CPUS=4
240CONFIG_MIGRATION=y
232# CONFIG_RESOURCES_64BIT is not set 241# CONFIG_RESOURCES_64BIT is not set
233CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
@@ -236,6 +245,7 @@ CONFIG_VIRT_TO_BUS=y
236CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
248CONFIG_EXTRA_TARGETS=""
239# CONFIG_PM is not set 249# CONFIG_PM is not set
240CONFIG_SECCOMP=y 250CONFIG_SECCOMP=y
241CONFIG_ISA_DMA_API=y 251CONFIG_ISA_DMA_API=y
@@ -248,6 +258,7 @@ CONFIG_GENERIC_ISA_DMA=y
248CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
249CONFIG_FSL_SOC=y 259CONFIG_FSL_SOC=y
250CONFIG_FSL_PCI=y 260CONFIG_FSL_PCI=y
261CONFIG_PPC_PCI_CHOICE=y
251CONFIG_PCI=y 262CONFIG_PCI=y
252CONFIG_PCI_DOMAINS=y 263CONFIG_PCI_DOMAINS=y
253CONFIG_PCI_SYSCALL=y 264CONFIG_PCI_SYSCALL=y
@@ -274,10 +285,6 @@ CONFIG_KERNEL_START=0xc0000000
274CONFIG_PHYSICAL_START=0x00000000 285CONFIG_PHYSICAL_START=0x00000000
275CONFIG_PHYSICAL_ALIGN=0x10000000 286CONFIG_PHYSICAL_ALIGN=0x10000000
276CONFIG_TASK_SIZE=0xc0000000 287CONFIG_TASK_SIZE=0xc0000000
277
278#
279# Networking
280#
281CONFIG_NET=y 288CONFIG_NET=y
282 289
283# 290#
@@ -403,12 +410,15 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
403CONFIG_STANDALONE=y 410CONFIG_STANDALONE=y
404CONFIG_PREVENT_FIRMWARE_BUILD=y 411CONFIG_PREVENT_FIRMWARE_BUILD=y
405CONFIG_FW_LOADER=y 412CONFIG_FW_LOADER=y
413CONFIG_FIRMWARE_IN_KERNEL=y
414CONFIG_EXTRA_FIRMWARE=""
406# CONFIG_DEBUG_DRIVER is not set 415# CONFIG_DEBUG_DRIVER is not set
407# CONFIG_DEBUG_DEVRES is not set 416# CONFIG_DEBUG_DEVRES is not set
408# CONFIG_SYS_HYPERVISOR is not set 417# CONFIG_SYS_HYPERVISOR is not set
409# CONFIG_CONNECTOR is not set 418# CONFIG_CONNECTOR is not set
410# CONFIG_MTD is not set 419# CONFIG_MTD is not set
411CONFIG_OF_DEVICE=y 420CONFIG_OF_DEVICE=y
421CONFIG_OF_GPIO=y
412CONFIG_OF_I2C=y 422CONFIG_OF_I2C=y
413# CONFIG_PARPORT is not set 423# CONFIG_PARPORT is not set
414CONFIG_BLK_DEV=y 424CONFIG_BLK_DEV=y
@@ -429,12 +439,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
429# CONFIG_BLK_DEV_XIP is not set 439# CONFIG_BLK_DEV_XIP is not set
430# CONFIG_CDROM_PKTCDVD is not set 440# CONFIG_CDROM_PKTCDVD is not set
431# CONFIG_ATA_OVER_ETH is not set 441# CONFIG_ATA_OVER_ETH is not set
442# CONFIG_BLK_DEV_HD is not set
432CONFIG_MISC_DEVICES=y 443CONFIG_MISC_DEVICES=y
433# CONFIG_PHANTOM is not set 444# CONFIG_PHANTOM is not set
434# CONFIG_EEPROM_93CX6 is not set 445# CONFIG_EEPROM_93CX6 is not set
435# CONFIG_SGI_IOC4 is not set 446# CONFIG_SGI_IOC4 is not set
436# CONFIG_TIFM_CORE is not set 447# CONFIG_TIFM_CORE is not set
437# CONFIG_ENCLOSURE_SERVICES is not set 448# CONFIG_ENCLOSURE_SERVICES is not set
449# CONFIG_HP_ILO is not set
438CONFIG_HAVE_IDE=y 450CONFIG_HAVE_IDE=y
439# CONFIG_IDE is not set 451# CONFIG_IDE is not set
440 452
@@ -514,6 +526,7 @@ CONFIG_SCSI_LOWLEVEL=y
514# CONFIG_SCSI_NSP32 is not set 526# CONFIG_SCSI_NSP32 is not set
515# CONFIG_SCSI_DEBUG is not set 527# CONFIG_SCSI_DEBUG is not set
516# CONFIG_SCSI_SRP is not set 528# CONFIG_SCSI_SRP is not set
529# CONFIG_SCSI_DH is not set
517CONFIG_ATA=y 530CONFIG_ATA=y
518# CONFIG_ATA_NONSTANDARD is not set 531# CONFIG_ATA_NONSTANDARD is not set
519CONFIG_SATA_PMP=y 532CONFIG_SATA_PMP=y
@@ -581,12 +594,15 @@ CONFIG_PATA_ALI=y
581# 594#
582# IEEE 1394 (FireWire) support 595# IEEE 1394 (FireWire) support
583# 596#
597
598#
599# Enable only one of the two stacks, unless you know what you are doing
600#
584# CONFIG_FIREWIRE is not set 601# CONFIG_FIREWIRE is not set
585# CONFIG_IEEE1394 is not set 602# CONFIG_IEEE1394 is not set
586# CONFIG_I2O is not set 603# CONFIG_I2O is not set
587# CONFIG_MACINTOSH_DRIVERS is not set 604# CONFIG_MACINTOSH_DRIVERS is not set
588CONFIG_NETDEVICES=y 605CONFIG_NETDEVICES=y
589# CONFIG_NETDEVICES_MULTIQUEUE is not set
590CONFIG_DUMMY=y 606CONFIG_DUMMY=y
591# CONFIG_BONDING is not set 607# CONFIG_BONDING is not set
592# CONFIG_MACVLAN is not set 608# CONFIG_MACVLAN is not set
@@ -631,7 +647,6 @@ CONFIG_NETDEV_1000=y
631# CONFIG_DL2K is not set 647# CONFIG_DL2K is not set
632# CONFIG_E1000 is not set 648# CONFIG_E1000 is not set
633# CONFIG_E1000E is not set 649# CONFIG_E1000E is not set
634# CONFIG_E1000E_ENABLED is not set
635# CONFIG_IP1000 is not set 650# CONFIG_IP1000 is not set
636# CONFIG_IGB is not set 651# CONFIG_IGB is not set
637# CONFIG_NS83820 is not set 652# CONFIG_NS83820 is not set
@@ -645,10 +660,10 @@ CONFIG_NETDEV_1000=y
645# CONFIG_TIGON3 is not set 660# CONFIG_TIGON3 is not set
646# CONFIG_BNX2 is not set 661# CONFIG_BNX2 is not set
647CONFIG_GIANFAR=y 662CONFIG_GIANFAR=y
648CONFIG_GFAR_NAPI=y
649# CONFIG_UCC_GETH is not set 663# CONFIG_UCC_GETH is not set
650# CONFIG_QLA3XXX is not set 664# CONFIG_QLA3XXX is not set
651# CONFIG_ATL1 is not set 665# CONFIG_ATL1 is not set
666# CONFIG_ATL1E is not set
652CONFIG_NETDEV_10000=y 667CONFIG_NETDEV_10000=y
653# CONFIG_CHELSIO_T1 is not set 668# CONFIG_CHELSIO_T1 is not set
654# CONFIG_CHELSIO_T3 is not set 669# CONFIG_CHELSIO_T3 is not set
@@ -725,12 +740,14 @@ CONFIG_SERIO_SERPORT=y
725# CONFIG_SERIO_PCIPS2 is not set 740# CONFIG_SERIO_PCIPS2 is not set
726CONFIG_SERIO_LIBPS2=y 741CONFIG_SERIO_LIBPS2=y
727# CONFIG_SERIO_RAW is not set 742# CONFIG_SERIO_RAW is not set
743# CONFIG_SERIO_XILINX_XPS_PS2 is not set
728# CONFIG_GAMEPORT is not set 744# CONFIG_GAMEPORT is not set
729 745
730# 746#
731# Character devices 747# Character devices
732# 748#
733CONFIG_VT=y 749CONFIG_VT=y
750CONFIG_CONSOLE_TRANSLATIONS=y
734CONFIG_VT_CONSOLE=y 751CONFIG_VT_CONSOLE=y
735CONFIG_HW_CONSOLE=y 752CONFIG_HW_CONSOLE=y
736# CONFIG_VT_HW_CONSOLE_BINDING is not set 753# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -776,44 +793,68 @@ CONFIG_DEVPORT=y
776CONFIG_I2C=y 793CONFIG_I2C=y
777CONFIG_I2C_BOARDINFO=y 794CONFIG_I2C_BOARDINFO=y
778# CONFIG_I2C_CHARDEV is not set 795# CONFIG_I2C_CHARDEV is not set
796CONFIG_I2C_HELPER_AUTO=y
779 797
780# 798#
781# I2C Hardware Bus support 799# I2C Hardware Bus support
782# 800#
801
802#
803# PC SMBus host controller drivers
804#
783# CONFIG_I2C_ALI1535 is not set 805# CONFIG_I2C_ALI1535 is not set
784# CONFIG_I2C_ALI1563 is not set 806# CONFIG_I2C_ALI1563 is not set
785# CONFIG_I2C_ALI15X3 is not set 807# CONFIG_I2C_ALI15X3 is not set
786# CONFIG_I2C_AMD756 is not set 808# CONFIG_I2C_AMD756 is not set
787# CONFIG_I2C_AMD8111 is not set 809# CONFIG_I2C_AMD8111 is not set
788# CONFIG_I2C_I801 is not set 810# CONFIG_I2C_I801 is not set
789# CONFIG_I2C_I810 is not set 811# CONFIG_I2C_ISCH is not set
790# CONFIG_I2C_PIIX4 is not set 812# CONFIG_I2C_PIIX4 is not set
791CONFIG_I2C_MPC=y
792# CONFIG_I2C_NFORCE2 is not set 813# CONFIG_I2C_NFORCE2 is not set
793# CONFIG_I2C_OCORES is not set
794# CONFIG_I2C_PARPORT_LIGHT is not set
795# CONFIG_I2C_PROSAVAGE is not set
796# CONFIG_I2C_SAVAGE4 is not set
797# CONFIG_I2C_SIMTEC is not set
798# CONFIG_I2C_SIS5595 is not set 814# CONFIG_I2C_SIS5595 is not set
799# CONFIG_I2C_SIS630 is not set 815# CONFIG_I2C_SIS630 is not set
800# CONFIG_I2C_SIS96X is not set 816# CONFIG_I2C_SIS96X is not set
801# CONFIG_I2C_TAOS_EVM is not set
802# CONFIG_I2C_STUB is not set
803# CONFIG_I2C_TINY_USB is not set
804# CONFIG_I2C_VIA is not set 817# CONFIG_I2C_VIA is not set
805# CONFIG_I2C_VIAPRO is not set 818# CONFIG_I2C_VIAPRO is not set
819
820#
821# I2C system bus drivers (mostly embedded / system-on-chip)
822#
823# CONFIG_I2C_CPM is not set
824# CONFIG_I2C_GPIO is not set
825CONFIG_I2C_MPC=y
826# CONFIG_I2C_OCORES is not set
827# CONFIG_I2C_SIMTEC is not set
828
829#
830# External I2C/SMBus adapter drivers
831#
832# CONFIG_I2C_PARPORT_LIGHT is not set
833# CONFIG_I2C_TAOS_EVM is not set
834# CONFIG_I2C_TINY_USB is not set
835
836#
837# Graphics adapter I2C/DDC channel drivers
838#
806# CONFIG_I2C_VOODOO3 is not set 839# CONFIG_I2C_VOODOO3 is not set
840
841#
842# Other I2C/SMBus bus drivers
843#
807# CONFIG_I2C_PCA_PLATFORM is not set 844# CONFIG_I2C_PCA_PLATFORM is not set
845# CONFIG_I2C_STUB is not set
808 846
809# 847#
810# Miscellaneous I2C Chip support 848# Miscellaneous I2C Chip support
811# 849#
812# CONFIG_DS1682 is not set 850# CONFIG_DS1682 is not set
851# CONFIG_AT24 is not set
813CONFIG_SENSORS_EEPROM=y 852CONFIG_SENSORS_EEPROM=y
814# CONFIG_SENSORS_PCF8574 is not set 853# CONFIG_SENSORS_PCF8574 is not set
815# CONFIG_PCF8575 is not set 854# CONFIG_PCF8575 is not set
855# CONFIG_SENSORS_PCA9539 is not set
816# CONFIG_SENSORS_PCF8591 is not set 856# CONFIG_SENSORS_PCF8591 is not set
857# CONFIG_TPS65010 is not set
817# CONFIG_SENSORS_MAX6875 is not set 858# CONFIG_SENSORS_MAX6875 is not set
818# CONFIG_SENSORS_TSL2550 is not set 859# CONFIG_SENSORS_TSL2550 is not set
819# CONFIG_I2C_DEBUG_CORE is not set 860# CONFIG_I2C_DEBUG_CORE is not set
@@ -821,10 +862,32 @@ CONFIG_SENSORS_EEPROM=y
821# CONFIG_I2C_DEBUG_BUS is not set 862# CONFIG_I2C_DEBUG_BUS is not set
822# CONFIG_I2C_DEBUG_CHIP is not set 863# CONFIG_I2C_DEBUG_CHIP is not set
823# CONFIG_SPI is not set 864# CONFIG_SPI is not set
865CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
866CONFIG_ARCH_REQUIRE_GPIOLIB=y
867CONFIG_GPIOLIB=y
868# CONFIG_DEBUG_GPIO is not set
869# CONFIG_GPIO_SYSFS is not set
870
871#
872# I2C GPIO expanders:
873#
874# CONFIG_GPIO_MAX732X is not set
875# CONFIG_GPIO_PCA953X is not set
876# CONFIG_GPIO_PCF857X is not set
877
878#
879# PCI GPIO expanders:
880#
881# CONFIG_GPIO_BT8XX is not set
882
883#
884# SPI GPIO expanders:
885#
824# CONFIG_W1 is not set 886# CONFIG_W1 is not set
825# CONFIG_POWER_SUPPLY is not set 887# CONFIG_POWER_SUPPLY is not set
826# CONFIG_HWMON is not set 888# CONFIG_HWMON is not set
827# CONFIG_THERMAL is not set 889# CONFIG_THERMAL is not set
890# CONFIG_THERMAL_HWMON is not set
828# CONFIG_WATCHDOG is not set 891# CONFIG_WATCHDOG is not set
829 892
830# 893#
@@ -836,8 +899,10 @@ CONFIG_SSB_POSSIBLE=y
836# 899#
837# Multifunction device drivers 900# Multifunction device drivers
838# 901#
902# CONFIG_MFD_CORE is not set
839# CONFIG_MFD_SM501 is not set 903# CONFIG_MFD_SM501 is not set
840# CONFIG_HTC_PASIC3 is not set 904# CONFIG_HTC_PASIC3 is not set
905# CONFIG_MFD_TMIO is not set
841 906
842# 907#
843# Multimedia devices 908# Multimedia devices
@@ -879,6 +944,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
879# CONFIG_DVB_TTUSB_BUDGET is not set 944# CONFIG_DVB_TTUSB_BUDGET is not set
880# CONFIG_DVB_TTUSB_DEC is not set 945# CONFIG_DVB_TTUSB_DEC is not set
881# CONFIG_DVB_CINERGYT2 is not set 946# CONFIG_DVB_CINERGYT2 is not set
947# CONFIG_DVB_SIANO_SMS1XXX is not set
882 948
883# 949#
884# Supported FlexCopII (B2C2) Adapters 950# Supported FlexCopII (B2C2) Adapters
@@ -925,6 +991,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
925# CONFIG_DVB_SP887X is not set 991# CONFIG_DVB_SP887X is not set
926# CONFIG_DVB_CX22700 is not set 992# CONFIG_DVB_CX22700 is not set
927# CONFIG_DVB_CX22702 is not set 993# CONFIG_DVB_CX22702 is not set
994# CONFIG_DVB_DRX397XD is not set
928# CONFIG_DVB_L64781 is not set 995# CONFIG_DVB_L64781 is not set
929# CONFIG_DVB_TDA1004X is not set 996# CONFIG_DVB_TDA1004X is not set
930# CONFIG_DVB_NXT6000 is not set 997# CONFIG_DVB_NXT6000 is not set
@@ -992,15 +1059,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
992CONFIG_VGA_CONSOLE=y 1059CONFIG_VGA_CONSOLE=y
993# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1060# CONFIG_VGACON_SOFT_SCROLLBACK is not set
994CONFIG_DUMMY_CONSOLE=y 1061CONFIG_DUMMY_CONSOLE=y
995
996#
997# Sound
998#
999CONFIG_SOUND=y 1062CONFIG_SOUND=y
1000
1001#
1002# Advanced Linux Sound Architecture
1003#
1004CONFIG_SND=y 1063CONFIG_SND=y
1005CONFIG_SND_TIMER=y 1064CONFIG_SND_TIMER=y
1006CONFIG_SND_PCM=y 1065CONFIG_SND_PCM=y
@@ -1014,19 +1073,15 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
1014CONFIG_SND_VERBOSE_PROCFS=y 1073CONFIG_SND_VERBOSE_PROCFS=y
1015# CONFIG_SND_VERBOSE_PRINTK is not set 1074# CONFIG_SND_VERBOSE_PRINTK is not set
1016# CONFIG_SND_DEBUG is not set 1075# CONFIG_SND_DEBUG is not set
1017 1076CONFIG_SND_VMASTER=y
1018#
1019# Generic devices
1020#
1021CONFIG_SND_AC97_CODEC=y 1077CONFIG_SND_AC97_CODEC=y
1078CONFIG_SND_DRIVERS=y
1022# CONFIG_SND_DUMMY is not set 1079# CONFIG_SND_DUMMY is not set
1023# CONFIG_SND_MTPAV is not set 1080# CONFIG_SND_MTPAV is not set
1024# CONFIG_SND_SERIAL_U16550 is not set 1081# CONFIG_SND_SERIAL_U16550 is not set
1025# CONFIG_SND_MPU401 is not set 1082# CONFIG_SND_MPU401 is not set
1026 1083# CONFIG_SND_AC97_POWER_SAVE is not set
1027# 1084CONFIG_SND_PCI=y
1028# PCI devices
1029#
1030# CONFIG_SND_AD1889 is not set 1085# CONFIG_SND_AD1889 is not set
1031# CONFIG_SND_ALS300 is not set 1086# CONFIG_SND_ALS300 is not set
1032# CONFIG_SND_ALS4000 is not set 1087# CONFIG_SND_ALS4000 is not set
@@ -1088,39 +1143,12 @@ CONFIG_SND_INTEL8X0=y
1088# CONFIG_SND_VIRTUOSO is not set 1143# CONFIG_SND_VIRTUOSO is not set
1089# CONFIG_SND_VX222 is not set 1144# CONFIG_SND_VX222 is not set
1090# CONFIG_SND_YMFPCI is not set 1145# CONFIG_SND_YMFPCI is not set
1091# CONFIG_SND_AC97_POWER_SAVE is not set 1146CONFIG_SND_PPC=y
1092 1147CONFIG_SND_USB=y
1093#
1094# ALSA PowerMac devices
1095#
1096
1097#
1098# ALSA PowerPC devices
1099#
1100
1101#
1102# USB devices
1103#
1104# CONFIG_SND_USB_AUDIO is not set 1148# CONFIG_SND_USB_AUDIO is not set
1105# CONFIG_SND_USB_USX2Y is not set 1149# CONFIG_SND_USB_USX2Y is not set
1106# CONFIG_SND_USB_CAIAQ is not set 1150# CONFIG_SND_USB_CAIAQ is not set
1107
1108#
1109# System on Chip audio support
1110#
1111# CONFIG_SND_SOC is not set 1151# CONFIG_SND_SOC is not set
1112
1113#
1114# ALSA SoC audio for Freescale SOCs
1115#
1116
1117#
1118# SoC Audio for the Texas Instruments OMAP
1119#
1120
1121#
1122# Open Sound System
1123#
1124# CONFIG_SOUND_PRIME is not set 1152# CONFIG_SOUND_PRIME is not set
1125CONFIG_AC97_BUS=y 1153CONFIG_AC97_BUS=y
1126CONFIG_HID_SUPPORT=y 1154CONFIG_HID_SUPPORT=y
@@ -1152,6 +1180,7 @@ CONFIG_USB_DEVICE_CLASS=y
1152# CONFIG_USB_OTG is not set 1180# CONFIG_USB_OTG is not set
1153# CONFIG_USB_OTG_WHITELIST is not set 1181# CONFIG_USB_OTG_WHITELIST is not set
1154# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1182# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1183CONFIG_USB_MON=y
1155 1184
1156# 1185#
1157# USB Host Controller Drivers 1186# USB Host Controller Drivers
@@ -1175,6 +1204,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1175# CONFIG_USB_UHCI_HCD is not set 1204# CONFIG_USB_UHCI_HCD is not set
1176# CONFIG_USB_SL811_HCD is not set 1205# CONFIG_USB_SL811_HCD is not set
1177# CONFIG_USB_R8A66597_HCD is not set 1206# CONFIG_USB_R8A66597_HCD is not set
1207# CONFIG_USB_MUSB_HDRC is not set
1178 1208
1179# 1209#
1180# USB Device Class drivers 1210# USB Device Class drivers
@@ -1203,6 +1233,7 @@ CONFIG_USB_STORAGE=y
1203# CONFIG_USB_STORAGE_ALAUDA is not set 1233# CONFIG_USB_STORAGE_ALAUDA is not set
1204# CONFIG_USB_STORAGE_ONETOUCH is not set 1234# CONFIG_USB_STORAGE_ONETOUCH is not set
1205# CONFIG_USB_STORAGE_KARMA is not set 1235# CONFIG_USB_STORAGE_KARMA is not set
1236# CONFIG_USB_STORAGE_SIERRA is not set
1206# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1237# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1207# CONFIG_USB_LIBUSUAL is not set 1238# CONFIG_USB_LIBUSUAL is not set
1208 1239
@@ -1211,7 +1242,6 @@ CONFIG_USB_STORAGE=y
1211# 1242#
1212# CONFIG_USB_MDC800 is not set 1243# CONFIG_USB_MDC800 is not set
1213# CONFIG_USB_MICROTEK is not set 1244# CONFIG_USB_MICROTEK is not set
1214CONFIG_USB_MON=y
1215 1245
1216# 1246#
1217# USB port drivers 1247# USB port drivers
@@ -1224,7 +1254,6 @@ CONFIG_USB_MON=y
1224# CONFIG_USB_EMI62 is not set 1254# CONFIG_USB_EMI62 is not set
1225# CONFIG_USB_EMI26 is not set 1255# CONFIG_USB_EMI26 is not set
1226# CONFIG_USB_ADUTUX is not set 1256# CONFIG_USB_ADUTUX is not set
1227# CONFIG_USB_AUERSWALD is not set
1228# CONFIG_USB_RIO500 is not set 1257# CONFIG_USB_RIO500 is not set
1229# CONFIG_USB_LEGOTOWER is not set 1258# CONFIG_USB_LEGOTOWER is not set
1230# CONFIG_USB_LCD is not set 1259# CONFIG_USB_LCD is not set
@@ -1285,6 +1314,7 @@ CONFIG_RTC_INTF_DEV=y
1285# CONFIG_RTC_DRV_PCF8583 is not set 1314# CONFIG_RTC_DRV_PCF8583 is not set
1286# CONFIG_RTC_DRV_M41T80 is not set 1315# CONFIG_RTC_DRV_M41T80 is not set
1287# CONFIG_RTC_DRV_S35390A is not set 1316# CONFIG_RTC_DRV_S35390A is not set
1317# CONFIG_RTC_DRV_FM3130 is not set
1288 1318
1289# 1319#
1290# SPI RTC drivers 1320# SPI RTC drivers
@@ -1318,6 +1348,7 @@ CONFIG_DMA_ENGINE=y
1318# DMA Clients 1348# DMA Clients
1319# 1349#
1320# CONFIG_NET_DMA is not set 1350# CONFIG_NET_DMA is not set
1351# CONFIG_DMATEST is not set
1321# CONFIG_UIO is not set 1352# CONFIG_UIO is not set
1322 1353
1323# 1354#
@@ -1332,6 +1363,7 @@ CONFIG_EXT3_FS_XATTR=y
1332# CONFIG_EXT3_FS_SECURITY is not set 1363# CONFIG_EXT3_FS_SECURITY is not set
1333# CONFIG_EXT4DEV_FS is not set 1364# CONFIG_EXT4DEV_FS is not set
1334CONFIG_JBD=y 1365CONFIG_JBD=y
1366# CONFIG_JBD_DEBUG is not set
1335CONFIG_FS_MBCACHE=y 1367CONFIG_FS_MBCACHE=y
1336# CONFIG_REISERFS_FS is not set 1368# CONFIG_REISERFS_FS is not set
1337# CONFIG_JFS_FS is not set 1369# CONFIG_JFS_FS is not set
@@ -1394,6 +1426,7 @@ CONFIG_EFS_FS=m
1394CONFIG_CRAMFS=y 1426CONFIG_CRAMFS=y
1395CONFIG_VXFS_FS=m 1427CONFIG_VXFS_FS=m
1396# CONFIG_MINIX_FS is not set 1428# CONFIG_MINIX_FS is not set
1429# CONFIG_OMFS_FS is not set
1397CONFIG_HPFS_FS=m 1430CONFIG_HPFS_FS=m
1398CONFIG_QNX4FS_FS=m 1431CONFIG_QNX4FS_FS=m
1399# CONFIG_ROMFS_FS is not set 1432# CONFIG_ROMFS_FS is not set
@@ -1406,17 +1439,16 @@ CONFIG_NFS_FS=y
1406CONFIG_NFS_V3=y 1439CONFIG_NFS_V3=y
1407# CONFIG_NFS_V3_ACL is not set 1440# CONFIG_NFS_V3_ACL is not set
1408CONFIG_NFS_V4=y 1441CONFIG_NFS_V4=y
1442CONFIG_ROOT_NFS=y
1409CONFIG_NFSD=y 1443CONFIG_NFSD=y
1410# CONFIG_NFSD_V3 is not set 1444# CONFIG_NFSD_V3 is not set
1411# CONFIG_NFSD_V4 is not set 1445# CONFIG_NFSD_V4 is not set
1412CONFIG_ROOT_NFS=y
1413CONFIG_LOCKD=y 1446CONFIG_LOCKD=y
1414CONFIG_LOCKD_V4=y 1447CONFIG_LOCKD_V4=y
1415CONFIG_EXPORTFS=y 1448CONFIG_EXPORTFS=y
1416CONFIG_NFS_COMMON=y 1449CONFIG_NFS_COMMON=y
1417CONFIG_SUNRPC=y 1450CONFIG_SUNRPC=y
1418CONFIG_SUNRPC_GSS=y 1451CONFIG_SUNRPC_GSS=y
1419# CONFIG_SUNRPC_BIND34 is not set
1420CONFIG_RPCSEC_GSS_KRB5=y 1452CONFIG_RPCSEC_GSS_KRB5=y
1421# CONFIG_RPCSEC_GSS_SPKM3 is not set 1453# CONFIG_RPCSEC_GSS_SPKM3 is not set
1422# CONFIG_SMB_FS is not set 1454# CONFIG_SMB_FS is not set
@@ -1487,6 +1519,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1487# CONFIG_NLS_KOI8_U is not set 1519# CONFIG_NLS_KOI8_U is not set
1488CONFIG_NLS_UTF8=m 1520CONFIG_NLS_UTF8=m
1489# CONFIG_DLM is not set 1521# CONFIG_DLM is not set
1522# CONFIG_QE_GPIO is not set
1490 1523
1491# 1524#
1492# Library routines 1525# Library routines
@@ -1495,6 +1528,7 @@ CONFIG_BITREVERSE=y
1495# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1528# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1496# CONFIG_CRC_CCITT is not set 1529# CONFIG_CRC_CCITT is not set
1497# CONFIG_CRC16 is not set 1530# CONFIG_CRC16 is not set
1531CONFIG_CRC_T10DIF=y
1498CONFIG_CRC_ITU_T=m 1532CONFIG_CRC_ITU_T=m
1499CONFIG_CRC32=y 1533CONFIG_CRC32=y
1500# CONFIG_CRC7 is not set 1534# CONFIG_CRC7 is not set
@@ -1515,11 +1549,13 @@ CONFIG_ENABLE_MUST_CHECK=y
1515CONFIG_FRAME_WARN=1024 1549CONFIG_FRAME_WARN=1024
1516# CONFIG_MAGIC_SYSRQ is not set 1550# CONFIG_MAGIC_SYSRQ is not set
1517# CONFIG_UNUSED_SYMBOLS is not set 1551# CONFIG_UNUSED_SYMBOLS is not set
1518# CONFIG_DEBUG_FS is not set 1552CONFIG_DEBUG_FS=y
1519# CONFIG_HEADERS_CHECK is not set 1553# CONFIG_HEADERS_CHECK is not set
1520CONFIG_DEBUG_KERNEL=y 1554CONFIG_DEBUG_KERNEL=y
1521# CONFIG_DEBUG_SHIRQ is not set 1555# CONFIG_DEBUG_SHIRQ is not set
1522CONFIG_DETECT_SOFTLOCKUP=y 1556CONFIG_DETECT_SOFTLOCKUP=y
1557# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1558CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1523CONFIG_SCHED_DEBUG=y 1559CONFIG_SCHED_DEBUG=y
1524# CONFIG_SCHEDSTATS is not set 1560# CONFIG_SCHEDSTATS is not set
1525# CONFIG_TIMER_STATS is not set 1561# CONFIG_TIMER_STATS is not set
@@ -1538,19 +1574,31 @@ CONFIG_SCHED_DEBUG=y
1538CONFIG_DEBUG_INFO=y 1574CONFIG_DEBUG_INFO=y
1539# CONFIG_DEBUG_VM is not set 1575# CONFIG_DEBUG_VM is not set
1540# CONFIG_DEBUG_WRITECOUNT is not set 1576# CONFIG_DEBUG_WRITECOUNT is not set
1577# CONFIG_DEBUG_MEMORY_INIT is not set
1541# CONFIG_DEBUG_LIST is not set 1578# CONFIG_DEBUG_LIST is not set
1542# CONFIG_DEBUG_SG is not set 1579# CONFIG_DEBUG_SG is not set
1543# CONFIG_BOOT_PRINTK_DELAY is not set 1580# CONFIG_BOOT_PRINTK_DELAY is not set
1544# CONFIG_RCU_TORTURE_TEST is not set 1581# CONFIG_RCU_TORTURE_TEST is not set
1545# CONFIG_BACKTRACE_SELF_TEST is not set 1582# CONFIG_BACKTRACE_SELF_TEST is not set
1546# CONFIG_FAULT_INJECTION is not set 1583# CONFIG_FAULT_INJECTION is not set
1584# CONFIG_LATENCYTOP is not set
1585CONFIG_SYSCTL_SYSCALL_CHECK=y
1586CONFIG_HAVE_FTRACE=y
1587CONFIG_HAVE_DYNAMIC_FTRACE=y
1588# CONFIG_FTRACE is not set
1589# CONFIG_SCHED_TRACER is not set
1590# CONFIG_CONTEXT_SWITCH_TRACER is not set
1547# CONFIG_SAMPLES is not set 1591# CONFIG_SAMPLES is not set
1592CONFIG_HAVE_ARCH_KGDB=y
1593# CONFIG_KGDB is not set
1548# CONFIG_DEBUG_STACKOVERFLOW is not set 1594# CONFIG_DEBUG_STACKOVERFLOW is not set
1549# CONFIG_DEBUG_STACK_USAGE is not set 1595# CONFIG_DEBUG_STACK_USAGE is not set
1550# CONFIG_DEBUG_PAGEALLOC is not set 1596# CONFIG_DEBUG_PAGEALLOC is not set
1551# CONFIG_DEBUGGER is not set 1597# CONFIG_CODE_PATCHING_SELFTEST is not set
1552# CONFIG_KGDB_CONSOLE is not set 1598# CONFIG_FTR_FIXUP_SELFTEST is not set
1599# CONFIG_XMON is not set
1553# CONFIG_IRQSTACKS is not set 1600# CONFIG_IRQSTACKS is not set
1601CONFIG_VIRQ_DEBUG=y
1554# CONFIG_BDI_SWITCH is not set 1602# CONFIG_BDI_SWITCH is not set
1555# CONFIG_PPC_EARLY_DEBUG is not set 1603# CONFIG_PPC_EARLY_DEBUG is not set
1556 1604
@@ -1606,6 +1654,10 @@ CONFIG_CRYPTO_HMAC=y
1606# CONFIG_CRYPTO_MD4 is not set 1654# CONFIG_CRYPTO_MD4 is not set
1607CONFIG_CRYPTO_MD5=y 1655CONFIG_CRYPTO_MD5=y
1608# CONFIG_CRYPTO_MICHAEL_MIC is not set 1656# CONFIG_CRYPTO_MICHAEL_MIC is not set
1657# CONFIG_CRYPTO_RMD128 is not set
1658# CONFIG_CRYPTO_RMD160 is not set
1659# CONFIG_CRYPTO_RMD256 is not set
1660# CONFIG_CRYPTO_RMD320 is not set
1609CONFIG_CRYPTO_SHA1=m 1661CONFIG_CRYPTO_SHA1=m
1610# CONFIG_CRYPTO_SHA256 is not set 1662# CONFIG_CRYPTO_SHA256 is not set
1611# CONFIG_CRYPTO_SHA512 is not set 1663# CONFIG_CRYPTO_SHA512 is not set
@@ -1638,6 +1690,7 @@ CONFIG_CRYPTO_DES=y
1638# CONFIG_CRYPTO_LZO is not set 1690# CONFIG_CRYPTO_LZO is not set
1639CONFIG_CRYPTO_HW=y 1691CONFIG_CRYPTO_HW=y
1640# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1692# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1641# CONFIG_PPC_CLOCK is not set 1693# CONFIG_CRYPTO_DEV_TALITOS is not set
1694CONFIG_PPC_CLOCK=y
1642CONFIG_PPC_LIB_RHEAP=y 1695CONFIG_PPC_LIB_RHEAP=y
1643# CONFIG_VIRTUALIZATION is not set 1696# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc8610_hpcd_defconfig b/arch/powerpc/configs/mpc8610_hpcd_defconfig
index cdf98ae3682b..1a9990731eb0 100644
--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26 3# Linux kernel version: 2.6.27-rc4
4# Tue Jul 15 08:31:01 2008 4# Thu Aug 21 00:52:10 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -32,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -91,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
91CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
92CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
94CONFIG_SYSCTL_SYSCALL_CHECK=y
95CONFIG_KALLSYMS=y 95CONFIG_KALLSYMS=y
96# CONFIG_KALLSYMS_ALL is not set 96# CONFIG_KALLSYMS_ALL is not set
97CONFIG_KALLSYMS_EXTRA_PASS=y 97CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -118,10 +118,16 @@ CONFIG_SLUB=y
118# CONFIG_MARKERS is not set 118# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 119CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 120# CONFIG_KPROBES is not set
121CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
122CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_DMA_ATTRS=y 125CONFIG_HAVE_ARCH_TRACEHOOK=y
126# CONFIG_HAVE_DMA_ATTRS is not set
127# CONFIG_USE_GENERIC_SMP_HELPERS is not set
128# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y 129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 133# CONFIG_TINY_SHMEM is not set
@@ -138,6 +144,7 @@ CONFIG_BLOCK=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 144# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 145# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 146# CONFIG_BLK_DEV_BSG is not set
147# CONFIG_BLK_DEV_INTEGRITY is not set
141 148
142# 149#
143# IO Schedulers 150# IO Schedulers
@@ -159,9 +166,8 @@ CONFIG_CLASSIC_RCU=y
159CONFIG_PPC_MULTIPLATFORM=y 166CONFIG_PPC_MULTIPLATFORM=y
160CONFIG_CLASSIC32=y 167CONFIG_CLASSIC32=y
161CONFIG_PPC_CHRP=y 168CONFIG_PPC_CHRP=y
162# CONFIG_PPC_MPC512x is not set
163# CONFIG_PPC_MPC5121 is not set
164# CONFIG_MPC5121_ADS is not set 169# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set
165# CONFIG_PPC_MPC52xx is not set 171# CONFIG_PPC_MPC52xx is not set
166CONFIG_PPC_PMAC=y 172CONFIG_PPC_PMAC=y
167# CONFIG_PPC_CELL is not set 173# CONFIG_PPC_CELL is not set
@@ -207,7 +213,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
207# CONFIG_HZ_300 is not set 213# CONFIG_HZ_300 is not set
208CONFIG_HZ_1000=y 214CONFIG_HZ_1000=y
209CONFIG_HZ=1000 215CONFIG_HZ=1000
210# CONFIG_SCHED_HRTICK is not set 216CONFIG_SCHED_HRTICK=y
211CONFIG_PREEMPT_NONE=y 217CONFIG_PREEMPT_NONE=y
212# CONFIG_PREEMPT_VOLUNTARY is not set 218# CONFIG_PREEMPT_VOLUNTARY is not set
213# CONFIG_PREEMPT is not set 219# CONFIG_PREEMPT is not set
@@ -230,6 +236,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
230# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 236# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
231CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
232CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
239CONFIG_MIGRATION=y
233# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
234CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
@@ -237,6 +244,7 @@ CONFIG_VIRT_TO_BUS=y
237CONFIG_FORCE_MAX_ZONEORDER=12 244CONFIG_FORCE_MAX_ZONEORDER=12
238CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
247CONFIG_EXTRA_TARGETS=""
240# CONFIG_PM is not set 248# CONFIG_PM is not set
241# CONFIG_SECCOMP is not set 249# CONFIG_SECCOMP is not set
242CONFIG_ISA_DMA_API=y 250CONFIG_ISA_DMA_API=y
@@ -278,10 +286,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
278CONFIG_KERNEL_START=0xc0000000 286CONFIG_KERNEL_START=0xc0000000
279CONFIG_PHYSICAL_START=0x00000000 287CONFIG_PHYSICAL_START=0x00000000
280CONFIG_TASK_SIZE=0xc0000000 288CONFIG_TASK_SIZE=0xc0000000
281
282#
283# Networking
284#
285CONFIG_NET=y 289CONFIG_NET=y
286 290
287# 291#
@@ -391,6 +395,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
391CONFIG_STANDALONE=y 395CONFIG_STANDALONE=y
392CONFIG_PREVENT_FIRMWARE_BUILD=y 396CONFIG_PREVENT_FIRMWARE_BUILD=y
393CONFIG_FW_LOADER=y 397CONFIG_FW_LOADER=y
398CONFIG_FIRMWARE_IN_KERNEL=y
399CONFIG_EXTRA_FIRMWARE=""
394# CONFIG_DEBUG_DRIVER is not set 400# CONFIG_DEBUG_DRIVER is not set
395# CONFIG_DEBUG_DEVRES is not set 401# CONFIG_DEBUG_DEVRES is not set
396# CONFIG_SYS_HYPERVISOR is not set 402# CONFIG_SYS_HYPERVISOR is not set
@@ -503,18 +509,17 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
503# CONFIG_BLK_DEV_XIP is not set 509# CONFIG_BLK_DEV_XIP is not set
504# CONFIG_CDROM_PKTCDVD is not set 510# CONFIG_CDROM_PKTCDVD is not set
505# CONFIG_ATA_OVER_ETH is not set 511# CONFIG_ATA_OVER_ETH is not set
512# CONFIG_BLK_DEV_HD is not set
506CONFIG_MISC_DEVICES=y 513CONFIG_MISC_DEVICES=y
507# CONFIG_PHANTOM is not set 514# CONFIG_PHANTOM is not set
508# CONFIG_EEPROM_93CX6 is not set 515# CONFIG_EEPROM_93CX6 is not set
509# CONFIG_SGI_IOC4 is not set 516# CONFIG_SGI_IOC4 is not set
510# CONFIG_TIFM_CORE is not set 517# CONFIG_TIFM_CORE is not set
511# CONFIG_ENCLOSURE_SERVICES is not set 518# CONFIG_ENCLOSURE_SERVICES is not set
519# CONFIG_HP_ILO is not set
512CONFIG_HAVE_IDE=y 520CONFIG_HAVE_IDE=y
513CONFIG_IDE=y 521CONFIG_IDE=y
514CONFIG_IDE_MAX_HWIFS=4
515# CONFIG_BLK_DEV_IDE is not set 522# CONFIG_BLK_DEV_IDE is not set
516# CONFIG_BLK_DEV_HD_ONLY is not set
517# CONFIG_BLK_DEV_HD is not set
518 523
519# 524#
520# SCSI device support 525# SCSI device support
@@ -593,6 +598,7 @@ CONFIG_SCSI_LOWLEVEL=y
593# CONFIG_SCSI_MESH is not set 598# CONFIG_SCSI_MESH is not set
594# CONFIG_SCSI_MAC53C94 is not set 599# CONFIG_SCSI_MAC53C94 is not set
595# CONFIG_SCSI_SRP is not set 600# CONFIG_SCSI_SRP is not set
601# CONFIG_SCSI_DH is not set
596CONFIG_ATA=y 602CONFIG_ATA=y
597# CONFIG_ATA_NONSTANDARD is not set 603# CONFIG_ATA_NONSTANDARD is not set
598CONFIG_SATA_PMP=y 604CONFIG_SATA_PMP=y
@@ -669,7 +675,6 @@ CONFIG_PATA_ALI=y
669# CONFIG_I2O is not set 675# CONFIG_I2O is not set
670# CONFIG_MACINTOSH_DRIVERS is not set 676# CONFIG_MACINTOSH_DRIVERS is not set
671CONFIG_NETDEVICES=y 677CONFIG_NETDEVICES=y
672# CONFIG_NETDEVICES_MULTIQUEUE is not set
673CONFIG_DUMMY=y 678CONFIG_DUMMY=y
674# CONFIG_BONDING is not set 679# CONFIG_BONDING is not set
675# CONFIG_MACVLAN is not set 680# CONFIG_MACVLAN is not set
@@ -756,12 +761,14 @@ CONFIG_SERIO_SERPORT=y
756# CONFIG_SERIO_PCIPS2 is not set 761# CONFIG_SERIO_PCIPS2 is not set
757CONFIG_SERIO_LIBPS2=y 762CONFIG_SERIO_LIBPS2=y
758# CONFIG_SERIO_RAW is not set 763# CONFIG_SERIO_RAW is not set
764# CONFIG_SERIO_XILINX_XPS_PS2 is not set
759# CONFIG_GAMEPORT is not set 765# CONFIG_GAMEPORT is not set
760 766
761# 767#
762# Character devices 768# Character devices
763# 769#
764CONFIG_VT=y 770CONFIG_VT=y
771CONFIG_CONSOLE_TRANSLATIONS=y
765CONFIG_VT_CONSOLE=y 772CONFIG_VT_CONSOLE=y
766CONFIG_HW_CONSOLE=y 773CONFIG_HW_CONSOLE=y
767# CONFIG_VT_HW_CONSOLE_BINDING is not set 774# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -807,44 +814,69 @@ CONFIG_DEVPORT=y
807CONFIG_I2C=y 814CONFIG_I2C=y
808CONFIG_I2C_BOARDINFO=y 815CONFIG_I2C_BOARDINFO=y
809# CONFIG_I2C_CHARDEV is not set 816# CONFIG_I2C_CHARDEV is not set
817CONFIG_I2C_HELPER_AUTO=y
810 818
811# 819#
812# I2C Hardware Bus support 820# I2C Hardware Bus support
813# 821#
822
823#
824# PC SMBus host controller drivers
825#
814# CONFIG_I2C_ALI1535 is not set 826# CONFIG_I2C_ALI1535 is not set
815# CONFIG_I2C_ALI1563 is not set 827# CONFIG_I2C_ALI1563 is not set
816# CONFIG_I2C_ALI15X3 is not set 828# CONFIG_I2C_ALI15X3 is not set
817# CONFIG_I2C_AMD756 is not set 829# CONFIG_I2C_AMD756 is not set
818# CONFIG_I2C_AMD8111 is not set 830# CONFIG_I2C_AMD8111 is not set
819# CONFIG_I2C_HYDRA is not set
820# CONFIG_I2C_I801 is not set 831# CONFIG_I2C_I801 is not set
821# CONFIG_I2C_I810 is not set 832# CONFIG_I2C_ISCH is not set
822# CONFIG_I2C_PIIX4 is not set 833# CONFIG_I2C_PIIX4 is not set
823CONFIG_I2C_POWERMAC=y
824CONFIG_I2C_MPC=y
825# CONFIG_I2C_NFORCE2 is not set 834# CONFIG_I2C_NFORCE2 is not set
826# CONFIG_I2C_OCORES is not set
827# CONFIG_I2C_PARPORT_LIGHT is not set
828# CONFIG_I2C_PROSAVAGE is not set
829# CONFIG_I2C_SAVAGE4 is not set
830# CONFIG_I2C_SIMTEC is not set
831# CONFIG_I2C_SIS5595 is not set 835# CONFIG_I2C_SIS5595 is not set
832# CONFIG_I2C_SIS630 is not set 836# CONFIG_I2C_SIS630 is not set
833# CONFIG_I2C_SIS96X is not set 837# CONFIG_I2C_SIS96X is not set
834# CONFIG_I2C_TAOS_EVM is not set
835# CONFIG_I2C_STUB is not set
836# CONFIG_I2C_VIA is not set 838# CONFIG_I2C_VIA is not set
837# CONFIG_I2C_VIAPRO is not set 839# CONFIG_I2C_VIAPRO is not set
840
841#
842# Mac SMBus host controller drivers
843#
844# CONFIG_I2C_HYDRA is not set
845CONFIG_I2C_POWERMAC=y
846
847#
848# I2C system bus drivers (mostly embedded / system-on-chip)
849#
850CONFIG_I2C_MPC=y
851# CONFIG_I2C_OCORES is not set
852# CONFIG_I2C_SIMTEC is not set
853
854#
855# External I2C/SMBus adapter drivers
856#
857# CONFIG_I2C_PARPORT_LIGHT is not set
858# CONFIG_I2C_TAOS_EVM is not set
859
860#
861# Graphics adapter I2C/DDC channel drivers
862#
838# CONFIG_I2C_VOODOO3 is not set 863# CONFIG_I2C_VOODOO3 is not set
864
865#
866# Other I2C/SMBus bus drivers
867#
839# CONFIG_I2C_PCA_PLATFORM is not set 868# CONFIG_I2C_PCA_PLATFORM is not set
869# CONFIG_I2C_STUB is not set
840 870
841# 871#
842# Miscellaneous I2C Chip support 872# Miscellaneous I2C Chip support
843# 873#
844# CONFIG_DS1682 is not set 874# CONFIG_DS1682 is not set
875# CONFIG_AT24 is not set
845# CONFIG_SENSORS_EEPROM is not set 876# CONFIG_SENSORS_EEPROM is not set
846# CONFIG_SENSORS_PCF8574 is not set 877# CONFIG_SENSORS_PCF8574 is not set
847# CONFIG_PCF8575 is not set 878# CONFIG_PCF8575 is not set
879# CONFIG_SENSORS_PCA9539 is not set
848# CONFIG_SENSORS_PCF8591 is not set 880# CONFIG_SENSORS_PCF8591 is not set
849# CONFIG_SENSORS_MAX6875 is not set 881# CONFIG_SENSORS_MAX6875 is not set
850# CONFIG_SENSORS_TSL2550 is not set 882# CONFIG_SENSORS_TSL2550 is not set
@@ -853,6 +885,8 @@ CONFIG_I2C_MPC=y
853# CONFIG_I2C_DEBUG_BUS is not set 885# CONFIG_I2C_DEBUG_BUS is not set
854# CONFIG_I2C_DEBUG_CHIP is not set 886# CONFIG_I2C_DEBUG_CHIP is not set
855# CONFIG_SPI is not set 887# CONFIG_SPI is not set
888CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
889# CONFIG_GPIOLIB is not set
856# CONFIG_W1 is not set 890# CONFIG_W1 is not set
857# CONFIG_POWER_SUPPLY is not set 891# CONFIG_POWER_SUPPLY is not set
858# CONFIG_HWMON is not set 892# CONFIG_HWMON is not set
@@ -869,8 +903,10 @@ CONFIG_SSB_POSSIBLE=y
869# 903#
870# Multifunction device drivers 904# Multifunction device drivers
871# 905#
906# CONFIG_MFD_CORE is not set
872# CONFIG_MFD_SM501 is not set 907# CONFIG_MFD_SM501 is not set
873# CONFIG_HTC_PASIC3 is not set 908# CONFIG_HTC_PASIC3 is not set
909# CONFIG_MFD_TMIO is not set
874 910
875# 911#
876# Multimedia devices 912# Multimedia devices
@@ -945,6 +981,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
945# CONFIG_FB_TRIDENT is not set 981# CONFIG_FB_TRIDENT is not set
946# CONFIG_FB_ARK is not set 982# CONFIG_FB_ARK is not set
947# CONFIG_FB_PM3 is not set 983# CONFIG_FB_PM3 is not set
984# CONFIG_FB_CARMINE is not set
948CONFIG_FB_FSL_DIU=y 985CONFIG_FB_FSL_DIU=y
949# CONFIG_FB_IBM_GXT4500 is not set 986# CONFIG_FB_IBM_GXT4500 is not set
950# CONFIG_FB_VIRTUAL is not set 987# CONFIG_FB_VIRTUAL is not set
@@ -963,15 +1000,7 @@ CONFIG_VGA_CONSOLE=y
963CONFIG_DUMMY_CONSOLE=y 1000CONFIG_DUMMY_CONSOLE=y
964# CONFIG_FRAMEBUFFER_CONSOLE is not set 1001# CONFIG_FRAMEBUFFER_CONSOLE is not set
965# CONFIG_LOGO is not set 1002# CONFIG_LOGO is not set
966
967#
968# Sound
969#
970CONFIG_SOUND=y 1003CONFIG_SOUND=y
971
972#
973# Advanced Linux Sound Architecture
974#
975CONFIG_SND=y 1004CONFIG_SND=y
976CONFIG_SND_TIMER=y 1005CONFIG_SND_TIMER=y
977CONFIG_SND_PCM=y 1006CONFIG_SND_PCM=y
@@ -985,18 +1014,12 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
985CONFIG_SND_VERBOSE_PROCFS=y 1014CONFIG_SND_VERBOSE_PROCFS=y
986# CONFIG_SND_VERBOSE_PRINTK is not set 1015# CONFIG_SND_VERBOSE_PRINTK is not set
987# CONFIG_SND_DEBUG is not set 1016# CONFIG_SND_DEBUG is not set
988 1017CONFIG_SND_DRIVERS=y
989#
990# Generic devices
991#
992# CONFIG_SND_DUMMY is not set 1018# CONFIG_SND_DUMMY is not set
993# CONFIG_SND_MTPAV is not set 1019# CONFIG_SND_MTPAV is not set
994# CONFIG_SND_SERIAL_U16550 is not set 1020# CONFIG_SND_SERIAL_U16550 is not set
995# CONFIG_SND_MPU401 is not set 1021# CONFIG_SND_MPU401 is not set
996 1022CONFIG_SND_PCI=y
997#
998# PCI devices
999#
1000# CONFIG_SND_AD1889 is not set 1023# CONFIG_SND_AD1889 is not set
1001# CONFIG_SND_ALS300 is not set 1024# CONFIG_SND_ALS300 is not set
1002# CONFIG_SND_ALS4000 is not set 1025# CONFIG_SND_ALS4000 is not set
@@ -1058,42 +1081,14 @@ CONFIG_SND_VERBOSE_PROCFS=y
1058# CONFIG_SND_VIRTUOSO is not set 1081# CONFIG_SND_VIRTUOSO is not set
1059# CONFIG_SND_VX222 is not set 1082# CONFIG_SND_VX222 is not set
1060# CONFIG_SND_YMFPCI is not set 1083# CONFIG_SND_YMFPCI is not set
1061 1084CONFIG_SND_PPC=y
1062#
1063# ALSA PowerMac devices
1064#
1065# CONFIG_SND_POWERMAC is not set 1085# CONFIG_SND_POWERMAC is not set
1066
1067#
1068# ALSA PowerPC devices
1069#
1070
1071#
1072# Apple Onboard Audio driver
1073#
1074# CONFIG_SND_AOA is not set 1086# CONFIG_SND_AOA is not set
1075# CONFIG_SND_AOA_SOUNDBUS is not set
1076
1077#
1078# System on Chip audio support
1079#
1080CONFIG_SND_SOC=y 1087CONFIG_SND_SOC=y
1081
1082#
1083# ALSA SoC audio for Freescale SOCs
1084#
1085CONFIG_SND_SOC_MPC8610=y 1088CONFIG_SND_SOC_MPC8610=y
1086CONFIG_SND_SOC_MPC8610_HPCD=y 1089CONFIG_SND_SOC_MPC8610_HPCD=y
1087
1088#
1089# SoC Audio for the Texas Instruments OMAP
1090#
1091CONFIG_SND_SOC_CS4270=y 1090CONFIG_SND_SOC_CS4270=y
1092CONFIG_SND_SOC_CS4270_VD33_ERRATA=y 1091CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
1093
1094#
1095# Open Sound System
1096#
1097# CONFIG_SOUND_PRIME is not set 1092# CONFIG_SOUND_PRIME is not set
1098CONFIG_HID_SUPPORT=y 1093CONFIG_HID_SUPPORT=y
1099CONFIG_HID=y 1094CONFIG_HID=y
@@ -1108,6 +1103,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1108# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1103# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1109 1104
1110# 1105#
1106# Enable Host or Gadget support to see Inventra options
1107#
1108
1109#
1111# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1110# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1112# 1111#
1113# CONFIG_USB_GADGET is not set 1112# CONFIG_USB_GADGET is not set
@@ -1235,6 +1234,7 @@ CONFIG_TMPFS=y
1235# CONFIG_CRAMFS is not set 1234# CONFIG_CRAMFS is not set
1236# CONFIG_VXFS_FS is not set 1235# CONFIG_VXFS_FS is not set
1237# CONFIG_MINIX_FS is not set 1236# CONFIG_MINIX_FS is not set
1237# CONFIG_OMFS_FS is not set
1238# CONFIG_HPFS_FS is not set 1238# CONFIG_HPFS_FS is not set
1239# CONFIG_QNX4FS_FS is not set 1239# CONFIG_QNX4FS_FS is not set
1240# CONFIG_ROMFS_FS is not set 1240# CONFIG_ROMFS_FS is not set
@@ -1245,16 +1245,15 @@ CONFIG_NFS_FS=y
1245CONFIG_NFS_V3=y 1245CONFIG_NFS_V3=y
1246# CONFIG_NFS_V3_ACL is not set 1246# CONFIG_NFS_V3_ACL is not set
1247# CONFIG_NFS_V4 is not set 1247# CONFIG_NFS_V4 is not set
1248CONFIG_ROOT_NFS=y
1248CONFIG_NFSD=y 1249CONFIG_NFSD=y
1249# CONFIG_NFSD_V3 is not set 1250# CONFIG_NFSD_V3 is not set
1250# CONFIG_NFSD_V4 is not set 1251# CONFIG_NFSD_V4 is not set
1251CONFIG_ROOT_NFS=y
1252CONFIG_LOCKD=y 1252CONFIG_LOCKD=y
1253CONFIG_LOCKD_V4=y 1253CONFIG_LOCKD_V4=y
1254CONFIG_EXPORTFS=y 1254CONFIG_EXPORTFS=y
1255CONFIG_NFS_COMMON=y 1255CONFIG_NFS_COMMON=y
1256CONFIG_SUNRPC=y 1256CONFIG_SUNRPC=y
1257# CONFIG_SUNRPC_BIND34 is not set
1258# CONFIG_RPCSEC_GSS_KRB5 is not set 1257# CONFIG_RPCSEC_GSS_KRB5 is not set
1259# CONFIG_RPCSEC_GSS_SPKM3 is not set 1258# CONFIG_RPCSEC_GSS_SPKM3 is not set
1260# CONFIG_SMB_FS is not set 1259# CONFIG_SMB_FS is not set
@@ -1334,6 +1333,7 @@ CONFIG_BITREVERSE=y
1334# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1333# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1335# CONFIG_CRC_CCITT is not set 1334# CONFIG_CRC_CCITT is not set
1336# CONFIG_CRC16 is not set 1335# CONFIG_CRC16 is not set
1336CONFIG_CRC_T10DIF=y
1337# CONFIG_CRC_ITU_T is not set 1337# CONFIG_CRC_ITU_T is not set
1338CONFIG_CRC32=y 1338CONFIG_CRC32=y
1339# CONFIG_CRC7 is not set 1339# CONFIG_CRC7 is not set
@@ -1358,6 +1358,8 @@ CONFIG_FRAME_WARN=1024
1358CONFIG_DEBUG_KERNEL=y 1358CONFIG_DEBUG_KERNEL=y
1359CONFIG_DEBUG_SHIRQ=y 1359CONFIG_DEBUG_SHIRQ=y
1360CONFIG_DETECT_SOFTLOCKUP=y 1360CONFIG_DETECT_SOFTLOCKUP=y
1361# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1362CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1361CONFIG_SCHED_DEBUG=y 1363CONFIG_SCHED_DEBUG=y
1362# CONFIG_SCHEDSTATS is not set 1364# CONFIG_SCHEDSTATS is not set
1363# CONFIG_TIMER_STATS is not set 1365# CONFIG_TIMER_STATS is not set
@@ -1376,19 +1378,29 @@ CONFIG_DEBUG_BUGVERBOSE=y
1376CONFIG_DEBUG_INFO=y 1378CONFIG_DEBUG_INFO=y
1377# CONFIG_DEBUG_VM is not set 1379# CONFIG_DEBUG_VM is not set
1378# CONFIG_DEBUG_WRITECOUNT is not set 1380# CONFIG_DEBUG_WRITECOUNT is not set
1381# CONFIG_DEBUG_MEMORY_INIT is not set
1379# CONFIG_DEBUG_LIST is not set 1382# CONFIG_DEBUG_LIST is not set
1380# CONFIG_DEBUG_SG is not set 1383# CONFIG_DEBUG_SG is not set
1381# CONFIG_BOOT_PRINTK_DELAY is not set 1384# CONFIG_BOOT_PRINTK_DELAY is not set
1382# CONFIG_RCU_TORTURE_TEST is not set 1385# CONFIG_RCU_TORTURE_TEST is not set
1383# CONFIG_BACKTRACE_SELF_TEST is not set 1386# CONFIG_BACKTRACE_SELF_TEST is not set
1384# CONFIG_FAULT_INJECTION is not set 1387# CONFIG_FAULT_INJECTION is not set
1388# CONFIG_LATENCYTOP is not set
1389CONFIG_SYSCTL_SYSCALL_CHECK=y
1390CONFIG_HAVE_FTRACE=y
1391CONFIG_HAVE_DYNAMIC_FTRACE=y
1392# CONFIG_FTRACE is not set
1393# CONFIG_SCHED_TRACER is not set
1394# CONFIG_CONTEXT_SWITCH_TRACER is not set
1385# CONFIG_SAMPLES is not set 1395# CONFIG_SAMPLES is not set
1396CONFIG_HAVE_ARCH_KGDB=y
1397# CONFIG_KGDB is not set
1386# CONFIG_DEBUG_STACKOVERFLOW is not set 1398# CONFIG_DEBUG_STACKOVERFLOW is not set
1387# CONFIG_DEBUG_STACK_USAGE is not set 1399# CONFIG_DEBUG_STACK_USAGE is not set
1388# CONFIG_DEBUG_PAGEALLOC is not set 1400# CONFIG_DEBUG_PAGEALLOC is not set
1389# CONFIG_DEBUGGER is not set
1390# CONFIG_CODE_PATCHING_SELFTEST is not set 1401# CONFIG_CODE_PATCHING_SELFTEST is not set
1391# CONFIG_FTR_FIXUP_SELFTEST is not set 1402# CONFIG_FTR_FIXUP_SELFTEST is not set
1403# CONFIG_XMON is not set
1392# CONFIG_IRQSTACKS is not set 1404# CONFIG_IRQSTACKS is not set
1393# CONFIG_BDI_SWITCH is not set 1405# CONFIG_BDI_SWITCH is not set
1394# CONFIG_BOOTX_TEXT is not set 1406# CONFIG_BOOTX_TEXT is not set
@@ -1443,6 +1455,10 @@ CONFIG_CRYPTO=y
1443# CONFIG_CRYPTO_MD4 is not set 1455# CONFIG_CRYPTO_MD4 is not set
1444# CONFIG_CRYPTO_MD5 is not set 1456# CONFIG_CRYPTO_MD5 is not set
1445# CONFIG_CRYPTO_MICHAEL_MIC is not set 1457# CONFIG_CRYPTO_MICHAEL_MIC is not set
1458# CONFIG_CRYPTO_RMD128 is not set
1459# CONFIG_CRYPTO_RMD160 is not set
1460# CONFIG_CRYPTO_RMD256 is not set
1461# CONFIG_CRYPTO_RMD320 is not set
1446# CONFIG_CRYPTO_SHA1 is not set 1462# CONFIG_CRYPTO_SHA1 is not set
1447# CONFIG_CRYPTO_SHA256 is not set 1463# CONFIG_CRYPTO_SHA256 is not set
1448# CONFIG_CRYPTO_SHA512 is not set 1464# CONFIG_CRYPTO_SHA512 is not set
@@ -1475,6 +1491,7 @@ CONFIG_CRYPTO=y
1475# CONFIG_CRYPTO_LZO is not set 1491# CONFIG_CRYPTO_LZO is not set
1476CONFIG_CRYPTO_HW=y 1492CONFIG_CRYPTO_HW=y
1477# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1493# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1494# CONFIG_CRYPTO_DEV_TALITOS is not set
1478# CONFIG_PPC_CLOCK is not set 1495# CONFIG_PPC_CLOCK is not set
1479CONFIG_PPC_LIB_RHEAP=y 1496CONFIG_PPC_LIB_RHEAP=y
1480# CONFIG_VIRTUALIZATION is not set 1497# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
index 867b8c0215f3..ea09be31b6ea 100644
--- a/arch/powerpc/configs/mpc8641_hpcn_defconfig
+++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:15 2008 4# Thu Aug 21 00:52:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -33,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_ARCH_HAS_ILOG2_U32=y 39CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -92,7 +93,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 96CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 97CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_EXTRA_PASS=y 98CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -100,6 +100,7 @@ CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 100CONFIG_PRINTK=y
101CONFIG_BUG=y 101CONFIG_BUG=y
102CONFIG_ELF_CORE=y 102CONFIG_ELF_CORE=y
103CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 104CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 105CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 106CONFIG_FUTEX=y
@@ -118,10 +119,16 @@ CONFIG_SLUB=y
118# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
119CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 121# CONFIG_KPROBES is not set
122CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
123CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set 127# CONFIG_HAVE_DMA_ATTRS is not set
128CONFIG_USE_GENERIC_SMP_HELPERS=y
129# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y 130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 134# CONFIG_TINY_SHMEM is not set
@@ -139,6 +146,7 @@ CONFIG_LBD=y
139# CONFIG_BLK_DEV_IO_TRACE is not set 146# CONFIG_BLK_DEV_IO_TRACE is not set
140# CONFIG_LSF is not set 147# CONFIG_LSF is not set
141# CONFIG_BLK_DEV_BSG is not set 148# CONFIG_BLK_DEV_BSG is not set
149# CONFIG_BLK_DEV_INTEGRITY is not set
142 150
143# 151#
144# IO Schedulers 152# IO Schedulers
@@ -157,30 +165,40 @@ CONFIG_CLASSIC_RCU=y
157# 165#
158# Platform support 166# Platform support
159# 167#
160# CONFIG_PPC_MULTIPLATFORM is not set 168CONFIG_PPC_MULTIPLATFORM=y
161# CONFIG_PPC_82xx is not set 169CONFIG_CLASSIC32=y
162# CONFIG_PPC_83xx is not set 170CONFIG_PPC_CHRP=y
163CONFIG_PPC_86xx=y 171# CONFIG_MPC5121_ADS is not set
164# CONFIG_PPC_MPC512x is not set 172# CONFIG_MPC5121_GENERIC is not set
165# CONFIG_PPC_MPC5121 is not set 173# CONFIG_PPC_MPC52xx is not set
174CONFIG_PPC_PMAC=y
166# CONFIG_PPC_CELL is not set 175# CONFIG_PPC_CELL is not set
167# CONFIG_PPC_CELL_NATIVE is not set 176# CONFIG_PPC_CELL_NATIVE is not set
177# CONFIG_PPC_82xx is not set
168# CONFIG_PQ2ADS is not set 178# CONFIG_PQ2ADS is not set
179# CONFIG_PPC_83xx is not set
180CONFIG_PPC_86xx=y
169CONFIG_MPC8641_HPCN=y 181CONFIG_MPC8641_HPCN=y
170# CONFIG_SBC8641D is not set 182# CONFIG_SBC8641D is not set
171# CONFIG_MPC8610_HPCD is not set 183# CONFIG_MPC8610_HPCD is not set
172CONFIG_MPC8641=y 184CONFIG_MPC8641=y
185CONFIG_PPC_NATIVE=y
186# CONFIG_UDBG_RTAS_CONSOLE is not set
173# CONFIG_IPIC is not set 187# CONFIG_IPIC is not set
174CONFIG_MPIC=y 188CONFIG_MPIC=y
175# CONFIG_MPIC_WEIRD is not set 189# CONFIG_MPIC_WEIRD is not set
176CONFIG_PPC_I8259=y 190CONFIG_PPC_I8259=y
177# CONFIG_PPC_RTAS is not set 191CONFIG_PPC_RTAS=y
192# CONFIG_RTAS_ERROR_LOGGING is not set
193CONFIG_RTAS_PROC=y
178# CONFIG_MMIO_NVRAM is not set 194# CONFIG_MMIO_NVRAM is not set
179# CONFIG_PPC_MPC106 is not set 195CONFIG_PPC_MPC106=y
180# CONFIG_PPC_970_NAP is not set 196# CONFIG_PPC_970_NAP is not set
181# CONFIG_PPC_INDIRECT_IO is not set 197# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 198# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 199# CONFIG_CPU_FREQ is not set
200# CONFIG_PPC601_SYNC_FIX is not set
201# CONFIG_TAU is not set
184CONFIG_FSL_ULI1575=y 202CONFIG_FSL_ULI1575=y
185 203
186# 204#
@@ -196,16 +214,18 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
196# CONFIG_HZ_300 is not set 214# CONFIG_HZ_300 is not set
197CONFIG_HZ_1000=y 215CONFIG_HZ_1000=y
198CONFIG_HZ=1000 216CONFIG_HZ=1000
199# CONFIG_SCHED_HRTICK is not set 217CONFIG_SCHED_HRTICK=y
200CONFIG_PREEMPT_NONE=y 218CONFIG_PREEMPT_NONE=y
201# CONFIG_PREEMPT_VOLUNTARY is not set 219# CONFIG_PREEMPT_VOLUNTARY is not set
202# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
203CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
204CONFIG_BINFMT_MISC=m 222CONFIG_BINFMT_MISC=m
205# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
224# CONFIG_HOTPLUG_CPU is not set
206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
207CONFIG_ARCH_HAS_WALK_MEMORY=y 226CONFIG_ARCH_HAS_WALK_MEMORY=y
208CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 227CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
228# CONFIG_KEXEC is not set
209# CONFIG_IRQ_ALL_CPUS is not set 229# CONFIG_IRQ_ALL_CPUS is not set
210CONFIG_ARCH_FLATMEM_ENABLE=y 230CONFIG_ARCH_FLATMEM_ENABLE=y
211CONFIG_ARCH_POPULATES_NODE_MAP=y 231CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -219,6 +239,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 239# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 240CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 241CONFIG_SPLIT_PTLOCK_CPUS=4
242CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 243# CONFIG_RESOURCES_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 244CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 245CONFIG_BOUNCE=y
@@ -226,6 +247,7 @@ CONFIG_VIRT_TO_BUS=y
226CONFIG_FORCE_MAX_ZONEORDER=11 247CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 248CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 249# CONFIG_CMDLINE_BOOL is not set
250CONFIG_EXTRA_TARGETS=""
229# CONFIG_PM is not set 251# CONFIG_PM is not set
230CONFIG_SECCOMP=y 252CONFIG_SECCOMP=y
231CONFIG_ISA_DMA_API=y 253CONFIG_ISA_DMA_API=y
@@ -233,11 +255,13 @@ CONFIG_ISA_DMA_API=y
233# 255#
234# Bus options 256# Bus options
235# 257#
258# CONFIG_ISA is not set
236CONFIG_ZONE_DMA=y 259CONFIG_ZONE_DMA=y
237CONFIG_GENERIC_ISA_DMA=y 260CONFIG_GENERIC_ISA_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 261CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 262CONFIG_FSL_SOC=y
240CONFIG_FSL_PCI=y 263CONFIG_FSL_PCI=y
264CONFIG_PPC_PCI_CHOICE=y
241CONFIG_PCI=y 265CONFIG_PCI=y
242CONFIG_PCI_DOMAINS=y 266CONFIG_PCI_DOMAINS=y
243CONFIG_PCI_SYSCALL=y 267CONFIG_PCI_SYSCALL=y
@@ -264,10 +288,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
264CONFIG_KERNEL_START=0xc0000000 288CONFIG_KERNEL_START=0xc0000000
265CONFIG_PHYSICAL_START=0x00000000 289CONFIG_PHYSICAL_START=0x00000000
266CONFIG_TASK_SIZE=0xc0000000 290CONFIG_TASK_SIZE=0xc0000000
267
268#
269# Networking
270#
271CONFIG_NET=y 291CONFIG_NET=y
272 292
273# 293#
@@ -393,6 +413,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
393CONFIG_STANDALONE=y 413CONFIG_STANDALONE=y
394CONFIG_PREVENT_FIRMWARE_BUILD=y 414CONFIG_PREVENT_FIRMWARE_BUILD=y
395CONFIG_FW_LOADER=y 415CONFIG_FW_LOADER=y
416CONFIG_FIRMWARE_IN_KERNEL=y
417CONFIG_EXTRA_FIRMWARE=""
396# CONFIG_DEBUG_DRIVER is not set 418# CONFIG_DEBUG_DRIVER is not set
397# CONFIG_DEBUG_DEVRES is not set 419# CONFIG_DEBUG_DEVRES is not set
398# CONFIG_SYS_HYPERVISOR is not set 420# CONFIG_SYS_HYPERVISOR is not set
@@ -403,6 +425,7 @@ CONFIG_OF_I2C=y
403# CONFIG_PARPORT is not set 425# CONFIG_PARPORT is not set
404CONFIG_BLK_DEV=y 426CONFIG_BLK_DEV=y
405# CONFIG_BLK_DEV_FD is not set 427# CONFIG_BLK_DEV_FD is not set
428# CONFIG_MAC_FLOPPY is not set
406# CONFIG_BLK_CPQ_DA is not set 429# CONFIG_BLK_CPQ_DA is not set
407# CONFIG_BLK_CPQ_CISS_DA is not set 430# CONFIG_BLK_CPQ_CISS_DA is not set
408# CONFIG_BLK_DEV_DAC960 is not set 431# CONFIG_BLK_DEV_DAC960 is not set
@@ -419,12 +442,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
419# CONFIG_BLK_DEV_XIP is not set 442# CONFIG_BLK_DEV_XIP is not set
420# CONFIG_CDROM_PKTCDVD is not set 443# CONFIG_CDROM_PKTCDVD is not set
421# CONFIG_ATA_OVER_ETH is not set 444# CONFIG_ATA_OVER_ETH is not set
445# CONFIG_BLK_DEV_HD is not set
422CONFIG_MISC_DEVICES=y 446CONFIG_MISC_DEVICES=y
423# CONFIG_PHANTOM is not set 447# CONFIG_PHANTOM is not set
424# CONFIG_EEPROM_93CX6 is not set 448# CONFIG_EEPROM_93CX6 is not set
425# CONFIG_SGI_IOC4 is not set 449# CONFIG_SGI_IOC4 is not set
426# CONFIG_TIFM_CORE is not set 450# CONFIG_TIFM_CORE is not set
427# CONFIG_ENCLOSURE_SERVICES is not set 451# CONFIG_ENCLOSURE_SERVICES is not set
452# CONFIG_HP_ILO is not set
428CONFIG_HAVE_IDE=y 453CONFIG_HAVE_IDE=y
429# CONFIG_IDE is not set 454# CONFIG_IDE is not set
430 455
@@ -503,7 +528,10 @@ CONFIG_SCSI_LOWLEVEL=y
503# CONFIG_SCSI_DC390T is not set 528# CONFIG_SCSI_DC390T is not set
504# CONFIG_SCSI_NSP32 is not set 529# CONFIG_SCSI_NSP32 is not set
505# CONFIG_SCSI_DEBUG is not set 530# CONFIG_SCSI_DEBUG is not set
531# CONFIG_SCSI_MESH is not set
532# CONFIG_SCSI_MAC53C94 is not set
506# CONFIG_SCSI_SRP is not set 533# CONFIG_SCSI_SRP is not set
534# CONFIG_SCSI_DH is not set
507CONFIG_ATA=y 535CONFIG_ATA=y
508# CONFIG_ATA_NONSTANDARD is not set 536# CONFIG_ATA_NONSTANDARD is not set
509CONFIG_SATA_PMP=y 537CONFIG_SATA_PMP=y
@@ -571,12 +599,15 @@ CONFIG_PATA_ALI=y
571# 599#
572# IEEE 1394 (FireWire) support 600# IEEE 1394 (FireWire) support
573# 601#
602
603#
604# Enable only one of the two stacks, unless you know what you are doing
605#
574# CONFIG_FIREWIRE is not set 606# CONFIG_FIREWIRE is not set
575# CONFIG_IEEE1394 is not set 607# CONFIG_IEEE1394 is not set
576# CONFIG_I2O is not set 608# CONFIG_I2O is not set
577# CONFIG_MACINTOSH_DRIVERS is not set 609# CONFIG_MACINTOSH_DRIVERS is not set
578CONFIG_NETDEVICES=y 610CONFIG_NETDEVICES=y
579# CONFIG_NETDEVICES_MULTIQUEUE is not set
580CONFIG_DUMMY=y 611CONFIG_DUMMY=y
581# CONFIG_BONDING is not set 612# CONFIG_BONDING is not set
582# CONFIG_MACVLAN is not set 613# CONFIG_MACVLAN is not set
@@ -603,6 +634,8 @@ CONFIG_VITESSE_PHY=y
603# CONFIG_MDIO_BITBANG is not set 634# CONFIG_MDIO_BITBANG is not set
604CONFIG_NET_ETHERNET=y 635CONFIG_NET_ETHERNET=y
605CONFIG_MII=y 636CONFIG_MII=y
637# CONFIG_MACE is not set
638# CONFIG_BMAC is not set
606# CONFIG_HAPPYMEAL is not set 639# CONFIG_HAPPYMEAL is not set
607# CONFIG_SUNGEM is not set 640# CONFIG_SUNGEM is not set
608# CONFIG_CASSINI is not set 641# CONFIG_CASSINI is not set
@@ -620,7 +653,6 @@ CONFIG_NETDEV_1000=y
620# CONFIG_DL2K is not set 653# CONFIG_DL2K is not set
621# CONFIG_E1000 is not set 654# CONFIG_E1000 is not set
622# CONFIG_E1000E is not set 655# CONFIG_E1000E is not set
623# CONFIG_E1000E_ENABLED is not set
624# CONFIG_IP1000 is not set 656# CONFIG_IP1000 is not set
625# CONFIG_IGB is not set 657# CONFIG_IGB is not set
626# CONFIG_NS83820 is not set 658# CONFIG_NS83820 is not set
@@ -634,9 +666,10 @@ CONFIG_NETDEV_1000=y
634# CONFIG_TIGON3 is not set 666# CONFIG_TIGON3 is not set
635# CONFIG_BNX2 is not set 667# CONFIG_BNX2 is not set
636CONFIG_GIANFAR=y 668CONFIG_GIANFAR=y
637CONFIG_GFAR_NAPI=y 669# CONFIG_MV643XX_ETH is not set
638# CONFIG_QLA3XXX is not set 670# CONFIG_QLA3XXX is not set
639# CONFIG_ATL1 is not set 671# CONFIG_ATL1 is not set
672# CONFIG_ATL1E is not set
640CONFIG_NETDEV_10000=y 673CONFIG_NETDEV_10000=y
641# CONFIG_CHELSIO_T1 is not set 674# CONFIG_CHELSIO_T1 is not set
642# CONFIG_CHELSIO_T3 is not set 675# CONFIG_CHELSIO_T3 is not set
@@ -713,12 +746,14 @@ CONFIG_SERIO_SERPORT=y
713# CONFIG_SERIO_PCIPS2 is not set 746# CONFIG_SERIO_PCIPS2 is not set
714CONFIG_SERIO_LIBPS2=y 747CONFIG_SERIO_LIBPS2=y
715# CONFIG_SERIO_RAW is not set 748# CONFIG_SERIO_RAW is not set
749# CONFIG_SERIO_XILINX_XPS_PS2 is not set
716# CONFIG_GAMEPORT is not set 750# CONFIG_GAMEPORT is not set
717 751
718# 752#
719# Character devices 753# Character devices
720# 754#
721CONFIG_VT=y 755CONFIG_VT=y
756CONFIG_CONSOLE_TRANSLATIONS=y
722CONFIG_VT_CONSOLE=y 757CONFIG_VT_CONSOLE=y
723CONFIG_HW_CONSOLE=y 758CONFIG_HW_CONSOLE=y
724# CONFIG_VT_HW_CONSOLE_BINDING is not set 759# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -746,11 +781,14 @@ CONFIG_SERIAL_8250_RSA=y
746# CONFIG_SERIAL_UARTLITE is not set 781# CONFIG_SERIAL_UARTLITE is not set
747CONFIG_SERIAL_CORE=y 782CONFIG_SERIAL_CORE=y
748CONFIG_SERIAL_CORE_CONSOLE=y 783CONFIG_SERIAL_CORE_CONSOLE=y
784# CONFIG_SERIAL_PMACZILOG is not set
749# CONFIG_SERIAL_JSM is not set 785# CONFIG_SERIAL_JSM is not set
750# CONFIG_SERIAL_OF_PLATFORM is not set 786# CONFIG_SERIAL_OF_PLATFORM is not set
751CONFIG_UNIX98_PTYS=y 787CONFIG_UNIX98_PTYS=y
752CONFIG_LEGACY_PTYS=y 788CONFIG_LEGACY_PTYS=y
753CONFIG_LEGACY_PTY_COUNT=256 789CONFIG_LEGACY_PTY_COUNT=256
790# CONFIG_BRIQ_PANEL is not set
791# CONFIG_HVC_RTAS is not set
754# CONFIG_IPMI_HANDLER is not set 792# CONFIG_IPMI_HANDLER is not set
755# CONFIG_HW_RANDOM is not set 793# CONFIG_HW_RANDOM is not set
756CONFIG_NVRAM=y 794CONFIG_NVRAM=y
@@ -762,43 +800,70 @@ CONFIG_DEVPORT=y
762CONFIG_I2C=y 800CONFIG_I2C=y
763CONFIG_I2C_BOARDINFO=y 801CONFIG_I2C_BOARDINFO=y
764# CONFIG_I2C_CHARDEV is not set 802# CONFIG_I2C_CHARDEV is not set
803CONFIG_I2C_HELPER_AUTO=y
765 804
766# 805#
767# I2C Hardware Bus support 806# I2C Hardware Bus support
768# 807#
808
809#
810# PC SMBus host controller drivers
811#
769# CONFIG_I2C_ALI1535 is not set 812# CONFIG_I2C_ALI1535 is not set
770# CONFIG_I2C_ALI1563 is not set 813# CONFIG_I2C_ALI1563 is not set
771# CONFIG_I2C_ALI15X3 is not set 814# CONFIG_I2C_ALI15X3 is not set
772# CONFIG_I2C_AMD756 is not set 815# CONFIG_I2C_AMD756 is not set
773# CONFIG_I2C_AMD8111 is not set 816# CONFIG_I2C_AMD8111 is not set
774# CONFIG_I2C_I801 is not set 817# CONFIG_I2C_I801 is not set
775# CONFIG_I2C_I810 is not set 818# CONFIG_I2C_ISCH is not set
776# CONFIG_I2C_PIIX4 is not set 819# CONFIG_I2C_PIIX4 is not set
777CONFIG_I2C_MPC=y
778# CONFIG_I2C_NFORCE2 is not set 820# CONFIG_I2C_NFORCE2 is not set
779# CONFIG_I2C_OCORES is not set
780# CONFIG_I2C_PARPORT_LIGHT is not set
781# CONFIG_I2C_PROSAVAGE is not set
782# CONFIG_I2C_SAVAGE4 is not set
783# CONFIG_I2C_SIMTEC is not set
784# CONFIG_I2C_SIS5595 is not set 821# CONFIG_I2C_SIS5595 is not set
785# CONFIG_I2C_SIS630 is not set 822# CONFIG_I2C_SIS630 is not set
786# CONFIG_I2C_SIS96X is not set 823# CONFIG_I2C_SIS96X is not set
787# CONFIG_I2C_TAOS_EVM is not set
788# CONFIG_I2C_STUB is not set
789# CONFIG_I2C_TINY_USB is not set
790# CONFIG_I2C_VIA is not set 824# CONFIG_I2C_VIA is not set
791# CONFIG_I2C_VIAPRO is not set 825# CONFIG_I2C_VIAPRO is not set
826
827#
828# Mac SMBus host controller drivers
829#
830# CONFIG_I2C_HYDRA is not set
831CONFIG_I2C_POWERMAC=y
832
833#
834# I2C system bus drivers (mostly embedded / system-on-chip)
835#
836CONFIG_I2C_MPC=y
837# CONFIG_I2C_OCORES is not set
838# CONFIG_I2C_SIMTEC is not set
839
840#
841# External I2C/SMBus adapter drivers
842#
843# CONFIG_I2C_PARPORT_LIGHT is not set
844# CONFIG_I2C_TAOS_EVM is not set
845# CONFIG_I2C_TINY_USB is not set
846
847#
848# Graphics adapter I2C/DDC channel drivers
849#
792# CONFIG_I2C_VOODOO3 is not set 850# CONFIG_I2C_VOODOO3 is not set
851
852#
853# Other I2C/SMBus bus drivers
854#
793# CONFIG_I2C_PCA_PLATFORM is not set 855# CONFIG_I2C_PCA_PLATFORM is not set
856# CONFIG_I2C_STUB is not set
794 857
795# 858#
796# Miscellaneous I2C Chip support 859# Miscellaneous I2C Chip support
797# 860#
798# CONFIG_DS1682 is not set 861# CONFIG_DS1682 is not set
862# CONFIG_AT24 is not set
799CONFIG_SENSORS_EEPROM=y 863CONFIG_SENSORS_EEPROM=y
800# CONFIG_SENSORS_PCF8574 is not set 864# CONFIG_SENSORS_PCF8574 is not set
801# CONFIG_PCF8575 is not set 865# CONFIG_PCF8575 is not set
866# CONFIG_SENSORS_PCA9539 is not set
802# CONFIG_SENSORS_PCF8591 is not set 867# CONFIG_SENSORS_PCF8591 is not set
803# CONFIG_SENSORS_MAX6875 is not set 868# CONFIG_SENSORS_MAX6875 is not set
804# CONFIG_SENSORS_TSL2550 is not set 869# CONFIG_SENSORS_TSL2550 is not set
@@ -807,10 +872,13 @@ CONFIG_SENSORS_EEPROM=y
807# CONFIG_I2C_DEBUG_BUS is not set 872# CONFIG_I2C_DEBUG_BUS is not set
808# CONFIG_I2C_DEBUG_CHIP is not set 873# CONFIG_I2C_DEBUG_CHIP is not set
809# CONFIG_SPI is not set 874# CONFIG_SPI is not set
875CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
876# CONFIG_GPIOLIB is not set
810# CONFIG_W1 is not set 877# CONFIG_W1 is not set
811# CONFIG_POWER_SUPPLY is not set 878# CONFIG_POWER_SUPPLY is not set
812# CONFIG_HWMON is not set 879# CONFIG_HWMON is not set
813# CONFIG_THERMAL is not set 880# CONFIG_THERMAL is not set
881# CONFIG_THERMAL_HWMON is not set
814# CONFIG_WATCHDOG is not set 882# CONFIG_WATCHDOG is not set
815 883
816# 884#
@@ -822,8 +890,10 @@ CONFIG_SSB_POSSIBLE=y
822# 890#
823# Multifunction device drivers 891# Multifunction device drivers
824# 892#
893# CONFIG_MFD_CORE is not set
825# CONFIG_MFD_SM501 is not set 894# CONFIG_MFD_SM501 is not set
826# CONFIG_HTC_PASIC3 is not set 895# CONFIG_HTC_PASIC3 is not set
896# CONFIG_MFD_TMIO is not set
827 897
828# 898#
829# Multimedia devices 899# Multimedia devices
@@ -865,6 +935,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
865# CONFIG_DVB_TTUSB_BUDGET is not set 935# CONFIG_DVB_TTUSB_BUDGET is not set
866# CONFIG_DVB_TTUSB_DEC is not set 936# CONFIG_DVB_TTUSB_DEC is not set
867# CONFIG_DVB_CINERGYT2 is not set 937# CONFIG_DVB_CINERGYT2 is not set
938# CONFIG_DVB_SIANO_SMS1XXX is not set
868 939
869# 940#
870# Supported FlexCopII (B2C2) Adapters 941# Supported FlexCopII (B2C2) Adapters
@@ -911,6 +982,7 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
911# CONFIG_DVB_SP887X is not set 982# CONFIG_DVB_SP887X is not set
912# CONFIG_DVB_CX22700 is not set 983# CONFIG_DVB_CX22700 is not set
913# CONFIG_DVB_CX22702 is not set 984# CONFIG_DVB_CX22702 is not set
985# CONFIG_DVB_DRX397XD is not set
914# CONFIG_DVB_L64781 is not set 986# CONFIG_DVB_L64781 is not set
915# CONFIG_DVB_TDA1004X is not set 987# CONFIG_DVB_TDA1004X is not set
916# CONFIG_DVB_NXT6000 is not set 988# CONFIG_DVB_NXT6000 is not set
@@ -978,15 +1050,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
978CONFIG_VGA_CONSOLE=y 1050CONFIG_VGA_CONSOLE=y
979# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1051# CONFIG_VGACON_SOFT_SCROLLBACK is not set
980CONFIG_DUMMY_CONSOLE=y 1052CONFIG_DUMMY_CONSOLE=y
981
982#
983# Sound
984#
985CONFIG_SOUND=y 1053CONFIG_SOUND=y
986
987#
988# Advanced Linux Sound Architecture
989#
990CONFIG_SND=y 1054CONFIG_SND=y
991CONFIG_SND_TIMER=y 1055CONFIG_SND_TIMER=y
992CONFIG_SND_PCM=y 1056CONFIG_SND_PCM=y
@@ -1000,19 +1064,15 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
1000CONFIG_SND_VERBOSE_PROCFS=y 1064CONFIG_SND_VERBOSE_PROCFS=y
1001# CONFIG_SND_VERBOSE_PRINTK is not set 1065# CONFIG_SND_VERBOSE_PRINTK is not set
1002# CONFIG_SND_DEBUG is not set 1066# CONFIG_SND_DEBUG is not set
1003 1067CONFIG_SND_VMASTER=y
1004#
1005# Generic devices
1006#
1007CONFIG_SND_AC97_CODEC=y 1068CONFIG_SND_AC97_CODEC=y
1069CONFIG_SND_DRIVERS=y
1008# CONFIG_SND_DUMMY is not set 1070# CONFIG_SND_DUMMY is not set
1009# CONFIG_SND_MTPAV is not set 1071# CONFIG_SND_MTPAV is not set
1010# CONFIG_SND_SERIAL_U16550 is not set 1072# CONFIG_SND_SERIAL_U16550 is not set
1011# CONFIG_SND_MPU401 is not set 1073# CONFIG_SND_MPU401 is not set
1012 1074# CONFIG_SND_AC97_POWER_SAVE is not set
1013# 1075CONFIG_SND_PCI=y
1014# PCI devices
1015#
1016# CONFIG_SND_AD1889 is not set 1076# CONFIG_SND_AD1889 is not set
1017# CONFIG_SND_ALS300 is not set 1077# CONFIG_SND_ALS300 is not set
1018# CONFIG_SND_ALS4000 is not set 1078# CONFIG_SND_ALS4000 is not set
@@ -1074,39 +1134,14 @@ CONFIG_SND_INTEL8X0=y
1074# CONFIG_SND_VIRTUOSO is not set 1134# CONFIG_SND_VIRTUOSO is not set
1075# CONFIG_SND_VX222 is not set 1135# CONFIG_SND_VX222 is not set
1076# CONFIG_SND_YMFPCI is not set 1136# CONFIG_SND_YMFPCI is not set
1077# CONFIG_SND_AC97_POWER_SAVE is not set 1137CONFIG_SND_PPC=y
1078 1138# CONFIG_SND_POWERMAC is not set
1079# 1139# CONFIG_SND_AOA is not set
1080# ALSA PowerMac devices 1140CONFIG_SND_USB=y
1081#
1082
1083#
1084# ALSA PowerPC devices
1085#
1086
1087#
1088# USB devices
1089#
1090# CONFIG_SND_USB_AUDIO is not set 1141# CONFIG_SND_USB_AUDIO is not set
1091# CONFIG_SND_USB_USX2Y is not set 1142# CONFIG_SND_USB_USX2Y is not set
1092# CONFIG_SND_USB_CAIAQ is not set 1143# CONFIG_SND_USB_CAIAQ is not set
1093
1094#
1095# System on Chip audio support
1096#
1097# CONFIG_SND_SOC is not set 1144# CONFIG_SND_SOC is not set
1098
1099#
1100# ALSA SoC audio for Freescale SOCs
1101#
1102
1103#
1104# SoC Audio for the Texas Instruments OMAP
1105#
1106
1107#
1108# Open Sound System
1109#
1110# CONFIG_SOUND_PRIME is not set 1145# CONFIG_SOUND_PRIME is not set
1111CONFIG_AC97_BUS=y 1146CONFIG_AC97_BUS=y
1112CONFIG_HID_SUPPORT=y 1147CONFIG_HID_SUPPORT=y
@@ -1138,6 +1173,7 @@ CONFIG_USB_DEVICE_CLASS=y
1138# CONFIG_USB_OTG is not set 1173# CONFIG_USB_OTG is not set
1139# CONFIG_USB_OTG_WHITELIST is not set 1174# CONFIG_USB_OTG_WHITELIST is not set
1140# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1175# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1176CONFIG_USB_MON=y
1141 1177
1142# 1178#
1143# USB Host Controller Drivers 1179# USB Host Controller Drivers
@@ -1189,6 +1225,7 @@ CONFIG_USB_STORAGE=y
1189# CONFIG_USB_STORAGE_ALAUDA is not set 1225# CONFIG_USB_STORAGE_ALAUDA is not set
1190# CONFIG_USB_STORAGE_ONETOUCH is not set 1226# CONFIG_USB_STORAGE_ONETOUCH is not set
1191# CONFIG_USB_STORAGE_KARMA is not set 1227# CONFIG_USB_STORAGE_KARMA is not set
1228# CONFIG_USB_STORAGE_SIERRA is not set
1192# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1229# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1193# CONFIG_USB_LIBUSUAL is not set 1230# CONFIG_USB_LIBUSUAL is not set
1194 1231
@@ -1197,7 +1234,6 @@ CONFIG_USB_STORAGE=y
1197# 1234#
1198# CONFIG_USB_MDC800 is not set 1235# CONFIG_USB_MDC800 is not set
1199# CONFIG_USB_MICROTEK is not set 1236# CONFIG_USB_MICROTEK is not set
1200CONFIG_USB_MON=y
1201 1237
1202# 1238#
1203# USB port drivers 1239# USB port drivers
@@ -1210,7 +1246,6 @@ CONFIG_USB_MON=y
1210# CONFIG_USB_EMI62 is not set 1246# CONFIG_USB_EMI62 is not set
1211# CONFIG_USB_EMI26 is not set 1247# CONFIG_USB_EMI26 is not set
1212# CONFIG_USB_ADUTUX is not set 1248# CONFIG_USB_ADUTUX is not set
1213# CONFIG_USB_AUERSWALD is not set
1214# CONFIG_USB_RIO500 is not set 1249# CONFIG_USB_RIO500 is not set
1215# CONFIG_USB_LEGOTOWER is not set 1250# CONFIG_USB_LEGOTOWER is not set
1216# CONFIG_USB_LCD is not set 1251# CONFIG_USB_LCD is not set
@@ -1264,6 +1299,7 @@ CONFIG_RTC_INTF_DEV=y
1264# CONFIG_RTC_DRV_PCF8583 is not set 1299# CONFIG_RTC_DRV_PCF8583 is not set
1265# CONFIG_RTC_DRV_M41T80 is not set 1300# CONFIG_RTC_DRV_M41T80 is not set
1266# CONFIG_RTC_DRV_S35390A is not set 1301# CONFIG_RTC_DRV_S35390A is not set
1302# CONFIG_RTC_DRV_FM3130 is not set
1267 1303
1268# 1304#
1269# SPI RTC drivers 1305# SPI RTC drivers
@@ -1362,6 +1398,7 @@ CONFIG_EFS_FS=m
1362CONFIG_CRAMFS=y 1398CONFIG_CRAMFS=y
1363CONFIG_VXFS_FS=m 1399CONFIG_VXFS_FS=m
1364# CONFIG_MINIX_FS is not set 1400# CONFIG_MINIX_FS is not set
1401# CONFIG_OMFS_FS is not set
1365CONFIG_HPFS_FS=m 1402CONFIG_HPFS_FS=m
1366CONFIG_QNX4FS_FS=m 1403CONFIG_QNX4FS_FS=m
1367# CONFIG_ROMFS_FS is not set 1404# CONFIG_ROMFS_FS is not set
@@ -1374,17 +1411,16 @@ CONFIG_NFS_FS=y
1374CONFIG_NFS_V3=y 1411CONFIG_NFS_V3=y
1375# CONFIG_NFS_V3_ACL is not set 1412# CONFIG_NFS_V3_ACL is not set
1376CONFIG_NFS_V4=y 1413CONFIG_NFS_V4=y
1414CONFIG_ROOT_NFS=y
1377CONFIG_NFSD=y 1415CONFIG_NFSD=y
1378# CONFIG_NFSD_V3 is not set 1416# CONFIG_NFSD_V3 is not set
1379# CONFIG_NFSD_V4 is not set 1417# CONFIG_NFSD_V4 is not set
1380CONFIG_ROOT_NFS=y
1381CONFIG_LOCKD=y 1418CONFIG_LOCKD=y
1382CONFIG_LOCKD_V4=y 1419CONFIG_LOCKD_V4=y
1383CONFIG_EXPORTFS=y 1420CONFIG_EXPORTFS=y
1384CONFIG_NFS_COMMON=y 1421CONFIG_NFS_COMMON=y
1385CONFIG_SUNRPC=y 1422CONFIG_SUNRPC=y
1386CONFIG_SUNRPC_GSS=y 1423CONFIG_SUNRPC_GSS=y
1387# CONFIG_SUNRPC_BIND34 is not set
1388CONFIG_RPCSEC_GSS_KRB5=y 1424CONFIG_RPCSEC_GSS_KRB5=y
1389# CONFIG_RPCSEC_GSS_SPKM3 is not set 1425# CONFIG_RPCSEC_GSS_SPKM3 is not set
1390# CONFIG_SMB_FS is not set 1426# CONFIG_SMB_FS is not set
@@ -1463,6 +1499,7 @@ CONFIG_BITREVERSE=y
1463# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1499# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1464# CONFIG_CRC_CCITT is not set 1500# CONFIG_CRC_CCITT is not set
1465# CONFIG_CRC16 is not set 1501# CONFIG_CRC16 is not set
1502CONFIG_CRC_T10DIF=y
1466CONFIG_CRC_ITU_T=m 1503CONFIG_CRC_ITU_T=m
1467CONFIG_CRC32=y 1504CONFIG_CRC32=y
1468# CONFIG_CRC7 is not set 1505# CONFIG_CRC7 is not set
@@ -1488,6 +1525,8 @@ CONFIG_FRAME_WARN=1024
1488CONFIG_DEBUG_KERNEL=y 1525CONFIG_DEBUG_KERNEL=y
1489# CONFIG_DEBUG_SHIRQ is not set 1526# CONFIG_DEBUG_SHIRQ is not set
1490CONFIG_DETECT_SOFTLOCKUP=y 1527CONFIG_DETECT_SOFTLOCKUP=y
1528# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1529CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1491CONFIG_SCHED_DEBUG=y 1530CONFIG_SCHED_DEBUG=y
1492# CONFIG_SCHEDSTATS is not set 1531# CONFIG_SCHEDSTATS is not set
1493# CONFIG_TIMER_STATS is not set 1532# CONFIG_TIMER_STATS is not set
@@ -1506,19 +1545,32 @@ CONFIG_SCHED_DEBUG=y
1506CONFIG_DEBUG_INFO=y 1545CONFIG_DEBUG_INFO=y
1507# CONFIG_DEBUG_VM is not set 1546# CONFIG_DEBUG_VM is not set
1508# CONFIG_DEBUG_WRITECOUNT is not set 1547# CONFIG_DEBUG_WRITECOUNT is not set
1548# CONFIG_DEBUG_MEMORY_INIT is not set
1509# CONFIG_DEBUG_LIST is not set 1549# CONFIG_DEBUG_LIST is not set
1510# CONFIG_DEBUG_SG is not set 1550# CONFIG_DEBUG_SG is not set
1511# CONFIG_BOOT_PRINTK_DELAY is not set 1551# CONFIG_BOOT_PRINTK_DELAY is not set
1512# CONFIG_RCU_TORTURE_TEST is not set 1552# CONFIG_RCU_TORTURE_TEST is not set
1513# CONFIG_BACKTRACE_SELF_TEST is not set 1553# CONFIG_BACKTRACE_SELF_TEST is not set
1514# CONFIG_FAULT_INJECTION is not set 1554# CONFIG_FAULT_INJECTION is not set
1555# CONFIG_LATENCYTOP is not set
1556CONFIG_SYSCTL_SYSCALL_CHECK=y
1557CONFIG_HAVE_FTRACE=y
1558CONFIG_HAVE_DYNAMIC_FTRACE=y
1559# CONFIG_FTRACE is not set
1560# CONFIG_SCHED_TRACER is not set
1561# CONFIG_CONTEXT_SWITCH_TRACER is not set
1515# CONFIG_SAMPLES is not set 1562# CONFIG_SAMPLES is not set
1563CONFIG_HAVE_ARCH_KGDB=y
1564# CONFIG_KGDB is not set
1516# CONFIG_DEBUG_STACKOVERFLOW is not set 1565# CONFIG_DEBUG_STACKOVERFLOW is not set
1517# CONFIG_DEBUG_STACK_USAGE is not set 1566# CONFIG_DEBUG_STACK_USAGE is not set
1518# CONFIG_DEBUG_PAGEALLOC is not set 1567# CONFIG_DEBUG_PAGEALLOC is not set
1519# CONFIG_DEBUGGER is not set 1568# CONFIG_CODE_PATCHING_SELFTEST is not set
1569# CONFIG_FTR_FIXUP_SELFTEST is not set
1570# CONFIG_XMON is not set
1520# CONFIG_IRQSTACKS is not set 1571# CONFIG_IRQSTACKS is not set
1521# CONFIG_BDI_SWITCH is not set 1572# CONFIG_BDI_SWITCH is not set
1573# CONFIG_BOOTX_TEXT is not set
1522# CONFIG_PPC_EARLY_DEBUG is not set 1574# CONFIG_PPC_EARLY_DEBUG is not set
1523 1575
1524# 1576#
@@ -1573,6 +1625,10 @@ CONFIG_CRYPTO_HMAC=y
1573# CONFIG_CRYPTO_MD4 is not set 1625# CONFIG_CRYPTO_MD4 is not set
1574CONFIG_CRYPTO_MD5=y 1626CONFIG_CRYPTO_MD5=y
1575# CONFIG_CRYPTO_MICHAEL_MIC is not set 1627# CONFIG_CRYPTO_MICHAEL_MIC is not set
1628# CONFIG_CRYPTO_RMD128 is not set
1629# CONFIG_CRYPTO_RMD160 is not set
1630# CONFIG_CRYPTO_RMD256 is not set
1631# CONFIG_CRYPTO_RMD320 is not set
1576CONFIG_CRYPTO_SHA1=m 1632CONFIG_CRYPTO_SHA1=m
1577# CONFIG_CRYPTO_SHA256 is not set 1633# CONFIG_CRYPTO_SHA256 is not set
1578# CONFIG_CRYPTO_SHA512 is not set 1634# CONFIG_CRYPTO_SHA512 is not set
@@ -1605,5 +1661,6 @@ CONFIG_CRYPTO_DES=y
1605# CONFIG_CRYPTO_LZO is not set 1661# CONFIG_CRYPTO_LZO is not set
1606CONFIG_CRYPTO_HW=y 1662CONFIG_CRYPTO_HW=y
1607# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1663# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1664# CONFIG_CRYPTO_DEV_TALITOS is not set
1608# CONFIG_PPC_CLOCK is not set 1665# CONFIG_PPC_CLOCK is not set
1609# CONFIG_VIRTUALIZATION is not set 1666# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 46fffbcd3f99..1501c4336b3d 100644
--- a/arch/powerpc/configs/mpc866_ads_defconfig
+++ b/arch/powerpc/configs/mpc866_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:16 2008 4# Thu Aug 21 00:52:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
30CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
31CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
32CONFIG_HAVE_LATENCYTOP_SUPPORT=y
32CONFIG_LOCKDEP_SUPPORT=y 33CONFIG_LOCKDEP_SUPPORT=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -106,10 +107,16 @@ CONFIG_SLUB=y
106# CONFIG_PROFILING is not set 107# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set 108# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y 109CONFIG_HAVE_OPROFILE=y
110CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
111CONFIG_HAVE_IOREMAP_PROT=y
109CONFIG_HAVE_KPROBES=y 112CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y 113CONFIG_HAVE_KRETPROBES=y
114CONFIG_HAVE_ARCH_TRACEHOOK=y
111# CONFIG_HAVE_DMA_ATTRS is not set 115# CONFIG_HAVE_DMA_ATTRS is not set
116# CONFIG_USE_GENERIC_SMP_HELPERS is not set
117CONFIG_HAVE_CLK=y
112CONFIG_PROC_PAGE_MONITOR=y 118CONFIG_PROC_PAGE_MONITOR=y
119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
113CONFIG_SLABINFO=y 120CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y 121CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set 122# CONFIG_TINY_SHMEM is not set
@@ -120,6 +127,7 @@ CONFIG_BLOCK=y
120# CONFIG_BLK_DEV_IO_TRACE is not set 127# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set 128# CONFIG_LSF is not set
122# CONFIG_BLK_DEV_BSG is not set 129# CONFIG_BLK_DEV_BSG is not set
130# CONFIG_BLK_DEV_INTEGRITY is not set
123 131
124# 132#
125# IO Schedulers 133# IO Schedulers
@@ -138,8 +146,6 @@ CONFIG_CLASSIC_RCU=y
138# 146#
139# Platform support 147# Platform support
140# 148#
141# CONFIG_PPC_MPC512x is not set
142# CONFIG_PPC_MPC5121 is not set
143# CONFIG_PPC_CELL is not set 149# CONFIG_PPC_CELL is not set
144# CONFIG_PPC_CELL_NATIVE is not set 150# CONFIG_PPC_CELL_NATIVE is not set
145CONFIG_CPM1=y 151CONFIG_CPM1=y
@@ -157,6 +163,7 @@ CONFIG_MPC86XADS=y
157# Generic MPC8xx Options 163# Generic MPC8xx Options
158# 164#
159CONFIG_8xx_COPYBACK=y 165CONFIG_8xx_COPYBACK=y
166# CONFIG_8xx_GPIO is not set
160CONFIG_8xx_CPU6=y 167CONFIG_8xx_CPU6=y
161CONFIG_8xx_CPU15=y 168CONFIG_8xx_CPU15=y
162CONFIG_NO_UCODE_PATCH=y 169CONFIG_NO_UCODE_PATCH=y
@@ -175,7 +182,6 @@ CONFIG_NO_UCODE_PATCH=y
175# CONFIG_PPC_INDIRECT_IO is not set 182# CONFIG_PPC_INDIRECT_IO is not set
176# CONFIG_GENERIC_IOMAP is not set 183# CONFIG_GENERIC_IOMAP is not set
177# CONFIG_CPU_FREQ is not set 184# CONFIG_CPU_FREQ is not set
178CONFIG_PPC_CPM_NEW_BINDING=y
179# CONFIG_FSL_ULI1575 is not set 185# CONFIG_FSL_ULI1575 is not set
180CONFIG_CPM=y 186CONFIG_CPM=y
181 187
@@ -192,7 +198,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
192# CONFIG_HZ_300 is not set 198# CONFIG_HZ_300 is not set
193CONFIG_HZ_1000=y 199CONFIG_HZ_1000=y
194CONFIG_HZ=1000 200CONFIG_HZ=1000
195# CONFIG_SCHED_HRTICK is not set 201CONFIG_SCHED_HRTICK=y
196CONFIG_PREEMPT_NONE=y 202CONFIG_PREEMPT_NONE=y
197# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
198# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
@@ -215,6 +221,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
215# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
216CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
217CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y
218# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
219CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
220CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
@@ -222,6 +229,7 @@ CONFIG_VIRT_TO_BUS=y
222CONFIG_FORCE_MAX_ZONEORDER=11 229CONFIG_FORCE_MAX_ZONEORDER=11
223# CONFIG_PROC_DEVICETREE is not set 230# CONFIG_PROC_DEVICETREE is not set
224# CONFIG_CMDLINE_BOOL is not set 231# CONFIG_CMDLINE_BOOL is not set
232CONFIG_EXTRA_TARGETS=""
225# CONFIG_PM is not set 233# CONFIG_PM is not set
226# CONFIG_SECCOMP is not set 234# CONFIG_SECCOMP is not set
227CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
@@ -253,10 +261,6 @@ CONFIG_PHYSICAL_START=0x00000000
253CONFIG_TASK_SIZE=0x80000000 261CONFIG_TASK_SIZE=0x80000000
254CONFIG_CONSISTENT_START=0xfd000000 262CONFIG_CONSISTENT_START=0xfd000000
255CONFIG_CONSISTENT_SIZE=0x00200000 263CONFIG_CONSISTENT_SIZE=0x00200000
256
257#
258# Networking
259#
260CONFIG_NET=y 264CONFIG_NET=y
261 265
262# 266#
@@ -361,6 +365,7 @@ CONFIG_BLK_DEV_LOOP=y
361# CONFIG_BLK_DEV_RAM is not set 365# CONFIG_BLK_DEV_RAM is not set
362# CONFIG_CDROM_PKTCDVD is not set 366# CONFIG_CDROM_PKTCDVD is not set
363# CONFIG_ATA_OVER_ETH is not set 367# CONFIG_ATA_OVER_ETH is not set
368# CONFIG_BLK_DEV_HD is not set
364CONFIG_MISC_DEVICES=y 369CONFIG_MISC_DEVICES=y
365# CONFIG_EEPROM_93CX6 is not set 370# CONFIG_EEPROM_93CX6 is not set
366# CONFIG_ENCLOSURE_SERVICES is not set 371# CONFIG_ENCLOSURE_SERVICES is not set
@@ -378,7 +383,6 @@ CONFIG_HAVE_IDE=y
378# CONFIG_MD is not set 383# CONFIG_MD is not set
379# CONFIG_MACINTOSH_DRIVERS is not set 384# CONFIG_MACINTOSH_DRIVERS is not set
380CONFIG_NETDEVICES=y 385CONFIG_NETDEVICES=y
381# CONFIG_NETDEVICES_MULTIQUEUE is not set
382# CONFIG_DUMMY is not set 386# CONFIG_DUMMY is not set
383# CONFIG_BONDING is not set 387# CONFIG_BONDING is not set
384# CONFIG_MACVLAN is not set 388# CONFIG_MACVLAN is not set
@@ -414,7 +418,6 @@ CONFIG_FS_ENET_HAS_SCC=y
414CONFIG_FS_ENET_HAS_FEC=y 418CONFIG_FS_ENET_HAS_FEC=y
415CONFIG_FS_ENET_MDIO_FEC=y 419CONFIG_FS_ENET_MDIO_FEC=y
416CONFIG_NETDEV_1000=y 420CONFIG_NETDEV_1000=y
417# CONFIG_E1000E_ENABLED is not set
418# CONFIG_GIANFAR is not set 421# CONFIG_GIANFAR is not set
419CONFIG_NETDEV_10000=y 422CONFIG_NETDEV_10000=y
420 423
@@ -484,6 +487,7 @@ CONFIG_SERIO_I8042=y
484CONFIG_SERIO_SERPORT=y 487CONFIG_SERIO_SERPORT=y
485CONFIG_SERIO_LIBPS2=y 488CONFIG_SERIO_LIBPS2=y
486# CONFIG_SERIO_RAW is not set 489# CONFIG_SERIO_RAW is not set
490# CONFIG_SERIO_XILINX_XPS_PS2 is not set
487# CONFIG_GAMEPORT is not set 491# CONFIG_GAMEPORT is not set
488 492
489# 493#
@@ -524,6 +528,8 @@ CONFIG_GEN_RTC=y
524# CONFIG_TCG_TPM is not set 528# CONFIG_TCG_TPM is not set
525# CONFIG_I2C is not set 529# CONFIG_I2C is not set
526# CONFIG_SPI is not set 530# CONFIG_SPI is not set
531CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
532# CONFIG_GPIOLIB is not set
527# CONFIG_W1 is not set 533# CONFIG_W1 is not set
528# CONFIG_POWER_SUPPLY is not set 534# CONFIG_POWER_SUPPLY is not set
529CONFIG_HWMON=y 535CONFIG_HWMON=y
@@ -540,6 +546,7 @@ CONFIG_HWMON=y
540# CONFIG_SENSORS_W83627EHF is not set 546# CONFIG_SENSORS_W83627EHF is not set
541# CONFIG_HWMON_DEBUG_CHIP is not set 547# CONFIG_HWMON_DEBUG_CHIP is not set
542# CONFIG_THERMAL is not set 548# CONFIG_THERMAL is not set
549# CONFIG_THERMAL_HWMON is not set
543# CONFIG_WATCHDOG is not set 550# CONFIG_WATCHDOG is not set
544 551
545# 552#
@@ -551,8 +558,10 @@ CONFIG_SSB_POSSIBLE=y
551# 558#
552# Multifunction device drivers 559# Multifunction device drivers
553# 560#
561# CONFIG_MFD_CORE is not set
554# CONFIG_MFD_SM501 is not set 562# CONFIG_MFD_SM501 is not set
555# CONFIG_HTC_PASIC3 is not set 563# CONFIG_HTC_PASIC3 is not set
564# CONFIG_MFD_TMIO is not set
556 565
557# 566#
558# Multimedia devices 567# Multimedia devices
@@ -582,10 +591,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
582# Display device support 591# Display device support
583# 592#
584# CONFIG_DISPLAY_SUPPORT is not set 593# CONFIG_DISPLAY_SUPPORT is not set
585
586#
587# Sound
588#
589# CONFIG_SOUND is not set 594# CONFIG_SOUND is not set
590CONFIG_HID_SUPPORT=y 595CONFIG_HID_SUPPORT=y
591CONFIG_HID=y 596CONFIG_HID=y
@@ -599,6 +604,10 @@ CONFIG_USB_SUPPORT=y
599# CONFIG_USB_OTG_BLACKLIST_HUB is not set 604# CONFIG_USB_OTG_BLACKLIST_HUB is not set
600 605
601# 606#
607# Enable Host or Gadget support to see Inventra options
608#
609
610#
602# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 611# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
603# 612#
604# CONFIG_USB_GADGET is not set 613# CONFIG_USB_GADGET is not set
@@ -677,6 +686,7 @@ CONFIG_TMPFS=y
677CONFIG_CRAMFS=y 686CONFIG_CRAMFS=y
678# CONFIG_VXFS_FS is not set 687# CONFIG_VXFS_FS is not set
679# CONFIG_MINIX_FS is not set 688# CONFIG_MINIX_FS is not set
689# CONFIG_OMFS_FS is not set
680# CONFIG_HPFS_FS is not set 690# CONFIG_HPFS_FS is not set
681# CONFIG_QNX4FS_FS is not set 691# CONFIG_QNX4FS_FS is not set
682# CONFIG_ROMFS_FS is not set 692# CONFIG_ROMFS_FS is not set
@@ -687,13 +697,12 @@ CONFIG_NFS_FS=y
687CONFIG_NFS_V3=y 697CONFIG_NFS_V3=y
688# CONFIG_NFS_V3_ACL is not set 698# CONFIG_NFS_V3_ACL is not set
689# CONFIG_NFS_V4 is not set 699# CONFIG_NFS_V4 is not set
690# CONFIG_NFSD is not set
691CONFIG_ROOT_NFS=y 700CONFIG_ROOT_NFS=y
701# CONFIG_NFSD is not set
692CONFIG_LOCKD=y 702CONFIG_LOCKD=y
693CONFIG_LOCKD_V4=y 703CONFIG_LOCKD_V4=y
694CONFIG_NFS_COMMON=y 704CONFIG_NFS_COMMON=y
695CONFIG_SUNRPC=y 705CONFIG_SUNRPC=y
696# CONFIG_SUNRPC_BIND34 is not set
697# CONFIG_RPCSEC_GSS_KRB5 is not set 706# CONFIG_RPCSEC_GSS_KRB5 is not set
698# CONFIG_RPCSEC_GSS_SPKM3 is not set 707# CONFIG_RPCSEC_GSS_SPKM3 is not set
699# CONFIG_SMB_FS is not set 708# CONFIG_SMB_FS is not set
@@ -733,6 +742,7 @@ CONFIG_BITREVERSE=y
733# CONFIG_GENERIC_FIND_FIRST_BIT is not set 742# CONFIG_GENERIC_FIND_FIRST_BIT is not set
734CONFIG_CRC_CCITT=y 743CONFIG_CRC_CCITT=y
735# CONFIG_CRC16 is not set 744# CONFIG_CRC16 is not set
745# CONFIG_CRC_T10DIF is not set
736# CONFIG_CRC_ITU_T is not set 746# CONFIG_CRC_ITU_T is not set
737CONFIG_CRC32=y 747CONFIG_CRC32=y
738# CONFIG_CRC7 is not set 748# CONFIG_CRC7 is not set
@@ -758,7 +768,15 @@ CONFIG_FRAME_WARN=1024
758# CONFIG_DEBUG_KERNEL is not set 768# CONFIG_DEBUG_KERNEL is not set
759# CONFIG_SLUB_DEBUG_ON is not set 769# CONFIG_SLUB_DEBUG_ON is not set
760# CONFIG_SLUB_STATS is not set 770# CONFIG_SLUB_STATS is not set
771# CONFIG_DEBUG_MEMORY_INIT is not set
772# CONFIG_LATENCYTOP is not set
773CONFIG_HAVE_FTRACE=y
774CONFIG_HAVE_DYNAMIC_FTRACE=y
775# CONFIG_FTRACE is not set
776# CONFIG_SCHED_TRACER is not set
777# CONFIG_CONTEXT_SWITCH_TRACER is not set
761# CONFIG_SAMPLES is not set 778# CONFIG_SAMPLES is not set
779CONFIG_HAVE_ARCH_KGDB=y
762# CONFIG_IRQSTACKS is not set 780# CONFIG_IRQSTACKS is not set
763# CONFIG_PPC_EARLY_DEBUG is not set 781# CONFIG_PPC_EARLY_DEBUG is not set
764 782
@@ -810,6 +828,10 @@ CONFIG_CRYPTO=y
810# CONFIG_CRYPTO_MD4 is not set 828# CONFIG_CRYPTO_MD4 is not set
811# CONFIG_CRYPTO_MD5 is not set 829# CONFIG_CRYPTO_MD5 is not set
812# CONFIG_CRYPTO_MICHAEL_MIC is not set 830# CONFIG_CRYPTO_MICHAEL_MIC is not set
831# CONFIG_CRYPTO_RMD128 is not set
832# CONFIG_CRYPTO_RMD160 is not set
833# CONFIG_CRYPTO_RMD256 is not set
834# CONFIG_CRYPTO_RMD320 is not set
813# CONFIG_CRYPTO_SHA1 is not set 835# CONFIG_CRYPTO_SHA1 is not set
814# CONFIG_CRYPTO_SHA256 is not set 836# CONFIG_CRYPTO_SHA256 is not set
815# CONFIG_CRYPTO_SHA512 is not set 837# CONFIG_CRYPTO_SHA512 is not set
@@ -841,6 +863,7 @@ CONFIG_CRYPTO=y
841# CONFIG_CRYPTO_DEFLATE is not set 863# CONFIG_CRYPTO_DEFLATE is not set
842# CONFIG_CRYPTO_LZO is not set 864# CONFIG_CRYPTO_LZO is not set
843CONFIG_CRYPTO_HW=y 865CONFIG_CRYPTO_HW=y
844# CONFIG_PPC_CLOCK is not set 866# CONFIG_CRYPTO_DEV_TALITOS is not set
867CONFIG_PPC_CLOCK=y
845CONFIG_PPC_LIB_RHEAP=y 868CONFIG_PPC_LIB_RHEAP=y
846# CONFIG_VIRTUALIZATION is not set 869# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index 9df78973005e..fc3f6dc58126 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:17 2008 4# Thu Aug 21 00:52:12 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -29,6 +29,7 @@ CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
30CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
31CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
32CONFIG_HAVE_LATENCYTOP_SUPPORT=y
32CONFIG_LOCKDEP_SUPPORT=y 33CONFIG_LOCKDEP_SUPPORT=y
33CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
34CONFIG_ARCH_HAS_ILOG2_U32=y 35CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -108,10 +109,16 @@ CONFIG_SLUB=y
108# CONFIG_PROFILING is not set 109# CONFIG_PROFILING is not set
109# CONFIG_MARKERS is not set 110# CONFIG_MARKERS is not set
110CONFIG_HAVE_OPROFILE=y 111CONFIG_HAVE_OPROFILE=y
112CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
113CONFIG_HAVE_IOREMAP_PROT=y
111CONFIG_HAVE_KPROBES=y 114CONFIG_HAVE_KPROBES=y
112CONFIG_HAVE_KRETPROBES=y 115CONFIG_HAVE_KRETPROBES=y
116CONFIG_HAVE_ARCH_TRACEHOOK=y
113# CONFIG_HAVE_DMA_ATTRS is not set 117# CONFIG_HAVE_DMA_ATTRS is not set
118# CONFIG_USE_GENERIC_SMP_HELPERS is not set
119CONFIG_HAVE_CLK=y
114CONFIG_PROC_PAGE_MONITOR=y 120CONFIG_PROC_PAGE_MONITOR=y
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
115CONFIG_SLABINFO=y 122CONFIG_SLABINFO=y
116# CONFIG_TINY_SHMEM is not set 123# CONFIG_TINY_SHMEM is not set
117CONFIG_BASE_SMALL=1 124CONFIG_BASE_SMALL=1
@@ -121,6 +128,7 @@ CONFIG_BLOCK=y
121# CONFIG_BLK_DEV_IO_TRACE is not set 128# CONFIG_BLK_DEV_IO_TRACE is not set
122# CONFIG_LSF is not set 129# CONFIG_LSF is not set
123# CONFIG_BLK_DEV_BSG is not set 130# CONFIG_BLK_DEV_BSG is not set
131# CONFIG_BLK_DEV_INTEGRITY is not set
124 132
125# 133#
126# IO Schedulers 134# IO Schedulers
@@ -139,8 +147,6 @@ CONFIG_CLASSIC_RCU=y
139# 147#
140# Platform support 148# Platform support
141# 149#
142# CONFIG_PPC_MPC512x is not set
143# CONFIG_PPC_MPC5121 is not set
144# CONFIG_PPC_CELL is not set 150# CONFIG_PPC_CELL is not set
145# CONFIG_PPC_CELL_NATIVE is not set 151# CONFIG_PPC_CELL_NATIVE is not set
146CONFIG_CPM1=y 152CONFIG_CPM1=y
@@ -165,6 +171,7 @@ CONFIG_MPC8xx_SECOND_ETH_FEC2=y
165# Generic MPC8xx Options 171# Generic MPC8xx Options
166# 172#
167CONFIG_8xx_COPYBACK=y 173CONFIG_8xx_COPYBACK=y
174# CONFIG_8xx_GPIO is not set
168# CONFIG_8xx_CPU6 is not set 175# CONFIG_8xx_CPU6 is not set
169CONFIG_8xx_CPU15=y 176CONFIG_8xx_CPU15=y
170CONFIG_NO_UCODE_PATCH=y 177CONFIG_NO_UCODE_PATCH=y
@@ -183,7 +190,6 @@ CONFIG_NO_UCODE_PATCH=y
183# CONFIG_PPC_INDIRECT_IO is not set 190# CONFIG_PPC_INDIRECT_IO is not set
184# CONFIG_GENERIC_IOMAP is not set 191# CONFIG_GENERIC_IOMAP is not set
185# CONFIG_CPU_FREQ is not set 192# CONFIG_CPU_FREQ is not set
186CONFIG_PPC_CPM_NEW_BINDING=y
187# CONFIG_FSL_ULI1575 is not set 193# CONFIG_FSL_ULI1575 is not set
188CONFIG_CPM=y 194CONFIG_CPM=y
189 195
@@ -200,7 +206,7 @@ CONFIG_HZ_100=y
200# CONFIG_HZ_300 is not set 206# CONFIG_HZ_300 is not set
201# CONFIG_HZ_1000 is not set 207# CONFIG_HZ_1000 is not set
202CONFIG_HZ=100 208CONFIG_HZ=100
203# CONFIG_SCHED_HRTICK is not set 209CONFIG_SCHED_HRTICK=y
204CONFIG_PREEMPT_NONE=y 210CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 211# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 212# CONFIG_PREEMPT is not set
@@ -224,6 +230,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 230# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 231CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 232CONFIG_SPLIT_PTLOCK_CPUS=4
233CONFIG_MIGRATION=y
227# CONFIG_RESOURCES_64BIT is not set 234# CONFIG_RESOURCES_64BIT is not set
228CONFIG_ZONE_DMA_FLAG=1 235CONFIG_ZONE_DMA_FLAG=1
229CONFIG_BOUNCE=y 236CONFIG_BOUNCE=y
@@ -231,6 +238,7 @@ CONFIG_VIRT_TO_BUS=y
231CONFIG_FORCE_MAX_ZONEORDER=11 238CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 239CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 240# CONFIG_CMDLINE_BOOL is not set
241CONFIG_EXTRA_TARGETS=""
234# CONFIG_PM is not set 242# CONFIG_PM is not set
235# CONFIG_SECCOMP is not set 243# CONFIG_SECCOMP is not set
236CONFIG_ISA_DMA_API=y 244CONFIG_ISA_DMA_API=y
@@ -263,10 +271,6 @@ CONFIG_PHYSICAL_START=0x00000000
263CONFIG_TASK_SIZE=0x80000000 271CONFIG_TASK_SIZE=0x80000000
264CONFIG_CONSISTENT_START=0xfd000000 272CONFIG_CONSISTENT_START=0xfd000000
265CONFIG_CONSISTENT_SIZE=0x00200000 273CONFIG_CONSISTENT_SIZE=0x00200000
266
267#
268# Networking
269#
270CONFIG_NET=y 274CONFIG_NET=y
271 275
272# 276#
@@ -453,7 +457,6 @@ CONFIG_HAVE_IDE=y
453# CONFIG_MD is not set 457# CONFIG_MD is not set
454# CONFIG_MACINTOSH_DRIVERS is not set 458# CONFIG_MACINTOSH_DRIVERS is not set
455CONFIG_NETDEVICES=y 459CONFIG_NETDEVICES=y
456# CONFIG_NETDEVICES_MULTIQUEUE is not set
457# CONFIG_DUMMY is not set 460# CONFIG_DUMMY is not set
458# CONFIG_BONDING is not set 461# CONFIG_BONDING is not set
459# CONFIG_MACVLAN is not set 462# CONFIG_MACVLAN is not set
@@ -555,10 +558,13 @@ CONFIG_GEN_RTC=y
555# CONFIG_TCG_TPM is not set 558# CONFIG_TCG_TPM is not set
556# CONFIG_I2C is not set 559# CONFIG_I2C is not set
557# CONFIG_SPI is not set 560# CONFIG_SPI is not set
561CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
562# CONFIG_GPIOLIB is not set
558# CONFIG_W1 is not set 563# CONFIG_W1 is not set
559# CONFIG_POWER_SUPPLY is not set 564# CONFIG_POWER_SUPPLY is not set
560# CONFIG_HWMON is not set 565# CONFIG_HWMON is not set
561# CONFIG_THERMAL is not set 566# CONFIG_THERMAL is not set
567# CONFIG_THERMAL_HWMON is not set
562# CONFIG_WATCHDOG is not set 568# CONFIG_WATCHDOG is not set
563 569
564# 570#
@@ -570,8 +576,10 @@ CONFIG_SSB_POSSIBLE=y
570# 576#
571# Multifunction device drivers 577# Multifunction device drivers
572# 578#
579# CONFIG_MFD_CORE is not set
573# CONFIG_MFD_SM501 is not set 580# CONFIG_MFD_SM501 is not set
574# CONFIG_HTC_PASIC3 is not set 581# CONFIG_HTC_PASIC3 is not set
582# CONFIG_MFD_TMIO is not set
575 583
576# 584#
577# Multimedia devices 585# Multimedia devices
@@ -601,10 +609,6 @@ CONFIG_DAB=y
601# Display device support 609# Display device support
602# 610#
603# CONFIG_DISPLAY_SUPPORT is not set 611# CONFIG_DISPLAY_SUPPORT is not set
604
605#
606# Sound
607#
608# CONFIG_SOUND is not set 612# CONFIG_SOUND is not set
609# CONFIG_USB_SUPPORT is not set 613# CONFIG_USB_SUPPORT is not set
610# CONFIG_MMC is not set 614# CONFIG_MMC is not set
@@ -673,6 +677,7 @@ CONFIG_TMPFS=y
673CONFIG_CRAMFS=y 677CONFIG_CRAMFS=y
674# CONFIG_VXFS_FS is not set 678# CONFIG_VXFS_FS is not set
675# CONFIG_MINIX_FS is not set 679# CONFIG_MINIX_FS is not set
680# CONFIG_OMFS_FS is not set
676# CONFIG_HPFS_FS is not set 681# CONFIG_HPFS_FS is not set
677# CONFIG_QNX4FS_FS is not set 682# CONFIG_QNX4FS_FS is not set
678# CONFIG_ROMFS_FS is not set 683# CONFIG_ROMFS_FS is not set
@@ -683,13 +688,12 @@ CONFIG_NFS_FS=y
683CONFIG_NFS_V3=y 688CONFIG_NFS_V3=y
684# CONFIG_NFS_V3_ACL is not set 689# CONFIG_NFS_V3_ACL is not set
685# CONFIG_NFS_V4 is not set 690# CONFIG_NFS_V4 is not set
686# CONFIG_NFSD is not set
687CONFIG_ROOT_NFS=y 691CONFIG_ROOT_NFS=y
692# CONFIG_NFSD is not set
688CONFIG_LOCKD=y 693CONFIG_LOCKD=y
689CONFIG_LOCKD_V4=y 694CONFIG_LOCKD_V4=y
690CONFIG_NFS_COMMON=y 695CONFIG_NFS_COMMON=y
691CONFIG_SUNRPC=y 696CONFIG_SUNRPC=y
692# CONFIG_SUNRPC_BIND34 is not set
693# CONFIG_RPCSEC_GSS_KRB5 is not set 697# CONFIG_RPCSEC_GSS_KRB5 is not set
694# CONFIG_RPCSEC_GSS_SPKM3 is not set 698# CONFIG_RPCSEC_GSS_SPKM3 is not set
695# CONFIG_SMB_FS is not set 699# CONFIG_SMB_FS is not set
@@ -728,6 +732,7 @@ CONFIG_MSDOS_PARTITION=y
728# CONFIG_GENERIC_FIND_FIRST_BIT is not set 732# CONFIG_GENERIC_FIND_FIRST_BIT is not set
729# CONFIG_CRC_CCITT is not set 733# CONFIG_CRC_CCITT is not set
730# CONFIG_CRC16 is not set 734# CONFIG_CRC16 is not set
735# CONFIG_CRC_T10DIF is not set
731# CONFIG_CRC_ITU_T is not set 736# CONFIG_CRC_ITU_T is not set
732# CONFIG_CRC32 is not set 737# CONFIG_CRC32 is not set
733# CONFIG_CRC7 is not set 738# CONFIG_CRC7 is not set
@@ -752,6 +757,8 @@ CONFIG_MAGIC_SYSRQ=y
752CONFIG_DEBUG_KERNEL=y 757CONFIG_DEBUG_KERNEL=y
753# CONFIG_DEBUG_SHIRQ is not set 758# CONFIG_DEBUG_SHIRQ is not set
754CONFIG_DETECT_SOFTLOCKUP=y 759CONFIG_DETECT_SOFTLOCKUP=y
760# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
761CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
755CONFIG_SCHED_DEBUG=y 762CONFIG_SCHED_DEBUG=y
756# CONFIG_SCHEDSTATS is not set 763# CONFIG_SCHEDSTATS is not set
757# CONFIG_TIMER_STATS is not set 764# CONFIG_TIMER_STATS is not set
@@ -767,16 +774,28 @@ CONFIG_DEBUG_BUGVERBOSE=y
767CONFIG_DEBUG_INFO=y 774CONFIG_DEBUG_INFO=y
768# CONFIG_DEBUG_VM is not set 775# CONFIG_DEBUG_VM is not set
769# CONFIG_DEBUG_WRITECOUNT is not set 776# CONFIG_DEBUG_WRITECOUNT is not set
777# CONFIG_DEBUG_MEMORY_INIT is not set
770# CONFIG_DEBUG_LIST is not set 778# CONFIG_DEBUG_LIST is not set
771# CONFIG_DEBUG_SG is not set 779# CONFIG_DEBUG_SG is not set
772# CONFIG_BOOT_PRINTK_DELAY is not set 780# CONFIG_BOOT_PRINTK_DELAY is not set
781# CONFIG_RCU_TORTURE_TEST is not set
773# CONFIG_BACKTRACE_SELF_TEST is not set 782# CONFIG_BACKTRACE_SELF_TEST is not set
774# CONFIG_FAULT_INJECTION is not set 783# CONFIG_FAULT_INJECTION is not set
784# CONFIG_LATENCYTOP is not set
785CONFIG_HAVE_FTRACE=y
786CONFIG_HAVE_DYNAMIC_FTRACE=y
787# CONFIG_FTRACE is not set
788# CONFIG_SCHED_TRACER is not set
789# CONFIG_CONTEXT_SWITCH_TRACER is not set
775# CONFIG_SAMPLES is not set 790# CONFIG_SAMPLES is not set
791CONFIG_HAVE_ARCH_KGDB=y
792# CONFIG_KGDB is not set
776# CONFIG_DEBUG_STACKOVERFLOW is not set 793# CONFIG_DEBUG_STACKOVERFLOW is not set
777# CONFIG_DEBUG_STACK_USAGE is not set 794# CONFIG_DEBUG_STACK_USAGE is not set
778# CONFIG_DEBUG_PAGEALLOC is not set 795# CONFIG_DEBUG_PAGEALLOC is not set
779# CONFIG_DEBUGGER is not set 796# CONFIG_CODE_PATCHING_SELFTEST is not set
797# CONFIG_FTR_FIXUP_SELFTEST is not set
798# CONFIG_XMON is not set
780# CONFIG_IRQSTACKS is not set 799# CONFIG_IRQSTACKS is not set
781# CONFIG_BDI_SWITCH is not set 800# CONFIG_BDI_SWITCH is not set
782# CONFIG_PPC_EARLY_DEBUG is not set 801# CONFIG_PPC_EARLY_DEBUG is not set
@@ -788,6 +807,6 @@ CONFIG_DEBUG_INFO=y
788# CONFIG_SECURITY is not set 807# CONFIG_SECURITY is not set
789# CONFIG_SECURITY_FILE_CAPABILITIES is not set 808# CONFIG_SECURITY_FILE_CAPABILITIES is not set
790# CONFIG_CRYPTO is not set 809# CONFIG_CRYPTO is not set
791# CONFIG_PPC_CLOCK is not set 810CONFIG_PPC_CLOCK=y
792CONFIG_PPC_LIB_RHEAP=y 811CONFIG_PPC_LIB_RHEAP=y
793# CONFIG_VIRTUALIZATION is not set 812# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 3688e4bb6fc2..80481f270133 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc3 3# Linux kernel version: 2.6.27-rc4
4# Tue May 20 20:02:24 2008 4# Tue Aug 26 13:20:26 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -32,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -93,9 +94,8 @@ CONFIG_INITRAMFS_SOURCE=""
93CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
94# CONFIG_EMBEDDED is not set 95# CONFIG_EMBEDDED is not set
95CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
96CONFIG_SYSCTL_SYSCALL_CHECK=y
97CONFIG_KALLSYMS=y 97CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_ALL is not set 98CONFIG_KALLSYMS_ALL=y
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 99# CONFIG_KALLSYMS_EXTRA_PASS is not set
100CONFIG_HOTPLUG=y 100CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 101CONFIG_PRINTK=y
@@ -120,10 +120,16 @@ CONFIG_PROFILING=y
120CONFIG_OPROFILE=y 120CONFIG_OPROFILE=y
121CONFIG_HAVE_OPROFILE=y 121CONFIG_HAVE_OPROFILE=y
122# CONFIG_KPROBES is not set 122# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
124CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y
125# CONFIG_HAVE_DMA_ATTRS is not set 128# CONFIG_HAVE_DMA_ATTRS is not set
129# CONFIG_USE_GENERIC_SMP_HELPERS is not set
130# CONFIG_HAVE_CLK is not set
126CONFIG_PROC_PAGE_MONITOR=y 131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 134CONFIG_RT_MUTEXES=y
129# CONFIG_TINY_SHMEM is not set 135# CONFIG_TINY_SHMEM is not set
@@ -140,6 +146,7 @@ CONFIG_LBD=y
140# CONFIG_BLK_DEV_IO_TRACE is not set 146# CONFIG_BLK_DEV_IO_TRACE is not set
141CONFIG_LSF=y 147CONFIG_LSF=y
142CONFIG_BLK_DEV_BSG=y 148CONFIG_BLK_DEV_BSG=y
149# CONFIG_BLK_DEV_INTEGRITY is not set
143 150
144# 151#
145# IO Schedulers 152# IO Schedulers
@@ -159,19 +166,18 @@ CONFIG_CLASSIC_RCU=y
159# Platform support 166# Platform support
160# 167#
161CONFIG_PPC_MULTIPLATFORM=y 168CONFIG_PPC_MULTIPLATFORM=y
162# CONFIG_PPC_82xx is not set
163# CONFIG_PPC_83xx is not set
164# CONFIG_PPC_86xx is not set
165CONFIG_CLASSIC32=y 169CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 170# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_MPC512x is not set
168# CONFIG_PPC_MPC5121 is not set
169# CONFIG_MPC5121_ADS is not set 171# CONFIG_MPC5121_ADS is not set
172# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 173# CONFIG_PPC_MPC52xx is not set
171CONFIG_PPC_PMAC=y 174CONFIG_PPC_PMAC=y
172# CONFIG_PPC_CELL is not set 175# CONFIG_PPC_CELL is not set
173# CONFIG_PPC_CELL_NATIVE is not set 176# CONFIG_PPC_CELL_NATIVE is not set
177# CONFIG_PPC_82xx is not set
174# CONFIG_PQ2ADS is not set 178# CONFIG_PQ2ADS is not set
179# CONFIG_PPC_83xx is not set
180# CONFIG_PPC_86xx is not set
175# CONFIG_EMBEDDED6xx is not set 181# CONFIG_EMBEDDED6xx is not set
176CONFIG_PPC_NATIVE=y 182CONFIG_PPC_NATIVE=y
177# CONFIG_IPIC is not set 183# CONFIG_IPIC is not set
@@ -221,7 +227,7 @@ CONFIG_HZ_250=y
221# CONFIG_HZ_300 is not set 227# CONFIG_HZ_300 is not set
222# CONFIG_HZ_1000 is not set 228# CONFIG_HZ_1000 is not set
223CONFIG_HZ=250 229CONFIG_HZ=250
224# CONFIG_SCHED_HRTICK is not set 230CONFIG_SCHED_HRTICK=y
225CONFIG_PREEMPT_NONE=y 231CONFIG_PREEMPT_NONE=y
226# CONFIG_PREEMPT_VOLUNTARY is not set 232# CONFIG_PREEMPT_VOLUNTARY is not set
227# CONFIG_PREEMPT is not set 233# CONFIG_PREEMPT is not set
@@ -244,6 +250,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
244# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 250# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
245CONFIG_PAGEFLAGS_EXTENDED=y 251CONFIG_PAGEFLAGS_EXTENDED=y
246CONFIG_SPLIT_PTLOCK_CPUS=4 252CONFIG_SPLIT_PTLOCK_CPUS=4
253# CONFIG_MIGRATION is not set
247# CONFIG_RESOURCES_64BIT is not set 254# CONFIG_RESOURCES_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1 255CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
@@ -251,6 +258,7 @@ CONFIG_VIRT_TO_BUS=y
251CONFIG_FORCE_MAX_ZONEORDER=11 258CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 259CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 260# CONFIG_CMDLINE_BOOL is not set
261CONFIG_EXTRA_TARGETS=""
254CONFIG_ARCH_WANTS_FREEZER_CONTROL=y 262CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
255CONFIG_PM=y 263CONFIG_PM=y
256CONFIG_PM_DEBUG=y 264CONFIG_PM_DEBUG=y
@@ -314,10 +322,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
314CONFIG_KERNEL_START=0xc0000000 322CONFIG_KERNEL_START=0xc0000000
315CONFIG_PHYSICAL_START=0x00000000 323CONFIG_PHYSICAL_START=0x00000000
316CONFIG_TASK_SIZE=0xc0000000 324CONFIG_TASK_SIZE=0xc0000000
317
318#
319# Networking
320#
321CONFIG_NET=y 325CONFIG_NET=y
322 326
323# 327#
@@ -501,7 +505,6 @@ CONFIG_IP_DCCP_TFRC_LIB=m
501# CONFIG_WAN_ROUTER is not set 505# CONFIG_WAN_ROUTER is not set
502# CONFIG_NET_SCHED is not set 506# CONFIG_NET_SCHED is not set
503CONFIG_NET_CLS_ROUTE=y 507CONFIG_NET_CLS_ROUTE=y
504CONFIG_NET_SCH_FIFO=y
505 508
506# 509#
507# Network testing 510# Network testing
@@ -571,6 +574,7 @@ CONFIG_BT_HIDP=m
571# 574#
572CONFIG_BT_HCIUSB=m 575CONFIG_BT_HCIUSB=m
573# CONFIG_BT_HCIUSB_SCO is not set 576# CONFIG_BT_HCIUSB_SCO is not set
577# CONFIG_BT_HCIBTUSB is not set
574# CONFIG_BT_HCIUART is not set 578# CONFIG_BT_HCIUART is not set
575CONFIG_BT_HCIBCM203X=m 579CONFIG_BT_HCIBCM203X=m
576# CONFIG_BT_HCIBPA10X is not set 580# CONFIG_BT_HCIBPA10X is not set
@@ -588,27 +592,18 @@ CONFIG_BT_HCIBFUSB=m
588CONFIG_CFG80211=m 592CONFIG_CFG80211=m
589CONFIG_NL80211=y 593CONFIG_NL80211=y
590CONFIG_WIRELESS_EXT=y 594CONFIG_WIRELESS_EXT=y
595CONFIG_WIRELESS_EXT_SYSFS=y
591CONFIG_MAC80211=m 596CONFIG_MAC80211=m
592 597
593# 598#
594# Rate control algorithm selection 599# Rate control algorithm selection
595# 600#
601CONFIG_MAC80211_RC_PID=y
596CONFIG_MAC80211_RC_DEFAULT_PID=y 602CONFIG_MAC80211_RC_DEFAULT_PID=y
597# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
598
599#
600# Selecting 'y' for an algorithm will
601#
602
603#
604# build the algorithm into mac80211.
605#
606CONFIG_MAC80211_RC_DEFAULT="pid" 603CONFIG_MAC80211_RC_DEFAULT="pid"
607CONFIG_MAC80211_RC_PID=y
608# CONFIG_MAC80211_MESH is not set 604# CONFIG_MAC80211_MESH is not set
609CONFIG_MAC80211_LEDS=y 605CONFIG_MAC80211_LEDS=y
610# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set 606# CONFIG_MAC80211_DEBUG_MENU is not set
611# CONFIG_MAC80211_DEBUG is not set
612CONFIG_IEEE80211=m 607CONFIG_IEEE80211=m
613# CONFIG_IEEE80211_DEBUG is not set 608# CONFIG_IEEE80211_DEBUG is not set
614CONFIG_IEEE80211_CRYPT_WEP=m 609CONFIG_IEEE80211_CRYPT_WEP=m
@@ -628,6 +623,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
628# CONFIG_STANDALONE is not set 623# CONFIG_STANDALONE is not set
629CONFIG_PREVENT_FIRMWARE_BUILD=y 624CONFIG_PREVENT_FIRMWARE_BUILD=y
630CONFIG_FW_LOADER=y 625CONFIG_FW_LOADER=y
626CONFIG_FIRMWARE_IN_KERNEL=y
627CONFIG_EXTRA_FIRMWARE=""
631# CONFIG_DEBUG_DRIVER is not set 628# CONFIG_DEBUG_DRIVER is not set
632# CONFIG_DEBUG_DEVRES is not set 629# CONFIG_DEBUG_DEVRES is not set
633# CONFIG_SYS_HYPERVISOR is not set 630# CONFIG_SYS_HYPERVISOR is not set
@@ -656,12 +653,14 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
656# CONFIG_BLK_DEV_XIP is not set 653# CONFIG_BLK_DEV_XIP is not set
657# CONFIG_CDROM_PKTCDVD is not set 654# CONFIG_CDROM_PKTCDVD is not set
658# CONFIG_ATA_OVER_ETH is not set 655# CONFIG_ATA_OVER_ETH is not set
656# CONFIG_BLK_DEV_HD is not set
659CONFIG_MISC_DEVICES=y 657CONFIG_MISC_DEVICES=y
660# CONFIG_PHANTOM is not set 658# CONFIG_PHANTOM is not set
661# CONFIG_EEPROM_93CX6 is not set 659# CONFIG_EEPROM_93CX6 is not set
662# CONFIG_SGI_IOC4 is not set 660# CONFIG_SGI_IOC4 is not set
663# CONFIG_TIFM_CORE is not set 661# CONFIG_TIFM_CORE is not set
664# CONFIG_ENCLOSURE_SERVICES is not set 662# CONFIG_ENCLOSURE_SERVICES is not set
663# CONFIG_HP_ILO is not set
665CONFIG_HAVE_IDE=y 664CONFIG_HAVE_IDE=y
666CONFIG_IDE=y 665CONFIG_IDE=y
667CONFIG_BLK_DEV_IDE=y 666CONFIG_BLK_DEV_IDE=y
@@ -669,6 +668,8 @@ CONFIG_BLK_DEV_IDE=y
669# 668#
670# Please see Documentation/ide/ide.txt for help/info on IDE drives 669# Please see Documentation/ide/ide.txt for help/info on IDE drives
671# 670#
671CONFIG_IDE_TIMINGS=y
672CONFIG_IDE_ATAPI=y
672# CONFIG_BLK_DEV_IDE_SATA is not set 673# CONFIG_BLK_DEV_IDE_SATA is not set
673CONFIG_BLK_DEV_IDEDISK=y 674CONFIG_BLK_DEV_IDEDISK=y
674# CONFIG_IDEDISK_MULTI_MODE is not set 675# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -685,7 +686,6 @@ CONFIG_IDE_PROC_FS=y
685# 686#
686# IDE chipset support/bugfixes 687# IDE chipset support/bugfixes
687# 688#
688# CONFIG_IDE_GENERIC is not set
689# CONFIG_BLK_DEV_PLATFORM is not set 689# CONFIG_BLK_DEV_PLATFORM is not set
690CONFIG_BLK_DEV_IDEDMA_SFF=y 690CONFIG_BLK_DEV_IDEDMA_SFF=y
691 691
@@ -703,10 +703,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
703# CONFIG_BLK_DEV_AMD74XX is not set 703# CONFIG_BLK_DEV_AMD74XX is not set
704# CONFIG_BLK_DEV_CMD64X is not set 704# CONFIG_BLK_DEV_CMD64X is not set
705# CONFIG_BLK_DEV_TRIFLEX is not set 705# CONFIG_BLK_DEV_TRIFLEX is not set
706# CONFIG_BLK_DEV_CY82C693 is not set
707# CONFIG_BLK_DEV_CS5520 is not set 706# CONFIG_BLK_DEV_CS5520 is not set
708# CONFIG_BLK_DEV_CS5530 is not set 707# CONFIG_BLK_DEV_CS5530 is not set
709# CONFIG_BLK_DEV_HPT34X is not set
710# CONFIG_BLK_DEV_HPT366 is not set 708# CONFIG_BLK_DEV_HPT366 is not set
711# CONFIG_BLK_DEV_JMICRON is not set 709# CONFIG_BLK_DEV_JMICRON is not set
712# CONFIG_BLK_DEV_SC1200 is not set 710# CONFIG_BLK_DEV_SC1200 is not set
@@ -727,8 +725,6 @@ CONFIG_BLK_DEV_IDE_PMAC=y
727CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 725CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
728CONFIG_BLK_DEV_IDEDMA_PMAC=y 726CONFIG_BLK_DEV_IDEDMA_PMAC=y
729CONFIG_BLK_DEV_IDEDMA=y 727CONFIG_BLK_DEV_IDEDMA=y
730# CONFIG_BLK_DEV_HD_ONLY is not set
731# CONFIG_BLK_DEV_HD is not set
732 728
733# 729#
734# SCSI device support 730# SCSI device support
@@ -820,6 +816,7 @@ CONFIG_SCSI_MESH_RESET_DELAY_MS=4000
820CONFIG_SCSI_MAC53C94=y 816CONFIG_SCSI_MAC53C94=y
821# CONFIG_SCSI_SRP is not set 817# CONFIG_SCSI_SRP is not set
822# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 818# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
819# CONFIG_SCSI_DH is not set
823# CONFIG_ATA is not set 820# CONFIG_ATA is not set
824CONFIG_MD=y 821CONFIG_MD=y
825CONFIG_BLK_DEV_MD=m 822CONFIG_BLK_DEV_MD=m
@@ -844,30 +841,22 @@ CONFIG_DM_ZERO=m
844# 841#
845# IEEE 1394 (FireWire) support 842# IEEE 1394 (FireWire) support
846# 843#
847# CONFIG_FIREWIRE is not set
848CONFIG_IEEE1394=m
849
850#
851# Subsystem Options
852#
853# CONFIG_IEEE1394_VERBOSEDEBUG is not set
854 844
855# 845#
856# Controllers 846# Enable only one of the two stacks, unless you know what you are doing
857# 847#
858# CONFIG_IEEE1394_PCILYNX is not set 848# CONFIG_FIREWIRE is not set
849CONFIG_IEEE1394=m
859CONFIG_IEEE1394_OHCI1394=m 850CONFIG_IEEE1394_OHCI1394=m
860 851# CONFIG_IEEE1394_PCILYNX is not set
861#
862# Protocols
863#
864CONFIG_IEEE1394_VIDEO1394=m
865CONFIG_IEEE1394_SBP2=m 852CONFIG_IEEE1394_SBP2=m
866# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set 853# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
867# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set 854# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
868# CONFIG_IEEE1394_ETH1394 is not set 855# CONFIG_IEEE1394_ETH1394 is not set
869CONFIG_IEEE1394_DV1394=m
870CONFIG_IEEE1394_RAWIO=m 856CONFIG_IEEE1394_RAWIO=m
857CONFIG_IEEE1394_VIDEO1394=m
858CONFIG_IEEE1394_DV1394=m
859# CONFIG_IEEE1394_VERBOSEDEBUG is not set
871# CONFIG_I2O is not set 860# CONFIG_I2O is not set
872CONFIG_MACINTOSH_DRIVERS=y 861CONFIG_MACINTOSH_DRIVERS=y
873CONFIG_ADB=y 862CONFIG_ADB=y
@@ -887,7 +876,6 @@ CONFIG_THERM_ADT746X=m
887# CONFIG_ANSLCD is not set 876# CONFIG_ANSLCD is not set
888CONFIG_PMAC_RACKMETER=m 877CONFIG_PMAC_RACKMETER=m
889CONFIG_NETDEVICES=y 878CONFIG_NETDEVICES=y
890# CONFIG_NETDEVICES_MULTIQUEUE is not set
891CONFIG_DUMMY=m 879CONFIG_DUMMY=m
892# CONFIG_BONDING is not set 880# CONFIG_BONDING is not set
893# CONFIG_MACVLAN is not set 881# CONFIG_MACVLAN is not set
@@ -936,7 +924,6 @@ CONFIG_NETDEV_1000=y
936# CONFIG_DL2K is not set 924# CONFIG_DL2K is not set
937# CONFIG_E1000 is not set 925# CONFIG_E1000 is not set
938# CONFIG_E1000E is not set 926# CONFIG_E1000E is not set
939# CONFIG_E1000E_ENABLED is not set
940# CONFIG_IP1000 is not set 927# CONFIG_IP1000 is not set
941# CONFIG_IGB is not set 928# CONFIG_IGB is not set
942# CONFIG_NS83820 is not set 929# CONFIG_NS83820 is not set
@@ -952,6 +939,7 @@ CONFIG_NETDEV_1000=y
952# CONFIG_MV643XX_ETH is not set 939# CONFIG_MV643XX_ETH is not set
953# CONFIG_QLA3XXX is not set 940# CONFIG_QLA3XXX is not set
954# CONFIG_ATL1 is not set 941# CONFIG_ATL1 is not set
942# CONFIG_ATL1E is not set
955CONFIG_NETDEV_10000=y 943CONFIG_NETDEV_10000=y
956# CONFIG_CHELSIO_T1 is not set 944# CONFIG_CHELSIO_T1 is not set
957# CONFIG_CHELSIO_T3 is not set 945# CONFIG_CHELSIO_T3 is not set
@@ -994,13 +982,15 @@ CONFIG_PRISM54=m
994# CONFIG_RTL8180 is not set 982# CONFIG_RTL8180 is not set
995# CONFIG_RTL8187 is not set 983# CONFIG_RTL8187 is not set
996# CONFIG_ADM8211 is not set 984# CONFIG_ADM8211 is not set
985# CONFIG_MAC80211_HWSIM is not set
997CONFIG_P54_COMMON=m 986CONFIG_P54_COMMON=m
998# CONFIG_P54_USB is not set 987# CONFIG_P54_USB is not set
999# CONFIG_P54_PCI is not set 988# CONFIG_P54_PCI is not set
1000# CONFIG_ATH5K is not set 989# CONFIG_ATH5K is not set
990# CONFIG_ATH9K is not set
1001# CONFIG_IWLCORE is not set 991# CONFIG_IWLCORE is not set
1002# CONFIG_IWLWIFI_LEDS is not set 992# CONFIG_IWLWIFI_LEDS is not set
1003# CONFIG_IWL4965 is not set 993# CONFIG_IWLAGN is not set
1004# CONFIG_IWL3945 is not set 994# CONFIG_IWL3945 is not set
1005# CONFIG_HOSTAP is not set 995# CONFIG_HOSTAP is not set
1006CONFIG_B43=m 996CONFIG_B43=m
@@ -1095,6 +1085,7 @@ CONFIG_INPUT_MOUSE=y
1095# CONFIG_MOUSE_PS2 is not set 1085# CONFIG_MOUSE_PS2 is not set
1096# CONFIG_MOUSE_SERIAL is not set 1086# CONFIG_MOUSE_SERIAL is not set
1097# CONFIG_MOUSE_APPLETOUCH is not set 1087# CONFIG_MOUSE_APPLETOUCH is not set
1088# CONFIG_MOUSE_BCM5974 is not set
1098# CONFIG_MOUSE_VSXXXAA is not set 1089# CONFIG_MOUSE_VSXXXAA is not set
1099# CONFIG_INPUT_JOYSTICK is not set 1090# CONFIG_INPUT_JOYSTICK is not set
1100# CONFIG_INPUT_TABLET is not set 1091# CONFIG_INPUT_TABLET is not set
@@ -1109,12 +1100,14 @@ CONFIG_SERIO=y
1109# CONFIG_SERIO_SERPORT is not set 1100# CONFIG_SERIO_SERPORT is not set
1110# CONFIG_SERIO_PCIPS2 is not set 1101# CONFIG_SERIO_PCIPS2 is not set
1111# CONFIG_SERIO_RAW is not set 1102# CONFIG_SERIO_RAW is not set
1103# CONFIG_SERIO_XILINX_XPS_PS2 is not set
1112# CONFIG_GAMEPORT is not set 1104# CONFIG_GAMEPORT is not set
1113 1105
1114# 1106#
1115# Character devices 1107# Character devices
1116# 1108#
1117CONFIG_VT=y 1109CONFIG_VT=y
1110CONFIG_CONSOLE_TRANSLATIONS=y
1118CONFIG_VT_CONSOLE=y 1111CONFIG_VT_CONSOLE=y
1119CONFIG_HW_CONSOLE=y 1112CONFIG_HW_CONSOLE=y
1120# CONFIG_VT_HW_CONSOLE_BINDING is not set 1113# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -1165,45 +1158,70 @@ CONFIG_DEVPORT=y
1165CONFIG_I2C=y 1158CONFIG_I2C=y
1166CONFIG_I2C_BOARDINFO=y 1159CONFIG_I2C_BOARDINFO=y
1167CONFIG_I2C_CHARDEV=m 1160CONFIG_I2C_CHARDEV=m
1161CONFIG_I2C_HELPER_AUTO=y
1168CONFIG_I2C_ALGOBIT=y 1162CONFIG_I2C_ALGOBIT=y
1169 1163
1170# 1164#
1171# I2C Hardware Bus support 1165# I2C Hardware Bus support
1172# 1166#
1167
1168#
1169# PC SMBus host controller drivers
1170#
1173# CONFIG_I2C_ALI1535 is not set 1171# CONFIG_I2C_ALI1535 is not set
1174# CONFIG_I2C_ALI1563 is not set 1172# CONFIG_I2C_ALI1563 is not set
1175# CONFIG_I2C_ALI15X3 is not set 1173# CONFIG_I2C_ALI15X3 is not set
1176# CONFIG_I2C_AMD756 is not set 1174# CONFIG_I2C_AMD756 is not set
1177# CONFIG_I2C_AMD8111 is not set 1175# CONFIG_I2C_AMD8111 is not set
1178# CONFIG_I2C_I801 is not set 1176# CONFIG_I2C_I801 is not set
1179# CONFIG_I2C_I810 is not set 1177# CONFIG_I2C_ISCH is not set
1180# CONFIG_I2C_PIIX4 is not set 1178# CONFIG_I2C_PIIX4 is not set
1181CONFIG_I2C_POWERMAC=y
1182# CONFIG_I2C_MPC is not set
1183# CONFIG_I2C_NFORCE2 is not set 1179# CONFIG_I2C_NFORCE2 is not set
1184# CONFIG_I2C_OCORES is not set
1185# CONFIG_I2C_PARPORT_LIGHT is not set
1186# CONFIG_I2C_PROSAVAGE is not set
1187# CONFIG_I2C_SAVAGE4 is not set
1188# CONFIG_I2C_SIMTEC is not set
1189# CONFIG_I2C_SIS5595 is not set 1180# CONFIG_I2C_SIS5595 is not set
1190# CONFIG_I2C_SIS630 is not set 1181# CONFIG_I2C_SIS630 is not set
1191# CONFIG_I2C_SIS96X is not set 1182# CONFIG_I2C_SIS96X is not set
1192# CONFIG_I2C_TAOS_EVM is not set
1193# CONFIG_I2C_STUB is not set
1194# CONFIG_I2C_TINY_USB is not set
1195# CONFIG_I2C_VIA is not set 1183# CONFIG_I2C_VIA is not set
1196# CONFIG_I2C_VIAPRO is not set 1184# CONFIG_I2C_VIAPRO is not set
1185
1186#
1187# Mac SMBus host controller drivers
1188#
1189CONFIG_I2C_POWERMAC=y
1190
1191#
1192# I2C system bus drivers (mostly embedded / system-on-chip)
1193#
1194# CONFIG_I2C_MPC is not set
1195# CONFIG_I2C_OCORES is not set
1196# CONFIG_I2C_SIMTEC is not set
1197
1198#
1199# External I2C/SMBus adapter drivers
1200#
1201# CONFIG_I2C_PARPORT_LIGHT is not set
1202# CONFIG_I2C_TAOS_EVM is not set
1203# CONFIG_I2C_TINY_USB is not set
1204
1205#
1206# Graphics adapter I2C/DDC channel drivers
1207#
1197# CONFIG_I2C_VOODOO3 is not set 1208# CONFIG_I2C_VOODOO3 is not set
1209
1210#
1211# Other I2C/SMBus bus drivers
1212#
1198# CONFIG_I2C_PCA_PLATFORM is not set 1213# CONFIG_I2C_PCA_PLATFORM is not set
1214# CONFIG_I2C_STUB is not set
1199 1215
1200# 1216#
1201# Miscellaneous I2C Chip support 1217# Miscellaneous I2C Chip support
1202# 1218#
1203# CONFIG_DS1682 is not set 1219# CONFIG_DS1682 is not set
1220# CONFIG_AT24 is not set
1204# CONFIG_SENSORS_EEPROM is not set 1221# CONFIG_SENSORS_EEPROM is not set
1205# CONFIG_SENSORS_PCF8574 is not set 1222# CONFIG_SENSORS_PCF8574 is not set
1206# CONFIG_PCF8575 is not set 1223# CONFIG_PCF8575 is not set
1224# CONFIG_SENSORS_PCA9539 is not set
1207# CONFIG_SENSORS_PCF8591 is not set 1225# CONFIG_SENSORS_PCF8591 is not set
1208# CONFIG_SENSORS_MAX6875 is not set 1226# CONFIG_SENSORS_MAX6875 is not set
1209# CONFIG_SENSORS_TSL2550 is not set 1227# CONFIG_SENSORS_TSL2550 is not set
@@ -1212,6 +1230,8 @@ CONFIG_I2C_POWERMAC=y
1212# CONFIG_I2C_DEBUG_BUS is not set 1230# CONFIG_I2C_DEBUG_BUS is not set
1213# CONFIG_I2C_DEBUG_CHIP is not set 1231# CONFIG_I2C_DEBUG_CHIP is not set
1214# CONFIG_SPI is not set 1232# CONFIG_SPI is not set
1233CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1234# CONFIG_GPIOLIB is not set
1215# CONFIG_W1 is not set 1235# CONFIG_W1 is not set
1216CONFIG_POWER_SUPPLY=y 1236CONFIG_POWER_SUPPLY=y
1217# CONFIG_POWER_SUPPLY_DEBUG is not set 1237# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -1221,6 +1241,7 @@ CONFIG_APM_POWER=y
1221CONFIG_BATTERY_PMU=y 1241CONFIG_BATTERY_PMU=y
1222# CONFIG_HWMON is not set 1242# CONFIG_HWMON is not set
1223# CONFIG_THERMAL is not set 1243# CONFIG_THERMAL is not set
1244# CONFIG_THERMAL_HWMON is not set
1224# CONFIG_WATCHDOG is not set 1245# CONFIG_WATCHDOG is not set
1225 1246
1226# 1247#
@@ -1241,8 +1262,10 @@ CONFIG_SSB_DRIVER_PCICORE=y
1241# 1262#
1242# Multifunction device drivers 1263# Multifunction device drivers
1243# 1264#
1265# CONFIG_MFD_CORE is not set
1244# CONFIG_MFD_SM501 is not set 1266# CONFIG_MFD_SM501 is not set
1245# CONFIG_HTC_PASIC3 is not set 1267# CONFIG_HTC_PASIC3 is not set
1268# CONFIG_MFD_TMIO is not set
1246 1269
1247# 1270#
1248# Multimedia devices 1271# Multimedia devices
@@ -1343,10 +1366,13 @@ CONFIG_FB_3DFX=y
1343# CONFIG_FB_TRIDENT is not set 1366# CONFIG_FB_TRIDENT is not set
1344# CONFIG_FB_ARK is not set 1367# CONFIG_FB_ARK is not set
1345# CONFIG_FB_PM3 is not set 1368# CONFIG_FB_PM3 is not set
1369# CONFIG_FB_CARMINE is not set
1346# CONFIG_FB_IBM_GXT4500 is not set 1370# CONFIG_FB_IBM_GXT4500 is not set
1347# CONFIG_FB_VIRTUAL is not set 1371# CONFIG_FB_VIRTUAL is not set
1348CONFIG_BACKLIGHT_LCD_SUPPORT=y 1372CONFIG_BACKLIGHT_LCD_SUPPORT=y
1349CONFIG_LCD_CLASS_DEVICE=m 1373CONFIG_LCD_CLASS_DEVICE=m
1374# CONFIG_LCD_ILI9320 is not set
1375# CONFIG_LCD_PLATFORM is not set
1350CONFIG_BACKLIGHT_CLASS_DEVICE=y 1376CONFIG_BACKLIGHT_CLASS_DEVICE=y
1351# CONFIG_BACKLIGHT_CORGI is not set 1377# CONFIG_BACKLIGHT_CORGI is not set
1352 1378
@@ -1374,15 +1400,7 @@ CONFIG_LOGO=y
1374CONFIG_LOGO_LINUX_MONO=y 1400CONFIG_LOGO_LINUX_MONO=y
1375CONFIG_LOGO_LINUX_VGA16=y 1401CONFIG_LOGO_LINUX_VGA16=y
1376CONFIG_LOGO_LINUX_CLUT224=y 1402CONFIG_LOGO_LINUX_CLUT224=y
1377
1378#
1379# Sound
1380#
1381CONFIG_SOUND=m 1403CONFIG_SOUND=m
1382
1383#
1384# Advanced Linux Sound Architecture
1385#
1386CONFIG_SND=m 1404CONFIG_SND=m
1387CONFIG_SND_TIMER=m 1405CONFIG_SND_TIMER=m
1388CONFIG_SND_PCM=m 1406CONFIG_SND_PCM=m
@@ -1400,19 +1418,13 @@ CONFIG_SND_SUPPORT_OLD_API=y
1400CONFIG_SND_VERBOSE_PROCFS=y 1418CONFIG_SND_VERBOSE_PROCFS=y
1401# CONFIG_SND_VERBOSE_PRINTK is not set 1419# CONFIG_SND_VERBOSE_PRINTK is not set
1402# CONFIG_SND_DEBUG is not set 1420# CONFIG_SND_DEBUG is not set
1403 1421CONFIG_SND_DRIVERS=y
1404#
1405# Generic devices
1406#
1407CONFIG_SND_DUMMY=m 1422CONFIG_SND_DUMMY=m
1408# CONFIG_SND_VIRMIDI is not set 1423# CONFIG_SND_VIRMIDI is not set
1409# CONFIG_SND_MTPAV is not set 1424# CONFIG_SND_MTPAV is not set
1410# CONFIG_SND_SERIAL_U16550 is not set 1425# CONFIG_SND_SERIAL_U16550 is not set
1411# CONFIG_SND_MPU401 is not set 1426# CONFIG_SND_MPU401 is not set
1412 1427CONFIG_SND_PCI=y
1413#
1414# PCI devices
1415#
1416# CONFIG_SND_AD1889 is not set 1428# CONFIG_SND_AD1889 is not set
1417# CONFIG_SND_ALS300 is not set 1429# CONFIG_SND_ALS300 is not set
1418# CONFIG_SND_ALS4000 is not set 1430# CONFIG_SND_ALS4000 is not set
@@ -1474,20 +1486,9 @@ CONFIG_SND_DUMMY=m
1474# CONFIG_SND_VIRTUOSO is not set 1486# CONFIG_SND_VIRTUOSO is not set
1475# CONFIG_SND_VX222 is not set 1487# CONFIG_SND_VX222 is not set
1476# CONFIG_SND_YMFPCI is not set 1488# CONFIG_SND_YMFPCI is not set
1477 1489CONFIG_SND_PPC=y
1478#
1479# ALSA PowerMac devices
1480#
1481CONFIG_SND_POWERMAC=m 1490CONFIG_SND_POWERMAC=m
1482CONFIG_SND_POWERMAC_AUTO_DRC=y 1491CONFIG_SND_POWERMAC_AUTO_DRC=y
1483
1484#
1485# ALSA PowerPC devices
1486#
1487
1488#
1489# Apple Onboard Audio driver
1490#
1491CONFIG_SND_AOA=m 1492CONFIG_SND_AOA=m
1492CONFIG_SND_AOA_FABRIC_LAYOUT=m 1493CONFIG_SND_AOA_FABRIC_LAYOUT=m
1493CONFIG_SND_AOA_ONYX=m 1494CONFIG_SND_AOA_ONYX=m
@@ -1495,36 +1496,14 @@ CONFIG_SND_AOA_TAS=m
1495CONFIG_SND_AOA_TOONIE=m 1496CONFIG_SND_AOA_TOONIE=m
1496CONFIG_SND_AOA_SOUNDBUS=m 1497CONFIG_SND_AOA_SOUNDBUS=m
1497CONFIG_SND_AOA_SOUNDBUS_I2S=m 1498CONFIG_SND_AOA_SOUNDBUS_I2S=m
1498 1499CONFIG_SND_USB=y
1499#
1500# USB devices
1501#
1502CONFIG_SND_USB_AUDIO=m 1500CONFIG_SND_USB_AUDIO=m
1503# CONFIG_SND_USB_USX2Y is not set 1501# CONFIG_SND_USB_USX2Y is not set
1504# CONFIG_SND_USB_CAIAQ is not set 1502# CONFIG_SND_USB_CAIAQ is not set
1505 1503CONFIG_SND_PCMCIA=y
1506#
1507# PCMCIA devices
1508#
1509# CONFIG_SND_VXPOCKET is not set 1504# CONFIG_SND_VXPOCKET is not set
1510# CONFIG_SND_PDAUDIOCF is not set 1505# CONFIG_SND_PDAUDIOCF is not set
1511
1512#
1513# System on Chip audio support
1514#
1515# CONFIG_SND_SOC is not set 1506# CONFIG_SND_SOC is not set
1516
1517#
1518# ALSA SoC audio for Freescale SOCs
1519#
1520
1521#
1522# SoC Audio for the Texas Instruments OMAP
1523#
1524
1525#
1526# Open Sound System
1527#
1528# CONFIG_SOUND_PRIME is not set 1507# CONFIG_SOUND_PRIME is not set
1529CONFIG_HID_SUPPORT=y 1508CONFIG_HID_SUPPORT=y
1530CONFIG_HID=y 1509CONFIG_HID=y
@@ -1554,6 +1533,7 @@ CONFIG_USB_DEVICE_CLASS=y
1554CONFIG_USB_DYNAMIC_MINORS=y 1533CONFIG_USB_DYNAMIC_MINORS=y
1555# CONFIG_USB_SUSPEND is not set 1534# CONFIG_USB_SUSPEND is not set
1556# CONFIG_USB_OTG is not set 1535# CONFIG_USB_OTG is not set
1536CONFIG_USB_MON=y
1557 1537
1558# 1538#
1559# USB Host Controller Drivers 1539# USB Host Controller Drivers
@@ -1579,6 +1559,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1579# 1559#
1580CONFIG_USB_ACM=m 1560CONFIG_USB_ACM=m
1581CONFIG_USB_PRINTER=m 1561CONFIG_USB_PRINTER=m
1562# CONFIG_USB_WDM is not set
1582 1563
1583# 1564#
1584# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1565# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1600,6 +1581,7 @@ CONFIG_USB_STORAGE=m
1600# CONFIG_USB_STORAGE_ALAUDA is not set 1581# CONFIG_USB_STORAGE_ALAUDA is not set
1601CONFIG_USB_STORAGE_ONETOUCH=y 1582CONFIG_USB_STORAGE_ONETOUCH=y
1602# CONFIG_USB_STORAGE_KARMA is not set 1583# CONFIG_USB_STORAGE_KARMA is not set
1584# CONFIG_USB_STORAGE_SIERRA is not set
1603# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1585# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1604# CONFIG_USB_LIBUSUAL is not set 1586# CONFIG_USB_LIBUSUAL is not set
1605 1587
@@ -1608,7 +1590,6 @@ CONFIG_USB_STORAGE_ONETOUCH=y
1608# 1590#
1609# CONFIG_USB_MDC800 is not set 1591# CONFIG_USB_MDC800 is not set
1610# CONFIG_USB_MICROTEK is not set 1592# CONFIG_USB_MICROTEK is not set
1611CONFIG_USB_MON=y
1612 1593
1613# 1594#
1614# USB port drivers 1595# USB port drivers
@@ -1617,7 +1598,6 @@ CONFIG_USB_SERIAL=m
1617CONFIG_USB_EZUSB=y 1598CONFIG_USB_EZUSB=y
1618# CONFIG_USB_SERIAL_GENERIC is not set 1599# CONFIG_USB_SERIAL_GENERIC is not set
1619# CONFIG_USB_SERIAL_AIRCABLE is not set 1600# CONFIG_USB_SERIAL_AIRCABLE is not set
1620# CONFIG_USB_SERIAL_AIRPRIME is not set
1621# CONFIG_USB_SERIAL_ARK3116 is not set 1601# CONFIG_USB_SERIAL_ARK3116 is not set
1622# CONFIG_USB_SERIAL_BELKIN is not set 1602# CONFIG_USB_SERIAL_BELKIN is not set
1623# CONFIG_USB_SERIAL_CH341 is not set 1603# CONFIG_USB_SERIAL_CH341 is not set
@@ -1676,7 +1656,6 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1676# CONFIG_USB_EMI62 is not set 1656# CONFIG_USB_EMI62 is not set
1677# CONFIG_USB_EMI26 is not set 1657# CONFIG_USB_EMI26 is not set
1678# CONFIG_USB_ADUTUX is not set 1658# CONFIG_USB_ADUTUX is not set
1679# CONFIG_USB_AUERSWALD is not set
1680# CONFIG_USB_RIO500 is not set 1659# CONFIG_USB_RIO500 is not set
1681# CONFIG_USB_LEGOTOWER is not set 1660# CONFIG_USB_LEGOTOWER is not set
1682# CONFIG_USB_LCD is not set 1661# CONFIG_USB_LCD is not set
@@ -1693,6 +1672,7 @@ CONFIG_USB_APPLEDISPLAY=m
1693# CONFIG_USB_TRANCEVIBRATOR is not set 1672# CONFIG_USB_TRANCEVIBRATOR is not set
1694# CONFIG_USB_IOWARRIOR is not set 1673# CONFIG_USB_IOWARRIOR is not set
1695# CONFIG_USB_TEST is not set 1674# CONFIG_USB_TEST is not set
1675# CONFIG_USB_ISIGHTFW is not set
1696# CONFIG_USB_GADGET is not set 1676# CONFIG_USB_GADGET is not set
1697# CONFIG_MMC is not set 1677# CONFIG_MMC is not set
1698# CONFIG_MEMSTICK is not set 1678# CONFIG_MEMSTICK is not set
@@ -1702,6 +1682,8 @@ CONFIG_LEDS_CLASS=y
1702# 1682#
1703# LED drivers 1683# LED drivers
1704# 1684#
1685# CONFIG_LEDS_PCA9532 is not set
1686# CONFIG_LEDS_PCA955X is not set
1705 1687
1706# 1688#
1707# LED Triggers 1689# LED Triggers
@@ -1789,6 +1771,7 @@ CONFIG_HFSPLUS_FS=m
1789# CONFIG_CRAMFS is not set 1771# CONFIG_CRAMFS is not set
1790# CONFIG_VXFS_FS is not set 1772# CONFIG_VXFS_FS is not set
1791# CONFIG_MINIX_FS is not set 1773# CONFIG_MINIX_FS is not set
1774# CONFIG_OMFS_FS is not set
1792# CONFIG_HPFS_FS is not set 1775# CONFIG_HPFS_FS is not set
1793# CONFIG_QNX4FS_FS is not set 1776# CONFIG_QNX4FS_FS is not set
1794# CONFIG_ROMFS_FS is not set 1777# CONFIG_ROMFS_FS is not set
@@ -1811,7 +1794,6 @@ CONFIG_NFS_ACL_SUPPORT=y
1811CONFIG_NFS_COMMON=y 1794CONFIG_NFS_COMMON=y
1812CONFIG_SUNRPC=y 1795CONFIG_SUNRPC=y
1813CONFIG_SUNRPC_GSS=y 1796CONFIG_SUNRPC_GSS=y
1814# CONFIG_SUNRPC_BIND34 is not set
1815CONFIG_RPCSEC_GSS_KRB5=y 1797CONFIG_RPCSEC_GSS_KRB5=y
1816# CONFIG_RPCSEC_GSS_SPKM3 is not set 1798# CONFIG_RPCSEC_GSS_SPKM3 is not set
1817CONFIG_SMB_FS=m 1799CONFIG_SMB_FS=m
@@ -1891,6 +1873,7 @@ CONFIG_BITREVERSE=y
1891# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1873# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1892CONFIG_CRC_CCITT=y 1874CONFIG_CRC_CCITT=y
1893CONFIG_CRC16=y 1875CONFIG_CRC16=y
1876CONFIG_CRC_T10DIF=y
1894CONFIG_CRC_ITU_T=m 1877CONFIG_CRC_ITU_T=m
1895CONFIG_CRC32=y 1878CONFIG_CRC32=y
1896# CONFIG_CRC7 is not set 1879# CONFIG_CRC7 is not set
@@ -1921,8 +1904,10 @@ CONFIG_MAGIC_SYSRQ=y
1921CONFIG_DEBUG_KERNEL=y 1904CONFIG_DEBUG_KERNEL=y
1922# CONFIG_DEBUG_SHIRQ is not set 1905# CONFIG_DEBUG_SHIRQ is not set
1923CONFIG_DETECT_SOFTLOCKUP=y 1906CONFIG_DETECT_SOFTLOCKUP=y
1907# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1908CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1924CONFIG_SCHED_DEBUG=y 1909CONFIG_SCHED_DEBUG=y
1925# CONFIG_SCHEDSTATS is not set 1910CONFIG_SCHEDSTATS=y
1926# CONFIG_TIMER_STATS is not set 1911# CONFIG_TIMER_STATS is not set
1927# CONFIG_DEBUG_OBJECTS is not set 1912# CONFIG_DEBUG_OBJECTS is not set
1928# CONFIG_SLUB_DEBUG_ON is not set 1913# CONFIG_SLUB_DEBUG_ON is not set
@@ -1933,24 +1918,38 @@ CONFIG_SCHED_DEBUG=y
1933# CONFIG_DEBUG_MUTEXES is not set 1918# CONFIG_DEBUG_MUTEXES is not set
1934# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1919# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1935# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1920# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1921CONFIG_STACKTRACE=y
1936# CONFIG_DEBUG_KOBJECT is not set 1922# CONFIG_DEBUG_KOBJECT is not set
1937CONFIG_DEBUG_BUGVERBOSE=y 1923CONFIG_DEBUG_BUGVERBOSE=y
1938# CONFIG_DEBUG_INFO is not set 1924# CONFIG_DEBUG_INFO is not set
1939# CONFIG_DEBUG_VM is not set 1925# CONFIG_DEBUG_VM is not set
1940# CONFIG_DEBUG_WRITECOUNT is not set 1926# CONFIG_DEBUG_WRITECOUNT is not set
1927CONFIG_DEBUG_MEMORY_INIT=y
1941# CONFIG_DEBUG_LIST is not set 1928# CONFIG_DEBUG_LIST is not set
1942# CONFIG_DEBUG_SG is not set 1929# CONFIG_DEBUG_SG is not set
1930CONFIG_FRAME_POINTER=y
1943# CONFIG_BOOT_PRINTK_DELAY is not set 1931# CONFIG_BOOT_PRINTK_DELAY is not set
1944# CONFIG_RCU_TORTURE_TEST is not set 1932# CONFIG_RCU_TORTURE_TEST is not set
1945# CONFIG_BACKTRACE_SELF_TEST is not set 1933# CONFIG_BACKTRACE_SELF_TEST is not set
1946# CONFIG_FAULT_INJECTION is not set 1934# CONFIG_FAULT_INJECTION is not set
1935CONFIG_LATENCYTOP=y
1936CONFIG_SYSCTL_SYSCALL_CHECK=y
1937CONFIG_HAVE_FTRACE=y
1938CONFIG_HAVE_DYNAMIC_FTRACE=y
1939# CONFIG_FTRACE is not set
1940# CONFIG_SCHED_TRACER is not set
1941# CONFIG_CONTEXT_SWITCH_TRACER is not set
1947# CONFIG_SAMPLES is not set 1942# CONFIG_SAMPLES is not set
1943CONFIG_HAVE_ARCH_KGDB=y
1944# CONFIG_KGDB is not set
1948# CONFIG_DEBUG_STACKOVERFLOW is not set 1945# CONFIG_DEBUG_STACKOVERFLOW is not set
1949# CONFIG_DEBUG_STACK_USAGE is not set 1946# CONFIG_DEBUG_STACK_USAGE is not set
1950CONFIG_DEBUGGER=y 1947# CONFIG_CODE_PATCHING_SELFTEST is not set
1948# CONFIG_FTR_FIXUP_SELFTEST is not set
1951CONFIG_XMON=y 1949CONFIG_XMON=y
1952CONFIG_XMON_DEFAULT=y 1950CONFIG_XMON_DEFAULT=y
1953CONFIG_XMON_DISASSEMBLY=y 1951CONFIG_XMON_DISASSEMBLY=y
1952CONFIG_DEBUGGER=y
1954CONFIG_IRQSTACKS=y 1953CONFIG_IRQSTACKS=y
1955# CONFIG_BDI_SWITCH is not set 1954# CONFIG_BDI_SWITCH is not set
1956CONFIG_BOOTX_TEXT=y 1955CONFIG_BOOTX_TEXT=y
@@ -2009,6 +2008,10 @@ CONFIG_CRYPTO_CRC32C=m
2009CONFIG_CRYPTO_MD4=m 2008CONFIG_CRYPTO_MD4=m
2010CONFIG_CRYPTO_MD5=y 2009CONFIG_CRYPTO_MD5=y
2011CONFIG_CRYPTO_MICHAEL_MIC=m 2010CONFIG_CRYPTO_MICHAEL_MIC=m
2011# CONFIG_CRYPTO_RMD128 is not set
2012# CONFIG_CRYPTO_RMD160 is not set
2013# CONFIG_CRYPTO_RMD256 is not set
2014# CONFIG_CRYPTO_RMD320 is not set
2012CONFIG_CRYPTO_SHA1=y 2015CONFIG_CRYPTO_SHA1=y
2013CONFIG_CRYPTO_SHA256=m 2016CONFIG_CRYPTO_SHA256=m
2014CONFIG_CRYPTO_SHA512=m 2017CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index ce250bc98584..fc5930caeb5f 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc6 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 16 21:11:19 2008 4# Tue Aug 26 13:22:03 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -14,6 +14,7 @@ CONFIG_POWER4=y
14# CONFIG_TUNE_CELL is not set 14# CONFIG_TUNE_CELL is not set
15CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
16CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
17CONFIG_VSX=y
17CONFIG_PPC_STD_MMU=y 18CONFIG_PPC_STD_MMU=y
18CONFIG_PPC_MM_SLICES=y 19CONFIG_PPC_MM_SLICES=y
19CONFIG_VIRT_CPU_ACCOUNTING=y 20CONFIG_VIRT_CPU_ACCOUNTING=y
@@ -31,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y 32CONFIG_HAVE_SETUP_PER_CPU_AREA=y
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_TRACE_IRQFLAGS_SUPPORT=y 36CONFIG_TRACE_IRQFLAGS_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -105,7 +107,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
105CONFIG_SYSCTL=y 107CONFIG_SYSCTL=y
106# CONFIG_EMBEDDED is not set 108# CONFIG_EMBEDDED is not set
107CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
108CONFIG_SYSCTL_SYSCALL_CHECK=y
109CONFIG_KALLSYMS=y 110CONFIG_KALLSYMS=y
110CONFIG_KALLSYMS_ALL=y 111CONFIG_KALLSYMS_ALL=y
111# CONFIG_KALLSYMS_EXTRA_PASS is not set 112# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -129,14 +130,20 @@ CONFIG_SLUB_DEBUG=y
129CONFIG_SLUB=y 130CONFIG_SLUB=y
130# CONFIG_SLOB is not set 131# CONFIG_SLOB is not set
131CONFIG_PROFILING=y 132CONFIG_PROFILING=y
132# CONFIG_MARKERS is not set 133CONFIG_MARKERS=y
133CONFIG_OPROFILE=y 134CONFIG_OPROFILE=y
134CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
135# CONFIG_KPROBES is not set 136# CONFIG_KPROBES is not set
137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
138CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
138# CONFIG_HAVE_DMA_ATTRS is not set 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y
143CONFIG_USE_GENERIC_SMP_HELPERS=y
144# CONFIG_HAVE_CLK is not set
139CONFIG_PROC_PAGE_MONITOR=y 145CONFIG_PROC_PAGE_MONITOR=y
146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
140CONFIG_SLABINFO=y 147CONFIG_SLABINFO=y
141CONFIG_RT_MUTEXES=y 148CONFIG_RT_MUTEXES=y
142# CONFIG_TINY_SHMEM is not set 149# CONFIG_TINY_SHMEM is not set
@@ -152,6 +159,7 @@ CONFIG_STOP_MACHINE=y
152CONFIG_BLOCK=y 159CONFIG_BLOCK=y
153CONFIG_BLK_DEV_IO_TRACE=y 160CONFIG_BLK_DEV_IO_TRACE=y
154CONFIG_BLK_DEV_BSG=y 161CONFIG_BLK_DEV_BSG=y
162# CONFIG_BLK_DEV_INTEGRITY is not set
155CONFIG_BLOCK_COMPAT=y 163CONFIG_BLOCK_COMPAT=y
156 164
157# 165#
@@ -172,14 +180,13 @@ CONFIG_CLASSIC_RCU=y
172# Platform support 180# Platform support
173# 181#
174CONFIG_PPC_MULTIPLATFORM=y 182CONFIG_PPC_MULTIPLATFORM=y
175# CONFIG_PPC_82xx is not set
176# CONFIG_PPC_83xx is not set
177# CONFIG_PPC_86xx is not set
178CONFIG_PPC_PSERIES=y 183CONFIG_PPC_PSERIES=y
179CONFIG_PPC_SPLPAR=y 184CONFIG_PPC_SPLPAR=y
180CONFIG_EEH=y 185CONFIG_EEH=y
181CONFIG_SCANLOG=m 186CONFIG_SCANLOG=m
182CONFIG_LPARCFG=y 187CONFIG_LPARCFG=y
188CONFIG_PPC_SMLPAR=y
189CONFIG_CMM=y
183CONFIG_PPC_ISERIES=y 190CONFIG_PPC_ISERIES=y
184 191
185# 192#
@@ -189,8 +196,6 @@ CONFIG_VIODASD=y
189CONFIG_VIOCD=m 196CONFIG_VIOCD=m
190CONFIG_VIOTAPE=m 197CONFIG_VIOTAPE=m
191CONFIG_VIOPATH=y 198CONFIG_VIOPATH=y
192# CONFIG_PPC_MPC512x is not set
193# CONFIG_PPC_MPC5121 is not set
194CONFIG_PPC_PMAC=y 199CONFIG_PPC_PMAC=y
195CONFIG_PPC_PMAC64=y 200CONFIG_PPC_PMAC64=y
196CONFIG_PPC_MAPLE=y 201CONFIG_PPC_MAPLE=y
@@ -213,11 +218,15 @@ CONFIG_PPC_CELLEB=y
213# 218#
214CONFIG_SPU_FS=m 219CONFIG_SPU_FS=m
215CONFIG_SPU_FS_64K_LS=y 220CONFIG_SPU_FS_64K_LS=y
221# CONFIG_SPU_TRACE is not set
216CONFIG_SPU_BASE=y 222CONFIG_SPU_BASE=y
217CONFIG_CBE_RAS=y 223CONFIG_CBE_RAS=y
224CONFIG_PPC_IBM_CELL_RESETBUTTON=y
225CONFIG_PPC_IBM_CELL_POWERBUTTON=m
218CONFIG_CBE_THERM=m 226CONFIG_CBE_THERM=m
219CONFIG_CBE_CPUFREQ=m 227CONFIG_CBE_CPUFREQ=m
220CONFIG_CBE_CPUFREQ_PMI=m 228CONFIG_CBE_CPUFREQ_PMI=m
229CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=m
221CONFIG_OPROFILE_CELL=y 230CONFIG_OPROFILE_CELL=y
222# CONFIG_PQ2ADS is not set 231# CONFIG_PQ2ADS is not set
223CONFIG_PPC_NATIVE=y 232CONFIG_PPC_NATIVE=y
@@ -279,7 +288,7 @@ CONFIG_HZ_250=y
279# CONFIG_HZ_300 is not set 288# CONFIG_HZ_300 is not set
280# CONFIG_HZ_1000 is not set 289# CONFIG_HZ_1000 is not set
281CONFIG_HZ=250 290CONFIG_HZ=250
282# CONFIG_SCHED_HRTICK is not set 291CONFIG_SCHED_HRTICK=y
283CONFIG_PREEMPT_NONE=y 292CONFIG_PREEMPT_NONE=y
284# CONFIG_PREEMPT_VOLUNTARY is not set 293# CONFIG_PREEMPT_VOLUNTARY is not set
285# CONFIG_PREEMPT is not set 294# CONFIG_PREEMPT is not set
@@ -315,8 +324,10 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
315CONFIG_SPARSEMEM_VMEMMAP=y 324CONFIG_SPARSEMEM_VMEMMAP=y
316CONFIG_MEMORY_HOTPLUG=y 325CONFIG_MEMORY_HOTPLUG=y
317CONFIG_MEMORY_HOTPLUG_SPARSE=y 326CONFIG_MEMORY_HOTPLUG_SPARSE=y
327CONFIG_MEMORY_HOTREMOVE=y
318CONFIG_PAGEFLAGS_EXTENDED=y 328CONFIG_PAGEFLAGS_EXTENDED=y
319CONFIG_SPLIT_PTLOCK_CPUS=4 329CONFIG_SPLIT_PTLOCK_CPUS=4
330CONFIG_MIGRATION=y
320CONFIG_RESOURCES_64BIT=y 331CONFIG_RESOURCES_64BIT=y
321CONFIG_ZONE_DMA_FLAG=1 332CONFIG_ZONE_DMA_FLAG=1
322CONFIG_BOUNCE=y 333CONFIG_BOUNCE=y
@@ -327,6 +338,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
327# CONFIG_SCHED_SMT is not set 338# CONFIG_SCHED_SMT is not set
328CONFIG_PROC_DEVICETREE=y 339CONFIG_PROC_DEVICETREE=y
329# CONFIG_CMDLINE_BOOL is not set 340# CONFIG_CMDLINE_BOOL is not set
341CONFIG_EXTRA_TARGETS=""
330CONFIG_ARCH_WANTS_FREEZER_CONTROL=y 342CONFIG_ARCH_WANTS_FREEZER_CONTROL=y
331# CONFIG_PM is not set 343# CONFIG_PM is not set
332CONFIG_SECCOMP=y 344CONFIG_SECCOMP=y
@@ -370,10 +382,6 @@ CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
370CONFIG_PAGE_OFFSET=0xc000000000000000 382CONFIG_PAGE_OFFSET=0xc000000000000000
371CONFIG_KERNEL_START=0xc000000000000000 383CONFIG_KERNEL_START=0xc000000000000000
372CONFIG_PHYSICAL_START=0x00000000 384CONFIG_PHYSICAL_START=0x00000000
373
374#
375# Networking
376#
377CONFIG_NET=y 385CONFIG_NET=y
378 386
379# 387#
@@ -387,6 +395,7 @@ CONFIG_XFRM_USER=m
387# CONFIG_XFRM_SUB_POLICY is not set 395# CONFIG_XFRM_SUB_POLICY is not set
388# CONFIG_XFRM_MIGRATE is not set 396# CONFIG_XFRM_MIGRATE is not set
389# CONFIG_XFRM_STATISTICS is not set 397# CONFIG_XFRM_STATISTICS is not set
398CONFIG_XFRM_IPCOMP=m
390CONFIG_NET_KEY=m 399CONFIG_NET_KEY=m
391# CONFIG_NET_KEY_MIGRATE is not set 400# CONFIG_NET_KEY_MIGRATE is not set
392CONFIG_INET=y 401CONFIG_INET=y
@@ -578,6 +587,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
578CONFIG_STANDALONE=y 587CONFIG_STANDALONE=y
579CONFIG_PREVENT_FIRMWARE_BUILD=y 588CONFIG_PREVENT_FIRMWARE_BUILD=y
580CONFIG_FW_LOADER=y 589CONFIG_FW_LOADER=y
590CONFIG_FIRMWARE_IN_KERNEL=y
591CONFIG_EXTRA_FIRMWARE=""
581# CONFIG_DEBUG_DRIVER is not set 592# CONFIG_DEBUG_DRIVER is not set
582# CONFIG_DEBUG_DEVRES is not set 593# CONFIG_DEBUG_DEVRES is not set
583# CONFIG_SYS_HYPERVISOR is not set 594# CONFIG_SYS_HYPERVISOR is not set
@@ -603,12 +614,14 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
603# CONFIG_BLK_DEV_XIP is not set 614# CONFIG_BLK_DEV_XIP is not set
604# CONFIG_CDROM_PKTCDVD is not set 615# CONFIG_CDROM_PKTCDVD is not set
605# CONFIG_ATA_OVER_ETH is not set 616# CONFIG_ATA_OVER_ETH is not set
617# CONFIG_BLK_DEV_HD is not set
606CONFIG_MISC_DEVICES=y 618CONFIG_MISC_DEVICES=y
607# CONFIG_PHANTOM is not set 619# CONFIG_PHANTOM is not set
608# CONFIG_EEPROM_93CX6 is not set 620# CONFIG_EEPROM_93CX6 is not set
609# CONFIG_SGI_IOC4 is not set 621# CONFIG_SGI_IOC4 is not set
610# CONFIG_TIFM_CORE is not set 622# CONFIG_TIFM_CORE is not set
611# CONFIG_ENCLOSURE_SERVICES is not set 623# CONFIG_ENCLOSURE_SERVICES is not set
624# CONFIG_HP_ILO is not set
612CONFIG_HAVE_IDE=y 625CONFIG_HAVE_IDE=y
613CONFIG_IDE=y 626CONFIG_IDE=y
614CONFIG_BLK_DEV_IDE=y 627CONFIG_BLK_DEV_IDE=y
@@ -616,6 +629,7 @@ CONFIG_BLK_DEV_IDE=y
616# 629#
617# Please see Documentation/ide/ide.txt for help/info on IDE drives 630# Please see Documentation/ide/ide.txt for help/info on IDE drives
618# 631#
632CONFIG_IDE_TIMINGS=y
619# CONFIG_BLK_DEV_IDE_SATA is not set 633# CONFIG_BLK_DEV_IDE_SATA is not set
620CONFIG_BLK_DEV_IDEDISK=y 634CONFIG_BLK_DEV_IDEDISK=y
621# CONFIG_IDEDISK_MULTI_MODE is not set 635# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -649,10 +663,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
649CONFIG_BLK_DEV_AMD74XX=y 663CONFIG_BLK_DEV_AMD74XX=y
650# CONFIG_BLK_DEV_CMD64X is not set 664# CONFIG_BLK_DEV_CMD64X is not set
651# CONFIG_BLK_DEV_TRIFLEX is not set 665# CONFIG_BLK_DEV_TRIFLEX is not set
652# CONFIG_BLK_DEV_CY82C693 is not set
653# CONFIG_BLK_DEV_CS5520 is not set 666# CONFIG_BLK_DEV_CS5520 is not set
654# CONFIG_BLK_DEV_CS5530 is not set 667# CONFIG_BLK_DEV_CS5530 is not set
655# CONFIG_BLK_DEV_HPT34X is not set
656# CONFIG_BLK_DEV_HPT366 is not set 668# CONFIG_BLK_DEV_HPT366 is not set
657# CONFIG_BLK_DEV_JMICRON is not set 669# CONFIG_BLK_DEV_JMICRON is not set
658# CONFIG_BLK_DEV_SC1200 is not set 670# CONFIG_BLK_DEV_SC1200 is not set
@@ -674,8 +686,6 @@ CONFIG_BLK_DEV_IDE_PMAC=y
674CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 686CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
675CONFIG_BLK_DEV_IDEDMA_PMAC=y 687CONFIG_BLK_DEV_IDEDMA_PMAC=y
676CONFIG_BLK_DEV_IDEDMA=y 688CONFIG_BLK_DEV_IDEDMA=y
677# CONFIG_BLK_DEV_HD_ONLY is not set
678# CONFIG_BLK_DEV_HD is not set
679 689
680# 690#
681# SCSI device support 691# SCSI device support
@@ -737,6 +747,8 @@ CONFIG_SCSI_LOWLEVEL=y
737# CONFIG_SCSI_GDTH is not set 747# CONFIG_SCSI_GDTH is not set
738# CONFIG_SCSI_IPS is not set 748# CONFIG_SCSI_IPS is not set
739CONFIG_SCSI_IBMVSCSI=y 749CONFIG_SCSI_IBMVSCSI=y
750CONFIG_SCSI_IBMVFC=m
751CONFIG_SCSI_IBMVFC_TRACE=y
740# CONFIG_SCSI_INITIO is not set 752# CONFIG_SCSI_INITIO is not set
741# CONFIG_SCSI_INIA100 is not set 753# CONFIG_SCSI_INIA100 is not set
742# CONFIG_SCSI_MVSAS is not set 754# CONFIG_SCSI_MVSAS is not set
@@ -758,6 +770,7 @@ CONFIG_SCSI_LPFC=m
758CONFIG_SCSI_DEBUG=m 770CONFIG_SCSI_DEBUG=m
759# CONFIG_SCSI_SRP is not set 771# CONFIG_SCSI_SRP is not set
760# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 772# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
773# CONFIG_SCSI_DH is not set
761CONFIG_ATA=y 774CONFIG_ATA=y
762CONFIG_ATA_NONSTANDARD=y 775CONFIG_ATA_NONSTANDARD=y
763CONFIG_SATA_PMP=y 776CONFIG_SATA_PMP=y
@@ -837,9 +850,6 @@ CONFIG_DM_SNAPSHOT=m
837CONFIG_DM_MIRROR=m 850CONFIG_DM_MIRROR=m
838CONFIG_DM_ZERO=m 851CONFIG_DM_ZERO=m
839CONFIG_DM_MULTIPATH=m 852CONFIG_DM_MULTIPATH=m
840CONFIG_DM_MULTIPATH_EMC=m
841# CONFIG_DM_MULTIPATH_RDAC is not set
842# CONFIG_DM_MULTIPATH_HP is not set
843# CONFIG_DM_DELAY is not set 853# CONFIG_DM_DELAY is not set
844# CONFIG_DM_UEVENT is not set 854# CONFIG_DM_UEVENT is not set
845# CONFIG_FUSION is not set 855# CONFIG_FUSION is not set
@@ -847,29 +857,21 @@ CONFIG_DM_MULTIPATH_EMC=m
847# 857#
848# IEEE 1394 (FireWire) support 858# IEEE 1394 (FireWire) support
849# 859#
850# CONFIG_FIREWIRE is not set
851CONFIG_IEEE1394=y
852
853#
854# Subsystem Options
855#
856# CONFIG_IEEE1394_VERBOSEDEBUG is not set
857 860
858# 861#
859# Controllers 862# Enable only one of the two stacks, unless you know what you are doing
860# 863#
861# CONFIG_IEEE1394_PCILYNX is not set 864# CONFIG_FIREWIRE is not set
865CONFIG_IEEE1394=y
862CONFIG_IEEE1394_OHCI1394=y 866CONFIG_IEEE1394_OHCI1394=y
863 867# CONFIG_IEEE1394_PCILYNX is not set
864#
865# Protocols
866#
867CONFIG_IEEE1394_VIDEO1394=m
868CONFIG_IEEE1394_SBP2=m 868CONFIG_IEEE1394_SBP2=m
869CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y 869CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
870CONFIG_IEEE1394_ETH1394=m 870CONFIG_IEEE1394_ETH1394=m
871CONFIG_IEEE1394_DV1394=m
872CONFIG_IEEE1394_RAWIO=y 871CONFIG_IEEE1394_RAWIO=y
872CONFIG_IEEE1394_VIDEO1394=m
873CONFIG_IEEE1394_DV1394=m
874# CONFIG_IEEE1394_VERBOSEDEBUG is not set
873# CONFIG_I2O is not set 875# CONFIG_I2O is not set
874CONFIG_MACINTOSH_DRIVERS=y 876CONFIG_MACINTOSH_DRIVERS=y
875CONFIG_ADB_PMU=y 877CONFIG_ADB_PMU=y
@@ -884,7 +886,6 @@ CONFIG_WINDFARM_PM112=y
884CONFIG_WINDFARM_PM121=y 886CONFIG_WINDFARM_PM121=y
885# CONFIG_PMAC_RACKMETER is not set 887# CONFIG_PMAC_RACKMETER is not set
886CONFIG_NETDEVICES=y 888CONFIG_NETDEVICES=y
887# CONFIG_NETDEVICES_MULTIQUEUE is not set
888CONFIG_DUMMY=m 889CONFIG_DUMMY=m
889CONFIG_BONDING=m 890CONFIG_BONDING=m
890# CONFIG_MACVLAN is not set 891# CONFIG_MACVLAN is not set
@@ -942,6 +943,7 @@ CONFIG_E100=y
942# CONFIG_SIS900 is not set 943# CONFIG_SIS900 is not set
943# CONFIG_EPIC100 is not set 944# CONFIG_EPIC100 is not set
944# CONFIG_SUNDANCE is not set 945# CONFIG_SUNDANCE is not set
946# CONFIG_TLAN is not set
945# CONFIG_VIA_RHINE is not set 947# CONFIG_VIA_RHINE is not set
946# CONFIG_SC92031 is not set 948# CONFIG_SC92031 is not set
947CONFIG_NETDEV_1000=y 949CONFIG_NETDEV_1000=y
@@ -949,10 +951,8 @@ CONFIG_ACENIC=y
949CONFIG_ACENIC_OMIT_TIGON_I=y 951CONFIG_ACENIC_OMIT_TIGON_I=y
950# CONFIG_DL2K is not set 952# CONFIG_DL2K is not set
951CONFIG_E1000=y 953CONFIG_E1000=y
952# CONFIG_E1000_NAPI is not set
953# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 954# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
954# CONFIG_E1000E is not set 955# CONFIG_E1000E is not set
955# CONFIG_E1000E_ENABLED is not set
956# CONFIG_IP1000 is not set 956# CONFIG_IP1000 is not set
957# CONFIG_IGB is not set 957# CONFIG_IGB is not set
958# CONFIG_NS83820 is not set 958# CONFIG_NS83820 is not set
@@ -968,13 +968,13 @@ CONFIG_TIGON3=y
968CONFIG_SPIDER_NET=m 968CONFIG_SPIDER_NET=m
969# CONFIG_QLA3XXX is not set 969# CONFIG_QLA3XXX is not set
970# CONFIG_ATL1 is not set 970# CONFIG_ATL1 is not set
971# CONFIG_ATL1E is not set
971CONFIG_NETDEV_10000=y 972CONFIG_NETDEV_10000=y
972# CONFIG_CHELSIO_T1 is not set 973# CONFIG_CHELSIO_T1 is not set
973# CONFIG_CHELSIO_T3 is not set 974# CONFIG_CHELSIO_T3 is not set
974CONFIG_EHEA=m 975CONFIG_EHEA=m
975# CONFIG_IXGBE is not set 976# CONFIG_IXGBE is not set
976CONFIG_IXGB=m 977CONFIG_IXGB=m
977# CONFIG_IXGB_NAPI is not set
978# CONFIG_S2IO is not set 978# CONFIG_S2IO is not set
979# CONFIG_MYRI10GE is not set 979# CONFIG_MYRI10GE is not set
980# CONFIG_NETXEN_NIC is not set 980# CONFIG_NETXEN_NIC is not set
@@ -1068,6 +1068,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
1068# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1068# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1069# CONFIG_MOUSE_SERIAL is not set 1069# CONFIG_MOUSE_SERIAL is not set
1070# CONFIG_MOUSE_APPLETOUCH is not set 1070# CONFIG_MOUSE_APPLETOUCH is not set
1071# CONFIG_MOUSE_BCM5974 is not set
1071# CONFIG_MOUSE_VSXXXAA is not set 1072# CONFIG_MOUSE_VSXXXAA is not set
1072# CONFIG_INPUT_JOYSTICK is not set 1073# CONFIG_INPUT_JOYSTICK is not set
1073# CONFIG_INPUT_TABLET is not set 1074# CONFIG_INPUT_TABLET is not set
@@ -1090,12 +1091,14 @@ CONFIG_SERIO_I8042=y
1090# CONFIG_SERIO_PCIPS2 is not set 1091# CONFIG_SERIO_PCIPS2 is not set
1091CONFIG_SERIO_LIBPS2=y 1092CONFIG_SERIO_LIBPS2=y
1092# CONFIG_SERIO_RAW is not set 1093# CONFIG_SERIO_RAW is not set
1094# CONFIG_SERIO_XILINX_XPS_PS2 is not set
1093# CONFIG_GAMEPORT is not set 1095# CONFIG_GAMEPORT is not set
1094 1096
1095# 1097#
1096# Character devices 1098# Character devices
1097# 1099#
1098CONFIG_VT=y 1100CONFIG_VT=y
1101CONFIG_CONSOLE_TRANSLATIONS=y
1099CONFIG_VT_CONSOLE=y 1102CONFIG_VT_CONSOLE=y
1100CONFIG_HW_CONSOLE=y 1103CONFIG_HW_CONSOLE=y
1101# CONFIG_VT_HW_CONSOLE_BINDING is not set 1104# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -1131,11 +1134,13 @@ CONFIG_UNIX98_PTYS=y
1131CONFIG_LEGACY_PTYS=y 1134CONFIG_LEGACY_PTYS=y
1132CONFIG_LEGACY_PTY_COUNT=256 1135CONFIG_LEGACY_PTY_COUNT=256
1133CONFIG_HVC_DRIVER=y 1136CONFIG_HVC_DRIVER=y
1137CONFIG_HVC_IRQ=y
1134CONFIG_HVC_CONSOLE=y 1138CONFIG_HVC_CONSOLE=y
1135CONFIG_HVC_ISERIES=y 1139CONFIG_HVC_ISERIES=y
1136CONFIG_HVC_RTAS=y 1140CONFIG_HVC_RTAS=y
1137CONFIG_HVC_BEAT=y 1141CONFIG_HVC_BEAT=y
1138CONFIG_HVCS=m 1142CONFIG_HVCS=m
1143CONFIG_IBM_BSR=m
1139# CONFIG_IPMI_HANDLER is not set 1144# CONFIG_IPMI_HANDLER is not set
1140# CONFIG_HW_RANDOM is not set 1145# CONFIG_HW_RANDOM is not set
1141# CONFIG_R3964 is not set 1146# CONFIG_R3964 is not set
@@ -1156,45 +1161,70 @@ CONFIG_DEVPORT=y
1156CONFIG_I2C=y 1161CONFIG_I2C=y
1157CONFIG_I2C_BOARDINFO=y 1162CONFIG_I2C_BOARDINFO=y
1158CONFIG_I2C_CHARDEV=y 1163CONFIG_I2C_CHARDEV=y
1164CONFIG_I2C_HELPER_AUTO=y
1159CONFIG_I2C_ALGOBIT=y 1165CONFIG_I2C_ALGOBIT=y
1160 1166
1161# 1167#
1162# I2C Hardware Bus support 1168# I2C Hardware Bus support
1163# 1169#
1170
1171#
1172# PC SMBus host controller drivers
1173#
1164# CONFIG_I2C_ALI1535 is not set 1174# CONFIG_I2C_ALI1535 is not set
1165# CONFIG_I2C_ALI1563 is not set 1175# CONFIG_I2C_ALI1563 is not set
1166# CONFIG_I2C_ALI15X3 is not set 1176# CONFIG_I2C_ALI15X3 is not set
1167# CONFIG_I2C_AMD756 is not set 1177# CONFIG_I2C_AMD756 is not set
1168CONFIG_I2C_AMD8111=y 1178CONFIG_I2C_AMD8111=y
1169# CONFIG_I2C_I801 is not set 1179# CONFIG_I2C_I801 is not set
1170# CONFIG_I2C_I810 is not set 1180# CONFIG_I2C_ISCH is not set
1171# CONFIG_I2C_PIIX4 is not set 1181# CONFIG_I2C_PIIX4 is not set
1172CONFIG_I2C_POWERMAC=y
1173# CONFIG_I2C_NFORCE2 is not set 1182# CONFIG_I2C_NFORCE2 is not set
1174# CONFIG_I2C_OCORES is not set
1175# CONFIG_I2C_PARPORT_LIGHT is not set
1176CONFIG_I2C_PASEMI=y
1177# CONFIG_I2C_PROSAVAGE is not set
1178# CONFIG_I2C_SAVAGE4 is not set
1179# CONFIG_I2C_SIMTEC is not set
1180# CONFIG_I2C_SIS5595 is not set 1183# CONFIG_I2C_SIS5595 is not set
1181# CONFIG_I2C_SIS630 is not set 1184# CONFIG_I2C_SIS630 is not set
1182# CONFIG_I2C_SIS96X is not set 1185# CONFIG_I2C_SIS96X is not set
1183# CONFIG_I2C_TAOS_EVM is not set
1184# CONFIG_I2C_STUB is not set
1185# CONFIG_I2C_TINY_USB is not set
1186# CONFIG_I2C_VIA is not set 1186# CONFIG_I2C_VIA is not set
1187# CONFIG_I2C_VIAPRO is not set 1187# CONFIG_I2C_VIAPRO is not set
1188
1189#
1190# Mac SMBus host controller drivers
1191#
1192CONFIG_I2C_POWERMAC=y
1193
1194#
1195# I2C system bus drivers (mostly embedded / system-on-chip)
1196#
1197# CONFIG_I2C_OCORES is not set
1198CONFIG_I2C_PASEMI=y
1199# CONFIG_I2C_SIMTEC is not set
1200
1201#
1202# External I2C/SMBus adapter drivers
1203#
1204# CONFIG_I2C_PARPORT_LIGHT is not set
1205# CONFIG_I2C_TAOS_EVM is not set
1206# CONFIG_I2C_TINY_USB is not set
1207
1208#
1209# Graphics adapter I2C/DDC channel drivers
1210#
1188# CONFIG_I2C_VOODOO3 is not set 1211# CONFIG_I2C_VOODOO3 is not set
1212
1213#
1214# Other I2C/SMBus bus drivers
1215#
1189# CONFIG_I2C_PCA_PLATFORM is not set 1216# CONFIG_I2C_PCA_PLATFORM is not set
1217# CONFIG_I2C_STUB is not set
1190 1218
1191# 1219#
1192# Miscellaneous I2C Chip support 1220# Miscellaneous I2C Chip support
1193# 1221#
1194# CONFIG_DS1682 is not set 1222# CONFIG_DS1682 is not set
1223# CONFIG_AT24 is not set
1195# CONFIG_SENSORS_EEPROM is not set 1224# CONFIG_SENSORS_EEPROM is not set
1196# CONFIG_SENSORS_PCF8574 is not set 1225# CONFIG_SENSORS_PCF8574 is not set
1197# CONFIG_PCF8575 is not set 1226# CONFIG_PCF8575 is not set
1227# CONFIG_SENSORS_PCA9539 is not set
1198# CONFIG_SENSORS_PCF8591 is not set 1228# CONFIG_SENSORS_PCF8591 is not set
1199# CONFIG_SENSORS_MAX6875 is not set 1229# CONFIG_SENSORS_MAX6875 is not set
1200# CONFIG_SENSORS_TSL2550 is not set 1230# CONFIG_SENSORS_TSL2550 is not set
@@ -1203,10 +1233,13 @@ CONFIG_I2C_PASEMI=y
1203# CONFIG_I2C_DEBUG_BUS is not set 1233# CONFIG_I2C_DEBUG_BUS is not set
1204# CONFIG_I2C_DEBUG_CHIP is not set 1234# CONFIG_I2C_DEBUG_CHIP is not set
1205# CONFIG_SPI is not set 1235# CONFIG_SPI is not set
1236CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1237# CONFIG_GPIOLIB is not set
1206# CONFIG_W1 is not set 1238# CONFIG_W1 is not set
1207# CONFIG_POWER_SUPPLY is not set 1239# CONFIG_POWER_SUPPLY is not set
1208# CONFIG_HWMON is not set 1240# CONFIG_HWMON is not set
1209# CONFIG_THERMAL is not set 1241# CONFIG_THERMAL is not set
1242# CONFIG_THERMAL_HWMON is not set
1210# CONFIG_WATCHDOG is not set 1243# CONFIG_WATCHDOG is not set
1211 1244
1212# 1245#
@@ -1218,8 +1251,10 @@ CONFIG_SSB_POSSIBLE=y
1218# 1251#
1219# Multifunction device drivers 1252# Multifunction device drivers
1220# 1253#
1254# CONFIG_MFD_CORE is not set
1221# CONFIG_MFD_SM501 is not set 1255# CONFIG_MFD_SM501 is not set
1222# CONFIG_HTC_PASIC3 is not set 1256# CONFIG_HTC_PASIC3 is not set
1257# CONFIG_MFD_TMIO is not set
1223 1258
1224# 1259#
1225# Multimedia devices 1260# Multimedia devices
@@ -1299,10 +1334,13 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1299# CONFIG_FB_TRIDENT is not set 1334# CONFIG_FB_TRIDENT is not set
1300# CONFIG_FB_ARK is not set 1335# CONFIG_FB_ARK is not set
1301# CONFIG_FB_PM3 is not set 1336# CONFIG_FB_PM3 is not set
1337# CONFIG_FB_CARMINE is not set
1302CONFIG_FB_IBM_GXT4500=y 1338CONFIG_FB_IBM_GXT4500=y
1303# CONFIG_FB_VIRTUAL is not set 1339# CONFIG_FB_VIRTUAL is not set
1304CONFIG_BACKLIGHT_LCD_SUPPORT=y 1340CONFIG_BACKLIGHT_LCD_SUPPORT=y
1305CONFIG_LCD_CLASS_DEVICE=y 1341CONFIG_LCD_CLASS_DEVICE=y
1342# CONFIG_LCD_ILI9320 is not set
1343# CONFIG_LCD_PLATFORM is not set
1306CONFIG_BACKLIGHT_CLASS_DEVICE=y 1344CONFIG_BACKLIGHT_CLASS_DEVICE=y
1307# CONFIG_BACKLIGHT_CORGI is not set 1345# CONFIG_BACKLIGHT_CORGI is not set
1308 1346
@@ -1331,15 +1369,7 @@ CONFIG_FB_LOGO_EXTRA=y
1331CONFIG_LOGO_LINUX_MONO=y 1369CONFIG_LOGO_LINUX_MONO=y
1332CONFIG_LOGO_LINUX_VGA16=y 1370CONFIG_LOGO_LINUX_VGA16=y
1333CONFIG_LOGO_LINUX_CLUT224=y 1371CONFIG_LOGO_LINUX_CLUT224=y
1334
1335#
1336# Sound
1337#
1338CONFIG_SOUND=m 1372CONFIG_SOUND=m
1339
1340#
1341# Advanced Linux Sound Architecture
1342#
1343CONFIG_SND=m 1373CONFIG_SND=m
1344CONFIG_SND_TIMER=m 1374CONFIG_SND_TIMER=m
1345CONFIG_SND_PCM=m 1375CONFIG_SND_PCM=m
@@ -1355,19 +1385,13 @@ CONFIG_SND_SUPPORT_OLD_API=y
1355CONFIG_SND_VERBOSE_PROCFS=y 1385CONFIG_SND_VERBOSE_PROCFS=y
1356# CONFIG_SND_VERBOSE_PRINTK is not set 1386# CONFIG_SND_VERBOSE_PRINTK is not set
1357# CONFIG_SND_DEBUG is not set 1387# CONFIG_SND_DEBUG is not set
1358 1388CONFIG_SND_DRIVERS=y
1359#
1360# Generic devices
1361#
1362# CONFIG_SND_DUMMY is not set 1389# CONFIG_SND_DUMMY is not set
1363# CONFIG_SND_VIRMIDI is not set 1390# CONFIG_SND_VIRMIDI is not set
1364# CONFIG_SND_MTPAV is not set 1391# CONFIG_SND_MTPAV is not set
1365# CONFIG_SND_SERIAL_U16550 is not set 1392# CONFIG_SND_SERIAL_U16550 is not set
1366# CONFIG_SND_MPU401 is not set 1393# CONFIG_SND_MPU401 is not set
1367 1394CONFIG_SND_PCI=y
1368#
1369# PCI devices
1370#
1371# CONFIG_SND_AD1889 is not set 1395# CONFIG_SND_AD1889 is not set
1372# CONFIG_SND_ALS300 is not set 1396# CONFIG_SND_ALS300 is not set
1373# CONFIG_SND_ALS4000 is not set 1397# CONFIG_SND_ALS4000 is not set
@@ -1429,20 +1453,9 @@ CONFIG_SND_VERBOSE_PROCFS=y
1429# CONFIG_SND_VIRTUOSO is not set 1453# CONFIG_SND_VIRTUOSO is not set
1430# CONFIG_SND_VX222 is not set 1454# CONFIG_SND_VX222 is not set
1431# CONFIG_SND_YMFPCI is not set 1455# CONFIG_SND_YMFPCI is not set
1432 1456CONFIG_SND_PPC=y
1433#
1434# ALSA PowerMac devices
1435#
1436CONFIG_SND_POWERMAC=m 1457CONFIG_SND_POWERMAC=m
1437CONFIG_SND_POWERMAC_AUTO_DRC=y 1458CONFIG_SND_POWERMAC_AUTO_DRC=y
1438
1439#
1440# ALSA PowerPC devices
1441#
1442
1443#
1444# Apple Onboard Audio driver
1445#
1446CONFIG_SND_AOA=m 1459CONFIG_SND_AOA=m
1447CONFIG_SND_AOA_FABRIC_LAYOUT=m 1460CONFIG_SND_AOA_FABRIC_LAYOUT=m
1448CONFIG_SND_AOA_ONYX=m 1461CONFIG_SND_AOA_ONYX=m
@@ -1450,36 +1463,14 @@ CONFIG_SND_AOA_TAS=m
1450CONFIG_SND_AOA_TOONIE=m 1463CONFIG_SND_AOA_TOONIE=m
1451CONFIG_SND_AOA_SOUNDBUS=m 1464CONFIG_SND_AOA_SOUNDBUS=m
1452CONFIG_SND_AOA_SOUNDBUS_I2S=m 1465CONFIG_SND_AOA_SOUNDBUS_I2S=m
1453 1466CONFIG_SND_USB=y
1454#
1455# USB devices
1456#
1457# CONFIG_SND_USB_AUDIO is not set 1467# CONFIG_SND_USB_AUDIO is not set
1458# CONFIG_SND_USB_USX2Y is not set 1468# CONFIG_SND_USB_USX2Y is not set
1459# CONFIG_SND_USB_CAIAQ is not set 1469# CONFIG_SND_USB_CAIAQ is not set
1460 1470CONFIG_SND_PCMCIA=y
1461#
1462# PCMCIA devices
1463#
1464# CONFIG_SND_VXPOCKET is not set 1471# CONFIG_SND_VXPOCKET is not set
1465# CONFIG_SND_PDAUDIOCF is not set 1472# CONFIG_SND_PDAUDIOCF is not set
1466
1467#
1468# System on Chip audio support
1469#
1470# CONFIG_SND_SOC is not set 1473# CONFIG_SND_SOC is not set
1471
1472#
1473# ALSA SoC audio for Freescale SOCs
1474#
1475
1476#
1477# SoC Audio for the Texas Instruments OMAP
1478#
1479
1480#
1481# Open Sound System
1482#
1483# CONFIG_SOUND_PRIME is not set 1474# CONFIG_SOUND_PRIME is not set
1484CONFIG_HID_SUPPORT=y 1475CONFIG_HID_SUPPORT=y
1485CONFIG_HID=y 1476CONFIG_HID=y
@@ -1508,6 +1499,7 @@ CONFIG_USB_DEVICEFS=y
1508CONFIG_USB_DEVICE_CLASS=y 1499CONFIG_USB_DEVICE_CLASS=y
1509# CONFIG_USB_DYNAMIC_MINORS is not set 1500# CONFIG_USB_DYNAMIC_MINORS is not set
1510# CONFIG_USB_OTG is not set 1501# CONFIG_USB_OTG is not set
1502# CONFIG_USB_MON is not set
1511 1503
1512# 1504#
1513# USB Host Controller Drivers 1505# USB Host Controller Drivers
@@ -1556,6 +1548,7 @@ CONFIG_USB_STORAGE=m
1556# CONFIG_USB_STORAGE_ALAUDA is not set 1548# CONFIG_USB_STORAGE_ALAUDA is not set
1557# CONFIG_USB_STORAGE_ONETOUCH is not set 1549# CONFIG_USB_STORAGE_ONETOUCH is not set
1558# CONFIG_USB_STORAGE_KARMA is not set 1550# CONFIG_USB_STORAGE_KARMA is not set
1551# CONFIG_USB_STORAGE_SIERRA is not set
1559# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1552# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1560# CONFIG_USB_LIBUSUAL is not set 1553# CONFIG_USB_LIBUSUAL is not set
1561 1554
@@ -1564,7 +1557,6 @@ CONFIG_USB_STORAGE=m
1564# 1557#
1565# CONFIG_USB_MDC800 is not set 1558# CONFIG_USB_MDC800 is not set
1566# CONFIG_USB_MICROTEK is not set 1559# CONFIG_USB_MICROTEK is not set
1567# CONFIG_USB_MON is not set
1568 1560
1569# 1561#
1570# USB port drivers 1562# USB port drivers
@@ -1577,7 +1569,6 @@ CONFIG_USB_STORAGE=m
1577# CONFIG_USB_EMI62 is not set 1569# CONFIG_USB_EMI62 is not set
1578# CONFIG_USB_EMI26 is not set 1570# CONFIG_USB_EMI26 is not set
1579# CONFIG_USB_ADUTUX is not set 1571# CONFIG_USB_ADUTUX is not set
1580# CONFIG_USB_AUERSWALD is not set
1581# CONFIG_USB_RIO500 is not set 1572# CONFIG_USB_RIO500 is not set
1582# CONFIG_USB_LEGOTOWER is not set 1573# CONFIG_USB_LEGOTOWER is not set
1583# CONFIG_USB_LCD is not set 1574# CONFIG_USB_LCD is not set
@@ -1769,6 +1760,7 @@ CONFIG_HFSPLUS_FS=m
1769CONFIG_CRAMFS=y 1760CONFIG_CRAMFS=y
1770# CONFIG_VXFS_FS is not set 1761# CONFIG_VXFS_FS is not set
1771# CONFIG_MINIX_FS is not set 1762# CONFIG_MINIX_FS is not set
1763# CONFIG_OMFS_FS is not set
1772# CONFIG_HPFS_FS is not set 1764# CONFIG_HPFS_FS is not set
1773# CONFIG_QNX4FS_FS is not set 1765# CONFIG_QNX4FS_FS is not set
1774# CONFIG_ROMFS_FS is not set 1766# CONFIG_ROMFS_FS is not set
@@ -1779,12 +1771,12 @@ CONFIG_NFS_FS=y
1779CONFIG_NFS_V3=y 1771CONFIG_NFS_V3=y
1780CONFIG_NFS_V3_ACL=y 1772CONFIG_NFS_V3_ACL=y
1781CONFIG_NFS_V4=y 1773CONFIG_NFS_V4=y
1774CONFIG_ROOT_NFS=y
1782CONFIG_NFSD=m 1775CONFIG_NFSD=m
1783CONFIG_NFSD_V2_ACL=y 1776CONFIG_NFSD_V2_ACL=y
1784CONFIG_NFSD_V3=y 1777CONFIG_NFSD_V3=y
1785CONFIG_NFSD_V3_ACL=y 1778CONFIG_NFSD_V3_ACL=y
1786CONFIG_NFSD_V4=y 1779CONFIG_NFSD_V4=y
1787CONFIG_ROOT_NFS=y
1788CONFIG_LOCKD=y 1780CONFIG_LOCKD=y
1789CONFIG_LOCKD_V4=y 1781CONFIG_LOCKD_V4=y
1790CONFIG_EXPORTFS=m 1782CONFIG_EXPORTFS=m
@@ -1793,7 +1785,6 @@ CONFIG_NFS_COMMON=y
1793CONFIG_SUNRPC=y 1785CONFIG_SUNRPC=y
1794CONFIG_SUNRPC_GSS=y 1786CONFIG_SUNRPC_GSS=y
1795CONFIG_SUNRPC_XPRT_RDMA=m 1787CONFIG_SUNRPC_XPRT_RDMA=m
1796# CONFIG_SUNRPC_BIND34 is not set
1797CONFIG_RPCSEC_GSS_KRB5=y 1788CONFIG_RPCSEC_GSS_KRB5=y
1798CONFIG_RPCSEC_GSS_SPKM3=m 1789CONFIG_RPCSEC_GSS_SPKM3=m
1799# CONFIG_SMB_FS is not set 1790# CONFIG_SMB_FS is not set
@@ -1878,6 +1869,7 @@ CONFIG_BITREVERSE=y
1878# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1869# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1879CONFIG_CRC_CCITT=m 1870CONFIG_CRC_CCITT=m
1880# CONFIG_CRC16 is not set 1871# CONFIG_CRC16 is not set
1872CONFIG_CRC_T10DIF=y
1881CONFIG_CRC_ITU_T=m 1873CONFIG_CRC_ITU_T=m
1882CONFIG_CRC32=y 1874CONFIG_CRC32=y
1883# CONFIG_CRC7 is not set 1875# CONFIG_CRC7 is not set
@@ -1910,8 +1902,10 @@ CONFIG_DEBUG_FS=y
1910CONFIG_DEBUG_KERNEL=y 1902CONFIG_DEBUG_KERNEL=y
1911# CONFIG_DEBUG_SHIRQ is not set 1903# CONFIG_DEBUG_SHIRQ is not set
1912CONFIG_DETECT_SOFTLOCKUP=y 1904CONFIG_DETECT_SOFTLOCKUP=y
1905# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1906CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1913CONFIG_SCHED_DEBUG=y 1907CONFIG_SCHED_DEBUG=y
1914# CONFIG_SCHEDSTATS is not set 1908CONFIG_SCHEDSTATS=y
1915# CONFIG_TIMER_STATS is not set 1909# CONFIG_TIMER_STATS is not set
1916# CONFIG_DEBUG_OBJECTS is not set 1910# CONFIG_DEBUG_OBJECTS is not set
1917# CONFIG_SLUB_DEBUG_ON is not set 1911# CONFIG_SLUB_DEBUG_ON is not set
@@ -1923,28 +1917,47 @@ CONFIG_DEBUG_MUTEXES=y
1923# CONFIG_DEBUG_LOCK_ALLOC is not set 1917# CONFIG_DEBUG_LOCK_ALLOC is not set
1924# CONFIG_PROVE_LOCKING is not set 1918# CONFIG_PROVE_LOCKING is not set
1925# CONFIG_LOCK_STAT is not set 1919# CONFIG_LOCK_STAT is not set
1920CONFIG_TRACE_IRQFLAGS=y
1926# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1921# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1927# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1922# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1923CONFIG_STACKTRACE=y
1928# CONFIG_DEBUG_KOBJECT is not set 1924# CONFIG_DEBUG_KOBJECT is not set
1929CONFIG_DEBUG_BUGVERBOSE=y 1925CONFIG_DEBUG_BUGVERBOSE=y
1930# CONFIG_DEBUG_INFO is not set 1926# CONFIG_DEBUG_INFO is not set
1931# CONFIG_DEBUG_VM is not set 1927# CONFIG_DEBUG_VM is not set
1932# CONFIG_DEBUG_WRITECOUNT is not set 1928# CONFIG_DEBUG_WRITECOUNT is not set
1929CONFIG_DEBUG_MEMORY_INIT=y
1933# CONFIG_DEBUG_LIST is not set 1930# CONFIG_DEBUG_LIST is not set
1934# CONFIG_DEBUG_SG is not set 1931# CONFIG_DEBUG_SG is not set
1932CONFIG_FRAME_POINTER=y
1935# CONFIG_BOOT_PRINTK_DELAY is not set 1933# CONFIG_BOOT_PRINTK_DELAY is not set
1936# CONFIG_RCU_TORTURE_TEST is not set 1934# CONFIG_RCU_TORTURE_TEST is not set
1937# CONFIG_BACKTRACE_SELF_TEST is not set 1935# CONFIG_BACKTRACE_SELF_TEST is not set
1938# CONFIG_FAULT_INJECTION is not set 1936# CONFIG_FAULT_INJECTION is not set
1937CONFIG_LATENCYTOP=y
1938CONFIG_SYSCTL_SYSCALL_CHECK=y
1939CONFIG_HAVE_FTRACE=y
1940CONFIG_HAVE_DYNAMIC_FTRACE=y
1941CONFIG_TRACER_MAX_TRACE=y
1942CONFIG_TRACING=y
1943# CONFIG_FTRACE is not set
1944CONFIG_IRQSOFF_TRACER=y
1945CONFIG_SCHED_TRACER=y
1946CONFIG_CONTEXT_SWITCH_TRACER=y
1947# CONFIG_FTRACE_STARTUP_TEST is not set
1939# CONFIG_SAMPLES is not set 1948# CONFIG_SAMPLES is not set
1949CONFIG_HAVE_ARCH_KGDB=y
1950# CONFIG_KGDB is not set
1940CONFIG_DEBUG_STACKOVERFLOW=y 1951CONFIG_DEBUG_STACKOVERFLOW=y
1941CONFIG_DEBUG_STACK_USAGE=y 1952CONFIG_DEBUG_STACK_USAGE=y
1942# CONFIG_DEBUG_PAGEALLOC is not set 1953# CONFIG_DEBUG_PAGEALLOC is not set
1943# CONFIG_HCALL_STATS is not set 1954# CONFIG_HCALL_STATS is not set
1944CONFIG_DEBUGGER=y 1955# CONFIG_CODE_PATCHING_SELFTEST is not set
1956# CONFIG_FTR_FIXUP_SELFTEST is not set
1945CONFIG_XMON=y 1957CONFIG_XMON=y
1946# CONFIG_XMON_DEFAULT is not set 1958# CONFIG_XMON_DEFAULT is not set
1947CONFIG_XMON_DISASSEMBLY=y 1959CONFIG_XMON_DISASSEMBLY=y
1960CONFIG_DEBUGGER=y
1948CONFIG_IRQSTACKS=y 1961CONFIG_IRQSTACKS=y
1949# CONFIG_VIRQ_DEBUG is not set 1962# CONFIG_VIRQ_DEBUG is not set
1950CONFIG_BOOTX_TEXT=y 1963CONFIG_BOOTX_TEXT=y
@@ -2007,6 +2020,10 @@ CONFIG_CRYPTO_CRC32C=m
2007CONFIG_CRYPTO_MD4=m 2020CONFIG_CRYPTO_MD4=m
2008CONFIG_CRYPTO_MD5=y 2021CONFIG_CRYPTO_MD5=y
2009CONFIG_CRYPTO_MICHAEL_MIC=m 2022CONFIG_CRYPTO_MICHAEL_MIC=m
2023# CONFIG_CRYPTO_RMD128 is not set
2024# CONFIG_CRYPTO_RMD160 is not set
2025# CONFIG_CRYPTO_RMD256 is not set
2026# CONFIG_CRYPTO_RMD320 is not set
2010CONFIG_CRYPTO_SHA1=m 2027CONFIG_CRYPTO_SHA1=m
2011CONFIG_CRYPTO_SHA256=m 2028CONFIG_CRYPTO_SHA256=m
2012CONFIG_CRYPTO_SHA512=m 2029CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index e6e91c85da31..3c6dbdef56eb 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -1,8 +1,7 @@
1# powerpc
2# 1#
3# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
4# Linux kernel version: 2.6.26-git2 3# Linux kernel version: 2.6.27-rc4
5# Tue Jul 15 23:54:18 2008 4# Tue Aug 26 13:29:50 2008
6# 5#
7# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
8 7
@@ -112,7 +111,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
112CONFIG_SYSCTL=y 111CONFIG_SYSCTL=y
113# CONFIG_EMBEDDED is not set 112# CONFIG_EMBEDDED is not set
114CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
115CONFIG_SYSCTL_SYSCALL_CHECK=y
116CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
117CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
118CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -140,12 +138,17 @@ CONFIG_MARKERS=y
140CONFIG_OPROFILE=m 138CONFIG_OPROFILE=m
141CONFIG_HAVE_OPROFILE=y 139CONFIG_HAVE_OPROFILE=y
142CONFIG_KPROBES=y 140CONFIG_KPROBES=y
141CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
143CONFIG_KRETPROBES=y 142CONFIG_KRETPROBES=y
143CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 144CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 145CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y
146# CONFIG_HAVE_DMA_ATTRS is not set 147# CONFIG_HAVE_DMA_ATTRS is not set
147# CONFIG_USE_GENERIC_SMP_HELPERS is not set 148# CONFIG_USE_GENERIC_SMP_HELPERS is not set
149CONFIG_HAVE_CLK=y
148CONFIG_PROC_PAGE_MONITOR=y 150CONFIG_PROC_PAGE_MONITOR=y
151# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
149CONFIG_SLABINFO=y 152CONFIG_SLABINFO=y
150CONFIG_RT_MUTEXES=y 153CONFIG_RT_MUTEXES=y
151# CONFIG_TINY_SHMEM is not set 154# CONFIG_TINY_SHMEM is not set
@@ -266,7 +269,6 @@ CONFIG_TAU=y
266CONFIG_TAU_AVERAGE=y 269CONFIG_TAU_AVERAGE=y
267CONFIG_QUICC_ENGINE=y 270CONFIG_QUICC_ENGINE=y
268CONFIG_CPM2=y 271CONFIG_CPM2=y
269CONFIG_PPC_CPM_NEW_BINDING=y
270CONFIG_FSL_ULI1575=y 272CONFIG_FSL_ULI1575=y
271CONFIG_CPM=y 273CONFIG_CPM=y
272CONFIG_PPC_BESTCOMM=y 274CONFIG_PPC_BESTCOMM=y
@@ -287,7 +289,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
287# CONFIG_HZ_300 is not set 289# CONFIG_HZ_300 is not set
288CONFIG_HZ_1000=y 290CONFIG_HZ_1000=y
289CONFIG_HZ=1000 291CONFIG_HZ=1000
290# CONFIG_SCHED_HRTICK is not set 292CONFIG_SCHED_HRTICK=y
291# CONFIG_PREEMPT_NONE is not set 293# CONFIG_PREEMPT_NONE is not set
292CONFIG_PREEMPT_VOLUNTARY=y 294CONFIG_PREEMPT_VOLUNTARY=y
293# CONFIG_PREEMPT is not set 295# CONFIG_PREEMPT is not set
@@ -311,6 +313,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
311# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 313# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
312CONFIG_PAGEFLAGS_EXTENDED=y 314CONFIG_PAGEFLAGS_EXTENDED=y
313CONFIG_SPLIT_PTLOCK_CPUS=4 315CONFIG_SPLIT_PTLOCK_CPUS=4
316# CONFIG_MIGRATION is not set
314CONFIG_RESOURCES_64BIT=y 317CONFIG_RESOURCES_64BIT=y
315CONFIG_ZONE_DMA_FLAG=1 318CONFIG_ZONE_DMA_FLAG=1
316CONFIG_BOUNCE=y 319CONFIG_BOUNCE=y
@@ -326,6 +329,7 @@ CONFIG_PM_DEBUG=y
326CONFIG_CAN_PM_TRACE=y 329CONFIG_CAN_PM_TRACE=y
327CONFIG_PM_SLEEP=y 330CONFIG_PM_SLEEP=y
328CONFIG_SUSPEND=y 331CONFIG_SUSPEND=y
332# CONFIG_PM_TEST_SUSPEND is not set
329CONFIG_SUSPEND_FREEZER=y 333CONFIG_SUSPEND_FREEZER=y
330CONFIG_HIBERNATION=y 334CONFIG_HIBERNATION=y
331CONFIG_PM_STD_PARTITION="" 335CONFIG_PM_STD_PARTITION=""
@@ -344,6 +348,7 @@ CONFIG_FSL_SOC=y
344CONFIG_FSL_PCI=y 348CONFIG_FSL_PCI=y
345CONFIG_FSL_LBC=y 349CONFIG_FSL_LBC=y
346CONFIG_FSL_GTM=y 350CONFIG_FSL_GTM=y
351CONFIG_PPC_PCI_CHOICE=y
347CONFIG_PCI=y 352CONFIG_PCI=y
348CONFIG_PCI_DOMAINS=y 353CONFIG_PCI_DOMAINS=y
349CONFIG_PCI_SYSCALL=y 354CONFIG_PCI_SYSCALL=y
@@ -395,10 +400,6 @@ CONFIG_KERNEL_START=0xc0000000
395CONFIG_PHYSICAL_START=0x00000000 400CONFIG_PHYSICAL_START=0x00000000
396# CONFIG_TASK_SIZE_BOOL is not set 401# CONFIG_TASK_SIZE_BOOL is not set
397CONFIG_TASK_SIZE=0xc0000000 402CONFIG_TASK_SIZE=0xc0000000
398
399#
400# Networking
401#
402CONFIG_NET=y 403CONFIG_NET=y
403 404
404# 405#
@@ -412,6 +413,7 @@ CONFIG_XFRM_USER=y
412CONFIG_XFRM_SUB_POLICY=y 413CONFIG_XFRM_SUB_POLICY=y
413CONFIG_XFRM_MIGRATE=y 414CONFIG_XFRM_MIGRATE=y
414CONFIG_XFRM_STATISTICS=y 415CONFIG_XFRM_STATISTICS=y
416CONFIG_XFRM_IPCOMP=m
415CONFIG_NET_KEY=m 417CONFIG_NET_KEY=m
416CONFIG_NET_KEY_MIGRATE=y 418CONFIG_NET_KEY_MIGRATE=y
417CONFIG_INET=y 419CONFIG_INET=y
@@ -602,6 +604,7 @@ CONFIG_IP_NF_TARGET_ECN=m
602CONFIG_IP_NF_TARGET_TTL=m 604CONFIG_IP_NF_TARGET_TTL=m
603CONFIG_IP_NF_TARGET_CLUSTERIP=m 605CONFIG_IP_NF_TARGET_CLUSTERIP=m
604CONFIG_IP_NF_RAW=m 606CONFIG_IP_NF_RAW=m
607CONFIG_IP_NF_SECURITY=m
605CONFIG_IP_NF_ARPTABLES=m 608CONFIG_IP_NF_ARPTABLES=m
606CONFIG_IP_NF_ARPFILTER=m 609CONFIG_IP_NF_ARPFILTER=m
607CONFIG_IP_NF_ARP_MANGLE=m 610CONFIG_IP_NF_ARP_MANGLE=m
@@ -626,6 +629,7 @@ CONFIG_IP6_NF_TARGET_REJECT=m
626CONFIG_IP6_NF_MANGLE=m 629CONFIG_IP6_NF_MANGLE=m
627CONFIG_IP6_NF_TARGET_HL=m 630CONFIG_IP6_NF_TARGET_HL=m
628CONFIG_IP6_NF_RAW=m 631CONFIG_IP6_NF_RAW=m
632CONFIG_IP6_NF_SECURITY=m
629 633
630# 634#
631# DECnet: Netfilter Configuration 635# DECnet: Netfilter Configuration
@@ -643,6 +647,7 @@ CONFIG_BRIDGE_EBT_802_3=m
643CONFIG_BRIDGE_EBT_AMONG=m 647CONFIG_BRIDGE_EBT_AMONG=m
644CONFIG_BRIDGE_EBT_ARP=m 648CONFIG_BRIDGE_EBT_ARP=m
645CONFIG_BRIDGE_EBT_IP=m 649CONFIG_BRIDGE_EBT_IP=m
650CONFIG_BRIDGE_EBT_IP6=m
646CONFIG_BRIDGE_EBT_LIMIT=m 651CONFIG_BRIDGE_EBT_LIMIT=m
647CONFIG_BRIDGE_EBT_MARK=m 652CONFIG_BRIDGE_EBT_MARK=m
648CONFIG_BRIDGE_EBT_PKTTYPE=m 653CONFIG_BRIDGE_EBT_PKTTYPE=m
@@ -691,8 +696,10 @@ CONFIG_ATM_LANE=m
691# CONFIG_ATM_MPOA is not set 696# CONFIG_ATM_MPOA is not set
692CONFIG_ATM_BR2684=m 697CONFIG_ATM_BR2684=m
693# CONFIG_ATM_BR2684_IPFILTER is not set 698# CONFIG_ATM_BR2684_IPFILTER is not set
699CONFIG_STP=m
694CONFIG_BRIDGE=m 700CONFIG_BRIDGE=m
695CONFIG_VLAN_8021Q=m 701CONFIG_VLAN_8021Q=m
702# CONFIG_VLAN_8021Q_GVRP is not set
696CONFIG_DECNET=m 703CONFIG_DECNET=m
697CONFIG_DECNET_ROUTER=y 704CONFIG_DECNET_ROUTER=y
698CONFIG_LLC=m 705CONFIG_LLC=m
@@ -832,6 +839,7 @@ CONFIG_BT_HIDP=m
832# 839#
833CONFIG_BT_HCIUSB=m 840CONFIG_BT_HCIUSB=m
834CONFIG_BT_HCIUSB_SCO=y 841CONFIG_BT_HCIUSB_SCO=y
842# CONFIG_BT_HCIBTUSB is not set
835CONFIG_BT_HCIUART=m 843CONFIG_BT_HCIUART=m
836CONFIG_BT_HCIUART_H4=y 844CONFIG_BT_HCIUART_H4=y
837CONFIG_BT_HCIUART_BCSP=y 845CONFIG_BT_HCIUART_BCSP=y
@@ -855,7 +863,6 @@ CONFIG_NL80211=y
855CONFIG_WIRELESS_EXT=y 863CONFIG_WIRELESS_EXT=y
856CONFIG_WIRELESS_EXT_SYSFS=y 864CONFIG_WIRELESS_EXT_SYSFS=y
857CONFIG_MAC80211=m 865CONFIG_MAC80211=m
858CONFIG_MAC80211_QOS=y
859 866
860# 867#
861# Rate control algorithm selection 868# Rate control algorithm selection
@@ -941,12 +948,14 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8
941# CONFIG_CDROM_PKTCDVD_WCACHE is not set 948# CONFIG_CDROM_PKTCDVD_WCACHE is not set
942# CONFIG_ATA_OVER_ETH is not set 949# CONFIG_ATA_OVER_ETH is not set
943CONFIG_VIRTIO_BLK=m 950CONFIG_VIRTIO_BLK=m
951CONFIG_BLK_DEV_HD=y
944CONFIG_MISC_DEVICES=y 952CONFIG_MISC_DEVICES=y
945# CONFIG_PHANTOM is not set 953# CONFIG_PHANTOM is not set
946CONFIG_EEPROM_93CX6=m 954CONFIG_EEPROM_93CX6=m
947# CONFIG_SGI_IOC4 is not set 955# CONFIG_SGI_IOC4 is not set
948# CONFIG_TIFM_CORE is not set 956# CONFIG_TIFM_CORE is not set
949CONFIG_ENCLOSURE_SERVICES=m 957CONFIG_ENCLOSURE_SERVICES=m
958# CONFIG_HP_ILO is not set
950CONFIG_HAVE_IDE=y 959CONFIG_HAVE_IDE=y
951CONFIG_IDE=y 960CONFIG_IDE=y
952CONFIG_BLK_DEV_IDE=y 961CONFIG_BLK_DEV_IDE=y
@@ -954,6 +963,7 @@ CONFIG_BLK_DEV_IDE=y
954# 963#
955# Please see Documentation/ide/ide.txt for help/info on IDE drives 964# Please see Documentation/ide/ide.txt for help/info on IDE drives
956# 965#
966CONFIG_IDE_TIMINGS=y
957CONFIG_IDE_ATAPI=y 967CONFIG_IDE_ATAPI=y
958# CONFIG_BLK_DEV_IDE_SATA is not set 968# CONFIG_BLK_DEV_IDE_SATA is not set
959CONFIG_BLK_DEV_IDEDISK=y 969CONFIG_BLK_DEV_IDEDISK=y
@@ -971,7 +981,6 @@ CONFIG_IDE_PROC_FS=y
971# 981#
972# IDE chipset support/bugfixes 982# IDE chipset support/bugfixes
973# 983#
974# CONFIG_IDE_GENERIC is not set
975# CONFIG_BLK_DEV_PLATFORM is not set 984# CONFIG_BLK_DEV_PLATFORM is not set
976# CONFIG_BLK_DEV_IDEPNP is not set 985# CONFIG_BLK_DEV_IDEPNP is not set
977CONFIG_BLK_DEV_IDEDMA_SFF=y 986CONFIG_BLK_DEV_IDEDMA_SFF=y
@@ -990,10 +999,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
990# CONFIG_BLK_DEV_AMD74XX is not set 999# CONFIG_BLK_DEV_AMD74XX is not set
991# CONFIG_BLK_DEV_CMD64X is not set 1000# CONFIG_BLK_DEV_CMD64X is not set
992# CONFIG_BLK_DEV_TRIFLEX is not set 1001# CONFIG_BLK_DEV_TRIFLEX is not set
993# CONFIG_BLK_DEV_CY82C693 is not set
994# CONFIG_BLK_DEV_CS5520 is not set 1002# CONFIG_BLK_DEV_CS5520 is not set
995# CONFIG_BLK_DEV_CS5530 is not set 1003# CONFIG_BLK_DEV_CS5530 is not set
996# CONFIG_BLK_DEV_HPT34X is not set
997# CONFIG_BLK_DEV_HPT366 is not set 1004# CONFIG_BLK_DEV_HPT366 is not set
998# CONFIG_BLK_DEV_JMICRON is not set 1005# CONFIG_BLK_DEV_JMICRON is not set
999# CONFIG_BLK_DEV_SC1200 is not set 1006# CONFIG_BLK_DEV_SC1200 is not set
@@ -1014,8 +1021,6 @@ CONFIG_BLK_DEV_IDE_PMAC=y
1014CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 1021CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
1015CONFIG_BLK_DEV_IDEDMA_PMAC=y 1022CONFIG_BLK_DEV_IDEDMA_PMAC=y
1016CONFIG_BLK_DEV_IDEDMA=y 1023CONFIG_BLK_DEV_IDEDMA=y
1017CONFIG_BLK_DEV_HD_ONLY=y
1018CONFIG_BLK_DEV_HD=y
1019 1024
1020# 1025#
1021# SCSI device support 1026# SCSI device support
@@ -1125,6 +1130,7 @@ CONFIG_SCSI_DH=y
1125CONFIG_SCSI_DH_RDAC=m 1130CONFIG_SCSI_DH_RDAC=m
1126CONFIG_SCSI_DH_HP_SW=m 1131CONFIG_SCSI_DH_HP_SW=m
1127CONFIG_SCSI_DH_EMC=m 1132CONFIG_SCSI_DH_EMC=m
1133# CONFIG_SCSI_DH_ALUA is not set
1128CONFIG_ATA=y 1134CONFIG_ATA=y
1129# CONFIG_ATA_NONSTANDARD is not set 1135# CONFIG_ATA_NONSTANDARD is not set
1130# CONFIG_SATA_PMP is not set 1136# CONFIG_SATA_PMP is not set
@@ -1246,7 +1252,6 @@ CONFIG_WINDFARM=y
1246# CONFIG_ANSLCD is not set 1252# CONFIG_ANSLCD is not set
1247CONFIG_PMAC_RACKMETER=m 1253CONFIG_PMAC_RACKMETER=m
1248CONFIG_NETDEVICES=y 1254CONFIG_NETDEVICES=y
1249CONFIG_NETDEVICES_MULTIQUEUE=y
1250CONFIG_IFB=m 1255CONFIG_IFB=m
1251CONFIG_DUMMY=m 1256CONFIG_DUMMY=m
1252CONFIG_BONDING=m 1257CONFIG_BONDING=m
@@ -1256,7 +1261,7 @@ CONFIG_TUN=m
1256CONFIG_VETH=m 1261CONFIG_VETH=m
1257CONFIG_NET_SB1000=m 1262CONFIG_NET_SB1000=m
1258# CONFIG_ARCNET is not set 1263# CONFIG_ARCNET is not set
1259CONFIG_PHYLIB=m 1264CONFIG_PHYLIB=y
1260 1265
1261# 1266#
1262# MII PHY device drivers 1267# MII PHY device drivers
@@ -1271,7 +1276,9 @@ CONFIG_SMSC_PHY=m
1271CONFIG_BROADCOM_PHY=m 1276CONFIG_BROADCOM_PHY=m
1272CONFIG_ICPLUS_PHY=m 1277CONFIG_ICPLUS_PHY=m
1273CONFIG_REALTEK_PHY=m 1278CONFIG_REALTEK_PHY=m
1279# CONFIG_FIXED_PHY is not set
1274CONFIG_MDIO_BITBANG=y 1280CONFIG_MDIO_BITBANG=y
1281# CONFIG_MDIO_OF_GPIO is not set
1275CONFIG_NET_ETHERNET=y 1282CONFIG_NET_ETHERNET=y
1276CONFIG_MII=m 1283CONFIG_MII=m
1277CONFIG_MACE=m 1284CONFIG_MACE=m
@@ -1328,9 +1335,7 @@ CONFIG_NE2000=m
1328CONFIG_NET_PCI=y 1335CONFIG_NET_PCI=y
1329CONFIG_PCNET32=m 1336CONFIG_PCNET32=m
1330CONFIG_AMD8111_ETH=m 1337CONFIG_AMD8111_ETH=m
1331CONFIG_AMD8111E_NAPI=y
1332CONFIG_ADAPTEC_STARFIRE=m 1338CONFIG_ADAPTEC_STARFIRE=m
1333CONFIG_ADAPTEC_STARFIRE_NAPI=y
1334# CONFIG_AC3200 is not set 1339# CONFIG_AC3200 is not set
1335# CONFIG_APRICOT is not set 1340# CONFIG_APRICOT is not set
1336CONFIG_B44=m 1341CONFIG_B44=m
@@ -1359,7 +1364,6 @@ CONFIG_SUNDANCE=m
1359CONFIG_TLAN=m 1364CONFIG_TLAN=m
1360CONFIG_VIA_RHINE=m 1365CONFIG_VIA_RHINE=m
1361CONFIG_VIA_RHINE_MMIO=y 1366CONFIG_VIA_RHINE_MMIO=y
1362CONFIG_VIA_RHINE_NAPI=y
1363CONFIG_SC92031=m 1367CONFIG_SC92031=m
1364CONFIG_NET_POCKET=y 1368CONFIG_NET_POCKET=y
1365CONFIG_DE600=m 1369CONFIG_DE600=m
@@ -1372,17 +1376,15 @@ CONFIG_ACENIC=m
1372# CONFIG_ACENIC_OMIT_TIGON_I is not set 1376# CONFIG_ACENIC_OMIT_TIGON_I is not set
1373CONFIG_DL2K=m 1377CONFIG_DL2K=m
1374CONFIG_E1000=m 1378CONFIG_E1000=m
1375CONFIG_E1000_NAPI=y
1376# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 1379# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
1377CONFIG_E1000E=m 1380CONFIG_E1000E=m
1378CONFIG_E1000E_ENABLED=y
1379CONFIG_IP1000=m 1381CONFIG_IP1000=m
1380CONFIG_IGB=m 1382CONFIG_IGB=m
1383CONFIG_IGB_LRO=y
1381CONFIG_NS83820=m 1384CONFIG_NS83820=m
1382CONFIG_HAMACHI=m 1385CONFIG_HAMACHI=m
1383CONFIG_YELLOWFIN=m 1386CONFIG_YELLOWFIN=m
1384CONFIG_R8169=m 1387CONFIG_R8169=m
1385CONFIG_R8169_NAPI=y
1386CONFIG_R8169_VLAN=y 1388CONFIG_R8169_VLAN=y
1387CONFIG_SIS190=m 1389CONFIG_SIS190=m
1388CONFIG_SKGE=m 1390CONFIG_SKGE=m
@@ -1393,21 +1395,18 @@ CONFIG_VIA_VELOCITY=m
1393CONFIG_TIGON3=m 1395CONFIG_TIGON3=m
1394CONFIG_BNX2=m 1396CONFIG_BNX2=m
1395CONFIG_GIANFAR=m 1397CONFIG_GIANFAR=m
1396CONFIG_GFAR_NAPI=y
1397# CONFIG_UCC_GETH is not set 1398# CONFIG_UCC_GETH is not set
1398CONFIG_MV643XX_ETH=m 1399CONFIG_MV643XX_ETH=m
1399CONFIG_QLA3XXX=m 1400CONFIG_QLA3XXX=m
1400CONFIG_ATL1=m 1401CONFIG_ATL1=m
1402# CONFIG_ATL1E is not set
1401CONFIG_NETDEV_10000=y 1403CONFIG_NETDEV_10000=y
1402CONFIG_CHELSIO_T1=m 1404CONFIG_CHELSIO_T1=m
1403CONFIG_CHELSIO_T1_1G=y 1405CONFIG_CHELSIO_T1_1G=y
1404CONFIG_CHELSIO_T1_NAPI=y
1405CONFIG_CHELSIO_T3=m 1406CONFIG_CHELSIO_T3=m
1406CONFIG_IXGBE=m 1407CONFIG_IXGBE=m
1407CONFIG_IXGB=m 1408CONFIG_IXGB=m
1408CONFIG_IXGB_NAPI=y
1409CONFIG_S2IO=m 1409CONFIG_S2IO=m
1410CONFIG_S2IO_NAPI=y
1411CONFIG_MYRI10GE=m 1410CONFIG_MYRI10GE=m
1412CONFIG_NETXEN_NIC=m 1411CONFIG_NETXEN_NIC=m
1413CONFIG_NIU=m 1412CONFIG_NIU=m
@@ -1477,8 +1476,7 @@ CONFIG_ATM_IDT77252_USE_SUNI=y
1477# CONFIG_ATM_AMBASSADOR is not set 1476# CONFIG_ATM_AMBASSADOR is not set
1478# CONFIG_ATM_HORIZON is not set 1477# CONFIG_ATM_HORIZON is not set
1479# CONFIG_ATM_IA is not set 1478# CONFIG_ATM_IA is not set
1480CONFIG_ATM_FORE200E_MAYBE=m 1479# CONFIG_ATM_FORE200E is not set
1481# CONFIG_ATM_FORE200E_PCA is not set
1482CONFIG_ATM_HE=m 1480CONFIG_ATM_HE=m
1483# CONFIG_ATM_HE_USE_SUNI is not set 1481# CONFIG_ATM_HE_USE_SUNI is not set
1484CONFIG_FDDI=y 1482CONFIG_FDDI=y
@@ -1551,6 +1549,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
1551# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1549# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1552CONFIG_MOUSE_SERIAL=m 1550CONFIG_MOUSE_SERIAL=m
1553CONFIG_MOUSE_APPLETOUCH=m 1551CONFIG_MOUSE_APPLETOUCH=m
1552# CONFIG_MOUSE_BCM5974 is not set
1554# CONFIG_MOUSE_INPORT is not set 1553# CONFIG_MOUSE_INPORT is not set
1555# CONFIG_MOUSE_LOGIBM is not set 1554# CONFIG_MOUSE_LOGIBM is not set
1556# CONFIG_MOUSE_PC110PAD is not set 1555# CONFIG_MOUSE_PC110PAD is not set
@@ -1611,33 +1610,18 @@ CONFIG_SERIO_SERPORT=y
1611# CONFIG_SERIO_PCIPS2 is not set 1610# CONFIG_SERIO_PCIPS2 is not set
1612CONFIG_SERIO_LIBPS2=y 1611CONFIG_SERIO_LIBPS2=y
1613CONFIG_SERIO_RAW=m 1612CONFIG_SERIO_RAW=m
1613# CONFIG_SERIO_XILINX_XPS_PS2 is not set
1614CONFIG_GAMEPORT=m 1614CONFIG_GAMEPORT=m
1615CONFIG_GAMEPORT_NS558=m 1615CONFIG_GAMEPORT_NS558=m
1616CONFIG_GAMEPORT_L4=m 1616CONFIG_GAMEPORT_L4=m
1617CONFIG_GAMEPORT_EMU10K1=m 1617CONFIG_GAMEPORT_EMU10K1=m
1618CONFIG_GAMEPORT_FM801=m 1618CONFIG_GAMEPORT_FM801=m
1619CONFIG_INPUT_LIRC=y
1620CONFIG_LIRC_DEV=m
1621CONFIG_LIRC_ATIUSB=m
1622CONFIG_LIRC_BT829=m
1623CONFIG_LIRC_CMDIR=m
1624CONFIG_LIRC_I2C=m
1625CONFIG_LIRC_IGORPLUGUSB=m
1626CONFIG_LIRC_IMON=m
1627CONFIG_LIRC_IT87=m
1628CONFIG_LIRC_MCEUSB=m
1629CONFIG_LIRC_MCEUSB2=m
1630CONFIG_LIRC_PVR150=m
1631CONFIG_LIRC_PARALLEL=m
1632CONFIG_LIRC_SERIAL=m
1633CONFIG_LIRC_SIR=m
1634CONFIG_LIRC_STREAMZAP=m
1635CONFIG_LIRC_TTUSBIR=m
1636 1619
1637# 1620#
1638# Character devices 1621# Character devices
1639# 1622#
1640CONFIG_VT=y 1623CONFIG_VT=y
1624CONFIG_CONSOLE_TRANSLATIONS=y
1641CONFIG_VT_CONSOLE=y 1625CONFIG_VT_CONSOLE=y
1642CONFIG_HW_CONSOLE=y 1626CONFIG_HW_CONSOLE=y
1643CONFIG_VT_HW_CONSOLE_BINDING=y 1627CONFIG_VT_HW_CONSOLE_BINDING=y
@@ -1701,12 +1685,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
1701# CONFIG_SERIAL_QE is not set 1685# CONFIG_SERIAL_QE is not set
1702CONFIG_UNIX98_PTYS=y 1686CONFIG_UNIX98_PTYS=y
1703# CONFIG_LEGACY_PTYS is not set 1687# CONFIG_LEGACY_PTYS is not set
1704# CONFIG_CRASH is not set
1705CONFIG_BRIQ_PANEL=m 1688CONFIG_BRIQ_PANEL=m
1706CONFIG_PRINTER=m 1689CONFIG_PRINTER=m
1707CONFIG_LP_CONSOLE=y 1690CONFIG_LP_CONSOLE=y
1708CONFIG_PPDEV=m 1691CONFIG_PPDEV=m
1709# CONFIG_HVC_RTAS is not set 1692# CONFIG_HVC_RTAS is not set
1693# CONFIG_VIRTIO_CONSOLE is not set
1710# CONFIG_IPMI_HANDLER is not set 1694# CONFIG_IPMI_HANDLER is not set
1711CONFIG_HW_RANDOM=y 1695CONFIG_HW_RANDOM=y
1712CONFIG_HW_RANDOM_VIRTIO=m 1696CONFIG_HW_RANDOM_VIRTIO=m
@@ -1728,6 +1712,7 @@ CONFIG_DEVPORT=y
1728CONFIG_I2C=y 1712CONFIG_I2C=y
1729CONFIG_I2C_BOARDINFO=y 1713CONFIG_I2C_BOARDINFO=y
1730CONFIG_I2C_CHARDEV=m 1714CONFIG_I2C_CHARDEV=m
1715CONFIG_I2C_HELPER_AUTO=y
1731CONFIG_I2C_ALGOBIT=y 1716CONFIG_I2C_ALGOBIT=y
1732CONFIG_I2C_ALGOPCA=m 1717CONFIG_I2C_ALGOPCA=m
1733 1718
@@ -1807,20 +1792,24 @@ CONFIG_SENSORS_TSL2550=m
1807# CONFIG_I2C_DEBUG_BUS is not set 1792# CONFIG_I2C_DEBUG_BUS is not set
1808# CONFIG_I2C_DEBUG_CHIP is not set 1793# CONFIG_I2C_DEBUG_CHIP is not set
1809# CONFIG_SPI is not set 1794# CONFIG_SPI is not set
1810CONFIG_HAVE_GPIO_LIB=y 1795CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1811 1796CONFIG_ARCH_REQUIRE_GPIOLIB=y
1812# 1797CONFIG_GPIOLIB=y
1813# GPIO Support
1814#
1815# CONFIG_DEBUG_GPIO is not set 1798# CONFIG_DEBUG_GPIO is not set
1799CONFIG_GPIO_SYSFS=y
1816 1800
1817# 1801#
1818# I2C GPIO expanders: 1802# I2C GPIO expanders:
1819# 1803#
1804# CONFIG_GPIO_MAX732X is not set
1820# CONFIG_GPIO_PCA953X is not set 1805# CONFIG_GPIO_PCA953X is not set
1821# CONFIG_GPIO_PCF857X is not set 1806# CONFIG_GPIO_PCF857X is not set
1822 1807
1823# 1808#
1809# PCI GPIO expanders:
1810#
1811
1812#
1824# SPI GPIO expanders: 1813# SPI GPIO expanders:
1825# 1814#
1826CONFIG_W1=m 1815CONFIG_W1=m
@@ -1850,6 +1839,7 @@ CONFIG_APM_POWER=m
1850CONFIG_BATTERY_PMU=m 1839CONFIG_BATTERY_PMU=m
1851CONFIG_HWMON=m 1840CONFIG_HWMON=m
1852CONFIG_HWMON_VID=m 1841CONFIG_HWMON_VID=m
1842# CONFIG_SENSORS_AD7414 is not set
1853CONFIG_SENSORS_AD7418=m 1843CONFIG_SENSORS_AD7418=m
1854CONFIG_SENSORS_ADM1021=m 1844CONFIG_SENSORS_ADM1021=m
1855CONFIG_SENSORS_ADM1025=m 1845CONFIG_SENSORS_ADM1025=m
@@ -1913,8 +1903,9 @@ CONFIG_WATCHDOG=y
1913# Watchdog Device Drivers 1903# Watchdog Device Drivers
1914# 1904#
1915CONFIG_SOFT_WATCHDOG=m 1905CONFIG_SOFT_WATCHDOG=m
1906# CONFIG_ALIM7101_WDT is not set
1916# CONFIG_MPC5200_WDT is not set 1907# CONFIG_MPC5200_WDT is not set
1917CONFIG_83xx_WDT=m 1908# CONFIG_8xxx_WDT is not set
1918CONFIG_WATCHDOG_RTAS=m 1909CONFIG_WATCHDOG_RTAS=m
1919 1910
1920# 1911#
@@ -1953,8 +1944,10 @@ CONFIG_SSB_DRIVER_PCICORE=y
1953# 1944#
1954# Multifunction device drivers 1945# Multifunction device drivers
1955# 1946#
1947# CONFIG_MFD_CORE is not set
1956CONFIG_MFD_SM501=m 1948CONFIG_MFD_SM501=m
1957# CONFIG_HTC_PASIC3 is not set 1949# CONFIG_HTC_PASIC3 is not set
1950# CONFIG_MFD_TMIO is not set
1958 1951
1959# 1952#
1960# Multimedia devices 1953# Multimedia devices
@@ -1993,6 +1986,7 @@ CONFIG_MEDIA_TUNER_QT1010=m
1993CONFIG_MEDIA_TUNER_XC2028=m 1986CONFIG_MEDIA_TUNER_XC2028=m
1994CONFIG_MEDIA_TUNER_XC5000=m 1987CONFIG_MEDIA_TUNER_XC5000=m
1995CONFIG_MEDIA_TUNER_MXL5005S=m 1988CONFIG_MEDIA_TUNER_MXL5005S=m
1989CONFIG_MEDIA_TUNER_MXL5007T=m
1996CONFIG_VIDEO_V4L2=m 1990CONFIG_VIDEO_V4L2=m
1997CONFIG_VIDEO_V4L1=m 1991CONFIG_VIDEO_V4L1=m
1998CONFIG_VIDEOBUF_GEN=m 1992CONFIG_VIDEOBUF_GEN=m
@@ -2000,13 +1994,13 @@ CONFIG_VIDEOBUF_DMA_SG=m
2000CONFIG_VIDEOBUF_VMALLOC=m 1994CONFIG_VIDEOBUF_VMALLOC=m
2001CONFIG_VIDEOBUF_DVB=m 1995CONFIG_VIDEOBUF_DVB=m
2002CONFIG_VIDEO_BTCX=m 1996CONFIG_VIDEO_BTCX=m
2003CONFIG_VIDEO_IR_I2C=m
2004CONFIG_VIDEO_IR=m 1997CONFIG_VIDEO_IR=m
2005CONFIG_VIDEO_TVEEPROM=m 1998CONFIG_VIDEO_TVEEPROM=m
2006CONFIG_VIDEO_TUNER=m 1999CONFIG_VIDEO_TUNER=m
2007CONFIG_VIDEO_CAPTURE_DRIVERS=y 2000CONFIG_VIDEO_CAPTURE_DRIVERS=y
2008# CONFIG_VIDEO_ADV_DEBUG is not set 2001# CONFIG_VIDEO_ADV_DEBUG is not set
2009# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set 2002# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
2003CONFIG_VIDEO_IR_I2C=m
2010 2004
2011# 2005#
2012# Encoders/decoders and other helper chips 2006# Encoders/decoders and other helper chips
@@ -2108,6 +2102,8 @@ CONFIG_VIDEO_CX18=m
2108# CONFIG_VIDEO_CAFE_CCIC is not set 2102# CONFIG_VIDEO_CAFE_CCIC is not set
2109CONFIG_V4L_USB_DRIVERS=y 2103CONFIG_V4L_USB_DRIVERS=y
2110CONFIG_USB_VIDEO_CLASS=m 2104CONFIG_USB_VIDEO_CLASS=m
2105CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
2106CONFIG_USB_GSPCA=m
2111CONFIG_VIDEO_PVRUSB2=m 2107CONFIG_VIDEO_PVRUSB2=m
2112CONFIG_VIDEO_PVRUSB2_SYSFS=y 2108CONFIG_VIDEO_PVRUSB2_SYSFS=y
2113CONFIG_VIDEO_PVRUSB2_DVB=y 2109CONFIG_VIDEO_PVRUSB2_DVB=y
@@ -2133,11 +2129,14 @@ CONFIG_USB_PWC=m
2133# CONFIG_USB_PWC_DEBUG is not set 2129# CONFIG_USB_PWC_DEBUG is not set
2134CONFIG_USB_ZR364XX=m 2130CONFIG_USB_ZR364XX=m
2135CONFIG_USB_STKWEBCAM=m 2131CONFIG_USB_STKWEBCAM=m
2132# CONFIG_USB_S2255 is not set
2136CONFIG_SOC_CAMERA=m 2133CONFIG_SOC_CAMERA=m
2137CONFIG_SOC_CAMERA_MT9M001=m 2134CONFIG_SOC_CAMERA_MT9M001=m
2138# CONFIG_MT9M001_PCA9536_SWITCH is not set 2135# CONFIG_MT9M001_PCA9536_SWITCH is not set
2139CONFIG_SOC_CAMERA_MT9V022=m 2136CONFIG_SOC_CAMERA_MT9V022=m
2140# CONFIG_MT9V022_PCA9536_SWITCH is not set 2137# CONFIG_MT9V022_PCA9536_SWITCH is not set
2138# CONFIG_SOC_CAMERA_PLATFORM is not set
2139# CONFIG_VIDEO_SH_MOBILE_CEU is not set
2141CONFIG_RADIO_ADAPTERS=y 2140CONFIG_RADIO_ADAPTERS=y
2142# CONFIG_RADIO_CADET is not set 2141# CONFIG_RADIO_CADET is not set
2143# CONFIG_RADIO_RTRACK is not set 2142# CONFIG_RADIO_RTRACK is not set
@@ -2194,6 +2193,8 @@ CONFIG_DVB_USB_DTT200U=m
2194CONFIG_DVB_USB_OPERA1=m 2193CONFIG_DVB_USB_OPERA1=m
2195CONFIG_DVB_USB_AF9005=m 2194CONFIG_DVB_USB_AF9005=m
2196CONFIG_DVB_USB_AF9005_REMOTE=m 2195CONFIG_DVB_USB_AF9005_REMOTE=m
2196# CONFIG_DVB_USB_DW2102 is not set
2197# CONFIG_DVB_USB_ANYSEE is not set
2197CONFIG_DVB_TTUSB_BUDGET=m 2198CONFIG_DVB_TTUSB_BUDGET=m
2198CONFIG_DVB_TTUSB_DEC=m 2199CONFIG_DVB_TTUSB_DEC=m
2199CONFIG_DVB_CINERGYT2=m 2200CONFIG_DVB_CINERGYT2=m
@@ -2203,6 +2204,7 @@ CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512
2203CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250 2204CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250
2204CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y 2205CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y
2205CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100 2206CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100
2207# CONFIG_DVB_SIANO_SMS1XXX is not set
2206 2208
2207# 2209#
2208# Supported FlexCopII (B2C2) Adapters 2210# Supported FlexCopII (B2C2) Adapters
@@ -2253,6 +2255,7 @@ CONFIG_DVB_SP8870=m
2253CONFIG_DVB_SP887X=m 2255CONFIG_DVB_SP887X=m
2254CONFIG_DVB_CX22700=m 2256CONFIG_DVB_CX22700=m
2255CONFIG_DVB_CX22702=m 2257CONFIG_DVB_CX22702=m
2258# CONFIG_DVB_DRX397XD is not set
2256CONFIG_DVB_L64781=m 2259CONFIG_DVB_L64781=m
2257CONFIG_DVB_TDA1004X=m 2260CONFIG_DVB_TDA1004X=m
2258CONFIG_DVB_NXT6000=m 2261CONFIG_DVB_NXT6000=m
@@ -2389,12 +2392,15 @@ CONFIG_FB_TRIDENT=m
2389CONFIG_FB_TRIDENT_ACCEL=y 2392CONFIG_FB_TRIDENT_ACCEL=y
2390# CONFIG_FB_ARK is not set 2393# CONFIG_FB_ARK is not set
2391# CONFIG_FB_PM3 is not set 2394# CONFIG_FB_PM3 is not set
2395# CONFIG_FB_CARMINE is not set
2392# CONFIG_FB_FSL_DIU is not set 2396# CONFIG_FB_FSL_DIU is not set
2393CONFIG_FB_SM501=m 2397CONFIG_FB_SM501=m
2394CONFIG_FB_IBM_GXT4500=y 2398CONFIG_FB_IBM_GXT4500=y
2395# CONFIG_FB_VIRTUAL is not set 2399# CONFIG_FB_VIRTUAL is not set
2396CONFIG_BACKLIGHT_LCD_SUPPORT=y 2400CONFIG_BACKLIGHT_LCD_SUPPORT=y
2397CONFIG_LCD_CLASS_DEVICE=m 2401CONFIG_LCD_CLASS_DEVICE=m
2402# CONFIG_LCD_ILI9320 is not set
2403CONFIG_LCD_PLATFORM=m
2398CONFIG_BACKLIGHT_CLASS_DEVICE=y 2404CONFIG_BACKLIGHT_CLASS_DEVICE=y
2399# CONFIG_BACKLIGHT_CORGI is not set 2405# CONFIG_BACKLIGHT_CORGI is not set
2400 2406
@@ -2613,6 +2619,7 @@ CONFIG_USB_DEVICEFS=y
2613# CONFIG_USB_DYNAMIC_MINORS is not set 2619# CONFIG_USB_DYNAMIC_MINORS is not set
2614CONFIG_USB_SUSPEND=y 2620CONFIG_USB_SUSPEND=y
2615# CONFIG_USB_OTG is not set 2621# CONFIG_USB_OTG is not set
2622CONFIG_USB_MON=y
2616 2623
2617# 2624#
2618# USB Host Controller Drivers 2625# USB Host Controller Drivers
@@ -2640,6 +2647,7 @@ CONFIG_USB_U132_HCD=m
2640CONFIG_USB_SL811_HCD=m 2647CONFIG_USB_SL811_HCD=m
2641# CONFIG_USB_SL811_CS is not set 2648# CONFIG_USB_SL811_CS is not set
2642# CONFIG_USB_R8A66597_HCD is not set 2649# CONFIG_USB_R8A66597_HCD is not set
2650# CONFIG_USB_MUSB_HDRC is not set
2643 2651
2644# 2652#
2645# USB Device Class drivers 2653# USB Device Class drivers
@@ -2668,6 +2676,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
2668CONFIG_USB_STORAGE_ALAUDA=y 2676CONFIG_USB_STORAGE_ALAUDA=y
2669CONFIG_USB_STORAGE_ONETOUCH=y 2677CONFIG_USB_STORAGE_ONETOUCH=y
2670CONFIG_USB_STORAGE_KARMA=y 2678CONFIG_USB_STORAGE_KARMA=y
2679# CONFIG_USB_STORAGE_SIERRA is not set
2671CONFIG_USB_STORAGE_CYPRESS_ATACB=y 2680CONFIG_USB_STORAGE_CYPRESS_ATACB=y
2672# CONFIG_USB_LIBUSUAL is not set 2681# CONFIG_USB_LIBUSUAL is not set
2673 2682
@@ -2676,7 +2685,6 @@ CONFIG_USB_STORAGE_CYPRESS_ATACB=y
2676# 2685#
2677CONFIG_USB_MDC800=m 2686CONFIG_USB_MDC800=m
2678CONFIG_USB_MICROTEK=m 2687CONFIG_USB_MICROTEK=m
2679CONFIG_USB_MON=y
2680 2688
2681# 2689#
2682# USB port drivers 2690# USB port drivers
@@ -2686,7 +2694,6 @@ CONFIG_USB_SERIAL=m
2686CONFIG_USB_EZUSB=y 2694CONFIG_USB_EZUSB=y
2687CONFIG_USB_SERIAL_GENERIC=y 2695CONFIG_USB_SERIAL_GENERIC=y
2688CONFIG_USB_SERIAL_AIRCABLE=m 2696CONFIG_USB_SERIAL_AIRCABLE=m
2689CONFIG_USB_SERIAL_AIRPRIME=m
2690CONFIG_USB_SERIAL_ARK3116=m 2697CONFIG_USB_SERIAL_ARK3116=m
2691CONFIG_USB_SERIAL_BELKIN=m 2698CONFIG_USB_SERIAL_BELKIN=m
2692CONFIG_USB_SERIAL_CH341=m 2699CONFIG_USB_SERIAL_CH341=m
@@ -2734,7 +2741,6 @@ CONFIG_USB_SERIAL_DEBUG=m
2734CONFIG_USB_EMI62=m 2741CONFIG_USB_EMI62=m
2735CONFIG_USB_EMI26=m 2742CONFIG_USB_EMI26=m
2736CONFIG_USB_ADUTUX=m 2743CONFIG_USB_ADUTUX=m
2737CONFIG_USB_AUERSWALD=m
2738# CONFIG_USB_RIO500 is not set 2744# CONFIG_USB_RIO500 is not set
2739CONFIG_USB_LEGOTOWER=m 2745CONFIG_USB_LEGOTOWER=m
2740CONFIG_USB_LCD=m 2746CONFIG_USB_LCD=m
@@ -2770,7 +2776,9 @@ CONFIG_LEDS_CLASS=y
2770# 2776#
2771# LED drivers 2777# LED drivers
2772# 2778#
2779# CONFIG_LEDS_PCA9532 is not set
2773# CONFIG_LEDS_GPIO is not set 2780# CONFIG_LEDS_GPIO is not set
2781# CONFIG_LEDS_PCA955X is not set
2774 2782
2775# 2783#
2776# LED Triggers 2784# LED Triggers
@@ -2853,6 +2861,7 @@ CONFIG_KS0108_PORT=0x378
2853CONFIG_KS0108_DELAY=2 2861CONFIG_KS0108_DELAY=2
2854CONFIG_UIO=m 2862CONFIG_UIO=m
2855CONFIG_UIO_CIF=m 2863CONFIG_UIO_CIF=m
2864CONFIG_UIO_PDRV=m
2856CONFIG_UIO_SMX=m 2865CONFIG_UIO_SMX=m
2857 2866
2858# 2867#
@@ -2899,6 +2908,7 @@ CONFIG_GFS2_FS_LOCKING_DLM=m
2899CONFIG_OCFS2_FS=m 2908CONFIG_OCFS2_FS=m
2900CONFIG_OCFS2_FS_O2CB=m 2909CONFIG_OCFS2_FS_O2CB=m
2901CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m 2910CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
2911CONFIG_OCFS2_FS_STATS=y
2902# CONFIG_OCFS2_DEBUG_MASKLOG is not set 2912# CONFIG_OCFS2_DEBUG_MASKLOG is not set
2903# CONFIG_OCFS2_DEBUG_FS is not set 2913# CONFIG_OCFS2_DEBUG_FS is not set
2904CONFIG_DNOTIFY=y 2914CONFIG_DNOTIFY=y
@@ -2959,11 +2969,9 @@ CONFIG_BEFS_FS=m
2959CONFIG_BFS_FS=m 2969CONFIG_BFS_FS=m
2960CONFIG_EFS_FS=m 2970CONFIG_EFS_FS=m
2961CONFIG_CRAMFS=m 2971CONFIG_CRAMFS=m
2962CONFIG_SQUASHFS=m
2963# CONFIG_SQUASHFS_EMBEDDED is not set
2964CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
2965CONFIG_VXFS_FS=m 2972CONFIG_VXFS_FS=m
2966CONFIG_MINIX_FS=m 2973CONFIG_MINIX_FS=m
2974CONFIG_OMFS_FS=m
2967# CONFIG_HPFS_FS is not set 2975# CONFIG_HPFS_FS is not set
2968CONFIG_QNX4FS_FS=m 2976CONFIG_QNX4FS_FS=m
2969CONFIG_ROMFS_FS=m 2977CONFIG_ROMFS_FS=m
@@ -2988,7 +2996,6 @@ CONFIG_NFS_ACL_SUPPORT=m
2988CONFIG_NFS_COMMON=y 2996CONFIG_NFS_COMMON=y
2989CONFIG_SUNRPC=m 2997CONFIG_SUNRPC=m
2990CONFIG_SUNRPC_GSS=m 2998CONFIG_SUNRPC_GSS=m
2991CONFIG_SUNRPC_BIND34=y
2992CONFIG_RPCSEC_GSS_KRB5=m 2999CONFIG_RPCSEC_GSS_KRB5=m
2993CONFIG_RPCSEC_GSS_SPKM3=m 3000CONFIG_RPCSEC_GSS_SPKM3=m
2994# CONFIG_SMB_FS is not set 3001# CONFIG_SMB_FS is not set
@@ -3011,7 +3018,6 @@ CONFIG_NCPFS_SMALLDOS=y
3011CONFIG_NCPFS_NLS=y 3018CONFIG_NCPFS_NLS=y
3012CONFIG_NCPFS_EXTRAS=y 3019CONFIG_NCPFS_EXTRAS=y
3013CONFIG_CODA_FS=m 3020CONFIG_CODA_FS=m
3014# CONFIG_CODA_FS_OLD_API is not set
3015# CONFIG_AFS_FS is not set 3021# CONFIG_AFS_FS is not set
3016CONFIG_9P_FS=m 3022CONFIG_9P_FS=m
3017 3023
@@ -3087,7 +3093,7 @@ CONFIG_BITREVERSE=y
3087# CONFIG_GENERIC_FIND_FIRST_BIT is not set 3093# CONFIG_GENERIC_FIND_FIRST_BIT is not set
3088CONFIG_CRC_CCITT=m 3094CONFIG_CRC_CCITT=m
3089CONFIG_CRC16=m 3095CONFIG_CRC16=m
3090CONFIG_CRC_T10DIF=m 3096CONFIG_CRC_T10DIF=y
3091CONFIG_CRC_ITU_T=m 3097CONFIG_CRC_ITU_T=m
3092CONFIG_CRC32=y 3098CONFIG_CRC32=y
3093# CONFIG_CRC7 is not set 3099# CONFIG_CRC7 is not set
@@ -3120,6 +3126,8 @@ CONFIG_HEADERS_CHECK=y
3120CONFIG_DEBUG_KERNEL=y 3126CONFIG_DEBUG_KERNEL=y
3121CONFIG_DEBUG_SHIRQ=y 3127CONFIG_DEBUG_SHIRQ=y
3122CONFIG_DETECT_SOFTLOCKUP=y 3128CONFIG_DETECT_SOFTLOCKUP=y
3129# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
3130CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
3123CONFIG_SCHED_DEBUG=y 3131CONFIG_SCHED_DEBUG=y
3124CONFIG_SCHEDSTATS=y 3132CONFIG_SCHEDSTATS=y
3125CONFIG_TIMER_STATS=y 3133CONFIG_TIMER_STATS=y
@@ -3143,6 +3151,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
3143CONFIG_DEBUG_INFO=y 3151CONFIG_DEBUG_INFO=y
3144CONFIG_DEBUG_VM=y 3152CONFIG_DEBUG_VM=y
3145CONFIG_DEBUG_WRITECOUNT=y 3153CONFIG_DEBUG_WRITECOUNT=y
3154CONFIG_DEBUG_MEMORY_INIT=y
3146CONFIG_DEBUG_LIST=y 3155CONFIG_DEBUG_LIST=y
3147CONFIG_DEBUG_SG=y 3156CONFIG_DEBUG_SG=y
3148CONFIG_FRAME_POINTER=y 3157CONFIG_FRAME_POINTER=y
@@ -3158,6 +3167,7 @@ CONFIG_FAIL_MAKE_REQUEST=y
3158CONFIG_FAULT_INJECTION_DEBUG_FS=y 3167CONFIG_FAULT_INJECTION_DEBUG_FS=y
3159CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y 3168CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
3160CONFIG_LATENCYTOP=y 3169CONFIG_LATENCYTOP=y
3170CONFIG_SYSCTL_SYSCALL_CHECK=y
3161CONFIG_HAVE_FTRACE=y 3171CONFIG_HAVE_FTRACE=y
3162CONFIG_HAVE_DYNAMIC_FTRACE=y 3172CONFIG_HAVE_DYNAMIC_FTRACE=y
3163CONFIG_TRACER_MAX_TRACE=y 3173CONFIG_TRACER_MAX_TRACE=y
@@ -3168,16 +3178,18 @@ CONFIG_CONTEXT_SWITCH_TRACER=y
3168CONFIG_DYNAMIC_FTRACE=y 3178CONFIG_DYNAMIC_FTRACE=y
3169# CONFIG_FTRACE_STARTUP_TEST is not set 3179# CONFIG_FTRACE_STARTUP_TEST is not set
3170# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set 3180# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
3181# CONFIG_BUILD_DOCSRC is not set
3171# CONFIG_SAMPLES is not set 3182# CONFIG_SAMPLES is not set
3183CONFIG_HAVE_ARCH_KGDB=y
3184# CONFIG_KGDB is not set
3172CONFIG_DEBUG_STACKOVERFLOW=y 3185CONFIG_DEBUG_STACKOVERFLOW=y
3173CONFIG_DEBUG_STACK_USAGE=y 3186CONFIG_DEBUG_STACK_USAGE=y
3174CONFIG_DEBUGGER=y
3175# CONFIG_CODE_PATCHING_SELFTEST is not set 3187# CONFIG_CODE_PATCHING_SELFTEST is not set
3176# CONFIG_FTR_FIXUP_SELFTEST is not set 3188# CONFIG_FTR_FIXUP_SELFTEST is not set
3177# CONFIG_KGDB_CONSOLE is not set
3178CONFIG_XMON=y 3189CONFIG_XMON=y
3179# CONFIG_XMON_DEFAULT is not set 3190# CONFIG_XMON_DEFAULT is not set
3180CONFIG_XMON_DISASSEMBLY=y 3191CONFIG_XMON_DISASSEMBLY=y
3192CONFIG_DEBUGGER=y
3181CONFIG_IRQSTACKS=y 3193CONFIG_IRQSTACKS=y
3182# CONFIG_VIRQ_DEBUG is not set 3194# CONFIG_VIRQ_DEBUG is not set
3183# CONFIG_BDI_SWITCH is not set 3195# CONFIG_BDI_SWITCH is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index bc3bf62ddc2f..b390b7476649 100644
--- a/arch/powerpc/configs/pq2fads_defconfig
+++ b/arch/powerpc/configs/pq2fads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:18 2008 4# Thu Aug 21 00:52:13 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,6 +15,7 @@ CONFIG_6xx=y
15# CONFIG_44x is not set 15# CONFIG_44x is not set
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y 17CONFIG_PPC_FPU=y
18# CONFIG_ALTIVEC is not set
18CONFIG_PPC_STD_MMU=y 19CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_32=y 20CONFIG_PPC_STD_MMU_32=y
20# CONFIG_PPC_MM_SLICES is not set 21# CONFIG_PPC_MM_SLICES is not set
@@ -31,12 +32,14 @@ CONFIG_GENERIC_HARDIRQS=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 39CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y 40CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 41CONFIG_GENERIC_FIND_NEXT_BIT=y
42CONFIG_GENERIC_GPIO=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 44CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y 45CONFIG_EARLY_PRINTK=y
@@ -45,11 +48,13 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
45CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
46CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
47CONFIG_OF=y 50CONFIG_OF=y
48# CONFIG_PPC_UDBG_16550 is not set 51CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
52CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
54# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -82,7 +87,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
82CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
83CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
84CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
85CONFIG_SYSCTL_SYSCALL_CHECK=y
86CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
87CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
88# CONFIG_KALLSYMS_EXTRA_PASS is not set 92# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -90,6 +94,7 @@ CONFIG_HOTPLUG=y
90CONFIG_PRINTK=y 94CONFIG_PRINTK=y
91CONFIG_BUG=y 95CONFIG_BUG=y
92CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
97CONFIG_PCSPKR_PLATFORM=y
93CONFIG_COMPAT_BRK=y 98CONFIG_COMPAT_BRK=y
94CONFIG_BASE_FULL=y 99CONFIG_BASE_FULL=y
95CONFIG_FUTEX=y 100CONFIG_FUTEX=y
@@ -107,10 +112,16 @@ CONFIG_SLUB=y
107# CONFIG_PROFILING is not set 112# CONFIG_PROFILING is not set
108# CONFIG_MARKERS is not set 113# CONFIG_MARKERS is not set
109CONFIG_HAVE_OPROFILE=y 114CONFIG_HAVE_OPROFILE=y
115CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
116CONFIG_HAVE_IOREMAP_PROT=y
110CONFIG_HAVE_KPROBES=y 117CONFIG_HAVE_KPROBES=y
111CONFIG_HAVE_KRETPROBES=y 118CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y
112# CONFIG_HAVE_DMA_ATTRS is not set 120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122CONFIG_HAVE_CLK=y
113CONFIG_PROC_PAGE_MONITOR=y 123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
114CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
115CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
116# CONFIG_TINY_SHMEM is not set 127# CONFIG_TINY_SHMEM is not set
@@ -120,6 +131,7 @@ CONFIG_BLOCK=y
120# CONFIG_LBD is not set 131# CONFIG_LBD is not set
121# CONFIG_BLK_DEV_IO_TRACE is not set 132# CONFIG_BLK_DEV_IO_TRACE is not set
122# CONFIG_LSF is not set 133# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_INTEGRITY is not set
123 135
124# 136#
125# IO Schedulers 137# IO Schedulers
@@ -138,33 +150,43 @@ CONFIG_CLASSIC_RCU=y
138# 150#
139# Platform support 151# Platform support
140# 152#
141# CONFIG_PPC_MULTIPLATFORM is not set 153CONFIG_PPC_MULTIPLATFORM=y
142CONFIG_PPC_82xx=y 154CONFIG_CLASSIC32=y
143# CONFIG_PPC_83xx is not set 155CONFIG_PPC_CHRP=y
144# CONFIG_PPC_86xx is not set 156# CONFIG_MPC5121_ADS is not set
145# CONFIG_PPC_MPC512x is not set 157# CONFIG_MPC5121_GENERIC is not set
146# CONFIG_PPC_MPC5121 is not set 158# CONFIG_PPC_MPC52xx is not set
159CONFIG_PPC_PMAC=y
147# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
148# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
162CONFIG_PPC_82xx=y
149# CONFIG_MPC8272_ADS is not set 163# CONFIG_MPC8272_ADS is not set
150CONFIG_PQ2FADS=y 164CONFIG_PQ2FADS=y
151# CONFIG_EP8248E is not set 165# CONFIG_EP8248E is not set
152CONFIG_PQ2ADS=y 166CONFIG_PQ2ADS=y
153CONFIG_8260=y 167CONFIG_8260=y
154CONFIG_PQ2_ADS_PCI_PIC=y 168CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set
172CONFIG_PPC_NATIVE=y
173# CONFIG_UDBG_RTAS_CONSOLE is not set
155# CONFIG_IPIC is not set 174# CONFIG_IPIC is not set
156# CONFIG_MPIC is not set 175CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set 176# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set 177CONFIG_PPC_I8259=y
159# CONFIG_PPC_RTAS is not set 178CONFIG_PPC_RTAS=y
179# CONFIG_RTAS_ERROR_LOGGING is not set
180CONFIG_RTAS_PROC=y
160# CONFIG_MMIO_NVRAM is not set 181# CONFIG_MMIO_NVRAM is not set
161# CONFIG_PPC_MPC106 is not set 182CONFIG_PPC_MPC106=y
162# CONFIG_PPC_970_NAP is not set 183# CONFIG_PPC_970_NAP is not set
163# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
164# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
165# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_PPC601_SYNC_FIX is not set
188# CONFIG_TAU is not set
166CONFIG_CPM2=y 189CONFIG_CPM2=y
167CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set 190# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y 191CONFIG_CPM=y
170 192
@@ -181,7 +203,7 @@ CONFIG_HZ_250=y
181# CONFIG_HZ_300 is not set 203# CONFIG_HZ_300 is not set
182# CONFIG_HZ_1000 is not set 204# CONFIG_HZ_1000 is not set
183CONFIG_HZ=250 205CONFIG_HZ=250
184# CONFIG_SCHED_HRTICK is not set 206CONFIG_SCHED_HRTICK=y
185CONFIG_PREEMPT_NONE=y 207CONFIG_PREEMPT_NONE=y
186# CONFIG_PREEMPT_VOLUNTARY is not set 208# CONFIG_PREEMPT_VOLUNTARY is not set
187# CONFIG_PREEMPT is not set 209# CONFIG_PREEMPT is not set
@@ -199,6 +221,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
199# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
200CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
201CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y
202# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
203CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
204CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
@@ -206,6 +229,7 @@ CONFIG_VIRT_TO_BUS=y
206CONFIG_FORCE_MAX_ZONEORDER=11 229CONFIG_FORCE_MAX_ZONEORDER=11
207CONFIG_PROC_DEVICETREE=y 230CONFIG_PROC_DEVICETREE=y
208# CONFIG_CMDLINE_BOOL is not set 231# CONFIG_CMDLINE_BOOL is not set
232CONFIG_EXTRA_TARGETS=""
209# CONFIG_PM is not set 233# CONFIG_PM is not set
210CONFIG_SECCOMP=y 234CONFIG_SECCOMP=y
211CONFIG_ISA_DMA_API=y 235CONFIG_ISA_DMA_API=y
@@ -213,9 +237,11 @@ CONFIG_ISA_DMA_API=y
213# 237#
214# Bus options 238# Bus options
215# 239#
240# CONFIG_ISA is not set
216CONFIG_ZONE_DMA=y 241CONFIG_ZONE_DMA=y
217CONFIG_PPC_INDIRECT_PCI=y 242CONFIG_PPC_INDIRECT_PCI=y
218CONFIG_FSL_SOC=y 243CONFIG_FSL_SOC=y
244CONFIG_PPC_PCI_CHOICE=y
219CONFIG_PCI=y 245CONFIG_PCI=y
220CONFIG_PCI_DOMAINS=y 246CONFIG_PCI_DOMAINS=y
221CONFIG_PCI_SYSCALL=y 247CONFIG_PCI_SYSCALL=y
@@ -243,10 +269,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
243CONFIG_KERNEL_START=0xc0000000 269CONFIG_KERNEL_START=0xc0000000
244CONFIG_PHYSICAL_START=0x00000000 270CONFIG_PHYSICAL_START=0x00000000
245CONFIG_TASK_SIZE=0xc0000000 271CONFIG_TASK_SIZE=0xc0000000
246
247#
248# Networking
249#
250CONFIG_NET=y 272CONFIG_NET=y
251 273
252# 274#
@@ -447,9 +469,11 @@ CONFIG_MTD_PHYSMAP_OF=y
447# 469#
448# CONFIG_MTD_UBI is not set 470# CONFIG_MTD_UBI is not set
449CONFIG_OF_DEVICE=y 471CONFIG_OF_DEVICE=y
472CONFIG_OF_GPIO=y
450# CONFIG_PARPORT is not set 473# CONFIG_PARPORT is not set
451CONFIG_BLK_DEV=y 474CONFIG_BLK_DEV=y
452# CONFIG_BLK_DEV_FD is not set 475# CONFIG_BLK_DEV_FD is not set
476# CONFIG_MAC_FLOPPY is not set
453# CONFIG_BLK_CPQ_DA is not set 477# CONFIG_BLK_CPQ_DA is not set
454# CONFIG_BLK_CPQ_CISS_DA is not set 478# CONFIG_BLK_CPQ_CISS_DA is not set
455# CONFIG_BLK_DEV_DAC960 is not set 479# CONFIG_BLK_DEV_DAC960 is not set
@@ -461,14 +485,15 @@ CONFIG_BLK_DEV_LOOP=y
461# CONFIG_BLK_DEV_RAM is not set 485# CONFIG_BLK_DEV_RAM is not set
462# CONFIG_CDROM_PKTCDVD is not set 486# CONFIG_CDROM_PKTCDVD is not set
463# CONFIG_ATA_OVER_ETH is not set 487# CONFIG_ATA_OVER_ETH is not set
488# CONFIG_BLK_DEV_HD is not set
464CONFIG_MISC_DEVICES=y 489CONFIG_MISC_DEVICES=y
465# CONFIG_PHANTOM is not set 490# CONFIG_PHANTOM is not set
466# CONFIG_EEPROM_93CX6 is not set 491# CONFIG_EEPROM_93CX6 is not set
467# CONFIG_SGI_IOC4 is not set 492# CONFIG_SGI_IOC4 is not set
468# CONFIG_ENCLOSURE_SERVICES is not set 493# CONFIG_ENCLOSURE_SERVICES is not set
494# CONFIG_HP_ILO is not set
469CONFIG_HAVE_IDE=y 495CONFIG_HAVE_IDE=y
470CONFIG_IDE=y 496CONFIG_IDE=y
471CONFIG_IDE_MAX_HWIFS=4
472CONFIG_BLK_DEV_IDE=y 497CONFIG_BLK_DEV_IDE=y
473 498
474# 499#
@@ -486,7 +511,6 @@ CONFIG_IDE_PROC_FS=y
486# 511#
487# IDE chipset support/bugfixes 512# IDE chipset support/bugfixes
488# 513#
489# CONFIG_IDE_GENERIC is not set
490# CONFIG_BLK_DEV_PLATFORM is not set 514# CONFIG_BLK_DEV_PLATFORM is not set
491 515
492# 516#
@@ -498,9 +522,7 @@ CONFIG_IDE_PROC_FS=y
498# CONFIG_BLK_DEV_AMD74XX is not set 522# CONFIG_BLK_DEV_AMD74XX is not set
499# CONFIG_BLK_DEV_CMD64X is not set 523# CONFIG_BLK_DEV_CMD64X is not set
500# CONFIG_BLK_DEV_TRIFLEX is not set 524# CONFIG_BLK_DEV_TRIFLEX is not set
501# CONFIG_BLK_DEV_CY82C693 is not set
502# CONFIG_BLK_DEV_CS5530 is not set 525# CONFIG_BLK_DEV_CS5530 is not set
503# CONFIG_BLK_DEV_HPT34X is not set
504# CONFIG_BLK_DEV_HPT366 is not set 526# CONFIG_BLK_DEV_HPT366 is not set
505# CONFIG_BLK_DEV_JMICRON is not set 527# CONFIG_BLK_DEV_JMICRON is not set
506# CONFIG_BLK_DEV_SC1200 is not set 528# CONFIG_BLK_DEV_SC1200 is not set
@@ -517,9 +539,8 @@ CONFIG_IDE_PROC_FS=y
517# CONFIG_BLK_DEV_TRM290 is not set 539# CONFIG_BLK_DEV_TRM290 is not set
518# CONFIG_BLK_DEV_VIA82CXXX is not set 540# CONFIG_BLK_DEV_VIA82CXXX is not set
519# CONFIG_BLK_DEV_TC86C001 is not set 541# CONFIG_BLK_DEV_TC86C001 is not set
542# CONFIG_BLK_DEV_IDE_PMAC is not set
520# CONFIG_BLK_DEV_IDEDMA is not set 543# CONFIG_BLK_DEV_IDEDMA is not set
521# CONFIG_BLK_DEV_HD_ONLY is not set
522# CONFIG_BLK_DEV_HD is not set
523 544
524# 545#
525# SCSI device support 546# SCSI device support
@@ -537,13 +558,12 @@ CONFIG_IDE_PROC_FS=y
537# 558#
538 559
539# 560#
540# An alternative FireWire stack is available with EXPERIMENTAL=y 561# A new alternative FireWire stack is available with EXPERIMENTAL=y
541# 562#
542# CONFIG_IEEE1394 is not set 563# CONFIG_IEEE1394 is not set
543# CONFIG_I2O is not set 564# CONFIG_I2O is not set
544# CONFIG_MACINTOSH_DRIVERS is not set 565# CONFIG_MACINTOSH_DRIVERS is not set
545CONFIG_NETDEVICES=y 566CONFIG_NETDEVICES=y
546# CONFIG_NETDEVICES_MULTIQUEUE is not set
547# CONFIG_DUMMY is not set 567# CONFIG_DUMMY is not set
548# CONFIG_BONDING is not set 568# CONFIG_BONDING is not set
549# CONFIG_EQUALIZER is not set 569# CONFIG_EQUALIZER is not set
@@ -567,8 +587,11 @@ CONFIG_DAVICOM_PHY=y
567# CONFIG_REALTEK_PHY is not set 587# CONFIG_REALTEK_PHY is not set
568# CONFIG_FIXED_PHY is not set 588# CONFIG_FIXED_PHY is not set
569CONFIG_MDIO_BITBANG=y 589CONFIG_MDIO_BITBANG=y
590# CONFIG_MDIO_OF_GPIO is not set
570CONFIG_NET_ETHERNET=y 591CONFIG_NET_ETHERNET=y
571CONFIG_MII=y 592CONFIG_MII=y
593# CONFIG_MACE is not set
594# CONFIG_BMAC is not set
572# CONFIG_HAPPYMEAL is not set 595# CONFIG_HAPPYMEAL is not set
573# CONFIG_SUNGEM is not set 596# CONFIG_SUNGEM is not set
574# CONFIG_CASSINI is not set 597# CONFIG_CASSINI is not set
@@ -590,7 +613,6 @@ CONFIG_NETDEV_1000=y
590# CONFIG_DL2K is not set 613# CONFIG_DL2K is not set
591# CONFIG_E1000 is not set 614# CONFIG_E1000 is not set
592# CONFIG_E1000E is not set 615# CONFIG_E1000E is not set
593# CONFIG_E1000E_ENABLED is not set
594# CONFIG_IGB is not set 616# CONFIG_IGB is not set
595# CONFIG_NS83820 is not set 617# CONFIG_NS83820 is not set
596# CONFIG_HAMACHI is not set 618# CONFIG_HAMACHI is not set
@@ -602,6 +624,7 @@ CONFIG_NETDEV_1000=y
602# CONFIG_TIGON3 is not set 624# CONFIG_TIGON3 is not set
603# CONFIG_BNX2 is not set 625# CONFIG_BNX2 is not set
604# CONFIG_GIANFAR is not set 626# CONFIG_GIANFAR is not set
627# CONFIG_MV643XX_ETH is not set
605# CONFIG_QLA3XXX is not set 628# CONFIG_QLA3XXX is not set
606CONFIG_NETDEV_10000=y 629CONFIG_NETDEV_10000=y
607# CONFIG_CHELSIO_T1 is not set 630# CONFIG_CHELSIO_T1 is not set
@@ -667,6 +690,7 @@ CONFIG_KEYBOARD_ATKBD=y
667# CONFIG_KEYBOARD_XTKBD is not set 690# CONFIG_KEYBOARD_XTKBD is not set
668# CONFIG_KEYBOARD_NEWTON is not set 691# CONFIG_KEYBOARD_NEWTON is not set
669# CONFIG_KEYBOARD_STOWAWAY is not set 692# CONFIG_KEYBOARD_STOWAWAY is not set
693# CONFIG_KEYBOARD_GPIO is not set
670CONFIG_INPUT_MOUSE=y 694CONFIG_INPUT_MOUSE=y
671CONFIG_MOUSE_PS2=y 695CONFIG_MOUSE_PS2=y
672CONFIG_MOUSE_PS2_ALPS=y 696CONFIG_MOUSE_PS2_ALPS=y
@@ -677,7 +701,9 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
677# CONFIG_MOUSE_PS2_TOUCHKIT is not set 701# CONFIG_MOUSE_PS2_TOUCHKIT is not set
678# CONFIG_MOUSE_SERIAL is not set 702# CONFIG_MOUSE_SERIAL is not set
679# CONFIG_MOUSE_APPLETOUCH is not set 703# CONFIG_MOUSE_APPLETOUCH is not set
704# CONFIG_MOUSE_BCM5974 is not set
680# CONFIG_MOUSE_VSXXXAA is not set 705# CONFIG_MOUSE_VSXXXAA is not set
706# CONFIG_MOUSE_GPIO is not set
681# CONFIG_INPUT_JOYSTICK is not set 707# CONFIG_INPUT_JOYSTICK is not set
682# CONFIG_INPUT_TABLET is not set 708# CONFIG_INPUT_TABLET is not set
683# CONFIG_INPUT_TOUCHSCREEN is not set 709# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -692,6 +718,7 @@ CONFIG_SERIO_SERPORT=y
692# CONFIG_SERIO_PCIPS2 is not set 718# CONFIG_SERIO_PCIPS2 is not set
693CONFIG_SERIO_LIBPS2=y 719CONFIG_SERIO_LIBPS2=y
694# CONFIG_SERIO_RAW is not set 720# CONFIG_SERIO_RAW is not set
721# CONFIG_SERIO_XILINX_XPS_PS2 is not set
695# CONFIG_GAMEPORT is not set 722# CONFIG_GAMEPORT is not set
696 723
697# 724#
@@ -712,6 +739,7 @@ CONFIG_DEVKMEM=y
712# CONFIG_SERIAL_UARTLITE is not set 739# CONFIG_SERIAL_UARTLITE is not set
713CONFIG_SERIAL_CORE=y 740CONFIG_SERIAL_CORE=y
714CONFIG_SERIAL_CORE_CONSOLE=y 741CONFIG_SERIAL_CORE_CONSOLE=y
742# CONFIG_SERIAL_PMACZILOG is not set
715CONFIG_SERIAL_CPM=y 743CONFIG_SERIAL_CPM=y
716CONFIG_SERIAL_CPM_CONSOLE=y 744CONFIG_SERIAL_CPM_CONSOLE=y
717CONFIG_SERIAL_CPM_SCC1=y 745CONFIG_SERIAL_CPM_SCC1=y
@@ -724,6 +752,8 @@ CONFIG_SERIAL_CPM_SCC4=y
724CONFIG_UNIX98_PTYS=y 752CONFIG_UNIX98_PTYS=y
725CONFIG_LEGACY_PTYS=y 753CONFIG_LEGACY_PTYS=y
726CONFIG_LEGACY_PTY_COUNT=256 754CONFIG_LEGACY_PTY_COUNT=256
755# CONFIG_BRIQ_PANEL is not set
756# CONFIG_HVC_RTAS is not set
727# CONFIG_IPMI_HANDLER is not set 757# CONFIG_IPMI_HANDLER is not set
728CONFIG_HW_RANDOM=y 758CONFIG_HW_RANDOM=y
729# CONFIG_NVRAM is not set 759# CONFIG_NVRAM is not set
@@ -734,10 +764,28 @@ CONFIG_HW_RANDOM=y
734CONFIG_DEVPORT=y 764CONFIG_DEVPORT=y
735# CONFIG_I2C is not set 765# CONFIG_I2C is not set
736# CONFIG_SPI is not set 766# CONFIG_SPI is not set
767CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
768CONFIG_ARCH_REQUIRE_GPIOLIB=y
769CONFIG_GPIOLIB=y
770# CONFIG_DEBUG_GPIO is not set
771
772#
773# I2C GPIO expanders:
774#
775
776#
777# PCI GPIO expanders:
778#
779# CONFIG_GPIO_BT8XX is not set
780
781#
782# SPI GPIO expanders:
783#
737# CONFIG_W1 is not set 784# CONFIG_W1 is not set
738# CONFIG_POWER_SUPPLY is not set 785# CONFIG_POWER_SUPPLY is not set
739# CONFIG_HWMON is not set 786# CONFIG_HWMON is not set
740# CONFIG_THERMAL is not set 787# CONFIG_THERMAL is not set
788# CONFIG_THERMAL_HWMON is not set
741# CONFIG_WATCHDOG is not set 789# CONFIG_WATCHDOG is not set
742 790
743# 791#
@@ -749,8 +797,10 @@ CONFIG_SSB_POSSIBLE=y
749# 797#
750# Multifunction device drivers 798# Multifunction device drivers
751# 799#
800# CONFIG_MFD_CORE is not set
752# CONFIG_MFD_SM501 is not set 801# CONFIG_MFD_SM501 is not set
753# CONFIG_HTC_PASIC3 is not set 802# CONFIG_HTC_PASIC3 is not set
803# CONFIG_MFD_TMIO is not set
754 804
755# 805#
756# Multimedia devices 806# Multimedia devices
@@ -782,10 +832,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
782# Display device support 832# Display device support
783# 833#
784# CONFIG_DISPLAY_SUPPORT is not set 834# CONFIG_DISPLAY_SUPPORT is not set
785
786#
787# Sound
788#
789# CONFIG_SOUND is not set 835# CONFIG_SOUND is not set
790# CONFIG_HID_SUPPORT is not set 836# CONFIG_HID_SUPPORT is not set
791CONFIG_USB_SUPPORT=y 837CONFIG_USB_SUPPORT=y
@@ -795,6 +841,8 @@ CONFIG_USB_ARCH_HAS_EHCI=y
795# CONFIG_USB is not set 841# CONFIG_USB is not set
796# CONFIG_USB_OTG_WHITELIST is not set 842# CONFIG_USB_OTG_WHITELIST is not set
797# CONFIG_USB_OTG_BLACKLIST_HUB is not set 843# CONFIG_USB_OTG_BLACKLIST_HUB is not set
844# CONFIG_USB_MUSB_HDRC is not set
845# CONFIG_USB_GADGET_MUSB_HDRC is not set
798 846
799# 847#
800# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 848# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -807,7 +855,7 @@ CONFIG_USB_GADGET_SELECTED=y
807# CONFIG_USB_GADGET_ATMEL_USBA is not set 855# CONFIG_USB_GADGET_ATMEL_USBA is not set
808# CONFIG_USB_GADGET_FSL_USB2 is not set 856# CONFIG_USB_GADGET_FSL_USB2 is not set
809# CONFIG_USB_GADGET_NET2280 is not set 857# CONFIG_USB_GADGET_NET2280 is not set
810# CONFIG_USB_GADGET_PXA2XX is not set 858# CONFIG_USB_GADGET_PXA25X is not set
811CONFIG_USB_GADGET_M66592=y 859CONFIG_USB_GADGET_M66592=y
812CONFIG_USB_M66592=y 860CONFIG_USB_M66592=y
813# CONFIG_USB_GADGET_PXA27X is not set 861# CONFIG_USB_GADGET_PXA27X is not set
@@ -826,6 +874,7 @@ CONFIG_USB_ETH_RNDIS=y
826# CONFIG_USB_G_SERIAL is not set 874# CONFIG_USB_G_SERIAL is not set
827# CONFIG_USB_MIDI_GADGET is not set 875# CONFIG_USB_MIDI_GADGET is not set
828# CONFIG_USB_G_PRINTER is not set 876# CONFIG_USB_G_PRINTER is not set
877# CONFIG_USB_CDC_COMPOSITE is not set
829# CONFIG_MMC is not set 878# CONFIG_MMC is not set
830# CONFIG_MEMSTICK is not set 879# CONFIG_MEMSTICK is not set
831# CONFIG_NEW_LEDS is not set 880# CONFIG_NEW_LEDS is not set
@@ -893,6 +942,7 @@ CONFIG_TMPFS=y
893CONFIG_CRAMFS=y 942CONFIG_CRAMFS=y
894# CONFIG_VXFS_FS is not set 943# CONFIG_VXFS_FS is not set
895# CONFIG_MINIX_FS is not set 944# CONFIG_MINIX_FS is not set
945# CONFIG_OMFS_FS is not set
896# CONFIG_HPFS_FS is not set 946# CONFIG_HPFS_FS is not set
897# CONFIG_QNX4FS_FS is not set 947# CONFIG_QNX4FS_FS is not set
898# CONFIG_ROMFS_FS is not set 948# CONFIG_ROMFS_FS is not set
@@ -902,8 +952,8 @@ CONFIG_NETWORK_FILESYSTEMS=y
902CONFIG_NFS_FS=y 952CONFIG_NFS_FS=y
903CONFIG_NFS_V3=y 953CONFIG_NFS_V3=y
904CONFIG_NFS_V3_ACL=y 954CONFIG_NFS_V3_ACL=y
905# CONFIG_NFSD is not set
906CONFIG_ROOT_NFS=y 955CONFIG_ROOT_NFS=y
956# CONFIG_NFSD is not set
907CONFIG_LOCKD=y 957CONFIG_LOCKD=y
908CONFIG_LOCKD_V4=y 958CONFIG_LOCKD_V4=y
909CONFIG_NFS_ACL_SUPPORT=y 959CONFIG_NFS_ACL_SUPPORT=y
@@ -983,6 +1033,7 @@ CONFIG_BITREVERSE=y
983# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1033# CONFIG_GENERIC_FIND_FIRST_BIT is not set
984CONFIG_CRC_CCITT=y 1034CONFIG_CRC_CCITT=y
985# CONFIG_CRC16 is not set 1035# CONFIG_CRC16 is not set
1036# CONFIG_CRC_T10DIF is not set
986# CONFIG_CRC_ITU_T is not set 1037# CONFIG_CRC_ITU_T is not set
987CONFIG_CRC32=y 1038CONFIG_CRC32=y
988# CONFIG_CRC7 is not set 1039# CONFIG_CRC7 is not set
@@ -1009,6 +1060,8 @@ CONFIG_MAGIC_SYSRQ=y
1009CONFIG_DEBUG_KERNEL=y 1060CONFIG_DEBUG_KERNEL=y
1010# CONFIG_DEBUG_SHIRQ is not set 1061# CONFIG_DEBUG_SHIRQ is not set
1011CONFIG_DETECT_SOFTLOCKUP=y 1062CONFIG_DETECT_SOFTLOCKUP=y
1063# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1064CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1012# CONFIG_SCHED_DEBUG is not set 1065# CONFIG_SCHED_DEBUG is not set
1013# CONFIG_SCHEDSTATS is not set 1066# CONFIG_SCHEDSTATS is not set
1014# CONFIG_TIMER_STATS is not set 1067# CONFIG_TIMER_STATS is not set
@@ -1026,19 +1079,31 @@ CONFIG_DEBUG_BUGVERBOSE=y
1026CONFIG_DEBUG_INFO=y 1079CONFIG_DEBUG_INFO=y
1027# CONFIG_DEBUG_VM is not set 1080# CONFIG_DEBUG_VM is not set
1028# CONFIG_DEBUG_WRITECOUNT is not set 1081# CONFIG_DEBUG_WRITECOUNT is not set
1082# CONFIG_DEBUG_MEMORY_INIT is not set
1029# CONFIG_DEBUG_LIST is not set 1083# CONFIG_DEBUG_LIST is not set
1030# CONFIG_DEBUG_SG is not set 1084# CONFIG_DEBUG_SG is not set
1031# CONFIG_BOOT_PRINTK_DELAY is not set 1085# CONFIG_BOOT_PRINTK_DELAY is not set
1086# CONFIG_RCU_TORTURE_TEST is not set
1032# CONFIG_BACKTRACE_SELF_TEST is not set 1087# CONFIG_BACKTRACE_SELF_TEST is not set
1033# CONFIG_FAULT_INJECTION is not set 1088# CONFIG_FAULT_INJECTION is not set
1089# CONFIG_LATENCYTOP is not set
1090CONFIG_SYSCTL_SYSCALL_CHECK=y
1091CONFIG_HAVE_FTRACE=y
1092CONFIG_HAVE_DYNAMIC_FTRACE=y
1093# CONFIG_FTRACE is not set
1094# CONFIG_SCHED_TRACER is not set
1095# CONFIG_CONTEXT_SWITCH_TRACER is not set
1034# CONFIG_SAMPLES is not set 1096# CONFIG_SAMPLES is not set
1097CONFIG_HAVE_ARCH_KGDB=y
1035# CONFIG_DEBUG_STACKOVERFLOW is not set 1098# CONFIG_DEBUG_STACKOVERFLOW is not set
1036# CONFIG_DEBUG_STACK_USAGE is not set 1099# CONFIG_DEBUG_STACK_USAGE is not set
1037# CONFIG_DEBUG_PAGEALLOC is not set 1100# CONFIG_DEBUG_PAGEALLOC is not set
1038# CONFIG_DEBUGGER is not set 1101# CONFIG_CODE_PATCHING_SELFTEST is not set
1039# CONFIG_KGDB_CONSOLE is not set 1102# CONFIG_FTR_FIXUP_SELFTEST is not set
1103# CONFIG_XMON is not set
1040# CONFIG_IRQSTACKS is not set 1104# CONFIG_IRQSTACKS is not set
1041CONFIG_BDI_SWITCH=y 1105CONFIG_BDI_SWITCH=y
1106# CONFIG_BOOTX_TEXT is not set
1042# CONFIG_PPC_EARLY_DEBUG is not set 1107# CONFIG_PPC_EARLY_DEBUG is not set
1043 1108
1044# 1109#
@@ -1046,6 +1111,7 @@ CONFIG_BDI_SWITCH=y
1046# 1111#
1047# CONFIG_KEYS is not set 1112# CONFIG_KEYS is not set
1048# CONFIG_SECURITY is not set 1113# CONFIG_SECURITY is not set
1114# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1049CONFIG_CRYPTO=y 1115CONFIG_CRYPTO=y
1050 1116
1051# 1117#
@@ -1086,6 +1152,10 @@ CONFIG_CRYPTO_PCBC=y
1086# CONFIG_CRYPTO_MD4 is not set 1152# CONFIG_CRYPTO_MD4 is not set
1087CONFIG_CRYPTO_MD5=y 1153CONFIG_CRYPTO_MD5=y
1088# CONFIG_CRYPTO_MICHAEL_MIC is not set 1154# CONFIG_CRYPTO_MICHAEL_MIC is not set
1155# CONFIG_CRYPTO_RMD128 is not set
1156# CONFIG_CRYPTO_RMD160 is not set
1157# CONFIG_CRYPTO_RMD256 is not set
1158# CONFIG_CRYPTO_RMD320 is not set
1089# CONFIG_CRYPTO_SHA1 is not set 1159# CONFIG_CRYPTO_SHA1 is not set
1090# CONFIG_CRYPTO_SHA256 is not set 1160# CONFIG_CRYPTO_SHA256 is not set
1091# CONFIG_CRYPTO_SHA512 is not set 1161# CONFIG_CRYPTO_SHA512 is not set
@@ -1117,6 +1187,7 @@ CONFIG_CRYPTO_DES=y
1117# CONFIG_CRYPTO_LZO is not set 1187# CONFIG_CRYPTO_LZO is not set
1118CONFIG_CRYPTO_HW=y 1188CONFIG_CRYPTO_HW=y
1119# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1189# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1120# CONFIG_PPC_CLOCK is not set 1190# CONFIG_CRYPTO_DEV_TALITOS is not set
1191CONFIG_PPC_CLOCK=y
1121CONFIG_PPC_LIB_RHEAP=y 1192CONFIG_PPC_LIB_RHEAP=y
1122# CONFIG_VIRTUALIZATION is not set 1193# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index c6b83577c055..01b54eac1ff6 100644
--- a/arch/powerpc/configs/prpmc2800_defconfig
+++ b/arch/powerpc/configs/prpmc2800_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:18 2008 4# Thu Aug 21 00:52:14 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,6 +34,7 @@ CONFIG_GENERIC_HARDIRQS=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 35CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 38CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 40CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -94,7 +95,6 @@ CONFIG_INITRAMFS_SOURCE=""
94CONFIG_SYSCTL=y 95CONFIG_SYSCTL=y
95# CONFIG_EMBEDDED is not set 96# CONFIG_EMBEDDED is not set
96CONFIG_SYSCTL_SYSCALL=y 97CONFIG_SYSCTL_SYSCALL=y
97CONFIG_SYSCTL_SYSCALL_CHECK=y
98CONFIG_KALLSYMS=y 98CONFIG_KALLSYMS=y
99# CONFIG_KALLSYMS_EXTRA_PASS is not set 99# CONFIG_KALLSYMS_EXTRA_PASS is not set
100CONFIG_HOTPLUG=y 100CONFIG_HOTPLUG=y
@@ -118,10 +118,16 @@ CONFIG_SLUB=y
118# CONFIG_PROFILING is not set 118# CONFIG_PROFILING is not set
119# CONFIG_MARKERS is not set 119# CONFIG_MARKERS is not set
120CONFIG_HAVE_OPROFILE=y 120CONFIG_HAVE_OPROFILE=y
121CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
122CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set 126# CONFIG_HAVE_DMA_ATTRS is not set
127# CONFIG_USE_GENERIC_SMP_HELPERS is not set
128# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y 129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
127# CONFIG_TINY_SHMEM is not set 133# CONFIG_TINY_SHMEM is not set
@@ -132,6 +138,7 @@ CONFIG_LBD=y
132# CONFIG_BLK_DEV_IO_TRACE is not set 138# CONFIG_BLK_DEV_IO_TRACE is not set
133# CONFIG_LSF is not set 139# CONFIG_LSF is not set
134# CONFIG_BLK_DEV_BSG is not set 140# CONFIG_BLK_DEV_BSG is not set
141# CONFIG_BLK_DEV_INTEGRITY is not set
135 142
136# 143#
137# IO Schedulers 144# IO Schedulers
@@ -151,25 +158,25 @@ CONFIG_CLASSIC_RCU=y
151# Platform support 158# Platform support
152# 159#
153CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
154# CONFIG_PPC_82xx is not set
155# CONFIG_PPC_83xx is not set
156# CONFIG_PPC_86xx is not set
157CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
158# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
159# CONFIG_PPC_MPC512x is not set
160# CONFIG_PPC_MPC5121 is not set
161# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
164# CONFIG_MPC5121_GENERIC is not set
162# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
163# CONFIG_PPC_PMAC is not set 166# CONFIG_PPC_PMAC is not set
164# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
165# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
169# CONFIG_PPC_82xx is not set
166# CONFIG_PQ2ADS is not set 170# CONFIG_PQ2ADS is not set
171# CONFIG_PPC_83xx is not set
172# CONFIG_PPC_86xx is not set
167CONFIG_EMBEDDED6xx=y 173CONFIG_EMBEDDED6xx=y
168# CONFIG_LINKSTATION is not set 174# CONFIG_LINKSTATION is not set
169# CONFIG_STORCENTER is not set 175# CONFIG_STORCENTER is not set
170# CONFIG_MPC7448HPC2 is not set 176# CONFIG_MPC7448HPC2 is not set
171# CONFIG_PPC_HOLLY is not set 177# CONFIG_PPC_HOLLY is not set
172CONFIG_PPC_PRPMC2800=y 178CONFIG_PPC_PRPMC2800=y
179# CONFIG_PPC_C2K is not set
173CONFIG_MV64X60=y 180CONFIG_MV64X60=y
174# CONFIG_IPIC is not set 181# CONFIG_IPIC is not set
175# CONFIG_MPIC is not set 182# CONFIG_MPIC is not set
@@ -198,7 +205,7 @@ CONFIG_HZ_250=y
198# CONFIG_HZ_300 is not set 205# CONFIG_HZ_300 is not set
199# CONFIG_HZ_1000 is not set 206# CONFIG_HZ_1000 is not set
200CONFIG_HZ=250 207CONFIG_HZ=250
201# CONFIG_SCHED_HRTICK is not set 208CONFIG_SCHED_HRTICK=y
202CONFIG_PREEMPT_NONE=y 209CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 210# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 211# CONFIG_PREEMPT is not set
@@ -221,6 +228,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 229CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y
224# CONFIG_RESOURCES_64BIT is not set 232# CONFIG_RESOURCES_64BIT is not set
225CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
226CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
@@ -228,6 +236,7 @@ CONFIG_VIRT_TO_BUS=y
228CONFIG_FORCE_MAX_ZONEORDER=11 236CONFIG_FORCE_MAX_ZONEORDER=11
229CONFIG_PROC_DEVICETREE=y 237CONFIG_PROC_DEVICETREE=y
230# CONFIG_CMDLINE_BOOL is not set 238# CONFIG_CMDLINE_BOOL is not set
239CONFIG_EXTRA_TARGETS=""
231# CONFIG_PM is not set 240# CONFIG_PM is not set
232# CONFIG_SECCOMP is not set 241# CONFIG_SECCOMP is not set
233CONFIG_ISA_DMA_API=y 242CONFIG_ISA_DMA_API=y
@@ -264,10 +273,6 @@ CONFIG_PHYSICAL_START=0x00000000
264CONFIG_TASK_SIZE=0xc0000000 273CONFIG_TASK_SIZE=0xc0000000
265CONFIG_CONSISTENT_START=0xff100000 274CONFIG_CONSISTENT_START=0xff100000
266CONFIG_CONSISTENT_SIZE=0x00200000 275CONFIG_CONSISTENT_SIZE=0x00200000
267
268#
269# Networking
270#
271CONFIG_NET=y 276CONFIG_NET=y
272 277
273# 278#
@@ -359,7 +364,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 364CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
360CONFIG_STANDALONE=y 365CONFIG_STANDALONE=y
361CONFIG_PREVENT_FIRMWARE_BUILD=y 366CONFIG_PREVENT_FIRMWARE_BUILD=y
362# CONFIG_FW_LOADER is not set 367CONFIG_FW_LOADER=y
368CONFIG_FIRMWARE_IN_KERNEL=y
369CONFIG_EXTRA_FIRMWARE=""
363# CONFIG_SYS_HYPERVISOR is not set 370# CONFIG_SYS_HYPERVISOR is not set
364# CONFIG_CONNECTOR is not set 371# CONFIG_CONNECTOR is not set
365CONFIG_MTD=y 372CONFIG_MTD=y
@@ -461,12 +468,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
461# CONFIG_BLK_DEV_XIP is not set 468# CONFIG_BLK_DEV_XIP is not set
462# CONFIG_CDROM_PKTCDVD is not set 469# CONFIG_CDROM_PKTCDVD is not set
463# CONFIG_ATA_OVER_ETH is not set 470# CONFIG_ATA_OVER_ETH is not set
471# CONFIG_BLK_DEV_HD is not set
464CONFIG_MISC_DEVICES=y 472CONFIG_MISC_DEVICES=y
465# CONFIG_PHANTOM is not set 473# CONFIG_PHANTOM is not set
466# CONFIG_EEPROM_93CX6 is not set 474# CONFIG_EEPROM_93CX6 is not set
467# CONFIG_SGI_IOC4 is not set 475# CONFIG_SGI_IOC4 is not set
468# CONFIG_TIFM_CORE is not set 476# CONFIG_TIFM_CORE is not set
469# CONFIG_ENCLOSURE_SERVICES is not set 477# CONFIG_ENCLOSURE_SERVICES is not set
478# CONFIG_HP_ILO is not set
470CONFIG_HAVE_IDE=y 479CONFIG_HAVE_IDE=y
471CONFIG_IDE=y 480CONFIG_IDE=y
472CONFIG_BLK_DEV_IDE=y 481CONFIG_BLK_DEV_IDE=y
@@ -487,7 +496,6 @@ CONFIG_IDE_PROC_FS=y
487# 496#
488# IDE chipset support/bugfixes 497# IDE chipset support/bugfixes
489# 498#
490CONFIG_IDE_GENERIC=y
491# CONFIG_BLK_DEV_PLATFORM is not set 499# CONFIG_BLK_DEV_PLATFORM is not set
492CONFIG_BLK_DEV_IDEDMA_SFF=y 500CONFIG_BLK_DEV_IDEDMA_SFF=y
493 501
@@ -505,10 +513,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
505# CONFIG_BLK_DEV_AMD74XX is not set 513# CONFIG_BLK_DEV_AMD74XX is not set
506# CONFIG_BLK_DEV_CMD64X is not set 514# CONFIG_BLK_DEV_CMD64X is not set
507# CONFIG_BLK_DEV_TRIFLEX is not set 515# CONFIG_BLK_DEV_TRIFLEX is not set
508# CONFIG_BLK_DEV_CY82C693 is not set
509# CONFIG_BLK_DEV_CS5520 is not set 516# CONFIG_BLK_DEV_CS5520 is not set
510# CONFIG_BLK_DEV_CS5530 is not set 517# CONFIG_BLK_DEV_CS5530 is not set
511# CONFIG_BLK_DEV_HPT34X is not set
512# CONFIG_BLK_DEV_HPT366 is not set 518# CONFIG_BLK_DEV_HPT366 is not set
513# CONFIG_BLK_DEV_JMICRON is not set 519# CONFIG_BLK_DEV_JMICRON is not set
514# CONFIG_BLK_DEV_SC1200 is not set 520# CONFIG_BLK_DEV_SC1200 is not set
@@ -526,8 +532,6 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
526# CONFIG_BLK_DEV_VIA82CXXX is not set 532# CONFIG_BLK_DEV_VIA82CXXX is not set
527# CONFIG_BLK_DEV_TC86C001 is not set 533# CONFIG_BLK_DEV_TC86C001 is not set
528CONFIG_BLK_DEV_IDEDMA=y 534CONFIG_BLK_DEV_IDEDMA=y
529# CONFIG_BLK_DEV_HD_ONLY is not set
530# CONFIG_BLK_DEV_HD is not set
531 535
532# 536#
533# SCSI device support 537# SCSI device support
@@ -603,6 +607,7 @@ CONFIG_SCSI_LOWLEVEL=y
603# CONFIG_SCSI_NSP32 is not set 607# CONFIG_SCSI_NSP32 is not set
604# CONFIG_SCSI_DEBUG is not set 608# CONFIG_SCSI_DEBUG is not set
605# CONFIG_SCSI_SRP is not set 609# CONFIG_SCSI_SRP is not set
610# CONFIG_SCSI_DH is not set
606CONFIG_ATA=y 611CONFIG_ATA=y
607# CONFIG_ATA_NONSTANDARD is not set 612# CONFIG_ATA_NONSTANDARD is not set
608CONFIG_SATA_PMP=y 613CONFIG_SATA_PMP=y
@@ -669,6 +674,10 @@ CONFIG_SATA_MV=y
669# 674#
670# IEEE 1394 (FireWire) support 675# IEEE 1394 (FireWire) support
671# 676#
677
678#
679# Enable only one of the two stacks, unless you know what you are doing
680#
672# CONFIG_FIREWIRE is not set 681# CONFIG_FIREWIRE is not set
673# CONFIG_IEEE1394 is not set 682# CONFIG_IEEE1394 is not set
674# CONFIG_I2O is not set 683# CONFIG_I2O is not set
@@ -676,7 +685,6 @@ CONFIG_MACINTOSH_DRIVERS=y
676# CONFIG_MAC_EMUMOUSEBTN is not set 685# CONFIG_MAC_EMUMOUSEBTN is not set
677# CONFIG_WINDFARM is not set 686# CONFIG_WINDFARM is not set
678CONFIG_NETDEVICES=y 687CONFIG_NETDEVICES=y
679# CONFIG_NETDEVICES_MULTIQUEUE is not set
680# CONFIG_DUMMY is not set 688# CONFIG_DUMMY is not set
681# CONFIG_BONDING is not set 689# CONFIG_BONDING is not set
682# CONFIG_MACVLAN is not set 690# CONFIG_MACVLAN is not set
@@ -741,10 +749,8 @@ CONFIG_NETDEV_1000=y
741# CONFIG_ACENIC is not set 749# CONFIG_ACENIC is not set
742# CONFIG_DL2K is not set 750# CONFIG_DL2K is not set
743CONFIG_E1000=y 751CONFIG_E1000=y
744# CONFIG_E1000_NAPI is not set
745# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 752# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
746# CONFIG_E1000E is not set 753# CONFIG_E1000E is not set
747# CONFIG_E1000E_ENABLED is not set
748# CONFIG_IP1000 is not set 754# CONFIG_IP1000 is not set
749# CONFIG_IGB is not set 755# CONFIG_IGB is not set
750# CONFIG_NS83820 is not set 756# CONFIG_NS83820 is not set
@@ -760,6 +766,7 @@ CONFIG_E1000=y
760CONFIG_MV643XX_ETH=y 766CONFIG_MV643XX_ETH=y
761# CONFIG_QLA3XXX is not set 767# CONFIG_QLA3XXX is not set
762# CONFIG_ATL1 is not set 768# CONFIG_ATL1 is not set
769# CONFIG_ATL1E is not set
763CONFIG_NETDEV_10000=y 770CONFIG_NETDEV_10000=y
764# CONFIG_CHELSIO_T1 is not set 771# CONFIG_CHELSIO_T1 is not set
765# CONFIG_CHELSIO_T3 is not set 772# CONFIG_CHELSIO_T3 is not set
@@ -840,6 +847,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
840# Character devices 847# Character devices
841# 848#
842CONFIG_VT=y 849CONFIG_VT=y
850CONFIG_CONSOLE_TRANSLATIONS=y
843CONFIG_VT_CONSOLE=y 851CONFIG_VT_CONSOLE=y
844CONFIG_HW_CONSOLE=y 852CONFIG_HW_CONSOLE=y
845# CONFIG_VT_HW_CONSOLE_BINDING is not set 853# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -875,43 +883,64 @@ CONFIG_DEVPORT=y
875CONFIG_I2C=y 883CONFIG_I2C=y
876CONFIG_I2C_BOARDINFO=y 884CONFIG_I2C_BOARDINFO=y
877CONFIG_I2C_CHARDEV=y 885CONFIG_I2C_CHARDEV=y
886CONFIG_I2C_HELPER_AUTO=y
878 887
879# 888#
880# I2C Hardware Bus support 889# I2C Hardware Bus support
881# 890#
891
892#
893# PC SMBus host controller drivers
894#
882# CONFIG_I2C_ALI1535 is not set 895# CONFIG_I2C_ALI1535 is not set
883# CONFIG_I2C_ALI1563 is not set 896# CONFIG_I2C_ALI1563 is not set
884# CONFIG_I2C_ALI15X3 is not set 897# CONFIG_I2C_ALI15X3 is not set
885# CONFIG_I2C_AMD756 is not set 898# CONFIG_I2C_AMD756 is not set
886# CONFIG_I2C_AMD8111 is not set 899# CONFIG_I2C_AMD8111 is not set
887# CONFIG_I2C_I801 is not set 900# CONFIG_I2C_I801 is not set
888# CONFIG_I2C_I810 is not set 901# CONFIG_I2C_ISCH is not set
889# CONFIG_I2C_PIIX4 is not set 902# CONFIG_I2C_PIIX4 is not set
890# CONFIG_I2C_MPC is not set
891# CONFIG_I2C_NFORCE2 is not set 903# CONFIG_I2C_NFORCE2 is not set
892# CONFIG_I2C_OCORES is not set
893# CONFIG_I2C_PARPORT_LIGHT is not set
894# CONFIG_I2C_PROSAVAGE is not set
895# CONFIG_I2C_SAVAGE4 is not set
896# CONFIG_I2C_SIMTEC is not set
897# CONFIG_I2C_SIS5595 is not set 904# CONFIG_I2C_SIS5595 is not set
898# CONFIG_I2C_SIS630 is not set 905# CONFIG_I2C_SIS630 is not set
899# CONFIG_I2C_SIS96X is not set 906# CONFIG_I2C_SIS96X is not set
900# CONFIG_I2C_TAOS_EVM is not set
901# CONFIG_I2C_TINY_USB is not set
902# CONFIG_I2C_VIA is not set 907# CONFIG_I2C_VIA is not set
903# CONFIG_I2C_VIAPRO is not set 908# CONFIG_I2C_VIAPRO is not set
909
910#
911# I2C system bus drivers (mostly embedded / system-on-chip)
912#
913# CONFIG_I2C_MPC is not set
914CONFIG_I2C_MV64XXX=y
915# CONFIG_I2C_OCORES is not set
916# CONFIG_I2C_SIMTEC is not set
917
918#
919# External I2C/SMBus adapter drivers
920#
921# CONFIG_I2C_PARPORT_LIGHT is not set
922# CONFIG_I2C_TAOS_EVM is not set
923# CONFIG_I2C_TINY_USB is not set
924
925#
926# Graphics adapter I2C/DDC channel drivers
927#
904# CONFIG_I2C_VOODOO3 is not set 928# CONFIG_I2C_VOODOO3 is not set
929
930#
931# Other I2C/SMBus bus drivers
932#
905# CONFIG_I2C_PCA_PLATFORM is not set 933# CONFIG_I2C_PCA_PLATFORM is not set
906CONFIG_I2C_MV64XXX=y
907 934
908# 935#
909# Miscellaneous I2C Chip support 936# Miscellaneous I2C Chip support
910# 937#
911# CONFIG_DS1682 is not set 938# CONFIG_DS1682 is not set
939# CONFIG_AT24 is not set
912# CONFIG_SENSORS_EEPROM is not set 940# CONFIG_SENSORS_EEPROM is not set
913# CONFIG_SENSORS_PCF8574 is not set 941# CONFIG_SENSORS_PCF8574 is not set
914# CONFIG_PCF8575 is not set 942# CONFIG_PCF8575 is not set
943# CONFIG_SENSORS_PCA9539 is not set
915# CONFIG_SENSORS_PCF8591 is not set 944# CONFIG_SENSORS_PCF8591 is not set
916# CONFIG_SENSORS_MAX6875 is not set 945# CONFIG_SENSORS_MAX6875 is not set
917# CONFIG_SENSORS_TSL2550 is not set 946# CONFIG_SENSORS_TSL2550 is not set
@@ -920,10 +949,13 @@ CONFIG_I2C_MV64XXX=y
920# CONFIG_I2C_DEBUG_BUS is not set 949# CONFIG_I2C_DEBUG_BUS is not set
921# CONFIG_I2C_DEBUG_CHIP is not set 950# CONFIG_I2C_DEBUG_CHIP is not set
922# CONFIG_SPI is not set 951# CONFIG_SPI is not set
952CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
953# CONFIG_GPIOLIB is not set
923# CONFIG_W1 is not set 954# CONFIG_W1 is not set
924# CONFIG_POWER_SUPPLY is not set 955# CONFIG_POWER_SUPPLY is not set
925CONFIG_HWMON=y 956CONFIG_HWMON=y
926# CONFIG_HWMON_VID is not set 957# CONFIG_HWMON_VID is not set
958# CONFIG_SENSORS_AD7414 is not set
927# CONFIG_SENSORS_AD7418 is not set 959# CONFIG_SENSORS_AD7418 is not set
928# CONFIG_SENSORS_ADM1021 is not set 960# CONFIG_SENSORS_ADM1021 is not set
929# CONFIG_SENSORS_ADM1025 is not set 961# CONFIG_SENSORS_ADM1025 is not set
@@ -977,6 +1009,7 @@ CONFIG_HWMON=y
977# CONFIG_SENSORS_W83627EHF is not set 1009# CONFIG_SENSORS_W83627EHF is not set
978# CONFIG_HWMON_DEBUG_CHIP is not set 1010# CONFIG_HWMON_DEBUG_CHIP is not set
979# CONFIG_THERMAL is not set 1011# CONFIG_THERMAL is not set
1012# CONFIG_THERMAL_HWMON is not set
980# CONFIG_WATCHDOG is not set 1013# CONFIG_WATCHDOG is not set
981 1014
982# 1015#
@@ -988,8 +1021,10 @@ CONFIG_SSB_POSSIBLE=y
988# 1021#
989# Multifunction device drivers 1022# Multifunction device drivers
990# 1023#
1024# CONFIG_MFD_CORE is not set
991# CONFIG_MFD_SM501 is not set 1025# CONFIG_MFD_SM501 is not set
992# CONFIG_HTC_PASIC3 is not set 1026# CONFIG_HTC_PASIC3 is not set
1027# CONFIG_MFD_TMIO is not set
993 1028
994# 1029#
995# Multimedia devices 1030# Multimedia devices
@@ -1028,10 +1063,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
1028CONFIG_VGA_CONSOLE=y 1063CONFIG_VGA_CONSOLE=y
1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1064# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1030CONFIG_DUMMY_CONSOLE=y 1065CONFIG_DUMMY_CONSOLE=y
1031
1032#
1033# Sound
1034#
1035# CONFIG_SOUND is not set 1066# CONFIG_SOUND is not set
1036CONFIG_HID_SUPPORT=y 1067CONFIG_HID_SUPPORT=y
1037CONFIG_HID=y 1068CONFIG_HID=y
@@ -1060,6 +1091,7 @@ CONFIG_USB_DEVICEFS=y
1060# CONFIG_USB_DEVICE_CLASS is not set 1091# CONFIG_USB_DEVICE_CLASS is not set
1061# CONFIG_USB_DYNAMIC_MINORS is not set 1092# CONFIG_USB_DYNAMIC_MINORS is not set
1062# CONFIG_USB_OTG is not set 1093# CONFIG_USB_OTG is not set
1094CONFIG_USB_MON=y
1063 1095
1064# 1096#
1065# USB Host Controller Drivers 1097# USB Host Controller Drivers
@@ -1102,7 +1134,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1102# 1134#
1103# CONFIG_USB_MDC800 is not set 1135# CONFIG_USB_MDC800 is not set
1104# CONFIG_USB_MICROTEK is not set 1136# CONFIG_USB_MICROTEK is not set
1105CONFIG_USB_MON=y
1106 1137
1107# 1138#
1108# USB port drivers 1139# USB port drivers
@@ -1115,7 +1146,6 @@ CONFIG_USB_MON=y
1115# CONFIG_USB_EMI62 is not set 1146# CONFIG_USB_EMI62 is not set
1116# CONFIG_USB_EMI26 is not set 1147# CONFIG_USB_EMI26 is not set
1117# CONFIG_USB_ADUTUX is not set 1148# CONFIG_USB_ADUTUX is not set
1118# CONFIG_USB_AUERSWALD is not set
1119# CONFIG_USB_RIO500 is not set 1149# CONFIG_USB_RIO500 is not set
1120# CONFIG_USB_LEGOTOWER is not set 1150# CONFIG_USB_LEGOTOWER is not set
1121# CONFIG_USB_LCD is not set 1151# CONFIG_USB_LCD is not set
@@ -1169,6 +1199,7 @@ CONFIG_RTC_DRV_MAX6900=y
1169# CONFIG_RTC_DRV_PCF8583 is not set 1199# CONFIG_RTC_DRV_PCF8583 is not set
1170# CONFIG_RTC_DRV_M41T80 is not set 1200# CONFIG_RTC_DRV_M41T80 is not set
1171# CONFIG_RTC_DRV_S35390A is not set 1201# CONFIG_RTC_DRV_S35390A is not set
1202# CONFIG_RTC_DRV_FM3130 is not set
1172 1203
1173# 1204#
1174# SPI RTC drivers 1205# SPI RTC drivers
@@ -1258,6 +1289,7 @@ CONFIG_TMPFS=y
1258# CONFIG_CRAMFS is not set 1289# CONFIG_CRAMFS is not set
1259# CONFIG_VXFS_FS is not set 1290# CONFIG_VXFS_FS is not set
1260# CONFIG_MINIX_FS is not set 1291# CONFIG_MINIX_FS is not set
1292# CONFIG_OMFS_FS is not set
1261# CONFIG_HPFS_FS is not set 1293# CONFIG_HPFS_FS is not set
1262# CONFIG_QNX4FS_FS is not set 1294# CONFIG_QNX4FS_FS is not set
1263# CONFIG_ROMFS_FS is not set 1295# CONFIG_ROMFS_FS is not set
@@ -1267,12 +1299,11 @@ CONFIG_NETWORK_FILESYSTEMS=y
1267CONFIG_NFS_FS=y 1299CONFIG_NFS_FS=y
1268# CONFIG_NFS_V3 is not set 1300# CONFIG_NFS_V3 is not set
1269# CONFIG_NFS_V4 is not set 1301# CONFIG_NFS_V4 is not set
1270# CONFIG_NFSD is not set
1271CONFIG_ROOT_NFS=y 1302CONFIG_ROOT_NFS=y
1303# CONFIG_NFSD is not set
1272CONFIG_LOCKD=y 1304CONFIG_LOCKD=y
1273CONFIG_NFS_COMMON=y 1305CONFIG_NFS_COMMON=y
1274CONFIG_SUNRPC=y 1306CONFIG_SUNRPC=y
1275# CONFIG_SUNRPC_BIND34 is not set
1276# CONFIG_RPCSEC_GSS_KRB5 is not set 1307# CONFIG_RPCSEC_GSS_KRB5 is not set
1277# CONFIG_RPCSEC_GSS_SPKM3 is not set 1308# CONFIG_RPCSEC_GSS_SPKM3 is not set
1278# CONFIG_SMB_FS is not set 1309# CONFIG_SMB_FS is not set
@@ -1312,6 +1343,7 @@ CONFIG_BITREVERSE=y
1312# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1343# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1313# CONFIG_CRC_CCITT is not set 1344# CONFIG_CRC_CCITT is not set
1314# CONFIG_CRC16 is not set 1345# CONFIG_CRC16 is not set
1346CONFIG_CRC_T10DIF=y
1315# CONFIG_CRC_ITU_T is not set 1347# CONFIG_CRC_ITU_T is not set
1316CONFIG_CRC32=y 1348CONFIG_CRC32=y
1317# CONFIG_CRC7 is not set 1349# CONFIG_CRC7 is not set
@@ -1337,7 +1369,16 @@ CONFIG_FRAME_WARN=1024
1337# CONFIG_SLUB_DEBUG_ON is not set 1369# CONFIG_SLUB_DEBUG_ON is not set
1338# CONFIG_SLUB_STATS is not set 1370# CONFIG_SLUB_STATS is not set
1339CONFIG_DEBUG_BUGVERBOSE=y 1371CONFIG_DEBUG_BUGVERBOSE=y
1372CONFIG_DEBUG_MEMORY_INIT=y
1373# CONFIG_LATENCYTOP is not set
1374CONFIG_SYSCTL_SYSCALL_CHECK=y
1375CONFIG_HAVE_FTRACE=y
1376CONFIG_HAVE_DYNAMIC_FTRACE=y
1377# CONFIG_FTRACE is not set
1378# CONFIG_SCHED_TRACER is not set
1379# CONFIG_CONTEXT_SWITCH_TRACER is not set
1340# CONFIG_SAMPLES is not set 1380# CONFIG_SAMPLES is not set
1381CONFIG_HAVE_ARCH_KGDB=y
1341# CONFIG_IRQSTACKS is not set 1382# CONFIG_IRQSTACKS is not set
1342# CONFIG_BOOTX_TEXT is not set 1383# CONFIG_BOOTX_TEXT is not set
1343# CONFIG_PPC_EARLY_DEBUG is not set 1384# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1390,6 +1431,10 @@ CONFIG_CRYPTO=y
1390# CONFIG_CRYPTO_MD4 is not set 1431# CONFIG_CRYPTO_MD4 is not set
1391# CONFIG_CRYPTO_MD5 is not set 1432# CONFIG_CRYPTO_MD5 is not set
1392# CONFIG_CRYPTO_MICHAEL_MIC is not set 1433# CONFIG_CRYPTO_MICHAEL_MIC is not set
1434# CONFIG_CRYPTO_RMD128 is not set
1435# CONFIG_CRYPTO_RMD160 is not set
1436# CONFIG_CRYPTO_RMD256 is not set
1437# CONFIG_CRYPTO_RMD320 is not set
1393# CONFIG_CRYPTO_SHA1 is not set 1438# CONFIG_CRYPTO_SHA1 is not set
1394# CONFIG_CRYPTO_SHA256 is not set 1439# CONFIG_CRYPTO_SHA256 is not set
1395# CONFIG_CRYPTO_SHA512 is not set 1440# CONFIG_CRYPTO_SHA512 is not set
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index f9a3d3b394cf..b6eee7c93cdd 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26 3# Linux kernel version: 2.6.27-rc3
4# Wed Jul 16 13:59:24 2008 4# Wed Aug 20 08:16:53 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -92,7 +92,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
92CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
93# CONFIG_EMBEDDED is not set 93# CONFIG_EMBEDDED is not set
94CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 95CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 96CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_EXTRA_PASS=y 97CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -118,11 +117,16 @@ CONFIG_PROFILING=y
118CONFIG_OPROFILE=m 117CONFIG_OPROFILE=m
119CONFIG_HAVE_OPROFILE=y 118CONFIG_HAVE_OPROFILE=y
120# CONFIG_KPROBES is not set 119# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
121CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y
123CONFIG_HAVE_DMA_ATTRS=y 125CONFIG_HAVE_DMA_ATTRS=y
124CONFIG_USE_GENERIC_SMP_HELPERS=y 126CONFIG_USE_GENERIC_SMP_HELPERS=y
127# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
128# CONFIG_TINY_SHMEM is not set 132# CONFIG_TINY_SHMEM is not set
@@ -179,6 +183,7 @@ CONFIG_PS3_STORAGE=y
179CONFIG_PS3_DISK=y 183CONFIG_PS3_DISK=y
180CONFIG_PS3_ROM=y 184CONFIG_PS3_ROM=y
181CONFIG_PS3_FLASH=y 185CONFIG_PS3_FLASH=y
186CONFIG_OPROFILE_PS3=y
182CONFIG_PS3_LPM=m 187CONFIG_PS3_LPM=m
183CONFIG_PPC_CELL=y 188CONFIG_PPC_CELL=y
184# CONFIG_PPC_CELL_NATIVE is not set 189# CONFIG_PPC_CELL_NATIVE is not set
@@ -218,7 +223,7 @@ CONFIG_HZ_250=y
218# CONFIG_HZ_300 is not set 223# CONFIG_HZ_300 is not set
219# CONFIG_HZ_1000 is not set 224# CONFIG_HZ_1000 is not set
220CONFIG_HZ=250 225CONFIG_HZ=250
221# CONFIG_SCHED_HRTICK is not set 226CONFIG_SCHED_HRTICK=y
222CONFIG_PREEMPT_NONE=y 227CONFIG_PREEMPT_NONE=y
223# CONFIG_PREEMPT_VOLUNTARY is not set 228# CONFIG_PREEMPT_VOLUNTARY is not set
224# CONFIG_PREEMPT is not set 229# CONFIG_PREEMPT is not set
@@ -252,8 +257,10 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
252# CONFIG_SPARSEMEM_VMEMMAP is not set 257# CONFIG_SPARSEMEM_VMEMMAP is not set
253CONFIG_MEMORY_HOTPLUG=y 258CONFIG_MEMORY_HOTPLUG=y
254CONFIG_MEMORY_HOTPLUG_SPARSE=y 259CONFIG_MEMORY_HOTPLUG_SPARSE=y
260# CONFIG_MEMORY_HOTREMOVE is not set
255CONFIG_PAGEFLAGS_EXTENDED=y 261CONFIG_PAGEFLAGS_EXTENDED=y
256CONFIG_SPLIT_PTLOCK_CPUS=4 262CONFIG_SPLIT_PTLOCK_CPUS=4
263CONFIG_MIGRATION=y
257CONFIG_RESOURCES_64BIT=y 264CONFIG_RESOURCES_64BIT=y
258CONFIG_ZONE_DMA_FLAG=1 265CONFIG_ZONE_DMA_FLAG=1
259CONFIG_BOUNCE=y 266CONFIG_BOUNCE=y
@@ -276,19 +283,17 @@ CONFIG_ISA_DMA_API=y
276# 283#
277CONFIG_ZONE_DMA=y 284CONFIG_ZONE_DMA=y
278CONFIG_GENERIC_ISA_DMA=y 285CONFIG_GENERIC_ISA_DMA=y
286CONFIG_PPC_PCI_CHOICE=y
279# CONFIG_PCI is not set 287# CONFIG_PCI is not set
280# CONFIG_PCI_DOMAINS is not set 288# CONFIG_PCI_DOMAINS is not set
281# CONFIG_PCI_SYSCALL is not set 289# CONFIG_PCI_SYSCALL is not set
282# CONFIG_ARCH_SUPPORTS_MSI is not set 290# CONFIG_ARCH_SUPPORTS_MSI is not set
283# CONFIG_PCCARD is not set 291# CONFIG_PCCARD is not set
284# CONFIG_HAS_RAPIDIO is not set 292# CONFIG_HAS_RAPIDIO is not set
293# CONFIG_RELOCATABLE is not set
285CONFIG_PAGE_OFFSET=0xc000000000000000 294CONFIG_PAGE_OFFSET=0xc000000000000000
286CONFIG_KERNEL_START=0xc000000000000000 295CONFIG_KERNEL_START=0xc000000000000000
287CONFIG_PHYSICAL_START=0x00000000 296CONFIG_PHYSICAL_START=0x00000000
288
289#
290# Networking
291#
292CONFIG_NET=y 297CONFIG_NET=y
293 298
294# 299#
@@ -399,9 +404,22 @@ CONFIG_BT_HCIUSB_SCO=y
399# 404#
400# Wireless 405# Wireless
401# 406#
402# CONFIG_CFG80211 is not set 407CONFIG_CFG80211=m
408CONFIG_NL80211=y
403CONFIG_WIRELESS_EXT=y 409CONFIG_WIRELESS_EXT=y
404# CONFIG_MAC80211 is not set 410# CONFIG_WIRELESS_EXT_SYSFS is not set
411CONFIG_MAC80211=m
412
413#
414# Rate control algorithm selection
415#
416CONFIG_MAC80211_RC_PID=y
417CONFIG_MAC80211_RC_DEFAULT_PID=y
418CONFIG_MAC80211_RC_DEFAULT="pid"
419# CONFIG_MAC80211_MESH is not set
420# CONFIG_MAC80211_LEDS is not set
421# CONFIG_MAC80211_DEBUGFS is not set
422# CONFIG_MAC80211_DEBUG_MENU is not set
405CONFIG_IEEE80211=m 423CONFIG_IEEE80211=m
406# CONFIG_IEEE80211_DEBUG is not set 424# CONFIG_IEEE80211_DEBUG is not set
407CONFIG_IEEE80211_CRYPT_WEP=m 425CONFIG_IEEE80211_CRYPT_WEP=m
@@ -420,14 +438,79 @@ CONFIG_IEEE80211_CRYPT_TKIP=m
420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 438CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
421CONFIG_STANDALONE=y 439CONFIG_STANDALONE=y
422CONFIG_PREVENT_FIRMWARE_BUILD=y 440CONFIG_PREVENT_FIRMWARE_BUILD=y
423CONFIG_FW_LOADER=m 441CONFIG_FW_LOADER=y
424# CONFIG_FIRMWARE_IN_KERNEL is not set 442# CONFIG_FIRMWARE_IN_KERNEL is not set
425CONFIG_EXTRA_FIRMWARE="" 443CONFIG_EXTRA_FIRMWARE=""
426# CONFIG_DEBUG_DRIVER is not set 444# CONFIG_DEBUG_DRIVER is not set
427# CONFIG_DEBUG_DEVRES is not set 445# CONFIG_DEBUG_DEVRES is not set
428# CONFIG_SYS_HYPERVISOR is not set 446# CONFIG_SYS_HYPERVISOR is not set
429# CONFIG_CONNECTOR is not set 447# CONFIG_CONNECTOR is not set
430# CONFIG_MTD is not set 448CONFIG_MTD=y
449CONFIG_MTD_DEBUG=y
450CONFIG_MTD_DEBUG_VERBOSE=0
451# CONFIG_MTD_CONCAT is not set
452# CONFIG_MTD_PARTITIONS is not set
453
454#
455# User Modules And Translation Layers
456#
457# CONFIG_MTD_CHAR is not set
458CONFIG_MTD_BLKDEVS=y
459CONFIG_MTD_BLOCK=y
460# CONFIG_FTL is not set
461# CONFIG_NFTL is not set
462# CONFIG_INFTL is not set
463# CONFIG_RFD_FTL is not set
464# CONFIG_SSFDC is not set
465# CONFIG_MTD_OOPS is not set
466
467#
468# RAM/ROM/Flash chip drivers
469#
470# CONFIG_MTD_CFI is not set
471# CONFIG_MTD_JEDECPROBE is not set
472CONFIG_MTD_MAP_BANK_WIDTH_1=y
473CONFIG_MTD_MAP_BANK_WIDTH_2=y
474CONFIG_MTD_MAP_BANK_WIDTH_4=y
475# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
476# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
477# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
478CONFIG_MTD_CFI_I1=y
479CONFIG_MTD_CFI_I2=y
480# CONFIG_MTD_CFI_I4 is not set
481# CONFIG_MTD_CFI_I8 is not set
482# CONFIG_MTD_RAM is not set
483# CONFIG_MTD_ROM is not set
484# CONFIG_MTD_ABSENT is not set
485
486#
487# Mapping drivers for chip access
488#
489# CONFIG_MTD_COMPLEX_MAPPINGS is not set
490# CONFIG_MTD_PLATRAM is not set
491
492#
493# Self-contained MTD device drivers
494#
495# CONFIG_MTD_SLRAM is not set
496# CONFIG_MTD_PHRAM is not set
497CONFIG_MTD_PS3VRAM=y
498# CONFIG_MTD_MTDRAM is not set
499# CONFIG_MTD_BLOCK2MTD is not set
500
501#
502# Disk-On-Chip Device Drivers
503#
504# CONFIG_MTD_DOC2000 is not set
505# CONFIG_MTD_DOC2001 is not set
506# CONFIG_MTD_DOC2001PLUS is not set
507# CONFIG_MTD_NAND is not set
508# CONFIG_MTD_ONENAND is not set
509
510#
511# UBI - Unsorted block images
512#
513# CONFIG_MTD_UBI is not set
431CONFIG_OF_DEVICE=y 514CONFIG_OF_DEVICE=y
432# CONFIG_PARPORT is not set 515# CONFIG_PARPORT is not set
433CONFIG_BLK_DEV=y 516CONFIG_BLK_DEV=y
@@ -443,6 +526,7 @@ CONFIG_BLK_DEV_RAM_SIZE=65535
443# CONFIG_BLK_DEV_XIP is not set 526# CONFIG_BLK_DEV_XIP is not set
444# CONFIG_CDROM_PKTCDVD is not set 527# CONFIG_CDROM_PKTCDVD is not set
445# CONFIG_ATA_OVER_ETH is not set 528# CONFIG_ATA_OVER_ETH is not set
529# CONFIG_BLK_DEV_HD is not set
446CONFIG_MISC_DEVICES=y 530CONFIG_MISC_DEVICES=y
447# CONFIG_EEPROM_93CX6 is not set 531# CONFIG_EEPROM_93CX6 is not set
448# CONFIG_ENCLOSURE_SERVICES is not set 532# CONFIG_ENCLOSURE_SERVICES is not set
@@ -494,7 +578,6 @@ CONFIG_SCSI_WAIT_SCAN=m
494# CONFIG_MD is not set 578# CONFIG_MD is not set
495# CONFIG_MACINTOSH_DRIVERS is not set 579# CONFIG_MACINTOSH_DRIVERS is not set
496CONFIG_NETDEVICES=y 580CONFIG_NETDEVICES=y
497# CONFIG_NETDEVICES_MULTIQUEUE is not set
498# CONFIG_DUMMY is not set 581# CONFIG_DUMMY is not set
499# CONFIG_BONDING is not set 582# CONFIG_BONDING is not set
500# CONFIG_MACVLAN is not set 583# CONFIG_MACVLAN is not set
@@ -510,9 +593,9 @@ CONFIG_MII=m
510# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 593# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
511# CONFIG_B44 is not set 594# CONFIG_B44 is not set
512CONFIG_NETDEV_1000=y 595CONFIG_NETDEV_1000=y
513# CONFIG_E1000E_ENABLED is not set
514CONFIG_GELIC_NET=y 596CONFIG_GELIC_NET=y
515CONFIG_GELIC_WIRELESS=y 597CONFIG_GELIC_WIRELESS=y
598CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE=y
516# CONFIG_NETDEV_10000 is not set 599# CONFIG_NETDEV_10000 is not set
517 600
518# 601#
@@ -523,8 +606,22 @@ CONFIG_WLAN_80211=y
523# CONFIG_LIBERTAS is not set 606# CONFIG_LIBERTAS is not set
524# CONFIG_USB_ZD1201 is not set 607# CONFIG_USB_ZD1201 is not set
525# CONFIG_USB_NET_RNDIS_WLAN is not set 608# CONFIG_USB_NET_RNDIS_WLAN is not set
609# CONFIG_RTL8187 is not set
610# CONFIG_MAC80211_HWSIM is not set
611# CONFIG_P54_COMMON is not set
526# CONFIG_IWLWIFI_LEDS is not set 612# CONFIG_IWLWIFI_LEDS is not set
527# CONFIG_HOSTAP is not set 613# CONFIG_HOSTAP is not set
614# CONFIG_B43 is not set
615# CONFIG_B43LEGACY is not set
616CONFIG_ZD1211RW=m
617# CONFIG_ZD1211RW_DEBUG is not set
618CONFIG_RT2X00=m
619CONFIG_RT2X00_LIB=m
620CONFIG_RT2X00_LIB_USB=m
621CONFIG_RT2X00_LIB_FIRMWARE=y
622# CONFIG_RT2500USB is not set
623CONFIG_RT73USB=m
624# CONFIG_RT2X00_DEBUG is not set
528 625
529# 626#
530# USB Network Adapters 627# USB Network Adapters
@@ -622,6 +719,7 @@ CONFIG_INPUT_JOYSTICK=y
622# Character devices 719# Character devices
623# 720#
624CONFIG_VT=y 721CONFIG_VT=y
722CONFIG_CONSOLE_TRANSLATIONS=y
625CONFIG_VT_CONSOLE=y 723CONFIG_VT_CONSOLE=y
626CONFIG_HW_CONSOLE=y 724CONFIG_HW_CONSOLE=y
627CONFIG_VT_HW_CONSOLE_BINDING=y 725CONFIG_VT_HW_CONSOLE_BINDING=y
@@ -647,6 +745,8 @@ CONFIG_LEGACY_PTY_COUNT=16
647# CONFIG_TCG_TPM is not set 745# CONFIG_TCG_TPM is not set
648# CONFIG_I2C is not set 746# CONFIG_I2C is not set
649# CONFIG_SPI is not set 747# CONFIG_SPI is not set
748CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
749# CONFIG_GPIOLIB is not set
650# CONFIG_W1 is not set 750# CONFIG_W1 is not set
651# CONFIG_POWER_SUPPLY is not set 751# CONFIG_POWER_SUPPLY is not set
652# CONFIG_HWMON is not set 752# CONFIG_HWMON is not set
@@ -663,8 +763,10 @@ CONFIG_SSB_POSSIBLE=y
663# 763#
664# Multifunction device drivers 764# Multifunction device drivers
665# 765#
766# CONFIG_MFD_CORE is not set
666# CONFIG_MFD_SM501 is not set 767# CONFIG_MFD_SM501 is not set
667# CONFIG_HTC_PASIC3 is not set 768# CONFIG_HTC_PASIC3 is not set
769# CONFIG_MFD_TMIO is not set
668 770
669# 771#
670# Multimedia devices 772# Multimedia devices
@@ -796,6 +898,7 @@ CONFIG_USB_DEVICEFS=y
796# CONFIG_USB_DYNAMIC_MINORS is not set 898# CONFIG_USB_DYNAMIC_MINORS is not set
797CONFIG_USB_SUSPEND=y 899CONFIG_USB_SUSPEND=y
798# CONFIG_USB_OTG is not set 900# CONFIG_USB_OTG is not set
901CONFIG_USB_MON=y
799 902
800# 903#
801# USB Host Controller Drivers 904# USB Host Controller Drivers
@@ -817,6 +920,10 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
817# CONFIG_USB_R8A66597_HCD is not set 920# CONFIG_USB_R8A66597_HCD is not set
818 921
819# 922#
923# Enable Host or Gadget support to see Inventra options
924#
925
926#
820# USB Device Class drivers 927# USB Device Class drivers
821# 928#
822# CONFIG_USB_ACM is not set 929# CONFIG_USB_ACM is not set
@@ -843,6 +950,7 @@ CONFIG_USB_STORAGE=m
843# CONFIG_USB_STORAGE_ALAUDA is not set 950# CONFIG_USB_STORAGE_ALAUDA is not set
844# CONFIG_USB_STORAGE_ONETOUCH is not set 951# CONFIG_USB_STORAGE_ONETOUCH is not set
845# CONFIG_USB_STORAGE_KARMA is not set 952# CONFIG_USB_STORAGE_KARMA is not set
953# CONFIG_USB_STORAGE_SIERRA is not set
846# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 954# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
847# CONFIG_USB_LIBUSUAL is not set 955# CONFIG_USB_LIBUSUAL is not set
848 956
@@ -851,7 +959,6 @@ CONFIG_USB_STORAGE=m
851# 959#
852# CONFIG_USB_MDC800 is not set 960# CONFIG_USB_MDC800 is not set
853# CONFIG_USB_MICROTEK is not set 961# CONFIG_USB_MICROTEK is not set
854CONFIG_USB_MON=y
855 962
856# 963#
857# USB port drivers 964# USB port drivers
@@ -864,7 +971,6 @@ CONFIG_USB_MON=y
864# CONFIG_USB_EMI62 is not set 971# CONFIG_USB_EMI62 is not set
865# CONFIG_USB_EMI26 is not set 972# CONFIG_USB_EMI26 is not set
866# CONFIG_USB_ADUTUX is not set 973# CONFIG_USB_ADUTUX is not set
867# CONFIG_USB_AUERSWALD is not set
868# CONFIG_USB_RIO500 is not set 974# CONFIG_USB_RIO500 is not set
869# CONFIG_USB_LEGOTOWER is not set 975# CONFIG_USB_LEGOTOWER is not set
870# CONFIG_USB_LCD is not set 976# CONFIG_USB_LCD is not set
@@ -998,9 +1104,11 @@ CONFIG_HUGETLB_PAGE=y
998# CONFIG_BEFS_FS is not set 1104# CONFIG_BEFS_FS is not set
999# CONFIG_BFS_FS is not set 1105# CONFIG_BFS_FS is not set
1000# CONFIG_EFS_FS is not set 1106# CONFIG_EFS_FS is not set
1107# CONFIG_JFFS2_FS is not set
1001# CONFIG_CRAMFS is not set 1108# CONFIG_CRAMFS is not set
1002# CONFIG_VXFS_FS is not set 1109# CONFIG_VXFS_FS is not set
1003# CONFIG_MINIX_FS is not set 1110# CONFIG_MINIX_FS is not set
1111# CONFIG_OMFS_FS is not set
1004# CONFIG_HPFS_FS is not set 1112# CONFIG_HPFS_FS is not set
1005# CONFIG_QNX4FS_FS is not set 1113# CONFIG_QNX4FS_FS is not set
1006# CONFIG_ROMFS_FS is not set 1114# CONFIG_ROMFS_FS is not set
@@ -1011,14 +1119,13 @@ CONFIG_NFS_FS=y
1011CONFIG_NFS_V3=y 1119CONFIG_NFS_V3=y
1012# CONFIG_NFS_V3_ACL is not set 1120# CONFIG_NFS_V3_ACL is not set
1013CONFIG_NFS_V4=y 1121CONFIG_NFS_V4=y
1014# CONFIG_NFSD is not set
1015CONFIG_ROOT_NFS=y 1122CONFIG_ROOT_NFS=y
1123# CONFIG_NFSD is not set
1016CONFIG_LOCKD=y 1124CONFIG_LOCKD=y
1017CONFIG_LOCKD_V4=y 1125CONFIG_LOCKD_V4=y
1018CONFIG_NFS_COMMON=y 1126CONFIG_NFS_COMMON=y
1019CONFIG_SUNRPC=y 1127CONFIG_SUNRPC=y
1020CONFIG_SUNRPC_GSS=y 1128CONFIG_SUNRPC_GSS=y
1021# CONFIG_SUNRPC_BIND34 is not set
1022CONFIG_RPCSEC_GSS_KRB5=y 1129CONFIG_RPCSEC_GSS_KRB5=y
1023# CONFIG_RPCSEC_GSS_SPKM3 is not set 1130# CONFIG_RPCSEC_GSS_SPKM3 is not set
1024# CONFIG_SMB_FS is not set 1131# CONFIG_SMB_FS is not set
@@ -1086,7 +1193,7 @@ CONFIG_BITREVERSE=y
1086# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1193# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1087CONFIG_CRC_CCITT=m 1194CONFIG_CRC_CCITT=m
1088# CONFIG_CRC16 is not set 1195# CONFIG_CRC16 is not set
1089# CONFIG_CRC_T10DIF is not set 1196CONFIG_CRC_T10DIF=y
1090CONFIG_CRC_ITU_T=m 1197CONFIG_CRC_ITU_T=m
1091CONFIG_CRC32=y 1198CONFIG_CRC32=y
1092# CONFIG_CRC7 is not set 1199# CONFIG_CRC7 is not set
@@ -1115,6 +1222,8 @@ CONFIG_DEBUG_FS=y
1115CONFIG_DEBUG_KERNEL=y 1222CONFIG_DEBUG_KERNEL=y
1116# CONFIG_DEBUG_SHIRQ is not set 1223# CONFIG_DEBUG_SHIRQ is not set
1117CONFIG_DETECT_SOFTLOCKUP=y 1224CONFIG_DETECT_SOFTLOCKUP=y
1225# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1226CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1118CONFIG_SCHED_DEBUG=y 1227CONFIG_SCHED_DEBUG=y
1119# CONFIG_SCHEDSTATS is not set 1228# CONFIG_SCHEDSTATS is not set
1120# CONFIG_TIMER_STATS is not set 1229# CONFIG_TIMER_STATS is not set
@@ -1138,6 +1247,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
1138CONFIG_DEBUG_INFO=y 1247CONFIG_DEBUG_INFO=y
1139# CONFIG_DEBUG_VM is not set 1248# CONFIG_DEBUG_VM is not set
1140CONFIG_DEBUG_WRITECOUNT=y 1249CONFIG_DEBUG_WRITECOUNT=y
1250CONFIG_DEBUG_MEMORY_INIT=y
1141CONFIG_DEBUG_LIST=y 1251CONFIG_DEBUG_LIST=y
1142# CONFIG_DEBUG_SG is not set 1252# CONFIG_DEBUG_SG is not set
1143CONFIG_FRAME_POINTER=y 1253CONFIG_FRAME_POINTER=y
@@ -1146,6 +1256,7 @@ CONFIG_FRAME_POINTER=y
1146# CONFIG_BACKTRACE_SELF_TEST is not set 1256# CONFIG_BACKTRACE_SELF_TEST is not set
1147# CONFIG_FAULT_INJECTION is not set 1257# CONFIG_FAULT_INJECTION is not set
1148# CONFIG_LATENCYTOP is not set 1258# CONFIG_LATENCYTOP is not set
1259CONFIG_SYSCTL_SYSCALL_CHECK=y
1149CONFIG_HAVE_FTRACE=y 1260CONFIG_HAVE_FTRACE=y
1150CONFIG_HAVE_DYNAMIC_FTRACE=y 1261CONFIG_HAVE_DYNAMIC_FTRACE=y
1151# CONFIG_FTRACE is not set 1262# CONFIG_FTRACE is not set
@@ -1153,12 +1264,14 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
1153# CONFIG_SCHED_TRACER is not set 1264# CONFIG_SCHED_TRACER is not set
1154# CONFIG_CONTEXT_SWITCH_TRACER is not set 1265# CONFIG_CONTEXT_SWITCH_TRACER is not set
1155# CONFIG_SAMPLES is not set 1266# CONFIG_SAMPLES is not set
1267CONFIG_HAVE_ARCH_KGDB=y
1268# CONFIG_KGDB is not set
1156CONFIG_DEBUG_STACKOVERFLOW=y 1269CONFIG_DEBUG_STACKOVERFLOW=y
1157# CONFIG_DEBUG_STACK_USAGE is not set 1270# CONFIG_DEBUG_STACK_USAGE is not set
1158# CONFIG_DEBUG_PAGEALLOC is not set 1271# CONFIG_DEBUG_PAGEALLOC is not set
1159# CONFIG_DEBUGGER is not set
1160# CONFIG_CODE_PATCHING_SELFTEST is not set 1272# CONFIG_CODE_PATCHING_SELFTEST is not set
1161# CONFIG_FTR_FIXUP_SELFTEST is not set 1273# CONFIG_FTR_FIXUP_SELFTEST is not set
1274# CONFIG_XMON is not set
1162CONFIG_IRQSTACKS=y 1275CONFIG_IRQSTACKS=y
1163# CONFIG_VIRQ_DEBUG is not set 1276# CONFIG_VIRQ_DEBUG is not set
1164# CONFIG_BOOTX_TEXT is not set 1277# CONFIG_BOOTX_TEXT is not set
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index fe6ffa683d78..e77c5e7a0be2 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc3 3# Linux kernel version: 2.6.27-rc4
4# Tue May 20 20:03:28 2008 4# Tue Aug 26 13:31:07 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -14,6 +14,7 @@ CONFIG_POWER4=y
14# CONFIG_TUNE_CELL is not set 14# CONFIG_TUNE_CELL is not set
15CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
16CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
17CONFIG_VSX=y
17CONFIG_PPC_STD_MMU=y 18CONFIG_PPC_STD_MMU=y
18CONFIG_PPC_MM_SLICES=y 19CONFIG_PPC_MM_SLICES=y
19CONFIG_VIRT_CPU_ACCOUNTING=y 20CONFIG_VIRT_CPU_ACCOUNTING=y
@@ -31,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
31CONFIG_HAVE_SETUP_PER_CPU_AREA=y 32CONFIG_HAVE_SETUP_PER_CPU_AREA=y
32CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
33CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
34CONFIG_TRACE_IRQFLAGS_SUPPORT=y 36CONFIG_TRACE_IRQFLAGS_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -104,7 +106,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
104CONFIG_SYSCTL=y 106CONFIG_SYSCTL=y
105# CONFIG_EMBEDDED is not set 107# CONFIG_EMBEDDED is not set
106CONFIG_SYSCTL_SYSCALL=y 108CONFIG_SYSCTL_SYSCALL=y
107CONFIG_SYSCTL_SYSCALL_CHECK=y
108CONFIG_KALLSYMS=y 109CONFIG_KALLSYMS=y
109CONFIG_KALLSYMS_ALL=y 110CONFIG_KALLSYMS_ALL=y
110# CONFIG_KALLSYMS_EXTRA_PASS is not set 111# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -132,11 +133,17 @@ CONFIG_MARKERS=y
132CONFIG_OPROFILE=y 133CONFIG_OPROFILE=y
133CONFIG_HAVE_OPROFILE=y 134CONFIG_HAVE_OPROFILE=y
134CONFIG_KPROBES=y 135CONFIG_KPROBES=y
136CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
135CONFIG_KRETPROBES=y 137CONFIG_KRETPROBES=y
138CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 139CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 140CONFIG_HAVE_KRETPROBES=y
138# CONFIG_HAVE_DMA_ATTRS is not set 141CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y
143CONFIG_USE_GENERIC_SMP_HELPERS=y
144# CONFIG_HAVE_CLK is not set
139CONFIG_PROC_PAGE_MONITOR=y 145CONFIG_PROC_PAGE_MONITOR=y
146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
140CONFIG_SLABINFO=y 147CONFIG_SLABINFO=y
141CONFIG_RT_MUTEXES=y 148CONFIG_RT_MUTEXES=y
142# CONFIG_TINY_SHMEM is not set 149# CONFIG_TINY_SHMEM is not set
@@ -152,6 +159,7 @@ CONFIG_STOP_MACHINE=y
152CONFIG_BLOCK=y 159CONFIG_BLOCK=y
153# CONFIG_BLK_DEV_IO_TRACE is not set 160# CONFIG_BLK_DEV_IO_TRACE is not set
154CONFIG_BLK_DEV_BSG=y 161CONFIG_BLK_DEV_BSG=y
162# CONFIG_BLK_DEV_INTEGRITY is not set
155CONFIG_BLOCK_COMPAT=y 163CONFIG_BLOCK_COMPAT=y
156 164
157# 165#
@@ -172,17 +180,14 @@ CONFIG_CLASSIC_RCU=y
172# Platform support 180# Platform support
173# 181#
174CONFIG_PPC_MULTIPLATFORM=y 182CONFIG_PPC_MULTIPLATFORM=y
175# CONFIG_PPC_82xx is not set
176# CONFIG_PPC_83xx is not set
177# CONFIG_PPC_86xx is not set
178CONFIG_PPC_PSERIES=y 183CONFIG_PPC_PSERIES=y
179CONFIG_PPC_SPLPAR=y 184CONFIG_PPC_SPLPAR=y
180CONFIG_EEH=y 185CONFIG_EEH=y
181CONFIG_SCANLOG=m 186CONFIG_SCANLOG=m
182CONFIG_LPARCFG=y 187CONFIG_LPARCFG=y
188CONFIG_PPC_SMLPAR=y
189CONFIG_CMM=y
183# CONFIG_PPC_ISERIES is not set 190# CONFIG_PPC_ISERIES is not set
184# CONFIG_PPC_MPC512x is not set
185# CONFIG_PPC_MPC5121 is not set
186# CONFIG_PPC_PMAC is not set 191# CONFIG_PPC_PMAC is not set
187# CONFIG_PPC_MAPLE is not set 192# CONFIG_PPC_MAPLE is not set
188# CONFIG_PPC_PASEMI is not set 193# CONFIG_PPC_PASEMI is not set
@@ -226,7 +231,7 @@ CONFIG_HZ_250=y
226# CONFIG_HZ_300 is not set 231# CONFIG_HZ_300 is not set
227# CONFIG_HZ_1000 is not set 232# CONFIG_HZ_1000 is not set
228CONFIG_HZ=250 233CONFIG_HZ=250
229# CONFIG_SCHED_HRTICK is not set 234CONFIG_SCHED_HRTICK=y
230CONFIG_PREEMPT_NONE=y 235CONFIG_PREEMPT_NONE=y
231# CONFIG_PREEMPT_VOLUNTARY is not set 236# CONFIG_PREEMPT_VOLUNTARY is not set
232# CONFIG_PREEMPT is not set 237# CONFIG_PREEMPT is not set
@@ -275,6 +280,7 @@ CONFIG_FORCE_MAX_ZONEORDER=13
275CONFIG_SCHED_SMT=y 280CONFIG_SCHED_SMT=y
276CONFIG_PROC_DEVICETREE=y 281CONFIG_PROC_DEVICETREE=y
277# CONFIG_CMDLINE_BOOL is not set 282# CONFIG_CMDLINE_BOOL is not set
283CONFIG_EXTRA_TARGETS=""
278# CONFIG_PM is not set 284# CONFIG_PM is not set
279CONFIG_SECCOMP=y 285CONFIG_SECCOMP=y
280CONFIG_ISA_DMA_API=y 286CONFIG_ISA_DMA_API=y
@@ -304,10 +310,6 @@ CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
304CONFIG_PAGE_OFFSET=0xc000000000000000 310CONFIG_PAGE_OFFSET=0xc000000000000000
305CONFIG_KERNEL_START=0xc000000000000000 311CONFIG_KERNEL_START=0xc000000000000000
306CONFIG_PHYSICAL_START=0x00000000 312CONFIG_PHYSICAL_START=0x00000000
307
308#
309# Networking
310#
311CONFIG_NET=y 313CONFIG_NET=y
312 314
313# 315#
@@ -321,6 +323,7 @@ CONFIG_XFRM_USER=m
321# CONFIG_XFRM_SUB_POLICY is not set 323# CONFIG_XFRM_SUB_POLICY is not set
322# CONFIG_XFRM_MIGRATE is not set 324# CONFIG_XFRM_MIGRATE is not set
323# CONFIG_XFRM_STATISTICS is not set 325# CONFIG_XFRM_STATISTICS is not set
326CONFIG_XFRM_IPCOMP=m
324CONFIG_NET_KEY=m 327CONFIG_NET_KEY=m
325# CONFIG_NET_KEY_MIGRATE is not set 328# CONFIG_NET_KEY_MIGRATE is not set
326CONFIG_INET=y 329CONFIG_INET=y
@@ -498,6 +501,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
498CONFIG_STANDALONE=y 501CONFIG_STANDALONE=y
499CONFIG_PREVENT_FIRMWARE_BUILD=y 502CONFIG_PREVENT_FIRMWARE_BUILD=y
500CONFIG_FW_LOADER=y 503CONFIG_FW_LOADER=y
504CONFIG_FIRMWARE_IN_KERNEL=y
505CONFIG_EXTRA_FIRMWARE=""
501# CONFIG_DEBUG_DRIVER is not set 506# CONFIG_DEBUG_DRIVER is not set
502# CONFIG_DEBUG_DEVRES is not set 507# CONFIG_DEBUG_DEVRES is not set
503# CONFIG_SYS_HYPERVISOR is not set 508# CONFIG_SYS_HYPERVISOR is not set
@@ -531,12 +536,14 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
531# CONFIG_BLK_DEV_XIP is not set 536# CONFIG_BLK_DEV_XIP is not set
532# CONFIG_CDROM_PKTCDVD is not set 537# CONFIG_CDROM_PKTCDVD is not set
533# CONFIG_ATA_OVER_ETH is not set 538# CONFIG_ATA_OVER_ETH is not set
539# CONFIG_BLK_DEV_HD is not set
534CONFIG_MISC_DEVICES=y 540CONFIG_MISC_DEVICES=y
535# CONFIG_PHANTOM is not set 541# CONFIG_PHANTOM is not set
536# CONFIG_EEPROM_93CX6 is not set 542# CONFIG_EEPROM_93CX6 is not set
537# CONFIG_SGI_IOC4 is not set 543# CONFIG_SGI_IOC4 is not set
538# CONFIG_TIFM_CORE is not set 544# CONFIG_TIFM_CORE is not set
539# CONFIG_ENCLOSURE_SERVICES is not set 545# CONFIG_ENCLOSURE_SERVICES is not set
546# CONFIG_HP_ILO is not set
540CONFIG_HAVE_IDE=y 547CONFIG_HAVE_IDE=y
541CONFIG_IDE=y 548CONFIG_IDE=y
542CONFIG_BLK_DEV_IDE=y 549CONFIG_BLK_DEV_IDE=y
@@ -544,6 +551,7 @@ CONFIG_BLK_DEV_IDE=y
544# 551#
545# Please see Documentation/ide/ide.txt for help/info on IDE drives 552# Please see Documentation/ide/ide.txt for help/info on IDE drives
546# 553#
554CONFIG_IDE_TIMINGS=y
547# CONFIG_BLK_DEV_IDE_SATA is not set 555# CONFIG_BLK_DEV_IDE_SATA is not set
548CONFIG_BLK_DEV_IDEDISK=y 556CONFIG_BLK_DEV_IDEDISK=y
549# CONFIG_IDEDISK_MULTI_MODE is not set 557# CONFIG_IDEDISK_MULTI_MODE is not set
@@ -575,10 +583,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
575CONFIG_BLK_DEV_AMD74XX=y 583CONFIG_BLK_DEV_AMD74XX=y
576# CONFIG_BLK_DEV_CMD64X is not set 584# CONFIG_BLK_DEV_CMD64X is not set
577# CONFIG_BLK_DEV_TRIFLEX is not set 585# CONFIG_BLK_DEV_TRIFLEX is not set
578# CONFIG_BLK_DEV_CY82C693 is not set
579# CONFIG_BLK_DEV_CS5520 is not set 586# CONFIG_BLK_DEV_CS5520 is not set
580# CONFIG_BLK_DEV_CS5530 is not set 587# CONFIG_BLK_DEV_CS5530 is not set
581# CONFIG_BLK_DEV_HPT34X is not set
582# CONFIG_BLK_DEV_HPT366 is not set 588# CONFIG_BLK_DEV_HPT366 is not set
583# CONFIG_BLK_DEV_JMICRON is not set 589# CONFIG_BLK_DEV_JMICRON is not set
584# CONFIG_BLK_DEV_SC1200 is not set 590# CONFIG_BLK_DEV_SC1200 is not set
@@ -596,8 +602,6 @@ CONFIG_BLK_DEV_AMD74XX=y
596# CONFIG_BLK_DEV_VIA82CXXX is not set 602# CONFIG_BLK_DEV_VIA82CXXX is not set
597# CONFIG_BLK_DEV_TC86C001 is not set 603# CONFIG_BLK_DEV_TC86C001 is not set
598CONFIG_BLK_DEV_IDEDMA=y 604CONFIG_BLK_DEV_IDEDMA=y
599# CONFIG_BLK_DEV_HD_ONLY is not set
600# CONFIG_BLK_DEV_HD is not set
601 605
602# 606#
603# SCSI device support 607# SCSI device support
@@ -659,6 +663,8 @@ CONFIG_SCSI_LOWLEVEL=y
659# CONFIG_SCSI_GDTH is not set 663# CONFIG_SCSI_GDTH is not set
660# CONFIG_SCSI_IPS is not set 664# CONFIG_SCSI_IPS is not set
661CONFIG_SCSI_IBMVSCSI=y 665CONFIG_SCSI_IBMVSCSI=y
666CONFIG_SCSI_IBMVFC=m
667CONFIG_SCSI_IBMVFC_TRACE=y
662# CONFIG_SCSI_INITIO is not set 668# CONFIG_SCSI_INITIO is not set
663# CONFIG_SCSI_INIA100 is not set 669# CONFIG_SCSI_INIA100 is not set
664# CONFIG_SCSI_PPA is not set 670# CONFIG_SCSI_PPA is not set
@@ -681,6 +687,7 @@ CONFIG_SCSI_LPFC=m
681# CONFIG_SCSI_DC390T is not set 687# CONFIG_SCSI_DC390T is not set
682# CONFIG_SCSI_DEBUG is not set 688# CONFIG_SCSI_DEBUG is not set
683# CONFIG_SCSI_SRP is not set 689# CONFIG_SCSI_SRP is not set
690# CONFIG_SCSI_DH is not set
684CONFIG_ATA=y 691CONFIG_ATA=y
685# CONFIG_ATA_NONSTANDARD is not set 692# CONFIG_ATA_NONSTANDARD is not set
686CONFIG_SATA_PMP=y 693CONFIG_SATA_PMP=y
@@ -703,9 +710,6 @@ CONFIG_DM_SNAPSHOT=m
703CONFIG_DM_MIRROR=m 710CONFIG_DM_MIRROR=m
704CONFIG_DM_ZERO=m 711CONFIG_DM_ZERO=m
705CONFIG_DM_MULTIPATH=m 712CONFIG_DM_MULTIPATH=m
706CONFIG_DM_MULTIPATH_EMC=m
707# CONFIG_DM_MULTIPATH_RDAC is not set
708# CONFIG_DM_MULTIPATH_HP is not set
709# CONFIG_DM_DELAY is not set 713# CONFIG_DM_DELAY is not set
710# CONFIG_DM_UEVENT is not set 714# CONFIG_DM_UEVENT is not set
711# CONFIG_FUSION is not set 715# CONFIG_FUSION is not set
@@ -713,12 +717,15 @@ CONFIG_DM_MULTIPATH_EMC=m
713# 717#
714# IEEE 1394 (FireWire) support 718# IEEE 1394 (FireWire) support
715# 719#
720
721#
722# Enable only one of the two stacks, unless you know what you are doing
723#
716# CONFIG_FIREWIRE is not set 724# CONFIG_FIREWIRE is not set
717# CONFIG_IEEE1394 is not set 725# CONFIG_IEEE1394 is not set
718# CONFIG_I2O is not set 726# CONFIG_I2O is not set
719# CONFIG_MACINTOSH_DRIVERS is not set 727# CONFIG_MACINTOSH_DRIVERS is not set
720CONFIG_NETDEVICES=y 728CONFIG_NETDEVICES=y
721# CONFIG_NETDEVICES_MULTIQUEUE is not set
722CONFIG_DUMMY=m 729CONFIG_DUMMY=m
723CONFIG_BONDING=m 730CONFIG_BONDING=m
724# CONFIG_MACVLAN is not set 731# CONFIG_MACVLAN is not set
@@ -726,7 +733,23 @@ CONFIG_BONDING=m
726CONFIG_TUN=m 733CONFIG_TUN=m
727# CONFIG_VETH is not set 734# CONFIG_VETH is not set
728# CONFIG_ARCNET is not set 735# CONFIG_ARCNET is not set
729# CONFIG_PHYLIB is not set 736CONFIG_PHYLIB=y
737
738#
739# MII PHY device drivers
740#
741# CONFIG_MARVELL_PHY is not set
742# CONFIG_DAVICOM_PHY is not set
743# CONFIG_QSEMI_PHY is not set
744# CONFIG_LXT_PHY is not set
745# CONFIG_CICADA_PHY is not set
746# CONFIG_VITESSE_PHY is not set
747# CONFIG_SMSC_PHY is not set
748# CONFIG_BROADCOM_PHY is not set
749# CONFIG_ICPLUS_PHY is not set
750# CONFIG_REALTEK_PHY is not set
751# CONFIG_FIXED_PHY is not set
752# CONFIG_MDIO_BITBANG is not set
730CONFIG_NET_ETHERNET=y 753CONFIG_NET_ETHERNET=y
731CONFIG_MII=y 754CONFIG_MII=y
732# CONFIG_HAPPYMEAL is not set 755# CONFIG_HAPPYMEAL is not set
@@ -759,6 +782,7 @@ CONFIG_E100=y
759# CONFIG_SIS900 is not set 782# CONFIG_SIS900 is not set
760# CONFIG_EPIC100 is not set 783# CONFIG_EPIC100 is not set
761# CONFIG_SUNDANCE is not set 784# CONFIG_SUNDANCE is not set
785# CONFIG_TLAN is not set
762# CONFIG_VIA_RHINE is not set 786# CONFIG_VIA_RHINE is not set
763# CONFIG_SC92031 is not set 787# CONFIG_SC92031 is not set
764# CONFIG_NET_POCKET is not set 788# CONFIG_NET_POCKET is not set
@@ -767,10 +791,8 @@ CONFIG_ACENIC=y
767CONFIG_ACENIC_OMIT_TIGON_I=y 791CONFIG_ACENIC_OMIT_TIGON_I=y
768# CONFIG_DL2K is not set 792# CONFIG_DL2K is not set
769CONFIG_E1000=y 793CONFIG_E1000=y
770# CONFIG_E1000_NAPI is not set
771# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 794# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
772# CONFIG_E1000E is not set 795# CONFIG_E1000E is not set
773# CONFIG_E1000E_ENABLED is not set
774# CONFIG_IP1000 is not set 796# CONFIG_IP1000 is not set
775# CONFIG_IGB is not set 797# CONFIG_IGB is not set
776# CONFIG_NS83820 is not set 798# CONFIG_NS83820 is not set
@@ -785,14 +807,14 @@ CONFIG_TIGON3=y
785# CONFIG_BNX2 is not set 807# CONFIG_BNX2 is not set
786# CONFIG_QLA3XXX is not set 808# CONFIG_QLA3XXX is not set
787# CONFIG_ATL1 is not set 809# CONFIG_ATL1 is not set
810# CONFIG_ATL1E is not set
788CONFIG_NETDEV_10000=y 811CONFIG_NETDEV_10000=y
789# CONFIG_CHELSIO_T1 is not set 812# CONFIG_CHELSIO_T1 is not set
790# CONFIG_CHELSIO_T3 is not set 813# CONFIG_CHELSIO_T3 is not set
814CONFIG_EHEA=y
791# CONFIG_IXGBE is not set 815# CONFIG_IXGBE is not set
792CONFIG_IXGB=m 816CONFIG_IXGB=m
793# CONFIG_IXGB_NAPI is not set
794CONFIG_S2IO=m 817CONFIG_S2IO=m
795# CONFIG_S2IO_NAPI is not set
796# CONFIG_MYRI10GE is not set 818# CONFIG_MYRI10GE is not set
797# CONFIG_NETXEN_NIC is not set 819# CONFIG_NETXEN_NIC is not set
798# CONFIG_NIU is not set 820# CONFIG_NIU is not set
@@ -883,6 +905,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
883# CONFIG_MOUSE_PS2_TOUCHKIT is not set 905# CONFIG_MOUSE_PS2_TOUCHKIT is not set
884# CONFIG_MOUSE_SERIAL is not set 906# CONFIG_MOUSE_SERIAL is not set
885# CONFIG_MOUSE_APPLETOUCH is not set 907# CONFIG_MOUSE_APPLETOUCH is not set
908# CONFIG_MOUSE_BCM5974 is not set
886# CONFIG_MOUSE_VSXXXAA is not set 909# CONFIG_MOUSE_VSXXXAA is not set
887# CONFIG_INPUT_JOYSTICK is not set 910# CONFIG_INPUT_JOYSTICK is not set
888# CONFIG_INPUT_TABLET is not set 911# CONFIG_INPUT_TABLET is not set
@@ -906,12 +929,14 @@ CONFIG_SERIO_I8042=y
906# CONFIG_SERIO_PCIPS2 is not set 929# CONFIG_SERIO_PCIPS2 is not set
907CONFIG_SERIO_LIBPS2=y 930CONFIG_SERIO_LIBPS2=y
908# CONFIG_SERIO_RAW is not set 931# CONFIG_SERIO_RAW is not set
932# CONFIG_SERIO_XILINX_XPS_PS2 is not set
909# CONFIG_GAMEPORT is not set 933# CONFIG_GAMEPORT is not set
910 934
911# 935#
912# Character devices 936# Character devices
913# 937#
914CONFIG_VT=y 938CONFIG_VT=y
939CONFIG_CONSOLE_TRANSLATIONS=y
915CONFIG_VT_CONSOLE=y 940CONFIG_VT_CONSOLE=y
916CONFIG_HW_CONSOLE=y 941CONFIG_HW_CONSOLE=y
917# CONFIG_VT_HW_CONSOLE_BINDING is not set 942# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -943,6 +968,7 @@ CONFIG_LEGACY_PTY_COUNT=256
943# CONFIG_PRINTER is not set 968# CONFIG_PRINTER is not set
944# CONFIG_PPDEV is not set 969# CONFIG_PPDEV is not set
945CONFIG_HVC_DRIVER=y 970CONFIG_HVC_DRIVER=y
971CONFIG_HVC_IRQ=y
946CONFIG_HVC_CONSOLE=y 972CONFIG_HVC_CONSOLE=y
947CONFIG_HVC_RTAS=y 973CONFIG_HVC_RTAS=y
948CONFIG_HVCS=m 974CONFIG_HVCS=m
@@ -961,44 +987,65 @@ CONFIG_DEVPORT=y
961CONFIG_I2C=y 987CONFIG_I2C=y
962CONFIG_I2C_BOARDINFO=y 988CONFIG_I2C_BOARDINFO=y
963# CONFIG_I2C_CHARDEV is not set 989# CONFIG_I2C_CHARDEV is not set
990CONFIG_I2C_HELPER_AUTO=y
964CONFIG_I2C_ALGOBIT=y 991CONFIG_I2C_ALGOBIT=y
965 992
966# 993#
967# I2C Hardware Bus support 994# I2C Hardware Bus support
968# 995#
996
997#
998# PC SMBus host controller drivers
999#
969# CONFIG_I2C_ALI1535 is not set 1000# CONFIG_I2C_ALI1535 is not set
970# CONFIG_I2C_ALI1563 is not set 1001# CONFIG_I2C_ALI1563 is not set
971# CONFIG_I2C_ALI15X3 is not set 1002# CONFIG_I2C_ALI15X3 is not set
972# CONFIG_I2C_AMD756 is not set 1003# CONFIG_I2C_AMD756 is not set
973# CONFIG_I2C_AMD8111 is not set 1004# CONFIG_I2C_AMD8111 is not set
974# CONFIG_I2C_I801 is not set 1005# CONFIG_I2C_I801 is not set
975# CONFIG_I2C_I810 is not set 1006# CONFIG_I2C_ISCH is not set
976# CONFIG_I2C_PIIX4 is not set 1007# CONFIG_I2C_PIIX4 is not set
977# CONFIG_I2C_NFORCE2 is not set 1008# CONFIG_I2C_NFORCE2 is not set
978# CONFIG_I2C_OCORES is not set
979# CONFIG_I2C_PARPORT is not set
980# CONFIG_I2C_PARPORT_LIGHT is not set
981# CONFIG_I2C_PROSAVAGE is not set
982# CONFIG_I2C_SAVAGE4 is not set
983# CONFIG_I2C_SIMTEC is not set
984# CONFIG_I2C_SIS5595 is not set 1009# CONFIG_I2C_SIS5595 is not set
985# CONFIG_I2C_SIS630 is not set 1010# CONFIG_I2C_SIS630 is not set
986# CONFIG_I2C_SIS96X is not set 1011# CONFIG_I2C_SIS96X is not set
987# CONFIG_I2C_TAOS_EVM is not set
988# CONFIG_I2C_STUB is not set
989# CONFIG_I2C_TINY_USB is not set
990# CONFIG_I2C_VIA is not set 1012# CONFIG_I2C_VIA is not set
991# CONFIG_I2C_VIAPRO is not set 1013# CONFIG_I2C_VIAPRO is not set
1014
1015#
1016# I2C system bus drivers (mostly embedded / system-on-chip)
1017#
1018# CONFIG_I2C_OCORES is not set
1019# CONFIG_I2C_SIMTEC is not set
1020
1021#
1022# External I2C/SMBus adapter drivers
1023#
1024# CONFIG_I2C_PARPORT is not set
1025# CONFIG_I2C_PARPORT_LIGHT is not set
1026# CONFIG_I2C_TAOS_EVM is not set
1027# CONFIG_I2C_TINY_USB is not set
1028
1029#
1030# Graphics adapter I2C/DDC channel drivers
1031#
992# CONFIG_I2C_VOODOO3 is not set 1032# CONFIG_I2C_VOODOO3 is not set
1033
1034#
1035# Other I2C/SMBus bus drivers
1036#
993# CONFIG_I2C_PCA_PLATFORM is not set 1037# CONFIG_I2C_PCA_PLATFORM is not set
1038# CONFIG_I2C_STUB is not set
994 1039
995# 1040#
996# Miscellaneous I2C Chip support 1041# Miscellaneous I2C Chip support
997# 1042#
998# CONFIG_DS1682 is not set 1043# CONFIG_DS1682 is not set
1044# CONFIG_AT24 is not set
999# CONFIG_SENSORS_EEPROM is not set 1045# CONFIG_SENSORS_EEPROM is not set
1000# CONFIG_SENSORS_PCF8574 is not set 1046# CONFIG_SENSORS_PCF8574 is not set
1001# CONFIG_PCF8575 is not set 1047# CONFIG_PCF8575 is not set
1048# CONFIG_SENSORS_PCA9539 is not set
1002# CONFIG_SENSORS_PCF8591 is not set 1049# CONFIG_SENSORS_PCF8591 is not set
1003# CONFIG_SENSORS_MAX6875 is not set 1050# CONFIG_SENSORS_MAX6875 is not set
1004# CONFIG_SENSORS_TSL2550 is not set 1051# CONFIG_SENSORS_TSL2550 is not set
@@ -1007,10 +1054,13 @@ CONFIG_I2C_ALGOBIT=y
1007# CONFIG_I2C_DEBUG_BUS is not set 1054# CONFIG_I2C_DEBUG_BUS is not set
1008# CONFIG_I2C_DEBUG_CHIP is not set 1055# CONFIG_I2C_DEBUG_CHIP is not set
1009# CONFIG_SPI is not set 1056# CONFIG_SPI is not set
1057CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1058# CONFIG_GPIOLIB is not set
1010# CONFIG_W1 is not set 1059# CONFIG_W1 is not set
1011# CONFIG_POWER_SUPPLY is not set 1060# CONFIG_POWER_SUPPLY is not set
1012# CONFIG_HWMON is not set 1061# CONFIG_HWMON is not set
1013# CONFIG_THERMAL is not set 1062# CONFIG_THERMAL is not set
1063# CONFIG_THERMAL_HWMON is not set
1014# CONFIG_WATCHDOG is not set 1064# CONFIG_WATCHDOG is not set
1015 1065
1016# 1066#
@@ -1022,8 +1072,10 @@ CONFIG_SSB_POSSIBLE=y
1022# 1072#
1023# Multifunction device drivers 1073# Multifunction device drivers
1024# 1074#
1075# CONFIG_MFD_CORE is not set
1025# CONFIG_MFD_SM501 is not set 1076# CONFIG_MFD_SM501 is not set
1026# CONFIG_HTC_PASIC3 is not set 1077# CONFIG_HTC_PASIC3 is not set
1078# CONFIG_MFD_TMIO is not set
1027 1079
1028# 1080#
1029# Multimedia devices 1081# Multimedia devices
@@ -1102,10 +1154,13 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1102# CONFIG_FB_TRIDENT is not set 1154# CONFIG_FB_TRIDENT is not set
1103# CONFIG_FB_ARK is not set 1155# CONFIG_FB_ARK is not set
1104# CONFIG_FB_PM3 is not set 1156# CONFIG_FB_PM3 is not set
1157# CONFIG_FB_CARMINE is not set
1105CONFIG_FB_IBM_GXT4500=y 1158CONFIG_FB_IBM_GXT4500=y
1106# CONFIG_FB_VIRTUAL is not set 1159# CONFIG_FB_VIRTUAL is not set
1107CONFIG_BACKLIGHT_LCD_SUPPORT=y 1160CONFIG_BACKLIGHT_LCD_SUPPORT=y
1108CONFIG_LCD_CLASS_DEVICE=m 1161CONFIG_LCD_CLASS_DEVICE=m
1162# CONFIG_LCD_ILI9320 is not set
1163CONFIG_LCD_PLATFORM=m
1109CONFIG_BACKLIGHT_CLASS_DEVICE=y 1164CONFIG_BACKLIGHT_CLASS_DEVICE=y
1110# CONFIG_BACKLIGHT_CORGI is not set 1165# CONFIG_BACKLIGHT_CORGI is not set
1111 1166
@@ -1133,10 +1188,6 @@ CONFIG_LOGO=y
1133CONFIG_LOGO_LINUX_MONO=y 1188CONFIG_LOGO_LINUX_MONO=y
1134CONFIG_LOGO_LINUX_VGA16=y 1189CONFIG_LOGO_LINUX_VGA16=y
1135CONFIG_LOGO_LINUX_CLUT224=y 1190CONFIG_LOGO_LINUX_CLUT224=y
1136
1137#
1138# Sound
1139#
1140# CONFIG_SOUND is not set 1191# CONFIG_SOUND is not set
1141CONFIG_HID_SUPPORT=y 1192CONFIG_HID_SUPPORT=y
1142CONFIG_HID=y 1193CONFIG_HID=y
@@ -1165,6 +1216,7 @@ CONFIG_USB_DEVICEFS=y
1165CONFIG_USB_DEVICE_CLASS=y 1216CONFIG_USB_DEVICE_CLASS=y
1166# CONFIG_USB_DYNAMIC_MINORS is not set 1217# CONFIG_USB_DYNAMIC_MINORS is not set
1167# CONFIG_USB_OTG is not set 1218# CONFIG_USB_OTG is not set
1219CONFIG_USB_MON=y
1168 1220
1169# 1221#
1170# USB Host Controller Drivers 1222# USB Host Controller Drivers
@@ -1190,6 +1242,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1190# 1242#
1191# CONFIG_USB_ACM is not set 1243# CONFIG_USB_ACM is not set
1192# CONFIG_USB_PRINTER is not set 1244# CONFIG_USB_PRINTER is not set
1245# CONFIG_USB_WDM is not set
1193 1246
1194# 1247#
1195# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1248# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1211,6 +1264,7 @@ CONFIG_USB_STORAGE=y
1211# CONFIG_USB_STORAGE_ALAUDA is not set 1264# CONFIG_USB_STORAGE_ALAUDA is not set
1212CONFIG_USB_STORAGE_ONETOUCH=y 1265CONFIG_USB_STORAGE_ONETOUCH=y
1213# CONFIG_USB_STORAGE_KARMA is not set 1266# CONFIG_USB_STORAGE_KARMA is not set
1267# CONFIG_USB_STORAGE_SIERRA is not set
1214# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1268# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1215# CONFIG_USB_LIBUSUAL is not set 1269# CONFIG_USB_LIBUSUAL is not set
1216 1270
@@ -1219,7 +1273,6 @@ CONFIG_USB_STORAGE_ONETOUCH=y
1219# 1273#
1220# CONFIG_USB_MDC800 is not set 1274# CONFIG_USB_MDC800 is not set
1221# CONFIG_USB_MICROTEK is not set 1275# CONFIG_USB_MICROTEK is not set
1222CONFIG_USB_MON=y
1223 1276
1224# 1277#
1225# USB port drivers 1278# USB port drivers
@@ -1233,7 +1286,6 @@ CONFIG_USB_MON=y
1233# CONFIG_USB_EMI62 is not set 1286# CONFIG_USB_EMI62 is not set
1234# CONFIG_USB_EMI26 is not set 1287# CONFIG_USB_EMI26 is not set
1235# CONFIG_USB_ADUTUX is not set 1288# CONFIG_USB_ADUTUX is not set
1236# CONFIG_USB_AUERSWALD is not set
1237# CONFIG_USB_RIO500 is not set 1289# CONFIG_USB_RIO500 is not set
1238# CONFIG_USB_LEGOTOWER is not set 1290# CONFIG_USB_LEGOTOWER is not set
1239# CONFIG_USB_LCD is not set 1291# CONFIG_USB_LCD is not set
@@ -1250,6 +1302,7 @@ CONFIG_USB_MON=y
1250# CONFIG_USB_TRANCEVIBRATOR is not set 1302# CONFIG_USB_TRANCEVIBRATOR is not set
1251# CONFIG_USB_IOWARRIOR is not set 1303# CONFIG_USB_IOWARRIOR is not set
1252# CONFIG_USB_TEST is not set 1304# CONFIG_USB_TEST is not set
1305# CONFIG_USB_ISIGHTFW is not set
1253# CONFIG_USB_GADGET is not set 1306# CONFIG_USB_GADGET is not set
1254# CONFIG_MMC is not set 1307# CONFIG_MMC is not set
1255# CONFIG_MEMSTICK is not set 1308# CONFIG_MEMSTICK is not set
@@ -1316,6 +1369,7 @@ CONFIG_XFS_POSIX_ACL=y
1316# CONFIG_GFS2_FS is not set 1369# CONFIG_GFS2_FS is not set
1317CONFIG_OCFS2_FS=m 1370CONFIG_OCFS2_FS=m
1318CONFIG_OCFS2_FS_O2CB=m 1371CONFIG_OCFS2_FS_O2CB=m
1372CONFIG_OCFS2_FS_STATS=y
1319CONFIG_OCFS2_DEBUG_MASKLOG=y 1373CONFIG_OCFS2_DEBUG_MASKLOG=y
1320# CONFIG_OCFS2_DEBUG_FS is not set 1374# CONFIG_OCFS2_DEBUG_FS is not set
1321CONFIG_DNOTIFY=y 1375CONFIG_DNOTIFY=y
@@ -1371,6 +1425,7 @@ CONFIG_CONFIGFS_FS=m
1371CONFIG_CRAMFS=y 1425CONFIG_CRAMFS=y
1372# CONFIG_VXFS_FS is not set 1426# CONFIG_VXFS_FS is not set
1373# CONFIG_MINIX_FS is not set 1427# CONFIG_MINIX_FS is not set
1428# CONFIG_OMFS_FS is not set
1374# CONFIG_HPFS_FS is not set 1429# CONFIG_HPFS_FS is not set
1375# CONFIG_QNX4FS_FS is not set 1430# CONFIG_QNX4FS_FS is not set
1376# CONFIG_ROMFS_FS is not set 1431# CONFIG_ROMFS_FS is not set
@@ -1394,7 +1449,6 @@ CONFIG_NFS_COMMON=y
1394CONFIG_SUNRPC=y 1449CONFIG_SUNRPC=y
1395CONFIG_SUNRPC_GSS=y 1450CONFIG_SUNRPC_GSS=y
1396CONFIG_SUNRPC_XPRT_RDMA=m 1451CONFIG_SUNRPC_XPRT_RDMA=m
1397# CONFIG_SUNRPC_BIND34 is not set
1398CONFIG_RPCSEC_GSS_KRB5=y 1452CONFIG_RPCSEC_GSS_KRB5=y
1399CONFIG_RPCSEC_GSS_SPKM3=m 1453CONFIG_RPCSEC_GSS_SPKM3=m
1400# CONFIG_SMB_FS is not set 1454# CONFIG_SMB_FS is not set
@@ -1463,6 +1517,7 @@ CONFIG_BITREVERSE=y
1463# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1517# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1464CONFIG_CRC_CCITT=m 1518CONFIG_CRC_CCITT=m
1465# CONFIG_CRC16 is not set 1519# CONFIG_CRC16 is not set
1520CONFIG_CRC_T10DIF=y
1466CONFIG_CRC_ITU_T=m 1521CONFIG_CRC_ITU_T=m
1467CONFIG_CRC32=y 1522CONFIG_CRC32=y
1468# CONFIG_CRC7 is not set 1523# CONFIG_CRC7 is not set
@@ -1495,8 +1550,10 @@ CONFIG_DEBUG_FS=y
1495CONFIG_DEBUG_KERNEL=y 1550CONFIG_DEBUG_KERNEL=y
1496# CONFIG_DEBUG_SHIRQ is not set 1551# CONFIG_DEBUG_SHIRQ is not set
1497CONFIG_DETECT_SOFTLOCKUP=y 1552CONFIG_DETECT_SOFTLOCKUP=y
1553# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1554CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1498CONFIG_SCHED_DEBUG=y 1555CONFIG_SCHED_DEBUG=y
1499# CONFIG_SCHEDSTATS is not set 1556CONFIG_SCHEDSTATS=y
1500# CONFIG_TIMER_STATS is not set 1557# CONFIG_TIMER_STATS is not set
1501# CONFIG_DEBUG_OBJECTS is not set 1558# CONFIG_DEBUG_OBJECTS is not set
1502# CONFIG_SLUB_DEBUG_ON is not set 1559# CONFIG_SLUB_DEBUG_ON is not set
@@ -1508,30 +1565,49 @@ CONFIG_SCHED_DEBUG=y
1508# CONFIG_DEBUG_LOCK_ALLOC is not set 1565# CONFIG_DEBUG_LOCK_ALLOC is not set
1509# CONFIG_PROVE_LOCKING is not set 1566# CONFIG_PROVE_LOCKING is not set
1510# CONFIG_LOCK_STAT is not set 1567# CONFIG_LOCK_STAT is not set
1568CONFIG_TRACE_IRQFLAGS=y
1511# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1569# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1512# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1570# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1571CONFIG_STACKTRACE=y
1513# CONFIG_DEBUG_KOBJECT is not set 1572# CONFIG_DEBUG_KOBJECT is not set
1514CONFIG_DEBUG_BUGVERBOSE=y 1573CONFIG_DEBUG_BUGVERBOSE=y
1515# CONFIG_DEBUG_INFO is not set 1574# CONFIG_DEBUG_INFO is not set
1516# CONFIG_DEBUG_VM is not set 1575# CONFIG_DEBUG_VM is not set
1517# CONFIG_DEBUG_WRITECOUNT is not set 1576# CONFIG_DEBUG_WRITECOUNT is not set
1577CONFIG_DEBUG_MEMORY_INIT=y
1518# CONFIG_DEBUG_LIST is not set 1578# CONFIG_DEBUG_LIST is not set
1519# CONFIG_DEBUG_SG is not set 1579# CONFIG_DEBUG_SG is not set
1580CONFIG_FRAME_POINTER=y
1520# CONFIG_BOOT_PRINTK_DELAY is not set 1581# CONFIG_BOOT_PRINTK_DELAY is not set
1521# CONFIG_RCU_TORTURE_TEST is not set 1582# CONFIG_RCU_TORTURE_TEST is not set
1522# CONFIG_KPROBES_SANITY_TEST is not set 1583# CONFIG_KPROBES_SANITY_TEST is not set
1523# CONFIG_BACKTRACE_SELF_TEST is not set 1584# CONFIG_BACKTRACE_SELF_TEST is not set
1524# CONFIG_LKDTM is not set 1585# CONFIG_LKDTM is not set
1525# CONFIG_FAULT_INJECTION is not set 1586# CONFIG_FAULT_INJECTION is not set
1587CONFIG_LATENCYTOP=y
1588CONFIG_SYSCTL_SYSCALL_CHECK=y
1589CONFIG_HAVE_FTRACE=y
1590CONFIG_HAVE_DYNAMIC_FTRACE=y
1591CONFIG_TRACER_MAX_TRACE=y
1592CONFIG_TRACING=y
1593# CONFIG_FTRACE is not set
1594CONFIG_IRQSOFF_TRACER=y
1595CONFIG_SCHED_TRACER=y
1596CONFIG_CONTEXT_SWITCH_TRACER=y
1597# CONFIG_FTRACE_STARTUP_TEST is not set
1526# CONFIG_SAMPLES is not set 1598# CONFIG_SAMPLES is not set
1599CONFIG_HAVE_ARCH_KGDB=y
1600# CONFIG_KGDB is not set
1527CONFIG_DEBUG_STACKOVERFLOW=y 1601CONFIG_DEBUG_STACKOVERFLOW=y
1528# CONFIG_DEBUG_STACK_USAGE is not set 1602# CONFIG_DEBUG_STACK_USAGE is not set
1529# CONFIG_DEBUG_PAGEALLOC is not set 1603# CONFIG_DEBUG_PAGEALLOC is not set
1530CONFIG_HCALL_STATS=y 1604CONFIG_HCALL_STATS=y
1531CONFIG_DEBUGGER=y 1605# CONFIG_CODE_PATCHING_SELFTEST is not set
1606# CONFIG_FTR_FIXUP_SELFTEST is not set
1532CONFIG_XMON=y 1607CONFIG_XMON=y
1533CONFIG_XMON_DEFAULT=y 1608CONFIG_XMON_DEFAULT=y
1534CONFIG_XMON_DISASSEMBLY=y 1609CONFIG_XMON_DISASSEMBLY=y
1610CONFIG_DEBUGGER=y
1535CONFIG_IRQSTACKS=y 1611CONFIG_IRQSTACKS=y
1536CONFIG_VIRQ_DEBUG=y 1612CONFIG_VIRQ_DEBUG=y
1537# CONFIG_BOOTX_TEXT is not set 1613# CONFIG_BOOTX_TEXT is not set
@@ -1590,6 +1666,10 @@ CONFIG_CRYPTO_CRC32C=m
1590CONFIG_CRYPTO_MD4=m 1666CONFIG_CRYPTO_MD4=m
1591CONFIG_CRYPTO_MD5=y 1667CONFIG_CRYPTO_MD5=y
1592CONFIG_CRYPTO_MICHAEL_MIC=m 1668CONFIG_CRYPTO_MICHAEL_MIC=m
1669# CONFIG_CRYPTO_RMD128 is not set
1670# CONFIG_CRYPTO_RMD160 is not set
1671# CONFIG_CRYPTO_RMD256 is not set
1672# CONFIG_CRYPTO_RMD320 is not set
1593CONFIG_CRYPTO_SHA1=m 1673CONFIG_CRYPTO_SHA1=m
1594CONFIG_CRYPTO_SHA256=m 1674CONFIG_CRYPTO_SHA256=m
1595CONFIG_CRYPTO_SHA512=m 1675CONFIG_CRYPTO_SHA512=m
diff --git a/arch/powerpc/configs/sbc8641d_defconfig b/arch/powerpc/configs/sbc8641d_defconfig
index 8227510b41a9..f545421f9857 100644
--- a/arch/powerpc/configs/sbc8641d_defconfig
+++ b/arch/powerpc/configs/sbc8641d_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:19 2008 4# Thu Aug 21 00:52:15 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -33,6 +33,7 @@ CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y
36CONFIG_LOCKDEP_SUPPORT=y 37CONFIG_LOCKDEP_SUPPORT=y
37CONFIG_RWSEM_XCHGADD_ALGORITHM=y 38CONFIG_RWSEM_XCHGADD_ALGORITHM=y
38CONFIG_GENERIC_LOCKBREAK=y 39CONFIG_GENERIC_LOCKBREAK=y
@@ -92,7 +93,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 93CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 94CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 95CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 96CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 97# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 98# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -100,6 +100,7 @@ CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 100CONFIG_PRINTK=y
101CONFIG_BUG=y 101CONFIG_BUG=y
102CONFIG_ELF_CORE=y 102CONFIG_ELF_CORE=y
103CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 104CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 105CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 106CONFIG_FUTEX=y
@@ -117,10 +118,16 @@ CONFIG_SLAB=y
117# CONFIG_MARKERS is not set 118# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 119CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 120# CONFIG_KPROBES is not set
121CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
122CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set 126# CONFIG_HAVE_DMA_ATTRS is not set
127CONFIG_USE_GENERIC_SMP_HELPERS=y
128# CONFIG_HAVE_CLK is not set
123CONFIG_PROC_PAGE_MONITOR=y 129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
126# CONFIG_TINY_SHMEM is not set 133# CONFIG_TINY_SHMEM is not set
@@ -138,6 +145,7 @@ CONFIG_BLOCK=y
138# CONFIG_BLK_DEV_IO_TRACE is not set 145# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_LSF is not set 146# CONFIG_LSF is not set
140# CONFIG_BLK_DEV_BSG is not set 147# CONFIG_BLK_DEV_BSG is not set
148# CONFIG_BLK_DEV_INTEGRITY is not set
141 149
142# 150#
143# IO Schedulers 151# IO Schedulers
@@ -156,30 +164,40 @@ CONFIG_CLASSIC_RCU=y
156# 164#
157# Platform support 165# Platform support
158# 166#
159# CONFIG_PPC_MULTIPLATFORM is not set 167CONFIG_PPC_MULTIPLATFORM=y
160# CONFIG_PPC_82xx is not set 168CONFIG_CLASSIC32=y
161# CONFIG_PPC_83xx is not set 169CONFIG_PPC_CHRP=y
162CONFIG_PPC_86xx=y 170# CONFIG_MPC5121_ADS is not set
163# CONFIG_PPC_MPC512x is not set 171# CONFIG_MPC5121_GENERIC is not set
164# CONFIG_PPC_MPC5121 is not set 172# CONFIG_PPC_MPC52xx is not set
173CONFIG_PPC_PMAC=y
165# CONFIG_PPC_CELL is not set 174# CONFIG_PPC_CELL is not set
166# CONFIG_PPC_CELL_NATIVE is not set 175# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set
167# CONFIG_PQ2ADS is not set 177# CONFIG_PQ2ADS is not set
178# CONFIG_PPC_83xx is not set
179CONFIG_PPC_86xx=y
168# CONFIG_MPC8641_HPCN is not set 180# CONFIG_MPC8641_HPCN is not set
169CONFIG_SBC8641D=y 181CONFIG_SBC8641D=y
170# CONFIG_MPC8610_HPCD is not set 182# CONFIG_MPC8610_HPCD is not set
171CONFIG_MPC8641=y 183CONFIG_MPC8641=y
184CONFIG_PPC_NATIVE=y
185# CONFIG_UDBG_RTAS_CONSOLE is not set
172# CONFIG_IPIC is not set 186# CONFIG_IPIC is not set
173CONFIG_MPIC=y 187CONFIG_MPIC=y
174# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 189CONFIG_PPC_I8259=y
176# CONFIG_PPC_RTAS is not set 190CONFIG_PPC_RTAS=y
191# CONFIG_RTAS_ERROR_LOGGING is not set
192CONFIG_RTAS_PROC=y
177# CONFIG_MMIO_NVRAM is not set 193# CONFIG_MMIO_NVRAM is not set
178# CONFIG_PPC_MPC106 is not set 194CONFIG_PPC_MPC106=y
179# CONFIG_PPC_970_NAP is not set 195# CONFIG_PPC_970_NAP is not set
180# CONFIG_PPC_INDIRECT_IO is not set 196# CONFIG_PPC_INDIRECT_IO is not set
181# CONFIG_GENERIC_IOMAP is not set 197# CONFIG_GENERIC_IOMAP is not set
182# CONFIG_CPU_FREQ is not set 198# CONFIG_CPU_FREQ is not set
199# CONFIG_PPC601_SYNC_FIX is not set
200# CONFIG_TAU is not set
183# CONFIG_FSL_ULI1575 is not set 201# CONFIG_FSL_ULI1575 is not set
184 202
185# 203#
@@ -195,7 +213,7 @@ CONFIG_HZ_250=y
195# CONFIG_HZ_300 is not set 213# CONFIG_HZ_300 is not set
196# CONFIG_HZ_1000 is not set 214# CONFIG_HZ_1000 is not set
197CONFIG_HZ=250 215CONFIG_HZ=250
198# CONFIG_SCHED_HRTICK is not set 216CONFIG_SCHED_HRTICK=y
199# CONFIG_PREEMPT_NONE is not set 217# CONFIG_PREEMPT_NONE is not set
200# CONFIG_PREEMPT_VOLUNTARY is not set 218# CONFIG_PREEMPT_VOLUNTARY is not set
201CONFIG_PREEMPT=y 219CONFIG_PREEMPT=y
@@ -203,9 +221,11 @@ CONFIG_PREEMPT=y
203CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
204CONFIG_BINFMT_MISC=m 222CONFIG_BINFMT_MISC=m
205# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
224# CONFIG_HOTPLUG_CPU is not set
206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
207CONFIG_ARCH_HAS_WALK_MEMORY=y 226CONFIG_ARCH_HAS_WALK_MEMORY=y
208CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 227CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
228# CONFIG_KEXEC is not set
209CONFIG_IRQ_ALL_CPUS=y 229CONFIG_IRQ_ALL_CPUS=y
210CONFIG_ARCH_FLATMEM_ENABLE=y 230CONFIG_ARCH_FLATMEM_ENABLE=y
211CONFIG_ARCH_POPULATES_NODE_MAP=y 231CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -219,6 +239,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 239# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 240CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 241CONFIG_SPLIT_PTLOCK_CPUS=4
242CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 243# CONFIG_RESOURCES_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 244CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 245CONFIG_BOUNCE=y
@@ -226,6 +247,7 @@ CONFIG_VIRT_TO_BUS=y
226CONFIG_FORCE_MAX_ZONEORDER=11 247CONFIG_FORCE_MAX_ZONEORDER=11
227# CONFIG_PROC_DEVICETREE is not set 248# CONFIG_PROC_DEVICETREE is not set
228# CONFIG_CMDLINE_BOOL is not set 249# CONFIG_CMDLINE_BOOL is not set
250CONFIG_EXTRA_TARGETS=""
229# CONFIG_PM is not set 251# CONFIG_PM is not set
230CONFIG_SECCOMP=y 252CONFIG_SECCOMP=y
231CONFIG_ISA_DMA_API=y 253CONFIG_ISA_DMA_API=y
@@ -233,11 +255,13 @@ CONFIG_ISA_DMA_API=y
233# 255#
234# Bus options 256# Bus options
235# 257#
258# CONFIG_ISA is not set
236CONFIG_ZONE_DMA=y 259CONFIG_ZONE_DMA=y
237CONFIG_GENERIC_ISA_DMA=y 260CONFIG_GENERIC_ISA_DMA=y
238CONFIG_PPC_INDIRECT_PCI=y 261CONFIG_PPC_INDIRECT_PCI=y
239CONFIG_FSL_SOC=y 262CONFIG_FSL_SOC=y
240CONFIG_FSL_PCI=y 263CONFIG_FSL_PCI=y
264CONFIG_PPC_PCI_CHOICE=y
241CONFIG_PCI=y 265CONFIG_PCI=y
242CONFIG_PCI_DOMAINS=y 266CONFIG_PCI_DOMAINS=y
243CONFIG_PCI_SYSCALL=y 267CONFIG_PCI_SYSCALL=y
@@ -265,10 +289,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
265CONFIG_KERNEL_START=0xc0000000 289CONFIG_KERNEL_START=0xc0000000
266CONFIG_PHYSICAL_START=0x00000000 290CONFIG_PHYSICAL_START=0x00000000
267CONFIG_TASK_SIZE=0xc0000000 291CONFIG_TASK_SIZE=0xc0000000
268
269#
270# Networking
271#
272CONFIG_NET=y 292CONFIG_NET=y
273 293
274# 294#
@@ -282,6 +302,7 @@ CONFIG_XFRM_USER=m
282# CONFIG_XFRM_SUB_POLICY is not set 302# CONFIG_XFRM_SUB_POLICY is not set
283# CONFIG_XFRM_MIGRATE is not set 303# CONFIG_XFRM_MIGRATE is not set
284# CONFIG_XFRM_STATISTICS is not set 304# CONFIG_XFRM_STATISTICS is not set
305CONFIG_XFRM_IPCOMP=m
285CONFIG_NET_KEY=m 306CONFIG_NET_KEY=m
286# CONFIG_NET_KEY_MIGRATE is not set 307# CONFIG_NET_KEY_MIGRATE is not set
287CONFIG_INET=y 308CONFIG_INET=y
@@ -406,6 +427,7 @@ CONFIG_IP_NF_MANGLE=m
406CONFIG_IP_NF_TARGET_ECN=m 427CONFIG_IP_NF_TARGET_ECN=m
407# CONFIG_IP_NF_TARGET_TTL is not set 428# CONFIG_IP_NF_TARGET_TTL is not set
408CONFIG_IP_NF_RAW=m 429CONFIG_IP_NF_RAW=m
430# CONFIG_IP_NF_SECURITY is not set
409CONFIG_IP_NF_ARPTABLES=m 431CONFIG_IP_NF_ARPTABLES=m
410CONFIG_IP_NF_ARPFILTER=m 432CONFIG_IP_NF_ARPFILTER=m
411CONFIG_IP_NF_ARP_MANGLE=m 433CONFIG_IP_NF_ARP_MANGLE=m
@@ -429,6 +451,7 @@ CONFIG_IP6_NF_TARGET_LOG=m
429CONFIG_IP6_NF_MANGLE=m 451CONFIG_IP6_NF_MANGLE=m
430# CONFIG_IP6_NF_TARGET_HL is not set 452# CONFIG_IP6_NF_TARGET_HL is not set
431CONFIG_IP6_NF_RAW=m 453CONFIG_IP6_NF_RAW=m
454# CONFIG_IP6_NF_SECURITY is not set
432 455
433# 456#
434# Bridge: Netfilter Configuration 457# Bridge: Netfilter Configuration
@@ -451,8 +474,10 @@ CONFIG_ATM_LANE=m
451CONFIG_ATM_MPOA=m 474CONFIG_ATM_MPOA=m
452CONFIG_ATM_BR2684=m 475CONFIG_ATM_BR2684=m
453# CONFIG_ATM_BR2684_IPFILTER is not set 476# CONFIG_ATM_BR2684_IPFILTER is not set
477CONFIG_STP=m
454CONFIG_BRIDGE=m 478CONFIG_BRIDGE=m
455CONFIG_VLAN_8021Q=m 479CONFIG_VLAN_8021Q=m
480# CONFIG_VLAN_8021Q_GVRP is not set
456# CONFIG_DECNET is not set 481# CONFIG_DECNET is not set
457CONFIG_LLC=m 482CONFIG_LLC=m
458# CONFIG_LLC2 is not set 483# CONFIG_LLC2 is not set
@@ -472,7 +497,6 @@ CONFIG_NET_SCH_HTB=m
472CONFIG_NET_SCH_HFSC=m 497CONFIG_NET_SCH_HFSC=m
473CONFIG_NET_SCH_ATM=m 498CONFIG_NET_SCH_ATM=m
474CONFIG_NET_SCH_PRIO=m 499CONFIG_NET_SCH_PRIO=m
475# CONFIG_NET_SCH_RR is not set
476CONFIG_NET_SCH_RED=m 500CONFIG_NET_SCH_RED=m
477CONFIG_NET_SCH_SFQ=m 501CONFIG_NET_SCH_SFQ=m
478CONFIG_NET_SCH_TEQL=m 502CONFIG_NET_SCH_TEQL=m
@@ -625,6 +649,7 @@ CONFIG_OF_I2C=y
625# CONFIG_PARPORT is not set 649# CONFIG_PARPORT is not set
626CONFIG_BLK_DEV=y 650CONFIG_BLK_DEV=y
627# CONFIG_BLK_DEV_FD is not set 651# CONFIG_BLK_DEV_FD is not set
652# CONFIG_MAC_FLOPPY is not set
628# CONFIG_BLK_CPQ_DA is not set 653# CONFIG_BLK_CPQ_DA is not set
629# CONFIG_BLK_CPQ_CISS_DA is not set 654# CONFIG_BLK_CPQ_CISS_DA is not set
630# CONFIG_BLK_DEV_DAC960 is not set 655# CONFIG_BLK_DEV_DAC960 is not set
@@ -640,12 +665,14 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
640# CONFIG_BLK_DEV_XIP is not set 665# CONFIG_BLK_DEV_XIP is not set
641# CONFIG_CDROM_PKTCDVD is not set 666# CONFIG_CDROM_PKTCDVD is not set
642# CONFIG_ATA_OVER_ETH is not set 667# CONFIG_ATA_OVER_ETH is not set
668# CONFIG_BLK_DEV_HD is not set
643CONFIG_MISC_DEVICES=y 669CONFIG_MISC_DEVICES=y
644# CONFIG_PHANTOM is not set 670# CONFIG_PHANTOM is not set
645# CONFIG_EEPROM_93CX6 is not set 671# CONFIG_EEPROM_93CX6 is not set
646# CONFIG_SGI_IOC4 is not set 672# CONFIG_SGI_IOC4 is not set
647# CONFIG_TIFM_CORE is not set 673# CONFIG_TIFM_CORE is not set
648# CONFIG_ENCLOSURE_SERVICES is not set 674# CONFIG_ENCLOSURE_SERVICES is not set
675# CONFIG_HP_ILO is not set
649CONFIG_HAVE_IDE=y 676CONFIG_HAVE_IDE=y
650# CONFIG_IDE is not set 677# CONFIG_IDE is not set
651 678
@@ -680,12 +707,15 @@ CONFIG_DM_ZERO=y
680# 707#
681# IEEE 1394 (FireWire) support 708# IEEE 1394 (FireWire) support
682# 709#
710
711#
712# Enable only one of the two stacks, unless you know what you are doing
713#
683# CONFIG_FIREWIRE is not set 714# CONFIG_FIREWIRE is not set
684# CONFIG_IEEE1394 is not set 715# CONFIG_IEEE1394 is not set
685# CONFIG_I2O is not set 716# CONFIG_I2O is not set
686# CONFIG_MACINTOSH_DRIVERS is not set 717# CONFIG_MACINTOSH_DRIVERS is not set
687CONFIG_NETDEVICES=y 718CONFIG_NETDEVICES=y
688# CONFIG_NETDEVICES_MULTIQUEUE is not set
689CONFIG_DUMMY=m 719CONFIG_DUMMY=m
690CONFIG_BONDING=m 720CONFIG_BONDING=m
691# CONFIG_MACVLAN is not set 721# CONFIG_MACVLAN is not set
@@ -712,6 +742,8 @@ CONFIG_BROADCOM_PHY=y
712# CONFIG_MDIO_BITBANG is not set 742# CONFIG_MDIO_BITBANG is not set
713CONFIG_NET_ETHERNET=y 743CONFIG_NET_ETHERNET=y
714CONFIG_MII=y 744CONFIG_MII=y
745# CONFIG_MACE is not set
746# CONFIG_BMAC is not set
715# CONFIG_HAPPYMEAL is not set 747# CONFIG_HAPPYMEAL is not set
716# CONFIG_SUNGEM is not set 748# CONFIG_SUNGEM is not set
717# CONFIG_CASSINI is not set 749# CONFIG_CASSINI is not set
@@ -729,7 +761,6 @@ CONFIG_NETDEV_1000=y
729# CONFIG_DL2K is not set 761# CONFIG_DL2K is not set
730# CONFIG_E1000 is not set 762# CONFIG_E1000 is not set
731# CONFIG_E1000E is not set 763# CONFIG_E1000E is not set
732# CONFIG_E1000E_ENABLED is not set
733# CONFIG_IP1000 is not set 764# CONFIG_IP1000 is not set
734# CONFIG_IGB is not set 765# CONFIG_IGB is not set
735# CONFIG_NS83820 is not set 766# CONFIG_NS83820 is not set
@@ -743,9 +774,10 @@ CONFIG_NETDEV_1000=y
743# CONFIG_TIGON3 is not set 774# CONFIG_TIGON3 is not set
744# CONFIG_BNX2 is not set 775# CONFIG_BNX2 is not set
745CONFIG_GIANFAR=y 776CONFIG_GIANFAR=y
746# CONFIG_GFAR_NAPI is not set 777# CONFIG_MV643XX_ETH is not set
747# CONFIG_QLA3XXX is not set 778# CONFIG_QLA3XXX is not set
748# CONFIG_ATL1 is not set 779# CONFIG_ATL1 is not set
780# CONFIG_ATL1E is not set
749# CONFIG_NETDEV_10000 is not set 781# CONFIG_NETDEV_10000 is not set
750# CONFIG_TR is not set 782# CONFIG_TR is not set
751 783
@@ -768,7 +800,7 @@ CONFIG_ATM_DRIVERS=y
768# CONFIG_ATM_AMBASSADOR is not set 800# CONFIG_ATM_AMBASSADOR is not set
769# CONFIG_ATM_HORIZON is not set 801# CONFIG_ATM_HORIZON is not set
770# CONFIG_ATM_IA is not set 802# CONFIG_ATM_IA is not set
771# CONFIG_ATM_FORE200E_MAYBE is not set 803# CONFIG_ATM_FORE200E is not set
772# CONFIG_ATM_HE is not set 804# CONFIG_ATM_HE is not set
773# CONFIG_FDDI is not set 805# CONFIG_FDDI is not set
774# CONFIG_HIPPI is not set 806# CONFIG_HIPPI is not set
@@ -834,6 +866,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
834# Character devices 866# Character devices
835# 867#
836CONFIG_VT=y 868CONFIG_VT=y
869CONFIG_CONSOLE_TRANSLATIONS=y
837CONFIG_VT_CONSOLE=y 870CONFIG_VT_CONSOLE=y
838CONFIG_HW_CONSOLE=y 871CONFIG_HW_CONSOLE=y
839# CONFIG_VT_HW_CONSOLE_BINDING is not set 872# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -857,11 +890,14 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=2
857# CONFIG_SERIAL_UARTLITE is not set 890# CONFIG_SERIAL_UARTLITE is not set
858CONFIG_SERIAL_CORE=y 891CONFIG_SERIAL_CORE=y
859CONFIG_SERIAL_CORE_CONSOLE=y 892CONFIG_SERIAL_CORE_CONSOLE=y
893# CONFIG_SERIAL_PMACZILOG is not set
860# CONFIG_SERIAL_JSM is not set 894# CONFIG_SERIAL_JSM is not set
861# CONFIG_SERIAL_OF_PLATFORM is not set 895# CONFIG_SERIAL_OF_PLATFORM is not set
862CONFIG_UNIX98_PTYS=y 896CONFIG_UNIX98_PTYS=y
863CONFIG_LEGACY_PTYS=y 897CONFIG_LEGACY_PTYS=y
864CONFIG_LEGACY_PTY_COUNT=256 898CONFIG_LEGACY_PTY_COUNT=256
899# CONFIG_BRIQ_PANEL is not set
900# CONFIG_HVC_RTAS is not set
865# CONFIG_IPMI_HANDLER is not set 901# CONFIG_IPMI_HANDLER is not set
866CONFIG_HW_RANDOM=m 902CONFIG_HW_RANDOM=m
867# CONFIG_NVRAM is not set 903# CONFIG_NVRAM is not set
@@ -874,42 +910,69 @@ CONFIG_DEVPORT=y
874CONFIG_I2C=y 910CONFIG_I2C=y
875CONFIG_I2C_BOARDINFO=y 911CONFIG_I2C_BOARDINFO=y
876CONFIG_I2C_CHARDEV=y 912CONFIG_I2C_CHARDEV=y
913CONFIG_I2C_HELPER_AUTO=y
877 914
878# 915#
879# I2C Hardware Bus support 916# I2C Hardware Bus support
880# 917#
918
919#
920# PC SMBus host controller drivers
921#
881# CONFIG_I2C_ALI1535 is not set 922# CONFIG_I2C_ALI1535 is not set
882# CONFIG_I2C_ALI1563 is not set 923# CONFIG_I2C_ALI1563 is not set
883# CONFIG_I2C_ALI15X3 is not set 924# CONFIG_I2C_ALI15X3 is not set
884# CONFIG_I2C_AMD756 is not set 925# CONFIG_I2C_AMD756 is not set
885# CONFIG_I2C_AMD8111 is not set 926# CONFIG_I2C_AMD8111 is not set
886# CONFIG_I2C_I801 is not set 927# CONFIG_I2C_I801 is not set
887# CONFIG_I2C_I810 is not set 928# CONFIG_I2C_ISCH is not set
888# CONFIG_I2C_PIIX4 is not set 929# CONFIG_I2C_PIIX4 is not set
889CONFIG_I2C_MPC=y
890# CONFIG_I2C_NFORCE2 is not set 930# CONFIG_I2C_NFORCE2 is not set
891# CONFIG_I2C_OCORES is not set
892# CONFIG_I2C_PARPORT_LIGHT is not set
893# CONFIG_I2C_PROSAVAGE is not set
894# CONFIG_I2C_SAVAGE4 is not set
895# CONFIG_I2C_SIMTEC is not set
896# CONFIG_I2C_SIS5595 is not set 931# CONFIG_I2C_SIS5595 is not set
897# CONFIG_I2C_SIS630 is not set 932# CONFIG_I2C_SIS630 is not set
898# CONFIG_I2C_SIS96X is not set 933# CONFIG_I2C_SIS96X is not set
899# CONFIG_I2C_TAOS_EVM is not set
900# CONFIG_I2C_STUB is not set
901# CONFIG_I2C_VIA is not set 934# CONFIG_I2C_VIA is not set
902# CONFIG_I2C_VIAPRO is not set 935# CONFIG_I2C_VIAPRO is not set
936
937#
938# Mac SMBus host controller drivers
939#
940# CONFIG_I2C_HYDRA is not set
941CONFIG_I2C_POWERMAC=y
942
943#
944# I2C system bus drivers (mostly embedded / system-on-chip)
945#
946CONFIG_I2C_MPC=y
947# CONFIG_I2C_OCORES is not set
948# CONFIG_I2C_SIMTEC is not set
949
950#
951# External I2C/SMBus adapter drivers
952#
953# CONFIG_I2C_PARPORT_LIGHT is not set
954# CONFIG_I2C_TAOS_EVM is not set
955
956#
957# Graphics adapter I2C/DDC channel drivers
958#
903# CONFIG_I2C_VOODOO3 is not set 959# CONFIG_I2C_VOODOO3 is not set
960
961#
962# Other I2C/SMBus bus drivers
963#
904# CONFIG_I2C_PCA_PLATFORM is not set 964# CONFIG_I2C_PCA_PLATFORM is not set
965# CONFIG_I2C_STUB is not set
905 966
906# 967#
907# Miscellaneous I2C Chip support 968# Miscellaneous I2C Chip support
908# 969#
909# CONFIG_DS1682 is not set 970# CONFIG_DS1682 is not set
971# CONFIG_AT24 is not set
910# CONFIG_SENSORS_EEPROM is not set 972# CONFIG_SENSORS_EEPROM is not set
911# CONFIG_SENSORS_PCF8574 is not set 973# CONFIG_SENSORS_PCF8574 is not set
912# CONFIG_PCF8575 is not set 974# CONFIG_PCF8575 is not set
975# CONFIG_SENSORS_PCA9539 is not set
913# CONFIG_SENSORS_PCF8591 is not set 976# CONFIG_SENSORS_PCF8591 is not set
914# CONFIG_SENSORS_MAX6875 is not set 977# CONFIG_SENSORS_MAX6875 is not set
915# CONFIG_SENSORS_TSL2550 is not set 978# CONFIG_SENSORS_TSL2550 is not set
@@ -918,10 +981,13 @@ CONFIG_I2C_MPC=y
918# CONFIG_I2C_DEBUG_BUS is not set 981# CONFIG_I2C_DEBUG_BUS is not set
919# CONFIG_I2C_DEBUG_CHIP is not set 982# CONFIG_I2C_DEBUG_CHIP is not set
920# CONFIG_SPI is not set 983# CONFIG_SPI is not set
984CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
985# CONFIG_GPIOLIB is not set
921# CONFIG_W1 is not set 986# CONFIG_W1 is not set
922# CONFIG_POWER_SUPPLY is not set 987# CONFIG_POWER_SUPPLY is not set
923CONFIG_HWMON=y 988CONFIG_HWMON=y
924# CONFIG_HWMON_VID is not set 989# CONFIG_HWMON_VID is not set
990# CONFIG_SENSORS_AD7414 is not set
925# CONFIG_SENSORS_AD7418 is not set 991# CONFIG_SENSORS_AD7418 is not set
926# CONFIG_SENSORS_ADM1021 is not set 992# CONFIG_SENSORS_ADM1021 is not set
927# CONFIG_SENSORS_ADM1025 is not set 993# CONFIG_SENSORS_ADM1025 is not set
@@ -931,6 +997,7 @@ CONFIG_HWMON=y
931# CONFIG_SENSORS_ADM9240 is not set 997# CONFIG_SENSORS_ADM9240 is not set
932# CONFIG_SENSORS_ADT7470 is not set 998# CONFIG_SENSORS_ADT7470 is not set
933# CONFIG_SENSORS_ADT7473 is not set 999# CONFIG_SENSORS_ADT7473 is not set
1000# CONFIG_SENSORS_AMS is not set
934# CONFIG_SENSORS_ATXP1 is not set 1001# CONFIG_SENSORS_ATXP1 is not set
935# CONFIG_SENSORS_DS1621 is not set 1002# CONFIG_SENSORS_DS1621 is not set
936# CONFIG_SENSORS_I5K_AMB is not set 1003# CONFIG_SENSORS_I5K_AMB is not set
@@ -975,6 +1042,7 @@ CONFIG_HWMON=y
975# CONFIG_SENSORS_W83627EHF is not set 1042# CONFIG_SENSORS_W83627EHF is not set
976# CONFIG_HWMON_DEBUG_CHIP is not set 1043# CONFIG_HWMON_DEBUG_CHIP is not set
977# CONFIG_THERMAL is not set 1044# CONFIG_THERMAL is not set
1045# CONFIG_THERMAL_HWMON is not set
978CONFIG_WATCHDOG=y 1046CONFIG_WATCHDOG=y
979# CONFIG_WATCHDOG_NOWAYOUT is not set 1047# CONFIG_WATCHDOG_NOWAYOUT is not set
980 1048
@@ -982,6 +1050,9 @@ CONFIG_WATCHDOG=y
982# Watchdog Device Drivers 1050# Watchdog Device Drivers
983# 1051#
984CONFIG_SOFT_WATCHDOG=m 1052CONFIG_SOFT_WATCHDOG=m
1053# CONFIG_ALIM7101_WDT is not set
1054# CONFIG_8xxx_WDT is not set
1055# CONFIG_WATCHDOG_RTAS is not set
985 1056
986# 1057#
987# PCI-based Watchdog Cards 1058# PCI-based Watchdog Cards
@@ -998,8 +1069,10 @@ CONFIG_SSB_POSSIBLE=y
998# 1069#
999# Multifunction device drivers 1070# Multifunction device drivers
1000# 1071#
1072# CONFIG_MFD_CORE is not set
1001# CONFIG_MFD_SM501 is not set 1073# CONFIG_MFD_SM501 is not set
1002# CONFIG_HTC_PASIC3 is not set 1074# CONFIG_HTC_PASIC3 is not set
1075# CONFIG_MFD_TMIO is not set
1003 1076
1004# 1077#
1005# Multimedia devices 1078# Multimedia devices
@@ -1038,10 +1111,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1038CONFIG_VGA_CONSOLE=y 1111CONFIG_VGA_CONSOLE=y
1039# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1112# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1040CONFIG_DUMMY_CONSOLE=y 1113CONFIG_DUMMY_CONSOLE=y
1041
1042#
1043# Sound
1044#
1045# CONFIG_SOUND is not set 1114# CONFIG_SOUND is not set
1046CONFIG_HID_SUPPORT=y 1115CONFIG_HID_SUPPORT=y
1047CONFIG_HID=y 1116CONFIG_HID=y
@@ -1056,6 +1125,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1056# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1125# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1057 1126
1058# 1127#
1128# Enable Host or Gadget support to see Inventra options
1129#
1130
1131#
1059# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1132# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1060# 1133#
1061# CONFIG_USB_GADGET is not set 1134# CONFIG_USB_GADGET is not set
@@ -1096,6 +1169,7 @@ CONFIG_FS_POSIX_ACL=y
1096# CONFIG_XFS_FS is not set 1169# CONFIG_XFS_FS is not set
1097CONFIG_OCFS2_FS=m 1170CONFIG_OCFS2_FS=m
1098CONFIG_OCFS2_FS_O2CB=m 1171CONFIG_OCFS2_FS_O2CB=m
1172CONFIG_OCFS2_FS_STATS=y
1099CONFIG_OCFS2_DEBUG_MASKLOG=y 1173CONFIG_OCFS2_DEBUG_MASKLOG=y
1100# CONFIG_OCFS2_DEBUG_FS is not set 1174# CONFIG_OCFS2_DEBUG_FS is not set
1101CONFIG_DNOTIFY=y 1175CONFIG_DNOTIFY=y
@@ -1145,6 +1219,7 @@ CONFIG_CONFIGFS_FS=m
1145# CONFIG_CRAMFS is not set 1219# CONFIG_CRAMFS is not set
1146# CONFIG_VXFS_FS is not set 1220# CONFIG_VXFS_FS is not set
1147CONFIG_MINIX_FS=m 1221CONFIG_MINIX_FS=m
1222# CONFIG_OMFS_FS is not set
1148# CONFIG_HPFS_FS is not set 1223# CONFIG_HPFS_FS is not set
1149# CONFIG_QNX4FS_FS is not set 1224# CONFIG_QNX4FS_FS is not set
1150CONFIG_ROMFS_FS=m 1225CONFIG_ROMFS_FS=m
@@ -1155,14 +1230,13 @@ CONFIG_NFS_FS=y
1155CONFIG_NFS_V3=y 1230CONFIG_NFS_V3=y
1156# CONFIG_NFS_V3_ACL is not set 1231# CONFIG_NFS_V3_ACL is not set
1157CONFIG_NFS_V4=y 1232CONFIG_NFS_V4=y
1158# CONFIG_NFSD is not set
1159CONFIG_ROOT_NFS=y 1233CONFIG_ROOT_NFS=y
1234# CONFIG_NFSD is not set
1160CONFIG_LOCKD=y 1235CONFIG_LOCKD=y
1161CONFIG_LOCKD_V4=y 1236CONFIG_LOCKD_V4=y
1162CONFIG_NFS_COMMON=y 1237CONFIG_NFS_COMMON=y
1163CONFIG_SUNRPC=y 1238CONFIG_SUNRPC=y
1164CONFIG_SUNRPC_GSS=y 1239CONFIG_SUNRPC_GSS=y
1165# CONFIG_SUNRPC_BIND34 is not set
1166CONFIG_RPCSEC_GSS_KRB5=y 1240CONFIG_RPCSEC_GSS_KRB5=y
1167# CONFIG_RPCSEC_GSS_SPKM3 is not set 1241# CONFIG_RPCSEC_GSS_SPKM3 is not set
1168CONFIG_SMB_FS=m 1242CONFIG_SMB_FS=m
@@ -1183,6 +1257,7 @@ CONFIG_CIFS_POSIX=y
1183# Partition Types 1257# Partition Types
1184# 1258#
1185# CONFIG_PARTITION_ADVANCED is not set 1259# CONFIG_PARTITION_ADVANCED is not set
1260CONFIG_MAC_PARTITION=y
1186CONFIG_MSDOS_PARTITION=y 1261CONFIG_MSDOS_PARTITION=y
1187CONFIG_NLS=m 1262CONFIG_NLS=m
1188CONFIG_NLS_DEFAULT="iso8859-1" 1263CONFIG_NLS_DEFAULT="iso8859-1"
@@ -1233,6 +1308,7 @@ CONFIG_BITREVERSE=y
1233# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1308# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1234CONFIG_CRC_CCITT=m 1309CONFIG_CRC_CCITT=m
1235# CONFIG_CRC16 is not set 1310# CONFIG_CRC16 is not set
1311# CONFIG_CRC_T10DIF is not set
1236# CONFIG_CRC_ITU_T is not set 1312# CONFIG_CRC_ITU_T is not set
1237CONFIG_CRC32=y 1313CONFIG_CRC32=y
1238# CONFIG_CRC7 is not set 1314# CONFIG_CRC7 is not set
@@ -1259,6 +1335,8 @@ CONFIG_DEBUG_FS=y
1259CONFIG_DEBUG_KERNEL=y 1335CONFIG_DEBUG_KERNEL=y
1260# CONFIG_DEBUG_SHIRQ is not set 1336# CONFIG_DEBUG_SHIRQ is not set
1261CONFIG_DETECT_SOFTLOCKUP=y 1337CONFIG_DETECT_SOFTLOCKUP=y
1338# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1339CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1262CONFIG_SCHED_DEBUG=y 1340CONFIG_SCHED_DEBUG=y
1263# CONFIG_SCHEDSTATS is not set 1341# CONFIG_SCHEDSTATS is not set
1264# CONFIG_TIMER_STATS is not set 1342# CONFIG_TIMER_STATS is not set
@@ -1275,21 +1353,34 @@ CONFIG_SCHED_DEBUG=y
1275CONFIG_DEBUG_INFO=y 1353CONFIG_DEBUG_INFO=y
1276# CONFIG_DEBUG_VM is not set 1354# CONFIG_DEBUG_VM is not set
1277# CONFIG_DEBUG_WRITECOUNT is not set 1355# CONFIG_DEBUG_WRITECOUNT is not set
1356# CONFIG_DEBUG_MEMORY_INIT is not set
1278# CONFIG_DEBUG_LIST is not set 1357# CONFIG_DEBUG_LIST is not set
1279# CONFIG_DEBUG_SG is not set 1358# CONFIG_DEBUG_SG is not set
1280# CONFIG_BOOT_PRINTK_DELAY is not set 1359# CONFIG_BOOT_PRINTK_DELAY is not set
1281# CONFIG_RCU_TORTURE_TEST is not set 1360# CONFIG_RCU_TORTURE_TEST is not set
1282# CONFIG_BACKTRACE_SELF_TEST is not set 1361# CONFIG_BACKTRACE_SELF_TEST is not set
1283# CONFIG_FAULT_INJECTION is not set 1362# CONFIG_FAULT_INJECTION is not set
1363# CONFIG_LATENCYTOP is not set
1364CONFIG_SYSCTL_SYSCALL_CHECK=y
1365CONFIG_HAVE_FTRACE=y
1366CONFIG_HAVE_DYNAMIC_FTRACE=y
1367# CONFIG_FTRACE is not set
1368# CONFIG_PREEMPT_TRACER is not set
1369# CONFIG_SCHED_TRACER is not set
1370# CONFIG_CONTEXT_SWITCH_TRACER is not set
1284# CONFIG_SAMPLES is not set 1371# CONFIG_SAMPLES is not set
1372CONFIG_HAVE_ARCH_KGDB=y
1373# CONFIG_KGDB is not set
1285# CONFIG_DEBUG_STACKOVERFLOW is not set 1374# CONFIG_DEBUG_STACKOVERFLOW is not set
1286# CONFIG_DEBUG_STACK_USAGE is not set 1375# CONFIG_DEBUG_STACK_USAGE is not set
1287# CONFIG_DEBUG_PAGEALLOC is not set 1376# CONFIG_DEBUG_PAGEALLOC is not set
1288CONFIG_DEBUGGER=y 1377# CONFIG_CODE_PATCHING_SELFTEST is not set
1378# CONFIG_FTR_FIXUP_SELFTEST is not set
1289# CONFIG_XMON is not set 1379# CONFIG_XMON is not set
1290# CONFIG_IRQSTACKS is not set 1380# CONFIG_IRQSTACKS is not set
1291# CONFIG_VIRQ_DEBUG is not set 1381# CONFIG_VIRQ_DEBUG is not set
1292# CONFIG_BDI_SWITCH is not set 1382# CONFIG_BDI_SWITCH is not set
1383# CONFIG_BOOTX_TEXT is not set
1293# CONFIG_PPC_EARLY_DEBUG is not set 1384# CONFIG_PPC_EARLY_DEBUG is not set
1294 1385
1295# 1386#
@@ -1299,7 +1390,6 @@ CONFIG_DEBUGGER=y
1299CONFIG_SECURITY=y 1390CONFIG_SECURITY=y
1300CONFIG_SECURITY_NETWORK=y 1391CONFIG_SECURITY_NETWORK=y
1301# CONFIG_SECURITY_NETWORK_XFRM is not set 1392# CONFIG_SECURITY_NETWORK_XFRM is not set
1302CONFIG_SECURITY_CAPABILITIES=y
1303# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1393# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1304CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1394CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
1305CONFIG_CRYPTO=y 1395CONFIG_CRYPTO=y
@@ -1349,6 +1439,10 @@ CONFIG_CRYPTO_CRC32C=m
1349CONFIG_CRYPTO_MD4=m 1439CONFIG_CRYPTO_MD4=m
1350CONFIG_CRYPTO_MD5=y 1440CONFIG_CRYPTO_MD5=y
1351CONFIG_CRYPTO_MICHAEL_MIC=m 1441CONFIG_CRYPTO_MICHAEL_MIC=m
1442# CONFIG_CRYPTO_RMD128 is not set
1443# CONFIG_CRYPTO_RMD160 is not set
1444# CONFIG_CRYPTO_RMD256 is not set
1445# CONFIG_CRYPTO_RMD320 is not set
1352CONFIG_CRYPTO_SHA1=m 1446CONFIG_CRYPTO_SHA1=m
1353CONFIG_CRYPTO_SHA256=m 1447CONFIG_CRYPTO_SHA256=m
1354CONFIG_CRYPTO_SHA512=m 1448CONFIG_CRYPTO_SHA512=m
@@ -1382,5 +1476,6 @@ CONFIG_CRYPTO_DEFLATE=m
1382# CONFIG_CRYPTO_LZO is not set 1476# CONFIG_CRYPTO_LZO is not set
1383CONFIG_CRYPTO_HW=y 1477CONFIG_CRYPTO_HW=y
1384# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1478# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1479# CONFIG_CRYPTO_DEV_TALITOS is not set
1385# CONFIG_PPC_CLOCK is not set 1480# CONFIG_PPC_CLOCK is not set
1386# CONFIG_VIRTUALIZATION is not set 1481# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 88f6aa8273be..4340cc1c5b6a 100644
--- a/arch/powerpc/configs/storcenter_defconfig
+++ b/arch/powerpc/configs/storcenter_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.27-rc4
4# Mon Jun 9 08:52:20 2008 4# Thu Aug 21 00:52:16 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -32,6 +32,7 @@ CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
34CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
35CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 36CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 38CONFIG_ARCH_HAS_ILOG2_U32=y
@@ -87,7 +88,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
87CONFIG_SYSCTL=y 88CONFIG_SYSCTL=y
88CONFIG_EMBEDDED=y 89CONFIG_EMBEDDED=y
89CONFIG_SYSCTL_SYSCALL=y 90CONFIG_SYSCTL_SYSCALL=y
90CONFIG_SYSCTL_SYSCALL_CHECK=y
91# CONFIG_KALLSYMS is not set 91# CONFIG_KALLSYMS is not set
92CONFIG_HOTPLUG=y 92CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 93CONFIG_PRINTK=y
@@ -110,10 +110,16 @@ CONFIG_SLUB=y
110# CONFIG_PROFILING is not set 110# CONFIG_PROFILING is not set
111# CONFIG_MARKERS is not set 111# CONFIG_MARKERS is not set
112CONFIG_HAVE_OPROFILE=y 112CONFIG_HAVE_OPROFILE=y
113CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
114CONFIG_HAVE_IOREMAP_PROT=y
113CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
114CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y
115# CONFIG_HAVE_DMA_ATTRS is not set 118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120# CONFIG_HAVE_CLK is not set
116CONFIG_PROC_PAGE_MONITOR=y 121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
117CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
118CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
119# CONFIG_TINY_SHMEM is not set 125# CONFIG_TINY_SHMEM is not set
@@ -130,6 +136,7 @@ CONFIG_LBD=y
130# CONFIG_BLK_DEV_IO_TRACE is not set 136# CONFIG_BLK_DEV_IO_TRACE is not set
131# CONFIG_LSF is not set 137# CONFIG_LSF is not set
132# CONFIG_BLK_DEV_BSG is not set 138# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set
133 140
134# 141#
135# IO Schedulers 142# IO Schedulers
@@ -149,25 +156,25 @@ CONFIG_CLASSIC_RCU=y
149# Platform support 156# Platform support
150# 157#
151CONFIG_PPC_MULTIPLATFORM=y 158CONFIG_PPC_MULTIPLATFORM=y
152# CONFIG_PPC_82xx is not set
153# CONFIG_PPC_83xx is not set
154# CONFIG_PPC_86xx is not set
155CONFIG_CLASSIC32=y 159CONFIG_CLASSIC32=y
156# CONFIG_PPC_CHRP is not set 160# CONFIG_PPC_CHRP is not set
157# CONFIG_PPC_MPC512x is not set
158# CONFIG_PPC_MPC5121 is not set
159# CONFIG_MPC5121_ADS is not set 161# CONFIG_MPC5121_ADS is not set
162# CONFIG_MPC5121_GENERIC is not set
160# CONFIG_PPC_MPC52xx is not set 163# CONFIG_PPC_MPC52xx is not set
161# CONFIG_PPC_PMAC is not set 164# CONFIG_PPC_PMAC is not set
162# CONFIG_PPC_CELL is not set 165# CONFIG_PPC_CELL is not set
163# CONFIG_PPC_CELL_NATIVE is not set 166# CONFIG_PPC_CELL_NATIVE is not set
167# CONFIG_PPC_82xx is not set
164# CONFIG_PQ2ADS is not set 168# CONFIG_PQ2ADS is not set
169# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set
165CONFIG_EMBEDDED6xx=y 171CONFIG_EMBEDDED6xx=y
166# CONFIG_LINKSTATION is not set 172# CONFIG_LINKSTATION is not set
167CONFIG_STORCENTER=y 173CONFIG_STORCENTER=y
168# CONFIG_MPC7448HPC2 is not set 174# CONFIG_MPC7448HPC2 is not set
169# CONFIG_PPC_HOLLY is not set 175# CONFIG_PPC_HOLLY is not set
170# CONFIG_PPC_PRPMC2800 is not set 176# CONFIG_PPC_PRPMC2800 is not set
177# CONFIG_PPC_C2K is not set
171CONFIG_MPC10X_BRIDGE=y 178CONFIG_MPC10X_BRIDGE=y
172CONFIG_MPC10X_OPENPIC=y 179CONFIG_MPC10X_OPENPIC=y
173# CONFIG_MPC10X_STORE_GATHERING is not set 180# CONFIG_MPC10X_STORE_GATHERING is not set
@@ -221,6 +228,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 229CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y
224# CONFIG_RESOURCES_64BIT is not set 232# CONFIG_RESOURCES_64BIT is not set
225CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
226CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
@@ -229,6 +237,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11
229CONFIG_PROC_DEVICETREE=y 237CONFIG_PROC_DEVICETREE=y
230CONFIG_CMDLINE_BOOL=y 238CONFIG_CMDLINE_BOOL=y
231CONFIG_CMDLINE="console=ttyS0,115200" 239CONFIG_CMDLINE="console=ttyS0,115200"
240CONFIG_EXTRA_TARGETS=""
232# CONFIG_PM is not set 241# CONFIG_PM is not set
233# CONFIG_SECCOMP is not set 242# CONFIG_SECCOMP is not set
234CONFIG_ISA_DMA_API=y 243CONFIG_ISA_DMA_API=y
@@ -264,10 +273,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
264CONFIG_KERNEL_START=0xc0000000 273CONFIG_KERNEL_START=0xc0000000
265CONFIG_PHYSICAL_START=0x00000000 274CONFIG_PHYSICAL_START=0x00000000
266CONFIG_TASK_SIZE=0xc0000000 275CONFIG_TASK_SIZE=0xc0000000
267
268#
269# Networking
270#
271CONFIG_NET=y 276CONFIG_NET=y
272 277
273# 278#
@@ -456,20 +461,22 @@ CONFIG_BLK_DEV=y
456# CONFIG_BLK_DEV_RAM is not set 461# CONFIG_BLK_DEV_RAM is not set
457# CONFIG_CDROM_PKTCDVD is not set 462# CONFIG_CDROM_PKTCDVD is not set
458# CONFIG_ATA_OVER_ETH is not set 463# CONFIG_ATA_OVER_ETH is not set
464# CONFIG_BLK_DEV_HD is not set
459CONFIG_MISC_DEVICES=y 465CONFIG_MISC_DEVICES=y
460# CONFIG_PHANTOM is not set 466# CONFIG_PHANTOM is not set
461# CONFIG_EEPROM_93CX6 is not set 467# CONFIG_EEPROM_93CX6 is not set
462# CONFIG_SGI_IOC4 is not set 468# CONFIG_SGI_IOC4 is not set
463# CONFIG_TIFM_CORE is not set 469# CONFIG_TIFM_CORE is not set
464# CONFIG_ENCLOSURE_SERVICES is not set 470# CONFIG_ENCLOSURE_SERVICES is not set
471# CONFIG_HP_ILO is not set
465CONFIG_HAVE_IDE=y 472CONFIG_HAVE_IDE=y
466CONFIG_IDE=y 473CONFIG_IDE=y
467CONFIG_IDE_MAX_HWIFS=4
468CONFIG_BLK_DEV_IDE=y 474CONFIG_BLK_DEV_IDE=y
469 475
470# 476#
471# Please see Documentation/ide/ide.txt for help/info on IDE drives 477# Please see Documentation/ide/ide.txt for help/info on IDE drives
472# 478#
479CONFIG_IDE_TIMINGS=y
473# CONFIG_BLK_DEV_IDE_SATA is not set 480# CONFIG_BLK_DEV_IDE_SATA is not set
474CONFIG_BLK_DEV_IDEDISK=y 481CONFIG_BLK_DEV_IDEDISK=y
475CONFIG_IDEDISK_MULTI_MODE=y 482CONFIG_IDEDISK_MULTI_MODE=y
@@ -483,7 +490,6 @@ CONFIG_IDE_PROC_FS=y
483# 490#
484# IDE chipset support/bugfixes 491# IDE chipset support/bugfixes
485# 492#
486CONFIG_IDE_GENERIC=y
487# CONFIG_BLK_DEV_PLATFORM is not set 493# CONFIG_BLK_DEV_PLATFORM is not set
488CONFIG_BLK_DEV_IDEDMA_SFF=y 494CONFIG_BLK_DEV_IDEDMA_SFF=y
489 495
@@ -500,10 +506,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
500# CONFIG_BLK_DEV_AMD74XX is not set 506# CONFIG_BLK_DEV_AMD74XX is not set
501# CONFIG_BLK_DEV_CMD64X is not set 507# CONFIG_BLK_DEV_CMD64X is not set
502# CONFIG_BLK_DEV_TRIFLEX is not set 508# CONFIG_BLK_DEV_TRIFLEX is not set
503# CONFIG_BLK_DEV_CY82C693 is not set
504# CONFIG_BLK_DEV_CS5520 is not set 509# CONFIG_BLK_DEV_CS5520 is not set
505# CONFIG_BLK_DEV_CS5530 is not set 510# CONFIG_BLK_DEV_CS5530 is not set
506# CONFIG_BLK_DEV_HPT34X is not set
507# CONFIG_BLK_DEV_HPT366 is not set 511# CONFIG_BLK_DEV_HPT366 is not set
508# CONFIG_BLK_DEV_JMICRON is not set 512# CONFIG_BLK_DEV_JMICRON is not set
509# CONFIG_BLK_DEV_SC1200 is not set 513# CONFIG_BLK_DEV_SC1200 is not set
@@ -521,8 +525,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
521CONFIG_BLK_DEV_VIA82CXXX=y 525CONFIG_BLK_DEV_VIA82CXXX=y
522# CONFIG_BLK_DEV_TC86C001 is not set 526# CONFIG_BLK_DEV_TC86C001 is not set
523CONFIG_BLK_DEV_IDEDMA=y 527CONFIG_BLK_DEV_IDEDMA=y
524# CONFIG_BLK_DEV_HD_ONLY is not set
525# CONFIG_BLK_DEV_HD is not set
526 528
527# 529#
528# SCSI device support 530# SCSI device support
@@ -599,6 +601,7 @@ CONFIG_SCSI_LOWLEVEL=y
599# CONFIG_SCSI_NSP32 is not set 601# CONFIG_SCSI_NSP32 is not set
600# CONFIG_SCSI_DEBUG is not set 602# CONFIG_SCSI_DEBUG is not set
601# CONFIG_SCSI_SRP is not set 603# CONFIG_SCSI_SRP is not set
604# CONFIG_SCSI_DH is not set
602# CONFIG_ATA is not set 605# CONFIG_ATA is not set
603CONFIG_MD=y 606CONFIG_MD=y
604CONFIG_BLK_DEV_MD=y 607CONFIG_BLK_DEV_MD=y
@@ -616,12 +619,15 @@ CONFIG_MD_RAID5_RESHAPE=y
616# 619#
617# IEEE 1394 (FireWire) support 620# IEEE 1394 (FireWire) support
618# 621#
622
623#
624# Enable only one of the two stacks, unless you know what you are doing
625#
619# CONFIG_FIREWIRE is not set 626# CONFIG_FIREWIRE is not set
620# CONFIG_IEEE1394 is not set 627# CONFIG_IEEE1394 is not set
621# CONFIG_I2O is not set 628# CONFIG_I2O is not set
622# CONFIG_MACINTOSH_DRIVERS is not set 629# CONFIG_MACINTOSH_DRIVERS is not set
623CONFIG_NETDEVICES=y 630CONFIG_NETDEVICES=y
624# CONFIG_NETDEVICES_MULTIQUEUE is not set
625CONFIG_DUMMY=m 631CONFIG_DUMMY=m
626# CONFIG_BONDING is not set 632# CONFIG_BONDING is not set
627# CONFIG_MACVLAN is not set 633# CONFIG_MACVLAN is not set
@@ -635,14 +641,12 @@ CONFIG_NETDEV_1000=y
635# CONFIG_DL2K is not set 641# CONFIG_DL2K is not set
636# CONFIG_E1000 is not set 642# CONFIG_E1000 is not set
637# CONFIG_E1000E is not set 643# CONFIG_E1000E is not set
638# CONFIG_E1000E_ENABLED is not set
639# CONFIG_IP1000 is not set 644# CONFIG_IP1000 is not set
640# CONFIG_IGB is not set 645# CONFIG_IGB is not set
641# CONFIG_NS83820 is not set 646# CONFIG_NS83820 is not set
642# CONFIG_HAMACHI is not set 647# CONFIG_HAMACHI is not set
643# CONFIG_YELLOWFIN is not set 648# CONFIG_YELLOWFIN is not set
644CONFIG_R8169=y 649CONFIG_R8169=y
645# CONFIG_R8169_NAPI is not set
646# CONFIG_SIS190 is not set 650# CONFIG_SIS190 is not set
647# CONFIG_SKGE is not set 651# CONFIG_SKGE is not set
648# CONFIG_SKY2 is not set 652# CONFIG_SKY2 is not set
@@ -653,6 +657,7 @@ CONFIG_R8169=y
653# CONFIG_MV643XX_ETH is not set 657# CONFIG_MV643XX_ETH is not set
654# CONFIG_QLA3XXX is not set 658# CONFIG_QLA3XXX is not set
655# CONFIG_ATL1 is not set 659# CONFIG_ATL1 is not set
660# CONFIG_ATL1E is not set
656# CONFIG_NETDEV_10000 is not set 661# CONFIG_NETDEV_10000 is not set
657# CONFIG_TR is not set 662# CONFIG_TR is not set
658 663
@@ -734,43 +739,64 @@ CONFIG_DEVPORT=y
734CONFIG_I2C=y 739CONFIG_I2C=y
735CONFIG_I2C_BOARDINFO=y 740CONFIG_I2C_BOARDINFO=y
736CONFIG_I2C_CHARDEV=y 741CONFIG_I2C_CHARDEV=y
742CONFIG_I2C_HELPER_AUTO=y
737 743
738# 744#
739# I2C Hardware Bus support 745# I2C Hardware Bus support
740# 746#
747
748#
749# PC SMBus host controller drivers
750#
741# CONFIG_I2C_ALI1535 is not set 751# CONFIG_I2C_ALI1535 is not set
742# CONFIG_I2C_ALI1563 is not set 752# CONFIG_I2C_ALI1563 is not set
743# CONFIG_I2C_ALI15X3 is not set 753# CONFIG_I2C_ALI15X3 is not set
744# CONFIG_I2C_AMD756 is not set 754# CONFIG_I2C_AMD756 is not set
745# CONFIG_I2C_AMD8111 is not set 755# CONFIG_I2C_AMD8111 is not set
746# CONFIG_I2C_I801 is not set 756# CONFIG_I2C_I801 is not set
747# CONFIG_I2C_I810 is not set 757# CONFIG_I2C_ISCH is not set
748# CONFIG_I2C_PIIX4 is not set 758# CONFIG_I2C_PIIX4 is not set
749CONFIG_I2C_MPC=y
750# CONFIG_I2C_NFORCE2 is not set 759# CONFIG_I2C_NFORCE2 is not set
751# CONFIG_I2C_OCORES is not set
752# CONFIG_I2C_PARPORT_LIGHT is not set
753# CONFIG_I2C_PROSAVAGE is not set
754# CONFIG_I2C_SAVAGE4 is not set
755# CONFIG_I2C_SIMTEC is not set
756# CONFIG_I2C_SIS5595 is not set 760# CONFIG_I2C_SIS5595 is not set
757# CONFIG_I2C_SIS630 is not set 761# CONFIG_I2C_SIS630 is not set
758# CONFIG_I2C_SIS96X is not set 762# CONFIG_I2C_SIS96X is not set
759# CONFIG_I2C_TAOS_EVM is not set
760# CONFIG_I2C_STUB is not set
761# CONFIG_I2C_TINY_USB is not set
762# CONFIG_I2C_VIA is not set 763# CONFIG_I2C_VIA is not set
763# CONFIG_I2C_VIAPRO is not set 764# CONFIG_I2C_VIAPRO is not set
765
766#
767# I2C system bus drivers (mostly embedded / system-on-chip)
768#
769CONFIG_I2C_MPC=y
770# CONFIG_I2C_OCORES is not set
771# CONFIG_I2C_SIMTEC is not set
772
773#
774# External I2C/SMBus adapter drivers
775#
776# CONFIG_I2C_PARPORT_LIGHT is not set
777# CONFIG_I2C_TAOS_EVM is not set
778# CONFIG_I2C_TINY_USB is not set
779
780#
781# Graphics adapter I2C/DDC channel drivers
782#
764# CONFIG_I2C_VOODOO3 is not set 783# CONFIG_I2C_VOODOO3 is not set
784
785#
786# Other I2C/SMBus bus drivers
787#
765# CONFIG_I2C_PCA_PLATFORM is not set 788# CONFIG_I2C_PCA_PLATFORM is not set
789# CONFIG_I2C_STUB is not set
766 790
767# 791#
768# Miscellaneous I2C Chip support 792# Miscellaneous I2C Chip support
769# 793#
770# CONFIG_DS1682 is not set 794# CONFIG_DS1682 is not set
795# CONFIG_AT24 is not set
771# CONFIG_SENSORS_EEPROM is not set 796# CONFIG_SENSORS_EEPROM is not set
772# CONFIG_SENSORS_PCF8574 is not set 797# CONFIG_SENSORS_PCF8574 is not set
773# CONFIG_PCF8575 is not set 798# CONFIG_PCF8575 is not set
799# CONFIG_SENSORS_PCA9539 is not set
774# CONFIG_SENSORS_PCF8591 is not set 800# CONFIG_SENSORS_PCF8591 is not set
775# CONFIG_SENSORS_MAX6875 is not set 801# CONFIG_SENSORS_MAX6875 is not set
776# CONFIG_SENSORS_TSL2550 is not set 802# CONFIG_SENSORS_TSL2550 is not set
@@ -779,10 +805,13 @@ CONFIG_I2C_MPC=y
779# CONFIG_I2C_DEBUG_BUS is not set 805# CONFIG_I2C_DEBUG_BUS is not set
780# CONFIG_I2C_DEBUG_CHIP is not set 806# CONFIG_I2C_DEBUG_CHIP is not set
781# CONFIG_SPI is not set 807# CONFIG_SPI is not set
808CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
809# CONFIG_GPIOLIB is not set
782# CONFIG_W1 is not set 810# CONFIG_W1 is not set
783# CONFIG_POWER_SUPPLY is not set 811# CONFIG_POWER_SUPPLY is not set
784# CONFIG_HWMON is not set 812# CONFIG_HWMON is not set
785# CONFIG_THERMAL is not set 813# CONFIG_THERMAL is not set
814# CONFIG_THERMAL_HWMON is not set
786# CONFIG_WATCHDOG is not set 815# CONFIG_WATCHDOG is not set
787 816
788# 817#
@@ -794,8 +823,10 @@ CONFIG_SSB_POSSIBLE=y
794# 823#
795# Multifunction device drivers 824# Multifunction device drivers
796# 825#
826# CONFIG_MFD_CORE is not set
797# CONFIG_MFD_SM501 is not set 827# CONFIG_MFD_SM501 is not set
798# CONFIG_HTC_PASIC3 is not set 828# CONFIG_HTC_PASIC3 is not set
829# CONFIG_MFD_TMIO is not set
799 830
800# 831#
801# Multimedia devices 832# Multimedia devices
@@ -827,10 +858,6 @@ CONFIG_SSB_POSSIBLE=y
827# Display device support 858# Display device support
828# 859#
829# CONFIG_DISPLAY_SUPPORT is not set 860# CONFIG_DISPLAY_SUPPORT is not set
830
831#
832# Sound
833#
834# CONFIG_SOUND is not set 861# CONFIG_SOUND is not set
835CONFIG_USB_SUPPORT=y 862CONFIG_USB_SUPPORT=y
836CONFIG_USB_ARCH_HAS_HCD=y 863CONFIG_USB_ARCH_HAS_HCD=y
@@ -849,6 +876,7 @@ CONFIG_USB_DEVICE_CLASS=y
849# CONFIG_USB_OTG is not set 876# CONFIG_USB_OTG is not set
850# CONFIG_USB_OTG_WHITELIST is not set 877# CONFIG_USB_OTG_WHITELIST is not set
851# CONFIG_USB_OTG_BLACKLIST_HUB is not set 878# CONFIG_USB_OTG_BLACKLIST_HUB is not set
879# CONFIG_USB_MON is not set
852 880
853# 881#
854# USB Host Controller Drivers 882# USB Host Controller Drivers
@@ -896,6 +924,7 @@ CONFIG_USB_STORAGE=y
896# CONFIG_USB_STORAGE_JUMPSHOT is not set 924# CONFIG_USB_STORAGE_JUMPSHOT is not set
897# CONFIG_USB_STORAGE_ALAUDA is not set 925# CONFIG_USB_STORAGE_ALAUDA is not set
898# CONFIG_USB_STORAGE_KARMA is not set 926# CONFIG_USB_STORAGE_KARMA is not set
927# CONFIG_USB_STORAGE_SIERRA is not set
899# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 928# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
900# CONFIG_USB_LIBUSUAL is not set 929# CONFIG_USB_LIBUSUAL is not set
901 930
@@ -904,7 +933,6 @@ CONFIG_USB_STORAGE=y
904# 933#
905# CONFIG_USB_MDC800 is not set 934# CONFIG_USB_MDC800 is not set
906# CONFIG_USB_MICROTEK is not set 935# CONFIG_USB_MICROTEK is not set
907# CONFIG_USB_MON is not set
908 936
909# 937#
910# USB port drivers 938# USB port drivers
@@ -917,7 +945,6 @@ CONFIG_USB_STORAGE=y
917# CONFIG_USB_EMI62 is not set 945# CONFIG_USB_EMI62 is not set
918# CONFIG_USB_EMI26 is not set 946# CONFIG_USB_EMI26 is not set
919# CONFIG_USB_ADUTUX is not set 947# CONFIG_USB_ADUTUX is not set
920# CONFIG_USB_AUERSWALD is not set
921# CONFIG_USB_RIO500 is not set 948# CONFIG_USB_RIO500 is not set
922# CONFIG_USB_LEGOTOWER is not set 949# CONFIG_USB_LEGOTOWER is not set
923# CONFIG_USB_LCD is not set 950# CONFIG_USB_LCD is not set
@@ -971,6 +998,7 @@ CONFIG_RTC_DRV_DS1307=y
971# CONFIG_RTC_DRV_PCF8583 is not set 998# CONFIG_RTC_DRV_PCF8583 is not set
972# CONFIG_RTC_DRV_M41T80 is not set 999# CONFIG_RTC_DRV_M41T80 is not set
973# CONFIG_RTC_DRV_S35390A is not set 1000# CONFIG_RTC_DRV_S35390A is not set
1001# CONFIG_RTC_DRV_FM3130 is not set
974 1002
975# 1003#
976# SPI RTC drivers 1004# SPI RTC drivers
@@ -1074,6 +1102,7 @@ CONFIG_JFFS2_RTIME=y
1074# CONFIG_CRAMFS is not set 1102# CONFIG_CRAMFS is not set
1075# CONFIG_VXFS_FS is not set 1103# CONFIG_VXFS_FS is not set
1076# CONFIG_MINIX_FS is not set 1104# CONFIG_MINIX_FS is not set
1105# CONFIG_OMFS_FS is not set
1077# CONFIG_HPFS_FS is not set 1106# CONFIG_HPFS_FS is not set
1078# CONFIG_QNX4FS_FS is not set 1107# CONFIG_QNX4FS_FS is not set
1079# CONFIG_ROMFS_FS is not set 1108# CONFIG_ROMFS_FS is not set
@@ -1151,6 +1180,7 @@ CONFIG_BITREVERSE=y
1151# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1180# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1152# CONFIG_CRC_CCITT is not set 1181# CONFIG_CRC_CCITT is not set
1153# CONFIG_CRC16 is not set 1182# CONFIG_CRC16 is not set
1183CONFIG_CRC_T10DIF=y
1154# CONFIG_CRC_ITU_T is not set 1184# CONFIG_CRC_ITU_T is not set
1155CONFIG_CRC32=y 1185CONFIG_CRC32=y
1156# CONFIG_CRC7 is not set 1186# CONFIG_CRC7 is not set
@@ -1178,7 +1208,16 @@ CONFIG_FRAME_WARN=1024
1178# CONFIG_SLUB_DEBUG_ON is not set 1208# CONFIG_SLUB_DEBUG_ON is not set
1179# CONFIG_SLUB_STATS is not set 1209# CONFIG_SLUB_STATS is not set
1180# CONFIG_DEBUG_BUGVERBOSE is not set 1210# CONFIG_DEBUG_BUGVERBOSE is not set
1211# CONFIG_DEBUG_MEMORY_INIT is not set
1212# CONFIG_LATENCYTOP is not set
1213CONFIG_SYSCTL_SYSCALL_CHECK=y
1214CONFIG_HAVE_FTRACE=y
1215CONFIG_HAVE_DYNAMIC_FTRACE=y
1216# CONFIG_FTRACE is not set
1217# CONFIG_SCHED_TRACER is not set
1218# CONFIG_CONTEXT_SWITCH_TRACER is not set
1181# CONFIG_SAMPLES is not set 1219# CONFIG_SAMPLES is not set
1220CONFIG_HAVE_ARCH_KGDB=y
1182# CONFIG_IRQSTACKS is not set 1221# CONFIG_IRQSTACKS is not set
1183# CONFIG_BOOTX_TEXT is not set 1222# CONFIG_BOOTX_TEXT is not set
1184# CONFIG_PPC_EARLY_DEBUG is not set 1223# CONFIG_PPC_EARLY_DEBUG is not set
diff --git a/arch/powerpc/include/asm/cpm2.h b/arch/powerpc/include/asm/cpm2.h
index 2a6fa0183ac9..0f5e8ff59a85 100644
--- a/arch/powerpc/include/asm/cpm2.h
+++ b/arch/powerpc/include/asm/cpm2.h
@@ -337,6 +337,11 @@ typedef struct scc_param {
337 uint scc_tcrc; /* Internal */ 337 uint scc_tcrc; /* Internal */
338} sccp_t; 338} sccp_t;
339 339
340/* Function code bits.
341*/
342#define SCC_EB ((u_char) 0x10) /* Set big endian byte order */
343#define SCC_GBL ((u_char) 0x20) /* Snooping enabled */
344
340/* CPM Ethernet through SCC1. 345/* CPM Ethernet through SCC1.
341 */ 346 */
342typedef struct scc_enet { 347typedef struct scc_enet {
diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h
index db0b8f3b8807..4597c491e9b5 100644
--- a/arch/powerpc/include/asm/pgtable-ppc64.h
+++ b/arch/powerpc/include/asm/pgtable-ppc64.h
@@ -153,12 +153,10 @@
153#define __S110 PAGE_SHARED_X 153#define __S110 PAGE_SHARED_X
154#define __S111 PAGE_SHARED_X 154#define __S111 PAGE_SHARED_X
155 155
156#ifdef CONFIG_HUGETLB_PAGE 156#ifdef CONFIG_PPC_MM_SLICES
157
158#define HAVE_ARCH_UNMAPPED_AREA 157#define HAVE_ARCH_UNMAPPED_AREA
159#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN 158#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
160 159#endif /* CONFIG_PPC_MM_SLICES */
161#endif
162 160
163#ifndef __ASSEMBLY__ 161#ifndef __ASSEMBLY__
164 162
diff --git a/arch/powerpc/include/asm/sections.h b/arch/powerpc/include/asm/sections.h
index 916018e425c4..7710e9e6660f 100644
--- a/arch/powerpc/include/asm/sections.h
+++ b/arch/powerpc/include/asm/sections.h
@@ -16,6 +16,9 @@ static inline int in_kernel_text(unsigned long addr)
16 return 0; 16 return 0;
17} 17}
18 18
19#undef dereference_function_descriptor
20void *dereference_function_descriptor(void *);
21
19#endif 22#endif
20 23
21#endif /* __KERNEL__ */ 24#endif /* __KERNEL__ */
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index 64f5948ebc9d..946daea780f1 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -14,12 +14,13 @@ endif
14 14
15ifdef CONFIG_FTRACE 15ifdef CONFIG_FTRACE
16# Do not trace early boot code 16# Do not trace early boot code
17CFLAGS_REMOVE_cputable.o = -pg 17CFLAGS_REMOVE_cputable.o = -pg -mno-sched-epilog
18CFLAGS_REMOVE_prom_init.o = -pg 18CFLAGS_REMOVE_prom_init.o = -pg -mno-sched-epilog
19CFLAGS_REMOVE_btext.o = -pg -mno-sched-epilog
19 20
20ifdef CONFIG_DYNAMIC_FTRACE 21ifdef CONFIG_DYNAMIC_FTRACE
21# dynamic ftrace setup. 22# dynamic ftrace setup.
22CFLAGS_REMOVE_ftrace.o = -pg 23CFLAGS_REMOVE_ftrace.o = -pg -mno-sched-epilog
23endif 24endif
24 25
25endif 26endif
diff --git a/arch/powerpc/kernel/align.c b/arch/powerpc/kernel/align.c
index 367129789cc0..5af4e9b2dbe2 100644
--- a/arch/powerpc/kernel/align.c
+++ b/arch/powerpc/kernel/align.c
@@ -647,7 +647,7 @@ static int emulate_vsx(unsigned char __user *addr, unsigned int reg,
647 unsigned int flags, unsigned int length) 647 unsigned int flags, unsigned int length)
648{ 648{
649 char *ptr = (char *) &current->thread.TS_FPR(reg); 649 char *ptr = (char *) &current->thread.TS_FPR(reg);
650 int ret; 650 int ret = 0;
651 651
652 flush_vsx_to_thread(current); 652 flush_vsx_to_thread(current);
653 653
diff --git a/arch/powerpc/kernel/idle_6xx.S b/arch/powerpc/kernel/idle_6xx.S
index 019b02d8844f..15c611de1ee2 100644
--- a/arch/powerpc/kernel/idle_6xx.S
+++ b/arch/powerpc/kernel/idle_6xx.S
@@ -158,7 +158,7 @@ _GLOBAL(power_save_ppc32_restore)
158 stw r9,_NIP(r11) /* make it do a blr */ 158 stw r9,_NIP(r11) /* make it do a blr */
159 159
160#ifdef CONFIG_SMP 160#ifdef CONFIG_SMP
161 mfspr r12,SPRN_SPRG3 161 rlwinm r12,r11,0,0,31-THREAD_SHIFT
162 lwz r11,TI_CPU(r12) /* get cpu number * 4 */ 162 lwz r11,TI_CPU(r12) /* get cpu number * 4 */
163 slwi r11,r11,2 163 slwi r11,r11,2
164#else 164#else
diff --git a/arch/powerpc/kernel/idle_e500.S b/arch/powerpc/kernel/idle_e500.S
index 06304034b393..47a1a983ff88 100644
--- a/arch/powerpc/kernel/idle_e500.S
+++ b/arch/powerpc/kernel/idle_e500.S
@@ -84,10 +84,11 @@ _GLOBAL(power_save_ppc32_restore)
84 stw r9,_NIP(r11) /* make it do a blr */ 84 stw r9,_NIP(r11) /* make it do a blr */
85 85
86#ifdef CONFIG_SMP 86#ifdef CONFIG_SMP
87 mfspr r12,SPRN_SPRG3 87 rlwinm r12,r1,0,0,31-THREAD_SHIFT
88 lwz r11,TI_CPU(r12) /* get cpu number * 4 */ 88 lwz r11,TI_CPU(r12) /* get cpu number * 4 */
89 slwi r11,r11,2 89 slwi r11,r11,2
90#else 90#else
91 li r11,0 91 li r11,0
92#endif 92#endif
93
93 b transfer_to_handler_cont 94 b transfer_to_handler_cont
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c
index ee6a2982d567..ad79de272ff3 100644
--- a/arch/powerpc/kernel/module_64.c
+++ b/arch/powerpc/kernel/module_64.c
@@ -21,8 +21,9 @@
21#include <linux/err.h> 21#include <linux/err.h>
22#include <linux/vmalloc.h> 22#include <linux/vmalloc.h>
23#include <linux/bug.h> 23#include <linux/bug.h>
24#include <linux/uaccess.h>
24#include <asm/module.h> 25#include <asm/module.h>
25#include <asm/uaccess.h> 26#include <asm/sections.h>
26#include <asm/firmware.h> 27#include <asm/firmware.h>
27#include <asm/code-patching.h> 28#include <asm/code-patching.h>
28#include <linux/sort.h> 29#include <linux/sort.h>
@@ -451,3 +452,13 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
451 452
452 return 0; 453 return 0;
453} 454}
455
456void *dereference_function_descriptor(void *ptr)
457{
458 struct ppc64_opd_entry *desc = ptr;
459 void *p;
460
461 if (!probe_kernel_address(&desc->funcaddr, p))
462 ptr = p;
463 return ptr;
464}
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 4a8ce62fe112..9f6c1ca1739e 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -66,11 +66,12 @@ SECTIONS
66 __got2_end = .; 66 __got2_end = .;
67#endif /* CONFIG_PPC32 */ 67#endif /* CONFIG_PPC32 */
68 68
69 . = ALIGN(PAGE_SIZE);
70 _etext = .;
71 PROVIDE32 (etext = .);
72 } :kernel 69 } :kernel
73 70
71 . = ALIGN(PAGE_SIZE);
72 _etext = .;
73 PROVIDE32 (etext = .);
74
74 /* Read-only data */ 75 /* Read-only data */
75 RODATA 76 RODATA
76 77
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 14be408dfc9b..8920eea34528 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -191,12 +191,17 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
191 unsigned long hash, hpteg; 191 unsigned long hash, hpteg;
192 unsigned long vsid = get_kernel_vsid(vaddr, ssize); 192 unsigned long vsid = get_kernel_vsid(vaddr, ssize);
193 unsigned long va = hpt_va(vaddr, vsid, ssize); 193 unsigned long va = hpt_va(vaddr, vsid, ssize);
194 unsigned long tprot = prot;
195
196 /* Make kernel text executable */
197 if (in_kernel_text(vaddr))
198 tprot &= ~HPTE_R_N;
194 199
195 hash = hpt_hash(va, shift, ssize); 200 hash = hpt_hash(va, shift, ssize);
196 hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP); 201 hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP);
197 202
198 BUG_ON(!ppc_md.hpte_insert); 203 BUG_ON(!ppc_md.hpte_insert);
199 ret = ppc_md.hpte_insert(hpteg, va, paddr, prot, 204 ret = ppc_md.hpte_insert(hpteg, va, paddr, tprot,
200 HPTE_V_BOLTED, psize, ssize); 205 HPTE_V_BOLTED, psize, ssize);
201 206
202 if (ret < 0) 207 if (ret < 0)
@@ -584,7 +589,7 @@ void __init htab_initialize(void)
584{ 589{
585 unsigned long table; 590 unsigned long table;
586 unsigned long pteg_count; 591 unsigned long pteg_count;
587 unsigned long prot, tprot; 592 unsigned long prot;
588 unsigned long base = 0, size = 0, limit; 593 unsigned long base = 0, size = 0, limit;
589 int i; 594 int i;
590 595
@@ -660,10 +665,9 @@ void __init htab_initialize(void)
660 for (i=0; i < lmb.memory.cnt; i++) { 665 for (i=0; i < lmb.memory.cnt; i++) {
661 base = (unsigned long)__va(lmb.memory.region[i].base); 666 base = (unsigned long)__va(lmb.memory.region[i].base);
662 size = lmb.memory.region[i].size; 667 size = lmb.memory.region[i].size;
663 tprot = prot | (in_kernel_text(base) ? _PAGE_EXEC : 0);
664 668
665 DBG("creating mapping for region: %lx..%lx (prot: %x)\n", 669 DBG("creating mapping for region: %lx..%lx (prot: %x)\n",
666 base, size, tprot); 670 base, size, prot);
667 671
668#ifdef CONFIG_U3_DART 672#ifdef CONFIG_U3_DART
669 /* Do not map the DART space. Fortunately, it will be aligned 673 /* Do not map the DART space. Fortunately, it will be aligned
@@ -680,21 +684,21 @@ void __init htab_initialize(void)
680 unsigned long dart_table_end = dart_tablebase + 16 * MB; 684 unsigned long dart_table_end = dart_tablebase + 16 * MB;
681 if (base != dart_tablebase) 685 if (base != dart_tablebase)
682 BUG_ON(htab_bolt_mapping(base, dart_tablebase, 686 BUG_ON(htab_bolt_mapping(base, dart_tablebase,
683 __pa(base), tprot, 687 __pa(base), prot,
684 mmu_linear_psize, 688 mmu_linear_psize,
685 mmu_kernel_ssize)); 689 mmu_kernel_ssize));
686 if ((base + size) > dart_table_end) 690 if ((base + size) > dart_table_end)
687 BUG_ON(htab_bolt_mapping(dart_tablebase+16*MB, 691 BUG_ON(htab_bolt_mapping(dart_tablebase+16*MB,
688 base + size, 692 base + size,
689 __pa(dart_table_end), 693 __pa(dart_table_end),
690 tprot, 694 prot,
691 mmu_linear_psize, 695 mmu_linear_psize,
692 mmu_kernel_ssize)); 696 mmu_kernel_ssize));
693 continue; 697 continue;
694 } 698 }
695#endif /* CONFIG_U3_DART */ 699#endif /* CONFIG_U3_DART */
696 BUG_ON(htab_bolt_mapping(base, base + size, __pa(base), 700 BUG_ON(htab_bolt_mapping(base, base + size, __pa(base),
697 tprot, mmu_linear_psize, mmu_kernel_ssize)); 701 prot, mmu_linear_psize, mmu_kernel_ssize));
698 } 702 }
699 703
700 /* 704 /*
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c
index 1c1b627ee843..67595bc380dc 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -643,9 +643,10 @@ static struct spu *find_victim(struct spu_context *ctx)
643 !(tmp->flags & SPU_CREATE_NOSCHED) && 643 !(tmp->flags & SPU_CREATE_NOSCHED) &&
644 (!victim || tmp->prio > victim->prio)) { 644 (!victim || tmp->prio > victim->prio)) {
645 victim = spu->ctx; 645 victim = spu->ctx;
646 get_spu_context(victim);
647 } 646 }
648 } 647 }
648 if (victim)
649 get_spu_context(victim);
649 mutex_unlock(&cbe_spu_info[node].list_mutex); 650 mutex_unlock(&cbe_spu_info[node].list_mutex);
650 651
651 if (victim) { 652 if (victim) {
@@ -727,17 +728,33 @@ static void spu_schedule(struct spu *spu, struct spu_context *ctx)
727 /* not a candidate for interruptible because it's called either 728 /* not a candidate for interruptible because it's called either
728 from the scheduler thread or from spu_deactivate */ 729 from the scheduler thread or from spu_deactivate */
729 mutex_lock(&ctx->state_mutex); 730 mutex_lock(&ctx->state_mutex);
730 __spu_schedule(spu, ctx); 731 if (ctx->state == SPU_STATE_SAVED)
732 __spu_schedule(spu, ctx);
731 spu_release(ctx); 733 spu_release(ctx);
732} 734}
733 735
734static void spu_unschedule(struct spu *spu, struct spu_context *ctx) 736/**
737 * spu_unschedule - remove a context from a spu, and possibly release it.
738 * @spu: The SPU to unschedule from
739 * @ctx: The context currently scheduled on the SPU
740 * @free_spu Whether to free the SPU for other contexts
741 *
742 * Unbinds the context @ctx from the SPU @spu. If @free_spu is non-zero, the
743 * SPU is made available for other contexts (ie, may be returned by
744 * spu_get_idle). If this is zero, the caller is expected to schedule another
745 * context to this spu.
746 *
747 * Should be called with ctx->state_mutex held.
748 */
749static void spu_unschedule(struct spu *spu, struct spu_context *ctx,
750 int free_spu)
735{ 751{
736 int node = spu->node; 752 int node = spu->node;
737 753
738 mutex_lock(&cbe_spu_info[node].list_mutex); 754 mutex_lock(&cbe_spu_info[node].list_mutex);
739 cbe_spu_info[node].nr_active--; 755 cbe_spu_info[node].nr_active--;
740 spu->alloc_state = SPU_FREE; 756 if (free_spu)
757 spu->alloc_state = SPU_FREE;
741 spu_unbind_context(spu, ctx); 758 spu_unbind_context(spu, ctx);
742 ctx->stats.invol_ctx_switch++; 759 ctx->stats.invol_ctx_switch++;
743 spu->stats.invol_ctx_switch++; 760 spu->stats.invol_ctx_switch++;
@@ -837,7 +854,7 @@ static int __spu_deactivate(struct spu_context *ctx, int force, int max_prio)
837 if (spu) { 854 if (spu) {
838 new = grab_runnable_context(max_prio, spu->node); 855 new = grab_runnable_context(max_prio, spu->node);
839 if (new || force) { 856 if (new || force) {
840 spu_unschedule(spu, ctx); 857 spu_unschedule(spu, ctx, new == NULL);
841 if (new) { 858 if (new) {
842 if (new->flags & SPU_CREATE_NOSCHED) 859 if (new->flags & SPU_CREATE_NOSCHED)
843 wake_up(&new->stop_wq); 860 wake_up(&new->stop_wq);
@@ -910,7 +927,7 @@ static noinline void spusched_tick(struct spu_context *ctx)
910 927
911 new = grab_runnable_context(ctx->prio + 1, spu->node); 928 new = grab_runnable_context(ctx->prio + 1, spu->node);
912 if (new) { 929 if (new) {
913 spu_unschedule(spu, ctx); 930 spu_unschedule(spu, ctx, 0);
914 if (test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 931 if (test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags))
915 spu_add_to_rq(ctx); 932 spu_add_to_rq(ctx);
916 } else { 933 } else {
diff --git a/arch/powerpc/platforms/powermac/Makefile b/arch/powerpc/platforms/powermac/Makefile
index 58ecdd72630f..be60d64be7ad 100644
--- a/arch/powerpc/platforms/powermac/Makefile
+++ b/arch/powerpc/platforms/powermac/Makefile
@@ -2,7 +2,7 @@ CFLAGS_bootx_init.o += -fPIC
2 2
3ifdef CONFIG_FTRACE 3ifdef CONFIG_FTRACE
4# Do not trace early boot code 4# Do not trace early boot code
5CFLAGS_REMOVE_bootx_init.o = -pg 5CFLAGS_REMOVE_bootx_init.o = -pg -mno-sched-epilog
6endif 6endif
7 7
8obj-y += pic.o setup.o time.o feature.o pci.o \ 8obj-y += pic.o setup.o time.o feature.o pci.o \
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c
index 1cf901fa9031..6eb1d4d182c9 100644
--- a/arch/powerpc/platforms/ps3/htab.c
+++ b/arch/powerpc/platforms/ps3/htab.c
@@ -29,138 +29,75 @@
29 29
30#include "platform.h" 30#include "platform.h"
31 31
32#if defined(DEBUG) 32/**
33#define DBG udbg_printf 33 * enum lpar_vas_id - id of LPAR virtual address space.
34#else 34 * @lpar_vas_id_current: Current selected virtual address space
35#define DBG pr_debug 35 *
36#endif 36 * Identify the target LPAR address space.
37 37 */
38static struct hash_pte *htab; 38
39static unsigned long htab_addr; 39enum ps3_lpar_vas_id {
40static unsigned char *bolttab; 40 PS3_LPAR_VAS_ID_CURRENT = 0,
41static unsigned char *inusetab; 41};
42 42
43static DEFINE_SPINLOCK(ps3_bolttab_lock); 43
44 44static DEFINE_SPINLOCK(ps3_htab_lock);
45#define debug_dump_hpte(_a, _b, _c, _d, _e, _f, _g) \
46 _debug_dump_hpte(_a, _b, _c, _d, _e, _f, _g, __func__, __LINE__)
47static void _debug_dump_hpte(unsigned long pa, unsigned long va,
48 unsigned long group, unsigned long bitmap, struct hash_pte lhpte,
49 int psize, unsigned long slot, const char* func, int line)
50{
51 DBG("%s:%d: pa = %lxh\n", func, line, pa);
52 DBG("%s:%d: lpar = %lxh\n", func, line,
53 ps3_mm_phys_to_lpar(pa));
54 DBG("%s:%d: va = %lxh\n", func, line, va);
55 DBG("%s:%d: group = %lxh\n", func, line, group);
56 DBG("%s:%d: bitmap = %lxh\n", func, line, bitmap);
57 DBG("%s:%d: hpte.v = %lxh\n", func, line, lhpte.v);
58 DBG("%s:%d: hpte.r = %lxh\n", func, line, lhpte.r);
59 DBG("%s:%d: psize = %xh\n", func, line, psize);
60 DBG("%s:%d: slot = %lxh\n", func, line, slot);
61}
62 45
63static long ps3_hpte_insert(unsigned long hpte_group, unsigned long va, 46static long ps3_hpte_insert(unsigned long hpte_group, unsigned long va,
64 unsigned long pa, unsigned long rflags, unsigned long vflags, 47 unsigned long pa, unsigned long rflags, unsigned long vflags,
65 int psize, int ssize) 48 int psize, int ssize)
66{ 49{
67 unsigned long slot; 50 int result;
68 struct hash_pte lhpte; 51 u64 hpte_v, hpte_r;
69 int secondary = 0; 52 u64 inserted_index;
70 unsigned long result; 53 u64 evicted_v, evicted_r;
71 unsigned long bitmap; 54 u64 hpte_v_array[4], hpte_rs;
72 unsigned long flags; 55 unsigned long flags;
73 unsigned long p_pteg, s_pteg, b_index, b_mask, cb, ci; 56 long ret = -1;
74
75 vflags &= ~HPTE_V_SECONDARY; /* this bit is ignored */
76
77 lhpte.v = hpte_encode_v(va, psize, MMU_SEGSIZE_256M) |
78 vflags | HPTE_V_VALID;
79 lhpte.r = hpte_encode_r(ps3_mm_phys_to_lpar(pa), psize) | rflags;
80
81 p_pteg = hpte_group / HPTES_PER_GROUP;
82 s_pteg = ~p_pteg & htab_hash_mask;
83
84 spin_lock_irqsave(&ps3_bolttab_lock, flags);
85
86 BUG_ON(bolttab[p_pteg] == 0xff && bolttab[s_pteg] == 0xff);
87 57
88 bitmap = (inusetab[p_pteg] << 8) | inusetab[s_pteg]; 58 /*
59 * lv1_insert_htab_entry() will search for victim
60 * entry in both primary and secondary pte group
61 */
62 vflags &= ~HPTE_V_SECONDARY;
89 63
90 if (bitmap == 0xffff) { 64 hpte_v = hpte_encode_v(va, psize, ssize) | vflags | HPTE_V_VALID;
91 /* 65 hpte_r = hpte_encode_r(ps3_mm_phys_to_lpar(pa), psize) | rflags;
92 * PTEG is full. Search for victim.
93 */
94 bitmap &= ~((bolttab[p_pteg] << 8) | bolttab[s_pteg]);
95 do {
96 ci = mftb() & 15;
97 cb = 0x8000UL >> ci;
98 } while ((cb & bitmap) == 0);
99 } else {
100 /*
101 * search free slot in hardware order
102 * [primary] 0, 2, 4, 6, 1, 3, 5, 7
103 * [secondary] 0, 2, 4, 6, 1, 3, 5, 7
104 */
105 for (ci = 0; ci < HPTES_PER_GROUP; ci += 2) {
106 cb = 0x8000UL >> ci;
107 if ((cb & bitmap) == 0)
108 goto found;
109 }
110 for (ci = 1; ci < HPTES_PER_GROUP; ci += 2) {
111 cb = 0x8000UL >> ci;
112 if ((cb & bitmap) == 0)
113 goto found;
114 }
115 for (ci = HPTES_PER_GROUP; ci < HPTES_PER_GROUP*2; ci += 2) {
116 cb = 0x8000UL >> ci;
117 if ((cb & bitmap) == 0)
118 goto found;
119 }
120 for (ci = HPTES_PER_GROUP+1; ci < HPTES_PER_GROUP*2; ci += 2) {
121 cb = 0x8000UL >> ci;
122 if ((cb & bitmap) == 0)
123 goto found;
124 }
125 }
126 66
127found: 67 spin_lock_irqsave(&ps3_htab_lock, flags);
128 if (ci < HPTES_PER_GROUP) {
129 slot = p_pteg * HPTES_PER_GROUP + ci;
130 } else {
131 slot = s_pteg * HPTES_PER_GROUP + (ci & 7);
132 /* lhpte.dw0.dw0.h = 1; */
133 vflags |= HPTE_V_SECONDARY;
134 lhpte.v |= HPTE_V_SECONDARY;
135 }
136 68
137 result = lv1_write_htab_entry(0, slot, lhpte.v, lhpte.r); 69 /* talk hvc to replace entries BOLTED == 0 */
70 result = lv1_insert_htab_entry(PS3_LPAR_VAS_ID_CURRENT, hpte_group,
71 hpte_v, hpte_r,
72 HPTE_V_BOLTED, 0,
73 &inserted_index,
74 &evicted_v, &evicted_r);
138 75
139 if (result) { 76 if (result) {
140 debug_dump_hpte(pa, va, hpte_group, bitmap, lhpte, psize, slot); 77 /* all entries bolted !*/
78 pr_info("%s:result=%d va=%lx pa=%lx ix=%lx v=%lx r=%lx\n",
79 __func__, result, va, pa, hpte_group, hpte_v, hpte_r);
141 BUG(); 80 BUG();
142 } 81 }
143 82
144 /* 83 /*
145 * If used slot is not in primary HPTE group, 84 * see if the entry is inserted into secondary pteg
146 * the slot should be in secondary HPTE group.
147 */ 85 */
86 result = lv1_read_htab_entries(PS3_LPAR_VAS_ID_CURRENT,
87 inserted_index & ~0x3UL,
88 &hpte_v_array[0], &hpte_v_array[1],
89 &hpte_v_array[2], &hpte_v_array[3],
90 &hpte_rs);
91 BUG_ON(result);
148 92
149 if ((hpte_group ^ slot) & ~(HPTES_PER_GROUP - 1)) { 93 if (hpte_v_array[inserted_index % 4] & HPTE_V_SECONDARY)
150 secondary = 1; 94 ret = (inserted_index & 7) | (1 << 3);
151 b_index = s_pteg; 95 else
152 } else { 96 ret = inserted_index & 7;
153 secondary = 0;
154 b_index = p_pteg;
155 }
156 97
157 b_mask = (lhpte.v & HPTE_V_BOLTED) ? 1 << 7 : 0 << 7; 98 spin_unlock_irqrestore(&ps3_htab_lock, flags);
158 bolttab[b_index] |= b_mask >> (slot & 7);
159 b_mask = 1 << 7;
160 inusetab[b_index] |= b_mask >> (slot & 7);
161 spin_unlock_irqrestore(&ps3_bolttab_lock, flags);
162 99
163 return (slot & 7) | (secondary << 3); 100 return ret;
164} 101}
165 102
166static long ps3_hpte_remove(unsigned long hpte_group) 103static long ps3_hpte_remove(unsigned long hpte_group)
@@ -172,39 +109,48 @@ static long ps3_hpte_remove(unsigned long hpte_group)
172static long ps3_hpte_updatepp(unsigned long slot, unsigned long newpp, 109static long ps3_hpte_updatepp(unsigned long slot, unsigned long newpp,
173 unsigned long va, int psize, int ssize, int local) 110 unsigned long va, int psize, int ssize, int local)
174{ 111{
112 int result;
113 u64 hpte_v, want_v, hpte_rs;
114 u64 hpte_v_array[4];
175 unsigned long flags; 115 unsigned long flags;
176 unsigned long result; 116 long ret;
177 unsigned long pteg, bit;
178 unsigned long hpte_v, want_v;
179 117
180 want_v = hpte_encode_v(va, psize, MMU_SEGSIZE_256M); 118 want_v = hpte_encode_v(va, psize, ssize);
181 119
182 spin_lock_irqsave(&ps3_bolttab_lock, flags); 120 spin_lock_irqsave(&ps3_htab_lock, flags);
183 121
184 hpte_v = htab[slot].v; 122 result = lv1_read_htab_entries(PS3_LPAR_VAS_ID_CURRENT, slot & ~0x3UL,
185 if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { 123 &hpte_v_array[0], &hpte_v_array[1],
186 spin_unlock_irqrestore(&ps3_bolttab_lock, flags); 124 &hpte_v_array[2], &hpte_v_array[3],
187 125 &hpte_rs);
188 /* ps3_hpte_insert() will be used to update PTE */
189 return -1;
190 }
191
192 result = lv1_write_htab_entry(0, slot, 0, 0);
193 126
194 if (result) { 127 if (result) {
195 DBG("%s: va=%lx slot=%lx psize=%d result = %ld (0x%lx)\n", 128 pr_info("%s: res=%d read va=%lx slot=%lx psize=%d\n",
196 __func__, va, slot, psize, result, result); 129 __func__, result, va, slot, psize);
197 BUG(); 130 BUG();
198 } 131 }
199 132
200 pteg = slot / HPTES_PER_GROUP; 133 hpte_v = hpte_v_array[slot % 4];
201 bit = slot % HPTES_PER_GROUP;
202 inusetab[pteg] &= ~(0x80 >> bit);
203 134
204 spin_unlock_irqrestore(&ps3_bolttab_lock, flags); 135 /*
136 * As lv1_read_htab_entries() does not give us the RPN, we can
137 * not synthesize the new hpte_r value here, and therefore can
138 * not update the hpte with lv1_insert_htab_entry(), so we
139 * insted invalidate it and ask the caller to update it via
140 * ps3_hpte_insert() by returning a -1 value.
141 */
142 if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) {
143 /* not found */
144 ret = -1;
145 } else {
146 /* entry found, just invalidate it */
147 result = lv1_write_htab_entry(PS3_LPAR_VAS_ID_CURRENT,
148 slot, 0, 0);
149 ret = -1;
150 }
205 151
206 /* ps3_hpte_insert() will be used to update PTE */ 152 spin_unlock_irqrestore(&ps3_htab_lock, flags);
207 return -1; 153 return ret;
208} 154}
209 155
210static void ps3_hpte_updateboltedpp(unsigned long newpp, unsigned long ea, 156static void ps3_hpte_updateboltedpp(unsigned long newpp, unsigned long ea,
@@ -217,45 +163,35 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va,
217 int psize, int ssize, int local) 163 int psize, int ssize, int local)
218{ 164{
219 unsigned long flags; 165 unsigned long flags;
220 unsigned long result; 166 int result;
221 unsigned long pteg, bit; 167
168 spin_lock_irqsave(&ps3_htab_lock, flags);
222 169
223 spin_lock_irqsave(&ps3_bolttab_lock, flags); 170 result = lv1_write_htab_entry(PS3_LPAR_VAS_ID_CURRENT, slot, 0, 0);
224 result = lv1_write_htab_entry(0, slot, 0, 0);
225 171
226 if (result) { 172 if (result) {
227 DBG("%s: va=%lx slot=%lx psize=%d result = %ld (0x%lx)\n", 173 pr_info("%s: res=%d va=%lx slot=%lx psize=%d\n",
228 __func__, va, slot, psize, result, result); 174 __func__, result, va, slot, psize);
229 BUG(); 175 BUG();
230 } 176 }
231 177
232 pteg = slot / HPTES_PER_GROUP; 178 spin_unlock_irqrestore(&ps3_htab_lock, flags);
233 bit = slot % HPTES_PER_GROUP;
234 inusetab[pteg] &= ~(0x80 >> bit);
235 spin_unlock_irqrestore(&ps3_bolttab_lock, flags);
236} 179}
237 180
238static void ps3_hpte_clear(void) 181static void ps3_hpte_clear(void)
239{ 182{
240 int result; 183 unsigned long hpte_count = (1UL << ppc64_pft_size) >> 4;
241 184 u64 i;
242 DBG(" -> %s:%d\n", __func__, __LINE__);
243 185
244 result = lv1_unmap_htab(htab_addr); 186 for (i = 0; i < hpte_count; i++)
245 BUG_ON(result); 187 lv1_write_htab_entry(PS3_LPAR_VAS_ID_CURRENT, i, 0, 0);
246 188
247 ps3_mm_shutdown(); 189 ps3_mm_shutdown();
248 ps3_mm_vas_destroy(); 190 ps3_mm_vas_destroy();
249
250 DBG(" <- %s:%d\n", __func__, __LINE__);
251} 191}
252 192
253void __init ps3_hpte_init(unsigned long htab_size) 193void __init ps3_hpte_init(unsigned long htab_size)
254{ 194{
255 long bitmap_size;
256
257 DBG(" -> %s:%d\n", __func__, __LINE__);
258
259 ppc_md.hpte_invalidate = ps3_hpte_invalidate; 195 ppc_md.hpte_invalidate = ps3_hpte_invalidate;
260 ppc_md.hpte_updatepp = ps3_hpte_updatepp; 196 ppc_md.hpte_updatepp = ps3_hpte_updatepp;
261 ppc_md.hpte_updateboltedpp = ps3_hpte_updateboltedpp; 197 ppc_md.hpte_updateboltedpp = ps3_hpte_updateboltedpp;
@@ -264,28 +200,5 @@ void __init ps3_hpte_init(unsigned long htab_size)
264 ppc_md.hpte_clear_all = ps3_hpte_clear; 200 ppc_md.hpte_clear_all = ps3_hpte_clear;
265 201
266 ppc64_pft_size = __ilog2(htab_size); 202 ppc64_pft_size = __ilog2(htab_size);
267
268 bitmap_size = htab_size / sizeof(struct hash_pte) / 8;
269
270 bolttab = __va(lmb_alloc(bitmap_size, 1));
271 inusetab = __va(lmb_alloc(bitmap_size, 1));
272
273 memset(bolttab, 0, bitmap_size);
274 memset(inusetab, 0, bitmap_size);
275
276 DBG(" <- %s:%d\n", __func__, __LINE__);
277} 203}
278 204
279void __init ps3_map_htab(void)
280{
281 long result;
282 unsigned long htab_size = (1UL << ppc64_pft_size);
283
284 result = lv1_map_htab(0, &htab_addr);
285
286 htab = (__force struct hash_pte *)ioremap_flags(htab_addr, htab_size,
287 pgprot_val(PAGE_READONLY_X));
288
289 DBG("%s:%d: lpar %016lxh, virt %016lxh\n", __func__, __LINE__,
290 htab_addr, (unsigned long)htab);
291}
diff --git a/arch/powerpc/platforms/ps3/setup.c b/arch/powerpc/platforms/ps3/setup.c
index a413abbd4123..77bc330263c4 100644
--- a/arch/powerpc/platforms/ps3/setup.c
+++ b/arch/powerpc/platforms/ps3/setup.c
@@ -201,7 +201,6 @@ static void __init ps3_setup_arch(void)
201 ps3_firmware_version.rev); 201 ps3_firmware_version.rev);
202 202
203 ps3_spu_set_platform(); 203 ps3_spu_set_platform();
204 ps3_map_htab();
205 204
206#ifdef CONFIG_SMP 205#ifdef CONFIG_SMP
207 smp_init_ps3(); 206 smp_init_ps3();
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c
index d135cef9ed6a..ccae3d446b98 100644
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -186,14 +186,24 @@ static void spu_unmap(struct spu *spu)
186 iounmap(spu_pdata(spu)->shadow); 186 iounmap(spu_pdata(spu)->shadow);
187} 187}
188 188
189/**
190 * setup_areas - Map the spu regions into the address space.
191 *
192 * The current HV requires the spu shadow regs to be mapped with the
193 * PTE page protection bits set as read-only (PP=3). This implementation
194 * uses the low level __ioremap() to bypass the page protection settings
195 * inforced by ioremap_flags() to get the needed PTE bits set for the
196 * shadow regs.
197 */
198
189static int __init setup_areas(struct spu *spu) 199static int __init setup_areas(struct spu *spu)
190{ 200{
191 struct table {char* name; unsigned long addr; unsigned long size;}; 201 struct table {char* name; unsigned long addr; unsigned long size;};
202 static const unsigned long shadow_flags = _PAGE_NO_CACHE | 3;
192 203
193 spu_pdata(spu)->shadow = ioremap_flags(spu_pdata(spu)->shadow_addr, 204 spu_pdata(spu)->shadow = __ioremap(spu_pdata(spu)->shadow_addr,
194 sizeof(struct spe_shadow), 205 sizeof(struct spe_shadow),
195 pgprot_val(PAGE_READONLY) | 206 shadow_flags);
196 _PAGE_NO_CACHE);
197 if (!spu_pdata(spu)->shadow) { 207 if (!spu_pdata(spu)->shadow) {
198 pr_debug("%s:%d: ioremap shadow failed\n", __func__, __LINE__); 208 pr_debug("%s:%d: ioremap shadow failed\n", __func__, __LINE__);
199 goto fail_ioremap; 209 goto fail_ioremap;
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 3ce8a139b85d..7b01d67b4e48 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -71,6 +71,7 @@
71int CMO_PrPSP = -1; 71int CMO_PrPSP = -1;
72int CMO_SecPSP = -1; 72int CMO_SecPSP = -1;
73unsigned long CMO_PageSize = (ASM_CONST(1) << IOMMU_PAGE_SHIFT); 73unsigned long CMO_PageSize = (ASM_CONST(1) << IOMMU_PAGE_SHIFT);
74EXPORT_SYMBOL(CMO_PageSize);
74 75
75int fwnmi_active; /* TRUE if an FWNMI handler is present */ 76int fwnmi_active; /* TRUE if an FWNMI handler is present */
76 77
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c
index 53da8a079f96..00d3d17c84a3 100644
--- a/arch/powerpc/sysdev/cpm_common.c
+++ b/arch/powerpc/sysdev/cpm_common.c
@@ -254,15 +254,11 @@ static int cpm2_gpio32_get(struct gpio_chip *gc, unsigned int gpio)
254 return !!(in_be32(&iop->dat) & pin_mask); 254 return !!(in_be32(&iop->dat) & pin_mask);
255} 255}
256 256
257static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) 257static void __cpm2_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask,
258 int value)
258{ 259{
259 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
260 struct cpm2_gpio32_chip *cpm2_gc = to_cpm2_gpio32_chip(mm_gc); 260 struct cpm2_gpio32_chip *cpm2_gc = to_cpm2_gpio32_chip(mm_gc);
261 struct cpm2_ioports __iomem *iop = mm_gc->regs; 261 struct cpm2_ioports __iomem *iop = mm_gc->regs;
262 unsigned long flags;
263 u32 pin_mask = 1 << (31 - gpio);
264
265 spin_lock_irqsave(&cpm2_gc->lock, flags);
266 262
267 if (value) 263 if (value)
268 cpm2_gc->cpdata |= pin_mask; 264 cpm2_gc->cpdata |= pin_mask;
@@ -270,6 +266,18 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value)
270 cpm2_gc->cpdata &= ~pin_mask; 266 cpm2_gc->cpdata &= ~pin_mask;
271 267
272 out_be32(&iop->dat, cpm2_gc->cpdata); 268 out_be32(&iop->dat, cpm2_gc->cpdata);
269}
270
271static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value)
272{
273 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
274 struct cpm2_gpio32_chip *cpm2_gc = to_cpm2_gpio32_chip(mm_gc);
275 unsigned long flags;
276 u32 pin_mask = 1 << (31 - gpio);
277
278 spin_lock_irqsave(&cpm2_gc->lock, flags);
279
280 __cpm2_gpio32_set(mm_gc, pin_mask, value);
273 281
274 spin_unlock_irqrestore(&cpm2_gc->lock, flags); 282 spin_unlock_irqrestore(&cpm2_gc->lock, flags);
275} 283}
@@ -277,14 +285,17 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value)
277static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) 285static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
278{ 286{
279 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); 287 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
288 struct cpm2_gpio32_chip *cpm2_gc = to_cpm2_gpio32_chip(mm_gc);
280 struct cpm2_ioports __iomem *iop = mm_gc->regs; 289 struct cpm2_ioports __iomem *iop = mm_gc->regs;
281 u32 pin_mask; 290 unsigned long flags;
291 u32 pin_mask = 1 << (31 - gpio);
282 292
283 pin_mask = 1 << (31 - gpio); 293 spin_lock_irqsave(&cpm2_gc->lock, flags);
284 294
285 setbits32(&iop->dir, pin_mask); 295 setbits32(&iop->dir, pin_mask);
296 __cpm2_gpio32_set(mm_gc, pin_mask, val);
286 297
287 cpm2_gpio32_set(gc, gpio, val); 298 spin_unlock_irqrestore(&cpm2_gc->lock, flags);
288 299
289 return 0; 300 return 0;
290} 301}
@@ -292,13 +303,17 @@ static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
292static int cpm2_gpio32_dir_in(struct gpio_chip *gc, unsigned int gpio) 303static int cpm2_gpio32_dir_in(struct gpio_chip *gc, unsigned int gpio)
293{ 304{
294 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); 305 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
306 struct cpm2_gpio32_chip *cpm2_gc = to_cpm2_gpio32_chip(mm_gc);
295 struct cpm2_ioports __iomem *iop = mm_gc->regs; 307 struct cpm2_ioports __iomem *iop = mm_gc->regs;
296 u32 pin_mask; 308 unsigned long flags;
309 u32 pin_mask = 1 << (31 - gpio);
297 310
298 pin_mask = 1 << (31 - gpio); 311 spin_lock_irqsave(&cpm2_gc->lock, flags);
299 312
300 clrbits32(&iop->dir, pin_mask); 313 clrbits32(&iop->dir, pin_mask);
301 314
315 spin_unlock_irqrestore(&cpm2_gc->lock, flags);
316
302 return 0; 317 return 0;
303} 318}
304 319
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_fast.c b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
index 1aecb075a72e..25fbbfaa837d 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
@@ -208,6 +208,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
208 uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast)); 208 uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
209 if (uccf->uf_regs == NULL) { 209 if (uccf->uf_regs == NULL) {
210 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__); 210 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__);
211 kfree(uccf);
211 return -ENOMEM; 212 return -ENOMEM;
212 } 213 }
213 214
@@ -355,6 +356,9 @@ void ucc_fast_free(struct ucc_fast_private * uccf)
355 if (uccf->ucc_fast_rx_virtual_fifo_base_offset) 356 if (uccf->ucc_fast_rx_virtual_fifo_base_offset)
356 qe_muram_free(uccf->ucc_fast_rx_virtual_fifo_base_offset); 357 qe_muram_free(uccf->ucc_fast_rx_virtual_fifo_base_offset);
357 358
359 if (uccf->uf_regs)
360 iounmap(uccf->uf_regs);
361
358 kfree(uccf); 362 kfree(uccf);
359} 363}
360EXPORT_SYMBOL(ucc_fast_free); 364EXPORT_SYMBOL(ucc_fast_free);
diff --git a/arch/powerpc/sysdev/qe_lib/ucc_slow.c b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
index a578bc77b9d5..e1d6a1340157 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
@@ -171,6 +171,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
171 uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow)); 171 uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
172 if (uccs->us_regs == NULL) { 172 if (uccs->us_regs == NULL) {
173 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__); 173 printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__);
174 kfree(uccs);
174 return -ENOMEM; 175 return -ENOMEM;
175 } 176 }
176 177
@@ -367,10 +368,11 @@ void ucc_slow_free(struct ucc_slow_private * uccs)
367 if (uccs->tx_base_offset) 368 if (uccs->tx_base_offset)
368 qe_muram_free(uccs->tx_base_offset); 369 qe_muram_free(uccs->tx_base_offset);
369 370
370 if (uccs->us_pram) { 371 if (uccs->us_pram)
371 qe_muram_free(uccs->us_pram_offset); 372 qe_muram_free(uccs->us_pram_offset);
372 uccs->us_pram = NULL; 373
373 } 374 if (uccs->us_regs)
375 iounmap(uccs->us_regs);
374 376
375 kfree(uccs); 377 kfree(uccs);
376} 378}
diff --git a/arch/s390/kernel/compat_ptrace.h b/arch/s390/kernel/compat_ptrace.h
index cde81fa64f89..a2be3a978d5c 100644
--- a/arch/s390/kernel/compat_ptrace.h
+++ b/arch/s390/kernel/compat_ptrace.h
@@ -42,6 +42,7 @@ struct user_regs_struct32
42 u32 gprs[NUM_GPRS]; 42 u32 gprs[NUM_GPRS];
43 u32 acrs[NUM_ACRS]; 43 u32 acrs[NUM_ACRS];
44 u32 orig_gpr2; 44 u32 orig_gpr2;
45 /* nb: there's a 4-byte hole here */
45 s390_fp_regs fp_regs; 46 s390_fp_regs fp_regs;
46 /* 47 /*
47 * These per registers are in here so that gdb can modify them 48 * These per registers are in here so that gdb can modify them
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index 2815bfe348a6..c8b08289eb87 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -170,6 +170,13 @@ static unsigned long __peek_user(struct task_struct *child, addr_t addr)
170 */ 170 */
171 tmp = (addr_t) task_pt_regs(child)->orig_gpr2; 171 tmp = (addr_t) task_pt_regs(child)->orig_gpr2;
172 172
173 } else if (addr < (addr_t) &dummy->regs.fp_regs) {
174 /*
175 * prevent reads of padding hole between
176 * orig_gpr2 and fp_regs on s390.
177 */
178 tmp = 0;
179
173 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) { 180 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
174 /* 181 /*
175 * floating point regs. are stored in the thread structure 182 * floating point regs. are stored in the thread structure
@@ -270,6 +277,13 @@ static int __poke_user(struct task_struct *child, addr_t addr, addr_t data)
270 */ 277 */
271 task_pt_regs(child)->orig_gpr2 = data; 278 task_pt_regs(child)->orig_gpr2 = data;
272 279
280 } else if (addr < (addr_t) &dummy->regs.fp_regs) {
281 /*
282 * prevent writes of padding hole between
283 * orig_gpr2 and fp_regs on s390.
284 */
285 return 0;
286
273 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) { 287 } else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
274 /* 288 /*
275 * floating point regs. are stored in the thread structure 289 * floating point regs. are stored in the thread structure
@@ -428,6 +442,13 @@ static u32 __peek_user_compat(struct task_struct *child, addr_t addr)
428 */ 442 */
429 tmp = *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4); 443 tmp = *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4);
430 444
445 } else if (addr < (addr_t) &dummy32->regs.fp_regs) {
446 /*
447 * prevent reads of padding hole between
448 * orig_gpr2 and fp_regs on s390.
449 */
450 tmp = 0;
451
431 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) { 452 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
432 /* 453 /*
433 * floating point regs. are stored in the thread structure 454 * floating point regs. are stored in the thread structure
@@ -514,6 +535,13 @@ static int __poke_user_compat(struct task_struct *child,
514 */ 535 */
515 *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4) = tmp; 536 *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4) = tmp;
516 537
538 } else if (addr < (addr_t) &dummy32->regs.fp_regs) {
539 /*
540 * prevent writess of padding hole between
541 * orig_gpr2 and fp_regs on s390.
542 */
543 return 0;
544
517 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) { 545 } else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
518 /* 546 /*
519 * floating point regs. are stored in the thread structure 547 * floating point regs. are stored in the thread structure
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 76c1e60c92f3..607bd67a18ce 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -55,7 +55,7 @@ SECTIONS
55 __start___ex_table = .; 55 __start___ex_table = .;
56 *(__ex_table) 56 *(__ex_table)
57 __stop___ex_table = .; 57 __stop___ex_table = .;
58 } 58 } :data
59 59
60 .data : { /* Data */ 60 .data : { /* Data */
61 DATA_DATA 61 DATA_DATA
diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig
index 29926a9b9ce2..851c870adf3b 100644
--- a/arch/sh/configs/ap325rxa_defconfig
+++ b/arch/sh/configs/ap325rxa_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26 3# Linux kernel version: 2.6.27-rc4
4# Wed Jul 30 01:18:59 2008 4# Tue Aug 26 14:21:17 2008
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_SUPERH32=y 7CONFIG_SUPERH32=y
@@ -11,6 +11,7 @@ CONFIG_GENERIC_BUG=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y 11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_HARDIRQS=y 13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
14CONFIG_GENERIC_IRQ_PROBE=y 15CONFIG_GENERIC_IRQ_PROBE=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y 16CONFIG_GENERIC_CALIBRATE_DELAY=y
16CONFIG_GENERIC_TIME=y 17CONFIG_GENERIC_TIME=y
@@ -20,7 +21,6 @@ CONFIG_LOCKDEP_SUPPORT=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set 21# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set 22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_ARCH_NO_VIRT_TO_BUS=y 23CONFIG_ARCH_NO_VIRT_TO_BUS=y
23CONFIG_ARCH_SUPPORTS_AOUT=y
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25 25
26# 26#
@@ -58,7 +58,6 @@ CONFIG_SYSCTL=y
58CONFIG_EMBEDDED=y 58CONFIG_EMBEDDED=y
59CONFIG_UID16=y 59CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y 60CONFIG_SYSCTL_SYSCALL=y
61CONFIG_SYSCTL_SYSCALL_CHECK=y
62# CONFIG_KALLSYMS is not set 61# CONFIG_KALLSYMS is not set
63CONFIG_HOTPLUG=y 62CONFIG_HOTPLUG=y
64CONFIG_PRINTK=y 63CONFIG_PRINTK=y
@@ -89,6 +88,7 @@ CONFIG_HAVE_OPROFILE=y
89# CONFIG_USE_GENERIC_SMP_HELPERS is not set 88# CONFIG_USE_GENERIC_SMP_HELPERS is not set
90CONFIG_HAVE_CLK=y 89CONFIG_HAVE_CLK=y
91CONFIG_PROC_PAGE_MONITOR=y 90CONFIG_PROC_PAGE_MONITOR=y
91CONFIG_HAVE_GENERIC_DMA_COHERENT=y
92CONFIG_SLABINFO=y 92CONFIG_SLABINFO=y
93CONFIG_RT_MUTEXES=y 93CONFIG_RT_MUTEXES=y
94# CONFIG_TINY_SHMEM is not set 94# CONFIG_TINY_SHMEM is not set
@@ -261,9 +261,10 @@ CONFIG_HZ_250=y
261# CONFIG_HZ_300 is not set 261# CONFIG_HZ_300 is not set
262# CONFIG_HZ_1000 is not set 262# CONFIG_HZ_1000 is not set
263CONFIG_HZ=250 263CONFIG_HZ=250
264# CONFIG_SCHED_HRTICK is not set 264CONFIG_SCHED_HRTICK=y
265# CONFIG_KEXEC is not set 265# CONFIG_KEXEC is not set
266# CONFIG_CRASH_DUMP is not set 266# CONFIG_CRASH_DUMP is not set
267CONFIG_SECCOMP=y
267# CONFIG_PREEMPT_NONE is not set 268# CONFIG_PREEMPT_NONE is not set
268# CONFIG_PREEMPT_VOLUNTARY is not set 269# CONFIG_PREEMPT_VOLUNTARY is not set
269CONFIG_PREEMPT=y 270CONFIG_PREEMPT=y
@@ -289,10 +290,6 @@ CONFIG_CMDLINE="console=tty1 console=ttySC5,38400 root=/dev/nfs ip=dhcp"
289# 290#
290CONFIG_BINFMT_ELF=y 291CONFIG_BINFMT_ELF=y
291# CONFIG_BINFMT_MISC is not set 292# CONFIG_BINFMT_MISC is not set
292
293#
294# Networking
295#
296CONFIG_NET=y 293CONFIG_NET=y
297 294
298# 295#
@@ -647,6 +644,7 @@ CONFIG_SSB_POSSIBLE=y
647# CONFIG_MFD_CORE is not set 644# CONFIG_MFD_CORE is not set
648# CONFIG_MFD_SM501 is not set 645# CONFIG_MFD_SM501 is not set
649# CONFIG_HTC_PASIC3 is not set 646# CONFIG_HTC_PASIC3 is not set
647# CONFIG_MFD_TMIO is not set
650 648
651# 649#
652# Multimedia devices 650# Multimedia devices
@@ -690,7 +688,10 @@ CONFIG_DUMMY_CONSOLE=y
690# CONFIG_ACCESSIBILITY is not set 688# CONFIG_ACCESSIBILITY is not set
691# CONFIG_RTC_CLASS is not set 689# CONFIG_RTC_CLASS is not set
692# CONFIG_DMADEVICES is not set 690# CONFIG_DMADEVICES is not set
693# CONFIG_UIO is not set 691CONFIG_UIO=y
692# CONFIG_UIO_PDRV is not set
693CONFIG_UIO_PDRV_GENIRQ=y
694# CONFIG_UIO_SMX is not set
694 695
695# 696#
696# File systems 697# File systems
@@ -854,6 +855,7 @@ CONFIG_FRAME_WARN=1024
854# CONFIG_DEBUG_KERNEL is not set 855# CONFIG_DEBUG_KERNEL is not set
855# CONFIG_DEBUG_BUGVERBOSE is not set 856# CONFIG_DEBUG_BUGVERBOSE is not set
856# CONFIG_DEBUG_MEMORY_INIT is not set 857# CONFIG_DEBUG_MEMORY_INIT is not set
858CONFIG_SYSCTL_SYSCALL_CHECK=y
857# CONFIG_SAMPLES is not set 859# CONFIG_SAMPLES is not set
858# CONFIG_SH_STANDARD_BIOS is not set 860# CONFIG_SH_STANDARD_BIOS is not set
859# CONFIG_EARLY_SCIF_CONSOLE is not set 861# CONFIG_EARLY_SCIF_CONSOLE is not set
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig
index c4b3e1d8950d..4f8b1974f2c7 100644
--- a/arch/sh/configs/migor_defconfig
+++ b/arch/sh/configs/migor_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26 3# Linux kernel version: 2.6.27-rc4
4# Wed Jul 30 01:44:41 2008 4# Tue Aug 26 14:18:17 2008
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_SUPERH32=y 7CONFIG_SUPERH32=y
@@ -11,6 +11,7 @@ CONFIG_GENERIC_BUG=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y 11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_HARDIRQS=y 13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
14CONFIG_GENERIC_IRQ_PROBE=y 15CONFIG_GENERIC_IRQ_PROBE=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y 16CONFIG_GENERIC_CALIBRATE_DELAY=y
16CONFIG_GENERIC_TIME=y 17CONFIG_GENERIC_TIME=y
@@ -21,7 +22,6 @@ CONFIG_LOCKDEP_SUPPORT=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set 22# CONFIG_ARCH_HAS_ILOG2_U32 is not set
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set 23# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_ARCH_NO_VIRT_TO_BUS=y 24CONFIG_ARCH_NO_VIRT_TO_BUS=y
24CONFIG_ARCH_SUPPORTS_AOUT=y
25CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 25CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
26 26
27# 27#
@@ -87,6 +87,7 @@ CONFIG_HAVE_OPROFILE=y
87# CONFIG_USE_GENERIC_SMP_HELPERS is not set 87# CONFIG_USE_GENERIC_SMP_HELPERS is not set
88CONFIG_HAVE_CLK=y 88CONFIG_HAVE_CLK=y
89CONFIG_PROC_PAGE_MONITOR=y 89CONFIG_PROC_PAGE_MONITOR=y
90CONFIG_HAVE_GENERIC_DMA_COHERENT=y
90CONFIG_SLABINFO=y 91CONFIG_SLABINFO=y
91CONFIG_RT_MUTEXES=y 92CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 93# CONFIG_TINY_SHMEM is not set
@@ -270,6 +271,7 @@ CONFIG_HZ=250
270# CONFIG_SCHED_HRTICK is not set 271# CONFIG_SCHED_HRTICK is not set
271# CONFIG_KEXEC is not set 272# CONFIG_KEXEC is not set
272# CONFIG_CRASH_DUMP is not set 273# CONFIG_CRASH_DUMP is not set
274CONFIG_SECCOMP=y
273CONFIG_PREEMPT_NONE=y 275CONFIG_PREEMPT_NONE=y
274# CONFIG_PREEMPT_VOLUNTARY is not set 276# CONFIG_PREEMPT_VOLUNTARY is not set
275# CONFIG_PREEMPT is not set 277# CONFIG_PREEMPT is not set
@@ -294,10 +296,6 @@ CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ip=on"
294# 296#
295CONFIG_BINFMT_ELF=y 297CONFIG_BINFMT_ELF=y
296# CONFIG_BINFMT_MISC is not set 298# CONFIG_BINFMT_MISC is not set
297
298#
299# Networking
300#
301CONFIG_NET=y 299CONFIG_NET=y
302 300
303# 301#
@@ -649,6 +647,7 @@ CONFIG_HW_RANDOM=y
649CONFIG_I2C=y 647CONFIG_I2C=y
650CONFIG_I2C_BOARDINFO=y 648CONFIG_I2C_BOARDINFO=y
651# CONFIG_I2C_CHARDEV is not set 649# CONFIG_I2C_CHARDEV is not set
650CONFIG_I2C_HELPER_AUTO=y
652 651
653# 652#
654# I2C Hardware Bus support 653# I2C Hardware Bus support
@@ -709,6 +708,7 @@ CONFIG_SSB_POSSIBLE=y
709# CONFIG_MFD_CORE is not set 708# CONFIG_MFD_CORE is not set
710# CONFIG_MFD_SM501 is not set 709# CONFIG_MFD_SM501 is not set
711# CONFIG_HTC_PASIC3 is not set 710# CONFIG_HTC_PASIC3 is not set
711# CONFIG_MFD_TMIO is not set
712 712
713# 713#
714# Multimedia devices 714# Multimedia devices
@@ -755,6 +755,8 @@ CONFIG_USB_ARCH_HAS_HCD=y
755# CONFIG_USB is not set 755# CONFIG_USB is not set
756# CONFIG_USB_OTG_WHITELIST is not set 756# CONFIG_USB_OTG_WHITELIST is not set
757# CONFIG_USB_OTG_BLACKLIST_HUB is not set 757# CONFIG_USB_OTG_BLACKLIST_HUB is not set
758# CONFIG_USB_MUSB_HDRC is not set
759# CONFIG_USB_GADGET_MUSB_HDRC is not set
758 760
759# 761#
760# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 762# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -842,7 +844,10 @@ CONFIG_RTC_DRV_RS5C372=y
842# 844#
843CONFIG_RTC_DRV_SH=y 845CONFIG_RTC_DRV_SH=y
844# CONFIG_DMADEVICES is not set 846# CONFIG_DMADEVICES is not set
845# CONFIG_UIO is not set 847CONFIG_UIO=y
848# CONFIG_UIO_PDRV is not set
849CONFIG_UIO_PDRV_GENIRQ=y
850# CONFIG_UIO_SMX is not set
846 851
847# 852#
848# File systems 853# File systems
diff --git a/arch/sh/include/asm/uaccess_64.h b/arch/sh/include/asm/uaccess_64.h
index 81b3d515fcb3..5580fd471003 100644
--- a/arch/sh/include/asm/uaccess_64.h
+++ b/arch/sh/include/asm/uaccess_64.h
@@ -76,4 +76,6 @@ extern long __put_user_asm_l(void *, long);
76extern long __put_user_asm_q(void *, long); 76extern long __put_user_asm_q(void *, long);
77extern void __put_user_unknown(void); 77extern void __put_user_unknown(void);
78 78
79extern long __strnlen_user(const char *__s, long __n);
80
79#endif /* __ASM_SH_UACCESS_64_H */ 81#endif /* __ASM_SH_UACCESS_64_H */
diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S
index 04c7da968146..e640c63d5811 100644
--- a/arch/sh/kernel/cpu/sh5/entry.S
+++ b/arch/sh/kernel/cpu/sh5/entry.S
@@ -2,7 +2,7 @@
2 * arch/sh/kernel/cpu/sh5/entry.S 2 * arch/sh/kernel/cpu/sh5/entry.S
3 * 3 *
4 * Copyright (C) 2000, 2001 Paolo Alberelli 4 * Copyright (C) 2000, 2001 Paolo Alberelli
5 * Copyright (C) 2004 - 2007 Paul Mundt 5 * Copyright (C) 2004 - 2008 Paul Mundt
6 * Copyright (C) 2003, 2004 Richard Curnow 6 * Copyright (C) 2003, 2004 Richard Curnow
7 * 7 *
8 * This file is subject to the terms and conditions of the GNU General Public 8 * This file is subject to the terms and conditions of the GNU General Public
@@ -923,6 +923,8 @@ ret_from_exception:
923 blink tr0, ZERO 923 blink tr0, ZERO
924 924
925resume_kernel: 925resume_kernel:
926 CLI()
927
926 pta restore_all, tr0 928 pta restore_all, tr0
927 929
928 getcon KCR0, r6 930 getcon KCR0, r6
@@ -939,19 +941,11 @@ need_resched:
939 andi r7, 0xf0, r7 941 andi r7, 0xf0, r7
940 bne r7, ZERO, tr0 942 bne r7, ZERO, tr0
941 943
942 movi ((PREEMPT_ACTIVE >> 16) & 65535), r8 944 movi preempt_schedule_irq, r7
943 shori (PREEMPT_ACTIVE & 65535), r8
944 st.l r6, TI_PRE_COUNT, r8
945
946 STI()
947 movi schedule, r7
948 ori r7, 1, r7 945 ori r7, 1, r7
949 ptabs r7, tr1 946 ptabs r7, tr1
950 blink tr1, LINK 947 blink tr1, LINK
951 948
952 st.l r6, TI_PRE_COUNT, ZERO
953 CLI()
954
955 pta need_resched, tr1 949 pta need_resched, tr1
956 blink tr1, ZERO 950 blink tr1, ZERO
957#endif 951#endif
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S
index 0bc17def55a7..efbb4268875e 100644
--- a/arch/sh/kernel/entry-common.S
+++ b/arch/sh/kernel/entry-common.S
@@ -92,6 +92,7 @@ ENTRY(ret_from_irq)
92 bra resume_userspace 92 bra resume_userspace
93 nop 93 nop
94ENTRY(resume_kernel) 94ENTRY(resume_kernel)
95 cli
95 mov.l @(TI_PRE_COUNT,r8), r0 ! current_thread_info->preempt_count 96 mov.l @(TI_PRE_COUNT,r8), r0 ! current_thread_info->preempt_count
96 tst r0, r0 97 tst r0, r0
97 bf noresched 98 bf noresched
@@ -105,28 +106,9 @@ need_resched:
105 and #0xf0, r0 ! interrupts off (exception path)? 106 and #0xf0, r0 ! interrupts off (exception path)?
106 cmp/eq #0xf0, r0 107 cmp/eq #0xf0, r0
107 bt noresched 108 bt noresched
108
109 mov.l 1f, r0
110 mov.l r0, @(TI_PRE_COUNT,r8)
111
112#ifdef CONFIG_TRACE_IRQFLAGS
113 mov.l 3f, r0 109 mov.l 3f, r0
114 jsr @r0 110 jsr @r0 ! call preempt_schedule_irq
115 nop
116#endif
117 sti
118 mov.l 2f, r0
119 jsr @r0
120 nop
121 mov #0, r0
122 mov.l r0, @(TI_PRE_COUNT,r8)
123 cli
124#ifdef CONFIG_TRACE_IRQFLAGS
125 mov.l 4f, r0
126 jsr @r0
127 nop 111 nop
128#endif
129
130 bra need_resched 112 bra need_resched
131 nop 113 nop
132 114
@@ -137,10 +119,7 @@ noresched:
137 .align 2 119 .align 2
1381: .long PREEMPT_ACTIVE 1201: .long PREEMPT_ACTIVE
1392: .long schedule 1212: .long schedule
140#ifdef CONFIG_TRACE_IRQFLAGS 1223: .long preempt_schedule_irq
1413: .long trace_hardirqs_on
1424: .long trace_hardirqs_off
143#endif
144#endif 123#endif
145 124
146ENTRY(resume_userspace) 125ENTRY(resume_userspace)
diff --git a/arch/sh/kernel/machine_kexec.c b/arch/sh/kernel/machine_kexec.c
index 4703dff174d5..94df56b0d1f6 100644
--- a/arch/sh/kernel/machine_kexec.c
+++ b/arch/sh/kernel/machine_kexec.c
@@ -102,7 +102,7 @@ void machine_kexec(struct kimage *image)
102 102
103 /* now call it */ 103 /* now call it */
104 rnk = (relocate_new_kernel_t) reboot_code_buffer; 104 rnk = (relocate_new_kernel_t) reboot_code_buffer;
105 (*rnk)(page_list, reboot_code_buffer, image->start, vbr_reg); 105 (*rnk)(page_list, reboot_code_buffer, P2SEGADDR(image->start), vbr_reg);
106} 106}
107 107
108void arch_crash_save_vmcoreinfo(void) 108void arch_crash_save_vmcoreinfo(void)
diff --git a/arch/sh/kernel/ptrace_64.c b/arch/sh/kernel/ptrace_64.c
index 5922edd416db..9c6424892bd3 100644
--- a/arch/sh/kernel/ptrace_64.c
+++ b/arch/sh/kernel/ptrace_64.c
@@ -131,6 +131,8 @@ void user_enable_single_step(struct task_struct *child)
131 131
132void user_disable_single_step(struct task_struct *child) 132void user_disable_single_step(struct task_struct *child)
133{ 133{
134 struct pt_regs *regs = child->thread.uregs;
135
134 regs->sr &= ~SR_SSTEP; 136 regs->sr &= ~SR_SSTEP;
135} 137}
136 138
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index a35207655e7b..de832056bf1b 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -171,6 +171,7 @@ static void __init reserve_crashkernel(void)
171 (unsigned long)(free_mem >> 20)); 171 (unsigned long)(free_mem >> 20));
172 crashk_res.start = crash_base; 172 crashk_res.start = crash_base;
173 crashk_res.end = crash_base + crash_size - 1; 173 crashk_res.end = crash_base + crash_size - 1;
174 insert_resource(&iomem_resource, &crashk_res);
174 } 175 }
175} 176}
176#else 177#else
@@ -204,11 +205,6 @@ void __init __add_active_range(unsigned int nid, unsigned long start_pfn,
204 request_resource(res, &data_resource); 205 request_resource(res, &data_resource);
205 request_resource(res, &bss_resource); 206 request_resource(res, &bss_resource);
206 207
207#ifdef CONFIG_KEXEC
208 if (crashk_res.start != crashk_res.end)
209 request_resource(res, &crashk_res);
210#endif
211
212 add_active_range(nid, start_pfn, end_pfn); 208 add_active_range(nid, start_pfn, end_pfn);
213} 209}
214 210
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c
index 59cd2859ce9b..9061b86d73fa 100644
--- a/arch/sh/kernel/sys_sh.c
+++ b/arch/sh/kernel/sys_sh.c
@@ -170,7 +170,7 @@ asmlinkage int sys_ipc(uint call, int first, int second,
170 version = call >> 16; /* hack for backward compatibility */ 170 version = call >> 16; /* hack for backward compatibility */
171 call &= 0xffff; 171 call &= 0xffff;
172 172
173 if (call <= SEMCTL) 173 if (call <= SEMTIMEDOP)
174 switch (call) { 174 switch (call) {
175 case SEMOP: 175 case SEMOP:
176 return sys_semtimedop(first, 176 return sys_semtimedop(first,
diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c
index 895bb3f335c7..64b8f7f96f9a 100644
--- a/arch/sh/mm/consistent.c
+++ b/arch/sh/mm/consistent.c
@@ -101,7 +101,7 @@ static int __init memchunk_setup(char *str)
101} 101}
102__setup("memchunk.", memchunk_setup); 102__setup("memchunk.", memchunk_setup);
103 103
104static void memchunk_cmdline_override(char *name, unsigned long *sizep) 104static void __init memchunk_cmdline_override(char *name, unsigned long *sizep)
105{ 105{
106 char *p = boot_command_line; 106 char *p = boot_command_line;
107 int k = strlen(name); 107 int k = strlen(name);
@@ -118,8 +118,8 @@ static void memchunk_cmdline_override(char *name, unsigned long *sizep)
118 } 118 }
119} 119}
120 120
121int platform_resource_setup_memory(struct platform_device *pdev, 121int __init platform_resource_setup_memory(struct platform_device *pdev,
122 char *name, unsigned long memsize) 122 char *name, unsigned long memsize)
123{ 123{
124 struct resource *r; 124 struct resource *r;
125 dma_addr_t dma_handle; 125 dma_addr_t dma_handle;
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
index 6668e6037af6..9592889a6fd0 100644
--- a/arch/sparc/Makefile
+++ b/arch/sparc/Makefile
@@ -52,20 +52,24 @@ endif
52export INIT_Y CORE_Y DRIVERS_Y NET_Y LIBS_Y HEAD_Y kallsyms.o 52export INIT_Y CORE_Y DRIVERS_Y NET_Y LIBS_Y HEAD_Y kallsyms.o
53 53
54# Default target 54# Default target
55all: image 55all: zImage
56 56
57boot := arch/sparc/boot 57boot := arch/sparc/boot
58 58
59image tftpboot.img: vmlinux 59image zImage tftpboot.img: vmlinux
60 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 60 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
61 61
62archclean: 62archclean:
63 $(Q)$(MAKE) $(clean)=$(boot) 63 $(Q)$(MAKE) $(clean)=$(boot)
64 64
65# This is the image used for packaging
66KBUILD_IMAGE := $(boot)/zImage
67
65CLEAN_FILES += arch/$(ARCH)/boot/System.map 68CLEAN_FILES += arch/$(ARCH)/boot/System.map
66 69
67# Don't use tabs in echo arguments. 70# Don't use tabs in echo arguments.
68define archhelp 71define archhelp
69 echo '* image - kernel image ($(boot)/image)' 72 echo '* image - kernel image ($(boot)/image)'
73 echo '* zImage - stripped kernel image ($(boot)/zImage)'
70 echo ' tftpboot.img - image prepared for tftp' 74 echo ' tftpboot.img - image prepared for tftp'
71endef 75endef
diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index 22d331e1e941..3e77a9f52248 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -19,6 +19,9 @@ quiet_cmd_sysmap = SYSMAP $(obj)/System.map
19 cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap 19 cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap
20quiet_cmd_image = LD $@ 20quiet_cmd_image = LD $@
21 cmd_image = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) -o $@ 21 cmd_image = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) -o $@
22quiet_cmd_strip = STRIP $@
23 cmd_strip = $(STRIP) -R .comment -R .note -K sun4u_init -K _end -K _start $(obj)/image -o $@
24
22 25
23define rule_image 26define rule_image
24 $(if $($(quiet)cmd_image), \ 27 $(if $($(quiet)cmd_image), \
@@ -49,6 +52,9 @@ LDFLAGS_image := -T arch/sparc/kernel/vmlinux.lds $(BTOBJS) \
49$(obj)/image: $(obj)/btfix.o FORCE 52$(obj)/image: $(obj)/btfix.o FORCE
50 $(call if_changed_rule,image) 53 $(call if_changed_rule,image)
51 54
55$(obj)/zImage: $(obj)/image
56 $(call if_changed,strip)
57
52$(obj)/tftpboot.img: $(obj)/piggyback $(obj)/System.map $(obj)/image FORCE 58$(obj)/tftpboot.img: $(obj)/piggyback $(obj)/System.map $(obj)/image FORCE
53 $(call if_changed,elftoaout) 59 $(call if_changed,elftoaout)
54 $(call if_changed,piggy) 60 $(call if_changed,piggy)
diff --git a/arch/sparc/include/asm/smp_32.h b/arch/sparc/include/asm/smp_32.h
index 7201752cf934..a8180e546a48 100644
--- a/arch/sparc/include/asm/smp_32.h
+++ b/arch/sparc/include/asm/smp_32.h
@@ -50,27 +50,24 @@ struct seq_file;
50void smp_bogo(struct seq_file *); 50void smp_bogo(struct seq_file *);
51void smp_info(struct seq_file *); 51void smp_info(struct seq_file *);
52 52
53BTFIXUPDEF_CALL(void, smp_cross_call, smpfunc_t, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) 53BTFIXUPDEF_CALL(void, smp_cross_call, smpfunc_t, cpumask_t, unsigned long, unsigned long, unsigned long, unsigned long)
54BTFIXUPDEF_CALL(int, __hard_smp_processor_id, void) 54BTFIXUPDEF_CALL(int, __hard_smp_processor_id, void)
55BTFIXUPDEF_BLACKBOX(hard_smp_processor_id) 55BTFIXUPDEF_BLACKBOX(hard_smp_processor_id)
56BTFIXUPDEF_BLACKBOX(load_current) 56BTFIXUPDEF_BLACKBOX(load_current)
57 57
58#define smp_cross_call(func,arg1,arg2,arg3,arg4,arg5) BTFIXUP_CALL(smp_cross_call)(func,arg1,arg2,arg3,arg4,arg5) 58#define smp_cross_call(func,mask,arg1,arg2,arg3,arg4) BTFIXUP_CALL(smp_cross_call)(func,mask,arg1,arg2,arg3,arg4)
59 59
60static inline void xc0(smpfunc_t func) { smp_cross_call(func, 0, 0, 0, 0, 0); } 60static inline void xc0(smpfunc_t func) { smp_cross_call(func, cpu_online_map, 0, 0, 0, 0); }
61static inline void xc1(smpfunc_t func, unsigned long arg1) 61static inline void xc1(smpfunc_t func, unsigned long arg1)
62{ smp_cross_call(func, arg1, 0, 0, 0, 0); } 62{ smp_cross_call(func, cpu_online_map, arg1, 0, 0, 0); }
63static inline void xc2(smpfunc_t func, unsigned long arg1, unsigned long arg2) 63static inline void xc2(smpfunc_t func, unsigned long arg1, unsigned long arg2)
64{ smp_cross_call(func, arg1, arg2, 0, 0, 0); } 64{ smp_cross_call(func, cpu_online_map, arg1, arg2, 0, 0); }
65static inline void xc3(smpfunc_t func, unsigned long arg1, unsigned long arg2, 65static inline void xc3(smpfunc_t func, unsigned long arg1, unsigned long arg2,
66 unsigned long arg3) 66 unsigned long arg3)
67{ smp_cross_call(func, arg1, arg2, arg3, 0, 0); } 67{ smp_cross_call(func, cpu_online_map, arg1, arg2, arg3, 0); }
68static inline void xc4(smpfunc_t func, unsigned long arg1, unsigned long arg2, 68static inline void xc4(smpfunc_t func, unsigned long arg1, unsigned long arg2,
69 unsigned long arg3, unsigned long arg4) 69 unsigned long arg3, unsigned long arg4)
70{ smp_cross_call(func, arg1, arg2, arg3, arg4, 0); } 70{ smp_cross_call(func, cpu_online_map, arg1, arg2, arg3, arg4); }
71static inline void xc5(smpfunc_t func, unsigned long arg1, unsigned long arg2,
72 unsigned long arg3, unsigned long arg4, unsigned long arg5)
73{ smp_cross_call(func, arg1, arg2, arg3, arg4, arg5); }
74 71
75static inline int smp_call_function(void (*func)(void *info), void *info, int wait) 72static inline int smp_call_function(void (*func)(void *info), void *info, int wait)
76{ 73{
@@ -78,6 +75,14 @@ static inline int smp_call_function(void (*func)(void *info), void *info, int wa
78 return 0; 75 return 0;
79} 76}
80 77
78static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
79 void *info, int wait)
80{
81 smp_cross_call((smpfunc_t)func, cpumask_of_cpu(cpuid),
82 (unsigned long) info, 0, 0, 0);
83 return 0;
84}
85
81static inline int cpu_logical_map(int cpu) 86static inline int cpu_logical_map(int cpu)
82{ 87{
83 return cpu; 88 return cpu;
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c
index cc4c235c4f59..c481d45f97b7 100644
--- a/arch/sparc/kernel/of_device.c
+++ b/arch/sparc/kernel/of_device.c
@@ -70,7 +70,7 @@ struct of_bus {
70 int *addrc, int *sizec); 70 int *addrc, int *sizec);
71 int (*map)(u32 *addr, const u32 *range, 71 int (*map)(u32 *addr, const u32 *range,
72 int na, int ns, int pna); 72 int na, int ns, int pna);
73 unsigned int (*get_flags)(const u32 *addr); 73 unsigned long (*get_flags)(const u32 *addr, unsigned long);
74}; 74};
75 75
76/* 76/*
@@ -130,8 +130,10 @@ static int of_bus_default_map(u32 *addr, const u32 *range,
130 return 0; 130 return 0;
131} 131}
132 132
133static unsigned int of_bus_default_get_flags(const u32 *addr) 133static unsigned long of_bus_default_get_flags(const u32 *addr, unsigned long flags)
134{ 134{
135 if (flags)
136 return flags;
135 return IORESOURCE_MEM; 137 return IORESOURCE_MEM;
136} 138}
137 139
@@ -194,17 +196,21 @@ static int of_bus_pci_map(u32 *addr, const u32 *range,
194 return 0; 196 return 0;
195} 197}
196 198
197static unsigned int of_bus_pci_get_flags(const u32 *addr) 199static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
198{ 200{
199 unsigned int flags = 0;
200 u32 w = addr[0]; 201 u32 w = addr[0];
201 202
203 /* For PCI, we override whatever child busses may have used. */
204 flags = 0;
202 switch((w >> 24) & 0x03) { 205 switch((w >> 24) & 0x03) {
203 case 0x01: 206 case 0x01:
204 flags |= IORESOURCE_IO; 207 flags |= IORESOURCE_IO;
208 break;
209
205 case 0x02: /* 32 bits */ 210 case 0x02: /* 32 bits */
206 case 0x03: /* 64 bits */ 211 case 0x03: /* 64 bits */
207 flags |= IORESOURCE_MEM; 212 flags |= IORESOURCE_MEM;
213 break;
208 } 214 }
209 if (w & 0x40000000) 215 if (w & 0x40000000)
210 flags |= IORESOURCE_PREFETCH; 216 flags |= IORESOURCE_PREFETCH;
@@ -362,10 +368,11 @@ static void __init build_device_resources(struct of_device *op,
362 int pna, pns; 368 int pna, pns;
363 369
364 size = of_read_addr(reg + na, ns); 370 size = of_read_addr(reg + na, ns);
365 flags = bus->get_flags(reg);
366 371
367 memcpy(addr, reg, na * 4); 372 memcpy(addr, reg, na * 4);
368 373
374 flags = bus->get_flags(reg, 0);
375
369 /* If the immediate parent has no ranges property to apply, 376 /* If the immediate parent has no ranges property to apply,
370 * just use a 1<->1 mapping. 377 * just use a 1<->1 mapping.
371 */ 378 */
@@ -393,6 +400,8 @@ static void __init build_device_resources(struct of_device *op,
393 dna, dns, pna)) 400 dna, dns, pna))
394 break; 401 break;
395 402
403 flags = pbus->get_flags(addr, flags);
404
396 dna = pna; 405 dna = pna;
397 dns = pns; 406 dns = pns;
398 dbus = pbus; 407 dbus = pbus;
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c
index dfde77ff0848..69596402a500 100644
--- a/arch/sparc/kernel/sun4d_smp.c
+++ b/arch/sparc/kernel/sun4d_smp.c
@@ -262,8 +262,9 @@ static struct smp_funcall {
262static DEFINE_SPINLOCK(cross_call_lock); 262static DEFINE_SPINLOCK(cross_call_lock);
263 263
264/* Cross calls must be serialized, at least currently. */ 264/* Cross calls must be serialized, at least currently. */
265void smp4d_cross_call(smpfunc_t func, unsigned long arg1, unsigned long arg2, 265static void smp4d_cross_call(smpfunc_t func, cpumask_t mask, unsigned long arg1,
266 unsigned long arg3, unsigned long arg4, unsigned long arg5) 266 unsigned long arg2, unsigned long arg3,
267 unsigned long arg4)
267{ 268{
268 if(smp_processors_ready) { 269 if(smp_processors_ready) {
269 register int high = smp_highest_cpu; 270 register int high = smp_highest_cpu;
@@ -278,7 +279,7 @@ void smp4d_cross_call(smpfunc_t func, unsigned long arg1, unsigned long arg2,
278 register unsigned long a2 asm("i2") = arg2; 279 register unsigned long a2 asm("i2") = arg2;
279 register unsigned long a3 asm("i3") = arg3; 280 register unsigned long a3 asm("i3") = arg3;
280 register unsigned long a4 asm("i4") = arg4; 281 register unsigned long a4 asm("i4") = arg4;
281 register unsigned long a5 asm("i5") = arg5; 282 register unsigned long a5 asm("i5") = 0;
282 283
283 __asm__ __volatile__( 284 __asm__ __volatile__(
284 "std %0, [%6]\n\t" 285 "std %0, [%6]\n\t"
@@ -290,11 +291,10 @@ void smp4d_cross_call(smpfunc_t func, unsigned long arg1, unsigned long arg2,
290 291
291 /* Init receive/complete mapping, plus fire the IPI's off. */ 292 /* Init receive/complete mapping, plus fire the IPI's off. */
292 { 293 {
293 cpumask_t mask;
294 register int i; 294 register int i;
295 295
296 mask = cpumask_of_cpu(hard_smp4d_processor_id()); 296 cpu_clear(smp_processor_id(), mask);
297 cpus_andnot(mask, cpu_online_map, mask); 297 cpus_and(mask, cpu_online_map, mask);
298 for(i = 0; i <= high; i++) { 298 for(i = 0; i <= high; i++) {
299 if (cpu_isset(i, mask)) { 299 if (cpu_isset(i, mask)) {
300 ccall_info.processors_in[i] = 0; 300 ccall_info.processors_in[i] = 0;
@@ -309,12 +309,16 @@ void smp4d_cross_call(smpfunc_t func, unsigned long arg1, unsigned long arg2,
309 309
310 i = 0; 310 i = 0;
311 do { 311 do {
312 if (!cpu_isset(i, mask))
313 continue;
312 while(!ccall_info.processors_in[i]) 314 while(!ccall_info.processors_in[i])
313 barrier(); 315 barrier();
314 } while(++i <= high); 316 } while(++i <= high);
315 317
316 i = 0; 318 i = 0;
317 do { 319 do {
320 if (!cpu_isset(i, mask))
321 continue;
318 while(!ccall_info.processors_out[i]) 322 while(!ccall_info.processors_out[i])
319 barrier(); 323 barrier();
320 } while(++i <= high); 324 } while(++i <= high);
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c
index 406ac1abc83a..a14a76ac7f36 100644
--- a/arch/sparc/kernel/sun4m_smp.c
+++ b/arch/sparc/kernel/sun4m_smp.c
@@ -244,9 +244,9 @@ static struct smp_funcall {
244static DEFINE_SPINLOCK(cross_call_lock); 244static DEFINE_SPINLOCK(cross_call_lock);
245 245
246/* Cross calls must be serialized, at least currently. */ 246/* Cross calls must be serialized, at least currently. */
247static void smp4m_cross_call(smpfunc_t func, unsigned long arg1, 247static void smp4m_cross_call(smpfunc_t func, cpumask_t mask, unsigned long arg1,
248 unsigned long arg2, unsigned long arg3, 248 unsigned long arg2, unsigned long arg3,
249 unsigned long arg4, unsigned long arg5) 249 unsigned long arg4)
250{ 250{
251 register int ncpus = SUN4M_NCPUS; 251 register int ncpus = SUN4M_NCPUS;
252 unsigned long flags; 252 unsigned long flags;
@@ -259,14 +259,14 @@ static void smp4m_cross_call(smpfunc_t func, unsigned long arg1,
259 ccall_info.arg2 = arg2; 259 ccall_info.arg2 = arg2;
260 ccall_info.arg3 = arg3; 260 ccall_info.arg3 = arg3;
261 ccall_info.arg4 = arg4; 261 ccall_info.arg4 = arg4;
262 ccall_info.arg5 = arg5; 262 ccall_info.arg5 = 0;
263 263
264 /* Init receive/complete mapping, plus fire the IPI's off. */ 264 /* Init receive/complete mapping, plus fire the IPI's off. */
265 { 265 {
266 cpumask_t mask = cpu_online_map;
267 register int i; 266 register int i;
268 267
269 cpu_clear(smp_processor_id(), mask); 268 cpu_clear(smp_processor_id(), mask);
269 cpus_and(mask, cpu_online_map, mask);
270 for(i = 0; i < ncpus; i++) { 270 for(i = 0; i < ncpus; i++) {
271 if (cpu_isset(i, mask)) { 271 if (cpu_isset(i, mask)) {
272 ccall_info.processors_in[i] = 0; 272 ccall_info.processors_in[i] = 0;
@@ -284,12 +284,16 @@ static void smp4m_cross_call(smpfunc_t func, unsigned long arg1,
284 284
285 i = 0; 285 i = 0;
286 do { 286 do {
287 if (!cpu_isset(i, mask))
288 continue;
287 while(!ccall_info.processors_in[i]) 289 while(!ccall_info.processors_in[i])
288 barrier(); 290 barrier();
289 } while(++i < ncpus); 291 } while(++i < ncpus);
290 292
291 i = 0; 293 i = 0;
292 do { 294 do {
295 if (!cpu_isset(i, mask))
296 continue;
293 while(!ccall_info.processors_out[i]) 297 while(!ccall_info.processors_out[i])
294 barrier(); 298 barrier();
295 } while(++i < ncpus); 299 } while(++i < ncpus);
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 923a98959fa7..36b4b7ab9cfb 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -231,6 +231,7 @@ endmenu
231 231
232config NUMA 232config NUMA
233 bool "NUMA support" 233 bool "NUMA support"
234 depends on SMP
234 235
235config NODES_SHIFT 236config NODES_SHIFT
236 int 237 int
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index 9b6689d9d570..23963882bc18 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -792,6 +792,8 @@ void fixup_irqs(void)
792 } 792 }
793 spin_unlock_irqrestore(&irq_desc[irq].lock, flags); 793 spin_unlock_irqrestore(&irq_desc[irq].lock, flags);
794 } 794 }
795
796 tick_ops->disable_irq();
795} 797}
796#endif 798#endif
797 799
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index f8b50cbf4bf7..f845f150f565 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -96,7 +96,7 @@ struct of_bus {
96 int *addrc, int *sizec); 96 int *addrc, int *sizec);
97 int (*map)(u32 *addr, const u32 *range, 97 int (*map)(u32 *addr, const u32 *range,
98 int na, int ns, int pna); 98 int na, int ns, int pna);
99 unsigned int (*get_flags)(const u32 *addr); 99 unsigned long (*get_flags)(const u32 *addr, unsigned long);
100}; 100};
101 101
102/* 102/*
@@ -156,8 +156,10 @@ static int of_bus_default_map(u32 *addr, const u32 *range,
156 return 0; 156 return 0;
157} 157}
158 158
159static unsigned int of_bus_default_get_flags(const u32 *addr) 159static unsigned long of_bus_default_get_flags(const u32 *addr, unsigned long flags)
160{ 160{
161 if (flags)
162 return flags;
161 return IORESOURCE_MEM; 163 return IORESOURCE_MEM;
162} 164}
163 165
@@ -249,17 +251,21 @@ static int of_bus_pci_map(u32 *addr, const u32 *range,
249 return 0; 251 return 0;
250} 252}
251 253
252static unsigned int of_bus_pci_get_flags(const u32 *addr) 254static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
253{ 255{
254 unsigned int flags = 0;
255 u32 w = addr[0]; 256 u32 w = addr[0];
256 257
258 /* For PCI, we override whatever child busses may have used. */
259 flags = 0;
257 switch((w >> 24) & 0x03) { 260 switch((w >> 24) & 0x03) {
258 case 0x01: 261 case 0x01:
259 flags |= IORESOURCE_IO; 262 flags |= IORESOURCE_IO;
263 break;
264
260 case 0x02: /* 32 bits */ 265 case 0x02: /* 32 bits */
261 case 0x03: /* 64 bits */ 266 case 0x03: /* 64 bits */
262 flags |= IORESOURCE_MEM; 267 flags |= IORESOURCE_MEM;
268 break;
263 } 269 }
264 if (w & 0x40000000) 270 if (w & 0x40000000)
265 flags |= IORESOURCE_PREFETCH; 271 flags |= IORESOURCE_PREFETCH;
@@ -478,10 +484,10 @@ static void __init build_device_resources(struct of_device *op,
478 int pna, pns; 484 int pna, pns;
479 485
480 size = of_read_addr(reg + na, ns); 486 size = of_read_addr(reg + na, ns);
481 flags = bus->get_flags(reg);
482
483 memcpy(addr, reg, na * 4); 487 memcpy(addr, reg, na * 4);
484 488
489 flags = bus->get_flags(addr, 0);
490
485 if (use_1to1_mapping(pp)) { 491 if (use_1to1_mapping(pp)) {
486 result = of_read_addr(addr, na); 492 result = of_read_addr(addr, na);
487 goto build_res; 493 goto build_res;
@@ -506,6 +512,8 @@ static void __init build_device_resources(struct of_device *op,
506 dna, dns, pna)) 512 dna, dns, pna))
507 break; 513 break;
508 514
515 flags = pbus->get_flags(addr, flags);
516
509 dna = pna; 517 dna = pna;
510 dns = pns; 518 dns = pns;
511 dbus = pbus; 519 dbus = pbus;
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 743ccad61c60..2be166c544ca 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -80,8 +80,6 @@ void smp_bogo(struct seq_file *m)
80 i, cpu_data(i).clock_tick); 80 i, cpu_data(i).clock_tick);
81} 81}
82 82
83static __cacheline_aligned_in_smp DEFINE_SPINLOCK(call_lock);
84
85extern void setup_sparc64_timer(void); 83extern void setup_sparc64_timer(void);
86 84
87static volatile unsigned long callin_flag = 0; 85static volatile unsigned long callin_flag = 0;
@@ -120,9 +118,9 @@ void __cpuinit smp_callin(void)
120 while (!cpu_isset(cpuid, smp_commenced_mask)) 118 while (!cpu_isset(cpuid, smp_commenced_mask))
121 rmb(); 119 rmb();
122 120
123 spin_lock(&call_lock); 121 ipi_call_lock();
124 cpu_set(cpuid, cpu_online_map); 122 cpu_set(cpuid, cpu_online_map);
125 spin_unlock(&call_lock); 123 ipi_call_unlock();
126 124
127 /* idle thread is expected to have preempt disabled */ 125 /* idle thread is expected to have preempt disabled */
128 preempt_disable(); 126 preempt_disable();
@@ -1305,10 +1303,6 @@ int __cpu_disable(void)
1305 c->core_id = 0; 1303 c->core_id = 0;
1306 c->proc_id = -1; 1304 c->proc_id = -1;
1307 1305
1308 spin_lock(&call_lock);
1309 cpu_clear(cpu, cpu_online_map);
1310 spin_unlock(&call_lock);
1311
1312 smp_wmb(); 1306 smp_wmb();
1313 1307
1314 /* Make sure no interrupts point to this cpu. */ 1308 /* Make sure no interrupts point to this cpu. */
@@ -1318,6 +1312,10 @@ int __cpu_disable(void)
1318 mdelay(1); 1312 mdelay(1);
1319 local_irq_disable(); 1313 local_irq_disable();
1320 1314
1315 ipi_call_lock();
1316 cpu_clear(cpu, cpu_online_map);
1317 ipi_call_unlock();
1318
1321 return 0; 1319 return 0;
1322} 1320}
1323 1321
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index b4aeb0f696dc..a41df7bef035 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -1843,7 +1843,7 @@ static int pavail_rescan_ents __initdata;
1843 * memory list again, and make sure it provides at least as much 1843 * memory list again, and make sure it provides at least as much
1844 * memory as 'pavail' does. 1844 * memory as 'pavail' does.
1845 */ 1845 */
1846static void setup_valid_addr_bitmap_from_pavail(void) 1846static void __init setup_valid_addr_bitmap_from_pavail(void)
1847{ 1847{
1848 int i; 1848 int i;
1849 1849
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index 2c518fbc52ec..b225219c448c 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -382,14 +382,17 @@ config X86_OOSTORE
382# P6_NOPs are a relatively minor optimization that require a family >= 382# P6_NOPs are a relatively minor optimization that require a family >=
383# 6 processor, except that it is broken on certain VIA chips. 383# 6 processor, except that it is broken on certain VIA chips.
384# Furthermore, AMD chips prefer a totally different sequence of NOPs 384# Furthermore, AMD chips prefer a totally different sequence of NOPs
385# (which work on all CPUs). As a result, disallow these if we're 385# (which work on all CPUs). In addition, it looks like Virtual PC
386# compiling X86_GENERIC but not X86_64 (these NOPs do work on all 386# does not understand them.
387# x86-64 capable chips); the list of processors in the right-hand clause 387#
388# are the cores that benefit from this optimization. 388# As a result, disallow these if we're not compiling for X86_64 (these
389# NOPs do work on all x86-64 capable chips); the list of processors in
390# the right-hand clause are the cores that benefit from this optimization.
389# 391#
390config X86_P6_NOP 392config X86_P6_NOP
391 def_bool y 393 def_bool y
392 depends on (X86_64 || !X86_GENERIC) && (M686 || MPENTIUMII || MPENTIUMIII || MPENTIUMM || MCORE2 || MPENTIUM4 || MPSC) 394 depends on X86_64
395 depends on (MCORE2 || MPENTIUM4 || MPSC)
393 396
394config X86_TSC 397config X86_TSC
395 def_bool y 398 def_bool y
diff --git a/arch/x86/boot/cpucheck.c b/arch/x86/boot/cpucheck.c
index 4b9ae7c56748..4d3ff037201f 100644
--- a/arch/x86/boot/cpucheck.c
+++ b/arch/x86/boot/cpucheck.c
@@ -38,12 +38,12 @@ static const u32 req_flags[NCAPINTS] =
38{ 38{
39 REQUIRED_MASK0, 39 REQUIRED_MASK0,
40 REQUIRED_MASK1, 40 REQUIRED_MASK1,
41 REQUIRED_MASK2, 41 0, /* REQUIRED_MASK2 not implemented in this file */
42 REQUIRED_MASK3, 42 0, /* REQUIRED_MASK3 not implemented in this file */
43 REQUIRED_MASK4, 43 REQUIRED_MASK4,
44 REQUIRED_MASK5, 44 0, /* REQUIRED_MASK5 not implemented in this file */
45 REQUIRED_MASK6, 45 REQUIRED_MASK6,
46 REQUIRED_MASK7, 46 0, /* REQUIRED_MASK7 not implemented in this file */
47}; 47};
48 48
49#define A32(a, b, c, d) (((d) << 24)+((c) << 16)+((b) << 8)+(a)) 49#define A32(a, b, c, d) (((d) << 24)+((c) << 16)+((b) << 8)+(a))
diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index 4d73f53287b6..104275e191a8 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -1,13 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc1 3# Linux kernel version: 2.6.27-rc4
4# Sun May 4 19:59:02 2008 4# Mon Aug 25 15:04:00 2008
5# 5#
6# CONFIG_64BIT is not set 6# CONFIG_64BIT is not set
7CONFIG_X86_32=y 7CONFIG_X86_32=y
8# CONFIG_X86_64 is not set 8# CONFIG_X86_64 is not set
9CONFIG_X86=y 9CONFIG_X86=y
10CONFIG_DEFCONFIG_LIST="arch/x86/configs/i386_defconfig" 10CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
11# CONFIG_GENERIC_LOCKBREAK is not set 11# CONFIG_GENERIC_LOCKBREAK is not set
12CONFIG_GENERIC_TIME=y 12CONFIG_GENERIC_TIME=y
13CONFIG_GENERIC_CMOS_UPDATE=y 13CONFIG_GENERIC_CMOS_UPDATE=y
@@ -53,6 +53,7 @@ CONFIG_X86_HT=y
53CONFIG_X86_BIOS_REBOOT=y 53CONFIG_X86_BIOS_REBOOT=y
54CONFIG_X86_TRAMPOLINE=y 54CONFIG_X86_TRAMPOLINE=y
55CONFIG_KTIME_SCALAR=y 55CONFIG_KTIME_SCALAR=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56 57
57# 58#
58# General setup 59# General setup
@@ -82,6 +83,7 @@ CONFIG_CGROUPS=y
82CONFIG_CGROUP_NS=y 83CONFIG_CGROUP_NS=y
83# CONFIG_CGROUP_DEVICE is not set 84# CONFIG_CGROUP_DEVICE is not set
84CONFIG_CPUSETS=y 85CONFIG_CPUSETS=y
86CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
85CONFIG_GROUP_SCHED=y 87CONFIG_GROUP_SCHED=y
86CONFIG_FAIR_GROUP_SCHED=y 88CONFIG_FAIR_GROUP_SCHED=y
87# CONFIG_RT_GROUP_SCHED is not set 89# CONFIG_RT_GROUP_SCHED is not set
@@ -105,7 +107,6 @@ CONFIG_SYSCTL=y
105# CONFIG_EMBEDDED is not set 107# CONFIG_EMBEDDED is not set
106CONFIG_UID16=y 108CONFIG_UID16=y
107CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
108CONFIG_SYSCTL_SYSCALL_CHECK=y
109CONFIG_KALLSYMS=y 110CONFIG_KALLSYMS=y
110CONFIG_KALLSYMS_ALL=y 111CONFIG_KALLSYMS_ALL=y
111CONFIG_KALLSYMS_EXTRA_PASS=y 112CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -113,6 +114,7 @@ CONFIG_HOTPLUG=y
113CONFIG_PRINTK=y 114CONFIG_PRINTK=y
114CONFIG_BUG=y 115CONFIG_BUG=y
115CONFIG_ELF_CORE=y 116CONFIG_ELF_CORE=y
117CONFIG_PCSPKR_PLATFORM=y
116# CONFIG_COMPAT_BRK is not set 118# CONFIG_COMPAT_BRK is not set
117CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
118CONFIG_FUTEX=y 120CONFIG_FUTEX=y
@@ -132,27 +134,35 @@ CONFIG_MARKERS=y
132# CONFIG_OPROFILE is not set 134# CONFIG_OPROFILE is not set
133CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
134CONFIG_KPROBES=y 136CONFIG_KPROBES=y
137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
135CONFIG_KRETPROBES=y 138CONFIG_KRETPROBES=y
139CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 140CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 141CONFIG_HAVE_KRETPROBES=y
142# CONFIG_HAVE_ARCH_TRACEHOOK is not set
138# CONFIG_HAVE_DMA_ATTRS is not set 143# CONFIG_HAVE_DMA_ATTRS is not set
144CONFIG_USE_GENERIC_SMP_HELPERS=y
145# CONFIG_HAVE_CLK is not set
139CONFIG_PROC_PAGE_MONITOR=y 146CONFIG_PROC_PAGE_MONITOR=y
147CONFIG_HAVE_GENERIC_DMA_COHERENT=y
140CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
141CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
142# CONFIG_TINY_SHMEM is not set 150# CONFIG_TINY_SHMEM is not set
143CONFIG_BASE_SMALL=0 151CONFIG_BASE_SMALL=0
144CONFIG_MODULES=y 152CONFIG_MODULES=y
153# CONFIG_MODULE_FORCE_LOAD is not set
145CONFIG_MODULE_UNLOAD=y 154CONFIG_MODULE_UNLOAD=y
146CONFIG_MODULE_FORCE_UNLOAD=y 155CONFIG_MODULE_FORCE_UNLOAD=y
147# CONFIG_MODVERSIONS is not set 156# CONFIG_MODVERSIONS is not set
148# CONFIG_MODULE_SRCVERSION_ALL is not set 157# CONFIG_MODULE_SRCVERSION_ALL is not set
149# CONFIG_KMOD is not set 158CONFIG_KMOD=y
150CONFIG_STOP_MACHINE=y 159CONFIG_STOP_MACHINE=y
151CONFIG_BLOCK=y 160CONFIG_BLOCK=y
152# CONFIG_LBD is not set 161# CONFIG_LBD is not set
153CONFIG_BLK_DEV_IO_TRACE=y 162CONFIG_BLK_DEV_IO_TRACE=y
154# CONFIG_LSF is not set 163# CONFIG_LSF is not set
155CONFIG_BLK_DEV_BSG=y 164CONFIG_BLK_DEV_BSG=y
165# CONFIG_BLK_DEV_INTEGRITY is not set
156 166
157# 167#
158# IO Schedulers 168# IO Schedulers
@@ -176,19 +186,17 @@ CONFIG_NO_HZ=y
176CONFIG_HIGH_RES_TIMERS=y 186CONFIG_HIGH_RES_TIMERS=y
177CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 187CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
178CONFIG_SMP=y 188CONFIG_SMP=y
189CONFIG_X86_FIND_SMP_CONFIG=y
190CONFIG_X86_MPPARSE=y
179CONFIG_X86_PC=y 191CONFIG_X86_PC=y
180# CONFIG_X86_ELAN is not set 192# CONFIG_X86_ELAN is not set
181# CONFIG_X86_VOYAGER is not set 193# CONFIG_X86_VOYAGER is not set
182# CONFIG_X86_NUMAQ is not set
183# CONFIG_X86_SUMMIT is not set
184# CONFIG_X86_BIGSMP is not set
185# CONFIG_X86_VISWS is not set
186# CONFIG_X86_GENERICARCH is not set 194# CONFIG_X86_GENERICARCH is not set
187# CONFIG_X86_ES7000 is not set
188# CONFIG_X86_RDC321X is not set
189# CONFIG_X86_VSMP is not set 195# CONFIG_X86_VSMP is not set
196# CONFIG_X86_RDC321X is not set
190CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 197CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
191# CONFIG_PARAVIRT_GUEST is not set 198# CONFIG_PARAVIRT_GUEST is not set
199# CONFIG_MEMTEST is not set
192# CONFIG_M386 is not set 200# CONFIG_M386 is not set
193# CONFIG_M486 is not set 201# CONFIG_M486 is not set
194# CONFIG_M586 is not set 202# CONFIG_M586 is not set
@@ -215,21 +223,19 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
215# CONFIG_MPSC is not set 223# CONFIG_MPSC is not set
216CONFIG_MCORE2=y 224CONFIG_MCORE2=y
217# CONFIG_GENERIC_CPU is not set 225# CONFIG_GENERIC_CPU is not set
218# CONFIG_X86_GENERIC is not set 226CONFIG_X86_GENERIC=y
219CONFIG_X86_CPU=y 227CONFIG_X86_CPU=y
220CONFIG_X86_CMPXCHG=y 228CONFIG_X86_CMPXCHG=y
221CONFIG_X86_L1_CACHE_SHIFT=6 229CONFIG_X86_L1_CACHE_SHIFT=7
222CONFIG_X86_XADD=y 230CONFIG_X86_XADD=y
223CONFIG_X86_WP_WORKS_OK=y 231CONFIG_X86_WP_WORKS_OK=y
224CONFIG_X86_INVLPG=y 232CONFIG_X86_INVLPG=y
225CONFIG_X86_BSWAP=y 233CONFIG_X86_BSWAP=y
226CONFIG_X86_POPAD_OK=y 234CONFIG_X86_POPAD_OK=y
227CONFIG_X86_GOOD_APIC=y
228CONFIG_X86_INTEL_USERCOPY=y 235CONFIG_X86_INTEL_USERCOPY=y
229CONFIG_X86_USE_PPRO_CHECKSUM=y 236CONFIG_X86_USE_PPRO_CHECKSUM=y
230CONFIG_X86_P6_NOP=y
231CONFIG_X86_TSC=y 237CONFIG_X86_TSC=y
232CONFIG_X86_MINIMUM_CPU_FAMILY=6 238CONFIG_X86_MINIMUM_CPU_FAMILY=4
233CONFIG_X86_DEBUGCTLMSR=y 239CONFIG_X86_DEBUGCTLMSR=y
234CONFIG_HPET_TIMER=y 240CONFIG_HPET_TIMER=y
235CONFIG_HPET_EMULATE_RTC=y 241CONFIG_HPET_EMULATE_RTC=y
@@ -247,7 +253,7 @@ CONFIG_X86_IO_APIC=y
247CONFIG_VM86=y 253CONFIG_VM86=y
248# CONFIG_TOSHIBA is not set 254# CONFIG_TOSHIBA is not set
249# CONFIG_I8K is not set 255# CONFIG_I8K is not set
250# CONFIG_X86_REBOOTFIXUPS is not set 256CONFIG_X86_REBOOTFIXUPS=y
251# CONFIG_MICROCODE is not set 257# CONFIG_MICROCODE is not set
252CONFIG_X86_MSR=y 258CONFIG_X86_MSR=y
253CONFIG_X86_CPUID=y 259CONFIG_X86_CPUID=y
@@ -256,32 +262,28 @@ CONFIG_HIGHMEM4G=y
256# CONFIG_HIGHMEM64G is not set 262# CONFIG_HIGHMEM64G is not set
257CONFIG_PAGE_OFFSET=0xC0000000 263CONFIG_PAGE_OFFSET=0xC0000000
258CONFIG_HIGHMEM=y 264CONFIG_HIGHMEM=y
259CONFIG_NEED_NODE_MEMMAP_SIZE=y
260CONFIG_ARCH_FLATMEM_ENABLE=y 265CONFIG_ARCH_FLATMEM_ENABLE=y
261CONFIG_ARCH_SPARSEMEM_ENABLE=y 266CONFIG_ARCH_SPARSEMEM_ENABLE=y
262CONFIG_ARCH_SELECT_MEMORY_MODEL=y 267CONFIG_ARCH_SELECT_MEMORY_MODEL=y
263CONFIG_SELECT_MEMORY_MODEL=y 268CONFIG_SELECT_MEMORY_MODEL=y
264# CONFIG_FLATMEM_MANUAL is not set 269CONFIG_FLATMEM_MANUAL=y
265# CONFIG_DISCONTIGMEM_MANUAL is not set 270# CONFIG_DISCONTIGMEM_MANUAL is not set
266CONFIG_SPARSEMEM_MANUAL=y 271# CONFIG_SPARSEMEM_MANUAL is not set
267CONFIG_SPARSEMEM=y 272CONFIG_FLATMEM=y
268CONFIG_HAVE_MEMORY_PRESENT=y 273CONFIG_FLAT_NODE_MEM_MAP=y
269CONFIG_SPARSEMEM_STATIC=y 274CONFIG_SPARSEMEM_STATIC=y
270# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 275# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
271
272#
273# Memory hotplug is currently incompatible with Software Suspend
274#
275CONFIG_PAGEFLAGS_EXTENDED=y 276CONFIG_PAGEFLAGS_EXTENDED=y
276CONFIG_SPLIT_PTLOCK_CPUS=4 277CONFIG_SPLIT_PTLOCK_CPUS=4
277CONFIG_RESOURCES_64BIT=y 278CONFIG_RESOURCES_64BIT=y
278CONFIG_ZONE_DMA_FLAG=1 279CONFIG_ZONE_DMA_FLAG=1
279CONFIG_BOUNCE=y 280CONFIG_BOUNCE=y
280CONFIG_VIRT_TO_BUS=y 281CONFIG_VIRT_TO_BUS=y
281# CONFIG_HIGHPTE is not set 282CONFIG_HIGHPTE=y
282# CONFIG_MATH_EMULATION is not set 283# CONFIG_MATH_EMULATION is not set
283CONFIG_MTRR=y 284CONFIG_MTRR=y
284# CONFIG_X86_PAT is not set 285# CONFIG_MTRR_SANITIZER is not set
286CONFIG_X86_PAT=y
285CONFIG_EFI=y 287CONFIG_EFI=y
286# CONFIG_IRQBALANCE is not set 288# CONFIG_IRQBALANCE is not set
287CONFIG_SECCOMP=y 289CONFIG_SECCOMP=y
@@ -293,6 +295,7 @@ CONFIG_HZ=1000
293CONFIG_SCHED_HRTICK=y 295CONFIG_SCHED_HRTICK=y
294CONFIG_KEXEC=y 296CONFIG_KEXEC=y
295CONFIG_CRASH_DUMP=y 297CONFIG_CRASH_DUMP=y
298# CONFIG_KEXEC_JUMP is not set
296CONFIG_PHYSICAL_START=0x1000000 299CONFIG_PHYSICAL_START=0x1000000
297CONFIG_RELOCATABLE=y 300CONFIG_RELOCATABLE=y
298CONFIG_PHYSICAL_ALIGN=0x200000 301CONFIG_PHYSICAL_ALIGN=0x200000
@@ -312,6 +315,7 @@ CONFIG_PM_TRACE_RTC=y
312CONFIG_PM_SLEEP_SMP=y 315CONFIG_PM_SLEEP_SMP=y
313CONFIG_PM_SLEEP=y 316CONFIG_PM_SLEEP=y
314CONFIG_SUSPEND=y 317CONFIG_SUSPEND=y
318# CONFIG_PM_TEST_SUSPEND is not set
315CONFIG_SUSPEND_FREEZER=y 319CONFIG_SUSPEND_FREEZER=y
316CONFIG_HIBERNATION=y 320CONFIG_HIBERNATION=y
317CONFIG_PM_STD_PARTITION="" 321CONFIG_PM_STD_PARTITION=""
@@ -337,6 +341,7 @@ CONFIG_ACPI_THERMAL=y
337CONFIG_ACPI_BLACKLIST_YEAR=0 341CONFIG_ACPI_BLACKLIST_YEAR=0
338# CONFIG_ACPI_DEBUG is not set 342# CONFIG_ACPI_DEBUG is not set
339CONFIG_ACPI_EC=y 343CONFIG_ACPI_EC=y
344# CONFIG_ACPI_PCI_SLOT is not set
340CONFIG_ACPI_POWER=y 345CONFIG_ACPI_POWER=y
341CONFIG_ACPI_SYSTEM=y 346CONFIG_ACPI_SYSTEM=y
342CONFIG_X86_PM_TIMER=y 347CONFIG_X86_PM_TIMER=y
@@ -395,8 +400,8 @@ CONFIG_PCI=y
395# CONFIG_PCI_GOBIOS is not set 400# CONFIG_PCI_GOBIOS is not set
396# CONFIG_PCI_GOMMCONFIG is not set 401# CONFIG_PCI_GOMMCONFIG is not set
397# CONFIG_PCI_GODIRECT is not set 402# CONFIG_PCI_GODIRECT is not set
398CONFIG_PCI_GOANY=y
399# CONFIG_PCI_GOOLPC is not set 403# CONFIG_PCI_GOOLPC is not set
404CONFIG_PCI_GOANY=y
400CONFIG_PCI_BIOS=y 405CONFIG_PCI_BIOS=y
401CONFIG_PCI_DIRECT=y 406CONFIG_PCI_DIRECT=y
402CONFIG_PCI_MMCONFIG=y 407CONFIG_PCI_MMCONFIG=y
@@ -448,10 +453,6 @@ CONFIG_HOTPLUG_PCI=y
448CONFIG_BINFMT_ELF=y 453CONFIG_BINFMT_ELF=y
449# CONFIG_BINFMT_AOUT is not set 454# CONFIG_BINFMT_AOUT is not set
450CONFIG_BINFMT_MISC=y 455CONFIG_BINFMT_MISC=y
451
452#
453# Networking
454#
455CONFIG_NET=y 456CONFIG_NET=y
456 457
457# 458#
@@ -475,7 +476,10 @@ CONFIG_IP_FIB_HASH=y
475CONFIG_IP_MULTIPLE_TABLES=y 476CONFIG_IP_MULTIPLE_TABLES=y
476CONFIG_IP_ROUTE_MULTIPATH=y 477CONFIG_IP_ROUTE_MULTIPATH=y
477CONFIG_IP_ROUTE_VERBOSE=y 478CONFIG_IP_ROUTE_VERBOSE=y
478# CONFIG_IP_PNP is not set 479CONFIG_IP_PNP=y
480CONFIG_IP_PNP_DHCP=y
481CONFIG_IP_PNP_BOOTP=y
482CONFIG_IP_PNP_RARP=y
479# CONFIG_NET_IPIP is not set 483# CONFIG_NET_IPIP is not set
480# CONFIG_NET_IPGRE is not set 484# CONFIG_NET_IPGRE is not set
481CONFIG_IP_MROUTE=y 485CONFIG_IP_MROUTE=y
@@ -618,7 +622,6 @@ CONFIG_NET_SCHED=y
618# CONFIG_NET_SCH_HTB is not set 622# CONFIG_NET_SCH_HTB is not set
619# CONFIG_NET_SCH_HFSC is not set 623# CONFIG_NET_SCH_HFSC is not set
620# CONFIG_NET_SCH_PRIO is not set 624# CONFIG_NET_SCH_PRIO is not set
621# CONFIG_NET_SCH_RR is not set
622# CONFIG_NET_SCH_RED is not set 625# CONFIG_NET_SCH_RED is not set
623# CONFIG_NET_SCH_SFQ is not set 626# CONFIG_NET_SCH_SFQ is not set
624# CONFIG_NET_SCH_TEQL is not set 627# CONFIG_NET_SCH_TEQL is not set
@@ -680,28 +683,19 @@ CONFIG_FIB_RULES=y
680CONFIG_CFG80211=y 683CONFIG_CFG80211=y
681CONFIG_NL80211=y 684CONFIG_NL80211=y
682CONFIG_WIRELESS_EXT=y 685CONFIG_WIRELESS_EXT=y
686CONFIG_WIRELESS_EXT_SYSFS=y
683CONFIG_MAC80211=y 687CONFIG_MAC80211=y
684 688
685# 689#
686# Rate control algorithm selection 690# Rate control algorithm selection
687# 691#
692CONFIG_MAC80211_RC_PID=y
688CONFIG_MAC80211_RC_DEFAULT_PID=y 693CONFIG_MAC80211_RC_DEFAULT_PID=y
689# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
690
691#
692# Selecting 'y' for an algorithm will
693#
694
695#
696# build the algorithm into mac80211.
697#
698CONFIG_MAC80211_RC_DEFAULT="pid" 694CONFIG_MAC80211_RC_DEFAULT="pid"
699CONFIG_MAC80211_RC_PID=y
700# CONFIG_MAC80211_MESH is not set 695# CONFIG_MAC80211_MESH is not set
701CONFIG_MAC80211_LEDS=y 696CONFIG_MAC80211_LEDS=y
702# CONFIG_MAC80211_DEBUGFS is not set 697# CONFIG_MAC80211_DEBUGFS is not set
703# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set 698# CONFIG_MAC80211_DEBUG_MENU is not set
704# CONFIG_MAC80211_DEBUG is not set
705# CONFIG_IEEE80211 is not set 699# CONFIG_IEEE80211 is not set
706# CONFIG_RFKILL is not set 700# CONFIG_RFKILL is not set
707# CONFIG_NET_9P is not set 701# CONFIG_NET_9P is not set
@@ -717,6 +711,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
717CONFIG_STANDALONE=y 711CONFIG_STANDALONE=y
718CONFIG_PREVENT_FIRMWARE_BUILD=y 712CONFIG_PREVENT_FIRMWARE_BUILD=y
719CONFIG_FW_LOADER=y 713CONFIG_FW_LOADER=y
714CONFIG_FIRMWARE_IN_KERNEL=y
715CONFIG_EXTRA_FIRMWARE=""
720# CONFIG_DEBUG_DRIVER is not set 716# CONFIG_DEBUG_DRIVER is not set
721CONFIG_DEBUG_DEVRES=y 717CONFIG_DEBUG_DEVRES=y
722# CONFIG_SYS_HYPERVISOR is not set 718# CONFIG_SYS_HYPERVISOR is not set
@@ -749,6 +745,7 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
749# CONFIG_BLK_DEV_XIP is not set 745# CONFIG_BLK_DEV_XIP is not set
750# CONFIG_CDROM_PKTCDVD is not set 746# CONFIG_CDROM_PKTCDVD is not set
751# CONFIG_ATA_OVER_ETH is not set 747# CONFIG_ATA_OVER_ETH is not set
748# CONFIG_BLK_DEV_HD is not set
752CONFIG_MISC_DEVICES=y 749CONFIG_MISC_DEVICES=y
753# CONFIG_IBM_ASM is not set 750# CONFIG_IBM_ASM is not set
754# CONFIG_PHANTOM is not set 751# CONFIG_PHANTOM is not set
@@ -760,10 +757,12 @@ CONFIG_MISC_DEVICES=y
760# CONFIG_FUJITSU_LAPTOP is not set 757# CONFIG_FUJITSU_LAPTOP is not set
761# CONFIG_TC1100_WMI is not set 758# CONFIG_TC1100_WMI is not set
762# CONFIG_MSI_LAPTOP is not set 759# CONFIG_MSI_LAPTOP is not set
760# CONFIG_COMPAL_LAPTOP is not set
763# CONFIG_SONY_LAPTOP is not set 761# CONFIG_SONY_LAPTOP is not set
764# CONFIG_THINKPAD_ACPI is not set 762# CONFIG_THINKPAD_ACPI is not set
765# CONFIG_INTEL_MENLOW is not set 763# CONFIG_INTEL_MENLOW is not set
766# CONFIG_ENCLOSURE_SERVICES is not set 764# CONFIG_ENCLOSURE_SERVICES is not set
765# CONFIG_HP_ILO is not set
767CONFIG_HAVE_IDE=y 766CONFIG_HAVE_IDE=y
768# CONFIG_IDE is not set 767# CONFIG_IDE is not set
769 768
@@ -802,12 +801,13 @@ CONFIG_SCSI_WAIT_SCAN=m
802# 801#
803CONFIG_SCSI_SPI_ATTRS=y 802CONFIG_SCSI_SPI_ATTRS=y
804# CONFIG_SCSI_FC_ATTRS is not set 803# CONFIG_SCSI_FC_ATTRS is not set
805# CONFIG_SCSI_ISCSI_ATTRS is not set 804CONFIG_SCSI_ISCSI_ATTRS=y
806# CONFIG_SCSI_SAS_ATTRS is not set 805# CONFIG_SCSI_SAS_ATTRS is not set
807# CONFIG_SCSI_SAS_LIBSAS is not set 806# CONFIG_SCSI_SAS_LIBSAS is not set
808# CONFIG_SCSI_SRP_ATTRS is not set 807# CONFIG_SCSI_SRP_ATTRS is not set
809# CONFIG_SCSI_LOWLEVEL is not set 808# CONFIG_SCSI_LOWLEVEL is not set
810# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 809# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
810# CONFIG_SCSI_DH is not set
811CONFIG_ATA=y 811CONFIG_ATA=y
812# CONFIG_ATA_NONSTANDARD is not set 812# CONFIG_ATA_NONSTANDARD is not set
813CONFIG_ATA_ACPI=y 813CONFIG_ATA_ACPI=y
@@ -842,7 +842,7 @@ CONFIG_PATA_AMD=y
842# CONFIG_PATA_CS5536 is not set 842# CONFIG_PATA_CS5536 is not set
843# CONFIG_PATA_CYPRESS is not set 843# CONFIG_PATA_CYPRESS is not set
844# CONFIG_PATA_EFAR is not set 844# CONFIG_PATA_EFAR is not set
845# CONFIG_ATA_GENERIC is not set 845CONFIG_ATA_GENERIC=y
846# CONFIG_PATA_HPT366 is not set 846# CONFIG_PATA_HPT366 is not set
847# CONFIG_PATA_HPT37X is not set 847# CONFIG_PATA_HPT37X is not set
848# CONFIG_PATA_HPT3X2N is not set 848# CONFIG_PATA_HPT3X2N is not set
@@ -852,7 +852,7 @@ CONFIG_PATA_AMD=y
852# CONFIG_PATA_JMICRON is not set 852# CONFIG_PATA_JMICRON is not set
853# CONFIG_PATA_TRIFLEX is not set 853# CONFIG_PATA_TRIFLEX is not set
854# CONFIG_PATA_MARVELL is not set 854# CONFIG_PATA_MARVELL is not set
855# CONFIG_PATA_MPIIX is not set 855CONFIG_PATA_MPIIX=y
856CONFIG_PATA_OLDPIIX=y 856CONFIG_PATA_OLDPIIX=y
857# CONFIG_PATA_NETCELL is not set 857# CONFIG_PATA_NETCELL is not set
858# CONFIG_PATA_NINJA32 is not set 858# CONFIG_PATA_NINJA32 is not set
@@ -871,6 +871,7 @@ CONFIG_PATA_OLDPIIX=y
871# CONFIG_PATA_SIS is not set 871# CONFIG_PATA_SIS is not set
872# CONFIG_PATA_VIA is not set 872# CONFIG_PATA_VIA is not set
873# CONFIG_PATA_WINBOND is not set 873# CONFIG_PATA_WINBOND is not set
874CONFIG_PATA_SCH=y
874CONFIG_MD=y 875CONFIG_MD=y
875CONFIG_BLK_DEV_MD=y 876CONFIG_BLK_DEV_MD=y
876# CONFIG_MD_LINEAR is not set 877# CONFIG_MD_LINEAR is not set
@@ -894,13 +895,16 @@ CONFIG_DM_ZERO=y
894# 895#
895# IEEE 1394 (FireWire) support 896# IEEE 1394 (FireWire) support
896# 897#
898
899#
900# Enable only one of the two stacks, unless you know what you are doing
901#
897# CONFIG_FIREWIRE is not set 902# CONFIG_FIREWIRE is not set
898# CONFIG_IEEE1394 is not set 903# CONFIG_IEEE1394 is not set
899# CONFIG_I2O is not set 904# CONFIG_I2O is not set
900CONFIG_MACINTOSH_DRIVERS=y 905CONFIG_MACINTOSH_DRIVERS=y
901CONFIG_MAC_EMUMOUSEBTN=y 906CONFIG_MAC_EMUMOUSEBTN=y
902CONFIG_NETDEVICES=y 907CONFIG_NETDEVICES=y
903# CONFIG_NETDEVICES_MULTIQUEUE is not set
904# CONFIG_IFB is not set 908# CONFIG_IFB is not set
905# CONFIG_DUMMY is not set 909# CONFIG_DUMMY is not set
906# CONFIG_BONDING is not set 910# CONFIG_BONDING is not set
@@ -910,7 +914,23 @@ CONFIG_NETDEVICES=y
910# CONFIG_VETH is not set 914# CONFIG_VETH is not set
911# CONFIG_NET_SB1000 is not set 915# CONFIG_NET_SB1000 is not set
912# CONFIG_ARCNET is not set 916# CONFIG_ARCNET is not set
913# CONFIG_PHYLIB is not set 917CONFIG_PHYLIB=y
918
919#
920# MII PHY device drivers
921#
922# CONFIG_MARVELL_PHY is not set
923# CONFIG_DAVICOM_PHY is not set
924# CONFIG_QSEMI_PHY is not set
925# CONFIG_LXT_PHY is not set
926# CONFIG_CICADA_PHY is not set
927# CONFIG_VITESSE_PHY is not set
928# CONFIG_SMSC_PHY is not set
929# CONFIG_BROADCOM_PHY is not set
930# CONFIG_ICPLUS_PHY is not set
931# CONFIG_REALTEK_PHY is not set
932# CONFIG_FIXED_PHY is not set
933# CONFIG_MDIO_BITBANG is not set
914CONFIG_NET_ETHERNET=y 934CONFIG_NET_ETHERNET=y
915CONFIG_MII=y 935CONFIG_MII=y
916# CONFIG_HAPPYMEAL is not set 936# CONFIG_HAPPYMEAL is not set
@@ -943,10 +963,10 @@ CONFIG_FORCEDETH=y
943CONFIG_E100=y 963CONFIG_E100=y
944# CONFIG_FEALNX is not set 964# CONFIG_FEALNX is not set
945# CONFIG_NATSEMI is not set 965# CONFIG_NATSEMI is not set
946# CONFIG_NE2K_PCI is not set 966CONFIG_NE2K_PCI=y
947# CONFIG_8139CP is not set 967# CONFIG_8139CP is not set
948CONFIG_8139TOO=y 968CONFIG_8139TOO=y
949CONFIG_8139TOO_PIO=y 969# CONFIG_8139TOO_PIO is not set
950# CONFIG_8139TOO_TUNE_TWISTER is not set 970# CONFIG_8139TOO_TUNE_TWISTER is not set
951# CONFIG_8139TOO_8129 is not set 971# CONFIG_8139TOO_8129 is not set
952# CONFIG_8139_OLD_RX_RESET is not set 972# CONFIG_8139_OLD_RX_RESET is not set
@@ -961,25 +981,24 @@ CONFIG_NETDEV_1000=y
961# CONFIG_ACENIC is not set 981# CONFIG_ACENIC is not set
962# CONFIG_DL2K is not set 982# CONFIG_DL2K is not set
963CONFIG_E1000=y 983CONFIG_E1000=y
964# CONFIG_E1000_NAPI is not set
965# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 984# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
966# CONFIG_E1000E is not set 985CONFIG_E1000E=y
967# CONFIG_E1000E_ENABLED is not set
968# CONFIG_IP1000 is not set 986# CONFIG_IP1000 is not set
969# CONFIG_IGB is not set 987# CONFIG_IGB is not set
970# CONFIG_NS83820 is not set 988# CONFIG_NS83820 is not set
971# CONFIG_HAMACHI is not set 989# CONFIG_HAMACHI is not set
972# CONFIG_YELLOWFIN is not set 990# CONFIG_YELLOWFIN is not set
973# CONFIG_R8169 is not set 991CONFIG_R8169=y
974# CONFIG_SIS190 is not set 992# CONFIG_SIS190 is not set
975# CONFIG_SKGE is not set 993# CONFIG_SKGE is not set
976CONFIG_SKY2=y 994CONFIG_SKY2=y
977# CONFIG_SKY2_DEBUG is not set 995# CONFIG_SKY2_DEBUG is not set
978# CONFIG_VIA_VELOCITY is not set 996# CONFIG_VIA_VELOCITY is not set
979CONFIG_TIGON3=y 997CONFIG_TIGON3=y
980# CONFIG_BNX2 is not set 998CONFIG_BNX2=y
981# CONFIG_QLA3XXX is not set 999# CONFIG_QLA3XXX is not set
982# CONFIG_ATL1 is not set 1000# CONFIG_ATL1 is not set
1001# CONFIG_ATL1E is not set
983CONFIG_NETDEV_10000=y 1002CONFIG_NETDEV_10000=y
984# CONFIG_CHELSIO_T1 is not set 1003# CONFIG_CHELSIO_T1 is not set
985# CONFIG_CHELSIO_T3 is not set 1004# CONFIG_CHELSIO_T3 is not set
@@ -1019,13 +1038,14 @@ CONFIG_WLAN_80211=y
1019# CONFIG_RTL8180 is not set 1038# CONFIG_RTL8180 is not set
1020# CONFIG_RTL8187 is not set 1039# CONFIG_RTL8187 is not set
1021# CONFIG_ADM8211 is not set 1040# CONFIG_ADM8211 is not set
1041# CONFIG_MAC80211_HWSIM is not set
1022# CONFIG_P54_COMMON is not set 1042# CONFIG_P54_COMMON is not set
1023CONFIG_ATH5K=y 1043CONFIG_ATH5K=y
1024# CONFIG_ATH5K_DEBUG is not set 1044# CONFIG_ATH5K_DEBUG is not set
1025# CONFIG_IWLWIFI is not set 1045# CONFIG_ATH9K is not set
1026# CONFIG_IWLCORE is not set 1046# CONFIG_IWLCORE is not set
1027# CONFIG_IWLWIFI_LEDS is not set 1047# CONFIG_IWLWIFI_LEDS is not set
1028# CONFIG_IWL4965 is not set 1048# CONFIG_IWLAGN is not set
1029# CONFIG_IWL3945 is not set 1049# CONFIG_IWL3945 is not set
1030# CONFIG_HOSTAP is not set 1050# CONFIG_HOSTAP is not set
1031# CONFIG_B43 is not set 1051# CONFIG_B43 is not set
@@ -1105,6 +1125,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
1105# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1125# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1106# CONFIG_MOUSE_SERIAL is not set 1126# CONFIG_MOUSE_SERIAL is not set
1107# CONFIG_MOUSE_APPLETOUCH is not set 1127# CONFIG_MOUSE_APPLETOUCH is not set
1128# CONFIG_MOUSE_BCM5974 is not set
1108# CONFIG_MOUSE_VSXXXAA is not set 1129# CONFIG_MOUSE_VSXXXAA is not set
1109CONFIG_INPUT_JOYSTICK=y 1130CONFIG_INPUT_JOYSTICK=y
1110# CONFIG_JOYSTICK_ANALOG is not set 1131# CONFIG_JOYSTICK_ANALOG is not set
@@ -1139,12 +1160,14 @@ CONFIG_INPUT_TOUCHSCREEN=y
1139# CONFIG_TOUCHSCREEN_GUNZE is not set 1160# CONFIG_TOUCHSCREEN_GUNZE is not set
1140# CONFIG_TOUCHSCREEN_ELO is not set 1161# CONFIG_TOUCHSCREEN_ELO is not set
1141# CONFIG_TOUCHSCREEN_MTOUCH is not set 1162# CONFIG_TOUCHSCREEN_MTOUCH is not set
1163# CONFIG_TOUCHSCREEN_INEXIO is not set
1142# CONFIG_TOUCHSCREEN_MK712 is not set 1164# CONFIG_TOUCHSCREEN_MK712 is not set
1143# CONFIG_TOUCHSCREEN_PENMOUNT is not set 1165# CONFIG_TOUCHSCREEN_PENMOUNT is not set
1144# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set 1166# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
1145# CONFIG_TOUCHSCREEN_TOUCHWIN is not set 1167# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
1146# CONFIG_TOUCHSCREEN_UCB1400 is not set 1168# CONFIG_TOUCHSCREEN_UCB1400 is not set
1147# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 1169# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
1170# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
1148CONFIG_INPUT_MISC=y 1171CONFIG_INPUT_MISC=y
1149# CONFIG_INPUT_PCSPKR is not set 1172# CONFIG_INPUT_PCSPKR is not set
1150# CONFIG_INPUT_APANEL is not set 1173# CONFIG_INPUT_APANEL is not set
@@ -1173,6 +1196,7 @@ CONFIG_SERIO_LIBPS2=y
1173# Character devices 1196# Character devices
1174# 1197#
1175CONFIG_VT=y 1198CONFIG_VT=y
1199CONFIG_CONSOLE_TRANSLATIONS=y
1176CONFIG_VT_CONSOLE=y 1200CONFIG_VT_CONSOLE=y
1177CONFIG_HW_CONSOLE=y 1201CONFIG_HW_CONSOLE=y
1178CONFIG_VT_HW_CONSOLE_BINDING=y 1202CONFIG_VT_HW_CONSOLE_BINDING=y
@@ -1223,8 +1247,8 @@ CONFIG_UNIX98_PTYS=y
1223# CONFIG_LEGACY_PTYS is not set 1247# CONFIG_LEGACY_PTYS is not set
1224# CONFIG_IPMI_HANDLER is not set 1248# CONFIG_IPMI_HANDLER is not set
1225CONFIG_HW_RANDOM=y 1249CONFIG_HW_RANDOM=y
1226# CONFIG_HW_RANDOM_INTEL is not set 1250CONFIG_HW_RANDOM_INTEL=y
1227# CONFIG_HW_RANDOM_AMD is not set 1251CONFIG_HW_RANDOM_AMD=y
1228CONFIG_HW_RANDOM_GEODE=y 1252CONFIG_HW_RANDOM_GEODE=y
1229CONFIG_HW_RANDOM_VIA=y 1253CONFIG_HW_RANDOM_VIA=y
1230CONFIG_NVRAM=y 1254CONFIG_NVRAM=y
@@ -1245,7 +1269,6 @@ CONFIG_NVRAM=y
1245# CONFIG_CS5535_GPIO is not set 1269# CONFIG_CS5535_GPIO is not set
1246# CONFIG_RAW_DRIVER is not set 1270# CONFIG_RAW_DRIVER is not set
1247CONFIG_HPET=y 1271CONFIG_HPET=y
1248# CONFIG_HPET_RTC_IRQ is not set
1249# CONFIG_HPET_MMAP is not set 1272# CONFIG_HPET_MMAP is not set
1250# CONFIG_HANGCHECK_TIMER is not set 1273# CONFIG_HANGCHECK_TIMER is not set
1251# CONFIG_TCG_TPM is not set 1274# CONFIG_TCG_TPM is not set
@@ -1254,43 +1277,64 @@ CONFIG_DEVPORT=y
1254CONFIG_I2C=y 1277CONFIG_I2C=y
1255CONFIG_I2C_BOARDINFO=y 1278CONFIG_I2C_BOARDINFO=y
1256# CONFIG_I2C_CHARDEV is not set 1279# CONFIG_I2C_CHARDEV is not set
1280CONFIG_I2C_HELPER_AUTO=y
1257 1281
1258# 1282#
1259# I2C Hardware Bus support 1283# I2C Hardware Bus support
1260# 1284#
1285
1286#
1287# PC SMBus host controller drivers
1288#
1261# CONFIG_I2C_ALI1535 is not set 1289# CONFIG_I2C_ALI1535 is not set
1262# CONFIG_I2C_ALI1563 is not set 1290# CONFIG_I2C_ALI1563 is not set
1263# CONFIG_I2C_ALI15X3 is not set 1291# CONFIG_I2C_ALI15X3 is not set
1264# CONFIG_I2C_AMD756 is not set 1292# CONFIG_I2C_AMD756 is not set
1265# CONFIG_I2C_AMD8111 is not set 1293# CONFIG_I2C_AMD8111 is not set
1266CONFIG_I2C_I801=y 1294CONFIG_I2C_I801=y
1267# CONFIG_I2C_I810 is not set 1295# CONFIG_I2C_ISCH is not set
1268# CONFIG_I2C_PIIX4 is not set 1296# CONFIG_I2C_PIIX4 is not set
1269# CONFIG_I2C_NFORCE2 is not set 1297# CONFIG_I2C_NFORCE2 is not set
1270# CONFIG_I2C_OCORES is not set
1271# CONFIG_I2C_PARPORT_LIGHT is not set
1272# CONFIG_I2C_PROSAVAGE is not set
1273# CONFIG_I2C_SAVAGE4 is not set
1274# CONFIG_I2C_SIMTEC is not set
1275# CONFIG_SCx200_ACB is not set
1276# CONFIG_I2C_SIS5595 is not set 1298# CONFIG_I2C_SIS5595 is not set
1277# CONFIG_I2C_SIS630 is not set 1299# CONFIG_I2C_SIS630 is not set
1278# CONFIG_I2C_SIS96X is not set 1300# CONFIG_I2C_SIS96X is not set
1279# CONFIG_I2C_TAOS_EVM is not set
1280# CONFIG_I2C_STUB is not set
1281# CONFIG_I2C_TINY_USB is not set
1282# CONFIG_I2C_VIA is not set 1301# CONFIG_I2C_VIA is not set
1283# CONFIG_I2C_VIAPRO is not set 1302# CONFIG_I2C_VIAPRO is not set
1303
1304#
1305# I2C system bus drivers (mostly embedded / system-on-chip)
1306#
1307# CONFIG_I2C_OCORES is not set
1308# CONFIG_I2C_SIMTEC is not set
1309
1310#
1311# External I2C/SMBus adapter drivers
1312#
1313# CONFIG_I2C_PARPORT_LIGHT is not set
1314# CONFIG_I2C_TAOS_EVM is not set
1315# CONFIG_I2C_TINY_USB is not set
1316
1317#
1318# Graphics adapter I2C/DDC channel drivers
1319#
1284# CONFIG_I2C_VOODOO3 is not set 1320# CONFIG_I2C_VOODOO3 is not set
1321
1322#
1323# Other I2C/SMBus bus drivers
1324#
1285# CONFIG_I2C_PCA_PLATFORM is not set 1325# CONFIG_I2C_PCA_PLATFORM is not set
1326# CONFIG_I2C_STUB is not set
1327# CONFIG_SCx200_ACB is not set
1286 1328
1287# 1329#
1288# Miscellaneous I2C Chip support 1330# Miscellaneous I2C Chip support
1289# 1331#
1290# CONFIG_DS1682 is not set 1332# CONFIG_DS1682 is not set
1333# CONFIG_AT24 is not set
1291# CONFIG_SENSORS_EEPROM is not set 1334# CONFIG_SENSORS_EEPROM is not set
1292# CONFIG_SENSORS_PCF8574 is not set 1335# CONFIG_SENSORS_PCF8574 is not set
1293# CONFIG_PCF8575 is not set 1336# CONFIG_PCF8575 is not set
1337# CONFIG_SENSORS_PCA9539 is not set
1294# CONFIG_SENSORS_PCF8591 is not set 1338# CONFIG_SENSORS_PCF8591 is not set
1295# CONFIG_SENSORS_MAX6875 is not set 1339# CONFIG_SENSORS_MAX6875 is not set
1296# CONFIG_SENSORS_TSL2550 is not set 1340# CONFIG_SENSORS_TSL2550 is not set
@@ -1299,6 +1343,8 @@ CONFIG_I2C_I801=y
1299# CONFIG_I2C_DEBUG_BUS is not set 1343# CONFIG_I2C_DEBUG_BUS is not set
1300# CONFIG_I2C_DEBUG_CHIP is not set 1344# CONFIG_I2C_DEBUG_CHIP is not set
1301# CONFIG_SPI is not set 1345# CONFIG_SPI is not set
1346CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1347# CONFIG_GPIOLIB is not set
1302# CONFIG_W1 is not set 1348# CONFIG_W1 is not set
1303CONFIG_POWER_SUPPLY=y 1349CONFIG_POWER_SUPPLY=y
1304# CONFIG_POWER_SUPPLY_DEBUG is not set 1350# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -1360,8 +1406,10 @@ CONFIG_SSB_POSSIBLE=y
1360# 1406#
1361# Multifunction device drivers 1407# Multifunction device drivers
1362# 1408#
1409# CONFIG_MFD_CORE is not set
1363# CONFIG_MFD_SM501 is not set 1410# CONFIG_MFD_SM501 is not set
1364# CONFIG_HTC_PASIC3 is not set 1411# CONFIG_HTC_PASIC3 is not set
1412# CONFIG_MFD_TMIO is not set
1365 1413
1366# 1414#
1367# Multimedia devices 1415# Multimedia devices
@@ -1372,6 +1420,7 @@ CONFIG_SSB_POSSIBLE=y
1372# 1420#
1373# CONFIG_VIDEO_DEV is not set 1421# CONFIG_VIDEO_DEV is not set
1374# CONFIG_DVB_CORE is not set 1422# CONFIG_DVB_CORE is not set
1423# CONFIG_VIDEO_MEDIA is not set
1375 1424
1376# 1425#
1377# Multimedia drivers 1426# Multimedia drivers
@@ -1418,7 +1467,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
1418# CONFIG_FB_SYS_IMAGEBLIT is not set 1467# CONFIG_FB_SYS_IMAGEBLIT is not set
1419# CONFIG_FB_FOREIGN_ENDIAN is not set 1468# CONFIG_FB_FOREIGN_ENDIAN is not set
1420# CONFIG_FB_SYS_FOPS is not set 1469# CONFIG_FB_SYS_FOPS is not set
1421CONFIG_FB_DEFERRED_IO=y
1422# CONFIG_FB_SVGALIB is not set 1470# CONFIG_FB_SVGALIB is not set
1423# CONFIG_FB_MACMODES is not set 1471# CONFIG_FB_MACMODES is not set
1424# CONFIG_FB_BACKLIGHT is not set 1472# CONFIG_FB_BACKLIGHT is not set
@@ -1463,6 +1511,7 @@ CONFIG_FB_EFI=y
1463# CONFIG_FB_TRIDENT is not set 1511# CONFIG_FB_TRIDENT is not set
1464# CONFIG_FB_ARK is not set 1512# CONFIG_FB_ARK is not set
1465# CONFIG_FB_PM3 is not set 1513# CONFIG_FB_PM3 is not set
1514# CONFIG_FB_CARMINE is not set
1466# CONFIG_FB_GEODE is not set 1515# CONFIG_FB_GEODE is not set
1467# CONFIG_FB_VIRTUAL is not set 1516# CONFIG_FB_VIRTUAL is not set
1468CONFIG_BACKLIGHT_LCD_SUPPORT=y 1517CONFIG_BACKLIGHT_LCD_SUPPORT=y
@@ -1470,6 +1519,7 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y
1470CONFIG_BACKLIGHT_CLASS_DEVICE=y 1519CONFIG_BACKLIGHT_CLASS_DEVICE=y
1471# CONFIG_BACKLIGHT_CORGI is not set 1520# CONFIG_BACKLIGHT_CORGI is not set
1472# CONFIG_BACKLIGHT_PROGEAR is not set 1521# CONFIG_BACKLIGHT_PROGEAR is not set
1522# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
1473 1523
1474# 1524#
1475# Display device support 1525# Display device support
@@ -1489,15 +1539,7 @@ CONFIG_LOGO=y
1489# CONFIG_LOGO_LINUX_MONO is not set 1539# CONFIG_LOGO_LINUX_MONO is not set
1490# CONFIG_LOGO_LINUX_VGA16 is not set 1540# CONFIG_LOGO_LINUX_VGA16 is not set
1491CONFIG_LOGO_LINUX_CLUT224=y 1541CONFIG_LOGO_LINUX_CLUT224=y
1492
1493#
1494# Sound
1495#
1496CONFIG_SOUND=y 1542CONFIG_SOUND=y
1497
1498#
1499# Advanced Linux Sound Architecture
1500#
1501CONFIG_SND=y 1543CONFIG_SND=y
1502CONFIG_SND_TIMER=y 1544CONFIG_SND_TIMER=y
1503CONFIG_SND_PCM=y 1545CONFIG_SND_PCM=y
@@ -1515,20 +1557,14 @@ CONFIG_SND_VERBOSE_PROCFS=y
1515# CONFIG_SND_VERBOSE_PRINTK is not set 1557# CONFIG_SND_VERBOSE_PRINTK is not set
1516# CONFIG_SND_DEBUG is not set 1558# CONFIG_SND_DEBUG is not set
1517CONFIG_SND_VMASTER=y 1559CONFIG_SND_VMASTER=y
1518 1560CONFIG_SND_DRIVERS=y
1519#
1520# Generic devices
1521#
1522# CONFIG_SND_PCSP is not set 1561# CONFIG_SND_PCSP is not set
1523# CONFIG_SND_DUMMY is not set 1562# CONFIG_SND_DUMMY is not set
1524# CONFIG_SND_VIRMIDI is not set 1563# CONFIG_SND_VIRMIDI is not set
1525# CONFIG_SND_MTPAV is not set 1564# CONFIG_SND_MTPAV is not set
1526# CONFIG_SND_SERIAL_U16550 is not set 1565# CONFIG_SND_SERIAL_U16550 is not set
1527# CONFIG_SND_MPU401 is not set 1566# CONFIG_SND_MPU401 is not set
1528 1567CONFIG_SND_PCI=y
1529#
1530# PCI devices
1531#
1532# CONFIG_SND_AD1889 is not set 1568# CONFIG_SND_AD1889 is not set
1533# CONFIG_SND_ALS300 is not set 1569# CONFIG_SND_ALS300 is not set
1534# CONFIG_SND_ALS4000 is not set 1570# CONFIG_SND_ALS4000 is not set
@@ -1603,36 +1639,14 @@ CONFIG_SND_HDA_GENERIC=y
1603# CONFIG_SND_VIRTUOSO is not set 1639# CONFIG_SND_VIRTUOSO is not set
1604# CONFIG_SND_VX222 is not set 1640# CONFIG_SND_VX222 is not set
1605# CONFIG_SND_YMFPCI is not set 1641# CONFIG_SND_YMFPCI is not set
1606 1642CONFIG_SND_USB=y
1607#
1608# USB devices
1609#
1610# CONFIG_SND_USB_AUDIO is not set 1643# CONFIG_SND_USB_AUDIO is not set
1611# CONFIG_SND_USB_USX2Y is not set 1644# CONFIG_SND_USB_USX2Y is not set
1612# CONFIG_SND_USB_CAIAQ is not set 1645# CONFIG_SND_USB_CAIAQ is not set
1613 1646CONFIG_SND_PCMCIA=y
1614#
1615# PCMCIA devices
1616#
1617# CONFIG_SND_VXPOCKET is not set 1647# CONFIG_SND_VXPOCKET is not set
1618# CONFIG_SND_PDAUDIOCF is not set 1648# CONFIG_SND_PDAUDIOCF is not set
1619
1620#
1621# System on Chip audio support
1622#
1623# CONFIG_SND_SOC is not set 1649# CONFIG_SND_SOC is not set
1624
1625#
1626# ALSA SoC audio for Freescale SOCs
1627#
1628
1629#
1630# SoC Audio for the Texas Instruments OMAP
1631#
1632
1633#
1634# Open Sound System
1635#
1636# CONFIG_SOUND_PRIME is not set 1650# CONFIG_SOUND_PRIME is not set
1637CONFIG_HID_SUPPORT=y 1651CONFIG_HID_SUPPORT=y
1638CONFIG_HID=y 1652CONFIG_HID=y
@@ -1668,6 +1682,7 @@ CONFIG_USB_DEVICEFS=y
1668# CONFIG_USB_DYNAMIC_MINORS is not set 1682# CONFIG_USB_DYNAMIC_MINORS is not set
1669CONFIG_USB_SUSPEND=y 1683CONFIG_USB_SUSPEND=y
1670# CONFIG_USB_OTG is not set 1684# CONFIG_USB_OTG is not set
1685CONFIG_USB_MON=y
1671 1686
1672# 1687#
1673# USB Host Controller Drivers 1688# USB Host Controller Drivers
@@ -1691,6 +1706,7 @@ CONFIG_USB_UHCI_HCD=y
1691# 1706#
1692# CONFIG_USB_ACM is not set 1707# CONFIG_USB_ACM is not set
1693CONFIG_USB_PRINTER=y 1708CONFIG_USB_PRINTER=y
1709# CONFIG_USB_WDM is not set
1694 1710
1695# 1711#
1696# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1712# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1712,6 +1728,7 @@ CONFIG_USB_STORAGE=y
1712# CONFIG_USB_STORAGE_ALAUDA is not set 1728# CONFIG_USB_STORAGE_ALAUDA is not set
1713# CONFIG_USB_STORAGE_ONETOUCH is not set 1729# CONFIG_USB_STORAGE_ONETOUCH is not set
1714# CONFIG_USB_STORAGE_KARMA is not set 1730# CONFIG_USB_STORAGE_KARMA is not set
1731# CONFIG_USB_STORAGE_SIERRA is not set
1715# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1732# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1716CONFIG_USB_LIBUSUAL=y 1733CONFIG_USB_LIBUSUAL=y
1717 1734
@@ -1720,7 +1737,6 @@ CONFIG_USB_LIBUSUAL=y
1720# 1737#
1721# CONFIG_USB_MDC800 is not set 1738# CONFIG_USB_MDC800 is not set
1722# CONFIG_USB_MICROTEK is not set 1739# CONFIG_USB_MICROTEK is not set
1723CONFIG_USB_MON=y
1724 1740
1725# 1741#
1726# USB port drivers 1742# USB port drivers
@@ -1733,7 +1749,6 @@ CONFIG_USB_MON=y
1733# CONFIG_USB_EMI62 is not set 1749# CONFIG_USB_EMI62 is not set
1734# CONFIG_USB_EMI26 is not set 1750# CONFIG_USB_EMI26 is not set
1735# CONFIG_USB_ADUTUX is not set 1751# CONFIG_USB_ADUTUX is not set
1736# CONFIG_USB_AUERSWALD is not set
1737# CONFIG_USB_RIO500 is not set 1752# CONFIG_USB_RIO500 is not set
1738# CONFIG_USB_LEGOTOWER is not set 1753# CONFIG_USB_LEGOTOWER is not set
1739# CONFIG_USB_LCD is not set 1754# CONFIG_USB_LCD is not set
@@ -1750,6 +1765,7 @@ CONFIG_USB_MON=y
1750# CONFIG_USB_TRANCEVIBRATOR is not set 1765# CONFIG_USB_TRANCEVIBRATOR is not set
1751# CONFIG_USB_IOWARRIOR is not set 1766# CONFIG_USB_IOWARRIOR is not set
1752# CONFIG_USB_TEST is not set 1767# CONFIG_USB_TEST is not set
1768# CONFIG_USB_ISIGHTFW is not set
1753# CONFIG_USB_GADGET is not set 1769# CONFIG_USB_GADGET is not set
1754# CONFIG_MMC is not set 1770# CONFIG_MMC is not set
1755# CONFIG_MEMSTICK is not set 1771# CONFIG_MEMSTICK is not set
@@ -1759,7 +1775,9 @@ CONFIG_LEDS_CLASS=y
1759# 1775#
1760# LED drivers 1776# LED drivers
1761# 1777#
1778# CONFIG_LEDS_PCA9532 is not set
1762# CONFIG_LEDS_CLEVO_MAIL is not set 1779# CONFIG_LEDS_CLEVO_MAIL is not set
1780# CONFIG_LEDS_PCA955X is not set
1763 1781
1764# 1782#
1765# LED Triggers 1783# LED Triggers
@@ -1805,6 +1823,7 @@ CONFIG_RTC_INTF_DEV=y
1805# CONFIG_RTC_DRV_PCF8583 is not set 1823# CONFIG_RTC_DRV_PCF8583 is not set
1806# CONFIG_RTC_DRV_M41T80 is not set 1824# CONFIG_RTC_DRV_M41T80 is not set
1807# CONFIG_RTC_DRV_S35390A is not set 1825# CONFIG_RTC_DRV_S35390A is not set
1826# CONFIG_RTC_DRV_FM3130 is not set
1808 1827
1809# 1828#
1810# SPI RTC drivers 1829# SPI RTC drivers
@@ -1837,11 +1856,13 @@ CONFIG_DMADEVICES=y
1837# Firmware Drivers 1856# Firmware Drivers
1838# 1857#
1839# CONFIG_EDD is not set 1858# CONFIG_EDD is not set
1859CONFIG_FIRMWARE_MEMMAP=y
1840CONFIG_EFI_VARS=y 1860CONFIG_EFI_VARS=y
1841# CONFIG_DELL_RBU is not set 1861# CONFIG_DELL_RBU is not set
1842# CONFIG_DCDBAS is not set 1862# CONFIG_DCDBAS is not set
1843CONFIG_DMIID=y 1863CONFIG_DMIID=y
1844# CONFIG_ISCSI_IBFT_FIND is not set 1864CONFIG_ISCSI_IBFT_FIND=y
1865CONFIG_ISCSI_IBFT=y
1845 1866
1846# 1867#
1847# File systems 1868# File systems
@@ -1920,14 +1941,27 @@ CONFIG_HUGETLB_PAGE=y
1920# CONFIG_CRAMFS is not set 1941# CONFIG_CRAMFS is not set
1921# CONFIG_VXFS_FS is not set 1942# CONFIG_VXFS_FS is not set
1922# CONFIG_MINIX_FS is not set 1943# CONFIG_MINIX_FS is not set
1944# CONFIG_OMFS_FS is not set
1923# CONFIG_HPFS_FS is not set 1945# CONFIG_HPFS_FS is not set
1924# CONFIG_QNX4FS_FS is not set 1946# CONFIG_QNX4FS_FS is not set
1925# CONFIG_ROMFS_FS is not set 1947# CONFIG_ROMFS_FS is not set
1926# CONFIG_SYSV_FS is not set 1948# CONFIG_SYSV_FS is not set
1927# CONFIG_UFS_FS is not set 1949# CONFIG_UFS_FS is not set
1928CONFIG_NETWORK_FILESYSTEMS=y 1950CONFIG_NETWORK_FILESYSTEMS=y
1929# CONFIG_NFS_FS is not set 1951CONFIG_NFS_FS=y
1952CONFIG_NFS_V3=y
1953CONFIG_NFS_V3_ACL=y
1954CONFIG_NFS_V4=y
1955CONFIG_ROOT_NFS=y
1930# CONFIG_NFSD is not set 1956# CONFIG_NFSD is not set
1957CONFIG_LOCKD=y
1958CONFIG_LOCKD_V4=y
1959CONFIG_NFS_ACL_SUPPORT=y
1960CONFIG_NFS_COMMON=y
1961CONFIG_SUNRPC=y
1962CONFIG_SUNRPC_GSS=y
1963CONFIG_RPCSEC_GSS_KRB5=y
1964# CONFIG_RPCSEC_GSS_SPKM3 is not set
1931# CONFIG_SMB_FS is not set 1965# CONFIG_SMB_FS is not set
1932# CONFIG_CIFS is not set 1966# CONFIG_CIFS is not set
1933# CONFIG_NCP_FS is not set 1967# CONFIG_NCP_FS is not set
@@ -2001,9 +2035,9 @@ CONFIG_NLS_UTF8=y
2001# Kernel hacking 2035# Kernel hacking
2002# 2036#
2003CONFIG_TRACE_IRQFLAGS_SUPPORT=y 2037CONFIG_TRACE_IRQFLAGS_SUPPORT=y
2004# CONFIG_PRINTK_TIME is not set 2038CONFIG_PRINTK_TIME=y
2005# CONFIG_ENABLE_WARN_DEPRECATED is not set 2039CONFIG_ENABLE_WARN_DEPRECATED=y
2006# CONFIG_ENABLE_MUST_CHECK is not set 2040CONFIG_ENABLE_MUST_CHECK=y
2007CONFIG_FRAME_WARN=2048 2041CONFIG_FRAME_WARN=2048
2008CONFIG_MAGIC_SYSRQ=y 2042CONFIG_MAGIC_SYSRQ=y
2009# CONFIG_UNUSED_SYMBOLS is not set 2043# CONFIG_UNUSED_SYMBOLS is not set
@@ -2033,6 +2067,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
2033# CONFIG_DEBUG_INFO is not set 2067# CONFIG_DEBUG_INFO is not set
2034# CONFIG_DEBUG_VM is not set 2068# CONFIG_DEBUG_VM is not set
2035# CONFIG_DEBUG_WRITECOUNT is not set 2069# CONFIG_DEBUG_WRITECOUNT is not set
2070CONFIG_DEBUG_MEMORY_INIT=y
2036# CONFIG_DEBUG_LIST is not set 2071# CONFIG_DEBUG_LIST is not set
2037# CONFIG_DEBUG_SG is not set 2072# CONFIG_DEBUG_SG is not set
2038CONFIG_FRAME_POINTER=y 2073CONFIG_FRAME_POINTER=y
@@ -2043,23 +2078,32 @@ CONFIG_FRAME_POINTER=y
2043# CONFIG_LKDTM is not set 2078# CONFIG_LKDTM is not set
2044# CONFIG_FAULT_INJECTION is not set 2079# CONFIG_FAULT_INJECTION is not set
2045# CONFIG_LATENCYTOP is not set 2080# CONFIG_LATENCYTOP is not set
2081CONFIG_SYSCTL_SYSCALL_CHECK=y
2082CONFIG_HAVE_FTRACE=y
2083CONFIG_HAVE_DYNAMIC_FTRACE=y
2084# CONFIG_FTRACE is not set
2085# CONFIG_IRQSOFF_TRACER is not set
2086# CONFIG_SYSPROF_TRACER is not set
2087# CONFIG_SCHED_TRACER is not set
2088# CONFIG_CONTEXT_SWITCH_TRACER is not set
2046CONFIG_PROVIDE_OHCI1394_DMA_INIT=y 2089CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
2047# CONFIG_SAMPLES is not set 2090# CONFIG_SAMPLES is not set
2048# CONFIG_KGDB is not set
2049CONFIG_HAVE_ARCH_KGDB=y 2091CONFIG_HAVE_ARCH_KGDB=y
2092# CONFIG_KGDB is not set
2050# CONFIG_STRICT_DEVMEM is not set 2093# CONFIG_STRICT_DEVMEM is not set
2094CONFIG_X86_VERBOSE_BOOTUP=y
2051CONFIG_EARLY_PRINTK=y 2095CONFIG_EARLY_PRINTK=y
2052CONFIG_DEBUG_STACKOVERFLOW=y 2096CONFIG_DEBUG_STACKOVERFLOW=y
2053CONFIG_DEBUG_STACK_USAGE=y 2097CONFIG_DEBUG_STACK_USAGE=y
2054# CONFIG_DEBUG_PAGEALLOC is not set 2098# CONFIG_DEBUG_PAGEALLOC is not set
2099# CONFIG_DEBUG_PER_CPU_MAPS is not set
2055# CONFIG_X86_PTDUMP is not set 2100# CONFIG_X86_PTDUMP is not set
2056CONFIG_DEBUG_RODATA=y 2101CONFIG_DEBUG_RODATA=y
2057# CONFIG_DEBUG_RODATA_TEST is not set 2102# CONFIG_DEBUG_RODATA_TEST is not set
2058CONFIG_DEBUG_NX_TEST=m 2103CONFIG_DEBUG_NX_TEST=m
2059# CONFIG_4KSTACKS is not set 2104# CONFIG_4KSTACKS is not set
2060CONFIG_X86_FIND_SMP_CONFIG=y
2061CONFIG_X86_MPPARSE=y
2062CONFIG_DOUBLEFAULT=y 2105CONFIG_DOUBLEFAULT=y
2106# CONFIG_MMIOTRACE is not set
2063CONFIG_IO_DELAY_TYPE_0X80=0 2107CONFIG_IO_DELAY_TYPE_0X80=0
2064CONFIG_IO_DELAY_TYPE_0XED=1 2108CONFIG_IO_DELAY_TYPE_0XED=1
2065CONFIG_IO_DELAY_TYPE_UDELAY=2 2109CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -2071,6 +2115,7 @@ CONFIG_IO_DELAY_0X80=y
2071CONFIG_DEFAULT_IO_DELAY_TYPE=0 2115CONFIG_DEFAULT_IO_DELAY_TYPE=0
2072CONFIG_DEBUG_BOOT_PARAMS=y 2116CONFIG_DEBUG_BOOT_PARAMS=y
2073# CONFIG_CPA_DEBUG is not set 2117# CONFIG_CPA_DEBUG is not set
2118# CONFIG_OPTIMIZE_INLINING is not set
2074 2119
2075# 2120#
2076# Security options 2121# Security options
@@ -2080,7 +2125,6 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
2080CONFIG_SECURITY=y 2125CONFIG_SECURITY=y
2081CONFIG_SECURITY_NETWORK=y 2126CONFIG_SECURITY_NETWORK=y
2082# CONFIG_SECURITY_NETWORK_XFRM is not set 2127# CONFIG_SECURITY_NETWORK_XFRM is not set
2083CONFIG_SECURITY_CAPABILITIES=y
2084CONFIG_SECURITY_FILE_CAPABILITIES=y 2128CONFIG_SECURITY_FILE_CAPABILITIES=y
2085# CONFIG_SECURITY_ROOTPLUG is not set 2129# CONFIG_SECURITY_ROOTPLUG is not set
2086CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536 2130CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
@@ -2141,6 +2185,10 @@ CONFIG_CRYPTO_HMAC=y
2141# CONFIG_CRYPTO_MD4 is not set 2185# CONFIG_CRYPTO_MD4 is not set
2142CONFIG_CRYPTO_MD5=y 2186CONFIG_CRYPTO_MD5=y
2143# CONFIG_CRYPTO_MICHAEL_MIC is not set 2187# CONFIG_CRYPTO_MICHAEL_MIC is not set
2188# CONFIG_CRYPTO_RMD128 is not set
2189# CONFIG_CRYPTO_RMD160 is not set
2190# CONFIG_CRYPTO_RMD256 is not set
2191# CONFIG_CRYPTO_RMD320 is not set
2144CONFIG_CRYPTO_SHA1=y 2192CONFIG_CRYPTO_SHA1=y
2145# CONFIG_CRYPTO_SHA256 is not set 2193# CONFIG_CRYPTO_SHA256 is not set
2146# CONFIG_CRYPTO_SHA512 is not set 2194# CONFIG_CRYPTO_SHA512 is not set
@@ -2151,7 +2199,7 @@ CONFIG_CRYPTO_SHA1=y
2151# Ciphers 2199# Ciphers
2152# 2200#
2153CONFIG_CRYPTO_AES=y 2201CONFIG_CRYPTO_AES=y
2154# CONFIG_CRYPTO_AES_586 is not set 2202CONFIG_CRYPTO_AES_586=y
2155# CONFIG_CRYPTO_ANUBIS is not set 2203# CONFIG_CRYPTO_ANUBIS is not set
2156CONFIG_CRYPTO_ARC4=y 2204CONFIG_CRYPTO_ARC4=y
2157# CONFIG_CRYPTO_BLOWFISH is not set 2205# CONFIG_CRYPTO_BLOWFISH is not set
@@ -2193,6 +2241,7 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
2193CONFIG_GENERIC_FIND_NEXT_BIT=y 2241CONFIG_GENERIC_FIND_NEXT_BIT=y
2194# CONFIG_CRC_CCITT is not set 2242# CONFIG_CRC_CCITT is not set
2195# CONFIG_CRC16 is not set 2243# CONFIG_CRC16 is not set
2244CONFIG_CRC_T10DIF=y
2196# CONFIG_CRC_ITU_T is not set 2245# CONFIG_CRC_ITU_T is not set
2197CONFIG_CRC32=y 2246CONFIG_CRC32=y
2198# CONFIG_CRC7 is not set 2247# CONFIG_CRC7 is not set
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index a40452429625..678c8acefe04 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -1,13 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc1 3# Linux kernel version: 2.6.27-rc4
4# Sun May 4 19:59:57 2008 4# Mon Aug 25 14:40:46 2008
5# 5#
6CONFIG_64BIT=y 6CONFIG_64BIT=y
7# CONFIG_X86_32 is not set 7# CONFIG_X86_32 is not set
8CONFIG_X86_64=y 8CONFIG_X86_64=y
9CONFIG_X86=y 9CONFIG_X86=y
10CONFIG_DEFCONFIG_LIST="arch/x86/configs/x86_64_defconfig" 10CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
11# CONFIG_GENERIC_LOCKBREAK is not set 11# CONFIG_GENERIC_LOCKBREAK is not set
12CONFIG_GENERIC_TIME=y 12CONFIG_GENERIC_TIME=y
13CONFIG_GENERIC_CMOS_UPDATE=y 13CONFIG_GENERIC_CMOS_UPDATE=y
@@ -53,6 +53,7 @@ CONFIG_X86_HT=y
53CONFIG_X86_BIOS_REBOOT=y 53CONFIG_X86_BIOS_REBOOT=y
54CONFIG_X86_TRAMPOLINE=y 54CONFIG_X86_TRAMPOLINE=y
55# CONFIG_KTIME_SCALAR is not set 55# CONFIG_KTIME_SCALAR is not set
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56 57
57# 58#
58# General setup 59# General setup
@@ -82,6 +83,7 @@ CONFIG_CGROUPS=y
82CONFIG_CGROUP_NS=y 83CONFIG_CGROUP_NS=y
83# CONFIG_CGROUP_DEVICE is not set 84# CONFIG_CGROUP_DEVICE is not set
84CONFIG_CPUSETS=y 85CONFIG_CPUSETS=y
86CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
85CONFIG_GROUP_SCHED=y 87CONFIG_GROUP_SCHED=y
86CONFIG_FAIR_GROUP_SCHED=y 88CONFIG_FAIR_GROUP_SCHED=y
87# CONFIG_RT_GROUP_SCHED is not set 89# CONFIG_RT_GROUP_SCHED is not set
@@ -105,7 +107,6 @@ CONFIG_SYSCTL=y
105# CONFIG_EMBEDDED is not set 107# CONFIG_EMBEDDED is not set
106CONFIG_UID16=y 108CONFIG_UID16=y
107CONFIG_SYSCTL_SYSCALL=y 109CONFIG_SYSCTL_SYSCALL=y
108CONFIG_SYSCTL_SYSCALL_CHECK=y
109CONFIG_KALLSYMS=y 110CONFIG_KALLSYMS=y
110CONFIG_KALLSYMS_ALL=y 111CONFIG_KALLSYMS_ALL=y
111CONFIG_KALLSYMS_EXTRA_PASS=y 112CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -113,6 +114,7 @@ CONFIG_HOTPLUG=y
113CONFIG_PRINTK=y 114CONFIG_PRINTK=y
114CONFIG_BUG=y 115CONFIG_BUG=y
115CONFIG_ELF_CORE=y 116CONFIG_ELF_CORE=y
117CONFIG_PCSPKR_PLATFORM=y
116# CONFIG_COMPAT_BRK is not set 118# CONFIG_COMPAT_BRK is not set
117CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
118CONFIG_FUTEX=y 120CONFIG_FUTEX=y
@@ -132,25 +134,33 @@ CONFIG_MARKERS=y
132# CONFIG_OPROFILE is not set 134# CONFIG_OPROFILE is not set
133CONFIG_HAVE_OPROFILE=y 135CONFIG_HAVE_OPROFILE=y
134CONFIG_KPROBES=y 136CONFIG_KPROBES=y
137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
135CONFIG_KRETPROBES=y 138CONFIG_KRETPROBES=y
139CONFIG_HAVE_IOREMAP_PROT=y
136CONFIG_HAVE_KPROBES=y 140CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y 141CONFIG_HAVE_KRETPROBES=y
142# CONFIG_HAVE_ARCH_TRACEHOOK is not set
138# CONFIG_HAVE_DMA_ATTRS is not set 143# CONFIG_HAVE_DMA_ATTRS is not set
144CONFIG_USE_GENERIC_SMP_HELPERS=y
145# CONFIG_HAVE_CLK is not set
139CONFIG_PROC_PAGE_MONITOR=y 146CONFIG_PROC_PAGE_MONITOR=y
147# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
140CONFIG_SLABINFO=y 148CONFIG_SLABINFO=y
141CONFIG_RT_MUTEXES=y 149CONFIG_RT_MUTEXES=y
142# CONFIG_TINY_SHMEM is not set 150# CONFIG_TINY_SHMEM is not set
143CONFIG_BASE_SMALL=0 151CONFIG_BASE_SMALL=0
144CONFIG_MODULES=y 152CONFIG_MODULES=y
153# CONFIG_MODULE_FORCE_LOAD is not set
145CONFIG_MODULE_UNLOAD=y 154CONFIG_MODULE_UNLOAD=y
146CONFIG_MODULE_FORCE_UNLOAD=y 155CONFIG_MODULE_FORCE_UNLOAD=y
147# CONFIG_MODVERSIONS is not set 156# CONFIG_MODVERSIONS is not set
148# CONFIG_MODULE_SRCVERSION_ALL is not set 157# CONFIG_MODULE_SRCVERSION_ALL is not set
149# CONFIG_KMOD is not set 158CONFIG_KMOD=y
150CONFIG_STOP_MACHINE=y 159CONFIG_STOP_MACHINE=y
151CONFIG_BLOCK=y 160CONFIG_BLOCK=y
152CONFIG_BLK_DEV_IO_TRACE=y 161CONFIG_BLK_DEV_IO_TRACE=y
153CONFIG_BLK_DEV_BSG=y 162CONFIG_BLK_DEV_BSG=y
163# CONFIG_BLK_DEV_INTEGRITY is not set
154CONFIG_BLOCK_COMPAT=y 164CONFIG_BLOCK_COMPAT=y
155 165
156# 166#
@@ -175,20 +185,15 @@ CONFIG_NO_HZ=y
175CONFIG_HIGH_RES_TIMERS=y 185CONFIG_HIGH_RES_TIMERS=y
176CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 186CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
177CONFIG_SMP=y 187CONFIG_SMP=y
188CONFIG_X86_FIND_SMP_CONFIG=y
189CONFIG_X86_MPPARSE=y
178CONFIG_X86_PC=y 190CONFIG_X86_PC=y
179# CONFIG_X86_ELAN is not set 191# CONFIG_X86_ELAN is not set
180# CONFIG_X86_VOYAGER is not set 192# CONFIG_X86_VOYAGER is not set
181# CONFIG_X86_NUMAQ is not set
182# CONFIG_X86_SUMMIT is not set
183# CONFIG_X86_BIGSMP is not set
184# CONFIG_X86_VISWS is not set
185# CONFIG_X86_GENERICARCH is not set 193# CONFIG_X86_GENERICARCH is not set
186# CONFIG_X86_ES7000 is not set
187# CONFIG_X86_RDC321X is not set
188# CONFIG_X86_VSMP is not set 194# CONFIG_X86_VSMP is not set
189# CONFIG_PARAVIRT_GUEST is not set 195# CONFIG_PARAVIRT_GUEST is not set
190CONFIG_MEMTEST_BOOTPARAM=y 196# CONFIG_MEMTEST is not set
191CONFIG_MEMTEST_BOOTPARAM_VALUE=0
192# CONFIG_M386 is not set 197# CONFIG_M386 is not set
193# CONFIG_M486 is not set 198# CONFIG_M486 is not set
194# CONFIG_M586 is not set 199# CONFIG_M586 is not set
@@ -220,11 +225,12 @@ CONFIG_X86_L1_CACHE_BYTES=64
220CONFIG_X86_INTERNODE_CACHE_BYTES=64 225CONFIG_X86_INTERNODE_CACHE_BYTES=64
221CONFIG_X86_CMPXCHG=y 226CONFIG_X86_CMPXCHG=y
222CONFIG_X86_L1_CACHE_SHIFT=6 227CONFIG_X86_L1_CACHE_SHIFT=6
223CONFIG_X86_GOOD_APIC=y 228CONFIG_X86_WP_WORKS_OK=y
224CONFIG_X86_INTEL_USERCOPY=y 229CONFIG_X86_INTEL_USERCOPY=y
225CONFIG_X86_USE_PPRO_CHECKSUM=y 230CONFIG_X86_USE_PPRO_CHECKSUM=y
226CONFIG_X86_P6_NOP=y 231CONFIG_X86_P6_NOP=y
227CONFIG_X86_TSC=y 232CONFIG_X86_TSC=y
233CONFIG_X86_CMPXCHG64=y
228CONFIG_X86_CMOV=y 234CONFIG_X86_CMOV=y
229CONFIG_X86_MINIMUM_CPU_FAMILY=64 235CONFIG_X86_MINIMUM_CPU_FAMILY=64
230CONFIG_X86_DEBUGCTLMSR=y 236CONFIG_X86_DEBUGCTLMSR=y
@@ -234,8 +240,10 @@ CONFIG_DMI=y
234CONFIG_GART_IOMMU=y 240CONFIG_GART_IOMMU=y
235CONFIG_CALGARY_IOMMU=y 241CONFIG_CALGARY_IOMMU=y
236CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y 242CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
243CONFIG_AMD_IOMMU=y
237CONFIG_SWIOTLB=y 244CONFIG_SWIOTLB=y
238CONFIG_IOMMU_HELPER=y 245CONFIG_IOMMU_HELPER=y
246# CONFIG_MAXSMP is not set
239CONFIG_NR_CPUS=4 247CONFIG_NR_CPUS=4
240# CONFIG_SCHED_SMT is not set 248# CONFIG_SCHED_SMT is not set
241CONFIG_SCHED_MC=y 249CONFIG_SCHED_MC=y
@@ -281,6 +289,7 @@ CONFIG_ZONE_DMA_FLAG=1
281CONFIG_BOUNCE=y 289CONFIG_BOUNCE=y
282CONFIG_VIRT_TO_BUS=y 290CONFIG_VIRT_TO_BUS=y
283CONFIG_MTRR=y 291CONFIG_MTRR=y
292# CONFIG_MTRR_SANITIZER is not set
284# CONFIG_X86_PAT is not set 293# CONFIG_X86_PAT is not set
285CONFIG_EFI=y 294CONFIG_EFI=y
286CONFIG_SECCOMP=y 295CONFIG_SECCOMP=y
@@ -313,6 +322,7 @@ CONFIG_PM_TRACE_RTC=y
313CONFIG_PM_SLEEP_SMP=y 322CONFIG_PM_SLEEP_SMP=y
314CONFIG_PM_SLEEP=y 323CONFIG_PM_SLEEP=y
315CONFIG_SUSPEND=y 324CONFIG_SUSPEND=y
325# CONFIG_PM_TEST_SUSPEND is not set
316CONFIG_SUSPEND_FREEZER=y 326CONFIG_SUSPEND_FREEZER=y
317CONFIG_HIBERNATION=y 327CONFIG_HIBERNATION=y
318CONFIG_PM_STD_PARTITION="" 328CONFIG_PM_STD_PARTITION=""
@@ -339,6 +349,7 @@ CONFIG_ACPI_NUMA=y
339CONFIG_ACPI_BLACKLIST_YEAR=0 349CONFIG_ACPI_BLACKLIST_YEAR=0
340# CONFIG_ACPI_DEBUG is not set 350# CONFIG_ACPI_DEBUG is not set
341CONFIG_ACPI_EC=y 351CONFIG_ACPI_EC=y
352# CONFIG_ACPI_PCI_SLOT is not set
342CONFIG_ACPI_POWER=y 353CONFIG_ACPI_POWER=y
343CONFIG_ACPI_SYSTEM=y 354CONFIG_ACPI_SYSTEM=y
344CONFIG_X86_PM_TIMER=y 355CONFIG_X86_PM_TIMER=y
@@ -437,10 +448,6 @@ CONFIG_IA32_EMULATION=y
437CONFIG_COMPAT=y 448CONFIG_COMPAT=y
438CONFIG_COMPAT_FOR_U64_ALIGNMENT=y 449CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
439CONFIG_SYSVIPC_COMPAT=y 450CONFIG_SYSVIPC_COMPAT=y
440
441#
442# Networking
443#
444CONFIG_NET=y 451CONFIG_NET=y
445 452
446# 453#
@@ -464,7 +471,10 @@ CONFIG_IP_FIB_HASH=y
464CONFIG_IP_MULTIPLE_TABLES=y 471CONFIG_IP_MULTIPLE_TABLES=y
465CONFIG_IP_ROUTE_MULTIPATH=y 472CONFIG_IP_ROUTE_MULTIPATH=y
466CONFIG_IP_ROUTE_VERBOSE=y 473CONFIG_IP_ROUTE_VERBOSE=y
467# CONFIG_IP_PNP is not set 474CONFIG_IP_PNP=y
475CONFIG_IP_PNP_DHCP=y
476CONFIG_IP_PNP_BOOTP=y
477CONFIG_IP_PNP_RARP=y
468# CONFIG_NET_IPIP is not set 478# CONFIG_NET_IPIP is not set
469# CONFIG_NET_IPGRE is not set 479# CONFIG_NET_IPGRE is not set
470CONFIG_IP_MROUTE=y 480CONFIG_IP_MROUTE=y
@@ -607,7 +617,6 @@ CONFIG_NET_SCHED=y
607# CONFIG_NET_SCH_HTB is not set 617# CONFIG_NET_SCH_HTB is not set
608# CONFIG_NET_SCH_HFSC is not set 618# CONFIG_NET_SCH_HFSC is not set
609# CONFIG_NET_SCH_PRIO is not set 619# CONFIG_NET_SCH_PRIO is not set
610# CONFIG_NET_SCH_RR is not set
611# CONFIG_NET_SCH_RED is not set 620# CONFIG_NET_SCH_RED is not set
612# CONFIG_NET_SCH_SFQ is not set 621# CONFIG_NET_SCH_SFQ is not set
613# CONFIG_NET_SCH_TEQL is not set 622# CONFIG_NET_SCH_TEQL is not set
@@ -669,28 +678,19 @@ CONFIG_FIB_RULES=y
669CONFIG_CFG80211=y 678CONFIG_CFG80211=y
670CONFIG_NL80211=y 679CONFIG_NL80211=y
671CONFIG_WIRELESS_EXT=y 680CONFIG_WIRELESS_EXT=y
681CONFIG_WIRELESS_EXT_SYSFS=y
672CONFIG_MAC80211=y 682CONFIG_MAC80211=y
673 683
674# 684#
675# Rate control algorithm selection 685# Rate control algorithm selection
676# 686#
687CONFIG_MAC80211_RC_PID=y
677CONFIG_MAC80211_RC_DEFAULT_PID=y 688CONFIG_MAC80211_RC_DEFAULT_PID=y
678# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
679
680#
681# Selecting 'y' for an algorithm will
682#
683
684#
685# build the algorithm into mac80211.
686#
687CONFIG_MAC80211_RC_DEFAULT="pid" 689CONFIG_MAC80211_RC_DEFAULT="pid"
688CONFIG_MAC80211_RC_PID=y
689# CONFIG_MAC80211_MESH is not set 690# CONFIG_MAC80211_MESH is not set
690CONFIG_MAC80211_LEDS=y 691CONFIG_MAC80211_LEDS=y
691# CONFIG_MAC80211_DEBUGFS is not set 692# CONFIG_MAC80211_DEBUGFS is not set
692# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set 693# CONFIG_MAC80211_DEBUG_MENU is not set
693# CONFIG_MAC80211_DEBUG is not set
694# CONFIG_IEEE80211 is not set 694# CONFIG_IEEE80211 is not set
695# CONFIG_RFKILL is not set 695# CONFIG_RFKILL is not set
696# CONFIG_NET_9P is not set 696# CONFIG_NET_9P is not set
@@ -706,6 +706,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
706CONFIG_STANDALONE=y 706CONFIG_STANDALONE=y
707CONFIG_PREVENT_FIRMWARE_BUILD=y 707CONFIG_PREVENT_FIRMWARE_BUILD=y
708CONFIG_FW_LOADER=y 708CONFIG_FW_LOADER=y
709CONFIG_FIRMWARE_IN_KERNEL=y
710CONFIG_EXTRA_FIRMWARE=""
709# CONFIG_DEBUG_DRIVER is not set 711# CONFIG_DEBUG_DRIVER is not set
710CONFIG_DEBUG_DEVRES=y 712CONFIG_DEBUG_DEVRES=y
711# CONFIG_SYS_HYPERVISOR is not set 713# CONFIG_SYS_HYPERVISOR is not set
@@ -738,6 +740,7 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
738# CONFIG_BLK_DEV_XIP is not set 740# CONFIG_BLK_DEV_XIP is not set
739# CONFIG_CDROM_PKTCDVD is not set 741# CONFIG_CDROM_PKTCDVD is not set
740# CONFIG_ATA_OVER_ETH is not set 742# CONFIG_ATA_OVER_ETH is not set
743# CONFIG_BLK_DEV_HD is not set
741CONFIG_MISC_DEVICES=y 744CONFIG_MISC_DEVICES=y
742# CONFIG_IBM_ASM is not set 745# CONFIG_IBM_ASM is not set
743# CONFIG_PHANTOM is not set 746# CONFIG_PHANTOM is not set
@@ -748,10 +751,14 @@ CONFIG_MISC_DEVICES=y
748# CONFIG_ASUS_LAPTOP is not set 751# CONFIG_ASUS_LAPTOP is not set
749# CONFIG_FUJITSU_LAPTOP is not set 752# CONFIG_FUJITSU_LAPTOP is not set
750# CONFIG_MSI_LAPTOP is not set 753# CONFIG_MSI_LAPTOP is not set
754# CONFIG_COMPAL_LAPTOP is not set
751# CONFIG_SONY_LAPTOP is not set 755# CONFIG_SONY_LAPTOP is not set
752# CONFIG_THINKPAD_ACPI is not set 756# CONFIG_THINKPAD_ACPI is not set
753# CONFIG_INTEL_MENLOW is not set 757# CONFIG_INTEL_MENLOW is not set
754# CONFIG_ENCLOSURE_SERVICES is not set 758# CONFIG_ENCLOSURE_SERVICES is not set
759# CONFIG_SGI_XP is not set
760# CONFIG_HP_ILO is not set
761# CONFIG_SGI_GRU is not set
755CONFIG_HAVE_IDE=y 762CONFIG_HAVE_IDE=y
756# CONFIG_IDE is not set 763# CONFIG_IDE is not set
757 764
@@ -790,12 +797,13 @@ CONFIG_SCSI_WAIT_SCAN=m
790# 797#
791CONFIG_SCSI_SPI_ATTRS=y 798CONFIG_SCSI_SPI_ATTRS=y
792# CONFIG_SCSI_FC_ATTRS is not set 799# CONFIG_SCSI_FC_ATTRS is not set
793# CONFIG_SCSI_ISCSI_ATTRS is not set 800CONFIG_SCSI_ISCSI_ATTRS=y
794# CONFIG_SCSI_SAS_ATTRS is not set 801# CONFIG_SCSI_SAS_ATTRS is not set
795# CONFIG_SCSI_SAS_LIBSAS is not set 802# CONFIG_SCSI_SAS_LIBSAS is not set
796# CONFIG_SCSI_SRP_ATTRS is not set 803# CONFIG_SCSI_SRP_ATTRS is not set
797# CONFIG_SCSI_LOWLEVEL is not set 804# CONFIG_SCSI_LOWLEVEL is not set
798# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 805# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
806# CONFIG_SCSI_DH is not set
799CONFIG_ATA=y 807CONFIG_ATA=y
800# CONFIG_ATA_NONSTANDARD is not set 808# CONFIG_ATA_NONSTANDARD is not set
801CONFIG_ATA_ACPI=y 809CONFIG_ATA_ACPI=y
@@ -857,6 +865,7 @@ CONFIG_PATA_OLDPIIX=y
857# CONFIG_PATA_SIS is not set 865# CONFIG_PATA_SIS is not set
858# CONFIG_PATA_VIA is not set 866# CONFIG_PATA_VIA is not set
859# CONFIG_PATA_WINBOND is not set 867# CONFIG_PATA_WINBOND is not set
868CONFIG_PATA_SCH=y
860CONFIG_MD=y 869CONFIG_MD=y
861CONFIG_BLK_DEV_MD=y 870CONFIG_BLK_DEV_MD=y
862# CONFIG_MD_LINEAR is not set 871# CONFIG_MD_LINEAR is not set
@@ -880,13 +889,16 @@ CONFIG_DM_ZERO=y
880# 889#
881# IEEE 1394 (FireWire) support 890# IEEE 1394 (FireWire) support
882# 891#
892
893#
894# Enable only one of the two stacks, unless you know what you are doing
895#
883# CONFIG_FIREWIRE is not set 896# CONFIG_FIREWIRE is not set
884# CONFIG_IEEE1394 is not set 897# CONFIG_IEEE1394 is not set
885# CONFIG_I2O is not set 898# CONFIG_I2O is not set
886CONFIG_MACINTOSH_DRIVERS=y 899CONFIG_MACINTOSH_DRIVERS=y
887CONFIG_MAC_EMUMOUSEBTN=y 900CONFIG_MAC_EMUMOUSEBTN=y
888CONFIG_NETDEVICES=y 901CONFIG_NETDEVICES=y
889# CONFIG_NETDEVICES_MULTIQUEUE is not set
890# CONFIG_IFB is not set 902# CONFIG_IFB is not set
891# CONFIG_DUMMY is not set 903# CONFIG_DUMMY is not set
892# CONFIG_BONDING is not set 904# CONFIG_BONDING is not set
@@ -896,7 +908,23 @@ CONFIG_NETDEVICES=y
896# CONFIG_VETH is not set 908# CONFIG_VETH is not set
897# CONFIG_NET_SB1000 is not set 909# CONFIG_NET_SB1000 is not set
898# CONFIG_ARCNET is not set 910# CONFIG_ARCNET is not set
899# CONFIG_PHYLIB is not set 911CONFIG_PHYLIB=y
912
913#
914# MII PHY device drivers
915#
916# CONFIG_MARVELL_PHY is not set
917# CONFIG_DAVICOM_PHY is not set
918# CONFIG_QSEMI_PHY is not set
919# CONFIG_LXT_PHY is not set
920# CONFIG_CICADA_PHY is not set
921# CONFIG_VITESSE_PHY is not set
922# CONFIG_SMSC_PHY is not set
923# CONFIG_BROADCOM_PHY is not set
924# CONFIG_ICPLUS_PHY is not set
925# CONFIG_REALTEK_PHY is not set
926# CONFIG_FIXED_PHY is not set
927# CONFIG_MDIO_BITBANG is not set
900CONFIG_NET_ETHERNET=y 928CONFIG_NET_ETHERNET=y
901CONFIG_MII=y 929CONFIG_MII=y
902# CONFIG_HAPPYMEAL is not set 930# CONFIG_HAPPYMEAL is not set
@@ -940,16 +968,15 @@ CONFIG_8139TOO_PIO=y
940# CONFIG_SIS900 is not set 968# CONFIG_SIS900 is not set
941# CONFIG_EPIC100 is not set 969# CONFIG_EPIC100 is not set
942# CONFIG_SUNDANCE is not set 970# CONFIG_SUNDANCE is not set
971# CONFIG_TLAN is not set
943# CONFIG_VIA_RHINE is not set 972# CONFIG_VIA_RHINE is not set
944# CONFIG_SC92031 is not set 973# CONFIG_SC92031 is not set
945CONFIG_NETDEV_1000=y 974CONFIG_NETDEV_1000=y
946# CONFIG_ACENIC is not set 975# CONFIG_ACENIC is not set
947# CONFIG_DL2K is not set 976# CONFIG_DL2K is not set
948CONFIG_E1000=y 977CONFIG_E1000=y
949# CONFIG_E1000_NAPI is not set
950# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 978# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
951# CONFIG_E1000E is not set 979# CONFIG_E1000E is not set
952# CONFIG_E1000E_ENABLED is not set
953# CONFIG_IP1000 is not set 980# CONFIG_IP1000 is not set
954# CONFIG_IGB is not set 981# CONFIG_IGB is not set
955# CONFIG_NS83820 is not set 982# CONFIG_NS83820 is not set
@@ -965,6 +992,7 @@ CONFIG_TIGON3=y
965# CONFIG_BNX2 is not set 992# CONFIG_BNX2 is not set
966# CONFIG_QLA3XXX is not set 993# CONFIG_QLA3XXX is not set
967# CONFIG_ATL1 is not set 994# CONFIG_ATL1 is not set
995# CONFIG_ATL1E is not set
968CONFIG_NETDEV_10000=y 996CONFIG_NETDEV_10000=y
969# CONFIG_CHELSIO_T1 is not set 997# CONFIG_CHELSIO_T1 is not set
970# CONFIG_CHELSIO_T3 is not set 998# CONFIG_CHELSIO_T3 is not set
@@ -1003,13 +1031,14 @@ CONFIG_WLAN_80211=y
1003# CONFIG_RTL8180 is not set 1031# CONFIG_RTL8180 is not set
1004# CONFIG_RTL8187 is not set 1032# CONFIG_RTL8187 is not set
1005# CONFIG_ADM8211 is not set 1033# CONFIG_ADM8211 is not set
1034# CONFIG_MAC80211_HWSIM is not set
1006# CONFIG_P54_COMMON is not set 1035# CONFIG_P54_COMMON is not set
1007CONFIG_ATH5K=y 1036CONFIG_ATH5K=y
1008# CONFIG_ATH5K_DEBUG is not set 1037# CONFIG_ATH5K_DEBUG is not set
1009# CONFIG_IWLWIFI is not set 1038# CONFIG_ATH9K is not set
1010# CONFIG_IWLCORE is not set 1039# CONFIG_IWLCORE is not set
1011# CONFIG_IWLWIFI_LEDS is not set 1040# CONFIG_IWLWIFI_LEDS is not set
1012# CONFIG_IWL4965 is not set 1041# CONFIG_IWLAGN is not set
1013# CONFIG_IWL3945 is not set 1042# CONFIG_IWL3945 is not set
1014# CONFIG_HOSTAP is not set 1043# CONFIG_HOSTAP is not set
1015# CONFIG_B43 is not set 1044# CONFIG_B43 is not set
@@ -1088,6 +1117,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
1088# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1117# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1089# CONFIG_MOUSE_SERIAL is not set 1118# CONFIG_MOUSE_SERIAL is not set
1090# CONFIG_MOUSE_APPLETOUCH is not set 1119# CONFIG_MOUSE_APPLETOUCH is not set
1120# CONFIG_MOUSE_BCM5974 is not set
1091# CONFIG_MOUSE_VSXXXAA is not set 1121# CONFIG_MOUSE_VSXXXAA is not set
1092CONFIG_INPUT_JOYSTICK=y 1122CONFIG_INPUT_JOYSTICK=y
1093# CONFIG_JOYSTICK_ANALOG is not set 1123# CONFIG_JOYSTICK_ANALOG is not set
@@ -1122,12 +1152,14 @@ CONFIG_INPUT_TOUCHSCREEN=y
1122# CONFIG_TOUCHSCREEN_GUNZE is not set 1152# CONFIG_TOUCHSCREEN_GUNZE is not set
1123# CONFIG_TOUCHSCREEN_ELO is not set 1153# CONFIG_TOUCHSCREEN_ELO is not set
1124# CONFIG_TOUCHSCREEN_MTOUCH is not set 1154# CONFIG_TOUCHSCREEN_MTOUCH is not set
1155# CONFIG_TOUCHSCREEN_INEXIO is not set
1125# CONFIG_TOUCHSCREEN_MK712 is not set 1156# CONFIG_TOUCHSCREEN_MK712 is not set
1126# CONFIG_TOUCHSCREEN_PENMOUNT is not set 1157# CONFIG_TOUCHSCREEN_PENMOUNT is not set
1127# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set 1158# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
1128# CONFIG_TOUCHSCREEN_TOUCHWIN is not set 1159# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
1129# CONFIG_TOUCHSCREEN_UCB1400 is not set 1160# CONFIG_TOUCHSCREEN_UCB1400 is not set
1130# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 1161# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
1162# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
1131CONFIG_INPUT_MISC=y 1163CONFIG_INPUT_MISC=y
1132# CONFIG_INPUT_PCSPKR is not set 1164# CONFIG_INPUT_PCSPKR is not set
1133# CONFIG_INPUT_APANEL is not set 1165# CONFIG_INPUT_APANEL is not set
@@ -1155,6 +1187,7 @@ CONFIG_SERIO_LIBPS2=y
1155# Character devices 1187# Character devices
1156# 1188#
1157CONFIG_VT=y 1189CONFIG_VT=y
1190CONFIG_CONSOLE_TRANSLATIONS=y
1158CONFIG_VT_CONSOLE=y 1191CONFIG_VT_CONSOLE=y
1159CONFIG_HW_CONSOLE=y 1192CONFIG_HW_CONSOLE=y
1160CONFIG_VT_HW_CONSOLE_BINDING=y 1193CONFIG_VT_HW_CONSOLE_BINDING=y
@@ -1222,7 +1255,6 @@ CONFIG_NVRAM=y
1222# CONFIG_PC8736x_GPIO is not set 1255# CONFIG_PC8736x_GPIO is not set
1223# CONFIG_RAW_DRIVER is not set 1256# CONFIG_RAW_DRIVER is not set
1224CONFIG_HPET=y 1257CONFIG_HPET=y
1225# CONFIG_HPET_RTC_IRQ is not set
1226# CONFIG_HPET_MMAP is not set 1258# CONFIG_HPET_MMAP is not set
1227# CONFIG_HANGCHECK_TIMER is not set 1259# CONFIG_HANGCHECK_TIMER is not set
1228# CONFIG_TCG_TPM is not set 1260# CONFIG_TCG_TPM is not set
@@ -1231,42 +1263,63 @@ CONFIG_DEVPORT=y
1231CONFIG_I2C=y 1263CONFIG_I2C=y
1232CONFIG_I2C_BOARDINFO=y 1264CONFIG_I2C_BOARDINFO=y
1233# CONFIG_I2C_CHARDEV is not set 1265# CONFIG_I2C_CHARDEV is not set
1266CONFIG_I2C_HELPER_AUTO=y
1234 1267
1235# 1268#
1236# I2C Hardware Bus support 1269# I2C Hardware Bus support
1237# 1270#
1271
1272#
1273# PC SMBus host controller drivers
1274#
1238# CONFIG_I2C_ALI1535 is not set 1275# CONFIG_I2C_ALI1535 is not set
1239# CONFIG_I2C_ALI1563 is not set 1276# CONFIG_I2C_ALI1563 is not set
1240# CONFIG_I2C_ALI15X3 is not set 1277# CONFIG_I2C_ALI15X3 is not set
1241# CONFIG_I2C_AMD756 is not set 1278# CONFIG_I2C_AMD756 is not set
1242# CONFIG_I2C_AMD8111 is not set 1279# CONFIG_I2C_AMD8111 is not set
1243CONFIG_I2C_I801=y 1280CONFIG_I2C_I801=y
1244# CONFIG_I2C_I810 is not set 1281# CONFIG_I2C_ISCH is not set
1245# CONFIG_I2C_PIIX4 is not set 1282# CONFIG_I2C_PIIX4 is not set
1246# CONFIG_I2C_NFORCE2 is not set 1283# CONFIG_I2C_NFORCE2 is not set
1247# CONFIG_I2C_OCORES is not set
1248# CONFIG_I2C_PARPORT_LIGHT is not set
1249# CONFIG_I2C_PROSAVAGE is not set
1250# CONFIG_I2C_SAVAGE4 is not set
1251# CONFIG_I2C_SIMTEC is not set
1252# CONFIG_I2C_SIS5595 is not set 1284# CONFIG_I2C_SIS5595 is not set
1253# CONFIG_I2C_SIS630 is not set 1285# CONFIG_I2C_SIS630 is not set
1254# CONFIG_I2C_SIS96X is not set 1286# CONFIG_I2C_SIS96X is not set
1255# CONFIG_I2C_TAOS_EVM is not set
1256# CONFIG_I2C_STUB is not set
1257# CONFIG_I2C_TINY_USB is not set
1258# CONFIG_I2C_VIA is not set 1287# CONFIG_I2C_VIA is not set
1259# CONFIG_I2C_VIAPRO is not set 1288# CONFIG_I2C_VIAPRO is not set
1289
1290#
1291# I2C system bus drivers (mostly embedded / system-on-chip)
1292#
1293# CONFIG_I2C_OCORES is not set
1294# CONFIG_I2C_SIMTEC is not set
1295
1296#
1297# External I2C/SMBus adapter drivers
1298#
1299# CONFIG_I2C_PARPORT_LIGHT is not set
1300# CONFIG_I2C_TAOS_EVM is not set
1301# CONFIG_I2C_TINY_USB is not set
1302
1303#
1304# Graphics adapter I2C/DDC channel drivers
1305#
1260# CONFIG_I2C_VOODOO3 is not set 1306# CONFIG_I2C_VOODOO3 is not set
1307
1308#
1309# Other I2C/SMBus bus drivers
1310#
1261# CONFIG_I2C_PCA_PLATFORM is not set 1311# CONFIG_I2C_PCA_PLATFORM is not set
1312# CONFIG_I2C_STUB is not set
1262 1313
1263# 1314#
1264# Miscellaneous I2C Chip support 1315# Miscellaneous I2C Chip support
1265# 1316#
1266# CONFIG_DS1682 is not set 1317# CONFIG_DS1682 is not set
1318# CONFIG_AT24 is not set
1267# CONFIG_SENSORS_EEPROM is not set 1319# CONFIG_SENSORS_EEPROM is not set
1268# CONFIG_SENSORS_PCF8574 is not set 1320# CONFIG_SENSORS_PCF8574 is not set
1269# CONFIG_PCF8575 is not set 1321# CONFIG_PCF8575 is not set
1322# CONFIG_SENSORS_PCA9539 is not set
1270# CONFIG_SENSORS_PCF8591 is not set 1323# CONFIG_SENSORS_PCF8591 is not set
1271# CONFIG_SENSORS_MAX6875 is not set 1324# CONFIG_SENSORS_MAX6875 is not set
1272# CONFIG_SENSORS_TSL2550 is not set 1325# CONFIG_SENSORS_TSL2550 is not set
@@ -1275,6 +1328,8 @@ CONFIG_I2C_I801=y
1275# CONFIG_I2C_DEBUG_BUS is not set 1328# CONFIG_I2C_DEBUG_BUS is not set
1276# CONFIG_I2C_DEBUG_CHIP is not set 1329# CONFIG_I2C_DEBUG_CHIP is not set
1277# CONFIG_SPI is not set 1330# CONFIG_SPI is not set
1331CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1332# CONFIG_GPIOLIB is not set
1278# CONFIG_W1 is not set 1333# CONFIG_W1 is not set
1279CONFIG_POWER_SUPPLY=y 1334CONFIG_POWER_SUPPLY=y
1280# CONFIG_POWER_SUPPLY_DEBUG is not set 1335# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -1335,8 +1390,10 @@ CONFIG_SSB_POSSIBLE=y
1335# 1390#
1336# Multifunction device drivers 1391# Multifunction device drivers
1337# 1392#
1393# CONFIG_MFD_CORE is not set
1338# CONFIG_MFD_SM501 is not set 1394# CONFIG_MFD_SM501 is not set
1339# CONFIG_HTC_PASIC3 is not set 1395# CONFIG_HTC_PASIC3 is not set
1396# CONFIG_MFD_TMIO is not set
1340 1397
1341# 1398#
1342# Multimedia devices 1399# Multimedia devices
@@ -1347,6 +1404,7 @@ CONFIG_SSB_POSSIBLE=y
1347# 1404#
1348# CONFIG_VIDEO_DEV is not set 1405# CONFIG_VIDEO_DEV is not set
1349# CONFIG_DVB_CORE is not set 1406# CONFIG_DVB_CORE is not set
1407# CONFIG_VIDEO_MEDIA is not set
1350 1408
1351# 1409#
1352# Multimedia drivers 1410# Multimedia drivers
@@ -1387,7 +1445,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
1387# CONFIG_FB_SYS_IMAGEBLIT is not set 1445# CONFIG_FB_SYS_IMAGEBLIT is not set
1388# CONFIG_FB_FOREIGN_ENDIAN is not set 1446# CONFIG_FB_FOREIGN_ENDIAN is not set
1389# CONFIG_FB_SYS_FOPS is not set 1447# CONFIG_FB_SYS_FOPS is not set
1390CONFIG_FB_DEFERRED_IO=y
1391# CONFIG_FB_SVGALIB is not set 1448# CONFIG_FB_SVGALIB is not set
1392# CONFIG_FB_MACMODES is not set 1449# CONFIG_FB_MACMODES is not set
1393# CONFIG_FB_BACKLIGHT is not set 1450# CONFIG_FB_BACKLIGHT is not set
@@ -1430,6 +1487,7 @@ CONFIG_FB_EFI=y
1430# CONFIG_FB_TRIDENT is not set 1487# CONFIG_FB_TRIDENT is not set
1431# CONFIG_FB_ARK is not set 1488# CONFIG_FB_ARK is not set
1432# CONFIG_FB_PM3 is not set 1489# CONFIG_FB_PM3 is not set
1490# CONFIG_FB_CARMINE is not set
1433# CONFIG_FB_GEODE is not set 1491# CONFIG_FB_GEODE is not set
1434# CONFIG_FB_VIRTUAL is not set 1492# CONFIG_FB_VIRTUAL is not set
1435CONFIG_BACKLIGHT_LCD_SUPPORT=y 1493CONFIG_BACKLIGHT_LCD_SUPPORT=y
@@ -1437,6 +1495,7 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y
1437CONFIG_BACKLIGHT_CLASS_DEVICE=y 1495CONFIG_BACKLIGHT_CLASS_DEVICE=y
1438# CONFIG_BACKLIGHT_CORGI is not set 1496# CONFIG_BACKLIGHT_CORGI is not set
1439# CONFIG_BACKLIGHT_PROGEAR is not set 1497# CONFIG_BACKLIGHT_PROGEAR is not set
1498# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
1440 1499
1441# 1500#
1442# Display device support 1501# Display device support
@@ -1456,15 +1515,7 @@ CONFIG_LOGO=y
1456# CONFIG_LOGO_LINUX_MONO is not set 1515# CONFIG_LOGO_LINUX_MONO is not set
1457# CONFIG_LOGO_LINUX_VGA16 is not set 1516# CONFIG_LOGO_LINUX_VGA16 is not set
1458CONFIG_LOGO_LINUX_CLUT224=y 1517CONFIG_LOGO_LINUX_CLUT224=y
1459
1460#
1461# Sound
1462#
1463CONFIG_SOUND=y 1518CONFIG_SOUND=y
1464
1465#
1466# Advanced Linux Sound Architecture
1467#
1468CONFIG_SND=y 1519CONFIG_SND=y
1469CONFIG_SND_TIMER=y 1520CONFIG_SND_TIMER=y
1470CONFIG_SND_PCM=y 1521CONFIG_SND_PCM=y
@@ -1482,20 +1533,14 @@ CONFIG_SND_VERBOSE_PROCFS=y
1482# CONFIG_SND_VERBOSE_PRINTK is not set 1533# CONFIG_SND_VERBOSE_PRINTK is not set
1483# CONFIG_SND_DEBUG is not set 1534# CONFIG_SND_DEBUG is not set
1484CONFIG_SND_VMASTER=y 1535CONFIG_SND_VMASTER=y
1485 1536CONFIG_SND_DRIVERS=y
1486#
1487# Generic devices
1488#
1489# CONFIG_SND_PCSP is not set 1537# CONFIG_SND_PCSP is not set
1490# CONFIG_SND_DUMMY is not set 1538# CONFIG_SND_DUMMY is not set
1491# CONFIG_SND_VIRMIDI is not set 1539# CONFIG_SND_VIRMIDI is not set
1492# CONFIG_SND_MTPAV is not set 1540# CONFIG_SND_MTPAV is not set
1493# CONFIG_SND_SERIAL_U16550 is not set 1541# CONFIG_SND_SERIAL_U16550 is not set
1494# CONFIG_SND_MPU401 is not set 1542# CONFIG_SND_MPU401 is not set
1495 1543CONFIG_SND_PCI=y
1496#
1497# PCI devices
1498#
1499# CONFIG_SND_AD1889 is not set 1544# CONFIG_SND_AD1889 is not set
1500# CONFIG_SND_ALS300 is not set 1545# CONFIG_SND_ALS300 is not set
1501# CONFIG_SND_ALS4000 is not set 1546# CONFIG_SND_ALS4000 is not set
@@ -1568,36 +1613,14 @@ CONFIG_SND_HDA_GENERIC=y
1568# CONFIG_SND_VIRTUOSO is not set 1613# CONFIG_SND_VIRTUOSO is not set
1569# CONFIG_SND_VX222 is not set 1614# CONFIG_SND_VX222 is not set
1570# CONFIG_SND_YMFPCI is not set 1615# CONFIG_SND_YMFPCI is not set
1571 1616CONFIG_SND_USB=y
1572#
1573# USB devices
1574#
1575# CONFIG_SND_USB_AUDIO is not set 1617# CONFIG_SND_USB_AUDIO is not set
1576# CONFIG_SND_USB_USX2Y is not set 1618# CONFIG_SND_USB_USX2Y is not set
1577# CONFIG_SND_USB_CAIAQ is not set 1619# CONFIG_SND_USB_CAIAQ is not set
1578 1620CONFIG_SND_PCMCIA=y
1579#
1580# PCMCIA devices
1581#
1582# CONFIG_SND_VXPOCKET is not set 1621# CONFIG_SND_VXPOCKET is not set
1583# CONFIG_SND_PDAUDIOCF is not set 1622# CONFIG_SND_PDAUDIOCF is not set
1584
1585#
1586# System on Chip audio support
1587#
1588# CONFIG_SND_SOC is not set 1623# CONFIG_SND_SOC is not set
1589
1590#
1591# ALSA SoC audio for Freescale SOCs
1592#
1593
1594#
1595# SoC Audio for the Texas Instruments OMAP
1596#
1597
1598#
1599# Open Sound System
1600#
1601# CONFIG_SOUND_PRIME is not set 1624# CONFIG_SOUND_PRIME is not set
1602CONFIG_HID_SUPPORT=y 1625CONFIG_HID_SUPPORT=y
1603CONFIG_HID=y 1626CONFIG_HID=y
@@ -1633,6 +1656,7 @@ CONFIG_USB_DEVICEFS=y
1633# CONFIG_USB_DYNAMIC_MINORS is not set 1656# CONFIG_USB_DYNAMIC_MINORS is not set
1634CONFIG_USB_SUSPEND=y 1657CONFIG_USB_SUSPEND=y
1635# CONFIG_USB_OTG is not set 1658# CONFIG_USB_OTG is not set
1659CONFIG_USB_MON=y
1636 1660
1637# 1661#
1638# USB Host Controller Drivers 1662# USB Host Controller Drivers
@@ -1656,6 +1680,7 @@ CONFIG_USB_UHCI_HCD=y
1656# 1680#
1657# CONFIG_USB_ACM is not set 1681# CONFIG_USB_ACM is not set
1658CONFIG_USB_PRINTER=y 1682CONFIG_USB_PRINTER=y
1683# CONFIG_USB_WDM is not set
1659 1684
1660# 1685#
1661# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1686# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1677,6 +1702,7 @@ CONFIG_USB_STORAGE=y
1677# CONFIG_USB_STORAGE_ALAUDA is not set 1702# CONFIG_USB_STORAGE_ALAUDA is not set
1678# CONFIG_USB_STORAGE_ONETOUCH is not set 1703# CONFIG_USB_STORAGE_ONETOUCH is not set
1679# CONFIG_USB_STORAGE_KARMA is not set 1704# CONFIG_USB_STORAGE_KARMA is not set
1705# CONFIG_USB_STORAGE_SIERRA is not set
1680# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1706# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1681CONFIG_USB_LIBUSUAL=y 1707CONFIG_USB_LIBUSUAL=y
1682 1708
@@ -1685,7 +1711,6 @@ CONFIG_USB_LIBUSUAL=y
1685# 1711#
1686# CONFIG_USB_MDC800 is not set 1712# CONFIG_USB_MDC800 is not set
1687# CONFIG_USB_MICROTEK is not set 1713# CONFIG_USB_MICROTEK is not set
1688CONFIG_USB_MON=y
1689 1714
1690# 1715#
1691# USB port drivers 1716# USB port drivers
@@ -1698,7 +1723,6 @@ CONFIG_USB_MON=y
1698# CONFIG_USB_EMI62 is not set 1723# CONFIG_USB_EMI62 is not set
1699# CONFIG_USB_EMI26 is not set 1724# CONFIG_USB_EMI26 is not set
1700# CONFIG_USB_ADUTUX is not set 1725# CONFIG_USB_ADUTUX is not set
1701# CONFIG_USB_AUERSWALD is not set
1702# CONFIG_USB_RIO500 is not set 1726# CONFIG_USB_RIO500 is not set
1703# CONFIG_USB_LEGOTOWER is not set 1727# CONFIG_USB_LEGOTOWER is not set
1704# CONFIG_USB_LCD is not set 1728# CONFIG_USB_LCD is not set
@@ -1715,6 +1739,7 @@ CONFIG_USB_MON=y
1715# CONFIG_USB_TRANCEVIBRATOR is not set 1739# CONFIG_USB_TRANCEVIBRATOR is not set
1716# CONFIG_USB_IOWARRIOR is not set 1740# CONFIG_USB_IOWARRIOR is not set
1717# CONFIG_USB_TEST is not set 1741# CONFIG_USB_TEST is not set
1742# CONFIG_USB_ISIGHTFW is not set
1718# CONFIG_USB_GADGET is not set 1743# CONFIG_USB_GADGET is not set
1719# CONFIG_MMC is not set 1744# CONFIG_MMC is not set
1720# CONFIG_MEMSTICK is not set 1745# CONFIG_MEMSTICK is not set
@@ -1724,7 +1749,9 @@ CONFIG_LEDS_CLASS=y
1724# 1749#
1725# LED drivers 1750# LED drivers
1726# 1751#
1752# CONFIG_LEDS_PCA9532 is not set
1727# CONFIG_LEDS_CLEVO_MAIL is not set 1753# CONFIG_LEDS_CLEVO_MAIL is not set
1754# CONFIG_LEDS_PCA955X is not set
1728 1755
1729# 1756#
1730# LED Triggers 1757# LED Triggers
@@ -1770,6 +1797,7 @@ CONFIG_RTC_INTF_DEV=y
1770# CONFIG_RTC_DRV_PCF8583 is not set 1797# CONFIG_RTC_DRV_PCF8583 is not set
1771# CONFIG_RTC_DRV_M41T80 is not set 1798# CONFIG_RTC_DRV_M41T80 is not set
1772# CONFIG_RTC_DRV_S35390A is not set 1799# CONFIG_RTC_DRV_S35390A is not set
1800# CONFIG_RTC_DRV_FM3130 is not set
1773 1801
1774# 1802#
1775# SPI RTC drivers 1803# SPI RTC drivers
@@ -1802,11 +1830,13 @@ CONFIG_DMADEVICES=y
1802# Firmware Drivers 1830# Firmware Drivers
1803# 1831#
1804# CONFIG_EDD is not set 1832# CONFIG_EDD is not set
1833CONFIG_FIRMWARE_MEMMAP=y
1805CONFIG_EFI_VARS=y 1834CONFIG_EFI_VARS=y
1806# CONFIG_DELL_RBU is not set 1835# CONFIG_DELL_RBU is not set
1807# CONFIG_DCDBAS is not set 1836# CONFIG_DCDBAS is not set
1808CONFIG_DMIID=y 1837CONFIG_DMIID=y
1809# CONFIG_ISCSI_IBFT_FIND is not set 1838CONFIG_ISCSI_IBFT_FIND=y
1839CONFIG_ISCSI_IBFT=y
1810 1840
1811# 1841#
1812# File systems 1842# File systems
@@ -1886,14 +1916,27 @@ CONFIG_HUGETLB_PAGE=y
1886# CONFIG_CRAMFS is not set 1916# CONFIG_CRAMFS is not set
1887# CONFIG_VXFS_FS is not set 1917# CONFIG_VXFS_FS is not set
1888# CONFIG_MINIX_FS is not set 1918# CONFIG_MINIX_FS is not set
1919# CONFIG_OMFS_FS is not set
1889# CONFIG_HPFS_FS is not set 1920# CONFIG_HPFS_FS is not set
1890# CONFIG_QNX4FS_FS is not set 1921# CONFIG_QNX4FS_FS is not set
1891# CONFIG_ROMFS_FS is not set 1922# CONFIG_ROMFS_FS is not set
1892# CONFIG_SYSV_FS is not set 1923# CONFIG_SYSV_FS is not set
1893# CONFIG_UFS_FS is not set 1924# CONFIG_UFS_FS is not set
1894CONFIG_NETWORK_FILESYSTEMS=y 1925CONFIG_NETWORK_FILESYSTEMS=y
1895# CONFIG_NFS_FS is not set 1926CONFIG_NFS_FS=y
1927CONFIG_NFS_V3=y
1928CONFIG_NFS_V3_ACL=y
1929CONFIG_NFS_V4=y
1930CONFIG_ROOT_NFS=y
1896# CONFIG_NFSD is not set 1931# CONFIG_NFSD is not set
1932CONFIG_LOCKD=y
1933CONFIG_LOCKD_V4=y
1934CONFIG_NFS_ACL_SUPPORT=y
1935CONFIG_NFS_COMMON=y
1936CONFIG_SUNRPC=y
1937CONFIG_SUNRPC_GSS=y
1938CONFIG_RPCSEC_GSS_KRB5=y
1939# CONFIG_RPCSEC_GSS_SPKM3 is not set
1897# CONFIG_SMB_FS is not set 1940# CONFIG_SMB_FS is not set
1898# CONFIG_CIFS is not set 1941# CONFIG_CIFS is not set
1899# CONFIG_NCP_FS is not set 1942# CONFIG_NCP_FS is not set
@@ -1967,9 +2010,9 @@ CONFIG_NLS_UTF8=y
1967# Kernel hacking 2010# Kernel hacking
1968# 2011#
1969CONFIG_TRACE_IRQFLAGS_SUPPORT=y 2012CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1970# CONFIG_PRINTK_TIME is not set 2013CONFIG_PRINTK_TIME=y
1971# CONFIG_ENABLE_WARN_DEPRECATED is not set 2014CONFIG_ENABLE_WARN_DEPRECATED=y
1972# CONFIG_ENABLE_MUST_CHECK is not set 2015CONFIG_ENABLE_MUST_CHECK=y
1973CONFIG_FRAME_WARN=2048 2016CONFIG_FRAME_WARN=2048
1974CONFIG_MAGIC_SYSRQ=y 2017CONFIG_MAGIC_SYSRQ=y
1975# CONFIG_UNUSED_SYMBOLS is not set 2018# CONFIG_UNUSED_SYMBOLS is not set
@@ -1998,6 +2041,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
1998# CONFIG_DEBUG_INFO is not set 2041# CONFIG_DEBUG_INFO is not set
1999# CONFIG_DEBUG_VM is not set 2042# CONFIG_DEBUG_VM is not set
2000# CONFIG_DEBUG_WRITECOUNT is not set 2043# CONFIG_DEBUG_WRITECOUNT is not set
2044CONFIG_DEBUG_MEMORY_INIT=y
2001# CONFIG_DEBUG_LIST is not set 2045# CONFIG_DEBUG_LIST is not set
2002# CONFIG_DEBUG_SG is not set 2046# CONFIG_DEBUG_SG is not set
2003CONFIG_FRAME_POINTER=y 2047CONFIG_FRAME_POINTER=y
@@ -2008,11 +2052,20 @@ CONFIG_FRAME_POINTER=y
2008# CONFIG_LKDTM is not set 2052# CONFIG_LKDTM is not set
2009# CONFIG_FAULT_INJECTION is not set 2053# CONFIG_FAULT_INJECTION is not set
2010# CONFIG_LATENCYTOP is not set 2054# CONFIG_LATENCYTOP is not set
2055CONFIG_SYSCTL_SYSCALL_CHECK=y
2056CONFIG_HAVE_FTRACE=y
2057CONFIG_HAVE_DYNAMIC_FTRACE=y
2058# CONFIG_FTRACE is not set
2059# CONFIG_IRQSOFF_TRACER is not set
2060# CONFIG_SYSPROF_TRACER is not set
2061# CONFIG_SCHED_TRACER is not set
2062# CONFIG_CONTEXT_SWITCH_TRACER is not set
2011CONFIG_PROVIDE_OHCI1394_DMA_INIT=y 2063CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
2012# CONFIG_SAMPLES is not set 2064# CONFIG_SAMPLES is not set
2013# CONFIG_KGDB is not set
2014CONFIG_HAVE_ARCH_KGDB=y 2065CONFIG_HAVE_ARCH_KGDB=y
2066# CONFIG_KGDB is not set
2015# CONFIG_STRICT_DEVMEM is not set 2067# CONFIG_STRICT_DEVMEM is not set
2068CONFIG_X86_VERBOSE_BOOTUP=y
2016CONFIG_EARLY_PRINTK=y 2069CONFIG_EARLY_PRINTK=y
2017CONFIG_DEBUG_STACKOVERFLOW=y 2070CONFIG_DEBUG_STACKOVERFLOW=y
2018CONFIG_DEBUG_STACK_USAGE=y 2071CONFIG_DEBUG_STACK_USAGE=y
@@ -2023,8 +2076,8 @@ CONFIG_DEBUG_RODATA=y
2023# CONFIG_DIRECT_GBPAGES is not set 2076# CONFIG_DIRECT_GBPAGES is not set
2024# CONFIG_DEBUG_RODATA_TEST is not set 2077# CONFIG_DEBUG_RODATA_TEST is not set
2025CONFIG_DEBUG_NX_TEST=m 2078CONFIG_DEBUG_NX_TEST=m
2026CONFIG_X86_MPPARSE=y
2027# CONFIG_IOMMU_DEBUG is not set 2079# CONFIG_IOMMU_DEBUG is not set
2080# CONFIG_MMIOTRACE is not set
2028CONFIG_IO_DELAY_TYPE_0X80=0 2081CONFIG_IO_DELAY_TYPE_0X80=0
2029CONFIG_IO_DELAY_TYPE_0XED=1 2082CONFIG_IO_DELAY_TYPE_0XED=1
2030CONFIG_IO_DELAY_TYPE_UDELAY=2 2083CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -2036,6 +2089,7 @@ CONFIG_IO_DELAY_0X80=y
2036CONFIG_DEFAULT_IO_DELAY_TYPE=0 2089CONFIG_DEFAULT_IO_DELAY_TYPE=0
2037CONFIG_DEBUG_BOOT_PARAMS=y 2090CONFIG_DEBUG_BOOT_PARAMS=y
2038# CONFIG_CPA_DEBUG is not set 2091# CONFIG_CPA_DEBUG is not set
2092# CONFIG_OPTIMIZE_INLINING is not set
2039 2093
2040# 2094#
2041# Security options 2095# Security options
@@ -2045,7 +2099,6 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
2045CONFIG_SECURITY=y 2099CONFIG_SECURITY=y
2046CONFIG_SECURITY_NETWORK=y 2100CONFIG_SECURITY_NETWORK=y
2047# CONFIG_SECURITY_NETWORK_XFRM is not set 2101# CONFIG_SECURITY_NETWORK_XFRM is not set
2048CONFIG_SECURITY_CAPABILITIES=y
2049CONFIG_SECURITY_FILE_CAPABILITIES=y 2102CONFIG_SECURITY_FILE_CAPABILITIES=y
2050# CONFIG_SECURITY_ROOTPLUG is not set 2103# CONFIG_SECURITY_ROOTPLUG is not set
2051CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536 2104CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
@@ -2106,6 +2159,10 @@ CONFIG_CRYPTO_HMAC=y
2106# CONFIG_CRYPTO_MD4 is not set 2159# CONFIG_CRYPTO_MD4 is not set
2107CONFIG_CRYPTO_MD5=y 2160CONFIG_CRYPTO_MD5=y
2108# CONFIG_CRYPTO_MICHAEL_MIC is not set 2161# CONFIG_CRYPTO_MICHAEL_MIC is not set
2162# CONFIG_CRYPTO_RMD128 is not set
2163# CONFIG_CRYPTO_RMD160 is not set
2164# CONFIG_CRYPTO_RMD256 is not set
2165# CONFIG_CRYPTO_RMD320 is not set
2109CONFIG_CRYPTO_SHA1=y 2166CONFIG_CRYPTO_SHA1=y
2110# CONFIG_CRYPTO_SHA256 is not set 2167# CONFIG_CRYPTO_SHA256 is not set
2111# CONFIG_CRYPTO_SHA512 is not set 2168# CONFIG_CRYPTO_SHA512 is not set
@@ -2155,6 +2212,7 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
2155CONFIG_GENERIC_FIND_NEXT_BIT=y 2212CONFIG_GENERIC_FIND_NEXT_BIT=y
2156# CONFIG_CRC_CCITT is not set 2213# CONFIG_CRC_CCITT is not set
2157# CONFIG_CRC16 is not set 2214# CONFIG_CRC16 is not set
2215CONFIG_CRC_T10DIF=y
2158# CONFIG_CRC_ITU_T is not set 2216# CONFIG_CRC_ITU_T is not set
2159CONFIG_CRC32=y 2217CONFIG_CRC32=y
2160# CONFIG_CRC7 is not set 2218# CONFIG_CRC7 is not set
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 2763cb37b553..65a0c1b48696 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -145,35 +145,25 @@ static const unsigned char *const p6_nops[ASM_NOP_MAX+1] = {
145extern char __vsyscall_0; 145extern char __vsyscall_0;
146const unsigned char *const *find_nop_table(void) 146const unsigned char *const *find_nop_table(void)
147{ 147{
148 return boot_cpu_data.x86_vendor != X86_VENDOR_INTEL || 148 if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
149 boot_cpu_data.x86 < 6 ? k8_nops : p6_nops; 149 boot_cpu_has(X86_FEATURE_NOPL))
150 return p6_nops;
151 else
152 return k8_nops;
150} 153}
151 154
152#else /* CONFIG_X86_64 */ 155#else /* CONFIG_X86_64 */
153 156
154static const struct nop {
155 int cpuid;
156 const unsigned char *const *noptable;
157} noptypes[] = {
158 { X86_FEATURE_K8, k8_nops },
159 { X86_FEATURE_K7, k7_nops },
160 { X86_FEATURE_P4, p6_nops },
161 { X86_FEATURE_P3, p6_nops },
162 { -1, NULL }
163};
164
165const unsigned char *const *find_nop_table(void) 157const unsigned char *const *find_nop_table(void)
166{ 158{
167 const unsigned char *const *noptable = intel_nops; 159 if (boot_cpu_has(X86_FEATURE_K8))
168 int i; 160 return k8_nops;
169 161 else if (boot_cpu_has(X86_FEATURE_K7))
170 for (i = 0; noptypes[i].cpuid >= 0; i++) { 162 return k7_nops;
171 if (boot_cpu_has(noptypes[i].cpuid)) { 163 else if (boot_cpu_has(X86_FEATURE_NOPL))
172 noptable = noptypes[i].noptable; 164 return p6_nops;
173 break; 165 else
174 } 166 return intel_nops;
175 }
176 return noptable;
177} 167}
178 168
179#endif /* CONFIG_X86_64 */ 169#endif /* CONFIG_X86_64 */
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index cae9cabc3031..18514ed26104 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -31,6 +31,11 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
31 if (c->x86_power & (1<<8)) 31 if (c->x86_power & (1<<8))
32 set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); 32 set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
33 } 33 }
34
35 /* Set MTRR capability flag if appropriate */
36 if (c->x86_model == 13 || c->x86_model == 9 ||
37 (c->x86_model == 8 && c->x86_mask >= 8))
38 set_cpu_cap(c, X86_FEATURE_K6_MTRR);
34} 39}
35 40
36static void __cpuinit init_amd(struct cpuinfo_x86 *c) 41static void __cpuinit init_amd(struct cpuinfo_x86 *c)
@@ -166,10 +171,6 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
166 mbytes); 171 mbytes);
167 } 172 }
168 173
169 /* Set MTRR capability flag if appropriate */
170 if (c->x86_model == 13 || c->x86_model == 9 ||
171 (c->x86_model == 8 && c->x86_mask >= 8))
172 set_cpu_cap(c, X86_FEATURE_K6_MTRR);
173 break; 174 break;
174 } 175 }
175 176
diff --git a/arch/x86/kernel/cpu/centaur.c b/arch/x86/kernel/cpu/centaur.c
index e0f45edd6a55..a0534c04d38a 100644
--- a/arch/x86/kernel/cpu/centaur.c
+++ b/arch/x86/kernel/cpu/centaur.c
@@ -314,6 +314,16 @@ enum {
314 EAMD3D = 1<<20, 314 EAMD3D = 1<<20,
315}; 315};
316 316
317static void __cpuinit early_init_centaur(struct cpuinfo_x86 *c)
318{
319 switch (c->x86) {
320 case 5:
321 /* Emulate MTRRs using Centaur's MCR. */
322 set_cpu_cap(c, X86_FEATURE_CENTAUR_MCR);
323 break;
324 }
325}
326
317static void __cpuinit init_centaur(struct cpuinfo_x86 *c) 327static void __cpuinit init_centaur(struct cpuinfo_x86 *c)
318{ 328{
319 329
@@ -462,6 +472,7 @@ centaur_size_cache(struct cpuinfo_x86 *c, unsigned int size)
462static struct cpu_dev centaur_cpu_dev __cpuinitdata = { 472static struct cpu_dev centaur_cpu_dev __cpuinitdata = {
463 .c_vendor = "Centaur", 473 .c_vendor = "Centaur",
464 .c_ident = { "CentaurHauls" }, 474 .c_ident = { "CentaurHauls" },
475 .c_early_init = early_init_centaur,
465 .c_init = init_centaur, 476 .c_init = init_centaur,
466 .c_size_cache = centaur_size_cache, 477 .c_size_cache = centaur_size_cache,
467}; 478};
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 80ab20d4fa39..8aab8517642e 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -13,6 +13,7 @@
13#include <asm/mtrr.h> 13#include <asm/mtrr.h>
14#include <asm/mce.h> 14#include <asm/mce.h>
15#include <asm/pat.h> 15#include <asm/pat.h>
16#include <asm/asm.h>
16#ifdef CONFIG_X86_LOCAL_APIC 17#ifdef CONFIG_X86_LOCAL_APIC
17#include <asm/mpspec.h> 18#include <asm/mpspec.h>
18#include <asm/apic.h> 19#include <asm/apic.h>
@@ -334,11 +335,40 @@ static void __init early_cpu_detect(void)
334 335
335 get_cpu_vendor(c, 1); 336 get_cpu_vendor(c, 1);
336 337
338 early_get_cap(c);
339
337 if (c->x86_vendor != X86_VENDOR_UNKNOWN && 340 if (c->x86_vendor != X86_VENDOR_UNKNOWN &&
338 cpu_devs[c->x86_vendor]->c_early_init) 341 cpu_devs[c->x86_vendor]->c_early_init)
339 cpu_devs[c->x86_vendor]->c_early_init(c); 342 cpu_devs[c->x86_vendor]->c_early_init(c);
343}
340 344
341 early_get_cap(c); 345/*
346 * The NOPL instruction is supposed to exist on all CPUs with
347 * family >= 6, unfortunately, that's not true in practice because
348 * of early VIA chips and (more importantly) broken virtualizers that
349 * are not easy to detect. Hence, probe for it based on first
350 * principles.
351 */
352static void __cpuinit detect_nopl(struct cpuinfo_x86 *c)
353{
354 const u32 nopl_signature = 0x888c53b1; /* Random number */
355 u32 has_nopl = nopl_signature;
356
357 clear_cpu_cap(c, X86_FEATURE_NOPL);
358 if (c->x86 >= 6) {
359 asm volatile("\n"
360 "1: .byte 0x0f,0x1f,0xc0\n" /* nopl %eax */
361 "2:\n"
362 " .section .fixup,\"ax\"\n"
363 "3: xor %0,%0\n"
364 " jmp 2b\n"
365 " .previous\n"
366 _ASM_EXTABLE(1b,3b)
367 : "+a" (has_nopl));
368
369 if (has_nopl == nopl_signature)
370 set_cpu_cap(c, X86_FEATURE_NOPL);
371 }
342} 372}
343 373
344static void __cpuinit generic_identify(struct cpuinfo_x86 *c) 374static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
@@ -395,8 +425,8 @@ static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
395 } 425 }
396 426
397 init_scattered_cpuid_features(c); 427 init_scattered_cpuid_features(c);
428 detect_nopl(c);
398 } 429 }
399
400} 430}
401 431
402static void __cpuinit squash_the_stupid_serial_number(struct cpuinfo_x86 *c) 432static void __cpuinit squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
diff --git a/arch/x86/kernel/cpu/common_64.c b/arch/x86/kernel/cpu/common_64.c
index dd6e3f15017e..a11f5d4477cd 100644
--- a/arch/x86/kernel/cpu/common_64.c
+++ b/arch/x86/kernel/cpu/common_64.c
@@ -18,6 +18,7 @@
18#include <asm/mtrr.h> 18#include <asm/mtrr.h>
19#include <asm/mce.h> 19#include <asm/mce.h>
20#include <asm/pat.h> 20#include <asm/pat.h>
21#include <asm/asm.h>
21#include <asm/numa.h> 22#include <asm/numa.h>
22#ifdef CONFIG_X86_LOCAL_APIC 23#ifdef CONFIG_X86_LOCAL_APIC
23#include <asm/mpspec.h> 24#include <asm/mpspec.h>
@@ -215,6 +216,39 @@ static void __init early_cpu_support_print(void)
215 } 216 }
216} 217}
217 218
219/*
220 * The NOPL instruction is supposed to exist on all CPUs with
221 * family >= 6, unfortunately, that's not true in practice because
222 * of early VIA chips and (more importantly) broken virtualizers that
223 * are not easy to detect. Hence, probe for it based on first
224 * principles.
225 *
226 * Note: no 64-bit chip is known to lack these, but put the code here
227 * for consistency with 32 bits, and to make it utterly trivial to
228 * diagnose the problem should it ever surface.
229 */
230static void __cpuinit detect_nopl(struct cpuinfo_x86 *c)
231{
232 const u32 nopl_signature = 0x888c53b1; /* Random number */
233 u32 has_nopl = nopl_signature;
234
235 clear_cpu_cap(c, X86_FEATURE_NOPL);
236 if (c->x86 >= 6) {
237 asm volatile("\n"
238 "1: .byte 0x0f,0x1f,0xc0\n" /* nopl %eax */
239 "2:\n"
240 " .section .fixup,\"ax\"\n"
241 "3: xor %0,%0\n"
242 " jmp 2b\n"
243 " .previous\n"
244 _ASM_EXTABLE(1b,3b)
245 : "+a" (has_nopl));
246
247 if (has_nopl == nopl_signature)
248 set_cpu_cap(c, X86_FEATURE_NOPL);
249 }
250}
251
218static void __cpuinit early_identify_cpu(struct cpuinfo_x86 *c); 252static void __cpuinit early_identify_cpu(struct cpuinfo_x86 *c);
219 253
220void __init early_cpu_init(void) 254void __init early_cpu_init(void)
@@ -313,6 +347,8 @@ static void __cpuinit early_identify_cpu(struct cpuinfo_x86 *c)
313 c->x86_phys_bits = eax & 0xff; 347 c->x86_phys_bits = eax & 0xff;
314 } 348 }
315 349
350 detect_nopl(c);
351
316 if (c->x86_vendor != X86_VENDOR_UNKNOWN && 352 if (c->x86_vendor != X86_VENDOR_UNKNOWN &&
317 cpu_devs[c->x86_vendor]->c_early_init) 353 cpu_devs[c->x86_vendor]->c_early_init)
318 cpu_devs[c->x86_vendor]->c_early_init(c); 354 cpu_devs[c->x86_vendor]->c_early_init(c);
@@ -493,17 +529,20 @@ void pda_init(int cpu)
493 /* others are initialized in smpboot.c */ 529 /* others are initialized in smpboot.c */
494 pda->pcurrent = &init_task; 530 pda->pcurrent = &init_task;
495 pda->irqstackptr = boot_cpu_stack; 531 pda->irqstackptr = boot_cpu_stack;
532 pda->irqstackptr += IRQSTACKSIZE - 64;
496 } else { 533 } else {
497 pda->irqstackptr = (char *) 534 if (!pda->irqstackptr) {
498 __get_free_pages(GFP_ATOMIC, IRQSTACK_ORDER); 535 pda->irqstackptr = (char *)
499 if (!pda->irqstackptr) 536 __get_free_pages(GFP_ATOMIC, IRQSTACK_ORDER);
500 panic("cannot allocate irqstack for cpu %d", cpu); 537 if (!pda->irqstackptr)
538 panic("cannot allocate irqstack for cpu %d",
539 cpu);
540 pda->irqstackptr += IRQSTACKSIZE - 64;
541 }
501 542
502 if (pda->nodenumber == 0 && cpu_to_node(cpu) != NUMA_NO_NODE) 543 if (pda->nodenumber == 0 && cpu_to_node(cpu) != NUMA_NO_NODE)
503 pda->nodenumber = cpu_to_node(cpu); 544 pda->nodenumber = cpu_to_node(cpu);
504 } 545 }
505
506 pda->irqstackptr += IRQSTACKSIZE-64;
507} 546}
508 547
509char boot_exception_stacks[(N_EXCEPTION_STACKS - 1) * EXCEPTION_STKSZ + 548char boot_exception_stacks[(N_EXCEPTION_STACKS - 1) * EXCEPTION_STKSZ +
@@ -601,19 +640,22 @@ void __cpuinit cpu_init(void)
601 /* 640 /*
602 * set up and load the per-CPU TSS 641 * set up and load the per-CPU TSS
603 */ 642 */
604 for (v = 0; v < N_EXCEPTION_STACKS; v++) { 643 if (!orig_ist->ist[0]) {
605 static const unsigned int order[N_EXCEPTION_STACKS] = { 644 static const unsigned int order[N_EXCEPTION_STACKS] = {
606 [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER, 645 [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER,
607 [DEBUG_STACK - 1] = DEBUG_STACK_ORDER 646 [DEBUG_STACK - 1] = DEBUG_STACK_ORDER
608 }; 647 };
609 if (cpu) { 648 for (v = 0; v < N_EXCEPTION_STACKS; v++) {
610 estacks = (char *)__get_free_pages(GFP_ATOMIC, order[v]); 649 if (cpu) {
611 if (!estacks) 650 estacks = (char *)__get_free_pages(GFP_ATOMIC, order[v]);
612 panic("Cannot allocate exception stack %ld %d\n", 651 if (!estacks)
613 v, cpu); 652 panic("Cannot allocate exception "
653 "stack %ld %d\n", v, cpu);
654 }
655 estacks += PAGE_SIZE << order[v];
656 orig_ist->ist[v] = t->x86_tss.ist[v] =
657 (unsigned long)estacks;
614 } 658 }
615 estacks += PAGE_SIZE << order[v];
616 orig_ist->ist[v] = t->x86_tss.ist[v] = (unsigned long)estacks;
617 } 659 }
618 660
619 t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap); 661 t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap);
diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/kernel/cpu/cyrix.c
index e710a21bb6e8..898a5a2002ed 100644
--- a/arch/x86/kernel/cpu/cyrix.c
+++ b/arch/x86/kernel/cpu/cyrix.c
@@ -15,13 +15,11 @@
15/* 15/*
16 * Read NSC/Cyrix DEVID registers (DIR) to get more detailed info. about the CPU 16 * Read NSC/Cyrix DEVID registers (DIR) to get more detailed info. about the CPU
17 */ 17 */
18static void __cpuinit do_cyrix_devid(unsigned char *dir0, unsigned char *dir1) 18static void __cpuinit __do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
19{ 19{
20 unsigned char ccr2, ccr3; 20 unsigned char ccr2, ccr3;
21 unsigned long flags;
22 21
23 /* we test for DEVID by checking whether CCR3 is writable */ 22 /* we test for DEVID by checking whether CCR3 is writable */
24 local_irq_save(flags);
25 ccr3 = getCx86(CX86_CCR3); 23 ccr3 = getCx86(CX86_CCR3);
26 setCx86(CX86_CCR3, ccr3 ^ 0x80); 24 setCx86(CX86_CCR3, ccr3 ^ 0x80);
27 getCx86(0xc0); /* dummy to change bus */ 25 getCx86(0xc0); /* dummy to change bus */
@@ -44,9 +42,16 @@ static void __cpuinit do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
44 *dir0 = getCx86(CX86_DIR0); 42 *dir0 = getCx86(CX86_DIR0);
45 *dir1 = getCx86(CX86_DIR1); 43 *dir1 = getCx86(CX86_DIR1);
46 } 44 }
47 local_irq_restore(flags);
48} 45}
49 46
47static void __cpuinit do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
48{
49 unsigned long flags;
50
51 local_irq_save(flags);
52 __do_cyrix_devid(dir0, dir1);
53 local_irq_restore(flags);
54}
50/* 55/*
51 * Cx86_dir0_msb is a HACK needed by check_cx686_cpuid/slop in bugs.h in 56 * Cx86_dir0_msb is a HACK needed by check_cx686_cpuid/slop in bugs.h in
52 * order to identify the Cyrix CPU model after we're out of setup.c 57 * order to identify the Cyrix CPU model after we're out of setup.c
@@ -161,6 +166,24 @@ static void __cpuinit geode_configure(void)
161 local_irq_restore(flags); 166 local_irq_restore(flags);
162} 167}
163 168
169static void __cpuinit early_init_cyrix(struct cpuinfo_x86 *c)
170{
171 unsigned char dir0, dir0_msn, dir1 = 0;
172
173 __do_cyrix_devid(&dir0, &dir1);
174 dir0_msn = dir0 >> 4; /* identifies CPU "family" */
175
176 switch (dir0_msn) {
177 case 3: /* 6x86/6x86L */
178 /* Emulate MTRRs using Cyrix's ARRs. */
179 set_cpu_cap(c, X86_FEATURE_CYRIX_ARR);
180 break;
181 case 5: /* 6x86MX/M II */
182 /* Emulate MTRRs using Cyrix's ARRs. */
183 set_cpu_cap(c, X86_FEATURE_CYRIX_ARR);
184 break;
185 }
186}
164 187
165static void __cpuinit init_cyrix(struct cpuinfo_x86 *c) 188static void __cpuinit init_cyrix(struct cpuinfo_x86 *c)
166{ 189{
@@ -416,6 +439,7 @@ static void __cpuinit cyrix_identify(struct cpuinfo_x86 *c)
416static struct cpu_dev cyrix_cpu_dev __cpuinitdata = { 439static struct cpu_dev cyrix_cpu_dev __cpuinitdata = {
417 .c_vendor = "Cyrix", 440 .c_vendor = "Cyrix",
418 .c_ident = { "CyrixInstead" }, 441 .c_ident = { "CyrixInstead" },
442 .c_early_init = early_init_cyrix,
419 .c_init = init_cyrix, 443 .c_init = init_cyrix,
420 .c_identify = cyrix_identify, 444 .c_identify = cyrix_identify,
421}; 445};
diff --git a/arch/x86/kernel/cpu/feature_names.c b/arch/x86/kernel/cpu/feature_names.c
index e43ad4ad4cba..c9017799497c 100644
--- a/arch/x86/kernel/cpu/feature_names.c
+++ b/arch/x86/kernel/cpu/feature_names.c
@@ -39,7 +39,8 @@ const char * const x86_cap_flags[NCAPINTS*32] = {
39 NULL, NULL, NULL, NULL, 39 NULL, NULL, NULL, NULL,
40 "constant_tsc", "up", NULL, "arch_perfmon", 40 "constant_tsc", "up", NULL, "arch_perfmon",
41 "pebs", "bts", NULL, NULL, 41 "pebs", "bts", NULL, NULL,
42 "rep_good", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 42 "rep_good", NULL, NULL, NULL,
43 "nopl", NULL, NULL, NULL,
43 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 44 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
44 45
45 /* Intel-defined (#2) */ 46 /* Intel-defined (#2) */
diff --git a/arch/x86/kernel/cpuid.c b/arch/x86/kernel/cpuid.c
index 14b11b3be31c..8e9cd6a8ec12 100644
--- a/arch/x86/kernel/cpuid.c
+++ b/arch/x86/kernel/cpuid.c
@@ -89,6 +89,8 @@ static ssize_t cpuid_read(struct file *file, char __user *buf,
89 struct cpuid_regs cmd; 89 struct cpuid_regs cmd;
90 int cpu = iminor(file->f_path.dentry->d_inode); 90 int cpu = iminor(file->f_path.dentry->d_inode);
91 u64 pos = *ppos; 91 u64 pos = *ppos;
92 ssize_t bytes = 0;
93 int err = 0;
92 94
93 if (count % 16) 95 if (count % 16)
94 return -EINVAL; /* Invalid chunk size */ 96 return -EINVAL; /* Invalid chunk size */
@@ -96,14 +98,19 @@ static ssize_t cpuid_read(struct file *file, char __user *buf,
96 for (; count; count -= 16) { 98 for (; count; count -= 16) {
97 cmd.eax = pos; 99 cmd.eax = pos;
98 cmd.ecx = pos >> 32; 100 cmd.ecx = pos >> 32;
99 smp_call_function_single(cpu, cpuid_smp_cpuid, &cmd, 1); 101 err = smp_call_function_single(cpu, cpuid_smp_cpuid, &cmd, 1);
100 if (copy_to_user(tmp, &cmd, 16)) 102 if (err)
101 return -EFAULT; 103 break;
104 if (copy_to_user(tmp, &cmd, 16)) {
105 err = -EFAULT;
106 break;
107 }
102 tmp += 16; 108 tmp += 16;
109 bytes += 16;
103 *ppos = ++pos; 110 *ppos = ++pos;
104 } 111 }
105 112
106 return tmp - buf; 113 return bytes ? bytes : err;
107} 114}
108 115
109static int cpuid_open(struct inode *inode, struct file *file) 116static int cpuid_open(struct inode *inode, struct file *file)
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 9af89078f7bb..66e48aa2dd1b 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -1203,7 +1203,7 @@ static int __init parse_memmap_opt(char *p)
1203 if (!p) 1203 if (!p)
1204 return -EINVAL; 1204 return -EINVAL;
1205 1205
1206 if (!strcmp(p, "exactmap")) { 1206 if (!strncmp(p, "exactmap", 8)) {
1207#ifdef CONFIG_CRASH_DUMP 1207#ifdef CONFIG_CRASH_DUMP
1208 /* 1208 /*
1209 * If we are doing a crash dump, we still need to know 1209 * If we are doing a crash dump, we still need to know
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 59fd3b6b1303..73deaffadd03 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -210,8 +210,8 @@ static void hpet_legacy_clockevent_register(void)
210 /* Calculate the min / max delta */ 210 /* Calculate the min / max delta */
211 hpet_clockevent.max_delta_ns = clockevent_delta2ns(0x7FFFFFFF, 211 hpet_clockevent.max_delta_ns = clockevent_delta2ns(0x7FFFFFFF,
212 &hpet_clockevent); 212 &hpet_clockevent);
213 hpet_clockevent.min_delta_ns = clockevent_delta2ns(0x30, 213 /* 5 usec minimum reprogramming delta. */
214 &hpet_clockevent); 214 hpet_clockevent.min_delta_ns = 5000;
215 215
216 /* 216 /*
217 * Start hpet with the boot cpu mask and make it 217 * Start hpet with the boot cpu mask and make it
@@ -270,15 +270,22 @@ static void hpet_legacy_set_mode(enum clock_event_mode mode,
270} 270}
271 271
272static int hpet_legacy_next_event(unsigned long delta, 272static int hpet_legacy_next_event(unsigned long delta,
273 struct clock_event_device *evt) 273 struct clock_event_device *evt)
274{ 274{
275 unsigned long cnt; 275 u32 cnt;
276 276
277 cnt = hpet_readl(HPET_COUNTER); 277 cnt = hpet_readl(HPET_COUNTER);
278 cnt += delta; 278 cnt += (u32) delta;
279 hpet_writel(cnt, HPET_T0_CMP); 279 hpet_writel(cnt, HPET_T0_CMP);
280 280
281 return ((long)(hpet_readl(HPET_COUNTER) - cnt ) > 0) ? -ETIME : 0; 281 /*
282 * We need to read back the CMP register to make sure that
283 * what we wrote hit the chip before we compare it to the
284 * counter.
285 */
286 WARN_ON((u32)hpet_readl(HPET_T0_CMP) != cnt);
287
288 return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0;
282} 289}
283 290
284/* 291/*
diff --git a/arch/x86/kernel/io_delay.c b/arch/x86/kernel/io_delay.c
index 1c3a66a67f83..720d2607aacb 100644
--- a/arch/x86/kernel/io_delay.c
+++ b/arch/x86/kernel/io_delay.c
@@ -92,6 +92,14 @@ static struct dmi_system_id __initdata io_delay_0xed_port_dmi_table[] = {
92 DMI_MATCH(DMI_BOARD_NAME, "30BF") 92 DMI_MATCH(DMI_BOARD_NAME, "30BF")
93 } 93 }
94 }, 94 },
95 {
96 .callback = dmi_io_delay_0xed_port,
97 .ident = "Presario F700",
98 .matches = {
99 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
100 DMI_MATCH(DMI_BOARD_NAME, "30D3")
101 }
102 },
95 { } 103 { }
96}; 104};
97 105
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c
index e43938086885..2e2af5d18191 100644
--- a/arch/x86/kernel/msr.c
+++ b/arch/x86/kernel/msr.c
@@ -72,21 +72,28 @@ static ssize_t msr_read(struct file *file, char __user *buf,
72 u32 data[2]; 72 u32 data[2];
73 u32 reg = *ppos; 73 u32 reg = *ppos;
74 int cpu = iminor(file->f_path.dentry->d_inode); 74 int cpu = iminor(file->f_path.dentry->d_inode);
75 int err; 75 int err = 0;
76 ssize_t bytes = 0;
76 77
77 if (count % 8) 78 if (count % 8)
78 return -EINVAL; /* Invalid chunk size */ 79 return -EINVAL; /* Invalid chunk size */
79 80
80 for (; count; count -= 8) { 81 for (; count; count -= 8) {
81 err = rdmsr_safe_on_cpu(cpu, reg, &data[0], &data[1]); 82 err = rdmsr_safe_on_cpu(cpu, reg, &data[0], &data[1]);
82 if (err) 83 if (err) {
83 return -EIO; 84 if (err == -EFAULT) /* Fix idiotic error code */
84 if (copy_to_user(tmp, &data, 8)) 85 err = -EIO;
85 return -EFAULT; 86 break;
87 }
88 if (copy_to_user(tmp, &data, 8)) {
89 err = -EFAULT;
90 break;
91 }
86 tmp += 2; 92 tmp += 2;
93 bytes += 8;
87 } 94 }
88 95
89 return ((char __user *)tmp) - buf; 96 return bytes ? bytes : err;
90} 97}
91 98
92static ssize_t msr_write(struct file *file, const char __user *buf, 99static ssize_t msr_write(struct file *file, const char __user *buf,
@@ -96,21 +103,28 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
96 u32 data[2]; 103 u32 data[2];
97 u32 reg = *ppos; 104 u32 reg = *ppos;
98 int cpu = iminor(file->f_path.dentry->d_inode); 105 int cpu = iminor(file->f_path.dentry->d_inode);
99 int err; 106 int err = 0;
107 ssize_t bytes = 0;
100 108
101 if (count % 8) 109 if (count % 8)
102 return -EINVAL; /* Invalid chunk size */ 110 return -EINVAL; /* Invalid chunk size */
103 111
104 for (; count; count -= 8) { 112 for (; count; count -= 8) {
105 if (copy_from_user(&data, tmp, 8)) 113 if (copy_from_user(&data, tmp, 8)) {
106 return -EFAULT; 114 err = -EFAULT;
115 break;
116 }
107 err = wrmsr_safe_on_cpu(cpu, reg, data[0], data[1]); 117 err = wrmsr_safe_on_cpu(cpu, reg, data[0], data[1]);
108 if (err) 118 if (err) {
109 return -EIO; 119 if (err == -EFAULT) /* Fix idiotic error code */
120 err = -EIO;
121 break;
122 }
110 tmp += 2; 123 tmp += 2;
124 bytes += 8;
111 } 125 }
112 126
113 return ((char __user *)tmp) - buf; 127 return bytes ? bytes : err;
114} 128}
115 129
116static int msr_open(struct inode *inode, struct file *file) 130static int msr_open(struct inode *inode, struct file *file)
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 8e786b0d665a..8f98e9de1b82 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -122,80 +122,216 @@ static u64 tsc_read_refs(u64 *pm, u64 *hpet)
122 return ULLONG_MAX; 122 return ULLONG_MAX;
123} 123}
124 124
125/** 125/*
126 * native_calibrate_tsc - calibrate the tsc on boot 126 * Try to calibrate the TSC against the Programmable
127 * Interrupt Timer and return the frequency of the TSC
128 * in kHz.
129 *
130 * Return ULONG_MAX on failure to calibrate.
127 */ 131 */
128unsigned long native_calibrate_tsc(void) 132static unsigned long pit_calibrate_tsc(void)
129{ 133{
130 unsigned long flags; 134 u64 tsc, t1, t2, delta;
131 u64 tsc1, tsc2, tr1, tr2, delta, pm1, pm2, hpet1, hpet2; 135 unsigned long tscmin, tscmax;
132 int hpet = is_hpet_enabled(); 136 int pitcnt;
133 unsigned int tsc_khz_val = 0;
134
135 local_irq_save(flags);
136
137 tsc1 = tsc_read_refs(&pm1, hpet ? &hpet1 : NULL);
138 137
138 /* Set the Gate high, disable speaker */
139 outb((inb(0x61) & ~0x02) | 0x01, 0x61); 139 outb((inb(0x61) & ~0x02) | 0x01, 0x61);
140 140
141 /*
142 * Setup CTC channel 2* for mode 0, (interrupt on terminal
143 * count mode), binary count. Set the latch register to 50ms
144 * (LSB then MSB) to begin countdown.
145 */
141 outb(0xb0, 0x43); 146 outb(0xb0, 0x43);
142 outb((CLOCK_TICK_RATE / (1000 / 50)) & 0xff, 0x42); 147 outb((CLOCK_TICK_RATE / (1000 / 50)) & 0xff, 0x42);
143 outb((CLOCK_TICK_RATE / (1000 / 50)) >> 8, 0x42); 148 outb((CLOCK_TICK_RATE / (1000 / 50)) >> 8, 0x42);
144 tr1 = get_cycles();
145 while ((inb(0x61) & 0x20) == 0);
146 tr2 = get_cycles();
147 149
148 tsc2 = tsc_read_refs(&pm2, hpet ? &hpet2 : NULL); 150 tsc = t1 = t2 = get_cycles();
149 151
150 local_irq_restore(flags); 152 pitcnt = 0;
153 tscmax = 0;
154 tscmin = ULONG_MAX;
155 while ((inb(0x61) & 0x20) == 0) {
156 t2 = get_cycles();
157 delta = t2 - tsc;
158 tsc = t2;
159 if ((unsigned long) delta < tscmin)
160 tscmin = (unsigned int) delta;
161 if ((unsigned long) delta > tscmax)
162 tscmax = (unsigned int) delta;
163 pitcnt++;
164 }
151 165
152 /* 166 /*
153 * Preset the result with the raw and inaccurate PIT 167 * Sanity checks:
154 * calibration value 168 *
169 * If we were not able to read the PIT more than 5000
170 * times, then we have been hit by a massive SMI
171 *
172 * If the maximum is 10 times larger than the minimum,
173 * then we got hit by an SMI as well.
155 */ 174 */
156 delta = (tr2 - tr1); 175 if (pitcnt < 5000 || tscmax > 10 * tscmin)
176 return ULONG_MAX;
177
178 /* Calculate the PIT value */
179 delta = t2 - t1;
157 do_div(delta, 50); 180 do_div(delta, 50);
158 tsc_khz_val = delta; 181 return delta;
182}
183
184
185/**
186 * native_calibrate_tsc - calibrate the tsc on boot
187 */
188unsigned long native_calibrate_tsc(void)
189{
190 u64 tsc1, tsc2, delta, pm1, pm2, hpet1, hpet2;
191 unsigned long tsc_pit_min = ULONG_MAX, tsc_ref_min = ULONG_MAX;
192 unsigned long flags;
193 int hpet = is_hpet_enabled(), i;
159 194
160 /* hpet or pmtimer available ? */ 195 /*
196 * Run 5 calibration loops to get the lowest frequency value
197 * (the best estimate). We use two different calibration modes
198 * here:
199 *
200 * 1) PIT loop. We set the PIT Channel 2 to oneshot mode and
201 * load a timeout of 50ms. We read the time right after we
202 * started the timer and wait until the PIT count down reaches
203 * zero. In each wait loop iteration we read the TSC and check
204 * the delta to the previous read. We keep track of the min
205 * and max values of that delta. The delta is mostly defined
206 * by the IO time of the PIT access, so we can detect when a
207 * SMI/SMM disturbance happend between the two reads. If the
208 * maximum time is significantly larger than the minimum time,
209 * then we discard the result and have another try.
210 *
211 * 2) Reference counter. If available we use the HPET or the
212 * PMTIMER as a reference to check the sanity of that value.
213 * We use separate TSC readouts and check inside of the
214 * reference read for a SMI/SMM disturbance. We dicard
215 * disturbed values here as well. We do that around the PIT
216 * calibration delay loop as we have to wait for a certain
217 * amount of time anyway.
218 */
219 for (i = 0; i < 5; i++) {
220 unsigned long tsc_pit_khz;
221
222 /*
223 * Read the start value and the reference count of
224 * hpet/pmtimer when available. Then do the PIT
225 * calibration, which will take at least 50ms, and
226 * read the end value.
227 */
228 local_irq_save(flags);
229 tsc1 = tsc_read_refs(&pm1, hpet ? &hpet1 : NULL);
230 tsc_pit_khz = pit_calibrate_tsc();
231 tsc2 = tsc_read_refs(&pm2, hpet ? &hpet2 : NULL);
232 local_irq_restore(flags);
233
234 /* Pick the lowest PIT TSC calibration so far */
235 tsc_pit_min = min(tsc_pit_min, tsc_pit_khz);
236
237 /* hpet or pmtimer available ? */
238 if (!hpet && !pm1 && !pm2)
239 continue;
240
241 /* Check, whether the sampling was disturbed by an SMI */
242 if (tsc1 == ULLONG_MAX || tsc2 == ULLONG_MAX)
243 continue;
244
245 tsc2 = (tsc2 - tsc1) * 1000000LL;
246
247 if (hpet) {
248 if (hpet2 < hpet1)
249 hpet2 += 0x100000000ULL;
250 hpet2 -= hpet1;
251 tsc1 = ((u64)hpet2 * hpet_readl(HPET_PERIOD));
252 do_div(tsc1, 1000000);
253 } else {
254 if (pm2 < pm1)
255 pm2 += (u64)ACPI_PM_OVRRUN;
256 pm2 -= pm1;
257 tsc1 = pm2 * 1000000000LL;
258 do_div(tsc1, PMTMR_TICKS_PER_SEC);
259 }
260
261 do_div(tsc2, tsc1);
262 tsc_ref_min = min(tsc_ref_min, (unsigned long) tsc2);
263 }
264
265 /*
266 * Now check the results.
267 */
268 if (tsc_pit_min == ULONG_MAX) {
269 /* PIT gave no useful value */
270 printk(KERN_WARNING "TSC: Unable to calibrate against PIT\n");
271
272 /* We don't have an alternative source, disable TSC */
273 if (!hpet && !pm1 && !pm2) {
274 printk("TSC: No reference (HPET/PMTIMER) available\n");
275 return 0;
276 }
277
278 /* The alternative source failed as well, disable TSC */
279 if (tsc_ref_min == ULONG_MAX) {
280 printk(KERN_WARNING "TSC: HPET/PMTIMER calibration "
281 "failed due to SMI disturbance.\n");
282 return 0;
283 }
284
285 /* Use the alternative source */
286 printk(KERN_INFO "TSC: using %s reference calibration\n",
287 hpet ? "HPET" : "PMTIMER");
288
289 return tsc_ref_min;
290 }
291
292 /* We don't have an alternative source, use the PIT calibration value */
161 if (!hpet && !pm1 && !pm2) { 293 if (!hpet && !pm1 && !pm2) {
162 printk(KERN_INFO "TSC calibrated against PIT\n"); 294 printk(KERN_INFO "TSC: Using PIT calibration value\n");
163 goto out; 295 return tsc_pit_min;
164 } 296 }
165 297
166 /* Check, whether the sampling was disturbed by an SMI */ 298 /* The alternative source failed, use the PIT calibration value */
167 if (tsc1 == ULLONG_MAX || tsc2 == ULLONG_MAX) { 299 if (tsc_ref_min == ULONG_MAX) {
168 printk(KERN_WARNING "TSC calibration disturbed by SMI, " 300 printk(KERN_WARNING "TSC: HPET/PMTIMER calibration failed due "
169 "using PIT calibration result\n"); 301 "to SMI disturbance. Using PIT calibration\n");
170 goto out; 302 return tsc_pit_min;
171 } 303 }
172 304
173 tsc2 = (tsc2 - tsc1) * 1000000LL; 305 /* Check the reference deviation */
174 306 delta = ((u64) tsc_pit_min) * 100;
175 if (hpet) { 307 do_div(delta, tsc_ref_min);
176 printk(KERN_INFO "TSC calibrated against HPET\n"); 308
177 if (hpet2 < hpet1) 309 /*
178 hpet2 += 0x100000000ULL; 310 * If both calibration results are inside a 5% window, the we
179 hpet2 -= hpet1; 311 * use the lower frequency of those as it is probably the
180 tsc1 = ((u64)hpet2 * hpet_readl(HPET_PERIOD)); 312 * closest estimate.
181 do_div(tsc1, 1000000); 313 */
182 } else { 314 if (delta >= 95 && delta <= 105) {
183 printk(KERN_INFO "TSC calibrated against PM_TIMER\n"); 315 printk(KERN_INFO "TSC: PIT calibration confirmed by %s.\n",
184 if (pm2 < pm1) 316 hpet ? "HPET" : "PMTIMER");
185 pm2 += (u64)ACPI_PM_OVRRUN; 317 printk(KERN_INFO "TSC: using %s calibration value\n",
186 pm2 -= pm1; 318 tsc_pit_min <= tsc_ref_min ? "PIT" :
187 tsc1 = pm2 * 1000000000LL; 319 hpet ? "HPET" : "PMTIMER");
188 do_div(tsc1, PMTMR_TICKS_PER_SEC); 320 return tsc_pit_min <= tsc_ref_min ? tsc_pit_min : tsc_ref_min;
189 } 321 }
190 322
191 do_div(tsc2, tsc1); 323 printk(KERN_WARNING "TSC: PIT calibration deviates from %s: %lu %lu.\n",
192 tsc_khz_val = tsc2; 324 hpet ? "HPET" : "PMTIMER", tsc_pit_min, tsc_ref_min);
193 325
194out: 326 /*
195 return tsc_khz_val; 327 * The calibration values differ too much. In doubt, we use
328 * the PIT value as we know that there are PMTIMERs around
329 * running at double speed.
330 */
331 printk(KERN_INFO "TSC: Using PIT calibration value\n");
332 return tsc_pit_min;
196} 333}
197 334
198
199#ifdef CONFIG_X86_32 335#ifdef CONFIG_X86_32
200/* Only called from the Powernow K7 cpu freq driver */ 336/* Only called from the Powernow K7 cpu freq driver */
201int recalibrate_cpu_khz(void) 337int recalibrate_cpu_khz(void)
diff --git a/arch/x86/lib/msr-on-cpu.c b/arch/x86/lib/msr-on-cpu.c
index d5a2b39f882b..01b868ba82f8 100644
--- a/arch/x86/lib/msr-on-cpu.c
+++ b/arch/x86/lib/msr-on-cpu.c
@@ -30,10 +30,11 @@ static int _rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h, int safe)
30 30
31 rv.msr_no = msr_no; 31 rv.msr_no = msr_no;
32 if (safe) { 32 if (safe) {
33 smp_call_function_single(cpu, __rdmsr_safe_on_cpu, &rv, 1); 33 err = smp_call_function_single(cpu, __rdmsr_safe_on_cpu,
34 err = rv.err; 34 &rv, 1);
35 err = err ? err : rv.err;
35 } else { 36 } else {
36 smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 1); 37 err = smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 1);
37 } 38 }
38 *l = rv.l; 39 *l = rv.l;
39 *h = rv.h; 40 *h = rv.h;
@@ -64,23 +65,24 @@ static int _wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h, int safe)
64 rv.l = l; 65 rv.l = l;
65 rv.h = h; 66 rv.h = h;
66 if (safe) { 67 if (safe) {
67 smp_call_function_single(cpu, __wrmsr_safe_on_cpu, &rv, 1); 68 err = smp_call_function_single(cpu, __wrmsr_safe_on_cpu,
68 err = rv.err; 69 &rv, 1);
70 err = err ? err : rv.err;
69 } else { 71 } else {
70 smp_call_function_single(cpu, __wrmsr_on_cpu, &rv, 1); 72 err = smp_call_function_single(cpu, __wrmsr_on_cpu, &rv, 1);
71 } 73 }
72 74
73 return err; 75 return err;
74} 76}
75 77
76void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) 78int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
77{ 79{
78 _wrmsr_on_cpu(cpu, msr_no, l, h, 0); 80 return _wrmsr_on_cpu(cpu, msr_no, l, h, 0);
79} 81}
80 82
81void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) 83int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
82{ 84{
83 _rdmsr_on_cpu(cpu, msr_no, l, h, 0); 85 return _rdmsr_on_cpu(cpu, msr_no, l, h, 0);
84} 86}
85 87
86/* These "safe" variants are slower and should be used when the target MSR 88/* These "safe" variants are slower and should be used when the target MSR
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index d765da913842..8791fc55e715 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -31,11 +31,8 @@
31#include <linux/ioport.h> 31#include <linux/ioport.h>
32#include <linux/errno.h> 32#include <linux/errno.h>
33#include <linux/bootmem.h> 33#include <linux/bootmem.h>
34#include <linux/acpi.h>
35 34
36#include <asm/pat.h> 35#include <asm/pat.h>
37#include <asm/hpet.h>
38#include <asm/io_apic.h>
39 36
40#include "pci.h" 37#include "pci.h"
41 38
@@ -80,77 +77,6 @@ pcibios_align_resource(void *data, struct resource *res,
80} 77}
81EXPORT_SYMBOL(pcibios_align_resource); 78EXPORT_SYMBOL(pcibios_align_resource);
82 79
83static int check_res_with_valid(struct pci_dev *dev, struct resource *res)
84{
85 unsigned long base;
86 unsigned long size;
87 int i;
88
89 base = res->start;
90 size = (res->start == 0 && res->end == res->start) ? 0 :
91 (res->end - res->start + 1);
92
93 if (!base || !size)
94 return 0;
95
96#ifdef CONFIG_HPET_TIMER
97 /* for hpet */
98 if (base == hpet_address && (res->flags & IORESOURCE_MEM)) {
99 dev_info(&dev->dev, "BAR has HPET at %08lx-%08lx\n",
100 base, base + size - 1);
101 return 1;
102 }
103#endif
104
105#ifdef CONFIG_X86_IO_APIC
106 for (i = 0; i < nr_ioapics; i++) {
107 unsigned long ioapic_phys = mp_ioapics[i].mp_apicaddr;
108
109 if (base == ioapic_phys && (res->flags & IORESOURCE_MEM)) {
110 dev_info(&dev->dev, "BAR has ioapic at %08lx-%08lx\n",
111 base, base + size - 1);
112 return 1;
113 }
114 }
115#endif
116
117#ifdef CONFIG_PCI_MMCONFIG
118 for (i = 0; i < pci_mmcfg_config_num; i++) {
119 unsigned long addr;
120
121 addr = pci_mmcfg_config[i].address;
122 if (base == addr && (res->flags & IORESOURCE_MEM)) {
123 dev_info(&dev->dev, "BAR has MMCONFIG at %08lx-%08lx\n",
124 base, base + size - 1);
125 return 1;
126 }
127 }
128#endif
129
130 return 0;
131}
132
133static int check_platform(struct pci_dev *dev, struct resource *res)
134{
135 struct resource *root = NULL;
136
137 /*
138 * forcibly insert it into the
139 * resource tree
140 */
141 if (res->flags & IORESOURCE_MEM)
142 root = &iomem_resource;
143 else if (res->flags & IORESOURCE_IO)
144 root = &ioport_resource;
145
146 if (root && check_res_with_valid(dev, res)) {
147 insert_resource(root, res);
148
149 return 1;
150 }
151
152 return 0;
153}
154/* 80/*
155 * Handle resources of PCI devices. If the world were perfect, we could 81 * Handle resources of PCI devices. If the world were perfect, we could
156 * just allocate all the resource regions and do nothing more. It isn't. 82 * just allocate all the resource regions and do nothing more. It isn't.
@@ -202,10 +128,7 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
202 pr = pci_find_parent_resource(dev, r); 128 pr = pci_find_parent_resource(dev, r);
203 if (!r->start || !pr || 129 if (!r->start || !pr ||
204 request_resource(pr, r) < 0) { 130 request_resource(pr, r) < 0) {
205 if (check_platform(dev, r)) 131 dev_err(&dev->dev, "BAR %d: can't allocate resource\n", idx);
206 continue;
207 dev_err(&dev->dev, "BAR %d: can't "
208 "allocate resource\n", idx);
209 /* 132 /*
210 * Something is wrong with the region. 133 * Something is wrong with the region.
211 * Invalidate the resource to prevent 134 * Invalidate the resource to prevent
@@ -240,17 +163,13 @@ static void __init pcibios_allocate_resources(int pass)
240 else 163 else
241 disabled = !(command & PCI_COMMAND_MEMORY); 164 disabled = !(command & PCI_COMMAND_MEMORY);
242 if (pass == disabled) { 165 if (pass == disabled) {
243 dev_dbg(&dev->dev, "resource %#08llx-%#08llx " 166 dev_dbg(&dev->dev, "resource %#08llx-%#08llx (f=%lx, d=%d, p=%d)\n",
244 "(f=%lx, d=%d, p=%d)\n",
245 (unsigned long long) r->start, 167 (unsigned long long) r->start,
246 (unsigned long long) r->end, 168 (unsigned long long) r->end,
247 r->flags, disabled, pass); 169 r->flags, disabled, pass);
248 pr = pci_find_parent_resource(dev, r); 170 pr = pci_find_parent_resource(dev, r);
249 if (!pr || request_resource(pr, r) < 0) { 171 if (!pr || request_resource(pr, r) < 0) {
250 if (check_platform(dev, r)) 172 dev_err(&dev->dev, "BAR %d: can't allocate resource\n", idx);
251 continue;
252 dev_err(&dev->dev, "BAR %d: can't "
253 "allocate resource\n", idx);
254 /* We'll assign a new address later */ 173 /* We'll assign a new address later */
255 r->end -= r->start; 174 r->end -= r->start;
256 r->start = 0; 175 r->start = 0;
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 9ff6e3cbf08f..a4e201b47f64 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1324,7 +1324,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
1324 .ptep_modify_prot_commit = __ptep_modify_prot_commit, 1324 .ptep_modify_prot_commit = __ptep_modify_prot_commit,
1325 1325
1326 .pte_val = xen_pte_val, 1326 .pte_val = xen_pte_val,
1327 .pte_flags = native_pte_val, 1327 .pte_flags = native_pte_flags,
1328 .pgd_val = xen_pgd_val, 1328 .pgd_val = xen_pgd_val,
1329 1329
1330 .make_pte = xen_make_pte, 1330 .make_pte = xen_make_pte,
diff --git a/block/blk-core.c b/block/blk-core.c
index 4889eb86a39e..2cba5ef97b2b 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -582,6 +582,8 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
582 582
583 q->sg_reserved_size = INT_MAX; 583 q->sg_reserved_size = INT_MAX;
584 584
585 blk_set_cmd_filter_defaults(&q->cmd_filter);
586
585 /* 587 /*
586 * all done 588 * all done
587 */ 589 */
diff --git a/block/blk-tag.c b/block/blk-tag.c
index 32667beb03ee..ed5166fbc599 100644
--- a/block/blk-tag.c
+++ b/block/blk-tag.c
@@ -38,7 +38,8 @@ static int __blk_free_tags(struct blk_queue_tag *bqt)
38 38
39 retval = atomic_dec_and_test(&bqt->refcnt); 39 retval = atomic_dec_and_test(&bqt->refcnt);
40 if (retval) { 40 if (retval) {
41 BUG_ON(bqt->busy); 41 BUG_ON(find_first_bit(bqt->tag_map, bqt->max_depth) <
42 bqt->max_depth);
42 43
43 kfree(bqt->tag_index); 44 kfree(bqt->tag_index);
44 bqt->tag_index = NULL; 45 bqt->tag_index = NULL;
@@ -147,7 +148,6 @@ static struct blk_queue_tag *__blk_queue_init_tags(struct request_queue *q,
147 if (init_tag_map(q, tags, depth)) 148 if (init_tag_map(q, tags, depth))
148 goto fail; 149 goto fail;
149 150
150 tags->busy = 0;
151 atomic_set(&tags->refcnt, 1); 151 atomic_set(&tags->refcnt, 1);
152 return tags; 152 return tags;
153fail: 153fail:
@@ -313,7 +313,6 @@ void blk_queue_end_tag(struct request_queue *q, struct request *rq)
313 * unlock memory barrier semantics. 313 * unlock memory barrier semantics.
314 */ 314 */
315 clear_bit_unlock(tag, bqt->tag_map); 315 clear_bit_unlock(tag, bqt->tag_map);
316 bqt->busy--;
317} 316}
318EXPORT_SYMBOL(blk_queue_end_tag); 317EXPORT_SYMBOL(blk_queue_end_tag);
319 318
@@ -368,7 +367,6 @@ int blk_queue_start_tag(struct request_queue *q, struct request *rq)
368 bqt->tag_index[tag] = rq; 367 bqt->tag_index[tag] = rq;
369 blkdev_dequeue_request(rq); 368 blkdev_dequeue_request(rq);
370 list_add(&rq->queuelist, &q->tag_busy_list); 369 list_add(&rq->queuelist, &q->tag_busy_list);
371 bqt->busy++;
372 return 0; 370 return 0;
373} 371}
374EXPORT_SYMBOL(blk_queue_start_tag); 372EXPORT_SYMBOL(blk_queue_start_tag);
diff --git a/block/bsg.c b/block/bsg.c
index 5a68b09a69ba..0aae8d7ba99c 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -45,8 +45,6 @@ struct bsg_device {
45 char name[BUS_ID_SIZE]; 45 char name[BUS_ID_SIZE];
46 int max_queue; 46 int max_queue;
47 unsigned long flags; 47 unsigned long flags;
48 struct blk_scsi_cmd_filter *cmd_filter;
49 mode_t *f_mode;
50}; 48};
51 49
52enum { 50enum {
@@ -174,7 +172,8 @@ unlock:
174} 172}
175 173
176static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq, 174static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq,
177 struct sg_io_v4 *hdr, struct bsg_device *bd) 175 struct sg_io_v4 *hdr, struct bsg_device *bd,
176 int has_write_perm)
178{ 177{
179 if (hdr->request_len > BLK_MAX_CDB) { 178 if (hdr->request_len > BLK_MAX_CDB) {
180 rq->cmd = kzalloc(hdr->request_len, GFP_KERNEL); 179 rq->cmd = kzalloc(hdr->request_len, GFP_KERNEL);
@@ -187,8 +186,7 @@ static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq,
187 return -EFAULT; 186 return -EFAULT;
188 187
189 if (hdr->subprotocol == BSG_SUB_PROTOCOL_SCSI_CMD) { 188 if (hdr->subprotocol == BSG_SUB_PROTOCOL_SCSI_CMD) {
190 if (blk_cmd_filter_verify_command(bd->cmd_filter, rq->cmd, 189 if (blk_verify_command(&q->cmd_filter, rq->cmd, has_write_perm))
191 bd->f_mode))
192 return -EPERM; 190 return -EPERM;
193 } else if (!capable(CAP_SYS_RAWIO)) 191 } else if (!capable(CAP_SYS_RAWIO))
194 return -EPERM; 192 return -EPERM;
@@ -244,7 +242,7 @@ bsg_validate_sgv4_hdr(struct request_queue *q, struct sg_io_v4 *hdr, int *rw)
244 * map sg_io_v4 to a request. 242 * map sg_io_v4 to a request.
245 */ 243 */
246static struct request * 244static struct request *
247bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr) 245bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, int has_write_perm)
248{ 246{
249 struct request_queue *q = bd->queue; 247 struct request_queue *q = bd->queue;
250 struct request *rq, *next_rq = NULL; 248 struct request *rq, *next_rq = NULL;
@@ -266,7 +264,7 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr)
266 rq = blk_get_request(q, rw, GFP_KERNEL); 264 rq = blk_get_request(q, rw, GFP_KERNEL);
267 if (!rq) 265 if (!rq)
268 return ERR_PTR(-ENOMEM); 266 return ERR_PTR(-ENOMEM);
269 ret = blk_fill_sgv4_hdr_rq(q, rq, hdr, bd); 267 ret = blk_fill_sgv4_hdr_rq(q, rq, hdr, bd, has_write_perm);
270 if (ret) 268 if (ret)
271 goto out; 269 goto out;
272 270
@@ -568,25 +566,6 @@ static inline void bsg_set_block(struct bsg_device *bd, struct file *file)
568 set_bit(BSG_F_BLOCK, &bd->flags); 566 set_bit(BSG_F_BLOCK, &bd->flags);
569} 567}
570 568
571static void bsg_set_cmd_filter(struct bsg_device *bd,
572 struct file *file)
573{
574 struct inode *inode;
575 struct gendisk *disk;
576
577 if (!file)
578 return;
579
580 inode = file->f_dentry->d_inode;
581 if (!inode)
582 return;
583
584 disk = inode->i_bdev->bd_disk;
585
586 bd->cmd_filter = &disk->cmd_filter;
587 bd->f_mode = &file->f_mode;
588}
589
590/* 569/*
591 * Check if the error is a "real" error that we should return. 570 * Check if the error is a "real" error that we should return.
592 */ 571 */
@@ -608,7 +587,6 @@ bsg_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
608 dprintk("%s: read %Zd bytes\n", bd->name, count); 587 dprintk("%s: read %Zd bytes\n", bd->name, count);
609 588
610 bsg_set_block(bd, file); 589 bsg_set_block(bd, file);
611 bsg_set_cmd_filter(bd, file);
612 590
613 bytes_read = 0; 591 bytes_read = 0;
614 ret = __bsg_read(buf, count, bd, NULL, &bytes_read); 592 ret = __bsg_read(buf, count, bd, NULL, &bytes_read);
@@ -621,7 +599,7 @@ bsg_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
621} 599}
622 600
623static int __bsg_write(struct bsg_device *bd, const char __user *buf, 601static int __bsg_write(struct bsg_device *bd, const char __user *buf,
624 size_t count, ssize_t *bytes_written) 602 size_t count, ssize_t *bytes_written, int has_write_perm)
625{ 603{
626 struct bsg_command *bc; 604 struct bsg_command *bc;
627 struct request *rq; 605 struct request *rq;
@@ -652,7 +630,7 @@ static int __bsg_write(struct bsg_device *bd, const char __user *buf,
652 /* 630 /*
653 * get a request, fill in the blanks, and add to request queue 631 * get a request, fill in the blanks, and add to request queue
654 */ 632 */
655 rq = bsg_map_hdr(bd, &bc->hdr); 633 rq = bsg_map_hdr(bd, &bc->hdr, has_write_perm);
656 if (IS_ERR(rq)) { 634 if (IS_ERR(rq)) {
657 ret = PTR_ERR(rq); 635 ret = PTR_ERR(rq);
658 rq = NULL; 636 rq = NULL;
@@ -683,10 +661,11 @@ bsg_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
683 dprintk("%s: write %Zd bytes\n", bd->name, count); 661 dprintk("%s: write %Zd bytes\n", bd->name, count);
684 662
685 bsg_set_block(bd, file); 663 bsg_set_block(bd, file);
686 bsg_set_cmd_filter(bd, file);
687 664
688 bytes_written = 0; 665 bytes_written = 0;
689 ret = __bsg_write(bd, buf, count, &bytes_written); 666 ret = __bsg_write(bd, buf, count, &bytes_written,
667 file->f_mode & FMODE_WRITE);
668
690 *ppos = bytes_written; 669 *ppos = bytes_written;
691 670
692 /* 671 /*
@@ -792,7 +771,6 @@ static struct bsg_device *bsg_add_device(struct inode *inode,
792 bd->queue = rq; 771 bd->queue = rq;
793 772
794 bsg_set_block(bd, file); 773 bsg_set_block(bd, file);
795 bsg_set_cmd_filter(bd, file);
796 774
797 atomic_set(&bd->ref_count, 1); 775 atomic_set(&bd->ref_count, 1);
798 mutex_lock(&bsg_mutex); 776 mutex_lock(&bsg_mutex);
@@ -943,7 +921,7 @@ static long bsg_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
943 if (copy_from_user(&hdr, uarg, sizeof(hdr))) 921 if (copy_from_user(&hdr, uarg, sizeof(hdr)))
944 return -EFAULT; 922 return -EFAULT;
945 923
946 rq = bsg_map_hdr(bd, &hdr); 924 rq = bsg_map_hdr(bd, &hdr, file->f_mode & FMODE_WRITE);
947 if (IS_ERR(rq)) 925 if (IS_ERR(rq))
948 return PTR_ERR(rq); 926 return PTR_ERR(rq);
949 927
diff --git a/block/cmd-filter.c b/block/cmd-filter.c
index eec4404fd357..228b6447e89f 100644
--- a/block/cmd-filter.c
+++ b/block/cmd-filter.c
@@ -20,15 +20,14 @@
20#include <linux/list.h> 20#include <linux/list.h>
21#include <linux/genhd.h> 21#include <linux/genhd.h>
22#include <linux/spinlock.h> 22#include <linux/spinlock.h>
23#include <linux/parser.h>
24#include <linux/capability.h> 23#include <linux/capability.h>
25#include <linux/bitops.h> 24#include <linux/bitops.h>
26 25
27#include <scsi/scsi.h> 26#include <scsi/scsi.h>
28#include <linux/cdrom.h> 27#include <linux/cdrom.h>
29 28
30int blk_cmd_filter_verify_command(struct blk_scsi_cmd_filter *filter, 29int blk_verify_command(struct blk_cmd_filter *filter,
31 unsigned char *cmd, mode_t *f_mode) 30 unsigned char *cmd, int has_write_perm)
32{ 31{
33 /* root can do any command. */ 32 /* root can do any command. */
34 if (capable(CAP_SYS_RAWIO)) 33 if (capable(CAP_SYS_RAWIO))
@@ -43,34 +42,15 @@ int blk_cmd_filter_verify_command(struct blk_scsi_cmd_filter *filter,
43 return 0; 42 return 0;
44 43
45 /* Write-safe commands require a writable open */ 44 /* Write-safe commands require a writable open */
46 if (test_bit(cmd[0], filter->write_ok) && (*f_mode & FMODE_WRITE)) 45 if (test_bit(cmd[0], filter->write_ok) && has_write_perm)
47 return 0; 46 return 0;
48 47
49 return -EPERM; 48 return -EPERM;
50} 49}
51EXPORT_SYMBOL(blk_cmd_filter_verify_command);
52
53int blk_verify_command(struct file *file, unsigned char *cmd)
54{
55 struct gendisk *disk;
56 struct inode *inode;
57
58 if (!file)
59 return -EINVAL;
60
61 inode = file->f_dentry->d_inode;
62 if (!inode)
63 return -EINVAL;
64
65 disk = inode->i_bdev->bd_disk;
66
67 return blk_cmd_filter_verify_command(&disk->cmd_filter,
68 cmd, &file->f_mode);
69}
70EXPORT_SYMBOL(blk_verify_command); 50EXPORT_SYMBOL(blk_verify_command);
71 51
72/* and now, the sysfs stuff */ 52/* and now, the sysfs stuff */
73static ssize_t rcf_cmds_show(struct blk_scsi_cmd_filter *filter, char *page, 53static ssize_t rcf_cmds_show(struct blk_cmd_filter *filter, char *page,
74 int rw) 54 int rw)
75{ 55{
76 char *npage = page; 56 char *npage = page;
@@ -84,8 +64,7 @@ static ssize_t rcf_cmds_show(struct blk_scsi_cmd_filter *filter, char *page,
84 64
85 for (i = 0; i < BLK_SCSI_MAX_CMDS; i++) { 65 for (i = 0; i < BLK_SCSI_MAX_CMDS; i++) {
86 if (test_bit(i, okbits)) { 66 if (test_bit(i, okbits)) {
87 sprintf(npage, "%02x", i); 67 npage += sprintf(npage, "0x%02x", i);
88 npage += 2;
89 if (i < BLK_SCSI_MAX_CMDS - 1) 68 if (i < BLK_SCSI_MAX_CMDS - 1)
90 sprintf(npage++, " "); 69 sprintf(npage++, " ");
91 } 70 }
@@ -97,57 +76,65 @@ static ssize_t rcf_cmds_show(struct blk_scsi_cmd_filter *filter, char *page,
97 return npage - page; 76 return npage - page;
98} 77}
99 78
100static ssize_t rcf_readcmds_show(struct blk_scsi_cmd_filter *filter, char *page) 79static ssize_t rcf_readcmds_show(struct blk_cmd_filter *filter, char *page)
101{ 80{
102 return rcf_cmds_show(filter, page, READ); 81 return rcf_cmds_show(filter, page, READ);
103} 82}
104 83
105static ssize_t rcf_writecmds_show(struct blk_scsi_cmd_filter *filter, 84static ssize_t rcf_writecmds_show(struct blk_cmd_filter *filter,
106 char *page) 85 char *page)
107{ 86{
108 return rcf_cmds_show(filter, page, WRITE); 87 return rcf_cmds_show(filter, page, WRITE);
109} 88}
110 89
111static ssize_t rcf_cmds_store(struct blk_scsi_cmd_filter *filter, 90static ssize_t rcf_cmds_store(struct blk_cmd_filter *filter,
112 const char *page, size_t count, int rw) 91 const char *page, size_t count, int rw)
113{ 92{
114 ssize_t ret = 0;
115 unsigned long okbits[BLK_SCSI_CMD_PER_LONG], *target_okbits; 93 unsigned long okbits[BLK_SCSI_CMD_PER_LONG], *target_okbits;
116 int cmd, status, len; 94 int cmd, set;
117 substring_t ss; 95 char *p, *status;
118 96
119 memset(&okbits, 0, sizeof(okbits)); 97 if (rw == READ) {
120 98 memcpy(&okbits, filter->read_ok, sizeof(okbits));
121 for (len = strlen(page); len > 0; len -= 3) { 99 target_okbits = filter->read_ok;
122 if (len < 2) 100 } else {
123 break; 101 memcpy(&okbits, filter->write_ok, sizeof(okbits));
124 ss.from = (char *) page + ret; 102 target_okbits = filter->write_ok;
125 ss.to = (char *) page + ret + 2; 103 }
126 ret += 3; 104
127 status = match_hex(&ss, &cmd); 105 while ((p = strsep((char **)&page, " ")) != NULL) {
106 set = 1;
107
108 if (p[0] == '+') {
109 p++;
110 } else if (p[0] == '-') {
111 set = 0;
112 p++;
113 }
114
115 cmd = simple_strtol(p, &status, 16);
116
128 /* either of these cases means invalid input, so do nothing. */ 117 /* either of these cases means invalid input, so do nothing. */
129 if (status || cmd >= BLK_SCSI_MAX_CMDS) 118 if ((status == p) || cmd >= BLK_SCSI_MAX_CMDS)
130 return -EINVAL; 119 return -EINVAL;
131 120
132 __set_bit(cmd, okbits); 121 if (set)
122 __set_bit(cmd, okbits);
123 else
124 __clear_bit(cmd, okbits);
133 } 125 }
134 126
135 if (rw == READ) 127 memcpy(target_okbits, okbits, sizeof(okbits));
136 target_okbits = filter->read_ok;
137 else
138 target_okbits = filter->write_ok;
139
140 memmove(target_okbits, okbits, sizeof(okbits));
141 return count; 128 return count;
142} 129}
143 130
144static ssize_t rcf_readcmds_store(struct blk_scsi_cmd_filter *filter, 131static ssize_t rcf_readcmds_store(struct blk_cmd_filter *filter,
145 const char *page, size_t count) 132 const char *page, size_t count)
146{ 133{
147 return rcf_cmds_store(filter, page, count, READ); 134 return rcf_cmds_store(filter, page, count, READ);
148} 135}
149 136
150static ssize_t rcf_writecmds_store(struct blk_scsi_cmd_filter *filter, 137static ssize_t rcf_writecmds_store(struct blk_cmd_filter *filter,
151 const char *page, size_t count) 138 const char *page, size_t count)
152{ 139{
153 return rcf_cmds_store(filter, page, count, WRITE); 140 return rcf_cmds_store(filter, page, count, WRITE);
@@ -155,8 +142,8 @@ static ssize_t rcf_writecmds_store(struct blk_scsi_cmd_filter *filter,
155 142
156struct rcf_sysfs_entry { 143struct rcf_sysfs_entry {
157 struct attribute attr; 144 struct attribute attr;
158 ssize_t (*show)(struct blk_scsi_cmd_filter *, char *); 145 ssize_t (*show)(struct blk_cmd_filter *, char *);
159 ssize_t (*store)(struct blk_scsi_cmd_filter *, const char *, size_t); 146 ssize_t (*store)(struct blk_cmd_filter *, const char *, size_t);
160}; 147};
161 148
162static struct rcf_sysfs_entry rcf_readcmds_entry = { 149static struct rcf_sysfs_entry rcf_readcmds_entry = {
@@ -183,9 +170,9 @@ static ssize_t
183rcf_attr_show(struct kobject *kobj, struct attribute *attr, char *page) 170rcf_attr_show(struct kobject *kobj, struct attribute *attr, char *page)
184{ 171{
185 struct rcf_sysfs_entry *entry = to_rcf(attr); 172 struct rcf_sysfs_entry *entry = to_rcf(attr);
186 struct blk_scsi_cmd_filter *filter; 173 struct blk_cmd_filter *filter;
187 174
188 filter = container_of(kobj, struct blk_scsi_cmd_filter, kobj); 175 filter = container_of(kobj, struct blk_cmd_filter, kobj);
189 if (entry->show) 176 if (entry->show)
190 return entry->show(filter, page); 177 return entry->show(filter, page);
191 178
@@ -197,7 +184,7 @@ rcf_attr_store(struct kobject *kobj, struct attribute *attr,
197 const char *page, size_t length) 184 const char *page, size_t length)
198{ 185{
199 struct rcf_sysfs_entry *entry = to_rcf(attr); 186 struct rcf_sysfs_entry *entry = to_rcf(attr);
200 struct blk_scsi_cmd_filter *filter; 187 struct blk_cmd_filter *filter;
201 188
202 if (!capable(CAP_SYS_RAWIO)) 189 if (!capable(CAP_SYS_RAWIO))
203 return -EPERM; 190 return -EPERM;
@@ -205,7 +192,7 @@ rcf_attr_store(struct kobject *kobj, struct attribute *attr,
205 if (!entry->store) 192 if (!entry->store)
206 return -EINVAL; 193 return -EINVAL;
207 194
208 filter = container_of(kobj, struct blk_scsi_cmd_filter, kobj); 195 filter = container_of(kobj, struct blk_cmd_filter, kobj);
209 return entry->store(filter, page, length); 196 return entry->store(filter, page, length);
210} 197}
211 198
@@ -219,116 +206,30 @@ static struct kobj_type rcf_ktype = {
219 .default_attrs = default_attrs, 206 .default_attrs = default_attrs,
220}; 207};
221 208
222#ifndef MAINTENANCE_IN_CMD
223#define MAINTENANCE_IN_CMD 0xa3
224#endif
225
226static void rcf_set_defaults(struct blk_scsi_cmd_filter *filter)
227{
228 /* Basic read-only commands */
229 __set_bit(TEST_UNIT_READY, filter->read_ok);
230 __set_bit(REQUEST_SENSE, filter->read_ok);
231 __set_bit(READ_6, filter->read_ok);
232 __set_bit(READ_10, filter->read_ok);
233 __set_bit(READ_12, filter->read_ok);
234 __set_bit(READ_16, filter->read_ok);
235 __set_bit(READ_BUFFER, filter->read_ok);
236 __set_bit(READ_DEFECT_DATA, filter->read_ok);
237 __set_bit(READ_CAPACITY, filter->read_ok);
238 __set_bit(READ_LONG, filter->read_ok);
239 __set_bit(INQUIRY, filter->read_ok);
240 __set_bit(MODE_SENSE, filter->read_ok);
241 __set_bit(MODE_SENSE_10, filter->read_ok);
242 __set_bit(LOG_SENSE, filter->read_ok);
243 __set_bit(START_STOP, filter->read_ok);
244 __set_bit(GPCMD_VERIFY_10, filter->read_ok);
245 __set_bit(VERIFY_16, filter->read_ok);
246 __set_bit(REPORT_LUNS, filter->read_ok);
247 __set_bit(SERVICE_ACTION_IN, filter->read_ok);
248 __set_bit(RECEIVE_DIAGNOSTIC, filter->read_ok);
249 __set_bit(MAINTENANCE_IN_CMD, filter->read_ok);
250 __set_bit(GPCMD_READ_BUFFER_CAPACITY, filter->read_ok);
251
252 /* Audio CD commands */
253 __set_bit(GPCMD_PLAY_CD, filter->read_ok);
254 __set_bit(GPCMD_PLAY_AUDIO_10, filter->read_ok);
255 __set_bit(GPCMD_PLAY_AUDIO_MSF, filter->read_ok);
256 __set_bit(GPCMD_PLAY_AUDIO_TI, filter->read_ok);
257 __set_bit(GPCMD_PAUSE_RESUME, filter->read_ok);
258
259 /* CD/DVD data reading */
260 __set_bit(GPCMD_READ_CD, filter->read_ok);
261 __set_bit(GPCMD_READ_CD_MSF, filter->read_ok);
262 __set_bit(GPCMD_READ_DISC_INFO, filter->read_ok);
263 __set_bit(GPCMD_READ_CDVD_CAPACITY, filter->read_ok);
264 __set_bit(GPCMD_READ_DVD_STRUCTURE, filter->read_ok);
265 __set_bit(GPCMD_READ_HEADER, filter->read_ok);
266 __set_bit(GPCMD_READ_TRACK_RZONE_INFO, filter->read_ok);
267 __set_bit(GPCMD_READ_SUBCHANNEL, filter->read_ok);
268 __set_bit(GPCMD_READ_TOC_PMA_ATIP, filter->read_ok);
269 __set_bit(GPCMD_REPORT_KEY, filter->read_ok);
270 __set_bit(GPCMD_SCAN, filter->read_ok);
271 __set_bit(GPCMD_GET_CONFIGURATION, filter->read_ok);
272 __set_bit(GPCMD_READ_FORMAT_CAPACITIES, filter->read_ok);
273 __set_bit(GPCMD_GET_EVENT_STATUS_NOTIFICATION, filter->read_ok);
274 __set_bit(GPCMD_GET_PERFORMANCE, filter->read_ok);
275 __set_bit(GPCMD_SEEK, filter->read_ok);
276 __set_bit(GPCMD_STOP_PLAY_SCAN, filter->read_ok);
277
278 /* Basic writing commands */
279 __set_bit(WRITE_6, filter->write_ok);
280 __set_bit(WRITE_10, filter->write_ok);
281 __set_bit(WRITE_VERIFY, filter->write_ok);
282 __set_bit(WRITE_12, filter->write_ok);
283 __set_bit(WRITE_VERIFY_12, filter->write_ok);
284 __set_bit(WRITE_16, filter->write_ok);
285 __set_bit(WRITE_LONG, filter->write_ok);
286 __set_bit(WRITE_LONG_2, filter->write_ok);
287 __set_bit(ERASE, filter->write_ok);
288 __set_bit(GPCMD_MODE_SELECT_10, filter->write_ok);
289 __set_bit(MODE_SELECT, filter->write_ok);
290 __set_bit(LOG_SELECT, filter->write_ok);
291 __set_bit(GPCMD_BLANK, filter->write_ok);
292 __set_bit(GPCMD_CLOSE_TRACK, filter->write_ok);
293 __set_bit(GPCMD_FLUSH_CACHE, filter->write_ok);
294 __set_bit(GPCMD_FORMAT_UNIT, filter->write_ok);
295 __set_bit(GPCMD_REPAIR_RZONE_TRACK, filter->write_ok);
296 __set_bit(GPCMD_RESERVE_RZONE_TRACK, filter->write_ok);
297 __set_bit(GPCMD_SEND_DVD_STRUCTURE, filter->write_ok);
298 __set_bit(GPCMD_SEND_EVENT, filter->write_ok);
299 __set_bit(GPCMD_SEND_KEY, filter->write_ok);
300 __set_bit(GPCMD_SEND_OPC, filter->write_ok);
301 __set_bit(GPCMD_SEND_CUE_SHEET, filter->write_ok);
302 __set_bit(GPCMD_SET_SPEED, filter->write_ok);
303 __set_bit(GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL, filter->write_ok);
304 __set_bit(GPCMD_LOAD_UNLOAD, filter->write_ok);
305 __set_bit(GPCMD_SET_STREAMING, filter->write_ok);
306}
307
308int blk_register_filter(struct gendisk *disk) 209int blk_register_filter(struct gendisk *disk)
309{ 210{
310 int ret; 211 int ret;
311 struct blk_scsi_cmd_filter *filter = &disk->cmd_filter; 212 struct blk_cmd_filter *filter = &disk->queue->cmd_filter;
312 struct kobject *parent = kobject_get(disk->holder_dir->parent); 213 struct kobject *parent = kobject_get(disk->holder_dir->parent);
313 214
314 if (!parent) 215 if (!parent)
315 return -ENODEV; 216 return -ENODEV;
316 217
317 ret = kobject_init_and_add(&filter->kobj, &rcf_ktype, parent, 218 ret = kobject_init_and_add(&filter->kobj, &rcf_ktype, parent,
318 "%s", "cmd_filter"); 219 "%s", "cmd_filter");
319 220
320 if (ret < 0) 221 if (ret < 0)
321 return ret; 222 return ret;
322 223
323 rcf_set_defaults(filter);
324 return 0; 224 return 0;
325} 225}
226EXPORT_SYMBOL(blk_register_filter);
326 227
327void blk_unregister_filter(struct gendisk *disk) 228void blk_unregister_filter(struct gendisk *disk)
328{ 229{
329 struct blk_scsi_cmd_filter *filter = &disk->cmd_filter; 230 struct blk_cmd_filter *filter = &disk->queue->cmd_filter;
330 231
331 kobject_put(&filter->kobj); 232 kobject_put(&filter->kobj);
332 kobject_put(disk->holder_dir->parent); 233 kobject_put(disk->holder_dir->parent);
333} 234}
334 235EXPORT_SYMBOL(blk_unregister_filter);
diff --git a/block/genhd.c b/block/genhd.c
index 656c2c7abf99..e0ce23ac2ece 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -190,7 +190,6 @@ void add_disk(struct gendisk *disk)
190 disk->minors, NULL, exact_match, exact_lock, disk); 190 disk->minors, NULL, exact_match, exact_lock, disk);
191 register_disk(disk); 191 register_disk(disk);
192 blk_register_queue(disk); 192 blk_register_queue(disk);
193 blk_register_filter(disk);
194 193
195 bdi = &disk->queue->backing_dev_info; 194 bdi = &disk->queue->backing_dev_info;
196 bdi_register_dev(bdi, MKDEV(disk->major, disk->first_minor)); 195 bdi_register_dev(bdi, MKDEV(disk->major, disk->first_minor));
@@ -203,7 +202,6 @@ EXPORT_SYMBOL(del_gendisk); /* in partitions/check.c */
203 202
204void unlink_gendisk(struct gendisk *disk) 203void unlink_gendisk(struct gendisk *disk)
205{ 204{
206 blk_unregister_filter(disk);
207 sysfs_remove_link(&disk->dev.kobj, "bdi"); 205 sysfs_remove_link(&disk->dev.kobj, "bdi");
208 bdi_unregister(&disk->queue->backing_dev_info); 206 bdi_unregister(&disk->queue->backing_dev_info);
209 blk_unregister_queue(disk); 207 blk_unregister_queue(disk);
@@ -309,7 +307,7 @@ static void *part_start(struct seq_file *part, loff_t *pos)
309 loff_t k = *pos; 307 loff_t k = *pos;
310 308
311 if (!k) 309 if (!k)
312 seq_puts(part, "major minor #blocks name\n\n"); 310 part->private = (void *)1LU; /* tell show to print header */
313 311
314 mutex_lock(&block_class_lock); 312 mutex_lock(&block_class_lock);
315 dev = class_find_device(&block_class, NULL, &k, find_start); 313 dev = class_find_device(&block_class, NULL, &k, find_start);
@@ -351,6 +349,17 @@ static int show_partition(struct seq_file *part, void *v)
351 int n; 349 int n;
352 char buf[BDEVNAME_SIZE]; 350 char buf[BDEVNAME_SIZE];
353 351
352 /*
353 * Print header if start told us to do. This is to preserve
354 * the original behavior of not printing header if no
355 * partition exists. This hackery will be removed later with
356 * class iteration clean up.
357 */
358 if (part->private) {
359 seq_puts(part, "major minor #blocks name\n\n");
360 part->private = NULL;
361 }
362
354 /* Don't show non-partitionable removeable devices or empty devices */ 363 /* Don't show non-partitionable removeable devices or empty devices */
355 if (!get_capacity(sgp) || 364 if (!get_capacity(sgp) ||
356 (sgp->minors == 1 && (sgp->flags & GENHD_FL_REMOVABLE))) 365 (sgp->minors == 1 && (sgp->flags & GENHD_FL_REMOVABLE)))
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index 12a5182173f6..ec4b7f234626 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -105,12 +105,96 @@ static int sg_emulated_host(struct request_queue *q, int __user *p)
105 return put_user(1, p); 105 return put_user(1, p);
106} 106}
107 107
108void blk_set_cmd_filter_defaults(struct blk_cmd_filter *filter)
109{
110 /* Basic read-only commands */
111 __set_bit(TEST_UNIT_READY, filter->read_ok);
112 __set_bit(REQUEST_SENSE, filter->read_ok);
113 __set_bit(READ_6, filter->read_ok);
114 __set_bit(READ_10, filter->read_ok);
115 __set_bit(READ_12, filter->read_ok);
116 __set_bit(READ_16, filter->read_ok);
117 __set_bit(READ_BUFFER, filter->read_ok);
118 __set_bit(READ_DEFECT_DATA, filter->read_ok);
119 __set_bit(READ_CAPACITY, filter->read_ok);
120 __set_bit(READ_LONG, filter->read_ok);
121 __set_bit(INQUIRY, filter->read_ok);
122 __set_bit(MODE_SENSE, filter->read_ok);
123 __set_bit(MODE_SENSE_10, filter->read_ok);
124 __set_bit(LOG_SENSE, filter->read_ok);
125 __set_bit(START_STOP, filter->read_ok);
126 __set_bit(GPCMD_VERIFY_10, filter->read_ok);
127 __set_bit(VERIFY_16, filter->read_ok);
128 __set_bit(REPORT_LUNS, filter->read_ok);
129 __set_bit(SERVICE_ACTION_IN, filter->read_ok);
130 __set_bit(RECEIVE_DIAGNOSTIC, filter->read_ok);
131 __set_bit(MAINTENANCE_IN, filter->read_ok);
132 __set_bit(GPCMD_READ_BUFFER_CAPACITY, filter->read_ok);
133
134 /* Audio CD commands */
135 __set_bit(GPCMD_PLAY_CD, filter->read_ok);
136 __set_bit(GPCMD_PLAY_AUDIO_10, filter->read_ok);
137 __set_bit(GPCMD_PLAY_AUDIO_MSF, filter->read_ok);
138 __set_bit(GPCMD_PLAY_AUDIO_TI, filter->read_ok);
139 __set_bit(GPCMD_PAUSE_RESUME, filter->read_ok);
140
141 /* CD/DVD data reading */
142 __set_bit(GPCMD_READ_CD, filter->read_ok);
143 __set_bit(GPCMD_READ_CD_MSF, filter->read_ok);
144 __set_bit(GPCMD_READ_DISC_INFO, filter->read_ok);
145 __set_bit(GPCMD_READ_CDVD_CAPACITY, filter->read_ok);
146 __set_bit(GPCMD_READ_DVD_STRUCTURE, filter->read_ok);
147 __set_bit(GPCMD_READ_HEADER, filter->read_ok);
148 __set_bit(GPCMD_READ_TRACK_RZONE_INFO, filter->read_ok);
149 __set_bit(GPCMD_READ_SUBCHANNEL, filter->read_ok);
150 __set_bit(GPCMD_READ_TOC_PMA_ATIP, filter->read_ok);
151 __set_bit(GPCMD_REPORT_KEY, filter->read_ok);
152 __set_bit(GPCMD_SCAN, filter->read_ok);
153 __set_bit(GPCMD_GET_CONFIGURATION, filter->read_ok);
154 __set_bit(GPCMD_READ_FORMAT_CAPACITIES, filter->read_ok);
155 __set_bit(GPCMD_GET_EVENT_STATUS_NOTIFICATION, filter->read_ok);
156 __set_bit(GPCMD_GET_PERFORMANCE, filter->read_ok);
157 __set_bit(GPCMD_SEEK, filter->read_ok);
158 __set_bit(GPCMD_STOP_PLAY_SCAN, filter->read_ok);
159
160 /* Basic writing commands */
161 __set_bit(WRITE_6, filter->write_ok);
162 __set_bit(WRITE_10, filter->write_ok);
163 __set_bit(WRITE_VERIFY, filter->write_ok);
164 __set_bit(WRITE_12, filter->write_ok);
165 __set_bit(WRITE_VERIFY_12, filter->write_ok);
166 __set_bit(WRITE_16, filter->write_ok);
167 __set_bit(WRITE_LONG, filter->write_ok);
168 __set_bit(WRITE_LONG_2, filter->write_ok);
169 __set_bit(ERASE, filter->write_ok);
170 __set_bit(GPCMD_MODE_SELECT_10, filter->write_ok);
171 __set_bit(MODE_SELECT, filter->write_ok);
172 __set_bit(LOG_SELECT, filter->write_ok);
173 __set_bit(GPCMD_BLANK, filter->write_ok);
174 __set_bit(GPCMD_CLOSE_TRACK, filter->write_ok);
175 __set_bit(GPCMD_FLUSH_CACHE, filter->write_ok);
176 __set_bit(GPCMD_FORMAT_UNIT, filter->write_ok);
177 __set_bit(GPCMD_REPAIR_RZONE_TRACK, filter->write_ok);
178 __set_bit(GPCMD_RESERVE_RZONE_TRACK, filter->write_ok);
179 __set_bit(GPCMD_SEND_DVD_STRUCTURE, filter->write_ok);
180 __set_bit(GPCMD_SEND_EVENT, filter->write_ok);
181 __set_bit(GPCMD_SEND_KEY, filter->write_ok);
182 __set_bit(GPCMD_SEND_OPC, filter->write_ok);
183 __set_bit(GPCMD_SEND_CUE_SHEET, filter->write_ok);
184 __set_bit(GPCMD_SET_SPEED, filter->write_ok);
185 __set_bit(GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL, filter->write_ok);
186 __set_bit(GPCMD_LOAD_UNLOAD, filter->write_ok);
187 __set_bit(GPCMD_SET_STREAMING, filter->write_ok);
188}
189EXPORT_SYMBOL_GPL(blk_set_cmd_filter_defaults);
190
108static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq, 191static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
109 struct sg_io_hdr *hdr, struct file *file) 192 struct sg_io_hdr *hdr, struct file *file)
110{ 193{
111 if (copy_from_user(rq->cmd, hdr->cmdp, hdr->cmd_len)) 194 if (copy_from_user(rq->cmd, hdr->cmdp, hdr->cmd_len))
112 return -EFAULT; 195 return -EFAULT;
113 if (blk_verify_command(file, rq->cmd)) 196 if (blk_verify_command(&q->cmd_filter, rq->cmd,
197 file->f_mode & FMODE_WRITE))
114 return -EPERM; 198 return -EPERM;
115 199
116 /* 200 /*
@@ -298,7 +382,7 @@ int sg_scsi_ioctl(struct file *file, struct request_queue *q,
298 struct gendisk *disk, struct scsi_ioctl_command __user *sic) 382 struct gendisk *disk, struct scsi_ioctl_command __user *sic)
299{ 383{
300 struct request *rq; 384 struct request *rq;
301 int err; 385 int err, write_perm = 0;
302 unsigned int in_len, out_len, bytes, opcode, cmdlen; 386 unsigned int in_len, out_len, bytes, opcode, cmdlen;
303 char *buffer = NULL, sense[SCSI_SENSE_BUFFERSIZE]; 387 char *buffer = NULL, sense[SCSI_SENSE_BUFFERSIZE];
304 388
@@ -340,7 +424,11 @@ int sg_scsi_ioctl(struct file *file, struct request_queue *q,
340 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len)) 424 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
341 goto error; 425 goto error;
342 426
343 err = blk_verify_command(file, rq->cmd); 427 /* scsi_ioctl passes NULL */
428 if (file && (file->f_mode & FMODE_WRITE))
429 write_perm = 1;
430
431 err = blk_verify_command(&q->cmd_filter, rq->cmd, write_perm);
344 if (err) 432 if (err)
345 goto error; 433 goto error;
346 434
diff --git a/crypto/async_tx/async_tx.c b/crypto/async_tx/async_tx.c
index 85eaf7b1c531..e8362c1efa30 100644
--- a/crypto/async_tx/async_tx.c
+++ b/crypto/async_tx/async_tx.c
@@ -137,7 +137,8 @@ async_tx_run_dependencies(struct dma_async_tx_descriptor *tx)
137 spin_lock_bh(&next->lock); 137 spin_lock_bh(&next->lock);
138 next->parent = NULL; 138 next->parent = NULL;
139 _next = next->next; 139 _next = next->next;
140 next->next = NULL; 140 if (_next && _next->chan == chan)
141 next->next = NULL;
141 spin_unlock_bh(&next->lock); 142 spin_unlock_bh(&next->lock);
142 143
143 next->tx_submit(next); 144 next->tx_submit(next);
diff --git a/crypto/camellia.c b/crypto/camellia.c
index b1cc4de6493c..493fee7e0a8b 100644
--- a/crypto/camellia.c
+++ b/crypto/camellia.c
@@ -35,8 +35,6 @@
35#include <linux/init.h> 35#include <linux/init.h>
36#include <linux/kernel.h> 36#include <linux/kernel.h>
37#include <linux/module.h> 37#include <linux/module.h>
38#include <linux/bitops.h>
39#include <asm/unaligned.h>
40 38
41static const u32 camellia_sp1110[256] = { 39static const u32 camellia_sp1110[256] = {
42 0x70707000,0x82828200,0x2c2c2c00,0xececec00, 40 0x70707000,0x82828200,0x2c2c2c00,0xececec00,
@@ -337,6 +335,20 @@ static const u32 camellia_sp4404[256] = {
337/* 335/*
338 * macros 336 * macros
339 */ 337 */
338#define GETU32(v, pt) \
339 do { \
340 /* latest breed of gcc is clever enough to use move */ \
341 memcpy(&(v), (pt), 4); \
342 (v) = be32_to_cpu(v); \
343 } while(0)
344
345/* rotation right shift 1byte */
346#define ROR8(x) (((x) >> 8) + ((x) << 24))
347/* rotation left shift 1bit */
348#define ROL1(x) (((x) << 1) + ((x) >> 31))
349/* rotation left shift 1byte */
350#define ROL8(x) (((x) << 8) + ((x) >> 24))
351
340#define ROLDQ(ll, lr, rl, rr, w0, w1, bits) \ 352#define ROLDQ(ll, lr, rl, rr, w0, w1, bits) \
341 do { \ 353 do { \
342 w0 = ll; \ 354 w0 = ll; \
@@ -371,7 +383,7 @@ static const u32 camellia_sp4404[256] = {
371 ^ camellia_sp3033[(u8)(il >> 8)] \ 383 ^ camellia_sp3033[(u8)(il >> 8)] \
372 ^ camellia_sp4404[(u8)(il )]; \ 384 ^ camellia_sp4404[(u8)(il )]; \
373 yl ^= yr; \ 385 yl ^= yr; \
374 yr = ror32(yr, 8); \ 386 yr = ROR8(yr); \
375 yr ^= yl; \ 387 yr ^= yl; \
376 } while(0) 388 } while(0)
377 389
@@ -393,7 +405,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
393 subL[7] ^= subL[1]; subR[7] ^= subR[1]; 405 subL[7] ^= subL[1]; subR[7] ^= subR[1];
394 subL[1] ^= subR[1] & ~subR[9]; 406 subL[1] ^= subR[1] & ~subR[9];
395 dw = subL[1] & subL[9], 407 dw = subL[1] & subL[9],
396 subR[1] ^= rol32(dw, 1); /* modified for FLinv(kl2) */ 408 subR[1] ^= ROL1(dw); /* modified for FLinv(kl2) */
397 /* round 8 */ 409 /* round 8 */
398 subL[11] ^= subL[1]; subR[11] ^= subR[1]; 410 subL[11] ^= subL[1]; subR[11] ^= subR[1];
399 /* round 10 */ 411 /* round 10 */
@@ -402,7 +414,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
402 subL[15] ^= subL[1]; subR[15] ^= subR[1]; 414 subL[15] ^= subL[1]; subR[15] ^= subR[1];
403 subL[1] ^= subR[1] & ~subR[17]; 415 subL[1] ^= subR[1] & ~subR[17];
404 dw = subL[1] & subL[17], 416 dw = subL[1] & subL[17],
405 subR[1] ^= rol32(dw, 1); /* modified for FLinv(kl4) */ 417 subR[1] ^= ROL1(dw); /* modified for FLinv(kl4) */
406 /* round 14 */ 418 /* round 14 */
407 subL[19] ^= subL[1]; subR[19] ^= subR[1]; 419 subL[19] ^= subL[1]; subR[19] ^= subR[1];
408 /* round 16 */ 420 /* round 16 */
@@ -418,7 +430,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
418 } else { 430 } else {
419 subL[1] ^= subR[1] & ~subR[25]; 431 subL[1] ^= subR[1] & ~subR[25];
420 dw = subL[1] & subL[25], 432 dw = subL[1] & subL[25],
421 subR[1] ^= rol32(dw, 1); /* modified for FLinv(kl6) */ 433 subR[1] ^= ROL1(dw); /* modified for FLinv(kl6) */
422 /* round 20 */ 434 /* round 20 */
423 subL[27] ^= subL[1]; subR[27] ^= subR[1]; 435 subL[27] ^= subL[1]; subR[27] ^= subR[1];
424 /* round 22 */ 436 /* round 22 */
@@ -438,7 +450,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
438 subL[26] ^= kw4l; subR[26] ^= kw4r; 450 subL[26] ^= kw4l; subR[26] ^= kw4r;
439 kw4l ^= kw4r & ~subR[24]; 451 kw4l ^= kw4r & ~subR[24];
440 dw = kw4l & subL[24], 452 dw = kw4l & subL[24],
441 kw4r ^= rol32(dw, 1); /* modified for FL(kl5) */ 453 kw4r ^= ROL1(dw); /* modified for FL(kl5) */
442 } 454 }
443 /* round 17 */ 455 /* round 17 */
444 subL[22] ^= kw4l; subR[22] ^= kw4r; 456 subL[22] ^= kw4l; subR[22] ^= kw4r;
@@ -448,7 +460,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
448 subL[18] ^= kw4l; subR[18] ^= kw4r; 460 subL[18] ^= kw4l; subR[18] ^= kw4r;
449 kw4l ^= kw4r & ~subR[16]; 461 kw4l ^= kw4r & ~subR[16];
450 dw = kw4l & subL[16], 462 dw = kw4l & subL[16],
451 kw4r ^= rol32(dw, 1); /* modified for FL(kl3) */ 463 kw4r ^= ROL1(dw); /* modified for FL(kl3) */
452 /* round 11 */ 464 /* round 11 */
453 subL[14] ^= kw4l; subR[14] ^= kw4r; 465 subL[14] ^= kw4l; subR[14] ^= kw4r;
454 /* round 9 */ 466 /* round 9 */
@@ -457,7 +469,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
457 subL[10] ^= kw4l; subR[10] ^= kw4r; 469 subL[10] ^= kw4l; subR[10] ^= kw4r;
458 kw4l ^= kw4r & ~subR[8]; 470 kw4l ^= kw4r & ~subR[8];
459 dw = kw4l & subL[8], 471 dw = kw4l & subL[8],
460 kw4r ^= rol32(dw, 1); /* modified for FL(kl1) */ 472 kw4r ^= ROL1(dw); /* modified for FL(kl1) */
461 /* round 5 */ 473 /* round 5 */
462 subL[6] ^= kw4l; subR[6] ^= kw4r; 474 subL[6] ^= kw4l; subR[6] ^= kw4r;
463 /* round 3 */ 475 /* round 3 */
@@ -482,7 +494,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
482 SUBKEY_R(6) = subR[5] ^ subR[7]; 494 SUBKEY_R(6) = subR[5] ^ subR[7];
483 tl = subL[10] ^ (subR[10] & ~subR[8]); 495 tl = subL[10] ^ (subR[10] & ~subR[8]);
484 dw = tl & subL[8], /* FL(kl1) */ 496 dw = tl & subL[8], /* FL(kl1) */
485 tr = subR[10] ^ rol32(dw, 1); 497 tr = subR[10] ^ ROL1(dw);
486 SUBKEY_L(7) = subL[6] ^ tl; /* round 6 */ 498 SUBKEY_L(7) = subL[6] ^ tl; /* round 6 */
487 SUBKEY_R(7) = subR[6] ^ tr; 499 SUBKEY_R(7) = subR[6] ^ tr;
488 SUBKEY_L(8) = subL[8]; /* FL(kl1) */ 500 SUBKEY_L(8) = subL[8]; /* FL(kl1) */
@@ -491,7 +503,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
491 SUBKEY_R(9) = subR[9]; 503 SUBKEY_R(9) = subR[9];
492 tl = subL[7] ^ (subR[7] & ~subR[9]); 504 tl = subL[7] ^ (subR[7] & ~subR[9]);
493 dw = tl & subL[9], /* FLinv(kl2) */ 505 dw = tl & subL[9], /* FLinv(kl2) */
494 tr = subR[7] ^ rol32(dw, 1); 506 tr = subR[7] ^ ROL1(dw);
495 SUBKEY_L(10) = tl ^ subL[11]; /* round 7 */ 507 SUBKEY_L(10) = tl ^ subL[11]; /* round 7 */
496 SUBKEY_R(10) = tr ^ subR[11]; 508 SUBKEY_R(10) = tr ^ subR[11];
497 SUBKEY_L(11) = subL[10] ^ subL[12]; /* round 8 */ 509 SUBKEY_L(11) = subL[10] ^ subL[12]; /* round 8 */
@@ -504,7 +516,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
504 SUBKEY_R(14) = subR[13] ^ subR[15]; 516 SUBKEY_R(14) = subR[13] ^ subR[15];
505 tl = subL[18] ^ (subR[18] & ~subR[16]); 517 tl = subL[18] ^ (subR[18] & ~subR[16]);
506 dw = tl & subL[16], /* FL(kl3) */ 518 dw = tl & subL[16], /* FL(kl3) */
507 tr = subR[18] ^ rol32(dw, 1); 519 tr = subR[18] ^ ROL1(dw);
508 SUBKEY_L(15) = subL[14] ^ tl; /* round 12 */ 520 SUBKEY_L(15) = subL[14] ^ tl; /* round 12 */
509 SUBKEY_R(15) = subR[14] ^ tr; 521 SUBKEY_R(15) = subR[14] ^ tr;
510 SUBKEY_L(16) = subL[16]; /* FL(kl3) */ 522 SUBKEY_L(16) = subL[16]; /* FL(kl3) */
@@ -513,7 +525,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
513 SUBKEY_R(17) = subR[17]; 525 SUBKEY_R(17) = subR[17];
514 tl = subL[15] ^ (subR[15] & ~subR[17]); 526 tl = subL[15] ^ (subR[15] & ~subR[17]);
515 dw = tl & subL[17], /* FLinv(kl4) */ 527 dw = tl & subL[17], /* FLinv(kl4) */
516 tr = subR[15] ^ rol32(dw, 1); 528 tr = subR[15] ^ ROL1(dw);
517 SUBKEY_L(18) = tl ^ subL[19]; /* round 13 */ 529 SUBKEY_L(18) = tl ^ subL[19]; /* round 13 */
518 SUBKEY_R(18) = tr ^ subR[19]; 530 SUBKEY_R(18) = tr ^ subR[19];
519 SUBKEY_L(19) = subL[18] ^ subL[20]; /* round 14 */ 531 SUBKEY_L(19) = subL[18] ^ subL[20]; /* round 14 */
@@ -532,7 +544,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
532 } else { 544 } else {
533 tl = subL[26] ^ (subR[26] & ~subR[24]); 545 tl = subL[26] ^ (subR[26] & ~subR[24]);
534 dw = tl & subL[24], /* FL(kl5) */ 546 dw = tl & subL[24], /* FL(kl5) */
535 tr = subR[26] ^ rol32(dw, 1); 547 tr = subR[26] ^ ROL1(dw);
536 SUBKEY_L(23) = subL[22] ^ tl; /* round 18 */ 548 SUBKEY_L(23) = subL[22] ^ tl; /* round 18 */
537 SUBKEY_R(23) = subR[22] ^ tr; 549 SUBKEY_R(23) = subR[22] ^ tr;
538 SUBKEY_L(24) = subL[24]; /* FL(kl5) */ 550 SUBKEY_L(24) = subL[24]; /* FL(kl5) */
@@ -541,7 +553,7 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
541 SUBKEY_R(25) = subR[25]; 553 SUBKEY_R(25) = subR[25];
542 tl = subL[23] ^ (subR[23] & ~subR[25]); 554 tl = subL[23] ^ (subR[23] & ~subR[25]);
543 dw = tl & subL[25], /* FLinv(kl6) */ 555 dw = tl & subL[25], /* FLinv(kl6) */
544 tr = subR[23] ^ rol32(dw, 1); 556 tr = subR[23] ^ ROL1(dw);
545 SUBKEY_L(26) = tl ^ subL[27]; /* round 19 */ 557 SUBKEY_L(26) = tl ^ subL[27]; /* round 19 */
546 SUBKEY_R(26) = tr ^ subR[27]; 558 SUBKEY_R(26) = tr ^ subR[27];
547 SUBKEY_L(27) = subL[26] ^ subL[28]; /* round 20 */ 559 SUBKEY_L(27) = subL[26] ^ subL[28]; /* round 20 */
@@ -561,17 +573,17 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max)
561 /* apply the inverse of the last half of P-function */ 573 /* apply the inverse of the last half of P-function */
562 i = 2; 574 i = 2;
563 do { 575 do {
564 dw = SUBKEY_L(i + 0) ^ SUBKEY_R(i + 0); dw = rol32(dw, 8);/* round 1 */ 576 dw = SUBKEY_L(i + 0) ^ SUBKEY_R(i + 0); dw = ROL8(dw);/* round 1 */
565 SUBKEY_R(i + 0) = SUBKEY_L(i + 0) ^ dw; SUBKEY_L(i + 0) = dw; 577 SUBKEY_R(i + 0) = SUBKEY_L(i + 0) ^ dw; SUBKEY_L(i + 0) = dw;
566 dw = SUBKEY_L(i + 1) ^ SUBKEY_R(i + 1); dw = rol32(dw, 8);/* round 2 */ 578 dw = SUBKEY_L(i + 1) ^ SUBKEY_R(i + 1); dw = ROL8(dw);/* round 2 */
567 SUBKEY_R(i + 1) = SUBKEY_L(i + 1) ^ dw; SUBKEY_L(i + 1) = dw; 579 SUBKEY_R(i + 1) = SUBKEY_L(i + 1) ^ dw; SUBKEY_L(i + 1) = dw;
568 dw = SUBKEY_L(i + 2) ^ SUBKEY_R(i + 2); dw = rol32(dw, 8);/* round 3 */ 580 dw = SUBKEY_L(i + 2) ^ SUBKEY_R(i + 2); dw = ROL8(dw);/* round 3 */
569 SUBKEY_R(i + 2) = SUBKEY_L(i + 2) ^ dw; SUBKEY_L(i + 2) = dw; 581 SUBKEY_R(i + 2) = SUBKEY_L(i + 2) ^ dw; SUBKEY_L(i + 2) = dw;
570 dw = SUBKEY_L(i + 3) ^ SUBKEY_R(i + 3); dw = rol32(dw, 8);/* round 4 */ 582 dw = SUBKEY_L(i + 3) ^ SUBKEY_R(i + 3); dw = ROL8(dw);/* round 4 */
571 SUBKEY_R(i + 3) = SUBKEY_L(i + 3) ^ dw; SUBKEY_L(i + 3) = dw; 583 SUBKEY_R(i + 3) = SUBKEY_L(i + 3) ^ dw; SUBKEY_L(i + 3) = dw;
572 dw = SUBKEY_L(i + 4) ^ SUBKEY_R(i + 4); dw = rol32(dw, 9);/* round 5 */ 584 dw = SUBKEY_L(i + 4) ^ SUBKEY_R(i + 4); dw = ROL8(dw);/* round 5 */
573 SUBKEY_R(i + 4) = SUBKEY_L(i + 4) ^ dw; SUBKEY_L(i + 4) = dw; 585 SUBKEY_R(i + 4) = SUBKEY_L(i + 4) ^ dw; SUBKEY_L(i + 4) = dw;
574 dw = SUBKEY_L(i + 5) ^ SUBKEY_R(i + 5); dw = rol32(dw, 8);/* round 6 */ 586 dw = SUBKEY_L(i + 5) ^ SUBKEY_R(i + 5); dw = ROL8(dw);/* round 6 */
575 SUBKEY_R(i + 5) = SUBKEY_L(i + 5) ^ dw; SUBKEY_L(i + 5) = dw; 587 SUBKEY_R(i + 5) = SUBKEY_L(i + 5) ^ dw; SUBKEY_L(i + 5) = dw;
576 i += 8; 588 i += 8;
577 } while (i < max); 589 } while (i < max);
@@ -587,10 +599,10 @@ static void camellia_setup128(const unsigned char *key, u32 *subkey)
587 /** 599 /**
588 * k == kll || klr || krl || krr (|| is concatenation) 600 * k == kll || klr || krl || krr (|| is concatenation)
589 */ 601 */
590 kll = get_unaligned_be32(key); 602 GETU32(kll, key );
591 klr = get_unaligned_be32(key + 4); 603 GETU32(klr, key + 4);
592 krl = get_unaligned_be32(key + 8); 604 GETU32(krl, key + 8);
593 krr = get_unaligned_be32(key + 12); 605 GETU32(krr, key + 12);
594 606
595 /* generate KL dependent subkeys */ 607 /* generate KL dependent subkeys */
596 /* kw1 */ 608 /* kw1 */
@@ -695,14 +707,14 @@ static void camellia_setup256(const unsigned char *key, u32 *subkey)
695 * key = (kll || klr || krl || krr || krll || krlr || krrl || krrr) 707 * key = (kll || klr || krl || krr || krll || krlr || krrl || krrr)
696 * (|| is concatenation) 708 * (|| is concatenation)
697 */ 709 */
698 kll = get_unaligned_be32(key); 710 GETU32(kll, key );
699 klr = get_unaligned_be32(key + 4); 711 GETU32(klr, key + 4);
700 krl = get_unaligned_be32(key + 8); 712 GETU32(krl, key + 8);
701 krr = get_unaligned_be32(key + 12); 713 GETU32(krr, key + 12);
702 krll = get_unaligned_be32(key + 16); 714 GETU32(krll, key + 16);
703 krlr = get_unaligned_be32(key + 20); 715 GETU32(krlr, key + 20);
704 krrl = get_unaligned_be32(key + 24); 716 GETU32(krrl, key + 24);
705 krrr = get_unaligned_be32(key + 28); 717 GETU32(krrr, key + 28);
706 718
707 /* generate KL dependent subkeys */ 719 /* generate KL dependent subkeys */
708 /* kw1 */ 720 /* kw1 */
@@ -858,13 +870,13 @@ static void camellia_setup192(const unsigned char *key, u32 *subkey)
858 t0 &= ll; \ 870 t0 &= ll; \
859 t2 |= rr; \ 871 t2 |= rr; \
860 rl ^= t2; \ 872 rl ^= t2; \
861 lr ^= rol32(t0, 1); \ 873 lr ^= ROL1(t0); \
862 t3 = krl; \ 874 t3 = krl; \
863 t1 = klr; \ 875 t1 = klr; \
864 t3 &= rl; \ 876 t3 &= rl; \
865 t1 |= lr; \ 877 t1 |= lr; \
866 ll ^= t1; \ 878 ll ^= t1; \
867 rr ^= rol32(t3, 1); \ 879 rr ^= ROL1(t3); \
868 } while(0) 880 } while(0)
869 881
870#define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) \ 882#define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) \
@@ -880,7 +892,7 @@ static void camellia_setup192(const unsigned char *key, u32 *subkey)
880 il ^= kl; \ 892 il ^= kl; \
881 ir ^= il ^ kr; \ 893 ir ^= il ^ kr; \
882 yl ^= ir; \ 894 yl ^= ir; \
883 yr ^= ror32(il, 8) ^ ir; \ 895 yr ^= ROR8(il) ^ ir; \
884 } while(0) 896 } while(0)
885 897
886/* max = 24: 128bit encrypt, max = 32: 256bit encrypt */ 898/* max = 24: 128bit encrypt, max = 32: 256bit encrypt */
diff --git a/drivers/acpi/dispatcher/dsobject.c b/drivers/acpi/dispatcher/dsobject.c
index 1022e38994c2..0f2805899210 100644
--- a/drivers/acpi/dispatcher/dsobject.c
+++ b/drivers/acpi/dispatcher/dsobject.c
@@ -496,7 +496,7 @@ acpi_ds_build_internal_package_obj(struct acpi_walk_state *walk_state,
496 arg = arg->common.next; 496 arg = arg->common.next;
497 } 497 }
498 498
499 ACPI_ERROR((AE_INFO, 499 ACPI_WARNING((AE_INFO,
500 "Package List length (%X) larger than NumElements count (%X), truncated\n", 500 "Package List length (%X) larger than NumElements count (%X), truncated\n",
501 i, element_count)); 501 i, element_count));
502 } else if (i < element_count) { 502 } else if (i < element_count) {
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index d3f0a62efcc1..ee68ac54c0d4 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -138,7 +138,7 @@ static struct dmi_system_id __cpuinitdata processor_idle_dmi_table[] = {
138 { 138 {
139 set_no_mwait, "Extensa 5220", { 139 set_no_mwait, "Extensa 5220", {
140 DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), 140 DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
141 DMI_MATCH(DMI_SYS_VENDOR, "ACER"), 141 DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
142 DMI_MATCH(DMI_PRODUCT_VERSION, "0100"), 142 DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
143 DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL}, 143 DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL},
144 {}, 144 {},
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
index 80e32093e977..80c251ec6d2a 100644
--- a/drivers/acpi/processor_perflib.c
+++ b/drivers/acpi/processor_perflib.c
@@ -71,7 +71,7 @@ static DEFINE_MUTEX(performance_mutex);
71 * 1 -> ignore _PPC totally -> forced by user through boot param 71 * 1 -> ignore _PPC totally -> forced by user through boot param
72 */ 72 */
73static int ignore_ppc = -1; 73static int ignore_ppc = -1;
74module_param(ignore_ppc, uint, 0644); 74module_param(ignore_ppc, int, 0644);
75MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \ 75MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
76 "limited by BIOS, this should help"); 76 "limited by BIOS, this should help");
77 77
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c
index bcf2c70fca87..a4e3767b8c64 100644
--- a/drivers/acpi/sbshc.c
+++ b/drivers/acpi/sbshc.c
@@ -107,6 +107,13 @@ static int wait_transaction_complete(struct acpi_smb_hc *hc, int timeout)
107 if (wait_event_timeout(hc->wait, smb_check_done(hc), 107 if (wait_event_timeout(hc->wait, smb_check_done(hc),
108 msecs_to_jiffies(timeout))) 108 msecs_to_jiffies(timeout)))
109 return 0; 109 return 0;
110 /*
111 * After the timeout happens, OS will try to check the status of SMbus.
112 * If the status is what OS expected, it will be regarded as the bogus
113 * timeout.
114 */
115 if (smb_check_done(hc))
116 return 0;
110 else 117 else
111 return -ETIME; 118 return -ETIME;
112} 119}
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index c3419182c9a7..775c97a282bd 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -300,6 +300,8 @@ int __init acpi_table_init(void)
300 300
301static int __init acpi_parse_apic_instance(char *str) 301static int __init acpi_parse_apic_instance(char *str)
302{ 302{
303 if (!str)
304 return -EINVAL;
303 305
304 acpi_apic_instance = simple_strtoul(str, NULL, 0); 306 acpi_apic_instance = simple_strtoul(str, NULL, 0);
305 307
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index ae8494944c45..11c8c19f0fb7 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -448,8 +448,10 @@ config PATA_MARVELL
448 tristate "Marvell PATA support via legacy mode" 448 tristate "Marvell PATA support via legacy mode"
449 depends on PCI 449 depends on PCI
450 help 450 help
451 This option enables limited support for the Marvell 88SE6145 ATA 451 This option enables limited support for the Marvell 88SE61xx ATA
452 controller. 452 controllers. If you wish to use only the SATA ports then select
453 the AHCI driver alone. If you wish to the use the PATA port or
454 both SATA and PATA include this driver.
453 455
454 If unsure, say N. 456 If unsure, say N.
455 457
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index c729e6988bbb..2e1a7cb2ed5f 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -420,7 +420,7 @@ static const struct ata_port_info ahci_port_info[] = {
420 /* board_ahci_mv */ 420 /* board_ahci_mv */
421 { 421 {
422 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_MSI | 422 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_MSI |
423 AHCI_HFLAG_MV_PATA), 423 AHCI_HFLAG_MV_PATA | AHCI_HFLAG_NO_PMP),
424 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 424 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
425 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA, 425 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA,
426 .pio_mask = 0x1f, /* pio0-4 */ 426 .pio_mask = 0x1f, /* pio0-4 */
@@ -487,7 +487,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
487 { PCI_VDEVICE(INTEL, 0x3a05), board_ahci }, /* ICH10 */ 487 { PCI_VDEVICE(INTEL, 0x3a05), board_ahci }, /* ICH10 */
488 { PCI_VDEVICE(INTEL, 0x3a25), board_ahci }, /* ICH10 */ 488 { PCI_VDEVICE(INTEL, 0x3a25), board_ahci }, /* ICH10 */
489 { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */ 489 { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */
490 { PCI_VDEVICE(INTEL, 0x3b25), board_ahci }, /* PCH RAID */
490 { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */ 491 { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */
492 { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH RAID */
491 493
492 /* JMicron 360/1/3/5/6, match class to avoid IDE function */ 494 /* JMicron 360/1/3/5/6, match class to avoid IDE function */
493 { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 495 { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
@@ -610,6 +612,15 @@ module_param(ahci_em_messages, int, 0444);
610MODULE_PARM_DESC(ahci_em_messages, 612MODULE_PARM_DESC(ahci_em_messages,
611 "Set AHCI Enclosure Management Message type (0 = disabled, 1 = LED"); 613 "Set AHCI Enclosure Management Message type (0 = disabled, 1 = LED");
612 614
615#if defined(CONFIG_PATA_MARVELL) || defined(CONFIG_PATA_MARVELL_MODULE)
616static int marvell_enable;
617#else
618static int marvell_enable = 1;
619#endif
620module_param(marvell_enable, int, 0644);
621MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 = enabled)");
622
623
613static inline int ahci_nr_ports(u32 cap) 624static inline int ahci_nr_ports(u32 cap)
614{ 625{
615 return (cap & 0x1f) + 1; 626 return (cap & 0x1f) + 1;
@@ -732,6 +743,8 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
732 "MV_AHCI HACK: port_map %x -> %x\n", 743 "MV_AHCI HACK: port_map %x -> %x\n",
733 port_map, 744 port_map,
734 port_map & mv); 745 port_map & mv);
746 dev_printk(KERN_ERR, &pdev->dev,
747 "Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.\n");
735 748
736 port_map &= mv; 749 port_map &= mv;
737 } 750 }
@@ -2533,6 +2546,12 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2533 if (!printed_version++) 2546 if (!printed_version++)
2534 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n"); 2547 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
2535 2548
2549 /* The AHCI driver can only drive the SATA ports, the PATA driver
2550 can drive them all so if both drivers are selected make sure
2551 AHCI stays out of the way */
2552 if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable)
2553 return -ENODEV;
2554
2536 /* acquire resources */ 2555 /* acquire resources */
2537 rc = pcim_enable_device(pdev); 2556 rc = pcim_enable_device(pdev);
2538 if (rc) 2557 if (rc)
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 304fdc6f1dc2..2a4c516894f0 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -1315,11 +1315,6 @@ fsm_start:
1315 break; 1315 break;
1316 1316
1317 case HSM_ST_ERR: 1317 case HSM_ST_ERR:
1318 /* make sure qc->err_mask is available to
1319 * know what's wrong and recover
1320 */
1321 WARN_ON(!(qc->err_mask & (AC_ERR_DEV | AC_ERR_HSM)));
1322
1323 ap->hsm_task_state = HSM_ST_IDLE; 1318 ap->hsm_task_state = HSM_ST_IDLE;
1324 1319
1325 /* complete taskfile transaction */ 1320 /* complete taskfile transaction */
diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
index 24a011b25024..0d87eec84966 100644
--- a/drivers/ata/pata_marvell.c
+++ b/drivers/ata/pata_marvell.c
@@ -20,29 +20,30 @@
20#include <linux/ata.h> 20#include <linux/ata.h>
21 21
22#define DRV_NAME "pata_marvell" 22#define DRV_NAME "pata_marvell"
23#define DRV_VERSION "0.1.4" 23#define DRV_VERSION "0.1.6"
24 24
25/** 25/**
26 * marvell_pre_reset - check for 40/80 pin 26 * marvell_pata_active - check if PATA is active
27 * @link: link 27 * @pdev: PCI device
28 * @deadline: deadline jiffies for the operation
29 * 28 *
30 * Perform the PATA port setup we need. 29 * Returns 1 if the PATA port may be active. We know how to check this
30 * for the 6145 but not the other devices
31 */ 31 */
32 32
33static int marvell_pre_reset(struct ata_link *link, unsigned long deadline) 33static int marvell_pata_active(struct pci_dev *pdev)
34{ 34{
35 struct ata_port *ap = link->ap; 35 int i;
36 struct pci_dev *pdev = to_pci_dev(ap->host->dev);
37 u32 devices; 36 u32 devices;
38 void __iomem *barp; 37 void __iomem *barp;
39 int i;
40 38
41 /* Check if our port is enabled */ 39 /* We don't yet know how to do this for other devices */
40 if (pdev->device != 0x6145)
41 return 1;
42 42
43 barp = pci_iomap(pdev, 5, 0x10); 43 barp = pci_iomap(pdev, 5, 0x10);
44 if (barp == NULL) 44 if (barp == NULL)
45 return -ENOMEM; 45 return -ENOMEM;
46
46 printk("BAR5:"); 47 printk("BAR5:");
47 for(i = 0; i <= 0x0F; i++) 48 for(i = 0; i <= 0x0F; i++)
48 printk("%02X:%02X ", i, ioread8(barp + i)); 49 printk("%02X:%02X ", i, ioread8(barp + i));
@@ -51,9 +52,27 @@ static int marvell_pre_reset(struct ata_link *link, unsigned long deadline)
51 devices = ioread32(barp + 0x0C); 52 devices = ioread32(barp + 0x0C);
52 pci_iounmap(pdev, barp); 53 pci_iounmap(pdev, barp);
53 54
54 if ((pdev->device == 0x6145) && (ap->port_no == 0) && 55 if (devices & 0x10)
55 (!(devices & 0x10))) /* PATA enable ? */ 56 return 1;
56 return -ENOENT; 57 return 0;
58}
59
60/**
61 * marvell_pre_reset - check for 40/80 pin
62 * @link: link
63 * @deadline: deadline jiffies for the operation
64 *
65 * Perform the PATA port setup we need.
66 */
67
68static int marvell_pre_reset(struct ata_link *link, unsigned long deadline)
69{
70 struct ata_port *ap = link->ap;
71 struct pci_dev *pdev = to_pci_dev(ap->host->dev);
72
73 if (pdev->device == 0x6145 && ap->port_no == 0 &&
74 !marvell_pata_active(pdev)) /* PATA enable ? */
75 return -ENOENT;
57 76
58 return ata_sff_prereset(link, deadline); 77 return ata_sff_prereset(link, deadline);
59} 78}
@@ -128,6 +147,12 @@ static int marvell_init_one (struct pci_dev *pdev, const struct pci_device_id *i
128 if (pdev->device == 0x6101) 147 if (pdev->device == 0x6101)
129 ppi[1] = &ata_dummy_port_info; 148 ppi[1] = &ata_dummy_port_info;
130 149
150#if defined(CONFIG_AHCI) || defined(CONFIG_AHCI_MODULE)
151 if (!marvell_pata_active(pdev)) {
152 printk(KERN_INFO DRV_NAME ": PATA port not active, deferring to AHCI driver.\n");
153 return -ENODEV;
154 }
155#endif
131 return ata_pci_sff_init_one(pdev, ppi, &marvell_sht, NULL); 156 return ata_pci_sff_init_one(pdev, ppi, &marvell_sht, NULL);
132} 157}
133 158
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c
index 720b8645f58a..e970b227fbce 100644
--- a/drivers/ata/pata_sil680.c
+++ b/drivers/ata/pata_sil680.c
@@ -322,9 +322,6 @@ static int __devinit sil680_init_one(struct pci_dev *pdev,
322 /* Try to acquire MMIO resources and fallback to PIO if 322 /* Try to acquire MMIO resources and fallback to PIO if
323 * that fails 323 * that fails
324 */ 324 */
325 rc = pcim_enable_device(pdev);
326 if (rc)
327 return rc;
328 rc = pcim_iomap_regions(pdev, 1 << SIL680_MMIO_BAR, DRV_NAME); 325 rc = pcim_iomap_regions(pdev, 1 << SIL680_MMIO_BAR, DRV_NAME);
329 if (rc) 326 if (rc)
330 goto use_ioports; 327 goto use_ioports;
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 13c1d2af18ac..c815f8ecf6e6 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -667,7 +667,8 @@ static const struct pci_device_id mv_pci_tbl[] = {
667 { PCI_VDEVICE(MARVELL, 0x5041), chip_504x }, 667 { PCI_VDEVICE(MARVELL, 0x5041), chip_504x },
668 { PCI_VDEVICE(MARVELL, 0x5080), chip_5080 }, 668 { PCI_VDEVICE(MARVELL, 0x5080), chip_5080 },
669 { PCI_VDEVICE(MARVELL, 0x5081), chip_508x }, 669 { PCI_VDEVICE(MARVELL, 0x5081), chip_508x },
670 /* RocketRAID 1740/174x have different identifiers */ 670 /* RocketRAID 1720/174x have different identifiers */
671 { PCI_VDEVICE(TTI, 0x1720), chip_6042 },
671 { PCI_VDEVICE(TTI, 0x1740), chip_508x }, 672 { PCI_VDEVICE(TTI, 0x1740), chip_508x },
672 { PCI_VDEVICE(TTI, 0x1742), chip_508x }, 673 { PCI_VDEVICE(TTI, 0x1742), chip_508x },
673 674
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 858f70610eda..1e1f3f3757ae 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -309,8 +309,6 @@ static void nv_nf2_freeze(struct ata_port *ap);
309static void nv_nf2_thaw(struct ata_port *ap); 309static void nv_nf2_thaw(struct ata_port *ap);
310static void nv_ck804_freeze(struct ata_port *ap); 310static void nv_ck804_freeze(struct ata_port *ap);
311static void nv_ck804_thaw(struct ata_port *ap); 311static void nv_ck804_thaw(struct ata_port *ap);
312static int nv_hardreset(struct ata_link *link, unsigned int *class,
313 unsigned long deadline);
314static int nv_adma_slave_config(struct scsi_device *sdev); 312static int nv_adma_slave_config(struct scsi_device *sdev);
315static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc); 313static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc);
316static void nv_adma_qc_prep(struct ata_queued_cmd *qc); 314static void nv_adma_qc_prep(struct ata_queued_cmd *qc);
@@ -407,7 +405,7 @@ static struct scsi_host_template nv_swncq_sht = {
407 405
408static struct ata_port_operations nv_generic_ops = { 406static struct ata_port_operations nv_generic_ops = {
409 .inherits = &ata_bmdma_port_ops, 407 .inherits = &ata_bmdma_port_ops,
410 .hardreset = nv_hardreset, 408 .hardreset = ATA_OP_NULL,
411 .scr_read = nv_scr_read, 409 .scr_read = nv_scr_read,
412 .scr_write = nv_scr_write, 410 .scr_write = nv_scr_write,
413}; 411};
@@ -1588,21 +1586,6 @@ static void nv_mcp55_thaw(struct ata_port *ap)
1588 ata_sff_thaw(ap); 1586 ata_sff_thaw(ap);
1589} 1587}
1590 1588
1591static int nv_hardreset(struct ata_link *link, unsigned int *class,
1592 unsigned long deadline)
1593{
1594 int rc;
1595
1596 /* SATA hardreset fails to retrieve proper device signature on
1597 * some controllers. Request follow up SRST. For more info,
1598 * see http://bugzilla.kernel.org/show_bug.cgi?id=3352
1599 */
1600 rc = sata_sff_hardreset(link, class, deadline);
1601 if (rc)
1602 return rc;
1603 return -EAGAIN;
1604}
1605
1606static void nv_adma_error_handler(struct ata_port *ap) 1589static void nv_adma_error_handler(struct ata_port *ap)
1607{ 1590{
1608 struct nv_adma_port_priv *pp = ap->private_data; 1591 struct nv_adma_port_priv *pp = ap->private_data;
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 158eed4d5161..29b7a648cc6e 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -49,7 +49,6 @@
49#include <linux/types.h> 49#include <linux/types.h>
50#include <linux/kernel.h> 50#include <linux/kernel.h>
51#include <linux/kthread.h> 51#include <linux/kthread.h>
52#include <linux/smp_lock.h>
53#include <linux/errno.h> 52#include <linux/errno.h>
54#include <linux/spinlock.h> 53#include <linux/spinlock.h>
55#include <linux/file.h> 54#include <linux/file.h>
@@ -2798,14 +2797,9 @@ out_mem:
2798 return ret; 2797 return ret;
2799} 2798}
2800 2799
2801static long pkt_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 2800static int pkt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
2802{ 2801{
2803 struct inode *inode = file->f_path.dentry->d_inode; 2802 struct pktcdvd_device *pd = inode->i_bdev->bd_disk->private_data;
2804 struct pktcdvd_device *pd;
2805 long ret;
2806
2807 lock_kernel();
2808 pd = inode->i_bdev->bd_disk->private_data;
2809 2803
2810 VPRINTK("pkt_ioctl: cmd %x, dev %d:%d\n", cmd, imajor(inode), iminor(inode)); 2804 VPRINTK("pkt_ioctl: cmd %x, dev %d:%d\n", cmd, imajor(inode), iminor(inode));
2811 2805
@@ -2818,8 +2812,7 @@ static long pkt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
2818 case CDROM_LAST_WRITTEN: 2812 case CDROM_LAST_WRITTEN:
2819 case CDROM_SEND_PACKET: 2813 case CDROM_SEND_PACKET:
2820 case SCSI_IOCTL_SEND_COMMAND: 2814 case SCSI_IOCTL_SEND_COMMAND:
2821 ret = blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg); 2815 return blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg);
2822 break;
2823 2816
2824 case CDROMEJECT: 2817 case CDROMEJECT:
2825 /* 2818 /*
@@ -2828,15 +2821,14 @@ static long pkt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
2828 */ 2821 */
2829 if (pd->refcnt == 1) 2822 if (pd->refcnt == 1)
2830 pkt_lock_door(pd, 0); 2823 pkt_lock_door(pd, 0);
2831 ret = blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg); 2824 return blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg);
2832 break;
2833 2825
2834 default: 2826 default:
2835 VPRINTK(DRIVER_NAME": Unknown ioctl for %s (%x)\n", pd->name, cmd); 2827 VPRINTK(DRIVER_NAME": Unknown ioctl for %s (%x)\n", pd->name, cmd);
2836 ret = -ENOTTY; 2828 return -ENOTTY;
2837 } 2829 }
2838 unlock_kernel(); 2830
2839 return ret; 2831 return 0;
2840} 2832}
2841 2833
2842static int pkt_media_changed(struct gendisk *disk) 2834static int pkt_media_changed(struct gendisk *disk)
@@ -2858,7 +2850,7 @@ static struct block_device_operations pktcdvd_ops = {
2858 .owner = THIS_MODULE, 2850 .owner = THIS_MODULE,
2859 .open = pkt_open, 2851 .open = pkt_open,
2860 .release = pkt_close, 2852 .release = pkt_close,
2861 .unlocked_ioctl = pkt_ioctl, 2853 .ioctl = pkt_ioctl,
2862 .media_changed = pkt_media_changed, 2854 .media_changed = pkt_media_changed,
2863}; 2855};
2864 2856
@@ -3023,8 +3015,7 @@ static void pkt_get_status(struct pkt_ctrl_command *ctrl_cmd)
3023 mutex_unlock(&ctl_mutex); 3015 mutex_unlock(&ctl_mutex);
3024} 3016}
3025 3017
3026static long pkt_ctl_ioctl(struct file *file, unsigned int cmd, 3018static int pkt_ctl_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
3027 unsigned long arg)
3028{ 3019{
3029 void __user *argp = (void __user *)arg; 3020 void __user *argp = (void __user *)arg;
3030 struct pkt_ctrl_command ctrl_cmd; 3021 struct pkt_ctrl_command ctrl_cmd;
@@ -3041,22 +3032,16 @@ static long pkt_ctl_ioctl(struct file *file, unsigned int cmd,
3041 case PKT_CTRL_CMD_SETUP: 3032 case PKT_CTRL_CMD_SETUP:
3042 if (!capable(CAP_SYS_ADMIN)) 3033 if (!capable(CAP_SYS_ADMIN))
3043 return -EPERM; 3034 return -EPERM;
3044 lock_kernel();
3045 ret = pkt_setup_dev(new_decode_dev(ctrl_cmd.dev), &pkt_dev); 3035 ret = pkt_setup_dev(new_decode_dev(ctrl_cmd.dev), &pkt_dev);
3046 ctrl_cmd.pkt_dev = new_encode_dev(pkt_dev); 3036 ctrl_cmd.pkt_dev = new_encode_dev(pkt_dev);
3047 unlock_kernel();
3048 break; 3037 break;
3049 case PKT_CTRL_CMD_TEARDOWN: 3038 case PKT_CTRL_CMD_TEARDOWN:
3050 if (!capable(CAP_SYS_ADMIN)) 3039 if (!capable(CAP_SYS_ADMIN))
3051 return -EPERM; 3040 return -EPERM;
3052 lock_kernel();
3053 ret = pkt_remove_dev(new_decode_dev(ctrl_cmd.pkt_dev)); 3041 ret = pkt_remove_dev(new_decode_dev(ctrl_cmd.pkt_dev));
3054 unlock_kernel();
3055 break; 3042 break;
3056 case PKT_CTRL_CMD_STATUS: 3043 case PKT_CTRL_CMD_STATUS:
3057 lock_kernel();
3058 pkt_get_status(&ctrl_cmd); 3044 pkt_get_status(&ctrl_cmd);
3059 unlock_kernel();
3060 break; 3045 break;
3061 default: 3046 default:
3062 return -ENOTTY; 3047 return -ENOTTY;
@@ -3069,7 +3054,7 @@ static long pkt_ctl_ioctl(struct file *file, unsigned int cmd,
3069 3054
3070 3055
3071static const struct file_operations pkt_ctl_fops = { 3056static const struct file_operations pkt_ctl_fops = {
3072 .unlocked_ioctl = pkt_ctl_ioctl, 3057 .ioctl = pkt_ctl_ioctl,
3073 .owner = THIS_MODULE, 3058 .owner = THIS_MODULE,
3074}; 3059};
3075 3060
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 1838aa3d24fe..7ce1ac4baa6d 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -407,7 +407,7 @@ struct entropy_store {
407 /* read-write data: */ 407 /* read-write data: */
408 spinlock_t lock; 408 spinlock_t lock;
409 unsigned add_ptr; 409 unsigned add_ptr;
410 int entropy_count; 410 int entropy_count; /* Must at no time exceed ->POOLBITS! */
411 int input_rotate; 411 int input_rotate;
412}; 412};
413 413
@@ -520,6 +520,7 @@ static void mix_pool_bytes(struct entropy_store *r, const void *in, int bytes)
520static void credit_entropy_bits(struct entropy_store *r, int nbits) 520static void credit_entropy_bits(struct entropy_store *r, int nbits)
521{ 521{
522 unsigned long flags; 522 unsigned long flags;
523 int entropy_count;
523 524
524 if (!nbits) 525 if (!nbits)
525 return; 526 return;
@@ -527,20 +528,20 @@ static void credit_entropy_bits(struct entropy_store *r, int nbits)
527 spin_lock_irqsave(&r->lock, flags); 528 spin_lock_irqsave(&r->lock, flags);
528 529
529 DEBUG_ENT("added %d entropy credits to %s\n", nbits, r->name); 530 DEBUG_ENT("added %d entropy credits to %s\n", nbits, r->name);
530 r->entropy_count += nbits; 531 entropy_count = r->entropy_count;
531 if (r->entropy_count < 0) { 532 entropy_count += nbits;
533 if (entropy_count < 0) {
532 DEBUG_ENT("negative entropy/overflow\n"); 534 DEBUG_ENT("negative entropy/overflow\n");
533 r->entropy_count = 0; 535 entropy_count = 0;
534 } else if (r->entropy_count > r->poolinfo->POOLBITS) 536 } else if (entropy_count > r->poolinfo->POOLBITS)
535 r->entropy_count = r->poolinfo->POOLBITS; 537 entropy_count = r->poolinfo->POOLBITS;
538 r->entropy_count = entropy_count;
536 539
537 /* should we wake readers? */ 540 /* should we wake readers? */
538 if (r == &input_pool && 541 if (r == &input_pool && entropy_count >= random_read_wakeup_thresh) {
539 r->entropy_count >= random_read_wakeup_thresh) {
540 wake_up_interruptible(&random_read_wait); 542 wake_up_interruptible(&random_read_wait);
541 kill_fasync(&fasync, SIGIO, POLL_IN); 543 kill_fasync(&fasync, SIGIO, POLL_IN);
542 } 544 }
543
544 spin_unlock_irqrestore(&r->lock, flags); 545 spin_unlock_irqrestore(&r->lock, flags);
545} 546}
546 547
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index a27160ba21d7..daeb8f766971 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -2498,7 +2498,7 @@ static int tiocgwinsz(struct tty_struct *tty, struct winsize __user *arg)
2498/** 2498/**
2499 * tty_do_resize - resize event 2499 * tty_do_resize - resize event
2500 * @tty: tty being resized 2500 * @tty: tty being resized
2501 * @real_tty: real tty (if using a pty/tty pair) 2501 * @real_tty: real tty (not the same as tty if using a pty/tty pair)
2502 * @rows: rows (character) 2502 * @rows: rows (character)
2503 * @cols: cols (character) 2503 * @cols: cols (character)
2504 * 2504 *
@@ -2512,7 +2512,8 @@ int tty_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
2512 struct pid *pgrp, *rpgrp; 2512 struct pid *pgrp, *rpgrp;
2513 unsigned long flags; 2513 unsigned long flags;
2514 2514
2515 mutex_lock(&tty->termios_mutex); 2515 /* For a PTY we need to lock the tty side */
2516 mutex_lock(&real_tty->termios_mutex);
2516 if (!memcmp(ws, &tty->winsize, sizeof(*ws))) 2517 if (!memcmp(ws, &tty->winsize, sizeof(*ws)))
2517 goto done; 2518 goto done;
2518 /* Get the PID values and reference them so we can 2519 /* Get the PID values and reference them so we can
@@ -2533,7 +2534,7 @@ int tty_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
2533 tty->winsize = *ws; 2534 tty->winsize = *ws;
2534 real_tty->winsize = *ws; 2535 real_tty->winsize = *ws;
2535done: 2536done:
2536 mutex_unlock(&tty->termios_mutex); 2537 mutex_unlock(&real_tty->termios_mutex);
2537 return 0; 2538 return 0;
2538} 2539}
2539 2540
diff --git a/drivers/char/tty_ioctl.c b/drivers/char/tty_ioctl.c
index ea9fc5d03b99..bf34e4597421 100644
--- a/drivers/char/tty_ioctl.c
+++ b/drivers/char/tty_ioctl.c
@@ -937,12 +937,14 @@ int tty_mode_ioctl(struct tty_struct *tty, struct file *file,
937 return 0; 937 return 0;
938#endif 938#endif
939 case TIOCGSOFTCAR: 939 case TIOCGSOFTCAR:
940 return put_user(C_CLOCAL(tty) ? 1 : 0, 940 /* FIXME: for correctness we may need to take the termios
941 lock here - review */
942 return put_user(C_CLOCAL(real_tty) ? 1 : 0,
941 (int __user *)arg); 943 (int __user *)arg);
942 case TIOCSSOFTCAR: 944 case TIOCSSOFTCAR:
943 if (get_user(arg, (unsigned int __user *) arg)) 945 if (get_user(arg, (unsigned int __user *) arg))
944 return -EFAULT; 946 return -EFAULT;
945 return tty_change_softcar(tty, arg); 947 return tty_change_softcar(real_tty, arg);
946 default: 948 default:
947 return -ENOIOCTLCMD; 949 return -ENOIOCTLCMD;
948 } 950 }
diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c
index 5ca1d80de182..4eee533f3f4a 100644
--- a/drivers/clocksource/acpi_pm.c
+++ b/drivers/clocksource/acpi_pm.c
@@ -21,6 +21,7 @@
21#include <linux/errno.h> 21#include <linux/errno.h>
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/pci.h> 23#include <linux/pci.h>
24#include <linux/delay.h>
24#include <asm/io.h> 25#include <asm/io.h>
25 26
26/* 27/*
@@ -151,13 +152,13 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_LE,
151 */ 152 */
152static int verify_pmtmr_rate(void) 153static int verify_pmtmr_rate(void)
153{ 154{
154 u32 value1, value2; 155 cycle_t value1, value2;
155 unsigned long count, delta; 156 unsigned long count, delta;
156 157
157 mach_prepare_counter(); 158 mach_prepare_counter();
158 value1 = read_pmtmr(); 159 value1 = clocksource_acpi_pm.read();
159 mach_countup(&count); 160 mach_countup(&count);
160 value2 = read_pmtmr(); 161 value2 = clocksource_acpi_pm.read();
161 delta = (value2 - value1) & ACPI_PM_MASK; 162 delta = (value2 - value1) & ACPI_PM_MASK;
162 163
163 /* Check that the PMTMR delta is within 5% of what we expect */ 164 /* Check that the PMTMR delta is within 5% of what we expect */
@@ -175,10 +176,13 @@ static int verify_pmtmr_rate(void)
175#define verify_pmtmr_rate() (0) 176#define verify_pmtmr_rate() (0)
176#endif 177#endif
177 178
179/* Number of monotonicity checks to perform during initialization */
180#define ACPI_PM_MONOTONICITY_CHECKS 10
181
178static int __init init_acpi_pm_clocksource(void) 182static int __init init_acpi_pm_clocksource(void)
179{ 183{
180 u32 value1, value2; 184 cycle_t value1, value2;
181 unsigned int i; 185 unsigned int i, j, good = 0;
182 186
183 if (!pmtmr_ioport) 187 if (!pmtmr_ioport)
184 return -ENODEV; 188 return -ENODEV;
@@ -187,24 +191,32 @@ static int __init init_acpi_pm_clocksource(void)
187 clocksource_acpi_pm.shift); 191 clocksource_acpi_pm.shift);
188 192
189 /* "verify" this timing source: */ 193 /* "verify" this timing source: */
190 value1 = read_pmtmr(); 194 for (j = 0; j < ACPI_PM_MONOTONICITY_CHECKS; j++) {
191 for (i = 0; i < 10000; i++) { 195 value1 = clocksource_acpi_pm.read();
192 value2 = read_pmtmr(); 196 for (i = 0; i < 10000; i++) {
193 if (value2 == value1) 197 value2 = clocksource_acpi_pm.read();
194 continue; 198 if (value2 == value1)
195 if (value2 > value1) 199 continue;
196 goto pm_good; 200 if (value2 > value1)
197 if ((value2 < value1) && ((value2) < 0xFFF)) 201 good++;
198 goto pm_good; 202 break;
199 printk(KERN_INFO "PM-Timer had inconsistent results:" 203 if ((value2 < value1) && ((value2) < 0xFFF))
200 " 0x%#x, 0x%#x - aborting.\n", value1, value2); 204 good++;
201 return -EINVAL; 205 break;
206 printk(KERN_INFO "PM-Timer had inconsistent results:"
207 " 0x%#llx, 0x%#llx - aborting.\n",
208 value1, value2);
209 return -EINVAL;
210 }
211 udelay(300 * i);
212 }
213
214 if (good != ACPI_PM_MONOTONICITY_CHECKS) {
215 printk(KERN_INFO "PM-Timer failed consistency check "
216 " (0x%#llx) - aborting.\n", value1);
217 return -ENODEV;
202 } 218 }
203 printk(KERN_INFO "PM-Timer had no reasonable result:"
204 " 0x%#x - aborting.\n", value1);
205 return -ENODEV;
206 219
207pm_good:
208 if (verify_pmtmr_rate() != 0) 220 if (verify_pmtmr_rate() != 0)
209 return -ENODEV; 221 return -ENODEV;
210 222
diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c
index 8024e3bfd877..b91ef63126ed 100644
--- a/drivers/firmware/iscsi_ibft.c
+++ b/drivers/firmware/iscsi_ibft.c
@@ -669,8 +669,7 @@ static int __init ibft_register_kobjects(struct ibft_table_header *header,
669 669
670 control = (void *)header + sizeof(*header); 670 control = (void *)header + sizeof(*header);
671 end = (void *)control + control->hdr.length; 671 end = (void *)control + control->hdr.length;
672 eot_offset = (void *)header + header->length - 672 eot_offset = (void *)header + header->length - (void *)control;
673 (void *)control - sizeof(*header);
674 rc = ibft_verify_hdr("control", (struct ibft_hdr *)control, id_control, 673 rc = ibft_verify_hdr("control", (struct ibft_hdr *)control, id_control,
675 sizeof(*control)); 674 sizeof(*control));
676 675
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 089c015c01d1..53f0e5af1cc8 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -400,27 +400,31 @@ static void drm_locked_tasklet_func(unsigned long data)
400{ 400{
401 struct drm_device *dev = (struct drm_device *)data; 401 struct drm_device *dev = (struct drm_device *)data;
402 unsigned long irqflags; 402 unsigned long irqflags;
403 403 void (*tasklet_func)(struct drm_device *);
404
404 spin_lock_irqsave(&dev->tasklet_lock, irqflags); 405 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
406 tasklet_func = dev->locked_tasklet_func;
407 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
405 408
406 if (!dev->locked_tasklet_func || 409 if (!tasklet_func ||
407 !drm_lock_take(&dev->lock, 410 !drm_lock_take(&dev->lock,
408 DRM_KERNEL_CONTEXT)) { 411 DRM_KERNEL_CONTEXT)) {
409 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
410 return; 412 return;
411 } 413 }
412 414
413 dev->lock.lock_time = jiffies; 415 dev->lock.lock_time = jiffies;
414 atomic_inc(&dev->counts[_DRM_STAT_LOCKS]); 416 atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
415 417
416 dev->locked_tasklet_func(dev); 418 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
419 tasklet_func = dev->locked_tasklet_func;
420 dev->locked_tasklet_func = NULL;
421 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
422
423 if (tasklet_func != NULL)
424 tasklet_func(dev);
417 425
418 drm_lock_free(&dev->lock, 426 drm_lock_free(&dev->lock,
419 DRM_KERNEL_CONTEXT); 427 DRM_KERNEL_CONTEXT);
420
421 dev->locked_tasklet_func = NULL;
422
423 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
424} 428}
425 429
426/** 430/**
diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index 0998723cde79..a4caf95485d7 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -105,14 +105,19 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
105 ret ? "interrupted" : "has lock"); 105 ret ? "interrupted" : "has lock");
106 if (ret) return ret; 106 if (ret) return ret;
107 107
108 sigemptyset(&dev->sigmask); 108 /* don't set the block all signals on the master process for now
109 sigaddset(&dev->sigmask, SIGSTOP); 109 * really probably not the correct answer but lets us debug xkb
110 sigaddset(&dev->sigmask, SIGTSTP); 110 * xserver for now */
111 sigaddset(&dev->sigmask, SIGTTIN); 111 if (!file_priv->master) {
112 sigaddset(&dev->sigmask, SIGTTOU); 112 sigemptyset(&dev->sigmask);
113 dev->sigdata.context = lock->context; 113 sigaddset(&dev->sigmask, SIGSTOP);
114 dev->sigdata.lock = dev->lock.hw_lock; 114 sigaddset(&dev->sigmask, SIGTSTP);
115 block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask); 115 sigaddset(&dev->sigmask, SIGTTIN);
116 sigaddset(&dev->sigmask, SIGTTOU);
117 dev->sigdata.context = lock->context;
118 dev->sigdata.lock = dev->lock.hw_lock;
119 block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
120 }
116 121
117 if (dev->driver->dma_ready && (lock->flags & _DRM_LOCK_READY)) 122 if (dev->driver->dma_ready && (lock->flags & _DRM_LOCK_READY))
118 dev->driver->dma_ready(dev); 123 dev->driver->dma_ready(dev);
@@ -150,6 +155,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
150{ 155{
151 struct drm_lock *lock = data; 156 struct drm_lock *lock = data;
152 unsigned long irqflags; 157 unsigned long irqflags;
158 void (*tasklet_func)(struct drm_device *);
153 159
154 if (lock->context == DRM_KERNEL_CONTEXT) { 160 if (lock->context == DRM_KERNEL_CONTEXT) {
155 DRM_ERROR("Process %d using kernel context %d\n", 161 DRM_ERROR("Process %d using kernel context %d\n",
@@ -158,14 +164,11 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
158 } 164 }
159 165
160 spin_lock_irqsave(&dev->tasklet_lock, irqflags); 166 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
161 167 tasklet_func = dev->locked_tasklet_func;
162 if (dev->locked_tasklet_func) { 168 dev->locked_tasklet_func = NULL;
163 dev->locked_tasklet_func(dev);
164
165 dev->locked_tasklet_func = NULL;
166 }
167
168 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags); 169 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
170 if (tasklet_func != NULL)
171 tasklet_func(dev);
169 172
170 atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]); 173 atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]);
171 174
diff --git a/drivers/gpu/drm/radeon/r300_cmdbuf.c b/drivers/gpu/drm/radeon/r300_cmdbuf.c
index 702df45320f7..4b27d9abb7bc 100644
--- a/drivers/gpu/drm/radeon/r300_cmdbuf.c
+++ b/drivers/gpu/drm/radeon/r300_cmdbuf.c
@@ -77,6 +77,9 @@ static int r300_emit_cliprects(drm_radeon_private_t *dev_priv,
77 return -EFAULT; 77 return -EFAULT;
78 } 78 }
79 79
80 box.x2--; /* Hardware expects inclusive bottom-right corner */
81 box.y2--;
82
80 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV515) { 83 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV515) {
81 box.x1 = (box.x1) & 84 box.x1 = (box.x1) &
82 R300_CLIPRECT_MASK; 85 R300_CLIPRECT_MASK;
@@ -95,8 +98,8 @@ static int r300_emit_cliprects(drm_radeon_private_t *dev_priv,
95 R300_CLIPRECT_MASK; 98 R300_CLIPRECT_MASK;
96 box.y2 = (box.y2 + R300_CLIPRECT_OFFSET) & 99 box.y2 = (box.y2 + R300_CLIPRECT_OFFSET) &
97 R300_CLIPRECT_MASK; 100 R300_CLIPRECT_MASK;
98
99 } 101 }
102
100 OUT_RING((box.x1 << R300_CLIPRECT_X_SHIFT) | 103 OUT_RING((box.x1 << R300_CLIPRECT_X_SHIFT) |
101 (box.y1 << R300_CLIPRECT_Y_SHIFT)); 104 (box.y1 << R300_CLIPRECT_Y_SHIFT));
102 OUT_RING((box.x2 << R300_CLIPRECT_X_SHIFT) | 105 OUT_RING((box.x2 << R300_CLIPRECT_X_SHIFT) |
@@ -136,6 +139,18 @@ static int r300_emit_cliprects(drm_radeon_private_t *dev_priv,
136 ADVANCE_RING(); 139 ADVANCE_RING();
137 } 140 }
138 141
142 /* flus cache and wait idle clean after cliprect change */
143 BEGIN_RING(2);
144 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
145 OUT_RING(R300_RB3D_DC_FLUSH);
146 ADVANCE_RING();
147 BEGIN_RING(2);
148 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
149 OUT_RING(RADEON_WAIT_3D_IDLECLEAN);
150 ADVANCE_RING();
151 /* set flush flag */
152 dev_priv->track_flush |= RADEON_FLUSH_EMITED;
153
139 return 0; 154 return 0;
140} 155}
141 156
@@ -166,13 +181,13 @@ void r300_init_reg_flags(struct drm_device *dev)
166 ADD_RANGE(0x21DC, 1); 181 ADD_RANGE(0x21DC, 1);
167 ADD_RANGE(R300_VAP_UNKNOWN_221C, 1); 182 ADD_RANGE(R300_VAP_UNKNOWN_221C, 1);
168 ADD_RANGE(R300_VAP_CLIP_X_0, 4); 183 ADD_RANGE(R300_VAP_CLIP_X_0, 4);
169 ADD_RANGE(R300_VAP_PVS_WAITIDLE, 1); 184 ADD_RANGE(R300_VAP_PVS_STATE_FLUSH_REG, 1);
170 ADD_RANGE(R300_VAP_UNKNOWN_2288, 1); 185 ADD_RANGE(R300_VAP_UNKNOWN_2288, 1);
171 ADD_RANGE(R300_VAP_OUTPUT_VTX_FMT_0, 2); 186 ADD_RANGE(R300_VAP_OUTPUT_VTX_FMT_0, 2);
172 ADD_RANGE(R300_VAP_PVS_CNTL_1, 3); 187 ADD_RANGE(R300_VAP_PVS_CNTL_1, 3);
173 ADD_RANGE(R300_GB_ENABLE, 1); 188 ADD_RANGE(R300_GB_ENABLE, 1);
174 ADD_RANGE(R300_GB_MSPOS0, 5); 189 ADD_RANGE(R300_GB_MSPOS0, 5);
175 ADD_RANGE(R300_TX_CNTL, 1); 190 ADD_RANGE(R300_TX_INVALTAGS, 1);
176 ADD_RANGE(R300_TX_ENABLE, 1); 191 ADD_RANGE(R300_TX_ENABLE, 1);
177 ADD_RANGE(0x4200, 4); 192 ADD_RANGE(0x4200, 4);
178 ADD_RANGE(0x4214, 1); 193 ADD_RANGE(0x4214, 1);
@@ -388,15 +403,28 @@ static __inline__ int r300_emit_vpu(drm_radeon_private_t *dev_priv,
388 if (sz * 16 > cmdbuf->bufsz) 403 if (sz * 16 > cmdbuf->bufsz)
389 return -EINVAL; 404 return -EINVAL;
390 405
391 BEGIN_RING(5 + sz * 4); 406 /* VAP is very sensitive so we purge cache before we program it
392 /* Wait for VAP to come to senses.. */ 407 * and we also flush its state before & after */
393 /* there is no need to emit it multiple times, (only once before VAP is programmed, 408 BEGIN_RING(6);
394 but this optimization is for later */ 409 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
395 OUT_RING_REG(R300_VAP_PVS_WAITIDLE, 0); 410 OUT_RING(R300_RB3D_DC_FLUSH);
411 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
412 OUT_RING(RADEON_WAIT_3D_IDLECLEAN);
413 OUT_RING(CP_PACKET0(R300_VAP_PVS_STATE_FLUSH_REG, 0));
414 OUT_RING(0);
415 ADVANCE_RING();
416 /* set flush flag */
417 dev_priv->track_flush |= RADEON_FLUSH_EMITED;
418
419 BEGIN_RING(3 + sz * 4);
396 OUT_RING_REG(R300_VAP_PVS_UPLOAD_ADDRESS, addr); 420 OUT_RING_REG(R300_VAP_PVS_UPLOAD_ADDRESS, addr);
397 OUT_RING(CP_PACKET0_TABLE(R300_VAP_PVS_UPLOAD_DATA, sz * 4 - 1)); 421 OUT_RING(CP_PACKET0_TABLE(R300_VAP_PVS_UPLOAD_DATA, sz * 4 - 1));
398 OUT_RING_TABLE((int *)cmdbuf->buf, sz * 4); 422 OUT_RING_TABLE((int *)cmdbuf->buf, sz * 4);
423 ADVANCE_RING();
399 424
425 BEGIN_RING(2);
426 OUT_RING(CP_PACKET0(R300_VAP_PVS_STATE_FLUSH_REG, 0));
427 OUT_RING(0);
400 ADVANCE_RING(); 428 ADVANCE_RING();
401 429
402 cmdbuf->buf += sz * 16; 430 cmdbuf->buf += sz * 16;
@@ -424,6 +452,15 @@ static __inline__ int r300_emit_clear(drm_radeon_private_t *dev_priv,
424 OUT_RING_TABLE((int *)cmdbuf->buf, 8); 452 OUT_RING_TABLE((int *)cmdbuf->buf, 8);
425 ADVANCE_RING(); 453 ADVANCE_RING();
426 454
455 BEGIN_RING(4);
456 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
457 OUT_RING(R300_RB3D_DC_FLUSH);
458 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
459 OUT_RING(RADEON_WAIT_3D_IDLECLEAN);
460 ADVANCE_RING();
461 /* set flush flag */
462 dev_priv->track_flush |= RADEON_FLUSH_EMITED;
463
427 cmdbuf->buf += 8 * 4; 464 cmdbuf->buf += 8 * 4;
428 cmdbuf->bufsz -= 8 * 4; 465 cmdbuf->bufsz -= 8 * 4;
429 466
@@ -543,22 +580,23 @@ static __inline__ int r300_emit_bitblt_multi(drm_radeon_private_t *dev_priv,
543 return 0; 580 return 0;
544} 581}
545 582
546static __inline__ int r300_emit_indx_buffer(drm_radeon_private_t *dev_priv, 583static __inline__ int r300_emit_draw_indx_2(drm_radeon_private_t *dev_priv,
547 drm_radeon_kcmd_buffer_t *cmdbuf) 584 drm_radeon_kcmd_buffer_t *cmdbuf)
548{ 585{
549 u32 *cmd = (u32 *) cmdbuf->buf; 586 u32 *cmd;
550 int count, ret; 587 int count;
588 int expected_count;
551 RING_LOCALS; 589 RING_LOCALS;
552 590
553 count=(cmd[0]>>16) & 0x3fff; 591 cmd = (u32 *) cmdbuf->buf;
592 count = (cmd[0]>>16) & 0x3fff;
593 expected_count = cmd[1] >> 16;
594 if (!(cmd[1] & R300_VAP_VF_CNTL__INDEX_SIZE_32bit))
595 expected_count = (expected_count+1)/2;
554 596
555 if ((cmd[1] & 0x8000ffff) != 0x80000810) { 597 if (count && count != expected_count) {
556 DRM_ERROR("Invalid indx_buffer reg address %08X\n", cmd[1]); 598 DRM_ERROR("3D_DRAW_INDX_2: packet size %i, expected %i\n",
557 return -EINVAL; 599 count, expected_count);
558 }
559 ret = !radeon_check_offset(dev_priv, cmd[2]);
560 if (ret) {
561 DRM_ERROR("Invalid indx_buffer offset is %08X\n", cmd[2]);
562 return -EINVAL; 600 return -EINVAL;
563 } 601 }
564 602
@@ -570,6 +608,50 @@ static __inline__ int r300_emit_indx_buffer(drm_radeon_private_t *dev_priv,
570 cmdbuf->buf += (count+2)*4; 608 cmdbuf->buf += (count+2)*4;
571 cmdbuf->bufsz -= (count+2)*4; 609 cmdbuf->bufsz -= (count+2)*4;
572 610
611 if (!count) {
612 drm_r300_cmd_header_t header;
613
614 if (cmdbuf->bufsz < 4*4 + sizeof(header)) {
615 DRM_ERROR("3D_DRAW_INDX_2: expect subsequent INDX_BUFFER, but stream is too short.\n");
616 return -EINVAL;
617 }
618
619 header.u = *(unsigned int *)cmdbuf->buf;
620
621 cmdbuf->buf += sizeof(header);
622 cmdbuf->bufsz -= sizeof(header);
623 cmd = (u32 *) cmdbuf->buf;
624
625 if (header.header.cmd_type != R300_CMD_PACKET3 ||
626 header.packet3.packet != R300_CMD_PACKET3_RAW ||
627 cmd[0] != CP_PACKET3(RADEON_CP_INDX_BUFFER, 2)) {
628 DRM_ERROR("3D_DRAW_INDX_2: expect subsequent INDX_BUFFER.\n");
629 return -EINVAL;
630 }
631
632 if ((cmd[1] & 0x8000ffff) != 0x80000810) {
633 DRM_ERROR("Invalid indx_buffer reg address %08X\n", cmd[1]);
634 return -EINVAL;
635 }
636 if (!radeon_check_offset(dev_priv, cmd[2])) {
637 DRM_ERROR("Invalid indx_buffer offset is %08X\n", cmd[2]);
638 return -EINVAL;
639 }
640 if (cmd[3] != expected_count) {
641 DRM_ERROR("INDX_BUFFER: buffer size %i, expected %i\n",
642 cmd[3], expected_count);
643 return -EINVAL;
644 }
645
646 BEGIN_RING(4);
647 OUT_RING(cmd[0]);
648 OUT_RING_TABLE((int *)(cmdbuf->buf + 4), 3);
649 ADVANCE_RING();
650
651 cmdbuf->buf += 4*4;
652 cmdbuf->bufsz -= 4*4;
653 }
654
573 return 0; 655 return 0;
574} 656}
575 657
@@ -613,11 +695,22 @@ static __inline__ int r300_emit_raw_packet3(drm_radeon_private_t *dev_priv,
613 case RADEON_CNTL_BITBLT_MULTI: 695 case RADEON_CNTL_BITBLT_MULTI:
614 return r300_emit_bitblt_multi(dev_priv, cmdbuf); 696 return r300_emit_bitblt_multi(dev_priv, cmdbuf);
615 697
616 case RADEON_CP_INDX_BUFFER: /* DRAW_INDX_2 without INDX_BUFFER seems to lock up the gpu */ 698 case RADEON_CP_INDX_BUFFER:
617 return r300_emit_indx_buffer(dev_priv, cmdbuf); 699 DRM_ERROR("packet3 INDX_BUFFER without preceding 3D_DRAW_INDX_2 is illegal.\n");
618 case RADEON_CP_3D_DRAW_IMMD_2: /* triggers drawing using in-packet vertex data */ 700 return -EINVAL;
619 case RADEON_CP_3D_DRAW_VBUF_2: /* triggers drawing of vertex buffers setup elsewhere */ 701 case RADEON_CP_3D_DRAW_IMMD_2:
620 case RADEON_CP_3D_DRAW_INDX_2: /* triggers drawing using indices to vertex buffer */ 702 /* triggers drawing using in-packet vertex data */
703 case RADEON_CP_3D_DRAW_VBUF_2:
704 /* triggers drawing of vertex buffers setup elsewhere */
705 dev_priv->track_flush &= ~(RADEON_FLUSH_EMITED |
706 RADEON_PURGE_EMITED);
707 break;
708 case RADEON_CP_3D_DRAW_INDX_2:
709 /* triggers drawing using indices to vertex buffer */
710 /* whenever we send vertex we clear flush & purge */
711 dev_priv->track_flush &= ~(RADEON_FLUSH_EMITED |
712 RADEON_PURGE_EMITED);
713 return r300_emit_draw_indx_2(dev_priv, cmdbuf);
621 case RADEON_WAIT_FOR_IDLE: 714 case RADEON_WAIT_FOR_IDLE:
622 case RADEON_CP_NOP: 715 case RADEON_CP_NOP:
623 /* these packets are safe */ 716 /* these packets are safe */
@@ -713,17 +806,53 @@ static __inline__ int r300_emit_packet3(drm_radeon_private_t *dev_priv,
713 */ 806 */
714static __inline__ void r300_pacify(drm_radeon_private_t *dev_priv) 807static __inline__ void r300_pacify(drm_radeon_private_t *dev_priv)
715{ 808{
809 uint32_t cache_z, cache_3d, cache_2d;
716 RING_LOCALS; 810 RING_LOCALS;
717 811
718 BEGIN_RING(6); 812 cache_z = R300_ZC_FLUSH;
719 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); 813 cache_2d = R300_RB2D_DC_FLUSH;
720 OUT_RING(R300_RB3D_DSTCACHE_UNKNOWN_0A); 814 cache_3d = R300_RB3D_DC_FLUSH;
815 if (!(dev_priv->track_flush & RADEON_PURGE_EMITED)) {
816 /* we can purge, primitive where draw since last purge */
817 cache_z |= R300_ZC_FREE;
818 cache_2d |= R300_RB2D_DC_FREE;
819 cache_3d |= R300_RB3D_DC_FREE;
820 }
821
822 /* flush & purge zbuffer */
823 BEGIN_RING(2);
721 OUT_RING(CP_PACKET0(R300_ZB_ZCACHE_CTLSTAT, 0)); 824 OUT_RING(CP_PACKET0(R300_ZB_ZCACHE_CTLSTAT, 0));
722 OUT_RING(R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE| 825 OUT_RING(cache_z);
723 R300_ZB_ZCACHE_CTLSTAT_ZC_FREE_FREE); 826 ADVANCE_RING();
724 OUT_RING(CP_PACKET3(RADEON_CP_NOP, 0)); 827 /* flush & purge 3d */
725 OUT_RING(0x0); 828 BEGIN_RING(2);
829 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));
830 OUT_RING(cache_3d);
831 ADVANCE_RING();
832 /* flush & purge texture */
833 BEGIN_RING(2);
834 OUT_RING(CP_PACKET0(R300_TX_INVALTAGS, 0));
835 OUT_RING(0);
836 ADVANCE_RING();
837 /* FIXME: is this one really needed ? */
838 BEGIN_RING(2);
839 OUT_RING(CP_PACKET0(R300_RB3D_AARESOLVE_CTL, 0));
840 OUT_RING(0);
841 ADVANCE_RING();
842 BEGIN_RING(2);
843 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
844 OUT_RING(RADEON_WAIT_3D_IDLECLEAN);
845 ADVANCE_RING();
846 /* flush & purge 2d through E2 as RB2D will trigger lockup */
847 BEGIN_RING(4);
848 OUT_RING(CP_PACKET0(R300_DSTCACHE_CTLSTAT, 0));
849 OUT_RING(cache_2d);
850 OUT_RING(CP_PACKET0(RADEON_WAIT_UNTIL, 0));
851 OUT_RING(RADEON_WAIT_2D_IDLECLEAN |
852 RADEON_WAIT_HOST_IDLECLEAN);
726 ADVANCE_RING(); 853 ADVANCE_RING();
854 /* set flush & purge flags */
855 dev_priv->track_flush |= RADEON_FLUSH_EMITED | RADEON_PURGE_EMITED;
727} 856}
728 857
729/** 858/**
@@ -905,8 +1034,7 @@ int r300_do_cp_cmdbuf(struct drm_device *dev,
905 1034
906 DRM_DEBUG("\n"); 1035 DRM_DEBUG("\n");
907 1036
908 /* See the comment above r300_emit_begin3d for why this call must be here, 1037 /* pacify */
909 * and what the cleanup gotos are for. */
910 r300_pacify(dev_priv); 1038 r300_pacify(dev_priv);
911 1039
912 if (cmdbuf->nbox <= R300_SIMULTANEOUS_CLIPRECTS) { 1040 if (cmdbuf->nbox <= R300_SIMULTANEOUS_CLIPRECTS) {
diff --git a/drivers/gpu/drm/radeon/r300_reg.h b/drivers/gpu/drm/radeon/r300_reg.h
index a6802f26afc4..ee6f811599a3 100644
--- a/drivers/gpu/drm/radeon/r300_reg.h
+++ b/drivers/gpu/drm/radeon/r300_reg.h
@@ -317,7 +317,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
317 * Therefore, I suspect writing zero to 0x2284 synchronizes the engine and 317 * Therefore, I suspect writing zero to 0x2284 synchronizes the engine and
318 * avoids bugs caused by still running shaders reading bad data from memory. 318 * avoids bugs caused by still running shaders reading bad data from memory.
319 */ 319 */
320#define R300_VAP_PVS_WAITIDLE 0x2284 /* GUESS */ 320#define R300_VAP_PVS_STATE_FLUSH_REG 0x2284
321 321
322/* Absolutely no clue what this register is about. */ 322/* Absolutely no clue what this register is about. */
323#define R300_VAP_UNKNOWN_2288 0x2288 323#define R300_VAP_UNKNOWN_2288 0x2288
@@ -513,7 +513,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
513/* gap */ 513/* gap */
514 514
515/* Zero to flush caches. */ 515/* Zero to flush caches. */
516#define R300_TX_CNTL 0x4100 516#define R300_TX_INVALTAGS 0x4100
517#define R300_TX_FLUSH 0x0 517#define R300_TX_FLUSH 0x0
518 518
519/* The upper enable bits are guessed, based on fglrx reported limits. */ 519/* The upper enable bits are guessed, based on fglrx reported limits. */
@@ -1362,6 +1362,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
1362#define R300_RB3D_COLORPITCH2 0x4E40 /* GUESS */ 1362#define R300_RB3D_COLORPITCH2 0x4E40 /* GUESS */
1363#define R300_RB3D_COLORPITCH3 0x4E44 /* GUESS */ 1363#define R300_RB3D_COLORPITCH3 0x4E44 /* GUESS */
1364 1364
1365#define R300_RB3D_AARESOLVE_CTL 0x4E88
1365/* gap */ 1366/* gap */
1366 1367
1367/* Guess by Vladimir. 1368/* Guess by Vladimir.
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
index f0de81a5689d..248ab4a7d39f 100644
--- a/drivers/gpu/drm/radeon/radeon_cp.c
+++ b/drivers/gpu/drm/radeon/radeon_cp.c
@@ -40,6 +40,7 @@
40#define RADEON_FIFO_DEBUG 0 40#define RADEON_FIFO_DEBUG 0
41 41
42static int radeon_do_cleanup_cp(struct drm_device * dev); 42static int radeon_do_cleanup_cp(struct drm_device * dev);
43static void radeon_do_cp_start(drm_radeon_private_t * dev_priv);
43 44
44static u32 R500_READ_MCIND(drm_radeon_private_t *dev_priv, int addr) 45static u32 R500_READ_MCIND(drm_radeon_private_t *dev_priv, int addr)
45{ 46{
@@ -198,23 +199,8 @@ static int radeon_do_pixcache_flush(drm_radeon_private_t * dev_priv)
198 DRM_UDELAY(1); 199 DRM_UDELAY(1);
199 } 200 }
200 } else { 201 } else {
201 /* 3D */ 202 /* don't flush or purge cache here or lockup */
202 tmp = RADEON_READ(R300_RB3D_DSTCACHE_CTLSTAT); 203 return 0;
203 tmp |= RADEON_RB3D_DC_FLUSH_ALL;
204 RADEON_WRITE(R300_RB3D_DSTCACHE_CTLSTAT, tmp);
205
206 /* 2D */
207 tmp = RADEON_READ(R300_DSTCACHE_CTLSTAT);
208 tmp |= RADEON_RB3D_DC_FLUSH_ALL;
209 RADEON_WRITE(R300_DSTCACHE_CTLSTAT, tmp);
210
211 for (i = 0; i < dev_priv->usec_timeout; i++) {
212 if (!(RADEON_READ(R300_DSTCACHE_CTLSTAT)
213 & RADEON_RB3D_DC_BUSY)) {
214 return 0;
215 }
216 DRM_UDELAY(1);
217 }
218 } 204 }
219 205
220#if RADEON_FIFO_DEBUG 206#if RADEON_FIFO_DEBUG
@@ -237,6 +223,9 @@ static int radeon_do_wait_for_fifo(drm_radeon_private_t * dev_priv, int entries)
237 return 0; 223 return 0;
238 DRM_UDELAY(1); 224 DRM_UDELAY(1);
239 } 225 }
226 DRM_DEBUG("wait for fifo failed status : 0x%08X 0x%08X\n",
227 RADEON_READ(RADEON_RBBM_STATUS),
228 RADEON_READ(R300_VAP_CNTL_STATUS));
240 229
241#if RADEON_FIFO_DEBUG 230#if RADEON_FIFO_DEBUG
242 DRM_ERROR("failed!\n"); 231 DRM_ERROR("failed!\n");
@@ -263,6 +252,9 @@ static int radeon_do_wait_for_idle(drm_radeon_private_t * dev_priv)
263 } 252 }
264 DRM_UDELAY(1); 253 DRM_UDELAY(1);
265 } 254 }
255 DRM_DEBUG("wait idle failed status : 0x%08X 0x%08X\n",
256 RADEON_READ(RADEON_RBBM_STATUS),
257 RADEON_READ(R300_VAP_CNTL_STATUS));
266 258
267#if RADEON_FIFO_DEBUG 259#if RADEON_FIFO_DEBUG
268 DRM_ERROR("failed!\n"); 260 DRM_ERROR("failed!\n");
@@ -443,14 +435,20 @@ static void radeon_do_cp_start(drm_radeon_private_t * dev_priv)
443 435
444 dev_priv->cp_running = 1; 436 dev_priv->cp_running = 1;
445 437
446 BEGIN_RING(6); 438 BEGIN_RING(8);
447 439 /* isync can only be written through cp on r5xx write it here */
440 OUT_RING(CP_PACKET0(RADEON_ISYNC_CNTL, 0));
441 OUT_RING(RADEON_ISYNC_ANY2D_IDLE3D |
442 RADEON_ISYNC_ANY3D_IDLE2D |
443 RADEON_ISYNC_WAIT_IDLEGUI |
444 RADEON_ISYNC_CPSCRATCH_IDLEGUI);
448 RADEON_PURGE_CACHE(); 445 RADEON_PURGE_CACHE();
449 RADEON_PURGE_ZCACHE(); 446 RADEON_PURGE_ZCACHE();
450 RADEON_WAIT_UNTIL_IDLE(); 447 RADEON_WAIT_UNTIL_IDLE();
451
452 ADVANCE_RING(); 448 ADVANCE_RING();
453 COMMIT_RING(); 449 COMMIT_RING();
450
451 dev_priv->track_flush |= RADEON_FLUSH_EMITED | RADEON_PURGE_EMITED;
454} 452}
455 453
456/* Reset the Command Processor. This will not flush any pending 454/* Reset the Command Processor. This will not flush any pending
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
index 3f0eca957aa7..099381693175 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.h
+++ b/drivers/gpu/drm/radeon/radeon_drv.h
@@ -220,6 +220,9 @@ struct radeon_virt_surface {
220 struct drm_file *file_priv; 220 struct drm_file *file_priv;
221}; 221};
222 222
223#define RADEON_FLUSH_EMITED (1 < 0)
224#define RADEON_PURGE_EMITED (1 < 1)
225
223typedef struct drm_radeon_private { 226typedef struct drm_radeon_private {
224 drm_radeon_ring_buffer_t ring; 227 drm_radeon_ring_buffer_t ring;
225 drm_radeon_sarea_t *sarea_priv; 228 drm_radeon_sarea_t *sarea_priv;
@@ -311,6 +314,7 @@ typedef struct drm_radeon_private {
311 unsigned long fb_aper_offset; 314 unsigned long fb_aper_offset;
312 315
313 int num_gb_pipes; 316 int num_gb_pipes;
317 int track_flush;
314} drm_radeon_private_t; 318} drm_radeon_private_t;
315 319
316typedef struct drm_radeon_buf_priv { 320typedef struct drm_radeon_buf_priv {
@@ -693,7 +697,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device * dev,
693#define R300_ZB_ZCACHE_CTLSTAT 0x4f18 697#define R300_ZB_ZCACHE_CTLSTAT 0x4f18
694# define R300_ZC_FLUSH (1 << 0) 698# define R300_ZC_FLUSH (1 << 0)
695# define R300_ZC_FREE (1 << 1) 699# define R300_ZC_FREE (1 << 1)
696# define R300_ZC_FLUSH_ALL 0x3
697# define R300_ZC_BUSY (1 << 31) 700# define R300_ZC_BUSY (1 << 31)
698#define RADEON_RB3D_DSTCACHE_CTLSTAT 0x325c 701#define RADEON_RB3D_DSTCACHE_CTLSTAT 0x325c
699# define RADEON_RB3D_DC_FLUSH (3 << 0) 702# define RADEON_RB3D_DC_FLUSH (3 << 0)
@@ -701,6 +704,8 @@ extern int r300_do_cp_cmdbuf(struct drm_device * dev,
701# define RADEON_RB3D_DC_FLUSH_ALL 0xf 704# define RADEON_RB3D_DC_FLUSH_ALL 0xf
702# define RADEON_RB3D_DC_BUSY (1 << 31) 705# define RADEON_RB3D_DC_BUSY (1 << 31)
703#define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c 706#define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c
707# define R300_RB3D_DC_FLUSH (2 << 0)
708# define R300_RB3D_DC_FREE (2 << 2)
704# define R300_RB3D_DC_FINISH (1 << 4) 709# define R300_RB3D_DC_FINISH (1 << 4)
705#define RADEON_RB3D_ZSTENCILCNTL 0x1c2c 710#define RADEON_RB3D_ZSTENCILCNTL 0x1c2c
706# define RADEON_Z_TEST_MASK (7 << 4) 711# define RADEON_Z_TEST_MASK (7 << 4)
@@ -1246,17 +1251,17 @@ do { \
1246 OUT_RING(RADEON_RB3D_DC_FLUSH); \ 1251 OUT_RING(RADEON_RB3D_DC_FLUSH); \
1247 } else { \ 1252 } else { \
1248 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); \ 1253 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); \
1249 OUT_RING(RADEON_RB3D_DC_FLUSH); \ 1254 OUT_RING(R300_RB3D_DC_FLUSH); \
1250 } \ 1255 } \
1251} while (0) 1256} while (0)
1252 1257
1253#define RADEON_PURGE_CACHE() do { \ 1258#define RADEON_PURGE_CACHE() do { \
1254 if ((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV280) { \ 1259 if ((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV280) { \
1255 OUT_RING(CP_PACKET0(RADEON_RB3D_DSTCACHE_CTLSTAT, 0)); \ 1260 OUT_RING(CP_PACKET0(RADEON_RB3D_DSTCACHE_CTLSTAT, 0)); \
1256 OUT_RING(RADEON_RB3D_DC_FLUSH_ALL); \ 1261 OUT_RING(RADEON_RB3D_DC_FLUSH | RADEON_RB3D_DC_FREE); \
1257 } else { \ 1262 } else { \
1258 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); \ 1263 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); \
1259 OUT_RING(RADEON_RB3D_DC_FLUSH_ALL); \ 1264 OUT_RING(R300_RB3D_DC_FLUSH | R300_RB3D_DC_FREE); \
1260 } \ 1265 } \
1261} while (0) 1266} while (0)
1262 1267
@@ -1273,10 +1278,10 @@ do { \
1273#define RADEON_PURGE_ZCACHE() do { \ 1278#define RADEON_PURGE_ZCACHE() do { \
1274 if ((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV280) { \ 1279 if ((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV280) { \
1275 OUT_RING(CP_PACKET0(RADEON_RB3D_ZCACHE_CTLSTAT, 0)); \ 1280 OUT_RING(CP_PACKET0(RADEON_RB3D_ZCACHE_CTLSTAT, 0)); \
1276 OUT_RING(RADEON_RB3D_ZC_FLUSH_ALL); \ 1281 OUT_RING(RADEON_RB3D_ZC_FLUSH | RADEON_RB3D_ZC_FREE); \
1277 } else { \ 1282 } else { \
1278 OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0)); \ 1283 OUT_RING(CP_PACKET0(R300_ZB_ZCACHE_CTLSTAT, 0)); \
1279 OUT_RING(R300_ZC_FLUSH_ALL); \ 1284 OUT_RING(R300_ZC_FLUSH | R300_ZC_FREE); \
1280 } \ 1285 } \
1281} while (0) 1286} while (0)
1282 1287
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index d402e8d813ce..3309e862f317 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -540,6 +540,15 @@ config SENSORS_LM93
540 This driver can also be built as a module. If so, the module 540 This driver can also be built as a module. If so, the module
541 will be called lm93. 541 will be called lm93.
542 542
543config SENSORS_MAX1111
544 tristate "Maxim MAX1111 Multichannel, Serial 8-bit ADC chip"
545 depends on SPI_MASTER
546 help
547 Say y here to support Maxim's MAX1111 ADC chips.
548
549 This driver can also be built as a module. If so, the module
550 will be called max1111.
551
543config SENSORS_MAX1619 552config SENSORS_MAX1619
544 tristate "Maxim MAX1619 sensor chip" 553 tristate "Maxim MAX1619 sensor chip"
545 depends on I2C 554 depends on I2C
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index 950134ab8426..6babc801b348 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -59,6 +59,7 @@ obj-$(CONFIG_SENSORS_LM87) += lm87.o
59obj-$(CONFIG_SENSORS_LM90) += lm90.o 59obj-$(CONFIG_SENSORS_LM90) += lm90.o
60obj-$(CONFIG_SENSORS_LM92) += lm92.o 60obj-$(CONFIG_SENSORS_LM92) += lm92.o
61obj-$(CONFIG_SENSORS_LM93) += lm93.o 61obj-$(CONFIG_SENSORS_LM93) += lm93.o
62obj-$(CONFIG_SENSORS_MAX1111) += max1111.o
62obj-$(CONFIG_SENSORS_MAX1619) += max1619.o 63obj-$(CONFIG_SENSORS_MAX1619) += max1619.o
63obj-$(CONFIG_SENSORS_MAX6650) += max6650.o 64obj-$(CONFIG_SENSORS_MAX6650) += max6650.o
64obj-$(CONFIG_SENSORS_PC87360) += pc87360.o 65obj-$(CONFIG_SENSORS_PC87360) += pc87360.o
diff --git a/drivers/hwmon/max1111.c b/drivers/hwmon/max1111.c
new file mode 100644
index 000000000000..bfaa665ccf32
--- /dev/null
+++ b/drivers/hwmon/max1111.c
@@ -0,0 +1,244 @@
1/*
2 * max1111.c - +2.7V, Low-Power, Multichannel, Serial 8-bit ADCs
3 *
4 * Based on arch/arm/mach-pxa/corgi_ssp.c
5 *
6 * Copyright (C) 2004-2005 Richard Purdie
7 *
8 * Copyright (C) 2008 Marvell International Ltd.
9 * Eric Miao <eric.miao@marvell.com>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * publishhed by the Free Software Foundation.
14 */
15
16#include <linux/module.h>
17#include <linux/kernel.h>
18#include <linux/init.h>
19#include <linux/err.h>
20#include <linux/hwmon.h>
21#include <linux/hwmon-sysfs.h>
22#include <linux/spi/spi.h>
23
24#define MAX1111_TX_BUF_SIZE 1
25#define MAX1111_RX_BUF_SIZE 2
26
27/* MAX1111 Commands */
28#define MAX1111_CTRL_PD0 (1u << 0)
29#define MAX1111_CTRL_PD1 (1u << 1)
30#define MAX1111_CTRL_SGL (1u << 2)
31#define MAX1111_CTRL_UNI (1u << 3)
32#define MAX1111_CTRL_SEL_SH (5) /* NOTE: bit 4 is ignored */
33#define MAX1111_CTRL_STR (1u << 7)
34
35struct max1111_data {
36 struct spi_device *spi;
37 struct device *hwmon_dev;
38 struct spi_message msg;
39 struct spi_transfer xfer[2];
40 uint8_t *tx_buf;
41 uint8_t *rx_buf;
42};
43
44static int max1111_read(struct device *dev, int channel)
45{
46 struct max1111_data *data = dev_get_drvdata(dev);
47 uint8_t v1, v2;
48 int err;
49
50 data->tx_buf[0] = (channel << MAX1111_CTRL_SEL_SH) |
51 MAX1111_CTRL_PD0 | MAX1111_CTRL_PD1 |
52 MAX1111_CTRL_SGL | MAX1111_CTRL_UNI | MAX1111_CTRL_STR;
53
54 err = spi_sync(data->spi, &data->msg);
55 if (err < 0) {
56 dev_err(dev, "spi_sync failed with %d\n", err);
57 return err;
58 }
59
60 v1 = data->rx_buf[0];
61 v2 = data->rx_buf[1];
62
63 if ((v1 & 0xc0) || (v2 & 0x3f))
64 return -EINVAL;
65
66 return (v1 << 2) | (v2 >> 6);
67}
68
69#ifdef CONFIG_SHARPSL_PM
70static struct max1111_data *the_max1111;
71
72int max1111_read_channel(int channel)
73{
74 return max1111_read(&the_max1111->spi->dev, channel);
75}
76EXPORT_SYMBOL(max1111_read_channel);
77#endif
78
79/*
80 * NOTE: SPI devices do not have a default 'name' attribute, which is
81 * likely to be used by hwmon applications to distinguish between
82 * different devices, explicitly add a name attribute here.
83 */
84static ssize_t show_name(struct device *dev,
85 struct device_attribute *attr, char *buf)
86{
87 return sprintf(buf, "max1111\n");
88}
89
90static ssize_t show_adc(struct device *dev,
91 struct device_attribute *attr, char *buf)
92{
93 int channel = to_sensor_dev_attr(attr)->index;
94 int ret;
95
96 ret = max1111_read(dev, channel);
97 if (ret < 0)
98 return ret;
99
100 return sprintf(buf, "%d\n", ret);
101}
102
103#define MAX1111_ADC_ATTR(_id) \
104 SENSOR_DEVICE_ATTR(adc##_id##_in, S_IRUGO, show_adc, NULL, _id)
105
106static DEVICE_ATTR(name, S_IRUGO, show_name, NULL);
107static MAX1111_ADC_ATTR(0);
108static MAX1111_ADC_ATTR(1);
109static MAX1111_ADC_ATTR(2);
110static MAX1111_ADC_ATTR(3);
111
112static struct attribute *max1111_attributes[] = {
113 &dev_attr_name.attr,
114 &sensor_dev_attr_adc0_in.dev_attr.attr,
115 &sensor_dev_attr_adc1_in.dev_attr.attr,
116 &sensor_dev_attr_adc2_in.dev_attr.attr,
117 &sensor_dev_attr_adc3_in.dev_attr.attr,
118 NULL,
119};
120
121static const struct attribute_group max1111_attr_group = {
122 .attrs = max1111_attributes,
123};
124
125static int setup_transfer(struct max1111_data *data)
126{
127 struct spi_message *m;
128 struct spi_transfer *x;
129
130 data->tx_buf = kmalloc(MAX1111_TX_BUF_SIZE, GFP_KERNEL);
131 if (!data->tx_buf)
132 return -ENOMEM;
133
134 data->rx_buf = kmalloc(MAX1111_RX_BUF_SIZE, GFP_KERNEL);
135 if (!data->rx_buf) {
136 kfree(data->tx_buf);
137 return -ENOMEM;
138 }
139
140 m = &data->msg;
141 x = &data->xfer[0];
142
143 spi_message_init(m);
144
145 x->tx_buf = &data->tx_buf[0];
146 x->len = 1;
147 spi_message_add_tail(x, m);
148
149 x++;
150 x->rx_buf = &data->rx_buf[0];
151 x->len = 2;
152 spi_message_add_tail(x, m);
153
154 return 0;
155}
156
157static int __devinit max1111_probe(struct spi_device *spi)
158{
159 struct max1111_data *data;
160 int err;
161
162 spi->bits_per_word = 8;
163 spi->mode = SPI_MODE_0;
164 err = spi_setup(spi);
165 if (err < 0)
166 return err;
167
168 data = kzalloc(sizeof(struct max1111_data), GFP_KERNEL);
169 if (data == NULL) {
170 dev_err(&spi->dev, "failed to allocate memory\n");
171 return -ENOMEM;
172 }
173
174 err = setup_transfer(data);
175 if (err)
176 goto err_free_data;
177
178 data->spi = spi;
179 spi_set_drvdata(spi, data);
180
181 err = sysfs_create_group(&spi->dev.kobj, &max1111_attr_group);
182 if (err) {
183 dev_err(&spi->dev, "failed to create attribute group\n");
184 goto err_free_all;
185 }
186
187 data->hwmon_dev = hwmon_device_register(&spi->dev);
188 if (IS_ERR(data->hwmon_dev)) {
189 dev_err(&spi->dev, "failed to create hwmon device\n");
190 err = PTR_ERR(data->hwmon_dev);
191 goto err_remove;
192 }
193
194#ifdef CONFIG_SHARPSL_PM
195 the_max1111 = data;
196#endif
197 return 0;
198
199err_remove:
200 sysfs_remove_group(&spi->dev.kobj, &max1111_attr_group);
201err_free_all:
202 kfree(data->rx_buf);
203 kfree(data->tx_buf);
204err_free_data:
205 kfree(data);
206 return err;
207}
208
209static int __devexit max1111_remove(struct spi_device *spi)
210{
211 struct max1111_data *data = spi_get_drvdata(spi);
212
213 hwmon_device_unregister(data->hwmon_dev);
214 sysfs_remove_group(&spi->dev.kobj, &max1111_attr_group);
215 kfree(data->rx_buf);
216 kfree(data->tx_buf);
217 kfree(data);
218 return 0;
219}
220
221static struct spi_driver max1111_driver = {
222 .driver = {
223 .name = "max1111",
224 .owner = THIS_MODULE,
225 },
226 .probe = max1111_probe,
227 .remove = __devexit_p(max1111_remove),
228};
229
230static int __init max1111_init(void)
231{
232 return spi_register_driver(&max1111_driver);
233}
234module_init(max1111_init);
235
236static void __exit max1111_exit(void)
237{
238 spi_unregister_driver(&max1111_driver);
239}
240module_exit(max1111_exit);
241
242MODULE_AUTHOR("Eric Miao <eric.miao@marvell.com>");
243MODULE_DESCRIPTION("MAX1111 ADC Driver");
244MODULE_LICENSE("GPL");
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
index 840e634fa31f..640cbb237328 100644
--- a/drivers/i2c/busses/i2c-sh_mobile.c
+++ b/drivers/i2c/busses/i2c-sh_mobile.c
@@ -31,13 +31,84 @@
31#include <linux/clk.h> 31#include <linux/clk.h>
32#include <linux/io.h> 32#include <linux/io.h>
33 33
34/* Transmit operation: */
35/* */
36/* 0 byte transmit */
37/* BUS: S A8 ACK P */
38/* IRQ: DTE WAIT */
39/* ICIC: */
40/* ICCR: 0x94 0x90 */
41/* ICDR: A8 */
42/* */
43/* 1 byte transmit */
44/* BUS: S A8 ACK D8(1) ACK P */
45/* IRQ: DTE WAIT WAIT */
46/* ICIC: -DTE */
47/* ICCR: 0x94 0x90 */
48/* ICDR: A8 D8(1) */
49/* */
50/* 2 byte transmit */
51/* BUS: S A8 ACK D8(1) ACK D8(2) ACK P */
52/* IRQ: DTE WAIT WAIT WAIT */
53/* ICIC: -DTE */
54/* ICCR: 0x94 0x90 */
55/* ICDR: A8 D8(1) D8(2) */
56/* */
57/* 3 bytes or more, +---------+ gets repeated */
58/* */
59/* */
60/* Receive operation: */
61/* */
62/* 0 byte receive - not supported since slave may hold SDA low */
63/* */
64/* 1 byte receive [TX] | [RX] */
65/* BUS: S A8 ACK | D8(1) ACK P */
66/* IRQ: DTE WAIT | WAIT DTE */
67/* ICIC: -DTE | +DTE */
68/* ICCR: 0x94 0x81 | 0xc0 */
69/* ICDR: A8 | D8(1) */
70/* */
71/* 2 byte receive [TX]| [RX] */
72/* BUS: S A8 ACK | D8(1) ACK D8(2) ACK P */
73/* IRQ: DTE WAIT | WAIT WAIT DTE */
74/* ICIC: -DTE | +DTE */
75/* ICCR: 0x94 0x81 | 0xc0 */
76/* ICDR: A8 | D8(1) D8(2) */
77/* */
78/* 3 byte receive [TX] | [RX] */
79/* BUS: S A8 ACK | D8(1) ACK D8(2) ACK D8(3) ACK P */
80/* IRQ: DTE WAIT | WAIT WAIT WAIT DTE */
81/* ICIC: -DTE | +DTE */
82/* ICCR: 0x94 0x81 | 0xc0 */
83/* ICDR: A8 | D8(1) D8(2) D8(3) */
84/* */
85/* 4 bytes or more, this part is repeated +---------+ */
86/* */
87/* */
88/* Interrupt order and BUSY flag */
89/* ___ _ */
90/* SDA ___\___XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAAAAAAAA___/ */
91/* SCL \_/1\_/2\_/3\_/4\_/5\_/6\_/7\_/8\___/9\_____/ */
92/* */
93/* S D7 D6 D5 D4 D3 D2 D1 D0 P */
94/* ___ */
95/* WAIT IRQ ________________________________/ \___________ */
96/* TACK IRQ ____________________________________/ \_______ */
97/* DTE IRQ __________________________________________/ \_ */
98/* AL IRQ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
99/* _______________________________________________ */
100/* BUSY __/ \_ */
101/* */
102
34enum sh_mobile_i2c_op { 103enum sh_mobile_i2c_op {
35 OP_START = 0, 104 OP_START = 0,
36 OP_TX_ONLY, 105 OP_TX_FIRST,
106 OP_TX,
37 OP_TX_STOP, 107 OP_TX_STOP,
38 OP_TX_TO_RX, 108 OP_TX_TO_RX,
39 OP_RX_ONLY, 109 OP_RX,
40 OP_RX_STOP, 110 OP_RX_STOP,
111 OP_RX_STOP_DATA,
41}; 112};
42 113
43struct sh_mobile_i2c_data { 114struct sh_mobile_i2c_data {
@@ -127,25 +198,34 @@ static unsigned char i2c_op(struct sh_mobile_i2c_data *pd,
127 spin_lock_irqsave(&pd->lock, flags); 198 spin_lock_irqsave(&pd->lock, flags);
128 199
129 switch (op) { 200 switch (op) {
130 case OP_START: 201 case OP_START: /* issue start and trigger DTE interrupt */
131 iowrite8(0x94, ICCR(pd)); 202 iowrite8(0x94, ICCR(pd));
132 break; 203 break;
133 case OP_TX_ONLY: 204 case OP_TX_FIRST: /* disable DTE interrupt and write data */
205 iowrite8(ICIC_WAITE | ICIC_ALE | ICIC_TACKE, ICIC(pd));
134 iowrite8(data, ICDR(pd)); 206 iowrite8(data, ICDR(pd));
135 break; 207 break;
136 case OP_TX_STOP: 208 case OP_TX: /* write data */
137 iowrite8(data, ICDR(pd)); 209 iowrite8(data, ICDR(pd));
138 iowrite8(0x90, ICCR(pd));
139 iowrite8(ICIC_ALE | ICIC_TACKE, ICIC(pd));
140 break; 210 break;
141 case OP_TX_TO_RX: 211 case OP_TX_STOP: /* write data and issue a stop afterwards */
142 iowrite8(data, ICDR(pd)); 212 iowrite8(data, ICDR(pd));
213 iowrite8(0x90, ICCR(pd));
214 break;
215 case OP_TX_TO_RX: /* select read mode */
143 iowrite8(0x81, ICCR(pd)); 216 iowrite8(0x81, ICCR(pd));
144 break; 217 break;
145 case OP_RX_ONLY: 218 case OP_RX: /* just read data */
146 ret = ioread8(ICDR(pd)); 219 ret = ioread8(ICDR(pd));
147 break; 220 break;
148 case OP_RX_STOP: 221 case OP_RX_STOP: /* enable DTE interrupt, issue stop */
222 iowrite8(ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE,
223 ICIC(pd));
224 iowrite8(0xc0, ICCR(pd));
225 break;
226 case OP_RX_STOP_DATA: /* enable DTE interrupt, read data, issue stop */
227 iowrite8(ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE,
228 ICIC(pd));
149 ret = ioread8(ICDR(pd)); 229 ret = ioread8(ICDR(pd));
150 iowrite8(0xc0, ICCR(pd)); 230 iowrite8(0xc0, ICCR(pd));
151 break; 231 break;
@@ -157,58 +237,120 @@ static unsigned char i2c_op(struct sh_mobile_i2c_data *pd,
157 return ret; 237 return ret;
158} 238}
159 239
240static int sh_mobile_i2c_is_first_byte(struct sh_mobile_i2c_data *pd)
241{
242 if (pd->pos == -1)
243 return 1;
244
245 return 0;
246}
247
248static int sh_mobile_i2c_is_last_byte(struct sh_mobile_i2c_data *pd)
249{
250 if (pd->pos == (pd->msg->len - 1))
251 return 1;
252
253 return 0;
254}
255
256static void sh_mobile_i2c_get_data(struct sh_mobile_i2c_data *pd,
257 unsigned char *buf)
258{
259 switch (pd->pos) {
260 case -1:
261 *buf = (pd->msg->addr & 0x7f) << 1;
262 *buf |= (pd->msg->flags & I2C_M_RD) ? 1 : 0;
263 break;
264 default:
265 *buf = pd->msg->buf[pd->pos];
266 }
267}
268
269static int sh_mobile_i2c_isr_tx(struct sh_mobile_i2c_data *pd)
270{
271 unsigned char data;
272
273 if (pd->pos == pd->msg->len)
274 return 1;
275
276 sh_mobile_i2c_get_data(pd, &data);
277
278 if (sh_mobile_i2c_is_last_byte(pd))
279 i2c_op(pd, OP_TX_STOP, data);
280 else if (sh_mobile_i2c_is_first_byte(pd))
281 i2c_op(pd, OP_TX_FIRST, data);
282 else
283 i2c_op(pd, OP_TX, data);
284
285 pd->pos++;
286 return 0;
287}
288
289static int sh_mobile_i2c_isr_rx(struct sh_mobile_i2c_data *pd)
290{
291 unsigned char data;
292 int real_pos;
293
294 do {
295 if (pd->pos <= -1) {
296 sh_mobile_i2c_get_data(pd, &data);
297
298 if (sh_mobile_i2c_is_first_byte(pd))
299 i2c_op(pd, OP_TX_FIRST, data);
300 else
301 i2c_op(pd, OP_TX, data);
302 break;
303 }
304
305 if (pd->pos == 0) {
306 i2c_op(pd, OP_TX_TO_RX, 0);
307 break;
308 }
309
310 real_pos = pd->pos - 2;
311
312 if (pd->pos == pd->msg->len) {
313 if (real_pos < 0) {
314 i2c_op(pd, OP_RX_STOP, 0);
315 break;
316 }
317 data = i2c_op(pd, OP_RX_STOP_DATA, 0);
318 } else
319 data = i2c_op(pd, OP_RX, 0);
320
321 pd->msg->buf[real_pos] = data;
322 } while (0);
323
324 pd->pos++;
325 return pd->pos == (pd->msg->len + 2);
326}
327
160static irqreturn_t sh_mobile_i2c_isr(int irq, void *dev_id) 328static irqreturn_t sh_mobile_i2c_isr(int irq, void *dev_id)
161{ 329{
162 struct platform_device *dev = dev_id; 330 struct platform_device *dev = dev_id;
163 struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev); 331 struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev);
164 struct i2c_msg *msg = pd->msg; 332 unsigned char sr;
165 unsigned char data, sr; 333 int wakeup;
166 int wakeup = 0;
167 334
168 sr = ioread8(ICSR(pd)); 335 sr = ioread8(ICSR(pd));
169 pd->sr |= sr; 336 pd->sr |= sr; /* remember state */
170 337
171 dev_dbg(pd->dev, "i2c_isr 0x%02x 0x%02x %s %d %d!\n", sr, pd->sr, 338 dev_dbg(pd->dev, "i2c_isr 0x%02x 0x%02x %s %d %d!\n", sr, pd->sr,
172 (msg->flags & I2C_M_RD) ? "read" : "write", 339 (pd->msg->flags & I2C_M_RD) ? "read" : "write",
173 pd->pos, msg->len); 340 pd->pos, pd->msg->len);
174 341
175 if (sr & (ICSR_AL | ICSR_TACK)) { 342 if (sr & (ICSR_AL | ICSR_TACK)) {
176 iowrite8(0, ICIC(pd)); /* disable interrupts */ 343 /* don't interrupt transaction - continue to issue stop */
177 wakeup = 1; 344 iowrite8(sr & ~(ICSR_AL | ICSR_TACK), ICSR(pd));
178 goto do_wakeup; 345 wakeup = 0;
179 } 346 } else if (pd->msg->flags & I2C_M_RD)
347 wakeup = sh_mobile_i2c_isr_rx(pd);
348 else
349 wakeup = sh_mobile_i2c_isr_tx(pd);
180 350
181 if (pd->pos == msg->len) { 351 if (sr & ICSR_WAIT) /* TODO: add delay here to support slow acks */
182 i2c_op(pd, OP_RX_ONLY, 0); 352 iowrite8(sr & ~ICSR_WAIT, ICSR(pd));
183 wakeup = 1;
184 goto do_wakeup;
185 }
186 353
187 if (pd->pos == -1) {
188 data = (msg->addr & 0x7f) << 1;
189 data |= (msg->flags & I2C_M_RD) ? 1 : 0;
190 } else
191 data = msg->buf[pd->pos];
192
193 if ((pd->pos == -1) || !(msg->flags & I2C_M_RD)) {
194 if (msg->flags & I2C_M_RD)
195 i2c_op(pd, OP_TX_TO_RX, data);
196 else if (pd->pos == (msg->len - 1)) {
197 i2c_op(pd, OP_TX_STOP, data);
198 wakeup = 1;
199 } else
200 i2c_op(pd, OP_TX_ONLY, data);
201 } else {
202 if (pd->pos == (msg->len - 1))
203 data = i2c_op(pd, OP_RX_STOP, 0);
204 else
205 data = i2c_op(pd, OP_RX_ONLY, 0);
206
207 msg->buf[pd->pos] = data;
208 }
209 pd->pos++;
210
211 do_wakeup:
212 if (wakeup) { 354 if (wakeup) {
213 pd->sr |= SW_DONE; 355 pd->sr |= SW_DONE;
214 wake_up(&pd->wait); 356 wake_up(&pd->wait);
@@ -219,6 +361,11 @@ static irqreturn_t sh_mobile_i2c_isr(int irq, void *dev_id)
219 361
220static int start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg) 362static int start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg)
221{ 363{
364 if (usr_msg->len == 0 && (usr_msg->flags & I2C_M_RD)) {
365 dev_err(pd->dev, "Unsupported zero length i2c read\n");
366 return -EIO;
367 }
368
222 /* Initialize channel registers */ 369 /* Initialize channel registers */
223 iowrite8(ioread8(ICCR(pd)) & ~ICCR_ICE, ICCR(pd)); 370 iowrite8(ioread8(ICCR(pd)) & ~ICCR_ICE, ICCR(pd));
224 371
@@ -233,9 +380,8 @@ static int start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg)
233 pd->pos = -1; 380 pd->pos = -1;
234 pd->sr = 0; 381 pd->sr = 0;
235 382
236 /* Enable all interrupts except wait */ 383 /* Enable all interrupts to begin with */
237 iowrite8(ioread8(ICIC(pd)) | ICIC_ALE | ICIC_TACKE | ICIC_DTEE, 384 iowrite8(ICIC_WAITE | ICIC_ALE | ICIC_TACKE | ICIC_DTEE, ICIC(pd));
238 ICIC(pd));
239 return 0; 385 return 0;
240} 386}
241 387
@@ -268,25 +414,18 @@ static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
268 if (!k) 414 if (!k)
269 dev_err(pd->dev, "Transfer request timed out\n"); 415 dev_err(pd->dev, "Transfer request timed out\n");
270 416
271 retry_count = 10; 417 retry_count = 1000;
272again: 418again:
273 val = ioread8(ICSR(pd)); 419 val = ioread8(ICSR(pd));
274 420
275 dev_dbg(pd->dev, "val 0x%02x pd->sr 0x%02x\n", val, pd->sr); 421 dev_dbg(pd->dev, "val 0x%02x pd->sr 0x%02x\n", val, pd->sr);
276 422
277 if ((val | pd->sr) & (ICSR_TACK | ICSR_AL)) {
278 err = -EIO;
279 break;
280 }
281
282 /* the interrupt handler may wake us up before the 423 /* the interrupt handler may wake us up before the
283 * transfer is finished, so poll the hardware 424 * transfer is finished, so poll the hardware
284 * until we're done. 425 * until we're done.
285 */ 426 */
286 427 if (val & ICSR_BUSY) {
287 if (!(!(val & ICSR_BUSY) && (val & ICSR_SCLM) && 428 udelay(10);
288 (val & ICSR_SDAM))) {
289 msleep(1);
290 if (retry_count--) 429 if (retry_count--)
291 goto again; 430 goto again;
292 431
@@ -294,6 +433,12 @@ again:
294 dev_err(pd->dev, "Polling timed out\n"); 433 dev_err(pd->dev, "Polling timed out\n");
295 break; 434 break;
296 } 435 }
436
437 /* handle missing acknowledge and arbitration lost */
438 if ((val | pd->sr) & (ICSR_TACK | ICSR_AL)) {
439 err = -EIO;
440 break;
441 }
297 } 442 }
298 443
299 deactivate_ch(pd); 444 deactivate_ch(pd);
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 550853f79ae8..b346a687ab59 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -108,6 +108,9 @@ static int i2c_device_probe(struct device *dev)
108 if (!driver->probe || !driver->id_table) 108 if (!driver->probe || !driver->id_table)
109 return -ENODEV; 109 return -ENODEV;
110 client->driver = driver; 110 client->driver = driver;
111 if (!device_can_wakeup(&client->dev))
112 device_init_wakeup(&client->dev,
113 client->flags & I2C_CLIENT_WAKE);
111 dev_dbg(dev, "probe\n"); 114 dev_dbg(dev, "probe\n");
112 115
113 status = driver->probe(client, i2c_match_id(driver->id_table, client)); 116 status = driver->probe(client, i2c_match_id(driver->id_table, client));
@@ -262,9 +265,8 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
262 client->adapter = adap; 265 client->adapter = adap;
263 266
264 client->dev.platform_data = info->platform_data; 267 client->dev.platform_data = info->platform_data;
265 device_init_wakeup(&client->dev, info->flags & I2C_CLIENT_WAKE);
266 268
267 client->flags = info->flags & ~I2C_CLIENT_WAKE; 269 client->flags = info->flags;
268 client->addr = info->addr; 270 client->addr = info->addr;
269 client->irq = info->irq; 271 client->irq = info->irq;
270 272
@@ -1188,8 +1190,8 @@ int i2c_probe(struct i2c_adapter *adapter,
1188 && address_data->normal_i2c[0] == I2C_CLIENT_END) 1190 && address_data->normal_i2c[0] == I2C_CLIENT_END)
1189 return 0; 1191 return 0;
1190 1192
1191 dev_warn(&adapter->dev, "SMBus Quick command not supported, " 1193 dev_dbg(&adapter->dev, "SMBus Quick command not supported, "
1192 "can't probe for chips\n"); 1194 "can't probe for chips\n");
1193 return -EOPNOTSUPP; 1195 return -EOPNOTSUPP;
1194 } 1196 }
1195 1197
@@ -1350,6 +1352,10 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
1350 } 1352 }
1351 } 1353 }
1352 1354
1355 /* Stop here if the classes do not match */
1356 if (!(adapter->class & driver->class))
1357 goto exit_free;
1358
1353 /* Stop here if we can't use SMBUS_QUICK */ 1359 /* Stop here if we can't use SMBUS_QUICK */
1354 if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) { 1360 if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) {
1355 if (address_data->probe[0] == I2C_CLIENT_END 1361 if (address_data->probe[0] == I2C_CLIENT_END
@@ -1362,10 +1368,6 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
1362 goto exit_free; 1368 goto exit_free;
1363 } 1369 }
1364 1370
1365 /* Stop here if the classes do not match */
1366 if (!(adapter->class & driver->class))
1367 goto exit_free;
1368
1369 /* Probe entries are done second, and are not affected by ignore 1371 /* Probe entries are done second, and are not affected by ignore
1370 entries either */ 1372 entries either */
1371 for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) { 1373 for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) {
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index a34758d29516..fc735ab08ff4 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -242,7 +242,7 @@ config BLK_DEV_IDEFLOPPY
242 module will be called ide-floppy. 242 module will be called ide-floppy.
243 243
244config BLK_DEV_IDESCSI 244config BLK_DEV_IDESCSI
245 tristate "SCSI emulation support" 245 tristate "SCSI emulation support (DEPRECATED)"
246 depends on SCSI 246 depends on SCSI
247 select IDE_ATAPI 247 select IDE_ATAPI
248 ---help--- 248 ---help---
@@ -255,20 +255,6 @@ config BLK_DEV_IDESCSI
255 and will allow you to use a SCSI device driver instead of a native 255 and will allow you to use a SCSI device driver instead of a native
256 ATAPI driver. 256 ATAPI driver.
257 257
258 This is useful if you have an ATAPI device for which no native
259 driver has been written (for example, an ATAPI PD-CD drive);
260 you can then use this emulation together with an appropriate SCSI
261 device driver. In order to do this, say Y here and to "SCSI support"
262 and "SCSI generic support", below. You must then provide the kernel
263 command line "hdx=ide-scsi" (try "man bootparam" or see the
264 documentation of your boot loader (lilo or loadlin) about how to
265 pass options to the kernel at boot time) for devices if you want the
266 native EIDE sub-drivers to skip over the native support, so that
267 this SCSI emulation can be used instead.
268
269 Note that this option does NOT allow you to attach SCSI devices to a
270 box that doesn't have a SCSI host adapter installed.
271
272 If both this SCSI emulation and native ATAPI support are compiled 258 If both this SCSI emulation and native ATAPI support are compiled
273 into the kernel, the native support will be used. 259 into the kernel, the native support will be used.
274 260
diff --git a/drivers/ide/arm/palm_bk3710.c b/drivers/ide/arm/palm_bk3710.c
index f788fa5a977b..4fd91dcf1dc2 100644
--- a/drivers/ide/arm/palm_bk3710.c
+++ b/drivers/ide/arm/palm_bk3710.c
@@ -343,11 +343,10 @@ static struct ide_port_info __devinitdata palm_bk3710_port_info = {
343 .mwdma_mask = ATA_MWDMA2, 343 .mwdma_mask = ATA_MWDMA2,
344}; 344};
345 345
346static int __devinit palm_bk3710_probe(struct platform_device *pdev) 346static int __init palm_bk3710_probe(struct platform_device *pdev)
347{ 347{
348 struct clk *clk; 348 struct clk *clk;
349 struct resource *mem, *irq; 349 struct resource *mem, *irq;
350 struct ide_host *host;
351 unsigned long base, rate; 350 unsigned long base, rate;
352 int i, rc; 351 int i, rc;
353 hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; 352 hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL };
@@ -390,6 +389,7 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev)
390 hw.io_ports_array[i] = base + IDE_PALM_ATA_PRI_REG_OFFSET + i; 389 hw.io_ports_array[i] = base + IDE_PALM_ATA_PRI_REG_OFFSET + i;
391 hw.io_ports.ctl_addr = base + IDE_PALM_ATA_PRI_CTL_OFFSET; 390 hw.io_ports.ctl_addr = base + IDE_PALM_ATA_PRI_CTL_OFFSET;
392 hw.irq = irq->start; 391 hw.irq = irq->start;
392 hw.dev = &pdev->dev;
393 hw.chipset = ide_palm3710; 393 hw.chipset = ide_palm3710;
394 394
395 palm_bk3710_port_info.udma_mask = rate < 100000000 ? ATA_UDMA4 : 395 palm_bk3710_port_info.udma_mask = rate < 100000000 ? ATA_UDMA4 :
@@ -413,13 +413,11 @@ static struct platform_driver platform_bk_driver = {
413 .name = "palm_bk3710", 413 .name = "palm_bk3710",
414 .owner = THIS_MODULE, 414 .owner = THIS_MODULE,
415 }, 415 },
416 .probe = palm_bk3710_probe,
417 .remove = NULL,
418}; 416};
419 417
420static int __init palm_bk3710_init(void) 418static int __init palm_bk3710_init(void)
421{ 419{
422 return platform_driver_register(&platform_bk_driver); 420 return platform_driver_probe(&platform_bk_driver, palm_bk3710_probe);
423} 421}
424 422
425module_init(palm_bk3710_init); 423module_init(palm_bk3710_init);
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 49a8c589e346..f1489999cf91 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1933,6 +1933,7 @@ static void ide_cd_remove(ide_drive_t *drive)
1933 1933
1934 ide_proc_unregister_driver(drive, info->driver); 1934 ide_proc_unregister_driver(drive, info->driver);
1935 1935
1936 blk_unregister_filter(info->disk);
1936 del_gendisk(info->disk); 1937 del_gendisk(info->disk);
1937 1938
1938 ide_cd_put(info); 1939 ide_cd_put(info);
@@ -2158,6 +2159,7 @@ static int ide_cd_probe(ide_drive_t *drive)
2158 g->fops = &idecd_ops; 2159 g->fops = &idecd_ops;
2159 g->flags |= GENHD_FL_REMOVABLE; 2160 g->flags |= GENHD_FL_REMOVABLE;
2160 add_disk(g); 2161 add_disk(g);
2162 blk_register_filter(g);
2161 return 0; 2163 return 0;
2162 2164
2163out_free_cd: 2165out_free_cd:
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 68b9cf0138b0..07ef88bd109b 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -445,20 +445,6 @@ static void idedisk_check_hpa(ide_drive_t *drive)
445 } 445 }
446} 446}
447 447
448/*
449 * Compute drive->capacity, the full capacity of the drive
450 * Called with drive->id != NULL.
451 *
452 * To compute capacity, this uses either of
453 *
454 * 1. CHS value set by user (whatever user sets will be trusted)
455 * 2. LBA value from target drive (require new ATA feature)
456 * 3. LBA value from system BIOS (new one is OK, old one may break)
457 * 4. CHS value from system BIOS (traditional style)
458 *
459 * in above order (i.e., if value of higher priority is available,
460 * reset will be ignored).
461 */
462static void init_idedisk_capacity(ide_drive_t *drive) 448static void init_idedisk_capacity(ide_drive_t *drive)
463{ 449{
464 struct hd_driveid *id = drive->id; 450 struct hd_driveid *id = drive->id;
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c
index a4cdb465cd1d..87f5c5a87b98 100644
--- a/drivers/infiniband/hw/mlx4/mr.c
+++ b/drivers/infiniband/hw/mlx4/mr.c
@@ -204,6 +204,8 @@ struct ib_mr *mlx4_ib_alloc_fast_reg_mr(struct ib_pd *pd,
204 if (err) 204 if (err)
205 goto err_mr; 205 goto err_mr;
206 206
207 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key;
208
207 return &mr->ibmr; 209 return &mr->ibmr;
208 210
209err_mr: 211err_mr:
diff --git a/drivers/input/keyboard/bf54x-keys.c b/drivers/input/keyboard/bf54x-keys.c
index 6f227d3dbda1..e348cfccc17a 100644
--- a/drivers/input/keyboard/bf54x-keys.c
+++ b/drivers/input/keyboard/bf54x-keys.c
@@ -43,7 +43,7 @@
43#include <linux/input.h> 43#include <linux/input.h>
44 44
45#include <asm/portmux.h> 45#include <asm/portmux.h>
46#include <asm/mach/bf54x_keys.h> 46#include <mach/bf54x_keys.h>
47 47
48#define DRV_NAME "bf54x-keys" 48#define DRV_NAME "bf54x-keys"
49#define TIME_SCALE 100 /* 100 ns */ 49#define TIME_SCALE 100 /* 100 ns */
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 2ec921bf3c60..18f4d7f6ce6d 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -63,7 +63,7 @@
63} 63}
64 64
65/* table of devices that work with this driver */ 65/* table of devices that work with this driver */
66static const struct usb_device_id bcm5974_table [] = { 66static const struct usb_device_id bcm5974_table[] = {
67 /* MacbookAir1.1 */ 67 /* MacbookAir1.1 */
68 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING_ANSI), 68 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
69 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING_ISO), 69 BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
@@ -105,7 +105,7 @@ struct tp_header {
105 105
106/* trackpad finger structure */ 106/* trackpad finger structure */
107struct tp_finger { 107struct tp_finger {
108 __le16 origin; /* left/right origin? */ 108 __le16 origin; /* zero when switching track finger */
109 __le16 abs_x; /* absolute x coodinate */ 109 __le16 abs_x; /* absolute x coodinate */
110 __le16 abs_y; /* absolute y coodinate */ 110 __le16 abs_y; /* absolute y coodinate */
111 __le16 rel_x; /* relative x coodinate */ 111 __le16 rel_x; /* relative x coodinate */
@@ -159,6 +159,7 @@ struct bcm5974 {
159 struct bt_data *bt_data; /* button transferred data */ 159 struct bt_data *bt_data; /* button transferred data */
160 struct urb *tp_urb; /* trackpad usb request block */ 160 struct urb *tp_urb; /* trackpad usb request block */
161 struct tp_data *tp_data; /* trackpad transferred data */ 161 struct tp_data *tp_data; /* trackpad transferred data */
162 int fingers; /* number of fingers on trackpad */
162}; 163};
163 164
164/* logical dimensions */ 165/* logical dimensions */
@@ -172,6 +173,10 @@ struct bcm5974 {
172#define SN_WIDTH 100 /* width signal-to-noise ratio */ 173#define SN_WIDTH 100 /* width signal-to-noise ratio */
173#define SN_COORD 250 /* coordinate signal-to-noise ratio */ 174#define SN_COORD 250 /* coordinate signal-to-noise ratio */
174 175
176/* pressure thresholds */
177#define PRESSURE_LOW (2 * DIM_PRESSURE / SN_PRESSURE)
178#define PRESSURE_HIGH (3 * PRESSURE_LOW)
179
175/* device constants */ 180/* device constants */
176static const struct bcm5974_config bcm5974_config_table[] = { 181static const struct bcm5974_config bcm5974_config_table[] = {
177 { 182 {
@@ -248,6 +253,7 @@ static void setup_events_to_report(struct input_dev *input_dev,
248 0, cfg->y.dim, cfg->y.fuzz, 0); 253 0, cfg->y.dim, cfg->y.fuzz, 0);
249 254
250 __set_bit(EV_KEY, input_dev->evbit); 255 __set_bit(EV_KEY, input_dev->evbit);
256 __set_bit(BTN_TOUCH, input_dev->keybit);
251 __set_bit(BTN_TOOL_FINGER, input_dev->keybit); 257 __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
252 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit); 258 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
253 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit); 259 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
@@ -273,32 +279,66 @@ static int report_tp_state(struct bcm5974 *dev, int size)
273 const struct tp_finger *f = dev->tp_data->finger; 279 const struct tp_finger *f = dev->tp_data->finger;
274 struct input_dev *input = dev->input; 280 struct input_dev *input = dev->input;
275 const int fingers = (size - 26) / 28; 281 const int fingers = (size - 26) / 28;
276 int p = 0, w, x, y, n = 0; 282 int raw_p, raw_w, raw_x, raw_y;
283 int ptest = 0, origin = 0, nmin = 0, nmax = 0;
284 int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
277 285
278 if (size < 26 || (size - 26) % 28 != 0) 286 if (size < 26 || (size - 26) % 28 != 0)
279 return -EIO; 287 return -EIO;
280 288
289 /* always track the first finger; when detached, start over */
281 if (fingers) { 290 if (fingers) {
282 p = raw2int(f->force_major); 291 raw_p = raw2int(f->force_major);
283 w = raw2int(f->size_major); 292 raw_w = raw2int(f->size_major);
284 x = raw2int(f->abs_x); 293 raw_x = raw2int(f->abs_x);
285 y = raw2int(f->abs_y); 294 raw_y = raw2int(f->abs_y);
286 n = p > 0 ? fingers : 0;
287 295
288 dprintk(9, 296 dprintk(9,
289 "bcm5974: p: %+05d w: %+05d x: %+05d y: %+05d n: %d\n", 297 "bcm5974: raw: p: %+05d w: %+05d x: %+05d y: %+05d\n",
290 p, w, x, y, n); 298 raw_p, raw_w, raw_x, raw_y);
299
300 ptest = int2bound(&c->p, raw_p);
301 origin = raw2int(f->origin);
302 }
291 303
292 input_report_abs(input, ABS_TOOL_WIDTH, int2bound(&c->w, w)); 304 /* while tracking finger still valid, count all fingers */
293 input_report_abs(input, ABS_X, int2bound(&c->x, x - c->x.devmin)); 305 if (ptest > PRESSURE_LOW && origin) {
294 input_report_abs(input, ABS_Y, int2bound(&c->y, c->y.devmax - y)); 306 abs_p = ptest;
307 abs_w = int2bound(&c->w, raw_w);
308 abs_x = int2bound(&c->x, raw_x - c->x.devmin);
309 abs_y = int2bound(&c->y, c->y.devmax - raw_y);
310 for (; f != dev->tp_data->finger + fingers; f++) {
311 ptest = int2bound(&c->p, raw2int(f->force_major));
312 if (ptest > PRESSURE_LOW)
313 nmax++;
314 if (ptest > PRESSURE_HIGH)
315 nmin++;
316 }
295 } 317 }
296 318
297 input_report_abs(input, ABS_PRESSURE, int2bound(&c->p, p)); 319 if (dev->fingers < nmin)
320 dev->fingers = nmin;
321 if (dev->fingers > nmax)
322 dev->fingers = nmax;
323
324 input_report_key(input, BTN_TOUCH, dev->fingers > 0);
325 input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1);
326 input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2);
327 input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers > 2);
298 328
299 input_report_key(input, BTN_TOOL_FINGER, n == 1); 329 input_report_abs(input, ABS_PRESSURE, abs_p);
300 input_report_key(input, BTN_TOOL_DOUBLETAP, n == 2); 330 input_report_abs(input, ABS_TOOL_WIDTH, abs_w);
301 input_report_key(input, BTN_TOOL_TRIPLETAP, n > 2); 331
332 if (abs_p) {
333 input_report_abs(input, ABS_X, abs_x);
334 input_report_abs(input, ABS_Y, abs_y);
335
336 dprintk(8,
337 "bcm5974: abs: p: %+05d w: %+05d x: %+05d y: %+05d "
338 "nmin: %d nmax: %d n: %d\n",
339 abs_p, abs_w, abs_x, abs_y, nmin, nmax, dev->fingers);
340
341 }
302 342
303 input_sync(input); 343 input_sync(input);
304 344
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 3282b741e246..5aafe24984c5 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -305,7 +305,7 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
305 .ident = "Lenovo 3000 n100", 305 .ident = "Lenovo 3000 n100",
306 .matches = { 306 .matches = {
307 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 307 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
308 DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"), 308 DMI_MATCH(DMI_PRODUCT_NAME, "076804U"),
309 }, 309 },
310 }, 310 },
311 { 311 {
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 25287e80e236..6e1e8c624f9e 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -220,6 +220,7 @@ config TOUCHSCREEN_ATMEL_TSADCC
220config TOUCHSCREEN_UCB1400 220config TOUCHSCREEN_UCB1400
221 tristate "Philips UCB1400 touchscreen" 221 tristate "Philips UCB1400 touchscreen"
222 select AC97_BUS 222 select AC97_BUS
223 depends on UCB1400_CORE
223 help 224 help
224 This enables support for the Philips UCB1400 touchscreen interface. 225 This enables support for the Philips UCB1400 touchscreen interface.
225 The UCB1400 is an AC97 audio codec. The touchscreen interface 226 The UCB1400 is an AC97 audio codec. The touchscreen interface
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index ce6f48c695f5..8583c766d565 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -24,6 +24,7 @@
24#include <linux/input.h> 24#include <linux/input.h>
25#include <linux/interrupt.h> 25#include <linux/interrupt.h>
26#include <linux/slab.h> 26#include <linux/slab.h>
27#include <linux/gpio.h>
27#include <linux/spi/spi.h> 28#include <linux/spi/spi.h>
28#include <linux/spi/ads7846.h> 29#include <linux/spi/ads7846.h>
29#include <asm/irq.h> 30#include <asm/irq.h>
@@ -116,6 +117,7 @@ struct ads7846 {
116 void *filter_data; 117 void *filter_data;
117 void (*filter_cleanup)(void *data); 118 void (*filter_cleanup)(void *data);
118 int (*get_pendown_state)(void); 119 int (*get_pendown_state)(void);
120 int gpio_pendown;
119}; 121};
120 122
121/* leave chip selected when we're done, for quicker re-select? */ 123/* leave chip selected when we're done, for quicker re-select? */
@@ -491,6 +493,14 @@ static struct attribute_group ads784x_attr_group = {
491 493
492/*--------------------------------------------------------------------------*/ 494/*--------------------------------------------------------------------------*/
493 495
496static int get_pendown_state(struct ads7846 *ts)
497{
498 if (ts->get_pendown_state)
499 return ts->get_pendown_state();
500
501 return !gpio_get_value(ts->gpio_pendown);
502}
503
494/* 504/*
495 * PENIRQ only kicks the timer. The timer only reissues the SPI transfer, 505 * PENIRQ only kicks the timer. The timer only reissues the SPI transfer,
496 * to retrieve touchscreen status. 506 * to retrieve touchscreen status.
@@ -550,7 +560,7 @@ static void ads7846_rx(void *ads)
550 */ 560 */
551 if (ts->penirq_recheck_delay_usecs) { 561 if (ts->penirq_recheck_delay_usecs) {
552 udelay(ts->penirq_recheck_delay_usecs); 562 udelay(ts->penirq_recheck_delay_usecs);
553 if (!ts->get_pendown_state()) 563 if (!get_pendown_state(ts))
554 Rt = 0; 564 Rt = 0;
555 } 565 }
556 566
@@ -677,7 +687,7 @@ static enum hrtimer_restart ads7846_timer(struct hrtimer *handle)
677 687
678 spin_lock_irq(&ts->lock); 688 spin_lock_irq(&ts->lock);
679 689
680 if (unlikely(!ts->get_pendown_state() || 690 if (unlikely(!get_pendown_state(ts) ||
681 device_suspended(&ts->spi->dev))) { 691 device_suspended(&ts->spi->dev))) {
682 if (ts->pendown) { 692 if (ts->pendown) {
683 struct input_dev *input = ts->input; 693 struct input_dev *input = ts->input;
@@ -716,7 +726,7 @@ static irqreturn_t ads7846_irq(int irq, void *handle)
716 unsigned long flags; 726 unsigned long flags;
717 727
718 spin_lock_irqsave(&ts->lock, flags); 728 spin_lock_irqsave(&ts->lock, flags);
719 if (likely(ts->get_pendown_state())) { 729 if (likely(get_pendown_state(ts))) {
720 if (!ts->irq_disabled) { 730 if (!ts->irq_disabled) {
721 /* The ARM do_simple_IRQ() dispatcher doesn't act 731 /* The ARM do_simple_IRQ() dispatcher doesn't act
722 * like the other dispatchers: it will report IRQs 732 * like the other dispatchers: it will report IRQs
@@ -806,6 +816,36 @@ static int ads7846_resume(struct spi_device *spi)
806 return 0; 816 return 0;
807} 817}
808 818
819static int __devinit setup_pendown(struct spi_device *spi, struct ads7846 *ts)
820{
821 struct ads7846_platform_data *pdata = spi->dev.platform_data;
822 int err;
823
824 /* REVISIT when the irq can be triggered active-low, or if for some
825 * reason the touchscreen isn't hooked up, we don't need to access
826 * the pendown state.
827 */
828 if (!pdata->get_pendown_state && !gpio_is_valid(pdata->gpio_pendown)) {
829 dev_err(&spi->dev, "no get_pendown_state nor gpio_pendown?\n");
830 return -EINVAL;
831 }
832
833 if (pdata->get_pendown_state) {
834 ts->get_pendown_state = pdata->get_pendown_state;
835 return 0;
836 }
837
838 err = gpio_request(pdata->gpio_pendown, "ads7846_pendown");
839 if (err) {
840 dev_err(&spi->dev, "failed to request pendown GPIO%d\n",
841 pdata->gpio_pendown);
842 return err;
843 }
844
845 ts->gpio_pendown = pdata->gpio_pendown;
846 return 0;
847}
848
809static int __devinit ads7846_probe(struct spi_device *spi) 849static int __devinit ads7846_probe(struct spi_device *spi)
810{ 850{
811 struct ads7846 *ts; 851 struct ads7846 *ts;
@@ -833,15 +873,6 @@ static int __devinit ads7846_probe(struct spi_device *spi)
833 return -EINVAL; 873 return -EINVAL;
834 } 874 }
835 875
836 /* REVISIT when the irq can be triggered active-low, or if for some
837 * reason the touchscreen isn't hooked up, we don't need to access
838 * the pendown state.
839 */
840 if (pdata->get_pendown_state == NULL) {
841 dev_dbg(&spi->dev, "no get_pendown_state function?\n");
842 return -EINVAL;
843 }
844
845 /* We'd set TX wordsize 8 bits and RX wordsize to 13 bits ... except 876 /* We'd set TX wordsize 8 bits and RX wordsize to 13 bits ... except
846 * that even if the hardware can do that, the SPI controller driver 877 * that even if the hardware can do that, the SPI controller driver
847 * may not. So we stick to very-portable 8 bit words, both RX and TX. 878 * may not. So we stick to very-portable 8 bit words, both RX and TX.
@@ -893,7 +924,10 @@ static int __devinit ads7846_probe(struct spi_device *spi)
893 ts->filter_data = ts; 924 ts->filter_data = ts;
894 } else 925 } else
895 ts->filter = ads7846_no_filter; 926 ts->filter = ads7846_no_filter;
896 ts->get_pendown_state = pdata->get_pendown_state; 927
928 err = setup_pendown(spi, ts);
929 if (err)
930 goto err_cleanup_filter;
897 931
898 if (pdata->penirq_recheck_delay_usecs) 932 if (pdata->penirq_recheck_delay_usecs)
899 ts->penirq_recheck_delay_usecs = 933 ts->penirq_recheck_delay_usecs =
@@ -1085,7 +1119,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
1085 spi->dev.driver->name, ts)) { 1119 spi->dev.driver->name, ts)) {
1086 dev_dbg(&spi->dev, "irq %d busy?\n", spi->irq); 1120 dev_dbg(&spi->dev, "irq %d busy?\n", spi->irq);
1087 err = -EBUSY; 1121 err = -EBUSY;
1088 goto err_cleanup_filter; 1122 goto err_free_gpio;
1089 } 1123 }
1090 1124
1091 err = ads784x_hwmon_register(spi, ts); 1125 err = ads784x_hwmon_register(spi, ts);
@@ -1116,6 +1150,9 @@ static int __devinit ads7846_probe(struct spi_device *spi)
1116 ads784x_hwmon_unregister(spi, ts); 1150 ads784x_hwmon_unregister(spi, ts);
1117 err_free_irq: 1151 err_free_irq:
1118 free_irq(spi->irq, ts); 1152 free_irq(spi->irq, ts);
1153 err_free_gpio:
1154 if (ts->gpio_pendown != -1)
1155 gpio_free(ts->gpio_pendown);
1119 err_cleanup_filter: 1156 err_cleanup_filter:
1120 if (ts->filter_cleanup) 1157 if (ts->filter_cleanup)
1121 ts->filter_cleanup(ts->filter_data); 1158 ts->filter_cleanup(ts->filter_data);
@@ -1140,6 +1177,9 @@ static int __devexit ads7846_remove(struct spi_device *spi)
1140 /* suspend left the IRQ disabled */ 1177 /* suspend left the IRQ disabled */
1141 enable_irq(ts->spi->irq); 1178 enable_irq(ts->spi->irq);
1142 1179
1180 if (ts->gpio_pendown != -1)
1181 gpio_free(ts->gpio_pendown);
1182
1143 if (ts->filter_cleanup) 1183 if (ts->filter_cleanup)
1144 ts->filter_cleanup(ts->filter_data); 1184 ts->filter_cleanup(ts->filter_data);
1145 1185
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c
index bce018e45bce..54986627def0 100644
--- a/drivers/input/touchscreen/ucb1400_ts.c
+++ b/drivers/input/touchscreen/ucb1400_ts.c
@@ -5,6 +5,10 @@
5 * Created: September 25, 2006 5 * Created: September 25, 2006
6 * Copyright: MontaVista Software, Inc. 6 * Copyright: MontaVista Software, Inc.
7 * 7 *
8 * Spliting done by: Marek Vasut <marek.vasut@gmail.com>
9 * If something doesnt work and it worked before spliting, e-mail me,
10 * dont bother Nicolas please ;-)
11 *
8 * This program is free software; you can redistribute it and/or modify 12 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as 13 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation. 14 * published by the Free Software Foundation.
@@ -25,124 +29,16 @@
25#include <linux/slab.h> 29#include <linux/slab.h>
26#include <linux/kthread.h> 30#include <linux/kthread.h>
27#include <linux/freezer.h> 31#include <linux/freezer.h>
28 32#include <linux/ucb1400.h>
29#include <sound/core.h>
30#include <sound/ac97_codec.h>
31
32
33/*
34 * Interesting UCB1400 AC-link registers
35 */
36
37#define UCB_IE_RIS 0x5e
38#define UCB_IE_FAL 0x60
39#define UCB_IE_STATUS 0x62
40#define UCB_IE_CLEAR 0x62
41#define UCB_IE_ADC (1 << 11)
42#define UCB_IE_TSPX (1 << 12)
43
44#define UCB_TS_CR 0x64
45#define UCB_TS_CR_TSMX_POW (1 << 0)
46#define UCB_TS_CR_TSPX_POW (1 << 1)
47#define UCB_TS_CR_TSMY_POW (1 << 2)
48#define UCB_TS_CR_TSPY_POW (1 << 3)
49#define UCB_TS_CR_TSMX_GND (1 << 4)
50#define UCB_TS_CR_TSPX_GND (1 << 5)
51#define UCB_TS_CR_TSMY_GND (1 << 6)
52#define UCB_TS_CR_TSPY_GND (1 << 7)
53#define UCB_TS_CR_MODE_INT (0 << 8)
54#define UCB_TS_CR_MODE_PRES (1 << 8)
55#define UCB_TS_CR_MODE_POS (2 << 8)
56#define UCB_TS_CR_BIAS_ENA (1 << 11)
57#define UCB_TS_CR_TSPX_LOW (1 << 12)
58#define UCB_TS_CR_TSMX_LOW (1 << 13)
59
60#define UCB_ADC_CR 0x66
61#define UCB_ADC_SYNC_ENA (1 << 0)
62#define UCB_ADC_VREFBYP_CON (1 << 1)
63#define UCB_ADC_INP_TSPX (0 << 2)
64#define UCB_ADC_INP_TSMX (1 << 2)
65#define UCB_ADC_INP_TSPY (2 << 2)
66#define UCB_ADC_INP_TSMY (3 << 2)
67#define UCB_ADC_INP_AD0 (4 << 2)
68#define UCB_ADC_INP_AD1 (5 << 2)
69#define UCB_ADC_INP_AD2 (6 << 2)
70#define UCB_ADC_INP_AD3 (7 << 2)
71#define UCB_ADC_EXT_REF (1 << 5)
72#define UCB_ADC_START (1 << 7)
73#define UCB_ADC_ENA (1 << 15)
74
75#define UCB_ADC_DATA 0x68
76#define UCB_ADC_DAT_VALID (1 << 15)
77#define UCB_ADC_DAT_VALUE(x) ((x) & 0x3ff)
78
79#define UCB_ID 0x7e
80#define UCB_ID_1400 0x4304
81
82
83struct ucb1400 {
84 struct snd_ac97 *ac97;
85 struct input_dev *ts_idev;
86
87 int irq;
88
89 wait_queue_head_t ts_wait;
90 struct task_struct *ts_task;
91
92 unsigned int irq_pending; /* not bit field shared */
93 unsigned int ts_restart:1;
94 unsigned int adcsync:1;
95};
96 33
97static int adcsync; 34static int adcsync;
98static int ts_delay = 55; /* us */ 35static int ts_delay = 55; /* us */
99static int ts_delay_pressure; /* us */ 36static int ts_delay_pressure; /* us */
100 37
101static inline u16 ucb1400_reg_read(struct ucb1400 *ucb, u16 reg)
102{
103 return ucb->ac97->bus->ops->read(ucb->ac97, reg);
104}
105
106static inline void ucb1400_reg_write(struct ucb1400 *ucb, u16 reg, u16 val)
107{
108 ucb->ac97->bus->ops->write(ucb->ac97, reg, val);
109}
110
111static inline void ucb1400_adc_enable(struct ucb1400 *ucb)
112{
113 ucb1400_reg_write(ucb, UCB_ADC_CR, UCB_ADC_ENA);
114}
115
116static unsigned int ucb1400_adc_read(struct ucb1400 *ucb, u16 adc_channel)
117{
118 unsigned int val;
119
120 if (ucb->adcsync)
121 adc_channel |= UCB_ADC_SYNC_ENA;
122
123 ucb1400_reg_write(ucb, UCB_ADC_CR, UCB_ADC_ENA | adc_channel);
124 ucb1400_reg_write(ucb, UCB_ADC_CR, UCB_ADC_ENA | adc_channel | UCB_ADC_START);
125
126 for (;;) {
127 val = ucb1400_reg_read(ucb, UCB_ADC_DATA);
128 if (val & UCB_ADC_DAT_VALID)
129 break;
130 /* yield to other processes */
131 schedule_timeout_uninterruptible(1);
132 }
133
134 return UCB_ADC_DAT_VALUE(val);
135}
136
137static inline void ucb1400_adc_disable(struct ucb1400 *ucb)
138{
139 ucb1400_reg_write(ucb, UCB_ADC_CR, 0);
140}
141
142/* Switch to interrupt mode. */ 38/* Switch to interrupt mode. */
143static inline void ucb1400_ts_mode_int(struct ucb1400 *ucb) 39static inline void ucb1400_ts_mode_int(struct snd_ac97 *ac97)
144{ 40{
145 ucb1400_reg_write(ucb, UCB_TS_CR, 41 ucb1400_reg_write(ac97, UCB_TS_CR,
146 UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW | 42 UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
147 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND | 43 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
148 UCB_TS_CR_MODE_INT); 44 UCB_TS_CR_MODE_INT);
@@ -152,14 +48,14 @@ static inline void ucb1400_ts_mode_int(struct ucb1400 *ucb)
152 * Switch to pressure mode, and read pressure. We don't need to wait 48 * Switch to pressure mode, and read pressure. We don't need to wait
153 * here, since both plates are being driven. 49 * here, since both plates are being driven.
154 */ 50 */
155static inline unsigned int ucb1400_ts_read_pressure(struct ucb1400 *ucb) 51static inline unsigned int ucb1400_ts_read_pressure(struct ucb1400_ts *ucb)
156{ 52{
157 ucb1400_reg_write(ucb, UCB_TS_CR, 53 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
158 UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW | 54 UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
159 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND | 55 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
160 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 56 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
161 udelay(ts_delay_pressure); 57 udelay(ts_delay_pressure);
162 return ucb1400_adc_read(ucb, UCB_ADC_INP_TSPY); 58 return ucb1400_adc_read(ucb->ac97, UCB_ADC_INP_TSPY, adcsync);
163} 59}
164 60
165/* 61/*
@@ -168,21 +64,21 @@ static inline unsigned int ucb1400_ts_read_pressure(struct ucb1400 *ucb)
168 * gives a faster response time. Even so, we need to wait about 55us 64 * gives a faster response time. Even so, we need to wait about 55us
169 * for things to stabilise. 65 * for things to stabilise.
170 */ 66 */
171static inline unsigned int ucb1400_ts_read_xpos(struct ucb1400 *ucb) 67static inline unsigned int ucb1400_ts_read_xpos(struct ucb1400_ts *ucb)
172{ 68{
173 ucb1400_reg_write(ucb, UCB_TS_CR, 69 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
174 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW | 70 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
175 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 71 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
176 ucb1400_reg_write(ucb, UCB_TS_CR, 72 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
177 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW | 73 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
178 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 74 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
179 ucb1400_reg_write(ucb, UCB_TS_CR, 75 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
180 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW | 76 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
181 UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA); 77 UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
182 78
183 udelay(ts_delay); 79 udelay(ts_delay);
184 80
185 return ucb1400_adc_read(ucb, UCB_ADC_INP_TSPY); 81 return ucb1400_adc_read(ucb->ac97, UCB_ADC_INP_TSPY, adcsync);
186} 82}
187 83
188/* 84/*
@@ -191,63 +87,63 @@ static inline unsigned int ucb1400_ts_read_xpos(struct ucb1400 *ucb)
191 * gives a faster response time. Even so, we need to wait about 55us 87 * gives a faster response time. Even so, we need to wait about 55us
192 * for things to stabilise. 88 * for things to stabilise.
193 */ 89 */
194static inline unsigned int ucb1400_ts_read_ypos(struct ucb1400 *ucb) 90static inline unsigned int ucb1400_ts_read_ypos(struct ucb1400_ts *ucb)
195{ 91{
196 ucb1400_reg_write(ucb, UCB_TS_CR, 92 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
197 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW | 93 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
198 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 94 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
199 ucb1400_reg_write(ucb, UCB_TS_CR, 95 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
200 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW | 96 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
201 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 97 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
202 ucb1400_reg_write(ucb, UCB_TS_CR, 98 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
203 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW | 99 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
204 UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA); 100 UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
205 101
206 udelay(ts_delay); 102 udelay(ts_delay);
207 103
208 return ucb1400_adc_read(ucb, UCB_ADC_INP_TSPX); 104 return ucb1400_adc_read(ucb->ac97, UCB_ADC_INP_TSPX, adcsync);
209} 105}
210 106
211/* 107/*
212 * Switch to X plate resistance mode. Set MX to ground, PX to 108 * Switch to X plate resistance mode. Set MX to ground, PX to
213 * supply. Measure current. 109 * supply. Measure current.
214 */ 110 */
215static inline unsigned int ucb1400_ts_read_xres(struct ucb1400 *ucb) 111static inline unsigned int ucb1400_ts_read_xres(struct ucb1400_ts *ucb)
216{ 112{
217 ucb1400_reg_write(ucb, UCB_TS_CR, 113 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
218 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW | 114 UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
219 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 115 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
220 return ucb1400_adc_read(ucb, 0); 116 return ucb1400_adc_read(ucb->ac97, 0, adcsync);
221} 117}
222 118
223/* 119/*
224 * Switch to Y plate resistance mode. Set MY to ground, PY to 120 * Switch to Y plate resistance mode. Set MY to ground, PY to
225 * supply. Measure current. 121 * supply. Measure current.
226 */ 122 */
227static inline unsigned int ucb1400_ts_read_yres(struct ucb1400 *ucb) 123static inline unsigned int ucb1400_ts_read_yres(struct ucb1400_ts *ucb)
228{ 124{
229 ucb1400_reg_write(ucb, UCB_TS_CR, 125 ucb1400_reg_write(ucb->ac97, UCB_TS_CR,
230 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW | 126 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
231 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA); 127 UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
232 return ucb1400_adc_read(ucb, 0); 128 return ucb1400_adc_read(ucb->ac97, 0, adcsync);
233} 129}
234 130
235static inline int ucb1400_ts_pen_down(struct ucb1400 *ucb) 131static inline int ucb1400_ts_pen_down(struct snd_ac97 *ac97)
236{ 132{
237 unsigned short val = ucb1400_reg_read(ucb, UCB_TS_CR); 133 unsigned short val = ucb1400_reg_read(ac97, UCB_TS_CR);
238 return (val & (UCB_TS_CR_TSPX_LOW | UCB_TS_CR_TSMX_LOW)); 134 return val & (UCB_TS_CR_TSPX_LOW | UCB_TS_CR_TSMX_LOW);
239} 135}
240 136
241static inline void ucb1400_ts_irq_enable(struct ucb1400 *ucb) 137static inline void ucb1400_ts_irq_enable(struct snd_ac97 *ac97)
242{ 138{
243 ucb1400_reg_write(ucb, UCB_IE_CLEAR, UCB_IE_TSPX); 139 ucb1400_reg_write(ac97, UCB_IE_CLEAR, UCB_IE_TSPX);
244 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0); 140 ucb1400_reg_write(ac97, UCB_IE_CLEAR, 0);
245 ucb1400_reg_write(ucb, UCB_IE_FAL, UCB_IE_TSPX); 141 ucb1400_reg_write(ac97, UCB_IE_FAL, UCB_IE_TSPX);
246} 142}
247 143
248static inline void ucb1400_ts_irq_disable(struct ucb1400 *ucb) 144static inline void ucb1400_ts_irq_disable(struct snd_ac97 *ac97)
249{ 145{
250 ucb1400_reg_write(ucb, UCB_IE_FAL, 0); 146 ucb1400_reg_write(ac97, UCB_IE_FAL, 0);
251} 147}
252 148
253static void ucb1400_ts_evt_add(struct input_dev *idev, u16 pressure, u16 x, u16 y) 149static void ucb1400_ts_evt_add(struct input_dev *idev, u16 pressure, u16 x, u16 y)
@@ -264,25 +160,24 @@ static void ucb1400_ts_event_release(struct input_dev *idev)
264 input_sync(idev); 160 input_sync(idev);
265} 161}
266 162
267static void ucb1400_handle_pending_irq(struct ucb1400 *ucb) 163static void ucb1400_handle_pending_irq(struct ucb1400_ts *ucb)
268{ 164{
269 unsigned int isr; 165 unsigned int isr;
270 166
271 isr = ucb1400_reg_read(ucb, UCB_IE_STATUS); 167 isr = ucb1400_reg_read(ucb->ac97, UCB_IE_STATUS);
272 ucb1400_reg_write(ucb, UCB_IE_CLEAR, isr); 168 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, isr);
273 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0); 169 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0);
274 170
275 if (isr & UCB_IE_TSPX) 171 if (isr & UCB_IE_TSPX) {
276 ucb1400_ts_irq_disable(ucb); 172 ucb1400_ts_irq_disable(ucb->ac97);
277 else 173 enable_irq(ucb->irq);
174 } else
278 printk(KERN_ERR "ucb1400: unexpected IE_STATUS = %#x\n", isr); 175 printk(KERN_ERR "ucb1400: unexpected IE_STATUS = %#x\n", isr);
279
280 enable_irq(ucb->irq);
281} 176}
282 177
283static int ucb1400_ts_thread(void *_ucb) 178static int ucb1400_ts_thread(void *_ucb)
284{ 179{
285 struct ucb1400 *ucb = _ucb; 180 struct ucb1400_ts *ucb = _ucb;
286 struct task_struct *tsk = current; 181 struct task_struct *tsk = current;
287 int valid = 0; 182 int valid = 0;
288 struct sched_param param = { .sched_priority = 1 }; 183 struct sched_param param = { .sched_priority = 1 };
@@ -301,19 +196,19 @@ static int ucb1400_ts_thread(void *_ucb)
301 ucb1400_handle_pending_irq(ucb); 196 ucb1400_handle_pending_irq(ucb);
302 } 197 }
303 198
304 ucb1400_adc_enable(ucb); 199 ucb1400_adc_enable(ucb->ac97);
305 x = ucb1400_ts_read_xpos(ucb); 200 x = ucb1400_ts_read_xpos(ucb);
306 y = ucb1400_ts_read_ypos(ucb); 201 y = ucb1400_ts_read_ypos(ucb);
307 p = ucb1400_ts_read_pressure(ucb); 202 p = ucb1400_ts_read_pressure(ucb);
308 ucb1400_adc_disable(ucb); 203 ucb1400_adc_disable(ucb->ac97);
309 204
310 /* Switch back to interrupt mode. */ 205 /* Switch back to interrupt mode. */
311 ucb1400_ts_mode_int(ucb); 206 ucb1400_ts_mode_int(ucb->ac97);
312 207
313 msleep(10); 208 msleep(10);
314 209
315 if (ucb1400_ts_pen_down(ucb)) { 210 if (ucb1400_ts_pen_down(ucb->ac97)) {
316 ucb1400_ts_irq_enable(ucb); 211 ucb1400_ts_irq_enable(ucb->ac97);
317 212
318 /* 213 /*
319 * If we spat out a valid sample set last time, 214 * If we spat out a valid sample set last time,
@@ -332,8 +227,8 @@ static int ucb1400_ts_thread(void *_ucb)
332 } 227 }
333 228
334 wait_event_freezable_timeout(ucb->ts_wait, 229 wait_event_freezable_timeout(ucb->ts_wait,
335 ucb->irq_pending || ucb->ts_restart || kthread_should_stop(), 230 ucb->irq_pending || ucb->ts_restart ||
336 timeout); 231 kthread_should_stop(), timeout);
337 } 232 }
338 233
339 /* Send the "pen off" if we are stopping with the pen still active */ 234 /* Send the "pen off" if we are stopping with the pen still active */
@@ -356,7 +251,7 @@ static int ucb1400_ts_thread(void *_ucb)
356 */ 251 */
357static irqreturn_t ucb1400_hard_irq(int irqnr, void *devid) 252static irqreturn_t ucb1400_hard_irq(int irqnr, void *devid)
358{ 253{
359 struct ucb1400 *ucb = devid; 254 struct ucb1400_ts *ucb = devid;
360 255
361 if (irqnr == ucb->irq) { 256 if (irqnr == ucb->irq) {
362 disable_irq(ucb->irq); 257 disable_irq(ucb->irq);
@@ -369,7 +264,7 @@ static irqreturn_t ucb1400_hard_irq(int irqnr, void *devid)
369 264
370static int ucb1400_ts_open(struct input_dev *idev) 265static int ucb1400_ts_open(struct input_dev *idev)
371{ 266{
372 struct ucb1400 *ucb = input_get_drvdata(idev); 267 struct ucb1400_ts *ucb = input_get_drvdata(idev);
373 int ret = 0; 268 int ret = 0;
374 269
375 BUG_ON(ucb->ts_task); 270 BUG_ON(ucb->ts_task);
@@ -385,34 +280,14 @@ static int ucb1400_ts_open(struct input_dev *idev)
385 280
386static void ucb1400_ts_close(struct input_dev *idev) 281static void ucb1400_ts_close(struct input_dev *idev)
387{ 282{
388 struct ucb1400 *ucb = input_get_drvdata(idev); 283 struct ucb1400_ts *ucb = input_get_drvdata(idev);
389 284
390 if (ucb->ts_task) 285 if (ucb->ts_task)
391 kthread_stop(ucb->ts_task); 286 kthread_stop(ucb->ts_task);
392 287
393 ucb1400_ts_irq_disable(ucb); 288 ucb1400_ts_irq_disable(ucb->ac97);
394 ucb1400_reg_write(ucb, UCB_TS_CR, 0); 289 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, 0);
395}
396
397#ifdef CONFIG_PM
398static int ucb1400_ts_resume(struct device *dev)
399{
400 struct ucb1400 *ucb = dev_get_drvdata(dev);
401
402 if (ucb->ts_task) {
403 /*
404 * Restart the TS thread to ensure the
405 * TS interrupt mode is set up again
406 * after sleep.
407 */
408 ucb->ts_restart = 1;
409 wake_up(&ucb->ts_wait);
410 }
411 return 0;
412} 290}
413#else
414#define ucb1400_ts_resume NULL
415#endif
416 291
417#ifndef NO_IRQ 292#ifndef NO_IRQ
418#define NO_IRQ 0 293#define NO_IRQ 0
@@ -422,25 +297,26 @@ static int ucb1400_ts_resume(struct device *dev)
422 * Try to probe our interrupt, rather than relying on lots of 297 * Try to probe our interrupt, rather than relying on lots of
423 * hard-coded machine dependencies. 298 * hard-coded machine dependencies.
424 */ 299 */
425static int ucb1400_detect_irq(struct ucb1400 *ucb) 300static int ucb1400_ts_detect_irq(struct ucb1400_ts *ucb)
426{ 301{
427 unsigned long mask, timeout; 302 unsigned long mask, timeout;
428 303
429 mask = probe_irq_on(); 304 mask = probe_irq_on();
430 305
431 /* Enable the ADC interrupt. */ 306 /* Enable the ADC interrupt. */
432 ucb1400_reg_write(ucb, UCB_IE_RIS, UCB_IE_ADC); 307 ucb1400_reg_write(ucb->ac97, UCB_IE_RIS, UCB_IE_ADC);
433 ucb1400_reg_write(ucb, UCB_IE_FAL, UCB_IE_ADC); 308 ucb1400_reg_write(ucb->ac97, UCB_IE_FAL, UCB_IE_ADC);
434 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0xffff); 309 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0xffff);
435 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0); 310 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0);
436 311
437 /* Cause an ADC interrupt. */ 312 /* Cause an ADC interrupt. */
438 ucb1400_reg_write(ucb, UCB_ADC_CR, UCB_ADC_ENA); 313 ucb1400_reg_write(ucb->ac97, UCB_ADC_CR, UCB_ADC_ENA);
439 ucb1400_reg_write(ucb, UCB_ADC_CR, UCB_ADC_ENA | UCB_ADC_START); 314 ucb1400_reg_write(ucb->ac97, UCB_ADC_CR, UCB_ADC_ENA | UCB_ADC_START);
440 315
441 /* Wait for the conversion to complete. */ 316 /* Wait for the conversion to complete. */
442 timeout = jiffies + HZ/2; 317 timeout = jiffies + HZ/2;
443 while (!(ucb1400_reg_read(ucb, UCB_ADC_DATA) & UCB_ADC_DAT_VALID)) { 318 while (!(ucb1400_reg_read(ucb->ac97, UCB_ADC_DATA) &
319 UCB_ADC_DAT_VALID)) {
444 cpu_relax(); 320 cpu_relax();
445 if (time_after(jiffies, timeout)) { 321 if (time_after(jiffies, timeout)) {
446 printk(KERN_ERR "ucb1400: timed out in IRQ probe\n"); 322 printk(KERN_ERR "ucb1400: timed out in IRQ probe\n");
@@ -448,13 +324,13 @@ static int ucb1400_detect_irq(struct ucb1400 *ucb)
448 return -ENODEV; 324 return -ENODEV;
449 } 325 }
450 } 326 }
451 ucb1400_reg_write(ucb, UCB_ADC_CR, 0); 327 ucb1400_reg_write(ucb->ac97, UCB_ADC_CR, 0);
452 328
453 /* Disable and clear interrupt. */ 329 /* Disable and clear interrupt. */
454 ucb1400_reg_write(ucb, UCB_IE_RIS, 0); 330 ucb1400_reg_write(ucb->ac97, UCB_IE_RIS, 0);
455 ucb1400_reg_write(ucb, UCB_IE_FAL, 0); 331 ucb1400_reg_write(ucb->ac97, UCB_IE_FAL, 0);
456 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0xffff); 332 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0xffff);
457 ucb1400_reg_write(ucb, UCB_IE_CLEAR, 0); 333 ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0);
458 334
459 /* Read triggered interrupt. */ 335 /* Read triggered interrupt. */
460 ucb->irq = probe_irq_off(mask); 336 ucb->irq = probe_irq_off(mask);
@@ -464,36 +340,25 @@ static int ucb1400_detect_irq(struct ucb1400 *ucb)
464 return 0; 340 return 0;
465} 341}
466 342
467static int ucb1400_ts_probe(struct device *dev) 343static int ucb1400_ts_probe(struct platform_device *dev)
468{ 344{
469 struct ucb1400 *ucb; 345 int error, x_res, y_res;
470 struct input_dev *idev; 346 struct ucb1400_ts *ucb = dev->dev.platform_data;
471 int error, id, x_res, y_res;
472 347
473 ucb = kzalloc(sizeof(struct ucb1400), GFP_KERNEL); 348 ucb->ts_idev = input_allocate_device();
474 idev = input_allocate_device(); 349 if (!ucb->ts_idev) {
475 if (!ucb || !idev) {
476 error = -ENOMEM; 350 error = -ENOMEM;
477 goto err_free_devs; 351 goto err;
478 } 352 }
479 353
480 ucb->ts_idev = idev; 354 error = ucb1400_ts_detect_irq(ucb);
481 ucb->adcsync = adcsync;
482 ucb->ac97 = to_ac97_t(dev);
483 init_waitqueue_head(&ucb->ts_wait);
484
485 id = ucb1400_reg_read(ucb, UCB_ID);
486 if (id != UCB_ID_1400) {
487 error = -ENODEV;
488 goto err_free_devs;
489 }
490
491 error = ucb1400_detect_irq(ucb);
492 if (error) { 355 if (error) {
493 printk(KERN_ERR "UCB1400: IRQ probe failed\n"); 356 printk(KERN_ERR "UCB1400: IRQ probe failed\n");
494 goto err_free_devs; 357 goto err_free_devs;
495 } 358 }
496 359
360 init_waitqueue_head(&ucb->ts_wait);
361
497 error = request_irq(ucb->irq, ucb1400_hard_irq, IRQF_TRIGGER_RISING, 362 error = request_irq(ucb->irq, ucb1400_hard_irq, IRQF_TRIGGER_RISING,
498 "UCB1400", ucb); 363 "UCB1400", ucb);
499 if (error) { 364 if (error) {
@@ -503,80 +368,101 @@ static int ucb1400_ts_probe(struct device *dev)
503 } 368 }
504 printk(KERN_DEBUG "UCB1400: found IRQ %d\n", ucb->irq); 369 printk(KERN_DEBUG "UCB1400: found IRQ %d\n", ucb->irq);
505 370
506 input_set_drvdata(idev, ucb); 371 input_set_drvdata(ucb->ts_idev, ucb);
507 372
508 idev->dev.parent = dev; 373 ucb->ts_idev->dev.parent = &dev->dev;
509 idev->name = "UCB1400 touchscreen interface"; 374 ucb->ts_idev->name = "UCB1400 touchscreen interface";
510 idev->id.vendor = ucb1400_reg_read(ucb, AC97_VENDOR_ID1); 375 ucb->ts_idev->id.vendor = ucb1400_reg_read(ucb->ac97,
511 idev->id.product = id; 376 AC97_VENDOR_ID1);
512 idev->open = ucb1400_ts_open; 377 ucb->ts_idev->id.product = ucb->id;
513 idev->close = ucb1400_ts_close; 378 ucb->ts_idev->open = ucb1400_ts_open;
514 idev->evbit[0] = BIT_MASK(EV_ABS); 379 ucb->ts_idev->close = ucb1400_ts_close;
380 ucb->ts_idev->evbit[0] = BIT_MASK(EV_ABS);
515 381
516 ucb1400_adc_enable(ucb); 382 ucb1400_adc_enable(ucb->ac97);
517 x_res = ucb1400_ts_read_xres(ucb); 383 x_res = ucb1400_ts_read_xres(ucb);
518 y_res = ucb1400_ts_read_yres(ucb); 384 y_res = ucb1400_ts_read_yres(ucb);
519 ucb1400_adc_disable(ucb); 385 ucb1400_adc_disable(ucb->ac97);
520 printk(KERN_DEBUG "UCB1400: x/y = %d/%d\n", x_res, y_res); 386 printk(KERN_DEBUG "UCB1400: x/y = %d/%d\n", x_res, y_res);
521 387
522 input_set_abs_params(idev, ABS_X, 0, x_res, 0, 0); 388 input_set_abs_params(ucb->ts_idev, ABS_X, 0, x_res, 0, 0);
523 input_set_abs_params(idev, ABS_Y, 0, y_res, 0, 0); 389 input_set_abs_params(ucb->ts_idev, ABS_Y, 0, y_res, 0, 0);
524 input_set_abs_params(idev, ABS_PRESSURE, 0, 0, 0, 0); 390 input_set_abs_params(ucb->ts_idev, ABS_PRESSURE, 0, 0, 0, 0);
525 391
526 error = input_register_device(idev); 392 error = input_register_device(ucb->ts_idev);
527 if (error) 393 if (error)
528 goto err_free_irq; 394 goto err_free_irq;
529 395
530 dev_set_drvdata(dev, ucb);
531 return 0; 396 return 0;
532 397
533 err_free_irq: 398err_free_irq:
534 free_irq(ucb->irq, ucb); 399 free_irq(ucb->irq, ucb);
535 err_free_devs: 400err_free_devs:
536 input_free_device(idev); 401 input_free_device(ucb->ts_idev);
537 kfree(ucb); 402err:
538 return error; 403 return error;
404
539} 405}
540 406
541static int ucb1400_ts_remove(struct device *dev) 407static int ucb1400_ts_remove(struct platform_device *dev)
542{ 408{
543 struct ucb1400 *ucb = dev_get_drvdata(dev); 409 struct ucb1400_ts *ucb = dev->dev.platform_data;
544 410
545 free_irq(ucb->irq, ucb); 411 free_irq(ucb->irq, ucb);
546 input_unregister_device(ucb->ts_idev); 412 input_unregister_device(ucb->ts_idev);
547 dev_set_drvdata(dev, NULL);
548 kfree(ucb);
549 return 0; 413 return 0;
550} 414}
551 415
552static struct device_driver ucb1400_ts_driver = { 416#ifdef CONFIG_PM
553 .name = "ucb1400_ts", 417static int ucb1400_ts_resume(struct platform_device *dev)
554 .owner = THIS_MODULE, 418{
555 .bus = &ac97_bus_type, 419 struct ucb1400_ts *ucb = platform_get_drvdata(dev);
556 .probe = ucb1400_ts_probe, 420
557 .remove = ucb1400_ts_remove, 421 if (ucb->ts_task) {
558 .resume = ucb1400_ts_resume, 422 /*
423 * Restart the TS thread to ensure the
424 * TS interrupt mode is set up again
425 * after sleep.
426 */
427 ucb->ts_restart = 1;
428 wake_up(&ucb->ts_wait);
429 }
430 return 0;
431}
432#else
433#define ucb1400_ts_resume NULL
434#endif
435
436static struct platform_driver ucb1400_ts_driver = {
437 .probe = ucb1400_ts_probe,
438 .remove = ucb1400_ts_remove,
439 .resume = ucb1400_ts_resume,
440 .driver = {
441 .name = "ucb1400_ts",
442 },
559}; 443};
560 444
561static int __init ucb1400_ts_init(void) 445static int __init ucb1400_ts_init(void)
562{ 446{
563 return driver_register(&ucb1400_ts_driver); 447 return platform_driver_register(&ucb1400_ts_driver);
564} 448}
565 449
566static void __exit ucb1400_ts_exit(void) 450static void __exit ucb1400_ts_exit(void)
567{ 451{
568 driver_unregister(&ucb1400_ts_driver); 452 platform_driver_unregister(&ucb1400_ts_driver);
569} 453}
570 454
571module_param(adcsync, bool, 0444); 455module_param(adcsync, bool, 0444);
572MODULE_PARM_DESC(adcsync, "Synchronize touch readings with ADCSYNC pin."); 456MODULE_PARM_DESC(adcsync, "Synchronize touch readings with ADCSYNC pin.");
573 457
574module_param(ts_delay, int, 0444); 458module_param(ts_delay, int, 0444);
575MODULE_PARM_DESC(ts_delay, "Delay between panel setup and position read. Default = 55us."); 459MODULE_PARM_DESC(ts_delay, "Delay between panel setup and"
460 " position read. Default = 55us.");
576 461
577module_param(ts_delay_pressure, int, 0444); 462module_param(ts_delay_pressure, int, 0444);
578MODULE_PARM_DESC(ts_delay_pressure, 463MODULE_PARM_DESC(ts_delay_pressure,
579 "delay between panel setup and pressure read. Default = 0us."); 464 "delay between panel setup and pressure read."
465 " Default = 0us.");
580 466
581module_init(ucb1400_ts_init); 467module_init(ucb1400_ts_init);
582module_exit(ucb1400_ts_exit); 468module_exit(ucb1400_ts_exit);
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 9556262dda5a..5b14262af017 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -24,13 +24,6 @@ config LEDS_ATMEL_PWM
24 This option enables support for LEDs driven using outputs 24 This option enables support for LEDs driven using outputs
25 of the dedicated PWM controller found on newer Atmel SOCs. 25 of the dedicated PWM controller found on newer Atmel SOCs.
26 26
27config LEDS_CORGI
28 tristate "LED Support for the Sharp SL-C7x0 series"
29 depends on LEDS_CLASS && PXA_SHARP_C7xx
30 help
31 This option enables support for the LEDs on Sharp Zaurus
32 SL-C7x0 series (C700, C750, C760, C860).
33
34config LEDS_LOCOMO 27config LEDS_LOCOMO
35 tristate "LED Support for Locomo device" 28 tristate "LED Support for Locomo device"
36 depends on LEDS_CLASS && SHARP_LOCOMO 29 depends on LEDS_CLASS && SHARP_LOCOMO
@@ -38,13 +31,6 @@ config LEDS_LOCOMO
38 This option enables support for the LEDs on Sharp Locomo. 31 This option enables support for the LEDs on Sharp Locomo.
39 Zaurus models SL-5500 and SL-5600. 32 Zaurus models SL-5500 and SL-5600.
40 33
41config LEDS_SPITZ
42 tristate "LED Support for the Sharp SL-Cxx00 series"
43 depends on LEDS_CLASS && PXA_SHARP_Cxx00
44 help
45 This option enables support for the LEDs on Sharp Zaurus
46 SL-Cxx00 series (C1000, C3000, C3100).
47
48config LEDS_S3C24XX 34config LEDS_S3C24XX
49 tristate "LED Support for Samsung S3C24XX GPIO LEDs" 35 tristate "LED Support for Samsung S3C24XX GPIO LEDs"
50 depends on LEDS_CLASS && ARCH_S3C2410 36 depends on LEDS_CLASS && ARCH_S3C2410
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
index ff7982b44565..3a8e6a04363c 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -6,9 +6,7 @@ obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o
6 6
7# LED Platform Drivers 7# LED Platform Drivers
8obj-$(CONFIG_LEDS_ATMEL_PWM) += leds-atmel-pwm.o 8obj-$(CONFIG_LEDS_ATMEL_PWM) += leds-atmel-pwm.o
9obj-$(CONFIG_LEDS_CORGI) += leds-corgi.o
10obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o 9obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o
11obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
12obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o 10obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o
13obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o 11obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o
14obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o 12obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
diff --git a/drivers/leds/leds-corgi.c b/drivers/leds/leds-corgi.c
deleted file mode 100644
index bc2dcd89f635..000000000000
--- a/drivers/leds/leds-corgi.c
+++ /dev/null
@@ -1,124 +0,0 @@
1/*
2 * LED Triggers Core
3 *
4 * Copyright 2005-2006 Openedhand Ltd.
5 *
6 * Author: Richard Purdie <rpurdie@openedhand.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
13
14#include <linux/kernel.h>
15#include <linux/init.h>
16#include <linux/platform_device.h>
17#include <linux/leds.h>
18#include <mach/corgi.h>
19#include <mach/hardware.h>
20#include <mach/pxa-regs.h>
21#include <asm/hardware/scoop.h>
22
23static void corgiled_amber_set(struct led_classdev *led_cdev,
24 enum led_brightness value)
25{
26 if (value)
27 GPSR0 = GPIO_bit(CORGI_GPIO_LED_ORANGE);
28 else
29 GPCR0 = GPIO_bit(CORGI_GPIO_LED_ORANGE);
30}
31
32static void corgiled_green_set(struct led_classdev *led_cdev,
33 enum led_brightness value)
34{
35 if (value)
36 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN);
37 else
38 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN);
39}
40
41static struct led_classdev corgi_amber_led = {
42 .name = "corgi:amber:charge",
43 .default_trigger = "sharpsl-charge",
44 .brightness_set = corgiled_amber_set,
45};
46
47static struct led_classdev corgi_green_led = {
48 .name = "corgi:green:mail",
49 .default_trigger = "nand-disk",
50 .brightness_set = corgiled_green_set,
51};
52
53#ifdef CONFIG_PM
54static int corgiled_suspend(struct platform_device *dev, pm_message_t state)
55{
56#ifdef CONFIG_LEDS_TRIGGERS
57 if (corgi_amber_led.trigger &&
58 strcmp(corgi_amber_led.trigger->name, "sharpsl-charge"))
59#endif
60 led_classdev_suspend(&corgi_amber_led);
61 led_classdev_suspend(&corgi_green_led);
62 return 0;
63}
64
65static int corgiled_resume(struct platform_device *dev)
66{
67 led_classdev_resume(&corgi_amber_led);
68 led_classdev_resume(&corgi_green_led);
69 return 0;
70}
71#endif
72
73static int corgiled_probe(struct platform_device *pdev)
74{
75 int ret;
76
77 ret = led_classdev_register(&pdev->dev, &corgi_amber_led);
78 if (ret < 0)
79 return ret;
80
81 ret = led_classdev_register(&pdev->dev, &corgi_green_led);
82 if (ret < 0)
83 led_classdev_unregister(&corgi_amber_led);
84
85 return ret;
86}
87
88static int corgiled_remove(struct platform_device *pdev)
89{
90 led_classdev_unregister(&corgi_amber_led);
91 led_classdev_unregister(&corgi_green_led);
92 return 0;
93}
94
95static struct platform_driver corgiled_driver = {
96 .probe = corgiled_probe,
97 .remove = corgiled_remove,
98#ifdef CONFIG_PM
99 .suspend = corgiled_suspend,
100 .resume = corgiled_resume,
101#endif
102 .driver = {
103 .name = "corgi-led",
104 .owner = THIS_MODULE,
105 },
106};
107
108static int __init corgiled_init(void)
109{
110 return platform_driver_register(&corgiled_driver);
111}
112
113static void __exit corgiled_exit(void)
114{
115 platform_driver_unregister(&corgiled_driver);
116}
117
118module_init(corgiled_init);
119module_exit(corgiled_exit);
120
121MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
122MODULE_DESCRIPTION("Corgi LED driver");
123MODULE_LICENSE("GPL");
124MODULE_ALIAS("platform:corgi-led");
diff --git a/drivers/leds/leds-spitz.c b/drivers/leds/leds-spitz.c
deleted file mode 100644
index 178831c64bfb..000000000000
--- a/drivers/leds/leds-spitz.c
+++ /dev/null
@@ -1,131 +0,0 @@
1/*
2 * LED Triggers Core
3 *
4 * Copyright 2005-2006 Openedhand Ltd.
5 *
6 * Author: Richard Purdie <rpurdie@openedhand.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
13
14#include <linux/kernel.h>
15#include <linux/init.h>
16#include <linux/platform_device.h>
17#include <linux/leds.h>
18#include <asm/hardware/scoop.h>
19#include <asm/mach-types.h>
20#include <mach/hardware.h>
21#include <mach/pxa-regs.h>
22#include <mach/spitz.h>
23
24static void spitzled_amber_set(struct led_classdev *led_cdev,
25 enum led_brightness value)
26{
27 if (value)
28 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_ORANGE);
29 else
30 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_ORANGE);
31}
32
33static void spitzled_green_set(struct led_classdev *led_cdev,
34 enum led_brightness value)
35{
36 if (value)
37 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_GREEN);
38 else
39 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_LED_GREEN);
40}
41
42static struct led_classdev spitz_amber_led = {
43 .name = "spitz:amber:charge",
44 .default_trigger = "sharpsl-charge",
45 .brightness_set = spitzled_amber_set,
46};
47
48static struct led_classdev spitz_green_led = {
49 .name = "spitz:green:hddactivity",
50 .default_trigger = "ide-disk",
51 .brightness_set = spitzled_green_set,
52};
53
54#ifdef CONFIG_PM
55static int spitzled_suspend(struct platform_device *dev, pm_message_t state)
56{
57#ifdef CONFIG_LEDS_TRIGGERS
58 if (spitz_amber_led.trigger &&
59 strcmp(spitz_amber_led.trigger->name, "sharpsl-charge"))
60#endif
61 led_classdev_suspend(&spitz_amber_led);
62 led_classdev_suspend(&spitz_green_led);
63 return 0;
64}
65
66static int spitzled_resume(struct platform_device *dev)
67{
68 led_classdev_resume(&spitz_amber_led);
69 led_classdev_resume(&spitz_green_led);
70 return 0;
71}
72#endif
73
74static int spitzled_probe(struct platform_device *pdev)
75{
76 int ret;
77
78 if (machine_is_akita()) {
79 spitz_green_led.name = "spitz:green:mail";
80 spitz_green_led.default_trigger = "nand-disk";
81 }
82
83 ret = led_classdev_register(&pdev->dev, &spitz_amber_led);
84 if (ret < 0)
85 return ret;
86
87 ret = led_classdev_register(&pdev->dev, &spitz_green_led);
88 if (ret < 0)
89 led_classdev_unregister(&spitz_amber_led);
90
91 return ret;
92}
93
94static int spitzled_remove(struct platform_device *pdev)
95{
96 led_classdev_unregister(&spitz_amber_led);
97 led_classdev_unregister(&spitz_green_led);
98
99 return 0;
100}
101
102static struct platform_driver spitzled_driver = {
103 .probe = spitzled_probe,
104 .remove = spitzled_remove,
105#ifdef CONFIG_PM
106 .suspend = spitzled_suspend,
107 .resume = spitzled_resume,
108#endif
109 .driver = {
110 .name = "spitz-led",
111 .owner = THIS_MODULE,
112 },
113};
114
115static int __init spitzled_init(void)
116{
117 return platform_driver_register(&spitzled_driver);
118}
119
120static void __exit spitzled_exit(void)
121{
122 platform_driver_unregister(&spitzled_driver);
123}
124
125module_init(spitzled_init);
126module_exit(spitzled_exit);
127
128MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
129MODULE_DESCRIPTION("Spitz LED driver");
130MODULE_LICENSE("GPL");
131MODULE_ALIAS("platform:spitz-led");
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index 7e65bad522cb..ac89a5deaca2 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -238,15 +238,47 @@ static struct page *read_sb_page(mddev_t *mddev, long offset, unsigned long inde
238 238
239} 239}
240 240
241static mdk_rdev_t *next_active_rdev(mdk_rdev_t *rdev, mddev_t *mddev)
242{
243 /* Iterate the disks of an mddev, using rcu to protect access to the
244 * linked list, and raising the refcount of devices we return to ensure
245 * they don't disappear while in use.
246 * As devices are only added or removed when raid_disk is < 0 and
247 * nr_pending is 0 and In_sync is clear, the entries we return will
248 * still be in the same position on the list when we re-enter
249 * list_for_each_continue_rcu.
250 */
251 struct list_head *pos;
252 rcu_read_lock();
253 if (rdev == NULL)
254 /* start at the beginning */
255 pos = &mddev->disks;
256 else {
257 /* release the previous rdev and start from there. */
258 rdev_dec_pending(rdev, mddev);
259 pos = &rdev->same_set;
260 }
261 list_for_each_continue_rcu(pos, &mddev->disks) {
262 rdev = list_entry(pos, mdk_rdev_t, same_set);
263 if (rdev->raid_disk >= 0 &&
264 test_bit(In_sync, &rdev->flags) &&
265 !test_bit(Faulty, &rdev->flags)) {
266 /* this is a usable devices */
267 atomic_inc(&rdev->nr_pending);
268 rcu_read_unlock();
269 return rdev;
270 }
271 }
272 rcu_read_unlock();
273 return NULL;
274}
275
241static int write_sb_page(struct bitmap *bitmap, struct page *page, int wait) 276static int write_sb_page(struct bitmap *bitmap, struct page *page, int wait)
242{ 277{
243 mdk_rdev_t *rdev; 278 mdk_rdev_t *rdev = NULL;
244 mddev_t *mddev = bitmap->mddev; 279 mddev_t *mddev = bitmap->mddev;
245 280
246 rcu_read_lock(); 281 while ((rdev = next_active_rdev(rdev, mddev)) != NULL) {
247 rdev_for_each_rcu(rdev, mddev)
248 if (test_bit(In_sync, &rdev->flags)
249 && !test_bit(Faulty, &rdev->flags)) {
250 int size = PAGE_SIZE; 282 int size = PAGE_SIZE;
251 if (page->index == bitmap->file_pages-1) 283 if (page->index == bitmap->file_pages-1)
252 size = roundup(bitmap->last_page_size, 284 size = roundup(bitmap->last_page_size,
@@ -281,8 +313,7 @@ static int write_sb_page(struct bitmap *bitmap, struct page *page, int wait)
281 + page->index * (PAGE_SIZE/512), 313 + page->index * (PAGE_SIZE/512),
282 size, 314 size,
283 page); 315 page);
284 } 316 }
285 rcu_read_unlock();
286 317
287 if (wait) 318 if (wait)
288 md_super_wait(mddev); 319 md_super_wait(mddev);
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 8cfadc5bd2ba..4790c83d78d0 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3841,8 +3841,6 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
3841 3841
3842 del_timer_sync(&mddev->safemode_timer); 3842 del_timer_sync(&mddev->safemode_timer);
3843 3843
3844 invalidate_partition(disk, 0);
3845
3846 switch(mode) { 3844 switch(mode) {
3847 case 1: /* readonly */ 3845 case 1: /* readonly */
3848 err = -ENXIO; 3846 err = -ENXIO;
diff --git a/drivers/media/common/saa7146_video.c b/drivers/media/common/saa7146_video.c
index e8bc7abf2409..99be9e5c85f7 100644
--- a/drivers/media/common/saa7146_video.c
+++ b/drivers/media/common/saa7146_video.c
@@ -1068,7 +1068,7 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
1068 { 1068 {
1069 v4l2_std_id *id = arg; 1069 v4l2_std_id *id = arg;
1070 int found = 0; 1070 int found = 0;
1071 int i, err; 1071 int i;
1072 1072
1073 DEB_EE(("VIDIOC_S_STD\n")); 1073 DEB_EE(("VIDIOC_S_STD\n"));
1074 1074
@@ -1116,7 +1116,6 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
1116 case VIDIOC_OVERLAY: 1116 case VIDIOC_OVERLAY:
1117 { 1117 {
1118 int on = *(int *)arg; 1118 int on = *(int *)arg;
1119 int err = 0;
1120 1119
1121 DEB_D(("VIDIOC_OVERLAY on:%d\n",on)); 1120 DEB_D(("VIDIOC_OVERLAY on:%d\n",on));
1122 if (on != 0) { 1121 if (on != 0) {
@@ -1192,7 +1191,6 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
1192 case VIDIOCGMBUF: 1191 case VIDIOCGMBUF:
1193 { 1192 {
1194 struct video_mbuf *mbuf = arg; 1193 struct video_mbuf *mbuf = arg;
1195 struct videobuf_queue *q;
1196 int i; 1194 int i;
1197 1195
1198 /* fixme: number of capture buffers and sizes for v4l apps */ 1196 /* fixme: number of capture buffers and sizes for v4l apps */
diff --git a/drivers/media/common/tuners/mt2131.c b/drivers/media/common/tuners/mt2131.c
index e254bcfc2efb..e8d3c48f8605 100644
--- a/drivers/media/common/tuners/mt2131.c
+++ b/drivers/media/common/tuners/mt2131.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner" 2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/mt2131.h b/drivers/media/common/tuners/mt2131.h
index cd8376f6f7b4..6632de640df0 100644
--- a/drivers/media/common/tuners/mt2131.h
+++ b/drivers/media/common/tuners/mt2131.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner" 2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/mt2131_priv.h b/drivers/media/common/tuners/mt2131_priv.h
index e930759c2c00..4e05a67e88c1 100644
--- a/drivers/media/common/tuners/mt2131_priv.h
+++ b/drivers/media/common/tuners/mt2131_priv.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner" 2 * Driver for Microtune MT2131 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/mxl5005s.c b/drivers/media/common/tuners/mxl5005s.c
index 0dc2bef9f6a3..227642b044ae 100644
--- a/drivers/media/common/tuners/mxl5005s.c
+++ b/drivers/media/common/tuners/mxl5005s.c
@@ -2,7 +2,7 @@
2 MaxLinear MXL5005S VSB/QAM/DVBT tuner driver 2 MaxLinear MXL5005S VSB/QAM/DVBT tuner driver
3 3
4 Copyright (C) 2008 MaxLinear 4 Copyright (C) 2008 MaxLinear
5 Copyright (C) 2006 Steven Toth <stoth@hauppauge.com> 5 Copyright (C) 2006 Steven Toth <stoth@linuxtv.org>
6 Functions: 6 Functions:
7 mxl5005s_reset() 7 mxl5005s_reset()
8 mxl5005s_writereg() 8 mxl5005s_writereg()
@@ -3837,7 +3837,7 @@ static u16 MXL_Hystersis_Test(struct dvb_frontend *fe, int Hystersis)
3837/* ---------------------------------------------------------------- 3837/* ----------------------------------------------------------------
3838 * Begin: Everything after here is new code to adapt the 3838 * Begin: Everything after here is new code to adapt the
3839 * proprietary Realtek driver into a Linux API tuner. 3839 * proprietary Realtek driver into a Linux API tuner.
3840 * Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 3840 * Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
3841 */ 3841 */
3842static int mxl5005s_reset(struct dvb_frontend *fe) 3842static int mxl5005s_reset(struct dvb_frontend *fe)
3843{ 3843{
diff --git a/drivers/media/common/tuners/mxl5005s.h b/drivers/media/common/tuners/mxl5005s.h
index 396db150bf0c..7ac6815b30aa 100644
--- a/drivers/media/common/tuners/mxl5005s.h
+++ b/drivers/media/common/tuners/mxl5005s.h
@@ -2,7 +2,7 @@
2 MaxLinear MXL5005S VSB/QAM/DVBT tuner driver 2 MaxLinear MXL5005S VSB/QAM/DVBT tuner driver
3 3
4 Copyright (C) 2008 MaxLinear 4 Copyright (C) 2008 MaxLinear
5 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 5 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
6 6
7 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/tuner-simple.c b/drivers/media/common/tuners/tuner-simple.c
index 597e47f5d69c..aa773a658a2a 100644
--- a/drivers/media/common/tuners/tuner-simple.c
+++ b/drivers/media/common/tuners/tuner-simple.c
@@ -253,7 +253,7 @@ static struct tuner_params *simple_tuner_params(struct dvb_frontend *fe,
253 253
254static int simple_config_lookup(struct dvb_frontend *fe, 254static int simple_config_lookup(struct dvb_frontend *fe,
255 struct tuner_params *t_params, 255 struct tuner_params *t_params,
256 int *frequency, u8 *config, u8 *cb) 256 unsigned *frequency, u8 *config, u8 *cb)
257{ 257{
258 struct tuner_simple_priv *priv = fe->tuner_priv; 258 struct tuner_simple_priv *priv = fe->tuner_priv;
259 int i; 259 int i;
@@ -587,45 +587,45 @@ static int simple_set_tv_freq(struct dvb_frontend *fe,
587 priv->last_div = div; 587 priv->last_div = div;
588 if (t_params->has_tda9887) { 588 if (t_params->has_tda9887) {
589 struct v4l2_priv_tun_config tda9887_cfg; 589 struct v4l2_priv_tun_config tda9887_cfg;
590 int config = 0; 590 int tda_config = 0;
591 int is_secam_l = (params->std & (V4L2_STD_SECAM_L | 591 int is_secam_l = (params->std & (V4L2_STD_SECAM_L |
592 V4L2_STD_SECAM_LC)) && 592 V4L2_STD_SECAM_LC)) &&
593 !(params->std & ~(V4L2_STD_SECAM_L | 593 !(params->std & ~(V4L2_STD_SECAM_L |
594 V4L2_STD_SECAM_LC)); 594 V4L2_STD_SECAM_LC));
595 595
596 tda9887_cfg.tuner = TUNER_TDA9887; 596 tda9887_cfg.tuner = TUNER_TDA9887;
597 tda9887_cfg.priv = &config; 597 tda9887_cfg.priv = &tda_config;
598 598
599 if (params->std == V4L2_STD_SECAM_LC) { 599 if (params->std == V4L2_STD_SECAM_LC) {
600 if (t_params->port1_active ^ t_params->port1_invert_for_secam_lc) 600 if (t_params->port1_active ^ t_params->port1_invert_for_secam_lc)
601 config |= TDA9887_PORT1_ACTIVE; 601 tda_config |= TDA9887_PORT1_ACTIVE;
602 if (t_params->port2_active ^ t_params->port2_invert_for_secam_lc) 602 if (t_params->port2_active ^ t_params->port2_invert_for_secam_lc)
603 config |= TDA9887_PORT2_ACTIVE; 603 tda_config |= TDA9887_PORT2_ACTIVE;
604 } else { 604 } else {
605 if (t_params->port1_active) 605 if (t_params->port1_active)
606 config |= TDA9887_PORT1_ACTIVE; 606 tda_config |= TDA9887_PORT1_ACTIVE;
607 if (t_params->port2_active) 607 if (t_params->port2_active)
608 config |= TDA9887_PORT2_ACTIVE; 608 tda_config |= TDA9887_PORT2_ACTIVE;
609 } 609 }
610 if (t_params->intercarrier_mode) 610 if (t_params->intercarrier_mode)
611 config |= TDA9887_INTERCARRIER; 611 tda_config |= TDA9887_INTERCARRIER;
612 if (is_secam_l) { 612 if (is_secam_l) {
613 if (i == 0 && t_params->default_top_secam_low) 613 if (i == 0 && t_params->default_top_secam_low)
614 config |= TDA9887_TOP(t_params->default_top_secam_low); 614 tda_config |= TDA9887_TOP(t_params->default_top_secam_low);
615 else if (i == 1 && t_params->default_top_secam_mid) 615 else if (i == 1 && t_params->default_top_secam_mid)
616 config |= TDA9887_TOP(t_params->default_top_secam_mid); 616 tda_config |= TDA9887_TOP(t_params->default_top_secam_mid);
617 else if (t_params->default_top_secam_high) 617 else if (t_params->default_top_secam_high)
618 config |= TDA9887_TOP(t_params->default_top_secam_high); 618 tda_config |= TDA9887_TOP(t_params->default_top_secam_high);
619 } else { 619 } else {
620 if (i == 0 && t_params->default_top_low) 620 if (i == 0 && t_params->default_top_low)
621 config |= TDA9887_TOP(t_params->default_top_low); 621 tda_config |= TDA9887_TOP(t_params->default_top_low);
622 else if (i == 1 && t_params->default_top_mid) 622 else if (i == 1 && t_params->default_top_mid)
623 config |= TDA9887_TOP(t_params->default_top_mid); 623 tda_config |= TDA9887_TOP(t_params->default_top_mid);
624 else if (t_params->default_top_high) 624 else if (t_params->default_top_high)
625 config |= TDA9887_TOP(t_params->default_top_high); 625 tda_config |= TDA9887_TOP(t_params->default_top_high);
626 } 626 }
627 if (t_params->default_pll_gating_18) 627 if (t_params->default_pll_gating_18)
628 config |= TDA9887_GATING_18; 628 tda_config |= TDA9887_GATING_18;
629 i2c_clients_command(priv->i2c_props.adap, TUNER_SET_CONFIG, 629 i2c_clients_command(priv->i2c_props.adap, TUNER_SET_CONFIG,
630 &tda9887_cfg); 630 &tda9887_cfg);
631 } 631 }
@@ -813,7 +813,8 @@ static u32 simple_dvb_configure(struct dvb_frontend *fe, u8 *buf,
813 static struct tuner_params *t_params; 813 static struct tuner_params *t_params;
814 u8 config, cb; 814 u8 config, cb;
815 u32 div; 815 u32 div;
816 int ret, frequency = params->frequency / 62500; 816 int ret;
817 unsigned frequency = params->frequency / 62500;
817 818
818 t_params = simple_tuner_params(fe, TUNER_PARAM_TYPE_DIGITAL); 819 t_params = simple_tuner_params(fe, TUNER_PARAM_TYPE_DIGITAL);
819 ret = simple_config_lookup(fe, t_params, &frequency, &config, &cb); 820 ret = simple_config_lookup(fe, t_params, &frequency, &config, &cb);
diff --git a/drivers/media/common/tuners/xc5000.c b/drivers/media/common/tuners/xc5000.c
index 5f99de0ad612..dcddfa803a75 100644
--- a/drivers/media/common/tuners/xc5000.c
+++ b/drivers/media/common/tuners/xc5000.c
@@ -2,7 +2,7 @@
2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner" 2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2007 Xceive Corporation 4 * Copyright (c) 2007 Xceive Corporation
5 * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> 5 * Copyright (c) 2007 Steven Toth <stoth@linuxtv.org>
6 * 6 *
7 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by 8 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/xc5000.h b/drivers/media/common/tuners/xc5000.h
index c910715addc9..5389f740945a 100644
--- a/drivers/media/common/tuners/xc5000.h
+++ b/drivers/media/common/tuners/xc5000.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner" 2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2007 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/common/tuners/xc5000_priv.h b/drivers/media/common/tuners/xc5000_priv.h
index a72a9887fe7f..b2a0074c99c9 100644
--- a/drivers/media/common/tuners/xc5000_priv.h
+++ b/drivers/media/common/tuners/xc5000_priv.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner" 2 * Driver for Xceive XC5000 "QAM/8VSB single chip tuner"
3 * 3 *
4 * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2007 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
index f9d087669d5d..4eed783f4bce 100644
--- a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
+++ b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
@@ -137,7 +137,8 @@ static int flexcop_send_diseqc_msg(struct dvb_frontend* fe, int len, u8 *msg, un
137 flexcop_diseqc_send_byte(fe, 0xff); 137 flexcop_diseqc_send_byte(fe, 0xff);
138 else { 138 else {
139 flexcop_set_tone(fe, SEC_TONE_ON); 139 flexcop_set_tone(fe, SEC_TONE_ON);
140 udelay(12500); 140 mdelay(12);
141 udelay(500);
141 flexcop_set_tone(fe, SEC_TONE_OFF); 142 flexcop_set_tone(fe, SEC_TONE_OFF);
142 } 143 }
143 msleep(20); 144 msleep(20);
diff --git a/drivers/media/dvb/b2c2/flexcop-i2c.c b/drivers/media/dvb/b2c2/flexcop-i2c.c
index 55973eaf3711..43a112ec6d44 100644
--- a/drivers/media/dvb/b2c2/flexcop-i2c.c
+++ b/drivers/media/dvb/b2c2/flexcop-i2c.c
@@ -221,12 +221,12 @@ int flexcop_i2c_init(struct flexcop_device *fc)
221 fc->fc_i2c_adap[1].port = FC_I2C_PORT_EEPROM; 221 fc->fc_i2c_adap[1].port = FC_I2C_PORT_EEPROM;
222 fc->fc_i2c_adap[2].port = FC_I2C_PORT_TUNER; 222 fc->fc_i2c_adap[2].port = FC_I2C_PORT_TUNER;
223 223
224 strncpy(fc->fc_i2c_adap[0].i2c_adap.name, 224 strlcpy(fc->fc_i2c_adap[0].i2c_adap.name, "B2C2 FlexCop I2C to demod",
225 "B2C2 FlexCop I2C to demod", I2C_NAME_SIZE); 225 sizeof(fc->fc_i2c_adap[0].i2c_adap.name));
226 strncpy(fc->fc_i2c_adap[1].i2c_adap.name, 226 strlcpy(fc->fc_i2c_adap[1].i2c_adap.name, "B2C2 FlexCop I2C to eeprom",
227 "B2C2 FlexCop I2C to eeprom", I2C_NAME_SIZE); 227 sizeof(fc->fc_i2c_adap[1].i2c_adap.name));
228 strncpy(fc->fc_i2c_adap[2].i2c_adap.name, 228 strlcpy(fc->fc_i2c_adap[2].i2c_adap.name, "B2C2 FlexCop I2C to tuner",
229 "B2C2 FlexCop I2C to tuner", I2C_NAME_SIZE); 229 sizeof(fc->fc_i2c_adap[2].i2c_adap.name));
230 230
231 i2c_set_adapdata(&fc->fc_i2c_adap[0].i2c_adap, &fc->fc_i2c_adap[0]); 231 i2c_set_adapdata(&fc->fc_i2c_adap[0].i2c_adap, &fc->fc_i2c_adap[0]);
232 i2c_set_adapdata(&fc->fc_i2c_adap[1].i2c_adap, &fc->fc_i2c_adap[1]); 232 i2c_set_adapdata(&fc->fc_i2c_adap[1].i2c_adap, &fc->fc_i2c_adap[1]);
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index a7637562e742..aa3db57d32d9 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -1244,7 +1244,7 @@ static int dst_command(struct dst_state *state, u8 *data, u8 len)
1244 goto error; 1244 goto error;
1245 } 1245 }
1246 if (state->type_flags & DST_TYPE_HAS_FW_1) 1246 if (state->type_flags & DST_TYPE_HAS_FW_1)
1247 udelay(3000); 1247 mdelay(3);
1248 if (read_dst(state, &reply, GET_ACK)) { 1248 if (read_dst(state, &reply, GET_ACK)) {
1249 dprintk(verbose, DST_DEBUG, 1, "Trying to recover.. "); 1249 dprintk(verbose, DST_DEBUG, 1, "Trying to recover.. ");
1250 if ((dst_error_recovery(state)) < 0) { 1250 if ((dst_error_recovery(state)) < 0) {
@@ -1260,7 +1260,7 @@ static int dst_command(struct dst_state *state, u8 *data, u8 len)
1260 if (len >= 2 && data[0] == 0 && (data[1] == 1 || data[1] == 3)) 1260 if (len >= 2 && data[0] == 0 && (data[1] == 1 || data[1] == 3))
1261 goto error; 1261 goto error;
1262 if (state->type_flags & DST_TYPE_HAS_FW_1) 1262 if (state->type_flags & DST_TYPE_HAS_FW_1)
1263 udelay(3000); 1263 mdelay(3);
1264 else 1264 else
1265 udelay(2000); 1265 udelay(2000);
1266 if (!dst_wait_dst_ready(state, NO_DELAY)) 1266 if (!dst_wait_dst_ready(state, NO_DELAY))
diff --git a/drivers/media/dvb/dvb-core/dmxdev.c b/drivers/media/dvb/dvb-core/dmxdev.c
index 1cf9fcb6f514..069d847ba887 100644
--- a/drivers/media/dvb/dvb-core/dmxdev.c
+++ b/drivers/media/dvb/dvb-core/dmxdev.c
@@ -641,7 +641,6 @@ static int dvb_dmxdev_filter_start(struct dmxdev_filter *filter)
641 struct timespec timeout = { 0 }; 641 struct timespec timeout = { 0 };
642 struct dmx_pes_filter_params *para = &filter->params.pes; 642 struct dmx_pes_filter_params *para = &filter->params.pes;
643 dmx_output_t otype; 643 dmx_output_t otype;
644 int ret;
645 int ts_type; 644 int ts_type;
646 enum dmx_ts_pes ts_pes; 645 enum dmx_ts_pes ts_pes;
647 struct dmx_ts_feed **tsfeed = &filter->feed.ts; 646 struct dmx_ts_feed **tsfeed = &filter->feed.ts;
diff --git a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
index 8e5dd7b1f034..98ee16773ff2 100644
--- a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
+++ b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
@@ -1032,7 +1032,7 @@ static int dvb_ca_en50221_thread(void *data)
1032 /* we need this extra check for annoying interfaces like the budget-av */ 1032 /* we need this extra check for annoying interfaces like the budget-av */
1033 if ((!(ca->flags & DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE)) && 1033 if ((!(ca->flags & DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE)) &&
1034 (ca->pub->poll_slot_status)) { 1034 (ca->pub->poll_slot_status)) {
1035 int status = ca->pub->poll_slot_status(ca->pub, slot, 0); 1035 status = ca->pub->poll_slot_status(ca->pub, slot, 0);
1036 if (!(status & DVB_CA_EN50221_POLL_CAM_PRESENT)) { 1036 if (!(status & DVB_CA_EN50221_POLL_CAM_PRESENT)) {
1037 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_NONE; 1037 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_NONE;
1038 dvb_ca_en50221_thread_update_delay(ca); 1038 dvb_ca_en50221_thread_update_delay(ca);
@@ -1089,7 +1089,7 @@ static int dvb_ca_en50221_thread(void *data)
1089 /* we need this extra check for annoying interfaces like the budget-av */ 1089 /* we need this extra check for annoying interfaces like the budget-av */
1090 if ((!(ca->flags & DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE)) && 1090 if ((!(ca->flags & DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE)) &&
1091 (ca->pub->poll_slot_status)) { 1091 (ca->pub->poll_slot_status)) {
1092 int status = ca->pub->poll_slot_status(ca->pub, slot, 0); 1092 status = ca->pub->poll_slot_status(ca->pub, slot, 0);
1093 if (!(status & DVB_CA_EN50221_POLL_CAM_PRESENT)) { 1093 if (!(status & DVB_CA_EN50221_POLL_CAM_PRESENT)) {
1094 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_NONE; 1094 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_NONE;
1095 dvb_ca_en50221_thread_update_delay(ca); 1095 dvb_ca_en50221_thread_update_delay(ca);
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 8cbdb218952f..3526e3ee9487 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -889,13 +889,13 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
889 * initialization, so parg is 8 bits and does not 889 * initialization, so parg is 8 bits and does not
890 * include the initialization or start bit 890 * include the initialization or start bit
891 */ 891 */
892 unsigned long cmd = ((unsigned long) parg) << 1; 892 unsigned long swcmd = ((unsigned long) parg) << 1;
893 struct timeval nexttime; 893 struct timeval nexttime;
894 struct timeval tv[10]; 894 struct timeval tv[10];
895 int i; 895 int i;
896 u8 last = 1; 896 u8 last = 1;
897 if (dvb_frontend_debug) 897 if (dvb_frontend_debug)
898 printk("%s switch command: 0x%04lx\n", __func__, cmd); 898 printk("%s switch command: 0x%04lx\n", __func__, swcmd);
899 do_gettimeofday(&nexttime); 899 do_gettimeofday(&nexttime);
900 if (dvb_frontend_debug) 900 if (dvb_frontend_debug)
901 memcpy(&tv[0], &nexttime, sizeof(struct timeval)); 901 memcpy(&tv[0], &nexttime, sizeof(struct timeval));
@@ -908,12 +908,12 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
908 for (i = 0; i < 9; i++) { 908 for (i = 0; i < 9; i++) {
909 if (dvb_frontend_debug) 909 if (dvb_frontend_debug)
910 do_gettimeofday(&tv[i + 1]); 910 do_gettimeofday(&tv[i + 1]);
911 if ((cmd & 0x01) != last) { 911 if ((swcmd & 0x01) != last) {
912 /* set voltage to (last ? 13V : 18V) */ 912 /* set voltage to (last ? 13V : 18V) */
913 fe->ops.set_voltage(fe, (last) ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18); 913 fe->ops.set_voltage(fe, (last) ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18);
914 last = (last) ? 0 : 1; 914 last = (last) ? 0 : 1;
915 } 915 }
916 cmd = cmd >> 1; 916 swcmd = swcmd >> 1;
917 if (i != 8) 917 if (i != 8)
918 dvb_frontend_sleep_until(&nexttime, 8000); 918 dvb_frontend_sleep_until(&nexttime, 8000);
919 } 919 }
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index aaa0b6f0b521..563400277a42 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -210,7 +210,7 @@ static int cxusb_aver_power_ctrl(struct dvb_usb_device *d, int onoff)
210 if (d->state == DVB_USB_STATE_INIT && 210 if (d->state == DVB_USB_STATE_INIT &&
211 usb_set_interface(d->udev, 0, 0) < 0) 211 usb_set_interface(d->udev, 0, 0) < 0)
212 err("set interface failed"); 212 err("set interface failed");
213 do; while (!(ret = cxusb_ctrl_msg(d, CMD_POWER_ON, NULL, 0, NULL, 0)) && 213 do {} while (!(ret = cxusb_ctrl_msg(d, CMD_POWER_ON, NULL, 0, NULL, 0)) &&
214 !(ret = cxusb_ctrl_msg(d, 0x15, NULL, 0, NULL, 0)) && 214 !(ret = cxusb_ctrl_msg(d, 0x15, NULL, 0, NULL, 0)) &&
215 !(ret = cxusb_ctrl_msg(d, 0x17, NULL, 0, NULL, 0)) && 0); 215 !(ret = cxusb_ctrl_msg(d, 0x17, NULL, 0, NULL, 0)) && 0);
216 if (!ret) { 216 if (!ret) {
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
index 3dd20bfbed32..6c0e5c5f4362 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -1117,7 +1117,8 @@ struct usb_device_id dib0700_usb_id_table[] = {
1117 { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_HT_EXPRESS) }, 1117 { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_HT_EXPRESS) },
1118 { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_XXS) }, 1118 { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_XXS) },
1119 { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_STK7700P_2) }, 1119 { USB_DEVICE(USB_VID_LEADTEK, USB_PID_WINFAST_DTV_DONGLE_STK7700P_2) },
1120 { USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_NOVA_TD_STICK_52009) }, 1120/* 35 */{ USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_NOVA_TD_STICK_52009) },
1121 { USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_NOVA_T_500_3) },
1121 { 0 } /* Terminating entry */ 1122 { 0 } /* Terminating entry */
1122}; 1123};
1123MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table); 1124MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
@@ -1373,7 +1374,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1373 } 1374 }
1374 }, 1375 },
1375 1376
1376 .num_device_descs = 3, 1377 .num_device_descs = 4,
1377 .devices = { 1378 .devices = {
1378 { "DiBcom STK7070PD reference design", 1379 { "DiBcom STK7070PD reference design",
1379 { &dib0700_usb_id_table[17], NULL }, 1380 { &dib0700_usb_id_table[17], NULL },
@@ -1386,6 +1387,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1386 { "Hauppauge Nova-TD Stick (52009)", 1387 { "Hauppauge Nova-TD Stick (52009)",
1387 { &dib0700_usb_id_table[35], NULL }, 1388 { &dib0700_usb_id_table[35], NULL },
1388 { NULL }, 1389 { NULL },
1390 },
1391 { "Hauppauge Nova-TD-500 (84xxx)",
1392 { &dib0700_usb_id_table[36], NULL },
1393 { NULL },
1389 } 1394 }
1390 } 1395 }
1391 }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, 1396 }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
index 029b437caf9a..03dfb9f2fe30 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
@@ -129,6 +129,7 @@
129#define USB_PID_WINTV_NOVA_T_USB2_WARM 0x9301 129#define USB_PID_WINTV_NOVA_T_USB2_WARM 0x9301
130#define USB_PID_HAUPPAUGE_NOVA_T_500 0x9941 130#define USB_PID_HAUPPAUGE_NOVA_T_500 0x9941
131#define USB_PID_HAUPPAUGE_NOVA_T_500_2 0x9950 131#define USB_PID_HAUPPAUGE_NOVA_T_500_2 0x9950
132#define USB_PID_HAUPPAUGE_NOVA_T_500_3 0x8400
132#define USB_PID_HAUPPAUGE_NOVA_T_STICK 0x7050 133#define USB_PID_HAUPPAUGE_NOVA_T_STICK 0x7050
133#define USB_PID_HAUPPAUGE_NOVA_T_STICK_2 0x7060 134#define USB_PID_HAUPPAUGE_NOVA_T_STICK_2 0x7060
134#define USB_PID_HAUPPAUGE_NOVA_T_STICK_3 0x7070 135#define USB_PID_HAUPPAUGE_NOVA_T_STICK_3 0x7070
diff --git a/drivers/media/dvb/frontends/au8522.c b/drivers/media/dvb/frontends/au8522.c
index f7b71657f0f6..0b82cc2a1e16 100644
--- a/drivers/media/dvb/frontends/au8522.c
+++ b/drivers/media/dvb/frontends/au8522.c
@@ -1,7 +1,7 @@
1/* 1/*
2 Auvitek AU8522 QAM/8VSB demodulator driver 2 Auvitek AU8522 QAM/8VSB demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
@@ -304,6 +304,43 @@ static int au8522_mse2snr_lookup(struct mse2snr_tab *tab, int sz, int mse,
304 return ret; 304 return ret;
305} 305}
306 306
307static int au8522_set_if(struct dvb_frontend *fe, enum au8522_if_freq if_freq)
308{
309 struct au8522_state *state = fe->demodulator_priv;
310 u8 r0b5, r0b6, r0b7;
311 char *ifmhz;
312
313 switch (if_freq) {
314 case AU8522_IF_3_25MHZ:
315 ifmhz = "3.25";
316 r0b5 = 0x00;
317 r0b6 = 0x3d;
318 r0b7 = 0xa0;
319 break;
320 case AU8522_IF_4MHZ:
321 ifmhz = "4.00";
322 r0b5 = 0x00;
323 r0b6 = 0x4b;
324 r0b7 = 0xd9;
325 break;
326 case AU8522_IF_6MHZ:
327 ifmhz = "6.00";
328 r0b5 = 0xfb;
329 r0b6 = 0x8e;
330 r0b7 = 0x39;
331 break;
332 default:
333 dprintk("%s() IF Frequency not supported\n", __func__);
334 return -EINVAL;
335 }
336 dprintk("%s() %s MHz\n", __func__, ifmhz);
337 au8522_writereg(state, 0x80b5, r0b5);
338 au8522_writereg(state, 0x80b6, r0b6);
339 au8522_writereg(state, 0x80b7, r0b7);
340
341 return 0;
342}
343
307/* VSB Modulation table */ 344/* VSB Modulation table */
308static struct { 345static struct {
309 u16 reg; 346 u16 reg;
@@ -334,9 +371,6 @@ static struct {
334 { 0x80af, 0x66 }, 371 { 0x80af, 0x66 },
335 { 0x821b, 0xcc }, 372 { 0x821b, 0xcc },
336 { 0x821d, 0x80 }, 373 { 0x821d, 0x80 },
337 { 0x80b5, 0xfb },
338 { 0x80b6, 0x8e },
339 { 0x80b7, 0x39 },
340 { 0x80a4, 0xe8 }, 374 { 0x80a4, 0xe8 },
341 { 0x8231, 0x13 }, 375 { 0x8231, 0x13 },
342}; 376};
@@ -350,9 +384,6 @@ static struct {
350 { 0x80a4, 0x00 }, 384 { 0x80a4, 0x00 },
351 { 0x8081, 0xc4 }, 385 { 0x8081, 0xc4 },
352 { 0x80a5, 0x40 }, 386 { 0x80a5, 0x40 },
353 { 0x80b5, 0xfb },
354 { 0x80b6, 0x8e },
355 { 0x80b7, 0x39 },
356 { 0x80aa, 0x77 }, 387 { 0x80aa, 0x77 },
357 { 0x80ad, 0x77 }, 388 { 0x80ad, 0x77 },
358 { 0x80a6, 0x67 }, 389 { 0x80a6, 0x67 },
@@ -438,6 +469,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
438 au8522_writereg(state, 469 au8522_writereg(state,
439 VSB_mod_tab[i].reg, 470 VSB_mod_tab[i].reg,
440 VSB_mod_tab[i].data); 471 VSB_mod_tab[i].data);
472 au8522_set_if(fe, state->config->vsb_if);
441 break; 473 break;
442 case QAM_64: 474 case QAM_64:
443 case QAM_256: 475 case QAM_256:
@@ -446,6 +478,7 @@ static int au8522_enable_modulation(struct dvb_frontend *fe,
446 au8522_writereg(state, 478 au8522_writereg(state,
447 QAM_mod_tab[i].reg, 479 QAM_mod_tab[i].reg,
448 QAM_mod_tab[i].data); 480 QAM_mod_tab[i].data);
481 au8522_set_if(fe, state->config->qam_if);
449 break; 482 break;
450 default: 483 default:
451 dprintk("%s() Invalid modulation\n", __func__); 484 dprintk("%s() Invalid modulation\n", __func__);
diff --git a/drivers/media/dvb/frontends/au8522.h b/drivers/media/dvb/frontends/au8522.h
index d7affa3cdb27..595915ade8c3 100644
--- a/drivers/media/dvb/frontends/au8522.h
+++ b/drivers/media/dvb/frontends/au8522.h
@@ -1,7 +1,7 @@
1/* 1/*
2 Auvitek AU8522 QAM/8VSB demodulator driver 2 Auvitek AU8522 QAM/8VSB demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
@@ -24,6 +24,12 @@
24 24
25#include <linux/dvb/frontend.h> 25#include <linux/dvb/frontend.h>
26 26
27enum au8522_if_freq {
28 AU8522_IF_6MHZ = 0,
29 AU8522_IF_4MHZ,
30 AU8522_IF_3_25MHZ,
31};
32
27struct au8522_config { 33struct au8522_config {
28 /* the demodulator's i2c address */ 34 /* the demodulator's i2c address */
29 u8 demod_address; 35 u8 demod_address;
@@ -32,6 +38,9 @@ struct au8522_config {
32#define AU8522_TUNERLOCKING 0 38#define AU8522_TUNERLOCKING 0
33#define AU8522_DEMODLOCKING 1 39#define AU8522_DEMODLOCKING 1
34 u8 status_mode; 40 u8 status_mode;
41
42 enum au8522_if_freq vsb_if;
43 enum au8522_if_freq qam_if;
35}; 44};
36 45
37#if defined(CONFIG_DVB_AU8522) || \ 46#if defined(CONFIG_DVB_AU8522) || \
diff --git a/drivers/media/dvb/frontends/cx22702.c b/drivers/media/dvb/frontends/cx22702.c
index cc1db4e371c3..9430e03dba6c 100644
--- a/drivers/media/dvb/frontends/cx22702.c
+++ b/drivers/media/dvb/frontends/cx22702.c
@@ -7,7 +7,7 @@
7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH
8 Holger Waechtler <holger@convergence.de> 8 Holger Waechtler <holger@convergence.de>
9 9
10 Copyright (C) 2004 Steven Toth <stoth@hauppauge.com> 10 Copyright (C) 2004 Steven Toth <stoth@linuxtv.org>
11 11
12 This program is free software; you can redistribute it and/or modify 12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by 13 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/frontends/cx22702.h b/drivers/media/dvb/frontends/cx22702.h
index 8af766a31552..b1e465c6c2ce 100644
--- a/drivers/media/dvb/frontends/cx22702.h
+++ b/drivers/media/dvb/frontends/cx22702.h
@@ -7,7 +7,7 @@
7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH
8 Holger Waechtler <holger@convergence.de> 8 Holger Waechtler <holger@convergence.de>
9 9
10 Copyright (C) 2004 Steven Toth <stoth@hauppauge.com> 10 Copyright (C) 2004 Steven Toth <stoth@linuxtv.org>
11 11
12 This program is free software; you can redistribute it and/or modify 12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by 13 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/frontends/cx24123.c b/drivers/media/dvb/frontends/cx24123.c
index 7f68d78c6558..7156157cb34b 100644
--- a/drivers/media/dvb/frontends/cx24123.c
+++ b/drivers/media/dvb/frontends/cx24123.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver 2 * Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver
3 * 3 *
4 * Copyright (C) 2005 Steven Toth <stoth@hauppauge.com> 4 * Copyright (C) 2005 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * Support for KWorld DVB-S 100 by Vadim Catana <skystar@moldova.cc> 6 * Support for KWorld DVB-S 100 by Vadim Catana <skystar@moldova.cc>
7 * 7 *
@@ -1072,8 +1072,8 @@ struct dvb_frontend* cx24123_attach(const struct cx24123_config* config,
1072 if (config->dont_use_pll) 1072 if (config->dont_use_pll)
1073 cx24123_repeater_mode(state, 1, 0); 1073 cx24123_repeater_mode(state, 1, 0);
1074 1074
1075 strncpy(state->tuner_i2c_adapter.name, 1075 strlcpy(state->tuner_i2c_adapter.name, "CX24123 tuner I2C bus",
1076 "CX24123 tuner I2C bus", I2C_NAME_SIZE); 1076 sizeof(state->tuner_i2c_adapter.name));
1077 state->tuner_i2c_adapter.class = I2C_CLASS_TV_DIGITAL, 1077 state->tuner_i2c_adapter.class = I2C_CLASS_TV_DIGITAL,
1078 state->tuner_i2c_adapter.algo = &cx24123_tuner_i2c_algo; 1078 state->tuner_i2c_adapter.algo = &cx24123_tuner_i2c_algo;
1079 state->tuner_i2c_adapter.algo_data = NULL; 1079 state->tuner_i2c_adapter.algo_data = NULL;
diff --git a/drivers/media/dvb/frontends/cx24123.h b/drivers/media/dvb/frontends/cx24123.h
index 81ebc3d2f19f..cc6b411d6d20 100644
--- a/drivers/media/dvb/frontends/cx24123.h
+++ b/drivers/media/dvb/frontends/cx24123.h
@@ -1,7 +1,7 @@
1/* 1/*
2 Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver 2 Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver
3 3
4 Copyright (C) 2005 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2005 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/frontends/s5h1409.c b/drivers/media/dvb/frontends/s5h1409.c
index 5ddb2dca305c..7500a1c53e68 100644
--- a/drivers/media/dvb/frontends/s5h1409.c
+++ b/drivers/media/dvb/frontends/s5h1409.c
@@ -1,7 +1,7 @@
1/* 1/*
2 Samsung S5H1409 VSB/QAM demodulator driver 2 Samsung S5H1409 VSB/QAM demodulator driver
3 3
4 Copyright (C) 2006 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2006 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
@@ -404,6 +404,7 @@ static int s5h1409_enable_modulation(struct dvb_frontend* fe,
404 break; 404 break;
405 case QAM_64: 405 case QAM_64:
406 case QAM_256: 406 case QAM_256:
407 case QAM_AUTO:
407 dprintk("%s() QAM_AUTO (64/256)\n", __func__); 408 dprintk("%s() QAM_AUTO (64/256)\n", __func__);
408 if (state->if_freq != S5H1409_QAM_IF_FREQ) 409 if (state->if_freq != S5H1409_QAM_IF_FREQ)
409 s5h1409_set_if_freq(fe, S5H1409_QAM_IF_FREQ); 410 s5h1409_set_if_freq(fe, S5H1409_QAM_IF_FREQ);
diff --git a/drivers/media/dvb/frontends/s5h1409.h b/drivers/media/dvb/frontends/s5h1409.h
index 59f4335964c6..d1a1d2eb8e11 100644
--- a/drivers/media/dvb/frontends/s5h1409.h
+++ b/drivers/media/dvb/frontends/s5h1409.h
@@ -1,7 +1,7 @@
1/* 1/*
2 Samsung S5H1409 VSB/QAM demodulator driver 2 Samsung S5H1409 VSB/QAM demodulator driver
3 3
4 Copyright (C) 2006 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2006 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/frontends/s5h1411.c b/drivers/media/dvb/frontends/s5h1411.c
index cff360ce1ba3..2da1a3763de9 100644
--- a/drivers/media/dvb/frontends/s5h1411.c
+++ b/drivers/media/dvb/frontends/s5h1411.c
@@ -1,7 +1,7 @@
1/* 1/*
2 Samsung S5H1411 VSB/QAM demodulator driver 2 Samsung S5H1411 VSB/QAM demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
@@ -488,6 +488,7 @@ static int s5h1411_enable_modulation(struct dvb_frontend *fe,
488 break; 488 break;
489 case QAM_64: 489 case QAM_64:
490 case QAM_256: 490 case QAM_256:
491 case QAM_AUTO:
491 dprintk("%s() QAM_AUTO (64/256)\n", __func__); 492 dprintk("%s() QAM_AUTO (64/256)\n", __func__);
492 s5h1411_set_if_freq(fe, state->config->qam_if); 493 s5h1411_set_if_freq(fe, state->config->qam_if);
493 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x00, 0x0171); 494 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x00, 0x0171);
diff --git a/drivers/media/dvb/frontends/s5h1411.h b/drivers/media/dvb/frontends/s5h1411.h
index 1855f64ed4d8..7d542bc00c48 100644
--- a/drivers/media/dvb/frontends/s5h1411.h
+++ b/drivers/media/dvb/frontends/s5h1411.h
@@ -1,7 +1,7 @@
1/* 1/*
2 Samsung S5H1411 VSB/QAM demodulator driver 2 Samsung S5H1411 VSB/QAM demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/frontends/s5h1420.c b/drivers/media/dvb/frontends/s5h1420.c
index 720ed9ff7c5f..747d3fa2e5e5 100644
--- a/drivers/media/dvb/frontends/s5h1420.c
+++ b/drivers/media/dvb/frontends/s5h1420.c
@@ -915,7 +915,8 @@ struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config,
915 state->frontend.demodulator_priv = state; 915 state->frontend.demodulator_priv = state;
916 916
917 /* create tuner i2c adapter */ 917 /* create tuner i2c adapter */
918 strncpy(state->tuner_i2c_adapter.name, "S5H1420-PN1010 tuner I2C bus", I2C_NAME_SIZE); 918 strlcpy(state->tuner_i2c_adapter.name, "S5H1420-PN1010 tuner I2C bus",
919 sizeof(state->tuner_i2c_adapter.name));
919 state->tuner_i2c_adapter.class = I2C_CLASS_TV_DIGITAL, 920 state->tuner_i2c_adapter.class = I2C_CLASS_TV_DIGITAL,
920 state->tuner_i2c_adapter.algo = &s5h1420_tuner_i2c_algo; 921 state->tuner_i2c_adapter.algo = &s5h1420_tuner_i2c_algo;
921 state->tuner_i2c_adapter.algo_data = NULL; 922 state->tuner_i2c_adapter.algo_data = NULL;
diff --git a/drivers/media/dvb/frontends/tda10048.c b/drivers/media/dvb/frontends/tda10048.c
index 0ab8d86b3ae3..04e7f1cc1403 100644
--- a/drivers/media/dvb/frontends/tda10048.c
+++ b/drivers/media/dvb/frontends/tda10048.c
@@ -1,7 +1,7 @@
1/* 1/*
2 NXP TDA10048HN DVB OFDM demodulator driver 2 NXP TDA10048HN DVB OFDM demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
@@ -303,7 +303,7 @@ static int tda10048_firmware_upload(struct dvb_frontend *fe)
303 303
304 if (fw->size != TDA10048_DEFAULT_FIRMWARE_SIZE) { 304 if (fw->size != TDA10048_DEFAULT_FIRMWARE_SIZE) {
305 printk(KERN_ERR "%s: firmware incorrect size\n", __func__); 305 printk(KERN_ERR "%s: firmware incorrect size\n", __func__);
306 return -EIO; 306 ret = -EIO;
307 } else { 307 } else {
308 printk(KERN_INFO "%s: firmware uploading\n", __func__); 308 printk(KERN_INFO "%s: firmware uploading\n", __func__);
309 309
diff --git a/drivers/media/dvb/frontends/tda10048.h b/drivers/media/dvb/frontends/tda10048.h
index 2b5c78e62c86..0457b24601fa 100644
--- a/drivers/media/dvb/frontends/tda10048.h
+++ b/drivers/media/dvb/frontends/tda10048.h
@@ -1,7 +1,7 @@
1/* 1/*
2 NXP TDA10048HN DVB OFDM demodulator driver 2 NXP TDA10048HN DVB OFDM demodulator driver
3 3
4 Copyright (C) 2008 Steven Toth <stoth@hauppauge.com> 4 Copyright (C) 2008 Steven Toth <stoth@linuxtv.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c
index e7a8ac0c4049..cc5efb643f33 100644
--- a/drivers/media/dvb/siano/sms-cards.c
+++ b/drivers/media/dvb/siano/sms-cards.c
@@ -4,7 +4,7 @@
4 * Copyright (c) 2008 Michael Krufky <mkrufky@linuxtv.org> 4 * Copyright (c) 2008 Michael Krufky <mkrufky@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 3 as 7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation; 8 * published by the Free Software Foundation;
9 * 9 *
10 * Software distributed under the License is distributed on an "AS IS" 10 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/siano/sms-cards.h b/drivers/media/dvb/siano/sms-cards.h
index 83b39bc203fe..c8f3da6f9bc1 100644
--- a/drivers/media/dvb/siano/sms-cards.h
+++ b/drivers/media/dvb/siano/sms-cards.h
@@ -4,7 +4,7 @@
4 * Copyright (c) 2008 Michael Krufky <mkrufky@linuxtv.org> 4 * Copyright (c) 2008 Michael Krufky <mkrufky@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 3 as 7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation; 8 * published by the Free Software Foundation;
9 * 9 *
10 * Software distributed under the License is distributed on an "AS IS" 10 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/siano/smscoreapi.c b/drivers/media/dvb/siano/smscoreapi.c
index c5f45fed69dc..6576fbb40fc6 100644
--- a/drivers/media/dvb/siano/smscoreapi.c
+++ b/drivers/media/dvb/siano/smscoreapi.c
@@ -8,7 +8,7 @@
8 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. 8 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
9 * 9 *
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 3 as 11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation; 12 * published by the Free Software Foundation;
13 * 13 *
14 * Software distributed under the License is distributed on an "AS IS" 14 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/siano/smscoreapi.h b/drivers/media/dvb/siano/smscoreapi.h
index c1f8f1dccb11..8d973f726fb8 100644
--- a/drivers/media/dvb/siano/smscoreapi.h
+++ b/drivers/media/dvb/siano/smscoreapi.h
@@ -6,7 +6,7 @@
6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. 6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 3 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation; 10 * published by the Free Software Foundation;
11 * 11 *
12 * Software distributed under the License is distributed on an "AS IS" 12 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/siano/smsdvb.c b/drivers/media/dvb/siano/smsdvb.c
index 229274a14110..8d490e133f35 100644
--- a/drivers/media/dvb/siano/smsdvb.c
+++ b/drivers/media/dvb/siano/smsdvb.c
@@ -6,7 +6,7 @@
6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. 6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 3 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation; 10 * published by the Free Software Foundation;
11 * 11 *
12 * Software distributed under the License is distributed on an "AS IS" 12 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/siano/smsusb.c b/drivers/media/dvb/siano/smsusb.c
index c10b1849c6a3..87a3c24454b9 100644
--- a/drivers/media/dvb/siano/smsusb.c
+++ b/drivers/media/dvb/siano/smsusb.c
@@ -6,7 +6,7 @@
6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc. 6 * Copyright (c), 2005-2008 Siano Mobile Silicon, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 3 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation; 10 * published by the Free Software Foundation;
11 * 11 *
12 * Software distributed under the License is distributed on an "AS IS" 12 * Software distributed under the License is distributed on an "AS IS"
diff --git a/drivers/media/dvb/ttpci/budget-patch.c b/drivers/media/dvb/ttpci/budget-patch.c
index 39bd0a20f53a..aa5ed4ef19f2 100644
--- a/drivers/media/dvb/ttpci/budget-patch.c
+++ b/drivers/media/dvb/ttpci/budget-patch.c
@@ -116,7 +116,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
116 DiseqcSendByte(budget, 0xff); 116 DiseqcSendByte(budget, 0xff);
117 else { 117 else {
118 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 118 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI);
119 udelay(12500); 119 mdelay(12);
120 udelay(500);
120 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 121 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO);
121 } 122 }
122 msleep(20); 123 msleep(20);
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index 2293d80c6e51..f0068996ac07 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -108,7 +108,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
108 DiseqcSendByte(budget, 0xff); 108 DiseqcSendByte(budget, 0xff);
109 else { 109 else {
110 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 110 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI);
111 udelay(12500); 111 mdelay(12);
112 udelay(500);
112 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 113 saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO);
113 } 114 }
114 msleep(20); 115 msleep(20);
diff --git a/drivers/media/radio/Makefile b/drivers/media/radio/Makefile
index a30159f6fa42..7ca71ab96b43 100644
--- a/drivers/media/radio/Makefile
+++ b/drivers/media/radio/Makefile
@@ -2,8 +2,6 @@
2# Makefile for the kernel character device drivers. 2# Makefile for the kernel character device drivers.
3# 3#
4 4
5miropcm20-objs := miropcm20-rds-core.o miropcm20-radio.o
6
7obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o 5obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o
8obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o 6obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o
9obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o 7obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o
@@ -14,8 +12,6 @@ obj-$(CONFIG_RADIO_TERRATEC) += radio-terratec.o
14obj-$(CONFIG_RADIO_MAXIRADIO) += radio-maxiradio.o 12obj-$(CONFIG_RADIO_MAXIRADIO) += radio-maxiradio.o
15obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o 13obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o
16obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o 14obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
17obj-$(CONFIG_RADIO_MIROPCM20) += miropcm20.o
18obj-$(CONFIG_RADIO_MIROPCM20_RDS) += miropcm20-rds.o
19obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o 15obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
20obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o 16obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o
21obj-$(CONFIG_RADIO_TRUST) += radio-trust.o 17obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c
index 1ed88f3abe61..70c65a745923 100644
--- a/drivers/media/radio/dsbr100.c
+++ b/drivers/media/radio/dsbr100.c
@@ -493,7 +493,7 @@ static int usb_dsbr100_probe(struct usb_interface *intf,
493 radio->usbdev = interface_to_usbdev(intf); 493 radio->usbdev = interface_to_usbdev(intf);
494 radio->curfreq = FREQ_MIN*FREQ_MUL; 494 radio->curfreq = FREQ_MIN*FREQ_MUL;
495 video_set_drvdata(radio->videodev, radio); 495 video_set_drvdata(radio->videodev, radio);
496 if (video_register_device(radio->videodev, VFL_TYPE_RADIO,radio_nr)) { 496 if (video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr) < 0) {
497 warn("Could not register video device"); 497 warn("Could not register video device");
498 video_device_release(radio->videodev); 498 video_device_release(radio->videodev);
499 kfree(radio->transfer_buffer); 499 kfree(radio->transfer_buffer);
diff --git a/drivers/media/radio/miropcm20-radio.c b/drivers/media/radio/miropcm20-radio.c
deleted file mode 100644
index 7fd7ee2d32c1..000000000000
--- a/drivers/media/radio/miropcm20-radio.c
+++ /dev/null
@@ -1,266 +0,0 @@
1/* Miro PCM20 radio driver for Linux radio support
2 * (c) 1998 Ruurd Reitsma <R.A.Reitsma@wbmt.tudelft.nl>
3 * Thanks to Norberto Pellici for the ACI device interface specification
4 * The API part is based on the radiotrack driver by M. Kirkwood
5 * This driver relies on the aci mixer (drivers/sound/aci.c)
6 * Look there for further info...
7 */
8
9/* Revision history:
10 *
11 * 1998 Ruurd Reitsma <R.A.Reitsma@wbmt.tudelft.nl>
12 * 2000-09-05 Robert Siemer <Robert.Siemer@gmx.de>
13 * removed unfinished volume control (maybe adding it later again)
14 * use OSS-mixer; added stereo control
15 */
16
17/* What ever you think about the ACI, version 0x07 is not very well!
18 * I can't get frequency, 'tuner status', 'tuner flags' or mute/mono
19 * conditions... Robert
20 */
21
22#include <linux/module.h>
23#include <linux/init.h>
24#include <linux/videodev.h>
25#include <media/v4l2-common.h>
26#include <media/v4l2-ioctl.h>
27#include "oss/aci.h"
28#include "miropcm20-rds-core.h"
29
30static int radio_nr = -1;
31module_param(radio_nr, int, 0);
32
33struct pcm20_device {
34 unsigned long freq;
35 int muted;
36 int stereo;
37};
38
39
40static int pcm20_mute(struct pcm20_device *dev, unsigned char mute)
41{
42 dev->muted = mute;
43 return aci_write_cmd(ACI_SET_TUNERMUTE, mute);
44}
45
46static int pcm20_stereo(struct pcm20_device *dev, unsigned char stereo)
47{
48 dev->stereo = stereo;
49 return aci_write_cmd(ACI_SET_TUNERMONO, !stereo);
50}
51
52static int pcm20_setfreq(struct pcm20_device *dev, unsigned long freq)
53{
54 unsigned char freql;
55 unsigned char freqh;
56
57 dev->freq=freq;
58
59 freq /= 160;
60 if (!(aci_version==0x07 || aci_version>=0xb0))
61 freq /= 10; /* I don't know exactly which version
62 * needs this hack */
63 freql = freq & 0xff;
64 freqh = freq >> 8;
65
66 aci_rds_cmd(RDS_RESET, NULL, 0);
67 pcm20_stereo(dev, 1);
68
69 return aci_rw_cmd(ACI_WRITE_TUNE, freql, freqh);
70}
71
72static int pcm20_getflags(struct pcm20_device *dev, __u32 *flags, __u16 *signal)
73{
74 /* okay, check for signal, stereo and rds here... */
75 int i;
76 unsigned char buf;
77
78 if ((i=aci_rw_cmd(ACI_READ_TUNERSTATION, -1, -1))<0)
79 return i;
80 pr_debug("check_sig: 0x%x\n", i);
81 if (i & 0x80) {
82 /* no signal from tuner */
83 *flags=0;
84 *signal=0;
85 return 0;
86 } else
87 *signal=0xffff;
88
89 if ((i=aci_rw_cmd(ACI_READ_TUNERSTEREO, -1, -1))<0)
90 return i;
91 if (i & 0x40) {
92 *flags=0;
93 } else {
94 /* stereo */
95 *flags=VIDEO_TUNER_STEREO_ON;
96 /* I can't see stereo, when forced to mono */
97 dev->stereo=1;
98 }
99
100 if ((i=aci_rds_cmd(RDS_STATUS, &buf, 1))<0)
101 return i;
102 if (buf & 1)
103 /* RDS available */
104 *flags|=VIDEO_TUNER_RDS_ON;
105 else
106 return 0;
107
108 if ((i=aci_rds_cmd(RDS_RXVALUE, &buf, 1))<0)
109 return i;
110 pr_debug("rds-signal: %d\n", buf);
111 if (buf > 15) {
112 printk("miropcm20-radio: RX strengths unexpected high...\n");
113 buf=15;
114 }
115 /* refine signal */
116 if ((*signal=SCALE(15, 0xffff, buf))==0)
117 *signal = 1;
118
119 return 0;
120}
121
122static int pcm20_do_ioctl(struct inode *inode, struct file *file,
123 unsigned int cmd, void *arg)
124{
125 struct video_device *dev = video_devdata(file);
126 struct pcm20_device *pcm20 = dev->priv;
127 int i;
128
129 switch(cmd)
130 {
131 case VIDIOCGCAP:
132 {
133 struct video_capability *v = arg;
134 memset(v,0,sizeof(*v));
135 v->type=VID_TYPE_TUNER;
136 strcpy(v->name, "Miro PCM20");
137 v->channels=1;
138 v->audios=1;
139 return 0;
140 }
141 case VIDIOCGTUNER:
142 {
143 struct video_tuner *v = arg;
144 if(v->tuner) /* Only 1 tuner */
145 return -EINVAL;
146 v->rangelow=87*16000;
147 v->rangehigh=108*16000;
148 pcm20_getflags(pcm20, &v->flags, &v->signal);
149 v->flags|=VIDEO_TUNER_LOW;
150 v->mode=VIDEO_MODE_AUTO;
151 strcpy(v->name, "FM");
152 return 0;
153 }
154 case VIDIOCSTUNER:
155 {
156 struct video_tuner *v = arg;
157 if(v->tuner!=0)
158 return -EINVAL;
159 /* Only 1 tuner so no setting needed ! */
160 return 0;
161 }
162 case VIDIOCGFREQ:
163 {
164 unsigned long *freq = arg;
165 *freq = pcm20->freq;
166 return 0;
167 }
168 case VIDIOCSFREQ:
169 {
170 unsigned long *freq = arg;
171 pcm20->freq = *freq;
172 i=pcm20_setfreq(pcm20, pcm20->freq);
173 pr_debug("First view (setfreq): 0x%x\n", i);
174 return i;
175 }
176 case VIDIOCGAUDIO:
177 {
178 struct video_audio *v = arg;
179 memset(v,0, sizeof(*v));
180 v->flags=VIDEO_AUDIO_MUTABLE;
181 if (pcm20->muted)
182 v->flags|=VIDEO_AUDIO_MUTE;
183 v->mode=VIDEO_SOUND_STEREO;
184 if (pcm20->stereo)
185 v->mode|=VIDEO_SOUND_MONO;
186 /* v->step=2048; */
187 strcpy(v->name, "Radio");
188 return 0;
189 }
190 case VIDIOCSAUDIO:
191 {
192 struct video_audio *v = arg;
193 if(v->audio)
194 return -EINVAL;
195
196 pcm20_mute(pcm20, !!(v->flags&VIDEO_AUDIO_MUTE));
197 if(v->flags&VIDEO_SOUND_MONO)
198 pcm20_stereo(pcm20, 0);
199 if(v->flags&VIDEO_SOUND_STEREO)
200 pcm20_stereo(pcm20, 1);
201
202 return 0;
203 }
204 default:
205 return -ENOIOCTLCMD;
206 }
207}
208
209static int pcm20_ioctl(struct inode *inode, struct file *file,
210 unsigned int cmd, unsigned long arg)
211{
212 return video_usercopy(inode, file, cmd, arg, pcm20_do_ioctl);
213}
214
215static struct pcm20_device pcm20_unit = {
216 .freq = 87*16000,
217 .muted = 1,
218};
219
220static const struct file_operations pcm20_fops = {
221 .owner = THIS_MODULE,
222 .open = video_exclusive_open,
223 .release = video_exclusive_release,
224 .ioctl = pcm20_ioctl,
225#ifdef CONFIG_COMPAT
226 .compat_ioctl = v4l_compat_ioctl32,
227#endif
228 .llseek = no_llseek,
229};
230
231static struct video_device pcm20_radio = {
232 .name = "Miro PCM 20 radio",
233 .fops = &pcm20_fops,
234 .priv = &pcm20_unit
235};
236
237static int __init pcm20_init(void)
238{
239 if(video_register_device(&pcm20_radio, VFL_TYPE_RADIO, radio_nr)==-1)
240 goto video_register_device;
241
242 if(attach_aci_rds()<0)
243 goto attach_aci_rds;
244
245 printk(KERN_INFO "Miro PCM20 radio card driver.\n");
246
247 return 0;
248
249 attach_aci_rds:
250 video_unregister_device(&pcm20_radio);
251 video_register_device:
252 return -EINVAL;
253}
254
255MODULE_AUTHOR("Ruurd Reitsma");
256MODULE_DESCRIPTION("A driver for the Miro PCM20 radio card.");
257MODULE_LICENSE("GPL");
258
259static void __exit pcm20_cleanup(void)
260{
261 unload_aci_rds();
262 video_unregister_device(&pcm20_radio);
263}
264
265module_init(pcm20_init);
266module_exit(pcm20_cleanup);
diff --git a/drivers/media/radio/miropcm20-rds-core.c b/drivers/media/radio/miropcm20-rds-core.c
deleted file mode 100644
index 9428d8b2642c..000000000000
--- a/drivers/media/radio/miropcm20-rds-core.c
+++ /dev/null
@@ -1,211 +0,0 @@
1/*
2 * Many thanks to Fred Seidel <seidel@metabox.de>, the
3 * designer of the RDS decoder hardware. With his help
4 * I was able to code this driver.
5 * Thanks also to Norberto Pellicci, Dominic Mounteney
6 * <DMounteney@pinnaclesys.com> and www.teleauskunft.de
7 * for good hints on finding Fred. It was somewhat hard
8 * to locate him here in Germany... [:
9 *
10 * Revision history:
11 *
12 * 2000-08-09 Robert Siemer <Robert.Siemer@gmx.de>
13 * RDS support for MiroSound PCM20 radio
14 */
15
16#include <linux/module.h>
17#include <linux/errno.h>
18#include <linux/string.h>
19#include <linux/init.h>
20#include <linux/slab.h>
21#include <linux/mutex.h>
22
23#include <asm/io.h>
24#include "oss/aci.h"
25#include "miropcm20-rds-core.h"
26
27#define DEBUG 0
28
29static struct mutex aci_rds_mutex;
30
31#define RDS_DATASHIFT 2 /* Bit 2 */
32#define RDS_DATAMASK (1 << RDS_DATASHIFT)
33#define RDS_BUSYMASK 0x10 /* Bit 4 */
34#define RDS_CLOCKMASK 0x08 /* Bit 3 */
35
36#define RDS_DATA(x) (((x) >> RDS_DATASHIFT) & 1)
37
38
39#if DEBUG
40static void print_matrix(char array[], unsigned int length)
41{
42 int i, j;
43
44 for (i=0; i<length; i++) {
45 printk(KERN_DEBUG "aci-rds: ");
46 for (j=7; j>=0; j--) {
47 printk("%d", (array[i] >> j) & 0x1);
48 }
49 if (i%8 == 0)
50 printk(" byte-border\n");
51 else
52 printk("\n");
53 }
54}
55#endif /* DEBUG */
56
57static int byte2trans(unsigned char byte, unsigned char sendbuffer[], int size)
58{
59 int i;
60
61 if (size != 8)
62 return -1;
63 for (i = 7; i >= 0; i--)
64 sendbuffer[7-i] = (byte & (1 << i)) ? RDS_DATAMASK : 0;
65 sendbuffer[0] |= RDS_CLOCKMASK;
66
67 return 0;
68}
69
70static int rds_waitread(void)
71{
72 unsigned char byte;
73 int i=2000;
74
75 do {
76 byte=inb(RDS_REGISTER);
77 i--;
78 }
79 while ((byte & RDS_BUSYMASK) && i);
80
81 if (i) {
82 #if DEBUG
83 printk(KERN_DEBUG "rds_waitread()");
84 print_matrix(&byte, 1);
85 #endif
86 return (byte);
87 } else {
88 printk(KERN_WARNING "aci-rds: rds_waitread() timeout...\n");
89 return -1;
90 }
91}
92
93/* don't use any ..._nowait() function if you are not sure what you do... */
94
95static inline void rds_rawwrite_nowait(unsigned char byte)
96{
97 #if DEBUG
98 printk(KERN_DEBUG "rds_rawwrite()");
99 print_matrix(&byte, 1);
100 #endif
101 outb(byte, RDS_REGISTER);
102}
103
104static int rds_rawwrite(unsigned char byte)
105{
106 if (rds_waitread() >= 0) {
107 rds_rawwrite_nowait(byte);
108 return 0;
109 } else
110 return -1;
111}
112
113static int rds_write(unsigned char cmd)
114{
115 unsigned char sendbuffer[8];
116 int i;
117
118 if (byte2trans(cmd, sendbuffer, 8) != 0){
119 return -1;
120 } else {
121 for (i=0; i<8; i++) {
122 rds_rawwrite(sendbuffer[i]);
123 }
124 }
125 return 0;
126}
127
128static int rds_readcycle_nowait(void)
129{
130 rds_rawwrite_nowait(0);
131 return rds_waitread();
132}
133
134static int rds_readcycle(void)
135{
136 if (rds_rawwrite(0) < 0)
137 return -1;
138 return rds_waitread();
139}
140
141static int rds_read(unsigned char databuffer[], int datasize)
142{
143 #define READSIZE (8*datasize)
144
145 int i,j;
146
147 if (datasize < 1) /* nothing to read */
148 return 0;
149
150 /* to be able to use rds_readcycle_nowait()
151 I have to waitread() here */
152 if (rds_waitread() < 0)
153 return -1;
154
155 memset(databuffer, 0, datasize);
156
157 for (i=0; i< READSIZE; i++)
158 if((j=rds_readcycle_nowait()) < 0) {
159 return -1;
160 } else {
161 databuffer[i/8]|=(RDS_DATA(j) << (7-(i%8)));
162 }
163
164 return 0;
165}
166
167static int rds_ack(void)
168{
169 int i=rds_readcycle();
170
171 if (i < 0)
172 return -1;
173 if (i & RDS_DATAMASK) {
174 return 0; /* ACK */
175 } else {
176 printk(KERN_DEBUG "aci-rds: NACK\n");
177 return 1; /* NACK */
178 }
179}
180
181int aci_rds_cmd(unsigned char cmd, unsigned char databuffer[], int datasize)
182{
183 int ret;
184
185 if (mutex_lock_interruptible(&aci_rds_mutex))
186 return -EINTR;
187
188 rds_write(cmd);
189
190 /* RDS_RESET doesn't need further processing */
191 if (cmd!=RDS_RESET && (rds_ack() || rds_read(databuffer, datasize)))
192 ret = -1;
193 else
194 ret = 0;
195
196 mutex_unlock(&aci_rds_mutex);
197
198 return ret;
199}
200EXPORT_SYMBOL(aci_rds_cmd);
201
202int __init attach_aci_rds(void)
203{
204 mutex_init(&aci_rds_mutex);
205 return 0;
206}
207
208void __exit unload_aci_rds(void)
209{
210}
211MODULE_LICENSE("GPL");
diff --git a/drivers/media/radio/miropcm20-rds-core.h b/drivers/media/radio/miropcm20-rds-core.h
deleted file mode 100644
index aeb5761f0469..000000000000
--- a/drivers/media/radio/miropcm20-rds-core.h
+++ /dev/null
@@ -1,19 +0,0 @@
1#ifndef _MIROPCM20_RDS_CORE_H_
2#define _MIROPCM20_RDS_CORE_H_
3
4extern int aci_rds_cmd(unsigned char cmd, unsigned char databuffer[], int datasize);
5
6#define RDS_STATUS 0x01
7#define RDS_STATIONNAME 0x02
8#define RDS_TEXT 0x03
9#define RDS_ALTFREQ 0x04
10#define RDS_TIMEDATE 0x05
11#define RDS_PI_CODE 0x06
12#define RDS_PTYTATP 0x07
13#define RDS_RESET 0x08
14#define RDS_RXVALUE 0x09
15
16extern void __exit unload_aci_rds(void);
17extern int __init attach_aci_rds(void);
18
19#endif /* _MIROPCM20_RDS_CORE_H_ */
diff --git a/drivers/media/radio/miropcm20-rds.c b/drivers/media/radio/miropcm20-rds.c
deleted file mode 100644
index 3e840f74d45c..000000000000
--- a/drivers/media/radio/miropcm20-rds.c
+++ /dev/null
@@ -1,136 +0,0 @@
1/* MiroSOUND PCM20 radio rds interface driver
2 * (c) 2001 Robert Siemer <Robert.Siemer@gmx.de>
3 * Thanks to Fred Seidel. See miropcm20-rds-core.c for further information.
4 */
5
6/* Revision history:
7 *
8 * 2001-04-18 Robert Siemer <Robert.Siemer@gmx.de>
9 * separate file for user interface driver
10 */
11
12#include <linux/module.h>
13#include <linux/init.h>
14#include <linux/slab.h>
15#include <linux/smp_lock.h>
16#include <linux/fs.h>
17#include <linux/miscdevice.h>
18#include <linux/delay.h>
19#include <asm/uaccess.h>
20#include "miropcm20-rds-core.h"
21
22static char * text_buffer;
23static int rds_users;
24
25
26static int rds_f_open(struct inode *in, struct file *fi)
27{
28 if (rds_users)
29 return -EBUSY;
30
31 lock_kernel();
32 rds_users++;
33 if ((text_buffer=kmalloc(66, GFP_KERNEL)) == 0) {
34 rds_users--;
35 printk(KERN_NOTICE "aci-rds: Out of memory by open()...\n");
36 unlock_kernel();
37 return -ENOMEM;
38 }
39
40 unlock_kernel();
41 return 0;
42}
43
44static int rds_f_release(struct inode *in, struct file *fi)
45{
46 kfree(text_buffer);
47
48 rds_users--;
49 return 0;
50}
51
52static void print_matrix(char *ch, char out[])
53{
54 int j;
55
56 for (j=7; j>=0; j--) {
57 out[7-j] = ((*ch >> j) & 0x1) + '0';
58 }
59}
60
61static ssize_t rds_f_read(struct file *file, char __user *buffer, size_t length, loff_t *offset)
62{
63// i = sprintf(text_buffer, "length: %d, offset: %d\n", length, *offset);
64
65 char c;
66 char bits[8];
67
68 msleep(2000);
69 aci_rds_cmd(RDS_STATUS, &c, 1);
70 print_matrix(&c, bits);
71 if (copy_to_user(buffer, bits, 8))
72 return -EFAULT;
73
74/* if ((c >> 3) & 1) {
75 aci_rds_cmd(RDS_STATIONNAME, text_buffer+1, 8);
76 text_buffer[0] = ' ' ;
77 text_buffer[9] = '\n';
78 return copy_to_user(buffer+8, text_buffer, 10) ? -EFAULT: 18;
79 }
80*/
81/* if ((c >> 6) & 1) {
82 aci_rds_cmd(RDS_PTYTATP, &c, 1);
83 if ( c & 1)
84 sprintf(text_buffer, " M");
85 else
86 sprintf(text_buffer, " S");
87 if ((c >> 1) & 1)
88 sprintf(text_buffer+2, " TA");
89 else
90 sprintf(text_buffer+2, " --");
91 if ((c >> 7) & 1)
92 sprintf(text_buffer+5, " TP");
93 else
94 sprintf(text_buffer+5, " --");
95 sprintf(text_buffer+8, " %2d\n", (c >> 2) & 0x1f);
96 return copy_to_user(buffer+8, text_buffer, 12) ? -EFAULT: 20;
97 }
98*/
99
100 if ((c >> 4) & 1) {
101 aci_rds_cmd(RDS_TEXT, text_buffer, 65);
102 text_buffer[0] = ' ' ;
103 text_buffer[65] = '\n';
104 return copy_to_user(buffer+8, text_buffer,66) ? -EFAULT : 66+8;
105 } else {
106 put_user('\n', buffer+8);
107 return 9;
108 }
109}
110
111static const struct file_operations rds_fops = {
112 .owner = THIS_MODULE,
113 .read = rds_f_read,
114 .open = rds_f_open,
115 .release = rds_f_release
116};
117
118static struct miscdevice rds_miscdev = {
119 .minor = MISC_DYNAMIC_MINOR,
120 .name = "radiotext",
121 .fops = &rds_fops,
122};
123
124static int __init miropcm20_rds_init(void)
125{
126 return misc_register(&rds_miscdev);
127}
128
129static void __exit miropcm20_rds_cleanup(void)
130{
131 misc_deregister(&rds_miscdev);
132}
133
134module_init(miropcm20_rds_init);
135module_exit(miropcm20_rds_cleanup);
136MODULE_LICENSE("GPL");
diff --git a/drivers/media/radio/radio-aimslab.c b/drivers/media/radio/radio-aimslab.c
index eba9209b3024..1f064f4b32df 100644
--- a/drivers/media/radio/radio-aimslab.c
+++ b/drivers/media/radio/radio-aimslab.c
@@ -426,8 +426,7 @@ static int __init rtrack_init(void)
426 426
427 rtrack_radio.priv=&rtrack_unit; 427 rtrack_radio.priv=&rtrack_unit;
428 428
429 if(video_register_device(&rtrack_radio, VFL_TYPE_RADIO, radio_nr)==-1) 429 if (video_register_device(&rtrack_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
430 {
431 release_region(io, 2); 430 release_region(io, 2);
432 return -EINVAL; 431 return -EINVAL;
433 } 432 }
diff --git a/drivers/media/radio/radio-aztech.c b/drivers/media/radio/radio-aztech.c
index 3fe5504428c5..628c689e3ffe 100644
--- a/drivers/media/radio/radio-aztech.c
+++ b/drivers/media/radio/radio-aztech.c
@@ -394,8 +394,7 @@ static int __init aztech_init(void)
394 mutex_init(&lock); 394 mutex_init(&lock);
395 aztech_radio.priv=&aztech_unit; 395 aztech_radio.priv=&aztech_unit;
396 396
397 if(video_register_device(&aztech_radio, VFL_TYPE_RADIO, radio_nr)==-1) 397 if (video_register_device(&aztech_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
398 {
399 release_region(io,2); 398 release_region(io,2);
400 return -EINVAL; 399 return -EINVAL;
401 } 400 }
diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c
index 6166e726ed72..04c3698d32e4 100644
--- a/drivers/media/radio/radio-cadet.c
+++ b/drivers/media/radio/radio-cadet.c
@@ -682,7 +682,7 @@ static int __init cadet_init(void)
682 } 682 }
683 if (!request_region(io,2,"cadet")) 683 if (!request_region(io,2,"cadet"))
684 goto fail; 684 goto fail;
685 if(video_register_device(&cadet_radio,VFL_TYPE_RADIO,radio_nr)==-1) { 685 if (video_register_device(&cadet_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
686 release_region(io,2); 686 release_region(io,2);
687 goto fail; 687 goto fail;
688 } 688 }
diff --git a/drivers/media/radio/radio-gemtek-pci.c b/drivers/media/radio/radio-gemtek-pci.c
index 36e754e3ffb2..5cd7f032298d 100644
--- a/drivers/media/radio/radio-gemtek-pci.c
+++ b/drivers/media/radio/radio-gemtek-pci.c
@@ -425,7 +425,7 @@ static int __devinit gemtek_pci_probe( struct pci_dev *pci_dev, const struct pci
425 } 425 }
426 *devradio = vdev_template; 426 *devradio = vdev_template;
427 427
428 if ( video_register_device( devradio, VFL_TYPE_RADIO , nr_radio) == -1 ) { 428 if (video_register_device(devradio, VFL_TYPE_RADIO, nr_radio) < 0) {
429 kfree( devradio ); 429 kfree( devradio );
430 goto err_video; 430 goto err_video;
431 } 431 }
diff --git a/drivers/media/radio/radio-gemtek.c b/drivers/media/radio/radio-gemtek.c
index 2b1a6221de6d..0a0f956bb308 100644
--- a/drivers/media/radio/radio-gemtek.c
+++ b/drivers/media/radio/radio-gemtek.c
@@ -612,8 +612,7 @@ static int __init gemtek_init(void)
612 612
613 gemtek_radio.priv = &gemtek_unit; 613 gemtek_radio.priv = &gemtek_unit;
614 614
615 if (video_register_device(&gemtek_radio, VFL_TYPE_RADIO, 615 if (video_register_device(&gemtek_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
616 radio_nr) == -1) {
617 release_region(io, 1); 616 release_region(io, 1);
618 return -EBUSY; 617 return -EBUSY;
619 } 618 }
diff --git a/drivers/media/radio/radio-maestro.c b/drivers/media/radio/radio-maestro.c
index 0ada1c697e8a..9ef0a763eeb7 100644
--- a/drivers/media/radio/radio-maestro.c
+++ b/drivers/media/radio/radio-maestro.c
@@ -409,8 +409,7 @@ static int __devinit maestro_probe(struct pci_dev *pdev,
409 video_set_drvdata(maestro_radio_inst, radio_unit); 409 video_set_drvdata(maestro_radio_inst, radio_unit);
410 pci_set_drvdata(pdev, maestro_radio_inst); 410 pci_set_drvdata(pdev, maestro_radio_inst);
411 411
412 retval = video_register_device(maestro_radio_inst, VFL_TYPE_RADIO, 412 retval = video_register_device(maestro_radio_inst, VFL_TYPE_RADIO, radio_nr);
413 radio_nr);
414 if (retval) { 413 if (retval) {
415 printk(KERN_ERR "can't register video device!\n"); 414 printk(KERN_ERR "can't register video device!\n");
416 goto errfr1; 415 goto errfr1;
diff --git a/drivers/media/radio/radio-maxiradio.c b/drivers/media/radio/radio-maxiradio.c
index 43c75497dc49..0cc6fcb041fd 100644
--- a/drivers/media/radio/radio-maxiradio.c
+++ b/drivers/media/radio/radio-maxiradio.c
@@ -156,28 +156,28 @@ static void set_freq(__u16 io, __u32 freq)
156{ 156{
157 unsigned long int si; 157 unsigned long int si;
158 int bl; 158 int bl;
159 int data = FREQ2BITS(freq); 159 int val = FREQ2BITS(freq);
160 160
161 /* TEA5757 shift register bits (see pdf) */ 161 /* TEA5757 shift register bits (see pdf) */
162 162
163 outbit(0,io); // 24 search 163 outbit(0, io); /* 24 search */
164 outbit(1,io); // 23 search up/down 164 outbit(1, io); /* 23 search up/down */
165 165
166 outbit(0,io); // 22 stereo/mono 166 outbit(0, io); /* 22 stereo/mono */
167 167
168 outbit(0,io); // 21 band 168 outbit(0, io); /* 21 band */
169 outbit(0,io); // 20 band (only 00=FM works I think) 169 outbit(0, io); /* 20 band (only 00=FM works I think) */
170 170
171 outbit(0,io); // 19 port ? 171 outbit(0, io); /* 19 port ? */
172 outbit(0,io); // 18 port ? 172 outbit(0, io); /* 18 port ? */
173 173
174 outbit(0,io); // 17 search level 174 outbit(0, io); /* 17 search level */
175 outbit(0,io); // 16 search level 175 outbit(0, io); /* 16 search level */
176 176
177 si = 0x8000; 177 si = 0x8000;
178 for (bl = 1; bl <= 16 ; bl++) { 178 for (bl = 1; bl <= 16; bl++) {
179 outbit(data & si,io); 179 outbit(val & si, io);
180 si >>=1; 180 si >>= 1;
181 } 181 }
182 182
183 dprintk(1, "Radio freq set to %d.%02d MHz\n", 183 dprintk(1, "Radio freq set to %d.%02d MHz\n",
@@ -410,7 +410,7 @@ static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_d
410 mutex_init(&radio_unit.lock); 410 mutex_init(&radio_unit.lock);
411 maxiradio_radio.priv = &radio_unit; 411 maxiradio_radio.priv = &radio_unit;
412 412
413 if (video_register_device(&maxiradio_radio, VFL_TYPE_RADIO, radio_nr)==-1) { 413 if (video_register_device(&maxiradio_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
414 printk("radio-maxiradio: can't register device!"); 414 printk("radio-maxiradio: can't register device!");
415 goto err_out_free_region; 415 goto err_out_free_region;
416 } 416 }
diff --git a/drivers/media/radio/radio-rtrack2.c b/drivers/media/radio/radio-rtrack2.c
index e2dde0807268..6d820e2481e7 100644
--- a/drivers/media/radio/radio-rtrack2.c
+++ b/drivers/media/radio/radio-rtrack2.c
@@ -332,8 +332,7 @@ static int __init rtrack2_init(void)
332 rtrack2_radio.priv=&rtrack2_unit; 332 rtrack2_radio.priv=&rtrack2_unit;
333 333
334 spin_lock_init(&lock); 334 spin_lock_init(&lock);
335 if(video_register_device(&rtrack2_radio, VFL_TYPE_RADIO, radio_nr)==-1) 335 if (video_register_device(&rtrack2_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
336 {
337 release_region(io, 4); 336 release_region(io, 4);
338 return -EINVAL; 337 return -EINVAL;
339 } 338 }
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c
index bb5d92f104af..0d478f54a907 100644
--- a/drivers/media/radio/radio-sf16fmi.c
+++ b/drivers/media/radio/radio-sf16fmi.c
@@ -377,7 +377,7 @@ static int __init fmi_init(void)
377 377
378 mutex_init(&lock); 378 mutex_init(&lock);
379 379
380 if (video_register_device(&fmi_radio, VFL_TYPE_RADIO, radio_nr) == -1) { 380 if (video_register_device(&fmi_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
381 release_region(io, 2); 381 release_region(io, 2);
382 return -EINVAL; 382 return -EINVAL;
383 } 383 }
diff --git a/drivers/media/radio/radio-si470x.c b/drivers/media/radio/radio-si470x.c
index a4984ff87c9c..16c7ef20265c 100644
--- a/drivers/media/radio/radio-si470x.c
+++ b/drivers/media/radio/radio-si470x.c
@@ -1694,8 +1694,8 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
1694 INIT_DELAYED_WORK(&radio->work, si470x_work); 1694 INIT_DELAYED_WORK(&radio->work, si470x_work);
1695 1695
1696 /* register video device */ 1696 /* register video device */
1697 if (video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr)) { 1697 retval = video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr);
1698 retval = -EIO; 1698 if (retval) {
1699 printk(KERN_WARNING DRIVER_NAME 1699 printk(KERN_WARNING DRIVER_NAME
1700 ": Could not register video device\n"); 1700 ": Could not register video device\n");
1701 goto err_all; 1701 goto err_all;
diff --git a/drivers/media/radio/radio-terratec.c b/drivers/media/radio/radio-terratec.c
index cefa44fc5aed..0876fecc5f27 100644
--- a/drivers/media/radio/radio-terratec.c
+++ b/drivers/media/radio/radio-terratec.c
@@ -405,8 +405,7 @@ static int __init terratec_init(void)
405 405
406 spin_lock_init(&lock); 406 spin_lock_init(&lock);
407 407
408 if(video_register_device(&terratec_radio, VFL_TYPE_RADIO, radio_nr)==-1) 408 if (video_register_device(&terratec_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
409 {
410 release_region(io,2); 409 release_region(io,2);
411 return -EINVAL; 410 return -EINVAL;
412 } 411 }
diff --git a/drivers/media/radio/radio-trust.c b/drivers/media/radio/radio-trust.c
index d70172d23edb..193161956253 100644
--- a/drivers/media/radio/radio-trust.c
+++ b/drivers/media/radio/radio-trust.c
@@ -378,8 +378,7 @@ static int __init trust_init(void)
378 printk(KERN_ERR "trust: port 0x%x already in use\n", io); 378 printk(KERN_ERR "trust: port 0x%x already in use\n", io);
379 return -EBUSY; 379 return -EBUSY;
380 } 380 }
381 if(video_register_device(&trust_radio, VFL_TYPE_RADIO, radio_nr)==-1) 381 if (video_register_device(&trust_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
382 {
383 release_region(io, 2); 382 release_region(io, 2);
384 return -EINVAL; 383 return -EINVAL;
385 } 384 }
diff --git a/drivers/media/radio/radio-zoltrix.c b/drivers/media/radio/radio-zoltrix.c
index 9f17a332fa11..51d57ed3b3e1 100644
--- a/drivers/media/radio/radio-zoltrix.c
+++ b/drivers/media/radio/radio-zoltrix.c
@@ -446,8 +446,7 @@ static int __init zoltrix_init(void)
446 return -EBUSY; 446 return -EBUSY;
447 } 447 }
448 448
449 if (video_register_device(&zoltrix_radio, VFL_TYPE_RADIO, radio_nr) == -1) 449 if (video_register_device(&zoltrix_radio, VFL_TYPE_RADIO, radio_nr) < 0) {
450 {
451 release_region(io, 2); 450 release_region(io, 2);
452 return -EINVAL; 451 return -EINVAL;
453 } 452 }
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index bbc6f8b82297..ef7c8d3ffb18 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -20,6 +20,8 @@ ifeq ($(CONFIG_VIDEO_V4L1_COMPAT),y)
20 obj-$(CONFIG_VIDEO_DEV) += v4l1-compat.o 20 obj-$(CONFIG_VIDEO_DEV) += v4l1-compat.o
21endif 21endif
22 22
23obj-$(CONFIG_VIDEO_TUNER) += tuner.o
24
23obj-$(CONFIG_VIDEO_BT848) += bt8xx/ 25obj-$(CONFIG_VIDEO_BT848) += bt8xx/
24obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o 26obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o
25obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o 27obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o
@@ -85,8 +87,6 @@ obj-$(CONFIG_VIDEO_HEXIUM_GEMINI) += hexium_gemini.o
85obj-$(CONFIG_VIDEO_DPC) += dpc7146.o 87obj-$(CONFIG_VIDEO_DPC) += dpc7146.o
86obj-$(CONFIG_TUNER_3036) += tuner-3036.o 88obj-$(CONFIG_TUNER_3036) += tuner-3036.o
87 89
88obj-$(CONFIG_VIDEO_TUNER) += tuner.o
89
90obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o 90obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o
91obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o 91obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o
92obj-$(CONFIG_VIDEOBUF_DMA_CONTIG) += videobuf-dma-contig.o 92obj-$(CONFIG_VIDEOBUF_DMA_CONTIG) += videobuf-dma-contig.o
diff --git a/drivers/media/video/au0828/Kconfig b/drivers/media/video/au0828/Kconfig
index ed9a50f189fc..018f72b8e3e2 100644
--- a/drivers/media/video/au0828/Kconfig
+++ b/drivers/media/video/au0828/Kconfig
@@ -7,6 +7,7 @@ config VIDEO_AU0828
7 select DVB_AU8522 if !DVB_FE_CUSTOMIZE 7 select DVB_AU8522 if !DVB_FE_CUSTOMIZE
8 select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE 8 select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
9 select MEDIA_TUNER_MXL5007T if !DVB_FE_CUSTOMIZE 9 select MEDIA_TUNER_MXL5007T if !DVB_FE_CUSTOMIZE
10 select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
10 ---help--- 11 ---help---
11 This is a video4linux driver for Auvitek's USB device. 12 This is a video4linux driver for Auvitek's USB device.
12 13
diff --git a/drivers/media/video/au0828/au0828-cards.c b/drivers/media/video/au0828/au0828-cards.c
index 443e59009762..ed48908a9034 100644
--- a/drivers/media/video/au0828/au0828-cards.c
+++ b/drivers/media/video/au0828/au0828-cards.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek USB bridge 2 * Driver for the Auvitek USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -38,6 +38,9 @@ struct au0828_board au0828_boards[] = {
38 [AU0828_BOARD_DVICO_FUSIONHDTV7] = { 38 [AU0828_BOARD_DVICO_FUSIONHDTV7] = {
39 .name = "DViCO FusionHDTV USB", 39 .name = "DViCO FusionHDTV USB",
40 }, 40 },
41 [AU0828_BOARD_HAUPPAUGE_WOODBURY] = {
42 .name = "Hauppauge Woodbury",
43 },
41}; 44};
42 45
43/* Tuner callback function for au0828 boards. Currently only needed 46/* Tuner callback function for au0828 boards. Currently only needed
@@ -115,6 +118,7 @@ void au0828_card_setup(struct au0828_dev *dev)
115 case AU0828_BOARD_HAUPPAUGE_HVR850: 118 case AU0828_BOARD_HAUPPAUGE_HVR850:
116 case AU0828_BOARD_HAUPPAUGE_HVR950Q: 119 case AU0828_BOARD_HAUPPAUGE_HVR950Q:
117 case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL: 120 case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
121 case AU0828_BOARD_HAUPPAUGE_WOODBURY:
118 if (dev->i2c_rc == 0) 122 if (dev->i2c_rc == 0)
119 hauppauge_eeprom(dev, eeprom+0xa0); 123 hauppauge_eeprom(dev, eeprom+0xa0);
120 break; 124 break;
@@ -134,6 +138,7 @@ void au0828_gpio_setup(struct au0828_dev *dev)
134 case AU0828_BOARD_HAUPPAUGE_HVR850: 138 case AU0828_BOARD_HAUPPAUGE_HVR850:
135 case AU0828_BOARD_HAUPPAUGE_HVR950Q: 139 case AU0828_BOARD_HAUPPAUGE_HVR950Q:
136 case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL: 140 case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
141 case AU0828_BOARD_HAUPPAUGE_WOODBURY:
137 /* GPIO's 142 /* GPIO's
138 * 4 - CS5340 143 * 4 - CS5340
139 * 5 - AU8522 Demodulator 144 * 5 - AU8522 Demodulator
@@ -205,6 +210,8 @@ struct usb_device_id au0828_usb_id_table [] = {
205 .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL }, 210 .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
206 { USB_DEVICE(0x2040, 0x7281), 211 { USB_DEVICE(0x2040, 0x7281),
207 .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL }, 212 .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
213 { USB_DEVICE(0x2040, 0x8200),
214 .driver_info = AU0828_BOARD_HAUPPAUGE_WOODBURY },
208 { }, 215 { },
209}; 216};
210 217
diff --git a/drivers/media/video/au0828/au0828-cards.h b/drivers/media/video/au0828/au0828-cards.h
index c37f5fd0fa80..48a1882c2b6b 100644
--- a/drivers/media/video/au0828/au0828-cards.h
+++ b/drivers/media/video/au0828/au0828-cards.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek USB bridge 2 * Driver for the Auvitek USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -24,3 +24,4 @@
24#define AU0828_BOARD_HAUPPAUGE_HVR850 2 24#define AU0828_BOARD_HAUPPAUGE_HVR850 2
25#define AU0828_BOARD_DVICO_FUSIONHDTV7 3 25#define AU0828_BOARD_DVICO_FUSIONHDTV7 3
26#define AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL 4 26#define AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL 4
27#define AU0828_BOARD_HAUPPAUGE_WOODBURY 5
diff --git a/drivers/media/video/au0828/au0828-core.c b/drivers/media/video/au0828/au0828-core.c
index 54bfc0f05295..d856de9f742f 100644
--- a/drivers/media/video/au0828/au0828-core.c
+++ b/drivers/media/video/au0828/au0828-core.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek USB bridge 2 * Driver for the Auvitek USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -252,5 +252,5 @@ module_init(au0828_init);
252module_exit(au0828_exit); 252module_exit(au0828_exit);
253 253
254MODULE_DESCRIPTION("Driver for Auvitek AU0828 based products"); 254MODULE_DESCRIPTION("Driver for Auvitek AU0828 based products");
255MODULE_AUTHOR("Steven Toth <stoth@hauppauge.com>"); 255MODULE_AUTHOR("Steven Toth <stoth@linuxtv.org>");
256MODULE_LICENSE("GPL"); 256MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/au0828/au0828-dvb.c b/drivers/media/video/au0828/au0828-dvb.c
index 584a83a94a2a..ba94be7e0ac1 100644
--- a/drivers/media/video/au0828/au0828-dvb.c
+++ b/drivers/media/video/au0828/au0828-dvb.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek USB bridge 2 * Driver for the Auvitek USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
29#include "au8522.h" 29#include "au8522.h"
30#include "xc5000.h" 30#include "xc5000.h"
31#include "mxl5007t.h" 31#include "mxl5007t.h"
32#include "tda18271.h"
32 33
33DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); 34DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
34 35
@@ -38,6 +39,15 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
38static struct au8522_config hauppauge_hvr950q_config = { 39static struct au8522_config hauppauge_hvr950q_config = {
39 .demod_address = 0x8e >> 1, 40 .demod_address = 0x8e >> 1,
40 .status_mode = AU8522_DEMODLOCKING, 41 .status_mode = AU8522_DEMODLOCKING,
42 .qam_if = AU8522_IF_6MHZ,
43 .vsb_if = AU8522_IF_6MHZ,
44};
45
46static struct au8522_config hauppauge_woodbury_config = {
47 .demod_address = 0x8e >> 1,
48 .status_mode = AU8522_DEMODLOCKING,
49 .qam_if = AU8522_IF_4MHZ,
50 .vsb_if = AU8522_IF_3_25MHZ,
41}; 51};
42 52
43static struct xc5000_config hauppauge_hvr950q_tunerconfig = { 53static struct xc5000_config hauppauge_hvr950q_tunerconfig = {
@@ -51,6 +61,10 @@ static struct mxl5007t_config mxl5007t_hvr950q_config = {
51 .if_freq_hz = MxL_IF_6_MHZ, 61 .if_freq_hz = MxL_IF_6_MHZ,
52}; 62};
53 63
64static struct tda18271_config hauppauge_woodbury_tunerconfig = {
65 .gate = TDA18271_GATE_DIGITAL,
66};
67
54/*-------------------------------------------------------------------*/ 68/*-------------------------------------------------------------------*/
55static void urb_completion(struct urb *purb) 69static void urb_completion(struct urb *purb)
56{ 70{
@@ -357,6 +371,15 @@ int au0828_dvb_register(struct au0828_dev *dev)
357 &dev->i2c_adap, 0x60, 371 &dev->i2c_adap, 0x60,
358 &mxl5007t_hvr950q_config); 372 &mxl5007t_hvr950q_config);
359 break; 373 break;
374 case AU0828_BOARD_HAUPPAUGE_WOODBURY:
375 dvb->frontend = dvb_attach(au8522_attach,
376 &hauppauge_woodbury_config,
377 &dev->i2c_adap);
378 if (dvb->frontend != NULL)
379 dvb_attach(tda18271_attach, dvb->frontend,
380 0x60, &dev->i2c_adap,
381 &hauppauge_woodbury_tunerconfig);
382 break;
360 default: 383 default:
361 printk(KERN_WARNING "The frontend of your DVB/ATSC card " 384 printk(KERN_WARNING "The frontend of your DVB/ATSC card "
362 "isn't supported yet\n"); 385 "isn't supported yet\n");
diff --git a/drivers/media/video/au0828/au0828-i2c.c b/drivers/media/video/au0828/au0828-i2c.c
index 741a4937b050..d618fbaade1b 100644
--- a/drivers/media/video/au0828/au0828-i2c.c
+++ b/drivers/media/video/au0828/au0828-i2c.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek AU0828 USB bridge 2 * Driver for the Auvitek AU0828 USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/au0828/au0828-reg.h b/drivers/media/video/au0828/au0828-reg.h
index 39827550891c..1e87fa0c6842 100644
--- a/drivers/media/video/au0828/au0828-reg.h
+++ b/drivers/media/video/au0828/au0828-reg.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek USB bridge 2 * Driver for the Auvitek USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/au0828/au0828.h b/drivers/media/video/au0828/au0828.h
index 7beb571798e5..4f10ff300135 100644
--- a/drivers/media/video/au0828/au0828.h
+++ b/drivers/media/video/au0828/au0828.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Auvitek AU0828 USB bridge 2 * Driver for the Auvitek AU0828 USB bridge
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/bt8xx/bttv-cards.c b/drivers/media/video/bt8xx/bttv-cards.c
index 1c56ae92ce74..6081edc362df 100644
--- a/drivers/media/video/bt8xx/bttv-cards.c
+++ b/drivers/media/video/bt8xx/bttv-cards.c
@@ -3144,8 +3144,9 @@ static void identify_by_eeprom(struct bttv *btv, unsigned char eeprom_data[256])
3144 3144
3145static void flyvideo_gpio(struct bttv *btv) 3145static void flyvideo_gpio(struct bttv *btv)
3146{ 3146{
3147 int gpio,has_remote,has_radio,is_capture_only,is_lr90,has_tda9820_tda9821; 3147 int gpio, has_remote, has_radio, is_capture_only;
3148 int tuner=UNSET,ttype; 3148 int is_lr90, has_tda9820_tda9821;
3149 int tuner_type = UNSET, ttype;
3149 3150
3150 gpio_inout(0xffffff, 0); 3151 gpio_inout(0xffffff, 0);
3151 udelay(8); /* without this we would see the 0x1800 mask */ 3152 udelay(8); /* without this we would see the 0x1800 mask */
@@ -3163,20 +3164,26 @@ static void flyvideo_gpio(struct bttv *btv)
3163 * xxxF00(LR26/LR50), xxxFE0(LR90): Remote control chip (LVA001 or CF45) soldered 3164 * xxxF00(LR26/LR50), xxxFE0(LR90): Remote control chip (LVA001 or CF45) soldered
3164 * Note: Some bits are Audio_Mask ! 3165 * Note: Some bits are Audio_Mask !
3165 */ 3166 */
3166 ttype=(gpio&0x0f0000)>>16; 3167 ttype = (gpio & 0x0f0000) >> 16;
3167 switch(ttype) { 3168 switch (ttype) {
3168 case 0x0: tuner=2; /* NTSC, e.g. TPI8NSR11P */ 3169 case 0x0:
3170 tuner_type = 2; /* NTSC, e.g. TPI8NSR11P */
3169 break; 3171 break;
3170 case 0x2: tuner=39;/* LG NTSC (newer TAPC series) TAPC-H701P */ 3172 case 0x2:
3173 tuner_type = 39; /* LG NTSC (newer TAPC series) TAPC-H701P */
3171 break; 3174 break;
3172 case 0x4: tuner=5; /* Philips PAL TPI8PSB02P, TPI8PSB12P, TPI8PSB12D or FI1216, FM1216 */ 3175 case 0x4:
3176 tuner_type = 5; /* Philips PAL TPI8PSB02P, TPI8PSB12P, TPI8PSB12D or FI1216, FM1216 */
3173 break; 3177 break;
3174 case 0x6: tuner=37;/* LG PAL (newer TAPC series) TAPC-G702P */ 3178 case 0x6:
3179 tuner_type = 37; /* LG PAL (newer TAPC series) TAPC-G702P */
3175 break; 3180 break;
3176 case 0xC: tuner=3; /* Philips SECAM(+PAL) FQ1216ME or FI1216MF */ 3181 case 0xC:
3182 tuner_type = 3; /* Philips SECAM(+PAL) FQ1216ME or FI1216MF */
3177 break; 3183 break;
3178 default: 3184 default:
3179 printk(KERN_INFO "bttv%d: FlyVideo_gpio: unknown tuner type.\n", btv->c.nr); 3185 printk(KERN_INFO "bttv%d: FlyVideo_gpio: unknown tuner type.\n", btv->c.nr);
3186 break;
3180 } 3187 }
3181 3188
3182 has_remote = gpio & 0x800000; 3189 has_remote = gpio & 0x800000;
@@ -3189,23 +3196,26 @@ static void flyvideo_gpio(struct bttv *btv)
3189 /* 3196 /*
3190 * gpio & 0x001000 output bit for audio routing */ 3197 * gpio & 0x001000 output bit for audio routing */
3191 3198
3192 if(is_capture_only) 3199 if (is_capture_only)
3193 tuner = TUNER_ABSENT; /* No tuner present */ 3200 tuner_type = TUNER_ABSENT; /* No tuner present */
3194 3201
3195 printk(KERN_INFO "bttv%d: FlyVideo Radio=%s RemoteControl=%s Tuner=%d gpio=0x%06x\n", 3202 printk(KERN_INFO "bttv%d: FlyVideo Radio=%s RemoteControl=%s Tuner=%d gpio=0x%06x\n",
3196 btv->c.nr, has_radio? "yes":"no ", has_remote? "yes":"no ", tuner, gpio); 3203 btv->c.nr, has_radio ? "yes" : "no ",
3204 has_remote ? "yes" : "no ", tuner_type, gpio);
3197 printk(KERN_INFO "bttv%d: FlyVideo LR90=%s tda9821/tda9820=%s capture_only=%s\n", 3205 printk(KERN_INFO "bttv%d: FlyVideo LR90=%s tda9821/tda9820=%s capture_only=%s\n",
3198 btv->c.nr, is_lr90?"yes":"no ", has_tda9820_tda9821?"yes":"no ", 3206 btv->c.nr, is_lr90 ? "yes" : "no ",
3199 is_capture_only?"yes":"no "); 3207 has_tda9820_tda9821 ? "yes" : "no ",
3208 is_capture_only ? "yes" : "no ");
3200 3209
3201 if (tuner != UNSET) /* only set if known tuner autodetected, else let insmod option through */ 3210 if (tuner_type != UNSET) /* only set if known tuner autodetected, else let insmod option through */
3202 btv->tuner_type = tuner; 3211 btv->tuner_type = tuner_type;
3203 btv->has_radio = has_radio; 3212 btv->has_radio = has_radio;
3204 3213
3205 /* LR90 Audio Routing is done by 2 hef4052, so Audio_Mask has 4 bits: 0x001c80 3214 /* LR90 Audio Routing is done by 2 hef4052, so Audio_Mask has 4 bits: 0x001c80
3206 * LR26/LR50 only has 1 hef4052, Audio_Mask 0x000c00 3215 * LR26/LR50 only has 1 hef4052, Audio_Mask 0x000c00
3207 * Audio options: from tuner, from tda9821/tda9821(mono,stereo,sap), from tda9874, ext., mute */ 3216 * Audio options: from tuner, from tda9821/tda9821(mono,stereo,sap), from tda9874, ext., mute */
3208 if(has_tda9820_tda9821) btv->audio_mode_gpio = lt9415_audio; 3217 if (has_tda9820_tda9821)
3218 btv->audio_mode_gpio = lt9415_audio;
3209 /* todo: if(has_tda9874) btv->audio_mode_gpio = fv2000s_audio; */ 3219 /* todo: if(has_tda9874) btv->audio_mode_gpio = fv2000s_audio; */
3210} 3220}
3211 3221
@@ -3962,7 +3972,7 @@ static int tuner_1_table[] = {
3962 3972
3963static void __devinit avermedia_eeprom(struct bttv *btv) 3973static void __devinit avermedia_eeprom(struct bttv *btv)
3964{ 3974{
3965 int tuner_make,tuner_tv_fm,tuner_format,tuner=0; 3975 int tuner_make, tuner_tv_fm, tuner_format, tuner_type = 0;
3966 3976
3967 tuner_make = (eeprom_data[0x41] & 0x7); 3977 tuner_make = (eeprom_data[0x41] & 0x7);
3968 tuner_tv_fm = (eeprom_data[0x41] & 0x18) >> 3; 3978 tuner_tv_fm = (eeprom_data[0x41] & 0x18) >> 3;
@@ -3970,24 +3980,24 @@ static void __devinit avermedia_eeprom(struct bttv *btv)
3970 btv->has_remote = (eeprom_data[0x42] & 0x01); 3980 btv->has_remote = (eeprom_data[0x42] & 0x01);
3971 3981
3972 if (tuner_make == 0 || tuner_make == 2) 3982 if (tuner_make == 0 || tuner_make == 2)
3973 if(tuner_format <=0x0a) 3983 if (tuner_format <= 0x0a)
3974 tuner = tuner_0_table[tuner_format]; 3984 tuner_type = tuner_0_table[tuner_format];
3975 if (tuner_make == 1) 3985 if (tuner_make == 1)
3976 if(tuner_format <=9) 3986 if (tuner_format <= 9)
3977 tuner = tuner_1_table[tuner_format]; 3987 tuner_type = tuner_1_table[tuner_format];
3978 3988
3979 if (tuner_make == 4) 3989 if (tuner_make == 4)
3980 if(tuner_format == 0x09) 3990 if (tuner_format == 0x09)
3981 tuner = TUNER_LG_NTSC_NEW_TAPC; /* TAPC-G702P */ 3991 tuner_type = TUNER_LG_NTSC_NEW_TAPC; /* TAPC-G702P */
3982 3992
3983 printk(KERN_INFO "bttv%d: Avermedia eeprom[0x%02x%02x]: tuner=", 3993 printk(KERN_INFO "bttv%d: Avermedia eeprom[0x%02x%02x]: tuner=",
3984 btv->c.nr,eeprom_data[0x41],eeprom_data[0x42]); 3994 btv->c.nr, eeprom_data[0x41], eeprom_data[0x42]);
3985 if(tuner) { 3995 if (tuner_type) {
3986 btv->tuner_type=tuner; 3996 btv->tuner_type = tuner_type;
3987 printk("%d",tuner); 3997 printk(KERN_CONT "%d", tuner_type);
3988 } else 3998 } else
3989 printk("Unknown type"); 3999 printk(KERN_CONT "Unknown type");
3990 printk(" radio:%s remote control:%s\n", 4000 printk(KERN_CONT " radio:%s remote control:%s\n",
3991 tuner_tv_fm ? "yes" : "no", 4001 tuner_tv_fm ? "yes" : "no",
3992 btv->has_remote ? "yes" : "no"); 4002 btv->has_remote ? "yes" : "no");
3993} 4003}
@@ -4029,7 +4039,8 @@ static void __devinit boot_msp34xx(struct bttv *btv, int pin)
4029 4039
4030 gpio_inout(mask,mask); 4040 gpio_inout(mask,mask);
4031 gpio_bits(mask,0); 4041 gpio_bits(mask,0);
4032 udelay(2500); 4042 mdelay(2);
4043 udelay(500);
4033 gpio_bits(mask,mask); 4044 gpio_bits(mask,mask);
4034 4045
4035 if (bttv_gpio) 4046 if (bttv_gpio)
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index 85bf31ab8789..6ae4cc860efe 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -96,7 +96,6 @@ static unsigned int irq_iswitch;
96static unsigned int uv_ratio = 50; 96static unsigned int uv_ratio = 50;
97static unsigned int full_luma_range; 97static unsigned int full_luma_range;
98static unsigned int coring; 98static unsigned int coring;
99extern int no_overlay;
100 99
101/* API features (turn on/off stuff for testing) */ 100/* API features (turn on/off stuff for testing) */
102static unsigned int v4l2 = 1; 101static unsigned int v4l2 = 1;
diff --git a/drivers/media/video/bt8xx/bttv-risc.c b/drivers/media/video/bt8xx/bttv-risc.c
index 649682aac1ac..5b1b8e4c78ba 100644
--- a/drivers/media/video/bt8xx/bttv-risc.c
+++ b/drivers/media/video/bt8xx/bttv-risc.c
@@ -244,7 +244,8 @@ bttv_risc_overlay(struct bttv *btv, struct btcx_riscmem *risc,
244 const struct bttv_format *fmt, struct bttv_overlay *ov, 244 const struct bttv_format *fmt, struct bttv_overlay *ov,
245 int skip_even, int skip_odd) 245 int skip_even, int skip_odd)
246{ 246{
247 int dwords,rc,line,maxy,start,end,skip,nskips; 247 int dwords, rc, line, maxy, start, end;
248 unsigned skip, nskips;
248 struct btcx_skiplist *skips; 249 struct btcx_skiplist *skips;
249 __le32 *rp; 250 __le32 *rp;
250 u32 ri,ra; 251 u32 ri,ra;
diff --git a/drivers/media/video/bt8xx/bttvp.h b/drivers/media/video/bt8xx/bttvp.h
index 08ef54a22c9e..b4d940b2e447 100644
--- a/drivers/media/video/bt8xx/bttvp.h
+++ b/drivers/media/video/bt8xx/bttvp.h
@@ -267,6 +267,11 @@ int bttv_sub_add_device(struct bttv_core *core, char *name);
267int bttv_sub_del_devices(struct bttv_core *core); 267int bttv_sub_del_devices(struct bttv_core *core);
268 268
269/* ---------------------------------------------------------- */ 269/* ---------------------------------------------------------- */
270/* bttv-cards.c */
271
272extern int no_overlay;
273
274/* ---------------------------------------------------------- */
270/* bttv-driver.c */ 275/* bttv-driver.c */
271 276
272/* insmod options */ 277/* insmod options */
diff --git a/drivers/media/video/btcx-risc.c b/drivers/media/video/btcx-risc.c
index f42701f82e7f..3324ab38f58c 100644
--- a/drivers/media/video/btcx-risc.c
+++ b/drivers/media/video/btcx-risc.c
@@ -184,12 +184,12 @@ btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips)
184} 184}
185 185
186void 186void
187btcx_calc_skips(int line, int width, unsigned int *maxy, 187btcx_calc_skips(int line, int width, int *maxy,
188 struct btcx_skiplist *skips, unsigned int *nskips, 188 struct btcx_skiplist *skips, unsigned int *nskips,
189 const struct v4l2_clip *clips, unsigned int nclips) 189 const struct v4l2_clip *clips, unsigned int nclips)
190{ 190{
191 unsigned int clip,skip; 191 unsigned int clip,skip;
192 int end,maxline; 192 int end, maxline;
193 193
194 skip=0; 194 skip=0;
195 maxline = 9999; 195 maxline = 9999;
diff --git a/drivers/media/video/btcx-risc.h b/drivers/media/video/btcx-risc.h
index 861bc8112824..f8bc6e8e7b51 100644
--- a/drivers/media/video/btcx-risc.h
+++ b/drivers/media/video/btcx-risc.h
@@ -23,7 +23,7 @@ int btcx_screen_clips(int swidth, int sheight, struct v4l2_rect *win,
23int btcx_align(struct v4l2_rect *win, struct v4l2_clip *clips, 23int btcx_align(struct v4l2_rect *win, struct v4l2_clip *clips,
24 unsigned int n, int mask); 24 unsigned int n, int mask);
25void btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips); 25void btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips);
26void btcx_calc_skips(int line, int width, unsigned int *maxy, 26void btcx_calc_skips(int line, int width, int *maxy,
27 struct btcx_skiplist *skips, unsigned int *nskips, 27 struct btcx_skiplist *skips, unsigned int *nskips,
28 const struct v4l2_clip *clips, unsigned int nclips); 28 const struct v4l2_clip *clips, unsigned int nclips);
29 29
diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c
index d3b3268bace8..6e39e253ce53 100644
--- a/drivers/media/video/bw-qcam.c
+++ b/drivers/media/video/bw-qcam.c
@@ -946,8 +946,7 @@ static int init_bwqcam(struct parport *port)
946 946
947 printk(KERN_INFO "Connectix Quickcam on %s\n", qcam->pport->name); 947 printk(KERN_INFO "Connectix Quickcam on %s\n", qcam->pport->name);
948 948
949 if(video_register_device(&qcam->vdev, VFL_TYPE_GRABBER, video_nr)==-1) 949 if (video_register_device(&qcam->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
950 {
951 parport_unregister_device(qcam->pdev); 950 parport_unregister_device(qcam->pdev);
952 kfree(qcam); 951 kfree(qcam);
953 return -ENODEV; 952 return -ENODEV;
diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c
index fe9379b282d3..7f6c6b4bec10 100644
--- a/drivers/media/video/c-qcam.c
+++ b/drivers/media/video/c-qcam.c
@@ -787,8 +787,7 @@ static int init_cqcam(struct parport *port)
787 787
788 parport_release(qcam->pdev); 788 parport_release(qcam->pdev);
789 789
790 if (video_register_device(&qcam->vdev, VFL_TYPE_GRABBER, video_nr)==-1) 790 if (video_register_device(&qcam->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
791 {
792 printk(KERN_ERR "Unable to register Colour QuickCam on %s\n", 791 printk(KERN_ERR "Unable to register Colour QuickCam on %s\n",
793 qcam->pport->name); 792 qcam->pport->name);
794 parport_unregister_device(qcam->pdev); 793 parport_unregister_device(qcam->pdev);
diff --git a/drivers/media/video/cpia.c b/drivers/media/video/cpia.c
index dc8cc6115e2f..a661800b0e69 100644
--- a/drivers/media/video/cpia.c
+++ b/drivers/media/video/cpia.c
@@ -3955,7 +3955,7 @@ struct cam_data *cpia_register_camera(struct cpia_camera_ops *ops, void *lowleve
3955 camera->lowlevel_data = lowlevel; 3955 camera->lowlevel_data = lowlevel;
3956 3956
3957 /* register v4l device */ 3957 /* register v4l device */
3958 if (video_register_device(&camera->vdev, VFL_TYPE_GRABBER, video_nr) == -1) { 3958 if (video_register_device(&camera->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
3959 kfree(camera); 3959 kfree(camera);
3960 printk(KERN_DEBUG "video_register_device failed\n"); 3960 printk(KERN_DEBUG "video_register_device failed\n");
3961 return NULL; 3961 return NULL;
diff --git a/drivers/media/video/cpia2/cpia2_v4l.c b/drivers/media/video/cpia2/cpia2_v4l.c
index 515c8b57a60d..eb9f15cd4c45 100644
--- a/drivers/media/video/cpia2/cpia2_v4l.c
+++ b/drivers/media/video/cpia2/cpia2_v4l.c
@@ -1024,7 +1024,6 @@ static int ioctl_queryctrl(void *arg,struct camera_data *cam)
1024 if(cam->params.pnp_id.device_type == DEVICE_STV_672 && 1024 if(cam->params.pnp_id.device_type == DEVICE_STV_672 &&
1025 cam->params.version.sensor_flags==CPIA2_VP_SENSOR_FLAGS_500){ 1025 cam->params.version.sensor_flags==CPIA2_VP_SENSOR_FLAGS_500){
1026 // Maximum 15fps 1026 // Maximum 15fps
1027 int i;
1028 for(i=0; i<c->maximum; ++i) { 1027 for(i=0; i<c->maximum; ++i) {
1029 if(framerate_controls[i].value == 1028 if(framerate_controls[i].value ==
1030 CPIA2_VP_FRAMERATE_15) { 1029 CPIA2_VP_FRAMERATE_15) {
@@ -1959,8 +1958,7 @@ int cpia2_register_camera(struct camera_data *cam)
1959 reset_camera_struct_v4l(cam); 1958 reset_camera_struct_v4l(cam);
1960 1959
1961 /* register v4l device */ 1960 /* register v4l device */
1962 if (video_register_device 1961 if (video_register_device(cam->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
1963 (cam->vdev, VFL_TYPE_GRABBER, video_nr) == -1) {
1964 ERR("video_register_device failed\n"); 1962 ERR("video_register_device failed\n");
1965 video_device_release(cam->vdev); 1963 video_device_release(cam->vdev);
1966 return -ENODEV; 1964 return -ENODEV;
diff --git a/drivers/media/video/cx18/cx18-av-firmware.c b/drivers/media/video/cx18/cx18-av-firmware.c
index 834b9248242e..e996a4e3123a 100644
--- a/drivers/media/video/cx18/cx18-av-firmware.c
+++ b/drivers/media/video/cx18/cx18-av-firmware.c
@@ -32,7 +32,7 @@ int cx18_av_loadfw(struct cx18 *cx)
32 u32 v; 32 u32 v;
33 const u8 *ptr; 33 const u8 *ptr;
34 int i; 34 int i;
35 int retries = 0; 35 int retries1 = 0;
36 36
37 if (request_firmware(&fw, FWFILE, &cx->dev->dev) != 0) { 37 if (request_firmware(&fw, FWFILE, &cx->dev->dev) != 0) {
38 CX18_ERR("unable to open firmware %s\n", FWFILE); 38 CX18_ERR("unable to open firmware %s\n", FWFILE);
@@ -41,7 +41,7 @@ int cx18_av_loadfw(struct cx18 *cx)
41 41
42 /* The firmware load often has byte errors, so allow for several 42 /* The firmware load often has byte errors, so allow for several
43 retries, both at byte level and at the firmware load level. */ 43 retries, both at byte level and at the firmware load level. */
44 while (retries < 5) { 44 while (retries1 < 5) {
45 cx18_av_write4(cx, CXADEC_CHIP_CTRL, 0x00010000); 45 cx18_av_write4(cx, CXADEC_CHIP_CTRL, 0x00010000);
46 cx18_av_write(cx, CXADEC_STD_DET_CTL, 0xf6); 46 cx18_av_write(cx, CXADEC_STD_DET_CTL, 0xf6);
47 47
@@ -57,9 +57,9 @@ int cx18_av_loadfw(struct cx18 *cx)
57 for (i = 0; i < size; i++) { 57 for (i = 0; i < size; i++) {
58 u32 dl_control = 0x0F000000 | i | ((u32)ptr[i] << 16); 58 u32 dl_control = 0x0F000000 | i | ((u32)ptr[i] << 16);
59 u32 value = 0; 59 u32 value = 0;
60 int retries; 60 int retries2;
61 61
62 for (retries = 0; retries < 5; retries++) { 62 for (retries2 = 0; retries2 < 5; retries2++) {
63 cx18_av_write4(cx, CXADEC_DL_CTL, dl_control); 63 cx18_av_write4(cx, CXADEC_DL_CTL, dl_control);
64 udelay(10); 64 udelay(10);
65 value = cx18_av_read4(cx, CXADEC_DL_CTL); 65 value = cx18_av_read4(cx, CXADEC_DL_CTL);
@@ -69,18 +69,18 @@ int cx18_av_loadfw(struct cx18 *cx)
69 the address. We can only write the lower 69 the address. We can only write the lower
70 address byte of the address. */ 70 address byte of the address. */
71 if ((value & 0x3F00) != (dl_control & 0x3F00)) { 71 if ((value & 0x3F00) != (dl_control & 0x3F00)) {
72 retries = 5; 72 retries2 = 5;
73 break; 73 break;
74 } 74 }
75 } 75 }
76 if (retries >= 5) 76 if (retries2 >= 5)
77 break; 77 break;
78 } 78 }
79 if (i == size) 79 if (i == size)
80 break; 80 break;
81 retries++; 81 retries1++;
82 } 82 }
83 if (retries >= 5) { 83 if (retries1 >= 5) {
84 CX18_ERR("unable to load firmware %s\n", FWFILE); 84 CX18_ERR("unable to load firmware %s\n", FWFILE);
85 release_firmware(fw); 85 release_firmware(fw);
86 return -EIO; 86 return -EIO;
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index 22434aadde31..bd18afebbf86 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -74,9 +74,9 @@ static int radio[CX18_MAX_CARDS] = { -1, -1, -1, -1, -1, -1, -1, -1,
74 -1, -1, -1, -1, -1, -1, -1, -1, 74 -1, -1, -1, -1, -1, -1, -1, -1,
75 -1, -1, -1, -1, -1, -1, -1, -1 }; 75 -1, -1, -1, -1, -1, -1, -1, -1 };
76 76
77static int cardtype_c = 1; 77static unsigned cardtype_c = 1;
78static int tuner_c = 1; 78static unsigned tuner_c = 1;
79static int radio_c = 1; 79static unsigned radio_c = 1;
80static char pal[] = "--"; 80static char pal[] = "--";
81static char secam[] = "--"; 81static char secam[] = "--";
82static char ntsc[] = "-"; 82static char ntsc[] = "-";
diff --git a/drivers/media/video/cx18/cx18-dvb.c b/drivers/media/video/cx18/cx18-dvb.c
index cae38985b131..1e420a804fc9 100644
--- a/drivers/media/video/cx18/cx18-dvb.c
+++ b/drivers/media/video/cx18/cx18-dvb.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * cx18 functions for DVB support 2 * cx18 functions for DVB support
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx18/cx18-dvb.h b/drivers/media/video/cx18/cx18-dvb.h
index d6a6ccda79a9..bf8d8f6f5455 100644
--- a/drivers/media/video/cx18/cx18-dvb.h
+++ b/drivers/media/video/cx18/cx18-dvb.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * cx18 functions for DVB support 2 * cx18 functions for DVB support
3 * 3 *
4 * Copyright (c) 2008 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2008 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx18/cx18-irq.c b/drivers/media/video/cx18/cx18-irq.c
index 25114a5cbd57..ab218315c84b 100644
--- a/drivers/media/video/cx18/cx18-irq.c
+++ b/drivers/media/video/cx18/cx18-irq.c
@@ -61,7 +61,7 @@ static void epu_dma_done(struct cx18 *cx, struct cx18_mailbox *mb)
61 CX18_WARN("Ack struct = %d for %s\n", 61 CX18_WARN("Ack struct = %d for %s\n",
62 mb->args[2], s->name); 62 mb->args[2], s->name);
63 id = read_enc(off); 63 id = read_enc(off);
64 buf = cx18_queue_find_buf(s, id, read_enc(off + 4)); 64 buf = cx18_queue_get_buf_irq(s, id, read_enc(off + 4));
65 CX18_DEBUG_HI_DMA("DMA DONE for %s (buffer %d)\n", s->name, id); 65 CX18_DEBUG_HI_DMA("DMA DONE for %s (buffer %d)\n", s->name, id);
66 if (buf) { 66 if (buf) {
67 cx18_buf_sync_for_cpu(s, buf); 67 cx18_buf_sync_for_cpu(s, buf);
diff --git a/drivers/media/video/cx18/cx18-queue.c b/drivers/media/video/cx18/cx18-queue.c
index 6990b77c6200..dbe792ac3001 100644
--- a/drivers/media/video/cx18/cx18-queue.c
+++ b/drivers/media/video/cx18/cx18-queue.c
@@ -78,12 +78,13 @@ struct cx18_buffer *cx18_dequeue(struct cx18_stream *s, struct cx18_queue *q)
78 return buf; 78 return buf;
79} 79}
80 80
81struct cx18_buffer *cx18_queue_find_buf(struct cx18_stream *s, u32 id, 81struct cx18_buffer *cx18_queue_get_buf_irq(struct cx18_stream *s, u32 id,
82 u32 bytesused) 82 u32 bytesused)
83{ 83{
84 struct cx18 *cx = s->cx; 84 struct cx18 *cx = s->cx;
85 struct list_head *p; 85 struct list_head *p;
86 86
87 spin_lock(&s->qlock);
87 list_for_each(p, &s->q_free.list) { 88 list_for_each(p, &s->q_free.list) {
88 struct cx18_buffer *buf = 89 struct cx18_buffer *buf =
89 list_entry(p, struct cx18_buffer, list); 90 list_entry(p, struct cx18_buffer, list);
@@ -92,114 +93,48 @@ struct cx18_buffer *cx18_queue_find_buf(struct cx18_stream *s, u32 id,
92 continue; 93 continue;
93 buf->bytesused = bytesused; 94 buf->bytesused = bytesused;
94 /* the transport buffers are handled differently, 95 /* the transport buffers are handled differently,
95 so there is no need to move them to the full queue */ 96 they are not moved to the full queue */
96 if (s->type == CX18_ENC_STREAM_TYPE_TS) 97 if (s->type != CX18_ENC_STREAM_TYPE_TS) {
97 return buf; 98 s->q_free.buffers--;
98 s->q_free.buffers--; 99 s->q_free.length -= s->buf_size;
99 s->q_free.length -= s->buf_size; 100 s->q_full.buffers++;
100 s->q_full.buffers++; 101 s->q_full.length += s->buf_size;
101 s->q_full.length += s->buf_size; 102 s->q_full.bytesused += buf->bytesused;
102 s->q_full.bytesused += buf->bytesused; 103 list_move_tail(&buf->list, &s->q_full.list);
103 list_move_tail(&buf->list, &s->q_full.list); 104 }
105 spin_unlock(&s->qlock);
104 return buf; 106 return buf;
105 } 107 }
108 spin_unlock(&s->qlock);
106 CX18_ERR("Cannot find buffer %d for stream %s\n", id, s->name); 109 CX18_ERR("Cannot find buffer %d for stream %s\n", id, s->name);
107 return NULL; 110 return NULL;
108} 111}
109 112
110static void cx18_queue_move_buf(struct cx18_stream *s, struct cx18_queue *from, 113/* Move all buffers of a queue to q_free, while flushing the buffers */
111 struct cx18_queue *to, int clear, int full) 114static void cx18_queue_flush(struct cx18_stream *s, struct cx18_queue *q)
112{
113 struct cx18_buffer *buf =
114 list_entry(from->list.next, struct cx18_buffer, list);
115
116 list_move_tail(from->list.next, &to->list);
117 from->buffers--;
118 from->length -= s->buf_size;
119 from->bytesused -= buf->bytesused - buf->readpos;
120 /* special handling for q_free */
121 if (clear)
122 buf->bytesused = buf->readpos = buf->b_flags = 0;
123 else if (full) {
124 /* special handling for stolen buffers, assume
125 all bytes are used. */
126 buf->bytesused = s->buf_size;
127 buf->readpos = buf->b_flags = 0;
128 }
129 to->buffers++;
130 to->length += s->buf_size;
131 to->bytesused += buf->bytesused - buf->readpos;
132}
133
134/* Move 'needed_bytes' worth of buffers from queue 'from' into queue 'to'.
135 If 'needed_bytes' == 0, then move all buffers from 'from' into 'to'.
136 If 'steal' != NULL, then buffers may also taken from that queue if
137 needed.
138
139 The buffer is automatically cleared if it goes to the free queue. It is
140 also cleared if buffers need to be taken from the 'steal' queue and
141 the 'from' queue is the free queue.
142
143 When 'from' is q_free, then needed_bytes is compared to the total
144 available buffer length, otherwise needed_bytes is compared to the
145 bytesused value. For the 'steal' queue the total available buffer
146 length is always used.
147
148 -ENOMEM is returned if the buffers could not be obtained, 0 if all
149 buffers where obtained from the 'from' list and if non-zero then
150 the number of stolen buffers is returned. */
151static int cx18_queue_move(struct cx18_stream *s, struct cx18_queue *from,
152 struct cx18_queue *steal, struct cx18_queue *to,
153 int needed_bytes)
154{ 115{
155 unsigned long flags; 116 unsigned long flags;
156 int rc = 0; 117 struct cx18_buffer *buf;
157 int from_free = from == &s->q_free;
158 int to_free = to == &s->q_free;
159 int bytes_available;
160
161 spin_lock_irqsave(&s->qlock, flags);
162 if (needed_bytes == 0) {
163 from_free = 1;
164 needed_bytes = from->length;
165 }
166
167 bytes_available = from_free ? from->length : from->bytesused;
168 bytes_available += steal ? steal->length : 0;
169 118
170 if (bytes_available < needed_bytes) { 119 if (q == &s->q_free)
171 spin_unlock_irqrestore(&s->qlock, flags); 120 return;
172 return -ENOMEM;
173 }
174 if (from_free) {
175 u32 old_length = to->length;
176 121
177 while (to->length - old_length < needed_bytes) { 122 spin_lock_irqsave(&s->qlock, flags);
178 if (list_empty(&from->list)) 123 while (!list_empty(&q->list)) {
179 from = steal; 124 buf = list_entry(q->list.next, struct cx18_buffer, list);
180 if (from == steal) 125 list_move_tail(q->list.next, &s->q_free.list);
181 rc++; /* keep track of 'stolen' buffers */ 126 buf->bytesused = buf->readpos = buf->b_flags = 0;
182 cx18_queue_move_buf(s, from, to, 1, 0); 127 s->q_free.buffers++;
183 } 128 s->q_free.length += s->buf_size;
184 } else {
185 u32 old_bytesused = to->bytesused;
186
187 while (to->bytesused - old_bytesused < needed_bytes) {
188 if (list_empty(&from->list))
189 from = steal;
190 if (from == steal)
191 rc++; /* keep track of 'stolen' buffers */
192 cx18_queue_move_buf(s, from, to, to_free, rc);
193 }
194 } 129 }
130 cx18_queue_init(q);
195 spin_unlock_irqrestore(&s->qlock, flags); 131 spin_unlock_irqrestore(&s->qlock, flags);
196 return rc;
197} 132}
198 133
199void cx18_flush_queues(struct cx18_stream *s) 134void cx18_flush_queues(struct cx18_stream *s)
200{ 135{
201 cx18_queue_move(s, &s->q_io, NULL, &s->q_free, 0); 136 cx18_queue_flush(s, &s->q_io);
202 cx18_queue_move(s, &s->q_full, NULL, &s->q_free, 0); 137 cx18_queue_flush(s, &s->q_full);
203} 138}
204 139
205int cx18_stream_alloc(struct cx18_stream *s) 140int cx18_stream_alloc(struct cx18_stream *s)
@@ -214,10 +149,10 @@ int cx18_stream_alloc(struct cx18_stream *s)
214 s->name, s->buffers, s->buf_size, 149 s->name, s->buffers, s->buf_size,
215 s->buffers * s->buf_size / 1024); 150 s->buffers * s->buf_size / 1024);
216 151
217 if (((char *)&cx->scb->cpu_mdl[cx->mdl_offset + s->buffers] - 152 if (((char __iomem *)&cx->scb->cpu_mdl[cx->mdl_offset + s->buffers] -
218 (char *)cx->scb) > SCB_RESERVED_SIZE) { 153 (char __iomem *)cx->scb) > SCB_RESERVED_SIZE) {
219 unsigned bufsz = (((char *)cx->scb) + SCB_RESERVED_SIZE - 154 unsigned bufsz = (((char __iomem *)cx->scb) + SCB_RESERVED_SIZE -
220 ((char *)cx->scb->cpu_mdl)); 155 ((char __iomem *)cx->scb->cpu_mdl));
221 156
222 CX18_ERR("Too many buffers, cannot fit in SCB area\n"); 157 CX18_ERR("Too many buffers, cannot fit in SCB area\n");
223 CX18_ERR("Max buffers = %zd\n", 158 CX18_ERR("Max buffers = %zd\n",
diff --git a/drivers/media/video/cx18/cx18-queue.h b/drivers/media/video/cx18/cx18-queue.h
index 91423b9863a4..7f93bb13c09f 100644
--- a/drivers/media/video/cx18/cx18-queue.h
+++ b/drivers/media/video/cx18/cx18-queue.h
@@ -46,7 +46,7 @@ void cx18_queue_init(struct cx18_queue *q);
46void cx18_enqueue(struct cx18_stream *s, struct cx18_buffer *buf, 46void cx18_enqueue(struct cx18_stream *s, struct cx18_buffer *buf,
47 struct cx18_queue *q); 47 struct cx18_queue *q);
48struct cx18_buffer *cx18_dequeue(struct cx18_stream *s, struct cx18_queue *q); 48struct cx18_buffer *cx18_dequeue(struct cx18_stream *s, struct cx18_queue *q);
49struct cx18_buffer *cx18_queue_find_buf(struct cx18_stream *s, u32 id, 49struct cx18_buffer *cx18_queue_get_buf_irq(struct cx18_stream *s, u32 id,
50 u32 bytesused); 50 u32 bytesused);
51void cx18_flush_queues(struct cx18_stream *s); 51void cx18_flush_queues(struct cx18_stream *s);
52 52
diff --git a/drivers/media/video/cx23885/cx23885-417.c b/drivers/media/video/cx23885/cx23885-417.c
index 8118091568fc..7b0e8c01692e 100644
--- a/drivers/media/video/cx23885/cx23885-417.c
+++ b/drivers/media/video/cx23885/cx23885-417.c
@@ -4,7 +4,7 @@
4 * 4 *
5 * (c) 2004 Jelle Foks <jelle@foks.8m.com> 5 * (c) 2004 Jelle Foks <jelle@foks.8m.com>
6 * (c) 2004 Gerd Knorr <kraxel@bytesex.org> 6 * (c) 2004 Gerd Knorr <kraxel@bytesex.org>
7 * (c) 2008 Steven Toth <stoth@hauppauge.com> 7 * (c) 2008 Steven Toth <stoth@linuxtv.org>
8 * - CX23885/7/8 support 8 * - CX23885/7/8 support
9 * 9 *
10 * Includes parts from the ivtv driver( http://ivtv.sourceforge.net/), 10 * Includes parts from the ivtv driver( http://ivtv.sourceforge.net/),
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
index a19de850955d..c36d3f632104 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index 6286a9cf957e..25fb09938744 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@
33#include "cx23885.h" 33#include "cx23885.h"
34 34
35MODULE_DESCRIPTION("Driver for cx23885 based TV cards"); 35MODULE_DESCRIPTION("Driver for cx23885 based TV cards");
36MODULE_AUTHOR("Steven Toth <stoth@hauppauge.com>"); 36MODULE_AUTHOR("Steven Toth <stoth@linuxtv.org>");
37MODULE_LICENSE("GPL"); 37MODULE_LICENSE("GPL");
38 38
39static unsigned int debug; 39static unsigned int debug;
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 0a2e6558cd66..291b9d008da8 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx23885/cx23885-i2c.c b/drivers/media/video/cx23885/cx23885-i2c.c
index c6bb0a05bc1c..f98e476e9617 100644
--- a/drivers/media/video/cx23885/cx23885-i2c.c
+++ b/drivers/media/video/cx23885/cx23885-i2c.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx23885/cx23885-reg.h b/drivers/media/video/cx23885/cx23885-reg.h
index bdd11bc513ad..20b68a236260 100644
--- a/drivers/media/video/cx23885/cx23885-reg.h
+++ b/drivers/media/video/cx23885/cx23885-reg.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx23885/cx23885-vbi.c b/drivers/media/video/cx23885/cx23885-vbi.c
index e36e3fcae2fb..35e61cd112fc 100644
--- a/drivers/media/video/cx23885/cx23885-vbi.c
+++ b/drivers/media/video/cx23885/cx23885-vbi.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2007 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c
index ad2235dab5b1..6047c78d84bf 100644
--- a/drivers/media/video/cx23885/cx23885-video.c
+++ b/drivers/media/video/cx23885/cx23885-video.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2007 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2007 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@
41#endif 41#endif
42 42
43MODULE_DESCRIPTION("v4l2 driver module for cx23885 based TV cards"); 43MODULE_DESCRIPTION("v4l2 driver module for cx23885 based TV cards");
44MODULE_AUTHOR("Steven Toth <stoth@hauppauge.com>"); 44MODULE_AUTHOR("Steven Toth <stoth@linuxtv.org>");
45MODULE_LICENSE("GPL"); 45MODULE_LICENSE("GPL");
46 46
47/* ------------------------------------------------------------------ */ 47/* ------------------------------------------------------------------ */
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index 00dfdc89d641..e23d97c071e0 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Driver for the Conexant CX23885 PCIe bridge 2 * Driver for the Conexant CX23885 PCIe bridge
3 * 3 *
4 * Copyright (c) 2006 Steven Toth <stoth@hauppauge.com> 4 * Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c
index 209d3bcb5dbb..4da8cd74f00e 100644
--- a/drivers/media/video/cx25840/cx25840-core.c
+++ b/drivers/media/video/cx25840/cx25840-core.c
@@ -13,7 +13,7 @@
13 * NTSC sliced VBI support by Christopher Neufeld <television@cneufeld.ca> 13 * NTSC sliced VBI support by Christopher Neufeld <television@cneufeld.ca>
14 * with additional fixes by Hans Verkuil <hverkuil@xs4all.nl>. 14 * with additional fixes by Hans Verkuil <hverkuil@xs4all.nl>.
15 * 15 *
16 * CX23885 support by Steven Toth <stoth@hauppauge.com>. 16 * CX23885 support by Steven Toth <stoth@linuxtv.org>.
17 * 17 *
18 * This program is free software; you can redistribute it and/or 18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License 19 * modify it under the terms of the GNU General Public License
diff --git a/drivers/media/video/dabusb.c b/drivers/media/video/dabusb.c
index 48f4b92a8f8b..79faedf58521 100644
--- a/drivers/media/video/dabusb.c
+++ b/drivers/media/video/dabusb.c
@@ -403,6 +403,7 @@ static int dabusb_fpga_download (pdabusb_t s, const char *fname)
403 ret = request_firmware(&fw, "dabusb/bitstream.bin", &s->usbdev->dev); 403 ret = request_firmware(&fw, "dabusb/bitstream.bin", &s->usbdev->dev);
404 if (ret) { 404 if (ret) {
405 err("Failed to load \"dabusb/bitstream.bin\": %d\n", ret); 405 err("Failed to load \"dabusb/bitstream.bin\": %d\n", ret);
406 kfree(b);
406 return ret; 407 return ret;
407 } 408 }
408 409
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c
index 2d170d101c21..8db2a05bf9c5 100644
--- a/drivers/media/video/et61x251/et61x251_core.c
+++ b/drivers/media/video/et61x251/et61x251_core.c
@@ -2588,6 +2588,7 @@ et61x251_usb_probe(struct usb_interface* intf, const struct usb_device_id* id)
2588 cam->v4ldev->fops = &et61x251_fops; 2588 cam->v4ldev->fops = &et61x251_fops;
2589 cam->v4ldev->minor = video_nr[dev_nr]; 2589 cam->v4ldev->minor = video_nr[dev_nr];
2590 cam->v4ldev->release = video_device_release; 2590 cam->v4ldev->release = video_device_release;
2591 cam->v4ldev->parent = &udev->dev;
2591 video_set_drvdata(cam->v4ldev, cam); 2592 video_set_drvdata(cam->v4ldev, cam);
2592 2593
2593 init_completion(&cam->probe); 2594 init_completion(&cam->probe);
diff --git a/drivers/media/video/gspca/conex.c b/drivers/media/video/gspca/conex.c
index cd3a3f5829b2..4d9f4cc255a9 100644
--- a/drivers/media/video/gspca/conex.c
+++ b/drivers/media/video/gspca/conex.c
@@ -124,7 +124,7 @@ static void reg_r(struct gspca_dev *gspca_dev,
124 struct usb_device *dev = gspca_dev->dev; 124 struct usb_device *dev = gspca_dev->dev;
125 125
126#ifdef GSPCA_DEBUG 126#ifdef GSPCA_DEBUG
127 if (len > sizeof gspca_dev->usb_buf) { 127 if (len > USB_BUF_SZ) {
128 err("reg_r: buffer overflow"); 128 err("reg_r: buffer overflow");
129 return; 129 return;
130 } 130 }
@@ -164,7 +164,7 @@ static void reg_w(struct gspca_dev *gspca_dev,
164 struct usb_device *dev = gspca_dev->dev; 164 struct usb_device *dev = gspca_dev->dev;
165 165
166#ifdef GSPCA_DEBUG 166#ifdef GSPCA_DEBUG
167 if (len > sizeof gspca_dev->usb_buf) { 167 if (len > USB_BUF_SZ) {
168 err("reg_w: buffer overflow"); 168 err("reg_w: buffer overflow");
169 return; 169 return;
170 } 170 }
@@ -731,13 +731,13 @@ static void cx11646_jpeg(struct gspca_dev*gspca_dev)
731 reg_w_val(gspca_dev, 0x0000, 0x00); 731 reg_w_val(gspca_dev, 0x0000, 0x00);
732 /* wait for completion */ 732 /* wait for completion */
733 retry = 50; 733 retry = 50;
734 while (retry--) { 734 do {
735 reg_r(gspca_dev, 0x0002, 1); 735 reg_r(gspca_dev, 0x0002, 1);
736 /* 0x07 until 0x00 */ 736 /* 0x07 until 0x00 */
737 if (gspca_dev->usb_buf[0] == 0x00) 737 if (gspca_dev->usb_buf[0] == 0x00)
738 break; 738 break;
739 reg_w_val(gspca_dev, 0x0053, 0x00); 739 reg_w_val(gspca_dev, 0x0053, 0x00);
740 } 740 } while (--retry);
741 if (retry == 0) 741 if (retry == 0)
742 PDEBUG(D_ERR, "Damned Errors sending jpeg Table"); 742 PDEBUG(D_ERR, "Damned Errors sending jpeg Table");
743 /* send the qtable now */ 743 /* send the qtable now */
@@ -826,8 +826,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
826 return 0; 826 return 0;
827} 827}
828 828
829/* this function is called at open time */ 829/* this function is called at probe and resume time */
830static int sd_open(struct gspca_dev *gspca_dev) 830static int sd_init(struct gspca_dev *gspca_dev)
831{ 831{
832 cx11646_init1(gspca_dev); 832 cx11646_init1(gspca_dev);
833 cx11646_initsize(gspca_dev); 833 cx11646_initsize(gspca_dev);
@@ -845,10 +845,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
845 cx11646_jpeg(gspca_dev); 845 cx11646_jpeg(gspca_dev);
846} 846}
847 847
848static void sd_stopN(struct gspca_dev *gspca_dev)
849{
850}
851
852static void sd_stop0(struct gspca_dev *gspca_dev) 848static void sd_stop0(struct gspca_dev *gspca_dev)
853{ 849{
854 int retry = 50; 850 int retry = 50;
@@ -871,10 +867,6 @@ static void sd_stop0(struct gspca_dev *gspca_dev)
871 reg_w_val(gspca_dev, 0x00fc, 0xe0); 867 reg_w_val(gspca_dev, 0x00fc, 0xe0);
872} 868}
873 869
874static void sd_close(struct gspca_dev *gspca_dev)
875{
876}
877
878static void sd_pkt_scan(struct gspca_dev *gspca_dev, 870static void sd_pkt_scan(struct gspca_dev *gspca_dev,
879 struct gspca_frame *frame, /* target */ 871 struct gspca_frame *frame, /* target */
880 __u8 *data, /* isoc packet */ 872 __u8 *data, /* isoc packet */
@@ -998,11 +990,9 @@ static struct sd_desc sd_desc = {
998 .ctrls = sd_ctrls, 990 .ctrls = sd_ctrls,
999 .nctrls = ARRAY_SIZE(sd_ctrls), 991 .nctrls = ARRAY_SIZE(sd_ctrls),
1000 .config = sd_config, 992 .config = sd_config,
1001 .open = sd_open, 993 .init = sd_init,
1002 .start = sd_start, 994 .start = sd_start,
1003 .stopN = sd_stopN,
1004 .stop0 = sd_stop0, 995 .stop0 = sd_stop0,
1005 .close = sd_close,
1006 .pkt_scan = sd_pkt_scan, 996 .pkt_scan = sd_pkt_scan,
1007}; 997};
1008 998
@@ -1026,6 +1016,10 @@ static struct usb_driver sd_driver = {
1026 .id_table = device_table, 1016 .id_table = device_table,
1027 .probe = sd_probe, 1017 .probe = sd_probe,
1028 .disconnect = gspca_disconnect, 1018 .disconnect = gspca_disconnect,
1019#ifdef CONFIG_PM
1020 .suspend = gspca_suspend,
1021 .resume = gspca_resume,
1022#endif
1029}; 1023};
1030 1024
1031/* -- module insert / remove -- */ 1025/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/etoms.c b/drivers/media/video/gspca/etoms.c
index 1dbe92d01e6a..4ff0e386914b 100644
--- a/drivers/media/video/gspca/etoms.c
+++ b/drivers/media/video/gspca/etoms.c
@@ -81,6 +81,7 @@ static struct ctrl sd_ctrls[] = {
81 .set = sd_setcontrast, 81 .set = sd_setcontrast,
82 .get = sd_getcontrast, 82 .get = sd_getcontrast,
83 }, 83 },
84#define COLOR_IDX 2
84 { 85 {
85 { 86 {
86 .id = V4L2_CID_SATURATION, 87 .id = V4L2_CID_SATURATION,
@@ -234,7 +235,7 @@ static void reg_r(struct gspca_dev *gspca_dev,
234 struct usb_device *dev = gspca_dev->dev; 235 struct usb_device *dev = gspca_dev->dev;
235 236
236#ifdef GSPCA_DEBUG 237#ifdef GSPCA_DEBUG
237 if (len > sizeof gspca_dev->usb_buf) { 238 if (len > USB_BUF_SZ) {
238 err("reg_r: buffer overflow"); 239 err("reg_r: buffer overflow");
239 return; 240 return;
240 } 241 }
@@ -272,7 +273,7 @@ static void reg_w(struct gspca_dev *gspca_dev,
272 struct usb_device *dev = gspca_dev->dev; 273 struct usb_device *dev = gspca_dev->dev;
273 274
274#ifdef GSPCA_DEBUG 275#ifdef GSPCA_DEBUG
275 if (len > sizeof gspca_dev->usb_buf) { 276 if (len > USB_BUF_SZ) {
276 err("reg_w: buffer overflow"); 277 err("reg_w: buffer overflow");
277 return; 278 return;
278 } 279 }
@@ -665,6 +666,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
665 } else { 666 } else {
666 cam->cam_mode = vga_mode; 667 cam->cam_mode = vga_mode;
667 cam->nmodes = sizeof vga_mode / sizeof vga_mode[0]; 668 cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
669 gspca_dev->ctrl_dis = (1 << COLOR_IDX);
668 } 670 }
669 sd->brightness = BRIGHTNESS_DEF; 671 sd->brightness = BRIGHTNESS_DEF;
670 sd->contrast = CONTRAST_DEF; 672 sd->contrast = CONTRAST_DEF;
@@ -674,8 +676,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
674 return 0; 676 return 0;
675} 677}
676 678
677/* this function is called at open time */ 679/* this function is called at probe and resume time */
678static int sd_open(struct gspca_dev *gspca_dev) 680static int sd_init(struct gspca_dev *gspca_dev)
679{ 681{
680 struct sd *sd = (struct sd *) gspca_dev; 682 struct sd *sd = (struct sd *) gspca_dev;
681 683
@@ -709,14 +711,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
709 et_video(gspca_dev, 0); /* video off */ 711 et_video(gspca_dev, 0); /* video off */
710} 712}
711 713
712static void sd_stop0(struct gspca_dev *gspca_dev)
713{
714}
715
716static void sd_close(struct gspca_dev *gspca_dev)
717{
718}
719
720static __u8 Et_getgainG(struct gspca_dev *gspca_dev) 714static __u8 Et_getgainG(struct gspca_dev *gspca_dev)
721{ 715{
722 struct sd *sd = (struct sd *) gspca_dev; 716 struct sd *sd = (struct sd *) gspca_dev;
@@ -893,21 +887,19 @@ static struct sd_desc sd_desc = {
893 .ctrls = sd_ctrls, 887 .ctrls = sd_ctrls,
894 .nctrls = ARRAY_SIZE(sd_ctrls), 888 .nctrls = ARRAY_SIZE(sd_ctrls),
895 .config = sd_config, 889 .config = sd_config,
896 .open = sd_open, 890 .init = sd_init,
897 .start = sd_start, 891 .start = sd_start,
898 .stopN = sd_stopN, 892 .stopN = sd_stopN,
899 .stop0 = sd_stop0,
900 .close = sd_close,
901 .pkt_scan = sd_pkt_scan, 893 .pkt_scan = sd_pkt_scan,
902 .dq_callback = do_autogain, 894 .dq_callback = do_autogain,
903}; 895};
904 896
905/* -- module initialisation -- */ 897/* -- module initialisation -- */
906static __devinitdata struct usb_device_id device_table[] = { 898static __devinitdata struct usb_device_id device_table[] = {
907#ifndef CONFIG_USB_ET61X251
908 {USB_DEVICE(0x102c, 0x6151), .driver_info = SENSOR_PAS106}, 899 {USB_DEVICE(0x102c, 0x6151), .driver_info = SENSOR_PAS106},
909#endif 900#if !defined CONFIG_USB_ET61X251 && !defined CONFIG_USB_ET61X251_MODULE
910 {USB_DEVICE(0x102c, 0x6251), .driver_info = SENSOR_TAS5130CXX}, 901 {USB_DEVICE(0x102c, 0x6251), .driver_info = SENSOR_TAS5130CXX},
902#endif
911 {} 903 {}
912}; 904};
913 905
@@ -926,6 +918,10 @@ static struct usb_driver sd_driver = {
926 .id_table = device_table, 918 .id_table = device_table,
927 .probe = sd_probe, 919 .probe = sd_probe,
928 .disconnect = gspca_disconnect, 920 .disconnect = gspca_disconnect,
921#ifdef CONFIG_PM
922 .suspend = gspca_suspend,
923 .resume = gspca_resume,
924#endif
929}; 925};
930 926
931/* -- module insert / remove -- */ 927/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index 15d302b28b79..7be69284da03 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -114,7 +114,10 @@ static void fill_frame(struct gspca_dev *gspca_dev,
114 cam_pkt_op pkt_scan; 114 cam_pkt_op pkt_scan;
115 115
116 if (urb->status != 0) { 116 if (urb->status != 0) {
117 PDEBUG(D_ERR|D_PACK, "urb status: %d", urb->status); 117#ifdef CONFIG_PM
118 if (!gspca_dev->frozen)
119#endif
120 PDEBUG(D_ERR|D_PACK, "urb status: %d", urb->status);
118 return; /* disconnection ? */ 121 return; /* disconnection ? */
119 } 122 }
120 pkt_scan = gspca_dev->sd_desc->pkt_scan; 123 pkt_scan = gspca_dev->sd_desc->pkt_scan;
@@ -555,10 +558,12 @@ static void gspca_stream_off(struct gspca_dev *gspca_dev)
555 gspca_dev->streaming = 0; 558 gspca_dev->streaming = 0;
556 atomic_set(&gspca_dev->nevent, 0); 559 atomic_set(&gspca_dev->nevent, 0);
557 if (gspca_dev->present) { 560 if (gspca_dev->present) {
558 gspca_dev->sd_desc->stopN(gspca_dev); 561 if (gspca_dev->sd_desc->stopN)
562 gspca_dev->sd_desc->stopN(gspca_dev);
559 destroy_urbs(gspca_dev); 563 destroy_urbs(gspca_dev);
560 gspca_set_alt0(gspca_dev); 564 gspca_set_alt0(gspca_dev);
561 gspca_dev->sd_desc->stop0(gspca_dev); 565 if (gspca_dev->sd_desc->stop0)
566 gspca_dev->sd_desc->stop0(gspca_dev);
562 PDEBUG(D_STREAM, "stream off OK"); 567 PDEBUG(D_STREAM, "stream off OK");
563 } 568 }
564} 569}
@@ -767,19 +772,7 @@ static int dev_open(struct inode *inode, struct file *file)
767 goto out; 772 goto out;
768 } 773 }
769 774
770 /* if not done yet, initialize the sensor */ 775 if (gspca_dev->users > 4) { /* (arbitrary value) */
771 if (gspca_dev->users == 0) {
772 if (mutex_lock_interruptible(&gspca_dev->usb_lock)) {
773 ret = -ERESTARTSYS;
774 goto out;
775 }
776 ret = gspca_dev->sd_desc->open(gspca_dev);
777 mutex_unlock(&gspca_dev->usb_lock);
778 if (ret != 0) {
779 PDEBUG(D_ERR|D_CONF, "init device failed %d", ret);
780 goto out;
781 }
782 } else if (gspca_dev->users > 4) { /* (arbitrary value) */
783 ret = -EBUSY; 776 ret = -EBUSY;
784 goto out; 777 goto out;
785 } 778 }
@@ -792,6 +785,7 @@ static int dev_open(struct inode *inode, struct file *file)
792 else 785 else
793 gspca_dev->vdev.debug &= ~3; 786 gspca_dev->vdev.debug &= ~3;
794#endif 787#endif
788 ret = 0;
795out: 789out:
796 mutex_unlock(&gspca_dev->queue_lock); 790 mutex_unlock(&gspca_dev->queue_lock);
797 if (ret != 0) 791 if (ret != 0)
@@ -812,11 +806,11 @@ static int dev_close(struct inode *inode, struct file *file)
812 806
813 /* if the file did the capture, free the streaming resources */ 807 /* if the file did the capture, free the streaming resources */
814 if (gspca_dev->capt_file == file) { 808 if (gspca_dev->capt_file == file) {
815 mutex_lock(&gspca_dev->usb_lock); 809 if (gspca_dev->streaming) {
816 if (gspca_dev->streaming) 810 mutex_lock(&gspca_dev->usb_lock);
817 gspca_stream_off(gspca_dev); 811 gspca_stream_off(gspca_dev);
818 gspca_dev->sd_desc->close(gspca_dev); 812 mutex_unlock(&gspca_dev->usb_lock);
819 mutex_unlock(&gspca_dev->usb_lock); 813 }
820 frame_free(gspca_dev); 814 frame_free(gspca_dev);
821 gspca_dev->capt_file = NULL; 815 gspca_dev->capt_file = NULL;
822 gspca_dev->memory = GSPCA_MEMORY_NO; 816 gspca_dev->memory = GSPCA_MEMORY_NO;
@@ -853,42 +847,44 @@ static int vidioc_querycap(struct file *file, void *priv,
853 return 0; 847 return 0;
854} 848}
855 849
856/* the use of V4L2_CTRL_FLAG_NEXT_CTRL asks for the controls to be sorted */
857static int vidioc_queryctrl(struct file *file, void *priv, 850static int vidioc_queryctrl(struct file *file, void *priv,
858 struct v4l2_queryctrl *q_ctrl) 851 struct v4l2_queryctrl *q_ctrl)
859{ 852{
860 struct gspca_dev *gspca_dev = priv; 853 struct gspca_dev *gspca_dev = priv;
861 int i; 854 int i, ix;
862 u32 id; 855 u32 id;
863 856
857 ix = -1;
864 id = q_ctrl->id; 858 id = q_ctrl->id;
865 if (id & V4L2_CTRL_FLAG_NEXT_CTRL) { 859 if (id & V4L2_CTRL_FLAG_NEXT_CTRL) {
866 id &= V4L2_CTRL_ID_MASK; 860 id &= V4L2_CTRL_ID_MASK;
867 id++; 861 id++;
868 for (i = 0; i < gspca_dev->sd_desc->nctrls; i++) { 862 for (i = 0; i < gspca_dev->sd_desc->nctrls; i++) {
869 if (id >= gspca_dev->sd_desc->ctrls[i].qctrl.id) { 863 if (gspca_dev->sd_desc->ctrls[i].qctrl.id < id)
870 memcpy(q_ctrl, 864 continue;
871 &gspca_dev->sd_desc->ctrls[i].qctrl, 865 if (ix < 0) {
872 sizeof *q_ctrl); 866 ix = i;
873 return 0; 867 continue;
874 } 868 }
869 if (gspca_dev->sd_desc->ctrls[i].qctrl.id
870 > gspca_dev->sd_desc->ctrls[ix].qctrl.id)
871 continue;
872 ix = i;
875 } 873 }
876 return -EINVAL;
877 } 874 }
878 for (i = 0; i < gspca_dev->sd_desc->nctrls; i++) { 875 for (i = 0; i < gspca_dev->sd_desc->nctrls; i++) {
879 if (id == gspca_dev->sd_desc->ctrls[i].qctrl.id) { 876 if (id == gspca_dev->sd_desc->ctrls[i].qctrl.id) {
880 memcpy(q_ctrl, 877 ix = i;
881 &gspca_dev->sd_desc->ctrls[i].qctrl, 878 break;
882 sizeof *q_ctrl);
883 return 0;
884 } 879 }
885 } 880 }
886 if (id >= V4L2_CID_BASE 881 if (ix < 0)
887 && id <= V4L2_CID_LASTP1) { 882 return -EINVAL;
883 memcpy(q_ctrl, &gspca_dev->sd_desc->ctrls[ix].qctrl,
884 sizeof *q_ctrl);
885 if (gspca_dev->ctrl_dis & (1 << ix))
888 q_ctrl->flags |= V4L2_CTRL_FLAG_DISABLED; 886 q_ctrl->flags |= V4L2_CTRL_FLAG_DISABLED;
889 return 0; 887 return 0;
890 }
891 return -EINVAL;
892} 888}
893 889
894static int vidioc_s_ctrl(struct file *file, void *priv, 890static int vidioc_s_ctrl(struct file *file, void *priv,
@@ -903,6 +899,8 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
903 i++, ctrls++) { 899 i++, ctrls++) {
904 if (ctrl->id != ctrls->qctrl.id) 900 if (ctrl->id != ctrls->qctrl.id)
905 continue; 901 continue;
902 if (gspca_dev->ctrl_dis & (1 << i))
903 return -EINVAL;
906 if (ctrl->value < ctrls->qctrl.minimum 904 if (ctrl->value < ctrls->qctrl.minimum
907 || ctrl->value > ctrls->qctrl.maximum) 905 || ctrl->value > ctrls->qctrl.maximum)
908 return -ERANGE; 906 return -ERANGE;
@@ -929,6 +927,8 @@ static int vidioc_g_ctrl(struct file *file, void *priv,
929 i++, ctrls++) { 927 i++, ctrls++) {
930 if (ctrl->id != ctrls->qctrl.id) 928 if (ctrl->id != ctrls->qctrl.id)
931 continue; 929 continue;
930 if (gspca_dev->ctrl_dis & (1 << i))
931 return -EINVAL;
932 if (mutex_lock_interruptible(&gspca_dev->usb_lock)) 932 if (mutex_lock_interruptible(&gspca_dev->usb_lock))
933 return -ERESTARTSYS; 933 return -ERESTARTSYS;
934 ret = ctrls->get(gspca_dev, &ctrl->value); 934 ret = ctrls->get(gspca_dev, &ctrl->value);
@@ -1403,7 +1403,7 @@ static int vidioc_dqbuf(struct file *file, void *priv,
1403 i = ret; /* frame index */ 1403 i = ret; /* frame index */
1404 frame = &gspca_dev->frame[i]; 1404 frame = &gspca_dev->frame[i];
1405 if (gspca_dev->memory == V4L2_MEMORY_USERPTR) { 1405 if (gspca_dev->memory == V4L2_MEMORY_USERPTR) {
1406 if (copy_to_user((__u8 *) frame->v4l2_buf.m.userptr, 1406 if (copy_to_user((__u8 __user *) frame->v4l2_buf.m.userptr,
1407 frame->data, 1407 frame->data,
1408 frame->v4l2_buf.bytesused)) { 1408 frame->v4l2_buf.bytesused)) {
1409 PDEBUG(D_ERR|D_STREAM, 1409 PDEBUG(D_ERR|D_STREAM,
@@ -1731,6 +1731,12 @@ int gspca_dev_probe(struct usb_interface *intf,
1731 err("couldn't kzalloc gspca struct"); 1731 err("couldn't kzalloc gspca struct");
1732 return -EIO; 1732 return -EIO;
1733 } 1733 }
1734 gspca_dev->usb_buf = kmalloc(USB_BUF_SZ, GFP_KERNEL);
1735 if (!gspca_dev->usb_buf) {
1736 err("out of memory");
1737 ret = -EIO;
1738 goto out;
1739 }
1734 gspca_dev->dev = dev; 1740 gspca_dev->dev = dev;
1735 gspca_dev->iface = interface->bInterfaceNumber; 1741 gspca_dev->iface = interface->bInterfaceNumber;
1736 gspca_dev->nbalt = intf->num_altsetting; 1742 gspca_dev->nbalt = intf->num_altsetting;
@@ -1738,10 +1744,13 @@ int gspca_dev_probe(struct usb_interface *intf,
1738/* gspca_dev->users = 0; (done by kzalloc) */ 1744/* gspca_dev->users = 0; (done by kzalloc) */
1739 gspca_dev->nbufread = 2; 1745 gspca_dev->nbufread = 2;
1740 1746
1741 /* configure the subdriver */ 1747 /* configure the subdriver and initialize the USB device */
1742 ret = gspca_dev->sd_desc->config(gspca_dev, id); 1748 ret = gspca_dev->sd_desc->config(gspca_dev, id);
1743 if (ret < 0) 1749 if (ret < 0)
1744 goto out; 1750 goto out;
1751 ret = gspca_dev->sd_desc->init(gspca_dev);
1752 if (ret < 0)
1753 goto out;
1745 ret = gspca_set_alt0(gspca_dev); 1754 ret = gspca_set_alt0(gspca_dev);
1746 if (ret < 0) 1755 if (ret < 0)
1747 goto out; 1756 goto out;
@@ -1771,6 +1780,7 @@ int gspca_dev_probe(struct usb_interface *intf,
1771 PDEBUG(D_PROBE, "probe ok"); 1780 PDEBUG(D_PROBE, "probe ok");
1772 return 0; 1781 return 0;
1773out: 1782out:
1783 kfree(gspca_dev->usb_buf);
1774 kfree(gspca_dev); 1784 kfree(gspca_dev);
1775 return ret; 1785 return ret;
1776} 1786}
@@ -1803,11 +1813,42 @@ void gspca_disconnect(struct usb_interface *intf)
1803/* We don't want people trying to open up the device */ 1813/* We don't want people trying to open up the device */
1804 video_unregister_device(&gspca_dev->vdev); 1814 video_unregister_device(&gspca_dev->vdev);
1805/* Free the memory */ 1815/* Free the memory */
1816 kfree(gspca_dev->usb_buf);
1806 kfree(gspca_dev); 1817 kfree(gspca_dev);
1807 PDEBUG(D_PROBE, "disconnect complete"); 1818 PDEBUG(D_PROBE, "disconnect complete");
1808} 1819}
1809EXPORT_SYMBOL(gspca_disconnect); 1820EXPORT_SYMBOL(gspca_disconnect);
1810 1821
1822#ifdef CONFIG_PM
1823int gspca_suspend(struct usb_interface *intf, pm_message_t message)
1824{
1825 struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
1826
1827 if (!gspca_dev->streaming)
1828 return 0;
1829 gspca_dev->frozen = 1; /* avoid urb error messages */
1830 if (gspca_dev->sd_desc->stopN)
1831 gspca_dev->sd_desc->stopN(gspca_dev);
1832 destroy_urbs(gspca_dev);
1833 gspca_set_alt0(gspca_dev);
1834 if (gspca_dev->sd_desc->stop0)
1835 gspca_dev->sd_desc->stop0(gspca_dev);
1836 return 0;
1837}
1838EXPORT_SYMBOL(gspca_suspend);
1839
1840int gspca_resume(struct usb_interface *intf)
1841{
1842 struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
1843
1844 gspca_dev->frozen = 0;
1845 gspca_dev->sd_desc->init(gspca_dev);
1846 if (gspca_dev->streaming)
1847 return gspca_init_transfer(gspca_dev);
1848 return 0;
1849}
1850EXPORT_SYMBOL(gspca_resume);
1851#endif
1811/* -- cam driver utility functions -- */ 1852/* -- cam driver utility functions -- */
1812 1853
1813/* auto gain and exposure algorithm based on the knee algorithm described here: 1854/* auto gain and exposure algorithm based on the knee algorithm described here:
diff --git a/drivers/media/video/gspca/gspca.h b/drivers/media/video/gspca/gspca.h
index 67e448940eaa..c17625cff9ba 100644
--- a/drivers/media/video/gspca/gspca.h
+++ b/drivers/media/video/gspca/gspca.h
@@ -56,7 +56,6 @@ extern int gspca_debug;
56 56
57/* device information - set at probe time */ 57/* device information - set at probe time */
58struct cam { 58struct cam {
59 char *dev_name;
60 struct v4l2_pix_format *cam_mode; /* size nmodes */ 59 struct v4l2_pix_format *cam_mode; /* size nmodes */
61 char nmodes; 60 char nmodes;
62 __u8 epaddr; 61 __u8 epaddr;
@@ -91,15 +90,14 @@ struct sd_desc {
91/* controls */ 90/* controls */
92 const struct ctrl *ctrls; 91 const struct ctrl *ctrls;
93 int nctrls; 92 int nctrls;
94/* operations */ 93/* mandatory operations */
95 cam_cf_op config; /* called on probe */ 94 cam_cf_op config; /* called on probe */
96 cam_op open; /* called on open */ 95 cam_op init; /* called on probe and resume */
97 cam_v_op start; /* called on stream on */ 96 cam_v_op start; /* called on stream on */
98 cam_v_op stopN; /* called on stream off - main alt */
99 cam_v_op stop0; /* called on stream off - alt 0 */
100 cam_v_op close; /* called on close */
101 cam_pkt_op pkt_scan; 97 cam_pkt_op pkt_scan;
102/* optional operations */ 98/* optional operations */
99 cam_v_op stopN; /* called on stream off - main alt */
100 cam_v_op stop0; /* called on stream off - alt 0 */
103 cam_v_op dq_callback; /* called when a frame has been dequeued */ 101 cam_v_op dq_callback; /* called when a frame has been dequeued */
104 cam_jpg_op get_jcomp; 102 cam_jpg_op get_jcomp;
105 cam_jpg_op set_jcomp; 103 cam_jpg_op set_jcomp;
@@ -127,8 +125,10 @@ struct gspca_dev {
127 125
128 struct cam cam; /* device information */ 126 struct cam cam; /* device information */
129 const struct sd_desc *sd_desc; /* subdriver description */ 127 const struct sd_desc *sd_desc; /* subdriver description */
128 unsigned ctrl_dis; /* disabled controls (bit map) */
130 129
131 __u8 usb_buf[8]; /* buffer for USB exchanges */ 130#define USB_BUF_SZ 64
131 __u8 *usb_buf; /* buffer for USB exchanges */
132 struct urb *urb[MAX_NURBS]; 132 struct urb *urb[MAX_NURBS];
133 133
134 __u8 *frbuf; /* buffer for nframes */ 134 __u8 *frbuf; /* buffer for nframes */
@@ -155,6 +155,9 @@ struct gspca_dev {
155 struct mutex queue_lock; /* ISOC queue protection */ 155 struct mutex queue_lock; /* ISOC queue protection */
156 __u32 sequence; /* frame sequence number */ 156 __u32 sequence; /* frame sequence number */
157 char streaming; 157 char streaming;
158#ifdef CONFIG_PM
159 char frozen; /* suspend - resume */
160#endif
158 char users; /* number of opens */ 161 char users; /* number of opens */
159 char present; /* device connected */ 162 char present; /* device connected */
160 char nbufread; /* number of buffers for read() */ 163 char nbufread; /* number of buffers for read() */
@@ -174,6 +177,10 @@ struct gspca_frame *gspca_frame_add(struct gspca_dev *gspca_dev,
174 struct gspca_frame *frame, 177 struct gspca_frame *frame,
175 const __u8 *data, 178 const __u8 *data,
176 int len); 179 int len);
180#ifdef CONFIG_PM
181int gspca_suspend(struct usb_interface *intf, pm_message_t message);
182int gspca_resume(struct usb_interface *intf);
183#endif
177int gspca_auto_gain_n_exposure(struct gspca_dev *gspca_dev, int avg_lum, 184int gspca_auto_gain_n_exposure(struct gspca_dev *gspca_dev, int avg_lum,
178 int desired_avg_lum, int deadzone, int gain_knee, int exposure_knee); 185 int desired_avg_lum, int deadzone, int gain_knee, int exposure_knee);
179#endif /* GSPCAV2_H */ 186#endif /* GSPCAV2_H */
diff --git a/drivers/media/video/gspca/mars.c b/drivers/media/video/gspca/mars.c
index 21c4ee56a10a..4d5db47ba8cb 100644
--- a/drivers/media/video/gspca/mars.c
+++ b/drivers/media/video/gspca/mars.c
@@ -100,22 +100,6 @@ static int reg_w(struct gspca_dev *gspca_dev,
100 return rc; 100 return rc;
101} 101}
102 102
103static int reg_w_buf(struct gspca_dev *gspca_dev,
104 __u16 index, __u8 *buf, int len)
105{
106 int rc;
107
108 rc = usb_control_msg(gspca_dev->dev,
109 usb_sndbulkpipe(gspca_dev->dev, 4),
110 0x12,
111 0xc8, /* ?? */
112 0, /* value */
113 index, buf, len, 500);
114 if (rc < 0)
115 PDEBUG(D_ERR, "reg write [%02x] error %d", index, rc);
116 return rc;
117}
118
119static void bulk_w(struct gspca_dev *gspca_dev, 103static void bulk_w(struct gspca_dev *gspca_dev,
120 __u16 *pch, 104 __u16 *pch,
121 __u16 Address) 105 __u16 Address)
@@ -144,8 +128,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
144 return 0; 128 return 0;
145} 129}
146 130
147/* this function is called at open time */ 131/* this function is called at probe and resume time */
148static int sd_open(struct gspca_dev *gspca_dev) 132static int sd_init(struct gspca_dev *gspca_dev)
149{ 133{
150 return 0; 134 return 0;
151} 135}
@@ -175,7 +159,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
175 /* 159 /*
176 Initialize the MR97113 chip register 160 Initialize the MR97113 chip register
177 */ 161 */
178 data = kmalloc(16, GFP_KERNEL);
179 data[0] = 0x00; /* address */ 162 data[0] = 0x00; /* address */
180 data[1] = 0x0c | 0x01; /* reg 0 */ 163 data[1] = 0x0c | 0x01; /* reg 0 */
181 data[2] = 0x01; /* reg 1 */ 164 data[2] = 0x01; /* reg 1 */
@@ -195,12 +178,10 @@ static void sd_start(struct gspca_dev *gspca_dev)
195 data[10] = 0x5d; /* reg 9, I2C device address 178 data[10] = 0x5d; /* reg 9, I2C device address
196 * [for PAS5101 (0x40)] [for MI (0x5d)] */ 179 * [for PAS5101 (0x40)] [for MI (0x5d)] */
197 180
198 err_code = reg_w_buf(gspca_dev, data[0], data, 11); 181 err_code = reg_w(gspca_dev, data[0], 11);
199 kfree(data);
200 if (err_code < 0) 182 if (err_code < 0)
201 return; 183 return;
202 184
203 data = gspca_dev->usb_buf;
204 data[0] = 0x23; /* address */ 185 data[0] = 0x23; /* address */
205 data[1] = 0x09; /* reg 35, append frame header */ 186 data[1] = 0x09; /* reg 35, append frame header */
206 187
@@ -358,14 +339,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
358 PDEBUG(D_ERR, "Camera Stop failed"); 339 PDEBUG(D_ERR, "Camera Stop failed");
359} 340}
360 341
361static void sd_stop0(struct gspca_dev *gspca_dev)
362{
363}
364
365static void sd_close(struct gspca_dev *gspca_dev)
366{
367}
368
369static void sd_pkt_scan(struct gspca_dev *gspca_dev, 342static void sd_pkt_scan(struct gspca_dev *gspca_dev,
370 struct gspca_frame *frame, /* target */ 343 struct gspca_frame *frame, /* target */
371 __u8 *data, /* isoc packet */ 344 __u8 *data, /* isoc packet */
@@ -411,11 +384,9 @@ static const struct sd_desc sd_desc = {
411 .ctrls = sd_ctrls, 384 .ctrls = sd_ctrls,
412 .nctrls = ARRAY_SIZE(sd_ctrls), 385 .nctrls = ARRAY_SIZE(sd_ctrls),
413 .config = sd_config, 386 .config = sd_config,
414 .open = sd_open, 387 .init = sd_init,
415 .start = sd_start, 388 .start = sd_start,
416 .stopN = sd_stopN, 389 .stopN = sd_stopN,
417 .stop0 = sd_stop0,
418 .close = sd_close,
419 .pkt_scan = sd_pkt_scan, 390 .pkt_scan = sd_pkt_scan,
420}; 391};
421 392
@@ -439,6 +410,10 @@ static struct usb_driver sd_driver = {
439 .id_table = device_table, 410 .id_table = device_table,
440 .probe = sd_probe, 411 .probe = sd_probe,
441 .disconnect = gspca_disconnect, 412 .disconnect = gspca_disconnect,
413#ifdef CONFIG_PM
414 .suspend = gspca_suspend,
415 .resume = gspca_resume,
416#endif
442}; 417};
443 418
444/* -- module insert / remove -- */ 419/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/ov519.c b/drivers/media/video/gspca/ov519.c
index b4f00ec0885c..4df4eec9f7e7 100644
--- a/drivers/media/video/gspca/ov519.c
+++ b/drivers/media/video/gspca/ov519.c
@@ -63,11 +63,10 @@ struct sd {
63#define SEN_OV6630 2 63#define SEN_OV6630 2
64#define SEN_OV7610 3 64#define SEN_OV7610 3
65#define SEN_OV7620 4 65#define SEN_OV7620 4
66#define SEN_OV7630 5 66#define SEN_OV7640 5
67#define SEN_OV7640 6 67#define SEN_OV7670 6
68#define SEN_OV7670 7 68#define SEN_OV76BE 7
69#define SEN_OV76BE 8 69#define SEN_OV8610 8
70#define SEN_OV8610 9
71 70
72}; 71};
73 72
@@ -127,6 +126,7 @@ static struct ctrl sd_ctrls[] = {
127 .get = sd_getcolors, 126 .get = sd_getcolors,
128 }, 127 },
129/* next controls work with ov7670 only */ 128/* next controls work with ov7670 only */
129#define HFLIP_IDX 3
130 { 130 {
131 { 131 {
132 .id = V4L2_CID_HFLIP, 132 .id = V4L2_CID_HFLIP,
@@ -141,6 +141,7 @@ static struct ctrl sd_ctrls[] = {
141 .set = sd_sethflip, 141 .set = sd_sethflip,
142 .get = sd_gethflip, 142 .get = sd_gethflip,
143 }, 143 },
144#define VFLIP_IDX 4
144 { 145 {
145 { 146 {
146 .id = V4L2_CID_VFLIP, 147 .id = V4L2_CID_VFLIP,
@@ -293,6 +294,541 @@ static struct v4l2_pix_format sif_mode[] = {
293#define OV7670_REG_HAECC7 0xaa /* Hist AEC/AGC control 7 */ 294#define OV7670_REG_HAECC7 0xaa /* Hist AEC/AGC control 7 */
294#define OV7670_REG_BD60MAX 0xab /* 60hz banding step limit */ 295#define OV7670_REG_BD60MAX 0xab /* 60hz banding step limit */
295 296
297struct ov_regvals {
298 __u8 reg;
299 __u8 val;
300};
301struct ov_i2c_regvals {
302 __u8 reg;
303 __u8 val;
304};
305
306static const struct ov_i2c_regvals norm_6x20[] = {
307 { 0x12, 0x80 }, /* reset */
308 { 0x11, 0x01 },
309 { 0x03, 0x60 },
310 { 0x05, 0x7f }, /* For when autoadjust is off */
311 { 0x07, 0xa8 },
312 /* The ratio of 0x0c and 0x0d controls the white point */
313 { 0x0c, 0x24 },
314 { 0x0d, 0x24 },
315 { 0x0f, 0x15 }, /* COMS */
316 { 0x10, 0x75 }, /* AEC Exposure time */
317 { 0x12, 0x24 }, /* Enable AGC */
318 { 0x14, 0x04 },
319 /* 0x16: 0x06 helps frame stability with moving objects */
320 { 0x16, 0x06 },
321/* { 0x20, 0x30 }, * Aperture correction enable */
322 { 0x26, 0xb2 }, /* BLC enable */
323 /* 0x28: 0x05 Selects RGB format if RGB on */
324 { 0x28, 0x05 },
325 { 0x2a, 0x04 }, /* Disable framerate adjust */
326/* { 0x2b, 0xac }, * Framerate; Set 2a[7] first */
327 { 0x2d, 0x99 },
328 { 0x33, 0xa0 }, /* Color Processing Parameter */
329 { 0x34, 0xd2 }, /* Max A/D range */
330 { 0x38, 0x8b },
331 { 0x39, 0x40 },
332
333 { 0x3c, 0x39 }, /* Enable AEC mode changing */
334 { 0x3c, 0x3c }, /* Change AEC mode */
335 { 0x3c, 0x24 }, /* Disable AEC mode changing */
336
337 { 0x3d, 0x80 },
338 /* These next two registers (0x4a, 0x4b) are undocumented.
339 * They control the color balance */
340 { 0x4a, 0x80 },
341 { 0x4b, 0x80 },
342 { 0x4d, 0xd2 }, /* This reduces noise a bit */
343 { 0x4e, 0xc1 },
344 { 0x4f, 0x04 },
345/* Do 50-53 have any effect? */
346/* Toggle 0x12[2] off and on here? */
347};
348
349static const struct ov_i2c_regvals norm_6x30[] = {
350 { 0x12, 0x80 }, /* Reset */
351 { 0x00, 0x1f }, /* Gain */
352 { 0x01, 0x99 }, /* Blue gain */
353 { 0x02, 0x7c }, /* Red gain */
354 { 0x03, 0xc0 }, /* Saturation */
355 { 0x05, 0x0a }, /* Contrast */
356 { 0x06, 0x95 }, /* Brightness */
357 { 0x07, 0x2d }, /* Sharpness */
358 { 0x0c, 0x20 },
359 { 0x0d, 0x20 },
360 { 0x0e, 0x20 },
361 { 0x0f, 0x05 },
362 { 0x10, 0x9a },
363 { 0x11, 0x00 }, /* Pixel clock = fastest */
364 { 0x12, 0x24 }, /* Enable AGC and AWB */
365 { 0x13, 0x21 },
366 { 0x14, 0x80 },
367 { 0x15, 0x01 },
368 { 0x16, 0x03 },
369 { 0x17, 0x38 },
370 { 0x18, 0xea },
371 { 0x19, 0x04 },
372 { 0x1a, 0x93 },
373 { 0x1b, 0x00 },
374 { 0x1e, 0xc4 },
375 { 0x1f, 0x04 },
376 { 0x20, 0x20 },
377 { 0x21, 0x10 },
378 { 0x22, 0x88 },
379 { 0x23, 0xc0 }, /* Crystal circuit power level */
380 { 0x25, 0x9a }, /* Increase AEC black ratio */
381 { 0x26, 0xb2 }, /* BLC enable */
382 { 0x27, 0xa2 },
383 { 0x28, 0x00 },
384 { 0x29, 0x00 },
385 { 0x2a, 0x84 }, /* 60 Hz power */
386 { 0x2b, 0xa8 }, /* 60 Hz power */
387 { 0x2c, 0xa0 },
388 { 0x2d, 0x95 }, /* Enable auto-brightness */
389 { 0x2e, 0x88 },
390 { 0x33, 0x26 },
391 { 0x34, 0x03 },
392 { 0x36, 0x8f },
393 { 0x37, 0x80 },
394 { 0x38, 0x83 },
395 { 0x39, 0x80 },
396 { 0x3a, 0x0f },
397 { 0x3b, 0x3c },
398 { 0x3c, 0x1a },
399 { 0x3d, 0x80 },
400 { 0x3e, 0x80 },
401 { 0x3f, 0x0e },
402 { 0x40, 0x00 }, /* White bal */
403 { 0x41, 0x00 }, /* White bal */
404 { 0x42, 0x80 },
405 { 0x43, 0x3f }, /* White bal */
406 { 0x44, 0x80 },
407 { 0x45, 0x20 },
408 { 0x46, 0x20 },
409 { 0x47, 0x80 },
410 { 0x48, 0x7f },
411 { 0x49, 0x00 },
412 { 0x4a, 0x00 },
413 { 0x4b, 0x80 },
414 { 0x4c, 0xd0 },
415 { 0x4d, 0x10 }, /* U = 0.563u, V = 0.714v */
416 { 0x4e, 0x40 },
417 { 0x4f, 0x07 }, /* UV avg., col. killer: max */
418 { 0x50, 0xff },
419 { 0x54, 0x23 }, /* Max AGC gain: 18dB */
420 { 0x55, 0xff },
421 { 0x56, 0x12 },
422 { 0x57, 0x81 },
423 { 0x58, 0x75 },
424 { 0x59, 0x01 }, /* AGC dark current comp.: +1 */
425 { 0x5a, 0x2c },
426 { 0x5b, 0x0f }, /* AWB chrominance levels */
427 { 0x5c, 0x10 },
428 { 0x3d, 0x80 },
429 { 0x27, 0xa6 },
430 { 0x12, 0x20 }, /* Toggle AWB */
431 { 0x12, 0x24 },
432};
433
434/* Lawrence Glaister <lg@jfm.bc.ca> reports:
435 *
436 * Register 0x0f in the 7610 has the following effects:
437 *
438 * 0x85 (AEC method 1): Best overall, good contrast range
439 * 0x45 (AEC method 2): Very overexposed
440 * 0xa5 (spec sheet default): Ok, but the black level is
441 * shifted resulting in loss of contrast
442 * 0x05 (old driver setting): very overexposed, too much
443 * contrast
444 */
445static const struct ov_i2c_regvals norm_7610[] = {
446 { 0x10, 0xff },
447 { 0x16, 0x06 },
448 { 0x28, 0x24 },
449 { 0x2b, 0xac },
450 { 0x12, 0x00 },
451 { 0x38, 0x81 },
452 { 0x28, 0x24 }, /* 0c */
453 { 0x0f, 0x85 }, /* lg's setting */
454 { 0x15, 0x01 },
455 { 0x20, 0x1c },
456 { 0x23, 0x2a },
457 { 0x24, 0x10 },
458 { 0x25, 0x8a },
459 { 0x26, 0xa2 },
460 { 0x27, 0xc2 },
461 { 0x2a, 0x04 },
462 { 0x2c, 0xfe },
463 { 0x2d, 0x93 },
464 { 0x30, 0x71 },
465 { 0x31, 0x60 },
466 { 0x32, 0x26 },
467 { 0x33, 0x20 },
468 { 0x34, 0x48 },
469 { 0x12, 0x24 },
470 { 0x11, 0x01 },
471 { 0x0c, 0x24 },
472 { 0x0d, 0x24 },
473};
474
475static const struct ov_i2c_regvals norm_7620[] = {
476 { 0x00, 0x00 }, /* gain */
477 { 0x01, 0x80 }, /* blue gain */
478 { 0x02, 0x80 }, /* red gain */
479 { 0x03, 0xc0 }, /* OV7670_REG_VREF */
480 { 0x06, 0x60 },
481 { 0x07, 0x00 },
482 { 0x0c, 0x24 },
483 { 0x0c, 0x24 },
484 { 0x0d, 0x24 },
485 { 0x11, 0x01 },
486 { 0x12, 0x24 },
487 { 0x13, 0x01 },
488 { 0x14, 0x84 },
489 { 0x15, 0x01 },
490 { 0x16, 0x03 },
491 { 0x17, 0x2f },
492 { 0x18, 0xcf },
493 { 0x19, 0x06 },
494 { 0x1a, 0xf5 },
495 { 0x1b, 0x00 },
496 { 0x20, 0x18 },
497 { 0x21, 0x80 },
498 { 0x22, 0x80 },
499 { 0x23, 0x00 },
500 { 0x26, 0xa2 },
501 { 0x27, 0xea },
502 { 0x28, 0x20 },
503 { 0x29, 0x00 },
504 { 0x2a, 0x10 },
505 { 0x2b, 0x00 },
506 { 0x2c, 0x88 },
507 { 0x2d, 0x91 },
508 { 0x2e, 0x80 },
509 { 0x2f, 0x44 },
510 { 0x60, 0x27 },
511 { 0x61, 0x02 },
512 { 0x62, 0x5f },
513 { 0x63, 0xd5 },
514 { 0x64, 0x57 },
515 { 0x65, 0x83 },
516 { 0x66, 0x55 },
517 { 0x67, 0x92 },
518 { 0x68, 0xcf },
519 { 0x69, 0x76 },
520 { 0x6a, 0x22 },
521 { 0x6b, 0x00 },
522 { 0x6c, 0x02 },
523 { 0x6d, 0x44 },
524 { 0x6e, 0x80 },
525 { 0x6f, 0x1d },
526 { 0x70, 0x8b },
527 { 0x71, 0x00 },
528 { 0x72, 0x14 },
529 { 0x73, 0x54 },
530 { 0x74, 0x00 },
531 { 0x75, 0x8e },
532 { 0x76, 0x00 },
533 { 0x77, 0xff },
534 { 0x78, 0x80 },
535 { 0x79, 0x80 },
536 { 0x7a, 0x80 },
537 { 0x7b, 0xe2 },
538 { 0x7c, 0x00 },
539};
540
541/* 7640 and 7648. The defaults should be OK for most registers. */
542static const struct ov_i2c_regvals norm_7640[] = {
543 { 0x12, 0x80 },
544 { 0x12, 0x14 },
545};
546
547/* 7670. Defaults taken from OmniVision provided data,
548* as provided by Jonathan Corbet of OLPC */
549static const struct ov_i2c_regvals norm_7670[] = {
550 { OV7670_REG_COM7, OV7670_COM7_RESET },
551 { OV7670_REG_TSLB, 0x04 }, /* OV */
552 { OV7670_REG_COM7, OV7670_COM7_FMT_VGA }, /* VGA */
553 { OV7670_REG_CLKRC, 0x01 },
554/*
555 * Set the hardware window. These values from OV don't entirely
556 * make sense - hstop is less than hstart. But they work...
557 */
558 { OV7670_REG_HSTART, 0x13 },
559 { OV7670_REG_HSTOP, 0x01 },
560 { OV7670_REG_HREF, 0xb6 },
561 { OV7670_REG_VSTART, 0x02 },
562 { OV7670_REG_VSTOP, 0x7a },
563 { OV7670_REG_VREF, 0x0a },
564
565 { OV7670_REG_COM3, 0 },
566 { OV7670_REG_COM14, 0 },
567/* Mystery scaling numbers */
568 { 0x70, 0x3a },
569 { 0x71, 0x35 },
570 { 0x72, 0x11 },
571 { 0x73, 0xf0 },
572 { 0xa2, 0x02 },
573/* { OV7670_REG_COM10, 0x0 }, */
574
575/* Gamma curve values */
576 { 0x7a, 0x20 },
577 { 0x7b, 0x10 },
578 { 0x7c, 0x1e },
579 { 0x7d, 0x35 },
580 { 0x7e, 0x5a },
581 { 0x7f, 0x69 },
582 { 0x80, 0x76 },
583 { 0x81, 0x80 },
584 { 0x82, 0x88 },
585 { 0x83, 0x8f },
586 { 0x84, 0x96 },
587 { 0x85, 0xa3 },
588 { 0x86, 0xaf },
589 { 0x87, 0xc4 },
590 { 0x88, 0xd7 },
591 { 0x89, 0xe8 },
592
593/* AGC and AEC parameters. Note we start by disabling those features,
594 then turn them only after tweaking the values. */
595 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
596 | OV7670_COM8_AECSTEP
597 | OV7670_COM8_BFILT },
598 { OV7670_REG_GAIN, 0 },
599 { OV7670_REG_AECH, 0 },
600 { OV7670_REG_COM4, 0x40 }, /* magic reserved bit */
601 { OV7670_REG_COM9, 0x18 }, /* 4x gain + magic rsvd bit */
602 { OV7670_REG_BD50MAX, 0x05 },
603 { OV7670_REG_BD60MAX, 0x07 },
604 { OV7670_REG_AEW, 0x95 },
605 { OV7670_REG_AEB, 0x33 },
606 { OV7670_REG_VPT, 0xe3 },
607 { OV7670_REG_HAECC1, 0x78 },
608 { OV7670_REG_HAECC2, 0x68 },
609 { 0xa1, 0x03 }, /* magic */
610 { OV7670_REG_HAECC3, 0xd8 },
611 { OV7670_REG_HAECC4, 0xd8 },
612 { OV7670_REG_HAECC5, 0xf0 },
613 { OV7670_REG_HAECC6, 0x90 },
614 { OV7670_REG_HAECC7, 0x94 },
615 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
616 | OV7670_COM8_AECSTEP
617 | OV7670_COM8_BFILT
618 | OV7670_COM8_AGC
619 | OV7670_COM8_AEC },
620
621/* Almost all of these are magic "reserved" values. */
622 { OV7670_REG_COM5, 0x61 },
623 { OV7670_REG_COM6, 0x4b },
624 { 0x16, 0x02 },
625 { OV7670_REG_MVFP, 0x07 },
626 { 0x21, 0x02 },
627 { 0x22, 0x91 },
628 { 0x29, 0x07 },
629 { 0x33, 0x0b },
630 { 0x35, 0x0b },
631 { 0x37, 0x1d },
632 { 0x38, 0x71 },
633 { 0x39, 0x2a },
634 { OV7670_REG_COM12, 0x78 },
635 { 0x4d, 0x40 },
636 { 0x4e, 0x20 },
637 { OV7670_REG_GFIX, 0 },
638 { 0x6b, 0x4a },
639 { 0x74, 0x10 },
640 { 0x8d, 0x4f },
641 { 0x8e, 0 },
642 { 0x8f, 0 },
643 { 0x90, 0 },
644 { 0x91, 0 },
645 { 0x96, 0 },
646 { 0x9a, 0 },
647 { 0xb0, 0x84 },
648 { 0xb1, 0x0c },
649 { 0xb2, 0x0e },
650 { 0xb3, 0x82 },
651 { 0xb8, 0x0a },
652
653/* More reserved magic, some of which tweaks white balance */
654 { 0x43, 0x0a },
655 { 0x44, 0xf0 },
656 { 0x45, 0x34 },
657 { 0x46, 0x58 },
658 { 0x47, 0x28 },
659 { 0x48, 0x3a },
660 { 0x59, 0x88 },
661 { 0x5a, 0x88 },
662 { 0x5b, 0x44 },
663 { 0x5c, 0x67 },
664 { 0x5d, 0x49 },
665 { 0x5e, 0x0e },
666 { 0x6c, 0x0a },
667 { 0x6d, 0x55 },
668 { 0x6e, 0x11 },
669 { 0x6f, 0x9f },
670 /* "9e for advance AWB" */
671 { 0x6a, 0x40 },
672 { OV7670_REG_BLUE, 0x40 },
673 { OV7670_REG_RED, 0x60 },
674 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
675 | OV7670_COM8_AECSTEP
676 | OV7670_COM8_BFILT
677 | OV7670_COM8_AGC
678 | OV7670_COM8_AEC
679 | OV7670_COM8_AWB },
680
681/* Matrix coefficients */
682 { 0x4f, 0x80 },
683 { 0x50, 0x80 },
684 { 0x51, 0 },
685 { 0x52, 0x22 },
686 { 0x53, 0x5e },
687 { 0x54, 0x80 },
688 { 0x58, 0x9e },
689
690 { OV7670_REG_COM16, OV7670_COM16_AWBGAIN },
691 { OV7670_REG_EDGE, 0 },
692 { 0x75, 0x05 },
693 { 0x76, 0xe1 },
694 { 0x4c, 0 },
695 { 0x77, 0x01 },
696 { OV7670_REG_COM13, OV7670_COM13_GAMMA
697 | OV7670_COM13_UVSAT
698 | 2}, /* was 3 */
699 { 0x4b, 0x09 },
700 { 0xc9, 0x60 },
701 { OV7670_REG_COM16, 0x38 },
702 { 0x56, 0x40 },
703
704 { 0x34, 0x11 },
705 { OV7670_REG_COM11, OV7670_COM11_EXP|OV7670_COM11_HZAUTO },
706 { 0xa4, 0x88 },
707 { 0x96, 0 },
708 { 0x97, 0x30 },
709 { 0x98, 0x20 },
710 { 0x99, 0x30 },
711 { 0x9a, 0x84 },
712 { 0x9b, 0x29 },
713 { 0x9c, 0x03 },
714 { 0x9d, 0x4c },
715 { 0x9e, 0x3f },
716 { 0x78, 0x04 },
717
718/* Extra-weird stuff. Some sort of multiplexor register */
719 { 0x79, 0x01 },
720 { 0xc8, 0xf0 },
721 { 0x79, 0x0f },
722 { 0xc8, 0x00 },
723 { 0x79, 0x10 },
724 { 0xc8, 0x7e },
725 { 0x79, 0x0a },
726 { 0xc8, 0x80 },
727 { 0x79, 0x0b },
728 { 0xc8, 0x01 },
729 { 0x79, 0x0c },
730 { 0xc8, 0x0f },
731 { 0x79, 0x0d },
732 { 0xc8, 0x20 },
733 { 0x79, 0x09 },
734 { 0xc8, 0x80 },
735 { 0x79, 0x02 },
736 { 0xc8, 0xc0 },
737 { 0x79, 0x03 },
738 { 0xc8, 0x40 },
739 { 0x79, 0x05 },
740 { 0xc8, 0x30 },
741 { 0x79, 0x26 },
742};
743
744static const struct ov_i2c_regvals norm_8610[] = {
745 { 0x12, 0x80 },
746 { 0x00, 0x00 },
747 { 0x01, 0x80 },
748 { 0x02, 0x80 },
749 { 0x03, 0xc0 },
750 { 0x04, 0x30 },
751 { 0x05, 0x30 }, /* was 0x10, new from windrv 090403 */
752 { 0x06, 0x70 }, /* was 0x80, new from windrv 090403 */
753 { 0x0a, 0x86 },
754 { 0x0b, 0xb0 },
755 { 0x0c, 0x20 },
756 { 0x0d, 0x20 },
757 { 0x11, 0x01 },
758 { 0x12, 0x25 },
759 { 0x13, 0x01 },
760 { 0x14, 0x04 },
761 { 0x15, 0x01 }, /* Lin and Win think different about UV order */
762 { 0x16, 0x03 },
763 { 0x17, 0x38 }, /* was 0x2f, new from windrv 090403 */
764 { 0x18, 0xea }, /* was 0xcf, new from windrv 090403 */
765 { 0x19, 0x02 }, /* was 0x06, new from windrv 090403 */
766 { 0x1a, 0xf5 },
767 { 0x1b, 0x00 },
768 { 0x20, 0xd0 }, /* was 0x90, new from windrv 090403 */
769 { 0x23, 0xc0 }, /* was 0x00, new from windrv 090403 */
770 { 0x24, 0x30 }, /* was 0x1d, new from windrv 090403 */
771 { 0x25, 0x50 }, /* was 0x57, new from windrv 090403 */
772 { 0x26, 0xa2 },
773 { 0x27, 0xea },
774 { 0x28, 0x00 },
775 { 0x29, 0x00 },
776 { 0x2a, 0x80 },
777 { 0x2b, 0xc8 }, /* was 0xcc, new from windrv 090403 */
778 { 0x2c, 0xac },
779 { 0x2d, 0x45 }, /* was 0xd5, new from windrv 090403 */
780 { 0x2e, 0x80 },
781 { 0x2f, 0x14 }, /* was 0x01, new from windrv 090403 */
782 { 0x4c, 0x00 },
783 { 0x4d, 0x30 }, /* was 0x10, new from windrv 090403 */
784 { 0x60, 0x02 }, /* was 0x01, new from windrv 090403 */
785 { 0x61, 0x00 }, /* was 0x09, new from windrv 090403 */
786 { 0x62, 0x5f }, /* was 0xd7, new from windrv 090403 */
787 { 0x63, 0xff },
788 { 0x64, 0x53 }, /* new windrv 090403 says 0x57,
789 * maybe thats wrong */
790 { 0x65, 0x00 },
791 { 0x66, 0x55 },
792 { 0x67, 0xb0 },
793 { 0x68, 0xc0 }, /* was 0xaf, new from windrv 090403 */
794 { 0x69, 0x02 },
795 { 0x6a, 0x22 },
796 { 0x6b, 0x00 },
797 { 0x6c, 0x99 }, /* was 0x80, old windrv says 0x00, but
798 * deleting bit7 colors the first images red */
799 { 0x6d, 0x11 }, /* was 0x00, new from windrv 090403 */
800 { 0x6e, 0x11 }, /* was 0x00, new from windrv 090403 */
801 { 0x6f, 0x01 },
802 { 0x70, 0x8b },
803 { 0x71, 0x00 },
804 { 0x72, 0x14 },
805 { 0x73, 0x54 },
806 { 0x74, 0x00 },/* 0x60? - was 0x00, new from windrv 090403 */
807 { 0x75, 0x0e },
808 { 0x76, 0x02 }, /* was 0x02, new from windrv 090403 */
809 { 0x77, 0xff },
810 { 0x78, 0x80 },
811 { 0x79, 0x80 },
812 { 0x7a, 0x80 },
813 { 0x7b, 0x10 }, /* was 0x13, new from windrv 090403 */
814 { 0x7c, 0x00 },
815 { 0x7d, 0x08 }, /* was 0x09, new from windrv 090403 */
816 { 0x7e, 0x08 }, /* was 0xc0, new from windrv 090403 */
817 { 0x7f, 0xfb },
818 { 0x80, 0x28 },
819 { 0x81, 0x00 },
820 { 0x82, 0x23 },
821 { 0x83, 0x0b },
822 { 0x84, 0x00 },
823 { 0x85, 0x62 }, /* was 0x61, new from windrv 090403 */
824 { 0x86, 0xc9 },
825 { 0x87, 0x00 },
826 { 0x88, 0x00 },
827 { 0x89, 0x01 },
828 { 0x12, 0x20 },
829 { 0x12, 0x25 }, /* was 0x24, new from windrv 090403 */
830};
831
296static unsigned char ov7670_abs_to_sm(unsigned char v) 832static unsigned char ov7670_abs_to_sm(unsigned char v)
297{ 833{
298 if (v > 127) 834 if (v > 127)
@@ -537,18 +1073,10 @@ static int ov51x_set_slave_ids(struct sd *sd,
537 rc = reg_w(sd, R51x_I2C_W_SID, slave); 1073 rc = reg_w(sd, R51x_I2C_W_SID, slave);
538 if (rc < 0) 1074 if (rc < 0)
539 return rc; 1075 return rc;
1076 sd->primary_i2c_slave = slave;
540 return reg_w(sd, R51x_I2C_R_SID, slave + 1); 1077 return reg_w(sd, R51x_I2C_R_SID, slave + 1);
541} 1078}
542 1079
543struct ov_regvals {
544 __u8 reg;
545 __u8 val;
546};
547struct ov_i2c_regvals {
548 __u8 reg;
549 __u8 val;
550};
551
552static int write_regvals(struct sd *sd, 1080static int write_regvals(struct sd *sd,
553 const struct ov_regvals *regvals, 1081 const struct ov_regvals *regvals,
554 int n) 1082 int n)
@@ -591,101 +1119,9 @@ static int write_i2c_regvals(struct sd *sd,
591static int ov8xx0_configure(struct sd *sd) 1119static int ov8xx0_configure(struct sd *sd)
592{ 1120{
593 int rc; 1121 int rc;
594 static const struct ov_i2c_regvals norm_8610[] = {
595 { 0x12, 0x80 },
596 { 0x00, 0x00 },
597 { 0x01, 0x80 },
598 { 0x02, 0x80 },
599 { 0x03, 0xc0 },
600 { 0x04, 0x30 },
601 { 0x05, 0x30 }, /* was 0x10, new from windrv 090403 */
602 { 0x06, 0x70 }, /* was 0x80, new from windrv 090403 */
603 { 0x0a, 0x86 },
604 { 0x0b, 0xb0 },
605 { 0x0c, 0x20 },
606 { 0x0d, 0x20 },
607 { 0x11, 0x01 },
608 { 0x12, 0x25 },
609 { 0x13, 0x01 },
610 { 0x14, 0x04 },
611 { 0x15, 0x01 }, /* Lin and Win think different about UV order */
612 { 0x16, 0x03 },
613 { 0x17, 0x38 }, /* was 0x2f, new from windrv 090403 */
614 { 0x18, 0xea }, /* was 0xcf, new from windrv 090403 */
615 { 0x19, 0x02 }, /* was 0x06, new from windrv 090403 */
616 { 0x1a, 0xf5 },
617 { 0x1b, 0x00 },
618 { 0x20, 0xd0 }, /* was 0x90, new from windrv 090403 */
619 { 0x23, 0xc0 }, /* was 0x00, new from windrv 090403 */
620 { 0x24, 0x30 }, /* was 0x1d, new from windrv 090403 */
621 { 0x25, 0x50 }, /* was 0x57, new from windrv 090403 */
622 { 0x26, 0xa2 },
623 { 0x27, 0xea },
624 { 0x28, 0x00 },
625 { 0x29, 0x00 },
626 { 0x2a, 0x80 },
627 { 0x2b, 0xc8 }, /* was 0xcc, new from windrv 090403 */
628 { 0x2c, 0xac },
629 { 0x2d, 0x45 }, /* was 0xd5, new from windrv 090403 */
630 { 0x2e, 0x80 },
631 { 0x2f, 0x14 }, /* was 0x01, new from windrv 090403 */
632 { 0x4c, 0x00 },
633 { 0x4d, 0x30 }, /* was 0x10, new from windrv 090403 */
634 { 0x60, 0x02 }, /* was 0x01, new from windrv 090403 */
635 { 0x61, 0x00 }, /* was 0x09, new from windrv 090403 */
636 { 0x62, 0x5f }, /* was 0xd7, new from windrv 090403 */
637 { 0x63, 0xff },
638 { 0x64, 0x53 }, /* new windrv 090403 says 0x57,
639 * maybe thats wrong */
640 { 0x65, 0x00 },
641 { 0x66, 0x55 },
642 { 0x67, 0xb0 },
643 { 0x68, 0xc0 }, /* was 0xaf, new from windrv 090403 */
644 { 0x69, 0x02 },
645 { 0x6a, 0x22 },
646 { 0x6b, 0x00 },
647 { 0x6c, 0x99 }, /* was 0x80, old windrv says 0x00, but
648 deleting bit7 colors the first images red */
649 { 0x6d, 0x11 }, /* was 0x00, new from windrv 090403 */
650 { 0x6e, 0x11 }, /* was 0x00, new from windrv 090403 */
651 { 0x6f, 0x01 },
652 { 0x70, 0x8b },
653 { 0x71, 0x00 },
654 { 0x72, 0x14 },
655 { 0x73, 0x54 },
656 { 0x74, 0x00 },/* 0x60? - was 0x00, new from windrv 090403 */
657 { 0x75, 0x0e },
658 { 0x76, 0x02 }, /* was 0x02, new from windrv 090403 */
659 { 0x77, 0xff },
660 { 0x78, 0x80 },
661 { 0x79, 0x80 },
662 { 0x7a, 0x80 },
663 { 0x7b, 0x10 }, /* was 0x13, new from windrv 090403 */
664 { 0x7c, 0x00 },
665 { 0x7d, 0x08 }, /* was 0x09, new from windrv 090403 */
666 { 0x7e, 0x08 }, /* was 0xc0, new from windrv 090403 */
667 { 0x7f, 0xfb },
668 { 0x80, 0x28 },
669 { 0x81, 0x00 },
670 { 0x82, 0x23 },
671 { 0x83, 0x0b },
672 { 0x84, 0x00 },
673 { 0x85, 0x62 }, /* was 0x61, new from windrv 090403 */
674 { 0x86, 0xc9 },
675 { 0x87, 0x00 },
676 { 0x88, 0x00 },
677 { 0x89, 0x01 },
678 { 0x12, 0x20 },
679 { 0x12, 0x25 }, /* was 0x24, new from windrv 090403 */
680 };
681 1122
682 PDEBUG(D_PROBE, "starting ov8xx0 configuration"); 1123 PDEBUG(D_PROBE, "starting ov8xx0 configuration");
683 1124
684 if (init_ov_sensor(sd) < 0)
685 PDEBUG(D_ERR|D_PROBE, "Failed to read sensor ID");
686 else
687 PDEBUG(D_PROBE, "OV86x0 initialized");
688
689 /* Detect sensor (sub)type */ 1125 /* Detect sensor (sub)type */
690 rc = i2c_r(sd, OV7610_REG_COM_I); 1126 rc = i2c_r(sd, OV7610_REG_COM_I);
691 if (rc < 0) { 1127 if (rc < 0) {
@@ -698,9 +1134,6 @@ static int ov8xx0_configure(struct sd *sd)
698 PDEBUG(D_ERR, "Unknown image sensor version: %d", rc & 3); 1134 PDEBUG(D_ERR, "Unknown image sensor version: %d", rc & 3);
699 return -1; 1135 return -1;
700 } 1136 }
701 PDEBUG(D_PROBE, "Writing 8610 registers");
702 if (write_i2c_regvals(sd, norm_8610, ARRAY_SIZE(norm_8610)))
703 return -1;
704 1137
705 /* Set sensor-specific vars */ 1138 /* Set sensor-specific vars */
706/* sd->sif = 0; already done */ 1139/* sd->sif = 0; already done */
@@ -714,252 +1147,6 @@ static int ov7xx0_configure(struct sd *sd)
714{ 1147{
715 int rc, high, low; 1148 int rc, high, low;
716 1149
717 /* Lawrence Glaister <lg@jfm.bc.ca> reports:
718 *
719 * Register 0x0f in the 7610 has the following effects:
720 *
721 * 0x85 (AEC method 1): Best overall, good contrast range
722 * 0x45 (AEC method 2): Very overexposed
723 * 0xa5 (spec sheet default): Ok, but the black level is
724 * shifted resulting in loss of contrast
725 * 0x05 (old driver setting): very overexposed, too much
726 * contrast
727 */
728 static const struct ov_i2c_regvals norm_7610[] = {
729 { 0x10, 0xff },
730 { 0x16, 0x06 },
731 { 0x28, 0x24 },
732 { 0x2b, 0xac },
733 { 0x12, 0x00 },
734 { 0x38, 0x81 },
735 { 0x28, 0x24 }, /* 0c */
736 { 0x0f, 0x85 }, /* lg's setting */
737 { 0x15, 0x01 },
738 { 0x20, 0x1c },
739 { 0x23, 0x2a },
740 { 0x24, 0x10 },
741 { 0x25, 0x8a },
742 { 0x26, 0xa2 },
743 { 0x27, 0xc2 },
744 { 0x2a, 0x04 },
745 { 0x2c, 0xfe },
746 { 0x2d, 0x93 },
747 { 0x30, 0x71 },
748 { 0x31, 0x60 },
749 { 0x32, 0x26 },
750 { 0x33, 0x20 },
751 { 0x34, 0x48 },
752 { 0x12, 0x24 },
753 { 0x11, 0x01 },
754 { 0x0c, 0x24 },
755 { 0x0d, 0x24 },
756 };
757
758 static const struct ov_i2c_regvals norm_7620[] = {
759 { 0x00, 0x00 }, /* gain */
760 { 0x01, 0x80 }, /* blue gain */
761 { 0x02, 0x80 }, /* red gain */
762 { 0x03, 0xc0 }, /* OV7670_REG_VREF */
763 { 0x06, 0x60 },
764 { 0x07, 0x00 },
765 { 0x0c, 0x24 },
766 { 0x0c, 0x24 },
767 { 0x0d, 0x24 },
768 { 0x11, 0x01 },
769 { 0x12, 0x24 },
770 { 0x13, 0x01 },
771 { 0x14, 0x84 },
772 { 0x15, 0x01 },
773 { 0x16, 0x03 },
774 { 0x17, 0x2f },
775 { 0x18, 0xcf },
776 { 0x19, 0x06 },
777 { 0x1a, 0xf5 },
778 { 0x1b, 0x00 },
779 { 0x20, 0x18 },
780 { 0x21, 0x80 },
781 { 0x22, 0x80 },
782 { 0x23, 0x00 },
783 { 0x26, 0xa2 },
784 { 0x27, 0xea },
785 { 0x28, 0x20 },
786 { 0x29, 0x00 },
787 { 0x2a, 0x10 },
788 { 0x2b, 0x00 },
789 { 0x2c, 0x88 },
790 { 0x2d, 0x91 },
791 { 0x2e, 0x80 },
792 { 0x2f, 0x44 },
793 { 0x60, 0x27 },
794 { 0x61, 0x02 },
795 { 0x62, 0x5f },
796 { 0x63, 0xd5 },
797 { 0x64, 0x57 },
798 { 0x65, 0x83 },
799 { 0x66, 0x55 },
800 { 0x67, 0x92 },
801 { 0x68, 0xcf },
802 { 0x69, 0x76 },
803 { 0x6a, 0x22 },
804 { 0x6b, 0x00 },
805 { 0x6c, 0x02 },
806 { 0x6d, 0x44 },
807 { 0x6e, 0x80 },
808 { 0x6f, 0x1d },
809 { 0x70, 0x8b },
810 { 0x71, 0x00 },
811 { 0x72, 0x14 },
812 { 0x73, 0x54 },
813 { 0x74, 0x00 },
814 { 0x75, 0x8e },
815 { 0x76, 0x00 },
816 { 0x77, 0xff },
817 { 0x78, 0x80 },
818 { 0x79, 0x80 },
819 { 0x7a, 0x80 },
820 { 0x7b, 0xe2 },
821 { 0x7c, 0x00 },
822 };
823
824 /* 7640 and 7648. The defaults should be OK for most registers. */
825 static const struct ov_i2c_regvals norm_7640[] = {
826 { 0x12, 0x80 },
827 { 0x12, 0x14 },
828 };
829
830 /* 7670. Defaults taken from OmniVision provided data,
831 * as provided by Jonathan Corbet of OLPC */
832 static const struct ov_i2c_regvals norm_7670[] = {
833 { OV7670_REG_COM7, OV7670_COM7_RESET },
834 { OV7670_REG_TSLB, 0x04 }, /* OV */
835 { OV7670_REG_COM7, OV7670_COM7_FMT_VGA }, /* VGA */
836 { OV7670_REG_CLKRC, 0x01 },
837 /*
838 * Set the hardware window. These values from OV don't entirely
839 * make sense - hstop is less than hstart. But they work...
840 */
841 { OV7670_REG_HSTART, 0x13 }, { OV7670_REG_HSTOP, 0x01 },
842 { OV7670_REG_HREF, 0xb6 }, { OV7670_REG_VSTART, 0x02 },
843 { OV7670_REG_VSTOP, 0x7a }, { OV7670_REG_VREF, 0x0a },
844
845 { OV7670_REG_COM3, 0 }, { OV7670_REG_COM14, 0 },
846 /* Mystery scaling numbers */
847 { 0x70, 0x3a }, { 0x71, 0x35 },
848 { 0x72, 0x11 }, { 0x73, 0xf0 },
849 { 0xa2, 0x02 },
850/* { OV7670_REG_COM10, 0x0 }, */
851
852 /* Gamma curve values */
853 { 0x7a, 0x20 },
854 { 0x7b, 0x10 },
855 { 0x7c, 0x1e },
856 { 0x7d, 0x35 },
857 { 0x7e, 0x5a }, { 0x7f, 0x69 },
858 { 0x80, 0x76 }, { 0x81, 0x80 },
859 { 0x82, 0x88 }, { 0x83, 0x8f },
860 { 0x84, 0x96 }, { 0x85, 0xa3 },
861 { 0x86, 0xaf }, { 0x87, 0xc4 },
862 { 0x88, 0xd7 }, { 0x89, 0xe8 },
863
864 /* AGC and AEC parameters. Note we start by disabling those features,
865 then turn them only after tweaking the values. */
866 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
867 | OV7670_COM8_AECSTEP
868 | OV7670_COM8_BFILT },
869 { OV7670_REG_GAIN, 0 }, { OV7670_REG_AECH, 0 },
870 { OV7670_REG_COM4, 0x40 }, /* magic reserved bit */
871 { OV7670_REG_COM9, 0x18 }, /* 4x gain + magic rsvd bit */
872 { OV7670_REG_BD50MAX, 0x05 }, { OV7670_REG_BD60MAX, 0x07 },
873 { OV7670_REG_AEW, 0x95 }, { OV7670_REG_AEB, 0x33 },
874 { OV7670_REG_VPT, 0xe3 }, { OV7670_REG_HAECC1, 0x78 },
875 { OV7670_REG_HAECC2, 0x68 },
876 { 0xa1, 0x03 }, /* magic */
877 { OV7670_REG_HAECC3, 0xd8 }, { OV7670_REG_HAECC4, 0xd8 },
878 { OV7670_REG_HAECC5, 0xf0 }, { OV7670_REG_HAECC6, 0x90 },
879 { OV7670_REG_HAECC7, 0x94 },
880 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
881 | OV7670_COM8_AECSTEP
882 | OV7670_COM8_BFILT
883 | OV7670_COM8_AGC
884 | OV7670_COM8_AEC },
885
886 /* Almost all of these are magic "reserved" values. */
887 { OV7670_REG_COM5, 0x61 }, { OV7670_REG_COM6, 0x4b },
888 { 0x16, 0x02 },
889 { OV7670_REG_MVFP, 0x07 },
890 { 0x21, 0x02 }, { 0x22, 0x91 },
891 { 0x29, 0x07 }, { 0x33, 0x0b },
892 { 0x35, 0x0b }, { 0x37, 0x1d },
893 { 0x38, 0x71 }, { 0x39, 0x2a },
894 { OV7670_REG_COM12, 0x78 }, { 0x4d, 0x40 },
895 { 0x4e, 0x20 }, { OV7670_REG_GFIX, 0 },
896 { 0x6b, 0x4a }, { 0x74, 0x10 },
897 { 0x8d, 0x4f }, { 0x8e, 0 },
898 { 0x8f, 0 }, { 0x90, 0 },
899 { 0x91, 0 }, { 0x96, 0 },
900 { 0x9a, 0 }, { 0xb0, 0x84 },
901 { 0xb1, 0x0c }, { 0xb2, 0x0e },
902 { 0xb3, 0x82 }, { 0xb8, 0x0a },
903
904 /* More reserved magic, some of which tweaks white balance */
905 { 0x43, 0x0a }, { 0x44, 0xf0 },
906 { 0x45, 0x34 }, { 0x46, 0x58 },
907 { 0x47, 0x28 }, { 0x48, 0x3a },
908 { 0x59, 0x88 }, { 0x5a, 0x88 },
909 { 0x5b, 0x44 }, { 0x5c, 0x67 },
910 { 0x5d, 0x49 }, { 0x5e, 0x0e },
911 { 0x6c, 0x0a }, { 0x6d, 0x55 },
912 { 0x6e, 0x11 }, { 0x6f, 0x9f },
913 /* "9e for advance AWB" */
914 { 0x6a, 0x40 }, { OV7670_REG_BLUE, 0x40 },
915 { OV7670_REG_RED, 0x60 },
916 { OV7670_REG_COM8, OV7670_COM8_FASTAEC
917 | OV7670_COM8_AECSTEP
918 | OV7670_COM8_BFILT
919 | OV7670_COM8_AGC
920 | OV7670_COM8_AEC
921 | OV7670_COM8_AWB },
922
923 /* Matrix coefficients */
924 { 0x4f, 0x80 }, { 0x50, 0x80 },
925 { 0x51, 0 }, { 0x52, 0x22 },
926 { 0x53, 0x5e }, { 0x54, 0x80 },
927 { 0x58, 0x9e },
928
929 { OV7670_REG_COM16, OV7670_COM16_AWBGAIN },
930 { OV7670_REG_EDGE, 0 },
931 { 0x75, 0x05 }, { 0x76, 0xe1 },
932 { 0x4c, 0 }, { 0x77, 0x01 },
933 { OV7670_REG_COM13, OV7670_COM13_GAMMA
934 | OV7670_COM13_UVSAT
935 | 2}, /* was 3 */
936 { 0x4b, 0x09 },
937 { 0xc9, 0x60 }, { OV7670_REG_COM16, 0x38 },
938 { 0x56, 0x40 },
939
940 { 0x34, 0x11 },
941 { OV7670_REG_COM11, OV7670_COM11_EXP|OV7670_COM11_HZAUTO },
942 { 0xa4, 0x88 }, { 0x96, 0 },
943 { 0x97, 0x30 }, { 0x98, 0x20 },
944 { 0x99, 0x30 }, { 0x9a, 0x84 },
945 { 0x9b, 0x29 }, { 0x9c, 0x03 },
946 { 0x9d, 0x4c }, { 0x9e, 0x3f },
947 { 0x78, 0x04 },
948
949 /* Extra-weird stuff. Some sort of multiplexor register */
950 { 0x79, 0x01 }, { 0xc8, 0xf0 },
951 { 0x79, 0x0f }, { 0xc8, 0x00 },
952 { 0x79, 0x10 }, { 0xc8, 0x7e },
953 { 0x79, 0x0a }, { 0xc8, 0x80 },
954 { 0x79, 0x0b }, { 0xc8, 0x01 },
955 { 0x79, 0x0c }, { 0xc8, 0x0f },
956 { 0x79, 0x0d }, { 0xc8, 0x20 },
957 { 0x79, 0x09 }, { 0xc8, 0x80 },
958 { 0x79, 0x02 }, { 0xc8, 0xc0 },
959 { 0x79, 0x03 }, { 0xc8, 0x40 },
960 { 0x79, 0x05 }, { 0xc8, 0x30 },
961 { 0x79, 0x26 },
962 };
963 1150
964 PDEBUG(D_PROBE, "starting OV7xx0 configuration"); 1151 PDEBUG(D_PROBE, "starting OV7xx0 configuration");
965 1152
@@ -1011,8 +1198,9 @@ static int ov7xx0_configure(struct sd *sd)
1011 switch (low) { 1198 switch (low) {
1012 case 0x30: 1199 case 0x30:
1013 PDEBUG(D_PROBE, "Sensor is an OV7630/OV7635"); 1200 PDEBUG(D_PROBE, "Sensor is an OV7630/OV7635");
1014 sd->sensor = SEN_OV7630; 1201 PDEBUG(D_ERR,
1015 break; 1202 "7630 is not supported by this driver");
1203 return -1;
1016 case 0x40: 1204 case 0x40:
1017 PDEBUG(D_PROBE, "Sensor is an OV7645"); 1205 PDEBUG(D_PROBE, "Sensor is an OV7645");
1018 sd->sensor = SEN_OV7640; /* FIXME */ 1206 sd->sensor = SEN_OV7640; /* FIXME */
@@ -1038,32 +1226,6 @@ static int ov7xx0_configure(struct sd *sd)
1038 return -1; 1226 return -1;
1039 } 1227 }
1040 1228
1041 switch (sd->sensor) {
1042 case SEN_OV7620:
1043 PDEBUG(D_PROBE, "Writing 7620 registers");
1044 if (write_i2c_regvals(sd, norm_7620, ARRAY_SIZE(norm_7620)))
1045 return -1;
1046 break;
1047 case SEN_OV7630:
1048 PDEBUG(D_ERR, "7630 is not supported by this driver version");
1049 return -1;
1050 case SEN_OV7640:
1051 PDEBUG(D_PROBE, "Writing 7640 registers");
1052 if (write_i2c_regvals(sd, norm_7640, ARRAY_SIZE(norm_7640)))
1053 return -1;
1054 break;
1055 case SEN_OV7670:
1056 PDEBUG(D_PROBE, "Writing 7670 registers");
1057 if (write_i2c_regvals(sd, norm_7670, ARRAY_SIZE(norm_7670)))
1058 return -1;
1059 break;
1060 default:
1061 PDEBUG(D_PROBE, "Writing 7610 registers");
1062 if (write_i2c_regvals(sd, norm_7610, ARRAY_SIZE(norm_7610)))
1063 return -1;
1064 break;
1065 }
1066
1067 /* Set sensor-specific vars */ 1229 /* Set sensor-specific vars */
1068/* sd->sif = 0; already done */ 1230/* sd->sif = 0; already done */
1069 return 0; 1231 return 0;
@@ -1073,141 +1235,7 @@ static int ov7xx0_configure(struct sd *sd)
1073static int ov6xx0_configure(struct sd *sd) 1235static int ov6xx0_configure(struct sd *sd)
1074{ 1236{
1075 int rc; 1237 int rc;
1076 static const struct ov_i2c_regvals norm_6x20[] = { 1238 PDEBUG(D_PROBE, "starting OV6xx0 configuration");
1077 { 0x12, 0x80 }, /* reset */
1078 { 0x11, 0x01 },
1079 { 0x03, 0x60 },
1080 { 0x05, 0x7f }, /* For when autoadjust is off */
1081 { 0x07, 0xa8 },
1082 /* The ratio of 0x0c and 0x0d controls the white point */
1083 { 0x0c, 0x24 },
1084 { 0x0d, 0x24 },
1085 { 0x0f, 0x15 }, /* COMS */
1086 { 0x10, 0x75 }, /* AEC Exposure time */
1087 { 0x12, 0x24 }, /* Enable AGC */
1088 { 0x14, 0x04 },
1089 /* 0x16: 0x06 helps frame stability with moving objects */
1090 { 0x16, 0x06 },
1091/* { 0x20, 0x30 }, * Aperture correction enable */
1092 { 0x26, 0xb2 }, /* BLC enable */
1093 /* 0x28: 0x05 Selects RGB format if RGB on */
1094 { 0x28, 0x05 },
1095 { 0x2a, 0x04 }, /* Disable framerate adjust */
1096/* { 0x2b, 0xac }, * Framerate; Set 2a[7] first */
1097 { 0x2d, 0x99 },
1098 { 0x33, 0xa0 }, /* Color Processing Parameter */
1099 { 0x34, 0xd2 }, /* Max A/D range */
1100 { 0x38, 0x8b },
1101 { 0x39, 0x40 },
1102
1103 { 0x3c, 0x39 }, /* Enable AEC mode changing */
1104 { 0x3c, 0x3c }, /* Change AEC mode */
1105 { 0x3c, 0x24 }, /* Disable AEC mode changing */
1106
1107 { 0x3d, 0x80 },
1108 /* These next two registers (0x4a, 0x4b) are undocumented.
1109 * They control the color balance */
1110 { 0x4a, 0x80 },
1111 { 0x4b, 0x80 },
1112 { 0x4d, 0xd2 }, /* This reduces noise a bit */
1113 { 0x4e, 0xc1 },
1114 { 0x4f, 0x04 },
1115/* Do 50-53 have any effect? */
1116/* Toggle 0x12[2] off and on here? */
1117 };
1118
1119 static const struct ov_i2c_regvals norm_6x30[] = {
1120 { 0x12, 0x80 }, /* Reset */
1121 { 0x00, 0x1f }, /* Gain */
1122 { 0x01, 0x99 }, /* Blue gain */
1123 { 0x02, 0x7c }, /* Red gain */
1124 { 0x03, 0xc0 }, /* Saturation */
1125 { 0x05, 0x0a }, /* Contrast */
1126 { 0x06, 0x95 }, /* Brightness */
1127 { 0x07, 0x2d }, /* Sharpness */
1128 { 0x0c, 0x20 },
1129 { 0x0d, 0x20 },
1130 { 0x0e, 0x20 },
1131 { 0x0f, 0x05 },
1132 { 0x10, 0x9a },
1133 { 0x11, 0x00 }, /* Pixel clock = fastest */
1134 { 0x12, 0x24 }, /* Enable AGC and AWB */
1135 { 0x13, 0x21 },
1136 { 0x14, 0x80 },
1137 { 0x15, 0x01 },
1138 { 0x16, 0x03 },
1139 { 0x17, 0x38 },
1140 { 0x18, 0xea },
1141 { 0x19, 0x04 },
1142 { 0x1a, 0x93 },
1143 { 0x1b, 0x00 },
1144 { 0x1e, 0xc4 },
1145 { 0x1f, 0x04 },
1146 { 0x20, 0x20 },
1147 { 0x21, 0x10 },
1148 { 0x22, 0x88 },
1149 { 0x23, 0xc0 }, /* Crystal circuit power level */
1150 { 0x25, 0x9a }, /* Increase AEC black ratio */
1151 { 0x26, 0xb2 }, /* BLC enable */
1152 { 0x27, 0xa2 },
1153 { 0x28, 0x00 },
1154 { 0x29, 0x00 },
1155 { 0x2a, 0x84 }, /* 60 Hz power */
1156 { 0x2b, 0xa8 }, /* 60 Hz power */
1157 { 0x2c, 0xa0 },
1158 { 0x2d, 0x95 }, /* Enable auto-brightness */
1159 { 0x2e, 0x88 },
1160 { 0x33, 0x26 },
1161 { 0x34, 0x03 },
1162 { 0x36, 0x8f },
1163 { 0x37, 0x80 },
1164 { 0x38, 0x83 },
1165 { 0x39, 0x80 },
1166 { 0x3a, 0x0f },
1167 { 0x3b, 0x3c },
1168 { 0x3c, 0x1a },
1169 { 0x3d, 0x80 },
1170 { 0x3e, 0x80 },
1171 { 0x3f, 0x0e },
1172 { 0x40, 0x00 }, /* White bal */
1173 { 0x41, 0x00 }, /* White bal */
1174 { 0x42, 0x80 },
1175 { 0x43, 0x3f }, /* White bal */
1176 { 0x44, 0x80 },
1177 { 0x45, 0x20 },
1178 { 0x46, 0x20 },
1179 { 0x47, 0x80 },
1180 { 0x48, 0x7f },
1181 { 0x49, 0x00 },
1182 { 0x4a, 0x00 },
1183 { 0x4b, 0x80 },
1184 { 0x4c, 0xd0 },
1185 { 0x4d, 0x10 }, /* U = 0.563u, V = 0.714v */
1186 { 0x4e, 0x40 },
1187 { 0x4f, 0x07 }, /* UV avg., col. killer: max */
1188 { 0x50, 0xff },
1189 { 0x54, 0x23 }, /* Max AGC gain: 18dB */
1190 { 0x55, 0xff },
1191 { 0x56, 0x12 },
1192 { 0x57, 0x81 },
1193 { 0x58, 0x75 },
1194 { 0x59, 0x01 }, /* AGC dark current comp.: +1 */
1195 { 0x5a, 0x2c },
1196 { 0x5b, 0x0f }, /* AWB chrominance levels */
1197 { 0x5c, 0x10 },
1198 { 0x3d, 0x80 },
1199 { 0x27, 0xa6 },
1200 { 0x12, 0x20 }, /* Toggle AWB */
1201 { 0x12, 0x24 },
1202 };
1203
1204 PDEBUG(D_PROBE, "starting sensor configuration");
1205
1206 if (init_ov_sensor(sd) < 0) {
1207 PDEBUG(D_ERR, "Failed to read sensor ID.");
1208 return -1;
1209 }
1210 PDEBUG(D_PROBE, "OV6xx0 sensor detected");
1211 1239
1212 /* Detect sensor (sub)type */ 1240 /* Detect sensor (sub)type */
1213 rc = i2c_r(sd, OV7610_REG_COM_I); 1241 rc = i2c_r(sd, OV7610_REG_COM_I);
@@ -1251,15 +1279,6 @@ static int ov6xx0_configure(struct sd *sd)
1251 /* Set sensor-specific vars */ 1279 /* Set sensor-specific vars */
1252 sd->sif = 1; 1280 sd->sif = 1;
1253 1281
1254 if (sd->sensor == SEN_OV6620) {
1255 PDEBUG(D_PROBE, "Writing 6x20 registers");
1256 if (write_i2c_regvals(sd, norm_6x20, ARRAY_SIZE(norm_6x20)))
1257 return -1;
1258 } else {
1259 PDEBUG(D_PROBE, "Writing 6x30 registers");
1260 if (write_i2c_regvals(sd, norm_6x30, ARRAY_SIZE(norm_6x30)))
1261 return -1;
1262 }
1263 return 0; 1282 return 0;
1264} 1283}
1265 1284
@@ -1298,22 +1317,31 @@ static int sd_config(struct gspca_dev *gspca_dev,
1298 ov51x_led_control(sd, 0); /* turn LED off */ 1317 ov51x_led_control(sd, 0); /* turn LED off */
1299 1318
1300 /* Test for 76xx */ 1319 /* Test for 76xx */
1301 sd->primary_i2c_slave = OV7xx0_SID;
1302 if (ov51x_set_slave_ids(sd, OV7xx0_SID) < 0) 1320 if (ov51x_set_slave_ids(sd, OV7xx0_SID) < 0)
1303 goto error; 1321 goto error;
1304 1322
1305 /* The OV519 must be more aggressive about sensor detection since 1323 /* The OV519 must be more aggressive about sensor detection since
1306 * I2C write will never fail if the sensor is not present. We have 1324 * I2C write will never fail if the sensor is not present. We have
1307 * to try to initialize the sensor to detect its presence */ 1325 * to try to initialize the sensor to detect its presence */
1308 if (init_ov_sensor(sd) < 0) { 1326 if (init_ov_sensor(sd) >= 0) {
1327 if (ov7xx0_configure(sd) < 0) {
1328 PDEBUG(D_ERR, "Failed to configure OV7xx0");
1329 goto error;
1330 }
1331 } else {
1332
1309 /* Test for 6xx0 */ 1333 /* Test for 6xx0 */
1310 sd->primary_i2c_slave = OV6xx0_SID;
1311 if (ov51x_set_slave_ids(sd, OV6xx0_SID) < 0) 1334 if (ov51x_set_slave_ids(sd, OV6xx0_SID) < 0)
1312 goto error; 1335 goto error;
1313 1336
1314 if (init_ov_sensor(sd) < 0) { 1337 if (init_ov_sensor(sd) >= 0) {
1338 if (ov6xx0_configure(sd) < 0) {
1339 PDEBUG(D_ERR, "Failed to configure OV6xx0");
1340 goto error;
1341 }
1342 } else {
1343
1315 /* Test for 8xx0 */ 1344 /* Test for 8xx0 */
1316 sd->primary_i2c_slave = OV8xx0_SID;
1317 if (ov51x_set_slave_ids(sd, OV8xx0_SID) < 0) 1345 if (ov51x_set_slave_ids(sd, OV8xx0_SID) < 0)
1318 goto error; 1346 goto error;
1319 1347
@@ -1321,24 +1349,13 @@ static int sd_config(struct gspca_dev *gspca_dev,
1321 PDEBUG(D_ERR, 1349 PDEBUG(D_ERR,
1322 "Can't determine sensor slave IDs"); 1350 "Can't determine sensor slave IDs");
1323 goto error; 1351 goto error;
1324 } else {
1325 if (ov8xx0_configure(sd) < 0) {
1326 PDEBUG(D_ERR,
1327 "Failed to configure OV8xx0 sensor");
1328 goto error;
1329 }
1330 } 1352 }
1331 } else { 1353 if (ov8xx0_configure(sd) < 0) {
1332 if (ov6xx0_configure(sd) < 0) { 1354 PDEBUG(D_ERR,
1333 PDEBUG(D_ERR, "Failed to configure OV6xx0"); 1355 "Failed to configure OV8xx0 sensor");
1334 goto error; 1356 goto error;
1335 } 1357 }
1336 } 1358 }
1337 } else {
1338 if (ov7xx0_configure(sd) < 0) {
1339 PDEBUG(D_ERR, "Failed to configure OV7xx0");
1340 goto error;
1341 }
1342 } 1359 }
1343 1360
1344 cam = &gspca_dev->cam; 1361 cam = &gspca_dev->cam;
@@ -1355,15 +1372,53 @@ static int sd_config(struct gspca_dev *gspca_dev,
1355 sd->colors = COLOR_DEF; 1372 sd->colors = COLOR_DEF;
1356 sd->hflip = HFLIP_DEF; 1373 sd->hflip = HFLIP_DEF;
1357 sd->vflip = VFLIP_DEF; 1374 sd->vflip = VFLIP_DEF;
1375 if (sd->sensor != SEN_OV7670)
1376 gspca_dev->ctrl_dis = (1 << HFLIP_IDX)
1377 | (1 << VFLIP_IDX);
1358 return 0; 1378 return 0;
1359error: 1379error:
1360 PDEBUG(D_ERR, "OV519 Config failed"); 1380 PDEBUG(D_ERR, "OV519 Config failed");
1361 return -EBUSY; 1381 return -EBUSY;
1362} 1382}
1363 1383
1364/* this function is called at open time */ 1384/* this function is called at probe and resume time */
1365static int sd_open(struct gspca_dev *gspca_dev) 1385static int sd_init(struct gspca_dev *gspca_dev)
1366{ 1386{
1387 struct sd *sd = (struct sd *) gspca_dev;
1388
1389 /* initialize the sensor */
1390 switch (sd->sensor) {
1391 case SEN_OV6620:
1392 if (write_i2c_regvals(sd, norm_6x20, ARRAY_SIZE(norm_6x20)))
1393 return -EIO;
1394 break;
1395 case SEN_OV6630:
1396 if (write_i2c_regvals(sd, norm_6x30, ARRAY_SIZE(norm_6x30)))
1397 return -EIO;
1398 break;
1399 default:
1400/* case SEN_OV7610: */
1401/* case SEN_OV76BE: */
1402 if (write_i2c_regvals(sd, norm_7610, ARRAY_SIZE(norm_7610)))
1403 return -EIO;
1404 break;
1405 case SEN_OV7620:
1406 if (write_i2c_regvals(sd, norm_7620, ARRAY_SIZE(norm_7620)))
1407 return -EIO;
1408 break;
1409 case SEN_OV7640:
1410 if (write_i2c_regvals(sd, norm_7640, ARRAY_SIZE(norm_7640)))
1411 return -EIO;
1412 break;
1413 case SEN_OV7670:
1414 if (write_i2c_regvals(sd, norm_7670, ARRAY_SIZE(norm_7670)))
1415 return -EIO;
1416 break;
1417 case SEN_OV8610:
1418 if (write_i2c_regvals(sd, norm_8610, ARRAY_SIZE(norm_8610)))
1419 return -EIO;
1420 break;
1421 }
1367 return 0; 1422 return 0;
1368} 1423}
1369 1424
@@ -1827,14 +1882,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1827 ov51x_led_control((struct sd *) gspca_dev, 0); 1882 ov51x_led_control((struct sd *) gspca_dev, 0);
1828} 1883}
1829 1884
1830static void sd_stop0(struct gspca_dev *gspca_dev)
1831{
1832}
1833
1834static void sd_close(struct gspca_dev *gspca_dev)
1835{
1836}
1837
1838static void sd_pkt_scan(struct gspca_dev *gspca_dev, 1885static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1839 struct gspca_frame *frame, /* target */ 1886 struct gspca_frame *frame, /* target */
1840 __u8 *data, /* isoc packet */ 1887 __u8 *data, /* isoc packet */
@@ -2091,11 +2138,9 @@ static const struct sd_desc sd_desc = {
2091 .ctrls = sd_ctrls, 2138 .ctrls = sd_ctrls,
2092 .nctrls = ARRAY_SIZE(sd_ctrls), 2139 .nctrls = ARRAY_SIZE(sd_ctrls),
2093 .config = sd_config, 2140 .config = sd_config,
2094 .open = sd_open, 2141 .init = sd_init,
2095 .start = sd_start, 2142 .start = sd_start,
2096 .stopN = sd_stopN, 2143 .stopN = sd_stopN,
2097 .stop0 = sd_stop0,
2098 .close = sd_close,
2099 .pkt_scan = sd_pkt_scan, 2144 .pkt_scan = sd_pkt_scan,
2100}; 2145};
2101 2146
@@ -2132,6 +2177,10 @@ static struct usb_driver sd_driver = {
2132 .id_table = device_table, 2177 .id_table = device_table,
2133 .probe = sd_probe, 2178 .probe = sd_probe,
2134 .disconnect = gspca_disconnect, 2179 .disconnect = gspca_disconnect,
2180#ifdef CONFIG_PM
2181 .suspend = gspca_suspend,
2182 .resume = gspca_resume,
2183#endif
2135}; 2184};
2136 2185
2137/* -- module insert / remove -- */ 2186/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/pac207.c b/drivers/media/video/gspca/pac207.c
index 7ef18d578811..83b5f740c947 100644
--- a/drivers/media/video/gspca/pac207.c
+++ b/drivers/media/video/gspca/pac207.c
@@ -56,12 +56,6 @@ MODULE_LICENSE("GPL");
56#define PAC207_GAIN_KNEE 20 56#define PAC207_GAIN_KNEE 20
57 57
58#define PAC207_AUTOGAIN_DEADZONE 30 58#define PAC207_AUTOGAIN_DEADZONE 30
59/* We calculating the autogain at the end of the transfer of a frame, at this
60 moment a frame with the old settings is being transmitted, and a frame is
61 being captured with the old settings. So if we adjust the autogain we must
62 ignore atleast the 2 next frames for the new settings to come into effect
63 before doing any other adjustments */
64#define PAC207_AUTOGAIN_IGNORE_FRAMES 3
65 59
66/* specific webcam descriptor */ 60/* specific webcam descriptor */
67struct sd { 61struct sd {
@@ -131,7 +125,8 @@ static struct ctrl sd_ctrls[] = {
131 .minimum = 0, 125 .minimum = 0,
132 .maximum = 1, 126 .maximum = 1,
133 .step = 1, 127 .step = 1,
134 .default_value = 1, 128#define AUTOGAIN_DEF 1
129 .default_value = AUTOGAIN_DEF,
135 .flags = 0, 130 .flags = 0,
136 }, 131 },
137 .set = sd_setautogain, 132 .set = sd_setautogain,
@@ -181,9 +176,6 @@ static const __u8 pac207_sensor_init[][8] = {
181 /* 48 reg_72 Rate Control end BalSize_4a =0x36 */ 176 /* 48 reg_72 Rate Control end BalSize_4a =0x36 */
182static const __u8 PacReg72[] = { 0x00, 0x00, 0x36, 0x00 }; 177static const __u8 PacReg72[] = { 0x00, 0x00, 0x36, 0x00 };
183 178
184static const unsigned char pac207_sof_marker[5] =
185 { 0xff, 0xff, 0x00, 0xff, 0x96 };
186
187static int pac207_write_regs(struct gspca_dev *gspca_dev, u16 index, 179static int pac207_write_regs(struct gspca_dev *gspca_dev, u16 index,
188 const u8 *buffer, u16 length) 180 const u8 *buffer, u16 length)
189{ 181{
@@ -259,35 +251,32 @@ static int sd_config(struct gspca_dev *gspca_dev,
259 return -ENODEV; 251 return -ENODEV;
260 } 252 }
261 253
262 pac207_write_reg(gspca_dev, 0x41, 0x00);
263 /* Bit_0=Image Format,
264 * Bit_1=LED,
265 * Bit_2=Compression test mode enable */
266 pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */
267 pac207_write_reg(gspca_dev, 0x11, 0x30); /* Analog Bias */
268
269 PDEBUG(D_PROBE, 254 PDEBUG(D_PROBE,
270 "Pixart PAC207BCA Image Processor and Control Chip detected" 255 "Pixart PAC207BCA Image Processor and Control Chip detected"
271 " (vid/pid 0x%04X:0x%04X)", id->idVendor, id->idProduct); 256 " (vid/pid 0x%04X:0x%04X)", id->idVendor, id->idProduct);
272 257
273 cam = &gspca_dev->cam; 258 cam = &gspca_dev->cam;
274 cam->dev_name = (char *) id->driver_info;
275 cam->epaddr = 0x05; 259 cam->epaddr = 0x05;
276 cam->cam_mode = sif_mode; 260 cam->cam_mode = sif_mode;
277 cam->nmodes = ARRAY_SIZE(sif_mode); 261 cam->nmodes = ARRAY_SIZE(sif_mode);
278 sd->brightness = PAC207_BRIGHTNESS_DEFAULT; 262 sd->brightness = PAC207_BRIGHTNESS_DEFAULT;
279 sd->exposure = PAC207_EXPOSURE_DEFAULT; 263 sd->exposure = PAC207_EXPOSURE_DEFAULT;
280 sd->gain = PAC207_GAIN_DEFAULT; 264 sd->gain = PAC207_GAIN_DEFAULT;
265 sd->autogain = AUTOGAIN_DEF;
281 266
282 return 0; 267 return 0;
283} 268}
284 269
285/* this function is called at open time */ 270/* this function is called at probe and resume time */
286static int sd_open(struct gspca_dev *gspca_dev) 271static int sd_init(struct gspca_dev *gspca_dev)
287{ 272{
288 struct sd *sd = (struct sd *) gspca_dev; 273 pac207_write_reg(gspca_dev, 0x41, 0x00);
274 /* Bit_0=Image Format,
275 * Bit_1=LED,
276 * Bit_2=Compression test mode enable */
277 pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */
278 pac207_write_reg(gspca_dev, 0x11, 0x30); /* Analog Bias */
289 279
290 sd->autogain = 1;
291 return 0; 280 return 0;
292} 281}
293 282
@@ -343,14 +332,8 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
343 pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */ 332 pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */
344} 333}
345 334
346static void sd_stop0(struct gspca_dev *gspca_dev) 335/* Include pac common sof detection functions */
347{ 336#include "pac_common.h"
348}
349
350/* this function is called at close time */
351static void sd_close(struct gspca_dev *gspca_dev)
352{
353}
354 337
355static void pac207_do_auto_gain(struct gspca_dev *gspca_dev) 338static void pac207_do_auto_gain(struct gspca_dev *gspca_dev)
356{ 339{
@@ -365,33 +348,7 @@ static void pac207_do_auto_gain(struct gspca_dev *gspca_dev)
365 else if (gspca_auto_gain_n_exposure(gspca_dev, avg_lum, 348 else if (gspca_auto_gain_n_exposure(gspca_dev, avg_lum,
366 100 + sd->brightness / 2, PAC207_AUTOGAIN_DEADZONE, 349 100 + sd->brightness / 2, PAC207_AUTOGAIN_DEADZONE,
367 PAC207_GAIN_KNEE, PAC207_EXPOSURE_KNEE)) 350 PAC207_GAIN_KNEE, PAC207_EXPOSURE_KNEE))
368 sd->autogain_ignore_frames = PAC207_AUTOGAIN_IGNORE_FRAMES; 351 sd->autogain_ignore_frames = PAC_AUTOGAIN_IGNORE_FRAMES;
369}
370
371static unsigned char *pac207_find_sof(struct gspca_dev *gspca_dev,
372 unsigned char *m, int len)
373{
374 struct sd *sd = (struct sd *) gspca_dev;
375 int i;
376
377 /* Search for the SOF marker (fixed part) in the header */
378 for (i = 0; i < len; i++) {
379 if (m[i] == pac207_sof_marker[sd->sof_read]) {
380 sd->sof_read++;
381 if (sd->sof_read == sizeof(pac207_sof_marker)) {
382 PDEBUG(D_STREAM,
383 "SOF found, bytes to analyze: %u."
384 " Frame starts at byte #%u",
385 len, i + 1);
386 sd->sof_read = 0;
387 return m + i + 1;
388 }
389 } else {
390 sd->sof_read = 0;
391 }
392 }
393
394 return NULL;
395} 352}
396 353
397static void sd_pkt_scan(struct gspca_dev *gspca_dev, 354static void sd_pkt_scan(struct gspca_dev *gspca_dev,
@@ -402,14 +359,14 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
402 struct sd *sd = (struct sd *) gspca_dev; 359 struct sd *sd = (struct sd *) gspca_dev;
403 unsigned char *sof; 360 unsigned char *sof;
404 361
405 sof = pac207_find_sof(gspca_dev, data, len); 362 sof = pac_find_sof(gspca_dev, data, len);
406 if (sof) { 363 if (sof) {
407 int n; 364 int n;
408 365
409 /* finish decoding current frame */ 366 /* finish decoding current frame */
410 n = sof - data; 367 n = sof - data;
411 if (n > sizeof pac207_sof_marker) 368 if (n > sizeof pac_sof_marker)
412 n -= sizeof pac207_sof_marker; 369 n -= sizeof pac_sof_marker;
413 else 370 else
414 n = 0; 371 n = 0;
415 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame, 372 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame,
@@ -537,7 +494,7 @@ static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val)
537 sd->gain = PAC207_GAIN_DEFAULT; 494 sd->gain = PAC207_GAIN_DEFAULT;
538 if (gspca_dev->streaming) { 495 if (gspca_dev->streaming) {
539 sd->autogain_ignore_frames = 496 sd->autogain_ignore_frames =
540 PAC207_AUTOGAIN_IGNORE_FRAMES; 497 PAC_AUTOGAIN_IGNORE_FRAMES;
541 setexposure(gspca_dev); 498 setexposure(gspca_dev);
542 setgain(gspca_dev); 499 setgain(gspca_dev);
543 } 500 }
@@ -560,11 +517,9 @@ static const struct sd_desc sd_desc = {
560 .ctrls = sd_ctrls, 517 .ctrls = sd_ctrls,
561 .nctrls = ARRAY_SIZE(sd_ctrls), 518 .nctrls = ARRAY_SIZE(sd_ctrls),
562 .config = sd_config, 519 .config = sd_config,
563 .open = sd_open, 520 .init = sd_init,
564 .start = sd_start, 521 .start = sd_start,
565 .stopN = sd_stopN, 522 .stopN = sd_stopN,
566 .stop0 = sd_stop0,
567 .close = sd_close,
568 .dq_callback = pac207_do_auto_gain, 523 .dq_callback = pac207_do_auto_gain,
569 .pkt_scan = sd_pkt_scan, 524 .pkt_scan = sd_pkt_scan,
570}; 525};
@@ -597,6 +552,10 @@ static struct usb_driver sd_driver = {
597 .id_table = device_table, 552 .id_table = device_table,
598 .probe = sd_probe, 553 .probe = sd_probe,
599 .disconnect = gspca_disconnect, 554 .disconnect = gspca_disconnect,
555#ifdef CONFIG_PM
556 .suspend = gspca_suspend,
557 .resume = gspca_resume,
558#endif
600}; 559};
601 560
602/* -- module insert / remove -- */ 561/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/pac7311.c b/drivers/media/video/gspca/pac7311.c
index 815bea6edc44..d4be51843286 100644
--- a/drivers/media/video/gspca/pac7311.c
+++ b/drivers/media/video/gspca/pac7311.c
@@ -19,6 +19,36 @@
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21 21
22/* Some documentation about various registers as determined by trial and error.
23 When the register addresses differ between the 7202 and the 7311 the 2
24 different addresses are written as 7302addr/7311addr, when one of the 2
25 addresses is a - sign that register description is not valid for the
26 matching IC.
27
28 Register page 1:
29
30 Address Description
31 -/0x08 Unknown compressor related, must always be 8 except when not
32 in 640x480 resolution and page 4 reg 2 <= 3 then set it to 9 !
33 -/0x1b Auto white balance related, bit 0 is AWB enable (inverted)
34 bits 345 seem to toggle per color gains on/off (inverted)
35 0x78 Global control, bit 6 controls the LED (inverted)
36 -/0x80 JPEG compression ratio ? Best not touched
37
38 Register page 3/4:
39
40 Address Description
41 0x02 Clock divider 2-63, fps =~ 60 / val. Must be a multiple of 3 on
42 the 7302, so one of 3, 6, 9, ..., except when between 6 and 12?
43 -/0x0f Master gain 1-245, low value = high gain
44 0x10/- Master gain 0-31
45 -/0x10 Another gain 0-15, limited influence (1-2x gain I guess)
46 0x21 Bitfield: 0-1 unused, 2-3 vflip/hflip, 4-5 unknown, 6-7 unused
47 -/0x27 Seems to toggle various gains on / off, Setting bit 7 seems to
48 completely disable the analog amplification block. Set to 0x68
49 for max gain, 0x14 for minimal gain.
50*/
51
22#define MODULE_NAME "pac7311" 52#define MODULE_NAME "pac7311"
23 53
24#include "gspca.h" 54#include "gspca.h"
@@ -31,18 +61,23 @@ MODULE_LICENSE("GPL");
31struct sd { 61struct sd {
32 struct gspca_dev gspca_dev; /* !! must be the first item */ 62 struct gspca_dev gspca_dev; /* !! must be the first item */
33 63
34 int lum_sum;
35 atomic_t avg_lum;
36 atomic_t do_gain;
37
38 unsigned char brightness; 64 unsigned char brightness;
39 unsigned char contrast; 65 unsigned char contrast;
40 unsigned char colors; 66 unsigned char colors;
67 unsigned char gain;
68 unsigned char exposure;
41 unsigned char autogain; 69 unsigned char autogain;
70 __u8 hflip;
71 __u8 vflip;
72
73 __u8 sensor;
74#define SENSOR_PAC7302 0
75#define SENSOR_PAC7311 1
42 76
43 char ffseq; 77 u8 sof_read;
44 signed char ag_cnt; 78 u8 autogain_ignore_frames;
45#define AG_CNT_START 13 79
80 atomic_t avg_lum;
46}; 81};
47 82
48/* V4L2 controls supported by the driver */ 83/* V4L2 controls supported by the driver */
@@ -54,8 +89,18 @@ static int sd_setcolors(struct gspca_dev *gspca_dev, __s32 val);
54static int sd_getcolors(struct gspca_dev *gspca_dev, __s32 *val); 89static int sd_getcolors(struct gspca_dev *gspca_dev, __s32 *val);
55static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val); 90static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val);
56static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val); 91static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val);
92static int sd_sethflip(struct gspca_dev *gspca_dev, __s32 val);
93static int sd_gethflip(struct gspca_dev *gspca_dev, __s32 *val);
94static int sd_setvflip(struct gspca_dev *gspca_dev, __s32 val);
95static int sd_getvflip(struct gspca_dev *gspca_dev, __s32 *val);
96static int sd_setgain(struct gspca_dev *gspca_dev, __s32 val);
97static int sd_getgain(struct gspca_dev *gspca_dev, __s32 *val);
98static int sd_setexposure(struct gspca_dev *gspca_dev, __s32 val);
99static int sd_getexposure(struct gspca_dev *gspca_dev, __s32 *val);
57 100
58static struct ctrl sd_ctrls[] = { 101static struct ctrl sd_ctrls[] = {
102/* This control is pac7302 only */
103#define BRIGHTNESS_IDX 0
59 { 104 {
60 { 105 {
61 .id = V4L2_CID_BRIGHTNESS, 106 .id = V4L2_CID_BRIGHTNESS,
@@ -71,13 +116,15 @@ static struct ctrl sd_ctrls[] = {
71 .set = sd_setbrightness, 116 .set = sd_setbrightness,
72 .get = sd_getbrightness, 117 .get = sd_getbrightness,
73 }, 118 },
119/* This control is for both the 7302 and the 7311 */
74 { 120 {
75 { 121 {
76 .id = V4L2_CID_CONTRAST, 122 .id = V4L2_CID_CONTRAST,
77 .type = V4L2_CTRL_TYPE_INTEGER, 123 .type = V4L2_CTRL_TYPE_INTEGER,
78 .name = "Contrast", 124 .name = "Contrast",
79 .minimum = 0, 125 .minimum = 0,
80 .maximum = 255, 126#define CONTRAST_MAX 255
127 .maximum = CONTRAST_MAX,
81 .step = 1, 128 .step = 1,
82#define CONTRAST_DEF 127 129#define CONTRAST_DEF 127
83 .default_value = CONTRAST_DEF, 130 .default_value = CONTRAST_DEF,
@@ -85,13 +132,16 @@ static struct ctrl sd_ctrls[] = {
85 .set = sd_setcontrast, 132 .set = sd_setcontrast,
86 .get = sd_getcontrast, 133 .get = sd_getcontrast,
87 }, 134 },
135/* This control is pac7302 only */
136#define SATURATION_IDX 2
88 { 137 {
89 { 138 {
90 .id = V4L2_CID_SATURATION, 139 .id = V4L2_CID_SATURATION,
91 .type = V4L2_CTRL_TYPE_INTEGER, 140 .type = V4L2_CTRL_TYPE_INTEGER,
92 .name = "Color", 141 .name = "Saturation",
93 .minimum = 0, 142 .minimum = 0,
94 .maximum = 255, 143#define COLOR_MAX 255
144 .maximum = COLOR_MAX,
95 .step = 1, 145 .step = 1,
96#define COLOR_DEF 127 146#define COLOR_DEF 127
97 .default_value = COLOR_DEF, 147 .default_value = COLOR_DEF,
@@ -99,6 +149,39 @@ static struct ctrl sd_ctrls[] = {
99 .set = sd_setcolors, 149 .set = sd_setcolors,
100 .get = sd_getcolors, 150 .get = sd_getcolors,
101 }, 151 },
152/* All controls below are for both the 7302 and the 7311 */
153 {
154 {
155 .id = V4L2_CID_GAIN,
156 .type = V4L2_CTRL_TYPE_INTEGER,
157 .name = "Gain",
158 .minimum = 0,
159#define GAIN_MAX 255
160 .maximum = GAIN_MAX,
161 .step = 1,
162#define GAIN_DEF 127
163#define GAIN_KNEE 255 /* Gain seems to cause little noise on the pac73xx */
164 .default_value = GAIN_DEF,
165 },
166 .set = sd_setgain,
167 .get = sd_getgain,
168 },
169 {
170 {
171 .id = V4L2_CID_EXPOSURE,
172 .type = V4L2_CTRL_TYPE_INTEGER,
173 .name = "Exposure",
174 .minimum = 0,
175#define EXPOSURE_MAX 255
176 .maximum = EXPOSURE_MAX,
177 .step = 1,
178#define EXPOSURE_DEF 16 /* 32 ms / 30 fps */
179#define EXPOSURE_KNEE 50 /* 100 ms / 10 fps */
180 .default_value = EXPOSURE_DEF,
181 },
182 .set = sd_setexposure,
183 .get = sd_getexposure,
184 },
102 { 185 {
103 { 186 {
104 .id = V4L2_CID_AUTOGAIN, 187 .id = V4L2_CID_AUTOGAIN,
@@ -113,101 +196,207 @@ static struct ctrl sd_ctrls[] = {
113 .set = sd_setautogain, 196 .set = sd_setautogain,
114 .get = sd_getautogain, 197 .get = sd_getautogain,
115 }, 198 },
199 {
200 {
201 .id = V4L2_CID_HFLIP,
202 .type = V4L2_CTRL_TYPE_BOOLEAN,
203 .name = "Mirror",
204 .minimum = 0,
205 .maximum = 1,
206 .step = 1,
207#define HFLIP_DEF 0
208 .default_value = HFLIP_DEF,
209 },
210 .set = sd_sethflip,
211 .get = sd_gethflip,
212 },
213 {
214 {
215 .id = V4L2_CID_VFLIP,
216 .type = V4L2_CTRL_TYPE_BOOLEAN,
217 .name = "Vflip",
218 .minimum = 0,
219 .maximum = 1,
220 .step = 1,
221#define VFLIP_DEF 0
222 .default_value = VFLIP_DEF,
223 },
224 .set = sd_setvflip,
225 .get = sd_getvflip,
226 },
116}; 227};
117 228
118static struct v4l2_pix_format vga_mode[] = { 229static struct v4l2_pix_format vga_mode[] = {
119 {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 230 {160, 120, V4L2_PIX_FMT_PJPG, V4L2_FIELD_NONE,
120 .bytesperline = 160, 231 .bytesperline = 160,
121 .sizeimage = 160 * 120 * 3 / 8 + 590, 232 .sizeimage = 160 * 120 * 3 / 8 + 590,
122 .colorspace = V4L2_COLORSPACE_JPEG, 233 .colorspace = V4L2_COLORSPACE_JPEG,
123 .priv = 2}, 234 .priv = 2},
124 {320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 235 {320, 240, V4L2_PIX_FMT_PJPG, V4L2_FIELD_NONE,
125 .bytesperline = 320, 236 .bytesperline = 320,
126 .sizeimage = 320 * 240 * 3 / 8 + 590, 237 .sizeimage = 320 * 240 * 3 / 8 + 590,
127 .colorspace = V4L2_COLORSPACE_JPEG, 238 .colorspace = V4L2_COLORSPACE_JPEG,
128 .priv = 1}, 239 .priv = 1},
129 {640, 480, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 240 {640, 480, V4L2_PIX_FMT_PJPG, V4L2_FIELD_NONE,
130 .bytesperline = 640, 241 .bytesperline = 640,
131 .sizeimage = 640 * 480 * 3 / 8 + 590, 242 .sizeimage = 640 * 480 * 3 / 8 + 590,
132 .colorspace = V4L2_COLORSPACE_JPEG, 243 .colorspace = V4L2_COLORSPACE_JPEG,
133 .priv = 0}, 244 .priv = 0},
134}; 245};
135 246
136#define PAC7311_JPEG_HEADER_SIZE (sizeof pac7311_jpeg_header) /* (594) */ 247/* pac 7302 */
137 248static const __u8 init_7302[] = {
138static const __u8 pac7311_jpeg_header[] = { 249/* index,value */
139 0xff, 0xd8, 250 0xff, 0x01, /* page 1 */
140 0xff, 0xe0, 0x00, 0x03, 0x20, 251 0x78, 0x00, /* deactivate */
141 0xff, 0xc0, 0x00, 0x11, 0x08, 252 0xff, 0x01,
142 0x01, 0xe0, /* 12: height */ 253 0x78, 0x40, /* led off */
143 0x02, 0x80, /* 14: width */ 254};
144 0x03, /* 16 */ 255static const __u8 start_7302[] = {
145 0x01, 0x21, 0x00, 256/* index, len, [value]* */
146 0x02, 0x11, 0x01, 257 0xff, 1, 0x00, /* page 0 */
147 0x03, 0x11, 0x01, 258 0x00, 12, 0x01, 0x40, 0x40, 0x40, 0x01, 0xe0, 0x02, 0x80,
148 0xff, 0xdb, 0x00, 0x84, 259 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x10, 0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e, 0x0d, 260 0x0d, 24, 0x03, 0x01, 0x00, 0xb5, 0x07, 0xcb, 0x00, 0x00,
150 0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28, 0x1a, 0x18, 0x16, 261 0x07, 0xc8, 0x00, 0xea, 0x07, 0xcf, 0x07, 0xf7,
151 0x16, 0x18, 0x31, 0x23, 0x25, 0x1d, 0x28, 0x3a, 0x33, 0x3d, 262 0x07, 0x7e, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x11,
152 0x3c, 0x39, 0x33, 0x38, 0x37, 0x40, 0x48, 0x5c, 0x4e, 0x40, 263 0x26, 2, 0xaa, 0xaa,
153 0x44, 0x57, 0x45, 0x37, 0x38, 0x50, 0x6d, 0x51, 0x57, 0x5f, 264 0x2e, 1, 0x31,
154 0x62, 0x67, 0x68, 0x67, 0x3e, 0x4d, 0x71, 0x79, 0x70, 0x64, 265 0x38, 1, 0x01,
155 0x78, 0x5c, 0x65, 0x67, 0x63, 0x01, 0x11, 0x12, 0x12, 0x18, 266 0x3a, 3, 0x14, 0xff, 0x5a,
156 0x15, 0x18, 0x2f, 0x1a, 0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 267 0x43, 11, 0x00, 0x0a, 0x18, 0x11, 0x01, 0x2c, 0x88, 0x11,
157 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 268 0x00, 0x54, 0x11,
158 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 269 0x55, 1, 0x00,
159 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 270 0x62, 4, 0x10, 0x1e, 0x1e, 0x18,
160 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 271 0x6b, 1, 0x00,
161 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 272 0x6e, 3, 0x08, 0x06, 0x00,
162 0xff, 0xc4, 0x01, 0xa2, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 273 0x72, 3, 0x00, 0xff, 0x00,
163 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 274 0x7d, 23, 0x01, 0x01, 0x58, 0x46, 0x50, 0x3c, 0x50, 0x3c,
164 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 275 0x54, 0x46, 0x54, 0x56, 0x52, 0x50, 0x52, 0x50,
165 0x09, 0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 276 0x56, 0x64, 0xa4, 0x00, 0xda, 0x00, 0x00,
166 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d, 277 0xa2, 10, 0x22, 0x2c, 0x3c, 0x54, 0x69, 0x7c, 0x9c, 0xb9,
167 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 278 0xd2, 0xeb,
168 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 279 0xaf, 1, 0x02,
169 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 280 0xb5, 2, 0x08, 0x08,
170 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 281 0xb8, 2, 0x08, 0x88,
171 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 282 0xc4, 4, 0xae, 0x01, 0x04, 0x01,
172 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 283 0xcc, 1, 0x00,
173 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 284 0xd1, 11, 0x01, 0x30, 0x49, 0x5e, 0x6f, 0x7f, 0x8e, 0xa9,
174 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 285 0xc1, 0xd7, 0xec,
175 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 286 0xdc, 1, 0x01,
176 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 287 0xff, 1, 0x01, /* page 1 */
177 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 288 0x12, 3, 0x02, 0x00, 0x01,
178 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 289 0x3e, 2, 0x00, 0x00,
179 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 290 0x76, 5, 0x01, 0x20, 0x40, 0x00, 0xf2,
180 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 291 0x7c, 1, 0x00,
181 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 292 0x7f, 10, 0x4b, 0x0f, 0x01, 0x2c, 0x02, 0x58, 0x03, 0x20,
182 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 293 0x02, 0x00,
183 0xf9, 0xfa, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 294 0x96, 5, 0x01, 0x10, 0x04, 0x01, 0x04,
184 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 295 0xc8, 14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
185 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 296 0x07, 0x00, 0x01, 0x07, 0x04, 0x01,
186 0x0b, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 297 0xd8, 1, 0x01,
187 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 298 0xdb, 2, 0x00, 0x01,
188 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 299 0xde, 7, 0x00, 0x01, 0x04, 0x04, 0x00, 0x00, 0x00,
189 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 300 0xe6, 4, 0x00, 0x00, 0x00, 0x01,
190 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 301 0xeb, 1, 0x00,
191 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 302 0xff, 1, 0x02, /* page 2 */
192 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 303 0x22, 1, 0x00,
193 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 304 0xff, 1, 0x03, /* page 3 */
194 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 305 0x00, 255, /* load the page 3 */
195 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 306 0x11, 1, 0x01,
196 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 307 0xff, 1, 0x02, /* page 2 */
197 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 308 0x13, 1, 0x00,
198 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 309 0x22, 4, 0x1f, 0xa4, 0xf0, 0x96,
199 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 310 0x27, 2, 0x14, 0x0c,
200 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 311 0x2a, 5, 0xc8, 0x00, 0x18, 0x12, 0x22,
201 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 312 0x64, 8, 0x00, 0x00, 0xf0, 0x01, 0x14, 0x44, 0x44, 0x44,
202 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 313 0x6e, 1, 0x08,
203 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 314 0xff, 1, 0x01, /* page 1 */
204 0xff, 0xda, 0x00, 0x0c, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 315 0x78, 1, 0x00,
205 0x11, 0x00, 0x3f, 0x00 316 0, 0 /* end of sequence */
317};
318
319/* page 3 - the value 0xaa says skip the index - see reg_w_page() */
320static const __u8 page3_7302[] = {
321 0x90, 0x40, 0x03, 0x50, 0xc2, 0x01, 0x14, 0x16,
322 0x14, 0x12, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00,
323 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
324 0x00, 0x00, 0x00, 0x47, 0x01, 0xb3, 0x01, 0x00,
325 0x00, 0x08, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x21,
326 0x00, 0x00, 0x00, 0x54, 0xf4, 0x02, 0x52, 0x54,
327 0xa4, 0xb8, 0xe0, 0x2a, 0xf6, 0x00, 0x00, 0x00,
328 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
329 0x00, 0xfc, 0x00, 0xf2, 0x1f, 0x04, 0x00, 0x00,
330 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x10, 0x00, 0x00,
331 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
332 0x00, 0x40, 0xff, 0x03, 0x19, 0x00, 0x00, 0x00,
333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
334 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xc8, 0xc8,
335 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
336 0x08, 0x10, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00,
337 0x01, 0x00, 0x02, 0x47, 0x00, 0x00, 0x00, 0x00,
338 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
339 0x00, 0x02, 0xfa, 0x00, 0x64, 0x5a, 0x28, 0x00,
340 0x00
341};
342
343/* pac 7311 */
344static const __u8 init_7311[] = {
345 0x78, 0x40, /* Bit_0=start stream, Bit_6=LED */
346 0x78, 0x40, /* Bit_0=start stream, Bit_6=LED */
347 0x78, 0x44, /* Bit_0=start stream, Bit_6=LED */
348 0xff, 0x04,
349 0x27, 0x80,
350 0x28, 0xca,
351 0x29, 0x53,
352 0x2a, 0x0e,
353 0xff, 0x01,
354 0x3e, 0x20,
355};
356
357static const __u8 start_7311[] = {
358/* index, len, [value]* */
359 0xff, 1, 0x01, /* page 1 */
360 0x02, 43, 0x48, 0x0a, 0x40, 0x08, 0x00, 0x00, 0x08, 0x00,
361 0x06, 0xff, 0x11, 0xff, 0x5a, 0x30, 0x90, 0x4c,
362 0x00, 0x07, 0x00, 0x0a, 0x10, 0x00, 0xa0, 0x10,
363 0x02, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x01, 0x00,
364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
365 0x00, 0x00, 0x00,
366 0x3e, 42, 0x00, 0x00, 0x78, 0x52, 0x4a, 0x52, 0x78, 0x6e,
367 0x48, 0x46, 0x48, 0x6e, 0x5f, 0x49, 0x42, 0x49,
368 0x5f, 0x5f, 0x49, 0x42, 0x49, 0x5f, 0x6e, 0x48,
369 0x46, 0x48, 0x6e, 0x78, 0x52, 0x4a, 0x52, 0x78,
370 0x00, 0x00, 0x09, 0x1b, 0x34, 0x49, 0x5c, 0x9b,
371 0xd0, 0xff,
372 0x78, 6, 0x44, 0x00, 0xf2, 0x01, 0x01, 0x80,
373 0x7f, 18, 0x2a, 0x1c, 0x00, 0xc8, 0x02, 0x58, 0x03, 0x84,
374 0x12, 0x00, 0x1a, 0x04, 0x08, 0x0c, 0x10, 0x14,
375 0x18, 0x20,
376 0x96, 3, 0x01, 0x08, 0x04,
377 0xa0, 4, 0x44, 0x44, 0x44, 0x04,
378 0xf0, 13, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x20, 0x00,
379 0x3f, 0x00, 0x0a, 0x01, 0x00,
380 0xff, 1, 0x04, /* page 4 */
381 0x00, 254, /* load the page 4 */
382 0x11, 1, 0x01,
383 0, 0 /* end of sequence */
384};
385
386/* page 4 - the value 0xaa says skip the index - see reg_w_page() */
387static const __u8 page4_7311[] = {
388 0xaa, 0xaa, 0x04, 0x54, 0x07, 0x2b, 0x09, 0x0f,
389 0x09, 0x00, 0xaa, 0xaa, 0x07, 0x00, 0x00, 0x62,
390 0x08, 0xaa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
391 0x00, 0x00, 0x00, 0x03, 0xa0, 0x01, 0xf4, 0xaa,
392 0xaa, 0x00, 0x08, 0xaa, 0x03, 0xaa, 0x00, 0x68,
393 0xca, 0x10, 0x06, 0x78, 0x00, 0x00, 0x00, 0x00,
394 0x23, 0x28, 0x04, 0x11, 0x00, 0x00
206}; 395};
207 396
208static void reg_w_buf(struct gspca_dev *gspca_dev, 397static void reg_w_buf(struct gspca_dev *gspca_dev,
209 __u16 index, 398 __u8 index,
210 const char *buffer, __u16 len) 399 const char *buffer, int len)
211{ 400{
212 memcpy(gspca_dev->usb_buf, buffer, len); 401 memcpy(gspca_dev->usb_buf, buffer, len);
213 usb_control_msg(gspca_dev->dev, 402 usb_control_msg(gspca_dev->dev,
@@ -219,21 +408,9 @@ static void reg_w_buf(struct gspca_dev *gspca_dev,
219 500); 408 500);
220} 409}
221 410
222static __u8 reg_r(struct gspca_dev *gspca_dev,
223 __u16 index)
224{
225 usb_control_msg(gspca_dev->dev,
226 usb_rcvctrlpipe(gspca_dev->dev, 0),
227 0, /* request */
228 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
229 0, /* value */
230 index, gspca_dev->usb_buf, 1,
231 500);
232 return gspca_dev->usb_buf[0];
233}
234 411
235static void reg_w(struct gspca_dev *gspca_dev, 412static void reg_w(struct gspca_dev *gspca_dev,
236 __u16 index, 413 __u8 index,
237 __u8 value) 414 __u8 value)
238{ 415{
239 gspca_dev->usb_buf[0] = value; 416 gspca_dev->usb_buf[0] = value;
@@ -241,10 +418,78 @@ static void reg_w(struct gspca_dev *gspca_dev,
241 usb_sndctrlpipe(gspca_dev->dev, 0), 418 usb_sndctrlpipe(gspca_dev->dev, 0),
242 0, /* request */ 419 0, /* request */
243 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 420 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
244 value, index, gspca_dev->usb_buf, 1, 421 0, index, gspca_dev->usb_buf, 1,
245 500); 422 500);
246} 423}
247 424
425static void reg_w_seq(struct gspca_dev *gspca_dev,
426 const __u8 *seq, int len)
427{
428 while (--len >= 0) {
429 reg_w(gspca_dev, seq[0], seq[1]);
430 seq += 2;
431 }
432}
433
434/* load the beginning of a page */
435static void reg_w_page(struct gspca_dev *gspca_dev,
436 const __u8 *page, int len)
437{
438 int index;
439
440 for (index = 0; index < len; index++) {
441 if (page[index] == 0xaa) /* skip this index */
442 continue;
443 gspca_dev->usb_buf[0] = page[index];
444 usb_control_msg(gspca_dev->dev,
445 usb_sndctrlpipe(gspca_dev->dev, 0),
446 0, /* request */
447 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
448 0, index, gspca_dev->usb_buf, 1,
449 500);
450 }
451}
452
453/* output a variable sequence */
454static void reg_w_var(struct gspca_dev *gspca_dev,
455 const __u8 *seq)
456{
457 int index, len;
458
459 for (;;) {
460 index = *seq++;
461 len = *seq++;
462 switch (len) {
463 case 0:
464 return;
465 case 254:
466 reg_w_page(gspca_dev, page4_7311, sizeof page4_7311);
467 break;
468 case 255:
469 reg_w_page(gspca_dev, page3_7302, sizeof page3_7302);
470 break;
471 default:
472 if (len > 64) {
473 PDEBUG(D_ERR|D_STREAM,
474 "Incorrect variable sequence");
475 return;
476 }
477 while (len > 0) {
478 if (len < 8) {
479 reg_w_buf(gspca_dev, index, seq, len);
480 seq += len;
481 break;
482 }
483 reg_w_buf(gspca_dev, index, seq, 8);
484 seq += 8;
485 index += 8;
486 len -= 8;
487 }
488 }
489 }
490 /* not reached */
491}
492
248/* this function is called at probe time */ 493/* this function is called at probe time */
249static int sd_config(struct gspca_dev *gspca_dev, 494static int sd_config(struct gspca_dev *gspca_dev,
250 const struct usb_device_id *id) 495 const struct usb_device_id *id)
@@ -252,203 +497,245 @@ static int sd_config(struct gspca_dev *gspca_dev,
252 struct sd *sd = (struct sd *) gspca_dev; 497 struct sd *sd = (struct sd *) gspca_dev;
253 struct cam *cam; 498 struct cam *cam;
254 499
255 PDEBUG(D_CONF, "Find Sensor PAC7311");
256 reg_w(gspca_dev, 0x78, 0x40); /* Bit_0=start stream, Bit_7=LED */
257 reg_w(gspca_dev, 0x78, 0x40); /* Bit_0=start stream, Bit_7=LED */
258 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_7=LED */
259 reg_w(gspca_dev, 0xff, 0x04);
260 reg_w(gspca_dev, 0x27, 0x80);
261 reg_w(gspca_dev, 0x28, 0xca);
262 reg_w(gspca_dev, 0x29, 0x53);
263 reg_w(gspca_dev, 0x2a, 0x0e);
264 reg_w(gspca_dev, 0xff, 0x01);
265 reg_w(gspca_dev, 0x3e, 0x20);
266
267 cam = &gspca_dev->cam; 500 cam = &gspca_dev->cam;
268 cam->epaddr = 0x05; 501 cam->epaddr = 0x05;
269 cam->cam_mode = vga_mode; 502
270 cam->nmodes = ARRAY_SIZE(vga_mode); 503 sd->sensor = id->driver_info;
504 if (sd->sensor == SENSOR_PAC7302) {
505 PDEBUG(D_CONF, "Find Sensor PAC7302");
506 cam->cam_mode = &vga_mode[2]; /* only 640x480 */
507 cam->nmodes = 1;
508 } else {
509 PDEBUG(D_CONF, "Find Sensor PAC7311");
510 cam->cam_mode = vga_mode;
511 cam->nmodes = ARRAY_SIZE(vga_mode);
512 gspca_dev->ctrl_dis = (1 << BRIGHTNESS_IDX)
513 | (1 << SATURATION_IDX);
514 }
271 515
272 sd->brightness = BRIGHTNESS_DEF; 516 sd->brightness = BRIGHTNESS_DEF;
273 sd->contrast = CONTRAST_DEF; 517 sd->contrast = CONTRAST_DEF;
274 sd->colors = COLOR_DEF; 518 sd->colors = COLOR_DEF;
519 sd->gain = GAIN_DEF;
520 sd->exposure = EXPOSURE_DEF;
275 sd->autogain = AUTOGAIN_DEF; 521 sd->autogain = AUTOGAIN_DEF;
276 sd->ag_cnt = -1; 522 sd->hflip = HFLIP_DEF;
523 sd->vflip = VFLIP_DEF;
277 return 0; 524 return 0;
278} 525}
279 526
280static void setbrightness(struct gspca_dev *gspca_dev) 527/* This function is used by pac7302 only */
528static void setbrightcont(struct gspca_dev *gspca_dev)
529{
530 struct sd *sd = (struct sd *) gspca_dev;
531 int i, v;
532 static const __u8 max[10] =
533 {0x29, 0x33, 0x42, 0x5a, 0x6e, 0x80, 0x9f, 0xbb,
534 0xd4, 0xec};
535 static const __u8 delta[10] =
536 {0x35, 0x33, 0x33, 0x2f, 0x2a, 0x25, 0x1e, 0x17,
537 0x11, 0x0b};
538
539 reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
540 for (i = 0; i < 10; i++) {
541 v = max[i];
542 v += (sd->brightness - BRIGHTNESS_MAX)
543 * 150 / BRIGHTNESS_MAX; /* 200 ? */
544 v -= delta[i] * sd->contrast / CONTRAST_MAX;
545 if (v < 0)
546 v = 0;
547 else if (v > 0xff)
548 v = 0xff;
549 reg_w(gspca_dev, 0xa2 + i, v);
550 }
551 reg_w(gspca_dev, 0xdc, 0x01);
552}
553
554/* This function is used by pac7311 only */
555static void setcontrast(struct gspca_dev *gspca_dev)
281{ 556{
282 struct sd *sd = (struct sd *) gspca_dev; 557 struct sd *sd = (struct sd *) gspca_dev;
283 int brightness;
284 558
285/*jfm: inverted?*/
286 brightness = BRIGHTNESS_MAX - sd->brightness;
287 reg_w(gspca_dev, 0xff, 0x04); 559 reg_w(gspca_dev, 0xff, 0x04);
288/* reg_w(gspca_dev, 0x0e, 0x00); */ 560 reg_w(gspca_dev, 0x10, sd->contrast >> 4);
289 reg_w(gspca_dev, 0x0f, brightness);
290 /* load registers to sensor (Bit 0, auto clear) */ 561 /* load registers to sensor (Bit 0, auto clear) */
291 reg_w(gspca_dev, 0x11, 0x01); 562 reg_w(gspca_dev, 0x11, 0x01);
292 PDEBUG(D_CONF|D_STREAM, "brightness: %i", brightness);
293} 563}
294 564
295static void setcontrast(struct gspca_dev *gspca_dev) 565/* This function is used by pac7302 only */
566static void setcolors(struct gspca_dev *gspca_dev)
296{ 567{
297 struct sd *sd = (struct sd *) gspca_dev; 568 struct sd *sd = (struct sd *) gspca_dev;
569 int i, v;
570 static const int a[9] =
571 {217, -212, 0, -101, 170, -67, -38, -315, 355};
572 static const int b[9] =
573 {19, 106, 0, 19, 106, 1, 19, 106, 1};
298 574
299 reg_w(gspca_dev, 0xff, 0x01); 575 reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
300 reg_w(gspca_dev, 0x80, sd->contrast);
301 /* load registers to sensor (Bit 0, auto clear) */
302 reg_w(gspca_dev, 0x11, 0x01); 576 reg_w(gspca_dev, 0x11, 0x01);
303 PDEBUG(D_CONF|D_STREAM, "contrast: %i", sd->contrast); 577 reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
578 reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
579 for (i = 0; i < 9; i++) {
580 v = a[i] * sd->colors / COLOR_MAX + b[i];
581 reg_w(gspca_dev, 0x0f + 2 * i, (v >> 8) & 0x07);
582 reg_w(gspca_dev, 0x0f + 2 * i + 1, v);
583 }
584 reg_w(gspca_dev, 0xdc, 0x01);
585 PDEBUG(D_CONF|D_STREAM, "color: %i", sd->colors);
304} 586}
305 587
306static void setcolors(struct gspca_dev *gspca_dev) 588static void setgain(struct gspca_dev *gspca_dev)
307{ 589{
308 struct sd *sd = (struct sd *) gspca_dev; 590 struct sd *sd = (struct sd *) gspca_dev;
309 591
310 reg_w(gspca_dev, 0xff, 0x01); 592 if (sd->sensor == SENSOR_PAC7302) {
311 reg_w(gspca_dev, 0x10, sd->colors); 593 reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
594 reg_w(gspca_dev, 0x10, sd->gain >> 3);
595 } else {
596 int gain = GAIN_MAX - sd->gain;
597 if (gain < 1)
598 gain = 1;
599 else if (gain > 245)
600 gain = 245;
601 reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
602 reg_w(gspca_dev, 0x0e, 0x00);
603 reg_w(gspca_dev, 0x0f, gain);
604 }
312 /* load registers to sensor (Bit 0, auto clear) */ 605 /* load registers to sensor (Bit 0, auto clear) */
313 reg_w(gspca_dev, 0x11, 0x01); 606 reg_w(gspca_dev, 0x11, 0x01);
314 PDEBUG(D_CONF|D_STREAM, "color: %i", sd->colors);
315} 607}
316 608
317static void setautogain(struct gspca_dev *gspca_dev) 609static void setexposure(struct gspca_dev *gspca_dev)
318{ 610{
319 struct sd *sd = (struct sd *) gspca_dev; 611 struct sd *sd = (struct sd *) gspca_dev;
612 __u8 reg;
613
614 /* register 2 of frame 3/4 contains the clock divider configuring the
615 no fps according to the formula: 60 / reg. sd->exposure is the
616 desired exposure time in ms. */
617 reg = 120 * sd->exposure / 1000;
618 if (reg < 2)
619 reg = 2;
620 else if (reg > 63)
621 reg = 63;
622
623 if (sd->sensor == SENSOR_PAC7302) {
624 /* On the pac7302 reg2 MUST be a multiple of 3, so round it to
625 the nearest multiple of 3, except when between 6 and 12? */
626 if (reg < 6 || reg > 12)
627 reg = ((reg + 1) / 3) * 3;
628 reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
629 reg_w(gspca_dev, 0x02, reg);
630 } else {
631 reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
632 reg_w(gspca_dev, 0x02, reg);
633 /* Page 1 register 8 must always be 0x08 except when not in
634 640x480 mode and Page3/4 reg 2 <= 3 then it must be 9 */
635 reg_w(gspca_dev, 0xff, 0x01);
636 if (gspca_dev->cam.cam_mode[(int)gspca_dev->curr_mode].priv &&
637 reg <= 3)
638 reg_w(gspca_dev, 0x08, 0x09);
639 else
640 reg_w(gspca_dev, 0x08, 0x08);
641 }
642 /* load registers to sensor (Bit 0, auto clear) */
643 reg_w(gspca_dev, 0x11, 0x01);
644}
320 645
321 if (sd->autogain) { 646static void sethvflip(struct gspca_dev *gspca_dev)
322 sd->lum_sum = 0; 647{
323 sd->ag_cnt = AG_CNT_START; 648 struct sd *sd = (struct sd *) gspca_dev;
649 __u8 data;
650
651 if (sd->sensor == SENSOR_PAC7302) {
652 reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
653 data = (sd->hflip ? 0x08 : 0x00)
654 | (sd->vflip ? 0x04 : 0x00);
324 } else { 655 } else {
325 sd->ag_cnt = -1; 656 reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
657 data = (sd->hflip ? 0x04 : 0x00)
658 | (sd->vflip ? 0x08 : 0x00);
326 } 659 }
660 reg_w(gspca_dev, 0x21, data);
661 /* load registers to sensor (Bit 0, auto clear) */
662 reg_w(gspca_dev, 0x11, 0x01);
327} 663}
328 664
329/* this function is called at open time */ 665/* this function is called at probe and resume time */
330static int sd_open(struct gspca_dev *gspca_dev) 666static int sd_init(struct gspca_dev *gspca_dev)
331{ 667{
332 reg_w(gspca_dev, 0x78, 0x00); /* Turn on LED */ 668 struct sd *sd = (struct sd *) gspca_dev;
669
670 if (sd->sensor == SENSOR_PAC7302)
671 reg_w_seq(gspca_dev, init_7302, sizeof init_7302);
672 else
673 reg_w_seq(gspca_dev, init_7311, sizeof init_7311);
674
333 return 0; 675 return 0;
334} 676}
335 677
336static void sd_start(struct gspca_dev *gspca_dev) 678static void sd_start(struct gspca_dev *gspca_dev)
337{ 679{
338 reg_w(gspca_dev, 0xff, 0x01); 680 struct sd *sd = (struct sd *) gspca_dev;
339 reg_w_buf(gspca_dev, 0x0002, "\x48\x0a\x40\x08\x00\x00\x08\x00", 8);
340 reg_w_buf(gspca_dev, 0x000a, "\x06\xff\x11\xff\x5a\x30\x90\x4c", 8);
341 reg_w_buf(gspca_dev, 0x0012, "\x00\x07\x00\x0a\x10\x00\xa0\x10", 8);
342 reg_w_buf(gspca_dev, 0x001a, "\x02\x00\x00\x00\x00\x0b\x01\x00", 8);
343 reg_w_buf(gspca_dev, 0x0022, "\x00\x00\x00\x00\x00\x00\x00\x00", 8);
344 reg_w_buf(gspca_dev, 0x002a, "\x00\x00\x00", 3);
345 reg_w_buf(gspca_dev, 0x003e, "\x00\x00\x78\x52\x4a\x52\x78\x6e", 8);
346 reg_w_buf(gspca_dev, 0x0046, "\x48\x46\x48\x6e\x5f\x49\x42\x49", 8);
347 reg_w_buf(gspca_dev, 0x004e, "\x5f\x5f\x49\x42\x49\x5f\x6e\x48", 8);
348 reg_w_buf(gspca_dev, 0x0056, "\x46\x48\x6e\x78\x52\x4a\x52\x78", 8);
349 reg_w_buf(gspca_dev, 0x005e, "\x00\x00\x09\x1b\x34\x49\x5c\x9b", 8);
350 reg_w_buf(gspca_dev, 0x0066, "\xd0\xff", 2);
351 reg_w_buf(gspca_dev, 0x0078, "\x44\x00\xf2\x01\x01\x80", 6);
352 reg_w_buf(gspca_dev, 0x007f, "\x2a\x1c\x00\xc8\x02\x58\x03\x84", 8);
353 reg_w_buf(gspca_dev, 0x0087, "\x12\x00\x1a\x04\x08\x0c\x10\x14", 8);
354 reg_w_buf(gspca_dev, 0x008f, "\x18\x20", 2);
355 reg_w_buf(gspca_dev, 0x0096, "\x01\x08\x04", 3);
356 reg_w_buf(gspca_dev, 0x00a0, "\x44\x44\x44\x04", 4);
357 reg_w_buf(gspca_dev, 0x00f0, "\x01\x00\x00\x00\x22\x00\x20\x00", 8);
358 reg_w_buf(gspca_dev, 0x00f8, "\x3f\x00\x0a\x01\x00", 5);
359 681
360 reg_w(gspca_dev, 0xff, 0x04); 682 sd->sof_read = 0;
361 reg_w(gspca_dev, 0x02, 0x04); 683
362 reg_w(gspca_dev, 0x03, 0x54); 684 if (sd->sensor == SENSOR_PAC7302) {
363 reg_w(gspca_dev, 0x04, 0x07); 685 reg_w_var(gspca_dev, start_7302);
364 reg_w(gspca_dev, 0x05, 0x2b); 686 setbrightcont(gspca_dev);
365 reg_w(gspca_dev, 0x06, 0x09); 687 setcolors(gspca_dev);
366 reg_w(gspca_dev, 0x07, 0x0f); 688 } else {
367 reg_w(gspca_dev, 0x08, 0x09); 689 reg_w_var(gspca_dev, start_7311);
368 reg_w(gspca_dev, 0x09, 0x00); 690 setcontrast(gspca_dev);
369 reg_w(gspca_dev, 0x0c, 0x07); 691 }
370 reg_w(gspca_dev, 0x0d, 0x00); 692 setgain(gspca_dev);
371 reg_w(gspca_dev, 0x0e, 0x00); 693 setexposure(gspca_dev);
372 reg_w(gspca_dev, 0x0f, 0x62); 694 sethvflip(gspca_dev);
373 reg_w(gspca_dev, 0x10, 0x08);
374 reg_w(gspca_dev, 0x12, 0x07);
375 reg_w(gspca_dev, 0x13, 0x00);
376 reg_w(gspca_dev, 0x14, 0x00);
377 reg_w(gspca_dev, 0x15, 0x00);
378 reg_w(gspca_dev, 0x16, 0x00);
379 reg_w(gspca_dev, 0x17, 0x00);
380 reg_w(gspca_dev, 0x18, 0x00);
381 reg_w(gspca_dev, 0x19, 0x00);
382 reg_w(gspca_dev, 0x1a, 0x00);
383 reg_w(gspca_dev, 0x1b, 0x03);
384 reg_w(gspca_dev, 0x1c, 0xa0);
385 reg_w(gspca_dev, 0x1d, 0x01);
386 reg_w(gspca_dev, 0x1e, 0xf4);
387 reg_w(gspca_dev, 0x21, 0x00);
388 reg_w(gspca_dev, 0x22, 0x08);
389 reg_w(gspca_dev, 0x24, 0x03);
390 reg_w(gspca_dev, 0x26, 0x00);
391 reg_w(gspca_dev, 0x27, 0x01);
392 reg_w(gspca_dev, 0x28, 0xca);
393 reg_w(gspca_dev, 0x29, 0x10);
394 reg_w(gspca_dev, 0x2a, 0x06);
395 reg_w(gspca_dev, 0x2b, 0x78);
396 reg_w(gspca_dev, 0x2c, 0x00);
397 reg_w(gspca_dev, 0x2d, 0x00);
398 reg_w(gspca_dev, 0x2e, 0x00);
399 reg_w(gspca_dev, 0x2f, 0x00);
400 reg_w(gspca_dev, 0x30, 0x23);
401 reg_w(gspca_dev, 0x31, 0x28);
402 reg_w(gspca_dev, 0x32, 0x04);
403 reg_w(gspca_dev, 0x33, 0x11);
404 reg_w(gspca_dev, 0x34, 0x00);
405 reg_w(gspca_dev, 0x35, 0x00);
406 reg_w(gspca_dev, 0x11, 0x01);
407 setcontrast(gspca_dev);
408 setbrightness(gspca_dev);
409 setcolors(gspca_dev);
410 setautogain(gspca_dev);
411 695
412 /* set correct resolution */ 696 /* set correct resolution */
413 switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) { 697 switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
414 case 2: /* 160x120 */ 698 case 2: /* 160x120 pac7311 */
415 reg_w(gspca_dev, 0xff, 0x04);
416 reg_w(gspca_dev, 0x02, 0x03);
417 reg_w(gspca_dev, 0xff, 0x01); 699 reg_w(gspca_dev, 0xff, 0x01);
418 reg_w(gspca_dev, 0x08, 0x09);
419 reg_w(gspca_dev, 0x17, 0x20); 700 reg_w(gspca_dev, 0x17, 0x20);
420 reg_w(gspca_dev, 0x1b, 0x00);
421/* reg_w(gspca_dev, 0x80, 0x69); */
422 reg_w(gspca_dev, 0x87, 0x10); 701 reg_w(gspca_dev, 0x87, 0x10);
423 break; 702 break;
424 case 1: /* 320x240 */ 703 case 1: /* 320x240 pac7311 */
425 reg_w(gspca_dev, 0xff, 0x04);
426 reg_w(gspca_dev, 0x02, 0x03);
427 reg_w(gspca_dev, 0xff, 0x01); 704 reg_w(gspca_dev, 0xff, 0x01);
428 reg_w(gspca_dev, 0x08, 0x09);
429 reg_w(gspca_dev, 0x17, 0x30); 705 reg_w(gspca_dev, 0x17, 0x30);
430/* reg_w(gspca_dev, 0x80, 0x3f); */
431 reg_w(gspca_dev, 0x87, 0x11); 706 reg_w(gspca_dev, 0x87, 0x11);
432 break; 707 break;
433 case 0: /* 640x480 */ 708 case 0: /* 640x480 */
434 reg_w(gspca_dev, 0xff, 0x04); 709 if (sd->sensor == SENSOR_PAC7302)
435 reg_w(gspca_dev, 0x02, 0x03); 710 break;
436 reg_w(gspca_dev, 0xff, 0x01); 711 reg_w(gspca_dev, 0xff, 0x01);
437 reg_w(gspca_dev, 0x08, 0x08);
438 reg_w(gspca_dev, 0x17, 0x00); 712 reg_w(gspca_dev, 0x17, 0x00);
439/* reg_w(gspca_dev, 0x80, 0x1c); */
440 reg_w(gspca_dev, 0x87, 0x12); 713 reg_w(gspca_dev, 0x87, 0x12);
441 break; 714 break;
442 } 715 }
443 716
717 sd->sof_read = 0;
718 sd->autogain_ignore_frames = 0;
719 atomic_set(&sd->avg_lum, -1);
720
444 /* start stream */ 721 /* start stream */
445 reg_w(gspca_dev, 0xff, 0x01); 722 reg_w(gspca_dev, 0xff, 0x01);
446 reg_w(gspca_dev, 0x78, 0x04); 723 if (sd->sensor == SENSOR_PAC7302)
447 reg_w(gspca_dev, 0x78, 0x05); 724 reg_w(gspca_dev, 0x78, 0x01);
725 else
726 reg_w(gspca_dev, 0x78, 0x05);
448} 727}
449 728
450static void sd_stopN(struct gspca_dev *gspca_dev) 729static void sd_stopN(struct gspca_dev *gspca_dev)
451{ 730{
731 struct sd *sd = (struct sd *) gspca_dev;
732
733 if (sd->sensor == SENSOR_PAC7302) {
734 reg_w(gspca_dev, 0xff, 0x01);
735 reg_w(gspca_dev, 0x78, 0x00);
736 reg_w(gspca_dev, 0x78, 0x00);
737 return;
738 }
452 reg_w(gspca_dev, 0xff, 0x04); 739 reg_w(gspca_dev, 0xff, 0x04);
453 reg_w(gspca_dev, 0x27, 0x80); 740 reg_w(gspca_dev, 0x27, 0x80);
454 reg_w(gspca_dev, 0x28, 0xca); 741 reg_w(gspca_dev, 0x28, 0xca);
@@ -456,187 +743,147 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
456 reg_w(gspca_dev, 0x2a, 0x0e); 743 reg_w(gspca_dev, 0x2a, 0x0e);
457 reg_w(gspca_dev, 0xff, 0x01); 744 reg_w(gspca_dev, 0xff, 0x01);
458 reg_w(gspca_dev, 0x3e, 0x20); 745 reg_w(gspca_dev, 0x3e, 0x20);
459 reg_w(gspca_dev, 0x78, 0x04); /* Bit_0=start stream, Bit_7=LED */ 746 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
460 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_7=LED */ 747 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
461 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_7=LED */ 748 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
462} 749}
463 750
464static void sd_stop0(struct gspca_dev *gspca_dev) 751static void sd_stop0(struct gspca_dev *gspca_dev)
465{ 752{
466} 753 struct sd *sd = (struct sd *) gspca_dev;
467 754
468/* this function is called at close time */ 755 if (sd->sensor == SENSOR_PAC7302) {
469static void sd_close(struct gspca_dev *gspca_dev) 756 reg_w(gspca_dev, 0xff, 0x01);
470{ 757 reg_w(gspca_dev, 0x78, 0x40);
471 reg_w(gspca_dev, 0xff, 0x04); 758 }
472 reg_w(gspca_dev, 0x27, 0x80);
473 reg_w(gspca_dev, 0x28, 0xca);
474 reg_w(gspca_dev, 0x29, 0x53);
475 reg_w(gspca_dev, 0x2a, 0x0e);
476 reg_w(gspca_dev, 0xff, 0x01);
477 reg_w(gspca_dev, 0x3e, 0x20);
478 reg_w(gspca_dev, 0x78, 0x04); /* Bit_0=start stream, Bit_7=LED */
479 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_7=LED */
480 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_7=LED */
481} 759}
482 760
761/* Include pac common sof detection functions */
762#include "pac_common.h"
763
483static void do_autogain(struct gspca_dev *gspca_dev) 764static void do_autogain(struct gspca_dev *gspca_dev)
484{ 765{
485 struct sd *sd = (struct sd *) gspca_dev; 766 struct sd *sd = (struct sd *) gspca_dev;
486 int luma; 767 int avg_lum = atomic_read(&sd->avg_lum);
487 int luma_mean = 128; 768 int desired_lum, deadzone;
488 int luma_delta = 20;
489 __u8 spring = 5;
490 int Gbright;
491 769
492 if (!atomic_read(&sd->do_gain)) 770 if (avg_lum == -1)
493 return; 771 return;
494 atomic_set(&sd->do_gain, 0); 772
495 773 if (sd->sensor == SENSOR_PAC7302) {
496 luma = atomic_read(&sd->avg_lum); 774 desired_lum = 270 + sd->brightness * 4;
497 Gbright = reg_r(gspca_dev, 0x02); 775 /* Hack hack, with the 7202 the first exposure step is
498 PDEBUG(D_FRAM, "luma mean %d", luma); 776 pretty large, so if we're about to make the first
499 if (luma < luma_mean - luma_delta || 777 exposure increase make the deadzone large to avoid
500 luma > luma_mean + luma_delta) { 778 oscilating */
501 Gbright += (luma_mean - luma) >> spring; 779 if (desired_lum > avg_lum && sd->gain == GAIN_DEF &&
502 if (Gbright > 0x1a) 780 sd->exposure > EXPOSURE_DEF &&
503 Gbright = 0x1a; 781 sd->exposure < 42)
504 else if (Gbright < 4) 782 deadzone = 90;
505 Gbright = 4; 783 else
506 PDEBUG(D_FRAM, "gbright %d", Gbright); 784 deadzone = 30;
507 reg_w(gspca_dev, 0xff, 0x04); 785 } else {
508 reg_w(gspca_dev, 0x0f, Gbright); 786 desired_lum = 200;
509 /* load registers to sensor (Bit 0, auto clear) */ 787 deadzone = 20;
510 reg_w(gspca_dev, 0x11, 0x01);
511 } 788 }
789
790 if (sd->autogain_ignore_frames > 0)
791 sd->autogain_ignore_frames--;
792 else if (gspca_auto_gain_n_exposure(gspca_dev, avg_lum, desired_lum,
793 deadzone, GAIN_KNEE, EXPOSURE_KNEE))
794 sd->autogain_ignore_frames = PAC_AUTOGAIN_IGNORE_FRAMES;
512} 795}
513 796
797static const unsigned char pac7311_jpeg_header1[] = {
798 0xff, 0xd8, 0xff, 0xc0, 0x00, 0x11, 0x08
799};
800
801static const unsigned char pac7311_jpeg_header2[] = {
802 0x03, 0x01, 0x21, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 0x01, 0xff, 0xda,
803 0x00, 0x0c, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00
804};
805
806/* this function is run at interrupt level */
514static void sd_pkt_scan(struct gspca_dev *gspca_dev, 807static void sd_pkt_scan(struct gspca_dev *gspca_dev,
515 struct gspca_frame *frame, /* target */ 808 struct gspca_frame *frame, /* target */
516 __u8 *data, /* isoc packet */ 809 __u8 *data, /* isoc packet */
517 int len) /* iso packet length */ 810 int len) /* iso packet length */
518{ 811{
519 struct sd *sd = (struct sd *) gspca_dev; 812 struct sd *sd = (struct sd *) gspca_dev;
520 unsigned char tmpbuf[4]; 813 unsigned char *sof;
521 int i, p, ffseq; 814
522 815 sof = pac_find_sof(gspca_dev, data, len);
523/* if (len < 5) { */ 816 if (sof) {
524 if (len < 6) { 817 unsigned char tmpbuf[4];
525/* gspca_dev->last_packet_type = DISCARD_PACKET; */ 818 int n, lum_offset, footer_length;
526 return; 819
527 } 820 if (sd->sensor == SENSOR_PAC7302) {
528 821 /* 6 bytes after the FF D9 EOF marker a number of lumination
529 ffseq = sd->ffseq; 822 bytes are send corresponding to different parts of the
530 823 image, the 14th and 15th byte after the EOF seem to
531 for (p = 0; p < len - 6; p++) { 824 correspond to the center of the image */
532 if ((data[0 + p] == 0xff) 825 lum_offset = 61 + sizeof pac_sof_marker;
533 && (data[1 + p] == 0xff) 826 footer_length = 74;
534 && (data[2 + p] == 0x00) 827 } else {
535 && (data[3 + p] == 0xff) 828 lum_offset = 24 + sizeof pac_sof_marker;
536 && (data[4 + p] == 0x96)) { 829 footer_length = 26;
537 830 }
538 /* start of frame */
539 if (sd->ag_cnt >= 0 && p > 28) {
540 sd->lum_sum += data[p - 23];
541 if (--sd->ag_cnt < 0) {
542 sd->ag_cnt = AG_CNT_START;
543 atomic_set(&sd->avg_lum,
544 sd->lum_sum / AG_CNT_START);
545 sd->lum_sum = 0;
546 atomic_set(&sd->do_gain, 1);
547 }
548 }
549 831
550 /* copy the end of data to the current frame */ 832 /* Finish decoding current frame */
833 n = (sof - data) - (footer_length + sizeof pac_sof_marker);
834 if (n < 0) {
835 frame->data_end += n;
836 n = 0;
837 }
838 frame = gspca_frame_add(gspca_dev, INTER_PACKET, frame,
839 data, n);
840 if (gspca_dev->last_packet_type != DISCARD_PACKET &&
841 frame->data_end[-2] == 0xff &&
842 frame->data_end[-1] == 0xd9)
551 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame, 843 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame,
552 data, p); 844 NULL, 0);
553 845
554 /* put the JPEG header in the new frame */ 846 n = sof - data;
555 gspca_frame_add(gspca_dev, FIRST_PACKET, frame, 847 len -= n;
556 (unsigned char *) pac7311_jpeg_header, 848 data = sof;
557 12); 849
850 /* Get average lumination */
851 if (gspca_dev->last_packet_type == LAST_PACKET &&
852 n >= lum_offset)
853 atomic_set(&sd->avg_lum, data[-lum_offset] +
854 data[-lum_offset + 1]);
855 else
856 atomic_set(&sd->avg_lum, -1);
857
858 /* Start the new frame with the jpeg header */
859 gspca_frame_add(gspca_dev, FIRST_PACKET, frame,
860 pac7311_jpeg_header1, sizeof(pac7311_jpeg_header1));
861 if (sd->sensor == SENSOR_PAC7302) {
862 /* The PAC7302 has the image rotated 90 degrees */
863 tmpbuf[0] = gspca_dev->width >> 8;
864 tmpbuf[1] = gspca_dev->width & 0xff;
865 tmpbuf[2] = gspca_dev->height >> 8;
866 tmpbuf[3] = gspca_dev->height & 0xff;
867 } else {
558 tmpbuf[0] = gspca_dev->height >> 8; 868 tmpbuf[0] = gspca_dev->height >> 8;
559 tmpbuf[1] = gspca_dev->height & 0xff; 869 tmpbuf[1] = gspca_dev->height & 0xff;
560 tmpbuf[2] = gspca_dev->width >> 8; 870 tmpbuf[2] = gspca_dev->width >> 8;
561 tmpbuf[3] = gspca_dev->width & 0xff; 871 tmpbuf[3] = gspca_dev->width & 0xff;
562 gspca_frame_add(gspca_dev, INTER_PACKET, frame,
563 tmpbuf, 4);
564 gspca_frame_add(gspca_dev, INTER_PACKET, frame,
565 (unsigned char *) &pac7311_jpeg_header[16],
566 PAC7311_JPEG_HEADER_SIZE - 16);
567
568 data += p + 7;
569 len -= p + 7;
570 ffseq = 0;
571 break;
572 } 872 }
873 gspca_frame_add(gspca_dev, INTER_PACKET, frame, tmpbuf, 4);
874 gspca_frame_add(gspca_dev, INTER_PACKET, frame,
875 pac7311_jpeg_header2, sizeof(pac7311_jpeg_header2));
573 } 876 }
574
575 /* remove the 'ff ff ff xx' sequences */
576 switch (ffseq) {
577 case 3:
578 data += 1;
579 len -= 1;
580 break;
581 case 2:
582 if (data[0] == 0xff) {
583 data += 2;
584 len -= 2;
585 frame->data_end -= 2;
586 }
587 break;
588 case 1:
589 if (data[0] == 0xff
590 && data[1] == 0xff) {
591 data += 3;
592 len -= 3;
593 frame->data_end -= 1;
594 }
595 break;
596 }
597 for (i = 0; i < len - 4; i++) {
598 if (data[i] == 0xff
599 && data[i + 1] == 0xff
600 && data[i + 2] == 0xff) {
601 memmove(&data[i], &data[i + 4], len - i - 4);
602 len -= 4;
603 }
604 }
605 ffseq = 0;
606 if (data[len - 4] == 0xff) {
607 if (data[len - 3] == 0xff
608 && data[len - 2] == 0xff) {
609 len -= 4;
610 }
611 } else if (data[len - 3] == 0xff) {
612 if (data[len - 2] == 0xff
613 && data[len - 1] == 0xff)
614 ffseq = 3;
615 } else if (data[len - 2] == 0xff) {
616 if (data[len - 1] == 0xff)
617 ffseq = 2;
618 } else if (data[len - 1] == 0xff)
619 ffseq = 1;
620 sd->ffseq = ffseq;
621 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len); 877 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
622} 878}
623 879
624static void getbrightness(struct gspca_dev *gspca_dev)
625{
626/* sd->brightness = reg_r(gspca_dev, 0x08);
627 return sd->brightness; */
628/* PDEBUG(D_CONF, "Called pac7311_getbrightness: Not implemented yet"); */
629}
630
631
632
633static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val) 880static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val)
634{ 881{
635 struct sd *sd = (struct sd *) gspca_dev; 882 struct sd *sd = (struct sd *) gspca_dev;
636 883
637 sd->brightness = val; 884 sd->brightness = val;
638 if (gspca_dev->streaming) 885 if (gspca_dev->streaming)
639 setbrightness(gspca_dev); 886 setbrightcont(gspca_dev);
640 return 0; 887 return 0;
641} 888}
642 889
@@ -644,7 +891,6 @@ static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val)
644{ 891{
645 struct sd *sd = (struct sd *) gspca_dev; 892 struct sd *sd = (struct sd *) gspca_dev;
646 893
647 getbrightness(gspca_dev);
648 *val = sd->brightness; 894 *val = sd->brightness;
649 return 0; 895 return 0;
650} 896}
@@ -654,8 +900,12 @@ static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
654 struct sd *sd = (struct sd *) gspca_dev; 900 struct sd *sd = (struct sd *) gspca_dev;
655 901
656 sd->contrast = val; 902 sd->contrast = val;
657 if (gspca_dev->streaming) 903 if (gspca_dev->streaming) {
658 setcontrast(gspca_dev); 904 if (sd->sensor == SENSOR_PAC7302)
905 setbrightcont(gspca_dev);
906 else
907 setcontrast(gspca_dev);
908 }
659 return 0; 909 return 0;
660} 910}
661 911
@@ -663,7 +913,6 @@ static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val)
663{ 913{
664 struct sd *sd = (struct sd *) gspca_dev; 914 struct sd *sd = (struct sd *) gspca_dev;
665 915
666/* getcontrast(gspca_dev); */
667 *val = sd->contrast; 916 *val = sd->contrast;
668 return 0; 917 return 0;
669} 918}
@@ -682,18 +931,66 @@ static int sd_getcolors(struct gspca_dev *gspca_dev, __s32 *val)
682{ 931{
683 struct sd *sd = (struct sd *) gspca_dev; 932 struct sd *sd = (struct sd *) gspca_dev;
684 933
685/* getcolors(gspca_dev); */
686 *val = sd->colors; 934 *val = sd->colors;
687 return 0; 935 return 0;
688} 936}
689 937
938static int sd_setgain(struct gspca_dev *gspca_dev, __s32 val)
939{
940 struct sd *sd = (struct sd *) gspca_dev;
941
942 sd->gain = val;
943 if (gspca_dev->streaming)
944 setgain(gspca_dev);
945 return 0;
946}
947
948static int sd_getgain(struct gspca_dev *gspca_dev, __s32 *val)
949{
950 struct sd *sd = (struct sd *) gspca_dev;
951
952 *val = sd->gain;
953 return 0;
954}
955
956static int sd_setexposure(struct gspca_dev *gspca_dev, __s32 val)
957{
958 struct sd *sd = (struct sd *) gspca_dev;
959
960 sd->exposure = val;
961 if (gspca_dev->streaming)
962 setexposure(gspca_dev);
963 return 0;
964}
965
966static int sd_getexposure(struct gspca_dev *gspca_dev, __s32 *val)
967{
968 struct sd *sd = (struct sd *) gspca_dev;
969
970 *val = sd->exposure;
971 return 0;
972}
973
690static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val) 974static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val)
691{ 975{
692 struct sd *sd = (struct sd *) gspca_dev; 976 struct sd *sd = (struct sd *) gspca_dev;
693 977
694 sd->autogain = val; 978 sd->autogain = val;
695 if (gspca_dev->streaming) 979 /* when switching to autogain set defaults to make sure
696 setautogain(gspca_dev); 980 we are on a valid point of the autogain gain /
981 exposure knee graph, and give this change time to
982 take effect before doing autogain. */
983 if (sd->autogain) {
984 sd->exposure = EXPOSURE_DEF;
985 sd->gain = GAIN_DEF;
986 if (gspca_dev->streaming) {
987 sd->autogain_ignore_frames =
988 PAC_AUTOGAIN_IGNORE_FRAMES;
989 setexposure(gspca_dev);
990 setgain(gspca_dev);
991 }
992 }
993
697 return 0; 994 return 0;
698} 995}
699 996
@@ -705,30 +1002,67 @@ static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val)
705 return 0; 1002 return 0;
706} 1003}
707 1004
1005static int sd_sethflip(struct gspca_dev *gspca_dev, __s32 val)
1006{
1007 struct sd *sd = (struct sd *) gspca_dev;
1008
1009 sd->hflip = val;
1010 if (gspca_dev->streaming)
1011 sethvflip(gspca_dev);
1012 return 0;
1013}
1014
1015static int sd_gethflip(struct gspca_dev *gspca_dev, __s32 *val)
1016{
1017 struct sd *sd = (struct sd *) gspca_dev;
1018
1019 *val = sd->hflip;
1020 return 0;
1021}
1022
1023static int sd_setvflip(struct gspca_dev *gspca_dev, __s32 val)
1024{
1025 struct sd *sd = (struct sd *) gspca_dev;
1026
1027 sd->vflip = val;
1028 if (gspca_dev->streaming)
1029 sethvflip(gspca_dev);
1030 return 0;
1031}
1032
1033static int sd_getvflip(struct gspca_dev *gspca_dev, __s32 *val)
1034{
1035 struct sd *sd = (struct sd *) gspca_dev;
1036
1037 *val = sd->vflip;
1038 return 0;
1039}
1040
708/* sub-driver description */ 1041/* sub-driver description */
709static struct sd_desc sd_desc = { 1042static struct sd_desc sd_desc = {
710 .name = MODULE_NAME, 1043 .name = MODULE_NAME,
711 .ctrls = sd_ctrls, 1044 .ctrls = sd_ctrls,
712 .nctrls = ARRAY_SIZE(sd_ctrls), 1045 .nctrls = ARRAY_SIZE(sd_ctrls),
713 .config = sd_config, 1046 .config = sd_config,
714 .open = sd_open, 1047 .init = sd_init,
715 .start = sd_start, 1048 .start = sd_start,
716 .stopN = sd_stopN, 1049 .stopN = sd_stopN,
717 .stop0 = sd_stop0, 1050 .stop0 = sd_stop0,
718 .close = sd_close,
719 .pkt_scan = sd_pkt_scan, 1051 .pkt_scan = sd_pkt_scan,
720 .dq_callback = do_autogain, 1052 .dq_callback = do_autogain,
721}; 1053};
722 1054
723/* -- module initialisation -- */ 1055/* -- module initialisation -- */
724static __devinitdata struct usb_device_id device_table[] = { 1056static __devinitdata struct usb_device_id device_table[] = {
725 {USB_DEVICE(0x093a, 0x2600)}, 1057 {USB_DEVICE(0x093a, 0x2600), .driver_info = SENSOR_PAC7311},
726 {USB_DEVICE(0x093a, 0x2601)}, 1058 {USB_DEVICE(0x093a, 0x2601), .driver_info = SENSOR_PAC7311},
727 {USB_DEVICE(0x093a, 0x2603)}, 1059 {USB_DEVICE(0x093a, 0x2603), .driver_info = SENSOR_PAC7311},
728 {USB_DEVICE(0x093a, 0x2608)}, 1060 {USB_DEVICE(0x093a, 0x2608), .driver_info = SENSOR_PAC7311},
729 {USB_DEVICE(0x093a, 0x260e)}, 1061 {USB_DEVICE(0x093a, 0x260e), .driver_info = SENSOR_PAC7311},
730 {USB_DEVICE(0x093a, 0x260f)}, 1062 {USB_DEVICE(0x093a, 0x260f), .driver_info = SENSOR_PAC7311},
731 {USB_DEVICE(0x093a, 0x2621)}, 1063 {USB_DEVICE(0x093a, 0x2621), .driver_info = SENSOR_PAC7302},
1064 {USB_DEVICE(0x093a, 0x2624), .driver_info = SENSOR_PAC7302},
1065 {USB_DEVICE(0x093a, 0x2626), .driver_info = SENSOR_PAC7302},
732 {} 1066 {}
733}; 1067};
734MODULE_DEVICE_TABLE(usb, device_table); 1068MODULE_DEVICE_TABLE(usb, device_table);
@@ -746,6 +1080,10 @@ static struct usb_driver sd_driver = {
746 .id_table = device_table, 1080 .id_table = device_table,
747 .probe = sd_probe, 1081 .probe = sd_probe,
748 .disconnect = gspca_disconnect, 1082 .disconnect = gspca_disconnect,
1083#ifdef CONFIG_PM
1084 .suspend = gspca_suspend,
1085 .resume = gspca_resume,
1086#endif
749}; 1087};
750 1088
751/* -- module insert / remove -- */ 1089/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/pac_common.h b/drivers/media/video/gspca/pac_common.h
new file mode 100644
index 000000000000..34d4b1494cd5
--- /dev/null
+++ b/drivers/media/video/gspca/pac_common.h
@@ -0,0 +1,60 @@
1/*
2 * Pixart PAC207BCA / PAC73xx common functions
3 *
4 * Copyright (C) 2008 Hans de Goede <j.w.r.degoede@hhs.nl>
5 * Copyright (C) 2005 Thomas Kaiser thomas@kaiser-linux.li
6 * Copyleft (C) 2005 Michel Xhaard mxhaard@magic.fr
7 *
8 * V4L2 by Jean-Francois Moine <http://moinejf.free.fr>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 *
24 */
25
26/* We calculate the autogain at the end of the transfer of a frame, at this
27 moment a frame with the old settings is being transmitted, and a frame is
28 being captured with the old settings. So if we adjust the autogain we must
29 ignore atleast the 2 next frames for the new settings to come into effect
30 before doing any other adjustments */
31#define PAC_AUTOGAIN_IGNORE_FRAMES 3
32
33static const unsigned char pac_sof_marker[5] =
34 { 0xff, 0xff, 0x00, 0xff, 0x96 };
35
36static unsigned char *pac_find_sof(struct gspca_dev *gspca_dev,
37 unsigned char *m, int len)
38{
39 struct sd *sd = (struct sd *) gspca_dev;
40 int i;
41
42 /* Search for the SOF marker (fixed part) in the header */
43 for (i = 0; i < len; i++) {
44 if (m[i] == pac_sof_marker[sd->sof_read]) {
45 sd->sof_read++;
46 if (sd->sof_read == sizeof(pac_sof_marker)) {
47 PDEBUG(D_FRAM,
48 "SOF found, bytes to analyze: %u."
49 " Frame starts at byte #%u",
50 len, i + 1);
51 sd->sof_read = 0;
52 return m + i + 1;
53 }
54 } else {
55 sd->sof_read = 0;
56 }
57 }
58
59 return NULL;
60}
diff --git a/drivers/media/video/gspca/sonixb.c b/drivers/media/video/gspca/sonixb.c
index 11210c71f66c..5dd78c6766ea 100644
--- a/drivers/media/video/gspca/sonixb.c
+++ b/drivers/media/video/gspca/sonixb.c
@@ -20,6 +20,26 @@
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */ 21 */
22 22
23/* Some documentation on known sonixb registers:
24
25Reg Use
260x10 high nibble red gain low nibble blue gain
270x11 low nibble green gain
280x12 hstart
290x13 vstart
300x15 hsize (hsize = register-value * 16)
310x16 vsize (vsize = register-value * 16)
320x17 bit 0 toggle compression quality (according to sn9c102 driver)
330x18 bit 7 enables compression, bit 4-5 set image down scaling:
34 00 scale 1, 01 scale 1/2, 10, scale 1/4
350x19 high-nibble is sensor clock divider, changes exposure on sensors which
36 use a clock generated by the bridge. Some sensors have their own clock.
370x1c auto_exposure area (for avg_lum) startx (startx = register-value * 32)
380x1d auto_exposure area (for avg_lum) starty (starty = register-value * 32)
390x1e auto_exposure area (for avg_lum) stopx (hsize = (0x1e - 0x1c) * 32)
400x1f auto_exposure area (for avg_lum) stopy (vsize = (0x1f - 0x1d) * 32)
41*/
42
23#define MODULE_NAME "sonixb" 43#define MODULE_NAME "sonixb"
24 44
25#include "gspca.h" 45#include "gspca.h"
@@ -31,10 +51,8 @@ MODULE_LICENSE("GPL");
31/* specific webcam descriptor */ 51/* specific webcam descriptor */
32struct sd { 52struct sd {
33 struct gspca_dev gspca_dev; /* !! must be the first item */ 53 struct gspca_dev gspca_dev; /* !! must be the first item */
34
35 struct sd_desc sd_desc; /* our nctrls differ dependend upon the
36 sensor, so we use a per cam copy */
37 atomic_t avg_lum; 54 atomic_t avg_lum;
55 int prev_avg_lum;
38 56
39 unsigned char gain; 57 unsigned char gain;
40 unsigned char exposure; 58 unsigned char exposure;
@@ -44,8 +62,12 @@ struct sd {
44 unsigned char frames_to_drop; 62 unsigned char frames_to_drop;
45 unsigned char freq; /* light freq filter setting */ 63 unsigned char freq; /* light freq filter setting */
46 64
47 unsigned char fr_h_sz; /* size of frame header */ 65 __u8 bridge; /* Type of bridge */
48 char sensor; /* Type of image sensor chip */ 66#define BRIDGE_101 0
67#define BRIDGE_102 0 /* We make no difference between 101 and 102 */
68#define BRIDGE_103 1
69
70 __u8 sensor; /* Type of image sensor chip */
49#define SENSOR_HV7131R 0 71#define SENSOR_HV7131R 0
50#define SENSOR_OV6650 1 72#define SENSOR_OV6650 1
51#define SENSOR_OV7630 2 73#define SENSOR_OV7630 2
@@ -53,16 +75,35 @@ struct sd {
53#define SENSOR_PAS202 4 75#define SENSOR_PAS202 4
54#define SENSOR_TAS5110 5 76#define SENSOR_TAS5110 5
55#define SENSOR_TAS5130CXX 6 77#define SENSOR_TAS5130CXX 6
56 char sensor_has_gain;
57 __u8 sensor_addr;
58 __u8 reg11; 78 __u8 reg11;
59}; 79};
60 80
61/* flags used in the device id table */ 81typedef const __u8 sensor_init_t[8];
82
83struct sensor_data {
84 const __u8 *bridge_init[2];
85 int bridge_init_size[2];
86 sensor_init_t *sensor_init;
87 int sensor_init_size;
88 sensor_init_t *sensor_bridge_init[2];
89 int sensor_bridge_init_size[2];
90 int flags;
91 unsigned ctrl_dis;
92 __u8 sensor_addr;
93};
94
95/* sensor_data flags */
62#define F_GAIN 0x01 /* has gain */ 96#define F_GAIN 0x01 /* has gain */
63#define F_AUTO 0x02 /* has autogain */ 97#define F_SIF 0x02 /* sif or vga */
64#define F_SIF 0x04 /* sif or vga */ 98
65#define F_H18 0x08 /* long (18 b) or short (12 b) frame header */ 99/* priv field of struct v4l2_pix_format flags (do not use low nibble!) */
100#define MODE_RAW 0x10 /* raw bayer mode */
101#define MODE_REDUCED_SIF 0x20 /* vga mode (320x240 / 160x120) on sif cam */
102
103/* ctrl_dis helper macros */
104#define NO_EXPO ((1 << EXPOSURE_IDX) | (1 << AUTOGAIN_IDX))
105#define NO_FREQ (1 << FREQ_IDX)
106#define NO_BRIGHTNESS (1 << BRIGHTNESS_IDX)
66 107
67#define COMP2 0x8f 108#define COMP2 0x8f
68#define COMP 0xc7 /* 0x87 //0x07 */ 109#define COMP 0xc7 /* 0x87 //0x07 */
@@ -73,6 +114,18 @@ struct sd {
73 114
74#define SYS_CLK 0x04 115#define SYS_CLK 0x04
75 116
117#define SENS(bridge_1, bridge_3, sensor, sensor_1, \
118 sensor_3, _flags, _ctrl_dis, _sensor_addr) \
119{ \
120 .bridge_init = { bridge_1, bridge_3 }, \
121 .bridge_init_size = { sizeof(bridge_1), sizeof(bridge_3) }, \
122 .sensor_init = sensor, \
123 .sensor_init_size = sizeof(sensor), \
124 .sensor_bridge_init = { sensor_1, sensor_3,}, \
125 .sensor_bridge_init_size = { sizeof(sensor_1), sizeof(sensor_3)}, \
126 .flags = _flags, .ctrl_dis = _ctrl_dis, .sensor_addr = _sensor_addr \
127}
128
76/* We calculate the autogain at the end of the transfer of a frame, at this 129/* We calculate the autogain at the end of the transfer of a frame, at this
77 moment a frame with the old settings is being transmitted, and a frame is 130 moment a frame with the old settings is being transmitted, and a frame is
78 being captured with the old settings. So if we adjust the autogain we must 131 being captured with the old settings. So if we adjust the autogain we must
@@ -95,6 +148,7 @@ static int sd_setfreq(struct gspca_dev *gspca_dev, __s32 val);
95static int sd_getfreq(struct gspca_dev *gspca_dev, __s32 *val); 148static int sd_getfreq(struct gspca_dev *gspca_dev, __s32 *val);
96 149
97static struct ctrl sd_ctrls[] = { 150static struct ctrl sd_ctrls[] = {
151#define BRIGHTNESS_IDX 0
98 { 152 {
99 { 153 {
100 .id = V4L2_CID_BRIGHTNESS, 154 .id = V4L2_CID_BRIGHTNESS,
@@ -109,6 +163,7 @@ static struct ctrl sd_ctrls[] = {
109 .set = sd_setbrightness, 163 .set = sd_setbrightness,
110 .get = sd_getbrightness, 164 .get = sd_getbrightness,
111 }, 165 },
166#define GAIN_IDX 1
112 { 167 {
113 { 168 {
114 .id = V4L2_CID_GAIN, 169 .id = V4L2_CID_GAIN,
@@ -124,6 +179,7 @@ static struct ctrl sd_ctrls[] = {
124 .set = sd_setgain, 179 .set = sd_setgain,
125 .get = sd_getgain, 180 .get = sd_getgain,
126 }, 181 },
182#define EXPOSURE_IDX 2
127 { 183 {
128 { 184 {
129 .id = V4L2_CID_EXPOSURE, 185 .id = V4L2_CID_EXPOSURE,
@@ -140,6 +196,7 @@ static struct ctrl sd_ctrls[] = {
140 .set = sd_setexposure, 196 .set = sd_setexposure,
141 .get = sd_getexposure, 197 .get = sd_getexposure,
142 }, 198 },
199#define AUTOGAIN_IDX 3
143 { 200 {
144 { 201 {
145 .id = V4L2_CID_AUTOGAIN, 202 .id = V4L2_CID_AUTOGAIN,
@@ -155,6 +212,7 @@ static struct ctrl sd_ctrls[] = {
155 .set = sd_setautogain, 212 .set = sd_setautogain,
156 .get = sd_getautogain, 213 .get = sd_getautogain,
157 }, 214 },
215#define FREQ_IDX 4
158 { 216 {
159 { 217 {
160 .id = V4L2_CID_POWER_LINE_FREQUENCY, 218 .id = V4L2_CID_POWER_LINE_FREQUENCY,
@@ -172,31 +230,56 @@ static struct ctrl sd_ctrls[] = {
172}; 230};
173 231
174static struct v4l2_pix_format vga_mode[] = { 232static struct v4l2_pix_format vga_mode[] = {
233 {160, 120, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
234 .bytesperline = 160,
235 .sizeimage = 160 * 120 * 5 / 4,
236 .colorspace = V4L2_COLORSPACE_SRGB,
237 .priv = 2 | MODE_RAW},
175 {160, 120, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE, 238 {160, 120, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
176 .bytesperline = 160, 239 .bytesperline = 160,
177 .sizeimage = 160 * 120, 240 .sizeimage = 160 * 120 * 5 / 4,
178 .colorspace = V4L2_COLORSPACE_SRGB, 241 .colorspace = V4L2_COLORSPACE_SRGB,
179 .priv = 2}, 242 .priv = 2},
180 {320, 240, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE, 243 {320, 240, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
181 .bytesperline = 320, 244 .bytesperline = 320,
182 .sizeimage = 320 * 240, 245 .sizeimage = 320 * 240 * 5 / 4,
183 .colorspace = V4L2_COLORSPACE_SRGB, 246 .colorspace = V4L2_COLORSPACE_SRGB,
184 .priv = 1}, 247 .priv = 1},
185 {640, 480, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE, 248 {640, 480, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
186 .bytesperline = 640, 249 .bytesperline = 640,
187 .sizeimage = 640 * 480, 250 .sizeimage = 640 * 480 * 5 / 4,
188 .colorspace = V4L2_COLORSPACE_SRGB, 251 .colorspace = V4L2_COLORSPACE_SRGB,
189 .priv = 0}, 252 .priv = 0},
190}; 253};
191static struct v4l2_pix_format sif_mode[] = { 254static struct v4l2_pix_format sif_mode[] = {
255 {160, 120, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
256 .bytesperline = 160,
257 .sizeimage = 160 * 120,
258 .colorspace = V4L2_COLORSPACE_SRGB,
259 .priv = 1 | MODE_RAW | MODE_REDUCED_SIF},
260 {160, 120, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
261 .bytesperline = 160,
262 .sizeimage = 160 * 120 * 5 / 4,
263 .colorspace = V4L2_COLORSPACE_SRGB,
264 .priv = 1 | MODE_REDUCED_SIF},
265 {176, 144, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
266 .bytesperline = 176,
267 .sizeimage = 176 * 144 * 5 / 4,
268 .colorspace = V4L2_COLORSPACE_SRGB,
269 .priv = 1 | MODE_RAW},
192 {176, 144, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE, 270 {176, 144, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
193 .bytesperline = 176, 271 .bytesperline = 176,
194 .sizeimage = 176 * 144, 272 .sizeimage = 176 * 144 * 5 / 4,
195 .colorspace = V4L2_COLORSPACE_SRGB, 273 .colorspace = V4L2_COLORSPACE_SRGB,
196 .priv = 1}, 274 .priv = 1},
275 {320, 240, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
276 .bytesperline = 320,
277 .sizeimage = 320 * 240 * 5 / 4,
278 .colorspace = V4L2_COLORSPACE_SRGB,
279 .priv = 0 | MODE_REDUCED_SIF},
197 {352, 288, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE, 280 {352, 288, V4L2_PIX_FMT_SN9C10X, V4L2_FIELD_NONE,
198 .bytesperline = 352, 281 .bytesperline = 352,
199 .sizeimage = 352 * 288, 282 .sizeimage = 352 * 288 * 5 / 4,
200 .colorspace = V4L2_COLORSPACE_SRGB, 283 .colorspace = V4L2_COLORSPACE_SRGB,
201 .priv = 0}, 284 .priv = 0},
202}; 285};
@@ -204,7 +287,7 @@ static struct v4l2_pix_format sif_mode[] = {
204static const __u8 initHv7131[] = { 287static const __u8 initHv7131[] = {
205 0x46, 0x77, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00, 0x00, 288 0x46, 0x77, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00, 0x00,
206 0x00, 0x00, 289 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, /* shift from 0x02 0x01 0x00 */ 290 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
208 0x28, 0x1e, 0x60, 0x8a, 0x20, 291 0x28, 0x1e, 0x60, 0x8a, 0x20,
209 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c 292 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c
210}; 293};
@@ -218,8 +301,8 @@ static const __u8 hv7131_sensor_init[][8] = {
218static const __u8 initOv6650[] = { 301static const __u8 initOv6650[] = {
219 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 302 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
220 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 303 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x02, 0x01, 0x0a, 0x16, 0x12, 0x68, 0x0b, 304 0x00, 0x01, 0x01, 0x0a, 0x16, 0x12, 0x68, 0x8b,
222 0x10, 0x1d, 0x10, 0x00, 0x06, 0x1f, 0x00 305 0x10, 0x1d, 0x10, 0x02, 0x02, 0x09, 0x07
223}; 306};
224static const __u8 ov6650_sensor_init[][8] = 307static const __u8 ov6650_sensor_init[][8] =
225{ 308{
@@ -257,15 +340,15 @@ static const __u8 ov6650_sensor_init[][8] =
257static const __u8 initOv7630[] = { 340static const __u8 initOv7630[] = {
258 0x04, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* r01 .. r08 */ 341 0x04, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* r01 .. r08 */
259 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* r09 .. r10 */ 342 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* r09 .. r10 */
260 0x00, 0x02, 0x01, 0x0a, /* r11 .. r14 */ 343 0x00, 0x01, 0x01, 0x0a, /* r11 .. r14 */
261 0x28, 0x1e, /* H & V sizes r15 .. r16 */ 344 0x28, 0x1e, /* H & V sizes r15 .. r16 */
262 0x68, COMP1, MCK_INIT1, /* r17 .. r19 */ 345 0x68, COMP2, MCK_INIT1, /* r17 .. r19 */
263 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c /* r1a .. r1f */ 346 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c /* r1a .. r1f */
264}; 347};
265static const __u8 initOv7630_3[] = { 348static const __u8 initOv7630_3[] = {
266 0x44, 0x44, 0x00, 0x1a, 0x20, 0x20, 0x20, 0x80, /* r01 .. r08 */ 349 0x44, 0x44, 0x00, 0x1a, 0x20, 0x20, 0x20, 0x80, /* r01 .. r08 */
267 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, /* r09 .. r10 */ 350 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, /* r09 .. r10 */
268 0x00, 0x01, 0x01, 0x0a, /* r11 .. r14 */ 351 0x00, 0x02, 0x01, 0x0a, /* r11 .. r14 */
269 0x28, 0x1e, /* H & V sizes r15 .. r16 */ 352 0x28, 0x1e, /* H & V sizes r15 .. r16 */
270 0x68, 0x8f, MCK_INIT1, /* r17 .. r19 */ 353 0x68, 0x8f, MCK_INIT1, /* r17 .. r19 */
271 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c, 0x00, /* r1a .. r20 */ 354 0x1d, 0x10, 0x02, 0x03, 0x0f, 0x0c, 0x00, /* r1a .. r20 */
@@ -294,47 +377,65 @@ static const __u8 ov7630_sensor_init[][8] = {
294 {0xd0, 0x21, 0x17, 0x1c, 0xbd, 0x06, 0xf6, 0x10}, 377 {0xd0, 0x21, 0x17, 0x1c, 0xbd, 0x06, 0xf6, 0x10},
295}; 378};
296 379
380static const __u8 ov7630_sensor_init_3[][8] = {
381 {0xa0, 0x21, 0x13, 0x80, 0x00, 0x00, 0x00, 0x10},
382};
383
297static const __u8 initPas106[] = { 384static const __u8 initPas106[] = {
298 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x40, 0x00, 0x00, 0x00, 385 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x40, 0x00, 0x00, 0x00,
299 0x00, 0x00, 386 0x00, 0x00,
300 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 387 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
301 0x16, 0x12, 0x28, COMP1, MCK_INIT1, 388 0x16, 0x12, 0x24, COMP1, MCK_INIT1,
302 0x18, 0x10, 0x04, 0x03, 0x11, 0x0c 389 0x18, 0x10, 0x02, 0x02, 0x09, 0x07
303}; 390};
304/* compression 0x86 mckinit1 0x2b */ 391/* compression 0x86 mckinit1 0x2b */
305static const __u8 pas106_data[][2] = { 392static const __u8 pas106_sensor_init[][8] = {
306 {0x02, 0x04}, /* Pixel Clock Divider 6 */ 393 /* Pixel Clock Divider 6 */
307 {0x03, 0x13}, /* Frame Time MSB */ 394 { 0xa1, 0x40, 0x02, 0x04, 0x00, 0x00, 0x00, 0x14 },
308/* {0x03, 0x12}, * Frame Time MSB */ 395 /* Frame Time MSB (also seen as 0x12) */
309 {0x04, 0x06}, /* Frame Time LSB */ 396 { 0xa1, 0x40, 0x03, 0x13, 0x00, 0x00, 0x00, 0x14 },
310/* {0x04, 0x05}, * Frame Time LSB */ 397 /* Frame Time LSB (also seen as 0x05) */
311 {0x05, 0x65}, /* Shutter Time Line Offset */ 398 { 0xa1, 0x40, 0x04, 0x06, 0x00, 0x00, 0x00, 0x14 },
312/* {0x05, 0x6d}, * Shutter Time Line Offset */ 399 /* Shutter Time Line Offset (also seen as 0x6d) */
313/* {0x06, 0xb1}, * Shutter Time Pixel Offset */ 400 { 0xa1, 0x40, 0x05, 0x65, 0x00, 0x00, 0x00, 0x14 },
314 {0x06, 0xcd}, /* Shutter Time Pixel Offset */ 401 /* Shutter Time Pixel Offset (also seen as 0xb1) */
315 {0x07, 0xc1}, /* Black Level Subtract Sign */ 402 { 0xa1, 0x40, 0x06, 0xcd, 0x00, 0x00, 0x00, 0x14 },
316/* {0x07, 0x00}, * Black Level Subtract Sign */ 403 /* Black Level Subtract Sign (also seen 0x00) */
317 {0x08, 0x06}, /* Black Level Subtract Level */ 404 { 0xa1, 0x40, 0x07, 0xc1, 0x00, 0x00, 0x00, 0x14 },
318 {0x08, 0x06}, /* Black Level Subtract Level */ 405 /* Black Level Subtract Level (also seen 0x01) */
319/* {0x08, 0x01}, * Black Level Subtract Level */ 406 { 0xa1, 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0x14 },
320 {0x09, 0x05}, /* Color Gain B Pixel 5 a */ 407 { 0xa1, 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0x14 },
321 {0x0a, 0x04}, /* Color Gain G1 Pixel 1 5 */ 408 /* Color Gain B Pixel 5 a */
322 {0x0b, 0x04}, /* Color Gain G2 Pixel 1 0 5 */ 409 { 0xa1, 0x40, 0x09, 0x05, 0x00, 0x00, 0x00, 0x14 },
323 {0x0c, 0x05}, /* Color Gain R Pixel 3 1 */ 410 /* Color Gain G1 Pixel 1 5 */
324 {0x0d, 0x00}, /* Color GainH Pixel */ 411 { 0xa1, 0x40, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x14 },
325 {0x0e, 0x0e}, /* Global Gain */ 412 /* Color Gain G2 Pixel 1 0 5 */
326 {0x0f, 0x00}, /* Contrast */ 413 { 0xa1, 0x40, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x14 },
327 {0x10, 0x06}, /* H&V synchro polarity */ 414 /* Color Gain R Pixel 3 1 */
328 {0x11, 0x06}, /* ?default */ 415 { 0xa1, 0x40, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x14 },
329 {0x12, 0x06}, /* DAC scale */ 416 /* Color GainH Pixel */
330 {0x14, 0x02}, /* ?default */ 417 { 0xa1, 0x40, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x14 },
331 {0x13, 0x01}, /* Validate Settings */ 418 /* Global Gain */
419 { 0xa1, 0x40, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x14 },
420 /* Contrast */
421 { 0xa1, 0x40, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x14 },
422 /* H&V synchro polarity */
423 { 0xa1, 0x40, 0x10, 0x06, 0x00, 0x00, 0x00, 0x14 },
424 /* ?default */
425 { 0xa1, 0x40, 0x11, 0x06, 0x00, 0x00, 0x00, 0x14 },
426 /* DAC scale */
427 { 0xa1, 0x40, 0x12, 0x06, 0x00, 0x00, 0x00, 0x14 },
428 /* ?default */
429 { 0xa1, 0x40, 0x14, 0x02, 0x00, 0x00, 0x00, 0x14 },
430 /* Validate Settings */
431 { 0xa1, 0x40, 0x13, 0x01, 0x00, 0x00, 0x00, 0x14 },
332}; 432};
433
333static const __u8 initPas202[] = { 434static const __u8 initPas202[] = {
334 0x44, 0x44, 0x21, 0x30, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 435 0x44, 0x44, 0x21, 0x30, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00,
335 0x00, 0x00, 436 0x00, 0x00,
336 0x00, 0x00, 0x00, 0x07, 0x03, 0x0a, /* 6 */ 437 0x00, 0x00, 0x00, 0x06, 0x03, 0x0a,
337 0x28, 0x1e, 0x28, 0x89, 0x30, 438 0x28, 0x1e, 0x28, 0x89, 0x20,
338 0x00, 0x00, 0x02, 0x03, 0x0f, 0x0c 439 0x00, 0x00, 0x02, 0x03, 0x0f, 0x0c
339}; 440};
340static const __u8 pas202_sensor_init[][8] = { 441static const __u8 pas202_sensor_init[][8] = {
@@ -364,7 +465,7 @@ static const __u8 pas202_sensor_init[][8] = {
364static const __u8 initTas5110[] = { 465static const __u8 initTas5110[] = {
365 0x44, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x11, 0x00, 0x00, 0x00, 466 0x44, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x11, 0x00, 0x00, 0x00,
366 0x00, 0x00, 467 0x00, 0x00,
367 0x00, 0x01, 0x00, 0x46, 0x09, 0x0a, /* shift from 0x45 0x09 0x0a */ 468 0x00, 0x01, 0x00, 0x45, 0x09, 0x0a,
368 0x16, 0x12, 0x60, 0x86, 0x2b, 469 0x16, 0x12, 0x60, 0x86, 0x2b,
369 0x14, 0x0a, 0x02, 0x02, 0x09, 0x07 470 0x14, 0x0a, 0x02, 0x02, 0x09, 0x07
370}; 471};
@@ -377,7 +478,7 @@ static const __u8 tas5110_sensor_init[][8] = {
377static const __u8 initTas5130[] = { 478static const __u8 initTas5130[] = {
378 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x11, 0x00, 0x00, 0x00, 479 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x11, 0x00, 0x00, 0x00,
379 0x00, 0x00, 480 0x00, 0x00,
380 0x00, 0x01, 0x00, 0x69, 0x0c, 0x0a, 481 0x00, 0x01, 0x00, 0x68, 0x0c, 0x0a,
381 0x28, 0x1e, 0x60, COMP, MCK_INIT, 482 0x28, 0x1e, 0x60, COMP, MCK_INIT,
382 0x18, 0x10, 0x04, 0x03, 0x11, 0x0c 483 0x18, 0x10, 0x04, 0x03, 0x11, 0x0c
383}; 484};
@@ -389,6 +490,21 @@ static const __u8 tas5130_sensor_init[][8] = {
389 {0x30, 0x11, 0x02, 0x20, 0x70, 0x00, 0x00, 0x10}, 490 {0x30, 0x11, 0x02, 0x20, 0x70, 0x00, 0x00, 0x10},
390}; 491};
391 492
493struct sensor_data sensor_data[] = {
494SENS(initHv7131, NULL, hv7131_sensor_init, NULL, NULL, 0, NO_EXPO|NO_FREQ, 0),
495SENS(initOv6650, NULL, ov6650_sensor_init, NULL, NULL, F_GAIN|F_SIF, 0, 0x60),
496SENS(initOv7630, initOv7630_3, ov7630_sensor_init, NULL, ov7630_sensor_init_3,
497 F_GAIN, 0, 0x21),
498SENS(initPas106, NULL, pas106_sensor_init, NULL, NULL, F_SIF, NO_EXPO|NO_FREQ,
499 0),
500SENS(initPas202, initPas202, pas202_sensor_init, NULL, NULL, 0,
501 NO_EXPO|NO_FREQ, 0),
502SENS(initTas5110, NULL, tas5110_sensor_init, NULL, NULL, F_GAIN|F_SIF,
503 NO_BRIGHTNESS|NO_FREQ, 0),
504SENS(initTas5130, NULL, tas5130_sensor_init, NULL, NULL, 0, NO_EXPO|NO_FREQ,
505 0),
506};
507
392/* get one byte in gspca_dev->usb_buf */ 508/* get one byte in gspca_dev->usb_buf */
393static void reg_r(struct gspca_dev *gspca_dev, 509static void reg_r(struct gspca_dev *gspca_dev,
394 __u16 value) 510 __u16 value)
@@ -409,7 +525,7 @@ static void reg_w(struct gspca_dev *gspca_dev,
409 int len) 525 int len)
410{ 526{
411#ifdef GSPCA_DEBUG 527#ifdef GSPCA_DEBUG
412 if (len > sizeof gspca_dev->usb_buf) { 528 if (len > USB_BUF_SZ) {
413 PDEBUG(D_ERR|D_PACK, "reg_w: buffer overflow"); 529 PDEBUG(D_ERR|D_PACK, "reg_w: buffer overflow");
414 return; 530 return;
415 } 531 }
@@ -425,26 +541,6 @@ static void reg_w(struct gspca_dev *gspca_dev,
425 500); 541 500);
426} 542}
427 543
428static void reg_w_big(struct gspca_dev *gspca_dev,
429 __u16 value,
430 const __u8 *buffer,
431 int len)
432{
433 __u8 *tmpbuf;
434
435 tmpbuf = kmalloc(len, GFP_KERNEL);
436 memcpy(tmpbuf, buffer, len);
437 usb_control_msg(gspca_dev->dev,
438 usb_sndctrlpipe(gspca_dev->dev, 0),
439 0x08, /* request */
440 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
441 value,
442 0, /* index */
443 tmpbuf, len,
444 500);
445 kfree(tmpbuf);
446}
447
448static int i2c_w(struct gspca_dev *gspca_dev, const __u8 *buffer) 544static int i2c_w(struct gspca_dev *gspca_dev, const __u8 *buffer)
449{ 545{
450 int retry = 60; 546 int retry = 60;
@@ -487,7 +583,7 @@ static void setbrightness(struct gspca_dev *gspca_dev)
487 {0xa0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10}; 583 {0xa0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10};
488 584
489 /* change reg 0x06 */ 585 /* change reg 0x06 */
490 i2cOV[1] = sd->sensor_addr; 586 i2cOV[1] = sensor_data[sd->sensor].sensor_addr;
491 i2cOV[3] = sd->brightness; 587 i2cOV[3] = sd->brightness;
492 if (i2c_w(gspca_dev, i2cOV) < 0) 588 if (i2c_w(gspca_dev, i2cOV) < 0)
493 goto err; 589 goto err;
@@ -545,9 +641,6 @@ static void setbrightness(struct gspca_dev *gspca_dev)
545 goto err; 641 goto err;
546 break; 642 break;
547 } 643 }
548 case SENSOR_TAS5110:
549 /* FIXME figure out howto control brightness on TAS5110 */
550 break;
551 } 644 }
552 return; 645 return;
553err: 646err:
@@ -577,7 +670,7 @@ static void setsensorgain(struct gspca_dev *gspca_dev)
577 case SENSOR_OV7630: { 670 case SENSOR_OV7630: {
578 __u8 i2c[] = {0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10}; 671 __u8 i2c[] = {0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
579 672
580 i2c[1] = sd->sensor_addr; 673 i2c[1] = sensor_data[sd->sensor].sensor_addr;
581 i2c[3] = gain >> 2; 674 i2c[3] = gain >> 2;
582 if (i2c_w(gspca_dev, i2c) < 0) 675 if (i2c_w(gspca_dev, i2c) < 0)
583 goto err; 676 goto err;
@@ -604,7 +697,7 @@ static void setgain(struct gspca_dev *gspca_dev)
604 rgb_value = gain; 697 rgb_value = gain;
605 reg_w(gspca_dev, 0x11, &rgb_value, 1); 698 reg_w(gspca_dev, 0x11, &rgb_value, 1);
606 699
607 if (sd->sensor_has_gain) 700 if (sensor_data[sd->sensor].flags & F_GAIN)
608 setsensorgain(gspca_dev); 701 setsensorgain(gspca_dev);
609} 702}
610 703
@@ -665,6 +758,11 @@ static void setexposure(struct gspca_dev *gspca_dev)
665 else if (reg11 > 16) 758 else if (reg11 > 16)
666 reg11 = 16; 759 reg11 = 16;
667 760
761 /* In 640x480, if the reg11 has less than 3, the image is
762 unstable (not enough bandwidth). */
763 if (gspca_dev->width == 640 && reg11 < 3)
764 reg11 = 3;
765
668 /* frame exposure time in ms = 1000 * reg11 / 30 -> 766 /* frame exposure time in ms = 1000 * reg11 / 30 ->
669 reg10 = sd->exposure * 2 * reg10_max / (1000 * reg11 / 30) */ 767 reg10 = sd->exposure * 2 * reg10_max / (1000 * reg11 / 30) */
670 reg10 = (sd->exposure * 60 * reg10_max) / (1000 * reg11); 768 reg10 = (sd->exposure * 60 * reg10_max) / (1000 * reg11);
@@ -678,13 +776,8 @@ static void setexposure(struct gspca_dev *gspca_dev)
678 else if (reg10 > reg10_max) 776 else if (reg10 > reg10_max)
679 reg10 = reg10_max; 777 reg10 = reg10_max;
680 778
681 /* In 640x480, if the reg11 has less than 3, the image is
682 unstable (not enough bandwidth). */
683 if (gspca_dev->width == 640 && reg11 < 3)
684 reg11 = 3;
685
686 /* Write reg 10 and reg11 low nibble */ 779 /* Write reg 10 and reg11 low nibble */
687 i2c[1] = sd->sensor_addr; 780 i2c[1] = sensor_data[sd->sensor].sensor_addr;
688 i2c[3] = reg10; 781 i2c[3] = reg10;
689 i2c[4] |= reg11 - 1; 782 i2c[4] |= reg11 - 1;
690 783
@@ -724,7 +817,7 @@ static void setfreq(struct gspca_dev *gspca_dev)
724 ? 0x4f : 0x8a; 817 ? 0x4f : 0x8a;
725 break; 818 break;
726 } 819 }
727 i2c[1] = sd->sensor_addr; 820 i2c[1] = sensor_data[sd->sensor].sensor_addr;
728 if (i2c_w(gspca_dev, i2c) < 0) 821 if (i2c_w(gspca_dev, i2c) < 0)
729 PDEBUG(D_ERR, "i2c error setfreq"); 822 PDEBUG(D_ERR, "i2c error setfreq");
730 break; 823 break;
@@ -757,30 +850,19 @@ static int sd_config(struct gspca_dev *gspca_dev,
757{ 850{
758 struct sd *sd = (struct sd *) gspca_dev; 851 struct sd *sd = (struct sd *) gspca_dev;
759 struct cam *cam; 852 struct cam *cam;
760 int sif = 0;
761 853
762 /* nctrls depends upon the sensor, so we use a per cam copy */ 854 reg_r(gspca_dev, 0x00);
763 memcpy(&sd->sd_desc, gspca_dev->sd_desc, sizeof(struct sd_desc)); 855 if (gspca_dev->usb_buf[0] != 0x10)
764 gspca_dev->sd_desc = &sd->sd_desc; 856 return -ENODEV;
765 857
766 /* copy the webcam info from the device id */ 858 /* copy the webcam info from the device id */
767 sd->sensor = (id->driver_info >> 24) & 0xff; 859 sd->sensor = id->driver_info >> 8;
768 if (id->driver_info & (F_GAIN << 16)) 860 sd->bridge = id->driver_info & 0xff;
769 sd->sensor_has_gain = 1; 861 gspca_dev->ctrl_dis = sensor_data[sd->sensor].ctrl_dis;
770 if (id->driver_info & (F_AUTO << 16))
771 sd->sd_desc.dq_callback = do_autogain;
772 if (id->driver_info & (F_SIF << 16))
773 sif = 1;
774 if (id->driver_info & (F_H18 << 16))
775 sd->fr_h_sz = 18; /* size of frame header */
776 else
777 sd->fr_h_sz = 12;
778 sd->sd_desc.nctrls = (id->driver_info >> 8) & 0xff;
779 sd->sensor_addr = id->driver_info & 0xff;
780 862
781 cam = &gspca_dev->cam; 863 cam = &gspca_dev->cam;
782 cam->epaddr = 0x01; 864 cam->epaddr = 0x01;
783 if (!sif) { 865 if (!(sensor_data[sd->sensor].flags & F_SIF)) {
784 cam->cam_mode = vga_mode; 866 cam->cam_mode = vga_mode;
785 cam->nmodes = ARRAY_SIZE(vga_mode); 867 cam->nmodes = ARRAY_SIZE(vga_mode);
786 } else { 868 } else {
@@ -790,157 +872,98 @@ static int sd_config(struct gspca_dev *gspca_dev,
790 sd->brightness = BRIGHTNESS_DEF; 872 sd->brightness = BRIGHTNESS_DEF;
791 sd->gain = GAIN_DEF; 873 sd->gain = GAIN_DEF;
792 sd->exposure = EXPOSURE_DEF; 874 sd->exposure = EXPOSURE_DEF;
793 sd->autogain = AUTOGAIN_DEF; 875 if (gspca_dev->ctrl_dis & (1 << AUTOGAIN_IDX))
876 sd->autogain = 0; /* Disable do_autogain callback */
877 else
878 sd->autogain = AUTOGAIN_DEF;
794 sd->freq = FREQ_DEF; 879 sd->freq = FREQ_DEF;
795 880
796 return 0; 881 return 0;
797} 882}
798 883
799/* this function is called at open time */ 884/* this function is called at probe and resume time */
800static int sd_open(struct gspca_dev *gspca_dev) 885static int sd_init(struct gspca_dev *gspca_dev)
801{ 886{
802 reg_r(gspca_dev, 0x00); 887 const __u8 stop = 0x09; /* Disable stream turn of LED */
803 if (gspca_dev->usb_buf[0] != 0x10)
804 return -ENODEV;
805 return 0;
806}
807 888
808static void pas106_i2cinit(struct gspca_dev *gspca_dev) 889 reg_w(gspca_dev, 0x01, &stop, 1);
809{ 890
810 int i; 891 return 0;
811 const __u8 *data;
812 __u8 i2c1[] = { 0xa1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14 };
813
814 i = ARRAY_SIZE(pas106_data);
815 data = pas106_data[0];
816 while (--i >= 0) {
817 memcpy(&i2c1[2], data, 2);
818 /* copy 2 bytes from the template */
819 if (i2c_w(gspca_dev, i2c1) < 0)
820 PDEBUG(D_ERR, "i2c error pas106");
821 data += 2;
822 }
823} 892}
824 893
825/* -- start the camera -- */ 894/* -- start the camera -- */
826static void sd_start(struct gspca_dev *gspca_dev) 895static void sd_start(struct gspca_dev *gspca_dev)
827{ 896{
828 struct sd *sd = (struct sd *) gspca_dev; 897 struct sd *sd = (struct sd *) gspca_dev;
829 int mode, l = 0x1f; 898 struct cam *cam = &gspca_dev->cam;
899 int mode, l;
830 const __u8 *sn9c10x; 900 const __u8 *sn9c10x;
831 __u8 reg17_19[3]; 901 __u8 reg12_19[8];
832 902
833 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; 903 mode = cam->cam_mode[gspca_dev->curr_mode].priv & 0x07;
904 sn9c10x = sensor_data[sd->sensor].bridge_init[sd->bridge];
905 l = sensor_data[sd->sensor].bridge_init_size[sd->bridge];
906 memcpy(reg12_19, &sn9c10x[0x12 - 1], 8);
907 reg12_19[6] = sn9c10x[0x18 - 1] | (mode << 4);
908 /* Special cases where reg 17 and or 19 value depends on mode */
834 switch (sd->sensor) { 909 switch (sd->sensor) {
835 case SENSOR_HV7131R:
836 sn9c10x = initHv7131;
837 reg17_19[0] = 0x60;
838 reg17_19[1] = (mode << 4) | 0x8a;
839 reg17_19[2] = 0x20;
840 break;
841 case SENSOR_OV6650:
842 sn9c10x = initOv6650;
843 reg17_19[0] = 0x68;
844 reg17_19[1] = (mode << 4) | 0x8b;
845 reg17_19[2] = 0x20;
846 break;
847 case SENSOR_OV7630:
848 if (sd->fr_h_sz == 18) { /* SN9C103 */
849 sn9c10x = initOv7630_3;
850 l = sizeof initOv7630_3;
851 } else
852 sn9c10x = initOv7630;
853 reg17_19[0] = 0x68;
854 reg17_19[1] = (mode << 4) | COMP2;
855 reg17_19[2] = MCK_INIT1;
856 break;
857 case SENSOR_PAS106:
858 sn9c10x = initPas106;
859 reg17_19[0] = 0x24; /* 0x28 */
860 reg17_19[1] = (mode << 4) | COMP1;
861 reg17_19[2] = MCK_INIT1;
862 break;
863 case SENSOR_PAS202: 910 case SENSOR_PAS202:
864 sn9c10x = initPas202; 911 reg12_19[5] = mode ? 0x24 : 0x20;
865 reg17_19[0] = mode ? 0x24 : 0x20;
866 reg17_19[1] = (mode << 4) | 0x89;
867 reg17_19[2] = 0x20;
868 break; 912 break;
869 case SENSOR_TAS5110: 913 case SENSOR_TAS5130CXX:
870 sn9c10x = initTas5110; 914 /* probably not mode specific at all most likely the upper
871 reg17_19[0] = 0x60; 915 nibble of 0x19 is exposure (clock divider) just as with
872 reg17_19[1] = (mode << 4) | 0x86; 916 the tas5110, we need someone to test this. */
873 reg17_19[2] = 0x2b; /* 0xf3; */ 917 reg12_19[7] = mode ? 0x23 : 0x43;
874 break;
875 default:
876/* case SENSOR_TAS5130CXX: */
877 sn9c10x = initTas5130;
878 reg17_19[0] = 0x60;
879 reg17_19[1] = (mode << 4) | COMP;
880 reg17_19[2] = mode ? 0x23 : 0x43;
881 break; 918 break;
882 } 919 }
920 /* Disable compression when the raw bayer format has been selected */
921 if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_RAW)
922 reg12_19[6] &= ~0x80;
923
924 /* Vga mode emulation on SIF sensor? */
925 if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_REDUCED_SIF) {
926 reg12_19[0] += 16; /* 0x12: hstart adjust */
927 reg12_19[1] += 24; /* 0x13: vstart adjust */
928 reg12_19[3] = 320 / 16; /* 0x15: hsize */
929 reg12_19[4] = 240 / 16; /* 0x16: vsize */
930 }
883 931
884 /* reg 0x01 bit 2 video transfert on */ 932 /* reg 0x01 bit 2 video transfert on */
885 reg_w(gspca_dev, 0x01, &sn9c10x[0x01 - 1], 1); 933 reg_w(gspca_dev, 0x01, &sn9c10x[0x01 - 1], 1);
886 /* reg 0x17 SensorClk enable inv Clk 0x60 */ 934 /* reg 0x17 SensorClk enable inv Clk 0x60 */
887 reg_w(gspca_dev, 0x17, &sn9c10x[0x17 - 1], 1); 935 reg_w(gspca_dev, 0x17, &sn9c10x[0x17 - 1], 1);
888 /* Set the registers from the template */ 936 /* Set the registers from the template */
889 reg_w_big(gspca_dev, 0x01, sn9c10x, l); 937 reg_w(gspca_dev, 0x01, sn9c10x, l);
890 switch (sd->sensor) { 938
891 case SENSOR_HV7131R: 939 /* Init the sensor */
892 i2c_w_vector(gspca_dev, hv7131_sensor_init, 940 i2c_w_vector(gspca_dev, sensor_data[sd->sensor].sensor_init,
893 sizeof hv7131_sensor_init); 941 sensor_data[sd->sensor].sensor_init_size);
894 break; 942 if (sensor_data[sd->sensor].sensor_bridge_init[sd->bridge])
895 case SENSOR_OV6650: 943 i2c_w_vector(gspca_dev,
896 i2c_w_vector(gspca_dev, ov6650_sensor_init, 944 sensor_data[sd->sensor].sensor_bridge_init[sd->bridge],
897 sizeof ov6650_sensor_init); 945 sensor_data[sd->sensor].sensor_bridge_init_size[
898 break; 946 sd->bridge]);
899 case SENSOR_OV7630: 947
900 i2c_w_vector(gspca_dev, ov7630_sensor_init,
901 sizeof ov7630_sensor_init);
902 if (sd->fr_h_sz == 18) { /* SN9C103 */
903 const __u8 i2c[] = { 0xa0, 0x21, 0x13, 0x80, 0x00,
904 0x00, 0x00, 0x10 };
905 i2c_w(gspca_dev, i2c);
906 }
907 break;
908 case SENSOR_PAS106:
909 pas106_i2cinit(gspca_dev);
910 break;
911 case SENSOR_PAS202:
912 i2c_w_vector(gspca_dev, pas202_sensor_init,
913 sizeof pas202_sensor_init);
914 break;
915 case SENSOR_TAS5110:
916 i2c_w_vector(gspca_dev, tas5110_sensor_init,
917 sizeof tas5110_sensor_init);
918 break;
919 default:
920/* case SENSOR_TAS5130CXX: */
921 i2c_w_vector(gspca_dev, tas5130_sensor_init,
922 sizeof tas5130_sensor_init);
923 break;
924 }
925 /* H_size V_size 0x28, 0x1e -> 640x480. 0x16, 0x12 -> 352x288 */ 948 /* H_size V_size 0x28, 0x1e -> 640x480. 0x16, 0x12 -> 352x288 */
926 reg_w(gspca_dev, 0x15, &sn9c10x[0x15 - 1], 2); 949 reg_w(gspca_dev, 0x15, &reg12_19[3], 2);
927 /* compression register */ 950 /* compression register */
928 reg_w(gspca_dev, 0x18, &reg17_19[1], 1); 951 reg_w(gspca_dev, 0x18, &reg12_19[6], 1);
929 /* H_start */ 952 /* H_start */
930 reg_w(gspca_dev, 0x12, &sn9c10x[0x12 - 1], 1); 953 reg_w(gspca_dev, 0x12, &reg12_19[0], 1);
931 /* V_START */ 954 /* V_START */
932 reg_w(gspca_dev, 0x13, &sn9c10x[0x13 - 1], 1); 955 reg_w(gspca_dev, 0x13, &reg12_19[1], 1);
933 /* reset 0x17 SensorClk enable inv Clk 0x60 */ 956 /* reset 0x17 SensorClk enable inv Clk 0x60 */
934 /*fixme: ov7630 [17]=68 8f (+20 if 102)*/ 957 /*fixme: ov7630 [17]=68 8f (+20 if 102)*/
935 reg_w(gspca_dev, 0x17, &reg17_19[0], 1); 958 reg_w(gspca_dev, 0x17, &reg12_19[5], 1);
936 /*MCKSIZE ->3 */ /*fixme: not ov7630*/ 959 /*MCKSIZE ->3 */ /*fixme: not ov7630*/
937 reg_w(gspca_dev, 0x19, &reg17_19[2], 1); 960 reg_w(gspca_dev, 0x19, &reg12_19[7], 1);
938 /* AE_STRX AE_STRY AE_ENDX AE_ENDY */ 961 /* AE_STRX AE_STRY AE_ENDX AE_ENDY */
939 reg_w(gspca_dev, 0x1c, &sn9c10x[0x1c - 1], 4); 962 reg_w(gspca_dev, 0x1c, &sn9c10x[0x1c - 1], 4);
940 /* Enable video transfert */ 963 /* Enable video transfert */
941 reg_w(gspca_dev, 0x01, &sn9c10x[0], 1); 964 reg_w(gspca_dev, 0x01, &sn9c10x[0], 1);
942 /* Compression */ 965 /* Compression */
943 reg_w(gspca_dev, 0x18, &reg17_19[1], 2); 966 reg_w(gspca_dev, 0x18, &reg12_19[6], 2);
944 msleep(20); 967 msleep(20);
945 968
946 sd->reg11 = -1; 969 sd->reg11 = -1;
@@ -957,18 +980,7 @@ static void sd_start(struct gspca_dev *gspca_dev)
957 980
958static void sd_stopN(struct gspca_dev *gspca_dev) 981static void sd_stopN(struct gspca_dev *gspca_dev)
959{ 982{
960 __u8 ByteSend; 983 sd_init(gspca_dev);
961
962 ByteSend = 0x09; /* 0X00 */
963 reg_w(gspca_dev, 0x01, &ByteSend, 1);
964}
965
966static void sd_stop0(struct gspca_dev *gspca_dev)
967{
968}
969
970static void sd_close(struct gspca_dev *gspca_dev)
971{
972} 984}
973 985
974static void sd_pkt_scan(struct gspca_dev *gspca_dev, 986static void sd_pkt_scan(struct gspca_dev *gspca_dev,
@@ -978,6 +990,7 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
978{ 990{
979 int i; 991 int i;
980 struct sd *sd = (struct sd *) gspca_dev; 992 struct sd *sd = (struct sd *) gspca_dev;
993 struct cam *cam = &gspca_dev->cam;
981 994
982 /* frames start with: 995 /* frames start with:
983 * ff ff 00 c4 c4 96 synchro 996 * ff ff 00 c4 c4 96 synchro
@@ -998,20 +1011,31 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
998 && data[5 + i] == 0x96) { /* start of frame */ 1011 && data[5 + i] == 0x96) { /* start of frame */
999 int lum = -1; 1012 int lum = -1;
1000 int pkt_type = LAST_PACKET; 1013 int pkt_type = LAST_PACKET;
1014 int fr_h_sz = (sd->bridge == BRIDGE_103) ?
1015 18 : 12;
1001 1016
1002 if (len - i < sd->fr_h_sz) { 1017 if (len - i < fr_h_sz) {
1003 PDEBUG(D_STREAM, "packet too short to" 1018 PDEBUG(D_STREAM, "packet too short to"
1004 " get avg brightness"); 1019 " get avg brightness");
1005 } else if (sd->fr_h_sz == 12) { 1020 } else if (sd->bridge == BRIDGE_103) {
1006 lum = data[i + 8] + (data[i + 9] << 8);
1007 } else {
1008 lum = data[i + 9] + 1021 lum = data[i + 9] +
1009 (data[i + 10] << 8); 1022 (data[i + 10] << 8);
1023 } else {
1024 lum = data[i + 8] + (data[i + 9] << 8);
1010 } 1025 }
1011 if (lum == 0) { 1026 /* When exposure changes midway a frame we
1027 get a lum of 0 in this case drop 2 frames
1028 as the frames directly after an exposure
1029 change have an unstable image. Sometimes lum
1030 *really* is 0 (cam used in low light with
1031 low exposure setting), so do not drop frames
1032 if the previous lum was 0 too. */
1033 if (lum == 0 && sd->prev_avg_lum != 0) {
1012 lum = -1; 1034 lum = -1;
1013 sd->frames_to_drop = 2; 1035 sd->frames_to_drop = 2;
1014 } 1036 sd->prev_avg_lum = 0;
1037 } else
1038 sd->prev_avg_lum = lum;
1015 atomic_set(&sd->avg_lum, lum); 1039 atomic_set(&sd->avg_lum, lum);
1016 1040
1017 if (sd->frames_to_drop) { 1041 if (sd->frames_to_drop) {
@@ -1021,14 +1045,25 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1021 1045
1022 frame = gspca_frame_add(gspca_dev, pkt_type, 1046 frame = gspca_frame_add(gspca_dev, pkt_type,
1023 frame, data, 0); 1047 frame, data, 0);
1024 data += i + sd->fr_h_sz; 1048 data += i + fr_h_sz;
1025 len -= i + sd->fr_h_sz; 1049 len -= i + fr_h_sz;
1026 gspca_frame_add(gspca_dev, FIRST_PACKET, 1050 gspca_frame_add(gspca_dev, FIRST_PACKET,
1027 frame, data, len); 1051 frame, data, len);
1028 return; 1052 return;
1029 } 1053 }
1030 } 1054 }
1031 } 1055 }
1056
1057 if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_RAW) {
1058 /* In raw mode we sometimes get some garbage after the frame
1059 ignore this */
1060 int used = frame->data_end - frame->data;
1061 int size = cam->cam_mode[gspca_dev->curr_mode].sizeimage;
1062
1063 if (used + len > size)
1064 len = size - used;
1065 }
1066
1032 gspca_frame_add(gspca_dev, INTER_PACKET, 1067 gspca_frame_add(gspca_dev, INTER_PACKET,
1033 frame, data, len); 1068 frame, data, len);
1034} 1069}
@@ -1162,58 +1197,45 @@ static const struct sd_desc sd_desc = {
1162 .ctrls = sd_ctrls, 1197 .ctrls = sd_ctrls,
1163 .nctrls = ARRAY_SIZE(sd_ctrls), 1198 .nctrls = ARRAY_SIZE(sd_ctrls),
1164 .config = sd_config, 1199 .config = sd_config,
1165 .open = sd_open, 1200 .init = sd_init,
1166 .start = sd_start, 1201 .start = sd_start,
1167 .stopN = sd_stopN, 1202 .stopN = sd_stopN,
1168 .stop0 = sd_stop0,
1169 .close = sd_close,
1170 .pkt_scan = sd_pkt_scan, 1203 .pkt_scan = sd_pkt_scan,
1171 .querymenu = sd_querymenu, 1204 .querymenu = sd_querymenu,
1205 .dq_callback = do_autogain,
1172}; 1206};
1173 1207
1174/* -- module initialisation -- */ 1208/* -- module initialisation -- */
1175#define SFCI(sensor, flags, nctrls, i2c_addr) \ 1209#define SB(sensor, bridge) \
1176 .driver_info = (SENSOR_ ## sensor << 24) \ 1210 .driver_info = (SENSOR_ ## sensor << 8) | BRIDGE_ ## bridge
1177 | ((flags) << 16) \ 1211
1178 | ((nctrls) << 8) \ 1212
1179 | (i2c_addr)
1180static __devinitdata struct usb_device_id device_table[] = { 1213static __devinitdata struct usb_device_id device_table[] = {
1181#ifndef CONFIG_USB_SN9C102 1214 {USB_DEVICE(0x0c45, 0x6001), SB(TAS5110, 102)}, /* TAS5110C1B */
1182 {USB_DEVICE(0x0c45, 0x6001), /* SN9C102 */ 1215 {USB_DEVICE(0x0c45, 0x6005), SB(TAS5110, 101)}, /* TAS5110C1B */
1183 SFCI(TAS5110, F_GAIN|F_AUTO|F_SIF, 4, 0)}, 1216#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1184 {USB_DEVICE(0x0c45, 0x6005), /* SN9C101 */ 1217 {USB_DEVICE(0x0c45, 0x6007), SB(TAS5110, 101)}, /* TAS5110D */
1185 SFCI(TAS5110, F_GAIN|F_AUTO|F_SIF, 4, 0)}, 1218 {USB_DEVICE(0x0c45, 0x6009), SB(PAS106, 101)},
1186 {USB_DEVICE(0x0c45, 0x6007), /* SN9C101 */ 1219 {USB_DEVICE(0x0c45, 0x600d), SB(PAS106, 101)},
1187 SFCI(TAS5110, F_GAIN|F_AUTO|F_SIF, 4, 0)},
1188 {USB_DEVICE(0x0c45, 0x6009), /* SN9C101 */
1189 SFCI(PAS106, F_SIF, 2, 0)},
1190 {USB_DEVICE(0x0c45, 0x600d), /* SN9C101 */
1191 SFCI(PAS106, F_SIF, 2, 0)},
1192#endif 1220#endif
1193 {USB_DEVICE(0x0c45, 0x6011), /* SN9C101 - SN9C101G */ 1221 {USB_DEVICE(0x0c45, 0x6011), SB(OV6650, 101)},
1194 SFCI(OV6650, F_GAIN|F_AUTO|F_SIF, 5, 0x60)}, 1222#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1195#ifndef CONFIG_USB_SN9C102 1223 {USB_DEVICE(0x0c45, 0x6019), SB(OV7630, 101)},
1196 {USB_DEVICE(0x0c45, 0x6019), /* SN9C101 */ 1224 {USB_DEVICE(0x0c45, 0x6024), SB(TAS5130CXX, 102)},
1197 SFCI(OV7630, F_GAIN|F_AUTO, 5, 0x21)}, 1225 {USB_DEVICE(0x0c45, 0x6025), SB(TAS5130CXX, 102)},
1198 {USB_DEVICE(0x0c45, 0x6024), /* SN9C102 */ 1226 {USB_DEVICE(0x0c45, 0x6028), SB(PAS202, 102)},
1199 SFCI(TAS5130CXX, 0, 2, 0)}, 1227 {USB_DEVICE(0x0c45, 0x6029), SB(PAS106, 102)},
1200 {USB_DEVICE(0x0c45, 0x6025), /* SN9C102 */ 1228 {USB_DEVICE(0x0c45, 0x602c), SB(OV7630, 102)},
1201 SFCI(TAS5130CXX, 0, 2, 0)},
1202 {USB_DEVICE(0x0c45, 0x6028), /* SN9C102 */
1203 SFCI(PAS202, 0, 2, 0)},
1204 {USB_DEVICE(0x0c45, 0x6029), /* SN9C101 */
1205 SFCI(PAS106, F_SIF, 2, 0)},
1206 {USB_DEVICE(0x0c45, 0x602c), /* SN9C102 */
1207 SFCI(OV7630, F_GAIN|F_AUTO, 5, 0x21)},
1208 {USB_DEVICE(0x0c45, 0x602d), /* SN9C102 */
1209 SFCI(HV7131R, 0, 2, 0)},
1210 {USB_DEVICE(0x0c45, 0x602e), /* SN9C102 */
1211 SFCI(OV7630, F_GAIN|F_AUTO, 5, 0x21)},
1212 {USB_DEVICE(0x0c45, 0x60af), /* SN9C103 */
1213 SFCI(PAS202, F_H18, 2, 0)},
1214 {USB_DEVICE(0x0c45, 0x60b0), /* SN9C103 */
1215 SFCI(OV7630, F_GAIN|F_AUTO|F_H18, 5, 0x21)},
1216#endif 1229#endif
1230 {USB_DEVICE(0x0c45, 0x602d), SB(HV7131R, 102)},
1231#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1232 {USB_DEVICE(0x0c45, 0x602e), SB(OV7630, 102)},
1233#endif
1234 {USB_DEVICE(0x0c45, 0x608f), SB(OV7630, 103)},
1235#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1236 {USB_DEVICE(0x0c45, 0x60af), SB(PAS202, 103)},
1237#endif
1238 {USB_DEVICE(0x0c45, 0x60b0), SB(OV7630, 103)},
1217 {} 1239 {}
1218}; 1240};
1219MODULE_DEVICE_TABLE(usb, device_table); 1241MODULE_DEVICE_TABLE(usb, device_table);
@@ -1231,6 +1253,10 @@ static struct usb_driver sd_driver = {
1231 .id_table = device_table, 1253 .id_table = device_table,
1232 .probe = sd_probe, 1254 .probe = sd_probe,
1233 .disconnect = gspca_disconnect, 1255 .disconnect = gspca_disconnect,
1256#ifdef CONFIG_PM
1257 .suspend = gspca_suspend,
1258 .resume = gspca_resume,
1259#endif
1234}; 1260};
1235 1261
1236/* -- module insert / remove -- */ 1262/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c
index 245a30ec5fb1..d75b1d20b318 100644
--- a/drivers/media/video/gspca/sonixj.c
+++ b/drivers/media/video/gspca/sonixj.c
@@ -54,8 +54,10 @@ struct sd {
54#define SENSOR_HV7131R 0 54#define SENSOR_HV7131R 0
55#define SENSOR_MI0360 1 55#define SENSOR_MI0360 1
56#define SENSOR_MO4000 2 56#define SENSOR_MO4000 2
57#define SENSOR_OV7648 3 57#define SENSOR_OM6802 3
58#define SENSOR_OV7660 4 58#define SENSOR_OV7630 4
59#define SENSOR_OV7648 5
60#define SENSOR_OV7660 6
59 unsigned char i2c_base; 61 unsigned char i2c_base;
60}; 62};
61 63
@@ -76,7 +78,8 @@ static struct ctrl sd_ctrls[] = {
76 .type = V4L2_CTRL_TYPE_INTEGER, 78 .type = V4L2_CTRL_TYPE_INTEGER,
77 .name = "Brightness", 79 .name = "Brightness",
78 .minimum = 0, 80 .minimum = 0,
79 .maximum = 0xffff, 81#define BRIGHTNESS_MAX 0xffff
82 .maximum = BRIGHTNESS_MAX,
80 .step = 1, 83 .step = 1,
81#define BRIGHTNESS_DEF 0x7fff 84#define BRIGHTNESS_DEF 0x7fff
82 .default_value = BRIGHTNESS_DEF, 85 .default_value = BRIGHTNESS_DEF,
@@ -90,7 +93,8 @@ static struct ctrl sd_ctrls[] = {
90 .type = V4L2_CTRL_TYPE_INTEGER, 93 .type = V4L2_CTRL_TYPE_INTEGER,
91 .name = "Contrast", 94 .name = "Contrast",
92 .minimum = 0, 95 .minimum = 0,
93 .maximum = 127, 96#define CONTRAST_MAX 127
97 .maximum = CONTRAST_MAX,
94 .step = 1, 98 .step = 1,
95#define CONTRAST_DEF 63 99#define CONTRAST_DEF 63
96 .default_value = CONTRAST_DEF, 100 .default_value = CONTRAST_DEF,
@@ -104,14 +108,15 @@ static struct ctrl sd_ctrls[] = {
104 .type = V4L2_CTRL_TYPE_INTEGER, 108 .type = V4L2_CTRL_TYPE_INTEGER,
105 .name = "Color", 109 .name = "Color",
106 .minimum = 0, 110 .minimum = 0,
107 .maximum = 255, 111 .maximum = 64,
108 .step = 1, 112 .step = 1,
109#define COLOR_DEF 127 113#define COLOR_DEF 32
110 .default_value = COLOR_DEF, 114 .default_value = COLOR_DEF,
111 }, 115 },
112 .set = sd_setcolors, 116 .set = sd_setcolors,
113 .get = sd_getcolors, 117 .get = sd_getcolors,
114 }, 118 },
119#define AUTOGAIN_IDX 3
115 { 120 {
116 { 121 {
117 .id = V4L2_CID_AUTOGAIN, 122 .id = V4L2_CID_AUTOGAIN,
@@ -131,7 +136,7 @@ static struct ctrl sd_ctrls[] = {
131static struct v4l2_pix_format vga_mode[] = { 136static struct v4l2_pix_format vga_mode[] = {
132 {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 137 {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
133 .bytesperline = 160, 138 .bytesperline = 160,
134 .sizeimage = 160 * 120 * 3 / 8 + 590, 139 .sizeimage = 160 * 120 * 4 / 8 + 590,
135 .colorspace = V4L2_COLORSPACE_JPEG, 140 .colorspace = V4L2_COLORSPACE_JPEG,
136 .priv = 2}, 141 .priv = 2},
137 {320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 142 {320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
@@ -180,6 +185,31 @@ static const __u8 sn_mo4000[] = {
180 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 185 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
181}; 186};
182 187
188static const __u8 sn_om6802[] = {
189/* reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 */
190 0x00, 0x23, 0x72, 0x00, 0x1a, 0x34, 0x27, 0x20,
191/* reg8 reg9 rega regb regc regd rege regf */
192 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193/* reg10 reg11 reg12 reg13 reg14 reg15 reg16 reg17 */
194 0x03, 0x00, 0x51, 0x01, 0x00, 0x28, 0x1e, 0x40,
195/* reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f */
196 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x08, 0x22, 0x44, 0x63, 0x7d, 0x92, 0xa3, 0xaf,
198 0xbc, 0xc4, 0xcd, 0xd5, 0xdc, 0xe1, 0xe8, 0xef,
199 0xf7
200};
201
202static const __u8 sn_ov7630[] = {
203/* reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 */
204 0x00, 0x21, 0x40, 0x00, 0x1a, 0x20, 0x1f, 0x20,
205/* reg8 reg9 rega regb regc regd rege regf */
206 0xa1, 0x21, 0x76, 0x21, 0x00, 0x00, 0x00, 0x10,
207/* reg10 reg11 reg12 reg13 reg14 reg15 reg16 reg17 */
208 0x03, 0x00, 0x04, 0x01, 0x0a, 0x28, 0x1e, 0xc2,
209/* reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f */
210 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00
211};
212
183static const __u8 sn_ov7648[] = { 213static const __u8 sn_ov7648[] = {
184/* reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 */ 214/* reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 */
185 0x00, 0x21, 0x62, 0x00, 0x1a, 0x20, 0x20, 0x20, 215 0x00, 0x21, 0x62, 0x00, 0x1a, 0x20, 0x20, 0x20,
@@ -207,31 +237,22 @@ static const __u8 *sn_tb[] = {
207 sn_hv7131, 237 sn_hv7131,
208 sn_mi0360, 238 sn_mi0360,
209 sn_mo4000, 239 sn_mo4000,
240 sn_om6802,
241 sn_ov7630,
210 sn_ov7648, 242 sn_ov7648,
211 sn_ov7660 243 sn_ov7660
212}; 244};
213 245
214static const __u8 regsn20[] = { 246static const __u8 gamma_def[] = {
215 0x00, 0x2d, 0x46, 0x5a, 0x6c, 0x7c, 0x8b, 0x99, 247 0x00, 0x2d, 0x46, 0x5a, 0x6c, 0x7c, 0x8b, 0x99,
216 0xa6, 0xb2, 0xbf, 0xca, 0xd5, 0xe0, 0xeb, 0xf5, 0xff 248 0xa6, 0xb2, 0xbf, 0xca, 0xd5, 0xe0, 0xeb, 0xf5, 0xff
217}; 249};
218static const __u8 regsn20_sn9c325[] = {
219 0x0a, 0x3a, 0x56, 0x6c, 0x7e, 0x8d, 0x9a, 0xa4,
220 0xaf, 0xbb, 0xc5, 0xcd, 0xd5, 0xde, 0xe8, 0xed, 0xf5
221};
222 250
223static const __u8 reg84[] = { 251static const __u8 reg84[] = {
224 0x14, 0x00, 0x27, 0x00, 0x07, 0x00, 0xe5, 0x0f, 252 0x14, 0x00, 0x27, 0x00, 0x07, 0x00, 0xe5, 0x0f,
225 0xe4, 0x0f, 0x38, 0x00, 0x3e, 0x00, 0xc3, 0x0f, 253 0xe4, 0x0f, 0x38, 0x00, 0x3e, 0x00, 0xc3, 0x0f,
226/* 0x00, 0x00, 0x00, 0x00, 0x00 */ 254 0xf7, 0x0f, 0x00, 0x00, 0x00
227 0xf7, 0x0f, 0x0a, 0x00, 0x00
228};
229static const __u8 reg84_sn9c325[] = {
230 0x14, 0x00, 0x27, 0x00, 0x07, 0x00, 0xe4, 0x0f,
231 0xd3, 0x0f, 0x4b, 0x00, 0x48, 0x00, 0xc0, 0x0f,
232 0xf8, 0x0f, 0x00, 0x00, 0x00
233}; 255};
234
235static const __u8 hv7131r_sensor_init[][8] = { 256static const __u8 hv7131r_sensor_init[][8] = {
236 {0xC1, 0x11, 0x01, 0x08, 0x01, 0x00, 0x00, 0x10}, 257 {0xC1, 0x11, 0x01, 0x08, 0x01, 0x00, 0x00, 0x10},
237 {0xB1, 0x11, 0x34, 0x17, 0x7F, 0x00, 0x00, 0x10}, 258 {0xB1, 0x11, 0x34, 0x17, 0x7F, 0x00, 0x00, 0x10},
@@ -340,6 +361,92 @@ static const __u8 mo4000_sensor_init[][8] = {
340 {0xa1, 0x21, 0x11, 0x38, 0x00, 0x00, 0x00, 0x10}, 361 {0xa1, 0x21, 0x11, 0x38, 0x00, 0x00, 0x00, 0x10},
341 {} 362 {}
342}; 363};
364static __u8 om6802_sensor_init[][8] = {
365 {0xa0, 0x34, 0x90, 0x05, 0x00, 0x00, 0x00, 0x10},
366 {0xa0, 0x34, 0x49, 0x85, 0x00, 0x00, 0x00, 0x10},
367 {0xa0, 0x34, 0x5a, 0xc0, 0x00, 0x00, 0x00, 0x10},
368 {0xa0, 0x34, 0xdd, 0x18, 0x00, 0x00, 0x00, 0x10},
369/* {0xa0, 0x34, 0xfb, 0x11, 0x00, 0x00, 0x00, 0x10}, */
370 {0xa0, 0x34, 0xf0, 0x04, 0x00, 0x00, 0x00, 0x10},
371 /* white balance & auto-exposure */
372/* {0xa0, 0x34, 0xf1, 0x02, 0x00, 0x00, 0x00, 0x10},
373 * set color mode */
374/* {0xa0, 0x34, 0xfe, 0x5b, 0x00, 0x00, 0x00, 0x10},
375 * max AGC value in AE */
376/* {0xa0, 0x34, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x10},
377 * preset AGC */
378/* {0xa0, 0x34, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x10},
379 * preset brightness */
380/* {0xa0, 0x34, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x10},
381 * preset contrast */
382/* {0xa0, 0x34, 0xe8, 0x31, 0x00, 0x00, 0x00, 0x10},
383 * preset gamma */
384 {0xa0, 0x34, 0xe9, 0x0f, 0x00, 0x00, 0x00, 0x10},
385 /* luminance mode (0x4f = AE) */
386 {0xa0, 0x34, 0xe4, 0xff, 0x00, 0x00, 0x00, 0x10},
387 /* preset shutter */
388/* {0xa0, 0x34, 0xef, 0x00, 0x00, 0x00, 0x00, 0x10},
389 * auto frame rate */
390/* {0xa0, 0x34, 0xfb, 0xee, 0x00, 0x00, 0x00, 0x10}, */
391
392/* {0xa0, 0x34, 0x71, 0x84, 0x00, 0x00, 0x00, 0x10}, */
393/* {0xa0, 0x34, 0x72, 0x05, 0x00, 0x00, 0x00, 0x10}, */
394/* {0xa0, 0x34, 0x68, 0x80, 0x00, 0x00, 0x00, 0x10}, */
395/* {0xa0, 0x34, 0x69, 0x01, 0x00, 0x00, 0x00, 0x10}, */
396 {}
397};
398static const __u8 ov7630_sensor_init[][8] = {
399 {0xa1, 0x21, 0x76, 0x01, 0x00, 0x00, 0x00, 0x10},
400 {0xa1, 0x21, 0x12, 0xc8, 0x00, 0x00, 0x00, 0x10},
401/* win: delay 20ms */
402 {0xa1, 0x21, 0x12, 0x48, 0x00, 0x00, 0x00, 0x10},
403 {0xa1, 0x21, 0x12, 0xc8, 0x00, 0x00, 0x00, 0x10},
404/* win: delay 20ms */
405 {0xa1, 0x21, 0x12, 0x48, 0x00, 0x00, 0x00, 0x10},
406/* win: i2c_r from 00 to 80 */
407 {0xd1, 0x21, 0x03, 0x80, 0x10, 0x20, 0x80, 0x10},
408 {0xb1, 0x21, 0x0c, 0x20, 0x20, 0x00, 0x00, 0x10},
409 {0xd1, 0x21, 0x11, 0x00, 0x48, 0xc0, 0x00, 0x10},
410 {0xb1, 0x21, 0x15, 0x80, 0x03, 0x00, 0x00, 0x10},
411 {0xd1, 0x21, 0x17, 0x1b, 0xbd, 0x05, 0xf6, 0x10},
412 {0xa1, 0x21, 0x1b, 0x04, 0x00, 0x00, 0x00, 0x10},
413 {0xd1, 0x21, 0x1f, 0x00, 0x80, 0x80, 0x80, 0x10},
414 {0xd1, 0x21, 0x23, 0xde, 0x10, 0x8a, 0xa0, 0x10},
415 {0xc1, 0x21, 0x27, 0xca, 0xa2, 0x74, 0x00, 0x10},
416 {0xd1, 0x21, 0x2a, 0x88, 0x00, 0x88, 0x01, 0x10},
417 {0xc1, 0x21, 0x2e, 0x80, 0x00, 0x18, 0x00, 0x10},
418 {0xa1, 0x21, 0x21, 0x08, 0x00, 0x00, 0x00, 0x10},
419 {0xa1, 0x21, 0x22, 0x00, 0x00, 0x00, 0x00, 0x10},
420 {0xa1, 0x21, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x10},
421 {0xb1, 0x21, 0x32, 0xc2, 0x08, 0x00, 0x00, 0x10},
422 {0xb1, 0x21, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x10},
423 {0xd1, 0x21, 0x60, 0x05, 0x40, 0x12, 0x57, 0x10},
424 {0xa1, 0x21, 0x64, 0x73, 0x00, 0x00, 0x00, 0x10},
425 {0xd1, 0x21, 0x65, 0x00, 0x55, 0x01, 0xac, 0x10},
426 {0xa1, 0x21, 0x69, 0x38, 0x00, 0x00, 0x00, 0x10},
427 {0xd1, 0x21, 0x6f, 0x1f, 0x01, 0x00, 0x10, 0x10},
428 {0xd1, 0x21, 0x73, 0x50, 0x20, 0x02, 0x01, 0x10},
429 {0xd1, 0x21, 0x77, 0xf3, 0x90, 0x98, 0x98, 0x10},
430 {0xc1, 0x21, 0x7b, 0x00, 0x4c, 0xf7, 0x00, 0x10},
431 {0xd1, 0x21, 0x17, 0x1b, 0xbd, 0x05, 0xf6, 0x10},
432 {0xa1, 0x21, 0x1b, 0x04, 0x00, 0x00, 0x00, 0x10},
433/* */
434 {0xa1, 0x21, 0x12, 0x48, 0x00, 0x00, 0x00, 0x10},
435 {0xa1, 0x21, 0x12, 0x48, 0x00, 0x00, 0x00, 0x10},
436/*fixme: + 0x12, 0x04*/
437 {0xa1, 0x21, 0x75, 0x82, 0x00, 0x00, 0x00, 0x10},
438 {0xa1, 0x21, 0x10, 0x32, 0x00, 0x00, 0x00, 0x10},
439 {0xa1, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10},
440 {0xb1, 0x21, 0x01, 0x80, 0x80, 0x00, 0x00, 0x10},
441/* */
442 {0xa1, 0x21, 0x11, 0x00, 0x00, 0x00, 0x00, 0x10},
443 {0xa1, 0x21, 0x2a, 0x88, 0x00, 0x00, 0x00, 0x10},
444 {0xa1, 0x21, 0x2b, 0x34, 0x00, 0x00, 0x00, 0x10},
445/* */
446 {0xa1, 0x21, 0x10, 0x83, 0x00, 0x00, 0x00, 0x10},
447/* {0xb1, 0x21, 0x01, 0x88, 0x70, 0x00, 0x00, 0x10}, */
448 {}
449};
343static const __u8 ov7660_sensor_init[][8] = { 450static const __u8 ov7660_sensor_init[][8] = {
344 {0xa1, 0x21, 0x12, 0x80, 0x00, 0x00, 0x00, 0x10}, /* reset SCCB */ 451 {0xa1, 0x21, 0x12, 0x80, 0x00, 0x00, 0x00, 0x10}, /* reset SCCB */
345/* (delay 20ms) */ 452/* (delay 20ms) */
@@ -506,10 +613,16 @@ static const __u8 qtable4[] = {
506 0x29, 0x29, 0x29, 0x29 613 0x29, 0x29, 0x29, 0x29
507}; 614};
508 615
509/* read <len> bytes (len < sizeof gspca_dev->usb_buf) to gspca_dev->usb_buf */ 616/* read <len> bytes to gspca_dev->usb_buf */
510static void reg_r(struct gspca_dev *gspca_dev, 617static void reg_r(struct gspca_dev *gspca_dev,
511 __u16 value, int len) 618 __u16 value, int len)
512{ 619{
620#ifdef GSPCA_DEBUG
621 if (len > USB_BUF_SZ) {
622 err("reg_r: buffer overflow");
623 return;
624 }
625#endif
513 usb_control_msg(gspca_dev->dev, 626 usb_control_msg(gspca_dev->dev,
514 usb_rcvctrlpipe(gspca_dev->dev, 0), 627 usb_rcvctrlpipe(gspca_dev->dev, 0),
515 0, 628 0,
@@ -542,29 +655,20 @@ static void reg_w(struct gspca_dev *gspca_dev,
542{ 655{
543 PDEBUG(D_USBO, "reg_w [%02x] = %02x %02x ..", 656 PDEBUG(D_USBO, "reg_w [%02x] = %02x %02x ..",
544 value, buffer[0], buffer[1]); 657 value, buffer[0], buffer[1]);
545 if (len <= sizeof gspca_dev->usb_buf) { 658#ifdef GSPCA_DEBUG
546 memcpy(gspca_dev->usb_buf, buffer, len); 659 if (len > USB_BUF_SZ) {
547 usb_control_msg(gspca_dev->dev, 660 err("reg_w: buffer overflow");
548 usb_sndctrlpipe(gspca_dev->dev, 0), 661 return;
549 0x08,
550 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
551 value, 0,
552 gspca_dev->usb_buf, len,
553 500);
554 } else {
555 __u8 *tmpbuf;
556
557 tmpbuf = kmalloc(len, GFP_KERNEL);
558 memcpy(tmpbuf, buffer, len);
559 usb_control_msg(gspca_dev->dev,
560 usb_sndctrlpipe(gspca_dev->dev, 0),
561 0x08,
562 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
563 value, 0,
564 tmpbuf, len,
565 500);
566 kfree(tmpbuf);
567 } 662 }
663#endif
664 memcpy(gspca_dev->usb_buf, buffer, len);
665 usb_control_msg(gspca_dev->dev,
666 usb_sndctrlpipe(gspca_dev->dev, 0),
667 0x08,
668 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
669 value, 0,
670 gspca_dev->usb_buf, len,
671 500);
568} 672}
569 673
570/* I2C write 1 byte */ 674/* I2C write 1 byte */
@@ -665,7 +769,7 @@ static int configure_gpio(struct gspca_dev *gspca_dev,
665 static const __u8 regd4[] = {0x60, 0x00, 0x00}; 769 static const __u8 regd4[] = {0x60, 0x00, 0x00};
666 770
667 reg_w1(gspca_dev, 0xf1, 0x00); 771 reg_w1(gspca_dev, 0xf1, 0x00);
668 reg_w1(gspca_dev, 0x01, 0x00); /*jfm was sn9c1xx[1] in v1*/ 772 reg_w1(gspca_dev, 0x01, sn9c1xx[1]);
669 773
670 /* configure gpio */ 774 /* configure gpio */
671 reg_w(gspca_dev, 0x01, &sn9c1xx[1], 2); 775 reg_w(gspca_dev, 0x01, &sn9c1xx[1], 2);
@@ -685,21 +789,41 @@ static int configure_gpio(struct gspca_dev *gspca_dev,
685 789
686 reg_w(gspca_dev, 0x03, &sn9c1xx[3], 0x0f); 790 reg_w(gspca_dev, 0x03, &sn9c1xx[3], 0x0f);
687 791
688 switch (sd->bridge) { 792 switch (sd->sensor) {
689 case BRIDGE_SN9C325: 793 case SENSOR_OM6802:
794 reg_w1(gspca_dev, 0x02, 0x71);
795 reg_w1(gspca_dev, 0x01, 0x42);
796 reg_w1(gspca_dev, 0x17, 0x64);
797 reg_w1(gspca_dev, 0x01, 0x42);
798 break;
799/*jfm: from win trace */
800 case SENSOR_OV7630:
801 reg_w1(gspca_dev, 0x01, 0x61);
802 reg_w1(gspca_dev, 0x17, 0xe2);
803 reg_w1(gspca_dev, 0x01, 0x60);
804 reg_w1(gspca_dev, 0x01, 0x40);
805 break;
806 case SENSOR_OV7648:
690 reg_w1(gspca_dev, 0x01, 0x43); 807 reg_w1(gspca_dev, 0x01, 0x43);
691 reg_w1(gspca_dev, 0x17, 0xae); 808 reg_w1(gspca_dev, 0x17, 0xae);
692 reg_w1(gspca_dev, 0x01, 0x42); 809 reg_w1(gspca_dev, 0x01, 0x42);
693 break; 810 break;
811/*jfm: from win trace */
812 case SENSOR_OV7660:
813 reg_w1(gspca_dev, 0x01, 0x61);
814 reg_w1(gspca_dev, 0x17, 0x20);
815 reg_w1(gspca_dev, 0x01, 0x60);
816 reg_w1(gspca_dev, 0x01, 0x40);
817 break;
694 default: 818 default:
695 reg_w1(gspca_dev, 0x01, 0x43); 819 reg_w1(gspca_dev, 0x01, 0x43);
696 reg_w1(gspca_dev, 0x17, 0x61); 820 reg_w1(gspca_dev, 0x17, 0x61);
697 reg_w1(gspca_dev, 0x01, 0x42); 821 reg_w1(gspca_dev, 0x01, 0x42);
698 } 822 if (sd->sensor == SENSOR_HV7131R) {
699 823 if (probesensor(gspca_dev) < 0)
700 if (sd->sensor == SENSOR_HV7131R) { 824 return -ENODEV;
701 if (probesensor(gspca_dev) < 0) 825 }
702 return -ENODEV; 826 break;
703 } 827 }
704 return 0; 828 return 0;
705} 829}
@@ -737,6 +861,40 @@ static void mo4000_InitSensor(struct gspca_dev *gspca_dev)
737 } 861 }
738} 862}
739 863
864static void om6802_InitSensor(struct gspca_dev *gspca_dev)
865{
866 int i = 0;
867
868 while (om6802_sensor_init[i][0]) {
869 i2c_w8(gspca_dev, om6802_sensor_init[i]);
870 i++;
871 }
872}
873
874static void ov7630_InitSensor(struct gspca_dev *gspca_dev)
875{
876 int i = 0;
877
878 i2c_w8(gspca_dev, ov7630_sensor_init[i]); /* 76 01 */
879 i++;
880 i2c_w8(gspca_dev, ov7630_sensor_init[i]); /* 12 c8 (RGB+SRST) */
881 i++;
882 msleep(20);
883 i2c_w8(gspca_dev, ov7630_sensor_init[i]); /* 12 48 */
884 i++;
885 i2c_w8(gspca_dev, ov7630_sensor_init[i]); /* 12 c8 */
886 i++;
887 msleep(20);
888 i2c_w8(gspca_dev, ov7630_sensor_init[i]); /* 12 48 */
889 i++;
890/*jfm:win i2c_r from 00 to 80*/
891
892 while (ov7630_sensor_init[i][0]) {
893 i2c_w8(gspca_dev, ov7630_sensor_init[i]);
894 i++;
895 }
896}
897
740static void ov7648_InitSensor(struct gspca_dev *gspca_dev) 898static void ov7648_InitSensor(struct gspca_dev *gspca_dev)
741{ 899{
742 int i = 0; 900 int i = 0;
@@ -783,11 +941,19 @@ static int sd_config(struct gspca_dev *gspca_dev,
783 sd->autogain = AUTOGAIN_DEF; 941 sd->autogain = AUTOGAIN_DEF;
784 sd->ag_cnt = -1; 942 sd->ag_cnt = -1;
785 943
944 switch (sd->sensor) {
945 case SENSOR_OV7630:
946 case SENSOR_OV7648:
947 case SENSOR_OV7660:
948 gspca_dev->ctrl_dis = (1 << AUTOGAIN_IDX);
949 break;
950 }
951
786 return 0; 952 return 0;
787} 953}
788 954
789/* this function is called at open time */ 955/* this function is called at probe and resume time */
790static int sd_open(struct gspca_dev *gspca_dev) 956static int sd_init(struct gspca_dev *gspca_dev)
791{ 957{
792 struct sd *sd = (struct sd *) gspca_dev; 958 struct sd *sd = (struct sd *) gspca_dev;
793/* const __u8 *sn9c1xx; */ 959/* const __u8 *sn9c1xx; */
@@ -891,16 +1057,53 @@ static unsigned int setexposure(struct gspca_dev *gspca_dev,
891 | ((expoMo10[3] & 0x30) >> 4)); 1057 | ((expoMo10[3] & 0x30) >> 4));
892 break; 1058 break;
893 } 1059 }
1060 case SENSOR_OM6802: {
1061 __u8 gainOm[] =
1062 { 0xa0, 0x34, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x10 };
1063
1064 if (expo > 0x03ff)
1065 expo = 0x03ff;
1066 if (expo < 0x0001)
1067 expo = 0x0001;
1068 gainOm[3] = expo >> 2;
1069 i2c_w8(gspca_dev, gainOm);
1070 reg_w1(gspca_dev, 0x96, (expo >> 5) & 0x1f);
1071 PDEBUG(D_CONF, "set exposure %d", gainOm[3]);
1072 break;
1073 }
894 } 1074 }
895 return expo; 1075 return expo;
896} 1076}
897 1077
1078/* this function is used for sensors o76xx only */
1079static void setbrightcont(struct gspca_dev *gspca_dev)
1080{
1081 struct sd *sd = (struct sd *) gspca_dev;
1082 unsigned val;
1083 __u8 reg84_full[0x15];
1084
1085 memset(reg84_full, 0, sizeof reg84_full);
1086 val = sd->contrast * 0x20 / CONTRAST_MAX + 0x10; /* 10..30 */
1087 reg84_full[2] = val;
1088 reg84_full[0] = (val + 1) / 2;
1089 reg84_full[4] = (val + 1) / 5;
1090 if (val > BRIGHTNESS_DEF)
1091 val = (sd->brightness - BRIGHTNESS_DEF) * 0x20
1092 / BRIGHTNESS_MAX;
1093 else
1094 val = 0;
1095 reg84_full[0x12] = val; /* 00..1f */
1096 reg_w(gspca_dev, 0x84, reg84_full, sizeof reg84_full);
1097}
1098
1099/* sensor != ov76xx */
898static void setbrightness(struct gspca_dev *gspca_dev) 1100static void setbrightness(struct gspca_dev *gspca_dev)
899{ 1101{
900 struct sd *sd = (struct sd *) gspca_dev; 1102 struct sd *sd = (struct sd *) gspca_dev;
901 unsigned int expo; 1103 unsigned int expo;
902 __u8 k2; 1104 __u8 k2;
903 1105
1106 k2 = sd->brightness >> 10;
904 switch (sd->sensor) { 1107 switch (sd->sensor) {
905 case SENSOR_HV7131R: 1108 case SENSOR_HV7131R:
906 expo = sd->brightness << 4; 1109 expo = sd->brightness << 4;
@@ -915,12 +1118,17 @@ static void setbrightness(struct gspca_dev *gspca_dev)
915 expo = sd->brightness >> 4; 1118 expo = sd->brightness >> 4;
916 sd->exposure = setexposure(gspca_dev, expo); 1119 sd->exposure = setexposure(gspca_dev, expo);
917 break; 1120 break;
1121 case SENSOR_OM6802:
1122 expo = sd->brightness >> 6;
1123 sd->exposure = setexposure(gspca_dev, expo);
1124 k2 = sd->brightness >> 11;
1125 break;
918 } 1126 }
919 1127
920 k2 = sd->brightness >> 10;
921 reg_w1(gspca_dev, 0x96, k2); 1128 reg_w1(gspca_dev, 0x96, k2);
922} 1129}
923 1130
1131/* sensor != ov76xx */
924static void setcontrast(struct gspca_dev *gspca_dev) 1132static void setcontrast(struct gspca_dev *gspca_dev)
925{ 1133{
926 struct sd *sd = (struct sd *) gspca_dev; 1134 struct sd *sd = (struct sd *) gspca_dev;
@@ -937,31 +1145,30 @@ static void setcontrast(struct gspca_dev *gspca_dev)
937static void setcolors(struct gspca_dev *gspca_dev) 1145static void setcolors(struct gspca_dev *gspca_dev)
938{ 1146{
939 struct sd *sd = (struct sd *) gspca_dev; 1147 struct sd *sd = (struct sd *) gspca_dev;
940 __u8 data; 1148 __u8 blue, red;
941 int colour;
942 1149
943 colour = sd->colors - 128; 1150 if (sd->colors >= 32) {
944 if (colour > 0) 1151 red = 32 + (sd->colors - 32) / 2;
945 data = (colour + 32) & 0x7f; /* blue */ 1152 blue = 64 - sd->colors;
946 else 1153 } else {
947 data = (-colour + 32) & 0x7f; /* red */ 1154 red = sd->colors;
948 reg_w1(gspca_dev, 0x05, data); 1155 blue = 32 + (32 - sd->colors) / 2;
1156 }
1157 reg_w1(gspca_dev, 0x05, red);
1158/* reg_w1(gspca_dev, 0x07, 32); */
1159 reg_w1(gspca_dev, 0x06, blue);
949} 1160}
950 1161
951static void setautogain(struct gspca_dev *gspca_dev) 1162static void setautogain(struct gspca_dev *gspca_dev)
952{ 1163{
953 struct sd *sd = (struct sd *) gspca_dev; 1164 struct sd *sd = (struct sd *) gspca_dev;
954 1165
955 switch (sd->sensor) { 1166 if (gspca_dev->ctrl_dis & (1 << AUTOGAIN_IDX))
956 case SENSOR_HV7131R: 1167 return;
957 case SENSOR_MO4000: 1168 if (sd->autogain)
958 case SENSOR_MI0360: 1169 sd->ag_cnt = AG_CNT_START;
959 if (sd->autogain) 1170 else
960 sd->ag_cnt = AG_CNT_START; 1171 sd->ag_cnt = -1;
961 else
962 sd->ag_cnt = -1;
963 break;
964 }
965} 1172}
966 1173
967/* -- start the camera -- */ 1174/* -- start the camera -- */
@@ -975,13 +1182,12 @@ static void sd_start(struct gspca_dev *gspca_dev)
975 static const __u8 C0[] = { 0x2d, 0x2d, 0x3a, 0x05, 0x04, 0x3f }; 1182 static const __u8 C0[] = { 0x2d, 0x2d, 0x3a, 0x05, 0x04, 0x3f };
976 static const __u8 CA[] = { 0x28, 0xd8, 0x14, 0xec }; 1183 static const __u8 CA[] = { 0x28, 0xd8, 0x14, 0xec };
977 static const __u8 CE[] = { 0x32, 0xdd, 0x2d, 0xdd }; /* MI0360 */ 1184 static const __u8 CE[] = { 0x32, 0xdd, 0x2d, 0xdd }; /* MI0360 */
978 static const __u8 CE_sn9c325[] = 1185 static const __u8 CE_ov76xx[] =
979 { 0x32, 0xdd, 0x32, 0xdd }; /* OV7648 - SN9C325 */ 1186 { 0x32, 0xdd, 0x32, 0xdd }; /* OV7630/48 */
980 1187
981 sn9c1xx = sn_tb[(int) sd->sensor]; 1188 sn9c1xx = sn_tb[(int) sd->sensor];
982 configure_gpio(gspca_dev, sn9c1xx); 1189 configure_gpio(gspca_dev, sn9c1xx);
983 1190
984/* reg_w1(gspca_dev, 0x01, 0x44); jfm from win trace*/
985 reg_w1(gspca_dev, 0x15, sn9c1xx[0x15]); 1191 reg_w1(gspca_dev, 0x15, sn9c1xx[0x15]);
986 reg_w1(gspca_dev, 0x16, sn9c1xx[0x16]); 1192 reg_w1(gspca_dev, 0x16, sn9c1xx[0x16]);
987 reg_w1(gspca_dev, 0x12, sn9c1xx[0x12]); 1193 reg_w1(gspca_dev, 0x12, sn9c1xx[0x12]);
@@ -994,10 +1200,17 @@ static void sd_start(struct gspca_dev *gspca_dev)
994 reg_w1(gspca_dev, 0xc8, 0x50); 1200 reg_w1(gspca_dev, 0xc8, 0x50);
995 reg_w1(gspca_dev, 0xc9, 0x3c); 1201 reg_w1(gspca_dev, 0xc9, 0x3c);
996 reg_w1(gspca_dev, 0x18, sn9c1xx[0x18]); 1202 reg_w1(gspca_dev, 0x18, sn9c1xx[0x18]);
997 switch (sd->bridge) { 1203 switch (sd->sensor) {
998 case BRIDGE_SN9C325: 1204 case SENSOR_OV7630:
1205 reg17 = 0xe2;
1206 break;
1207 case SENSOR_OV7648:
999 reg17 = 0xae; 1208 reg17 = 0xae;
1000 break; 1209 break;
1210/*jfm: from win trace */
1211 case SENSOR_OV7660:
1212 reg17 = 0xa0;
1213 break;
1001 default: 1214 default:
1002 reg17 = 0x60; 1215 reg17 = 0x60;
1003 break; 1216 break;
@@ -1007,24 +1220,11 @@ static void sd_start(struct gspca_dev *gspca_dev)
1007 reg_w1(gspca_dev, 0x07, sn9c1xx[7]); 1220 reg_w1(gspca_dev, 0x07, sn9c1xx[7]);
1008 reg_w1(gspca_dev, 0x06, sn9c1xx[6]); 1221 reg_w1(gspca_dev, 0x06, sn9c1xx[6]);
1009 reg_w1(gspca_dev, 0x14, sn9c1xx[0x14]); 1222 reg_w1(gspca_dev, 0x14, sn9c1xx[0x14]);
1010 switch (sd->bridge) { 1223 reg_w(gspca_dev, 0x20, gamma_def, sizeof gamma_def);
1011 case BRIDGE_SN9C325: 1224 for (i = 0; i < 8; i++)
1012 reg_w(gspca_dev, 0x20, regsn20_sn9c325, 1225 reg_w(gspca_dev, 0x84, reg84, sizeof reg84);
1013 sizeof regsn20_sn9c325);
1014 for (i = 0; i < 8; i++)
1015 reg_w(gspca_dev, 0x84, reg84_sn9c325,
1016 sizeof reg84_sn9c325);
1017 reg_w1(gspca_dev, 0x9a, 0x0a);
1018 reg_w1(gspca_dev, 0x99, 0x60);
1019 break;
1020 default:
1021 reg_w(gspca_dev, 0x20, regsn20, sizeof regsn20);
1022 for (i = 0; i < 8; i++)
1023 reg_w(gspca_dev, 0x84, reg84, sizeof reg84);
1024 reg_w1(gspca_dev, 0x9a, 0x08); 1226 reg_w1(gspca_dev, 0x9a, 0x08);
1025 reg_w1(gspca_dev, 0x99, 0x59); 1227 reg_w1(gspca_dev, 0x99, 0x59);
1026 break;
1027 }
1028 1228
1029 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; 1229 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
1030 if (mode) 1230 if (mode)
@@ -1049,6 +1249,15 @@ static void sd_start(struct gspca_dev *gspca_dev)
1049/* reg1 = 0x06; * 640 clk 24Mz (done) */ 1249/* reg1 = 0x06; * 640 clk 24Mz (done) */
1050 } 1250 }
1051 break; 1251 break;
1252 case SENSOR_OM6802:
1253 om6802_InitSensor(gspca_dev);
1254 reg17 = 0x64; /* 640 MCKSIZE */
1255 break;
1256 case SENSOR_OV7630:
1257 ov7630_InitSensor(gspca_dev);
1258 reg17 = 0xe2;
1259 reg1 = 0x44;
1260 break;
1052 case SENSOR_OV7648: 1261 case SENSOR_OV7648:
1053 ov7648_InitSensor(gspca_dev); 1262 ov7648_InitSensor(gspca_dev);
1054 reg17 = 0xa2; 1263 reg17 = 0xa2;
@@ -1073,9 +1282,10 @@ static void sd_start(struct gspca_dev *gspca_dev)
1073 } 1282 }
1074 reg_w(gspca_dev, 0xc0, C0, 6); 1283 reg_w(gspca_dev, 0xc0, C0, 6);
1075 reg_w(gspca_dev, 0xca, CA, 4); 1284 reg_w(gspca_dev, 0xca, CA, 4);
1076 switch (sd->bridge) { 1285 switch (sd->sensor) {
1077 case BRIDGE_SN9C325: 1286 case SENSOR_OV7630:
1078 reg_w(gspca_dev, 0xce, CE_sn9c325, 4); 1287 case SENSOR_OV7648:
1288 reg_w(gspca_dev, 0xce, CE_ov76xx, 4);
1079 break; 1289 break;
1080 default: 1290 default:
1081 reg_w(gspca_dev, 0xce, CE, 4); 1291 reg_w(gspca_dev, 0xce, CE, 4);
@@ -1093,10 +1303,20 @@ static void sd_start(struct gspca_dev *gspca_dev)
1093 reg_w1(gspca_dev, 0x18, reg18); 1303 reg_w1(gspca_dev, 0x18, reg18);
1094 1304
1095 reg_w1(gspca_dev, 0x17, reg17); 1305 reg_w1(gspca_dev, 0x17, reg17);
1096 reg_w1(gspca_dev, 0x01, reg1); 1306 switch (sd->sensor) {
1097 setbrightness(gspca_dev); 1307 case SENSOR_HV7131R:
1098 setcontrast(gspca_dev); 1308 case SENSOR_MI0360:
1309 case SENSOR_MO4000:
1310 case SENSOR_OM6802:
1311 setbrightness(gspca_dev);
1312 setcontrast(gspca_dev);
1313 break;
1314 default: /* OV76xx */
1315 setbrightcont(gspca_dev);
1316 break;
1317 }
1099 setautogain(gspca_dev); 1318 setautogain(gspca_dev);
1319 reg_w1(gspca_dev, 0x01, reg1);
1100} 1320}
1101 1321
1102static void sd_stopN(struct gspca_dev *gspca_dev) 1322static void sd_stopN(struct gspca_dev *gspca_dev)
@@ -1119,6 +1339,7 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1119 i2c_w8(gspca_dev, stopmi0360); 1339 i2c_w8(gspca_dev, stopmi0360);
1120 data = 0x29; 1340 data = 0x29;
1121 break; 1341 break;
1342 case SENSOR_OV7630:
1122 case SENSOR_OV7648: 1343 case SENSOR_OV7648:
1123 data = 0x29; 1344 data = 0x29;
1124 break; 1345 break;
@@ -1132,15 +1353,7 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1132 reg_w1(gspca_dev, 0x17, sn9c1xx[0x17]); 1353 reg_w1(gspca_dev, 0x17, sn9c1xx[0x17]);
1133 reg_w1(gspca_dev, 0x01, sn9c1xx[1]); 1354 reg_w1(gspca_dev, 0x01, sn9c1xx[1]);
1134 reg_w1(gspca_dev, 0x01, data); 1355 reg_w1(gspca_dev, 0x01, data);
1135 reg_w1(gspca_dev, 0xf1, 0x01); 1356 reg_w1(gspca_dev, 0xf1, 0x00);
1136}
1137
1138static void sd_stop0(struct gspca_dev *gspca_dev)
1139{
1140}
1141
1142static void sd_close(struct gspca_dev *gspca_dev)
1143{
1144} 1357}
1145 1358
1146static void do_autogain(struct gspca_dev *gspca_dev) 1359static void do_autogain(struct gspca_dev *gspca_dev)
@@ -1174,6 +1387,7 @@ static void do_autogain(struct gspca_dev *gspca_dev)
1174 default: 1387 default:
1175/* case SENSOR_MO4000: */ 1388/* case SENSOR_MO4000: */
1176/* case SENSOR_MI0360: */ 1389/* case SENSOR_MI0360: */
1390/* case SENSOR_OM6802: */
1177 expotimes = sd->exposure; 1391 expotimes = sd->exposure;
1178 expotimes += (luma_mean - delta) >> 6; 1392 expotimes += (luma_mean - delta) >> 6;
1179 if (expotimes < 0) 1393 if (expotimes < 0)
@@ -1229,69 +1443,24 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1229 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len); 1443 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
1230} 1444}
1231 1445
1232static unsigned int getexposure(struct gspca_dev *gspca_dev)
1233{
1234 struct sd *sd = (struct sd *) gspca_dev;
1235 __u8 hexpo, mexpo, lexpo;
1236
1237 switch (sd->sensor) {
1238 case SENSOR_HV7131R:
1239 /* read sensor exposure */
1240 i2c_r5(gspca_dev, 0x25);
1241 return (gspca_dev->usb_buf[0] << 16)
1242 | (gspca_dev->usb_buf[1] << 8)
1243 | gspca_dev->usb_buf[2];
1244 case SENSOR_MI0360:
1245 /* read sensor exposure */
1246 i2c_r5(gspca_dev, 0x09);
1247 return (gspca_dev->usb_buf[0] << 8)
1248 | gspca_dev->usb_buf[1];
1249 case SENSOR_MO4000:
1250 i2c_r5(gspca_dev, 0x0e);
1251 hexpo = 0; /* gspca_dev->usb_buf[1] & 0x07; */
1252 mexpo = 0x40; /* gspca_dev->usb_buf[2] & 0xff; */
1253 lexpo = (gspca_dev->usb_buf[1] & 0x30) >> 4;
1254 PDEBUG(D_CONF, "exposure %d",
1255 (hexpo << 10) | (mexpo << 2) | lexpo);
1256 return (hexpo << 10) | (mexpo << 2) | lexpo;
1257 default:
1258/* case SENSOR_OV7648: * jfm: is it ok for 7648? */
1259/* case SENSOR_OV7660: */
1260 /* read sensor exposure */
1261 i2c_r5(gspca_dev, 0x04);
1262 hexpo = gspca_dev->usb_buf[3] & 0x2f;
1263 lexpo = gspca_dev->usb_buf[0] & 0x02;
1264 i2c_r5(gspca_dev, 0x08);
1265 mexpo = gspca_dev->usb_buf[2];
1266 return (hexpo << 10) | (mexpo << 2) | lexpo;
1267 }
1268}
1269
1270static void getbrightness(struct gspca_dev *gspca_dev)
1271{
1272 struct sd *sd = (struct sd *) gspca_dev;
1273
1274 /* hardcoded registers seem not readable */
1275 switch (sd->sensor) {
1276 case SENSOR_HV7131R:
1277 sd->brightness = getexposure(gspca_dev) >> 4;
1278 break;
1279 case SENSOR_MI0360:
1280 sd->brightness = getexposure(gspca_dev) << 4;
1281 break;
1282 case SENSOR_MO4000:
1283 sd->brightness = getexposure(gspca_dev) << 4;
1284 break;
1285 }
1286}
1287
1288static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val) 1446static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val)
1289{ 1447{
1290 struct sd *sd = (struct sd *) gspca_dev; 1448 struct sd *sd = (struct sd *) gspca_dev;
1291 1449
1292 sd->brightness = val; 1450 sd->brightness = val;
1293 if (gspca_dev->streaming) 1451 if (gspca_dev->streaming) {
1294 setbrightness(gspca_dev); 1452 switch (sd->sensor) {
1453 case SENSOR_HV7131R:
1454 case SENSOR_MI0360:
1455 case SENSOR_MO4000:
1456 case SENSOR_OM6802:
1457 setbrightness(gspca_dev);
1458 break;
1459 default: /* OV76xx */
1460 setbrightcont(gspca_dev);
1461 break;
1462 }
1463 }
1295 return 0; 1464 return 0;
1296} 1465}
1297 1466
@@ -1299,7 +1468,6 @@ static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val)
1299{ 1468{
1300 struct sd *sd = (struct sd *) gspca_dev; 1469 struct sd *sd = (struct sd *) gspca_dev;
1301 1470
1302 getbrightness(gspca_dev);
1303 *val = sd->brightness; 1471 *val = sd->brightness;
1304 return 0; 1472 return 0;
1305} 1473}
@@ -1309,8 +1477,19 @@ static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
1309 struct sd *sd = (struct sd *) gspca_dev; 1477 struct sd *sd = (struct sd *) gspca_dev;
1310 1478
1311 sd->contrast = val; 1479 sd->contrast = val;
1312 if (gspca_dev->streaming) 1480 if (gspca_dev->streaming) {
1313 setcontrast(gspca_dev); 1481 switch (sd->sensor) {
1482 case SENSOR_HV7131R:
1483 case SENSOR_MI0360:
1484 case SENSOR_MO4000:
1485 case SENSOR_OM6802:
1486 setcontrast(gspca_dev);
1487 break;
1488 default: /* OV76xx */
1489 setbrightcont(gspca_dev);
1490 break;
1491 }
1492 }
1314 return 0; 1493 return 0;
1315} 1494}
1316 1495
@@ -1364,11 +1543,9 @@ static const struct sd_desc sd_desc = {
1364 .ctrls = sd_ctrls, 1543 .ctrls = sd_ctrls,
1365 .nctrls = ARRAY_SIZE(sd_ctrls), 1544 .nctrls = ARRAY_SIZE(sd_ctrls),
1366 .config = sd_config, 1545 .config = sd_config,
1367 .open = sd_open, 1546 .init = sd_init,
1368 .start = sd_start, 1547 .start = sd_start,
1369 .stopN = sd_stopN, 1548 .stopN = sd_stopN,
1370 .stop0 = sd_stop0,
1371 .close = sd_close,
1372 .pkt_scan = sd_pkt_scan, 1549 .pkt_scan = sd_pkt_scan,
1373 .dq_callback = do_autogain, 1550 .dq_callback = do_autogain,
1374}; 1551};
@@ -1379,7 +1556,7 @@ static const struct sd_desc sd_desc = {
1379 | (SENSOR_ ## sensor << 8) \ 1556 | (SENSOR_ ## sensor << 8) \
1380 | (i2c_addr) 1557 | (i2c_addr)
1381static const __devinitdata struct usb_device_id device_table[] = { 1558static const __devinitdata struct usb_device_id device_table[] = {
1382#ifndef CONFIG_USB_SN9C102 1559#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1383 {USB_DEVICE(0x0458, 0x7025), BSI(SN9C120, MI0360, 0x5d)}, 1560 {USB_DEVICE(0x0458, 0x7025), BSI(SN9C120, MI0360, 0x5d)},
1384 {USB_DEVICE(0x045e, 0x00f5), BSI(SN9C105, OV7660, 0x21)}, 1561 {USB_DEVICE(0x045e, 0x00f5), BSI(SN9C105, OV7660, 0x21)},
1385 {USB_DEVICE(0x045e, 0x00f7), BSI(SN9C105, OV7660, 0x21)}, 1562 {USB_DEVICE(0x045e, 0x00f7), BSI(SN9C105, OV7660, 0x21)},
@@ -1406,15 +1583,17 @@ static const __devinitdata struct usb_device_id device_table[] = {
1406/* {USB_DEVICE(0x0c45, 0x6108), BSI(SN9C120, OM6801, 0x??)}, */ 1583/* {USB_DEVICE(0x0c45, 0x6108), BSI(SN9C120, OM6801, 0x??)}, */
1407/* {USB_DEVICE(0x0c45, 0x6122), BSI(SN9C110, ICM105C, 0x??)}, */ 1584/* {USB_DEVICE(0x0c45, 0x6122), BSI(SN9C110, ICM105C, 0x??)}, */
1408/* {USB_DEVICE(0x0c45, 0x6123), BSI(SN9C110, SanyoCCD, 0x??)}, */ 1585/* {USB_DEVICE(0x0c45, 0x6123), BSI(SN9C110, SanyoCCD, 0x??)}, */
1409 {USB_DEVICE(0x0c45, 0x612a), BSI(SN9C325, OV7648, 0x21)}, 1586 {USB_DEVICE(0x0c45, 0x6128), BSI(SN9C110, OM6802, 0x21)}, /*sn9c325?*/
1410/* bw600.inf: 1587/*bw600.inf:*/
1411 {USB_DEVICE(0x0c45, 0x612a), BSI(SN9C110, OV7648, 0x21)}, */ 1588 {USB_DEVICE(0x0c45, 0x612a), BSI(SN9C110, OV7648, 0x21)}, /*sn9c325?*/
1412 {USB_DEVICE(0x0c45, 0x612c), BSI(SN9C110, MO4000, 0x21)}, 1589 {USB_DEVICE(0x0c45, 0x612c), BSI(SN9C110, MO4000, 0x21)},
1413/* {USB_DEVICE(0x0c45, 0x612e), BSI(SN9C110, OV7630, 0x??)}, */ 1590 {USB_DEVICE(0x0c45, 0x612e), BSI(SN9C110, OV7630, 0x21)},
1414/* {USB_DEVICE(0x0c45, 0x612f), BSI(SN9C110, ICM105C, 0x??)}, */ 1591/* {USB_DEVICE(0x0c45, 0x612f), BSI(SN9C110, ICM105C, 0x??)}, */
1415#ifndef CONFIG_USB_SN9C102 1592#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1416 {USB_DEVICE(0x0c45, 0x6130), BSI(SN9C120, MI0360, 0x5d)}, 1593 {USB_DEVICE(0x0c45, 0x6130), BSI(SN9C120, MI0360, 0x5d)},
1594#endif
1417 {USB_DEVICE(0x0c45, 0x6138), BSI(SN9C120, MO4000, 0x21)}, 1595 {USB_DEVICE(0x0c45, 0x6138), BSI(SN9C120, MO4000, 0x21)},
1596#if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
1418/* {USB_DEVICE(0x0c45, 0x613a), BSI(SN9C120, OV7648, 0x??)}, */ 1597/* {USB_DEVICE(0x0c45, 0x613a), BSI(SN9C120, OV7648, 0x??)}, */
1419 {USB_DEVICE(0x0c45, 0x613b), BSI(SN9C120, OV7660, 0x21)}, 1598 {USB_DEVICE(0x0c45, 0x613b), BSI(SN9C120, OV7660, 0x21)},
1420 {USB_DEVICE(0x0c45, 0x613c), BSI(SN9C120, HV7131R, 0x11)}, 1599 {USB_DEVICE(0x0c45, 0x613c), BSI(SN9C120, HV7131R, 0x11)},
@@ -1438,6 +1617,10 @@ static struct usb_driver sd_driver = {
1438 .id_table = device_table, 1617 .id_table = device_table,
1439 .probe = sd_probe, 1618 .probe = sd_probe,
1440 .disconnect = gspca_disconnect, 1619 .disconnect = gspca_disconnect,
1620#ifdef CONFIG_PM
1621 .suspend = gspca_suspend,
1622 .resume = gspca_resume,
1623#endif
1441}; 1624};
1442 1625
1443/* -- module insert / remove -- */ 1626/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca500.c b/drivers/media/video/gspca/spca500.c
index 17fe2c2a440d..6e733901fcca 100644
--- a/drivers/media/video/gspca/spca500.c
+++ b/drivers/media/video/gspca/spca500.c
@@ -645,8 +645,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
645 return 0; 645 return 0;
646} 646}
647 647
648/* this function is called at open time */ 648/* this function is called at probe and resume time */
649static int sd_open(struct gspca_dev *gspca_dev) 649static int sd_init(struct gspca_dev *gspca_dev)
650{ 650{
651 struct sd *sd = (struct sd *) gspca_dev; 651 struct sd *sd = (struct sd *) gspca_dev;
652 652
@@ -880,14 +880,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
880 gspca_dev->usb_buf[0]); 880 gspca_dev->usb_buf[0]);
881} 881}
882 882
883static void sd_stop0(struct gspca_dev *gspca_dev)
884{
885}
886
887static void sd_close(struct gspca_dev *gspca_dev)
888{
889}
890
891static void sd_pkt_scan(struct gspca_dev *gspca_dev, 883static void sd_pkt_scan(struct gspca_dev *gspca_dev,
892 struct gspca_frame *frame, /* target */ 884 struct gspca_frame *frame, /* target */
893 __u8 *data, /* isoc packet */ 885 __u8 *data, /* isoc packet */
@@ -1051,11 +1043,9 @@ static struct sd_desc sd_desc = {
1051 .ctrls = sd_ctrls, 1043 .ctrls = sd_ctrls,
1052 .nctrls = ARRAY_SIZE(sd_ctrls), 1044 .nctrls = ARRAY_SIZE(sd_ctrls),
1053 .config = sd_config, 1045 .config = sd_config,
1054 .open = sd_open, 1046 .init = sd_init,
1055 .start = sd_start, 1047 .start = sd_start,
1056 .stopN = sd_stopN, 1048 .stopN = sd_stopN,
1057 .stop0 = sd_stop0,
1058 .close = sd_close,
1059 .pkt_scan = sd_pkt_scan, 1049 .pkt_scan = sd_pkt_scan,
1060}; 1050};
1061 1051
@@ -1093,6 +1083,10 @@ static struct usb_driver sd_driver = {
1093 .id_table = device_table, 1083 .id_table = device_table,
1094 .probe = sd_probe, 1084 .probe = sd_probe,
1095 .disconnect = gspca_disconnect, 1085 .disconnect = gspca_disconnect,
1086#ifdef CONFIG_PM
1087 .suspend = gspca_suspend,
1088 .resume = gspca_resume,
1089#endif
1096}; 1090};
1097 1091
1098/* -- module insert / remove -- */ 1092/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca501.c b/drivers/media/video/gspca/spca501.c
index 51a3c3429ef0..e9eb59bae4fb 100644
--- a/drivers/media/video/gspca/spca501.c
+++ b/drivers/media/video/gspca/spca501.c
@@ -1953,8 +1953,8 @@ error:
1953 return -EINVAL; 1953 return -EINVAL;
1954} 1954}
1955 1955
1956/* this function is called at open time */ 1956/* this function is called at probe and resume time */
1957static int sd_open(struct gspca_dev *gspca_dev) 1957static int sd_init(struct gspca_dev *gspca_dev)
1958{ 1958{
1959 struct sd *sd = (struct sd *) gspca_dev; 1959 struct sd *sd = (struct sd *) gspca_dev;
1960 1960
@@ -2023,11 +2023,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
2023 2023
2024static void sd_stop0(struct gspca_dev *gspca_dev) 2024static void sd_stop0(struct gspca_dev *gspca_dev)
2025{ 2025{
2026}
2027
2028/* this function is called at close time */
2029static void sd_close(struct gspca_dev *gspca_dev)
2030{
2031 reg_write(gspca_dev->dev, SPCA501_REG_CTLRL, 0x05, 0x00); 2026 reg_write(gspca_dev->dev, SPCA501_REG_CTLRL, 0x05, 0x00);
2032} 2027}
2033 2028
@@ -2120,11 +2115,10 @@ static const struct sd_desc sd_desc = {
2120 .ctrls = sd_ctrls, 2115 .ctrls = sd_ctrls,
2121 .nctrls = ARRAY_SIZE(sd_ctrls), 2116 .nctrls = ARRAY_SIZE(sd_ctrls),
2122 .config = sd_config, 2117 .config = sd_config,
2123 .open = sd_open, 2118 .init = sd_init,
2124 .start = sd_start, 2119 .start = sd_start,
2125 .stopN = sd_stopN, 2120 .stopN = sd_stopN,
2126 .stop0 = sd_stop0, 2121 .stop0 = sd_stop0,
2127 .close = sd_close,
2128 .pkt_scan = sd_pkt_scan, 2122 .pkt_scan = sd_pkt_scan,
2129}; 2123};
2130 2124
@@ -2154,6 +2148,10 @@ static struct usb_driver sd_driver = {
2154 .id_table = device_table, 2148 .id_table = device_table,
2155 .probe = sd_probe, 2149 .probe = sd_probe,
2156 .disconnect = gspca_disconnect, 2150 .disconnect = gspca_disconnect,
2151#ifdef CONFIG_PM
2152 .suspend = gspca_suspend,
2153 .resume = gspca_resume,
2154#endif
2157}; 2155};
2158 2156
2159/* -- module insert / remove -- */ 2157/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca505.c b/drivers/media/video/gspca/spca505.c
index eda29d609359..f601daf19ebe 100644
--- a/drivers/media/video/gspca/spca505.c
+++ b/drivers/media/video/gspca/spca505.c
@@ -655,8 +655,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
655 return 0; 655 return 0;
656} 656}
657 657
658/* this function is called at open time */ 658/* this function is called at probe and resume time */
659static int sd_open(struct gspca_dev *gspca_dev) 659static int sd_init(struct gspca_dev *gspca_dev)
660{ 660{
661 struct sd *sd = (struct sd *) gspca_dev; 661 struct sd *sd = (struct sd *) gspca_dev;
662 int ret; 662 int ret;
@@ -743,11 +743,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
743 743
744static void sd_stop0(struct gspca_dev *gspca_dev) 744static void sd_stop0(struct gspca_dev *gspca_dev)
745{ 745{
746}
747
748/* this function is called at close time */
749static void sd_close(struct gspca_dev *gspca_dev)
750{
751 /* This maybe reset or power control */ 746 /* This maybe reset or power control */
752 reg_write(gspca_dev->dev, 0x03, 0x03, 0x20); 747 reg_write(gspca_dev->dev, 0x03, 0x03, 0x20);
753 reg_write(gspca_dev->dev, 0x03, 0x01, 0x0); 748 reg_write(gspca_dev->dev, 0x03, 0x01, 0x0);
@@ -825,11 +820,10 @@ static const struct sd_desc sd_desc = {
825 .ctrls = sd_ctrls, 820 .ctrls = sd_ctrls,
826 .nctrls = ARRAY_SIZE(sd_ctrls), 821 .nctrls = ARRAY_SIZE(sd_ctrls),
827 .config = sd_config, 822 .config = sd_config,
828 .open = sd_open, 823 .init = sd_init,
829 .start = sd_start, 824 .start = sd_start,
830 .stopN = sd_stopN, 825 .stopN = sd_stopN,
831 .stop0 = sd_stop0, 826 .stop0 = sd_stop0,
832 .close = sd_close,
833 .pkt_scan = sd_pkt_scan, 827 .pkt_scan = sd_pkt_scan,
834}; 828};
835 829
@@ -855,6 +849,10 @@ static struct usb_driver sd_driver = {
855 .id_table = device_table, 849 .id_table = device_table,
856 .probe = sd_probe, 850 .probe = sd_probe,
857 .disconnect = gspca_disconnect, 851 .disconnect = gspca_disconnect,
852#ifdef CONFIG_PM
853 .suspend = gspca_suspend,
854 .resume = gspca_resume,
855#endif
858}; 856};
859 857
860/* -- module insert / remove -- */ 858/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca506.c b/drivers/media/video/gspca/spca506.c
index f622fa75766d..195dce96ef06 100644
--- a/drivers/media/video/gspca/spca506.c
+++ b/drivers/media/video/gspca/spca506.c
@@ -313,8 +313,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
313 return 0; 313 return 0;
314} 314}
315 315
316/* this function is called at open time */ 316/* this function is called at probe and resume time */
317static int sd_open(struct gspca_dev *gspca_dev) 317static int sd_init(struct gspca_dev *gspca_dev)
318{ 318{
319 struct usb_device *dev = gspca_dev->dev; 319 struct usb_device *dev = gspca_dev->dev;
320 320
@@ -560,14 +560,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
560 reg_w(dev, 0x03, 0x00, 0x0003); 560 reg_w(dev, 0x03, 0x00, 0x0003);
561} 561}
562 562
563static void sd_stop0(struct gspca_dev *gspca_dev)
564{
565}
566
567static void sd_close(struct gspca_dev *gspca_dev)
568{
569}
570
571static void sd_pkt_scan(struct gspca_dev *gspca_dev, 563static void sd_pkt_scan(struct gspca_dev *gspca_dev,
572 struct gspca_frame *frame, /* target */ 564 struct gspca_frame *frame, /* target */
573 __u8 *data, /* isoc packet */ 565 __u8 *data, /* isoc packet */
@@ -740,11 +732,9 @@ static struct sd_desc sd_desc = {
740 .ctrls = sd_ctrls, 732 .ctrls = sd_ctrls,
741 .nctrls = ARRAY_SIZE(sd_ctrls), 733 .nctrls = ARRAY_SIZE(sd_ctrls),
742 .config = sd_config, 734 .config = sd_config,
743 .open = sd_open, 735 .init = sd_init,
744 .start = sd_start, 736 .start = sd_start,
745 .stopN = sd_stopN, 737 .stopN = sd_stopN,
746 .stop0 = sd_stop0,
747 .close = sd_close,
748 .pkt_scan = sd_pkt_scan, 738 .pkt_scan = sd_pkt_scan,
749}; 739};
750 740
@@ -772,6 +762,10 @@ static struct usb_driver sd_driver = {
772 .id_table = device_table, 762 .id_table = device_table,
773 .probe = sd_probe, 763 .probe = sd_probe,
774 .disconnect = gspca_disconnect, 764 .disconnect = gspca_disconnect,
765#ifdef CONFIG_PM
766 .suspend = gspca_suspend,
767 .resume = gspca_resume,
768#endif
775}; 769};
776 770
777/* -- module insert / remove -- */ 771/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca508.c b/drivers/media/video/gspca/spca508.c
index 699340c17dea..281ce02103a3 100644
--- a/drivers/media/video/gspca/spca508.c
+++ b/drivers/media/video/gspca/spca508.c
@@ -1521,8 +1521,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
1521 return 0; /* success */ 1521 return 0; /* success */
1522} 1522}
1523 1523
1524/* this function is called at open time */ 1524/* this function is called at probe and resume time */
1525static int sd_open(struct gspca_dev *gspca_dev) 1525static int sd_init(struct gspca_dev *gspca_dev)
1526{ 1526{
1527/* write_vector(gspca_dev, spca508_open_data); */ 1527/* write_vector(gspca_dev, spca508_open_data); */
1528 return 0; 1528 return 0;
@@ -1554,15 +1554,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1554 reg_write(gspca_dev->dev, 0x8112, 0x20); 1554 reg_write(gspca_dev->dev, 0x8112, 0x20);
1555} 1555}
1556 1556
1557static void sd_stop0(struct gspca_dev *gspca_dev)
1558{
1559}
1560
1561/* this function is called at close time */
1562static void sd_close(struct gspca_dev *gspca_dev)
1563{
1564}
1565
1566static void sd_pkt_scan(struct gspca_dev *gspca_dev, 1557static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1567 struct gspca_frame *frame, /* target */ 1558 struct gspca_frame *frame, /* target */
1568 __u8 *data, /* isoc packet */ 1559 __u8 *data, /* isoc packet */
@@ -1633,11 +1624,9 @@ static const struct sd_desc sd_desc = {
1633 .ctrls = sd_ctrls, 1624 .ctrls = sd_ctrls,
1634 .nctrls = ARRAY_SIZE(sd_ctrls), 1625 .nctrls = ARRAY_SIZE(sd_ctrls),
1635 .config = sd_config, 1626 .config = sd_config,
1636 .open = sd_open, 1627 .init = sd_init,
1637 .start = sd_start, 1628 .start = sd_start,
1638 .stopN = sd_stopN, 1629 .stopN = sd_stopN,
1639 .stop0 = sd_stop0,
1640 .close = sd_close,
1641 .pkt_scan = sd_pkt_scan, 1630 .pkt_scan = sd_pkt_scan,
1642}; 1631};
1643 1632
@@ -1667,6 +1656,10 @@ static struct usb_driver sd_driver = {
1667 .id_table = device_table, 1656 .id_table = device_table,
1668 .probe = sd_probe, 1657 .probe = sd_probe,
1669 .disconnect = gspca_disconnect, 1658 .disconnect = gspca_disconnect,
1659#ifdef CONFIG_PM
1660 .suspend = gspca_suspend,
1661 .resume = gspca_resume,
1662#endif
1670}; 1663};
1671 1664
1672/* -- module insert / remove -- */ 1665/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/spca561.c b/drivers/media/video/gspca/spca561.c
index 1073ac3d2ec6..cfbc9ebc5c5d 100644
--- a/drivers/media/video/gspca/spca561.c
+++ b/drivers/media/video/gspca/spca561.c
@@ -32,69 +32,48 @@ MODULE_LICENSE("GPL");
32struct sd { 32struct sd {
33 struct gspca_dev gspca_dev; /* !! must be the first item */ 33 struct gspca_dev gspca_dev; /* !! must be the first item */
34 34
35 unsigned short contrast; 35 __u16 contrast; /* rev72a only */
36 __u8 brightness; 36#define CONTRAST_MIN 0x0000
37#define CONTRAST_DEF 0x2000
38#define CONTRAST_MAX 0x3fff
39
40 __u16 exposure; /* rev12a only */
41#define EXPOSURE_MIN 1
42#define EXPOSURE_DEF 200
43#define EXPOSURE_MAX (4095 - 900) /* see set_exposure */
44
45 __u8 brightness; /* rev72a only */
46#define BRIGHTNESS_MIN 0
47#define BRIGHTNESS_DEF 32
48#define BRIGHTNESS_MAX 63
49
50 __u8 white; /* rev12a only */
51#define WHITE_MIN 1
52#define WHITE_DEF 0x40
53#define WHITE_MAX 0x7f
54
37 __u8 autogain; 55 __u8 autogain;
56#define AUTOGAIN_MIN 0
57#define AUTOGAIN_DEF 1
58#define AUTOGAIN_MAX 1
59
60 __u8 gain; /* rev12a only */
61#define GAIN_MIN 0x0
62#define GAIN_DEF 0x24
63#define GAIN_MAX 0x24
64
65#define EXPO12A_DEF 3
66 __u8 expo12a; /* expo/gain? for rev 12a */
38 67
39 __u8 chip_revision; 68 __u8 chip_revision;
69#define Rev012A 0
70#define Rev072A 1
71
40 signed char ag_cnt; 72 signed char ag_cnt;
41#define AG_CNT_START 13 73#define AG_CNT_START 13
42}; 74};
43 75
44/* V4L2 controls supported by the driver */ 76static struct v4l2_pix_format sif_012a_mode[] = {
45static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val);
46static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val);
47static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val);
48static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val);
49static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val);
50static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val);
51
52static struct ctrl sd_ctrls[] = {
53#define SD_BRIGHTNESS 0
54 {
55 {
56 .id = V4L2_CID_BRIGHTNESS,
57 .type = V4L2_CTRL_TYPE_INTEGER,
58 .name = "Brightness",
59 .minimum = 0,
60 .maximum = 63,
61 .step = 1,
62 .default_value = 32,
63 },
64 .set = sd_setbrightness,
65 .get = sd_getbrightness,
66 },
67#define SD_CONTRAST 1
68 {
69 {
70 .id = V4L2_CID_CONTRAST,
71 .type = V4L2_CTRL_TYPE_INTEGER,
72 .name = "Contrast",
73 .minimum = 0,
74 .maximum = 0x3fff,
75 .step = 1,
76 .default_value = 0x2000,
77 },
78 .set = sd_setcontrast,
79 .get = sd_getcontrast,
80 },
81#define SD_AUTOGAIN 2
82 {
83 {
84 .id = V4L2_CID_AUTOGAIN,
85 .type = V4L2_CTRL_TYPE_BOOLEAN,
86 .name = "Auto Gain",
87 .minimum = 0,
88 .maximum = 1,
89 .step = 1,
90 .default_value = 1,
91 },
92 .set = sd_setautogain,
93 .get = sd_getautogain,
94 },
95};
96
97static struct v4l2_pix_format sif_mode[] = {
98 {160, 120, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE, 77 {160, 120, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE,
99 .bytesperline = 160, 78 .bytesperline = 160,
100 .sizeimage = 160 * 120, 79 .sizeimage = 160 * 120,
@@ -117,6 +96,29 @@ static struct v4l2_pix_format sif_mode[] = {
117 .priv = 0}, 96 .priv = 0},
118}; 97};
119 98
99static struct v4l2_pix_format sif_072a_mode[] = {
100 {160, 120, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE,
101 .bytesperline = 160,
102 .sizeimage = 160 * 120,
103 .colorspace = V4L2_COLORSPACE_SRGB,
104 .priv = 3},
105 {176, 144, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE,
106 .bytesperline = 176,
107 .sizeimage = 176 * 144,
108 .colorspace = V4L2_COLORSPACE_SRGB,
109 .priv = 2},
110 {320, 240, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE,
111 .bytesperline = 320,
112 .sizeimage = 320 * 240,
113 .colorspace = V4L2_COLORSPACE_SRGB,
114 .priv = 1},
115 {352, 288, V4L2_PIX_FMT_SGBRG8, V4L2_FIELD_NONE,
116 .bytesperline = 352,
117 .sizeimage = 352 * 288,
118 .colorspace = V4L2_COLORSPACE_SRGB,
119 .priv = 0},
120};
121
120/* 122/*
121 * Initialization data 123 * Initialization data
122 * I'm not very sure how to split initialization from open data 124 * I'm not very sure how to split initialization from open data
@@ -143,12 +145,8 @@ static struct v4l2_pix_format sif_mode[] = {
143#define SPCA561_INDEX_I2C_BASE 0x8800 145#define SPCA561_INDEX_I2C_BASE 0x8800
144#define SPCA561_SNAPBIT 0x20 146#define SPCA561_SNAPBIT 0x20
145#define SPCA561_SNAPCTRL 0x40 147#define SPCA561_SNAPCTRL 0x40
146enum {
147 Rev072A = 0,
148 Rev012A,
149};
150 148
151static void reg_w_val(struct usb_device *dev, __u16 index, __u16 value) 149static void reg_w_val(struct usb_device *dev, __u16 index, __u8 value)
152{ 150{
153 int ret; 151 int ret;
154 152
@@ -198,12 +196,6 @@ static void reg_w_buf(struct gspca_dev *gspca_dev,
198 index, gspca_dev->usb_buf, len, 500); 196 index, gspca_dev->usb_buf, len, 500);
199} 197}
200 198
201static void i2c_init(struct gspca_dev *gspca_dev, __u8 mode)
202{
203 reg_w_val(gspca_dev->dev, 0x92, 0x8804);
204 reg_w_val(gspca_dev->dev, mode, 0x8802);
205}
206
207static void i2c_write(struct gspca_dev *gspca_dev, __u16 valeur, __u16 reg) 199static void i2c_write(struct gspca_dev *gspca_dev, __u16 valeur, __u16 reg)
208{ 200{
209 int retry = 60; 201 int retry = 60;
@@ -212,9 +204,9 @@ static void i2c_write(struct gspca_dev *gspca_dev, __u16 valeur, __u16 reg)
212 204
213 DataLow = valeur; 205 DataLow = valeur;
214 DataHight = valeur >> 8; 206 DataHight = valeur >> 8;
215 reg_w_val(gspca_dev->dev, reg, 0x8801); 207 reg_w_val(gspca_dev->dev, 0x8801, reg);
216 reg_w_val(gspca_dev->dev, DataLow, 0x8805); 208 reg_w_val(gspca_dev->dev, 0x8805, DataLow);
217 reg_w_val(gspca_dev->dev, DataHight, 0x8800); 209 reg_w_val(gspca_dev->dev, 0x8800, DataHight);
218 while (retry--) { 210 while (retry--) {
219 reg_r(gspca_dev, 0x8803, 1); 211 reg_r(gspca_dev, 0x8803, 1);
220 if (!gspca_dev->usb_buf[0]) 212 if (!gspca_dev->usb_buf[0])
@@ -228,14 +220,14 @@ static int i2c_read(struct gspca_dev *gspca_dev, __u16 reg, __u8 mode)
228 __u8 value; 220 __u8 value;
229 __u8 vallsb; 221 __u8 vallsb;
230 222
231 reg_w_val(gspca_dev->dev, 0x92, 0x8804); 223 reg_w_val(gspca_dev->dev, 0x8804, 0x92);
232 reg_w_val(gspca_dev->dev, reg, 0x8801); 224 reg_w_val(gspca_dev->dev, 0x8801, reg);
233 reg_w_val(gspca_dev->dev, (mode | 0x01), 0x8802); 225 reg_w_val(gspca_dev->dev, 0x8802, (mode | 0x01));
234 while (retry--) { 226 do {
235 reg_r(gspca_dev, 0x8803, 1); 227 reg_r(gspca_dev, 0x8803, 1);
236 if (!gspca_dev->usb_buf) 228 if (!gspca_dev->usb_buf)
237 break; 229 break;
238 } 230 } while (--retry);
239 if (retry == 0) 231 if (retry == 0)
240 return -1; 232 return -1;
241 reg_r(gspca_dev, 0x8800, 1); 233 reg_r(gspca_dev, 0x8800, 1);
@@ -438,21 +430,10 @@ static const __u16 spca561_init_data[][2] = {
438 {0x0035, 0x8801}, /* 0x14 - set gain general */ 430 {0x0035, 0x8801}, /* 0x14 - set gain general */
439 {0x001f, 0x8805}, /* 0x14 */ 431 {0x001f, 0x8805}, /* 0x14 */
440 {0x0000, 0x8800}, 432 {0x0000, 0x8800},
441 {0x0030, 0x8112}, 433 {0x000e, 0x8112}, /* white balance - was 30 */
442 {} 434 {}
443}; 435};
444 436
445static void sensor_reset(struct gspca_dev *gspca_dev)
446{
447 reg_w_val(gspca_dev->dev, 0x8631, 0xc8);
448 reg_w_val(gspca_dev->dev, 0x8634, 0xc8);
449 reg_w_val(gspca_dev->dev, 0x8112, 0x00);
450 reg_w_val(gspca_dev->dev, 0x8114, 0x00);
451 reg_w_val(gspca_dev->dev, 0x8118, 0x21);
452 i2c_init(gspca_dev, 0x14);
453 i2c_write(gspca_dev, 1, 0x0d);
454 i2c_write(gspca_dev, 0, 0x0d);
455}
456 437
457/******************** QC Express etch2 stuff ********************/ 438/******************** QC Express etch2 stuff ********************/
458static const __u16 Pb100_1map8300[][2] = { 439static const __u16 Pb100_1map8300[][2] = {
@@ -462,9 +443,9 @@ static const __u16 Pb100_1map8300[][2] = {
462 {0x8303, 0x0125}, /* image area */ 443 {0x8303, 0x0125}, /* image area */
463 {0x8304, 0x0169}, 444 {0x8304, 0x0169},
464 {0x8328, 0x000b}, 445 {0x8328, 0x000b},
465 {0x833c, 0x0001}, 446 {0x833c, 0x0001}, /*fixme: win:07*/
466 447
467 {0x832f, 0x0419}, 448 {0x832f, 0x1904}, /*fixme: was 0419*/
468 {0x8307, 0x00aa}, 449 {0x8307, 0x00aa},
469 {0x8301, 0x0003}, 450 {0x8301, 0x0003},
470 {0x8302, 0x000e}, 451 {0x8302, 0x000e},
@@ -478,9 +459,10 @@ static const __u16 Pb100_2map8300[][2] = {
478}; 459};
479 460
480static const __u16 spca561_161rev12A_data1[][2] = { 461static const __u16 spca561_161rev12A_data1[][2] = {
481 {0x21, 0x8118}, 462 {0x29, 0x8118}, /* white balance - was 21 */
482 {0x01, 0x8114}, 463 {0x08, 0x8114}, /* white balance - was 01 */
483 {0x00, 0x8112}, 464 {0x0e, 0x8112}, /* white balance - was 00 */
465 {0x00, 0x8102}, /* white balance - new */
484 {0x92, 0x8804}, 466 {0x92, 0x8804},
485 {0x04, 0x8802}, /* windows uses 08 */ 467 {0x04, 0x8802}, /* windows uses 08 */
486 {} 468 {}
@@ -505,14 +487,16 @@ static const __u16 spca561_161rev12A_data2[][2] = {
505 {0xb0, 0x8603}, 487 {0xb0, 0x8603},
506 488
507 /* sensor gains */ 489 /* sensor gains */
490 {0x07, 0x8601}, /* white balance - new */
491 {0x07, 0x8602}, /* white balance - new */
508 {0x00, 0x8610}, /* *red */ 492 {0x00, 0x8610}, /* *red */
509 {0x00, 0x8611}, /* 3f *green */ 493 {0x00, 0x8611}, /* 3f *green */
510 {0x00, 0x8612}, /* green *blue */ 494 {0x00, 0x8612}, /* green *blue */
511 {0x00, 0x8613}, /* blue *green */ 495 {0x00, 0x8613}, /* blue *green */
512 {0x35, 0x8614}, /* green *red */ 496 {0x43, 0x8614}, /* green *red - white balance - was 0x35 */
513 {0x35, 0x8615}, /* 40 *green */ 497 {0x40, 0x8615}, /* 40 *green - white balance - was 0x35 */
514 {0x35, 0x8616}, /* 7a *blue */ 498 {0x71, 0x8616}, /* 7a *blue - white balance - was 0x35 */
515 {0x35, 0x8617}, /* 40 *green */ 499 {0x40, 0x8617}, /* 40 *green - white balance - was 0x35 */
516 500
517 {0x0c, 0x8620}, /* 0c */ 501 {0x0c, 0x8620}, /* 0c */
518 {0xc8, 0x8631}, /* c8 */ 502 {0xc8, 0x8631}, /* c8 */
@@ -527,6 +511,7 @@ static const __u16 spca561_161rev12A_data2[][2] = {
527 {0xdf, 0x863c}, /* df */ 511 {0xdf, 0x863c}, /* df */
528 {0xf0, 0x8505}, 512 {0xf0, 0x8505},
529 {0x32, 0x850a}, 513 {0x32, 0x850a},
514/* {0x99, 0x8700}, * - white balance - new (removed) */
530 {} 515 {}
531}; 516};
532 517
@@ -545,9 +530,10 @@ static void sensor_mapwrite(struct gspca_dev *gspca_dev,
545} 530}
546static void init_161rev12A(struct gspca_dev *gspca_dev) 531static void init_161rev12A(struct gspca_dev *gspca_dev)
547{ 532{
548 sensor_reset(gspca_dev); 533/* sensor_reset(gspca_dev); (not in win) */
549 write_vector(gspca_dev, spca561_161rev12A_data1); 534 write_vector(gspca_dev, spca561_161rev12A_data1);
550 sensor_mapwrite(gspca_dev, Pb100_1map8300); 535 sensor_mapwrite(gspca_dev, Pb100_1map8300);
536/*fixme: should be in sd_start*/
551 write_vector(gspca_dev, spca561_161rev12A_data2); 537 write_vector(gspca_dev, spca561_161rev12A_data2);
552 sensor_mapwrite(gspca_dev, Pb100_2map8300); 538 sensor_mapwrite(gspca_dev, Pb100_2map8300);
553} 539}
@@ -581,35 +567,38 @@ static int sd_config(struct gspca_dev *gspca_dev,
581 } 567 }
582 568
583 cam = &gspca_dev->cam; 569 cam = &gspca_dev->cam;
584 cam->dev_name = (char *) id->driver_info;
585 cam->epaddr = 0x01; 570 cam->epaddr = 0x01;
586 gspca_dev->nbalt = 7 + 1; /* choose alternate 7 first */ 571 gspca_dev->nbalt = 7 + 1; /* choose alternate 7 first */
587 cam->cam_mode = sif_mode;
588 cam->nmodes = sizeof sif_mode / sizeof sif_mode[0];
589 572
590 sd->chip_revision = id->driver_info; 573 sd->chip_revision = id->driver_info;
591 sd->brightness = sd_ctrls[SD_BRIGHTNESS].qctrl.default_value; 574 if (sd->chip_revision == Rev012A) {
592 sd->contrast = sd_ctrls[SD_CONTRAST].qctrl.default_value; 575 cam->cam_mode = sif_012a_mode;
593 sd->autogain = sd_ctrls[SD_AUTOGAIN].qctrl.default_value; 576 cam->nmodes = ARRAY_SIZE(sif_012a_mode);
577 } else {
578 cam->cam_mode = sif_072a_mode;
579 cam->nmodes = ARRAY_SIZE(sif_072a_mode);
580 }
581 sd->brightness = BRIGHTNESS_DEF;
582 sd->contrast = CONTRAST_DEF;
583 sd->white = WHITE_DEF;
584 sd->exposure = EXPOSURE_DEF;
585 sd->autogain = AUTOGAIN_DEF;
586 sd->gain = GAIN_DEF;
587 sd->expo12a = EXPO12A_DEF;
594 return 0; 588 return 0;
595} 589}
596 590
597/* this function is called at open time */ 591/* this function is called at probe and resume time */
598static int sd_open(struct gspca_dev *gspca_dev) 592static int sd_init_12a(struct gspca_dev *gspca_dev)
599{ 593{
600 struct sd *sd = (struct sd *) gspca_dev; 594 PDEBUG(D_STREAM, "Chip revision: 012a");
601 595 init_161rev12A(gspca_dev);
602 switch (sd->chip_revision) { 596 return 0;
603 case Rev072A: 597}
604 PDEBUG(D_STREAM, "Chip revision id: 072a"); 598static int sd_init_72a(struct gspca_dev *gspca_dev)
605 write_vector(gspca_dev, spca561_init_data); 599{
606 break; 600 PDEBUG(D_STREAM, "Chip revision: 072a");
607 default: 601 write_vector(gspca_dev, spca561_init_data);
608/* case Rev012A: */
609 PDEBUG(D_STREAM, "Chip revision id: 012a");
610 init_161rev12A(gspca_dev);
611 break;
612 }
613 return 0; 602 return 0;
614} 603}
615 604
@@ -618,25 +607,20 @@ static void setcontrast(struct gspca_dev *gspca_dev)
618 struct sd *sd = (struct sd *) gspca_dev; 607 struct sd *sd = (struct sd *) gspca_dev;
619 struct usb_device *dev = gspca_dev->dev; 608 struct usb_device *dev = gspca_dev->dev;
620 __u8 lowb; 609 __u8 lowb;
621 int expotimes;
622 610
623 switch (sd->chip_revision) { 611 switch (sd->chip_revision) {
624 case Rev072A: 612 case Rev072A:
625 lowb = sd->contrast >> 8; 613 lowb = sd->contrast >> 8;
626 reg_w_val(dev, lowb, 0x8651); 614 reg_w_val(dev, 0x8651, lowb);
627 reg_w_val(dev, lowb, 0x8652); 615 reg_w_val(dev, 0x8652, lowb);
628 reg_w_val(dev, lowb, 0x8653); 616 reg_w_val(dev, 0x8653, lowb);
629 reg_w_val(dev, lowb, 0x8654); 617 reg_w_val(dev, 0x8654, lowb);
630 break; 618 break;
631 case Rev012A: { 619 default: {
632 __u8 Reg8391[] = 620/* case Rev012A: { */
633 { 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 }; 621 static const __u8 Reg8391[] =
634 622 { 0x92, 0x30, 0x20, 0x00, 0x0c, 0x00, 0x00, 0x00 };
635 /* Write camera sensor settings */ 623
636 expotimes = (sd->contrast >> 5) & 0x07ff;
637 Reg8391[0] = expotimes & 0xff; /* exposure */
638 Reg8391[1] = 0x18 | (expotimes >> 8);
639 Reg8391[2] = sd->brightness; /* gain */
640 reg_w_buf(gspca_dev, 0x8391, Reg8391, 8); 624 reg_w_buf(gspca_dev, 0x8391, Reg8391, 8);
641 reg_w_buf(gspca_dev, 0x8390, Reg8391, 8); 625 reg_w_buf(gspca_dev, 0x8390, Reg8391, 8);
642 break; 626 break;
@@ -644,93 +628,151 @@ static void setcontrast(struct gspca_dev *gspca_dev)
644 } 628 }
645} 629}
646 630
647static void setautogain(struct gspca_dev *gspca_dev) 631/* rev12a only */
632static void setwhite(struct gspca_dev *gspca_dev)
648{ 633{
649 struct sd *sd = (struct sd *) gspca_dev; 634 struct sd *sd = (struct sd *) gspca_dev;
635 __u16 white;
636 __u8 reg8614, reg8616;
637
638 white = sd->white;
639 /* try to emulate MS-win as possible */
640 reg8616 = 0x90 - white * 5 / 8;
641 reg_w_val(gspca_dev->dev, 0x8616, reg8616);
642 reg8614 = 0x20 + white * 3 / 8;
643 reg_w_val(gspca_dev->dev, 0x8614, reg8614);
644}
650 645
651 if (sd->chip_revision == Rev072A) { 646/* rev 12a only */
652 if (sd->autogain) 647static void setexposure(struct gspca_dev *gspca_dev)
653 sd->ag_cnt = AG_CNT_START; 648{
654 else 649 struct sd *sd = (struct sd *) gspca_dev;
655 sd->ag_cnt = -1; 650 int expo;
651 int clock_divider;
652 __u8 data[2];
653
654 /* Register 0x8309 controls exposure for the spca561,
655 the basic exposure setting goes from 1-2047, where 1 is completely
656 dark and 2047 is very bright. It not only influences exposure but
657 also the framerate (to allow for longer exposure) from 1 - 300 it
658 only raises the exposure time then from 300 - 600 it halves the
659 framerate to be able to further raise the exposure time and for every
660 300 more it halves the framerate again. This allows for a maximum
661 exposure time of circa 0.2 - 0.25 seconds (30 / (2000/3000) fps).
662 Sometimes this is not enough, the 1-2047 uses bits 0-10, bits 11-12
663 configure a divider for the base framerate which us used at the
664 exposure setting of 1-300. These bits configure the base framerate
665 according to the following formula: fps = 60 / (value + 2) */
666 if (sd->exposure < 2048) {
667 expo = sd->exposure;
668 clock_divider = 0;
669 } else {
670 /* Add 900 to make the 0 setting of the second part of the
671 exposure equal to the 2047 setting of the first part. */
672 expo = (sd->exposure - 2048) + 900;
673 clock_divider = 3;
656 } 674 }
675 expo |= clock_divider << 11;
676 data[0] = expo;
677 data[1] = expo >> 8;
678 reg_w_buf(gspca_dev, 0x8309, data, 2);
657} 679}
658 680
659static void sd_start(struct gspca_dev *gspca_dev) 681/* rev 12a only */
682static void setgain(struct gspca_dev *gspca_dev)
660{ 683{
661 struct sd *sd = (struct sd *) gspca_dev; 684 struct sd *sd = (struct sd *) gspca_dev;
685 __u8 data[2];
686
687 data[0] = sd->gain;
688 data[1] = 0;
689 reg_w_buf(gspca_dev, 0x8335, data, 2);
690}
691
692static void setautogain(struct gspca_dev *gspca_dev)
693{
694 struct sd *sd = (struct sd *) gspca_dev;
695
696 if (sd->autogain)
697 sd->ag_cnt = AG_CNT_START;
698 else
699 sd->ag_cnt = -1;
700}
701
702static void sd_start_12a(struct gspca_dev *gspca_dev)
703{
662 struct usb_device *dev = gspca_dev->dev; 704 struct usb_device *dev = gspca_dev->dev;
663 int Clck; 705 int Clck = 0x8a; /* lower 0x8X values lead to fps > 30 */
664 __u8 Reg8307[] = { 0xaa, 0x00 }; 706 __u8 Reg8307[] = { 0xaa, 0x00 };
665 int mode; 707 int mode;
666 708
667 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; 709 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
668 switch (sd->chip_revision) { 710 if (mode <= 1) {
669 case Rev072A: 711 /* Use compression on 320x240 and above */
670 switch (mode) { 712 reg_w_val(dev, 0x8500, 0x10 | mode);
671 default: 713 } else {
672/* case 0: 714 /* I couldn't get the compression to work below 320x240
673 case 1: */ 715 * Fortunately at these resolutions the bandwidth
674 Clck = 0x25; 716 * is sufficient to push raw frames at ~20fps */
675 break; 717 reg_w_val(dev, 0x8500, mode);
676 case 2: 718 } /* -- qq@kuku.eu.org */
677 Clck = 0x22; 719 reg_w_buf(gspca_dev, 0x8307, Reg8307, 2);
678 break; 720 reg_w_val(gspca_dev->dev, 0x8700, Clck);
679 case 3: 721 /* 0x8f 0x85 0x27 clock */
680 Clck = 0x21; 722 reg_w_val(gspca_dev->dev, 0x8112, 0x1e | 0x20);
681 break; 723 reg_w_val(gspca_dev->dev, 0x850b, 0x03);
682 } 724 setcontrast(gspca_dev);
683 reg_w_val(dev, 0x8500, mode); /* mode */ 725 setwhite(gspca_dev);
684 reg_w_val(dev, 0x8700, Clck); /* 0x27 clock */ 726 setautogain(gspca_dev);
685 reg_w_val(dev, 0x8112, 0x10 | 0x20); 727 setexposure(gspca_dev);
686 setautogain(gspca_dev); 728}
687 break; 729static void sd_start_72a(struct gspca_dev *gspca_dev)
730{
731 struct usb_device *dev = gspca_dev->dev;
732 int Clck;
733 int mode;
734
735 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
736 switch (mode) {
688 default: 737 default:
689/* case Rev012A: */ 738/* case 0:
690 switch (mode) { 739 case 1: */
691 case 0: 740 Clck = 0x25;
692 case 1: 741 break;
693 Clck = 0x8a; 742 case 2:
694 break; 743 Clck = 0x22;
695 case 2: 744 break;
696 Clck = 0x85; 745 case 3:
697 break; 746 Clck = 0x21;
698 default:
699 Clck = 0x83;
700 break;
701 }
702 if (mode <= 1) {
703 /* Use compression on 320x240 and above */
704 reg_w_val(dev, 0x8500, 0x10 | mode);
705 } else {
706 /* I couldn't get the compression to work below 320x240
707 * Fortunately at these resolutions the bandwidth
708 * is sufficient to push raw frames at ~20fps */
709 reg_w_val(dev, 0x8500, mode);
710 } /* -- qq@kuku.eu.org */
711 reg_w_buf(gspca_dev, 0x8307, Reg8307, 2);
712 reg_w_val(gspca_dev->dev, 0x8700, Clck);
713 /* 0x8f 0x85 0x27 clock */
714 reg_w_val(gspca_dev->dev, 0x8112, 0x1e | 0x20);
715 reg_w_val(gspca_dev->dev, 0x850b, 0x03);
716 setcontrast(gspca_dev);
717 break; 747 break;
718 } 748 }
749 reg_w_val(dev, 0x8500, mode); /* mode */
750 reg_w_val(dev, 0x8700, Clck); /* 0x27 clock */
751 reg_w_val(dev, 0x8112, 0x10 | 0x20);
752 setautogain(gspca_dev);
719} 753}
720 754
721static void sd_stopN(struct gspca_dev *gspca_dev) 755static void sd_stopN(struct gspca_dev *gspca_dev)
722{ 756{
723 reg_w_val(gspca_dev->dev, 0x8112, 0x20); 757 struct sd *sd = (struct sd *) gspca_dev;
758
759 if (sd->chip_revision == Rev012A) {
760 reg_w_val(gspca_dev->dev, 0x8112, 0x0e);
761 } else {
762 reg_w_val(gspca_dev->dev, 0x8112, 0x20);
763/* reg_w_val(gspca_dev->dev, 0x8102, 0x00); ?? */
764 }
724} 765}
725 766
726static void sd_stop0(struct gspca_dev *gspca_dev) 767static void sd_stop0(struct gspca_dev *gspca_dev)
727{ 768{
728} 769 struct sd *sd = (struct sd *) gspca_dev;
729 770
730/* this function is called at close time */ 771 if (sd->chip_revision == Rev012A) {
731static void sd_close(struct gspca_dev *gspca_dev) 772 reg_w_val(gspca_dev->dev, 0x8118, 0x29);
732{ 773 reg_w_val(gspca_dev->dev, 0x8114, 0x08);
733 reg_w_val(gspca_dev->dev, 0x8114, 0); 774 }
775/* reg_w_val(gspca_dev->dev, 0x8114, 0); */
734} 776}
735 777
736static void do_autogain(struct gspca_dev *gspca_dev) 778static void do_autogain(struct gspca_dev *gspca_dev)
@@ -744,6 +786,7 @@ static void do_autogain(struct gspca_dev *gspca_dev)
744 __u8 luma_mean = 110; 786 __u8 luma_mean = 110;
745 __u8 luma_delta = 20; 787 __u8 luma_delta = 20;
746 __u8 spring = 4; 788 __u8 spring = 4;
789 __u8 reg8339[2];
747 790
748 if (sd->ag_cnt < 0) 791 if (sd->ag_cnt < 0)
749 return; 792 return;
@@ -798,13 +841,16 @@ static void do_autogain(struct gspca_dev *gspca_dev)
798 } 841 }
799 break; 842 break;
800 case Rev012A: 843 case Rev012A:
801 /* sensor registers is access and memory mapped to 0x8300 */ 844 reg_r(gspca_dev, 0x8330, 2);
802 /* readind all 0x83xx block the sensor */ 845 if (gspca_dev->usb_buf[1] > 0x08) {
803 /* 846 reg8339[0] = ++sd->expo12a;
804 * The data from the header seem wrong where is the luma 847 reg8339[1] = 0;
805 * and chroma mean value 848 reg_w_buf(gspca_dev, 0x8339, reg8339, 2);
806 * at the moment set exposure in contrast set 849 } else if (gspca_dev->usb_buf[1] < 0x02) {
807 */ 850 reg8339[0] = --sd->expo12a;
851 reg8339[1] = 0;
852 reg_w_buf(gspca_dev, 0x8339, reg8339, 2);
853 }
808 break; 854 break;
809 } 855 }
810} 856}
@@ -814,6 +860,8 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
814 __u8 *data, /* isoc packet */ 860 __u8 *data, /* isoc packet */
815 int len) /* iso packet length */ 861 int len) /* iso packet length */
816{ 862{
863 struct sd *sd = (struct sd *) gspca_dev;
864
817 switch (data[0]) { 865 switch (data[0]) {
818 case 0: /* start of frame */ 866 case 0: /* start of frame */
819 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame, 867 frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame,
@@ -826,8 +874,13 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
826 frame, data, len); 874 frame, data, len);
827 } else { 875 } else {
828 /* raw bayer (with a header, which we skip) */ 876 /* raw bayer (with a header, which we skip) */
829 data += 20; 877 if (sd->chip_revision == Rev012A) {
830 len -= 20; 878 data += 20;
879 len -= 20;
880 } else {
881 data += 16;
882 len -= 16;
883 }
831 gspca_frame_add(gspca_dev, FIRST_PACKET, 884 gspca_frame_add(gspca_dev, FIRST_PACKET,
832 frame, data, len); 885 frame, data, len);
833 } 886 }
@@ -841,24 +894,17 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
841 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len); 894 gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
842} 895}
843 896
897/* rev 72a only */
844static void setbrightness(struct gspca_dev *gspca_dev) 898static void setbrightness(struct gspca_dev *gspca_dev)
845{ 899{
846 struct sd *sd = (struct sd *) gspca_dev; 900 struct sd *sd = (struct sd *) gspca_dev;
847 __u8 value; 901 __u8 value;
848 902
849 switch (sd->chip_revision) { 903 value = sd->brightness;
850 case Rev072A: 904 reg_w_val(gspca_dev->dev, 0x8611, value);
851 value = sd->brightness; 905 reg_w_val(gspca_dev->dev, 0x8612, value);
852 reg_w_val(gspca_dev->dev, value, 0x8611); 906 reg_w_val(gspca_dev->dev, 0x8613, value);
853 reg_w_val(gspca_dev->dev, value, 0x8612); 907 reg_w_val(gspca_dev->dev, 0x8614, value);
854 reg_w_val(gspca_dev->dev, value, 0x8613);
855 reg_w_val(gspca_dev->dev, value, 0x8614);
856 break;
857 default:
858/* case Rev012A: */
859 setcontrast(gspca_dev);
860 break;
861 }
862} 908}
863 909
864static void getbrightness(struct gspca_dev *gspca_dev) 910static void getbrightness(struct gspca_dev *gspca_dev)
@@ -866,52 +912,38 @@ static void getbrightness(struct gspca_dev *gspca_dev)
866 struct sd *sd = (struct sd *) gspca_dev; 912 struct sd *sd = (struct sd *) gspca_dev;
867 __u16 tot; 913 __u16 tot;
868 914
869 switch (sd->chip_revision) { 915 tot = 0;
870 case Rev072A: 916 reg_r(gspca_dev, 0x8611, 1);
871 tot = 0; 917 tot += gspca_dev->usb_buf[0];
872 reg_r(gspca_dev, 0x8611, 1); 918 reg_r(gspca_dev, 0x8612, 1);
873 tot += gspca_dev->usb_buf[0]; 919 tot += gspca_dev->usb_buf[0];
874 reg_r(gspca_dev, 0x8612, 1); 920 reg_r(gspca_dev, 0x8613, 1);
875 tot += gspca_dev->usb_buf[0]; 921 tot += gspca_dev->usb_buf[0];
876 reg_r(gspca_dev, 0x8613, 1); 922 reg_r(gspca_dev, 0x8614, 1);
877 tot += gspca_dev->usb_buf[0]; 923 tot += gspca_dev->usb_buf[0];
878 reg_r(gspca_dev, 0x8614, 1); 924 sd->brightness = tot >> 2;
879 tot += gspca_dev->usb_buf[0];
880 sd->brightness = tot >> 2;
881 break;
882 default:
883/* case Rev012A: */
884 /* no way to read sensor settings */
885 break;
886 }
887} 925}
888 926
927/* rev72a only */
889static void getcontrast(struct gspca_dev *gspca_dev) 928static void getcontrast(struct gspca_dev *gspca_dev)
890{ 929{
891 struct sd *sd = (struct sd *) gspca_dev; 930 struct sd *sd = (struct sd *) gspca_dev;
892 __u16 tot; 931 __u16 tot;
893 932
894 switch (sd->chip_revision) { 933 tot = 0;
895 case Rev072A: 934 reg_r(gspca_dev, 0x8651, 1);
896 tot = 0; 935 tot += gspca_dev->usb_buf[0];
897 reg_r(gspca_dev, 0x8651, 1); 936 reg_r(gspca_dev, 0x8652, 1);
898 tot += gspca_dev->usb_buf[0]; 937 tot += gspca_dev->usb_buf[0];
899 reg_r(gspca_dev, 0x8652, 1); 938 reg_r(gspca_dev, 0x8653, 1);
900 tot += gspca_dev->usb_buf[0]; 939 tot += gspca_dev->usb_buf[0];
901 reg_r(gspca_dev, 0x8653, 1); 940 reg_r(gspca_dev, 0x8654, 1);
902 tot += gspca_dev->usb_buf[0]; 941 tot += gspca_dev->usb_buf[0];
903 reg_r(gspca_dev, 0x8654, 1); 942 sd->contrast = tot << 6;
904 tot += gspca_dev->usb_buf[0];
905 sd->contrast = tot << 6;
906 break;
907 default:
908/* case Rev012A: */
909 /* no way to read sensor settings */
910 break;
911 }
912 PDEBUG(D_CONF, "get contrast %d", sd->contrast); 943 PDEBUG(D_CONF, "get contrast %d", sd->contrast);
913} 944}
914 945
946/* rev 72a only */
915static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val) 947static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val)
916{ 948{
917 struct sd *sd = (struct sd *) gspca_dev; 949 struct sd *sd = (struct sd *) gspca_dev;
@@ -931,6 +963,7 @@ static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val)
931 return 0; 963 return 0;
932} 964}
933 965
966/* rev 72a only */
934static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val) 967static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
935{ 968{
936 struct sd *sd = (struct sd *) gspca_dev; 969 struct sd *sd = (struct sd *) gspca_dev;
@@ -968,20 +1001,190 @@ static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val)
968 return 0; 1001 return 0;
969} 1002}
970 1003
1004/* rev12a only */
1005static int sd_setwhite(struct gspca_dev *gspca_dev, __s32 val)
1006{
1007 struct sd *sd = (struct sd *) gspca_dev;
1008
1009 sd->white = val;
1010 if (gspca_dev->streaming)
1011 setwhite(gspca_dev);
1012 return 0;
1013}
1014
1015static int sd_getwhite(struct gspca_dev *gspca_dev, __s32 *val)
1016{
1017 struct sd *sd = (struct sd *) gspca_dev;
1018
1019 *val = sd->white;
1020 return 0;
1021}
1022
1023/* rev12a only */
1024static int sd_setexposure(struct gspca_dev *gspca_dev, __s32 val)
1025{
1026 struct sd *sd = (struct sd *) gspca_dev;
1027
1028 sd->exposure = val;
1029 if (gspca_dev->streaming)
1030 setexposure(gspca_dev);
1031 return 0;
1032}
1033
1034static int sd_getexposure(struct gspca_dev *gspca_dev, __s32 *val)
1035{
1036 struct sd *sd = (struct sd *) gspca_dev;
1037
1038 *val = sd->exposure;
1039 return 0;
1040}
1041
1042/* rev12a only */
1043static int sd_setgain(struct gspca_dev *gspca_dev, __s32 val)
1044{
1045 struct sd *sd = (struct sd *) gspca_dev;
1046
1047 sd->gain = val;
1048 if (gspca_dev->streaming)
1049 setgain(gspca_dev);
1050 return 0;
1051}
1052
1053static int sd_getgain(struct gspca_dev *gspca_dev, __s32 *val)
1054{
1055 struct sd *sd = (struct sd *) gspca_dev;
1056
1057 *val = sd->gain;
1058 return 0;
1059}
1060
1061/* control tables */
1062static struct ctrl sd_ctrls_12a[] = {
1063 {
1064 {
1065 .id = V4L2_CID_DO_WHITE_BALANCE,
1066 .type = V4L2_CTRL_TYPE_INTEGER,
1067 .name = "While Balance",
1068 .minimum = WHITE_MIN,
1069 .maximum = WHITE_MAX,
1070 .step = 1,
1071 .default_value = WHITE_DEF,
1072 },
1073 .set = sd_setwhite,
1074 .get = sd_getwhite,
1075 },
1076 {
1077 {
1078 .id = V4L2_CID_EXPOSURE,
1079 .type = V4L2_CTRL_TYPE_INTEGER,
1080 .name = "Exposure",
1081 .minimum = EXPOSURE_MIN,
1082 .maximum = EXPOSURE_MAX,
1083 .step = 1,
1084 .default_value = EXPOSURE_DEF,
1085 },
1086 .set = sd_setexposure,
1087 .get = sd_getexposure,
1088 },
1089 {
1090 {
1091 .id = V4L2_CID_AUTOGAIN,
1092 .type = V4L2_CTRL_TYPE_BOOLEAN,
1093 .name = "Auto Gain",
1094 .minimum = AUTOGAIN_MIN,
1095 .maximum = AUTOGAIN_MAX,
1096 .step = 1,
1097 .default_value = AUTOGAIN_DEF,
1098 },
1099 .set = sd_setautogain,
1100 .get = sd_getautogain,
1101 },
1102 {
1103 {
1104 .id = V4L2_CID_GAIN,
1105 .type = V4L2_CTRL_TYPE_INTEGER,
1106 .name = "Gain",
1107 .minimum = GAIN_MIN,
1108 .maximum = GAIN_MAX,
1109 .step = 1,
1110 .default_value = GAIN_DEF,
1111 },
1112 .set = sd_setgain,
1113 .get = sd_getgain,
1114 },
1115};
1116
1117static struct ctrl sd_ctrls_72a[] = {
1118 {
1119 {
1120 .id = V4L2_CID_BRIGHTNESS,
1121 .type = V4L2_CTRL_TYPE_INTEGER,
1122 .name = "Brightness",
1123 .minimum = BRIGHTNESS_MIN,
1124 .maximum = BRIGHTNESS_MAX,
1125 .step = 1,
1126 .default_value = BRIGHTNESS_DEF,
1127 },
1128 .set = sd_setbrightness,
1129 .get = sd_getbrightness,
1130 },
1131 {
1132 {
1133 .id = V4L2_CID_CONTRAST,
1134 .type = V4L2_CTRL_TYPE_INTEGER,
1135 .name = "Contrast",
1136 .minimum = CONTRAST_MIN,
1137 .maximum = CONTRAST_MAX,
1138 .step = 1,
1139 .default_value = CONTRAST_DEF,
1140 },
1141 .set = sd_setcontrast,
1142 .get = sd_getcontrast,
1143 },
1144 {
1145 {
1146 .id = V4L2_CID_AUTOGAIN,
1147 .type = V4L2_CTRL_TYPE_BOOLEAN,
1148 .name = "Auto Gain",
1149 .minimum = AUTOGAIN_MIN,
1150 .maximum = AUTOGAIN_MAX,
1151 .step = 1,
1152 .default_value = AUTOGAIN_DEF,
1153 },
1154 .set = sd_setautogain,
1155 .get = sd_getautogain,
1156 },
1157};
1158
971/* sub-driver description */ 1159/* sub-driver description */
972static const struct sd_desc sd_desc = { 1160static const struct sd_desc sd_desc_12a = {
1161 .name = MODULE_NAME,
1162 .ctrls = sd_ctrls_12a,
1163 .nctrls = ARRAY_SIZE(sd_ctrls_12a),
1164 .config = sd_config,
1165 .init = sd_init_12a,
1166 .start = sd_start_12a,
1167 .stopN = sd_stopN,
1168 .stop0 = sd_stop0,
1169 .pkt_scan = sd_pkt_scan,
1170/* .dq_callback = do_autogain, * fixme */
1171};
1172static const struct sd_desc sd_desc_72a = {
973 .name = MODULE_NAME, 1173 .name = MODULE_NAME,
974 .ctrls = sd_ctrls, 1174 .ctrls = sd_ctrls_72a,
975 .nctrls = ARRAY_SIZE(sd_ctrls), 1175 .nctrls = ARRAY_SIZE(sd_ctrls_72a),
976 .config = sd_config, 1176 .config = sd_config,
977 .open = sd_open, 1177 .init = sd_init_72a,
978 .start = sd_start, 1178 .start = sd_start_72a,
979 .stopN = sd_stopN, 1179 .stopN = sd_stopN,
980 .stop0 = sd_stop0, 1180 .stop0 = sd_stop0,
981 .close = sd_close,
982 .pkt_scan = sd_pkt_scan, 1181 .pkt_scan = sd_pkt_scan,
983 .dq_callback = do_autogain, 1182 .dq_callback = do_autogain,
984}; 1183};
1184static const struct sd_desc *sd_desc[2] = {
1185 &sd_desc_12a,
1186 &sd_desc_72a
1187};
985 1188
986/* -- module initialisation -- */ 1189/* -- module initialisation -- */
987static const __devinitdata struct usb_device_id device_table[] = { 1190static const __devinitdata struct usb_device_id device_table[] = {
@@ -1009,7 +1212,9 @@ MODULE_DEVICE_TABLE(usb, device_table);
1009static int sd_probe(struct usb_interface *intf, 1212static int sd_probe(struct usb_interface *intf,
1010 const struct usb_device_id *id) 1213 const struct usb_device_id *id)
1011{ 1214{
1012 return gspca_dev_probe(intf, id, &sd_desc, sizeof(struct sd), 1215 return gspca_dev_probe(intf, id,
1216 sd_desc[id->driver_info],
1217 sizeof(struct sd),
1013 THIS_MODULE); 1218 THIS_MODULE);
1014} 1219}
1015 1220
@@ -1018,6 +1223,10 @@ static struct usb_driver sd_driver = {
1018 .id_table = device_table, 1223 .id_table = device_table,
1019 .probe = sd_probe, 1224 .probe = sd_probe,
1020 .disconnect = gspca_disconnect, 1225 .disconnect = gspca_disconnect,
1226#ifdef CONFIG_PM
1227 .suspend = gspca_suspend,
1228 .resume = gspca_resume,
1229#endif
1021}; 1230};
1022 1231
1023/* -- module insert / remove -- */ 1232/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/stk014.c b/drivers/media/video/gspca/stk014.c
index 16219cf6a6d5..2f2de429e273 100644
--- a/drivers/media/video/gspca/stk014.c
+++ b/drivers/media/video/gspca/stk014.c
@@ -306,8 +306,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
306 return 0; 306 return 0;
307} 307}
308 308
309/* this function is called at open time */ 309/* this function is called at probe and resume time */
310static int sd_open(struct gspca_dev *gspca_dev) 310static int sd_init(struct gspca_dev *gspca_dev)
311{ 311{
312 int ret; 312 int ret;
313 313
@@ -398,14 +398,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
398 PDEBUG(D_STREAM, "camera stopped"); 398 PDEBUG(D_STREAM, "camera stopped");
399} 399}
400 400
401static void sd_stop0(struct gspca_dev *gspca_dev)
402{
403}
404
405static void sd_close(struct gspca_dev *gspca_dev)
406{
407}
408
409static void sd_pkt_scan(struct gspca_dev *gspca_dev, 401static void sd_pkt_scan(struct gspca_dev *gspca_dev,
410 struct gspca_frame *frame, /* target */ 402 struct gspca_frame *frame, /* target */
411 __u8 *data, /* isoc packet */ 403 __u8 *data, /* isoc packet */
@@ -535,11 +527,9 @@ static const struct sd_desc sd_desc = {
535 .ctrls = sd_ctrls, 527 .ctrls = sd_ctrls,
536 .nctrls = ARRAY_SIZE(sd_ctrls), 528 .nctrls = ARRAY_SIZE(sd_ctrls),
537 .config = sd_config, 529 .config = sd_config,
538 .open = sd_open, 530 .init = sd_init,
539 .start = sd_start, 531 .start = sd_start,
540 .stopN = sd_stopN, 532 .stopN = sd_stopN,
541 .stop0 = sd_stop0,
542 .close = sd_close,
543 .pkt_scan = sd_pkt_scan, 533 .pkt_scan = sd_pkt_scan,
544 .querymenu = sd_querymenu, 534 .querymenu = sd_querymenu,
545}; 535};
@@ -564,6 +554,10 @@ static struct usb_driver sd_driver = {
564 .id_table = device_table, 554 .id_table = device_table,
565 .probe = sd_probe, 555 .probe = sd_probe,
566 .disconnect = gspca_disconnect, 556 .disconnect = gspca_disconnect,
557#ifdef CONFIG_PM
558 .suspend = gspca_suspend,
559 .resume = gspca_resume,
560#endif
567}; 561};
568 562
569/* -- module insert / remove -- */ 563/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/sunplus.c b/drivers/media/video/gspca/sunplus.c
index 54efa48bee01..1cfcc6c49558 100644
--- a/drivers/media/video/gspca/sunplus.c
+++ b/drivers/media/video/gspca/sunplus.c
@@ -449,31 +449,47 @@ static const __u8 qtable_spca504_default[2][64] = {
449 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e} 449 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e}
450}; 450};
451 451
452static void reg_r(struct usb_device *dev, 452/* read <len> bytes to gspca_dev->usb_buf */
453 __u16 req, 453static void reg_r(struct gspca_dev *gspca_dev,
454 __u16 index, 454 __u16 req,
455 __u8 *buffer, __u16 length) 455 __u16 index,
456 __u16 len)
456{ 457{
457 usb_control_msg(dev, 458#ifdef GSPCA_DEBUG
458 usb_rcvctrlpipe(dev, 0), 459 if (len > USB_BUF_SZ) {
460 err("reg_r: buffer overflow");
461 return;
462 }
463#endif
464 usb_control_msg(gspca_dev->dev,
465 usb_rcvctrlpipe(gspca_dev->dev, 0),
459 req, 466 req,
460 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 467 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
461 0, /* value */ 468 0, /* value */
462 index, buffer, length, 469 index,
470 len ? gspca_dev->usb_buf : NULL, len,
463 500); 471 500);
464} 472}
465 473
466static void reg_w(struct usb_device *dev, 474/* write <len> bytes from gspca_dev->usb_buf */
467 __u16 req, 475static void reg_w(struct gspca_dev *gspca_dev,
468 __u16 value, 476 __u16 req,
469 __u16 index, 477 __u16 value,
470 __u8 *buffer, __u16 length) 478 __u16 index,
479 __u16 len)
471{ 480{
472 usb_control_msg(dev, 481#ifdef GSPCA_DEBUG
473 usb_sndctrlpipe(dev, 0), 482 if (len > USB_BUF_SZ) {
483 err("reg_w: buffer overflow");
484 return;
485 }
486#endif
487 usb_control_msg(gspca_dev->dev,
488 usb_sndctrlpipe(gspca_dev->dev, 0),
474 req, 489 req,
475 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 490 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
476 value, index, buffer, length, 491 value, index,
492 len ? gspca_dev->usb_buf : NULL, len,
477 500); 493 500);
478} 494}
479 495
@@ -634,7 +650,7 @@ static int spca504B_PollingDataReady(struct gspca_dev *gspca_dev)
634 int count = 10; 650 int count = 10;
635 651
636 while (--count > 0) { 652 while (--count > 0) {
637 reg_r(gspca_dev->dev, 0x21, 0, gspca_dev->usb_buf, 1); 653 reg_r(gspca_dev, 0x21, 0, 1);
638 if ((gspca_dev->usb_buf[0] & 0x01) == 0) 654 if ((gspca_dev->usb_buf[0] & 0x01) == 0)
639 break; 655 break;
640 msleep(10); 656 msleep(10);
@@ -644,15 +660,14 @@ static int spca504B_PollingDataReady(struct gspca_dev *gspca_dev)
644 660
645static void spca504B_WaitCmdStatus(struct gspca_dev *gspca_dev) 661static void spca504B_WaitCmdStatus(struct gspca_dev *gspca_dev)
646{ 662{
647 struct usb_device *dev = gspca_dev->dev;
648 int count = 50; 663 int count = 50;
649 664
650 while (--count > 0) { 665 while (--count > 0) {
651 reg_r(dev, 0x21, 1, gspca_dev->usb_buf, 1); 666 reg_r(gspca_dev, 0x21, 1, 1);
652 if (gspca_dev->usb_buf[0] != 0) { 667 if (gspca_dev->usb_buf[0] != 0) {
653 gspca_dev->usb_buf[0] = 0; 668 gspca_dev->usb_buf[0] = 0;
654 reg_w(dev, 0x21, 0, 1, gspca_dev->usb_buf, 1); 669 reg_w(gspca_dev, 0x21, 0, 1, 1);
655 reg_r(dev, 0x21, 1, gspca_dev->usb_buf, 1); 670 reg_r(gspca_dev, 0x21, 1, 1);
656 spca504B_PollingDataReady(gspca_dev); 671 spca504B_PollingDataReady(gspca_dev);
657 break; 672 break;
658 } 673 }
@@ -662,16 +677,14 @@ static void spca504B_WaitCmdStatus(struct gspca_dev *gspca_dev)
662 677
663static void spca50x_GetFirmware(struct gspca_dev *gspca_dev) 678static void spca50x_GetFirmware(struct gspca_dev *gspca_dev)
664{ 679{
665 struct usb_device *dev = gspca_dev->dev;
666 __u8 *data; 680 __u8 *data;
667 681
668 data = kmalloc(64, GFP_KERNEL); 682 data = gspca_dev->usb_buf;
669 reg_r(dev, 0x20, 0, data, 5); 683 reg_r(gspca_dev, 0x20, 0, 5);
670 PDEBUG(D_STREAM, "FirmWare : %d %d %d %d %d ", 684 PDEBUG(D_STREAM, "FirmWare : %d %d %d %d %d ",
671 data[0], data[1], data[2], data[3], data[4]); 685 data[0], data[1], data[2], data[3], data[4]);
672 reg_r(dev, 0x23, 0, data, 64); 686 reg_r(gspca_dev, 0x23, 0, 64);
673 reg_r(dev, 0x23, 1, data, 64); 687 reg_r(gspca_dev, 0x23, 1, 64);
674 kfree(data);
675} 688}
676 689
677static void spca504B_SetSizeType(struct gspca_dev *gspca_dev) 690static void spca504B_SetSizeType(struct gspca_dev *gspca_dev)
@@ -686,21 +699,21 @@ static void spca504B_SetSizeType(struct gspca_dev *gspca_dev)
686 Type = 0; 699 Type = 0;
687 switch (sd->bridge) { 700 switch (sd->bridge) {
688 case BRIDGE_SPCA533: 701 case BRIDGE_SPCA533:
689 reg_w(dev, 0x31, 0, 0, NULL, 0); 702 reg_w(gspca_dev, 0x31, 0, 0, 0);
690 spca504B_WaitCmdStatus(gspca_dev); 703 spca504B_WaitCmdStatus(gspca_dev);
691 rc = spca504B_PollingDataReady(gspca_dev); 704 rc = spca504B_PollingDataReady(gspca_dev);
692 spca50x_GetFirmware(gspca_dev); 705 spca50x_GetFirmware(gspca_dev);
693 gspca_dev->usb_buf[0] = 2; /* type */ 706 gspca_dev->usb_buf[0] = 2; /* type */
694 reg_w(dev, 0x24, 0, 8, gspca_dev->usb_buf, 1); 707 reg_w(gspca_dev, 0x24, 0, 8, 1);
695 reg_r(dev, 0x24, 8, gspca_dev->usb_buf, 1); 708 reg_r(gspca_dev, 0x24, 8, 1);
696 709
697 gspca_dev->usb_buf[0] = Size; 710 gspca_dev->usb_buf[0] = Size;
698 reg_w(dev, 0x25, 0, 4, gspca_dev->usb_buf, 1); 711 reg_w(gspca_dev, 0x25, 0, 4, 1);
699 reg_r(dev, 0x25, 4, gspca_dev->usb_buf, 1); /* size */ 712 reg_r(gspca_dev, 0x25, 4, 1); /* size */
700 rc = spca504B_PollingDataReady(gspca_dev); 713 rc = spca504B_PollingDataReady(gspca_dev);
701 714
702 /* Init the cam width height with some values get on init ? */ 715 /* Init the cam width height with some values get on init ? */
703 reg_w(dev, 0x31, 0, 4, NULL, 0); 716 reg_w(gspca_dev, 0x31, 0, 4, 0);
704 spca504B_WaitCmdStatus(gspca_dev); 717 spca504B_WaitCmdStatus(gspca_dev);
705 rc = spca504B_PollingDataReady(gspca_dev); 718 rc = spca504B_PollingDataReady(gspca_dev);
706 break; 719 break;
@@ -708,12 +721,12 @@ static void spca504B_SetSizeType(struct gspca_dev *gspca_dev)
708/* case BRIDGE_SPCA504B: */ 721/* case BRIDGE_SPCA504B: */
709/* case BRIDGE_SPCA536: */ 722/* case BRIDGE_SPCA536: */
710 gspca_dev->usb_buf[0] = Size; 723 gspca_dev->usb_buf[0] = Size;
711 reg_w(dev, 0x25, 0, 4, gspca_dev->usb_buf, 1); 724 reg_w(gspca_dev, 0x25, 0, 4, 1);
712 reg_r(dev, 0x25, 4, gspca_dev->usb_buf, 1); /* size */ 725 reg_r(gspca_dev, 0x25, 4, 1); /* size */
713 Type = 6; 726 Type = 6;
714 gspca_dev->usb_buf[0] = Type; 727 gspca_dev->usb_buf[0] = Type;
715 reg_w(dev, 0x27, 0, 0, gspca_dev->usb_buf, 1); 728 reg_w(gspca_dev, 0x27, 0, 0, 1);
716 reg_r(dev, 0x27, 0, gspca_dev->usb_buf, 1); /* type */ 729 reg_r(gspca_dev, 0x27, 0, 1); /* type */
717 rc = spca504B_PollingDataReady(gspca_dev); 730 rc = spca504B_PollingDataReady(gspca_dev);
718 break; 731 break;
719 case BRIDGE_SPCA504: 732 case BRIDGE_SPCA504:
@@ -752,18 +765,15 @@ static void spca504_wait_status(struct gspca_dev *gspca_dev)
752 765
753static void spca504B_setQtable(struct gspca_dev *gspca_dev) 766static void spca504B_setQtable(struct gspca_dev *gspca_dev)
754{ 767{
755 struct usb_device *dev = gspca_dev->dev;
756
757 gspca_dev->usb_buf[0] = 3; 768 gspca_dev->usb_buf[0] = 3;
758 reg_w(dev, 0x26, 0, 0, gspca_dev->usb_buf, 1); 769 reg_w(gspca_dev, 0x26, 0, 0, 1);
759 reg_r(dev, 0x26, 0, gspca_dev->usb_buf, 1); 770 reg_r(gspca_dev, 0x26, 0, 1);
760 spca504B_PollingDataReady(gspca_dev); 771 spca504B_PollingDataReady(gspca_dev);
761} 772}
762 773
763static void sp5xx_initContBrigHueRegisters(struct gspca_dev *gspca_dev) 774static void sp5xx_initContBrigHueRegisters(struct gspca_dev *gspca_dev)
764{ 775{
765 struct sd *sd = (struct sd *) gspca_dev; 776 struct sd *sd = (struct sd *) gspca_dev;
766 struct usb_device *dev = gspca_dev->dev;
767 int pollreg = 1; 777 int pollreg = 1;
768 778
769 switch (sd->bridge) { 779 switch (sd->bridge) {
@@ -774,20 +784,20 @@ static void sp5xx_initContBrigHueRegisters(struct gspca_dev *gspca_dev)
774 default: 784 default:
775/* case BRIDGE_SPCA533: */ 785/* case BRIDGE_SPCA533: */
776/* case BRIDGE_SPCA504B: */ 786/* case BRIDGE_SPCA504B: */
777 reg_w(dev, 0, 0, 0x21a7, NULL, 0); /* brightness */ 787 reg_w(gspca_dev, 0, 0, 0x21a7, 0); /* brightness */
778 reg_w(dev, 0, 0x20, 0x21a8, NULL, 0); /* contrast */ 788 reg_w(gspca_dev, 0, 0x20, 0x21a8, 0); /* contrast */
779 reg_w(dev, 0, 0, 0x21ad, NULL, 0); /* hue */ 789 reg_w(gspca_dev, 0, 0, 0x21ad, 0); /* hue */
780 reg_w(dev, 0, 1, 0x21ac, NULL, 0); /* sat/hue */ 790 reg_w(gspca_dev, 0, 1, 0x21ac, 0); /* sat/hue */
781 reg_w(dev, 0, 0x20, 0x21ae, NULL, 0); /* saturation */ 791 reg_w(gspca_dev, 0, 0x20, 0x21ae, 0); /* saturation */
782 reg_w(dev, 0, 0, 0x21a3, NULL, 0); /* gamma */ 792 reg_w(gspca_dev, 0, 0, 0x21a3, 0); /* gamma */
783 break; 793 break;
784 case BRIDGE_SPCA536: 794 case BRIDGE_SPCA536:
785 reg_w(dev, 0, 0, 0x20f0, NULL, 0); 795 reg_w(gspca_dev, 0, 0, 0x20f0, 0);
786 reg_w(dev, 0, 0x21, 0x20f1, NULL, 0); 796 reg_w(gspca_dev, 0, 0x21, 0x20f1, 0);
787 reg_w(dev, 0, 0x40, 0x20f5, NULL, 0); 797 reg_w(gspca_dev, 0, 0x40, 0x20f5, 0);
788 reg_w(dev, 0, 1, 0x20f4, NULL, 0); 798 reg_w(gspca_dev, 0, 1, 0x20f4, 0);
789 reg_w(dev, 0, 0x40, 0x20f6, NULL, 0); 799 reg_w(gspca_dev, 0, 0x40, 0x20f6, 0);
790 reg_w(dev, 0, 0, 0x2089, NULL, 0); 800 reg_w(gspca_dev, 0, 0, 0x2089, 0);
791 break; 801 break;
792 } 802 }
793 if (pollreg) 803 if (pollreg)
@@ -799,7 +809,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
799 const struct usb_device_id *id) 809 const struct usb_device_id *id)
800{ 810{
801 struct sd *sd = (struct sd *) gspca_dev; 811 struct sd *sd = (struct sd *) gspca_dev;
802 struct usb_device *dev = gspca_dev->dev;
803 struct cam *cam; 812 struct cam *cam;
804 813
805 cam = &gspca_dev->cam; 814 cam = &gspca_dev->cam;
@@ -811,7 +820,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
811 if (sd->subtype == AiptekMiniPenCam13) { 820 if (sd->subtype == AiptekMiniPenCam13) {
812/* try to get the firmware as some cam answer 2.0.1.2.2 821/* try to get the firmware as some cam answer 2.0.1.2.2
813 * and should be a spca504b then overwrite that setting */ 822 * and should be a spca504b then overwrite that setting */
814 reg_r(dev, 0x20, 0, gspca_dev->usb_buf, 1); 823 reg_r(gspca_dev, 0x20, 0, 1);
815 switch (gspca_dev->usb_buf[0]) { 824 switch (gspca_dev->usb_buf[0]) {
816 case 1: 825 case 1:
817 break; /* (right bridge/subtype) */ 826 break; /* (right bridge/subtype) */
@@ -848,8 +857,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
848 return 0; 857 return 0;
849} 858}
850 859
851/* this function is called at open time */ 860/* this function is called at probe and resume time */
852static int sd_open(struct gspca_dev *gspca_dev) 861static int sd_init(struct gspca_dev *gspca_dev)
853{ 862{
854 struct sd *sd = (struct sd *) gspca_dev; 863 struct sd *sd = (struct sd *) gspca_dev;
855 struct usb_device *dev = gspca_dev->dev; 864 struct usb_device *dev = gspca_dev->dev;
@@ -860,12 +869,12 @@ static int sd_open(struct gspca_dev *gspca_dev)
860 869
861 switch (sd->bridge) { 870 switch (sd->bridge) {
862 case BRIDGE_SPCA504B: 871 case BRIDGE_SPCA504B:
863 reg_w(dev, 0x1d, 0, 0, NULL, 0); 872 reg_w(gspca_dev, 0x1d, 0, 0, 0);
864 reg_w(dev, 0, 1, 0x2306, NULL, 0); 873 reg_w(gspca_dev, 0, 1, 0x2306, 0);
865 reg_w(dev, 0, 0, 0x0d04, NULL, 0); 874 reg_w(gspca_dev, 0, 0, 0x0d04, 0);
866 reg_w(dev, 0, 0, 0x2000, NULL, 0); 875 reg_w(gspca_dev, 0, 0, 0x2000, 0);
867 reg_w(dev, 0, 0x13, 0x2301, NULL, 0); 876 reg_w(gspca_dev, 0, 0x13, 0x2301, 0);
868 reg_w(dev, 0, 0, 0x2306, NULL, 0); 877 reg_w(gspca_dev, 0, 0, 0x2306, 0);
869 /* fall thru */ 878 /* fall thru */
870 case BRIDGE_SPCA533: 879 case BRIDGE_SPCA533:
871 rc = spca504B_PollingDataReady(gspca_dev); 880 rc = spca504B_PollingDataReady(gspca_dev);
@@ -873,12 +882,12 @@ static int sd_open(struct gspca_dev *gspca_dev)
873 break; 882 break;
874 case BRIDGE_SPCA536: 883 case BRIDGE_SPCA536:
875 spca50x_GetFirmware(gspca_dev); 884 spca50x_GetFirmware(gspca_dev);
876 reg_r(dev, 0x00, 0x5002, gspca_dev->usb_buf, 1); 885 reg_r(gspca_dev, 0x00, 0x5002, 1);
877 gspca_dev->usb_buf[0] = 0; 886 gspca_dev->usb_buf[0] = 0;
878 reg_w(dev, 0x24, 0, 0, gspca_dev->usb_buf, 1); 887 reg_w(gspca_dev, 0x24, 0, 0, 1);
879 reg_r(dev, 0x24, 0, gspca_dev->usb_buf, 1); 888 reg_r(gspca_dev, 0x24, 0, 1);
880 rc = spca504B_PollingDataReady(gspca_dev); 889 rc = spca504B_PollingDataReady(gspca_dev);
881 reg_w(dev, 0x34, 0, 0, NULL, 0); 890 reg_w(gspca_dev, 0x34, 0, 0, 0);
882 spca504B_WaitCmdStatus(gspca_dev); 891 spca504B_WaitCmdStatus(gspca_dev);
883 break; 892 break;
884 case BRIDGE_SPCA504C: /* pccam600 */ 893 case BRIDGE_SPCA504C: /* pccam600 */
@@ -971,12 +980,12 @@ static void sd_start(struct gspca_dev *gspca_dev)
971/* case BRIDGE_SPCA536: */ 980/* case BRIDGE_SPCA536: */
972 if (sd->subtype == MegapixV4 || 981 if (sd->subtype == MegapixV4 ||
973 sd->subtype == LogitechClickSmart820) { 982 sd->subtype == LogitechClickSmart820) {
974 reg_w(dev, 0xf0, 0, 0, NULL, 0); 983 reg_w(gspca_dev, 0xf0, 0, 0, 0);
975 spca504B_WaitCmdStatus(gspca_dev); 984 spca504B_WaitCmdStatus(gspca_dev);
976 reg_r(dev, 0xf0, 4, NULL, 0); 985 reg_r(gspca_dev, 0xf0, 4, 0);
977 spca504B_WaitCmdStatus(gspca_dev); 986 spca504B_WaitCmdStatus(gspca_dev);
978 } else { 987 } else {
979 reg_w(dev, 0x31, 0, 4, NULL, 0); 988 reg_w(gspca_dev, 0x31, 0, 4, 0);
980 spca504B_WaitCmdStatus(gspca_dev); 989 spca504B_WaitCmdStatus(gspca_dev);
981 rc = spca504B_PollingDataReady(gspca_dev); 990 rc = spca504B_PollingDataReady(gspca_dev);
982 } 991 }
@@ -1045,7 +1054,7 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1045/* case BRIDGE_SPCA533: */ 1054/* case BRIDGE_SPCA533: */
1046/* case BRIDGE_SPCA536: */ 1055/* case BRIDGE_SPCA536: */
1047/* case BRIDGE_SPCA504B: */ 1056/* case BRIDGE_SPCA504B: */
1048 reg_w(dev, 0x31, 0, 0, NULL, 0); 1057 reg_w(gspca_dev, 0x31, 0, 0, 0);
1049 spca504B_WaitCmdStatus(gspca_dev); 1058 spca504B_WaitCmdStatus(gspca_dev);
1050 spca504B_PollingDataReady(gspca_dev); 1059 spca504B_PollingDataReady(gspca_dev);
1051 break; 1060 break;
@@ -1069,14 +1078,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
1069 } 1078 }
1070} 1079}
1071 1080
1072static void sd_stop0(struct gspca_dev *gspca_dev)
1073{
1074}
1075
1076static void sd_close(struct gspca_dev *gspca_dev)
1077{
1078}
1079
1080static void sd_pkt_scan(struct gspca_dev *gspca_dev, 1081static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1081 struct gspca_frame *frame, /* target */ 1082 struct gspca_frame *frame, /* target */
1082 __u8 *data, /* isoc packet */ 1083 __u8 *data, /* isoc packet */
@@ -1369,11 +1370,9 @@ static const struct sd_desc sd_desc = {
1369 .ctrls = sd_ctrls, 1370 .ctrls = sd_ctrls,
1370 .nctrls = ARRAY_SIZE(sd_ctrls), 1371 .nctrls = ARRAY_SIZE(sd_ctrls),
1371 .config = sd_config, 1372 .config = sd_config,
1372 .open = sd_open, 1373 .init = sd_init,
1373 .start = sd_start, 1374 .start = sd_start,
1374 .stopN = sd_stopN, 1375 .stopN = sd_stopN,
1375 .stop0 = sd_stop0,
1376 .close = sd_close,
1377 .pkt_scan = sd_pkt_scan, 1376 .pkt_scan = sd_pkt_scan,
1378}; 1377};
1379 1378
@@ -1456,6 +1455,10 @@ static struct usb_driver sd_driver = {
1456 .id_table = device_table, 1455 .id_table = device_table,
1457 .probe = sd_probe, 1456 .probe = sd_probe,
1458 .disconnect = gspca_disconnect, 1457 .disconnect = gspca_disconnect,
1458#ifdef CONFIG_PM
1459 .suspend = gspca_suspend,
1460 .resume = gspca_resume,
1461#endif
1459}; 1462};
1460 1463
1461/* -- module insert / remove -- */ 1464/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/t613.c b/drivers/media/video/gspca/t613.c
index 91b555c34c68..f034c748fc7e 100644
--- a/drivers/media/video/gspca/t613.c
+++ b/drivers/media/video/gspca/t613.c
@@ -30,7 +30,7 @@
30 30
31#define MAX_GAMMA 0x10 /* 0 to 15 */ 31#define MAX_GAMMA 0x10 /* 0 to 15 */
32 32
33#define V4L2_CID_EFFECTS (V4L2_CID_PRIVATE_BASE + 3) 33#define V4L2_CID_EFFECTS (V4L2_CID_PRIVATE_BASE + 0)
34 34
35MODULE_AUTHOR("Leandro Costantino <le_costantino@pixartargentina.com.ar>"); 35MODULE_AUTHOR("Leandro Costantino <le_costantino@pixartargentina.com.ar>");
36MODULE_DESCRIPTION("GSPCA/T613 (JPEG Compliance) USB Camera Driver"); 36MODULE_DESCRIPTION("GSPCA/T613 (JPEG Compliance) USB Camera Driver");
@@ -233,7 +233,7 @@ static char *effects_control[] = {
233static struct v4l2_pix_format vga_mode_t16[] = { 233static struct v4l2_pix_format vga_mode_t16[] = {
234 {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 234 {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
235 .bytesperline = 160, 235 .bytesperline = 160,
236 .sizeimage = 160 * 120 * 3 / 8 + 590, 236 .sizeimage = 160 * 120 * 4 / 8 + 590,
237 .colorspace = V4L2_COLORSPACE_JPEG, 237 .colorspace = V4L2_COLORSPACE_JPEG,
238 .priv = 4}, 238 .priv = 4},
239 {176, 144, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE, 239 {176, 144, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
@@ -391,7 +391,7 @@ static void reg_w(struct gspca_dev *gspca_dev,
391 NULL, 0, 500); 391 NULL, 0, 500);
392 return; 392 return;
393 } 393 }
394 if (len <= sizeof gspca_dev->usb_buf) { 394 if (len <= USB_BUF_SZ) {
395 memcpy(gspca_dev->usb_buf, buffer, len); 395 memcpy(gspca_dev->usb_buf, buffer, len);
396 usb_control_msg(gspca_dev->dev, 396 usb_control_msg(gspca_dev->dev,
397 usb_sndctrlpipe(gspca_dev->dev, 0), 397 usb_sndctrlpipe(gspca_dev->dev, 0),
@@ -552,6 +552,13 @@ static int init_default_parameters(struct gspca_dev *gspca_dev)
552 return 0; 552 return 0;
553} 553}
554 554
555/* this function is called at probe and resume time */
556static int sd_init(struct gspca_dev *gspca_dev)
557{
558 init_default_parameters(gspca_dev);
559 return 0;
560}
561
555static void setbrightness(struct gspca_dev *gspca_dev) 562static void setbrightness(struct gspca_dev *gspca_dev)
556{ 563{
557 struct sd *sd = (struct sd *) gspca_dev; 564 struct sd *sd = (struct sd *) gspca_dev;
@@ -893,18 +900,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
893 setcolors(gspca_dev); 900 setcolors(gspca_dev);
894} 901}
895 902
896static void sd_stopN(struct gspca_dev *gspca_dev)
897{
898}
899
900static void sd_stop0(struct gspca_dev *gspca_dev)
901{
902}
903
904static void sd_close(struct gspca_dev *gspca_dev)
905{
906}
907
908static void sd_pkt_scan(struct gspca_dev *gspca_dev, 903static void sd_pkt_scan(struct gspca_dev *gspca_dev,
909 struct gspca_frame *frame, /* target */ 904 struct gspca_frame *frame, /* target */
910 __u8 *data, /* isoc packet */ 905 __u8 *data, /* isoc packet */
@@ -972,24 +967,14 @@ static int sd_querymenu(struct gspca_dev *gspca_dev,
972 return -EINVAL; 967 return -EINVAL;
973} 968}
974 969
975/* this function is called at open time */
976static int sd_open(struct gspca_dev *gspca_dev)
977{
978 init_default_parameters(gspca_dev);
979 return 0;
980}
981
982/* sub-driver description */ 970/* sub-driver description */
983static const struct sd_desc sd_desc = { 971static const struct sd_desc sd_desc = {
984 .name = MODULE_NAME, 972 .name = MODULE_NAME,
985 .ctrls = sd_ctrls, 973 .ctrls = sd_ctrls,
986 .nctrls = ARRAY_SIZE(sd_ctrls), 974 .nctrls = ARRAY_SIZE(sd_ctrls),
987 .config = sd_config, 975 .config = sd_config,
988 .open = sd_open, 976 .init = sd_init,
989 .start = sd_start, 977 .start = sd_start,
990 .stopN = sd_stopN,
991 .stop0 = sd_stop0,
992 .close = sd_close,
993 .pkt_scan = sd_pkt_scan, 978 .pkt_scan = sd_pkt_scan,
994 .querymenu = sd_querymenu, 979 .querymenu = sd_querymenu,
995}; 980};
@@ -1014,6 +999,10 @@ static struct usb_driver sd_driver = {
1014 .id_table = device_table, 999 .id_table = device_table,
1015 .probe = sd_probe, 1000 .probe = sd_probe,
1016 .disconnect = gspca_disconnect, 1001 .disconnect = gspca_disconnect,
1002#ifdef CONFIG_PM
1003 .suspend = gspca_suspend,
1004 .resume = gspca_resume,
1005#endif
1017}; 1006};
1018 1007
1019/* -- module insert / remove -- */ 1008/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/tv8532.c b/drivers/media/video/gspca/tv8532.c
index 1ff8ba2f7fe5..084af05302a0 100644
--- a/drivers/media/video/gspca/tv8532.c
+++ b/drivers/media/video/gspca/tv8532.c
@@ -331,8 +331,8 @@ static void tv_8532_PollReg(struct gspca_dev *gspca_dev)
331 } 331 }
332} 332}
333 333
334/* this function is called at open time */ 334/* this function is called at probe and resume time */
335static int sd_open(struct gspca_dev *gspca_dev) 335static int sd_init(struct gspca_dev *gspca_dev)
336{ 336{
337 reg_w_1(gspca_dev, TV8532_AD_SLOPE, 0x32); 337 reg_w_1(gspca_dev, TV8532_AD_SLOPE, 0x32);
338 reg_w_1(gspca_dev, TV8532_AD_BITCTRL, 0x00); 338 reg_w_1(gspca_dev, TV8532_AD_BITCTRL, 0x00);
@@ -450,14 +450,6 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
450 reg_w_1(gspca_dev, TV8532_GPIO_OE, 0x0b); 450 reg_w_1(gspca_dev, TV8532_GPIO_OE, 0x0b);
451} 451}
452 452
453static void sd_stop0(struct gspca_dev *gspca_dev)
454{
455}
456
457static void sd_close(struct gspca_dev *gspca_dev)
458{
459}
460
461static void tv8532_preprocess(struct gspca_dev *gspca_dev) 453static void tv8532_preprocess(struct gspca_dev *gspca_dev)
462{ 454{
463 struct sd *sd = (struct sd *) gspca_dev; 455 struct sd *sd = (struct sd *) gspca_dev;
@@ -611,11 +603,9 @@ static const struct sd_desc sd_desc = {
611 .ctrls = sd_ctrls, 603 .ctrls = sd_ctrls,
612 .nctrls = ARRAY_SIZE(sd_ctrls), 604 .nctrls = ARRAY_SIZE(sd_ctrls),
613 .config = sd_config, 605 .config = sd_config,
614 .open = sd_open, 606 .init = sd_init,
615 .start = sd_start, 607 .start = sd_start,
616 .stopN = sd_stopN, 608 .stopN = sd_stopN,
617 .stop0 = sd_stop0,
618 .close = sd_close,
619 .pkt_scan = sd_pkt_scan, 609 .pkt_scan = sd_pkt_scan,
620}; 610};
621 611
@@ -644,6 +634,10 @@ static struct usb_driver sd_driver = {
644 .id_table = device_table, 634 .id_table = device_table,
645 .probe = sd_probe, 635 .probe = sd_probe,
646 .disconnect = gspca_disconnect, 636 .disconnect = gspca_disconnect,
637#ifdef CONFIG_PM
638 .suspend = gspca_suspend,
639 .resume = gspca_resume,
640#endif
647}; 641};
648 642
649/* -- module insert / remove -- */ 643/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/vc032x.c b/drivers/media/video/gspca/vc032x.c
index f4a52956e0d9..bd4c226c9a07 100644
--- a/drivers/media/video/gspca/vc032x.c
+++ b/drivers/media/video/gspca/vc032x.c
@@ -69,6 +69,7 @@ static struct ctrl sd_ctrls[] = {
69 .set = sd_setautogain, 69 .set = sd_setautogain,
70 .get = sd_getautogain, 70 .get = sd_getautogain,
71 }, 71 },
72#define LIGHTFREQ_IDX 1
72 { 73 {
73 { 74 {
74 .id = V4L2_CID_POWER_LINE_FREQUENCY, 75 .id = V4L2_CID_POWER_LINE_FREQUENCY,
@@ -87,12 +88,12 @@ static struct ctrl sd_ctrls[] = {
87}; 88};
88 89
89static struct v4l2_pix_format vc0321_mode[] = { 90static struct v4l2_pix_format vc0321_mode[] = {
90 {320, 240, V4L2_PIX_FMT_YUV420, V4L2_FIELD_NONE, 91 {320, 240, V4L2_PIX_FMT_YVYU, V4L2_FIELD_NONE,
91 .bytesperline = 320, 92 .bytesperline = 320,
92 .sizeimage = 320 * 240 * 2, 93 .sizeimage = 320 * 240 * 2,
93 .colorspace = V4L2_COLORSPACE_SRGB, 94 .colorspace = V4L2_COLORSPACE_SRGB,
94 .priv = 1}, 95 .priv = 1},
95 {640, 480, V4L2_PIX_FMT_YUV420, V4L2_FIELD_NONE, 96 {640, 480, V4L2_PIX_FMT_YVYU, V4L2_FIELD_NONE,
96 .bytesperline = 640, 97 .bytesperline = 640,
97 .sizeimage = 640 * 480 * 2, 98 .sizeimage = 640 * 480 * 2,
98 .colorspace = V4L2_COLORSPACE_SRGB, 99 .colorspace = V4L2_COLORSPACE_SRGB,
@@ -1463,6 +1464,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
1463 sd->qindex = 7; 1464 sd->qindex = 7;
1464 sd->autogain = AUTOGAIN_DEF; 1465 sd->autogain = AUTOGAIN_DEF;
1465 sd->lightfreq = FREQ_DEF; 1466 sd->lightfreq = FREQ_DEF;
1467 if (sd->sensor != SENSOR_OV7670)
1468 gspca_dev->ctrl_dis = (1 << LIGHTFREQ_IDX);
1466 1469
1467 if (sd->bridge == BRIDGE_VC0321) { 1470 if (sd->bridge == BRIDGE_VC0321) {
1468 reg_r(gspca_dev, 0x8a, 0, 3); 1471 reg_r(gspca_dev, 0x8a, 0, 3);
@@ -1474,8 +1477,8 @@ static int sd_config(struct gspca_dev *gspca_dev,
1474 return 0; 1477 return 0;
1475} 1478}
1476 1479
1477/* this function is called at open time */ 1480/* this function is called at probe and time */
1478static int sd_open(struct gspca_dev *gspca_dev) 1481static int sd_init(struct gspca_dev *gspca_dev)
1479{ 1482{
1480 return 0; 1483 return 0;
1481} 1484}
@@ -1637,19 +1640,6 @@ static void sd_stop0(struct gspca_dev *gspca_dev)
1637 reg_w(dev, 0x89, 0xffff, 0xffff); 1640 reg_w(dev, 0x89, 0xffff, 0xffff);
1638} 1641}
1639 1642
1640/* this function is called at close time */
1641static void sd_close(struct gspca_dev *gspca_dev)
1642{
1643/* struct usb_device *dev = gspca_dev->dev;
1644 __u8 buffread;
1645
1646 reg_w(dev, 0x89, 0xffff, 0xffff);
1647 reg_w(dev, 0xa0, 0x01, 0xb301);
1648 reg_w(dev, 0xa0, 0x09, 0xb303);
1649 reg_w(dev, 0x89, 0xffff, 0xffff);
1650*/
1651}
1652
1653static void sd_pkt_scan(struct gspca_dev *gspca_dev, 1643static void sd_pkt_scan(struct gspca_dev *gspca_dev,
1654 struct gspca_frame *frame, /* target */ 1644 struct gspca_frame *frame, /* target */
1655 __u8 *data, /* isoc packet */ 1645 __u8 *data, /* isoc packet */
@@ -1738,11 +1728,10 @@ static const struct sd_desc sd_desc = {
1738 .ctrls = sd_ctrls, 1728 .ctrls = sd_ctrls,
1739 .nctrls = ARRAY_SIZE(sd_ctrls), 1729 .nctrls = ARRAY_SIZE(sd_ctrls),
1740 .config = sd_config, 1730 .config = sd_config,
1741 .open = sd_open, 1731 .init = sd_init,
1742 .start = sd_start, 1732 .start = sd_start,
1743 .stopN = sd_stopN, 1733 .stopN = sd_stopN,
1744 .stop0 = sd_stop0, 1734 .stop0 = sd_stop0,
1745 .close = sd_close,
1746 .pkt_scan = sd_pkt_scan, 1735 .pkt_scan = sd_pkt_scan,
1747 .querymenu = sd_querymenu, 1736 .querymenu = sd_querymenu,
1748}; 1737};
@@ -1774,6 +1763,10 @@ static struct usb_driver sd_driver = {
1774 .id_table = device_table, 1763 .id_table = device_table,
1775 .probe = sd_probe, 1764 .probe = sd_probe,
1776 .disconnect = gspca_disconnect, 1765 .disconnect = gspca_disconnect,
1766#ifdef CONFIG_PM
1767 .suspend = gspca_suspend,
1768 .resume = gspca_resume,
1769#endif
1777}; 1770};
1778 1771
1779/* -- module insert / remove -- */ 1772/* -- module insert / remove -- */
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index bc7d0eedcd81..8d7c27e6ac77 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -85,6 +85,7 @@ static int sd_setsharpness(struct gspca_dev *gspca_dev, __s32 val);
85static int sd_getsharpness(struct gspca_dev *gspca_dev, __s32 *val); 85static int sd_getsharpness(struct gspca_dev *gspca_dev, __s32 *val);
86 86
87static struct ctrl sd_ctrls[] = { 87static struct ctrl sd_ctrls[] = {
88#define BRIGHTNESS_IDX 0
88#define SD_BRIGHTNESS 0 89#define SD_BRIGHTNESS 0
89 { 90 {
90 { 91 {
@@ -141,6 +142,7 @@ static struct ctrl sd_ctrls[] = {
141 .set = sd_setautogain, 142 .set = sd_setautogain,
142 .get = sd_getautogain, 143 .get = sd_getautogain,
143 }, 144 },
145#define LIGHTFREQ_IDX 4
144#define SD_FREQ 4 146#define SD_FREQ 4
145 { 147 {
146 { 148 {
@@ -6964,8 +6966,13 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
6964 case SENSOR_MC501CB: 6966 case SENSOR_MC501CB:
6965 return -1; /* don't probe */ 6967 return -1; /* don't probe */
6966 case SENSOR_TAS5130C_VF0250: 6968 case SENSOR_TAS5130C_VF0250:
6967 /* may probe but with write in reg 0x0010 */ 6969 /* may probe but with no write in reg 0x0010 */
6968 return -1; /* don't probe */ 6970 return -1; /* don't probe */
6971 case SENSOR_PAS106:
6972 sensor = sif_probe(gspca_dev);
6973 if (sensor >= 0)
6974 return sensor;
6975 break;
6969 } 6976 }
6970 sensor = vga_2wr_probe(gspca_dev); 6977 sensor = vga_2wr_probe(gspca_dev);
6971 if (sensor >= 0) { 6978 if (sensor >= 0) {
@@ -6974,12 +6981,10 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
6974 /* next probe is needed for OmniVision ? */ 6981 /* next probe is needed for OmniVision ? */
6975 } 6982 }
6976 sensor2 = vga_3wr_probe(gspca_dev); 6983 sensor2 = vga_3wr_probe(gspca_dev);
6977 if (sensor2 >= 0) { 6984 if (sensor2 >= 0
6978 if (sensor >= 0) 6985 && sensor >= 0)
6979 return sensor; 6986 return sensor;
6980 return sensor2; 6987 return sensor2;
6981 }
6982 return sif_probe(gspca_dev);
6983} 6988}
6984 6989
6985/* this function is called at probe time */ 6990/* this function is called at probe time */
@@ -7147,13 +7152,27 @@ static int sd_config(struct gspca_dev *gspca_dev,
7147 sd->lightfreq = sd_ctrls[SD_FREQ].qctrl.default_value; 7152 sd->lightfreq = sd_ctrls[SD_FREQ].qctrl.default_value;
7148 sd->sharpness = sd_ctrls[SD_SHARPNESS].qctrl.default_value; 7153 sd->sharpness = sd_ctrls[SD_SHARPNESS].qctrl.default_value;
7149 7154
7155 switch (sd->sensor) {
7156 case SENSOR_GC0305:
7157 case SENSOR_OV7620:
7158 case SENSOR_PO2030:
7159 gspca_dev->ctrl_dis = (1 << BRIGHTNESS_IDX);
7160 break;
7161 case SENSOR_HDCS2020:
7162 case SENSOR_HV7131B:
7163 case SENSOR_HV7131C:
7164 case SENSOR_OV7630C:
7165 gspca_dev->ctrl_dis = (1 << LIGHTFREQ_IDX);
7166 break;
7167 }
7168
7150 /* switch the led off */ 7169 /* switch the led off */
7151 reg_w(gspca_dev->dev, 0x01, 0x0000); 7170 reg_w(gspca_dev->dev, 0x01, 0x0000);
7152 return 0; 7171 return 0;
7153} 7172}
7154 7173
7155/* this function is called at open time */ 7174/* this function is called at probe and resume time */
7156static int sd_open(struct gspca_dev *gspca_dev) 7175static int sd_init(struct gspca_dev *gspca_dev)
7157{ 7176{
7158 reg_w(gspca_dev->dev, 0x01, 0x0000); 7177 reg_w(gspca_dev->dev, 0x01, 0x0000);
7159 return 0; 7178 return 0;
@@ -7314,10 +7333,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
7314 } 7333 }
7315} 7334}
7316 7335
7317static void sd_stopN(struct gspca_dev *gspca_dev)
7318{
7319}
7320
7321static void sd_stop0(struct gspca_dev *gspca_dev) 7336static void sd_stop0(struct gspca_dev *gspca_dev)
7322{ 7337{
7323 struct sd *sd = (struct sd *) gspca_dev; 7338 struct sd *sd = (struct sd *) gspca_dev;
@@ -7325,11 +7340,6 @@ static void sd_stop0(struct gspca_dev *gspca_dev)
7325 send_unknown(gspca_dev->dev, sd->sensor); 7340 send_unknown(gspca_dev->dev, sd->sensor);
7326} 7341}
7327 7342
7328/* this function is called at close time */
7329static void sd_close(struct gspca_dev *gspca_dev)
7330{
7331}
7332
7333static void sd_pkt_scan(struct gspca_dev *gspca_dev, 7343static void sd_pkt_scan(struct gspca_dev *gspca_dev,
7334 struct gspca_frame *frame, 7344 struct gspca_frame *frame,
7335 __u8 *data, 7345 __u8 *data,
@@ -7489,37 +7499,30 @@ static const struct sd_desc sd_desc = {
7489 .ctrls = sd_ctrls, 7499 .ctrls = sd_ctrls,
7490 .nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0], 7500 .nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0],
7491 .config = sd_config, 7501 .config = sd_config,
7492 .open = sd_open, 7502 .init = sd_init,
7493 .start = sd_start, 7503 .start = sd_start,
7494 .stopN = sd_stopN,
7495 .stop0 = sd_stop0, 7504 .stop0 = sd_stop0,
7496 .close = sd_close,
7497 .pkt_scan = sd_pkt_scan, 7505 .pkt_scan = sd_pkt_scan,
7498 .querymenu = sd_querymenu, 7506 .querymenu = sd_querymenu,
7499}; 7507};
7500 7508
7501static const __devinitdata struct usb_device_id device_table[] = { 7509static const __devinitdata struct usb_device_id device_table[] = {
7502 {USB_DEVICE(0x041e, 0x041e)}, 7510 {USB_DEVICE(0x041e, 0x041e)},
7503#ifndef CONFIG_USB_ZC0301
7504 {USB_DEVICE(0x041e, 0x4017)}, 7511 {USB_DEVICE(0x041e, 0x4017)},
7505 {USB_DEVICE(0x041e, 0x401c)}, 7512 {USB_DEVICE(0x041e, 0x401c), .driver_info = SENSOR_PAS106},
7506 {USB_DEVICE(0x041e, 0x401e)}, 7513 {USB_DEVICE(0x041e, 0x401e)},
7507 {USB_DEVICE(0x041e, 0x401f)}, 7514 {USB_DEVICE(0x041e, 0x401f)},
7508#endif 7515 {USB_DEVICE(0x041e, 0x4022)},
7509 {USB_DEVICE(0x041e, 0x4029)}, 7516 {USB_DEVICE(0x041e, 0x4029)},
7510#ifndef CONFIG_USB_ZC0301 7517 {USB_DEVICE(0x041e, 0x4034), .driver_info = SENSOR_PAS106},
7511 {USB_DEVICE(0x041e, 0x4034)}, 7518 {USB_DEVICE(0x041e, 0x4035), .driver_info = SENSOR_PAS106},
7512 {USB_DEVICE(0x041e, 0x4035)},
7513 {USB_DEVICE(0x041e, 0x4036)}, 7519 {USB_DEVICE(0x041e, 0x4036)},
7514 {USB_DEVICE(0x041e, 0x403a)}, 7520 {USB_DEVICE(0x041e, 0x403a)},
7515#endif
7516 {USB_DEVICE(0x041e, 0x4051), .driver_info = SENSOR_TAS5130C_VF0250}, 7521 {USB_DEVICE(0x041e, 0x4051), .driver_info = SENSOR_TAS5130C_VF0250},
7517 {USB_DEVICE(0x041e, 0x4053), .driver_info = SENSOR_TAS5130C_VF0250}, 7522 {USB_DEVICE(0x041e, 0x4053), .driver_info = SENSOR_TAS5130C_VF0250},
7518#ifndef CONFIG_USB_ZC0301
7519 {USB_DEVICE(0x0458, 0x7007)}, 7523 {USB_DEVICE(0x0458, 0x7007)},
7520 {USB_DEVICE(0x0458, 0x700c)}, 7524 {USB_DEVICE(0x0458, 0x700c)},
7521 {USB_DEVICE(0x0458, 0x700f)}, 7525 {USB_DEVICE(0x0458, 0x700f)},
7522#endif
7523 {USB_DEVICE(0x0461, 0x0a00)}, 7526 {USB_DEVICE(0x0461, 0x0a00)},
7524 {USB_DEVICE(0x046d, 0x08a0)}, 7527 {USB_DEVICE(0x046d, 0x08a0)},
7525 {USB_DEVICE(0x046d, 0x08a1)}, 7528 {USB_DEVICE(0x046d, 0x08a1)},
@@ -7531,7 +7534,7 @@ static const __devinitdata struct usb_device_id device_table[] = {
7531 {USB_DEVICE(0x046d, 0x08aa)}, 7534 {USB_DEVICE(0x046d, 0x08aa)},
7532 {USB_DEVICE(0x046d, 0x08ac)}, 7535 {USB_DEVICE(0x046d, 0x08ac)},
7533 {USB_DEVICE(0x046d, 0x08ad)}, 7536 {USB_DEVICE(0x046d, 0x08ad)},
7534#ifndef CONFIG_USB_ZC0301 7537#if !defined CONFIG_USB_ZC0301 && !defined CONFIG_USB_ZC0301_MODULE
7535 {USB_DEVICE(0x046d, 0x08ae)}, 7538 {USB_DEVICE(0x046d, 0x08ae)},
7536#endif 7539#endif
7537 {USB_DEVICE(0x046d, 0x08af)}, 7540 {USB_DEVICE(0x046d, 0x08af)},
@@ -7541,27 +7544,25 @@ static const __devinitdata struct usb_device_id device_table[] = {
7541 {USB_DEVICE(0x046d, 0x08d8)}, 7544 {USB_DEVICE(0x046d, 0x08d8)},
7542 {USB_DEVICE(0x046d, 0x08da)}, 7545 {USB_DEVICE(0x046d, 0x08da)},
7543 {USB_DEVICE(0x046d, 0x08dd), .driver_info = SENSOR_MC501CB}, 7546 {USB_DEVICE(0x046d, 0x08dd), .driver_info = SENSOR_MC501CB},
7544 {USB_DEVICE(0x0471, 0x0325)}, 7547 {USB_DEVICE(0x0471, 0x0325), .driver_info = SENSOR_PAS106},
7545 {USB_DEVICE(0x0471, 0x0326)}, 7548 {USB_DEVICE(0x0471, 0x0326), .driver_info = SENSOR_PAS106},
7546 {USB_DEVICE(0x0471, 0x032d)}, 7549 {USB_DEVICE(0x0471, 0x032d), .driver_info = SENSOR_PAS106},
7547 {USB_DEVICE(0x0471, 0x032e)}, 7550 {USB_DEVICE(0x0471, 0x032e), .driver_info = SENSOR_PAS106},
7548 {USB_DEVICE(0x055f, 0xc005)}, 7551 {USB_DEVICE(0x055f, 0xc005)},
7549#ifndef CONFIG_USB_ZC0301
7550 {USB_DEVICE(0x055f, 0xd003)}, 7552 {USB_DEVICE(0x055f, 0xd003)},
7551 {USB_DEVICE(0x055f, 0xd004)}, 7553 {USB_DEVICE(0x055f, 0xd004)},
7552#endif
7553 {USB_DEVICE(0x0698, 0x2003)}, 7554 {USB_DEVICE(0x0698, 0x2003)},
7555 {USB_DEVICE(0x0ac8, 0x0301), .driver_info = SENSOR_PAS106},
7554 {USB_DEVICE(0x0ac8, 0x0302)}, 7556 {USB_DEVICE(0x0ac8, 0x0302)},
7555#ifndef CONFIG_USB_ZC0301
7556 {USB_DEVICE(0x0ac8, 0x301b)}, 7557 {USB_DEVICE(0x0ac8, 0x301b)},
7558#if !defined CONFIG_USB_ZC0301 && !defined CONFIG_USB_ZC0301_MODULE
7557 {USB_DEVICE(0x0ac8, 0x303b)}, 7559 {USB_DEVICE(0x0ac8, 0x303b)},
7558#endif 7560#endif
7559 {USB_DEVICE(0x0ac8, 0x305b), .driver_info = SENSOR_TAS5130C_VF0250}, 7561 {USB_DEVICE(0x0ac8, 0x305b), .driver_info = SENSOR_TAS5130C_VF0250},
7560#ifndef CONFIG_USB_ZC0301
7561 {USB_DEVICE(0x0ac8, 0x307b)}, 7562 {USB_DEVICE(0x0ac8, 0x307b)},
7562 {USB_DEVICE(0x10fd, 0x0128)}, 7563 {USB_DEVICE(0x10fd, 0x0128)},
7564 {USB_DEVICE(0x10fd, 0x804d)},
7563 {USB_DEVICE(0x10fd, 0x8050)}, 7565 {USB_DEVICE(0x10fd, 0x8050)},
7564#endif
7565 {} /* end of entry */ 7566 {} /* end of entry */
7566}; 7567};
7567#undef DVNAME 7568#undef DVNAME
@@ -7581,6 +7582,10 @@ static struct usb_driver sd_driver = {
7581 .id_table = device_table, 7582 .id_table = device_table,
7582 .probe = sd_probe, 7583 .probe = sd_probe,
7583 .disconnect = gspca_disconnect, 7584 .disconnect = gspca_disconnect,
7585#ifdef CONFIG_PM
7586 .suspend = gspca_suspend,
7587 .resume = gspca_resume,
7588#endif
7584}; 7589};
7585 7590
7586static int __init sd_mod_init(void) 7591static int __init sd_mod_init(void)
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index aea1664948ce..4afc7ea07e86 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -688,7 +688,7 @@ static int __devinit ivtv_init_struct1(struct ivtv *itv)
688 spin_lock_init(&itv->lock); 688 spin_lock_init(&itv->lock);
689 spin_lock_init(&itv->dma_reg_lock); 689 spin_lock_init(&itv->dma_reg_lock);
690 690
691 itv->irq_work_queues = create_workqueue(itv->name); 691 itv->irq_work_queues = create_singlethread_workqueue(itv->name);
692 if (itv->irq_work_queues == NULL) { 692 if (itv->irq_work_queues == NULL) {
693 IVTV_ERR("Could not create ivtv workqueue\n"); 693 IVTV_ERR("Could not create ivtv workqueue\n");
694 return -1; 694 return -1;
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index ab287b48fc2b..2ceb5227637c 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -251,6 +251,7 @@ struct ivtv_mailbox_data {
251#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */ 251#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */
252#define IVTV_F_I_INITED 21 /* set after first open */ 252#define IVTV_F_I_INITED 21 /* set after first open */
253#define IVTV_F_I_FAILED 22 /* set if first open failed */ 253#define IVTV_F_I_FAILED 22 /* set if first open failed */
254#define IVTV_F_I_WORK_INITED 23 /* worker thread was initialized */
254 255
255/* Event notifications */ 256/* Event notifications */
256#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */ 257#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */
diff --git a/drivers/media/video/ivtv/ivtv-irq.c b/drivers/media/video/ivtv/ivtv-irq.c
index fba150a6cd23..34f3ab827858 100644
--- a/drivers/media/video/ivtv/ivtv-irq.c
+++ b/drivers/media/video/ivtv/ivtv-irq.c
@@ -76,6 +76,13 @@ void ivtv_irq_work_handler(struct work_struct *work)
76 76
77 DEFINE_WAIT(wait); 77 DEFINE_WAIT(wait);
78 78
79 if (test_and_clear_bit(IVTV_F_I_WORK_INITED, &itv->i_flags)) {
80 struct sched_param param = { .sched_priority = 99 };
81
82 /* This thread must use the FIFO scheduler as it
83 is realtime sensitive. */
84 sched_setscheduler(current, SCHED_FIFO, &param);
85 }
79 if (test_and_clear_bit(IVTV_F_I_WORK_HANDLER_PIO, &itv->i_flags)) 86 if (test_and_clear_bit(IVTV_F_I_WORK_HANDLER_PIO, &itv->i_flags))
80 ivtv_pio_work_handler(itv); 87 ivtv_pio_work_handler(itv);
81 88
@@ -678,34 +685,14 @@ static void ivtv_irq_enc_start_cap(struct ivtv *itv)
678 685
679static void ivtv_irq_enc_vbi_cap(struct ivtv *itv) 686static void ivtv_irq_enc_vbi_cap(struct ivtv *itv)
680{ 687{
681 struct ivtv_stream *s_mpg = &itv->streams[IVTV_ENC_STREAM_TYPE_MPG];
682 u32 data[CX2341X_MBOX_MAX_DATA]; 688 u32 data[CX2341X_MBOX_MAX_DATA];
683 struct ivtv_stream *s; 689 struct ivtv_stream *s;
684 690
685 IVTV_DEBUG_HI_IRQ("ENC START VBI CAP\n"); 691 IVTV_DEBUG_HI_IRQ("ENC START VBI CAP\n");
686 s = &itv->streams[IVTV_ENC_STREAM_TYPE_VBI]; 692 s = &itv->streams[IVTV_ENC_STREAM_TYPE_VBI];
687 693
688 /* If more than two VBI buffers are pending, then 694 if (!stream_enc_dma_append(s, data))
689 clear the old ones and start with this new one.
690 This can happen during transition stages when MPEG capturing is
691 started, but the first interrupts haven't arrived yet. During
692 that period VBI requests can accumulate without being able to
693 DMA the data. Since at most four VBI DMA buffers are available,
694 we just drop the old requests when there are already three
695 requests queued. */
696 if (s->sg_pending_size > 2) {
697 struct ivtv_buffer *buf;
698 list_for_each_entry(buf, &s->q_predma.list, list)
699 ivtv_buf_sync_for_cpu(s, buf);
700 ivtv_queue_move(s, &s->q_predma, NULL, &s->q_free, 0);
701 s->sg_pending_size = 0;
702 }
703 /* if we can append the data, and the MPEG stream isn't capturing,
704 then start a DMA request for just the VBI data. */
705 if (!stream_enc_dma_append(s, data) &&
706 !test_bit(IVTV_F_S_STREAMING, &s_mpg->s_flags)) {
707 set_bit(ivtv_use_pio(s) ? IVTV_F_S_PIO_PENDING : IVTV_F_S_DMA_PENDING, &s->s_flags); 695 set_bit(ivtv_use_pio(s) ? IVTV_F_S_PIO_PENDING : IVTV_F_S_DMA_PENDING, &s->s_flags);
708 }
709} 696}
710 697
711static void ivtv_irq_dec_vbi_reinsert(struct ivtv *itv) 698static void ivtv_irq_dec_vbi_reinsert(struct ivtv *itv)
diff --git a/drivers/media/video/ivtv/ivtv-queue.h b/drivers/media/video/ivtv/ivtv-queue.h
index 7cfc0c9ab050..476556afd39a 100644
--- a/drivers/media/video/ivtv/ivtv-queue.h
+++ b/drivers/media/video/ivtv/ivtv-queue.h
@@ -23,7 +23,7 @@
23#define IVTV_QUEUE_H 23#define IVTV_QUEUE_H
24 24
25#define IVTV_DMA_UNMAPPED ((u32) -1) 25#define IVTV_DMA_UNMAPPED ((u32) -1)
26#define SLICED_VBI_PIO 1 26#define SLICED_VBI_PIO 0
27 27
28/* ivtv_buffer utility functions */ 28/* ivtv_buffer utility functions */
29 29
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c
index 54d2023b26c4..730e85d86fc8 100644
--- a/drivers/media/video/ivtv/ivtv-streams.c
+++ b/drivers/media/video/ivtv/ivtv-streams.c
@@ -363,7 +363,7 @@ static void ivtv_vbi_setup(struct ivtv *itv)
363 /* Every X number of frames a VBI interrupt arrives (frames as in 25 or 30 fps) */ 363 /* Every X number of frames a VBI interrupt arrives (frames as in 25 or 30 fps) */
364 data[1] = 1; 364 data[1] = 1;
365 /* The VBI frames are stored in a ringbuffer with this size (with a VBI frame as unit) */ 365 /* The VBI frames are stored in a ringbuffer with this size (with a VBI frame as unit) */
366 data[2] = raw ? 4 : 8; 366 data[2] = raw ? 4 : 4 * (itv->vbi.raw_size / itv->vbi.enc_size);
367 /* The start/stop codes determine which VBI lines end up in the raw VBI data area. 367 /* The start/stop codes determine which VBI lines end up in the raw VBI data area.
368 The codes are from table 24 in the saa7115 datasheet. Each raw/sliced/video line 368 The codes are from table 24 in the saa7115 datasheet. Each raw/sliced/video line
369 is framed with codes FF0000XX where XX is the SAV/EAV (Start/End of Active Video) 369 is framed with codes FF0000XX where XX is the SAV/EAV (Start/End of Active Video)
diff --git a/drivers/media/video/ivtv/ivtv-vbi.c b/drivers/media/video/ivtv/ivtv-vbi.c
index 71798f0da27f..1ce9deb1104f 100644
--- a/drivers/media/video/ivtv/ivtv-vbi.c
+++ b/drivers/media/video/ivtv/ivtv-vbi.c
@@ -293,6 +293,7 @@ static u32 compress_sliced_buf(struct ivtv *itv, u32 line, u8 *buf, u32 size, u8
293 u32 line_size = itv->vbi.sliced_decoder_line_size; 293 u32 line_size = itv->vbi.sliced_decoder_line_size;
294 struct v4l2_decode_vbi_line vbi; 294 struct v4l2_decode_vbi_line vbi;
295 int i; 295 int i;
296 unsigned lines = 0;
296 297
297 /* find the first valid line */ 298 /* find the first valid line */
298 for (i = 0; i < size; i++, buf++) { 299 for (i = 0; i < size; i++, buf++) {
@@ -313,7 +314,8 @@ static u32 compress_sliced_buf(struct ivtv *itv, u32 line, u8 *buf, u32 size, u8
313 } 314 }
314 vbi.p = p + 4; 315 vbi.p = p + 4;
315 itv->video_dec_func(itv, VIDIOC_INT_DECODE_VBI_LINE, &vbi); 316 itv->video_dec_func(itv, VIDIOC_INT_DECODE_VBI_LINE, &vbi);
316 if (vbi.type) { 317 if (vbi.type && !(lines & (1 << vbi.line))) {
318 lines |= 1 << vbi.line;
317 itv->vbi.sliced_data[line].id = vbi.type; 319 itv->vbi.sliced_data[line].id = vbi.type;
318 itv->vbi.sliced_data[line].field = vbi.is_second_field; 320 itv->vbi.sliced_data[line].field = vbi.is_second_field;
319 itv->vbi.sliced_data[line].line = vbi.line; 321 itv->vbi.sliced_data[line].line = vbi.line;
diff --git a/drivers/media/video/ivtv/ivtv-version.h b/drivers/media/video/ivtv/ivtv-version.h
index 442f43f11b73..8cd753d30bf7 100644
--- a/drivers/media/video/ivtv/ivtv-version.h
+++ b/drivers/media/video/ivtv/ivtv-version.h
@@ -22,7 +22,7 @@
22 22
23#define IVTV_DRIVER_NAME "ivtv" 23#define IVTV_DRIVER_NAME "ivtv"
24#define IVTV_DRIVER_VERSION_MAJOR 1 24#define IVTV_DRIVER_VERSION_MAJOR 1
25#define IVTV_DRIVER_VERSION_MINOR 3 25#define IVTV_DRIVER_VERSION_MINOR 4
26#define IVTV_DRIVER_VERSION_PATCHLEVEL 0 26#define IVTV_DRIVER_VERSION_PATCHLEVEL 0
27 27
28#define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL) 28#define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL)
diff --git a/drivers/media/video/ks0127.c b/drivers/media/video/ks0127.c
index 4895540be195..2fd4b4a44aa9 100644
--- a/drivers/media/video/ks0127.c
+++ b/drivers/media/video/ks0127.c
@@ -679,26 +679,27 @@ static int ks0127_command(struct i2c_client *client,
679 679
680 case DECODER_ENABLE_OUTPUT: 680 case DECODER_ENABLE_OUTPUT:
681 { 681 {
682 int enable;
682 683
683 int *iarg = arg; 684 iarg = arg;
684 int enable = (*iarg != 0); 685 enable = (*iarg != 0);
685 if (enable) { 686 if (enable) {
686 dprintk("ks0127: command " 687 dprintk("ks0127: command "
687 "DECODER_ENABLE_OUTPUT on " 688 "DECODER_ENABLE_OUTPUT on "
688 "(%d)\n", enable); 689 "(%d)\n", enable);
689 /* All output pins on */ 690 /* All output pins on */
690 ks0127_and_or(ks, KS_OFMTA, 0xcf, 0x30); 691 ks0127_and_or(ks, KS_OFMTA, 0xcf, 0x30);
691 /* Obey the OEN pin */ 692 /* Obey the OEN pin */
692 ks0127_and_or(ks, KS_CDEM, 0x7f, 0x00); 693 ks0127_and_or(ks, KS_CDEM, 0x7f, 0x00);
693 } else { 694 } else {
694 dprintk("ks0127: command " 695 dprintk("ks0127: command "
695 "DECODER_ENABLE_OUTPUT off " 696 "DECODER_ENABLE_OUTPUT off "
696 "(%d)\n", enable); 697 "(%d)\n", enable);
697 /* Video output pins off */ 698 /* Video output pins off */
698 ks0127_and_or(ks, KS_OFMTA, 0xcf, 0x00); 699 ks0127_and_or(ks, KS_OFMTA, 0xcf, 0x00);
699 /* Ignore the OEN pin */ 700 /* Ignore the OEN pin */
700 ks0127_and_or(ks, KS_CDEM, 0x7f, 0x80); 701 ks0127_and_or(ks, KS_CDEM, 0x7f, 0x80);
701 } 702 }
702 } 703 }
703 break; 704 break;
704 705
diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
index 7c8ef6ac6c39..a9ef7802eb5f 100644
--- a/drivers/media/video/meye.c
+++ b/drivers/media/video/meye.c
@@ -1806,6 +1806,7 @@ static int __devinit meye_probe(struct pci_dev *pcidev,
1806 memcpy(meye.video_dev, &meye_template, sizeof(meye_template)); 1806 memcpy(meye.video_dev, &meye_template, sizeof(meye_template));
1807 meye.video_dev->parent = &meye.mchip_dev->dev; 1807 meye.video_dev->parent = &meye.mchip_dev->dev;
1808 1808
1809 ret = -EIO;
1809 if ((ret = sony_pic_camera_command(SONY_PIC_COMMAND_SETCAMERA, 1))) { 1810 if ((ret = sony_pic_camera_command(SONY_PIC_COMMAND_SETCAMERA, 1))) {
1810 printk(KERN_ERR "meye: unable to power on the camera\n"); 1811 printk(KERN_ERR "meye: unable to power on the camera\n");
1811 printk(KERN_ERR "meye: did you enable the camera in " 1812 printk(KERN_ERR "meye: did you enable the camera in "
@@ -1813,7 +1814,6 @@ static int __devinit meye_probe(struct pci_dev *pcidev,
1813 goto outsonypienable; 1814 goto outsonypienable;
1814 } 1815 }
1815 1816
1816 ret = -EIO;
1817 if ((ret = pci_enable_device(meye.mchip_dev))) { 1817 if ((ret = pci_enable_device(meye.mchip_dev))) {
1818 printk(KERN_ERR "meye: pci_enable_device failed\n"); 1818 printk(KERN_ERR "meye: pci_enable_device failed\n");
1819 goto outenabledev; 1819 goto outenabledev;
diff --git a/drivers/media/video/mxb.c b/drivers/media/video/mxb.c
index f68e91fbe7fb..8ef578caba3b 100644
--- a/drivers/media/video/mxb.c
+++ b/drivers/media/video/mxb.c
@@ -931,27 +931,29 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
931 return 0; 931 return 0;
932} 932}
933 933
934static int std_callback(struct saa7146_dev* dev, struct saa7146_standard *std) 934static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *standard)
935{ 935{
936 struct mxb* mxb = (struct mxb*)dev->ext_priv; 936 struct mxb *mxb = (struct mxb *)dev->ext_priv;
937 int zero = 0; 937 int zero = 0;
938 int one = 1; 938 int one = 1;
939 939
940 if(V4L2_STD_PAL_I == std->id ) { 940 if (V4L2_STD_PAL_I == standard->id) {
941 v4l2_std_id std = V4L2_STD_PAL_I; 941 v4l2_std_id std = V4L2_STD_PAL_I;
942
942 DEB_D(("VIDIOC_S_STD: setting mxb for PAL_I.\n")); 943 DEB_D(("VIDIOC_S_STD: setting mxb for PAL_I.\n"));
943 /* set the 7146 gpio register -- I don't know what this does exactly */ 944 /* set the 7146 gpio register -- I don't know what this does exactly */
944 saa7146_write(dev, GPIO_CTRL, 0x00404050); 945 saa7146_write(dev, GPIO_CTRL, 0x00404050);
945 /* unset the 7111 gpio register -- I don't know what this does exactly */ 946 /* unset the 7111 gpio register -- I don't know what this does exactly */
946 mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &zero); 947 mxb->saa7111a->driver->command(mxb->saa7111a, DECODER_SET_GPIO, &zero);
947 mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std); 948 mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std);
948 } else { 949 } else {
949 v4l2_std_id std = V4L2_STD_PAL_BG; 950 v4l2_std_id std = V4L2_STD_PAL_BG;
951
950 DEB_D(("VIDIOC_S_STD: setting mxb for PAL/NTSC/SECAM.\n")); 952 DEB_D(("VIDIOC_S_STD: setting mxb for PAL/NTSC/SECAM.\n"));
951 /* set the 7146 gpio register -- I don't know what this does exactly */ 953 /* set the 7146 gpio register -- I don't know what this does exactly */
952 saa7146_write(dev, GPIO_CTRL, 0x00404050); 954 saa7146_write(dev, GPIO_CTRL, 0x00404050);
953 /* set the 7111 gpio register -- I don't know what this does exactly */ 955 /* set the 7111 gpio register -- I don't know what this does exactly */
954 mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &one); 956 mxb->saa7111a->driver->command(mxb->saa7111a, DECODER_SET_GPIO, &one);
955 mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std); 957 mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std);
956 } 958 }
957 return 0; 959 return 0;
diff --git a/drivers/media/video/ov511.c b/drivers/media/video/ov511.c
index 9edaca4371d7..3d3c48db45d9 100644
--- a/drivers/media/video/ov511.c
+++ b/drivers/media/video/ov511.c
@@ -626,9 +626,9 @@ ov511_i2c_write_internal(struct usb_ov511 *ov,
626 break; 626 break;
627 627
628 /* Retry until idle */ 628 /* Retry until idle */
629 do 629 do {
630 rc = reg_r(ov, R511_I2C_CTL); 630 rc = reg_r(ov, R511_I2C_CTL);
631 while (rc > 0 && ((rc&1) == 0)); 631 } while (rc > 0 && ((rc&1) == 0));
632 if (rc < 0) 632 if (rc < 0)
633 break; 633 break;
634 634
@@ -703,9 +703,9 @@ ov511_i2c_read_internal(struct usb_ov511 *ov, unsigned char reg)
703 return rc; 703 return rc;
704 704
705 /* Retry until idle */ 705 /* Retry until idle */
706 do 706 do {
707 rc = reg_r(ov, R511_I2C_CTL); 707 rc = reg_r(ov, R511_I2C_CTL);
708 while (rc > 0 && ((rc&1) == 0)); 708 } while (rc > 0 && ((rc & 1) == 0));
709 if (rc < 0) 709 if (rc < 0)
710 return rc; 710 return rc;
711 711
@@ -729,9 +729,9 @@ ov511_i2c_read_internal(struct usb_ov511 *ov, unsigned char reg)
729 return rc; 729 return rc;
730 730
731 /* Retry until idle */ 731 /* Retry until idle */
732 do 732 do {
733 rc = reg_r(ov, R511_I2C_CTL); 733 rc = reg_r(ov, R511_I2C_CTL);
734 while (rc > 0 && ((rc&1) == 0)); 734 } while (rc > 0 && ((rc&1) == 0));
735 if (rc < 0) 735 if (rc < 0)
736 return rc; 736 return rc;
737 737
diff --git a/drivers/media/video/pms.c b/drivers/media/video/pms.c
index 00425d743656..7c84f795db54 100644
--- a/drivers/media/video/pms.c
+++ b/drivers/media/video/pms.c
@@ -1019,10 +1019,23 @@ static int init_mediavision(void)
1019 * Initialization and module stuff 1019 * Initialization and module stuff
1020 */ 1020 */
1021 1021
1022#ifndef MODULE
1023static int enable;
1024module_param(enable, int, 0);
1025#endif
1026
1022static int __init init_pms_cards(void) 1027static int __init init_pms_cards(void)
1023{ 1028{
1024 printk(KERN_INFO "Mediavision Pro Movie Studio driver 0.02\n"); 1029 printk(KERN_INFO "Mediavision Pro Movie Studio driver 0.02\n");
1025 1030
1031#ifndef MODULE
1032 if (!enable) {
1033 printk(KERN_INFO "PMS: not enabled, use pms.enable=1 to "
1034 "probe\n");
1035 return -ENODEV;
1036 }
1037#endif
1038
1026 data_port = io_port +1; 1039 data_port = io_port +1;
1027 1040
1028 if(init_mediavision()) 1041 if(init_mediavision())
diff --git a/drivers/media/video/pwc/pwc-ctrl.c b/drivers/media/video/pwc/pwc-ctrl.c
index 1cccd5c77048..dbc560742553 100644
--- a/drivers/media/video/pwc/pwc-ctrl.c
+++ b/drivers/media/video/pwc/pwc-ctrl.c
@@ -1635,15 +1635,15 @@ int pwc_ioctl(struct pwc_device *pdev, unsigned int cmd, void *arg)
1635 1635
1636 case VIDIOCPWCGVIDCMD: 1636 case VIDIOCPWCGVIDCMD:
1637 { 1637 {
1638 ARG_DEF(struct pwc_video_command, cmd); 1638 ARG_DEF(struct pwc_video_command, vcmd);
1639 1639
1640 ARGR(cmd).type = pdev->type; 1640 ARGR(vcmd).type = pdev->type;
1641 ARGR(cmd).release = pdev->release; 1641 ARGR(vcmd).release = pdev->release;
1642 ARGR(cmd).command_len = pdev->cmd_len; 1642 ARGR(vcmd).command_len = pdev->cmd_len;
1643 memcpy(&ARGR(cmd).command_buf, pdev->cmd_buf, pdev->cmd_len); 1643 memcpy(&ARGR(vcmd).command_buf, pdev->cmd_buf, pdev->cmd_len);
1644 ARGR(cmd).bandlength = pdev->vbandlength; 1644 ARGR(vcmd).bandlength = pdev->vbandlength;
1645 ARGR(cmd).frame_size = pdev->frame_size; 1645 ARGR(vcmd).frame_size = pdev->frame_size;
1646 ARG_OUT(cmd) 1646 ARG_OUT(vcmd)
1647 break; 1647 break;
1648 } 1648 }
1649 /* 1649 /*
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c
index bcd1c8f6cf6b..ad733caec720 100644
--- a/drivers/media/video/saa7115.c
+++ b/drivers/media/video/saa7115.c
@@ -1489,10 +1489,9 @@ static int saa7115_probe(struct i2c_client *client,
1489 client->addr << 1, client->adapter->name); 1489 client->addr << 1, client->adapter->name);
1490 1490
1491 state = kzalloc(sizeof(struct saa711x_state), GFP_KERNEL); 1491 state = kzalloc(sizeof(struct saa711x_state), GFP_KERNEL);
1492 i2c_set_clientdata(client, state); 1492 if (state == NULL)
1493 if (state == NULL) {
1494 return -ENOMEM; 1493 return -ENOMEM;
1495 } 1494 i2c_set_clientdata(client, state);
1496 state->input = -1; 1495 state->input = -1;
1497 state->output = SAA7115_IPORT_ON; 1496 state->output = SAA7115_IPORT_ON;
1498 state->enable = 1; 1497 state->enable = 1;
diff --git a/drivers/media/video/se401.c b/drivers/media/video/se401.c
index f481277892da..acceed5d04ae 100644
--- a/drivers/media/video/se401.c
+++ b/drivers/media/video/se401.c
@@ -1397,7 +1397,7 @@ static int se401_probe(struct usb_interface *intf,
1397 mutex_init(&se401->lock); 1397 mutex_init(&se401->lock);
1398 wmb(); 1398 wmb();
1399 1399
1400 if (video_register_device(&se401->vdev, VFL_TYPE_GRABBER, video_nr) == -1) { 1400 if (video_register_device(&se401->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
1401 kfree(se401); 1401 kfree(se401);
1402 err("video_register_device failed"); 1402 err("video_register_device failed");
1403 return -EIO; 1403 return -EIO;
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
index 23408764d0ef..2da6938718f2 100644
--- a/drivers/media/video/sn9c102/sn9c102_core.c
+++ b/drivers/media/video/sn9c102/sn9c102_core.c
@@ -3312,6 +3312,7 @@ sn9c102_usb_probe(struct usb_interface* intf, const struct usb_device_id* id)
3312 cam->v4ldev->fops = &sn9c102_fops; 3312 cam->v4ldev->fops = &sn9c102_fops;
3313 cam->v4ldev->minor = video_nr[dev_nr]; 3313 cam->v4ldev->minor = video_nr[dev_nr];
3314 cam->v4ldev->release = video_device_release; 3314 cam->v4ldev->release = video_device_release;
3315 cam->v4ldev->parent = &udev->dev;
3315 3316
3316 init_completion(&cam->probe); 3317 init_completion(&cam->probe);
3317 3318
diff --git a/drivers/media/video/sn9c102/sn9c102_devtable.h b/drivers/media/video/sn9c102/sn9c102_devtable.h
index 6ff489baacf3..90a401dc3884 100644
--- a/drivers/media/video/sn9c102/sn9c102_devtable.h
+++ b/drivers/media/video/sn9c102/sn9c102_devtable.h
@@ -40,11 +40,14 @@ struct sn9c102_device;
40 40
41static const struct usb_device_id sn9c102_id_table[] = { 41static const struct usb_device_id sn9c102_id_table[] = {
42 /* SN9C101 and SN9C102 */ 42 /* SN9C101 and SN9C102 */
43#if !defined CONFIG_USB_GSPCA && !defined CONFIG_USB_GSPCA_MODULE
43 { SN9C102_USB_DEVICE(0x0c45, 0x6001, BRIDGE_SN9C102), }, 44 { SN9C102_USB_DEVICE(0x0c45, 0x6001, BRIDGE_SN9C102), },
44 { SN9C102_USB_DEVICE(0x0c45, 0x6005, BRIDGE_SN9C102), }, 45 { SN9C102_USB_DEVICE(0x0c45, 0x6005, BRIDGE_SN9C102), },
46#endif
45 { SN9C102_USB_DEVICE(0x0c45, 0x6007, BRIDGE_SN9C102), }, 47 { SN9C102_USB_DEVICE(0x0c45, 0x6007, BRIDGE_SN9C102), },
46 { SN9C102_USB_DEVICE(0x0c45, 0x6009, BRIDGE_SN9C102), }, 48 { SN9C102_USB_DEVICE(0x0c45, 0x6009, BRIDGE_SN9C102), },
47 { SN9C102_USB_DEVICE(0x0c45, 0x600d, BRIDGE_SN9C102), }, 49 { SN9C102_USB_DEVICE(0x0c45, 0x600d, BRIDGE_SN9C102), },
50/* { SN9C102_USB_DEVICE(0x0c45, 0x6011, BRIDGE_SN9C102), }, OV6650 */
48 { SN9C102_USB_DEVICE(0x0c45, 0x6019, BRIDGE_SN9C102), }, 51 { SN9C102_USB_DEVICE(0x0c45, 0x6019, BRIDGE_SN9C102), },
49 { SN9C102_USB_DEVICE(0x0c45, 0x6024, BRIDGE_SN9C102), }, 52 { SN9C102_USB_DEVICE(0x0c45, 0x6024, BRIDGE_SN9C102), },
50 { SN9C102_USB_DEVICE(0x0c45, 0x6025, BRIDGE_SN9C102), }, 53 { SN9C102_USB_DEVICE(0x0c45, 0x6025, BRIDGE_SN9C102), },
@@ -53,29 +56,33 @@ static const struct usb_device_id sn9c102_id_table[] = {
53 { SN9C102_USB_DEVICE(0x0c45, 0x602a, BRIDGE_SN9C102), }, 56 { SN9C102_USB_DEVICE(0x0c45, 0x602a, BRIDGE_SN9C102), },
54 { SN9C102_USB_DEVICE(0x0c45, 0x602b, BRIDGE_SN9C102), }, 57 { SN9C102_USB_DEVICE(0x0c45, 0x602b, BRIDGE_SN9C102), },
55 { SN9C102_USB_DEVICE(0x0c45, 0x602c, BRIDGE_SN9C102), }, 58 { SN9C102_USB_DEVICE(0x0c45, 0x602c, BRIDGE_SN9C102), },
56 { SN9C102_USB_DEVICE(0x0c45, 0x602d, BRIDGE_SN9C102), }, 59/* { SN9C102_USB_DEVICE(0x0c45, 0x602d, BRIDGE_SN9C102), }, HV7131R */
57 { SN9C102_USB_DEVICE(0x0c45, 0x602e, BRIDGE_SN9C102), }, 60 { SN9C102_USB_DEVICE(0x0c45, 0x602e, BRIDGE_SN9C102), },
58 { SN9C102_USB_DEVICE(0x0c45, 0x6030, BRIDGE_SN9C102), }, 61 { SN9C102_USB_DEVICE(0x0c45, 0x6030, BRIDGE_SN9C102), },
59 /* SN9C103 */ 62 /* SN9C103 */
60 { SN9C102_USB_DEVICE(0x0c45, 0x6080, BRIDGE_SN9C103), }, 63 { SN9C102_USB_DEVICE(0x0c45, 0x6080, BRIDGE_SN9C103), },
61 { SN9C102_USB_DEVICE(0x0c45, 0x6082, BRIDGE_SN9C103), }, 64 { SN9C102_USB_DEVICE(0x0c45, 0x6082, BRIDGE_SN9C103), },
62 { SN9C102_USB_DEVICE(0x0c45, 0x6083, BRIDGE_SN9C103), }, 65/* { SN9C102_USB_DEVICE(0x0c45, 0x6083, BRIDGE_SN9C103), }, HY7131D/E */
63 { SN9C102_USB_DEVICE(0x0c45, 0x6088, BRIDGE_SN9C103), }, 66 { SN9C102_USB_DEVICE(0x0c45, 0x6088, BRIDGE_SN9C103), },
64 { SN9C102_USB_DEVICE(0x0c45, 0x608a, BRIDGE_SN9C103), }, 67 { SN9C102_USB_DEVICE(0x0c45, 0x608a, BRIDGE_SN9C103), },
65 { SN9C102_USB_DEVICE(0x0c45, 0x608b, BRIDGE_SN9C103), }, 68 { SN9C102_USB_DEVICE(0x0c45, 0x608b, BRIDGE_SN9C103), },
66 { SN9C102_USB_DEVICE(0x0c45, 0x608c, BRIDGE_SN9C103), }, 69 { SN9C102_USB_DEVICE(0x0c45, 0x608c, BRIDGE_SN9C103), },
67 { SN9C102_USB_DEVICE(0x0c45, 0x608e, BRIDGE_SN9C103), }, 70/* { SN9C102_USB_DEVICE(0x0c45, 0x608e, BRIDGE_SN9C103), }, CISVF10 */
71#if !defined CONFIG_USB_GSPCA && !defined CONFIG_USB_GSPCA_MODULE
68 { SN9C102_USB_DEVICE(0x0c45, 0x608f, BRIDGE_SN9C103), }, 72 { SN9C102_USB_DEVICE(0x0c45, 0x608f, BRIDGE_SN9C103), },
73#endif
69 { SN9C102_USB_DEVICE(0x0c45, 0x60a0, BRIDGE_SN9C103), }, 74 { SN9C102_USB_DEVICE(0x0c45, 0x60a0, BRIDGE_SN9C103), },
70 { SN9C102_USB_DEVICE(0x0c45, 0x60a2, BRIDGE_SN9C103), }, 75 { SN9C102_USB_DEVICE(0x0c45, 0x60a2, BRIDGE_SN9C103), },
71 { SN9C102_USB_DEVICE(0x0c45, 0x60a3, BRIDGE_SN9C103), }, 76 { SN9C102_USB_DEVICE(0x0c45, 0x60a3, BRIDGE_SN9C103), },
72 { SN9C102_USB_DEVICE(0x0c45, 0x60a8, BRIDGE_SN9C103), }, 77/* { SN9C102_USB_DEVICE(0x0c45, 0x60a8, BRIDGE_SN9C103), }, PAS106 */
73 { SN9C102_USB_DEVICE(0x0c45, 0x60aa, BRIDGE_SN9C103), }, 78/* { SN9C102_USB_DEVICE(0x0c45, 0x60aa, BRIDGE_SN9C103), }, TAS5130 */
74 { SN9C102_USB_DEVICE(0x0c45, 0x60ab, BRIDGE_SN9C103), }, 79/* { SN9C102_USB_DEVICE(0x0c45, 0x60ab, BRIDGE_SN9C103), }, TAS5130 */
75 { SN9C102_USB_DEVICE(0x0c45, 0x60ac, BRIDGE_SN9C103), }, 80 { SN9C102_USB_DEVICE(0x0c45, 0x60ac, BRIDGE_SN9C103), },
76 { SN9C102_USB_DEVICE(0x0c45, 0x60ae, BRIDGE_SN9C103), }, 81 { SN9C102_USB_DEVICE(0x0c45, 0x60ae, BRIDGE_SN9C103), },
77 { SN9C102_USB_DEVICE(0x0c45, 0x60af, BRIDGE_SN9C103), }, 82 { SN9C102_USB_DEVICE(0x0c45, 0x60af, BRIDGE_SN9C103), },
83#if !defined CONFIG_USB_GSPCA && !defined CONFIG_USB_GSPCA_MODULE
78 { SN9C102_USB_DEVICE(0x0c45, 0x60b0, BRIDGE_SN9C103), }, 84 { SN9C102_USB_DEVICE(0x0c45, 0x60b0, BRIDGE_SN9C103), },
85#endif
79 { SN9C102_USB_DEVICE(0x0c45, 0x60b2, BRIDGE_SN9C103), }, 86 { SN9C102_USB_DEVICE(0x0c45, 0x60b2, BRIDGE_SN9C103), },
80 { SN9C102_USB_DEVICE(0x0c45, 0x60b3, BRIDGE_SN9C103), }, 87 { SN9C102_USB_DEVICE(0x0c45, 0x60b3, BRIDGE_SN9C103), },
81 { SN9C102_USB_DEVICE(0x0c45, 0x60b8, BRIDGE_SN9C103), }, 88 { SN9C102_USB_DEVICE(0x0c45, 0x60b8, BRIDGE_SN9C103), },
@@ -105,7 +112,7 @@ static const struct usb_device_id sn9c102_id_table[] = {
105 { SN9C102_USB_DEVICE(0x0c45, 0x6108, BRIDGE_SN9C120), }, 112 { SN9C102_USB_DEVICE(0x0c45, 0x6108, BRIDGE_SN9C120), },
106 { SN9C102_USB_DEVICE(0x0c45, 0x610f, BRIDGE_SN9C120), }, 113 { SN9C102_USB_DEVICE(0x0c45, 0x610f, BRIDGE_SN9C120), },
107 { SN9C102_USB_DEVICE(0x0c45, 0x6130, BRIDGE_SN9C120), }, 114 { SN9C102_USB_DEVICE(0x0c45, 0x6130, BRIDGE_SN9C120), },
108 { SN9C102_USB_DEVICE(0x0c45, 0x6138, BRIDGE_SN9C120), }, 115/* { SN9C102_USB_DEVICE(0x0c45, 0x6138, BRIDGE_SN9C120), }, MO8000 */
109 { SN9C102_USB_DEVICE(0x0c45, 0x613a, BRIDGE_SN9C120), }, 116 { SN9C102_USB_DEVICE(0x0c45, 0x613a, BRIDGE_SN9C120), },
110 { SN9C102_USB_DEVICE(0x0c45, 0x613b, BRIDGE_SN9C120), }, 117 { SN9C102_USB_DEVICE(0x0c45, 0x613b, BRIDGE_SN9C120), },
111 { SN9C102_USB_DEVICE(0x0c45, 0x613c, BRIDGE_SN9C120), }, 118 { SN9C102_USB_DEVICE(0x0c45, 0x613c, BRIDGE_SN9C120), },
diff --git a/drivers/media/video/stv680.c b/drivers/media/video/stv680.c
index 56dc3d6b5b29..dce947439459 100644
--- a/drivers/media/video/stv680.c
+++ b/drivers/media/video/stv680.c
@@ -1462,7 +1462,7 @@ static int stv680_probe (struct usb_interface *intf, const struct usb_device_id
1462 mutex_init (&stv680->lock); 1462 mutex_init (&stv680->lock);
1463 wmb (); 1463 wmb ();
1464 1464
1465 if (video_register_device (stv680->vdev, VFL_TYPE_GRABBER, video_nr) == -1) { 1465 if (video_register_device(stv680->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
1466 PDEBUG (0, "STV(e): video_register_device failed"); 1466 PDEBUG (0, "STV(e): video_register_device failed");
1467 retval = -EIO; 1467 retval = -EIO;
1468 goto error_vdev; 1468 goto error_vdev;
diff --git a/drivers/media/video/usbvideo/ibmcam.c b/drivers/media/video/usbvideo/ibmcam.c
index 59166b760104..cc27efe121dd 100644
--- a/drivers/media/video/usbvideo/ibmcam.c
+++ b/drivers/media/video/usbvideo/ibmcam.c
@@ -736,12 +736,12 @@ static enum ParseState ibmcam_model2_320x240_parse_lines(
736 * make black color and quit the horizontal scanning loop. 736 * make black color and quit the horizontal scanning loop.
737 */ 737 */
738 if (((frame->curline + 2) >= scanHeight) || (i >= scanLength)) { 738 if (((frame->curline + 2) >= scanHeight) || (i >= scanLength)) {
739 const int j = i * V4L_BYTES_PER_PIXEL; 739 const int offset = i * V4L_BYTES_PER_PIXEL;
740#if USES_IBMCAM_PUTPIXEL 740#if USES_IBMCAM_PUTPIXEL
741 /* Refresh 'f' because we don't use it much with PUTPIXEL */ 741 /* Refresh 'f' because we don't use it much with PUTPIXEL */
742 f = frame->data + (v4l_linesize * frame->curline) + j; 742 f = frame->data + (v4l_linesize * frame->curline) + offset;
743#endif 743#endif
744 memset(f, 0, v4l_linesize - j); 744 memset(f, 0, v4l_linesize - offset);
745 break; 745 break;
746 } 746 }
747 747
diff --git a/drivers/media/video/usbvideo/vicam.c b/drivers/media/video/usbvideo/vicam.c
index b7792451a299..2eb45829791c 100644
--- a/drivers/media/video/usbvideo/vicam.c
+++ b/drivers/media/video/usbvideo/vicam.c
@@ -866,7 +866,7 @@ vicam_probe( struct usb_interface *intf, const struct usb_device_id *id)
866 cam->udev = dev; 866 cam->udev = dev;
867 cam->bulkEndpoint = bulkEndpoint; 867 cam->bulkEndpoint = bulkEndpoint;
868 868
869 if (video_register_device(&cam->vdev, VFL_TYPE_GRABBER, -1) == -1) { 869 if (video_register_device(&cam->vdev, VFL_TYPE_GRABBER, -1) < 0) {
870 kfree(cam); 870 kfree(cam);
871 printk(KERN_WARNING "video_register_device failed\n"); 871 printk(KERN_WARNING "video_register_device failed\n");
872 return -EIO; 872 return -EIO;
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
index 6f36006aecda..155fdec9ac7d 100644
--- a/drivers/media/video/v4l2-dev.c
+++ b/drivers/media/video/v4l2-dev.c
@@ -257,6 +257,9 @@ int video_register_device_index(struct video_device *vfd, int type, int nr,
257 int ret; 257 int ret;
258 char *name_base; 258 char *name_base;
259 259
260 if (vfd == NULL)
261 return -EINVAL;
262
260 switch (type) { 263 switch (type) {
261 case VFL_TYPE_GRABBER: 264 case VFL_TYPE_GRABBER:
262 base = MINOR_VFL_TYPE_GRABBER_MIN; 265 base = MINOR_VFL_TYPE_GRABBER_MIN;
@@ -281,7 +284,7 @@ int video_register_device_index(struct video_device *vfd, int type, int nr,
281 default: 284 default:
282 printk(KERN_ERR "%s called with unknown type: %d\n", 285 printk(KERN_ERR "%s called with unknown type: %d\n",
283 __func__, type); 286 __func__, type);
284 return -1; 287 return -EINVAL;
285 } 288 }
286 289
287 /* pick a minor number */ 290 /* pick a minor number */
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index fdfe7739c96e..140ef92c19c1 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -499,7 +499,7 @@ static void dbgbuf(unsigned int cmd, struct video_device *vfd,
499 p->timestamp.tv_sec / 3600, 499 p->timestamp.tv_sec / 3600,
500 (int)(p->timestamp.tv_sec / 60) % 60, 500 (int)(p->timestamp.tv_sec / 60) % 60,
501 (int)(p->timestamp.tv_sec % 60), 501 (int)(p->timestamp.tv_sec % 60),
502 p->timestamp.tv_usec, 502 (long)p->timestamp.tv_usec,
503 p->index, 503 p->index,
504 prt_names(p->type, v4l2_type_names), 504 prt_names(p->type, v4l2_type_names),
505 p->bytesused, p->flags, 505 p->bytesused, p->flags,
@@ -674,7 +674,7 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
674 __video_do_ioctl will be called again, with one or more 674 __video_do_ioctl will be called again, with one or more
675 V4L2 ioctls. 675 V4L2 ioctls.
676 ********************************************************/ 676 ********************************************************/
677 if (_IOC_TYPE(cmd) == 'v') 677 if (_IOC_TYPE(cmd) == 'v' && _IOC_NR(cmd) < BASE_VIDIOCPRIVATE)
678 return v4l_compat_translate_ioctl(inode, file, cmd, arg, 678 return v4l_compat_translate_ioctl(inode, file, cmd, arg,
679 __video_do_ioctl); 679 __video_do_ioctl);
680#endif 680#endif
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index 3518af071a2e..8ba8daafd7ea 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -1021,13 +1021,13 @@ static int vivi_release(void)
1021 dev = list_entry(list, struct vivi_dev, vivi_devlist); 1021 dev = list_entry(list, struct vivi_dev, vivi_devlist);
1022 1022
1023 if (-1 != dev->vfd->minor) { 1023 if (-1 != dev->vfd->minor) {
1024 video_unregister_device(dev->vfd); 1024 printk(KERN_INFO "%s: unregistering /dev/video%d\n",
1025 printk(KERN_INFO "%s: /dev/video%d unregistered.\n",
1026 VIVI_MODULE_NAME, dev->vfd->minor); 1025 VIVI_MODULE_NAME, dev->vfd->minor);
1026 video_unregister_device(dev->vfd);
1027 } else { 1027 } else {
1028 video_device_release(dev->vfd); 1028 printk(KERN_INFO "%s: releasing /dev/video%d\n",
1029 printk(KERN_INFO "%s: /dev/video%d released.\n",
1030 VIVI_MODULE_NAME, dev->vfd->minor); 1029 VIVI_MODULE_NAME, dev->vfd->minor);
1030 video_device_release(dev->vfd);
1031 } 1031 }
1032 1032
1033 kfree(dev); 1033 kfree(dev);
@@ -1104,19 +1104,29 @@ static struct video_device vivi_template = {
1104 Initialization and module stuff 1104 Initialization and module stuff
1105 ------------------------------------------------------------------*/ 1105 ------------------------------------------------------------------*/
1106 1106
1107/* This routine allocates from 1 to n_devs virtual drivers.
1108
1109 The real maximum number of virtual drivers will depend on how many drivers
1110 will succeed. This is limited to the maximum number of devices that
1111 videodev supports. Since there are 64 minors for video grabbers, this is
1112 currently the theoretical maximum limit. However, a further limit does
1113 exist at videodev that forbids any driver to register more than 32 video
1114 grabbers.
1115 */
1107static int __init vivi_init(void) 1116static int __init vivi_init(void)
1108{ 1117{
1109 int ret = -ENOMEM, i; 1118 int ret = -ENOMEM, i;
1110 struct vivi_dev *dev; 1119 struct vivi_dev *dev;
1111 struct video_device *vfd; 1120 struct video_device *vfd;
1112 1121
1122 if (n_devs <= 0)
1123 n_devs = 1;
1124
1113 for (i = 0; i < n_devs; i++) { 1125 for (i = 0; i < n_devs; i++) {
1114 dev = kzalloc(sizeof(*dev), GFP_KERNEL); 1126 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
1115 if (NULL == dev) 1127 if (!dev)
1116 break; 1128 break;
1117 1129
1118 list_add_tail(&dev->vivi_devlist, &vivi_devlist);
1119
1120 /* init video dma queues */ 1130 /* init video dma queues */
1121 INIT_LIST_HEAD(&dev->vidq.active); 1131 INIT_LIST_HEAD(&dev->vidq.active);
1122 init_waitqueue_head(&dev->vidq.wq); 1132 init_waitqueue_head(&dev->vidq.wq);
@@ -1126,14 +1136,27 @@ static int __init vivi_init(void)
1126 mutex_init(&dev->mutex); 1136 mutex_init(&dev->mutex);
1127 1137
1128 vfd = video_device_alloc(); 1138 vfd = video_device_alloc();
1129 if (NULL == vfd) 1139 if (!vfd) {
1140 kfree(dev);
1130 break; 1141 break;
1142 }
1131 1143
1132 *vfd = vivi_template; 1144 *vfd = vivi_template;
1133 1145
1134 ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr); 1146 ret = video_register_device(vfd, VFL_TYPE_GRABBER, video_nr);
1135 if (ret < 0) 1147 if (ret < 0) {
1148 video_device_release(vfd);
1149 kfree(dev);
1150
1151 /* If some registers succeeded, keep driver */
1152 if (i)
1153 ret = 0;
1154
1136 break; 1155 break;
1156 }
1157
1158 /* Now that everything is fine, let's add it to device list */
1159 list_add_tail(&dev->vivi_devlist, &vivi_devlist);
1137 1160
1138 snprintf(vfd->name, sizeof(vfd->name), "%s (%i)", 1161 snprintf(vfd->name, sizeof(vfd->name), "%s (%i)",
1139 vivi_template.name, vfd->minor); 1162 vivi_template.name, vfd->minor);
@@ -1149,11 +1172,16 @@ static int __init vivi_init(void)
1149 if (ret < 0) { 1172 if (ret < 0) {
1150 vivi_release(); 1173 vivi_release();
1151 printk(KERN_INFO "Error %d while loading vivi driver\n", ret); 1174 printk(KERN_INFO "Error %d while loading vivi driver\n", ret);
1152 } else 1175 } else {
1153 printk(KERN_INFO "Video Technology Magazine Virtual Video " 1176 printk(KERN_INFO "Video Technology Magazine Virtual Video "
1154 "Capture Board ver %u.%u.%u successfully loaded.\n", 1177 "Capture Board ver %u.%u.%u successfully loaded.\n",
1155 (VIVI_VERSION >> 16) & 0xFF, (VIVI_VERSION >> 8) & 0xFF, 1178 (VIVI_VERSION >> 16) & 0xFF, (VIVI_VERSION >> 8) & 0xFF,
1156 VIVI_VERSION & 0xFF); 1179 VIVI_VERSION & 0xFF);
1180
1181 /* n_devs will reflect the actual number of allocated devices */
1182 n_devs = i;
1183 }
1184
1157 return ret; 1185 return ret;
1158} 1186}
1159 1187
@@ -1169,10 +1197,10 @@ MODULE_DESCRIPTION("Video Technology Magazine Virtual Video Capture Board");
1169MODULE_AUTHOR("Mauro Carvalho Chehab, Ted Walther and John Sokol"); 1197MODULE_AUTHOR("Mauro Carvalho Chehab, Ted Walther and John Sokol");
1170MODULE_LICENSE("Dual BSD/GPL"); 1198MODULE_LICENSE("Dual BSD/GPL");
1171 1199
1172module_param(video_nr, int, 0); 1200module_param(video_nr, uint, 0444);
1173MODULE_PARM_DESC(video_nr, "video iminor start number"); 1201MODULE_PARM_DESC(video_nr, "video iminor start number");
1174 1202
1175module_param(n_devs, int, 0); 1203module_param(n_devs, uint, 0444);
1176MODULE_PARM_DESC(n_devs, "number of video devices to create"); 1204MODULE_PARM_DESC(n_devs, "number of video devices to create");
1177 1205
1178module_param_named(debug, vivi_template.debug, int, 0444); 1206module_param_named(debug, vivi_template.debug, int, 0444);
diff --git a/drivers/media/video/w9966.c b/drivers/media/video/w9966.c
index 9402f40095b4..2ff00bc5ad64 100644
--- a/drivers/media/video/w9966.c
+++ b/drivers/media/video/w9966.c
@@ -334,7 +334,7 @@ static int w9966_init(struct w9966_dev* cam, struct parport* port)
334 memcpy(&cam->vdev, &w9966_template, sizeof(struct video_device)); 334 memcpy(&cam->vdev, &w9966_template, sizeof(struct video_device));
335 cam->vdev.priv = cam; 335 cam->vdev.priv = cam;
336 336
337 if (video_register_device(&cam->vdev, VFL_TYPE_GRABBER, video_nr) == -1) 337 if (video_register_device(&cam->vdev, VFL_TYPE_GRABBER, video_nr) < 0)
338 return -1; 338 return -1;
339 339
340 w9966_setState(cam, W9966_STATE_VDEV, W9966_STATE_VDEV); 340 w9966_setState(cam, W9966_STATE_VDEV, W9966_STATE_VDEV);
diff --git a/drivers/media/video/zc0301/zc0301_core.c b/drivers/media/video/zc0301/zc0301_core.c
index 550ce7bd5c87..0c3287734c93 100644
--- a/drivers/media/video/zc0301/zc0301_core.c
+++ b/drivers/media/video/zc0301/zc0301_core.c
@@ -1988,6 +1988,7 @@ zc0301_usb_probe(struct usb_interface* intf, const struct usb_device_id* id)
1988 cam->v4ldev->fops = &zc0301_fops; 1988 cam->v4ldev->fops = &zc0301_fops;
1989 cam->v4ldev->minor = video_nr[dev_nr]; 1989 cam->v4ldev->minor = video_nr[dev_nr];
1990 cam->v4ldev->release = video_device_release; 1990 cam->v4ldev->release = video_device_release;
1991 cam->v4ldev->parent = &udev->dev;
1991 video_set_drvdata(cam->v4ldev, cam); 1992 video_set_drvdata(cam->v4ldev, cam);
1992 1993
1993 init_completion(&cam->probe); 1994 init_completion(&cam->probe);
diff --git a/drivers/media/video/zc0301/zc0301_sensor.h b/drivers/media/video/zc0301/zc0301_sensor.h
index 70fe6fc6cdd5..b0cd49c438a3 100644
--- a/drivers/media/video/zc0301/zc0301_sensor.h
+++ b/drivers/media/video/zc0301/zc0301_sensor.h
@@ -60,27 +60,8 @@ zc0301_attach_sensor(struct zc0301_device* cam, struct zc0301_sensor* sensor);
60 60
61#define ZC0301_ID_TABLE \ 61#define ZC0301_ID_TABLE \
62static const struct usb_device_id zc0301_id_table[] = { \ 62static const struct usb_device_id zc0301_id_table[] = { \
63 { ZC0301_USB_DEVICE(0x041e, 0x4017, 0xff), }, /* ICM105 */ \
64 { ZC0301_USB_DEVICE(0x041e, 0x401c, 0xff), }, /* PAS106 */ \
65 { ZC0301_USB_DEVICE(0x041e, 0x401e, 0xff), }, /* HV7131 */ \
66 { ZC0301_USB_DEVICE(0x041e, 0x401f, 0xff), }, /* TAS5130 */ \
67 { ZC0301_USB_DEVICE(0x041e, 0x4022, 0xff), }, \
68 { ZC0301_USB_DEVICE(0x041e, 0x4034, 0xff), }, /* PAS106 */ \
69 { ZC0301_USB_DEVICE(0x041e, 0x4035, 0xff), }, /* PAS106 */ \
70 { ZC0301_USB_DEVICE(0x041e, 0x4036, 0xff), }, /* HV7131 */ \
71 { ZC0301_USB_DEVICE(0x041e, 0x403a, 0xff), }, /* HV7131 */ \
72 { ZC0301_USB_DEVICE(0x0458, 0x7007, 0xff), }, /* TAS5130 */ \
73 { ZC0301_USB_DEVICE(0x0458, 0x700c, 0xff), }, /* TAS5130 */ \
74 { ZC0301_USB_DEVICE(0x0458, 0x700f, 0xff), }, /* TAS5130 */ \
75 { ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202 */ \ 63 { ZC0301_USB_DEVICE(0x046d, 0x08ae, 0xff), }, /* PAS202 */ \
76 { ZC0301_USB_DEVICE(0x055f, 0xd003, 0xff), }, /* TAS5130 */ \
77 { ZC0301_USB_DEVICE(0x055f, 0xd004, 0xff), }, /* TAS5130 */ \
78 { ZC0301_USB_DEVICE(0x0ac8, 0x0301, 0xff), }, \
79 { ZC0301_USB_DEVICE(0x0ac8, 0x301b, 0xff), }, /* PB-0330/HV7131 */ \
80 { ZC0301_USB_DEVICE(0x0ac8, 0x303b, 0xff), }, /* PB-0330 */ \ 64 { ZC0301_USB_DEVICE(0x0ac8, 0x303b, 0xff), }, /* PB-0330 */ \
81 { ZC0301_USB_DEVICE(0x10fd, 0x0128, 0xff), }, /* TAS5130 */ \
82 { ZC0301_USB_DEVICE(0x10fd, 0x8050, 0xff), }, /* TAS5130 */ \
83 { ZC0301_USB_DEVICE(0x10fd, 0x804e, 0xff), }, /* TAS5130 */ \
84 { } \ 65 { } \
85}; 66};
86 67
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 10c44d3fe01a..5dba1651f9cc 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -50,6 +50,15 @@ config HTC_PASIC3
50 HTC Magician devices, respectively. Actual functionality is 50 HTC Magician devices, respectively. Actual functionality is
51 handled by the leds-pasic3 and ds1wm drivers. 51 handled by the leds-pasic3 and ds1wm drivers.
52 52
53config UCB1400_CORE
54 tristate "Philips UCB1400 Core driver"
55 help
56 This enables support for the Philips UCB1400 core functions.
57 The UCB1400 is an AC97 audio codec.
58
59 To compile this driver as a module, choose M here: the
60 module will be called ucb1400_core.
61
53config MFD_TMIO 62config MFD_TMIO
54 bool 63 bool
55 default n 64 default n
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 03ad239ecef0..6abebe364419 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -22,3 +22,4 @@ obj-$(CONFIG_MCP_UCB1200_TS) += ucb1x00-ts.o
22ifeq ($(CONFIG_SA1100_ASSABET),y) 22ifeq ($(CONFIG_SA1100_ASSABET),y)
23obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o 23obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o
24endif 24endif
25obj-$(CONFIG_UCB1400_CORE) += ucb1400_core.o
diff --git a/drivers/mfd/ucb1400_core.c b/drivers/mfd/ucb1400_core.c
new file mode 100644
index 000000000000..178159e264ce
--- /dev/null
+++ b/drivers/mfd/ucb1400_core.c
@@ -0,0 +1,106 @@
1/*
2 * Core functions for:
3 * Philips UCB1400 multifunction chip
4 *
5 * Based on ucb1400_ts.c:
6 * Author: Nicolas Pitre
7 * Created: September 25, 2006
8 * Copyright: MontaVista Software, Inc.
9 *
10 * Spliting done by: Marek Vasut <marek.vasut@gmail.com>
11 * If something doesnt work and it worked before spliting, e-mail me,
12 * dont bother Nicolas please ;-)
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17 *
18 * This code is heavily based on ucb1x00-*.c copyrighted by Russell King
19 * covering the UCB1100, UCB1200 and UCB1300.. Support for the UCB1400 has
20 * been made separate from ucb1x00-core/ucb1x00-ts on Russell's request.
21 */
22
23#include <linux/module.h>
24#include <linux/ucb1400.h>
25
26static int ucb1400_core_probe(struct device *dev)
27{
28 int err;
29 struct ucb1400 *ucb;
30 struct ucb1400_ts ucb_ts;
31 struct snd_ac97 *ac97;
32
33 memset(&ucb_ts, 0, sizeof(ucb_ts));
34
35 ucb = kzalloc(sizeof(struct ucb1400), GFP_KERNEL);
36 if (!ucb) {
37 err = -ENOMEM;
38 goto err;
39 }
40
41 dev_set_drvdata(dev, ucb);
42
43 ac97 = to_ac97_t(dev);
44
45 ucb_ts.id = ucb1400_reg_read(ac97, UCB_ID);
46 if (ucb_ts.id != UCB_ID_1400) {
47 err = -ENODEV;
48 goto err0;
49 }
50
51 /* TOUCHSCREEN */
52 ucb_ts.ac97 = ac97;
53 ucb->ucb1400_ts = platform_device_alloc("ucb1400_ts", -1);
54 if (!ucb->ucb1400_ts) {
55 err = -ENOMEM;
56 goto err0;
57 }
58 err = platform_device_add_data(ucb->ucb1400_ts, &ucb_ts,
59 sizeof(ucb_ts));
60 if (err)
61 goto err1;
62 err = platform_device_add(ucb->ucb1400_ts);
63 if (err)
64 goto err1;
65
66 return 0;
67
68err1:
69 platform_device_put(ucb->ucb1400_ts);
70err0:
71 kfree(ucb);
72err:
73 return err;
74}
75
76static int ucb1400_core_remove(struct device *dev)
77{
78 struct ucb1400 *ucb = dev_get_drvdata(dev);
79
80 platform_device_unregister(ucb->ucb1400_ts);
81 kfree(ucb);
82 return 0;
83}
84
85static struct device_driver ucb1400_core_driver = {
86 .name = "ucb1400_core",
87 .bus = &ac97_bus_type,
88 .probe = ucb1400_core_probe,
89 .remove = ucb1400_core_remove,
90};
91
92static int __init ucb1400_core_init(void)
93{
94 return driver_register(&ucb1400_core_driver);
95}
96
97static void __exit ucb1400_core_exit(void)
98{
99 driver_unregister(&ucb1400_core_driver);
100}
101
102module_init(ucb1400_core_init);
103module_exit(ucb1400_core_exit);
104
105MODULE_DESCRIPTION("Philips UCB1400 driver");
106MODULE_LICENSE("GPL");
diff --git a/drivers/misc/acer-wmi.c b/drivers/misc/acer-wmi.c
index c6c77a505ec1..d8b0d326e452 100644
--- a/drivers/misc/acer-wmi.c
+++ b/drivers/misc/acer-wmi.c
@@ -1189,7 +1189,7 @@ static int create_debugfs(void)
1189 return 0; 1189 return 0;
1190 1190
1191error_debugfs: 1191error_debugfs:
1192 remove_debugfs(); 1192 remove_debugfs();
1193 return -ENOMEM; 1193 return -ENOMEM;
1194} 1194}
1195 1195
@@ -1272,6 +1272,7 @@ error_platform_register:
1272static void __exit acer_wmi_exit(void) 1272static void __exit acer_wmi_exit(void)
1273{ 1273{
1274 remove_sysfs(acer_platform_device); 1274 remove_sysfs(acer_platform_device);
1275 remove_debugfs();
1275 platform_device_del(acer_platform_device); 1276 platform_device_del(acer_platform_device);
1276 platform_driver_unregister(&acer_platform_driver); 1277 platform_driver_unregister(&acer_platform_driver);
1277 1278
diff --git a/drivers/misc/fujitsu-laptop.c b/drivers/misc/fujitsu-laptop.c
index 7a1ef6c262de..3e56203e4947 100644
--- a/drivers/misc/fujitsu-laptop.c
+++ b/drivers/misc/fujitsu-laptop.c
@@ -463,6 +463,13 @@ static struct dmi_system_id __initdata fujitsu_dmi_table[] = {
463 DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK S6410"), 463 DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK S6410"),
464 }, 464 },
465 .callback = dmi_check_cb_s6410}, 465 .callback = dmi_check_cb_s6410},
466 {
467 .ident = "FUJITSU LifeBook P8010",
468 .matches = {
469 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
470 DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook P8010"),
471 },
472 .callback = dmi_check_cb_s6410},
466 {} 473 {}
467}; 474};
468 475
diff --git a/drivers/misc/hp-wmi.c b/drivers/misc/hp-wmi.c
index 1dbcbcb323a2..6d407c2a4f91 100644
--- a/drivers/misc/hp-wmi.c
+++ b/drivers/misc/hp-wmi.c
@@ -49,6 +49,7 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45e9-BE91-3D44E2C707E4");
49#define HPWMI_ALS_QUERY 0x3 49#define HPWMI_ALS_QUERY 0x3
50#define HPWMI_DOCK_QUERY 0x4 50#define HPWMI_DOCK_QUERY 0x4
51#define HPWMI_WIRELESS_QUERY 0x5 51#define HPWMI_WIRELESS_QUERY 0x5
52#define HPWMI_HOTKEY_QUERY 0xc
52 53
53static int __init hp_wmi_bios_setup(struct platform_device *device); 54static int __init hp_wmi_bios_setup(struct platform_device *device);
54static int __exit hp_wmi_bios_remove(struct platform_device *device); 55static int __exit hp_wmi_bios_remove(struct platform_device *device);
@@ -69,7 +70,7 @@ struct bios_return {
69 70
70struct key_entry { 71struct key_entry {
71 char type; /* See KE_* below */ 72 char type; /* See KE_* below */
72 u8 code; 73 u16 code;
73 u16 keycode; 74 u16 keycode;
74}; 75};
75 76
@@ -79,7 +80,9 @@ static struct key_entry hp_wmi_keymap[] = {
79 {KE_SW, 0x01, SW_DOCK}, 80 {KE_SW, 0x01, SW_DOCK},
80 {KE_KEY, 0x02, KEY_BRIGHTNESSUP}, 81 {KE_KEY, 0x02, KEY_BRIGHTNESSUP},
81 {KE_KEY, 0x03, KEY_BRIGHTNESSDOWN}, 82 {KE_KEY, 0x03, KEY_BRIGHTNESSDOWN},
82 {KE_KEY, 0x04, KEY_HELP}, 83 {KE_KEY, 0x20e6, KEY_PROG1},
84 {KE_KEY, 0x2142, KEY_MEDIA},
85 {KE_KEY, 0x231b, KEY_HELP},
83 {KE_END, 0} 86 {KE_END, 0}
84}; 87};
85 88
@@ -177,9 +180,9 @@ static int hp_wmi_wifi_state(void)
177 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0); 180 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0);
178 181
179 if (wireless & 0x100) 182 if (wireless & 0x100)
180 return 1; 183 return RFKILL_STATE_UNBLOCKED;
181 else 184 else
182 return 0; 185 return RFKILL_STATE_SOFT_BLOCKED;
183} 186}
184 187
185static int hp_wmi_bluetooth_state(void) 188static int hp_wmi_bluetooth_state(void)
@@ -187,9 +190,9 @@ static int hp_wmi_bluetooth_state(void)
187 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0); 190 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0);
188 191
189 if (wireless & 0x10000) 192 if (wireless & 0x10000)
190 return 1; 193 return RFKILL_STATE_UNBLOCKED;
191 else 194 else
192 return 0; 195 return RFKILL_STATE_SOFT_BLOCKED;
193} 196}
194 197
195static int hp_wmi_wwan_state(void) 198static int hp_wmi_wwan_state(void)
@@ -197,9 +200,9 @@ static int hp_wmi_wwan_state(void)
197 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0); 200 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0);
198 201
199 if (wireless & 0x1000000) 202 if (wireless & 0x1000000)
200 return 1; 203 return RFKILL_STATE_UNBLOCKED;
201 else 204 else
202 return 0; 205 return RFKILL_STATE_SOFT_BLOCKED;
203} 206}
204 207
205static ssize_t show_display(struct device *dev, struct device_attribute *attr, 208static ssize_t show_display(struct device *dev, struct device_attribute *attr,
@@ -318,6 +321,9 @@ void hp_wmi_notify(u32 value, void *context)
318 321
319 if (obj && obj->type == ACPI_TYPE_BUFFER && obj->buffer.length == 8) { 322 if (obj && obj->type == ACPI_TYPE_BUFFER && obj->buffer.length == 8) {
320 int eventcode = *((u8 *) obj->buffer.pointer); 323 int eventcode = *((u8 *) obj->buffer.pointer);
324 if (eventcode == 0x4)
325 eventcode = hp_wmi_perform_query(HPWMI_HOTKEY_QUERY, 0,
326 0);
321 key = hp_wmi_get_entry_by_scancode(eventcode); 327 key = hp_wmi_get_entry_by_scancode(eventcode);
322 if (key) { 328 if (key) {
323 switch (key->type) { 329 switch (key->type) {
@@ -338,12 +344,14 @@ void hp_wmi_notify(u32 value, void *context)
338 } 344 }
339 } else if (eventcode == 0x5) { 345 } else if (eventcode == 0x5) {
340 if (wifi_rfkill) 346 if (wifi_rfkill)
341 wifi_rfkill->state = hp_wmi_wifi_state(); 347 rfkill_force_state(wifi_rfkill,
348 hp_wmi_wifi_state());
342 if (bluetooth_rfkill) 349 if (bluetooth_rfkill)
343 bluetooth_rfkill->state = 350 rfkill_force_state(bluetooth_rfkill,
344 hp_wmi_bluetooth_state(); 351 hp_wmi_bluetooth_state());
345 if (wwan_rfkill) 352 if (wwan_rfkill)
346 wwan_rfkill->state = hp_wmi_wwan_state(); 353 rfkill_force_state(wwan_rfkill,
354 hp_wmi_wwan_state());
347 } else 355 } else
348 printk(KERN_INFO "HP WMI: Unknown key pressed - %x\n", 356 printk(KERN_INFO "HP WMI: Unknown key pressed - %x\n",
349 eventcode); 357 eventcode);
@@ -398,6 +406,7 @@ static void cleanup_sysfs(struct platform_device *device)
398static int __init hp_wmi_bios_setup(struct platform_device *device) 406static int __init hp_wmi_bios_setup(struct platform_device *device)
399{ 407{
400 int err; 408 int err;
409 int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0);
401 410
402 err = device_create_file(&device->dev, &dev_attr_display); 411 err = device_create_file(&device->dev, &dev_attr_display);
403 if (err) 412 if (err)
@@ -412,28 +421,33 @@ static int __init hp_wmi_bios_setup(struct platform_device *device)
412 if (err) 421 if (err)
413 goto add_sysfs_error; 422 goto add_sysfs_error;
414 423
415 wifi_rfkill = rfkill_allocate(&device->dev, RFKILL_TYPE_WLAN); 424 if (wireless & 0x1) {
416 wifi_rfkill->name = "hp-wifi"; 425 wifi_rfkill = rfkill_allocate(&device->dev, RFKILL_TYPE_WLAN);
417 wifi_rfkill->state = hp_wmi_wifi_state(); 426 wifi_rfkill->name = "hp-wifi";
418 wifi_rfkill->toggle_radio = hp_wmi_wifi_set; 427 wifi_rfkill->state = hp_wmi_wifi_state();
419 wifi_rfkill->user_claim_unsupported = 1; 428 wifi_rfkill->toggle_radio = hp_wmi_wifi_set;
420 429 wifi_rfkill->user_claim_unsupported = 1;
421 bluetooth_rfkill = rfkill_allocate(&device->dev, 430 rfkill_register(wifi_rfkill);
422 RFKILL_TYPE_BLUETOOTH); 431 }
423 bluetooth_rfkill->name = "hp-bluetooth"; 432
424 bluetooth_rfkill->state = hp_wmi_bluetooth_state(); 433 if (wireless & 0x2) {
425 bluetooth_rfkill->toggle_radio = hp_wmi_bluetooth_set; 434 bluetooth_rfkill = rfkill_allocate(&device->dev,
426 bluetooth_rfkill->user_claim_unsupported = 1; 435 RFKILL_TYPE_BLUETOOTH);
427 436 bluetooth_rfkill->name = "hp-bluetooth";
428 wwan_rfkill = rfkill_allocate(&device->dev, RFKILL_TYPE_WIMAX); 437 bluetooth_rfkill->state = hp_wmi_bluetooth_state();
429 wwan_rfkill->name = "hp-wwan"; 438 bluetooth_rfkill->toggle_radio = hp_wmi_bluetooth_set;
430 wwan_rfkill->state = hp_wmi_wwan_state(); 439 bluetooth_rfkill->user_claim_unsupported = 1;
431 wwan_rfkill->toggle_radio = hp_wmi_wwan_set; 440 rfkill_register(bluetooth_rfkill);
432 wwan_rfkill->user_claim_unsupported = 1; 441 }
433 442
434 rfkill_register(wifi_rfkill); 443 if (wireless & 0x4) {
435 rfkill_register(bluetooth_rfkill); 444 wwan_rfkill = rfkill_allocate(&device->dev, RFKILL_TYPE_WWAN);
436 rfkill_register(wwan_rfkill); 445 wwan_rfkill->name = "hp-wwan";
446 wwan_rfkill->state = hp_wmi_wwan_state();
447 wwan_rfkill->toggle_radio = hp_wmi_wwan_set;
448 wwan_rfkill->user_claim_unsupported = 1;
449 rfkill_register(wwan_rfkill);
450 }
437 451
438 return 0; 452 return 0;
439add_sysfs_error: 453add_sysfs_error:
@@ -445,9 +459,12 @@ static int __exit hp_wmi_bios_remove(struct platform_device *device)
445{ 459{
446 cleanup_sysfs(device); 460 cleanup_sysfs(device);
447 461
448 rfkill_unregister(wifi_rfkill); 462 if (wifi_rfkill)
449 rfkill_unregister(bluetooth_rfkill); 463 rfkill_unregister(wifi_rfkill);
450 rfkill_unregister(wwan_rfkill); 464 if (bluetooth_rfkill)
465 rfkill_unregister(bluetooth_rfkill);
466 if (wwan_rfkill)
467 rfkill_unregister(wwan_rfkill);
451 468
452 return 0; 469 return 0;
453} 470}
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c
index d3eb7903c346..6b9300779a43 100644
--- a/drivers/misc/thinkpad_acpi.c
+++ b/drivers/misc/thinkpad_acpi.c
@@ -3086,7 +3086,6 @@ static struct ibm_struct wan_driver_data = {
3086 .read = wan_read, 3086 .read = wan_read,
3087 .write = wan_write, 3087 .write = wan_write,
3088 .exit = wan_exit, 3088 .exit = wan_exit,
3089 .flags.experimental = 1,
3090}; 3089};
3091 3090
3092/************************************************************************* 3091/*************************************************************************
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 86dbb366415a..6986f3926244 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -103,8 +103,10 @@ static int mmc_blk_open(struct inode *inode, struct file *filp)
103 check_disk_change(inode->i_bdev); 103 check_disk_change(inode->i_bdev);
104 ret = 0; 104 ret = 0;
105 105
106 if ((filp->f_mode & FMODE_WRITE) && md->read_only) 106 if ((filp->f_mode & FMODE_WRITE) && md->read_only) {
107 mmc_blk_put(md);
107 ret = -EROFS; 108 ret = -EROFS;
109 }
108 } 110 }
109 111
110 return ret; 112 return ret;
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index 6915f40ac8ab..1f8b5b36222c 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -621,12 +621,21 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command
621 if (cpu_is_at91sam9260 () || cpu_is_at91sam9263()) 621 if (cpu_is_at91sam9260 () || cpu_is_at91sam9263())
622 if (host->total_length < 12) 622 if (host->total_length < 12)
623 host->total_length = 12; 623 host->total_length = 12;
624 host->buffer = dma_alloc_coherent(NULL, 624
625 host->total_length, 625 host->buffer = kmalloc(host->total_length, GFP_KERNEL);
626 &host->physical_address, GFP_KERNEL); 626 if (!host->buffer) {
627 pr_debug("Can't alloc tx buffer\n");
628 cmd->error = -ENOMEM;
629 mmc_request_done(host->mmc, host->request);
630 return;
631 }
627 632
628 at91_mci_sg_to_dma(host, data); 633 at91_mci_sg_to_dma(host, data);
629 634
635 host->physical_address = dma_map_single(NULL,
636 host->buffer, host->total_length,
637 DMA_TO_DEVICE);
638
630 pr_debug("Transmitting %d bytes\n", host->total_length); 639 pr_debug("Transmitting %d bytes\n", host->total_length);
631 640
632 at91_mci_write(host, ATMEL_PDC_TPR, host->physical_address); 641 at91_mci_write(host, ATMEL_PDC_TPR, host->physical_address);
@@ -694,7 +703,10 @@ static void at91_mci_completed_command(struct at91mci_host *host, unsigned int s
694 cmd->resp[3] = at91_mci_read(host, AT91_MCI_RSPR(3)); 703 cmd->resp[3] = at91_mci_read(host, AT91_MCI_RSPR(3));
695 704
696 if (host->buffer) { 705 if (host->buffer) {
697 dma_free_coherent(NULL, host->total_length, host->buffer, host->physical_address); 706 dma_unmap_single(NULL,
707 host->physical_address, host->total_length,
708 DMA_TO_DEVICE);
709 kfree(host->buffer);
698 host->buffer = NULL; 710 host->buffer = NULL;
699 } 711 }
700 712
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index d2f331876e4c..e00d424e6575 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -410,16 +410,20 @@ static int mtd_ioctl(struct inode *inode, struct file *file,
410 410
411 case MEMGETREGIONINFO: 411 case MEMGETREGIONINFO:
412 { 412 {
413 struct region_info_user ur; 413 uint32_t ur_idx;
414 struct mtd_erase_region_info *kr;
415 struct region_info_user *ur = (struct region_info_user *) argp;
414 416
415 if (copy_from_user(&ur, argp, sizeof(struct region_info_user))) 417 if (get_user(ur_idx, &(ur->regionindex)))
416 return -EFAULT; 418 return -EFAULT;
417 419
418 if (ur.regionindex >= mtd->numeraseregions) 420 kr = &(mtd->eraseregions[ur_idx]);
419 return -EINVAL; 421
420 if (copy_to_user(argp, &(mtd->eraseregions[ur.regionindex]), 422 if (put_user(kr->offset, &(ur->offset))
421 sizeof(struct mtd_erase_region_info))) 423 || put_user(kr->erasesize, &(ur->erasesize))
424 || put_user(kr->numblocks, &(ur->numblocks)))
422 return -EFAULT; 425 return -EFAULT;
426
423 break; 427 break;
424 } 428 }
425 429
diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
index 9eba3f04783a..fa129c09bca8 100644
--- a/drivers/mtd/nand/cmx270_nand.c
+++ b/drivers/mtd/nand/cmx270_nand.c
@@ -156,7 +156,7 @@ static int cmx270_init(void)
156 int mtd_parts_nb = 0; 156 int mtd_parts_nb = 0;
157 int ret; 157 int ret;
158 158
159 if (!machine_is_armcore()) 159 if (!(machine_is_armcore() && cpu_is_pxa27x()))
160 return -ENODEV; 160 return -ENODEV;
161 161
162 ret = gpio_request(GPIO_NAND_CS, "NAND CS"); 162 ret = gpio_request(GPIO_NAND_CS, "NAND CS");
diff --git a/drivers/mtd/nand/tmio_nand.c b/drivers/mtd/nand/tmio_nand.c
index cbab654b03c8..edb1e322113d 100644
--- a/drivers/mtd/nand/tmio_nand.c
+++ b/drivers/mtd/nand/tmio_nand.c
@@ -109,7 +109,7 @@ struct tmio_nand {
109 109
110 void __iomem *ccr; 110 void __iomem *ccr;
111 void __iomem *fcr; 111 void __iomem *fcr;
112 unsigned long fcr_phys; 112 unsigned long fcr_base;
113 113
114 unsigned int irq; 114 unsigned int irq;
115 115
@@ -316,8 +316,8 @@ static int tmio_hw_init(struct platform_device *dev, struct tmio_nand *tmio)
316 tmio_iowrite8(0x81, tmio->ccr + CCR_ICC); 316 tmio_iowrite8(0x81, tmio->ccr + CCR_ICC);
317 317
318 /* (10h)BaseAddress 0x1000 spba.spba2 */ 318 /* (10h)BaseAddress 0x1000 spba.spba2 */
319 tmio_iowrite16(tmio->fcr_phys, tmio->ccr + CCR_BASE); 319 tmio_iowrite16(tmio->fcr_base, tmio->ccr + CCR_BASE);
320 tmio_iowrite16(tmio->fcr_phys >> 16, tmio->ccr + CCR_BASE + 16); 320 tmio_iowrite16(tmio->fcr_base >> 16, tmio->ccr + CCR_BASE + 2);
321 321
322 /* (04h)Command Register I/O spcmd */ 322 /* (04h)Command Register I/O spcmd */
323 tmio_iowrite8(0x02, tmio->ccr + CCR_COMMAND); 323 tmio_iowrite8(0x02, tmio->ccr + CCR_COMMAND);
@@ -395,7 +395,7 @@ static int tmio_probe(struct platform_device *dev)
395 goto err_iomap_ccr; 395 goto err_iomap_ccr;
396 } 396 }
397 397
398 tmio->fcr_phys = (unsigned long)fcr->start; 398 tmio->fcr_base = fcr->start & 0xfffff;
399 tmio->fcr = ioremap(fcr->start, fcr->end - fcr->start + 1); 399 tmio->fcr = ioremap(fcr->start, fcr->end - fcr->start + 1);
400 if (!tmio->fcr) { 400 if (!tmio->fcr) {
401 retval = -EIO; 401 retval = -EIO;
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index a5c141cecd4e..4a11296a9514 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -822,14 +822,14 @@ config ULTRA32
822 will be called smc-ultra32. 822 will be called smc-ultra32.
823 823
824config BFIN_MAC 824config BFIN_MAC
825 tristate "Blackfin 527/536/537 on-chip mac support" 825 tristate "Blackfin on-chip MAC support"
826 depends on NET_ETHERNET && (BF527 || BF537 || BF536) 826 depends on NET_ETHERNET && (BF526 || BF527 || BF536 || BF537)
827 select CRC32 827 select CRC32
828 select MII 828 select MII
829 select PHYLIB 829 select PHYLIB
830 select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE 830 select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE
831 help 831 help
832 This is the driver for blackfin on-chip mac device. Say Y if you want it 832 This is the driver for Blackfin on-chip mac device. Say Y if you want it
833 compiled into the kernel. This driver is also available as a module 833 compiled into the kernel. This driver is also available as a module
834 ( = code which can be inserted in and removed from the running kernel 834 ( = code which can be inserted in and removed from the running kernel
835 whenever you want). The module will be called bfin_mac. 835 whenever you want). The module will be called bfin_mac.
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
index 82d7be1655d3..7685b995ff9b 100644
--- a/drivers/net/atl1e/atl1e_main.c
+++ b/drivers/net/atl1e/atl1e_main.c
@@ -2232,10 +2232,11 @@ static int atl1e_resume(struct pci_dev *pdev)
2232 2232
2233 AT_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0); 2233 AT_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0);
2234 2234
2235 if (netif_running(netdev)) 2235 if (netif_running(netdev)) {
2236 err = atl1e_request_irq(adapter); 2236 err = atl1e_request_irq(adapter);
2237 if (err) 2237 if (err)
2238 return err; 2238 return err;
2239 }
2239 2240
2240 atl1e_reset_hw(&adapter->hw); 2241 atl1e_reset_hw(&adapter->hw);
2241 2242
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index e6a7bb79d4df..e23ce77712f1 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -3022,7 +3022,6 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
3022 netdev->features = NETIF_F_HW_CSUM; 3022 netdev->features = NETIF_F_HW_CSUM;
3023 netdev->features |= NETIF_F_SG; 3023 netdev->features |= NETIF_F_SG;
3024 netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX); 3024 netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX);
3025 netdev->features |= NETIF_F_TSO;
3026 netdev->features |= NETIF_F_LLTX; 3025 netdev->features |= NETIF_F_LLTX;
3027 3026
3028 /* 3027 /*
diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h
index a14dba1afcc5..fd705d1295a7 100644
--- a/drivers/net/bnx2x.h
+++ b/drivers/net/bnx2x.h
@@ -151,6 +151,8 @@ struct sw_rx_page {
151#define PAGES_PER_SGE_SHIFT 0 151#define PAGES_PER_SGE_SHIFT 0
152#define PAGES_PER_SGE (1 << PAGES_PER_SGE_SHIFT) 152#define PAGES_PER_SGE (1 << PAGES_PER_SGE_SHIFT)
153 153
154#define BCM_RX_ETH_PAYLOAD_ALIGN 64
155
154/* SGE ring related macros */ 156/* SGE ring related macros */
155#define NUM_RX_SGE_PAGES 2 157#define NUM_RX_SGE_PAGES 2
156#define RX_SGE_CNT (BCM_PAGE_SIZE / sizeof(struct eth_rx_sge)) 158#define RX_SGE_CNT (BCM_PAGE_SIZE / sizeof(struct eth_rx_sge))
@@ -750,8 +752,7 @@ struct bnx2x {
750 752
751 u32 rx_csum; 753 u32 rx_csum;
752 u32 rx_offset; 754 u32 rx_offset;
753 u32 rx_buf_use_size; /* useable size */ 755 u32 rx_buf_size;
754 u32 rx_buf_size; /* with alignment */
755#define ETH_OVREHEAD (ETH_HLEN + 8) /* 8 for CRC + VLAN */ 756#define ETH_OVREHEAD (ETH_HLEN + 8) /* 8 for CRC + VLAN */
756#define ETH_MIN_PACKET_SIZE 60 757#define ETH_MIN_PACKET_SIZE 60
757#define ETH_MAX_PACKET_SIZE 1500 758#define ETH_MAX_PACKET_SIZE 1500
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index 82deea0a63f5..a8eb3c4a47c8 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -59,8 +59,8 @@
59#include "bnx2x.h" 59#include "bnx2x.h"
60#include "bnx2x_init.h" 60#include "bnx2x_init.h"
61 61
62#define DRV_MODULE_VERSION "1.45.20" 62#define DRV_MODULE_VERSION "1.45.21"
63#define DRV_MODULE_RELDATE "2008/08/25" 63#define DRV_MODULE_RELDATE "2008/09/03"
64#define BNX2X_BC_VER 0x040200 64#define BNX2X_BC_VER 0x040200
65 65
66/* Time in jiffies before concluding the transmitter is hung */ 66/* Time in jiffies before concluding the transmitter is hung */
@@ -1027,7 +1027,7 @@ static inline int bnx2x_alloc_rx_skb(struct bnx2x *bp,
1027 if (unlikely(skb == NULL)) 1027 if (unlikely(skb == NULL))
1028 return -ENOMEM; 1028 return -ENOMEM;
1029 1029
1030 mapping = pci_map_single(bp->pdev, skb->data, bp->rx_buf_use_size, 1030 mapping = pci_map_single(bp->pdev, skb->data, bp->rx_buf_size,
1031 PCI_DMA_FROMDEVICE); 1031 PCI_DMA_FROMDEVICE);
1032 if (unlikely(dma_mapping_error(&bp->pdev->dev, mapping))) { 1032 if (unlikely(dma_mapping_error(&bp->pdev->dev, mapping))) {
1033 dev_kfree_skb(skb); 1033 dev_kfree_skb(skb);
@@ -1169,7 +1169,7 @@ static void bnx2x_tpa_start(struct bnx2x_fastpath *fp, u16 queue,
1169 /* move empty skb from pool to prod and map it */ 1169 /* move empty skb from pool to prod and map it */
1170 prod_rx_buf->skb = fp->tpa_pool[queue].skb; 1170 prod_rx_buf->skb = fp->tpa_pool[queue].skb;
1171 mapping = pci_map_single(bp->pdev, fp->tpa_pool[queue].skb->data, 1171 mapping = pci_map_single(bp->pdev, fp->tpa_pool[queue].skb->data,
1172 bp->rx_buf_use_size, PCI_DMA_FROMDEVICE); 1172 bp->rx_buf_size, PCI_DMA_FROMDEVICE);
1173 pci_unmap_addr_set(prod_rx_buf, mapping, mapping); 1173 pci_unmap_addr_set(prod_rx_buf, mapping, mapping);
1174 1174
1175 /* move partial skb from cons to pool (don't unmap yet) */ 1175 /* move partial skb from cons to pool (don't unmap yet) */
@@ -1276,7 +1276,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp,
1276 pool entry status to BNX2X_TPA_STOP even if new skb allocation 1276 pool entry status to BNX2X_TPA_STOP even if new skb allocation
1277 fails. */ 1277 fails. */
1278 pci_unmap_single(bp->pdev, pci_unmap_addr(rx_buf, mapping), 1278 pci_unmap_single(bp->pdev, pci_unmap_addr(rx_buf, mapping),
1279 bp->rx_buf_use_size, PCI_DMA_FROMDEVICE); 1279 bp->rx_buf_size, PCI_DMA_FROMDEVICE);
1280 1280
1281 if (likely(new_skb)) { 1281 if (likely(new_skb)) {
1282 /* fix ip xsum and give it to the stack */ 1282 /* fix ip xsum and give it to the stack */
@@ -1520,7 +1520,7 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
1520 } else if (bnx2x_alloc_rx_skb(bp, fp, bd_prod) == 0) { 1520 } else if (bnx2x_alloc_rx_skb(bp, fp, bd_prod) == 0) {
1521 pci_unmap_single(bp->pdev, 1521 pci_unmap_single(bp->pdev,
1522 pci_unmap_addr(rx_buf, mapping), 1522 pci_unmap_addr(rx_buf, mapping),
1523 bp->rx_buf_use_size, 1523 bp->rx_buf_size,
1524 PCI_DMA_FROMDEVICE); 1524 PCI_DMA_FROMDEVICE);
1525 skb_reserve(skb, pad); 1525 skb_reserve(skb, pad);
1526 skb_put(skb, len); 1526 skb_put(skb, len);
@@ -4229,7 +4229,7 @@ static inline void bnx2x_free_tpa_pool(struct bnx2x *bp,
4229 if (fp->tpa_state[i] == BNX2X_TPA_START) 4229 if (fp->tpa_state[i] == BNX2X_TPA_START)
4230 pci_unmap_single(bp->pdev, 4230 pci_unmap_single(bp->pdev,
4231 pci_unmap_addr(rx_buf, mapping), 4231 pci_unmap_addr(rx_buf, mapping),
4232 bp->rx_buf_use_size, 4232 bp->rx_buf_size,
4233 PCI_DMA_FROMDEVICE); 4233 PCI_DMA_FROMDEVICE);
4234 4234
4235 dev_kfree_skb(skb); 4235 dev_kfree_skb(skb);
@@ -4245,15 +4245,14 @@ static void bnx2x_init_rx_rings(struct bnx2x *bp)
4245 u16 ring_prod, cqe_ring_prod; 4245 u16 ring_prod, cqe_ring_prod;
4246 int i, j; 4246 int i, j;
4247 4247
4248 bp->rx_buf_use_size = bp->dev->mtu; 4248 bp->rx_buf_size = bp->dev->mtu;
4249 bp->rx_buf_use_size += bp->rx_offset + ETH_OVREHEAD; 4249 bp->rx_buf_size += bp->rx_offset + ETH_OVREHEAD +
4250 bp->rx_buf_size = bp->rx_buf_use_size + 64; 4250 BCM_RX_ETH_PAYLOAD_ALIGN;
4251 4251
4252 if (bp->flags & TPA_ENABLE_FLAG) { 4252 if (bp->flags & TPA_ENABLE_FLAG) {
4253 DP(NETIF_MSG_IFUP, 4253 DP(NETIF_MSG_IFUP,
4254 "rx_buf_use_size %d rx_buf_size %d effective_mtu %d\n", 4254 "rx_buf_size %d effective_mtu %d\n",
4255 bp->rx_buf_use_size, bp->rx_buf_size, 4255 bp->rx_buf_size, bp->dev->mtu + ETH_OVREHEAD);
4256 bp->dev->mtu + ETH_OVREHEAD);
4257 4256
4258 for_each_queue(bp, j) { 4257 for_each_queue(bp, j) {
4259 struct bnx2x_fastpath *fp = &bp->fp[j]; 4258 struct bnx2x_fastpath *fp = &bp->fp[j];
@@ -4462,9 +4461,10 @@ static void bnx2x_init_context(struct bnx2x *bp)
4462 context->ustorm_st_context.common.status_block_id = sb_id; 4461 context->ustorm_st_context.common.status_block_id = sb_id;
4463 context->ustorm_st_context.common.flags = 4462 context->ustorm_st_context.common.flags =
4464 USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_MC_ALIGNMENT; 4463 USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_MC_ALIGNMENT;
4465 context->ustorm_st_context.common.mc_alignment_size = 64; 4464 context->ustorm_st_context.common.mc_alignment_size =
4465 BCM_RX_ETH_PAYLOAD_ALIGN;
4466 context->ustorm_st_context.common.bd_buff_size = 4466 context->ustorm_st_context.common.bd_buff_size =
4467 bp->rx_buf_use_size; 4467 bp->rx_buf_size;
4468 context->ustorm_st_context.common.bd_page_base_hi = 4468 context->ustorm_st_context.common.bd_page_base_hi =
4469 U64_HI(fp->rx_desc_mapping); 4469 U64_HI(fp->rx_desc_mapping);
4470 context->ustorm_st_context.common.bd_page_base_lo = 4470 context->ustorm_st_context.common.bd_page_base_lo =
@@ -4717,7 +4717,7 @@ static void bnx2x_init_internal_func(struct bnx2x *bp)
4717 } 4717 }
4718 4718
4719 /* Init CQ ring mapping and aggregation size */ 4719 /* Init CQ ring mapping and aggregation size */
4720 max_agg_size = min((u32)(bp->rx_buf_use_size + 4720 max_agg_size = min((u32)(bp->rx_buf_size +
4721 8*BCM_PAGE_SIZE*PAGES_PER_SGE), 4721 8*BCM_PAGE_SIZE*PAGES_PER_SGE),
4722 (u32)0xffff); 4722 (u32)0xffff);
4723 for_each_queue(bp, i) { 4723 for_each_queue(bp, i) {
@@ -5940,7 +5940,7 @@ static void bnx2x_free_rx_skbs(struct bnx2x *bp)
5940 5940
5941 pci_unmap_single(bp->pdev, 5941 pci_unmap_single(bp->pdev,
5942 pci_unmap_addr(rx_buf, mapping), 5942 pci_unmap_addr(rx_buf, mapping),
5943 bp->rx_buf_use_size, 5943 bp->rx_buf_size,
5944 PCI_DMA_FROMDEVICE); 5944 PCI_DMA_FROMDEVICE);
5945 5945
5946 rx_buf->skb = NULL; 5946 rx_buf->skb = NULL;
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 19d32a227be1..453115acaad2 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1838,7 +1838,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
1838 if ((le16_to_cpu(rfd->command) & cb_el) && 1838 if ((le16_to_cpu(rfd->command) & cb_el) &&
1839 (RU_RUNNING == nic->ru_running)) 1839 (RU_RUNNING == nic->ru_running))
1840 1840
1841 if (readb(&nic->csr->scb.status) & rus_no_res) 1841 if (ioread8(&nic->csr->scb.status) & rus_no_res)
1842 nic->ru_running = RU_SUSPENDED; 1842 nic->ru_running = RU_SUSPENDED;
1843 return -ENODATA; 1843 return -ENODATA;
1844 } 1844 }
@@ -1861,7 +1861,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
1861 if ((le16_to_cpu(rfd->command) & cb_el) && 1861 if ((le16_to_cpu(rfd->command) & cb_el) &&
1862 (RU_RUNNING == nic->ru_running)) { 1862 (RU_RUNNING == nic->ru_running)) {
1863 1863
1864 if (readb(&nic->csr->scb.status) & rus_no_res) 1864 if (ioread8(&nic->csr->scb.status) & rus_no_res)
1865 nic->ru_running = RU_SUSPENDED; 1865 nic->ru_running = RU_SUSPENDED;
1866 } 1866 }
1867 1867
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
index b9f90a5d3d4d..213437d13154 100644
--- a/drivers/net/e1000/e1000_param.c
+++ b/drivers/net/e1000/e1000_param.c
@@ -208,7 +208,7 @@ struct e1000_option {
208 } r; 208 } r;
209 struct { /* list_option info */ 209 struct { /* list_option info */
210 int nr; 210 int nr;
211 struct e1000_opt_list { int i; char *str; } *p; 211 const struct e1000_opt_list { int i; char *str; } *p;
212 } l; 212 } l;
213 } arg; 213 } arg;
214}; 214};
@@ -242,7 +242,7 @@ static int __devinit e1000_validate_option(unsigned int *value,
242 break; 242 break;
243 case list_option: { 243 case list_option: {
244 int i; 244 int i;
245 struct e1000_opt_list *ent; 245 const struct e1000_opt_list *ent;
246 246
247 for (i = 0; i < opt->arg.l.nr; i++) { 247 for (i = 0; i < opt->arg.l.nr; i++) {
248 ent = &opt->arg.l.p[i]; 248 ent = &opt->arg.l.p[i];
@@ -279,7 +279,9 @@ static void e1000_check_copper_options(struct e1000_adapter *adapter);
279 279
280void __devinit e1000_check_options(struct e1000_adapter *adapter) 280void __devinit e1000_check_options(struct e1000_adapter *adapter)
281{ 281{
282 struct e1000_option opt;
282 int bd = adapter->bd_number; 283 int bd = adapter->bd_number;
284
283 if (bd >= E1000_MAX_NIC) { 285 if (bd >= E1000_MAX_NIC) {
284 DPRINTK(PROBE, NOTICE, 286 DPRINTK(PROBE, NOTICE,
285 "Warning: no configuration for board #%i\n", bd); 287 "Warning: no configuration for board #%i\n", bd);
@@ -287,19 +289,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
287 } 289 }
288 290
289 { /* Transmit Descriptor Count */ 291 { /* Transmit Descriptor Count */
290 struct e1000_option opt = { 292 struct e1000_tx_ring *tx_ring = adapter->tx_ring;
293 int i;
294 e1000_mac_type mac_type = adapter->hw.mac_type;
295
296 opt = (struct e1000_option) {
291 .type = range_option, 297 .type = range_option,
292 .name = "Transmit Descriptors", 298 .name = "Transmit Descriptors",
293 .err = "using default of " 299 .err = "using default of "
294 __MODULE_STRING(E1000_DEFAULT_TXD), 300 __MODULE_STRING(E1000_DEFAULT_TXD),
295 .def = E1000_DEFAULT_TXD, 301 .def = E1000_DEFAULT_TXD,
296 .arg = { .r = { .min = E1000_MIN_TXD }} 302 .arg = { .r = {
303 .min = E1000_MIN_TXD,
304 .max = mac_type < e1000_82544 ? E1000_MAX_TXD : E1000_MAX_82544_TXD
305 }}
297 }; 306 };
298 struct e1000_tx_ring *tx_ring = adapter->tx_ring;
299 int i;
300 e1000_mac_type mac_type = adapter->hw.mac_type;
301 opt.arg.r.max = mac_type < e1000_82544 ?
302 E1000_MAX_TXD : E1000_MAX_82544_TXD;
303 307
304 if (num_TxDescriptors > bd) { 308 if (num_TxDescriptors > bd) {
305 tx_ring->count = TxDescriptors[bd]; 309 tx_ring->count = TxDescriptors[bd];
@@ -313,19 +317,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
313 tx_ring[i].count = tx_ring->count; 317 tx_ring[i].count = tx_ring->count;
314 } 318 }
315 { /* Receive Descriptor Count */ 319 { /* Receive Descriptor Count */
316 struct e1000_option opt = { 320 struct e1000_rx_ring *rx_ring = adapter->rx_ring;
321 int i;
322 e1000_mac_type mac_type = adapter->hw.mac_type;
323
324 opt = (struct e1000_option) {
317 .type = range_option, 325 .type = range_option,
318 .name = "Receive Descriptors", 326 .name = "Receive Descriptors",
319 .err = "using default of " 327 .err = "using default of "
320 __MODULE_STRING(E1000_DEFAULT_RXD), 328 __MODULE_STRING(E1000_DEFAULT_RXD),
321 .def = E1000_DEFAULT_RXD, 329 .def = E1000_DEFAULT_RXD,
322 .arg = { .r = { .min = E1000_MIN_RXD }} 330 .arg = { .r = {
331 .min = E1000_MIN_RXD,
332 .max = mac_type < e1000_82544 ? E1000_MAX_RXD : E1000_MAX_82544_RXD
333 }}
323 }; 334 };
324 struct e1000_rx_ring *rx_ring = adapter->rx_ring;
325 int i;
326 e1000_mac_type mac_type = adapter->hw.mac_type;
327 opt.arg.r.max = mac_type < e1000_82544 ? E1000_MAX_RXD :
328 E1000_MAX_82544_RXD;
329 335
330 if (num_RxDescriptors > bd) { 336 if (num_RxDescriptors > bd) {
331 rx_ring->count = RxDescriptors[bd]; 337 rx_ring->count = RxDescriptors[bd];
@@ -339,7 +345,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
339 rx_ring[i].count = rx_ring->count; 345 rx_ring[i].count = rx_ring->count;
340 } 346 }
341 { /* Checksum Offload Enable/Disable */ 347 { /* Checksum Offload Enable/Disable */
342 struct e1000_option opt = { 348 opt = (struct e1000_option) {
343 .type = enable_option, 349 .type = enable_option,
344 .name = "Checksum Offload", 350 .name = "Checksum Offload",
345 .err = "defaulting to Enabled", 351 .err = "defaulting to Enabled",
@@ -363,7 +369,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
363 { E1000_FC_FULL, "Flow Control Enabled" }, 369 { E1000_FC_FULL, "Flow Control Enabled" },
364 { E1000_FC_DEFAULT, "Flow Control Hardware Default" }}; 370 { E1000_FC_DEFAULT, "Flow Control Hardware Default" }};
365 371
366 struct e1000_option opt = { 372 opt = (struct e1000_option) {
367 .type = list_option, 373 .type = list_option,
368 .name = "Flow Control", 374 .name = "Flow Control",
369 .err = "reading default settings from EEPROM", 375 .err = "reading default settings from EEPROM",
@@ -381,7 +387,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
381 } 387 }
382 } 388 }
383 { /* Transmit Interrupt Delay */ 389 { /* Transmit Interrupt Delay */
384 struct e1000_option opt = { 390 opt = (struct e1000_option) {
385 .type = range_option, 391 .type = range_option,
386 .name = "Transmit Interrupt Delay", 392 .name = "Transmit Interrupt Delay",
387 .err = "using default of " __MODULE_STRING(DEFAULT_TIDV), 393 .err = "using default of " __MODULE_STRING(DEFAULT_TIDV),
@@ -399,7 +405,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
399 } 405 }
400 } 406 }
401 { /* Transmit Absolute Interrupt Delay */ 407 { /* Transmit Absolute Interrupt Delay */
402 struct e1000_option opt = { 408 opt = (struct e1000_option) {
403 .type = range_option, 409 .type = range_option,
404 .name = "Transmit Absolute Interrupt Delay", 410 .name = "Transmit Absolute Interrupt Delay",
405 .err = "using default of " __MODULE_STRING(DEFAULT_TADV), 411 .err = "using default of " __MODULE_STRING(DEFAULT_TADV),
@@ -417,7 +423,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
417 } 423 }
418 } 424 }
419 { /* Receive Interrupt Delay */ 425 { /* Receive Interrupt Delay */
420 struct e1000_option opt = { 426 opt = (struct e1000_option) {
421 .type = range_option, 427 .type = range_option,
422 .name = "Receive Interrupt Delay", 428 .name = "Receive Interrupt Delay",
423 .err = "using default of " __MODULE_STRING(DEFAULT_RDTR), 429 .err = "using default of " __MODULE_STRING(DEFAULT_RDTR),
@@ -435,7 +441,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
435 } 441 }
436 } 442 }
437 { /* Receive Absolute Interrupt Delay */ 443 { /* Receive Absolute Interrupt Delay */
438 struct e1000_option opt = { 444 opt = (struct e1000_option) {
439 .type = range_option, 445 .type = range_option,
440 .name = "Receive Absolute Interrupt Delay", 446 .name = "Receive Absolute Interrupt Delay",
441 .err = "using default of " __MODULE_STRING(DEFAULT_RADV), 447 .err = "using default of " __MODULE_STRING(DEFAULT_RADV),
@@ -453,7 +459,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
453 } 459 }
454 } 460 }
455 { /* Interrupt Throttling Rate */ 461 { /* Interrupt Throttling Rate */
456 struct e1000_option opt = { 462 opt = (struct e1000_option) {
457 .type = range_option, 463 .type = range_option,
458 .name = "Interrupt Throttling Rate (ints/sec)", 464 .name = "Interrupt Throttling Rate (ints/sec)",
459 .err = "using default of " __MODULE_STRING(DEFAULT_ITR), 465 .err = "using default of " __MODULE_STRING(DEFAULT_ITR),
@@ -497,7 +503,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
497 } 503 }
498 } 504 }
499 { /* Smart Power Down */ 505 { /* Smart Power Down */
500 struct e1000_option opt = { 506 opt = (struct e1000_option) {
501 .type = enable_option, 507 .type = enable_option,
502 .name = "PHY Smart Power Down", 508 .name = "PHY Smart Power Down",
503 .err = "defaulting to Disabled", 509 .err = "defaulting to Disabled",
@@ -513,7 +519,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
513 } 519 }
514 } 520 }
515 { /* Kumeran Lock Loss Workaround */ 521 { /* Kumeran Lock Loss Workaround */
516 struct e1000_option opt = { 522 opt = (struct e1000_option) {
517 .type = enable_option, 523 .type = enable_option,
518 .name = "Kumeran Lock Loss Workaround", 524 .name = "Kumeran Lock Loss Workaround",
519 .err = "defaulting to Enabled", 525 .err = "defaulting to Enabled",
@@ -578,16 +584,18 @@ static void __devinit e1000_check_fiber_options(struct e1000_adapter *adapter)
578 584
579static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter) 585static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
580{ 586{
587 struct e1000_option opt;
581 unsigned int speed, dplx, an; 588 unsigned int speed, dplx, an;
582 int bd = adapter->bd_number; 589 int bd = adapter->bd_number;
583 590
584 { /* Speed */ 591 { /* Speed */
585 struct e1000_opt_list speed_list[] = {{ 0, "" }, 592 static const struct e1000_opt_list speed_list[] = {
586 { SPEED_10, "" }, 593 { 0, "" },
587 { SPEED_100, "" }, 594 { SPEED_10, "" },
588 { SPEED_1000, "" }}; 595 { SPEED_100, "" },
596 { SPEED_1000, "" }};
589 597
590 struct e1000_option opt = { 598 opt = (struct e1000_option) {
591 .type = list_option, 599 .type = list_option,
592 .name = "Speed", 600 .name = "Speed",
593 .err = "parameter ignored", 601 .err = "parameter ignored",
@@ -604,11 +612,12 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
604 } 612 }
605 } 613 }
606 { /* Duplex */ 614 { /* Duplex */
607 struct e1000_opt_list dplx_list[] = {{ 0, "" }, 615 static const struct e1000_opt_list dplx_list[] = {
608 { HALF_DUPLEX, "" }, 616 { 0, "" },
609 { FULL_DUPLEX, "" }}; 617 { HALF_DUPLEX, "" },
618 { FULL_DUPLEX, "" }};
610 619
611 struct e1000_option opt = { 620 opt = (struct e1000_option) {
612 .type = list_option, 621 .type = list_option,
613 .name = "Duplex", 622 .name = "Duplex",
614 .err = "parameter ignored", 623 .err = "parameter ignored",
@@ -637,7 +646,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
637 "parameter ignored\n"); 646 "parameter ignored\n");
638 adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; 647 adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT;
639 } else { /* Autoneg */ 648 } else { /* Autoneg */
640 struct e1000_opt_list an_list[] = 649 static const struct e1000_opt_list an_list[] =
641 #define AA "AutoNeg advertising " 650 #define AA "AutoNeg advertising "
642 {{ 0x01, AA "10/HD" }, 651 {{ 0x01, AA "10/HD" },
643 { 0x02, AA "10/FD" }, 652 { 0x02, AA "10/FD" },
@@ -671,7 +680,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
671 { 0x2e, AA "1000/FD, 100/FD, 100/HD, 10/FD" }, 680 { 0x2e, AA "1000/FD, 100/FD, 100/HD, 10/FD" },
672 { 0x2f, AA "1000/FD, 100/FD, 100/HD, 10/FD, 10/HD" }}; 681 { 0x2f, AA "1000/FD, 100/FD, 100/HD, 10/FD, 10/HD" }};
673 682
674 struct e1000_option opt = { 683 opt = (struct e1000_option) {
675 .type = list_option, 684 .type = list_option,
676 .name = "AutoNeg", 685 .name = "AutoNeg",
677 .err = "parameter ignored", 686 .err = "parameter ignored",
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 053971e5fc94..0b6ecef9a849 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5522,7 +5522,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
5522 if (id->driver_data & DEV_HAS_CHECKSUM) { 5522 if (id->driver_data & DEV_HAS_CHECKSUM) {
5523 np->rx_csum = 1; 5523 np->rx_csum = 1;
5524 np->txrxctl_bits |= NVREG_TXRXCTL_RXCHECK; 5524 np->txrxctl_bits |= NVREG_TXRXCTL_RXCHECK;
5525 dev->features |= NETIF_F_HW_CSUM | NETIF_F_SG; 5525 dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG;
5526 dev->features |= NETIF_F_TSO; 5526 dev->features |= NETIF_F_TSO;
5527 } 5527 }
5528 5528
@@ -5835,7 +5835,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
5835 5835
5836 dev_printk(KERN_INFO, &pci_dev->dev, "%s%s%s%s%s%s%s%s%s%sdesc-v%u\n", 5836 dev_printk(KERN_INFO, &pci_dev->dev, "%s%s%s%s%s%s%s%s%s%sdesc-v%u\n",
5837 dev->features & NETIF_F_HIGHDMA ? "highdma " : "", 5837 dev->features & NETIF_F_HIGHDMA ? "highdma " : "",
5838 dev->features & (NETIF_F_HW_CSUM | NETIF_F_SG) ? 5838 dev->features & (NETIF_F_IP_CSUM | NETIF_F_SG) ?
5839 "csum " : "", 5839 "csum " : "",
5840 dev->features & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX) ? 5840 dev->features & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX) ?
5841 "vlan " : "", 5841 "vlan " : "",
@@ -5975,10 +5975,12 @@ static void nv_shutdown(struct pci_dev *pdev)
5975 if (netif_running(dev)) 5975 if (netif_running(dev))
5976 nv_close(dev); 5976 nv_close(dev);
5977 5977
5978 pci_enable_wake(pdev, PCI_D3hot, np->wolenabled);
5979 pci_enable_wake(pdev, PCI_D3cold, np->wolenabled);
5980 pci_disable_device(pdev); 5978 pci_disable_device(pdev);
5981 pci_set_power_state(pdev, PCI_D3hot); 5979 if (system_state == SYSTEM_POWER_OFF) {
5980 if (pci_enable_wake(pdev, PCI_D3cold, np->wolenabled))
5981 pci_enable_wake(pdev, PCI_D3hot, np->wolenabled);
5982 pci_set_power_state(pdev, PCI_D3hot);
5983 }
5982} 5984}
5983#else 5985#else
5984#define nv_suspend NULL 5986#define nv_suspend NULL
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index 9a51ec8293cc..9d461825bf4c 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -792,6 +792,10 @@ static int fs_enet_open(struct net_device *dev)
792 int r; 792 int r;
793 int err; 793 int err;
794 794
795 /* to initialize the fep->cur_rx,... */
796 /* not doing this, will cause a crash in fs_enet_rx_napi */
797 fs_init_bds(fep->ndev);
798
795 if (fep->fpi->use_napi) 799 if (fep->fpi->use_napi)
796 napi_enable(&fep->napi); 800 napi_enable(&fep->napi);
797 801
@@ -1167,6 +1171,10 @@ static struct of_device_id fs_enet_match[] = {
1167 .compatible = "fsl,cpm1-scc-enet", 1171 .compatible = "fsl,cpm1-scc-enet",
1168 .data = (void *)&fs_scc_ops, 1172 .data = (void *)&fs_scc_ops,
1169 }, 1173 },
1174 {
1175 .compatible = "fsl,cpm2-scc-enet",
1176 .data = (void *)&fs_scc_ops,
1177 },
1170#endif 1178#endif
1171#ifdef CONFIG_FS_ENET_HAS_FCC 1179#ifdef CONFIG_FS_ENET_HAS_FCC
1172 { 1180 {
diff --git a/drivers/net/fs_enet/mac-scc.c b/drivers/net/fs_enet/mac-scc.c
index 029b3c7ef29c..22f50dd8b277 100644
--- a/drivers/net/fs_enet/mac-scc.c
+++ b/drivers/net/fs_enet/mac-scc.c
@@ -47,7 +47,6 @@
47#include "fs_enet.h" 47#include "fs_enet.h"
48 48
49/*************************************************/ 49/*************************************************/
50
51#if defined(CONFIG_CPM1) 50#if defined(CONFIG_CPM1)
52/* for a 8xx __raw_xxx's are sufficient */ 51/* for a 8xx __raw_xxx's are sufficient */
53#define __fs_out32(addr, x) __raw_writel(x, addr) 52#define __fs_out32(addr, x) __raw_writel(x, addr)
@@ -62,6 +61,8 @@
62#define __fs_out16(addr, x) out_be16(addr, x) 61#define __fs_out16(addr, x) out_be16(addr, x)
63#define __fs_in32(addr) in_be32(addr) 62#define __fs_in32(addr) in_be32(addr)
64#define __fs_in16(addr) in_be16(addr) 63#define __fs_in16(addr) in_be16(addr)
64#define __fs_out8(addr, x) out_8(addr, x)
65#define __fs_in8(addr) in_8(addr)
65#endif 66#endif
66 67
67/* write, read, set bits, clear bits */ 68/* write, read, set bits, clear bits */
@@ -262,8 +263,13 @@ static void restart(struct net_device *dev)
262 263
263 /* Initialize function code registers for big-endian. 264 /* Initialize function code registers for big-endian.
264 */ 265 */
266#ifndef CONFIG_NOT_COHERENT_CACHE
267 W8(ep, sen_genscc.scc_rfcr, SCC_EB | SCC_GBL);
268 W8(ep, sen_genscc.scc_tfcr, SCC_EB | SCC_GBL);
269#else
265 W8(ep, sen_genscc.scc_rfcr, SCC_EB); 270 W8(ep, sen_genscc.scc_rfcr, SCC_EB);
266 W8(ep, sen_genscc.scc_tfcr, SCC_EB); 271 W8(ep, sen_genscc.scc_tfcr, SCC_EB);
272#endif
267 273
268 /* Set maximum bytes per receive buffer. 274 /* Set maximum bytes per receive buffer.
269 * This appears to be an Ethernet frame size, not the buffer 275 * This appears to be an Ethernet frame size, not the buffer
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 999d69168277..4320a983a588 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -105,6 +105,7 @@ const char gfar_driver_version[] = "1.3";
105 105
106static int gfar_enet_open(struct net_device *dev); 106static int gfar_enet_open(struct net_device *dev);
107static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev); 107static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev);
108static void gfar_reset_task(struct work_struct *work);
108static void gfar_timeout(struct net_device *dev); 109static void gfar_timeout(struct net_device *dev);
109static int gfar_close(struct net_device *dev); 110static int gfar_close(struct net_device *dev);
110struct sk_buff *gfar_new_skb(struct net_device *dev); 111struct sk_buff *gfar_new_skb(struct net_device *dev);
@@ -209,6 +210,7 @@ static int gfar_probe(struct platform_device *pdev)
209 spin_lock_init(&priv->txlock); 210 spin_lock_init(&priv->txlock);
210 spin_lock_init(&priv->rxlock); 211 spin_lock_init(&priv->rxlock);
211 spin_lock_init(&priv->bflock); 212 spin_lock_init(&priv->bflock);
213 INIT_WORK(&priv->reset_task, gfar_reset_task);
212 214
213 platform_set_drvdata(pdev, dev); 215 platform_set_drvdata(pdev, dev);
214 216
@@ -1212,6 +1214,7 @@ static int gfar_close(struct net_device *dev)
1212 1214
1213 napi_disable(&priv->napi); 1215 napi_disable(&priv->napi);
1214 1216
1217 cancel_work_sync(&priv->reset_task);
1215 stop_gfar(dev); 1218 stop_gfar(dev);
1216 1219
1217 /* Disconnect from the PHY */ 1220 /* Disconnect from the PHY */
@@ -1326,13 +1329,16 @@ static int gfar_change_mtu(struct net_device *dev, int new_mtu)
1326 return 0; 1329 return 0;
1327} 1330}
1328 1331
1329/* gfar_timeout gets called when a packet has not been 1332/* gfar_reset_task gets scheduled when a packet has not been
1330 * transmitted after a set amount of time. 1333 * transmitted after a set amount of time.
1331 * For now, assume that clearing out all the structures, and 1334 * For now, assume that clearing out all the structures, and
1332 * starting over will fix the problem. */ 1335 * starting over will fix the problem.
1333static void gfar_timeout(struct net_device *dev) 1336 */
1337static void gfar_reset_task(struct work_struct *work)
1334{ 1338{
1335 dev->stats.tx_errors++; 1339 struct gfar_private *priv = container_of(work, struct gfar_private,
1340 reset_task);
1341 struct net_device *dev = priv->dev;
1336 1342
1337 if (dev->flags & IFF_UP) { 1343 if (dev->flags & IFF_UP) {
1338 stop_gfar(dev); 1344 stop_gfar(dev);
@@ -1342,6 +1348,14 @@ static void gfar_timeout(struct net_device *dev)
1342 netif_tx_schedule_all(dev); 1348 netif_tx_schedule_all(dev);
1343} 1349}
1344 1350
1351static void gfar_timeout(struct net_device *dev)
1352{
1353 struct gfar_private *priv = netdev_priv(dev);
1354
1355 dev->stats.tx_errors++;
1356 schedule_work(&priv->reset_task);
1357}
1358
1345/* Interrupt Handler for Transmit complete */ 1359/* Interrupt Handler for Transmit complete */
1346static int gfar_clean_tx_ring(struct net_device *dev) 1360static int gfar_clean_tx_ring(struct net_device *dev)
1347{ 1361{
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index d59df98bd636..f46e9b63af13 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -756,6 +756,7 @@ struct gfar_private {
756 756
757 uint32_t msg_enable; 757 uint32_t msg_enable;
758 758
759 struct work_struct reset_task;
759 /* Network Statistics */ 760 /* Network Statistics */
760 struct gfar_extra_stats extra_stats; 761 struct gfar_extra_stats extra_stats;
761}; 762};
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 2e720f26ca83..ccd9d9058f6d 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -663,9 +663,6 @@ static int emac_configure(struct emac_instance *dev)
663 if (emac_phy_gpcs(dev->phy.mode)) 663 if (emac_phy_gpcs(dev->phy.mode))
664 emac_mii_reset_phy(&dev->phy); 664 emac_mii_reset_phy(&dev->phy);
665 665
666 /* Required for Pause packet support in EMAC */
667 dev_mc_add(ndev, default_mcast_addr, sizeof(default_mcast_addr), 1);
668
669 return 0; 666 return 0;
670} 667}
671 668
@@ -1150,6 +1147,9 @@ static int emac_open(struct net_device *ndev)
1150 } else 1147 } else
1151 netif_carrier_on(dev->ndev); 1148 netif_carrier_on(dev->ndev);
1152 1149
1150 /* Required for Pause packet support in EMAC */
1151 dev_mc_add(ndev, default_mcast_addr, sizeof(default_mcast_addr), 1);
1152
1153 emac_configure(dev); 1153 emac_configure(dev);
1154 mal_poll_add(dev->mal, &dev->commac); 1154 mal_poll_add(dev->mal, &dev->commac);
1155 mal_enable_tx_channel(dev->mal, dev->mal_tx_chan); 1155 mal_enable_tx_channel(dev->mal, dev->mal_tx_chan);
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index a03fe1fb61ca..c2d57f836088 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -904,8 +904,6 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev)
904 unsigned long data_dma_addr; 904 unsigned long data_dma_addr;
905 905
906 desc.fields.flags_len = IBMVETH_BUF_VALID | skb->len; 906 desc.fields.flags_len = IBMVETH_BUF_VALID | skb->len;
907 data_dma_addr = dma_map_single(&adapter->vdev->dev, skb->data,
908 skb->len, DMA_TO_DEVICE);
909 907
910 if (skb->ip_summed == CHECKSUM_PARTIAL && 908 if (skb->ip_summed == CHECKSUM_PARTIAL &&
911 ip_hdr(skb)->protocol != IPPROTO_TCP && skb_checksum_help(skb)) { 909 ip_hdr(skb)->protocol != IPPROTO_TCP && skb_checksum_help(skb)) {
@@ -924,6 +922,8 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev)
924 buf[1] = 0; 922 buf[1] = 0;
925 } 923 }
926 924
925 data_dma_addr = dma_map_single(&adapter->vdev->dev, skb->data,
926 skb->len, DMA_TO_DEVICE);
927 if (dma_mapping_error(&adapter->vdev->dev, data_dma_addr)) { 927 if (dma_mapping_error(&adapter->vdev->dev, data_dma_addr)) {
928 if (!firmware_has_feature(FW_FEATURE_CMO)) 928 if (!firmware_has_feature(FW_FEATURE_CMO))
929 ibmveth_error_printk("tx: unable to map xmit buffer\n"); 929 ibmveth_error_printk("tx: unable to map xmit buffer\n");
@@ -932,6 +932,7 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev)
932 desc.fields.address = adapter->bounce_buffer_dma; 932 desc.fields.address = adapter->bounce_buffer_dma;
933 tx_map_failed++; 933 tx_map_failed++;
934 used_bounce = 1; 934 used_bounce = 1;
935 wmb();
935 } else 936 } else
936 desc.fields.address = data_dma_addr; 937 desc.fields.address = data_dma_addr;
937 938
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c
index bb823acc7443..f5e2e7235fcb 100644
--- a/drivers/net/igb/e1000_82575.c
+++ b/drivers/net/igb/e1000_82575.c
@@ -87,7 +87,6 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
87 case E1000_DEV_ID_82576: 87 case E1000_DEV_ID_82576:
88 case E1000_DEV_ID_82576_FIBER: 88 case E1000_DEV_ID_82576_FIBER:
89 case E1000_DEV_ID_82576_SERDES: 89 case E1000_DEV_ID_82576_SERDES:
90 case E1000_DEV_ID_82576_QUAD_COPPER:
91 mac->type = e1000_82576; 90 mac->type = e1000_82576;
92 break; 91 break;
93 default: 92 default:
diff --git a/drivers/net/igb/e1000_hw.h b/drivers/net/igb/e1000_hw.h
index a65ccc3095c3..99504a600a80 100644
--- a/drivers/net/igb/e1000_hw.h
+++ b/drivers/net/igb/e1000_hw.h
@@ -41,7 +41,6 @@ struct e1000_hw;
41#define E1000_DEV_ID_82576 0x10C9 41#define E1000_DEV_ID_82576 0x10C9
42#define E1000_DEV_ID_82576_FIBER 0x10E6 42#define E1000_DEV_ID_82576_FIBER 0x10E6
43#define E1000_DEV_ID_82576_SERDES 0x10E7 43#define E1000_DEV_ID_82576_SERDES 0x10E7
44#define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8
45#define E1000_DEV_ID_82575EB_COPPER 0x10A7 44#define E1000_DEV_ID_82575EB_COPPER 0x10A7
46#define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9 45#define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9
47#define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6 46#define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c
index 11aee1309951..58906c984be9 100644
--- a/drivers/net/igb/igb_ethtool.c
+++ b/drivers/net/igb/igb_ethtool.c
@@ -373,13 +373,17 @@ static void igb_get_regs(struct net_device *netdev,
373 regs_buff[12] = rd32(E1000_EECD); 373 regs_buff[12] = rd32(E1000_EECD);
374 374
375 /* Interrupt */ 375 /* Interrupt */
376 regs_buff[13] = rd32(E1000_EICR); 376 /* Reading EICS for EICR because they read the
377 * same but EICS does not clear on read */
378 regs_buff[13] = rd32(E1000_EICS);
377 regs_buff[14] = rd32(E1000_EICS); 379 regs_buff[14] = rd32(E1000_EICS);
378 regs_buff[15] = rd32(E1000_EIMS); 380 regs_buff[15] = rd32(E1000_EIMS);
379 regs_buff[16] = rd32(E1000_EIMC); 381 regs_buff[16] = rd32(E1000_EIMC);
380 regs_buff[17] = rd32(E1000_EIAC); 382 regs_buff[17] = rd32(E1000_EIAC);
381 regs_buff[18] = rd32(E1000_EIAM); 383 regs_buff[18] = rd32(E1000_EIAM);
382 regs_buff[19] = rd32(E1000_ICR); 384 /* Reading ICS for ICR because they read the
385 * same but ICS does not clear on read */
386 regs_buff[19] = rd32(E1000_ICS);
383 regs_buff[20] = rd32(E1000_ICS); 387 regs_buff[20] = rd32(E1000_ICS);
384 regs_buff[21] = rd32(E1000_IMS); 388 regs_buff[21] = rd32(E1000_IMS);
385 regs_buff[22] = rd32(E1000_IMC); 389 regs_buff[22] = rd32(E1000_IMC);
@@ -1746,15 +1750,6 @@ static int igb_wol_exclusion(struct igb_adapter *adapter,
1746 /* return success for non excluded adapter ports */ 1750 /* return success for non excluded adapter ports */
1747 retval = 0; 1751 retval = 0;
1748 break; 1752 break;
1749 case E1000_DEV_ID_82576_QUAD_COPPER:
1750 /* quad port adapters only support WoL on port A */
1751 if (!(adapter->flags & IGB_FLAG_QUAD_PORT_A)) {
1752 wol->supported = 0;
1753 break;
1754 }
1755 /* return success for non excluded adapter ports */
1756 retval = 0;
1757 break;
1758 default: 1753 default:
1759 /* dual port cards only support WoL on port A from now on 1754 /* dual port cards only support WoL on port A from now on
1760 * unless it was enabled in the eeprom for port B 1755 * unless it was enabled in the eeprom for port B
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 8f66e15ec8d6..634c4c9d87be 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -61,7 +61,6 @@ static struct pci_device_id igb_pci_tbl[] = {
61 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), board_82575 }, 61 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), board_82575 },
62 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 }, 62 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 },
63 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 }, 63 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 },
64 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), board_82575 },
65 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 }, 64 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 },
66 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 }, 65 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 },
67 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 }, 66 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 },
@@ -521,7 +520,7 @@ static void igb_set_interrupt_capability(struct igb_adapter *adapter)
521 adapter->msix_entries, 520 adapter->msix_entries,
522 numvecs); 521 numvecs);
523 if (err == 0) 522 if (err == 0)
524 return; 523 goto out;
525 524
526 igb_reset_interrupt_capability(adapter); 525 igb_reset_interrupt_capability(adapter);
527 526
@@ -531,7 +530,7 @@ msi_only:
531 adapter->num_tx_queues = 1; 530 adapter->num_tx_queues = 1;
532 if (!pci_enable_msi(adapter->pdev)) 531 if (!pci_enable_msi(adapter->pdev))
533 adapter->flags |= IGB_FLAG_HAS_MSI; 532 adapter->flags |= IGB_FLAG_HAS_MSI;
534 533out:
535 /* Notify the stack of the (possibly) reduced Tx Queue count. */ 534 /* Notify the stack of the (possibly) reduced Tx Queue count. */
536 adapter->netdev->real_num_tx_queues = adapter->num_tx_queues; 535 adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
537 return; 536 return;
@@ -1217,16 +1216,6 @@ static int __devinit igb_probe(struct pci_dev *pdev,
1217 if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1) 1216 if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1)
1218 adapter->eeprom_wol = 0; 1217 adapter->eeprom_wol = 0;
1219 break; 1218 break;
1220 case E1000_DEV_ID_82576_QUAD_COPPER:
1221 /* if quad port adapter, disable WoL on all but port A */
1222 if (global_quad_port_a != 0)
1223 adapter->eeprom_wol = 0;
1224 else
1225 adapter->flags |= IGB_FLAG_QUAD_PORT_A;
1226 /* Reset for multiple quad port adapters */
1227 if (++global_quad_port_a == 4)
1228 global_quad_port_a = 0;
1229 break;
1230 } 1219 }
1231 1220
1232 /* initialize the wol settings based on the eeprom settings */ 1221 /* initialize the wol settings based on the eeprom settings */
@@ -2290,7 +2279,9 @@ static void igb_watchdog_task(struct work_struct *work)
2290 struct igb_ring *tx_ring = adapter->tx_ring; 2279 struct igb_ring *tx_ring = adapter->tx_ring;
2291 struct e1000_mac_info *mac = &adapter->hw.mac; 2280 struct e1000_mac_info *mac = &adapter->hw.mac;
2292 u32 link; 2281 u32 link;
2282 u32 eics = 0;
2293 s32 ret_val; 2283 s32 ret_val;
2284 int i;
2294 2285
2295 if ((netif_carrier_ok(netdev)) && 2286 if ((netif_carrier_ok(netdev)) &&
2296 (rd32(E1000_STATUS) & E1000_STATUS_LU)) 2287 (rd32(E1000_STATUS) & E1000_STATUS_LU))
@@ -2392,7 +2383,13 @@ link_up:
2392 } 2383 }
2393 2384
2394 /* Cause software interrupt to ensure rx ring is cleaned */ 2385 /* Cause software interrupt to ensure rx ring is cleaned */
2395 wr32(E1000_ICS, E1000_ICS_RXDMT0); 2386 if (adapter->msix_entries) {
2387 for (i = 0; i < adapter->num_rx_queues; i++)
2388 eics |= adapter->rx_ring[i].eims_value;
2389 wr32(E1000_EICS, eics);
2390 } else {
2391 wr32(E1000_ICS, E1000_ICS_RXDMT0);
2392 }
2396 2393
2397 /* Force detection of hung controller every watchdog period */ 2394 /* Force detection of hung controller every watchdog period */
2398 tx_ring->detect_tx_hung = true; 2395 tx_ring->detect_tx_hung = true;
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 34bca16d48a6..a417be7f8be5 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -1636,16 +1636,17 @@ static void ixgbe_set_multi(struct net_device *netdev)
1636 struct ixgbe_hw *hw = &adapter->hw; 1636 struct ixgbe_hw *hw = &adapter->hw;
1637 struct dev_mc_list *mc_ptr; 1637 struct dev_mc_list *mc_ptr;
1638 u8 *mta_list; 1638 u8 *mta_list;
1639 u32 fctrl; 1639 u32 fctrl, vlnctrl;
1640 int i; 1640 int i;
1641 1641
1642 /* Check for Promiscuous and All Multicast modes */ 1642 /* Check for Promiscuous and All Multicast modes */
1643 1643
1644 fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL); 1644 fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL);
1645 vlnctrl = IXGBE_READ_REG(hw, IXGBE_VLNCTRL);
1645 1646
1646 if (netdev->flags & IFF_PROMISC) { 1647 if (netdev->flags & IFF_PROMISC) {
1647 fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); 1648 fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE);
1648 fctrl &= ~IXGBE_VLNCTRL_VFE; 1649 vlnctrl &= ~IXGBE_VLNCTRL_VFE;
1649 } else { 1650 } else {
1650 if (netdev->flags & IFF_ALLMULTI) { 1651 if (netdev->flags & IFF_ALLMULTI) {
1651 fctrl |= IXGBE_FCTRL_MPE; 1652 fctrl |= IXGBE_FCTRL_MPE;
@@ -1653,10 +1654,11 @@ static void ixgbe_set_multi(struct net_device *netdev)
1653 } else { 1654 } else {
1654 fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); 1655 fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE);
1655 } 1656 }
1656 fctrl |= IXGBE_VLNCTRL_VFE; 1657 vlnctrl |= IXGBE_VLNCTRL_VFE;
1657 } 1658 }
1658 1659
1659 IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl); 1660 IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl);
1661 IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl);
1660 1662
1661 if (netdev->mc_count) { 1663 if (netdev->mc_count) {
1662 mta_list = kcalloc(netdev->mc_count, ETH_ALEN, GFP_ATOMIC); 1664 mta_list = kcalloc(netdev->mc_count, ETH_ALEN, GFP_ATOMIC);
@@ -2302,6 +2304,12 @@ static int __devinit ixgbe_set_interrupt_capability(struct ixgbe_adapter
2302 int vector, v_budget; 2304 int vector, v_budget;
2303 2305
2304 /* 2306 /*
2307 * Set the default interrupt throttle rate.
2308 */
2309 adapter->rx_eitr = (1000000 / IXGBE_DEFAULT_ITR_RX_USECS);
2310 adapter->tx_eitr = (1000000 / IXGBE_DEFAULT_ITR_TX_USECS);
2311
2312 /*
2305 * It's easy to be greedy for MSI-X vectors, but it really 2313 * It's easy to be greedy for MSI-X vectors, but it really
2306 * doesn't do us much good if we have a lot more vectors 2314 * doesn't do us much good if we have a lot more vectors
2307 * than CPU's. So let's be conservative and only ask for 2315 * than CPU's. So let's be conservative and only ask for
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 46819af3b062..0a18b9e96da1 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -55,7 +55,7 @@
55#include <asm/system.h> 55#include <asm/system.h>
56 56
57static char mv643xx_eth_driver_name[] = "mv643xx_eth"; 57static char mv643xx_eth_driver_name[] = "mv643xx_eth";
58static char mv643xx_eth_driver_version[] = "1.2"; 58static char mv643xx_eth_driver_version[] = "1.3";
59 59
60#define MV643XX_ETH_CHECKSUM_OFFLOAD_TX 60#define MV643XX_ETH_CHECKSUM_OFFLOAD_TX
61#define MV643XX_ETH_NAPI 61#define MV643XX_ETH_NAPI
@@ -474,11 +474,19 @@ static void rxq_refill(struct rx_queue *rxq)
474 /* 474 /*
475 * Reserve 2+14 bytes for an ethernet header (the 475 * Reserve 2+14 bytes for an ethernet header (the
476 * hardware automatically prepends 2 bytes of dummy 476 * hardware automatically prepends 2 bytes of dummy
477 * data to each received packet), 4 bytes for a VLAN 477 * data to each received packet), 16 bytes for up to
478 * header, and 4 bytes for the trailing FCS -- 24 478 * four VLAN tags, and 4 bytes for the trailing FCS
479 * bytes total. 479 * -- 36 bytes total.
480 */ 480 */
481 skb_size = mp->dev->mtu + 24; 481 skb_size = mp->dev->mtu + 36;
482
483 /*
484 * Make sure that the skb size is a multiple of 8
485 * bytes, as the lower three bits of the receive
486 * descriptor's buffer size field are ignored by
487 * the hardware.
488 */
489 skb_size = (skb_size + 7) & ~7;
482 490
483 skb = dev_alloc_skb(skb_size + dma_get_cache_alignment() - 1); 491 skb = dev_alloc_skb(skb_size + dma_get_cache_alignment() - 1);
484 if (skb == NULL) 492 if (skb == NULL)
@@ -509,10 +517,8 @@ static void rxq_refill(struct rx_queue *rxq)
509 skb_reserve(skb, 2); 517 skb_reserve(skb, 2);
510 } 518 }
511 519
512 if (rxq->rx_desc_count != rxq->rx_ring_size) { 520 if (rxq->rx_desc_count != rxq->rx_ring_size)
513 rxq->rx_oom.expires = jiffies + (HZ / 10); 521 mod_timer(&rxq->rx_oom, jiffies + (HZ / 10));
514 add_timer(&rxq->rx_oom);
515 }
516 522
517 spin_unlock_irqrestore(&mp->lock, flags); 523 spin_unlock_irqrestore(&mp->lock, flags);
518} 524}
@@ -529,7 +535,7 @@ static int rxq_process(struct rx_queue *rxq, int budget)
529 int rx; 535 int rx;
530 536
531 rx = 0; 537 rx = 0;
532 while (rx < budget) { 538 while (rx < budget && rxq->rx_desc_count) {
533 struct rx_desc *rx_desc; 539 struct rx_desc *rx_desc;
534 unsigned int cmd_sts; 540 unsigned int cmd_sts;
535 struct sk_buff *skb; 541 struct sk_buff *skb;
@@ -554,7 +560,7 @@ static int rxq_process(struct rx_queue *rxq, int budget)
554 spin_unlock_irqrestore(&mp->lock, flags); 560 spin_unlock_irqrestore(&mp->lock, flags);
555 561
556 dma_unmap_single(NULL, rx_desc->buf_ptr + 2, 562 dma_unmap_single(NULL, rx_desc->buf_ptr + 2,
557 mp->dev->mtu + 24, DMA_FROM_DEVICE); 563 rx_desc->buf_size, DMA_FROM_DEVICE);
558 rxq->rx_desc_count--; 564 rxq->rx_desc_count--;
559 rx++; 565 rx++;
560 566
@@ -636,9 +642,9 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
636 txq_reclaim(mp->txq + i, 0); 642 txq_reclaim(mp->txq + i, 0);
637 643
638 if (netif_carrier_ok(mp->dev)) { 644 if (netif_carrier_ok(mp->dev)) {
639 spin_lock(&mp->lock); 645 spin_lock_irq(&mp->lock);
640 __txq_maybe_wake(mp->txq + mp->txq_primary); 646 __txq_maybe_wake(mp->txq + mp->txq_primary);
641 spin_unlock(&mp->lock); 647 spin_unlock_irq(&mp->lock);
642 } 648 }
643 } 649 }
644#endif 650#endif
@@ -650,8 +656,6 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
650 656
651 if (rx < budget) { 657 if (rx < budget) {
652 netif_rx_complete(mp->dev, napi); 658 netif_rx_complete(mp->dev, napi);
653 wrl(mp, INT_CAUSE(mp->port_num), 0);
654 wrl(mp, INT_CAUSE_EXT(mp->port_num), 0);
655 wrl(mp, INT_MASK(mp->port_num), INT_TX_END | INT_RX | INT_EXT); 659 wrl(mp, INT_MASK(mp->port_num), INT_TX_END | INT_RX | INT_EXT);
656 } 660 }
657 661
@@ -1796,6 +1800,7 @@ static irqreturn_t mv643xx_eth_irq(int irq, void *dev_id)
1796 */ 1800 */
1797#ifdef MV643XX_ETH_NAPI 1801#ifdef MV643XX_ETH_NAPI
1798 if (int_cause & INT_RX) { 1802 if (int_cause & INT_RX) {
1803 wrl(mp, INT_CAUSE(mp->port_num), ~(int_cause & INT_RX));
1799 wrl(mp, INT_MASK(mp->port_num), 0x00000000); 1804 wrl(mp, INT_MASK(mp->port_num), 0x00000000);
1800 rdl(mp, INT_MASK(mp->port_num)); 1805 rdl(mp, INT_MASK(mp->port_num));
1801 1806
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 54cd89cb0838..d6524db321af 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -75,7 +75,7 @@
75#include "myri10ge_mcp.h" 75#include "myri10ge_mcp.h"
76#include "myri10ge_mcp_gen_header.h" 76#include "myri10ge_mcp_gen_header.h"
77 77
78#define MYRI10GE_VERSION_STR "1.3.99-1.347" 78#define MYRI10GE_VERSION_STR "1.4.3-1.358"
79 79
80MODULE_DESCRIPTION("Myricom 10G driver (10GbE)"); 80MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
81MODULE_AUTHOR("Maintainer: help@myri.com"); 81MODULE_AUTHOR("Maintainer: help@myri.com");
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 32bb47adbe39..008fd6618a5f 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -359,16 +359,6 @@ static void netxen_pcie_strap_init(struct netxen_adapter *adapter)
359 int i, pos; 359 int i, pos;
360 struct pci_dev *pdev; 360 struct pci_dev *pdev;
361 361
362 pdev = pci_get_device(0x1166, 0x0140, NULL);
363 if (pdev) {
364 pci_dev_put(pdev);
365 adapter->hw_read_wx(adapter,
366 NETXEN_PCIE_REG(PCIE_TGT_SPLIT_CHICKEN), &chicken, 4);
367 chicken |= 0x4000;
368 adapter->hw_write_wx(adapter,
369 NETXEN_PCIE_REG(PCIE_TGT_SPLIT_CHICKEN), &chicken, 4);
370 }
371
372 pdev = adapter->pdev; 362 pdev = adapter->pdev;
373 363
374 adapter->hw_read_wx(adapter, 364 adapter->hw_read_wx(adapter,
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index 3f682d49a4e6..52bf11b73c6e 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -784,6 +784,7 @@ static struct pcmcia_device_id axnet_ids[] = {
784 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEther PCC-TXD", 0x5261440f, 0x436768c5), 784 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEther PCC-TXD", 0x5261440f, 0x436768c5),
785 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEtherII PCC-TXD", 0x5261440f, 0x730df72e), 785 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEtherII PCC-TXD", 0x5261440f, 0x730df72e),
786 PCMCIA_DEVICE_PROD_ID12("Dynalink", "L100C16", 0x55632fd5, 0x66bc2a90), 786 PCMCIA_DEVICE_PROD_ID12("Dynalink", "L100C16", 0x55632fd5, 0x66bc2a90),
787 PCMCIA_DEVICE_PROD_ID12("IO DATA", "ETXPCM", 0x547e66dc, 0x233adac2),
787 PCMCIA_DEVICE_PROD_ID12("Linksys", "EtherFast 10/100 PC Card (PCMPC100 V3)", 0x0733cc81, 0x232019a8), 788 PCMCIA_DEVICE_PROD_ID12("Linksys", "EtherFast 10/100 PC Card (PCMPC100 V3)", 0x0733cc81, 0x232019a8),
788 PCMCIA_DEVICE_PROD_ID12("MELCO", "LPC3-TX", 0x481e0094, 0xf91af609), 789 PCMCIA_DEVICE_PROD_ID12("MELCO", "LPC3-TX", 0x481e0094, 0xf91af609),
789 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "100BASE", 0x281f1c5d, 0x7c2add04), 790 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "100BASE", 0x281f1c5d, 0x7c2add04),
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
index 2d4c4ad89b8d..ebc1ae6bcbe5 100644
--- a/drivers/net/pcmcia/pcnet_cs.c
+++ b/drivers/net/pcmcia/pcnet_cs.c
@@ -1626,6 +1626,7 @@ static struct pcmcia_device_id pcnet_ids[] = {
1626 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-TD", 0x5261440f, 0xc49bd73d), 1626 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-TD", 0x5261440f, 0xc49bd73d),
1627 PCMCIA_DEVICE_PROD_ID12("Corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d), 1627 PCMCIA_DEVICE_PROD_ID12("Corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d),
1628 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether PCC-T", 0x5261440f, 0x6705fcaa), 1628 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether PCC-T", 0x5261440f, 0x6705fcaa),
1629 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether PCC-TD", 0x5261440f, 0x47d5ca83),
1629 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FastEther PCC-TX", 0x5261440f, 0x485e85d9), 1630 PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FastEther PCC-TX", 0x5261440f, 0x485e85d9),
1630 PCMCIA_DEVICE_PROD_ID12("Corega,K.K.", "Ethernet LAN Card", 0x110d26d9, 0x9fd2f0a2), 1631 PCMCIA_DEVICE_PROD_ID12("Corega,K.K.", "Ethernet LAN Card", 0x110d26d9, 0x9fd2f0a2),
1631 PCMCIA_DEVICE_PROD_ID12("corega,K.K.", "Ethernet LAN Card", 0x9791a90e, 0x9fd2f0a2), 1632 PCMCIA_DEVICE_PROD_ID12("corega,K.K.", "Ethernet LAN Card", 0x9791a90e, 0x9fd2f0a2),
@@ -1737,7 +1738,6 @@ static struct pcmcia_device_id pcnet_ids[] = {
1737 PCMCIA_DEVICE_PROD_ID1("CyQ've 10 Base-T LAN CARD", 0x94faf360), 1738 PCMCIA_DEVICE_PROD_ID1("CyQ've 10 Base-T LAN CARD", 0x94faf360),
1738 PCMCIA_DEVICE_PROD_ID1("EP-210 PCMCIA LAN CARD.", 0x8850b4de), 1739 PCMCIA_DEVICE_PROD_ID1("EP-210 PCMCIA LAN CARD.", 0x8850b4de),
1739 PCMCIA_DEVICE_PROD_ID1("ETHER-C16", 0x06a8514f), 1740 PCMCIA_DEVICE_PROD_ID1("ETHER-C16", 0x06a8514f),
1740 PCMCIA_DEVICE_PROD_ID1("IC-CARD", 0x60cb09a6),
1741 PCMCIA_DEVICE_PROD_ID1("NE2000 Compatible", 0x75b8ad5a), 1741 PCMCIA_DEVICE_PROD_ID1("NE2000 Compatible", 0x75b8ad5a),
1742 PCMCIA_DEVICE_PROD_ID2("EN-6200P2", 0xa996d078), 1742 PCMCIA_DEVICE_PROD_ID2("EN-6200P2", 0xa996d078),
1743 /* too generic! */ 1743 /* too generic! */
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index a3e3895e5032..0f6f9747d255 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2792,7 +2792,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
2792 pkt_size, PCI_DMA_FROMDEVICE); 2792 pkt_size, PCI_DMA_FROMDEVICE);
2793 rtl8169_mark_to_asic(desc, tp->rx_buf_sz); 2793 rtl8169_mark_to_asic(desc, tp->rx_buf_sz);
2794 } else { 2794 } else {
2795 pci_unmap_single(pdev, addr, pkt_size, 2795 pci_unmap_single(pdev, addr, tp->rx_buf_sz,
2796 PCI_DMA_FROMDEVICE); 2796 PCI_DMA_FROMDEVICE);
2797 tp->Rx_skbuff[entry] = NULL; 2797 tp->Rx_skbuff[entry] = NULL;
2798 } 2798 }
diff --git a/drivers/net/skfp/ess.c b/drivers/net/skfp/ess.c
index 889f98724610..a85efcfd9d0e 100644
--- a/drivers/net/skfp/ess.c
+++ b/drivers/net/skfp/ess.c
@@ -510,7 +510,7 @@ static void ess_send_response(struct s_smc *smc, struct smt_header *sm,
510 chg->path.para.p_type = SMT_P320B ; 510 chg->path.para.p_type = SMT_P320B ;
511 chg->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ; 511 chg->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ;
512 chg->path.mib_index = SBAPATHINDEX ; 512 chg->path.mib_index = SBAPATHINDEX ;
513 chg->path.path_pad = (u_short)NULL ; 513 chg->path.path_pad = 0;
514 chg->path.path_index = PRIMARY_RING ; 514 chg->path.path_index = PRIMARY_RING ;
515 515
516 /* set P320F */ 516 /* set P320F */
@@ -606,7 +606,7 @@ static void ess_send_alc_req(struct s_smc *smc)
606 req->path.para.p_type = SMT_P320B ; 606 req->path.para.p_type = SMT_P320B ;
607 req->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ; 607 req->path.para.p_len = sizeof(struct smt_p_320b) - PARA_LEN ;
608 req->path.mib_index = SBAPATHINDEX ; 608 req->path.mib_index = SBAPATHINDEX ;
609 req->path.path_pad = (u_short)NULL ; 609 req->path.path_pad = 0;
610 req->path.path_index = PRIMARY_RING ; 610 req->path.path_index = PRIMARY_RING ;
611 611
612 /* set P0017 */ 612 /* set P0017 */
@@ -636,7 +636,7 @@ static void ess_send_alc_req(struct s_smc *smc)
636 /* set P19 */ 636 /* set P19 */
637 req->a_addr.para.p_type = SMT_P0019 ; 637 req->a_addr.para.p_type = SMT_P0019 ;
638 req->a_addr.para.p_len = sizeof(struct smt_p_0019) - PARA_LEN ; 638 req->a_addr.para.p_len = sizeof(struct smt_p_0019) - PARA_LEN ;
639 req->a_addr.sba_pad = (u_short)NULL ; 639 req->a_addr.sba_pad = 0;
640 req->a_addr.alloc_addr = null_addr ; 640 req->a_addr.alloc_addr = null_addr ;
641 641
642 /* set P1A */ 642 /* set P1A */
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 2040965d7724..e332a518efe8 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -1520,7 +1520,9 @@ smc_open(struct net_device *dev)
1520 /* Setup the default Register Modes */ 1520 /* Setup the default Register Modes */
1521 lp->tcr_cur_mode = TCR_DEFAULT; 1521 lp->tcr_cur_mode = TCR_DEFAULT;
1522 lp->rcr_cur_mode = RCR_DEFAULT; 1522 lp->rcr_cur_mode = RCR_DEFAULT;
1523 lp->rpc_cur_mode = RPC_DEFAULT; 1523 lp->rpc_cur_mode = RPC_DEFAULT |
1524 lp->cfg.leda << RPC_LSXA_SHFT |
1525 lp->cfg.ledb << RPC_LSXB_SHFT;
1524 1526
1525 /* 1527 /*
1526 * If we are not using a MII interface, we need to 1528 * If we are not using a MII interface, we need to
@@ -2157,6 +2159,11 @@ static int smc_drv_probe(struct platform_device *pdev)
2157 lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0; 2159 lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0;
2158 } 2160 }
2159 2161
2162 if (!lp->cfg.leda && !lp->cfg.ledb) {
2163 lp->cfg.leda = RPC_LSA_DEFAULT;
2164 lp->cfg.ledb = RPC_LSB_DEFAULT;
2165 }
2166
2160 ndev->dma = (unsigned char)-1; 2167 ndev->dma = (unsigned char)-1;
2161 2168
2162 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs"); 2169 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
@@ -2255,7 +2262,7 @@ static int smc_drv_remove(struct platform_device *pdev)
2255 2262
2256 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs"); 2263 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
2257 if (!res) 2264 if (!res)
2258 platform_get_resource(pdev, IORESOURCE_MEM, 0); 2265 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
2259 release_mem_region(res->start, SMC_IO_EXTENT); 2266 release_mem_region(res->start, SMC_IO_EXTENT);
2260 2267
2261 free_netdev(ndev); 2268 free_netdev(ndev);
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index 997e7f1d5c6e..160873f0a817 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -43,7 +43,8 @@
43#if defined(CONFIG_ARCH_LUBBOCK) ||\ 43#if defined(CONFIG_ARCH_LUBBOCK) ||\
44 defined(CONFIG_MACH_MAINSTONE) ||\ 44 defined(CONFIG_MACH_MAINSTONE) ||\
45 defined(CONFIG_MACH_ZYLONITE) ||\ 45 defined(CONFIG_MACH_ZYLONITE) ||\
46 defined(CONFIG_MACH_LITTLETON) 46 defined(CONFIG_MACH_LITTLETON) ||\
47 defined(CONFIG_ARCH_VIPER)
47 48
48#include <asm/mach-types.h> 49#include <asm/mach-types.h>
49 50
@@ -778,14 +779,6 @@ smc_pxa_dma_irq(int dma, void *dummy)
778#define RPC_ANEG 0x0800 // When 1 PHY is in Auto-Negotiate Mode 779#define RPC_ANEG 0x0800 // When 1 PHY is in Auto-Negotiate Mode
779#define RPC_LSXA_SHFT 5 // Bits to shift LS2A,LS1A,LS0A to lsb 780#define RPC_LSXA_SHFT 5 // Bits to shift LS2A,LS1A,LS0A to lsb
780#define RPC_LSXB_SHFT 2 // Bits to get LS2B,LS1B,LS0B to lsb 781#define RPC_LSXB_SHFT 2 // Bits to get LS2B,LS1B,LS0B to lsb
781#define RPC_LED_100_10 (0x00) // LED = 100Mbps OR's with 10Mbps link detect
782#define RPC_LED_RES (0x01) // LED = Reserved
783#define RPC_LED_10 (0x02) // LED = 10Mbps link detect
784#define RPC_LED_FD (0x03) // LED = Full Duplex Mode
785#define RPC_LED_TX_RX (0x04) // LED = TX or RX packet occurred
786#define RPC_LED_100 (0x05) // LED = 100Mbps link dectect
787#define RPC_LED_TX (0x06) // LED = TX packet occurred
788#define RPC_LED_RX (0x07) // LED = RX packet occurred
789 782
790#ifndef RPC_LSA_DEFAULT 783#ifndef RPC_LSA_DEFAULT
791#define RPC_LSA_DEFAULT RPC_LED_100 784#define RPC_LSA_DEFAULT RPC_LED_100
@@ -794,7 +787,7 @@ smc_pxa_dma_irq(int dma, void *dummy)
794#define RPC_LSB_DEFAULT RPC_LED_FD 787#define RPC_LSB_DEFAULT RPC_LED_FD
795#endif 788#endif
796 789
797#define RPC_DEFAULT (RPC_ANEG | (RPC_LSA_DEFAULT << RPC_LSXA_SHFT) | (RPC_LSB_DEFAULT << RPC_LSXB_SHFT) | RPC_SPEED | RPC_DPLX) 790#define RPC_DEFAULT (RPC_ANEG | RPC_SPEED | RPC_DPLX)
798 791
799 792
800/* Bank 0 0x0C is reserved */ 793/* Bank 0 0x0C is reserved */
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 1b7cac77159e..6e42b5a8c22b 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -397,7 +397,7 @@ static const struct usb_device_id hso_ids[] = {
397 {default_port_device(0x0af0, 0xc031)}, /* Icon-Edge */ 397 {default_port_device(0x0af0, 0xc031)}, /* Icon-Edge */
398 {icon321_port_device(0x0af0, 0xd013)}, /* Module HSxPA */ 398 {icon321_port_device(0x0af0, 0xd013)}, /* Module HSxPA */
399 {icon321_port_device(0x0af0, 0xd031)}, /* Icon-321 */ 399 {icon321_port_device(0x0af0, 0xd031)}, /* Icon-321 */
400 {default_port_device(0x0af0, 0xd033)}, /* Icon-322 */ 400 {icon321_port_device(0x0af0, 0xd033)}, /* Icon-322 */
401 {USB_DEVICE(0x0af0, 0x7301)}, /* GE40x */ 401 {USB_DEVICE(0x0af0, 0x7301)}, /* GE40x */
402 {USB_DEVICE(0x0af0, 0x7361)}, /* GE40x */ 402 {USB_DEVICE(0x0af0, 0x7361)}, /* GE40x */
403 {USB_DEVICE(0x0af0, 0x7401)}, /* GI 0401 */ 403 {USB_DEVICE(0x0af0, 0x7401)}, /* GI 0401 */
@@ -2613,6 +2613,7 @@ static int hso_resume(struct usb_interface *iface)
2613 "Transmitting lingering data\n"); 2613 "Transmitting lingering data\n");
2614 hso_net_start_xmit(hso_net->skb_tx_buf, 2614 hso_net_start_xmit(hso_net->skb_tx_buf,
2615 hso_net->net); 2615 hso_net->net);
2616 hso_net->skb_tx_buf = NULL;
2616 } 2617 }
2617 result = hso_start_net_device(network_table[i]); 2618 result = hso_start_net_device(network_table[i]);
2618 if (result) 2619 if (result)
diff --git a/drivers/net/usb/mcs7830.c b/drivers/net/usb/mcs7830.c
index c3d119f997f5..ca9d00c1194e 100644
--- a/drivers/net/usb/mcs7830.c
+++ b/drivers/net/usb/mcs7830.c
@@ -46,6 +46,10 @@
46 46
47#define MCS7830_VENDOR_ID 0x9710 47#define MCS7830_VENDOR_ID 0x9710
48#define MCS7830_PRODUCT_ID 0x7830 48#define MCS7830_PRODUCT_ID 0x7830
49#define MCS7730_PRODUCT_ID 0x7730
50
51#define SITECOM_VENDOR_ID 0x0DF6
52#define LN_030_PRODUCT_ID 0x0021
49 53
50#define MCS7830_MII_ADVERTISE (ADVERTISE_PAUSE_CAP | ADVERTISE_100FULL | \ 54#define MCS7830_MII_ADVERTISE (ADVERTISE_PAUSE_CAP | ADVERTISE_100FULL | \
51 ADVERTISE_100HALF | ADVERTISE_10FULL | \ 55 ADVERTISE_100HALF | ADVERTISE_10FULL | \
@@ -442,6 +446,29 @@ static struct ethtool_ops mcs7830_ethtool_ops = {
442 .nway_reset = usbnet_nway_reset, 446 .nway_reset = usbnet_nway_reset,
443}; 447};
444 448
449static int mcs7830_set_mac_address(struct net_device *netdev, void *p)
450{
451 int ret;
452 struct usbnet *dev = netdev_priv(netdev);
453 struct sockaddr *addr = p;
454
455 if (netif_running(netdev))
456 return -EBUSY;
457
458 if (!is_valid_ether_addr(addr->sa_data))
459 return -EINVAL;
460
461 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
462
463 ret = mcs7830_set_reg(dev, HIF_REG_ETHERNET_ADDR, ETH_ALEN,
464 netdev->dev_addr);
465
466 if (ret < 0)
467 return ret;
468
469 return 0;
470}
471
445static int mcs7830_bind(struct usbnet *dev, struct usb_interface *udev) 472static int mcs7830_bind(struct usbnet *dev, struct usb_interface *udev)
446{ 473{
447 struct net_device *net = dev->net; 474 struct net_device *net = dev->net;
@@ -455,6 +482,7 @@ static int mcs7830_bind(struct usbnet *dev, struct usb_interface *udev)
455 net->ethtool_ops = &mcs7830_ethtool_ops; 482 net->ethtool_ops = &mcs7830_ethtool_ops;
456 net->set_multicast_list = mcs7830_set_multicast; 483 net->set_multicast_list = mcs7830_set_multicast;
457 mcs7830_set_multicast(net); 484 mcs7830_set_multicast(net);
485 net->set_mac_address = mcs7830_set_mac_address;
458 486
459 /* reserve space for the status byte on rx */ 487 /* reserve space for the status byte on rx */
460 dev->rx_urb_size = ETH_FRAME_LEN + 1; 488 dev->rx_urb_size = ETH_FRAME_LEN + 1;
@@ -491,7 +519,16 @@ static int mcs7830_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
491} 519}
492 520
493static const struct driver_info moschip_info = { 521static const struct driver_info moschip_info = {
494 .description = "MOSCHIP 7830 usb-NET adapter", 522 .description = "MOSCHIP 7830/7730 usb-NET adapter",
523 .bind = mcs7830_bind,
524 .rx_fixup = mcs7830_rx_fixup,
525 .flags = FLAG_ETHER,
526 .in = 1,
527 .out = 2,
528};
529
530static const struct driver_info sitecom_info = {
531 .description = "Sitecom LN-30 usb-NET adapter",
495 .bind = mcs7830_bind, 532 .bind = mcs7830_bind,
496 .rx_fixup = mcs7830_rx_fixup, 533 .rx_fixup = mcs7830_rx_fixup,
497 .flags = FLAG_ETHER, 534 .flags = FLAG_ETHER,
@@ -504,6 +541,14 @@ static const struct usb_device_id products[] = {
504 USB_DEVICE(MCS7830_VENDOR_ID, MCS7830_PRODUCT_ID), 541 USB_DEVICE(MCS7830_VENDOR_ID, MCS7830_PRODUCT_ID),
505 .driver_info = (unsigned long) &moschip_info, 542 .driver_info = (unsigned long) &moschip_info,
506 }, 543 },
544 {
545 USB_DEVICE(MCS7830_VENDOR_ID, MCS7730_PRODUCT_ID),
546 .driver_info = (unsigned long) &moschip_info,
547 },
548 {
549 USB_DEVICE(SITECOM_VENDOR_ID, LN_030_PRODUCT_ID),
550 .driver_info = (unsigned long) &sitecom_info,
551 },
507 {}, 552 {},
508}; 553};
509MODULE_DEVICE_TABLE(usb, products); 554MODULE_DEVICE_TABLE(usb, products);
diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index a84ba487c713..8c19307e5040 100644
--- a/drivers/net/usb/pegasus.c
+++ b/drivers/net/usb/pegasus.c
@@ -117,7 +117,7 @@ static void ctrl_callback(struct urb *urb)
117 case -ENOENT: 117 case -ENOENT:
118 break; 118 break;
119 default: 119 default:
120 if (netif_msg_drv(pegasus)) 120 if (netif_msg_drv(pegasus) && printk_ratelimit())
121 dev_dbg(&pegasus->intf->dev, "%s, status %d\n", 121 dev_dbg(&pegasus->intf->dev, "%s, status %d\n",
122 __FUNCTION__, urb->status); 122 __FUNCTION__, urb->status);
123 } 123 }
@@ -166,7 +166,7 @@ static int get_registers(pegasus_t * pegasus, __u16 indx, __u16 size,
166 set_current_state(TASK_RUNNING); 166 set_current_state(TASK_RUNNING);
167 if (ret == -ENODEV) 167 if (ret == -ENODEV)
168 netif_device_detach(pegasus->net); 168 netif_device_detach(pegasus->net);
169 if (netif_msg_drv(pegasus)) 169 if (netif_msg_drv(pegasus) && printk_ratelimit())
170 dev_err(&pegasus->intf->dev, "%s, status %d\n", 170 dev_err(&pegasus->intf->dev, "%s, status %d\n",
171 __FUNCTION__, ret); 171 __FUNCTION__, ret);
172 goto out; 172 goto out;
@@ -275,7 +275,7 @@ static int set_register(pegasus_t * pegasus, __u16 indx, __u8 data)
275 if ((ret = usb_submit_urb(pegasus->ctrl_urb, GFP_ATOMIC))) { 275 if ((ret = usb_submit_urb(pegasus->ctrl_urb, GFP_ATOMIC))) {
276 if (ret == -ENODEV) 276 if (ret == -ENODEV)
277 netif_device_detach(pegasus->net); 277 netif_device_detach(pegasus->net);
278 if (netif_msg_drv(pegasus)) 278 if (netif_msg_drv(pegasus) && printk_ratelimit())
279 dev_err(&pegasus->intf->dev, "%s, status %d\n", 279 dev_err(&pegasus->intf->dev, "%s, status %d\n",
280 __FUNCTION__, ret); 280 __FUNCTION__, ret);
281 goto out; 281 goto out;
@@ -1209,8 +1209,7 @@ static void pegasus_set_multicast(struct net_device *net)
1209 pegasus->eth_regs[EthCtrl2] |= RX_PROMISCUOUS; 1209 pegasus->eth_regs[EthCtrl2] |= RX_PROMISCUOUS;
1210 if (netif_msg_link(pegasus)) 1210 if (netif_msg_link(pegasus))
1211 pr_info("%s: Promiscuous mode enabled.\n", net->name); 1211 pr_info("%s: Promiscuous mode enabled.\n", net->name);
1212 } else if (net->mc_count || 1212 } else if (net->mc_count || (net->flags & IFF_ALLMULTI)) {
1213 (net->flags & IFF_ALLMULTI)) {
1214 pegasus->eth_regs[EthCtrl0] |= RX_MULTICAST; 1213 pegasus->eth_regs[EthCtrl0] |= RX_MULTICAST;
1215 pegasus->eth_regs[EthCtrl2] &= ~RX_PROMISCUOUS; 1214 pegasus->eth_regs[EthCtrl2] &= ~RX_PROMISCUOUS;
1216 if (netif_msg_link(pegasus)) 1215 if (netif_msg_link(pegasus))
@@ -1220,6 +1219,8 @@ static void pegasus_set_multicast(struct net_device *net)
1220 pegasus->eth_regs[EthCtrl2] &= ~RX_PROMISCUOUS; 1219 pegasus->eth_regs[EthCtrl2] &= ~RX_PROMISCUOUS;
1221 } 1220 }
1222 1221
1222 pegasus->ctrl_urb->status = 0;
1223
1223 pegasus->flags |= ETH_REGS_CHANGE; 1224 pegasus->flags |= ETH_REGS_CHANGE;
1224 ctrl_callback(pegasus->ctrl_urb); 1225 ctrl_callback(pegasus->ctrl_urb);
1225} 1226}
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index e59255a155a9..6596cd0742b9 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -1317,7 +1317,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
1317 break; 1317 break;
1318 1318
1319 case SIOCDEVRESINSTATS : 1319 case SIOCDEVRESINSTATS :
1320 if( current->euid != 0 ) /* root only */ 1320 if (!capable(CAP_NET_ADMIN))
1321 return -EPERM; 1321 return -EPERM;
1322 memset( &nl->in_stats, 0, sizeof(struct sbni_in_stats) ); 1322 memset( &nl->in_stats, 0, sizeof(struct sbni_in_stats) );
1323 break; 1323 break;
@@ -1334,7 +1334,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
1334 break; 1334 break;
1335 1335
1336 case SIOCDEVSHWSTATE : 1336 case SIOCDEVSHWSTATE :
1337 if( current->euid != 0 ) /* root only */ 1337 if (!capable(CAP_NET_ADMIN))
1338 return -EPERM; 1338 return -EPERM;
1339 1339
1340 spin_lock( &nl->lock ); 1340 spin_lock( &nl->lock );
@@ -1355,7 +1355,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
1355#ifdef CONFIG_SBNI_MULTILINE 1355#ifdef CONFIG_SBNI_MULTILINE
1356 1356
1357 case SIOCDEVENSLAVE : 1357 case SIOCDEVENSLAVE :
1358 if( current->euid != 0 ) /* root only */ 1358 if (!capable(CAP_NET_ADMIN))
1359 return -EPERM; 1359 return -EPERM;
1360 1360
1361 if (copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name )) 1361 if (copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name ))
@@ -1370,7 +1370,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
1370 return enslave( dev, slave_dev ); 1370 return enslave( dev, slave_dev );
1371 1371
1372 case SIOCDEVEMANSIPATE : 1372 case SIOCDEVEMANSIPATE :
1373 if( current->euid != 0 ) /* root only */ 1373 if (!capable(CAP_NET_ADMIN))
1374 return -EPERM; 1374 return -EPERM;
1375 1375
1376 return emancipate( dev ); 1376 return emancipate( dev );
diff --git a/drivers/net/wd.c b/drivers/net/wd.c
index 6f9aa1643743..fa14255282af 100644
--- a/drivers/net/wd.c
+++ b/drivers/net/wd.c
@@ -337,7 +337,7 @@ static int __init wd_probe1(struct net_device *dev, int ioaddr)
337#ifdef CONFIG_NET_POLL_CONTROLLER 337#ifdef CONFIG_NET_POLL_CONTROLLER
338 dev->poll_controller = ei_poll; 338 dev->poll_controller = ei_poll;
339#endif 339#endif
340 NS8390p_init(dev, 0); 340 NS8390_init(dev, 0);
341 341
342#if 1 342#if 1
343 /* Enable interrupt generation on softconfig cards -- M.U */ 343 /* Enable interrupt generation on softconfig cards -- M.U */
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index b20a45aa8680..0676c6d84383 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -251,7 +251,7 @@ static inline void ath5k_txbuf_free(struct ath5k_softc *sc,
251 return; 251 return;
252 pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len, 252 pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len,
253 PCI_DMA_TODEVICE); 253 PCI_DMA_TODEVICE);
254 dev_kfree_skb(bf->skb); 254 dev_kfree_skb_any(bf->skb);
255 bf->skb = NULL; 255 bf->skb = NULL;
256} 256}
257 257
@@ -466,6 +466,7 @@ ath5k_pci_probe(struct pci_dev *pdev,
466 mutex_init(&sc->lock); 466 mutex_init(&sc->lock);
467 spin_lock_init(&sc->rxbuflock); 467 spin_lock_init(&sc->rxbuflock);
468 spin_lock_init(&sc->txbuflock); 468 spin_lock_init(&sc->txbuflock);
469 spin_lock_init(&sc->block);
469 470
470 /* Set private data */ 471 /* Set private data */
471 pci_set_drvdata(pdev, hw); 472 pci_set_drvdata(pdev, hw);
@@ -2179,8 +2180,11 @@ ath5k_beacon_config(struct ath5k_softc *sc)
2179 2180
2180 sc->imask |= AR5K_INT_SWBA; 2181 sc->imask |= AR5K_INT_SWBA;
2181 2182
2182 if (ath5k_hw_hasveol(ah)) 2183 if (ath5k_hw_hasveol(ah)) {
2184 spin_lock(&sc->block);
2183 ath5k_beacon_send(sc); 2185 ath5k_beacon_send(sc);
2186 spin_unlock(&sc->block);
2187 }
2184 } 2188 }
2185 /* TODO else AP */ 2189 /* TODO else AP */
2186 2190
@@ -2403,7 +2407,9 @@ ath5k_intr(int irq, void *dev_id)
2403 TSF_TO_TU(tsf), 2407 TSF_TO_TU(tsf),
2404 (unsigned long long) tsf); 2408 (unsigned long long) tsf);
2405 } else { 2409 } else {
2410 spin_lock(&sc->block);
2406 ath5k_beacon_send(sc); 2411 ath5k_beacon_send(sc);
2412 spin_unlock(&sc->block);
2407 } 2413 }
2408 } 2414 }
2409 if (status & AR5K_INT_RXEOL) { 2415 if (status & AR5K_INT_RXEOL) {
@@ -2745,6 +2751,11 @@ static int ath5k_add_interface(struct ieee80211_hw *hw,
2745 ret = -EOPNOTSUPP; 2751 ret = -EOPNOTSUPP;
2746 goto end; 2752 goto end;
2747 } 2753 }
2754
2755 /* Set to a reasonable value. Note that this will
2756 * be set to mac80211's value at ath5k_config(). */
2757 sc->bintval = 1000;
2758
2748 ret = 0; 2759 ret = 0;
2749end: 2760end:
2750 mutex_unlock(&sc->lock); 2761 mutex_unlock(&sc->lock);
@@ -2789,9 +2800,6 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2789 struct ath5k_hw *ah = sc->ah; 2800 struct ath5k_hw *ah = sc->ah;
2790 int ret; 2801 int ret;
2791 2802
2792 /* Set to a reasonable value. Note that this will
2793 * be set to mac80211's value at ath5k_config(). */
2794 sc->bintval = 1000;
2795 mutex_lock(&sc->lock); 2803 mutex_lock(&sc->lock);
2796 if (sc->vif != vif) { 2804 if (sc->vif != vif) {
2797 ret = -EIO; 2805 ret = -EIO;
@@ -3050,6 +3058,7 @@ static int
3050ath5k_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb) 3058ath5k_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
3051{ 3059{
3052 struct ath5k_softc *sc = hw->priv; 3060 struct ath5k_softc *sc = hw->priv;
3061 unsigned long flags;
3053 int ret; 3062 int ret;
3054 3063
3055 ath5k_debug_dump_skb(sc, skb, "BC ", 1); 3064 ath5k_debug_dump_skb(sc, skb, "BC ", 1);
@@ -3059,12 +3068,14 @@ ath5k_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb)
3059 goto end; 3068 goto end;
3060 } 3069 }
3061 3070
3071 spin_lock_irqsave(&sc->block, flags);
3062 ath5k_txbuf_free(sc, sc->bbuf); 3072 ath5k_txbuf_free(sc, sc->bbuf);
3063 sc->bbuf->skb = skb; 3073 sc->bbuf->skb = skb;
3064 ret = ath5k_beacon_setup(sc, sc->bbuf); 3074 ret = ath5k_beacon_setup(sc, sc->bbuf);
3065 if (ret) 3075 if (ret)
3066 sc->bbuf->skb = NULL; 3076 sc->bbuf->skb = NULL;
3067 else { 3077 spin_unlock_irqrestore(&sc->block, flags);
3078 if (!ret) {
3068 ath5k_beacon_config(sc); 3079 ath5k_beacon_config(sc);
3069 mmiowb(); 3080 mmiowb();
3070 } 3081 }
diff --git a/drivers/net/wireless/ath5k/base.h b/drivers/net/wireless/ath5k/base.h
index d7e03e6b8271..7ec2f377d5c7 100644
--- a/drivers/net/wireless/ath5k/base.h
+++ b/drivers/net/wireless/ath5k/base.h
@@ -172,6 +172,7 @@ struct ath5k_softc {
172 struct tasklet_struct txtq; /* tx intr tasklet */ 172 struct tasklet_struct txtq; /* tx intr tasklet */
173 struct ath5k_led tx_led; /* tx led */ 173 struct ath5k_led tx_led; /* tx led */
174 174
175 spinlock_t block; /* protects beacon */
175 struct ath5k_buf *bbuf; /* beacon buffer */ 176 struct ath5k_buf *bbuf; /* beacon buffer */
176 unsigned int bhalq, /* SW q for outgoing beacons */ 177 unsigned int bhalq, /* SW q for outgoing beacons */
177 bmisscount, /* missed beacon transmits */ 178 bmisscount, /* missed beacon transmits */
diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c
index a17eb130f574..6dbfed0b4149 100644
--- a/drivers/net/wireless/ath9k/hw.c
+++ b/drivers/net/wireless/ath9k/hw.c
@@ -7285,15 +7285,15 @@ ath9k_hw_set_keycache_entry(struct ath_hal *ah, u16 entry,
7285 } 7285 }
7286 break; 7286 break;
7287 case ATH9K_CIPHER_WEP: 7287 case ATH9K_CIPHER_WEP:
7288 if (k->kv_len < 40 / NBBY) { 7288 if (k->kv_len < LEN_WEP40) {
7289 DPRINTF(ah->ah_sc, ATH_DBG_KEYCACHE, 7289 DPRINTF(ah->ah_sc, ATH_DBG_KEYCACHE,
7290 "%s: WEP key length %u too small\n", 7290 "%s: WEP key length %u too small\n",
7291 __func__, k->kv_len); 7291 __func__, k->kv_len);
7292 return false; 7292 return false;
7293 } 7293 }
7294 if (k->kv_len <= 40 / NBBY) 7294 if (k->kv_len <= LEN_WEP40)
7295 keyType = AR_KEYTABLE_TYPE_40; 7295 keyType = AR_KEYTABLE_TYPE_40;
7296 else if (k->kv_len <= 104 / NBBY) 7296 else if (k->kv_len <= LEN_WEP104)
7297 keyType = AR_KEYTABLE_TYPE_104; 7297 keyType = AR_KEYTABLE_TYPE_104;
7298 else 7298 else
7299 keyType = AR_KEYTABLE_TYPE_128; 7299 keyType = AR_KEYTABLE_TYPE_128;
@@ -7313,7 +7313,7 @@ ath9k_hw_set_keycache_entry(struct ath_hal *ah, u16 entry,
7313 key2 = get_unaligned_le32(k->kv_val + 6) ^ xorMask; 7313 key2 = get_unaligned_le32(k->kv_val + 6) ^ xorMask;
7314 key3 = (get_unaligned_le16(k->kv_val + 10) ^ xorMask) & 0xffff; 7314 key3 = (get_unaligned_le16(k->kv_val + 10) ^ xorMask) & 0xffff;
7315 key4 = get_unaligned_le32(k->kv_val + 12) ^ xorMask; 7315 key4 = get_unaligned_le32(k->kv_val + 12) ^ xorMask;
7316 if (k->kv_len <= 104 / NBBY) 7316 if (k->kv_len <= LEN_WEP104)
7317 key4 &= 0xff; 7317 key4 &= 0xff;
7318 7318
7319 if (keyType == AR_KEYTABLE_TYPE_TKIP && ATH9K_IS_MIC_ENABLED(ah)) { 7319 if (keyType == AR_KEYTABLE_TYPE_TKIP && ATH9K_IS_MIC_ENABLED(ah)) {
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index 2888778040e4..c5107f269f24 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -206,7 +206,8 @@ static int ath_key_config(struct ath_softc *sc,
206 if (!ret) 206 if (!ret)
207 return -EIO; 207 return -EIO;
208 208
209 sc->sc_keytype = hk.kv_type; 209 if (mac)
210 sc->sc_keytype = hk.kv_type;
210 return 0; 211 return 0;
211} 212}
212 213
@@ -756,7 +757,8 @@ static int ath9k_set_key(struct ieee80211_hw *hw,
756 key->hw_key_idx = key->keyidx; 757 key->hw_key_idx = key->keyidx;
757 /* push IV and Michael MIC generation to stack */ 758 /* push IV and Michael MIC generation to stack */
758 key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; 759 key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
759 key->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC; 760 if (key->alg == ALG_TKIP)
761 key->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC;
760 } 762 }
761 break; 763 break;
762 case DISABLE_KEY: 764 case DISABLE_KEY:
@@ -1065,8 +1067,16 @@ void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
1065 tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; 1067 tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
1066 tx_status->flags &= ~ATH_TX_BAR; 1068 tx_status->flags &= ~ATH_TX_BAR;
1067 } 1069 }
1068 if (tx_status->flags) 1070
1069 tx_info->status.excessive_retries = 1; 1071 if (tx_status->flags & (ATH_TX_ERROR | ATH_TX_XRETRY)) {
1072 if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
1073 /* Frame was not ACKed, but an ACK was expected */
1074 tx_info->status.excessive_retries = 1;
1075 }
1076 } else {
1077 /* Frame was ACKed */
1078 tx_info->flags |= IEEE80211_TX_STAT_ACK;
1079 }
1070 1080
1071 tx_info->status.retry_count = tx_status->retries; 1081 tx_info->status.retry_count = tx_status->retries;
1072 1082
diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c
index 2fe806175c01..20ddb7acdb94 100644
--- a/drivers/net/wireless/ath9k/recv.c
+++ b/drivers/net/wireless/ath9k/recv.c
@@ -360,8 +360,9 @@ static void ath_rx_flush_tid(struct ath_softc *sc,
360 struct ath_arx_tid *rxtid, int drop) 360 struct ath_arx_tid *rxtid, int drop)
361{ 361{
362 struct ath_rxbuf *rxbuf; 362 struct ath_rxbuf *rxbuf;
363 unsigned long flag;
363 364
364 spin_lock_bh(&rxtid->tidlock); 365 spin_lock_irqsave(&rxtid->tidlock, flag);
365 while (rxtid->baw_head != rxtid->baw_tail) { 366 while (rxtid->baw_head != rxtid->baw_tail) {
366 rxbuf = rxtid->rxbuf + rxtid->baw_head; 367 rxbuf = rxtid->rxbuf + rxtid->baw_head;
367 if (!rxbuf->rx_wbuf) { 368 if (!rxbuf->rx_wbuf) {
@@ -382,7 +383,7 @@ static void ath_rx_flush_tid(struct ath_softc *sc,
382 INCR(rxtid->baw_head, ATH_TID_MAX_BUFS); 383 INCR(rxtid->baw_head, ATH_TID_MAX_BUFS);
383 INCR(rxtid->seq_next, IEEE80211_SEQ_MAX); 384 INCR(rxtid->seq_next, IEEE80211_SEQ_MAX);
384 } 385 }
385 spin_unlock_bh(&rxtid->tidlock); 386 spin_unlock_irqrestore(&rxtid->tidlock, flag);
386} 387}
387 388
388static struct sk_buff *ath_rxbuf_alloc(struct ath_softc *sc, 389static struct sk_buff *ath_rxbuf_alloc(struct ath_softc *sc,
diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c
index 157f830ee6b8..550129f717e2 100644
--- a/drivers/net/wireless/ath9k/xmit.c
+++ b/drivers/net/wireless/ath9k/xmit.c
@@ -357,9 +357,9 @@ static int ath_tx_prepare(struct ath_softc *sc,
357 txctl->flags = ATH9K_TXDESC_CLRDMASK; /* needed for crypto errors */ 357 txctl->flags = ATH9K_TXDESC_CLRDMASK; /* needed for crypto errors */
358 358
359 if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK) 359 if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK)
360 tx_info->flags |= ATH9K_TXDESC_NOACK; 360 txctl->flags |= ATH9K_TXDESC_NOACK;
361 if (tx_info->flags & IEEE80211_TX_CTL_USE_RTS_CTS) 361 if (tx_info->flags & IEEE80211_TX_CTL_USE_RTS_CTS)
362 tx_info->flags |= ATH9K_TXDESC_RTSENA; 362 txctl->flags |= ATH9K_TXDESC_RTSENA;
363 363
364 /* 364 /*
365 * Setup for rate calculations. 365 * Setup for rate calculations.
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index bd35bb0a1480..bd65c485098c 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -1304,7 +1304,7 @@ EXPORT_SYMBOL(atmel_open);
1304int atmel_open(struct net_device *dev) 1304int atmel_open(struct net_device *dev)
1305{ 1305{
1306 struct atmel_private *priv = netdev_priv(dev); 1306 struct atmel_private *priv = netdev_priv(dev);
1307 int i, channel; 1307 int i, channel, err;
1308 1308
1309 /* any scheduled timer is no longer needed and might screw things up.. */ 1309 /* any scheduled timer is no longer needed and might screw things up.. */
1310 del_timer_sync(&priv->management_timer); 1310 del_timer_sync(&priv->management_timer);
@@ -1328,8 +1328,9 @@ int atmel_open(struct net_device *dev)
1328 priv->site_survey_state = SITE_SURVEY_IDLE; 1328 priv->site_survey_state = SITE_SURVEY_IDLE;
1329 priv->station_is_associated = 0; 1329 priv->station_is_associated = 0;
1330 1330
1331 if (!reset_atmel_card(dev)) 1331 err = reset_atmel_card(dev);
1332 return -EAGAIN; 1332 if (err)
1333 return err;
1333 1334
1334 if (priv->config_reg_domain) { 1335 if (priv->config_reg_domain) {
1335 priv->reg_domain = priv->config_reg_domain; 1336 priv->reg_domain = priv->config_reg_domain;
@@ -3061,12 +3062,20 @@ static void authenticate(struct atmel_private *priv, u16 frame_len)
3061 } 3062 }
3062 3063
3063 if (status == WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG) { 3064 if (status == WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG) {
3064 /* Do opensystem first, then try sharedkey */ 3065 /* Flip back and forth between WEP auth modes until the max
3066 * authentication tries has been exceeded.
3067 */
3065 if (system == WLAN_AUTH_OPEN) { 3068 if (system == WLAN_AUTH_OPEN) {
3066 priv->CurrentAuthentTransactionSeqNum = 0x001; 3069 priv->CurrentAuthentTransactionSeqNum = 0x001;
3067 priv->exclude_unencrypted = 1; 3070 priv->exclude_unencrypted = 1;
3068 send_authentication_request(priv, WLAN_AUTH_SHARED_KEY, NULL, 0); 3071 send_authentication_request(priv, WLAN_AUTH_SHARED_KEY, NULL, 0);
3069 return; 3072 return;
3073 } else if ( system == WLAN_AUTH_SHARED_KEY
3074 && priv->wep_is_on) {
3075 priv->CurrentAuthentTransactionSeqNum = 0x001;
3076 priv->exclude_unencrypted = 0;
3077 send_authentication_request(priv, WLAN_AUTH_OPEN, NULL, 0);
3078 return;
3070 } else if (priv->connect_to_any_BSS) { 3079 } else if (priv->connect_to_any_BSS) {
3071 int bss_index; 3080 int bss_index;
3072 3081
@@ -3580,12 +3589,12 @@ static int atmel_wakeup_firmware(struct atmel_private *priv)
3580 3589
3581 if (i == 0) { 3590 if (i == 0) {
3582 printk(KERN_ALERT "%s: MAC failed to boot.\n", priv->dev->name); 3591 printk(KERN_ALERT "%s: MAC failed to boot.\n", priv->dev->name);
3583 return 0; 3592 return -EIO;
3584 } 3593 }
3585 3594
3586 if ((priv->host_info_base = atmel_read16(priv->dev, MR2)) == 0xffff) { 3595 if ((priv->host_info_base = atmel_read16(priv->dev, MR2)) == 0xffff) {
3587 printk(KERN_ALERT "%s: card missing.\n", priv->dev->name); 3596 printk(KERN_ALERT "%s: card missing.\n", priv->dev->name);
3588 return 0; 3597 return -ENODEV;
3589 } 3598 }
3590 3599
3591 /* now check for completion of MAC initialization through 3600 /* now check for completion of MAC initialization through
@@ -3609,19 +3618,19 @@ static int atmel_wakeup_firmware(struct atmel_private *priv)
3609 if (i == 0) { 3618 if (i == 0) {
3610 printk(KERN_ALERT "%s: MAC failed to initialise.\n", 3619 printk(KERN_ALERT "%s: MAC failed to initialise.\n",
3611 priv->dev->name); 3620 priv->dev->name);
3612 return 0; 3621 return -EIO;
3613 } 3622 }
3614 3623
3615 /* Check for MAC_INIT_OK only on the register that the MAC_INIT_OK was set */ 3624 /* Check for MAC_INIT_OK only on the register that the MAC_INIT_OK was set */
3616 if ((mr3 & MAC_INIT_COMPLETE) && 3625 if ((mr3 & MAC_INIT_COMPLETE) &&
3617 !(atmel_read16(priv->dev, MR3) & MAC_INIT_OK)) { 3626 !(atmel_read16(priv->dev, MR3) & MAC_INIT_OK)) {
3618 printk(KERN_ALERT "%s: MAC failed MR3 self-test.\n", priv->dev->name); 3627 printk(KERN_ALERT "%s: MAC failed MR3 self-test.\n", priv->dev->name);
3619 return 0; 3628 return -EIO;
3620 } 3629 }
3621 if ((mr1 & MAC_INIT_COMPLETE) && 3630 if ((mr1 & MAC_INIT_COMPLETE) &&
3622 !(atmel_read16(priv->dev, MR1) & MAC_INIT_OK)) { 3631 !(atmel_read16(priv->dev, MR1) & MAC_INIT_OK)) {
3623 printk(KERN_ALERT "%s: MAC failed MR1 self-test.\n", priv->dev->name); 3632 printk(KERN_ALERT "%s: MAC failed MR1 self-test.\n", priv->dev->name);
3624 return 0; 3633 return -EIO;
3625 } 3634 }
3626 3635
3627 atmel_copy_to_host(priv->dev, (unsigned char *)iface, 3636 atmel_copy_to_host(priv->dev, (unsigned char *)iface,
@@ -3642,7 +3651,7 @@ static int atmel_wakeup_firmware(struct atmel_private *priv)
3642 iface->func_ctrl = le16_to_cpu(iface->func_ctrl); 3651 iface->func_ctrl = le16_to_cpu(iface->func_ctrl);
3643 iface->mac_status = le16_to_cpu(iface->mac_status); 3652 iface->mac_status = le16_to_cpu(iface->mac_status);
3644 3653
3645 return 1; 3654 return 0;
3646} 3655}
3647 3656
3648/* determine type of memory and MAC address */ 3657/* determine type of memory and MAC address */
@@ -3693,7 +3702,7 @@ static int probe_atmel_card(struct net_device *dev)
3693 /* Standard firmware in flash, boot it up and ask 3702 /* Standard firmware in flash, boot it up and ask
3694 for the Mac Address */ 3703 for the Mac Address */
3695 priv->card_type = CARD_TYPE_SPI_FLASH; 3704 priv->card_type = CARD_TYPE_SPI_FLASH;
3696 if (atmel_wakeup_firmware(priv)) { 3705 if (atmel_wakeup_firmware(priv) == 0) {
3697 atmel_get_mib(priv, Mac_Address_Mib_Type, 0, dev->dev_addr, 6); 3706 atmel_get_mib(priv, Mac_Address_Mib_Type, 0, dev->dev_addr, 6);
3698 3707
3699 /* got address, now squash it again until the network 3708 /* got address, now squash it again until the network
@@ -3835,6 +3844,7 @@ static int reset_atmel_card(struct net_device *dev)
3835 struct atmel_private *priv = netdev_priv(dev); 3844 struct atmel_private *priv = netdev_priv(dev);
3836 u8 configuration; 3845 u8 configuration;
3837 int old_state = priv->station_state; 3846 int old_state = priv->station_state;
3847 int err = 0;
3838 3848
3839 /* data to add to the firmware names, in priority order 3849 /* data to add to the firmware names, in priority order
3840 this implemenents firmware versioning */ 3850 this implemenents firmware versioning */
@@ -3868,11 +3878,12 @@ static int reset_atmel_card(struct net_device *dev)
3868 dev->name); 3878 dev->name);
3869 strcpy(priv->firmware_id, "atmel_at76c502.bin"); 3879 strcpy(priv->firmware_id, "atmel_at76c502.bin");
3870 } 3880 }
3871 if (request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev) != 0) { 3881 err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev);
3882 if (err != 0) {
3872 printk(KERN_ALERT 3883 printk(KERN_ALERT
3873 "%s: firmware %s is missing, cannot continue.\n", 3884 "%s: firmware %s is missing, cannot continue.\n",
3874 dev->name, priv->firmware_id); 3885 dev->name, priv->firmware_id);
3875 return 0; 3886 return err;
3876 } 3887 }
3877 } else { 3888 } else {
3878 int fw_index = 0; 3889 int fw_index = 0;
@@ -3901,7 +3912,7 @@ static int reset_atmel_card(struct net_device *dev)
3901 "%s: firmware %s is missing, cannot start.\n", 3912 "%s: firmware %s is missing, cannot start.\n",
3902 dev->name, priv->firmware_id); 3913 dev->name, priv->firmware_id);
3903 priv->firmware_id[0] = '\0'; 3914 priv->firmware_id[0] = '\0';
3904 return 0; 3915 return -ENOENT;
3905 } 3916 }
3906 } 3917 }
3907 3918
@@ -3926,8 +3937,9 @@ static int reset_atmel_card(struct net_device *dev)
3926 release_firmware(fw_entry); 3937 release_firmware(fw_entry);
3927 } 3938 }
3928 3939
3929 if (!atmel_wakeup_firmware(priv)) 3940 err = atmel_wakeup_firmware(priv);
3930 return 0; 3941 if (err != 0)
3942 return err;
3931 3943
3932 /* Check the version and set the correct flag for wpa stuff, 3944 /* Check the version and set the correct flag for wpa stuff,
3933 old and new firmware is incompatible. 3945 old and new firmware is incompatible.
@@ -3968,10 +3980,9 @@ static int reset_atmel_card(struct net_device *dev)
3968 if (!priv->radio_on_broken) { 3980 if (!priv->radio_on_broken) {
3969 if (atmel_send_command_wait(priv, CMD_EnableRadio, NULL, 0) == 3981 if (atmel_send_command_wait(priv, CMD_EnableRadio, NULL, 0) ==
3970 CMD_STATUS_REJECTED_RADIO_OFF) { 3982 CMD_STATUS_REJECTED_RADIO_OFF) {
3971 printk(KERN_INFO 3983 printk(KERN_INFO "%s: cannot turn the radio on.\n",
3972 "%s: cannot turn the radio on. (Hey radio, you're beautiful!)\n",
3973 dev->name); 3984 dev->name);
3974 return 0; 3985 return -EIO;
3975 } 3986 }
3976 } 3987 }
3977 3988
@@ -4006,7 +4017,7 @@ static int reset_atmel_card(struct net_device *dev)
4006 wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL); 4017 wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
4007 } 4018 }
4008 4019
4009 return 1; 4020 return 0;
4010} 4021}
4011 4022
4012static void atmel_send_command(struct atmel_private *priv, int command, 4023static void atmel_send_command(struct atmel_private *priv, int command,
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index e2581229d8b2..23fed3298962 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -474,8 +474,8 @@ static void iwl4965_apm_stop(struct iwl_priv *priv)
474 iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET); 474 iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
475 475
476 udelay(10); 476 udelay(10);
477 477 /* clear "init complete" move adapter D0A* --> D0U state */
478 iwl_set_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE); 478 iwl_clear_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
479 spin_unlock_irqrestore(&priv->lock, flags); 479 spin_unlock_irqrestore(&priv->lock, flags);
480} 480}
481 481
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index cbc01a00eaf4..b08036a9d894 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -145,7 +145,8 @@ static void iwl5000_apm_stop(struct iwl_priv *priv)
145 145
146 udelay(10); 146 udelay(10);
147 147
148 iwl_set_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE); 148 /* clear "init complete" move adapter D0A* --> D0U state */
149 iwl_clear_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
149 150
150 spin_unlock_irqrestore(&priv->lock, flags); 151 spin_unlock_irqrestore(&priv->lock, flags);
151} 152}
@@ -577,14 +578,11 @@ static int iwl5000_load_section(struct iwl_priv *priv,
577 FH_TFDIB_CTRL0_REG(FH_SRVC_CHNL), 578 FH_TFDIB_CTRL0_REG(FH_SRVC_CHNL),
578 phy_addr & FH_MEM_TFDIB_DRAM_ADDR_LSB_MSK); 579 phy_addr & FH_MEM_TFDIB_DRAM_ADDR_LSB_MSK);
579 580
580 /* FIME: write the MSB of the phy_addr in CTRL1
581 * iwl_write_direct32(priv,
582 IWL_FH_TFDIB_CTRL1_REG(IWL_FH_SRVC_CHNL),
583 ((phy_addr & MSB_MSK)
584 << FH_MEM_TFDIB_REG1_ADDR_BITSHIFT) | byte_count);
585 */
586 iwl_write_direct32(priv, 581 iwl_write_direct32(priv,
587 FH_TFDIB_CTRL1_REG(FH_SRVC_CHNL), byte_cnt); 582 FH_TFDIB_CTRL1_REG(FH_SRVC_CHNL),
583 (iwl_get_dma_hi_address(phy_addr)
584 << FH_MEM_TFDIB_REG1_ADDR_BITSHIFT) | byte_cnt);
585
588 iwl_write_direct32(priv, 586 iwl_write_direct32(priv,
589 FH_TCSR_CHNL_TX_BUF_STS_REG(FH_SRVC_CHNL), 587 FH_TCSR_CHNL_TX_BUF_STS_REG(FH_SRVC_CHNL),
590 1 << FH_TCSR_CHNL_TX_BUF_STS_REG_POS_TB_NUM | 588 1 << FH_TCSR_CHNL_TX_BUF_STS_REG_POS_TB_NUM |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 754fef5b592f..90a2b6dee7c0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -1153,7 +1153,8 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv,
1153 !sta->ht_info.ht_supported) 1153 !sta->ht_info.ht_supported)
1154 return -1; 1154 return -1;
1155 1155
1156 if (priv->current_ht_config.tx_mimo_ps_mode == IWL_MIMO_PS_STATIC) 1156 if (((sta->ht_info.cap & IEEE80211_HT_CAP_MIMO_PS) >> 2)
1157 == IWL_MIMO_PS_STATIC)
1157 return -1; 1158 return -1;
1158 1159
1159 /* Need both Tx chains/antennas to support MIMO */ 1160 /* Need both Tx chains/antennas to support MIMO */
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 061ffba9c884..e01f048a02dd 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -181,14 +181,14 @@ static int iwl4965_check_rxon_cmd(struct iwl_rxon_cmd *rxon)
181} 181}
182 182
183/** 183/**
184 * iwl4965_full_rxon_required - check if full RXON (vs RXON_ASSOC) cmd is needed 184 * iwl_full_rxon_required - check if full RXON (vs RXON_ASSOC) cmd is needed
185 * @priv: staging_rxon is compared to active_rxon 185 * @priv: staging_rxon is compared to active_rxon
186 * 186 *
187 * If the RXON structure is changing enough to require a new tune, 187 * If the RXON structure is changing enough to require a new tune,
188 * or is clearing the RXON_FILTER_ASSOC_MSK, then return 1 to indicate that 188 * or is clearing the RXON_FILTER_ASSOC_MSK, then return 1 to indicate that
189 * a new tune (full RXON command, rather than RXON_ASSOC cmd) is required. 189 * a new tune (full RXON command, rather than RXON_ASSOC cmd) is required.
190 */ 190 */
191static int iwl4965_full_rxon_required(struct iwl_priv *priv) 191static int iwl_full_rxon_required(struct iwl_priv *priv)
192{ 192{
193 193
194 /* These items are only settable from the full RXON command */ 194 /* These items are only settable from the full RXON command */
@@ -207,7 +207,6 @@ static int iwl4965_full_rxon_required(struct iwl_priv *priv)
207 priv->active_rxon.ofdm_ht_single_stream_basic_rates) || 207 priv->active_rxon.ofdm_ht_single_stream_basic_rates) ||
208 (priv->staging_rxon.ofdm_ht_dual_stream_basic_rates != 208 (priv->staging_rxon.ofdm_ht_dual_stream_basic_rates !=
209 priv->active_rxon.ofdm_ht_dual_stream_basic_rates) || 209 priv->active_rxon.ofdm_ht_dual_stream_basic_rates) ||
210 (priv->staging_rxon.rx_chain != priv->active_rxon.rx_chain) ||
211 (priv->staging_rxon.assoc_id != priv->active_rxon.assoc_id)) 210 (priv->staging_rxon.assoc_id != priv->active_rxon.assoc_id))
212 return 1; 211 return 1;
213 212
@@ -263,7 +262,7 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv)
263 /* If we don't need to send a full RXON, we can use 262 /* If we don't need to send a full RXON, we can use
264 * iwl4965_rxon_assoc_cmd which is used to reconfigure filter 263 * iwl4965_rxon_assoc_cmd which is used to reconfigure filter
265 * and other flags for the current radio configuration. */ 264 * and other flags for the current radio configuration. */
266 if (!iwl4965_full_rxon_required(priv)) { 265 if (!iwl_full_rxon_required(priv)) {
267 ret = iwl_send_rxon_assoc(priv); 266 ret = iwl_send_rxon_assoc(priv);
268 if (ret) { 267 if (ret) {
269 IWL_ERROR("Error setting RXON_ASSOC (%d)\n", ret); 268 IWL_ERROR("Error setting RXON_ASSOC (%d)\n", ret);
@@ -587,8 +586,6 @@ static void iwl4965_ht_conf(struct iwl_priv *priv,
587 iwl_conf->supported_chan_width = 0; 586 iwl_conf->supported_chan_width = 0;
588 } 587 }
589 588
590 iwl_conf->tx_mimo_ps_mode =
591 (u8)((ht_conf->cap & IEEE80211_HT_CAP_MIMO_PS) >> 2);
592 memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16); 589 memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16);
593 590
594 iwl_conf->control_channel = ht_bss_conf->primary_channel; 591 iwl_conf->control_channel = ht_bss_conf->primary_channel;
@@ -2190,7 +2187,10 @@ static void __iwl4965_down(struct iwl_priv *priv)
2190 udelay(5); 2187 udelay(5);
2191 2188
2192 /* FIXME: apm_ops.suspend(priv) */ 2189 /* FIXME: apm_ops.suspend(priv) */
2193 priv->cfg->ops->lib->apm_ops.reset(priv); 2190 if (exit_pending || test_bit(STATUS_IN_SUSPEND, &priv->status))
2191 priv->cfg->ops->lib->apm_ops.stop(priv);
2192 else
2193 priv->cfg->ops->lib->apm_ops.reset(priv);
2194 priv->cfg->ops->lib->free_shared_mem(priv); 2194 priv->cfg->ops->lib->free_shared_mem(priv);
2195 2195
2196 exit: 2196 exit:
@@ -2602,6 +2602,7 @@ static int iwl4965_mac_start(struct ieee80211_hw *hw)
2602{ 2602{
2603 struct iwl_priv *priv = hw->priv; 2603 struct iwl_priv *priv = hw->priv;
2604 int ret; 2604 int ret;
2605 u16 pci_cmd;
2605 2606
2606 IWL_DEBUG_MAC80211("enter\n"); 2607 IWL_DEBUG_MAC80211("enter\n");
2607 2608
@@ -2612,6 +2613,13 @@ static int iwl4965_mac_start(struct ieee80211_hw *hw)
2612 pci_restore_state(priv->pci_dev); 2613 pci_restore_state(priv->pci_dev);
2613 pci_enable_msi(priv->pci_dev); 2614 pci_enable_msi(priv->pci_dev);
2614 2615
2616 /* enable interrupts if needed: hw bug w/a */
2617 pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd);
2618 if (pci_cmd & PCI_COMMAND_INTX_DISABLE) {
2619 pci_cmd &= ~PCI_COMMAND_INTX_DISABLE;
2620 pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd);
2621 }
2622
2615 ret = request_irq(priv->pci_dev->irq, iwl4965_isr, IRQF_SHARED, 2623 ret = request_irq(priv->pci_dev->irq, iwl4965_isr, IRQF_SHARED,
2616 DRV_NAME, priv); 2624 DRV_NAME, priv);
2617 if (ret) { 2625 if (ret) {
@@ -3580,7 +3588,7 @@ static int iwl4965_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk
3580 3588
3581 priv->assoc_id = 0; 3589 priv->assoc_id = 0;
3582 timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp; 3590 timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp;
3583 priv->timestamp = le64_to_cpu(timestamp) + (priv->beacon_int * 1000); 3591 priv->timestamp = le64_to_cpu(timestamp);
3584 3592
3585 IWL_DEBUG_MAC80211("leave\n"); 3593 IWL_DEBUG_MAC80211("leave\n");
3586 spin_unlock_irqrestore(&priv->lock, flags); 3594 spin_unlock_irqrestore(&priv->lock, flags);
@@ -4364,15 +4372,18 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev)
4364 iwl_dbgfs_unregister(priv); 4372 iwl_dbgfs_unregister(priv);
4365 sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group); 4373 sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group);
4366 4374
4375 /* ieee80211_unregister_hw call wil cause iwl4965_mac_stop to
4376 * to be called and iwl4965_down since we are removing the device
4377 * we need to set STATUS_EXIT_PENDING bit.
4378 */
4379 set_bit(STATUS_EXIT_PENDING, &priv->status);
4367 if (priv->mac80211_registered) { 4380 if (priv->mac80211_registered) {
4368 ieee80211_unregister_hw(priv->hw); 4381 ieee80211_unregister_hw(priv->hw);
4369 priv->mac80211_registered = 0; 4382 priv->mac80211_registered = 0;
4383 } else {
4384 iwl4965_down(priv);
4370 } 4385 }
4371 4386
4372 set_bit(STATUS_EXIT_PENDING, &priv->status);
4373
4374 iwl4965_down(priv);
4375
4376 /* make sure we flush any pending irq or 4387 /* make sure we flush any pending irq or
4377 * tasklet for the driver 4388 * tasklet for the driver
4378 */ 4389 */
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index c72f72579bea..80f2f84defa8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -592,12 +592,11 @@ static void iwlcore_free_geos(struct iwl_priv *priv)
592 clear_bit(STATUS_GEO_CONFIGURED, &priv->status); 592 clear_bit(STATUS_GEO_CONFIGURED, &priv->status);
593} 593}
594 594
595static u8 is_single_rx_stream(struct iwl_priv *priv) 595static bool is_single_rx_stream(struct iwl_priv *priv)
596{ 596{
597 return !priv->current_ht_config.is_ht || 597 return !priv->current_ht_config.is_ht ||
598 ((priv->current_ht_config.supp_mcs_set[1] == 0) && 598 ((priv->current_ht_config.supp_mcs_set[1] == 0) &&
599 (priv->current_ht_config.supp_mcs_set[2] == 0)) || 599 (priv->current_ht_config.supp_mcs_set[2] == 0));
600 priv->ps_mode == IWL_MIMO_PS_STATIC;
601} 600}
602 601
603static u8 iwl_is_channel_extension(struct iwl_priv *priv, 602static u8 iwl_is_channel_extension(struct iwl_priv *priv,
@@ -704,33 +703,39 @@ EXPORT_SYMBOL(iwl_set_rxon_ht);
704 * MIMO (dual stream) requires at least 2, but works better with 3. 703 * MIMO (dual stream) requires at least 2, but works better with 3.
705 * This does not determine *which* chains to use, just how many. 704 * This does not determine *which* chains to use, just how many.
706 */ 705 */
707static int iwlcore_get_rx_chain_counter(struct iwl_priv *priv, 706static int iwl_get_active_rx_chain_count(struct iwl_priv *priv)
708 u8 *idle_state, u8 *rx_state)
709{ 707{
710 u8 is_single = is_single_rx_stream(priv); 708 bool is_single = is_single_rx_stream(priv);
711 u8 is_cam = test_bit(STATUS_POWER_PMI, &priv->status) ? 0 : 1; 709 bool is_cam = !test_bit(STATUS_POWER_PMI, &priv->status);
712 710
713 /* # of Rx chains to use when expecting MIMO. */ 711 /* # of Rx chains to use when expecting MIMO. */
714 if (is_single || (!is_cam && (priv->ps_mode == IWL_MIMO_PS_STATIC))) 712 if (is_single || (!is_cam && (priv->ps_mode == IWL_MIMO_PS_STATIC)))
715 *rx_state = 2; 713 return 2;
716 else 714 else
717 *rx_state = 3; 715 return 3;
716}
718 717
718static int iwl_get_idle_rx_chain_count(struct iwl_priv *priv, int active_cnt)
719{
720 int idle_cnt;
721 bool is_cam = !test_bit(STATUS_POWER_PMI, &priv->status);
719 /* # Rx chains when idling and maybe trying to save power */ 722 /* # Rx chains when idling and maybe trying to save power */
720 switch (priv->ps_mode) { 723 switch (priv->ps_mode) {
721 case IWL_MIMO_PS_STATIC: 724 case IWL_MIMO_PS_STATIC:
722 case IWL_MIMO_PS_DYNAMIC: 725 case IWL_MIMO_PS_DYNAMIC:
723 *idle_state = (is_cam) ? 2 : 1; 726 idle_cnt = (is_cam) ? 2 : 1;
724 break; 727 break;
725 case IWL_MIMO_PS_NONE: 728 case IWL_MIMO_PS_NONE:
726 *idle_state = (is_cam) ? *rx_state : 1; 729 idle_cnt = (is_cam) ? active_cnt : 1;
727 break; 730 break;
731 case IWL_MIMO_PS_INVALID:
728 default: 732 default:
729 *idle_state = 1; 733 IWL_ERROR("invalide mimo ps mode %d\n", priv->ps_mode);
734 WARN_ON(1);
735 idle_cnt = -1;
730 break; 736 break;
731 } 737 }
732 738 return idle_cnt;
733 return 0;
734} 739}
735 740
736/** 741/**
@@ -741,34 +746,44 @@ static int iwlcore_get_rx_chain_counter(struct iwl_priv *priv,
741 */ 746 */
742void iwl_set_rxon_chain(struct iwl_priv *priv) 747void iwl_set_rxon_chain(struct iwl_priv *priv)
743{ 748{
744 u8 is_single = is_single_rx_stream(priv); 749 bool is_single = is_single_rx_stream(priv);
745 u8 idle_state, rx_state; 750 bool is_cam = !test_bit(STATUS_POWER_PMI, &priv->status);
746 751 u8 idle_rx_cnt, active_rx_cnt;
747 priv->staging_rxon.rx_chain = 0; 752 u16 rx_chain;
748 rx_state = idle_state = 3;
749 753
750 /* Tell uCode which antennas are actually connected. 754 /* Tell uCode which antennas are actually connected.
751 * Before first association, we assume all antennas are connected. 755 * Before first association, we assume all antennas are connected.
752 * Just after first association, iwl_chain_noise_calibration() 756 * Just after first association, iwl_chain_noise_calibration()
753 * checks which antennas actually *are* connected. */ 757 * checks which antennas actually *are* connected. */
754 priv->staging_rxon.rx_chain |= 758 rx_chain = priv->hw_params.valid_rx_ant << RXON_RX_CHAIN_VALID_POS;
755 cpu_to_le16(priv->hw_params.valid_rx_ant <<
756 RXON_RX_CHAIN_VALID_POS);
757 759
758 /* How many receivers should we use? */ 760 /* How many receivers should we use? */
759 iwlcore_get_rx_chain_counter(priv, &idle_state, &rx_state); 761 active_rx_cnt = iwl_get_active_rx_chain_count(priv);
760 priv->staging_rxon.rx_chain |= 762 idle_rx_cnt = iwl_get_idle_rx_chain_count(priv, active_rx_cnt);
761 cpu_to_le16(rx_state << RXON_RX_CHAIN_MIMO_CNT_POS); 763
762 priv->staging_rxon.rx_chain |= 764 /* correct rx chain count accoridng hw settings */
763 cpu_to_le16(idle_state << RXON_RX_CHAIN_CNT_POS); 765 if (priv->hw_params.rx_chains_num < active_rx_cnt)
764 766 active_rx_cnt = priv->hw_params.rx_chains_num;
765 if (!is_single && (rx_state >= 2) && 767
766 !test_bit(STATUS_POWER_PMI, &priv->status)) 768 if (priv->hw_params.rx_chains_num < idle_rx_cnt)
769 idle_rx_cnt = priv->hw_params.rx_chains_num;
770
771 rx_chain |= active_rx_cnt << RXON_RX_CHAIN_MIMO_CNT_POS;
772 rx_chain |= idle_rx_cnt << RXON_RX_CHAIN_CNT_POS;
773
774 priv->staging_rxon.rx_chain = cpu_to_le16(rx_chain);
775
776 if (!is_single && (active_rx_cnt >= 2) && is_cam)
767 priv->staging_rxon.rx_chain |= RXON_RX_CHAIN_MIMO_FORCE_MSK; 777 priv->staging_rxon.rx_chain |= RXON_RX_CHAIN_MIMO_FORCE_MSK;
768 else 778 else
769 priv->staging_rxon.rx_chain &= ~RXON_RX_CHAIN_MIMO_FORCE_MSK; 779 priv->staging_rxon.rx_chain &= ~RXON_RX_CHAIN_MIMO_FORCE_MSK;
770 780
771 IWL_DEBUG_ASSOC("rx chain %X\n", priv->staging_rxon.rx_chain); 781 IWL_DEBUG_ASSOC("rx_chain=0x%Xi active=%d idle=%d\n",
782 priv->staging_rxon.rx_chain,
783 active_rx_cnt, idle_rx_cnt);
784
785 WARN_ON(active_rx_cnt == 0 || idle_rx_cnt == 0 ||
786 active_rx_cnt < idle_rx_cnt);
772} 787}
773EXPORT_SYMBOL(iwl_set_rxon_chain); 788EXPORT_SYMBOL(iwl_set_rxon_chain);
774 789
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index c19db438306c..cdfb343c7ec6 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -412,7 +412,6 @@ struct iwl_ht_info {
412 /* self configuration data */ 412 /* self configuration data */
413 u8 is_ht; 413 u8 is_ht;
414 u8 supported_chan_width; 414 u8 supported_chan_width;
415 u16 tx_mimo_ps_mode;
416 u8 is_green_field; 415 u8 is_green_field;
417 u8 sgf; /* HT_SHORT_GI_* short guard interval */ 416 u8 sgf; /* HT_SHORT_GI_* short guard interval */
418 u8 max_amsdu_size; 417 u8 max_amsdu_size;
diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h
index 944642450d3d..cd11c0ca2991 100644
--- a/drivers/net/wireless/iwlwifi/iwl-fh.h
+++ b/drivers/net/wireless/iwlwifi/iwl-fh.h
@@ -287,6 +287,7 @@
287 287
288#define FH_RSSR_CHNL0_RX_STATUS_CHNL_IDLE (0x01000000) 288#define FH_RSSR_CHNL0_RX_STATUS_CHNL_IDLE (0x01000000)
289 289
290#define FH_MEM_TFDIB_REG1_ADDR_BITSHIFT 28
290 291
291/** 292/**
292 * Transmit DMA Channel Control/Status Registers (TCSR) 293 * Transmit DMA Channel Control/Status Registers (TCSR)
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c
index f3f6ea49fdd2..e81bfc42a7cb 100644
--- a/drivers/net/wireless/iwlwifi/iwl-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-rx.c
@@ -1173,7 +1173,10 @@ void iwl_rx_reply_rx(struct iwl_priv *priv,
1173 1173
1174 rx_status.antenna = 0; 1174 rx_status.antenna = 0;
1175 rx_status.flag = 0; 1175 rx_status.flag = 0;
1176 rx_status.flag |= RX_FLAG_TSFT; 1176
1177 /* TSF isn't reliable. In order to allow smooth user experience,
1178 * this W/A doesn't propagate it to the mac80211 */
1179 /*rx_status.flag |= RX_FLAG_TSFT;*/
1177 1180
1178 if ((unlikely(rx_start->cfg_phy_cnt > 20))) { 1181 if ((unlikely(rx_start->cfg_phy_cnt > 20))) {
1179 IWL_DEBUG_DROP("dsp size out of range [0,20]: %d/n", 1182 IWL_DEBUG_DROP("dsp size out of range [0,20]: %d/n",
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index 9bb6adb28b73..6c8ac3a87d54 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -421,7 +421,7 @@ static int iwl_get_channels_for_scan(struct iwl_priv *priv,
421 else 421 else
422 scan_ch->type = SCAN_CHANNEL_TYPE_ACTIVE; 422 scan_ch->type = SCAN_CHANNEL_TYPE_ACTIVE;
423 423
424 if ((scan_ch->type & SCAN_CHANNEL_TYPE_ACTIVE) && n_probes) 424 if (n_probes)
425 scan_ch->type |= IWL_SCAN_PROBE_MASK(n_probes); 425 scan_ch->type |= IWL_SCAN_PROBE_MASK(n_probes);
426 426
427 scan_ch->active_dwell = cpu_to_le16(active_dwell); 427 scan_ch->active_dwell = cpu_to_le16(active_dwell);
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index d82823b5c8ab..78b1a7a4ca40 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -402,12 +402,11 @@ static int iwl_hw_tx_queue_init(struct iwl_priv *priv,
402/** 402/**
403 * iwl_tx_queue_init - Allocate and initialize one tx/cmd queue 403 * iwl_tx_queue_init - Allocate and initialize one tx/cmd queue
404 */ 404 */
405static int iwl_tx_queue_init(struct iwl_priv *priv, 405static int iwl_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq,
406 struct iwl_tx_queue *txq,
407 int slots_num, u32 txq_id) 406 int slots_num, u32 txq_id)
408{ 407{
409 int i, len; 408 int i, len;
410 int rc = 0; 409 int ret;
411 410
412 /* 411 /*
413 * Alloc buffer array for commands (Tx or other types of commands). 412 * Alloc buffer array for commands (Tx or other types of commands).
@@ -426,19 +425,16 @@ static int iwl_tx_queue_init(struct iwl_priv *priv,
426 continue; 425 continue;
427 } 426 }
428 427
429 txq->cmd[i] = kmalloc(len, GFP_KERNEL | GFP_DMA); 428 txq->cmd[i] = kmalloc(len, GFP_KERNEL);
430 if (!txq->cmd[i]) 429 if (!txq->cmd[i])
431 return -ENOMEM; 430 goto err;
432 } 431 }
433 432
434 /* Alloc driver data array and TFD circular buffer */ 433 /* Alloc driver data array and TFD circular buffer */
435 rc = iwl_tx_queue_alloc(priv, txq, txq_id); 434 ret = iwl_tx_queue_alloc(priv, txq, txq_id);
436 if (rc) { 435 if (ret)
437 for (i = 0; i < slots_num; i++) 436 goto err;
438 kfree(txq->cmd[i]);
439 437
440 return -ENOMEM;
441 }
442 txq->need_update = 0; 438 txq->need_update = 0;
443 439
444 /* TFD_QUEUE_SIZE_MAX must be power-of-two size, otherwise 440 /* TFD_QUEUE_SIZE_MAX must be power-of-two size, otherwise
@@ -452,6 +448,17 @@ static int iwl_tx_queue_init(struct iwl_priv *priv,
452 iwl_hw_tx_queue_init(priv, txq); 448 iwl_hw_tx_queue_init(priv, txq);
453 449
454 return 0; 450 return 0;
451err:
452 for (i = 0; i < slots_num; i++) {
453 kfree(txq->cmd[i]);
454 txq->cmd[i] = NULL;
455 }
456
457 if (txq_id == IWL_CMD_QUEUE_NUM) {
458 kfree(txq->cmd[slots_num]);
459 txq->cmd[slots_num] = NULL;
460 }
461 return -ENOMEM;
455} 462}
456/** 463/**
457 * iwl_hw_txq_ctx_free - Free TXQ Context 464 * iwl_hw_txq_ctx_free - Free TXQ Context
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 04d7a251e3f0..8941919001bb 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -595,7 +595,7 @@ static int if_cs_prog_helper(struct if_cs_card *card)
595 if (ret < 0) { 595 if (ret < 0) {
596 lbs_pr_err("can't download helper at 0x%x, ret %d\n", 596 lbs_pr_err("can't download helper at 0x%x, ret %d\n",
597 sent, ret); 597 sent, ret);
598 goto done; 598 goto err_release;
599 } 599 }
600 600
601 if (count == 0) 601 if (count == 0)
@@ -604,9 +604,8 @@ static int if_cs_prog_helper(struct if_cs_card *card)
604 sent += count; 604 sent += count;
605 } 605 }
606 606
607err_release:
607 release_firmware(fw); 608 release_firmware(fw);
608 ret = 0;
609
610done: 609done:
611 lbs_deb_leave_args(LBS_DEB_CS, "ret %d", ret); 610 lbs_deb_leave_args(LBS_DEB_CS, "ret %d", ret);
612 return ret; 611 return ret;
@@ -676,14 +675,8 @@ static int if_cs_prog_real(struct if_cs_card *card)
676 } 675 }
677 676
678 ret = if_cs_poll_while_fw_download(card, IF_CS_SCRATCH, 0x5a); 677 ret = if_cs_poll_while_fw_download(card, IF_CS_SCRATCH, 0x5a);
679 if (ret < 0) { 678 if (ret < 0)
680 lbs_pr_err("firmware download failed\n"); 679 lbs_pr_err("firmware download failed\n");
681 goto err_release;
682 }
683
684 ret = 0;
685 goto done;
686
687 680
688err_release: 681err_release:
689 release_firmware(fw); 682 release_firmware(fw);
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index 1ebcafe7ca5f..36c004e15602 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -1970,6 +1970,9 @@ __orinoco_set_multicast_list(struct net_device *dev)
1970 priv->promiscuous = promisc; 1970 priv->promiscuous = promisc;
1971 } 1971 }
1972 1972
1973 /* If we're not in promiscuous mode, then we need to set the
1974 * group address if either we want to multicast, or if we were
1975 * multicasting and want to stop */
1973 if (! promisc && (mc_count || priv->mc_count) ) { 1976 if (! promisc && (mc_count || priv->mc_count) ) {
1974 struct dev_mc_list *p = dev->mc_list; 1977 struct dev_mc_list *p = dev->mc_list;
1975 struct hermes_multicast mclist; 1978 struct hermes_multicast mclist;
@@ -1989,9 +1992,10 @@ __orinoco_set_multicast_list(struct net_device *dev)
1989 printk(KERN_WARNING "%s: Multicast list is " 1992 printk(KERN_WARNING "%s: Multicast list is "
1990 "longer than mc_count\n", dev->name); 1993 "longer than mc_count\n", dev->name);
1991 1994
1992 err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFGROUPADDRESSES, 1995 err = hermes_write_ltv(hw, USER_BAP,
1993 HERMES_BYTES_TO_RECLEN(priv->mc_count * ETH_ALEN), 1996 HERMES_RID_CNFGROUPADDRESSES,
1994 &mclist); 1997 HERMES_BYTES_TO_RECLEN(mc_count * ETH_ALEN),
1998 &mclist);
1995 if (err) 1999 if (err)
1996 printk(KERN_ERR "%s: Error %d setting multicast list.\n", 2000 printk(KERN_ERR "%s: Error %d setting multicast list.\n",
1997 dev->name, err); 2001 dev->name, err);
diff --git a/drivers/net/wireless/rt2x00/rt2x00reg.h b/drivers/net/wireless/rt2x00/rt2x00reg.h
index 7e88ce5651b9..2ea7866abd5d 100644
--- a/drivers/net/wireless/rt2x00/rt2x00reg.h
+++ b/drivers/net/wireless/rt2x00/rt2x00reg.h
@@ -136,7 +136,7 @@ struct rt2x00_field32 {
136 */ 136 */
137#define is_power_of_two(x) ( !((x) & ((x)-1)) ) 137#define is_power_of_two(x) ( !((x) & ((x)-1)) )
138#define low_bit_mask(x) ( ((x)-1) & ~(x) ) 138#define low_bit_mask(x) ( ((x)-1) & ~(x) )
139#define is_valid_mask(x) is_power_of_two(1 + (x) + low_bit_mask(x)) 139#define is_valid_mask(x) is_power_of_two(1LU + (x) + low_bit_mask(x))
140 140
141/* 141/*
142 * Macro's to find first set bit in a variable. 142 * Macro's to find first set bit in a variable.
@@ -173,8 +173,7 @@ struct rt2x00_field32 {
173 * does not exceed the given typelimit. 173 * does not exceed the given typelimit.
174 */ 174 */
175#define FIELD_CHECK(__mask, __type) \ 175#define FIELD_CHECK(__mask, __type) \
176 BUILD_BUG_ON(!__builtin_constant_p(__mask) || \ 176 BUILD_BUG_ON(!(__mask) || \
177 !(__mask) || \
178 !is_valid_mask(__mask) || \ 177 !is_valid_mask(__mask) || \
179 (__mask) != (__type)(__mask)) \ 178 (__mask) != (__type)(__mask)) \
180 179
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c
index 2450b3a393ff..7ba78e6d210e 100644
--- a/drivers/oprofile/cpu_buffer.c
+++ b/drivers/oprofile/cpu_buffer.c
@@ -38,8 +38,10 @@ void free_cpu_buffers(void)
38{ 38{
39 int i; 39 int i;
40 40
41 for_each_online_cpu(i) 41 for_each_online_cpu(i) {
42 vfree(per_cpu(cpu_buffer, i).buffer); 42 vfree(per_cpu(cpu_buffer, i).buffer);
43 per_cpu(cpu_buffer, i).buffer = NULL;
44 }
43} 45}
44 46
45int alloc_cpu_buffers(void) 47int alloc_cpu_buffers(void)
diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c
index e7fbac529935..8d692a5c8e73 100644
--- a/drivers/oprofile/event_buffer.c
+++ b/drivers/oprofile/event_buffer.c
@@ -93,6 +93,8 @@ out:
93void free_event_buffer(void) 93void free_event_buffer(void)
94{ 94{
95 vfree(event_buffer); 95 vfree(event_buffer);
96
97 event_buffer = NULL;
96} 98}
97 99
98 100
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 82634a2f1b1d..1aad599816f7 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -352,11 +352,12 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long
352 continue; 352 continue;
353 r_size = r->end - r->start + 1; 353 r_size = r->end - r->start + 1;
354 /* For bridges size != alignment */ 354 /* For bridges size != alignment */
355 align = (i < PCI_BRIDGE_RESOURCES) ? r_size : r->start; 355 align = resource_alignment(r);
356 order = __ffs(align) - 20; 356 order = __ffs(align) - 20;
357 if (order > 11) { 357 if (order > 11) {
358 dev_warn(&dev->dev, "BAR %d too large: " 358 dev_warn(&dev->dev, "BAR %d bad alignment %llx: "
359 "%#016llx-%#016llx\n", i, 359 "%#016llx-%#016llx\n", i,
360 (unsigned long long)align,
360 (unsigned long long)r->start, 361 (unsigned long long)r->start,
361 (unsigned long long)r->end); 362 (unsigned long long)r->end);
362 r->flags = 0; 363 r->flags = 0;
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index e0f884034c9f..f57eeae3830a 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -220,7 +220,8 @@ config PCMCIA_PXA2XX
220 tristate "PXA2xx support" 220 tristate "PXA2xx support"
221 depends on ARM && ARCH_PXA && PCMCIA 221 depends on ARM && ARCH_PXA && PCMCIA
222 depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ 222 depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
223 || MACH_ARMCORE || ARCH_PXA_PALM) 223 || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
224 || ARCH_VIPER)
224 help 225 help
225 Say Y here to include support for the PXA2xx PCMCIA controller 226 Say Y here to include support for the PXA2xx PCMCIA controller
226 227
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
index 269a9e913ba2..8c2fe94122a2 100644
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
@@ -71,6 +71,8 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD) += sa1100_simpad.o
71pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK) += pxa2xx_lubbock.o sa1111_generic.o 71pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK) += pxa2xx_lubbock.o sa1111_generic.o
72pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o 72pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o
73pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o 73pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o
74pxa2xx_cs-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x270.o 74pxa2xx_cs-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x2xx.o pxa2xx_cm_x255.o pxa2xx_cm_x270.o
75pxa2xx_cs-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o 75pxa2xx_cs-$(CONFIG_ARCH_VIPER) += pxa2xx_viper.o
76 76pxa2xx_cs-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps.o
77pxa2xx_cs-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o
78pxa2xx_cs-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o
diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c
index 1b07af5a2ed3..13f1e0fd3f31 100644
--- a/drivers/pcmcia/pxa2xx_base.c
+++ b/drivers/pcmcia/pxa2xx_base.c
@@ -30,6 +30,7 @@
30#include <asm/system.h> 30#include <asm/system.h>
31#include <mach/pxa-regs.h> 31#include <mach/pxa-regs.h>
32#include <mach/pxa2xx-regs.h> 32#include <mach/pxa2xx-regs.h>
33#include <asm/mach-types.h>
33 34
34#include <pcmcia/cs_types.h> 35#include <pcmcia/cs_types.h>
35#include <pcmcia/ss.h> 36#include <pcmcia/ss.h>
@@ -166,18 +167,32 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
166} 167}
167#endif 168#endif
168 169
170static void pxa2xx_configure_sockets(struct device *dev)
171{
172 struct pcmcia_low_level *ops = dev->platform_data;
173
174 /*
175 * We have at least one socket, so set MECR:CIT
176 * (Card Is There)
177 */
178 MECR |= MECR_CIT;
179
180 /* Set MECR:NOS (Number Of Sockets) */
181 if (ops->nr > 1 || machine_is_viper())
182 MECR |= MECR_NOS;
183 else
184 MECR &= ~MECR_NOS;
185}
186
169int __pxa2xx_drv_pcmcia_probe(struct device *dev) 187int __pxa2xx_drv_pcmcia_probe(struct device *dev)
170{ 188{
171 int ret; 189 int ret;
172 struct pcmcia_low_level *ops; 190 struct pcmcia_low_level *ops;
173 int first, nr;
174 191
175 if (!dev || !dev->platform_data) 192 if (!dev || !dev->platform_data)
176 return -ENODEV; 193 return -ENODEV;
177 194
178 ops = (struct pcmcia_low_level *)dev->platform_data; 195 ops = (struct pcmcia_low_level *)dev->platform_data;
179 first = ops->first;
180 nr = ops->nr;
181 196
182 /* Provide our PXA2xx specific timing routines. */ 197 /* Provide our PXA2xx specific timing routines. */
183 ops->set_timing = pxa2xx_pcmcia_set_timing; 198 ops->set_timing = pxa2xx_pcmcia_set_timing;
@@ -185,21 +200,10 @@ int __pxa2xx_drv_pcmcia_probe(struct device *dev)
185 ops->frequency_change = pxa2xx_pcmcia_frequency_change; 200 ops->frequency_change = pxa2xx_pcmcia_frequency_change;
186#endif 201#endif
187 202
188 ret = soc_common_drv_pcmcia_probe(dev, ops, first, nr); 203 ret = soc_common_drv_pcmcia_probe(dev, ops, ops->first, ops->nr);
189 204
190 if (ret == 0) { 205 if (!ret)
191 /* 206 pxa2xx_configure_sockets(dev);
192 * We have at least one socket, so set MECR:CIT
193 * (Card Is There)
194 */
195 MECR |= MECR_CIT;
196
197 /* Set MECR:NOS (Number Of Sockets) */
198 if (nr > 1)
199 MECR |= MECR_NOS;
200 else
201 MECR &= ~MECR_NOS;
202 }
203 207
204 return ret; 208 return ret;
205} 209}
@@ -223,11 +227,7 @@ static int pxa2xx_drv_pcmcia_suspend(struct platform_device *dev, pm_message_t s
223 227
224static int pxa2xx_drv_pcmcia_resume(struct platform_device *dev) 228static int pxa2xx_drv_pcmcia_resume(struct platform_device *dev)
225{ 229{
226 struct pcmcia_low_level *ops = dev->dev.platform_data; 230 pxa2xx_configure_sockets(&dev->dev);
227 int nr = ops ? ops->nr : 0;
228
229 MECR = nr > 1 ? MECR_CIT | MECR_NOS : (nr > 0 ? MECR_CIT : 0);
230
231 return pcmcia_socket_dev_resume(&dev->dev); 231 return pcmcia_socket_dev_resume(&dev->dev);
232} 232}
233 233
diff --git a/drivers/pcmcia/pxa2xx_cm_x255.c b/drivers/pcmcia/pxa2xx_cm_x255.c
new file mode 100644
index 000000000000..7c8bcb476622
--- /dev/null
+++ b/drivers/pcmcia/pxa2xx_cm_x255.c
@@ -0,0 +1,154 @@
1/*
2 * linux/drivers/pcmcia/pxa/pxa_cm_x255.c
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * Compulab Ltd., 2003, 2007, 2008
9 * Mike Rapoport <mike@compulab.co.il>
10 *
11 */
12
13#include <linux/platform_device.h>
14#include <linux/irq.h>
15#include <linux/delay.h>
16#include <linux/gpio.h>
17
18#include <asm/mach-types.h>
19#include <mach/pxa-regs.h>
20
21#include "soc_common.h"
22
23#define GPIO_PCMCIA_SKTSEL (54)
24#define GPIO_PCMCIA_S0_CD_VALID (16)
25#define GPIO_PCMCIA_S1_CD_VALID (17)
26#define GPIO_PCMCIA_S0_RDYINT (6)
27#define GPIO_PCMCIA_S1_RDYINT (8)
28#define GPIO_PCMCIA_RESET (9)
29
30#define PCMCIA_S0_CD_VALID IRQ_GPIO(GPIO_PCMCIA_S0_CD_VALID)
31#define PCMCIA_S1_CD_VALID IRQ_GPIO(GPIO_PCMCIA_S1_CD_VALID)
32#define PCMCIA_S0_RDYINT IRQ_GPIO(GPIO_PCMCIA_S0_RDYINT)
33#define PCMCIA_S1_RDYINT IRQ_GPIO(GPIO_PCMCIA_S1_RDYINT)
34
35
36static struct pcmcia_irqs irqs[] = {
37 { 0, PCMCIA_S0_CD_VALID, "PCMCIA0 CD" },
38 { 1, PCMCIA_S1_CD_VALID, "PCMCIA1 CD" },
39};
40
41static int cmx255_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
42{
43 int ret = gpio_request(GPIO_PCMCIA_RESET, "PCCard reset");
44 if (ret)
45 return ret;
46 gpio_direction_output(GPIO_PCMCIA_RESET, 0);
47
48 skt->irq = skt->nr == 0 ? PCMCIA_S0_RDYINT : PCMCIA_S1_RDYINT;
49 ret = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
50 if (!ret)
51 gpio_free(GPIO_PCMCIA_RESET);
52
53 return ret;
54}
55
56static void cmx255_pcmcia_shutdown(struct soc_pcmcia_socket *skt)
57{
58 soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
59 gpio_free(GPIO_PCMCIA_RESET);
60}
61
62
63static void cmx255_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
64 struct pcmcia_state *state)
65{
66 int cd = skt->nr ? GPIO_PCMCIA_S1_CD_VALID : GPIO_PCMCIA_S0_CD_VALID;
67 int rdy = skt->nr ? GPIO_PCMCIA_S0_RDYINT : GPIO_PCMCIA_S1_RDYINT;
68
69 state->detect = !gpio_get_value(cd);
70 state->ready = !!gpio_get_value(rdy);
71 state->bvd1 = 1;
72 state->bvd2 = 1;
73 state->vs_3v = 0;
74 state->vs_Xv = 0;
75 state->wrprot = 0; /* not available */
76}
77
78
79static int cmx255_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
80 const socket_state_t *state)
81{
82 switch (skt->nr) {
83 case 0:
84 if (state->flags & SS_RESET) {
85 gpio_set_value(GPIO_PCMCIA_SKTSEL, 0);
86 udelay(1);
87 gpio_set_value(GPIO_PCMCIA_RESET, 1);
88 udelay(10);
89 gpio_set_value(GPIO_PCMCIA_RESET, 0);
90 }
91 break;
92 case 1:
93 if (state->flags & SS_RESET) {
94 gpio_set_value(GPIO_PCMCIA_SKTSEL, 1);
95 udelay(1);
96 gpio_set_value(GPIO_PCMCIA_RESET, 1);
97 udelay(10);
98 gpio_set_value(GPIO_PCMCIA_RESET, 0);
99 }
100 break;
101 }
102
103 return 0;
104}
105
106static void cmx255_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
107{
108}
109
110static void cmx255_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
111{
112}
113
114
115static struct pcmcia_low_level cmx255_pcmcia_ops __initdata = {
116 .owner = THIS_MODULE,
117 .hw_init = cmx255_pcmcia_hw_init,
118 .hw_shutdown = cmx255_pcmcia_shutdown,
119 .socket_state = cmx255_pcmcia_socket_state,
120 .configure_socket = cmx255_pcmcia_configure_socket,
121 .socket_init = cmx255_pcmcia_socket_init,
122 .socket_suspend = cmx255_pcmcia_socket_suspend,
123 .nr = 1,
124};
125
126static struct platform_device *cmx255_pcmcia_device;
127
128int __init cmx255_pcmcia_init(void)
129{
130 int ret;
131
132 cmx255_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
133
134 if (!cmx255_pcmcia_device)
135 return -ENOMEM;
136
137 ret = platform_device_add_data(cmx255_pcmcia_device, &cmx255_pcmcia_ops,
138 sizeof(cmx255_pcmcia_ops));
139
140 if (ret == 0) {
141 printk(KERN_INFO "Registering cm-x255 PCMCIA interface.\n");
142 ret = platform_device_add(cmx255_pcmcia_device);
143 }
144
145 if (ret)
146 platform_device_put(cmx255_pcmcia_device);
147
148 return ret;
149}
150
151void __exit cmx255_pcmcia_exit(void)
152{
153 platform_device_unregister(cmx255_pcmcia_device);
154}
diff --git a/drivers/pcmcia/pxa2xx_cm_x270.c b/drivers/pcmcia/pxa2xx_cm_x270.c
index bcff5cfed051..6c3aac377126 100644
--- a/drivers/pcmcia/pxa2xx_cm_x270.c
+++ b/drivers/pcmcia/pxa2xx_cm_x270.c
@@ -105,13 +105,10 @@ static struct pcmcia_low_level cmx270_pcmcia_ops __initdata = {
105 105
106static struct platform_device *cmx270_pcmcia_device; 106static struct platform_device *cmx270_pcmcia_device;
107 107
108static int __init cmx270_pcmcia_init(void) 108int __init cmx270_pcmcia_init(void)
109{ 109{
110 int ret; 110 int ret;
111 111
112 if (!machine_is_armcore())
113 return -ENODEV;
114
115 cmx270_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); 112 cmx270_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
116 113
117 if (!cmx270_pcmcia_device) 114 if (!cmx270_pcmcia_device)
@@ -131,14 +128,7 @@ static int __init cmx270_pcmcia_init(void)
131 return ret; 128 return ret;
132} 129}
133 130
134static void __exit cmx270_pcmcia_exit(void) 131void __exit cmx270_pcmcia_exit(void)
135{ 132{
136 platform_device_unregister(cmx270_pcmcia_device); 133 platform_device_unregister(cmx270_pcmcia_device);
137} 134}
138
139module_init(cmx270_pcmcia_init);
140module_exit(cmx270_pcmcia_exit);
141
142MODULE_LICENSE("GPL");
143MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
144MODULE_DESCRIPTION("CM-x270 PCMCIA driver");
diff --git a/drivers/pcmcia/pxa2xx_cm_x2xx.c b/drivers/pcmcia/pxa2xx_cm_x2xx.c
new file mode 100644
index 000000000000..4f09506ad8d4
--- /dev/null
+++ b/drivers/pcmcia/pxa2xx_cm_x2xx.c
@@ -0,0 +1,49 @@
1/*
2 * linux/drivers/pcmcia/pxa/pxa_cm_x2xx.c
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * Compulab Ltd., 2003, 2007, 2008
9 * Mike Rapoport <mike@compulab.co.il>
10 *
11 */
12
13#include <linux/module.h>
14
15#include <asm/system.h>
16#include <asm/mach-types.h>
17#include <mach/system.h>
18
19int cmx255_pcmcia_init(void);
20int cmx270_pcmcia_init(void);
21void cmx255_pcmcia_exit(void);
22void cmx270_pcmcia_exit(void);
23
24static int __init cmx2xx_pcmcia_init(void)
25{
26 int ret = -ENODEV;
27
28 if (machine_is_armcore() && cpu_is_pxa25x())
29 ret = cmx255_pcmcia_init();
30 else if (machine_is_armcore() && cpu_is_pxa27x())
31 ret = cmx270_pcmcia_init();
32
33 return ret;
34}
35
36static void __exit cmx2xx_pcmcia_exit(void)
37{
38 if (machine_is_armcore() && cpu_is_pxa25x())
39 cmx255_pcmcia_exit();
40 else if (machine_is_armcore() && cpu_is_pxa27x())
41 cmx270_pcmcia_exit();
42}
43
44module_init(cmx2xx_pcmcia_init);
45module_exit(cmx2xx_pcmcia_exit);
46
47MODULE_LICENSE("GPL");
48MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
49MODULE_DESCRIPTION("CM-x2xx PCMCIA driver");
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
new file mode 100644
index 000000000000..1736c67e547e
--- /dev/null
+++ b/drivers/pcmcia/pxa2xx_palmld.c
@@ -0,0 +1,151 @@
1/*
2 * linux/drivers/pcmcia/pxa2xx_palmld.c
3 *
4 * Driver for Palm LifeDrive PCMCIA
5 *
6 * Copyright (C) 2006 Alex Osborne <ato@meshy.org>
7 * Copyright (C) 2007-2008 Marek Vasut <marek.vasut@gmail.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 */
14
15#include <linux/module.h>
16#include <linux/platform_device.h>
17#include <linux/gpio.h>
18
19#include <asm/mach-types.h>
20#include <mach/palmld.h>
21#include "soc_common.h"
22
23static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
24{
25 int ret;
26
27 ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
28 if (ret)
29 goto err1;
30 ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
31 if (ret)
32 goto err2;
33
34 ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
35 if (ret)
36 goto err2;
37 ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
38 if (ret)
39 goto err3;
40
41 ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
42 if (ret)
43 goto err3;
44 ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
45 if (ret)
46 goto err4;
47
48 skt->irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
49 return 0;
50
51err4:
52 gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
53err3:
54 gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
55err2:
56 gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
57err1:
58 return ret;
59}
60
61static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
62{
63 gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
64 gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
65 gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
66}
67
68static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
69 struct pcmcia_state *state)
70{
71 state->detect = 1; /* always inserted */
72 state->ready = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
73 state->bvd1 = 1;
74 state->bvd2 = 1;
75 state->wrprot = 0;
76 state->vs_3v = 1;
77 state->vs_Xv = 0;
78}
79
80static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
81 const socket_state_t *state)
82{
83 gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
84 gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
85 !!(state->flags & SS_RESET));
86
87 return 0;
88}
89
90static void palmld_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
91{
92}
93
94static void palmld_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
95{
96}
97
98static struct pcmcia_low_level palmld_pcmcia_ops = {
99 .owner = THIS_MODULE,
100
101 .first = 0,
102 .nr = 2,
103
104 .hw_init = palmld_pcmcia_hw_init,
105 .hw_shutdown = palmld_pcmcia_hw_shutdown,
106
107 .socket_state = palmld_pcmcia_socket_state,
108 .configure_socket = palmld_pcmcia_configure_socket,
109
110 .socket_init = palmld_pcmcia_socket_init,
111 .socket_suspend = palmld_pcmcia_socket_suspend,
112};
113
114static struct platform_device *palmld_pcmcia_device;
115
116static int __init palmld_pcmcia_init(void)
117{
118 int ret;
119
120 if (!machine_is_palmld())
121 return -ENODEV;
122
123 palmld_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
124 if (!palmld_pcmcia_device)
125 return -ENOMEM;
126
127 ret = platform_device_add_data(palmld_pcmcia_device, &palmld_pcmcia_ops,
128 sizeof(palmld_pcmcia_ops));
129
130 if (!ret)
131 ret = platform_device_add(palmld_pcmcia_device);
132
133 if (ret)
134 platform_device_put(palmld_pcmcia_device);
135
136 return ret;
137}
138
139static void __exit palmld_pcmcia_exit(void)
140{
141 platform_device_unregister(palmld_pcmcia_device);
142}
143
144module_init(palmld_pcmcia_init);
145module_exit(palmld_pcmcia_exit);
146
147MODULE_AUTHOR("Alex Osborne <ato@meshy.org>,"
148 " Marek Vasut <marek.vasut@gmail.com>");
149MODULE_DESCRIPTION("PCMCIA support for Palm LifeDrive");
150MODULE_ALIAS("platform:pxa2xx-pcmcia");
151MODULE_LICENSE("GPL");
diff --git a/drivers/pcmcia/pxa2xx_trizeps4.c b/drivers/pcmcia/pxa2xx_trizeps4.c
new file mode 100644
index 000000000000..36c7a0b324d2
--- /dev/null
+++ b/drivers/pcmcia/pxa2xx_trizeps4.c
@@ -0,0 +1,256 @@
1/*
2 * linux/drivers/pcmcia/pxa2xx_trizeps4.c
3 *
4 * TRIZEPS PCMCIA specific routines.
5 *
6 * Author: Jürgen Schindele
7 * Created: 20 02, 2006
8 * Copyright: Jürgen Schindele
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#include <linux/module.h>
16#include <linux/init.h>
17#include <linux/kernel.h>
18#include <linux/gpio.h>
19#include <linux/interrupt.h>
20#include <linux/platform_device.h>
21
22#include <asm/mach-types.h>
23#include <asm/irq.h>
24
25#include <mach/hardware.h>
26#include <mach/pxa-regs.h>
27#include <mach/trizeps4.h>
28
29#include "soc_common.h"
30
31extern void board_pcmcia_power(int power);
32
33static struct pcmcia_irqs irqs[] = {
34 { 0, IRQ_GPIO(GPIO_PCD), "cs0_cd" }
35 /* on other baseboards we can have more inputs */
36};
37
38static int trizeps_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
39{
40 int ret, i;
41 /* we dont have voltage/card/ready detection
42 * so we dont need interrupts for it
43 */
44 switch (skt->nr) {
45 case 0:
46 if (gpio_request(GPIO_PRDY, "cf_irq") < 0) {
47 pr_err("%s: sock %d unable to request gpio %d\n", __func__,
48 skt->nr, GPIO_PRDY);
49 return -EBUSY;
50 }
51 if (gpio_direction_input(GPIO_PRDY) < 0) {
52 pr_err("%s: sock %d unable to set input gpio %d\n", __func__,
53 skt->nr, GPIO_PRDY);
54 gpio_free(GPIO_PRDY);
55 return -EINVAL;
56 }
57 skt->irq = IRQ_GPIO(GPIO_PRDY);
58 break;
59
60#ifndef CONFIG_MACH_TRIZEPS_CONXS
61 case 1:
62#endif
63 default:
64 break;
65 }
66 /* release the reset of this card */
67 pr_debug("%s: sock %d irq %d\n", __func__, skt->nr, skt->irq);
68
69 /* supplementory irqs for the socket */
70 for (i = 0; i < ARRAY_SIZE(irqs); i++) {
71 if (irqs[i].sock != skt->nr)
72 continue;
73 if (gpio_request(IRQ_TO_GPIO(irqs[i].irq), irqs[i].str) < 0) {
74 pr_err("%s: sock %d unable to request gpio %d\n",
75 __func__, skt->nr, IRQ_TO_GPIO(irqs[i].irq));
76 ret = -EBUSY;
77 goto error;
78 }
79 if (gpio_direction_input(IRQ_TO_GPIO(irqs[i].irq)) < 0) {
80 pr_err("%s: sock %d unable to set input gpio %d\n",
81 __func__, skt->nr, IRQ_TO_GPIO(irqs[i].irq));
82 ret = -EINVAL;
83 goto error;
84 }
85 }
86 return soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
87
88error:
89 for (; i >= 0; i--) {
90 gpio_free(IRQ_TO_GPIO(irqs[i].irq));
91 }
92 return (ret);
93}
94
95static void trizeps_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
96{
97 int i;
98 /* free allocated gpio's */
99 gpio_free(GPIO_PRDY);
100 for (i = 0; i < ARRAY_SIZE(irqs); i++)
101 gpio_free(IRQ_TO_GPIO(irqs[i].irq));
102}
103
104static unsigned long trizeps_pcmcia_status[2];
105
106static void trizeps_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
107 struct pcmcia_state *state)
108{
109 unsigned short status = 0, change;
110 status = CFSR_readw();
111 change = (status ^ trizeps_pcmcia_status[skt->nr]) &
112 ConXS_CFSR_BVD_MASK;
113 if (change) {
114 trizeps_pcmcia_status[skt->nr] = status;
115 if (status & ConXS_CFSR_BVD1) {
116 /* enable_irq empty */
117 } else {
118 /* disable_irq empty */
119 }
120 }
121
122 switch (skt->nr) {
123 case 0:
124 /* just fill in fix states */
125 state->detect = gpio_get_value(GPIO_PCD) ? 0 : 1;
126 state->ready = gpio_get_value(GPIO_PRDY) ? 1 : 0;
127 state->bvd1 = (status & ConXS_CFSR_BVD1) ? 1 : 0;
128 state->bvd2 = (status & ConXS_CFSR_BVD2) ? 1 : 0;
129 state->vs_3v = (status & ConXS_CFSR_VS1) ? 0 : 1;
130 state->vs_Xv = (status & ConXS_CFSR_VS2) ? 0 : 1;
131 state->wrprot = 0; /* not available */
132 break;
133
134#ifndef CONFIG_MACH_TRIZEPS_CONXS
135 /* on ConXS we only have one slot. Second is inactive */
136 case 1:
137 state->detect = 0;
138 state->ready = 0;
139 state->bvd1 = 0;
140 state->bvd2 = 0;
141 state->vs_3v = 0;
142 state->vs_Xv = 0;
143 state->wrprot = 0;
144 break;
145
146#endif
147 }
148}
149
150static int trizeps_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
151 const socket_state_t *state)
152{
153 int ret = 0;
154 unsigned short power = 0;
155
156 /* we do nothing here just check a bit */
157 switch (state->Vcc) {
158 case 0: power &= 0xfc; break;
159 case 33: power |= ConXS_BCR_S0_VCC_3V3; break;
160 case 50:
161 pr_err("%s(): Vcc 5V not supported in socket\n", __func__);
162 break;
163 default:
164 pr_err("%s(): bad Vcc %u\n", __func__, state->Vcc);
165 ret = -1;
166 }
167
168 switch (state->Vpp) {
169 case 0: power &= 0xf3; break;
170 case 33: power |= ConXS_BCR_S0_VPP_3V3; break;
171 case 120:
172 pr_err("%s(): Vpp 12V not supported in socket\n", __func__);
173 break;
174 default:
175 if (state->Vpp != state->Vcc) {
176 pr_err("%s(): bad Vpp %u\n", __func__, state->Vpp);
177 ret = -1;
178 }
179 }
180
181 switch (skt->nr) {
182 case 0: /* we only have 3.3V */
183 board_pcmcia_power(power);
184 break;
185
186#ifndef CONFIG_MACH_TRIZEPS_CONXS
187 /* on ConXS we only have one slot. Second is inactive */
188 case 1:
189#endif
190 default:
191 break;
192 }
193
194 return ret;
195}
196
197static void trizeps_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
198{
199 /* default is on */
200 board_pcmcia_power(0x9);
201}
202
203static void trizeps_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
204{
205 board_pcmcia_power(0x0);
206}
207
208static struct pcmcia_low_level trizeps_pcmcia_ops = {
209 .owner = THIS_MODULE,
210 .hw_init = trizeps_pcmcia_hw_init,
211 .hw_shutdown = trizeps_pcmcia_hw_shutdown,
212 .socket_state = trizeps_pcmcia_socket_state,
213 .configure_socket = trizeps_pcmcia_configure_socket,
214 .socket_init = trizeps_pcmcia_socket_init,
215 .socket_suspend = trizeps_pcmcia_socket_suspend,
216#ifdef CONFIG_MACH_TRIZEPS_CONXS
217 .nr = 1,
218#else
219 .nr = 2,
220#endif
221 .first = 0,
222};
223
224static struct platform_device *trizeps_pcmcia_device;
225
226static int __init trizeps_pcmcia_init(void)
227{
228 int ret;
229
230 trizeps_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
231 if (!trizeps_pcmcia_device)
232 return -ENOMEM;
233
234 ret = platform_device_add_data(trizeps_pcmcia_device,
235 &trizeps_pcmcia_ops, sizeof(trizeps_pcmcia_ops));
236
237 if (ret == 0)
238 ret = platform_device_add(trizeps_pcmcia_device);
239
240 if (ret)
241 platform_device_put(trizeps_pcmcia_device);
242
243 return ret;
244}
245
246static void __exit trizeps_pcmcia_exit(void)
247{
248 platform_device_unregister(trizeps_pcmcia_device);
249}
250
251fs_initcall(trizeps_pcmcia_init);
252module_exit(trizeps_pcmcia_exit);
253
254MODULE_LICENSE("GPL");
255MODULE_AUTHOR("Juergen Schindele");
256MODULE_ALIAS("platform:pxa2xx-pcmcia");
diff --git a/drivers/pcmcia/pxa2xx_viper.c b/drivers/pcmcia/pxa2xx_viper.c
new file mode 100644
index 000000000000..dd10481be7bf
--- /dev/null
+++ b/drivers/pcmcia/pxa2xx_viper.c
@@ -0,0 +1,179 @@
1/*
2 * VIPER PCMCIA support
3 * Copyright 2004 Arcom Control Systems
4 *
5 * Maintained by Marc Zyngier <maz@misterjones.org>
6 * <marc.zyngier@altran.com>
7 *
8 * Based on:
9 * iPAQ h2200 PCMCIA support
10 * Copyright 2004 Koen Kooi <koen@vestingbar.nl>
11 *
12 * This file is subject to the terms and conditions of the GNU General Public
13 * License. See the file COPYING in the main directory of this archive for
14 * more details.
15 */
16
17#include <linux/module.h>
18#include <linux/init.h>
19#include <linux/kernel.h>
20#include <linux/errno.h>
21#include <linux/interrupt.h>
22#include <linux/platform_device.h>
23#include <linux/gpio.h>
24
25#include <pcmcia/ss.h>
26
27#include <asm/irq.h>
28
29#include <mach/pxa-regs.h>
30#include <mach/viper.h>
31#include <asm/mach-types.h>
32
33#include "soc_common.h"
34#include "pxa2xx_base.h"
35
36static struct pcmcia_irqs irqs[] = {
37 { 0, gpio_to_irq(VIPER_CF_CD_GPIO), "PCMCIA_CD" }
38};
39
40static int viper_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
41{
42 unsigned long flags;
43
44 skt->irq = gpio_to_irq(VIPER_CF_RDY_GPIO);
45
46 if (gpio_request(VIPER_CF_CD_GPIO, "CF detect"))
47 goto err_request_cd;
48
49 if (gpio_request(VIPER_CF_RDY_GPIO, "CF ready"))
50 goto err_request_rdy;
51
52 if (gpio_request(VIPER_CF_POWER_GPIO, "CF power"))
53 goto err_request_pwr;
54
55 local_irq_save(flags);
56
57 /* GPIO 82 is the CF power enable line. initially off */
58 if (gpio_direction_output(VIPER_CF_POWER_GPIO, 0) ||
59 gpio_direction_input(VIPER_CF_CD_GPIO) ||
60 gpio_direction_input(VIPER_CF_RDY_GPIO)) {
61 local_irq_restore(flags);
62 goto err_dir;
63 }
64
65 local_irq_restore(flags);
66
67 return soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
68
69err_dir:
70 gpio_free(VIPER_CF_POWER_GPIO);
71err_request_pwr:
72 gpio_free(VIPER_CF_RDY_GPIO);
73err_request_rdy:
74 gpio_free(VIPER_CF_CD_GPIO);
75err_request_cd:
76 printk(KERN_ERR "viper: Failed to setup PCMCIA GPIOs\n");
77 return -1;
78}
79
80/*
81 * Release all resources.
82 */
83static void viper_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
84{
85 soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
86 gpio_free(VIPER_CF_POWER_GPIO);
87 gpio_free(VIPER_CF_RDY_GPIO);
88 gpio_free(VIPER_CF_CD_GPIO);
89}
90
91static void viper_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
92 struct pcmcia_state *state)
93{
94 state->detect = gpio_get_value(VIPER_CF_CD_GPIO) ? 0 : 1;
95 state->ready = gpio_get_value(VIPER_CF_RDY_GPIO) ? 1 : 0;
96 state->bvd1 = 1;
97 state->bvd2 = 1;
98 state->wrprot = 0;
99 state->vs_3v = 1; /* Can only apply 3.3V */
100 state->vs_Xv = 0;
101}
102
103static int viper_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
104 const socket_state_t *state)
105{
106 /* Silently ignore Vpp, output enable, speaker enable. */
107 viper_cf_rst(state->flags & SS_RESET);
108
109 /* Apply socket voltage */
110 switch (state->Vcc) {
111 case 0:
112 gpio_set_value(VIPER_CF_POWER_GPIO, 0);
113 break;
114 case 33:
115 gpio_set_value(VIPER_CF_POWER_GPIO, 1);
116 break;
117 default:
118 printk(KERN_ERR "%s: Unsupported Vcc:%d\n",
119 __func__, state->Vcc);
120 return -1;
121 }
122
123 return 0;
124}
125
126static void viper_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
127{
128}
129
130static void viper_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
131{
132}
133
134static struct pcmcia_low_level viper_pcmcia_ops __initdata = {
135 .owner = THIS_MODULE,
136 .hw_init = viper_pcmcia_hw_init,
137 .hw_shutdown = viper_pcmcia_hw_shutdown,
138 .socket_state = viper_pcmcia_socket_state,
139 .configure_socket = viper_pcmcia_configure_socket,
140 .socket_init = viper_pcmcia_socket_init,
141 .socket_suspend = viper_pcmcia_socket_suspend,
142 .nr = 1,
143};
144
145static struct platform_device *viper_pcmcia_device;
146
147static int __init viper_pcmcia_init(void)
148{
149 int ret;
150
151 if (!machine_is_viper())
152 return -ENODEV;
153
154 viper_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
155 if (!viper_pcmcia_device)
156 return -ENOMEM;
157
158 ret = platform_device_add_data(viper_pcmcia_device,
159 &viper_pcmcia_ops,
160 sizeof(viper_pcmcia_ops));
161
162 if (!ret)
163 ret = platform_device_add(viper_pcmcia_device);
164
165 if (ret)
166 platform_device_put(viper_pcmcia_device);
167
168 return ret;
169}
170
171static void __exit viper_pcmcia_exit(void)
172{
173 platform_device_unregister(viper_pcmcia_device);
174}
175
176module_init(viper_pcmcia_init);
177module_exit(viper_pcmcia_exit);
178
179MODULE_LICENSE("GPL");
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c
index d7e9f2152df0..95015cbfd33f 100644
--- a/drivers/pnp/pnpacpi/rsparser.c
+++ b/drivers/pnp/pnpacpi/rsparser.c
@@ -405,8 +405,6 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res,
405 405
406 case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: 406 case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
407 extended_irq = &res->data.extended_irq; 407 extended_irq = &res->data.extended_irq;
408 if (extended_irq->producer_consumer == ACPI_PRODUCER)
409 return AE_OK;
410 408
411 if (extended_irq->interrupt_count == 0) 409 if (extended_irq->interrupt_count == 0)
412 pnp_add_irq_resource(dev, 0, IORESOURCE_DISABLED); 410 pnp_add_irq_resource(dev, 0, IORESOURCE_DISABLED);
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index 9ce55850271a..1982f8b42782 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -56,10 +56,10 @@ config BATTERY_TOSA
56 Say Y to enable support for the battery on the Sharp Zaurus 56 Say Y to enable support for the battery on the Sharp Zaurus
57 SL-6000 (tosa) models. 57 SL-6000 (tosa) models.
58 58
59config BATTERY_PALMTX 59config BATTERY_WM97XX
60 tristate "Palm T|X battery" 60 bool "WM97xx generic battery driver"
61 depends on MACH_PALMTX 61 depends on TOUCHSCREEN_WM97XX
62 help 62 help
63 Say Y to enable support for the battery in Palm T|X. 63 Say Y to enable support for battery measured by WM97xx aux port.
64 64
65endif # POWER_SUPPLY 65endif # POWER_SUPPLY
diff --git a/drivers/power/Makefile b/drivers/power/Makefile
index 4706bf8ff459..4e20026cc45a 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
@@ -21,4 +21,4 @@ obj-$(CONFIG_BATTERY_DS2760) += ds2760_battery.o
21obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o 21obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o
22obj-$(CONFIG_BATTERY_OLPC) += olpc_battery.o 22obj-$(CONFIG_BATTERY_OLPC) += olpc_battery.o
23obj-$(CONFIG_BATTERY_TOSA) += tosa_battery.o 23obj-$(CONFIG_BATTERY_TOSA) += tosa_battery.o
24obj-$(CONFIG_BATTERY_PALMTX) += palmtx_battery.o 24obj-$(CONFIG_BATTERY_WM97XX) += wm97xx_battery.o \ No newline at end of file
diff --git a/drivers/power/palmtx_battery.c b/drivers/power/palmtx_battery.c
deleted file mode 100644
index 7035bfa41c62..000000000000
--- a/drivers/power/palmtx_battery.c
+++ /dev/null
@@ -1,198 +0,0 @@
1/*
2 * linux/drivers/power/palmtx_battery.c
3 *
4 * Battery measurement code for Palm T|X Handheld computer
5 *
6 * based on tosa_battery.c
7 *
8 * Copyright (C) 2008 Marek Vasut <marek.vasut@gmail.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14 */
15#include <linux/kernel.h>
16#include <linux/module.h>
17#include <linux/power_supply.h>
18#include <linux/wm97xx.h>
19#include <linux/delay.h>
20#include <linux/spinlock.h>
21#include <linux/interrupt.h>
22#include <linux/gpio.h>
23
24#include <asm/mach-types.h>
25#include <mach/palmtx.h>
26
27static DEFINE_MUTEX(bat_lock);
28static struct work_struct bat_work;
29struct mutex work_lock;
30int bat_status = POWER_SUPPLY_STATUS_DISCHARGING;
31
32static unsigned long palmtx_read_bat(struct power_supply *bat_ps)
33{
34 return wm97xx_read_aux_adc(bat_ps->dev->parent->driver_data,
35 WM97XX_AUX_ID3) * 1000 / 414;
36}
37
38static unsigned long palmtx_read_temp(struct power_supply *bat_ps)
39{
40 return wm97xx_read_aux_adc(bat_ps->dev->parent->driver_data,
41 WM97XX_AUX_ID2);
42}
43
44static int palmtx_bat_get_property(struct power_supply *bat_ps,
45 enum power_supply_property psp,
46 union power_supply_propval *val)
47{
48 switch (psp) {
49 case POWER_SUPPLY_PROP_STATUS:
50 val->intval = bat_status;
51 break;
52 case POWER_SUPPLY_PROP_TECHNOLOGY:
53 val->intval = POWER_SUPPLY_TECHNOLOGY_LIPO;
54 break;
55 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
56 val->intval = palmtx_read_bat(bat_ps);
57 break;
58 case POWER_SUPPLY_PROP_VOLTAGE_MAX:
59 case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
60 val->intval = PALMTX_BAT_MAX_VOLTAGE;
61 break;
62 case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
63 val->intval = PALMTX_BAT_MIN_VOLTAGE;
64 break;
65 case POWER_SUPPLY_PROP_TEMP:
66 val->intval = palmtx_read_temp(bat_ps);
67 break;
68 case POWER_SUPPLY_PROP_PRESENT:
69 val->intval = 1;
70 break;
71 default:
72 return -EINVAL;
73 }
74 return 0;
75}
76
77static void palmtx_bat_external_power_changed(struct power_supply *bat_ps)
78{
79 schedule_work(&bat_work);
80}
81
82static char *status_text[] = {
83 [POWER_SUPPLY_STATUS_UNKNOWN] = "Unknown",
84 [POWER_SUPPLY_STATUS_CHARGING] = "Charging",
85 [POWER_SUPPLY_STATUS_DISCHARGING] = "Discharging",
86};
87
88static void palmtx_bat_update(struct power_supply *bat_ps)
89{
90 int old_status = bat_status;
91
92 mutex_lock(&work_lock);
93
94 bat_status = gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT) ?
95 POWER_SUPPLY_STATUS_CHARGING :
96 POWER_SUPPLY_STATUS_DISCHARGING;
97
98 if (old_status != bat_status) {
99 pr_debug("%s %s -> %s\n", bat_ps->name,
100 status_text[old_status],
101 status_text[bat_status]);
102 power_supply_changed(bat_ps);
103 }
104
105 mutex_unlock(&work_lock);
106}
107
108static enum power_supply_property palmtx_bat_main_props[] = {
109 POWER_SUPPLY_PROP_STATUS,
110 POWER_SUPPLY_PROP_TECHNOLOGY,
111 POWER_SUPPLY_PROP_VOLTAGE_NOW,
112 POWER_SUPPLY_PROP_VOLTAGE_MAX,
113 POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
114 POWER_SUPPLY_PROP_TEMP,
115 POWER_SUPPLY_PROP_PRESENT,
116};
117
118struct power_supply bat_ps = {
119 .name = "main-battery",
120 .type = POWER_SUPPLY_TYPE_BATTERY,
121 .properties = palmtx_bat_main_props,
122 .num_properties = ARRAY_SIZE(palmtx_bat_main_props),
123 .get_property = palmtx_bat_get_property,
124 .external_power_changed = palmtx_bat_external_power_changed,
125 .use_for_apm = 1,
126};
127
128static void palmtx_bat_work(struct work_struct *work)
129{
130 palmtx_bat_update(&bat_ps);
131}
132
133#ifdef CONFIG_PM
134static int palmtx_bat_suspend(struct platform_device *dev, pm_message_t state)
135{
136 flush_scheduled_work();
137 return 0;
138}
139
140static int palmtx_bat_resume(struct platform_device *dev)
141{
142 schedule_work(&bat_work);
143 return 0;
144}
145#else
146#define palmtx_bat_suspend NULL
147#define palmtx_bat_resume NULL
148#endif
149
150static int __devinit palmtx_bat_probe(struct platform_device *dev)
151{
152 int ret = 0;
153
154 if (!machine_is_palmtx())
155 return -ENODEV;
156
157 mutex_init(&work_lock);
158
159 INIT_WORK(&bat_work, palmtx_bat_work);
160
161 ret = power_supply_register(&dev->dev, &bat_ps);
162 if (!ret)
163 schedule_work(&bat_work);
164
165 return ret;
166}
167
168static int __devexit palmtx_bat_remove(struct platform_device *dev)
169{
170 power_supply_unregister(&bat_ps);
171 return 0;
172}
173
174static struct platform_driver palmtx_bat_driver = {
175 .driver.name = "wm97xx-battery",
176 .driver.owner = THIS_MODULE,
177 .probe = palmtx_bat_probe,
178 .remove = __devexit_p(palmtx_bat_remove),
179 .suspend = palmtx_bat_suspend,
180 .resume = palmtx_bat_resume,
181};
182
183static int __init palmtx_bat_init(void)
184{
185 return platform_driver_register(&palmtx_bat_driver);
186}
187
188static void __exit palmtx_bat_exit(void)
189{
190 platform_driver_unregister(&palmtx_bat_driver);
191}
192
193module_init(palmtx_bat_init);
194module_exit(palmtx_bat_exit);
195
196MODULE_LICENSE("GPL");
197MODULE_AUTHOR("Marek Vasut <marek.vasut@gmail.com>");
198MODULE_DESCRIPTION("Palm T|X battery driver");
diff --git a/drivers/power/wm97xx_battery.c b/drivers/power/wm97xx_battery.c
new file mode 100644
index 000000000000..8bde92126d34
--- /dev/null
+++ b/drivers/power/wm97xx_battery.c
@@ -0,0 +1,272 @@
1/*
2 * linux/drivers/power/wm97xx_battery.c
3 *
4 * Battery measurement code for WM97xx
5 *
6 * based on tosa_battery.c
7 *
8 * Copyright (C) 2008 Marek Vasut <marek.vasut@gmail.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14 */
15
16#include <linux/init.h>
17#include <linux/kernel.h>
18#include <linux/module.h>
19#include <linux/platform_device.h>
20#include <linux/power_supply.h>
21#include <linux/wm97xx.h>
22#include <linux/spinlock.h>
23#include <linux/interrupt.h>
24#include <linux/gpio.h>
25#include <linux/wm97xx_batt.h>
26
27static DEFINE_MUTEX(bat_lock);
28static struct work_struct bat_work;
29struct mutex work_lock;
30static int bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
31static struct wm97xx_batt_info *pdata;
32static enum power_supply_property *prop;
33
34static unsigned long wm97xx_read_bat(struct power_supply *bat_ps)
35{
36 return wm97xx_read_aux_adc(bat_ps->dev->parent->driver_data,
37 pdata->batt_aux) * pdata->batt_mult /
38 pdata->batt_div;
39}
40
41static unsigned long wm97xx_read_temp(struct power_supply *bat_ps)
42{
43 return wm97xx_read_aux_adc(bat_ps->dev->parent->driver_data,
44 pdata->temp_aux) * pdata->temp_mult /
45 pdata->temp_div;
46}
47
48static int wm97xx_bat_get_property(struct power_supply *bat_ps,
49 enum power_supply_property psp,
50 union power_supply_propval *val)
51{
52 switch (psp) {
53 case POWER_SUPPLY_PROP_STATUS:
54 val->intval = bat_status;
55 break;
56 case POWER_SUPPLY_PROP_TECHNOLOGY:
57 val->intval = pdata->batt_tech;
58 break;
59 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
60 if (pdata->batt_aux >= 0)
61 val->intval = wm97xx_read_bat(bat_ps);
62 else
63 return -EINVAL;
64 break;
65 case POWER_SUPPLY_PROP_TEMP:
66 if (pdata->temp_aux >= 0)
67 val->intval = wm97xx_read_temp(bat_ps);
68 else
69 return -EINVAL;
70 break;
71 case POWER_SUPPLY_PROP_VOLTAGE_MAX:
72 if (pdata->max_voltage >= 0)
73 val->intval = pdata->max_voltage;
74 else
75 return -EINVAL;
76 break;
77 case POWER_SUPPLY_PROP_VOLTAGE_MIN:
78 if (pdata->min_voltage >= 0)
79 val->intval = pdata->min_voltage;
80 else
81 return -EINVAL;
82 break;
83 case POWER_SUPPLY_PROP_PRESENT:
84 val->intval = 1;
85 break;
86 default:
87 return -EINVAL;
88 }
89 return 0;
90}
91
92static void wm97xx_bat_external_power_changed(struct power_supply *bat_ps)
93{
94 schedule_work(&bat_work);
95}
96
97static void wm97xx_bat_update(struct power_supply *bat_ps)
98{
99 int old_status = bat_status;
100
101 mutex_lock(&work_lock);
102
103 bat_status = (pdata->charge_gpio >= 0) ?
104 (gpio_get_value(pdata->charge_gpio) ?
105 POWER_SUPPLY_STATUS_DISCHARGING :
106 POWER_SUPPLY_STATUS_CHARGING) :
107 POWER_SUPPLY_STATUS_UNKNOWN;
108
109 if (old_status != bat_status) {
110 pr_debug("%s: %i -> %i\n", bat_ps->name, old_status,
111 bat_status);
112 power_supply_changed(bat_ps);
113 }
114
115 mutex_unlock(&work_lock);
116}
117
118static struct power_supply bat_ps = {
119 .type = POWER_SUPPLY_TYPE_BATTERY,
120 .get_property = wm97xx_bat_get_property,
121 .external_power_changed = wm97xx_bat_external_power_changed,
122 .use_for_apm = 1,
123};
124
125static void wm97xx_bat_work(struct work_struct *work)
126{
127 wm97xx_bat_update(&bat_ps);
128}
129
130#ifdef CONFIG_PM
131static int wm97xx_bat_suspend(struct platform_device *dev, pm_message_t state)
132{
133 flush_scheduled_work();
134 return 0;
135}
136
137static int wm97xx_bat_resume(struct platform_device *dev)
138{
139 schedule_work(&bat_work);
140 return 0;
141}
142#else
143#define wm97xx_bat_suspend NULL
144#define wm97xx_bat_resume NULL
145#endif
146
147static int __devinit wm97xx_bat_probe(struct platform_device *dev)
148{
149 int ret = 0;
150 int props = 1; /* POWER_SUPPLY_PROP_PRESENT */
151 int i = 0;
152
153 if (dev->id != -1)
154 return -EINVAL;
155
156 mutex_init(&work_lock);
157
158 if (!pdata) {
159 dev_err(&dev->dev, "Please use wm97xx_bat_set_pdata\n");
160 return -EINVAL;
161 }
162
163 if (pdata->charge_gpio >= 0 && gpio_is_valid(pdata->charge_gpio)) {
164 ret = gpio_request(pdata->charge_gpio, "BATT CHRG");
165 if (ret)
166 goto err;
167 ret = gpio_direction_input(pdata->charge_gpio);
168 if (ret)
169 goto err2;
170 props++; /* POWER_SUPPLY_PROP_STATUS */
171 }
172
173 if (pdata->batt_tech >= 0)
174 props++; /* POWER_SUPPLY_PROP_TECHNOLOGY */
175 if (pdata->temp_aux >= 0)
176 props++; /* POWER_SUPPLY_PROP_TEMP */
177 if (pdata->batt_aux >= 0)
178 props++; /* POWER_SUPPLY_PROP_VOLTAGE_NOW */
179 if (pdata->max_voltage >= 0)
180 props++; /* POWER_SUPPLY_PROP_VOLTAGE_MAX */
181 if (pdata->min_voltage >= 0)
182 props++; /* POWER_SUPPLY_PROP_VOLTAGE_MIN */
183
184 prop = kzalloc(props * sizeof(*prop), GFP_KERNEL);
185 if (!prop)
186 goto err2;
187
188 prop[i++] = POWER_SUPPLY_PROP_PRESENT;
189 if (pdata->charge_gpio >= 0)
190 prop[i++] = POWER_SUPPLY_PROP_STATUS;
191 if (pdata->batt_tech >= 0)
192 prop[i++] = POWER_SUPPLY_PROP_TECHNOLOGY;
193 if (pdata->temp_aux >= 0)
194 prop[i++] = POWER_SUPPLY_PROP_TEMP;
195 if (pdata->batt_aux >= 0)
196 prop[i++] = POWER_SUPPLY_PROP_VOLTAGE_NOW;
197 if (pdata->max_voltage >= 0)
198 prop[i++] = POWER_SUPPLY_PROP_VOLTAGE_MAX;
199 if (pdata->min_voltage >= 0)
200 prop[i++] = POWER_SUPPLY_PROP_VOLTAGE_MIN;
201
202 INIT_WORK(&bat_work, wm97xx_bat_work);
203
204 if (!pdata->batt_name) {
205 dev_info(&dev->dev, "Please consider setting proper battery "
206 "name in platform definition file, falling "
207 "back to name \"wm97xx-batt\"\n");
208 bat_ps.name = "wm97xx-batt";
209 } else
210 bat_ps.name = pdata->batt_name;
211
212 bat_ps.properties = prop;
213 bat_ps.num_properties = props;
214
215 ret = power_supply_register(&dev->dev, &bat_ps);
216 if (!ret)
217 schedule_work(&bat_work);
218 else
219 goto err3;
220
221 return 0;
222err3:
223 kfree(prop);
224err2:
225 gpio_free(pdata->charge_gpio);
226err:
227 return ret;
228}
229
230static int __devexit wm97xx_bat_remove(struct platform_device *dev)
231{
232 if (pdata && pdata->charge_gpio && pdata->charge_gpio >= 0)
233 gpio_free(pdata->charge_gpio);
234 flush_scheduled_work();
235 power_supply_unregister(&bat_ps);
236 kfree(prop);
237 return 0;
238}
239
240static struct platform_driver wm97xx_bat_driver = {
241 .driver = {
242 .name = "wm97xx-battery",
243 .owner = THIS_MODULE,
244 },
245 .probe = wm97xx_bat_probe,
246 .remove = __devexit_p(wm97xx_bat_remove),
247 .suspend = wm97xx_bat_suspend,
248 .resume = wm97xx_bat_resume,
249};
250
251static int __init wm97xx_bat_init(void)
252{
253 return platform_driver_register(&wm97xx_bat_driver);
254}
255
256static void __exit wm97xx_bat_exit(void)
257{
258 platform_driver_unregister(&wm97xx_bat_driver);
259}
260
261void __init wm97xx_bat_set_pdata(struct wm97xx_batt_info *data)
262{
263 pdata = data;
264}
265EXPORT_SYMBOL_GPL(wm97xx_bat_set_pdata);
266
267module_init(wm97xx_bat_init);
268module_exit(wm97xx_bat_exit);
269
270MODULE_LICENSE("GPL");
271MODULE_AUTHOR("Marek Vasut <marek.vasut@gmail.com>");
272MODULE_DESCRIPTION("WM97xx battery driver");
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 6ea349aba3ba..b184367637d0 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -800,7 +800,6 @@ static void __exit cmos_do_remove(struct device *dev)
800static int cmos_suspend(struct device *dev, pm_message_t mesg) 800static int cmos_suspend(struct device *dev, pm_message_t mesg)
801{ 801{
802 struct cmos_rtc *cmos = dev_get_drvdata(dev); 802 struct cmos_rtc *cmos = dev_get_drvdata(dev);
803 int do_wake = device_may_wakeup(dev);
804 unsigned char tmp; 803 unsigned char tmp;
805 804
806 /* only the alarm might be a wakeup event source */ 805 /* only the alarm might be a wakeup event source */
@@ -809,7 +808,7 @@ static int cmos_suspend(struct device *dev, pm_message_t mesg)
809 if (tmp & (RTC_PIE|RTC_AIE|RTC_UIE)) { 808 if (tmp & (RTC_PIE|RTC_AIE|RTC_UIE)) {
810 unsigned char mask; 809 unsigned char mask;
811 810
812 if (do_wake) 811 if (device_may_wakeup(dev))
813 mask = RTC_IRQMASK & ~RTC_AIE; 812 mask = RTC_IRQMASK & ~RTC_AIE;
814 else 813 else
815 mask = RTC_IRQMASK; 814 mask = RTC_IRQMASK;
@@ -837,6 +836,17 @@ static int cmos_suspend(struct device *dev, pm_message_t mesg)
837 return 0; 836 return 0;
838} 837}
839 838
839/* We want RTC alarms to wake us from e.g. ACPI G2/S5 "soft off", even
840 * after a detour through G3 "mechanical off", although the ACPI spec
841 * says wakeup should only work from G1/S4 "hibernate". To most users,
842 * distinctions between S4 and S5 are pointless. So when the hardware
843 * allows, don't draw that distinction.
844 */
845static inline int cmos_poweroff(struct device *dev)
846{
847 return cmos_suspend(dev, PMSG_HIBERNATE);
848}
849
840static int cmos_resume(struct device *dev) 850static int cmos_resume(struct device *dev)
841{ 851{
842 struct cmos_rtc *cmos = dev_get_drvdata(dev); 852 struct cmos_rtc *cmos = dev_get_drvdata(dev);
@@ -884,6 +894,12 @@ static int cmos_resume(struct device *dev)
884#else 894#else
885#define cmos_suspend NULL 895#define cmos_suspend NULL
886#define cmos_resume NULL 896#define cmos_resume NULL
897
898static inline int cmos_poweroff(struct device *dev)
899{
900 return -ENOSYS;
901}
902
887#endif 903#endif
888 904
889/*----------------------------------------------------------------*/ 905/*----------------------------------------------------------------*/
@@ -903,10 +919,6 @@ static int cmos_resume(struct device *dev)
903static int __devinit 919static int __devinit
904cmos_pnp_probe(struct pnp_dev *pnp, const struct pnp_device_id *id) 920cmos_pnp_probe(struct pnp_dev *pnp, const struct pnp_device_id *id)
905{ 921{
906 /* REVISIT paranoia argues for a shutdown notifier, since PNP
907 * drivers can't provide shutdown() methods to disable IRQs.
908 * Or better yet, fix PNP to allow those methods...
909 */
910 if (pnp_port_start(pnp,0) == 0x70 && !pnp_irq_valid(pnp,0)) 922 if (pnp_port_start(pnp,0) == 0x70 && !pnp_irq_valid(pnp,0))
911 /* Some machines contain a PNP entry for the RTC, but 923 /* Some machines contain a PNP entry for the RTC, but
912 * don't define the IRQ. It should always be safe to 924 * don't define the IRQ. It should always be safe to
@@ -942,6 +954,13 @@ static int cmos_pnp_resume(struct pnp_dev *pnp)
942#define cmos_pnp_resume NULL 954#define cmos_pnp_resume NULL
943#endif 955#endif
944 956
957static void cmos_pnp_shutdown(struct device *pdev)
958{
959 if (system_state == SYSTEM_POWER_OFF && !cmos_poweroff(pdev))
960 return;
961
962 cmos_do_shutdown();
963}
945 964
946static const struct pnp_device_id rtc_ids[] = { 965static const struct pnp_device_id rtc_ids[] = {
947 { .id = "PNP0b00", }, 966 { .id = "PNP0b00", },
@@ -961,6 +980,10 @@ static struct pnp_driver cmos_pnp_driver = {
961 .flags = PNP_DRIVER_RES_DO_NOT_CHANGE, 980 .flags = PNP_DRIVER_RES_DO_NOT_CHANGE,
962 .suspend = cmos_pnp_suspend, 981 .suspend = cmos_pnp_suspend,
963 .resume = cmos_pnp_resume, 982 .resume = cmos_pnp_resume,
983 .driver = {
984 .name = (char *)driver_name,
985 .shutdown = cmos_pnp_shutdown,
986 }
964}; 987};
965 988
966#endif /* CONFIG_PNP */ 989#endif /* CONFIG_PNP */
@@ -986,6 +1009,9 @@ static int __exit cmos_platform_remove(struct platform_device *pdev)
986 1009
987static void cmos_platform_shutdown(struct platform_device *pdev) 1010static void cmos_platform_shutdown(struct platform_device *pdev)
988{ 1011{
1012 if (system_state == SYSTEM_POWER_OFF && !cmos_poweroff(&pdev->dev))
1013 return;
1014
989 cmos_do_shutdown(); 1015 cmos_do_shutdown();
990} 1016}
991 1017
diff --git a/drivers/rtc/rtc-lib.c b/drivers/rtc/rtc-lib.c
index 9f996ec881ce..dd70bf73ce9d 100644
--- a/drivers/rtc/rtc-lib.c
+++ b/drivers/rtc/rtc-lib.c
@@ -51,10 +51,11 @@ EXPORT_SYMBOL(rtc_year_days);
51 */ 51 */
52void rtc_time_to_tm(unsigned long time, struct rtc_time *tm) 52void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
53{ 53{
54 unsigned int days, month, year; 54 unsigned int month, year;
55 int days;
55 56
56 days = time / 86400; 57 days = time / 86400;
57 time -= days * 86400; 58 time -= (unsigned int) days * 86400;
58 59
59 /* day of the week, 1970-01-01 was a Thursday */ 60 /* day of the week, 1970-01-01 was a Thursday */
60 tm->tm_wday = (days + 4) % 7; 61 tm->tm_wday = (days + 4) % 7;
diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
index db85f1fb131e..711b3004b3e6 100644
--- a/drivers/s390/block/dcssblk.c
+++ b/drivers/s390/block/dcssblk.c
@@ -384,9 +384,10 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char
384 * get minor, add to list 384 * get minor, add to list
385 */ 385 */
386 down_write(&dcssblk_devices_sem); 386 down_write(&dcssblk_devices_sem);
387 if (dcssblk_get_segment_by_name(local_buf)) { 387 if (dcssblk_get_device_by_name(local_buf)) {
388 up_write(&dcssblk_devices_sem);
388 rc = -EEXIST; 389 rc = -EEXIST;
389 goto release_gd; 390 goto unload_seg;
390 } 391 }
391 rc = dcssblk_assign_free_minor(dev_info); 392 rc = dcssblk_assign_free_minor(dev_info);
392 if (rc) { 393 if (rc) {
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index db00b0591733..f1216cf6fa8f 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -423,7 +423,7 @@ int chp_new(struct chp_id chpid)
423 ret = sysfs_create_group(&chp->dev.kobj, &chp_attr_group); 423 ret = sysfs_create_group(&chp->dev.kobj, &chp_attr_group);
424 if (ret) { 424 if (ret) {
425 device_unregister(&chp->dev); 425 device_unregister(&chp->dev);
426 goto out_free; 426 goto out;
427 } 427 }
428 mutex_lock(&channel_subsystems[chpid.cssid]->mutex); 428 mutex_lock(&channel_subsystems[chpid.cssid]->mutex);
429 if (channel_subsystems[chpid.cssid]->cm_enabled) { 429 if (channel_subsystems[chpid.cssid]->cm_enabled) {
@@ -432,14 +432,15 @@ int chp_new(struct chp_id chpid)
432 sysfs_remove_group(&chp->dev.kobj, &chp_attr_group); 432 sysfs_remove_group(&chp->dev.kobj, &chp_attr_group);
433 device_unregister(&chp->dev); 433 device_unregister(&chp->dev);
434 mutex_unlock(&channel_subsystems[chpid.cssid]->mutex); 434 mutex_unlock(&channel_subsystems[chpid.cssid]->mutex);
435 goto out_free; 435 goto out;
436 } 436 }
437 } 437 }
438 channel_subsystems[chpid.cssid]->chps[chpid.id] = chp; 438 channel_subsystems[chpid.cssid]->chps[chpid.id] = chp;
439 mutex_unlock(&channel_subsystems[chpid.cssid]->mutex); 439 mutex_unlock(&channel_subsystems[chpid.cssid]->mutex);
440 return ret; 440 goto out;
441out_free: 441out_free:
442 kfree(chp); 442 kfree(chp);
443out:
443 return ret; 444 return ret;
444} 445}
445 446
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index 33bff8fec7d1..5954b905e3ca 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -208,8 +208,10 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */
208 case 1: /* status pending */ 208 case 1: /* status pending */
209 case 2: /* busy */ 209 case 2: /* busy */
210 return -EBUSY; 210 return -EBUSY;
211 default: /* device/path not operational */ 211 case 3: /* device/path not operational */
212 return cio_start_handle_notoper(sch, lpm); 212 return cio_start_handle_notoper(sch, lpm);
213 default:
214 return ccode;
213 } 215 }
214} 216}
215 217
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 51489eff6b0b..1261e1a9e8cd 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -633,6 +633,11 @@ channel_subsystem_release(struct device *dev)
633 633
634 css = to_css(dev); 634 css = to_css(dev);
635 mutex_destroy(&css->mutex); 635 mutex_destroy(&css->mutex);
636 if (css->pseudo_subchannel) {
637 /* Implies that it has been generated but never registered. */
638 css_subchannel_release(&css->pseudo_subchannel->dev);
639 css->pseudo_subchannel = NULL;
640 }
636 kfree(css); 641 kfree(css);
637} 642}
638 643
@@ -785,11 +790,15 @@ init_channel_subsystem (void)
785 } 790 }
786 channel_subsystems[i] = css; 791 channel_subsystems[i] = css;
787 ret = setup_css(i); 792 ret = setup_css(i);
788 if (ret) 793 if (ret) {
789 goto out_free; 794 kfree(channel_subsystems[i]);
795 goto out_unregister;
796 }
790 ret = device_register(&css->device); 797 ret = device_register(&css->device);
791 if (ret) 798 if (ret) {
792 goto out_free_all; 799 put_device(&css->device);
800 goto out_unregister;
801 }
793 if (css_chsc_characteristics.secm) { 802 if (css_chsc_characteristics.secm) {
794 ret = device_create_file(&css->device, 803 ret = device_create_file(&css->device,
795 &dev_attr_cm_enable); 804 &dev_attr_cm_enable);
@@ -802,7 +811,7 @@ init_channel_subsystem (void)
802 } 811 }
803 ret = register_reboot_notifier(&css_reboot_notifier); 812 ret = register_reboot_notifier(&css_reboot_notifier);
804 if (ret) 813 if (ret)
805 goto out_pseudo; 814 goto out_unregister;
806 css_init_done = 1; 815 css_init_done = 1;
807 816
808 /* Enable default isc for I/O subchannels. */ 817 /* Enable default isc for I/O subchannels. */
@@ -810,18 +819,12 @@ init_channel_subsystem (void)
810 819
811 for_each_subchannel(__init_channel_subsystem, NULL); 820 for_each_subchannel(__init_channel_subsystem, NULL);
812 return 0; 821 return 0;
813out_pseudo:
814 device_unregister(&channel_subsystems[i]->pseudo_subchannel->dev);
815out_file: 822out_file:
816 device_remove_file(&channel_subsystems[i]->device, 823 if (css_chsc_characteristics.secm)
817 &dev_attr_cm_enable); 824 device_remove_file(&channel_subsystems[i]->device,
825 &dev_attr_cm_enable);
818out_device: 826out_device:
819 device_unregister(&channel_subsystems[i]->device); 827 device_unregister(&channel_subsystems[i]->device);
820out_free_all:
821 kfree(channel_subsystems[i]->pseudo_subchannel->lock);
822 kfree(channel_subsystems[i]->pseudo_subchannel);
823out_free:
824 kfree(channel_subsystems[i]);
825out_unregister: 828out_unregister:
826 while (i > 0) { 829 while (i > 0) {
827 struct channel_subsystem *css; 830 struct channel_subsystem *css;
@@ -829,6 +832,7 @@ out_unregister:
829 i--; 832 i--;
830 css = channel_subsystems[i]; 833 css = channel_subsystems[i];
831 device_unregister(&css->pseudo_subchannel->dev); 834 device_unregister(&css->pseudo_subchannel->dev);
835 css->pseudo_subchannel = NULL;
832 if (css_chsc_characteristics.secm) 836 if (css_chsc_characteristics.secm)
833 device_remove_file(&css->device, 837 device_remove_file(&css->device,
834 &dev_attr_cm_enable); 838 &dev_attr_cm_enable);
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c
index 550508df952b..84cc9ea346db 100644
--- a/drivers/s390/cio/device_fsm.c
+++ b/drivers/s390/cio/device_fsm.c
@@ -658,6 +658,13 @@ ccw_device_offline(struct ccw_device *cdev)
658{ 658{
659 struct subchannel *sch; 659 struct subchannel *sch;
660 660
661 /* Allow ccw_device_offline while disconnected. */
662 if (cdev->private->state == DEV_STATE_DISCONNECTED ||
663 cdev->private->state == DEV_STATE_NOT_OPER) {
664 cdev->private->flags.donotify = 0;
665 ccw_device_done(cdev, DEV_STATE_NOT_OPER);
666 return 0;
667 }
661 if (ccw_device_is_orphan(cdev)) { 668 if (ccw_device_is_orphan(cdev)) {
662 ccw_device_done(cdev, DEV_STATE_OFFLINE); 669 ccw_device_done(cdev, DEV_STATE_OFFLINE);
663 return 0; 670 return 0;
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c
index a08b1682c8e8..e10ac9ab2d44 100644
--- a/drivers/s390/net/claw.c
+++ b/drivers/s390/net/claw.c
@@ -133,14 +133,14 @@ claw_register_debug_facility(void)
133static inline void 133static inline void
134claw_set_busy(struct net_device *dev) 134claw_set_busy(struct net_device *dev)
135{ 135{
136 ((struct claw_privbk *) dev->priv)->tbusy=1; 136 ((struct claw_privbk *)dev->ml_priv)->tbusy = 1;
137 eieio(); 137 eieio();
138} 138}
139 139
140static inline void 140static inline void
141claw_clear_busy(struct net_device *dev) 141claw_clear_busy(struct net_device *dev)
142{ 142{
143 clear_bit(0, &(((struct claw_privbk *) dev->priv)->tbusy)); 143 clear_bit(0, &(((struct claw_privbk *) dev->ml_priv)->tbusy));
144 netif_wake_queue(dev); 144 netif_wake_queue(dev);
145 eieio(); 145 eieio();
146} 146}
@@ -149,20 +149,20 @@ static inline int
149claw_check_busy(struct net_device *dev) 149claw_check_busy(struct net_device *dev)
150{ 150{
151 eieio(); 151 eieio();
152 return ((struct claw_privbk *) dev->priv)->tbusy; 152 return ((struct claw_privbk *) dev->ml_priv)->tbusy;
153} 153}
154 154
155static inline void 155static inline void
156claw_setbit_busy(int nr,struct net_device *dev) 156claw_setbit_busy(int nr,struct net_device *dev)
157{ 157{
158 netif_stop_queue(dev); 158 netif_stop_queue(dev);
159 set_bit(nr, (void *)&(((struct claw_privbk *)dev->priv)->tbusy)); 159 set_bit(nr, (void *)&(((struct claw_privbk *)dev->ml_priv)->tbusy));
160} 160}
161 161
162static inline void 162static inline void
163claw_clearbit_busy(int nr,struct net_device *dev) 163claw_clearbit_busy(int nr,struct net_device *dev)
164{ 164{
165 clear_bit(nr,(void *)&(((struct claw_privbk *)dev->priv)->tbusy)); 165 clear_bit(nr, (void *)&(((struct claw_privbk *)dev->ml_priv)->tbusy));
166 netif_wake_queue(dev); 166 netif_wake_queue(dev);
167} 167}
168 168
@@ -171,7 +171,7 @@ claw_test_and_setbit_busy(int nr,struct net_device *dev)
171{ 171{
172 netif_stop_queue(dev); 172 netif_stop_queue(dev);
173 return test_and_set_bit(nr, 173 return test_and_set_bit(nr,
174 (void *)&(((struct claw_privbk *) dev->priv)->tbusy)); 174 (void *)&(((struct claw_privbk *) dev->ml_priv)->tbusy));
175} 175}
176 176
177 177
@@ -271,6 +271,7 @@ claw_probe(struct ccwgroup_device *cgdev)
271 if (!get_device(&cgdev->dev)) 271 if (!get_device(&cgdev->dev))
272 return -ENODEV; 272 return -ENODEV;
273 privptr = kzalloc(sizeof(struct claw_privbk), GFP_KERNEL); 273 privptr = kzalloc(sizeof(struct claw_privbk), GFP_KERNEL);
274 cgdev->dev.driver_data = privptr;
274 if (privptr == NULL) { 275 if (privptr == NULL) {
275 probe_error(cgdev); 276 probe_error(cgdev);
276 put_device(&cgdev->dev); 277 put_device(&cgdev->dev);
@@ -305,7 +306,6 @@ claw_probe(struct ccwgroup_device *cgdev)
305 privptr->p_env->p_priv = privptr; 306 privptr->p_env->p_priv = privptr;
306 cgdev->cdev[0]->handler = claw_irq_handler; 307 cgdev->cdev[0]->handler = claw_irq_handler;
307 cgdev->cdev[1]->handler = claw_irq_handler; 308 cgdev->cdev[1]->handler = claw_irq_handler;
308 cgdev->dev.driver_data = privptr;
309 CLAW_DBF_TEXT(2, setup, "prbext 0"); 309 CLAW_DBF_TEXT(2, setup, "prbext 0");
310 310
311 return 0; 311 return 0;
@@ -319,7 +319,7 @@ static int
319claw_tx(struct sk_buff *skb, struct net_device *dev) 319claw_tx(struct sk_buff *skb, struct net_device *dev)
320{ 320{
321 int rc; 321 int rc;
322 struct claw_privbk *privptr=dev->priv; 322 struct claw_privbk *privptr = dev->ml_priv;
323 unsigned long saveflags; 323 unsigned long saveflags;
324 struct chbk *p_ch; 324 struct chbk *p_ch;
325 325
@@ -404,7 +404,7 @@ claw_pack_skb(struct claw_privbk *privptr)
404static int 404static int
405claw_change_mtu(struct net_device *dev, int new_mtu) 405claw_change_mtu(struct net_device *dev, int new_mtu)
406{ 406{
407 struct claw_privbk *privptr=dev->priv; 407 struct claw_privbk *privptr = dev->ml_priv;
408 int buff_size; 408 int buff_size;
409 CLAW_DBF_TEXT(4, trace, "setmtu"); 409 CLAW_DBF_TEXT(4, trace, "setmtu");
410 buff_size = privptr->p_env->write_size; 410 buff_size = privptr->p_env->write_size;
@@ -434,7 +434,7 @@ claw_open(struct net_device *dev)
434 struct ccwbk *p_buf; 434 struct ccwbk *p_buf;
435 435
436 CLAW_DBF_TEXT(4, trace, "open"); 436 CLAW_DBF_TEXT(4, trace, "open");
437 privptr = (struct claw_privbk *)dev->priv; 437 privptr = (struct claw_privbk *)dev->ml_priv;
438 /* allocate and initialize CCW blocks */ 438 /* allocate and initialize CCW blocks */
439 if (privptr->buffs_alloc == 0) { 439 if (privptr->buffs_alloc == 0) {
440 rc=init_ccw_bk(dev); 440 rc=init_ccw_bk(dev);
@@ -780,7 +780,7 @@ claw_irq_tasklet ( unsigned long data )
780 p_ch = (struct chbk *) data; 780 p_ch = (struct chbk *) data;
781 dev = (struct net_device *)p_ch->ndev; 781 dev = (struct net_device *)p_ch->ndev;
782 CLAW_DBF_TEXT(4, trace, "IRQtask"); 782 CLAW_DBF_TEXT(4, trace, "IRQtask");
783 privptr = (struct claw_privbk *) dev->priv; 783 privptr = (struct claw_privbk *)dev->ml_priv;
784 unpack_read(dev); 784 unpack_read(dev);
785 clear_bit(CLAW_BH_ACTIVE, (void *)&p_ch->flag_a); 785 clear_bit(CLAW_BH_ACTIVE, (void *)&p_ch->flag_a);
786 CLAW_DBF_TEXT(4, trace, "TskletXt"); 786 CLAW_DBF_TEXT(4, trace, "TskletXt");
@@ -805,7 +805,7 @@ claw_release(struct net_device *dev)
805 805
806 if (!dev) 806 if (!dev)
807 return 0; 807 return 0;
808 privptr = (struct claw_privbk *) dev->priv; 808 privptr = (struct claw_privbk *)dev->ml_priv;
809 if (!privptr) 809 if (!privptr)
810 return 0; 810 return 0;
811 CLAW_DBF_TEXT(4, trace, "release"); 811 CLAW_DBF_TEXT(4, trace, "release");
@@ -960,7 +960,7 @@ claw_write_next ( struct chbk * p_ch )
960 if (p_ch->claw_state == CLAW_STOP) 960 if (p_ch->claw_state == CLAW_STOP)
961 return; 961 return;
962 dev = (struct net_device *) p_ch->ndev; 962 dev = (struct net_device *) p_ch->ndev;
963 privptr = (struct claw_privbk *) dev->priv; 963 privptr = (struct claw_privbk *) dev->ml_priv;
964 claw_free_wrt_buf( dev ); 964 claw_free_wrt_buf( dev );
965 if ((privptr->write_free_count > 0) && 965 if ((privptr->write_free_count > 0) &&
966 !skb_queue_empty(&p_ch->collect_queue)) { 966 !skb_queue_empty(&p_ch->collect_queue)) {
@@ -1042,7 +1042,7 @@ add_claw_reads(struct net_device *dev, struct ccwbk* p_first,
1042 struct ccw1 temp_ccw; 1042 struct ccw1 temp_ccw;
1043 struct endccw * p_end; 1043 struct endccw * p_end;
1044 CLAW_DBF_TEXT(4, trace, "addreads"); 1044 CLAW_DBF_TEXT(4, trace, "addreads");
1045 privptr = dev->priv; 1045 privptr = dev->ml_priv;
1046 p_end = privptr->p_end_ccw; 1046 p_end = privptr->p_end_ccw;
1047 1047
1048 /* first CCW and last CCW contains a new set of read channel programs 1048 /* first CCW and last CCW contains a new set of read channel programs
@@ -1212,7 +1212,7 @@ find_link(struct net_device *dev, char *host_name, char *ws_name )
1212 int rc=0; 1212 int rc=0;
1213 1213
1214 CLAW_DBF_TEXT(2, setup, "findlink"); 1214 CLAW_DBF_TEXT(2, setup, "findlink");
1215 privptr=dev->priv; 1215 privptr = dev->ml_priv;
1216 p_env=privptr->p_env; 1216 p_env=privptr->p_env;
1217 switch (p_env->packing) 1217 switch (p_env->packing)
1218 { 1218 {
@@ -1264,7 +1264,7 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid)
1264 struct chbk *ch; 1264 struct chbk *ch;
1265 1265
1266 CLAW_DBF_TEXT(4, trace, "hw_tx"); 1266 CLAW_DBF_TEXT(4, trace, "hw_tx");
1267 privptr = (struct claw_privbk *) (dev->priv); 1267 privptr = (struct claw_privbk *)(dev->ml_priv);
1268 p_ch=(struct chbk *)&privptr->channel[WRITE]; 1268 p_ch=(struct chbk *)&privptr->channel[WRITE];
1269 p_env =privptr->p_env; 1269 p_env =privptr->p_env;
1270 claw_free_wrt_buf(dev); /* Clean up free chain if posible */ 1270 claw_free_wrt_buf(dev); /* Clean up free chain if posible */
@@ -1483,8 +1483,8 @@ init_ccw_bk(struct net_device *dev)
1483 struct ccwbk*p_last_CCWB; 1483 struct ccwbk*p_last_CCWB;
1484 struct ccwbk*p_first_CCWB; 1484 struct ccwbk*p_first_CCWB;
1485 struct endccw *p_endccw=NULL; 1485 struct endccw *p_endccw=NULL;
1486 addr_t real_address; 1486 addr_t real_address;
1487 struct claw_privbk *privptr=dev->priv; 1487 struct claw_privbk *privptr = dev->ml_priv;
1488 struct clawh *pClawH=NULL; 1488 struct clawh *pClawH=NULL;
1489 addr_t real_TIC_address; 1489 addr_t real_TIC_address;
1490 int i,j; 1490 int i,j;
@@ -1960,19 +1960,16 @@ init_ccw_bk(struct net_device *dev)
1960static void 1960static void
1961probe_error( struct ccwgroup_device *cgdev) 1961probe_error( struct ccwgroup_device *cgdev)
1962{ 1962{
1963 struct claw_privbk *privptr; 1963 struct claw_privbk *privptr;
1964 1964
1965 CLAW_DBF_TEXT(4, trace, "proberr"); 1965 CLAW_DBF_TEXT(4, trace, "proberr");
1966 privptr=(struct claw_privbk *)cgdev->dev.driver_data; 1966 privptr = (struct claw_privbk *) cgdev->dev.driver_data;
1967 if (privptr!=NULL) { 1967 if (privptr != NULL) {
1968 cgdev->dev.driver_data = NULL;
1968 kfree(privptr->p_env); 1969 kfree(privptr->p_env);
1969 privptr->p_env=NULL; 1970 kfree(privptr->p_mtc_envelope);
1970 kfree(privptr->p_mtc_envelope); 1971 kfree(privptr);
1971 privptr->p_mtc_envelope=NULL; 1972 }
1972 kfree(privptr);
1973 privptr=NULL;
1974 }
1975 return;
1976} /* probe_error */ 1973} /* probe_error */
1977 1974
1978/*-------------------------------------------------------------------* 1975/*-------------------------------------------------------------------*
@@ -2000,7 +1997,7 @@ claw_process_control( struct net_device *dev, struct ccwbk * p_ccw)
2000 CLAW_DBF_TEXT(2, setup, "clw_cntl"); 1997 CLAW_DBF_TEXT(2, setup, "clw_cntl");
2001 udelay(1000); /* Wait a ms for the control packets to 1998 udelay(1000); /* Wait a ms for the control packets to
2002 *catch up to each other */ 1999 *catch up to each other */
2003 privptr=dev->priv; 2000 privptr = dev->ml_priv;
2004 p_env=privptr->p_env; 2001 p_env=privptr->p_env;
2005 tdev = &privptr->channel[READ].cdev->dev; 2002 tdev = &privptr->channel[READ].cdev->dev;
2006 memcpy( &temp_host_name, p_env->host_name, 8); 2003 memcpy( &temp_host_name, p_env->host_name, 8);
@@ -2278,7 +2275,7 @@ claw_send_control(struct net_device *dev, __u8 type, __u8 link,
2278 struct sk_buff *skb; 2275 struct sk_buff *skb;
2279 2276
2280 CLAW_DBF_TEXT(2, setup, "sndcntl"); 2277 CLAW_DBF_TEXT(2, setup, "sndcntl");
2281 privptr=dev->priv; 2278 privptr = dev->ml_priv;
2282 p_ctl=(struct clawctl *)&privptr->ctl_bk; 2279 p_ctl=(struct clawctl *)&privptr->ctl_bk;
2283 2280
2284 p_ctl->command=type; 2281 p_ctl->command=type;
@@ -2348,7 +2345,7 @@ static int
2348claw_snd_conn_req(struct net_device *dev, __u8 link) 2345claw_snd_conn_req(struct net_device *dev, __u8 link)
2349{ 2346{
2350 int rc; 2347 int rc;
2351 struct claw_privbk *privptr=dev->priv; 2348 struct claw_privbk *privptr = dev->ml_priv;
2352 struct clawctl *p_ctl; 2349 struct clawctl *p_ctl;
2353 2350
2354 CLAW_DBF_TEXT(2, setup, "snd_conn"); 2351 CLAW_DBF_TEXT(2, setup, "snd_conn");
@@ -2408,7 +2405,7 @@ claw_snd_sys_validate_rsp(struct net_device *dev,
2408 int rc; 2405 int rc;
2409 2406
2410 CLAW_DBF_TEXT(2, setup, "chkresp"); 2407 CLAW_DBF_TEXT(2, setup, "chkresp");
2411 privptr = dev->priv; 2408 privptr = dev->ml_priv;
2412 p_env=privptr->p_env; 2409 p_env=privptr->p_env;
2413 rc=claw_send_control(dev, SYSTEM_VALIDATE_RESPONSE, 2410 rc=claw_send_control(dev, SYSTEM_VALIDATE_RESPONSE,
2414 p_ctl->linkid, 2411 p_ctl->linkid,
@@ -2446,7 +2443,7 @@ net_device_stats *claw_stats(struct net_device *dev)
2446 struct claw_privbk *privptr; 2443 struct claw_privbk *privptr;
2447 2444
2448 CLAW_DBF_TEXT(4, trace, "stats"); 2445 CLAW_DBF_TEXT(4, trace, "stats");
2449 privptr = dev->priv; 2446 privptr = dev->ml_priv;
2450 return &privptr->stats; 2447 return &privptr->stats;
2451} /* end of claw_stats */ 2448} /* end of claw_stats */
2452 2449
@@ -2482,7 +2479,7 @@ unpack_read(struct net_device *dev )
2482 p_last_ccw=NULL; 2479 p_last_ccw=NULL;
2483 p_packh=NULL; 2480 p_packh=NULL;
2484 p_packd=NULL; 2481 p_packd=NULL;
2485 privptr=dev->priv; 2482 privptr = dev->ml_priv;
2486 2483
2487 p_dev = &privptr->channel[READ].cdev->dev; 2484 p_dev = &privptr->channel[READ].cdev->dev;
2488 p_env = privptr->p_env; 2485 p_env = privptr->p_env;
@@ -2651,7 +2648,7 @@ claw_strt_read (struct net_device *dev, int lock )
2651 int rc = 0; 2648 int rc = 0;
2652 __u32 parm; 2649 __u32 parm;
2653 unsigned long saveflags = 0; 2650 unsigned long saveflags = 0;
2654 struct claw_privbk *privptr=dev->priv; 2651 struct claw_privbk *privptr = dev->ml_priv;
2655 struct ccwbk*p_ccwbk; 2652 struct ccwbk*p_ccwbk;
2656 struct chbk *p_ch; 2653 struct chbk *p_ch;
2657 struct clawh *p_clawh; 2654 struct clawh *p_clawh;
@@ -2708,7 +2705,7 @@ claw_strt_out_IO( struct net_device *dev )
2708 if (!dev) { 2705 if (!dev) {
2709 return; 2706 return;
2710 } 2707 }
2711 privptr=(struct claw_privbk *)dev->priv; 2708 privptr = (struct claw_privbk *)dev->ml_priv;
2712 p_ch=&privptr->channel[WRITE]; 2709 p_ch=&privptr->channel[WRITE];
2713 2710
2714 CLAW_DBF_TEXT(4, trace, "strt_io"); 2711 CLAW_DBF_TEXT(4, trace, "strt_io");
@@ -2741,7 +2738,7 @@ static void
2741claw_free_wrt_buf( struct net_device *dev ) 2738claw_free_wrt_buf( struct net_device *dev )
2742{ 2739{
2743 2740
2744 struct claw_privbk *privptr=(struct claw_privbk *)dev->priv; 2741 struct claw_privbk *privptr = (struct claw_privbk *)dev->ml_priv;
2745 struct ccwbk*p_first_ccw; 2742 struct ccwbk*p_first_ccw;
2746 struct ccwbk*p_last_ccw; 2743 struct ccwbk*p_last_ccw;
2747 struct ccwbk*p_this_ccw; 2744 struct ccwbk*p_this_ccw;
@@ -2798,13 +2795,13 @@ claw_free_netdevice(struct net_device * dev, int free_dev)
2798 if (!dev) 2795 if (!dev)
2799 return; 2796 return;
2800 CLAW_DBF_TEXT_(2, setup, "%s", dev->name); 2797 CLAW_DBF_TEXT_(2, setup, "%s", dev->name);
2801 privptr = dev->priv; 2798 privptr = dev->ml_priv;
2802 if (dev->flags & IFF_RUNNING) 2799 if (dev->flags & IFF_RUNNING)
2803 claw_release(dev); 2800 claw_release(dev);
2804 if (privptr) { 2801 if (privptr) {
2805 privptr->channel[READ].ndev = NULL; /* say it's free */ 2802 privptr->channel[READ].ndev = NULL; /* say it's free */
2806 } 2803 }
2807 dev->priv=NULL; 2804 dev->ml_priv = NULL;
2808#ifdef MODULE 2805#ifdef MODULE
2809 if (free_dev) { 2806 if (free_dev) {
2810 free_netdev(dev); 2807 free_netdev(dev);
@@ -2921,7 +2918,7 @@ claw_new_device(struct ccwgroup_device *cgdev)
2921 printk(KERN_WARNING "%s:alloc_netdev failed\n",__func__); 2918 printk(KERN_WARNING "%s:alloc_netdev failed\n",__func__);
2922 goto out; 2919 goto out;
2923 } 2920 }
2924 dev->priv = privptr; 2921 dev->ml_priv = privptr;
2925 cgdev->dev.driver_data = privptr; 2922 cgdev->dev.driver_data = privptr;
2926 cgdev->cdev[READ]->dev.driver_data = privptr; 2923 cgdev->cdev[READ]->dev.driver_data = privptr;
2927 cgdev->cdev[WRITE]->dev.driver_data = privptr; 2924 cgdev->cdev[WRITE]->dev.driver_data = privptr;
@@ -3002,7 +2999,7 @@ claw_shutdown_device(struct ccwgroup_device *cgdev)
3002 ret = claw_release(ndev); 2999 ret = claw_release(ndev);
3003 ndev->flags &=~IFF_RUNNING; 3000 ndev->flags &=~IFF_RUNNING;
3004 unregister_netdev(ndev); 3001 unregister_netdev(ndev);
3005 ndev->priv = NULL; /* cgdev data, not ndev's to free */ 3002 ndev->ml_priv = NULL; /* cgdev data, not ndev's to free */
3006 claw_free_netdevice(ndev, 1); 3003 claw_free_netdevice(ndev, 1);
3007 priv->channel[READ].ndev = NULL; 3004 priv->channel[READ].ndev = NULL;
3008 priv->channel[WRITE].ndev = NULL; 3005 priv->channel[WRITE].ndev = NULL;
diff --git a/drivers/s390/net/ctcm_fsms.c b/drivers/s390/net/ctcm_fsms.c
index 0b4e6253abe4..42776550acfd 100644
--- a/drivers/s390/net/ctcm_fsms.c
+++ b/drivers/s390/net/ctcm_fsms.c
@@ -245,7 +245,7 @@ static void chx_txdone(fsm_instance *fi, int event, void *arg)
245{ 245{
246 struct channel *ch = arg; 246 struct channel *ch = arg;
247 struct net_device *dev = ch->netdev; 247 struct net_device *dev = ch->netdev;
248 struct ctcm_priv *priv = dev->priv; 248 struct ctcm_priv *priv = dev->ml_priv;
249 struct sk_buff *skb; 249 struct sk_buff *skb;
250 int first = 1; 250 int first = 1;
251 int i; 251 int i;
@@ -336,7 +336,7 @@ void ctcm_chx_txidle(fsm_instance *fi, int event, void *arg)
336{ 336{
337 struct channel *ch = arg; 337 struct channel *ch = arg;
338 struct net_device *dev = ch->netdev; 338 struct net_device *dev = ch->netdev;
339 struct ctcm_priv *priv = dev->priv; 339 struct ctcm_priv *priv = dev->ml_priv;
340 340
341 CTCM_PR_DEBUG("%s(%s): %s\n", __func__, ch->id, dev->name); 341 CTCM_PR_DEBUG("%s(%s): %s\n", __func__, ch->id, dev->name);
342 342
@@ -357,7 +357,7 @@ static void chx_rx(fsm_instance *fi, int event, void *arg)
357{ 357{
358 struct channel *ch = arg; 358 struct channel *ch = arg;
359 struct net_device *dev = ch->netdev; 359 struct net_device *dev = ch->netdev;
360 struct ctcm_priv *priv = dev->priv; 360 struct ctcm_priv *priv = dev->ml_priv;
361 int len = ch->max_bufsize - ch->irb->scsw.cmd.count; 361 int len = ch->max_bufsize - ch->irb->scsw.cmd.count;
362 struct sk_buff *skb = ch->trans_skb; 362 struct sk_buff *skb = ch->trans_skb;
363 __u16 block_len = *((__u16 *)skb->data); 363 __u16 block_len = *((__u16 *)skb->data);
@@ -459,7 +459,7 @@ static void chx_firstio(fsm_instance *fi, int event, void *arg)
459 chx_rxidle(fi, event, arg); 459 chx_rxidle(fi, event, arg);
460 } else { 460 } else {
461 struct net_device *dev = ch->netdev; 461 struct net_device *dev = ch->netdev;
462 struct ctcm_priv *priv = dev->priv; 462 struct ctcm_priv *priv = dev->ml_priv;
463 fsm_newstate(fi, CTC_STATE_TXIDLE); 463 fsm_newstate(fi, CTC_STATE_TXIDLE);
464 fsm_event(priv->fsm, DEV_EVENT_TXUP, dev); 464 fsm_event(priv->fsm, DEV_EVENT_TXUP, dev);
465 } 465 }
@@ -496,7 +496,7 @@ static void chx_firstio(fsm_instance *fi, int event, void *arg)
496 if ((CHANNEL_DIRECTION(ch->flags) == READ) && 496 if ((CHANNEL_DIRECTION(ch->flags) == READ) &&
497 (ch->protocol == CTCM_PROTO_S390)) { 497 (ch->protocol == CTCM_PROTO_S390)) {
498 struct net_device *dev = ch->netdev; 498 struct net_device *dev = ch->netdev;
499 struct ctcm_priv *priv = dev->priv; 499 struct ctcm_priv *priv = dev->ml_priv;
500 fsm_event(priv->fsm, DEV_EVENT_RXUP, dev); 500 fsm_event(priv->fsm, DEV_EVENT_RXUP, dev);
501 } 501 }
502} 502}
@@ -514,7 +514,7 @@ static void chx_rxidle(fsm_instance *fi, int event, void *arg)
514{ 514{
515 struct channel *ch = arg; 515 struct channel *ch = arg;
516 struct net_device *dev = ch->netdev; 516 struct net_device *dev = ch->netdev;
517 struct ctcm_priv *priv = dev->priv; 517 struct ctcm_priv *priv = dev->ml_priv;
518 __u16 buflen; 518 __u16 buflen;
519 int rc; 519 int rc;
520 520
@@ -699,7 +699,7 @@ static void ctcm_chx_cleanup(fsm_instance *fi, int state,
699 struct channel *ch) 699 struct channel *ch)
700{ 700{
701 struct net_device *dev = ch->netdev; 701 struct net_device *dev = ch->netdev;
702 struct ctcm_priv *priv = dev->priv; 702 struct ctcm_priv *priv = dev->ml_priv;
703 703
704 CTCM_DBF_TEXT_(SETUP, CTC_DBF_NOTICE, 704 CTCM_DBF_TEXT_(SETUP, CTC_DBF_NOTICE,
705 "%s(%s): %s[%d]\n", 705 "%s(%s): %s[%d]\n",
@@ -784,7 +784,7 @@ static void ctcm_chx_setuperr(fsm_instance *fi, int event, void *arg)
784{ 784{
785 struct channel *ch = arg; 785 struct channel *ch = arg;
786 struct net_device *dev = ch->netdev; 786 struct net_device *dev = ch->netdev;
787 struct ctcm_priv *priv = dev->priv; 787 struct ctcm_priv *priv = dev->ml_priv;
788 788
789 /* 789 /*
790 * Special case: Got UC_RCRESET on setmode. 790 * Special case: Got UC_RCRESET on setmode.
@@ -874,7 +874,7 @@ static void ctcm_chx_rxiniterr(fsm_instance *fi, int event, void *arg)
874{ 874{
875 struct channel *ch = arg; 875 struct channel *ch = arg;
876 struct net_device *dev = ch->netdev; 876 struct net_device *dev = ch->netdev;
877 struct ctcm_priv *priv = dev->priv; 877 struct ctcm_priv *priv = dev->ml_priv;
878 878
879 if (event == CTC_EVENT_TIMER) { 879 if (event == CTC_EVENT_TIMER) {
880 if (!IS_MPCDEV(dev)) 880 if (!IS_MPCDEV(dev))
@@ -902,7 +902,7 @@ static void ctcm_chx_rxinitfail(fsm_instance *fi, int event, void *arg)
902{ 902{
903 struct channel *ch = arg; 903 struct channel *ch = arg;
904 struct net_device *dev = ch->netdev; 904 struct net_device *dev = ch->netdev;
905 struct ctcm_priv *priv = dev->priv; 905 struct ctcm_priv *priv = dev->ml_priv;
906 906
907 CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR, 907 CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR,
908 "%s(%s): RX %s busy, init. fail", 908 "%s(%s): RX %s busy, init. fail",
@@ -923,7 +923,7 @@ static void ctcm_chx_rxdisc(fsm_instance *fi, int event, void *arg)
923 struct channel *ch = arg; 923 struct channel *ch = arg;
924 struct channel *ch2; 924 struct channel *ch2;
925 struct net_device *dev = ch->netdev; 925 struct net_device *dev = ch->netdev;
926 struct ctcm_priv *priv = dev->priv; 926 struct ctcm_priv *priv = dev->ml_priv;
927 927
928 CTCM_DBF_TEXT_(TRACE, CTC_DBF_NOTICE, 928 CTCM_DBF_TEXT_(TRACE, CTC_DBF_NOTICE,
929 "%s: %s: remote disconnect - re-init ...", 929 "%s: %s: remote disconnect - re-init ...",
@@ -954,7 +954,7 @@ static void ctcm_chx_txiniterr(fsm_instance *fi, int event, void *arg)
954{ 954{
955 struct channel *ch = arg; 955 struct channel *ch = arg;
956 struct net_device *dev = ch->netdev; 956 struct net_device *dev = ch->netdev;
957 struct ctcm_priv *priv = dev->priv; 957 struct ctcm_priv *priv = dev->ml_priv;
958 958
959 if (event == CTC_EVENT_TIMER) { 959 if (event == CTC_EVENT_TIMER) {
960 fsm_deltimer(&ch->timer); 960 fsm_deltimer(&ch->timer);
@@ -984,7 +984,7 @@ static void ctcm_chx_txretry(fsm_instance *fi, int event, void *arg)
984{ 984{
985 struct channel *ch = arg; 985 struct channel *ch = arg;
986 struct net_device *dev = ch->netdev; 986 struct net_device *dev = ch->netdev;
987 struct ctcm_priv *priv = dev->priv; 987 struct ctcm_priv *priv = dev->ml_priv;
988 struct sk_buff *skb; 988 struct sk_buff *skb;
989 989
990 CTCM_PR_DEBUG("Enter: %s: cp=%i ch=0x%p id=%s\n", 990 CTCM_PR_DEBUG("Enter: %s: cp=%i ch=0x%p id=%s\n",
@@ -1057,7 +1057,7 @@ static void ctcm_chx_iofatal(fsm_instance *fi, int event, void *arg)
1057{ 1057{
1058 struct channel *ch = arg; 1058 struct channel *ch = arg;
1059 struct net_device *dev = ch->netdev; 1059 struct net_device *dev = ch->netdev;
1060 struct ctcm_priv *priv = dev->priv; 1060 struct ctcm_priv *priv = dev->ml_priv;
1061 int rd = CHANNEL_DIRECTION(ch->flags); 1061 int rd = CHANNEL_DIRECTION(ch->flags);
1062 1062
1063 fsm_deltimer(&ch->timer); 1063 fsm_deltimer(&ch->timer);
@@ -1207,7 +1207,7 @@ static void ctcmpc_chx_txdone(fsm_instance *fi, int event, void *arg)
1207{ 1207{
1208 struct channel *ch = arg; 1208 struct channel *ch = arg;
1209 struct net_device *dev = ch->netdev; 1209 struct net_device *dev = ch->netdev;
1210 struct ctcm_priv *priv = dev->priv; 1210 struct ctcm_priv *priv = dev->ml_priv;
1211 struct mpc_group *grp = priv->mpcg; 1211 struct mpc_group *grp = priv->mpcg;
1212 struct sk_buff *skb; 1212 struct sk_buff *skb;
1213 int first = 1; 1213 int first = 1;
@@ -1368,7 +1368,7 @@ static void ctcmpc_chx_rx(fsm_instance *fi, int event, void *arg)
1368{ 1368{
1369 struct channel *ch = arg; 1369 struct channel *ch = arg;
1370 struct net_device *dev = ch->netdev; 1370 struct net_device *dev = ch->netdev;
1371 struct ctcm_priv *priv = dev->priv; 1371 struct ctcm_priv *priv = dev->ml_priv;
1372 struct mpc_group *grp = priv->mpcg; 1372 struct mpc_group *grp = priv->mpcg;
1373 struct sk_buff *skb = ch->trans_skb; 1373 struct sk_buff *skb = ch->trans_skb;
1374 struct sk_buff *new_skb; 1374 struct sk_buff *new_skb;
@@ -1471,7 +1471,7 @@ static void ctcmpc_chx_firstio(fsm_instance *fi, int event, void *arg)
1471{ 1471{
1472 struct channel *ch = arg; 1472 struct channel *ch = arg;
1473 struct net_device *dev = ch->netdev; 1473 struct net_device *dev = ch->netdev;
1474 struct ctcm_priv *priv = dev->priv; 1474 struct ctcm_priv *priv = dev->ml_priv;
1475 struct mpc_group *gptr = priv->mpcg; 1475 struct mpc_group *gptr = priv->mpcg;
1476 1476
1477 CTCM_PR_DEBUG("Enter %s: id=%s, ch=0x%p\n", 1477 CTCM_PR_DEBUG("Enter %s: id=%s, ch=0x%p\n",
@@ -1525,7 +1525,7 @@ void ctcmpc_chx_rxidle(fsm_instance *fi, int event, void *arg)
1525{ 1525{
1526 struct channel *ch = arg; 1526 struct channel *ch = arg;
1527 struct net_device *dev = ch->netdev; 1527 struct net_device *dev = ch->netdev;
1528 struct ctcm_priv *priv = dev->priv; 1528 struct ctcm_priv *priv = dev->ml_priv;
1529 struct mpc_group *grp = priv->mpcg; 1529 struct mpc_group *grp = priv->mpcg;
1530 int rc; 1530 int rc;
1531 unsigned long saveflags = 0; /* avoids compiler warning */ 1531 unsigned long saveflags = 0; /* avoids compiler warning */
@@ -1580,7 +1580,7 @@ static void ctcmpc_chx_attn(fsm_instance *fsm, int event, void *arg)
1580{ 1580{
1581 struct channel *ch = arg; 1581 struct channel *ch = arg;
1582 struct net_device *dev = ch->netdev; 1582 struct net_device *dev = ch->netdev;
1583 struct ctcm_priv *priv = dev->priv; 1583 struct ctcm_priv *priv = dev->ml_priv;
1584 struct mpc_group *grp = priv->mpcg; 1584 struct mpc_group *grp = priv->mpcg;
1585 1585
1586 CTCM_PR_DEBUG("%s(%s): %s(ch=0x%p), cp=%i, ChStat:%s, GrpStat:%s\n", 1586 CTCM_PR_DEBUG("%s(%s): %s(ch=0x%p), cp=%i, ChStat:%s, GrpStat:%s\n",
@@ -1639,7 +1639,7 @@ static void ctcmpc_chx_attnbusy(fsm_instance *fsm, int event, void *arg)
1639{ 1639{
1640 struct channel *ch = arg; 1640 struct channel *ch = arg;
1641 struct net_device *dev = ch->netdev; 1641 struct net_device *dev = ch->netdev;
1642 struct ctcm_priv *priv = dev->priv; 1642 struct ctcm_priv *priv = dev->ml_priv;
1643 struct mpc_group *grp = priv->mpcg; 1643 struct mpc_group *grp = priv->mpcg;
1644 1644
1645 CTCM_PR_DEBUG("%s(%s): %s\n ChState:%s GrpState:%s\n", 1645 CTCM_PR_DEBUG("%s(%s): %s\n ChState:%s GrpState:%s\n",
@@ -1724,7 +1724,7 @@ static void ctcmpc_chx_resend(fsm_instance *fsm, int event, void *arg)
1724{ 1724{
1725 struct channel *ch = arg; 1725 struct channel *ch = arg;
1726 struct net_device *dev = ch->netdev; 1726 struct net_device *dev = ch->netdev;
1727 struct ctcm_priv *priv = dev->priv; 1727 struct ctcm_priv *priv = dev->ml_priv;
1728 struct mpc_group *grp = priv->mpcg; 1728 struct mpc_group *grp = priv->mpcg;
1729 1729
1730 fsm_event(grp->fsm, MPCG_EVENT_XID0DO, ch); 1730 fsm_event(grp->fsm, MPCG_EVENT_XID0DO, ch);
@@ -1740,7 +1740,7 @@ static void ctcmpc_chx_send_sweep(fsm_instance *fsm, int event, void *arg)
1740{ 1740{
1741 struct channel *ach = arg; 1741 struct channel *ach = arg;
1742 struct net_device *dev = ach->netdev; 1742 struct net_device *dev = ach->netdev;
1743 struct ctcm_priv *priv = dev->priv; 1743 struct ctcm_priv *priv = dev->ml_priv;
1744 struct mpc_group *grp = priv->mpcg; 1744 struct mpc_group *grp = priv->mpcg;
1745 struct channel *wch = priv->channel[WRITE]; 1745 struct channel *wch = priv->channel[WRITE];
1746 struct channel *rch = priv->channel[READ]; 1746 struct channel *rch = priv->channel[READ];
@@ -2050,7 +2050,7 @@ int mpc_ch_fsm_len = ARRAY_SIZE(ctcmpc_ch_fsm);
2050static void dev_action_start(fsm_instance *fi, int event, void *arg) 2050static void dev_action_start(fsm_instance *fi, int event, void *arg)
2051{ 2051{
2052 struct net_device *dev = arg; 2052 struct net_device *dev = arg;
2053 struct ctcm_priv *priv = dev->priv; 2053 struct ctcm_priv *priv = dev->ml_priv;
2054 int direction; 2054 int direction;
2055 2055
2056 CTCMY_DBF_DEV_NAME(SETUP, dev, ""); 2056 CTCMY_DBF_DEV_NAME(SETUP, dev, "");
@@ -2076,7 +2076,7 @@ static void dev_action_stop(fsm_instance *fi, int event, void *arg)
2076{ 2076{
2077 int direction; 2077 int direction;
2078 struct net_device *dev = arg; 2078 struct net_device *dev = arg;
2079 struct ctcm_priv *priv = dev->priv; 2079 struct ctcm_priv *priv = dev->ml_priv;
2080 2080
2081 CTCMY_DBF_DEV_NAME(SETUP, dev, ""); 2081 CTCMY_DBF_DEV_NAME(SETUP, dev, "");
2082 2082
@@ -2096,7 +2096,7 @@ static void dev_action_restart(fsm_instance *fi, int event, void *arg)
2096{ 2096{
2097 int restart_timer; 2097 int restart_timer;
2098 struct net_device *dev = arg; 2098 struct net_device *dev = arg;
2099 struct ctcm_priv *priv = dev->priv; 2099 struct ctcm_priv *priv = dev->ml_priv;
2100 2100
2101 CTCMY_DBF_DEV_NAME(TRACE, dev, ""); 2101 CTCMY_DBF_DEV_NAME(TRACE, dev, "");
2102 2102
@@ -2133,12 +2133,12 @@ static void dev_action_restart(fsm_instance *fi, int event, void *arg)
2133static void dev_action_chup(fsm_instance *fi, int event, void *arg) 2133static void dev_action_chup(fsm_instance *fi, int event, void *arg)
2134{ 2134{
2135 struct net_device *dev = arg; 2135 struct net_device *dev = arg;
2136 struct ctcm_priv *priv = dev->priv; 2136 struct ctcm_priv *priv = dev->ml_priv;
2137 int dev_stat = fsm_getstate(fi); 2137 int dev_stat = fsm_getstate(fi);
2138 2138
2139 CTCM_DBF_TEXT_(SETUP, CTC_DBF_NOTICE, 2139 CTCM_DBF_TEXT_(SETUP, CTC_DBF_NOTICE,
2140 "%s(%s): priv = %p [%d,%d]\n ", CTCM_FUNTAIL, 2140 "%s(%s): priv = %p [%d,%d]\n ", CTCM_FUNTAIL,
2141 dev->name, dev->priv, dev_stat, event); 2141 dev->name, dev->ml_priv, dev_stat, event);
2142 2142
2143 switch (fsm_getstate(fi)) { 2143 switch (fsm_getstate(fi)) {
2144 case DEV_STATE_STARTWAIT_RXTX: 2144 case DEV_STATE_STARTWAIT_RXTX:
@@ -2195,7 +2195,7 @@ static void dev_action_chdown(fsm_instance *fi, int event, void *arg)
2195{ 2195{
2196 2196
2197 struct net_device *dev = arg; 2197 struct net_device *dev = arg;
2198 struct ctcm_priv *priv = dev->priv; 2198 struct ctcm_priv *priv = dev->ml_priv;
2199 2199
2200 CTCMY_DBF_DEV_NAME(SETUP, dev, ""); 2200 CTCMY_DBF_DEV_NAME(SETUP, dev, "");
2201 2201
diff --git a/drivers/s390/net/ctcm_main.c b/drivers/s390/net/ctcm_main.c
index 126a3ebb8ab2..b11fec24c7d2 100644
--- a/drivers/s390/net/ctcm_main.c
+++ b/drivers/s390/net/ctcm_main.c
@@ -69,7 +69,7 @@ struct channel *channels;
69void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb) 69void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb)
70{ 70{
71 struct net_device *dev = ch->netdev; 71 struct net_device *dev = ch->netdev;
72 struct ctcm_priv *priv = dev->priv; 72 struct ctcm_priv *priv = dev->ml_priv;
73 __u16 len = *((__u16 *) pskb->data); 73 __u16 len = *((__u16 *) pskb->data);
74 74
75 skb_put(pskb, 2 + LL_HEADER_LENGTH); 75 skb_put(pskb, 2 + LL_HEADER_LENGTH);
@@ -414,7 +414,7 @@ int ctcm_ch_alloc_buffer(struct channel *ch)
414 */ 414 */
415int ctcm_open(struct net_device *dev) 415int ctcm_open(struct net_device *dev)
416{ 416{
417 struct ctcm_priv *priv = dev->priv; 417 struct ctcm_priv *priv = dev->ml_priv;
418 418
419 CTCMY_DBF_DEV_NAME(SETUP, dev, ""); 419 CTCMY_DBF_DEV_NAME(SETUP, dev, "");
420 if (!IS_MPC(priv)) 420 if (!IS_MPC(priv))
@@ -432,7 +432,7 @@ int ctcm_open(struct net_device *dev)
432 */ 432 */
433int ctcm_close(struct net_device *dev) 433int ctcm_close(struct net_device *dev)
434{ 434{
435 struct ctcm_priv *priv = dev->priv; 435 struct ctcm_priv *priv = dev->ml_priv;
436 436
437 CTCMY_DBF_DEV_NAME(SETUP, dev, ""); 437 CTCMY_DBF_DEV_NAME(SETUP, dev, "");
438 if (!IS_MPC(priv)) 438 if (!IS_MPC(priv))
@@ -573,7 +573,7 @@ static int ctcm_transmit_skb(struct channel *ch, struct sk_buff *skb)
573 skb_pull(skb, LL_HEADER_LENGTH + 2); 573 skb_pull(skb, LL_HEADER_LENGTH + 2);
574 } else if (ccw_idx == 0) { 574 } else if (ccw_idx == 0) {
575 struct net_device *dev = ch->netdev; 575 struct net_device *dev = ch->netdev;
576 struct ctcm_priv *priv = dev->priv; 576 struct ctcm_priv *priv = dev->ml_priv;
577 priv->stats.tx_packets++; 577 priv->stats.tx_packets++;
578 priv->stats.tx_bytes += skb->len - LL_HEADER_LENGTH; 578 priv->stats.tx_bytes += skb->len - LL_HEADER_LENGTH;
579 } 579 }
@@ -592,7 +592,7 @@ static void ctcmpc_send_sweep_req(struct channel *rch)
592 struct channel *ch; 592 struct channel *ch;
593 /* int rc = 0; */ 593 /* int rc = 0; */
594 594
595 priv = dev->priv; 595 priv = dev->ml_priv;
596 grp = priv->mpcg; 596 grp = priv->mpcg;
597 ch = priv->channel[WRITE]; 597 ch = priv->channel[WRITE];
598 598
@@ -652,7 +652,7 @@ static int ctcmpc_transmit_skb(struct channel *ch, struct sk_buff *skb)
652{ 652{
653 struct pdu *p_header; 653 struct pdu *p_header;
654 struct net_device *dev = ch->netdev; 654 struct net_device *dev = ch->netdev;
655 struct ctcm_priv *priv = dev->priv; 655 struct ctcm_priv *priv = dev->ml_priv;
656 struct mpc_group *grp = priv->mpcg; 656 struct mpc_group *grp = priv->mpcg;
657 struct th_header *header; 657 struct th_header *header;
658 struct sk_buff *nskb; 658 struct sk_buff *nskb;
@@ -867,7 +867,7 @@ done:
867/* first merge version - leaving both functions separated */ 867/* first merge version - leaving both functions separated */
868static int ctcm_tx(struct sk_buff *skb, struct net_device *dev) 868static int ctcm_tx(struct sk_buff *skb, struct net_device *dev)
869{ 869{
870 struct ctcm_priv *priv = dev->priv; 870 struct ctcm_priv *priv = dev->ml_priv;
871 871
872 if (skb == NULL) { 872 if (skb == NULL) {
873 CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR, 873 CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR,
@@ -911,7 +911,7 @@ static int ctcm_tx(struct sk_buff *skb, struct net_device *dev)
911static int ctcmpc_tx(struct sk_buff *skb, struct net_device *dev) 911static int ctcmpc_tx(struct sk_buff *skb, struct net_device *dev)
912{ 912{
913 int len = 0; 913 int len = 0;
914 struct ctcm_priv *priv = dev->priv; 914 struct ctcm_priv *priv = dev->ml_priv;
915 struct mpc_group *grp = priv->mpcg; 915 struct mpc_group *grp = priv->mpcg;
916 struct sk_buff *newskb = NULL; 916 struct sk_buff *newskb = NULL;
917 917
@@ -1025,7 +1025,7 @@ static int ctcm_change_mtu(struct net_device *dev, int new_mtu)
1025 if (new_mtu < 576 || new_mtu > 65527) 1025 if (new_mtu < 576 || new_mtu > 65527)
1026 return -EINVAL; 1026 return -EINVAL;
1027 1027
1028 priv = dev->priv; 1028 priv = dev->ml_priv;
1029 max_bufsize = priv->channel[READ]->max_bufsize; 1029 max_bufsize = priv->channel[READ]->max_bufsize;
1030 1030
1031 if (IS_MPC(priv)) { 1031 if (IS_MPC(priv)) {
@@ -1050,7 +1050,7 @@ static int ctcm_change_mtu(struct net_device *dev, int new_mtu)
1050 */ 1050 */
1051static struct net_device_stats *ctcm_stats(struct net_device *dev) 1051static struct net_device_stats *ctcm_stats(struct net_device *dev)
1052{ 1052{
1053 return &((struct ctcm_priv *)dev->priv)->stats; 1053 return &((struct ctcm_priv *)dev->ml_priv)->stats;
1054} 1054}
1055 1055
1056static void ctcm_free_netdevice(struct net_device *dev) 1056static void ctcm_free_netdevice(struct net_device *dev)
@@ -1060,7 +1060,7 @@ static void ctcm_free_netdevice(struct net_device *dev)
1060 1060
1061 CTCM_DBF_TEXT_(SETUP, CTC_DBF_INFO, 1061 CTCM_DBF_TEXT_(SETUP, CTC_DBF_INFO,
1062 "%s(%s)", CTCM_FUNTAIL, dev->name); 1062 "%s(%s)", CTCM_FUNTAIL, dev->name);
1063 priv = dev->priv; 1063 priv = dev->ml_priv;
1064 if (priv) { 1064 if (priv) {
1065 grp = priv->mpcg; 1065 grp = priv->mpcg;
1066 if (grp) { 1066 if (grp) {
@@ -1125,7 +1125,7 @@ static struct net_device *ctcm_init_netdevice(struct ctcm_priv *priv)
1125 CTCM_FUNTAIL); 1125 CTCM_FUNTAIL);
1126 return NULL; 1126 return NULL;
1127 } 1127 }
1128 dev->priv = priv; 1128 dev->ml_priv = priv;
1129 priv->fsm = init_fsm("ctcmdev", dev_state_names, dev_event_names, 1129 priv->fsm = init_fsm("ctcmdev", dev_state_names, dev_event_names,
1130 CTCM_NR_DEV_STATES, CTCM_NR_DEV_EVENTS, 1130 CTCM_NR_DEV_STATES, CTCM_NR_DEV_EVENTS,
1131 dev_fsm, dev_fsm_len, GFP_KERNEL); 1131 dev_fsm, dev_fsm_len, GFP_KERNEL);
diff --git a/drivers/s390/net/ctcm_main.h b/drivers/s390/net/ctcm_main.h
index a72e0feeb27f..8e10ee86a5ee 100644
--- a/drivers/s390/net/ctcm_main.h
+++ b/drivers/s390/net/ctcm_main.h
@@ -229,14 +229,14 @@ void ctcm_remove_files(struct device *dev);
229 */ 229 */
230static inline void ctcm_clear_busy_do(struct net_device *dev) 230static inline void ctcm_clear_busy_do(struct net_device *dev)
231{ 231{
232 clear_bit(0, &(((struct ctcm_priv *)dev->priv)->tbusy)); 232 clear_bit(0, &(((struct ctcm_priv *)dev->ml_priv)->tbusy));
233 netif_wake_queue(dev); 233 netif_wake_queue(dev);
234} 234}
235 235
236static inline void ctcm_clear_busy(struct net_device *dev) 236static inline void ctcm_clear_busy(struct net_device *dev)
237{ 237{
238 struct mpc_group *grp; 238 struct mpc_group *grp;
239 grp = ((struct ctcm_priv *)dev->priv)->mpcg; 239 grp = ((struct ctcm_priv *)dev->ml_priv)->mpcg;
240 240
241 if (!(grp && grp->in_sweep)) 241 if (!(grp && grp->in_sweep))
242 ctcm_clear_busy_do(dev); 242 ctcm_clear_busy_do(dev);
@@ -246,7 +246,8 @@ static inline void ctcm_clear_busy(struct net_device *dev)
246static inline int ctcm_test_and_set_busy(struct net_device *dev) 246static inline int ctcm_test_and_set_busy(struct net_device *dev)
247{ 247{
248 netif_stop_queue(dev); 248 netif_stop_queue(dev);
249 return test_and_set_bit(0, &(((struct ctcm_priv *)dev->priv)->tbusy)); 249 return test_and_set_bit(0,
250 &(((struct ctcm_priv *)dev->ml_priv)->tbusy));
250} 251}
251 252
252extern int loglevel; 253extern int loglevel;
@@ -292,7 +293,7 @@ struct mpc_group *ctcmpc_init_mpc_group(struct ctcm_priv *priv);
292#define IS_MPC(p) ((p)->protocol == CTCM_PROTO_MPC) 293#define IS_MPC(p) ((p)->protocol == CTCM_PROTO_MPC)
293 294
294/* test if struct ctcm_priv of struct net_device has MPC protocol setting */ 295/* test if struct ctcm_priv of struct net_device has MPC protocol setting */
295#define IS_MPCDEV(d) IS_MPC((struct ctcm_priv *)d->priv) 296#define IS_MPCDEV(dev) IS_MPC((struct ctcm_priv *)dev->ml_priv)
296 297
297static inline gfp_t gfp_type(void) 298static inline gfp_t gfp_type(void)
298{ 299{
diff --git a/drivers/s390/net/ctcm_mpc.c b/drivers/s390/net/ctcm_mpc.c
index 2de1e2fccbf9..cbe470493bf0 100644
--- a/drivers/s390/net/ctcm_mpc.c
+++ b/drivers/s390/net/ctcm_mpc.c
@@ -312,10 +312,10 @@ static struct net_device *ctcmpc_get_dev(int port_num)
312 CTCM_FUNTAIL, device); 312 CTCM_FUNTAIL, device);
313 return NULL; 313 return NULL;
314 } 314 }
315 priv = dev->priv; 315 priv = dev->ml_priv;
316 if (priv == NULL) { 316 if (priv == NULL) {
317 CTCM_DBF_TEXT_(MPC_ERROR, CTC_DBF_ERROR, 317 CTCM_DBF_TEXT_(MPC_ERROR, CTC_DBF_ERROR,
318 "%s(%s): dev->priv is NULL", 318 "%s(%s): dev->ml_priv is NULL",
319 CTCM_FUNTAIL, device); 319 CTCM_FUNTAIL, device);
320 return NULL; 320 return NULL;
321 } 321 }
@@ -344,7 +344,7 @@ int ctc_mpc_alloc_channel(int port_num, void (*callback)(int, int))
344 dev = ctcmpc_get_dev(port_num); 344 dev = ctcmpc_get_dev(port_num);
345 if (dev == NULL) 345 if (dev == NULL)
346 return 1; 346 return 1;
347 priv = dev->priv; 347 priv = dev->ml_priv;
348 grp = priv->mpcg; 348 grp = priv->mpcg;
349 349
350 grp->allochanfunc = callback; 350 grp->allochanfunc = callback;
@@ -416,7 +416,7 @@ void ctc_mpc_establish_connectivity(int port_num,
416 dev = ctcmpc_get_dev(port_num); 416 dev = ctcmpc_get_dev(port_num);
417 if (dev == NULL) 417 if (dev == NULL)
418 return; 418 return;
419 priv = dev->priv; 419 priv = dev->ml_priv;
420 grp = priv->mpcg; 420 grp = priv->mpcg;
421 rch = priv->channel[READ]; 421 rch = priv->channel[READ];
422 wch = priv->channel[WRITE]; 422 wch = priv->channel[WRITE];
@@ -534,7 +534,7 @@ void ctc_mpc_dealloc_ch(int port_num)
534 dev = ctcmpc_get_dev(port_num); 534 dev = ctcmpc_get_dev(port_num);
535 if (dev == NULL) 535 if (dev == NULL)
536 return; 536 return;
537 priv = dev->priv; 537 priv = dev->ml_priv;
538 grp = priv->mpcg; 538 grp = priv->mpcg;
539 539
540 CTCM_DBF_TEXT_(MPC_SETUP, CTC_DBF_DEBUG, 540 CTCM_DBF_TEXT_(MPC_SETUP, CTC_DBF_DEBUG,
@@ -570,7 +570,7 @@ void ctc_mpc_flow_control(int port_num, int flowc)
570 dev = ctcmpc_get_dev(port_num); 570 dev = ctcmpc_get_dev(port_num);
571 if (dev == NULL) 571 if (dev == NULL)
572 return; 572 return;
573 priv = dev->priv; 573 priv = dev->ml_priv;
574 grp = priv->mpcg; 574 grp = priv->mpcg;
575 575
576 CTCM_DBF_TEXT_(MPC_TRACE, CTC_DBF_DEBUG, 576 CTCM_DBF_TEXT_(MPC_TRACE, CTC_DBF_DEBUG,
@@ -619,7 +619,7 @@ static void mpc_rcvd_sweep_resp(struct mpcg_info *mpcginfo)
619{ 619{
620 struct channel *rch = mpcginfo->ch; 620 struct channel *rch = mpcginfo->ch;
621 struct net_device *dev = rch->netdev; 621 struct net_device *dev = rch->netdev;
622 struct ctcm_priv *priv = dev->priv; 622 struct ctcm_priv *priv = dev->ml_priv;
623 struct mpc_group *grp = priv->mpcg; 623 struct mpc_group *grp = priv->mpcg;
624 struct channel *ch = priv->channel[WRITE]; 624 struct channel *ch = priv->channel[WRITE];
625 625
@@ -650,7 +650,7 @@ static void mpc_rcvd_sweep_resp(struct mpcg_info *mpcginfo)
650static void ctcmpc_send_sweep_resp(struct channel *rch) 650static void ctcmpc_send_sweep_resp(struct channel *rch)
651{ 651{
652 struct net_device *dev = rch->netdev; 652 struct net_device *dev = rch->netdev;
653 struct ctcm_priv *priv = dev->priv; 653 struct ctcm_priv *priv = dev->ml_priv;
654 struct mpc_group *grp = priv->mpcg; 654 struct mpc_group *grp = priv->mpcg;
655 int rc = 0; 655 int rc = 0;
656 struct th_sweep *header; 656 struct th_sweep *header;
@@ -712,7 +712,7 @@ static void mpc_rcvd_sweep_req(struct mpcg_info *mpcginfo)
712{ 712{
713 struct channel *rch = mpcginfo->ch; 713 struct channel *rch = mpcginfo->ch;
714 struct net_device *dev = rch->netdev; 714 struct net_device *dev = rch->netdev;
715 struct ctcm_priv *priv = dev->priv; 715 struct ctcm_priv *priv = dev->ml_priv;
716 struct mpc_group *grp = priv->mpcg; 716 struct mpc_group *grp = priv->mpcg;
717 struct channel *ch = priv->channel[WRITE]; 717 struct channel *ch = priv->channel[WRITE];
718 718
@@ -846,7 +846,7 @@ static int mpcg_fsm_len = ARRAY_SIZE(mpcg_fsm);
846static void mpc_action_go_ready(fsm_instance *fsm, int event, void *arg) 846static void mpc_action_go_ready(fsm_instance *fsm, int event, void *arg)
847{ 847{
848 struct net_device *dev = arg; 848 struct net_device *dev = arg;
849 struct ctcm_priv *priv = dev->priv; 849 struct ctcm_priv *priv = dev->ml_priv;
850 struct mpc_group *grp = priv->mpcg; 850 struct mpc_group *grp = priv->mpcg;
851 851
852 if (grp == NULL) { 852 if (grp == NULL) {
@@ -890,7 +890,7 @@ static void mpc_action_go_ready(fsm_instance *fsm, int event, void *arg)
890void mpc_group_ready(unsigned long adev) 890void mpc_group_ready(unsigned long adev)
891{ 891{
892 struct net_device *dev = (struct net_device *)adev; 892 struct net_device *dev = (struct net_device *)adev;
893 struct ctcm_priv *priv = dev->priv; 893 struct ctcm_priv *priv = dev->ml_priv;
894 struct mpc_group *grp = priv->mpcg; 894 struct mpc_group *grp = priv->mpcg;
895 struct channel *ch = NULL; 895 struct channel *ch = NULL;
896 896
@@ -946,7 +946,7 @@ void mpc_group_ready(unsigned long adev)
946void mpc_channel_action(struct channel *ch, int direction, int action) 946void mpc_channel_action(struct channel *ch, int direction, int action)
947{ 947{
948 struct net_device *dev = ch->netdev; 948 struct net_device *dev = ch->netdev;
949 struct ctcm_priv *priv = dev->priv; 949 struct ctcm_priv *priv = dev->ml_priv;
950 struct mpc_group *grp = priv->mpcg; 950 struct mpc_group *grp = priv->mpcg;
951 951
952 if (grp == NULL) { 952 if (grp == NULL) {
@@ -1056,7 +1056,7 @@ done:
1056static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb) 1056static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb)
1057{ 1057{
1058 struct net_device *dev = ch->netdev; 1058 struct net_device *dev = ch->netdev;
1059 struct ctcm_priv *priv = dev->priv; 1059 struct ctcm_priv *priv = dev->ml_priv;
1060 struct mpc_group *grp = priv->mpcg; 1060 struct mpc_group *grp = priv->mpcg;
1061 struct pdu *curr_pdu; 1061 struct pdu *curr_pdu;
1062 struct mpcg_info *mpcginfo; 1062 struct mpcg_info *mpcginfo;
@@ -1254,7 +1254,7 @@ void ctcmpc_bh(unsigned long thischan)
1254 struct channel *ch = (struct channel *)thischan; 1254 struct channel *ch = (struct channel *)thischan;
1255 struct sk_buff *skb; 1255 struct sk_buff *skb;
1256 struct net_device *dev = ch->netdev; 1256 struct net_device *dev = ch->netdev;
1257 struct ctcm_priv *priv = dev->priv; 1257 struct ctcm_priv *priv = dev->ml_priv;
1258 struct mpc_group *grp = priv->mpcg; 1258 struct mpc_group *grp = priv->mpcg;
1259 1259
1260 CTCM_PR_DEBUG("%s cp:%i enter: %s() %s\n", 1260 CTCM_PR_DEBUG("%s cp:%i enter: %s() %s\n",
@@ -1376,7 +1376,7 @@ static void mpc_action_go_inop(fsm_instance *fi, int event, void *arg)
1376 BUG_ON(dev == NULL); 1376 BUG_ON(dev == NULL);
1377 CTCM_PR_DEBUG("Enter %s: %s\n", __func__, dev->name); 1377 CTCM_PR_DEBUG("Enter %s: %s\n", __func__, dev->name);
1378 1378
1379 priv = dev->priv; 1379 priv = dev->ml_priv;
1380 grp = priv->mpcg; 1380 grp = priv->mpcg;
1381 grp->flow_off_called = 0; 1381 grp->flow_off_called = 0;
1382 fsm_deltimer(&grp->timer); 1382 fsm_deltimer(&grp->timer);
@@ -1482,7 +1482,7 @@ static void mpc_action_timeout(fsm_instance *fi, int event, void *arg)
1482 1482
1483 BUG_ON(dev == NULL); 1483 BUG_ON(dev == NULL);
1484 1484
1485 priv = dev->priv; 1485 priv = dev->ml_priv;
1486 grp = priv->mpcg; 1486 grp = priv->mpcg;
1487 wch = priv->channel[WRITE]; 1487 wch = priv->channel[WRITE];
1488 rch = priv->channel[READ]; 1488 rch = priv->channel[READ];
@@ -1520,7 +1520,7 @@ void mpc_action_discontact(fsm_instance *fi, int event, void *arg)
1520 if (ch) { 1520 if (ch) {
1521 dev = ch->netdev; 1521 dev = ch->netdev;
1522 if (dev) { 1522 if (dev) {
1523 priv = dev->priv; 1523 priv = dev->ml_priv;
1524 if (priv) { 1524 if (priv) {
1525 CTCM_DBF_TEXT_(MPC_TRACE, CTC_DBF_NOTICE, 1525 CTCM_DBF_TEXT_(MPC_TRACE, CTC_DBF_NOTICE,
1526 "%s: %s: %s\n", 1526 "%s: %s: %s\n",
@@ -1568,7 +1568,7 @@ static int mpc_validate_xid(struct mpcg_info *mpcginfo)
1568{ 1568{
1569 struct channel *ch = mpcginfo->ch; 1569 struct channel *ch = mpcginfo->ch;
1570 struct net_device *dev = ch->netdev; 1570 struct net_device *dev = ch->netdev;
1571 struct ctcm_priv *priv = dev->priv; 1571 struct ctcm_priv *priv = dev->ml_priv;
1572 struct mpc_group *grp = priv->mpcg; 1572 struct mpc_group *grp = priv->mpcg;
1573 struct xid2 *xid = mpcginfo->xid; 1573 struct xid2 *xid = mpcginfo->xid;
1574 int rc = 0; 1574 int rc = 0;
@@ -1865,7 +1865,7 @@ static void mpc_action_doxid0(fsm_instance *fsm, int event, void *arg)
1865{ 1865{
1866 struct channel *ch = arg; 1866 struct channel *ch = arg;
1867 struct net_device *dev = ch->netdev; 1867 struct net_device *dev = ch->netdev;
1868 struct ctcm_priv *priv = dev->priv; 1868 struct ctcm_priv *priv = dev->ml_priv;
1869 struct mpc_group *grp = priv->mpcg; 1869 struct mpc_group *grp = priv->mpcg;
1870 1870
1871 CTCM_PR_DEBUG("Enter %s: cp=%i ch=0x%p id=%s\n", 1871 CTCM_PR_DEBUG("Enter %s: cp=%i ch=0x%p id=%s\n",
@@ -1905,7 +1905,7 @@ static void mpc_action_doxid0(fsm_instance *fsm, int event, void *arg)
1905static void mpc_action_doxid7(fsm_instance *fsm, int event, void *arg) 1905static void mpc_action_doxid7(fsm_instance *fsm, int event, void *arg)
1906{ 1906{
1907 struct net_device *dev = arg; 1907 struct net_device *dev = arg;
1908 struct ctcm_priv *priv = dev->priv; 1908 struct ctcm_priv *priv = dev->ml_priv;
1909 struct mpc_group *grp = NULL; 1909 struct mpc_group *grp = NULL;
1910 int direction; 1910 int direction;
1911 int send = 0; 1911 int send = 0;
@@ -1982,7 +1982,7 @@ static void mpc_action_rcvd_xid0(fsm_instance *fsm, int event, void *arg)
1982 struct mpcg_info *mpcginfo = arg; 1982 struct mpcg_info *mpcginfo = arg;
1983 struct channel *ch = mpcginfo->ch; 1983 struct channel *ch = mpcginfo->ch;
1984 struct net_device *dev = ch->netdev; 1984 struct net_device *dev = ch->netdev;
1985 struct ctcm_priv *priv = dev->priv; 1985 struct ctcm_priv *priv = dev->ml_priv;
1986 struct mpc_group *grp = priv->mpcg; 1986 struct mpc_group *grp = priv->mpcg;
1987 1987
1988 CTCM_PR_DEBUG("%s: ch-id:%s xid2:%i xid7:%i xidt_p2:%i \n", 1988 CTCM_PR_DEBUG("%s: ch-id:%s xid2:%i xid7:%i xidt_p2:%i \n",
@@ -2044,7 +2044,7 @@ static void mpc_action_rcvd_xid7(fsm_instance *fsm, int event, void *arg)
2044 struct mpcg_info *mpcginfo = arg; 2044 struct mpcg_info *mpcginfo = arg;
2045 struct channel *ch = mpcginfo->ch; 2045 struct channel *ch = mpcginfo->ch;
2046 struct net_device *dev = ch->netdev; 2046 struct net_device *dev = ch->netdev;
2047 struct ctcm_priv *priv = dev->priv; 2047 struct ctcm_priv *priv = dev->ml_priv;
2048 struct mpc_group *grp = priv->mpcg; 2048 struct mpc_group *grp = priv->mpcg;
2049 2049
2050 CTCM_PR_DEBUG("Enter %s: cp=%i ch=0x%p id=%s\n", 2050 CTCM_PR_DEBUG("Enter %s: cp=%i ch=0x%p id=%s\n",
@@ -2096,7 +2096,7 @@ static int mpc_send_qllc_discontact(struct net_device *dev)
2096 __u32 new_len = 0; 2096 __u32 new_len = 0;
2097 struct sk_buff *skb; 2097 struct sk_buff *skb;
2098 struct qllc *qllcptr; 2098 struct qllc *qllcptr;
2099 struct ctcm_priv *priv = dev->priv; 2099 struct ctcm_priv *priv = dev->ml_priv;
2100 struct mpc_group *grp = priv->mpcg; 2100 struct mpc_group *grp = priv->mpcg;
2101 2101
2102 CTCM_PR_DEBUG("%s: GROUP STATE: %s\n", 2102 CTCM_PR_DEBUG("%s: GROUP STATE: %s\n",
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index 6de28385b354..9bcfa04d863b 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -1412,7 +1412,8 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
1412 } 1412 }
1413 /* How far in the ccw chain have we processed? */ 1413 /* How far in the ccw chain have we processed? */
1414 if ((channel->state != LCS_CH_STATE_INIT) && 1414 if ((channel->state != LCS_CH_STATE_INIT) &&
1415 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC)) { 1415 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) &&
1416 (irb->scsw.cmd.cpa != 0)) {
1416 index = (struct ccw1 *) __va((addr_t) irb->scsw.cmd.cpa) 1417 index = (struct ccw1 *) __va((addr_t) irb->scsw.cmd.cpa)
1417 - channel->ccws; 1418 - channel->ccws;
1418 if ((irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) || 1419 if ((irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) ||
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h
index 80971c21ea1a..bf8a75c92f28 100644
--- a/drivers/s390/net/qeth_core.h
+++ b/drivers/s390/net/qeth_core.h
@@ -689,6 +689,7 @@ struct qeth_mc_mac {
689 struct list_head list; 689 struct list_head list;
690 __u8 mc_addr[MAX_ADDR_LEN]; 690 __u8 mc_addr[MAX_ADDR_LEN];
691 unsigned char mc_addrlen; 691 unsigned char mc_addrlen;
692 int is_vmac;
692}; 693};
693 694
694struct qeth_card { 695struct qeth_card {
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index bd420d1b9a0d..c7ab1b864516 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -3024,7 +3024,7 @@ static inline void __qeth_fill_buffer(struct sk_buff *skb,
3024 struct qdio_buffer *buffer, int is_tso, int *next_element_to_fill, 3024 struct qdio_buffer *buffer, int is_tso, int *next_element_to_fill,
3025 int offset) 3025 int offset)
3026{ 3026{
3027 int length = skb->len; 3027 int length = skb->len - offset;
3028 int length_here; 3028 int length_here;
3029 int element; 3029 int element;
3030 char *data; 3030 char *data;
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index b3cee032f578..3ac3cc1e03cc 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -177,9 +177,10 @@ static int qeth_l2_send_delgroupmac(struct qeth_card *card, __u8 *mac)
177 qeth_l2_send_delgroupmac_cb); 177 qeth_l2_send_delgroupmac_cb);
178} 178}
179 179
180static void qeth_l2_add_mc(struct qeth_card *card, __u8 *mac) 180static void qeth_l2_add_mc(struct qeth_card *card, __u8 *mac, int vmac)
181{ 181{
182 struct qeth_mc_mac *mc; 182 struct qeth_mc_mac *mc;
183 int rc;
183 184
184 mc = kmalloc(sizeof(struct qeth_mc_mac), GFP_ATOMIC); 185 mc = kmalloc(sizeof(struct qeth_mc_mac), GFP_ATOMIC);
185 186
@@ -188,8 +189,16 @@ static void qeth_l2_add_mc(struct qeth_card *card, __u8 *mac)
188 189
189 memcpy(mc->mc_addr, mac, OSA_ADDR_LEN); 190 memcpy(mc->mc_addr, mac, OSA_ADDR_LEN);
190 mc->mc_addrlen = OSA_ADDR_LEN; 191 mc->mc_addrlen = OSA_ADDR_LEN;
192 mc->is_vmac = vmac;
193
194 if (vmac) {
195 rc = qeth_l2_send_setdelmac(card, mac, IPA_CMD_SETVMAC,
196 NULL);
197 } else {
198 rc = qeth_l2_send_setgroupmac(card, mac);
199 }
191 200
192 if (!qeth_l2_send_setgroupmac(card, mac)) 201 if (!rc)
193 list_add_tail(&mc->list, &card->mc_list); 202 list_add_tail(&mc->list, &card->mc_list);
194 else 203 else
195 kfree(mc); 204 kfree(mc);
@@ -201,7 +210,11 @@ static void qeth_l2_del_all_mc(struct qeth_card *card)
201 210
202 spin_lock_bh(&card->mclock); 211 spin_lock_bh(&card->mclock);
203 list_for_each_entry_safe(mc, tmp, &card->mc_list, list) { 212 list_for_each_entry_safe(mc, tmp, &card->mc_list, list) {
204 qeth_l2_send_delgroupmac(card, mc->mc_addr); 213 if (mc->is_vmac)
214 qeth_l2_send_setdelmac(card, mc->mc_addr,
215 IPA_CMD_DELVMAC, NULL);
216 else
217 qeth_l2_send_delgroupmac(card, mc->mc_addr);
205 list_del(&mc->list); 218 list_del(&mc->list);
206 kfree(mc); 219 kfree(mc);
207 } 220 }
@@ -590,7 +603,7 @@ static int qeth_l2_set_mac_address(struct net_device *dev, void *p)
590static void qeth_l2_set_multicast_list(struct net_device *dev) 603static void qeth_l2_set_multicast_list(struct net_device *dev)
591{ 604{
592 struct qeth_card *card = dev->ml_priv; 605 struct qeth_card *card = dev->ml_priv;
593 struct dev_mc_list *dm; 606 struct dev_addr_list *dm;
594 607
595 if (card->info.type == QETH_CARD_TYPE_OSN) 608 if (card->info.type == QETH_CARD_TYPE_OSN)
596 return ; 609 return ;
@@ -599,7 +612,11 @@ static void qeth_l2_set_multicast_list(struct net_device *dev)
599 qeth_l2_del_all_mc(card); 612 qeth_l2_del_all_mc(card);
600 spin_lock_bh(&card->mclock); 613 spin_lock_bh(&card->mclock);
601 for (dm = dev->mc_list; dm; dm = dm->next) 614 for (dm = dev->mc_list; dm; dm = dm->next)
602 qeth_l2_add_mc(card, dm->dmi_addr); 615 qeth_l2_add_mc(card, dm->da_addr, 0);
616
617 for (dm = dev->uc_list; dm; dm = dm->next)
618 qeth_l2_add_mc(card, dm->da_addr, 1);
619
603 spin_unlock_bh(&card->mclock); 620 spin_unlock_bh(&card->mclock);
604 if (!qeth_adp_supported(card, IPA_SETADP_SET_PROMISC_MODE)) 621 if (!qeth_adp_supported(card, IPA_SETADP_SET_PROMISC_MODE))
605 return; 622 return;
diff --git a/drivers/s390/net/qeth_l3_sys.c b/drivers/s390/net/qeth_l3_sys.c
index ac1993708ae9..210ddb639748 100644
--- a/drivers/s390/net/qeth_l3_sys.c
+++ b/drivers/s390/net/qeth_l3_sys.c
@@ -136,7 +136,7 @@ static ssize_t qeth_l3_dev_route6_store(struct device *dev,
136 return -EINVAL; 136 return -EINVAL;
137 137
138 if (!qeth_is_supported(card, IPA_IPV6)) { 138 if (!qeth_is_supported(card, IPA_IPV6)) {
139 return -ENOTSUPP; 139 return -EOPNOTSUPP;
140 } 140 }
141 141
142 return qeth_l3_dev_route_store(card, &card->options.route6, 142 return qeth_l3_dev_route_store(card, &card->options.route6,
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index e5e7d7856454..2a2bc89aba83 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1875,6 +1875,7 @@ static int sd_probe(struct device *dev)
1875 1875
1876 dev_set_drvdata(dev, sdkp); 1876 dev_set_drvdata(dev, sdkp);
1877 add_disk(gd); 1877 add_disk(gd);
1878 blk_register_filter(gd);
1878 sd_dif_config_host(sdkp); 1879 sd_dif_config_host(sdkp);
1879 1880
1880 sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n", 1881 sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
@@ -1908,6 +1909,7 @@ static int sd_remove(struct device *dev)
1908 struct scsi_disk *sdkp = dev_get_drvdata(dev); 1909 struct scsi_disk *sdkp = dev_get_drvdata(dev);
1909 1910
1910 device_del(&sdkp->dev); 1911 device_del(&sdkp->dev);
1912 blk_unregister_filter(sdkp->disk);
1911 del_gendisk(sdkp->disk); 1913 del_gendisk(sdkp->disk);
1912 sd_shutdown(dev); 1914 sd_shutdown(dev);
1913 1915
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 3d36270a8b4d..661f9f21650a 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -217,6 +217,18 @@ static int sg_last_dev(void);
217#define SZ_SG_IOVEC sizeof(sg_iovec_t) 217#define SZ_SG_IOVEC sizeof(sg_iovec_t)
218#define SZ_SG_REQ_INFO sizeof(sg_req_info_t) 218#define SZ_SG_REQ_INFO sizeof(sg_req_info_t)
219 219
220static int sg_allow_access(struct file *filp, unsigned char *cmd)
221{
222 struct sg_fd *sfp = (struct sg_fd *)filp->private_data;
223 struct request_queue *q = sfp->parentdp->device->request_queue;
224
225 if (sfp->parentdp->device->type == TYPE_SCANNER)
226 return 0;
227
228 return blk_verify_command(&q->cmd_filter,
229 cmd, filp->f_mode & FMODE_WRITE);
230}
231
220static int 232static int
221sg_open(struct inode *inode, struct file *filp) 233sg_open(struct inode *inode, struct file *filp)
222{ 234{
@@ -689,7 +701,7 @@ sg_new_write(Sg_fd *sfp, struct file *file, const char __user *buf,
689 sg_remove_request(sfp, srp); 701 sg_remove_request(sfp, srp);
690 return -EFAULT; 702 return -EFAULT;
691 } 703 }
692 if (read_only && !blk_verify_command(file, cmnd)) { 704 if (read_only && sg_allow_access(file, cmnd)) {
693 sg_remove_request(sfp, srp); 705 sg_remove_request(sfp, srp);
694 return -EPERM; 706 return -EPERM;
695 } 707 }
@@ -793,6 +805,7 @@ sg_ioctl(struct inode *inode, struct file *filp,
793 805
794 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 806 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
795 return -ENXIO; 807 return -ENXIO;
808
796 SCSI_LOG_TIMEOUT(3, printk("sg_ioctl: %s, cmd=0x%x\n", 809 SCSI_LOG_TIMEOUT(3, printk("sg_ioctl: %s, cmd=0x%x\n",
797 sdp->disk->disk_name, (int) cmd_in)); 810 sdp->disk->disk_name, (int) cmd_in));
798 read_only = (O_RDWR != (filp->f_flags & O_ACCMODE)); 811 read_only = (O_RDWR != (filp->f_flags & O_ACCMODE));
@@ -1061,7 +1074,7 @@ sg_ioctl(struct inode *inode, struct file *filp,
1061 1074
1062 if (copy_from_user(&opcode, siocp->data, 1)) 1075 if (copy_from_user(&opcode, siocp->data, 1))
1063 return -EFAULT; 1076 return -EFAULT;
1064 if (!blk_verify_command(filp, &opcode)) 1077 if (sg_allow_access(filp, &opcode))
1065 return -EPERM; 1078 return -EPERM;
1066 } 1079 }
1067 return sg_scsi_ioctl(filp, sdp->device->request_queue, NULL, p); 1080 return sg_scsi_ioctl(filp, sdp->device->request_queue, NULL, p);
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index 27f5bfd1def3..3292965bfd84 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -656,6 +656,7 @@ static int sr_probe(struct device *dev)
656 dev_set_drvdata(dev, cd); 656 dev_set_drvdata(dev, cd);
657 disk->flags |= GENHD_FL_REMOVABLE; 657 disk->flags |= GENHD_FL_REMOVABLE;
658 add_disk(disk); 658 add_disk(disk);
659 blk_register_filter(disk);
659 660
660 sdev_printk(KERN_DEBUG, sdev, 661 sdev_printk(KERN_DEBUG, sdev,
661 "Attached scsi CD-ROM %s\n", cd->cdi.name); 662 "Attached scsi CD-ROM %s\n", cd->cdi.name);
@@ -894,6 +895,7 @@ static int sr_remove(struct device *dev)
894{ 895{
895 struct scsi_cd *cd = dev_get_drvdata(dev); 896 struct scsi_cd *cd = dev_get_drvdata(dev);
896 897
898 blk_unregister_filter(cd->disk);
897 del_gendisk(cd->disk); 899 del_gendisk(cd->disk);
898 900
899 mutex_lock(&sr_ref_mutex); 901 mutex_lock(&sr_ref_mutex);
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 342e12fb1c25..9ccc563d8730 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -1908,15 +1908,23 @@ static int serial8250_startup(struct uart_port *port)
1908 * kick the UART on a regular basis. 1908 * kick the UART on a regular basis.
1909 */ 1909 */
1910 if (!(iir1 & UART_IIR_NO_INT) && (iir & UART_IIR_NO_INT)) { 1910 if (!(iir1 & UART_IIR_NO_INT) && (iir & UART_IIR_NO_INT)) {
1911 up->bugs |= UART_BUG_THRE;
1911 pr_debug("ttyS%d - using backup timer\n", port->line); 1912 pr_debug("ttyS%d - using backup timer\n", port->line);
1912 up->timer.function = serial8250_backup_timeout;
1913 up->timer.data = (unsigned long)up;
1914 mod_timer(&up->timer, jiffies +
1915 poll_timeout(up->port.timeout) + HZ / 5);
1916 } 1913 }
1917 } 1914 }
1918 1915
1919 /* 1916 /*
1917 * The above check will only give an accurate result the first time
1918 * the port is opened so this value needs to be preserved.
1919 */
1920 if (up->bugs & UART_BUG_THRE) {
1921 up->timer.function = serial8250_backup_timeout;
1922 up->timer.data = (unsigned long)up;
1923 mod_timer(&up->timer, jiffies +
1924 poll_timeout(up->port.timeout) + HZ / 5);
1925 }
1926
1927 /*
1920 * If the "interrupt" for this port doesn't correspond with any 1928 * If the "interrupt" for this port doesn't correspond with any
1921 * hardware interrupt, we use a timer-based system. The original 1929 * hardware interrupt, we use a timer-based system. The original
1922 * driver used to do this with IRQ0. 1930 * driver used to do this with IRQ0.
diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h
index 78c00162b04e..520260326f3d 100644
--- a/drivers/serial/8250.h
+++ b/drivers/serial/8250.h
@@ -47,6 +47,7 @@ struct serial8250_config {
47#define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ 47#define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */
48#define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ 48#define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */
49#define UART_BUG_NOMSR (1 << 2) /* UART has buggy MSR status bits (Au1x00) */ 49#define UART_BUG_NOMSR (1 << 2) /* UART has buggy MSR status bits (Au1x00) */
50#define UART_BUG_THRE (1 << 3) /* UART has buggy THRE reassertion */
50 51
51#define PROBE_RSA (1 << 0) 52#define PROBE_RSA (1 << 0)
52#define PROBE_ANY (~0) 53#define PROBE_ANY (~0)
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
index efcd44344fb1..4a0d30bed9f1 100644
--- a/drivers/serial/bfin_5xx.c
+++ b/drivers/serial/bfin_5xx.c
@@ -28,7 +28,7 @@
28#endif 28#endif
29 29
30#include <asm/gpio.h> 30#include <asm/gpio.h>
31#include <asm/mach/bfin_serial_5xx.h> 31#include <mach/bfin_serial_5xx.h>
32 32
33#ifdef CONFIG_SERIAL_BFIN_DMA 33#ifdef CONFIG_SERIAL_BFIN_DMA
34#include <linux/dma-mapping.h> 34#include <linux/dma-mapping.h>
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index 1eb64d08b60a..95b3ec89c126 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -208,7 +208,7 @@ static int ohci_omap_init(struct usb_hcd *hcd)
208 if (cpu_is_omap16xx()) 208 if (cpu_is_omap16xx())
209 ocpi_enable(); 209 ocpi_enable();
210 210
211#ifdef CONFIG_ARCH_OMAP_OTG 211#ifdef CONFIG_USB_OTG
212 if (need_transceiver) { 212 if (need_transceiver) {
213 ohci->transceiver = otg_get_transceiver(); 213 ohci->transceiver = otg_get_transceiver();
214 if (ohci->transceiver) { 214 if (ohci->transceiver) {
diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c
index 7b74238ad1c7..e980766bb84b 100644
--- a/drivers/usb/serial/console.c
+++ b/drivers/usb/serial/console.c
@@ -161,7 +161,7 @@ static int usb_console_setup(struct console *co, char *options)
161 if (serial->type->set_termios) { 161 if (serial->type->set_termios) {
162 termios->c_cflag = cflag; 162 termios->c_cflag = cflag;
163 tty_termios_encode_baud_rate(termios, baud, baud); 163 tty_termios_encode_baud_rate(termios, baud, baud);
164 serial->type->set_termios(NULL, port, &dummy); 164 serial->type->set_termios(tty, port, &dummy);
165 165
166 port->port.tty = NULL; 166 port->port.tty = NULL;
167 kfree(termios); 167 kfree(termios);
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 70d135e0cc47..d85a74c64b54 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -172,11 +172,6 @@ config FB_DEFERRED_IO
172 bool 172 bool
173 depends on FB 173 depends on FB
174 174
175config FB_METRONOME
176 tristate
177 depends on FB
178 depends on FB_DEFERRED_IO
179
180config FB_HECUBA 175config FB_HECUBA
181 tristate 176 tristate
182 depends on FB 177 depends on FB
@@ -1974,19 +1969,6 @@ config FB_XILINX
1974 framebuffer. ML300 carries a 640*480 LCD display on the board, 1969 framebuffer. ML300 carries a 640*480 LCD display on the board,
1975 ML403 uses a standard DB15 VGA connector. 1970 ML403 uses a standard DB15 VGA connector.
1976 1971
1977config FB_AM200EPD
1978 tristate "AM-200 E-Ink EPD devkit support"
1979 depends on FB && ARCH_PXA && MMU
1980 select FB_SYS_FILLRECT
1981 select FB_SYS_COPYAREA
1982 select FB_SYS_IMAGEBLIT
1983 select FB_SYS_FOPS
1984 select FB_DEFERRED_IO
1985 select FB_METRONOME
1986 help
1987 This enables support for the Metronome display controller used on
1988 the E-Ink AM-200 EPD devkit.
1989
1990config FB_COBALT 1972config FB_COBALT
1991 tristate "Cobalt server LCD frame buffer support" 1973 tristate "Cobalt server LCD frame buffer support"
1992 depends on FB && MIPS_COBALT 1974 depends on FB && MIPS_COBALT
@@ -2041,6 +2023,19 @@ config XEN_FBDEV_FRONTEND
2041 frame buffer driver. It communicates with a back-end 2023 frame buffer driver. It communicates with a back-end
2042 in another domain. 2024 in another domain.
2043 2025
2026config FB_METRONOME
2027 tristate "E-Ink Metronome/8track controller support"
2028 depends on FB
2029 select FB_SYS_FILLRECT
2030 select FB_SYS_COPYAREA
2031 select FB_SYS_IMAGEBLIT
2032 select FB_SYS_FOPS
2033 select FB_DEFERRED_IO
2034 help
2035 This driver implements support for the E-Ink Metronome
2036 controller. The pre-release name for this device was 8track
2037 and could also have been called by some vendors as PVI-nnnn.
2038
2044source "drivers/video/omap/Kconfig" 2039source "drivers/video/omap/Kconfig"
2045 2040
2046source "drivers/video/backlight/Kconfig" 2041source "drivers/video/backlight/Kconfig"
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index a6b55297a7fb..ad0330bf9be3 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -29,7 +29,6 @@ obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o
29 29
30# Hardware specific drivers go first 30# Hardware specific drivers go first
31obj-$(CONFIG_FB_AMIGA) += amifb.o c2p.o 31obj-$(CONFIG_FB_AMIGA) += amifb.o c2p.o
32obj-$(CONFIG_FB_AM200EPD) += am200epd.o
33obj-$(CONFIG_FB_ARC) += arcfb.o 32obj-$(CONFIG_FB_ARC) += arcfb.o
34obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o 33obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o
35obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o 34obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o
diff --git a/drivers/video/am200epd.c b/drivers/video/am200epd.c
deleted file mode 100644
index 0c35b8b0160e..000000000000
--- a/drivers/video/am200epd.c
+++ /dev/null
@@ -1,295 +0,0 @@
1/*
2 * linux/drivers/video/am200epd.c -- Platform device for AM200 EPD kit
3 *
4 * Copyright (C) 2008, Jaya Kumar
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.
9 *
10 * Layout is based on skeletonfb.c by James Simmons and Geert Uytterhoeven.
11 *
12 * This work was made possible by help and equipment support from E-Ink
13 * Corporation. http://support.eink.com/community
14 *
15 * This driver is written to be used with the Metronome display controller.
16 * on the AM200 EPD prototype kit/development kit with an E-Ink 800x600
17 * Vizplex EPD on a Gumstix board using the Lyre interface board.
18 *
19 */
20
21#include <linux/module.h>
22#include <linux/kernel.h>
23#include <linux/errno.h>
24#include <linux/string.h>
25#include <linux/delay.h>
26#include <linux/interrupt.h>
27#include <linux/fb.h>
28#include <linux/init.h>
29#include <linux/platform_device.h>
30#include <linux/list.h>
31#include <linux/uaccess.h>
32#include <linux/irq.h>
33
34#include <video/metronomefb.h>
35
36#include <mach/pxa-regs.h>
37
38/* register offsets for gpio control */
39#define LED_GPIO_PIN 51
40#define STDBY_GPIO_PIN 48
41#define RST_GPIO_PIN 49
42#define RDY_GPIO_PIN 32
43#define ERR_GPIO_PIN 17
44#define PCBPWR_GPIO_PIN 16
45
46#define AF_SEL_GPIO_N 0x3
47#define GAFR0_U_OFFSET(pin) ((pin - 16) * 2)
48#define GAFR1_L_OFFSET(pin) ((pin - 32) * 2)
49#define GAFR1_U_OFFSET(pin) ((pin - 48) * 2)
50#define GPDR1_OFFSET(pin) (pin - 32)
51#define GPCR1_OFFSET(pin) (pin - 32)
52#define GPSR1_OFFSET(pin) (pin - 32)
53#define GPCR0_OFFSET(pin) (pin)
54#define GPSR0_OFFSET(pin) (pin)
55
56static void am200_set_gpio_output(int pin, int val)
57{
58 u8 index;
59
60 index = pin >> 4;
61
62 switch (index) {
63 case 1:
64 if (val)
65 GPSR0 |= (1 << GPSR0_OFFSET(pin));
66 else
67 GPCR0 |= (1 << GPCR0_OFFSET(pin));
68 break;
69 case 2:
70 break;
71 case 3:
72 if (val)
73 GPSR1 |= (1 << GPSR1_OFFSET(pin));
74 else
75 GPCR1 |= (1 << GPCR1_OFFSET(pin));
76 break;
77 default:
78 printk(KERN_ERR "unimplemented\n");
79 }
80}
81
82static void __devinit am200_init_gpio_pin(int pin, int dir)
83{
84 u8 index;
85 /* dir 0 is output, 1 is input
86 - do 2 things here:
87 - set gpio alternate function to standard gpio
88 - set gpio direction to input or output */
89
90 index = pin >> 4;
91 switch (index) {
92 case 1:
93 GAFR0_U &= ~(AF_SEL_GPIO_N << GAFR0_U_OFFSET(pin));
94
95 if (dir)
96 GPDR0 &= ~(1 << pin);
97 else
98 GPDR0 |= (1 << pin);
99 break;
100 case 2:
101 GAFR1_L &= ~(AF_SEL_GPIO_N << GAFR1_L_OFFSET(pin));
102
103 if (dir)
104 GPDR1 &= ~(1 << GPDR1_OFFSET(pin));
105 else
106 GPDR1 |= (1 << GPDR1_OFFSET(pin));
107 break;
108 case 3:
109 GAFR1_U &= ~(AF_SEL_GPIO_N << GAFR1_U_OFFSET(pin));
110
111 if (dir)
112 GPDR1 &= ~(1 << GPDR1_OFFSET(pin));
113 else
114 GPDR1 |= (1 << GPDR1_OFFSET(pin));
115 break;
116 default:
117 printk(KERN_ERR "unimplemented\n");
118 }
119}
120
121static void am200_init_gpio_regs(struct metronomefb_par *par)
122{
123 am200_init_gpio_pin(LED_GPIO_PIN, 0);
124 am200_set_gpio_output(LED_GPIO_PIN, 0);
125
126 am200_init_gpio_pin(STDBY_GPIO_PIN, 0);
127 am200_set_gpio_output(STDBY_GPIO_PIN, 0);
128
129 am200_init_gpio_pin(RST_GPIO_PIN, 0);
130 am200_set_gpio_output(RST_GPIO_PIN, 0);
131
132 am200_init_gpio_pin(RDY_GPIO_PIN, 1);
133
134 am200_init_gpio_pin(ERR_GPIO_PIN, 1);
135
136 am200_init_gpio_pin(PCBPWR_GPIO_PIN, 0);
137 am200_set_gpio_output(PCBPWR_GPIO_PIN, 0);
138}
139
140static void am200_disable_lcd_controller(struct metronomefb_par *par)
141{
142 LCSR = 0xffffffff; /* Clear LCD Status Register */
143 LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */
144
145 /* we reset and just wait for things to settle */
146 msleep(200);
147}
148
149static void am200_enable_lcd_controller(struct metronomefb_par *par)
150{
151 LCSR = 0xffffffff;
152 FDADR0 = par->metromem_desc_dma;
153 LCCR0 |= LCCR0_ENB;
154}
155
156static void am200_init_lcdc_regs(struct metronomefb_par *par)
157{
158 /* here we do:
159 - disable the lcd controller
160 - setup lcd control registers
161 - setup dma descriptor
162 - reenable lcd controller
163 */
164
165 /* disable the lcd controller */
166 am200_disable_lcd_controller(par);
167
168 /* setup lcd control registers */
169 LCCR0 = LCCR0_LDM | LCCR0_SFM | LCCR0_IUM | LCCR0_EFM | LCCR0_PAS
170 | LCCR0_QDM | LCCR0_BM | LCCR0_OUM;
171
172 LCCR1 = (par->info->var.xres/2 - 1) /* pixels per line */
173 | (27 << 10) /* hsync pulse width - 1 */
174 | (33 << 16) /* eol pixel count */
175 | (33 << 24); /* bol pixel count */
176
177 LCCR2 = (par->info->var.yres - 1) /* lines per panel */
178 | (24 << 10) /* vsync pulse width - 1 */
179 | (2 << 16) /* eof pixel count */
180 | (0 << 24); /* bof pixel count */
181
182 LCCR3 = 2 /* pixel clock divisor */
183 | (24 << 8) /* AC Bias pin freq */
184 | LCCR3_16BPP /* BPP */
185 | LCCR3_PCP; /* PCP falling edge */
186
187}
188
189static void am200_post_dma_setup(struct metronomefb_par *par)
190{
191 par->metromem_desc->mFDADR0 = par->metromem_desc_dma;
192 par->metromem_desc->mFSADR0 = par->metromem_dma;
193 par->metromem_desc->mFIDR0 = 0;
194 par->metromem_desc->mLDCMD0 = par->info->var.xres
195 * par->info->var.yres;
196 am200_enable_lcd_controller(par);
197}
198
199static void am200_free_irq(struct fb_info *info)
200{
201 free_irq(IRQ_GPIO(RDY_GPIO_PIN), info);
202}
203
204static irqreturn_t am200_handle_irq(int irq, void *dev_id)
205{
206 struct fb_info *info = dev_id;
207 struct metronomefb_par *par = info->par;
208
209 wake_up_interruptible(&par->waitq);
210 return IRQ_HANDLED;
211}
212
213static int am200_setup_irq(struct fb_info *info)
214{
215 int retval;
216
217 retval = request_irq(IRQ_GPIO(RDY_GPIO_PIN), am200_handle_irq,
218 IRQF_DISABLED, "AM200", info);
219 if (retval) {
220 printk(KERN_ERR "am200epd: request_irq failed: %d\n", retval);
221 return retval;
222 }
223
224 return set_irq_type(IRQ_GPIO(RDY_GPIO_PIN), IRQ_TYPE_EDGE_FALLING);
225}
226
227static void am200_set_rst(struct metronomefb_par *par, int state)
228{
229 am200_set_gpio_output(RST_GPIO_PIN, state);
230}
231
232static void am200_set_stdby(struct metronomefb_par *par, int state)
233{
234 am200_set_gpio_output(STDBY_GPIO_PIN, state);
235}
236
237static int am200_wait_event(struct metronomefb_par *par)
238{
239 return wait_event_timeout(par->waitq, (GPLR1 & 0x01), HZ);
240}
241
242static int am200_wait_event_intr(struct metronomefb_par *par)
243{
244 return wait_event_interruptible_timeout(par->waitq, (GPLR1 & 0x01), HZ);
245}
246
247static struct metronome_board am200_board = {
248 .owner = THIS_MODULE,
249 .free_irq = am200_free_irq,
250 .setup_irq = am200_setup_irq,
251 .init_gpio_regs = am200_init_gpio_regs,
252 .init_lcdc_regs = am200_init_lcdc_regs,
253 .post_dma_setup = am200_post_dma_setup,
254 .set_rst = am200_set_rst,
255 .set_stdby = am200_set_stdby,
256 .met_wait_event = am200_wait_event,
257 .met_wait_event_intr = am200_wait_event_intr,
258};
259
260static struct platform_device *am200_device;
261
262static int __init am200_init(void)
263{
264 int ret;
265
266 /* request our platform independent driver */
267 request_module("metronomefb");
268
269 am200_device = platform_device_alloc("metronomefb", -1);
270 if (!am200_device)
271 return -ENOMEM;
272
273 platform_device_add_data(am200_device, &am200_board,
274 sizeof(am200_board));
275
276 /* this _add binds metronomefb to am200. metronomefb refcounts am200 */
277 ret = platform_device_add(am200_device);
278
279 if (ret)
280 platform_device_put(am200_device);
281
282 return ret;
283}
284
285static void __exit am200_exit(void)
286{
287 platform_device_unregister(am200_device);
288}
289
290module_init(am200_init);
291module_exit(am200_exit);
292
293MODULE_DESCRIPTION("board driver for am200 metronome epd kit");
294MODULE_AUTHOR("Jaya Kumar");
295MODULE_LICENSE("GPL");
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 9c5925927ece..5a24c6411d34 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -939,7 +939,7 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev)
939 ret = register_framebuffer(info); 939 ret = register_framebuffer(info);
940 if (ret < 0) { 940 if (ret < 0) {
941 dev_err(dev, "failed to register framebuffer device: %d\n", ret); 941 dev_err(dev, "failed to register framebuffer device: %d\n", ret);
942 goto free_cmap; 942 goto reset_drvdata;
943 } 943 }
944 944
945 /* add selected videomode to modelist */ 945 /* add selected videomode to modelist */
@@ -955,7 +955,8 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev)
955 955
956 return 0; 956 return 0;
957 957
958 958reset_drvdata:
959 dev_set_drvdata(dev, NULL);
959free_cmap: 960free_cmap:
960 fb_dealloc_cmap(&info->cmap); 961 fb_dealloc_cmap(&info->cmap);
961unregister_irqs: 962unregister_irqs:
@@ -992,10 +993,11 @@ static int __exit atmel_lcdfb_remove(struct platform_device *pdev)
992{ 993{
993 struct device *dev = &pdev->dev; 994 struct device *dev = &pdev->dev;
994 struct fb_info *info = dev_get_drvdata(dev); 995 struct fb_info *info = dev_get_drvdata(dev);
995 struct atmel_lcdfb_info *sinfo = info->par; 996 struct atmel_lcdfb_info *sinfo;
996 997
997 if (!sinfo) 998 if (!info || !info->par)
998 return 0; 999 return 0;
1000 sinfo = info->par;
999 1001
1000 cancel_work_sync(&sinfo->task); 1002 cancel_work_sync(&sinfo->task);
1001 exit_backlight(sinfo); 1003 exit_backlight(sinfo);
diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
index 452b770d8cc9..c72a13562954 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -24,6 +24,13 @@ config LCD_CLASS_DEVICE
24 To have support for your specific LCD panel you will have to 24 To have support for your specific LCD panel you will have to
25 select the proper drivers which depend on this option. 25 select the proper drivers which depend on this option.
26 26
27config LCD_CORGI
28 tristate "LCD Panel support for SHARP corgi/spitz model"
29 depends on LCD_CLASS_DEVICE && SPI_MASTER && PXA_SHARPSL
30 help
31 Say y here to support the LCD panels usually found on SHARP
32 corgi (C7x0) and spitz (Cxx00) models.
33
27config LCD_LTV350QV 34config LCD_LTV350QV
28 tristate "Samsung LTV350QV LCD Panel" 35 tristate "Samsung LTV350QV LCD Panel"
29 depends on LCD_CLASS_DEVICE && SPI_MASTER 36 depends on LCD_CLASS_DEVICE && SPI_MASTER
@@ -44,6 +51,14 @@ config LCD_ILI9320
44 If you have a panel based on the ILI9320 controller chip 51 If you have a panel based on the ILI9320 controller chip
45 then say y to include a power driver for it. 52 then say y to include a power driver for it.
46 53
54config LCD_TDO24M
55 tristate "Toppoly TDO24M LCD Panels support"
56 depends on LCD_CLASS_DEVICE && SPI_MASTER
57 default n
58 help
59 If you have a Toppoly TDO24M series LCD panel, say y here to
60 include the support for it.
61
47config LCD_VGG2432A4 62config LCD_VGG2432A4
48 tristate "VGG2432A4 LCM device support" 63 tristate "VGG2432A4 LCM device support"
49 depends on BACKLIGHT_LCD_SUPPORT && LCD_CLASS_DEVICE && SPI_MASTER 64 depends on BACKLIGHT_LCD_SUPPORT && LCD_CLASS_DEVICE && SPI_MASTER
diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
index b405aace803f..3ec551eb472c 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
@@ -1,10 +1,12 @@
1# Backlight & LCD drivers 1# Backlight & LCD drivers
2 2
3obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o 3obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o
4obj-$(CONFIG_LCD_CORGI) += corgi_lcd.o
4obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o 5obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o
5obj-$(CONFIG_LCD_ILI9320) += ili9320.o 6obj-$(CONFIG_LCD_ILI9320) += ili9320.o
6obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o 7obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o
7obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o 8obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o
9obj-$(CONFIG_LCD_TDO24M) += tdo24m.o
8 10
9obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o 11obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o
10obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o 12obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o
diff --git a/drivers/video/backlight/corgi_lcd.c b/drivers/video/backlight/corgi_lcd.c
new file mode 100644
index 000000000000..2afd47eefe74
--- /dev/null
+++ b/drivers/video/backlight/corgi_lcd.c
@@ -0,0 +1,641 @@
1/*
2 * LCD/Backlight Driver for Sharp Zaurus Handhelds (various models)
3 *
4 * Copyright (c) 2004-2006 Richard Purdie
5 *
6 * Based on Sharp's 2.4 Backlight Driver
7 *
8 * Copyright (c) 2008 Marvell International Ltd.
9 * Converted to SPI device based LCD/Backlight device driver
10 * by Eric Miao <eric.miao@marvell.com>
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15 *
16 */
17
18#include <linux/module.h>
19#include <linux/kernel.h>
20#include <linux/init.h>
21#include <linux/delay.h>
22#include <linux/gpio.h>
23#include <linux/fb.h>
24#include <linux/lcd.h>
25#include <linux/spi/spi.h>
26#include <linux/spi/corgi_lcd.h>
27#include <asm/mach/sharpsl_param.h>
28
29#define POWER_IS_ON(pwr) ((pwr) <= FB_BLANK_NORMAL)
30
31/* Register Addresses */
32#define RESCTL_ADRS 0x00
33#define PHACTRL_ADRS 0x01
34#define DUTYCTRL_ADRS 0x02
35#define POWERREG0_ADRS 0x03
36#define POWERREG1_ADRS 0x04
37#define GPOR3_ADRS 0x05
38#define PICTRL_ADRS 0x06
39#define POLCTRL_ADRS 0x07
40
41/* Register Bit Definitions */
42#define RESCTL_QVGA 0x01
43#define RESCTL_VGA 0x00
44
45#define POWER1_VW_ON 0x01 /* VW Supply FET ON */
46#define POWER1_GVSS_ON 0x02 /* GVSS(-8V) Power Supply ON */
47#define POWER1_VDD_ON 0x04 /* VDD(8V),SVSS(-4V) Power Supply ON */
48
49#define POWER1_VW_OFF 0x00 /* VW Supply FET OFF */
50#define POWER1_GVSS_OFF 0x00 /* GVSS(-8V) Power Supply OFF */
51#define POWER1_VDD_OFF 0x00 /* VDD(8V),SVSS(-4V) Power Supply OFF */
52
53#define POWER0_COM_DCLK 0x01 /* COM Voltage DC Bias DAC Serial Data Clock */
54#define POWER0_COM_DOUT 0x02 /* COM Voltage DC Bias DAC Serial Data Out */
55#define POWER0_DAC_ON 0x04 /* DAC Power Supply ON */
56#define POWER0_COM_ON 0x08 /* COM Power Supply ON */
57#define POWER0_VCC5_ON 0x10 /* VCC5 Power Supply ON */
58
59#define POWER0_DAC_OFF 0x00 /* DAC Power Supply OFF */
60#define POWER0_COM_OFF 0x00 /* COM Power Supply OFF */
61#define POWER0_VCC5_OFF 0x00 /* VCC5 Power Supply OFF */
62
63#define PICTRL_INIT_STATE 0x01
64#define PICTRL_INIOFF 0x02
65#define PICTRL_POWER_DOWN 0x04
66#define PICTRL_COM_SIGNAL_OFF 0x08
67#define PICTRL_DAC_SIGNAL_OFF 0x10
68
69#define POLCTRL_SYNC_POL_FALL 0x01
70#define POLCTRL_EN_POL_FALL 0x02
71#define POLCTRL_DATA_POL_FALL 0x04
72#define POLCTRL_SYNC_ACT_H 0x08
73#define POLCTRL_EN_ACT_L 0x10
74
75#define POLCTRL_SYNC_POL_RISE 0x00
76#define POLCTRL_EN_POL_RISE 0x00
77#define POLCTRL_DATA_POL_RISE 0x00
78#define POLCTRL_SYNC_ACT_L 0x00
79#define POLCTRL_EN_ACT_H 0x00
80
81#define PHACTRL_PHASE_MANUAL 0x01
82#define DEFAULT_PHAD_QVGA (9)
83#define DEFAULT_COMADJ (125)
84
85struct corgi_lcd {
86 struct spi_device *spi_dev;
87 struct lcd_device *lcd_dev;
88 struct backlight_device *bl_dev;
89
90 int limit_mask;
91 int intensity;
92 int power;
93 int mode;
94 char buf[2];
95
96 int gpio_backlight_on;
97 int gpio_backlight_cont;
98 int gpio_backlight_cont_inverted;
99
100 void (*kick_battery)(void);
101};
102
103static int corgi_ssp_lcdtg_send(struct corgi_lcd *lcd, int reg, uint8_t val);
104
105static struct corgi_lcd *the_corgi_lcd;
106static unsigned long corgibl_flags;
107#define CORGIBL_SUSPENDED 0x01
108#define CORGIBL_BATTLOW 0x02
109
110/*
111 * This is only a psuedo I2C interface. We can't use the standard kernel
112 * routines as the interface is write only. We just assume the data is acked...
113 */
114static void lcdtg_ssp_i2c_send(struct corgi_lcd *lcd, uint8_t data)
115{
116 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS, data);
117 udelay(10);
118}
119
120static void lcdtg_i2c_send_bit(struct corgi_lcd *lcd, uint8_t data)
121{
122 lcdtg_ssp_i2c_send(lcd, data);
123 lcdtg_ssp_i2c_send(lcd, data | POWER0_COM_DCLK);
124 lcdtg_ssp_i2c_send(lcd, data);
125}
126
127static void lcdtg_i2c_send_start(struct corgi_lcd *lcd, uint8_t base)
128{
129 lcdtg_ssp_i2c_send(lcd, base | POWER0_COM_DCLK | POWER0_COM_DOUT);
130 lcdtg_ssp_i2c_send(lcd, base | POWER0_COM_DCLK);
131 lcdtg_ssp_i2c_send(lcd, base);
132}
133
134static void lcdtg_i2c_send_stop(struct corgi_lcd *lcd, uint8_t base)
135{
136 lcdtg_ssp_i2c_send(lcd, base);
137 lcdtg_ssp_i2c_send(lcd, base | POWER0_COM_DCLK);
138 lcdtg_ssp_i2c_send(lcd, base | POWER0_COM_DCLK | POWER0_COM_DOUT);
139}
140
141static void lcdtg_i2c_send_byte(struct corgi_lcd *lcd,
142 uint8_t base, uint8_t data)
143{
144 int i;
145 for (i = 0; i < 8; i++) {
146 if (data & 0x80)
147 lcdtg_i2c_send_bit(lcd, base | POWER0_COM_DOUT);
148 else
149 lcdtg_i2c_send_bit(lcd, base);
150 data <<= 1;
151 }
152}
153
154static void lcdtg_i2c_wait_ack(struct corgi_lcd *lcd, uint8_t base)
155{
156 lcdtg_i2c_send_bit(lcd, base);
157}
158
159static void lcdtg_set_common_voltage(struct corgi_lcd *lcd,
160 uint8_t base_data, uint8_t data)
161{
162 /* Set Common Voltage to M62332FP via I2C */
163 lcdtg_i2c_send_start(lcd, base_data);
164 lcdtg_i2c_send_byte(lcd, base_data, 0x9c);
165 lcdtg_i2c_wait_ack(lcd, base_data);
166 lcdtg_i2c_send_byte(lcd, base_data, 0x00);
167 lcdtg_i2c_wait_ack(lcd, base_data);
168 lcdtg_i2c_send_byte(lcd, base_data, data);
169 lcdtg_i2c_wait_ack(lcd, base_data);
170 lcdtg_i2c_send_stop(lcd, base_data);
171}
172
173static int corgi_ssp_lcdtg_send(struct corgi_lcd *lcd, int adrs, uint8_t data)
174{
175 struct spi_message msg;
176 struct spi_transfer xfer = {
177 .len = 1,
178 .cs_change = 1,
179 .tx_buf = lcd->buf,
180 };
181
182 lcd->buf[0] = ((adrs & 0x07) << 5) | (data & 0x1f);
183 spi_message_init(&msg);
184 spi_message_add_tail(&xfer, &msg);
185
186 return spi_sync(lcd->spi_dev, &msg);
187}
188
189/* Set Phase Adjust */
190static void lcdtg_set_phadadj(struct corgi_lcd *lcd, int mode)
191{
192 int adj;
193
194 switch(mode) {
195 case CORGI_LCD_MODE_VGA:
196 /* Setting for VGA */
197 adj = sharpsl_param.phadadj;
198 adj = (adj < 0) ? PHACTRL_PHASE_MANUAL :
199 PHACTRL_PHASE_MANUAL | ((adj & 0xf) << 1);
200 break;
201 case CORGI_LCD_MODE_QVGA:
202 default:
203 /* Setting for QVGA */
204 adj = (DEFAULT_PHAD_QVGA << 1) | PHACTRL_PHASE_MANUAL;
205 break;
206 }
207
208 corgi_ssp_lcdtg_send(lcd, PHACTRL_ADRS, adj);
209}
210
211static void corgi_lcd_power_on(struct corgi_lcd *lcd)
212{
213 int comadj;
214
215 /* Initialize Internal Logic & Port */
216 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS,
217 PICTRL_POWER_DOWN | PICTRL_INIOFF |
218 PICTRL_INIT_STATE | PICTRL_COM_SIGNAL_OFF |
219 PICTRL_DAC_SIGNAL_OFF);
220
221 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
222 POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_OFF |
223 POWER0_COM_OFF | POWER0_VCC5_OFF);
224
225 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
226 POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_OFF);
227
228 /* VDD(+8V), SVSS(-4V) ON */
229 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
230 POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_ON);
231 mdelay(3);
232
233 /* DAC ON */
234 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
235 POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON |
236 POWER0_COM_OFF | POWER0_VCC5_OFF);
237
238 /* INIB = H, INI = L */
239 /* PICTL[0] = H , PICTL[1] = PICTL[2] = PICTL[4] = L */
240 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS,
241 PICTRL_INIT_STATE | PICTRL_COM_SIGNAL_OFF);
242
243 /* Set Common Voltage */
244 comadj = sharpsl_param.comadj;
245 if (comadj < 0)
246 comadj = DEFAULT_COMADJ;
247
248 lcdtg_set_common_voltage(lcd, POWER0_DAC_ON | POWER0_COM_OFF |
249 POWER0_VCC5_OFF, comadj);
250
251 /* VCC5 ON, DAC ON */
252 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
253 POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON |
254 POWER0_COM_OFF | POWER0_VCC5_ON);
255
256 /* GVSS(-8V) ON, VDD ON */
257 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
258 POWER1_VW_OFF | POWER1_GVSS_ON | POWER1_VDD_ON);
259 mdelay(2);
260
261 /* COM SIGNAL ON (PICTL[3] = L) */
262 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS, PICTRL_INIT_STATE);
263
264 /* COM ON, DAC ON, VCC5_ON */
265 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
266 POWER0_COM_DCLK | POWER0_COM_DOUT | POWER0_DAC_ON |
267 POWER0_COM_ON | POWER0_VCC5_ON);
268
269 /* VW ON, GVSS ON, VDD ON */
270 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
271 POWER1_VW_ON | POWER1_GVSS_ON | POWER1_VDD_ON);
272
273 /* Signals output enable */
274 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS, 0);
275
276 /* Set Phase Adjust */
277 lcdtg_set_phadadj(lcd, lcd->mode);
278
279 /* Initialize for Input Signals from ATI */
280 corgi_ssp_lcdtg_send(lcd, POLCTRL_ADRS,
281 POLCTRL_SYNC_POL_RISE | POLCTRL_EN_POL_RISE |
282 POLCTRL_DATA_POL_RISE | POLCTRL_SYNC_ACT_L |
283 POLCTRL_EN_ACT_H);
284 udelay(1000);
285
286 switch (lcd->mode) {
287 case CORGI_LCD_MODE_VGA:
288 corgi_ssp_lcdtg_send(lcd, RESCTL_ADRS, RESCTL_VGA);
289 break;
290 case CORGI_LCD_MODE_QVGA:
291 default:
292 corgi_ssp_lcdtg_send(lcd, RESCTL_ADRS, RESCTL_QVGA);
293 break;
294 }
295}
296
297static void corgi_lcd_power_off(struct corgi_lcd *lcd)
298{
299 /* 60Hz x 2 frame = 16.7msec x 2 = 33.4 msec */
300 msleep(34);
301
302 /* (1)VW OFF */
303 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
304 POWER1_VW_OFF | POWER1_GVSS_ON | POWER1_VDD_ON);
305
306 /* (2)COM OFF */
307 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS, PICTRL_COM_SIGNAL_OFF);
308 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
309 POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_ON);
310
311 /* (3)Set Common Voltage Bias 0V */
312 lcdtg_set_common_voltage(lcd, POWER0_DAC_ON | POWER0_COM_OFF |
313 POWER0_VCC5_ON, 0);
314
315 /* (4)GVSS OFF */
316 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
317 POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_ON);
318
319 /* (5)VCC5 OFF */
320 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
321 POWER0_DAC_ON | POWER0_COM_OFF | POWER0_VCC5_OFF);
322
323 /* (6)Set PDWN, INIOFF, DACOFF */
324 corgi_ssp_lcdtg_send(lcd, PICTRL_ADRS,
325 PICTRL_INIOFF | PICTRL_DAC_SIGNAL_OFF |
326 PICTRL_POWER_DOWN | PICTRL_COM_SIGNAL_OFF);
327
328 /* (7)DAC OFF */
329 corgi_ssp_lcdtg_send(lcd, POWERREG0_ADRS,
330 POWER0_DAC_OFF | POWER0_COM_OFF | POWER0_VCC5_OFF);
331
332 /* (8)VDD OFF */
333 corgi_ssp_lcdtg_send(lcd, POWERREG1_ADRS,
334 POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_OFF);
335}
336
337static int corgi_lcd_set_mode(struct lcd_device *ld, struct fb_videomode *m)
338{
339 struct corgi_lcd *lcd = dev_get_drvdata(&ld->dev);
340 int mode = CORGI_LCD_MODE_QVGA;
341
342 if (m->xres == 640 || m->xres == 480)
343 mode = CORGI_LCD_MODE_VGA;
344
345 if (lcd->mode == mode)
346 return 0;
347
348 lcdtg_set_phadadj(lcd, mode);
349
350 switch (mode) {
351 case CORGI_LCD_MODE_VGA:
352 corgi_ssp_lcdtg_send(lcd, RESCTL_ADRS, RESCTL_VGA);
353 break;
354 case CORGI_LCD_MODE_QVGA:
355 default:
356 corgi_ssp_lcdtg_send(lcd, RESCTL_ADRS, RESCTL_QVGA);
357 break;
358 }
359
360 lcd->mode = mode;
361 return 0;
362}
363
364static int corgi_lcd_set_power(struct lcd_device *ld, int power)
365{
366 struct corgi_lcd *lcd = dev_get_drvdata(&ld->dev);
367
368 if (POWER_IS_ON(power) && !POWER_IS_ON(lcd->power))
369 corgi_lcd_power_on(lcd);
370
371 if (!POWER_IS_ON(power) && POWER_IS_ON(lcd->power))
372 corgi_lcd_power_off(lcd);
373
374 lcd->power = power;
375 return 0;
376}
377
378static int corgi_lcd_get_power(struct lcd_device *ld)
379{
380 struct corgi_lcd *lcd = dev_get_drvdata(&ld->dev);
381
382 return lcd->power;
383}
384
385static struct lcd_ops corgi_lcd_ops = {
386 .get_power = corgi_lcd_get_power,
387 .set_power = corgi_lcd_set_power,
388 .set_mode = corgi_lcd_set_mode,
389};
390
391static int corgi_bl_get_intensity(struct backlight_device *bd)
392{
393 struct corgi_lcd *lcd = dev_get_drvdata(&bd->dev);
394
395 return lcd->intensity;
396}
397
398static int corgi_bl_set_intensity(struct corgi_lcd *lcd, int intensity)
399{
400 int cont;
401
402 if (intensity > 0x10)
403 intensity += 0x10;
404
405 corgi_ssp_lcdtg_send(lcd, DUTYCTRL_ADRS, intensity);
406
407 /* Bit 5 via GPIO_BACKLIGHT_CONT */
408 cont = !!(intensity & 0x20) ^ lcd->gpio_backlight_cont_inverted;
409
410 if (gpio_is_valid(lcd->gpio_backlight_cont))
411 gpio_set_value(lcd->gpio_backlight_cont, cont);
412
413 if (gpio_is_valid(lcd->gpio_backlight_on))
414 gpio_set_value(lcd->gpio_backlight_on, intensity);
415
416 if (lcd->kick_battery)
417 lcd->kick_battery();
418
419 lcd->intensity = intensity;
420 return 0;
421}
422
423static int corgi_bl_update_status(struct backlight_device *bd)
424{
425 struct corgi_lcd *lcd = dev_get_drvdata(&bd->dev);
426 int intensity = bd->props.brightness;
427
428 if (bd->props.power != FB_BLANK_UNBLANK)
429 intensity = 0;
430
431 if (bd->props.fb_blank != FB_BLANK_UNBLANK)
432 intensity = 0;
433
434 if (corgibl_flags & CORGIBL_SUSPENDED)
435 intensity = 0;
436 if (corgibl_flags & CORGIBL_BATTLOW)
437 intensity &= lcd->limit_mask;
438
439 return corgi_bl_set_intensity(lcd, intensity);
440}
441
442void corgibl_limit_intensity(int limit)
443{
444 if (limit)
445 corgibl_flags |= CORGIBL_BATTLOW;
446 else
447 corgibl_flags &= ~CORGIBL_BATTLOW;
448
449 backlight_update_status(the_corgi_lcd->bl_dev);
450}
451EXPORT_SYMBOL(corgibl_limit_intensity);
452
453static struct backlight_ops corgi_bl_ops = {
454 .get_brightness = corgi_bl_get_intensity,
455 .update_status = corgi_bl_update_status,
456};
457
458#ifdef CONFIG_PM
459static int corgi_lcd_suspend(struct spi_device *spi, pm_message_t state)
460{
461 struct corgi_lcd *lcd = dev_get_drvdata(&spi->dev);
462
463 corgibl_flags |= CORGIBL_SUSPENDED;
464 corgi_bl_set_intensity(lcd, 0);
465 corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_POWERDOWN);
466 return 0;
467}
468
469static int corgi_lcd_resume(struct spi_device *spi)
470{
471 struct corgi_lcd *lcd = dev_get_drvdata(&spi->dev);
472
473 corgibl_flags &= ~CORGIBL_SUSPENDED;
474 corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_UNBLANK);
475 backlight_update_status(lcd->bl_dev);
476 return 0;
477}
478#else
479#define corgi_lcd_suspend NULL
480#define corgi_lcd_resume NULL
481#endif
482
483static int setup_gpio_backlight(struct corgi_lcd *lcd,
484 struct corgi_lcd_platform_data *pdata)
485{
486 struct spi_device *spi = lcd->spi_dev;
487 int err;
488
489 lcd->gpio_backlight_on = -1;
490 lcd->gpio_backlight_cont = -1;
491
492 if (gpio_is_valid(pdata->gpio_backlight_on)) {
493 err = gpio_request(pdata->gpio_backlight_on, "BL_ON");
494 if (err) {
495 dev_err(&spi->dev, "failed to request GPIO%d for "
496 "backlight_on\n", pdata->gpio_backlight_on);
497 return err;
498 }
499
500 lcd->gpio_backlight_on = pdata->gpio_backlight_on;
501 gpio_direction_output(lcd->gpio_backlight_on, 0);
502 }
503
504 if (gpio_is_valid(pdata->gpio_backlight_cont)) {
505 err = gpio_request(pdata->gpio_backlight_cont, "BL_CONT");
506 if (err) {
507 dev_err(&spi->dev, "failed to request GPIO%d for "
508 "backlight_cont\n", pdata->gpio_backlight_cont);
509 goto err_free_backlight_on;
510 }
511
512 lcd->gpio_backlight_cont = pdata->gpio_backlight_cont;
513
514 /* spitz and akita use both GPIOs for backlight, and
515 * have inverted polarity of GPIO_BACKLIGHT_CONT
516 */
517 if (gpio_is_valid(lcd->gpio_backlight_on)) {
518 lcd->gpio_backlight_cont_inverted = 1;
519 gpio_direction_output(lcd->gpio_backlight_cont, 1);
520 } else {
521 lcd->gpio_backlight_cont_inverted = 0;
522 gpio_direction_output(lcd->gpio_backlight_cont, 0);
523 }
524 }
525 return 0;
526
527err_free_backlight_on:
528 if (gpio_is_valid(lcd->gpio_backlight_on))
529 gpio_free(lcd->gpio_backlight_on);
530 return err;
531}
532
533static int __devinit corgi_lcd_probe(struct spi_device *spi)
534{
535 struct corgi_lcd_platform_data *pdata = spi->dev.platform_data;
536 struct corgi_lcd *lcd;
537 int ret = 0;
538
539 if (pdata == NULL) {
540 dev_err(&spi->dev, "platform data not available\n");
541 return -EINVAL;
542 }
543
544 lcd = kzalloc(sizeof(struct corgi_lcd), GFP_KERNEL);
545 if (!lcd) {
546 dev_err(&spi->dev, "failed to allocate memory\n");
547 return -ENOMEM;
548 }
549
550 lcd->spi_dev = spi;
551
552 lcd->lcd_dev = lcd_device_register("corgi_lcd", &spi->dev,
553 lcd, &corgi_lcd_ops);
554 if (IS_ERR(lcd->lcd_dev)) {
555 ret = PTR_ERR(lcd->lcd_dev);
556 goto err_free_lcd;
557 }
558 lcd->power = FB_BLANK_POWERDOWN;
559 lcd->mode = (pdata) ? pdata->init_mode : CORGI_LCD_MODE_VGA;
560
561 lcd->bl_dev = backlight_device_register("corgi_bl", &spi->dev,
562 lcd, &corgi_bl_ops);
563 if (IS_ERR(lcd->bl_dev)) {
564 ret = PTR_ERR(lcd->bl_dev);
565 goto err_unregister_lcd;
566 }
567 lcd->bl_dev->props.max_brightness = pdata->max_intensity;
568 lcd->bl_dev->props.brightness = pdata->default_intensity;
569 lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
570
571 ret = setup_gpio_backlight(lcd, pdata);
572 if (ret)
573 goto err_unregister_bl;
574
575 lcd->kick_battery = pdata->kick_battery;
576
577 dev_set_drvdata(&spi->dev, lcd);
578 corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_UNBLANK);
579 backlight_update_status(lcd->bl_dev);
580
581 lcd->limit_mask = pdata->limit_mask;
582 the_corgi_lcd = lcd;
583 return 0;
584
585err_unregister_bl:
586 backlight_device_unregister(lcd->bl_dev);
587err_unregister_lcd:
588 lcd_device_unregister(lcd->lcd_dev);
589err_free_lcd:
590 kfree(lcd);
591 return ret;
592}
593
594static int __devexit corgi_lcd_remove(struct spi_device *spi)
595{
596 struct corgi_lcd *lcd = dev_get_drvdata(&spi->dev);
597
598 lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
599 lcd->bl_dev->props.brightness = 0;
600 backlight_update_status(lcd->bl_dev);
601 backlight_device_unregister(lcd->bl_dev);
602
603 if (gpio_is_valid(lcd->gpio_backlight_on))
604 gpio_free(lcd->gpio_backlight_on);
605
606 if (gpio_is_valid(lcd->gpio_backlight_cont))
607 gpio_free(lcd->gpio_backlight_cont);
608
609 corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_POWERDOWN);
610 lcd_device_unregister(lcd->lcd_dev);
611 kfree(lcd);
612
613 return 0;
614}
615
616static struct spi_driver corgi_lcd_driver = {
617 .driver = {
618 .name = "corgi-lcd",
619 .owner = THIS_MODULE,
620 },
621 .probe = corgi_lcd_probe,
622 .remove = __devexit_p(corgi_lcd_remove),
623 .suspend = corgi_lcd_suspend,
624 .resume = corgi_lcd_resume,
625};
626
627static int __init corgi_lcd_init(void)
628{
629 return spi_register_driver(&corgi_lcd_driver);
630}
631module_init(corgi_lcd_init);
632
633static void __exit corgi_lcd_exit(void)
634{
635 spi_unregister_driver(&corgi_lcd_driver);
636}
637module_exit(corgi_lcd_exit);
638
639MODULE_DESCRIPTION("LCD and backlight driver for SHARP C7x0/Cxx00");
640MODULE_AUTHOR("Eric Miao <eric.miao@marvell.com>");
641MODULE_LICENSE("GPL");
diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c
index b15b2b84a6f7..8e1731d3b228 100644
--- a/drivers/video/backlight/lcd.c
+++ b/drivers/video/backlight/lcd.c
@@ -27,14 +27,26 @@ static int fb_notifier_callback(struct notifier_block *self,
27 struct fb_event *evdata = data; 27 struct fb_event *evdata = data;
28 28
29 /* If we aren't interested in this event, skip it immediately ... */ 29 /* If we aren't interested in this event, skip it immediately ... */
30 if (event != FB_EVENT_BLANK) 30 switch (event) {
31 case FB_EVENT_BLANK:
32 case FB_EVENT_MODE_CHANGE:
33 case FB_EVENT_MODE_CHANGE_ALL:
34 break;
35 default:
31 return 0; 36 return 0;
37 }
32 38
33 ld = container_of(self, struct lcd_device, fb_notif); 39 ld = container_of(self, struct lcd_device, fb_notif);
40 if (!ld->ops)
41 return 0;
42
34 mutex_lock(&ld->ops_lock); 43 mutex_lock(&ld->ops_lock);
35 if (ld->ops) 44 if (!ld->ops->check_fb || ld->ops->check_fb(ld, evdata->info)) {
36 if (!ld->ops->check_fb || ld->ops->check_fb(ld, evdata->info)) 45 if (event == FB_EVENT_BLANK)
37 ld->ops->set_power(ld, *(int *)evdata->data); 46 ld->ops->set_power(ld, *(int *)evdata->data);
47 else
48 ld->ops->set_mode(ld, evdata->data);
49 }
38 mutex_unlock(&ld->ops_lock); 50 mutex_unlock(&ld->ops_lock);
39 return 0; 51 return 0;
40} 52}
diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c
new file mode 100644
index 000000000000..8427669162ea
--- /dev/null
+++ b/drivers/video/backlight/tdo24m.c
@@ -0,0 +1,396 @@
1/*
2 * tdo24m - SPI-based drivers for Toppoly TDO24M series LCD panels
3 *
4 * Copyright (C) 2008 Marvell International Ltd.
5 * Eric Miao <eric.miao@marvell.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * publishhed by the Free Software Foundation.
10 */
11
12#include <linux/module.h>
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/device.h>
16#include <linux/spi/spi.h>
17#include <linux/fb.h>
18#include <linux/lcd.h>
19
20#define POWER_IS_ON(pwr) ((pwr) <= FB_BLANK_NORMAL)
21
22#define TDO24M_SPI_BUFF_SIZE (4)
23#define MODE_QVGA 0
24#define MODE_VGA 1
25
26struct tdo24m {
27 struct spi_device *spi_dev;
28 struct lcd_device *lcd_dev;
29
30 struct spi_message msg;
31 struct spi_transfer xfer;
32 uint8_t *buf;
33
34 int power;
35 int mode;
36};
37
38/* use bit 30, 31 as the indicator of command parameter number */
39#define CMD0(x) ((0 << 30) | (x))
40#define CMD1(x, x1) ((1 << 30) | ((x) << 9) | 0x100 | (x1))
41#define CMD2(x, x1, x2) ((2 << 30) | ((x) << 18) | 0x20000 |\
42 ((x1) << 9) | 0x100 | (x2))
43#define CMD_NULL (-1)
44
45static uint32_t lcd_panel_reset[] = {
46 CMD0(0x1), /* reset */
47 CMD0(0x0), /* nop */
48 CMD0(0x0), /* nop */
49 CMD0(0x0), /* nop */
50 CMD_NULL,
51};
52
53static uint32_t lcd_panel_on[] = {
54 CMD0(0x29), /* Display ON */
55 CMD2(0xB8, 0xFF, 0xF9), /* Output Control */
56 CMD0(0x11), /* Sleep out */
57 CMD1(0xB0, 0x16), /* Wake */
58 CMD_NULL,
59};
60
61static uint32_t lcd_panel_off[] = {
62 CMD0(0x28), /* Display OFF */
63 CMD2(0xB8, 0x80, 0x02), /* Output Control */
64 CMD0(0x10), /* Sleep in */
65 CMD1(0xB0, 0x00), /* Deep stand by in */
66 CMD_NULL,
67};
68
69static uint32_t lcd_vga_pass_through[] = {
70 CMD1(0xB0, 0x16),
71 CMD1(0xBC, 0x80),
72 CMD1(0xE1, 0x00),
73 CMD1(0x36, 0x50),
74 CMD1(0x3B, 0x00),
75 CMD_NULL,
76};
77
78static uint32_t lcd_qvga_pass_through[] = {
79 CMD1(0xB0, 0x16),
80 CMD1(0xBC, 0x81),
81 CMD1(0xE1, 0x00),
82 CMD1(0x36, 0x50),
83 CMD1(0x3B, 0x22),
84 CMD_NULL,
85};
86
87static uint32_t lcd_vga_transfer[] = {
88 CMD1(0xcf, 0x02), /* Blanking period control (1) */
89 CMD2(0xd0, 0x08, 0x04), /* Blanking period control (2) */
90 CMD1(0xd1, 0x01), /* CKV timing control on/off */
91 CMD2(0xd2, 0x14, 0x00), /* CKV 1,2 timing control */
92 CMD2(0xd3, 0x1a, 0x0f), /* OEV timing control */
93 CMD2(0xd4, 0x1f, 0xaf), /* ASW timing control (1) */
94 CMD1(0xd5, 0x14), /* ASW timing control (2) */
95 CMD0(0x21), /* Invert for normally black display */
96 CMD0(0x29), /* Display on */
97 CMD_NULL,
98};
99
100static uint32_t lcd_qvga_transfer[] = {
101 CMD1(0xd6, 0x02), /* Blanking period control (1) */
102 CMD2(0xd7, 0x08, 0x04), /* Blanking period control (2) */
103 CMD1(0xd8, 0x01), /* CKV timing control on/off */
104 CMD2(0xd9, 0x00, 0x08), /* CKV 1,2 timing control */
105 CMD2(0xde, 0x05, 0x0a), /* OEV timing control */
106 CMD2(0xdf, 0x0a, 0x19), /* ASW timing control (1) */
107 CMD1(0xe0, 0x0a), /* ASW timing control (2) */
108 CMD0(0x21), /* Invert for normally black display */
109 CMD0(0x29), /* Display on */
110 CMD_NULL,
111};
112
113static uint32_t lcd_panel_config[] = {
114 CMD2(0xb8, 0xff, 0xf9), /* Output control */
115 CMD0(0x11), /* sleep out */
116 CMD1(0xba, 0x01), /* Display mode (1) */
117 CMD1(0xbb, 0x00), /* Display mode (2) */
118 CMD1(0x3a, 0x60), /* Display mode 18-bit RGB */
119 CMD1(0xbf, 0x10), /* Drive system change control */
120 CMD1(0xb1, 0x56), /* Booster operation setup */
121 CMD1(0xb2, 0x33), /* Booster mode setup */
122 CMD1(0xb3, 0x11), /* Booster frequency setup */
123 CMD1(0xb4, 0x02), /* Op amp/system clock */
124 CMD1(0xb5, 0x35), /* VCS voltage */
125 CMD1(0xb6, 0x40), /* VCOM voltage */
126 CMD1(0xb7, 0x03), /* External display signal */
127 CMD1(0xbd, 0x00), /* ASW slew rate */
128 CMD1(0xbe, 0x00), /* Dummy data for QuadData operation */
129 CMD1(0xc0, 0x11), /* Sleep out FR count (A) */
130 CMD1(0xc1, 0x11), /* Sleep out FR count (B) */
131 CMD1(0xc2, 0x11), /* Sleep out FR count (C) */
132 CMD2(0xc3, 0x20, 0x40), /* Sleep out FR count (D) */
133 CMD2(0xc4, 0x60, 0xc0), /* Sleep out FR count (E) */
134 CMD2(0xc5, 0x10, 0x20), /* Sleep out FR count (F) */
135 CMD1(0xc6, 0xc0), /* Sleep out FR count (G) */
136 CMD2(0xc7, 0x33, 0x43), /* Gamma 1 fine tuning (1) */
137 CMD1(0xc8, 0x44), /* Gamma 1 fine tuning (2) */
138 CMD1(0xc9, 0x33), /* Gamma 1 inclination adjustment */
139 CMD1(0xca, 0x00), /* Gamma 1 blue offset adjustment */
140 CMD2(0xec, 0x01, 0xf0), /* Horizontal clock cycles */
141 CMD_NULL,
142};
143
144static int tdo24m_writes(struct tdo24m *lcd, uint32_t *array)
145{
146 struct spi_transfer *x = &lcd->xfer;
147 uint32_t data, *p = array;
148 int nparams, err = 0;
149
150 for (; *p != CMD_NULL; p++) {
151
152 nparams = (*p >> 30) & 0x3;
153
154 data = *p << (7 - nparams);
155 switch (nparams) {
156 case 0:
157 lcd->buf[0] = (data >> 8) & 0xff;
158 lcd->buf[1] = data & 0xff;
159 break;
160 case 1:
161 lcd->buf[0] = (data >> 16) & 0xff;
162 lcd->buf[1] = (data >> 8) & 0xff;
163 lcd->buf[2] = data & 0xff;
164 break;
165 case 2:
166 lcd->buf[0] = (data >> 24) & 0xff;
167 lcd->buf[1] = (data >> 16) & 0xff;
168 lcd->buf[2] = (data >> 8) & 0xff;
169 lcd->buf[3] = data & 0xff;
170 break;
171 default:
172 continue;
173 }
174 x->len = nparams + 2;
175 err = spi_sync(lcd->spi_dev, &lcd->msg);
176 if (err)
177 break;
178 }
179
180 return err;
181}
182
183static int tdo24m_adj_mode(struct tdo24m *lcd, int mode)
184{
185 switch (mode) {
186 case MODE_VGA:
187 tdo24m_writes(lcd, lcd_vga_pass_through);
188 tdo24m_writes(lcd, lcd_panel_config);
189 tdo24m_writes(lcd, lcd_vga_transfer);
190 break;
191 case MODE_QVGA:
192 tdo24m_writes(lcd, lcd_qvga_pass_through);
193 tdo24m_writes(lcd, lcd_panel_config);
194 tdo24m_writes(lcd, lcd_qvga_transfer);
195 break;
196 default:
197 return -EINVAL;
198 }
199
200 lcd->mode = mode;
201 return 0;
202}
203
204static int tdo24m_power_on(struct tdo24m *lcd)
205{
206 int err;
207
208 err = tdo24m_writes(lcd, lcd_panel_on);
209 if (err)
210 goto out;
211
212 err = tdo24m_writes(lcd, lcd_panel_reset);
213 if (err)
214 goto out;
215
216 err = tdo24m_adj_mode(lcd, lcd->mode);
217out:
218 return err;
219}
220
221static int tdo24m_power_off(struct tdo24m *lcd)
222{
223 return tdo24m_writes(lcd, lcd_panel_off);
224}
225
226static int tdo24m_power(struct tdo24m *lcd, int power)
227{
228 int ret = 0;
229
230 if (POWER_IS_ON(power) && !POWER_IS_ON(lcd->power))
231 ret = tdo24m_power_on(lcd);
232 else if (!POWER_IS_ON(power) && POWER_IS_ON(lcd->power))
233 ret = tdo24m_power_off(lcd);
234
235 if (!ret)
236 lcd->power = power;
237
238 return ret;
239}
240
241
242static int tdo24m_set_power(struct lcd_device *ld, int power)
243{
244 struct tdo24m *lcd = lcd_get_data(ld);
245 return tdo24m_power(lcd, power);
246}
247
248static int tdo24m_get_power(struct lcd_device *ld)
249{
250 struct tdo24m *lcd = lcd_get_data(ld);
251 return lcd->power;
252}
253
254static int tdo24m_set_mode(struct lcd_device *ld, struct fb_videomode *m)
255{
256 struct tdo24m *lcd = lcd_get_data(ld);
257 int mode = MODE_QVGA;
258
259 if (m->xres == 640 || m->xres == 480)
260 mode = MODE_VGA;
261
262 if (lcd->mode == mode)
263 return 0;
264
265 return tdo24m_adj_mode(lcd, mode);
266}
267
268static struct lcd_ops tdo24m_ops = {
269 .get_power = tdo24m_get_power,
270 .set_power = tdo24m_set_power,
271 .set_mode = tdo24m_set_mode,
272};
273
274static int __devinit tdo24m_probe(struct spi_device *spi)
275{
276 struct tdo24m *lcd;
277 struct spi_message *m;
278 struct spi_transfer *x;
279 int err;
280
281 spi->bits_per_word = 8;
282 spi->mode = SPI_MODE_3;
283 err = spi_setup(spi);
284 if (err)
285 return err;
286
287 lcd = kzalloc(sizeof(struct tdo24m), GFP_KERNEL);
288 if (!lcd)
289 return -ENOMEM;
290
291 lcd->spi_dev = spi;
292 lcd->power = FB_BLANK_POWERDOWN;
293 lcd->mode = MODE_VGA; /* default to VGA */
294
295 lcd->buf = kmalloc(TDO24M_SPI_BUFF_SIZE, sizeof(GFP_KERNEL));
296 if (lcd->buf == NULL) {
297 kfree(lcd);
298 return -ENOMEM;
299 }
300
301 m = &lcd->msg;
302 x = &lcd->xfer;
303
304 spi_message_init(m);
305
306 x->tx_buf = &lcd->buf[0];
307 spi_message_add_tail(x, m);
308
309 lcd->lcd_dev = lcd_device_register("tdo24m", &spi->dev,
310 lcd, &tdo24m_ops);
311 if (IS_ERR(lcd->lcd_dev)) {
312 err = PTR_ERR(lcd->lcd_dev);
313 goto out_free;
314 }
315
316 dev_set_drvdata(&spi->dev, lcd);
317 err = tdo24m_power(lcd, FB_BLANK_UNBLANK);
318 if (err)
319 goto out_unregister;
320
321 return 0;
322
323out_unregister:
324 lcd_device_unregister(lcd->lcd_dev);
325out_free:
326 kfree(lcd->buf);
327 kfree(lcd);
328 return err;
329}
330
331static int __devexit tdo24m_remove(struct spi_device *spi)
332{
333 struct tdo24m *lcd = dev_get_drvdata(&spi->dev);
334
335 tdo24m_power(lcd, FB_BLANK_POWERDOWN);
336 lcd_device_unregister(lcd->lcd_dev);
337 kfree(lcd->buf);
338 kfree(lcd);
339
340 return 0;
341}
342
343#ifdef CONFIG_PM
344static int tdo24m_suspend(struct spi_device *spi, pm_message_t state)
345{
346 struct tdo24m *lcd = dev_get_drvdata(&spi->dev);
347
348 return tdo24m_power(lcd, FB_BLANK_POWERDOWN);
349}
350
351static int tdo24m_resume(struct spi_device *spi)
352{
353 struct tdo24m *lcd = dev_get_drvdata(&spi->dev);
354
355 return tdo24m_power(lcd, FB_BLANK_UNBLANK);
356}
357#else
358#define tdo24m_suspend NULL
359#define tdo24m_resume NULL
360#endif
361
362/* Power down all displays on reboot, poweroff or halt */
363static void tdo24m_shutdown(struct spi_device *spi)
364{
365 struct tdo24m *lcd = dev_get_drvdata(&spi->dev);
366
367 tdo24m_power(lcd, FB_BLANK_POWERDOWN);
368}
369
370static struct spi_driver tdo24m_driver = {
371 .driver = {
372 .name = "tdo24m",
373 .owner = THIS_MODULE,
374 },
375 .probe = tdo24m_probe,
376 .remove = __devexit_p(tdo24m_remove),
377 .shutdown = tdo24m_shutdown,
378 .suspend = tdo24m_suspend,
379 .resume = tdo24m_resume,
380};
381
382static int __init tdo24m_init(void)
383{
384 return spi_register_driver(&tdo24m_driver);
385}
386module_init(tdo24m_init);
387
388static void __exit tdo24m_exit(void)
389{
390 spi_unregister_driver(&tdo24m_driver);
391}
392module_exit(tdo24m_exit);
393
394MODULE_AUTHOR("Eric Miao <eric.miao@marvell.com>");
395MODULE_DESCRIPTION("Driver for Toppoly TDO24M LCD Panel");
396MODULE_LICENSE("GPL");
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 6d5aa806777e..7644ed249564 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -58,7 +58,7 @@
58#include <asm/gpio.h> 58#include <asm/gpio.h>
59#include <asm/portmux.h> 59#include <asm/portmux.h>
60 60
61#include <asm/mach/bf54x-lq043.h> 61#include <mach/bf54x-lq043.h>
62 62
63#define NO_BL_SUPPORT 63#define NO_BL_SUPPORT
64 64
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index c14b2435d23e..e729fb279645 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -628,27 +628,18 @@ static long cirrusfb_get_mclk(long freq, int bpp, long *div)
628static int cirrusfb_check_var(struct fb_var_screeninfo *var, 628static int cirrusfb_check_var(struct fb_var_screeninfo *var,
629 struct fb_info *info) 629 struct fb_info *info)
630{ 630{
631 int nom, den; /* translyting from pixels->bytes */ 631 int yres;
632 int yres, i; 632 /* memory size in pixels */
633 static struct { int xres, yres; } modes[] = 633 unsigned pixels = info->screen_size * 8 / var->bits_per_pixel;
634 { { 1600, 1280 },
635 { 1280, 1024 },
636 { 1024, 768 },
637 { 800, 600 },
638 { 640, 480 },
639 { -1, -1 } };
640 634
641 switch (var->bits_per_pixel) { 635 switch (var->bits_per_pixel) {
642 case 1: 636 case 1:
643 nom = 4; 637 pixels /= 4;
644 den = 8;
645 break; /* 8 pixel per byte, only 1/4th of mem usable */ 638 break; /* 8 pixel per byte, only 1/4th of mem usable */
646 case 8: 639 case 8:
647 case 16: 640 case 16:
648 case 24: 641 case 24:
649 case 32: 642 case 32:
650 nom = var->bits_per_pixel / 8;
651 den = 1;
652 break; /* 1 pixel == 1 byte */ 643 break; /* 1 pixel == 1 byte */
653 default: 644 default:
654 printk(KERN_ERR "cirrusfb: mode %dx%dx%d rejected..." 645 printk(KERN_ERR "cirrusfb: mode %dx%dx%d rejected..."
@@ -658,43 +649,29 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
658 return -EINVAL; 649 return -EINVAL;
659 } 650 }
660 651
661 if (var->xres * nom / den * var->yres > info->screen_size) { 652 if (var->xres_virtual < var->xres)
662 printk(KERN_ERR "cirrusfb: mode %dx%dx%d rejected..." 653 var->xres_virtual = var->xres;
663 "resolution too high to fit into video memory!\n",
664 var->xres, var->yres, var->bits_per_pixel);
665 DPRINTK("EXIT - EINVAL error\n");
666 return -EINVAL;
667 }
668
669 /* use highest possible virtual resolution */ 654 /* use highest possible virtual resolution */
670 if (var->xres_virtual == -1 && 655 if (var->yres_virtual == -1) {
671 var->yres_virtual == -1) { 656 var->yres_virtual = pixels / var->xres_virtual;
672 printk(KERN_INFO
673 "cirrusfb: using maximum available virtual resolution\n");
674 for (i = 0; modes[i].xres != -1; i++) {
675 int size = modes[i].xres * nom / den * modes[i].yres;
676 if (size < info->screen_size / 2)
677 break;
678 }
679 if (modes[i].xres == -1) {
680 printk(KERN_ERR "cirrusfb: could not find a virtual "
681 "resolution that fits into video memory!!\n");
682 DPRINTK("EXIT - EINVAL error\n");
683 return -EINVAL;
684 }
685 var->xres_virtual = modes[i].xres;
686 var->yres_virtual = modes[i].yres;
687 657
688 printk(KERN_INFO "cirrusfb: virtual resolution set to " 658 printk(KERN_INFO "cirrusfb: virtual resolution set to "
689 "maximum of %dx%d\n", var->xres_virtual, 659 "maximum of %dx%d\n", var->xres_virtual,
690 var->yres_virtual); 660 var->yres_virtual);
691 } 661 }
692
693 if (var->xres_virtual < var->xres)
694 var->xres_virtual = var->xres;
695 if (var->yres_virtual < var->yres) 662 if (var->yres_virtual < var->yres)
696 var->yres_virtual = var->yres; 663 var->yres_virtual = var->yres;
697 664
665 if (var->xres_virtual * var->yres_virtual > pixels) {
666 printk(KERN_ERR "cirrusfb: mode %dx%dx%d rejected... "
667 "virtual resolution too high to fit into video memory!\n",
668 var->xres_virtual, var->yres_virtual,
669 var->bits_per_pixel);
670 DPRINTK("EXIT - EINVAL error\n");
671 return -EINVAL;
672 }
673
674
698 if (var->xoffset < 0) 675 if (var->xoffset < 0)
699 var->xoffset = 0; 676 var->xoffset = 0;
700 if (var->yoffset < 0) 677 if (var->yoffset < 0)
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index 98843c2ecf73..0737570030f5 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -979,6 +979,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
979 979
980 info->flags &= ~FBINFO_MISC_USEREVENT; 980 info->flags &= ~FBINFO_MISC_USEREVENT;
981 event.info = info; 981 event.info = info;
982 event.data = &mode;
982 fb_notifier_call_chain(evnt, &event); 983 fb_notifier_call_chain(evnt, &event);
983 } 984 }
984 } 985 }
diff --git a/drivers/video/metronomefb.c b/drivers/video/metronomefb.c
index cc4c038a1b3f..afeed0611e3e 100644
--- a/drivers/video/metronomefb.c
+++ b/drivers/video/metronomefb.c
@@ -40,29 +40,63 @@
40 40
41#include <asm/unaligned.h> 41#include <asm/unaligned.h>
42 42
43
44#define DEBUG 1
45#ifdef DEBUG
46#define DPRINTK(f, a...) printk(KERN_DEBUG "%s: " f, __func__ , ## a)
47#else
48#define DPRINTK(f, a...)
49#endif
50
51
52/* Display specific information */ 43/* Display specific information */
53#define DPY_W 832 44#define DPY_W 832
54#define DPY_H 622 45#define DPY_H 622
55 46
47static int user_wfm_size;
48
56/* frame differs from image. frame includes non-visible pixels */ 49/* frame differs from image. frame includes non-visible pixels */
57struct epd_frame { 50struct epd_frame {
58 int fw; /* frame width */ 51 int fw; /* frame width */
59 int fh; /* frame height */ 52 int fh; /* frame height */
53 u16 config[4];
54 int wfm_size;
60}; 55};
61 56
62static struct epd_frame epd_frame_table[] = { 57static struct epd_frame epd_frame_table[] = {
63 { 58 {
64 .fw = 832, 59 .fw = 832,
65 .fh = 622 60 .fh = 622,
61 .config = {
62 15 /* sdlew */
63 | 2 << 8 /* sdosz */
64 | 0 << 11 /* sdor */
65 | 0 << 12 /* sdces */
66 | 0 << 15, /* sdcer */
67 42 /* gdspl */
68 | 1 << 8 /* gdr1 */
69 | 1 << 9 /* sdshr */
70 | 0 << 15, /* gdspp */
71 18 /* gdspw */
72 | 0 << 15, /* dispc */
73 599 /* vdlc */
74 | 0 << 11 /* dsi */
75 | 0 << 12, /* dsic */
76 },
77 .wfm_size = 47001,
78 },
79 {
80 .fw = 1088,
81 .fh = 791,
82 .config = {
83 0x0104,
84 0x031f,
85 0x0088,
86 0x02ff,
87 },
88 .wfm_size = 46770,
89 },
90 {
91 .fw = 1200,
92 .fh = 842,
93 .config = {
94 0x0101,
95 0x030e,
96 0x0012,
97 0x0280,
98 },
99 .wfm_size = 46770,
66 }, 100 },
67}; 101};
68 102
@@ -134,9 +168,8 @@ static u16 calc_img_cksum(u16 *start, int length)
134} 168}
135 169
136/* here we decode the incoming waveform file and populate metromem */ 170/* here we decode the incoming waveform file and populate metromem */
137#define EXP_WFORM_SIZE 47001 171static int __devinit load_waveform(u8 *mem, size_t size, int m, int t,
138static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t, 172 struct metronomefb_par *par)
139 u8 *frame_count)
140{ 173{
141 int tta; 174 int tta;
142 int wmta; 175 int wmta;
@@ -148,26 +181,31 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
148 int wfm_idx, owfm_idx; 181 int wfm_idx, owfm_idx;
149 int mem_idx = 0; 182 int mem_idx = 0;
150 struct waveform_hdr *wfm_hdr; 183 struct waveform_hdr *wfm_hdr;
184 u8 *metromem = par->metromem_wfm;
185 struct device *dev = par->info->dev;
151 186
152 if (size != EXP_WFORM_SIZE) { 187 if (user_wfm_size)
153 printk(KERN_ERR "Error: unexpected size %d != %d\n", size, 188 epd_frame_table[par->dt].wfm_size = user_wfm_size;
154 EXP_WFORM_SIZE); 189
190 if (size != epd_frame_table[par->dt].wfm_size) {
191 dev_err(dev, "Error: unexpected size %d != %d\n", size,
192 epd_frame_table[par->dt].wfm_size);
155 return -EINVAL; 193 return -EINVAL;
156 } 194 }
157 195
158 wfm_hdr = (struct waveform_hdr *) mem; 196 wfm_hdr = (struct waveform_hdr *) mem;
159 197
160 if (wfm_hdr->fvsn != 1) { 198 if (wfm_hdr->fvsn != 1) {
161 printk(KERN_ERR "Error: bad fvsn %x\n", wfm_hdr->fvsn); 199 dev_err(dev, "Error: bad fvsn %x\n", wfm_hdr->fvsn);
162 return -EINVAL; 200 return -EINVAL;
163 } 201 }
164 if (wfm_hdr->luts != 0) { 202 if (wfm_hdr->luts != 0) {
165 printk(KERN_ERR "Error: bad luts %x\n", wfm_hdr->luts); 203 dev_err(dev, "Error: bad luts %x\n", wfm_hdr->luts);
166 return -EINVAL; 204 return -EINVAL;
167 } 205 }
168 cksum = calc_cksum(32, 47, mem); 206 cksum = calc_cksum(32, 47, mem);
169 if (cksum != wfm_hdr->wfm_cs) { 207 if (cksum != wfm_hdr->wfm_cs) {
170 printk(KERN_ERR "Error: bad cksum %x != %x\n", cksum, 208 dev_err(dev, "Error: bad cksum %x != %x\n", cksum,
171 wfm_hdr->wfm_cs); 209 wfm_hdr->wfm_cs);
172 return -EINVAL; 210 return -EINVAL;
173 } 211 }
@@ -175,7 +213,7 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
175 wfm_hdr->trc += 1; 213 wfm_hdr->trc += 1;
176 for (i = 0; i < 5; i++) { 214 for (i = 0; i < 5; i++) {
177 if (*(wfm_hdr->stuff2a + i) != 0) { 215 if (*(wfm_hdr->stuff2a + i) != 0) {
178 printk(KERN_ERR "Error: unexpected value in padding\n"); 216 dev_err(dev, "Error: unexpected value in padding\n");
179 return -EINVAL; 217 return -EINVAL;
180 } 218 }
181 } 219 }
@@ -200,7 +238,7 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
200 return -EINVAL; 238 return -EINVAL;
201 cksum = calc_cksum(sizeof(*wfm_hdr), cksum_idx, mem); 239 cksum = calc_cksum(sizeof(*wfm_hdr), cksum_idx, mem);
202 if (cksum != mem[cksum_idx]) { 240 if (cksum != mem[cksum_idx]) {
203 printk(KERN_ERR "Error: bad temperature range table cksum" 241 dev_err(dev, "Error: bad temperature range table cksum"
204 " %x != %x\n", cksum, mem[cksum_idx]); 242 " %x != %x\n", cksum, mem[cksum_idx]);
205 return -EINVAL; 243 return -EINVAL;
206 } 244 }
@@ -212,7 +250,7 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
212 return -EINVAL; 250 return -EINVAL;
213 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem); 251 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem);
214 if (cksum != mem[cksum_idx]) { 252 if (cksum != mem[cksum_idx]) {
215 printk(KERN_ERR "Error: bad mode table address cksum" 253 dev_err(dev, "Error: bad mode table address cksum"
216 " %x != %x\n", cksum, mem[cksum_idx]); 254 " %x != %x\n", cksum, mem[cksum_idx]);
217 return -EINVAL; 255 return -EINVAL;
218 } 256 }
@@ -224,7 +262,7 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
224 return -EINVAL; 262 return -EINVAL;
225 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem); 263 cksum = calc_cksum(cksum_idx - 3, cksum_idx, mem);
226 if (cksum != mem[cksum_idx]) { 264 if (cksum != mem[cksum_idx]) {
227 printk(KERN_ERR "Error: bad temperature table address cksum" 265 dev_err(dev, "Error: bad temperature table address cksum"
228 " %x != %x\n", cksum, mem[cksum_idx]); 266 " %x != %x\n", cksum, mem[cksum_idx]);
229 return -EINVAL; 267 return -EINVAL;
230 } 268 }
@@ -259,11 +297,11 @@ static int load_waveform(u8 *mem, size_t size, u8 *metromem, int m, int t,
259 return -EINVAL; 297 return -EINVAL;
260 cksum = calc_cksum(owfm_idx, cksum_idx, mem); 298 cksum = calc_cksum(owfm_idx, cksum_idx, mem);
261 if (cksum != mem[cksum_idx]) { 299 if (cksum != mem[cksum_idx]) {
262 printk(KERN_ERR "Error: bad waveform data cksum" 300 dev_err(dev, "Error: bad waveform data cksum"
263 " %x != %x\n", cksum, mem[cksum_idx]); 301 " %x != %x\n", cksum, mem[cksum_idx]);
264 return -EINVAL; 302 return -EINVAL;
265 } 303 }
266 *frame_count = (mem_idx/64); 304 par->frame_count = (mem_idx/64);
267 305
268 return 0; 306 return 0;
269} 307}
@@ -274,15 +312,12 @@ static int metronome_display_cmd(struct metronomefb_par *par)
274 u16 cs; 312 u16 cs;
275 u16 opcode; 313 u16 opcode;
276 static u8 borderval; 314 static u8 borderval;
277 u8 *ptr;
278 315
279 /* setup display command 316 /* setup display command
280 we can't immediately set the opcode since the controller 317 we can't immediately set the opcode since the controller
281 will try parse the command before we've set it all up 318 will try parse the command before we've set it all up
282 so we just set cs here and set the opcode at the end */ 319 so we just set cs here and set the opcode at the end */
283 320
284 ptr = par->metromem;
285
286 if (par->metromem_cmd->opcode == 0xCC40) 321 if (par->metromem_cmd->opcode == 0xCC40)
287 opcode = cs = 0xCC41; 322 opcode = cs = 0xCC41;
288 else 323 else
@@ -335,44 +370,17 @@ static int __devinit metronome_powerup_cmd(struct metronomefb_par *par)
335 370
336static int __devinit metronome_config_cmd(struct metronomefb_par *par) 371static int __devinit metronome_config_cmd(struct metronomefb_par *par)
337{ 372{
338 int i;
339 u16 cs;
340
341 /* setup config command 373 /* setup config command
342 we can't immediately set the opcode since the controller 374 we can't immediately set the opcode since the controller
343 will try parse the command before we've set it all up 375 will try parse the command before we've set it all up */
344 so we just set cs here and set the opcode at the end */
345
346 cs = 0xCC10;
347
348 /* set the 12 args ( 8 bytes ) for config. see spec for meanings */
349 i = 0;
350 par->metromem_cmd->args[i] = 15 /* sdlew */
351 | 2 << 8 /* sdosz */
352 | 0 << 11 /* sdor */
353 | 0 << 12 /* sdces */
354 | 0 << 15; /* sdcer */
355 cs += par->metromem_cmd->args[i++];
356
357 par->metromem_cmd->args[i] = 42 /* gdspl */
358 | 1 << 8 /* gdr1 */
359 | 1 << 9 /* sdshr */
360 | 0 << 15; /* gdspp */
361 cs += par->metromem_cmd->args[i++];
362
363 par->metromem_cmd->args[i] = 18 /* gdspw */
364 | 0 << 15; /* dispc */
365 cs += par->metromem_cmd->args[i++];
366
367 par->metromem_cmd->args[i] = 599 /* vdlc */
368 | 0 << 11 /* dsi */
369 | 0 << 12; /* dsic */
370 cs += par->metromem_cmd->args[i++];
371 376
377 memcpy(par->metromem_cmd->args, epd_frame_table[par->dt].config,
378 sizeof(epd_frame_table[par->dt].config));
372 /* the rest are 0 */ 379 /* the rest are 0 */
373 memset((u8 *) (par->metromem_cmd->args + i), 0, (32-i)*2); 380 memset((u8 *) (par->metromem_cmd->args + 4), 0, (32-4)*2);
374 381
375 par->metromem_cmd->csum = cs; 382 par->metromem_cmd->csum = 0xCC10;
383 par->metromem_cmd->csum += calc_img_cksum(par->metromem_cmd->args, 4);
376 par->metromem_cmd->opcode = 0xCC10; /* config cmd */ 384 par->metromem_cmd->opcode = 0xCC10; /* config cmd */
377 385
378 return par->board->met_wait_event(par); 386 return par->board->met_wait_event(par);
@@ -408,12 +416,9 @@ static int __devinit metronome_init_regs(struct metronomefb_par *par)
408{ 416{
409 int res; 417 int res;
410 418
411 par->board->init_gpio_regs(par); 419 res = par->board->setup_io(par);
412 420 if (res)
413 par->board->init_lcdc_regs(par); 421 return res;
414
415 /* now that lcd is setup, setup dma descriptor */
416 par->board->post_dma_setup(par);
417 422
418 res = metronome_powerup_cmd(par); 423 res = metronome_powerup_cmd(par);
419 if (res) 424 if (res)
@@ -430,16 +435,16 @@ static int __devinit metronome_init_regs(struct metronomefb_par *par)
430 435
431static void metronomefb_dpy_update(struct metronomefb_par *par) 436static void metronomefb_dpy_update(struct metronomefb_par *par)
432{ 437{
438 int fbsize;
433 u16 cksum; 439 u16 cksum;
434 unsigned char *buf = (unsigned char __force *)par->info->screen_base; 440 unsigned char *buf = (unsigned char __force *)par->info->screen_base;
435 441
442 fbsize = par->info->fix.smem_len;
436 /* copy from vm to metromem */ 443 /* copy from vm to metromem */
437 memcpy(par->metromem_img, buf, DPY_W*DPY_H); 444 memcpy(par->metromem_img, buf, fbsize);
438 445
439 cksum = calc_img_cksum((u16 *) par->metromem_img, 446 cksum = calc_img_cksum((u16 *) par->metromem_img, fbsize/2);
440 (epd_frame_table[0].fw * DPY_H)/2); 447 *((u16 *)(par->metromem_img) + fbsize/2) = cksum;
441 *((u16 *)(par->metromem_img) +
442 (epd_frame_table[0].fw * DPY_H)/2) = cksum;
443 metronome_display_cmd(par); 448 metronome_display_cmd(par);
444} 449}
445 450
@@ -574,8 +579,10 @@ static int __devinit metronomefb_probe(struct platform_device *dev)
574 unsigned char *videomemory; 579 unsigned char *videomemory;
575 struct metronomefb_par *par; 580 struct metronomefb_par *par;
576 const struct firmware *fw_entry; 581 const struct firmware *fw_entry;
577 int cmd_size, wfm_size, img_size, padding_size, totalsize;
578 int i; 582 int i;
583 int panel_type;
584 int fw, fh;
585 int epd_dt_index;
579 586
580 /* pick up board specific routines */ 587 /* pick up board specific routines */
581 board = dev->dev.platform_data; 588 board = dev->dev.platform_data;
@@ -586,96 +593,108 @@ static int __devinit metronomefb_probe(struct platform_device *dev)
586 if (!try_module_get(board->owner)) 593 if (!try_module_get(board->owner))
587 return -ENODEV; 594 return -ENODEV;
588 595
596 info = framebuffer_alloc(sizeof(struct metronomefb_par), &dev->dev);
597 if (!info)
598 goto err;
599
589 /* we have two blocks of memory. 600 /* we have two blocks of memory.
590 info->screen_base which is vm, and is the fb used by apps. 601 info->screen_base which is vm, and is the fb used by apps.
591 par->metromem which is physically contiguous memory and 602 par->metromem which is physically contiguous memory and
592 contains the display controller commands, waveform, 603 contains the display controller commands, waveform,
593 processed image data and padding. this is the data pulled 604 processed image data and padding. this is the data pulled
594 by the device's LCD controller and pushed to Metronome */ 605 by the device's LCD controller and pushed to Metronome.
606 the metromem memory is allocated by the board driver and
607 is provided to us */
608
609 panel_type = board->get_panel_type();
610 switch (panel_type) {
611 case 6:
612 epd_dt_index = 0;
613 break;
614 case 8:
615 epd_dt_index = 1;
616 break;
617 case 97:
618 epd_dt_index = 2;
619 break;
620 default:
621 dev_err(&dev->dev, "Unexpected panel type. Defaulting to 6\n");
622 epd_dt_index = 0;
623 break;
624 }
625
626 fw = epd_frame_table[epd_dt_index].fw;
627 fh = epd_frame_table[epd_dt_index].fh;
595 628
596 videomemorysize = (DPY_W*DPY_H); 629 /* we need to add a spare page because our csum caching scheme walks
630 * to the end of the page */
631 videomemorysize = PAGE_SIZE + (fw * fh);
597 videomemory = vmalloc(videomemorysize); 632 videomemory = vmalloc(videomemorysize);
598 if (!videomemory) 633 if (!videomemory)
599 return -ENOMEM; 634 goto err_fb_rel;
600 635
601 memset(videomemory, 0, videomemorysize); 636 memset(videomemory, 0, videomemorysize);
602 637
603 info = framebuffer_alloc(sizeof(struct metronomefb_par), &dev->dev);
604 if (!info)
605 goto err_vfree;
606
607 info->screen_base = (char __force __iomem *)videomemory; 638 info->screen_base = (char __force __iomem *)videomemory;
608 info->fbops = &metronomefb_ops; 639 info->fbops = &metronomefb_ops;
609 640
641 metronomefb_fix.line_length = fw;
642 metronomefb_var.xres = fw;
643 metronomefb_var.yres = fh;
644 metronomefb_var.xres_virtual = fw;
645 metronomefb_var.yres_virtual = fh;
610 info->var = metronomefb_var; 646 info->var = metronomefb_var;
611 info->fix = metronomefb_fix; 647 info->fix = metronomefb_fix;
612 info->fix.smem_len = videomemorysize; 648 info->fix.smem_len = videomemorysize;
613 par = info->par; 649 par = info->par;
614 par->info = info; 650 par->info = info;
615 par->board = board; 651 par->board = board;
652 par->dt = epd_dt_index;
616 init_waitqueue_head(&par->waitq); 653 init_waitqueue_head(&par->waitq);
617 654
618 /* this table caches per page csum values. */ 655 /* this table caches per page csum values. */
619 par->csum_table = vmalloc(videomemorysize/PAGE_SIZE); 656 par->csum_table = vmalloc(videomemorysize/PAGE_SIZE);
620 if (!par->csum_table) 657 if (!par->csum_table)
658 goto err_vfree;
659
660 /* the physical framebuffer that we use is setup by
661 * the platform device driver. It will provide us
662 * with cmd, wfm and image memory in a contiguous area. */
663 retval = board->setup_fb(par);
664 if (retval) {
665 dev_err(&dev->dev, "Failed to setup fb\n");
621 goto err_csum_table; 666 goto err_csum_table;
667 }
622 668
623 /* the metromem buffer is divided as follows: 669 /* after this point we should have a framebuffer */
624 command | CRC | padding 670 if ((!par->metromem_wfm) || (!par->metromem_img) ||
625 16kb waveform data | CRC | padding 671 (!par->metromem_dma)) {
626 image data | CRC 672 dev_err(&dev->dev, "fb access failure\n");
627 and an extra 256 bytes for dma descriptors 673 retval = -EINVAL;
628 eg: IW=832 IH=622 WS=128 674 goto err_csum_table;
629 */
630
631 cmd_size = 1 * epd_frame_table[0].fw;
632 wfm_size = ((16*1024 + 2 + epd_frame_table[0].fw - 1)
633 / epd_frame_table[0].fw) * epd_frame_table[0].fw;
634 img_size = epd_frame_table[0].fh * epd_frame_table[0].fw;
635 padding_size = 4 * epd_frame_table[0].fw;
636 totalsize = cmd_size + wfm_size + img_size + padding_size;
637 par->metromemsize = PAGE_ALIGN(totalsize + 256);
638 DPRINTK("desired memory size = %d\n", par->metromemsize);
639 dev->dev.coherent_dma_mask = 0xffffffffull;
640 par->metromem = dma_alloc_writecombine(&dev->dev, par->metromemsize,
641 &par->metromem_dma, GFP_KERNEL);
642 if (!par->metromem) {
643 printk(KERN_ERR
644 "metronomefb: unable to allocate dma buffer\n");
645 goto err_vfree;
646 } 675 }
647 676
648 info->fix.smem_start = par->metromem_dma; 677 info->fix.smem_start = par->metromem_dma;
649 par->metromem_cmd = (struct metromem_cmd *) par->metromem;
650 par->metromem_wfm = par->metromem + cmd_size;
651 par->metromem_img = par->metromem + cmd_size + wfm_size;
652 par->metromem_img_csum = (u16 *) (par->metromem_img +
653 (epd_frame_table[0].fw * DPY_H));
654 DPRINTK("img offset=0x%x\n", cmd_size + wfm_size);
655 par->metromem_desc = (struct metromem_desc *) (par->metromem + cmd_size
656 + wfm_size + img_size + padding_size);
657 par->metromem_desc_dma = par->metromem_dma + cmd_size + wfm_size
658 + img_size + padding_size;
659 678
660 /* load the waveform in. assume mode 3, temp 31 for now 679 /* load the waveform in. assume mode 3, temp 31 for now
661 a) request the waveform file from userspace 680 a) request the waveform file from userspace
662 b) process waveform and decode into metromem */ 681 b) process waveform and decode into metromem */
663 retval = request_firmware(&fw_entry, "metronome.wbf", &dev->dev); 682 retval = request_firmware(&fw_entry, "metronome.wbf", &dev->dev);
664 if (retval < 0) { 683 if (retval < 0) {
665 printk(KERN_ERR "metronomefb: couldn't get waveform\n"); 684 dev_err(&dev->dev, "Failed to get waveform\n");
666 goto err_dma_free; 685 goto err_csum_table;
667 } 686 }
668 687
669 retval = load_waveform((u8 *) fw_entry->data, fw_entry->size, 688 retval = load_waveform((u8 *) fw_entry->data, fw_entry->size, 3, 31,
670 par->metromem_wfm, 3, 31, &par->frame_count); 689 par);
671 release_firmware(fw_entry); 690 release_firmware(fw_entry);
672 if (retval < 0) { 691 if (retval < 0) {
673 printk(KERN_ERR "metronomefb: couldn't process waveform\n"); 692 dev_err(&dev->dev, "Failed processing waveform\n");
674 goto err_dma_free; 693 goto err_csum_table;
675 } 694 }
676 695
677 if (board->setup_irq(info)) 696 if (board->setup_irq(info))
678 goto err_dma_free; 697 goto err_csum_table;
679 698
680 retval = metronome_init_regs(par); 699 retval = metronome_init_regs(par);
681 if (retval < 0) 700 if (retval < 0)
@@ -688,8 +707,8 @@ static int __devinit metronomefb_probe(struct platform_device *dev)
688 707
689 retval = fb_alloc_cmap(&info->cmap, 8, 0); 708 retval = fb_alloc_cmap(&info->cmap, 8, 0);
690 if (retval < 0) { 709 if (retval < 0) {
691 printk(KERN_ERR "Failed to allocate colormap\n"); 710 dev_err(&dev->dev, "Failed to allocate colormap\n");
692 goto err_fb_rel; 711 goto err_free_irq;
693 } 712 }
694 713
695 /* set cmap */ 714 /* set cmap */
@@ -704,7 +723,7 @@ static int __devinit metronomefb_probe(struct platform_device *dev)
704 723
705 platform_set_drvdata(dev, info); 724 platform_set_drvdata(dev, info);
706 725
707 printk(KERN_INFO 726 dev_dbg(&dev->dev,
708 "fb%d: Metronome frame buffer device, using %dK of video" 727 "fb%d: Metronome frame buffer device, using %dK of video"
709 " memory\n", info->node, videomemorysize >> 10); 728 " memory\n", info->node, videomemorysize >> 10);
710 729
@@ -712,17 +731,15 @@ static int __devinit metronomefb_probe(struct platform_device *dev)
712 731
713err_cmap: 732err_cmap:
714 fb_dealloc_cmap(&info->cmap); 733 fb_dealloc_cmap(&info->cmap);
715err_fb_rel:
716 framebuffer_release(info);
717err_free_irq: 734err_free_irq:
718 board->free_irq(info); 735 board->cleanup(par);
719err_dma_free:
720 dma_free_writecombine(&dev->dev, par->metromemsize, par->metromem,
721 par->metromem_dma);
722err_csum_table: 736err_csum_table:
723 vfree(par->csum_table); 737 vfree(par->csum_table);
724err_vfree: 738err_vfree:
725 vfree(videomemory); 739 vfree(videomemory);
740err_fb_rel:
741 framebuffer_release(info);
742err:
726 module_put(board->owner); 743 module_put(board->owner);
727 return retval; 744 return retval;
728} 745}
@@ -733,15 +750,15 @@ static int __devexit metronomefb_remove(struct platform_device *dev)
733 750
734 if (info) { 751 if (info) {
735 struct metronomefb_par *par = info->par; 752 struct metronomefb_par *par = info->par;
753
754 unregister_framebuffer(info);
736 fb_deferred_io_cleanup(info); 755 fb_deferred_io_cleanup(info);
737 dma_free_writecombine(&dev->dev, par->metromemsize,
738 par->metromem, par->metromem_dma);
739 fb_dealloc_cmap(&info->cmap); 756 fb_dealloc_cmap(&info->cmap);
757 par->board->cleanup(par);
740 vfree(par->csum_table); 758 vfree(par->csum_table);
741 unregister_framebuffer(info);
742 vfree((void __force *)info->screen_base); 759 vfree((void __force *)info->screen_base);
743 par->board->free_irq(info);
744 module_put(par->board->owner); 760 module_put(par->board->owner);
761 dev_dbg(&dev->dev, "calling release\n");
745 framebuffer_release(info); 762 framebuffer_release(info);
746 } 763 }
747 return 0; 764 return 0;
@@ -766,6 +783,9 @@ static void __exit metronomefb_exit(void)
766 platform_driver_unregister(&metronomefb_driver); 783 platform_driver_unregister(&metronomefb_driver);
767} 784}
768 785
786module_param(user_wfm_size, uint, 0);
787MODULE_PARM_DESC(user_wfm_size, "Set custom waveform size");
788
769module_init(metronomefb_init); 789module_init(metronomefb_init);
770module_exit(metronomefb_exit); 790module_exit(metronomefb_exit);
771 791
diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c
index 77aafcfae037..4599a4385bc9 100644
--- a/drivers/video/tdfxfb.c
+++ b/drivers/video/tdfxfb.c
@@ -95,7 +95,6 @@ static inline int mtrr_del(int reg, unsigned long base,
95#define VOODOO5_MAX_PIXCLOCK 350000 95#define VOODOO5_MAX_PIXCLOCK 350000
96 96
97static struct fb_fix_screeninfo tdfx_fix __devinitdata = { 97static struct fb_fix_screeninfo tdfx_fix __devinitdata = {
98 .id = "3Dfx",
99 .type = FB_TYPE_PACKED_PIXELS, 98 .type = FB_TYPE_PACKED_PIXELS,
100 .visual = FB_VISUAL_PSEUDOCOLOR, 99 .visual = FB_VISUAL_PSEUDOCOLOR,
101 .ypanstep = 1, 100 .ypanstep = 1,
@@ -426,7 +425,7 @@ static unsigned long do_lfb_size(struct tdfx_par *par, unsigned short dev_id)
426 if (dev_id < PCI_DEVICE_ID_3DFX_VOODOO5) { 425 if (dev_id < PCI_DEVICE_ID_3DFX_VOODOO5) {
427 /* Banshee/Voodoo3 */ 426 /* Banshee/Voodoo3 */
428 chip_size = 2; 427 chip_size = 2;
429 if (has_sgram && (draminit0 & DRAMINIT0_SGRAM_TYPE)) 428 if (has_sgram && !(draminit0 & DRAMINIT0_SGRAM_TYPE))
430 chip_size = 1; 429 chip_size = 1;
431 } else { 430 } else {
432 /* Voodoo4/5 */ 431 /* Voodoo4/5 */
@@ -1200,15 +1199,15 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev,
1200 /* Configure the default fb_fix_screeninfo first */ 1199 /* Configure the default fb_fix_screeninfo first */
1201 switch (pdev->device) { 1200 switch (pdev->device) {
1202 case PCI_DEVICE_ID_3DFX_BANSHEE: 1201 case PCI_DEVICE_ID_3DFX_BANSHEE:
1203 strcat(tdfx_fix.id, " Banshee"); 1202 strcpy(tdfx_fix.id, "3Dfx Banshee");
1204 default_par->max_pixclock = BANSHEE_MAX_PIXCLOCK; 1203 default_par->max_pixclock = BANSHEE_MAX_PIXCLOCK;
1205 break; 1204 break;
1206 case PCI_DEVICE_ID_3DFX_VOODOO3: 1205 case PCI_DEVICE_ID_3DFX_VOODOO3:
1207 strcat(tdfx_fix.id, " Voodoo3"); 1206 strcpy(tdfx_fix.id, "3Dfx Voodoo3");
1208 default_par->max_pixclock = VOODOO3_MAX_PIXCLOCK; 1207 default_par->max_pixclock = VOODOO3_MAX_PIXCLOCK;
1209 break; 1208 break;
1210 case PCI_DEVICE_ID_3DFX_VOODOO5: 1209 case PCI_DEVICE_ID_3DFX_VOODOO5:
1211 strcat(tdfx_fix.id, " Voodoo5"); 1210 strcpy(tdfx_fix.id, "3Dfx Voodoo5");
1212 default_par->max_pixclock = VOODOO5_MAX_PIXCLOCK; 1211 default_par->max_pixclock = VOODOO5_MAX_PIXCLOCK;
1213 break; 1212 break;
1214 } 1213 }
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index db20542796bf..c51036716700 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -465,6 +465,16 @@ config PC87413_WDT
465 465
466 Most people will say N. 466 Most people will say N.
467 467
468config RDC321X_WDT
469 tristate "RDC R-321x SoC watchdog"
470 depends on X86_RDC321X
471 help
472 This is the driver for the built in hardware watchdog
473 in the RDC R-321x SoC.
474
475 To compile this driver as a module, choose M here: the
476 module will be called rdc321x_wdt.
477
468config 60XX_WDT 478config 60XX_WDT
469 tristate "SBC-60XX Watchdog Timer" 479 tristate "SBC-60XX Watchdog Timer"
470 depends on X86 480 depends on X86
@@ -633,6 +643,16 @@ config SBC_EPX_C3_WATCHDOG
633 643
634# MIPS Architecture 644# MIPS Architecture
635 645
646config RC32434_WDT
647 tristate "IDT RC32434 SoC Watchdog Timer"
648 depends on MIKROTIK_RB532
649 help
650 Hardware driver for the IDT RC32434 SoC built-in
651 watchdog timer.
652
653 To compile this driver as a module, choose M here: the
654 module will be called rc32434_wdt.
655
636config INDYDOG 656config INDYDOG
637 tristate "Indy/I2 Hardware Watchdog" 657 tristate "Indy/I2 Hardware Watchdog"
638 depends on SGI_HAS_INDYDOG 658 depends on SGI_HAS_INDYDOG
@@ -692,10 +712,6 @@ config MPC5200_WDT
692 tristate "MPC5200 Watchdog Timer" 712 tristate "MPC5200 Watchdog Timer"
693 depends on PPC_MPC52xx 713 depends on PPC_MPC52xx
694 714
695config 8xx_WDT
696 tristate "MPC8xx Watchdog Timer"
697 depends on 8xx
698
699config 8xxx_WDT 715config 8xxx_WDT
700 tristate "MPC8xxx Platform Watchdog Timer" 716 tristate "MPC8xxx Platform Watchdog Timer"
701 depends on PPC_8xx || PPC_83xx || PPC_86xx 717 depends on PPC_8xx || PPC_83xx || PPC_86xx
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
index ca3dc043d786..e0ef123fbdea 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -75,6 +75,7 @@ obj-$(CONFIG_HP_WATCHDOG) += hpwdt.o
75obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o 75obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o
76obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o 76obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
77obj-$(CONFIG_PC87413_WDT) += pc87413_wdt.o 77obj-$(CONFIG_PC87413_WDT) += pc87413_wdt.o
78obj-$(CONFIG_RDC321X_WDT) += rdc321x_wdt.o
78obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o 79obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
79obj-$(CONFIG_SBC8360_WDT) += sbc8360.o 80obj-$(CONFIG_SBC8360_WDT) += sbc8360.o
80obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o 81obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o
@@ -94,6 +95,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc_epx_c3.o
94# M68KNOMMU Architecture 95# M68KNOMMU Architecture
95 96
96# MIPS Architecture 97# MIPS Architecture
98obj-$(CONFIG_RC32434_WDT) += rc32434_wdt.o
97obj-$(CONFIG_INDYDOG) += indydog.o 99obj-$(CONFIG_INDYDOG) += indydog.o
98obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o 100obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
99obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o 101obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
@@ -104,7 +106,6 @@ obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
104# PARISC Architecture 106# PARISC Architecture
105 107
106# POWERPC Architecture 108# POWERPC Architecture
107obj-$(CONFIG_8xx_WDT) += mpc8xx_wdt.o
108obj-$(CONFIG_MPC5200_WDT) += mpc5200_wdt.o 109obj-$(CONFIG_MPC5200_WDT) += mpc5200_wdt.o
109obj-$(CONFIG_8xxx_WDT) += mpc8xxx_wdt.o 110obj-$(CONFIG_8xxx_WDT) += mpc8xxx_wdt.o
110obj-$(CONFIG_MV64X60_WDT) += mv64x60_wdt.o 111obj-$(CONFIG_MV64X60_WDT) += mv64x60_wdt.o
diff --git a/drivers/watchdog/at91rm9200_wdt.c b/drivers/watchdog/at91rm9200_wdt.c
index d061f0ad2d20..993e5f52afef 100644
--- a/drivers/watchdog/at91rm9200_wdt.c
+++ b/drivers/watchdog/at91rm9200_wdt.c
@@ -241,7 +241,7 @@ static int at91wdt_resume(struct platform_device *pdev)
241{ 241{
242 if (at91wdt_busy) 242 if (at91wdt_busy)
243 at91_wdt_start(); 243 at91_wdt_start();
244 return 0; 244 return 0;
245} 245}
246 246
247#else 247#else
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index d039d5f2fd1c..a3765e0be4a8 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -116,6 +116,7 @@ static unsigned int reload; /* the computed soft_margin */
116static int nowayout = WATCHDOG_NOWAYOUT; 116static int nowayout = WATCHDOG_NOWAYOUT;
117static char expect_release; 117static char expect_release;
118static unsigned long hpwdt_is_open; 118static unsigned long hpwdt_is_open;
119static unsigned int allow_kdump;
119 120
120static void __iomem *pci_mem_addr; /* the PCI-memory address */ 121static void __iomem *pci_mem_addr; /* the PCI-memory address */
121static unsigned long __iomem *hpwdt_timer_reg; 122static unsigned long __iomem *hpwdt_timer_reg;
@@ -221,19 +222,19 @@ static int __devinit cru_detect(unsigned long map_entry,
221 222
222 if (cmn_regs.u1.ral != 0) { 223 if (cmn_regs.u1.ral != 0) {
223 printk(KERN_WARNING 224 printk(KERN_WARNING
224 "hpwdt: Call succeeded but with an error: 0x%x\n", 225 "hpwdt: Call succeeded but with an error: 0x%x\n",
225 cmn_regs.u1.ral); 226 cmn_regs.u1.ral);
226 } else { 227 } else {
227 physical_bios_base = cmn_regs.u2.rebx; 228 physical_bios_base = cmn_regs.u2.rebx;
228 physical_bios_offset = cmn_regs.u4.redx; 229 physical_bios_offset = cmn_regs.u4.redx;
229 cru_length = cmn_regs.u3.recx; 230 cru_length = cmn_regs.u3.recx;
230 cru_physical_address = 231 cru_physical_address =
231 physical_bios_base + physical_bios_offset; 232 physical_bios_base + physical_bios_offset;
232 233
233 /* If the values look OK, then map it in. */ 234 /* If the values look OK, then map it in. */
234 if ((physical_bios_base + physical_bios_offset)) { 235 if ((physical_bios_base + physical_bios_offset)) {
235 cru_rom_addr = 236 cru_rom_addr =
236 ioremap(cru_physical_address, cru_length); 237 ioremap(cru_physical_address, cru_length);
237 if (cru_rom_addr) 238 if (cru_rom_addr)
238 retval = 0; 239 retval = 0;
239 } 240 }
@@ -356,7 +357,6 @@ asm(".text \n\t"
356 "call *%r12 \n\t" 357 "call *%r12 \n\t"
357 "pushfq \n\t" 358 "pushfq \n\t"
358 "popq %r12 \n\t" 359 "popq %r12 \n\t"
359 "popfq \n\t"
360 "movl %eax, (%r9) \n\t" 360 "movl %eax, (%r9) \n\t"
361 "movl %ebx, 4(%r9) \n\t" 361 "movl %ebx, 4(%r9) \n\t"
362 "movl %ecx, 8(%r9) \n\t" 362 "movl %ecx, 8(%r9) \n\t"
@@ -390,10 +390,10 @@ static void __devinit dmi_find_cru(const struct dmi_header *dm)
390 smbios_cru64_ptr = (struct smbios_cru64_info *) dm; 390 smbios_cru64_ptr = (struct smbios_cru64_info *) dm;
391 if (smbios_cru64_ptr->signature == CRU_BIOS_SIGNATURE_VALUE) { 391 if (smbios_cru64_ptr->signature == CRU_BIOS_SIGNATURE_VALUE) {
392 cru_physical_address = 392 cru_physical_address =
393 smbios_cru64_ptr->physical_address + 393 smbios_cru64_ptr->physical_address +
394 smbios_cru64_ptr->double_offset; 394 smbios_cru64_ptr->double_offset;
395 cru_rom_addr = ioremap(cru_physical_address, 395 cru_rom_addr = ioremap(cru_physical_address,
396 smbios_cru64_ptr->double_length); 396 smbios_cru64_ptr->double_length);
397 } 397 }
398 } 398 }
399} 399}
@@ -405,7 +405,7 @@ static int __devinit detect_cru_service(void)
405 dmi_walk(dmi_find_cru); 405 dmi_walk(dmi_find_cru);
406 406
407 /* if cru_rom_addr has been set then we found a CRU service */ 407 /* if cru_rom_addr has been set then we found a CRU service */
408 return ((cru_rom_addr != NULL) ? 0: -ENODEV); 408 return ((cru_rom_addr != NULL) ? 0 : -ENODEV);
409} 409}
410 410
411/* ------------------------------------------------------------------------- */ 411/* ------------------------------------------------------------------------- */
@@ -413,34 +413,6 @@ static int __devinit detect_cru_service(void)
413#endif 413#endif
414 414
415/* 415/*
416 * NMI Handler
417 */
418static int hpwdt_pretimeout(struct notifier_block *nb, unsigned long ulReason,
419 void *data)
420{
421 unsigned long rom_pl;
422 static int die_nmi_called;
423
424 if (ulReason != DIE_NMI && ulReason != DIE_NMI_IPI)
425 return NOTIFY_OK;
426
427 spin_lock_irqsave(&rom_lock, rom_pl);
428 if (!die_nmi_called)
429 asminline_call(&cmn_regs, cru_rom_addr);
430 die_nmi_called = 1;
431 spin_unlock_irqrestore(&rom_lock, rom_pl);
432 if (cmn_regs.u1.ral == 0) {
433 printk(KERN_WARNING "hpwdt: An NMI occurred, "
434 "but unable to determine source.\n");
435 } else {
436 panic("An NMI occurred, please see the Integrated "
437 "Management Log for details.\n");
438 }
439
440 return NOTIFY_STOP;
441}
442
443/*
444 * Watchdog operations 416 * Watchdog operations
445 */ 417 */
446static void hpwdt_start(void) 418static void hpwdt_start(void)
@@ -484,6 +456,36 @@ static int hpwdt_change_timer(int new_margin)
484} 456}
485 457
486/* 458/*
459 * NMI Handler
460 */
461static int hpwdt_pretimeout(struct notifier_block *nb, unsigned long ulReason,
462 void *data)
463{
464 unsigned long rom_pl;
465 static int die_nmi_called;
466
467 if (ulReason != DIE_NMI && ulReason != DIE_NMI_IPI)
468 return NOTIFY_OK;
469
470 spin_lock_irqsave(&rom_lock, rom_pl);
471 if (!die_nmi_called)
472 asminline_call(&cmn_regs, cru_rom_addr);
473 die_nmi_called = 1;
474 spin_unlock_irqrestore(&rom_lock, rom_pl);
475 if (cmn_regs.u1.ral == 0) {
476 printk(KERN_WARNING "hpwdt: An NMI occurred, "
477 "but unable to determine source.\n");
478 } else {
479 if (allow_kdump)
480 hpwdt_stop();
481 panic("An NMI occurred, please see the Integrated "
482 "Management Log for details.\n");
483 }
484
485 return NOTIFY_STOP;
486}
487
488/*
487 * /dev/watchdog handling 489 * /dev/watchdog handling
488 */ 490 */
489static int hpwdt_open(struct inode *inode, struct file *file) 491static int hpwdt_open(struct inode *inode, struct file *file)
@@ -625,17 +627,18 @@ static struct notifier_block die_notifier = {
625 */ 627 */
626 628
627static int __devinit hpwdt_init_one(struct pci_dev *dev, 629static int __devinit hpwdt_init_one(struct pci_dev *dev,
628 const struct pci_device_id *ent) 630 const struct pci_device_id *ent)
629{ 631{
630 int retval; 632 int retval;
631 633
632 /* 634 /*
633 * First let's find out if we are on an iLO2 server. We will 635 * First let's find out if we are on an iLO2 server. We will
634 * not run on a legacy ASM box. 636 * not run on a legacy ASM box.
637 * So we only support the G5 ProLiant servers and higher.
635 */ 638 */
636 if (dev->subsystem_vendor != PCI_VENDOR_ID_HP) { 639 if (dev->subsystem_vendor != PCI_VENDOR_ID_HP) {
637 dev_warn(&dev->dev, 640 dev_warn(&dev->dev,
638 "This server does not have an iLO2 ASIC.\n"); 641 "This server does not have an iLO2 ASIC.\n");
639 return -ENODEV; 642 return -ENODEV;
640 } 643 }
641 644
@@ -669,7 +672,7 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev,
669 retval = detect_cru_service(); 672 retval = detect_cru_service();
670 if (retval < 0) { 673 if (retval < 0) {
671 dev_warn(&dev->dev, 674 dev_warn(&dev->dev,
672 "Unable to detect the %d Bit CRU Service.\n", 675 "Unable to detect the %d Bit CRU Service.\n",
673 HPWDT_ARCH); 676 HPWDT_ARCH);
674 goto error_get_cru; 677 goto error_get_cru;
675 } 678 }
@@ -684,7 +687,7 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev,
684 retval = register_die_notifier(&die_notifier); 687 retval = register_die_notifier(&die_notifier);
685 if (retval != 0) { 688 if (retval != 0) {
686 dev_warn(&dev->dev, 689 dev_warn(&dev->dev,
687 "Unable to register a die notifier (err=%d).\n", 690 "Unable to register a die notifier (err=%d).\n",
688 retval); 691 retval);
689 goto error_die_notifier; 692 goto error_die_notifier;
690 } 693 }
@@ -699,8 +702,9 @@ static int __devinit hpwdt_init_one(struct pci_dev *dev,
699 702
700 printk(KERN_INFO 703 printk(KERN_INFO
701 "hp Watchdog Timer Driver: 1.00" 704 "hp Watchdog Timer Driver: 1.00"
702 ", timer margin: %d seconds( nowayout=%d).\n", 705 ", timer margin: %d seconds (nowayout=%d)"
703 soft_margin, nowayout); 706 ", allow kernel dump: %s (default = 0/OFF).\n",
707 soft_margin, nowayout, (allow_kdump == 0) ? "OFF" : "ON");
704 708
705 return 0; 709 return 0;
706 710
@@ -755,6 +759,9 @@ MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
755module_param(soft_margin, int, 0); 759module_param(soft_margin, int, 0);
756MODULE_PARM_DESC(soft_margin, "Watchdog timeout in seconds"); 760MODULE_PARM_DESC(soft_margin, "Watchdog timeout in seconds");
757 761
762module_param(allow_kdump, int, 0);
763MODULE_PARM_DESC(allow_kdump, "Start a kernel dump after NMI occurs");
764
758module_param(nowayout, int, 0); 765module_param(nowayout, int, 0);
759MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" 766MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
760 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); 767 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
diff --git a/drivers/watchdog/mpc8xx_wdt.c b/drivers/watchdog/mpc8xx_wdt.c
deleted file mode 100644
index 1336425acf20..000000000000
--- a/drivers/watchdog/mpc8xx_wdt.c
+++ /dev/null
@@ -1,170 +0,0 @@
1/*
2 * mpc8xx_wdt.c - MPC8xx watchdog userspace interface
3 *
4 * Author: Florian Schirmer <jolt@tuxbox.org>
5 *
6 * 2002 (c) Florian Schirmer <jolt@tuxbox.org> This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 */
11
12#include <linux/fs.h>
13#include <linux/init.h>
14#include <linux/kernel.h>
15#include <linux/miscdevice.h>
16#include <linux/module.h>
17#include <linux/watchdog.h>
18#include <asm/8xx_immap.h>
19#include <linux/uaccess.h>
20#include <linux/io.h>
21#include <syslib/m8xx_wdt.h>
22
23static unsigned long wdt_opened;
24static int wdt_status;
25static spinlock_t wdt_lock;
26
27static void mpc8xx_wdt_handler_disable(void)
28{
29 volatile uint __iomem *piscr;
30 piscr = (uint *)&((immap_t *)IMAP_ADDR)->im_sit.sit_piscr;
31
32 if (!m8xx_has_internal_rtc)
33 m8xx_wdt_stop_timer();
34 else
35 out_be32(piscr, in_be32(piscr) & ~(PISCR_PIE | PISCR_PTE));
36 printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler deactivated\n");
37}
38
39static void mpc8xx_wdt_handler_enable(void)
40{
41 volatile uint __iomem *piscr;
42 piscr = (uint *)&((immap_t *)IMAP_ADDR)->im_sit.sit_piscr;
43
44 if (!m8xx_has_internal_rtc)
45 m8xx_wdt_install_timer();
46 else
47 out_be32(piscr, in_be32(piscr) | PISCR_PIE | PISCR_PTE);
48 printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler activated\n");
49}
50
51static int mpc8xx_wdt_open(struct inode *inode, struct file *file)
52{
53 if (test_and_set_bit(0, &wdt_opened))
54 return -EBUSY;
55 m8xx_wdt_reset();
56 mpc8xx_wdt_handler_disable();
57 return nonseekable_open(inode, file);
58}
59
60static int mpc8xx_wdt_release(struct inode *inode, struct file *file)
61{
62 m8xx_wdt_reset();
63#if !defined(CONFIG_WATCHDOG_NOWAYOUT)
64 mpc8xx_wdt_handler_enable();
65#endif
66 clear_bit(0, &wdt_opened);
67 return 0;
68}
69
70static ssize_t mpc8xx_wdt_write(struct file *file, const char *data,
71 size_t len, loff_t *ppos)
72{
73 if (len) {
74 spin_lock(&wdt_lock);
75 m8xx_wdt_reset();
76 spin_unlock(&wdt_lock);
77 }
78 return len;
79}
80
81static long mpc8xx_wdt_ioctl(struct file *file,
82 unsigned int cmd, unsigned long arg)
83{
84 int timeout;
85 static struct watchdog_info info = {
86 .options = WDIOF_KEEPALIVEPING,
87 .firmware_version = 0,
88 .identity = "MPC8xx watchdog",
89 };
90
91 switch (cmd) {
92 case WDIOC_GETSUPPORT:
93 if (copy_to_user((void *)arg, &info, sizeof(info)))
94 return -EFAULT;
95 break;
96
97 case WDIOC_GETSTATUS:
98 case WDIOC_GETBOOTSTATUS:
99 if (put_user(wdt_status, (int *)arg))
100 return -EFAULT;
101 wdt_status &= ~WDIOF_KEEPALIVEPING;
102 break;
103
104 case WDIOC_GETTEMP:
105 return -EOPNOTSUPP;
106
107 case WDIOC_SETOPTIONS:
108 return -EOPNOTSUPP;
109
110 case WDIOC_KEEPALIVE:
111 spin_lock(&wdt_lock);
112 m8xx_wdt_reset();
113 wdt_status |= WDIOF_KEEPALIVEPING;
114 spin_unlock(&wdt_lock);
115 break;
116
117 case WDIOC_SETTIMEOUT:
118 return -EOPNOTSUPP;
119
120 case WDIOC_GETTIMEOUT:
121 spin_lock(&wdt_lock);
122 timeout = m8xx_wdt_get_timeout();
123 spin_unlock(&wdt_lock);
124 if (put_user(timeout, (int *)arg))
125 return -EFAULT;
126 break;
127
128 default:
129 return -ENOTTY;
130 }
131
132 return 0;
133}
134
135static const struct file_operations mpc8xx_wdt_fops = {
136 .owner = THIS_MODULE,
137 .llseek = no_llseek,
138 .write = mpc8xx_wdt_write,
139 .unlocked_ioctl = mpc8xx_wdt_ioctl,
140 .open = mpc8xx_wdt_open,
141 .release = mpc8xx_wdt_release,
142};
143
144static struct miscdevice mpc8xx_wdt_miscdev = {
145 .minor = WATCHDOG_MINOR,
146 .name = "watchdog",
147 .fops = &mpc8xx_wdt_fops,
148};
149
150static int __init mpc8xx_wdt_init(void)
151{
152 spin_lock_init(&wdt_lock);
153 return misc_register(&mpc8xx_wdt_miscdev);
154}
155
156static void __exit mpc8xx_wdt_exit(void)
157{
158 misc_deregister(&mpc8xx_wdt_miscdev);
159
160 m8xx_wdt_reset();
161 mpc8xx_wdt_handler_enable();
162}
163
164module_init(mpc8xx_wdt_init);
165module_exit(mpc8xx_wdt_exit);
166
167MODULE_AUTHOR("Florian Schirmer <jolt@tuxbox.org>");
168MODULE_DESCRIPTION("MPC8xx watchdog driver");
169MODULE_LICENSE("GPL");
170MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
diff --git a/drivers/watchdog/mpc8xxx_wdt.c b/drivers/watchdog/mpc8xxx_wdt.c
index f2094960e662..38c588ee694f 100644
--- a/drivers/watchdog/mpc8xxx_wdt.c
+++ b/drivers/watchdog/mpc8xxx_wdt.c
@@ -48,6 +48,7 @@ struct mpc8xxx_wdt_type {
48}; 48};
49 49
50static struct mpc8xxx_wdt __iomem *wd_base; 50static struct mpc8xxx_wdt __iomem *wd_base;
51static int mpc8xxx_wdt_init_late(void);
51 52
52static u16 timeout = 0xffff; 53static u16 timeout = 0xffff;
53module_param(timeout, ushort, 0); 54module_param(timeout, ushort, 0);
@@ -213,6 +214,12 @@ static int __devinit mpc8xxx_wdt_probe(struct of_device *ofdev,
213 else 214 else
214 timeout_sec = timeout / freq; 215 timeout_sec = timeout / freq;
215 216
217#ifdef MODULE
218 ret = mpc8xxx_wdt_init_late();
219 if (ret)
220 goto err_unmap;
221#endif
222
216 pr_info("WDT driver for MPC8xxx initialized. mode:%s timeout=%d " 223 pr_info("WDT driver for MPC8xxx initialized. mode:%s timeout=%d "
217 "(%d seconds)\n", reset ? "reset" : "interrupt", timeout, 224 "(%d seconds)\n", reset ? "reset" : "interrupt", timeout,
218 timeout_sec); 225 timeout_sec);
@@ -280,7 +287,7 @@ static struct of_platform_driver mpc8xxx_wdt_driver = {
280 * very early to start pinging the watchdog (misc devices are not yet 287 * very early to start pinging the watchdog (misc devices are not yet
281 * available), and later module_init() just registers the misc device. 288 * available), and later module_init() just registers the misc device.
282 */ 289 */
283static int __init mpc8xxx_wdt_init_late(void) 290static int mpc8xxx_wdt_init_late(void)
284{ 291{
285 int ret; 292 int ret;
286 293
@@ -295,7 +302,9 @@ static int __init mpc8xxx_wdt_init_late(void)
295 } 302 }
296 return 0; 303 return 0;
297} 304}
305#ifndef MODULE
298module_init(mpc8xxx_wdt_init_late); 306module_init(mpc8xxx_wdt_init_late);
307#endif
299 308
300static int __init mpc8xxx_wdt_init(void) 309static int __init mpc8xxx_wdt_init(void)
301{ 310{
diff --git a/drivers/watchdog/pc87413_wdt.c b/drivers/watchdog/pc87413_wdt.c
index e91ada72da1d..484c215e9f3f 100644
--- a/drivers/watchdog/pc87413_wdt.c
+++ b/drivers/watchdog/pc87413_wdt.c
@@ -30,7 +30,6 @@
30#include <linux/init.h> 30#include <linux/init.h>
31#include <linux/spinlock.h> 31#include <linux/spinlock.h>
32#include <linux/moduleparam.h> 32#include <linux/moduleparam.h>
33#include <linux/version.h>
34#include <linux/io.h> 33#include <linux/io.h>
35#include <linux/uaccess.h> 34#include <linux/uaccess.h>
36 35
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
new file mode 100644
index 000000000000..6756bcb009ed
--- /dev/null
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -0,0 +1,344 @@
1/*
2 * IDT Interprise 79RC32434 watchdog driver
3 *
4 * Copyright (C) 2006, Ondrej Zajicek <santiago@crfreenet.org>
5 * Copyright (C) 2008, Florian Fainelli <florian@openwrt.org>
6 *
7 * based on
8 * SoftDog 0.05: A Software Watchdog Device
9 *
10 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version
15 * 2 of the License, or (at your option) any later version.
16 *
17 */
18
19#include <linux/module.h>
20#include <linux/types.h>
21#include <linux/kernel.h>
22#include <linux/fs.h>
23#include <linux/mm.h>
24#include <linux/miscdevice.h>
25#include <linux/watchdog.h>
26#include <linux/reboot.h>
27#include <linux/smp_lock.h>
28#include <linux/init.h>
29#include <linux/platform_device.h>
30#include <linux/uaccess.h>
31
32#include <asm/bootinfo.h>
33#include <asm/time.h>
34#include <asm/mach-rc32434/integ.h>
35
36#define MAX_TIMEOUT 20
37#define RC32434_WDT_INTERVAL (15 * HZ)
38
39#define VERSION "0.2"
40
41static struct {
42 struct completion stop;
43 int running;
44 struct timer_list timer;
45 int queue;
46 int default_ticks;
47 unsigned long inuse;
48} rc32434_wdt_device;
49
50static struct integ __iomem *wdt_reg;
51static int ticks = 100 * HZ;
52
53static int expect_close;
54static int timeout;
55
56static int nowayout = WATCHDOG_NOWAYOUT;
57module_param(nowayout, int, 0);
58MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
59 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
60
61
62static void rc32434_wdt_start(void)
63{
64 u32 val;
65
66 if (!rc32434_wdt_device.inuse) {
67 writel(0, &wdt_reg->wtcount);
68
69 val = RC32434_ERR_WRE;
70 writel(readl(&wdt_reg->errcs) | val, &wdt_reg->errcs);
71
72 val = RC32434_WTC_EN;
73 writel(readl(&wdt_reg->wtc) | val, &wdt_reg->wtc);
74 }
75 rc32434_wdt_device.running++;
76}
77
78static void rc32434_wdt_stop(void)
79{
80 u32 val;
81
82 if (rc32434_wdt_device.running) {
83
84 val = ~RC32434_WTC_EN;
85 writel(readl(&wdt_reg->wtc) & val, &wdt_reg->wtc);
86
87 val = ~RC32434_ERR_WRE;
88 writel(readl(&wdt_reg->errcs) & val, &wdt_reg->errcs);
89
90 rc32434_wdt_device.running = 0;
91 }
92}
93
94static void rc32434_wdt_set(int new_timeout)
95{
96 u32 cmp = new_timeout * HZ;
97 u32 state, val;
98
99 timeout = new_timeout;
100 /*
101 * store and disable WTC
102 */
103 state = (u32)(readl(&wdt_reg->wtc) & RC32434_WTC_EN);
104 val = ~RC32434_WTC_EN;
105 writel(readl(&wdt_reg->wtc) & val, &wdt_reg->wtc);
106
107 writel(0, &wdt_reg->wtcount);
108 writel(cmp, &wdt_reg->wtcompare);
109
110 /*
111 * restore WTC
112 */
113
114 writel(readl(&wdt_reg->wtc) | state, &wdt_reg);
115}
116
117static void rc32434_wdt_reset(void)
118{
119 ticks = rc32434_wdt_device.default_ticks;
120}
121
122static void rc32434_wdt_update(unsigned long unused)
123{
124 if (rc32434_wdt_device.running)
125 ticks--;
126
127 writel(0, &wdt_reg->wtcount);
128
129 if (rc32434_wdt_device.queue && ticks)
130 mod_timer(&rc32434_wdt_device.timer,
131 jiffies + RC32434_WDT_INTERVAL);
132 else
133 complete(&rc32434_wdt_device.stop);
134}
135
136static int rc32434_wdt_open(struct inode *inode, struct file *file)
137{
138 if (test_and_set_bit(0, &rc32434_wdt_device.inuse))
139 return -EBUSY;
140
141 if (nowayout)
142 __module_get(THIS_MODULE);
143
144 return nonseekable_open(inode, file);
145}
146
147static int rc32434_wdt_release(struct inode *inode, struct file *file)
148{
149 if (expect_close && nowayout == 0) {
150 rc32434_wdt_stop();
151 printk(KERN_INFO KBUILD_MODNAME ": disabling watchdog timer\n");
152 module_put(THIS_MODULE);
153 } else
154 printk(KERN_CRIT KBUILD_MODNAME
155 ": device closed unexpectedly. WDT will not stop !\n");
156
157 clear_bit(0, &rc32434_wdt_device.inuse);
158 return 0;
159}
160
161static ssize_t rc32434_wdt_write(struct file *file, const char *data,
162 size_t len, loff_t *ppos)
163{
164 if (len) {
165 if (!nowayout) {
166 size_t i;
167
168 /* In case it was set long ago */
169 expect_close = 0;
170
171 for (i = 0; i != len; i++) {
172 char c;
173 if (get_user(c, data + i))
174 return -EFAULT;
175 if (c == 'V')
176 expect_close = 1;
177 }
178 }
179 rc32434_wdt_update(0);
180 return len;
181 }
182 return 0;
183}
184
185static int rc32434_wdt_ioctl(struct inode *inode, struct file *file,
186 unsigned int cmd, unsigned long arg)
187{
188 void __user *argp = (void __user *)arg;
189 int new_timeout;
190 unsigned int value;
191 static struct watchdog_info ident = {
192 .options = WDIOF_SETTIMEOUT |
193 WDIOF_KEEPALIVEPING |
194 WDIOF_MAGICCLOSE,
195 .identity = "RC32434_WDT Watchdog",
196 };
197 switch (cmd) {
198 case WDIOC_KEEPALIVE:
199 rc32434_wdt_reset();
200 break;
201 case WDIOC_GETSTATUS:
202 case WDIOC_GETBOOTSTATUS:
203 value = readl(&wdt_reg->wtcount);
204 if (copy_to_user(argp, &value, sizeof(int)))
205 return -EFAULT;
206 break;
207 case WDIOC_GETSUPPORT:
208 if (copy_to_user(argp, &ident, sizeof(ident)))
209 return -EFAULT;
210 break;
211 case WDIOC_SETOPTIONS:
212 if (copy_from_user(&value, argp, sizeof(int)))
213 return -EFAULT;
214 switch (value) {
215 case WDIOS_ENABLECARD:
216 rc32434_wdt_start();
217 break;
218 case WDIOS_DISABLECARD:
219 rc32434_wdt_stop();
220 default:
221 return -EINVAL;
222 }
223 break;
224 case WDIOC_SETTIMEOUT:
225 if (copy_from_user(&new_timeout, argp, sizeof(int)))
226 return -EFAULT;
227 if (new_timeout < 1)
228 return -EINVAL;
229 if (new_timeout > MAX_TIMEOUT)
230 return -EINVAL;
231 rc32434_wdt_set(new_timeout);
232 case WDIOC_GETTIMEOUT:
233 return copy_to_user(argp, &timeout, sizeof(int));
234 default:
235 return -ENOTTY;
236 }
237
238 return 0;
239}
240
241static struct file_operations rc32434_wdt_fops = {
242 .owner = THIS_MODULE,
243 .llseek = no_llseek,
244 .write = rc32434_wdt_write,
245 .ioctl = rc32434_wdt_ioctl,
246 .open = rc32434_wdt_open,
247 .release = rc32434_wdt_release,
248};
249
250static struct miscdevice rc32434_wdt_miscdev = {
251 .minor = WATCHDOG_MINOR,
252 .name = "watchdog",
253 .fops = &rc32434_wdt_fops,
254};
255
256static char banner[] = KERN_INFO KBUILD_MODNAME
257 ": Watchdog Timer version " VERSION ", timer margin: %d sec\n";
258
259static int rc32434_wdt_probe(struct platform_device *pdev)
260{
261 int ret;
262 struct resource *r;
263
264 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rb500_wdt_res");
265 if (!r) {
266 printk(KERN_ERR KBUILD_MODNAME
267 "failed to retrieve resources\n");
268 return -ENODEV;
269 }
270
271 wdt_reg = ioremap_nocache(r->start, r->end - r->start);
272 if (!wdt_reg) {
273 printk(KERN_ERR KBUILD_MODNAME
274 "failed to remap I/O resources\n");
275 return -ENXIO;
276 }
277
278 ret = misc_register(&rc32434_wdt_miscdev);
279
280 if (ret < 0) {
281 printk(KERN_ERR KBUILD_MODNAME
282 "failed to register watchdog device\n");
283 goto unmap;
284 }
285
286 init_completion(&rc32434_wdt_device.stop);
287 rc32434_wdt_device.queue = 0;
288
289 clear_bit(0, &rc32434_wdt_device.inuse);
290
291 setup_timer(&rc32434_wdt_device.timer, rc32434_wdt_update, 0L);
292
293 rc32434_wdt_device.default_ticks = ticks;
294
295 rc32434_wdt_start();
296
297 printk(banner, timeout);
298
299 return 0;
300
301unmap:
302 iounmap(wdt_reg);
303 return ret;
304}
305
306static int rc32434_wdt_remove(struct platform_device *pdev)
307{
308 if (rc32434_wdt_device.queue) {
309 rc32434_wdt_device.queue = 0;
310 wait_for_completion(&rc32434_wdt_device.stop);
311 }
312 misc_deregister(&rc32434_wdt_miscdev);
313
314 iounmap(wdt_reg);
315
316 return 0;
317}
318
319static struct platform_driver rc32434_wdt = {
320 .probe = rc32434_wdt_probe,
321 .remove = rc32434_wdt_remove,
322 .driver = {
323 .name = "rc32434_wdt",
324 }
325};
326
327static int __init rc32434_wdt_init(void)
328{
329 return platform_driver_register(&rc32434_wdt);
330}
331
332static void __exit rc32434_wdt_exit(void)
333{
334 platform_driver_unregister(&rc32434_wdt);
335}
336
337module_init(rc32434_wdt_init);
338module_exit(rc32434_wdt_exit);
339
340MODULE_AUTHOR("Ondrej Zajicek <santiago@crfreenet.org>,"
341 "Florian Fainelli <florian@openwrt.org>");
342MODULE_DESCRIPTION("Driver for the IDT RC32434 SoC watchdog");
343MODULE_LICENSE("GPL");
344MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
diff --git a/drivers/watchdog/rdc321x_wdt.c b/drivers/watchdog/rdc321x_wdt.c
new file mode 100644
index 000000000000..9108efa73e7d
--- /dev/null
+++ b/drivers/watchdog/rdc321x_wdt.c
@@ -0,0 +1,285 @@
1/*
2 * RDC321x watchdog driver
3 *
4 * Copyright (C) 2007 Florian Fainelli <florian@openwrt.org>
5 *
6 * This driver is highly inspired from the cpu5_wdt driver
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 *
22 */
23
24#include <linux/module.h>
25#include <linux/moduleparam.h>
26#include <linux/types.h>
27#include <linux/errno.h>
28#include <linux/miscdevice.h>
29#include <linux/fs.h>
30#include <linux/init.h>
31#include <linux/ioport.h>
32#include <linux/timer.h>
33#include <linux/completion.h>
34#include <linux/jiffies.h>
35#include <linux/platform_device.h>
36#include <linux/watchdog.h>
37#include <linux/io.h>
38#include <linux/uaccess.h>
39
40#include <asm/mach-rdc321x/rdc321x_defs.h>
41
42#define RDC_WDT_MASK 0x80000000 /* Mask */
43#define RDC_WDT_EN 0x00800000 /* Enable bit */
44#define RDC_WDT_WTI 0x00200000 /* Generate CPU reset/NMI/WDT on timeout */
45#define RDC_WDT_RST 0x00100000 /* Reset bit */
46#define RDC_WDT_WIF 0x00040000 /* WDT IRQ Flag */
47#define RDC_WDT_IRT 0x00000100 /* IRQ Routing table */
48#define RDC_WDT_CNT 0x00000001 /* WDT count */
49
50#define RDC_CLS_TMR 0x80003844 /* Clear timer */
51
52#define RDC_WDT_INTERVAL (HZ/10+1)
53
54static int ticks = 1000;
55
56/* some device data */
57
58static struct {
59 struct completion stop;
60 int running;
61 struct timer_list timer;
62 int queue;
63 int default_ticks;
64 unsigned long inuse;
65 spinlock_t lock;
66} rdc321x_wdt_device;
67
68/* generic helper functions */
69
70static void rdc321x_wdt_trigger(unsigned long unused)
71{
72 unsigned long flags;
73
74 if (rdc321x_wdt_device.running)
75 ticks--;
76
77 /* keep watchdog alive */
78 spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
79 outl(RDC_WDT_EN | inl(RDC3210_CFGREG_DATA),
80 RDC3210_CFGREG_DATA);
81 spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
82
83 /* requeue?? */
84 if (rdc321x_wdt_device.queue && ticks)
85 mod_timer(&rdc321x_wdt_device.timer,
86 jiffies + RDC_WDT_INTERVAL);
87 else {
88 /* ticks doesn't matter anyway */
89 complete(&rdc321x_wdt_device.stop);
90 }
91
92}
93
94static void rdc321x_wdt_reset(void)
95{
96 ticks = rdc321x_wdt_device.default_ticks;
97}
98
99static void rdc321x_wdt_start(void)
100{
101 unsigned long flags;
102
103 if (!rdc321x_wdt_device.queue) {
104 rdc321x_wdt_device.queue = 1;
105
106 /* Clear the timer */
107 spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
108 outl(RDC_CLS_TMR, RDC3210_CFGREG_ADDR);
109
110 /* Enable watchdog and set the timeout to 81.92 us */
111 outl(RDC_WDT_EN | RDC_WDT_CNT, RDC3210_CFGREG_DATA);
112 spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
113
114 mod_timer(&rdc321x_wdt_device.timer,
115 jiffies + RDC_WDT_INTERVAL);
116 }
117
118 /* if process dies, counter is not decremented */
119 rdc321x_wdt_device.running++;
120}
121
122static int rdc321x_wdt_stop(void)
123{
124 if (rdc321x_wdt_device.running)
125 rdc321x_wdt_device.running = 0;
126
127 ticks = rdc321x_wdt_device.default_ticks;
128
129 return -EIO;
130}
131
132/* filesystem operations */
133static int rdc321x_wdt_open(struct inode *inode, struct file *file)
134{
135 if (test_and_set_bit(0, &rdc321x_wdt_device.inuse))
136 return -EBUSY;
137
138 return nonseekable_open(inode, file);
139}
140
141static int rdc321x_wdt_release(struct inode *inode, struct file *file)
142{
143 clear_bit(0, &rdc321x_wdt_device.inuse);
144 return 0;
145}
146
147static int rdc321x_wdt_ioctl(struct inode *inode, struct file *file,
148 unsigned int cmd, unsigned long arg)
149{
150 void __user *argp = (void __user *)arg;
151 unsigned int value;
152 static struct watchdog_info ident = {
153 .options = WDIOF_CARDRESET,
154 .identity = "RDC321x WDT",
155 };
156 unsigned long flags;
157
158 switch (cmd) {
159 case WDIOC_KEEPALIVE:
160 rdc321x_wdt_reset();
161 break;
162 case WDIOC_GETSTATUS:
163 /* Read the value from the DATA register */
164 spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
165 value = inl(RDC3210_CFGREG_DATA);
166 spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
167 if (copy_to_user(argp, &value, sizeof(int)))
168 return -EFAULT;
169 break;
170 case WDIOC_GETSUPPORT:
171 if (copy_to_user(argp, &ident, sizeof(ident)))
172 return -EFAULT;
173 break;
174 case WDIOC_SETOPTIONS:
175 if (copy_from_user(&value, argp, sizeof(int)))
176 return -EFAULT;
177 switch (value) {
178 case WDIOS_ENABLECARD:
179 rdc321x_wdt_start();
180 break;
181 case WDIOS_DISABLECARD:
182 return rdc321x_wdt_stop();
183 default:
184 return -EINVAL;
185 }
186 break;
187 default:
188 return -ENOTTY;
189 }
190 return 0;
191}
192
193static ssize_t rdc321x_wdt_write(struct file *file, const char __user *buf,
194 size_t count, loff_t *ppos)
195{
196 if (!count)
197 return -EIO;
198
199 rdc321x_wdt_reset();
200
201 return count;
202}
203
204static const struct file_operations rdc321x_wdt_fops = {
205 .owner = THIS_MODULE,
206 .llseek = no_llseek,
207 .ioctl = rdc321x_wdt_ioctl,
208 .open = rdc321x_wdt_open,
209 .write = rdc321x_wdt_write,
210 .release = rdc321x_wdt_release,
211};
212
213static struct miscdevice rdc321x_wdt_misc = {
214 .minor = WATCHDOG_MINOR,
215 .name = "watchdog",
216 .fops = &rdc321x_wdt_fops,
217};
218
219static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
220{
221 int err;
222
223 err = misc_register(&rdc321x_wdt_misc);
224 if (err < 0) {
225 printk(KERN_ERR PFX "watchdog misc_register failed\n");
226 return err;
227 }
228
229 spin_lock_init(&rdc321x_wdt_device.lock);
230
231 /* Reset the watchdog */
232 outl(RDC_WDT_RST, RDC3210_CFGREG_DATA);
233
234 init_completion(&rdc321x_wdt_device.stop);
235 rdc321x_wdt_device.queue = 0;
236
237 clear_bit(0, &rdc321x_wdt_device.inuse);
238
239 setup_timer(&rdc321x_wdt_device.timer, rdc321x_wdt_trigger, 0);
240
241 rdc321x_wdt_device.default_ticks = ticks;
242
243 printk(KERN_INFO PFX "watchdog init success\n");
244
245 return 0;
246}
247
248static int rdc321x_wdt_remove(struct platform_device *pdev)
249{
250 if (rdc321x_wdt_device.queue) {
251 rdc321x_wdt_device.queue = 0;
252 wait_for_completion(&rdc321x_wdt_device.stop);
253 }
254
255 misc_deregister(&rdc321x_wdt_misc);
256
257 return 0;
258}
259
260static struct platform_driver rdc321x_wdt_driver = {
261 .probe = rdc321x_wdt_probe,
262 .remove = rdc321x_wdt_remove,
263 .driver = {
264 .owner = THIS_MODULE,
265 .name = "rdc321x-wdt",
266 },
267};
268
269static int __init rdc321x_wdt_init(void)
270{
271 return platform_driver_register(&rdc321x_wdt_driver);
272}
273
274static void __exit rdc321x_wdt_exit(void)
275{
276 platform_driver_unregister(&rdc321x_wdt_driver);
277}
278
279module_init(rdc321x_wdt_init);
280module_exit(rdc321x_wdt_exit);
281
282MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
283MODULE_DESCRIPTION("RDC321x watchdog driver");
284MODULE_LICENSE("GPL");
285MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 22715e3be5e7..86d42801de45 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -21,18 +21,6 @@
21 * You should have received a copy of the GNU General Public License 21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software 22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 *
25 * Changelog:
26 * 05-Oct-2004 BJD Added semaphore init to stop crashes on open
27 * Fixed tmr_count / wdt_count confusion
28 * Added configurable debug
29 *
30 * 11-Jan-2005 BJD Fixed divide-by-2 in timeout code
31 *
32 * 25-Jan-2005 DA Added suspend/resume support
33 * Replaced reboot notifier with .shutdown method
34 *
35 * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
36*/ 24*/
37 25
38#include <linux/module.h> 26#include <linux/module.h>
@@ -365,7 +353,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
365 return -ENOENT; 353 return -ENOENT;
366 } 354 }
367 355
368 size = (res->end-res->start)+1; 356 size = (res->end - res->start) + 1;
369 wdt_mem = request_mem_region(res->start, size, pdev->name); 357 wdt_mem = request_mem_region(res->start, size, pdev->name);
370 if (wdt_mem == NULL) { 358 if (wdt_mem == NULL) {
371 dev_err(dev, "failed to get memory region\n"); 359 dev_err(dev, "failed to get memory region\n");
@@ -374,7 +362,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
374 } 362 }
375 363
376 wdt_base = ioremap(res->start, size); 364 wdt_base = ioremap(res->start, size);
377 if (wdt_base == 0) { 365 if (wdt_base == NULL) {
378 dev_err(dev, "failed to ioremap() region\n"); 366 dev_err(dev, "failed to ioremap() region\n");
379 ret = -EINVAL; 367 ret = -EINVAL;
380 goto err_req; 368 goto err_req;
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index d4427cb86979..2e15da5459cf 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -60,7 +60,7 @@
60 60
61#define PAGES2KB(_p) ((_p)<<(PAGE_SHIFT-10)) 61#define PAGES2KB(_p) ((_p)<<(PAGE_SHIFT-10))
62 62
63#define BALLOON_CLASS_NAME "memory" 63#define BALLOON_CLASS_NAME "xen_memory"
64 64
65struct balloon_stats { 65struct balloon_stats {
66 /* We aim for 'current allocation' == 'target allocation'. */ 66 /* We aim for 'current allocation' == 'target allocation'. */
diff --git a/firmware/Makefile b/firmware/Makefile
index 9fe86041f86e..da75a6fbc6ba 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -146,15 +146,27 @@ $(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/%
146$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) 146$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
147 $(call cmd,ihex) 147 $(call cmd,ihex)
148 148
149# Don't depend on ihex2fw if we're installing and it already exists.
150# Putting it after | in the dependencies doesn't seem sufficient when
151# we're installing after a cross-compile, because ihex2fw has dependencies
152# on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and
153# thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree
154# is exported read-only for someone to run 'make install'.
155ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw)
156ihex2fw_dep :=
157else
158ihex2fw_dep := $(obj)/ihex2fw
159endif
160
149# .HEX is also Intel HEX, but where the offset and length in each record 161# .HEX is also Intel HEX, but where the offset and length in each record
150# is actually meaningful, because the firmware has to be loaded in a certain 162# is actually meaningful, because the firmware has to be loaded in a certain
151# order rather than as a single binary blob. Thus, we convert them into our 163# order rather than as a single binary blob. Thus, we convert them into our
152# more compact binary representation of ihex records (<linux/ihex.h>) 164# more compact binary representation of ihex records (<linux/ihex.h>)
153$(obj)/%.fw: $(obj)/%.HEX $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %) 165$(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
154 $(call cmd,ihex2fw) 166 $(call cmd,ihex2fw)
155 167
156# .H16 is our own modified form of Intel HEX, with 16-bit length for records. 168# .H16 is our own modified form of Intel HEX, with 16-bit length for records.
157$(obj)/%.fw: $(obj)/%.H16 $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %) 169$(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
158 $(call cmd,h16tofw) 170 $(call cmd,h16tofw)
159 171
160$(firmware-dirs): 172$(firmware-dirs):
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c
index 88e3787c6ea9..e298fe194093 100644
--- a/fs/9p/vfs_dir.c
+++ b/fs/9p/vfs_dir.c
@@ -119,6 +119,7 @@ int v9fs_dir_release(struct inode *inode, struct file *filp)
119 119
120const struct file_operations v9fs_dir_operations = { 120const struct file_operations v9fs_dir_operations = {
121 .read = generic_read_dir, 121 .read = generic_read_dir,
122 .llseek = generic_file_llseek,
122 .readdir = v9fs_dir_readdir, 123 .readdir = v9fs_dir_readdir,
123 .open = v9fs_file_open, 124 .open = v9fs_file_open,
124 .release = v9fs_dir_release, 125 .release = v9fs_dir_release,
diff --git a/fs/Kconfig b/fs/Kconfig
index d3873583360b..abccb5dab9a8 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1930,6 +1930,16 @@ config CIFS_WEAK_PW_HASH
1930 1930
1931 If unsure, say N. 1931 If unsure, say N.
1932 1932
1933config CIFS_UPCALL
1934 bool "Kerberos/SPNEGO advanced session setup"
1935 depends on CIFS && KEYS
1936 help
1937 Enables an upcall mechanism for CIFS which accesses
1938 userspace helper utilities to provide SPNEGO packaged (RFC 4178)
1939 Kerberos tickets which are needed to mount to certain secure servers
1940 (for which more secure Kerberos authentication is required). If
1941 unsure, say N.
1942
1933config CIFS_XATTR 1943config CIFS_XATTR
1934 bool "CIFS extended attributes" 1944 bool "CIFS extended attributes"
1935 depends on CIFS 1945 depends on CIFS
@@ -1982,17 +1992,6 @@ config CIFS_EXPERIMENTAL
1982 (which is disabled by default). See the file fs/cifs/README 1992 (which is disabled by default). See the file fs/cifs/README
1983 for more details. If unsure, say N. 1993 for more details. If unsure, say N.
1984 1994
1985config CIFS_UPCALL
1986 bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)"
1987 depends on CIFS_EXPERIMENTAL
1988 depends on KEYS
1989 help
1990 Enables an upcall mechanism for CIFS which accesses
1991 userspace helper utilities to provide SPNEGO packaged (RFC 4178)
1992 Kerberos tickets which are needed to mount to certain secure servers
1993 (for which more secure Kerberos authentication is required). If
1994 unsure, say N.
1995
1996config CIFS_DFS_UPCALL 1995config CIFS_DFS_UPCALL
1997 bool "DFS feature support (EXPERIMENTAL)" 1996 bool "DFS feature support (EXPERIMENTAL)"
1998 depends on CIFS_EXPERIMENTAL 1997 depends on CIFS_EXPERIMENTAL
diff --git a/fs/adfs/dir.c b/fs/adfs/dir.c
index fc1a8dc64d78..85a30e929800 100644
--- a/fs/adfs/dir.c
+++ b/fs/adfs/dir.c
@@ -197,6 +197,7 @@ out:
197 197
198const struct file_operations adfs_dir_operations = { 198const struct file_operations adfs_dir_operations = {
199 .read = generic_read_dir, 199 .read = generic_read_dir,
200 .llseek = generic_file_llseek,
200 .readdir = adfs_readdir, 201 .readdir = adfs_readdir,
201 .fsync = file_fsync, 202 .fsync = file_fsync,
202}; 203};
diff --git a/fs/affs/dir.c b/fs/affs/dir.c
index 6e3f282424b0..7b36904dbeac 100644
--- a/fs/affs/dir.c
+++ b/fs/affs/dir.c
@@ -19,6 +19,7 @@ static int affs_readdir(struct file *, void *, filldir_t);
19 19
20const struct file_operations affs_dir_operations = { 20const struct file_operations affs_dir_operations = {
21 .read = generic_read_dir, 21 .read = generic_read_dir,
22 .llseek = generic_file_llseek,
22 .readdir = affs_readdir, 23 .readdir = affs_readdir,
23 .fsync = file_fsync, 24 .fsync = file_fsync,
24}; 25};
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index bcfb2dc0a61b..2a41c2a7fc52 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -36,6 +36,7 @@ const struct file_operations autofs4_root_operations = {
36 .release = dcache_dir_close, 36 .release = dcache_dir_close,
37 .read = generic_read_dir, 37 .read = generic_read_dir,
38 .readdir = dcache_readdir, 38 .readdir = dcache_readdir,
39 .llseek = dcache_dir_lseek,
39 .ioctl = autofs4_root_ioctl, 40 .ioctl = autofs4_root_ioctl,
40}; 41};
41 42
@@ -44,6 +45,7 @@ const struct file_operations autofs4_dir_operations = {
44 .release = dcache_dir_close, 45 .release = dcache_dir_close,
45 .read = generic_read_dir, 46 .read = generic_read_dir,
46 .readdir = dcache_readdir, 47 .readdir = dcache_readdir,
48 .llseek = dcache_dir_lseek,
47}; 49};
48 50
49const struct inode_operations autofs4_indirect_root_inode_operations = { 51const struct inode_operations autofs4_indirect_root_inode_operations = {
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index 02c6e62b72f8..740f53672a8a 100644
--- a/fs/befs/linuxvfs.c
+++ b/fs/befs/linuxvfs.c
@@ -66,6 +66,7 @@ static struct kmem_cache *befs_inode_cachep;
66static const struct file_operations befs_dir_operations = { 66static const struct file_operations befs_dir_operations = {
67 .read = generic_read_dir, 67 .read = generic_read_dir,
68 .readdir = befs_readdir, 68 .readdir = befs_readdir,
69 .llseek = generic_file_llseek,
69}; 70};
70 71
71static const struct inode_operations befs_dir_inode_operations = { 72static const struct inode_operations befs_dir_inode_operations = {
diff --git a/fs/bio.c b/fs/bio.c
index 8000e2fa16cb..3cba7ae34d75 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -469,20 +469,21 @@ static void bio_free_map_data(struct bio_map_data *bmd)
469 kfree(bmd); 469 kfree(bmd);
470} 470}
471 471
472static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count) 472static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count,
473 gfp_t gfp_mask)
473{ 474{
474 struct bio_map_data *bmd = kmalloc(sizeof(*bmd), GFP_KERNEL); 475 struct bio_map_data *bmd = kmalloc(sizeof(*bmd), gfp_mask);
475 476
476 if (!bmd) 477 if (!bmd)
477 return NULL; 478 return NULL;
478 479
479 bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, GFP_KERNEL); 480 bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, gfp_mask);
480 if (!bmd->iovecs) { 481 if (!bmd->iovecs) {
481 kfree(bmd); 482 kfree(bmd);
482 return NULL; 483 return NULL;
483 } 484 }
484 485
485 bmd->sgvecs = kmalloc(sizeof(struct sg_iovec) * iov_count, GFP_KERNEL); 486 bmd->sgvecs = kmalloc(sizeof(struct sg_iovec) * iov_count, gfp_mask);
486 if (bmd->sgvecs) 487 if (bmd->sgvecs)
487 return bmd; 488 return bmd;
488 489
@@ -491,8 +492,8 @@ static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count)
491 return NULL; 492 return NULL;
492} 493}
493 494
494static int __bio_copy_iov(struct bio *bio, struct sg_iovec *iov, int iov_count, 495static int __bio_copy_iov(struct bio *bio, struct bio_vec *iovecs,
495 int uncopy) 496 struct sg_iovec *iov, int iov_count, int uncopy)
496{ 497{
497 int ret = 0, i; 498 int ret = 0, i;
498 struct bio_vec *bvec; 499 struct bio_vec *bvec;
@@ -502,7 +503,7 @@ static int __bio_copy_iov(struct bio *bio, struct sg_iovec *iov, int iov_count,
502 503
503 __bio_for_each_segment(bvec, bio, i, 0) { 504 __bio_for_each_segment(bvec, bio, i, 0) {
504 char *bv_addr = page_address(bvec->bv_page); 505 char *bv_addr = page_address(bvec->bv_page);
505 unsigned int bv_len = bvec->bv_len; 506 unsigned int bv_len = iovecs[i].bv_len;
506 507
507 while (bv_len && iov_idx < iov_count) { 508 while (bv_len && iov_idx < iov_count) {
508 unsigned int bytes; 509 unsigned int bytes;
@@ -554,7 +555,7 @@ int bio_uncopy_user(struct bio *bio)
554 struct bio_map_data *bmd = bio->bi_private; 555 struct bio_map_data *bmd = bio->bi_private;
555 int ret; 556 int ret;
556 557
557 ret = __bio_copy_iov(bio, bmd->sgvecs, bmd->nr_sgvecs, 1); 558 ret = __bio_copy_iov(bio, bmd->iovecs, bmd->sgvecs, bmd->nr_sgvecs, 1);
558 559
559 bio_free_map_data(bmd); 560 bio_free_map_data(bmd);
560 bio_put(bio); 561 bio_put(bio);
@@ -596,7 +597,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q, struct sg_iovec *iov,
596 len += iov[i].iov_len; 597 len += iov[i].iov_len;
597 } 598 }
598 599
599 bmd = bio_alloc_map_data(nr_pages, iov_count); 600 bmd = bio_alloc_map_data(nr_pages, iov_count, GFP_KERNEL);
600 if (!bmd) 601 if (!bmd)
601 return ERR_PTR(-ENOMEM); 602 return ERR_PTR(-ENOMEM);
602 603
@@ -633,7 +634,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q, struct sg_iovec *iov,
633 * success 634 * success
634 */ 635 */
635 if (!write_to_vm) { 636 if (!write_to_vm) {
636 ret = __bio_copy_iov(bio, iov, iov_count, 0); 637 ret = __bio_copy_iov(bio, bio->bi_io_vec, iov, iov_count, 0);
637 if (ret) 638 if (ret)
638 goto cleanup; 639 goto cleanup;
639 } 640 }
@@ -942,19 +943,22 @@ static void bio_copy_kern_endio(struct bio *bio, int err)
942{ 943{
943 struct bio_vec *bvec; 944 struct bio_vec *bvec;
944 const int read = bio_data_dir(bio) == READ; 945 const int read = bio_data_dir(bio) == READ;
945 char *p = bio->bi_private; 946 struct bio_map_data *bmd = bio->bi_private;
946 int i; 947 int i;
948 char *p = bmd->sgvecs[0].iov_base;
947 949
948 __bio_for_each_segment(bvec, bio, i, 0) { 950 __bio_for_each_segment(bvec, bio, i, 0) {
949 char *addr = page_address(bvec->bv_page); 951 char *addr = page_address(bvec->bv_page);
952 int len = bmd->iovecs[i].bv_len;
950 953
951 if (read && !err) 954 if (read && !err)
952 memcpy(p, addr, bvec->bv_len); 955 memcpy(p, addr, len);
953 956
954 __free_page(bvec->bv_page); 957 __free_page(bvec->bv_page);
955 p += bvec->bv_len; 958 p += len;
956 } 959 }
957 960
961 bio_free_map_data(bmd);
958 bio_put(bio); 962 bio_put(bio);
959} 963}
960 964
@@ -978,11 +982,21 @@ struct bio *bio_copy_kern(struct request_queue *q, void *data, unsigned int len,
978 const int nr_pages = end - start; 982 const int nr_pages = end - start;
979 struct bio *bio; 983 struct bio *bio;
980 struct bio_vec *bvec; 984 struct bio_vec *bvec;
985 struct bio_map_data *bmd;
981 int i, ret; 986 int i, ret;
987 struct sg_iovec iov;
988
989 iov.iov_base = data;
990 iov.iov_len = len;
991
992 bmd = bio_alloc_map_data(nr_pages, 1, gfp_mask);
993 if (!bmd)
994 return ERR_PTR(-ENOMEM);
982 995
996 ret = -ENOMEM;
983 bio = bio_alloc(gfp_mask, nr_pages); 997 bio = bio_alloc(gfp_mask, nr_pages);
984 if (!bio) 998 if (!bio)
985 return ERR_PTR(-ENOMEM); 999 goto out_bmd;
986 1000
987 while (len) { 1001 while (len) {
988 struct page *page; 1002 struct page *page;
@@ -1016,14 +1030,18 @@ struct bio *bio_copy_kern(struct request_queue *q, void *data, unsigned int len,
1016 } 1030 }
1017 } 1031 }
1018 1032
1019 bio->bi_private = data; 1033 bio->bi_private = bmd;
1020 bio->bi_end_io = bio_copy_kern_endio; 1034 bio->bi_end_io = bio_copy_kern_endio;
1035
1036 bio_set_map_data(bmd, bio, &iov, 1);
1021 return bio; 1037 return bio;
1022cleanup: 1038cleanup:
1023 bio_for_each_segment(bvec, bio, i) 1039 bio_for_each_segment(bvec, bio, i)
1024 __free_page(bvec->bv_page); 1040 __free_page(bvec->bv_page);
1025 1041
1026 bio_put(bio); 1042 bio_put(bio);
1043out_bmd:
1044 bio_free_map_data(bmd);
1027 1045
1028 return ERR_PTR(ret); 1046 return ERR_PTR(ret);
1029} 1047}
diff --git a/fs/buffer.c b/fs/buffer.c
index 38653e36e225..ac78d4c19b3b 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2926,14 +2926,17 @@ int submit_bh(int rw, struct buffer_head * bh)
2926 BUG_ON(!buffer_mapped(bh)); 2926 BUG_ON(!buffer_mapped(bh));
2927 BUG_ON(!bh->b_end_io); 2927 BUG_ON(!bh->b_end_io);
2928 2928
2929 if (buffer_ordered(bh) && (rw == WRITE)) 2929 /*
2930 rw = WRITE_BARRIER; 2930 * Mask in barrier bit for a write (could be either a WRITE or a
2931 * WRITE_SYNC
2932 */
2933 if (buffer_ordered(bh) && (rw & WRITE))
2934 rw |= WRITE_BARRIER;
2931 2935
2932 /* 2936 /*
2933 * Only clear out a write error when rewriting, should this 2937 * Only clear out a write error when rewriting
2934 * include WRITE_SYNC as well?
2935 */ 2938 */
2936 if (test_set_buffer_req(bh) && (rw == WRITE || rw == WRITE_BARRIER)) 2939 if (test_set_buffer_req(bh) && (rw & WRITE))
2937 clear_buffer_write_io_error(bh); 2940 clear_buffer_write_io_error(bh);
2938 2941
2939 /* 2942 /*
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index f5d0083e09fa..06e521a945c3 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -4,7 +4,15 @@ Fix premature write failure on congested networks (we would give up
4on EAGAIN from the socket too quickly on large writes). 4on EAGAIN from the socket too quickly on large writes).
5Cifs_mkdir and cifs_create now respect the setgid bit on parent dir. 5Cifs_mkdir and cifs_create now respect the setgid bit on parent dir.
6Fix endian problems in acl (mode from/to cifs acl) on bigendian 6Fix endian problems in acl (mode from/to cifs acl) on bigendian
7architectures. 7architectures. Fix problems with preserving timestamps on copying open
8files (e.g. "cp -a") to Windows servers. For mkdir and create honor setgid bit
9on parent directory when server supports Unix Extensions but not POSIX
10create. Update cifs.upcall version to handle new Kerberos sec flags
11(this requires update of cifs.upcall program from Samba). Fix memory leak
12on dns_upcall (resolving DFS referralls). Fix plain text password
13authentication (requires setting SecurityFlags to 0x30030 to enable
14lanman and plain text though). Fix writes to be at correct offset when
15file is open with O_APPEND and file is on a directio (forcediretio) mount.
8 16
9Version 1.53 17Version 1.53
10------------ 18------------
diff --git a/fs/cifs/README b/fs/cifs/README
index 2bd6fe556f88..bd2343d4c6a6 100644
--- a/fs/cifs/README
+++ b/fs/cifs/README
@@ -542,10 +542,20 @@ SecurityFlags Flags which control security negotiation and
542 hashing mechanisms (as "must use") on the other hand 542 hashing mechanisms (as "must use") on the other hand
543 does not make much sense. Default flags are 543 does not make much sense. Default flags are
544 0x07007 544 0x07007
545 (NTLM, NTLMv2 and packet signing allowed). Maximum 545 (NTLM, NTLMv2 and packet signing allowed). The maximum
546 allowable flags if you want to allow mounts to servers 546 allowable flags if you want to allow mounts to servers
547 using weaker password hashes is 0x37037 (lanman, 547 using weaker password hashes is 0x37037 (lanman,
548 plaintext, ntlm, ntlmv2, signing allowed): 548 plaintext, ntlm, ntlmv2, signing allowed). Some
549 SecurityFlags require the corresponding menuconfig
550 options to be enabled (lanman and plaintext require
551 CONFIG_CIFS_WEAK_PW_HASH for example). Enabling
552 plaintext authentication currently requires also
553 enabling lanman authentication in the security flags
554 because the cifs module only supports sending
555 laintext passwords using the older lanman dialect
556 form of the session setup SMB. (e.g. for authentication
557 using plain text passwords, set the SecurityFlags
558 to 0x30030):
549 559
550 may use packet signing 0x00001 560 may use packet signing 0x00001
551 must use packet signing 0x01001 561 must use packet signing 0x01001
@@ -642,8 +652,30 @@ The statistics for the number of total SMBs and oplock breaks are different in
642that they represent all for that share, not just those for which the server 652that they represent all for that share, not just those for which the server
643returned success. 653returned success.
644 654
645Also note that "cat /proc/fs/cifs/DebugData" will display information about 655Also note that "cat /proc/fs/cifs/DebugData" will display information about
646the active sessions and the shares that are mounted. 656the active sessions and the shares that are mounted.
647Enabling Kerberos (extended security) works when CONFIG_CIFS_EXPERIMENTAL is 657
648on but requires a user space helper (from the Samba project). NTLM and NTLMv2 and 658Enabling Kerberos (extended security) works but requires version 1.2 or later
649LANMAN support do not require this helper. 659of the helper program cifs.upcall to be present and to be configured in the
660/etc/request-key.conf file. The cifs.upcall helper program is from the Samba
661project(http://www.samba.org). NTLM and NTLMv2 and LANMAN support do not
662require this helper. Note that NTLMv2 security (which does not require the
663cifs.upcall helper program), instead of using Kerberos, is sufficient for
664some use cases.
665
666Enabling DFS support (used to access shares transparently in an MS-DFS
667global name space) requires that CONFIG_CIFS_EXPERIMENTAL be enabled. In
668addition, DFS support for target shares which are specified as UNC
669names which begin with host names (rather than IP addresses) requires
670a user space helper (such as cifs.upcall) to be present in order to
671translate host names to ip address, and the user space helper must also
672be configured in the file /etc/request-key.conf
673
674To use cifs Kerberos and DFS support, the Linux keyutils package should be
675installed and something like the following lines should be added to the
676/etc/request-key.conf file:
677
678create cifs.spnego * * /usr/local/sbin/cifs.upcall %k
679create dns_resolver * * /usr/local/sbin/cifs.upcall %k
680
681
diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
index 5fabd2caf93c..1b09f1670061 100644
--- a/fs/cifs/asn1.c
+++ b/fs/cifs/asn1.c
@@ -476,6 +476,7 @@ decode_negTokenInit(unsigned char *security_blob, int length,
476 unsigned int cls, con, tag, oidlen, rc; 476 unsigned int cls, con, tag, oidlen, rc;
477 bool use_ntlmssp = false; 477 bool use_ntlmssp = false;
478 bool use_kerberos = false; 478 bool use_kerberos = false;
479 bool use_mskerberos = false;
479 480
480 *secType = NTLM; /* BB eventually make Kerberos or NLTMSSP the default*/ 481 *secType = NTLM; /* BB eventually make Kerberos or NLTMSSP the default*/
481 482
@@ -574,10 +575,12 @@ decode_negTokenInit(unsigned char *security_blob, int length,
574 *(oid + 1), *(oid + 2), *(oid + 3))); 575 *(oid + 1), *(oid + 2), *(oid + 3)));
575 576
576 if (compare_oid(oid, oidlen, MSKRB5_OID, 577 if (compare_oid(oid, oidlen, MSKRB5_OID,
577 MSKRB5_OID_LEN)) 578 MSKRB5_OID_LEN) &&
578 use_kerberos = true; 579 !use_kerberos)
580 use_mskerberos = true;
579 else if (compare_oid(oid, oidlen, KRB5_OID, 581 else if (compare_oid(oid, oidlen, KRB5_OID,
580 KRB5_OID_LEN)) 582 KRB5_OID_LEN) &&
583 !use_mskerberos)
581 use_kerberos = true; 584 use_kerberos = true;
582 else if (compare_oid(oid, oidlen, NTLMSSP_OID, 585 else if (compare_oid(oid, oidlen, NTLMSSP_OID,
583 NTLMSSP_OID_LEN)) 586 NTLMSSP_OID_LEN))
@@ -630,6 +633,8 @@ decode_negTokenInit(unsigned char *security_blob, int length,
630 633
631 if (use_kerberos) 634 if (use_kerberos)
632 *secType = Kerberos; 635 *secType = Kerberos;
636 else if (use_mskerberos)
637 *secType = MSKerberos;
633 else if (use_ntlmssp) 638 else if (use_ntlmssp)
634 *secType = NTLMSSP; 639 *secType = NTLMSSP;
635 640
diff --git a/fs/cifs/cifs_spnego.c b/fs/cifs/cifs_spnego.c
index 2434ab0e8791..117ef4bba68e 100644
--- a/fs/cifs/cifs_spnego.c
+++ b/fs/cifs/cifs_spnego.c
@@ -114,9 +114,11 @@ cifs_get_spnego_key(struct cifsSesInfo *sesInfo)
114 114
115 dp = description + strlen(description); 115 dp = description + strlen(description);
116 116
117 /* for now, only sec=krb5 is valid */ 117 /* for now, only sec=krb5 and sec=mskrb5 are valid */
118 if (server->secType == Kerberos) 118 if (server->secType == Kerberos)
119 sprintf(dp, ";sec=krb5"); 119 sprintf(dp, ";sec=krb5");
120 else if (server->secType == MSKerberos)
121 sprintf(dp, ";sec=mskrb5");
120 else 122 else
121 goto out; 123 goto out;
122 124
diff --git a/fs/cifs/cifs_spnego.h b/fs/cifs/cifs_spnego.h
index 05a34b17a1ab..e4041ec4d712 100644
--- a/fs/cifs/cifs_spnego.h
+++ b/fs/cifs/cifs_spnego.h
@@ -23,7 +23,7 @@
23#ifndef _CIFS_SPNEGO_H 23#ifndef _CIFS_SPNEGO_H
24#define _CIFS_SPNEGO_H 24#define _CIFS_SPNEGO_H
25 25
26#define CIFS_SPNEGO_UPCALL_VERSION 1 26#define CIFS_SPNEGO_UPCALL_VERSION 2
27 27
28/* 28/*
29 * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION. 29 * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
diff --git a/fs/cifs/cifsencrypt.c b/fs/cifs/cifsencrypt.c
index 83fd40dc1ef0..bd5f13d38450 100644
--- a/fs/cifs/cifsencrypt.c
+++ b/fs/cifs/cifsencrypt.c
@@ -294,6 +294,7 @@ void calc_lanman_hash(struct cifsSesInfo *ses, char *lnm_session_key)
294 294
295 if ((ses->server->secMode & SECMODE_PW_ENCRYPT) == 0) 295 if ((ses->server->secMode & SECMODE_PW_ENCRYPT) == 0)
296 if (extended_security & CIFSSEC_MAY_PLNTXT) { 296 if (extended_security & CIFSSEC_MAY_PLNTXT) {
297 memset(lnm_session_key, 0, CIFS_SESS_KEY_SIZE);
297 memcpy(lnm_session_key, password_with_pad, 298 memcpy(lnm_session_key, password_with_pad,
298 CIFS_ENCPWD_SIZE); 299 CIFS_ENCPWD_SIZE);
299 return; 300 return;
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 7e1cf262effe..8dfd6f24d488 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -80,7 +80,8 @@ enum securityEnum {
80 NTLMv2, /* Legacy NTLM auth with NTLMv2 hash */ 80 NTLMv2, /* Legacy NTLM auth with NTLMv2 hash */
81 RawNTLMSSP, /* NTLMSSP without SPNEGO */ 81 RawNTLMSSP, /* NTLMSSP without SPNEGO */
82 NTLMSSP, /* NTLMSSP via SPNEGO */ 82 NTLMSSP, /* NTLMSSP via SPNEGO */
83 Kerberos /* Kerberos via SPNEGO */ 83 Kerberos, /* Kerberos via SPNEGO */
84 MSKerberos, /* MS Kerberos via SPNEGO */
84}; 85};
85 86
86enum protocolEnum { 87enum protocolEnum {
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 0711db65afe8..4c13bcdb92a5 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -3598,19 +3598,21 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3598 char ntlm_session_key[CIFS_SESS_KEY_SIZE]; 3598 char ntlm_session_key[CIFS_SESS_KEY_SIZE];
3599 bool ntlmv2_flag = false; 3599 bool ntlmv2_flag = false;
3600 int first_time = 0; 3600 int first_time = 0;
3601 struct TCP_Server_Info *server = pSesInfo->server;
3601 3602
3602 /* what if server changes its buffer size after dropping the session? */ 3603 /* what if server changes its buffer size after dropping the session? */
3603 if (pSesInfo->server->maxBuf == 0) /* no need to send on reconnect */ { 3604 if (server->maxBuf == 0) /* no need to send on reconnect */ {
3604 rc = CIFSSMBNegotiate(xid, pSesInfo); 3605 rc = CIFSSMBNegotiate(xid, pSesInfo);
3605 if (rc == -EAGAIN) /* retry only once on 1st time connection */ { 3606 if (rc == -EAGAIN) {
3607 /* retry only once on 1st time connection */
3606 rc = CIFSSMBNegotiate(xid, pSesInfo); 3608 rc = CIFSSMBNegotiate(xid, pSesInfo);
3607 if (rc == -EAGAIN) 3609 if (rc == -EAGAIN)
3608 rc = -EHOSTDOWN; 3610 rc = -EHOSTDOWN;
3609 } 3611 }
3610 if (rc == 0) { 3612 if (rc == 0) {
3611 spin_lock(&GlobalMid_Lock); 3613 spin_lock(&GlobalMid_Lock);
3612 if (pSesInfo->server->tcpStatus != CifsExiting) 3614 if (server->tcpStatus != CifsExiting)
3613 pSesInfo->server->tcpStatus = CifsGood; 3615 server->tcpStatus = CifsGood;
3614 else 3616 else
3615 rc = -EHOSTDOWN; 3617 rc = -EHOSTDOWN;
3616 spin_unlock(&GlobalMid_Lock); 3618 spin_unlock(&GlobalMid_Lock);
@@ -3623,23 +3625,22 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3623 goto ss_err_exit; 3625 goto ss_err_exit;
3624 3626
3625 pSesInfo->flags = 0; 3627 pSesInfo->flags = 0;
3626 pSesInfo->capabilities = pSesInfo->server->capabilities; 3628 pSesInfo->capabilities = server->capabilities;
3627 if (linuxExtEnabled == 0) 3629 if (linuxExtEnabled == 0)
3628 pSesInfo->capabilities &= (~CAP_UNIX); 3630 pSesInfo->capabilities &= (~CAP_UNIX);
3629 /* pSesInfo->sequence_number = 0;*/ 3631 /* pSesInfo->sequence_number = 0;*/
3630 cFYI(1, ("Security Mode: 0x%x Capabilities: 0x%x TimeAdjust: %d", 3632 cFYI(1, ("Security Mode: 0x%x Capabilities: 0x%x TimeAdjust: %d",
3631 pSesInfo->server->secMode, 3633 server->secMode, server->capabilities, server->timeAdj));
3632 pSesInfo->server->capabilities, 3634
3633 pSesInfo->server->timeAdj));
3634 if (experimEnabled < 2) 3635 if (experimEnabled < 2)
3635 rc = CIFS_SessSetup(xid, pSesInfo, first_time, nls_info); 3636 rc = CIFS_SessSetup(xid, pSesInfo, first_time, nls_info);
3636 else if (extended_security 3637 else if (extended_security
3637 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY) 3638 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY)
3638 && (pSesInfo->server->secType == NTLMSSP)) { 3639 && (server->secType == NTLMSSP)) {
3639 rc = -EOPNOTSUPP; 3640 rc = -EOPNOTSUPP;
3640 } else if (extended_security 3641 } else if (extended_security
3641 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY) 3642 && (pSesInfo->capabilities & CAP_EXTENDED_SECURITY)
3642 && (pSesInfo->server->secType == RawNTLMSSP)) { 3643 && (server->secType == RawNTLMSSP)) {
3643 cFYI(1, ("NTLMSSP sesssetup")); 3644 cFYI(1, ("NTLMSSP sesssetup"));
3644 rc = CIFSNTLMSSPNegotiateSessSetup(xid, pSesInfo, &ntlmv2_flag, 3645 rc = CIFSNTLMSSPNegotiateSessSetup(xid, pSesInfo, &ntlmv2_flag,
3645 nls_info); 3646 nls_info);
@@ -3668,12 +3669,12 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3668 3669
3669 } else { 3670 } else {
3670 SMBNTencrypt(pSesInfo->password, 3671 SMBNTencrypt(pSesInfo->password,
3671 pSesInfo->server->cryptKey, 3672 server->cryptKey,
3672 ntlm_session_key); 3673 ntlm_session_key);
3673 3674
3674 if (first_time) 3675 if (first_time)
3675 cifs_calculate_mac_key( 3676 cifs_calculate_mac_key(
3676 &pSesInfo->server->mac_signing_key, 3677 &server->mac_signing_key,
3677 ntlm_session_key, 3678 ntlm_session_key,
3678 pSesInfo->password); 3679 pSesInfo->password);
3679 } 3680 }
@@ -3686,13 +3687,13 @@ int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
3686 nls_info); 3687 nls_info);
3687 } 3688 }
3688 } else { /* old style NTLM 0.12 session setup */ 3689 } else { /* old style NTLM 0.12 session setup */
3689 SMBNTencrypt(pSesInfo->password, pSesInfo->server->cryptKey, 3690 SMBNTencrypt(pSesInfo->password, server->cryptKey,
3690 ntlm_session_key); 3691 ntlm_session_key);
3691 3692
3692 if (first_time) 3693 if (first_time)
3693 cifs_calculate_mac_key( 3694 cifs_calculate_mac_key(&server->mac_signing_key,
3694 &pSesInfo->server->mac_signing_key, 3695 ntlm_session_key,
3695 ntlm_session_key, pSesInfo->password); 3696 pSesInfo->password);
3696 3697
3697 rc = CIFSSessSetup(xid, pSesInfo, ntlm_session_key, nls_info); 3698 rc = CIFSSessSetup(xid, pSesInfo, ntlm_session_key, nls_info);
3698 } 3699 }
diff --git a/fs/cifs/dns_resolve.c b/fs/cifs/dns_resolve.c
index f730ef35499e..a2e0673e1b08 100644
--- a/fs/cifs/dns_resolve.c
+++ b/fs/cifs/dns_resolve.c
@@ -47,11 +47,18 @@ static int dns_resolver_instantiate(struct key *key, const void *data,
47 return rc; 47 return rc;
48} 48}
49 49
50static void
51dns_resolver_destroy(struct key *key)
52{
53 kfree(key->payload.data);
54}
55
50struct key_type key_type_dns_resolver = { 56struct key_type key_type_dns_resolver = {
51 .name = "dns_resolver", 57 .name = "dns_resolver",
52 .def_datalen = sizeof(struct in_addr), 58 .def_datalen = sizeof(struct in_addr),
53 .describe = user_describe, 59 .describe = user_describe,
54 .instantiate = dns_resolver_instantiate, 60 .instantiate = dns_resolver_instantiate,
61 .destroy = dns_resolver_destroy,
55 .match = user_match, 62 .match = user_match,
56}; 63};
57 64
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index ff14d14903a0..cbefe1f1f9fe 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -833,6 +833,10 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data,
833 return -EBADF; 833 return -EBADF;
834 open_file = (struct cifsFileInfo *) file->private_data; 834 open_file = (struct cifsFileInfo *) file->private_data;
835 835
836 rc = generic_write_checks(file, poffset, &write_size, 0);
837 if (rc)
838 return rc;
839
836 xid = GetXid(); 840 xid = GetXid();
837 841
838 if (*poffset > file->f_path.dentry->d_inode->i_size) 842 if (*poffset > file->f_path.dentry->d_inode->i_size)
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 848286861c31..9c548f110102 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -546,7 +546,8 @@ int cifs_get_inode_info(struct inode **pinode,
546 if ((inode->i_mode & S_IWUGO) == 0 && 546 if ((inode->i_mode & S_IWUGO) == 0 &&
547 (attr & ATTR_READONLY) == 0) 547 (attr & ATTR_READONLY) == 0)
548 inode->i_mode |= (S_IWUGO & default_mode); 548 inode->i_mode |= (S_IWUGO & default_mode);
549 inode->i_mode &= ~S_IFMT; 549
550 inode->i_mode &= ~S_IFMT;
550 } 551 }
551 /* clear write bits if ATTR_READONLY is set */ 552 /* clear write bits if ATTR_READONLY is set */
552 if (attr & ATTR_READONLY) 553 if (attr & ATTR_READONLY)
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index ed150efbe27c..252fdc0567f1 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -409,6 +409,8 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
409#ifdef CONFIG_CIFS_WEAK_PW_HASH 409#ifdef CONFIG_CIFS_WEAK_PW_HASH
410 char lnm_session_key[CIFS_SESS_KEY_SIZE]; 410 char lnm_session_key[CIFS_SESS_KEY_SIZE];
411 411
412 pSMB->req.hdr.Flags2 &= ~SMBFLG2_UNICODE;
413
412 /* no capabilities flags in old lanman negotiation */ 414 /* no capabilities flags in old lanman negotiation */
413 415
414 pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_SESS_KEY_SIZE); 416 pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_SESS_KEY_SIZE);
@@ -505,7 +507,7 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
505 unicode_ssetup_strings(&bcc_ptr, ses, nls_cp); 507 unicode_ssetup_strings(&bcc_ptr, ses, nls_cp);
506 } else 508 } else
507 ascii_ssetup_strings(&bcc_ptr, ses, nls_cp); 509 ascii_ssetup_strings(&bcc_ptr, ses, nls_cp);
508 } else if (type == Kerberos) { 510 } else if (type == Kerberos || type == MSKerberos) {
509#ifdef CONFIG_CIFS_UPCALL 511#ifdef CONFIG_CIFS_UPCALL
510 struct cifs_spnego_msg *msg; 512 struct cifs_spnego_msg *msg;
511 spnego_key = cifs_get_spnego_key(ses); 513 spnego_key = cifs_get_spnego_key(ses);
@@ -516,6 +518,15 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
516 } 518 }
517 519
518 msg = spnego_key->payload.data; 520 msg = spnego_key->payload.data;
521 /* check version field to make sure that cifs.upcall is
522 sending us a response in an expected form */
523 if (msg->version != CIFS_SPNEGO_UPCALL_VERSION) {
524 cERROR(1, ("incorrect version of cifs.upcall (expected"
525 " %d but got %d)",
526 CIFS_SPNEGO_UPCALL_VERSION, msg->version));
527 rc = -EKEYREJECTED;
528 goto ssetup_exit;
529 }
519 /* bail out if key is too long */ 530 /* bail out if key is too long */
520 if (msg->sesskey_len > 531 if (msg->sesskey_len >
521 sizeof(ses->server->mac_signing_key.data.krb5)) { 532 sizeof(ses->server->mac_signing_key.data.krb5)) {
diff --git a/fs/compat.c b/fs/compat.c
index c9d1472e65c5..075d0509970d 100644
--- a/fs/compat.c
+++ b/fs/compat.c
@@ -792,8 +792,10 @@ static int compat_fillonedir(void *__buf, const char *name, int namlen,
792 if (buf->result) 792 if (buf->result)
793 return -EINVAL; 793 return -EINVAL;
794 d_ino = ino; 794 d_ino = ino;
795 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 795 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
796 buf->result = -EOVERFLOW;
796 return -EOVERFLOW; 797 return -EOVERFLOW;
798 }
797 buf->result++; 799 buf->result++;
798 dirent = buf->dirent; 800 dirent = buf->dirent;
799 if (!access_ok(VERIFY_WRITE, dirent, 801 if (!access_ok(VERIFY_WRITE, dirent,
@@ -862,8 +864,10 @@ static int compat_filldir(void *__buf, const char *name, int namlen,
862 if (reclen > buf->count) 864 if (reclen > buf->count)
863 return -EINVAL; 865 return -EINVAL;
864 d_ino = ino; 866 d_ino = ino;
865 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 867 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
868 buf->error = -EOVERFLOW;
866 return -EOVERFLOW; 869 return -EOVERFLOW;
870 }
867 dirent = buf->previous; 871 dirent = buf->previous;
868 if (dirent) { 872 if (dirent) {
869 if (__put_user(offset, &dirent->d_off)) 873 if (__put_user(offset, &dirent->d_off))
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index 7a8db78a91d2..8e93341f3e82 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -1311,16 +1311,18 @@ static int configfs_rmdir(struct inode *dir, struct dentry *dentry)
1311 * Ensure that no racing symlink() will make detach_prep() fail while 1311 * Ensure that no racing symlink() will make detach_prep() fail while
1312 * the new link is temporarily attached 1312 * the new link is temporarily attached
1313 */ 1313 */
1314 mutex_lock(&configfs_symlink_mutex);
1315 spin_lock(&configfs_dirent_lock);
1316 do { 1314 do {
1317 struct mutex *wait_mutex; 1315 struct mutex *wait_mutex;
1318 1316
1317 mutex_lock(&configfs_symlink_mutex);
1318 spin_lock(&configfs_dirent_lock);
1319 ret = configfs_detach_prep(dentry, &wait_mutex); 1319 ret = configfs_detach_prep(dentry, &wait_mutex);
1320 if (ret) { 1320 if (ret)
1321 configfs_detach_rollback(dentry); 1321 configfs_detach_rollback(dentry);
1322 spin_unlock(&configfs_dirent_lock); 1322 spin_unlock(&configfs_dirent_lock);
1323 mutex_unlock(&configfs_symlink_mutex); 1323 mutex_unlock(&configfs_symlink_mutex);
1324
1325 if (ret) {
1324 if (ret != -EAGAIN) { 1326 if (ret != -EAGAIN) {
1325 config_item_put(parent_item); 1327 config_item_put(parent_item);
1326 return ret; 1328 return ret;
@@ -1329,13 +1331,8 @@ static int configfs_rmdir(struct inode *dir, struct dentry *dentry)
1329 /* Wait until the racing operation terminates */ 1331 /* Wait until the racing operation terminates */
1330 mutex_lock(wait_mutex); 1332 mutex_lock(wait_mutex);
1331 mutex_unlock(wait_mutex); 1333 mutex_unlock(wait_mutex);
1332
1333 mutex_lock(&configfs_symlink_mutex);
1334 spin_lock(&configfs_dirent_lock);
1335 } 1334 }
1336 } while (ret == -EAGAIN); 1335 } while (ret == -EAGAIN);
1337 spin_unlock(&configfs_dirent_lock);
1338 mutex_unlock(&configfs_symlink_mutex);
1339 1336
1340 /* Get a working ref for the duration of this function */ 1337 /* Get a working ref for the duration of this function */
1341 item = configfs_get_config_item(dentry); 1338 item = configfs_get_config_item(dentry);
diff --git a/fs/dcache.c b/fs/dcache.c
index 101663d15e9f..80e93956aced 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1236,7 +1236,7 @@ struct dentry *d_splice_alias(struct inode *inode, struct dentry *dentry)
1236 * If no entry exists with the exact case name, allocate new dentry with 1236 * If no entry exists with the exact case name, allocate new dentry with
1237 * the exact case, and return the spliced entry. 1237 * the exact case, and return the spliced entry.
1238 */ 1238 */
1239struct dentry *d_add_ci(struct inode *inode, struct dentry *dentry, 1239struct dentry *d_add_ci(struct dentry *dentry, struct inode *inode,
1240 struct qstr *name) 1240 struct qstr *name)
1241{ 1241{
1242 int error; 1242 int error;
diff --git a/fs/efs/namei.c b/fs/efs/namei.c
index 3a404e7fad53..291abb11e20e 100644
--- a/fs/efs/namei.c
+++ b/fs/efs/namei.c
@@ -74,8 +74,7 @@ struct dentry *efs_lookup(struct inode *dir, struct dentry *dentry, struct namei
74 } 74 }
75 unlock_kernel(); 75 unlock_kernel();
76 76
77 d_add(dentry, inode); 77 return d_splice_alias(inode, dentry);
78 return NULL;
79} 78}
80 79
81static struct inode *efs_nfs_get_inode(struct super_block *sb, u64 ino, 80static struct inode *efs_nfs_get_inode(struct super_block *sb, u64 ino,
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 9abcd2b329f7..e9b20173fef3 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1279,6 +1279,12 @@ static int nfs_parse_mount_options(char *raw,
1279 } 1279 }
1280 } 1280 }
1281 1281
1282 if (errors > 0) {
1283 dfprintk(MOUNT, "NFS: parsing encountered %d error%s\n",
1284 errors, (errors == 1 ? "" : "s"));
1285 if (!sloppy)
1286 return 0;
1287 }
1282 return 1; 1288 return 1;
1283 1289
1284out_nomem: 1290out_nomem:
diff --git a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c
index b6ed38380ab8..54b8b4140c8f 100644
--- a/fs/nfsd/nfs4acl.c
+++ b/fs/nfsd/nfs4acl.c
@@ -443,7 +443,7 @@ init_state(struct posix_acl_state *state, int cnt)
443 * enough space for either: 443 * enough space for either:
444 */ 444 */
445 alloc = sizeof(struct posix_ace_state_array) 445 alloc = sizeof(struct posix_ace_state_array)
446 + cnt*sizeof(struct posix_ace_state); 446 + cnt*sizeof(struct posix_user_ace_state);
447 state->users = kzalloc(alloc, GFP_KERNEL); 447 state->users = kzalloc(alloc, GFP_KERNEL);
448 if (!state->users) 448 if (!state->users)
449 return -ENOMEM; 449 return -ENOMEM;
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index 2e51adac65de..e5b51ffafc6c 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -867,11 +867,6 @@ nfsd4_proc_compound(struct svc_rqst *rqstp,
867 int slack_bytes; 867 int slack_bytes;
868 __be32 status; 868 __be32 status;
869 869
870 status = nfserr_resource;
871 cstate = cstate_alloc();
872 if (cstate == NULL)
873 goto out;
874
875 resp->xbuf = &rqstp->rq_res; 870 resp->xbuf = &rqstp->rq_res;
876 resp->p = rqstp->rq_res.head[0].iov_base + rqstp->rq_res.head[0].iov_len; 871 resp->p = rqstp->rq_res.head[0].iov_base + rqstp->rq_res.head[0].iov_len;
877 resp->tagp = resp->p; 872 resp->tagp = resp->p;
@@ -890,6 +885,11 @@ nfsd4_proc_compound(struct svc_rqst *rqstp,
890 if (args->minorversion > NFSD_SUPPORTED_MINOR_VERSION) 885 if (args->minorversion > NFSD_SUPPORTED_MINOR_VERSION)
891 goto out; 886 goto out;
892 887
888 status = nfserr_resource;
889 cstate = cstate_alloc();
890 if (cstate == NULL)
891 goto out;
892
893 status = nfs_ok; 893 status = nfs_ok;
894 while (!status && resp->opcnt < args->opcnt) { 894 while (!status && resp->opcnt < args->opcnt) {
895 op = &args->ops[resp->opcnt++]; 895 op = &args->ops[resp->opcnt++];
@@ -957,9 +957,9 @@ encode_op:
957 nfsd4_increment_op_stats(op->opnum); 957 nfsd4_increment_op_stats(op->opnum);
958 } 958 }
959 959
960 cstate_free(cstate);
960out: 961out:
961 nfsd4_release_compoundargs(args); 962 nfsd4_release_compoundargs(args);
962 cstate_free(cstate);
963 dprintk("nfsv4 compound returned %d\n", ntohl(status)); 963 dprintk("nfsv4 compound returned %d\n", ntohl(status));
964 return status; 964 return status;
965} 965}
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
index e1781c8b1650..9e8a95be7a1e 100644
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -174,7 +174,6 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
174 // TODO: Consider moving this lot to a separate function! (AIA) 174 // TODO: Consider moving this lot to a separate function! (AIA)
175handle_name: 175handle_name:
176 { 176 {
177 struct dentry *real_dent, *new_dent;
178 MFT_RECORD *m; 177 MFT_RECORD *m;
179 ntfs_attr_search_ctx *ctx; 178 ntfs_attr_search_ctx *ctx;
180 ntfs_inode *ni = NTFS_I(dent_inode); 179 ntfs_inode *ni = NTFS_I(dent_inode);
@@ -255,93 +254,9 @@ handle_name:
255 } 254 }
256 nls_name.hash = full_name_hash(nls_name.name, nls_name.len); 255 nls_name.hash = full_name_hash(nls_name.name, nls_name.len);
257 256
258 /* 257 dent = d_add_ci(dent, dent_inode, &nls_name);
259 * Note: No need for dent->d_lock lock as i_mutex is held on the
260 * parent inode.
261 */
262
263 /* Does a dentry matching the nls_name exist already? */
264 real_dent = d_lookup(dent->d_parent, &nls_name);
265 /* If not, create it now. */
266 if (!real_dent) {
267 real_dent = d_alloc(dent->d_parent, &nls_name);
268 kfree(nls_name.name);
269 if (!real_dent) {
270 err = -ENOMEM;
271 goto err_out;
272 }
273 new_dent = d_splice_alias(dent_inode, real_dent);
274 if (new_dent)
275 dput(real_dent);
276 else
277 new_dent = real_dent;
278 ntfs_debug("Done. (Created new dentry.)");
279 return new_dent;
280 }
281 kfree(nls_name.name); 258 kfree(nls_name.name);
282 /* Matching dentry exists, check if it is negative. */ 259 return dent;
283 if (real_dent->d_inode) {
284 if (unlikely(real_dent->d_inode != dent_inode)) {
285 /* This can happen because bad inodes are unhashed. */
286 BUG_ON(!is_bad_inode(dent_inode));
287 BUG_ON(!is_bad_inode(real_dent->d_inode));
288 }
289 /*
290 * Already have the inode and the dentry attached, decrement
291 * the reference count to balance the ntfs_iget() we did
292 * earlier on. We found the dentry using d_lookup() so it
293 * cannot be disconnected and thus we do not need to worry
294 * about any NFS/disconnectedness issues here.
295 */
296 iput(dent_inode);
297 ntfs_debug("Done. (Already had inode and dentry.)");
298 return real_dent;
299 }
300 /*
301 * Negative dentry: instantiate it unless the inode is a directory and
302 * has a 'disconnected' dentry (i.e. IS_ROOT and DCACHE_DISCONNECTED),
303 * in which case d_move() that in place of the found dentry.
304 */
305 if (!S_ISDIR(dent_inode->i_mode)) {
306 /* Not a directory; everything is easy. */
307 d_instantiate(real_dent, dent_inode);
308 ntfs_debug("Done. (Already had negative file dentry.)");
309 return real_dent;
310 }
311 spin_lock(&dcache_lock);
312 if (list_empty(&dent_inode->i_dentry)) {
313 /*
314 * Directory without a 'disconnected' dentry; we need to do
315 * d_instantiate() by hand because it takes dcache_lock which
316 * we already hold.
317 */
318 list_add(&real_dent->d_alias, &dent_inode->i_dentry);
319 real_dent->d_inode = dent_inode;
320 spin_unlock(&dcache_lock);
321 security_d_instantiate(real_dent, dent_inode);
322 ntfs_debug("Done. (Already had negative directory dentry.)");
323 return real_dent;
324 }
325 /*
326 * Directory with a 'disconnected' dentry; get a reference to the
327 * 'disconnected' dentry.
328 */
329 new_dent = list_entry(dent_inode->i_dentry.next, struct dentry,
330 d_alias);
331 dget_locked(new_dent);
332 spin_unlock(&dcache_lock);
333 /* Do security vodoo. */
334 security_d_instantiate(real_dent, dent_inode);
335 /* Move new_dent in place of real_dent. */
336 d_move(new_dent, real_dent);
337 /* Balance the ntfs_iget() we did above. */
338 iput(dent_inode);
339 /* Throw away real_dent. */
340 dput(real_dent);
341 /* Use new_dent as the actual dentry. */
342 ntfs_debug("Done. (Already had negative, disconnected directory "
343 "dentry.)");
344 return new_dent;
345 260
346eio_err_out: 261eio_err_out:
347 ntfs_error(vol->sb, "Illegal file name attribute. Run chkdsk."); 262 ntfs_error(vol->sb, "Illegal file name attribute. Run chkdsk.");
diff --git a/fs/ntfs/usnjrnl.h b/fs/ntfs/usnjrnl.h
index 3a8af75351e8..4087fbdac327 100644
--- a/fs/ntfs/usnjrnl.h
+++ b/fs/ntfs/usnjrnl.h
@@ -113,7 +113,7 @@ typedef struct {
113 * Reason flags (32-bit). Cumulative flags describing the change(s) to the 113 * Reason flags (32-bit). Cumulative flags describing the change(s) to the
114 * file since it was last opened. I think the names speak for themselves but 114 * file since it was last opened. I think the names speak for themselves but
115 * if you disagree check out the descriptions in the Linux NTFS project NTFS 115 * if you disagree check out the descriptions in the Linux NTFS project NTFS
116 * documentation: http://linux-ntfs.sourceforge.net/ntfs/files/usnjrnl.html 116 * documentation: http://www.linux-ntfs.org/
117 */ 117 */
118enum { 118enum {
119 USN_REASON_DATA_OVERWRITE = const_cpu_to_le32(0x00000001), 119 USN_REASON_DATA_OVERWRITE = const_cpu_to_le32(0x00000001),
@@ -145,7 +145,7 @@ typedef le32 USN_REASON_FLAGS;
145 * Source info flags (32-bit). Information about the source of the change(s) 145 * Source info flags (32-bit). Information about the source of the change(s)
146 * to the file. For detailed descriptions of what these mean, see the Linux 146 * to the file. For detailed descriptions of what these mean, see the Linux
147 * NTFS project NTFS documentation: 147 * NTFS project NTFS documentation:
148 * http://linux-ntfs.sourceforge.net/ntfs/files/usnjrnl.html 148 * http://www.linux-ntfs.org/
149 */ 149 */
150enum { 150enum {
151 USN_SOURCE_DATA_MANAGEMENT = const_cpu_to_le32(0x00000001), 151 USN_SOURCE_DATA_MANAGEMENT = const_cpu_to_le32(0x00000001),
diff --git a/fs/ocfs2/cluster/netdebug.c b/fs/ocfs2/cluster/netdebug.c
index d8bfa0eb41b2..52276c02f710 100644
--- a/fs/ocfs2/cluster/netdebug.c
+++ b/fs/ocfs2/cluster/netdebug.c
@@ -138,20 +138,20 @@ static int nst_seq_show(struct seq_file *seq, void *v)
138 " message id: %d\n" 138 " message id: %d\n"
139 " message type: %u\n" 139 " message type: %u\n"
140 " message key: 0x%08x\n" 140 " message key: 0x%08x\n"
141 " sock acquiry: %lu.%lu\n" 141 " sock acquiry: %lu.%ld\n"
142 " send start: %lu.%lu\n" 142 " send start: %lu.%ld\n"
143 " wait start: %lu.%lu\n", 143 " wait start: %lu.%ld\n",
144 nst, (unsigned long)nst->st_task->pid, 144 nst, (unsigned long)nst->st_task->pid,
145 (unsigned long)nst->st_task->tgid, 145 (unsigned long)nst->st_task->tgid,
146 nst->st_task->comm, nst->st_node, 146 nst->st_task->comm, nst->st_node,
147 nst->st_sc, nst->st_id, nst->st_msg_type, 147 nst->st_sc, nst->st_id, nst->st_msg_type,
148 nst->st_msg_key, 148 nst->st_msg_key,
149 nst->st_sock_time.tv_sec, 149 nst->st_sock_time.tv_sec,
150 (unsigned long)nst->st_sock_time.tv_usec, 150 (long)nst->st_sock_time.tv_usec,
151 nst->st_send_time.tv_sec, 151 nst->st_send_time.tv_sec,
152 (unsigned long)nst->st_send_time.tv_usec, 152 (long)nst->st_send_time.tv_usec,
153 nst->st_status_time.tv_sec, 153 nst->st_status_time.tv_sec,
154 nst->st_status_time.tv_usec); 154 (long)nst->st_status_time.tv_usec);
155 } 155 }
156 156
157 spin_unlock(&o2net_debug_lock); 157 spin_unlock(&o2net_debug_lock);
@@ -276,7 +276,7 @@ static void *sc_seq_next(struct seq_file *seq, void *v, loff_t *pos)
276 return sc; /* unused, just needs to be null when done */ 276 return sc; /* unused, just needs to be null when done */
277} 277}
278 278
279#define TV_SEC_USEC(TV) TV.tv_sec, (unsigned long)TV.tv_usec 279#define TV_SEC_USEC(TV) TV.tv_sec, (long)TV.tv_usec
280 280
281static int sc_seq_show(struct seq_file *seq, void *v) 281static int sc_seq_show(struct seq_file *seq, void *v)
282{ 282{
@@ -309,12 +309,12 @@ static int sc_seq_show(struct seq_file *seq, void *v)
309 " remote node: %s\n" 309 " remote node: %s\n"
310 " page off: %zu\n" 310 " page off: %zu\n"
311 " handshake ok: %u\n" 311 " handshake ok: %u\n"
312 " timer: %lu.%lu\n" 312 " timer: %lu.%ld\n"
313 " data ready: %lu.%lu\n" 313 " data ready: %lu.%ld\n"
314 " advance start: %lu.%lu\n" 314 " advance start: %lu.%ld\n"
315 " advance stop: %lu.%lu\n" 315 " advance stop: %lu.%ld\n"
316 " func start: %lu.%lu\n" 316 " func start: %lu.%ld\n"
317 " func stop: %lu.%lu\n" 317 " func stop: %lu.%ld\n"
318 " func key: %u\n" 318 " func key: %u\n"
319 " func type: %u\n", 319 " func type: %u\n",
320 sc, 320 sc,
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c
index a27d61581bd6..2bcf706d9dd3 100644
--- a/fs/ocfs2/cluster/tcp.c
+++ b/fs/ocfs2/cluster/tcp.c
@@ -143,8 +143,8 @@ static void o2net_sc_postpone_idle(struct o2net_sock_container *sc);
143static void o2net_sc_reset_idle_timer(struct o2net_sock_container *sc); 143static void o2net_sc_reset_idle_timer(struct o2net_sock_container *sc);
144 144
145#ifdef CONFIG_DEBUG_FS 145#ifdef CONFIG_DEBUG_FS
146void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype, 146static void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype,
147 u32 msgkey, struct task_struct *task, u8 node) 147 u32 msgkey, struct task_struct *task, u8 node)
148{ 148{
149 INIT_LIST_HEAD(&nst->st_net_debug_item); 149 INIT_LIST_HEAD(&nst->st_net_debug_item);
150 nst->st_task = task; 150 nst->st_task = task;
@@ -153,31 +153,61 @@ void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype,
153 nst->st_node = node; 153 nst->st_node = node;
154} 154}
155 155
156void o2net_set_nst_sock_time(struct o2net_send_tracking *nst) 156static void o2net_set_nst_sock_time(struct o2net_send_tracking *nst)
157{ 157{
158 do_gettimeofday(&nst->st_sock_time); 158 do_gettimeofday(&nst->st_sock_time);
159} 159}
160 160
161void o2net_set_nst_send_time(struct o2net_send_tracking *nst) 161static void o2net_set_nst_send_time(struct o2net_send_tracking *nst)
162{ 162{
163 do_gettimeofday(&nst->st_send_time); 163 do_gettimeofday(&nst->st_send_time);
164} 164}
165 165
166void o2net_set_nst_status_time(struct o2net_send_tracking *nst) 166static void o2net_set_nst_status_time(struct o2net_send_tracking *nst)
167{ 167{
168 do_gettimeofday(&nst->st_status_time); 168 do_gettimeofday(&nst->st_status_time);
169} 169}
170 170
171void o2net_set_nst_sock_container(struct o2net_send_tracking *nst, 171static void o2net_set_nst_sock_container(struct o2net_send_tracking *nst,
172 struct o2net_sock_container *sc) 172 struct o2net_sock_container *sc)
173{ 173{
174 nst->st_sc = sc; 174 nst->st_sc = sc;
175} 175}
176 176
177void o2net_set_nst_msg_id(struct o2net_send_tracking *nst, u32 msg_id) 177static void o2net_set_nst_msg_id(struct o2net_send_tracking *nst, u32 msg_id)
178{ 178{
179 nst->st_id = msg_id; 179 nst->st_id = msg_id;
180} 180}
181
182#else /* CONFIG_DEBUG_FS */
183
184static inline void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype,
185 u32 msgkey, struct task_struct *task, u8 node)
186{
187}
188
189static inline void o2net_set_nst_sock_time(struct o2net_send_tracking *nst)
190{
191}
192
193static inline void o2net_set_nst_send_time(struct o2net_send_tracking *nst)
194{
195}
196
197static inline void o2net_set_nst_status_time(struct o2net_send_tracking *nst)
198{
199}
200
201static inline void o2net_set_nst_sock_container(struct o2net_send_tracking *nst,
202 struct o2net_sock_container *sc)
203{
204}
205
206static inline void o2net_set_nst_msg_id(struct o2net_send_tracking *nst,
207 u32 msg_id)
208{
209}
210
181#endif /* CONFIG_DEBUG_FS */ 211#endif /* CONFIG_DEBUG_FS */
182 212
183static inline int o2net_reconnect_delay(void) 213static inline int o2net_reconnect_delay(void)
diff --git a/fs/ocfs2/cluster/tcp_internal.h b/fs/ocfs2/cluster/tcp_internal.h
index 18307ff81b77..8d58cfe410b1 100644
--- a/fs/ocfs2/cluster/tcp_internal.h
+++ b/fs/ocfs2/cluster/tcp_internal.h
@@ -224,42 +224,10 @@ struct o2net_send_tracking {
224 struct timeval st_send_time; 224 struct timeval st_send_time;
225 struct timeval st_status_time; 225 struct timeval st_status_time;
226}; 226};
227
228void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype,
229 u32 msgkey, struct task_struct *task, u8 node);
230void o2net_set_nst_sock_time(struct o2net_send_tracking *nst);
231void o2net_set_nst_send_time(struct o2net_send_tracking *nst);
232void o2net_set_nst_status_time(struct o2net_send_tracking *nst);
233void o2net_set_nst_sock_container(struct o2net_send_tracking *nst,
234 struct o2net_sock_container *sc);
235void o2net_set_nst_msg_id(struct o2net_send_tracking *nst, u32 msg_id);
236
237#else 227#else
238struct o2net_send_tracking { 228struct o2net_send_tracking {
239 u32 dummy; 229 u32 dummy;
240}; 230};
241
242static inline void o2net_init_nst(struct o2net_send_tracking *nst, u32 msgtype,
243 u32 msgkey, struct task_struct *task, u8 node)
244{
245}
246static inline void o2net_set_nst_sock_time(struct o2net_send_tracking *nst)
247{
248}
249static inline void o2net_set_nst_send_time(struct o2net_send_tracking *nst)
250{
251}
252static inline void o2net_set_nst_status_time(struct o2net_send_tracking *nst)
253{
254}
255static inline void o2net_set_nst_sock_container(struct o2net_send_tracking *nst,
256 struct o2net_sock_container *sc)
257{
258}
259static inline void o2net_set_nst_msg_id(struct o2net_send_tracking *nst,
260 u32 msg_id)
261{
262}
263#endif /* CONFIG_DEBUG_FS */ 231#endif /* CONFIG_DEBUG_FS */
264 232
265#endif /* O2CLUSTER_TCP_INTERNAL_H */ 233#endif /* O2CLUSTER_TCP_INTERNAL_H */
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
index 8a1875848080..9cce563fd627 100644
--- a/fs/ocfs2/dir.c
+++ b/fs/ocfs2/dir.c
@@ -1300,7 +1300,6 @@ static int ocfs2_expand_inline_dir(struct inode *dir, struct buffer_head *di_bh,
1300 di->i_size = cpu_to_le64(sb->s_blocksize); 1300 di->i_size = cpu_to_le64(sb->s_blocksize);
1301 di->i_ctime = di->i_mtime = cpu_to_le64(dir->i_ctime.tv_sec); 1301 di->i_ctime = di->i_mtime = cpu_to_le64(dir->i_ctime.tv_sec);
1302 di->i_ctime_nsec = di->i_mtime_nsec = cpu_to_le32(dir->i_ctime.tv_nsec); 1302 di->i_ctime_nsec = di->i_mtime_nsec = cpu_to_le32(dir->i_ctime.tv_nsec);
1303 dir->i_blocks = ocfs2_inode_sector_count(dir);
1304 1303
1305 /* 1304 /*
1306 * This should never fail as our extent list is empty and all 1305 * This should never fail as our extent list is empty and all
@@ -1310,9 +1309,15 @@ static int ocfs2_expand_inline_dir(struct inode *dir, struct buffer_head *di_bh,
1310 NULL); 1309 NULL);
1311 if (ret) { 1310 if (ret) {
1312 mlog_errno(ret); 1311 mlog_errno(ret);
1313 goto out; 1312 goto out_commit;
1314 } 1313 }
1315 1314
1315 /*
1316 * Set i_blocks after the extent insert for the most up to
1317 * date ip_clusters value.
1318 */
1319 dir->i_blocks = ocfs2_inode_sector_count(dir);
1320
1316 ret = ocfs2_journal_dirty(handle, di_bh); 1321 ret = ocfs2_journal_dirty(handle, di_bh);
1317 if (ret) { 1322 if (ret) {
1318 mlog_errno(ret); 1323 mlog_errno(ret);
@@ -1336,7 +1341,7 @@ static int ocfs2_expand_inline_dir(struct inode *dir, struct buffer_head *di_bh,
1336 len, 0, NULL); 1341 len, 0, NULL);
1337 if (ret) { 1342 if (ret) {
1338 mlog_errno(ret); 1343 mlog_errno(ret);
1339 goto out; 1344 goto out_commit;
1340 } 1345 }
1341 } 1346 }
1342 1347
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 7a37240f7a31..c47bc2a809c2 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -1418,13 +1418,13 @@ int ocfs2_mark_dead_nodes(struct ocfs2_super *osb)
1418{ 1418{
1419 unsigned int node_num; 1419 unsigned int node_num;
1420 int status, i; 1420 int status, i;
1421 u32 gen;
1421 struct buffer_head *bh = NULL; 1422 struct buffer_head *bh = NULL;
1422 struct ocfs2_dinode *di; 1423 struct ocfs2_dinode *di;
1423 1424
1424 /* This is called with the super block cluster lock, so we 1425 /* This is called with the super block cluster lock, so we
1425 * know that the slot map can't change underneath us. */ 1426 * know that the slot map can't change underneath us. */
1426 1427
1427 spin_lock(&osb->osb_lock);
1428 for (i = 0; i < osb->max_slots; i++) { 1428 for (i = 0; i < osb->max_slots; i++) {
1429 /* Read journal inode to get the recovery generation */ 1429 /* Read journal inode to get the recovery generation */
1430 status = ocfs2_read_journal_inode(osb, i, &bh, NULL); 1430 status = ocfs2_read_journal_inode(osb, i, &bh, NULL);
@@ -1433,23 +1433,31 @@ int ocfs2_mark_dead_nodes(struct ocfs2_super *osb)
1433 goto bail; 1433 goto bail;
1434 } 1434 }
1435 di = (struct ocfs2_dinode *)bh->b_data; 1435 di = (struct ocfs2_dinode *)bh->b_data;
1436 osb->slot_recovery_generations[i] = 1436 gen = ocfs2_get_recovery_generation(di);
1437 ocfs2_get_recovery_generation(di);
1438 brelse(bh); 1437 brelse(bh);
1439 bh = NULL; 1438 bh = NULL;
1440 1439
1440 spin_lock(&osb->osb_lock);
1441 osb->slot_recovery_generations[i] = gen;
1442
1441 mlog(0, "Slot %u recovery generation is %u\n", i, 1443 mlog(0, "Slot %u recovery generation is %u\n", i,
1442 osb->slot_recovery_generations[i]); 1444 osb->slot_recovery_generations[i]);
1443 1445
1444 if (i == osb->slot_num) 1446 if (i == osb->slot_num) {
1447 spin_unlock(&osb->osb_lock);
1445 continue; 1448 continue;
1449 }
1446 1450
1447 status = ocfs2_slot_to_node_num_locked(osb, i, &node_num); 1451 status = ocfs2_slot_to_node_num_locked(osb, i, &node_num);
1448 if (status == -ENOENT) 1452 if (status == -ENOENT) {
1453 spin_unlock(&osb->osb_lock);
1449 continue; 1454 continue;
1455 }
1450 1456
1451 if (__ocfs2_recovery_map_test(osb, node_num)) 1457 if (__ocfs2_recovery_map_test(osb, node_num)) {
1458 spin_unlock(&osb->osb_lock);
1452 continue; 1459 continue;
1460 }
1453 spin_unlock(&osb->osb_lock); 1461 spin_unlock(&osb->osb_lock);
1454 1462
1455 /* Ok, we have a slot occupied by another node which 1463 /* Ok, we have a slot occupied by another node which
@@ -1465,10 +1473,7 @@ int ocfs2_mark_dead_nodes(struct ocfs2_super *osb)
1465 mlog_errno(status); 1473 mlog_errno(status);
1466 goto bail; 1474 goto bail;
1467 } 1475 }
1468
1469 spin_lock(&osb->osb_lock);
1470 } 1476 }
1471 spin_unlock(&osb->osb_lock);
1472 1477
1473 status = 0; 1478 status = 0;
1474bail: 1479bail:
diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
index 10e149ae5e3a..07f348b8d721 100644
--- a/fs/ocfs2/stackglue.c
+++ b/fs/ocfs2/stackglue.c
@@ -97,13 +97,14 @@ static int ocfs2_stack_driver_request(const char *stack_name,
97 goto out; 97 goto out;
98 } 98 }
99 99
100 /* Ok, the stack is pinned */
101 p->sp_count++;
102 active_stack = p; 100 active_stack = p;
103
104 rc = 0; 101 rc = 0;
105 102
106out: 103out:
104 /* If we found it, pin it */
105 if (!rc)
106 active_stack->sp_count++;
107
107 spin_unlock(&ocfs2_stack_lock); 108 spin_unlock(&ocfs2_stack_lock);
108 return rc; 109 return rc;
109} 110}
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 0d6eb33597c6..71c9be59c9c2 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -337,65 +337,6 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
337 return 0; 337 return 0;
338} 338}
339 339
340/*
341 * Use precise platform statistics if available:
342 */
343#ifdef CONFIG_VIRT_CPU_ACCOUNTING
344static cputime_t task_utime(struct task_struct *p)
345{
346 return p->utime;
347}
348
349static cputime_t task_stime(struct task_struct *p)
350{
351 return p->stime;
352}
353#else
354static cputime_t task_utime(struct task_struct *p)
355{
356 clock_t utime = cputime_to_clock_t(p->utime),
357 total = utime + cputime_to_clock_t(p->stime);
358 u64 temp;
359
360 /*
361 * Use CFS's precise accounting:
362 */
363 temp = (u64)nsec_to_clock_t(p->se.sum_exec_runtime);
364
365 if (total) {
366 temp *= utime;
367 do_div(temp, total);
368 }
369 utime = (clock_t)temp;
370
371 p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime));
372 return p->prev_utime;
373}
374
375static cputime_t task_stime(struct task_struct *p)
376{
377 clock_t stime;
378
379 /*
380 * Use CFS's precise accounting. (we subtract utime from
381 * the total, to make sure the total observed by userspace
382 * grows monotonically - apps rely on that):
383 */
384 stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
385 cputime_to_clock_t(task_utime(p));
386
387 if (stime >= 0)
388 p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));
389
390 return p->prev_stime;
391}
392#endif
393
394static cputime_t task_gtime(struct task_struct *p)
395{
396 return p->gtime;
397}
398
399static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, 340static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
400 struct pid *pid, struct task_struct *task, int whole) 341 struct pid *pid, struct task_struct *task, int whole)
401{ 342{
diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 4fb81e9c94e3..bca0f81eb687 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -330,6 +330,7 @@ retry:
330 spin_lock(&proc_inum_lock); 330 spin_lock(&proc_inum_lock);
331 ida_remove(&proc_inum_ida, i); 331 ida_remove(&proc_inum_ida, i);
332 spin_unlock(&proc_inum_lock); 332 spin_unlock(&proc_inum_lock);
333 return 0;
333 } 334 }
334 return PROC_DYNAMIC_FIRST + i; 335 return PROC_DYNAMIC_FIRST + i;
335} 336}
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index ded969862960..00f10a2dcf12 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -24,6 +24,7 @@
24#include <linux/tty.h> 24#include <linux/tty.h>
25#include <linux/string.h> 25#include <linux/string.h>
26#include <linux/mman.h> 26#include <linux/mman.h>
27#include <linux/quicklist.h>
27#include <linux/proc_fs.h> 28#include <linux/proc_fs.h>
28#include <linux/ioport.h> 29#include <linux/ioport.h>
29#include <linux/mm.h> 30#include <linux/mm.h>
@@ -189,7 +190,8 @@ static int meminfo_read_proc(char *page, char **start, off_t off,
189 "Committed_AS: %8lu kB\n" 190 "Committed_AS: %8lu kB\n"
190 "VmallocTotal: %8lu kB\n" 191 "VmallocTotal: %8lu kB\n"
191 "VmallocUsed: %8lu kB\n" 192 "VmallocUsed: %8lu kB\n"
192 "VmallocChunk: %8lu kB\n", 193 "VmallocChunk: %8lu kB\n"
194 "Quicklists: %8lu kB\n",
193 K(i.totalram), 195 K(i.totalram),
194 K(i.freeram), 196 K(i.freeram),
195 K(i.bufferram), 197 K(i.bufferram),
@@ -221,7 +223,8 @@ static int meminfo_read_proc(char *page, char **start, off_t off,
221 K(committed), 223 K(committed),
222 (unsigned long)VMALLOC_TOTAL >> 10, 224 (unsigned long)VMALLOC_TOTAL >> 10,
223 vmi.used >> 10, 225 vmi.used >> 10,
224 vmi.largest_chunk >> 10 226 vmi.largest_chunk >> 10,
227 K(quicklist_total_size())
225 ); 228 );
226 229
227 len += hugetlb_report_meminfo(page + len); 230 len += hugetlb_report_meminfo(page + len);
diff --git a/fs/readdir.c b/fs/readdir.c
index 4e026e5407fb..93a7559bbfd8 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -80,8 +80,10 @@ static int fillonedir(void * __buf, const char * name, int namlen, loff_t offset
80 if (buf->result) 80 if (buf->result)
81 return -EINVAL; 81 return -EINVAL;
82 d_ino = ino; 82 d_ino = ino;
83 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 83 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
84 buf->result = -EOVERFLOW;
84 return -EOVERFLOW; 85 return -EOVERFLOW;
86 }
85 buf->result++; 87 buf->result++;
86 dirent = buf->dirent; 88 dirent = buf->dirent;
87 if (!access_ok(VERIFY_WRITE, dirent, 89 if (!access_ok(VERIFY_WRITE, dirent,
@@ -155,8 +157,10 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
155 if (reclen > buf->count) 157 if (reclen > buf->count)
156 return -EINVAL; 158 return -EINVAL;
157 d_ino = ino; 159 d_ino = ino;
158 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) 160 if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) {
161 buf->error = -EOVERFLOW;
159 return -EOVERFLOW; 162 return -EOVERFLOW;
163 }
160 dirent = buf->previous; 164 dirent = buf->previous;
161 if (dirent) { 165 if (dirent) {
162 if (__put_user(offset, &dirent->d_off)) 166 if (__put_user(offset, &dirent->d_off))
diff --git a/fs/seq_file.c b/fs/seq_file.c
index 5d54205e486b..bd20f7f5a933 100644
--- a/fs/seq_file.c
+++ b/fs/seq_file.c
@@ -108,9 +108,9 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
108 goto Done; 108 goto Done;
109 } 109 }
110 /* we need at least one record in buffer */ 110 /* we need at least one record in buffer */
111 pos = m->index;
112 p = m->op->start(m, &pos);
111 while (1) { 113 while (1) {
112 pos = m->index;
113 p = m->op->start(m, &pos);
114 err = PTR_ERR(p); 114 err = PTR_ERR(p);
115 if (!p || IS_ERR(p)) 115 if (!p || IS_ERR(p))
116 break; 116 break;
@@ -119,6 +119,11 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
119 break; 119 break;
120 if (unlikely(err)) 120 if (unlikely(err))
121 m->count = 0; 121 m->count = 0;
122 if (unlikely(!m->count)) {
123 p = m->op->next(m, p, &pos);
124 m->index = pos;
125 continue;
126 }
122 if (m->count < m->size) 127 if (m->count < m->size)
123 goto Fill; 128 goto Fill;
124 m->op->stop(m, p); 129 m->op->stop(m, p);
@@ -128,6 +133,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
128 goto Enomem; 133 goto Enomem;
129 m->count = 0; 134 m->count = 0;
130 m->version = 0; 135 m->version = 0;
136 pos = m->index;
137 p = m->op->start(m, &pos);
131 } 138 }
132 m->op->stop(m, p); 139 m->op->stop(m, p);
133 m->count = 0; 140 m->count = 0;
diff --git a/fs/ubifs/budget.c b/fs/ubifs/budget.c
index 154098157473..73db464cd08b 100644
--- a/fs/ubifs/budget.c
+++ b/fs/ubifs/budget.c
@@ -302,18 +302,6 @@ long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs)
302 int subtract_lebs; 302 int subtract_lebs;
303 long long available; 303 long long available;
304 304
305 /*
306 * Force the amount available to the total size reported if the used
307 * space is zero.
308 */
309 if (c->lst.total_used <= UBIFS_INO_NODE_SZ &&
310 c->budg_data_growth + c->budg_dd_growth == 0) {
311 /* Do the same calculation as for c->block_cnt */
312 available = c->main_lebs - 2;
313 available *= c->leb_size - c->dark_wm;
314 return available;
315 }
316
317 available = c->main_bytes - c->lst.total_used; 305 available = c->main_bytes - c->lst.total_used;
318 306
319 /* 307 /*
@@ -714,34 +702,106 @@ void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
714} 702}
715 703
716/** 704/**
717 * ubifs_budg_get_free_space - return amount of free space. 705 * ubifs_reported_space - calculate reported free space.
706 * @c: the UBIFS file-system description object
707 * @free: amount of free space
708 *
709 * This function calculates amount of free space which will be reported to
710 * user-space. User-space application tend to expect that if the file-system
711 * (e.g., via the 'statfs()' call) reports that it has N bytes available, they
712 * are able to write a file of size N. UBIFS attaches node headers to each data
713 * node and it has to write indexind nodes as well. This introduces additional
714 * overhead, and UBIFS it has to report sligtly less free space to meet the
715 * above expectetion.
716 *
717 * This function assumes free space is made up of uncompressed data nodes and
718 * full index nodes (one per data node, tripled because we always allow enough
719 * space to write the index thrice).
720 *
721 * Note, the calculation is pessimistic, which means that most of the time
722 * UBIFS reports less space than it actually has.
723 */
724long long ubifs_reported_space(const struct ubifs_info *c, uint64_t free)
725{
726 int divisor, factor, f;
727
728 /*
729 * Reported space size is @free * X, where X is UBIFS block size
730 * divided by UBIFS block size + all overhead one data block
731 * introduces. The overhead is the node header + indexing overhead.
732 *
733 * Indexing overhead calculations are based on the following formula:
734 * I = N/(f - 1) + 1, where I - number of indexing nodes, N - number
735 * of data nodes, f - fanout. Because effective UBIFS fanout is twice
736 * as less than maximum fanout, we assume that each data node
737 * introduces 3 * @c->max_idx_node_sz / (@c->fanout/2 - 1) bytes.
738 * Note, the multiplier 3 is because UBIFS reseves thrice as more space
739 * for the index.
740 */
741 f = c->fanout > 3 ? c->fanout >> 1 : 2;
742 factor = UBIFS_BLOCK_SIZE;
743 divisor = UBIFS_MAX_DATA_NODE_SZ;
744 divisor += (c->max_idx_node_sz * 3) / (f - 1);
745 free *= factor;
746 do_div(free, divisor);
747 return free;
748}
749
750/**
751 * ubifs_get_free_space - return amount of free space.
718 * @c: UBIFS file-system description object 752 * @c: UBIFS file-system description object
719 * 753 *
720 * This function returns amount of free space on the file-system. 754 * This function calculates amount of free space to report to user-space.
755 *
756 * Because UBIFS may introduce substantial overhead (the index, node headers,
757 * alighment, wastage at the end of eraseblocks, etc), it cannot report real
758 * amount of free flash space it has (well, because not all dirty space is
759 * reclamable, UBIFS does not actually know the real amount). If UBIFS did so,
760 * it would bread user expectetion about what free space is. Users seem to
761 * accustomed to assume that if the file-system reports N bytes of free space,
762 * they would be able to fit a file of N bytes to the FS. This almost works for
763 * traditional file-systems, because they have way less overhead than UBIFS.
764 * So, to keep users happy, UBIFS tries to take the overhead into account.
721 */ 765 */
722long long ubifs_budg_get_free_space(struct ubifs_info *c) 766long long ubifs_get_free_space(struct ubifs_info *c)
723{ 767{
724 int min_idx_lebs, rsvd_idx_lebs; 768 int min_idx_lebs, rsvd_idx_lebs, lebs;
725 long long available, outstanding, free; 769 long long available, outstanding, free;
726 770
727 /* Do exactly the same calculations as in 'do_budget_space()' */
728 spin_lock(&c->space_lock); 771 spin_lock(&c->space_lock);
729 min_idx_lebs = ubifs_calc_min_idx_lebs(c); 772 min_idx_lebs = ubifs_calc_min_idx_lebs(c);
773 outstanding = c->budg_data_growth + c->budg_dd_growth;
730 774
731 if (min_idx_lebs > c->lst.idx_lebs) 775 /*
732 rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs; 776 * Force the amount available to the total size reported if the used
733 else 777 * space is zero.
734 rsvd_idx_lebs = 0; 778 */
735 779 if (c->lst.total_used <= UBIFS_INO_NODE_SZ && !outstanding) {
736 if (rsvd_idx_lebs > c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt
737 - c->lst.taken_empty_lebs) {
738 spin_unlock(&c->space_lock); 780 spin_unlock(&c->space_lock);
739 return 0; 781 return (long long)c->block_cnt << UBIFS_BLOCK_SHIFT;
740 } 782 }
741 783
742 available = ubifs_calc_available(c, min_idx_lebs); 784 available = ubifs_calc_available(c, min_idx_lebs);
743 outstanding = c->budg_data_growth + c->budg_dd_growth; 785
744 c->min_idx_lebs = min_idx_lebs; 786 /*
787 * When reporting free space to user-space, UBIFS guarantees that it is
788 * possible to write a file of free space size. This means that for
789 * empty LEBs we may use more precise calculations than
790 * 'ubifs_calc_available()' is using. Namely, we know that in empty
791 * LEBs we would waste only @c->leb_overhead bytes, not @c->dark_wm.
792 * Thus, amend the available space.
793 *
794 * Note, the calculations below are similar to what we have in
795 * 'do_budget_space()', so refer there for comments.
796 */
797 if (min_idx_lebs > c->lst.idx_lebs)
798 rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs;
799 else
800 rsvd_idx_lebs = 0;
801 lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
802 c->lst.taken_empty_lebs;
803 lebs -= rsvd_idx_lebs;
804 available += lebs * (c->dark_wm - c->leb_overhead);
745 spin_unlock(&c->space_lock); 805 spin_unlock(&c->space_lock);
746 806
747 if (available > outstanding) 807 if (available > outstanding)
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index 5c96f1fb7016..2b267c9a1806 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -587,7 +587,6 @@ static int ubifs_unlink(struct inode *dir, struct dentry *dentry)
587 if (err) { 587 if (err) {
588 if (err != -ENOSPC) 588 if (err != -ENOSPC)
589 return err; 589 return err;
590 err = 0;
591 budgeted = 0; 590 budgeted = 0;
592 } 591 }
593 592
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 4071d1cae29f..3d698e2022b1 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -793,7 +793,7 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,
793 int err; 793 int err;
794 struct ubifs_budget_req req; 794 struct ubifs_budget_req req;
795 loff_t old_size = inode->i_size, new_size = attr->ia_size; 795 loff_t old_size = inode->i_size, new_size = attr->ia_size;
796 int offset = new_size & (UBIFS_BLOCK_SIZE - 1); 796 int offset = new_size & (UBIFS_BLOCK_SIZE - 1), budgeted = 1;
797 struct ubifs_inode *ui = ubifs_inode(inode); 797 struct ubifs_inode *ui = ubifs_inode(inode);
798 798
799 dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size); 799 dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size);
@@ -811,8 +811,15 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,
811 /* A funny way to budget for truncation node */ 811 /* A funny way to budget for truncation node */
812 req.dirtied_ino_d = UBIFS_TRUN_NODE_SZ; 812 req.dirtied_ino_d = UBIFS_TRUN_NODE_SZ;
813 err = ubifs_budget_space(c, &req); 813 err = ubifs_budget_space(c, &req);
814 if (err) 814 if (err) {
815 return err; 815 /*
816 * Treat truncations to zero as deletion and always allow them,
817 * just like we do for '->unlink()'.
818 */
819 if (new_size || err != -ENOSPC)
820 return err;
821 budgeted = 0;
822 }
816 823
817 err = vmtruncate(inode, new_size); 824 err = vmtruncate(inode, new_size);
818 if (err) 825 if (err)
@@ -869,7 +876,12 @@ static int do_truncation(struct ubifs_info *c, struct inode *inode,
869 err = ubifs_jnl_truncate(c, inode, old_size, new_size); 876 err = ubifs_jnl_truncate(c, inode, old_size, new_size);
870 mutex_unlock(&ui->ui_mutex); 877 mutex_unlock(&ui->ui_mutex);
871out_budg: 878out_budg:
872 ubifs_release_budget(c, &req); 879 if (budgeted)
880 ubifs_release_budget(c, &req);
881 else {
882 c->nospace = c->nospace_rp = 0;
883 smp_wmb();
884 }
873 return err; 885 return err;
874} 886}
875 887
diff --git a/fs/ubifs/find.c b/fs/ubifs/find.c
index adee7b5ddeab..e045c8b55423 100644
--- a/fs/ubifs/find.c
+++ b/fs/ubifs/find.c
@@ -211,14 +211,8 @@ static const struct ubifs_lprops *scan_for_dirty(struct ubifs_info *c,
211 * dirty index heap, and it falls-back to LPT scanning if the heaps are empty 211 * dirty index heap, and it falls-back to LPT scanning if the heaps are empty
212 * or do not have an LEB which satisfies the @min_space criteria. 212 * or do not have an LEB which satisfies the @min_space criteria.
213 * 213 *
214 * Note: 214 * Note, LEBs which have less than dead watermark of free + dirty space are
215 * o LEBs which have less than dead watermark of dirty space are never picked 215 * never picked by this function.
216 * by this function;
217 *
218 * Returns zero and the LEB properties of
219 * found dirty LEB in case of success, %-ENOSPC if no dirty LEB was found and a
220 * negative error code in case of other failures. The returned LEB is marked as
221 * "taken".
222 * 216 *
223 * The additional @pick_free argument controls if this function has to return a 217 * The additional @pick_free argument controls if this function has to return a
224 * free or freeable LEB if one is present. For example, GC must to set it to %1, 218 * free or freeable LEB if one is present. For example, GC must to set it to %1,
@@ -231,6 +225,10 @@ static const struct ubifs_lprops *scan_for_dirty(struct ubifs_info *c,
231 * 225 *
232 * In addition @pick_free is set to %2 by the recovery process in order to 226 * In addition @pick_free is set to %2 by the recovery process in order to
233 * recover gc_lnum in which case an index LEB must not be returned. 227 * recover gc_lnum in which case an index LEB must not be returned.
228 *
229 * This function returns zero and the LEB properties of found dirty LEB in case
230 * of success, %-ENOSPC if no dirty LEB was found and a negative error code in
231 * case of other failures. The returned LEB is marked as "taken".
234 */ 232 */
235int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp, 233int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
236 int min_space, int pick_free) 234 int min_space, int pick_free)
@@ -245,7 +243,7 @@ int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
245 int lebs, rsvd_idx_lebs = 0; 243 int lebs, rsvd_idx_lebs = 0;
246 244
247 spin_lock(&c->space_lock); 245 spin_lock(&c->space_lock);
248 lebs = c->lst.empty_lebs; 246 lebs = c->lst.empty_lebs + c->idx_gc_cnt;
249 lebs += c->freeable_cnt - c->lst.taken_empty_lebs; 247 lebs += c->freeable_cnt - c->lst.taken_empty_lebs;
250 248
251 /* 249 /*
@@ -317,7 +315,7 @@ int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
317 lp = idx_lp; 315 lp = idx_lp;
318 316
319 if (lp) { 317 if (lp) {
320 ubifs_assert(lp->dirty >= c->dead_wm); 318 ubifs_assert(lp->free + lp->dirty >= c->dead_wm);
321 goto found; 319 goto found;
322 } 320 }
323 321
diff --git a/fs/ubifs/gc.c b/fs/ubifs/gc.c
index d0f3dac29081..13f1019c859f 100644
--- a/fs/ubifs/gc.c
+++ b/fs/ubifs/gc.c
@@ -344,6 +344,12 @@ int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp)
344 if (err) 344 if (err)
345 goto out; 345 goto out;
346 346
347 /* Allow for races with TNC */
348 c->gced_lnum = lnum;
349 smp_wmb();
350 c->gc_seq += 1;
351 smp_wmb();
352
347 if (c->gc_lnum == -1) { 353 if (c->gc_lnum == -1) {
348 c->gc_lnum = lnum; 354 c->gc_lnum = lnum;
349 err = LEB_RETAINED; 355 err = LEB_RETAINED;
diff --git a/fs/ubifs/misc.h b/fs/ubifs/misc.h
index 87dabf9fe742..4c12a9215d7f 100644
--- a/fs/ubifs/misc.h
+++ b/fs/ubifs/misc.h
@@ -284,38 +284,6 @@ static inline void *ubifs_idx_key(const struct ubifs_info *c,
284} 284}
285 285
286/** 286/**
287 * ubifs_reported_space - calculate reported free space.
288 * @c: the UBIFS file-system description object
289 * @free: amount of free space
290 *
291 * This function calculates amount of free space which will be reported to
292 * user-space. User-space application tend to expect that if the file-system
293 * (e.g., via the 'statfs()' call) reports that it has N bytes available, they
294 * are able to write a file of size N. UBIFS attaches node headers to each data
295 * node and it has to write indexind nodes as well. This introduces additional
296 * overhead, and UBIFS it has to report sligtly less free space to meet the
297 * above expectetion.
298 *
299 * This function assumes free space is made up of uncompressed data nodes and
300 * full index nodes (one per data node, doubled because we always allow enough
301 * space to write the index twice).
302 *
303 * Note, the calculation is pessimistic, which means that most of the time
304 * UBIFS reports less space than it actually has.
305 */
306static inline long long ubifs_reported_space(const struct ubifs_info *c,
307 uint64_t free)
308{
309 int divisor, factor;
310
311 divisor = UBIFS_MAX_DATA_NODE_SZ + (c->max_idx_node_sz * 3);
312 factor = UBIFS_MAX_DATA_NODE_SZ - UBIFS_DATA_NODE_SZ;
313 do_div(free, divisor);
314
315 return free * factor;
316}
317
318/**
319 * ubifs_current_time - round current time to time granularity. 287 * ubifs_current_time - round current time to time granularity.
320 * @inode: inode 288 * @inode: inode
321 */ 289 */
@@ -325,4 +293,21 @@ static inline struct timespec ubifs_current_time(struct inode *inode)
325 current_fs_time(inode->i_sb) : CURRENT_TIME_SEC; 293 current_fs_time(inode->i_sb) : CURRENT_TIME_SEC;
326} 294}
327 295
296/**
297 * ubifs_tnc_lookup - look up a file-system node.
298 * @c: UBIFS file-system description object
299 * @key: node key to lookup
300 * @node: the node is returned here
301 *
302 * This function look up and reads node with key @key. The caller has to make
303 * sure the @node buffer is large enough to fit the node. Returns zero in case
304 * of success, %-ENOENT if the node was not found, and a negative error code in
305 * case of failure.
306 */
307static inline int ubifs_tnc_lookup(struct ubifs_info *c,
308 const union ubifs_key *key, void *node)
309{
310 return ubifs_tnc_locate(c, key, node, NULL, NULL);
311}
312
328#endif /* __UBIFS_MISC_H__ */ 313#endif /* __UBIFS_MISC_H__ */
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index f71e6b8822c4..7562464ac83f 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -370,8 +370,9 @@ static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
370{ 370{
371 struct ubifs_info *c = dentry->d_sb->s_fs_info; 371 struct ubifs_info *c = dentry->d_sb->s_fs_info;
372 unsigned long long free; 372 unsigned long long free;
373 __le32 *uuid = (__le32 *)c->uuid;
373 374
374 free = ubifs_budg_get_free_space(c); 375 free = ubifs_get_free_space(c);
375 dbg_gen("free space %lld bytes (%lld blocks)", 376 dbg_gen("free space %lld bytes (%lld blocks)",
376 free, free >> UBIFS_BLOCK_SHIFT); 377 free, free >> UBIFS_BLOCK_SHIFT);
377 378
@@ -386,7 +387,8 @@ static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
386 buf->f_files = 0; 387 buf->f_files = 0;
387 buf->f_ffree = 0; 388 buf->f_ffree = 0;
388 buf->f_namelen = UBIFS_MAX_NLEN; 389 buf->f_namelen = UBIFS_MAX_NLEN;
389 390 buf->f_fsid.val[0] = le32_to_cpu(uuid[0]) ^ le32_to_cpu(uuid[2]);
391 buf->f_fsid.val[1] = le32_to_cpu(uuid[1]) ^ le32_to_cpu(uuid[3]);
390 return 0; 392 return 0;
391} 393}
392 394
@@ -530,6 +532,12 @@ static int init_constants_early(struct ubifs_info *c)
530 c->dead_wm = ALIGN(MIN_WRITE_SZ, c->min_io_size); 532 c->dead_wm = ALIGN(MIN_WRITE_SZ, c->min_io_size);
531 c->dark_wm = ALIGN(UBIFS_MAX_NODE_SZ, c->min_io_size); 533 c->dark_wm = ALIGN(UBIFS_MAX_NODE_SZ, c->min_io_size);
532 534
535 /*
536 * Calculate how many bytes would be wasted at the end of LEB if it was
537 * fully filled with data nodes of maximum size. This is used in
538 * calculations when reporting free space.
539 */
540 c->leb_overhead = c->leb_size % UBIFS_MAX_DATA_NODE_SZ;
533 return 0; 541 return 0;
534} 542}
535 543
@@ -647,13 +655,11 @@ static int init_constants_late(struct ubifs_info *c)
647 * internally because it does not make much sense for UBIFS, but it is 655 * internally because it does not make much sense for UBIFS, but it is
648 * necessary to report something for the 'statfs()' call. 656 * necessary to report something for the 'statfs()' call.
649 * 657 *
650 * Subtract the LEB reserved for GC and the LEB which is reserved for 658 * Subtract the LEB reserved for GC, the LEB which is reserved for
651 * deletions. 659 * deletions, and assume only one journal head is available.
652 *
653 * Review 'ubifs_calc_available()' if changing this calculation.
654 */ 660 */
655 tmp64 = c->main_lebs - 2; 661 tmp64 = c->main_lebs - 2 - c->jhead_cnt + 1;
656 tmp64 *= (uint64_t)c->leb_size - c->dark_wm; 662 tmp64 *= (uint64_t)c->leb_size - c->leb_overhead;
657 tmp64 = ubifs_reported_space(c, tmp64); 663 tmp64 = ubifs_reported_space(c, tmp64);
658 c->block_cnt = tmp64 >> UBIFS_BLOCK_SHIFT; 664 c->block_cnt = tmp64 >> UBIFS_BLOCK_SHIFT;
659 665
diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c
index e909f4a96443..7da209ab9378 100644
--- a/fs/ubifs/tnc.c
+++ b/fs/ubifs/tnc.c
@@ -506,7 +506,7 @@ static int fallible_read_node(struct ubifs_info *c, const union ubifs_key *key,
506 if (keys_cmp(c, key, &node_key) != 0) 506 if (keys_cmp(c, key, &node_key) != 0)
507 ret = 0; 507 ret = 0;
508 } 508 }
509 if (ret == 0) 509 if (ret == 0 && c->replaying)
510 dbg_mnt("dangling branch LEB %d:%d len %d, key %s", 510 dbg_mnt("dangling branch LEB %d:%d len %d, key %s",
511 zbr->lnum, zbr->offs, zbr->len, DBGKEY(key)); 511 zbr->lnum, zbr->offs, zbr->len, DBGKEY(key));
512 return ret; 512 return ret;
@@ -1382,50 +1382,39 @@ static int lookup_level0_dirty(struct ubifs_info *c, const union ubifs_key *key,
1382} 1382}
1383 1383
1384/** 1384/**
1385 * ubifs_tnc_lookup - look up a file-system node. 1385 * maybe_leb_gced - determine if a LEB may have been garbage collected.
1386 * @c: UBIFS file-system description object 1386 * @c: UBIFS file-system description object
1387 * @key: node key to lookup 1387 * @lnum: LEB number
1388 * @node: the node is returned here 1388 * @gc_seq1: garbage collection sequence number
1389 * 1389 *
1390 * This function look up and reads node with key @key. The caller has to make 1390 * This function determines if @lnum may have been garbage collected since
1391 * sure the @node buffer is large enough to fit the node. Returns zero in case 1391 * sequence number @gc_seq1. If it may have been then %1 is returned, otherwise
1392 * of success, %-ENOENT if the node was not found, and a negative error code in 1392 * %0 is returned.
1393 * case of failure.
1394 */ 1393 */
1395int ubifs_tnc_lookup(struct ubifs_info *c, const union ubifs_key *key, 1394static int maybe_leb_gced(struct ubifs_info *c, int lnum, int gc_seq1)
1396 void *node)
1397{ 1395{
1398 int found, n, err; 1396 int gc_seq2, gced_lnum;
1399 struct ubifs_znode *znode;
1400 struct ubifs_zbranch zbr, *zt;
1401 1397
1402 mutex_lock(&c->tnc_mutex); 1398 gced_lnum = c->gced_lnum;
1403 found = ubifs_lookup_level0(c, key, &znode, &n); 1399 smp_rmb();
1404 if (!found) { 1400 gc_seq2 = c->gc_seq;
1405 err = -ENOENT; 1401 /* Same seq means no GC */
1406 goto out; 1402 if (gc_seq1 == gc_seq2)
1407 } else if (found < 0) { 1403 return 0;
1408 err = found; 1404 /* Different by more than 1 means we don't know */
1409 goto out; 1405 if (gc_seq1 + 1 != gc_seq2)
1410 } 1406 return 1;
1411 zt = &znode->zbranch[n]; 1407 /*
1412 if (is_hash_key(c, key)) { 1408 * We have seen the sequence number has increased by 1. Now we need to
1413 /* 1409 * be sure we read the right LEB number, so read it again.
1414 * In this case the leaf node cache gets used, so we pass the 1410 */
1415 * address of the zbranch and keep the mutex locked 1411 smp_rmb();
1416 */ 1412 if (gced_lnum != c->gced_lnum)
1417 err = tnc_read_node_nm(c, zt, node); 1413 return 1;
1418 goto out; 1414 /* Finally we can check lnum */
1419 } 1415 if (gced_lnum == lnum)
1420 zbr = znode->zbranch[n]; 1416 return 1;
1421 mutex_unlock(&c->tnc_mutex); 1417 return 0;
1422
1423 err = ubifs_tnc_read_node(c, &zbr, node);
1424 return err;
1425
1426out:
1427 mutex_unlock(&c->tnc_mutex);
1428 return err;
1429} 1418}
1430 1419
1431/** 1420/**
@@ -1436,16 +1425,19 @@ out:
1436 * @lnum: LEB number is returned here 1425 * @lnum: LEB number is returned here
1437 * @offs: offset is returned here 1426 * @offs: offset is returned here
1438 * 1427 *
1439 * This function is the same as 'ubifs_tnc_lookup()' but it returns the node 1428 * This function look up and reads node with key @key. The caller has to make
1440 * location also. See 'ubifs_tnc_lookup()'. 1429 * sure the @node buffer is large enough to fit the node. Returns zero in case
1430 * of success, %-ENOENT if the node was not found, and a negative error code in
1431 * case of failure. The node location can be returned in @lnum and @offs.
1441 */ 1432 */
1442int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key, 1433int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
1443 void *node, int *lnum, int *offs) 1434 void *node, int *lnum, int *offs)
1444{ 1435{
1445 int found, n, err; 1436 int found, n, err, safely = 0, gc_seq1;
1446 struct ubifs_znode *znode; 1437 struct ubifs_znode *znode;
1447 struct ubifs_zbranch zbr, *zt; 1438 struct ubifs_zbranch zbr, *zt;
1448 1439
1440again:
1449 mutex_lock(&c->tnc_mutex); 1441 mutex_lock(&c->tnc_mutex);
1450 found = ubifs_lookup_level0(c, key, &znode, &n); 1442 found = ubifs_lookup_level0(c, key, &znode, &n);
1451 if (!found) { 1443 if (!found) {
@@ -1456,24 +1448,43 @@ int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
1456 goto out; 1448 goto out;
1457 } 1449 }
1458 zt = &znode->zbranch[n]; 1450 zt = &znode->zbranch[n];
1451 if (lnum) {
1452 *lnum = zt->lnum;
1453 *offs = zt->offs;
1454 }
1459 if (is_hash_key(c, key)) { 1455 if (is_hash_key(c, key)) {
1460 /* 1456 /*
1461 * In this case the leaf node cache gets used, so we pass the 1457 * In this case the leaf node cache gets used, so we pass the
1462 * address of the zbranch and keep the mutex locked 1458 * address of the zbranch and keep the mutex locked
1463 */ 1459 */
1464 *lnum = zt->lnum;
1465 *offs = zt->offs;
1466 err = tnc_read_node_nm(c, zt, node); 1460 err = tnc_read_node_nm(c, zt, node);
1467 goto out; 1461 goto out;
1468 } 1462 }
1463 if (safely) {
1464 err = ubifs_tnc_read_node(c, zt, node);
1465 goto out;
1466 }
1467 /* Drop the TNC mutex prematurely and race with garbage collection */
1469 zbr = znode->zbranch[n]; 1468 zbr = znode->zbranch[n];
1469 gc_seq1 = c->gc_seq;
1470 mutex_unlock(&c->tnc_mutex); 1470 mutex_unlock(&c->tnc_mutex);
1471 1471
1472 *lnum = zbr.lnum; 1472 if (ubifs_get_wbuf(c, zbr.lnum)) {
1473 *offs = zbr.offs; 1473 /* We do not GC journal heads */
1474 err = ubifs_tnc_read_node(c, &zbr, node);
1475 return err;
1476 }
1474 1477
1475 err = ubifs_tnc_read_node(c, &zbr, node); 1478 err = fallible_read_node(c, key, &zbr, node);
1476 return err; 1479 if (maybe_leb_gced(c, zbr.lnum, gc_seq1)) {
1480 /*
1481 * The node may have been GC'ed out from under us so try again
1482 * while keeping the TNC mutex locked.
1483 */
1484 safely = 1;
1485 goto again;
1486 }
1487 return 0;
1477 1488
1478out: 1489out:
1479 mutex_unlock(&c->tnc_mutex); 1490 mutex_unlock(&c->tnc_mutex);
@@ -1498,7 +1509,6 @@ static int do_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
1498{ 1509{
1499 int found, n, err; 1510 int found, n, err;
1500 struct ubifs_znode *znode; 1511 struct ubifs_znode *znode;
1501 struct ubifs_zbranch zbr;
1502 1512
1503 dbg_tnc("name '%.*s' key %s", nm->len, nm->name, DBGKEY(key)); 1513 dbg_tnc("name '%.*s' key %s", nm->len, nm->name, DBGKEY(key));
1504 mutex_lock(&c->tnc_mutex); 1514 mutex_lock(&c->tnc_mutex);
@@ -1522,11 +1532,7 @@ static int do_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
1522 goto out_unlock; 1532 goto out_unlock;
1523 } 1533 }
1524 1534
1525 zbr = znode->zbranch[n]; 1535 err = tnc_read_node_nm(c, &znode->zbranch[n], node);
1526 mutex_unlock(&c->tnc_mutex);
1527
1528 err = tnc_read_node_nm(c, &zbr, node);
1529 return err;
1530 1536
1531out_unlock: 1537out_unlock:
1532 mutex_unlock(&c->tnc_mutex); 1538 mutex_unlock(&c->tnc_mutex);
diff --git a/fs/ubifs/ubifs-media.h b/fs/ubifs/ubifs-media.h
index bd2121f3426e..a9ecbd9af20d 100644
--- a/fs/ubifs/ubifs-media.h
+++ b/fs/ubifs/ubifs-media.h
@@ -87,7 +87,7 @@
87#define UBIFS_SK_LEN 8 87#define UBIFS_SK_LEN 8
88 88
89/* Minimum index tree fanout */ 89/* Minimum index tree fanout */
90#define UBIFS_MIN_FANOUT 2 90#define UBIFS_MIN_FANOUT 3
91 91
92/* Maximum number of levels in UBIFS indexing B-tree */ 92/* Maximum number of levels in UBIFS indexing B-tree */
93#define UBIFS_MAX_LEVELS 512 93#define UBIFS_MAX_LEVELS 512
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index d7f706f7a302..17c620b93eec 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -995,6 +995,9 @@ struct ubifs_mount_opts {
995 * @max_idx_node_sz: maximum indexing node aligned on 8-bytes boundary 995 * @max_idx_node_sz: maximum indexing node aligned on 8-bytes boundary
996 * @max_inode_sz: maximum possible inode size in bytes 996 * @max_inode_sz: maximum possible inode size in bytes
997 * @max_znode_sz: size of znode in bytes 997 * @max_znode_sz: size of znode in bytes
998 *
999 * @leb_overhead: how many bytes are wasted in an LEB when it is filled with
1000 * data nodes of maximum size - used in free space reporting
998 * @dead_wm: LEB dead space watermark 1001 * @dead_wm: LEB dead space watermark
999 * @dark_wm: LEB dark space watermark 1002 * @dark_wm: LEB dark space watermark
1000 * @block_cnt: count of 4KiB blocks on the FS 1003 * @block_cnt: count of 4KiB blocks on the FS
@@ -1028,6 +1031,8 @@ struct ubifs_mount_opts {
1028 * @sbuf: a buffer of LEB size used by GC and replay for scanning 1031 * @sbuf: a buffer of LEB size used by GC and replay for scanning
1029 * @idx_gc: list of index LEBs that have been garbage collected 1032 * @idx_gc: list of index LEBs that have been garbage collected
1030 * @idx_gc_cnt: number of elements on the idx_gc list 1033 * @idx_gc_cnt: number of elements on the idx_gc list
1034 * @gc_seq: incremented for every non-index LEB garbage collected
1035 * @gced_lnum: last non-index LEB that was garbage collected
1031 * 1036 *
1032 * @infos_list: links all 'ubifs_info' objects 1037 * @infos_list: links all 'ubifs_info' objects
1033 * @umount_mutex: serializes shrinker and un-mount 1038 * @umount_mutex: serializes shrinker and un-mount
@@ -1224,6 +1229,8 @@ struct ubifs_info {
1224 int max_idx_node_sz; 1229 int max_idx_node_sz;
1225 long long max_inode_sz; 1230 long long max_inode_sz;
1226 int max_znode_sz; 1231 int max_znode_sz;
1232
1233 int leb_overhead;
1227 int dead_wm; 1234 int dead_wm;
1228 int dark_wm; 1235 int dark_wm;
1229 int block_cnt; 1236 int block_cnt;
@@ -1257,6 +1264,8 @@ struct ubifs_info {
1257 void *sbuf; 1264 void *sbuf;
1258 struct list_head idx_gc; 1265 struct list_head idx_gc;
1259 int idx_gc_cnt; 1266 int idx_gc_cnt;
1267 volatile int gc_seq;
1268 volatile int gced_lnum;
1260 1269
1261 struct list_head infos_list; 1270 struct list_head infos_list;
1262 struct mutex umount_mutex; 1271 struct mutex umount_mutex;
@@ -1434,9 +1443,10 @@ void ubifs_release_ino_dirty(struct ubifs_info *c, struct inode *inode,
1434 struct ubifs_budget_req *req); 1443 struct ubifs_budget_req *req);
1435void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode, 1444void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode,
1436 struct ubifs_budget_req *req); 1445 struct ubifs_budget_req *req);
1437long long ubifs_budg_get_free_space(struct ubifs_info *c); 1446long long ubifs_get_free_space(struct ubifs_info *c);
1438int ubifs_calc_min_idx_lebs(struct ubifs_info *c); 1447int ubifs_calc_min_idx_lebs(struct ubifs_info *c);
1439void ubifs_convert_page_budget(struct ubifs_info *c); 1448void ubifs_convert_page_budget(struct ubifs_info *c);
1449long long ubifs_reported_space(const struct ubifs_info *c, uint64_t free);
1440long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs); 1450long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs);
1441 1451
1442/* find.c */ 1452/* find.c */
@@ -1451,8 +1461,6 @@ int ubifs_save_dirty_idx_lnums(struct ubifs_info *c);
1451/* tnc.c */ 1461/* tnc.c */
1452int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key, 1462int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
1453 struct ubifs_znode **zn, int *n); 1463 struct ubifs_znode **zn, int *n);
1454int ubifs_tnc_lookup(struct ubifs_info *c, const union ubifs_key *key,
1455 void *node);
1456int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key, 1464int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
1457 void *node, const struct qstr *nm); 1465 void *node, const struct qstr *nm);
1458int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key, 1466int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c
index 5f60363b9343..5311c1acdd40 100644
--- a/fs/xfs/linux-2.6/xfs_file.c
+++ b/fs/xfs/linux-2.6/xfs_file.c
@@ -475,6 +475,7 @@ const struct file_operations xfs_invis_file_operations = {
475const struct file_operations xfs_dir_file_operations = { 475const struct file_operations xfs_dir_file_operations = {
476 .read = generic_read_dir, 476 .read = generic_read_dir,
477 .readdir = xfs_file_readdir, 477 .readdir = xfs_file_readdir,
478 .llseek = generic_file_llseek,
478 .unlocked_ioctl = xfs_file_ioctl, 479 .unlocked_ioctl = xfs_file_ioctl,
479#ifdef CONFIG_COMPAT 480#ifdef CONFIG_COMPAT
480 .compat_ioctl = xfs_file_compat_ioctl, 481 .compat_ioctl = xfs_file_compat_ioctl,
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
index 91bcd979242c..095d271f3434 100644
--- a/fs/xfs/linux-2.6/xfs_iops.c
+++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -355,7 +355,7 @@ xfs_vn_ci_lookup(
355 /* else case-insensitive match... */ 355 /* else case-insensitive match... */
356 dname.name = ci_name.name; 356 dname.name = ci_name.name;
357 dname.len = ci_name.len; 357 dname.len = ci_name.len;
358 dentry = d_add_ci(VFS_I(ip), dentry, &dname); 358 dentry = d_add_ci(dentry, VFS_I(ip), &dname);
359 kmem_free(ci_name.name); 359 kmem_free(ci_name.name);
360 return dentry; 360 return dentry;
361} 361}
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm
index 1170dc60e638..1870d5e05f1c 100644
--- a/include/asm-generic/Kbuild.asm
+++ b/include/asm-generic/Kbuild.asm
@@ -1,8 +1,10 @@
1ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/kvm.h),) 1ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
2 $(srctree)/include/asm-$(SRCARCH)/kvm.h),)
2header-y += kvm.h 3header-y += kvm.h
3endif 4endif
4 5
5ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/a.out.h),) 6ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
7 $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
6unifdef-y += a.out.h 8unifdef-y += a.out.h
7endif 9endif
8unifdef-y += auxvec.h 10unifdef-y += auxvec.h
diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h
index 8feeae1f2369..79a7ff925bf8 100644
--- a/include/asm-generic/sections.h
+++ b/include/asm-generic/sections.h
@@ -14,4 +14,10 @@ extern char __kprobes_text_start[], __kprobes_text_end[];
14extern char __initdata_begin[], __initdata_end[]; 14extern char __initdata_begin[], __initdata_end[];
15extern char __start_rodata[], __end_rodata[]; 15extern char __start_rodata[], __end_rodata[];
16 16
17/* function descriptor handling (if any). Override
18 * in asm/sections.h */
19#ifndef dereference_function_descriptor
20#define dereference_function_descriptor(p) (p)
21#endif
22
17#endif /* _ASM_GENERIC_SECTIONS_H_ */ 23#endif /* _ASM_GENERIC_SECTIONS_H_ */
diff --git a/include/asm-generic/syscall.h b/include/asm-generic/syscall.h
index abcf34c2fdc7..ea8087b55ffc 100644
--- a/include/asm-generic/syscall.h
+++ b/include/asm-generic/syscall.h
@@ -126,7 +126,7 @@ void syscall_get_arguments(struct task_struct *task, struct pt_regs *regs,
126 * @args: array of argument values to store 126 * @args: array of argument values to store
127 * 127 *
128 * Changes @n arguments to the system call starting with the @i'th argument. 128 * Changes @n arguments to the system call starting with the @i'th argument.
129 * @n'th argument to @val. Argument @i gets value @args[0], and so on. 129 * Argument @i gets value @args[0], and so on.
130 * An arch inline version is probably optimal when @i and @n are constants. 130 * An arch inline version is probably optimal when @i and @n are constants.
131 * 131 *
132 * It's only valid to call this when @task is stopped for tracing on 132 * It's only valid to call this when @task is stopped for tracing on
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h
index d5c0f2fda51b..03b1d69b142f 100644
--- a/include/asm-mips/cacheflush.h
+++ b/include/asm-mips/cacheflush.h
@@ -63,6 +63,7 @@ static inline void flush_icache_page(struct vm_area_struct *vma,
63} 63}
64 64
65extern void (*flush_icache_range)(unsigned long start, unsigned long end); 65extern void (*flush_icache_range)(unsigned long start, unsigned long end);
66extern void (*local_flush_icache_range)(unsigned long start, unsigned long end);
66 67
67extern void (*__flush_cache_vmap)(void); 68extern void (*__flush_cache_vmap)(void);
68 69
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h
index 4964c82f85f9..a73e1531e151 100644
--- a/include/asm-mips/unistd.h
+++ b/include/asm-mips/unistd.h
@@ -344,16 +344,22 @@
344#define __NR_timerfd_create (__NR_Linux + 321) 344#define __NR_timerfd_create (__NR_Linux + 321)
345#define __NR_timerfd_gettime (__NR_Linux + 322) 345#define __NR_timerfd_gettime (__NR_Linux + 322)
346#define __NR_timerfd_settime (__NR_Linux + 323) 346#define __NR_timerfd_settime (__NR_Linux + 323)
347#define __NR_signalfd4 (__NR_Linux + 324)
348#define __NR_eventfd2 (__NR_Linux + 325)
349#define __NR_epoll_create1 (__NR_Linux + 326)
350#define __NR_dup3 (__NR_Linux + 327)
351#define __NR_pipe2 (__NR_Linux + 328)
352#define __NR_inotify_init1 (__NR_Linux + 329)
347 353
348/* 354/*
349 * Offset of the last Linux o32 flavoured syscall 355 * Offset of the last Linux o32 flavoured syscall
350 */ 356 */
351#define __NR_Linux_syscalls 323 357#define __NR_Linux_syscalls 329
352 358
353#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ 359#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
354 360
355#define __NR_O32_Linux 4000 361#define __NR_O32_Linux 4000
356#define __NR_O32_Linux_syscalls 323 362#define __NR_O32_Linux_syscalls 329
357 363
358#if _MIPS_SIM == _MIPS_SIM_ABI64 364#if _MIPS_SIM == _MIPS_SIM_ABI64
359 365
@@ -644,16 +650,22 @@
644#define __NR_timerfd_create (__NR_Linux + 280) 650#define __NR_timerfd_create (__NR_Linux + 280)
645#define __NR_timerfd_gettime (__NR_Linux + 281) 651#define __NR_timerfd_gettime (__NR_Linux + 281)
646#define __NR_timerfd_settime (__NR_Linux + 282) 652#define __NR_timerfd_settime (__NR_Linux + 282)
653#define __NR_signalfd4 (__NR_Linux + 283)
654#define __NR_eventfd2 (__NR_Linux + 284)
655#define __NR_epoll_create1 (__NR_Linux + 285)
656#define __NR_dup3 (__NR_Linux + 286)
657#define __NR_pipe2 (__NR_Linux + 287)
658#define __NR_inotify_init1 (__NR_Linux + 288)
647 659
648/* 660/*
649 * Offset of the last Linux 64-bit flavoured syscall 661 * Offset of the last Linux 64-bit flavoured syscall
650 */ 662 */
651#define __NR_Linux_syscalls 282 663#define __NR_Linux_syscalls 288
652 664
653#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ 665#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
654 666
655#define __NR_64_Linux 5000 667#define __NR_64_Linux 5000
656#define __NR_64_Linux_syscalls 282 668#define __NR_64_Linux_syscalls 288
657 669
658#if _MIPS_SIM == _MIPS_SIM_NABI32 670#if _MIPS_SIM == _MIPS_SIM_NABI32
659 671
@@ -948,16 +960,22 @@
948#define __NR_timerfd_create (__NR_Linux + 284) 960#define __NR_timerfd_create (__NR_Linux + 284)
949#define __NR_timerfd_gettime (__NR_Linux + 285) 961#define __NR_timerfd_gettime (__NR_Linux + 285)
950#define __NR_timerfd_settime (__NR_Linux + 286) 962#define __NR_timerfd_settime (__NR_Linux + 286)
963#define __NR_signalfd4 (__NR_Linux + 287)
964#define __NR_eventfd2 (__NR_Linux + 288)
965#define __NR_epoll_create1 (__NR_Linux + 289)
966#define __NR_dup3 (__NR_Linux + 290)
967#define __NR_pipe2 (__NR_Linux + 291)
968#define __NR_inotify_init1 (__NR_Linux + 292)
951 969
952/* 970/*
953 * Offset of the last N32 flavoured syscall 971 * Offset of the last N32 flavoured syscall
954 */ 972 */
955#define __NR_Linux_syscalls 286 973#define __NR_Linux_syscalls 292
956 974
957#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ 975#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
958 976
959#define __NR_N32_Linux 6000 977#define __NR_N32_Linux 6000
960#define __NR_N32_Linux_syscalls 286 978#define __NR_N32_Linux_syscalls 292
961 979
962#ifdef __KERNEL__ 980#ifdef __KERNEL__
963 981
diff --git a/include/asm-parisc/sections.h b/include/asm-parisc/sections.h
index fdd43ec42ec5..9d13c3507ad6 100644
--- a/include/asm-parisc/sections.h
+++ b/include/asm-parisc/sections.h
@@ -4,4 +4,9 @@
4/* nothing to see, move along */ 4/* nothing to see, move along */
5#include <asm-generic/sections.h> 5#include <asm-generic/sections.h>
6 6
7#ifdef CONFIG_64BIT
8#undef dereference_function_descriptor
9void *dereference_function_descriptor(void *);
10#endif
11
7#endif 12#endif
diff --git a/include/asm-x86/cpufeature.h b/include/asm-x86/cpufeature.h
index 762f6a6bc707..9489283a4bcf 100644
--- a/include/asm-x86/cpufeature.h
+++ b/include/asm-x86/cpufeature.h
@@ -72,14 +72,15 @@
72#define X86_FEATURE_UP (3*32+ 9) /* smp kernel running on up */ 72#define X86_FEATURE_UP (3*32+ 9) /* smp kernel running on up */
73#define X86_FEATURE_FXSAVE_LEAK (3*32+10) /* FXSAVE leaks FOP/FIP/FOP */ 73#define X86_FEATURE_FXSAVE_LEAK (3*32+10) /* FXSAVE leaks FOP/FIP/FOP */
74#define X86_FEATURE_ARCH_PERFMON (3*32+11) /* Intel Architectural PerfMon */ 74#define X86_FEATURE_ARCH_PERFMON (3*32+11) /* Intel Architectural PerfMon */
75#define X86_FEATURE_PEBS (3*32+12) /* Precise-Event Based Sampling */ 75#define X86_FEATURE_PEBS (3*32+12) /* Precise-Event Based Sampling */
76#define X86_FEATURE_BTS (3*32+13) /* Branch Trace Store */ 76#define X86_FEATURE_BTS (3*32+13) /* Branch Trace Store */
77#define X86_FEATURE_SYSCALL32 (3*32+14) /* syscall in ia32 userspace */ 77#define X86_FEATURE_SYSCALL32 (3*32+14) /* syscall in ia32 userspace */
78#define X86_FEATURE_SYSENTER32 (3*32+15) /* sysenter in ia32 userspace */ 78#define X86_FEATURE_SYSENTER32 (3*32+15) /* sysenter in ia32 userspace */
79#define X86_FEATURE_REP_GOOD (3*32+16) /* rep microcode works well on this CPU */ 79#define X86_FEATURE_REP_GOOD (3*32+16) /* rep microcode works well on this CPU */
80#define X86_FEATURE_MFENCE_RDTSC (3*32+17) /* Mfence synchronizes RDTSC */ 80#define X86_FEATURE_MFENCE_RDTSC (3*32+17) /* Mfence synchronizes RDTSC */
81#define X86_FEATURE_LFENCE_RDTSC (3*32+18) /* Lfence synchronizes RDTSC */ 81#define X86_FEATURE_LFENCE_RDTSC (3*32+18) /* Lfence synchronizes RDTSC */
82#define X86_FEATURE_11AP (3*32+19) /* Bad local APIC aka 11AP */ 82#define X86_FEATURE_11AP (3*32+19) /* Bad local APIC aka 11AP */
83#define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */
83 84
84/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ 85/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */
85#define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ 86#define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */
diff --git a/include/asm-x86/msr.h b/include/asm-x86/msr.h
index ca110ee73f07..2362cfda1fbc 100644
--- a/include/asm-x86/msr.h
+++ b/include/asm-x86/msr.h
@@ -52,14 +52,14 @@ static inline unsigned long long native_read_msr_safe(unsigned int msr,
52{ 52{
53 DECLARE_ARGS(val, low, high); 53 DECLARE_ARGS(val, low, high);
54 54
55 asm volatile("2: rdmsr ; xor %0,%0\n" 55 asm volatile("2: rdmsr ; xor %[err],%[err]\n"
56 "1:\n\t" 56 "1:\n\t"
57 ".section .fixup,\"ax\"\n\t" 57 ".section .fixup,\"ax\"\n\t"
58 "3: mov %3,%0 ; jmp 1b\n\t" 58 "3: mov %[fault],%[err] ; jmp 1b\n\t"
59 ".previous\n\t" 59 ".previous\n\t"
60 _ASM_EXTABLE(2b, 3b) 60 _ASM_EXTABLE(2b, 3b)
61 : "=r" (*err), EAX_EDX_RET(val, low, high) 61 : [err] "=r" (*err), EAX_EDX_RET(val, low, high)
62 : "c" (msr), "i" (-EFAULT)); 62 : "c" (msr), [fault] "i" (-EFAULT));
63 return EAX_EDX_VAL(val, low, high); 63 return EAX_EDX_VAL(val, low, high);
64} 64}
65 65
@@ -73,15 +73,15 @@ static inline int native_write_msr_safe(unsigned int msr,
73 unsigned low, unsigned high) 73 unsigned low, unsigned high)
74{ 74{
75 int err; 75 int err;
76 asm volatile("2: wrmsr ; xor %0,%0\n" 76 asm volatile("2: wrmsr ; xor %[err],%[err]\n"
77 "1:\n\t" 77 "1:\n\t"
78 ".section .fixup,\"ax\"\n\t" 78 ".section .fixup,\"ax\"\n\t"
79 "3: mov %4,%0 ; jmp 1b\n\t" 79 "3: mov %[fault],%[err] ; jmp 1b\n\t"
80 ".previous\n\t" 80 ".previous\n\t"
81 _ASM_EXTABLE(2b, 3b) 81 _ASM_EXTABLE(2b, 3b)
82 : "=a" (err) 82 : [err] "=a" (err)
83 : "c" (msr), "0" (low), "d" (high), 83 : "c" (msr), "0" (low), "d" (high),
84 "i" (-EFAULT) 84 [fault] "i" (-EFAULT)
85 : "memory"); 85 : "memory");
86 return err; 86 return err;
87} 87}
@@ -192,19 +192,20 @@ do { \
192#define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0) 192#define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0)
193 193
194#ifdef CONFIG_SMP 194#ifdef CONFIG_SMP
195void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); 195int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
196void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); 196int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
197int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); 197int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
198
199int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); 198int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
200#else /* CONFIG_SMP */ 199#else /* CONFIG_SMP */
201static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) 200static inline int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
202{ 201{
203 rdmsr(msr_no, *l, *h); 202 rdmsr(msr_no, *l, *h);
203 return 0;
204} 204}
205static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) 205static inline int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
206{ 206{
207 wrmsr(msr_no, l, h); 207 wrmsr(msr_no, l, h);
208 return 0;
208} 209}
209static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, 210static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no,
210 u32 *l, u32 *h) 211 u32 *l, u32 *h)
diff --git a/include/asm-x86/required-features.h b/include/asm-x86/required-features.h
index adec887dd7cd..5c2ff4bc2980 100644
--- a/include/asm-x86/required-features.h
+++ b/include/asm-x86/required-features.h
@@ -41,6 +41,12 @@
41# define NEED_3DNOW 0 41# define NEED_3DNOW 0
42#endif 42#endif
43 43
44#if defined(CONFIG_X86_P6_NOP) || defined(CONFIG_X86_64)
45# define NEED_NOPL (1<<(X86_FEATURE_NOPL & 31))
46#else
47# define NEED_NOPL 0
48#endif
49
44#ifdef CONFIG_X86_64 50#ifdef CONFIG_X86_64
45#define NEED_PSE 0 51#define NEED_PSE 0
46#define NEED_MSR (1<<(X86_FEATURE_MSR & 31)) 52#define NEED_MSR (1<<(X86_FEATURE_MSR & 31))
@@ -67,7 +73,7 @@
67#define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW) 73#define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW)
68 74
69#define REQUIRED_MASK2 0 75#define REQUIRED_MASK2 0
70#define REQUIRED_MASK3 0 76#define REQUIRED_MASK3 (NEED_NOPL)
71#define REQUIRED_MASK4 0 77#define REQUIRED_MASK4 0
72#define REQUIRED_MASK5 0 78#define REQUIRED_MASK5 0
73#define REQUIRED_MASK6 0 79#define REQUIRED_MASK6 0
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 7d970678f940..b68ec09399be 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -167,7 +167,8 @@ unifdef-y += acct.h
167unifdef-y += adb.h 167unifdef-y += adb.h
168unifdef-y += adfs_fs.h 168unifdef-y += adfs_fs.h
169unifdef-y += agpgart.h 169unifdef-y += agpgart.h
170ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/a.out.h),) 170ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
171 $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
171unifdef-y += a.out.h 172unifdef-y += a.out.h
172endif 173endif
173unifdef-y += apm_bios.h 174unifdef-y += apm_bios.h
@@ -258,7 +259,8 @@ unifdef-y += kd.h
258unifdef-y += kernelcapi.h 259unifdef-y += kernelcapi.h
259unifdef-y += kernel.h 260unifdef-y += kernel.h
260unifdef-y += keyboard.h 261unifdef-y += keyboard.h
261ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/kvm.h),) 262ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
263 $(srctree)/include/asm-$(SRCARCH)/kvm.h),)
262unifdef-y += kvm.h 264unifdef-y += kvm.h
263endif 265endif
264unifdef-y += llc.h 266unifdef-y += llc.h
@@ -297,7 +299,6 @@ unifdef-y += parport.h
297unifdef-y += patchkey.h 299unifdef-y += patchkey.h
298unifdef-y += pci.h 300unifdef-y += pci.h
299unifdef-y += personality.h 301unifdef-y += personality.h
300unifdef-y += pim.h
301unifdef-y += pktcdvd.h 302unifdef-y += pktcdvd.h
302unifdef-y += pmu.h 303unifdef-y += pmu.h
303unifdef-y += poll.h 304unifdef-y += poll.h
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index e61f22be4d0e..44710d7e7bff 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -280,6 +280,15 @@ struct blk_queue_tag {
280 atomic_t refcnt; /* map can be shared */ 280 atomic_t refcnt; /* map can be shared */
281}; 281};
282 282
283#define BLK_SCSI_MAX_CMDS (256)
284#define BLK_SCSI_CMD_PER_LONG (BLK_SCSI_MAX_CMDS / (sizeof(long) * 8))
285
286struct blk_cmd_filter {
287 unsigned long read_ok[BLK_SCSI_CMD_PER_LONG];
288 unsigned long write_ok[BLK_SCSI_CMD_PER_LONG];
289 struct kobject kobj;
290};
291
283struct request_queue 292struct request_queue
284{ 293{
285 /* 294 /*
@@ -398,6 +407,7 @@ struct request_queue
398#if defined(CONFIG_BLK_DEV_BSG) 407#if defined(CONFIG_BLK_DEV_BSG)
399 struct bsg_class_device bsg_dev; 408 struct bsg_class_device bsg_dev;
400#endif 409#endif
410 struct blk_cmd_filter cmd_filter;
401}; 411};
402 412
403#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */ 413#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */
@@ -807,8 +817,6 @@ extern void blk_put_queue(struct request_queue *);
807/* 817/*
808 * tag stuff 818 * tag stuff
809 */ 819 */
810#define blk_queue_tag_depth(q) ((q)->queue_tags->busy)
811#define blk_queue_tag_queue(q) ((q)->queue_tags->busy < (q)->queue_tags->max_depth)
812#define blk_rq_tagged(rq) ((rq)->cmd_flags & REQ_QUEUED) 820#define blk_rq_tagged(rq) ((rq)->cmd_flags & REQ_QUEUED)
813extern int blk_queue_start_tag(struct request_queue *, struct request *); 821extern int blk_queue_start_tag(struct request_queue *, struct request *);
814extern struct request *blk_queue_find_tag(struct request_queue *, int); 822extern struct request *blk_queue_find_tag(struct request_queue *, int);
@@ -833,11 +841,11 @@ extern int blkdev_issue_flush(struct block_device *, sector_t *);
833/* 841/*
834* command filter functions 842* command filter functions
835*/ 843*/
836extern int blk_verify_command(struct file *file, unsigned char *cmd); 844extern int blk_verify_command(struct blk_cmd_filter *filter,
837extern int blk_cmd_filter_verify_command(struct blk_scsi_cmd_filter *filter, 845 unsigned char *cmd, int has_write_perm);
838 unsigned char *cmd, mode_t *f_mode);
839extern int blk_register_filter(struct gendisk *disk); 846extern int blk_register_filter(struct gendisk *disk);
840extern void blk_unregister_filter(struct gendisk *disk); 847extern void blk_unregister_filter(struct gendisk *disk);
848extern void blk_set_cmd_filter_defaults(struct blk_cmd_filter *filter);
841 849
842#define MAX_PHYS_SEGMENTS 128 850#define MAX_PHYS_SEGMENTS 128
843#define MAX_HW_SEGMENTS 128 851#define MAX_HW_SEGMENTS 128
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h
index c33b0dc28e4d..ed3a5d473e52 100644
--- a/include/linux/clockchips.h
+++ b/include/linux/clockchips.h
@@ -127,6 +127,8 @@ extern int clockevents_register_notifier(struct notifier_block *nb);
127extern int clockevents_program_event(struct clock_event_device *dev, 127extern int clockevents_program_event(struct clock_event_device *dev,
128 ktime_t expires, ktime_t now); 128 ktime_t expires, ktime_t now);
129 129
130extern void clockevents_handle_noop(struct clock_event_device *dev);
131
130#ifdef CONFIG_GENERIC_CLOCKEVENTS 132#ifdef CONFIG_GENERIC_CLOCKEVENTS
131extern void clockevents_notify(unsigned long reason, void *arg); 133extern void clockevents_notify(unsigned long reason, void *arg);
132#else 134#else
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h
index e8f450c499b0..2691926fb506 100644
--- a/include/linux/cpuset.h
+++ b/include/linux/cpuset.h
@@ -160,7 +160,7 @@ static inline int current_cpuset_is_being_rebound(void)
160 160
161static inline void rebuild_sched_domains(void) 161static inline void rebuild_sched_domains(void)
162{ 162{
163 partition_sched_domains(0, NULL, NULL); 163 partition_sched_domains(1, NULL, NULL);
164} 164}
165 165
166#endif /* !CONFIG_CPUSETS */ 166#endif /* !CONFIG_CPUSETS */
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 07aa198f19ed..efba1de629ac 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -230,7 +230,7 @@ extern void d_delete(struct dentry *);
230extern struct dentry * d_alloc(struct dentry *, const struct qstr *); 230extern struct dentry * d_alloc(struct dentry *, const struct qstr *);
231extern struct dentry * d_alloc_anon(struct inode *); 231extern struct dentry * d_alloc_anon(struct inode *);
232extern struct dentry * d_splice_alias(struct inode *, struct dentry *); 232extern struct dentry * d_splice_alias(struct inode *, struct dentry *);
233extern struct dentry * d_add_ci(struct inode *, struct dentry *, struct qstr *); 233extern struct dentry * d_add_ci(struct dentry *, struct inode *, struct qstr *);
234extern void shrink_dcache_sb(struct super_block *); 234extern void shrink_dcache_sb(struct super_block *);
235extern void shrink_dcache_parent(struct dentry *); 235extern void shrink_dcache_parent(struct dentry *);
236extern void shrink_dcache_for_umount(struct super_block *); 236extern void shrink_dcache_for_umount(struct super_block *);
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index 118216f1bd3c..be4f5e5bfe06 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -110,15 +110,6 @@ struct hd_struct {
110#define GENHD_FL_SUPPRESS_PARTITION_INFO 32 110#define GENHD_FL_SUPPRESS_PARTITION_INFO 32
111#define GENHD_FL_FAIL 64 111#define GENHD_FL_FAIL 64
112 112
113#define BLK_SCSI_MAX_CMDS (256)
114#define BLK_SCSI_CMD_PER_LONG (BLK_SCSI_MAX_CMDS / (sizeof(long) * 8))
115
116struct blk_scsi_cmd_filter {
117 unsigned long read_ok[BLK_SCSI_CMD_PER_LONG];
118 unsigned long write_ok[BLK_SCSI_CMD_PER_LONG];
119 struct kobject kobj;
120};
121
122struct gendisk { 113struct gendisk {
123 int major; /* major number of driver */ 114 int major; /* major number of driver */
124 int first_minor; 115 int first_minor;
@@ -128,7 +119,6 @@ struct gendisk {
128 struct hd_struct **part; /* [indexed by minor] */ 119 struct hd_struct **part; /* [indexed by minor] */
129 struct block_device_operations *fops; 120 struct block_device_operations *fops;
130 struct request_queue *queue; 121 struct request_queue *queue;
131 struct blk_scsi_cmd_filter cmd_filter;
132 void *private_data; 122 void *private_data;
133 sector_t capacity; 123 sector_t capacity;
134 124
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 08be0d21864c..06115128047f 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -97,7 +97,19 @@ extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
97 97
98/** 98/**
99 * struct i2c_driver - represent an I2C device driver 99 * struct i2c_driver - represent an I2C device driver
100 * @id: Unique driver ID (optional)
100 * @class: What kind of i2c device we instantiate (for detect) 101 * @class: What kind of i2c device we instantiate (for detect)
102 * @attach_adapter: Callback for bus addition (for legacy drivers)
103 * @detach_adapter: Callback for bus removal (for legacy drivers)
104 * @detach_client: Callback for device removal (for legacy drivers)
105 * @probe: Callback for device binding (new-style drivers)
106 * @remove: Callback for device unbinding (new-style drivers)
107 * @shutdown: Callback for device shutdown
108 * @suspend: Callback for device suspend
109 * @resume: Callback for device resume
110 * @command: Callback for bus-wide signaling (optional)
111 * @driver: Device driver model driver
112 * @id_table: List of I2C devices supported by this driver
101 * @detect: Callback for device detection 113 * @detect: Callback for device detection
102 * @address_data: The I2C addresses to probe, ignore or force (for detect) 114 * @address_data: The I2C addresses to probe, ignore or force (for detect)
103 * @clients: List of detected clients we created (for i2c-core use only) 115 * @clients: List of detected clients we created (for i2c-core use only)
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 87c12ed96954..1524829f73f2 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1111,7 +1111,6 @@ void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *);
1111#ifdef CONFIG_BLK_DEV_IDEDMA_PCI 1111#ifdef CONFIG_BLK_DEV_IDEDMA_PCI
1112int ide_pci_set_master(struct pci_dev *, const char *); 1112int ide_pci_set_master(struct pci_dev *, const char *);
1113unsigned long ide_pci_dma_base(ide_hwif_t *, const struct ide_port_info *); 1113unsigned long ide_pci_dma_base(ide_hwif_t *, const struct ide_port_info *);
1114extern const struct ide_dma_ops sff_dma_ops;
1115int ide_pci_check_simplex(ide_hwif_t *, const struct ide_port_info *); 1114int ide_pci_check_simplex(ide_hwif_t *, const struct ide_port_info *);
1116int ide_hwif_setup_dma(ide_hwif_t *, const struct ide_port_info *); 1115int ide_hwif_setup_dma(ide_hwif_t *, const struct ide_port_info *);
1117#else 1116#else
@@ -1275,6 +1274,7 @@ extern int __ide_dma_end(ide_drive_t *);
1275int ide_dma_test_irq(ide_drive_t *); 1274int ide_dma_test_irq(ide_drive_t *);
1276extern void ide_dma_lost_irq(ide_drive_t *); 1275extern void ide_dma_lost_irq(ide_drive_t *);
1277extern void ide_dma_timeout(ide_drive_t *); 1276extern void ide_dma_timeout(ide_drive_t *);
1277extern const struct ide_dma_ops sff_dma_ops;
1278#endif /* CONFIG_BLK_DEV_IDEDMA_SFF */ 1278#endif /* CONFIG_BLK_DEV_IDEDMA_SFF */
1279 1279
1280#else 1280#else
@@ -1448,8 +1448,7 @@ static inline void ide_dump_identify(u8 *id)
1448 1448
1449static inline int hwif_to_node(ide_hwif_t *hwif) 1449static inline int hwif_to_node(ide_hwif_t *hwif)
1450{ 1450{
1451 struct pci_dev *dev = to_pci_dev(hwif->dev); 1451 return hwif->dev ? dev_to_node(hwif->dev) : -1;
1452 return hwif->dev ? pcibus_to_node(dev->bus) : -1;
1453} 1452}
1454 1453
1455static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive) 1454static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive)
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 22d2115458c6..8d3b7a9afd17 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -109,6 +109,7 @@ extern struct resource iomem_resource;
109extern int request_resource(struct resource *root, struct resource *new); 109extern int request_resource(struct resource *root, struct resource *new);
110extern int release_resource(struct resource *new); 110extern int release_resource(struct resource *new);
111extern int insert_resource(struct resource *parent, struct resource *new); 111extern int insert_resource(struct resource *parent, struct resource *new);
112extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new);
112extern int allocate_resource(struct resource *root, struct resource *new, 113extern int allocate_resource(struct resource *root, struct resource *new,
113 resource_size_t size, resource_size_t min, 114 resource_size_t size, resource_size_t min,
114 resource_size_t max, resource_size_t align, 115 resource_size_t max, resource_size_t align,
diff --git a/include/linux/lcd.h b/include/linux/lcd.h
index 173febac6656..c67fecafff90 100644
--- a/include/linux/lcd.h
+++ b/include/linux/lcd.h
@@ -11,6 +11,7 @@
11#include <linux/device.h> 11#include <linux/device.h>
12#include <linux/mutex.h> 12#include <linux/mutex.h>
13#include <linux/notifier.h> 13#include <linux/notifier.h>
14#include <linux/fb.h>
14 15
15/* Notes on locking: 16/* Notes on locking:
16 * 17 *
@@ -45,6 +46,8 @@ struct lcd_ops {
45 int (*get_contrast)(struct lcd_device *); 46 int (*get_contrast)(struct lcd_device *);
46 /* Set LCD panel contrast */ 47 /* Set LCD panel contrast */
47 int (*set_contrast)(struct lcd_device *, int contrast); 48 int (*set_contrast)(struct lcd_device *, int contrast);
49 /* Set LCD panel mode (resolutions ...) */
50 int (*set_mode)(struct lcd_device *, struct fb_videomode *);
48 /* Check if given framebuffer device is the one LCD is bound to; 51 /* Check if given framebuffer device is the one LCD is bound to;
49 return 0 if not, !=0 if it is. If NULL, lcd always matches the fb. */ 52 return 0 if not, !=0 if it is. If NULL, lcd always matches the fb. */
50 int (*check_fb)(struct lcd_device *, struct fb_info *); 53 int (*check_fb)(struct lcd_device *, struct fb_info *);
diff --git a/include/linux/list.h b/include/linux/list.h
index db35ef02e745..969f6e92d089 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -619,6 +619,19 @@ static inline void hlist_add_after(struct hlist_node *n,
619 next->next->pprev = &next->next; 619 next->next->pprev = &next->next;
620} 620}
621 621
622/*
623 * Move a list from one list head to another. Fixup the pprev
624 * reference of the first entry if it exists.
625 */
626static inline void hlist_move_list(struct hlist_head *old,
627 struct hlist_head *new)
628{
629 new->first = old->first;
630 if (new->first)
631 new->first->pprev = &new->first;
632 old->first = NULL;
633}
634
622#define hlist_entry(ptr, type, member) container_of(ptr,type,member) 635#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
623 636
624#define hlist_for_each(pos, head) \ 637#define hlist_for_each(pos, head) \
diff --git a/include/linux/mroute.h b/include/linux/mroute.h
index 07112ee9293a..8a455694d682 100644
--- a/include/linux/mroute.h
+++ b/include/linux/mroute.h
@@ -6,7 +6,6 @@
6#ifdef __KERNEL__ 6#ifdef __KERNEL__
7#include <linux/in.h> 7#include <linux/in.h>
8#endif 8#endif
9#include <linux/pim.h>
10 9
11/* 10/*
12 * Based on the MROUTING 3.5 defines primarily to keep 11 * Based on the MROUTING 3.5 defines primarily to keep
@@ -130,6 +129,7 @@ struct igmpmsg
130 */ 129 */
131 130
132#ifdef __KERNEL__ 131#ifdef __KERNEL__
132#include <linux/pim.h>
133#include <net/sock.h> 133#include <net/sock.h>
134 134
135#ifdef CONFIG_IP_MROUTE 135#ifdef CONFIG_IP_MROUTE
diff --git a/include/linux/mroute6.h b/include/linux/mroute6.h
index 5cf50473a10f..6f4c180179e2 100644
--- a/include/linux/mroute6.h
+++ b/include/linux/mroute6.h
@@ -115,6 +115,7 @@ struct sioc_mif_req6
115 115
116#ifdef __KERNEL__ 116#ifdef __KERNEL__
117 117
118#include <linux/pim.h>
118#include <linux/skbuff.h> /* for struct sk_buff_head */ 119#include <linux/skbuff.h> /* for struct sk_buff_head */
119 120
120#ifdef CONFIG_IPV6_MROUTE 121#ifdef CONFIG_IPV6_MROUTE
diff --git a/include/linux/net.h b/include/linux/net.h
index 4a9a30f2d68f..6dc14a240042 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -18,16 +18,9 @@
18#ifndef _LINUX_NET_H 18#ifndef _LINUX_NET_H
19#define _LINUX_NET_H 19#define _LINUX_NET_H
20 20
21#include <linux/wait.h>
22#include <linux/socket.h> 21#include <linux/socket.h>
23#include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */
24#include <asm/socket.h> 22#include <asm/socket.h>
25 23
26struct poll_table_struct;
27struct pipe_inode_info;
28struct inode;
29struct net;
30
31#define NPROTO AF_MAX 24#define NPROTO AF_MAX
32 25
33#define SYS_SOCKET 1 /* sys_socket(2) */ 26#define SYS_SOCKET 1 /* sys_socket(2) */
@@ -62,6 +55,13 @@ typedef enum {
62#ifdef __KERNEL__ 55#ifdef __KERNEL__
63#include <linux/stringify.h> 56#include <linux/stringify.h>
64#include <linux/random.h> 57#include <linux/random.h>
58#include <linux/wait.h>
59#include <linux/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK */
60
61struct poll_table_struct;
62struct pipe_inode_info;
63struct inode;
64struct net;
65 65
66#define SOCK_ASYNC_NOSPACE 0 66#define SOCK_ASYNC_NOSPACE 0
67#define SOCK_ASYNC_WAITDATA 1 67#define SOCK_ASYNC_WAITDATA 1
diff --git a/include/linux/pim.h b/include/linux/pim.h
index 236ffd317394..1ba0661561a4 100644
--- a/include/linux/pim.h
+++ b/include/linux/pim.h
@@ -3,22 +3,6 @@
3 3
4#include <asm/byteorder.h> 4#include <asm/byteorder.h>
5 5
6#ifndef __KERNEL__
7struct pim {
8#if defined(__LITTLE_ENDIAN_BITFIELD)
9 __u8 pim_type:4, /* PIM message type */
10 pim_ver:4; /* PIM version */
11#elif defined(__BIG_ENDIAN_BITFIELD)
12 __u8 pim_ver:4; /* PIM version */
13 pim_type:4; /* PIM message type */
14#endif
15 __u8 pim_rsv; /* Reserved */
16 __be16 pim_cksum; /* Checksum */
17};
18
19#define PIM_MINLEN 8
20#endif
21
22/* Message types - V1 */ 6/* Message types - V1 */
23#define PIM_V1_VERSION __constant_htonl(0x10000000) 7#define PIM_V1_VERSION __constant_htonl(0x10000000)
24#define PIM_V1_REGISTER 1 8#define PIM_V1_REGISTER 1
@@ -27,7 +11,6 @@ struct pim {
27#define PIM_VERSION 2 11#define PIM_VERSION 2
28#define PIM_REGISTER 1 12#define PIM_REGISTER 1
29 13
30#if defined(__KERNEL__)
31#define PIM_NULL_REGISTER __constant_htonl(0x40000000) 14#define PIM_NULL_REGISTER __constant_htonl(0x40000000)
32 15
33/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */ 16/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
@@ -42,4 +25,3 @@ struct pimreghdr
42struct sk_buff; 25struct sk_buff;
43extern int pim_rcv_v1(struct sk_buff *); 26extern int pim_rcv_v1(struct sk_buff *);
44#endif 27#endif
45#endif
diff --git a/include/linux/quicklist.h b/include/linux/quicklist.h
index 39b66713a0bb..bd466439c588 100644
--- a/include/linux/quicklist.h
+++ b/include/linux/quicklist.h
@@ -80,6 +80,13 @@ void quicklist_trim(int nr, void (*dtor)(void *),
80 80
81unsigned long quicklist_total_size(void); 81unsigned long quicklist_total_size(void);
82 82
83#else
84
85static inline unsigned long quicklist_total_size(void)
86{
87 return 0;
88}
89
83#endif 90#endif
84 91
85#endif /* LINUX_QUICKLIST_H */ 92#endif /* LINUX_QUICKLIST_H */
diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h
index fdeadd9740dc..271c1c2c9f6f 100644
--- a/include/linux/res_counter.h
+++ b/include/linux/res_counter.h
@@ -166,7 +166,7 @@ static inline int res_counter_set_limit(struct res_counter *cnt,
166 int ret = -EBUSY; 166 int ret = -EBUSY;
167 167
168 spin_lock_irqsave(&cnt->lock, flags); 168 spin_lock_irqsave(&cnt->lock, flags);
169 if (cnt->usage < limit) { 169 if (cnt->usage <= limit) {
170 cnt->limit = limit; 170 cnt->limit = limit;
171 ret = 0; 171 ret = 0;
172 } 172 }
diff --git a/include/linux/sched.h b/include/linux/sched.h
index cfb0d87b99fc..3d9120c5ad15 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1475,6 +1475,10 @@ static inline void put_task_struct(struct task_struct *t)
1475 __put_task_struct(t); 1475 __put_task_struct(t);
1476} 1476}
1477 1477
1478extern cputime_t task_utime(struct task_struct *p);
1479extern cputime_t task_stime(struct task_struct *p);
1480extern cputime_t task_gtime(struct task_struct *p);
1481
1478/* 1482/*
1479 * Per process flags 1483 * Per process flags
1480 */ 1484 */
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h
index 3827b922ba1f..bc21db598c06 100644
--- a/include/linux/smc91x.h
+++ b/include/linux/smc91x.h
@@ -16,8 +16,19 @@
16 16
17#define SMC91X_USE_DMA (1 << 6) 17#define SMC91X_USE_DMA (1 << 6)
18 18
19#define RPC_LED_100_10 (0x00) /* LED = 100Mbps OR's with 10Mbps link detect */
20#define RPC_LED_RES (0x01) /* LED = Reserved */
21#define RPC_LED_10 (0x02) /* LED = 10Mbps link detect */
22#define RPC_LED_FD (0x03) /* LED = Full Duplex Mode */
23#define RPC_LED_TX_RX (0x04) /* LED = TX or RX packet occurred */
24#define RPC_LED_100 (0x05) /* LED = 100Mbps link dectect */
25#define RPC_LED_TX (0x06) /* LED = TX packet occurred */
26#define RPC_LED_RX (0x07) /* LED = RX packet occurred */
27
19struct smc91x_platdata { 28struct smc91x_platdata {
20 unsigned long flags; 29 unsigned long flags;
30 unsigned char leda;
31 unsigned char ledb;
21}; 32};
22 33
23#endif /* __SMC91X_H__ */ 34#endif /* __SMC91X_H__ */
diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h
index daf744017a31..05eab2f11e63 100644
--- a/include/linux/spi/ads7846.h
+++ b/include/linux/spi/ads7846.h
@@ -43,6 +43,9 @@ struct ads7846_platform_data {
43 u16 debounce_tol; /* tolerance used for filtering */ 43 u16 debounce_tol; /* tolerance used for filtering */
44 u16 debounce_rep; /* additional consecutive good readings 44 u16 debounce_rep; /* additional consecutive good readings
45 * required after the first two */ 45 * required after the first two */
46 int gpio_pendown; /* the GPIO used to decide the pendown
47 * state if get_pendown_state == NULL
48 */
46 int (*get_pendown_state)(void); 49 int (*get_pendown_state)(void);
47 int (*filter_init) (struct ads7846_platform_data *pdata, 50 int (*filter_init) (struct ads7846_platform_data *pdata,
48 void **filter_data); 51 void **filter_data);
diff --git a/include/linux/spi/corgi_lcd.h b/include/linux/spi/corgi_lcd.h
new file mode 100644
index 000000000000..6692b3418ccf
--- /dev/null
+++ b/include/linux/spi/corgi_lcd.h
@@ -0,0 +1,20 @@
1#ifndef __LINUX_SPI_CORGI_LCD_H
2#define __LINUX_SPI_CORGI_LCD_H
3
4#define CORGI_LCD_MODE_QVGA 1
5#define CORGI_LCD_MODE_VGA 2
6
7struct corgi_lcd_platform_data {
8 int init_mode;
9 int max_intensity;
10 int default_intensity;
11 int limit_mask;
12
13 int gpio_backlight_on; /* -1 if n/a */
14 int gpio_backlight_cont; /* -1 if n/a */
15
16 void (*notify)(int intensity);
17 void (*kick_battery)(void);
18};
19
20#endif /* __LINUX_SPI_CORGI_LCD_H */
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h
index ef2e3a20bf3b..dc05b54bd3a3 100644
--- a/include/linux/sunrpc/svc_rdma.h
+++ b/include/linux/sunrpc/svc_rdma.h
@@ -143,7 +143,6 @@ struct svcxprt_rdma {
143 unsigned long sc_flags; 143 unsigned long sc_flags;
144 struct list_head sc_dto_q; /* DTO tasklet I/O pending Q */ 144 struct list_head sc_dto_q; /* DTO tasklet I/O pending Q */
145 struct list_head sc_read_complete_q; 145 struct list_head sc_read_complete_q;
146 spinlock_t sc_read_complete_lock;
147 struct work_struct sc_work; 146 struct work_struct sc_work;
148}; 147};
149/* sc_flags */ 148/* sc_flags */
diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
index b48d81969574..6186a789d6c7 100644
--- a/include/linux/tracehook.h
+++ b/include/linux/tracehook.h
@@ -272,7 +272,7 @@ static inline void tracehook_finish_clone(struct task_struct *child,
272 * tracehook_report_clone_complete(). This must prevent the child from 272 * tracehook_report_clone_complete(). This must prevent the child from
273 * self-reaping if tracehook_report_clone_complete() uses the @child 273 * self-reaping if tracehook_report_clone_complete() uses the @child
274 * pointer; otherwise it might have died and been released by the time 274 * pointer; otherwise it might have died and been released by the time
275 * tracehook_report_report_clone_complete() is called. 275 * tracehook_report_clone_complete() is called.
276 * 276 *
277 * Called with no locks held, but the child cannot run until this returns. 277 * Called with no locks held, but the child cannot run until this returns.
278 */ 278 */
diff --git a/include/linux/ucb1400.h b/include/linux/ucb1400.h
new file mode 100644
index 000000000000..970473bf8d5a
--- /dev/null
+++ b/include/linux/ucb1400.h
@@ -0,0 +1,161 @@
1/*
2 * Register definitions and functions for:
3 * Philips UCB1400 driver
4 *
5 * Based on ucb1400_ts:
6 * Author: Nicolas Pitre
7 * Created: September 25, 2006
8 * Copyright: MontaVista Software, Inc.
9 *
10 * Spliting done by: Marek Vasut <marek.vasut@gmail.com>
11 * If something doesnt work and it worked before spliting, e-mail me,
12 * dont bother Nicolas please ;-)
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17 *
18 * This code is heavily based on ucb1x00-*.c copyrighted by Russell King
19 * covering the UCB1100, UCB1200 and UCB1300.. Support for the UCB1400 has
20 * been made separate from ucb1x00-core/ucb1x00-ts on Russell's request.
21 */
22
23#ifndef _LINUX__UCB1400_H
24#define _LINUX__UCB1400_H
25
26#include <sound/ac97_codec.h>
27#include <linux/mutex.h>
28#include <linux/platform_device.h>
29
30/*
31 * UCB1400 AC-link registers
32 */
33
34#define UCB_IO_DATA 0x5a
35#define UCB_IO_DIR 0x5c
36#define UCB_IE_RIS 0x5e
37#define UCB_IE_FAL 0x60
38#define UCB_IE_STATUS 0x62
39#define UCB_IE_CLEAR 0x62
40#define UCB_IE_ADC (1 << 11)
41#define UCB_IE_TSPX (1 << 12)
42
43#define UCB_TS_CR 0x64
44#define UCB_TS_CR_TSMX_POW (1 << 0)
45#define UCB_TS_CR_TSPX_POW (1 << 1)
46#define UCB_TS_CR_TSMY_POW (1 << 2)
47#define UCB_TS_CR_TSPY_POW (1 << 3)
48#define UCB_TS_CR_TSMX_GND (1 << 4)
49#define UCB_TS_CR_TSPX_GND (1 << 5)
50#define UCB_TS_CR_TSMY_GND (1 << 6)
51#define UCB_TS_CR_TSPY_GND (1 << 7)
52#define UCB_TS_CR_MODE_INT (0 << 8)
53#define UCB_TS_CR_MODE_PRES (1 << 8)
54#define UCB_TS_CR_MODE_POS (2 << 8)
55#define UCB_TS_CR_BIAS_ENA (1 << 11)
56#define UCB_TS_CR_TSPX_LOW (1 << 12)
57#define UCB_TS_CR_TSMX_LOW (1 << 13)
58
59#define UCB_ADC_CR 0x66
60#define UCB_ADC_SYNC_ENA (1 << 0)
61#define UCB_ADC_VREFBYP_CON (1 << 1)
62#define UCB_ADC_INP_TSPX (0 << 2)
63#define UCB_ADC_INP_TSMX (1 << 2)
64#define UCB_ADC_INP_TSPY (2 << 2)
65#define UCB_ADC_INP_TSMY (3 << 2)
66#define UCB_ADC_INP_AD0 (4 << 2)
67#define UCB_ADC_INP_AD1 (5 << 2)
68#define UCB_ADC_INP_AD2 (6 << 2)
69#define UCB_ADC_INP_AD3 (7 << 2)
70#define UCB_ADC_EXT_REF (1 << 5)
71#define UCB_ADC_START (1 << 7)
72#define UCB_ADC_ENA (1 << 15)
73
74#define UCB_ADC_DATA 0x68
75#define UCB_ADC_DAT_VALID (1 << 15)
76#define UCB_ADC_DAT_MASK 0x3ff
77
78#define UCB_ID 0x7e
79#define UCB_ID_1400 0x4304
80
81struct ucb1400_ts {
82 struct input_dev *ts_idev;
83 struct task_struct *ts_task;
84 int id;
85 wait_queue_head_t ts_wait;
86 unsigned int ts_restart:1;
87 int irq;
88 unsigned int irq_pending; /* not bit field shared */
89 struct snd_ac97 *ac97;
90};
91
92struct ucb1400 {
93 struct platform_device *ucb1400_ts;
94};
95
96static inline u16 ucb1400_reg_read(struct snd_ac97 *ac97, u16 reg)
97{
98 return ac97->bus->ops->read(ac97, reg);
99}
100
101static inline void ucb1400_reg_write(struct snd_ac97 *ac97, u16 reg, u16 val)
102{
103 ac97->bus->ops->write(ac97, reg, val);
104}
105
106static inline u16 ucb1400_gpio_get_value(struct snd_ac97 *ac97, u16 gpio)
107{
108 return ucb1400_reg_read(ac97, UCB_IO_DATA) & (1 << gpio);
109}
110
111static inline void ucb1400_gpio_set_value(struct snd_ac97 *ac97, u16 gpio,
112 u16 val)
113{
114 ucb1400_reg_write(ac97, UCB_IO_DATA, val ?
115 ucb1400_reg_read(ac97, UCB_IO_DATA) | (1 << gpio) :
116 ucb1400_reg_read(ac97, UCB_IO_DATA) & ~(1 << gpio));
117}
118
119static inline u16 ucb1400_gpio_get_direction(struct snd_ac97 *ac97, u16 gpio)
120{
121 return ucb1400_reg_read(ac97, UCB_IO_DIR) & (1 << gpio);
122}
123
124static inline void ucb1400_gpio_set_direction(struct snd_ac97 *ac97, u16 gpio,
125 u16 dir)
126{
127 ucb1400_reg_write(ac97, UCB_IO_DIR, dir ?
128 ucb1400_reg_read(ac97, UCB_IO_DIR) | (1 << gpio) :
129 ucb1400_reg_read(ac97, UCB_IO_DIR) & ~(1 << gpio));
130}
131
132static inline void ucb1400_adc_enable(struct snd_ac97 *ac97)
133{
134 ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA);
135}
136
137static unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
138 int adcsync)
139{
140 unsigned int val;
141
142 if (adcsync)
143 adc_channel |= UCB_ADC_SYNC_ENA;
144
145 ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel);
146 ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel |
147 UCB_ADC_START);
148
149 while (!((val = ucb1400_reg_read(ac97, UCB_ADC_DATA))
150 & UCB_ADC_DAT_VALID))
151 schedule_timeout_uninterruptible(1);
152
153 return val & UCB_ADC_DAT_MASK;
154}
155
156static inline void ucb1400_adc_disable(struct snd_ac97 *ac97)
157{
158 ucb1400_reg_write(ac97, UCB_ADC_CR, 0);
159}
160
161#endif
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index e65a6bed4e3e..303d93ffd6b2 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -334,6 +334,8 @@ struct v4l2_pix_format {
334#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */ 334#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
335#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ 335#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
336#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ 336#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
337#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
338#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
337 339
338/* 340/*
339 * F O R M A T E N U M E R A T I O N 341 * F O R M A T E N U M E R A T I O N
diff --git a/include/linux/wm97xx_batt.h b/include/linux/wm97xx_batt.h
new file mode 100644
index 000000000000..9681d1ab0e4f
--- /dev/null
+++ b/include/linux/wm97xx_batt.h
@@ -0,0 +1,26 @@
1#ifndef _LINUX_WM97XX_BAT_H
2#define _LINUX_WM97XX_BAT_H
3
4#include <linux/wm97xx.h>
5
6struct wm97xx_batt_info {
7 int batt_aux;
8 int temp_aux;
9 int charge_gpio;
10 int min_voltage;
11 int max_voltage;
12 int batt_div;
13 int batt_mult;
14 int temp_div;
15 int temp_mult;
16 int batt_tech;
17 char *batt_name;
18};
19
20#ifdef CONFIG_BATTERY_WM97XX
21void __init wm97xx_bat_set_pdata(struct wm97xx_batt_info *data);
22#else
23static inline void wm97xx_bat_set_pdata(struct wm97xx_batt_info *data) {}
24#endif
25
26#endif
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index cbf751094688..46a43b721dd6 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -325,7 +325,8 @@ int hci_conn_del(struct hci_conn *conn);
325void hci_conn_hash_flush(struct hci_dev *hdev); 325void hci_conn_hash_flush(struct hci_dev *hdev);
326void hci_conn_check_pending(struct hci_dev *hdev); 326void hci_conn_check_pending(struct hci_dev *hdev);
327 327
328struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *src); 328struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8 auth_type);
329int hci_conn_check_link_mode(struct hci_conn *conn);
329int hci_conn_auth(struct hci_conn *conn); 330int hci_conn_auth(struct hci_conn *conn);
330int hci_conn_encrypt(struct hci_conn *conn); 331int hci_conn_encrypt(struct hci_conn *conn);
331int hci_conn_change_link_key(struct hci_conn *conn); 332int hci_conn_change_link_key(struct hci_conn *conn);
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h
index 95c660c9719b..91324908fccd 100644
--- a/include/net/inet_timewait_sock.h
+++ b/include/net/inet_timewait_sock.h
@@ -208,6 +208,9 @@ extern void inet_twsk_schedule(struct inet_timewait_sock *tw,
208extern void inet_twsk_deschedule(struct inet_timewait_sock *tw, 208extern void inet_twsk_deschedule(struct inet_timewait_sock *tw,
209 struct inet_timewait_death_row *twdr); 209 struct inet_timewait_death_row *twdr);
210 210
211extern void inet_twsk_purge(struct net *net, struct inet_hashinfo *hashinfo,
212 struct inet_timewait_death_row *twdr, int family);
213
211static inline 214static inline
212struct net *twsk_net(const struct inet_timewait_sock *twsk) 215struct net *twsk_net(const struct inet_timewait_sock *twsk)
213{ 216{
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index b1d2cfea89c5..e5569625d2a5 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -217,6 +217,14 @@ static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc)
217 return qdisc_lock(root); 217 return qdisc_lock(root);
218} 218}
219 219
220static inline spinlock_t *qdisc_root_sleeping_lock(struct Qdisc *qdisc)
221{
222 struct Qdisc *root = qdisc_root_sleeping(qdisc);
223
224 ASSERT_RTNL();
225 return qdisc_lock(root);
226}
227
220static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) 228static inline struct net_device *qdisc_dev(struct Qdisc *qdisc)
221{ 229{
222 return qdisc->dev_queue->dev; 230 return qdisc->dev_queue->dev;
@@ -224,12 +232,12 @@ static inline struct net_device *qdisc_dev(struct Qdisc *qdisc)
224 232
225static inline void sch_tree_lock(struct Qdisc *q) 233static inline void sch_tree_lock(struct Qdisc *q)
226{ 234{
227 spin_lock_bh(qdisc_root_lock(q)); 235 spin_lock_bh(qdisc_root_sleeping_lock(q));
228} 236}
229 237
230static inline void sch_tree_unlock(struct Qdisc *q) 238static inline void sch_tree_unlock(struct Qdisc *q)
231{ 239{
232 spin_unlock_bh(qdisc_root_lock(q)); 240 spin_unlock_bh(qdisc_root_sleeping_lock(q));
233} 241}
234 242
235#define tcf_tree_lock(tp) sch_tree_lock((tp)->q) 243#define tcf_tree_lock(tp) sch_tree_lock((tp)->q)
diff --git a/include/video/metronomefb.h b/include/video/metronomefb.h
index dab04b4fad7f..9863f4b6d418 100644
--- a/include/video/metronomefb.h
+++ b/include/video/metronomefb.h
@@ -12,14 +12,6 @@
12#ifndef _LINUX_METRONOMEFB_H_ 12#ifndef _LINUX_METRONOMEFB_H_
13#define _LINUX_METRONOMEFB_H_ 13#define _LINUX_METRONOMEFB_H_
14 14
15/* address and control descriptors used by metronome controller */
16struct metromem_desc {
17 u32 mFDADR0;
18 u32 mFSADR0;
19 u32 mFIDR0;
20 u32 mLDCMD0;
21};
22
23/* command structure used by metronome controller */ 15/* command structure used by metronome controller */
24struct metromem_cmd { 16struct metromem_cmd {
25 u16 opcode; 17 u16 opcode;
@@ -29,34 +21,37 @@ struct metromem_cmd {
29 21
30/* struct used by metronome. board specific stuff comes from *board */ 22/* struct used by metronome. board specific stuff comes from *board */
31struct metronomefb_par { 23struct metronomefb_par {
32 unsigned char *metromem;
33 struct metromem_desc *metromem_desc;
34 struct metromem_cmd *metromem_cmd; 24 struct metromem_cmd *metromem_cmd;
35 unsigned char *metromem_wfm; 25 unsigned char *metromem_wfm;
36 unsigned char *metromem_img; 26 unsigned char *metromem_img;
37 u16 *metromem_img_csum; 27 u16 *metromem_img_csum;
38 u16 *csum_table; 28 u16 *csum_table;
39 int metromemsize;
40 dma_addr_t metromem_dma; 29 dma_addr_t metromem_dma;
41 dma_addr_t metromem_desc_dma;
42 struct fb_info *info; 30 struct fb_info *info;
43 struct metronome_board *board; 31 struct metronome_board *board;
44 wait_queue_head_t waitq; 32 wait_queue_head_t waitq;
45 u8 frame_count; 33 u8 frame_count;
34 int extra_size;
35 int dt;
46}; 36};
47 37
48/* board specific routines */ 38/* board specific routines and data */
49struct metronome_board { 39struct metronome_board {
50 struct module *owner; 40 struct module *owner; /* the platform device */
51 void (*free_irq)(struct fb_info *);
52 void (*init_gpio_regs)(struct metronomefb_par *);
53 void (*init_lcdc_regs)(struct metronomefb_par *);
54 void (*post_dma_setup)(struct metronomefb_par *);
55 void (*set_rst)(struct metronomefb_par *, int); 41 void (*set_rst)(struct metronomefb_par *, int);
56 void (*set_stdby)(struct metronomefb_par *, int); 42 void (*set_stdby)(struct metronomefb_par *, int);
43 void (*cleanup)(struct metronomefb_par *);
57 int (*met_wait_event)(struct metronomefb_par *); 44 int (*met_wait_event)(struct metronomefb_par *);
58 int (*met_wait_event_intr)(struct metronomefb_par *); 45 int (*met_wait_event_intr)(struct metronomefb_par *);
59 int (*setup_irq)(struct fb_info *); 46 int (*setup_irq)(struct fb_info *);
47 int (*setup_fb)(struct metronomefb_par *);
48 int (*setup_io)(struct metronomefb_par *);
49 int (*get_panel_type)(void);
50 unsigned char *metromem;
51 int fw;
52 int fh;
53 int wfm_size;
54 struct fb_info *host_fbinfo; /* the host LCD controller's fbi */
60}; 55};
61 56
62#endif 57#endif
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 972f8e61d36a..59cedfb040e7 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -243,10 +243,11 @@ static inline int open_arg(int flags, int mask)
243 243
244static int audit_match_perm(struct audit_context *ctx, int mask) 244static int audit_match_perm(struct audit_context *ctx, int mask)
245{ 245{
246 unsigned n;
246 if (unlikely(!ctx)) 247 if (unlikely(!ctx))
247 return 0; 248 return 0;
248 249
249 unsigned n = ctx->major; 250 n = ctx->major;
250 switch (audit_classify_syscall(ctx->arch, n)) { 251 switch (audit_classify_syscall(ctx->arch, n)) {
251 case 0: /* native */ 252 case 0: /* native */
252 if ((mask & AUDIT_PERM_WRITE) && 253 if ((mask & AUDIT_PERM_WRITE) &&
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index d5ab79cf516d..f227bc172690 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -14,6 +14,8 @@
14 * 2003-10-22 Updates by Stephen Hemminger. 14 * 2003-10-22 Updates by Stephen Hemminger.
15 * 2004 May-July Rework by Paul Jackson. 15 * 2004 May-July Rework by Paul Jackson.
16 * 2006 Rework by Paul Menage to use generic cgroups 16 * 2006 Rework by Paul Menage to use generic cgroups
17 * 2008 Rework of the scheduler domains and CPU hotplug handling
18 * by Max Krasnyansky
17 * 19 *
18 * This file is subject to the terms and conditions of the GNU General Public 20 * This file is subject to the terms and conditions of the GNU General Public
19 * License. See the file COPYING in the main directory of the Linux 21 * License. See the file COPYING in the main directory of the Linux
@@ -236,9 +238,11 @@ static struct cpuset top_cpuset = {
236 238
237static DEFINE_MUTEX(callback_mutex); 239static DEFINE_MUTEX(callback_mutex);
238 240
239/* This is ugly, but preserves the userspace API for existing cpuset 241/*
242 * This is ugly, but preserves the userspace API for existing cpuset
240 * users. If someone tries to mount the "cpuset" filesystem, we 243 * users. If someone tries to mount the "cpuset" filesystem, we
241 * silently switch it to mount "cgroup" instead */ 244 * silently switch it to mount "cgroup" instead
245 */
242static int cpuset_get_sb(struct file_system_type *fs_type, 246static int cpuset_get_sb(struct file_system_type *fs_type,
243 int flags, const char *unused_dev_name, 247 int flags, const char *unused_dev_name,
244 void *data, struct vfsmount *mnt) 248 void *data, struct vfsmount *mnt)
@@ -473,10 +477,9 @@ static int validate_change(const struct cpuset *cur, const struct cpuset *trial)
473} 477}
474 478
475/* 479/*
476 * Helper routine for rebuild_sched_domains(). 480 * Helper routine for generate_sched_domains().
477 * Do cpusets a, b have overlapping cpus_allowed masks? 481 * Do cpusets a, b have overlapping cpus_allowed masks?
478 */ 482 */
479
480static int cpusets_overlap(struct cpuset *a, struct cpuset *b) 483static int cpusets_overlap(struct cpuset *a, struct cpuset *b)
481{ 484{
482 return cpus_intersects(a->cpus_allowed, b->cpus_allowed); 485 return cpus_intersects(a->cpus_allowed, b->cpus_allowed);
@@ -518,26 +521,15 @@ update_domain_attr_tree(struct sched_domain_attr *dattr, struct cpuset *c)
518} 521}
519 522
520/* 523/*
521 * rebuild_sched_domains() 524 * generate_sched_domains()
522 * 525 *
523 * This routine will be called to rebuild the scheduler's dynamic 526 * This function builds a partial partition of the systems CPUs
524 * sched domains: 527 * A 'partial partition' is a set of non-overlapping subsets whose
525 * - if the flag 'sched_load_balance' of any cpuset with non-empty 528 * union is a subset of that set.
526 * 'cpus' changes, 529 * The output of this function needs to be passed to kernel/sched.c
527 * - or if the 'cpus' allowed changes in any cpuset which has that 530 * partition_sched_domains() routine, which will rebuild the scheduler's
528 * flag enabled, 531 * load balancing domains (sched domains) as specified by that partial
529 * - or if the 'sched_relax_domain_level' of any cpuset which has 532 * partition.
530 * that flag enabled and with non-empty 'cpus' changes,
531 * - or if any cpuset with non-empty 'cpus' is removed,
532 * - or if a cpu gets offlined.
533 *
534 * This routine builds a partial partition of the systems CPUs
535 * (the set of non-overlappping cpumask_t's in the array 'part'
536 * below), and passes that partial partition to the kernel/sched.c
537 * partition_sched_domains() routine, which will rebuild the
538 * schedulers load balancing domains (sched domains) as specified
539 * by that partial partition. A 'partial partition' is a set of
540 * non-overlapping subsets whose union is a subset of that set.
541 * 533 *
542 * See "What is sched_load_balance" in Documentation/cpusets.txt 534 * See "What is sched_load_balance" in Documentation/cpusets.txt
543 * for a background explanation of this. 535 * for a background explanation of this.
@@ -547,13 +539,7 @@ update_domain_attr_tree(struct sched_domain_attr *dattr, struct cpuset *c)
547 * domains when operating in the severe memory shortage situations 539 * domains when operating in the severe memory shortage situations
548 * that could cause allocation failures below. 540 * that could cause allocation failures below.
549 * 541 *
550 * Call with cgroup_mutex held. May take callback_mutex during 542 * Must be called with cgroup_lock held.
551 * call due to the kfifo_alloc() and kmalloc() calls. May nest
552 * a call to the get_online_cpus()/put_online_cpus() pair.
553 * Must not be called holding callback_mutex, because we must not
554 * call get_online_cpus() while holding callback_mutex. Elsewhere
555 * the kernel nests callback_mutex inside get_online_cpus() calls.
556 * So the reverse nesting would risk an ABBA deadlock.
557 * 543 *
558 * The three key local variables below are: 544 * The three key local variables below are:
559 * q - a linked-list queue of cpuset pointers, used to implement a 545 * q - a linked-list queue of cpuset pointers, used to implement a
@@ -588,10 +574,10 @@ update_domain_attr_tree(struct sched_domain_attr *dattr, struct cpuset *c)
588 * element of the partition (one sched domain) to be passed to 574 * element of the partition (one sched domain) to be passed to
589 * partition_sched_domains(). 575 * partition_sched_domains().
590 */ 576 */
591 577static int generate_sched_domains(cpumask_t **domains,
592void rebuild_sched_domains(void) 578 struct sched_domain_attr **attributes)
593{ 579{
594 LIST_HEAD(q); /* queue of cpusets to be scanned*/ 580 LIST_HEAD(q); /* queue of cpusets to be scanned */
595 struct cpuset *cp; /* scans q */ 581 struct cpuset *cp; /* scans q */
596 struct cpuset **csa; /* array of all cpuset ptrs */ 582 struct cpuset **csa; /* array of all cpuset ptrs */
597 int csn; /* how many cpuset ptrs in csa so far */ 583 int csn; /* how many cpuset ptrs in csa so far */
@@ -601,23 +587,26 @@ void rebuild_sched_domains(void)
601 int ndoms; /* number of sched domains in result */ 587 int ndoms; /* number of sched domains in result */
602 int nslot; /* next empty doms[] cpumask_t slot */ 588 int nslot; /* next empty doms[] cpumask_t slot */
603 589
604 csa = NULL; 590 ndoms = 0;
605 doms = NULL; 591 doms = NULL;
606 dattr = NULL; 592 dattr = NULL;
593 csa = NULL;
607 594
608 /* Special case for the 99% of systems with one, full, sched domain */ 595 /* Special case for the 99% of systems with one, full, sched domain */
609 if (is_sched_load_balance(&top_cpuset)) { 596 if (is_sched_load_balance(&top_cpuset)) {
610 ndoms = 1;
611 doms = kmalloc(sizeof(cpumask_t), GFP_KERNEL); 597 doms = kmalloc(sizeof(cpumask_t), GFP_KERNEL);
612 if (!doms) 598 if (!doms)
613 goto rebuild; 599 goto done;
600
614 dattr = kmalloc(sizeof(struct sched_domain_attr), GFP_KERNEL); 601 dattr = kmalloc(sizeof(struct sched_domain_attr), GFP_KERNEL);
615 if (dattr) { 602 if (dattr) {
616 *dattr = SD_ATTR_INIT; 603 *dattr = SD_ATTR_INIT;
617 update_domain_attr_tree(dattr, &top_cpuset); 604 update_domain_attr_tree(dattr, &top_cpuset);
618 } 605 }
619 *doms = top_cpuset.cpus_allowed; 606 *doms = top_cpuset.cpus_allowed;
620 goto rebuild; 607
608 ndoms = 1;
609 goto done;
621 } 610 }
622 611
623 csa = kmalloc(number_of_cpusets * sizeof(cp), GFP_KERNEL); 612 csa = kmalloc(number_of_cpusets * sizeof(cp), GFP_KERNEL);
@@ -680,61 +669,141 @@ restart:
680 } 669 }
681 } 670 }
682 671
683 /* Convert <csn, csa> to <ndoms, doms> */ 672 /*
673 * Now we know how many domains to create.
674 * Convert <csn, csa> to <ndoms, doms> and populate cpu masks.
675 */
684 doms = kmalloc(ndoms * sizeof(cpumask_t), GFP_KERNEL); 676 doms = kmalloc(ndoms * sizeof(cpumask_t), GFP_KERNEL);
685 if (!doms) 677 if (!doms) {
686 goto rebuild; 678 ndoms = 0;
679 goto done;
680 }
681
682 /*
683 * The rest of the code, including the scheduler, can deal with
684 * dattr==NULL case. No need to abort if alloc fails.
685 */
687 dattr = kmalloc(ndoms * sizeof(struct sched_domain_attr), GFP_KERNEL); 686 dattr = kmalloc(ndoms * sizeof(struct sched_domain_attr), GFP_KERNEL);
688 687
689 for (nslot = 0, i = 0; i < csn; i++) { 688 for (nslot = 0, i = 0; i < csn; i++) {
690 struct cpuset *a = csa[i]; 689 struct cpuset *a = csa[i];
690 cpumask_t *dp;
691 int apn = a->pn; 691 int apn = a->pn;
692 692
693 if (apn >= 0) { 693 if (apn < 0) {
694 cpumask_t *dp = doms + nslot; 694 /* Skip completed partitions */
695 695 continue;
696 if (nslot == ndoms) { 696 }
697 static int warnings = 10; 697
698 if (warnings) { 698 dp = doms + nslot;
699 printk(KERN_WARNING 699
700 "rebuild_sched_domains confused:" 700 if (nslot == ndoms) {
701 " nslot %d, ndoms %d, csn %d, i %d," 701 static int warnings = 10;
702 " apn %d\n", 702 if (warnings) {
703 nslot, ndoms, csn, i, apn); 703 printk(KERN_WARNING
704 warnings--; 704 "rebuild_sched_domains confused:"
705 } 705 " nslot %d, ndoms %d, csn %d, i %d,"
706 continue; 706 " apn %d\n",
707 nslot, ndoms, csn, i, apn);
708 warnings--;
707 } 709 }
710 continue;
711 }
708 712
709 cpus_clear(*dp); 713 cpus_clear(*dp);
710 if (dattr) 714 if (dattr)
711 *(dattr + nslot) = SD_ATTR_INIT; 715 *(dattr + nslot) = SD_ATTR_INIT;
712 for (j = i; j < csn; j++) { 716 for (j = i; j < csn; j++) {
713 struct cpuset *b = csa[j]; 717 struct cpuset *b = csa[j];
714 718
715 if (apn == b->pn) { 719 if (apn == b->pn) {
716 cpus_or(*dp, *dp, b->cpus_allowed); 720 cpus_or(*dp, *dp, b->cpus_allowed);
717 b->pn = -1; 721 if (dattr)
718 if (dattr) 722 update_domain_attr_tree(dattr + nslot, b);
719 update_domain_attr_tree(dattr 723
720 + nslot, b); 724 /* Done with this partition */
721 } 725 b->pn = -1;
722 } 726 }
723 nslot++;
724 } 727 }
728 nslot++;
725 } 729 }
726 BUG_ON(nslot != ndoms); 730 BUG_ON(nslot != ndoms);
727 731
728rebuild: 732done:
729 /* Have scheduler rebuild sched domains */ 733 kfree(csa);
734
735 *domains = doms;
736 *attributes = dattr;
737 return ndoms;
738}
739
740/*
741 * Rebuild scheduler domains.
742 *
743 * Call with neither cgroup_mutex held nor within get_online_cpus().
744 * Takes both cgroup_mutex and get_online_cpus().
745 *
746 * Cannot be directly called from cpuset code handling changes
747 * to the cpuset pseudo-filesystem, because it cannot be called
748 * from code that already holds cgroup_mutex.
749 */
750static void do_rebuild_sched_domains(struct work_struct *unused)
751{
752 struct sched_domain_attr *attr;
753 cpumask_t *doms;
754 int ndoms;
755
730 get_online_cpus(); 756 get_online_cpus();
731 partition_sched_domains(ndoms, doms, dattr); 757
758 /* Generate domain masks and attrs */
759 cgroup_lock();
760 ndoms = generate_sched_domains(&doms, &attr);
761 cgroup_unlock();
762
763 /* Have scheduler rebuild the domains */
764 partition_sched_domains(ndoms, doms, attr);
765
732 put_online_cpus(); 766 put_online_cpus();
767}
733 768
734done: 769static DECLARE_WORK(rebuild_sched_domains_work, do_rebuild_sched_domains);
735 kfree(csa); 770
736 /* Don't kfree(doms) -- partition_sched_domains() does that. */ 771/*
737 /* Don't kfree(dattr) -- partition_sched_domains() does that. */ 772 * Rebuild scheduler domains, asynchronously via workqueue.
773 *
774 * If the flag 'sched_load_balance' of any cpuset with non-empty
775 * 'cpus' changes, or if the 'cpus' allowed changes in any cpuset
776 * which has that flag enabled, or if any cpuset with a non-empty
777 * 'cpus' is removed, then call this routine to rebuild the
778 * scheduler's dynamic sched domains.
779 *
780 * The rebuild_sched_domains() and partition_sched_domains()
781 * routines must nest cgroup_lock() inside get_online_cpus(),
782 * but such cpuset changes as these must nest that locking the
783 * other way, holding cgroup_lock() for much of the code.
784 *
785 * So in order to avoid an ABBA deadlock, the cpuset code handling
786 * these user changes delegates the actual sched domain rebuilding
787 * to a separate workqueue thread, which ends up processing the
788 * above do_rebuild_sched_domains() function.
789 */
790static void async_rebuild_sched_domains(void)
791{
792 schedule_work(&rebuild_sched_domains_work);
793}
794
795/*
796 * Accomplishes the same scheduler domain rebuild as the above
797 * async_rebuild_sched_domains(), however it directly calls the
798 * rebuild routine synchronously rather than calling it via an
799 * asynchronous work thread.
800 *
801 * This can only be called from code that is not holding
802 * cgroup_mutex (not nested in a cgroup_lock() call.)
803 */
804void rebuild_sched_domains(void)
805{
806 do_rebuild_sched_domains(NULL);
738} 807}
739 808
740/** 809/**
@@ -863,7 +932,7 @@ static int update_cpumask(struct cpuset *cs, const char *buf)
863 return retval; 932 return retval;
864 933
865 if (is_load_balanced) 934 if (is_load_balanced)
866 rebuild_sched_domains(); 935 async_rebuild_sched_domains();
867 return 0; 936 return 0;
868} 937}
869 938
@@ -1090,7 +1159,7 @@ static int update_relax_domain_level(struct cpuset *cs, s64 val)
1090 if (val != cs->relax_domain_level) { 1159 if (val != cs->relax_domain_level) {
1091 cs->relax_domain_level = val; 1160 cs->relax_domain_level = val;
1092 if (!cpus_empty(cs->cpus_allowed) && is_sched_load_balance(cs)) 1161 if (!cpus_empty(cs->cpus_allowed) && is_sched_load_balance(cs))
1093 rebuild_sched_domains(); 1162 async_rebuild_sched_domains();
1094 } 1163 }
1095 1164
1096 return 0; 1165 return 0;
@@ -1131,7 +1200,7 @@ static int update_flag(cpuset_flagbits_t bit, struct cpuset *cs,
1131 mutex_unlock(&callback_mutex); 1200 mutex_unlock(&callback_mutex);
1132 1201
1133 if (cpus_nonempty && balance_flag_changed) 1202 if (cpus_nonempty && balance_flag_changed)
1134 rebuild_sched_domains(); 1203 async_rebuild_sched_domains();
1135 1204
1136 return 0; 1205 return 0;
1137} 1206}
@@ -1492,6 +1561,9 @@ static u64 cpuset_read_u64(struct cgroup *cont, struct cftype *cft)
1492 default: 1561 default:
1493 BUG(); 1562 BUG();
1494 } 1563 }
1564
1565 /* Unreachable but makes gcc happy */
1566 return 0;
1495} 1567}
1496 1568
1497static s64 cpuset_read_s64(struct cgroup *cont, struct cftype *cft) 1569static s64 cpuset_read_s64(struct cgroup *cont, struct cftype *cft)
@@ -1504,6 +1576,9 @@ static s64 cpuset_read_s64(struct cgroup *cont, struct cftype *cft)
1504 default: 1576 default:
1505 BUG(); 1577 BUG();
1506 } 1578 }
1579
1580 /* Unrechable but makes gcc happy */
1581 return 0;
1507} 1582}
1508 1583
1509 1584
@@ -1692,15 +1767,9 @@ static struct cgroup_subsys_state *cpuset_create(
1692} 1767}
1693 1768
1694/* 1769/*
1695 * Locking note on the strange update_flag() call below:
1696 *
1697 * If the cpuset being removed has its flag 'sched_load_balance' 1770 * If the cpuset being removed has its flag 'sched_load_balance'
1698 * enabled, then simulate turning sched_load_balance off, which 1771 * enabled, then simulate turning sched_load_balance off, which
1699 * will call rebuild_sched_domains(). The get_online_cpus() 1772 * will call async_rebuild_sched_domains().
1700 * call in rebuild_sched_domains() must not be made while holding
1701 * callback_mutex. Elsewhere the kernel nests callback_mutex inside
1702 * get_online_cpus() calls. So the reverse nesting would risk an
1703 * ABBA deadlock.
1704 */ 1773 */
1705 1774
1706static void cpuset_destroy(struct cgroup_subsys *ss, struct cgroup *cont) 1775static void cpuset_destroy(struct cgroup_subsys *ss, struct cgroup *cont)
@@ -1719,7 +1788,7 @@ static void cpuset_destroy(struct cgroup_subsys *ss, struct cgroup *cont)
1719struct cgroup_subsys cpuset_subsys = { 1788struct cgroup_subsys cpuset_subsys = {
1720 .name = "cpuset", 1789 .name = "cpuset",
1721 .create = cpuset_create, 1790 .create = cpuset_create,
1722 .destroy = cpuset_destroy, 1791 .destroy = cpuset_destroy,
1723 .can_attach = cpuset_can_attach, 1792 .can_attach = cpuset_can_attach,
1724 .attach = cpuset_attach, 1793 .attach = cpuset_attach,
1725 .populate = cpuset_populate, 1794 .populate = cpuset_populate,
@@ -1811,7 +1880,7 @@ static void move_member_tasks_to_cpuset(struct cpuset *from, struct cpuset *to)
1811} 1880}
1812 1881
1813/* 1882/*
1814 * If common_cpu_mem_hotplug_unplug(), below, unplugs any CPUs 1883 * If CPU and/or memory hotplug handlers, below, unplug any CPUs
1815 * or memory nodes, we need to walk over the cpuset hierarchy, 1884 * or memory nodes, we need to walk over the cpuset hierarchy,
1816 * removing that CPU or node from all cpusets. If this removes the 1885 * removing that CPU or node from all cpusets. If this removes the
1817 * last CPU or node from a cpuset, then move the tasks in the empty 1886 * last CPU or node from a cpuset, then move the tasks in the empty
@@ -1903,35 +1972,6 @@ static void scan_for_empty_cpusets(const struct cpuset *root)
1903} 1972}
1904 1973
1905/* 1974/*
1906 * The cpus_allowed and mems_allowed nodemasks in the top_cpuset track
1907 * cpu_online_map and node_states[N_HIGH_MEMORY]. Force the top cpuset to
1908 * track what's online after any CPU or memory node hotplug or unplug event.
1909 *
1910 * Since there are two callers of this routine, one for CPU hotplug
1911 * events and one for memory node hotplug events, we could have coded
1912 * two separate routines here. We code it as a single common routine
1913 * in order to minimize text size.
1914 */
1915
1916static void common_cpu_mem_hotplug_unplug(int rebuild_sd)
1917{
1918 cgroup_lock();
1919
1920 top_cpuset.cpus_allowed = cpu_online_map;
1921 top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY];
1922 scan_for_empty_cpusets(&top_cpuset);
1923
1924 /*
1925 * Scheduler destroys domains on hotplug events.
1926 * Rebuild them based on the current settings.
1927 */
1928 if (rebuild_sd)
1929 rebuild_sched_domains();
1930
1931 cgroup_unlock();
1932}
1933
1934/*
1935 * The top_cpuset tracks what CPUs and Memory Nodes are online, 1975 * The top_cpuset tracks what CPUs and Memory Nodes are online,
1936 * period. This is necessary in order to make cpusets transparent 1976 * period. This is necessary in order to make cpusets transparent
1937 * (of no affect) on systems that are actively using CPU hotplug 1977 * (of no affect) on systems that are actively using CPU hotplug
@@ -1939,40 +1979,52 @@ static void common_cpu_mem_hotplug_unplug(int rebuild_sd)
1939 * 1979 *
1940 * This routine ensures that top_cpuset.cpus_allowed tracks 1980 * This routine ensures that top_cpuset.cpus_allowed tracks
1941 * cpu_online_map on each CPU hotplug (cpuhp) event. 1981 * cpu_online_map on each CPU hotplug (cpuhp) event.
1982 *
1983 * Called within get_online_cpus(). Needs to call cgroup_lock()
1984 * before calling generate_sched_domains().
1942 */ 1985 */
1943 1986static int cpuset_track_online_cpus(struct notifier_block *unused_nb,
1944static int cpuset_handle_cpuhp(struct notifier_block *unused_nb,
1945 unsigned long phase, void *unused_cpu) 1987 unsigned long phase, void *unused_cpu)
1946{ 1988{
1989 struct sched_domain_attr *attr;
1990 cpumask_t *doms;
1991 int ndoms;
1992
1947 switch (phase) { 1993 switch (phase) {
1948 case CPU_UP_CANCELED:
1949 case CPU_UP_CANCELED_FROZEN:
1950 case CPU_DOWN_FAILED:
1951 case CPU_DOWN_FAILED_FROZEN:
1952 case CPU_ONLINE: 1994 case CPU_ONLINE:
1953 case CPU_ONLINE_FROZEN: 1995 case CPU_ONLINE_FROZEN:
1954 case CPU_DEAD: 1996 case CPU_DEAD:
1955 case CPU_DEAD_FROZEN: 1997 case CPU_DEAD_FROZEN:
1956 common_cpu_mem_hotplug_unplug(1);
1957 break; 1998 break;
1999
1958 default: 2000 default:
1959 return NOTIFY_DONE; 2001 return NOTIFY_DONE;
1960 } 2002 }
1961 2003
2004 cgroup_lock();
2005 top_cpuset.cpus_allowed = cpu_online_map;
2006 scan_for_empty_cpusets(&top_cpuset);
2007 ndoms = generate_sched_domains(&doms, &attr);
2008 cgroup_unlock();
2009
2010 /* Have scheduler rebuild the domains */
2011 partition_sched_domains(ndoms, doms, attr);
2012
1962 return NOTIFY_OK; 2013 return NOTIFY_OK;
1963} 2014}
1964 2015
1965#ifdef CONFIG_MEMORY_HOTPLUG 2016#ifdef CONFIG_MEMORY_HOTPLUG
1966/* 2017/*
1967 * Keep top_cpuset.mems_allowed tracking node_states[N_HIGH_MEMORY]. 2018 * Keep top_cpuset.mems_allowed tracking node_states[N_HIGH_MEMORY].
1968 * Call this routine anytime after you change 2019 * Call this routine anytime after node_states[N_HIGH_MEMORY] changes.
1969 * node_states[N_HIGH_MEMORY]. 2020 * See also the previous routine cpuset_track_online_cpus().
1970 * See also the previous routine cpuset_handle_cpuhp().
1971 */ 2021 */
1972
1973void cpuset_track_online_nodes(void) 2022void cpuset_track_online_nodes(void)
1974{ 2023{
1975 common_cpu_mem_hotplug_unplug(0); 2024 cgroup_lock();
2025 top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY];
2026 scan_for_empty_cpusets(&top_cpuset);
2027 cgroup_unlock();
1976} 2028}
1977#endif 2029#endif
1978 2030
@@ -1987,7 +2039,7 @@ void __init cpuset_init_smp(void)
1987 top_cpuset.cpus_allowed = cpu_online_map; 2039 top_cpuset.cpus_allowed = cpu_online_map;
1988 top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY]; 2040 top_cpuset.mems_allowed = node_states[N_HIGH_MEMORY];
1989 2041
1990 hotcpu_notifier(cpuset_handle_cpuhp, 0); 2042 hotcpu_notifier(cpuset_track_online_cpus, 0);
1991} 2043}
1992 2044
1993/** 2045/**
diff --git a/kernel/exit.c b/kernel/exit.c
index 38ec40630149..16395644a98f 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -112,9 +112,9 @@ static void __exit_signal(struct task_struct *tsk)
112 * We won't ever get here for the group leader, since it 112 * We won't ever get here for the group leader, since it
113 * will have been the last reference on the signal_struct. 113 * will have been the last reference on the signal_struct.
114 */ 114 */
115 sig->utime = cputime_add(sig->utime, tsk->utime); 115 sig->utime = cputime_add(sig->utime, task_utime(tsk));
116 sig->stime = cputime_add(sig->stime, tsk->stime); 116 sig->stime = cputime_add(sig->stime, task_stime(tsk));
117 sig->gtime = cputime_add(sig->gtime, tsk->gtime); 117 sig->gtime = cputime_add(sig->gtime, task_gtime(tsk));
118 sig->min_flt += tsk->min_flt; 118 sig->min_flt += tsk->min_flt;
119 sig->maj_flt += tsk->maj_flt; 119 sig->maj_flt += tsk->maj_flt;
120 sig->nvcsw += tsk->nvcsw; 120 sig->nvcsw += tsk->nvcsw;
@@ -831,26 +831,50 @@ static void reparent_thread(struct task_struct *p, struct task_struct *father)
831 * the child reaper process (ie "init") in our pid 831 * the child reaper process (ie "init") in our pid
832 * space. 832 * space.
833 */ 833 */
834static struct task_struct *find_new_reaper(struct task_struct *father)
835{
836 struct pid_namespace *pid_ns = task_active_pid_ns(father);
837 struct task_struct *thread;
838
839 thread = father;
840 while_each_thread(father, thread) {
841 if (thread->flags & PF_EXITING)
842 continue;
843 if (unlikely(pid_ns->child_reaper == father))
844 pid_ns->child_reaper = thread;
845 return thread;
846 }
847
848 if (unlikely(pid_ns->child_reaper == father)) {
849 write_unlock_irq(&tasklist_lock);
850 if (unlikely(pid_ns == &init_pid_ns))
851 panic("Attempted to kill init!");
852
853 zap_pid_ns_processes(pid_ns);
854 write_lock_irq(&tasklist_lock);
855 /*
856 * We can not clear ->child_reaper or leave it alone.
857 * There may by stealth EXIT_DEAD tasks on ->children,
858 * forget_original_parent() must move them somewhere.
859 */
860 pid_ns->child_reaper = init_pid_ns.child_reaper;
861 }
862
863 return pid_ns->child_reaper;
864}
865
834static void forget_original_parent(struct task_struct *father) 866static void forget_original_parent(struct task_struct *father)
835{ 867{
836 struct task_struct *p, *n, *reaper = father; 868 struct task_struct *p, *n, *reaper;
837 LIST_HEAD(ptrace_dead); 869 LIST_HEAD(ptrace_dead);
838 870
839 write_lock_irq(&tasklist_lock); 871 write_lock_irq(&tasklist_lock);
840 872 reaper = find_new_reaper(father);
841 /* 873 /*
842 * First clean up ptrace if we were using it. 874 * First clean up ptrace if we were using it.
843 */ 875 */
844 ptrace_exit(father, &ptrace_dead); 876 ptrace_exit(father, &ptrace_dead);
845 877
846 do {
847 reaper = next_thread(reaper);
848 if (reaper == father) {
849 reaper = task_child_reaper(father);
850 break;
851 }
852 } while (reaper->flags & PF_EXITING);
853
854 list_for_each_entry_safe(p, n, &father->children, sibling) { 878 list_for_each_entry_safe(p, n, &father->children, sibling) {
855 p->real_parent = reaper; 879 p->real_parent = reaper;
856 if (p->parent == father) { 880 if (p->parent == father) {
@@ -918,8 +942,8 @@ static void exit_notify(struct task_struct *tsk, int group_dead)
918 942
919 /* mt-exec, de_thread() is waiting for us */ 943 /* mt-exec, de_thread() is waiting for us */
920 if (thread_group_leader(tsk) && 944 if (thread_group_leader(tsk) &&
921 tsk->signal->notify_count < 0 && 945 tsk->signal->group_exit_task &&
922 tsk->signal->group_exit_task) 946 tsk->signal->notify_count < 0)
923 wake_up_process(tsk->signal->group_exit_task); 947 wake_up_process(tsk->signal->group_exit_task);
924 948
925 write_unlock_irq(&tasklist_lock); 949 write_unlock_irq(&tasklist_lock);
@@ -959,39 +983,6 @@ static void check_stack_usage(void)
959static inline void check_stack_usage(void) {} 983static inline void check_stack_usage(void) {}
960#endif 984#endif
961 985
962static inline void exit_child_reaper(struct task_struct *tsk)
963{
964 if (likely(tsk->group_leader != task_child_reaper(tsk)))
965 return;
966
967 if (tsk->nsproxy->pid_ns == &init_pid_ns)
968 panic("Attempted to kill init!");
969
970 /*
971 * @tsk is the last thread in the 'cgroup-init' and is exiting.
972 * Terminate all remaining processes in the namespace and reap them
973 * before exiting @tsk.
974 *
975 * Note that @tsk (last thread of cgroup-init) may not necessarily
976 * be the child-reaper (i.e main thread of cgroup-init) of the
977 * namespace i.e the child_reaper may have already exited.
978 *
979 * Even after a child_reaper exits, we let it inherit orphaned children,
980 * because, pid_ns->child_reaper remains valid as long as there is
981 * at least one living sub-thread in the cgroup init.
982
983 * This living sub-thread of the cgroup-init will be notified when
984 * a child inherited by the 'child-reaper' exits (do_notify_parent()
985 * uses __group_send_sig_info()). Further, when reaping child processes,
986 * do_wait() iterates over children of all living sub threads.
987
988 * i.e even though 'child_reaper' thread is listed as the parent of the
989 * orphaned children, any living sub-thread in the cgroup-init can
990 * perform the role of the child_reaper.
991 */
992 zap_pid_ns_processes(tsk->nsproxy->pid_ns);
993}
994
995NORET_TYPE void do_exit(long code) 986NORET_TYPE void do_exit(long code)
996{ 987{
997 struct task_struct *tsk = current; 988 struct task_struct *tsk = current;
@@ -1051,7 +1042,6 @@ NORET_TYPE void do_exit(long code)
1051 } 1042 }
1052 group_dead = atomic_dec_and_test(&tsk->signal->live); 1043 group_dead = atomic_dec_and_test(&tsk->signal->live);
1053 if (group_dead) { 1044 if (group_dead) {
1054 exit_child_reaper(tsk);
1055 hrtimer_cancel(&tsk->signal->real_timer); 1045 hrtimer_cancel(&tsk->signal->real_timer);
1056 exit_itimers(tsk->signal); 1046 exit_itimers(tsk->signal);
1057 } 1047 }
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 3bfb1877a003..dbda475b13bd 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -875,11 +875,11 @@ static int add_lock_to_list(struct lock_class *class, struct lock_class *this,
875 if (!entry) 875 if (!entry)
876 return 0; 876 return 0;
877 877
878 entry->class = this;
879 entry->distance = distance;
880 if (!save_trace(&entry->trace)) 878 if (!save_trace(&entry->trace))
881 return 0; 879 return 0;
882 880
881 entry->class = this;
882 entry->distance = distance;
883 /* 883 /*
884 * Since we never remove from the dependency list, the list can 884 * Since we never remove from the dependency list, the list can
885 * be walked lockless by other CPUs, it's only allocation 885 * be walked lockless by other CPUs, it's only allocation
@@ -3029,7 +3029,7 @@ found_it:
3029 3029
3030 stats = get_lock_stats(hlock_class(hlock)); 3030 stats = get_lock_stats(hlock_class(hlock));
3031 if (point < ARRAY_SIZE(stats->contention_point)) 3031 if (point < ARRAY_SIZE(stats->contention_point))
3032 stats->contention_point[i]++; 3032 stats->contention_point[point]++;
3033 if (lock->cpu != smp_processor_id()) 3033 if (lock->cpu != smp_processor_id())
3034 stats->bounces[bounce_contended + !!hlock->read]++; 3034 stats->bounces[bounce_contended + !!hlock->read]++;
3035 put_lock_stats(stats); 3035 put_lock_stats(stats);
diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c
index 4b194d34d77f..20dbcbf9c7dd 100644
--- a/kernel/lockdep_proc.c
+++ b/kernel/lockdep_proc.c
@@ -472,8 +472,9 @@ static void snprint_time(char *buf, size_t bufsiz, s64 nr)
472{ 472{
473 unsigned long rem; 473 unsigned long rem;
474 474
475 nr += 5; /* for display rounding */
475 rem = do_div(nr, 1000); /* XXX: do_div_signed */ 476 rem = do_div(nr, 1000); /* XXX: do_div_signed */
476 snprintf(buf, bufsiz, "%lld.%02d", (long long)nr, ((int)rem+5)/10); 477 snprintf(buf, bufsiz, "%lld.%02d", (long long)nr, (int)rem/10);
477} 478}
478 479
479static void seq_time(struct seq_file *m, s64 time) 480static void seq_time(struct seq_file *m, s64 time)
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index ea567b78d1aa..fab8ea86fac3 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -179,9 +179,6 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns)
179 rc = sys_wait4(-1, NULL, __WALL, NULL); 179 rc = sys_wait4(-1, NULL, __WALL, NULL);
180 } while (rc != -ECHILD); 180 } while (rc != -ECHILD);
181 181
182
183 /* Child reaper for the pid namespace is going away */
184 pid_ns->child_reaper = NULL;
185 acct_exit_ns(pid_ns); 182 acct_exit_ns(pid_ns);
186 return; 183 return;
187} 184}
diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
index da9c2dda6a4e..dfdec524d1b7 100644
--- a/kernel/pm_qos_params.c
+++ b/kernel/pm_qos_params.c
@@ -43,7 +43,7 @@
43#include <linux/uaccess.h> 43#include <linux/uaccess.h>
44 44
45/* 45/*
46 * locking rule: all changes to target_value or requirements or notifiers lists 46 * locking rule: all changes to requirements or notifiers lists
47 * or pm_qos_object list and pm_qos_objects need to happen with pm_qos_lock 47 * or pm_qos_object list and pm_qos_objects need to happen with pm_qos_lock
48 * held, taken with _irqsave. One lock to rule them all 48 * held, taken with _irqsave. One lock to rule them all
49 */ 49 */
@@ -66,7 +66,7 @@ struct pm_qos_object {
66 struct miscdevice pm_qos_power_miscdev; 66 struct miscdevice pm_qos_power_miscdev;
67 char *name; 67 char *name;
68 s32 default_value; 68 s32 default_value;
69 s32 target_value; 69 atomic_t target_value;
70 s32 (*comparitor)(s32, s32); 70 s32 (*comparitor)(s32, s32);
71}; 71};
72 72
@@ -77,7 +77,7 @@ static struct pm_qos_object cpu_dma_pm_qos = {
77 .notifiers = &cpu_dma_lat_notifier, 77 .notifiers = &cpu_dma_lat_notifier,
78 .name = "cpu_dma_latency", 78 .name = "cpu_dma_latency",
79 .default_value = 2000 * USEC_PER_SEC, 79 .default_value = 2000 * USEC_PER_SEC,
80 .target_value = 2000 * USEC_PER_SEC, 80 .target_value = ATOMIC_INIT(2000 * USEC_PER_SEC),
81 .comparitor = min_compare 81 .comparitor = min_compare
82}; 82};
83 83
@@ -87,7 +87,7 @@ static struct pm_qos_object network_lat_pm_qos = {
87 .notifiers = &network_lat_notifier, 87 .notifiers = &network_lat_notifier,
88 .name = "network_latency", 88 .name = "network_latency",
89 .default_value = 2000 * USEC_PER_SEC, 89 .default_value = 2000 * USEC_PER_SEC,
90 .target_value = 2000 * USEC_PER_SEC, 90 .target_value = ATOMIC_INIT(2000 * USEC_PER_SEC),
91 .comparitor = min_compare 91 .comparitor = min_compare
92}; 92};
93 93
@@ -99,7 +99,7 @@ static struct pm_qos_object network_throughput_pm_qos = {
99 .notifiers = &network_throughput_notifier, 99 .notifiers = &network_throughput_notifier,
100 .name = "network_throughput", 100 .name = "network_throughput",
101 .default_value = 0, 101 .default_value = 0,
102 .target_value = 0, 102 .target_value = ATOMIC_INIT(0),
103 .comparitor = max_compare 103 .comparitor = max_compare
104}; 104};
105 105
@@ -150,11 +150,11 @@ static void update_target(int target)
150 extreme_value = pm_qos_array[target]->comparitor( 150 extreme_value = pm_qos_array[target]->comparitor(
151 extreme_value, node->value); 151 extreme_value, node->value);
152 } 152 }
153 if (pm_qos_array[target]->target_value != extreme_value) { 153 if (atomic_read(&pm_qos_array[target]->target_value) != extreme_value) {
154 call_notifier = 1; 154 call_notifier = 1;
155 pm_qos_array[target]->target_value = extreme_value; 155 atomic_set(&pm_qos_array[target]->target_value, extreme_value);
156 pr_debug(KERN_ERR "new target for qos %d is %d\n", target, 156 pr_debug(KERN_ERR "new target for qos %d is %d\n", target,
157 pm_qos_array[target]->target_value); 157 atomic_read(&pm_qos_array[target]->target_value));
158 } 158 }
159 spin_unlock_irqrestore(&pm_qos_lock, flags); 159 spin_unlock_irqrestore(&pm_qos_lock, flags);
160 160
@@ -193,14 +193,7 @@ static int find_pm_qos_object_by_minor(int minor)
193 */ 193 */
194int pm_qos_requirement(int pm_qos_class) 194int pm_qos_requirement(int pm_qos_class)
195{ 195{
196 int ret_val; 196 return atomic_read(&pm_qos_array[pm_qos_class]->target_value);
197 unsigned long flags;
198
199 spin_lock_irqsave(&pm_qos_lock, flags);
200 ret_val = pm_qos_array[pm_qos_class]->target_value;
201 spin_unlock_irqrestore(&pm_qos_lock, flags);
202
203 return ret_val;
204} 197}
205EXPORT_SYMBOL_GPL(pm_qos_requirement); 198EXPORT_SYMBOL_GPL(pm_qos_requirement);
206 199
diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index f011e0870b52..bbd85c60f741 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -21,6 +21,7 @@
21#include <linux/console.h> 21#include <linux/console.h>
22#include <linux/cpu.h> 22#include <linux/cpu.h>
23#include <linux/freezer.h> 23#include <linux/freezer.h>
24#include <linux/ftrace.h>
24 25
25#include "power.h" 26#include "power.h"
26 27
@@ -255,7 +256,7 @@ static int create_image(int platform_mode)
255 256
256int hibernation_snapshot(int platform_mode) 257int hibernation_snapshot(int platform_mode)
257{ 258{
258 int error; 259 int error, ftrace_save;
259 260
260 /* Free memory before shutting down devices. */ 261 /* Free memory before shutting down devices. */
261 error = swsusp_shrink_memory(); 262 error = swsusp_shrink_memory();
@@ -267,6 +268,7 @@ int hibernation_snapshot(int platform_mode)
267 goto Close; 268 goto Close;
268 269
269 suspend_console(); 270 suspend_console();
271 ftrace_save = __ftrace_enabled_save();
270 error = device_suspend(PMSG_FREEZE); 272 error = device_suspend(PMSG_FREEZE);
271 if (error) 273 if (error)
272 goto Recover_platform; 274 goto Recover_platform;
@@ -296,6 +298,7 @@ int hibernation_snapshot(int platform_mode)
296 Resume_devices: 298 Resume_devices:
297 device_resume(in_suspend ? 299 device_resume(in_suspend ?
298 (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE); 300 (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE);
301 __ftrace_enabled_restore(ftrace_save);
299 resume_console(); 302 resume_console();
300 Close: 303 Close:
301 platform_end(platform_mode); 304 platform_end(platform_mode);
@@ -366,10 +369,11 @@ static int resume_target_kernel(void)
366 369
367int hibernation_restore(int platform_mode) 370int hibernation_restore(int platform_mode)
368{ 371{
369 int error; 372 int error, ftrace_save;
370 373
371 pm_prepare_console(); 374 pm_prepare_console();
372 suspend_console(); 375 suspend_console();
376 ftrace_save = __ftrace_enabled_save();
373 error = device_suspend(PMSG_QUIESCE); 377 error = device_suspend(PMSG_QUIESCE);
374 if (error) 378 if (error)
375 goto Finish; 379 goto Finish;
@@ -384,6 +388,7 @@ int hibernation_restore(int platform_mode)
384 platform_restore_cleanup(platform_mode); 388 platform_restore_cleanup(platform_mode);
385 device_resume(PMSG_RECOVER); 389 device_resume(PMSG_RECOVER);
386 Finish: 390 Finish:
391 __ftrace_enabled_restore(ftrace_save);
387 resume_console(); 392 resume_console();
388 pm_restore_console(); 393 pm_restore_console();
389 return error; 394 return error;
@@ -396,7 +401,7 @@ int hibernation_restore(int platform_mode)
396 401
397int hibernation_platform_enter(void) 402int hibernation_platform_enter(void)
398{ 403{
399 int error; 404 int error, ftrace_save;
400 405
401 if (!hibernation_ops) 406 if (!hibernation_ops)
402 return -ENOSYS; 407 return -ENOSYS;
@@ -411,6 +416,7 @@ int hibernation_platform_enter(void)
411 goto Close; 416 goto Close;
412 417
413 suspend_console(); 418 suspend_console();
419 ftrace_save = __ftrace_enabled_save();
414 error = device_suspend(PMSG_HIBERNATE); 420 error = device_suspend(PMSG_HIBERNATE);
415 if (error) { 421 if (error) {
416 if (hibernation_ops->recover) 422 if (hibernation_ops->recover)
@@ -445,6 +451,7 @@ int hibernation_platform_enter(void)
445 hibernation_ops->finish(); 451 hibernation_ops->finish();
446 Resume_devices: 452 Resume_devices:
447 device_resume(PMSG_RESTORE); 453 device_resume(PMSG_RESTORE);
454 __ftrace_enabled_restore(ftrace_save);
448 resume_console(); 455 resume_console();
449 Close: 456 Close:
450 hibernation_ops->end(); 457 hibernation_ops->end();
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 0b7476f5d2a6..540b16b68565 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -21,6 +21,7 @@
21#include <linux/freezer.h> 21#include <linux/freezer.h>
22#include <linux/vmstat.h> 22#include <linux/vmstat.h>
23#include <linux/syscalls.h> 23#include <linux/syscalls.h>
24#include <linux/ftrace.h>
24 25
25#include "power.h" 26#include "power.h"
26 27
@@ -310,7 +311,7 @@ static int suspend_enter(suspend_state_t state)
310 */ 311 */
311int suspend_devices_and_enter(suspend_state_t state) 312int suspend_devices_and_enter(suspend_state_t state)
312{ 313{
313 int error; 314 int error, ftrace_save;
314 315
315 if (!suspend_ops) 316 if (!suspend_ops)
316 return -ENOSYS; 317 return -ENOSYS;
@@ -321,6 +322,7 @@ int suspend_devices_and_enter(suspend_state_t state)
321 goto Close; 322 goto Close;
322 } 323 }
323 suspend_console(); 324 suspend_console();
325 ftrace_save = __ftrace_enabled_save();
324 suspend_test_start(); 326 suspend_test_start();
325 error = device_suspend(PMSG_SUSPEND); 327 error = device_suspend(PMSG_SUSPEND);
326 if (error) { 328 if (error) {
@@ -352,6 +354,7 @@ int suspend_devices_and_enter(suspend_state_t state)
352 suspend_test_start(); 354 suspend_test_start();
353 device_resume(PMSG_RESUME); 355 device_resume(PMSG_RESUME);
354 suspend_test_finish("resume devices"); 356 suspend_test_finish("resume devices");
357 __ftrace_enabled_restore(ftrace_save);
355 resume_console(); 358 resume_console();
356 Close: 359 Close:
357 if (suspend_ops->end) 360 if (suspend_ops->end)
diff --git a/kernel/resource.c b/kernel/resource.c
index f5b518eabefe..03d796c1b2e9 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -362,35 +362,21 @@ int allocate_resource(struct resource *root, struct resource *new,
362 362
363EXPORT_SYMBOL(allocate_resource); 363EXPORT_SYMBOL(allocate_resource);
364 364
365/** 365/*
366 * insert_resource - Inserts a resource in the resource tree 366 * Insert a resource into the resource tree. If successful, return NULL,
367 * @parent: parent of the new resource 367 * otherwise return the conflicting resource (compare to __request_resource())
368 * @new: new resource to insert
369 *
370 * Returns 0 on success, -EBUSY if the resource can't be inserted.
371 *
372 * This function is equivalent to request_resource when no conflict
373 * happens. If a conflict happens, and the conflicting resources
374 * entirely fit within the range of the new resource, then the new
375 * resource is inserted and the conflicting resources become children of
376 * the new resource.
377 */ 368 */
378int insert_resource(struct resource *parent, struct resource *new) 369static struct resource * __insert_resource(struct resource *parent, struct resource *new)
379{ 370{
380 int result;
381 struct resource *first, *next; 371 struct resource *first, *next;
382 372
383 write_lock(&resource_lock);
384
385 for (;; parent = first) { 373 for (;; parent = first) {
386 result = 0;
387 first = __request_resource(parent, new); 374 first = __request_resource(parent, new);
388 if (!first) 375 if (!first)
389 goto out; 376 return first;
390 377
391 result = -EBUSY;
392 if (first == parent) 378 if (first == parent)
393 goto out; 379 return first;
394 380
395 if ((first->start > new->start) || (first->end < new->end)) 381 if ((first->start > new->start) || (first->end < new->end))
396 break; 382 break;
@@ -401,15 +387,13 @@ int insert_resource(struct resource *parent, struct resource *new)
401 for (next = first; ; next = next->sibling) { 387 for (next = first; ; next = next->sibling) {
402 /* Partial overlap? Bad, and unfixable */ 388 /* Partial overlap? Bad, and unfixable */
403 if (next->start < new->start || next->end > new->end) 389 if (next->start < new->start || next->end > new->end)
404 goto out; 390 return next;
405 if (!next->sibling) 391 if (!next->sibling)
406 break; 392 break;
407 if (next->sibling->start > new->end) 393 if (next->sibling->start > new->end)
408 break; 394 break;
409 } 395 }
410 396
411 result = 0;
412
413 new->parent = parent; 397 new->parent = parent;
414 new->sibling = next->sibling; 398 new->sibling = next->sibling;
415 new->child = first; 399 new->child = first;
@@ -426,10 +410,64 @@ int insert_resource(struct resource *parent, struct resource *new)
426 next = next->sibling; 410 next = next->sibling;
427 next->sibling = new; 411 next->sibling = new;
428 } 412 }
413 return NULL;
414}
429 415
430 out: 416/**
417 * insert_resource - Inserts a resource in the resource tree
418 * @parent: parent of the new resource
419 * @new: new resource to insert
420 *
421 * Returns 0 on success, -EBUSY if the resource can't be inserted.
422 *
423 * This function is equivalent to request_resource when no conflict
424 * happens. If a conflict happens, and the conflicting resources
425 * entirely fit within the range of the new resource, then the new
426 * resource is inserted and the conflicting resources become children of
427 * the new resource.
428 */
429int insert_resource(struct resource *parent, struct resource *new)
430{
431 struct resource *conflict;
432
433 write_lock(&resource_lock);
434 conflict = __insert_resource(parent, new);
435 write_unlock(&resource_lock);
436 return conflict ? -EBUSY : 0;
437}
438
439/**
440 * insert_resource_expand_to_fit - Insert a resource into the resource tree
441 * @root: root resource descriptor
442 * @new: new resource to insert
443 *
444 * Insert a resource into the resource tree, possibly expanding it in order
445 * to make it encompass any conflicting resources.
446 */
447void insert_resource_expand_to_fit(struct resource *root, struct resource *new)
448{
449 if (new->parent)
450 return;
451
452 write_lock(&resource_lock);
453 for (;;) {
454 struct resource *conflict;
455
456 conflict = __insert_resource(root, new);
457 if (!conflict)
458 break;
459 if (conflict == root)
460 break;
461
462 /* Ok, expand resource to cover the conflict, then try again .. */
463 if (conflict->start < new->start)
464 new->start = conflict->start;
465 if (conflict->end > new->end)
466 new->end = conflict->end;
467
468 printk("Expanded resource %s due to conflict with %s\n", new->name, conflict->name);
469 }
431 write_unlock(&resource_lock); 470 write_unlock(&resource_lock);
432 return result;
433} 471}
434 472
435/** 473/**
diff --git a/kernel/sched.c b/kernel/sched.c
index 9a1ddb84e26d..cc1f81b50b82 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4179,6 +4179,65 @@ void account_steal_time(struct task_struct *p, cputime_t steal)
4179} 4179}
4180 4180
4181/* 4181/*
4182 * Use precise platform statistics if available:
4183 */
4184#ifdef CONFIG_VIRT_CPU_ACCOUNTING
4185cputime_t task_utime(struct task_struct *p)
4186{
4187 return p->utime;
4188}
4189
4190cputime_t task_stime(struct task_struct *p)
4191{
4192 return p->stime;
4193}
4194#else
4195cputime_t task_utime(struct task_struct *p)
4196{
4197 clock_t utime = cputime_to_clock_t(p->utime),
4198 total = utime + cputime_to_clock_t(p->stime);
4199 u64 temp;
4200
4201 /*
4202 * Use CFS's precise accounting:
4203 */
4204 temp = (u64)nsec_to_clock_t(p->se.sum_exec_runtime);
4205
4206 if (total) {
4207 temp *= utime;
4208 do_div(temp, total);
4209 }
4210 utime = (clock_t)temp;
4211
4212 p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime));
4213 return p->prev_utime;
4214}
4215
4216cputime_t task_stime(struct task_struct *p)
4217{
4218 clock_t stime;
4219
4220 /*
4221 * Use CFS's precise accounting. (we subtract utime from
4222 * the total, to make sure the total observed by userspace
4223 * grows monotonically - apps rely on that):
4224 */
4225 stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
4226 cputime_to_clock_t(task_utime(p));
4227
4228 if (stime >= 0)
4229 p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));
4230
4231 return p->prev_stime;
4232}
4233#endif
4234
4235inline cputime_t task_gtime(struct task_struct *p)
4236{
4237 return p->gtime;
4238}
4239
4240/*
4182 * This function gets called by the timer code, with HZ frequency. 4241 * This function gets called by the timer code, with HZ frequency.
4183 * We call it with interrupts disabled. 4242 * We call it with interrupts disabled.
4184 * 4243 *
@@ -7637,24 +7696,27 @@ static int dattrs_equal(struct sched_domain_attr *cur, int idx_cur,
7637 * and partition_sched_domains() will fallback to the single partition 7696 * and partition_sched_domains() will fallback to the single partition
7638 * 'fallback_doms', it also forces the domains to be rebuilt. 7697 * 'fallback_doms', it also forces the domains to be rebuilt.
7639 * 7698 *
7699 * If doms_new==NULL it will be replaced with cpu_online_map.
7700 * ndoms_new==0 is a special case for destroying existing domains.
7701 * It will not create the default domain.
7702 *
7640 * Call with hotplug lock held 7703 * Call with hotplug lock held
7641 */ 7704 */
7642void partition_sched_domains(int ndoms_new, cpumask_t *doms_new, 7705void partition_sched_domains(int ndoms_new, cpumask_t *doms_new,
7643 struct sched_domain_attr *dattr_new) 7706 struct sched_domain_attr *dattr_new)
7644{ 7707{
7645 int i, j; 7708 int i, j, n;
7646 7709
7647 mutex_lock(&sched_domains_mutex); 7710 mutex_lock(&sched_domains_mutex);
7648 7711
7649 /* always unregister in case we don't destroy any domains */ 7712 /* always unregister in case we don't destroy any domains */
7650 unregister_sched_domain_sysctl(); 7713 unregister_sched_domain_sysctl();
7651 7714
7652 if (doms_new == NULL) 7715 n = doms_new ? ndoms_new : 0;
7653 ndoms_new = 0;
7654 7716
7655 /* Destroy deleted domains */ 7717 /* Destroy deleted domains */
7656 for (i = 0; i < ndoms_cur; i++) { 7718 for (i = 0; i < ndoms_cur; i++) {
7657 for (j = 0; j < ndoms_new; j++) { 7719 for (j = 0; j < n; j++) {
7658 if (cpus_equal(doms_cur[i], doms_new[j]) 7720 if (cpus_equal(doms_cur[i], doms_new[j])
7659 && dattrs_equal(dattr_cur, i, dattr_new, j)) 7721 && dattrs_equal(dattr_cur, i, dattr_new, j))
7660 goto match1; 7722 goto match1;
@@ -7667,7 +7729,6 @@ match1:
7667 7729
7668 if (doms_new == NULL) { 7730 if (doms_new == NULL) {
7669 ndoms_cur = 0; 7731 ndoms_cur = 0;
7670 ndoms_new = 1;
7671 doms_new = &fallback_doms; 7732 doms_new = &fallback_doms;
7672 cpus_andnot(doms_new[0], cpu_online_map, cpu_isolated_map); 7733 cpus_andnot(doms_new[0], cpu_online_map, cpu_isolated_map);
7673 dattr_new = NULL; 7734 dattr_new = NULL;
@@ -7704,8 +7765,13 @@ match2:
7704int arch_reinit_sched_domains(void) 7765int arch_reinit_sched_domains(void)
7705{ 7766{
7706 get_online_cpus(); 7767 get_online_cpus();
7768
7769 /* Destroy domains first to force the rebuild */
7770 partition_sched_domains(0, NULL, NULL);
7771
7707 rebuild_sched_domains(); 7772 rebuild_sched_domains();
7708 put_online_cpus(); 7773 put_online_cpus();
7774
7709 return 0; 7775 return 0;
7710} 7776}
7711 7777
@@ -7789,7 +7855,7 @@ static int update_sched_domains(struct notifier_block *nfb,
7789 case CPU_ONLINE_FROZEN: 7855 case CPU_ONLINE_FROZEN:
7790 case CPU_DEAD: 7856 case CPU_DEAD:
7791 case CPU_DEAD_FROZEN: 7857 case CPU_DEAD_FROZEN:
7792 partition_sched_domains(0, NULL, NULL); 7858 partition_sched_domains(1, NULL, NULL);
7793 return NOTIFY_OK; 7859 return NOTIFY_OK;
7794 7860
7795 default: 7861 default:
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 998ba54b4543..552310798dad 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -199,6 +199,8 @@ static inline struct rt_rq *group_rt_rq(struct sched_rt_entity *rt_se)
199 199
200static inline void sched_rt_rq_enqueue(struct rt_rq *rt_rq) 200static inline void sched_rt_rq_enqueue(struct rt_rq *rt_rq)
201{ 201{
202 if (rt_rq->rt_nr_running)
203 resched_task(rq_of_rt_rq(rt_rq)->curr);
202} 204}
203 205
204static inline void sched_rt_rq_dequeue(struct rt_rq *rt_rq) 206static inline void sched_rt_rq_dequeue(struct rt_rq *rt_rq)
@@ -438,9 +440,6 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
438{ 440{
439 u64 runtime = sched_rt_runtime(rt_rq); 441 u64 runtime = sched_rt_runtime(rt_rq);
440 442
441 if (runtime == RUNTIME_INF)
442 return 0;
443
444 if (rt_rq->rt_throttled) 443 if (rt_rq->rt_throttled)
445 return rt_rq_throttled(rt_rq); 444 return rt_rq_throttled(rt_rq);
446 445
@@ -491,9 +490,11 @@ static void update_curr_rt(struct rq *rq)
491 rt_rq = rt_rq_of_se(rt_se); 490 rt_rq = rt_rq_of_se(rt_se);
492 491
493 spin_lock(&rt_rq->rt_runtime_lock); 492 spin_lock(&rt_rq->rt_runtime_lock);
494 rt_rq->rt_time += delta_exec; 493 if (sched_rt_runtime(rt_rq) != RUNTIME_INF) {
495 if (sched_rt_runtime_exceeded(rt_rq)) 494 rt_rq->rt_time += delta_exec;
496 resched_task(curr); 495 if (sched_rt_runtime_exceeded(rt_rq))
496 resched_task(curr);
497 }
497 spin_unlock(&rt_rq->rt_runtime_lock); 498 spin_unlock(&rt_rq->rt_runtime_lock);
498 } 499 }
499} 500}
diff --git a/kernel/smp.c b/kernel/smp.c
index 782e2b93e465..f362a8553777 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -210,8 +210,10 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
210{ 210{
211 struct call_single_data d; 211 struct call_single_data d;
212 unsigned long flags; 212 unsigned long flags;
213 /* prevent preemption and reschedule on another processor */ 213 /* prevent preemption and reschedule on another processor,
214 as well as CPU removal */
214 int me = get_cpu(); 215 int me = get_cpu();
216 int err = 0;
215 217
216 /* Can deadlock when called with interrupts disabled */ 218 /* Can deadlock when called with interrupts disabled */
217 WARN_ON(irqs_disabled()); 219 WARN_ON(irqs_disabled());
@@ -220,7 +222,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
220 local_irq_save(flags); 222 local_irq_save(flags);
221 func(info); 223 func(info);
222 local_irq_restore(flags); 224 local_irq_restore(flags);
223 } else { 225 } else if ((unsigned)cpu < NR_CPUS && cpu_online(cpu)) {
224 struct call_single_data *data = NULL; 226 struct call_single_data *data = NULL;
225 227
226 if (!wait) { 228 if (!wait) {
@@ -236,10 +238,12 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
236 data->func = func; 238 data->func = func;
237 data->info = info; 239 data->info = info;
238 generic_exec_single(cpu, data); 240 generic_exec_single(cpu, data);
241 } else {
242 err = -ENXIO; /* CPU not online */
239 } 243 }
240 244
241 put_cpu(); 245 put_cpu();
242 return 0; 246 return err;
243} 247}
244EXPORT_SYMBOL(smp_call_function_single); 248EXPORT_SYMBOL(smp_call_function_single);
245 249
diff --git a/kernel/softlockup.c b/kernel/softlockup.c
index b75b492fbfcf..cb838ee93a82 100644
--- a/kernel/softlockup.c
+++ b/kernel/softlockup.c
@@ -233,7 +233,8 @@ static void check_hung_uninterruptible_tasks(int this_cpu)
233 do_each_thread(g, t) { 233 do_each_thread(g, t) {
234 if (!--max_count) 234 if (!--max_count)
235 goto unlock; 235 goto unlock;
236 if (t->state & TASK_UNINTERRUPTIBLE) 236 /* use "==" to skip the TASK_KILLABLE tasks waiting on NFS */
237 if (t->state == TASK_UNINTERRUPTIBLE)
237 check_hung_task(t, now); 238 check_hung_task(t, now);
238 } while_each_thread(g, t); 239 } while_each_thread(g, t);
239 unlock: 240 unlock:
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index fe4713347275..50ec0886fa3d 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -159,6 +159,7 @@ static int proc_dointvec_taint(struct ctl_table *table, int write, struct file *
159static struct ctl_table root_table[]; 159static struct ctl_table root_table[];
160static struct ctl_table_root sysctl_table_root; 160static struct ctl_table_root sysctl_table_root;
161static struct ctl_table_header root_table_header = { 161static struct ctl_table_header root_table_header = {
162 .count = 1,
162 .ctl_table = root_table, 163 .ctl_table = root_table,
163 .ctl_entry = LIST_HEAD_INIT(sysctl_table_root.default_set.list), 164 .ctl_entry = LIST_HEAD_INIT(sysctl_table_root.default_set.list),
164 .root = &sysctl_table_root, 165 .root = &sysctl_table_root,
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 3d1e3e1a1971..1876b526c778 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -177,7 +177,7 @@ void clockevents_register_device(struct clock_event_device *dev)
177/* 177/*
178 * Noop handler when we shut down an event device 178 * Noop handler when we shut down an event device
179 */ 179 */
180static void clockevents_handle_noop(struct clock_event_device *dev) 180void clockevents_handle_noop(struct clock_event_device *dev)
181{ 181{
182} 182}
183 183
@@ -199,7 +199,6 @@ void clockevents_exchange_device(struct clock_event_device *old,
199 * released list and do a notify add later. 199 * released list and do a notify add later.
200 */ 200 */
201 if (old) { 201 if (old) {
202 old->event_handler = clockevents_handle_noop;
203 clockevents_set_mode(old, CLOCK_EVT_MODE_UNUSED); 202 clockevents_set_mode(old, CLOCK_EVT_MODE_UNUSED);
204 list_del(&old->list); 203 list_del(&old->list);
205 list_add(&old->list, &clockevents_released); 204 list_add(&old->list, &clockevents_released);
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 5125ddd8196b..1ad46f3df6e7 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -245,7 +245,7 @@ static void sync_cmos_clock(unsigned long dummy)
245 if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2) 245 if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2)
246 fail = update_persistent_clock(now); 246 fail = update_persistent_clock(now);
247 247
248 next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec; 248 next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec - (TICK_NSEC / 2);
249 if (next.tv_nsec <= 0) 249 if (next.tv_nsec <= 0)
250 next.tv_nsec += NSEC_PER_SEC; 250 next.tv_nsec += NSEC_PER_SEC;
251 251
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
index 31463d370b94..2f5a38294bf9 100644
--- a/kernel/time/tick-broadcast.c
+++ b/kernel/time/tick-broadcast.c
@@ -175,6 +175,8 @@ static void tick_do_periodic_broadcast(void)
175 */ 175 */
176static void tick_handle_periodic_broadcast(struct clock_event_device *dev) 176static void tick_handle_periodic_broadcast(struct clock_event_device *dev)
177{ 177{
178 ktime_t next;
179
178 tick_do_periodic_broadcast(); 180 tick_do_periodic_broadcast();
179 181
180 /* 182 /*
@@ -185,10 +187,13 @@ static void tick_handle_periodic_broadcast(struct clock_event_device *dev)
185 187
186 /* 188 /*
187 * Setup the next period for devices, which do not have 189 * Setup the next period for devices, which do not have
188 * periodic mode: 190 * periodic mode. We read dev->next_event first and add to it
191 * when the event alrady expired. clockevents_program_event()
192 * sets dev->next_event only when the event is really
193 * programmed to the device.
189 */ 194 */
190 for (;;) { 195 for (next = dev->next_event; ;) {
191 ktime_t next = ktime_add(dev->next_event, tick_period); 196 next = ktime_add(next, tick_period);
192 197
193 if (!clockevents_program_event(dev, next, ktime_get())) 198 if (!clockevents_program_event(dev, next, ktime_get()))
194 return; 199 return;
@@ -205,7 +210,7 @@ static void tick_do_broadcast_on_off(void *why)
205 struct clock_event_device *bc, *dev; 210 struct clock_event_device *bc, *dev;
206 struct tick_device *td; 211 struct tick_device *td;
207 unsigned long flags, *reason = why; 212 unsigned long flags, *reason = why;
208 int cpu; 213 int cpu, bc_stopped;
209 214
210 spin_lock_irqsave(&tick_broadcast_lock, flags); 215 spin_lock_irqsave(&tick_broadcast_lock, flags);
211 216
@@ -223,6 +228,8 @@ static void tick_do_broadcast_on_off(void *why)
223 if (!tick_device_is_functional(dev)) 228 if (!tick_device_is_functional(dev))
224 goto out; 229 goto out;
225 230
231 bc_stopped = cpus_empty(tick_broadcast_mask);
232
226 switch (*reason) { 233 switch (*reason) {
227 case CLOCK_EVT_NOTIFY_BROADCAST_ON: 234 case CLOCK_EVT_NOTIFY_BROADCAST_ON:
228 case CLOCK_EVT_NOTIFY_BROADCAST_FORCE: 235 case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
@@ -245,9 +252,10 @@ static void tick_do_broadcast_on_off(void *why)
245 break; 252 break;
246 } 253 }
247 254
248 if (cpus_empty(tick_broadcast_mask)) 255 if (cpus_empty(tick_broadcast_mask)) {
249 clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN); 256 if (!bc_stopped)
250 else { 257 clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN);
258 } else if (bc_stopped) {
251 if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC) 259 if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
252 tick_broadcast_start_periodic(bc); 260 tick_broadcast_start_periodic(bc);
253 else 261 else
@@ -364,16 +372,8 @@ cpumask_t *tick_get_broadcast_oneshot_mask(void)
364static int tick_broadcast_set_event(ktime_t expires, int force) 372static int tick_broadcast_set_event(ktime_t expires, int force)
365{ 373{
366 struct clock_event_device *bc = tick_broadcast_device.evtdev; 374 struct clock_event_device *bc = tick_broadcast_device.evtdev;
367 ktime_t now = ktime_get(); 375
368 int res; 376 return tick_dev_program_event(bc, expires, force);
369
370 for(;;) {
371 res = clockevents_program_event(bc, expires, now);
372 if (!res || !force)
373 return res;
374 now = ktime_get();
375 expires = ktime_add(now, ktime_set(0, bc->min_delta_ns));
376 }
377} 377}
378 378
379int tick_resume_broadcast_oneshot(struct clock_event_device *bc) 379int tick_resume_broadcast_oneshot(struct clock_event_device *bc)
@@ -491,14 +491,52 @@ static void tick_broadcast_clear_oneshot(int cpu)
491 cpu_clear(cpu, tick_broadcast_oneshot_mask); 491 cpu_clear(cpu, tick_broadcast_oneshot_mask);
492} 492}
493 493
494static void tick_broadcast_init_next_event(cpumask_t *mask, ktime_t expires)
495{
496 struct tick_device *td;
497 int cpu;
498
499 for_each_cpu_mask_nr(cpu, *mask) {
500 td = &per_cpu(tick_cpu_device, cpu);
501 if (td->evtdev)
502 td->evtdev->next_event = expires;
503 }
504}
505
494/** 506/**
495 * tick_broadcast_setup_oneshot - setup the broadcast device 507 * tick_broadcast_setup_oneshot - setup the broadcast device
496 */ 508 */
497void tick_broadcast_setup_oneshot(struct clock_event_device *bc) 509void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
498{ 510{
499 bc->event_handler = tick_handle_oneshot_broadcast; 511 /* Set it up only once ! */
500 clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT); 512 if (bc->event_handler != tick_handle_oneshot_broadcast) {
501 bc->next_event.tv64 = KTIME_MAX; 513 int was_periodic = bc->mode == CLOCK_EVT_MODE_PERIODIC;
514 int cpu = smp_processor_id();
515 cpumask_t mask;
516
517 bc->event_handler = tick_handle_oneshot_broadcast;
518 clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
519
520 /* Take the do_timer update */
521 tick_do_timer_cpu = cpu;
522
523 /*
524 * We must be careful here. There might be other CPUs
525 * waiting for periodic broadcast. We need to set the
526 * oneshot_mask bits for those and program the
527 * broadcast device to fire.
528 */
529 mask = tick_broadcast_mask;
530 cpu_clear(cpu, mask);
531 cpus_or(tick_broadcast_oneshot_mask,
532 tick_broadcast_oneshot_mask, mask);
533
534 if (was_periodic && !cpus_empty(mask)) {
535 tick_broadcast_init_next_event(&mask, tick_next_period);
536 tick_broadcast_set_event(tick_next_period, 1);
537 } else
538 bc->next_event.tv64 = KTIME_MAX;
539 }
502} 540}
503 541
504/* 542/*
diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
index 80c4336f4188..c4777193d567 100644
--- a/kernel/time/tick-common.c
+++ b/kernel/time/tick-common.c
@@ -161,6 +161,7 @@ static void tick_setup_device(struct tick_device *td,
161 } else { 161 } else {
162 handler = td->evtdev->event_handler; 162 handler = td->evtdev->event_handler;
163 next_event = td->evtdev->next_event; 163 next_event = td->evtdev->next_event;
164 td->evtdev->event_handler = clockevents_handle_noop;
164 } 165 }
165 166
166 td->evtdev = newdev; 167 td->evtdev = newdev;
diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
index f13f2b7f4fd4..0ffc2918ea6f 100644
--- a/kernel/time/tick-internal.h
+++ b/kernel/time/tick-internal.h
@@ -17,6 +17,8 @@ extern void tick_handle_periodic(struct clock_event_device *dev);
17extern void tick_setup_oneshot(struct clock_event_device *newdev, 17extern void tick_setup_oneshot(struct clock_event_device *newdev,
18 void (*handler)(struct clock_event_device *), 18 void (*handler)(struct clock_event_device *),
19 ktime_t nextevt); 19 ktime_t nextevt);
20extern int tick_dev_program_event(struct clock_event_device *dev,
21 ktime_t expires, int force);
20extern int tick_program_event(ktime_t expires, int force); 22extern int tick_program_event(ktime_t expires, int force);
21extern void tick_oneshot_notify(void); 23extern void tick_oneshot_notify(void);
22extern int tick_switch_to_oneshot(void (*handler)(struct clock_event_device *)); 24extern int tick_switch_to_oneshot(void (*handler)(struct clock_event_device *));
diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c
index 450c04935b66..2e8de678e767 100644
--- a/kernel/time/tick-oneshot.c
+++ b/kernel/time/tick-oneshot.c
@@ -23,24 +23,56 @@
23#include "tick-internal.h" 23#include "tick-internal.h"
24 24
25/** 25/**
26 * tick_program_event 26 * tick_program_event internal worker function
27 */ 27 */
28int tick_program_event(ktime_t expires, int force) 28int tick_dev_program_event(struct clock_event_device *dev, ktime_t expires,
29 int force)
29{ 30{
30 struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev;
31 ktime_t now = ktime_get(); 31 ktime_t now = ktime_get();
32 int i;
32 33
33 while (1) { 34 for (i = 0;;) {
34 int ret = clockevents_program_event(dev, expires, now); 35 int ret = clockevents_program_event(dev, expires, now);
35 36
36 if (!ret || !force) 37 if (!ret || !force)
37 return ret; 38 return ret;
39
40 /*
41 * We tried 2 times to program the device with the given
42 * min_delta_ns. If that's not working then we double it
43 * and emit a warning.
44 */
45 if (++i > 2) {
46 /* Increase the min. delta and try again */
47 if (!dev->min_delta_ns)
48 dev->min_delta_ns = 5000;
49 else
50 dev->min_delta_ns += dev->min_delta_ns >> 1;
51
52 printk(KERN_WARNING
53 "CE: %s increasing min_delta_ns to %lu nsec\n",
54 dev->name ? dev->name : "?",
55 dev->min_delta_ns << 1);
56
57 i = 0;
58 }
59
38 now = ktime_get(); 60 now = ktime_get();
39 expires = ktime_add(now, ktime_set(0, dev->min_delta_ns)); 61 expires = ktime_add_ns(now, dev->min_delta_ns);
40 } 62 }
41} 63}
42 64
43/** 65/**
66 * tick_program_event
67 */
68int tick_program_event(ktime_t expires, int force)
69{
70 struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev;
71
72 return tick_dev_program_event(dev, expires, force);
73}
74
75/**
44 * tick_resume_onshot - resume oneshot mode 76 * tick_resume_onshot - resume oneshot mode
45 */ 77 */
46void tick_resume_oneshot(void) 78void tick_resume_oneshot(void)
@@ -61,7 +93,7 @@ void tick_setup_oneshot(struct clock_event_device *newdev,
61{ 93{
62 newdev->event_handler = handler; 94 newdev->event_handler = handler;
63 clockevents_set_mode(newdev, CLOCK_EVT_MODE_ONESHOT); 95 clockevents_set_mode(newdev, CLOCK_EVT_MODE_ONESHOT);
64 clockevents_program_event(newdev, next_event, ktime_get()); 96 tick_dev_program_event(newdev, next_event, 1);
65} 97}
66 98
67/** 99/**
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 7a46bde78c66..a87b0468568b 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -162,6 +162,8 @@ void tick_nohz_stop_idle(int cpu)
162 ts->idle_lastupdate = now; 162 ts->idle_lastupdate = now;
163 ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta); 163 ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta);
164 ts->idle_active = 0; 164 ts->idle_active = 0;
165
166 sched_clock_idle_wakeup_event(0);
165 } 167 }
166} 168}
167 169
@@ -177,6 +179,7 @@ static ktime_t tick_nohz_start_idle(struct tick_sched *ts)
177 } 179 }
178 ts->idle_entrytime = now; 180 ts->idle_entrytime = now;
179 ts->idle_active = 1; 181 ts->idle_active = 1;
182 sched_clock_idle_sleep_event();
180 return now; 183 return now;
181} 184}
182 185
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8b5a7d304a5f..0b504814e378 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -394,7 +394,7 @@ config LOCKDEP
394 bool 394 bool
395 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT 395 depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
396 select STACKTRACE 396 select STACKTRACE
397 select FRAME_POINTER if !X86 && !MIPS 397 select FRAME_POINTER if !X86 && !MIPS && !PPC
398 select KALLSYMS 398 select KALLSYMS
399 select KALLSYMS_ALL 399 select KALLSYMS_ALL
400 400
@@ -676,13 +676,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER
676 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT 676 depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
677 depends on !X86_64 677 depends on !X86_64
678 select STACKTRACE 678 select STACKTRACE
679 select FRAME_POINTER 679 select FRAME_POINTER if !PPC
680 help 680 help
681 Provide stacktrace filter for fault-injection capabilities 681 Provide stacktrace filter for fault-injection capabilities
682 682
683config LATENCYTOP 683config LATENCYTOP
684 bool "Latency measuring infrastructure" 684 bool "Latency measuring infrastructure"
685 select FRAME_POINTER if !MIPS 685 select FRAME_POINTER if !MIPS && !PPC
686 select KALLSYMS 686 select KALLSYMS
687 select KALLSYMS_ALL 687 select KALLSYMS_ALL
688 select STACKTRACE 688 select STACKTRACE
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 45a6bde762d1..e3ab374e1334 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -112,6 +112,7 @@ static struct debug_obj *lookup_object(void *addr, struct debug_bucket *b)
112 112
113/* 113/*
114 * Allocate a new object. If the pool is empty, switch off the debugger. 114 * Allocate a new object. If the pool is empty, switch off the debugger.
115 * Must be called with interrupts disabled.
115 */ 116 */
116static struct debug_obj * 117static struct debug_obj *
117alloc_object(void *addr, struct debug_bucket *b, struct debug_obj_descr *descr) 118alloc_object(void *addr, struct debug_bucket *b, struct debug_obj_descr *descr)
@@ -148,17 +149,18 @@ alloc_object(void *addr, struct debug_bucket *b, struct debug_obj_descr *descr)
148static void free_object(struct debug_obj *obj) 149static void free_object(struct debug_obj *obj)
149{ 150{
150 unsigned long idx = (unsigned long)(obj - obj_static_pool); 151 unsigned long idx = (unsigned long)(obj - obj_static_pool);
152 unsigned long flags;
151 153
152 if (obj_pool_free < ODEBUG_POOL_SIZE || idx < ODEBUG_POOL_SIZE) { 154 if (obj_pool_free < ODEBUG_POOL_SIZE || idx < ODEBUG_POOL_SIZE) {
153 spin_lock(&pool_lock); 155 spin_lock_irqsave(&pool_lock, flags);
154 hlist_add_head(&obj->node, &obj_pool); 156 hlist_add_head(&obj->node, &obj_pool);
155 obj_pool_free++; 157 obj_pool_free++;
156 obj_pool_used--; 158 obj_pool_used--;
157 spin_unlock(&pool_lock); 159 spin_unlock_irqrestore(&pool_lock, flags);
158 } else { 160 } else {
159 spin_lock(&pool_lock); 161 spin_lock_irqsave(&pool_lock, flags);
160 obj_pool_used--; 162 obj_pool_used--;
161 spin_unlock(&pool_lock); 163 spin_unlock_irqrestore(&pool_lock, flags);
162 kmem_cache_free(obj_cache, obj); 164 kmem_cache_free(obj_cache, obj);
163 } 165 }
164} 166}
@@ -171,6 +173,7 @@ static void debug_objects_oom(void)
171{ 173{
172 struct debug_bucket *db = obj_hash; 174 struct debug_bucket *db = obj_hash;
173 struct hlist_node *node, *tmp; 175 struct hlist_node *node, *tmp;
176 HLIST_HEAD(freelist);
174 struct debug_obj *obj; 177 struct debug_obj *obj;
175 unsigned long flags; 178 unsigned long flags;
176 int i; 179 int i;
@@ -179,11 +182,14 @@ static void debug_objects_oom(void)
179 182
180 for (i = 0; i < ODEBUG_HASH_SIZE; i++, db++) { 183 for (i = 0; i < ODEBUG_HASH_SIZE; i++, db++) {
181 spin_lock_irqsave(&db->lock, flags); 184 spin_lock_irqsave(&db->lock, flags);
182 hlist_for_each_entry_safe(obj, node, tmp, &db->list, node) { 185 hlist_move_list(&db->list, &freelist);
186 spin_unlock_irqrestore(&db->lock, flags);
187
188 /* Now free them */
189 hlist_for_each_entry_safe(obj, node, tmp, &freelist, node) {
183 hlist_del(&obj->node); 190 hlist_del(&obj->node);
184 free_object(obj); 191 free_object(obj);
185 } 192 }
186 spin_unlock_irqrestore(&db->lock, flags);
187 } 193 }
188} 194}
189 195
@@ -498,8 +504,9 @@ void debug_object_free(void *addr, struct debug_obj_descr *descr)
498 return; 504 return;
499 default: 505 default:
500 hlist_del(&obj->node); 506 hlist_del(&obj->node);
507 spin_unlock_irqrestore(&db->lock, flags);
501 free_object(obj); 508 free_object(obj);
502 break; 509 return;
503 } 510 }
504out_unlock: 511out_unlock:
505 spin_unlock_irqrestore(&db->lock, flags); 512 spin_unlock_irqrestore(&db->lock, flags);
@@ -510,6 +517,7 @@ static void __debug_check_no_obj_freed(const void *address, unsigned long size)
510{ 517{
511 unsigned long flags, oaddr, saddr, eaddr, paddr, chunks; 518 unsigned long flags, oaddr, saddr, eaddr, paddr, chunks;
512 struct hlist_node *node, *tmp; 519 struct hlist_node *node, *tmp;
520 HLIST_HEAD(freelist);
513 struct debug_obj_descr *descr; 521 struct debug_obj_descr *descr;
514 enum debug_obj_state state; 522 enum debug_obj_state state;
515 struct debug_bucket *db; 523 struct debug_bucket *db;
@@ -545,11 +553,18 @@ repeat:
545 goto repeat; 553 goto repeat;
546 default: 554 default:
547 hlist_del(&obj->node); 555 hlist_del(&obj->node);
548 free_object(obj); 556 hlist_add_head(&obj->node, &freelist);
549 break; 557 break;
550 } 558 }
551 } 559 }
552 spin_unlock_irqrestore(&db->lock, flags); 560 spin_unlock_irqrestore(&db->lock, flags);
561
562 /* Now free them */
563 hlist_for_each_entry_safe(obj, node, tmp, &freelist, node) {
564 hlist_del(&obj->node);
565 free_object(obj);
566 }
567
553 if (cnt > debug_objects_maxchain) 568 if (cnt > debug_objects_maxchain)
554 debug_objects_maxchain = cnt; 569 debug_objects_maxchain = cnt;
555 } 570 }
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index d8d1d1142248..c399bc1093cb 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -27,6 +27,7 @@
27 27
28#include <asm/page.h> /* for PAGE_SIZE */ 28#include <asm/page.h> /* for PAGE_SIZE */
29#include <asm/div64.h> 29#include <asm/div64.h>
30#include <asm/sections.h> /* for dereference_function_descriptor() */
30 31
31/* Works only for digits and letters, but small and fast */ 32/* Works only for digits and letters, but small and fast */
32#define TOLOWER(x) ((x) | 0x20) 33#define TOLOWER(x) ((x) | 0x20)
@@ -513,16 +514,6 @@ static char *string(char *buf, char *end, char *s, int field_width, int precisio
513 return buf; 514 return buf;
514} 515}
515 516
516static inline void *dereference_function_descriptor(void *ptr)
517{
518#if defined(CONFIG_IA64) || defined(CONFIG_PPC64)
519 void *p;
520 if (!probe_kernel_address(ptr, p))
521 ptr = p;
522#endif
523 return ptr;
524}
525
526static char *symbol_string(char *buf, char *end, void *ptr, int field_width, int precision, int flags) 517static char *symbol_string(char *buf, char *end, void *ptr, int field_width, int precision, int flags)
527{ 518{
528 unsigned long value = (unsigned long) ptr; 519 unsigned long value = (unsigned long) ptr;
diff --git a/mm/filemap.c b/mm/filemap.c
index 54e968650855..876bc595d0f8 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2129,13 +2129,20 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov,
2129 * After a write we want buffered reads to be sure to go to disk to get 2129 * After a write we want buffered reads to be sure to go to disk to get
2130 * the new data. We invalidate clean cached page from the region we're 2130 * the new data. We invalidate clean cached page from the region we're
2131 * about to write. We do this *before* the write so that we can return 2131 * about to write. We do this *before* the write so that we can return
2132 * -EIO without clobbering -EIOCBQUEUED from ->direct_IO(). 2132 * without clobbering -EIOCBQUEUED from ->direct_IO().
2133 */ 2133 */
2134 if (mapping->nrpages) { 2134 if (mapping->nrpages) {
2135 written = invalidate_inode_pages2_range(mapping, 2135 written = invalidate_inode_pages2_range(mapping,
2136 pos >> PAGE_CACHE_SHIFT, end); 2136 pos >> PAGE_CACHE_SHIFT, end);
2137 if (written) 2137 /*
2138 * If a page can not be invalidated, return 0 to fall back
2139 * to buffered write.
2140 */
2141 if (written) {
2142 if (written == -EBUSY)
2143 return 0;
2138 goto out; 2144 goto out;
2145 }
2139 } 2146 }
2140 2147
2141 written = mapping->a_ops->direct_IO(WRITE, iocb, iov, pos, *nr_segs); 2148 written = mapping->a_ops->direct_IO(WRITE, iocb, iov, pos, *nr_segs);
diff --git a/mm/mmap.c b/mm/mmap.c
index 339cf5c4d5d8..e7a5a68a9c2e 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1030,6 +1030,10 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr,
1030 } else { 1030 } else {
1031 switch (flags & MAP_TYPE) { 1031 switch (flags & MAP_TYPE) {
1032 case MAP_SHARED: 1032 case MAP_SHARED:
1033 /*
1034 * Ignore pgoff.
1035 */
1036 pgoff = 0;
1033 vm_flags |= VM_SHARED | VM_MAYSHARE; 1037 vm_flags |= VM_SHARED | VM_MAYSHARE;
1034 break; 1038 break;
1035 case MAP_PRIVATE: 1039 case MAP_PRIVATE:
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index af982f7cdb2a..e293c58bea58 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -694,6 +694,9 @@ static int move_freepages(struct zone *zone,
694#endif 694#endif
695 695
696 for (page = start_page; page <= end_page;) { 696 for (page = start_page; page <= end_page;) {
697 /* Make sure we are not inadvertently changing nodes */
698 VM_BUG_ON(page_to_nid(page) != zone_to_nid(zone));
699
697 if (!pfn_valid_within(page_to_pfn(page))) { 700 if (!pfn_valid_within(page_to_pfn(page))) {
698 page++; 701 page++;
699 continue; 702 continue;
@@ -2516,6 +2519,10 @@ static void setup_zone_migrate_reserve(struct zone *zone)
2516 continue; 2519 continue;
2517 page = pfn_to_page(pfn); 2520 page = pfn_to_page(pfn);
2518 2521
2522 /* Watch out for overlapping nodes */
2523 if (page_to_nid(page) != zone_to_nid(zone))
2524 continue;
2525
2519 /* Blocks with reserved pages will never free, skip them. */ 2526 /* Blocks with reserved pages will never free, skip them. */
2520 if (PageReserved(page)) 2527 if (PageReserved(page))
2521 continue; 2528 continue;
@@ -4064,7 +4071,7 @@ void __init set_dma_reserve(unsigned long new_dma_reserve)
4064} 4071}
4065 4072
4066#ifndef CONFIG_NEED_MULTIPLE_NODES 4073#ifndef CONFIG_NEED_MULTIPLE_NODES
4067struct pglist_data contig_page_data = { .bdata = &bootmem_node_data[0] }; 4074struct pglist_data __refdata contig_page_data = { .bdata = &bootmem_node_data[0] };
4068EXPORT_SYMBOL(contig_page_data); 4075EXPORT_SYMBOL(contig_page_data);
4069#endif 4076#endif
4070 4077
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 3444b58033c8..c69f84fe038d 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -2,7 +2,6 @@
2 * linux/mm/page_isolation.c 2 * linux/mm/page_isolation.c
3 */ 3 */
4 4
5#include <stddef.h>
6#include <linux/mm.h> 5#include <linux/mm.h>
7#include <linux/page-isolation.h> 6#include <linux/page-isolation.h>
8#include <linux/pageblock-flags.h> 7#include <linux/pageblock-flags.h>
diff --git a/mm/quicklist.c b/mm/quicklist.c
index 3f703f7cb398..8dbb6805ef35 100644
--- a/mm/quicklist.c
+++ b/mm/quicklist.c
@@ -26,7 +26,10 @@ DEFINE_PER_CPU(struct quicklist, quicklist)[CONFIG_NR_QUICK];
26static unsigned long max_pages(unsigned long min_pages) 26static unsigned long max_pages(unsigned long min_pages)
27{ 27{
28 unsigned long node_free_pages, max; 28 unsigned long node_free_pages, max;
29 struct zone *zones = NODE_DATA(numa_node_id())->node_zones; 29 int node = numa_node_id();
30 struct zone *zones = NODE_DATA(node)->node_zones;
31 int num_cpus_on_node;
32 node_to_cpumask_ptr(cpumask_on_node, node);
30 33
31 node_free_pages = 34 node_free_pages =
32#ifdef CONFIG_ZONE_DMA 35#ifdef CONFIG_ZONE_DMA
@@ -38,6 +41,10 @@ static unsigned long max_pages(unsigned long min_pages)
38 zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES); 41 zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES);
39 42
40 max = node_free_pages / FRACTION_OF_NODE_MEM; 43 max = node_free_pages / FRACTION_OF_NODE_MEM;
44
45 num_cpus_on_node = cpus_weight_nr(*cpumask_on_node);
46 max /= num_cpus_on_node;
47
41 return max(max, min_pages); 48 return max(max, min_pages);
42} 49}
43 50
diff --git a/mm/slub.c b/mm/slub.c
index 4f5b96149458..fb486d5540f8 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2312,7 +2312,7 @@ static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags,
2312 2312
2313 s->refcount = 1; 2313 s->refcount = 1;
2314#ifdef CONFIG_NUMA 2314#ifdef CONFIG_NUMA
2315 s->remote_node_defrag_ratio = 100; 2315 s->remote_node_defrag_ratio = 1000;
2316#endif 2316#endif
2317 if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA)) 2317 if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA))
2318 goto error; 2318 goto error;
@@ -4058,7 +4058,7 @@ static ssize_t remote_node_defrag_ratio_store(struct kmem_cache *s,
4058 if (err) 4058 if (err)
4059 return err; 4059 return err;
4060 4060
4061 if (ratio < 100) 4061 if (ratio <= 100)
4062 s->remote_node_defrag_ratio = ratio * 10; 4062 s->remote_node_defrag_ratio = ratio * 10;
4063 4063
4064 return length; 4064 return length;
diff --git a/mm/truncate.c b/mm/truncate.c
index 250505091d37..6650c1d878b4 100644
--- a/mm/truncate.c
+++ b/mm/truncate.c
@@ -380,7 +380,7 @@ static int do_launder_page(struct address_space *mapping, struct page *page)
380 * Any pages which are found to be mapped into pagetables are unmapped prior to 380 * Any pages which are found to be mapped into pagetables are unmapped prior to
381 * invalidation. 381 * invalidation.
382 * 382 *
383 * Returns -EIO if any pages could not be invalidated. 383 * Returns -EBUSY if any pages could not be invalidated.
384 */ 384 */
385int invalidate_inode_pages2_range(struct address_space *mapping, 385int invalidate_inode_pages2_range(struct address_space *mapping,
386 pgoff_t start, pgoff_t end) 386 pgoff_t start, pgoff_t end)
@@ -440,7 +440,7 @@ int invalidate_inode_pages2_range(struct address_space *mapping,
440 ret2 = do_launder_page(mapping, page); 440 ret2 = do_launder_page(mapping, page);
441 if (ret2 == 0) { 441 if (ret2 == 0) {
442 if (!invalidate_complete_page2(mapping, page)) 442 if (!invalidate_complete_page2(mapping, page))
443 ret2 = -EIO; 443 ret2 = -EBUSY;
444 } 444 }
445 if (ret2 < 0) 445 if (ret2 < 0)
446 ret = ret2; 446 ret = ret2;
diff --git a/mm/vmstat.c b/mm/vmstat.c
index b0d08e667ece..d7826af2fb07 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -516,9 +516,26 @@ static void pagetypeinfo_showblockcount_print(struct seq_file *m,
516 continue; 516 continue;
517 517
518 page = pfn_to_page(pfn); 518 page = pfn_to_page(pfn);
519#ifdef CONFIG_ARCH_FLATMEM_HAS_HOLES
520 /*
521 * Ordinarily, memory holes in flatmem still have a valid
522 * memmap for the PFN range. However, an architecture for
523 * embedded systems (e.g. ARM) can free up the memmap backing
524 * holes to save memory on the assumption the memmap is
525 * never used. The page_zone linkages are then broken even
526 * though pfn_valid() returns true. Skip the page if the
527 * linkages are broken. Even if this test passed, the impact
528 * is that the counters for the movable type are off but
529 * fragmentation monitoring is likely meaningless on small
530 * systems.
531 */
532 if (page_zone(page) != zone)
533 continue;
534#endif
519 mtype = get_pageblock_migratetype(page); 535 mtype = get_pageblock_migratetype(page);
520 536
521 count[mtype]++; 537 if (mtype < MIGRATE_TYPES)
538 count[mtype]++;
522 } 539 }
523 540
524 /* Print counts */ 541 /* Print counts */
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
index 1edfdf4c095b..f6348e078aa4 100644
--- a/net/bluetooth/af_bluetooth.c
+++ b/net/bluetooth/af_bluetooth.c
@@ -49,7 +49,7 @@
49#define BT_DBG(D...) 49#define BT_DBG(D...)
50#endif 50#endif
51 51
52#define VERSION "2.12" 52#define VERSION "2.13"
53 53
54/* Bluetooth sockets */ 54/* Bluetooth sockets */
55#define BT_MAX_PROTO 8 55#define BT_MAX_PROTO 8
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index ca8d05245ca0..b7002429f152 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -330,7 +330,7 @@ EXPORT_SYMBOL(hci_get_route);
330 330
331/* Create SCO or ACL connection. 331/* Create SCO or ACL connection.
332 * Device _must_ be locked */ 332 * Device _must_ be locked */
333struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst) 333struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8 auth_type)
334{ 334{
335 struct hci_conn *acl; 335 struct hci_conn *acl;
336 struct hci_conn *sco; 336 struct hci_conn *sco;
@@ -344,8 +344,10 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst)
344 344
345 hci_conn_hold(acl); 345 hci_conn_hold(acl);
346 346
347 if (acl->state == BT_OPEN || acl->state == BT_CLOSED) 347 if (acl->state == BT_OPEN || acl->state == BT_CLOSED) {
348 acl->auth_type = auth_type;
348 hci_acl_connect(acl); 349 hci_acl_connect(acl);
350 }
349 351
350 if (type == ACL_LINK) 352 if (type == ACL_LINK)
351 return acl; 353 return acl;
@@ -374,6 +376,19 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst)
374} 376}
375EXPORT_SYMBOL(hci_connect); 377EXPORT_SYMBOL(hci_connect);
376 378
379/* Check link security requirement */
380int hci_conn_check_link_mode(struct hci_conn *conn)
381{
382 BT_DBG("conn %p", conn);
383
384 if (conn->ssp_mode > 0 && conn->hdev->ssp_mode > 0 &&
385 !(conn->link_mode & HCI_LM_ENCRYPT))
386 return 0;
387
388 return 1;
389}
390EXPORT_SYMBOL(hci_conn_check_link_mode);
391
377/* Authenticate remote device */ 392/* Authenticate remote device */
378int hci_conn_auth(struct hci_conn *conn) 393int hci_conn_auth(struct hci_conn *conn)
379{ 394{
@@ -381,7 +396,7 @@ int hci_conn_auth(struct hci_conn *conn)
381 396
382 if (conn->ssp_mode > 0 && conn->hdev->ssp_mode > 0) { 397 if (conn->ssp_mode > 0 && conn->hdev->ssp_mode > 0) {
383 if (!(conn->auth_type & 0x01)) { 398 if (!(conn->auth_type & 0x01)) {
384 conn->auth_type = HCI_AT_GENERAL_BONDING_MITM; 399 conn->auth_type |= 0x01;
385 conn->link_mode &= ~HCI_LM_AUTH; 400 conn->link_mode &= ~HCI_LM_AUTH;
386 } 401 }
387 } 402 }
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 0e3db289f4be..ad7a553d7713 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1605,14 +1605,11 @@ static inline void hci_remote_ext_features_evt(struct hci_dev *hdev, struct sk_b
1605 1605
1606 if (conn->state == BT_CONFIG) { 1606 if (conn->state == BT_CONFIG) {
1607 if (!ev->status && hdev->ssp_mode > 0 && 1607 if (!ev->status && hdev->ssp_mode > 0 &&
1608 conn->ssp_mode > 0) { 1608 conn->ssp_mode > 0 && conn->out) {
1609 if (conn->out) { 1609 struct hci_cp_auth_requested cp;
1610 struct hci_cp_auth_requested cp; 1610 cp.handle = ev->handle;
1611 cp.handle = ev->handle; 1611 hci_send_cmd(hdev, HCI_OP_AUTH_REQUESTED,
1612 hci_send_cmd(hdev,
1613 HCI_OP_AUTH_REQUESTED,
1614 sizeof(cp), &cp); 1612 sizeof(cp), &cp);
1615 }
1616 } else { 1613 } else {
1617 conn->state = BT_CONNECTED; 1614 conn->state = BT_CONNECTED;
1618 hci_proto_connect_cfm(conn, ev->status); 1615 hci_proto_connect_cfm(conn, ev->status);
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 3396d5bdef1c..9610a9c85b98 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -55,7 +55,7 @@
55#define BT_DBG(D...) 55#define BT_DBG(D...)
56#endif 56#endif
57 57
58#define VERSION "2.10" 58#define VERSION "2.11"
59 59
60static u32 l2cap_feat_mask = 0x0000; 60static u32 l2cap_feat_mask = 0x0000;
61 61
@@ -778,6 +778,7 @@ static int l2cap_do_connect(struct sock *sk)
778 struct l2cap_conn *conn; 778 struct l2cap_conn *conn;
779 struct hci_conn *hcon; 779 struct hci_conn *hcon;
780 struct hci_dev *hdev; 780 struct hci_dev *hdev;
781 __u8 auth_type;
781 int err = 0; 782 int err = 0;
782 783
783 BT_DBG("%s -> %s psm 0x%2.2x", batostr(src), batostr(dst), l2cap_pi(sk)->psm); 784 BT_DBG("%s -> %s psm 0x%2.2x", batostr(src), batostr(dst), l2cap_pi(sk)->psm);
@@ -789,7 +790,21 @@ static int l2cap_do_connect(struct sock *sk)
789 790
790 err = -ENOMEM; 791 err = -ENOMEM;
791 792
792 hcon = hci_connect(hdev, ACL_LINK, dst); 793 if (l2cap_pi(sk)->link_mode & L2CAP_LM_AUTH ||
794 l2cap_pi(sk)->link_mode & L2CAP_LM_ENCRYPT ||
795 l2cap_pi(sk)->link_mode & L2CAP_LM_SECURE) {
796 if (l2cap_pi(sk)->psm == cpu_to_le16(0x0001))
797 auth_type = HCI_AT_NO_BONDING_MITM;
798 else
799 auth_type = HCI_AT_GENERAL_BONDING_MITM;
800 } else {
801 if (l2cap_pi(sk)->psm == cpu_to_le16(0x0001))
802 auth_type = HCI_AT_NO_BONDING;
803 else
804 auth_type = HCI_AT_GENERAL_BONDING;
805 }
806
807 hcon = hci_connect(hdev, ACL_LINK, dst, auth_type);
793 if (!hcon) 808 if (!hcon)
794 goto done; 809 goto done;
795 810
@@ -1553,10 +1568,10 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd
1553 struct l2cap_conn_req *req = (struct l2cap_conn_req *) data; 1568 struct l2cap_conn_req *req = (struct l2cap_conn_req *) data;
1554 struct l2cap_conn_rsp rsp; 1569 struct l2cap_conn_rsp rsp;
1555 struct sock *sk, *parent; 1570 struct sock *sk, *parent;
1556 int result, status = 0; 1571 int result, status = L2CAP_CS_NO_INFO;
1557 1572
1558 u16 dcid = 0, scid = __le16_to_cpu(req->scid); 1573 u16 dcid = 0, scid = __le16_to_cpu(req->scid);
1559 __le16 psm = req->psm; 1574 __le16 psm = req->psm;
1560 1575
1561 BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid); 1576 BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid);
1562 1577
@@ -1567,6 +1582,13 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd
1567 goto sendresp; 1582 goto sendresp;
1568 } 1583 }
1569 1584
1585 /* Check if the ACL is secure enough (if not SDP) */
1586 if (psm != cpu_to_le16(0x0001) &&
1587 !hci_conn_check_link_mode(conn->hcon)) {
1588 result = L2CAP_CR_SEC_BLOCK;
1589 goto response;
1590 }
1591
1570 result = L2CAP_CR_NO_MEM; 1592 result = L2CAP_CR_NO_MEM;
1571 1593
1572 /* Check for backlog size */ 1594 /* Check for backlog size */
@@ -2224,7 +2246,7 @@ static int l2cap_auth_cfm(struct hci_conn *hcon, u8 status)
2224 rsp.scid = cpu_to_le16(l2cap_pi(sk)->dcid); 2246 rsp.scid = cpu_to_le16(l2cap_pi(sk)->dcid);
2225 rsp.dcid = cpu_to_le16(l2cap_pi(sk)->scid); 2247 rsp.dcid = cpu_to_le16(l2cap_pi(sk)->scid);
2226 rsp.result = cpu_to_le16(result); 2248 rsp.result = cpu_to_le16(result);
2227 rsp.status = cpu_to_le16(0); 2249 rsp.status = cpu_to_le16(L2CAP_CS_NO_INFO);
2228 l2cap_send_cmd(conn, l2cap_pi(sk)->ident, 2250 l2cap_send_cmd(conn, l2cap_pi(sk)->ident,
2229 L2CAP_CONN_RSP, sizeof(rsp), &rsp); 2251 L2CAP_CONN_RSP, sizeof(rsp), &rsp);
2230 } 2252 }
@@ -2296,7 +2318,7 @@ static int l2cap_encrypt_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
2296 rsp.scid = cpu_to_le16(l2cap_pi(sk)->dcid); 2318 rsp.scid = cpu_to_le16(l2cap_pi(sk)->dcid);
2297 rsp.dcid = cpu_to_le16(l2cap_pi(sk)->scid); 2319 rsp.dcid = cpu_to_le16(l2cap_pi(sk)->scid);
2298 rsp.result = cpu_to_le16(result); 2320 rsp.result = cpu_to_le16(result);
2299 rsp.status = cpu_to_le16(0); 2321 rsp.status = cpu_to_le16(L2CAP_CS_NO_INFO);
2300 l2cap_send_cmd(conn, l2cap_pi(sk)->ident, 2322 l2cap_send_cmd(conn, l2cap_pi(sk)->ident,
2301 L2CAP_CONN_RSP, sizeof(rsp), &rsp); 2323 L2CAP_CONN_RSP, sizeof(rsp), &rsp);
2302 } 2324 }
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index a16011fedc1d..0cc91e6da76d 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -200,7 +200,7 @@ static int sco_connect(struct sock *sk)
200 else 200 else
201 type = SCO_LINK; 201 type = SCO_LINK;
202 202
203 hcon = hci_connect(hdev, type, dst); 203 hcon = hci_connect(hdev, type, dst, HCI_AT_NO_BONDING);
204 if (!hcon) 204 if (!hcon)
205 goto done; 205 goto done;
206 206
diff --git a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c
index eeee218eed80..5bbf07362172 100644
--- a/net/bridge/br_ioctl.c
+++ b/net/bridge/br_ioctl.c
@@ -188,15 +188,21 @@ static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
188 return 0; 188 return 0;
189 189
190 case BRCTL_SET_BRIDGE_HELLO_TIME: 190 case BRCTL_SET_BRIDGE_HELLO_TIME:
191 {
192 unsigned long t = clock_t_to_jiffies(args[1]);
191 if (!capable(CAP_NET_ADMIN)) 193 if (!capable(CAP_NET_ADMIN))
192 return -EPERM; 194 return -EPERM;
193 195
196 if (t < HZ)
197 return -EINVAL;
198
194 spin_lock_bh(&br->lock); 199 spin_lock_bh(&br->lock);
195 br->bridge_hello_time = clock_t_to_jiffies(args[1]); 200 br->bridge_hello_time = t;
196 if (br_is_root_bridge(br)) 201 if (br_is_root_bridge(br))
197 br->hello_time = br->bridge_hello_time; 202 br->hello_time = br->bridge_hello_time;
198 spin_unlock_bh(&br->lock); 203 spin_unlock_bh(&br->lock);
199 return 0; 204 return 0;
205 }
200 206
201 case BRCTL_SET_BRIDGE_MAX_AGE: 207 case BRCTL_SET_BRIDGE_MAX_AGE:
202 if (!capable(CAP_NET_ADMIN)) 208 if (!capable(CAP_NET_ADMIN))
diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
index 27d6a511c8c1..158dee8b4965 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -29,11 +29,12 @@
29 */ 29 */
30static ssize_t store_bridge_parm(struct device *d, 30static ssize_t store_bridge_parm(struct device *d,
31 const char *buf, size_t len, 31 const char *buf, size_t len,
32 void (*set)(struct net_bridge *, unsigned long)) 32 int (*set)(struct net_bridge *, unsigned long))
33{ 33{
34 struct net_bridge *br = to_bridge(d); 34 struct net_bridge *br = to_bridge(d);
35 char *endp; 35 char *endp;
36 unsigned long val; 36 unsigned long val;
37 int err;
37 38
38 if (!capable(CAP_NET_ADMIN)) 39 if (!capable(CAP_NET_ADMIN))
39 return -EPERM; 40 return -EPERM;
@@ -43,9 +44,9 @@ static ssize_t store_bridge_parm(struct device *d,
43 return -EINVAL; 44 return -EINVAL;
44 45
45 spin_lock_bh(&br->lock); 46 spin_lock_bh(&br->lock);
46 (*set)(br, val); 47 err = (*set)(br, val);
47 spin_unlock_bh(&br->lock); 48 spin_unlock_bh(&br->lock);
48 return len; 49 return err ? err : len;
49} 50}
50 51
51 52
@@ -56,12 +57,13 @@ static ssize_t show_forward_delay(struct device *d,
56 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay)); 57 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay));
57} 58}
58 59
59static void set_forward_delay(struct net_bridge *br, unsigned long val) 60static int set_forward_delay(struct net_bridge *br, unsigned long val)
60{ 61{
61 unsigned long delay = clock_t_to_jiffies(val); 62 unsigned long delay = clock_t_to_jiffies(val);
62 br->forward_delay = delay; 63 br->forward_delay = delay;
63 if (br_is_root_bridge(br)) 64 if (br_is_root_bridge(br))
64 br->bridge_forward_delay = delay; 65 br->bridge_forward_delay = delay;
66 return 0;
65} 67}
66 68
67static ssize_t store_forward_delay(struct device *d, 69static ssize_t store_forward_delay(struct device *d,
@@ -80,12 +82,17 @@ static ssize_t show_hello_time(struct device *d, struct device_attribute *attr,
80 jiffies_to_clock_t(to_bridge(d)->hello_time)); 82 jiffies_to_clock_t(to_bridge(d)->hello_time));
81} 83}
82 84
83static void set_hello_time(struct net_bridge *br, unsigned long val) 85static int set_hello_time(struct net_bridge *br, unsigned long val)
84{ 86{
85 unsigned long t = clock_t_to_jiffies(val); 87 unsigned long t = clock_t_to_jiffies(val);
88
89 if (t < HZ)
90 return -EINVAL;
91
86 br->hello_time = t; 92 br->hello_time = t;
87 if (br_is_root_bridge(br)) 93 if (br_is_root_bridge(br))
88 br->bridge_hello_time = t; 94 br->bridge_hello_time = t;
95 return 0;
89} 96}
90 97
91static ssize_t store_hello_time(struct device *d, 98static ssize_t store_hello_time(struct device *d,
@@ -104,12 +111,13 @@ static ssize_t show_max_age(struct device *d, struct device_attribute *attr,
104 jiffies_to_clock_t(to_bridge(d)->max_age)); 111 jiffies_to_clock_t(to_bridge(d)->max_age));
105} 112}
106 113
107static void set_max_age(struct net_bridge *br, unsigned long val) 114static int set_max_age(struct net_bridge *br, unsigned long val)
108{ 115{
109 unsigned long t = clock_t_to_jiffies(val); 116 unsigned long t = clock_t_to_jiffies(val);
110 br->max_age = t; 117 br->max_age = t;
111 if (br_is_root_bridge(br)) 118 if (br_is_root_bridge(br))
112 br->bridge_max_age = t; 119 br->bridge_max_age = t;
120 return 0;
113} 121}
114 122
115static ssize_t store_max_age(struct device *d, struct device_attribute *attr, 123static ssize_t store_max_age(struct device *d, struct device_attribute *attr,
@@ -126,9 +134,10 @@ static ssize_t show_ageing_time(struct device *d,
126 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->ageing_time)); 134 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->ageing_time));
127} 135}
128 136
129static void set_ageing_time(struct net_bridge *br, unsigned long val) 137static int set_ageing_time(struct net_bridge *br, unsigned long val)
130{ 138{
131 br->ageing_time = clock_t_to_jiffies(val); 139 br->ageing_time = clock_t_to_jiffies(val);
140 return 0;
132} 141}
133 142
134static ssize_t store_ageing_time(struct device *d, 143static ssize_t store_ageing_time(struct device *d,
@@ -180,9 +189,10 @@ static ssize_t show_priority(struct device *d, struct device_attribute *attr,
180 (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]); 189 (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]);
181} 190}
182 191
183static void set_priority(struct net_bridge *br, unsigned long val) 192static int set_priority(struct net_bridge *br, unsigned long val)
184{ 193{
185 br_stp_set_bridge_priority(br, (u16) val); 194 br_stp_set_bridge_priority(br, (u16) val);
195 return 0;
186} 196}
187 197
188static ssize_t store_priority(struct device *d, struct device_attribute *attr, 198static ssize_t store_priority(struct device *d, struct device_attribute *attr,
diff --git a/net/core/dev.c b/net/core/dev.c
index 60c51f765887..e719ed29310f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1991,8 +1991,13 @@ static void net_tx_action(struct softirq_action *h)
1991 spin_unlock(root_lock); 1991 spin_unlock(root_lock);
1992 } else { 1992 } else {
1993 if (!test_bit(__QDISC_STATE_DEACTIVATED, 1993 if (!test_bit(__QDISC_STATE_DEACTIVATED,
1994 &q->state)) 1994 &q->state)) {
1995 __netif_reschedule(q); 1995 __netif_reschedule(q);
1996 } else {
1997 smp_mb__before_clear_bit();
1998 clear_bit(__QDISC_STATE_SCHED,
1999 &q->state);
2000 }
1996 } 2001 }
1997 } 2002 }
1998 } 2003 }
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 91d3d96805d0..b12dae2b0b2d 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1029,6 +1029,11 @@ skip:
1029 } 1029 }
1030} 1030}
1031 1031
1032static inline bool inetdev_valid_mtu(unsigned mtu)
1033{
1034 return mtu >= 68;
1035}
1036
1032/* Called only under RTNL semaphore */ 1037/* Called only under RTNL semaphore */
1033 1038
1034static int inetdev_event(struct notifier_block *this, unsigned long event, 1039static int inetdev_event(struct notifier_block *this, unsigned long event,
@@ -1048,6 +1053,10 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
1048 IN_DEV_CONF_SET(in_dev, NOXFRM, 1); 1053 IN_DEV_CONF_SET(in_dev, NOXFRM, 1);
1049 IN_DEV_CONF_SET(in_dev, NOPOLICY, 1); 1054 IN_DEV_CONF_SET(in_dev, NOPOLICY, 1);
1050 } 1055 }
1056 } else if (event == NETDEV_CHANGEMTU) {
1057 /* Re-enabling IP */
1058 if (inetdev_valid_mtu(dev->mtu))
1059 in_dev = inetdev_init(dev);
1051 } 1060 }
1052 goto out; 1061 goto out;
1053 } 1062 }
@@ -1058,7 +1067,7 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
1058 dev->ip_ptr = NULL; 1067 dev->ip_ptr = NULL;
1059 break; 1068 break;
1060 case NETDEV_UP: 1069 case NETDEV_UP:
1061 if (dev->mtu < 68) 1070 if (!inetdev_valid_mtu(dev->mtu))
1062 break; 1071 break;
1063 if (dev->flags & IFF_LOOPBACK) { 1072 if (dev->flags & IFF_LOOPBACK) {
1064 struct in_ifaddr *ifa; 1073 struct in_ifaddr *ifa;
@@ -1080,9 +1089,9 @@ static int inetdev_event(struct notifier_block *this, unsigned long event,
1080 ip_mc_down(in_dev); 1089 ip_mc_down(in_dev);
1081 break; 1090 break;
1082 case NETDEV_CHANGEMTU: 1091 case NETDEV_CHANGEMTU:
1083 if (dev->mtu >= 68) 1092 if (inetdev_valid_mtu(dev->mtu))
1084 break; 1093 break;
1085 /* MTU falled under 68, disable IP */ 1094 /* disable IP when MTU is not enough */
1086 case NETDEV_UNREGISTER: 1095 case NETDEV_UNREGISTER:
1087 inetdev_destroy(in_dev); 1096 inetdev_destroy(in_dev);
1088 break; 1097 break;
diff --git a/net/ipv4/inet_timewait_sock.c b/net/ipv4/inet_timewait_sock.c
index d985bd613d25..743f011b9a84 100644
--- a/net/ipv4/inet_timewait_sock.c
+++ b/net/ipv4/inet_timewait_sock.c
@@ -409,3 +409,38 @@ out:
409} 409}
410 410
411EXPORT_SYMBOL_GPL(inet_twdr_twcal_tick); 411EXPORT_SYMBOL_GPL(inet_twdr_twcal_tick);
412
413void inet_twsk_purge(struct net *net, struct inet_hashinfo *hashinfo,
414 struct inet_timewait_death_row *twdr, int family)
415{
416 struct inet_timewait_sock *tw;
417 struct sock *sk;
418 struct hlist_node *node;
419 int h;
420
421 local_bh_disable();
422 for (h = 0; h < (hashinfo->ehash_size); h++) {
423 struct inet_ehash_bucket *head =
424 inet_ehash_bucket(hashinfo, h);
425 rwlock_t *lock = inet_ehash_lockp(hashinfo, h);
426restart:
427 write_lock(lock);
428 sk_for_each(sk, node, &head->twchain) {
429
430 tw = inet_twsk(sk);
431 if (!net_eq(twsk_net(tw), net) ||
432 tw->tw_family != family)
433 continue;
434
435 atomic_inc(&tw->tw_refcnt);
436 write_unlock(lock);
437 inet_twsk_deschedule(tw, twdr);
438 inet_twsk_put(tw);
439
440 goto restart;
441 }
442 write_unlock(lock);
443 }
444 local_bh_enable();
445}
446EXPORT_SYMBOL_GPL(inet_twsk_purge);
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index e91bafeb32f4..6ee5354c9aa1 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3121,9 +3121,9 @@ static struct ctl_table empty[1];
3121static struct ctl_table ipv4_skeleton[] = 3121static struct ctl_table ipv4_skeleton[] =
3122{ 3122{
3123 { .procname = "route", .ctl_name = NET_IPV4_ROUTE, 3123 { .procname = "route", .ctl_name = NET_IPV4_ROUTE,
3124 .child = ipv4_route_table}, 3124 .mode = 0555, .child = ipv4_route_table},
3125 { .procname = "neigh", .ctl_name = NET_IPV4_NEIGH, 3125 { .procname = "neigh", .ctl_name = NET_IPV4_NEIGH,
3126 .child = empty}, 3126 .mode = 0555, .child = empty},
3127 { } 3127 { }
3128}; 3128};
3129 3129
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 44c1e934824b..1b4fee20fc93 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -2376,6 +2376,7 @@ static int __net_init tcp_sk_init(struct net *net)
2376static void __net_exit tcp_sk_exit(struct net *net) 2376static void __net_exit tcp_sk_exit(struct net *net)
2377{ 2377{
2378 inet_ctl_sock_destroy(net->ipv4.tcp_sock); 2378 inet_ctl_sock_destroy(net->ipv4.tcp_sock);
2379 inet_twsk_purge(net, &tcp_hashinfo, &tcp_death_row, AF_INET);
2379} 2380}
2380 2381
2381static struct pernet_operations __net_initdata tcp_sk_ops = { 2382static struct pernet_operations __net_initdata tcp_sk_ops = {
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index a00532de2a8c..8165f5aa8c71 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -468,7 +468,8 @@ static unsigned tcp_syn_options(struct sock *sk, struct sk_buff *skb,
468 } 468 }
469 if (likely(sysctl_tcp_window_scaling)) { 469 if (likely(sysctl_tcp_window_scaling)) {
470 opts->ws = tp->rx_opt.rcv_wscale; 470 opts->ws = tp->rx_opt.rcv_wscale;
471 size += TCPOLEN_WSCALE_ALIGNED; 471 if(likely(opts->ws))
472 size += TCPOLEN_WSCALE_ALIGNED;
472 } 473 }
473 if (likely(sysctl_tcp_sack)) { 474 if (likely(sysctl_tcp_sack)) {
474 opts->options |= OPTION_SACK_ADVERTISE; 475 opts->options |= OPTION_SACK_ADVERTISE;
@@ -509,7 +510,8 @@ static unsigned tcp_synack_options(struct sock *sk,
509 510
510 if (likely(ireq->wscale_ok)) { 511 if (likely(ireq->wscale_ok)) {
511 opts->ws = ireq->rcv_wscale; 512 opts->ws = ireq->rcv_wscale;
512 size += TCPOLEN_WSCALE_ALIGNED; 513 if(likely(opts->ws))
514 size += TCPOLEN_WSCALE_ALIGNED;
513 } 515 }
514 if (likely(doing_ts)) { 516 if (likely(doing_ts)) {
515 opts->options |= OPTION_TS; 517 opts->options |= OPTION_TS;
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 0e844c2736a7..3df2c442d90b 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -943,39 +943,39 @@ static int ip6_dst_lookup_tail(struct sock *sk,
943 } 943 }
944 944
945#ifdef CONFIG_IPV6_OPTIMISTIC_DAD 945#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
946 /* 946 /*
947 * Here if the dst entry we've looked up 947 * Here if the dst entry we've looked up
948 * has a neighbour entry that is in the INCOMPLETE 948 * has a neighbour entry that is in the INCOMPLETE
949 * state and the src address from the flow is 949 * state and the src address from the flow is
950 * marked as OPTIMISTIC, we release the found 950 * marked as OPTIMISTIC, we release the found
951 * dst entry and replace it instead with the 951 * dst entry and replace it instead with the
952 * dst entry of the nexthop router 952 * dst entry of the nexthop router
953 */ 953 */
954 if (!((*dst)->neighbour->nud_state & NUD_VALID)) { 954 if ((*dst)->neighbour && !((*dst)->neighbour->nud_state & NUD_VALID)) {
955 struct inet6_ifaddr *ifp; 955 struct inet6_ifaddr *ifp;
956 struct flowi fl_gw; 956 struct flowi fl_gw;
957 int redirect; 957 int redirect;
958 958
959 ifp = ipv6_get_ifaddr(net, &fl->fl6_src, 959 ifp = ipv6_get_ifaddr(net, &fl->fl6_src,
960 (*dst)->dev, 1); 960 (*dst)->dev, 1);
961 961
962 redirect = (ifp && ifp->flags & IFA_F_OPTIMISTIC); 962 redirect = (ifp && ifp->flags & IFA_F_OPTIMISTIC);
963 if (ifp) 963 if (ifp)
964 in6_ifa_put(ifp); 964 in6_ifa_put(ifp);
965 965
966 if (redirect) { 966 if (redirect) {
967 /* 967 /*
968 * We need to get the dst entry for the 968 * We need to get the dst entry for the
969 * default router instead 969 * default router instead
970 */ 970 */
971 dst_release(*dst); 971 dst_release(*dst);
972 memcpy(&fl_gw, fl, sizeof(struct flowi)); 972 memcpy(&fl_gw, fl, sizeof(struct flowi));
973 memset(&fl_gw.fl6_dst, 0, sizeof(struct in6_addr)); 973 memset(&fl_gw.fl6_dst, 0, sizeof(struct in6_addr));
974 *dst = ip6_route_output(net, sk, &fl_gw); 974 *dst = ip6_route_output(net, sk, &fl_gw);
975 if ((err = (*dst)->error)) 975 if ((err = (*dst)->error))
976 goto out_err_release; 976 goto out_err_release;
977 }
978 } 977 }
978 }
979#endif 979#endif
980 980
981 return 0; 981 return 0;
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 01d47674f7e5..e53e493606c5 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -377,14 +377,14 @@ static inline int rawv6_rcv_skb(struct sock * sk, struct sk_buff * skb)
377 skb_checksum_complete(skb)) { 377 skb_checksum_complete(skb)) {
378 atomic_inc(&sk->sk_drops); 378 atomic_inc(&sk->sk_drops);
379 kfree_skb(skb); 379 kfree_skb(skb);
380 return 0; 380 return NET_RX_DROP;
381 } 381 }
382 382
383 /* Charge it to the socket. */ 383 /* Charge it to the socket. */
384 if (sock_queue_rcv_skb(sk,skb)<0) { 384 if (sock_queue_rcv_skb(sk,skb)<0) {
385 atomic_inc(&sk->sk_drops); 385 atomic_inc(&sk->sk_drops);
386 kfree_skb(skb); 386 kfree_skb(skb);
387 return 0; 387 return NET_RX_DROP;
388 } 388 }
389 389
390 return 0; 390 return 0;
@@ -429,7 +429,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
429 if (skb_checksum_complete(skb)) { 429 if (skb_checksum_complete(skb)) {
430 atomic_inc(&sk->sk_drops); 430 atomic_inc(&sk->sk_drops);
431 kfree_skb(skb); 431 kfree_skb(skb);
432 return 0; 432 return NET_RX_DROP;
433 } 433 }
434 } 434 }
435 435
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 5b90b369ccb2..b585c850a89a 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -2148,6 +2148,7 @@ static int tcpv6_net_init(struct net *net)
2148static void tcpv6_net_exit(struct net *net) 2148static void tcpv6_net_exit(struct net *net)
2149{ 2149{
2150 inet_ctl_sock_destroy(net->ipv6.tcp_sk); 2150 inet_ctl_sock_destroy(net->ipv6.tcp_sk);
2151 inet_twsk_purge(net, &tcp_hashinfo, &tcp_death_row, AF_INET6);
2151} 2152}
2152 2153
2153static struct pernet_operations tcpv6_net_ops = { 2154static struct pernet_operations tcpv6_net_ops = {
diff --git a/net/mac80211/debugfs_key.c b/net/mac80211/debugfs_key.c
index 7439b63df5d0..cf82acec913a 100644
--- a/net/mac80211/debugfs_key.c
+++ b/net/mac80211/debugfs_key.c
@@ -265,7 +265,7 @@ void ieee80211_debugfs_key_add_default(struct ieee80211_sub_if_data *sdata)
265 key = sdata->default_key; 265 key = sdata->default_key;
266 if (key) { 266 if (key) {
267 sprintf(buf, "../keys/%d", key->debugfs.cnt); 267 sprintf(buf, "../keys/%d", key->debugfs.cnt);
268 sdata->debugfs.default_key = 268 sdata->common_debugfs.default_key =
269 debugfs_create_symlink("default_key", 269 debugfs_create_symlink("default_key",
270 sdata->debugfsdir, buf); 270 sdata->debugfsdir, buf);
271 } else 271 } else
@@ -277,8 +277,8 @@ void ieee80211_debugfs_key_remove_default(struct ieee80211_sub_if_data *sdata)
277 if (!sdata) 277 if (!sdata)
278 return; 278 return;
279 279
280 debugfs_remove(sdata->debugfs.default_key); 280 debugfs_remove(sdata->common_debugfs.default_key);
281 sdata->debugfs.default_key = NULL; 281 sdata->common_debugfs.default_key = NULL;
282} 282}
283 283
284void ieee80211_debugfs_key_sta_del(struct ieee80211_key *key, 284void ieee80211_debugfs_key_sta_del(struct ieee80211_key *key,
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c
index 475f89a8aee1..8165df578c92 100644
--- a/net/mac80211/debugfs_netdev.c
+++ b/net/mac80211/debugfs_netdev.c
@@ -248,8 +248,8 @@ IEEE80211_IF_WFILE(min_discovery_timeout,
248static void add_sta_files(struct ieee80211_sub_if_data *sdata) 248static void add_sta_files(struct ieee80211_sub_if_data *sdata)
249{ 249{
250 DEBUGFS_ADD(drop_unencrypted, sta); 250 DEBUGFS_ADD(drop_unencrypted, sta);
251 DEBUGFS_ADD(force_unicast_rateidx, ap); 251 DEBUGFS_ADD(force_unicast_rateidx, sta);
252 DEBUGFS_ADD(max_ratectrl_rateidx, ap); 252 DEBUGFS_ADD(max_ratectrl_rateidx, sta);
253 253
254 DEBUGFS_ADD(state, sta); 254 DEBUGFS_ADD(state, sta);
255 DEBUGFS_ADD(bssid, sta); 255 DEBUGFS_ADD(bssid, sta);
@@ -283,8 +283,8 @@ static void add_ap_files(struct ieee80211_sub_if_data *sdata)
283static void add_wds_files(struct ieee80211_sub_if_data *sdata) 283static void add_wds_files(struct ieee80211_sub_if_data *sdata)
284{ 284{
285 DEBUGFS_ADD(drop_unencrypted, wds); 285 DEBUGFS_ADD(drop_unencrypted, wds);
286 DEBUGFS_ADD(force_unicast_rateidx, ap); 286 DEBUGFS_ADD(force_unicast_rateidx, wds);
287 DEBUGFS_ADD(max_ratectrl_rateidx, ap); 287 DEBUGFS_ADD(max_ratectrl_rateidx, wds);
288 288
289 DEBUGFS_ADD(peer, wds); 289 DEBUGFS_ADD(peer, wds);
290} 290}
@@ -292,8 +292,8 @@ static void add_wds_files(struct ieee80211_sub_if_data *sdata)
292static void add_vlan_files(struct ieee80211_sub_if_data *sdata) 292static void add_vlan_files(struct ieee80211_sub_if_data *sdata)
293{ 293{
294 DEBUGFS_ADD(drop_unencrypted, vlan); 294 DEBUGFS_ADD(drop_unencrypted, vlan);
295 DEBUGFS_ADD(force_unicast_rateidx, ap); 295 DEBUGFS_ADD(force_unicast_rateidx, vlan);
296 DEBUGFS_ADD(max_ratectrl_rateidx, ap); 296 DEBUGFS_ADD(max_ratectrl_rateidx, vlan);
297} 297}
298 298
299static void add_monitor_files(struct ieee80211_sub_if_data *sdata) 299static void add_monitor_files(struct ieee80211_sub_if_data *sdata)
@@ -381,8 +381,8 @@ static void add_files(struct ieee80211_sub_if_data *sdata)
381static void del_sta_files(struct ieee80211_sub_if_data *sdata) 381static void del_sta_files(struct ieee80211_sub_if_data *sdata)
382{ 382{
383 DEBUGFS_DEL(drop_unencrypted, sta); 383 DEBUGFS_DEL(drop_unencrypted, sta);
384 DEBUGFS_DEL(force_unicast_rateidx, ap); 384 DEBUGFS_DEL(force_unicast_rateidx, sta);
385 DEBUGFS_DEL(max_ratectrl_rateidx, ap); 385 DEBUGFS_DEL(max_ratectrl_rateidx, sta);
386 386
387 DEBUGFS_DEL(state, sta); 387 DEBUGFS_DEL(state, sta);
388 DEBUGFS_DEL(bssid, sta); 388 DEBUGFS_DEL(bssid, sta);
@@ -416,8 +416,8 @@ static void del_ap_files(struct ieee80211_sub_if_data *sdata)
416static void del_wds_files(struct ieee80211_sub_if_data *sdata) 416static void del_wds_files(struct ieee80211_sub_if_data *sdata)
417{ 417{
418 DEBUGFS_DEL(drop_unencrypted, wds); 418 DEBUGFS_DEL(drop_unencrypted, wds);
419 DEBUGFS_DEL(force_unicast_rateidx, ap); 419 DEBUGFS_DEL(force_unicast_rateidx, wds);
420 DEBUGFS_DEL(max_ratectrl_rateidx, ap); 420 DEBUGFS_DEL(max_ratectrl_rateidx, wds);
421 421
422 DEBUGFS_DEL(peer, wds); 422 DEBUGFS_DEL(peer, wds);
423} 423}
@@ -425,8 +425,8 @@ static void del_wds_files(struct ieee80211_sub_if_data *sdata)
425static void del_vlan_files(struct ieee80211_sub_if_data *sdata) 425static void del_vlan_files(struct ieee80211_sub_if_data *sdata)
426{ 426{
427 DEBUGFS_DEL(drop_unencrypted, vlan); 427 DEBUGFS_DEL(drop_unencrypted, vlan);
428 DEBUGFS_DEL(force_unicast_rateidx, ap); 428 DEBUGFS_DEL(force_unicast_rateidx, vlan);
429 DEBUGFS_DEL(max_ratectrl_rateidx, ap); 429 DEBUGFS_DEL(max_ratectrl_rateidx, vlan);
430} 430}
431 431
432static void del_monitor_files(struct ieee80211_sub_if_data *sdata) 432static void del_monitor_files(struct ieee80211_sub_if_data *sdata)
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index ec59345af65b..4498d8713652 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -470,6 +470,8 @@ struct ieee80211_sub_if_data {
470 struct dentry *auth_transaction; 470 struct dentry *auth_transaction;
471 struct dentry *flags; 471 struct dentry *flags;
472 struct dentry *num_beacons_sta; 472 struct dentry *num_beacons_sta;
473 struct dentry *force_unicast_rateidx;
474 struct dentry *max_ratectrl_rateidx;
473 } sta; 475 } sta;
474 struct { 476 struct {
475 struct dentry *drop_unencrypted; 477 struct dentry *drop_unencrypted;
@@ -483,15 +485,21 @@ struct ieee80211_sub_if_data {
483 struct { 485 struct {
484 struct dentry *drop_unencrypted; 486 struct dentry *drop_unencrypted;
485 struct dentry *peer; 487 struct dentry *peer;
488 struct dentry *force_unicast_rateidx;
489 struct dentry *max_ratectrl_rateidx;
486 } wds; 490 } wds;
487 struct { 491 struct {
488 struct dentry *drop_unencrypted; 492 struct dentry *drop_unencrypted;
493 struct dentry *force_unicast_rateidx;
494 struct dentry *max_ratectrl_rateidx;
489 } vlan; 495 } vlan;
490 struct { 496 struct {
491 struct dentry *mode; 497 struct dentry *mode;
492 } monitor; 498 } monitor;
493 struct dentry *default_key;
494 } debugfs; 499 } debugfs;
500 struct {
501 struct dentry *default_key;
502 } common_debugfs;
495 503
496#ifdef CONFIG_MAC80211_MESH 504#ifdef CONFIG_MAC80211_MESH
497 struct dentry *mesh_stats_dir; 505 struct dentry *mesh_stats_dir;
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index b5933b271491..35f2f95f2fa7 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -383,7 +383,7 @@ errcopy:
383 hlist_for_each_safe(p, q, &newtbl->hash_buckets[i]) 383 hlist_for_each_safe(p, q, &newtbl->hash_buckets[i])
384 tbl->free_node(p, 0); 384 tbl->free_node(p, 0);
385 } 385 }
386 __mesh_table_free(tbl); 386 __mesh_table_free(newtbl);
387endgrow: 387endgrow:
388 return NULL; 388 return NULL;
389} 389}
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 1e97fb9fb34b..902cac1bd246 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -813,7 +813,7 @@ static void ieee80211_send_assoc(struct net_device *dev,
813 } 813 }
814 } 814 }
815 815
816 if (count == 8) { 816 if (rates_len > count) {
817 pos = skb_put(skb, rates_len - count + 2); 817 pos = skb_put(skb, rates_len - count + 2);
818 *pos++ = WLAN_EID_EXT_SUPP_RATES; 818 *pos++ = WLAN_EID_EXT_SUPP_RATES;
819 *pos++ = rates_len - count; 819 *pos++ = rates_len - count;
@@ -2868,7 +2868,7 @@ static void ieee80211_rx_bss_info(struct net_device *dev,
2868 jiffies); 2868 jiffies);
2869#endif /* CONFIG_MAC80211_IBSS_DEBUG */ 2869#endif /* CONFIG_MAC80211_IBSS_DEBUG */
2870 if (beacon_timestamp > rx_timestamp) { 2870 if (beacon_timestamp > rx_timestamp) {
2871#ifndef CONFIG_MAC80211_IBSS_DEBUG 2871#ifdef CONFIG_MAC80211_IBSS_DEBUG
2872 printk(KERN_DEBUG "%s: beacon TSF higher than " 2872 printk(KERN_DEBUG "%s: beacon TSF higher than "
2873 "local TSF - IBSS merge with BSSID %s\n", 2873 "local TSF - IBSS merge with BSSID %s\n",
2874 dev->name, print_mac(mac, mgmt->bssid)); 2874 dev->name, print_mac(mac, mgmt->bssid));
diff --git a/net/netfilter/nf_conntrack_irc.c b/net/netfilter/nf_conntrack_irc.c
index 1b1226d6653f..20633fdf7e6b 100644
--- a/net/netfilter/nf_conntrack_irc.c
+++ b/net/netfilter/nf_conntrack_irc.c
@@ -68,11 +68,21 @@ static const char *const dccprotos[] = {
68static int parse_dcc(char *data, const char *data_end, u_int32_t *ip, 68static int parse_dcc(char *data, const char *data_end, u_int32_t *ip,
69 u_int16_t *port, char **ad_beg_p, char **ad_end_p) 69 u_int16_t *port, char **ad_beg_p, char **ad_end_p)
70{ 70{
71 char *tmp;
72
71 /* at least 12: "AAAAAAAA P\1\n" */ 73 /* at least 12: "AAAAAAAA P\1\n" */
72 while (*data++ != ' ') 74 while (*data++ != ' ')
73 if (data > data_end - 12) 75 if (data > data_end - 12)
74 return -1; 76 return -1;
75 77
78 /* Make sure we have a newline character within the packet boundaries
79 * because simple_strtoul parses until the first invalid character. */
80 for (tmp = data; tmp <= data_end; tmp++)
81 if (*tmp == '\n')
82 break;
83 if (tmp > data_end || *tmp != '\n')
84 return -1;
85
76 *ad_beg_p = data; 86 *ad_beg_p = data;
77 *ip = simple_strtoul(data, &data, 10); 87 *ip = simple_strtoul(data, &data, 10);
78 88
diff --git a/net/netfilter/nf_conntrack_proto_gre.c b/net/netfilter/nf_conntrack_proto_gre.c
index 654a4f7f12c6..9bd03967fea4 100644
--- a/net/netfilter/nf_conntrack_proto_gre.c
+++ b/net/netfilter/nf_conntrack_proto_gre.c
@@ -45,12 +45,12 @@ static LIST_HEAD(gre_keymap_list);
45 45
46void nf_ct_gre_keymap_flush(void) 46void nf_ct_gre_keymap_flush(void)
47{ 47{
48 struct list_head *pos, *n; 48 struct nf_ct_gre_keymap *km, *tmp;
49 49
50 write_lock_bh(&nf_ct_gre_lock); 50 write_lock_bh(&nf_ct_gre_lock);
51 list_for_each_safe(pos, n, &gre_keymap_list) { 51 list_for_each_entry_safe(km, tmp, &gre_keymap_list, list) {
52 list_del(pos); 52 list_del(&km->list);
53 kfree(pos); 53 kfree(km);
54 } 54 }
55 write_unlock_bh(&nf_ct_gre_lock); 55 write_unlock_bh(&nf_ct_gre_lock);
56} 56}
@@ -97,10 +97,14 @@ int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir,
97 kmp = &help->help.ct_pptp_info.keymap[dir]; 97 kmp = &help->help.ct_pptp_info.keymap[dir];
98 if (*kmp) { 98 if (*kmp) {
99 /* check whether it's a retransmission */ 99 /* check whether it's a retransmission */
100 read_lock_bh(&nf_ct_gre_lock);
100 list_for_each_entry(km, &gre_keymap_list, list) { 101 list_for_each_entry(km, &gre_keymap_list, list) {
101 if (gre_key_cmpfn(km, t) && km == *kmp) 102 if (gre_key_cmpfn(km, t) && km == *kmp) {
103 read_unlock_bh(&nf_ct_gre_lock);
102 return 0; 104 return 0;
105 }
103 } 106 }
107 read_unlock_bh(&nf_ct_gre_lock);
104 pr_debug("trying to override keymap_%s for ct %p\n", 108 pr_debug("trying to override keymap_%s for ct %p\n",
105 dir == IP_CT_DIR_REPLY ? "reply" : "orig", ct); 109 dir == IP_CT_DIR_REPLY ? "reply" : "orig", ct);
106 return -EEXIST; 110 return -EEXIST;
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
index 2f9bbc058b48..1fa306be60fb 100644
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -1193,7 +1193,6 @@ static const struct sip_handler sip_handlers[] = {
1193static int process_sip_response(struct sk_buff *skb, 1193static int process_sip_response(struct sk_buff *skb,
1194 const char **dptr, unsigned int *datalen) 1194 const char **dptr, unsigned int *datalen)
1195{ 1195{
1196 static const struct sip_handler *handler;
1197 enum ip_conntrack_info ctinfo; 1196 enum ip_conntrack_info ctinfo;
1198 struct nf_conn *ct = nf_ct_get(skb, &ctinfo); 1197 struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
1199 unsigned int matchoff, matchlen; 1198 unsigned int matchoff, matchlen;
@@ -1214,6 +1213,8 @@ static int process_sip_response(struct sk_buff *skb,
1214 dataoff = matchoff + matchlen + 1; 1213 dataoff = matchoff + matchlen + 1;
1215 1214
1216 for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) { 1215 for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) {
1216 const struct sip_handler *handler;
1217
1217 handler = &sip_handlers[i]; 1218 handler = &sip_handlers[i];
1218 if (handler->response == NULL) 1219 if (handler->response == NULL)
1219 continue; 1220 continue;
@@ -1228,13 +1229,14 @@ static int process_sip_response(struct sk_buff *skb,
1228static int process_sip_request(struct sk_buff *skb, 1229static int process_sip_request(struct sk_buff *skb,
1229 const char **dptr, unsigned int *datalen) 1230 const char **dptr, unsigned int *datalen)
1230{ 1231{
1231 static const struct sip_handler *handler;
1232 enum ip_conntrack_info ctinfo; 1232 enum ip_conntrack_info ctinfo;
1233 struct nf_conn *ct = nf_ct_get(skb, &ctinfo); 1233 struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
1234 unsigned int matchoff, matchlen; 1234 unsigned int matchoff, matchlen;
1235 unsigned int cseq, i; 1235 unsigned int cseq, i;
1236 1236
1237 for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) { 1237 for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) {
1238 const struct sip_handler *handler;
1239
1238 handler = &sip_handlers[i]; 1240 handler = &sip_handlers[i];
1239 if (handler->request == NULL) 1241 if (handler->request == NULL)
1240 continue; 1242 continue;
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c
index 35a9994e2339..74aecc098bad 100644
--- a/net/rfkill/rfkill.c
+++ b/net/rfkill/rfkill.c
@@ -377,7 +377,7 @@ static ssize_t rfkill_claim_show(struct device *dev,
377{ 377{
378 struct rfkill *rfkill = to_rfkill(dev); 378 struct rfkill *rfkill = to_rfkill(dev);
379 379
380 return sprintf(buf, "%d", rfkill->user_claim); 380 return sprintf(buf, "%d\n", rfkill->user_claim);
381} 381}
382 382
383static ssize_t rfkill_claim_store(struct device *dev, 383static ssize_t rfkill_claim_store(struct device *dev,
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 5cafdd4c8018..8eb79e92e94c 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -205,7 +205,7 @@ replay:
205 } 205 }
206 } 206 }
207 207
208 root_lock = qdisc_root_lock(q); 208 root_lock = qdisc_root_sleeping_lock(q);
209 209
210 if (tp == NULL) { 210 if (tp == NULL) {
211 /* Proto-tcf does not exist, create new one */ 211 /* Proto-tcf does not exist, create new one */
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 481260a4f10f..e3d8455eebc2 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -75,7 +75,7 @@ static __inline__ int route4_fastmap_hash(u32 id, int iif)
75static inline 75static inline
76void route4_reset_fastmap(struct Qdisc *q, struct route4_head *head, u32 id) 76void route4_reset_fastmap(struct Qdisc *q, struct route4_head *head, u32 id)
77{ 77{
78 spinlock_t *root_lock = qdisc_root_lock(q); 78 spinlock_t *root_lock = qdisc_root_sleeping_lock(q);
79 79
80 spin_lock_bh(root_lock); 80 spin_lock_bh(root_lock);
81 memset(head->fastmap, 0, sizeof(head->fastmap)); 81 memset(head->fastmap, 0, sizeof(head->fastmap));
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index e7fb9e0d21b4..1122c952aa99 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -624,7 +624,7 @@ static struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue,
624 struct Qdisc *oqdisc = dev_queue->qdisc_sleeping; 624 struct Qdisc *oqdisc = dev_queue->qdisc_sleeping;
625 spinlock_t *root_lock; 625 spinlock_t *root_lock;
626 626
627 root_lock = qdisc_root_lock(oqdisc); 627 root_lock = qdisc_lock(oqdisc);
628 spin_lock_bh(root_lock); 628 spin_lock_bh(root_lock);
629 629
630 /* Prune old scheduler */ 630 /* Prune old scheduler */
@@ -635,7 +635,7 @@ static struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue,
635 if (qdisc == NULL) 635 if (qdisc == NULL)
636 qdisc = &noop_qdisc; 636 qdisc = &noop_qdisc;
637 dev_queue->qdisc_sleeping = qdisc; 637 dev_queue->qdisc_sleeping = qdisc;
638 dev_queue->qdisc = &noop_qdisc; 638 rcu_assign_pointer(dev_queue->qdisc, &noop_qdisc);
639 639
640 spin_unlock_bh(root_lock); 640 spin_unlock_bh(root_lock);
641 641
@@ -830,9 +830,16 @@ qdisc_create(struct net_device *dev, struct netdev_queue *dev_queue,
830 sch->stab = stab; 830 sch->stab = stab;
831 } 831 }
832 if (tca[TCA_RATE]) { 832 if (tca[TCA_RATE]) {
833 spinlock_t *root_lock;
834
835 if ((sch->parent != TC_H_ROOT) &&
836 !(sch->flags & TCQ_F_INGRESS))
837 root_lock = qdisc_root_sleeping_lock(sch);
838 else
839 root_lock = qdisc_lock(sch);
840
833 err = gen_new_estimator(&sch->bstats, &sch->rate_est, 841 err = gen_new_estimator(&sch->bstats, &sch->rate_est,
834 qdisc_root_lock(sch), 842 root_lock, tca[TCA_RATE]);
835 tca[TCA_RATE]);
836 if (err) { 843 if (err) {
837 /* 844 /*
838 * Any broken qdiscs that would require 845 * Any broken qdiscs that would require
@@ -884,7 +891,8 @@ static int qdisc_change(struct Qdisc *sch, struct nlattr **tca)
884 891
885 if (tca[TCA_RATE]) 892 if (tca[TCA_RATE])
886 gen_replace_estimator(&sch->bstats, &sch->rate_est, 893 gen_replace_estimator(&sch->bstats, &sch->rate_est,
887 qdisc_root_lock(sch), tca[TCA_RATE]); 894 qdisc_root_sleeping_lock(sch),
895 tca[TCA_RATE]);
888 return 0; 896 return 0;
889} 897}
890 898
@@ -1161,8 +1169,8 @@ static int tc_fill_qdisc(struct sk_buff *skb, struct Qdisc *q, u32 clid,
1161 if (q->stab && qdisc_dump_stab(skb, q->stab) < 0) 1169 if (q->stab && qdisc_dump_stab(skb, q->stab) < 0)
1162 goto nla_put_failure; 1170 goto nla_put_failure;
1163 1171
1164 if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS, 1172 if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS, TCA_XSTATS,
1165 TCA_XSTATS, qdisc_root_lock(q), &d) < 0) 1173 qdisc_root_sleeping_lock(q), &d) < 0)
1166 goto nla_put_failure; 1174 goto nla_put_failure;
1167 1175
1168 if (q->ops->dump_stats && q->ops->dump_stats(q, &d) < 0) 1176 if (q->ops->dump_stats && q->ops->dump_stats(q, &d) < 0)
@@ -1453,8 +1461,8 @@ static int tc_fill_tclass(struct sk_buff *skb, struct Qdisc *q,
1453 if (cl_ops->dump && cl_ops->dump(q, cl, skb, tcm) < 0) 1461 if (cl_ops->dump && cl_ops->dump(q, cl, skb, tcm) < 0)
1454 goto nla_put_failure; 1462 goto nla_put_failure;
1455 1463
1456 if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS, 1464 if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS, TCA_XSTATS,
1457 TCA_XSTATS, qdisc_root_lock(q), &d) < 0) 1465 qdisc_root_sleeping_lock(q), &d) < 0)
1458 goto nla_put_failure; 1466 goto nla_put_failure;
1459 1467
1460 if (cl_ops->dump_stats && cl_ops->dump_stats(q, cl, &d) < 0) 1468 if (cl_ops->dump_stats && cl_ops->dump_stats(q, cl, &d) < 0)
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index 8fa90d68ec6d..8b06fa900482 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -1754,7 +1754,7 @@ static void cbq_put(struct Qdisc *sch, unsigned long arg)
1754 1754
1755 if (--cl->refcnt == 0) { 1755 if (--cl->refcnt == 0) {
1756#ifdef CONFIG_NET_CLS_ACT 1756#ifdef CONFIG_NET_CLS_ACT
1757 spinlock_t *root_lock = qdisc_root_lock(sch); 1757 spinlock_t *root_lock = qdisc_root_sleeping_lock(sch);
1758 struct cbq_sched_data *q = qdisc_priv(sch); 1758 struct cbq_sched_data *q = qdisc_priv(sch);
1759 1759
1760 spin_lock_bh(root_lock); 1760 spin_lock_bh(root_lock);
@@ -1839,7 +1839,7 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **t
1839 1839
1840 if (tca[TCA_RATE]) 1840 if (tca[TCA_RATE])
1841 gen_replace_estimator(&cl->bstats, &cl->rate_est, 1841 gen_replace_estimator(&cl->bstats, &cl->rate_est,
1842 qdisc_root_lock(sch), 1842 qdisc_root_sleeping_lock(sch),
1843 tca[TCA_RATE]); 1843 tca[TCA_RATE]);
1844 return 0; 1844 return 0;
1845 } 1845 }
@@ -1930,7 +1930,7 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **t
1930 1930
1931 if (tca[TCA_RATE]) 1931 if (tca[TCA_RATE])
1932 gen_new_estimator(&cl->bstats, &cl->rate_est, 1932 gen_new_estimator(&cl->bstats, &cl->rate_est,
1933 qdisc_root_lock(sch), tca[TCA_RATE]); 1933 qdisc_root_sleeping_lock(sch), tca[TCA_RATE]);
1934 1934
1935 *arg = (unsigned long)cl; 1935 *arg = (unsigned long)cl;
1936 return 0; 1936 return 0;
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 5f0ade7806a7..9634091ee2f0 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -634,7 +634,7 @@ static void dev_deactivate_queue(struct net_device *dev,
634 if (!(qdisc->flags & TCQ_F_BUILTIN)) 634 if (!(qdisc->flags & TCQ_F_BUILTIN))
635 set_bit(__QDISC_STATE_DEACTIVATED, &qdisc->state); 635 set_bit(__QDISC_STATE_DEACTIVATED, &qdisc->state);
636 636
637 dev_queue->qdisc = qdisc_default; 637 rcu_assign_pointer(dev_queue->qdisc, qdisc_default);
638 qdisc_reset(qdisc); 638 qdisc_reset(qdisc);
639 639
640 spin_unlock_bh(qdisc_lock(qdisc)); 640 spin_unlock_bh(qdisc_lock(qdisc));
@@ -709,7 +709,7 @@ static void shutdown_scheduler_queue(struct net_device *dev,
709 struct Qdisc *qdisc_default = _qdisc_default; 709 struct Qdisc *qdisc_default = _qdisc_default;
710 710
711 if (qdisc) { 711 if (qdisc) {
712 dev_queue->qdisc = qdisc_default; 712 rcu_assign_pointer(dev_queue->qdisc, qdisc_default);
713 dev_queue->qdisc_sleeping = qdisc_default; 713 dev_queue->qdisc_sleeping = qdisc_default;
714 714
715 qdisc_destroy(qdisc); 715 qdisc_destroy(qdisc);
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index c2b8d9cce3d2..c1e77da8cd09 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -1045,7 +1045,7 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
1045 1045
1046 if (tca[TCA_RATE]) 1046 if (tca[TCA_RATE])
1047 gen_replace_estimator(&cl->bstats, &cl->rate_est, 1047 gen_replace_estimator(&cl->bstats, &cl->rate_est,
1048 qdisc_root_lock(sch), 1048 qdisc_root_sleeping_lock(sch),
1049 tca[TCA_RATE]); 1049 tca[TCA_RATE]);
1050 return 0; 1050 return 0;
1051 } 1051 }
@@ -1104,7 +1104,7 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
1104 1104
1105 if (tca[TCA_RATE]) 1105 if (tca[TCA_RATE])
1106 gen_new_estimator(&cl->bstats, &cl->rate_est, 1106 gen_new_estimator(&cl->bstats, &cl->rate_est,
1107 qdisc_root_lock(sch), tca[TCA_RATE]); 1107 qdisc_root_sleeping_lock(sch), tca[TCA_RATE]);
1108 *arg = (unsigned long)cl; 1108 *arg = (unsigned long)cl;
1109 return 0; 1109 return 0;
1110} 1110}
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 0df0df202ed0..d14f02056ae6 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -1043,7 +1043,7 @@ static int htb_init(struct Qdisc *sch, struct nlattr *opt)
1043 1043
1044static int htb_dump(struct Qdisc *sch, struct sk_buff *skb) 1044static int htb_dump(struct Qdisc *sch, struct sk_buff *skb)
1045{ 1045{
1046 spinlock_t *root_lock = qdisc_root_lock(sch); 1046 spinlock_t *root_lock = qdisc_root_sleeping_lock(sch);
1047 struct htb_sched *q = qdisc_priv(sch); 1047 struct htb_sched *q = qdisc_priv(sch);
1048 struct nlattr *nest; 1048 struct nlattr *nest;
1049 struct tc_htb_glob gopt; 1049 struct tc_htb_glob gopt;
@@ -1075,7 +1075,7 @@ static int htb_dump_class(struct Qdisc *sch, unsigned long arg,
1075 struct sk_buff *skb, struct tcmsg *tcm) 1075 struct sk_buff *skb, struct tcmsg *tcm)
1076{ 1076{
1077 struct htb_class *cl = (struct htb_class *)arg; 1077 struct htb_class *cl = (struct htb_class *)arg;
1078 spinlock_t *root_lock = qdisc_root_lock(sch); 1078 spinlock_t *root_lock = qdisc_root_sleeping_lock(sch);
1079 struct nlattr *nest; 1079 struct nlattr *nest;
1080 struct tc_htb_opt opt; 1080 struct tc_htb_opt opt;
1081 1081
@@ -1372,7 +1372,7 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
1372 goto failure; 1372 goto failure;
1373 1373
1374 gen_new_estimator(&cl->bstats, &cl->rate_est, 1374 gen_new_estimator(&cl->bstats, &cl->rate_est,
1375 qdisc_root_lock(sch), 1375 qdisc_root_sleeping_lock(sch),
1376 tca[TCA_RATE] ? : &est.nla); 1376 tca[TCA_RATE] ? : &est.nla);
1377 cl->refcnt = 1; 1377 cl->refcnt = 1;
1378 cl->children = 0; 1378 cl->children = 0;
@@ -1427,7 +1427,7 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
1427 } else { 1427 } else {
1428 if (tca[TCA_RATE]) 1428 if (tca[TCA_RATE])
1429 gen_replace_estimator(&cl->bstats, &cl->rate_est, 1429 gen_replace_estimator(&cl->bstats, &cl->rate_est,
1430 qdisc_root_lock(sch), 1430 qdisc_root_sleeping_lock(sch),
1431 tca[TCA_RATE]); 1431 tca[TCA_RATE]);
1432 sch_tree_lock(sch); 1432 sch_tree_lock(sch);
1433 } 1433 }
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index fb0294d0b55e..3781e55046d0 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -341,7 +341,7 @@ static int get_dist_table(struct Qdisc *sch, const struct nlattr *attr)
341 for (i = 0; i < n; i++) 341 for (i = 0; i < n; i++)
342 d->table[i] = data[i]; 342 d->table[i] = data[i];
343 343
344 root_lock = qdisc_root_lock(sch); 344 root_lock = qdisc_root_sleeping_lock(sch);
345 345
346 spin_lock_bh(root_lock); 346 spin_lock_bh(root_lock);
347 d = xchg(&q->delay_dist, d); 347 d = xchg(&q->delay_dist, d);
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 2c35c678563b..d35ef059abb1 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -161,7 +161,7 @@ teql_destroy(struct Qdisc* sch)
161 txq = netdev_get_tx_queue(master->dev, 0); 161 txq = netdev_get_tx_queue(master->dev, 0);
162 master->slaves = NULL; 162 master->slaves = NULL;
163 163
164 root_lock = qdisc_root_lock(txq->qdisc); 164 root_lock = qdisc_root_sleeping_lock(txq->qdisc);
165 spin_lock_bh(root_lock); 165 spin_lock_bh(root_lock);
166 qdisc_reset(txq->qdisc); 166 qdisc_reset(txq->qdisc);
167 spin_unlock_bh(root_lock); 167 spin_unlock_bh(root_lock);
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 1fcb4cf2f4c9..52db5f60daa0 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -786,6 +786,9 @@ int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep,
786 for (i = 0; i < hmacs->shmac_num_idents; i++) { 786 for (i = 0; i < hmacs->shmac_num_idents; i++) {
787 id = hmacs->shmac_idents[i]; 787 id = hmacs->shmac_idents[i];
788 788
789 if (id > SCTP_AUTH_HMAC_ID_MAX)
790 return -EOPNOTSUPP;
791
789 if (SCTP_AUTH_HMAC_ID_SHA1 == id) 792 if (SCTP_AUTH_HMAC_ID_SHA1 == id)
790 has_sha1 = 1; 793 has_sha1 = 1;
791 794
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index afa952e726d7..5ffb9dec1c3f 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -3086,6 +3086,7 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
3086 int optlen) 3086 int optlen)
3087{ 3087{
3088 struct sctp_hmacalgo *hmacs; 3088 struct sctp_hmacalgo *hmacs;
3089 u32 idents;
3089 int err; 3090 int err;
3090 3091
3091 if (!sctp_auth_enable) 3092 if (!sctp_auth_enable)
@@ -3103,8 +3104,9 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
3103 goto out; 3104 goto out;
3104 } 3105 }
3105 3106
3106 if (hmacs->shmac_num_idents == 0 || 3107 idents = hmacs->shmac_num_idents;
3107 hmacs->shmac_num_idents > SCTP_AUTH_NUM_HMACS) { 3108 if (idents == 0 || idents > SCTP_AUTH_NUM_HMACS ||
3109 (idents * sizeof(u16)) > (optlen - sizeof(struct sctp_hmacalgo))) {
3108 err = -EINVAL; 3110 err = -EINVAL;
3109 goto out; 3111 goto out;
3110 } 3112 }
@@ -3144,7 +3146,7 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
3144 goto out; 3146 goto out;
3145 } 3147 }
3146 3148
3147 if (authkey->sca_keylength > optlen) { 3149 if (authkey->sca_keylength > optlen - sizeof(struct sctp_authkey)) {
3148 ret = -EINVAL; 3150 ret = -EINVAL;
3149 goto out; 3151 goto out;
3150 } 3152 }
diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c
index 0f8c439b848a..5231f7aaac0e 100644
--- a/net/sunrpc/sysctl.c
+++ b/net/sunrpc/sysctl.c
@@ -60,24 +60,14 @@ static int proc_do_xprt(ctl_table *table, int write, struct file *file,
60 void __user *buffer, size_t *lenp, loff_t *ppos) 60 void __user *buffer, size_t *lenp, loff_t *ppos)
61{ 61{
62 char tmpbuf[256]; 62 char tmpbuf[256];
63 int len; 63 size_t len;
64
64 if ((*ppos && !write) || !*lenp) { 65 if ((*ppos && !write) || !*lenp) {
65 *lenp = 0; 66 *lenp = 0;
66 return 0; 67 return 0;
67 } 68 }
68 if (write) 69 len = svc_print_xprts(tmpbuf, sizeof(tmpbuf));
69 return -EINVAL; 70 return simple_read_from_buffer(buffer, *lenp, ppos, tmpbuf, len);
70 else {
71 len = svc_print_xprts(tmpbuf, sizeof(tmpbuf));
72 if (!access_ok(VERIFY_WRITE, buffer, len))
73 return -EFAULT;
74
75 if (__copy_to_user(buffer, tmpbuf, len))
76 return -EFAULT;
77 }
78 *lenp -= len;
79 *ppos += len;
80 return 0;
81} 71}
82 72
83static int 73static int
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index b4b17f44cb29..74de31a06616 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -443,18 +443,18 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
443 443
444 dprintk("svcrdma: rqstp=%p\n", rqstp); 444 dprintk("svcrdma: rqstp=%p\n", rqstp);
445 445
446 spin_lock_bh(&rdma_xprt->sc_read_complete_lock); 446 spin_lock_bh(&rdma_xprt->sc_rq_dto_lock);
447 if (!list_empty(&rdma_xprt->sc_read_complete_q)) { 447 if (!list_empty(&rdma_xprt->sc_read_complete_q)) {
448 ctxt = list_entry(rdma_xprt->sc_read_complete_q.next, 448 ctxt = list_entry(rdma_xprt->sc_read_complete_q.next,
449 struct svc_rdma_op_ctxt, 449 struct svc_rdma_op_ctxt,
450 dto_q); 450 dto_q);
451 list_del_init(&ctxt->dto_q); 451 list_del_init(&ctxt->dto_q);
452 } 452 }
453 spin_unlock_bh(&rdma_xprt->sc_read_complete_lock); 453 if (ctxt) {
454 if (ctxt) 454 spin_unlock_bh(&rdma_xprt->sc_rq_dto_lock);
455 return rdma_read_complete(rqstp, ctxt); 455 return rdma_read_complete(rqstp, ctxt);
456 }
456 457
457 spin_lock_bh(&rdma_xprt->sc_rq_dto_lock);
458 if (!list_empty(&rdma_xprt->sc_rq_dto_q)) { 458 if (!list_empty(&rdma_xprt->sc_rq_dto_q)) {
459 ctxt = list_entry(rdma_xprt->sc_rq_dto_q.next, 459 ctxt = list_entry(rdma_xprt->sc_rq_dto_q.next,
460 struct svc_rdma_op_ctxt, 460 struct svc_rdma_op_ctxt,
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 19ddc382b777..900cb69728c6 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
@@ -359,11 +359,11 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
359 if (test_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags)) { 359 if (test_bit(RDMACTXT_F_LAST_CTXT, &ctxt->flags)) {
360 struct svc_rdma_op_ctxt *read_hdr = ctxt->read_hdr; 360 struct svc_rdma_op_ctxt *read_hdr = ctxt->read_hdr;
361 BUG_ON(!read_hdr); 361 BUG_ON(!read_hdr);
362 spin_lock_bh(&xprt->sc_rq_dto_lock);
362 set_bit(XPT_DATA, &xprt->sc_xprt.xpt_flags); 363 set_bit(XPT_DATA, &xprt->sc_xprt.xpt_flags);
363 spin_lock_bh(&xprt->sc_read_complete_lock);
364 list_add_tail(&read_hdr->dto_q, 364 list_add_tail(&read_hdr->dto_q,
365 &xprt->sc_read_complete_q); 365 &xprt->sc_read_complete_q);
366 spin_unlock_bh(&xprt->sc_read_complete_lock); 366 spin_unlock_bh(&xprt->sc_rq_dto_lock);
367 svc_xprt_enqueue(&xprt->sc_xprt); 367 svc_xprt_enqueue(&xprt->sc_xprt);
368 } 368 }
369 svc_rdma_put_context(ctxt, 0); 369 svc_rdma_put_context(ctxt, 0);
@@ -428,7 +428,6 @@ static struct svcxprt_rdma *rdma_create_xprt(struct svc_serv *serv,
428 init_waitqueue_head(&cma_xprt->sc_send_wait); 428 init_waitqueue_head(&cma_xprt->sc_send_wait);
429 429
430 spin_lock_init(&cma_xprt->sc_lock); 430 spin_lock_init(&cma_xprt->sc_lock);
431 spin_lock_init(&cma_xprt->sc_read_complete_lock);
432 spin_lock_init(&cma_xprt->sc_rq_dto_lock); 431 spin_lock_init(&cma_xprt->sc_rq_dto_lock);
433 432
434 cma_xprt->sc_ord = svcrdma_ord; 433 cma_xprt->sc_ord = svcrdma_ord;
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c
index b1ff16aa4bdb..3ddaff42d1bb 100644
--- a/net/tipc/bcast.c
+++ b/net/tipc/bcast.c
@@ -96,8 +96,8 @@ struct bcbearer {
96 struct media media; 96 struct media media;
97 struct bcbearer_pair bpairs[MAX_BEARERS]; 97 struct bcbearer_pair bpairs[MAX_BEARERS];
98 struct bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1]; 98 struct bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1];
99 struct node_map remains; 99 struct tipc_node_map remains;
100 struct node_map remains_new; 100 struct tipc_node_map remains_new;
101}; 101};
102 102
103/** 103/**
@@ -110,7 +110,7 @@ struct bcbearer {
110 110
111struct bclink { 111struct bclink {
112 struct link link; 112 struct link link;
113 struct node node; 113 struct tipc_node node;
114}; 114};
115 115
116 116
@@ -149,7 +149,7 @@ static void bcbuf_decr_acks(struct sk_buff *buf)
149 * Called with 'node' locked, bc_lock unlocked 149 * Called with 'node' locked, bc_lock unlocked
150 */ 150 */
151 151
152static void bclink_set_gap(struct node *n_ptr) 152static void bclink_set_gap(struct tipc_node *n_ptr)
153{ 153{
154 struct sk_buff *buf = n_ptr->bclink.deferred_head; 154 struct sk_buff *buf = n_ptr->bclink.deferred_head;
155 155
@@ -202,7 +202,7 @@ static void bclink_retransmit_pkt(u32 after, u32 to)
202 * Node is locked, bc_lock unlocked. 202 * Node is locked, bc_lock unlocked.
203 */ 203 */
204 204
205void tipc_bclink_acknowledge(struct node *n_ptr, u32 acked) 205void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked)
206{ 206{
207 struct sk_buff *crs; 207 struct sk_buff *crs;
208 struct sk_buff *next; 208 struct sk_buff *next;
@@ -250,7 +250,7 @@ void tipc_bclink_acknowledge(struct node *n_ptr, u32 acked)
250 * tipc_net_lock and node lock set 250 * tipc_net_lock and node lock set
251 */ 251 */
252 252
253static void bclink_send_ack(struct node *n_ptr) 253static void bclink_send_ack(struct tipc_node *n_ptr)
254{ 254{
255 struct link *l_ptr = n_ptr->active_links[n_ptr->addr & 1]; 255 struct link *l_ptr = n_ptr->active_links[n_ptr->addr & 1];
256 256
@@ -264,7 +264,7 @@ static void bclink_send_ack(struct node *n_ptr)
264 * tipc_net_lock and node lock set 264 * tipc_net_lock and node lock set
265 */ 265 */
266 266
267static void bclink_send_nack(struct node *n_ptr) 267static void bclink_send_nack(struct tipc_node *n_ptr)
268{ 268{
269 struct sk_buff *buf; 269 struct sk_buff *buf;
270 struct tipc_msg *msg; 270 struct tipc_msg *msg;
@@ -308,7 +308,7 @@ static void bclink_send_nack(struct node *n_ptr)
308 * tipc_net_lock and node lock set 308 * tipc_net_lock and node lock set
309 */ 309 */
310 310
311void tipc_bclink_check_gap(struct node *n_ptr, u32 last_sent) 311void tipc_bclink_check_gap(struct tipc_node *n_ptr, u32 last_sent)
312{ 312{
313 if (!n_ptr->bclink.supported || 313 if (!n_ptr->bclink.supported ||
314 less_eq(last_sent, mod(n_ptr->bclink.last_in))) 314 less_eq(last_sent, mod(n_ptr->bclink.last_in)))
@@ -328,7 +328,7 @@ void tipc_bclink_check_gap(struct node *n_ptr, u32 last_sent)
328 328
329static void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 gap_to) 329static void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 gap_to)
330{ 330{
331 struct node *n_ptr = tipc_node_find(dest); 331 struct tipc_node *n_ptr = tipc_node_find(dest);
332 u32 my_after, my_to; 332 u32 my_after, my_to;
333 333
334 if (unlikely(!n_ptr || !tipc_node_is_up(n_ptr))) 334 if (unlikely(!n_ptr || !tipc_node_is_up(n_ptr)))
@@ -418,7 +418,7 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
418 static int rx_count = 0; 418 static int rx_count = 0;
419#endif 419#endif
420 struct tipc_msg *msg = buf_msg(buf); 420 struct tipc_msg *msg = buf_msg(buf);
421 struct node* node = tipc_node_find(msg_prevnode(msg)); 421 struct tipc_node* node = tipc_node_find(msg_prevnode(msg));
422 u32 next_in; 422 u32 next_in;
423 u32 seqno; 423 u32 seqno;
424 struct sk_buff *deferred; 424 struct sk_buff *deferred;
@@ -538,7 +538,7 @@ u32 tipc_bclink_get_last_sent(void)
538 return last_sent; 538 return last_sent;
539} 539}
540 540
541u32 tipc_bclink_acks_missing(struct node *n_ptr) 541u32 tipc_bclink_acks_missing(struct tipc_node *n_ptr)
542{ 542{
543 return (n_ptr->bclink.supported && 543 return (n_ptr->bclink.supported &&
544 (tipc_bclink_get_last_sent() != n_ptr->bclink.acked)); 544 (tipc_bclink_get_last_sent() != n_ptr->bclink.acked));
diff --git a/net/tipc/bcast.h b/net/tipc/bcast.h
index a2416fa6b906..5aa024b99c55 100644
--- a/net/tipc/bcast.h
+++ b/net/tipc/bcast.h
@@ -41,12 +41,12 @@
41#define WSIZE 32 41#define WSIZE 32
42 42
43/** 43/**
44 * struct node_map - set of node identifiers 44 * struct tipc_node_map - set of node identifiers
45 * @count: # of nodes in set 45 * @count: # of nodes in set
46 * @map: bitmap of node identifiers that are in the set 46 * @map: bitmap of node identifiers that are in the set
47 */ 47 */
48 48
49struct node_map { 49struct tipc_node_map {
50 u32 count; 50 u32 count;
51 u32 map[MAX_NODES / WSIZE]; 51 u32 map[MAX_NODES / WSIZE];
52}; 52};
@@ -68,7 +68,7 @@ struct port_list {
68}; 68};
69 69
70 70
71struct node; 71struct tipc_node;
72 72
73extern char tipc_bclink_name[]; 73extern char tipc_bclink_name[];
74 74
@@ -77,7 +77,7 @@ extern char tipc_bclink_name[];
77 * nmap_add - add a node to a node map 77 * nmap_add - add a node to a node map
78 */ 78 */
79 79
80static inline void tipc_nmap_add(struct node_map *nm_ptr, u32 node) 80static inline void tipc_nmap_add(struct tipc_node_map *nm_ptr, u32 node)
81{ 81{
82 int n = tipc_node(node); 82 int n = tipc_node(node);
83 int w = n / WSIZE; 83 int w = n / WSIZE;
@@ -93,7 +93,7 @@ static inline void tipc_nmap_add(struct node_map *nm_ptr, u32 node)
93 * nmap_remove - remove a node from a node map 93 * nmap_remove - remove a node from a node map
94 */ 94 */
95 95
96static inline void tipc_nmap_remove(struct node_map *nm_ptr, u32 node) 96static inline void tipc_nmap_remove(struct tipc_node_map *nm_ptr, u32 node)
97{ 97{
98 int n = tipc_node(node); 98 int n = tipc_node(node);
99 int w = n / WSIZE; 99 int w = n / WSIZE;
@@ -109,7 +109,7 @@ static inline void tipc_nmap_remove(struct node_map *nm_ptr, u32 node)
109 * nmap_equal - test for equality of node maps 109 * nmap_equal - test for equality of node maps
110 */ 110 */
111 111
112static inline int tipc_nmap_equal(struct node_map *nm_a, struct node_map *nm_b) 112static inline int tipc_nmap_equal(struct tipc_node_map *nm_a, struct tipc_node_map *nm_b)
113{ 113{
114 return !memcmp(nm_a, nm_b, sizeof(*nm_a)); 114 return !memcmp(nm_a, nm_b, sizeof(*nm_a));
115} 115}
@@ -121,8 +121,8 @@ static inline int tipc_nmap_equal(struct node_map *nm_a, struct node_map *nm_b)
121 * @nm_diff: output node map A-B (i.e. nodes of A that are not in B) 121 * @nm_diff: output node map A-B (i.e. nodes of A that are not in B)
122 */ 122 */
123 123
124static inline void tipc_nmap_diff(struct node_map *nm_a, struct node_map *nm_b, 124static inline void tipc_nmap_diff(struct tipc_node_map *nm_a, struct tipc_node_map *nm_b,
125 struct node_map *nm_diff) 125 struct tipc_node_map *nm_diff)
126{ 126{
127 int stop = sizeof(nm_a->map) / sizeof(u32); 127 int stop = sizeof(nm_a->map) / sizeof(u32);
128 int w; 128 int w;
@@ -195,12 +195,12 @@ static inline void tipc_port_list_free(struct port_list *pl_ptr)
195 195
196int tipc_bclink_init(void); 196int tipc_bclink_init(void);
197void tipc_bclink_stop(void); 197void tipc_bclink_stop(void);
198void tipc_bclink_acknowledge(struct node *n_ptr, u32 acked); 198void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked);
199int tipc_bclink_send_msg(struct sk_buff *buf); 199int tipc_bclink_send_msg(struct sk_buff *buf);
200void tipc_bclink_recv_pkt(struct sk_buff *buf); 200void tipc_bclink_recv_pkt(struct sk_buff *buf);
201u32 tipc_bclink_get_last_sent(void); 201u32 tipc_bclink_get_last_sent(void);
202u32 tipc_bclink_acks_missing(struct node *n_ptr); 202u32 tipc_bclink_acks_missing(struct tipc_node *n_ptr);
203void tipc_bclink_check_gap(struct node *n_ptr, u32 seqno); 203void tipc_bclink_check_gap(struct tipc_node *n_ptr, u32 seqno);
204int tipc_bclink_stats(char *stats_buf, const u32 buf_size); 204int tipc_bclink_stats(char *stats_buf, const u32 buf_size);
205int tipc_bclink_reset_stats(void); 205int tipc_bclink_reset_stats(void);
206int tipc_bclink_set_queue_limits(u32 limit); 206int tipc_bclink_set_queue_limits(u32 limit);
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
index 6a9aba3edd08..a7a36779b9b3 100644
--- a/net/tipc/bearer.c
+++ b/net/tipc/bearer.c
@@ -599,7 +599,7 @@ int tipc_block_bearer(const char *name)
599 spin_lock_bh(&b_ptr->publ.lock); 599 spin_lock_bh(&b_ptr->publ.lock);
600 b_ptr->publ.blocked = 1; 600 b_ptr->publ.blocked = 1;
601 list_for_each_entry_safe(l_ptr, temp_l_ptr, &b_ptr->links, link_list) { 601 list_for_each_entry_safe(l_ptr, temp_l_ptr, &b_ptr->links, link_list) {
602 struct node *n_ptr = l_ptr->owner; 602 struct tipc_node *n_ptr = l_ptr->owner;
603 603
604 spin_lock_bh(&n_ptr->lock); 604 spin_lock_bh(&n_ptr->lock);
605 tipc_link_reset(l_ptr); 605 tipc_link_reset(l_ptr);
diff --git a/net/tipc/bearer.h b/net/tipc/bearer.h
index 6a36b6600e6c..ca5734892713 100644
--- a/net/tipc/bearer.h
+++ b/net/tipc/bearer.h
@@ -104,7 +104,7 @@ struct bearer {
104 u32 continue_count; 104 u32 continue_count;
105 int active; 105 int active;
106 char net_plane; 106 char net_plane;
107 struct node_map nodes; 107 struct tipc_node_map nodes;
108}; 108};
109 109
110struct bearer_name { 110struct bearer_name {
diff --git a/net/tipc/cluster.c b/net/tipc/cluster.c
index 46ee6c58532d..689fdefe9d04 100644
--- a/net/tipc/cluster.c
+++ b/net/tipc/cluster.c
@@ -48,8 +48,8 @@ static void tipc_cltr_multicast(struct cluster *c_ptr, struct sk_buff *buf,
48 u32 lower, u32 upper); 48 u32 lower, u32 upper);
49static struct sk_buff *tipc_cltr_prepare_routing_msg(u32 data_size, u32 dest); 49static struct sk_buff *tipc_cltr_prepare_routing_msg(u32 data_size, u32 dest);
50 50
51struct node **tipc_local_nodes = NULL; 51struct tipc_node **tipc_local_nodes = NULL;
52struct node_map tipc_cltr_bcast_nodes = {0,{0,}}; 52struct tipc_node_map tipc_cltr_bcast_nodes = {0,{0,}};
53u32 tipc_highest_allowed_slave = 0; 53u32 tipc_highest_allowed_slave = 0;
54 54
55struct cluster *tipc_cltr_create(u32 addr) 55struct cluster *tipc_cltr_create(u32 addr)
@@ -115,7 +115,7 @@ void tipc_cltr_delete(struct cluster *c_ptr)
115 115
116u32 tipc_cltr_next_node(struct cluster *c_ptr, u32 addr) 116u32 tipc_cltr_next_node(struct cluster *c_ptr, u32 addr)
117{ 117{
118 struct node *n_ptr; 118 struct tipc_node *n_ptr;
119 u32 n_num = tipc_node(addr) + 1; 119 u32 n_num = tipc_node(addr) + 1;
120 120
121 if (!c_ptr) 121 if (!c_ptr)
@@ -133,7 +133,7 @@ u32 tipc_cltr_next_node(struct cluster *c_ptr, u32 addr)
133 return 0; 133 return 0;
134} 134}
135 135
136void tipc_cltr_attach_node(struct cluster *c_ptr, struct node *n_ptr) 136void tipc_cltr_attach_node(struct cluster *c_ptr, struct tipc_node *n_ptr)
137{ 137{
138 u32 n_num = tipc_node(n_ptr->addr); 138 u32 n_num = tipc_node(n_ptr->addr);
139 u32 max_n_num = tipc_max_nodes; 139 u32 max_n_num = tipc_max_nodes;
@@ -196,7 +196,7 @@ u32 tipc_cltr_select_router(struct cluster *c_ptr, u32 ref)
196 * Uses deterministic and fair algorithm. 196 * Uses deterministic and fair algorithm.
197 */ 197 */
198 198
199struct node *tipc_cltr_select_node(struct cluster *c_ptr, u32 selector) 199struct tipc_node *tipc_cltr_select_node(struct cluster *c_ptr, u32 selector)
200{ 200{
201 u32 n_num; 201 u32 n_num;
202 u32 mask = tipc_max_nodes; 202 u32 mask = tipc_max_nodes;
@@ -379,7 +379,7 @@ void tipc_cltr_recv_routing_table(struct sk_buff *buf)
379{ 379{
380 struct tipc_msg *msg = buf_msg(buf); 380 struct tipc_msg *msg = buf_msg(buf);
381 struct cluster *c_ptr; 381 struct cluster *c_ptr;
382 struct node *n_ptr; 382 struct tipc_node *n_ptr;
383 unchar *node_table; 383 unchar *node_table;
384 u32 table_size; 384 u32 table_size;
385 u32 router; 385 u32 router;
@@ -499,7 +499,7 @@ static void tipc_cltr_multicast(struct cluster *c_ptr, struct sk_buff *buf,
499 u32 lower, u32 upper) 499 u32 lower, u32 upper)
500{ 500{
501 struct sk_buff *buf_copy; 501 struct sk_buff *buf_copy;
502 struct node *n_ptr; 502 struct tipc_node *n_ptr;
503 u32 n_num; 503 u32 n_num;
504 u32 tstop; 504 u32 tstop;
505 505
@@ -534,7 +534,7 @@ void tipc_cltr_broadcast(struct sk_buff *buf)
534{ 534{
535 struct sk_buff *buf_copy; 535 struct sk_buff *buf_copy;
536 struct cluster *c_ptr; 536 struct cluster *c_ptr;
537 struct node *n_ptr; 537 struct tipc_node *n_ptr;
538 u32 n_num; 538 u32 n_num;
539 u32 tstart; 539 u32 tstart;
540 u32 tstop; 540 u32 tstop;
diff --git a/net/tipc/cluster.h b/net/tipc/cluster.h
index 62df074afaec..333efb0b9c44 100644
--- a/net/tipc/cluster.h
+++ b/net/tipc/cluster.h
@@ -54,24 +54,24 @@
54struct cluster { 54struct cluster {
55 u32 addr; 55 u32 addr;
56 struct _zone *owner; 56 struct _zone *owner;
57 struct node **nodes; 57 struct tipc_node **nodes;
58 u32 highest_node; 58 u32 highest_node;
59 u32 highest_slave; 59 u32 highest_slave;
60}; 60};
61 61
62 62
63extern struct node **tipc_local_nodes; 63extern struct tipc_node **tipc_local_nodes;
64extern u32 tipc_highest_allowed_slave; 64extern u32 tipc_highest_allowed_slave;
65extern struct node_map tipc_cltr_bcast_nodes; 65extern struct tipc_node_map tipc_cltr_bcast_nodes;
66 66
67void tipc_cltr_remove_as_router(struct cluster *c_ptr, u32 router); 67void tipc_cltr_remove_as_router(struct cluster *c_ptr, u32 router);
68void tipc_cltr_send_ext_routes(struct cluster *c_ptr, u32 dest); 68void tipc_cltr_send_ext_routes(struct cluster *c_ptr, u32 dest);
69struct node *tipc_cltr_select_node(struct cluster *c_ptr, u32 selector); 69struct tipc_node *tipc_cltr_select_node(struct cluster *c_ptr, u32 selector);
70u32 tipc_cltr_select_router(struct cluster *c_ptr, u32 ref); 70u32 tipc_cltr_select_router(struct cluster *c_ptr, u32 ref);
71void tipc_cltr_recv_routing_table(struct sk_buff *buf); 71void tipc_cltr_recv_routing_table(struct sk_buff *buf);
72struct cluster *tipc_cltr_create(u32 addr); 72struct cluster *tipc_cltr_create(u32 addr);
73void tipc_cltr_delete(struct cluster *c_ptr); 73void tipc_cltr_delete(struct cluster *c_ptr);
74void tipc_cltr_attach_node(struct cluster *c_ptr, struct node *n_ptr); 74void tipc_cltr_attach_node(struct cluster *c_ptr, struct tipc_node *n_ptr);
75void tipc_cltr_send_slave_routes(struct cluster *c_ptr, u32 dest); 75void tipc_cltr_send_slave_routes(struct cluster *c_ptr, u32 dest);
76void tipc_cltr_broadcast(struct sk_buff *buf); 76void tipc_cltr_broadcast(struct sk_buff *buf);
77int tipc_cltr_init(void); 77int tipc_cltr_init(void);
diff --git a/net/tipc/discover.c b/net/tipc/discover.c
index 1657f0e795ff..74b7d1e28aec 100644
--- a/net/tipc/discover.c
+++ b/net/tipc/discover.c
@@ -193,7 +193,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct bearer *b_ptr)
193 /* Always accept link here */ 193 /* Always accept link here */
194 struct sk_buff *rbuf; 194 struct sk_buff *rbuf;
195 struct tipc_media_addr *addr; 195 struct tipc_media_addr *addr;
196 struct node *n_ptr = tipc_node_find(orig); 196 struct tipc_node *n_ptr = tipc_node_find(orig);
197 int link_fully_up; 197 int link_fully_up;
198 198
199 dbg(" in own cluster\n"); 199 dbg(" in own cluster\n");
diff --git a/net/tipc/link.c b/net/tipc/link.c
index d60113ba4b1b..dd4c18b9a35b 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1155,7 +1155,7 @@ int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf)
1155int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector) 1155int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
1156{ 1156{
1157 struct link *l_ptr; 1157 struct link *l_ptr;
1158 struct node *n_ptr; 1158 struct tipc_node *n_ptr;
1159 int res = -ELINKCONG; 1159 int res = -ELINKCONG;
1160 1160
1161 read_lock_bh(&tipc_net_lock); 1161 read_lock_bh(&tipc_net_lock);
@@ -1226,7 +1226,7 @@ static int link_send_buf_fast(struct link *l_ptr, struct sk_buff *buf,
1226int tipc_send_buf_fast(struct sk_buff *buf, u32 destnode) 1226int tipc_send_buf_fast(struct sk_buff *buf, u32 destnode)
1227{ 1227{
1228 struct link *l_ptr; 1228 struct link *l_ptr;
1229 struct node *n_ptr; 1229 struct tipc_node *n_ptr;
1230 int res; 1230 int res;
1231 u32 selector = msg_origport(buf_msg(buf)) & 1; 1231 u32 selector = msg_origport(buf_msg(buf)) & 1;
1232 u32 dummy; 1232 u32 dummy;
@@ -1270,7 +1270,7 @@ int tipc_link_send_sections_fast(struct port *sender,
1270 struct tipc_msg *hdr = &sender->publ.phdr; 1270 struct tipc_msg *hdr = &sender->publ.phdr;
1271 struct link *l_ptr; 1271 struct link *l_ptr;
1272 struct sk_buff *buf; 1272 struct sk_buff *buf;
1273 struct node *node; 1273 struct tipc_node *node;
1274 int res; 1274 int res;
1275 u32 selector = msg_origport(hdr) & 1; 1275 u32 selector = msg_origport(hdr) & 1;
1276 1276
@@ -1364,7 +1364,7 @@ static int link_send_sections_long(struct port *sender,
1364 u32 destaddr) 1364 u32 destaddr)
1365{ 1365{
1366 struct link *l_ptr; 1366 struct link *l_ptr;
1367 struct node *node; 1367 struct tipc_node *node;
1368 struct tipc_msg *hdr = &sender->publ.phdr; 1368 struct tipc_msg *hdr = &sender->publ.phdr;
1369 u32 dsz = msg_data_sz(hdr); 1369 u32 dsz = msg_data_sz(hdr);
1370 u32 max_pkt,fragm_sz,rest; 1370 u32 max_pkt,fragm_sz,rest;
@@ -1636,7 +1636,7 @@ void tipc_link_push_queue(struct link *l_ptr)
1636 1636
1637static void link_reset_all(unsigned long addr) 1637static void link_reset_all(unsigned long addr)
1638{ 1638{
1639 struct node *n_ptr; 1639 struct tipc_node *n_ptr;
1640 char addr_string[16]; 1640 char addr_string[16];
1641 u32 i; 1641 u32 i;
1642 1642
@@ -1682,7 +1682,7 @@ static void link_retransmit_failure(struct link *l_ptr, struct sk_buff *buf)
1682 1682
1683 /* Handle failure on broadcast link */ 1683 /* Handle failure on broadcast link */
1684 1684
1685 struct node *n_ptr; 1685 struct tipc_node *n_ptr;
1686 char addr_string[16]; 1686 char addr_string[16];
1687 1687
1688 tipc_printf(TIPC_OUTPUT, "Msg seq number: %u, ", msg_seqno(msg)); 1688 tipc_printf(TIPC_OUTPUT, "Msg seq number: %u, ", msg_seqno(msg));
@@ -1843,7 +1843,7 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *tb_ptr)
1843 read_lock_bh(&tipc_net_lock); 1843 read_lock_bh(&tipc_net_lock);
1844 while (head) { 1844 while (head) {
1845 struct bearer *b_ptr = (struct bearer *)tb_ptr; 1845 struct bearer *b_ptr = (struct bearer *)tb_ptr;
1846 struct node *n_ptr; 1846 struct tipc_node *n_ptr;
1847 struct link *l_ptr; 1847 struct link *l_ptr;
1848 struct sk_buff *crs; 1848 struct sk_buff *crs;
1849 struct sk_buff *buf = head; 1849 struct sk_buff *buf = head;
@@ -2935,7 +2935,7 @@ void tipc_link_set_queue_limits(struct link *l_ptr, u32 window)
2935 * Returns pointer to link (or 0 if invalid link name). 2935 * Returns pointer to link (or 0 if invalid link name).
2936 */ 2936 */
2937 2937
2938static struct link *link_find_link(const char *name, struct node **node) 2938static struct link *link_find_link(const char *name, struct tipc_node **node)
2939{ 2939{
2940 struct link_name link_name_parts; 2940 struct link_name link_name_parts;
2941 struct bearer *b_ptr; 2941 struct bearer *b_ptr;
@@ -2965,7 +2965,7 @@ struct sk_buff *tipc_link_cmd_config(const void *req_tlv_area, int req_tlv_space
2965 struct tipc_link_config *args; 2965 struct tipc_link_config *args;
2966 u32 new_value; 2966 u32 new_value;
2967 struct link *l_ptr; 2967 struct link *l_ptr;
2968 struct node *node; 2968 struct tipc_node *node;
2969 int res; 2969 int res;
2970 2970
2971 if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_LINK_CONFIG)) 2971 if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_LINK_CONFIG))
@@ -3043,7 +3043,7 @@ struct sk_buff *tipc_link_cmd_reset_stats(const void *req_tlv_area, int req_tlv_
3043{ 3043{
3044 char *link_name; 3044 char *link_name;
3045 struct link *l_ptr; 3045 struct link *l_ptr;
3046 struct node *node; 3046 struct tipc_node *node;
3047 3047
3048 if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_LINK_NAME)) 3048 if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_LINK_NAME))
3049 return tipc_cfg_reply_error_string(TIPC_CFG_TLV_ERROR); 3049 return tipc_cfg_reply_error_string(TIPC_CFG_TLV_ERROR);
@@ -3091,7 +3091,7 @@ static int tipc_link_stats(const char *name, char *buf, const u32 buf_size)
3091{ 3091{
3092 struct print_buf pb; 3092 struct print_buf pb;
3093 struct link *l_ptr; 3093 struct link *l_ptr;
3094 struct node *node; 3094 struct tipc_node *node;
3095 char *status; 3095 char *status;
3096 u32 profile_total = 0; 3096 u32 profile_total = 0;
3097 3097
@@ -3207,7 +3207,7 @@ int link_control(const char *name, u32 op, u32 val)
3207 int res = -EINVAL; 3207 int res = -EINVAL;
3208 struct link *l_ptr; 3208 struct link *l_ptr;
3209 u32 bearer_id; 3209 u32 bearer_id;
3210 struct node * node; 3210 struct tipc_node * node;
3211 u32 a; 3211 u32 a;
3212 3212
3213 a = link_name2addr(name, &bearer_id); 3213 a = link_name2addr(name, &bearer_id);
@@ -3249,7 +3249,7 @@ int link_control(const char *name, u32 op, u32 val)
3249 3249
3250u32 tipc_link_get_max_pkt(u32 dest, u32 selector) 3250u32 tipc_link_get_max_pkt(u32 dest, u32 selector)
3251{ 3251{
3252 struct node *n_ptr; 3252 struct tipc_node *n_ptr;
3253 struct link *l_ptr; 3253 struct link *l_ptr;
3254 u32 res = MAX_PKT_DEFAULT; 3254 u32 res = MAX_PKT_DEFAULT;
3255 3255
diff --git a/net/tipc/link.h b/net/tipc/link.h
index 52f3e7c1871f..6a51e38ad25c 100644
--- a/net/tipc/link.h
+++ b/net/tipc/link.h
@@ -116,7 +116,7 @@ struct link {
116 char name[TIPC_MAX_LINK_NAME]; 116 char name[TIPC_MAX_LINK_NAME];
117 struct tipc_media_addr media_addr; 117 struct tipc_media_addr media_addr;
118 struct timer_list timer; 118 struct timer_list timer;
119 struct node *owner; 119 struct tipc_node *owner;
120 struct list_head link_list; 120 struct list_head link_list;
121 121
122 /* Management and link supervision data */ 122 /* Management and link supervision data */
diff --git a/net/tipc/name_table.h b/net/tipc/name_table.h
index b9e7cd336d76..139882d4ed00 100644
--- a/net/tipc/name_table.h
+++ b/net/tipc/name_table.h
@@ -76,7 +76,7 @@ struct publication {
76 u32 node; 76 u32 node;
77 u32 ref; 77 u32 ref;
78 u32 key; 78 u32 key;
79 struct node_subscr subscr; 79 struct tipc_node_subscr subscr;
80 struct list_head local_list; 80 struct list_head local_list;
81 struct list_head pport_list; 81 struct list_head pport_list;
82 struct publication *node_list_next; 82 struct publication *node_list_next;
diff --git a/net/tipc/net.c b/net/tipc/net.c
index ec7b04fbdc43..7906608bf510 100644
--- a/net/tipc/net.c
+++ b/net/tipc/net.c
@@ -118,7 +118,7 @@
118DEFINE_RWLOCK(tipc_net_lock); 118DEFINE_RWLOCK(tipc_net_lock);
119struct network tipc_net = { NULL }; 119struct network tipc_net = { NULL };
120 120
121struct node *tipc_net_select_remote_node(u32 addr, u32 ref) 121struct tipc_node *tipc_net_select_remote_node(u32 addr, u32 ref)
122{ 122{
123 return tipc_zone_select_remote_node(tipc_net.zones[tipc_zone(addr)], addr, ref); 123 return tipc_zone_select_remote_node(tipc_net.zones[tipc_zone(addr)], addr, ref);
124} 124}
diff --git a/net/tipc/net.h b/net/tipc/net.h
index d154ac2bda9a..de2b9ad8f646 100644
--- a/net/tipc/net.h
+++ b/net/tipc/net.h
@@ -55,7 +55,7 @@ extern rwlock_t tipc_net_lock;
55void tipc_net_remove_as_router(u32 router); 55void tipc_net_remove_as_router(u32 router);
56void tipc_net_send_external_routes(u32 dest); 56void tipc_net_send_external_routes(u32 dest);
57void tipc_net_route_msg(struct sk_buff *buf); 57void tipc_net_route_msg(struct sk_buff *buf);
58struct node *tipc_net_select_remote_node(u32 addr, u32 ref); 58struct tipc_node *tipc_net_select_remote_node(u32 addr, u32 ref);
59u32 tipc_net_select_router(u32 addr, u32 ref); 59u32 tipc_net_select_router(u32 addr, u32 ref);
60 60
61int tipc_net_start(u32 addr); 61int tipc_net_start(u32 addr);
diff --git a/net/tipc/node.c b/net/tipc/node.c
index ee952ad60218..20d98c56e152 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -46,11 +46,11 @@
46#include "bearer.h" 46#include "bearer.h"
47#include "name_distr.h" 47#include "name_distr.h"
48 48
49void node_print(struct print_buf *buf, struct node *n_ptr, char *str); 49void node_print(struct print_buf *buf, struct tipc_node *n_ptr, char *str);
50static void node_lost_contact(struct node *n_ptr); 50static void node_lost_contact(struct tipc_node *n_ptr);
51static void node_established_contact(struct node *n_ptr); 51static void node_established_contact(struct tipc_node *n_ptr);
52 52
53struct node *tipc_nodes = NULL; /* sorted list of nodes within cluster */ 53struct tipc_node *tipc_nodes = NULL; /* sorted list of nodes within cluster */
54 54
55static DEFINE_SPINLOCK(node_create_lock); 55static DEFINE_SPINLOCK(node_create_lock);
56 56
@@ -66,11 +66,11 @@ u32 tipc_own_tag = 0;
66 * but this is a non-trivial change.) 66 * but this is a non-trivial change.)
67 */ 67 */
68 68
69struct node *tipc_node_create(u32 addr) 69struct tipc_node *tipc_node_create(u32 addr)
70{ 70{
71 struct cluster *c_ptr; 71 struct cluster *c_ptr;
72 struct node *n_ptr; 72 struct tipc_node *n_ptr;
73 struct node **curr_node; 73 struct tipc_node **curr_node;
74 74
75 spin_lock_bh(&node_create_lock); 75 spin_lock_bh(&node_create_lock);
76 76
@@ -120,7 +120,7 @@ struct node *tipc_node_create(u32 addr)
120 return n_ptr; 120 return n_ptr;
121} 121}
122 122
123void tipc_node_delete(struct node *n_ptr) 123void tipc_node_delete(struct tipc_node *n_ptr)
124{ 124{
125 if (!n_ptr) 125 if (!n_ptr)
126 return; 126 return;
@@ -146,7 +146,7 @@ void tipc_node_delete(struct node *n_ptr)
146 * Link becomes active (alone or shared) or standby, depending on its priority. 146 * Link becomes active (alone or shared) or standby, depending on its priority.
147 */ 147 */
148 148
149void tipc_node_link_up(struct node *n_ptr, struct link *l_ptr) 149void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr)
150{ 150{
151 struct link **active = &n_ptr->active_links[0]; 151 struct link **active = &n_ptr->active_links[0];
152 152
@@ -180,7 +180,7 @@ void tipc_node_link_up(struct node *n_ptr, struct link *l_ptr)
180 * node_select_active_links - select active link 180 * node_select_active_links - select active link
181 */ 181 */
182 182
183static void node_select_active_links(struct node *n_ptr) 183static void node_select_active_links(struct tipc_node *n_ptr)
184{ 184{
185 struct link **active = &n_ptr->active_links[0]; 185 struct link **active = &n_ptr->active_links[0];
186 u32 i; 186 u32 i;
@@ -208,7 +208,7 @@ static void node_select_active_links(struct node *n_ptr)
208 * tipc_node_link_down - handle loss of link 208 * tipc_node_link_down - handle loss of link
209 */ 209 */
210 210
211void tipc_node_link_down(struct node *n_ptr, struct link *l_ptr) 211void tipc_node_link_down(struct tipc_node *n_ptr, struct link *l_ptr)
212{ 212{
213 struct link **active; 213 struct link **active;
214 214
@@ -235,30 +235,30 @@ void tipc_node_link_down(struct node *n_ptr, struct link *l_ptr)
235 node_lost_contact(n_ptr); 235 node_lost_contact(n_ptr);
236} 236}
237 237
238int tipc_node_has_active_links(struct node *n_ptr) 238int tipc_node_has_active_links(struct tipc_node *n_ptr)
239{ 239{
240 return (n_ptr && 240 return (n_ptr &&
241 ((n_ptr->active_links[0]) || (n_ptr->active_links[1]))); 241 ((n_ptr->active_links[0]) || (n_ptr->active_links[1])));
242} 242}
243 243
244int tipc_node_has_redundant_links(struct node *n_ptr) 244int tipc_node_has_redundant_links(struct tipc_node *n_ptr)
245{ 245{
246 return (n_ptr->working_links > 1); 246 return (n_ptr->working_links > 1);
247} 247}
248 248
249static int tipc_node_has_active_routes(struct node *n_ptr) 249static int tipc_node_has_active_routes(struct tipc_node *n_ptr)
250{ 250{
251 return (n_ptr && (n_ptr->last_router >= 0)); 251 return (n_ptr && (n_ptr->last_router >= 0));
252} 252}
253 253
254int tipc_node_is_up(struct node *n_ptr) 254int tipc_node_is_up(struct tipc_node *n_ptr)
255{ 255{
256 return (tipc_node_has_active_links(n_ptr) || tipc_node_has_active_routes(n_ptr)); 256 return (tipc_node_has_active_links(n_ptr) || tipc_node_has_active_routes(n_ptr));
257} 257}
258 258
259struct node *tipc_node_attach_link(struct link *l_ptr) 259struct tipc_node *tipc_node_attach_link(struct link *l_ptr)
260{ 260{
261 struct node *n_ptr = tipc_node_find(l_ptr->addr); 261 struct tipc_node *n_ptr = tipc_node_find(l_ptr->addr);
262 262
263 if (!n_ptr) 263 if (!n_ptr)
264 n_ptr = tipc_node_create(l_ptr->addr); 264 n_ptr = tipc_node_create(l_ptr->addr);
@@ -285,7 +285,7 @@ struct node *tipc_node_attach_link(struct link *l_ptr)
285 return NULL; 285 return NULL;
286} 286}
287 287
288void tipc_node_detach_link(struct node *n_ptr, struct link *l_ptr) 288void tipc_node_detach_link(struct tipc_node *n_ptr, struct link *l_ptr)
289{ 289{
290 n_ptr->links[l_ptr->b_ptr->identity] = NULL; 290 n_ptr->links[l_ptr->b_ptr->identity] = NULL;
291 tipc_net.zones[tipc_zone(l_ptr->addr)]->links--; 291 tipc_net.zones[tipc_zone(l_ptr->addr)]->links--;
@@ -338,7 +338,7 @@ void tipc_node_detach_link(struct node *n_ptr, struct link *l_ptr)
338 * 338 *
339 */ 339 */
340 340
341static void node_established_contact(struct node *n_ptr) 341static void node_established_contact(struct tipc_node *n_ptr)
342{ 342{
343 struct cluster *c_ptr; 343 struct cluster *c_ptr;
344 344
@@ -384,10 +384,10 @@ static void node_established_contact(struct node *n_ptr)
384 tipc_highest_allowed_slave); 384 tipc_highest_allowed_slave);
385} 385}
386 386
387static void node_lost_contact(struct node *n_ptr) 387static void node_lost_contact(struct tipc_node *n_ptr)
388{ 388{
389 struct cluster *c_ptr; 389 struct cluster *c_ptr;
390 struct node_subscr *ns, *tns; 390 struct tipc_node_subscr *ns, *tns;
391 char addr_string[16]; 391 char addr_string[16];
392 u32 i; 392 u32 i;
393 393
@@ -466,9 +466,9 @@ static void node_lost_contact(struct node *n_ptr)
466 * Called by when cluster local lookup has failed. 466 * Called by when cluster local lookup has failed.
467 */ 467 */
468 468
469struct node *tipc_node_select_next_hop(u32 addr, u32 selector) 469struct tipc_node *tipc_node_select_next_hop(u32 addr, u32 selector)
470{ 470{
471 struct node *n_ptr; 471 struct tipc_node *n_ptr;
472 u32 router_addr; 472 u32 router_addr;
473 473
474 if (!tipc_addr_domain_valid(addr)) 474 if (!tipc_addr_domain_valid(addr))
@@ -513,7 +513,7 @@ struct node *tipc_node_select_next_hop(u32 addr, u32 selector)
513 * Uses a deterministic and fair algorithm for selecting router node. 513 * Uses a deterministic and fair algorithm for selecting router node.
514 */ 514 */
515 515
516u32 tipc_node_select_router(struct node *n_ptr, u32 ref) 516u32 tipc_node_select_router(struct tipc_node *n_ptr, u32 ref)
517{ 517{
518 u32 ulim; 518 u32 ulim;
519 u32 mask; 519 u32 mask;
@@ -551,7 +551,7 @@ u32 tipc_node_select_router(struct node *n_ptr, u32 ref)
551 return tipc_addr(own_zone(), own_cluster(), r); 551 return tipc_addr(own_zone(), own_cluster(), r);
552} 552}
553 553
554void tipc_node_add_router(struct node *n_ptr, u32 router) 554void tipc_node_add_router(struct tipc_node *n_ptr, u32 router)
555{ 555{
556 u32 r_num = tipc_node(router); 556 u32 r_num = tipc_node(router);
557 557
@@ -562,7 +562,7 @@ void tipc_node_add_router(struct node *n_ptr, u32 router)
562 !n_ptr->routers[n_ptr->last_router]); 562 !n_ptr->routers[n_ptr->last_router]);
563} 563}
564 564
565void tipc_node_remove_router(struct node *n_ptr, u32 router) 565void tipc_node_remove_router(struct tipc_node *n_ptr, u32 router)
566{ 566{
567 u32 r_num = tipc_node(router); 567 u32 r_num = tipc_node(router);
568 568
@@ -580,7 +580,7 @@ void tipc_node_remove_router(struct node *n_ptr, u32 router)
580} 580}
581 581
582#if 0 582#if 0
583void node_print(struct print_buf *buf, struct node *n_ptr, char *str) 583void node_print(struct print_buf *buf, struct tipc_node *n_ptr, char *str)
584{ 584{
585 u32 i; 585 u32 i;
586 586
@@ -597,7 +597,7 @@ void node_print(struct print_buf *buf, struct node *n_ptr, char *str)
597 597
598u32 tipc_available_nodes(const u32 domain) 598u32 tipc_available_nodes(const u32 domain)
599{ 599{
600 struct node *n_ptr; 600 struct tipc_node *n_ptr;
601 u32 cnt = 0; 601 u32 cnt = 0;
602 602
603 read_lock_bh(&tipc_net_lock); 603 read_lock_bh(&tipc_net_lock);
@@ -615,7 +615,7 @@ struct sk_buff *tipc_node_get_nodes(const void *req_tlv_area, int req_tlv_space)
615{ 615{
616 u32 domain; 616 u32 domain;
617 struct sk_buff *buf; 617 struct sk_buff *buf;
618 struct node *n_ptr; 618 struct tipc_node *n_ptr;
619 struct tipc_node_info node_info; 619 struct tipc_node_info node_info;
620 u32 payload_size; 620 u32 payload_size;
621 621
@@ -667,7 +667,7 @@ struct sk_buff *tipc_node_get_links(const void *req_tlv_area, int req_tlv_space)
667{ 667{
668 u32 domain; 668 u32 domain;
669 struct sk_buff *buf; 669 struct sk_buff *buf;
670 struct node *n_ptr; 670 struct tipc_node *n_ptr;
671 struct tipc_link_info link_info; 671 struct tipc_link_info link_info;
672 u32 payload_size; 672 u32 payload_size;
673 673
diff --git a/net/tipc/node.h b/net/tipc/node.h
index cd1882654bbb..6f990da5d143 100644
--- a/net/tipc/node.h
+++ b/net/tipc/node.h
@@ -43,7 +43,7 @@
43#include "bearer.h" 43#include "bearer.h"
44 44
45/** 45/**
46 * struct node - TIPC node structure 46 * struct tipc_node - TIPC node structure
47 * @addr: network address of node 47 * @addr: network address of node
48 * @lock: spinlock governing access to structure 48 * @lock: spinlock governing access to structure
49 * @owner: pointer to cluster that node belongs to 49 * @owner: pointer to cluster that node belongs to
@@ -68,11 +68,11 @@
68 * @defragm: list of partially reassembled b'cast message fragments from node 68 * @defragm: list of partially reassembled b'cast message fragments from node
69 */ 69 */
70 70
71struct node { 71struct tipc_node {
72 u32 addr; 72 u32 addr;
73 spinlock_t lock; 73 spinlock_t lock;
74 struct cluster *owner; 74 struct cluster *owner;
75 struct node *next; 75 struct tipc_node *next;
76 struct list_head nsub; 76 struct list_head nsub;
77 struct link *active_links[2]; 77 struct link *active_links[2];
78 struct link *links[MAX_BEARERS]; 78 struct link *links[MAX_BEARERS];
@@ -94,26 +94,26 @@ struct node {
94 } bclink; 94 } bclink;
95}; 95};
96 96
97extern struct node *tipc_nodes; 97extern struct tipc_node *tipc_nodes;
98extern u32 tipc_own_tag; 98extern u32 tipc_own_tag;
99 99
100struct node *tipc_node_create(u32 addr); 100struct tipc_node *tipc_node_create(u32 addr);
101void tipc_node_delete(struct node *n_ptr); 101void tipc_node_delete(struct tipc_node *n_ptr);
102struct node *tipc_node_attach_link(struct link *l_ptr); 102struct tipc_node *tipc_node_attach_link(struct link *l_ptr);
103void tipc_node_detach_link(struct node *n_ptr, struct link *l_ptr); 103void tipc_node_detach_link(struct tipc_node *n_ptr, struct link *l_ptr);
104void tipc_node_link_down(struct node *n_ptr, struct link *l_ptr); 104void tipc_node_link_down(struct tipc_node *n_ptr, struct link *l_ptr);
105void tipc_node_link_up(struct node *n_ptr, struct link *l_ptr); 105void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr);
106int tipc_node_has_active_links(struct node *n_ptr); 106int tipc_node_has_active_links(struct tipc_node *n_ptr);
107int tipc_node_has_redundant_links(struct node *n_ptr); 107int tipc_node_has_redundant_links(struct tipc_node *n_ptr);
108u32 tipc_node_select_router(struct node *n_ptr, u32 ref); 108u32 tipc_node_select_router(struct tipc_node *n_ptr, u32 ref);
109struct node *tipc_node_select_next_hop(u32 addr, u32 selector); 109struct tipc_node *tipc_node_select_next_hop(u32 addr, u32 selector);
110int tipc_node_is_up(struct node *n_ptr); 110int tipc_node_is_up(struct tipc_node *n_ptr);
111void tipc_node_add_router(struct node *n_ptr, u32 router); 111void tipc_node_add_router(struct tipc_node *n_ptr, u32 router);
112void tipc_node_remove_router(struct node *n_ptr, u32 router); 112void tipc_node_remove_router(struct tipc_node *n_ptr, u32 router);
113struct sk_buff *tipc_node_get_links(const void *req_tlv_area, int req_tlv_space); 113struct sk_buff *tipc_node_get_links(const void *req_tlv_area, int req_tlv_space);
114struct sk_buff *tipc_node_get_nodes(const void *req_tlv_area, int req_tlv_space); 114struct sk_buff *tipc_node_get_nodes(const void *req_tlv_area, int req_tlv_space);
115 115
116static inline struct node *tipc_node_find(u32 addr) 116static inline struct tipc_node *tipc_node_find(u32 addr)
117{ 117{
118 if (likely(in_own_cluster(addr))) 118 if (likely(in_own_cluster(addr)))
119 return tipc_local_nodes[tipc_node(addr)]; 119 return tipc_local_nodes[tipc_node(addr)];
@@ -126,19 +126,19 @@ static inline struct node *tipc_node_find(u32 addr)
126 return NULL; 126 return NULL;
127} 127}
128 128
129static inline struct node *tipc_node_select(u32 addr, u32 selector) 129static inline struct tipc_node *tipc_node_select(u32 addr, u32 selector)
130{ 130{
131 if (likely(in_own_cluster(addr))) 131 if (likely(in_own_cluster(addr)))
132 return tipc_local_nodes[tipc_node(addr)]; 132 return tipc_local_nodes[tipc_node(addr)];
133 return tipc_node_select_next_hop(addr, selector); 133 return tipc_node_select_next_hop(addr, selector);
134} 134}
135 135
136static inline void tipc_node_lock(struct node *n_ptr) 136static inline void tipc_node_lock(struct tipc_node *n_ptr)
137{ 137{
138 spin_lock_bh(&n_ptr->lock); 138 spin_lock_bh(&n_ptr->lock);
139} 139}
140 140
141static inline void tipc_node_unlock(struct node *n_ptr) 141static inline void tipc_node_unlock(struct tipc_node *n_ptr)
142{ 142{
143 spin_unlock_bh(&n_ptr->lock); 143 spin_unlock_bh(&n_ptr->lock);
144} 144}
diff --git a/net/tipc/node_subscr.c b/net/tipc/node_subscr.c
index 8ecbd0fb6103..19194d476a9e 100644
--- a/net/tipc/node_subscr.c
+++ b/net/tipc/node_subscr.c
@@ -44,7 +44,7 @@
44 * tipc_nodesub_subscribe - create "node down" subscription for specified node 44 * tipc_nodesub_subscribe - create "node down" subscription for specified node
45 */ 45 */
46 46
47void tipc_nodesub_subscribe(struct node_subscr *node_sub, u32 addr, 47void tipc_nodesub_subscribe(struct tipc_node_subscr *node_sub, u32 addr,
48 void *usr_handle, net_ev_handler handle_down) 48 void *usr_handle, net_ev_handler handle_down)
49{ 49{
50 if (addr == tipc_own_addr) { 50 if (addr == tipc_own_addr) {
@@ -69,7 +69,7 @@ void tipc_nodesub_subscribe(struct node_subscr *node_sub, u32 addr,
69 * tipc_nodesub_unsubscribe - cancel "node down" subscription (if any) 69 * tipc_nodesub_unsubscribe - cancel "node down" subscription (if any)
70 */ 70 */
71 71
72void tipc_nodesub_unsubscribe(struct node_subscr *node_sub) 72void tipc_nodesub_unsubscribe(struct tipc_node_subscr *node_sub)
73{ 73{
74 if (!node_sub->node) 74 if (!node_sub->node)
75 return; 75 return;
diff --git a/net/tipc/node_subscr.h b/net/tipc/node_subscr.h
index 5f3f5859b84c..006ed739f515 100644
--- a/net/tipc/node_subscr.h
+++ b/net/tipc/node_subscr.h
@@ -42,22 +42,22 @@
42typedef void (*net_ev_handler) (void *usr_handle); 42typedef void (*net_ev_handler) (void *usr_handle);
43 43
44/** 44/**
45 * struct node_subscr - "node down" subscription entry 45 * struct tipc_node_subscr - "node down" subscription entry
46 * @node: ptr to node structure of interest (or NULL, if none) 46 * @node: ptr to node structure of interest (or NULL, if none)
47 * @handle_node_down: routine to invoke when node fails 47 * @handle_node_down: routine to invoke when node fails
48 * @usr_handle: argument to pass to routine when node fails 48 * @usr_handle: argument to pass to routine when node fails
49 * @nodesub_list: adjacent entries in list of subscriptions for the node 49 * @nodesub_list: adjacent entries in list of subscriptions for the node
50 */ 50 */
51 51
52struct node_subscr { 52struct tipc_node_subscr {
53 struct node *node; 53 struct tipc_node *node;
54 net_ev_handler handle_node_down; 54 net_ev_handler handle_node_down;
55 void *usr_handle; 55 void *usr_handle;
56 struct list_head nodesub_list; 56 struct list_head nodesub_list;
57}; 57};
58 58
59void tipc_nodesub_subscribe(struct node_subscr *node_sub, u32 addr, 59void tipc_nodesub_subscribe(struct tipc_node_subscr *node_sub, u32 addr,
60 void *usr_handle, net_ev_handler handle_down); 60 void *usr_handle, net_ev_handler handle_down);
61void tipc_nodesub_unsubscribe(struct node_subscr *node_sub); 61void tipc_nodesub_unsubscribe(struct tipc_node_subscr *node_sub);
62 62
63#endif 63#endif
diff --git a/net/tipc/port.h b/net/tipc/port.h
index e5f8c16429bd..ff31ee4a1dc3 100644
--- a/net/tipc/port.h
+++ b/net/tipc/port.h
@@ -105,7 +105,7 @@ struct port {
105 u32 probing_interval; 105 u32 probing_interval;
106 u32 last_in_seqno; 106 u32 last_in_seqno;
107 struct timer_list timer; 107 struct timer_list timer;
108 struct node_subscr subscription; 108 struct tipc_node_subscr subscription;
109}; 109};
110 110
111extern spinlock_t tipc_port_list_lock; 111extern spinlock_t tipc_port_list_lock;
diff --git a/net/tipc/zone.c b/net/tipc/zone.c
index 3506f8563441..2c01ba2d86bf 100644
--- a/net/tipc/zone.c
+++ b/net/tipc/zone.c
@@ -111,10 +111,10 @@ void tipc_zone_send_external_routes(struct _zone *z_ptr, u32 dest)
111 } 111 }
112} 112}
113 113
114struct node *tipc_zone_select_remote_node(struct _zone *z_ptr, u32 addr, u32 ref) 114struct tipc_node *tipc_zone_select_remote_node(struct _zone *z_ptr, u32 addr, u32 ref)
115{ 115{
116 struct cluster *c_ptr; 116 struct cluster *c_ptr;
117 struct node *n_ptr; 117 struct tipc_node *n_ptr;
118 u32 c_num; 118 u32 c_num;
119 119
120 if (!z_ptr) 120 if (!z_ptr)
diff --git a/net/tipc/zone.h b/net/tipc/zone.h
index 6e7a08df8af5..7bdc3406ba9b 100644
--- a/net/tipc/zone.h
+++ b/net/tipc/zone.h
@@ -54,7 +54,7 @@ struct _zone {
54 u32 links; 54 u32 links;
55}; 55};
56 56
57struct node *tipc_zone_select_remote_node(struct _zone *z_ptr, u32 addr, u32 ref); 57struct tipc_node *tipc_zone_select_remote_node(struct _zone *z_ptr, u32 addr, u32 ref);
58u32 tipc_zone_select_router(struct _zone *z_ptr, u32 addr, u32 ref); 58u32 tipc_zone_select_router(struct _zone *z_ptr, u32 addr, u32 ref);
59void tipc_zone_remove_as_router(struct _zone *z_ptr, u32 router); 59void tipc_zone_remove_as_router(struct _zone *z_ptr, u32 router);
60void tipc_zone_send_external_routes(struct _zone *z_ptr, u32 dest); 60void tipc_zone_send_external_routes(struct _zone *z_ptr, u32 dest);
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index ab015c62d561..833b024f8f66 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -39,4 +39,5 @@ config WIRELESS_EXT_SYSFS
39 files in /sys/class/net/*/wireless/. The same information 39 files in /sys/class/net/*/wireless/. The same information
40 is available via the ioctls as well. 40 is available via the ioctls as well.
41 41
42 Say Y if you have programs using it (we don't know of any). 42 Say Y if you have programs using it, like old versions of
43 hal.
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 841b32a2e680..b7754b1b73a4 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1077,6 +1077,7 @@ static void __xfrm_policy_link(struct xfrm_policy *pol, int dir)
1077 struct hlist_head *chain = policy_hash_bysel(&pol->selector, 1077 struct hlist_head *chain = policy_hash_bysel(&pol->selector,
1078 pol->family, dir); 1078 pol->family, dir);
1079 1079
1080 list_add_tail(&pol->bytype, &xfrm_policy_bytype[pol->type]);
1080 hlist_add_head(&pol->bydst, chain); 1081 hlist_add_head(&pol->bydst, chain);
1081 hlist_add_head(&pol->byidx, xfrm_policy_byidx+idx_hash(pol->index)); 1082 hlist_add_head(&pol->byidx, xfrm_policy_byidx+idx_hash(pol->index));
1082 xfrm_policy_count[dir]++; 1083 xfrm_policy_count[dir]++;
@@ -1731,8 +1732,7 @@ restart:
1731 * We can't enlist stable bundles either. 1732 * We can't enlist stable bundles either.
1732 */ 1733 */
1733 write_unlock_bh(&policy->lock); 1734 write_unlock_bh(&policy->lock);
1734 if (dst) 1735 dst_free(dst);
1735 dst_free(dst);
1736 1736
1737 if (pol_dead) 1737 if (pol_dead)
1738 XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD); 1738 XFRM_INC_STATS(LINUX_MIB_XFRMOUTPOLDEAD);
@@ -1748,8 +1748,7 @@ restart:
1748 err = xfrm_dst_update_origin(dst, fl); 1748 err = xfrm_dst_update_origin(dst, fl);
1749 if (unlikely(err)) { 1749 if (unlikely(err)) {
1750 write_unlock_bh(&policy->lock); 1750 write_unlock_bh(&policy->lock);
1751 if (dst) 1751 dst_free(dst);
1752 dst_free(dst);
1753 XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR); 1752 XFRM_INC_STATS(LINUX_MIB_XFRMOUTBUNDLECHECKERROR);
1754 goto error; 1753 goto error;
1755 } 1754 }
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 4c6914ef7d92..0a8f09c3144c 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -780,11 +780,13 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
780{ 780{
781 unsigned int h; 781 unsigned int h;
782 struct hlist_node *entry; 782 struct hlist_node *entry;
783 struct xfrm_state *x, *x0; 783 struct xfrm_state *x, *x0, *to_put;
784 int acquire_in_progress = 0; 784 int acquire_in_progress = 0;
785 int error = 0; 785 int error = 0;
786 struct xfrm_state *best = NULL; 786 struct xfrm_state *best = NULL;
787 787
788 to_put = NULL;
789
788 spin_lock_bh(&xfrm_state_lock); 790 spin_lock_bh(&xfrm_state_lock);
789 h = xfrm_dst_hash(daddr, saddr, tmpl->reqid, family); 791 h = xfrm_dst_hash(daddr, saddr, tmpl->reqid, family);
790 hlist_for_each_entry(x, entry, xfrm_state_bydst+h, bydst) { 792 hlist_for_each_entry(x, entry, xfrm_state_bydst+h, bydst) {
@@ -833,7 +835,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
833 if (tmpl->id.spi && 835 if (tmpl->id.spi &&
834 (x0 = __xfrm_state_lookup(daddr, tmpl->id.spi, 836 (x0 = __xfrm_state_lookup(daddr, tmpl->id.spi,
835 tmpl->id.proto, family)) != NULL) { 837 tmpl->id.proto, family)) != NULL) {
836 xfrm_state_put(x0); 838 to_put = x0;
837 error = -EEXIST; 839 error = -EEXIST;
838 goto out; 840 goto out;
839 } 841 }
@@ -849,13 +851,14 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
849 error = security_xfrm_state_alloc_acquire(x, pol->security, fl->secid); 851 error = security_xfrm_state_alloc_acquire(x, pol->security, fl->secid);
850 if (error) { 852 if (error) {
851 x->km.state = XFRM_STATE_DEAD; 853 x->km.state = XFRM_STATE_DEAD;
852 xfrm_state_put(x); 854 to_put = x;
853 x = NULL; 855 x = NULL;
854 goto out; 856 goto out;
855 } 857 }
856 858
857 if (km_query(x, tmpl, pol) == 0) { 859 if (km_query(x, tmpl, pol) == 0) {
858 x->km.state = XFRM_STATE_ACQ; 860 x->km.state = XFRM_STATE_ACQ;
861 list_add_tail(&x->all, &xfrm_state_all);
859 hlist_add_head(&x->bydst, xfrm_state_bydst+h); 862 hlist_add_head(&x->bydst, xfrm_state_bydst+h);
860 h = xfrm_src_hash(daddr, saddr, family); 863 h = xfrm_src_hash(daddr, saddr, family);
861 hlist_add_head(&x->bysrc, xfrm_state_bysrc+h); 864 hlist_add_head(&x->bysrc, xfrm_state_bysrc+h);
@@ -870,7 +873,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
870 xfrm_hash_grow_check(x->bydst.next != NULL); 873 xfrm_hash_grow_check(x->bydst.next != NULL);
871 } else { 874 } else {
872 x->km.state = XFRM_STATE_DEAD; 875 x->km.state = XFRM_STATE_DEAD;
873 xfrm_state_put(x); 876 to_put = x;
874 x = NULL; 877 x = NULL;
875 error = -ESRCH; 878 error = -ESRCH;
876 } 879 }
@@ -881,6 +884,8 @@ out:
881 else 884 else
882 *err = acquire_in_progress ? -EAGAIN : error; 885 *err = acquire_in_progress ? -EAGAIN : error;
883 spin_unlock_bh(&xfrm_state_lock); 886 spin_unlock_bh(&xfrm_state_lock);
887 if (to_put)
888 xfrm_state_put(to_put);
884 return x; 889 return x;
885} 890}
886 891
@@ -1051,6 +1056,7 @@ static struct xfrm_state *__find_acq_core(unsigned short family, u8 mode, u32 re
1051 xfrm_state_hold(x); 1056 xfrm_state_hold(x);
1052 x->timer.expires = jiffies + sysctl_xfrm_acq_expires*HZ; 1057 x->timer.expires = jiffies + sysctl_xfrm_acq_expires*HZ;
1053 add_timer(&x->timer); 1058 add_timer(&x->timer);
1059 list_add_tail(&x->all, &xfrm_state_all);
1054 hlist_add_head(&x->bydst, xfrm_state_bydst+h); 1060 hlist_add_head(&x->bydst, xfrm_state_bydst+h);
1055 h = xfrm_src_hash(daddr, saddr, family); 1061 h = xfrm_src_hash(daddr, saddr, family);
1056 hlist_add_head(&x->bysrc, xfrm_state_bysrc+h); 1062 hlist_add_head(&x->bysrc, xfrm_state_bysrc+h);
@@ -1067,18 +1073,20 @@ static struct xfrm_state *__xfrm_find_acq_byseq(u32 seq);
1067 1073
1068int xfrm_state_add(struct xfrm_state *x) 1074int xfrm_state_add(struct xfrm_state *x)
1069{ 1075{
1070 struct xfrm_state *x1; 1076 struct xfrm_state *x1, *to_put;
1071 int family; 1077 int family;
1072 int err; 1078 int err;
1073 int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY); 1079 int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY);
1074 1080
1075 family = x->props.family; 1081 family = x->props.family;
1076 1082
1083 to_put = NULL;
1084
1077 spin_lock_bh(&xfrm_state_lock); 1085 spin_lock_bh(&xfrm_state_lock);
1078 1086
1079 x1 = __xfrm_state_locate(x, use_spi, family); 1087 x1 = __xfrm_state_locate(x, use_spi, family);
1080 if (x1) { 1088 if (x1) {
1081 xfrm_state_put(x1); 1089 to_put = x1;
1082 x1 = NULL; 1090 x1 = NULL;
1083 err = -EEXIST; 1091 err = -EEXIST;
1084 goto out; 1092 goto out;
@@ -1088,7 +1096,7 @@ int xfrm_state_add(struct xfrm_state *x)
1088 x1 = __xfrm_find_acq_byseq(x->km.seq); 1096 x1 = __xfrm_find_acq_byseq(x->km.seq);
1089 if (x1 && ((x1->id.proto != x->id.proto) || 1097 if (x1 && ((x1->id.proto != x->id.proto) ||
1090 xfrm_addr_cmp(&x1->id.daddr, &x->id.daddr, family))) { 1098 xfrm_addr_cmp(&x1->id.daddr, &x->id.daddr, family))) {
1091 xfrm_state_put(x1); 1099 to_put = x1;
1092 x1 = NULL; 1100 x1 = NULL;
1093 } 1101 }
1094 } 1102 }
@@ -1110,6 +1118,9 @@ out:
1110 xfrm_state_put(x1); 1118 xfrm_state_put(x1);
1111 } 1119 }
1112 1120
1121 if (to_put)
1122 xfrm_state_put(to_put);
1123
1113 return err; 1124 return err;
1114} 1125}
1115EXPORT_SYMBOL(xfrm_state_add); 1126EXPORT_SYMBOL(xfrm_state_add);
@@ -1269,10 +1280,12 @@ EXPORT_SYMBOL(xfrm_state_migrate);
1269 1280
1270int xfrm_state_update(struct xfrm_state *x) 1281int xfrm_state_update(struct xfrm_state *x)
1271{ 1282{
1272 struct xfrm_state *x1; 1283 struct xfrm_state *x1, *to_put;
1273 int err; 1284 int err;
1274 int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY); 1285 int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY);
1275 1286
1287 to_put = NULL;
1288
1276 spin_lock_bh(&xfrm_state_lock); 1289 spin_lock_bh(&xfrm_state_lock);
1277 x1 = __xfrm_state_locate(x, use_spi, x->props.family); 1290 x1 = __xfrm_state_locate(x, use_spi, x->props.family);
1278 1291
@@ -1281,7 +1294,7 @@ int xfrm_state_update(struct xfrm_state *x)
1281 goto out; 1294 goto out;
1282 1295
1283 if (xfrm_state_kern(x1)) { 1296 if (xfrm_state_kern(x1)) {
1284 xfrm_state_put(x1); 1297 to_put = x1;
1285 err = -EEXIST; 1298 err = -EEXIST;
1286 goto out; 1299 goto out;
1287 } 1300 }
@@ -1295,6 +1308,9 @@ int xfrm_state_update(struct xfrm_state *x)
1295out: 1308out:
1296 spin_unlock_bh(&xfrm_state_lock); 1309 spin_unlock_bh(&xfrm_state_lock);
1297 1310
1311 if (to_put)
1312 xfrm_state_put(to_put);
1313
1298 if (err) 1314 if (err)
1299 return err; 1315 return err;
1300 1316
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index 7bd296cca041..46f23971f7e4 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -508,12 +508,11 @@ int devcgroup_inode_permission(struct inode *inode, int mask)
508 return 0; 508 return 0;
509 if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode)) 509 if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode))
510 return 0; 510 return 0;
511 dev_cgroup = css_to_devcgroup(task_subsys_state(current,
512 devices_subsys_id));
513 if (!dev_cgroup)
514 return 0;
515 511
516 rcu_read_lock(); 512 rcu_read_lock();
513
514 dev_cgroup = task_devcgroup(current);
515
517 list_for_each_entry_rcu(wh, &dev_cgroup->whitelist, list) { 516 list_for_each_entry_rcu(wh, &dev_cgroup->whitelist, list) {
518 if (wh->type & DEV_ALL) 517 if (wh->type & DEV_ALL)
519 goto acc_check; 518 goto acc_check;
@@ -533,6 +532,7 @@ acc_check:
533 rcu_read_unlock(); 532 rcu_read_unlock();
534 return 0; 533 return 0;
535 } 534 }
535
536 rcu_read_unlock(); 536 rcu_read_unlock();
537 537
538 return -EPERM; 538 return -EPERM;
@@ -543,12 +543,10 @@ int devcgroup_inode_mknod(int mode, dev_t dev)
543 struct dev_cgroup *dev_cgroup; 543 struct dev_cgroup *dev_cgroup;
544 struct dev_whitelist_item *wh; 544 struct dev_whitelist_item *wh;
545 545
546 dev_cgroup = css_to_devcgroup(task_subsys_state(current,
547 devices_subsys_id));
548 if (!dev_cgroup)
549 return 0;
550
551 rcu_read_lock(); 546 rcu_read_lock();
547
548 dev_cgroup = task_devcgroup(current);
549
552 list_for_each_entry(wh, &dev_cgroup->whitelist, list) { 550 list_for_each_entry(wh, &dev_cgroup->whitelist, list) {
553 if (wh->type & DEV_ALL) 551 if (wh->type & DEV_ALL)
554 goto acc_check; 552 goto acc_check;
@@ -566,6 +564,8 @@ acc_check:
566 rcu_read_unlock(); 564 rcu_read_unlock();
567 return 0; 565 return 0;
568 } 566 }
567
569 rcu_read_unlock(); 568 rcu_read_unlock();
569
570 return -EPERM; 570 return -EPERM;
571} 571}
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index b52f923ce680..d11a8154500f 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -811,11 +811,12 @@ static int string_to_context_struct(struct policydb *pol,
811 /* Check the validity of the new context. */ 811 /* Check the validity of the new context. */
812 if (!policydb_context_isvalid(pol, ctx)) { 812 if (!policydb_context_isvalid(pol, ctx)) {
813 rc = -EINVAL; 813 rc = -EINVAL;
814 context_destroy(ctx);
815 goto out; 814 goto out;
816 } 815 }
817 rc = 0; 816 rc = 0;
818out: 817out:
818 if (rc)
819 context_destroy(ctx);
819 return rc; 820 return rc;
820} 821}
821 822
@@ -868,8 +869,7 @@ static int security_context_to_sid_core(const char *scontext, u32 scontext_len,
868 } else if (rc) 869 } else if (rc)
869 goto out; 870 goto out;
870 rc = sidtab_context_to_sid(&sidtab, &context, sid); 871 rc = sidtab_context_to_sid(&sidtab, &context, sid);
871 if (rc) 872 context_destroy(&context);
872 context_destroy(&context);
873out: 873out:
874 read_unlock(&policy_rwlock); 874 read_unlock(&policy_rwlock);
875 kfree(scontext2); 875 kfree(scontext2);
diff --git a/sound/Kconfig b/sound/Kconfig
index a37bee094eba..8ebf512ced6c 100644
--- a/sound/Kconfig
+++ b/sound/Kconfig
@@ -91,6 +91,9 @@ endif # SOUND_PRIME
91 91
92endif # !M68K 92endif # !M68K
93 93
94endif # SOUND
95
96# AC97_BUS is used from both sound and ucb1400
94config AC97_BUS 97config AC97_BUS
95 tristate 98 tristate
96 help 99 help
@@ -99,4 +102,3 @@ config AC97_BUS
99 sound although they're sharing the AC97 bus. Concerned drivers 102 sound although they're sharing the AC97 bus. Concerned drivers
100 should "select" this. 103 should "select" this.
101 104
102endif # SOUND
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 909f1c101c95..66025161bd69 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6197,7 +6197,6 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = {
6197 SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), 6197 SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG),
6198 SND_PCI_QUIRK(0x1043, 0x81d8, "Asus P5WD", ALC882_6ST_DIG), 6198 SND_PCI_QUIRK(0x1043, 0x81d8, "Asus P5WD", ALC882_6ST_DIG),
6199 SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG), 6199 SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG),
6200 SND_PCI_QUIRK(0x106b, 0x00a0, "Apple iMac 24''", ALC885_IMAC24),
6201 SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), 6200 SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG),
6202 SND_PCI_QUIRK(0x1462, 0x28fb, "Targa T8", ALC882_TARGA), /* MSI-1049 T8 */ 6201 SND_PCI_QUIRK(0x1462, 0x28fb, "Targa T8", ALC882_TARGA), /* MSI-1049 T8 */
6203 SND_PCI_QUIRK(0x1462, 0x6668, "MSI", ALC882_6ST_DIG), 6202 SND_PCI_QUIRK(0x1462, 0x6668, "MSI", ALC882_6ST_DIG),
@@ -14067,6 +14066,13 @@ static struct hda_verb alc662_auto_init_verbs[] = {
14067 { } 14066 { }
14068}; 14067};
14069 14068
14069/* additional verbs for ALC663 */
14070static struct hda_verb alc663_auto_init_verbs[] = {
14071 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
14072 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
14073 { }
14074};
14075
14070static struct hda_verb alc663_m51va_init_verbs[] = { 14076static struct hda_verb alc663_m51va_init_verbs[] = {
14071 {0x21, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, 14077 {0x21, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
14072 {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 14078 {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
@@ -14595,6 +14601,14 @@ static int alc662_auto_create_extra_out(struct alc_spec *spec, hda_nid_t pin,
14595 if (!pin) 14601 if (!pin)
14596 return 0; 14602 return 0;
14597 14603
14604 if (pin == 0x17) {
14605 /* ALC663 has a mono output pin on 0x17 */
14606 sprintf(name, "%s Playback Switch", pfx);
14607 err = add_control(spec, ALC_CTL_WIDGET_MUTE, name,
14608 HDA_COMPOSE_AMP_VAL(pin, 2, 0, HDA_OUTPUT));
14609 return err;
14610 }
14611
14598 if (alc880_is_fixed_pin(pin)) { 14612 if (alc880_is_fixed_pin(pin)) {
14599 nid = alc880_idx_to_dac(alc880_fixed_pin_idx(pin)); 14613 nid = alc880_idx_to_dac(alc880_fixed_pin_idx(pin));
14600 /* printk("DAC nid=%x\n",nid); */ 14614 /* printk("DAC nid=%x\n",nid); */
@@ -14765,6 +14779,14 @@ static int alc662_parse_auto_config(struct hda_codec *codec)
14765 spec->input_mux = &spec->private_imux; 14779 spec->input_mux = &spec->private_imux;
14766 14780
14767 spec->init_verbs[spec->num_init_verbs++] = alc662_auto_init_verbs; 14781 spec->init_verbs[spec->num_init_verbs++] = alc662_auto_init_verbs;
14782 if (codec->vendor_id == 0x10ec0663)
14783 spec->init_verbs[spec->num_init_verbs++] =
14784 alc663_auto_init_verbs;
14785
14786 err = alc_auto_add_mic_boost(codec);
14787 if (err < 0)
14788 return err;
14789
14768 spec->mixers[spec->num_mixers] = alc662_capture_mixer; 14790 spec->mixers[spec->num_mixers] = alc662_capture_mixer;
14769 spec->num_mixers++; 14791 spec->num_mixers++;
14770 return 1; 14792 return 1;
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 7fdafcb0015d..ad994fcab725 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -560,8 +560,9 @@ static struct hda_verb dell_eq_core_init[] = {
560}; 560};
561 561
562static struct hda_verb dell_m6_core_init[] = { 562static struct hda_verb dell_m6_core_init[] = {
563 /* set master volume and direct control */ 563 /* set master volume to max value without distortion
564 { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, 564 * and direct control */
565 { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
565 /* setup audio connections */ 566 /* setup audio connections */
566 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, 567 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
567 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, 568 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
diff --git a/sound/pci/oxygen/hifier.c b/sound/pci/oxygen/hifier.c
index 7442460583dd..dad393ae040a 100644
--- a/sound/pci/oxygen/hifier.c
+++ b/sound/pci/oxygen/hifier.c
@@ -17,6 +17,7 @@
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */ 18 */
19 19
20#include <linux/delay.h>
20#include <linux/pci.h> 21#include <linux/pci.h>
21#include <sound/control.h> 22#include <sound/control.h>
22#include <sound/core.h> 23#include <sound/core.h>
@@ -107,6 +108,9 @@ static void set_ak4396_params(struct oxygen *chip,
107 else 108 else
108 value |= AK4396_DFS_QUAD; 109 value |= AK4396_DFS_QUAD;
109 data->ak4396_ctl2 = value; 110 data->ak4396_ctl2 = value;
111
112 msleep(1); /* wait for the new MCLK to become stable */
113
110 ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB); 114 ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB);
111 ak4396_write(chip, AK4396_CONTROL_2, value); 115 ak4396_write(chip, AK4396_CONTROL_2, value);
112 ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB | AK4396_RSTN); 116 ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB | AK4396_RSTN);
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c
index 7c8ae31eb468..c5829d30ef86 100644
--- a/sound/pci/oxygen/oxygen.c
+++ b/sound/pci/oxygen/oxygen.c
@@ -28,6 +28,7 @@
28 * GPIO 1 -> DFS1 of AK5385 28 * GPIO 1 -> DFS1 of AK5385
29 */ 29 */
30 30
31#include <linux/delay.h>
31#include <linux/mutex.h> 32#include <linux/mutex.h>
32#include <linux/pci.h> 33#include <linux/pci.h>
33#include <sound/ac97_codec.h> 34#include <sound/ac97_codec.h>
@@ -213,6 +214,9 @@ static void set_ak4396_params(struct oxygen *chip,
213 else 214 else
214 value |= AK4396_DFS_QUAD; 215 value |= AK4396_DFS_QUAD;
215 data->ak4396_ctl2 = value; 216 data->ak4396_ctl2 = value;
217
218 msleep(1); /* wait for the new MCLK to become stable */
219
216 for (i = 0; i < 4; ++i) { 220 for (i = 0; i < 4; ++i) {
217 ak4396_write(chip, i, 221 ak4396_write(chip, i,
218 AK4396_CONTROL_1, AK4396_DIF_24_MSB); 222 AK4396_CONTROL_1, AK4396_DIF_24_MSB);
diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index 6facac5aed90..05eb8994c141 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -512,9 +512,12 @@ static int ac97_switch_get(struct snd_kcontrol *ctl,
512 512
513static void mute_ac97_ctl(struct oxygen *chip, unsigned int control) 513static void mute_ac97_ctl(struct oxygen *chip, unsigned int control)
514{ 514{
515 unsigned int priv_idx = chip->controls[control]->private_value & 0xff; 515 unsigned int priv_idx;
516 u16 value; 516 u16 value;
517 517
518 if (!chip->controls[control])
519 return;
520 priv_idx = chip->controls[control]->private_value & 0xff;
518 value = oxygen_read_ac97(chip, 0, priv_idx); 521 value = oxygen_read_ac97(chip, 0, priv_idx);
519 if (!(value & 0x8000)) { 522 if (!(value & 0x8000)) {
520 oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000); 523 oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000);
diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c
index 7694621ec40b..87d0ed01f65a 100644
--- a/sound/soc/omap/n810.c
+++ b/sound/soc/omap/n810.c
@@ -329,12 +329,14 @@ static int __init n810_soc_init(void)
329 sys_clkout2_src = clk_get(dev, "sys_clkout2_src"); 329 sys_clkout2_src = clk_get(dev, "sys_clkout2_src");
330 if (IS_ERR(sys_clkout2_src)) { 330 if (IS_ERR(sys_clkout2_src)) {
331 dev_err(dev, "Could not get sys_clkout2_src clock\n"); 331 dev_err(dev, "Could not get sys_clkout2_src clock\n");
332 return -ENODEV; 332 err = PTR_ERR(sys_clkout2_src);
333 goto err2;
333 } 334 }
334 sys_clkout2 = clk_get(dev, "sys_clkout2"); 335 sys_clkout2 = clk_get(dev, "sys_clkout2");
335 if (IS_ERR(sys_clkout2)) { 336 if (IS_ERR(sys_clkout2)) {
336 dev_err(dev, "Could not get sys_clkout2\n"); 337 dev_err(dev, "Could not get sys_clkout2\n");
337 goto err1; 338 err = PTR_ERR(sys_clkout2);
339 goto err3;
338 } 340 }
339 /* 341 /*
340 * Configure 12 MHz output on SYS_CLKOUT2. Therefore we must use 342 * Configure 12 MHz output on SYS_CLKOUT2. Therefore we must use
@@ -343,7 +345,8 @@ static int __init n810_soc_init(void)
343 func96m_clk = clk_get(dev, "func_96m_ck"); 345 func96m_clk = clk_get(dev, "func_96m_ck");
344 if (IS_ERR(func96m_clk)) { 346 if (IS_ERR(func96m_clk)) {
345 dev_err(dev, "Could not get func 96M clock\n"); 347 dev_err(dev, "Could not get func 96M clock\n");
346 goto err2; 348 err = PTR_ERR(func96m_clk);
349 goto err4;
347 } 350 }
348 clk_set_parent(sys_clkout2_src, func96m_clk); 351 clk_set_parent(sys_clkout2_src, func96m_clk);
349 clk_set_rate(sys_clkout2, 12000000); 352 clk_set_rate(sys_clkout2, 12000000);
@@ -356,20 +359,25 @@ static int __init n810_soc_init(void)
356 gpio_direction_output(N810_SPEAKER_AMP_GPIO, 0); 359 gpio_direction_output(N810_SPEAKER_AMP_GPIO, 0);
357 360
358 return 0; 361 return 0;
359err2: 362err4:
360 clk_put(sys_clkout2); 363 clk_put(sys_clkout2);
364err3:
365 clk_put(sys_clkout2_src);
366err2:
361 platform_device_del(n810_snd_device); 367 platform_device_del(n810_snd_device);
362err1: 368err1:
363 platform_device_put(n810_snd_device); 369 platform_device_put(n810_snd_device);
364 370
365 return err; 371 return err;
366
367} 372}
368 373
369static void __exit n810_soc_exit(void) 374static void __exit n810_soc_exit(void)
370{ 375{
371 gpio_free(N810_SPEAKER_AMP_GPIO); 376 gpio_free(N810_SPEAKER_AMP_GPIO);
372 gpio_free(N810_HEADSET_AMP_GPIO); 377 gpio_free(N810_HEADSET_AMP_GPIO);
378 clk_put(sys_clkout2_src);
379 clk_put(sys_clkout2);
380 clk_put(func96m_clk);
373 381
374 platform_device_unregister(n810_snd_device); 382 platform_device_unregister(n810_snd_device);
375} 383}
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index 0a53f72077fd..fa69faa886ef 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -18,13 +18,13 @@
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/interrupt.h> 19#include <linux/interrupt.h>
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/gpio.h>
21#include <sound/core.h> 22#include <sound/core.h>
22#include <sound/pcm.h> 23#include <sound/pcm.h>
23#include <sound/soc.h> 24#include <sound/soc.h>
24#include <sound/soc-dapm.h> 25#include <sound/soc-dapm.h>
25 26
26#include <asm/mach-types.h> 27#include <asm/mach-types.h>
27#include <asm/hardware/scoop.h>
28#include <mach/pxa-regs.h> 28#include <mach/pxa-regs.h>
29#include <mach/hardware.h> 29#include <mach/hardware.h>
30#include <mach/corgi.h> 30#include <mach/corgi.h>
@@ -54,8 +54,8 @@ static void corgi_ext_control(struct snd_soc_codec *codec)
54 switch (corgi_jack_func) { 54 switch (corgi_jack_func) {
55 case CORGI_HP: 55 case CORGI_HP:
56 /* set = unmute headphone */ 56 /* set = unmute headphone */
57 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_L); 57 gpio_set_value(CORGI_GPIO_MUTE_L, 1);
58 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_R); 58 gpio_set_value(CORGI_GPIO_MUTE_R, 1);
59 snd_soc_dapm_disable_pin(codec, "Mic Jack"); 59 snd_soc_dapm_disable_pin(codec, "Mic Jack");
60 snd_soc_dapm_disable_pin(codec, "Line Jack"); 60 snd_soc_dapm_disable_pin(codec, "Line Jack");
61 snd_soc_dapm_enable_pin(codec, "Headphone Jack"); 61 snd_soc_dapm_enable_pin(codec, "Headphone Jack");
@@ -63,24 +63,24 @@ static void corgi_ext_control(struct snd_soc_codec *codec)
63 break; 63 break;
64 case CORGI_MIC: 64 case CORGI_MIC:
65 /* reset = mute headphone */ 65 /* reset = mute headphone */
66 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_L); 66 gpio_set_value(CORGI_GPIO_MUTE_L, 0);
67 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_R); 67 gpio_set_value(CORGI_GPIO_MUTE_R, 0);
68 snd_soc_dapm_enable_pin(codec, "Mic Jack"); 68 snd_soc_dapm_enable_pin(codec, "Mic Jack");
69 snd_soc_dapm_disable_pin(codec, "Line Jack"); 69 snd_soc_dapm_disable_pin(codec, "Line Jack");
70 snd_soc_dapm_disable_pin(codec, "Headphone Jack"); 70 snd_soc_dapm_disable_pin(codec, "Headphone Jack");
71 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 71 snd_soc_dapm_disable_pin(codec, "Headset Jack");
72 break; 72 break;
73 case CORGI_LINE: 73 case CORGI_LINE:
74 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_L); 74 gpio_set_value(CORGI_GPIO_MUTE_L, 0);
75 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_R); 75 gpio_set_value(CORGI_GPIO_MUTE_R, 0);
76 snd_soc_dapm_disable_pin(codec, "Mic Jack"); 76 snd_soc_dapm_disable_pin(codec, "Mic Jack");
77 snd_soc_dapm_enable_pin(codec, "Line Jack"); 77 snd_soc_dapm_enable_pin(codec, "Line Jack");
78 snd_soc_dapm_disable_pin(codec, "Headphone Jack"); 78 snd_soc_dapm_disable_pin(codec, "Headphone Jack");
79 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 79 snd_soc_dapm_disable_pin(codec, "Headset Jack");
80 break; 80 break;
81 case CORGI_HEADSET: 81 case CORGI_HEADSET:
82 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_L); 82 gpio_set_value(CORGI_GPIO_MUTE_L, 0);
83 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_R); 83 gpio_set_value(CORGI_GPIO_MUTE_R, 1);
84 snd_soc_dapm_enable_pin(codec, "Mic Jack"); 84 snd_soc_dapm_enable_pin(codec, "Mic Jack");
85 snd_soc_dapm_disable_pin(codec, "Line Jack"); 85 snd_soc_dapm_disable_pin(codec, "Line Jack");
86 snd_soc_dapm_disable_pin(codec, "Headphone Jack"); 86 snd_soc_dapm_disable_pin(codec, "Headphone Jack");
@@ -114,8 +114,8 @@ static int corgi_shutdown(struct snd_pcm_substream *substream)
114 struct snd_soc_codec *codec = rtd->socdev->codec; 114 struct snd_soc_codec *codec = rtd->socdev->codec;
115 115
116 /* set = unmute headphone */ 116 /* set = unmute headphone */
117 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_L); 117 gpio_set_value(CORGI_GPIO_MUTE_L, 1);
118 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MUTE_R); 118 gpio_set_value(CORGI_GPIO_MUTE_R, 1);
119 return 0; 119 return 0;
120} 120}
121 121
@@ -218,22 +218,14 @@ static int corgi_set_spk(struct snd_kcontrol *kcontrol,
218static int corgi_amp_event(struct snd_soc_dapm_widget *w, 218static int corgi_amp_event(struct snd_soc_dapm_widget *w,
219 struct snd_kcontrol *k, int event) 219 struct snd_kcontrol *k, int event)
220{ 220{
221 if (SND_SOC_DAPM_EVENT_ON(event)) 221 gpio_set_value(CORGI_GPIO_APM_ON, SND_SOC_DAPM_EVENT_ON(event));
222 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_APM_ON);
223 else
224 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_APM_ON);
225
226 return 0; 222 return 0;
227} 223}
228 224
229static int corgi_mic_event(struct snd_soc_dapm_widget *w, 225static int corgi_mic_event(struct snd_soc_dapm_widget *w,
230 struct snd_kcontrol *k, int event) 226 struct snd_kcontrol *k, int event)
231{ 227{
232 if (SND_SOC_DAPM_EVENT_ON(event)) 228 gpio_set_value(CORGI_GPIO_MIC_BIAS, SND_SOC_DAPM_EVENT_ON(event));
233 set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MIC_BIAS);
234 else
235 reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_MIC_BIAS);
236
237 return 0; 229 return 0;
238} 230}
239 231
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 8548818eea08..c796b1882776 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -16,6 +16,7 @@
16#include <linux/device.h> 16#include <linux/device.h>
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <linux/clk.h> 18#include <linux/clk.h>
19#include <linux/platform_device.h>
19#include <sound/core.h> 20#include <sound/core.h>
20#include <sound/pcm.h> 21#include <sound/pcm.h>
21#include <sound/initval.h> 22#include <sound/initval.h>
@@ -81,7 +82,6 @@ static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream)
81 struct snd_soc_pcm_runtime *rtd = substream->private_data; 82 struct snd_soc_pcm_runtime *rtd = substream->private_data;
82 struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; 83 struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
83 84
84 clk_i2s = clk_get(NULL, "I2SCLK");
85 if (IS_ERR(clk_i2s)) 85 if (IS_ERR(clk_i2s))
86 return PTR_ERR(clk_i2s); 86 return PTR_ERR(clk_i2s);
87 87
@@ -152,6 +152,7 @@ static int pxa2xx_i2s_hw_params(struct snd_pcm_substream *substream,
152 pxa_gpio_mode(gpio_bus[pxa_i2s.master].tx); 152 pxa_gpio_mode(gpio_bus[pxa_i2s.master].tx);
153 pxa_gpio_mode(gpio_bus[pxa_i2s.master].frm); 153 pxa_gpio_mode(gpio_bus[pxa_i2s.master].frm);
154 pxa_gpio_mode(gpio_bus[pxa_i2s.master].clk); 154 pxa_gpio_mode(gpio_bus[pxa_i2s.master].clk);
155 BUG_ON(IS_ERR(clk_i2s));
155 clk_enable(clk_i2s); 156 clk_enable(clk_i2s);
156 pxa_i2s_wait(); 157 pxa_i2s_wait();
157 158
@@ -317,6 +318,43 @@ struct snd_soc_dai pxa_i2s_dai = {
317 318
318EXPORT_SYMBOL_GPL(pxa_i2s_dai); 319EXPORT_SYMBOL_GPL(pxa_i2s_dai);
319 320
321static int pxa2xx_i2s_probe(struct platform_device *dev)
322{
323 clk_i2s = clk_get(&dev->dev, "I2SCLK");
324 return IS_ERR(clk_i2s) ? PTR_ERR(clk_i2s) : 0;
325}
326
327static int __devexit pxa2xx_i2s_remove(struct platform_device *dev)
328{
329 clk_put(clk_i2s);
330 clk_i2s = ERR_PTR(-ENOENT);
331 return 0;
332}
333
334static struct platform_driver pxa2xx_i2s_driver = {
335 .probe = pxa2xx_i2s_probe,
336 .remove = __devexit_p(pxa2xx_i2s_remove),
337
338 .driver = {
339 .name = "pxa2xx-i2s",
340 .owner = THIS_MODULE,
341 },
342};
343
344static int __init pxa2xx_i2s_init(void)
345{
346 clk_i2s = ERR_PTR(-ENOENT);
347 return platform_driver_register(&pxa2xx_i2s_driver);
348}
349
350static void __exit pxa2xx_i2s_exit(void)
351{
352 platform_driver_unregister(&pxa2xx_i2s_driver);
353}
354
355module_init(pxa2xx_i2s_init);
356module_exit(pxa2xx_i2s_exit);
357
320/* Module information */ 358/* Module information */
321MODULE_AUTHOR("Liam Girdwood, liam.girdwood@wolfsonmicro.com, www.wolfsonmicro.com"); 359MODULE_AUTHOR("Liam Girdwood, liam.girdwood@wolfsonmicro.com, www.wolfsonmicro.com");
322MODULE_DESCRIPTION("pxa2xx I2S SoC Interface"); 360MODULE_DESCRIPTION("pxa2xx I2S SoC Interface");
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c
index 37cb768fc933..b89a3edd2183 100644
--- a/sound/soc/pxa/spitz.c
+++ b/sound/soc/pxa/spitz.c
@@ -19,16 +19,15 @@
19#include <linux/timer.h> 19#include <linux/timer.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/platform_device.h> 21#include <linux/platform_device.h>
22#include <linux/gpio.h>
22#include <sound/core.h> 23#include <sound/core.h>
23#include <sound/pcm.h> 24#include <sound/pcm.h>
24#include <sound/soc.h> 25#include <sound/soc.h>
25#include <sound/soc-dapm.h> 26#include <sound/soc-dapm.h>
26 27
27#include <asm/mach-types.h> 28#include <asm/mach-types.h>
28#include <asm/hardware/scoop.h>
29#include <mach/pxa-regs.h> 29#include <mach/pxa-regs.h>
30#include <mach/hardware.h> 30#include <mach/hardware.h>
31#include <mach/akita.h>
32#include <mach/spitz.h> 31#include <mach/spitz.h>
33#include "../codecs/wm8750.h" 32#include "../codecs/wm8750.h"
34#include "pxa2xx-pcm.h" 33#include "pxa2xx-pcm.h"
@@ -63,8 +62,8 @@ static void spitz_ext_control(struct snd_soc_codec *codec)
63 snd_soc_dapm_disable_pin(codec, "Mic Jack"); 62 snd_soc_dapm_disable_pin(codec, "Mic Jack");
64 snd_soc_dapm_disable_pin(codec, "Line Jack"); 63 snd_soc_dapm_disable_pin(codec, "Line Jack");
65 snd_soc_dapm_enable_pin(codec, "Headphone Jack"); 64 snd_soc_dapm_enable_pin(codec, "Headphone Jack");
66 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_L); 65 gpio_set_value(SPITZ_GPIO_MUTE_L, 1);
67 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_R); 66 gpio_set_value(SPITZ_GPIO_MUTE_R, 1);
68 break; 67 break;
69 case SPITZ_MIC: 68 case SPITZ_MIC:
70 /* enable mic jack and bias, mute hp */ 69 /* enable mic jack and bias, mute hp */
@@ -72,8 +71,8 @@ static void spitz_ext_control(struct snd_soc_codec *codec)
72 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 71 snd_soc_dapm_disable_pin(codec, "Headset Jack");
73 snd_soc_dapm_disable_pin(codec, "Line Jack"); 72 snd_soc_dapm_disable_pin(codec, "Line Jack");
74 snd_soc_dapm_enable_pin(codec, "Mic Jack"); 73 snd_soc_dapm_enable_pin(codec, "Mic Jack");
75 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_L); 74 gpio_set_value(SPITZ_GPIO_MUTE_L, 0);
76 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_R); 75 gpio_set_value(SPITZ_GPIO_MUTE_R, 0);
77 break; 76 break;
78 case SPITZ_LINE: 77 case SPITZ_LINE:
79 /* enable line jack, disable mic bias and mute hp */ 78 /* enable line jack, disable mic bias and mute hp */
@@ -81,8 +80,8 @@ static void spitz_ext_control(struct snd_soc_codec *codec)
81 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 80 snd_soc_dapm_disable_pin(codec, "Headset Jack");
82 snd_soc_dapm_disable_pin(codec, "Mic Jack"); 81 snd_soc_dapm_disable_pin(codec, "Mic Jack");
83 snd_soc_dapm_enable_pin(codec, "Line Jack"); 82 snd_soc_dapm_enable_pin(codec, "Line Jack");
84 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_L); 83 gpio_set_value(SPITZ_GPIO_MUTE_L, 0);
85 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_R); 84 gpio_set_value(SPITZ_GPIO_MUTE_R, 0);
86 break; 85 break;
87 case SPITZ_HEADSET: 86 case SPITZ_HEADSET:
88 /* enable and unmute headset jack enable mic bias, mute L hp */ 87 /* enable and unmute headset jack enable mic bias, mute L hp */
@@ -90,8 +89,8 @@ static void spitz_ext_control(struct snd_soc_codec *codec)
90 snd_soc_dapm_enable_pin(codec, "Mic Jack"); 89 snd_soc_dapm_enable_pin(codec, "Mic Jack");
91 snd_soc_dapm_disable_pin(codec, "Line Jack"); 90 snd_soc_dapm_disable_pin(codec, "Line Jack");
92 snd_soc_dapm_enable_pin(codec, "Headset Jack"); 91 snd_soc_dapm_enable_pin(codec, "Headset Jack");
93 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_L); 92 gpio_set_value(SPITZ_GPIO_MUTE_L, 0);
94 set_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_R); 93 gpio_set_value(SPITZ_GPIO_MUTE_R, 1);
95 break; 94 break;
96 case SPITZ_HP_OFF: 95 case SPITZ_HP_OFF:
97 96
@@ -100,8 +99,8 @@ static void spitz_ext_control(struct snd_soc_codec *codec)
100 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 99 snd_soc_dapm_disable_pin(codec, "Headset Jack");
101 snd_soc_dapm_disable_pin(codec, "Mic Jack"); 100 snd_soc_dapm_disable_pin(codec, "Mic Jack");
102 snd_soc_dapm_disable_pin(codec, "Line Jack"); 101 snd_soc_dapm_disable_pin(codec, "Line Jack");
103 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_L); 102 gpio_set_value(SPITZ_GPIO_MUTE_L, 0);
104 reset_scoop_gpio(&spitzscoop_device.dev, SPITZ_SCP_MUTE_R); 103 gpio_set_value(SPITZ_GPIO_MUTE_R, 0);
105 break; 104 break;
106 } 105 }
107 snd_soc_dapm_sync(codec); 106 snd_soc_dapm_sync(codec);
@@ -215,23 +214,14 @@ static int spitz_set_spk(struct snd_kcontrol *kcontrol,
215static int spitz_mic_bias(struct snd_soc_dapm_widget *w, 214static int spitz_mic_bias(struct snd_soc_dapm_widget *w,
216 struct snd_kcontrol *k, int event) 215 struct snd_kcontrol *k, int event)
217{ 216{
218 if (machine_is_borzoi() || machine_is_spitz()) { 217 if (machine_is_borzoi() || machine_is_spitz())
219 if (SND_SOC_DAPM_EVENT_ON(event)) 218 gpio_set_value(SPITZ_GPIO_MIC_BIAS,
220 set_scoop_gpio(&spitzscoop2_device.dev, 219 SND_SOC_DAPM_EVENT_ON(event));
221 SPITZ_SCP2_MIC_BIAS); 220
222 else 221 if (machine_is_akita())
223 reset_scoop_gpio(&spitzscoop2_device.dev, 222 gpio_set_value(AKITA_GPIO_MIC_BIAS,
224 SPITZ_SCP2_MIC_BIAS); 223 SND_SOC_DAPM_EVENT_ON(event));
225 }
226 224
227 if (machine_is_akita()) {
228 if (SND_SOC_DAPM_EVENT_ON(event))
229 akita_set_ioexp(&akitaioexp_device.dev,
230 AKITA_IOEXP_MIC_BIAS);
231 else
232 akita_reset_ioexp(&akitaioexp_device.dev,
233 AKITA_IOEXP_MIC_BIAS);
234 }
235 return 0; 225 return 0;
236} 226}
237 227