aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.mailmap2
-rw-r--r--Documentation/00-INDEX4
-rw-r--r--Documentation/DocBook/Makefile4
-rw-r--r--Documentation/DocBook/deviceiobook.tmpl4
-rw-r--r--Documentation/DocBook/kernel-api.tmpl10
-rw-r--r--Documentation/DocBook/kernel-hacking.tmpl4
-rw-r--r--Documentation/DocBook/mcabook.tmpl4
-rw-r--r--Documentation/DocBook/wanbook.tmpl2
-rw-r--r--Documentation/DocBook/z8530book.tmpl2
-rw-r--r--Documentation/ManagementStyle2
-rw-r--r--Documentation/accounting/.gitignore1
-rw-r--r--Documentation/arm/empeg/README13
-rw-r--r--Documentation/arm/empeg/ir.txt49
-rw-r--r--Documentation/arm/empeg/mkdevs11
-rw-r--r--Documentation/auxdisplay/.gitignore1
-rw-r--r--Documentation/cciss.txt3
-rw-r--r--Documentation/connector/.gitignore1
-rw-r--r--Documentation/email-clients.txt25
-rw-r--r--Documentation/feature-removal-schedule.txt24
-rw-r--r--Documentation/filesystems/Locking12
-rw-r--r--Documentation/filesystems/vfat.txt32
-rw-r--r--Documentation/filesystems/vfs.txt39
-rw-r--r--Documentation/ftrace.txt174
-rw-r--r--Documentation/i2c/busses/i2c-sis96x2
-rw-r--r--Documentation/ia64/.gitignore1
-rw-r--r--Documentation/input/elantech.txt405
-rw-r--r--Documentation/io-mapping.txt82
-rw-r--r--Documentation/isdn/CREDITS2
-rw-r--r--Documentation/ja_JP/HOWTO14
-rw-r--r--Documentation/kernel-parameters.txt22
-rw-r--r--Documentation/lguest/Makefile2
-rw-r--r--Documentation/lguest/lguest.c4
-rw-r--r--Documentation/networking/.gitignore1
-rw-r--r--Documentation/networking/dmfe.txt2
-rw-r--r--Documentation/pcmcia/.gitignore1
-rw-r--r--Documentation/powerpc/booting-without-of.txt65
-rw-r--r--Documentation/scheduler/00-INDEX2
-rw-r--r--Documentation/scheduler/sched-design-CFS.txt2
-rw-r--r--Documentation/scsi/aacraid.txt2
-rw-r--r--Documentation/sh/new-machine.txt4
-rw-r--r--Documentation/spi/.gitignore2
-rw-r--r--Documentation/stable_kernel_rules.txt1
-rw-r--r--Documentation/sysctl/kernel.txt24
-rw-r--r--Documentation/video4linux/.gitignore1
-rw-r--r--Documentation/video4linux/README.cx884
-rw-r--r--Documentation/video4linux/bttv/CONTRIBUTORS2
-rw-r--r--Documentation/video4linux/si470x.txt118
-rw-r--r--Documentation/vm/.gitignore1
-rw-r--r--Documentation/watchdog/src/.gitignore2
-rw-r--r--Documentation/x86/x86_64/boot-options.txt4
-rw-r--r--Documentation/x86/x86_64/fake-numa-for-cpusets2
-rw-r--r--MAINTAINERS70
-rw-r--r--Makefile12
-rw-r--r--arch/Kconfig2
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/boot/compressed/Makefile2
-rw-r--r--arch/arm/common/sharpsl_pm.c19
-rw-r--r--arch/arm/include/asm/ftrace.h2
-rw-r--r--arch/arm/include/asm/memory.h12
-rw-r--r--arch/arm/include/asm/system.h4
-rw-r--r--arch/arm/kernel/armksyms.c2
-rw-r--r--arch/arm/kernel/elf.c6
-rw-r--r--arch/arm/kernel/entry-common.S4
-rw-r--r--arch/arm/kernel/ftrace.c13
-rw-r--r--arch/arm/kernel/module.c8
-rw-r--r--arch/arm/mach-at91/board-afeb-9260v1.c1
-rw-r--r--arch/arm/mach-at91/include/mach/gpio.h2
-rw-r--r--arch/arm/mach-ep93xx/core.c6
-rw-r--r--arch/arm/mach-imx/include/mach/gpio.h3
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/gpio.h3
-rw-r--r--arch/arm/mach-ks8695/include/mach/gpio.h3
-rw-r--r--arch/arm/mach-mx3/mx31ads.c2
-rw-r--r--arch/arm/mach-mx3/pcm037.c4
-rw-r--r--arch/arm/mach-ns9xxx/gpio.c2
-rw-r--r--arch/arm/mach-omap2/gpmc.c6
-rw-r--r--arch/arm/mach-orion5x/gpio.c2
-rw-r--r--arch/arm/mach-pxa/corgi_pm.c4
-rw-r--r--arch/arm/mach-pxa/include/mach/sharpsl.h1
-rw-r--r--arch/arm/mach-pxa/spitz.c12
-rw-r--r--arch/arm/mach-pxa/spitz_pm.c4
-rw-r--r--arch/arm/mm/cache-xsc3l2.c4
-rw-r--r--arch/arm/mm/mmu.c111
-rw-r--r--arch/arm/mm/proc-v7.S12
-rw-r--r--arch/arm/mm/proc-xsc3.S2
-rw-r--r--arch/arm/plat-mxc/gpio.c2
-rw-r--r--arch/arm/plat-mxc/include/mach/io.h20
-rw-r--r--arch/arm/plat-omap/clock.c20
-rw-r--r--arch/arm/plat-omap/include/mach/entry-macro.S4
-rw-r--r--arch/arm/plat-omap/include/mach/irqs.h2
-rw-r--r--arch/cris/Makefile87
-rw-r--r--arch/cris/arch-v10/boot/.gitignore2
-rw-r--r--arch/cris/arch-v10/boot/compressed/head.S2
-rw-r--r--arch/cris/arch-v10/boot/compressed/misc.c2
-rw-r--r--arch/cris/arch-v10/boot/rescue/head.S2
-rw-r--r--arch/cris/arch-v10/boot/rescue/kimagerescue.S2
-rw-r--r--arch/cris/arch-v10/boot/rescue/testrescue.S2
-rw-r--r--arch/cris/arch-v10/drivers/axisflashmap.c2
-rw-r--r--arch/cris/arch-v10/drivers/ds1302.c4
-rw-r--r--arch/cris/arch-v10/drivers/gpio.c4
-rw-r--r--arch/cris/arch-v10/drivers/i2c.c4
-rw-r--r--arch/cris/arch-v10/drivers/sync_serial.c4
-rw-r--r--arch/cris/arch-v10/kernel/asm-offsets.c47
-rw-r--r--arch/cris/arch-v10/kernel/crisksyms.c2
-rw-r--r--arch/cris/arch-v10/kernel/debugport.c2
-rw-r--r--arch/cris/arch-v10/kernel/dma.c2
-rw-r--r--arch/cris/arch-v10/kernel/entry.S2
-rw-r--r--arch/cris/arch-v10/kernel/fasttimer.c2
-rw-r--r--arch/cris/arch-v10/kernel/head.S2
-rw-r--r--arch/cris/arch-v10/kernel/io_interface_mux.c4
-rw-r--r--arch/cris/arch-v10/kernel/kgdb.c2
-rw-r--r--arch/cris/arch-v10/kernel/process.c2
-rw-r--r--arch/cris/arch-v10/kernel/time.c2
-rw-r--r--arch/cris/arch-v10/kernel/traps.c2
-rw-r--r--arch/cris/arch-v10/mm/fault.c2
-rw-r--r--arch/cris/arch-v10/mm/init.c2
-rw-r--r--arch/cris/arch-v10/mm/tlb.c2
-rw-r--r--arch/cris/arch-v10/vmlinux.lds.S118
-rw-r--r--arch/cris/arch-v32/boot/compressed/head.S20
-rw-r--r--arch/cris/arch-v32/drivers/mach-a3/gpio.c2
-rw-r--r--arch/cris/arch-v32/drivers/mach-a3/nandflash.c2
-rw-r--r--arch/cris/arch-v32/drivers/mach-fs/nandflash.c2
-rw-r--r--arch/cris/arch-v32/drivers/pci/bios.c2
-rw-r--r--arch/cris/arch-v32/kernel/cache.c4
-rw-r--r--arch/cris/arch-v32/kernel/crisksyms.c8
-rw-r--r--arch/cris/arch-v32/kernel/debugport.c2
-rw-r--r--arch/cris/arch-v32/kernel/entry.S4
-rw-r--r--arch/cris/arch-v32/kernel/head.S22
-rw-r--r--arch/cris/arch-v32/kernel/kgdb.c8
-rw-r--r--arch/cris/arch-v32/kernel/kgdb_asm.S2
-rw-r--r--arch/cris/arch-v32/kernel/pinmux.c8
-rw-r--r--arch/cris/arch-v32/kernel/ptrace.c2
-rw-r--r--arch/cris/arch-v32/kernel/signal.c4
-rw-r--r--arch/cris/arch-v32/lib/nand_init.S10
-rw-r--r--arch/cris/arch-v32/mach-a3/dma.c2
-rw-r--r--arch/cris/arch-v32/mach-a3/io.c2
-rw-r--r--arch/cris/arch-v32/mach-fs/cpufreq.c6
-rw-r--r--arch/cris/arch-v32/mach-fs/dma.c2
-rw-r--r--arch/cris/arch-v32/mach-fs/io.c4
-rw-r--r--arch/cris/arch-v32/mach-fs/vcs_hook.c4
-rw-r--r--arch/cris/arch-v32/mm/init.c4
-rw-r--r--arch/cris/arch-v32/mm/tlb.c4
-rw-r--r--arch/cris/include/arch-v10/arch/Kbuild (renamed from include/asm-cris/arch-v10/Kbuild)0
-rw-r--r--arch/cris/include/arch-v10/arch/atomic.h (renamed from include/asm-cris/arch-v10/atomic.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/bitops.h (renamed from include/asm-cris/arch-v10/bitops.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/bug.h (renamed from include/asm-cris/arch-v10/bug.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/byteorder.h (renamed from include/asm-cris/arch-v10/byteorder.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/cache.h (renamed from include/asm-cris/arch-v10/cache.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/checksum.h (renamed from include/asm-cris/arch-v10/checksum.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/delay.h (renamed from include/asm-cris/arch-v10/delay.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/dma.h (renamed from include/asm-cris/arch-v10/dma.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/elf.h (renamed from include/asm-cris/arch-v10/elf.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/io.h (renamed from include/asm-cris/arch-v10/io.h)2
-rw-r--r--arch/cris/include/arch-v10/arch/io_interface_mux.h (renamed from include/asm-cris/arch-v10/io_interface_mux.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/irq.h (renamed from include/asm-cris/arch-v10/irq.h)2
-rw-r--r--arch/cris/include/arch-v10/arch/memmap.h (renamed from include/asm-cris/arch-v10/memmap.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/mmu.h (renamed from include/asm-cris/arch-v10/mmu.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/offset.h (renamed from include/asm-cris/arch-v10/offset.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/page.h (renamed from include/asm-cris/arch-v10/page.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/pgtable.h (renamed from include/asm-cris/arch-v10/pgtable.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/processor.h (renamed from include/asm-cris/arch-v10/processor.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/ptrace.h (renamed from include/asm-cris/arch-v10/ptrace.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/sv_addr.agh (renamed from include/asm-cris/arch-v10/sv_addr.agh)0
-rw-r--r--arch/cris/include/arch-v10/arch/sv_addr_ag.h (renamed from include/asm-cris/arch-v10/sv_addr_ag.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/svinto.h (renamed from include/asm-cris/arch-v10/svinto.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/system.h (renamed from include/asm-cris/arch-v10/system.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/thread_info.h (renamed from include/asm-cris/arch-v10/thread_info.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/timex.h (renamed from include/asm-cris/arch-v10/timex.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/tlb.h (renamed from include/asm-cris/arch-v10/tlb.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/uaccess.h (renamed from include/asm-cris/arch-v10/uaccess.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/unistd.h (renamed from include/asm-cris/arch-v10/unistd.h)0
-rw-r--r--arch/cris/include/arch-v10/arch/user.h (renamed from include/asm-cris/arch-v10/user.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/Kbuild (renamed from include/asm-cris/arch-v32/Kbuild)0
-rw-r--r--arch/cris/include/arch-v32/arch/atomic.h (renamed from include/asm-cris/arch-v32/atomic.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/bitops.h (renamed from include/asm-cris/arch-v32/bitops.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/bug.h (renamed from include/asm-cris/arch-v32/bug.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/byteorder.h (renamed from include/asm-cris/arch-v32/byteorder.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/cache.h (renamed from include/asm-cris/arch-v32/cache.h)2
-rw-r--r--arch/cris/include/arch-v32/arch/checksum.h (renamed from include/asm-cris/arch-v32/checksum.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/cryptocop.h (renamed from include/asm-cris/arch-v32/cryptocop.h)2
-rw-r--r--arch/cris/include/arch-v32/arch/delay.h (renamed from include/asm-cris/arch-v32/delay.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/dma.h (renamed from include/asm-cris/arch-v32/dma.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/elf.h (renamed from include/asm-cris/arch-v32/elf.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/Makefile (renamed from include/asm-cris/arch-v32/hwregs/Makefile)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h (renamed from include/asm-cris/arch-v32/hwregs/asm/intr_vect.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/ata_defs.h (renamed from include/asm-cris/arch-v32/hwregs/ata_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_core_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_dma_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_slave_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/config_defs.h (renamed from include/asm-cris/arch-v32/hwregs/config_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h (renamed from include/asm-cris/arch-v32/hwregs/cpu_vect.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/dma.h (renamed from include/asm-cris/arch-v32/hwregs/dma.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/dma_defs.h (renamed from include/asm-cris/arch-v32/hwregs/dma_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/eth_defs.h (renamed from include/asm-cris/arch-v32/hwregs/eth_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h (renamed from include/asm-cris/arch-v32/hwregs/extmem_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/Makefile (renamed from include/asm-cris/arch-v32/hwregs/iop/Makefile)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h (renamed from include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/marb_bp_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/marb_defs.h (renamed from include/asm-cris/arch-v32/hwregs/marb_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h (renamed from include/asm-cris/arch-v32/hwregs/reg_rdwr.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h (renamed from include/asm-cris/arch-v32/hwregs/rt_trace_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/ser_defs.h (renamed from include/asm-cris/arch-v32/hwregs/ser_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/sser_defs.h (renamed from include/asm-cris/arch-v32/hwregs/sser_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/strcop.h (renamed from include/asm-cris/arch-v32/hwregs/strcop.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h (renamed from include/asm-cris/arch-v32/hwregs/strcop_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/hwregs/supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/supp_reg.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/intmem.h (renamed from include/asm-cris/arch-v32/intmem.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/io.h (renamed from include/asm-cris/arch-v32/io.h)4
-rw-r--r--arch/cris/include/arch-v32/arch/irq.h (renamed from include/asm-cris/arch-v32/irq.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/memmap.h (renamed from include/asm-cris/arch-v32/memmap.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/mmu.h (renamed from include/asm-cris/arch-v32/mmu.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/offset.h (renamed from include/asm-cris/arch-v32/offset.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/page.h (renamed from include/asm-cris/arch-v32/page.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/pgtable.h (renamed from include/asm-cris/arch-v32/pgtable.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/processor.h (renamed from include/asm-cris/arch-v32/processor.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/ptrace.h (renamed from include/asm-cris/arch-v32/ptrace.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/spinlock.h (renamed from include/asm-cris/arch-v32/spinlock.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/system.h (renamed from include/asm-cris/arch-v32/system.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/thread_info.h (renamed from include/asm-cris/arch-v32/thread_info.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/timex.h (renamed from include/asm-cris/arch-v32/timex.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/tlb.h (renamed from include/asm-cris/arch-v32/tlb.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/uaccess.h (renamed from include/asm-cris/arch-v32/uaccess.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/unistd.h (renamed from include/asm-cris/arch-v32/unistd.h)0
-rw-r--r--arch/cris/include/arch-v32/arch/user.h (renamed from include/asm-cris/arch-v32/user.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/arbiter.h (renamed from include/asm-cris/arch-v32/mach-a3/arbiter.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/dma.h (renamed from include/asm-cris/arch-v32/mach-a3/dma.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/memmap.h (renamed from include/asm-cris/arch-v32/mach-a3/memmap.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/pinmux.h (renamed from include/asm-cris/arch-v32/mach-a3/pinmux.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-a3/mach/startup.inc (renamed from include/asm-cris/arch-v32/mach-a3/startup.inc)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/arbiter.h (renamed from include/asm-cris/arch-v32/mach-fs/arbiter.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/pinmux.h (renamed from include/asm-cris/arch-v32/mach-fs/pinmux.h)0
-rw-r--r--arch/cris/include/arch-v32/mach-fs/mach/startup.inc (renamed from include/asm-cris/arch-v32/mach-fs/startup.inc)0
-rw-r--r--arch/cris/include/asm/Kbuild (renamed from include/asm-cris/Kbuild)0
-rw-r--r--arch/cris/include/asm/atomic.h (renamed from include/asm-cris/atomic.h)2
-rw-r--r--arch/cris/include/asm/auxvec.h (renamed from include/asm-cris/auxvec.h)0
-rw-r--r--arch/cris/include/asm/axisflashmap.h (renamed from include/asm-cris/axisflashmap.h)0
-rw-r--r--arch/cris/include/asm/bitops.h (renamed from include/asm-cris/bitops.h)2
-rw-r--r--arch/cris/include/asm/bug.h (renamed from include/asm-cris/bug.h)2
-rw-r--r--arch/cris/include/asm/bugs.h (renamed from include/asm-cris/bugs.h)0
-rw-r--r--arch/cris/include/asm/byteorder.h (renamed from include/asm-cris/byteorder.h)2
-rw-r--r--arch/cris/include/asm/cache.h (renamed from include/asm-cris/cache.h)2
-rw-r--r--arch/cris/include/asm/cacheflush.h (renamed from include/asm-cris/cacheflush.h)0
-rw-r--r--arch/cris/include/asm/checksum.h (renamed from include/asm-cris/checksum.h)2
-rw-r--r--arch/cris/include/asm/cputime.h (renamed from include/asm-cris/cputime.h)0
-rw-r--r--arch/cris/include/asm/current.h (renamed from include/asm-cris/current.h)0
-rw-r--r--arch/cris/include/asm/delay.h (renamed from include/asm-cris/delay.h)2
-rw-r--r--arch/cris/include/asm/device.h (renamed from include/asm-cris/device.h)0
-rw-r--r--arch/cris/include/asm/div64.h (renamed from include/asm-cris/div64.h)0
-rw-r--r--arch/cris/include/asm/dma-mapping.h (renamed from include/asm-cris/dma-mapping.h)0
-rw-r--r--arch/cris/include/asm/dma.h (renamed from include/asm-cris/dma.h)2
-rw-r--r--arch/cris/include/asm/elf.h (renamed from include/asm-cris/elf.h)2
-rw-r--r--arch/cris/include/asm/emergency-restart.h (renamed from include/asm-cris/emergency-restart.h)0
-rw-r--r--arch/cris/include/asm/errno.h (renamed from include/asm-cris/errno.h)0
-rw-r--r--arch/cris/include/asm/eshlibld.h (renamed from include/asm-cris/eshlibld.h)0
-rw-r--r--arch/cris/include/asm/ethernet.h (renamed from include/asm-cris/ethernet.h)0
-rw-r--r--arch/cris/include/asm/etraxgpio.h (renamed from include/asm-cris/etraxgpio.h)0
-rw-r--r--arch/cris/include/asm/etraxi2c.h (renamed from include/asm-cris/etraxi2c.h)0
-rw-r--r--arch/cris/include/asm/fasttimer.h (renamed from include/asm-cris/fasttimer.h)0
-rw-r--r--arch/cris/include/asm/fb.h (renamed from include/asm-cris/fb.h)0
-rw-r--r--arch/cris/include/asm/fcntl.h (renamed from include/asm-cris/fcntl.h)0
-rw-r--r--arch/cris/include/asm/futex.h (renamed from include/asm-cris/futex.h)0
-rw-r--r--arch/cris/include/asm/hardirq.h (renamed from include/asm-cris/hardirq.h)0
-rw-r--r--arch/cris/include/asm/hw_irq.h (renamed from include/asm-cris/hw_irq.h)0
-rw-r--r--arch/cris/include/asm/io.h (renamed from include/asm-cris/io.h)2
-rw-r--r--arch/cris/include/asm/ioctl.h (renamed from include/asm-cris/ioctl.h)0
-rw-r--r--arch/cris/include/asm/ioctls.h (renamed from include/asm-cris/ioctls.h)0
-rw-r--r--arch/cris/include/asm/ipcbuf.h (renamed from include/asm-cris/ipcbuf.h)0
-rw-r--r--arch/cris/include/asm/irq.h (renamed from include/asm-cris/irq.h)2
-rw-r--r--arch/cris/include/asm/irq_regs.h (renamed from include/asm-cris/irq_regs.h)0
-rw-r--r--arch/cris/include/asm/kdebug.h (renamed from include/asm-cris/kdebug.h)0
-rw-r--r--arch/cris/include/asm/kmap_types.h (renamed from include/asm-cris/kmap_types.h)0
-rw-r--r--arch/cris/include/asm/linkage.h (renamed from include/asm-cris/linkage.h)0
-rw-r--r--arch/cris/include/asm/local.h (renamed from include/asm-cris/local.h)0
-rw-r--r--arch/cris/include/asm/mman.h (renamed from include/asm-cris/mman.h)0
-rw-r--r--arch/cris/include/asm/mmu.h (renamed from include/asm-cris/mmu.h)2
-rw-r--r--arch/cris/include/asm/mmu_context.h (renamed from include/asm-cris/mmu_context.h)0
-rw-r--r--arch/cris/include/asm/module.h (renamed from include/asm-cris/module.h)0
-rw-r--r--arch/cris/include/asm/msgbuf.h (renamed from include/asm-cris/msgbuf.h)0
-rw-r--r--arch/cris/include/asm/mutex.h (renamed from include/asm-cris/mutex.h)0
-rw-r--r--arch/cris/include/asm/page.h (renamed from include/asm-cris/page.h)2
-rw-r--r--arch/cris/include/asm/param.h (renamed from include/asm-cris/param.h)0
-rw-r--r--arch/cris/include/asm/pci.h (renamed from include/asm-cris/pci.h)0
-rw-r--r--arch/cris/include/asm/percpu.h (renamed from include/asm-cris/percpu.h)0
-rw-r--r--arch/cris/include/asm/pgalloc.h (renamed from include/asm-cris/pgalloc.h)0
-rw-r--r--arch/cris/include/asm/pgtable.h (renamed from include/asm-cris/pgtable.h)2
-rw-r--r--arch/cris/include/asm/poll.h (renamed from include/asm-cris/poll.h)0
-rw-r--r--arch/cris/include/asm/posix_types.h (renamed from include/asm-cris/posix_types.h)0
-rw-r--r--arch/cris/include/asm/processor.h (renamed from include/asm-cris/processor.h)2
-rw-r--r--arch/cris/include/asm/ptrace.h (renamed from include/asm-cris/ptrace.h)2
-rw-r--r--arch/cris/include/asm/resource.h (renamed from include/asm-cris/resource.h)0
-rw-r--r--arch/cris/include/asm/rs485.h (renamed from include/asm-cris/rs485.h)0
-rw-r--r--arch/cris/include/asm/rtc.h (renamed from include/asm-cris/rtc.h)0
-rw-r--r--arch/cris/include/asm/scatterlist.h (renamed from include/asm-cris/scatterlist.h)0
-rw-r--r--arch/cris/include/asm/sections.h (renamed from include/asm-cris/sections.h)0
-rw-r--r--arch/cris/include/asm/segment.h (renamed from include/asm-cris/segment.h)0
-rw-r--r--arch/cris/include/asm/sembuf.h (renamed from include/asm-cris/sembuf.h)0
-rw-r--r--arch/cris/include/asm/setup.h (renamed from include/asm-cris/setup.h)0
-rw-r--r--arch/cris/include/asm/shmbuf.h (renamed from include/asm-cris/shmbuf.h)0
-rw-r--r--arch/cris/include/asm/shmparam.h (renamed from include/asm-cris/shmparam.h)0
-rw-r--r--arch/cris/include/asm/sigcontext.h (renamed from include/asm-cris/sigcontext.h)0
-rw-r--r--arch/cris/include/asm/siginfo.h (renamed from include/asm-cris/siginfo.h)0
-rw-r--r--arch/cris/include/asm/signal.h (renamed from include/asm-cris/signal.h)0
-rw-r--r--arch/cris/include/asm/smp.h (renamed from include/asm-cris/smp.h)0
-rw-r--r--arch/cris/include/asm/socket.h (renamed from include/asm-cris/socket.h)0
-rw-r--r--arch/cris/include/asm/sockios.h (renamed from include/asm-cris/sockios.h)0
-rw-r--r--arch/cris/include/asm/spinlock.h1
-rw-r--r--arch/cris/include/asm/stat.h (renamed from include/asm-cris/stat.h)0
-rw-r--r--arch/cris/include/asm/statfs.h (renamed from include/asm-cris/statfs.h)0
-rw-r--r--arch/cris/include/asm/string.h (renamed from include/asm-cris/string.h)0
-rw-r--r--arch/cris/include/asm/sync_serial.h (renamed from include/asm-cris/sync_serial.h)0
-rw-r--r--arch/cris/include/asm/system.h (renamed from include/asm-cris/system.h)2
-rw-r--r--arch/cris/include/asm/termbits.h (renamed from include/asm-cris/termbits.h)0
-rw-r--r--arch/cris/include/asm/termios.h (renamed from include/asm-cris/termios.h)0
-rw-r--r--arch/cris/include/asm/thread_info.h (renamed from include/asm-cris/thread_info.h)2
-rw-r--r--arch/cris/include/asm/timex.h (renamed from include/asm-cris/timex.h)2
-rw-r--r--arch/cris/include/asm/tlb.h (renamed from include/asm-cris/tlb.h)2
-rw-r--r--arch/cris/include/asm/tlbflush.h (renamed from include/asm-cris/tlbflush.h)0
-rw-r--r--arch/cris/include/asm/topology.h (renamed from include/asm-cris/topology.h)0
-rw-r--r--arch/cris/include/asm/types.h (renamed from include/asm-cris/types.h)0
-rw-r--r--arch/cris/include/asm/uaccess.h (renamed from include/asm-cris/uaccess.h)2
-rw-r--r--arch/cris/include/asm/ucontext.h (renamed from include/asm-cris/ucontext.h)0
-rw-r--r--arch/cris/include/asm/unaligned.h (renamed from include/asm-cris/unaligned.h)0
-rw-r--r--arch/cris/include/asm/unistd.h (renamed from include/asm-cris/unistd.h)2
-rw-r--r--arch/cris/include/asm/user.h (renamed from include/asm-cris/user.h)2
-rw-r--r--arch/cris/kernel/asm-offsets.c (renamed from arch/cris/arch-v32/kernel/asm-offsets.c)51
-rw-r--r--arch/cris/kernel/vmlinux.lds.S (renamed from arch/cris/arch-v32/vmlinux.lds.S)44
-rw-r--r--arch/cris/mm/ioremap.c2
-rw-r--r--arch/ia64/Kconfig19
-rw-r--r--arch/ia64/hp/common/hwsw_iommu.c9
-rw-r--r--arch/ia64/include/asm/io.h24
-rw-r--r--arch/ia64/include/asm/iommu.h1
-rw-r--r--arch/ia64/include/asm/kvm_host.h6
-rw-r--r--arch/ia64/include/asm/machvec.h22
-rw-r--r--arch/ia64/include/asm/meminit.h1
-rw-r--r--arch/ia64/include/asm/sal.h15
-rw-r--r--arch/ia64/include/asm/sn/sn_sal.h45
-rw-r--r--arch/ia64/kernel/acpi.c29
-rw-r--r--arch/ia64/kernel/pci-dma.c9
-rw-r--r--arch/ia64/kernel/perfmon.c5
-rw-r--r--arch/ia64/kernel/setup.c9
-rw-r--r--arch/ia64/kvm/Makefile8
-rw-r--r--arch/ia64/kvm/kvm-ia64.c80
-rw-r--r--arch/ia64/kvm/kvm_fw.c9
-rw-r--r--arch/ia64/kvm/process.c2
-rw-r--r--arch/ia64/mm/discontig.c1
-rw-r--r--arch/ia64/uv/kernel/setup.c6
-rw-r--r--arch/mips/Kconfig67
-rw-r--r--arch/mips/Makefile23
-rw-r--r--arch/mips/alchemy/common/platform.c98
-rw-r--r--arch/mips/alchemy/pb1200/platform.c81
-rw-r--r--arch/mips/configs/ip22_defconfig1
-rw-r--r--arch/mips/configs/ip27_defconfig1
-rw-r--r--arch/mips/configs/ip28_defconfig2
-rw-r--r--arch/mips/configs/pnx8335-stb225_defconfig1149
-rw-r--r--arch/mips/emma/Kconfig29
-rw-r--r--arch/mips/emma/common/Makefile (renamed from arch/mips/emma2rh/common/Makefile)2
-rw-r--r--arch/mips/emma/common/prom.c (renamed from arch/mips/emma2rh/common/prom.c)6
-rw-r--r--arch/mips/emma/markeins/Makefile (renamed from arch/mips/emma2rh/markeins/Makefile)2
-rw-r--r--arch/mips/emma/markeins/irq.c331
-rw-r--r--arch/mips/emma/markeins/led.c (renamed from arch/mips/emma2rh/markeins/led.c)2
-rw-r--r--arch/mips/emma/markeins/platform.c (renamed from arch/mips/emma2rh/markeins/platform.c)2
-rw-r--r--arch/mips/emma/markeins/setup.c (renamed from arch/mips/emma2rh/markeins/setup.c)2
-rw-r--r--arch/mips/emma2rh/common/irq.c105
-rw-r--r--arch/mips/emma2rh/common/irq_emma2rh.c106
-rw-r--r--arch/mips/emma2rh/markeins/irq.c132
-rw-r--r--arch/mips/emma2rh/markeins/irq_markeins.c158
-rw-r--r--arch/mips/include/asm/bitops.h114
-rw-r--r--arch/mips/include/asm/break.h1
-rw-r--r--arch/mips/include/asm/byteorder.h40
-rw-r--r--arch/mips/include/asm/cpu-features.h2
-rw-r--r--arch/mips/include/asm/ds1286.h15
-rw-r--r--arch/mips/include/asm/emma/emma2rh.h (renamed from arch/mips/include/asm/emma2rh/emma2rh.h)15
-rw-r--r--arch/mips/include/asm/emma/markeins.h (renamed from arch/mips/include/asm/emma2rh/markeins.h)0
-rw-r--r--arch/mips/include/asm/fpu_emulator.h17
-rw-r--r--arch/mips/include/asm/m48t35.h27
-rw-r--r--arch/mips/include/asm/mach-lemote/pci.h30
-rw-r--r--arch/mips/include/asm/mach-pnx833x/gpio.h172
-rw-r--r--arch/mips/include/asm/mach-pnx833x/irq-mapping.h126
-rw-r--r--arch/mips/include/asm/mach-pnx833x/irq.h53
-rw-r--r--arch/mips/include/asm/mach-pnx833x/pnx833x.h202
-rw-r--r--arch/mips/include/asm/mach-pnx833x/war.h25
-rw-r--r--arch/mips/include/asm/mach-tx49xx/mangle-port.h26
-rw-r--r--arch/mips/include/asm/mipsregs.h1
-rw-r--r--arch/mips/include/asm/module.h2
-rw-r--r--arch/mips/include/asm/ptrace.h17
-rw-r--r--arch/mips/include/asm/txx9/generic.h5
-rw-r--r--arch/mips/kernel/Makefile1
-rw-r--r--arch/mips/kernel/cpu-probe.c247
-rw-r--r--arch/mips/kernel/scall32-o32.S4
-rw-r--r--arch/mips/kernel/scall64-64.S2
-rw-r--r--arch/mips/kernel/setup.c4
-rw-r--r--arch/mips/kernel/smp.c12
-rw-r--r--arch/mips/kernel/traps.c29
-rw-r--r--arch/mips/kernel/unaligned.c20
-rw-r--r--arch/mips/lemote/lm2e/pci.c13
-rw-r--r--arch/mips/lemote/lm2e/setup.c11
-rw-r--r--arch/mips/lib/Makefile1
-rw-r--r--arch/mips/lib/dump_tlb.c1
-rw-r--r--arch/mips/math-emu/cp1emu.c12
-rw-r--r--arch/mips/math-emu/dsemul.c7
-rw-r--r--arch/mips/math-emu/dsemul.h17
-rw-r--r--arch/mips/mm/Makefile1
-rw-r--r--arch/mips/mm/dma-default.c2
-rw-r--r--arch/mips/nxp/pnx833x/common/Makefile3
-rw-r--r--arch/mips/nxp/pnx833x/common/interrupts.c380
-rw-r--r--arch/mips/nxp/pnx833x/common/platform.c319
-rw-r--r--arch/mips/nxp/pnx833x/common/prom.c70
-rw-r--r--arch/mips/nxp/pnx833x/common/reset.c45
-rw-r--r--arch/mips/nxp/pnx833x/common/setup.c64
-rw-r--r--arch/mips/nxp/pnx833x/stb22x/Makefile3
-rw-r--r--arch/mips/nxp/pnx833x/stb22x/board.c133
-rw-r--r--arch/mips/pci/Makefile2
-rw-r--r--arch/mips/pci/fixup-emma2rh.c2
-rw-r--r--arch/mips/pci/fixup-rc32434.c1
-rw-r--r--arch/mips/pci/ops-emma2rh.c2
-rw-r--r--arch/mips/pci/pci-emma2rh.c2
-rw-r--r--arch/mips/rb532/devices.c2
-rw-r--r--arch/mips/rb532/gpio.c4
-rw-r--r--arch/mips/sgi-ip22/ip22-int.c17
-rw-r--r--arch/mips/txx9/Kconfig6
-rw-r--r--arch/mips/txx9/generic/7segled.c112
-rw-r--r--arch/mips/txx9/generic/Makefile1
-rw-r--r--arch/mips/txx9/generic/setup.c37
-rw-r--r--arch/mips/txx9/rbtx4927/setup.c25
-rw-r--r--arch/mips/txx9/rbtx4939/setup.c88
-rw-r--r--arch/powerpc/Kconfig3
-rw-r--r--arch/powerpc/Makefile2
-rw-r--r--arch/powerpc/boot/addnote.c175
-rw-r--r--arch/powerpc/boot/dts/gef_sbc610.dts2
-rw-r--r--arch/powerpc/boot/dts/mpc8313erdb.dts39
-rw-r--r--arch/powerpc/boot/libfdt/fdt_ro.c9
-rw-r--r--arch/powerpc/boot/main.c2
-rwxr-xr-xarch/powerpc/boot/wrapper9
-rw-r--r--arch/powerpc/configs/40x/acadia_defconfig59
-rw-r--r--arch/powerpc/configs/40x/ep405_defconfig83
-rw-r--r--arch/powerpc/configs/40x/hcu4_defconfig125
-rw-r--r--arch/powerpc/configs/40x/kilauea_defconfig69
-rw-r--r--arch/powerpc/configs/40x/makalu_defconfig69
-rw-r--r--arch/powerpc/configs/40x/walnut_defconfig77
-rw-r--r--arch/powerpc/configs/44x/arches_defconfig51
-rw-r--r--arch/powerpc/configs/44x/bamboo_defconfig77
-rw-r--r--arch/powerpc/configs/44x/canyonlands_defconfig61
-rw-r--r--arch/powerpc/configs/44x/ebony_defconfig77
-rw-r--r--arch/powerpc/configs/44x/katmai_defconfig77
-rw-r--r--arch/powerpc/configs/44x/rainier_defconfig73
-rw-r--r--arch/powerpc/configs/44x/sam440ep_defconfig110
-rw-r--r--arch/powerpc/configs/44x/sequoia_defconfig78
-rw-r--r--arch/powerpc/configs/44x/taishan_defconfig77
-rw-r--r--arch/powerpc/configs/44x/warp_defconfig82
-rw-r--r--arch/powerpc/configs/83xx/asp8347_defconfig121
-rw-r--r--arch/powerpc/configs/83xx/mpc8313_rdb_defconfig158
-rw-r--r--arch/powerpc/configs/83xx/mpc8315_rdb_defconfig158
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_mds_defconfig125
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_rdb_defconfig136
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig171
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig121
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_mds_defconfig123
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_mds_defconfig126
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_rdk_defconfig119
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_mds_defconfig123
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_rdb_defconfig155
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig119
-rw-r--r--arch/powerpc/configs/85xx/ksi8560_defconfig87
-rw-r--r--arch/powerpc/configs/85xx/mpc8536_ds_defconfig143
-rw-r--r--arch/powerpc/configs/85xx/mpc8540_ads_defconfig74
-rw-r--r--arch/powerpc/configs/85xx/mpc8544_ds_defconfig143
-rw-r--r--arch/powerpc/configs/85xx/mpc8560_ads_defconfig90
-rw-r--r--arch/powerpc/configs/85xx/mpc8568mds_defconfig93
-rw-r--r--arch/powerpc/configs/85xx/mpc8572_ds_defconfig143
-rw-r--r--arch/powerpc/configs/85xx/mpc85xx_cds_defconfig91
-rw-r--r--arch/powerpc/configs/85xx/sbc8548_defconfig75
-rw-r--r--arch/powerpc/configs/85xx/sbc8560_defconfig78
-rw-r--r--arch/powerpc/configs/85xx/stx_gp3_defconfig115
-rw-r--r--arch/powerpc/configs/85xx/tqm8540_defconfig91
-rw-r--r--arch/powerpc/configs/85xx/tqm8541_defconfig96
-rw-r--r--arch/powerpc/configs/85xx/tqm8548_defconfig98
-rw-r--r--arch/powerpc/configs/85xx/tqm8555_defconfig96
-rw-r--r--arch/powerpc/configs/85xx/tqm8560_defconfig96
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc610_defconfig281
-rw-r--r--arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig177
-rw-r--r--arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig175
-rw-r--r--arch/powerpc/configs/86xx/sbc8641d_defconfig152
-rw-r--r--arch/powerpc/configs/adder875_defconfig69
-rw-r--r--arch/powerpc/configs/c2k_defconfig179
-rw-r--r--arch/powerpc/configs/chrp32_defconfig159
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig113
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig67
-rw-r--r--arch/powerpc/configs/g5_defconfig142
-rw-r--r--arch/powerpc/configs/iseries_defconfig114
-rw-r--r--arch/powerpc/configs/linkstation_defconfig129
-rw-r--r--arch/powerpc/configs/maple_defconfig142
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig234
-rw-r--r--arch/powerpc/configs/mgsuvd_defconfig107
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig78
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig113
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig156
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig145
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig77
-rw-r--r--arch/powerpc/configs/mpc86xx_defconfig144
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig67
-rw-r--r--arch/powerpc/configs/pmac32_defconfig160
-rw-r--r--arch/powerpc/configs/ppc40x_defconfig106
-rw-r--r--arch/powerpc/configs/ppc44x_defconfig125
-rw-r--r--arch/powerpc/configs/ppc64_defconfig174
-rw-r--r--arch/powerpc/configs/ppc6xx_defconfig286
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig137
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig126
-rw-r--r--arch/powerpc/configs/pseries_defconfig169
-rw-r--r--arch/powerpc/configs/storcenter_defconfig83
-rw-r--r--arch/powerpc/include/asm/ftrace.h2
-rw-r--r--arch/powerpc/include/asm/immap_cpm2.h9
-rw-r--r--arch/powerpc/include/asm/immap_qe.h5
-rw-r--r--arch/powerpc/include/asm/iommu.h15
-rw-r--r--arch/powerpc/include/asm/kdump.h8
-rw-r--r--arch/powerpc/include/asm/mpic.h2
-rw-r--r--arch/powerpc/include/asm/pci.h2
-rw-r--r--arch/powerpc/kernel/Makefile2
-rw-r--r--arch/powerpc/kernel/dma-iommu.c34
-rw-r--r--arch/powerpc/kernel/entry_32.S2
-rw-r--r--arch/powerpc/kernel/entry_64.S2
-rw-r--r--arch/powerpc/kernel/ftrace.c27
-rw-r--r--arch/powerpc/kernel/head_64.S30
-rw-r--r--arch/powerpc/kernel/ibmebus.c27
-rw-r--r--arch/powerpc/kernel/iommu.c25
-rw-r--r--arch/powerpc/kernel/machine_kexec_64.c9
-rw-r--r--arch/powerpc/kernel/misc_32.S4
-rw-r--r--arch/powerpc/kernel/misc_64.S9
-rw-r--r--arch/powerpc/kernel/of_device.c1
-rw-r--r--arch/powerpc/kernel/pci-common.c110
-rw-r--r--arch/powerpc/kernel/pci_64.c2
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c2
-rw-r--r--arch/powerpc/kernel/prom_init.c10
-rw-r--r--arch/powerpc/kernel/setup_64.c6
-rw-r--r--arch/powerpc/kernel/signal_32.c52
-rw-r--r--arch/powerpc/kernel/signal_64.c33
-rw-r--r--arch/powerpc/kernel/vio.c25
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S5
-rw-r--r--arch/powerpc/oprofile/op_model_cell.c13
-rw-r--r--arch/powerpc/platforms/40x/Kconfig2
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_ds.c3
-rw-r--r--arch/powerpc/platforms/86xx/pic.c3
-rw-r--r--arch/powerpc/platforms/cell/iommu.c37
-rw-r--r--arch/powerpc/platforms/cell/ras.c7
-rw-r--r--arch/powerpc/platforms/embedded6xx/linkstation.c14
-rw-r--r--arch/powerpc/platforms/iseries/iommu.c7
-rw-r--r--arch/powerpc/platforms/powermac/Makefile2
-rw-r--r--arch/powerpc/platforms/ps3/system-bus.c36
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c4
-rw-r--r--arch/powerpc/platforms/pseries/pci_dlpar.c1
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c26
-rw-r--r--arch/powerpc/sysdev/mpic.c59
-rw-r--r--arch/powerpc/xmon/xmon.c2
-rw-r--r--arch/s390/Kconfig16
-rw-r--r--arch/s390/appldata/appldata_base.c2
-rw-r--r--arch/s390/include/asm/kvm_virtio.h2
-rw-r--r--arch/s390/include/asm/mmu.h3
-rw-r--r--arch/s390/include/asm/mmu_context.h19
-rw-r--r--arch/s390/include/asm/pgtable.h8
-rw-r--r--arch/s390/include/asm/thread_info.h5
-rw-r--r--arch/s390/kernel/smp.c24
-rw-r--r--arch/s390/mm/pgtable.c16
-rw-r--r--arch/sh/Kconfig2
-rw-r--r--arch/sh/Makefile31
-rw-r--r--arch/sh/boot/compressed/Makefile_322
-rw-r--r--arch/sh/cchips/Kconfig33
-rw-r--r--arch/sh/cchips/hd6446x/Makefile1
-rw-r--r--arch/sh/cchips/hd6446x/hd64465/Makefile6
-rw-r--r--arch/sh/cchips/hd6446x/hd64465/gpio.c196
-rw-r--r--arch/sh/cchips/hd6446x/hd64465/io.c211
-rw-r--r--arch/sh/cchips/hd6446x/hd64465/setup.c181
-rw-r--r--arch/sh/configs/migor_defconfig35
-rw-r--r--arch/sh/configs/ul2_defconfig1169
-rw-r--r--arch/sh/include/asm/byteorder.h36
-rw-r--r--arch/sh/include/asm/hd64465/gpio.h46
-rw-r--r--arch/sh/include/asm/hd64465/hd64465.h256
-rw-r--r--arch/sh/include/asm/hd64465/io.h44
-rw-r--r--arch/sh/include/asm/serial.h17
-rw-r--r--arch/sh/include/cpu-sh4/cpu/rtc.h2
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7366.c28
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7722.c34
-rw-r--r--arch/sh/kernel/entry-common.S4
-rw-r--r--arch/sh/kernel/sh_ksyms_32.c13
-rw-r--r--arch/sh/mm/cache-sh2a.c8
-rw-r--r--arch/sh/oprofile/op_model_sh7750.c6
-rw-r--r--arch/sh/tools/mach-types1
-rw-r--r--arch/sparc/include/asm/byteorder.h22
-rw-r--r--arch/sparc/include/asm/kdebug_32.h1
-rw-r--r--arch/sparc/include/asm/processor_64.h4
-rw-r--r--arch/sparc/include/asm/uaccess_64.h4
-rw-r--r--arch/sparc/kernel/head.S1
-rw-r--r--arch/sparc/kernel/time.c27
-rw-r--r--arch/sparc64/Kconfig3
-rw-r--r--arch/sparc64/Kconfig.debug2
-rw-r--r--arch/sparc64/defconfig232
-rw-r--r--arch/sparc64/kernel/Makefile2
-rw-r--r--arch/sparc64/kernel/ftrace.c26
-rw-r--r--arch/sparc64/kernel/pci.c10
-rw-r--r--arch/sparc64/kernel/time.c34
-rw-r--r--arch/sparc64/lib/PeeCeeI.c139
-rw-r--r--arch/sparc64/lib/mcount.S4
-rw-r--r--arch/x86/Kconfig14
-rw-r--r--arch/x86/Kconfig.cpu24
-rw-r--r--arch/x86/boot/compressed/.gitignore2
-rw-r--r--arch/x86/include/asm/cpufeature.h2
-rw-r--r--arch/x86/include/asm/dma-mapping.h4
-rw-r--r--arch/x86/include/asm/es7000/wakecpu.h9
-rw-r--r--arch/x86/include/asm/fixmap.h4
-rw-r--r--arch/x86/include/asm/fixmap_32.h4
-rw-r--r--arch/x86/include/asm/ftrace.h4
-rw-r--r--arch/x86/include/asm/highmem.h5
-rw-r--r--arch/x86/include/asm/io.h6
-rw-r--r--arch/x86/include/asm/iommu.h1
-rw-r--r--arch/x86/include/asm/irq_vectors.h20
-rw-r--r--arch/x86/include/asm/kvm_host.h3
-rw-r--r--arch/x86/include/asm/mach-default/mach_wakecpu.h9
-rw-r--r--arch/x86/include/asm/msr.h2
-rw-r--r--arch/x86/include/asm/pgtable-3level.h4
-rw-r--r--arch/x86/include/asm/smp.h6
-rw-r--r--arch/x86/include/asm/topology.h7
-rw-r--r--arch/x86/include/asm/tsc.h8
-rw-r--r--arch/x86/include/asm/uv/uv_hub.h1
-rw-r--r--arch/x86/include/asm/voyager.h1
-rw-r--r--arch/x86/kernel/Makefile3
-rw-r--r--arch/x86/kernel/amd_iommu.c9
-rw-r--r--arch/x86/kernel/cpu/addon_cpuid_features.c2
-rw-r--r--arch/x86/kernel/cpu/common.c7
-rw-r--r--arch/x86/kernel/e820.c8
-rw-r--r--arch/x86/kernel/entry_32.S4
-rw-r--r--arch/x86/kernel/entry_64.S4
-rw-r--r--arch/x86/kernel/ftrace.c50
-rw-r--r--arch/x86/kernel/genx2apic_uv_x.c7
-rw-r--r--arch/x86/kernel/hpet.c4
-rw-r--r--arch/x86/kernel/i386_ksyms_32.c2
-rw-r--r--arch/x86/kernel/io_apic.c2
-rw-r--r--arch/x86/kernel/k8.c1
-rw-r--r--arch/x86/kernel/machine_kexec_32.c5
-rw-r--r--arch/x86/kernel/microcode_amd.c2
-rw-r--r--arch/x86/kernel/microcode_core.c4
-rw-r--r--arch/x86/kernel/pci-dma.c16
-rw-r--r--arch/x86/kernel/pci-gart_64.c2
-rw-r--r--arch/x86/kernel/pci-swiotlb_64.c14
-rw-r--r--arch/x86/kernel/reboot.c6
-rw-r--r--arch/x86/kernel/tlb_32.c6
-rw-r--r--arch/x86/kernel/tlb_64.c5
-rw-r--r--arch/x86/kernel/tsc.c12
-rw-r--r--arch/x86/kernel/vsmp_64.c2
-rw-r--r--arch/x86/kernel/x8664_ksyms_64.c2
-rw-r--r--arch/x86/kvm/i8254.c11
-rw-r--r--arch/x86/kvm/i8254.h1
-rw-r--r--arch/x86/kvm/mmu.c1
-rw-r--r--arch/x86/kvm/x86.c6
-rw-r--r--arch/x86/lguest/boot.c32
-rw-r--r--arch/x86/mach-voyager/setup.c2
-rw-r--r--arch/x86/mach-voyager/voyager_smp.c14
-rw-r--r--arch/x86/mm/Makefile2
-rw-r--r--arch/x86/mm/gup.c2
-rw-r--r--arch/x86/mm/init_32.c3
-rw-r--r--arch/x86/mm/init_64.c75
-rw-r--r--arch/x86/mm/iomap_32.c59
-rw-r--r--arch/x86/mm/ioremap.c22
-rw-r--r--arch/x86/mm/pageattr.c8
-rw-r--r--arch/x86/mm/pat.c4
-rw-r--r--arch/x86/oprofile/op_model_ppro.c9
-rw-r--r--arch/x86/xen/Makefile2
-rw-r--r--arch/x86/xen/enlighten.c5
-rw-r--r--arch/x86/xen/mmu.c31
-rw-r--r--block/blk-core.c4
-rw-r--r--block/blk-merge.c21
-rw-r--r--block/blk-timeout.c20
-rw-r--r--block/elevator.c12
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile2
-rw-r--r--drivers/acpi/button.c3
-rw-r--r--drivers/acpi/processor_perflib.c5
-rw-r--r--drivers/acpi/sleep/main.c2
-rw-r--r--drivers/acpi/toshiba_acpi.c2
-rw-r--r--drivers/ata/ahci.c41
-rw-r--r--drivers/ata/ata_generic.c2
-rw-r--r--drivers/ata/ata_piix.c3
-rw-r--r--drivers/ata/libata-core.c120
-rw-r--r--drivers/ata/libata-eh.c35
-rw-r--r--drivers/ata/libata-scsi.c21
-rw-r--r--drivers/ata/libata.h19
-rw-r--r--drivers/ata/pata_acpi.c2
-rw-r--r--drivers/ata/pata_ali.c1
-rw-r--r--drivers/ata/pata_amd.c1
-rw-r--r--drivers/ata/pata_artop.c2
-rw-r--r--drivers/ata/pata_atiixp.c1
-rw-r--r--drivers/ata/pata_cmd640.c1
-rw-r--r--drivers/ata/pata_cmd64x.c2
-rw-r--r--drivers/ata/pata_cs5530.c1
-rw-r--r--drivers/ata/pata_cs5535.c3
-rw-r--r--drivers/ata/pata_cs5536.c1
-rw-r--r--drivers/ata/pata_cypress.c2
-rw-r--r--drivers/ata/pata_efar.c2
-rw-r--r--drivers/ata/pata_isapnp.c2
-rw-r--r--drivers/ata/pata_it821x.c7
-rw-r--r--drivers/ata/pata_jmicron.c2
-rw-r--r--drivers/ata/pata_legacy.c2
-rw-r--r--drivers/ata/pata_marvell.c2
-rw-r--r--drivers/ata/pata_mpiix.c2
-rw-r--r--drivers/ata/pata_netcell.c2
-rw-r--r--drivers/ata/pata_ninja32.c44
-rw-r--r--drivers/ata/pata_ns87410.c1
-rw-r--r--drivers/ata/pata_ns87415.c2
-rw-r--r--drivers/ata/pata_oldpiix.c2
-rw-r--r--drivers/ata/pata_opti.c1
-rw-r--r--drivers/ata/pata_optidma.c1
-rw-r--r--drivers/ata/pata_pcmcia.c3
-rw-r--r--drivers/ata/pata_pdc202xx_old.c2
-rw-r--r--drivers/ata/pata_platform.c2
-rw-r--r--drivers/ata/pata_qdi.c2
-rw-r--r--drivers/ata/pata_radisys.c2
-rw-r--r--drivers/ata/pata_sc1200.c2
-rw-r--r--drivers/ata/pata_scc.c2
-rw-r--r--drivers/ata/pata_sch.c2
-rw-r--r--drivers/ata/pata_serverworks.c1
-rw-r--r--drivers/ata/pata_sil680.c1
-rw-r--r--drivers/ata/pata_sis.c2
-rw-r--r--drivers/ata/pata_sl82c105.c1
-rw-r--r--drivers/ata/pata_triflex.c2
-rw-r--r--drivers/ata/pata_via.c1
-rw-r--r--drivers/ata/pata_winbond.c2
-rw-r--r--drivers/ata/sata_nv.c53
-rw-r--r--drivers/ata/sata_promise.c20
-rw-r--r--drivers/ata/sata_sil24.c5
-rw-r--r--drivers/ata/sata_via.c153
-rw-r--r--drivers/base/sys.c10
-rw-r--r--drivers/block/cciss.c28
-rw-r--r--drivers/block/cpqarray.c7
-rw-r--r--drivers/block/loop.c5
-rw-r--r--drivers/bluetooth/bluecard_cs.c2
-rw-r--r--drivers/bluetooth/bpa10x.c4
-rw-r--r--drivers/bluetooth/bt3c_cs.c6
-rw-r--r--drivers/bluetooth/btsdio.c2
-rw-r--r--drivers/bluetooth/btuart_cs.c6
-rw-r--r--drivers/bluetooth/dtl1_cs.c7
-rw-r--r--drivers/cdrom/gdrom.c5
-rw-r--r--drivers/char/Kconfig22
-rw-r--r--drivers/char/Makefile2
-rw-r--r--drivers/char/ds1286.c585
-rw-r--r--drivers/char/hpet.c3
-rw-r--r--drivers/char/hw_random/amd-rng.c2
-rw-r--r--drivers/char/hw_random/geode-rng.c2
-rw-r--r--drivers/char/hw_random/intel-rng.c2
-rw-r--r--drivers/char/hw_random/via-rng.c2
-rw-r--r--drivers/char/ip27-rtc.c329
-rw-r--r--drivers/char/ipmi/ipmi_devintf.c3
-rw-r--r--drivers/char/ipmi/ipmi_watchdog.c1
-rw-r--r--drivers/char/isicom.c6
-rw-r--r--drivers/char/mxser.c3
-rw-r--r--drivers/char/pcmcia/synclink_cs.c2
-rw-r--r--drivers/char/random.c7
-rw-r--r--drivers/char/rtc.c2
-rw-r--r--drivers/char/sonypi.c1
-rw-r--r--drivers/char/vt.c10
-rw-r--r--drivers/cpuidle/cpuidle.c4
-rw-r--r--drivers/dca/dca-core.c2
-rw-r--r--drivers/dma/ioat_dma.c18
-rw-r--r--drivers/dma/iovlock.c17
-rw-r--r--drivers/edac/Kconfig7
-rw-r--r--drivers/edac/Makefile1
-rw-r--r--drivers/edac/cell_edac.c3
-rw-r--r--drivers/edac/x38_edac.c524
-rw-r--r--drivers/firewire/fw-device.c14
-rw-r--r--drivers/firewire/fw-ohci.c52
-rw-r--r--drivers/firewire/fw-sbp2.c40
-rw-r--r--drivers/firewire/fw-topology.c6
-rw-r--r--drivers/firewire/fw-transaction.h2
-rw-r--r--drivers/firmware/dmi_scan.c6
-rw-r--r--drivers/gpu/drm/drm_drv.c10
-rw-r--r--drivers/gpu/drm/drm_fops.c2
-rw-r--r--drivers/gpu/drm/drm_irq.c80
-rw-r--r--drivers/gpu/drm/drm_lock.c9
-rw-r--r--drivers/gpu/drm/drm_stub.c1
-rw-r--r--drivers/gpu/drm/i915/Makefile3
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c17
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h31
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c204
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c383
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h3
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c9
-rw-r--r--drivers/gpu/drm/radeon/radeon_cp.c30
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.h14
-rw-r--r--drivers/hid/Kconfig2
-rw-r--r--drivers/hid/hid-apple.c63
-rw-r--r--drivers/hid/hid-core.c45
-rw-r--r--drivers/hid/hid-dell.c1
-rw-r--r--drivers/hid/hid-gyration.c4
-rw-r--r--drivers/hid/hid-ids.h11
-rw-r--r--drivers/hid/hid-lg.c5
-rw-r--r--drivers/hid/hid-sony.c44
-rw-r--r--drivers/hid/hidraw.c3
-rw-r--r--drivers/hid/usbhid/hid-core.c63
-rw-r--r--drivers/hid/usbhid/hiddev.c5
-rw-r--r--drivers/hid/usbhid/usbhid.h2
-rw-r--r--drivers/hwmon/applesmc.c36
-rw-r--r--drivers/i2c/busses/i2c-s3c2410.c2
-rw-r--r--drivers/i2c/busses/scx200_i2c.c1
-rw-r--r--drivers/ide/alim15x3.c2
-rw-r--r--drivers/ide/hpt366.c2
-rw-r--r--drivers/ide/ide-cd.c3
-rw-r--r--drivers/ide/ide-disk.c2
-rw-r--r--drivers/ide/ide-gd.c7
-rw-r--r--drivers/ide/ide-iops.c2
-rw-r--r--drivers/ide/ide-pci-generic.c2
-rw-r--r--drivers/ide/ide-proc.c2
-rw-r--r--drivers/ide/it821x.c2
-rw-r--r--drivers/ide/jmicron.c2
-rw-r--r--drivers/ide/piix.c2
-rw-r--r--drivers/ide/scc_pata.c2
-rw-r--r--drivers/ide/siimage.c2
-rw-r--r--drivers/ide/tx4938ide.c41
-rw-r--r--drivers/idle/Kconfig11
-rw-r--r--drivers/idle/i7300_idle.c105
-rw-r--r--drivers/ieee1394/dv1394.c13
-rw-r--r--drivers/ieee1394/hosts.c4
-rw-r--r--drivers/ieee1394/nodemgr.c14
-rw-r--r--drivers/ieee1394/raw1394.c9
-rw-r--r--drivers/infiniband/core/uverbs_main.c2
-rw-r--r--drivers/input/evdev.c1
-rw-r--r--drivers/input/joydev.c1
-rw-r--r--drivers/input/misc/hp_sdc_rtc.c13
-rw-r--r--drivers/input/misc/sgi_btns.c1
-rw-r--r--drivers/input/mouse/Kconfig25
-rw-r--r--drivers/input/mouse/Makefile1
-rw-r--r--drivers/input/mouse/elantech.c674
-rw-r--r--drivers/input/mouse/elantech.h124
-rw-r--r--drivers/input/mouse/psmouse-base.c23
-rw-r--r--drivers/input/mouse/psmouse.h1
-rw-r--r--drivers/input/mousedev.c1
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h8
-rw-r--r--drivers/input/serio/serio_raw.c1
-rw-r--r--drivers/leds/leds-da903x.c3
-rw-r--r--drivers/leds/leds-hp-disk.c3
-rw-r--r--drivers/md/dm-raid1.c3
-rw-r--r--drivers/md/dm-snap.c32
-rw-r--r--drivers/md/dm-snap.h2
-rw-r--r--drivers/md/linear.c2
-rw-r--r--drivers/md/md.c57
-rw-r--r--drivers/md/raid10.c2
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c2
-rw-r--r--drivers/media/dvb/dvb-usb/Kconfig3
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.c14
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.h1
-rw-r--r--drivers/media/dvb/dvb-usb/anysee.c4
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-urb.c6
-rw-r--r--drivers/media/dvb/frontends/af9013.c6
-rw-r--r--drivers/media/radio/Kconfig14
-rw-r--r--drivers/media/radio/radio-si470x.c19
-rw-r--r--drivers/media/video/cafe_ccic.c6
-rw-r--r--drivers/media/video/compat_ioctl32.c3
-rw-r--r--drivers/media/video/cx18/cx18-driver.c17
-rw-r--r--drivers/media/video/cx18/cx18-driver.h20
-rw-r--r--drivers/media/video/cx18/cx18-dvb.c23
-rw-r--r--drivers/media/video/cx18/cx18-dvb.h1
-rw-r--r--drivers/media/video/cx18/cx18-io.c17
-rw-r--r--drivers/media/video/cx18/cx18-io.h17
-rw-r--r--drivers/media/video/cx18/cx18-irq.c96
-rw-r--r--drivers/media/video/cx18/cx18-irq.h4
-rw-r--r--drivers/media/video/cx18/cx18-mailbox.c6
-rw-r--r--drivers/media/video/cx18/cx18-queue.c14
-rw-r--r--drivers/media/video/cx18/cx18-scb.h40
-rw-r--r--drivers/media/video/cx88/cx88-blackbird.c12
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c5
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c28
-rw-r--r--drivers/media/video/cx88/cx88-video.c10
-rw-r--r--drivers/media/video/cx88/cx88.h1
-rw-r--r--drivers/media/video/gspca/Kconfig144
-rw-r--r--drivers/media/video/gspca/zc3xx.c12
-rw-r--r--drivers/media/video/ivtv/Kconfig5
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c26
-rw-r--r--drivers/media/video/saa7110.c4
-rw-r--r--drivers/media/video/saa7134/saa7134-core.c3
-rw-r--r--drivers/media/video/usbvideo/ibmcam.c12
-rw-r--r--drivers/message/fusion/mptctl.c7
-rw-r--r--drivers/message/fusion/mptlan.c108
-rw-r--r--drivers/message/i2o/i2o_block.c12
-rw-r--r--drivers/message/i2o/i2o_config.c21
-rw-r--r--drivers/mfd/Kconfig16
-rw-r--r--drivers/mfd/Makefile2
-rw-r--r--drivers/misc/hdpuftrs/hdpu_nexus.c1
-rw-r--r--drivers/misc/panasonic-laptop.c1
-rw-r--r--drivers/misc/sgi-xp/Makefile4
-rw-r--r--drivers/misc/sgi-xp/xp.h4
-rw-r--r--drivers/misc/sgi-xp/xpc_main.c4
-rw-r--r--drivers/misc/sony-laptop.c7
-rw-r--r--drivers/mmc/core/bus.c3
-rw-r--r--drivers/mmc/core/core.c6
-rw-r--r--drivers/mmc/core/host.c5
-rw-r--r--drivers/mmc/core/sdio_bus.c3
-rw-r--r--drivers/mmc/host/mmc_spi.c2
-rw-r--r--drivers/mmc/host/mmci.c5
-rw-r--r--drivers/mmc/host/sdhci.c2
-rw-r--r--drivers/mmc/host/tifm_sd.c16
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0002.c13
-rw-r--r--drivers/mtd/chips/jedec_probe.c10
-rw-r--r--drivers/mtd/onenand/omap2.c1
-rw-r--r--drivers/net/3c509.c6
-rw-r--r--drivers/net/Kconfig18
-rw-r--r--drivers/net/amd8111e.c23
-rw-r--r--drivers/net/arm/at91_ether.c6
-rw-r--r--drivers/net/atl1e/atl1e.h1
-rw-r--r--drivers/net/atlx/atl1.c7
-rw-r--r--drivers/net/atlx/atl1.h2
-rw-r--r--drivers/net/bnx2x_init.h9
-rw-r--r--drivers/net/bnx2x_main.c10
-rw-r--r--drivers/net/bonding/bond_alb.c13
-rw-r--r--drivers/net/bonding/bond_main.c52
-rw-r--r--drivers/net/cris/eth_v10.c4
-rw-r--r--drivers/net/ehea/ehea.h2
-rw-r--r--drivers/net/ehea/ehea_qmr.c57
-rw-r--r--drivers/net/ehea/ehea_qmr.h3
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c6
-rw-r--r--drivers/net/gianfar.c16
-rw-r--r--drivers/net/gianfar_mii.c21
-rw-r--r--drivers/net/gianfar_mii.h3
-rw-r--r--drivers/net/ibm_newemac/core.c2
-rw-r--r--drivers/net/irda/ks959-sir.c1
-rw-r--r--drivers/net/irda/ksdazzle-sir.c1
-rw-r--r--drivers/net/loopback.c9
-rw-r--r--drivers/net/mlx4/en_main.c1
-rw-r--r--drivers/net/mlx4/en_netdev.c2
-rw-r--r--drivers/net/mlx4/fw.c2
-rw-r--r--drivers/net/mv643xx_eth.c9
-rw-r--r--drivers/net/myri10ge/myri10ge.c4
-rw-r--r--drivers/net/niu.c6
-rw-r--r--drivers/net/pppoe.c6
-rw-r--r--drivers/net/sfc/ethtool.c4
-rw-r--r--drivers/net/smc911x.c2
-rw-r--r--drivers/net/smc91x.c4
-rw-r--r--drivers/net/tulip/dmfe.c12
-rw-r--r--drivers/net/tun.c2
-rw-r--r--drivers/net/ucc_geth_ethtool.c1
-rw-r--r--drivers/net/usb/dm9601.c15
-rw-r--r--drivers/net/usb/hso.c12
-rw-r--r--drivers/net/via-velocity.c11
-rw-r--r--drivers/net/wan/syncppp.c5
-rw-r--r--drivers/net/wan/z85230.c1
-rw-r--r--drivers/net/wireless/ath5k/base.c33
-rw-r--r--drivers/net/wireless/ath5k/debug.c2
-rw-r--r--drivers/net/wireless/ath5k/desc.c16
-rw-r--r--drivers/net/wireless/ath5k/initvals.c2
-rw-r--r--drivers/net/wireless/ath5k/reset.c22
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c8
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-scan.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c15
-rw-r--r--drivers/net/wireless/libertas/cmd.c4
-rw-r--r--drivers/net/wireless/libertas/rx.c2
-rw-r--r--drivers/net/wireless/libertas/scan.c4
-rw-r--r--drivers/net/wireless/p54/p54common.c5
-rw-r--r--drivers/net/wireless/p54/p54pci.c132
-rw-r--r--drivers/net/wireless/rt2x00/Kconfig2
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.c2
-rw-r--r--drivers/of/device.c11
-rw-r--r--drivers/oprofile/event_buffer.c6
-rw-r--r--drivers/parport/parport_cs.c2
-rw-r--r--drivers/pci/pci-acpi.c3
-rw-r--r--drivers/pci/pci-sysfs.c2
-rw-r--r--drivers/pci/quirks.c50
-rw-r--r--drivers/pci/rom.c6
-rw-r--r--drivers/pcmcia/Kconfig4
-rw-r--r--drivers/pcmcia/Makefile1
-rw-r--r--drivers/pcmcia/hd64465_ss.c939
-rw-r--r--drivers/pcmcia/pcmcia_resource.c3
-rw-r--r--drivers/pnp/interface.c1
-rw-r--r--drivers/ps3/ps3-lpm.c1
-rw-r--r--drivers/regulator/Kconfig15
-rw-r--r--drivers/regulator/da903x.c29
-rw-r--r--drivers/rtc/interface.c2
-rw-r--r--drivers/rtc/rtc-cmos.c2
-rw-r--r--drivers/rtc/rtc-dev.c3
-rw-r--r--drivers/rtc/rtc-ds3234.c4
-rw-r--r--drivers/rtc/rtc-m48t59.c34
-rw-r--r--drivers/rtc/rtc-s3c.c8
-rw-r--r--drivers/s390/char/tape_block.c6
-rw-r--r--drivers/s390/char/tape_core.c8
-rw-r--r--drivers/s390/cio/qdio_debug.c19
-rw-r--r--drivers/s390/cio/qdio_main.c1
-rw-r--r--drivers/s390/net/qeth_core_main.c3
-rw-r--r--drivers/s390/net/qeth_l2_main.c27
-rw-r--r--drivers/s390/net/qeth_l3_main.c13
-rw-r--r--drivers/s390/net/qeth_l3_sys.c7
-rw-r--r--drivers/sbus/char/jsflash.c1
-rw-r--r--drivers/scsi/fdomain.c2
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c12
-rw-r--r--drivers/scsi/sg.c1
-rw-r--r--drivers/serial/Kconfig4
-rw-r--r--drivers/serial/atmel_serial.c17
-rw-r--r--drivers/serial/crisv10.c4
-rw-r--r--drivers/serial/crisv10.h2
-rw-r--r--drivers/serial/netx-serial.c4
-rw-r--r--drivers/serial/sh-sci.c40
-rw-r--r--drivers/serial/sh-sci.h96
-rw-r--r--drivers/ssb/Kconfig5
-rw-r--r--drivers/staging/Kconfig20
-rw-r--r--drivers/staging/echo/echo.c1
-rw-r--r--drivers/staging/me4000/me4000.c4
-rw-r--r--drivers/staging/usbip/Kconfig2
-rw-r--r--drivers/telephony/ixj.c1
-rw-r--r--drivers/telephony/phonedev.c2
-rw-r--r--drivers/uio/uio.c3
-rw-r--r--drivers/usb/class/usbtmc.c2
-rw-r--r--drivers/usb/core/hcd.c35
-rw-r--r--drivers/usb/core/hcd.h1
-rw-r--r--drivers/usb/core/hub.c4
-rw-r--r--drivers/usb/core/urb.c22
-rw-r--r--drivers/usb/gadget/inode.c1
-rw-r--r--drivers/usb/serial/ir-usb.c2
-rw-r--r--drivers/usb/serial/usb-serial.c1
-rw-r--r--drivers/usb/storage/unusual_devs.h7
-rw-r--r--drivers/video/Kconfig32
-rw-r--r--drivers/video/Makefile1
-rw-r--r--drivers/video/backlight/corgi_lcd.c4
-rw-r--r--drivers/video/cirrusfb.c2
-rw-r--r--drivers/video/console/fbcon.c2
-rw-r--r--drivers/video/fbmem.c61
-rw-r--r--drivers/video/mb862xx/Makefile5
-rw-r--r--drivers/video/mb862xx/mb862xx_reg.h138
-rw-r--r--drivers/video/mb862xx/mb862xxfb.c1061
-rw-r--r--drivers/video/mb862xx/mb862xxfb.h83
-rw-r--r--drivers/video/via/global.h3
-rw-r--r--drivers/watchdog/Kconfig8
-rw-r--r--drivers/watchdog/acquirewdt.c6
-rw-r--r--drivers/watchdog/advantechwdt.c6
-rw-r--r--drivers/watchdog/at91sam9_wdt.c2
-rw-r--r--drivers/watchdog/bfin_wdt.c2
-rw-r--r--drivers/watchdog/booke_wdt.c5
-rw-r--r--drivers/watchdog/eurotechwdt.c4
-rw-r--r--drivers/watchdog/i6300esb.c3
-rw-r--r--drivers/watchdog/ib700wdt.c6
-rw-r--r--drivers/watchdog/indydog.c2
-rw-r--r--drivers/watchdog/mpcore_wdt.c4
-rw-r--r--drivers/watchdog/omap_wdt.c2
-rw-r--r--drivers/watchdog/pcwd_pci.c2
-rw-r--r--drivers/watchdog/pcwd_usb.c2
-rw-r--r--drivers/watchdog/rc32434_wdt.c3
-rw-r--r--drivers/watchdog/s3c2410_wdt.c2
-rw-r--r--drivers/watchdog/sa1100_wdt.c2
-rw-r--r--drivers/watchdog/sb_wdog.c4
-rw-r--r--drivers/watchdog/sbc8360.c6
-rw-r--r--drivers/watchdog/sbc_epx_c3.c2
-rw-r--r--drivers/watchdog/smsc37b787_wdt.c2
-rw-r--r--drivers/watchdog/softdog.c3
-rw-r--r--drivers/watchdog/w83627hf_wdt.c6
-rw-r--r--drivers/watchdog/w83697hf_wdt.c4
-rw-r--r--drivers/watchdog/wafer5823wdt.c4
-rw-r--r--drivers/watchdog/wdt.c4
-rw-r--r--drivers/watchdog/wdt285.c3
-rw-r--r--drivers/watchdog/wdt_pci.c4
-rw-r--r--drivers/xen/balloon.c1
-rw-r--r--drivers/xen/events.c2
-rw-r--r--drivers/xen/manage.c2
-rw-r--r--drivers/xen/xencomm.c23
-rw-r--r--fs/Makefile2
-rw-r--r--fs/autofs4/dev-ioctl.c5
-rw-r--r--fs/autofs4/expire.c19
-rw-r--r--fs/block_dev.c23
-rw-r--r--fs/cifs/CHANGES6
-rw-r--r--fs/cifs/cifsglob.h2
-rw-r--r--fs/cifs/cifsproto.h2
-rw-r--r--fs/cifs/cifssmb.c2
-rw-r--r--fs/cifs/connect.c50
-rw-r--r--fs/cifs/file.c2
-rw-r--r--fs/cifs/inode.c4
-rw-r--r--fs/cifs/transport.c48
-rw-r--r--fs/coda/psdev.c2
-rw-r--r--fs/ecryptfs/crypto.c15
-rw-r--r--fs/ext3/super.c21
-rw-r--r--fs/ext4/balloc.c77
-rw-r--r--fs/ext4/ext4.h3
-rw-r--r--fs/ext4/ialloc.c2
-rw-r--r--fs/ext4/inode.c7
-rw-r--r--fs/ext4/mballoc.c1
-rw-r--r--fs/ext4/super.c35
-rw-r--r--fs/fat/Makefile6
-rw-r--r--fs/fat/cache.c25
-rw-r--r--fs/fat/dir.c20
-rw-r--r--fs/fat/fat.h329
-rw-r--r--fs/fat/fatent.c24
-rw-r--r--fs/fat/file.c49
-rw-r--r--fs/fat/inode.c133
-rw-r--r--fs/fat/misc.c155
-rw-r--r--fs/fat/namei_msdos.c (renamed from fs/msdos/namei.c)42
-rw-r--r--fs/fat/namei_vfat.c (renamed from fs/vfat/namei.c)161
-rw-r--r--fs/file_table.c4
-rw-r--r--fs/fuse/dev.c1
-rw-r--r--fs/inotify_user.c3
-rw-r--r--fs/jbd/checkpoint.c31
-rw-r--r--fs/jbd/transaction.c1
-rw-r--r--fs/jbd2/checkpoint.c32
-rw-r--r--fs/jbd2/commit.c8
-rw-r--r--fs/jbd2/journal.c2
-rw-r--r--fs/jffs2/background.c10
-rw-r--r--fs/jffs2/compr_lzo.c15
-rw-r--r--fs/jffs2/nodemgmt.c2
-rw-r--r--fs/libfs.c2
-rw-r--r--fs/lockd/svc4proc.c1
-rw-r--r--fs/lockd/svcproc.c1
-rw-r--r--fs/msdos/Makefile7
-rw-r--r--fs/nfs/inode.c13
-rw-r--r--fs/nfs/super.c2
-rw-r--r--fs/nfsd/vfs.c4
-rw-r--r--fs/ocfs2/file.c30
-rw-r--r--fs/ocfs2/inode.c6
-rw-r--r--fs/ocfs2/journal.c1
-rw-r--r--fs/ocfs2/mmap.c6
-rw-r--r--fs/ocfs2/namei.c8
-rw-r--r--fs/ocfs2/ocfs2.h3
-rw-r--r--fs/ocfs2/ocfs2_fs.h17
-rw-r--r--fs/ocfs2/xattr.c372
-rw-r--r--fs/ocfs2/xattr.h38
-rw-r--r--fs/pipe.c3
-rw-r--r--fs/proc/array.c2
-rw-r--r--fs/proc/uptime.c38
-rw-r--r--fs/splice.c4
-rw-r--r--fs/vfat/Makefile7
-rw-r--r--fs/xfs/xfs_da_btree.c5
-rw-r--r--fs/xfs/xfs_dir2.c6
-rw-r--r--fs/xfs/xfs_inode.c2
-rw-r--r--fs/xfs/xfs_log.c39
-rw-r--r--fs/xfs/xfs_log_recover.c8
-rw-r--r--fs/xfs/xfs_mount.c5
-rw-r--r--include/asm-cris/arch-v32/arbiter.h30
-rw-r--r--include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h632
-rw-r--r--include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h96
-rw-r--r--include/asm-cris/arch-v32/hwregs/gio_defs.h295
-rw-r--r--include/asm-cris/arch-v32/hwregs/intr_vect.h39
-rw-r--r--include/asm-cris/arch-v32/hwregs/pinmux_defs.h357
-rw-r--r--include/asm-cris/arch-v32/hwregs/strmux_defs.h127
-rw-r--r--include/asm-cris/arch-v32/pinmux.h40
-rw-r--r--include/asm-cris/spinlock.h1
-rw-r--r--include/asm-generic/kdebug.h1
-rw-r--r--include/asm-generic/memory_model.h2
-rw-r--r--include/asm-x86/iomap.h30
-rw-r--r--include/drm/drmP.h5
-rw-r--r--include/drm/drm_pciids.h46
-rw-r--r--include/drm/i915_drm.h13
-rw-r--r--include/linux/bio.h6
-rw-r--r--include/linux/cgroup.h4
-rw-r--r--include/linux/cnt32_to_63.h22
-rw-r--r--include/linux/cpumask.h559
-rw-r--r--include/linux/freezer.h5
-rw-r--r--include/linux/fs.h7
-rw-r--r--include/linux/fsl_devices.h3
-rw-r--r--include/linux/ftrace.h48
-rw-r--r--include/linux/hid.h7
-rw-r--r--include/linux/hrtimer.h2
-rw-r--r--include/linux/i7300_idle.h83
-rw-r--r--include/linux/if_vlan.h7
-rw-r--r--include/linux/init.h6
-rw-r--r--include/linux/io-mapping.h125
-rw-r--r--include/linux/kernel.h4
-rw-r--r--include/linux/kvm.h6
-rw-r--r--include/linux/kvm_host.h7
-rw-r--r--include/linux/libata.h4
-rw-r--r--include/linux/mmc/card.h2
-rw-r--r--include/linux/mmc/host.h2
-rw-r--r--include/linux/mmc/sdio_func.h2
-rw-r--r--include/linux/mod_devicetable.h1
-rw-r--r--include/linux/msdos_fs.h281
-rw-r--r--include/linux/mtd/cfi.h22
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--include/linux/pci.h2
-rw-r--r--include/linux/phonet.h1
-rw-r--r--include/linux/raid/md_k.h8
-rw-r--r--include/linux/resource.h4
-rw-r--r--include/linux/sched.h15
-rw-r--r--include/linux/security.h6
-rw-r--r--include/linux/smp.h9
-rw-r--r--include/linux/spi/spi_bitbang.h3
-rw-r--r--include/linux/ssb/ssb.h42
-rw-r--r--include/linux/string.h2
-rw-r--r--include/linux/telephony.h2
-rw-r--r--include/linux/timer.h5
-rw-r--r--include/linux/topology.h8
-rw-r--r--include/linux/workqueue.h8
-rw-r--r--include/net/af_unix.h1
-rw-r--r--include/net/mac80211.h11
-rw-r--r--include/net/net_namespace.h2
-rw-r--r--include/net/phonet/phonet.h2
-rw-r--r--include/net/scm.h5
-rw-r--r--include/net/sock.h1
-rw-r--r--include/scsi/scsi_tcq.h14
-rw-r--r--include/sound/core.h10
-rw-r--r--include/sound/soc.h3
-rw-r--r--init/Kconfig16
-rw-r--r--init/do_mounts_md.c3
-rw-r--r--kernel/Makefile4
-rw-r--r--kernel/cgroup.c1
-rw-r--r--kernel/cgroup_freezer.c51
-rw-r--r--kernel/cpu.c3
-rw-r--r--kernel/exit.c5
-rw-r--r--kernel/freezer.c20
-rw-r--r--kernel/hrtimer.c17
-rw-r--r--kernel/irq/proc.c2
-rw-r--r--kernel/lockdep.c17
-rw-r--r--kernel/power/Kconfig2
-rw-r--r--kernel/printk.c39
-rw-r--r--kernel/profile.c2
-rw-r--r--kernel/resource.c8
-rw-r--r--kernel/sched.c26
-rw-r--r--kernel/sched_debug.c43
-rw-r--r--kernel/sched_fair.c248
-rw-r--r--kernel/sched_features.h1
-rw-r--r--kernel/sched_idletask.c5
-rw-r--r--kernel/sched_rt.c5
-rw-r--r--kernel/signal.c3
-rw-r--r--kernel/smp.c18
-rw-r--r--kernel/softirq.c7
-rw-r--r--kernel/sysctl.c2
-rw-r--r--kernel/time/tick-sched.c4
-rw-r--r--kernel/timer.c129
-rw-r--r--kernel/trace/Kconfig31
-rw-r--r--kernel/trace/Makefile6
-rw-r--r--kernel/trace/ftrace.c608
-rw-r--r--kernel/trace/ring_buffer.c64
-rw-r--r--kernel/trace/trace.c82
-rw-r--r--kernel/trace/trace.h22
-rw-r--r--kernel/trace/trace_functions.c2
-rw-r--r--kernel/trace/trace_irqsoff.c4
-rw-r--r--kernel/trace/trace_sched_wakeup.c4
-rw-r--r--kernel/trace/trace_selftest.c18
-rw-r--r--kernel/trace/trace_stack.c4
-rw-r--r--kernel/tracepoint.c8
-rw-r--r--kernel/workqueue.c45
-rw-r--r--lib/Makefile2
-rw-r--r--lib/cpumask.c79
-rw-r--r--lib/dynamic_printk.c4
-rw-r--r--lib/swiotlb.c6
-rw-r--r--mm/filemap.c242
-rw-r--r--mm/hugetlb.c49
-rw-r--r--mm/internal.h29
-rw-r--r--mm/mempolicy.c18
-rw-r--r--mm/migrate.c2
-rw-r--r--mm/mmap.c3
-rw-r--r--mm/nommu.c3
-rw-r--r--mm/oom_kill.c3
-rw-r--r--mm/page_alloc.c28
-rw-r--r--mm/page_isolation.c5
-rw-r--r--mm/shmem.c8
-rw-r--r--mm/sparse-vmemmap.c2
-rw-r--r--mm/vmalloc.c12
-rw-r--r--net/8021q/vlan_core.c46
-rw-r--r--net/8021q/vlanproc.c2
-rw-r--r--net/9p/client.c59
-rw-r--r--net/9p/trans_rdma.c5
-rw-r--r--net/core/dev.c3
-rw-r--r--net/core/net_namespace.c32
-rw-r--r--net/core/pktgen.c27
-rw-r--r--net/core/scm.c24
-rw-r--r--net/core/skbuff.c14
-rw-r--r--net/dsa/slave.c72
-rw-r--r--net/dsa/tag_dsa.c1
-rw-r--r--net/dsa/tag_edsa.c1
-rw-r--r--net/dsa/tag_trailer.c1
-rw-r--r--net/ipv4/cipso_ipv4.c7
-rw-r--r--net/ipv4/proc.c58
-rw-r--r--net/ipv4/tcp.c3
-rw-r--r--net/ipv4/tcp_output.c10
-rw-r--r--net/ipv4/udp.c12
-rw-r--r--net/ipv4/xfrm4_state.c1
-rw-r--r--net/ipv6/addrconf.c4
-rw-r--r--net/ipv6/ip6mr.c9
-rw-r--r--net/ipv6/udp.c36
-rw-r--r--net/ipv6/xfrm6_state.c1
-rw-r--r--net/key/af_key.c2
-rw-r--r--net/mac80211/debugfs_sta.c2
-rw-r--r--net/mac80211/rc80211_minstrel_debugfs.c6
-rw-r--r--net/netfilter/ipvs/ip_vs_xmit.c3
-rw-r--r--net/netfilter/nf_conntrack_helper.c3
-rw-r--r--net/netfilter/nf_conntrack_proto.c5
-rw-r--r--net/netfilter/nf_conntrack_proto_gre.c4
-rw-r--r--net/netlabel/netlabel_addrlist.c2
-rw-r--r--net/netlabel/netlabel_addrlist.h22
-rw-r--r--net/netlabel/netlabel_mgmt.c2
-rw-r--r--net/phonet/af_phonet.c5
-rw-r--r--net/rfkill/rfkill-input.c5
-rw-r--r--net/rfkill/rfkill.c2
-rw-r--r--net/socket.c1
-rw-r--r--net/sunrpc/auth.c18
-rw-r--r--net/sunrpc/xprtsock.c58
-rw-r--r--net/unix/af_unix.c33
-rw-r--r--net/unix/garbage.c49
-rw-r--r--net/xfrm/xfrm_policy.c6
-rw-r--r--net/xfrm/xfrm_user.c2
-rw-r--r--scripts/Makefile.build10
-rw-r--r--scripts/Makefile.modpost2
-rw-r--r--scripts/bootgraph.pl19
-rwxr-xr-xscripts/checksyscalls.sh4
-rw-r--r--scripts/headers_check.pl10
-rw-r--r--scripts/headers_install.pl17
-rwxr-xr-xscripts/kernel-doc6
-rw-r--r--scripts/mod/sumversion.c12
-rw-r--r--scripts/package/builddeb24
-rwxr-xr-xscripts/package/mkspec5
-rwxr-xr-xscripts/recordmcount.pl28
-rwxr-xr-xscripts/setlocalversion6
-rw-r--r--security/commoncap.c6
-rw-r--r--security/keys/internal.h1
-rw-r--r--security/keys/process_keys.c2
-rw-r--r--security/keys/request_key.c4
-rw-r--r--security/security.c9
-rw-r--r--security/selinux/hooks.c8
-rw-r--r--sound/aoa/soundbus/core.c2
-rw-r--r--sound/core/control.c8
-rw-r--r--sound/core/init.c5
-rw-r--r--sound/core/pcm_native.c1
-rw-r--r--sound/core/rawmidi.c8
-rw-r--r--sound/core/timer.c1
-rw-r--r--sound/drivers/ml403-ac97cr.c4
-rw-r--r--sound/drivers/pcsp/pcsp_input.c4
-rw-r--r--sound/isa/Kconfig2
-rw-r--r--sound/isa/ad1848/ad1848.c6
-rw-r--r--sound/isa/adlib.c12
-rw-r--r--sound/isa/cs423x/cs4231.c8
-rw-r--r--sound/isa/cs423x/cs4236.c8
-rw-r--r--sound/isa/es1688/es1688.c9
-rw-r--r--sound/isa/gus/gusclassic.c13
-rw-r--r--sound/isa/gus/gusextreme.c19
-rw-r--r--sound/isa/sb/sb8.c4
-rw-r--r--sound/oss/dmasound/dmasound.h2
-rw-r--r--sound/oss/dmasound/dmasound_core.c4
-rw-r--r--sound/oss/kahlua.c2
-rw-r--r--sound/pci/ac97/ac97_codec.c6
-rw-r--r--sound/pci/ad1889.c2
-rw-r--r--sound/pci/atiixp.c2
-rw-r--r--sound/pci/atiixp_modem.c2
-rw-r--r--sound/pci/au88x0/au88x0.c3
-rw-r--r--sound/pci/bt87x.c3
-rw-r--r--sound/pci/cs4281.c4
-rw-r--r--sound/pci/cs5530.c4
-rw-r--r--sound/pci/emu10k1/emu10k1_main.c3
-rw-r--r--sound/pci/hda/hda_codec.c1
-rw-r--r--sound/pci/hda/hda_intel.c31
-rw-r--r--sound/pci/hda/hda_proc.c2
-rw-r--r--sound/pci/hda/patch_analog.c3
-rw-r--r--sound/pci/hda/patch_realtek.c107
-rw-r--r--sound/pci/hda/patch_sigmatel.c20
-rw-r--r--sound/pci/ice1712/ice1712.c6
-rw-r--r--sound/pci/intel8x0.c1
-rw-r--r--sound/pci/mixart/mixart.c3
-rw-r--r--sound/pci/rme9652/hdsp.c27
-rw-r--r--sound/soc/blackfin/bf5xx-i2s.c34
-rw-r--r--sound/soc/codecs/wm9713.c2
-rw-r--r--sound/soc/fsl/mpc5200_psc_i2s.c14
-rw-r--r--sound/soc/soc-core.c6
-rw-r--r--sound/sound_core.c2
-rw-r--r--sound/sparc/dbri.c2
-rw-r--r--sound/usb/usbquirks.h30
-rw-r--r--virt/kvm/irq_comm.c42
-rw-r--r--virt/kvm/kvm_main.c12
1471 files changed, 23727 insertions, 14863 deletions
diff --git a/.mailmap b/.mailmap
index eba9bf953ef5..97f7b4fb6139 100644
--- a/.mailmap
+++ b/.mailmap
@@ -80,6 +80,8 @@ Nguyen Anh Quynh <aquynh@gmail.com>
80Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> 80Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
81Patrick Mochel <mochel@digitalimplant.org> 81Patrick Mochel <mochel@digitalimplant.org>
82Peter A Jonsson <pj@ludd.ltu.se> 82Peter A Jonsson <pj@ludd.ltu.se>
83Peter Oruba <peter@oruba.de>
84Peter Oruba <peter.oruba@amd.com>
83Praveen BP <praveenbp@ti.com> 85Praveen BP <praveenbp@ti.com>
84Rajesh Shah <rajesh.shah@intel.com> 86Rajesh Shah <rajesh.shah@intel.com>
85Ralf Baechle <ralf@linux-mips.org> 87Ralf Baechle <ralf@linux-mips.org>
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index 7286ad090db7..edef85ce1195 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -172,7 +172,7 @@ i2c/
172 - directory with info about the I2C bus/protocol (2 wire, kHz speed). 172 - directory with info about the I2C bus/protocol (2 wire, kHz speed).
173i2o/ 173i2o/
174 - directory with info about the Linux I2O subsystem. 174 - directory with info about the Linux I2O subsystem.
175i386/ 175x86/i386/
176 - directory with info about Linux on Intel 32 bit architecture. 176 - directory with info about Linux on Intel 32 bit architecture.
177ia64/ 177ia64/
178 - directory with info about Linux on Intel 64 bit architecture. 178 - directory with info about Linux on Intel 64 bit architecture.
@@ -382,7 +382,7 @@ w1/
382 - directory with documents regarding the 1-wire (w1) subsystem. 382 - directory with documents regarding the 1-wire (w1) subsystem.
383watchdog/ 383watchdog/
384 - how to auto-reboot Linux if it has "fallen and can't get up". ;-) 384 - how to auto-reboot Linux if it has "fallen and can't get up". ;-)
385x86_64/ 385x86/x86_64/
386 - directory with info on Linux support for AMD x86-64 (Hammer) machines. 386 - directory with info on Linux support for AMD x86-64 (Hammer) machines.
387zorro.txt 387zorro.txt
388 - info on writing drivers for Zorro bus devices found on Amigas. 388 - info on writing drivers for Zorro bus devices found on Amigas.
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index fabc06466b93..9b1f6ca100d1 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -136,7 +136,7 @@ quiet_cmd_db2ps = PS $@
136%.ps : %.xml 136%.ps : %.xml
137 $(call cmd,db2ps) 137 $(call cmd,db2ps)
138 138
139quiet_cmd_db2pdf = PDF $@ 139quiet_cmd_db2pdf = PDF $@
140 cmd_db2pdf = $(subst TYPE,pdf, $($(PDF_METHOD)template)) 140 cmd_db2pdf = $(subst TYPE,pdf, $($(PDF_METHOD)template))
141%.pdf : %.xml 141%.pdf : %.xml
142 $(call cmd,db2pdf) 142 $(call cmd,db2pdf)
@@ -148,7 +148,7 @@ build_main_index = rm -rf $(main_idx) && \
148 echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \ 148 echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \
149 cat $(HTML) >> $(main_idx) 149 cat $(HTML) >> $(main_idx)
150 150
151quiet_cmd_db2html = HTML $@ 151quiet_cmd_db2html = HTML $@
152 cmd_db2html = xmlto xhtml $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \ 152 cmd_db2html = xmlto xhtml $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \
153 echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \ 153 echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \
154 $(patsubst %.html,%,$(notdir $@))</a><p>' > $@ 154 $(patsubst %.html,%,$(notdir $@))</a><p>' > $@
diff --git a/Documentation/DocBook/deviceiobook.tmpl b/Documentation/DocBook/deviceiobook.tmpl
index 9ee6f3cbb414..3ed88126ab8f 100644
--- a/Documentation/DocBook/deviceiobook.tmpl
+++ b/Documentation/DocBook/deviceiobook.tmpl
@@ -24,7 +24,7 @@
24 <surname>Cox</surname> 24 <surname>Cox</surname>
25 <affiliation> 25 <affiliation>
26 <address> 26 <address>
27 <email>alan@redhat.com</email> 27 <email>alan@lxorguk.ukuu.org.uk</email>
28 </address> 28 </address>
29 </affiliation> 29 </affiliation>
30 </author> 30 </author>
@@ -316,7 +316,7 @@ CPU B: spin_unlock_irqrestore(&amp;dev_lock, flags)
316 316
317 <chapter id="pubfunctions"> 317 <chapter id="pubfunctions">
318 <title>Public Functions Provided</title> 318 <title>Public Functions Provided</title>
319!Iinclude/asm-x86/io_32.h 319!Iarch/x86/include/asm/io_32.h
320!Elib/iomap.c 320!Elib/iomap.c
321 </chapter> 321 </chapter>
322 322
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl
index 9d0058e788e5..5818ff75786a 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -45,8 +45,8 @@
45 </sect1> 45 </sect1>
46 46
47 <sect1><title>Atomic and pointer manipulation</title> 47 <sect1><title>Atomic and pointer manipulation</title>
48!Iinclude/asm-x86/atomic_32.h 48!Iarch/x86/include/asm/atomic_32.h
49!Iinclude/asm-x86/unaligned.h 49!Iarch/x86/include/asm/unaligned.h
50 </sect1> 50 </sect1>
51 51
52 <sect1><title>Delaying, scheduling, and timer routines</title> 52 <sect1><title>Delaying, scheduling, and timer routines</title>
@@ -119,7 +119,7 @@ X!Ilib/string.c
119!Elib/string.c 119!Elib/string.c
120 </sect1> 120 </sect1>
121 <sect1><title>Bit Operations</title> 121 <sect1><title>Bit Operations</title>
122!Iinclude/asm-x86/bitops.h 122!Iarch/x86/include/asm/bitops.h
123 </sect1> 123 </sect1>
124 </chapter> 124 </chapter>
125 125
@@ -155,7 +155,7 @@ X!Ilib/string.c
155!Emm/slab.c 155!Emm/slab.c
156 </sect1> 156 </sect1>
157 <sect1><title>User Space Memory Access</title> 157 <sect1><title>User Space Memory Access</title>
158!Iinclude/asm-x86/uaccess_32.h 158!Iarch/x86/include/asm/uaccess_32.h
159!Earch/x86/lib/usercopy_32.c 159!Earch/x86/lib/usercopy_32.c
160 </sect1> 160 </sect1>
161 <sect1><title>More Memory Management Functions</title> 161 <sect1><title>More Memory Management Functions</title>
@@ -265,7 +265,7 @@ X!Earch/x86/kernel/mca_32.c
265--> 265-->
266 </sect2> 266 </sect2>
267 <sect2><title>MCA Bus DMA</title> 267 <sect2><title>MCA Bus DMA</title>
268!Iinclude/asm-x86/mca_dma.h 268!Iarch/x86/include/asm/mca_dma.h
269 </sect2> 269 </sect2>
270 </sect1> 270 </sect1>
271 </chapter> 271 </chapter>
diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl
index ae15d55350ec..a50d6cd58573 100644
--- a/Documentation/DocBook/kernel-hacking.tmpl
+++ b/Documentation/DocBook/kernel-hacking.tmpl
@@ -1239,7 +1239,7 @@ static struct block_device_operations opt_fops = {
1239 </para> 1239 </para>
1240 1240
1241 <para> 1241 <para>
1242 <filename>include/asm-x86/delay_32.h:</filename> 1242 <filename>arch/x86/include/asm/delay.h:</filename>
1243 </para> 1243 </para>
1244 <programlisting> 1244 <programlisting>
1245#define ndelay(n) (__builtin_constant_p(n) ? \ 1245#define ndelay(n) (__builtin_constant_p(n) ? \
@@ -1265,7 +1265,7 @@ static struct block_device_operations opt_fops = {
1265</programlisting> 1265</programlisting>
1266 1266
1267 <para> 1267 <para>
1268 <filename>include/asm-x86/uaccess_32.h:</filename> 1268 <filename>arch/x86/include/asm/uaccess_32.h:</filename>
1269 </para> 1269 </para>
1270 1270
1271 <programlisting> 1271 <programlisting>
diff --git a/Documentation/DocBook/mcabook.tmpl b/Documentation/DocBook/mcabook.tmpl
index 529a53dc1389..467ccac6ec50 100644
--- a/Documentation/DocBook/mcabook.tmpl
+++ b/Documentation/DocBook/mcabook.tmpl
@@ -12,7 +12,7 @@
12 <surname>Cox</surname> 12 <surname>Cox</surname>
13 <affiliation> 13 <affiliation>
14 <address> 14 <address>
15 <email>alan@redhat.com</email> 15 <email>alan@lxorguk.ukuu.org.uk</email>
16 </address> 16 </address>
17 </affiliation> 17 </affiliation>
18 </author> 18 </author>
@@ -101,7 +101,7 @@
101 101
102 <chapter id="dmafunctions"> 102 <chapter id="dmafunctions">
103 <title>DMA Functions Provided</title> 103 <title>DMA Functions Provided</title>
104!Iinclude/asm-x86/mca_dma.h 104!Iarch/x86/include/asm/mca_dma.h
105 </chapter> 105 </chapter>
106 106
107</book> 107</book>
diff --git a/Documentation/DocBook/wanbook.tmpl b/Documentation/DocBook/wanbook.tmpl
index 9eebcc304de4..8c93db122f04 100644
--- a/Documentation/DocBook/wanbook.tmpl
+++ b/Documentation/DocBook/wanbook.tmpl
@@ -12,7 +12,7 @@
12 <surname>Cox</surname> 12 <surname>Cox</surname>
13 <affiliation> 13 <affiliation>
14 <address> 14 <address>
15 <email>alan@redhat.com</email> 15 <email>alan@lxorguk.ukuu.org.uk</email>
16 </address> 16 </address>
17 </affiliation> 17 </affiliation>
18 </author> 18 </author>
diff --git a/Documentation/DocBook/z8530book.tmpl b/Documentation/DocBook/z8530book.tmpl
index a42a8a4c7689..6f3883be877e 100644
--- a/Documentation/DocBook/z8530book.tmpl
+++ b/Documentation/DocBook/z8530book.tmpl
@@ -12,7 +12,7 @@
12 <surname>Cox</surname> 12 <surname>Cox</surname>
13 <affiliation> 13 <affiliation>
14 <address> 14 <address>
15 <email>alan@redhat.com</email> 15 <email>alan@lxorguk.ukuu.org.uk</email>
16 </address> 16 </address>
17 </affiliation> 17 </affiliation>
18 </author> 18 </author>
diff --git a/Documentation/ManagementStyle b/Documentation/ManagementStyle
index 49a8efa5afeb..a5f0ea58c788 100644
--- a/Documentation/ManagementStyle
+++ b/Documentation/ManagementStyle
@@ -17,7 +17,7 @@ companies. If you sign purchase orders or you have any clue about the
17budget of your group, you're almost certainly not a kernel manager. 17budget of your group, you're almost certainly not a kernel manager.
18These suggestions may or may not apply to you. 18These suggestions may or may not apply to you.
19 19
20First off, I'd suggest buying "Seven Habits of Highly Successful 20First off, I'd suggest buying "Seven Habits of Highly Effective
21People", and NOT read it. Burn it, it's a great symbolic gesture. 21People", and NOT read it. Burn it, it's a great symbolic gesture.
22 22
23(*) This document does so not so much by answering the question, but by 23(*) This document does so not so much by answering the question, but by
diff --git a/Documentation/accounting/.gitignore b/Documentation/accounting/.gitignore
new file mode 100644
index 000000000000..86485203c4ae
--- /dev/null
+++ b/Documentation/accounting/.gitignore
@@ -0,0 +1 @@
getdelays
diff --git a/Documentation/arm/empeg/README b/Documentation/arm/empeg/README
deleted file mode 100644
index 09cc8d03ae58..000000000000
--- a/Documentation/arm/empeg/README
+++ /dev/null
@@ -1,13 +0,0 @@
1Empeg, Ltd's Empeg MP3 Car Audio Player
2
3The initial design is to go in your car, but you can use it at home, on a
4boat... almost anywhere. The principle is to store CD-quality music using
5MPEG technology onto a hard disk in the unit, and use the power of the
6embedded computer to serve up the music you want.
7
8For more details, see:
9
10 http://www.empeg.com
11
12
13
diff --git a/Documentation/arm/empeg/ir.txt b/Documentation/arm/empeg/ir.txt
deleted file mode 100644
index 10a297450164..000000000000
--- a/Documentation/arm/empeg/ir.txt
+++ /dev/null
@@ -1,49 +0,0 @@
1Infra-red driver documentation.
2
3Mike Crowe <mac@empeg.com>
4(C) Empeg Ltd 1999
5
6Not a lot here yet :-)
7
8The Kenwood KCA-R6A remote control generates a sequence like the following:
9
10Go low for approx 16T (Around 9000us)
11Go high for approx 8T (Around 4000us)
12Go low for less than 2T (Around 750us)
13
14For each of the 32 bits
15 Go high for more than 2T (Around 1500us) == 1
16 Go high for less than T (Around 400us) == 0
17 Go low for less than 2T (Around 750us)
18
19Rather than repeat a signal when the button is held down certain buttons
20generate the following code to indicate repetition.
21
22Go low for approx 16T
23Go high for approx 4T
24Go low for less than 2T
25
26(By removing the <2T from the start of the sequence and placing at the end
27 it can be considered a stop bit but I found it easier to deal with it at
28 the start).
29
30The 32 bits are encoded as XxYy where x and y are the actual data values
31while X and Y are the logical inverses of the associated data values. Using
32LSB first yields sensible codes for the numbers.
33
34All codes are of the form b9xx
35
36The numeric keys generate the code 0x where x is the number pressed.
37
38Tuner 1c
39Tape 1d
40CD 1e
41CD-MD-CH 1f
42Track- 0a
43Track+ 0b
44Rewind 0c
45FF 0d
46DNPP 5e
47Play/Pause 0e
48Vol+ 14
49Vol- 15
diff --git a/Documentation/arm/empeg/mkdevs b/Documentation/arm/empeg/mkdevs
deleted file mode 100644
index 7a85e28d14f3..000000000000
--- a/Documentation/arm/empeg/mkdevs
+++ /dev/null
@@ -1,11 +0,0 @@
1#!/bin/sh
2mknod /dev/display c 244 0
3mknod /dev/ir c 242 0
4mknod /dev/usb0 c 243 0
5mknod /dev/audio c 245 4
6mknod /dev/dsp c 245 3
7mknod /dev/mixer c 245 0
8mknod /dev/empeg_state c 246 0
9mknod /dev/radio0 c 81 64
10ln -sf radio0 radio
11ln -sf usb0 usb
diff --git a/Documentation/auxdisplay/.gitignore b/Documentation/auxdisplay/.gitignore
new file mode 100644
index 000000000000..7af222860a96
--- /dev/null
+++ b/Documentation/auxdisplay/.gitignore
@@ -0,0 +1 @@
cfag12864b-example
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt
index 8244c6442faa..89698e8df7d4 100644
--- a/Documentation/cciss.txt
+++ b/Documentation/cciss.txt
@@ -21,11 +21,14 @@ This driver is known to work with the following cards:
21 * SA E200 21 * SA E200
22 * SA E200i 22 * SA E200i
23 * SA E500 23 * SA E500
24 * SA P700m
24 * SA P212 25 * SA P212
25 * SA P410 26 * SA P410
26 * SA P410i 27 * SA P410i
27 * SA P411 28 * SA P411
28 * SA P812 29 * SA P812
30 * SA P712m
31 * SA P711m
29 32
30Detecting drive failures: 33Detecting drive failures:
31------------------------- 34-------------------------
diff --git a/Documentation/connector/.gitignore b/Documentation/connector/.gitignore
new file mode 100644
index 000000000000..d2b9c32accd4
--- /dev/null
+++ b/Documentation/connector/.gitignore
@@ -0,0 +1 @@
ucon
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt
index 2ebb94d6ed8e..a618efab7b15 100644
--- a/Documentation/email-clients.txt
+++ b/Documentation/email-clients.txt
@@ -213,4 +213,29 @@ TkRat (GUI)
213 213
214Works. Use "Insert file..." or external editor. 214Works. Use "Insert file..." or external editor.
215 215
216~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217Gmail (Web GUI)
218
219If you just have to use Gmail to send patches, it CAN be made to work. It
220requires a bit of external help, though.
221
222The first problem is that Gmail converts tabs to spaces. This will
223totally break your patches. To prevent this, you have to use a different
224editor. There is a firefox extension called "ViewSourceWith"
225(https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to
226edit any text box in the editor of your choice. Configure it to launch
227your favorite editor. When you want to send a patch, use this technique.
228Once you have crafted your messsage + patch, save and exit the editor,
229which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS.
230Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will
231convert those to spaces upon sending!
232
233The second problem is that Gmail converts tabs to spaces on replies. If
234you reply to a patch, don't expect to be able to apply it as a patch.
235
236The last problem is that Gmail will base64-encode any message that has a
237non-ASCII character. That includes things like European names. Be aware.
238
239Gmail is not convenient for lkml patches, but CAN be made to work.
240
216 ### 241 ###
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 05d71b4b9430..c28a2ac88f9d 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -56,30 +56,6 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org>
56 56
57--------------------------- 57---------------------------
58 58
59What: old tuner-3036 i2c driver
60When: 2.6.28
61Why: This driver is for VERY old i2c-over-parallel port teletext receiver
62 boxes. Rather then spending effort on converting this driver to V4L2,
63 and since it is extremely unlikely that anyone still uses one of these
64 devices, it was decided to drop it.
65Who: Hans Verkuil <hverkuil@xs4all.nl>
66 Mauro Carvalho Chehab <mchehab@infradead.org>
67
68 ---------------------------
69
70What: V4L2 dpc7146 driver
71When: 2.6.28
72Why: Old driver for the dpc7146 demonstration board that is no longer
73 relevant. The last time this was tested on actual hardware was
74 probably around 2002. Since this is a driver for a demonstration
75 board the decision was made to remove it rather than spending a
76 lot of effort continually updating this driver to stay in sync
77 with the latest internal V4L2 or I2C API.
78Who: Hans Verkuil <hverkuil@xs4all.nl>
79 Mauro Carvalho Chehab <mchehab@infradead.org>
80
81---------------------------
82
83What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) 59What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
84When: November 2005 60When: November 2005
85Files: drivers/pcmcia/: pcmcia_ioctl.c 61Files: drivers/pcmcia/: pcmcia_ioctl.c
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 8362860e21a7..23d2f4460deb 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -161,8 +161,12 @@ prototypes:
161 int (*set_page_dirty)(struct page *page); 161 int (*set_page_dirty)(struct page *page);
162 int (*readpages)(struct file *filp, struct address_space *mapping, 162 int (*readpages)(struct file *filp, struct address_space *mapping,
163 struct list_head *pages, unsigned nr_pages); 163 struct list_head *pages, unsigned nr_pages);
164 int (*prepare_write)(struct file *, struct page *, unsigned, unsigned); 164 int (*write_begin)(struct file *, struct address_space *mapping,
165 int (*commit_write)(struct file *, struct page *, unsigned, unsigned); 165 loff_t pos, unsigned len, unsigned flags,
166 struct page **pagep, void **fsdata);
167 int (*write_end)(struct file *, struct address_space *mapping,
168 loff_t pos, unsigned len, unsigned copied,
169 struct page *page, void *fsdata);
166 sector_t (*bmap)(struct address_space *, sector_t); 170 sector_t (*bmap)(struct address_space *, sector_t);
167 int (*invalidatepage) (struct page *, unsigned long); 171 int (*invalidatepage) (struct page *, unsigned long);
168 int (*releasepage) (struct page *, int); 172 int (*releasepage) (struct page *, int);
@@ -180,8 +184,6 @@ sync_page: no maybe
180writepages: no 184writepages: no
181set_page_dirty no no 185set_page_dirty no no
182readpages: no 186readpages: no
183prepare_write: no yes yes
184commit_write: no yes yes
185write_begin: no locks the page yes 187write_begin: no locks the page yes
186write_end: no yes, unlocks yes 188write_end: no yes, unlocks yes
187perform_write: no n/a yes 189perform_write: no n/a yes
@@ -191,7 +193,7 @@ releasepage: no yes
191direct_IO: no 193direct_IO: no
192launder_page: no yes 194launder_page: no yes
193 195
194 ->prepare_write(), ->commit_write(), ->sync_page() and ->readpage() 196 ->write_begin(), ->write_end(), ->sync_page() and ->readpage()
195may be called from the request handler (/dev/loop). 197may be called from the request handler (/dev/loop).
196 198
197 ->readpage() unlocks the page, either synchronously or via I/O 199 ->readpage() unlocks the page, either synchronously or via I/O
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt
index bbac4f1d9056..3a5ddc96901a 100644
--- a/Documentation/filesystems/vfat.txt
+++ b/Documentation/filesystems/vfat.txt
@@ -8,6 +8,12 @@ if you want to format from within Linux.
8 8
9VFAT MOUNT OPTIONS 9VFAT MOUNT OPTIONS
10---------------------------------------------------------------------- 10----------------------------------------------------------------------
11uid=### -- Set the owner of all files on this filesystem.
12 The default is the uid of current process.
13
14gid=### -- Set the group of all files on this filesystem.
15 The default is the gid of current process.
16
11umask=### -- The permission mask (for files and directories, see umask(1)). 17umask=### -- The permission mask (for files and directories, see umask(1)).
12 The default is the umask of current process. 18 The default is the umask of current process.
13 19
@@ -36,7 +42,7 @@ codepage=### -- Sets the codepage number for converting to shortname
36 characters on FAT filesystem. 42 characters on FAT filesystem.
37 By default, FAT_DEFAULT_CODEPAGE setting is used. 43 By default, FAT_DEFAULT_CODEPAGE setting is used.
38 44
39iocharset=name -- Character set to use for converting between the 45iocharset=<name> -- Character set to use for converting between the
40 encoding is used for user visible filename and 16 bit 46 encoding is used for user visible filename and 16 bit
41 Unicode characters. Long filenames are stored on disk 47 Unicode characters. Long filenames are stored on disk
42 in Unicode format, but Unix for the most part doesn't 48 in Unicode format, but Unix for the most part doesn't
@@ -86,6 +92,8 @@ check=s|r|n -- Case sensitivity checking setting.
86 r: relaxed, case insensitive 92 r: relaxed, case insensitive
87 n: normal, default setting, currently case insensitive 93 n: normal, default setting, currently case insensitive
88 94
95nocase -- This was deprecated for vfat. Use shortname=win95 instead.
96
89shortname=lower|win95|winnt|mixed 97shortname=lower|win95|winnt|mixed
90 -- Shortname display/create setting. 98 -- Shortname display/create setting.
91 lower: convert to lowercase for display, 99 lower: convert to lowercase for display,
@@ -99,11 +107,31 @@ shortname=lower|win95|winnt|mixed
99tz=UTC -- Interpret timestamps as UTC rather than local time. 107tz=UTC -- Interpret timestamps as UTC rather than local time.
100 This option disables the conversion of timestamps 108 This option disables the conversion of timestamps
101 between local time (as used by Windows on FAT) and UTC 109 between local time (as used by Windows on FAT) and UTC
102 (which Linux uses internally). This is particuluarly 110 (which Linux uses internally). This is particularly
103 useful when mounting devices (like digital cameras) 111 useful when mounting devices (like digital cameras)
104 that are set to UTC in order to avoid the pitfalls of 112 that are set to UTC in order to avoid the pitfalls of
105 local time. 113 local time.
106 114
115showexec -- If set, the execute permission bits of the file will be
116 allowed only if the extension part of the name is .EXE,
117 .COM, or .BAT. Not set by default.
118
119debug -- Can be set, but unused by the current implementation.
120
121sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as
122 IMMUTABLE flag on Linux. Not set by default.
123
124flush -- If set, the filesystem will try to flush to disk more
125 early than normal. Not set by default.
126
127rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows,
128 the ATTR_RO of the directory will be just ignored actually,
129 and is used by only applications as flag. E.g. it's setted
130 for the customized folder.
131
132 If you want to use ATTR_RO as read-only flag even for
133 the directory, set this option.
134
107<bool>: 0,1,yes,no,true,false 135<bool>: 0,1,yes,no,true,false
108 136
109TODO 137TODO
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index c4d348dabe94..5579bda58a6d 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -492,7 +492,7 @@ written-back to storage typically in whole pages, however the
492address_space has finer control of write sizes. 492address_space has finer control of write sizes.
493 493
494The read process essentially only requires 'readpage'. The write 494The read process essentially only requires 'readpage'. The write
495process is more complicated and uses prepare_write/commit_write or 495process is more complicated and uses write_begin/write_end or
496set_page_dirty to write data into the address_space, and writepage, 496set_page_dirty to write data into the address_space, and writepage,
497sync_page, and writepages to writeback data to storage. 497sync_page, and writepages to writeback data to storage.
498 498
@@ -521,8 +521,6 @@ struct address_space_operations {
521 int (*set_page_dirty)(struct page *page); 521 int (*set_page_dirty)(struct page *page);
522 int (*readpages)(struct file *filp, struct address_space *mapping, 522 int (*readpages)(struct file *filp, struct address_space *mapping,
523 struct list_head *pages, unsigned nr_pages); 523 struct list_head *pages, unsigned nr_pages);
524 int (*prepare_write)(struct file *, struct page *, unsigned, unsigned);
525 int (*commit_write)(struct file *, struct page *, unsigned, unsigned);
526 int (*write_begin)(struct file *, struct address_space *mapping, 524 int (*write_begin)(struct file *, struct address_space *mapping,
527 loff_t pos, unsigned len, unsigned flags, 525 loff_t pos, unsigned len, unsigned flags,
528 struct page **pagep, void **fsdata); 526 struct page **pagep, void **fsdata);
@@ -598,37 +596,7 @@ struct address_space_operations {
598 readpages is only used for read-ahead, so read errors are 596 readpages is only used for read-ahead, so read errors are
599 ignored. If anything goes wrong, feel free to give up. 597 ignored. If anything goes wrong, feel free to give up.
600 598
601 prepare_write: called by the generic write path in VM to set up a write 599 write_begin:
602 request for a page. This indicates to the address space that
603 the given range of bytes is about to be written. The
604 address_space should check that the write will be able to
605 complete, by allocating space if necessary and doing any other
606 internal housekeeping. If the write will update parts of
607 any basic-blocks on storage, then those blocks should be
608 pre-read (if they haven't been read already) so that the
609 updated blocks can be written out properly.
610 The page will be locked.
611
612 Note: the page _must not_ be marked uptodate in this function
613 (or anywhere else) unless it actually is uptodate right now. As
614 soon as a page is marked uptodate, it is possible for a concurrent
615 read(2) to copy it to userspace.
616
617 commit_write: If prepare_write succeeds, new data will be copied
618 into the page and then commit_write will be called. It will
619 typically update the size of the file (if appropriate) and
620 mark the inode as dirty, and do any other related housekeeping
621 operations. It should avoid returning an error if possible -
622 errors should have been handled by prepare_write.
623
624 write_begin: This is intended as a replacement for prepare_write. The
625 key differences being that:
626 - it returns a locked page (in *pagep) rather than being
627 given a pre locked page;
628 - it must be able to cope with short writes (where the
629 length passed to write_begin is greater than the number
630 of bytes copied into the page).
631
632 Called by the generic buffered write code to ask the filesystem to 600 Called by the generic buffered write code to ask the filesystem to
633 prepare to write len bytes at the given offset in the file. The 601 prepare to write len bytes at the given offset in the file. The
634 address_space should check that the write will be able to complete, 602 address_space should check that the write will be able to complete,
@@ -640,6 +608,9 @@ struct address_space_operations {
640 The filesystem must return the locked pagecache page for the specified 608 The filesystem must return the locked pagecache page for the specified
641 offset, in *pagep, for the caller to write into. 609 offset, in *pagep, for the caller to write into.
642 610
611 It must be able to cope with short writes (where the length passed to
612 write_begin is greater than the number of bytes copied into the page).
613
643 flags is a field for AOP_FLAG_xxx flags, described in 614 flags is a field for AOP_FLAG_xxx flags, described in
644 include/linux/fs.h. 615 include/linux/fs.h.
645 616
diff --git a/Documentation/ftrace.txt b/Documentation/ftrace.txt
index d330fe3103da..9cc4d685dde5 100644
--- a/Documentation/ftrace.txt
+++ b/Documentation/ftrace.txt
@@ -8,7 +8,7 @@ Copyright 2008 Red Hat Inc.
8Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton, 8Reviewers: Elias Oltmanns, Randy Dunlap, Andrew Morton,
9 John Kacur, and David Teigland. 9 John Kacur, and David Teigland.
10 10
11Written for: 2.6.27-rc1 11Written for: 2.6.28-rc2
12 12
13Introduction 13Introduction
14------------ 14------------
@@ -50,26 +50,26 @@ of ftrace. Here is a list of some of the key files:
50 50
51 Note: all time values are in microseconds. 51 Note: all time values are in microseconds.
52 52
53 current_tracer : This is used to set or display the current tracer 53 current_tracer: This is used to set or display the current tracer
54 that is configured. 54 that is configured.
55 55
56 available_tracers : This holds the different types of tracers that 56 available_tracers: This holds the different types of tracers that
57 have been compiled into the kernel. The tracers 57 have been compiled into the kernel. The tracers
58 listed here can be configured by echoing their name 58 listed here can be configured by echoing their name
59 into current_tracer. 59 into current_tracer.
60 60
61 tracing_enabled : This sets or displays whether the current_tracer 61 tracing_enabled: This sets or displays whether the current_tracer
62 is activated and tracing or not. Echo 0 into this 62 is activated and tracing or not. Echo 0 into this
63 file to disable the tracer or 1 to enable it. 63 file to disable the tracer or 1 to enable it.
64 64
65 trace : This file holds the output of the trace in a human readable 65 trace: This file holds the output of the trace in a human readable
66 format (described below). 66 format (described below).
67 67
68 latency_trace : This file shows the same trace but the information 68 latency_trace: This file shows the same trace but the information
69 is organized more to display possible latencies 69 is organized more to display possible latencies
70 in the system (described below). 70 in the system (described below).
71 71
72 trace_pipe : The output is the same as the "trace" file but this 72 trace_pipe: The output is the same as the "trace" file but this
73 file is meant to be streamed with live tracing. 73 file is meant to be streamed with live tracing.
74 Reads from this file will block until new data 74 Reads from this file will block until new data
75 is retrieved. Unlike the "trace" and "latency_trace" 75 is retrieved. Unlike the "trace" and "latency_trace"
@@ -82,11 +82,11 @@ of ftrace. Here is a list of some of the key files:
82 tracer is not adding more data, they will display 82 tracer is not adding more data, they will display
83 the same information every time they are read. 83 the same information every time they are read.
84 84
85 iter_ctrl : This file lets the user control the amount of data 85 iter_ctrl: This file lets the user control the amount of data
86 that is displayed in one of the above output 86 that is displayed in one of the above output
87 files. 87 files.
88 88
89 trace_max_latency : Some of the tracers record the max latency. 89 trace_max_latency: Some of the tracers record the max latency.
90 For example, the time interrupts are disabled. 90 For example, the time interrupts are disabled.
91 This time is saved in this file. The max trace 91 This time is saved in this file. The max trace
92 will also be stored, and displayed by either 92 will also be stored, and displayed by either
@@ -94,29 +94,26 @@ of ftrace. Here is a list of some of the key files:
94 only be recorded if the latency is greater than 94 only be recorded if the latency is greater than
95 the value in this file. (in microseconds) 95 the value in this file. (in microseconds)
96 96
97 trace_entries : This sets or displays the number of trace 97 trace_entries: This sets or displays the number of bytes each CPU
98 entries each CPU buffer can hold. The tracer buffers 98 buffer can hold. The tracer buffers are the same size
99 are the same size for each CPU. The displayed number 99 for each CPU. The displayed number is the size of the
100 is the size of the CPU buffer and not total size. The 100 CPU buffer and not total size of all buffers. The
101 trace buffers are allocated in pages (blocks of memory 101 trace buffers are allocated in pages (blocks of memory
102 that the kernel uses for allocation, usually 4 KB in size). 102 that the kernel uses for allocation, usually 4 KB in size).
103 Since each entry is smaller than a page, if the last 103 If the last page allocated has room for more bytes
104 allocated page has room for more entries than were 104 than requested, the rest of the page will be used,
105 requested, the rest of the page is used to allocate 105 making the actual allocation bigger than requested.
106 entries. 106 (Note, the size may not be a multiple of the page size due
107 to buffer managment overhead.)
107 108
108 This can only be updated when the current_tracer 109 This can only be updated when the current_tracer
109 is set to "none". 110 is set to "nop".
110 111
111 NOTE: It is planned on changing the allocated buffers 112 tracing_cpumask: This is a mask that lets the user only trace
112 from being the number of possible CPUS to
113 the number of online CPUS.
114
115 tracing_cpumask : This is a mask that lets the user only trace
116 on specified CPUS. The format is a hex string 113 on specified CPUS. The format is a hex string
117 representing the CPUS. 114 representing the CPUS.
118 115
119 set_ftrace_filter : When dynamic ftrace is configured in (see the 116 set_ftrace_filter: When dynamic ftrace is configured in (see the
120 section below "dynamic ftrace"), the code is dynamically 117 section below "dynamic ftrace"), the code is dynamically
121 modified (code text rewrite) to disable calling of the 118 modified (code text rewrite) to disable calling of the
122 function profiler (mcount). This lets tracing be configured 119 function profiler (mcount). This lets tracing be configured
@@ -130,14 +127,11 @@ of ftrace. Here is a list of some of the key files:
130 be traced. If a function exists in both set_ftrace_filter 127 be traced. If a function exists in both set_ftrace_filter
131 and set_ftrace_notrace, the function will _not_ be traced. 128 and set_ftrace_notrace, the function will _not_ be traced.
132 129
133 available_filter_functions : When a function is encountered the first 130 available_filter_functions: This lists the functions that ftrace
134 time by the dynamic tracer, it is recorded and 131 has processed and can trace. These are the function
135 later the call is converted into a nop. This file 132 names that you can pass to "set_ftrace_filter" or
136 lists the functions that have been recorded 133 "set_ftrace_notrace". (See the section "dynamic ftrace"
137 by the dynamic tracer and these functions can 134 below for more details.)
138 be used to set the ftrace filter by the above
139 "set_ftrace_filter" file. (See the section "dynamic ftrace"
140 below for more details).
141 135
142 136
143The Tracers 137The Tracers
@@ -145,7 +139,7 @@ The Tracers
145 139
146Here is the list of current tracers that may be configured. 140Here is the list of current tracers that may be configured.
147 141
148 ftrace - function tracer that uses mcount to trace all functions. 142 function - function tracer that uses mcount to trace all functions.
149 143
150 sched_switch - traces the context switches between tasks. 144 sched_switch - traces the context switches between tasks.
151 145
@@ -166,8 +160,8 @@ Here is the list of current tracers that may be configured.
166 the highest priority task to get scheduled after 160 the highest priority task to get scheduled after
167 it has been woken up. 161 it has been woken up.
168 162
169 none - This is not a tracer. To remove all tracers from tracing 163 nop - This is not a tracer. To remove all tracers from tracing
170 simply echo "none" into current_tracer. 164 simply echo "nop" into current_tracer.
171 165
172 166
173Examples of using the tracer 167Examples of using the tracer
@@ -182,7 +176,7 @@ Output format:
182Here is an example of the output format of the file "trace" 176Here is an example of the output format of the file "trace"
183 177
184 -------- 178 --------
185# tracer: ftrace 179# tracer: function
186# 180#
187# TASK-PID CPU# TIMESTAMP FUNCTION 181# TASK-PID CPU# TIMESTAMP FUNCTION
188# | | | | | 182# | | | | |
@@ -192,7 +186,7 @@ Here is an example of the output format of the file "trace"
192 -------- 186 --------
193 187
194A header is printed with the tracer name that is represented by the trace. 188A header is printed with the tracer name that is represented by the trace.
195In this case the tracer is "ftrace". Then a header showing the format. Task 189In this case the tracer is "function". Then a header showing the format. Task
196name "bash", the task PID "4251", the CPU that it was running on 190name "bash", the task PID "4251", the CPU that it was running on
197"01", the timestamp in <secs>.<usecs> format, the function name that was 191"01", the timestamp in <secs>.<usecs> format, the function name that was
198traced "path_put" and the parent function that called this function 192traced "path_put" and the parent function that called this function
@@ -291,6 +285,9 @@ explains which is which.
291 CPU#: The CPU which the process was running on. 285 CPU#: The CPU which the process was running on.
292 286
293 irqs-off: 'd' interrupts are disabled. '.' otherwise. 287 irqs-off: 'd' interrupts are disabled. '.' otherwise.
288 Note: If the architecture does not support a way to
289 read the irq flags variable, an 'X' will always
290 be printed here.
294 291
295 need-resched: 'N' task need_resched is set, '.' otherwise. 292 need-resched: 'N' task need_resched is set, '.' otherwise.
296 293
@@ -1000,22 +997,20 @@ is the stack for the hard interrupt. This hides the fact that NEED_RESCHED
1000has been set. We do not see the 'N' until we switch back to the task's 997has been set. We do not see the 'N' until we switch back to the task's
1001assigned stack. 998assigned stack.
1002 999
1003ftrace 1000function
1004------ 1001--------
1005 1002
1006ftrace is not only the name of the tracing infrastructure, but it 1003This tracer is the function tracer. Enabling the function tracer
1007is also a name of one of the tracers. The tracer is the function 1004can be done from the debug file system. Make sure the ftrace_enabled is
1008tracer. Enabling the function tracer can be done from the 1005set; otherwise this tracer is a nop.
1009debug file system. Make sure the ftrace_enabled is set otherwise
1010this tracer is a nop.
1011 1006
1012 # sysctl kernel.ftrace_enabled=1 1007 # sysctl kernel.ftrace_enabled=1
1013 # echo ftrace > /debug/tracing/current_tracer 1008 # echo function > /debug/tracing/current_tracer
1014 # echo 1 > /debug/tracing/tracing_enabled 1009 # echo 1 > /debug/tracing/tracing_enabled
1015 # usleep 1 1010 # usleep 1
1016 # echo 0 > /debug/tracing/tracing_enabled 1011 # echo 0 > /debug/tracing/tracing_enabled
1017 # cat /debug/tracing/trace 1012 # cat /debug/tracing/trace
1018# tracer: ftrace 1013# tracer: function
1019# 1014#
1020# TASK-PID CPU# TIMESTAMP FUNCTION 1015# TASK-PID CPU# TIMESTAMP FUNCTION
1021# | | | | | 1016# | | | | |
@@ -1037,10 +1032,10 @@ this tracer is a nop.
1037[...] 1032[...]
1038 1033
1039 1034
1040Note: ftrace uses ring buffers to store the above entries. The newest data 1035Note: function tracer uses ring buffers to store the above entries.
1041may overwrite the oldest data. Sometimes using echo to stop the trace 1036The newest data may overwrite the oldest data. Sometimes using echo to
1042is not sufficient because the tracing could have overwritten the data 1037stop the trace is not sufficient because the tracing could have overwritten
1043that you wanted to record. For this reason, it is sometimes better to 1038the data that you wanted to record. For this reason, it is sometimes better to
1044disable tracing directly from a program. This allows you to stop the 1039disable tracing directly from a program. This allows you to stop the
1045tracing at the point that you hit the part that you are interested in. 1040tracing at the point that you hit the part that you are interested in.
1046To disable the tracing directly from a C program, something like following 1041To disable the tracing directly from a C program, something like following
@@ -1074,18 +1069,31 @@ every kernel function, produced by the -pg switch in gcc), starts
1074of pointing to a simple return. (Enabling FTRACE will include the 1069of pointing to a simple return. (Enabling FTRACE will include the
1075-pg switch in the compiling of the kernel.) 1070-pg switch in the compiling of the kernel.)
1076 1071
1077When dynamic ftrace is initialized, it calls kstop_machine to make 1072At compile time every C file object is run through the
1078the machine act like a uniprocessor so that it can freely modify code 1073recordmcount.pl script (located in the scripts directory). This
1079without worrying about other processors executing that same code. At 1074script will process the C object using objdump to find all the
1080initialization, the mcount calls are changed to call a "record_ip" 1075locations in the .text section that call mcount. (Note, only
1081function. After this, the first time a kernel function is called, 1076the .text section is processed, since processing other sections
1082it has the calling address saved in a hash table. 1077like .init.text may cause races due to those sections being freed).
1083 1078
1084Later on the ftraced kernel thread is awoken and will again call 1079A new section called "__mcount_loc" is created that holds references
1085kstop_machine if new functions have been recorded. The ftraced thread 1080to all the mcount call sites in the .text section. This section is
1086will change all calls to mcount to "nop". Just calling mcount 1081compiled back into the original object. The final linker will add
1087and having mcount return has shown a 10% overhead. By converting 1082all these references into a single table.
1088it to a nop, there is no measurable overhead to the system. 1083
1084On boot up, before SMP is initialized, the dynamic ftrace code
1085scans this table and updates all the locations into nops. It also
1086records the locations, which are added to the available_filter_functions
1087list. Modules are processed as they are loaded and before they are
1088executed. When a module is unloaded, it also removes its functions from
1089the ftrace function list. This is automatic in the module unload
1090code, and the module author does not need to worry about it.
1091
1092When tracing is enabled, kstop_machine is called to prevent races
1093with the CPUS executing code being modified (which can cause the
1094CPU to do undesireable things), and the nops are patched back
1095to calls. But this time, they do not call mcount (which is just
1096a function stub). They now call into the ftrace infrastructure.
1089 1097
1090One special side-effect to the recording of the functions being 1098One special side-effect to the recording of the functions being
1091traced is that we can now selectively choose which functions we 1099traced is that we can now selectively choose which functions we
@@ -1248,36 +1256,6 @@ Produces:
1248 1256
1249We can see that there's no more lock or preempt tracing. 1257We can see that there's no more lock or preempt tracing.
1250 1258
1251ftraced
1252-------
1253
1254As mentioned above, when dynamic ftrace is configured in, a kernel
1255thread wakes up once a second and checks to see if there are mcount
1256calls that need to be converted into nops. If there are not any, then
1257it simply goes back to sleep. But if there are some, it will call
1258kstop_machine to convert the calls to nops.
1259
1260There may be a case in which you do not want this added latency.
1261Perhaps you are doing some audio recording and this activity might
1262cause skips in the playback. There is an interface to disable
1263and enable the "ftraced" kernel thread.
1264
1265 # echo 0 > /debug/tracing/ftraced_enabled
1266
1267This will disable the calling of kstop_machine to update the
1268mcount calls to nops. Remember that there is a large overhead
1269to calling mcount. Without this kernel thread, that overhead will
1270exist.
1271
1272If there are recorded calls to mcount, any write to the ftraced_enabled
1273file will cause the kstop_machine to run. This means that a
1274user can manually perform the updates when they want to by simply
1275echoing a '0' into the ftraced_enabled file.
1276
1277The updates are also done at the beginning of enabling a tracer
1278that uses ftrace function recording.
1279
1280
1281trace_pipe 1259trace_pipe
1282---------- 1260----------
1283 1261
@@ -1286,14 +1264,14 @@ on the tracing is different. Every read from trace_pipe is consumed.
1286This means that subsequent reads will be different. The trace 1264This means that subsequent reads will be different. The trace
1287is live. 1265is live.
1288 1266
1289 # echo ftrace > /debug/tracing/current_tracer 1267 # echo function > /debug/tracing/current_tracer
1290 # cat /debug/tracing/trace_pipe > /tmp/trace.out & 1268 # cat /debug/tracing/trace_pipe > /tmp/trace.out &
1291[1] 4153 1269[1] 4153
1292 # echo 1 > /debug/tracing/tracing_enabled 1270 # echo 1 > /debug/tracing/tracing_enabled
1293 # usleep 1 1271 # usleep 1
1294 # echo 0 > /debug/tracing/tracing_enabled 1272 # echo 0 > /debug/tracing/tracing_enabled
1295 # cat /debug/tracing/trace 1273 # cat /debug/tracing/trace
1296# tracer: ftrace 1274# tracer: function
1297# 1275#
1298# TASK-PID CPU# TIMESTAMP FUNCTION 1276# TASK-PID CPU# TIMESTAMP FUNCTION
1299# | | | | | 1277# | | | | |
@@ -1314,7 +1292,7 @@ is live.
1314 1292
1315Note, reading the trace_pipe file will block until more input is added. 1293Note, reading the trace_pipe file will block until more input is added.
1316By changing the tracer, trace_pipe will issue an EOF. We needed 1294By changing the tracer, trace_pipe will issue an EOF. We needed
1317to set the ftrace tracer _before_ cating the trace_pipe file. 1295to set the function tracer _before_ we "cat" the trace_pipe file.
1318 1296
1319 1297
1320trace entries 1298trace entries
@@ -1331,10 +1309,10 @@ number of entries.
133165620 130965620
1332 1310
1333Note, to modify this, you must have tracing completely disabled. To do that, 1311Note, to modify this, you must have tracing completely disabled. To do that,
1334echo "none" into the current_tracer. If the current_tracer is not set 1312echo "nop" into the current_tracer. If the current_tracer is not set
1335to "none", an EINVAL error will be returned. 1313to "nop", an EINVAL error will be returned.
1336 1314
1337 # echo none > /debug/tracing/current_tracer 1315 # echo nop > /debug/tracing/current_tracer
1338 # echo 100000 > /debug/tracing/trace_entries 1316 # echo 100000 > /debug/tracing/trace_entries
1339 # cat /debug/tracing/trace_entries 1317 # cat /debug/tracing/trace_entries
1340100045 1318100045
diff --git a/Documentation/i2c/busses/i2c-sis96x b/Documentation/i2c/busses/i2c-sis96x
index 266481fd26e2..70e6a0cc1e15 100644
--- a/Documentation/i2c/busses/i2c-sis96x
+++ b/Documentation/i2c/busses/i2c-sis96x
@@ -42,7 +42,7 @@ I suspect that this driver could be made to work for the following SiS
42chipsets as well: 635, and 635T. If anyone owns a board with those chips 42chipsets as well: 635, and 635T. If anyone owns a board with those chips
43AND is willing to risk crashing & burning an otherwise well-behaved kernel 43AND is willing to risk crashing & burning an otherwise well-behaved kernel
44in the name of progress... please contact me at <mhoffman@lightlink.com> or 44in the name of progress... please contact me at <mhoffman@lightlink.com> or
45via the project's mailing list: <i2c@lm-sensors.org>. Please send bug 45via the linux-i2c mailing list: <linux-i2c@vger.kernel.org>. Please send bug
46reports and/or success stories as well. 46reports and/or success stories as well.
47 47
48 48
diff --git a/Documentation/ia64/.gitignore b/Documentation/ia64/.gitignore
new file mode 100644
index 000000000000..ab806edc8732
--- /dev/null
+++ b/Documentation/ia64/.gitignore
@@ -0,0 +1 @@
aliasing-test
diff --git a/Documentation/input/elantech.txt b/Documentation/input/elantech.txt
new file mode 100644
index 000000000000..a10c3b6ba7c4
--- /dev/null
+++ b/Documentation/input/elantech.txt
@@ -0,0 +1,405 @@
1Elantech Touchpad Driver
2========================
3
4 Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
5
6 Extra information for hardware version 1 found and
7 provided by Steve Havelka
8
9 Version 2 (EeePC) hardware support based on patches
10 received from Woody at Xandros and forwarded to me
11 by user StewieGriffin at the eeeuser.com forum
12
13
14Contents
15~~~~~~~~
16
17 1. Introduction
18 2. Extra knobs
19 3. Hardware version 1
20 3.1 Registers
21 3.2 Native relative mode 4 byte packet format
22 3.3 Native absolute mode 4 byte packet format
23 4. Hardware version 2
24 4.1 Registers
25 4.2 Native absolute mode 6 byte packet format
26 4.2.1 One finger touch
27 4.2.2 Two finger touch
28
29
30
311. Introduction
32 ~~~~~~~~~~~~
33
34Currently the Linux Elantech touchpad driver is aware of two different
35hardware versions unimaginatively called version 1 and version 2. Version 1
36is found in "older" laptops and uses 4 bytes per packet. Version 2 seems to
37be introduced with the EeePC and uses 6 bytes per packet.
38
39The driver tries to support both hardware versions and should be compatible
40with the Xorg Synaptics touchpad driver and its graphical configuration
41utilities.
42
43Additionally the operation of the touchpad can be altered by adjusting the
44contents of some of its internal registers. These registers are represented
45by the driver as sysfs entries under /sys/bus/serio/drivers/psmouse/serio?
46that can be read from and written to.
47
48Currently only the registers for hardware version 1 are somewhat understood.
49Hardware version 2 seems to use some of the same registers but it is not
50known whether the bits in the registers represent the same thing or might
51have changed their meaning.
52
53On top of that, some register settings have effect only when the touchpad is
54in relative mode and not in absolute mode. As the Linux Elantech touchpad
55driver always puts the hardware into absolute mode not all information
56mentioned below can be used immediately. But because there is no freely
57available Elantech documentation the information is provided here anyway for
58completeness sake.
59
60
61/////////////////////////////////////////////////////////////////////////////
62
63
642. Extra knobs
65 ~~~~~~~~~~~
66
67Currently the Linux Elantech touchpad driver provides two extra knobs under
68/sys/bus/serio/drivers/psmouse/serio? for the user.
69
70* debug
71
72 Turn different levels of debugging ON or OFF.
73
74 By echoing "0" to this file all debugging will be turned OFF.
75
76 Currently a value of "1" will turn on some basic debugging and a value of
77 "2" will turn on packet debugging. For hardware version 1 the default is
78 OFF. For version 2 the default is "1".
79
80 Turning packet debugging on will make the driver dump every packet
81 received to the syslog before processing it. Be warned that this can
82 generate quite a lot of data!
83
84* paritycheck
85
86 Turns parity checking ON or OFF.
87
88 By echoing "0" to this file parity checking will be turned OFF. Any
89 non-zero value will turn it ON. For hardware version 1 the default is ON.
90 For version 2 the default it is OFF.
91
92 Hardware version 1 provides basic data integrity verification by
93 calculating a parity bit for the last 3 bytes of each packet. The driver
94 can check these bits and reject any packet that appears corrupted. Using
95 this knob you can bypass that check.
96
97 It is not known yet whether hardware version 2 provides the same parity
98 bits. Hence checking is disabled by default. Currently even turning it on
99 will do nothing.
100
101
102/////////////////////////////////////////////////////////////////////////////
103
104
1053. Hardware version 1
106 ==================
107
1083.1 Registers
109 ~~~~~~~~~
110
111By echoing a hexadecimal value to a register it contents can be altered.
112
113For example:
114
115 echo -n 0x16 > reg_10
116
117* reg_10
118
119 bit 7 6 5 4 3 2 1 0
120 B C T D L A S E
121
122 E: 1 = enable smart edges unconditionally
123 S: 1 = enable smart edges only when dragging
124 A: 1 = absolute mode (needs 4 byte packets, see reg_11)
125 L: 1 = enable drag lock (see reg_22)
126 D: 1 = disable dynamic resolution
127 T: 1 = disable tapping
128 C: 1 = enable corner tap
129 B: 1 = swap left and right button
130
131* reg_11
132
133 bit 7 6 5 4 3 2 1 0
134 1 0 0 H V 1 F P
135
136 P: 1 = enable parity checking for relative mode
137 F: 1 = enable native 4 byte packet mode
138 V: 1 = enable vertical scroll area
139 H: 1 = enable horizontal scroll area
140
141* reg_20
142
143 single finger width?
144
145* reg_21
146
147 scroll area width (small: 0x40 ... wide: 0xff)
148
149* reg_22
150
151 drag lock time out (short: 0x14 ... long: 0xfe;
152 0xff = tap again to release)
153
154* reg_23
155
156 tap make timeout?
157
158* reg_24
159
160 tap release timeout?
161
162* reg_25
163
164 smart edge cursor speed (0x02 = slow, 0x03 = medium, 0x04 = fast)
165
166* reg_26
167
168 smart edge activation area width?
169
170
1713.2 Native relative mode 4 byte packet format
172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
173
174byte 0:
175 bit 7 6 5 4 3 2 1 0
176 c c p2 p1 1 M R L
177
178 L, R, M = 1 when Left, Right, Middle mouse button pressed
179 some models have M as byte 3 odd parity bit
180 when parity checking is enabled (reg_11, P = 1):
181 p1..p2 = byte 1 and 2 odd parity bit
182 c = 1 when corner tap detected
183
184byte 1:
185 bit 7 6 5 4 3 2 1 0
186 dx7 dx6 dx5 dx4 dx3 dx2 dx1 dx0
187
188 dx7..dx0 = x movement; positive = right, negative = left
189 byte 1 = 0xf0 when corner tap detected
190
191byte 2:
192 bit 7 6 5 4 3 2 1 0
193 dy7 dy6 dy5 dy4 dy3 dy2 dy1 dy0
194
195 dy7..dy0 = y movement; positive = up, negative = down
196
197byte 3:
198 parity checking enabled (reg_11, P = 1):
199
200 bit 7 6 5 4 3 2 1 0
201 w h n1 n0 ds3 ds2 ds1 ds0
202
203 normally:
204 ds3..ds0 = scroll wheel amount and direction
205 positive = down or left
206 negative = up or right
207 when corner tap detected:
208 ds0 = 1 when top right corner tapped
209 ds1 = 1 when bottom right corner tapped
210 ds2 = 1 when bottom left corner tapped
211 ds3 = 1 when top left corner tapped
212 n1..n0 = number of fingers on touchpad
213 only models with firmware 2.x report this, models with
214 firmware 1.x seem to map one, two and three finger taps
215 directly to L, M and R mouse buttons
216 h = 1 when horizontal scroll action
217 w = 1 when wide finger touch?
218
219 otherwise (reg_11, P = 0):
220
221 bit 7 6 5 4 3 2 1 0
222 ds7 ds6 ds5 ds4 ds3 ds2 ds1 ds0
223
224 ds7..ds0 = vertical scroll amount and direction
225 negative = up
226 positive = down
227
228
2293.3 Native absolute mode 4 byte packet format
230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231
232byte 0:
233 firmware version 1.x:
234
235 bit 7 6 5 4 3 2 1 0
236 D U p1 p2 1 p3 R L
237
238 L, R = 1 when Left, Right mouse button pressed
239 p1..p3 = byte 1..3 odd parity bit
240 D, U = 1 when rocker switch pressed Up, Down
241
242 firmware version 2.x:
243
244 bit 7 6 5 4 3 2 1 0
245 n1 n0 p2 p1 1 p3 R L
246
247 L, R = 1 when Left, Right mouse button pressed
248 p1..p3 = byte 1..3 odd parity bit
249 n1..n0 = number of fingers on touchpad
250
251byte 1:
252 firmware version 1.x:
253
254 bit 7 6 5 4 3 2 1 0
255 f 0 th tw x9 x8 y9 y8
256
257 tw = 1 when two finger touch
258 th = 1 when three finger touch
259 f = 1 when finger touch
260
261 firmware version 2.x:
262
263 bit 7 6 5 4 3 2 1 0
264 . . . . x9 x8 y9 y8
265
266byte 2:
267 bit 7 6 5 4 3 2 1 0
268 x7 x6 x5 x4 x3 x2 x1 x0
269
270 x9..x0 = absolute x value (horizontal)
271
272byte 3:
273 bit 7 6 5 4 3 2 1 0
274 y7 y6 y5 y4 y3 y2 y1 y0
275
276 y9..y0 = absolute y value (vertical)
277
278
279/////////////////////////////////////////////////////////////////////////////
280
281
2824. Hardware version 2
283 ==================
284
285
2864.1 Registers
287 ~~~~~~~~~
288
289By echoing a hexadecimal value to a register it contents can be altered.
290
291For example:
292
293 echo -n 0x56 > reg_10
294
295* reg_10
296
297 bit 7 6 5 4 3 2 1 0
298 0 1 0 1 0 1 D 0
299
300 D: 1 = enable drag and drop
301
302* reg_11
303
304 bit 7 6 5 4 3 2 1 0
305 1 0 0 0 S 0 1 0
306
307 S: 1 = enable vertical scroll
308
309* reg_21
310
311 unknown (0x00)
312
313* reg_22
314
315 drag and drop release time out (short: 0x70 ... long 0x7e;
316 0x7f = never i.e. tap again to release)
317
318
3194.2 Native absolute mode 6 byte packet format
320 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
321
3224.2.1 One finger touch
323 ~~~~~~~~~~~~~~~~
324
325byte 0:
326
327 bit 7 6 5 4 3 2 1 0
328 n1 n0 . . . . R L
329
330 L, R = 1 when Left, Right mouse button pressed
331 n1..n0 = numbers of fingers on touchpad
332
333byte 1:
334
335 bit 7 6 5 4 3 2 1 0
336 x15 x14 x13 x12 x11 x10 x9 x8
337
338byte 2:
339
340 bit 7 6 5 4 3 2 1 0
341 x7 x6 x5 x4 x4 x2 x1 x0
342
343 x15..x0 = absolute x value (horizontal)
344
345byte 3:
346
347 bit 7 6 5 4 3 2 1 0
348 . . . . . . . .
349
350byte 4:
351
352 bit 7 6 5 4 3 2 1 0
353 y15 y14 y13 y12 y11 y10 y8 y8
354
355byte 5:
356
357 bit 7 6 5 4 3 2 1 0
358 y7 y6 y5 y4 y3 y2 y1 y0
359
360 y15..y0 = absolute y value (vertical)
361
362
3634.2.2 Two finger touch
364 ~~~~~~~~~~~~~~~~
365
366byte 0:
367
368 bit 7 6 5 4 3 2 1 0
369 n1 n0 ay8 ax8 . . R L
370
371 L, R = 1 when Left, Right mouse button pressed
372 n1..n0 = numbers of fingers on touchpad
373
374byte 1:
375
376 bit 7 6 5 4 3 2 1 0
377 ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0
378
379 ax8..ax0 = first finger absolute x value
380
381byte 2:
382
383 bit 7 6 5 4 3 2 1 0
384 ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0
385
386 ay8..ay0 = first finger absolute y value
387
388byte 3:
389
390 bit 7 6 5 4 3 2 1 0
391 . . by8 bx8 . . . .
392
393byte 4:
394
395 bit 7 6 5 4 3 2 1 0
396 bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0
397
398 bx8..bx0 = second finger absolute x value
399
400byte 5:
401
402 bit 7 6 5 4 3 2 1 0
403 by7 by8 by5 by4 by3 by2 by1 by0
404
405 by8..by0 = second finger absolute y value
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt
new file mode 100644
index 000000000000..473e43b2d588
--- /dev/null
+++ b/Documentation/io-mapping.txt
@@ -0,0 +1,82 @@
1The io_mapping functions in linux/io-mapping.h provide an abstraction for
2efficiently mapping small regions of an I/O device to the CPU. The initial
3usage is to support the large graphics aperture on 32-bit processors where
4ioremap_wc cannot be used to statically map the entire aperture to the CPU
5as it would consume too much of the kernel address space.
6
7A mapping object is created during driver initialization using
8
9 struct io_mapping *io_mapping_create_wc(unsigned long base,
10 unsigned long size)
11
12 'base' is the bus address of the region to be made
13 mappable, while 'size' indicates how large a mapping region to
14 enable. Both are in bytes.
15
16 This _wc variant provides a mapping which may only be used
17 with the io_mapping_map_atomic_wc or io_mapping_map_wc.
18
19With this mapping object, individual pages can be mapped either atomically
20or not, depending on the necessary scheduling environment. Of course, atomic
21maps are more efficient:
22
23 void *io_mapping_map_atomic_wc(struct io_mapping *mapping,
24 unsigned long offset)
25
26 'offset' is the offset within the defined mapping region.
27 Accessing addresses beyond the region specified in the
28 creation function yields undefined results. Using an offset
29 which is not page aligned yields an undefined result. The
30 return value points to a single page in CPU address space.
31
32 This _wc variant returns a write-combining map to the
33 page and may only be used with mappings created by
34 io_mapping_create_wc
35
36 Note that the task may not sleep while holding this page
37 mapped.
38
39 void io_mapping_unmap_atomic(void *vaddr)
40
41 'vaddr' must be the the value returned by the last
42 io_mapping_map_atomic_wc call. This unmaps the specified
43 page and allows the task to sleep once again.
44
45If you need to sleep while holding the lock, you can use the non-atomic
46variant, although they may be significantly slower.
47
48 void *io_mapping_map_wc(struct io_mapping *mapping,
49 unsigned long offset)
50
51 This works like io_mapping_map_atomic_wc except it allows
52 the task to sleep while holding the page mapped.
53
54 void io_mapping_unmap(void *vaddr)
55
56 This works like io_mapping_unmap_atomic, except it is used
57 for pages mapped with io_mapping_map_wc.
58
59At driver close time, the io_mapping object must be freed:
60
61 void io_mapping_free(struct io_mapping *mapping)
62
63Current Implementation:
64
65The initial implementation of these functions uses existing mapping
66mechanisms and so provides only an abstraction layer and no new
67functionality.
68
69On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole
70range, creating a permanent kernel-visible mapping to the resource. The
71map_atomic and map functions add the requested offset to the base of the
72virtual address returned by ioremap_wc.
73
74On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses
75kmap_atomic_pfn to map the specified page in an atomic fashion;
76kmap_atomic_pfn isn't really supposed to be used with device pages, but it
77provides an efficient mapping for this usage.
78
79On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and
80io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which
81performs an IPI to inform all processors about the new mapping. This results
82in a significant performance penalty.
diff --git a/Documentation/isdn/CREDITS b/Documentation/isdn/CREDITS
index 8cac6c2f23ee..c1679e913fca 100644
--- a/Documentation/isdn/CREDITS
+++ b/Documentation/isdn/CREDITS
@@ -5,7 +5,7 @@ I want to thank all who contributed to this project and especially to:
5Thomas Bogendörfer (tsbogend@bigbug.franken.de) 5Thomas Bogendörfer (tsbogend@bigbug.franken.de)
6 Tester, lots of bugfixes and hints. 6 Tester, lots of bugfixes and hints.
7 7
8Alan Cox (alan@redhat.com) 8Alan Cox (alan@lxorguk.ukuu.org.uk)
9 For help getting into standard-kernel. 9 For help getting into standard-kernel.
10 10
11Henner Eisen (eis@baty.hanse.de) 11Henner Eisen (eis@baty.hanse.de)
diff --git a/Documentation/ja_JP/HOWTO b/Documentation/ja_JP/HOWTO
index 0775cf4798b2..55476982b5ca 100644
--- a/Documentation/ja_JP/HOWTO
+++ b/Documentation/ja_JP/HOWTO
@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
11fork. So if you have any comments or updates for this file, please try 11fork. So if you have any comments or updates for this file, please try
12to update the original English file first. 12to update the original English file first.
13 13
14Last Updated: 2008/08/21 14Last Updated: 2008/10/24
15================================== 15==================================
16ã“ã‚Œã¯ã€ 16ã“ã‚Œã¯ã€
17linux-2.6.27/Documentation/HOWTO 17linux-2.6.28/Documentation/HOWTO
18ã®å’Œè¨³ã§ã™ã€‚ 18ã®å’Œè¨³ã§ã™ã€‚
19 19
20翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > 20翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
21翻訳日: 2008/8/5 21翻訳日: 2008/10/24
22翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> 22翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
23校正者: æ¾å€‰ã•ã‚“ <nbh--mats at nifty dot com> 23校正者: æ¾å€‰ã•ã‚“ <nbh--mats at nifty dot com>
24 å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> 24 å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
@@ -110,8 +110,8 @@ Linux カーãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã¯å¹…広ã„範囲ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å
110æ–°ã—ã„ドキュメントファイルも追加ã™ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚ 110æ–°ã—ã„ドキュメントファイルも追加ã™ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚
111カーãƒãƒ«ã®å¤‰æ›´ãŒã€ã‚«ãƒ¼ãƒãƒ«ãŒãƒ¦ãƒ¼ã‚¶ç©ºé–“ã«å…¬é–‹ã—ã¦ã„るインターフェイス㮠111カーãƒãƒ«ã®å¤‰æ›´ãŒã€ã‚«ãƒ¼ãƒãƒ«ãŒãƒ¦ãƒ¼ã‚¶ç©ºé–“ã«å…¬é–‹ã—ã¦ã„るインターフェイスã®
112変更を引ãèµ·ã“ã™å ´åˆã€ãã®å¤‰æ›´ã‚’説明ã™ã‚‹ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã®ãƒ‘ッãƒã‚„情報 112変更を引ãèµ·ã“ã™å ´åˆã€ãã®å¤‰æ›´ã‚’説明ã™ã‚‹ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã®ãƒ‘ッãƒã‚„情報
113をマニュアルページã®ãƒ¡ãƒ³ãƒ†ãƒŠ mtk.manpages@gmail.com ã«é€ã‚ãã¨ã‚’勧ã‚ã¾ 113をマニュアルページã®ãƒ¡ãƒ³ãƒ†ãƒŠ mtk.manpages@gmail.com ã«é€ã‚ŠãCC ã‚’
114ã™ã€‚ 114linux-api@ver.kernel.org ã«é€ã‚‹ã“ã¨ã‚’勧ã‚ã¾ã™ã€‚
115 115
116以下ã¯ã‚«ãƒ¼ãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã«å«ã¾ã‚Œã¦ã„る読んã§ãŠãã¹ãファイルã®ä¸€è¦§ã§ 116以下ã¯ã‚«ãƒ¼ãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã«å«ã¾ã‚Œã¦ã„る読んã§ãŠãã¹ãファイルã®ä¸€è¦§ã§
117ã™- 117ã™-
@@ -149,7 +149,7 @@ Linux カーãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã¯å¹…広ã„範囲ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å
149 ã“ã®ä»–ã«ãƒ‘ッãƒã‚’作る方法ã«ã¤ã„ã¦ã®ã‚ˆãã§ããŸè¨˜è¿°ã¯- 149 ã“ã®ä»–ã«ãƒ‘ッãƒã‚’作る方法ã«ã¤ã„ã¦ã®ã‚ˆãã§ããŸè¨˜è¿°ã¯-
150 150
151 "The Perfect Patch" 151 "The Perfect Patch"
152 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt 152 http://userweb.kernel.org/~akpm/stuff/tpp.txt
153 "Linux kernel patch submission format" 153 "Linux kernel patch submission format"
154 http://linux.yyz.us/patch-format.html 154 http://linux.yyz.us/patch-format.html
155 155
@@ -664,7 +664,7 @@ Linux カーãƒãƒ«ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¯ã€ä¸€åº¦ã«å¤§é‡ã®ã‚³ãƒ¼ãƒ‰ã®å¡Šã‚’å–
664ã“ã‚Œã«ã¤ã„ã¦å…¨ã¦ãŒã©ã®ã‚ˆã†ã«ã‚ã‚‹ã¹ãã‹ã«ã¤ã„ã¦ã®è©³ç´°ã¯ã€ä»¥ä¸‹ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ 664ã“ã‚Œã«ã¤ã„ã¦å…¨ã¦ãŒã©ã®ã‚ˆã†ã«ã‚ã‚‹ã¹ãã‹ã«ã¤ã„ã¦ã®è©³ç´°ã¯ã€ä»¥ä¸‹ã®ãƒ‰ã‚­ãƒ¥ãƒ¡
665ント㮠ChangeLog セクションを見ã¦ãã ã•ã„- 665ント㮠ChangeLog セクションを見ã¦ãã ã•ã„-
666 "The Perfect Patch" 666 "The Perfect Patch"
667 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt 667 http://userweb.kernel.org/~akpm/stuff/tpp.txt
668 668
669ã“れらã®ã©ã‚Œã‚‚ãŒã€æ™‚ã«ã¯ã¨ã¦ã‚‚困難ã§ã™ã€‚ã“れらã®æ…£ä¾‹ã‚’完璧ã«å®Ÿæ–½ã™ã‚‹ã« 669ã“れらã®ã©ã‚Œã‚‚ãŒã€æ™‚ã«ã¯ã¨ã¦ã‚‚困難ã§ã™ã€‚ã“れらã®æ…£ä¾‹ã‚’完璧ã«å®Ÿæ–½ã™ã‚‹ã«
670ã¯æ•°å¹´ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ç¶™ç¶šçš„ãªæ”¹å–„ã®ãƒ—ロセスã§ã‚ã‚Šã€ãã®ãŸ 670ã¯æ•°å¹´ã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã‚Œã¯ç¶™ç¶šçš„ãªæ”¹å–„ã®ãƒ—ロセスã§ã‚ã‚Šã€ãã®ãŸ
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 343e0f0f84b6..c86c07459712 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -100,7 +100,7 @@ parameter is applicable:
100 X86-32 X86-32, aka i386 architecture is enabled. 100 X86-32 X86-32, aka i386 architecture is enabled.
101 X86-64 X86-64 architecture is enabled. 101 X86-64 X86-64 architecture is enabled.
102 More X86-64 boot options can be found in 102 More X86-64 boot options can be found in
103 Documentation/x86_64/boot-options.txt . 103 Documentation/x86/x86_64/boot-options.txt .
104 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) 104 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
105 105
106In addition, the following text indicates that the option: 106In addition, the following text indicates that the option:
@@ -112,10 +112,10 @@ In addition, the following text indicates that the option:
112Parameters denoted with BOOT are actually interpreted by the boot 112Parameters denoted with BOOT are actually interpreted by the boot
113loader, and have no meaning to the kernel directly. 113loader, and have no meaning to the kernel directly.
114Do not modify the syntax of boot loader parameters without extreme 114Do not modify the syntax of boot loader parameters without extreme
115need or coordination with <Documentation/i386/boot.txt>. 115need or coordination with <Documentation/x86/i386/boot.txt>.
116 116
117There are also arch-specific kernel-parameters not documented here. 117There are also arch-specific kernel-parameters not documented here.
118See for example <Documentation/x86_64/boot-options.txt>. 118See for example <Documentation/x86/x86_64/boot-options.txt>.
119 119
120Note that ALL kernel parameters listed below are CASE SENSITIVE, and that 120Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
121a trailing = on the name of any parameter states that that parameter will 121a trailing = on the name of any parameter states that that parameter will
@@ -995,13 +995,15 @@ and is between 256 and 4096 characters. It is defined in the file
995 Format: 995 Format:
996 <cpu number>,...,<cpu number> 996 <cpu number>,...,<cpu number>
997 or 997 or
998 <cpu number>-<cpu number> (must be a positive range in ascending order) 998 <cpu number>-<cpu number>
999 (must be a positive range in ascending order)
999 or a mixture 1000 or a mixture
1000 <cpu number>,...,<cpu number>-<cpu number> 1001 <cpu number>,...,<cpu number>-<cpu number>
1002
1001 This option can be used to specify one or more CPUs 1003 This option can be used to specify one or more CPUs
1002 to isolate from the general SMP balancing and scheduling 1004 to isolate from the general SMP balancing and scheduling
1003 algorithms. The only way to move a process onto or off 1005 algorithms. You can move a process onto or off an
1004 an "isolated" CPU is via the CPU affinity syscalls. 1006 "isolated" CPU via the CPU affinity syscalls or cpuset.
1005 <cpu number> begins at 0 and the maximum value is 1007 <cpu number> begins at 0 and the maximum value is
1006 "number of CPUs in system - 1". 1008 "number of CPUs in system - 1".
1007 1009
@@ -1222,7 +1224,7 @@ and is between 256 and 4096 characters. It is defined in the file
1222 1224
1223 mce [X86-32] Machine Check Exception 1225 mce [X86-32] Machine Check Exception
1224 1226
1225 mce=option [X86-64] See Documentation/x86_64/boot-options.txt 1227 mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt
1226 1228
1227 md= [HW] RAID subsystems devices and level 1229 md= [HW] RAID subsystems devices and level
1228 See Documentation/md.txt. 1230 See Documentation/md.txt.
@@ -1470,8 +1472,6 @@ and is between 256 and 4096 characters. It is defined in the file
1470 Valid arguments: on, off 1472 Valid arguments: on, off
1471 Default: on 1473 Default: on
1472 1474
1473 noirqbalance [X86-32,SMP,KNL] Disable kernel irq balancing
1474
1475 noirqdebug [X86-32] Disables the code which attempts to detect and 1475 noirqdebug [X86-32] Disables the code which attempts to detect and
1476 disable unhandled interrupt sources. 1476 disable unhandled interrupt sources.
1477 1477
@@ -1728,7 +1728,7 @@ and is between 256 and 4096 characters. It is defined in the file
1728 See Documentation/paride.txt. 1728 See Documentation/paride.txt.
1729 1729
1730 pirq= [SMP,APIC] Manual mp-table setup 1730 pirq= [SMP,APIC] Manual mp-table setup
1731 See Documentation/i386/IO-APIC.txt. 1731 See Documentation/x86/i386/IO-APIC.txt.
1732 1732
1733 plip= [PPT,NET] Parallel port network link 1733 plip= [PPT,NET] Parallel port network link
1734 Format: { parport<nr> | timid | 0 } 1734 Format: { parport<nr> | timid | 0 }
@@ -2343,7 +2343,7 @@ and is between 256 and 4096 characters. It is defined in the file
2343 See Documentation/fb/modedb.txt. 2343 See Documentation/fb/modedb.txt.
2344 2344
2345 vga= [BOOT,X86-32] Select a particular video mode 2345 vga= [BOOT,X86-32] Select a particular video mode
2346 See Documentation/i386/boot.txt and 2346 See Documentation/x86/i386/boot.txt and
2347 Documentation/svga.txt. 2347 Documentation/svga.txt.
2348 Use vga=ask for menu. 2348 Use vga=ask for menu.
2349 This is actually a boot loader parameter; the value is 2349 This is actually a boot loader parameter; the value is
diff --git a/Documentation/lguest/Makefile b/Documentation/lguest/Makefile
index bac037eb1cda..725eef81cd48 100644
--- a/Documentation/lguest/Makefile
+++ b/Documentation/lguest/Makefile
@@ -1,5 +1,5 @@
1# This creates the demonstration utility "lguest" which runs a Linux guest. 1# This creates the demonstration utility "lguest" which runs a Linux guest.
2CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include 2CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include
3LDLIBS:=-lz 3LDLIBS:=-lz
4 4
5all: lguest 5all: lguest
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c
index 7228369d1014..804520633fcf 100644
--- a/Documentation/lguest/lguest.c
+++ b/Documentation/lguest/lguest.c
@@ -44,7 +44,7 @@
44#include "linux/virtio_console.h" 44#include "linux/virtio_console.h"
45#include "linux/virtio_rng.h" 45#include "linux/virtio_rng.h"
46#include "linux/virtio_ring.h" 46#include "linux/virtio_ring.h"
47#include "asm-x86/bootparam.h" 47#include "asm/bootparam.h"
48/*L:110 We can ignore the 39 include files we need for this program, but I do 48/*L:110 We can ignore the 39 include files we need for this program, but I do
49 * want to draw attention to the use of kernel-style types. 49 * want to draw attention to the use of kernel-style types.
50 * 50 *
@@ -402,7 +402,7 @@ static unsigned long load_bzimage(int fd)
402 void *p = from_guest_phys(0x100000); 402 void *p = from_guest_phys(0x100000);
403 403
404 /* Go back to the start of the file and read the header. It should be 404 /* Go back to the start of the file and read the header. It should be
405 * a Linux boot header (see Documentation/i386/boot.txt) */ 405 * a Linux boot header (see Documentation/x86/i386/boot.txt) */
406 lseek(fd, 0, SEEK_SET); 406 lseek(fd, 0, SEEK_SET);
407 read(fd, &boot, sizeof(boot)); 407 read(fd, &boot, sizeof(boot));
408 408
diff --git a/Documentation/networking/.gitignore b/Documentation/networking/.gitignore
new file mode 100644
index 000000000000..286a5680f490
--- /dev/null
+++ b/Documentation/networking/.gitignore
@@ -0,0 +1 @@
ifenslave
diff --git a/Documentation/networking/dmfe.txt b/Documentation/networking/dmfe.txt
index b1b7499dd9d3..8006c227fda2 100644
--- a/Documentation/networking/dmfe.txt
+++ b/Documentation/networking/dmfe.txt
@@ -60,6 +60,6 @@ Tobias Ringstrom <tori@unhappy.mine.nu> : Current Maintainer
60Contributors: 60Contributors:
61 61
62Marcelo Tosatti <marcelo@conectiva.com.br> 62Marcelo Tosatti <marcelo@conectiva.com.br>
63Alan Cox <alan@redhat.com> 63Alan Cox <alan@lxorguk.ukuu.org.uk>
64Jeff Garzik <jgarzik@pobox.com> 64Jeff Garzik <jgarzik@pobox.com>
65Vojtech Pavlik <vojtech@suse.cz> 65Vojtech Pavlik <vojtech@suse.cz>
diff --git a/Documentation/pcmcia/.gitignore b/Documentation/pcmcia/.gitignore
new file mode 100644
index 000000000000..53d081336757
--- /dev/null
+++ b/Documentation/pcmcia/.gitignore
@@ -0,0 +1 @@
crc32hash
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 02ea9a971b8e..0ab0230cbcb0 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -41,25 +41,14 @@ Table of Contents
41 VI - System-on-a-chip devices and nodes 41 VI - System-on-a-chip devices and nodes
42 1) Defining child nodes of an SOC 42 1) Defining child nodes of an SOC
43 2) Representing devices without a current OF specification 43 2) Representing devices without a current OF specification
44 a) MDIO IO device 44 a) PHY nodes
45 b) Gianfar-compatible ethernet nodes 45 b) Interrupt controllers
46 c) PHY nodes 46 c) CFI or JEDEC memory-mapped NOR flash
47 d) Interrupt controllers 47 d) 4xx/Axon EMAC ethernet nodes
48 e) I2C 48 e) Xilinx IP cores
49 f) Freescale SOC USB controllers 49 f) USB EHCI controllers
50 g) Freescale SOC SEC Security Engines 50 g) MDIO on GPIOs
51 h) Board Control and Status (BCSR) 51 h) SPI busses
52 i) Freescale QUICC Engine module (QE)
53 j) CFI or JEDEC memory-mapped NOR flash
54 k) Global Utilities Block
55 l) Freescale Communications Processor Module
56 m) Chipselect/Local Bus
57 n) 4xx/Axon EMAC ethernet nodes
58 o) Xilinx IP cores
59 p) Freescale Synchronous Serial Interface
60 q) USB EHCI controllers
61 r) MDIO on GPIOs
62 s) SPI busses
63 52
64 VII - Marvell Discovery mv64[345]6x System Controller chips 53 VII - Marvell Discovery mv64[345]6x System Controller chips
65 1) The /system-controller node 54 1) The /system-controller node
@@ -1830,41 +1819,7 @@ platforms are moved over to use the flattened-device-tree model.
1830 big-endian; 1819 big-endian;
1831 }; 1820 };
1832 1821
1833 r) Freescale Display Interface Unit 1822 g) MDIO on GPIOs
1834
1835 The Freescale DIU is a LCD controller, with proper hardware, it can also
1836 drive DVI monitors.
1837
1838 Required properties:
1839 - compatible : should be "fsl-diu".
1840 - reg : should contain at least address and length of the DIU register
1841 set.
1842 - Interrupts : one DIU interrupt should be describe here.
1843
1844 Example (MPC8610HPCD)
1845 display@2c000 {
1846 compatible = "fsl,diu";
1847 reg = <0x2c000 100>;
1848 interrupts = <72 2>;
1849 interrupt-parent = <&mpic>;
1850 };
1851
1852 s) Freescale on board FPGA
1853
1854 This is the memory-mapped registers for on board FPGA.
1855
1856 Required properities:
1857 - compatible : should be "fsl,fpga-pixis".
1858 - reg : should contain the address and the lenght of the FPPGA register
1859 set.
1860
1861 Example (MPC8610HPCD)
1862 board-control@e8000000 {
1863 compatible = "fsl,fpga-pixis";
1864 reg = <0xe8000000 32>;
1865 };
1866
1867 r) MDIO on GPIOs
1868 1823
1869 Currently defined compatibles: 1824 Currently defined compatibles:
1870 - virtual,gpio-mdio 1825 - virtual,gpio-mdio
@@ -1884,7 +1839,7 @@ platforms are moved over to use the flattened-device-tree model.
1884 &qe_pio_c 6>; 1839 &qe_pio_c 6>;
1885 }; 1840 };
1886 1841
1887 s) SPI (Serial Peripheral Interface) busses 1842 h) SPI (Serial Peripheral Interface) busses
1888 1843
1889 SPI busses can be described with a node for the SPI master device 1844 SPI busses can be described with a node for the SPI master device
1890 and a set of child nodes for each SPI slave on the bus. For this 1845 and a set of child nodes for each SPI slave on the bus. For this
diff --git a/Documentation/scheduler/00-INDEX b/Documentation/scheduler/00-INDEX
index fc234d093fbf..aabcc3a089ba 100644
--- a/Documentation/scheduler/00-INDEX
+++ b/Documentation/scheduler/00-INDEX
@@ -4,8 +4,6 @@ sched-arch.txt
4 - CPU Scheduler implementation hints for architecture specific code. 4 - CPU Scheduler implementation hints for architecture specific code.
5sched-coding.txt 5sched-coding.txt
6 - reference for various scheduler-related methods in the O(1) scheduler. 6 - reference for various scheduler-related methods in the O(1) scheduler.
7sched-design.txt
8 - goals, design and implementation of the Linux O(1) scheduler.
9sched-design-CFS.txt 7sched-design-CFS.txt
10 - goals, design and implementation of the Complete Fair Scheduler. 8 - goals, design and implementation of the Complete Fair Scheduler.
11sched-domains.txt 9sched-domains.txt
diff --git a/Documentation/scheduler/sched-design-CFS.txt b/Documentation/scheduler/sched-design-CFS.txt
index 9d8eb553884c..eb471c7a905e 100644
--- a/Documentation/scheduler/sched-design-CFS.txt
+++ b/Documentation/scheduler/sched-design-CFS.txt
@@ -92,7 +92,7 @@ other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the
92way the previous scheduler had, and has no heuristics whatsoever. There is 92way the previous scheduler had, and has no heuristics whatsoever. There is
93only one central tunable (you have to switch on CONFIG_SCHED_DEBUG): 93only one central tunable (you have to switch on CONFIG_SCHED_DEBUG):
94 94
95 /proc/sys/kernel/sched_granularity_ns 95 /proc/sys/kernel/sched_min_granularity_ns
96 96
97which can be used to tune the scheduler from "desktop" (i.e., low latencies) to 97which can be used to tune the scheduler from "desktop" (i.e., low latencies) to
98"server" (i.e., good batching) workloads. It defaults to a setting suitable 98"server" (i.e., good batching) workloads. It defaults to a setting suitable
diff --git a/Documentation/scsi/aacraid.txt b/Documentation/scsi/aacraid.txt
index 709ca991a451..ddace3afc83b 100644
--- a/Documentation/scsi/aacraid.txt
+++ b/Documentation/scsi/aacraid.txt
@@ -128,7 +128,7 @@ Supported Cards/Chipsets
128 128
129People 129People
130------------------------- 130-------------------------
131Alan Cox <alan@redhat.com> 131Alan Cox <alan@lxorguk.ukuu.org.uk>
132Christoph Hellwig <hch@infradead.org> (updates for new-style PCI probing and SCSI host registration, 132Christoph Hellwig <hch@infradead.org> (updates for new-style PCI probing and SCSI host registration,
133 small cleanups/fixes) 133 small cleanups/fixes)
134Matt Domsch <matt_domsch@dell.com> (revision ioctl, adapter messages) 134Matt Domsch <matt_domsch@dell.com> (revision ioctl, adapter messages)
diff --git a/Documentation/sh/new-machine.txt b/Documentation/sh/new-machine.txt
index 5482bf5d005b..f0354164cb0e 100644
--- a/Documentation/sh/new-machine.txt
+++ b/Documentation/sh/new-machine.txt
@@ -47,9 +47,7 @@ Next, for companion chips:
47 `-- sh 47 `-- sh
48 `-- cchips 48 `-- cchips
49 `-- hd6446x 49 `-- hd6446x
50 |-- hd64461 50 `-- hd64461
51 | `-- cchip-specific files
52 `-- hd64465
53 `-- cchip-specific files 51 `-- cchip-specific files
54 52
55... and so on. Headers for the companion chips are treated the same way as 53... and so on. Headers for the companion chips are treated the same way as
diff --git a/Documentation/spi/.gitignore b/Documentation/spi/.gitignore
new file mode 100644
index 000000000000..4280576397e8
--- /dev/null
+++ b/Documentation/spi/.gitignore
@@ -0,0 +1,2 @@
1spidev_fdx
2spidev_test
diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt
index 4cfc78835bc1..a452227361b1 100644
--- a/Documentation/stable_kernel_rules.txt
+++ b/Documentation/stable_kernel_rules.txt
@@ -12,6 +12,7 @@ Rules on what kind of patches are accepted, and which ones are not, into the
12 marked CONFIG_BROKEN), an oops, a hang, data corruption, a real 12 marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
13 security issue, or some "oh, that's not good" issue. In short, something 13 security issue, or some "oh, that's not good" issue. In short, something
14 critical. 14 critical.
15 - New device IDs and quirks are also accepted.
15 - No "theoretical race condition" issues, unless an explanation of how the 16 - No "theoretical race condition" issues, unless an explanation of how the
16 race can be exploited is also provided. 17 race can be exploited is also provided.
17 - It cannot contain any "trivial" fixes in it (spelling changes, 18 - It cannot contain any "trivial" fixes in it (spelling changes,
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
index bde799e06598..a4ccdd1981cf 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -363,11 +363,21 @@ tainted:
363Non-zero if the kernel has been tainted. Numeric values, which 363Non-zero if the kernel has been tainted. Numeric values, which
364can be ORed together: 364can be ORed together:
365 365
366 1 - A module with a non-GPL license has been loaded, this 366 1 - A module with a non-GPL license has been loaded, this
367 includes modules with no license. 367 includes modules with no license.
368 Set by modutils >= 2.4.9 and module-init-tools. 368 Set by modutils >= 2.4.9 and module-init-tools.
369 2 - A module was force loaded by insmod -f. 369 2 - A module was force loaded by insmod -f.
370 Set by modutils >= 2.4.9 and module-init-tools. 370 Set by modutils >= 2.4.9 and module-init-tools.
371 4 - Unsafe SMP processors: SMP with CPUs not designed for SMP. 371 4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
372 64 - A module from drivers/staging was loaded. 372 8 - A module was forcibly unloaded from the system by rmmod -f.
373 16 - A hardware machine check error occurred on the system.
374 32 - A bad page was discovered on the system.
375 64 - The user has asked that the system be marked "tainted". This
376 could be because they are running software that directly modifies
377 the hardware, or for other reasons.
378 128 - The system has died.
379 256 - The ACPI DSDT has been overridden with one supplied by the user
380 instead of using the one provided by the hardware.
381 512 - A kernel warning has occurred.
3821024 - A module from drivers/staging was loaded.
373 383
diff --git a/Documentation/video4linux/.gitignore b/Documentation/video4linux/.gitignore
new file mode 100644
index 000000000000..952703943e8e
--- /dev/null
+++ b/Documentation/video4linux/.gitignore
@@ -0,0 +1 @@
v4lgrab
diff --git a/Documentation/video4linux/README.cx88 b/Documentation/video4linux/README.cx88
index 06a33a4f52fd..166d5960b1a9 100644
--- a/Documentation/video4linux/README.cx88
+++ b/Documentation/video4linux/README.cx88
@@ -27,8 +27,8 @@ audio
27 sound card) should be possible, but there is no code yet ... 27 sound card) should be possible, but there is no code yet ...
28 28
29vbi 29vbi
30 - some code present. Doesn't crash any more, but also doesn't 30 - Code present. Works for NTSC closed caption. PAL and other
31 work yet ... 31 TV norms may or may not work.
32 32
33 33
34how to add support for new cards 34how to add support for new cards
diff --git a/Documentation/video4linux/bttv/CONTRIBUTORS b/Documentation/video4linux/bttv/CONTRIBUTORS
index 8aad6dd93d6b..eb41b2650860 100644
--- a/Documentation/video4linux/bttv/CONTRIBUTORS
+++ b/Documentation/video4linux/bttv/CONTRIBUTORS
@@ -3,7 +3,7 @@ Contributors to bttv:
3Michael Chu <mmchu@pobox.com> 3Michael Chu <mmchu@pobox.com>
4 AverMedia fix and more flexible card recognition 4 AverMedia fix and more flexible card recognition
5 5
6Alan Cox <alan@redhat.com> 6Alan Cox <alan@lxorguk.ukuu.org.uk>
7 Video4Linux interface and 2.1.x kernel adaptation 7 Video4Linux interface and 2.1.x kernel adaptation
8 8
9Chris Kleitsch 9Chris Kleitsch
diff --git a/Documentation/video4linux/si470x.txt b/Documentation/video4linux/si470x.txt
new file mode 100644
index 000000000000..11c5fd22a332
--- /dev/null
+++ b/Documentation/video4linux/si470x.txt
@@ -0,0 +1,118 @@
1Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers
2
3Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net>
4
5
6Information from Silicon Labs
7=============================
8Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the
9most often used radio receivers in cell phones. Usually they are connected with
10I2C. But SiLabs also provides a reference design, which integrates this IC,
11together with a small microcontroller C8051F321, to form a USB radio.
12Part of this reference design is also a radio application in binary and source
13code. The software also contains an automatic firmware upgrade to the most
14current version. Information on these can be downloaded here:
15http://www.silabs.com/usbradio
16
17
18Supported ICs
19=============
20The following ICs have a very similar register set, so that they are or will be
21supported somewhen by the driver:
22- Si4700: FM radio receiver
23- Si4701: FM radio receiver, RDS Support
24- Si4702: FM radio receiver
25- Si4703: FM radio receiver, RDS Support
26- Si4704: FM radio receiver, no external antenna required
27- Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O
28- Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS
29 Support
30- Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support
31- Si4708: Smallest FM receivers
32- Si4709: Smallest FM receivers, RDS Support
33More information on these can be downloaded here:
34http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx
35
36
37Supported USB devices
38=====================
39Currently the following USB radios (vendor:product) with the Silicon Labs si470x
40chips are known to work:
41- 10c4:818a: Silicon Labs USB FM Radio Reference Design
42- 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF)
43- 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
44
45
46Software
47========
48Testing is usually done with most application under Debian/testing:
49- fmtools - Utility for managing FM tuner cards
50- gnomeradio - FM-radio tuner for the GNOME desktop
51- gradio - GTK FM radio tuner
52- kradio - Comfortable Radio Application for KDE
53- radio - ncurses-based radio application
54
55There is also a library libv4l, which can be used. It's going to have a function
56for frequency seeking, either by using hardware functionality as in radio-si470x
57or by implementing a function as we currently have in every of the mentioned
58programs. Somewhen the radio programs should make use of libv4l.
59
60For processing RDS information, there is a project ongoing at:
61http://rdsd.berlios.de/
62
63There is currently no project for making TMC sentences human readable.
64
65
66Audio Listing
67=============
68USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
69also select SND_USB_AUDIO, as this is required to get sound from the radio. For
70listing you have to redirect the sound, for example using one of the following
71commands.
72
73If you just want to test audio (very poor quality):
74cat /dev/dsp1 > /dev/dsp
75
76If you use OSS try:
77sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
78
79If you use arts try:
80arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
81
82
83Module Parameters
84=================
85After loading the module, you still have access to some of them in the sysfs
86mount under /sys/module/radio_si470x/parameters. The contents of read-only files
87(0444) are not updated, even if space, band and de are changed using private
88video controls. The others are runtime changeable.
89
90
91Errors
92======
93Increase tune_timeout, if you often get -EIO errors.
94
95When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
96
97If you get any errors from snd_usb_audio, please report them to the ALSA people.
98
99
100Open Issues
101===========
102V4L minor device allocation and parameter setting is not perfect. A solution is
103currently under discussion.
104
105There is an USB interface for downloading/uploading new firmware images. Support
106for it can be implemented using the request_firmware interface.
107
108There is a RDS interrupt mode. The driver is already using the same interface
109for polling RDS information, but is currently not using the interrupt mode.
110
111There is a LED interface, which can be used to override the LED control
112programmed in the firmware. This can be made available using the LED support
113functions in the kernel.
114
115
116Other useful information and links
117==================================
118http://www.silabs.com/usbradio
diff --git a/Documentation/vm/.gitignore b/Documentation/vm/.gitignore
new file mode 100644
index 000000000000..33e8a023df02
--- /dev/null
+++ b/Documentation/vm/.gitignore
@@ -0,0 +1 @@
slabinfo
diff --git a/Documentation/watchdog/src/.gitignore b/Documentation/watchdog/src/.gitignore
new file mode 100644
index 000000000000..ac90997dba93
--- /dev/null
+++ b/Documentation/watchdog/src/.gitignore
@@ -0,0 +1,2 @@
1watchdog-simple
2watchdog-test
diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt
index 72ffb5373ec7..f6d561a1a9b2 100644
--- a/Documentation/x86/x86_64/boot-options.txt
+++ b/Documentation/x86/x86_64/boot-options.txt
@@ -35,7 +35,7 @@ APICs
35 35
36 nolapic Don't use the local APIC (alias for i386 compatibility) 36 nolapic Don't use the local APIC (alias for i386 compatibility)
37 37
38 pirq=... See Documentation/i386/IO-APIC.txt 38 pirq=... See Documentation/x86/i386/IO-APIC.txt
39 39
40 noapictimer Don't set up the APIC timer 40 noapictimer Don't set up the APIC timer
41 41
@@ -139,7 +139,7 @@ Non Executable Mappings
139SMP 139SMP
140 140
141 additional_cpus=NUM Allow NUM more CPUs for hotplug 141 additional_cpus=NUM Allow NUM more CPUs for hotplug
142 (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec) 142 (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec)
143 143
144NUMA 144NUMA
145 145
diff --git a/Documentation/x86/x86_64/fake-numa-for-cpusets b/Documentation/x86/x86_64/fake-numa-for-cpusets
index d1a985c5b00a..33bb56655991 100644
--- a/Documentation/x86/x86_64/fake-numa-for-cpusets
+++ b/Documentation/x86/x86_64/fake-numa-for-cpusets
@@ -10,7 +10,7 @@ amount of system memory that are available to a certain class of tasks.
10For more information on the features of cpusets, see Documentation/cpusets.txt. 10For more information on the features of cpusets, see Documentation/cpusets.txt.
11There are a number of different configurations you can use for your needs. For 11There are a number of different configurations you can use for your needs. For
12more information on the numa=fake command line option and its various ways of 12more information on the numa=fake command line option and its various ways of
13configuring fake nodes, see Documentation/x86_64/boot-options.txt. 13configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt.
14 14
15For the purposes of this introduction, we'll assume a very primitive NUMA 15For the purposes of this introduction, we'll assume a very primitive NUMA
16emulation setup of "numa=fake=4*512,". This will split our system memory into 16emulation setup of "numa=fake=4*512,". This will split our system memory into
diff --git a/MAINTAINERS b/MAINTAINERS
index 16202c8ac68f..53e78c83cc7a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -347,7 +347,7 @@ S: Maintained
347ALI1563 I2C DRIVER 347ALI1563 I2C DRIVER
348P: Rudolf Marek 348P: Rudolf Marek
349M: r.marek@assembler.cz 349M: r.marek@assembler.cz
350L: i2c@lm-sensors.org 350L: linux-i2c@vger.kernel.org
351S: Maintained 351S: Maintained
352 352
353ALPHA PORT 353ALPHA PORT
@@ -610,6 +610,11 @@ P: Philipp Zabel
610M: philipp.zabel@gmail.com 610M: philipp.zabel@gmail.com
611S: Maintained 611S: Maintained
612 612
613ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
614P: Michael Petchkovsky
615M: mkpetch@internode.on.net
616S: Maintained
617
613ARM/TOSA MACHINE SUPPORT 618ARM/TOSA MACHINE SUPPORT
614P: Dmitry Baryshkov 619P: Dmitry Baryshkov
615M: dbaryshkov@gmail.com 620M: dbaryshkov@gmail.com
@@ -716,7 +721,7 @@ W: http://sourceforge.net/projects/acpi4asus
716W: http://xf.iksaif.net/acpi4asus 721W: http://xf.iksaif.net/acpi4asus
717S: Maintained 722S: Maintained
718 723
719ASYNCHRONOUS TRANSFERS/TRANSFORMS API 724ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
720P: Dan Williams 725P: Dan Williams
721M: dan.j.williams@intel.com 726M: dan.j.williams@intel.com
722P: Maciej Sosnowski 727P: Maciej Sosnowski
@@ -738,6 +743,8 @@ P: Nick Kossifidis
738M: mickflemm@gmail.com 743M: mickflemm@gmail.com
739P: Luis R. Rodriguez 744P: Luis R. Rodriguez
740M: mcgrof@gmail.com 745M: mcgrof@gmail.com
746P: Bob Copeland
747M: me@bobcopeland.com
741L: linux-wireless@vger.kernel.org 748L: linux-wireless@vger.kernel.org
742L: ath5k-devel@lists.ath5k.org 749L: ath5k-devel@lists.ath5k.org
743S: Maintained 750S: Maintained
@@ -1749,7 +1756,7 @@ FREESCALE I2C CPM DRIVER
1749P: Jochen Friedrich 1756P: Jochen Friedrich
1750M: jochen@scram.de 1757M: jochen@scram.de
1751L: linuxppc-dev@ozlabs.org 1758L: linuxppc-dev@ozlabs.org
1752L: i2c@lm-sensors.org 1759L: linux-i2c@vger.kernel.org
1753S: Maintained 1760S: Maintained
1754 1761
1755FREESCALE SOC FS_ENET DRIVER 1762FREESCALE SOC FS_ENET DRIVER
@@ -1872,6 +1879,37 @@ M: linux-kernel@vger.kernel.org
1872W: http://www.kernel.org/pub/linux/kernel/people/rml/hdaps/ 1879W: http://www.kernel.org/pub/linux/kernel/people/rml/hdaps/
1873S: Maintained 1880S: Maintained
1874 1881
1882GSPCA FINEPIX SUBDRIVER
1883P: Frank Zago
1884M: frank@zago.net
1885L: video4linux-list@redhat.com
1886S: Maintained
1887
1888GSPCA M5602 SUBDRIVER
1889P: Erik Andren
1890M: erik.andren@gmail.com
1891L: video4linux-list@redhat.com
1892S: Maintained
1893
1894GSPCA PAC207 SONIXB SUBDRIVER
1895P: Hans de Goede
1896M: hdegoede@redhat.com
1897L: video4linux-list@redhat.com
1898S: Maintained
1899
1900GSPCA T613 SUBDRIVER
1901P: Leandro Costantino
1902M: lcostantino@gmail.com
1903L: video4linux-list@redhat.com
1904S: Maintained
1905
1906GSPCA USB WEBCAM DRIVER
1907P: Jean-Francois Moine
1908M: moinejf@free.fr
1909W: http://moinejf.free.fr
1910L: video4linux-list@redhat.com
1911S: Maintained
1912
1875HARDWARE MONITORING 1913HARDWARE MONITORING
1876L: lm-sensors@lm-sensors.org 1914L: lm-sensors@lm-sensors.org
1877W: http://www.lm-sensors.org/ 1915W: http://www.lm-sensors.org/
@@ -2022,7 +2060,7 @@ S: Maintained
2022I2C/SMBUS STUB DRIVER 2060I2C/SMBUS STUB DRIVER
2023P: Mark M. Hoffman 2061P: Mark M. Hoffman
2024M: mhoffman@lightlink.com 2062M: mhoffman@lightlink.com
2025L: i2c@lm-sensors.org 2063L: linux-i2c@vger.kernel.org
2026S: Maintained 2064S: Maintained
2027 2065
2028I2C SUBSYSTEM 2066I2C SUBSYSTEM
@@ -2030,14 +2068,14 @@ P: Jean Delvare (PC drivers, core)
2030M: khali@linux-fr.org 2068M: khali@linux-fr.org
2031P: Ben Dooks (embedded platforms) 2069P: Ben Dooks (embedded platforms)
2032M: ben-linux@fluff.org 2070M: ben-linux@fluff.org
2033L: i2c@lm-sensors.org 2071L: linux-i2c@vger.kernel.org
2034T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/ 2072T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/
2035S: Maintained 2073S: Maintained
2036 2074
2037I2C-TINY-USB DRIVER 2075I2C-TINY-USB DRIVER
2038P: Till Harbaum 2076P: Till Harbaum
2039M: till@harbaum.org 2077M: till@harbaum.org
2040L: i2c@lm-sensors.org 2078L: linux-i2c@vger.kernel.org
2041T: http://www.harbaum.org/till/i2c_tiny_usb 2079T: http://www.harbaum.org/till/i2c_tiny_usb
2042S: Maintained 2080S: Maintained
2043 2081
@@ -2701,6 +2739,16 @@ M: matthew@wil.cx
2701L: linux-scsi@vger.kernel.org 2739L: linux-scsi@vger.kernel.org
2702S: Maintained 2740S: Maintained
2703 2741
2742LTP (Linux Test Project)
2743P: Subrata Modak
2744M: subrata@linux.vnet.ibm.com
2745P: Mike Frysinger
2746M: vapier@gentoo.org
2747L: ltp-list@lists.sourceforge.net (subscribers-only)
2748W: http://ltp.sourceforge.net/
2749T: git kernel.org/pub/scm/linux/kernel/git/galak/ltp.git
2750S: Maintained
2751
2704M32R ARCHITECTURE 2752M32R ARCHITECTURE
2705P: Hirokazu Takata 2753P: Hirokazu Takata
2706M: takata@linux-m32r.org 2754M: takata@linux-m32r.org
@@ -3143,7 +3191,7 @@ S: Maintained
3143OPENCORES I2C BUS DRIVER 3191OPENCORES I2C BUS DRIVER
3144P: Peter Korsgaard 3192P: Peter Korsgaard
3145M: jacmet@sunsite.dk 3193M: jacmet@sunsite.dk
3146L: i2c@lm-sensors.org 3194L: linux-i2c@vger.kernel.org
3147S: Maintained 3195S: Maintained
3148 3196
3149OPROFILE 3197OPROFILE
@@ -3190,7 +3238,7 @@ S: Maintained
3190PA SEMI SMBUS DRIVER 3238PA SEMI SMBUS DRIVER
3191P: Olof Johansson 3239P: Olof Johansson
3192M: olof@lixom.net 3240M: olof@lixom.net
3193L: i2c@lm-sensors.org 3241L: linux-i2c@vger.kernel.org
3194S: Maintained 3242S: Maintained
3195 3243
3196PANASONIC LAPTOP ACPI EXTRAS DRIVER 3244PANASONIC LAPTOP ACPI EXTRAS DRIVER
@@ -3335,7 +3383,7 @@ S: Maintained
3335PNXxxxx I2C DRIVER 3383PNXxxxx I2C DRIVER
3336P: Vitaly Wool 3384P: Vitaly Wool
3337M: vitalywool@gmail.com 3385M: vitalywool@gmail.com
3338L: i2c@lm-sensors.org 3386L: linux-i2c@vger.kernel.org
3339S: Maintained 3387S: Maintained
3340 3388
3341PPP PROTOCOL DRIVERS AND COMPRESSORS 3389PPP PROTOCOL DRIVERS AND COMPRESSORS
@@ -3799,7 +3847,7 @@ S: Maintained
3799SIS 96X I2C/SMBUS DRIVER 3847SIS 96X I2C/SMBUS DRIVER
3800P: Mark M. Hoffman 3848P: Mark M. Hoffman
3801M: mhoffman@lightlink.com 3849M: mhoffman@lightlink.com
3802L: i2c@lm-sensors.org 3850L: linux-i2c@vger.kernel.org
3803S: Maintained 3851S: Maintained
3804 3852
3805SIS FRAMEBUFFER DRIVER 3853SIS FRAMEBUFFER DRIVER
@@ -4546,7 +4594,7 @@ S: Maintained
4546VIAPRO SMBUS DRIVER 4594VIAPRO SMBUS DRIVER
4547P: Jean Delvare 4595P: Jean Delvare
4548M: khali@linux-fr.org 4596M: khali@linux-fr.org
4549L: i2c@lm-sensors.org 4597L: linux-i2c@vger.kernel.org
4550S: Maintained 4598S: Maintained
4551 4599
4552VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER 4600VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
diff --git a/Makefile b/Makefile
index e9c5d47f31cd..7f9ff9bf1544 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 28 3SUBLEVEL = 28
4EXTRAVERSION = -rc2 4EXTRAVERSION = -rc4
5NAME = Killer Bat of Doom 5NAME = Killer Bat of Doom
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -536,7 +536,7 @@ KBUILD_CFLAGS += -g
536KBUILD_AFLAGS += -gdwarf-2 536KBUILD_AFLAGS += -gdwarf-2
537endif 537endif
538 538
539ifdef CONFIG_FTRACE 539ifdef CONFIG_FUNCTION_TRACER
540KBUILD_CFLAGS += -pg 540KBUILD_CFLAGS += -pg
541endif 541endif
542 542
@@ -961,6 +961,7 @@ export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
961 961
962# The asm symlink changes when $(ARCH) changes. 962# The asm symlink changes when $(ARCH) changes.
963# Detect this and ask user to run make mrproper 963# Detect this and ask user to run make mrproper
964# If asm is a stale symlink (point to dir that does not exist) remove it
964define check-symlink 965define check-symlink
965 set -e; \ 966 set -e; \
966 if [ -L include/asm ]; then \ 967 if [ -L include/asm ]; then \
@@ -970,6 +971,10 @@ define check-symlink
970 echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ 971 echo " set ARCH or save .config and run 'make mrproper' to fix it"; \
971 exit 1; \ 972 exit 1; \
972 fi; \ 973 fi; \
974 test -e $$asmlink || rm include/asm; \
975 elif [ -d include/asm ]; then \
976 echo "ERROR: $@ is a directory but a symlink was expected";\
977 exit 1; \
973 fi 978 fi
974endef 979endef
975 980
@@ -1431,7 +1436,8 @@ ALLSOURCE_ARCHS := $(SRCARCH)
1431define find-sources 1436define find-sources
1432 ( for arch in $(ALLSOURCE_ARCHS) ; do \ 1437 ( for arch in $(ALLSOURCE_ARCHS) ; do \
1433 find $(__srctree)arch/$${arch} $(RCS_FIND_IGNORE) \ 1438 find $(__srctree)arch/$${arch} $(RCS_FIND_IGNORE) \
1434 -name $1 -print; \ 1439 -wholename $(__srctree)arch/$${arch}/include/asm -type d -prune \
1440 -o -name $1 -print; \
1435 done ; \ 1441 done ; \
1436 find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \ 1442 find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \
1437 -name $1 -print; \ 1443 -name $1 -print; \
diff --git a/arch/Kconfig b/arch/Kconfig
index e6ab550bceb3..8977d99987cb 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -21,7 +21,7 @@ config OPROFILE_IBS
21 Instruction-Based Sampling (IBS) is a new profiling 21 Instruction-Based Sampling (IBS) is a new profiling
22 technique that provides rich, precise program performance 22 technique that provides rich, precise program performance
23 information. IBS is introduced by AMD Family10h processors 23 information. IBS is introduced by AMD Family10h processors
24 (AMD Opteron Quad-Core processor “Barcelonaâ€) to overcome 24 (AMD Opteron Quad-Core processor "Barcelona") to overcome
25 the limitations of conventional performance counter 25 the limitations of conventional performance counter
26 sampling. 26 sampling.
27 27
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5021db2217ed..9722f8bb506c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -16,8 +16,7 @@ config ARM
16 select HAVE_ARCH_KGDB 16 select HAVE_ARCH_KGDB
17 select HAVE_KPROBES if (!XIP_KERNEL) 17 select HAVE_KPROBES if (!XIP_KERNEL)
18 select HAVE_KRETPROBES if (HAVE_KPROBES) 18 select HAVE_KRETPROBES if (HAVE_KPROBES)
19 select HAVE_FTRACE if (!XIP_KERNEL) 19 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
20 select HAVE_DYNAMIC_FTRACE if (HAVE_FTRACE)
21 select HAVE_GENERIC_DMA_COHERENT 20 select HAVE_GENERIC_DMA_COHERENT
22 help 21 help
23 The ARM series is a line of low-power-consumption RISC chip designs 22 The ARM series is a line of low-power-consumption RISC chip designs
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 7a03f2007882..c47f2a3f8f8f 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -70,7 +70,7 @@ SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/
70targets := vmlinux vmlinux.lds piggy.gz piggy.o font.o font.c \ 70targets := vmlinux vmlinux.lds piggy.gz piggy.o font.o font.c \
71 head.o misc.o $(OBJS) 71 head.o misc.o $(OBJS)
72 72
73ifeq ($(CONFIG_FTRACE),y) 73ifeq ($(CONFIG_FUNCTION_TRACER),y)
74ORIG_CFLAGS := $(KBUILD_CFLAGS) 74ORIG_CFLAGS := $(KBUILD_CFLAGS)
75KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) 75KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
76endif 76endif
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c
index db8309161408..780bbf7cb26f 100644
--- a/arch/arm/common/sharpsl_pm.c
+++ b/arch/arm/common/sharpsl_pm.c
@@ -54,11 +54,13 @@
54/* 54/*
55 * Prototypes 55 * Prototypes
56 */ 56 */
57#ifdef CONFIG_PM
57static int sharpsl_off_charge_battery(void); 58static int sharpsl_off_charge_battery(void);
58static int sharpsl_check_battery_temp(void);
59static int sharpsl_check_battery_voltage(void); 59static int sharpsl_check_battery_voltage(void);
60static int sharpsl_ac_check(void);
61static int sharpsl_fatal_check(void); 60static int sharpsl_fatal_check(void);
61#endif
62static int sharpsl_check_battery_temp(void);
63static int sharpsl_ac_check(void);
62static int sharpsl_average_value(int ad); 64static int sharpsl_average_value(int ad);
63static void sharpsl_average_clear(void); 65static void sharpsl_average_clear(void);
64static void sharpsl_charge_toggle(struct work_struct *private_); 66static void sharpsl_charge_toggle(struct work_struct *private_);
@@ -424,6 +426,7 @@ static int sharpsl_check_battery_temp(void)
424 return 0; 426 return 0;
425} 427}
426 428
429#ifdef CONFIG_PM
427static int sharpsl_check_battery_voltage(void) 430static int sharpsl_check_battery_voltage(void)
428{ 431{
429 int val, i, buff[5]; 432 int val, i, buff[5];
@@ -455,6 +458,7 @@ static int sharpsl_check_battery_voltage(void)
455 458
456 return 0; 459 return 0;
457} 460}
461#endif
458 462
459static int sharpsl_ac_check(void) 463static int sharpsl_ac_check(void)
460{ 464{
@@ -586,8 +590,6 @@ static int corgi_pxa_pm_enter(suspend_state_t state)
586 590
587 return 0; 591 return 0;
588} 592}
589#endif
590
591 593
592/* 594/*
593 * Check for fatal battery errors 595 * Check for fatal battery errors
@@ -738,7 +740,10 @@ static int sharpsl_off_charge_battery(void)
738 } 740 }
739 } 741 }
740} 742}
741 743#else
744#define sharpsl_pm_suspend NULL
745#define sharpsl_pm_resume NULL
746#endif
742 747
743static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf) 748static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf)
744{ 749{
@@ -768,10 +773,12 @@ static void sharpsl_apm_get_power_status(struct apm_power_info *info)
768 info->battery_life = sharpsl_pm.battstat.mainbat_percent; 773 info->battery_life = sharpsl_pm.battstat.mainbat_percent;
769} 774}
770 775
776#ifdef CONFIG_PM
771static struct platform_suspend_ops sharpsl_pm_ops = { 777static struct platform_suspend_ops sharpsl_pm_ops = {
772 .enter = corgi_pxa_pm_enter, 778 .enter = corgi_pxa_pm_enter,
773 .valid = suspend_valid_only_mem, 779 .valid = suspend_valid_only_mem,
774}; 780};
781#endif
775 782
776static int __init sharpsl_pm_probe(struct platform_device *pdev) 783static int __init sharpsl_pm_probe(struct platform_device *pdev)
777{ 784{
@@ -802,7 +809,9 @@ static int __init sharpsl_pm_probe(struct platform_device *pdev)
802 809
803 apm_get_power_status = sharpsl_apm_get_power_status; 810 apm_get_power_status = sharpsl_apm_get_power_status;
804 811
812#ifdef CONFIG_PM
805 suspend_set_ops(&sharpsl_pm_ops); 813 suspend_set_ops(&sharpsl_pm_ops);
814#endif
806 815
807 mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); 816 mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250));
808 817
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index 584ef9a8e5a5..39c8bc1a006a 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_ARM_FTRACE 1#ifndef _ASM_ARM_FTRACE
2#define _ASM_ARM_FTRACE 2#define _ASM_ARM_FTRACE
3 3
4#ifdef CONFIG_FTRACE 4#ifdef CONFIG_FUNCTION_TRACER
5#define MCOUNT_ADDR ((long)(mcount)) 5#define MCOUNT_ADDR ((long)(mcount))
6#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ 6#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */
7 7
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
index 809ff9ab853a..77764301844b 100644
--- a/arch/arm/include/asm/memory.h
+++ b/arch/arm/include/asm/memory.h
@@ -44,10 +44,10 @@
44 * The module space lives between the addresses given by TASK_SIZE 44 * The module space lives between the addresses given by TASK_SIZE
45 * and PAGE_OFFSET - it must be within 32MB of the kernel text. 45 * and PAGE_OFFSET - it must be within 32MB of the kernel text.
46 */ 46 */
47#define MODULE_END (PAGE_OFFSET) 47#define MODULES_END (PAGE_OFFSET)
48#define MODULE_START (MODULE_END - 16*1048576) 48#define MODULES_VADDR (MODULES_END - 16*1048576)
49 49
50#if TASK_SIZE > MODULE_START 50#if TASK_SIZE > MODULES_VADDR
51#error Top of user space clashes with start of module space 51#error Top of user space clashes with start of module space
52#endif 52#endif
53 53
@@ -56,7 +56,7 @@
56 * Since we use sections to map it, this macro replaces the physical address 56 * Since we use sections to map it, this macro replaces the physical address
57 * with its virtual address while keeping offset from the base section. 57 * with its virtual address while keeping offset from the base section.
58 */ 58 */
59#define XIP_VIRT_ADDR(physaddr) (MODULE_START + ((physaddr) & 0x000fffff)) 59#define XIP_VIRT_ADDR(physaddr) (MODULES_VADDR + ((physaddr) & 0x000fffff))
60 60
61/* 61/*
62 * Allow 16MB-aligned ioremap pages 62 * Allow 16MB-aligned ioremap pages
@@ -94,8 +94,8 @@
94/* 94/*
95 * The module can be at any place in ram in nommu mode. 95 * The module can be at any place in ram in nommu mode.
96 */ 96 */
97#define MODULE_END (END_MEM) 97#define MODULES_END (END_MEM)
98#define MODULE_START (PHYS_OFFSET) 98#define MODULES_VADDR (PHYS_OFFSET)
99 99
100#endif /* !CONFIG_MMU */ 100#endif /* !CONFIG_MMU */
101 101
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 7aad78420f18..568020b34e3e 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -42,6 +42,10 @@
42#define CR_U (1 << 22) /* Unaligned access operation */ 42#define CR_U (1 << 22) /* Unaligned access operation */
43#define CR_XP (1 << 23) /* Extended page tables */ 43#define CR_XP (1 << 23) /* Extended page tables */
44#define CR_VE (1 << 24) /* Vectored interrupts */ 44#define CR_VE (1 << 24) /* Vectored interrupts */
45#define CR_EE (1 << 25) /* Exception (Big) Endian */
46#define CR_TRE (1 << 28) /* TEX remap enable */
47#define CR_AFE (1 << 29) /* Access flag enable */
48#define CR_TE (1 << 30) /* Thumb exception enable */
45 49
46/* 50/*
47 * This is used to ensure the compiler did actually allocate the register we 51 * This is used to ensure the compiler did actually allocate the register we
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c
index 2357b1cf1cf9..c74f766ffc12 100644
--- a/arch/arm/kernel/armksyms.c
+++ b/arch/arm/kernel/armksyms.c
@@ -183,6 +183,6 @@ EXPORT_SYMBOL(_find_next_bit_be);
183 183
184EXPORT_SYMBOL(copy_page); 184EXPORT_SYMBOL(copy_page);
185 185
186#ifdef CONFIG_FTRACE 186#ifdef CONFIG_FUNCTION_TRACER
187EXPORT_SYMBOL(mcount); 187EXPORT_SYMBOL(mcount);
188#endif 188#endif
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c
index 513f332f040d..84849098c8e8 100644
--- a/arch/arm/kernel/elf.c
+++ b/arch/arm/kernel/elf.c
@@ -21,12 +21,16 @@ int elf_check_arch(const struct elf32_hdr *x)
21 21
22 eflags = x->e_flags; 22 eflags = x->e_flags;
23 if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) { 23 if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) {
24 unsigned int flt_fmt;
25
24 /* APCS26 is only allowed if the CPU supports it */ 26 /* APCS26 is only allowed if the CPU supports it */
25 if ((eflags & EF_ARM_APCS_26) && !(elf_hwcap & HWCAP_26BIT)) 27 if ((eflags & EF_ARM_APCS_26) && !(elf_hwcap & HWCAP_26BIT))
26 return 0; 28 return 0;
27 29
30 flt_fmt = eflags & (EF_ARM_VFP_FLOAT | EF_ARM_SOFT_FLOAT);
31
28 /* VFP requires the supporting code */ 32 /* VFP requires the supporting code */
29 if ((eflags & EF_ARM_VFP_FLOAT) && !(elf_hwcap & HWCAP_VFP)) 33 if (flt_fmt == EF_ARM_VFP_FLOAT && !(elf_hwcap & HWCAP_VFP))
30 return 0; 34 return 0;
31 } 35 }
32 return 1; 36 return 1;
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 3aa14dcc5bab..06269ea375c5 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -101,7 +101,7 @@ ENDPROC(ret_from_fork)
101#undef CALL 101#undef CALL
102#define CALL(x) .long x 102#define CALL(x) .long x
103 103
104#ifdef CONFIG_FTRACE 104#ifdef CONFIG_FUNCTION_TRACER
105#ifdef CONFIG_DYNAMIC_FTRACE 105#ifdef CONFIG_DYNAMIC_FTRACE
106ENTRY(mcount) 106ENTRY(mcount)
107 stmdb sp!, {r0-r3, lr} 107 stmdb sp!, {r0-r3, lr}
@@ -149,7 +149,7 @@ trace:
149ftrace_stub: 149ftrace_stub:
150 mov pc, lr 150 mov pc, lr
151 151
152#endif /* CONFIG_FTRACE */ 152#endif /* CONFIG_FUNCTION_TRACER */
153 153
154/*============================================================================= 154/*=============================================================================
155 * SWI handler 155 * SWI handler
diff --git a/arch/arm/kernel/ftrace.c b/arch/arm/kernel/ftrace.c
index 76d50e6091bc..6c90479e8974 100644
--- a/arch/arm/kernel/ftrace.c
+++ b/arch/arm/kernel/ftrace.c
@@ -95,19 +95,6 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
95 return ret; 95 return ret;
96} 96}
97 97
98int ftrace_mcount_set(unsigned long *data)
99{
100 unsigned long pc, old;
101 unsigned long *addr = data;
102 unsigned char *new;
103
104 pc = (unsigned long)&mcount_call;
105 memcpy(&old, &mcount_call, MCOUNT_INSN_SIZE);
106 new = ftrace_call_replace(pc, *addr);
107 *addr = ftrace_modify_code(pc, (unsigned char *)&old, new);
108 return 0;
109}
110
111/* run from kstop_machine */ 98/* run from kstop_machine */
112int __init ftrace_dyn_arch_init(void *data) 99int __init ftrace_dyn_arch_init(void *data)
113{ 100{
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c
index 9203ba7d58ee..b8d965dcd6fd 100644
--- a/arch/arm/kernel/module.c
+++ b/arch/arm/kernel/module.c
@@ -26,12 +26,12 @@
26/* 26/*
27 * The XIP kernel text is mapped in the module area for modules and 27 * The XIP kernel text is mapped in the module area for modules and
28 * some other stuff to work without any indirect relocations. 28 * some other stuff to work without any indirect relocations.
29 * MODULE_START is redefined here and not in asm/memory.h to avoid 29 * MODULES_VADDR is redefined here and not in asm/memory.h to avoid
30 * recompiling the whole kernel when CONFIG_XIP_KERNEL is turned on/off. 30 * recompiling the whole kernel when CONFIG_XIP_KERNEL is turned on/off.
31 */ 31 */
32extern void _etext; 32extern void _etext;
33#undef MODULE_START 33#undef MODULES_VADDR
34#define MODULE_START (((unsigned long)&_etext + ~PGDIR_MASK) & PGDIR_MASK) 34#define MODULES_VADDR (((unsigned long)&_etext + ~PGDIR_MASK) & PGDIR_MASK)
35#endif 35#endif
36 36
37#ifdef CONFIG_MMU 37#ifdef CONFIG_MMU
@@ -43,7 +43,7 @@ void *module_alloc(unsigned long size)
43 if (!size) 43 if (!size)
44 return NULL; 44 return NULL;
45 45
46 area = __get_vm_area(size, VM_ALLOC, MODULE_START, MODULE_END); 46 area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END);
47 if (!area) 47 if (!area)
48 return NULL; 48 return NULL;
49 49
diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c
index 9c040c78889a..e263fda3e2d1 100644
--- a/arch/arm/mach-at91/board-afeb-9260v1.c
+++ b/arch/arm/mach-at91/board-afeb-9260v1.c
@@ -165,6 +165,7 @@ static struct at91_mmc_data __initdata afeb9260_mmc_data = {
165static struct i2c_board_info __initdata afeb9260_i2c_devices[] = { 165static struct i2c_board_info __initdata afeb9260_i2c_devices[] = {
166 { 166 {
167 I2C_BOARD_INFO("fm3130", 0x68), 167 I2C_BOARD_INFO("fm3130", 0x68),
168 }, {
168 I2C_BOARD_INFO("24c64", 0x50), 169 I2C_BOARD_INFO("24c64", 0x50),
169 }, 170 },
170}; 171};
diff --git a/arch/arm/mach-at91/include/mach/gpio.h b/arch/arm/mach-at91/include/mach/gpio.h
index 76d76e2fa69e..bffa6741a751 100644
--- a/arch/arm/mach-at91/include/mach/gpio.h
+++ b/arch/arm/mach-at91/include/mach/gpio.h
@@ -13,6 +13,7 @@
13#ifndef __ASM_ARCH_AT91RM9200_GPIO_H 13#ifndef __ASM_ARCH_AT91RM9200_GPIO_H
14#define __ASM_ARCH_AT91RM9200_GPIO_H 14#define __ASM_ARCH_AT91RM9200_GPIO_H
15 15
16#include <linux/kernel.h>
16#include <asm/irq.h> 17#include <asm/irq.h>
17 18
18#define PIN_BASE NR_AIC_IRQS 19#define PIN_BASE NR_AIC_IRQS
@@ -220,6 +221,7 @@ static inline int gpio_request(unsigned gpio, const char *label)
220 221
221static inline void gpio_free(unsigned gpio) 222static inline void gpio_free(unsigned gpio)
222{ 223{
224 might_sleep();
223} 225}
224 226
225extern int gpio_direction_input(unsigned gpio); 227extern int gpio_direction_input(unsigned gpio);
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index de53f0be71b9..48345fb34613 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -26,6 +26,7 @@
26#include <linux/serial_core.h> 26#include <linux/serial_core.h>
27#include <linux/device.h> 27#include <linux/device.h>
28#include <linux/mm.h> 28#include <linux/mm.h>
29#include <linux/dma-mapping.h>
29#include <linux/time.h> 30#include <linux/time.h>
30#include <linux/timex.h> 31#include <linux/timex.h>
31#include <linux/delay.h> 32#include <linux/delay.h>
@@ -449,12 +450,13 @@ static struct resource ep93xx_ohci_resources[] = {
449 }, 450 },
450}; 451};
451 452
453
452static struct platform_device ep93xx_ohci_device = { 454static struct platform_device ep93xx_ohci_device = {
453 .name = "ep93xx-ohci", 455 .name = "ep93xx-ohci",
454 .id = -1, 456 .id = -1,
455 .dev = { 457 .dev = {
456 .dma_mask = (void *)0xffffffff, 458 .dma_mask = &ep93xx_ohci_device.dev.coherent_dma_mask,
457 .coherent_dma_mask = 0xffffffff, 459 .coherent_dma_mask = DMA_BIT_MASK(32),
458 }, 460 },
459 .num_resources = ARRAY_SIZE(ep93xx_ohci_resources), 461 .num_resources = ARRAY_SIZE(ep93xx_ohci_resources),
460 .resource = ep93xx_ohci_resources, 462 .resource = ep93xx_ohci_resources,
diff --git a/arch/arm/mach-imx/include/mach/gpio.h b/arch/arm/mach-imx/include/mach/gpio.h
index 6e3d795f2264..502d5aa2c093 100644
--- a/arch/arm/mach-imx/include/mach/gpio.h
+++ b/arch/arm/mach-imx/include/mach/gpio.h
@@ -1,5 +1,6 @@
1#ifndef _IMX_GPIO_H 1#ifndef _IMX_GPIO_H
2 2
3#include <linux/kernel.h>
3#include <mach/imx-regs.h> 4#include <mach/imx-regs.h>
4 5
5#define IMX_GPIO_ALLOC_MODE_NORMAL 0 6#define IMX_GPIO_ALLOC_MODE_NORMAL 0
@@ -63,6 +64,8 @@ static inline int gpio_request(unsigned gpio, const char *label)
63 64
64static inline void gpio_free(unsigned gpio) 65static inline void gpio_free(unsigned gpio)
65{ 66{
67 might_sleep();
68
66 imx_gpio_free(gpio); 69 imx_gpio_free(gpio);
67} 70}
68 71
diff --git a/arch/arm/mach-ixp4xx/include/mach/gpio.h b/arch/arm/mach-ixp4xx/include/mach/gpio.h
index 9fbde177920f..cd5aec26c072 100644
--- a/arch/arm/mach-ixp4xx/include/mach/gpio.h
+++ b/arch/arm/mach-ixp4xx/include/mach/gpio.h
@@ -25,6 +25,7 @@
25#ifndef __ASM_ARCH_IXP4XX_GPIO_H 25#ifndef __ASM_ARCH_IXP4XX_GPIO_H
26#define __ASM_ARCH_IXP4XX_GPIO_H 26#define __ASM_ARCH_IXP4XX_GPIO_H
27 27
28#include <linux/kernel.h>
28#include <mach/hardware.h> 29#include <mach/hardware.h>
29 30
30static inline int gpio_request(unsigned gpio, const char *label) 31static inline int gpio_request(unsigned gpio, const char *label)
@@ -34,6 +35,8 @@ static inline int gpio_request(unsigned gpio, const char *label)
34 35
35static inline void gpio_free(unsigned gpio) 36static inline void gpio_free(unsigned gpio)
36{ 37{
38 might_sleep();
39
37 return; 40 return;
38} 41}
39 42
diff --git a/arch/arm/mach-ks8695/include/mach/gpio.h b/arch/arm/mach-ks8695/include/mach/gpio.h
index 73c84168761c..d4af5c335f16 100644
--- a/arch/arm/mach-ks8695/include/mach/gpio.h
+++ b/arch/arm/mach-ks8695/include/mach/gpio.h
@@ -11,6 +11,8 @@
11#ifndef __ASM_ARCH_GPIO_H_ 11#ifndef __ASM_ARCH_GPIO_H_
12#define __ASM_ARCH_GPIO_H_ 12#define __ASM_ARCH_GPIO_H_
13 13
14#include <linux/kernel.h>
15
14#define KS8695_GPIO_0 0 16#define KS8695_GPIO_0 0
15#define KS8695_GPIO_1 1 17#define KS8695_GPIO_1 1
16#define KS8695_GPIO_2 2 18#define KS8695_GPIO_2 2
@@ -74,6 +76,7 @@ static inline int gpio_request(unsigned int pin, const char *label)
74 76
75static inline void gpio_free(unsigned int pin) 77static inline void gpio_free(unsigned int pin)
76{ 78{
79 might_sleep();
77} 80}
78 81
79#endif 82#endif
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c
index 1be4a390c63f..f902a7c37c31 100644
--- a/arch/arm/mach-mx3/mx31ads.c
+++ b/arch/arm/mach-mx3/mx31ads.c
@@ -35,6 +35,8 @@
35#include <mach/imx-uart.h> 35#include <mach/imx-uart.h>
36#include <mach/iomux-mx3.h> 36#include <mach/iomux-mx3.h>
37 37
38#include "devices.h"
39
38/*! 40/*!
39 * @file mx31ads.c 41 * @file mx31ads.c
40 * 42 *
diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c
index 11fda95c86a5..843f68c8ead1 100644
--- a/arch/arm/mach-mx3/pcm037.c
+++ b/arch/arm/mach-mx3/pcm037.c
@@ -91,12 +91,12 @@ static struct map_desc pcm037_io_desc[] __initdata = {
91 .virtual = AIPS1_BASE_ADDR_VIRT, 91 .virtual = AIPS1_BASE_ADDR_VIRT,
92 .pfn = __phys_to_pfn(AIPS1_BASE_ADDR), 92 .pfn = __phys_to_pfn(AIPS1_BASE_ADDR),
93 .length = AIPS1_SIZE, 93 .length = AIPS1_SIZE,
94 .type = MT_DEVICE 94 .type = MT_DEVICE_NONSHARED
95 }, { 95 }, {
96 .virtual = AIPS2_BASE_ADDR_VIRT, 96 .virtual = AIPS2_BASE_ADDR_VIRT,
97 .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), 97 .pfn = __phys_to_pfn(AIPS2_BASE_ADDR),
98 .length = AIPS2_SIZE, 98 .length = AIPS2_SIZE,
99 .type = MT_DEVICE 99 .type = MT_DEVICE_NONSHARED
100 }, 100 },
101}; 101};
102 102
diff --git a/arch/arm/mach-ns9xxx/gpio.c b/arch/arm/mach-ns9xxx/gpio.c
index 5241e6a286cc..5503ca09c4ae 100644
--- a/arch/arm/mach-ns9xxx/gpio.c
+++ b/arch/arm/mach-ns9xxx/gpio.c
@@ -8,6 +8,7 @@
8 * under the terms of the GNU General Public License version 2 as published by 8 * under the terms of the GNU General Public License version 2 as published by
9 * the Free Software Foundation. 9 * the Free Software Foundation.
10 */ 10 */
11#include <linux/kernel.h>
11#include <linux/compiler.h> 12#include <linux/compiler.h>
12#include <linux/init.h> 13#include <linux/init.h>
13#include <linux/spinlock.h> 14#include <linux/spinlock.h>
@@ -63,6 +64,7 @@ EXPORT_SYMBOL(gpio_request);
63 64
64void gpio_free(unsigned gpio) 65void gpio_free(unsigned gpio)
65{ 66{
67 might_sleep();
66 clear_bit(gpio, gpiores); 68 clear_bit(gpio, gpiores);
67 return; 69 return;
68} 70}
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 763bdbeaf681..2249049c1d5a 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -429,18 +429,16 @@ void __init gpmc_init(void)
429 gpmc_l3_clk = clk_get(NULL, ck); 429 gpmc_l3_clk = clk_get(NULL, ck);
430 if (IS_ERR(gpmc_l3_clk)) { 430 if (IS_ERR(gpmc_l3_clk)) {
431 printk(KERN_ERR "Could not get GPMC clock %s\n", ck); 431 printk(KERN_ERR "Could not get GPMC clock %s\n", ck);
432 return -ENODEV; 432 BUG();
433 } 433 }
434 434
435 gpmc_base = ioremap(l, SZ_4K); 435 gpmc_base = ioremap(l, SZ_4K);
436 if (!gpmc_base) { 436 if (!gpmc_base) {
437 clk_put(gpmc_l3_clk); 437 clk_put(gpmc_l3_clk);
438 printk(KERN_ERR "Could not get GPMC register memory\n"); 438 printk(KERN_ERR "Could not get GPMC register memory\n");
439 return -ENOMEM; 439 BUG();
440 } 440 }
441 441
442 BUG_ON(IS_ERR(gpmc_l3_clk));
443
444 l = gpmc_read_reg(GPMC_REVISION); 442 l = gpmc_read_reg(GPMC_REVISION);
445 printk(KERN_INFO "GPMC revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f); 443 printk(KERN_INFO "GPMC revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f);
446 /* Set smart idle mode and automatic L3 clock gating */ 444 /* Set smart idle mode and automatic L3 clock gating */
diff --git a/arch/arm/mach-orion5x/gpio.c b/arch/arm/mach-orion5x/gpio.c
index fc419868e39f..f99d08811e5a 100644
--- a/arch/arm/mach-orion5x/gpio.c
+++ b/arch/arm/mach-orion5x/gpio.c
@@ -165,6 +165,8 @@ EXPORT_SYMBOL(gpio_request);
165 165
166void gpio_free(unsigned pin) 166void gpio_free(unsigned pin)
167{ 167{
168 might_sleep();
169
168 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 170 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
169 pr_debug("%s: invalid GPIO %d\n", __func__, pin); 171 pr_debug("%s: invalid GPIO %d\n", __func__, pin);
170 return; 172 return;
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c
index eb7d6c94aa42..e35259032813 100644
--- a/arch/arm/mach-pxa/corgi_pm.c
+++ b/arch/arm/mach-pxa/corgi_pm.c
@@ -204,7 +204,9 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = {
204 .read_devdata = corgipm_read_devdata, 204 .read_devdata = corgipm_read_devdata,
205 .charger_wakeup = corgi_charger_wakeup, 205 .charger_wakeup = corgi_charger_wakeup,
206 .should_wakeup = corgi_should_wakeup, 206 .should_wakeup = corgi_should_wakeup,
207#ifdef CONFIG_BACKLIGHT_CORGI 207#if defined(CONFIG_LCD_CORGI)
208 .backlight_limit = corgi_lcd_limit_intensity,
209#elif defined(CONFIG_BACKLIGHT_CORGI)
208 .backlight_limit = corgibl_limit_intensity, 210 .backlight_limit = corgibl_limit_intensity,
209#endif 211#endif
210 .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, 212 .charge_on_volt = SHARPSL_CHARGE_ON_VOLT,
diff --git a/arch/arm/mach-pxa/include/mach/sharpsl.h b/arch/arm/mach-pxa/include/mach/sharpsl.h
index 3b1d4a72d4d1..8242e14a44fa 100644
--- a/arch/arm/mach-pxa/include/mach/sharpsl.h
+++ b/arch/arm/mach-pxa/include/mach/sharpsl.h
@@ -26,6 +26,7 @@ struct corgits_machinfo {
26 * SharpSL Backlight 26 * SharpSL Backlight
27 */ 27 */
28extern void corgibl_limit_intensity(int limit); 28extern void corgibl_limit_intensity(int limit);
29extern void corgi_lcd_limit_intensity(int limit);
29 30
30 31
31/* 32/*
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 524f656dc56d..f0a5bbae0b45 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -385,6 +385,16 @@ static void __init spitz_init_spi(void)
385 if (err) 385 if (err)
386 goto err_free_2; 386 goto err_free_2;
387 387
388 err = gpio_direction_output(SPITZ_GPIO_ADS7846_CS, 1);
389 if (err)
390 goto err_free_3;
391 err = gpio_direction_output(SPITZ_GPIO_LCDCON_CS, 1);
392 if (err)
393 goto err_free_3;
394 err = gpio_direction_output(SPITZ_GPIO_MAX1111_CS, 1);
395 if (err)
396 goto err_free_3;
397
388 if (machine_is_akita()) { 398 if (machine_is_akita()) {
389 spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT; 399 spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT;
390 spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON; 400 spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON;
@@ -394,6 +404,8 @@ static void __init spitz_init_spi(void)
394 spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); 404 spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
395 return; 405 return;
396 406
407err_free_3:
408 gpio_free(SPITZ_GPIO_MAX1111_CS);
397err_free_2: 409err_free_2:
398 gpio_free(SPITZ_GPIO_LCDCON_CS); 410 gpio_free(SPITZ_GPIO_LCDCON_CS);
399err_free_1: 411err_free_1:
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c
index 53018db106ac..072e77cfe5a3 100644
--- a/arch/arm/mach-pxa/spitz_pm.c
+++ b/arch/arm/mach-pxa/spitz_pm.c
@@ -198,7 +198,9 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = {
198 .read_devdata = spitzpm_read_devdata, 198 .read_devdata = spitzpm_read_devdata,
199 .charger_wakeup = spitz_charger_wakeup, 199 .charger_wakeup = spitz_charger_wakeup,
200 .should_wakeup = spitz_should_wakeup, 200 .should_wakeup = spitz_should_wakeup,
201#ifdef CONFIG_BACKLIGHT_CORGI 201#if defined(CONFIG_LCD_CORGI)
202 .backlight_limit = corgi_lcd_limit_intensity,
203#elif defined(CONFIG_BACKLIGHT_CORGI)
202 .backlight_limit = corgibl_limit_intensity, 204 .backlight_limit = corgibl_limit_intensity,
203#endif 205#endif
204 .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, 206 .charge_on_volt = SHARPSL_CHARGE_ON_VOLT,
diff --git a/arch/arm/mm/cache-xsc3l2.c b/arch/arm/mm/cache-xsc3l2.c
index 10b1bae1a258..464de893a988 100644
--- a/arch/arm/mm/cache-xsc3l2.c
+++ b/arch/arm/mm/cache-xsc3l2.c
@@ -98,7 +98,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end)
98 /* 98 /*
99 * Clean and invalidate partial last cache line. 99 * Clean and invalidate partial last cache line.
100 */ 100 */
101 if (end & (CACHE_LINE_SIZE - 1)) { 101 if (start < end && (end & (CACHE_LINE_SIZE - 1))) {
102 xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1)); 102 xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1));
103 xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1)); 103 xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1));
104 end &= ~(CACHE_LINE_SIZE - 1); 104 end &= ~(CACHE_LINE_SIZE - 1);
@@ -107,7 +107,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end)
107 /* 107 /*
108 * Invalidate all full cache lines between 'start' and 'end'. 108 * Invalidate all full cache lines between 'start' and 'end'.
109 */ 109 */
110 while (start != end) { 110 while (start < end) {
111 xsc3_l2_inv_pa(start); 111 xsc3_l2_inv_pa(start);
112 start += CACHE_LINE_SIZE; 112 start += CACHE_LINE_SIZE;
113 } 113 }
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 8ba754064559..e63db11f16a8 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -180,20 +180,20 @@ void adjust_cr(unsigned long mask, unsigned long set)
180#endif 180#endif
181 181
182#define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_WRITE 182#define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_WRITE
183#define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_XN|PMD_SECT_AP_WRITE 183#define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_AP_WRITE
184 184
185static struct mem_type mem_types[] = { 185static struct mem_type mem_types[] = {
186 [MT_DEVICE] = { /* Strongly ordered / ARMv6 shared device */ 186 [MT_DEVICE] = { /* Strongly ordered / ARMv6 shared device */
187 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_SHARED | 187 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_SHARED |
188 L_PTE_SHARED, 188 L_PTE_SHARED,
189 .prot_l1 = PMD_TYPE_TABLE, 189 .prot_l1 = PMD_TYPE_TABLE,
190 .prot_sect = PROT_SECT_DEVICE | PMD_SECT_UNCACHED, 190 .prot_sect = PROT_SECT_DEVICE | PMD_SECT_S,
191 .domain = DOMAIN_IO, 191 .domain = DOMAIN_IO,
192 }, 192 },
193 [MT_DEVICE_NONSHARED] = { /* ARMv6 non-shared device */ 193 [MT_DEVICE_NONSHARED] = { /* ARMv6 non-shared device */
194 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_NONSHARED, 194 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_NONSHARED,
195 .prot_l1 = PMD_TYPE_TABLE, 195 .prot_l1 = PMD_TYPE_TABLE,
196 .prot_sect = PROT_SECT_DEVICE | PMD_SECT_TEX(2), 196 .prot_sect = PROT_SECT_DEVICE,
197 .domain = DOMAIN_IO, 197 .domain = DOMAIN_IO,
198 }, 198 },
199 [MT_DEVICE_CACHED] = { /* ioremap_cached */ 199 [MT_DEVICE_CACHED] = { /* ioremap_cached */
@@ -205,7 +205,7 @@ static struct mem_type mem_types[] = {
205 [MT_DEVICE_WC] = { /* ioremap_wc */ 205 [MT_DEVICE_WC] = { /* ioremap_wc */
206 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_WC, 206 .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_WC,
207 .prot_l1 = PMD_TYPE_TABLE, 207 .prot_l1 = PMD_TYPE_TABLE,
208 .prot_sect = PROT_SECT_DEVICE | PMD_SECT_BUFFERABLE, 208 .prot_sect = PROT_SECT_DEVICE,
209 .domain = DOMAIN_IO, 209 .domain = DOMAIN_IO,
210 }, 210 },
211 [MT_CACHECLEAN] = { 211 [MT_CACHECLEAN] = {
@@ -273,22 +273,23 @@ static void __init build_mem_type_table(void)
273#endif 273#endif
274 274
275 /* 275 /*
276 * On non-Xscale3 ARMv5-and-older systems, use CB=01 276 * Strip out features not present on earlier architectures.
277 * (Uncached/Buffered) for ioremap_wc() mappings. On XScale3 277 * Pre-ARMv5 CPUs don't have TEX bits. Pre-ARMv6 CPUs or those
278 * and ARMv6+, use TEXCB=00100 mappings (Inner/Outer Uncacheable 278 * without extended page tables don't have the 'Shared' bit.
279 * in xsc3 parlance, Uncached Normal in ARMv6 parlance).
280 */ 279 */
281 if (cpu_is_xsc3() || cpu_arch >= CPU_ARCH_ARMv6) { 280 if (cpu_arch < CPU_ARCH_ARMv5)
282 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1); 281 for (i = 0; i < ARRAY_SIZE(mem_types); i++)
283 mem_types[MT_DEVICE_WC].prot_sect &= ~PMD_SECT_BUFFERABLE; 282 mem_types[i].prot_sect &= ~PMD_SECT_TEX(7);
284 } 283 if ((cpu_arch < CPU_ARCH_ARMv6 || !(cr & CR_XP)) && !cpu_is_xsc3())
284 for (i = 0; i < ARRAY_SIZE(mem_types); i++)
285 mem_types[i].prot_sect &= ~PMD_SECT_S;
285 286
286 /* 287 /*
287 * ARMv5 and lower, bit 4 must be set for page tables. 288 * ARMv5 and lower, bit 4 must be set for page tables (was: cache
288 * (was: cache "update-able on write" bit on ARM610) 289 * "update-able on write" bit on ARM610). However, Xscale and
289 * However, Xscale cores require this bit to be cleared. 290 * Xscale3 require this bit to be cleared.
290 */ 291 */
291 if (cpu_is_xscale()) { 292 if (cpu_is_xscale() || cpu_is_xsc3()) {
292 for (i = 0; i < ARRAY_SIZE(mem_types); i++) { 293 for (i = 0; i < ARRAY_SIZE(mem_types); i++) {
293 mem_types[i].prot_sect &= ~PMD_BIT4; 294 mem_types[i].prot_sect &= ~PMD_BIT4;
294 mem_types[i].prot_l1 &= ~PMD_BIT4; 295 mem_types[i].prot_l1 &= ~PMD_BIT4;
@@ -302,6 +303,64 @@ static void __init build_mem_type_table(void)
302 } 303 }
303 } 304 }
304 305
306 /*
307 * Mark the device areas according to the CPU/architecture.
308 */
309 if (cpu_is_xsc3() || (cpu_arch >= CPU_ARCH_ARMv6 && (cr & CR_XP))) {
310 if (!cpu_is_xsc3()) {
311 /*
312 * Mark device regions on ARMv6+ as execute-never
313 * to prevent speculative instruction fetches.
314 */
315 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_XN;
316 mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_XN;
317 mem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_XN;
318 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_XN;
319 }
320 if (cpu_arch >= CPU_ARCH_ARMv7 && (cr & CR_TRE)) {
321 /*
322 * For ARMv7 with TEX remapping,
323 * - shared device is SXCB=1100
324 * - nonshared device is SXCB=0100
325 * - write combine device mem is SXCB=0001
326 * (Uncached Normal memory)
327 */
328 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_TEX(1);
329 mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(1);
330 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_BUFFERABLE;
331 } else if (cpu_is_xsc3()) {
332 /*
333 * For Xscale3,
334 * - shared device is TEXCB=00101
335 * - nonshared device is TEXCB=01000
336 * - write combine device mem is TEXCB=00100
337 * (Inner/Outer Uncacheable in xsc3 parlance)
338 */
339 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_TEX(1) | PMD_SECT_BUFFERED;
340 mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(2);
341 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1);
342 } else {
343 /*
344 * For ARMv6 and ARMv7 without TEX remapping,
345 * - shared device is TEXCB=00001
346 * - nonshared device is TEXCB=01000
347 * - write combine device mem is TEXCB=00100
348 * (Uncached Normal in ARMv6 parlance).
349 */
350 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED;
351 mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(2);
352 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1);
353 }
354 } else {
355 /*
356 * On others, write combining is "Uncached/Buffered"
357 */
358 mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_BUFFERABLE;
359 }
360
361 /*
362 * Now deal with the memory-type mappings
363 */
305 cp = &cache_policies[cachepolicy]; 364 cp = &cache_policies[cachepolicy];
306 vecs_pgprot = kern_pgprot = user_pgprot = cp->pte; 365 vecs_pgprot = kern_pgprot = user_pgprot = cp->pte;
307 366
@@ -317,12 +376,8 @@ static void __init build_mem_type_table(void)
317 * Enable CPU-specific coherency if supported. 376 * Enable CPU-specific coherency if supported.
318 * (Only available on XSC3 at the moment.) 377 * (Only available on XSC3 at the moment.)
319 */ 378 */
320 if (arch_is_coherent()) { 379 if (arch_is_coherent() && cpu_is_xsc3())
321 if (cpu_is_xsc3()) { 380 mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S;
322 mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S;
323 mem_types[MT_MEMORY].prot_pte |= L_PTE_SHARED;
324 }
325 }
326 381
327 /* 382 /*
328 * ARMv6 and above have extended page tables. 383 * ARMv6 and above have extended page tables.
@@ -336,11 +391,6 @@ static void __init build_mem_type_table(void)
336 mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; 391 mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
337 mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; 392 mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
338 393
339 /*
340 * Mark the device area as "shared device"
341 */
342 mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED;
343
344#ifdef CONFIG_SMP 394#ifdef CONFIG_SMP
345 /* 395 /*
346 * Mark memory with the "shared" attribute for SMP systems 396 * Mark memory with the "shared" attribute for SMP systems
@@ -360,9 +410,6 @@ static void __init build_mem_type_table(void)
360 mem_types[MT_LOW_VECTORS].prot_pte |= vecs_pgprot; 410 mem_types[MT_LOW_VECTORS].prot_pte |= vecs_pgprot;
361 mem_types[MT_HIGH_VECTORS].prot_pte |= vecs_pgprot; 411 mem_types[MT_HIGH_VECTORS].prot_pte |= vecs_pgprot;
362 412
363 if (cpu_arch < CPU_ARCH_ARMv5)
364 mem_types[MT_MINICLEAN].prot_sect &= ~PMD_SECT_TEX(1);
365
366 pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot); 413 pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot);
367 pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | 414 pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG |
368 L_PTE_DIRTY | L_PTE_WRITE | 415 L_PTE_DIRTY | L_PTE_WRITE |
@@ -654,7 +701,7 @@ static inline void prepare_page_table(struct meminfo *mi)
654 /* 701 /*
655 * Clear out all the mappings below the kernel image. 702 * Clear out all the mappings below the kernel image.
656 */ 703 */
657 for (addr = 0; addr < MODULE_START; addr += PGDIR_SIZE) 704 for (addr = 0; addr < MODULES_VADDR; addr += PGDIR_SIZE)
658 pmd_clear(pmd_off_k(addr)); 705 pmd_clear(pmd_off_k(addr));
659 706
660#ifdef CONFIG_XIP_KERNEL 707#ifdef CONFIG_XIP_KERNEL
@@ -766,7 +813,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc)
766 */ 813 */
767#ifdef CONFIG_XIP_KERNEL 814#ifdef CONFIG_XIP_KERNEL
768 map.pfn = __phys_to_pfn(CONFIG_XIP_PHYS_ADDR & SECTION_MASK); 815 map.pfn = __phys_to_pfn(CONFIG_XIP_PHYS_ADDR & SECTION_MASK);
769 map.virtual = MODULE_START; 816 map.virtual = MODULES_VADDR;
770 map.length = ((unsigned long)&_etext - map.virtual + ~SECTION_MASK) & SECTION_MASK; 817 map.length = ((unsigned long)&_etext - map.virtual + ~SECTION_MASK) & SECTION_MASK;
771 map.type = MT_ROM; 818 map.type = MT_ROM;
772 create_mapping(&map); 819 create_mapping(&map);
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 07f82db70945..4d3c0a73e7fb 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -115,7 +115,7 @@ ENTRY(cpu_v7_set_pte_ext)
115 orr r3, r3, r2 115 orr r3, r3, r2
116 orr r3, r3, #PTE_EXT_AP0 | 2 116 orr r3, r3, #PTE_EXT_AP0 | 2
117 117
118 tst r2, #1 << 4 118 tst r1, #1 << 4
119 orrne r3, r3, #PTE_EXT_TEX(1) 119 orrne r3, r3, #PTE_EXT_TEX(1)
120 120
121 tst r1, #L_PTE_WRITE 121 tst r1, #L_PTE_WRITE
@@ -192,11 +192,11 @@ __v7_setup:
192 mov pc, lr @ return to head.S:__ret 192 mov pc, lr @ return to head.S:__ret
193ENDPROC(__v7_setup) 193ENDPROC(__v7_setup)
194 194
195 /* 195 /* AT
196 * V X F I D LR 196 * TFR EV X F I D LR
197 * .... ...E PUI. .T.T 4RVI ZFRS BLDP WCAM 197 * .EEE ..EE PUI. .T.T 4RVI ZFRS BLDP WCAM
198 * rrrr rrrx xxx0 0101 xxxx xxxx x111 xxxx < forced 198 * rxxx rrxx xxx0 0101 xxxx xxxx x111 xxxx < forced
199 * 0 110 0011 1.00 .111 1101 < we want 199 * 1 0 110 0011 1.00 .111 1101 < we want
200 */ 200 */
201 .type v7_crval, #object 201 .type v7_crval, #object
202v7_crval: 202v7_crval:
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
index 04dc8b65401b..8f6cf56c11c0 100644
--- a/arch/arm/mm/proc-xsc3.S
+++ b/arch/arm/mm/proc-xsc3.S
@@ -349,7 +349,7 @@ ENTRY(cpu_xsc3_switch_mm)
349cpu_xsc3_mt_table: 349cpu_xsc3_mt_table:
350 .long 0x00 @ L_PTE_MT_UNCACHED 350 .long 0x00 @ L_PTE_MT_UNCACHED
351 .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE 351 .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE
352 .long PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH 352 .long PTE_EXT_TEX(5) | PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH
353 .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK 353 .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK
354 .long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED 354 .long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED
355 .long 0x00 @ unused 355 .long 0x00 @ unused
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c
index 733e0acac916..de5c4747453f 100644
--- a/arch/arm/plat-mxc/gpio.c
+++ b/arch/arm/plat-mxc/gpio.c
@@ -188,7 +188,7 @@ static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset)
188 struct mxc_gpio_port *port = 188 struct mxc_gpio_port *port =
189 container_of(chip, struct mxc_gpio_port, chip); 189 container_of(chip, struct mxc_gpio_port, chip);
190 190
191 return (__raw_readl(port->base + GPIO_DR) >> offset) & 1; 191 return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1;
192} 192}
193 193
194static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) 194static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
diff --git a/arch/arm/plat-mxc/include/mach/io.h b/arch/arm/plat-mxc/include/mach/io.h
index 65b6810124c1..5d4cb1196441 100644
--- a/arch/arm/plat-mxc/include/mach/io.h
+++ b/arch/arm/plat-mxc/include/mach/io.h
@@ -14,6 +14,26 @@
14/* Allow IO space to be anywhere in the memory */ 14/* Allow IO space to be anywhere in the memory */
15#define IO_SPACE_LIMIT 0xffffffff 15#define IO_SPACE_LIMIT 0xffffffff
16 16
17#ifdef CONFIG_ARCH_MX3
18#define __arch_ioremap __mx3_ioremap
19#define __arch_iounmap __iounmap
20
21static inline void __iomem *
22__mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
23{
24 if (mtype == MT_DEVICE) {
25 /* Access all peripherals below 0x80000000 as nonshared device
26 * but leave l2cc alone.
27 */
28 if ((phys_addr < 0x80000000) && ((phys_addr < L2CC_BASE_ADDR) ||
29 (phys_addr >= L2CC_BASE_ADDR + L2CC_SIZE)))
30 mtype = MT_DEVICE_NONSHARED;
31 }
32
33 return __arm_ioremap(phys_addr, size, mtype);
34}
35#endif
36
17/* io address mapping macro */ 37/* io address mapping macro */
18#define __io(a) ((void __iomem *)(a)) 38#define __io(a) ((void __iomem *)(a))
19 39
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index bf6a10c5fc4f..be6aab9c6834 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -428,23 +428,23 @@ static int clk_debugfs_register_one(struct clk *c)
428 if (c->id != 0) 428 if (c->id != 0)
429 sprintf(p, ":%d", c->id); 429 sprintf(p, ":%d", c->id);
430 d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root); 430 d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root);
431 if (IS_ERR(d)) 431 if (!d)
432 return PTR_ERR(d); 432 return -ENOMEM;
433 c->dent = d; 433 c->dent = d;
434 434
435 d = debugfs_create_u8("usecount", S_IRUGO, c->dent, (u8 *)&c->usecount); 435 d = debugfs_create_u8("usecount", S_IRUGO, c->dent, (u8 *)&c->usecount);
436 if (IS_ERR(d)) { 436 if (!d) {
437 err = PTR_ERR(d); 437 err = -ENOMEM;
438 goto err_out; 438 goto err_out;
439 } 439 }
440 d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate); 440 d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate);
441 if (IS_ERR(d)) { 441 if (!d) {
442 err = PTR_ERR(d); 442 err = -ENOMEM;
443 goto err_out; 443 goto err_out;
444 } 444 }
445 d = debugfs_create_x32("flags", S_IRUGO, c->dent, (u32 *)&c->flags); 445 d = debugfs_create_x32("flags", S_IRUGO, c->dent, (u32 *)&c->flags);
446 if (IS_ERR(d)) { 446 if (!d) {
447 err = PTR_ERR(d); 447 err = -ENOMEM;
448 goto err_out; 448 goto err_out;
449 } 449 }
450 return 0; 450 return 0;
@@ -483,8 +483,8 @@ static int __init clk_debugfs_init(void)
483 int err; 483 int err;
484 484
485 d = debugfs_create_dir("clock", NULL); 485 d = debugfs_create_dir("clock", NULL);
486 if (IS_ERR(d)) 486 if (!d)
487 return PTR_ERR(d); 487 return -ENOMEM;
488 clk_debugfs_root = d; 488 clk_debugfs_root = d;
489 489
490 list_for_each_entry(c, &clocks, node) { 490 list_for_each_entry(c, &clocks, node) {
diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S b/arch/arm/plat-omap/include/mach/entry-macro.S
index 030118ee204a..2276f89671d8 100644
--- a/arch/arm/plat-omap/include/mach/entry-macro.S
+++ b/arch/arm/plat-omap/include/mach/entry-macro.S
@@ -65,7 +65,8 @@
65#include <mach/omap34xx.h> 65#include <mach/omap34xx.h>
66#endif 66#endif
67 67
68#define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt number */ 68#define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */
69#define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */
69 70
70 .macro disable_fiq 71 .macro disable_fiq
71 .endm 72 .endm
@@ -88,6 +89,7 @@
88 cmp \irqnr, #0x0 89 cmp \irqnr, #0x0
892222: 902222:
90 ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] 91 ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET]
92 and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */
91 93
92 .endm 94 .endm
93 95
diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h
index a2929ac8c687..bed5274c910a 100644
--- a/arch/arm/plat-omap/include/mach/irqs.h
+++ b/arch/arm/plat-omap/include/mach/irqs.h
@@ -372,7 +372,7 @@
372 372
373/* External TWL4030 gpio interrupts are optional */ 373/* External TWL4030 gpio interrupts are optional */
374#define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END 374#define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END
375#ifdef CONFIG_TWL4030_GPIO 375#ifdef CONFIG_GPIO_TWL4030
376#define TWL4030_GPIO_NR_IRQS 18 376#define TWL4030_GPIO_NR_IRQS 18
377#else 377#else
378#define TWL4030_GPIO_NR_IRQS 0 378#define TWL4030_GPIO_NR_IRQS 0
diff --git a/arch/cris/Makefile b/arch/cris/Makefile
index c6f5f5a2ffdf..3662cfb7b61d 100644
--- a/arch/cris/Makefile
+++ b/arch/cris/Makefile
@@ -23,12 +23,17 @@ mach-$(CONFIG_ETRAXFS) := fs
23 23
24ifneq ($(arch-y),) 24ifneq ($(arch-y),)
25SARCH := arch-$(arch-y) 25SARCH := arch-$(arch-y)
26inc := -Iarch/cris/include/$(SARCH)
27inc += -Iarch/cris/include/$(SARCH)/arch
26else 28else
27SARCH := 29SARCH :=
30inc :=
28endif 31endif
29 32
30ifneq ($(mach-y),) 33ifneq ($(mach-y),)
31MACH := mach-$(mach-y) 34MACH := mach-$(mach-y)
35inc += -Iarch/cris/include/$(SARCH)/$(MACH)/
36inc += -Iarch/cris/include/$(SARCH)/$(MACH)/mach
32else 37else
33MACH := 38MACH :=
34endif 39endif
@@ -39,95 +44,57 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S
39 44
40CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) 45CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
41 46
42KBUILD_AFLAGS += -mlinux -march=$(arch-y) -Iinclude/asm/arch/mach -Iinclude/asm/arch 47KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc)
43 48KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc)
44KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe -Iinclude/asm/arch/mach -Iinclude/asm/arch 49KBUILD_CPPFLAGS += $(inc)
45 50
46ifdef CONFIG_FRAME_POINTER 51ifdef CONFIG_FRAME_POINTER
47KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g 52KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
48KBUILD_CFLAGS += -fno-omit-frame-pointer 53KBUILD_CFLAGS += -fno-omit-frame-pointer
49endif 54endif
50 55
51head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o 56head-y := arch/cris/$(SARCH)/kernel/head.o
52 57
53LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) 58LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a)
54 59
55core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ 60core-y += arch/cris/kernel/ arch/cris/mm/
56core-y += arch/$(ARCH)/$(SARCH)/kernel/ arch/$(ARCH)/$(SARCH)/mm/ 61core-y += arch/cris/$(SARCH)/kernel/ arch/cris/$(SARCH)/mm/
57ifdef CONFIG_ETRAX_ARCH_V32 62ifdef CONFIG_ETRAX_ARCH_V32
58core-y += arch/$(ARCH)/$(SARCH)/$(MACH)/ 63core-y += arch/cris/$(SARCH)/$(MACH)/
59endif 64endif
60drivers-y += arch/$(ARCH)/$(SARCH)/drivers/ 65drivers-y += arch/cris/$(SARCH)/drivers/
61libs-y += arch/$(ARCH)/$(SARCH)/lib/ $(LIBGCC) 66libs-y += arch/cris/$(SARCH)/lib/ $(LIBGCC)
62 67
63# cris source path 68# cris source path
64SRC_ARCH = $(srctree)/arch/$(ARCH) 69SRC_ARCH = $(srctree)/arch/cris
65# cris object files path 70# cris object files path
66OBJ_ARCH = $(objtree)/arch/$(ARCH) 71OBJ_ARCH = $(objtree)/arch/cris
67 72
68boot := arch/$(ARCH)/boot 73boot := arch/cris/$(SARCH)/boot
69MACHINE := arch/$(ARCH)/$(SARCH) 74MACHINE := arch/cris/$(SARCH)
70 75
71all: zImage 76all: zImage
72 77
73zImage Image: vmlinux 78zImage Image: vmlinux
74 $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ 79 $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
75 80
76archprepare: $(SRC_ARCH)/.links $(srctree)/include/asm-$(ARCH)/.arch FORCE 81archprepare:
77
78# Create some links to make all tools happy
79$(SRC_ARCH)/.links:
80 @rm -rf $(SRC_ARCH)/drivers
81 @ln -sfn $(SARCH)/drivers $(SRC_ARCH)/drivers
82 @rm -rf $(SRC_ARCH)/boot
83 @ln -sfn $(SARCH)/boot $(SRC_ARCH)/boot
84 @rm -rf $(SRC_ARCH)/lib
85 @ln -sfn $(SARCH)/lib $(SRC_ARCH)/lib
86 @rm -f $(SRC_ARCH)/arch/mach
87 @rm -rf $(SRC_ARCH)/arch
88 @ln -sfn $(SARCH) $(SRC_ARCH)/arch
89ifdef CONFIG_ETRAX_ARCH_V32
90 @ln -sfn ../$(SARCH)/$(MACH) $(SRC_ARCH)/arch/mach
91endif
92 @rm -rf $(SRC_ARCH)/kernel/vmlinux.lds.S
93 @ln -sfn ../$(SARCH)/vmlinux.lds.S $(SRC_ARCH)/kernel/vmlinux.lds.S
94 @rm -rf $(SRC_ARCH)/kernel/asm-offsets.c
95 @ln -sfn ../$(SARCH)/kernel/asm-offsets.c $(SRC_ARCH)/kernel/asm-offsets.c
96 @touch $@
97
98# Create link to sub arch includes
99$(srctree)/include/asm-$(ARCH)/.arch: $(wildcard include/config/arch/*.h)
100 @echo ' SYMLINK include/asm-$(ARCH)/arch -> include/asm-$(ARCH)/$(SARCH)'
101 @rm -f $(srctree)/include/asm-$(ARCH)/arch/mach
102 @rm -f $(srctree)/include/asm-$(ARCH)/arch
103 @ln -sf $(SARCH) $(srctree)/include/asm-$(ARCH)/arch
104ifdef CONFIG_ETRAX_ARCH_V32
105 @ln -sf $(MACH) $(srctree)/include/asm-$(ARCH)/arch/mach
106endif
107 @touch $@
108 82
109archclean: 83archclean:
110 $(Q)if [ -e arch/$(ARCH)/boot ]; then \ 84 $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \
111 $(MAKE) $(clean)=arch/$(ARCH)/boot; \ 85 $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \
112 fi 86 fi
113 87
114CLEAN_FILES += \ 88CLEAN_FILES += \
115 $(MACHINE)/boot/zImage \ 89 $(MACHINE)/boot/zImage \
116 $(MACHINE)/boot/compressed/decompress.bin \ 90 $(MACHINE)/boot/compressed/decompress.bin \
117 $(MACHINE)/boot/compressed/piggy.gz \ 91 $(MACHINE)/boot/compressed/piggy.gz \
118 $(MACHINE)/boot/rescue/rescue.bin \ 92 $(MACHINE)/boot/rescue/rescue.bin
119 $(SRC_ARCH)/.links \ 93
120 $(srctree)/include/asm-$(ARCH)/.arch 94
121 95# MRPROPER_FILES +=
122MRPROPER_FILES += \
123 $(SRC_ARCH)/drivers \
124 $(SRC_ARCH)/boot \
125 $(SRC_ARCH)/lib \
126 $(SRC_ARCH)/arch \
127 $(SRC_ARCH)/kernel/vmlinux.lds.S \
128 $(SRC_ARCH)/kernel/asm-offsets.c
129 96
130define archhelp 97define archhelp
131 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' 98 echo '* zImage - Compressed kernel image (arch/cris/boot/zImage)'
132 echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' 99 echo '* Image - Uncompressed kernel image (arch/cris/boot/Image)'
133endef 100endef
diff --git a/arch/cris/arch-v10/boot/.gitignore b/arch/cris/arch-v10/boot/.gitignore
new file mode 100644
index 000000000000..171a0853caf8
--- /dev/null
+++ b/arch/cris/arch-v10/boot/.gitignore
@@ -0,0 +1,2 @@
1Image
2zImage
diff --git a/arch/cris/arch-v10/boot/compressed/head.S b/arch/cris/arch-v10/boot/compressed/head.S
index 981fbae84959..0bb4dcc29254 100644
--- a/arch/cris/arch-v10/boot/compressed/head.S
+++ b/arch/cris/arch-v10/boot/compressed/head.S
@@ -9,7 +9,7 @@
9 */ 9 */
10 10
11#define ASSEMBLER_MACROS_ONLY 11#define ASSEMBLER_MACROS_ONLY
12#include <asm/arch/sv_addr_ag.h> 12#include <arch/sv_addr_ag.h>
13 13
14#define RAM_INIT_MAGIC 0x56902387 14#define RAM_INIT_MAGIC 0x56902387
15#define COMMAND_LINE_MAGIC 0x87109563 15#define COMMAND_LINE_MAGIC 0x87109563
diff --git a/arch/cris/arch-v10/boot/compressed/misc.c b/arch/cris/arch-v10/boot/compressed/misc.c
index d933c89889db..a4db1507d3b1 100644
--- a/arch/cris/arch-v10/boot/compressed/misc.c
+++ b/arch/cris/arch-v10/boot/compressed/misc.c
@@ -20,7 +20,7 @@
20 20
21 21
22#include <linux/types.h> 22#include <linux/types.h>
23#include <asm/arch/svinto.h> 23#include <arch/svinto.h>
24 24
25/* 25/*
26 * gzip declarations 26 * gzip declarations
diff --git a/arch/cris/arch-v10/boot/rescue/head.S b/arch/cris/arch-v10/boot/rescue/head.S
index 6ba7be8ac4a0..fb503d1eeea4 100644
--- a/arch/cris/arch-v10/boot/rescue/head.S
+++ b/arch/cris/arch-v10/boot/rescue/head.S
@@ -65,7 +65,7 @@
65#ifdef CONFIG_ETRAX_AXISFLASHMAP 65#ifdef CONFIG_ETRAX_AXISFLASHMAP
66 66
67#define ASSEMBLER_MACROS_ONLY 67#define ASSEMBLER_MACROS_ONLY
68#include <asm/arch/sv_addr_ag.h> 68#include <arch/sv_addr_ag.h>
69 69
70 ;; The partitiontable is looked for at the first sector after the boot 70 ;; The partitiontable is looked for at the first sector after the boot
71 ;; sector. Sector size is 65536 bytes in all flashes we use. 71 ;; sector. Sector size is 65536 bytes in all flashes we use.
diff --git a/arch/cris/arch-v10/boot/rescue/kimagerescue.S b/arch/cris/arch-v10/boot/rescue/kimagerescue.S
index 55eeff8bb08e..6f7b3e61260b 100644
--- a/arch/cris/arch-v10/boot/rescue/kimagerescue.S
+++ b/arch/cris/arch-v10/boot/rescue/kimagerescue.S
@@ -6,7 +6,7 @@
6 */ 6 */
7 7
8#define ASSEMBLER_MACROS_ONLY 8#define ASSEMBLER_MACROS_ONLY
9#include <asm/arch/sv_addr_ag.h> 9#include <arch/sv_addr_ag.h>
10 10
11#define CODE_START 0x40004000 11#define CODE_START 0x40004000
12#define CODE_LENGTH 784 12#define CODE_LENGTH 784
diff --git a/arch/cris/arch-v10/boot/rescue/testrescue.S b/arch/cris/arch-v10/boot/rescue/testrescue.S
index 2d937f9afe23..fc7ec674eca5 100644
--- a/arch/cris/arch-v10/boot/rescue/testrescue.S
+++ b/arch/cris/arch-v10/boot/rescue/testrescue.S
@@ -6,7 +6,7 @@
6 */ 6 */
7 7
8#define ASSEMBLER_MACROS_ONLY 8#define ASSEMBLER_MACROS_ONLY
9#include <asm/arch/sv_addr_ag.h> 9#include <arch/sv_addr_ag.h>
10 10
11 .text 11 .text
12 12
diff --git a/arch/cris/arch-v10/drivers/axisflashmap.c b/arch/cris/arch-v10/drivers/axisflashmap.c
index b3bdda93ffef..b2079703af7e 100644
--- a/arch/cris/arch-v10/drivers/axisflashmap.c
+++ b/arch/cris/arch-v10/drivers/axisflashmap.c
@@ -26,7 +26,7 @@
26 26
27#include <asm/axisflashmap.h> 27#include <asm/axisflashmap.h>
28#include <asm/mmu.h> 28#include <asm/mmu.h>
29#include <asm/arch/sv_addr_ag.h> 29#include <arch/sv_addr_ag.h>
30 30
31#ifdef CONFIG_CRIS_LOW_MAP 31#ifdef CONFIG_CRIS_LOW_MAP
32#define FLASH_UNCACHED_ADDR KSEG_8 32#define FLASH_UNCACHED_ADDR KSEG_8
diff --git a/arch/cris/arch-v10/drivers/ds1302.c b/arch/cris/arch-v10/drivers/ds1302.c
index 3bdfaf43390c..77630df94343 100644
--- a/arch/cris/arch-v10/drivers/ds1302.c
+++ b/arch/cris/arch-v10/drivers/ds1302.c
@@ -24,10 +24,10 @@
24 24
25#include <asm/uaccess.h> 25#include <asm/uaccess.h>
26#include <asm/system.h> 26#include <asm/system.h>
27#include <asm/arch/svinto.h> 27#include <arch/svinto.h>
28#include <asm/io.h> 28#include <asm/io.h>
29#include <asm/rtc.h> 29#include <asm/rtc.h>
30#include <asm/arch/io_interface_mux.h> 30#include <arch/io_interface_mux.h>
31 31
32#include "i2c.h" 32#include "i2c.h"
33 33
diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c
index 86048e697eb5..4b0f65fac8e8 100644
--- a/arch/cris/arch-v10/drivers/gpio.c
+++ b/arch/cris/arch-v10/drivers/gpio.c
@@ -23,11 +23,11 @@
23#include <linux/interrupt.h> 23#include <linux/interrupt.h>
24 24
25#include <asm/etraxgpio.h> 25#include <asm/etraxgpio.h>
26#include <asm/arch/svinto.h> 26#include <arch/svinto.h>
27#include <asm/io.h> 27#include <asm/io.h>
28#include <asm/system.h> 28#include <asm/system.h>
29#include <asm/irq.h> 29#include <asm/irq.h>
30#include <asm/arch/io_interface_mux.h> 30#include <arch/io_interface_mux.h>
31 31
32#define GPIO_MAJOR 120 /* experimental MAJOR number */ 32#define GPIO_MAJOR 120 /* experimental MAJOR number */
33 33
diff --git a/arch/cris/arch-v10/drivers/i2c.c b/arch/cris/arch-v10/drivers/i2c.c
index 2797e67ce4f4..7f656ae0b21d 100644
--- a/arch/cris/arch-v10/drivers/i2c.c
+++ b/arch/cris/arch-v10/drivers/i2c.c
@@ -25,10 +25,10 @@
25#include <asm/etraxi2c.h> 25#include <asm/etraxi2c.h>
26 26
27#include <asm/system.h> 27#include <asm/system.h>
28#include <asm/arch/svinto.h> 28#include <arch/svinto.h>
29#include <asm/io.h> 29#include <asm/io.h>
30#include <asm/delay.h> 30#include <asm/delay.h>
31#include <asm/arch/io_interface_mux.h> 31#include <arch/io_interface_mux.h>
32 32
33#include "i2c.h" 33#include "i2c.h"
34 34
diff --git a/arch/cris/arch-v10/drivers/sync_serial.c b/arch/cris/arch-v10/drivers/sync_serial.c
index 91fea623c7c9..6cc1a0319a5d 100644
--- a/arch/cris/arch-v10/drivers/sync_serial.c
+++ b/arch/cris/arch-v10/drivers/sync_serial.c
@@ -26,11 +26,11 @@
26#include <asm/irq.h> 26#include <asm/irq.h>
27#include <asm/dma.h> 27#include <asm/dma.h>
28#include <asm/io.h> 28#include <asm/io.h>
29#include <asm/arch/svinto.h> 29#include <arch/svinto.h>
30#include <asm/uaccess.h> 30#include <asm/uaccess.h>
31#include <asm/system.h> 31#include <asm/system.h>
32#include <asm/sync_serial.h> 32#include <asm/sync_serial.h>
33#include <asm/arch/io_interface_mux.h> 33#include <arch/io_interface_mux.h>
34 34
35/* The receiver is a bit tricky beacuse of the continuous stream of data.*/ 35/* The receiver is a bit tricky beacuse of the continuous stream of data.*/
36/* */ 36/* */
diff --git a/arch/cris/arch-v10/kernel/asm-offsets.c b/arch/cris/arch-v10/kernel/asm-offsets.c
deleted file mode 100644
index 1aa3cc4e7107..000000000000
--- a/arch/cris/arch-v10/kernel/asm-offsets.c
+++ /dev/null
@@ -1,47 +0,0 @@
1#include <linux/sched.h>
2#include <asm/thread_info.h>
3
4/*
5 * Generate definitions needed by assembly language modules.
6 * This code generates raw asm output which is post-processed to extract
7 * and format the required data.
8 */
9
10#define DEFINE(sym, val) \
11 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
12
13#define BLANK() asm volatile("\n->" : : )
14
15int main(void)
16{
17#define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry))
18 ENTRY(orig_r10);
19 ENTRY(r13);
20 ENTRY(r12);
21 ENTRY(r11);
22 ENTRY(r10);
23 ENTRY(r9);
24 ENTRY(mof);
25 ENTRY(dccr);
26 ENTRY(srp);
27 BLANK();
28#undef ENTRY
29#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry))
30 ENTRY(task);
31 ENTRY(flags);
32 ENTRY(preempt_count);
33 BLANK();
34#undef ENTRY
35#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry))
36 ENTRY(ksp);
37 ENTRY(usp);
38 ENTRY(dccr);
39 BLANK();
40#undef ENTRY
41#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry))
42 ENTRY(pid);
43 BLANK();
44 DEFINE(LCLONE_VM, CLONE_VM);
45 DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED);
46 return 0;
47}
diff --git a/arch/cris/arch-v10/kernel/crisksyms.c b/arch/cris/arch-v10/kernel/crisksyms.c
index e6b80135502f..1ca6fc283232 100644
--- a/arch/cris/arch-v10/kernel/crisksyms.c
+++ b/arch/cris/arch-v10/kernel/crisksyms.c
@@ -1,6 +1,6 @@
1#include <linux/module.h> 1#include <linux/module.h>
2#include <asm/io.h> 2#include <asm/io.h>
3#include <asm/arch/svinto.h> 3#include <arch/svinto.h>
4 4
5/* Export shadow registers for the CPU I/O pins */ 5/* Export shadow registers for the CPU I/O pins */
6EXPORT_SYMBOL(genconfig_shadow); 6EXPORT_SYMBOL(genconfig_shadow);
diff --git a/arch/cris/arch-v10/kernel/debugport.c b/arch/cris/arch-v10/kernel/debugport.c
index 3dc6e91ba39e..99851ba8e5fa 100644
--- a/arch/cris/arch-v10/kernel/debugport.c
+++ b/arch/cris/arch-v10/kernel/debugport.c
@@ -19,7 +19,7 @@
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/tty.h> 20#include <linux/tty.h>
21#include <asm/system.h> 21#include <asm/system.h>
22#include <asm/arch/svinto.h> 22#include <arch/svinto.h>
23#include <asm/io.h> /* Get SIMCOUT. */ 23#include <asm/io.h> /* Get SIMCOUT. */
24 24
25extern void reset_watchdog(void); 25extern void reset_watchdog(void);
diff --git a/arch/cris/arch-v10/kernel/dma.c b/arch/cris/arch-v10/kernel/dma.c
index eb1fa0d2b49f..929e68666299 100644
--- a/arch/cris/arch-v10/kernel/dma.c
+++ b/arch/cris/arch-v10/kernel/dma.c
@@ -7,7 +7,7 @@
7#include <linux/errno.h> 7#include <linux/errno.h>
8 8
9#include <asm/dma.h> 9#include <asm/dma.h>
10#include <asm/arch/svinto.h> 10#include <arch/svinto.h>
11 11
12/* Macro to access ETRAX 100 registers */ 12/* Macro to access ETRAX 100 registers */
13#define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \ 13#define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \
diff --git a/arch/cris/arch-v10/kernel/entry.S b/arch/cris/arch-v10/kernel/entry.S
index 3a65f322ae07..ed171d389e65 100644
--- a/arch/cris/arch-v10/kernel/entry.S
+++ b/arch/cris/arch-v10/kernel/entry.S
@@ -23,7 +23,7 @@
23#include <linux/linkage.h> 23#include <linux/linkage.h>
24#include <linux/sys.h> 24#include <linux/sys.h>
25#include <asm/unistd.h> 25#include <asm/unistd.h>
26#include <asm/arch/sv_addr_ag.h> 26#include <arch/sv_addr_ag.h>
27#include <asm/errno.h> 27#include <asm/errno.h>
28#include <asm/thread_info.h> 28#include <asm/thread_info.h>
29#include <asm/asm-offsets.h> 29#include <asm/asm-offsets.h>
diff --git a/arch/cris/arch-v10/kernel/fasttimer.c b/arch/cris/arch-v10/kernel/fasttimer.c
index 31ff35cff02c..5ff08a8695e9 100644
--- a/arch/cris/arch-v10/kernel/fasttimer.c
+++ b/arch/cris/arch-v10/kernel/fasttimer.c
@@ -24,7 +24,7 @@
24#include <asm/rtc.h> 24#include <asm/rtc.h>
25 25
26 26
27#include <asm/arch/svinto.h> 27#include <arch/svinto.h>
28#include <asm/fasttimer.h> 28#include <asm/fasttimer.h>
29#include <linux/proc_fs.h> 29#include <linux/proc_fs.h>
30 30
diff --git a/arch/cris/arch-v10/kernel/head.S b/arch/cris/arch-v10/kernel/head.S
index 96344afc4ebc..fc4577102933 100644
--- a/arch/cris/arch-v10/kernel/head.S
+++ b/arch/cris/arch-v10/kernel/head.S
@@ -10,7 +10,7 @@
10#define ASSEMBLER_MACROS_ONLY 10#define ASSEMBLER_MACROS_ONLY
11/* The IO_* macros use the ## token concatenation operator, so 11/* The IO_* macros use the ## token concatenation operator, so
12 -traditional must not be used when assembling this file. */ 12 -traditional must not be used when assembling this file. */
13#include <asm/arch/sv_addr_ag.h> 13#include <arch/sv_addr_ag.h>
14 14
15#define CRAMFS_MAGIC 0x28cd3d45 15#define CRAMFS_MAGIC 0x28cd3d45
16#define RAM_INIT_MAGIC 0x56902387 16#define RAM_INIT_MAGIC 0x56902387
diff --git a/arch/cris/arch-v10/kernel/io_interface_mux.c b/arch/cris/arch-v10/kernel/io_interface_mux.c
index add98e0941b5..29f97e962795 100644
--- a/arch/cris/arch-v10/kernel/io_interface_mux.c
+++ b/arch/cris/arch-v10/kernel/io_interface_mux.c
@@ -11,9 +11,9 @@
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/init.h> 12#include <linux/init.h>
13 13
14#include <asm/arch/svinto.h> 14#include <arch/svinto.h>
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/arch/io_interface_mux.h> 16#include <arch/io_interface_mux.h>
17 17
18 18
19#define DBG(s) 19#define DBG(s)
diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c
index 6fea45f2e40c..b9f9c8ce2169 100644
--- a/arch/cris/arch-v10/kernel/kgdb.c
+++ b/arch/cris/arch-v10/kernel/kgdb.c
@@ -176,7 +176,7 @@
176#include <asm/setup.h> 176#include <asm/setup.h>
177#include <asm/ptrace.h> 177#include <asm/ptrace.h>
178 178
179#include <asm/arch/svinto.h> 179#include <arch/svinto.h>
180#include <asm/irq.h> 180#include <asm/irq.h>
181 181
182static int kgdb_started = 0; 182static int kgdb_started = 0;
diff --git a/arch/cris/arch-v10/kernel/process.c b/arch/cris/arch-v10/kernel/process.c
index 53117f07cc1a..bd9b3ff63f6c 100644
--- a/arch/cris/arch-v10/kernel/process.c
+++ b/arch/cris/arch-v10/kernel/process.c
@@ -14,7 +14,7 @@
14#include <linux/err.h> 14#include <linux/err.h>
15#include <linux/fs.h> 15#include <linux/fs.h>
16#include <linux/slab.h> 16#include <linux/slab.h>
17#include <asm/arch/svinto.h> 17#include <arch/svinto.h>
18#include <linux/init.h> 18#include <linux/init.h>
19 19
20#ifdef CONFIG_ETRAX_GPIO 20#ifdef CONFIG_ETRAX_GPIO
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c
index 525483f0ddf8..c685ba4c3387 100644
--- a/arch/cris/arch-v10/kernel/time.c
+++ b/arch/cris/arch-v10/kernel/time.c
@@ -14,7 +14,7 @@
14#include <linux/sched.h> 14#include <linux/sched.h>
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/mm.h> 16#include <linux/mm.h>
17#include <asm/arch/svinto.h> 17#include <arch/svinto.h>
18#include <asm/types.h> 18#include <asm/types.h>
19#include <asm/signal.h> 19#include <asm/signal.h>
20#include <asm/io.h> 20#include <asm/io.h>
diff --git a/arch/cris/arch-v10/kernel/traps.c b/arch/cris/arch-v10/kernel/traps.c
index 9eada5d8893b..8bebb96bbca1 100644
--- a/arch/cris/arch-v10/kernel/traps.c
+++ b/arch/cris/arch-v10/kernel/traps.c
@@ -10,7 +10,7 @@
10 10
11#include <linux/ptrace.h> 11#include <linux/ptrace.h>
12#include <asm/uaccess.h> 12#include <asm/uaccess.h>
13#include <asm/arch/sv_addr_ag.h> 13#include <arch/sv_addr_ag.h>
14 14
15void 15void
16show_registers(struct pt_regs *regs) 16show_registers(struct pt_regs *regs)
diff --git a/arch/cris/arch-v10/mm/fault.c b/arch/cris/arch-v10/mm/fault.c
index 65504fd80928..087a2096f221 100644
--- a/arch/cris/arch-v10/mm/fault.c
+++ b/arch/cris/arch-v10/mm/fault.c
@@ -13,7 +13,7 @@
13#include <linux/mm.h> 13#include <linux/mm.h>
14#include <asm/uaccess.h> 14#include <asm/uaccess.h>
15#include <asm/pgtable.h> 15#include <asm/pgtable.h>
16#include <asm/arch/svinto.h> 16#include <arch/svinto.h>
17#include <asm/mmu_context.h> 17#include <asm/mmu_context.h>
18 18
19/* debug of low-level TLB reload */ 19/* debug of low-level TLB reload */
diff --git a/arch/cris/arch-v10/mm/init.c b/arch/cris/arch-v10/mm/init.c
index 742fd1974c2e..baa746ce4e74 100644
--- a/arch/cris/arch-v10/mm/init.c
+++ b/arch/cris/arch-v10/mm/init.c
@@ -12,7 +12,7 @@
12#include <asm/mmu.h> 12#include <asm/mmu.h>
13#include <asm/io.h> 13#include <asm/io.h>
14#include <asm/mmu_context.h> 14#include <asm/mmu_context.h>
15#include <asm/arch/svinto.h> 15#include <arch/svinto.h>
16 16
17extern void tlb_init(void); 17extern void tlb_init(void);
18 18
diff --git a/arch/cris/arch-v10/mm/tlb.c b/arch/cris/arch-v10/mm/tlb.c
index 6baf5bd209e7..4a496e4ffacc 100644
--- a/arch/cris/arch-v10/mm/tlb.c
+++ b/arch/cris/arch-v10/mm/tlb.c
@@ -12,7 +12,7 @@
12 12
13#include <asm/tlb.h> 13#include <asm/tlb.h>
14#include <asm/mmu_context.h> 14#include <asm/mmu_context.h>
15#include <asm/arch/svinto.h> 15#include <arch/svinto.h>
16 16
17#define D(x) 17#define D(x)
18 18
diff --git a/arch/cris/arch-v10/vmlinux.lds.S b/arch/cris/arch-v10/vmlinux.lds.S
deleted file mode 100644
index 93c9f0ea286b..000000000000
--- a/arch/cris/arch-v10/vmlinux.lds.S
+++ /dev/null
@@ -1,118 +0,0 @@
1/* ld script to make the Linux/CRIS kernel
2 * Authors: Bjorn Wesen (bjornw@axis.com)
3 *
4 * It is VERY DANGEROUS to fiddle around with the symbols in this
5 * script. It is for example quite vital that all generated sections
6 * that are used are actually named here, otherwise the linker will
7 * put them at the end, where the init stuff is which is FREED after
8 * the kernel has booted.
9 */
10
11#include <asm-generic/vmlinux.lds.h>
12#include <asm/page.h>
13
14jiffies = jiffies_64;
15SECTIONS
16{
17 . = DRAM_VIRTUAL_BASE;
18 dram_start = .;
19 ibr_start = .;
20 . = . + 0x4000; /* see head.S and pages reserved at the start */
21
22 _text = .; /* Text and read-only data */
23 text_start = .; /* lots of aliases */
24 _stext = .;
25 __stext = .;
26 .text : {
27 TEXT_TEXT
28 SCHED_TEXT
29 LOCK_TEXT
30 *(.fixup)
31 *(.text.__*)
32 }
33
34 _etext = . ; /* End of text section */
35 __etext = .;
36
37 . = ALIGN(4); /* Exception table */
38 __start___ex_table = .;
39 __ex_table : { *(__ex_table) }
40 __stop___ex_table = .;
41
42 RODATA
43
44 . = ALIGN (4);
45 ___data_start = . ;
46 __Sdata = . ;
47 .data : { /* Data */
48 DATA_DATA
49 }
50 __edata = . ; /* End of data section */
51 _edata = . ;
52
53 . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned */
54 .data.init_task : { *(.data.init_task) }
55
56 . = ALIGN(PAGE_SIZE); /* Init code and data */
57 __init_begin = .;
58 .init.text : {
59 _sinittext = .;
60 INIT_TEXT
61 _einittext = .;
62 }
63 .init.data : { INIT_DATA }
64 . = ALIGN(16);
65 __setup_start = .;
66 .init.setup : { *(.init.setup) }
67 __setup_end = .;
68 .initcall.init : {
69 __initcall_start = .;
70 INITCALLS
71 __initcall_end = .;
72 }
73
74 .con_initcall.init : {
75 __con_initcall_start = .;
76 *(.con_initcall.init)
77 __con_initcall_end = .;
78 }
79 SECURITY_INIT
80
81#ifdef CONFIG_BLK_DEV_INITRD
82 .init.ramfs : {
83 __initramfs_start = .;
84 *(.init.ramfs)
85 __initramfs_end = .;
86 }
87#endif
88 __vmlinux_end = .; /* last address of the physical file */
89
90 /*
91 * We fill to the next page, so we can discard all init
92 * pages without needing to consider what payload might be
93 * appended to the kernel image.
94 */
95 . = ALIGN(PAGE_SIZE);
96
97 __init_end = .;
98
99 __data_end = . ; /* Move to _edata ? */
100 __bss_start = .; /* BSS */
101 .bss : {
102 *(COMMON)
103 *(.bss)
104 }
105
106 . = ALIGN (0x20);
107 _end = .;
108 __end = .;
109
110 /* Sections to be discarded */
111 /DISCARD/ : {
112 EXIT_TEXT
113 EXIT_DATA
114 *(.exitcall.exit)
115 }
116
117 dram_end = dram_start + CONFIG_ETRAX_DRAM_SIZE*1024*1024;
118}
diff --git a/arch/cris/arch-v32/boot/compressed/head.S b/arch/cris/arch-v32/boot/compressed/head.S
index f86208caf32d..a4a65c5c669e 100644
--- a/arch/cris/arch-v32/boot/compressed/head.S
+++ b/arch/cris/arch-v32/boot/compressed/head.S
@@ -7,7 +7,7 @@
7 7
8#define ASSEMBLER_MACROS_ONLY 8#define ASSEMBLER_MACROS_ONLY
9#include <hwregs/asm/reg_map_asm.h> 9#include <hwregs/asm/reg_map_asm.h>
10#include <asm/arch/mach/startup.inc> 10#include <mach/startup.inc>
11 11
12#define RAM_INIT_MAGIC 0x56902387 12#define RAM_INIT_MAGIC 0x56902387
13#define COMMAND_LINE_MAGIC 0x87109563 13#define COMMAND_LINE_MAGIC 0x87109563
@@ -17,7 +17,7 @@
17 .globl input_data 17 .globl input_data
18 18
19 .text 19 .text
20start: 20_start:
21 di 21 di
22 22
23 ;; Start clocks for used blocks. 23 ;; Start clocks for used blocks.
@@ -28,7 +28,13 @@ start:
28 beq dram_init_finished 28 beq dram_init_finished
29 nop 29 nop
30 30
31#include "../../mach/dram_init.S" 31#if defined CONFIG_ETRAXFS
32#include "../../mach-fs/dram_init.S"
33#elif defined CONFIG_CRIS_MACH_ARTPEC3
34#include "../../mach-a3/dram_init.S"
35#else
36#error Only ETRAXFS and ARTPEC-3 supported!
37#endif
32 38
33dram_init_finished: 39dram_init_finished:
34 40
@@ -130,4 +136,10 @@ _cmd_line_addr:
130_boot_source: 136_boot_source:
131 .dword 0 137 .dword 0
132 138
133#include "../../mach/hw_settings.S" 139#if defined CONFIG_ETRAXFS
140#include "../../mach-fs/hw_settings.S"
141#elif defined CONFIG_CRIS_MACH_ARTPEC3
142#include "../../mach-a3/hw_settings.S"
143#else
144#error Only ETRAXFS and ARTPEC-3 supported!
145#endif
diff --git a/arch/cris/arch-v32/drivers/mach-a3/gpio.c b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
index ef98608e5067..7a87bc0ae2e8 100644
--- a/arch/cris/arch-v32/drivers/mach-a3/gpio.c
+++ b/arch/cris/arch-v32/drivers/mach-a3/gpio.c
@@ -33,7 +33,7 @@
33#include <asm/io.h> 33#include <asm/io.h>
34#include <asm/system.h> 34#include <asm/system.h>
35#include <asm/irq.h> 35#include <asm/irq.h>
36#include <asm/arch/mach/pinmux.h> 36#include <mach/pinmux.h>
37 37
38#ifdef CONFIG_ETRAX_VIRTUAL_GPIO 38#ifdef CONFIG_ETRAX_VIRTUAL_GPIO
39#include "../i2c.h" 39#include "../i2c.h"
diff --git a/arch/cris/arch-v32/drivers/mach-a3/nandflash.c b/arch/cris/arch-v32/drivers/mach-a3/nandflash.c
index 01ed0be2d0d1..25d6f2b3a721 100644
--- a/arch/cris/arch-v32/drivers/mach-a3/nandflash.c
+++ b/arch/cris/arch-v32/drivers/mach-a3/nandflash.c
@@ -18,7 +18,7 @@
18#include <linux/mtd/mtd.h> 18#include <linux/mtd/mtd.h>
19#include <linux/mtd/nand.h> 19#include <linux/mtd/nand.h>
20#include <linux/mtd/partitions.h> 20#include <linux/mtd/partitions.h>
21#include <asm/arch/memmap.h> 21#include <arch/memmap.h>
22#include <hwregs/reg_map.h> 22#include <hwregs/reg_map.h>
23#include <hwregs/reg_rdwr.h> 23#include <hwregs/reg_rdwr.h>
24#include <hwregs/pio_defs.h> 24#include <hwregs/pio_defs.h>
diff --git a/arch/cris/arch-v32/drivers/mach-fs/nandflash.c b/arch/cris/arch-v32/drivers/mach-fs/nandflash.c
index aa01b134458a..c5a0f54763cc 100644
--- a/arch/cris/arch-v32/drivers/mach-fs/nandflash.c
+++ b/arch/cris/arch-v32/drivers/mach-fs/nandflash.c
@@ -18,7 +18,7 @@
18#include <linux/mtd/mtd.h> 18#include <linux/mtd/mtd.h>
19#include <linux/mtd/nand.h> 19#include <linux/mtd/nand.h>
20#include <linux/mtd/partitions.h> 20#include <linux/mtd/partitions.h>
21#include <asm/arch/memmap.h> 21#include <arch/memmap.h>
22#include <hwregs/reg_map.h> 22#include <hwregs/reg_map.h>
23#include <hwregs/reg_rdwr.h> 23#include <hwregs/reg_rdwr.h>
24#include <hwregs/gio_defs.h> 24#include <hwregs/gio_defs.h>
diff --git a/arch/cris/arch-v32/drivers/pci/bios.c b/arch/cris/arch-v32/drivers/pci/bios.c
index 5b79a7a772d4..77ee319193c3 100644
--- a/arch/cris/arch-v32/drivers/pci/bios.c
+++ b/arch/cris/arch-v32/drivers/pci/bios.c
@@ -1,6 +1,6 @@
1#include <linux/pci.h> 1#include <linux/pci.h>
2#include <linux/kernel.h> 2#include <linux/kernel.h>
3#include <asm/arch/hwregs/intr_vect.h> 3#include <arch/hwregs/intr_vect.h>
4 4
5void __devinit pcibios_fixup_bus(struct pci_bus *b) 5void __devinit pcibios_fixup_bus(struct pci_bus *b)
6{ 6{
diff --git a/arch/cris/arch-v32/kernel/cache.c b/arch/cris/arch-v32/kernel/cache.c
index 80da7b88a72b..f38433b1f861 100644
--- a/arch/cris/arch-v32/kernel/cache.c
+++ b/arch/cris/arch-v32/kernel/cache.c
@@ -1,7 +1,7 @@
1#include <linux/module.h> 1#include <linux/module.h>
2#include <asm/io.h> 2#include <asm/io.h>
3#include <asm/arch/cache.h> 3#include <arch/cache.h>
4#include <asm/arch/hwregs/dma.h> 4#include <arch/hwregs/dma.h>
5 5
6/* This file is used to workaround a cache bug, Guinness TR 106. */ 6/* This file is used to workaround a cache bug, Guinness TR 106. */
7 7
diff --git a/arch/cris/arch-v32/kernel/crisksyms.c b/arch/cris/arch-v32/kernel/crisksyms.c
index 77d02c15a7fc..64933e2c0f5b 100644
--- a/arch/cris/arch-v32/kernel/crisksyms.c
+++ b/arch/cris/arch-v32/kernel/crisksyms.c
@@ -1,9 +1,9 @@
1#include <linux/module.h> 1#include <linux/module.h>
2#include <linux/irq.h> 2#include <linux/irq.h>
3#include <asm/arch/dma.h> 3#include <arch/dma.h>
4#include <asm/arch/intmem.h> 4#include <arch/intmem.h>
5#include <asm/arch/mach/pinmux.h> 5#include <mach/pinmux.h>
6#include <asm/arch/io.h> 6#include <arch/io.h>
7 7
8/* Functions for allocating DMA channels */ 8/* Functions for allocating DMA channels */
9EXPORT_SYMBOL(crisv32_request_dma); 9EXPORT_SYMBOL(crisv32_request_dma);
diff --git a/arch/cris/arch-v32/kernel/debugport.c b/arch/cris/arch-v32/kernel/debugport.c
index 15af4c293157..794b364d9f7d 100644
--- a/arch/cris/arch-v32/kernel/debugport.c
+++ b/arch/cris/arch-v32/kernel/debugport.c
@@ -9,7 +9,7 @@
9#include <hwregs/reg_map.h> 9#include <hwregs/reg_map.h>
10#include <hwregs/ser_defs.h> 10#include <hwregs/ser_defs.h>
11#include <hwregs/dma_defs.h> 11#include <hwregs/dma_defs.h>
12#include <asm/arch/mach/pinmux.h> 12#include <mach/pinmux.h>
13 13
14struct dbg_port 14struct dbg_port
15{ 15{
diff --git a/arch/cris/arch-v32/kernel/entry.S b/arch/cris/arch-v32/kernel/entry.S
index eebbaba45430..7f6f93e6b70e 100644
--- a/arch/cris/arch-v32/kernel/entry.S
+++ b/arch/cris/arch-v32/kernel/entry.S
@@ -24,8 +24,8 @@
24#include <asm/thread_info.h> 24#include <asm/thread_info.h>
25#include <asm/asm-offsets.h> 25#include <asm/asm-offsets.h>
26 26
27#include <asm/arch/hwregs/asm/reg_map_asm.h> 27#include <hwregs/asm/reg_map_asm.h>
28#include <asm/arch/hwregs/asm/intr_vect_defs_asm.h> 28#include <hwregs/asm/intr_vect_defs_asm.h>
29 29
30 ;; Exported functions. 30 ;; Exported functions.
31 .globl system_call 31 .globl system_call
diff --git a/arch/cris/arch-v32/kernel/head.S b/arch/cris/arch-v32/kernel/head.S
index 2d66a7c320e1..3db478eb5155 100644
--- a/arch/cris/arch-v32/kernel/head.S
+++ b/arch/cris/arch-v32/kernel/head.S
@@ -10,12 +10,13 @@
10 * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so 10 * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so
11 * -traditional must not be used when assembling this file. 11 * -traditional must not be used when assembling this file.
12 */ 12 */
13#include <linux/autoconf.h>
14#include <arch/memmap.h>
13#include <hwregs/reg_rdwr.h> 15#include <hwregs/reg_rdwr.h>
14#include <asm/arch/memmap.h>
15#include <hwregs/intr_vect.h> 16#include <hwregs/intr_vect.h>
16#include <hwregs/asm/mmu_defs_asm.h> 17#include <hwregs/asm/mmu_defs_asm.h>
17#include <hwregs/asm/reg_map_asm.h> 18#include <hwregs/asm/reg_map_asm.h>
18#include <asm/arch/mach/startup.inc> 19#include <mach/startup.inc>
19 20
20#define CRAMFS_MAGIC 0x28cd3d45 21#define CRAMFS_MAGIC 0x28cd3d45
21#define JHEAD_MAGIC 0x1FF528A6 22#define JHEAD_MAGIC 0x1FF528A6
@@ -217,7 +218,14 @@ _inflash:
217 beq _dram_initialized 218 beq _dram_initialized
218 nop 219 nop
219 220
220#include "../mach/dram_init.S" 221#if defined CONFIG_ETRAXFS
222#include "../mach-fs/dram_init.S"
223#elif defined CONFIG_CRIS_MACH_ARTPEC3
224#include "../mach-a3/dram_init.S"
225#else
226#error Only ETRAXFS and ARTPEC-3 supported!
227#endif
228
221 229
222_dram_initialized: 230_dram_initialized:
223 ;; Copy the text and data section to DRAM. This depends on that the 231 ;; Copy the text and data section to DRAM. This depends on that the
@@ -472,4 +480,10 @@ swapper_pg_dir = 0xc0002000
472 480
473 .section ".init.data", "aw" 481 .section ".init.data", "aw"
474 482
475#include "../mach/hw_settings.S" 483#if defined CONFIG_ETRAXFS
484#include "../mach-fs/hw_settings.S"
485#elif defined CONFIG_CRIS_MACH_ARTPEC3
486#include "../mach-a3/hw_settings.S"
487#else
488#error Only ETRAXFS and ARTPEC-3 supported!
489#endif
diff --git a/arch/cris/arch-v32/kernel/kgdb.c b/arch/cris/arch-v32/kernel/kgdb.c
index 8bd5a5bc0dc7..c981fd663323 100644
--- a/arch/cris/arch-v32/kernel/kgdb.c
+++ b/arch/cris/arch-v32/kernel/kgdb.c
@@ -174,10 +174,10 @@
174#include <asm/ptrace.h> 174#include <asm/ptrace.h>
175 175
176#include <asm/irq.h> 176#include <asm/irq.h>
177#include <asm/arch/hwregs/reg_map.h> 177#include <arch/hwregs/reg_map.h>
178#include <asm/arch/hwregs/reg_rdwr.h> 178#include <arch/hwregs/reg_rdwr.h>
179#include <asm/arch/hwregs/intr_vect_defs.h> 179#include <arch/hwregs/intr_vect_defs.h>
180#include <asm/arch/hwregs/ser_defs.h> 180#include <arch/hwregs/ser_defs.h>
181 181
182/* From entry.S. */ 182/* From entry.S. */
183extern void gdb_handle_exception(void); 183extern void gdb_handle_exception(void);
diff --git a/arch/cris/arch-v32/kernel/kgdb_asm.S b/arch/cris/arch-v32/kernel/kgdb_asm.S
index 3e7fa9ef8510..eba93e7e4aad 100644
--- a/arch/cris/arch-v32/kernel/kgdb_asm.S
+++ b/arch/cris/arch-v32/kernel/kgdb_asm.S
@@ -5,7 +5,7 @@
5 * port exceptions for kernel debugging purposes. 5 * port exceptions for kernel debugging purposes.
6 */ 6 */
7 7
8#include <asm/arch/hwregs/intr_vect.h> 8#include <arch/hwregs/intr_vect.h>
9 9
10 ;; Exported functions. 10 ;; Exported functions.
11 .globl kgdb_handle_exception 11 .globl kgdb_handle_exception
diff --git a/arch/cris/arch-v32/kernel/pinmux.c b/arch/cris/arch-v32/kernel/pinmux.c
index a2b8aa37c1bf..6eb54ea1c976 100644
--- a/arch/cris/arch-v32/kernel/pinmux.c
+++ b/arch/cris/arch-v32/kernel/pinmux.c
@@ -11,10 +11,10 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/spinlock.h> 13#include <linux/spinlock.h>
14#include <asm/arch/hwregs/reg_map.h> 14#include <arch/hwregs/reg_map.h>
15#include <asm/arch/hwregs/reg_rdwr.h> 15#include <arch/hwregs/reg_rdwr.h>
16#include <asm/arch/pinmux.h> 16#include <arch/pinmux.h>
17#include <asm/arch/hwregs/pinmux_defs.h> 17#include <arch/hwregs/pinmux_defs.h>
18 18
19#undef DEBUG 19#undef DEBUG
20 20
diff --git a/arch/cris/arch-v32/kernel/ptrace.c b/arch/cris/arch-v32/kernel/ptrace.c
index e27f4670e88e..dd401473f5b5 100644
--- a/arch/cris/arch-v32/kernel/ptrace.c
+++ b/arch/cris/arch-v32/kernel/ptrace.c
@@ -17,7 +17,7 @@
17#include <asm/pgtable.h> 17#include <asm/pgtable.h>
18#include <asm/system.h> 18#include <asm/system.h>
19#include <asm/processor.h> 19#include <asm/processor.h>
20#include <asm/arch/hwregs/supp_reg.h> 20#include <arch/hwregs/supp_reg.h>
21 21
22/* 22/*
23 * Determines which bits in CCS the user has access to. 23 * Determines which bits in CCS the user has access to.
diff --git a/arch/cris/arch-v32/kernel/signal.c b/arch/cris/arch-v32/kernel/signal.c
index 58c1866804e3..da7d2be000ba 100644
--- a/arch/cris/arch-v32/kernel/signal.c
+++ b/arch/cris/arch-v32/kernel/signal.c
@@ -18,8 +18,8 @@
18#include <asm/processor.h> 18#include <asm/processor.h>
19#include <asm/ucontext.h> 19#include <asm/ucontext.h>
20#include <asm/uaccess.h> 20#include <asm/uaccess.h>
21#include <asm/arch/ptrace.h> 21#include <arch/ptrace.h>
22#include <asm/arch/hwregs/cpu_vect.h> 22#include <arch/hwregs/cpu_vect.h>
23 23
24extern unsigned long cris_signal_return_page; 24extern unsigned long cris_signal_return_page;
25 25
diff --git a/arch/cris/arch-v32/lib/nand_init.S b/arch/cris/arch-v32/lib/nand_init.S
index e019816facd7..e705f5cce969 100644
--- a/arch/cris/arch-v32/lib/nand_init.S
+++ b/arch/cris/arch-v32/lib/nand_init.S
@@ -22,11 +22,11 @@
22## 22##
23##============================================================================= 23##=============================================================================
24 24
25#include <asm/arch/hwregs/asm/reg_map_asm.h> 25#include <arch/hwregs/asm/reg_map_asm.h>
26#include <asm/arch/hwregs/asm/gio_defs_asm.h> 26#include <arch/hwregs/asm/gio_defs_asm.h>
27#include <asm/arch/hwregs/asm/pinmux_defs_asm.h> 27#include <arch/hwregs/asm/pinmux_defs_asm.h>
28#include <asm/arch/hwregs/asm/bif_core_defs_asm.h> 28#include <arch/hwregs/asm/bif_core_defs_asm.h>
29#include <asm/arch/hwregs/asm/config_defs_asm.h> 29#include <arch/hwregs/asm/config_defs_asm.h>
30 30
31;; There are 8-bit NAND flashes and 16-bit NAND flashes. 31;; There are 8-bit NAND flashes and 16-bit NAND flashes.
32;; We need to treat them slightly different. 32;; We need to treat them slightly different.
diff --git a/arch/cris/arch-v32/mach-a3/dma.c b/arch/cris/arch-v32/mach-a3/dma.c
index 25f236ef0b81..f35e4f65f4ef 100644
--- a/arch/cris/arch-v32/mach-a3/dma.c
+++ b/arch/cris/arch-v32/mach-a3/dma.c
@@ -2,7 +2,7 @@
2 2
3#include <linux/kernel.h> 3#include <linux/kernel.h>
4#include <linux/spinlock.h> 4#include <linux/spinlock.h>
5#include <asm/arch/mach/dma.h> 5#include <mach/dma.h>
6#include <hwregs/reg_map.h> 6#include <hwregs/reg_map.h>
7#include <hwregs/reg_rdwr.h> 7#include <hwregs/reg_rdwr.h>
8#include <hwregs/marb_defs.h> 8#include <hwregs/marb_defs.h>
diff --git a/arch/cris/arch-v32/mach-a3/io.c b/arch/cris/arch-v32/mach-a3/io.c
index 9eeaf3eca474..c22f67ecd9f3 100644
--- a/arch/cris/arch-v32/mach-a3/io.c
+++ b/arch/cris/arch-v32/mach-a3/io.c
@@ -12,7 +12,7 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/module.h> 13#include <linux/module.h>
14#include <asm/io.h> 14#include <asm/io.h>
15#include <asm/arch/mach/pinmux.h> 15#include <mach/pinmux.h>
16#include <hwregs/gio_defs.h> 16#include <hwregs/gio_defs.h>
17 17
18struct crisv32_ioport crisv32_ioports[] = { 18struct crisv32_ioport crisv32_ioports[] = {
diff --git a/arch/cris/arch-v32/mach-fs/cpufreq.c b/arch/cris/arch-v32/mach-fs/cpufreq.c
index 58bd71e5bda9..d92cf70d1cbe 100644
--- a/arch/cris/arch-v32/mach-fs/cpufreq.c
+++ b/arch/cris/arch-v32/mach-fs/cpufreq.c
@@ -2,9 +2,9 @@
2#include <linux/module.h> 2#include <linux/module.h>
3#include <linux/cpufreq.h> 3#include <linux/cpufreq.h>
4#include <hwregs/reg_map.h> 4#include <hwregs/reg_map.h>
5#include <asm/arch/hwregs/reg_rdwr.h> 5#include <arch/hwregs/reg_rdwr.h>
6#include <asm/arch/hwregs/config_defs.h> 6#include <arch/hwregs/config_defs.h>
7#include <asm/arch/hwregs/bif_core_defs.h> 7#include <arch/hwregs/bif_core_defs.h>
8 8
9static int 9static int
10cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val, 10cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val,
diff --git a/arch/cris/arch-v32/mach-fs/dma.c b/arch/cris/arch-v32/mach-fs/dma.c
index a6acf4e6345c..2d970d7505c9 100644
--- a/arch/cris/arch-v32/mach-fs/dma.c
+++ b/arch/cris/arch-v32/mach-fs/dma.c
@@ -10,7 +10,7 @@
10#include <hwregs/strmux_defs.h> 10#include <hwregs/strmux_defs.h>
11#include <linux/errno.h> 11#include <linux/errno.h>
12#include <asm/system.h> 12#include <asm/system.h>
13#include <asm/arch/mach/arbiter.h> 13#include <mach/arbiter.h>
14 14
15static char used_dma_channels[MAX_DMA_CHANNELS]; 15static char used_dma_channels[MAX_DMA_CHANNELS];
16static const char *used_dma_channels_users[MAX_DMA_CHANNELS]; 16static const char *used_dma_channels_users[MAX_DMA_CHANNELS];
diff --git a/arch/cris/arch-v32/mach-fs/io.c b/arch/cris/arch-v32/mach-fs/io.c
index a03a3ad3a188..cb6327b1f8f8 100644
--- a/arch/cris/arch-v32/mach-fs/io.c
+++ b/arch/cris/arch-v32/mach-fs/io.c
@@ -12,8 +12,8 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/module.h> 13#include <linux/module.h>
14#include <asm/io.h> 14#include <asm/io.h>
15#include <asm/arch/pinmux.h> 15#include <mach/pinmux.h>
16#include <asm/arch/hwregs/gio_defs.h> 16#include <hwregs/gio_defs.h>
17 17
18#ifndef DEBUG 18#ifndef DEBUG
19#define DEBUG(x) 19#define DEBUG(x)
diff --git a/arch/cris/arch-v32/mach-fs/vcs_hook.c b/arch/cris/arch-v32/mach-fs/vcs_hook.c
index 593b10f07ef1..b11594ae0cb6 100644
--- a/arch/cris/arch-v32/mach-fs/vcs_hook.c
+++ b/arch/cris/arch-v32/mach-fs/vcs_hook.c
@@ -5,8 +5,8 @@
5 5
6#include "vcs_hook.h" 6#include "vcs_hook.h"
7#include <stdarg.h> 7#include <stdarg.h>
8#include <asm/arch-v32/hwregs/reg_map.h> 8#include <arch-v32/hwregs/reg_map.h>
9#include <asm/arch-v32/hwregs/intr_vect_defs.h> 9#include <arch-v32/hwregs/intr_vect_defs.h>
10 10
11#define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */ 11#define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */
12#define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */ 12#define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */
diff --git a/arch/cris/arch-v32/mm/init.c b/arch/cris/arch-v32/mm/init.c
index 8a34b8b74293..caeb921a92ea 100644
--- a/arch/cris/arch-v32/mm/init.c
+++ b/arch/cris/arch-v32/mm/init.c
@@ -16,8 +16,8 @@
16#include <asm/mmu.h> 16#include <asm/mmu.h>
17#include <asm/io.h> 17#include <asm/io.h>
18#include <asm/mmu_context.h> 18#include <asm/mmu_context.h>
19#include <asm/arch/hwregs/asm/mmu_defs_asm.h> 19#include <arch/hwregs/asm/mmu_defs_asm.h>
20#include <asm/arch/hwregs/supp_reg.h> 20#include <arch/hwregs/supp_reg.h>
21 21
22extern void tlb_init(void); 22extern void tlb_init(void);
23 23
diff --git a/arch/cris/arch-v32/mm/tlb.c b/arch/cris/arch-v32/mm/tlb.c
index eda5ebcaea54..55ade36fe8a8 100644
--- a/arch/cris/arch-v32/mm/tlb.c
+++ b/arch/cris/arch-v32/mm/tlb.c
@@ -9,8 +9,8 @@
9 9
10#include <asm/tlb.h> 10#include <asm/tlb.h>
11#include <asm/mmu_context.h> 11#include <asm/mmu_context.h>
12#include <asm/arch/hwregs/asm/mmu_defs_asm.h> 12#include <arch/hwregs/asm/mmu_defs_asm.h>
13#include <asm/arch/hwregs/supp_reg.h> 13#include <arch/hwregs/supp_reg.h>
14 14
15#define UPDATE_TLB_SEL_IDX(val) \ 15#define UPDATE_TLB_SEL_IDX(val) \
16do { \ 16do { \
diff --git a/include/asm-cris/arch-v10/Kbuild b/arch/cris/include/arch-v10/arch/Kbuild
index 7a192e1290b1..7a192e1290b1 100644
--- a/include/asm-cris/arch-v10/Kbuild
+++ b/arch/cris/include/arch-v10/arch/Kbuild
diff --git a/include/asm-cris/arch-v10/atomic.h b/arch/cris/include/arch-v10/arch/atomic.h
index 6ef5e7d09024..6ef5e7d09024 100644
--- a/include/asm-cris/arch-v10/atomic.h
+++ b/arch/cris/include/arch-v10/arch/atomic.h
diff --git a/include/asm-cris/arch-v10/bitops.h b/arch/cris/include/arch-v10/arch/bitops.h
index be85f6de25d3..be85f6de25d3 100644
--- a/include/asm-cris/arch-v10/bitops.h
+++ b/arch/cris/include/arch-v10/arch/bitops.h
diff --git a/include/asm-cris/arch-v10/bug.h b/arch/cris/include/arch-v10/arch/bug.h
index 3485d6b34bb0..3485d6b34bb0 100644
--- a/include/asm-cris/arch-v10/bug.h
+++ b/arch/cris/include/arch-v10/arch/bug.h
diff --git a/include/asm-cris/arch-v10/byteorder.h b/arch/cris/include/arch-v10/arch/byteorder.h
index 255b646b7fa8..255b646b7fa8 100644
--- a/include/asm-cris/arch-v10/byteorder.h
+++ b/arch/cris/include/arch-v10/arch/byteorder.h
diff --git a/include/asm-cris/arch-v10/cache.h b/arch/cris/include/arch-v10/arch/cache.h
index aea27184d2d2..aea27184d2d2 100644
--- a/include/asm-cris/arch-v10/cache.h
+++ b/arch/cris/include/arch-v10/arch/cache.h
diff --git a/include/asm-cris/arch-v10/checksum.h b/arch/cris/include/arch-v10/arch/checksum.h
index b8000c5d7fe1..b8000c5d7fe1 100644
--- a/include/asm-cris/arch-v10/checksum.h
+++ b/arch/cris/include/arch-v10/arch/checksum.h
diff --git a/include/asm-cris/arch-v10/delay.h b/arch/cris/include/arch-v10/arch/delay.h
index 39481f6e0c30..39481f6e0c30 100644
--- a/include/asm-cris/arch-v10/delay.h
+++ b/arch/cris/include/arch-v10/arch/delay.h
diff --git a/include/asm-cris/arch-v10/dma.h b/arch/cris/include/arch-v10/arch/dma.h
index ecb9dba6fa4f..ecb9dba6fa4f 100644
--- a/include/asm-cris/arch-v10/dma.h
+++ b/arch/cris/include/arch-v10/arch/dma.h
diff --git a/include/asm-cris/arch-v10/elf.h b/arch/cris/include/arch-v10/arch/elf.h
index 1c38ee728b17..1c38ee728b17 100644
--- a/include/asm-cris/arch-v10/elf.h
+++ b/arch/cris/include/arch-v10/arch/elf.h
diff --git a/include/asm-cris/arch-v10/io.h b/arch/cris/include/arch-v10/arch/io.h
index c08c24265299..f627ad0b8a3d 100644
--- a/include/asm-cris/arch-v10/io.h
+++ b/arch/cris/include/arch-v10/arch/io.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_ARCH_CRIS_IO_H 1#ifndef _ASM_ARCH_CRIS_IO_H
2#define _ASM_ARCH_CRIS_IO_H 2#define _ASM_ARCH_CRIS_IO_H
3 3
4#include <asm/arch/svinto.h> 4#include <arch/svinto.h>
5 5
6/* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */ 6/* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */
7 7
diff --git a/include/asm-cris/arch-v10/io_interface_mux.h b/arch/cris/include/arch-v10/arch/io_interface_mux.h
index d92500080883..d92500080883 100644
--- a/include/asm-cris/arch-v10/io_interface_mux.h
+++ b/arch/cris/include/arch-v10/arch/io_interface_mux.h
diff --git a/include/asm-cris/arch-v10/irq.h b/arch/cris/include/arch-v10/arch/irq.h
index b1128a9984ae..6248004eca1c 100644
--- a/include/asm-cris/arch-v10/irq.h
+++ b/arch/cris/include/arch-v10/arch/irq.h
@@ -5,7 +5,7 @@
5#ifndef _ASM_ARCH_IRQ_H 5#ifndef _ASM_ARCH_IRQ_H
6#define _ASM_ARCH_IRQ_H 6#define _ASM_ARCH_IRQ_H
7 7
8#include <asm/arch/sv_addr_ag.h> 8#include <arch/sv_addr_ag.h>
9 9
10#define NR_IRQS 32 10#define NR_IRQS 32
11 11
diff --git a/include/asm-cris/arch-v10/memmap.h b/arch/cris/include/arch-v10/arch/memmap.h
index 13f3b971407f..13f3b971407f 100644
--- a/include/asm-cris/arch-v10/memmap.h
+++ b/arch/cris/include/arch-v10/arch/memmap.h
diff --git a/include/asm-cris/arch-v10/mmu.h b/arch/cris/include/arch-v10/arch/mmu.h
index df84f1716e6b..df84f1716e6b 100644
--- a/include/asm-cris/arch-v10/mmu.h
+++ b/arch/cris/include/arch-v10/arch/mmu.h
diff --git a/include/asm-cris/arch-v10/offset.h b/arch/cris/include/arch-v10/arch/offset.h
index 675b51d85639..675b51d85639 100644
--- a/include/asm-cris/arch-v10/offset.h
+++ b/arch/cris/include/arch-v10/arch/offset.h
diff --git a/include/asm-cris/arch-v10/page.h b/arch/cris/include/arch-v10/arch/page.h
index ffafc99c3472..ffafc99c3472 100644
--- a/include/asm-cris/arch-v10/page.h
+++ b/arch/cris/include/arch-v10/arch/page.h
diff --git a/include/asm-cris/arch-v10/pgtable.h b/arch/cris/include/arch-v10/arch/pgtable.h
index 2a2576d1fc97..2a2576d1fc97 100644
--- a/include/asm-cris/arch-v10/pgtable.h
+++ b/arch/cris/include/arch-v10/arch/pgtable.h
diff --git a/include/asm-cris/arch-v10/processor.h b/arch/cris/include/arch-v10/arch/processor.h
index cc692c7a0660..cc692c7a0660 100644
--- a/include/asm-cris/arch-v10/processor.h
+++ b/arch/cris/include/arch-v10/arch/processor.h
diff --git a/include/asm-cris/arch-v10/ptrace.h b/arch/cris/include/arch-v10/arch/ptrace.h
index 2f464eab3a51..2f464eab3a51 100644
--- a/include/asm-cris/arch-v10/ptrace.h
+++ b/arch/cris/include/arch-v10/arch/ptrace.h
diff --git a/include/asm-cris/arch-v10/sv_addr.agh b/arch/cris/include/arch-v10/arch/sv_addr.agh
index 6ac3a7bc9760..6ac3a7bc9760 100644
--- a/include/asm-cris/arch-v10/sv_addr.agh
+++ b/arch/cris/include/arch-v10/arch/sv_addr.agh
diff --git a/include/asm-cris/arch-v10/sv_addr_ag.h b/arch/cris/include/arch-v10/arch/sv_addr_ag.h
index e4a6b68b8982..e4a6b68b8982 100644
--- a/include/asm-cris/arch-v10/sv_addr_ag.h
+++ b/arch/cris/include/arch-v10/arch/sv_addr_ag.h
diff --git a/include/asm-cris/arch-v10/svinto.h b/arch/cris/include/arch-v10/arch/svinto.h
index 0881a1af7cee..0881a1af7cee 100644
--- a/include/asm-cris/arch-v10/svinto.h
+++ b/arch/cris/include/arch-v10/arch/svinto.h
diff --git a/include/asm-cris/arch-v10/system.h b/arch/cris/include/arch-v10/arch/system.h
index 4a9cd36c9e16..4a9cd36c9e16 100644
--- a/include/asm-cris/arch-v10/system.h
+++ b/arch/cris/include/arch-v10/arch/system.h
diff --git a/include/asm-cris/arch-v10/thread_info.h b/arch/cris/include/arch-v10/arch/thread_info.h
index 218f4152d3e5..218f4152d3e5 100644
--- a/include/asm-cris/arch-v10/thread_info.h
+++ b/arch/cris/include/arch-v10/arch/thread_info.h
diff --git a/include/asm-cris/arch-v10/timex.h b/arch/cris/include/arch-v10/arch/timex.h
index e48447d94faf..e48447d94faf 100644
--- a/include/asm-cris/arch-v10/timex.h
+++ b/arch/cris/include/arch-v10/arch/timex.h
diff --git a/include/asm-cris/arch-v10/tlb.h b/arch/cris/include/arch-v10/arch/tlb.h
index 31525bbe75c3..31525bbe75c3 100644
--- a/include/asm-cris/arch-v10/tlb.h
+++ b/arch/cris/include/arch-v10/arch/tlb.h
diff --git a/include/asm-cris/arch-v10/uaccess.h b/arch/cris/include/arch-v10/arch/uaccess.h
index 65b02d9b605a..65b02d9b605a 100644
--- a/include/asm-cris/arch-v10/uaccess.h
+++ b/arch/cris/include/arch-v10/arch/uaccess.h
diff --git a/include/asm-cris/arch-v10/unistd.h b/arch/cris/include/arch-v10/arch/unistd.h
index d1a38b9e6264..d1a38b9e6264 100644
--- a/include/asm-cris/arch-v10/unistd.h
+++ b/arch/cris/include/arch-v10/arch/unistd.h
diff --git a/include/asm-cris/arch-v10/user.h b/arch/cris/include/arch-v10/arch/user.h
index 9303ea77c915..9303ea77c915 100644
--- a/include/asm-cris/arch-v10/user.h
+++ b/arch/cris/include/arch-v10/arch/user.h
diff --git a/include/asm-cris/arch-v32/Kbuild b/arch/cris/include/arch-v32/arch/Kbuild
index 35f2fc4f993e..35f2fc4f993e 100644
--- a/include/asm-cris/arch-v32/Kbuild
+++ b/arch/cris/include/arch-v32/arch/Kbuild
diff --git a/include/asm-cris/arch-v32/atomic.h b/arch/cris/include/arch-v32/arch/atomic.h
index 852ceff8013f..852ceff8013f 100644
--- a/include/asm-cris/arch-v32/atomic.h
+++ b/arch/cris/include/arch-v32/arch/atomic.h
diff --git a/include/asm-cris/arch-v32/bitops.h b/arch/cris/include/arch-v32/arch/bitops.h
index 147689d6b624..147689d6b624 100644
--- a/include/asm-cris/arch-v32/bitops.h
+++ b/arch/cris/include/arch-v32/arch/bitops.h
diff --git a/include/asm-cris/arch-v32/bug.h b/arch/cris/include/arch-v32/arch/bug.h
index 0f211e135248..0f211e135248 100644
--- a/include/asm-cris/arch-v32/bug.h
+++ b/arch/cris/include/arch-v32/arch/bug.h
diff --git a/include/asm-cris/arch-v32/byteorder.h b/arch/cris/include/arch-v32/arch/byteorder.h
index 6ef8fb4a35f2..6ef8fb4a35f2 100644
--- a/include/asm-cris/arch-v32/byteorder.h
+++ b/arch/cris/include/arch-v32/arch/byteorder.h
diff --git a/include/asm-cris/arch-v32/cache.h b/arch/cris/include/arch-v32/arch/cache.h
index b3d752dfe15b..dfc73050e6b4 100644
--- a/include/asm-cris/arch-v32/cache.h
+++ b/arch/cris/include/arch-v32/arch/cache.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_CRIS_ARCH_CACHE_H 1#ifndef _ASM_CRIS_ARCH_CACHE_H
2#define _ASM_CRIS_ARCH_CACHE_H 2#define _ASM_CRIS_ARCH_CACHE_H
3 3
4#include <asm/arch/hwregs/dma.h> 4#include <arch/hwregs/dma.h>
5 5
6/* A cache-line is 32 bytes. */ 6/* A cache-line is 32 bytes. */
7#define L1_CACHE_BYTES 32 7#define L1_CACHE_BYTES 32
diff --git a/include/asm-cris/arch-v32/checksum.h b/arch/cris/include/arch-v32/arch/checksum.h
index e5dcfce6e0dc..e5dcfce6e0dc 100644
--- a/include/asm-cris/arch-v32/checksum.h
+++ b/arch/cris/include/arch-v32/arch/checksum.h
diff --git a/include/asm-cris/arch-v32/cryptocop.h b/arch/cris/include/arch-v32/arch/cryptocop.h
index dfa1f66fb987..e1cd83dfabb5 100644
--- a/include/asm-cris/arch-v32/cryptocop.h
+++ b/arch/cris/include/arch-v32/arch/cryptocop.h
@@ -122,7 +122,7 @@ struct strcop_crypto_op{
122 122
123/********** The API to use from inside the kernel. ************/ 123/********** The API to use from inside the kernel. ************/
124 124
125#include <asm/arch/hwregs/dma.h> 125#include <arch/hwregs/dma.h>
126 126
127typedef enum { 127typedef enum {
128 cryptocop_alg_csum = 0, 128 cryptocop_alg_csum = 0,
diff --git a/include/asm-cris/arch-v32/delay.h b/arch/cris/include/arch-v32/arch/delay.h
index e9fda03810a9..e9fda03810a9 100644
--- a/include/asm-cris/arch-v32/delay.h
+++ b/arch/cris/include/arch-v32/arch/delay.h
diff --git a/include/asm-cris/arch-v32/dma.h b/arch/cris/include/arch-v32/arch/dma.h
index 3674081389fd..3674081389fd 100644
--- a/include/asm-cris/arch-v32/dma.h
+++ b/arch/cris/include/arch-v32/arch/dma.h
diff --git a/include/asm-cris/arch-v32/elf.h b/arch/cris/include/arch-v32/arch/elf.h
index 1324e505a4d8..1324e505a4d8 100644
--- a/include/asm-cris/arch-v32/elf.h
+++ b/arch/cris/include/arch-v32/arch/elf.h
diff --git a/include/asm-cris/arch-v32/hwregs/Makefile b/arch/cris/include/arch-v32/arch/hwregs/Makefile
index f9a05d2aa061..f9a05d2aa061 100644
--- a/include/asm-cris/arch-v32/hwregs/Makefile
+++ b/arch/cris/include/arch-v32/arch/hwregs/Makefile
diff --git a/include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h
index 866191418f9c..866191418f9c 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h
index c686cb335621..c686cb335621 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h
index 71532aa18168..71532aa18168 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h
index 031f33a365bb..031f33a365bb 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h
index e98476332e1f..e98476332e1f 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h
index 8370aee8a14a..8370aee8a14a 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h
index 7f768db272e2..7f768db272e2 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h
index 7d3689a6f80d..7d3689a6f80d 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h
index 0cb71bc127ae..0cb71bc127ae 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h
index c9f49864831b..c9f49864831b 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h
index 35356bc08629..35356bc08629 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/intr_vect.h b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h
index c8315905c571..c8315905c571 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/intr_vect.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h
index 6df2a433b02d..6df2a433b02d 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h
index 0c8084054840..0c8084054840 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h
index 45400eb8d389..45400eb8d389 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h
index 505b7a16d878..505b7a16d878 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h
index 339500bf3bc0..339500bf3bc0 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h
index 10246f49fb28..10246f49fb28 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h
index 4a2808bdf390..4a2808bdf390 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h
index 27d4d91b3abd..27d4d91b3abd 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h
index 55083e6aec93..55083e6aec93 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h
index 69b299920f71..69b299920f71 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h
index 43146021fc16..43146021fc16 100644
--- a/include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/ata_defs.h b/arch/cris/include/arch-v32/arch/hwregs/ata_defs.h
index 43b6643ff0d3..43b6643ff0d3 100644
--- a/include/asm-cris/arch-v32/hwregs/ata_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/ata_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/bif_core_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h
index a56608b50359..a56608b50359 100644
--- a/include/asm-cris/arch-v32/hwregs/bif_core_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/bif_dma_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h
index b931c1aab679..b931c1aab679 100644
--- a/include/asm-cris/arch-v32/hwregs/bif_dma_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/bif_slave_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h
index d18fc3c9f569..d18fc3c9f569 100644
--- a/include/asm-cris/arch-v32/hwregs/bif_slave_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/config_defs.h b/arch/cris/include/arch-v32/arch/hwregs/config_defs.h
index 45457a4e3817..45457a4e3817 100644
--- a/include/asm-cris/arch-v32/hwregs/config_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/config_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/cpu_vect.h b/arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h
index 8370aee8a14a..8370aee8a14a 100644
--- a/include/asm-cris/arch-v32/hwregs/cpu_vect.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h
diff --git a/include/asm-cris/arch-v32/hwregs/dma.h b/arch/cris/include/arch-v32/arch/hwregs/dma.h
index 3ce322b5c731..3ce322b5c731 100644
--- a/include/asm-cris/arch-v32/hwregs/dma.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/dma.h
diff --git a/include/asm-cris/arch-v32/hwregs/dma_defs.h b/arch/cris/include/arch-v32/arch/hwregs/dma_defs.h
index 48ac8cef7ebe..48ac8cef7ebe 100644
--- a/include/asm-cris/arch-v32/hwregs/dma_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/dma_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/eth_defs.h b/arch/cris/include/arch-v32/arch/hwregs/eth_defs.h
index 90fe8a28894f..90fe8a28894f 100644
--- a/include/asm-cris/arch-v32/hwregs/eth_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/eth_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/extmem_defs.h b/arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h
index c47b5ca48ece..c47b5ca48ece 100644
--- a/include/asm-cris/arch-v32/hwregs/extmem_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/Makefile b/arch/cris/include/arch-v32/arch/hwregs/iop/Makefile
index a90056a095e3..a90056a095e3 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/Makefile
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/Makefile
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h
index a4b58000c164..a4b58000c164 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h
index e7d539feccb1..e7d539feccb1 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h
index 9fe1a8054371..9fe1a8054371 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h
index 974dee082f9f..974dee082f9f 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h
index e00fab0c9335..e00fab0c9335 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h
index 9ec5f4a826df..9ec5f4a826df 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h
index 0f84a50cf77c..0f84a50cf77c 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h
index 80490c82cc29..80490c82cc29 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h
index a20b8857b4d0..a20b8857b4d0 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h
index a4a10ff300b3..a4a10ff300b3 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h
index 0ec727f92a25..0ec727f92a25 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h
index 2cf5721597fc..2cf5721597fc 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h
index 640a25725f20..640a25725f20 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h
index bb402c1aa761..bb402c1aa761 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
index 3be60f9b024c..3be60f9b024c 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
index db347bcba025..db347bcba025 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
index ee7dc0435b59..ee7dc0435b59 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h
index 0929f144cfa1..0929f144cfa1 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h
index 7129a9a4bedc..7129a9a4bedc 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h
index 1005d9db80dc..1005d9db80dc 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h
index e13feb20a7e3..e13feb20a7e3 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h
index 90e4785b6474..90e4785b6474 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h
index 76aec6e37f3e..76aec6e37f3e 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h
index 938a0d4c4604..938a0d4c4604 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h
index e0c982b263fa..e0c982b263fa 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h
index 798ac95870e9..798ac95870e9 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h
index 833e10f02526..833e10f02526 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h
index 4a840aae84ee..4a840aae84ee 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h
index c2b0ba1be60f..c2b0ba1be60f 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h
index 2ec897ced166..2ec897ced166 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h
index 756550f5d6cb..756550f5d6cb 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h
index 5548ac10074f..5548ac10074f 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h
index 273936996183..273936996183 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h
index 4f0a9a81e737..4f0a9a81e737 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h
index fd1d6ea1d484..fd1d6ea1d484 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h
index 0fda26e2f06f..0fda26e2f06f 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h
index d7b6d75884d2..d7b6d75884d2 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h
index 5fed844b19e2..5fed844b19e2 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h
index da718f2a8cad..da718f2a8cad 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h
index b59dde4bd0d1..b59dde4bd0d1 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h
index c994114f3b51..c994114f3b51 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h
index 36e44282399d..36e44282399d 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h
index b8d6a910c71c..b8d6a910c71c 100644
--- a/include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h b/arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h
index 7b167e3c0572..7b167e3c0572 100644
--- a/include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/marb_bp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h
index a11fdd3cd907..a11fdd3cd907 100644
--- a/include/asm-cris/arch-v32/hwregs/marb_bp_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/marb_defs.h b/arch/cris/include/arch-v32/arch/hwregs/marb_defs.h
index 71e8af0bb3a4..71e8af0bb3a4 100644
--- a/include/asm-cris/arch-v32/hwregs/marb_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/marb_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/reg_rdwr.h b/arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h
index 236f91efe7e8..236f91efe7e8 100644
--- a/include/asm-cris/arch-v32/hwregs/reg_rdwr.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h
diff --git a/include/asm-cris/arch-v32/hwregs/rt_trace_defs.h b/arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h
index d9f0e924fb23..d9f0e924fb23 100644
--- a/include/asm-cris/arch-v32/hwregs/rt_trace_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/ser_defs.h b/arch/cris/include/arch-v32/arch/hwregs/ser_defs.h
index 01c2fab97d43..01c2fab97d43 100644
--- a/include/asm-cris/arch-v32/hwregs/ser_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/ser_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/sser_defs.h b/arch/cris/include/arch-v32/arch/hwregs/sser_defs.h
index 8d1dab218b91..8d1dab218b91 100644
--- a/include/asm-cris/arch-v32/hwregs/sser_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/sser_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/strcop.h b/arch/cris/include/arch-v32/arch/hwregs/strcop.h
index 35131ba466f3..35131ba466f3 100644
--- a/include/asm-cris/arch-v32/hwregs/strcop.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/strcop.h
diff --git a/include/asm-cris/arch-v32/hwregs/strcop_defs.h b/arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h
index bd145a49b2c4..bd145a49b2c4 100644
--- a/include/asm-cris/arch-v32/hwregs/strcop_defs.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h
diff --git a/include/asm-cris/arch-v32/hwregs/supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/supp_reg.h
index ffe49625ae36..ffe49625ae36 100644
--- a/include/asm-cris/arch-v32/hwregs/supp_reg.h
+++ b/arch/cris/include/arch-v32/arch/hwregs/supp_reg.h
diff --git a/include/asm-cris/arch-v32/intmem.h b/arch/cris/include/arch-v32/arch/intmem.h
index c0ada33bf90f..c0ada33bf90f 100644
--- a/include/asm-cris/arch-v32/intmem.h
+++ b/arch/cris/include/arch-v32/arch/intmem.h
diff --git a/include/asm-cris/arch-v32/io.h b/arch/cris/include/arch-v32/arch/io.h
index 6b38912f29ba..72024452cea9 100644
--- a/include/asm-cris/arch-v32/io.h
+++ b/arch/cris/include/arch-v32/arch/io.h
@@ -43,7 +43,7 @@ extern struct crisv32_iopin crisv32_led_net1_red;
43 43
44static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) 44static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val)
45{ 45{
46 long flags; 46 unsigned long flags;
47 spin_lock_irqsave(&iopin->port->lock, flags); 47 spin_lock_irqsave(&iopin->port->lock, flags);
48 48
49 if (val) 49 if (val)
@@ -57,7 +57,7 @@ static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val)
57static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin, 57static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin,
58 enum crisv32_io_dir dir) 58 enum crisv32_io_dir dir)
59{ 59{
60 long flags; 60 unsigned long flags;
61 spin_lock_irqsave(&iopin->port->lock, flags); 61 spin_lock_irqsave(&iopin->port->lock, flags);
62 62
63 if (dir == crisv32_io_dir_in) 63 if (dir == crisv32_io_dir_in)
diff --git a/include/asm-cris/arch-v32/irq.h b/arch/cris/include/arch-v32/arch/irq.h
index 9e4c9fbdfddf..9e4c9fbdfddf 100644
--- a/include/asm-cris/arch-v32/irq.h
+++ b/arch/cris/include/arch-v32/arch/irq.h
diff --git a/include/asm-cris/arch-v32/memmap.h b/arch/cris/include/arch-v32/arch/memmap.h
index d29df5644d3e..d29df5644d3e 100644
--- a/include/asm-cris/arch-v32/memmap.h
+++ b/arch/cris/include/arch-v32/arch/memmap.h
diff --git a/include/asm-cris/arch-v32/mmu.h b/arch/cris/include/arch-v32/arch/mmu.h
index 6bcdc3fdf7dc..6bcdc3fdf7dc 100644
--- a/include/asm-cris/arch-v32/mmu.h
+++ b/arch/cris/include/arch-v32/arch/mmu.h
diff --git a/include/asm-cris/arch-v32/offset.h b/arch/cris/include/arch-v32/arch/offset.h
index 4442c4bd52f4..4442c4bd52f4 100644
--- a/include/asm-cris/arch-v32/offset.h
+++ b/arch/cris/include/arch-v32/arch/offset.h
diff --git a/include/asm-cris/arch-v32/page.h b/arch/cris/include/arch-v32/arch/page.h
index 20f1b4806bfe..20f1b4806bfe 100644
--- a/include/asm-cris/arch-v32/page.h
+++ b/arch/cris/include/arch-v32/arch/page.h
diff --git a/include/asm-cris/arch-v32/pgtable.h b/arch/cris/include/arch-v32/arch/pgtable.h
index 08cb7ff7e4e7..08cb7ff7e4e7 100644
--- a/include/asm-cris/arch-v32/pgtable.h
+++ b/arch/cris/include/arch-v32/arch/pgtable.h
diff --git a/include/asm-cris/arch-v32/processor.h b/arch/cris/include/arch-v32/arch/processor.h
index f80b47790ca6..f80b47790ca6 100644
--- a/include/asm-cris/arch-v32/processor.h
+++ b/arch/cris/include/arch-v32/arch/processor.h
diff --git a/include/asm-cris/arch-v32/ptrace.h b/arch/cris/include/arch-v32/arch/ptrace.h
index 41f4e8662bc2..41f4e8662bc2 100644
--- a/include/asm-cris/arch-v32/ptrace.h
+++ b/arch/cris/include/arch-v32/arch/ptrace.h
diff --git a/include/asm-cris/arch-v32/spinlock.h b/arch/cris/include/arch-v32/arch/spinlock.h
index 0d5709b983a1..0d5709b983a1 100644
--- a/include/asm-cris/arch-v32/spinlock.h
+++ b/arch/cris/include/arch-v32/arch/spinlock.h
diff --git a/include/asm-cris/arch-v32/system.h b/arch/cris/include/arch-v32/arch/system.h
index 6ca90f1f110a..6ca90f1f110a 100644
--- a/include/asm-cris/arch-v32/system.h
+++ b/arch/cris/include/arch-v32/arch/system.h
diff --git a/include/asm-cris/arch-v32/thread_info.h b/arch/cris/include/arch-v32/arch/thread_info.h
index d6936956a3c6..d6936956a3c6 100644
--- a/include/asm-cris/arch-v32/thread_info.h
+++ b/arch/cris/include/arch-v32/arch/thread_info.h
diff --git a/include/asm-cris/arch-v32/timex.h b/arch/cris/include/arch-v32/arch/timex.h
index 2591d3c5ed9d..2591d3c5ed9d 100644
--- a/include/asm-cris/arch-v32/timex.h
+++ b/arch/cris/include/arch-v32/arch/timex.h
diff --git a/include/asm-cris/arch-v32/tlb.h b/arch/cris/include/arch-v32/arch/tlb.h
index 4effb1253660..4effb1253660 100644
--- a/include/asm-cris/arch-v32/tlb.h
+++ b/arch/cris/include/arch-v32/arch/tlb.h
diff --git a/include/asm-cris/arch-v32/uaccess.h b/arch/cris/include/arch-v32/arch/uaccess.h
index 6b207f1b6622..6b207f1b6622 100644
--- a/include/asm-cris/arch-v32/uaccess.h
+++ b/arch/cris/include/arch-v32/arch/uaccess.h
diff --git a/include/asm-cris/arch-v32/unistd.h b/arch/cris/include/arch-v32/arch/unistd.h
index 0051114c63c7..0051114c63c7 100644
--- a/include/asm-cris/arch-v32/unistd.h
+++ b/arch/cris/include/arch-v32/arch/unistd.h
diff --git a/include/asm-cris/arch-v32/user.h b/arch/cris/include/arch-v32/arch/user.h
index 03fa1f3c3c00..03fa1f3c3c00 100644
--- a/include/asm-cris/arch-v32/user.h
+++ b/arch/cris/include/arch-v32/arch/user.h
diff --git a/include/asm-cris/arch-v32/mach-a3/arbiter.h b/arch/cris/include/arch-v32/mach-a3/mach/arbiter.h
index 65e9d6ff0520..65e9d6ff0520 100644
--- a/include/asm-cris/arch-v32/mach-a3/arbiter.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/arbiter.h
diff --git a/include/asm-cris/arch-v32/mach-a3/dma.h b/arch/cris/include/arch-v32/mach-a3/mach/dma.h
index 9e8eb13b601d..9e8eb13b601d 100644
--- a/include/asm-cris/arch-v32/mach-a3/dma.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/dma.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h
index 02855adf63e8..02855adf63e8 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h
index b12be03edacb..b12be03edacb 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h
index df6714fda179..df6714fda179 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h
index c3dc9c666c46..c3dc9c666c46 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h
index 3907ef4921c8..3907ef4921c8 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h
index 89439e9610e2..89439e9610e2 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h
index b129e826fc34..b129e826fc34 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h
index c1e9ba93b3a3..c1e9ba93b3a3 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h
index 0f30e8bf946d..0f30e8bf946d 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h
index 5d88e0db23ae..5d88e0db23ae 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h
index bea699aa480e..bea699aa480e 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h
index b820f6347c74..b820f6347c74 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h
index d75a74e90458..d75a74e90458 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h
index 7f90b5a0460d..7f90b5a0460d 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h
index 399bd656406b..399bd656406b 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
index 3b3949b51a66..3b3949b51a66 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
index 3f4fe1b31815..3f4fe1b31815 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
index ffcc83b22d21..ffcc83b22d21 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h
index 67a745338087..67a745338087 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h
index 4ad671202af0..4ad671202af0 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h
index af3196c60a46..af3196c60a46 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h
index 51dde016c03a..51dde016c03a 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h
index 5af88baa2ac1..5af88baa2ac1 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h
index 98ac95275a1c..98ac95275a1c 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h
index a16f556370eb..a16f556370eb 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h
index a2e4e1a33e57..a2e4e1a33e57 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h
index c8560b865a1a..c8560b865a1a 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h
index 20de425e652b..20de425e652b 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h
index 243ac3c882cb..243ac3c882cb 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h
index c0e7628cbf7d..c0e7628cbf7d 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h
index 2baa833f109a..2baa833f109a 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h
index 4b96cd2cba8a..4b96cd2cba8a 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h
index 2d8e4b4cc602..2d8e4b4cc602 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h
index 36e59d6e96b6..36e59d6e96b6 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h
index 14f718a4ecc3..14f718a4ecc3 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h
index 2c33e097d60a..2c33e097d60a 100644
--- a/include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h
diff --git a/include/asm-cris/arch-v32/mach-a3/memmap.h b/arch/cris/include/arch-v32/mach-a3/mach/memmap.h
index 7e15c9eb4e49..7e15c9eb4e49 100644
--- a/include/asm-cris/arch-v32/mach-a3/memmap.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/memmap.h
diff --git a/include/asm-cris/arch-v32/mach-a3/pinmux.h b/arch/cris/include/arch-v32/mach-a3/mach/pinmux.h
index db42a7254584..db42a7254584 100644
--- a/include/asm-cris/arch-v32/mach-a3/pinmux.h
+++ b/arch/cris/include/arch-v32/mach-a3/mach/pinmux.h
diff --git a/include/asm-cris/arch-v32/mach-a3/startup.inc b/arch/cris/include/arch-v32/mach-a3/mach/startup.inc
index 2f23e5e16f4a..2f23e5e16f4a 100644
--- a/include/asm-cris/arch-v32/mach-a3/startup.inc
+++ b/arch/cris/include/arch-v32/mach-a3/mach/startup.inc
diff --git a/include/asm-cris/arch-v32/mach-fs/arbiter.h b/arch/cris/include/arch-v32/mach-fs/mach/arbiter.h
index a2e0ec8faa7d..a2e0ec8faa7d 100644
--- a/include/asm-cris/arch-v32/mach-fs/arbiter.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/arbiter.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h
index 0a409c92837e..0a409c92837e 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h
index a9908dfc2937..a9908dfc2937 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h
index be4c63936d90..be4c63936d90 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h
index 30cf5a936b64..30cf5a936b64 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h
index 87517aebd2cb..87517aebd2cb 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h
index e1197194d5c1..e1197194d5c1 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h
index 44362a62b47c..44362a62b47c 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h
index 3cb51a09dba7..3cb51a09dba7 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h
index 0c434585a3f9..0c434585a3f9 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h
index abc5f20705f7..abc5f20705f7 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h
index 26aa3efcf91b..26aa3efcf91b 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h
index bacc2a895c21..bacc2a895c21 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h
index aa65128ae1aa..aa65128ae1aa 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h
index dcaaec4620ba..dcaaec4620ba 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h
index 254da0854986..254da0854986 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h
index 751eab5f191c..751eab5f191c 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h
index 4146973a58b3..4146973a58b3 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h
index cbfaa867829e..cbfaa867829e 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h
index 76bcc591921d..76bcc591921d 100644
--- a/include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h
diff --git a/include/asm-cris/arch-v32/mach-fs/pinmux.h b/arch/cris/include/arch-v32/mach-fs/mach/pinmux.h
index c2b3036779df..c2b3036779df 100644
--- a/include/asm-cris/arch-v32/mach-fs/pinmux.h
+++ b/arch/cris/include/arch-v32/mach-fs/mach/pinmux.h
diff --git a/include/asm-cris/arch-v32/mach-fs/startup.inc b/arch/cris/include/arch-v32/mach-fs/mach/startup.inc
index 4a10ccbd6cc1..4a10ccbd6cc1 100644
--- a/include/asm-cris/arch-v32/mach-fs/startup.inc
+++ b/arch/cris/include/arch-v32/mach-fs/mach/startup.inc
diff --git a/include/asm-cris/Kbuild b/arch/cris/include/asm/Kbuild
index d5b631935ec8..d5b631935ec8 100644
--- a/include/asm-cris/Kbuild
+++ b/arch/cris/include/asm/Kbuild
diff --git a/include/asm-cris/atomic.h b/arch/cris/include/asm/atomic.h
index 5fc87768774a..f71ea686a2ea 100644
--- a/include/asm-cris/atomic.h
+++ b/arch/cris/include/asm/atomic.h
@@ -6,7 +6,7 @@
6#include <linux/compiler.h> 6#include <linux/compiler.h>
7 7
8#include <asm/system.h> 8#include <asm/system.h>
9#include <asm/arch/atomic.h> 9#include <arch/atomic.h>
10 10
11/* 11/*
12 * Atomic operations that C can't guarantee us. Useful for 12 * Atomic operations that C can't guarantee us. Useful for
diff --git a/include/asm-cris/auxvec.h b/arch/cris/include/asm/auxvec.h
index cb30b01bf19f..cb30b01bf19f 100644
--- a/include/asm-cris/auxvec.h
+++ b/arch/cris/include/asm/auxvec.h
diff --git a/include/asm-cris/axisflashmap.h b/arch/cris/include/asm/axisflashmap.h
index 015ca5445ddd..015ca5445ddd 100644
--- a/include/asm-cris/axisflashmap.h
+++ b/arch/cris/include/asm/axisflashmap.h
diff --git a/include/asm-cris/bitops.h b/arch/cris/include/asm/bitops.h
index 75ea6e096483..c0e62f811e09 100644
--- a/include/asm-cris/bitops.h
+++ b/arch/cris/include/asm/bitops.h
@@ -18,7 +18,7 @@
18#error only <linux/bitops.h> can be included directly 18#error only <linux/bitops.h> can be included directly
19#endif 19#endif
20 20
21#include <asm/arch/bitops.h> 21#include <arch/bitops.h>
22#include <asm/system.h> 22#include <asm/system.h>
23#include <asm/atomic.h> 23#include <asm/atomic.h>
24#include <linux/compiler.h> 24#include <linux/compiler.h>
diff --git a/include/asm-cris/bug.h b/arch/cris/include/asm/bug.h
index fee12d4ae683..3b3958963801 100644
--- a/include/asm-cris/bug.h
+++ b/arch/cris/include/asm/bug.h
@@ -1,4 +1,4 @@
1#ifndef _CRIS_BUG_H 1#ifndef _CRIS_BUG_H
2#define _CRIS_BUG_H 2#define _CRIS_BUG_H
3#include <asm/arch/bug.h> 3#include <arch/bug.h>
4#endif 4#endif
diff --git a/include/asm-cris/bugs.h b/arch/cris/include/asm/bugs.h
index c5907aac1007..c5907aac1007 100644
--- a/include/asm-cris/bugs.h
+++ b/arch/cris/include/asm/bugs.h
diff --git a/include/asm-cris/byteorder.h b/arch/cris/include/asm/byteorder.h
index 0cd9db1cc888..cc8e418cfd14 100644
--- a/include/asm-cris/byteorder.h
+++ b/arch/cris/include/asm/byteorder.h
@@ -4,7 +4,7 @@
4#ifdef __GNUC__ 4#ifdef __GNUC__
5 5
6#ifdef __KERNEL__ 6#ifdef __KERNEL__
7#include <asm/arch/byteorder.h> 7#include <arch/byteorder.h>
8 8
9/* defines are necessary because the other files detect the presence 9/* defines are necessary because the other files detect the presence
10 * of a defined __arch_swab32, not an inline 10 * of a defined __arch_swab32, not an inline
diff --git a/include/asm-cris/cache.h b/arch/cris/include/asm/cache.h
index 46a3b26e205a..a692b9fba8b9 100644
--- a/include/asm-cris/cache.h
+++ b/arch/cris/include/asm/cache.h
@@ -1,6 +1,6 @@
1#ifndef _ASM_CACHE_H 1#ifndef _ASM_CACHE_H
2#define _ASM_CACHE_H 2#define _ASM_CACHE_H
3 3
4#include <asm/arch/cache.h> 4#include <arch/cache.h>
5 5
6#endif /* _ASM_CACHE_H */ 6#endif /* _ASM_CACHE_H */
diff --git a/include/asm-cris/cacheflush.h b/arch/cris/include/asm/cacheflush.h
index cf60e3f69f8d..cf60e3f69f8d 100644
--- a/include/asm-cris/cacheflush.h
+++ b/arch/cris/include/asm/cacheflush.h
diff --git a/include/asm-cris/checksum.h b/arch/cris/include/asm/checksum.h
index c6c5be62c698..75dcb77d6cb0 100644
--- a/include/asm-cris/checksum.h
+++ b/arch/cris/include/asm/checksum.h
@@ -3,7 +3,7 @@
3#ifndef _CRIS_CHECKSUM_H 3#ifndef _CRIS_CHECKSUM_H
4#define _CRIS_CHECKSUM_H 4#define _CRIS_CHECKSUM_H
5 5
6#include <asm/arch/checksum.h> 6#include <arch/checksum.h>
7 7
8/* 8/*
9 * computes the checksum of a memory block at buff, length len, 9 * computes the checksum of a memory block at buff, length len,
diff --git a/include/asm-cris/cputime.h b/arch/cris/include/asm/cputime.h
index 4446a65656fa..4446a65656fa 100644
--- a/include/asm-cris/cputime.h
+++ b/arch/cris/include/asm/cputime.h
diff --git a/include/asm-cris/current.h b/arch/cris/include/asm/current.h
index 5f5c0efd00be..5f5c0efd00be 100644
--- a/include/asm-cris/current.h
+++ b/arch/cris/include/asm/current.h
diff --git a/include/asm-cris/delay.h b/arch/cris/include/asm/delay.h
index 123e19aef49d..75ec581bfead 100644
--- a/include/asm-cris/delay.h
+++ b/arch/cris/include/asm/delay.h
@@ -7,7 +7,7 @@
7 * Delay routines, using a pre-computed "loops_per_second" value. 7 * Delay routines, using a pre-computed "loops_per_second" value.
8 */ 8 */
9 9
10#include <asm/arch/delay.h> 10#include <arch/delay.h>
11 11
12/* Use only for very small delays ( < 1 msec). */ 12/* Use only for very small delays ( < 1 msec). */
13 13
diff --git a/include/asm-cris/device.h b/arch/cris/include/asm/device.h
index d8f9872b0e2d..d8f9872b0e2d 100644
--- a/include/asm-cris/device.h
+++ b/arch/cris/include/asm/device.h
diff --git a/include/asm-cris/div64.h b/arch/cris/include/asm/div64.h
index 6cd978cefb28..6cd978cefb28 100644
--- a/include/asm-cris/div64.h
+++ b/arch/cris/include/asm/div64.h
diff --git a/include/asm-cris/dma-mapping.h b/arch/cris/include/asm/dma-mapping.h
index da8ef8e8f842..da8ef8e8f842 100644
--- a/include/asm-cris/dma-mapping.h
+++ b/arch/cris/include/asm/dma-mapping.h
diff --git a/include/asm-cris/dma.h b/arch/cris/include/asm/dma.h
index 6f188dc56138..30fd715fa589 100644
--- a/include/asm-cris/dma.h
+++ b/arch/cris/include/asm/dma.h
@@ -3,7 +3,7 @@
3#ifndef _ASM_DMA_H 3#ifndef _ASM_DMA_H
4#define _ASM_DMA_H 4#define _ASM_DMA_H
5 5
6#include <asm/arch/dma.h> 6#include <arch/dma.h>
7 7
8/* it's useless on the Etrax, but unfortunately needed by the new 8/* it's useless on the Etrax, but unfortunately needed by the new
9 bootmem allocator (but this should do it for this) */ 9 bootmem allocator (but this should do it for this) */
diff --git a/include/asm-cris/elf.h b/arch/cris/include/asm/elf.h
index f0d17fbc81ba..0f51b10b9f4f 100644
--- a/include/asm-cris/elf.h
+++ b/arch/cris/include/asm/elf.h
@@ -45,7 +45,7 @@ typedef unsigned long elf_fpregset_t;
45#define ELF_DATA ELFDATA2LSB 45#define ELF_DATA ELFDATA2LSB
46#define ELF_ARCH EM_CRIS 46#define ELF_ARCH EM_CRIS
47 47
48#include <asm/arch/elf.h> 48#include <arch/elf.h>
49 49
50/* The master for these definitions is {binutils}/include/elf/cris.h: */ 50/* The master for these definitions is {binutils}/include/elf/cris.h: */
51/* User symbols in this file have a leading underscore. */ 51/* User symbols in this file have a leading underscore. */
diff --git a/include/asm-cris/emergency-restart.h b/arch/cris/include/asm/emergency-restart.h
index 108d8c48e42e..108d8c48e42e 100644
--- a/include/asm-cris/emergency-restart.h
+++ b/arch/cris/include/asm/emergency-restart.h
diff --git a/include/asm-cris/errno.h b/arch/cris/include/asm/errno.h
index 2bf5eb5fa773..2bf5eb5fa773 100644
--- a/include/asm-cris/errno.h
+++ b/arch/cris/include/asm/errno.h
diff --git a/include/asm-cris/eshlibld.h b/arch/cris/include/asm/eshlibld.h
index 10ce36cf79a9..10ce36cf79a9 100644
--- a/include/asm-cris/eshlibld.h
+++ b/arch/cris/include/asm/eshlibld.h
diff --git a/include/asm-cris/ethernet.h b/arch/cris/include/asm/ethernet.h
index 4d58652c3a49..4d58652c3a49 100644
--- a/include/asm-cris/ethernet.h
+++ b/arch/cris/include/asm/ethernet.h
diff --git a/include/asm-cris/etraxgpio.h b/arch/cris/include/asm/etraxgpio.h
index 38f1c8e1770c..38f1c8e1770c 100644
--- a/include/asm-cris/etraxgpio.h
+++ b/arch/cris/include/asm/etraxgpio.h
diff --git a/include/asm-cris/etraxi2c.h b/arch/cris/include/asm/etraxi2c.h
index e369a7620893..e369a7620893 100644
--- a/include/asm-cris/etraxi2c.h
+++ b/arch/cris/include/asm/etraxi2c.h
diff --git a/include/asm-cris/fasttimer.h b/arch/cris/include/asm/fasttimer.h
index 8f8a8d6c9653..8f8a8d6c9653 100644
--- a/include/asm-cris/fasttimer.h
+++ b/arch/cris/include/asm/fasttimer.h
diff --git a/include/asm-cris/fb.h b/arch/cris/include/asm/fb.h
index c7df38030992..c7df38030992 100644
--- a/include/asm-cris/fb.h
+++ b/arch/cris/include/asm/fb.h
diff --git a/include/asm-cris/fcntl.h b/arch/cris/include/asm/fcntl.h
index 46ab12db5739..46ab12db5739 100644
--- a/include/asm-cris/fcntl.h
+++ b/arch/cris/include/asm/fcntl.h
diff --git a/include/asm-cris/futex.h b/arch/cris/include/asm/futex.h
index 6a332a9f099c..6a332a9f099c 100644
--- a/include/asm-cris/futex.h
+++ b/arch/cris/include/asm/futex.h
diff --git a/include/asm-cris/hardirq.h b/arch/cris/include/asm/hardirq.h
index 74178adeb1cd..74178adeb1cd 100644
--- a/include/asm-cris/hardirq.h
+++ b/arch/cris/include/asm/hardirq.h
diff --git a/include/asm-cris/hw_irq.h b/arch/cris/include/asm/hw_irq.h
index 298066020af2..298066020af2 100644
--- a/include/asm-cris/hw_irq.h
+++ b/arch/cris/include/asm/hw_irq.h
diff --git a/include/asm-cris/io.h b/arch/cris/include/asm/io.h
index b87ce63f531f..32567bc2a421 100644
--- a/include/asm-cris/io.h
+++ b/arch/cris/include/asm/io.h
@@ -2,7 +2,7 @@
2#define _ASM_CRIS_IO_H 2#define _ASM_CRIS_IO_H
3 3
4#include <asm/page.h> /* for __va, __pa */ 4#include <asm/page.h> /* for __va, __pa */
5#include <asm/arch/io.h> 5#include <arch/io.h>
6#include <linux/kernel.h> 6#include <linux/kernel.h>
7 7
8struct cris_io_operations 8struct cris_io_operations
diff --git a/include/asm-cris/ioctl.h b/arch/cris/include/asm/ioctl.h
index b279fe06dfe5..b279fe06dfe5 100644
--- a/include/asm-cris/ioctl.h
+++ b/arch/cris/include/asm/ioctl.h
diff --git a/include/asm-cris/ioctls.h b/arch/cris/include/asm/ioctls.h
index 4f4e52531fa0..4f4e52531fa0 100644
--- a/include/asm-cris/ioctls.h
+++ b/arch/cris/include/asm/ioctls.h
diff --git a/include/asm-cris/ipcbuf.h b/arch/cris/include/asm/ipcbuf.h
index 8b0c18b02844..8b0c18b02844 100644
--- a/include/asm-cris/ipcbuf.h
+++ b/arch/cris/include/asm/ipcbuf.h
diff --git a/include/asm-cris/irq.h b/arch/cris/include/asm/irq.h
index 998cce9f3200..ce0fcf540d62 100644
--- a/include/asm-cris/irq.h
+++ b/arch/cris/include/asm/irq.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_IRQ_H 1#ifndef _ASM_IRQ_H
2#define _ASM_IRQ_H 2#define _ASM_IRQ_H
3 3
4#include <asm/arch/irq.h> 4#include <arch/irq.h>
5 5
6static inline int irq_canonicalize(int irq) 6static inline int irq_canonicalize(int irq)
7{ 7{
diff --git a/include/asm-cris/irq_regs.h b/arch/cris/include/asm/irq_regs.h
index 3dd9c0b70270..3dd9c0b70270 100644
--- a/include/asm-cris/irq_regs.h
+++ b/arch/cris/include/asm/irq_regs.h
diff --git a/include/asm-cris/kdebug.h b/arch/cris/include/asm/kdebug.h
index 6ece1b037665..6ece1b037665 100644
--- a/include/asm-cris/kdebug.h
+++ b/arch/cris/include/asm/kdebug.h
diff --git a/include/asm-cris/kmap_types.h b/arch/cris/include/asm/kmap_types.h
index 492988cb9077..492988cb9077 100644
--- a/include/asm-cris/kmap_types.h
+++ b/arch/cris/include/asm/kmap_types.h
diff --git a/include/asm-cris/linkage.h b/arch/cris/include/asm/linkage.h
index 291c2d01c44f..291c2d01c44f 100644
--- a/include/asm-cris/linkage.h
+++ b/arch/cris/include/asm/linkage.h
diff --git a/include/asm-cris/local.h b/arch/cris/include/asm/local.h
index c11c530f74d0..c11c530f74d0 100644
--- a/include/asm-cris/local.h
+++ b/arch/cris/include/asm/local.h
diff --git a/include/asm-cris/mman.h b/arch/cris/include/asm/mman.h
index 1c35e1b66b46..1c35e1b66b46 100644
--- a/include/asm-cris/mman.h
+++ b/arch/cris/include/asm/mman.h
diff --git a/include/asm-cris/mmu.h b/arch/cris/include/asm/mmu.h
index c40a1bcad06c..e06ea94ecffd 100644
--- a/include/asm-cris/mmu.h
+++ b/arch/cris/include/asm/mmu.h
@@ -5,6 +5,6 @@
5#ifndef _CRIS_MMU_H 5#ifndef _CRIS_MMU_H
6#define _CRIS_MMU_H 6#define _CRIS_MMU_H
7 7
8#include <asm/arch/mmu.h> 8#include <arch/mmu.h>
9 9
10#endif 10#endif
diff --git a/include/asm-cris/mmu_context.h b/arch/cris/include/asm/mmu_context.h
index 72ba08dcfd18..72ba08dcfd18 100644
--- a/include/asm-cris/mmu_context.h
+++ b/arch/cris/include/asm/mmu_context.h
diff --git a/include/asm-cris/module.h b/arch/cris/include/asm/module.h
index 7ee72311bd78..7ee72311bd78 100644
--- a/include/asm-cris/module.h
+++ b/arch/cris/include/asm/module.h
diff --git a/include/asm-cris/msgbuf.h b/arch/cris/include/asm/msgbuf.h
index ada63df1d574..ada63df1d574 100644
--- a/include/asm-cris/msgbuf.h
+++ b/arch/cris/include/asm/msgbuf.h
diff --git a/include/asm-cris/mutex.h b/arch/cris/include/asm/mutex.h
index 458c1f7fbc18..458c1f7fbc18 100644
--- a/include/asm-cris/mutex.h
+++ b/arch/cris/include/asm/mutex.h
diff --git a/include/asm-cris/page.h b/arch/cris/include/asm/page.h
index d19272ba6b69..f3fdbd09c34c 100644
--- a/include/asm-cris/page.h
+++ b/arch/cris/include/asm/page.h
@@ -1,7 +1,7 @@
1#ifndef _CRIS_PAGE_H 1#ifndef _CRIS_PAGE_H
2#define _CRIS_PAGE_H 2#define _CRIS_PAGE_H
3 3
4#include <asm/arch/page.h> 4#include <arch/page.h>
5#include <linux/const.h> 5#include <linux/const.h>
6 6
7/* PAGE_SHIFT determines the page size */ 7/* PAGE_SHIFT determines the page size */
diff --git a/include/asm-cris/param.h b/arch/cris/include/asm/param.h
index 0e47994e40be..0e47994e40be 100644
--- a/include/asm-cris/param.h
+++ b/arch/cris/include/asm/param.h
diff --git a/include/asm-cris/pci.h b/arch/cris/include/asm/pci.h
index 730ce40fdd0f..730ce40fdd0f 100644
--- a/include/asm-cris/pci.h
+++ b/arch/cris/include/asm/pci.h
diff --git a/include/asm-cris/percpu.h b/arch/cris/include/asm/percpu.h
index 6db9b43cf80a..6db9b43cf80a 100644
--- a/include/asm-cris/percpu.h
+++ b/arch/cris/include/asm/percpu.h
diff --git a/include/asm-cris/pgalloc.h b/arch/cris/include/asm/pgalloc.h
index a1ba761d0573..a1ba761d0573 100644
--- a/include/asm-cris/pgalloc.h
+++ b/arch/cris/include/asm/pgalloc.h
diff --git a/include/asm-cris/pgtable.h b/arch/cris/include/asm/pgtable.h
index 829e7a7d9fb9..50aa974aa834 100644
--- a/include/asm-cris/pgtable.h
+++ b/arch/cris/include/asm/pgtable.h
@@ -12,7 +12,7 @@
12#include <linux/sched.h> 12#include <linux/sched.h>
13#include <asm/mmu.h> 13#include <asm/mmu.h>
14#endif 14#endif
15#include <asm/arch/pgtable.h> 15#include <arch/pgtable.h>
16 16
17/* 17/*
18 * The Linux memory management assumes a three-level page table setup. On 18 * The Linux memory management assumes a three-level page table setup. On
diff --git a/include/asm-cris/poll.h b/arch/cris/include/asm/poll.h
index c98509d3149e..c98509d3149e 100644
--- a/include/asm-cris/poll.h
+++ b/arch/cris/include/asm/poll.h
diff --git a/include/asm-cris/posix_types.h b/arch/cris/include/asm/posix_types.h
index ce3fb25a460b..ce3fb25a460b 100644
--- a/include/asm-cris/posix_types.h
+++ b/arch/cris/include/asm/posix_types.h
diff --git a/include/asm-cris/processor.h b/arch/cris/include/asm/processor.h
index cdc0c1dce6be..3f7248f7a1c9 100644
--- a/include/asm-cris/processor.h
+++ b/arch/cris/include/asm/processor.h
@@ -13,7 +13,7 @@
13#include <asm/system.h> 13#include <asm/system.h>
14#include <asm/page.h> 14#include <asm/page.h>
15#include <asm/ptrace.h> 15#include <asm/ptrace.h>
16#include <asm/arch/processor.h> 16#include <arch/processor.h>
17 17
18struct task_struct; 18struct task_struct;
19 19
diff --git a/include/asm-cris/ptrace.h b/arch/cris/include/asm/ptrace.h
index d910925e3174..6618893bfe8e 100644
--- a/include/asm-cris/ptrace.h
+++ b/arch/cris/include/asm/ptrace.h
@@ -1,7 +1,7 @@
1#ifndef _CRIS_PTRACE_H 1#ifndef _CRIS_PTRACE_H
2#define _CRIS_PTRACE_H 2#define _CRIS_PTRACE_H
3 3
4#include <asm/arch/ptrace.h> 4#include <arch/ptrace.h>
5 5
6#ifdef __KERNEL__ 6#ifdef __KERNEL__
7 7
diff --git a/include/asm-cris/resource.h b/arch/cris/include/asm/resource.h
index b5d29448de4e..b5d29448de4e 100644
--- a/include/asm-cris/resource.h
+++ b/arch/cris/include/asm/resource.h
diff --git a/include/asm-cris/rs485.h b/arch/cris/include/asm/rs485.h
index c331c51b0c2b..c331c51b0c2b 100644
--- a/include/asm-cris/rs485.h
+++ b/arch/cris/include/asm/rs485.h
diff --git a/include/asm-cris/rtc.h b/arch/cris/include/asm/rtc.h
index 17d3019529e1..17d3019529e1 100644
--- a/include/asm-cris/rtc.h
+++ b/arch/cris/include/asm/rtc.h
diff --git a/include/asm-cris/scatterlist.h b/arch/cris/include/asm/scatterlist.h
index faff53ad1f96..faff53ad1f96 100644
--- a/include/asm-cris/scatterlist.h
+++ b/arch/cris/include/asm/scatterlist.h
diff --git a/include/asm-cris/sections.h b/arch/cris/include/asm/sections.h
index 2c998ce8967b..2c998ce8967b 100644
--- a/include/asm-cris/sections.h
+++ b/arch/cris/include/asm/sections.h
diff --git a/include/asm-cris/segment.h b/arch/cris/include/asm/segment.h
index c067513beaaf..c067513beaaf 100644
--- a/include/asm-cris/segment.h
+++ b/arch/cris/include/asm/segment.h
diff --git a/include/asm-cris/sembuf.h b/arch/cris/include/asm/sembuf.h
index 7fed9843796d..7fed9843796d 100644
--- a/include/asm-cris/sembuf.h
+++ b/arch/cris/include/asm/sembuf.h
diff --git a/include/asm-cris/setup.h b/arch/cris/include/asm/setup.h
index b90728652d1a..b90728652d1a 100644
--- a/include/asm-cris/setup.h
+++ b/arch/cris/include/asm/setup.h
diff --git a/include/asm-cris/shmbuf.h b/arch/cris/include/asm/shmbuf.h
index 3239e3f000e8..3239e3f000e8 100644
--- a/include/asm-cris/shmbuf.h
+++ b/arch/cris/include/asm/shmbuf.h
diff --git a/include/asm-cris/shmparam.h b/arch/cris/include/asm/shmparam.h
index d29d12270687..d29d12270687 100644
--- a/include/asm-cris/shmparam.h
+++ b/arch/cris/include/asm/shmparam.h
diff --git a/include/asm-cris/sigcontext.h b/arch/cris/include/asm/sigcontext.h
index a1d634e120df..a1d634e120df 100644
--- a/include/asm-cris/sigcontext.h
+++ b/arch/cris/include/asm/sigcontext.h
diff --git a/include/asm-cris/siginfo.h b/arch/cris/include/asm/siginfo.h
index c1cd6d16928b..c1cd6d16928b 100644
--- a/include/asm-cris/siginfo.h
+++ b/arch/cris/include/asm/siginfo.h
diff --git a/include/asm-cris/signal.h b/arch/cris/include/asm/signal.h
index 349ae682b568..349ae682b568 100644
--- a/include/asm-cris/signal.h
+++ b/arch/cris/include/asm/signal.h
diff --git a/include/asm-cris/smp.h b/arch/cris/include/asm/smp.h
index dba33aba3e95..dba33aba3e95 100644
--- a/include/asm-cris/smp.h
+++ b/arch/cris/include/asm/smp.h
diff --git a/include/asm-cris/socket.h b/arch/cris/include/asm/socket.h
index 9df0ca82f5de..9df0ca82f5de 100644
--- a/include/asm-cris/socket.h
+++ b/arch/cris/include/asm/socket.h
diff --git a/include/asm-cris/sockios.h b/arch/cris/include/asm/sockios.h
index cfe7bfecf599..cfe7bfecf599 100644
--- a/include/asm-cris/sockios.h
+++ b/arch/cris/include/asm/sockios.h
diff --git a/arch/cris/include/asm/spinlock.h b/arch/cris/include/asm/spinlock.h
new file mode 100644
index 000000000000..ed816b57face
--- /dev/null
+++ b/arch/cris/include/asm/spinlock.h
@@ -0,0 +1 @@
#include <arch/spinlock.h>
diff --git a/include/asm-cris/stat.h b/arch/cris/include/asm/stat.h
index 9e558cc3c43b..9e558cc3c43b 100644
--- a/include/asm-cris/stat.h
+++ b/arch/cris/include/asm/stat.h
diff --git a/include/asm-cris/statfs.h b/arch/cris/include/asm/statfs.h
index fdaf921844bc..fdaf921844bc 100644
--- a/include/asm-cris/statfs.h
+++ b/arch/cris/include/asm/statfs.h
diff --git a/include/asm-cris/string.h b/arch/cris/include/asm/string.h
index 691190e99a27..691190e99a27 100644
--- a/include/asm-cris/string.h
+++ b/arch/cris/include/asm/string.h
diff --git a/include/asm-cris/sync_serial.h b/arch/cris/include/asm/sync_serial.h
index d87c24df2b38..d87c24df2b38 100644
--- a/include/asm-cris/sync_serial.h
+++ b/arch/cris/include/asm/sync_serial.h
diff --git a/include/asm-cris/system.h b/arch/cris/include/asm/system.h
index 5bcfe5a10907..8657b084a922 100644
--- a/include/asm-cris/system.h
+++ b/arch/cris/include/asm/system.h
@@ -1,7 +1,7 @@
1#ifndef __ASM_CRIS_SYSTEM_H 1#ifndef __ASM_CRIS_SYSTEM_H
2#define __ASM_CRIS_SYSTEM_H 2#define __ASM_CRIS_SYSTEM_H
3 3
4#include <asm/arch/system.h> 4#include <arch/system.h>
5 5
6/* the switch_to macro calls resume, an asm function in entry.S which does the actual 6/* the switch_to macro calls resume, an asm function in entry.S which does the actual
7 * task switching. 7 * task switching.
diff --git a/include/asm-cris/termbits.h b/arch/cris/include/asm/termbits.h
index 66e1a7492a0c..66e1a7492a0c 100644
--- a/include/asm-cris/termbits.h
+++ b/arch/cris/include/asm/termbits.h
diff --git a/include/asm-cris/termios.h b/arch/cris/include/asm/termios.h
index b0124e6c2e41..b0124e6c2e41 100644
--- a/include/asm-cris/termios.h
+++ b/arch/cris/include/asm/termios.h
diff --git a/include/asm-cris/thread_info.h b/arch/cris/include/asm/thread_info.h
index cee97f14af3b..bc5b2935ca53 100644
--- a/include/asm-cris/thread_info.h
+++ b/arch/cris/include/asm/thread_info.h
@@ -16,7 +16,7 @@
16#ifndef __ASSEMBLY__ 16#ifndef __ASSEMBLY__
17#include <asm/types.h> 17#include <asm/types.h>
18#include <asm/processor.h> 18#include <asm/processor.h>
19#include <asm/arch/thread_info.h> 19#include <arch/thread_info.h>
20#include <asm/segment.h> 20#include <asm/segment.h>
21#endif 21#endif
22 22
diff --git a/include/asm-cris/timex.h b/arch/cris/include/asm/timex.h
index b92e0e80fe86..980924ae7518 100644
--- a/include/asm-cris/timex.h
+++ b/arch/cris/include/asm/timex.h
@@ -7,7 +7,7 @@
7#ifndef _ASM_CRIS_TIMEX_H 7#ifndef _ASM_CRIS_TIMEX_H
8#define _ASM_CRIS_TIMEX_H 8#define _ASM_CRIS_TIMEX_H
9 9
10#include <asm/arch/timex.h> 10#include <arch/timex.h>
11 11
12/* 12/*
13 * We don't have a cycle-counter.. but we do not support SMP anyway where this is 13 * We don't have a cycle-counter.. but we do not support SMP anyway where this is
diff --git a/include/asm-cris/tlb.h b/arch/cris/include/asm/tlb.h
index 7724246a2601..77384ea2f29d 100644
--- a/include/asm-cris/tlb.h
+++ b/arch/cris/include/asm/tlb.h
@@ -3,7 +3,7 @@
3 3
4#include <linux/pagemap.h> 4#include <linux/pagemap.h>
5 5
6#include <asm/arch/tlb.h> 6#include <arch/tlb.h>
7 7
8/* 8/*
9 * cris doesn't need any special per-pte or 9 * cris doesn't need any special per-pte or
diff --git a/include/asm-cris/tlbflush.h b/arch/cris/include/asm/tlbflush.h
index 20697e7ef4f2..20697e7ef4f2 100644
--- a/include/asm-cris/tlbflush.h
+++ b/arch/cris/include/asm/tlbflush.h
diff --git a/include/asm-cris/topology.h b/arch/cris/include/asm/topology.h
index 2ac613d32a89..2ac613d32a89 100644
--- a/include/asm-cris/topology.h
+++ b/arch/cris/include/asm/topology.h
diff --git a/include/asm-cris/types.h b/arch/cris/include/asm/types.h
index 5790262cbe8a..5790262cbe8a 100644
--- a/include/asm-cris/types.h
+++ b/arch/cris/include/asm/types.h
diff --git a/include/asm-cris/uaccess.h b/arch/cris/include/asm/uaccess.h
index ea11eaf0e922..914540801c5e 100644
--- a/include/asm-cris/uaccess.h
+++ b/arch/cris/include/asm/uaccess.h
@@ -54,7 +54,7 @@
54#define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) 54#define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size)))
55#define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) 55#define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size))
56 56
57#include <asm/arch/uaccess.h> 57#include <arch/uaccess.h>
58 58
59/* 59/*
60 * The exception table consists of pairs of addresses: the first is the 60 * The exception table consists of pairs of addresses: the first is the
diff --git a/include/asm-cris/ucontext.h b/arch/cris/include/asm/ucontext.h
index eed6ad5eb3f2..eed6ad5eb3f2 100644
--- a/include/asm-cris/ucontext.h
+++ b/arch/cris/include/asm/ucontext.h
diff --git a/include/asm-cris/unaligned.h b/arch/cris/include/asm/unaligned.h
index 7b3f3fec567c..7b3f3fec567c 100644
--- a/include/asm-cris/unaligned.h
+++ b/arch/cris/include/asm/unaligned.h
diff --git a/include/asm-cris/unistd.h b/arch/cris/include/asm/unistd.h
index 76398ef87e9b..235d076379d5 100644
--- a/include/asm-cris/unistd.h
+++ b/arch/cris/include/asm/unistd.h
@@ -336,7 +336,7 @@
336 336
337#define NR_syscalls 327 337#define NR_syscalls 327
338 338
339#include <asm/arch/unistd.h> 339#include <arch/unistd.h>
340 340
341#define __ARCH_WANT_IPC_PARSE_VERSION 341#define __ARCH_WANT_IPC_PARSE_VERSION
342#define __ARCH_WANT_OLD_READDIR 342#define __ARCH_WANT_OLD_READDIR
diff --git a/include/asm-cris/user.h b/arch/cris/include/asm/user.h
index 73e60fcbcf38..59147cf43cf6 100644
--- a/include/asm-cris/user.h
+++ b/arch/cris/include/asm/user.h
@@ -4,7 +4,7 @@
4#include <linux/types.h> 4#include <linux/types.h>
5#include <asm/ptrace.h> 5#include <asm/ptrace.h>
6#include <asm/page.h> 6#include <asm/page.h>
7#include <asm/arch/user.h> 7#include <arch/user.h>
8 8
9/* 9/*
10 * Core file format: The core file is written in such a way that gdb 10 * Core file format: The core file is written in such a way that gdb
diff --git a/arch/cris/arch-v32/kernel/asm-offsets.c b/arch/cris/kernel/asm-offsets.c
index 15b3d93a0496..ddd6fbbe75de 100644
--- a/arch/cris/arch-v32/kernel/asm-offsets.c
+++ b/arch/cris/kernel/asm-offsets.c
@@ -1,5 +1,6 @@
1#include <linux/sched.h> 1#include <linux/sched.h>
2#include <asm/thread_info.h> 2#include <asm/thread_info.h>
3#include <linux/autoconf.h>
3 4
4/* 5/*
5 * Generate definitions needed by assembly language modules. 6 * Generate definitions needed by assembly language modules.
@@ -8,10 +9,14 @@
8 */ 9 */
9 10
10#define DEFINE(sym, val) \ 11#define DEFINE(sym, val) \
11 asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 12 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
12 13
13#define BLANK() asm volatile("\n->" : : ) 14#define BLANK() asm volatile("\n->" : : )
14 15
16#if !defined(CONFIG_ETRAX_ARCH_V10) && !defined(CONFIG_ETRAX_ARCH_V32)
17#error One of ARCH v10 and ARCH v32 must be true!
18#endif
19
15int main(void) 20int main(void)
16{ 21{
17#define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry)) 22#define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry))
@@ -19,31 +24,41 @@ int main(void)
19 ENTRY(r13); 24 ENTRY(r13);
20 ENTRY(r12); 25 ENTRY(r12);
21 ENTRY(r11); 26 ENTRY(r11);
22 ENTRY(r10); 27 ENTRY(r10);
23 ENTRY(r9); 28 ENTRY(r9);
29#ifdef CONFIG_ETRAX_ARCH_V32
24 ENTRY(acr); 30 ENTRY(acr);
25 ENTRY(srs); 31 ENTRY(srs);
26 ENTRY(mof); 32#endif
27 ENTRY(ccs); 33 ENTRY(mof);
28 ENTRY(srp); 34#ifdef CONFIG_ETRAX_ARCH_V10
35 ENTRY(dccr);
36#else
37 ENTRY(ccs);
38#endif
39 ENTRY(srp);
29 BLANK(); 40 BLANK();
30#undef ENTRY 41#undef ENTRY
31#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry)) 42#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry))
32 ENTRY(task); 43 ENTRY(task);
33 ENTRY(flags); 44 ENTRY(flags);
34 ENTRY(preempt_count); 45 ENTRY(preempt_count);
35 BLANK(); 46 BLANK();
36#undef ENTRY 47#undef ENTRY
37#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry)) 48#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry))
38 ENTRY(ksp); 49 ENTRY(ksp);
39 ENTRY(usp); 50 ENTRY(usp);
40 ENTRY(ccs); 51#ifdef CONFIG_ETRAX_ARCH_V10
41 BLANK(); 52 ENTRY(dccr);
53#else
54 ENTRY(ccs);
55#endif
56 BLANK();
42#undef ENTRY 57#undef ENTRY
43#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry)) 58#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry))
44 ENTRY(pid); 59 ENTRY(pid);
45 BLANK(); 60 BLANK();
46 DEFINE(LCLONE_VM, CLONE_VM); 61 DEFINE(LCLONE_VM, CLONE_VM);
47 DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED); 62 DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED);
48 return 0; 63 return 0;
49} 64}
diff --git a/arch/cris/arch-v32/vmlinux.lds.S b/arch/cris/kernel/vmlinux.lds.S
index d5f28e40717c..0d2adfc794d4 100644
--- a/arch/cris/arch-v32/vmlinux.lds.S
+++ b/arch/cris/kernel/vmlinux.lds.S
@@ -8,6 +8,7 @@
8 * the kernel has booted. 8 * the kernel has booted.
9 */ 9 */
10 10
11#include <linux/autoconf.h>
11#include <asm-generic/vmlinux.lds.h> 12#include <asm-generic/vmlinux.lds.h>
12#include <asm/page.h> 13#include <asm/page.h>
13 14
@@ -17,22 +18,26 @@
17#define __CONFIG_ETRAX_VMEM_SIZE 0 18#define __CONFIG_ETRAX_VMEM_SIZE 0
18#endif 19#endif
19 20
21
20jiffies = jiffies_64; 22jiffies = jiffies_64;
21SECTIONS 23SECTIONS
22{ 24{
23 . = DRAM_VIRTUAL_BASE; 25 . = DRAM_VIRTUAL_BASE;
24 dram_start = .; 26 dram_start = .;
27#ifdef CONFIG_ETRAX_ARCH_V10
28 ibr_start = .;
29#else
25 ebp_start = .; 30 ebp_start = .;
26
27 /* The boot section is only necessary until the VCS top */ 31 /* The boot section is only necessary until the VCS top */
28 /* level testbench includes both flash and DRAM. */ 32 /* level testbench includes both flash and DRAM. */
29 .boot : { *(.boot) } 33 .boot : { *(.boot) }
34#endif
30 35
31 /* See head.S and pages reserved at the start. */ 36 /* see head.S and pages reserved at the start */
32 . = DRAM_VIRTUAL_BASE + 0x4000; 37 . = DRAM_VIRTUAL_BASE + 0x4000;
33 38
34 _text = .; /* Text and read-only data. */ 39 _text = .; /* Text and read-only data. */
35 text_start = .; /* Lots of aliases. */ 40 text_start = .; /* Lots of aliases. */
36 _stext = .; 41 _stext = .;
37 __stext = .; 42 __stext = .;
38 .text : { 43 .text : {
@@ -43,10 +48,10 @@ SECTIONS
43 *(.text.__*) 48 *(.text.__*)
44 } 49 }
45 50
46 _etext = . ; /* End of text section. */ 51 _etext = . ; /* End of text section. */
47 __etext = .; 52 __etext = .;
48 53
49 . = ALIGN(4); /* Exception table. */ 54 . = ALIGN(4); /* Exception table. */
50 __start___ex_table = .; 55 __start___ex_table = .;
51 __ex_table : { *(__ex_table) } 56 __ex_table : { *(__ex_table) }
52 __stop___ex_table = .; 57 __stop___ex_table = .;
@@ -56,16 +61,16 @@ SECTIONS
56 . = ALIGN (4); 61 . = ALIGN (4);
57 ___data_start = . ; 62 ___data_start = . ;
58 __Sdata = . ; 63 __Sdata = . ;
59 .data : { /* Data */ 64 .data : { /* Data */
60 DATA_DATA 65 DATA_DATA
61 } 66 }
62 __edata = . ; /* End of data section. */ 67 __edata = . ; /* End of data section. */
63 _edata = . ; 68 _edata = . ;
64 69
65 . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */ 70 . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */
66 .data.init_task : { *(.data.init_task) } 71 .data.init_task : { *(.data.init_task) }
67 72
68 . = ALIGN(PAGE_SIZE); /* Init code and data. */ 73 . = ALIGN(PAGE_SIZE); /* Init code and data. */
69 __init_begin = .; 74 __init_begin = .;
70 .init.text : { 75 .init.text : {
71 _sinittext = .; 76 _sinittext = .;
@@ -77,9 +82,11 @@ SECTIONS
77 __setup_start = .; 82 __setup_start = .;
78 .init.setup : { *(.init.setup) } 83 .init.setup : { *(.init.setup) }
79 __setup_end = .; 84 __setup_end = .;
85#ifdef CONFIG_ETRAX_ARCH_V32
80 __start___param = .; 86 __start___param = .;
81 __param : { *(__param) } 87 __param : { *(__param) }
82 __stop___param = .; 88 __stop___param = .;
89#endif
83 .initcall.init : { 90 .initcall.init : {
84 __initcall_start = .; 91 __initcall_start = .;
85 INITCALLS 92 INITCALLS
@@ -93,7 +100,17 @@ SECTIONS
93 } 100 }
94 SECURITY_INIT 101 SECURITY_INIT
95 102
96 __vmlinux_end = .; /* Last address of the physical file. */ 103#ifdef CONFIG_ETRAX_ARCH_V10
104#ifdef CONFIG_BLK_DEV_INITRD
105 .init.ramfs : {
106 __initramfs_start = .;
107 *(.init.ramfs)
108 __initramfs_end = .;
109 }
110#endif
111#endif
112 __vmlinux_end = .; /* Last address of the physical file. */
113#ifdef CONFIG_ETRAX_ARCH_V32
97 PERCPU(PAGE_SIZE) 114 PERCPU(PAGE_SIZE)
98 115
99 .init.ramfs : { 116 .init.ramfs : {
@@ -101,18 +118,19 @@ SECTIONS
101 *(.init.ramfs) 118 *(.init.ramfs)
102 __initramfs_end = .; 119 __initramfs_end = .;
103 } 120 }
121#endif
104 122
105 /* 123 /*
106 * We fill to the next page, so we can discard all init 124 * We fill to the next page, so we can discard all init
107 * pages without needing to consider what payload might be 125 * pages without needing to consider what payload might be
108 * appended to the kernel image. 126 * appended to the kernel image.
109 */ 127 */
110 . = ALIGN (PAGE_SIZE); 128 . = ALIGN(PAGE_SIZE);
111 129
112 __init_end = .; 130 __init_end = .;
113 131
114 __data_end = . ; /* Move to _edata? */ 132 __data_end = . ; /* Move to _edata ? */
115 __bss_start = .; /* BSS. */ 133 __bss_start = .; /* BSS. */
116 .bss : { 134 .bss : {
117 *(COMMON) 135 *(COMMON)
118 *(.bss) 136 *(.bss)
diff --git a/arch/cris/mm/ioremap.c b/arch/cris/mm/ioremap.c
index 8b0b9348b574..f9ca44bdea20 100644
--- a/arch/cris/mm/ioremap.c
+++ b/arch/cris/mm/ioremap.c
@@ -12,7 +12,7 @@
12#include <linux/vmalloc.h> 12#include <linux/vmalloc.h>
13#include <linux/io.h> 13#include <linux/io.h>
14#include <asm/pgalloc.h> 14#include <asm/pgalloc.h>
15#include <asm/arch/memmap.h> 15#include <arch/memmap.h>
16 16
17/* 17/*
18 * Generic mapping function (not visible outside): 18 * Generic mapping function (not visible outside):
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 27eec71429b0..6bd91ed7cd03 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -148,6 +148,7 @@ config IA64_GENERIC
148 select ACPI_NUMA 148 select ACPI_NUMA
149 select SWIOTLB 149 select SWIOTLB
150 select PCI_MSI 150 select PCI_MSI
151 select DMAR
151 help 152 help
152 This selects the system type of your hardware. A "generic" kernel 153 This selects the system type of your hardware. A "generic" kernel
153 will run on any supported IA-64 system. However, if you configure 154 will run on any supported IA-64 system. However, if you configure
@@ -585,7 +586,7 @@ source "fs/Kconfig.binfmt"
585 586
586endmenu 587endmenu
587 588
588menu "Power management and ACPI" 589menu "Power management and ACPI options"
589 590
590source "kernel/power/Kconfig" 591source "kernel/power/Kconfig"
591 592
@@ -641,6 +642,8 @@ source "net/Kconfig"
641 642
642source "drivers/Kconfig" 643source "drivers/Kconfig"
643 644
645source "arch/ia64/hp/sim/Kconfig"
646
644config MSPEC 647config MSPEC
645 tristate "Memory special operations driver" 648 tristate "Memory special operations driver"
646 depends on IA64 649 depends on IA64
@@ -652,6 +655,12 @@ config MSPEC
652 655
653source "fs/Kconfig" 656source "fs/Kconfig"
654 657
658source "arch/ia64/Kconfig.debug"
659
660source "security/Kconfig"
661
662source "crypto/Kconfig"
663
655source "arch/ia64/kvm/Kconfig" 664source "arch/ia64/kvm/Kconfig"
656 665
657source "lib/Kconfig" 666source "lib/Kconfig"
@@ -678,11 +687,3 @@ config IRQ_PER_CPU
678 687
679config IOMMU_HELPER 688config IOMMU_HELPER
680 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) 689 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
681
682source "arch/ia64/hp/sim/Kconfig"
683
684source "arch/ia64/Kconfig.debug"
685
686source "security/Kconfig"
687
688source "crypto/Kconfig"
diff --git a/arch/ia64/hp/common/hwsw_iommu.c b/arch/ia64/hp/common/hwsw_iommu.c
index 88b6e6f3fd88..2769dbfd03bf 100644
--- a/arch/ia64/hp/common/hwsw_iommu.c
+++ b/arch/ia64/hp/common/hwsw_iommu.c
@@ -13,19 +13,12 @@
13 */ 13 */
14 14
15#include <linux/device.h> 15#include <linux/device.h>
16#include <linux/swiotlb.h>
16 17
17#include <asm/machvec.h> 18#include <asm/machvec.h>
18 19
19/* swiotlb declarations & definitions: */ 20/* swiotlb declarations & definitions: */
20extern int swiotlb_late_init_with_default_size (size_t size); 21extern int swiotlb_late_init_with_default_size (size_t size);
21extern ia64_mv_dma_alloc_coherent swiotlb_alloc_coherent;
22extern ia64_mv_dma_free_coherent swiotlb_free_coherent;
23extern ia64_mv_dma_map_single_attrs swiotlb_map_single_attrs;
24extern ia64_mv_dma_unmap_single_attrs swiotlb_unmap_single_attrs;
25extern ia64_mv_dma_map_sg_attrs swiotlb_map_sg_attrs;
26extern ia64_mv_dma_unmap_sg_attrs swiotlb_unmap_sg_attrs;
27extern ia64_mv_dma_supported swiotlb_dma_supported;
28extern ia64_mv_dma_mapping_error swiotlb_dma_mapping_error;
29 22
30/* hwiommu declarations & definitions: */ 23/* hwiommu declarations & definitions: */
31 24
diff --git a/arch/ia64/include/asm/io.h b/arch/ia64/include/asm/io.h
index 7f257507cd86..0d9d16e2d949 100644
--- a/arch/ia64/include/asm/io.h
+++ b/arch/ia64/include/asm/io.h
@@ -434,28 +434,4 @@ extern void memset_io(volatile void __iomem *s, int c, long n);
434 434
435# endif /* __KERNEL__ */ 435# endif /* __KERNEL__ */
436 436
437/*
438 * Enabling BIO_VMERGE_BOUNDARY forces us to turn off I/O MMU bypassing. It is said that
439 * BIO-level virtual merging can give up to 4% performance boost (not verified for ia64).
440 * On the other hand, we know that I/O MMU bypassing gives ~8% performance improvement on
441 * SPECweb-like workloads on zx1-based machines. Thus, for now we favor I/O MMU bypassing
442 * over BIO-level virtual merging.
443 */
444extern unsigned long ia64_max_iommu_merge_mask;
445#if 1
446#define BIO_VMERGE_BOUNDARY 0
447#else
448/*
449 * It makes no sense at all to have this BIO_VMERGE_BOUNDARY macro here. Should be
450 * replaced by dma_merge_mask() or something of that sort. Note: the only way
451 * BIO_VMERGE_BOUNDARY is used is to mask off bits. Effectively, our definition gets
452 * expanded into:
453 *
454 * addr & ((ia64_max_iommu_merge_mask + 1) - 1) == (addr & ia64_max_iommu_vmerge_mask)
455 *
456 * which is precisely what we want.
457 */
458#define BIO_VMERGE_BOUNDARY (ia64_max_iommu_merge_mask + 1)
459#endif
460
461#endif /* _ASM_IA64_IO_H */ 437#endif /* _ASM_IA64_IO_H */
diff --git a/arch/ia64/include/asm/iommu.h b/arch/ia64/include/asm/iommu.h
index 5fb2bb93de3b..0490794fe4aa 100644
--- a/arch/ia64/include/asm/iommu.h
+++ b/arch/ia64/include/asm/iommu.h
@@ -11,6 +11,5 @@ extern int force_iommu, no_iommu;
11extern int iommu_detected; 11extern int iommu_detected;
12extern void iommu_dma_init(void); 12extern void iommu_dma_init(void);
13extern void machvec_init(const char *name); 13extern void machvec_init(const char *name);
14extern int forbid_dac;
15 14
16#endif 15#endif
diff --git a/arch/ia64/include/asm/kvm_host.h b/arch/ia64/include/asm/kvm_host.h
index 85db124d37f6..c60d324da540 100644
--- a/arch/ia64/include/asm/kvm_host.h
+++ b/arch/ia64/include/asm/kvm_host.h
@@ -365,7 +365,8 @@ struct kvm_vcpu_arch {
365 long itc_offset; 365 long itc_offset;
366 unsigned long itc_check; 366 unsigned long itc_check;
367 unsigned long timer_check; 367 unsigned long timer_check;
368 unsigned long timer_pending; 368 unsigned int timer_pending;
369 unsigned int timer_fired;
369 370
370 unsigned long vrr[8]; 371 unsigned long vrr[8];
371 unsigned long ibr[8]; 372 unsigned long ibr[8];
@@ -417,6 +418,9 @@ struct kvm_arch {
417 struct list_head assigned_dev_head; 418 struct list_head assigned_dev_head;
418 struct dmar_domain *intel_iommu_domain; 419 struct dmar_domain *intel_iommu_domain;
419 struct hlist_head irq_ack_notifier_list; 420 struct hlist_head irq_ack_notifier_list;
421
422 unsigned long irq_sources_bitmap;
423 unsigned long irq_states[KVM_IOAPIC_NUM_PINS];
420}; 424};
421 425
422union cpuid3_t { 426union cpuid3_t {
diff --git a/arch/ia64/include/asm/machvec.h b/arch/ia64/include/asm/machvec.h
index 1ea28bcee33b..59c17e446683 100644
--- a/arch/ia64/include/asm/machvec.h
+++ b/arch/ia64/include/asm/machvec.h
@@ -11,6 +11,7 @@
11#define _ASM_IA64_MACHVEC_H 11#define _ASM_IA64_MACHVEC_H
12 12
13#include <linux/types.h> 13#include <linux/types.h>
14#include <linux/swiotlb.h>
14 15
15/* forward declarations: */ 16/* forward declarations: */
16struct device; 17struct device;
@@ -298,27 +299,6 @@ extern void machvec_init_from_cmdline(const char *cmdline);
298# endif /* CONFIG_IA64_GENERIC */ 299# endif /* CONFIG_IA64_GENERIC */
299 300
300/* 301/*
301 * Declare default routines which aren't declared anywhere else:
302 */
303extern ia64_mv_dma_init swiotlb_init;
304extern ia64_mv_dma_alloc_coherent swiotlb_alloc_coherent;
305extern ia64_mv_dma_free_coherent swiotlb_free_coherent;
306extern ia64_mv_dma_map_single swiotlb_map_single;
307extern ia64_mv_dma_map_single_attrs swiotlb_map_single_attrs;
308extern ia64_mv_dma_unmap_single swiotlb_unmap_single;
309extern ia64_mv_dma_unmap_single_attrs swiotlb_unmap_single_attrs;
310extern ia64_mv_dma_map_sg swiotlb_map_sg;
311extern ia64_mv_dma_map_sg_attrs swiotlb_map_sg_attrs;
312extern ia64_mv_dma_unmap_sg swiotlb_unmap_sg;
313extern ia64_mv_dma_unmap_sg_attrs swiotlb_unmap_sg_attrs;
314extern ia64_mv_dma_sync_single_for_cpu swiotlb_sync_single_for_cpu;
315extern ia64_mv_dma_sync_sg_for_cpu swiotlb_sync_sg_for_cpu;
316extern ia64_mv_dma_sync_single_for_device swiotlb_sync_single_for_device;
317extern ia64_mv_dma_sync_sg_for_device swiotlb_sync_sg_for_device;
318extern ia64_mv_dma_mapping_error swiotlb_dma_mapping_error;
319extern ia64_mv_dma_supported swiotlb_dma_supported;
320
321/*
322 * Define default versions so we can extend machvec for new platforms without having 302 * Define default versions so we can extend machvec for new platforms without having
323 * to update the machvec files for all existing platforms. 303 * to update the machvec files for all existing platforms.
324 */ 304 */
diff --git a/arch/ia64/include/asm/meminit.h b/arch/ia64/include/asm/meminit.h
index 6bc96ee54327..c0cea375620a 100644
--- a/arch/ia64/include/asm/meminit.h
+++ b/arch/ia64/include/asm/meminit.h
@@ -48,7 +48,6 @@ extern int reserve_elfcorehdr(unsigned long *start, unsigned long *end);
48 */ 48 */
49#define GRANULEROUNDDOWN(n) ((n) & ~(IA64_GRANULE_SIZE-1)) 49#define GRANULEROUNDDOWN(n) ((n) & ~(IA64_GRANULE_SIZE-1))
50#define GRANULEROUNDUP(n) (((n)+IA64_GRANULE_SIZE-1) & ~(IA64_GRANULE_SIZE-1)) 50#define GRANULEROUNDUP(n) (((n)+IA64_GRANULE_SIZE-1) & ~(IA64_GRANULE_SIZE-1))
51#define ORDERROUNDDOWN(n) ((n) & ~((PAGE_SIZE<<MAX_ORDER)-1))
52 51
53#ifdef CONFIG_NUMA 52#ifdef CONFIG_NUMA
54 extern void call_pernode_memory (unsigned long start, unsigned long len, void *func); 53 extern void call_pernode_memory (unsigned long start, unsigned long len, void *func);
diff --git a/arch/ia64/include/asm/sal.h b/arch/ia64/include/asm/sal.h
index ea310c0812aa..966797a97c94 100644
--- a/arch/ia64/include/asm/sal.h
+++ b/arch/ia64/include/asm/sal.h
@@ -337,11 +337,24 @@ typedef struct sal_log_record_header {
337#define sal_log_severity_fatal 1 337#define sal_log_severity_fatal 1
338#define sal_log_severity_corrected 2 338#define sal_log_severity_corrected 2
339 339
340/*
341 * Error Recovery Info (ERI) bit decode. From SAL Spec section B.2.2 Table B-3
342 * Error Section Error_Recovery_Info Field Definition.
343 */
344#define ERI_NOT_VALID 0x0 /* Error Recovery Field is not valid */
345#define ERI_NOT_ACCESSIBLE 0x30 /* Resource not accessible */
346#define ERI_CONTAINMENT_WARN 0x22 /* Corrupt data propagated */
347#define ERI_UNCORRECTED_ERROR 0x20 /* Uncorrected error */
348#define ERI_COMPONENT_RESET 0x24 /* Component must be reset */
349#define ERI_CORR_ERROR_LOG 0x21 /* Corrected error, needs logging */
350#define ERI_CORR_ERROR_THRESH 0x29 /* Corrected error threshold exceeded */
351
340/* Definition of log section header structures */ 352/* Definition of log section header structures */
341typedef struct sal_log_sec_header { 353typedef struct sal_log_sec_header {
342 efi_guid_t guid; /* Unique Section ID */ 354 efi_guid_t guid; /* Unique Section ID */
343 sal_log_revision_t revision; /* Major and Minor revision of Section */ 355 sal_log_revision_t revision; /* Major and Minor revision of Section */
344 u16 reserved; 356 u8 error_recovery_info; /* Platform error recovery status */
357 u8 reserved;
345 u32 len; /* Section length */ 358 u32 len; /* Section length */
346} sal_log_section_hdr_t; 359} sal_log_section_hdr_t;
347 360
diff --git a/arch/ia64/include/asm/sn/sn_sal.h b/arch/ia64/include/asm/sn/sn_sal.h
index 57e649d388b8..e310fc0135dc 100644
--- a/arch/ia64/include/asm/sn/sn_sal.h
+++ b/arch/ia64/include/asm/sn/sn_sal.h
@@ -90,6 +90,8 @@
90#define SN_SAL_SET_CPU_NUMBER 0x02000068 90#define SN_SAL_SET_CPU_NUMBER 0x02000068
91 91
92#define SN_SAL_KERNEL_LAUNCH_EVENT 0x02000069 92#define SN_SAL_KERNEL_LAUNCH_EVENT 0x02000069
93#define SN_SAL_WATCHLIST_ALLOC 0x02000070
94#define SN_SAL_WATCHLIST_FREE 0x02000071
93 95
94/* 96/*
95 * Service-specific constants 97 * Service-specific constants
@@ -1185,4 +1187,47 @@ ia64_sn_kernel_launch_event(void)
1185 SAL_CALL_NOLOCK(rv, SN_SAL_KERNEL_LAUNCH_EVENT, 0, 0, 0, 0, 0, 0, 0); 1187 SAL_CALL_NOLOCK(rv, SN_SAL_KERNEL_LAUNCH_EVENT, 0, 0, 0, 0, 0, 0, 0);
1186 return rv.status; 1188 return rv.status;
1187} 1189}
1190
1191union sn_watchlist_u {
1192 u64 val;
1193 struct {
1194 u64 blade : 16,
1195 size : 32,
1196 filler : 16;
1197 };
1198};
1199
1200static inline int
1201sn_mq_watchlist_alloc(int blade, void *mq, unsigned int mq_size,
1202 unsigned long *intr_mmr_offset)
1203{
1204 struct ia64_sal_retval rv;
1205 unsigned long addr;
1206 union sn_watchlist_u size_blade;
1207 int watchlist;
1208
1209 addr = (unsigned long)mq;
1210 size_blade.size = mq_size;
1211 size_blade.blade = blade;
1212
1213 /*
1214 * bios returns watchlist number or negative error number.
1215 */
1216 ia64_sal_oemcall_nolock(&rv, SN_SAL_WATCHLIST_ALLOC, addr,
1217 size_blade.val, (u64)intr_mmr_offset,
1218 (u64)&watchlist, 0, 0, 0);
1219 if (rv.status < 0)
1220 return rv.status;
1221
1222 return watchlist;
1223}
1224
1225static inline int
1226sn_mq_watchlist_free(int blade, int watchlist_num)
1227{
1228 struct ia64_sal_retval rv;
1229 ia64_sal_oemcall_nolock(&rv, SN_SAL_WATCHLIST_FREE, blade,
1230 watchlist_num, 0, 0, 0, 0, 0);
1231 return rv.status;
1232}
1188#endif /* _ASM_IA64_SN_SN_SAL_H */ 1233#endif /* _ASM_IA64_SN_SN_SAL_H */
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 0635015d0aaa..bd7acc71e8a9 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -678,6 +678,30 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
678 return 0; 678 return 0;
679} 679}
680 680
681int __init early_acpi_boot_init(void)
682{
683 int ret;
684
685 /*
686 * do a partial walk of MADT to determine how many CPUs
687 * we have including offline CPUs
688 */
689 if (acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt)) {
690 printk(KERN_ERR PREFIX "Can't find MADT\n");
691 return 0;
692 }
693
694 ret = acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC,
695 acpi_parse_lsapic, NR_CPUS);
696 if (ret < 1)
697 printk(KERN_ERR PREFIX
698 "Error parsing MADT - no LAPIC entries\n");
699
700 return 0;
701}
702
703
704
681int __init acpi_boot_init(void) 705int __init acpi_boot_init(void)
682{ 706{
683 707
@@ -701,11 +725,6 @@ int __init acpi_boot_init(void)
701 printk(KERN_ERR PREFIX 725 printk(KERN_ERR PREFIX
702 "Error parsing LAPIC address override entry\n"); 726 "Error parsing LAPIC address override entry\n");
703 727
704 if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC, acpi_parse_lsapic, NR_CPUS)
705 < 1)
706 printk(KERN_ERR PREFIX
707 "Error parsing MADT - no LAPIC entries\n");
708
709 if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_APIC_NMI, acpi_parse_lapic_nmi, 0) 728 if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_APIC_NMI, acpi_parse_lapic_nmi, 0)
710 < 0) 729 < 0)
711 printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); 730 printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n");
diff --git a/arch/ia64/kernel/pci-dma.c b/arch/ia64/kernel/pci-dma.c
index 10a75b557650..dbdb778efa05 100644
--- a/arch/ia64/kernel/pci-dma.c
+++ b/arch/ia64/kernel/pci-dma.c
@@ -12,13 +12,11 @@
12#include <asm/machvec.h> 12#include <asm/machvec.h>
13#include <linux/dma-mapping.h> 13#include <linux/dma-mapping.h>
14 14
15#include <asm/machvec.h>
16#include <asm/system.h> 15#include <asm/system.h>
17 16
18#ifdef CONFIG_DMAR 17#ifdef CONFIG_DMAR
19 18
20#include <linux/kernel.h> 19#include <linux/kernel.h>
21#include <linux/string.h>
22 20
23#include <asm/page.h> 21#include <asm/page.h>
24#include <asm/iommu.h> 22#include <asm/iommu.h>
@@ -89,13 +87,6 @@ int iommu_dma_supported(struct device *dev, u64 mask)
89{ 87{
90 struct dma_mapping_ops *ops = get_dma_ops(dev); 88 struct dma_mapping_ops *ops = get_dma_ops(dev);
91 89
92#ifdef CONFIG_PCI
93 if (mask > 0xffffffff && forbid_dac > 0) {
94 dev_info(dev, "Disallowing DAC for device\n");
95 return 0;
96 }
97#endif
98
99 if (ops->dma_supported_op) 90 if (ops->dma_supported_op)
100 return ops->dma_supported_op(dev, mask); 91 return ops->dma_supported_op(dev, mask);
101 92
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index ada4605d1223..6543a5547c84 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -1995,11 +1995,6 @@ pfm_close(struct inode *inode, struct file *filp)
1995 return -EBADF; 1995 return -EBADF;
1996 } 1996 }
1997 1997
1998 if (filp->f_flags & FASYNC) {
1999 DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue));
2000 pfm_do_fasync(-1, filp, ctx, 0);
2001 }
2002
2003 PROTECT_CTX(ctx, flags); 1998 PROTECT_CTX(ctx, flags);
2004 1999
2005 state = ctx->ctx_state; 2000 state = ctx->ctx_state;
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index ae7911702bf8..865af27c7737 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -359,7 +359,7 @@ reserve_memory (void)
359 } 359 }
360#endif 360#endif
361 361
362#ifdef CONFIG_CRASH_KERNEL 362#ifdef CONFIG_CRASH_DUMP
363 if (reserve_elfcorehdr(&rsvd_region[n].start, 363 if (reserve_elfcorehdr(&rsvd_region[n].start,
364 &rsvd_region[n].end) == 0) 364 &rsvd_region[n].end) == 0)
365 n++; 365 n++;
@@ -561,8 +561,12 @@ setup_arch (char **cmdline_p)
561#ifdef CONFIG_ACPI 561#ifdef CONFIG_ACPI
562 /* Initialize the ACPI boot-time table parser */ 562 /* Initialize the ACPI boot-time table parser */
563 acpi_table_init(); 563 acpi_table_init();
564 early_acpi_boot_init();
564# ifdef CONFIG_ACPI_NUMA 565# ifdef CONFIG_ACPI_NUMA
565 acpi_numa_init(); 566 acpi_numa_init();
567#ifdef CONFIG_ACPI_HOTPLUG_CPU
568 prefill_possible_map();
569#endif
566 per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? 570 per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ?
567 32 : cpus_weight(early_cpu_possible_map)), 571 32 : cpus_weight(early_cpu_possible_map)),
568 additional_cpus > 0 ? additional_cpus : 0); 572 additional_cpus > 0 ? additional_cpus : 0);
@@ -853,9 +857,6 @@ void __init
853setup_per_cpu_areas (void) 857setup_per_cpu_areas (void)
854{ 858{
855 /* start_kernel() requires this... */ 859 /* start_kernel() requires this... */
856#ifdef CONFIG_ACPI_HOTPLUG_CPU
857 prefill_possible_map();
858#endif
859} 860}
860 861
861/* 862/*
diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile
index cf37f8f490c0..3ab4d6d50704 100644
--- a/arch/ia64/kvm/Makefile
+++ b/arch/ia64/kvm/Makefile
@@ -29,13 +29,18 @@ define cmd_offsets
29 echo ""; \ 29 echo ""; \
30 echo "#endif" ) > $@ 30 echo "#endif" ) > $@
31endef 31endef
32
32# We use internal rules to avoid the "is up to date" message from make 33# We use internal rules to avoid the "is up to date" message from make
33arch/ia64/kvm/asm-offsets.s: arch/ia64/kvm/asm-offsets.c 34arch/ia64/kvm/asm-offsets.s: arch/ia64/kvm/asm-offsets.c \
35 $(wildcard $(srctree)/arch/ia64/include/asm/*.h)\
36 $(wildcard $(srctree)/include/linux/*.h)
34 $(call if_changed_dep,cc_s_c) 37 $(call if_changed_dep,cc_s_c)
35 38
36$(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s 39$(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s
37 $(call cmd,offsets) 40 $(call cmd,offsets)
38 41
42FORCE : $(obj)/$(offsets-file)
43
39# 44#
40# Makefile for Kernel-based Virtual Machine module 45# Makefile for Kernel-based Virtual Machine module
41# 46#
@@ -53,7 +58,6 @@ endif
53kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o 58kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
54obj-$(CONFIG_KVM) += kvm.o 59obj-$(CONFIG_KVM) += kvm.o
55 60
56FORCE : $(obj)/$(offsets-file)
57EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127 61EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127
58kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \ 62kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \
59 vtlb.o process.o 63 vtlb.o process.o
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index a312c9e9b9ef..3caac477de9e 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -385,6 +385,7 @@ static int handle_global_purge(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
385 struct kvm *kvm = vcpu->kvm; 385 struct kvm *kvm = vcpu->kvm;
386 struct call_data call_data; 386 struct call_data call_data;
387 int i; 387 int i;
388
388 call_data.ptc_g_data = p->u.ptc_g_data; 389 call_data.ptc_g_data = p->u.ptc_g_data;
389 390
390 for (i = 0; i < KVM_MAX_VCPUS; i++) { 391 for (i = 0; i < KVM_MAX_VCPUS; i++) {
@@ -418,33 +419,41 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu)
418 ktime_t kt; 419 ktime_t kt;
419 long itc_diff; 420 long itc_diff;
420 unsigned long vcpu_now_itc; 421 unsigned long vcpu_now_itc;
421
422 unsigned long expires; 422 unsigned long expires;
423 struct hrtimer *p_ht = &vcpu->arch.hlt_timer; 423 struct hrtimer *p_ht = &vcpu->arch.hlt_timer;
424 unsigned long cyc_per_usec = local_cpu_data->cyc_per_usec; 424 unsigned long cyc_per_usec = local_cpu_data->cyc_per_usec;
425 struct vpd *vpd = to_host(vcpu->kvm, vcpu->arch.vpd); 425 struct vpd *vpd = to_host(vcpu->kvm, vcpu->arch.vpd);
426 426
427 vcpu_now_itc = ia64_getreg(_IA64_REG_AR_ITC) + vcpu->arch.itc_offset; 427 if (irqchip_in_kernel(vcpu->kvm)) {
428 428
429 if (time_after(vcpu_now_itc, vpd->itm)) { 429 vcpu_now_itc = ia64_getreg(_IA64_REG_AR_ITC) + vcpu->arch.itc_offset;
430 vcpu->arch.timer_check = 1;
431 return 1;
432 }
433 itc_diff = vpd->itm - vcpu_now_itc;
434 if (itc_diff < 0)
435 itc_diff = -itc_diff;
436 430
437 expires = div64_u64(itc_diff, cyc_per_usec); 431 if (time_after(vcpu_now_itc, vpd->itm)) {
438 kt = ktime_set(0, 1000 * expires); 432 vcpu->arch.timer_check = 1;
439 vcpu->arch.ht_active = 1; 433 return 1;
440 hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS); 434 }
435 itc_diff = vpd->itm - vcpu_now_itc;
436 if (itc_diff < 0)
437 itc_diff = -itc_diff;
438
439 expires = div64_u64(itc_diff, cyc_per_usec);
440 kt = ktime_set(0, 1000 * expires);
441
442 down_read(&vcpu->kvm->slots_lock);
443 vcpu->arch.ht_active = 1;
444 hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS);
441 445
442 if (irqchip_in_kernel(vcpu->kvm)) {
443 vcpu->arch.mp_state = KVM_MP_STATE_HALTED; 446 vcpu->arch.mp_state = KVM_MP_STATE_HALTED;
444 kvm_vcpu_block(vcpu); 447 kvm_vcpu_block(vcpu);
445 hrtimer_cancel(p_ht); 448 hrtimer_cancel(p_ht);
446 vcpu->arch.ht_active = 0; 449 vcpu->arch.ht_active = 0;
447 450
451 if (test_and_clear_bit(KVM_REQ_UNHALT, &vcpu->requests))
452 if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED)
453 vcpu->arch.mp_state =
454 KVM_MP_STATE_RUNNABLE;
455 up_read(&vcpu->kvm->slots_lock);
456
448 if (vcpu->arch.mp_state != KVM_MP_STATE_RUNNABLE) 457 if (vcpu->arch.mp_state != KVM_MP_STATE_RUNNABLE)
449 return -EINTR; 458 return -EINTR;
450 return 1; 459 return 1;
@@ -484,10 +493,6 @@ static int (*kvm_vti_exit_handlers[])(struct kvm_vcpu *vcpu,
484static const int kvm_vti_max_exit_handlers = 493static const int kvm_vti_max_exit_handlers =
485 sizeof(kvm_vti_exit_handlers)/sizeof(*kvm_vti_exit_handlers); 494 sizeof(kvm_vti_exit_handlers)/sizeof(*kvm_vti_exit_handlers);
486 495
487static void kvm_prepare_guest_switch(struct kvm_vcpu *vcpu)
488{
489}
490
491static uint32_t kvm_get_exit_reason(struct kvm_vcpu *vcpu) 496static uint32_t kvm_get_exit_reason(struct kvm_vcpu *vcpu)
492{ 497{
493 struct exit_ctl_data *p_exit_data; 498 struct exit_ctl_data *p_exit_data;
@@ -600,8 +605,6 @@ static int __vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
600 605
601again: 606again:
602 preempt_disable(); 607 preempt_disable();
603
604 kvm_prepare_guest_switch(vcpu);
605 local_irq_disable(); 608 local_irq_disable();
606 609
607 if (signal_pending(current)) { 610 if (signal_pending(current)) {
@@ -614,7 +617,7 @@ again:
614 617
615 vcpu->guest_mode = 1; 618 vcpu->guest_mode = 1;
616 kvm_guest_enter(); 619 kvm_guest_enter();
617 620 down_read(&vcpu->kvm->slots_lock);
618 r = vti_vcpu_run(vcpu, kvm_run); 621 r = vti_vcpu_run(vcpu, kvm_run);
619 if (r < 0) { 622 if (r < 0) {
620 local_irq_enable(); 623 local_irq_enable();
@@ -634,9 +637,8 @@ again:
634 * But we need to prevent reordering, hence this barrier(): 637 * But we need to prevent reordering, hence this barrier():
635 */ 638 */
636 barrier(); 639 barrier();
637
638 kvm_guest_exit(); 640 kvm_guest_exit();
639 641 up_read(&vcpu->kvm->slots_lock);
640 preempt_enable(); 642 preempt_enable();
641 643
642 r = kvm_handle_exit(kvm_run, vcpu); 644 r = kvm_handle_exit(kvm_run, vcpu);
@@ -673,6 +675,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
673 675
674 if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) { 676 if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) {
675 kvm_vcpu_block(vcpu); 677 kvm_vcpu_block(vcpu);
678 clear_bit(KVM_REQ_UNHALT, &vcpu->requests);
676 vcpu_put(vcpu); 679 vcpu_put(vcpu);
677 return -EAGAIN; 680 return -EAGAIN;
678 } 681 }
@@ -778,6 +781,9 @@ static void kvm_init_vm(struct kvm *kvm)
778 kvm_build_io_pmt(kvm); 781 kvm_build_io_pmt(kvm);
779 782
780 INIT_LIST_HEAD(&kvm->arch.assigned_dev_head); 783 INIT_LIST_HEAD(&kvm->arch.assigned_dev_head);
784
785 /* Reserve bit 0 of irq_sources_bitmap for userspace irq source */
786 set_bit(KVM_USERSPACE_IRQ_SOURCE_ID, &kvm->arch.irq_sources_bitmap);
781} 787}
782 788
783struct kvm *kvm_arch_create_vm(void) 789struct kvm *kvm_arch_create_vm(void)
@@ -941,9 +947,8 @@ long kvm_arch_vm_ioctl(struct file *filp,
941 goto out; 947 goto out;
942 if (irqchip_in_kernel(kvm)) { 948 if (irqchip_in_kernel(kvm)) {
943 mutex_lock(&kvm->lock); 949 mutex_lock(&kvm->lock);
944 kvm_ioapic_set_irq(kvm->arch.vioapic, 950 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID,
945 irq_event.irq, 951 irq_event.irq, irq_event.level);
946 irq_event.level);
947 mutex_unlock(&kvm->lock); 952 mutex_unlock(&kvm->lock);
948 r = 0; 953 r = 0;
949 } 954 }
@@ -1123,15 +1128,16 @@ static enum hrtimer_restart hlt_timer_fn(struct hrtimer *data)
1123 wait_queue_head_t *q; 1128 wait_queue_head_t *q;
1124 1129
1125 vcpu = container_of(data, struct kvm_vcpu, arch.hlt_timer); 1130 vcpu = container_of(data, struct kvm_vcpu, arch.hlt_timer);
1131 q = &vcpu->wq;
1132
1126 if (vcpu->arch.mp_state != KVM_MP_STATE_HALTED) 1133 if (vcpu->arch.mp_state != KVM_MP_STATE_HALTED)
1127 goto out; 1134 goto out;
1128 1135
1129 q = &vcpu->wq; 1136 if (waitqueue_active(q))
1130 if (waitqueue_active(q)) {
1131 vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
1132 wake_up_interruptible(q); 1137 wake_up_interruptible(q);
1133 } 1138
1134out: 1139out:
1140 vcpu->arch.timer_fired = 1;
1135 vcpu->arch.timer_check = 1; 1141 vcpu->arch.timer_check = 1;
1136 return HRTIMER_NORESTART; 1142 return HRTIMER_NORESTART;
1137} 1143}
@@ -1700,12 +1706,14 @@ static void vcpu_kick_intr(void *info)
1700void kvm_vcpu_kick(struct kvm_vcpu *vcpu) 1706void kvm_vcpu_kick(struct kvm_vcpu *vcpu)
1701{ 1707{
1702 int ipi_pcpu = vcpu->cpu; 1708 int ipi_pcpu = vcpu->cpu;
1709 int cpu = get_cpu();
1703 1710
1704 if (waitqueue_active(&vcpu->wq)) 1711 if (waitqueue_active(&vcpu->wq))
1705 wake_up_interruptible(&vcpu->wq); 1712 wake_up_interruptible(&vcpu->wq);
1706 1713
1707 if (vcpu->guest_mode) 1714 if (vcpu->guest_mode && cpu != ipi_pcpu)
1708 smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, 0); 1715 smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, 0);
1716 put_cpu();
1709} 1717}
1710 1718
1711int kvm_apic_set_irq(struct kvm_vcpu *vcpu, u8 vec, u8 trig) 1719int kvm_apic_set_irq(struct kvm_vcpu *vcpu, u8 vec, u8 trig)
@@ -1715,13 +1723,7 @@ int kvm_apic_set_irq(struct kvm_vcpu *vcpu, u8 vec, u8 trig)
1715 1723
1716 if (!test_and_set_bit(vec, &vpd->irr[0])) { 1724 if (!test_and_set_bit(vec, &vpd->irr[0])) {
1717 vcpu->arch.irq_new_pending = 1; 1725 vcpu->arch.irq_new_pending = 1;
1718 if (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE) 1726 kvm_vcpu_kick(vcpu);
1719 kvm_vcpu_kick(vcpu);
1720 else if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED) {
1721 vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
1722 if (waitqueue_active(&vcpu->wq))
1723 wake_up_interruptible(&vcpu->wq);
1724 }
1725 return 1; 1727 return 1;
1726 } 1728 }
1727 return 0; 1729 return 0;
@@ -1791,7 +1793,7 @@ int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu)
1791 1793
1792int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu) 1794int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)
1793{ 1795{
1794 return 0; 1796 return vcpu->arch.timer_fired;
1795} 1797}
1796 1798
1797gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn) 1799gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
diff --git a/arch/ia64/kvm/kvm_fw.c b/arch/ia64/kvm/kvm_fw.c
index 0c69d9ec92d4..cb7600bdff9d 100644
--- a/arch/ia64/kvm/kvm_fw.c
+++ b/arch/ia64/kvm/kvm_fw.c
@@ -286,6 +286,12 @@ static u64 kvm_get_pal_call_index(struct kvm_vcpu *vcpu)
286 return index; 286 return index;
287} 287}
288 288
289static void prepare_for_halt(struct kvm_vcpu *vcpu)
290{
291 vcpu->arch.timer_pending = 1;
292 vcpu->arch.timer_fired = 0;
293}
294
289int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *run) 295int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *run)
290{ 296{
291 297
@@ -304,11 +310,10 @@ int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *run)
304 break; 310 break;
305 case PAL_HALT_LIGHT: 311 case PAL_HALT_LIGHT:
306 { 312 {
307 vcpu->arch.timer_pending = 1;
308 INIT_PAL_STATUS_SUCCESS(result); 313 INIT_PAL_STATUS_SUCCESS(result);
314 prepare_for_halt(vcpu);
309 if (kvm_highest_pending_irq(vcpu) == -1) 315 if (kvm_highest_pending_irq(vcpu) == -1)
310 ret = kvm_emulate_halt(vcpu); 316 ret = kvm_emulate_halt(vcpu);
311
312 } 317 }
313 break; 318 break;
314 319
diff --git a/arch/ia64/kvm/process.c b/arch/ia64/kvm/process.c
index 3417783ae164..800817307b7b 100644
--- a/arch/ia64/kvm/process.c
+++ b/arch/ia64/kvm/process.c
@@ -713,7 +713,7 @@ void leave_hypervisor_tail(void)
713 if (!(VCPU(v, itv) & (1 << 16))) { 713 if (!(VCPU(v, itv) & (1 << 16))) {
714 vcpu_pend_interrupt(v, VCPU(v, itv) 714 vcpu_pend_interrupt(v, VCPU(v, itv)
715 & 0xff); 715 & 0xff);
716 VMX(v, itc_check) = 0; 716 VMX(v, itc_check) = 0;
717 } else { 717 } else {
718 v->arch.timer_pending = 1; 718 v->arch.timer_pending = 1;
719 } 719 }
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
index d8c5fcd89e5b..d85ba98d9008 100644
--- a/arch/ia64/mm/discontig.c
+++ b/arch/ia64/mm/discontig.c
@@ -635,7 +635,6 @@ static __init int count_node_pages(unsigned long start, unsigned long len, int n
635 (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT; 635 (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT;
636#endif 636#endif
637 start = GRANULEROUNDDOWN(start); 637 start = GRANULEROUNDDOWN(start);
638 start = ORDERROUNDDOWN(start);
639 end = GRANULEROUNDUP(end); 638 end = GRANULEROUNDUP(end);
640 mem_data[node].max_pfn = max(mem_data[node].max_pfn, 639 mem_data[node].max_pfn = max(mem_data[node].max_pfn,
641 end >> PAGE_SHIFT); 640 end >> PAGE_SHIFT);
diff --git a/arch/ia64/uv/kernel/setup.c b/arch/ia64/uv/kernel/setup.c
index cf5f28ae96c4..7a5ae633198b 100644
--- a/arch/ia64/uv/kernel/setup.c
+++ b/arch/ia64/uv/kernel/setup.c
@@ -19,6 +19,12 @@ EXPORT_PER_CPU_SYMBOL_GPL(__uv_hub_info);
19 19
20#ifdef CONFIG_IA64_SGI_UV 20#ifdef CONFIG_IA64_SGI_UV
21int sn_prom_type; 21int sn_prom_type;
22long sn_partition_id;
23EXPORT_SYMBOL(sn_partition_id);
24long sn_coherency_id;
25EXPORT_SYMBOL_GPL(sn_coherency_id);
26long sn_region_size;
27EXPORT_SYMBOL(sn_region_size);
22#endif 28#endif
23 29
24struct redir_addr { 30struct redir_addr {
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5f149b030c0f..f4af967a6b30 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -238,21 +238,8 @@ config MIPS_SIM
238 This option enables support for MIPS Technologies MIPSsim software 238 This option enables support for MIPS Technologies MIPSsim software
239 emulator. 239 emulator.
240 240
241config MARKEINS 241config MACH_EMMA
242 bool "NEC EMMA2RH Mark-eins" 242 bool "NEC EMMA series based machines"
243 select CEVT_R4K
244 select CSRC_R4K
245 select DMA_NONCOHERENT
246 select HW_HAS_PCI
247 select IRQ_CPU
248 select SWAP_IO_SPACE
249 select SYS_SUPPORTS_32BIT_KERNEL
250 select SYS_SUPPORTS_BIG_ENDIAN
251 select SYS_SUPPORTS_LITTLE_ENDIAN
252 select SYS_HAS_CPU_R5000
253 help
254 This enables support for the R5432-based NEC Mark-eins
255 boards with R5500 CPU.
256 243
257config MACH_VR41XX 244config MACH_VR41XX
258 bool "NEC VR4100 series based machines" 245 bool "NEC VR4100 series based machines"
@@ -261,6 +248,19 @@ config MACH_VR41XX
261 select SYS_HAS_CPU_VR41XX 248 select SYS_HAS_CPU_VR41XX
262 select GENERIC_HARDIRQS_NO__DO_IRQ 249 select GENERIC_HARDIRQS_NO__DO_IRQ
263 250
251config NXP_STB220
252 bool "NXP STB220 board"
253 select SOC_PNX833X
254 help
255 Support for NXP Semiconductors STB220 Development Board.
256
257config NXP_STB225
258 bool "NXP 225 board"
259 select SOC_PNX833X
260 select SOC_PNX8335
261 help
262 Support for NXP Semiconductors STB225 Development Board.
263
264config PNX8550_JBS 264config PNX8550_JBS
265 bool "NXP PNX8550 based JBS board" 265 bool "NXP PNX8550 based JBS board"
266 select PNX8550 266 select PNX8550
@@ -327,7 +327,6 @@ config SGI_IP22
327 select IP22_CPU_SCACHE 327 select IP22_CPU_SCACHE
328 select IRQ_CPU 328 select IRQ_CPU
329 select GENERIC_ISA_DMA_SUPPORT_BROKEN 329 select GENERIC_ISA_DMA_SUPPORT_BROKEN
330 select SGI_HAS_DS1286
331 select SGI_HAS_I8042 330 select SGI_HAS_I8042
332 select SGI_HAS_INDYDOG 331 select SGI_HAS_INDYDOG
333 select SGI_HAS_HAL2 332 select SGI_HAS_HAL2
@@ -382,7 +381,6 @@ config SGI_IP28
382 select HW_HAS_EISA 381 select HW_HAS_EISA
383 select I8253 382 select I8253
384 select I8259 383 select I8259
385 select SGI_HAS_DS1286
386 select SGI_HAS_I8042 384 select SGI_HAS_I8042
387 select SGI_HAS_INDYDOG 385 select SGI_HAS_INDYDOG
388 select SGI_HAS_HAL2 386 select SGI_HAS_HAL2
@@ -601,6 +599,7 @@ endchoice
601 599
602source "arch/mips/alchemy/Kconfig" 600source "arch/mips/alchemy/Kconfig"
603source "arch/mips/basler/excite/Kconfig" 601source "arch/mips/basler/excite/Kconfig"
602source "arch/mips/emma/Kconfig"
604source "arch/mips/jazz/Kconfig" 603source "arch/mips/jazz/Kconfig"
605source "arch/mips/lasat/Kconfig" 604source "arch/mips/lasat/Kconfig"
606source "arch/mips/pmc-sierra/Kconfig" 605source "arch/mips/pmc-sierra/Kconfig"
@@ -849,6 +848,24 @@ config MIPS_RM9122
849 bool 848 bool
850 select SERIAL_RM9000 849 select SERIAL_RM9000
851 850
851config SOC_PNX833X
852 bool
853 select CEVT_R4K
854 select CSRC_R4K
855 select IRQ_CPU
856 select DMA_NONCOHERENT
857 select SYS_HAS_CPU_MIPS32_R2
858 select SYS_SUPPORTS_32BIT_KERNEL
859 select SYS_SUPPORTS_LITTLE_ENDIAN
860 select SYS_SUPPORTS_BIG_ENDIAN
861 select GENERIC_HARDIRQS_NO__DO_IRQ
862 select GENERIC_GPIO
863 select CPU_MIPSR2_IRQ_VI
864
865config SOC_PNX8335
866 bool
867 select SOC_PNX833X
868
852config PNX8550 869config PNX8550
853 bool 870 bool
854 select SOC_PNX8550 871 select SOC_PNX8550
@@ -874,9 +891,6 @@ config EMMA2RH
874config SERIAL_RM9000 891config SERIAL_RM9000
875 bool 892 bool
876 893
877config SGI_HAS_DS1286
878 bool
879
880config SGI_HAS_INDYDOG 894config SGI_HAS_INDYDOG
881 bool 895 bool
882 896
@@ -1092,6 +1106,16 @@ config CPU_R5432
1092 select CPU_SUPPORTS_32BIT_KERNEL 1106 select CPU_SUPPORTS_32BIT_KERNEL
1093 select CPU_SUPPORTS_64BIT_KERNEL 1107 select CPU_SUPPORTS_64BIT_KERNEL
1094 1108
1109config CPU_R5500
1110 bool "R5500"
1111 depends on SYS_HAS_CPU_R5500
1112 select CPU_HAS_LLSC
1113 select CPU_SUPPORTS_32BIT_KERNEL
1114 select CPU_SUPPORTS_64BIT_KERNEL
1115 help
1116 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1117 instruction set.
1118
1095config CPU_R6000 1119config CPU_R6000
1096 bool "R6000" 1120 bool "R6000"
1097 depends on EXPERIMENTAL 1121 depends on EXPERIMENTAL
@@ -1202,6 +1226,9 @@ config SYS_HAS_CPU_R5000
1202config SYS_HAS_CPU_R5432 1226config SYS_HAS_CPU_R5432
1203 bool 1227 bool
1204 1228
1229config SYS_HAS_CPU_R5500
1230 bool
1231
1205config SYS_HAS_CPU_R6000 1232config SYS_HAS_CPU_R6000
1206 bool 1233 bool
1207 1234
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 7f39fd8a91fe..28c55f608913 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -131,6 +131,8 @@ cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips64r2 -U_
131cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap 131cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap
132cflags-$(CONFIG_CPU_R5432) += $(call cc-option,-march=r5400,-march=r5000) \ 132cflags-$(CONFIG_CPU_R5432) += $(call cc-option,-march=r5400,-march=r5000) \
133 -Wa,--trap 133 -Wa,--trap
134cflags-$(CONFIG_CPU_R5500) += $(call cc-option,-march=r5500,-march=r5000) \
135 -Wa,--trap
134cflags-$(CONFIG_CPU_NEVADA) += $(call cc-option,-march=rm5200,-march=r5000) \ 136cflags-$(CONFIG_CPU_NEVADA) += $(call cc-option,-march=rm5200,-march=r5000) \
135 -Wa,--trap 137 -Wa,--trap
136cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \ 138cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \
@@ -381,6 +383,14 @@ load-$(CONFIG_CASIO_E55) += 0xffffffff80004000
381# 383#
382load-$(CONFIG_TANBAC_TB022X) += 0xffffffff80000000 384load-$(CONFIG_TANBAC_TB022X) += 0xffffffff80000000
383 385
386# NXP STB225
387core-$(CONFIG_SOC_PNX833X) += arch/mips/nxp/pnx833x/common/
388cflags-$(CONFIG_SOC_PNX833X) += -Iarch/mips/include/asm/mach-pnx833x
389libs-$(CONFIG_NXP_STB220) += arch/mips/nxp/pnx833x/stb22x/
390load-$(CONFIG_NXP_STB220) += 0xffffffff80001000
391libs-$(CONFIG_NXP_STB225) += arch/mips/nxp/pnx833x/stb22x/
392load-$(CONFIG_NXP_STB225) += 0xffffffff80001000
393
384# 394#
385# Common NXP PNX8550 395# Common NXP PNX8550
386# 396#
@@ -399,14 +409,17 @@ load-$(CONFIG_PNX8550_JBS) += 0xffffffff80060000
399libs-$(CONFIG_PNX8550_STB810) += arch/mips/nxp/pnx8550/stb810/ 409libs-$(CONFIG_PNX8550_STB810) += arch/mips/nxp/pnx8550/stb810/
400load-$(CONFIG_PNX8550_STB810) += 0xffffffff80060000 410load-$(CONFIG_PNX8550_STB810) += 0xffffffff80060000
401 411
402# NEC EMMA2RH boards
403# 412#
404core-$(CONFIG_EMMA2RH) += arch/mips/emma2rh/common/ 413# Common NEC EMMAXXX
405cflags-$(CONFIG_EMMA2RH) += -I$(srctree)/arch/mips/include/asm/mach-emma2rh 414#
415core-$(CONFIG_SOC_EMMA) += arch/mips/emma/common/
416cflags-$(CONFIG_SOC_EMMA2RH) += -I$(srctree)/arch/mips/include/asm/mach-emma2rh
406 417
418#
407# NEC EMMA2RH Mark-eins 419# NEC EMMA2RH Mark-eins
408core-$(CONFIG_MARKEINS) += arch/mips/emma2rh/markeins/ 420#
409load-$(CONFIG_MARKEINS) += 0xffffffff88100000 421core-$(CONFIG_NEC_MARKEINS) += arch/mips/emma/markeins/
422load-$(CONFIG_NEC_MARKEINS) += 0xffffffff88100000
410 423
411# 424#
412# SGI IP22 (Indy/Indigo2) 425# SGI IP22 (Indy/Indigo2)
diff --git a/arch/mips/alchemy/common/platform.c b/arch/mips/alchemy/common/platform.c
index dc8a67efac28..5c76c6448e04 100644
--- a/arch/mips/alchemy/common/platform.c
+++ b/arch/mips/alchemy/common/platform.c
@@ -17,6 +17,8 @@
17#include <linux/init.h> 17#include <linux/init.h>
18 18
19#include <asm/mach-au1x00/au1xxx.h> 19#include <asm/mach-au1x00/au1xxx.h>
20#include <asm/mach-au1x00/au1xxx_dbdma.h>
21#include <asm/mach-au1x00/au1100_mmc.h>
20 22
21#define PORT(_base, _irq) \ 23#define PORT(_base, _irq) \
22 { \ 24 { \
@@ -163,24 +165,6 @@ static struct resource au1xxx_usb_gdt_resources[] = {
163 }, 165 },
164}; 166};
165 167
166static struct resource au1xxx_mmc_resources[] = {
167 [0] = {
168 .start = SD0_PHYS_ADDR,
169 .end = SD0_PHYS_ADDR + 0x7ffff,
170 .flags = IORESOURCE_MEM,
171 },
172 [1] = {
173 .start = SD1_PHYS_ADDR,
174 .end = SD1_PHYS_ADDR + 0x7ffff,
175 .flags = IORESOURCE_MEM,
176 },
177 [2] = {
178 .start = AU1200_SD_INT,
179 .end = AU1200_SD_INT,
180 .flags = IORESOURCE_IRQ,
181 }
182};
183
184static u64 udc_dmamask = DMA_32BIT_MASK; 168static u64 udc_dmamask = DMA_32BIT_MASK;
185 169
186static struct platform_device au1xxx_usb_gdt_device = { 170static struct platform_device au1xxx_usb_gdt_device = {
@@ -249,16 +233,79 @@ static struct platform_device au1200_lcd_device = {
249 233
250static u64 au1xxx_mmc_dmamask = DMA_32BIT_MASK; 234static u64 au1xxx_mmc_dmamask = DMA_32BIT_MASK;
251 235
252static struct platform_device au1xxx_mmc_device = { 236extern struct au1xmmc_platform_data au1xmmc_platdata[2];
237
238static struct resource au1200_mmc0_resources[] = {
239 [0] = {
240 .start = SD0_PHYS_ADDR,
241 .end = SD0_PHYS_ADDR + 0x7ffff,
242 .flags = IORESOURCE_MEM,
243 },
244 [1] = {
245 .start = AU1200_SD_INT,
246 .end = AU1200_SD_INT,
247 .flags = IORESOURCE_IRQ,
248 },
249 [2] = {
250 .start = DSCR_CMD0_SDMS_TX0,
251 .end = DSCR_CMD0_SDMS_TX0,
252 .flags = IORESOURCE_DMA,
253 },
254 [3] = {
255 .start = DSCR_CMD0_SDMS_RX0,
256 .end = DSCR_CMD0_SDMS_RX0,
257 .flags = IORESOURCE_DMA,
258 }
259};
260
261static struct platform_device au1200_mmc0_device = {
253 .name = "au1xxx-mmc", 262 .name = "au1xxx-mmc",
254 .id = 0, 263 .id = 0,
255 .dev = { 264 .dev = {
256 .dma_mask = &au1xxx_mmc_dmamask, 265 .dma_mask = &au1xxx_mmc_dmamask,
257 .coherent_dma_mask = DMA_32BIT_MASK, 266 .coherent_dma_mask = DMA_32BIT_MASK,
267 .platform_data = &au1xmmc_platdata[0],
258 }, 268 },
259 .num_resources = ARRAY_SIZE(au1xxx_mmc_resources), 269 .num_resources = ARRAY_SIZE(au1200_mmc0_resources),
260 .resource = au1xxx_mmc_resources, 270 .resource = au1200_mmc0_resources,
261}; 271};
272
273#ifndef CONFIG_MIPS_DB1200
274static struct resource au1200_mmc1_resources[] = {
275 [0] = {
276 .start = SD1_PHYS_ADDR,
277 .end = SD1_PHYS_ADDR + 0x7ffff,
278 .flags = IORESOURCE_MEM,
279 },
280 [1] = {
281 .start = AU1200_SD_INT,
282 .end = AU1200_SD_INT,
283 .flags = IORESOURCE_IRQ,
284 },
285 [2] = {
286 .start = DSCR_CMD0_SDMS_TX1,
287 .end = DSCR_CMD0_SDMS_TX1,
288 .flags = IORESOURCE_DMA,
289 },
290 [3] = {
291 .start = DSCR_CMD0_SDMS_RX1,
292 .end = DSCR_CMD0_SDMS_RX1,
293 .flags = IORESOURCE_DMA,
294 }
295};
296
297static struct platform_device au1200_mmc1_device = {
298 .name = "au1xxx-mmc",
299 .id = 1,
300 .dev = {
301 .dma_mask = &au1xxx_mmc_dmamask,
302 .coherent_dma_mask = DMA_32BIT_MASK,
303 .platform_data = &au1xmmc_platdata[1],
304 },
305 .num_resources = ARRAY_SIZE(au1200_mmc1_resources),
306 .resource = au1200_mmc1_resources,
307};
308#endif /* #ifndef CONFIG_MIPS_DB1200 */
262#endif /* #ifdef CONFIG_SOC_AU1200 */ 309#endif /* #ifdef CONFIG_SOC_AU1200 */
263 310
264static struct platform_device au1x00_pcmcia_device = { 311static struct platform_device au1x00_pcmcia_device = {
@@ -296,7 +343,10 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = {
296 &au1xxx_usb_gdt_device, 343 &au1xxx_usb_gdt_device,
297 &au1xxx_usb_otg_device, 344 &au1xxx_usb_otg_device,
298 &au1200_lcd_device, 345 &au1200_lcd_device,
299 &au1xxx_mmc_device, 346 &au1200_mmc0_device,
347#ifndef CONFIG_MIPS_DB1200
348 &au1200_mmc1_device,
349#endif
300#endif 350#endif
301#ifdef SMBUS_PSC_BASE 351#ifdef SMBUS_PSC_BASE
302 &pbdb_smbus_device, 352 &pbdb_smbus_device,
diff --git a/arch/mips/alchemy/pb1200/platform.c b/arch/mips/alchemy/pb1200/platform.c
index f8fb0aeac571..95303297c534 100644
--- a/arch/mips/alchemy/pb1200/platform.c
+++ b/arch/mips/alchemy/pb1200/platform.c
@@ -20,9 +20,90 @@
20 20
21#include <linux/dma-mapping.h> 21#include <linux/dma-mapping.h>
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/leds.h>
23#include <linux/platform_device.h> 24#include <linux/platform_device.h>
24 25
25#include <asm/mach-au1x00/au1xxx.h> 26#include <asm/mach-au1x00/au1xxx.h>
27#include <asm/mach-au1x00/au1100_mmc.h>
28
29static int mmc_activity;
30
31static void pb1200mmc0_set_power(void *mmc_host, int state)
32{
33 if (state)
34 bcsr->board |= BCSR_BOARD_SD0PWR;
35 else
36 bcsr->board &= ~BCSR_BOARD_SD0PWR;
37
38 au_sync_delay(1);
39}
40
41static int pb1200mmc0_card_readonly(void *mmc_host)
42{
43 return (bcsr->status & BCSR_STATUS_SD0WP) ? 1 : 0;
44}
45
46static int pb1200mmc0_card_inserted(void *mmc_host)
47{
48 return (bcsr->sig_status & BCSR_INT_SD0INSERT) ? 1 : 0;
49}
50
51static void pb1200_mmcled_set(struct led_classdev *led,
52 enum led_brightness brightness)
53{
54 if (brightness != LED_OFF) {
55 if (++mmc_activity == 1)
56 bcsr->disk_leds &= ~(1 << 8);
57 } else {
58 if (--mmc_activity == 0)
59 bcsr->disk_leds |= (1 << 8);
60 }
61}
62
63static struct led_classdev pb1200mmc_led = {
64 .brightness_set = pb1200_mmcled_set,
65};
66
67#ifndef CONFIG_MIPS_DB1200
68static void pb1200mmc1_set_power(void *mmc_host, int state)
69{
70 if (state)
71 bcsr->board |= BCSR_BOARD_SD1PWR;
72 else
73 bcsr->board &= ~BCSR_BOARD_SD1PWR;
74
75 au_sync_delay(1);
76}
77
78static int pb1200mmc1_card_readonly(void *mmc_host)
79{
80 return (bcsr->status & BCSR_STATUS_SD1WP) ? 1 : 0;
81}
82
83static int pb1200mmc1_card_inserted(void *mmc_host)
84{
85 return (bcsr->sig_status & BCSR_INT_SD1INSERT) ? 1 : 0;
86}
87#endif
88
89const struct au1xmmc_platform_data au1xmmc_platdata[2] = {
90 [0] = {
91 .set_power = pb1200mmc0_set_power,
92 .card_inserted = pb1200mmc0_card_inserted,
93 .card_readonly = pb1200mmc0_card_readonly,
94 .cd_setup = NULL, /* use poll-timer in driver */
95 .led = &pb1200mmc_led,
96 },
97#ifndef CONFIG_MIPS_DB1200
98 [1] = {
99 .set_power = pb1200mmc1_set_power,
100 .card_inserted = pb1200mmc1_card_inserted,
101 .card_readonly = pb1200mmc1_card_readonly,
102 .cd_setup = NULL, /* use poll-timer in driver */
103 .led = &pb1200mmc_led,
104 },
105#endif
106};
26 107
27static struct resource ide_resources[] = { 108static struct resource ide_resources[] = {
28 [0] = { 109 [0] = {
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
index cc8e6bf2b245..f719bf5e01aa 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_defconfig
@@ -771,7 +771,6 @@ CONFIG_WATCHDOG=y
771CONFIG_INDYDOG=m 771CONFIG_INDYDOG=m
772# CONFIG_HW_RANDOM is not set 772# CONFIG_HW_RANDOM is not set
773# CONFIG_RTC is not set 773# CONFIG_RTC is not set
774CONFIG_SGI_DS1286=m
775# CONFIG_R3964 is not set 774# CONFIG_R3964 is not set
776CONFIG_RAW_DRIVER=m 775CONFIG_RAW_DRIVER=m
777CONFIG_MAX_RAW_DEVS=256 776CONFIG_MAX_RAW_DEVS=256
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index 831d3e5a1ea6..34ea319be94c 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_defconfig
@@ -701,7 +701,6 @@ CONFIG_LEGACY_PTY_COUNT=256
701# CONFIG_WATCHDOG is not set 701# CONFIG_WATCHDOG is not set
702CONFIG_HW_RANDOM=m 702CONFIG_HW_RANDOM=m
703# CONFIG_RTC is not set 703# CONFIG_RTC is not set
704CONFIG_SGI_IP27_RTC=y
705# CONFIG_R3964 is not set 704# CONFIG_R3964 is not set
706# CONFIG_APPLICOM is not set 705# CONFIG_APPLICOM is not set
707# CONFIG_DRM is not set 706# CONFIG_DRM is not set
diff --git a/arch/mips/configs/ip28_defconfig b/arch/mips/configs/ip28_defconfig
index 822b01f643e3..70a744e9a8c5 100644
--- a/arch/mips/configs/ip28_defconfig
+++ b/arch/mips/configs/ip28_defconfig
@@ -70,7 +70,6 @@ CONFIG_CPU_BIG_ENDIAN=y
70CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 70CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
71CONFIG_IRQ_CPU=y 71CONFIG_IRQ_CPU=y
72CONFIG_SWAP_IO_SPACE=y 72CONFIG_SWAP_IO_SPACE=y
73CONFIG_SGI_HAS_DS1286=y
74CONFIG_SGI_HAS_INDYDOG=y 73CONFIG_SGI_HAS_INDYDOG=y
75CONFIG_SGI_HAS_SEEQ=y 74CONFIG_SGI_HAS_SEEQ=y
76CONFIG_SGI_HAS_WD93=y 75CONFIG_SGI_HAS_WD93=y
@@ -585,7 +584,6 @@ CONFIG_LEGACY_PTY_COUNT=256
585# CONFIG_IPMI_HANDLER is not set 584# CONFIG_IPMI_HANDLER is not set
586# CONFIG_HW_RANDOM is not set 585# CONFIG_HW_RANDOM is not set
587# CONFIG_RTC is not set 586# CONFIG_RTC is not set
588CONFIG_SGI_DS1286=y
589# CONFIG_DTLK is not set 587# CONFIG_DTLK is not set
590# CONFIG_R3964 is not set 588# CONFIG_R3964 is not set
591# CONFIG_RAW_DRIVER is not set 589# CONFIG_RAW_DRIVER is not set
diff --git a/arch/mips/configs/pnx8335-stb225_defconfig b/arch/mips/configs/pnx8335-stb225_defconfig
new file mode 100644
index 000000000000..d9536522cff5
--- /dev/null
+++ b/arch/mips/configs/pnx8335-stb225_defconfig
@@ -0,0 +1,1149 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26
4# Sat Jul 26 09:02:59 2008
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11# CONFIG_MACH_ALCHEMY is not set
12# CONFIG_BASLER_EXCITE is not set
13# CONFIG_BCM47XX is not set
14# CONFIG_MIPS_COBALT is not set
15# CONFIG_MACH_DECSTATION is not set
16# CONFIG_MACH_JAZZ is not set
17# CONFIG_LASAT is not set
18# CONFIG_LEMOTE_FULONG is not set
19# CONFIG_MIPS_MALTA is not set
20# CONFIG_MIPS_SIM is not set
21# CONFIG_MARKEINS is not set
22# CONFIG_MACH_VR41XX is not set
23# CONFIG_NXP_STB220 is not set
24CONFIG_NXP_STB225=y
25# CONFIG_PNX8550_JBS is not set
26# CONFIG_PNX8550_STB810 is not set
27# CONFIG_PMC_MSP is not set
28# CONFIG_PMC_YOSEMITE is not set
29# CONFIG_SGI_IP22 is not set
30# CONFIG_SGI_IP27 is not set
31# CONFIG_SGI_IP28 is not set
32# CONFIG_SGI_IP32 is not set
33# CONFIG_SIBYTE_CRHINE is not set
34# CONFIG_SIBYTE_CARMEL is not set
35# CONFIG_SIBYTE_CRHONE is not set
36# CONFIG_SIBYTE_RHONE is not set
37# CONFIG_SIBYTE_SWARM is not set
38# CONFIG_SIBYTE_LITTLESUR is not set
39# CONFIG_SIBYTE_SENTOSA is not set
40# CONFIG_SIBYTE_BIGSUR is not set
41# CONFIG_SNI_RM is not set
42# CONFIG_MACH_TX39XX is not set
43# CONFIG_MACH_TX49XX is not set
44# CONFIG_WR_PPMC is not set
45CONFIG_RWSEM_GENERIC_SPINLOCK=y
46# CONFIG_ARCH_HAS_ILOG2_U32 is not set
47# CONFIG_ARCH_HAS_ILOG2_U64 is not set
48CONFIG_ARCH_SUPPORTS_OPROFILE=y
49CONFIG_GENERIC_FIND_NEXT_BIT=y
50CONFIG_GENERIC_HWEIGHT=y
51CONFIG_GENERIC_CALIBRATE_DELAY=y
52CONFIG_GENERIC_CLOCKEVENTS=y
53CONFIG_GENERIC_TIME=y
54CONFIG_GENERIC_CMOS_UPDATE=y
55CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
56CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
57CONFIG_CEVT_R4K=y
58CONFIG_CSRC_R4K=y
59CONFIG_DMA_NONCOHERENT=y
60CONFIG_DMA_NEED_PCI_MAP_STATE=y
61# CONFIG_HOTPLUG_CPU is not set
62# CONFIG_NO_IOPORT is not set
63CONFIG_GENERIC_GPIO=y
64# CONFIG_CPU_BIG_ENDIAN is not set
65CONFIG_CPU_LITTLE_ENDIAN=y
66CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
67CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
68CONFIG_IRQ_CPU=y
69CONFIG_SOC_PNX833X=y
70CONFIG_SOC_PNX8335=y
71CONFIG_MIPS_L1_CACHE_SHIFT=5
72
73#
74# CPU selection
75#
76# CONFIG_CPU_LOONGSON2 is not set
77# CONFIG_CPU_MIPS32_R1 is not set
78CONFIG_CPU_MIPS32_R2=y
79# CONFIG_CPU_MIPS64_R1 is not set
80# CONFIG_CPU_MIPS64_R2 is not set
81# CONFIG_CPU_R3000 is not set
82# CONFIG_CPU_TX39XX is not set
83# CONFIG_CPU_VR41XX is not set
84# CONFIG_CPU_R4300 is not set
85# CONFIG_CPU_R4X00 is not set
86# CONFIG_CPU_TX49XX is not set
87# CONFIG_CPU_R5000 is not set
88# CONFIG_CPU_R5432 is not set
89# CONFIG_CPU_R6000 is not set
90# CONFIG_CPU_NEVADA is not set
91# CONFIG_CPU_R8000 is not set
92# CONFIG_CPU_R10000 is not set
93# CONFIG_CPU_RM7000 is not set
94# CONFIG_CPU_RM9000 is not set
95# CONFIG_CPU_SB1 is not set
96CONFIG_SYS_HAS_CPU_MIPS32_R2=y
97CONFIG_CPU_MIPS32=y
98CONFIG_CPU_MIPSR2=y
99CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
100CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
101
102#
103# Kernel type
104#
105CONFIG_32BIT=y
106# CONFIG_64BIT is not set
107CONFIG_PAGE_SIZE_4KB=y
108# CONFIG_PAGE_SIZE_8KB is not set
109# CONFIG_PAGE_SIZE_16KB is not set
110# CONFIG_PAGE_SIZE_64KB is not set
111CONFIG_CPU_HAS_PREFETCH=y
112CONFIG_MIPS_MT_DISABLED=y
113# CONFIG_MIPS_MT_SMP is not set
114# CONFIG_MIPS_MT_SMTC is not set
115CONFIG_CPU_HAS_LLSC=y
116CONFIG_CPU_MIPSR2_IRQ_VI=y
117CONFIG_CPU_HAS_SYNC=y
118CONFIG_GENERIC_HARDIRQS=y
119CONFIG_GENERIC_IRQ_PROBE=y
120CONFIG_CPU_SUPPORTS_HIGHMEM=y
121CONFIG_ARCH_FLATMEM_ENABLE=y
122CONFIG_ARCH_POPULATES_NODE_MAP=y
123CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y
125# CONFIG_DISCONTIGMEM_MANUAL is not set
126# CONFIG_SPARSEMEM_MANUAL is not set
127CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set
130# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
131CONFIG_PAGEFLAGS_EXTENDED=y
132CONFIG_SPLIT_PTLOCK_CPUS=4
133# CONFIG_RESOURCES_64BIT is not set
134CONFIG_ZONE_DMA_FLAG=0
135CONFIG_VIRT_TO_BUS=y
136CONFIG_TICK_ONESHOT=y
137CONFIG_NO_HZ=y
138CONFIG_HIGH_RES_TIMERS=y
139CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
140# CONFIG_HZ_48 is not set
141# CONFIG_HZ_100 is not set
142CONFIG_HZ_128=y
143# CONFIG_HZ_250 is not set
144# CONFIG_HZ_256 is not set
145# CONFIG_HZ_1000 is not set
146# CONFIG_HZ_1024 is not set
147CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
148CONFIG_HZ=128
149# CONFIG_PREEMPT_NONE is not set
150CONFIG_PREEMPT_VOLUNTARY=y
151# CONFIG_PREEMPT is not set
152# CONFIG_KEXEC is not set
153# CONFIG_SECCOMP is not set
154CONFIG_LOCKDEP_SUPPORT=y
155CONFIG_STACKTRACE_SUPPORT=y
156CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
157
158#
159# General setup
160#
161CONFIG_EXPERIMENTAL=y
162CONFIG_BROKEN_ON_SMP=y
163CONFIG_INIT_ENV_ARG_LIMIT=32
164CONFIG_LOCALVERSION=""
165# CONFIG_LOCALVERSION_AUTO is not set
166# CONFIG_SWAP is not set
167CONFIG_SYSVIPC=y
168CONFIG_SYSVIPC_SYSCTL=y
169# CONFIG_POSIX_MQUEUE is not set
170# CONFIG_BSD_PROCESS_ACCT is not set
171# CONFIG_TASKSTATS is not set
172# CONFIG_AUDIT is not set
173# CONFIG_IKCONFIG is not set
174CONFIG_LOG_BUF_SHIFT=14
175# CONFIG_CGROUPS is not set
176# CONFIG_GROUP_SCHED is not set
177CONFIG_SYSFS_DEPRECATED=y
178CONFIG_SYSFS_DEPRECATED_V2=y
179# CONFIG_RELAY is not set
180# CONFIG_NAMESPACES is not set
181# CONFIG_BLK_DEV_INITRD is not set
182CONFIG_CC_OPTIMIZE_FOR_SIZE=y
183CONFIG_SYSCTL=y
184CONFIG_EMBEDDED=y
185CONFIG_SYSCTL_SYSCALL=y
186CONFIG_SYSCTL_SYSCALL_CHECK=y
187CONFIG_KALLSYMS=y
188# CONFIG_KALLSYMS_EXTRA_PASS is not set
189CONFIG_HOTPLUG=y
190CONFIG_PRINTK=y
191CONFIG_BUG=y
192CONFIG_ELF_CORE=y
193CONFIG_PCSPKR_PLATFORM=y
194CONFIG_COMPAT_BRK=y
195CONFIG_BASE_FULL=y
196CONFIG_FUTEX=y
197CONFIG_ANON_INODES=y
198CONFIG_EPOLL=y
199CONFIG_SIGNALFD=y
200CONFIG_TIMERFD=y
201CONFIG_EVENTFD=y
202CONFIG_SHMEM=y
203CONFIG_VM_EVENT_COUNTERS=y
204CONFIG_SLAB=y
205# CONFIG_SLUB is not set
206# CONFIG_SLOB is not set
207# CONFIG_PROFILING is not set
208# CONFIG_MARKERS is not set
209CONFIG_HAVE_OPROFILE=y
210# CONFIG_HAVE_KPROBES is not set
211# CONFIG_HAVE_KRETPROBES is not set
212# CONFIG_HAVE_DMA_ATTRS is not set
213# CONFIG_USE_GENERIC_SMP_HELPERS is not set
214CONFIG_PROC_PAGE_MONITOR=y
215CONFIG_SLABINFO=y
216CONFIG_RT_MUTEXES=y
217# CONFIG_TINY_SHMEM is not set
218CONFIG_BASE_SMALL=0
219CONFIG_MODULES=y
220# CONFIG_MODULE_FORCE_LOAD is not set
221CONFIG_MODULE_UNLOAD=y
222# CONFIG_MODULE_FORCE_UNLOAD is not set
223# CONFIG_MODVERSIONS is not set
224# CONFIG_MODULE_SRCVERSION_ALL is not set
225CONFIG_KMOD=y
226CONFIG_BLOCK=y
227# CONFIG_LBD is not set
228# CONFIG_BLK_DEV_IO_TRACE is not set
229# CONFIG_LSF is not set
230# CONFIG_BLK_DEV_BSG is not set
231# CONFIG_BLK_DEV_INTEGRITY is not set
232
233#
234# IO Schedulers
235#
236CONFIG_IOSCHED_NOOP=y
237# CONFIG_IOSCHED_AS is not set
238# CONFIG_IOSCHED_DEADLINE is not set
239# CONFIG_IOSCHED_CFQ is not set
240# CONFIG_DEFAULT_AS is not set
241# CONFIG_DEFAULT_DEADLINE is not set
242# CONFIG_DEFAULT_CFQ is not set
243CONFIG_DEFAULT_NOOP=y
244CONFIG_DEFAULT_IOSCHED="noop"
245CONFIG_CLASSIC_RCU=y
246
247#
248# Bus options (PCI, PCMCIA, EISA, ISA, TC)
249#
250# CONFIG_ARCH_SUPPORTS_MSI is not set
251CONFIG_MMU=y
252# CONFIG_PCCARD is not set
253
254#
255# Executable file formats
256#
257CONFIG_BINFMT_ELF=y
258# CONFIG_BINFMT_MISC is not set
259CONFIG_TRAD_SIGNALS=y
260
261#
262# Power management options
263#
264CONFIG_ARCH_SUSPEND_POSSIBLE=y
265CONFIG_PM=y
266# CONFIG_PM_DEBUG is not set
267CONFIG_PM_SLEEP=y
268CONFIG_SUSPEND=y
269CONFIG_SUSPEND_FREEZER=y
270
271#
272# Networking
273#
274CONFIG_NET=y
275
276#
277# Networking options
278#
279CONFIG_PACKET=y
280# CONFIG_PACKET_MMAP is not set
281CONFIG_UNIX=y
282CONFIG_XFRM=y
283# CONFIG_XFRM_USER is not set
284# CONFIG_XFRM_SUB_POLICY is not set
285# CONFIG_XFRM_MIGRATE is not set
286# CONFIG_XFRM_STATISTICS is not set
287# CONFIG_NET_KEY is not set
288CONFIG_INET=y
289CONFIG_IP_MULTICAST=y
290# CONFIG_IP_ADVANCED_ROUTER is not set
291CONFIG_IP_FIB_HASH=y
292CONFIG_IP_PNP=y
293CONFIG_IP_PNP_DHCP=y
294# CONFIG_IP_PNP_BOOTP is not set
295# CONFIG_IP_PNP_RARP is not set
296# CONFIG_NET_IPIP is not set
297# CONFIG_NET_IPGRE is not set
298# CONFIG_IP_MROUTE is not set
299# CONFIG_ARPD is not set
300# CONFIG_SYN_COOKIES is not set
301CONFIG_INET_AH=y
302# CONFIG_INET_ESP is not set
303# CONFIG_INET_IPCOMP is not set
304# CONFIG_INET_XFRM_TUNNEL is not set
305# CONFIG_INET_TUNNEL is not set
306CONFIG_INET_XFRM_MODE_TRANSPORT=y
307CONFIG_INET_XFRM_MODE_TUNNEL=y
308CONFIG_INET_XFRM_MODE_BEET=y
309# CONFIG_INET_LRO is not set
310CONFIG_INET_DIAG=y
311CONFIG_INET_TCP_DIAG=y
312# CONFIG_TCP_CONG_ADVANCED is not set
313CONFIG_TCP_CONG_CUBIC=y
314CONFIG_DEFAULT_TCP_CONG="cubic"
315# CONFIG_TCP_MD5SIG is not set
316# CONFIG_IPV6 is not set
317# CONFIG_NETWORK_SECMARK is not set
318# CONFIG_NETFILTER is not set
319# CONFIG_IP_DCCP is not set
320# CONFIG_IP_SCTP is not set
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# CONFIG_NET_SCHED is not set
334
335#
336# Network testing
337#
338# CONFIG_NET_PKTGEN is not set
339# CONFIG_HAMRADIO is not set
340# CONFIG_CAN is not set
341# CONFIG_IRDA is not set
342# CONFIG_BT is not set
343# CONFIG_AF_RXRPC is not set
344
345#
346# Wireless
347#
348# CONFIG_CFG80211 is not set
349# CONFIG_WIRELESS_EXT is not set
350# CONFIG_MAC80211 is not set
351# CONFIG_IEEE80211 is not set
352# CONFIG_RFKILL is not set
353# CONFIG_NET_9P is not set
354
355#
356# Device Drivers
357#
358
359#
360# Generic Driver Options
361#
362CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
363CONFIG_STANDALONE=y
364CONFIG_PREVENT_FIRMWARE_BUILD=y
365CONFIG_FW_LOADER=y
366CONFIG_FIRMWARE_IN_KERNEL=y
367CONFIG_EXTRA_FIRMWARE=""
368# CONFIG_SYS_HYPERVISOR is not set
369# CONFIG_CONNECTOR is not set
370CONFIG_MTD=y
371# CONFIG_MTD_DEBUG is not set
372# CONFIG_MTD_CONCAT is not set
373CONFIG_MTD_PARTITIONS=y
374# CONFIG_MTD_REDBOOT_PARTS is not set
375CONFIG_MTD_CMDLINE_PARTS=y
376# CONFIG_MTD_AR7_PARTS is not set
377
378#
379# User Modules And Translation Layers
380#
381CONFIG_MTD_CHAR=y
382CONFIG_MTD_BLKDEVS=y
383CONFIG_MTD_BLOCK=y
384# CONFIG_FTL is not set
385# CONFIG_NFTL is not set
386# CONFIG_INFTL is not set
387# CONFIG_RFD_FTL is not set
388# CONFIG_SSFDC is not set
389# CONFIG_MTD_OOPS is not set
390
391#
392# RAM/ROM/Flash chip drivers
393#
394CONFIG_MTD_CFI=y
395# CONFIG_MTD_JEDECPROBE is not set
396CONFIG_MTD_GEN_PROBE=y
397CONFIG_MTD_CFI_ADV_OPTIONS=y
398# CONFIG_MTD_CFI_NOSWAP is not set
399# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
400CONFIG_MTD_CFI_LE_BYTE_SWAP=y
401CONFIG_MTD_CFI_GEOMETRY=y
402CONFIG_MTD_MAP_BANK_WIDTH_1=y
403CONFIG_MTD_MAP_BANK_WIDTH_2=y
404CONFIG_MTD_MAP_BANK_WIDTH_4=y
405# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
406# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
407# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
408CONFIG_MTD_CFI_I1=y
409CONFIG_MTD_CFI_I2=y
410# CONFIG_MTD_CFI_I4 is not set
411# CONFIG_MTD_CFI_I8 is not set
412# CONFIG_MTD_OTP is not set
413# CONFIG_MTD_CFI_INTELEXT is not set
414CONFIG_MTD_CFI_AMDSTD=y
415# CONFIG_MTD_CFI_STAA is not set
416CONFIG_MTD_CFI_UTIL=y
417# CONFIG_MTD_RAM is not set
418# CONFIG_MTD_ROM is not set
419# CONFIG_MTD_ABSENT is not set
420
421#
422# Mapping drivers for chip access
423#
424# CONFIG_MTD_COMPLEX_MAPPINGS is not set
425CONFIG_MTD_PHYSMAP=y
426CONFIG_MTD_PHYSMAP_START=0x18000000
427CONFIG_MTD_PHYSMAP_LEN=0x04000000
428CONFIG_MTD_PHYSMAP_BANKWIDTH=2
429# CONFIG_MTD_PLATRAM is not set
430
431#
432# Self-contained MTD device drivers
433#
434# CONFIG_MTD_SLRAM is not set
435# CONFIG_MTD_PHRAM is not set
436# CONFIG_MTD_MTDRAM is not set
437# CONFIG_MTD_BLOCK2MTD is not set
438
439#
440# Disk-On-Chip Device Drivers
441#
442# CONFIG_MTD_DOC2000 is not set
443# CONFIG_MTD_DOC2001 is not set
444# CONFIG_MTD_DOC2001PLUS is not set
445# CONFIG_MTD_NAND is not set
446# CONFIG_MTD_ONENAND is not set
447
448#
449# UBI - Unsorted block images
450#
451# CONFIG_MTD_UBI is not set
452# CONFIG_PARPORT is not set
453CONFIG_BLK_DEV=y
454# CONFIG_BLK_DEV_COW_COMMON is not set
455CONFIG_BLK_DEV_LOOP=y
456# CONFIG_BLK_DEV_CRYPTOLOOP is not set
457# CONFIG_BLK_DEV_NBD is not set
458# CONFIG_BLK_DEV_RAM is not set
459# CONFIG_CDROM_PKTCDVD is not set
460# CONFIG_ATA_OVER_ETH is not set
461# CONFIG_BLK_DEV_HD is not set
462# CONFIG_MISC_DEVICES is not set
463CONFIG_HAVE_IDE=y
464# CONFIG_IDE is not set
465
466#
467# SCSI device support
468#
469# CONFIG_RAID_ATTRS is not set
470CONFIG_SCSI=y
471CONFIG_SCSI_DMA=y
472# CONFIG_SCSI_TGT is not set
473# CONFIG_SCSI_NETLINK is not set
474CONFIG_SCSI_PROC_FS=y
475
476#
477# SCSI support type (disk, tape, CD-ROM)
478#
479CONFIG_BLK_DEV_SD=y
480# CONFIG_CHR_DEV_ST is not set
481# CONFIG_CHR_DEV_OSST is not set
482# CONFIG_BLK_DEV_SR is not set
483# CONFIG_CHR_DEV_SG is not set
484# CONFIG_CHR_DEV_SCH is not set
485
486#
487# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
488#
489# CONFIG_SCSI_MULTI_LUN is not set
490# CONFIG_SCSI_CONSTANTS is not set
491# CONFIG_SCSI_LOGGING is not set
492# CONFIG_SCSI_SCAN_ASYNC is not set
493CONFIG_SCSI_WAIT_SCAN=m
494
495#
496# SCSI Transports
497#
498# CONFIG_SCSI_SPI_ATTRS is not set
499# CONFIG_SCSI_FC_ATTRS is not set
500# CONFIG_SCSI_ISCSI_ATTRS is not set
501# CONFIG_SCSI_SAS_LIBSAS is not set
502# CONFIG_SCSI_SRP_ATTRS is not set
503# CONFIG_SCSI_LOWLEVEL is not set
504# CONFIG_SCSI_DH is not set
505CONFIG_ATA=y
506# CONFIG_ATA_NONSTANDARD is not set
507CONFIG_SATA_PMP=y
508CONFIG_ATA_SFF=y
509# CONFIG_SATA_MV is not set
510# CONFIG_PATA_PLATFORM is not set
511# CONFIG_MD is not set
512CONFIG_NETDEVICES=y
513# CONFIG_DUMMY is not set
514# CONFIG_BONDING is not set
515# CONFIG_MACVLAN is not set
516# CONFIG_EQUALIZER is not set
517# CONFIG_TUN is not set
518# CONFIG_VETH is not set
519# CONFIG_PHYLIB is not set
520CONFIG_NET_ETHERNET=y
521CONFIG_MII=y
522# CONFIG_AX88796 is not set
523# CONFIG_DM9000 is not set
524# CONFIG_IBM_NEW_EMAC_ZMII is not set
525# CONFIG_IBM_NEW_EMAC_RGMII is not set
526# CONFIG_IBM_NEW_EMAC_TAH is not set
527# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
528# CONFIG_B44 is not set
529# CONFIG_NETDEV_1000 is not set
530# CONFIG_NETDEV_10000 is not set
531
532#
533# Wireless LAN
534#
535# CONFIG_WLAN_PRE80211 is not set
536# CONFIG_WLAN_80211 is not set
537# CONFIG_IWLWIFI_LEDS is not set
538# CONFIG_WAN is not set
539# CONFIG_PPP is not set
540# CONFIG_SLIP is not set
541# CONFIG_NETCONSOLE is not set
542# CONFIG_NETPOLL is not set
543# CONFIG_NET_POLL_CONTROLLER is not set
544# CONFIG_ISDN is not set
545# CONFIG_PHONE is not set
546
547#
548# Input device support
549#
550CONFIG_INPUT=y
551# CONFIG_INPUT_FF_MEMLESS is not set
552# CONFIG_INPUT_POLLDEV is not set
553
554#
555# Userland interfaces
556#
557# CONFIG_INPUT_MOUSEDEV is not set
558# CONFIG_INPUT_JOYDEV is not set
559CONFIG_INPUT_EVDEV=m
560CONFIG_INPUT_EVBUG=m
561
562#
563# Input Device Drivers
564#
565# CONFIG_INPUT_KEYBOARD is not set
566# CONFIG_INPUT_MOUSE is not set
567# CONFIG_INPUT_JOYSTICK is not set
568# CONFIG_INPUT_TABLET is not set
569# CONFIG_INPUT_TOUCHSCREEN is not set
570# CONFIG_INPUT_MISC is not set
571
572#
573# Hardware I/O ports
574#
575CONFIG_SERIO=y
576# CONFIG_SERIO_I8042 is not set
577CONFIG_SERIO_SERPORT=y
578# CONFIG_SERIO_LIBPS2 is not set
579# CONFIG_SERIO_RAW is not set
580# CONFIG_GAMEPORT is not set
581
582#
583# Character devices
584#
585CONFIG_VT=y
586CONFIG_CONSOLE_TRANSLATIONS=y
587# CONFIG_VT_CONSOLE is not set
588CONFIG_HW_CONSOLE=y
589# CONFIG_VT_HW_CONSOLE_BINDING is not set
590CONFIG_DEVKMEM=y
591# CONFIG_SERIAL_NONSTANDARD is not set
592
593#
594# Serial drivers
595#
596# CONFIG_SERIAL_8250 is not set
597
598#
599# Non-8250 serial port support
600#
601CONFIG_SERIAL_PNX8XXX=y
602CONFIG_SERIAL_PNX8XXX_CONSOLE=y
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
608CONFIG_HW_RANDOM=y
609# CONFIG_R3964 is not set
610# CONFIG_RAW_DRIVER is not set
611# CONFIG_TCG_TPM is not set
612CONFIG_I2C=y
613CONFIG_I2C_BOARDINFO=y
614CONFIG_I2C_CHARDEV=y
615
616#
617# I2C Hardware Bus support
618#
619
620#
621# I2C system bus drivers (mostly embedded / system-on-chip)
622#
623# CONFIG_I2C_GPIO is not set
624# CONFIG_I2C_OCORES is not set
625# CONFIG_I2C_SIMTEC is not set
626
627#
628# External I2C/SMBus adapter drivers
629#
630# CONFIG_I2C_PARPORT_LIGHT is not set
631# CONFIG_I2C_TAOS_EVM is not set
632
633#
634# Other I2C/SMBus bus drivers
635#
636# CONFIG_I2C_PCA_PLATFORM is not set
637# CONFIG_I2C_STUB is not set
638
639#
640# Miscellaneous I2C Chip support
641#
642# CONFIG_DS1682 is not set
643# CONFIG_AT24 is not set
644# CONFIG_SENSORS_EEPROM is not set
645# CONFIG_SENSORS_PCF8574 is not set
646# CONFIG_PCF8575 is not set
647# CONFIG_SENSORS_PCA9539 is not set
648# CONFIG_SENSORS_PCF8591 is not set
649# CONFIG_SENSORS_MAX6875 is not set
650# CONFIG_SENSORS_TSL2550 is not set
651# CONFIG_I2C_DEBUG_CORE is not set
652# CONFIG_I2C_DEBUG_ALGO is not set
653# CONFIG_I2C_DEBUG_BUS is not set
654# CONFIG_I2C_DEBUG_CHIP is not set
655# CONFIG_SPI is not set
656# CONFIG_W1 is not set
657# CONFIG_POWER_SUPPLY is not set
658# CONFIG_HWMON is not set
659# CONFIG_THERMAL is not set
660# CONFIG_THERMAL_HWMON is not set
661# CONFIG_WATCHDOG is not set
662
663#
664# Sonics Silicon Backplane
665#
666CONFIG_SSB_POSSIBLE=y
667# CONFIG_SSB is not set
668
669#
670# Multifunction device drivers
671#
672# CONFIG_MFD_CORE is not set
673# CONFIG_MFD_SM501 is not set
674# CONFIG_HTC_PASIC3 is not set
675
676#
677# Multimedia devices
678#
679
680#
681# Multimedia core support
682#
683# CONFIG_VIDEO_DEV is not set
684CONFIG_DVB_CORE=y
685CONFIG_VIDEO_MEDIA=y
686
687#
688# Multimedia drivers
689#
690# CONFIG_MEDIA_ATTACH is not set
691CONFIG_MEDIA_TUNER=y
692# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
693CONFIG_MEDIA_TUNER_SIMPLE=y
694CONFIG_MEDIA_TUNER_TDA8290=y
695CONFIG_MEDIA_TUNER_TDA9887=y
696CONFIG_MEDIA_TUNER_TEA5761=y
697CONFIG_MEDIA_TUNER_TEA5767=y
698CONFIG_MEDIA_TUNER_MT20XX=y
699CONFIG_MEDIA_TUNER_XC2028=y
700CONFIG_MEDIA_TUNER_XC5000=y
701CONFIG_DVB_CAPTURE_DRIVERS=y
702# CONFIG_TTPCI_EEPROM is not set
703# CONFIG_DVB_B2C2_FLEXCOP is not set
704
705#
706# Supported DVB Frontends
707#
708
709#
710# Customise DVB Frontends
711#
712# CONFIG_DVB_FE_CUSTOMISE is not set
713
714#
715# DVB-S (satellite) frontends
716#
717# CONFIG_DVB_CX24110 is not set
718# CONFIG_DVB_CX24123 is not set
719# CONFIG_DVB_MT312 is not set
720# CONFIG_DVB_S5H1420 is not set
721# CONFIG_DVB_STV0299 is not set
722# CONFIG_DVB_TDA8083 is not set
723# CONFIG_DVB_TDA10086 is not set
724# CONFIG_DVB_VES1X93 is not set
725# CONFIG_DVB_TUNER_ITD1000 is not set
726# CONFIG_DVB_TDA826X is not set
727# CONFIG_DVB_TUA6100 is not set
728
729#
730# DVB-T (terrestrial) frontends
731#
732# CONFIG_DVB_SP8870 is not set
733# CONFIG_DVB_SP887X is not set
734# CONFIG_DVB_CX22700 is not set
735# CONFIG_DVB_CX22702 is not set
736# CONFIG_DVB_DRX397XD is not set
737# CONFIG_DVB_L64781 is not set
738CONFIG_DVB_TDA1004X=y
739# CONFIG_DVB_NXT6000 is not set
740# CONFIG_DVB_MT352 is not set
741# CONFIG_DVB_ZL10353 is not set
742# CONFIG_DVB_DIB3000MB is not set
743# CONFIG_DVB_DIB3000MC is not set
744# CONFIG_DVB_DIB7000M is not set
745# CONFIG_DVB_DIB7000P is not set
746# CONFIG_DVB_TDA10048 is not set
747
748#
749# DVB-C (cable) frontends
750#
751# CONFIG_DVB_VES1820 is not set
752# CONFIG_DVB_TDA10021 is not set
753# CONFIG_DVB_TDA10023 is not set
754# CONFIG_DVB_STV0297 is not set
755
756#
757# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
758#
759# CONFIG_DVB_NXT200X is not set
760# CONFIG_DVB_OR51211 is not set
761# CONFIG_DVB_OR51132 is not set
762# CONFIG_DVB_BCM3510 is not set
763# CONFIG_DVB_LGDT330X is not set
764# CONFIG_DVB_S5H1409 is not set
765# CONFIG_DVB_AU8522 is not set
766# CONFIG_DVB_S5H1411 is not set
767
768#
769# Digital terrestrial only tuners/PLL
770#
771# CONFIG_DVB_PLL is not set
772# CONFIG_DVB_TUNER_DIB0070 is not set
773
774#
775# SEC control devices for DVB-S
776#
777# CONFIG_DVB_LNBP21 is not set
778# CONFIG_DVB_ISL6405 is not set
779# CONFIG_DVB_ISL6421 is not set
780# CONFIG_DAB is not set
781
782#
783# Graphics support
784#
785# CONFIG_VGASTATE is not set
786# CONFIG_VIDEO_OUTPUT_CONTROL is not set
787CONFIG_FB=y
788# CONFIG_FIRMWARE_EDID is not set
789# CONFIG_FB_DDC is not set
790# CONFIG_FB_CFB_FILLRECT is not set
791# CONFIG_FB_CFB_COPYAREA is not set
792# CONFIG_FB_CFB_IMAGEBLIT is not set
793# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
794# CONFIG_FB_SYS_FILLRECT is not set
795# CONFIG_FB_SYS_COPYAREA is not set
796# CONFIG_FB_SYS_IMAGEBLIT is not set
797# CONFIG_FB_FOREIGN_ENDIAN is not set
798# CONFIG_FB_SYS_FOPS is not set
799# CONFIG_FB_SVGALIB is not set
800# CONFIG_FB_MACMODES is not set
801# CONFIG_FB_BACKLIGHT is not set
802# CONFIG_FB_MODE_HELPERS is not set
803# CONFIG_FB_TILEBLITTING is not set
804
805#
806# Frame buffer hardware drivers
807#
808# CONFIG_FB_S1D13XXX is not set
809# CONFIG_FB_VIRTUAL is not set
810# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
811
812#
813# Display device support
814#
815# CONFIG_DISPLAY_SUPPORT is not set
816
817#
818# Console display driver support
819#
820# CONFIG_VGA_CONSOLE is not set
821CONFIG_DUMMY_CONSOLE=y
822# CONFIG_FRAMEBUFFER_CONSOLE is not set
823# CONFIG_LOGO is not set
824CONFIG_SOUND=m
825CONFIG_SND=m
826CONFIG_SND_TIMER=m
827CONFIG_SND_PCM=m
828CONFIG_SND_SEQUENCER=m
829# CONFIG_SND_SEQ_DUMMY is not set
830CONFIG_SND_OSSEMUL=y
831CONFIG_SND_MIXER_OSS=m
832CONFIG_SND_PCM_OSS=m
833CONFIG_SND_PCM_OSS_PLUGINS=y
834CONFIG_SND_SEQUENCER_OSS=y
835# CONFIG_SND_DYNAMIC_MINORS is not set
836CONFIG_SND_SUPPORT_OLD_API=y
837CONFIG_SND_VERBOSE_PROCFS=y
838CONFIG_SND_VERBOSE_PRINTK=y
839CONFIG_SND_DEBUG=y
840# CONFIG_SND_DEBUG_VERBOSE is not set
841# CONFIG_SND_PCM_XRUN_DEBUG is not set
842CONFIG_SND_DRIVERS=y
843# CONFIG_SND_DUMMY is not set
844# CONFIG_SND_VIRMIDI is not set
845# CONFIG_SND_MTPAV is not set
846# CONFIG_SND_SERIAL_U16550 is not set
847# CONFIG_SND_MPU401 is not set
848CONFIG_SND_MIPS=y
849# CONFIG_SND_SOC is not set
850# CONFIG_SOUND_PRIME is not set
851CONFIG_HID_SUPPORT=y
852CONFIG_HID=y
853# CONFIG_HID_DEBUG is not set
854# CONFIG_HIDRAW is not set
855CONFIG_USB_SUPPORT=y
856# CONFIG_USB_ARCH_HAS_HCD is not set
857# CONFIG_USB_ARCH_HAS_OHCI is not set
858# CONFIG_USB_ARCH_HAS_EHCI is not set
859# CONFIG_USB_OTG_WHITELIST is not set
860# CONFIG_USB_OTG_BLACKLIST_HUB is not set
861
862#
863# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
864#
865# CONFIG_USB_GADGET is not set
866# CONFIG_MMC is not set
867# CONFIG_MEMSTICK is not set
868# CONFIG_NEW_LEDS is not set
869# CONFIG_ACCESSIBILITY is not set
870CONFIG_RTC_LIB=y
871# CONFIG_RTC_CLASS is not set
872# CONFIG_DMADEVICES is not set
873# CONFIG_UIO is not set
874
875#
876# File systems
877#
878CONFIG_EXT2_FS=m
879# CONFIG_EXT2_FS_XATTR is not set
880# CONFIG_EXT2_FS_XIP is not set
881# CONFIG_EXT3_FS is not set
882# CONFIG_EXT4DEV_FS is not set
883# CONFIG_REISERFS_FS is not set
884# CONFIG_JFS_FS is not set
885# CONFIG_FS_POSIX_ACL is not set
886# CONFIG_XFS_FS is not set
887# CONFIG_OCFS2_FS is not set
888# CONFIG_DNOTIFY is not set
889CONFIG_INOTIFY=y
890CONFIG_INOTIFY_USER=y
891# CONFIG_QUOTA is not set
892# CONFIG_AUTOFS_FS is not set
893# CONFIG_AUTOFS4_FS is not set
894# CONFIG_FUSE_FS is not set
895
896#
897# CD-ROM/DVD Filesystems
898#
899# CONFIG_ISO9660_FS is not set
900# CONFIG_UDF_FS is not set
901
902#
903# DOS/FAT/NT Filesystems
904#
905CONFIG_FAT_FS=m
906CONFIG_MSDOS_FS=m
907CONFIG_VFAT_FS=m
908CONFIG_FAT_DEFAULT_CODEPAGE=437
909CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
910# CONFIG_NTFS_FS is not set
911
912#
913# Pseudo filesystems
914#
915CONFIG_PROC_FS=y
916# CONFIG_PROC_KCORE is not set
917CONFIG_PROC_SYSCTL=y
918CONFIG_SYSFS=y
919CONFIG_TMPFS=y
920# CONFIG_TMPFS_POSIX_ACL is not set
921# CONFIG_HUGETLB_PAGE is not set
922# CONFIG_CONFIGFS_FS is not set
923
924#
925# Miscellaneous filesystems
926#
927# CONFIG_ADFS_FS is not set
928# CONFIG_AFFS_FS is not set
929# CONFIG_HFS_FS is not set
930# CONFIG_HFSPLUS_FS is not set
931# CONFIG_BEFS_FS is not set
932# CONFIG_BFS_FS is not set
933# CONFIG_EFS_FS is not set
934CONFIG_JFFS2_FS=y
935CONFIG_JFFS2_FS_DEBUG=0
936CONFIG_JFFS2_FS_WRITEBUFFER=y
937# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
938# CONFIG_JFFS2_SUMMARY is not set
939# CONFIG_JFFS2_FS_XATTR is not set
940# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
941CONFIG_JFFS2_ZLIB=y
942# CONFIG_JFFS2_LZO is not set
943CONFIG_JFFS2_RTIME=y
944# CONFIG_JFFS2_RUBIN is not set
945CONFIG_CRAMFS=y
946# CONFIG_VXFS_FS is not set
947# CONFIG_MINIX_FS is not set
948# CONFIG_HPFS_FS is not set
949# CONFIG_QNX4FS_FS is not set
950# CONFIG_ROMFS_FS is not set
951# CONFIG_SYSV_FS is not set
952# CONFIG_UFS_FS is not set
953CONFIG_NETWORK_FILESYSTEMS=y
954CONFIG_NFS_FS=y
955CONFIG_NFS_V3=y
956# CONFIG_NFS_V3_ACL is not set
957# CONFIG_NFS_V4 is not set
958CONFIG_ROOT_NFS=y
959CONFIG_NFSD=m
960CONFIG_NFSD_V3=y
961# CONFIG_NFSD_V3_ACL is not set
962# CONFIG_NFSD_V4 is not set
963CONFIG_LOCKD=y
964CONFIG_LOCKD_V4=y
965CONFIG_EXPORTFS=m
966CONFIG_NFS_COMMON=y
967CONFIG_SUNRPC=y
968# CONFIG_RPCSEC_GSS_KRB5 is not set
969# CONFIG_RPCSEC_GSS_SPKM3 is not set
970# CONFIG_SMB_FS is not set
971# CONFIG_CIFS is not set
972# CONFIG_NCP_FS is not set
973# CONFIG_CODA_FS is not set
974# CONFIG_AFS_FS is not set
975
976#
977# Partition Types
978#
979# CONFIG_PARTITION_ADVANCED is not set
980CONFIG_MSDOS_PARTITION=y
981CONFIG_NLS=y
982CONFIG_NLS_DEFAULT="iso8859-1"
983CONFIG_NLS_CODEPAGE_437=m
984# CONFIG_NLS_CODEPAGE_737 is not set
985# CONFIG_NLS_CODEPAGE_775 is not set
986CONFIG_NLS_CODEPAGE_850=m
987# CONFIG_NLS_CODEPAGE_852 is not set
988# CONFIG_NLS_CODEPAGE_855 is not set
989# CONFIG_NLS_CODEPAGE_857 is not set
990# CONFIG_NLS_CODEPAGE_860 is not set
991# CONFIG_NLS_CODEPAGE_861 is not set
992# CONFIG_NLS_CODEPAGE_862 is not set
993# CONFIG_NLS_CODEPAGE_863 is not set
994# CONFIG_NLS_CODEPAGE_864 is not set
995# CONFIG_NLS_CODEPAGE_865 is not set
996# CONFIG_NLS_CODEPAGE_866 is not set
997# CONFIG_NLS_CODEPAGE_869 is not set
998# CONFIG_NLS_CODEPAGE_936 is not set
999# CONFIG_NLS_CODEPAGE_950 is not set
1000CONFIG_NLS_CODEPAGE_932=m
1001# CONFIG_NLS_CODEPAGE_949 is not set
1002# CONFIG_NLS_CODEPAGE_874 is not set
1003# CONFIG_NLS_ISO8859_8 is not set
1004# CONFIG_NLS_CODEPAGE_1250 is not set
1005# CONFIG_NLS_CODEPAGE_1251 is not set
1006CONFIG_NLS_ASCII=m
1007CONFIG_NLS_ISO8859_1=m
1008# CONFIG_NLS_ISO8859_2 is not set
1009# CONFIG_NLS_ISO8859_3 is not set
1010# CONFIG_NLS_ISO8859_4 is not set
1011# CONFIG_NLS_ISO8859_5 is not set
1012# CONFIG_NLS_ISO8859_6 is not set
1013# CONFIG_NLS_ISO8859_7 is not set
1014# CONFIG_NLS_ISO8859_9 is not set
1015# CONFIG_NLS_ISO8859_13 is not set
1016# CONFIG_NLS_ISO8859_14 is not set
1017CONFIG_NLS_ISO8859_15=m
1018# CONFIG_NLS_KOI8_R is not set
1019# CONFIG_NLS_KOI8_U is not set
1020CONFIG_NLS_UTF8=m
1021# CONFIG_DLM is not set
1022
1023#
1024# Kernel hacking
1025#
1026CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1027# CONFIG_PRINTK_TIME is not set
1028CONFIG_ENABLE_WARN_DEPRECATED=y
1029CONFIG_ENABLE_MUST_CHECK=y
1030CONFIG_FRAME_WARN=1024
1031# CONFIG_MAGIC_SYSRQ is not set
1032# CONFIG_UNUSED_SYMBOLS is not set
1033# CONFIG_DEBUG_FS is not set
1034# CONFIG_HEADERS_CHECK is not set
1035# CONFIG_DEBUG_KERNEL is not set
1036# CONFIG_SAMPLES is not set
1037# CONFIG_KERNEL_TESTS is not set
1038CONFIG_CMDLINE=""
1039
1040#
1041# Security options
1042#
1043# CONFIG_KEYS is not set
1044# CONFIG_SECURITY is not set
1045# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1046CONFIG_CRYPTO=y
1047
1048#
1049# Crypto core or helper
1050#
1051CONFIG_CRYPTO_ALGAPI=y
1052CONFIG_CRYPTO_HASH=y
1053CONFIG_CRYPTO_MANAGER=y
1054# CONFIG_CRYPTO_GF128MUL is not set
1055# CONFIG_CRYPTO_NULL is not set
1056# CONFIG_CRYPTO_CRYPTD is not set
1057# CONFIG_CRYPTO_AUTHENC is not set
1058# CONFIG_CRYPTO_TEST is not set
1059
1060#
1061# Authenticated Encryption with Associated Data
1062#
1063# CONFIG_CRYPTO_CCM is not set
1064# CONFIG_CRYPTO_GCM is not set
1065# CONFIG_CRYPTO_SEQIV is not set
1066
1067#
1068# Block modes
1069#
1070# CONFIG_CRYPTO_CBC is not set
1071# CONFIG_CRYPTO_CTR is not set
1072# CONFIG_CRYPTO_CTS is not set
1073# CONFIG_CRYPTO_ECB is not set
1074# CONFIG_CRYPTO_LRW is not set
1075# CONFIG_CRYPTO_PCBC is not set
1076# CONFIG_CRYPTO_XTS is not set
1077
1078#
1079# Hash modes
1080#
1081CONFIG_CRYPTO_HMAC=y
1082# CONFIG_CRYPTO_XCBC is not set
1083
1084#
1085# Digest
1086#
1087# CONFIG_CRYPTO_CRC32C is not set
1088# CONFIG_CRYPTO_MD4 is not set
1089CONFIG_CRYPTO_MD5=y
1090# CONFIG_CRYPTO_MICHAEL_MIC is not set
1091# CONFIG_CRYPTO_RMD128 is not set
1092# CONFIG_CRYPTO_RMD160 is not set
1093# CONFIG_CRYPTO_RMD256 is not set
1094# CONFIG_CRYPTO_RMD320 is not set
1095CONFIG_CRYPTO_SHA1=y
1096# CONFIG_CRYPTO_SHA256 is not set
1097# CONFIG_CRYPTO_SHA512 is not set
1098# CONFIG_CRYPTO_TGR192 is not set
1099# CONFIG_CRYPTO_WP512 is not set
1100
1101#
1102# Ciphers
1103#
1104# CONFIG_CRYPTO_AES is not set
1105# CONFIG_CRYPTO_ANUBIS is not set
1106# CONFIG_CRYPTO_ARC4 is not set
1107# CONFIG_CRYPTO_BLOWFISH is not set
1108# CONFIG_CRYPTO_CAMELLIA is not set
1109# CONFIG_CRYPTO_CAST5 is not set
1110# CONFIG_CRYPTO_CAST6 is not set
1111# CONFIG_CRYPTO_DES is not set
1112# CONFIG_CRYPTO_FCRYPT is not set
1113# CONFIG_CRYPTO_KHAZAD is not set
1114# CONFIG_CRYPTO_SALSA20 is not set
1115# CONFIG_CRYPTO_SEED is not set
1116# CONFIG_CRYPTO_SERPENT is not set
1117# CONFIG_CRYPTO_TEA is not set
1118# CONFIG_CRYPTO_TWOFISH is not set
1119
1120#
1121# Compression
1122#
1123# CONFIG_CRYPTO_DEFLATE is not set
1124# CONFIG_CRYPTO_LZO is not set
1125
1126#
1127# Random Number Generation
1128#
1129# CONFIG_CRYPTO_PRNG is not set
1130CONFIG_CRYPTO_HW=y
1131
1132#
1133# Library routines
1134#
1135CONFIG_BITREVERSE=y
1136# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1137# CONFIG_CRC_CCITT is not set
1138# CONFIG_CRC16 is not set
1139# CONFIG_CRC_T10DIF is not set
1140# CONFIG_CRC_ITU_T is not set
1141CONFIG_CRC32=y
1142# CONFIG_CRC7 is not set
1143# CONFIG_LIBCRC32C is not set
1144CONFIG_ZLIB_INFLATE=y
1145CONFIG_ZLIB_DEFLATE=y
1146CONFIG_PLIST=y
1147CONFIG_HAS_IOMEM=y
1148CONFIG_HAS_IOPORT=y
1149CONFIG_HAS_DMA=y
diff --git a/arch/mips/emma/Kconfig b/arch/mips/emma/Kconfig
new file mode 100644
index 000000000000..9669c72123c9
--- /dev/null
+++ b/arch/mips/emma/Kconfig
@@ -0,0 +1,29 @@
1choice
2 prompt "Machine type"
3 depends on MACH_EMMA
4 default NEC_MARKEINS
5
6config NEC_MARKEINS
7 bool "NEC EMMA2RH Mark-eins board"
8 select SOC_EMMA2RH
9 select HW_HAS_PCI
10 help
11 This enables support for the NEC Electronics Mark-eins boards.
12
13endchoice
14
15config SOC_EMMA2RH
16 bool
17 select SOC_EMMA
18 select SYS_HAS_CPU_R5500
19 select SYS_SUPPORTS_32BIT_KERNEL
20 select SYS_SUPPORTS_64BIT_KERNEL
21
22config SOC_EMMA
23 bool
24 select CEVT_R4K
25 select CSRC_R4K
26 select DMA_NONCOHERENT
27 select IRQ_CPU
28 select SWAP_IO_SPACE
29 select SYS_SUPPORTS_BIG_ENDIAN
diff --git a/arch/mips/emma2rh/common/Makefile b/arch/mips/emma/common/Makefile
index 859121b3867d..c392d28c1ef1 100644
--- a/arch/mips/emma2rh/common/Makefile
+++ b/arch/mips/emma/common/Makefile
@@ -10,4 +10,4 @@
10# (at your option) any later version. 10# (at your option) any later version.
11# 11#
12 12
13obj-$(CONFIG_MARKEINS) += irq.o irq_emma2rh.o prom.o 13obj-$(CONFIG_NEC_MARKEINS) += prom.o
diff --git a/arch/mips/emma2rh/common/prom.c b/arch/mips/emma/common/prom.c
index e14a2e3d8842..120f53fbdb45 100644
--- a/arch/mips/emma2rh/common/prom.c
+++ b/arch/mips/emma/common/prom.c
@@ -29,11 +29,11 @@
29 29
30#include <asm/addrspace.h> 30#include <asm/addrspace.h>
31#include <asm/bootinfo.h> 31#include <asm/bootinfo.h>
32#include <asm/emma2rh/emma2rh.h> 32#include <asm/emma/emma2rh.h>
33 33
34const char *get_system_type(void) 34const char *get_system_type(void)
35{ 35{
36#if defined(CONFIG_MARKEINS) 36#ifdef CONFIG_NEC_MARKEINS
37 return "NEC EMMA2RH Mark-eins"; 37 return "NEC EMMA2RH Mark-eins";
38#else 38#else
39#error Unknown NEC board 39#error Unknown NEC board
@@ -60,7 +60,7 @@ void __init prom_init(void)
60 strcat(arcs_cmdline, " "); 60 strcat(arcs_cmdline, " ");
61 } 61 }
62 62
63#if defined(CONFIG_MARKEINS) 63#ifdef CONFIG_NEC_MARKEINS
64 add_memory_region(0, EMMA2RH_RAM_SIZE, BOOT_MEM_RAM); 64 add_memory_region(0, EMMA2RH_RAM_SIZE, BOOT_MEM_RAM);
65#else 65#else
66#error Unknown NEC board 66#error Unknown NEC board
diff --git a/arch/mips/emma2rh/markeins/Makefile b/arch/mips/emma/markeins/Makefile
index 14fc268b175c..16e0017ba919 100644
--- a/arch/mips/emma2rh/markeins/Makefile
+++ b/arch/mips/emma/markeins/Makefile
@@ -10,4 +10,4 @@
10# (at your option) any later version. 10# (at your option) any later version.
11# 11#
12 12
13obj-$(CONFIG_MARKEINS) += irq.o irq_markeins.o setup.o led.o platform.o 13obj-$(CONFIG_NEC_MARKEINS) += irq.o setup.o led.o platform.o
diff --git a/arch/mips/emma/markeins/irq.c b/arch/mips/emma/markeins/irq.c
new file mode 100644
index 000000000000..c2583ecc93cf
--- /dev/null
+++ b/arch/mips/emma/markeins/irq.c
@@ -0,0 +1,331 @@
1/*
2 * arch/mips/emma2rh/markeins/irq.c
3 * This file defines the irq handler for EMMA2RH.
4 *
5 * Copyright (C) NEC Electronics Corporation 2004-2006
6 *
7 * This file is based on the arch/mips/ddb5xxx/ddb5477/irq.c
8 *
9 * Copyright 2001 MontaVista Software Inc.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25#include <linux/init.h>
26#include <linux/interrupt.h>
27#include <linux/irq.h>
28#include <linux/types.h>
29#include <linux/ptrace.h>
30#include <linux/delay.h>
31
32#include <asm/irq_cpu.h>
33#include <asm/system.h>
34#include <asm/mipsregs.h>
35#include <asm/addrspace.h>
36#include <asm/bootinfo.h>
37
38#include <asm/emma/emma2rh.h>
39
40static void emma2rh_irq_enable(unsigned int irq)
41{
42 u32 reg_value;
43 u32 reg_bitmask;
44 u32 reg_index;
45
46 irq -= EMMA2RH_IRQ_BASE;
47
48 reg_index = EMMA2RH_BHIF_INT_EN_0 +
49 (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32);
50 reg_value = emma2rh_in32(reg_index);
51 reg_bitmask = 0x1 << (irq % 32);
52 emma2rh_out32(reg_index, reg_value | reg_bitmask);
53}
54
55static void emma2rh_irq_disable(unsigned int irq)
56{
57 u32 reg_value;
58 u32 reg_bitmask;
59 u32 reg_index;
60
61 irq -= EMMA2RH_IRQ_BASE;
62
63 reg_index = EMMA2RH_BHIF_INT_EN_0 +
64 (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32);
65 reg_value = emma2rh_in32(reg_index);
66 reg_bitmask = 0x1 << (irq % 32);
67 emma2rh_out32(reg_index, reg_value & ~reg_bitmask);
68}
69
70struct irq_chip emma2rh_irq_controller = {
71 .name = "emma2rh_irq",
72 .ack = emma2rh_irq_disable,
73 .mask = emma2rh_irq_disable,
74 .mask_ack = emma2rh_irq_disable,
75 .unmask = emma2rh_irq_enable,
76};
77
78void emma2rh_irq_init(void)
79{
80 u32 i;
81
82 for (i = 0; i < NUM_EMMA2RH_IRQ; i++)
83 set_irq_chip_and_handler(EMMA2RH_IRQ_BASE + i,
84 &emma2rh_irq_controller,
85 handle_level_irq);
86}
87
88static void emma2rh_sw_irq_enable(unsigned int irq)
89{
90 u32 reg;
91
92 irq -= EMMA2RH_SW_IRQ_BASE;
93
94 reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
95 reg |= 1 << irq;
96 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);
97}
98
99static void emma2rh_sw_irq_disable(unsigned int irq)
100{
101 u32 reg;
102
103 irq -= EMMA2RH_SW_IRQ_BASE;
104
105 reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
106 reg &= ~(1 << irq);
107 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);
108}
109
110struct irq_chip emma2rh_sw_irq_controller = {
111 .name = "emma2rh_sw_irq",
112 .ack = emma2rh_sw_irq_disable,
113 .mask = emma2rh_sw_irq_disable,
114 .mask_ack = emma2rh_sw_irq_disable,
115 .unmask = emma2rh_sw_irq_enable,
116};
117
118void emma2rh_sw_irq_init(void)
119{
120 u32 i;
121
122 for (i = 0; i < NUM_EMMA2RH_IRQ_SW; i++)
123 set_irq_chip_and_handler(EMMA2RH_SW_IRQ_BASE + i,
124 &emma2rh_sw_irq_controller,
125 handle_level_irq);
126}
127
128static void emma2rh_gpio_irq_enable(unsigned int irq)
129{
130 u32 reg;
131
132 irq -= EMMA2RH_GPIO_IRQ_BASE;
133
134 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
135 reg |= 1 << irq;
136 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
137}
138
139static void emma2rh_gpio_irq_disable(unsigned int irq)
140{
141 u32 reg;
142
143 irq -= EMMA2RH_GPIO_IRQ_BASE;
144
145 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
146 reg &= ~(1 << irq);
147 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
148}
149
150static void emma2rh_gpio_irq_ack(unsigned int irq)
151{
152 u32 reg;
153
154 irq -= EMMA2RH_GPIO_IRQ_BASE;
155 emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));
156
157 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
158 reg &= ~(1 << irq);
159 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
160}
161
162static void emma2rh_gpio_irq_end(unsigned int irq)
163{
164 u32 reg;
165
166 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
167
168 irq -= EMMA2RH_GPIO_IRQ_BASE;
169
170 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
171 reg |= 1 << irq;
172 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
173 }
174}
175
176struct irq_chip emma2rh_gpio_irq_controller = {
177 .name = "emma2rh_gpio_irq",
178 .ack = emma2rh_gpio_irq_ack,
179 .mask = emma2rh_gpio_irq_disable,
180 .mask_ack = emma2rh_gpio_irq_ack,
181 .unmask = emma2rh_gpio_irq_enable,
182 .end = emma2rh_gpio_irq_end,
183};
184
185void emma2rh_gpio_irq_init(void)
186{
187 u32 i;
188
189 for (i = 0; i < NUM_EMMA2RH_IRQ_GPIO; i++)
190 set_irq_chip(EMMA2RH_GPIO_IRQ_BASE + i,
191 &emma2rh_gpio_irq_controller);
192}
193
194static struct irqaction irq_cascade = {
195 .handler = no_action,
196 .flags = 0,
197 .mask = CPU_MASK_NONE,
198 .name = "cascade",
199 .dev_id = NULL,
200 .next = NULL,
201};
202
203/*
204 * the first level int-handler will jump here if it is a emma2rh irq
205 */
206void emma2rh_irq_dispatch(void)
207{
208 u32 intStatus;
209 u32 bitmask;
210 u32 i;
211
212 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_0) &
213 emma2rh_in32(EMMA2RH_BHIF_INT_EN_0);
214
215#ifdef EMMA2RH_SW_CASCADE
216 if (intStatus &
217 (1 << ((EMMA2RH_SW_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {
218 u32 swIntStatus;
219 swIntStatus = emma2rh_in32(EMMA2RH_BHIF_SW_INT)
220 & emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
221 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
222 if (swIntStatus & bitmask) {
223 do_IRQ(EMMA2RH_SW_IRQ_BASE + i);
224 return;
225 }
226 }
227 }
228#endif
229
230 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
231 if (intStatus & bitmask) {
232 do_IRQ(EMMA2RH_IRQ_BASE + i);
233 return;
234 }
235 }
236
237 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_1) &
238 emma2rh_in32(EMMA2RH_BHIF_INT_EN_1);
239
240#ifdef EMMA2RH_GPIO_CASCADE
241 if (intStatus &
242 (1 << ((EMMA2RH_GPIO_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {
243 u32 gpioIntStatus;
244 gpioIntStatus = emma2rh_in32(EMMA2RH_GPIO_INT_ST)
245 & emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
246 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
247 if (gpioIntStatus & bitmask) {
248 do_IRQ(EMMA2RH_GPIO_IRQ_BASE + i);
249 return;
250 }
251 }
252 }
253#endif
254
255 for (i = 32, bitmask = 1; i < 64; i++, bitmask <<= 1) {
256 if (intStatus & bitmask) {
257 do_IRQ(EMMA2RH_IRQ_BASE + i);
258 return;
259 }
260 }
261
262 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_2) &
263 emma2rh_in32(EMMA2RH_BHIF_INT_EN_2);
264
265 for (i = 64, bitmask = 1; i < 96; i++, bitmask <<= 1) {
266 if (intStatus & bitmask) {
267 do_IRQ(EMMA2RH_IRQ_BASE + i);
268 return;
269 }
270 }
271}
272
273void __init arch_init_irq(void)
274{
275 u32 reg;
276
277 /* by default, interrupts are disabled. */
278 emma2rh_out32(EMMA2RH_BHIF_INT_EN_0, 0);
279 emma2rh_out32(EMMA2RH_BHIF_INT_EN_1, 0);
280 emma2rh_out32(EMMA2RH_BHIF_INT_EN_2, 0);
281 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_0, 0);
282 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_1, 0);
283 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_2, 0);
284 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, 0);
285
286 clear_c0_status(0xff00);
287 set_c0_status(0x0400);
288
289#define GPIO_PCI (0xf<<15)
290 /* setup GPIO interrupt for PCI interface */
291 /* direction input */
292 reg = emma2rh_in32(EMMA2RH_GPIO_DIR);
293 emma2rh_out32(EMMA2RH_GPIO_DIR, reg & ~GPIO_PCI);
294 /* disable interrupt */
295 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
296 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg & ~GPIO_PCI);
297 /* level triggerd */
298 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MODE);
299 emma2rh_out32(EMMA2RH_GPIO_INT_MODE, reg | GPIO_PCI);
300 reg = emma2rh_in32(EMMA2RH_GPIO_INT_CND_A);
301 emma2rh_out32(EMMA2RH_GPIO_INT_CND_A, reg & (~GPIO_PCI));
302 /* interrupt clear */
303 emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~GPIO_PCI);
304
305 /* init all controllers */
306 emma2rh_irq_init();
307 emma2rh_sw_irq_init();
308 emma2rh_gpio_irq_init();
309 mips_cpu_irq_init();
310
311 /* setup cascade interrupts */
312 setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_SW_CASCADE, &irq_cascade);
313 setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_GPIO_CASCADE, &irq_cascade);
314 setup_irq(CPU_IRQ_BASE + CPU_EMMA2RH_CASCADE, &irq_cascade);
315}
316
317asmlinkage void plat_irq_dispatch(void)
318{
319 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
320
321 if (pending & STATUSF_IP7)
322 do_IRQ(CPU_IRQ_BASE + 7);
323 else if (pending & STATUSF_IP2)
324 emma2rh_irq_dispatch();
325 else if (pending & STATUSF_IP1)
326 do_IRQ(CPU_IRQ_BASE + 1);
327 else if (pending & STATUSF_IP0)
328 do_IRQ(CPU_IRQ_BASE + 0);
329 else
330 spurious_interrupt();
331}
diff --git a/arch/mips/emma2rh/markeins/led.c b/arch/mips/emma/markeins/led.c
index b65254c1bfe9..377a181b6561 100644
--- a/arch/mips/emma2rh/markeins/led.c
+++ b/arch/mips/emma/markeins/led.c
@@ -21,7 +21,7 @@
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/types.h> 22#include <linux/types.h>
23#include <linux/string.h> 23#include <linux/string.h>
24#include <asm/emma2rh/emma2rh.h> 24#include <asm/emma/emma2rh.h>
25 25
26const unsigned long clear = 0x20202020; 26const unsigned long clear = 0x20202020;
27 27
diff --git a/arch/mips/emma2rh/markeins/platform.c b/arch/mips/emma/markeins/platform.c
index fb9cda253ab0..88e87f6b3442 100644
--- a/arch/mips/emma2rh/markeins/platform.c
+++ b/arch/mips/emma/markeins/platform.c
@@ -36,7 +36,7 @@
36#include <asm/reboot.h> 36#include <asm/reboot.h>
37#include <asm/traps.h> 37#include <asm/traps.h>
38 38
39#include <asm/emma2rh/emma2rh.h> 39#include <asm/emma/emma2rh.h>
40 40
41 41
42#define I2C_EMMA2RH "emma2rh-iic" /* must be in sync with IIC driver */ 42#define I2C_EMMA2RH "emma2rh-iic" /* must be in sync with IIC driver */
diff --git a/arch/mips/emma2rh/markeins/setup.c b/arch/mips/emma/markeins/setup.c
index b6a23ad539f8..67f456500084 100644
--- a/arch/mips/emma2rh/markeins/setup.c
+++ b/arch/mips/emma/markeins/setup.c
@@ -29,7 +29,7 @@
29#include <asm/time.h> 29#include <asm/time.h>
30#include <asm/reboot.h> 30#include <asm/reboot.h>
31 31
32#include <asm/emma2rh/emma2rh.h> 32#include <asm/emma/emma2rh.h>
33 33
34#define USE_CPU_COUNTER_TIMER /* whether we use cpu counter */ 34#define USE_CPU_COUNTER_TIMER /* whether we use cpu counter */
35 35
diff --git a/arch/mips/emma2rh/common/irq.c b/arch/mips/emma2rh/common/irq.c
deleted file mode 100644
index 91cbd959ab67..000000000000
--- a/arch/mips/emma2rh/common/irq.c
+++ /dev/null
@@ -1,105 +0,0 @@
1/*
2 * arch/mips/emma2rh/common/irq.c
3 * This file is common irq dispatcher.
4 *
5 * Copyright (C) NEC Electronics Corporation 2005-2006
6 *
7 * This file is based on the arch/mips/ddb5xxx/ddb5477/irq.c
8 *
9 * Copyright 2001 MontaVista Software Inc.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25#include <linux/init.h>
26#include <linux/interrupt.h>
27#include <linux/irq.h>
28#include <linux/types.h>
29
30#include <asm/system.h>
31#include <asm/mipsregs.h>
32#include <asm/addrspace.h>
33#include <asm/bootinfo.h>
34
35#include <asm/emma2rh/emma2rh.h>
36
37/*
38 * the first level int-handler will jump here if it is a emma2rh irq
39 */
40void emma2rh_irq_dispatch(void)
41{
42 u32 intStatus;
43 u32 bitmask;
44 u32 i;
45
46 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_0)
47 & emma2rh_in32(EMMA2RH_BHIF_INT_EN_0);
48
49#ifdef EMMA2RH_SW_CASCADE
50 if (intStatus &
51 (1 << ((EMMA2RH_SW_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {
52 u32 swIntStatus;
53 swIntStatus = emma2rh_in32(EMMA2RH_BHIF_SW_INT)
54 & emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
55 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
56 if (swIntStatus & bitmask) {
57 do_IRQ(EMMA2RH_SW_IRQ_BASE + i);
58 return;
59 }
60 }
61 }
62#endif
63
64 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
65 if (intStatus & bitmask) {
66 do_IRQ(EMMA2RH_IRQ_BASE + i);
67 return;
68 }
69 }
70
71 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_1)
72 & emma2rh_in32(EMMA2RH_BHIF_INT_EN_1);
73
74#ifdef EMMA2RH_GPIO_CASCADE
75 if (intStatus &
76 (1 << ((EMMA2RH_GPIO_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {
77 u32 gpioIntStatus;
78 gpioIntStatus = emma2rh_in32(EMMA2RH_GPIO_INT_ST)
79 & emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
80 for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {
81 if (gpioIntStatus & bitmask) {
82 do_IRQ(EMMA2RH_GPIO_IRQ_BASE + i);
83 return;
84 }
85 }
86 }
87#endif
88
89 for (i = 32, bitmask = 1; i < 64; i++, bitmask <<= 1) {
90 if (intStatus & bitmask) {
91 do_IRQ(EMMA2RH_IRQ_BASE + i);
92 return;
93 }
94 }
95
96 intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_2)
97 & emma2rh_in32(EMMA2RH_BHIF_INT_EN_2);
98
99 for (i = 64, bitmask = 1; i < 96; i++, bitmask <<= 1) {
100 if (intStatus & bitmask) {
101 do_IRQ(EMMA2RH_IRQ_BASE + i);
102 return;
103 }
104 }
105}
diff --git a/arch/mips/emma2rh/common/irq_emma2rh.c b/arch/mips/emma2rh/common/irq_emma2rh.c
deleted file mode 100644
index 96df37b77759..000000000000
--- a/arch/mips/emma2rh/common/irq_emma2rh.c
+++ /dev/null
@@ -1,106 +0,0 @@
1/*
2 * arch/mips/emma2rh/common/irq_emma2rh.c
3 * This file defines the irq handler for EMMA2RH.
4 *
5 * Copyright (C) NEC Electronics Corporation 2005-2006
6 *
7 * This file is based on the arch/mips/ddb5xxx/ddb5477/irq_5477.c
8 *
9 * Copyright 2001 MontaVista Software Inc.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25
26/*
27 * EMMA2RH defines 64 IRQs.
28 *
29 * This file exports one function:
30 * emma2rh_irq_init(u32 irq_base);
31 */
32
33#include <linux/interrupt.h>
34#include <linux/types.h>
35#include <linux/ptrace.h>
36
37#include <asm/debug.h>
38
39#include <asm/emma2rh/emma2rh.h>
40
41/* number of total irqs supported by EMMA2RH */
42#define NUM_EMMA2RH_IRQ 96
43
44static int emma2rh_irq_base = -1;
45
46void ll_emma2rh_irq_enable(int);
47void ll_emma2rh_irq_disable(int);
48
49static void emma2rh_irq_enable(unsigned int irq)
50{
51 ll_emma2rh_irq_enable(irq - emma2rh_irq_base);
52}
53
54static void emma2rh_irq_disable(unsigned int irq)
55{
56 ll_emma2rh_irq_disable(irq - emma2rh_irq_base);
57}
58
59struct irq_chip emma2rh_irq_controller = {
60 .name = "emma2rh_irq",
61 .ack = emma2rh_irq_disable,
62 .mask = emma2rh_irq_disable,
63 .mask_ack = emma2rh_irq_disable,
64 .unmask = emma2rh_irq_enable,
65};
66
67void emma2rh_irq_init(u32 irq_base)
68{
69 u32 i;
70
71 for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ; i++)
72 set_irq_chip_and_handler(i, &emma2rh_irq_controller,
73 handle_level_irq);
74
75 emma2rh_irq_base = irq_base;
76}
77
78void ll_emma2rh_irq_enable(int emma2rh_irq)
79{
80 u32 reg_value;
81 u32 reg_bitmask;
82 u32 reg_index;
83
84 reg_index = EMMA2RH_BHIF_INT_EN_0
85 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0)
86 * (emma2rh_irq / 32);
87 reg_value = emma2rh_in32(reg_index);
88 reg_bitmask = 0x1 << (emma2rh_irq % 32);
89 db_assert((reg_value & reg_bitmask) == 0);
90 emma2rh_out32(reg_index, reg_value | reg_bitmask);
91}
92
93void ll_emma2rh_irq_disable(int emma2rh_irq)
94{
95 u32 reg_value;
96 u32 reg_bitmask;
97 u32 reg_index;
98
99 reg_index = EMMA2RH_BHIF_INT_EN_0
100 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0)
101 * (emma2rh_irq / 32);
102 reg_value = emma2rh_in32(reg_index);
103 reg_bitmask = 0x1 << (emma2rh_irq % 32);
104 db_assert((reg_value & reg_bitmask) != 0);
105 emma2rh_out32(reg_index, reg_value & ~reg_bitmask);
106}
diff --git a/arch/mips/emma2rh/markeins/irq.c b/arch/mips/emma2rh/markeins/irq.c
deleted file mode 100644
index 6bcf6a06367a..000000000000
--- a/arch/mips/emma2rh/markeins/irq.c
+++ /dev/null
@@ -1,132 +0,0 @@
1/*
2 * arch/mips/emma2rh/markeins/irq.c
3 * This file defines the irq handler for EMMA2RH.
4 *
5 * Copyright (C) NEC Electronics Corporation 2004-2006
6 *
7 * This file is based on the arch/mips/ddb5xxx/ddb5477/irq.c
8 *
9 * Copyright 2001 MontaVista Software Inc.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25#include <linux/init.h>
26#include <linux/interrupt.h>
27#include <linux/irq.h>
28#include <linux/types.h>
29#include <linux/ptrace.h>
30#include <linux/delay.h>
31
32#include <asm/irq_cpu.h>
33#include <asm/system.h>
34#include <asm/mipsregs.h>
35#include <asm/debug.h>
36#include <asm/addrspace.h>
37#include <asm/bootinfo.h>
38
39#include <asm/emma2rh/emma2rh.h>
40
41/*
42 * IRQ mapping
43 *
44 * 0-7: 8 CPU interrupts
45 * 0 - software interrupt 0
46 * 1 - software interrupt 1
47 * 2 - most Vrc5477 interrupts are routed to this pin
48 * 3 - (optional) some other interrupts routed to this pin for debugg
49 * 4 - not used
50 * 5 - not used
51 * 6 - not used
52 * 7 - cpu timer (used by default)
53 *
54 */
55
56extern void emma2rh_sw_irq_init(u32 base);
57extern void emma2rh_gpio_irq_init(u32 base);
58extern void emma2rh_irq_init(u32 base);
59extern void emma2rh_irq_dispatch(void);
60
61static struct irqaction irq_cascade = {
62 .handler = no_action,
63 .flags = 0,
64 .mask = CPU_MASK_NONE,
65 .name = "cascade",
66 .dev_id = NULL,
67 .next = NULL,
68};
69
70void __init arch_init_irq(void)
71{
72 u32 reg;
73
74 db_run(printk("markeins_irq_setup invoked.\n"));
75
76 /* by default, interrupts are disabled. */
77 emma2rh_out32(EMMA2RH_BHIF_INT_EN_0, 0);
78 emma2rh_out32(EMMA2RH_BHIF_INT_EN_1, 0);
79 emma2rh_out32(EMMA2RH_BHIF_INT_EN_2, 0);
80 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_0, 0);
81 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_1, 0);
82 emma2rh_out32(EMMA2RH_BHIF_INT1_EN_2, 0);
83 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, 0);
84
85 clear_c0_status(0xff00);
86 set_c0_status(0x0400);
87
88#define GPIO_PCI (0xf<<15)
89 /* setup GPIO interrupt for PCI interface */
90 /* direction input */
91 reg = emma2rh_in32(EMMA2RH_GPIO_DIR);
92 emma2rh_out32(EMMA2RH_GPIO_DIR, reg & ~GPIO_PCI);
93 /* disable interrupt */
94 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
95 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg & ~GPIO_PCI);
96 /* level triggerd */
97 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MODE);
98 emma2rh_out32(EMMA2RH_GPIO_INT_MODE, reg | GPIO_PCI);
99 reg = emma2rh_in32(EMMA2RH_GPIO_INT_CND_A);
100 emma2rh_out32(EMMA2RH_GPIO_INT_CND_A, reg & (~GPIO_PCI));
101 /* interrupt clear */
102 emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~GPIO_PCI);
103
104 /* init all controllers */
105 emma2rh_irq_init(EMMA2RH_IRQ_BASE);
106 emma2rh_sw_irq_init(EMMA2RH_SW_IRQ_BASE);
107 emma2rh_gpio_irq_init(EMMA2RH_GPIO_IRQ_BASE);
108 mips_cpu_irq_init();
109
110 /* setup cascade interrupts */
111 setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_SW_CASCADE, &irq_cascade);
112 setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_GPIO_CASCADE, &irq_cascade);
113 setup_irq(CPU_IRQ_BASE + CPU_EMMA2RH_CASCADE, &irq_cascade);
114}
115
116asmlinkage void plat_irq_dispatch(void)
117{
118 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
119
120 if (pending & STATUSF_IP7)
121 do_IRQ(CPU_IRQ_BASE + 7);
122 else if (pending & STATUSF_IP2)
123 emma2rh_irq_dispatch();
124 else if (pending & STATUSF_IP1)
125 do_IRQ(CPU_IRQ_BASE + 1);
126 else if (pending & STATUSF_IP0)
127 do_IRQ(CPU_IRQ_BASE + 0);
128 else
129 spurious_interrupt();
130}
131
132
diff --git a/arch/mips/emma2rh/markeins/irq_markeins.c b/arch/mips/emma2rh/markeins/irq_markeins.c
deleted file mode 100644
index fba5c156f472..000000000000
--- a/arch/mips/emma2rh/markeins/irq_markeins.c
+++ /dev/null
@@ -1,158 +0,0 @@
1/*
2 * arch/mips/emma2rh/markeins/irq_markeins.c
3 * This file defines the irq handler for Mark-eins.
4 *
5 * Copyright (C) NEC Electronics Corporation 2004-2006
6 *
7 * This file is based on the arch/mips/ddb5xxx/ddb5477/irq_5477.c
8 *
9 * Copyright 2001 MontaVista Software Inc.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25#include <linux/interrupt.h>
26#include <linux/irq.h>
27#include <linux/types.h>
28#include <linux/ptrace.h>
29
30#include <asm/debug.h>
31#include <asm/emma2rh/emma2rh.h>
32
33static int emma2rh_sw_irq_base = -1;
34static int emma2rh_gpio_irq_base = -1;
35
36void ll_emma2rh_sw_irq_enable(int reg);
37void ll_emma2rh_sw_irq_disable(int reg);
38void ll_emma2rh_gpio_irq_enable(int reg);
39void ll_emma2rh_gpio_irq_disable(int reg);
40
41static void emma2rh_sw_irq_enable(unsigned int irq)
42{
43 ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base);
44}
45
46static void emma2rh_sw_irq_disable(unsigned int irq)
47{
48 ll_emma2rh_sw_irq_disable(irq - emma2rh_sw_irq_base);
49}
50
51struct irq_chip emma2rh_sw_irq_controller = {
52 .name = "emma2rh_sw_irq",
53 .ack = emma2rh_sw_irq_disable,
54 .mask = emma2rh_sw_irq_disable,
55 .mask_ack = emma2rh_sw_irq_disable,
56 .unmask = emma2rh_sw_irq_enable,
57};
58
59void emma2rh_sw_irq_init(u32 irq_base)
60{
61 u32 i;
62
63 for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ_SW; i++)
64 set_irq_chip_and_handler(i, &emma2rh_sw_irq_controller,
65 handle_level_irq);
66
67 emma2rh_sw_irq_base = irq_base;
68}
69
70void ll_emma2rh_sw_irq_enable(int irq)
71{
72 u32 reg;
73
74 db_assert(irq >= 0);
75 db_assert(irq < NUM_EMMA2RH_IRQ_SW);
76
77 reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
78 reg |= 1 << irq;
79 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);
80}
81
82void ll_emma2rh_sw_irq_disable(int irq)
83{
84 u32 reg;
85
86 db_assert(irq >= 0);
87 db_assert(irq < 32);
88
89 reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);
90 reg &= ~(1 << irq);
91 emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);
92}
93
94static void emma2rh_gpio_irq_enable(unsigned int irq)
95{
96 ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base);
97}
98
99static void emma2rh_gpio_irq_disable(unsigned int irq)
100{
101 ll_emma2rh_gpio_irq_disable(irq - emma2rh_gpio_irq_base);
102}
103
104static void emma2rh_gpio_irq_ack(unsigned int irq)
105{
106 irq -= emma2rh_gpio_irq_base;
107 emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));
108 ll_emma2rh_gpio_irq_disable(irq);
109}
110
111static void emma2rh_gpio_irq_end(unsigned int irq)
112{
113 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
114 ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base);
115}
116
117struct irq_chip emma2rh_gpio_irq_controller = {
118 .name = "emma2rh_gpio_irq",
119 .ack = emma2rh_gpio_irq_ack,
120 .mask = emma2rh_gpio_irq_disable,
121 .mask_ack = emma2rh_gpio_irq_ack,
122 .unmask = emma2rh_gpio_irq_enable,
123 .end = emma2rh_gpio_irq_end,
124};
125
126void emma2rh_gpio_irq_init(u32 irq_base)
127{
128 u32 i;
129
130 for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ_GPIO; i++)
131 set_irq_chip(i, &emma2rh_gpio_irq_controller);
132
133 emma2rh_gpio_irq_base = irq_base;
134}
135
136void ll_emma2rh_gpio_irq_enable(int irq)
137{
138 u32 reg;
139
140 db_assert(irq >= 0);
141 db_assert(irq < NUM_EMMA2RH_IRQ_GPIO);
142
143 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
144 reg |= 1 << irq;
145 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
146}
147
148void ll_emma2rh_gpio_irq_disable(int irq)
149{
150 u32 reg;
151
152 db_assert(irq >= 0);
153 db_assert(irq < NUM_EMMA2RH_IRQ_GPIO);
154
155 reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
156 reg &= ~(1 << irq);
157 emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
158}
diff --git a/arch/mips/include/asm/bitops.h b/arch/mips/include/asm/bitops.h
index 49df8c4c9d25..bac4a960b24c 100644
--- a/arch/mips/include/asm/bitops.h
+++ b/arch/mips/include/asm/bitops.h
@@ -558,39 +558,67 @@ static inline void __clear_bit_unlock(unsigned long nr, volatile unsigned long *
558 __clear_bit(nr, addr); 558 __clear_bit(nr, addr);
559} 559}
560 560
561#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
562
563/* 561/*
564 * Return the bit position (0..63) of the most significant 1 bit in a word 562 * Return the bit position (0..63) of the most significant 1 bit in a word
565 * Returns -1 if no 1 bit exists 563 * Returns -1 if no 1 bit exists
566 */ 564 */
567static inline unsigned long __fls(unsigned long x) 565static inline unsigned long __fls(unsigned long word)
568{ 566{
569 int lz; 567 int num;
570 568
571 if (sizeof(x) == 4) { 569 if (BITS_PER_LONG == 32 &&
570 __builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) {
572 __asm__( 571 __asm__(
573 " .set push \n" 572 " .set push \n"
574 " .set mips32 \n" 573 " .set mips32 \n"
575 " clz %0, %1 \n" 574 " clz %0, %1 \n"
576 " .set pop \n" 575 " .set pop \n"
577 : "=r" (lz) 576 : "=r" (num)
578 : "r" (x)); 577 : "r" (word));
579 578
580 return 31 - lz; 579 return 31 - num;
581 } 580 }
582 581
583 BUG_ON(sizeof(x) != 8); 582 if (BITS_PER_LONG == 64 &&
583 __builtin_constant_p(cpu_has_mips64) && cpu_has_mips64) {
584 __asm__(
585 " .set push \n"
586 " .set mips64 \n"
587 " dclz %0, %1 \n"
588 " .set pop \n"
589 : "=r" (num)
590 : "r" (word));
584 591
585 __asm__( 592 return 63 - num;
586 " .set push \n" 593 }
587 " .set mips64 \n" 594
588 " dclz %0, %1 \n" 595 num = BITS_PER_LONG - 1;
589 " .set pop \n"
590 : "=r" (lz)
591 : "r" (x));
592 596
593 return 63 - lz; 597#if BITS_PER_LONG == 64
598 if (!(word & (~0ul << 32))) {
599 num -= 32;
600 word <<= 32;
601 }
602#endif
603 if (!(word & (~0ul << (BITS_PER_LONG-16)))) {
604 num -= 16;
605 word <<= 16;
606 }
607 if (!(word & (~0ul << (BITS_PER_LONG-8)))) {
608 num -= 8;
609 word <<= 8;
610 }
611 if (!(word & (~0ul << (BITS_PER_LONG-4)))) {
612 num -= 4;
613 word <<= 4;
614 }
615 if (!(word & (~0ul << (BITS_PER_LONG-2)))) {
616 num -= 2;
617 word <<= 2;
618 }
619 if (!(word & (~0ul << (BITS_PER_LONG-1))))
620 num -= 1;
621 return num;
594} 622}
595 623
596/* 624/*
@@ -612,23 +640,43 @@ static inline unsigned long __ffs(unsigned long word)
612 * This is defined the same way as ffs. 640 * This is defined the same way as ffs.
613 * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. 641 * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
614 */ 642 */
615static inline int fls(int word) 643static inline int fls(int x)
616{ 644{
617 __asm__("clz %0, %1" : "=r" (word) : "r" (word)); 645 int r;
618 646
619 return 32 - word; 647 if (__builtin_constant_p(cpu_has_mips_r) && cpu_has_mips_r) {
620} 648 __asm__("clz %0, %1" : "=r" (x) : "r" (x));
621 649
622#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPS64) 650 return 32 - x;
623static inline int fls64(__u64 word) 651 }
624{
625 __asm__("dclz %0, %1" : "=r" (word) : "r" (word));
626 652
627 return 64 - word; 653 r = 32;
654 if (!x)
655 return 0;
656 if (!(x & 0xffff0000u)) {
657 x <<= 16;
658 r -= 16;
659 }
660 if (!(x & 0xff000000u)) {
661 x <<= 8;
662 r -= 8;
663 }
664 if (!(x & 0xf0000000u)) {
665 x <<= 4;
666 r -= 4;
667 }
668 if (!(x & 0xc0000000u)) {
669 x <<= 2;
670 r -= 2;
671 }
672 if (!(x & 0x80000000u)) {
673 x <<= 1;
674 r -= 1;
675 }
676 return r;
628} 677}
629#else 678
630#include <asm-generic/bitops/fls64.h> 679#include <asm-generic/bitops/fls64.h>
631#endif
632 680
633/* 681/*
634 * ffs - find first bit set. 682 * ffs - find first bit set.
@@ -646,16 +694,6 @@ static inline int ffs(int word)
646 return fls(word & -word); 694 return fls(word & -word);
647} 695}
648 696
649#else
650
651#include <asm-generic/bitops/__ffs.h>
652#include <asm-generic/bitops/__fls.h>
653#include <asm-generic/bitops/ffs.h>
654#include <asm-generic/bitops/fls.h>
655#include <asm-generic/bitops/fls64.h>
656
657#endif /*defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) */
658
659#include <asm-generic/bitops/ffz.h> 697#include <asm-generic/bitops/ffz.h>
660#include <asm-generic/bitops/find.h> 698#include <asm-generic/bitops/find.h>
661 699
diff --git a/arch/mips/include/asm/break.h b/arch/mips/include/asm/break.h
index 25b980c91e7e..44437ed765e8 100644
--- a/arch/mips/include/asm/break.h
+++ b/arch/mips/include/asm/break.h
@@ -29,6 +29,7 @@
29#define _BRK_THREADBP 11 /* For threads, user bp (used by debuggers) */ 29#define _BRK_THREADBP 11 /* For threads, user bp (used by debuggers) */
30#define BRK_BUG 512 /* Used by BUG() */ 30#define BRK_BUG 512 /* Used by BUG() */
31#define BRK_KDB 513 /* Used in KDB_ENTER() */ 31#define BRK_KDB 513 /* Used in KDB_ENTER() */
32#define BRK_MEMU 514 /* Used by FPU emulator */
32#define BRK_MULOVF 1023 /* Multiply overflow */ 33#define BRK_MULOVF 1023 /* Multiply overflow */
33 34
34#endif /* __ASM_BREAK_H */ 35#endif /* __ASM_BREAK_H */
diff --git a/arch/mips/include/asm/byteorder.h b/arch/mips/include/asm/byteorder.h
index fe7dc2d59b69..2988d29a0867 100644
--- a/arch/mips/include/asm/byteorder.h
+++ b/arch/mips/include/asm/byteorder.h
@@ -11,11 +11,19 @@
11#include <linux/compiler.h> 11#include <linux/compiler.h>
12#include <asm/types.h> 12#include <asm/types.h>
13 13
14#ifdef __GNUC__ 14#if defined(__MIPSEB__)
15# define __BIG_ENDIAN
16#elif defined(__MIPSEL__)
17# define __LITTLE_ENDIAN
18#else
19# error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???"
20#endif
21
22#define __SWAB_64_THRU_32__
15 23
16#ifdef CONFIG_CPU_MIPSR2 24#ifdef CONFIG_CPU_MIPSR2
17 25
18static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x) 26static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
19{ 27{
20 __asm__( 28 __asm__(
21 " wsbh %0, %1 \n" 29 " wsbh %0, %1 \n"
@@ -24,9 +32,9 @@ static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
24 32
25 return x; 33 return x;
26} 34}
27#define __arch__swab16(x) ___arch__swab16(x) 35#define __arch_swab16 __arch_swab16
28 36
29static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x) 37static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
30{ 38{
31 __asm__( 39 __asm__(
32 " wsbh %0, %1 \n" 40 " wsbh %0, %1 \n"
@@ -36,11 +44,10 @@ static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
36 44
37 return x; 45 return x;
38} 46}
39#define __arch__swab32(x) ___arch__swab32(x) 47#define __arch_swab32 __arch_swab32
40 48
41#ifdef CONFIG_CPU_MIPS64_R2 49#ifdef CONFIG_CPU_MIPS64_R2
42 50static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
43static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x)
44{ 51{
45 __asm__( 52 __asm__(
46 " dsbh %0, %1 \n" 53 " dsbh %0, %1 \n"
@@ -51,26 +58,11 @@ static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x)
51 58
52 return x; 59 return x;
53} 60}
54 61#define __arch_swab64 __arch_swab64
55#define __arch__swab64(x) ___arch__swab64(x)
56
57#endif /* CONFIG_CPU_MIPS64_R2 */ 62#endif /* CONFIG_CPU_MIPS64_R2 */
58 63
59#endif /* CONFIG_CPU_MIPSR2 */ 64#endif /* CONFIG_CPU_MIPSR2 */
60 65
61#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) 66#include <linux/byteorder.h>
62# define __BYTEORDER_HAS_U64__
63# define __SWAB_64_THRU_32__
64#endif
65
66#endif /* __GNUC__ */
67
68#if defined(__MIPSEB__)
69# include <linux/byteorder/big_endian.h>
70#elif defined(__MIPSEL__)
71# include <linux/byteorder/little_endian.h>
72#else
73# error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???"
74#endif
75 67
76#endif /* _ASM_BYTEORDER_H */ 68#endif /* _ASM_BYTEORDER_H */
diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
index 5ea701fc3425..12d12dfe73c0 100644
--- a/arch/mips/include/asm/cpu-features.h
+++ b/arch/mips/include/asm/cpu-features.h
@@ -141,6 +141,8 @@
141#define cpu_has_mips64 (cpu_has_mips64r1 | cpu_has_mips64r2) 141#define cpu_has_mips64 (cpu_has_mips64r1 | cpu_has_mips64r2)
142#define cpu_has_mips_r1 (cpu_has_mips32r1 | cpu_has_mips64r1) 142#define cpu_has_mips_r1 (cpu_has_mips32r1 | cpu_has_mips64r1)
143#define cpu_has_mips_r2 (cpu_has_mips32r2 | cpu_has_mips64r2) 143#define cpu_has_mips_r2 (cpu_has_mips32r2 | cpu_has_mips64r2)
144#define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \
145 cpu_has_mips64r1 | cpu_has_mips64r2)
144 146
145#ifndef cpu_has_dsp 147#ifndef cpu_has_dsp
146#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) 148#define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP)
diff --git a/arch/mips/include/asm/ds1286.h b/arch/mips/include/asm/ds1286.h
deleted file mode 100644
index 6983b6ff0af3..000000000000
--- a/arch/mips/include/asm/ds1286.h
+++ /dev/null
@@ -1,15 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Machine dependent access functions for RTC registers.
7 *
8 * Copyright (C) 2003 Ralf Baechle (ralf@linux-mips.org)
9 */
10#ifndef _ASM_DS1286_H
11#define _ASM_DS1286_H
12
13#include <ds1286.h>
14
15#endif /* _ASM_DS1286_H */
diff --git a/arch/mips/include/asm/emma2rh/emma2rh.h b/arch/mips/include/asm/emma/emma2rh.h
index 6a1af0af51e3..30aea91de626 100644
--- a/arch/mips/include/asm/emma2rh/emma2rh.h
+++ b/arch/mips/include/asm/emma/emma2rh.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * include/asm-mips/emma2rh/emma2rh.h 2 * arch/mips/include/asm/emma/emma2rh.h
3 * This file is EMMA2RH common header. 3 * This file is EMMA2RH common header.
4 * 4 *
5 * Copyright (C) NEC Electronics Corporation 2005-2006 5 * Copyright (C) NEC Electronics Corporation 2005-2006
@@ -21,8 +21,8 @@
21 * along with this program; if not, write to the Free Software 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 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */ 23 */
24#ifndef __ASM_EMMA2RH_EMMA2RH_H 24#ifndef __ASM_EMMA_EMMA2RH_H
25#define __ASM_EMMA2RH_EMMA2RH_H 25#define __ASM_EMMA_EMMA2RH_H
26 26
27#include <irq.h> 27#include <irq.h>
28 28
@@ -206,7 +206,6 @@ static inline void emma2rh_out32(u32 offset, u32 val)
206static inline u32 emma2rh_in32(u32 offset) 206static inline u32 emma2rh_in32(u32 offset)
207{ 207{
208 u32 val = *(volatile u32 *)(EMMA2RH_BASE | offset); 208 u32 val = *(volatile u32 *)(EMMA2RH_BASE | offset);
209 emma2rh_sync();
210 return val; 209 return val;
211} 210}
212 211
@@ -219,7 +218,6 @@ static inline void emma2rh_out16(u32 offset, u16 val)
219static inline u16 emma2rh_in16(u32 offset) 218static inline u16 emma2rh_in16(u32 offset)
220{ 219{
221 u16 val = *(volatile u16 *)(EMMA2RH_BASE | offset); 220 u16 val = *(volatile u16 *)(EMMA2RH_BASE | offset);
222 emma2rh_sync();
223 return val; 221 return val;
224} 222}
225 223
@@ -232,7 +230,6 @@ static inline void emma2rh_out8(u32 offset, u8 val)
232static inline u8 emma2rh_in8(u32 offset) 230static inline u8 emma2rh_in8(u32 offset)
233{ 231{
234 u8 val = *(volatile u8 *)(EMMA2RH_BASE | offset); 232 u8 val = *(volatile u8 *)(EMMA2RH_BASE | offset);
235 emma2rh_sync();
236 return val; 233 return val;
237} 234}
238 235
@@ -324,10 +321,10 @@ static inline u8 emma2rh_in8(u32 offset)
324/* 321/*
325 * include the board dependent part 322 * include the board dependent part
326 */ 323 */
327#if defined(CONFIG_MARKEINS) 324#ifdef CONFIG_NEC_MARKEINS
328#include <asm/emma2rh/markeins.h> 325#include <asm/emma/markeins.h>
329#else 326#else
330#error "Unknown EMMA2RH board!" 327#error "Unknown EMMA2RH board!"
331#endif 328#endif
332 329
333#endif /* __ASM_EMMA2RH_EMMA2RH_H */ 330#endif /* __ASM_EMMA_EMMA2RH_H */
diff --git a/arch/mips/include/asm/emma2rh/markeins.h b/arch/mips/include/asm/emma/markeins.h
index 973b0628490d..973b0628490d 100644
--- a/arch/mips/include/asm/emma2rh/markeins.h
+++ b/arch/mips/include/asm/emma/markeins.h
diff --git a/arch/mips/include/asm/fpu_emulator.h b/arch/mips/include/asm/fpu_emulator.h
index 2731c38bd7ae..e5189572956c 100644
--- a/arch/mips/include/asm/fpu_emulator.h
+++ b/arch/mips/include/asm/fpu_emulator.h
@@ -23,6 +23,9 @@
23#ifndef _ASM_FPU_EMULATOR_H 23#ifndef _ASM_FPU_EMULATOR_H
24#define _ASM_FPU_EMULATOR_H 24#define _ASM_FPU_EMULATOR_H
25 25
26#include <asm/break.h>
27#include <asm/inst.h>
28
26struct mips_fpu_emulator_stats { 29struct mips_fpu_emulator_stats {
27 unsigned int emulated; 30 unsigned int emulated;
28 unsigned int loads; 31 unsigned int loads;
@@ -34,4 +37,18 @@ struct mips_fpu_emulator_stats {
34 37
35extern struct mips_fpu_emulator_stats fpuemustats; 38extern struct mips_fpu_emulator_stats fpuemustats;
36 39
40extern int mips_dsemul(struct pt_regs *regs, mips_instruction ir,
41 unsigned long cpc);
42extern int do_dsemulret(struct pt_regs *xcp);
43
44/*
45 * Instruction inserted following the badinst to further tag the sequence
46 */
47#define BD_COOKIE 0x0000bd36 /* tne $0, $0 with baggage */
48
49/*
50 * Break instruction with special math emu break code set
51 */
52#define BREAK_MATH (0x0000000d | (BRK_MEMU << 16))
53
37#endif /* _ASM_FPU_EMULATOR_H */ 54#endif /* _ASM_FPU_EMULATOR_H */
diff --git a/arch/mips/include/asm/m48t35.h b/arch/mips/include/asm/m48t35.h
deleted file mode 100644
index f44852e9a96d..000000000000
--- a/arch/mips/include/asm/m48t35.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/*
2 * Registers for the SGS-Thomson M48T35 Timekeeper RAM chip
3 */
4#ifndef _ASM_M48T35_H
5#define _ASM_M48T35_H
6
7#include <linux/spinlock.h>
8
9extern spinlock_t rtc_lock;
10
11struct m48t35_rtc {
12 volatile u8 pad[0x7ff8]; /* starts at 0x7ff8 */
13 volatile u8 control;
14 volatile u8 sec;
15 volatile u8 min;
16 volatile u8 hour;
17 volatile u8 day;
18 volatile u8 date;
19 volatile u8 month;
20 volatile u8 year;
21};
22
23#define M48T35_RTC_SET 0x80
24#define M48T35_RTC_STOPPED 0x80
25#define M48T35_RTC_READ 0x40
26
27#endif /* _ASM_M48T35_H */
diff --git a/arch/mips/include/asm/mach-lemote/pci.h b/arch/mips/include/asm/mach-lemote/pci.h
new file mode 100644
index 000000000000..ea6aa143b78e
--- /dev/null
+++ b/arch/mips/include/asm/mach-lemote/pci.h
@@ -0,0 +1,30 @@
1/*
2 * Copyright (c) 2008 Zhang Le <r0bertz@gentoo.org>
3 *
4 * This program is free software; you can redistribute it
5 * and/or modify it under the terms of the GNU General
6 * Public License as published by the Free Software
7 * Foundation; either version 2 of the License, or (at your
8 * option) any later version.
9 *
10 * This program is distributed in the hope that it will be
11 * useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 * PURPOSE. See the GNU General Public License for more
14 * details.
15 *
16 * You should have received a copy of the GNU General Public
17 * License along with this program; if not, write to the Free
18 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
19 * 02139, USA.
20 */
21
22#ifndef _LEMOTE_PCI_H_
23#define _LEMOTE_PCI_H_
24
25#define LOONGSON2E_PCI_MEM_START 0x14000000UL
26#define LOONGSON2E_PCI_MEM_END 0x1fffffffUL
27#define LOONGSON2E_PCI_IO_START 0x00004000UL
28#define LOONGSON2E_IO_PORT_BASE 0x1fd00000UL
29
30#endif /* !_LEMOTE_PCI_H_ */
diff --git a/arch/mips/include/asm/mach-pnx833x/gpio.h b/arch/mips/include/asm/mach-pnx833x/gpio.h
new file mode 100644
index 000000000000..8de0eb9c98a3
--- /dev/null
+++ b/arch/mips/include/asm/mach-pnx833x/gpio.h
@@ -0,0 +1,172 @@
1/*
2 * gpio.h: GPIO Support for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.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 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#ifndef __ASM_MIPS_MACH_PNX833X_GPIO_H
23#define __ASM_MIPS_MACH_PNX833X_GPIO_H
24
25/* BIG FAT WARNING: races danger!
26 No protections exist here. Current users are only early init code,
27 when locking is not needed because no cuncurency yet exists there,
28 and GPIO IRQ dispatcher, which does locking.
29 However, if many uses will ever happen, proper locking will be needed
30 - including locking between different uses
31*/
32
33#include "pnx833x.h"
34
35#define SET_REG_BIT(reg, bit) do { (reg |= (1 << (bit))); } while (0)
36#define CLEAR_REG_BIT(reg, bit) do { (reg &= ~(1 << (bit))); } while (0)
37
38/* Initialize GPIO to a known state */
39static inline void pnx833x_gpio_init(void)
40{
41 PNX833X_PIO_DIR = 0;
42 PNX833X_PIO_DIR2 = 0;
43 PNX833X_PIO_SEL = 0;
44 PNX833X_PIO_SEL2 = 0;
45 PNX833X_PIO_INT_EDGE = 0;
46 PNX833X_PIO_INT_HI = 0;
47 PNX833X_PIO_INT_LO = 0;
48
49 /* clear any GPIO interrupt requests */
50 PNX833X_PIO_INT_CLEAR = 0xffff;
51 PNX833X_PIO_INT_CLEAR = 0;
52 PNX833X_PIO_INT_ENABLE = 0;
53}
54
55/* Select GPIO direction for a pin */
56static inline void pnx833x_gpio_select_input(unsigned int pin)
57{
58 if (pin < 32)
59 CLEAR_REG_BIT(PNX833X_PIO_DIR, pin);
60 else
61 CLEAR_REG_BIT(PNX833X_PIO_DIR2, pin & 31);
62}
63static inline void pnx833x_gpio_select_output(unsigned int pin)
64{
65 if (pin < 32)
66 SET_REG_BIT(PNX833X_PIO_DIR, pin);
67 else
68 SET_REG_BIT(PNX833X_PIO_DIR2, pin & 31);
69}
70
71/* Select GPIO or alternate function for a pin */
72static inline void pnx833x_gpio_select_function_io(unsigned int pin)
73{
74 if (pin < 32)
75 CLEAR_REG_BIT(PNX833X_PIO_SEL, pin);
76 else
77 CLEAR_REG_BIT(PNX833X_PIO_SEL2, pin & 31);
78}
79static inline void pnx833x_gpio_select_function_alt(unsigned int pin)
80{
81 if (pin < 32)
82 SET_REG_BIT(PNX833X_PIO_SEL, pin);
83 else
84 SET_REG_BIT(PNX833X_PIO_SEL2, pin & 31);
85}
86
87/* Read GPIO pin */
88static inline int pnx833x_gpio_read(unsigned int pin)
89{
90 if (pin < 32)
91 return (PNX833X_PIO_IN >> pin) & 1;
92 else
93 return (PNX833X_PIO_IN2 >> (pin & 31)) & 1;
94}
95
96/* Write GPIO pin */
97static inline void pnx833x_gpio_write(unsigned int val, unsigned int pin)
98{
99 if (pin < 32) {
100 if (val)
101 SET_REG_BIT(PNX833X_PIO_OUT, pin);
102 else
103 CLEAR_REG_BIT(PNX833X_PIO_OUT, pin);
104 } else {
105 if (val)
106 SET_REG_BIT(PNX833X_PIO_OUT2, pin & 31);
107 else
108 CLEAR_REG_BIT(PNX833X_PIO_OUT2, pin & 31);
109 }
110}
111
112/* Configure GPIO interrupt */
113#define GPIO_INT_NONE 0
114#define GPIO_INT_LEVEL_LOW 1
115#define GPIO_INT_LEVEL_HIGH 2
116#define GPIO_INT_EDGE_RISING 3
117#define GPIO_INT_EDGE_FALLING 4
118#define GPIO_INT_EDGE_BOTH 5
119static inline void pnx833x_gpio_setup_irq(int when, unsigned int pin)
120{
121 switch (when) {
122 case GPIO_INT_LEVEL_LOW:
123 CLEAR_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
124 CLEAR_REG_BIT(PNX833X_PIO_INT_HI, pin);
125 SET_REG_BIT(PNX833X_PIO_INT_LO, pin);
126 break;
127 case GPIO_INT_LEVEL_HIGH:
128 CLEAR_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
129 SET_REG_BIT(PNX833X_PIO_INT_HI, pin);
130 CLEAR_REG_BIT(PNX833X_PIO_INT_LO, pin);
131 break;
132 case GPIO_INT_EDGE_RISING:
133 SET_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
134 SET_REG_BIT(PNX833X_PIO_INT_HI, pin);
135 CLEAR_REG_BIT(PNX833X_PIO_INT_LO, pin);
136 break;
137 case GPIO_INT_EDGE_FALLING:
138 SET_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
139 CLEAR_REG_BIT(PNX833X_PIO_INT_HI, pin);
140 SET_REG_BIT(PNX833X_PIO_INT_LO, pin);
141 break;
142 case GPIO_INT_EDGE_BOTH:
143 SET_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
144 SET_REG_BIT(PNX833X_PIO_INT_HI, pin);
145 SET_REG_BIT(PNX833X_PIO_INT_LO, pin);
146 break;
147 default:
148 CLEAR_REG_BIT(PNX833X_PIO_INT_EDGE, pin);
149 CLEAR_REG_BIT(PNX833X_PIO_INT_HI, pin);
150 CLEAR_REG_BIT(PNX833X_PIO_INT_LO, pin);
151 break;
152 }
153}
154
155/* Enable/disable GPIO interrupt */
156static inline void pnx833x_gpio_enable_irq(unsigned int pin)
157{
158 SET_REG_BIT(PNX833X_PIO_INT_ENABLE, pin);
159}
160static inline void pnx833x_gpio_disable_irq(unsigned int pin)
161{
162 CLEAR_REG_BIT(PNX833X_PIO_INT_ENABLE, pin);
163}
164
165/* Clear GPIO interrupt request */
166static inline void pnx833x_gpio_clear_irq(unsigned int pin)
167{
168 SET_REG_BIT(PNX833X_PIO_INT_CLEAR, pin);
169 CLEAR_REG_BIT(PNX833X_PIO_INT_CLEAR, pin);
170}
171
172#endif
diff --git a/arch/mips/include/asm/mach-pnx833x/irq-mapping.h b/arch/mips/include/asm/mach-pnx833x/irq-mapping.h
new file mode 100644
index 000000000000..657f089b1724
--- /dev/null
+++ b/arch/mips/include/asm/mach-pnx833x/irq-mapping.h
@@ -0,0 +1,126 @@
1
2/*
3 * irq.h: IRQ mappings for PNX833X.
4 *
5 * Copyright 2008 NXP Semiconductors
6 * Chris Steel <chris.steel@nxp.com>
7 * Daniel Laird <daniel.j.laird@nxp.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 as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 */
23
24#ifndef __ASM_MIPS_MACH_PNX833X_IRQ_MAPPING_H
25#define __ASM_MIPS_MACH_PNX833X_IRQ_MAPPING_H
26/*
27 * The "IRQ numbers" are completely virtual.
28 *
29 * In PNX8330/1, we have 48 interrupt lines, numbered from 1 to 48.
30 * Let's use numbers 1..48 for PIC interrupts, number 0 for timer interrupt,
31 * numbers 49..64 for (virtual) GPIO interrupts.
32 *
33 * In PNX8335, we have 57 interrupt lines, numbered from 1 to 57,
34 * connected to PIC, which uses core hardware interrupt 2, and also
35 * a timer interrupt through hardware interrupt 5.
36 * Let's use numbers 1..64 for PIC interrupts, number 0 for timer interrupt,
37 * numbers 65..80 for (virtual) GPIO interrupts.
38 *
39 */
40#include <irq.h>
41
42#define PNX833X_TIMER_IRQ (MIPS_CPU_IRQ_BASE + 7)
43
44/* Interrupts supported by PIC */
45#define PNX833X_PIC_I2C0_INT (PNX833X_PIC_IRQ_BASE + 1)
46#define PNX833X_PIC_I2C1_INT (PNX833X_PIC_IRQ_BASE + 2)
47#define PNX833X_PIC_UART0_INT (PNX833X_PIC_IRQ_BASE + 3)
48#define PNX833X_PIC_UART1_INT (PNX833X_PIC_IRQ_BASE + 4)
49#define PNX833X_PIC_TS_IN0_DV_INT (PNX833X_PIC_IRQ_BASE + 5)
50#define PNX833X_PIC_TS_IN0_DMA_INT (PNX833X_PIC_IRQ_BASE + 6)
51#define PNX833X_PIC_GPIO_INT (PNX833X_PIC_IRQ_BASE + 7)
52#define PNX833X_PIC_AUDIO_DEC_INT (PNX833X_PIC_IRQ_BASE + 8)
53#define PNX833X_PIC_VIDEO_DEC_INT (PNX833X_PIC_IRQ_BASE + 9)
54#define PNX833X_PIC_CONFIG_INT (PNX833X_PIC_IRQ_BASE + 10)
55#define PNX833X_PIC_AOI_INT (PNX833X_PIC_IRQ_BASE + 11)
56#define PNX833X_PIC_SYNC_INT (PNX833X_PIC_IRQ_BASE + 12)
57#define PNX8330_PIC_SPU_INT (PNX833X_PIC_IRQ_BASE + 13)
58#define PNX8335_PIC_SATA_INT (PNX833X_PIC_IRQ_BASE + 13)
59#define PNX833X_PIC_OSD_INT (PNX833X_PIC_IRQ_BASE + 14)
60#define PNX833X_PIC_DISP1_INT (PNX833X_PIC_IRQ_BASE + 15)
61#define PNX833X_PIC_DEINTERLACER_INT (PNX833X_PIC_IRQ_BASE + 16)
62#define PNX833X_PIC_DISPLAY2_INT (PNX833X_PIC_IRQ_BASE + 17)
63#define PNX833X_PIC_VC_INT (PNX833X_PIC_IRQ_BASE + 18)
64#define PNX833X_PIC_SC_INT (PNX833X_PIC_IRQ_BASE + 19)
65#define PNX833X_PIC_IDE_INT (PNX833X_PIC_IRQ_BASE + 20)
66#define PNX833X_PIC_IDE_DMA_INT (PNX833X_PIC_IRQ_BASE + 21)
67#define PNX833X_PIC_TS_IN1_DV_INT (PNX833X_PIC_IRQ_BASE + 22)
68#define PNX833X_PIC_TS_IN1_DMA_INT (PNX833X_PIC_IRQ_BASE + 23)
69#define PNX833X_PIC_SGDX_DMA_INT (PNX833X_PIC_IRQ_BASE + 24)
70#define PNX833X_PIC_TS_OUT_INT (PNX833X_PIC_IRQ_BASE + 25)
71#define PNX833X_PIC_IR_INT (PNX833X_PIC_IRQ_BASE + 26)
72#define PNX833X_PIC_VMSP1_INT (PNX833X_PIC_IRQ_BASE + 27)
73#define PNX833X_PIC_VMSP2_INT (PNX833X_PIC_IRQ_BASE + 28)
74#define PNX833X_PIC_PIBC_INT (PNX833X_PIC_IRQ_BASE + 29)
75#define PNX833X_PIC_TS_IN0_TRD_INT (PNX833X_PIC_IRQ_BASE + 30)
76#define PNX833X_PIC_SGDX_TPD_INT (PNX833X_PIC_IRQ_BASE + 31)
77#define PNX833X_PIC_USB_INT (PNX833X_PIC_IRQ_BASE + 32)
78#define PNX833X_PIC_TS_IN1_TRD_INT (PNX833X_PIC_IRQ_BASE + 33)
79#define PNX833X_PIC_CLOCK_INT (PNX833X_PIC_IRQ_BASE + 34)
80#define PNX833X_PIC_SGDX_PARSER_INT (PNX833X_PIC_IRQ_BASE + 35)
81#define PNX833X_PIC_VMSP_DMA_INT (PNX833X_PIC_IRQ_BASE + 36)
82
83#if defined(CONFIG_SOC_PNX8335)
84#define PNX8335_PIC_MIU_INT (PNX833X_PIC_IRQ_BASE + 37)
85#define PNX8335_PIC_AVCHIP_IRQ_INT (PNX833X_PIC_IRQ_BASE + 38)
86#define PNX8335_PIC_SYNC_HD_INT (PNX833X_PIC_IRQ_BASE + 39)
87#define PNX8335_PIC_DISP_HD_INT (PNX833X_PIC_IRQ_BASE + 40)
88#define PNX8335_PIC_DISP_SCALER_INT (PNX833X_PIC_IRQ_BASE + 41)
89#define PNX8335_PIC_OSD_HD1_INT (PNX833X_PIC_IRQ_BASE + 42)
90#define PNX8335_PIC_DTL_WRITER_Y_INT (PNX833X_PIC_IRQ_BASE + 43)
91#define PNX8335_PIC_DTL_WRITER_C_INT (PNX833X_PIC_IRQ_BASE + 44)
92#define PNX8335_PIC_DTL_EMULATOR_Y_IR_INT (PNX833X_PIC_IRQ_BASE + 45)
93#define PNX8335_PIC_DTL_EMULATOR_C_IR_INT (PNX833X_PIC_IRQ_BASE + 46)
94#define PNX8335_PIC_DENC_TTX_INT (PNX833X_PIC_IRQ_BASE + 47)
95#define PNX8335_PIC_MMI_SIF0_INT (PNX833X_PIC_IRQ_BASE + 48)
96#define PNX8335_PIC_MMI_SIF1_INT (PNX833X_PIC_IRQ_BASE + 49)
97#define PNX8335_PIC_MMI_CDMMU_INT (PNX833X_PIC_IRQ_BASE + 50)
98#define PNX8335_PIC_PIBCS_INT (PNX833X_PIC_IRQ_BASE + 51)
99#define PNX8335_PIC_ETHERNET_INT (PNX833X_PIC_IRQ_BASE + 52)
100#define PNX8335_PIC_VMSP1_0_INT (PNX833X_PIC_IRQ_BASE + 53)
101#define PNX8335_PIC_VMSP1_1_INT (PNX833X_PIC_IRQ_BASE + 54)
102#define PNX8335_PIC_VMSP1_DMA_INT (PNX833X_PIC_IRQ_BASE + 55)
103#define PNX8335_PIC_TDGR_DE_INT (PNX833X_PIC_IRQ_BASE + 56)
104#define PNX8335_PIC_IR1_IRQ_INT (PNX833X_PIC_IRQ_BASE + 57)
105#endif
106
107/* GPIO interrupts */
108#define PNX833X_GPIO_0_INT (PNX833X_GPIO_IRQ_BASE + 0)
109#define PNX833X_GPIO_1_INT (PNX833X_GPIO_IRQ_BASE + 1)
110#define PNX833X_GPIO_2_INT (PNX833X_GPIO_IRQ_BASE + 2)
111#define PNX833X_GPIO_3_INT (PNX833X_GPIO_IRQ_BASE + 3)
112#define PNX833X_GPIO_4_INT (PNX833X_GPIO_IRQ_BASE + 4)
113#define PNX833X_GPIO_5_INT (PNX833X_GPIO_IRQ_BASE + 5)
114#define PNX833X_GPIO_6_INT (PNX833X_GPIO_IRQ_BASE + 6)
115#define PNX833X_GPIO_7_INT (PNX833X_GPIO_IRQ_BASE + 7)
116#define PNX833X_GPIO_8_INT (PNX833X_GPIO_IRQ_BASE + 8)
117#define PNX833X_GPIO_9_INT (PNX833X_GPIO_IRQ_BASE + 9)
118#define PNX833X_GPIO_10_INT (PNX833X_GPIO_IRQ_BASE + 10)
119#define PNX833X_GPIO_11_INT (PNX833X_GPIO_IRQ_BASE + 11)
120#define PNX833X_GPIO_12_INT (PNX833X_GPIO_IRQ_BASE + 12)
121#define PNX833X_GPIO_13_INT (PNX833X_GPIO_IRQ_BASE + 13)
122#define PNX833X_GPIO_14_INT (PNX833X_GPIO_IRQ_BASE + 14)
123#define PNX833X_GPIO_15_INT (PNX833X_GPIO_IRQ_BASE + 15)
124
125#endif
126
diff --git a/arch/mips/include/asm/mach-pnx833x/irq.h b/arch/mips/include/asm/mach-pnx833x/irq.h
new file mode 100644
index 000000000000..745114b1d8d5
--- /dev/null
+++ b/arch/mips/include/asm/mach-pnx833x/irq.h
@@ -0,0 +1,53 @@
1/*
2 * irq.h: IRQ mappings for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.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 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#ifndef __ASM_MIPS_MACH_PNX833X_IRQ_H
24#define __ASM_MIPS_MACH_PNX833X_IRQ_H
25/*
26 * The "IRQ numbers" are completely virtual.
27 *
28 * In PNX8330/1, we have 48 interrupt lines, numbered from 1 to 48.
29 * Let's use numbers 1..48 for PIC interrupts, number 0 for timer interrupt,
30 * numbers 49..64 for (virtual) GPIO interrupts.
31 *
32 * In PNX8335, we have 57 interrupt lines, numbered from 1 to 57,
33 * connected to PIC, which uses core hardware interrupt 2, and also
34 * a timer interrupt through hardware interrupt 5.
35 * Let's use numbers 1..64 for PIC interrupts, number 0 for timer interrupt,
36 * numbers 65..80 for (virtual) GPIO interrupts.
37 *
38 */
39#if defined(CONFIG_SOC_PNX8335)
40 #define PNX833X_PIC_NUM_IRQ 58
41#else
42 #define PNX833X_PIC_NUM_IRQ 37
43#endif
44
45#define MIPS_CPU_NUM_IRQ 8
46#define PNX833X_GPIO_NUM_IRQ 16
47
48#define MIPS_CPU_IRQ_BASE 0
49#define PNX833X_PIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + MIPS_CPU_NUM_IRQ)
50#define PNX833X_GPIO_IRQ_BASE (PNX833X_PIC_IRQ_BASE + PNX833X_PIC_NUM_IRQ)
51#define NR_IRQS (MIPS_CPU_NUM_IRQ + PNX833X_PIC_NUM_IRQ + PNX833X_GPIO_NUM_IRQ)
52
53#endif
diff --git a/arch/mips/include/asm/mach-pnx833x/pnx833x.h b/arch/mips/include/asm/mach-pnx833x/pnx833x.h
new file mode 100644
index 000000000000..100f52870e3c
--- /dev/null
+++ b/arch/mips/include/asm/mach-pnx833x/pnx833x.h
@@ -0,0 +1,202 @@
1/*
2 * pnx833x.h: Register mappings for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.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 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#ifndef __ASM_MIPS_MACH_PNX833X_PNX833X_H
23#define __ASM_MIPS_MACH_PNX833X_PNX833X_H
24
25/* All regs are accessed in KSEG1 */
26#define PNX833X_BASE (0xa0000000ul + 0x17E00000ul)
27
28#define PNX833X_REG(offs) (*((volatile unsigned long *)(PNX833X_BASE + offs)))
29
30/* Registers are named exactly as in PNX833X docs, just with PNX833X_ prefix */
31
32/* Read access to multibit fields */
33#define PNX833X_BIT(val, reg, field) ((val) & PNX833X_##reg##_##field)
34#define PNX833X_REGBIT(reg, field) PNX833X_BIT(PNX833X_##reg, reg, field)
35
36/* Use PNX833X_FIELD to extract a field from val */
37#define PNX_FIELD(cpu, val, reg, field) \
38 (((val) & PNX##cpu##_##reg##_##field##_MASK) >> \
39 PNX##cpu##_##reg##_##field##_SHIFT)
40#define PNX833X_FIELD(val, reg, field) PNX_FIELD(833X, val, reg, field)
41#define PNX8330_FIELD(val, reg, field) PNX_FIELD(8330, val, reg, field)
42#define PNX8335_FIELD(val, reg, field) PNX_FIELD(8335, val, reg, field)
43
44/* Use PNX833X_REGFIELD to extract a field from a register */
45#define PNX833X_REGFIELD(reg, field) PNX833X_FIELD(PNX833X_##reg, reg, field)
46#define PNX8330_REGFIELD(reg, field) PNX8330_FIELD(PNX8330_##reg, reg, field)
47#define PNX8335_REGFIELD(reg, field) PNX8335_FIELD(PNX8335_##reg, reg, field)
48
49
50#define PNX_WRITEFIELD(cpu, val, reg, field) \
51 (PNX##cpu##_##reg = (PNX##cpu##_##reg & ~(PNX##cpu##_##reg##_##field##_MASK)) | \
52 ((val) << PNX##cpu##_##reg##_##field##_SHIFT))
53#define PNX833X_WRITEFIELD(val, reg, field) \
54 PNX_WRITEFIELD(833X, val, reg, field)
55#define PNX8330_WRITEFIELD(val, reg, field) \
56 PNX_WRITEFIELD(8330, val, reg, field)
57#define PNX8335_WRITEFIELD(val, reg, field) \
58 PNX_WRITEFIELD(8335, val, reg, field)
59
60
61/* Macros to detect CPU type */
62
63#define PNX833X_CONFIG_MODULE_ID PNX833X_REG(0x7FFC)
64#define PNX833X_CONFIG_MODULE_ID_MAJREV_MASK 0x0000f000
65#define PNX833X_CONFIG_MODULE_ID_MAJREV_SHIFT 12
66#define PNX8330_CONFIG_MODULE_MAJREV 4
67#define PNX8335_CONFIG_MODULE_MAJREV 5
68#define CPU_IS_PNX8330 (PNX833X_REGFIELD(CONFIG_MODULE_ID, MAJREV) == \
69 PNX8330_CONFIG_MODULE_MAJREV)
70#define CPU_IS_PNX8335 (PNX833X_REGFIELD(CONFIG_MODULE_ID, MAJREV) == \
71 PNX8335_CONFIG_MODULE_MAJREV)
72
73
74
75#define PNX833X_RESET_CONTROL PNX833X_REG(0x8004)
76#define PNX833X_RESET_CONTROL_2 PNX833X_REG(0x8014)
77
78#define PNX833X_PIC_REG(offs) PNX833X_REG(0x01000 + (offs))
79#define PNX833X_PIC_INT_PRIORITY PNX833X_PIC_REG(0x0)
80#define PNX833X_PIC_INT_SRC PNX833X_PIC_REG(0x4)
81#define PNX833X_PIC_INT_SRC_INT_SRC_MASK 0x00000FF8ul /* bits 11:3 */
82#define PNX833X_PIC_INT_SRC_INT_SRC_SHIFT 3
83#define PNX833X_PIC_INT_REG(irq) PNX833X_PIC_REG(0x10 + 4*(irq))
84
85#define PNX833X_CLOCK_CPUCP_CTL PNX833X_REG(0x9228)
86#define PNX833X_CLOCK_CPUCP_CTL_EXIT_RESET 0x00000002ul /* bit 1 */
87#define PNX833X_CLOCK_CPUCP_CTL_DIV_CLOCK_MASK 0x00000018ul /* bits 4:3 */
88#define PNX833X_CLOCK_CPUCP_CTL_DIV_CLOCK_SHIFT 3
89
90#define PNX8335_CLOCK_PLL_CPU_CTL PNX833X_REG(0x9020)
91#define PNX8335_CLOCK_PLL_CPU_CTL_FREQ_MASK 0x1f
92#define PNX8335_CLOCK_PLL_CPU_CTL_FREQ_SHIFT 0
93
94#define PNX833X_CONFIG_MUX PNX833X_REG(0x7004)
95#define PNX833X_CONFIG_MUX_IDE_MUX 0x00000080 /* bit 7 */
96
97#define PNX8330_CONFIG_POLYFUSE_7 PNX833X_REG(0x7040)
98#define PNX8330_CONFIG_POLYFUSE_7_BOOT_MODE_MASK 0x00180000
99#define PNX8330_CONFIG_POLYFUSE_7_BOOT_MODE_SHIFT 19
100
101#define PNX833X_PIO_IN PNX833X_REG(0xF000)
102#define PNX833X_PIO_OUT PNX833X_REG(0xF004)
103#define PNX833X_PIO_DIR PNX833X_REG(0xF008)
104#define PNX833X_PIO_SEL PNX833X_REG(0xF014)
105#define PNX833X_PIO_INT_EDGE PNX833X_REG(0xF020)
106#define PNX833X_PIO_INT_HI PNX833X_REG(0xF024)
107#define PNX833X_PIO_INT_LO PNX833X_REG(0xF028)
108#define PNX833X_PIO_INT_STATUS PNX833X_REG(0xFFE0)
109#define PNX833X_PIO_INT_ENABLE PNX833X_REG(0xFFE4)
110#define PNX833X_PIO_INT_CLEAR PNX833X_REG(0xFFE8)
111#define PNX833X_PIO_IN2 PNX833X_REG(0xF05C)
112#define PNX833X_PIO_OUT2 PNX833X_REG(0xF060)
113#define PNX833X_PIO_DIR2 PNX833X_REG(0xF064)
114#define PNX833X_PIO_SEL2 PNX833X_REG(0xF068)
115
116#define PNX833X_UART0_PORTS_START (PNX833X_BASE + 0xB000)
117#define PNX833X_UART0_PORTS_END (PNX833X_BASE + 0xBFFF)
118#define PNX833X_UART1_PORTS_START (PNX833X_BASE + 0xC000)
119#define PNX833X_UART1_PORTS_END (PNX833X_BASE + 0xCFFF)
120
121#define PNX833X_USB_PORTS_START (PNX833X_BASE + 0x19000)
122#define PNX833X_USB_PORTS_END (PNX833X_BASE + 0x19FFF)
123
124#define PNX833X_CONFIG_USB PNX833X_REG(0x7008)
125
126#define PNX833X_I2C0_PORTS_START (PNX833X_BASE + 0xD000)
127#define PNX833X_I2C0_PORTS_END (PNX833X_BASE + 0xDFFF)
128#define PNX833X_I2C1_PORTS_START (PNX833X_BASE + 0xE000)
129#define PNX833X_I2C1_PORTS_END (PNX833X_BASE + 0xEFFF)
130
131#define PNX833X_IDE_PORTS_START (PNX833X_BASE + 0x1A000)
132#define PNX833X_IDE_PORTS_END (PNX833X_BASE + 0x1AFFF)
133#define PNX833X_IDE_MODULE_ID PNX833X_REG(0x1AFFC)
134
135#define PNX833X_IDE_MODULE_ID_MODULE_ID_MASK 0xFFFF0000
136#define PNX833X_IDE_MODULE_ID_MODULE_ID_SHIFT 16
137#define PNX833X_IDE_MODULE_ID_VALUE 0xA009
138
139
140#define PNX833X_MIU_SEL0 PNX833X_REG(0x2004)
141#define PNX833X_MIU_SEL0_TIMING PNX833X_REG(0x2008)
142#define PNX833X_MIU_SEL1 PNX833X_REG(0x200C)
143#define PNX833X_MIU_SEL1_TIMING PNX833X_REG(0x2010)
144#define PNX833X_MIU_SEL2 PNX833X_REG(0x2014)
145#define PNX833X_MIU_SEL2_TIMING PNX833X_REG(0x2018)
146#define PNX833X_MIU_SEL3 PNX833X_REG(0x201C)
147#define PNX833X_MIU_SEL3_TIMING PNX833X_REG(0x2020)
148
149#define PNX833X_MIU_SEL0_SPI_MODE_ENABLE_MASK (1 << 14)
150#define PNX833X_MIU_SEL0_SPI_MODE_ENABLE_SHIFT 14
151
152#define PNX833X_MIU_SEL0_BURST_MODE_ENABLE_MASK (1 << 7)
153#define PNX833X_MIU_SEL0_BURST_MODE_ENABLE_SHIFT 7
154
155#define PNX833X_MIU_SEL0_BURST_PAGE_LEN_MASK (0xF << 9)
156#define PNX833X_MIU_SEL0_BURST_PAGE_LEN_SHIFT 9
157
158#define PNX833X_MIU_CONFIG_SPI PNX833X_REG(0x2000)
159
160#define PNX833X_MIU_CONFIG_SPI_OPCODE_MASK (0xFF << 3)
161#define PNX833X_MIU_CONFIG_SPI_OPCODE_SHIFT 3
162
163#define PNX833X_MIU_CONFIG_SPI_DATA_ENABLE_MASK (1 << 2)
164#define PNX833X_MIU_CONFIG_SPI_DATA_ENABLE_SHIFT 2
165
166#define PNX833X_MIU_CONFIG_SPI_ADDR_ENABLE_MASK (1 << 1)
167#define PNX833X_MIU_CONFIG_SPI_ADDR_ENABLE_SHIFT 1
168
169#define PNX833X_MIU_CONFIG_SPI_SYNC_MASK (1 << 0)
170#define PNX833X_MIU_CONFIG_SPI_SYNC_SHIFT 0
171
172#define PNX833X_WRITE_CONFIG_SPI(opcode, data_enable, addr_enable, sync) \
173 (PNX833X_MIU_CONFIG_SPI = \
174 ((opcode) << PNX833X_MIU_CONFIG_SPI_OPCODE_SHIFT) | \
175 ((data_enable) << PNX833X_MIU_CONFIG_SPI_DATA_ENABLE_SHIFT) | \
176 ((addr_enable) << PNX833X_MIU_CONFIG_SPI_ADDR_ENABLE_SHIFT) | \
177 ((sync) << PNX833X_MIU_CONFIG_SPI_SYNC_SHIFT))
178
179#define PNX8335_IP3902_PORTS_START (PNX833X_BASE + 0x2F000)
180#define PNX8335_IP3902_PORTS_END (PNX833X_BASE + 0x2FFFF)
181#define PNX8335_IP3902_MODULE_ID PNX833X_REG(0x2FFFC)
182
183#define PNX8335_IP3902_MODULE_ID_MODULE_ID_MASK 0xFFFF0000
184#define PNX8335_IP3902_MODULE_ID_MODULE_ID_SHIFT 16
185#define PNX8335_IP3902_MODULE_ID_VALUE 0x3902
186
187 /* I/O location(gets remapped)*/
188#define PNX8335_NAND_BASE 0x18000000
189/* I/O location with CLE high */
190#define PNX8335_NAND_CLE_MASK 0x00100000
191/* I/O location with ALE high */
192#define PNX8335_NAND_ALE_MASK 0x00010000
193
194#define PNX8335_SATA_PORTS_START (PNX833X_BASE + 0x2E000)
195#define PNX8335_SATA_PORTS_END (PNX833X_BASE + 0x2EFFF)
196#define PNX8335_SATA_MODULE_ID PNX833X_REG(0x2EFFC)
197
198#define PNX8335_SATA_MODULE_ID_MODULE_ID_MASK 0xFFFF0000
199#define PNX8335_SATA_MODULE_ID_MODULE_ID_SHIFT 16
200#define PNX8335_SATA_MODULE_ID_VALUE 0xA099
201
202#endif
diff --git a/arch/mips/include/asm/mach-pnx833x/war.h b/arch/mips/include/asm/mach-pnx833x/war.h
new file mode 100644
index 000000000000..82cd1e97bc2e
--- /dev/null
+++ b/arch/mips/include/asm/mach-pnx833x/war.h
@@ -0,0 +1,25 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
7 */
8#ifndef __ASM_MIPS_MACH_PNX833X_WAR_H
9#define __ASM_MIPS_MACH_PNX833X_WAR_H
10
11#define R4600_V1_INDEX_ICACHEOP_WAR 0
12#define R4600_V1_HIT_CACHEOP_WAR 0
13#define R4600_V2_HIT_CACHEOP_WAR 0
14#define R5432_CP0_INTERRUPT_WAR 0
15#define BCM1250_M3_WAR 0
16#define SIBYTE_1956_WAR 0
17#define MIPS4K_ICACHE_REFILL_WAR 0
18#define MIPS_CACHE_SYNC_WAR 0
19#define TX49XX_ICACHE_INDEX_INV_WAR 0
20#define RM9000_CDEX_SMP_WAR 0
21#define ICACHE_REFILLS_WORKAROUND_WAR 0
22#define R10000_LLSC_WAR 0
23#define MIPS34K_MISSED_ITLB_WAR 0
24
25#endif /* __ASM_MIPS_MACH_PNX8550_WAR_H */
diff --git a/arch/mips/include/asm/mach-tx49xx/mangle-port.h b/arch/mips/include/asm/mach-tx49xx/mangle-port.h
new file mode 100644
index 000000000000..5e6912fdd0ed
--- /dev/null
+++ b/arch/mips/include/asm/mach-tx49xx/mangle-port.h
@@ -0,0 +1,26 @@
1#ifndef __ASM_MACH_TX49XX_MANGLE_PORT_H
2#define __ASM_MACH_TX49XX_MANGLE_PORT_H
3
4#define __swizzle_addr_b(port) (port)
5#define __swizzle_addr_w(port) (port)
6#define __swizzle_addr_l(port) (port)
7#define __swizzle_addr_q(port) (port)
8
9#define ioswabb(a, x) (x)
10#define __mem_ioswabb(a, x) (x)
11#if defined(CONFIG_TOSHIBA_RBTX4939) && \
12 (defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)) && \
13 defined(__BIG_ENDIAN)
14#define NEEDS_TXX9_IOSWABW
15extern u16 (*ioswabw)(volatile u16 *a, u16 x);
16extern u16 (*__mem_ioswabw)(volatile u16 *a, u16 x);
17#else
18#define ioswabw(a, x) le16_to_cpu(x)
19#define __mem_ioswabw(a, x) (x)
20#endif
21#define ioswabl(a, x) le32_to_cpu(x)
22#define __mem_ioswabl(a, x) (x)
23#define ioswabq(a, x) le64_to_cpu(x)
24#define __mem_ioswabq(a, x) (x)
25
26#endif /* __ASM_MACH_TX49XX_MANGLE_PORT_H */
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 979866000da4..9316324d070d 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -192,6 +192,7 @@
192#define PM_16M 0x01ffe000 192#define PM_16M 0x01ffe000
193#define PM_64M 0x07ffe000 193#define PM_64M 0x07ffe000
194#define PM_256M 0x1fffe000 194#define PM_256M 0x1fffe000
195#define PM_1G 0x7fffe000
195 196
196#endif 197#endif
197 198
diff --git a/arch/mips/include/asm/module.h b/arch/mips/include/asm/module.h
index de6d09ebbd80..e2e09b2cd265 100644
--- a/arch/mips/include/asm/module.h
+++ b/arch/mips/include/asm/module.h
@@ -98,6 +98,8 @@ search_module_dbetables(unsigned long addr)
98#define MODULE_PROC_FAMILY "R5000 " 98#define MODULE_PROC_FAMILY "R5000 "
99#elif defined CONFIG_CPU_R5432 99#elif defined CONFIG_CPU_R5432
100#define MODULE_PROC_FAMILY "R5432 " 100#define MODULE_PROC_FAMILY "R5432 "
101#elif defined CONFIG_CPU_R5500
102#define MODULE_PROC_FAMILY "R5500 "
101#elif defined CONFIG_CPU_R6000 103#elif defined CONFIG_CPU_R6000
102#define MODULE_PROC_FAMILY "R6000 " 104#define MODULE_PROC_FAMILY "R6000 "
103#elif defined CONFIG_CPU_NEVADA 105#elif defined CONFIG_CPU_NEVADA
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
index 9c22571b160d..813abd16255d 100644
--- a/arch/mips/include/asm/ptrace.h
+++ b/arch/mips/include/asm/ptrace.h
@@ -80,25 +80,25 @@ enum pt_watch_style {
80 pt_watch_style_mips64 80 pt_watch_style_mips64
81}; 81};
82struct mips32_watch_regs { 82struct mips32_watch_regs {
83 uint32_t watchlo[8]; 83 unsigned int watchlo[8];
84 /* Lower 16 bits of watchhi. */ 84 /* Lower 16 bits of watchhi. */
85 uint16_t watchhi[8]; 85 unsigned short watchhi[8];
86 /* Valid mask and I R W bits. 86 /* Valid mask and I R W bits.
87 * bit 0 -- 1 if W bit is usable. 87 * bit 0 -- 1 if W bit is usable.
88 * bit 1 -- 1 if R bit is usable. 88 * bit 1 -- 1 if R bit is usable.
89 * bit 2 -- 1 if I bit is usable. 89 * bit 2 -- 1 if I bit is usable.
90 * bits 3 - 11 -- Valid watchhi mask bits. 90 * bits 3 - 11 -- Valid watchhi mask bits.
91 */ 91 */
92 uint16_t watch_masks[8]; 92 unsigned short watch_masks[8];
93 /* The number of valid watch register pairs. */ 93 /* The number of valid watch register pairs. */
94 uint32_t num_valid; 94 unsigned int num_valid;
95} __attribute__((aligned(8))); 95} __attribute__((aligned(8)));
96 96
97struct mips64_watch_regs { 97struct mips64_watch_regs {
98 uint64_t watchlo[8]; 98 unsigned long long watchlo[8];
99 uint16_t watchhi[8]; 99 unsigned short watchhi[8];
100 uint16_t watch_masks[8]; 100 unsigned short watch_masks[8];
101 uint32_t num_valid; 101 unsigned int num_valid;
102} __attribute__((aligned(8))); 102} __attribute__((aligned(8)));
103 103
104struct pt_watch_regs { 104struct pt_watch_regs {
@@ -116,6 +116,7 @@ struct pt_watch_regs {
116 116
117#include <linux/compiler.h> 117#include <linux/compiler.h>
118#include <linux/linkage.h> 118#include <linux/linkage.h>
119#include <linux/types.h>
119#include <asm/isadep.h> 120#include <asm/isadep.h>
120 121
121struct task_struct; 122struct task_struct;
diff --git a/arch/mips/include/asm/txx9/generic.h b/arch/mips/include/asm/txx9/generic.h
index 4316a3e57678..9cde0090cbf6 100644
--- a/arch/mips/include/asm/txx9/generic.h
+++ b/arch/mips/include/asm/txx9/generic.h
@@ -86,4 +86,9 @@ void txx9_iocled_init(unsigned long baseaddr,
86 int basenum, unsigned int num, int lowactive, 86 int basenum, unsigned int num, int lowactive,
87 const char *color, char **deftriggers); 87 const char *color, char **deftriggers);
88 88
89/* 7SEG LED */
90void txx9_7segled_init(unsigned int num,
91 void (*putc)(unsigned int pos, unsigned char val));
92int txx9_7segled_putc(unsigned int pos, char c);
93
89#endif /* __ASM_TXX9_GENERIC_H */ 94#endif /* __ASM_TXX9_GENERIC_H */
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index d9da7112aaf8..b1372c27f136 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -33,6 +33,7 @@ obj-$(CONFIG_CPU_R4X00) += r4k_fpu.o r4k_switch.o
33obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o 33obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o
34obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o 34obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
35obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o 35obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o
36obj-$(CONFIG_CPU_R5500) += r4k_fpu.o r4k_switch.o
36obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o 37obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o
37obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o 38obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o
38obj-$(CONFIG_CPU_RM9000) += r4k_fpu.o r4k_switch.o 39obj-$(CONFIG_CPU_RM9000) += r4k_fpu.o r4k_switch.o
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 0cf15457ecac..c9207b5fd923 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -286,11 +286,12 @@ static inline int __cpu_has_fpu(void)
286#define R4K_OPTS (MIPS_CPU_TLB | MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE \ 286#define R4K_OPTS (MIPS_CPU_TLB | MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE \
287 | MIPS_CPU_COUNTER) 287 | MIPS_CPU_COUNTER)
288 288
289static inline void cpu_probe_legacy(struct cpuinfo_mips *c) 289static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
290{ 290{
291 switch (c->processor_id & 0xff00) { 291 switch (c->processor_id & 0xff00) {
292 case PRID_IMP_R2000: 292 case PRID_IMP_R2000:
293 c->cputype = CPU_R2000; 293 c->cputype = CPU_R2000;
294 __cpu_name[cpu] = "R2000";
294 c->isa_level = MIPS_CPU_ISA_I; 295 c->isa_level = MIPS_CPU_ISA_I;
295 c->options = MIPS_CPU_TLB | MIPS_CPU_3K_CACHE | 296 c->options = MIPS_CPU_TLB | MIPS_CPU_3K_CACHE |
296 MIPS_CPU_NOFPUEX; 297 MIPS_CPU_NOFPUEX;
@@ -299,13 +300,19 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
299 c->tlbsize = 64; 300 c->tlbsize = 64;
300 break; 301 break;
301 case PRID_IMP_R3000: 302 case PRID_IMP_R3000:
302 if ((c->processor_id & 0xff) == PRID_REV_R3000A) 303 if ((c->processor_id & 0xff) == PRID_REV_R3000A) {
303 if (cpu_has_confreg()) 304 if (cpu_has_confreg()) {
304 c->cputype = CPU_R3081E; 305 c->cputype = CPU_R3081E;
305 else 306 __cpu_name[cpu] = "R3081";
307 } else {
306 c->cputype = CPU_R3000A; 308 c->cputype = CPU_R3000A;
307 else 309 __cpu_name[cpu] = "R3000A";
310 }
311 break;
312 } else {
308 c->cputype = CPU_R3000; 313 c->cputype = CPU_R3000;
314 __cpu_name[cpu] = "R3000";
315 }
309 c->isa_level = MIPS_CPU_ISA_I; 316 c->isa_level = MIPS_CPU_ISA_I;
310 c->options = MIPS_CPU_TLB | MIPS_CPU_3K_CACHE | 317 c->options = MIPS_CPU_TLB | MIPS_CPU_3K_CACHE |
311 MIPS_CPU_NOFPUEX; 318 MIPS_CPU_NOFPUEX;
@@ -315,15 +322,21 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
315 break; 322 break;
316 case PRID_IMP_R4000: 323 case PRID_IMP_R4000:
317 if (read_c0_config() & CONF_SC) { 324 if (read_c0_config() & CONF_SC) {
318 if ((c->processor_id & 0xff) >= PRID_REV_R4400) 325 if ((c->processor_id & 0xff) >= PRID_REV_R4400) {
319 c->cputype = CPU_R4400PC; 326 c->cputype = CPU_R4400PC;
320 else 327 __cpu_name[cpu] = "R4400PC";
328 } else {
321 c->cputype = CPU_R4000PC; 329 c->cputype = CPU_R4000PC;
330 __cpu_name[cpu] = "R4000PC";
331 }
322 } else { 332 } else {
323 if ((c->processor_id & 0xff) >= PRID_REV_R4400) 333 if ((c->processor_id & 0xff) >= PRID_REV_R4400) {
324 c->cputype = CPU_R4400SC; 334 c->cputype = CPU_R4400SC;
325 else 335 __cpu_name[cpu] = "R4400SC";
336 } else {
326 c->cputype = CPU_R4000SC; 337 c->cputype = CPU_R4000SC;
338 __cpu_name[cpu] = "R4000SC";
339 }
327 } 340 }
328 341
329 c->isa_level = MIPS_CPU_ISA_III; 342 c->isa_level = MIPS_CPU_ISA_III;
@@ -336,25 +349,34 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
336 switch (c->processor_id & 0xf0) { 349 switch (c->processor_id & 0xf0) {
337 case PRID_REV_VR4111: 350 case PRID_REV_VR4111:
338 c->cputype = CPU_VR4111; 351 c->cputype = CPU_VR4111;
352 __cpu_name[cpu] = "NEC VR4111";
339 break; 353 break;
340 case PRID_REV_VR4121: 354 case PRID_REV_VR4121:
341 c->cputype = CPU_VR4121; 355 c->cputype = CPU_VR4121;
356 __cpu_name[cpu] = "NEC VR4121";
342 break; 357 break;
343 case PRID_REV_VR4122: 358 case PRID_REV_VR4122:
344 if ((c->processor_id & 0xf) < 0x3) 359 if ((c->processor_id & 0xf) < 0x3) {
345 c->cputype = CPU_VR4122; 360 c->cputype = CPU_VR4122;
346 else 361 __cpu_name[cpu] = "NEC VR4122";
362 } else {
347 c->cputype = CPU_VR4181A; 363 c->cputype = CPU_VR4181A;
364 __cpu_name[cpu] = "NEC VR4181A";
365 }
348 break; 366 break;
349 case PRID_REV_VR4130: 367 case PRID_REV_VR4130:
350 if ((c->processor_id & 0xf) < 0x4) 368 if ((c->processor_id & 0xf) < 0x4) {
351 c->cputype = CPU_VR4131; 369 c->cputype = CPU_VR4131;
352 else 370 __cpu_name[cpu] = "NEC VR4131";
371 } else {
353 c->cputype = CPU_VR4133; 372 c->cputype = CPU_VR4133;
373 __cpu_name[cpu] = "NEC VR4133";
374 }
354 break; 375 break;
355 default: 376 default:
356 printk(KERN_INFO "Unexpected CPU of NEC VR4100 series\n"); 377 printk(KERN_INFO "Unexpected CPU of NEC VR4100 series\n");
357 c->cputype = CPU_VR41XX; 378 c->cputype = CPU_VR41XX;
379 __cpu_name[cpu] = "NEC Vr41xx";
358 break; 380 break;
359 } 381 }
360 c->isa_level = MIPS_CPU_ISA_III; 382 c->isa_level = MIPS_CPU_ISA_III;
@@ -363,6 +385,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
363 break; 385 break;
364 case PRID_IMP_R4300: 386 case PRID_IMP_R4300:
365 c->cputype = CPU_R4300; 387 c->cputype = CPU_R4300;
388 __cpu_name[cpu] = "R4300";
366 c->isa_level = MIPS_CPU_ISA_III; 389 c->isa_level = MIPS_CPU_ISA_III;
367 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 390 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
368 MIPS_CPU_LLSC; 391 MIPS_CPU_LLSC;
@@ -370,6 +393,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
370 break; 393 break;
371 case PRID_IMP_R4600: 394 case PRID_IMP_R4600:
372 c->cputype = CPU_R4600; 395 c->cputype = CPU_R4600;
396 __cpu_name[cpu] = "R4600";
373 c->isa_level = MIPS_CPU_ISA_III; 397 c->isa_level = MIPS_CPU_ISA_III;
374 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 398 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
375 MIPS_CPU_LLSC; 399 MIPS_CPU_LLSC;
@@ -384,6 +408,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
384 * it's c0_prid id number with the TX3900. 408 * it's c0_prid id number with the TX3900.
385 */ 409 */
386 c->cputype = CPU_R4650; 410 c->cputype = CPU_R4650;
411 __cpu_name[cpu] = "R4650";
387 c->isa_level = MIPS_CPU_ISA_III; 412 c->isa_level = MIPS_CPU_ISA_III;
388 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_LLSC; 413 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_LLSC;
389 c->tlbsize = 48; 414 c->tlbsize = 48;
@@ -395,25 +420,26 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
395 420
396 if ((c->processor_id & 0xf0) == (PRID_REV_TX3927 & 0xf0)) { 421 if ((c->processor_id & 0xf0) == (PRID_REV_TX3927 & 0xf0)) {
397 c->cputype = CPU_TX3927; 422 c->cputype = CPU_TX3927;
423 __cpu_name[cpu] = "TX3927";
398 c->tlbsize = 64; 424 c->tlbsize = 64;
399 } else { 425 } else {
400 switch (c->processor_id & 0xff) { 426 switch (c->processor_id & 0xff) {
401 case PRID_REV_TX3912: 427 case PRID_REV_TX3912:
402 c->cputype = CPU_TX3912; 428 c->cputype = CPU_TX3912;
429 __cpu_name[cpu] = "TX3912";
403 c->tlbsize = 32; 430 c->tlbsize = 32;
404 break; 431 break;
405 case PRID_REV_TX3922: 432 case PRID_REV_TX3922:
406 c->cputype = CPU_TX3922; 433 c->cputype = CPU_TX3922;
434 __cpu_name[cpu] = "TX3922";
407 c->tlbsize = 64; 435 c->tlbsize = 64;
408 break; 436 break;
409 default:
410 c->cputype = CPU_UNKNOWN;
411 break;
412 } 437 }
413 } 438 }
414 break; 439 break;
415 case PRID_IMP_R4700: 440 case PRID_IMP_R4700:
416 c->cputype = CPU_R4700; 441 c->cputype = CPU_R4700;
442 __cpu_name[cpu] = "R4700";
417 c->isa_level = MIPS_CPU_ISA_III; 443 c->isa_level = MIPS_CPU_ISA_III;
418 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 444 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
419 MIPS_CPU_LLSC; 445 MIPS_CPU_LLSC;
@@ -421,6 +447,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
421 break; 447 break;
422 case PRID_IMP_TX49: 448 case PRID_IMP_TX49:
423 c->cputype = CPU_TX49XX; 449 c->cputype = CPU_TX49XX;
450 __cpu_name[cpu] = "R49XX";
424 c->isa_level = MIPS_CPU_ISA_III; 451 c->isa_level = MIPS_CPU_ISA_III;
425 c->options = R4K_OPTS | MIPS_CPU_LLSC; 452 c->options = R4K_OPTS | MIPS_CPU_LLSC;
426 if (!(c->processor_id & 0x08)) 453 if (!(c->processor_id & 0x08))
@@ -429,6 +456,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
429 break; 456 break;
430 case PRID_IMP_R5000: 457 case PRID_IMP_R5000:
431 c->cputype = CPU_R5000; 458 c->cputype = CPU_R5000;
459 __cpu_name[cpu] = "R5000";
432 c->isa_level = MIPS_CPU_ISA_IV; 460 c->isa_level = MIPS_CPU_ISA_IV;
433 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 461 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
434 MIPS_CPU_LLSC; 462 MIPS_CPU_LLSC;
@@ -436,6 +464,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
436 break; 464 break;
437 case PRID_IMP_R5432: 465 case PRID_IMP_R5432:
438 c->cputype = CPU_R5432; 466 c->cputype = CPU_R5432;
467 __cpu_name[cpu] = "R5432";
439 c->isa_level = MIPS_CPU_ISA_IV; 468 c->isa_level = MIPS_CPU_ISA_IV;
440 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 469 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
441 MIPS_CPU_WATCH | MIPS_CPU_LLSC; 470 MIPS_CPU_WATCH | MIPS_CPU_LLSC;
@@ -443,6 +472,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
443 break; 472 break;
444 case PRID_IMP_R5500: 473 case PRID_IMP_R5500:
445 c->cputype = CPU_R5500; 474 c->cputype = CPU_R5500;
475 __cpu_name[cpu] = "R5500";
446 c->isa_level = MIPS_CPU_ISA_IV; 476 c->isa_level = MIPS_CPU_ISA_IV;
447 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 477 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
448 MIPS_CPU_WATCH | MIPS_CPU_LLSC; 478 MIPS_CPU_WATCH | MIPS_CPU_LLSC;
@@ -450,6 +480,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
450 break; 480 break;
451 case PRID_IMP_NEVADA: 481 case PRID_IMP_NEVADA:
452 c->cputype = CPU_NEVADA; 482 c->cputype = CPU_NEVADA;
483 __cpu_name[cpu] = "Nevada";
453 c->isa_level = MIPS_CPU_ISA_IV; 484 c->isa_level = MIPS_CPU_ISA_IV;
454 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 485 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
455 MIPS_CPU_DIVEC | MIPS_CPU_LLSC; 486 MIPS_CPU_DIVEC | MIPS_CPU_LLSC;
@@ -457,6 +488,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
457 break; 488 break;
458 case PRID_IMP_R6000: 489 case PRID_IMP_R6000:
459 c->cputype = CPU_R6000; 490 c->cputype = CPU_R6000;
491 __cpu_name[cpu] = "R6000";
460 c->isa_level = MIPS_CPU_ISA_II; 492 c->isa_level = MIPS_CPU_ISA_II;
461 c->options = MIPS_CPU_TLB | MIPS_CPU_FPU | 493 c->options = MIPS_CPU_TLB | MIPS_CPU_FPU |
462 MIPS_CPU_LLSC; 494 MIPS_CPU_LLSC;
@@ -464,6 +496,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
464 break; 496 break;
465 case PRID_IMP_R6000A: 497 case PRID_IMP_R6000A:
466 c->cputype = CPU_R6000A; 498 c->cputype = CPU_R6000A;
499 __cpu_name[cpu] = "R6000A";
467 c->isa_level = MIPS_CPU_ISA_II; 500 c->isa_level = MIPS_CPU_ISA_II;
468 c->options = MIPS_CPU_TLB | MIPS_CPU_FPU | 501 c->options = MIPS_CPU_TLB | MIPS_CPU_FPU |
469 MIPS_CPU_LLSC; 502 MIPS_CPU_LLSC;
@@ -471,6 +504,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
471 break; 504 break;
472 case PRID_IMP_RM7000: 505 case PRID_IMP_RM7000:
473 c->cputype = CPU_RM7000; 506 c->cputype = CPU_RM7000;
507 __cpu_name[cpu] = "RM7000";
474 c->isa_level = MIPS_CPU_ISA_IV; 508 c->isa_level = MIPS_CPU_ISA_IV;
475 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 509 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
476 MIPS_CPU_LLSC; 510 MIPS_CPU_LLSC;
@@ -486,6 +520,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
486 break; 520 break;
487 case PRID_IMP_RM9000: 521 case PRID_IMP_RM9000:
488 c->cputype = CPU_RM9000; 522 c->cputype = CPU_RM9000;
523 __cpu_name[cpu] = "RM9000";
489 c->isa_level = MIPS_CPU_ISA_IV; 524 c->isa_level = MIPS_CPU_ISA_IV;
490 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 525 c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR |
491 MIPS_CPU_LLSC; 526 MIPS_CPU_LLSC;
@@ -500,6 +535,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
500 break; 535 break;
501 case PRID_IMP_R8000: 536 case PRID_IMP_R8000:
502 c->cputype = CPU_R8000; 537 c->cputype = CPU_R8000;
538 __cpu_name[cpu] = "RM8000";
503 c->isa_level = MIPS_CPU_ISA_IV; 539 c->isa_level = MIPS_CPU_ISA_IV;
504 c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX | 540 c->options = MIPS_CPU_TLB | MIPS_CPU_4KEX |
505 MIPS_CPU_FPU | MIPS_CPU_32FPR | 541 MIPS_CPU_FPU | MIPS_CPU_32FPR |
@@ -508,6 +544,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
508 break; 544 break;
509 case PRID_IMP_R10000: 545 case PRID_IMP_R10000:
510 c->cputype = CPU_R10000; 546 c->cputype = CPU_R10000;
547 __cpu_name[cpu] = "R10000";
511 c->isa_level = MIPS_CPU_ISA_IV; 548 c->isa_level = MIPS_CPU_ISA_IV;
512 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX | 549 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |
513 MIPS_CPU_FPU | MIPS_CPU_32FPR | 550 MIPS_CPU_FPU | MIPS_CPU_32FPR |
@@ -517,6 +554,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
517 break; 554 break;
518 case PRID_IMP_R12000: 555 case PRID_IMP_R12000:
519 c->cputype = CPU_R12000; 556 c->cputype = CPU_R12000;
557 __cpu_name[cpu] = "R12000";
520 c->isa_level = MIPS_CPU_ISA_IV; 558 c->isa_level = MIPS_CPU_ISA_IV;
521 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX | 559 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |
522 MIPS_CPU_FPU | MIPS_CPU_32FPR | 560 MIPS_CPU_FPU | MIPS_CPU_32FPR |
@@ -526,6 +564,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
526 break; 564 break;
527 case PRID_IMP_R14000: 565 case PRID_IMP_R14000:
528 c->cputype = CPU_R14000; 566 c->cputype = CPU_R14000;
567 __cpu_name[cpu] = "R14000";
529 c->isa_level = MIPS_CPU_ISA_IV; 568 c->isa_level = MIPS_CPU_ISA_IV;
530 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX | 569 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |
531 MIPS_CPU_FPU | MIPS_CPU_32FPR | 570 MIPS_CPU_FPU | MIPS_CPU_32FPR |
@@ -535,6 +574,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
535 break; 574 break;
536 case PRID_IMP_LOONGSON2: 575 case PRID_IMP_LOONGSON2:
537 c->cputype = CPU_LOONGSON2; 576 c->cputype = CPU_LOONGSON2;
577 __cpu_name[cpu] = "ICT Loongson-2";
538 c->isa_level = MIPS_CPU_ISA_III; 578 c->isa_level = MIPS_CPU_ISA_III;
539 c->options = R4K_OPTS | 579 c->options = R4K_OPTS |
540 MIPS_CPU_FPU | MIPS_CPU_LLSC | 580 MIPS_CPU_FPU | MIPS_CPU_LLSC |
@@ -652,21 +692,24 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
652 692
653static void __cpuinit decode_configs(struct cpuinfo_mips *c) 693static void __cpuinit decode_configs(struct cpuinfo_mips *c)
654{ 694{
695 int ok;
696
655 /* MIPS32 or MIPS64 compliant CPU. */ 697 /* MIPS32 or MIPS64 compliant CPU. */
656 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | 698 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER |
657 MIPS_CPU_DIVEC | MIPS_CPU_LLSC | MIPS_CPU_MCHECK; 699 MIPS_CPU_DIVEC | MIPS_CPU_LLSC | MIPS_CPU_MCHECK;
658 700
659 c->scache.flags = MIPS_CACHE_NOT_PRESENT; 701 c->scache.flags = MIPS_CACHE_NOT_PRESENT;
660 702
661 /* Read Config registers. */ 703 ok = decode_config0(c); /* Read Config registers. */
662 if (!decode_config0(c)) 704 BUG_ON(!ok); /* Arch spec violation! */
663 return; /* actually worth a panic() */ 705 if (ok)
664 if (!decode_config1(c)) 706 ok = decode_config1(c);
665 return; 707 if (ok)
666 if (!decode_config2(c)) 708 ok = decode_config2(c);
667 return; 709 if (ok)
668 if (!decode_config3(c)) 710 ok = decode_config3(c);
669 return; 711
712 mips_probe_watch_registers(c);
670} 713}
671 714
672#ifdef CONFIG_CPU_MIPSR2 715#ifdef CONFIG_CPU_MIPSR2
@@ -675,52 +718,62 @@ extern void spram_config(void);
675static inline void spram_config(void) {} 718static inline void spram_config(void) {}
676#endif 719#endif
677 720
678static inline void cpu_probe_mips(struct cpuinfo_mips *c) 721static inline void cpu_probe_mips(struct cpuinfo_mips *c, unsigned int cpu)
679{ 722{
680 decode_configs(c); 723 decode_configs(c);
681 mips_probe_watch_registers(c);
682 switch (c->processor_id & 0xff00) { 724 switch (c->processor_id & 0xff00) {
683 case PRID_IMP_4KC: 725 case PRID_IMP_4KC:
684 c->cputype = CPU_4KC; 726 c->cputype = CPU_4KC;
727 __cpu_name[cpu] = "MIPS 4Kc";
685 break; 728 break;
686 case PRID_IMP_4KEC: 729 case PRID_IMP_4KEC:
687 c->cputype = CPU_4KEC; 730 c->cputype = CPU_4KEC;
731 __cpu_name[cpu] = "MIPS 4KEc";
688 break; 732 break;
689 case PRID_IMP_4KECR2: 733 case PRID_IMP_4KECR2:
690 c->cputype = CPU_4KEC; 734 c->cputype = CPU_4KEC;
735 __cpu_name[cpu] = "MIPS 4KEc";
691 break; 736 break;
692 case PRID_IMP_4KSC: 737 case PRID_IMP_4KSC:
693 case PRID_IMP_4KSD: 738 case PRID_IMP_4KSD:
694 c->cputype = CPU_4KSC; 739 c->cputype = CPU_4KSC;
740 __cpu_name[cpu] = "MIPS 4KSc";
695 break; 741 break;
696 case PRID_IMP_5KC: 742 case PRID_IMP_5KC:
697 c->cputype = CPU_5KC; 743 c->cputype = CPU_5KC;
744 __cpu_name[cpu] = "MIPS 5Kc";
698 break; 745 break;
699 case PRID_IMP_20KC: 746 case PRID_IMP_20KC:
700 c->cputype = CPU_20KC; 747 c->cputype = CPU_20KC;
748 __cpu_name[cpu] = "MIPS 20Kc";
701 break; 749 break;
702 case PRID_IMP_24K: 750 case PRID_IMP_24K:
703 case PRID_IMP_24KE: 751 case PRID_IMP_24KE:
704 c->cputype = CPU_24K; 752 c->cputype = CPU_24K;
753 __cpu_name[cpu] = "MIPS 24Kc";
705 break; 754 break;
706 case PRID_IMP_25KF: 755 case PRID_IMP_25KF:
707 c->cputype = CPU_25KF; 756 c->cputype = CPU_25KF;
757 __cpu_name[cpu] = "MIPS 25Kc";
708 break; 758 break;
709 case PRID_IMP_34K: 759 case PRID_IMP_34K:
710 c->cputype = CPU_34K; 760 c->cputype = CPU_34K;
761 __cpu_name[cpu] = "MIPS 34Kc";
711 break; 762 break;
712 case PRID_IMP_74K: 763 case PRID_IMP_74K:
713 c->cputype = CPU_74K; 764 c->cputype = CPU_74K;
765 __cpu_name[cpu] = "MIPS 74Kc";
714 break; 766 break;
715 case PRID_IMP_1004K: 767 case PRID_IMP_1004K:
716 c->cputype = CPU_1004K; 768 c->cputype = CPU_1004K;
769 __cpu_name[cpu] = "MIPS 1004Kc";
717 break; 770 break;
718 } 771 }
719 772
720 spram_config(); 773 spram_config();
721} 774}
722 775
723static inline void cpu_probe_alchemy(struct cpuinfo_mips *c) 776static inline void cpu_probe_alchemy(struct cpuinfo_mips *c, unsigned int cpu)
724{ 777{
725 decode_configs(c); 778 decode_configs(c);
726 switch (c->processor_id & 0xff00) { 779 switch (c->processor_id & 0xff00) {
@@ -729,23 +782,31 @@ static inline void cpu_probe_alchemy(struct cpuinfo_mips *c)
729 switch ((c->processor_id >> 24) & 0xff) { 782 switch ((c->processor_id >> 24) & 0xff) {
730 case 0: 783 case 0:
731 c->cputype = CPU_AU1000; 784 c->cputype = CPU_AU1000;
785 __cpu_name[cpu] = "Au1000";
732 break; 786 break;
733 case 1: 787 case 1:
734 c->cputype = CPU_AU1500; 788 c->cputype = CPU_AU1500;
789 __cpu_name[cpu] = "Au1500";
735 break; 790 break;
736 case 2: 791 case 2:
737 c->cputype = CPU_AU1100; 792 c->cputype = CPU_AU1100;
793 __cpu_name[cpu] = "Au1100";
738 break; 794 break;
739 case 3: 795 case 3:
740 c->cputype = CPU_AU1550; 796 c->cputype = CPU_AU1550;
797 __cpu_name[cpu] = "Au1550";
741 break; 798 break;
742 case 4: 799 case 4:
743 c->cputype = CPU_AU1200; 800 c->cputype = CPU_AU1200;
744 if (2 == (c->processor_id & 0xff)) 801 __cpu_name[cpu] = "Au1200";
802 if ((c->processor_id & 0xff) == 2) {
745 c->cputype = CPU_AU1250; 803 c->cputype = CPU_AU1250;
804 __cpu_name[cpu] = "Au1250";
805 }
746 break; 806 break;
747 case 5: 807 case 5:
748 c->cputype = CPU_AU1210; 808 c->cputype = CPU_AU1210;
809 __cpu_name[cpu] = "Au1210";
749 break; 810 break;
750 default: 811 default:
751 panic("Unknown Au Core!"); 812 panic("Unknown Au Core!");
@@ -755,154 +816,67 @@ static inline void cpu_probe_alchemy(struct cpuinfo_mips *c)
755 } 816 }
756} 817}
757 818
758static inline void cpu_probe_sibyte(struct cpuinfo_mips *c) 819static inline void cpu_probe_sibyte(struct cpuinfo_mips *c, unsigned int cpu)
759{ 820{
760 decode_configs(c); 821 decode_configs(c);
761 822
762 switch (c->processor_id & 0xff00) { 823 switch (c->processor_id & 0xff00) {
763 case PRID_IMP_SB1: 824 case PRID_IMP_SB1:
764 c->cputype = CPU_SB1; 825 c->cputype = CPU_SB1;
826 __cpu_name[cpu] = "SiByte SB1";
765 /* FPU in pass1 is known to have issues. */ 827 /* FPU in pass1 is known to have issues. */
766 if ((c->processor_id & 0xff) < 0x02) 828 if ((c->processor_id & 0xff) < 0x02)
767 c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR); 829 c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR);
768 break; 830 break;
769 case PRID_IMP_SB1A: 831 case PRID_IMP_SB1A:
770 c->cputype = CPU_SB1A; 832 c->cputype = CPU_SB1A;
833 __cpu_name[cpu] = "SiByte SB1A";
771 break; 834 break;
772 } 835 }
773} 836}
774 837
775static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c) 838static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c, unsigned int cpu)
776{ 839{
777 decode_configs(c); 840 decode_configs(c);
778 switch (c->processor_id & 0xff00) { 841 switch (c->processor_id & 0xff00) {
779 case PRID_IMP_SR71000: 842 case PRID_IMP_SR71000:
780 c->cputype = CPU_SR71000; 843 c->cputype = CPU_SR71000;
844 __cpu_name[cpu] = "Sandcraft SR71000";
781 c->scache.ways = 8; 845 c->scache.ways = 8;
782 c->tlbsize = 64; 846 c->tlbsize = 64;
783 break; 847 break;
784 } 848 }
785} 849}
786 850
787static inline void cpu_probe_nxp(struct cpuinfo_mips *c) 851static inline void cpu_probe_nxp(struct cpuinfo_mips *c, unsigned int cpu)
788{ 852{
789 decode_configs(c); 853 decode_configs(c);
790 switch (c->processor_id & 0xff00) { 854 switch (c->processor_id & 0xff00) {
791 case PRID_IMP_PR4450: 855 case PRID_IMP_PR4450:
792 c->cputype = CPU_PR4450; 856 c->cputype = CPU_PR4450;
857 __cpu_name[cpu] = "Philips PR4450";
793 c->isa_level = MIPS_CPU_ISA_M32R1; 858 c->isa_level = MIPS_CPU_ISA_M32R1;
794 break; 859 break;
795 default:
796 panic("Unknown NXP Core!"); /* REVISIT: die? */
797 break;
798 } 860 }
799} 861}
800 862
801 863static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
802static inline void cpu_probe_broadcom(struct cpuinfo_mips *c)
803{ 864{
804 decode_configs(c); 865 decode_configs(c);
805 switch (c->processor_id & 0xff00) { 866 switch (c->processor_id & 0xff00) {
806 case PRID_IMP_BCM3302: 867 case PRID_IMP_BCM3302:
807 c->cputype = CPU_BCM3302; 868 c->cputype = CPU_BCM3302;
869 __cpu_name[cpu] = "Broadcom BCM3302";
808 break; 870 break;
809 case PRID_IMP_BCM4710: 871 case PRID_IMP_BCM4710:
810 c->cputype = CPU_BCM4710; 872 c->cputype = CPU_BCM4710;
811 break; 873 __cpu_name[cpu] = "Broadcom BCM4710";
812 default:
813 c->cputype = CPU_UNKNOWN;
814 break; 874 break;
815 } 875 }
816} 876}
817 877
818const char *__cpu_name[NR_CPUS]; 878const char *__cpu_name[NR_CPUS];
819 879
820/*
821 * Name a CPU
822 */
823static __cpuinit const char *cpu_to_name(struct cpuinfo_mips *c)
824{
825 const char *name = NULL;
826
827 switch (c->cputype) {
828 case CPU_UNKNOWN: name = "unknown"; break;
829 case CPU_R2000: name = "R2000"; break;
830 case CPU_R3000: name = "R3000"; break;
831 case CPU_R3000A: name = "R3000A"; break;
832 case CPU_R3041: name = "R3041"; break;
833 case CPU_R3051: name = "R3051"; break;
834 case CPU_R3052: name = "R3052"; break;
835 case CPU_R3081: name = "R3081"; break;
836 case CPU_R3081E: name = "R3081E"; break;
837 case CPU_R4000PC: name = "R4000PC"; break;
838 case CPU_R4000SC: name = "R4000SC"; break;
839 case CPU_R4000MC: name = "R4000MC"; break;
840 case CPU_R4200: name = "R4200"; break;
841 case CPU_R4400PC: name = "R4400PC"; break;
842 case CPU_R4400SC: name = "R4400SC"; break;
843 case CPU_R4400MC: name = "R4400MC"; break;
844 case CPU_R4600: name = "R4600"; break;
845 case CPU_R6000: name = "R6000"; break;
846 case CPU_R6000A: name = "R6000A"; break;
847 case CPU_R8000: name = "R8000"; break;
848 case CPU_R10000: name = "R10000"; break;
849 case CPU_R12000: name = "R12000"; break;
850 case CPU_R14000: name = "R14000"; break;
851 case CPU_R4300: name = "R4300"; break;
852 case CPU_R4650: name = "R4650"; break;
853 case CPU_R4700: name = "R4700"; break;
854 case CPU_R5000: name = "R5000"; break;
855 case CPU_R5000A: name = "R5000A"; break;
856 case CPU_R4640: name = "R4640"; break;
857 case CPU_NEVADA: name = "Nevada"; break;
858 case CPU_RM7000: name = "RM7000"; break;
859 case CPU_RM9000: name = "RM9000"; break;
860 case CPU_R5432: name = "R5432"; break;
861 case CPU_4KC: name = "MIPS 4Kc"; break;
862 case CPU_5KC: name = "MIPS 5Kc"; break;
863 case CPU_R4310: name = "R4310"; break;
864 case CPU_SB1: name = "SiByte SB1"; break;
865 case CPU_SB1A: name = "SiByte SB1A"; break;
866 case CPU_TX3912: name = "TX3912"; break;
867 case CPU_TX3922: name = "TX3922"; break;
868 case CPU_TX3927: name = "TX3927"; break;
869 case CPU_AU1000: name = "Au1000"; break;
870 case CPU_AU1500: name = "Au1500"; break;
871 case CPU_AU1100: name = "Au1100"; break;
872 case CPU_AU1550: name = "Au1550"; break;
873 case CPU_AU1200: name = "Au1200"; break;
874 case CPU_AU1210: name = "Au1210"; break;
875 case CPU_AU1250: name = "Au1250"; break;
876 case CPU_4KEC: name = "MIPS 4KEc"; break;
877 case CPU_4KSC: name = "MIPS 4KSc"; break;
878 case CPU_VR41XX: name = "NEC Vr41xx"; break;
879 case CPU_R5500: name = "R5500"; break;
880 case CPU_TX49XX: name = "TX49xx"; break;
881 case CPU_20KC: name = "MIPS 20Kc"; break;
882 case CPU_24K: name = "MIPS 24K"; break;
883 case CPU_25KF: name = "MIPS 25Kf"; break;
884 case CPU_34K: name = "MIPS 34K"; break;
885 case CPU_1004K: name = "MIPS 1004K"; break;
886 case CPU_74K: name = "MIPS 74K"; break;
887 case CPU_VR4111: name = "NEC VR4111"; break;
888 case CPU_VR4121: name = "NEC VR4121"; break;
889 case CPU_VR4122: name = "NEC VR4122"; break;
890 case CPU_VR4131: name = "NEC VR4131"; break;
891 case CPU_VR4133: name = "NEC VR4133"; break;
892 case CPU_VR4181: name = "NEC VR4181"; break;
893 case CPU_VR4181A: name = "NEC VR4181A"; break;
894 case CPU_SR71000: name = "Sandcraft SR71000"; break;
895 case CPU_BCM3302: name = "Broadcom BCM3302"; break;
896 case CPU_BCM4710: name = "Broadcom BCM4710"; break;
897 case CPU_PR4450: name = "Philips PR4450"; break;
898 case CPU_LOONGSON2: name = "ICT Loongson-2"; break;
899 default:
900 BUG();
901 }
902
903 return name;
904}
905
906__cpuinit void cpu_probe(void) 880__cpuinit void cpu_probe(void)
907{ 881{
908 struct cpuinfo_mips *c = &current_cpu_data; 882 struct cpuinfo_mips *c = &current_cpu_data;
@@ -915,30 +889,31 @@ __cpuinit void cpu_probe(void)
915 c->processor_id = read_c0_prid(); 889 c->processor_id = read_c0_prid();
916 switch (c->processor_id & 0xff0000) { 890 switch (c->processor_id & 0xff0000) {
917 case PRID_COMP_LEGACY: 891 case PRID_COMP_LEGACY:
918 cpu_probe_legacy(c); 892 cpu_probe_legacy(c, cpu);
919 break; 893 break;
920 case PRID_COMP_MIPS: 894 case PRID_COMP_MIPS:
921 cpu_probe_mips(c); 895 cpu_probe_mips(c, cpu);
922 break; 896 break;
923 case PRID_COMP_ALCHEMY: 897 case PRID_COMP_ALCHEMY:
924 cpu_probe_alchemy(c); 898 cpu_probe_alchemy(c, cpu);
925 break; 899 break;
926 case PRID_COMP_SIBYTE: 900 case PRID_COMP_SIBYTE:
927 cpu_probe_sibyte(c); 901 cpu_probe_sibyte(c, cpu);
928 break; 902 break;
929 case PRID_COMP_BROADCOM: 903 case PRID_COMP_BROADCOM:
930 cpu_probe_broadcom(c); 904 cpu_probe_broadcom(c, cpu);
931 break; 905 break;
932 case PRID_COMP_SANDCRAFT: 906 case PRID_COMP_SANDCRAFT:
933 cpu_probe_sandcraft(c); 907 cpu_probe_sandcraft(c, cpu);
934 break; 908 break;
935 case PRID_COMP_NXP: 909 case PRID_COMP_NXP:
936 cpu_probe_nxp(c); 910 cpu_probe_nxp(c, cpu);
937 break; 911 break;
938 default:
939 c->cputype = CPU_UNKNOWN;
940 } 912 }
941 913
914 BUG_ON(!__cpu_name[cpu]);
915 BUG_ON(c->cputype == CPU_UNKNOWN);
916
942 /* 917 /*
943 * Platform code can force the cpu type to optimize code 918 * Platform code can force the cpu type to optimize code
944 * generation. In that case be sure the cpu type is correctly 919 * generation. In that case be sure the cpu type is correctly
@@ -958,8 +933,6 @@ __cpuinit void cpu_probe(void)
958 } 933 }
959 } 934 }
960 935
961 __cpu_name[cpu] = cpu_to_name(c);
962
963 if (cpu_has_mips_r2) 936 if (cpu_has_mips_r2)
964 c->srsets = ((read_c0_srsctl() >> 26) & 0x0f) + 1; 937 c->srsets = ((read_c0_srsctl() >> 26) & 0x0f) + 1;
965 else 938 else
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index 5e75a316f6b1..759f68066b5d 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -180,7 +180,7 @@ bad_stack:
180 * The system call does not exist in this kernel 180 * The system call does not exist in this kernel
181 */ 181 */
182illegal_syscall: 182illegal_syscall:
183 li v0, -ENOSYS # error 183 li v0, ENOSYS # error
184 sw v0, PT_R2(sp) 184 sw v0, PT_R2(sp)
185 li t0, 1 # set error flag 185 li t0, 1 # set error flag
186 sw t0, PT_R7(sp) 186 sw t0, PT_R7(sp)
@@ -293,7 +293,7 @@ bad_alignment:
293 jr t2 293 jr t2
294 /* Unreached */ 294 /* Unreached */
295 295
296einval: li v0, -EINVAL 296einval: li v0, -ENOSYS
297 jr ra 297 jr ra
298 END(sys_syscall) 298 END(sys_syscall)
299 299
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 3d58204c9d44..a9e171618994 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -117,7 +117,7 @@ syscall_trace_entry:
117 117
118illegal_syscall: 118illegal_syscall:
119 /* This also isn't a 64-bit syscall, throw an error. */ 119 /* This also isn't a 64-bit syscall, throw an error. */
120 li v0, -ENOSYS # error 120 li v0, ENOSYS # error
121 sd v0, PT_R2(sp) 121 sd v0, PT_R2(sp)
122 li t0, 1 # set error flag 122 li t0, 1 # set error flag
123 sd t0, PT_R7(sp) 123 sd t0, PT_R7(sp)
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 16f8edfe5cdc..4430a1f8fdf1 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -601,8 +601,8 @@ static int __init debugfs_mips(void)
601 struct dentry *d; 601 struct dentry *d;
602 602
603 d = debugfs_create_dir("mips", NULL); 603 d = debugfs_create_dir("mips", NULL);
604 if (IS_ERR(d)) 604 if (!d)
605 return PTR_ERR(d); 605 return -ENOMEM;
606 mips_debugfs_dir = d; 606 mips_debugfs_dir = d;
607 return 0; 607 return 0;
608} 608}
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 7b59cfb7e602..8bf88faf5afd 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -163,8 +163,10 @@ static void stop_this_cpu(void *dummy)
163 * Remove this CPU: 163 * Remove this CPU:
164 */ 164 */
165 cpu_clear(smp_processor_id(), cpu_online_map); 165 cpu_clear(smp_processor_id(), cpu_online_map);
166 local_irq_enable(); /* May need to service _machine_restart IPI */ 166 for (;;) {
167 for (;;); /* Wait if available. */ 167 if (cpu_wait)
168 (*cpu_wait)(); /* Wait if available. */
169 }
168} 170}
169 171
170void smp_send_stop(void) 172void smp_send_stop(void)
@@ -193,12 +195,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
193/* preload SMP state for boot cpu */ 195/* preload SMP state for boot cpu */
194void __devinit smp_prepare_boot_cpu(void) 196void __devinit smp_prepare_boot_cpu(void)
195{ 197{
196 /*
197 * This assumes that bootup is always handled by the processor
198 * with the logic and physical number 0.
199 */
200 __cpu_number_map[0] = 0;
201 __cpu_logical_map[0] = 0;
202 cpu_set(0, phys_cpu_present_map); 198 cpu_set(0, phys_cpu_present_map);
203 cpu_set(0, cpu_online_map); 199 cpu_set(0, cpu_online_map);
204 cpu_set(0, cpu_callin_map); 200 cpu_set(0, cpu_callin_map);
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 80b9e070c207..353056110f2b 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -32,6 +32,7 @@
32#include <asm/cpu.h> 32#include <asm/cpu.h>
33#include <asm/dsp.h> 33#include <asm/dsp.h>
34#include <asm/fpu.h> 34#include <asm/fpu.h>
35#include <asm/fpu_emulator.h>
35#include <asm/mipsregs.h> 36#include <asm/mipsregs.h>
36#include <asm/mipsmtregs.h> 37#include <asm/mipsmtregs.h>
37#include <asm/module.h> 38#include <asm/module.h>
@@ -722,6 +723,21 @@ static void do_trap_or_bp(struct pt_regs *regs, unsigned int code,
722 die_if_kernel("Kernel bug detected", regs); 723 die_if_kernel("Kernel bug detected", regs);
723 force_sig(SIGTRAP, current); 724 force_sig(SIGTRAP, current);
724 break; 725 break;
726 case BRK_MEMU:
727 /*
728 * Address errors may be deliberately induced by the FPU
729 * emulator to retake control of the CPU after executing the
730 * instruction in the delay slot of an emulated branch.
731 *
732 * Terminate if exception was recognized as a delay slot return
733 * otherwise handle as normal.
734 */
735 if (do_dsemulret(regs))
736 return;
737
738 die_if_kernel("Math emu break/trap", regs);
739 force_sig(SIGTRAP, current);
740 break;
725 default: 741 default:
726 scnprintf(b, sizeof(b), "%s instruction in kernel code", str); 742 scnprintf(b, sizeof(b), "%s instruction in kernel code", str);
727 die_if_kernel(b, regs); 743 die_if_kernel(b, regs);
@@ -1555,6 +1571,8 @@ void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
1555#ifdef CONFIG_64BIT 1571#ifdef CONFIG_64BIT
1556 unsigned long uncached_ebase = TO_UNCAC(ebase); 1572 unsigned long uncached_ebase = TO_UNCAC(ebase);
1557#endif 1573#endif
1574 if (cpu_has_mips_r2)
1575 ebase += (read_c0_ebase() & 0x3ffff000);
1558 1576
1559 if (!addr) 1577 if (!addr)
1560 panic(panic_null_cerr); 1578 panic(panic_null_cerr);
@@ -1588,8 +1606,11 @@ void __init trap_init(void)
1588 1606
1589 if (cpu_has_veic || cpu_has_vint) 1607 if (cpu_has_veic || cpu_has_vint)
1590 ebase = (unsigned long) alloc_bootmem_low_pages(0x200 + VECTORSPACING*64); 1608 ebase = (unsigned long) alloc_bootmem_low_pages(0x200 + VECTORSPACING*64);
1591 else 1609 else {
1592 ebase = CAC_BASE; 1610 ebase = CAC_BASE;
1611 if (cpu_has_mips_r2)
1612 ebase += (read_c0_ebase() & 0x3ffff000);
1613 }
1593 1614
1594 per_cpu_trap_init(); 1615 per_cpu_trap_init();
1595 1616
@@ -1697,11 +1718,11 @@ void __init trap_init(void)
1697 1718
1698 if (cpu_has_vce) 1719 if (cpu_has_vce)
1699 /* Special exception: R4[04]00 uses also the divec space. */ 1720 /* Special exception: R4[04]00 uses also the divec space. */
1700 memcpy((void *)(CAC_BASE + 0x180), &except_vec3_r4000, 0x100); 1721 memcpy((void *)(ebase + 0x180), &except_vec3_r4000, 0x100);
1701 else if (cpu_has_4kex) 1722 else if (cpu_has_4kex)
1702 memcpy((void *)(CAC_BASE + 0x180), &except_vec3_generic, 0x80); 1723 memcpy((void *)(ebase + 0x180), &except_vec3_generic, 0x80);
1703 else 1724 else
1704 memcpy((void *)(CAC_BASE + 0x080), &except_vec3_generic, 0x80); 1725 memcpy((void *)(ebase + 0x080), &except_vec3_generic, 0x80);
1705 1726
1706 signal_init(); 1727 signal_init();
1707#ifdef CONFIG_MIPS32_COMPAT 1728#ifdef CONFIG_MIPS32_COMPAT
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index c327b21bca81..bf4c4a979abb 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -499,22 +499,10 @@ sigill:
499 499
500asmlinkage void do_ade(struct pt_regs *regs) 500asmlinkage void do_ade(struct pt_regs *regs)
501{ 501{
502 extern int do_dsemulret(struct pt_regs *);
503 unsigned int __user *pc; 502 unsigned int __user *pc;
504 mm_segment_t seg; 503 mm_segment_t seg;
505 504
506 /* 505 /*
507 * Address errors may be deliberately induced by the FPU emulator to
508 * retake control of the CPU after executing the instruction in the
509 * delay slot of an emulated branch.
510 */
511 /* Terminate if exception was recognized as a delay slot return */
512 if (do_dsemulret(regs))
513 return;
514
515 /* Otherwise handle as normal */
516
517 /*
518 * Did we catch a fault trying to load an instruction? 506 * Did we catch a fault trying to load an instruction?
519 * Or are we running in MIPS16 mode? 507 * Or are we running in MIPS16 mode?
520 */ 508 */
@@ -560,12 +548,12 @@ static int __init debugfs_unaligned(void)
560 return -ENODEV; 548 return -ENODEV;
561 d = debugfs_create_u32("unaligned_instructions", S_IRUGO, 549 d = debugfs_create_u32("unaligned_instructions", S_IRUGO,
562 mips_debugfs_dir, &unaligned_instructions); 550 mips_debugfs_dir, &unaligned_instructions);
563 if (IS_ERR(d)) 551 if (!d)
564 return PTR_ERR(d); 552 return -ENOMEM;
565 d = debugfs_create_u32("unaligned_action", S_IRUGO | S_IWUSR, 553 d = debugfs_create_u32("unaligned_action", S_IRUGO | S_IWUSR,
566 mips_debugfs_dir, &unaligned_action); 554 mips_debugfs_dir, &unaligned_action);
567 if (IS_ERR(d)) 555 if (!d)
568 return PTR_ERR(d); 556 return -ENOMEM;
569 return 0; 557 return 0;
570} 558}
571__initcall(debugfs_unaligned); 559__initcall(debugfs_unaligned);
diff --git a/arch/mips/lemote/lm2e/pci.c b/arch/mips/lemote/lm2e/pci.c
index c1e41f15cc7e..8be03a8e1ad4 100644
--- a/arch/mips/lemote/lm2e/pci.c
+++ b/arch/mips/lemote/lm2e/pci.c
@@ -30,19 +30,20 @@
30#include <linux/kernel.h> 30#include <linux/kernel.h>
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/mips-boards/bonito64.h> 32#include <asm/mips-boards/bonito64.h>
33#include <asm/mach-lemote/pci.h>
33 34
34extern struct pci_ops bonito64_pci_ops; 35extern struct pci_ops bonito64_pci_ops;
35 36
36static struct resource loongson2e_pci_mem_resource = { 37static struct resource loongson2e_pci_mem_resource = {
37 .name = "LOONGSON2E PCI MEM", 38 .name = "LOONGSON2E PCI MEM",
38 .start = 0x14000000UL, 39 .start = LOONGSON2E_PCI_MEM_START,
39 .end = 0x1fffffffUL, 40 .end = LOONGSON2E_PCI_MEM_END,
40 .flags = IORESOURCE_MEM, 41 .flags = IORESOURCE_MEM,
41}; 42};
42 43
43static struct resource loongson2e_pci_io_resource = { 44static struct resource loongson2e_pci_io_resource = {
44 .name = "LOONGSON2E PCI IO MEM", 45 .name = "LOONGSON2E PCI IO MEM",
45 .start = 0x00004000UL, 46 .start = LOONGSON2E_PCI_IO_START,
46 .end = IO_SPACE_LIMIT, 47 .end = IO_SPACE_LIMIT,
47 .flags = IORESOURCE_IO, 48 .flags = IORESOURCE_IO,
48}; 49};
@@ -82,6 +83,12 @@ static void __init ict_pcimap(void)
82static int __init pcibios_init(void) 83static int __init pcibios_init(void)
83{ 84{
84 ict_pcimap(); 85 ict_pcimap();
86
87 loongson2e_pci_controller.io_map_base =
88 (unsigned long) ioremap(LOONGSON2E_IO_PORT_BASE,
89 loongson2e_pci_io_resource.end -
90 loongson2e_pci_io_resource.start + 1);
91
85 register_pci_controller(&loongson2e_pci_controller); 92 register_pci_controller(&loongson2e_pci_controller);
86 93
87 return 0; 94 return 0;
diff --git a/arch/mips/lemote/lm2e/setup.c b/arch/mips/lemote/lm2e/setup.c
index 2cc6745991ab..ebd6ceaef2fd 100644
--- a/arch/mips/lemote/lm2e/setup.c
+++ b/arch/mips/lemote/lm2e/setup.c
@@ -34,6 +34,7 @@
34#include <asm/mc146818-time.h> 34#include <asm/mc146818-time.h>
35#include <asm/time.h> 35#include <asm/time.h>
36#include <asm/wbflush.h> 36#include <asm/wbflush.h>
37#include <asm/mach-lemote/pci.h>
37 38
38#ifdef CONFIG_VT 39#ifdef CONFIG_VT
39#include <linux/console.h> 40#include <linux/console.h>
@@ -42,12 +43,6 @@
42 43
43extern void mips_reboot_setup(void); 44extern void mips_reboot_setup(void);
44 45
45#ifdef CONFIG_64BIT
46#define PTR_PAD(p) ((0xffffffff00000000)|((unsigned long long)(p)))
47#else
48#define PTR_PAD(p) (p)
49#endif
50
51unsigned long cpu_clock_freq; 46unsigned long cpu_clock_freq;
52unsigned long bus_clock; 47unsigned long bus_clock;
53unsigned int memsize; 48unsigned int memsize;
@@ -80,8 +75,8 @@ static void wbflush_loongson2e(void)
80 75
81void __init plat_mem_setup(void) 76void __init plat_mem_setup(void)
82{ 77{
83 set_io_port_base(PTR_PAD(0xbfd00000)); 78 set_io_port_base((unsigned long)ioremap(LOONGSON2E_IO_PORT_BASE,
84 79 IO_SPACE_LIMIT - LOONGSON2E_PCI_IO_START + 1));
85 mips_reboot_setup(); 80 mips_reboot_setup();
86 81
87 __wbflush = wbflush_loongson2e; 82 __wbflush = wbflush_loongson2e;
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 8810dfb915dd..dbcf6511b74e 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_CPU_R4300) += dump_tlb.o
18obj-$(CONFIG_CPU_R4X00) += dump_tlb.o 18obj-$(CONFIG_CPU_R4X00) += dump_tlb.o
19obj-$(CONFIG_CPU_R5000) += dump_tlb.o 19obj-$(CONFIG_CPU_R5000) += dump_tlb.o
20obj-$(CONFIG_CPU_R5432) += dump_tlb.o 20obj-$(CONFIG_CPU_R5432) += dump_tlb.o
21obj-$(CONFIG_CPU_R5500) += dump_tlb.o
21obj-$(CONFIG_CPU_R6000) += 22obj-$(CONFIG_CPU_R6000) +=
22obj-$(CONFIG_CPU_R8000) += 23obj-$(CONFIG_CPU_R8000) +=
23obj-$(CONFIG_CPU_RM7000) += dump_tlb.o 24obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
diff --git a/arch/mips/lib/dump_tlb.c b/arch/mips/lib/dump_tlb.c
index 465ff0ec85b9..779821cd54ab 100644
--- a/arch/mips/lib/dump_tlb.c
+++ b/arch/mips/lib/dump_tlb.c
@@ -25,6 +25,7 @@ static inline const char *msk2str(unsigned int mask)
25 case PM_16M: return "16Mb"; 25 case PM_16M: return "16Mb";
26 case PM_64M: return "64Mb"; 26 case PM_64M: return "64Mb";
27 case PM_256M: return "256Mb"; 27 case PM_256M: return "256Mb";
28 case PM_1G: return "1Gb";
28#endif 29#endif
29 } 30 }
30 return ""; 31 return "";
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index b08fc65c13a6..890f77927d62 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -48,7 +48,6 @@
48#include <asm/branch.h> 48#include <asm/branch.h>
49 49
50#include "ieee754.h" 50#include "ieee754.h"
51#include "dsemul.h"
52 51
53/* Strap kernel emulator for full MIPS IV emulation */ 52/* Strap kernel emulator for full MIPS IV emulation */
54 53
@@ -346,9 +345,6 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx)
346 /* cop control register rd -> gpr[rt] */ 345 /* cop control register rd -> gpr[rt] */
347 u32 value; 346 u32 value;
348 347
349 if (ir == CP1UNDEF) {
350 return do_dsemulret(xcp);
351 }
352 if (MIPSInst_RD(ir) == FPCREG_CSR) { 348 if (MIPSInst_RD(ir) == FPCREG_CSR) {
353 value = ctx->fcr31; 349 value = ctx->fcr31;
354 value = (value & ~0x3) | mips_rm[value & 0x3]; 350 value = (value & ~0x3) | mips_rm[value & 0x3];
@@ -1299,12 +1295,12 @@ static int __init debugfs_fpuemu(void)
1299 if (!mips_debugfs_dir) 1295 if (!mips_debugfs_dir)
1300 return -ENODEV; 1296 return -ENODEV;
1301 dir = debugfs_create_dir("fpuemustats", mips_debugfs_dir); 1297 dir = debugfs_create_dir("fpuemustats", mips_debugfs_dir);
1302 if (IS_ERR(dir)) 1298 if (!dir)
1303 return PTR_ERR(dir); 1299 return -ENOMEM;
1304 for (i = 0; i < ARRAY_SIZE(vars); i++) { 1300 for (i = 0; i < ARRAY_SIZE(vars); i++) {
1305 d = debugfs_create_u32(vars[i].name, S_IRUGO, dir, vars[i].v); 1301 d = debugfs_create_u32(vars[i].name, S_IRUGO, dir, vars[i].v);
1306 if (IS_ERR(d)) 1302 if (!d)
1307 return PTR_ERR(d); 1303 return -ENOMEM;
1308 } 1304 }
1309 return 0; 1305 return 0;
1310} 1306}
diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c
index 653e325849e4..df7b9d928efc 100644
--- a/arch/mips/math-emu/dsemul.c
+++ b/arch/mips/math-emu/dsemul.c
@@ -18,7 +18,6 @@
18#include <asm/fpu_emulator.h> 18#include <asm/fpu_emulator.h>
19 19
20#include "ieee754.h" 20#include "ieee754.h"
21#include "dsemul.h"
22 21
23/* Strap kernel emulator for full MIPS IV emulation */ 22/* Strap kernel emulator for full MIPS IV emulation */
24 23
@@ -94,7 +93,7 @@ int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc)
94 return SIGBUS; 93 return SIGBUS;
95 94
96 err = __put_user(ir, &fr->emul); 95 err = __put_user(ir, &fr->emul);
97 err |= __put_user((mips_instruction)BADINST, &fr->badinst); 96 err |= __put_user((mips_instruction)BREAK_MATH, &fr->badinst);
98 err |= __put_user((mips_instruction)BD_COOKIE, &fr->cookie); 97 err |= __put_user((mips_instruction)BD_COOKIE, &fr->cookie);
99 err |= __put_user(cpc, &fr->epc); 98 err |= __put_user(cpc, &fr->epc);
100 99
@@ -130,13 +129,13 @@ int do_dsemulret(struct pt_regs *xcp)
130 /* 129 /*
131 * Do some sanity checking on the stackframe: 130 * Do some sanity checking on the stackframe:
132 * 131 *
133 * - Is the instruction pointed to by the EPC an BADINST? 132 * - Is the instruction pointed to by the EPC an BREAK_MATH?
134 * - Is the following memory word the BD_COOKIE? 133 * - Is the following memory word the BD_COOKIE?
135 */ 134 */
136 err = __get_user(insn, &fr->badinst); 135 err = __get_user(insn, &fr->badinst);
137 err |= __get_user(cookie, &fr->cookie); 136 err |= __get_user(cookie, &fr->cookie);
138 137
139 if (unlikely(err || (insn != BADINST) || (cookie != BD_COOKIE))) { 138 if (unlikely(err || (insn != BREAK_MATH) || (cookie != BD_COOKIE))) {
140 fpuemustats.errors++; 139 fpuemustats.errors++;
141 return 0; 140 return 0;
142 } 141 }
diff --git a/arch/mips/math-emu/dsemul.h b/arch/mips/math-emu/dsemul.h
deleted file mode 100644
index 091f0e76730f..000000000000
--- a/arch/mips/math-emu/dsemul.h
+++ /dev/null
@@ -1,17 +0,0 @@
1extern int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc);
2extern int do_dsemulret(struct pt_regs *xcp);
3
4/* Instruction which will always cause an address error */
5#define AdELOAD 0x8c000001 /* lw $0,1($0) */
6/* Instruction which will plainly cause a CP1 exception when FPU is disabled */
7#define CP1UNDEF 0x44400001 /* cfc1 $0,$0 undef */
8
9/* Instruction inserted following the badinst to further tag the sequence */
10#define BD_COOKIE 0x0000bd36 /* tne $0,$0 with baggage */
11
12/* Setup which instruction to use for trampoline */
13#ifdef STANDALONE_EMULATOR
14#define BADINST CP1UNDEF
15#else
16#define BADINST AdELOAD
17#endif
diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
index 44e8dd8106bf..95ba32b5b720 100644
--- a/arch/mips/mm/Makefile
+++ b/arch/mips/mm/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_CPU_R4300) += c-r4k.o cex-gen.o tlb-r4k.o
19obj-$(CONFIG_CPU_R4X00) += c-r4k.o cex-gen.o tlb-r4k.o 19obj-$(CONFIG_CPU_R4X00) += c-r4k.o cex-gen.o tlb-r4k.o
20obj-$(CONFIG_CPU_R5000) += c-r4k.o cex-gen.o tlb-r4k.o 20obj-$(CONFIG_CPU_R5000) += c-r4k.o cex-gen.o tlb-r4k.o
21obj-$(CONFIG_CPU_R5432) += c-r4k.o cex-gen.o tlb-r4k.o 21obj-$(CONFIG_CPU_R5432) += c-r4k.o cex-gen.o tlb-r4k.o
22obj-$(CONFIG_CPU_R5500) += c-r4k.o cex-gen.o tlb-r4k.o
22obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o tlb-r8k.o 23obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o tlb-r8k.o
23obj-$(CONFIG_CPU_RM7000) += c-r4k.o cex-gen.o tlb-r4k.o 24obj-$(CONFIG_CPU_RM7000) += c-r4k.o cex-gen.o tlb-r4k.o
24obj-$(CONFIG_CPU_RM9000) += c-r4k.o cex-gen.o tlb-r4k.o 25obj-$(CONFIG_CPU_RM9000) += c-r4k.o cex-gen.o tlb-r4k.o
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c
index 891312f8e5a6..5b98d0e731c2 100644
--- a/arch/mips/mm/dma-default.c
+++ b/arch/mips/mm/dma-default.c
@@ -324,7 +324,6 @@ void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
324 if (cpu_is_noncoherent_r10000(dev)) 324 if (cpu_is_noncoherent_r10000(dev))
325 __dma_sync((unsigned long)page_address(sg_page(sg)), 325 __dma_sync((unsigned long)page_address(sg_page(sg)),
326 sg->length, direction); 326 sg->length, direction);
327 plat_unmap_dma_mem(sg->dma_address);
328 } 327 }
329} 328}
330 329
@@ -342,7 +341,6 @@ void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nele
342 if (!plat_device_is_coherent(dev)) 341 if (!plat_device_is_coherent(dev))
343 __dma_sync((unsigned long)page_address(sg_page(sg)), 342 __dma_sync((unsigned long)page_address(sg_page(sg)),
344 sg->length, direction); 343 sg->length, direction);
345 plat_unmap_dma_mem(sg->dma_address);
346 } 344 }
347} 345}
348 346
diff --git a/arch/mips/nxp/pnx833x/common/Makefile b/arch/mips/nxp/pnx833x/common/Makefile
new file mode 100644
index 000000000000..4a16f3b503b5
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/Makefile
@@ -0,0 +1,3 @@
1obj-y := interrupts.o platform.o prom.o setup.o reset.o
2
3EXTRA_CFLAGS += -Werror
diff --git a/arch/mips/nxp/pnx833x/common/interrupts.c b/arch/mips/nxp/pnx833x/common/interrupts.c
new file mode 100644
index 000000000000..30533ba200e2
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/interrupts.c
@@ -0,0 +1,380 @@
1/*
2 * interrupts.c: Interrupt mappings for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.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 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#include <linux/kernel.h>
23#include <linux/irq.h>
24#include <linux/hardirq.h>
25#include <linux/interrupt.h>
26#include <asm/mipsregs.h>
27#include <asm/irq_cpu.h>
28#include <irq.h>
29#include <irq-mapping.h>
30#include <gpio.h>
31
32static int mips_cpu_timer_irq;
33
34static const unsigned int irq_prio[PNX833X_PIC_NUM_IRQ] =
35{
36 0, /* unused */
37 4, /* PNX833X_PIC_I2C0_INT 1 */
38 4, /* PNX833X_PIC_I2C1_INT 2 */
39 1, /* PNX833X_PIC_UART0_INT 3 */
40 1, /* PNX833X_PIC_UART1_INT 4 */
41 6, /* PNX833X_PIC_TS_IN0_DV_INT 5 */
42 6, /* PNX833X_PIC_TS_IN0_DMA_INT 6 */
43 7, /* PNX833X_PIC_GPIO_INT 7 */
44 4, /* PNX833X_PIC_AUDIO_DEC_INT 8 */
45 5, /* PNX833X_PIC_VIDEO_DEC_INT 9 */
46 4, /* PNX833X_PIC_CONFIG_INT 10 */
47 4, /* PNX833X_PIC_AOI_INT 11 */
48 9, /* PNX833X_PIC_SYNC_INT 12 */
49 9, /* PNX8335_PIC_SATA_INT 13 */
50 4, /* PNX833X_PIC_OSD_INT 14 */
51 9, /* PNX833X_PIC_DISP1_INT 15 */
52 4, /* PNX833X_PIC_DEINTERLACER_INT 16 */
53 9, /* PNX833X_PIC_DISPLAY2_INT 17 */
54 4, /* PNX833X_PIC_VC_INT 18 */
55 4, /* PNX833X_PIC_SC_INT 19 */
56 9, /* PNX833X_PIC_IDE_INT 20 */
57 9, /* PNX833X_PIC_IDE_DMA_INT 21 */
58 6, /* PNX833X_PIC_TS_IN1_DV_INT 22 */
59 6, /* PNX833X_PIC_TS_IN1_DMA_INT 23 */
60 4, /* PNX833X_PIC_SGDX_DMA_INT 24 */
61 4, /* PNX833X_PIC_TS_OUT_INT 25 */
62 4, /* PNX833X_PIC_IR_INT 26 */
63 3, /* PNX833X_PIC_VMSP1_INT 27 */
64 3, /* PNX833X_PIC_VMSP2_INT 28 */
65 4, /* PNX833X_PIC_PIBC_INT 29 */
66 4, /* PNX833X_PIC_TS_IN0_TRD_INT 30 */
67 4, /* PNX833X_PIC_SGDX_TPD_INT 31 */
68 5, /* PNX833X_PIC_USB_INT 32 */
69 4, /* PNX833X_PIC_TS_IN1_TRD_INT 33 */
70 4, /* PNX833X_PIC_CLOCK_INT 34 */
71 4, /* PNX833X_PIC_SGDX_PARSER_INT 35 */
72 4, /* PNX833X_PIC_VMSP_DMA_INT 36 */
73#if defined(CONFIG_SOC_PNX8335)
74 4, /* PNX8335_PIC_MIU_INT 37 */
75 4, /* PNX8335_PIC_AVCHIP_IRQ_INT 38 */
76 9, /* PNX8335_PIC_SYNC_HD_INT 39 */
77 9, /* PNX8335_PIC_DISP_HD_INT 40 */
78 9, /* PNX8335_PIC_DISP_SCALER_INT 41 */
79 4, /* PNX8335_PIC_OSD_HD1_INT 42 */
80 4, /* PNX8335_PIC_DTL_WRITER_Y_INT 43 */
81 4, /* PNX8335_PIC_DTL_WRITER_C_INT 44 */
82 4, /* PNX8335_PIC_DTL_EMULATOR_Y_IR_INT 45 */
83 4, /* PNX8335_PIC_DTL_EMULATOR_C_IR_INT 46 */
84 4, /* PNX8335_PIC_DENC_TTX_INT 47 */
85 4, /* PNX8335_PIC_MMI_SIF0_INT 48 */
86 4, /* PNX8335_PIC_MMI_SIF1_INT 49 */
87 4, /* PNX8335_PIC_MMI_CDMMU_INT 50 */
88 4, /* PNX8335_PIC_PIBCS_INT 51 */
89 12, /* PNX8335_PIC_ETHERNET_INT 52 */
90 3, /* PNX8335_PIC_VMSP1_0_INT 53 */
91 3, /* PNX8335_PIC_VMSP1_1_INT 54 */
92 4, /* PNX8335_PIC_VMSP1_DMA_INT 55 */
93 4, /* PNX8335_PIC_TDGR_DE_INT 56 */
94 4, /* PNX8335_PIC_IR1_IRQ_INT 57 */
95#endif
96};
97
98static void pnx833x_timer_dispatch(void)
99{
100 do_IRQ(mips_cpu_timer_irq);
101}
102
103static void pic_dispatch(void)
104{
105 unsigned int irq = PNX833X_REGFIELD(PIC_INT_SRC, INT_SRC);
106
107 if ((irq >= 1) && (irq < (PNX833X_PIC_NUM_IRQ))) {
108 unsigned long priority = PNX833X_PIC_INT_PRIORITY;
109 PNX833X_PIC_INT_PRIORITY = irq_prio[irq];
110
111 if (irq == PNX833X_PIC_GPIO_INT) {
112 unsigned long mask = PNX833X_PIO_INT_STATUS & PNX833X_PIO_INT_ENABLE;
113 int pin;
114 while ((pin = ffs(mask & 0xffff))) {
115 pin -= 1;
116 do_IRQ(PNX833X_GPIO_IRQ_BASE + pin);
117 mask &= ~(1 << pin);
118 }
119 } else {
120 do_IRQ(irq + PNX833X_PIC_IRQ_BASE);
121 }
122
123 PNX833X_PIC_INT_PRIORITY = priority;
124 } else {
125 printk(KERN_ERR "plat_irq_dispatch: unexpected irq %u\n", irq);
126 }
127}
128
129asmlinkage void plat_irq_dispatch(void)
130{
131 unsigned int pending = read_c0_status() & read_c0_cause();
132
133 if (pending & STATUSF_IP4)
134 pic_dispatch();
135 else if (pending & STATUSF_IP7)
136 do_IRQ(PNX833X_TIMER_IRQ);
137 else
138 spurious_interrupt();
139}
140
141static inline void pnx833x_hard_enable_pic_irq(unsigned int irq)
142{
143 /* Currently we do this by setting IRQ priority to 1.
144 If priority support is being implemented, 1 should be repalced
145 by a better value. */
146 PNX833X_PIC_INT_REG(irq) = irq_prio[irq];
147}
148
149static inline void pnx833x_hard_disable_pic_irq(unsigned int irq)
150{
151 /* Disable IRQ by writing setting it's priority to 0 */
152 PNX833X_PIC_INT_REG(irq) = 0;
153}
154
155static int irqflags[PNX833X_PIC_NUM_IRQ]; /* initialized by zeroes */
156#define IRQFLAG_STARTED 1
157#define IRQFLAG_DISABLED 2
158
159static DEFINE_SPINLOCK(pnx833x_irq_lock);
160
161static unsigned int pnx833x_startup_pic_irq(unsigned int irq)
162{
163 unsigned long flags;
164 unsigned int pic_irq = irq - PNX833X_PIC_IRQ_BASE;
165
166 spin_lock_irqsave(&pnx833x_irq_lock, flags);
167
168 irqflags[pic_irq] = IRQFLAG_STARTED; /* started, not disabled */
169 pnx833x_hard_enable_pic_irq(pic_irq);
170
171 spin_unlock_irqrestore(&pnx833x_irq_lock, flags);
172 return 0;
173}
174
175static void pnx833x_shutdown_pic_irq(unsigned int irq)
176{
177 unsigned long flags;
178 unsigned int pic_irq = irq - PNX833X_PIC_IRQ_BASE;
179
180 spin_lock_irqsave(&pnx833x_irq_lock, flags);
181
182 irqflags[pic_irq] = 0; /* not started */
183 pnx833x_hard_disable_pic_irq(pic_irq);
184
185 spin_unlock_irqrestore(&pnx833x_irq_lock, flags);
186}
187
188static void pnx833x_enable_pic_irq(unsigned int irq)
189{
190 unsigned long flags;
191 unsigned int pic_irq = irq - PNX833X_PIC_IRQ_BASE;
192
193 spin_lock_irqsave(&pnx833x_irq_lock, flags);
194
195 irqflags[pic_irq] &= ~IRQFLAG_DISABLED;
196 if (irqflags[pic_irq] == IRQFLAG_STARTED)
197 pnx833x_hard_enable_pic_irq(pic_irq);
198
199 spin_unlock_irqrestore(&pnx833x_irq_lock, flags);
200}
201
202static void pnx833x_disable_pic_irq(unsigned int irq)
203{
204 unsigned long flags;
205 unsigned int pic_irq = irq - PNX833X_PIC_IRQ_BASE;
206
207 spin_lock_irqsave(&pnx833x_irq_lock, flags);
208
209 irqflags[pic_irq] |= IRQFLAG_DISABLED;
210 pnx833x_hard_disable_pic_irq(pic_irq);
211
212 spin_unlock_irqrestore(&pnx833x_irq_lock, flags);
213}
214
215static void pnx833x_ack_pic_irq(unsigned int irq)
216{
217}
218
219static void pnx833x_end_pic_irq(unsigned int irq)
220{
221}
222
223static DEFINE_SPINLOCK(pnx833x_gpio_pnx833x_irq_lock);
224
225static unsigned int pnx833x_startup_gpio_irq(unsigned int irq)
226{
227 int pin = irq - PNX833X_GPIO_IRQ_BASE;
228 unsigned long flags;
229 spin_lock_irqsave(&pnx833x_gpio_pnx833x_irq_lock, flags);
230 pnx833x_gpio_enable_irq(pin);
231 spin_unlock_irqrestore(&pnx833x_gpio_pnx833x_irq_lock, flags);
232 return 0;
233}
234
235static void pnx833x_enable_gpio_irq(unsigned int irq)
236{
237 int pin = irq - PNX833X_GPIO_IRQ_BASE;
238 unsigned long flags;
239 spin_lock_irqsave(&pnx833x_gpio_pnx833x_irq_lock, flags);
240 pnx833x_gpio_enable_irq(pin);
241 spin_unlock_irqrestore(&pnx833x_gpio_pnx833x_irq_lock, flags);
242}
243
244static void pnx833x_disable_gpio_irq(unsigned int irq)
245{
246 int pin = irq - PNX833X_GPIO_IRQ_BASE;
247 unsigned long flags;
248 spin_lock_irqsave(&pnx833x_gpio_pnx833x_irq_lock, flags);
249 pnx833x_gpio_disable_irq(pin);
250 spin_unlock_irqrestore(&pnx833x_gpio_pnx833x_irq_lock, flags);
251}
252
253static void pnx833x_ack_gpio_irq(unsigned int irq)
254{
255}
256
257static void pnx833x_end_gpio_irq(unsigned int irq)
258{
259 int pin = irq - PNX833X_GPIO_IRQ_BASE;
260 unsigned long flags;
261 spin_lock_irqsave(&pnx833x_gpio_pnx833x_irq_lock, flags);
262 pnx833x_gpio_clear_irq(pin);
263 spin_unlock_irqrestore(&pnx833x_gpio_pnx833x_irq_lock, flags);
264}
265
266static int pnx833x_set_type_gpio_irq(unsigned int irq, unsigned int flow_type)
267{
268 int pin = irq - PNX833X_GPIO_IRQ_BASE;
269 int gpio_mode;
270
271 switch (flow_type) {
272 case IRQ_TYPE_EDGE_RISING:
273 gpio_mode = GPIO_INT_EDGE_RISING;
274 break;
275 case IRQ_TYPE_EDGE_FALLING:
276 gpio_mode = GPIO_INT_EDGE_FALLING;
277 break;
278 case IRQ_TYPE_EDGE_BOTH:
279 gpio_mode = GPIO_INT_EDGE_BOTH;
280 break;
281 case IRQ_TYPE_LEVEL_HIGH:
282 gpio_mode = GPIO_INT_LEVEL_HIGH;
283 break;
284 case IRQ_TYPE_LEVEL_LOW:
285 gpio_mode = GPIO_INT_LEVEL_LOW;
286 break;
287 default:
288 gpio_mode = GPIO_INT_NONE;
289 break;
290 }
291
292 pnx833x_gpio_setup_irq(gpio_mode, pin);
293
294 return 0;
295}
296
297static struct irq_chip pnx833x_pic_irq_type = {
298 .typename = "PNX-PIC",
299 .startup = pnx833x_startup_pic_irq,
300 .shutdown = pnx833x_shutdown_pic_irq,
301 .enable = pnx833x_enable_pic_irq,
302 .disable = pnx833x_disable_pic_irq,
303 .ack = pnx833x_ack_pic_irq,
304 .end = pnx833x_end_pic_irq
305};
306
307static struct irq_chip pnx833x_gpio_irq_type = {
308 .typename = "PNX-GPIO",
309 .startup = pnx833x_startup_gpio_irq,
310 .shutdown = pnx833x_disable_gpio_irq,
311 .enable = pnx833x_enable_gpio_irq,
312 .disable = pnx833x_disable_gpio_irq,
313 .ack = pnx833x_ack_gpio_irq,
314 .end = pnx833x_end_gpio_irq,
315 .set_type = pnx833x_set_type_gpio_irq
316};
317
318void __init arch_init_irq(void)
319{
320 unsigned int irq;
321
322 /* setup standard internal cpu irqs */
323 mips_cpu_irq_init();
324
325 /* Set IRQ information in irq_desc */
326 for (irq = PNX833X_PIC_IRQ_BASE; irq < (PNX833X_PIC_IRQ_BASE + PNX833X_PIC_NUM_IRQ); irq++) {
327 pnx833x_hard_disable_pic_irq(irq);
328 set_irq_chip_and_handler(irq, &pnx833x_pic_irq_type, handle_simple_irq);
329 }
330
331 for (irq = PNX833X_GPIO_IRQ_BASE; irq < (PNX833X_GPIO_IRQ_BASE + PNX833X_GPIO_NUM_IRQ); irq++)
332 set_irq_chip_and_handler(irq, &pnx833x_gpio_irq_type, handle_simple_irq);
333
334 /* Set PIC priority limiter register to 0 */
335 PNX833X_PIC_INT_PRIORITY = 0;
336
337 /* Setup GPIO IRQ dispatching */
338 pnx833x_startup_pic_irq(PNX833X_PIC_GPIO_INT);
339
340 /* Enable PIC IRQs (HWIRQ2) */
341 if (cpu_has_vint)
342 set_vi_handler(4, pic_dispatch);
343
344 write_c0_status(read_c0_status() | IE_IRQ2);
345}
346
347unsigned int __cpuinit get_c0_compare_int(void)
348{
349 if (cpu_has_vint)
350 set_vi_handler(cp0_compare_irq, pnx833x_timer_dispatch);
351
352 mips_cpu_timer_irq = MIPS_CPU_IRQ_BASE + cp0_compare_irq;
353 return mips_cpu_timer_irq;
354}
355
356void __init plat_time_init(void)
357{
358 /* calculate mips_hpt_frequency based on PNX833X_CLOCK_CPUCP_CTL reg */
359
360 extern unsigned long mips_hpt_frequency;
361 unsigned long reg = PNX833X_CLOCK_CPUCP_CTL;
362
363 if (!(PNX833X_BIT(reg, CLOCK_CPUCP_CTL, EXIT_RESET))) {
364 /* Functional clock is disabled so use crystal frequency */
365 mips_hpt_frequency = 25;
366 } else {
367#if defined(CONFIG_SOC_PNX8335)
368 /* Functional clock is enabled, so get clock multiplier */
369 mips_hpt_frequency = 90 + (10 * PNX8335_REGFIELD(CLOCK_PLL_CPU_CTL, FREQ));
370#else
371 static const unsigned long int freq[4] = {240, 160, 120, 80};
372 mips_hpt_frequency = freq[PNX833X_FIELD(reg, CLOCK_CPUCP_CTL, DIV_CLOCK)];
373#endif
374 }
375
376 printk(KERN_INFO "CPU clock is %ld MHz\n", mips_hpt_frequency);
377
378 mips_hpt_frequency *= 500000;
379}
380
diff --git a/arch/mips/nxp/pnx833x/common/platform.c b/arch/mips/nxp/pnx833x/common/platform.c
new file mode 100644
index 000000000000..b1ccbcc18f78
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/platform.c
@@ -0,0 +1,319 @@
1/*
2 * platform.c: platform support for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.com>
7 *
8 * Based on software written by:
9 * Nikita Youshchenko <yoush@debian.org>, based on PNX8550 code.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25#include <linux/device.h>
26#include <linux/dma-mapping.h>
27#include <linux/platform_device.h>
28#include <linux/kernel.h>
29#include <linux/init.h>
30#include <linux/resource.h>
31#include <linux/serial.h>
32#include <linux/serial_pnx8xxx.h>
33#include <linux/mtd/nand.h>
34#include <linux/mtd/partitions.h>
35
36#ifdef CONFIG_I2C_PNX0105
37/* Until i2c driver available in kernel.*/
38#include <linux/i2c-pnx0105.h>
39#endif
40
41#include <irq.h>
42#include <irq-mapping.h>
43#include <pnx833x.h>
44
45static u64 uart_dmamask = DMA_32BIT_MASK;
46
47static struct resource pnx833x_uart_resources[] = {
48 [0] = {
49 .start = PNX833X_UART0_PORTS_START,
50 .end = PNX833X_UART0_PORTS_END,
51 .flags = IORESOURCE_MEM,
52 },
53 [1] = {
54 .start = PNX833X_PIC_UART0_INT,
55 .end = PNX833X_PIC_UART0_INT,
56 .flags = IORESOURCE_IRQ,
57 },
58 [2] = {
59 .start = PNX833X_UART1_PORTS_START,
60 .end = PNX833X_UART1_PORTS_END,
61 .flags = IORESOURCE_MEM,
62 },
63 [3] = {
64 .start = PNX833X_PIC_UART1_INT,
65 .end = PNX833X_PIC_UART1_INT,
66 .flags = IORESOURCE_IRQ,
67 },
68};
69
70struct pnx8xxx_port pnx8xxx_ports[] = {
71 [0] = {
72 .port = {
73 .type = PORT_PNX8XXX,
74 .iotype = UPIO_MEM,
75 .membase = (void __iomem *)PNX833X_UART0_PORTS_START,
76 .mapbase = PNX833X_UART0_PORTS_START,
77 .irq = PNX833X_PIC_UART0_INT,
78 .uartclk = 3692300,
79 .fifosize = 16,
80 .flags = UPF_BOOT_AUTOCONF,
81 .line = 0,
82 },
83 },
84 [1] = {
85 .port = {
86 .type = PORT_PNX8XXX,
87 .iotype = UPIO_MEM,
88 .membase = (void __iomem *)PNX833X_UART1_PORTS_START,
89 .mapbase = PNX833X_UART1_PORTS_START,
90 .irq = PNX833X_PIC_UART1_INT,
91 .uartclk = 3692300,
92 .fifosize = 16,
93 .flags = UPF_BOOT_AUTOCONF,
94 .line = 1,
95 },
96 },
97};
98
99static struct platform_device pnx833x_uart_device = {
100 .name = "pnx8xxx-uart",
101 .id = -1,
102 .dev = {
103 .dma_mask = &uart_dmamask,
104 .coherent_dma_mask = DMA_32BIT_MASK,
105 .platform_data = pnx8xxx_ports,
106 },
107 .num_resources = ARRAY_SIZE(pnx833x_uart_resources),
108 .resource = pnx833x_uart_resources,
109};
110
111static u64 ehci_dmamask = DMA_32BIT_MASK;
112
113static struct resource pnx833x_usb_ehci_resources[] = {
114 [0] = {
115 .start = PNX833X_USB_PORTS_START,
116 .end = PNX833X_USB_PORTS_END,
117 .flags = IORESOURCE_MEM,
118 },
119 [1] = {
120 .start = PNX833X_PIC_USB_INT,
121 .end = PNX833X_PIC_USB_INT,
122 .flags = IORESOURCE_IRQ,
123 },
124};
125
126static struct platform_device pnx833x_usb_ehci_device = {
127 .name = "pnx833x-ehci",
128 .id = -1,
129 .dev = {
130 .dma_mask = &ehci_dmamask,
131 .coherent_dma_mask = DMA_32BIT_MASK,
132 },
133 .num_resources = ARRAY_SIZE(pnx833x_usb_ehci_resources),
134 .resource = pnx833x_usb_ehci_resources,
135};
136
137#ifdef CONFIG_I2C_PNX0105
138static struct resource pnx833x_i2c0_resources[] = {
139 {
140 .start = PNX833X_I2C0_PORTS_START,
141 .end = PNX833X_I2C0_PORTS_END,
142 .flags = IORESOURCE_MEM,
143 },
144 {
145 .start = PNX833X_PIC_I2C0_INT,
146 .end = PNX833X_PIC_I2C0_INT,
147 .flags = IORESOURCE_IRQ,
148 },
149};
150
151static struct resource pnx833x_i2c1_resources[] = {
152 {
153 .start = PNX833X_I2C1_PORTS_START,
154 .end = PNX833X_I2C1_PORTS_END,
155 .flags = IORESOURCE_MEM,
156 },
157 {
158 .start = PNX833X_PIC_I2C1_INT,
159 .end = PNX833X_PIC_I2C1_INT,
160 .flags = IORESOURCE_IRQ,
161 },
162};
163
164static struct i2c_pnx0105_dev pnx833x_i2c_dev[] = {
165 {
166 .base = PNX833X_I2C0_PORTS_START,
167 .irq = -1, /* should be PNX833X_PIC_I2C0_INT but polling is faster */
168 .clock = 6, /* 0 == 400 kHz, 4 == 100 kHz(Maximum HDMI), 6 = 50kHz(Prefered HDCP) */
169 .bus_addr = 0, /* no slave support */
170 },
171 {
172 .base = PNX833X_I2C1_PORTS_START,
173 .irq = -1, /* on high freq, polling is faster */
174 /*.irq = PNX833X_PIC_I2C1_INT,*/
175 .clock = 4, /* 0 == 400 kHz, 4 == 100 kHz. 100 kHz seems a safe default for now */
176 .bus_addr = 0, /* no slave support */
177 },
178};
179
180static struct platform_device pnx833x_i2c0_device = {
181 .name = "i2c-pnx0105",
182 .id = 0,
183 .dev = {
184 .platform_data = &pnx833x_i2c_dev[0],
185 },
186 .num_resources = ARRAY_SIZE(pnx833x_i2c0_resources),
187 .resource = pnx833x_i2c0_resources,
188};
189
190static struct platform_device pnx833x_i2c1_device = {
191 .name = "i2c-pnx0105",
192 .id = 1,
193 .dev = {
194 .platform_data = &pnx833x_i2c_dev[1],
195 },
196 .num_resources = ARRAY_SIZE(pnx833x_i2c1_resources),
197 .resource = pnx833x_i2c1_resources,
198};
199#endif
200
201static u64 ethernet_dmamask = DMA_32BIT_MASK;
202
203static struct resource pnx833x_ethernet_resources[] = {
204 [0] = {
205 .start = PNX8335_IP3902_PORTS_START,
206 .end = PNX8335_IP3902_PORTS_END,
207 .flags = IORESOURCE_MEM,
208 },
209 [1] = {
210 .start = PNX8335_PIC_ETHERNET_INT,
211 .end = PNX8335_PIC_ETHERNET_INT,
212 .flags = IORESOURCE_IRQ,
213 },
214};
215
216static struct platform_device pnx833x_ethernet_device = {
217 .name = "ip3902-eth",
218 .id = -1,
219 .dev = {
220 .dma_mask = &ethernet_dmamask,
221 .coherent_dma_mask = DMA_32BIT_MASK,
222 },
223 .num_resources = ARRAY_SIZE(pnx833x_ethernet_resources),
224 .resource = pnx833x_ethernet_resources,
225};
226
227static struct resource pnx833x_sata_resources[] = {
228 [0] = {
229 .start = PNX8335_SATA_PORTS_START,
230 .end = PNX8335_SATA_PORTS_END,
231 .flags = IORESOURCE_MEM,
232 },
233 [1] = {
234 .start = PNX8335_PIC_SATA_INT,
235 .end = PNX8335_PIC_SATA_INT,
236 .flags = IORESOURCE_IRQ,
237 },
238};
239
240static struct platform_device pnx833x_sata_device = {
241 .name = "pnx833x-sata",
242 .id = -1,
243 .num_resources = ARRAY_SIZE(pnx833x_sata_resources),
244 .resource = pnx833x_sata_resources,
245};
246
247static const char *part_probes[] = {
248 "cmdlinepart",
249 NULL
250};
251
252static void
253pnx833x_flash_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
254{
255 struct nand_chip *this = mtd->priv;
256 unsigned long nandaddr = (unsigned long)this->IO_ADDR_W;
257
258 if (cmd == NAND_CMD_NONE)
259 return;
260
261 if (ctrl & NAND_CLE)
262 writeb(cmd, (void __iomem *)(nandaddr + PNX8335_NAND_CLE_MASK));
263 else
264 writeb(cmd, (void __iomem *)(nandaddr + PNX8335_NAND_ALE_MASK));
265}
266
267static struct platform_nand_data pnx833x_flash_nand_data = {
268 .chip = {
269 .chip_delay = 25,
270 .part_probe_types = part_probes,
271 },
272 .ctrl = {
273 .cmd_ctrl = pnx833x_flash_nand_cmd_ctrl
274 }
275};
276
277/*
278 * Set start to be the correct address (PNX8335_NAND_BASE with no 0xb!!),
279 * 12 bytes more seems to be the standard that allows for NAND access.
280 */
281static struct resource pnx833x_flash_nand_resource = {
282 .start = PNX8335_NAND_BASE,
283 .end = PNX8335_NAND_BASE + 12,
284 .flags = IORESOURCE_MEM,
285};
286
287static struct platform_device pnx833x_flash_nand = {
288 .name = "gen_nand",
289 .id = -1,
290 .num_resources = 1,
291 .resource = &pnx833x_flash_nand_resource,
292 .dev = {
293 .platform_data = &pnx833x_flash_nand_data,
294 },
295};
296
297static struct platform_device *pnx833x_platform_devices[] __initdata = {
298 &pnx833x_uart_device,
299 &pnx833x_usb_ehci_device,
300#ifdef CONFIG_I2C_PNX0105
301 &pnx833x_i2c0_device,
302 &pnx833x_i2c1_device,
303#endif
304 &pnx833x_ethernet_device,
305 &pnx833x_sata_device,
306 &pnx833x_flash_nand,
307};
308
309static int __init pnx833x_platform_init(void)
310{
311 int res;
312
313 res = platform_add_devices(pnx833x_platform_devices,
314 ARRAY_SIZE(pnx833x_platform_devices));
315
316 return res;
317}
318
319arch_initcall(pnx833x_platform_init);
diff --git a/arch/mips/nxp/pnx833x/common/prom.c b/arch/mips/nxp/pnx833x/common/prom.c
new file mode 100644
index 000000000000..2a41e8fec210
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/prom.c
@@ -0,0 +1,70 @@
1/*
2 * prom.c:
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.com>
7 *
8 * Based on software written by:
9 * Nikita Youshchenko <yoush@debian.org>, based on PNX8550 code.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25#include <linux/init.h>
26#include <asm/bootinfo.h>
27#include <linux/string.h>
28
29void __init prom_init_cmdline(void)
30{
31 int argc = fw_arg0;
32 char **argv = (char **)fw_arg1;
33 char *c = &(arcs_cmdline[0]);
34 int i;
35
36 for (i = 1; i < argc; i++) {
37 strcpy(c, argv[i]);
38 c += strlen(argv[i]);
39 if (i < argc-1)
40 *c++ = ' ';
41 }
42 *c = 0;
43}
44
45char __init *prom_getenv(char *envname)
46{
47 extern char **prom_envp;
48 char **env = prom_envp;
49 int i;
50
51 i = strlen(envname);
52
53 while (*env) {
54 if (strncmp(envname, *env, i) == 0 && *(*env+i) == '=')
55 return *env + i + 1;
56 env++;
57 }
58
59 return 0;
60}
61
62void __init prom_free_prom_memory(void)
63{
64}
65
66char * __init prom_getcmdline(void)
67{
68 return arcs_cmdline;
69}
70
diff --git a/arch/mips/nxp/pnx833x/common/reset.c b/arch/mips/nxp/pnx833x/common/reset.c
new file mode 100644
index 000000000000..a9bc9bacad2b
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/reset.c
@@ -0,0 +1,45 @@
1/*
2 * reset.c: reset support for PNX833X.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.com>
7 *
8 * Based on software written by:
9 * Nikita Youshchenko <yoush@debian.org>, based on PNX8550 code.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25#include <linux/slab.h>
26#include <linux/reboot.h>
27#include <pnx833x.h>
28
29void pnx833x_machine_restart(char *command)
30{
31 PNX833X_RESET_CONTROL_2 = 0;
32 PNX833X_RESET_CONTROL = 0;
33}
34
35void pnx833x_machine_halt(void)
36{
37 while (1)
38 __asm__ __volatile__ ("wait");
39
40}
41
42void pnx833x_machine_power_off(void)
43{
44 pnx833x_machine_halt();
45}
diff --git a/arch/mips/nxp/pnx833x/common/setup.c b/arch/mips/nxp/pnx833x/common/setup.c
new file mode 100644
index 000000000000..e51fbc4b644d
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/common/setup.c
@@ -0,0 +1,64 @@
1/*
2 * setup.c: Setup PNX833X Soc.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.com>
7 *
8 * Based on software written by:
9 * Nikita Youshchenko <yoush@debian.org>, based on PNX8550 code.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25#include <linux/init.h>
26#include <linux/interrupt.h>
27#include <linux/ioport.h>
28#include <linux/io.h>
29#include <linux/pci.h>
30#include <asm/reboot.h>
31#include <pnx833x.h>
32#include <gpio.h>
33
34extern void pnx833x_board_setup(void);
35extern void pnx833x_machine_restart(char *);
36extern void pnx833x_machine_halt(void);
37extern void pnx833x_machine_power_off(void);
38
39int __init plat_mem_setup(void)
40{
41 /* fake pci bus to avoid bounce buffers */
42 PCI_DMA_BUS_IS_PHYS = 1;
43
44 /* set mips clock to 320MHz */
45#if defined(CONFIG_SOC_PNX8335)
46 PNX8335_WRITEFIELD(0x17, CLOCK_PLL_CPU_CTL, FREQ);
47#endif
48 pnx833x_gpio_init(); /* so it will be ready in board_setup() */
49
50 pnx833x_board_setup();
51
52 _machine_restart = pnx833x_machine_restart;
53 _machine_halt = pnx833x_machine_halt;
54 pm_power_off = pnx833x_machine_power_off;
55
56 /* IO/MEM resources. */
57 set_io_port_base(KSEG1);
58 ioport_resource.start = 0;
59 ioport_resource.end = ~0;
60 iomem_resource.start = 0;
61 iomem_resource.end = ~0;
62
63 return 0;
64}
diff --git a/arch/mips/nxp/pnx833x/stb22x/Makefile b/arch/mips/nxp/pnx833x/stb22x/Makefile
new file mode 100644
index 000000000000..f81c5801f455
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/stb22x/Makefile
@@ -0,0 +1,3 @@
1lib-y := board.o
2
3EXTRA_CFLAGS += -Werror
diff --git a/arch/mips/nxp/pnx833x/stb22x/board.c b/arch/mips/nxp/pnx833x/stb22x/board.c
new file mode 100644
index 000000000000..90cc604bdadf
--- /dev/null
+++ b/arch/mips/nxp/pnx833x/stb22x/board.c
@@ -0,0 +1,133 @@
1/*
2 * board.c: STB225 board support.
3 *
4 * Copyright 2008 NXP Semiconductors
5 * Chris Steel <chris.steel@nxp.com>
6 * Daniel Laird <daniel.j.laird@nxp.com>
7 *
8 * Based on software written by:
9 * Nikita Youshchenko <yoush@debian.org>, based on PNX8550 code.
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 as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
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
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25#include <linux/init.h>
26#include <asm/bootinfo.h>
27#include <linux/mm.h>
28#include <pnx833x.h>
29#include <gpio.h>
30
31/* endianess twiddlers */
32#define PNX8335_DEBUG0 0x4400
33#define PNX8335_DEBUG1 0x4404
34#define PNX8335_DEBUG2 0x4408
35#define PNX8335_DEBUG3 0x440c
36#define PNX8335_DEBUG4 0x4410
37#define PNX8335_DEBUG5 0x4414
38#define PNX8335_DEBUG6 0x4418
39#define PNX8335_DEBUG7 0x441c
40
41int prom_argc;
42char **prom_argv = 0, **prom_envp = 0;
43
44extern void prom_init_cmdline(void);
45extern char *prom_getenv(char *envname);
46
47const char *get_system_type(void)
48{
49 return "NXP STB22x";
50}
51
52static inline unsigned long env_or_default(char *env, unsigned long dfl)
53{
54 char *str = prom_getenv(env);
55 return str ? simple_strtol(str, 0, 0) : dfl;
56}
57
58void __init prom_init(void)
59{
60 unsigned long memsize;
61
62 prom_argc = fw_arg0;
63 prom_argv = (char **)fw_arg1;
64 prom_envp = (char **)fw_arg2;
65
66 prom_init_cmdline();
67
68 memsize = env_or_default("memsize", 0x02000000);
69 add_memory_region(0, memsize, BOOT_MEM_RAM);
70}
71
72void __init pnx833x_board_setup(void)
73{
74 pnx833x_gpio_select_function_alt(4);
75 pnx833x_gpio_select_output(4);
76 pnx833x_gpio_select_function_alt(5);
77 pnx833x_gpio_select_input(5);
78 pnx833x_gpio_select_function_alt(6);
79 pnx833x_gpio_select_input(6);
80 pnx833x_gpio_select_function_alt(7);
81 pnx833x_gpio_select_output(7);
82
83 pnx833x_gpio_select_function_alt(25);
84 pnx833x_gpio_select_function_alt(26);
85
86 pnx833x_gpio_select_function_alt(27);
87 pnx833x_gpio_select_function_alt(28);
88 pnx833x_gpio_select_function_alt(29);
89 pnx833x_gpio_select_function_alt(30);
90 pnx833x_gpio_select_function_alt(31);
91 pnx833x_gpio_select_function_alt(32);
92 pnx833x_gpio_select_function_alt(33);
93
94#if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE)
95 /* Setup MIU for NAND access on CS0...
96 *
97 * (it seems that we must also configure CS1 for reliable operation,
98 * otherwise the first read ID command will fail if it's read as 4 bytes
99 * but pass if it's read as 1 word.)
100 */
101
102 /* Setup MIU CS0 & CS1 timing */
103 PNX833X_MIU_SEL0 = 0;
104 PNX833X_MIU_SEL1 = 0;
105 PNX833X_MIU_SEL0_TIMING = 0x50003081;
106 PNX833X_MIU_SEL1_TIMING = 0x50003081;
107
108 /* Setup GPIO 00 for use as MIU CS1 (CS0 is not multiplexed, so does not need this) */
109 pnx833x_gpio_select_function_alt(0);
110
111 /* Setup GPIO 04 to input NAND read/busy signal */
112 pnx833x_gpio_select_function_io(4);
113 pnx833x_gpio_select_input(4);
114
115 /* Setup GPIO 05 to disable NAND write protect */
116 pnx833x_gpio_select_function_io(5);
117 pnx833x_gpio_select_output(5);
118 pnx833x_gpio_write(1, 5);
119
120#elif defined(CONFIG_MTD_CFI) || defined(CONFIG_MTD_CFI_MODULE)
121
122 /* Set up MIU for 16-bit NOR access on CS0 and CS1... */
123
124 /* Setup MIU CS0 & CS1 timing */
125 PNX833X_MIU_SEL0 = 1;
126 PNX833X_MIU_SEL1 = 1;
127 PNX833X_MIU_SEL0_TIMING = 0x6A08D082;
128 PNX833X_MIU_SEL1_TIMING = 0x6A08D082;
129
130 /* Setup GPIO 00 for use as MIU CS1 (CS0 is not multiplexed, so does not need this) */
131 pnx833x_gpio_select_function_alt(0);
132#endif
133}
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index b1886244cedf..e8a97f59e066 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -13,7 +13,7 @@ obj-$(CONFIG_MIPS_MSC) += ops-msc.o
13obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o 13obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o
14obj-$(CONFIG_SOC_TX3927) += ops-tx3927.o 14obj-$(CONFIG_SOC_TX3927) += ops-tx3927.o
15obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o 15obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o
16obj-$(CONFIG_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o 16obj-$(CONFIG_NEC_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
17obj-$(CONFIG_PCI_TX4927) += ops-tx4927.o 17obj-$(CONFIG_PCI_TX4927) += ops-tx4927.o
18obj-$(CONFIG_BCM47XX) += pci-bcm47xx.o 18obj-$(CONFIG_BCM47XX) += pci-bcm47xx.o
19 19
diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c
index 846eae9cdd05..fba5aad00d51 100644
--- a/arch/mips/pci/fixup-emma2rh.c
+++ b/arch/mips/pci/fixup-emma2rh.c
@@ -30,7 +30,7 @@
30 30
31#include <asm/bootinfo.h> 31#include <asm/bootinfo.h>
32 32
33#include <asm/emma2rh/emma2rh.h> 33#include <asm/emma/emma2rh.h>
34 34
35#define EMMA2RH_PCI_HOST_SLOT 0x09 35#define EMMA2RH_PCI_HOST_SLOT 0x09
36#define EMMA2RH_USB_SLOT 0x03 36#define EMMA2RH_USB_SLOT 0x03
diff --git a/arch/mips/pci/fixup-rc32434.c b/arch/mips/pci/fixup-rc32434.c
index 75b90dcb7a09..3d86823d03a0 100644
--- a/arch/mips/pci/fixup-rc32434.c
+++ b/arch/mips/pci/fixup-rc32434.c
@@ -30,6 +30,7 @@
30#include <linux/init.h> 30#include <linux/init.h>
31 31
32#include <asm/mach-rc32434/rc32434.h> 32#include <asm/mach-rc32434/rc32434.h>
33#include <asm/mach-rc32434/irq.h>
33 34
34static int __devinitdata irq_map[2][12] = { 35static int __devinitdata irq_map[2][12] = {
35 {0, 0, 2, 3, 2, 3, 0, 0, 0, 0, 0, 1}, 36 {0, 0, 2, 3, 2, 3, 0, 0, 0, 0, 0, 1},
diff --git a/arch/mips/pci/ops-emma2rh.c b/arch/mips/pci/ops-emma2rh.c
index d31bfc6d4150..5947a70b0b7f 100644
--- a/arch/mips/pci/ops-emma2rh.c
+++ b/arch/mips/pci/ops-emma2rh.c
@@ -30,7 +30,7 @@
30#include <asm/addrspace.h> 30#include <asm/addrspace.h>
31#include <asm/debug.h> 31#include <asm/debug.h>
32 32
33#include <asm/emma2rh/emma2rh.h> 33#include <asm/emma/emma2rh.h>
34 34
35#define RTABORT (0x1<<9) 35#define RTABORT (0x1<<9)
36#define RMABORT (0x1<<10) 36#define RMABORT (0x1<<10)
diff --git a/arch/mips/pci/pci-emma2rh.c b/arch/mips/pci/pci-emma2rh.c
index 772e283daa63..2df4190232cd 100644
--- a/arch/mips/pci/pci-emma2rh.c
+++ b/arch/mips/pci/pci-emma2rh.c
@@ -30,7 +30,7 @@
30 30
31#include <asm/bootinfo.h> 31#include <asm/bootinfo.h>
32 32
33#include <asm/emma2rh/emma2rh.h> 33#include <asm/emma/emma2rh.h>
34 34
35static struct resource pci_io_resource = { 35static struct resource pci_io_resource = {
36 .name = "pci IO space", 36 .name = "pci IO space",
diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c
index 31619c601b11..2f22d714d5b0 100644
--- a/arch/mips/rb532/devices.c
+++ b/arch/mips/rb532/devices.c
@@ -280,7 +280,7 @@ static int __init plat_setup_devices(void)
280{ 280{
281 /* Look for the CF card reader */ 281 /* Look for the CF card reader */
282 if (!readl(IDT434_REG_BASE + DEV1MASK)) 282 if (!readl(IDT434_REG_BASE + DEV1MASK))
283 rb532_devs[1] = NULL; 283 rb532_devs[2] = NULL; /* disable cf_slot0 at index 2 */
284 else { 284 else {
285 cf_slot0_res[0].start = 285 cf_slot0_res[0].start =
286 readl(IDT434_REG_BASE + DEV1BASE); 286 readl(IDT434_REG_BASE + DEV1BASE);
diff --git a/arch/mips/rb532/gpio.c b/arch/mips/rb532/gpio.c
index 76a7fd96d564..70c4a6726377 100644
--- a/arch/mips/rb532/gpio.c
+++ b/arch/mips/rb532/gpio.c
@@ -310,6 +310,10 @@ int __init rb532_gpio_init(void)
310 return -ENXIO; 310 return -ENXIO;
311 } 311 }
312 312
313 /* Set the interrupt status and level for the CF pin */
314 rb532_gpio_set_int_level(&rb532_gpio_chip->chip, CF_GPIO_NUM, 1);
315 rb532_gpio_set_int_status(&rb532_gpio_chip->chip, CF_GPIO_NUM, 0);
316
313 return 0; 317 return 0;
314} 318}
315arch_initcall(rb532_gpio_init); 319arch_initcall(rb532_gpio_init);
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c
index f6d9bf4b26e7..f8b18af141a1 100644
--- a/arch/mips/sgi-ip22/ip22-int.c
+++ b/arch/mips/sgi-ip22/ip22-int.c
@@ -12,20 +12,11 @@
12#include <linux/types.h> 12#include <linux/types.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/kernel_stat.h> 14#include <linux/kernel_stat.h>
15#include <linux/signal.h>
16#include <linux/sched.h>
17#include <linux/interrupt.h> 15#include <linux/interrupt.h>
18#include <linux/irq.h>
19 16
20#include <asm/mipsregs.h>
21#include <asm/addrspace.h>
22#include <asm/irq_cpu.h> 17#include <asm/irq_cpu.h>
23#include <asm/sgi/ioc.h>
24#include <asm/sgi/hpc3.h> 18#include <asm/sgi/hpc3.h>
25#include <asm/sgi/ip22.h> 19#include <asm/sgi/ip22.h>
26#include <asm/time.h>
27
28/* #define DEBUG_SGINT */
29 20
30/* So far nothing hangs here */ 21/* So far nothing hangs here */
31#undef USE_LIO3_IRQ 22#undef USE_LIO3_IRQ
@@ -68,7 +59,7 @@ static void enable_local1_irq(unsigned int irq)
68 sgint->imask1 |= (1 << (irq - SGINT_LOCAL1)); 59 sgint->imask1 |= (1 << (irq - SGINT_LOCAL1));
69} 60}
70 61
71void disable_local1_irq(unsigned int irq) 62static void disable_local1_irq(unsigned int irq)
72{ 63{
73 sgint->imask1 &= ~(1 << (irq - SGINT_LOCAL1)); 64 sgint->imask1 &= ~(1 << (irq - SGINT_LOCAL1));
74} 65}
@@ -87,7 +78,7 @@ static void enable_local2_irq(unsigned int irq)
87 sgint->cmeimask0 |= (1 << (irq - SGINT_LOCAL2)); 78 sgint->cmeimask0 |= (1 << (irq - SGINT_LOCAL2));
88} 79}
89 80
90void disable_local2_irq(unsigned int irq) 81static void disable_local2_irq(unsigned int irq)
91{ 82{
92 sgint->cmeimask0 &= ~(1 << (irq - SGINT_LOCAL2)); 83 sgint->cmeimask0 &= ~(1 << (irq - SGINT_LOCAL2));
93 if (!sgint->cmeimask0) 84 if (!sgint->cmeimask0)
@@ -108,7 +99,7 @@ static void enable_local3_irq(unsigned int irq)
108 sgint->cmeimask1 |= (1 << (irq - SGINT_LOCAL3)); 99 sgint->cmeimask1 |= (1 << (irq - SGINT_LOCAL3));
109} 100}
110 101
111void disable_local3_irq(unsigned int irq) 102static void disable_local3_irq(unsigned int irq)
112{ 103{
113 sgint->cmeimask1 &= ~(1 << (irq - SGINT_LOCAL3)); 104 sgint->cmeimask1 &= ~(1 << (irq - SGINT_LOCAL3));
114 if (!sgint->cmeimask1) 105 if (!sgint->cmeimask1)
@@ -344,6 +335,6 @@ void __init arch_init_irq(void)
344 335
345#ifdef CONFIG_EISA 336#ifdef CONFIG_EISA
346 if (ip22_is_fullhouse()) /* Only Indigo-2 has EISA stuff */ 337 if (ip22_is_fullhouse()) /* Only Indigo-2 has EISA stuff */
347 ip22_eisa_init(); 338 ip22_eisa_init();
348#endif 339#endif
349} 340}
diff --git a/arch/mips/txx9/Kconfig b/arch/mips/txx9/Kconfig
index 17052db4161d..226e8bb2f0a1 100644
--- a/arch/mips/txx9/Kconfig
+++ b/arch/mips/txx9/Kconfig
@@ -46,9 +46,10 @@ config TOSHIBA_RBTX4938
46 support this machine type 46 support this machine type
47 47
48config TOSHIBA_RBTX4939 48config TOSHIBA_RBTX4939
49 bool "Toshiba RBTX4939 bobard" 49 bool "Toshiba RBTX4939 board"
50 depends on MACH_TX49XX 50 depends on MACH_TX49XX
51 select SOC_TX4939 51 select SOC_TX4939
52 select TXX9_7SEGLED
52 help 53 help
53 This Toshiba board is based on the TX4939 processor. Say Y here to 54 This Toshiba board is based on the TX4939 processor. Say Y here to
54 support this machine type 55 support this machine type
@@ -86,6 +87,9 @@ config SOC_TX4939
86 select HW_HAS_PCI 87 select HW_HAS_PCI
87 select PCI_TX4927 88 select PCI_TX4927
88 89
90config TXX9_7SEGLED
91 bool
92
89config TOSHIBA_FPCIB0 93config TOSHIBA_FPCIB0
90 bool "FPCIB0 Backplane Support" 94 bool "FPCIB0 Backplane Support"
91 depends on PCI && MACH_TXX9 95 depends on PCI && MACH_TXX9
diff --git a/arch/mips/txx9/generic/7segled.c b/arch/mips/txx9/generic/7segled.c
new file mode 100644
index 000000000000..727ab21b6618
--- /dev/null
+++ b/arch/mips/txx9/generic/7segled.c
@@ -0,0 +1,112 @@
1/*
2 * 7 Segment LED routines
3 * Based on RBTX49xx patch from CELF patch archive.
4 *
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details.
8 *
9 * (C) Copyright TOSHIBA CORPORATION 2005-2007
10 * All Rights Reserved.
11 */
12#include <linux/sysdev.h>
13#include <linux/slab.h>
14#include <linux/map_to_7segment.h>
15#include <asm/txx9/generic.h>
16
17static unsigned int tx_7segled_num;
18static void (*tx_7segled_putc)(unsigned int pos, unsigned char val);
19
20void __init txx9_7segled_init(unsigned int num,
21 void (*putc)(unsigned int pos, unsigned char val))
22{
23 tx_7segled_num = num;
24 tx_7segled_putc = putc;
25}
26
27static SEG7_CONVERSION_MAP(txx9_seg7map, MAP_ASCII7SEG_ALPHANUM_LC);
28
29int txx9_7segled_putc(unsigned int pos, char c)
30{
31 if (pos >= tx_7segled_num)
32 return -EINVAL;
33 c = map_to_seg7(&txx9_seg7map, c);
34 if (c < 0)
35 return c;
36 tx_7segled_putc(pos, c);
37 return 0;
38}
39
40static ssize_t ascii_store(struct sys_device *dev,
41 struct sysdev_attribute *attr,
42 const char *buf, size_t size)
43{
44 unsigned int ch = dev->id;
45 txx9_7segled_putc(ch, buf[0]);
46 return size;
47}
48
49static ssize_t raw_store(struct sys_device *dev,
50 struct sysdev_attribute *attr,
51 const char *buf, size_t size)
52{
53 unsigned int ch = dev->id;
54 tx_7segled_putc(ch, buf[0]);
55 return size;
56}
57
58static SYSDEV_ATTR(ascii, 0200, NULL, ascii_store);
59static SYSDEV_ATTR(raw, 0200, NULL, raw_store);
60
61static ssize_t map_seg7_show(struct sysdev_class *class, char *buf)
62{
63 memcpy(buf, &txx9_seg7map, sizeof(txx9_seg7map));
64 return sizeof(txx9_seg7map);
65}
66
67static ssize_t map_seg7_store(struct sysdev_class *class,
68 const char *buf, size_t size)
69{
70 if (size != sizeof(txx9_seg7map))
71 return -EINVAL;
72 memcpy(&txx9_seg7map, buf, size);
73 return size;
74}
75
76static SYSDEV_CLASS_ATTR(map_seg7, 0600, map_seg7_show, map_seg7_store);
77
78static struct sysdev_class tx_7segled_sysdev_class = {
79 .name = "7segled",
80};
81
82static int __init tx_7segled_init_sysfs(void)
83{
84 int error, i;
85 if (!tx_7segled_num)
86 return -ENODEV;
87 error = sysdev_class_register(&tx_7segled_sysdev_class);
88 if (error)
89 return error;
90 error = sysdev_class_create_file(&tx_7segled_sysdev_class,
91 &attr_map_seg7);
92 if (error)
93 return error;
94 for (i = 0; i < tx_7segled_num; i++) {
95 struct sys_device *dev;
96 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
97 if (!dev) {
98 error = -ENODEV;
99 break;
100 }
101 dev->id = i;
102 dev->cls = &tx_7segled_sysdev_class;
103 error = sysdev_register(dev);
104 if (!error) {
105 sysdev_create_file(dev, &attr_ascii);
106 sysdev_create_file(dev, &attr_raw);
107 }
108 }
109 return error;
110}
111
112device_initcall(tx_7segled_init_sysfs);
diff --git a/arch/mips/txx9/generic/Makefile b/arch/mips/txx9/generic/Makefile
index 0030d23bef5b..f2579ce054a1 100644
--- a/arch/mips/txx9/generic/Makefile
+++ b/arch/mips/txx9/generic/Makefile
@@ -10,5 +10,6 @@ obj-$(CONFIG_SOC_TX4938) += mem_tx4927.o setup_tx4938.o irq_tx4938.o
10obj-$(CONFIG_SOC_TX4939) += setup_tx4939.o irq_tx4939.o 10obj-$(CONFIG_SOC_TX4939) += setup_tx4939.o irq_tx4939.o
11obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o 11obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o
12obj-$(CONFIG_SPI) += spi_eeprom.o 12obj-$(CONFIG_SPI) += spi_eeprom.o
13obj-$(CONFIG_TXX9_7SEGLED) += 7segled.o
13 14
14EXTRA_CFLAGS += -Werror 15EXTRA_CFLAGS += -Werror
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 5526375010f8..a13a08b8c9ec 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -156,11 +156,23 @@ static struct txx9_board_vec *__init find_board_byname(const char *name)
156 156
157static void __init prom_init_cmdline(void) 157static void __init prom_init_cmdline(void)
158{ 158{
159 int argc = (int)fw_arg0; 159 int argc;
160 int *argv32 = (int *)fw_arg1; 160 int *argv32;
161 int i; /* Always ignore the "-c" at argv[0] */ 161 int i; /* Always ignore the "-c" at argv[0] */
162 char builtin[CL_SIZE]; 162 char builtin[CL_SIZE];
163 163
164 if (fw_arg0 >= CKSEG0 || fw_arg1 < CKSEG0) {
165 /*
166 * argc is not a valid number, or argv32 is not a valid
167 * pointer
168 */
169 argc = 0;
170 argv32 = NULL;
171 } else {
172 argc = (int)fw_arg0;
173 argv32 = (int *)fw_arg1;
174 }
175
164 /* ignore all built-in args if any f/w args given */ 176 /* ignore all built-in args if any f/w args given */
165 /* 177 /*
166 * But if built-in strings was started with '+', append them 178 * But if built-in strings was started with '+', append them
@@ -414,10 +426,12 @@ char * __init prom_getcmdline(void)
414 426
415const char *__init prom_getenv(const char *name) 427const char *__init prom_getenv(const char *name)
416{ 428{
417 const s32 *str = (const s32 *)fw_arg2; 429 const s32 *str;
418 430
419 if (!str) 431 if (fw_arg2 < CKSEG0)
420 return NULL; 432 return NULL;
433
434 str = (const s32 *)fw_arg2;
421 /* YAMON style ("name", "value" pairs) */ 435 /* YAMON style ("name", "value" pairs) */
422 while (str[0] && str[1]) { 436 while (str[0] && str[1]) {
423 if (!strcmp((const char *)(unsigned long)str[0], name)) 437 if (!strcmp((const char *)(unsigned long)str[0], name))
@@ -622,6 +636,21 @@ unsigned long (*__swizzle_addr_b)(unsigned long port) = __swizzle_addr_none;
622EXPORT_SYMBOL(__swizzle_addr_b); 636EXPORT_SYMBOL(__swizzle_addr_b);
623#endif 637#endif
624 638
639#ifdef NEEDS_TXX9_IOSWABW
640static u16 ioswabw_default(volatile u16 *a, u16 x)
641{
642 return le16_to_cpu(x);
643}
644static u16 __mem_ioswabw_default(volatile u16 *a, u16 x)
645{
646 return x;
647}
648u16 (*ioswabw)(volatile u16 *a, u16 x) = ioswabw_default;
649EXPORT_SYMBOL(ioswabw);
650u16 (*__mem_ioswabw)(volatile u16 *a, u16 x) = __mem_ioswabw_default;
651EXPORT_SYMBOL(__mem_ioswabw);
652#endif
653
625void __init txx9_physmap_flash_init(int no, unsigned long addr, 654void __init txx9_physmap_flash_init(int no, unsigned long addr,
626 unsigned long size, 655 unsigned long size,
627 const struct physmap_flash_data *pdata) 656 const struct physmap_flash_data *pdata)
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index 4a74423b2ba8..01129a9d50fa 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -49,6 +49,7 @@
49#include <linux/platform_device.h> 49#include <linux/platform_device.h>
50#include <linux/delay.h> 50#include <linux/delay.h>
51#include <linux/gpio.h> 51#include <linux/gpio.h>
52#include <linux/leds.h>
52#include <asm/io.h> 53#include <asm/io.h>
53#include <asm/reboot.h> 54#include <asm/reboot.h>
54#include <asm/txx9/generic.h> 55#include <asm/txx9/generic.h>
@@ -210,10 +211,6 @@ static void __init rbtx4927_mem_setup(void)
210 /* TX4927-SIO DTR on (PIO[15]) */ 211 /* TX4927-SIO DTR on (PIO[15]) */
211 gpio_request(15, "sio-dtr"); 212 gpio_request(15, "sio-dtr");
212 gpio_direction_output(15, 1); 213 gpio_direction_output(15, 1);
213 gpio_request(0, "led");
214 gpio_direction_output(0, 1);
215 gpio_request(1, "led");
216 gpio_direction_output(1, 1);
217 214
218 tx4927_sio_init(0, 0); 215 tx4927_sio_init(0, 0);
219#ifdef CONFIG_SERIAL_TXX9_CONSOLE 216#ifdef CONFIG_SERIAL_TXX9_CONSOLE
@@ -315,6 +312,25 @@ static void __init rbtx4927_mtd_init(void)
315 tx4927_mtd_init(i); 312 tx4927_mtd_init(i);
316} 313}
317 314
315static void __init rbtx4927_gpioled_init(void)
316{
317 static struct gpio_led leds[] = {
318 { .name = "gpioled:green:0", .gpio = 0, .active_low = 1, },
319 { .name = "gpioled:green:1", .gpio = 1, .active_low = 1, },
320 };
321 static struct gpio_led_platform_data pdata = {
322 .num_leds = ARRAY_SIZE(leds),
323 .leds = leds,
324 };
325 struct platform_device *pdev = platform_device_alloc("leds-gpio", 0);
326
327 if (!pdev)
328 return;
329 pdev->dev.platform_data = &pdata;
330 if (platform_device_add(pdev))
331 platform_device_put(pdev);
332}
333
318static void __init rbtx4927_device_init(void) 334static void __init rbtx4927_device_init(void)
319{ 335{
320 toshiba_rbtx4927_rtc_init(); 336 toshiba_rbtx4927_rtc_init();
@@ -322,6 +338,7 @@ static void __init rbtx4927_device_init(void)
322 tx4927_wdt_init(); 338 tx4927_wdt_init();
323 rbtx4927_mtd_init(); 339 rbtx4927_mtd_init();
324 txx9_iocled_init(RBTX4927_LED_ADDR - IO_BASE, -1, 3, 1, "green", NULL); 340 txx9_iocled_init(RBTX4927_LED_ADDR - IO_BASE, -1, 3, 1, "green", NULL);
341 rbtx4927_gpioled_init();
325} 342}
326 343
327struct txx9_board_vec rbtx4927_vec __initdata = { 344struct txx9_board_vec rbtx4927_vec __initdata = {
diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c
index 9855d7bccc20..98fbd9391bf8 100644
--- a/arch/mips/txx9/rbtx4939/setup.c
+++ b/arch/mips/txx9/rbtx4939/setup.c
@@ -14,6 +14,8 @@
14#include <linux/types.h> 14#include <linux/types.h>
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16#include <linux/leds.h> 16#include <linux/leds.h>
17#include <linux/interrupt.h>
18#include <linux/smc91x.h>
17#include <asm/reboot.h> 19#include <asm/reboot.h>
18#include <asm/txx9/generic.h> 20#include <asm/txx9/generic.h>
19#include <asm/txx9/pci.h> 21#include <asm/txx9/pci.h>
@@ -33,6 +35,21 @@ static void __init rbtx4939_time_init(void)
33 tx4939_time_init(0); 35 tx4939_time_init(0);
34} 36}
35 37
38#if defined(__BIG_ENDIAN) && \
39 (defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE))
40#define HAVE_RBTX4939_IOSWAB
41#define IS_CE1_ADDR(addr) \
42 ((((unsigned long)(addr) - IO_BASE) & 0xfff00000) == TXX9_CE(1))
43static u16 rbtx4939_ioswabw(volatile u16 *a, u16 x)
44{
45 return IS_CE1_ADDR(a) ? x : le16_to_cpu(x);
46}
47static u16 rbtx4939_mem_ioswabw(volatile u16 *a, u16 x)
48{
49 return !IS_CE1_ADDR(a) ? x : le16_to_cpu(x);
50}
51#endif /* __BIG_ENDIAN && CONFIG_SMC91X */
52
36static void __init rbtx4939_pci_setup(void) 53static void __init rbtx4939_pci_setup(void)
37{ 54{
38#ifdef CONFIG_PCI 55#ifdef CONFIG_PCI
@@ -239,6 +256,32 @@ static inline void rbtx4939_led_setup(void)
239} 256}
240#endif 257#endif
241 258
259static void __rbtx4939_7segled_putc(unsigned int pos, unsigned char val)
260{
261#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
262 unsigned long flags;
263 local_irq_save(flags);
264 /* bit7: reserved for LED class */
265 led_val[pos] = (led_val[pos] & 0x80) | (val & 0x7f);
266 val = led_val[pos];
267 local_irq_restore(flags);
268#endif
269 writeb(val, rbtx4939_7seg_addr(pos / 4, pos % 4));
270}
271
272static void rbtx4939_7segled_putc(unsigned int pos, unsigned char val)
273{
274 /* convert from map_to_seg7() notation */
275 val = (val & 0x88) |
276 ((val & 0x40) >> 6) |
277 ((val & 0x20) >> 4) |
278 ((val & 0x10) >> 2) |
279 ((val & 0x04) << 2) |
280 ((val & 0x02) << 4) |
281 ((val & 0x01) << 6);
282 __rbtx4939_7segled_putc(pos, val);
283}
284
242static void __init rbtx4939_arch_init(void) 285static void __init rbtx4939_arch_init(void)
243{ 286{
244 rbtx4939_pci_setup(); 287 rbtx4939_pci_setup();
@@ -246,22 +289,50 @@ static void __init rbtx4939_arch_init(void)
246 289
247static void __init rbtx4939_device_init(void) 290static void __init rbtx4939_device_init(void)
248{ 291{
292 unsigned long smc_addr = RBTX4939_ETHER_ADDR - IO_BASE;
293 struct resource smc_res[] = {
294 {
295 .start = smc_addr,
296 .end = smc_addr + 0x10 - 1,
297 .flags = IORESOURCE_MEM,
298 }, {
299 .start = RBTX4939_IRQ_ETHER,
300 /* override default irq flag defined in smc91x.h */
301 .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
302 },
303 };
304 struct smc91x_platdata smc_pdata = {
305 .flags = SMC91X_USE_16BIT,
306 };
307 struct platform_device *pdev;
249#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE) 308#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE)
250 int i, j; 309 int i, j;
251 unsigned char ethaddr[2][6]; 310 unsigned char ethaddr[2][6];
311 u8 bdipsw = readb(rbtx4939_bdipsw_addr) & 0x0f;
312
252 for (i = 0; i < 2; i++) { 313 for (i = 0; i < 2; i++) {
253 unsigned long area = CKSEG1 + 0x1fff0000 + (i * 0x10); 314 unsigned long area = CKSEG1 + 0x1fff0000 + (i * 0x10);
254 if (readb(rbtx4939_bdipsw_addr) & 8) { 315 if (bdipsw == 0)
316 memcpy(ethaddr[i], (void *)area, 6);
317 else {
255 u16 buf[3]; 318 u16 buf[3];
256 area -= 0x03000000; 319 if (bdipsw & 8)
320 area -= 0x03000000;
321 else
322 area -= 0x01000000;
257 for (j = 0; j < 3; j++) 323 for (j = 0; j < 3; j++)
258 buf[j] = le16_to_cpup((u16 *)(area + j * 2)); 324 buf[j] = le16_to_cpup((u16 *)(area + j * 2));
259 memcpy(ethaddr[i], buf, 6); 325 memcpy(ethaddr[i], buf, 6);
260 } else 326 }
261 memcpy(ethaddr[i], (void *)area, 6);
262 } 327 }
263 tx4939_ethaddr_init(ethaddr[0], ethaddr[1]); 328 tx4939_ethaddr_init(ethaddr[0], ethaddr[1]);
264#endif 329#endif
330 pdev = platform_device_alloc("smc91x", -1);
331 if (!pdev ||
332 platform_device_add_resources(pdev, smc_res, ARRAY_SIZE(smc_res)) ||
333 platform_device_add_data(pdev, &smc_pdata, sizeof(smc_pdata)) ||
334 platform_device_add(pdev))
335 platform_device_put(pdev);
265 rbtx4939_led_setup(); 336 rbtx4939_led_setup();
266 tx4939_wdt_init(); 337 tx4939_wdt_init();
267 tx4939_ata_init(); 338 tx4939_ata_init();
@@ -269,6 +340,8 @@ static void __init rbtx4939_device_init(void)
269 340
270static void __init rbtx4939_setup(void) 341static void __init rbtx4939_setup(void)
271{ 342{
343 int i;
344
272 rbtx4939_ebusc_setup(); 345 rbtx4939_ebusc_setup();
273 /* always enable ATA0 */ 346 /* always enable ATA0 */
274 txx9_set64(&tx4939_ccfgptr->pcfg, TX4939_PCFG_ATA0MODE); 347 txx9_set64(&tx4939_ccfgptr->pcfg, TX4939_PCFG_ATA0MODE);
@@ -276,9 +349,16 @@ static void __init rbtx4939_setup(void)
276 if (txx9_master_clock == 0) 349 if (txx9_master_clock == 0)
277 txx9_master_clock = 20000000; 350 txx9_master_clock = 20000000;
278 tx4939_setup(); 351 tx4939_setup();
352#ifdef HAVE_RBTX4939_IOSWAB
353 ioswabw = rbtx4939_ioswabw;
354 __mem_ioswabw = rbtx4939_mem_ioswabw;
355#endif
279 356
280 _machine_restart = rbtx4939_machine_restart; 357 _machine_restart = rbtx4939_machine_restart;
281 358
359 txx9_7segled_init(RBTX4939_MAX_7SEGLEDS, rbtx4939_7segled_putc);
360 for (i = 0; i < RBTX4939_MAX_7SEGLEDS; i++)
361 txx9_7segled_putc(i, '-');
282 pr_info("RBTX4939 (Rev %02x) --- FPGA(Rev %02x) DIPSW:%02x,%02x\n", 362 pr_info("RBTX4939 (Rev %02x) --- FPGA(Rev %02x) DIPSW:%02x,%02x\n",
283 readb(rbtx4939_board_rev_addr), readb(rbtx4939_ioc_rev_addr), 363 readb(rbtx4939_board_rev_addr), readb(rbtx4939_ioc_rev_addr),
284 readb(rbtx4939_udipsw_addr), readb(rbtx4939_bdipsw_addr)); 364 readb(rbtx4939_udipsw_addr), readb(rbtx4939_bdipsw_addr));
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 5b1527883fcb..525c13a4de93 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -108,8 +108,7 @@ config ARCH_NO_VIRT_TO_BUS
108config PPC 108config PPC
109 bool 109 bool
110 default y 110 default y
111 select HAVE_DYNAMIC_FTRACE 111 select HAVE_FUNCTION_TRACER
112 select HAVE_FTRACE
113 select ARCH_WANT_OPTIONAL_GPIOLIB 112 select ARCH_WANT_OPTIONAL_GPIOLIB
114 select HAVE_IDE 113 select HAVE_IDE
115 select HAVE_IOREMAP_PROT 114 select HAVE_IOREMAP_PROT
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 24dd1a37f8fb..1f0667069940 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -122,7 +122,7 @@ KBUILD_CFLAGS += -mcpu=powerpc
122endif 122endif
123 123
124# Work around a gcc code-gen bug with -fno-omit-frame-pointer. 124# Work around a gcc code-gen bug with -fno-omit-frame-pointer.
125ifeq ($(CONFIG_FTRACE),y) 125ifeq ($(CONFIG_FUNCTION_TRACER),y)
126KBUILD_CFLAGS += -mno-sched-epilog 126KBUILD_CFLAGS += -mno-sched-epilog
127endif 127endif
128 128
diff --git a/arch/powerpc/boot/addnote.c b/arch/powerpc/boot/addnote.c
index 3091d1d21aef..b1e5611b2ab1 100644
--- a/arch/powerpc/boot/addnote.c
+++ b/arch/powerpc/boot/addnote.c
@@ -11,12 +11,7 @@
11 * as published by the Free Software Foundation; either version 11 * as published by the Free Software Foundation; either version
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 * 13 *
14 * Usage: addnote [-r realbase] zImage [note.elf] 14 * Usage: addnote zImage
15 *
16 * If note.elf is supplied, it is the name of an ELF file that contains
17 * an RPA note to use instead of the built-in one. Alternatively, the
18 * note.elf file may be empty, in which case the built-in RPA note is
19 * used (this is to simplify how this is invoked from the wrapper script).
20 */ 15 */
21#include <stdio.h> 16#include <stdio.h>
22#include <stdlib.h> 17#include <stdlib.h>
@@ -48,29 +43,27 @@ char rpaname[] = "IBM,RPA-Client-Config";
48 */ 43 */
49#define N_RPA_DESCR 8 44#define N_RPA_DESCR 8
50unsigned int rpanote[N_RPA_DESCR] = { 45unsigned int rpanote[N_RPA_DESCR] = {
51 1, /* lparaffinity */ 46 0, /* lparaffinity */
52 128, /* min_rmo_size */ 47 64, /* min_rmo_size */
53 0, /* min_rmo_percent */ 48 0, /* min_rmo_percent */
54 46, /* max_pft_size */ 49 40, /* max_pft_size */
55 1, /* splpar */ 50 1, /* splpar */
56 -1, /* min_load */ 51 -1, /* min_load */
57 1, /* new_mem_def */ 52 0, /* new_mem_def */
58 0, /* ignore_my_client_config */ 53 1, /* ignore_my_client_config */
59}; 54};
60 55
61#define ROUNDUP(len) (((len) + 3) & ~3) 56#define ROUNDUP(len) (((len) + 3) & ~3)
62 57
63unsigned char buf[512]; 58unsigned char buf[512];
64unsigned char notebuf[512];
65 59
66#define GET_16BE(b, off) (((b)[off] << 8) + ((b)[(off)+1])) 60#define GET_16BE(off) ((buf[off] << 8) + (buf[(off)+1]))
67#define GET_32BE(b, off) ((GET_16BE((b), (off)) << 16) + \ 61#define GET_32BE(off) ((GET_16BE(off) << 16) + GET_16BE((off)+2))
68 GET_16BE((b), (off)+2))
69 62
70#define PUT_16BE(b, off, v) ((b)[off] = ((v) >> 8) & 0xff, \ 63#define PUT_16BE(off, v) (buf[off] = ((v) >> 8) & 0xff, \
71 (b)[(off) + 1] = (v) & 0xff) 64 buf[(off) + 1] = (v) & 0xff)
72#define PUT_32BE(b, off, v) (PUT_16BE((b), (off), (v) >> 16), \ 65#define PUT_32BE(off, v) (PUT_16BE((off), (v) >> 16), \
73 PUT_16BE((b), (off) + 2, (v))) 66 PUT_16BE((off) + 2, (v)))
74 67
75/* Structure of an ELF file */ 68/* Structure of an ELF file */
76#define E_IDENT 0 /* ELF header */ 69#define E_IDENT 0 /* ELF header */
@@ -95,95 +88,25 @@ unsigned char notebuf[512];
95 88
96unsigned char elf_magic[4] = { 0x7f, 'E', 'L', 'F' }; 89unsigned char elf_magic[4] = { 0x7f, 'E', 'L', 'F' };
97 90
98unsigned char *read_rpanote(const char *fname, int *nnp)
99{
100 int notefd, nr, i;
101 int ph, ps, np;
102 int note, notesize;
103
104 notefd = open(fname, O_RDONLY);
105 if (notefd < 0) {
106 perror(fname);
107 exit(1);
108 }
109 nr = read(notefd, notebuf, sizeof(notebuf));
110 if (nr < 0) {
111 perror("read note");
112 exit(1);
113 }
114 if (nr == 0) /* empty file */
115 return NULL;
116 if (nr < E_HSIZE ||
117 memcmp(&notebuf[E_IDENT+EI_MAGIC], elf_magic, 4) != 0 ||
118 notebuf[E_IDENT+EI_CLASS] != ELFCLASS32 ||
119 notebuf[E_IDENT+EI_DATA] != ELFDATA2MSB)
120 goto notelf;
121 close(notefd);
122
123 /* now look for the RPA-note */
124 ph = GET_32BE(notebuf, E_PHOFF);
125 ps = GET_16BE(notebuf, E_PHENTSIZE);
126 np = GET_16BE(notebuf, E_PHNUM);
127 if (ph < E_HSIZE || ps < PH_HSIZE || np < 1)
128 goto notelf;
129
130 for (i = 0; i < np; ++i, ph += ps) {
131 if (GET_32BE(notebuf, ph + PH_TYPE) != PT_NOTE)
132 continue;
133 note = GET_32BE(notebuf, ph + PH_OFFSET);
134 notesize = GET_32BE(notebuf, ph + PH_FILESZ);
135 if (notesize < 34 || note + notesize > nr)
136 continue;
137 if (GET_32BE(notebuf, note) != strlen(rpaname) + 1 ||
138 GET_32BE(notebuf, note + 8) != 0x12759999 ||
139 strcmp((char *)&notebuf[note + 12], rpaname) != 0)
140 continue;
141 /* looks like an RPA note, return it */
142 *nnp = notesize;
143 return &notebuf[note];
144 }
145 /* no RPA note found */
146 return NULL;
147
148 notelf:
149 fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n", fname);
150 exit(1);
151}
152
153int 91int
154main(int ac, char **av) 92main(int ac, char **av)
155{ 93{
156 int fd, n, i, ai; 94 int fd, n, i;
157 int ph, ps, np; 95 int ph, ps, np;
158 int nnote, nnote2, ns; 96 int nnote, nnote2, ns;
159 unsigned char *rpap; 97
160 char *p, *endp; 98 if (ac != 2) {
161 99 fprintf(stderr, "Usage: %s elf-file\n", av[0]);
162 ai = 1;
163 if (ac >= ai + 2 && strcmp(av[ai], "-r") == 0) {
164 /* process -r realbase */
165 p = av[ai + 1];
166 descr[1] = strtol(p, &endp, 16);
167 if (endp == p || *endp != 0) {
168 fprintf(stderr, "Can't parse -r argument '%s' as hex\n",
169 p);
170 exit(1);
171 }
172 ai += 2;
173 }
174 if (ac != ai + 1 && ac != ai + 2) {
175 fprintf(stderr, "Usage: %s [-r realbase] elf-file [rpanote.elf]\n", av[0]);
176 exit(1); 100 exit(1);
177 } 101 }
178 fd = open(av[ai], O_RDWR); 102 fd = open(av[1], O_RDWR);
179 if (fd < 0) { 103 if (fd < 0) {
180 perror(av[ai]); 104 perror(av[1]);
181 exit(1); 105 exit(1);
182 } 106 }
183 107
184 nnote = 12 + ROUNDUP(strlen(arch) + 1) + sizeof(descr); 108 nnote = 12 + ROUNDUP(strlen(arch) + 1) + sizeof(descr);
185 nnote2 = 12 + ROUNDUP(strlen(rpaname) + 1) + sizeof(rpanote); 109 nnote2 = 12 + ROUNDUP(strlen(rpaname) + 1) + sizeof(rpanote);
186 rpap = NULL;
187 110
188 n = read(fd, buf, sizeof(buf)); 111 n = read(fd, buf, sizeof(buf));
189 if (n < 0) { 112 if (n < 0) {
@@ -197,25 +120,22 @@ main(int ac, char **av)
197 if (buf[E_IDENT+EI_CLASS] != ELFCLASS32 120 if (buf[E_IDENT+EI_CLASS] != ELFCLASS32
198 || buf[E_IDENT+EI_DATA] != ELFDATA2MSB) { 121 || buf[E_IDENT+EI_DATA] != ELFDATA2MSB) {
199 fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n", 122 fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n",
200 av[ai]); 123 av[1]);
201 exit(1); 124 exit(1);
202 } 125 }
203 126
204 if (ac == ai + 2) 127 ph = GET_32BE(E_PHOFF);
205 rpap = read_rpanote(av[ai + 1], &nnote2); 128 ps = GET_16BE(E_PHENTSIZE);
206 129 np = GET_16BE(E_PHNUM);
207 ph = GET_32BE(buf, E_PHOFF);
208 ps = GET_16BE(buf, E_PHENTSIZE);
209 np = GET_16BE(buf, E_PHNUM);
210 if (ph < E_HSIZE || ps < PH_HSIZE || np < 1) 130 if (ph < E_HSIZE || ps < PH_HSIZE || np < 1)
211 goto notelf; 131 goto notelf;
212 if (ph + (np + 2) * ps + nnote + nnote2 > n) 132 if (ph + (np + 2) * ps + nnote + nnote2 > n)
213 goto nospace; 133 goto nospace;
214 134
215 for (i = 0; i < np; ++i) { 135 for (i = 0; i < np; ++i) {
216 if (GET_32BE(buf, ph + PH_TYPE) == PT_NOTE) { 136 if (GET_32BE(ph + PH_TYPE) == PT_NOTE) {
217 fprintf(stderr, "%s already has a note entry\n", 137 fprintf(stderr, "%s already has a note entry\n",
218 av[ai]); 138 av[1]);
219 exit(0); 139 exit(0);
220 } 140 }
221 ph += ps; 141 ph += ps;
@@ -228,42 +148,37 @@ main(int ac, char **av)
228 148
229 /* fill in the program header entry */ 149 /* fill in the program header entry */
230 ns = ph + 2 * ps; 150 ns = ph + 2 * ps;
231 PUT_32BE(buf, ph + PH_TYPE, PT_NOTE); 151 PUT_32BE(ph + PH_TYPE, PT_NOTE);
232 PUT_32BE(buf, ph + PH_OFFSET, ns); 152 PUT_32BE(ph + PH_OFFSET, ns);
233 PUT_32BE(buf, ph + PH_FILESZ, nnote); 153 PUT_32BE(ph + PH_FILESZ, nnote);
234 154
235 /* fill in the note area we point to */ 155 /* fill in the note area we point to */
236 /* XXX we should probably make this a proper section */ 156 /* XXX we should probably make this a proper section */
237 PUT_32BE(buf, ns, strlen(arch) + 1); 157 PUT_32BE(ns, strlen(arch) + 1);
238 PUT_32BE(buf, ns + 4, N_DESCR * 4); 158 PUT_32BE(ns + 4, N_DESCR * 4);
239 PUT_32BE(buf, ns + 8, 0x1275); 159 PUT_32BE(ns + 8, 0x1275);
240 strcpy((char *) &buf[ns + 12], arch); 160 strcpy((char *) &buf[ns + 12], arch);
241 ns += 12 + strlen(arch) + 1; 161 ns += 12 + strlen(arch) + 1;
242 for (i = 0; i < N_DESCR; ++i, ns += 4) 162 for (i = 0; i < N_DESCR; ++i, ns += 4)
243 PUT_32BE(buf, ns, descr[i]); 163 PUT_32BE(ns, descr[i]);
244 164
245 /* fill in the second program header entry and the RPA note area */ 165 /* fill in the second program header entry and the RPA note area */
246 ph += ps; 166 ph += ps;
247 PUT_32BE(buf, ph + PH_TYPE, PT_NOTE); 167 PUT_32BE(ph + PH_TYPE, PT_NOTE);
248 PUT_32BE(buf, ph + PH_OFFSET, ns); 168 PUT_32BE(ph + PH_OFFSET, ns);
249 PUT_32BE(buf, ph + PH_FILESZ, nnote2); 169 PUT_32BE(ph + PH_FILESZ, nnote2);
250 170
251 /* fill in the note area we point to */ 171 /* fill in the note area we point to */
252 if (rpap) { 172 PUT_32BE(ns, strlen(rpaname) + 1);
253 /* RPA note supplied in file, just copy the whole thing over */ 173 PUT_32BE(ns + 4, sizeof(rpanote));
254 memcpy(buf + ns, rpap, nnote2); 174 PUT_32BE(ns + 8, 0x12759999);
255 } else { 175 strcpy((char *) &buf[ns + 12], rpaname);
256 PUT_32BE(buf, ns, strlen(rpaname) + 1); 176 ns += 12 + ROUNDUP(strlen(rpaname) + 1);
257 PUT_32BE(buf, ns + 4, sizeof(rpanote)); 177 for (i = 0; i < N_RPA_DESCR; ++i, ns += 4)
258 PUT_32BE(buf, ns + 8, 0x12759999); 178 PUT_32BE(ns, rpanote[i]);
259 strcpy((char *) &buf[ns + 12], rpaname);
260 ns += 12 + ROUNDUP(strlen(rpaname) + 1);
261 for (i = 0; i < N_RPA_DESCR; ++i, ns += 4)
262 PUT_32BE(buf, ns, rpanote[i]);
263 }
264 179
265 /* Update the number of program headers */ 180 /* Update the number of program headers */
266 PUT_16BE(buf, E_PHNUM, np + 2); 181 PUT_16BE(E_PHNUM, np + 2);
267 182
268 /* write back */ 183 /* write back */
269 lseek(fd, (long) 0, SEEK_SET); 184 lseek(fd, (long) 0, SEEK_SET);
@@ -273,18 +188,18 @@ main(int ac, char **av)
273 exit(1); 188 exit(1);
274 } 189 }
275 if (i < n) { 190 if (i < n) {
276 fprintf(stderr, "%s: write truncated\n", av[ai]); 191 fprintf(stderr, "%s: write truncated\n", av[1]);
277 exit(1); 192 exit(1);
278 } 193 }
279 194
280 exit(0); 195 exit(0);
281 196
282 notelf: 197 notelf:
283 fprintf(stderr, "%s does not appear to be an ELF file\n", av[ai]); 198 fprintf(stderr, "%s does not appear to be an ELF file\n", av[1]);
284 exit(1); 199 exit(1);
285 200
286 nospace: 201 nospace:
287 fprintf(stderr, "sorry, I can't find space in %s to put the note\n", 202 fprintf(stderr, "sorry, I can't find space in %s to put the note\n",
288 av[ai]); 203 av[1]);
289 exit(1); 204 exit(1);
290} 205}
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts b/arch/powerpc/boot/dts/gef_sbc610.dts
index 6ed608322ddc..e48cfa740c8a 100644
--- a/arch/powerpc/boot/dts/gef_sbc610.dts
+++ b/arch/powerpc/boot/dts/gef_sbc610.dts
@@ -108,7 +108,7 @@
108 compatible = "simple-bus"; 108 compatible = "simple-bus";
109 ranges = <0x0 0xfef00000 0x00100000>; 109 ranges = <0x0 0xfef00000 0x00100000>;
110 reg = <0xfef00000 0x100000>; // CCSRBAR 1M 110 reg = <0xfef00000 0x100000>; // CCSRBAR 1M
111 bus-frequency = <0>; 111 bus-frequency = <33333333>;
112 112
113 i2c1: i2c@3000 { 113 i2c1: i2c@3000 {
114 #address-cells = <1>; 114 #address-cells = <1>;
diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts
index 747f27676332..503031766825 100644
--- a/arch/powerpc/boot/dts/mpc8313erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8313erdb.dts
@@ -164,45 +164,6 @@
164 mode = "cpu"; 164 mode = "cpu";
165 }; 165 };
166 166
167 dma@82a8 {
168 #address-cells = <1>;
169 #size-cells = <1>;
170 compatible = "fsl,mpc8313-dma", "fsl,elo-dma";
171 reg = <0x82a8 4>;
172 ranges = <0 0x8100 0x1a8>;
173 interrupt-parent = <&ipic>;
174 interrupts = <71 8>;
175 cell-index = <0>;
176 dma-channel@0 {
177 compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel";
178 reg = <0 0x80>;
179 cell-index = <0>;
180 interrupt-parent = <&ipic>;
181 interrupts = <71 8>;
182 };
183 dma-channel@80 {
184 compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel";
185 reg = <0x80 0x80>;
186 cell-index = <1>;
187 interrupt-parent = <&ipic>;
188 interrupts = <71 8>;
189 };
190 dma-channel@100 {
191 compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel";
192 reg = <0x100 0x80>;
193 cell-index = <2>;
194 interrupt-parent = <&ipic>;
195 interrupts = <71 8>;
196 };
197 dma-channel@180 {
198 compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel";
199 reg = <0x180 0x28>;
200 cell-index = <3>;
201 interrupt-parent = <&ipic>;
202 interrupts = <71 8>;
203 };
204 };
205
206 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 167 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
207 usb@23000 { 168 usb@23000 {
208 compatible = "fsl-usb2-dr"; 169 compatible = "fsl-usb2-dr";
diff --git a/arch/powerpc/boot/libfdt/fdt_ro.c b/arch/powerpc/boot/libfdt/fdt_ro.c
index 129b532bcc1a..fbbba44fcd0d 100644
--- a/arch/powerpc/boot/libfdt/fdt_ro.c
+++ b/arch/powerpc/boot/libfdt/fdt_ro.c
@@ -104,8 +104,8 @@ int fdt_subnode_offset_namelen(const void *fdt, int offset,
104 104
105 FDT_CHECK_HEADER(fdt); 105 FDT_CHECK_HEADER(fdt);
106 106
107 for (depth = 0; 107 for (depth = 0, offset = fdt_next_node(fdt, offset, &depth);
108 offset >= 0; 108 (offset >= 0) && (depth > 0);
109 offset = fdt_next_node(fdt, offset, &depth)) { 109 offset = fdt_next_node(fdt, offset, &depth)) {
110 if (depth < 0) 110 if (depth < 0)
111 return -FDT_ERR_NOTFOUND; 111 return -FDT_ERR_NOTFOUND;
@@ -114,7 +114,10 @@ int fdt_subnode_offset_namelen(const void *fdt, int offset,
114 return offset; 114 return offset;
115 } 115 }
116 116
117 return offset; /* error */ 117 if (offset < 0)
118 return offset; /* error */
119 else
120 return -FDT_ERR_NOTFOUND;
118} 121}
119 122
120int fdt_subnode_offset(const void *fdt, int parentoffset, 123int fdt_subnode_offset(const void *fdt, int parentoffset,
diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c
index ae32801ebd69..a28f02165e97 100644
--- a/arch/powerpc/boot/main.c
+++ b/arch/powerpc/boot/main.c
@@ -63,7 +63,7 @@ static struct addr_range prep_kernel(void)
63 */ 63 */
64 if ((unsigned long)_start < ei.loadsize) 64 if ((unsigned long)_start < ei.loadsize)
65 fatal("Insufficient memory for kernel at address 0!" 65 fatal("Insufficient memory for kernel at address 0!"
66 " (_start=%p, uncomressed size=%08x)\n\r", 66 " (_start=%p, uncompressed size=%08lx)\n\r",
67 _start, ei.loadsize); 67 _start, ei.loadsize);
68 68
69 if ((unsigned long)_end < ei.memsize) 69 if ((unsigned long)_end < ei.memsize)
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index f39073511a49..965c237c122d 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -306,13 +306,8 @@ fi
306 306
307# post-processing needed for some platforms 307# post-processing needed for some platforms
308case "$platform" in 308case "$platform" in
309pseries) 309pseries|chrp)
310 ${CROSS}objcopy -O binary -j .fakeelf "$kernel" "$ofile".rpanote 310 $objbin/addnote "$ofile"
311 $objbin/addnote "$ofile" "$ofile".rpanote
312 rm -r "$ofile".rpanote
313 ;;
314chrp)
315 $objbin/addnote -r c00000 "$ofile"
316 ;; 311 ;;
317coff) 312coff)
318 ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile" 313 ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile"
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig
index 39bd9eb453f0..25572cc837ca 100644
--- a/arch/powerpc/configs/40x/acadia_defconfig
+++ b/arch/powerpc/configs/40x/acadia_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc5 3# Linux kernel version: 2.6.28-rc2
4# Mon Oct 13 13:47:16 2008 4# Tue Oct 28 08:49:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -103,7 +103,9 @@ CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
104CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
105CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
106CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
107CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
108# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
109CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -117,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122# CONFIG_HAVE_CLK is not set
123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -153,6 +151,7 @@ CONFIG_DEFAULT_AS=y
153# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
154CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
155CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
156# CONFIG_PPC4xx_PCI_EXPRESS is not set 155# CONFIG_PPC4xx_PCI_EXPRESS is not set
157 156
158# 157#
@@ -161,8 +160,10 @@ CONFIG_CLASSIC_RCU=y
161# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
162# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
163# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164CONFIG_ACADIA=y 164CONFIG_ACADIA=y
165# CONFIG_EP405 is not set 165# CONFIG_EP405 is not set
166# CONFIG_HCU4 is not set
166# CONFIG_KILAUEA is not set 167# CONFIG_KILAUEA is not set
167# CONFIG_MAKALU is not set 168# CONFIG_MAKALU is not set
168# CONFIG_WALNUT is not set 169# CONFIG_WALNUT is not set
@@ -186,7 +187,6 @@ CONFIG_405EZ=y
186# Kernel options 187# Kernel options
187# 188#
188# CONFIG_HIGHMEM is not set 189# CONFIG_HIGHMEM is not set
189# CONFIG_TICK_ONESHOT is not set
190# CONFIG_NO_HZ is not set 190# CONFIG_NO_HZ is not set
191# CONFIG_HIGH_RES_TIMERS is not set 191# CONFIG_HIGH_RES_TIMERS is not set
192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 200# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 201# CONFIG_PREEMPT is not set
202CONFIG_BINFMT_ELF=y 202CONFIG_BINFMT_ELF=y
203# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
204# CONFIG_HAVE_AOUT is not set
203# CONFIG_BINFMT_MISC is not set 205# CONFIG_BINFMT_MISC is not set
204# CONFIG_MATH_EMULATION is not set 206# CONFIG_MATH_EMULATION is not set
205# CONFIG_IOMMU_HELPER is not set 207# CONFIG_IOMMU_HELPER is not set
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y
214# CONFIG_SPARSEMEM_MANUAL is not set 216# CONFIG_SPARSEMEM_MANUAL is not set
215CONFIG_FLATMEM=y 217CONFIG_FLATMEM=y
216CONFIG_FLAT_NODE_MEM_MAP=y 218CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_STATIC is not set
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 219CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 220CONFIG_SPLIT_PTLOCK_CPUS=4
221CONFIG_MIGRATION=y 221CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 222# CONFIG_RESOURCES_64BIT is not set
223# CONFIG_PHYS_ADDR_T_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 224CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 225CONFIG_BOUNCE=y
225CONFIG_VIRT_TO_BUS=y 226CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y
226CONFIG_FORCE_MAX_ZONEORDER=11 228CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 229CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 230# CONFIG_CMDLINE_BOOL is not set
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TIPC is not set 311# CONFIG_TIPC is not set
310# CONFIG_ATM is not set 312# CONFIG_ATM is not set
311# CONFIG_BRIDGE is not set 313# CONFIG_BRIDGE is not set
314# CONFIG_NET_DSA is not set
312# CONFIG_VLAN_8021Q is not set 315# CONFIG_VLAN_8021Q is not set
313# CONFIG_DECNET is not set 316# CONFIG_DECNET is not set
314# CONFIG_LLC2 is not set 317# CONFIG_LLC2 is not set
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_IRDA is not set 332# CONFIG_IRDA is not set
330# CONFIG_BT is not set 333# CONFIG_BT is not set
331# CONFIG_AF_RXRPC is not set 334# CONFIG_AF_RXRPC is not set
332 335# CONFIG_PHONET is not set
333# 336# CONFIG_WIRELESS is not set
334# Wireless
335#
336# CONFIG_CFG80211 is not set
337# CONFIG_WIRELESS_EXT is not set
338# CONFIG_MAC80211 is not set
339# CONFIG_IEEE80211 is not set
340# CONFIG_RFKILL is not set 337# CONFIG_RFKILL is not set
341# CONFIG_NET_9P is not set 338# CONFIG_NET_9P is not set
342 339
@@ -516,6 +513,7 @@ CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y
516CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y 513CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y
517# CONFIG_NET_PCI is not set 514# CONFIG_NET_PCI is not set
518# CONFIG_B44 is not set 515# CONFIG_B44 is not set
516# CONFIG_ATL2 is not set
519# CONFIG_NETDEV_1000 is not set 517# CONFIG_NETDEV_1000 is not set
520# CONFIG_NETDEV_10000 is not set 518# CONFIG_NETDEV_10000 is not set
521# CONFIG_TR is not set 519# CONFIG_TR is not set
@@ -613,6 +611,7 @@ CONFIG_SSB_POSSIBLE=y
613# CONFIG_MFD_SM501 is not set 611# CONFIG_MFD_SM501 is not set
614# CONFIG_HTC_PASIC3 is not set 612# CONFIG_HTC_PASIC3 is not set
615# CONFIG_MFD_TMIO is not set 613# CONFIG_MFD_TMIO is not set
614# CONFIG_MFD_WM8400 is not set
616 615
617# 616#
618# Multimedia devices 617# Multimedia devices
@@ -646,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y
646# CONFIG_DISPLAY_SUPPORT is not set 645# CONFIG_DISPLAY_SUPPORT is not set
647# CONFIG_SOUND is not set 646# CONFIG_SOUND is not set
648# CONFIG_USB_SUPPORT is not set 647# CONFIG_USB_SUPPORT is not set
648# CONFIG_UWB is not set
649# CONFIG_MMC is not set 649# CONFIG_MMC is not set
650# CONFIG_MEMSTICK is not set 650# CONFIG_MEMSTICK is not set
651# CONFIG_NEW_LEDS is not set 651# CONFIG_NEW_LEDS is not set
@@ -655,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y
655# CONFIG_RTC_CLASS is not set 655# CONFIG_RTC_CLASS is not set
656# CONFIG_DMADEVICES is not set 656# CONFIG_DMADEVICES is not set
657# CONFIG_UIO is not set 657# CONFIG_UIO is not set
658# CONFIG_STAGING is not set
658 659
659# 660#
660# File systems 661# File systems
@@ -663,10 +664,11 @@ CONFIG_EXT2_FS=y
663# CONFIG_EXT2_FS_XATTR is not set 664# CONFIG_EXT2_FS_XATTR is not set
664# CONFIG_EXT2_FS_XIP is not set 665# CONFIG_EXT2_FS_XIP is not set
665# CONFIG_EXT3_FS is not set 666# CONFIG_EXT3_FS is not set
666# CONFIG_EXT4DEV_FS is not set 667# CONFIG_EXT4_FS is not set
667# CONFIG_REISERFS_FS is not set 668# CONFIG_REISERFS_FS is not set
668# CONFIG_JFS_FS is not set 669# CONFIG_JFS_FS is not set
669# CONFIG_FS_POSIX_ACL is not set 670# CONFIG_FS_POSIX_ACL is not set
671CONFIG_FILE_LOCKING=y
670# CONFIG_XFS_FS is not set 672# CONFIG_XFS_FS is not set
671# CONFIG_OCFS2_FS is not set 673# CONFIG_OCFS2_FS is not set
672CONFIG_DNOTIFY=y 674CONFIG_DNOTIFY=y
@@ -696,6 +698,7 @@ CONFIG_INOTIFY_USER=y
696CONFIG_PROC_FS=y 698CONFIG_PROC_FS=y
697CONFIG_PROC_KCORE=y 699CONFIG_PROC_KCORE=y
698CONFIG_PROC_SYSCTL=y 700CONFIG_PROC_SYSCTL=y
701CONFIG_PROC_PAGE_MONITOR=y
699CONFIG_SYSFS=y 702CONFIG_SYSFS=y
700CONFIG_TMPFS=y 703CONFIG_TMPFS=y
701# CONFIG_TMPFS_POSIX_ACL is not set 704# CONFIG_TMPFS_POSIX_ACL is not set
@@ -733,6 +736,7 @@ CONFIG_LOCKD=y
733CONFIG_LOCKD_V4=y 736CONFIG_LOCKD_V4=y
734CONFIG_NFS_COMMON=y 737CONFIG_NFS_COMMON=y
735CONFIG_SUNRPC=y 738CONFIG_SUNRPC=y
739# CONFIG_SUNRPC_REGISTER_V4 is not set
736# CONFIG_RPCSEC_GSS_KRB5 is not set 740# CONFIG_RPCSEC_GSS_KRB5 is not set
737# CONFIG_RPCSEC_GSS_SPKM3 is not set 741# CONFIG_RPCSEC_GSS_SPKM3 is not set
738# CONFIG_SMB_FS is not set 742# CONFIG_SMB_FS is not set
@@ -753,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y
753# Library routines 757# Library routines
754# 758#
755CONFIG_BITREVERSE=y 759CONFIG_BITREVERSE=y
756# CONFIG_GENERIC_FIND_FIRST_BIT is not set
757# CONFIG_CRC_CCITT is not set 760# CONFIG_CRC_CCITT is not set
758# CONFIG_CRC16 is not set 761# CONFIG_CRC16 is not set
759# CONFIG_CRC_T10DIF is not set 762# CONFIG_CRC_T10DIF is not set
@@ -806,15 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
806# CONFIG_DEBUG_SG is not set 809# CONFIG_DEBUG_SG is not set
807# CONFIG_BOOT_PRINTK_DELAY is not set 810# CONFIG_BOOT_PRINTK_DELAY is not set
808# CONFIG_RCU_TORTURE_TEST is not set 811# CONFIG_RCU_TORTURE_TEST is not set
812# CONFIG_RCU_CPU_STALL_DETECTOR is not set
809# CONFIG_BACKTRACE_SELF_TEST is not set 813# CONFIG_BACKTRACE_SELF_TEST is not set
814# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
810# CONFIG_FAULT_INJECTION is not set 815# CONFIG_FAULT_INJECTION is not set
811# CONFIG_LATENCYTOP is not set 816# CONFIG_LATENCYTOP is not set
812CONFIG_SYSCTL_SYSCALL_CHECK=y 817CONFIG_SYSCTL_SYSCALL_CHECK=y
818CONFIG_NOP_TRACER=y
813CONFIG_HAVE_FTRACE=y 819CONFIG_HAVE_FTRACE=y
814CONFIG_HAVE_DYNAMIC_FTRACE=y 820CONFIG_HAVE_DYNAMIC_FTRACE=y
815# CONFIG_FTRACE is not set 821# CONFIG_FTRACE is not set
816# CONFIG_SCHED_TRACER is not set 822# CONFIG_SCHED_TRACER is not set
817# CONFIG_CONTEXT_SWITCH_TRACER is not set 823# CONFIG_CONTEXT_SWITCH_TRACER is not set
824# CONFIG_BOOT_TRACER is not set
825# CONFIG_STACK_TRACER is not set
826# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
818# CONFIG_SAMPLES is not set 827# CONFIG_SAMPLES is not set
819CONFIG_HAVE_ARCH_KGDB=y 828CONFIG_HAVE_ARCH_KGDB=y
820# CONFIG_KGDB is not set 829# CONFIG_KGDB is not set
@@ -835,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y
835# 844#
836# CONFIG_KEYS is not set 845# CONFIG_KEYS is not set
837# CONFIG_SECURITY is not set 846# CONFIG_SECURITY is not set
847# CONFIG_SECURITYFS is not set
838# CONFIG_SECURITY_FILE_CAPABILITIES is not set 848# CONFIG_SECURITY_FILE_CAPABILITIES is not set
839CONFIG_CRYPTO=y 849CONFIG_CRYPTO=y
840 850
841# 851#
842# Crypto core or helper 852# Crypto core or helper
843# 853#
854# CONFIG_CRYPTO_FIPS is not set
844CONFIG_CRYPTO_ALGAPI=y 855CONFIG_CRYPTO_ALGAPI=y
856CONFIG_CRYPTO_AEAD=y
845CONFIG_CRYPTO_BLKCIPHER=y 857CONFIG_CRYPTO_BLKCIPHER=y
858CONFIG_CRYPTO_HASH=y
859CONFIG_CRYPTO_RNG=y
846CONFIG_CRYPTO_MANAGER=y 860CONFIG_CRYPTO_MANAGER=y
847# CONFIG_CRYPTO_GF128MUL is not set 861# CONFIG_CRYPTO_GF128MUL is not set
848# CONFIG_CRYPTO_NULL is not set 862# CONFIG_CRYPTO_NULL is not set
@@ -915,6 +929,11 @@ CONFIG_CRYPTO_DES=y
915# 929#
916# CONFIG_CRYPTO_DEFLATE is not set 930# CONFIG_CRYPTO_DEFLATE is not set
917# CONFIG_CRYPTO_LZO is not set 931# CONFIG_CRYPTO_LZO is not set
932
933#
934# Random Number Generation
935#
936# CONFIG_CRYPTO_ANSI_CPRNG is not set
918CONFIG_CRYPTO_HW=y 937CONFIG_CRYPTO_HW=y
919# CONFIG_CRYPTO_DEV_HIFN_795X is not set 938# CONFIG_CRYPTO_DEV_HIFN_795X is not set
920# CONFIG_PPC_CLOCK is not set 939# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig
index 2113ae2ab401..b80ba7aa3129 100644
--- a/arch/powerpc/configs/40x/ep405_defconfig
+++ b/arch/powerpc/configs/40x/ep405_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 19:34:03 2008 4# Tue Oct 28 08:49:20 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,14 +19,13 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 92CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
111CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
158# CONFIG_PPC4xx_PCI_EXPRESS is not set 155# CONFIG_PPC4xx_PCI_EXPRESS is not set
159 156
160# 157#
@@ -163,11 +160,15 @@ CONFIG_CLASSIC_RCU=y
163# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
164# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164# CONFIG_ACADIA is not set
166CONFIG_EP405=y 165CONFIG_EP405=y
166# CONFIG_HCU4 is not set
167# CONFIG_KILAUEA is not set 167# CONFIG_KILAUEA is not set
168# CONFIG_MAKALU is not set 168# CONFIG_MAKALU is not set
169# CONFIG_WALNUT is not set 169# CONFIG_WALNUT is not set
170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set 170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
171# CONFIG_PPC40x_SIMPLE is not set
171CONFIG_405GP=y 172CONFIG_405GP=y
172CONFIG_IBM405_ERR77=y 173CONFIG_IBM405_ERR77=y
173CONFIG_IBM405_ERR51=y 174CONFIG_IBM405_ERR51=y
@@ -188,7 +189,6 @@ CONFIG_IBM405_ERR51=y
188# Kernel options 189# Kernel options
189# 190#
190# CONFIG_HIGHMEM is not set 191# CONFIG_HIGHMEM is not set
191# CONFIG_TICK_ONESHOT is not set
192# CONFIG_NO_HZ is not set 192# CONFIG_NO_HZ is not set
193# CONFIG_HIGH_RES_TIMERS is not set 193# CONFIG_HIGH_RES_TIMERS is not set
194CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 194CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -202,6 +202,8 @@ CONFIG_PREEMPT_NONE=y
202# CONFIG_PREEMPT_VOLUNTARY is not set 202# CONFIG_PREEMPT_VOLUNTARY is not set
203# CONFIG_PREEMPT is not set 203# CONFIG_PREEMPT is not set
204CONFIG_BINFMT_ELF=y 204CONFIG_BINFMT_ELF=y
205# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
206# CONFIG_HAVE_AOUT is not set
205# CONFIG_BINFMT_MISC is not set 207# CONFIG_BINFMT_MISC is not set
206# CONFIG_MATH_EMULATION is not set 208# CONFIG_MATH_EMULATION is not set
207# CONFIG_IOMMU_HELPER is not set 209# CONFIG_IOMMU_HELPER is not set
@@ -216,15 +218,15 @@ CONFIG_FLATMEM_MANUAL=y
216# CONFIG_SPARSEMEM_MANUAL is not set 218# CONFIG_SPARSEMEM_MANUAL is not set
217CONFIG_FLATMEM=y 219CONFIG_FLATMEM=y
218CONFIG_FLAT_NODE_MEM_MAP=y 220CONFIG_FLAT_NODE_MEM_MAP=y
219# CONFIG_SPARSEMEM_STATIC is not set
220# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
221CONFIG_PAGEFLAGS_EXTENDED=y 221CONFIG_PAGEFLAGS_EXTENDED=y
222CONFIG_SPLIT_PTLOCK_CPUS=4 222CONFIG_SPLIT_PTLOCK_CPUS=4
223CONFIG_MIGRATION=y 223CONFIG_MIGRATION=y
224# CONFIG_RESOURCES_64BIT is not set 224# CONFIG_RESOURCES_64BIT is not set
225# CONFIG_PHYS_ADDR_T_64BIT is not set
225CONFIG_ZONE_DMA_FLAG=1 226CONFIG_ZONE_DMA_FLAG=1
226CONFIG_BOUNCE=y 227CONFIG_BOUNCE=y
227CONFIG_VIRT_TO_BUS=y 228CONFIG_VIRT_TO_BUS=y
229CONFIG_UNEVICTABLE_LRU=y
228CONFIG_FORCE_MAX_ZONEORDER=11 230CONFIG_FORCE_MAX_ZONEORDER=11
229CONFIG_PROC_DEVICETREE=y 231CONFIG_PROC_DEVICETREE=y
230# CONFIG_CMDLINE_BOOL is not set 232# CONFIG_CMDLINE_BOOL is not set
@@ -311,6 +313,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
311# CONFIG_TIPC is not set 313# CONFIG_TIPC is not set
312# CONFIG_ATM is not set 314# CONFIG_ATM is not set
313# CONFIG_BRIDGE is not set 315# CONFIG_BRIDGE is not set
316# CONFIG_NET_DSA is not set
314# CONFIG_VLAN_8021Q is not set 317# CONFIG_VLAN_8021Q is not set
315# CONFIG_DECNET is not set 318# CONFIG_DECNET is not set
316# CONFIG_LLC2 is not set 319# CONFIG_LLC2 is not set
@@ -331,14 +334,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_IRDA is not set 334# CONFIG_IRDA is not set
332# CONFIG_BT is not set 335# CONFIG_BT is not set
333# CONFIG_AF_RXRPC is not set 336# CONFIG_AF_RXRPC is not set
334 337# CONFIG_PHONET is not set
335# 338# CONFIG_WIRELESS is not set
336# Wireless
337#
338# CONFIG_CFG80211 is not set
339# CONFIG_WIRELESS_EXT is not set
340# CONFIG_MAC80211 is not set
341# CONFIG_IEEE80211 is not set
342# CONFIG_RFKILL is not set 339# CONFIG_RFKILL is not set
343# CONFIG_NET_9P is not set 340# CONFIG_NET_9P is not set
344 341
@@ -520,8 +517,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
520# CONFIG_IBM_NEW_EMAC_RGMII is not set 517# CONFIG_IBM_NEW_EMAC_RGMII is not set
521# CONFIG_IBM_NEW_EMAC_TAH is not set 518# CONFIG_IBM_NEW_EMAC_TAH is not set
522# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 519# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
520# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
521# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
522# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
523# CONFIG_NET_PCI is not set 523# CONFIG_NET_PCI is not set
524# CONFIG_B44 is not set 524# CONFIG_B44 is not set
525# CONFIG_ATL2 is not set
525CONFIG_NETDEV_1000=y 526CONFIG_NETDEV_1000=y
526# CONFIG_ACENIC is not set 527# CONFIG_ACENIC is not set
527# CONFIG_DL2K is not set 528# CONFIG_DL2K is not set
@@ -542,18 +543,22 @@ CONFIG_NETDEV_1000=y
542# CONFIG_QLA3XXX is not set 543# CONFIG_QLA3XXX is not set
543# CONFIG_ATL1 is not set 544# CONFIG_ATL1 is not set
544# CONFIG_ATL1E is not set 545# CONFIG_ATL1E is not set
546# CONFIG_JME is not set
545CONFIG_NETDEV_10000=y 547CONFIG_NETDEV_10000=y
546# CONFIG_CHELSIO_T1 is not set 548# CONFIG_CHELSIO_T1 is not set
547# CONFIG_CHELSIO_T3 is not set 549# CONFIG_CHELSIO_T3 is not set
550# CONFIG_ENIC is not set
548# CONFIG_IXGBE is not set 551# CONFIG_IXGBE is not set
549# CONFIG_IXGB is not set 552# CONFIG_IXGB is not set
550# CONFIG_S2IO is not set 553# CONFIG_S2IO is not set
551# CONFIG_MYRI10GE is not set 554# CONFIG_MYRI10GE is not set
552# CONFIG_NETXEN_NIC is not set 555# CONFIG_NETXEN_NIC is not set
553# CONFIG_NIU is not set 556# CONFIG_NIU is not set
557# CONFIG_MLX4_EN is not set
554# CONFIG_MLX4_CORE is not set 558# CONFIG_MLX4_CORE is not set
555# CONFIG_TEHUTI is not set 559# CONFIG_TEHUTI is not set
556# CONFIG_BNX2X is not set 560# CONFIG_BNX2X is not set
561# CONFIG_QLGE is not set
557# CONFIG_SFC is not set 562# CONFIG_SFC is not set
558# CONFIG_TR is not set 563# CONFIG_TR is not set
559 564
@@ -658,6 +663,8 @@ CONFIG_SSB_POSSIBLE=y
658# CONFIG_MFD_CORE is not set 663# CONFIG_MFD_CORE is not set
659# CONFIG_MFD_SM501 is not set 664# CONFIG_MFD_SM501 is not set
660# CONFIG_HTC_PASIC3 is not set 665# CONFIG_HTC_PASIC3 is not set
666# CONFIG_MFD_TMIO is not set
667# CONFIG_MFD_WM8400 is not set
661 668
662# 669#
663# Multimedia devices 670# Multimedia devices
@@ -707,6 +714,9 @@ CONFIG_USB_DEVICE_CLASS=y
707# CONFIG_USB_OTG is not set 714# CONFIG_USB_OTG is not set
708# CONFIG_USB_OTG_WHITELIST is not set 715# CONFIG_USB_OTG_WHITELIST is not set
709# CONFIG_USB_OTG_BLACKLIST_HUB is not set 716# CONFIG_USB_OTG_BLACKLIST_HUB is not set
717CONFIG_USB_MON=y
718# CONFIG_USB_WUSB is not set
719# CONFIG_USB_WUSB_CBAF is not set
710 720
711# 721#
712# USB Host Controller Drivers 722# USB Host Controller Drivers
@@ -726,6 +736,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
726# CONFIG_USB_UHCI_HCD is not set 736# CONFIG_USB_UHCI_HCD is not set
727# CONFIG_USB_SL811_HCD is not set 737# CONFIG_USB_SL811_HCD is not set
728# CONFIG_USB_R8A66597_HCD is not set 738# CONFIG_USB_R8A66597_HCD is not set
739# CONFIG_USB_WHCI_HCD is not set
740# CONFIG_USB_HWA_HCD is not set
729 741
730# 742#
731# USB Device Class drivers 743# USB Device Class drivers
@@ -733,6 +745,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
733# CONFIG_USB_ACM is not set 745# CONFIG_USB_ACM is not set
734# CONFIG_USB_PRINTER is not set 746# CONFIG_USB_PRINTER is not set
735# CONFIG_USB_WDM is not set 747# CONFIG_USB_WDM is not set
748# CONFIG_USB_TMC is not set
736 749
737# 750#
738# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 751# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -747,7 +760,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
747# USB Imaging devices 760# USB Imaging devices
748# 761#
749# CONFIG_USB_MDC800 is not set 762# CONFIG_USB_MDC800 is not set
750CONFIG_USB_MON=y
751 763
752# 764#
753# USB port drivers 765# USB port drivers
@@ -760,7 +772,7 @@ CONFIG_USB_MON=y
760# CONFIG_USB_EMI62 is not set 772# CONFIG_USB_EMI62 is not set
761# CONFIG_USB_EMI26 is not set 773# CONFIG_USB_EMI26 is not set
762# CONFIG_USB_ADUTUX is not set 774# CONFIG_USB_ADUTUX is not set
763# CONFIG_USB_AUERSWALD is not set 775# CONFIG_USB_SEVSEG is not set
764# CONFIG_USB_RIO500 is not set 776# CONFIG_USB_RIO500 is not set
765# CONFIG_USB_LEGOTOWER is not set 777# CONFIG_USB_LEGOTOWER is not set
766# CONFIG_USB_LCD is not set 778# CONFIG_USB_LCD is not set
@@ -777,7 +789,9 @@ CONFIG_USB_MON=y
777# CONFIG_USB_IOWARRIOR is not set 789# CONFIG_USB_IOWARRIOR is not set
778# CONFIG_USB_TEST is not set 790# CONFIG_USB_TEST is not set
779# CONFIG_USB_ISIGHTFW is not set 791# CONFIG_USB_ISIGHTFW is not set
792# CONFIG_USB_VST is not set
780# CONFIG_USB_GADGET is not set 793# CONFIG_USB_GADGET is not set
794# CONFIG_UWB is not set
781# CONFIG_MMC is not set 795# CONFIG_MMC is not set
782# CONFIG_MEMSTICK is not set 796# CONFIG_MEMSTICK is not set
783# CONFIG_NEW_LEDS is not set 797# CONFIG_NEW_LEDS is not set
@@ -787,6 +801,7 @@ CONFIG_USB_MON=y
787# CONFIG_RTC_CLASS is not set 801# CONFIG_RTC_CLASS is not set
788# CONFIG_DMADEVICES is not set 802# CONFIG_DMADEVICES is not set
789# CONFIG_UIO is not set 803# CONFIG_UIO is not set
804# CONFIG_STAGING is not set
790 805
791# 806#
792# File systems 807# File systems
@@ -795,10 +810,11 @@ CONFIG_EXT2_FS=y
795# CONFIG_EXT2_FS_XATTR is not set 810# CONFIG_EXT2_FS_XATTR is not set
796# CONFIG_EXT2_FS_XIP is not set 811# CONFIG_EXT2_FS_XIP is not set
797# CONFIG_EXT3_FS is not set 812# CONFIG_EXT3_FS is not set
798# CONFIG_EXT4DEV_FS is not set 813# CONFIG_EXT4_FS is not set
799# CONFIG_REISERFS_FS is not set 814# CONFIG_REISERFS_FS is not set
800# CONFIG_JFS_FS is not set 815# CONFIG_JFS_FS is not set
801# CONFIG_FS_POSIX_ACL is not set 816# CONFIG_FS_POSIX_ACL is not set
817CONFIG_FILE_LOCKING=y
802# CONFIG_XFS_FS is not set 818# CONFIG_XFS_FS is not set
803# CONFIG_OCFS2_FS is not set 819# CONFIG_OCFS2_FS is not set
804CONFIG_DNOTIFY=y 820CONFIG_DNOTIFY=y
@@ -828,6 +844,7 @@ CONFIG_INOTIFY_USER=y
828CONFIG_PROC_FS=y 844CONFIG_PROC_FS=y
829CONFIG_PROC_KCORE=y 845CONFIG_PROC_KCORE=y
830CONFIG_PROC_SYSCTL=y 846CONFIG_PROC_SYSCTL=y
847CONFIG_PROC_PAGE_MONITOR=y
831CONFIG_SYSFS=y 848CONFIG_SYSFS=y
832CONFIG_TMPFS=y 849CONFIG_TMPFS=y
833# CONFIG_TMPFS_POSIX_ACL is not set 850# CONFIG_TMPFS_POSIX_ACL is not set
@@ -865,6 +882,7 @@ CONFIG_LOCKD=y
865CONFIG_LOCKD_V4=y 882CONFIG_LOCKD_V4=y
866CONFIG_NFS_COMMON=y 883CONFIG_NFS_COMMON=y
867CONFIG_SUNRPC=y 884CONFIG_SUNRPC=y
885# CONFIG_SUNRPC_REGISTER_V4 is not set
868# CONFIG_RPCSEC_GSS_KRB5 is not set 886# CONFIG_RPCSEC_GSS_KRB5 is not set
869# CONFIG_RPCSEC_GSS_SPKM3 is not set 887# CONFIG_RPCSEC_GSS_SPKM3 is not set
870# CONFIG_SMB_FS is not set 888# CONFIG_SMB_FS is not set
@@ -885,7 +903,6 @@ CONFIG_MSDOS_PARTITION=y
885# Library routines 903# Library routines
886# 904#
887CONFIG_BITREVERSE=y 905CONFIG_BITREVERSE=y
888# CONFIG_GENERIC_FIND_FIRST_BIT is not set
889# CONFIG_CRC_CCITT is not set 906# CONFIG_CRC_CCITT is not set
890# CONFIG_CRC16 is not set 907# CONFIG_CRC16 is not set
891# CONFIG_CRC_T10DIF is not set 908# CONFIG_CRC_T10DIF is not set
@@ -938,14 +955,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
938# CONFIG_DEBUG_SG is not set 955# CONFIG_DEBUG_SG is not set
939# CONFIG_BOOT_PRINTK_DELAY is not set 956# CONFIG_BOOT_PRINTK_DELAY is not set
940# CONFIG_RCU_TORTURE_TEST is not set 957# CONFIG_RCU_TORTURE_TEST is not set
958# CONFIG_RCU_CPU_STALL_DETECTOR is not set
941# CONFIG_BACKTRACE_SELF_TEST is not set 959# CONFIG_BACKTRACE_SELF_TEST is not set
960# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
942# CONFIG_FAULT_INJECTION is not set 961# CONFIG_FAULT_INJECTION is not set
943# CONFIG_LATENCYTOP is not set 962# CONFIG_LATENCYTOP is not set
963CONFIG_SYSCTL_SYSCALL_CHECK=y
964CONFIG_NOP_TRACER=y
944CONFIG_HAVE_FTRACE=y 965CONFIG_HAVE_FTRACE=y
945CONFIG_HAVE_DYNAMIC_FTRACE=y 966CONFIG_HAVE_DYNAMIC_FTRACE=y
946# CONFIG_FTRACE is not set 967# CONFIG_FTRACE is not set
947# CONFIG_SCHED_TRACER is not set 968# CONFIG_SCHED_TRACER is not set
948# CONFIG_CONTEXT_SWITCH_TRACER is not set 969# CONFIG_CONTEXT_SWITCH_TRACER is not set
970# CONFIG_BOOT_TRACER is not set
971# CONFIG_STACK_TRACER is not set
972# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
949# CONFIG_SAMPLES is not set 973# CONFIG_SAMPLES is not set
950CONFIG_HAVE_ARCH_KGDB=y 974CONFIG_HAVE_ARCH_KGDB=y
951# CONFIG_KGDB is not set 975# CONFIG_KGDB is not set
@@ -954,6 +978,7 @@ CONFIG_HAVE_ARCH_KGDB=y
954# CONFIG_DEBUG_PAGEALLOC is not set 978# CONFIG_DEBUG_PAGEALLOC is not set
955# CONFIG_CODE_PATCHING_SELFTEST is not set 979# CONFIG_CODE_PATCHING_SELFTEST is not set
956# CONFIG_FTR_FIXUP_SELFTEST is not set 980# CONFIG_FTR_FIXUP_SELFTEST is not set
981# CONFIG_MSI_BITMAP_SELFTEST is not set
957# CONFIG_XMON is not set 982# CONFIG_XMON is not set
958# CONFIG_IRQSTACKS is not set 983# CONFIG_IRQSTACKS is not set
959# CONFIG_VIRQ_DEBUG is not set 984# CONFIG_VIRQ_DEBUG is not set
@@ -965,14 +990,19 @@ CONFIG_HAVE_ARCH_KGDB=y
965# 990#
966# CONFIG_KEYS is not set 991# CONFIG_KEYS is not set
967# CONFIG_SECURITY is not set 992# CONFIG_SECURITY is not set
993# CONFIG_SECURITYFS is not set
968# CONFIG_SECURITY_FILE_CAPABILITIES is not set 994# CONFIG_SECURITY_FILE_CAPABILITIES is not set
969CONFIG_CRYPTO=y 995CONFIG_CRYPTO=y
970 996
971# 997#
972# Crypto core or helper 998# Crypto core or helper
973# 999#
1000# CONFIG_CRYPTO_FIPS is not set
974CONFIG_CRYPTO_ALGAPI=y 1001CONFIG_CRYPTO_ALGAPI=y
1002CONFIG_CRYPTO_AEAD=y
975CONFIG_CRYPTO_BLKCIPHER=y 1003CONFIG_CRYPTO_BLKCIPHER=y
1004CONFIG_CRYPTO_HASH=y
1005CONFIG_CRYPTO_RNG=y
976CONFIG_CRYPTO_MANAGER=y 1006CONFIG_CRYPTO_MANAGER=y
977# CONFIG_CRYPTO_GF128MUL is not set 1007# CONFIG_CRYPTO_GF128MUL is not set
978# CONFIG_CRYPTO_NULL is not set 1008# CONFIG_CRYPTO_NULL is not set
@@ -1045,6 +1075,11 @@ CONFIG_CRYPTO_DES=y
1045# 1075#
1046# CONFIG_CRYPTO_DEFLATE is not set 1076# CONFIG_CRYPTO_DEFLATE is not set
1047# CONFIG_CRYPTO_LZO is not set 1077# CONFIG_CRYPTO_LZO is not set
1078
1079#
1080# Random Number Generation
1081#
1082# CONFIG_CRYPTO_ANSI_CPRNG is not set
1048CONFIG_CRYPTO_HW=y 1083CONFIG_CRYPTO_HW=y
1049# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1084# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1050# CONFIG_PPC_CLOCK is not set 1085# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/40x/hcu4_defconfig b/arch/powerpc/configs/40x/hcu4_defconfig
index 682fce02c73a..45dcb824503f 100644
--- a/arch/powerpc/configs/40x/hcu4_defconfig
+++ b/arch/powerpc/configs/40x/hcu4_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.5 3# Linux kernel version: 2.6.28-rc2
4# Tue Sep 16 00:44:33 2008 4# Tue Oct 28 08:49:22 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -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
@@ -86,13 +87,11 @@ CONFIG_INITRAMFS_SOURCE=""
86CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
87CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
88CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
89CONFIG_SYSCTL_SYSCALL_CHECK=y
90CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
91CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
92CONFIG_KALLSYMS_EXTRA_PASS=y 92CONFIG_KALLSYMS_EXTRA_PASS=y
93CONFIG_HOTPLUG=y 93CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 94CONFIG_PRINTK=y
95# CONFIG_LOGBUFFER is not set
96CONFIG_BUG=y 95CONFIG_BUG=y
97CONFIG_ELF_CORE=y 96CONFIG_ELF_CORE=y
98CONFIG_COMPAT_BRK=y 97CONFIG_COMPAT_BRK=y
@@ -104,7 +103,9 @@ CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
109# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
110CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -113,10 +114,12 @@ CONFIG_SLUB=y
113# CONFIG_MARKERS is not set 114# CONFIG_MARKERS is not set
114CONFIG_HAVE_OPROFILE=y 115CONFIG_HAVE_OPROFILE=y
115# CONFIG_KPROBES is not set 116# CONFIG_KPROBES is not set
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
118# CONFIG_HAVE_DMA_ATTRS is not set 121CONFIG_HAVE_ARCH_TRACEHOOK=y
119CONFIG_PROC_PAGE_MONITOR=y 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
121CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
122# CONFIG_TINY_SHMEM is not set 125# CONFIG_TINY_SHMEM is not set
@@ -133,6 +136,7 @@ CONFIG_LBD=y
133# CONFIG_BLK_DEV_IO_TRACE is not set 136# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_LSF is not set 137# CONFIG_LSF is not set
135# CONFIG_BLK_DEV_BSG is not set 138# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set
136 140
137# 141#
138# IO Schedulers 142# IO Schedulers
@@ -147,22 +151,25 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
150# CONFIG_PPC4xx_PCI_EXPRESS is not set 155# CONFIG_PPC4xx_PCI_EXPRESS is not set
151 156
152# 157#
153# Platform support 158# Platform support
154# 159#
155# CONFIG_PPC_MPC512x is not set
156# CONFIG_PPC_MPC5121 is not set
157# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
158# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
159# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164# CONFIG_ACADIA is not set
160# CONFIG_EP405 is not set 165# CONFIG_EP405 is not set
161CONFIG_HCU4=y 166CONFIG_HCU4=y
162# CONFIG_KILAUEA is not set 167# CONFIG_KILAUEA is not set
163# CONFIG_MAKALU is not set 168# CONFIG_MAKALU is not set
164# CONFIG_WALNUT is not set 169# CONFIG_WALNUT is not set
165# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set 170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
171# CONFIG_PPC40x_SIMPLE is not set
172CONFIG_405GPR=y
166# CONFIG_IPIC is not set 173# CONFIG_IPIC is not set
167# CONFIG_MPIC is not set 174# CONFIG_MPIC is not set
168# CONFIG_MPIC_WEIRD is not set 175# CONFIG_MPIC_WEIRD is not set
@@ -180,7 +187,6 @@ CONFIG_HCU4=y
180# Kernel options 187# Kernel options
181# 188#
182# CONFIG_HIGHMEM is not set 189# CONFIG_HIGHMEM is not set
183# CONFIG_TICK_ONESHOT is not set
184# CONFIG_NO_HZ is not set 190# CONFIG_NO_HZ is not set
185# CONFIG_HIGH_RES_TIMERS is not set 191# CONFIG_HIGH_RES_TIMERS is not set
186CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -194,6 +200,8 @@ CONFIG_PREEMPT_NONE=y
194# CONFIG_PREEMPT_VOLUNTARY is not set 200# CONFIG_PREEMPT_VOLUNTARY is not set
195# CONFIG_PREEMPT is not set 201# CONFIG_PREEMPT is not set
196CONFIG_BINFMT_ELF=y 202CONFIG_BINFMT_ELF=y
203# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
204# CONFIG_HAVE_AOUT is not set
197# CONFIG_BINFMT_MISC is not set 205# CONFIG_BINFMT_MISC is not set
198# CONFIG_MATH_EMULATION is not set 206# CONFIG_MATH_EMULATION is not set
199# CONFIG_IOMMU_HELPER is not set 207# CONFIG_IOMMU_HELPER is not set
@@ -208,17 +216,19 @@ CONFIG_FLATMEM_MANUAL=y
208# CONFIG_SPARSEMEM_MANUAL is not set 216# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_FLATMEM=y 217CONFIG_FLATMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y 218CONFIG_FLAT_NODE_MEM_MAP=y
211# CONFIG_SPARSEMEM_STATIC is not set
212# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
213CONFIG_PAGEFLAGS_EXTENDED=y 219CONFIG_PAGEFLAGS_EXTENDED=y
214CONFIG_SPLIT_PTLOCK_CPUS=4 220CONFIG_SPLIT_PTLOCK_CPUS=4
221CONFIG_MIGRATION=y
215CONFIG_RESOURCES_64BIT=y 222CONFIG_RESOURCES_64BIT=y
223# CONFIG_PHYS_ADDR_T_64BIT is not set
216CONFIG_ZONE_DMA_FLAG=1 224CONFIG_ZONE_DMA_FLAG=1
217CONFIG_BOUNCE=y 225CONFIG_BOUNCE=y
218CONFIG_VIRT_TO_BUS=y 226CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y
219CONFIG_FORCE_MAX_ZONEORDER=11 228CONFIG_FORCE_MAX_ZONEORDER=11
220CONFIG_PROC_DEVICETREE=y 229CONFIG_PROC_DEVICETREE=y
221# CONFIG_CMDLINE_BOOL is not set 230# CONFIG_CMDLINE_BOOL is not set
231CONFIG_EXTRA_TARGETS=""
222# CONFIG_PM is not set 232# CONFIG_PM is not set
223CONFIG_SECCOMP=y 233CONFIG_SECCOMP=y
224CONFIG_ISA_DMA_API=y 234CONFIG_ISA_DMA_API=y
@@ -229,6 +239,7 @@ CONFIG_ISA_DMA_API=y
229CONFIG_ZONE_DMA=y 239CONFIG_ZONE_DMA=y
230CONFIG_PPC_INDIRECT_PCI=y 240CONFIG_PPC_INDIRECT_PCI=y
231CONFIG_4xx_SOC=y 241CONFIG_4xx_SOC=y
242CONFIG_PPC_PCI_CHOICE=y
232CONFIG_PCI=y 243CONFIG_PCI=y
233CONFIG_PCI_DOMAINS=y 244CONFIG_PCI_DOMAINS=y
234CONFIG_PCI_SYSCALL=y 245CONFIG_PCI_SYSCALL=y
@@ -256,10 +267,6 @@ CONFIG_PHYSICAL_START=0x00000000
256CONFIG_TASK_SIZE=0xc0000000 267CONFIG_TASK_SIZE=0xc0000000
257CONFIG_CONSISTENT_START=0xff100000 268CONFIG_CONSISTENT_START=0xff100000
258CONFIG_CONSISTENT_SIZE=0x00200000 269CONFIG_CONSISTENT_SIZE=0x00200000
259
260#
261# Networking
262#
263CONFIG_NET=y 270CONFIG_NET=y
264 271
265# 272#
@@ -304,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
304# CONFIG_TIPC is not set 311# CONFIG_TIPC is not set
305# CONFIG_ATM is not set 312# CONFIG_ATM is not set
306# CONFIG_BRIDGE is not set 313# CONFIG_BRIDGE is not set
314# CONFIG_NET_DSA is not set
307# CONFIG_VLAN_8021Q is not set 315# CONFIG_VLAN_8021Q is not set
308# CONFIG_DECNET is not set 316# CONFIG_DECNET is not set
309# CONFIG_LLC2 is not set 317# CONFIG_LLC2 is not set
@@ -324,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
324# CONFIG_IRDA is not set 332# CONFIG_IRDA is not set
325# CONFIG_BT is not set 333# CONFIG_BT is not set
326# CONFIG_AF_RXRPC is not set 334# CONFIG_AF_RXRPC is not set
327 335# CONFIG_PHONET is not set
328# 336# CONFIG_WIRELESS is not set
329# Wireless
330#
331# CONFIG_CFG80211 is not set
332# CONFIG_WIRELESS_EXT is not set
333# CONFIG_MAC80211 is not set
334# CONFIG_IEEE80211 is not set
335# CONFIG_RFKILL is not set 337# CONFIG_RFKILL is not set
336# CONFIG_NET_9P is not set 338# CONFIG_NET_9P is not set
337 339
@@ -346,6 +348,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
346CONFIG_STANDALONE=y 348CONFIG_STANDALONE=y
347CONFIG_PREVENT_FIRMWARE_BUILD=y 349CONFIG_PREVENT_FIRMWARE_BUILD=y
348CONFIG_FW_LOADER=y 350CONFIG_FW_LOADER=y
351CONFIG_FIRMWARE_IN_KERNEL=y
352CONFIG_EXTRA_FIRMWARE=""
349# CONFIG_DEBUG_DRIVER is not set 353# CONFIG_DEBUG_DRIVER is not set
350# CONFIG_DEBUG_DEVRES is not set 354# CONFIG_DEBUG_DEVRES is not set
351# CONFIG_SYS_HYPERVISOR is not set 355# CONFIG_SYS_HYPERVISOR is not set
@@ -449,12 +453,14 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
449# CONFIG_CDROM_PKTCDVD is not set 453# CONFIG_CDROM_PKTCDVD is not set
450# CONFIG_ATA_OVER_ETH is not set 454# CONFIG_ATA_OVER_ETH is not set
451# CONFIG_XILINX_SYSACE is not set 455# CONFIG_XILINX_SYSACE 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
459# CONFIG_IDE is not set 465# CONFIG_IDE is not set
460 466
@@ -481,7 +487,6 @@ CONFIG_HAVE_IDE=y
481# CONFIG_I2O is not set 487# CONFIG_I2O is not set
482# CONFIG_MACINTOSH_DRIVERS is not set 488# CONFIG_MACINTOSH_DRIVERS is not set
483CONFIG_NETDEVICES=y 489CONFIG_NETDEVICES=y
484# CONFIG_NETDEVICES_MULTIQUEUE is not set
485# CONFIG_DUMMY is not set 490# CONFIG_DUMMY is not set
486# CONFIG_BONDING is not set 491# CONFIG_BONDING is not set
487# CONFIG_MACVLAN is not set 492# CONFIG_MACVLAN is not set
@@ -509,14 +514,17 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
509# CONFIG_IBM_NEW_EMAC_RGMII is not set 514# CONFIG_IBM_NEW_EMAC_RGMII is not set
510# CONFIG_IBM_NEW_EMAC_TAH is not set 515# CONFIG_IBM_NEW_EMAC_TAH is not set
511# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 516# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
517# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
518# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
519# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
512# CONFIG_NET_PCI is not set 520# CONFIG_NET_PCI is not set
513# CONFIG_B44 is not set 521# CONFIG_B44 is not set
522# CONFIG_ATL2 is not set
514CONFIG_NETDEV_1000=y 523CONFIG_NETDEV_1000=y
515# CONFIG_ACENIC is not set 524# CONFIG_ACENIC is not set
516# CONFIG_DL2K is not set 525# CONFIG_DL2K is not set
517# CONFIG_E1000 is not set 526# CONFIG_E1000 is not set
518# CONFIG_E1000E is not set 527# CONFIG_E1000E is not set
519# CONFIG_E1000E_ENABLED is not set
520# CONFIG_IP1000 is not set 528# CONFIG_IP1000 is not set
521# CONFIG_IGB is not set 529# CONFIG_IGB is not set
522# CONFIG_NS83820 is not set 530# CONFIG_NS83820 is not set
@@ -531,18 +539,23 @@ CONFIG_NETDEV_1000=y
531# CONFIG_BNX2 is not set 539# CONFIG_BNX2 is not set
532# CONFIG_QLA3XXX is not set 540# CONFIG_QLA3XXX is not set
533# CONFIG_ATL1 is not set 541# CONFIG_ATL1 is not set
542# CONFIG_ATL1E is not set
543# CONFIG_JME is not set
534CONFIG_NETDEV_10000=y 544CONFIG_NETDEV_10000=y
535# CONFIG_CHELSIO_T1 is not set 545# CONFIG_CHELSIO_T1 is not set
536# CONFIG_CHELSIO_T3 is not set 546# CONFIG_CHELSIO_T3 is not set
547# CONFIG_ENIC is not set
537# CONFIG_IXGBE is not set 548# CONFIG_IXGBE is not set
538# CONFIG_IXGB is not set 549# CONFIG_IXGB is not set
539# CONFIG_S2IO is not set 550# CONFIG_S2IO is not set
540# CONFIG_MYRI10GE is not set 551# CONFIG_MYRI10GE is not set
541# CONFIG_NETXEN_NIC is not set 552# CONFIG_NETXEN_NIC is not set
542# CONFIG_NIU is not set 553# CONFIG_NIU is not set
554# CONFIG_MLX4_EN is not set
543# CONFIG_MLX4_CORE is not set 555# CONFIG_MLX4_CORE is not set
544# CONFIG_TEHUTI is not set 556# CONFIG_TEHUTI is not set
545# CONFIG_BNX2X is not set 557# CONFIG_BNX2X is not set
558# CONFIG_QLGE is not set
546# CONFIG_SFC is not set 559# CONFIG_SFC is not set
547# CONFIG_TR is not set 560# CONFIG_TR is not set
548 561
@@ -618,6 +631,8 @@ CONFIG_LEGACY_PTY_COUNT=256
618CONFIG_DEVPORT=y 631CONFIG_DEVPORT=y
619# CONFIG_I2C is not set 632# CONFIG_I2C is not set
620# CONFIG_SPI is not set 633# CONFIG_SPI is not set
634CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
635# CONFIG_GPIOLIB is not set
621# CONFIG_W1 is not set 636# CONFIG_W1 is not set
622# CONFIG_POWER_SUPPLY is not set 637# CONFIG_POWER_SUPPLY is not set
623# CONFIG_HWMON is not set 638# CONFIG_HWMON is not set
@@ -634,8 +649,11 @@ CONFIG_SSB_POSSIBLE=y
634# 649#
635# Multifunction device drivers 650# Multifunction device drivers
636# 651#
652# CONFIG_MFD_CORE is not set
637# CONFIG_MFD_SM501 is not set 653# CONFIG_MFD_SM501 is not set
638# CONFIG_HTC_PASIC3 is not set 654# CONFIG_HTC_PASIC3 is not set
655# CONFIG_MFD_TMIO is not set
656# CONFIG_MFD_WM8400 is not set
639 657
640# 658#
641# Multimedia devices 659# Multimedia devices
@@ -667,12 +685,9 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
667# Display device support 685# Display device support
668# 686#
669# CONFIG_DISPLAY_SUPPORT is not set 687# CONFIG_DISPLAY_SUPPORT is not set
670
671#
672# Sound
673#
674# CONFIG_SOUND is not set 688# CONFIG_SOUND is not set
675# CONFIG_USB_SUPPORT is not set 689# CONFIG_USB_SUPPORT is not set
690# CONFIG_UWB is not set
676# CONFIG_MMC is not set 691# CONFIG_MMC is not set
677# CONFIG_MEMSTICK is not set 692# CONFIG_MEMSTICK is not set
678# CONFIG_NEW_LEDS is not set 693# CONFIG_NEW_LEDS is not set
@@ -682,6 +697,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
682# CONFIG_RTC_CLASS is not set 697# CONFIG_RTC_CLASS is not set
683# CONFIG_DMADEVICES is not set 698# CONFIG_DMADEVICES is not set
684# CONFIG_UIO is not set 699# CONFIG_UIO is not set
700# CONFIG_STAGING is not set
685 701
686# 702#
687# File systems 703# File systems
@@ -690,10 +706,11 @@ CONFIG_EXT2_FS=y
690# CONFIG_EXT2_FS_XATTR is not set 706# CONFIG_EXT2_FS_XATTR is not set
691# CONFIG_EXT2_FS_XIP is not set 707# CONFIG_EXT2_FS_XIP is not set
692# CONFIG_EXT3_FS is not set 708# CONFIG_EXT3_FS is not set
693# CONFIG_EXT4DEV_FS is not set 709# CONFIG_EXT4_FS is not set
694# CONFIG_REISERFS_FS is not set 710# CONFIG_REISERFS_FS is not set
695# CONFIG_JFS_FS is not set 711# CONFIG_JFS_FS is not set
696# CONFIG_FS_POSIX_ACL is not set 712# CONFIG_FS_POSIX_ACL is not set
713CONFIG_FILE_LOCKING=y
697# CONFIG_XFS_FS is not set 714# CONFIG_XFS_FS is not set
698# CONFIG_OCFS2_FS is not set 715# CONFIG_OCFS2_FS is not set
699CONFIG_DNOTIFY=y 716CONFIG_DNOTIFY=y
@@ -723,6 +740,7 @@ CONFIG_INOTIFY_USER=y
723CONFIG_PROC_FS=y 740CONFIG_PROC_FS=y
724CONFIG_PROC_KCORE=y 741CONFIG_PROC_KCORE=y
725CONFIG_PROC_SYSCTL=y 742CONFIG_PROC_SYSCTL=y
743CONFIG_PROC_PAGE_MONITOR=y
726CONFIG_SYSFS=y 744CONFIG_SYSFS=y
727CONFIG_TMPFS=y 745CONFIG_TMPFS=y
728# CONFIG_TMPFS_POSIX_ACL is not set 746# CONFIG_TMPFS_POSIX_ACL is not set
@@ -739,11 +757,11 @@ CONFIG_TMPFS=y
739# CONFIG_BEFS_FS is not set 757# CONFIG_BEFS_FS is not set
740# CONFIG_BFS_FS is not set 758# CONFIG_BFS_FS is not set
741# CONFIG_EFS_FS is not set 759# CONFIG_EFS_FS is not set
742# CONFIG_YAFFS_FS is not set
743# CONFIG_JFFS2_FS is not set 760# CONFIG_JFFS2_FS is not set
744CONFIG_CRAMFS=y 761CONFIG_CRAMFS=y
745# CONFIG_VXFS_FS is not set 762# CONFIG_VXFS_FS is not set
746# CONFIG_MINIX_FS is not set 763# CONFIG_MINIX_FS is not set
764# CONFIG_OMFS_FS is not set
747# CONFIG_HPFS_FS is not set 765# CONFIG_HPFS_FS is not set
748# CONFIG_QNX4FS_FS is not set 766# CONFIG_QNX4FS_FS is not set
749# CONFIG_ROMFS_FS is not set 767# CONFIG_ROMFS_FS is not set
@@ -754,13 +772,13 @@ CONFIG_NFS_FS=y
754CONFIG_NFS_V3=y 772CONFIG_NFS_V3=y
755# CONFIG_NFS_V3_ACL is not set 773# CONFIG_NFS_V3_ACL is not set
756# CONFIG_NFS_V4 is not set 774# CONFIG_NFS_V4 is not set
757# CONFIG_NFSD is not set
758CONFIG_ROOT_NFS=y 775CONFIG_ROOT_NFS=y
776# CONFIG_NFSD is not set
759CONFIG_LOCKD=y 777CONFIG_LOCKD=y
760CONFIG_LOCKD_V4=y 778CONFIG_LOCKD_V4=y
761CONFIG_NFS_COMMON=y 779CONFIG_NFS_COMMON=y
762CONFIG_SUNRPC=y 780CONFIG_SUNRPC=y
763# CONFIG_SUNRPC_BIND34 is not set 781# CONFIG_SUNRPC_REGISTER_V4 is not set
764# CONFIG_RPCSEC_GSS_KRB5 is not set 782# CONFIG_RPCSEC_GSS_KRB5 is not set
765# CONFIG_RPCSEC_GSS_SPKM3 is not set 783# CONFIG_RPCSEC_GSS_SPKM3 is not set
766# CONFIG_SMB_FS is not set 784# CONFIG_SMB_FS is not set
@@ -781,9 +799,9 @@ CONFIG_MSDOS_PARTITION=y
781# Library routines 799# Library routines
782# 800#
783CONFIG_BITREVERSE=y 801CONFIG_BITREVERSE=y
784# CONFIG_GENERIC_FIND_FIRST_BIT is not set
785# CONFIG_CRC_CCITT is not set 802# CONFIG_CRC_CCITT is not set
786# CONFIG_CRC16 is not set 803# CONFIG_CRC16 is not set
804# CONFIG_CRC_T10DIF is not set
787# CONFIG_CRC_ITU_T is not set 805# CONFIG_CRC_ITU_T is not set
788CONFIG_CRC32=y 806CONFIG_CRC32=y
789# CONFIG_CRC7 is not set 807# CONFIG_CRC7 is not set
@@ -809,6 +827,8 @@ CONFIG_DEBUG_FS=y
809CONFIG_DEBUG_KERNEL=y 827CONFIG_DEBUG_KERNEL=y
810# CONFIG_DEBUG_SHIRQ is not set 828# CONFIG_DEBUG_SHIRQ is not set
811CONFIG_DETECT_SOFTLOCKUP=y 829CONFIG_DETECT_SOFTLOCKUP=y
830# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
831CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
812CONFIG_SCHED_DEBUG=y 832CONFIG_SCHED_DEBUG=y
813# CONFIG_SCHEDSTATS is not set 833# CONFIG_SCHEDSTATS is not set
814# CONFIG_TIMER_STATS is not set 834# CONFIG_TIMER_STATS is not set
@@ -826,17 +846,36 @@ CONFIG_DEBUG_BUGVERBOSE=y
826# CONFIG_DEBUG_INFO is not set 846# CONFIG_DEBUG_INFO is not set
827# CONFIG_DEBUG_VM is not set 847# CONFIG_DEBUG_VM is not set
828# CONFIG_DEBUG_WRITECOUNT is not set 848# CONFIG_DEBUG_WRITECOUNT is not set
849# CONFIG_DEBUG_MEMORY_INIT is not set
829# CONFIG_DEBUG_LIST is not set 850# CONFIG_DEBUG_LIST is not set
830# CONFIG_DEBUG_SG is not set 851# CONFIG_DEBUG_SG is not set
831# CONFIG_BOOT_PRINTK_DELAY is not set 852# CONFIG_BOOT_PRINTK_DELAY is not set
832# CONFIG_RCU_TORTURE_TEST is not set 853# CONFIG_RCU_TORTURE_TEST is not set
854# CONFIG_RCU_CPU_STALL_DETECTOR is not set
833# CONFIG_BACKTRACE_SELF_TEST is not set 855# CONFIG_BACKTRACE_SELF_TEST is not set
856# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
834# CONFIG_FAULT_INJECTION is not set 857# CONFIG_FAULT_INJECTION is not set
858# CONFIG_LATENCYTOP is not set
859CONFIG_SYSCTL_SYSCALL_CHECK=y
860CONFIG_NOP_TRACER=y
861CONFIG_HAVE_FTRACE=y
862CONFIG_HAVE_DYNAMIC_FTRACE=y
863# CONFIG_FTRACE is not set
864# CONFIG_SCHED_TRACER is not set
865# CONFIG_CONTEXT_SWITCH_TRACER is not set
866# CONFIG_BOOT_TRACER is not set
867# CONFIG_STACK_TRACER is not set
868# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
835# CONFIG_SAMPLES is not set 869# CONFIG_SAMPLES is not set
870CONFIG_HAVE_ARCH_KGDB=y
871# CONFIG_KGDB is not set
836# CONFIG_DEBUG_STACKOVERFLOW is not set 872# CONFIG_DEBUG_STACKOVERFLOW is not set
837# CONFIG_DEBUG_STACK_USAGE is not set 873# CONFIG_DEBUG_STACK_USAGE is not set
838# CONFIG_DEBUG_PAGEALLOC is not set 874# CONFIG_DEBUG_PAGEALLOC is not set
839# CONFIG_DEBUGGER is not set 875# CONFIG_CODE_PATCHING_SELFTEST is not set
876# CONFIG_FTR_FIXUP_SELFTEST is not set
877# CONFIG_MSI_BITMAP_SELFTEST is not set
878# CONFIG_XMON is not set
840# CONFIG_IRQSTACKS is not set 879# CONFIG_IRQSTACKS is not set
841# CONFIG_VIRQ_DEBUG is not set 880# CONFIG_VIRQ_DEBUG is not set
842# CONFIG_BDI_SWITCH is not set 881# CONFIG_BDI_SWITCH is not set
@@ -847,14 +886,19 @@ CONFIG_DEBUG_BUGVERBOSE=y
847# 886#
848# CONFIG_KEYS is not set 887# CONFIG_KEYS is not set
849# CONFIG_SECURITY is not set 888# CONFIG_SECURITY is not set
889# CONFIG_SECURITYFS is not set
850# CONFIG_SECURITY_FILE_CAPABILITIES is not set 890# CONFIG_SECURITY_FILE_CAPABILITIES is not set
851CONFIG_CRYPTO=y 891CONFIG_CRYPTO=y
852 892
853# 893#
854# Crypto core or helper 894# Crypto core or helper
855# 895#
896# CONFIG_CRYPTO_FIPS is not set
856CONFIG_CRYPTO_ALGAPI=y 897CONFIG_CRYPTO_ALGAPI=y
898CONFIG_CRYPTO_AEAD=y
857CONFIG_CRYPTO_BLKCIPHER=y 899CONFIG_CRYPTO_BLKCIPHER=y
900CONFIG_CRYPTO_HASH=y
901CONFIG_CRYPTO_RNG=y
858CONFIG_CRYPTO_MANAGER=y 902CONFIG_CRYPTO_MANAGER=y
859# CONFIG_CRYPTO_GF128MUL is not set 903# CONFIG_CRYPTO_GF128MUL is not set
860# CONFIG_CRYPTO_NULL is not set 904# CONFIG_CRYPTO_NULL is not set
@@ -893,6 +937,10 @@ CONFIG_CRYPTO_PCBC=y
893# CONFIG_CRYPTO_MD4 is not set 937# CONFIG_CRYPTO_MD4 is not set
894CONFIG_CRYPTO_MD5=y 938CONFIG_CRYPTO_MD5=y
895# CONFIG_CRYPTO_MICHAEL_MIC is not set 939# CONFIG_CRYPTO_MICHAEL_MIC is not set
940# CONFIG_CRYPTO_RMD128 is not set
941# CONFIG_CRYPTO_RMD160 is not set
942# CONFIG_CRYPTO_RMD256 is not set
943# CONFIG_CRYPTO_RMD320 is not set
896# CONFIG_CRYPTO_SHA1 is not set 944# CONFIG_CRYPTO_SHA1 is not set
897# CONFIG_CRYPTO_SHA256 is not set 945# CONFIG_CRYPTO_SHA256 is not set
898# CONFIG_CRYPTO_SHA512 is not set 946# CONFIG_CRYPTO_SHA512 is not set
@@ -923,6 +971,11 @@ CONFIG_CRYPTO_DES=y
923# 971#
924# CONFIG_CRYPTO_DEFLATE is not set 972# CONFIG_CRYPTO_DEFLATE is not set
925# CONFIG_CRYPTO_LZO is not set 973# CONFIG_CRYPTO_LZO is not set
974
975#
976# Random Number Generation
977#
978# CONFIG_CRYPTO_ANSI_CPRNG is not set
926CONFIG_CRYPTO_HW=y 979CONFIG_CRYPTO_HW=y
927# CONFIG_CRYPTO_DEV_HIFN_795X is not set 980# CONFIG_CRYPTO_DEV_HIFN_795X is not set
928# CONFIG_PPC_CLOCK is not set 981# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig
index 565ed9666c54..e2f3695d9d0b 100644
--- a/arch/powerpc/configs/40x/kilauea_defconfig
+++ b/arch/powerpc/configs/40x/kilauea_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 19:36:14 2008 4# Tue Oct 28 08:49:23 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,14 +19,13 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 92CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
111CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
158CONFIG_PPC4xx_PCI_EXPRESS=y 155CONFIG_PPC4xx_PCI_EXPRESS=y
159 156
160# 157#
@@ -163,11 +160,15 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
163# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
164# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164# CONFIG_ACADIA is not set
166# CONFIG_EP405 is not set 165# CONFIG_EP405 is not set
166# CONFIG_HCU4 is not set
167CONFIG_KILAUEA=y 167CONFIG_KILAUEA=y
168# CONFIG_MAKALU is not set 168# CONFIG_MAKALU is not set
169# CONFIG_WALNUT is not set 169# CONFIG_WALNUT is not set
170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set 170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
171# CONFIG_PPC40x_SIMPLE is not set
171CONFIG_405EX=y 172CONFIG_405EX=y
172# CONFIG_IPIC is not set 173# CONFIG_IPIC is not set
173# CONFIG_MPIC is not set 174# CONFIG_MPIC is not set
@@ -186,7 +187,6 @@ CONFIG_405EX=y
186# Kernel options 187# Kernel options
187# 188#
188# CONFIG_HIGHMEM is not set 189# CONFIG_HIGHMEM is not set
189# CONFIG_TICK_ONESHOT is not set
190# CONFIG_NO_HZ is not set 190# CONFIG_NO_HZ is not set
191# CONFIG_HIGH_RES_TIMERS is not set 191# CONFIG_HIGH_RES_TIMERS is not set
192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 200# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 201# CONFIG_PREEMPT is not set
202CONFIG_BINFMT_ELF=y 202CONFIG_BINFMT_ELF=y
203# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
204# CONFIG_HAVE_AOUT is not set
203# CONFIG_BINFMT_MISC is not set 205# CONFIG_BINFMT_MISC is not set
204# CONFIG_MATH_EMULATION is not set 206# CONFIG_MATH_EMULATION is not set
205# CONFIG_IOMMU_HELPER is not set 207# CONFIG_IOMMU_HELPER is not set
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y
214# CONFIG_SPARSEMEM_MANUAL is not set 216# CONFIG_SPARSEMEM_MANUAL is not set
215CONFIG_FLATMEM=y 217CONFIG_FLATMEM=y
216CONFIG_FLAT_NODE_MEM_MAP=y 218CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_STATIC is not set
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 219CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 220CONFIG_SPLIT_PTLOCK_CPUS=4
221CONFIG_MIGRATION=y 221CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 222# CONFIG_RESOURCES_64BIT is not set
223# CONFIG_PHYS_ADDR_T_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 224CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 225CONFIG_BOUNCE=y
225CONFIG_VIRT_TO_BUS=y 226CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y
226CONFIG_FORCE_MAX_ZONEORDER=11 228CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 229CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 230# CONFIG_CMDLINE_BOOL is not set
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TIPC is not set 311# CONFIG_TIPC is not set
310# CONFIG_ATM is not set 312# CONFIG_ATM is not set
311# CONFIG_BRIDGE is not set 313# CONFIG_BRIDGE is not set
314# CONFIG_NET_DSA is not set
312# CONFIG_VLAN_8021Q is not set 315# CONFIG_VLAN_8021Q is not set
313# CONFIG_DECNET is not set 316# CONFIG_DECNET is not set
314# CONFIG_LLC2 is not set 317# CONFIG_LLC2 is not set
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_IRDA is not set 332# CONFIG_IRDA is not set
330# CONFIG_BT is not set 333# CONFIG_BT is not set
331# CONFIG_AF_RXRPC is not set 334# CONFIG_AF_RXRPC is not set
332 335# CONFIG_PHONET is not set
333# 336# CONFIG_WIRELESS is not set
334# Wireless
335#
336# CONFIG_CFG80211 is not set
337# CONFIG_WIRELESS_EXT is not set
338# CONFIG_MAC80211 is not set
339# CONFIG_IEEE80211 is not set
340# CONFIG_RFKILL is not set 337# CONFIG_RFKILL is not set
341# CONFIG_NET_9P is not set 338# CONFIG_NET_9P is not set
342 339
@@ -511,8 +508,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
511CONFIG_IBM_NEW_EMAC_RGMII=y 508CONFIG_IBM_NEW_EMAC_RGMII=y
512# CONFIG_IBM_NEW_EMAC_TAH is not set 509# CONFIG_IBM_NEW_EMAC_TAH is not set
513CONFIG_IBM_NEW_EMAC_EMAC4=y 510CONFIG_IBM_NEW_EMAC_EMAC4=y
511# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
512# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
513# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
514# CONFIG_NET_PCI is not set 514# CONFIG_NET_PCI is not set
515# CONFIG_B44 is not set 515# CONFIG_B44 is not set
516# CONFIG_ATL2 is not set
516# CONFIG_NETDEV_1000 is not set 517# CONFIG_NETDEV_1000 is not set
517# CONFIG_NETDEV_10000 is not set 518# CONFIG_NETDEV_10000 is not set
518# CONFIG_TR is not set 519# CONFIG_TR is not set
@@ -609,6 +610,8 @@ CONFIG_SSB_POSSIBLE=y
609# CONFIG_MFD_CORE is not set 610# CONFIG_MFD_CORE is not set
610# CONFIG_MFD_SM501 is not set 611# CONFIG_MFD_SM501 is not set
611# CONFIG_HTC_PASIC3 is not set 612# CONFIG_HTC_PASIC3 is not set
613# CONFIG_MFD_TMIO is not set
614# CONFIG_MFD_WM8400 is not set
612 615
613# 616#
614# Multimedia devices 617# Multimedia devices
@@ -642,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y
642# CONFIG_DISPLAY_SUPPORT is not set 645# CONFIG_DISPLAY_SUPPORT is not set
643# CONFIG_SOUND is not set 646# CONFIG_SOUND is not set
644# CONFIG_USB_SUPPORT is not set 647# CONFIG_USB_SUPPORT is not set
648# CONFIG_UWB is not set
645# CONFIG_MMC is not set 649# CONFIG_MMC is not set
646# CONFIG_MEMSTICK is not set 650# CONFIG_MEMSTICK is not set
647# CONFIG_NEW_LEDS is not set 651# CONFIG_NEW_LEDS is not set
@@ -651,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y
651# CONFIG_RTC_CLASS is not set 655# CONFIG_RTC_CLASS is not set
652# CONFIG_DMADEVICES is not set 656# CONFIG_DMADEVICES is not set
653# CONFIG_UIO is not set 657# CONFIG_UIO is not set
658# CONFIG_STAGING is not set
654 659
655# 660#
656# File systems 661# File systems
@@ -659,10 +664,11 @@ CONFIG_EXT2_FS=y
659# CONFIG_EXT2_FS_XATTR is not set 664# CONFIG_EXT2_FS_XATTR is not set
660# CONFIG_EXT2_FS_XIP is not set 665# CONFIG_EXT2_FS_XIP is not set
661# CONFIG_EXT3_FS is not set 666# CONFIG_EXT3_FS is not set
662# CONFIG_EXT4DEV_FS is not set 667# CONFIG_EXT4_FS is not set
663# CONFIG_REISERFS_FS is not set 668# CONFIG_REISERFS_FS is not set
664# CONFIG_JFS_FS is not set 669# CONFIG_JFS_FS is not set
665# CONFIG_FS_POSIX_ACL is not set 670# CONFIG_FS_POSIX_ACL is not set
671CONFIG_FILE_LOCKING=y
666# CONFIG_XFS_FS is not set 672# CONFIG_XFS_FS is not set
667# CONFIG_OCFS2_FS is not set 673# CONFIG_OCFS2_FS is not set
668CONFIG_DNOTIFY=y 674CONFIG_DNOTIFY=y
@@ -692,6 +698,7 @@ CONFIG_INOTIFY_USER=y
692CONFIG_PROC_FS=y 698CONFIG_PROC_FS=y
693CONFIG_PROC_KCORE=y 699CONFIG_PROC_KCORE=y
694CONFIG_PROC_SYSCTL=y 700CONFIG_PROC_SYSCTL=y
701CONFIG_PROC_PAGE_MONITOR=y
695CONFIG_SYSFS=y 702CONFIG_SYSFS=y
696CONFIG_TMPFS=y 703CONFIG_TMPFS=y
697# CONFIG_TMPFS_POSIX_ACL is not set 704# CONFIG_TMPFS_POSIX_ACL is not set
@@ -729,6 +736,7 @@ CONFIG_LOCKD=y
729CONFIG_LOCKD_V4=y 736CONFIG_LOCKD_V4=y
730CONFIG_NFS_COMMON=y 737CONFIG_NFS_COMMON=y
731CONFIG_SUNRPC=y 738CONFIG_SUNRPC=y
739# CONFIG_SUNRPC_REGISTER_V4 is not set
732# CONFIG_RPCSEC_GSS_KRB5 is not set 740# CONFIG_RPCSEC_GSS_KRB5 is not set
733# CONFIG_RPCSEC_GSS_SPKM3 is not set 741# CONFIG_RPCSEC_GSS_SPKM3 is not set
734# CONFIG_SMB_FS is not set 742# CONFIG_SMB_FS is not set
@@ -749,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y
749# Library routines 757# Library routines
750# 758#
751CONFIG_BITREVERSE=y 759CONFIG_BITREVERSE=y
752# CONFIG_GENERIC_FIND_FIRST_BIT is not set
753# CONFIG_CRC_CCITT is not set 760# CONFIG_CRC_CCITT is not set
754# CONFIG_CRC16 is not set 761# CONFIG_CRC16 is not set
755# CONFIG_CRC_T10DIF is not set 762# CONFIG_CRC_T10DIF is not set
@@ -802,14 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
802# CONFIG_DEBUG_SG is not set 809# CONFIG_DEBUG_SG is not set
803# CONFIG_BOOT_PRINTK_DELAY is not set 810# CONFIG_BOOT_PRINTK_DELAY is not set
804# CONFIG_RCU_TORTURE_TEST is not set 811# CONFIG_RCU_TORTURE_TEST is not set
812# CONFIG_RCU_CPU_STALL_DETECTOR is not set
805# CONFIG_BACKTRACE_SELF_TEST is not set 813# CONFIG_BACKTRACE_SELF_TEST is not set
814# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
806# CONFIG_FAULT_INJECTION is not set 815# CONFIG_FAULT_INJECTION is not set
807# CONFIG_LATENCYTOP is not set 816# CONFIG_LATENCYTOP is not set
817CONFIG_SYSCTL_SYSCALL_CHECK=y
818CONFIG_NOP_TRACER=y
808CONFIG_HAVE_FTRACE=y 819CONFIG_HAVE_FTRACE=y
809CONFIG_HAVE_DYNAMIC_FTRACE=y 820CONFIG_HAVE_DYNAMIC_FTRACE=y
810# CONFIG_FTRACE is not set 821# CONFIG_FTRACE is not set
811# CONFIG_SCHED_TRACER is not set 822# CONFIG_SCHED_TRACER is not set
812# CONFIG_CONTEXT_SWITCH_TRACER is not set 823# CONFIG_CONTEXT_SWITCH_TRACER is not set
824# CONFIG_BOOT_TRACER is not set
825# CONFIG_STACK_TRACER is not set
826# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
813# CONFIG_SAMPLES is not set 827# CONFIG_SAMPLES is not set
814CONFIG_HAVE_ARCH_KGDB=y 828CONFIG_HAVE_ARCH_KGDB=y
815# CONFIG_KGDB is not set 829# CONFIG_KGDB is not set
@@ -818,6 +832,7 @@ CONFIG_HAVE_ARCH_KGDB=y
818# CONFIG_DEBUG_PAGEALLOC is not set 832# CONFIG_DEBUG_PAGEALLOC is not set
819# CONFIG_CODE_PATCHING_SELFTEST is not set 833# CONFIG_CODE_PATCHING_SELFTEST is not set
820# CONFIG_FTR_FIXUP_SELFTEST is not set 834# CONFIG_FTR_FIXUP_SELFTEST is not set
835# CONFIG_MSI_BITMAP_SELFTEST is not set
821# CONFIG_XMON is not set 836# CONFIG_XMON is not set
822# CONFIG_IRQSTACKS is not set 837# CONFIG_IRQSTACKS is not set
823# CONFIG_VIRQ_DEBUG is not set 838# CONFIG_VIRQ_DEBUG is not set
@@ -829,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y
829# 844#
830# CONFIG_KEYS is not set 845# CONFIG_KEYS is not set
831# CONFIG_SECURITY is not set 846# CONFIG_SECURITY is not set
847# CONFIG_SECURITYFS is not set
832# CONFIG_SECURITY_FILE_CAPABILITIES is not set 848# CONFIG_SECURITY_FILE_CAPABILITIES is not set
833CONFIG_CRYPTO=y 849CONFIG_CRYPTO=y
834 850
835# 851#
836# Crypto core or helper 852# Crypto core or helper
837# 853#
854# CONFIG_CRYPTO_FIPS is not set
838CONFIG_CRYPTO_ALGAPI=y 855CONFIG_CRYPTO_ALGAPI=y
856CONFIG_CRYPTO_AEAD=y
839CONFIG_CRYPTO_BLKCIPHER=y 857CONFIG_CRYPTO_BLKCIPHER=y
858CONFIG_CRYPTO_HASH=y
859CONFIG_CRYPTO_RNG=y
840CONFIG_CRYPTO_MANAGER=y 860CONFIG_CRYPTO_MANAGER=y
841# CONFIG_CRYPTO_GF128MUL is not set 861# CONFIG_CRYPTO_GF128MUL is not set
842# CONFIG_CRYPTO_NULL is not set 862# CONFIG_CRYPTO_NULL is not set
@@ -909,6 +929,11 @@ CONFIG_CRYPTO_DES=y
909# 929#
910# CONFIG_CRYPTO_DEFLATE is not set 930# CONFIG_CRYPTO_DEFLATE is not set
911# CONFIG_CRYPTO_LZO is not set 931# CONFIG_CRYPTO_LZO is not set
932
933#
934# Random Number Generation
935#
936# CONFIG_CRYPTO_ANSI_CPRNG is not set
912CONFIG_CRYPTO_HW=y 937CONFIG_CRYPTO_HW=y
913# CONFIG_CRYPTO_DEV_HIFN_795X is not set 938# CONFIG_CRYPTO_DEV_HIFN_795X is not set
914# CONFIG_PPC_CLOCK is not set 939# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig
index 987a4481800f..413c778ecd7c 100644
--- a/arch/powerpc/configs/40x/makalu_defconfig
+++ b/arch/powerpc/configs/40x/makalu_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 19:38:39 2008 4# Tue Oct 28 08:49:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,14 +19,13 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 92CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
111CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
158CONFIG_PPC4xx_PCI_EXPRESS=y 155CONFIG_PPC4xx_PCI_EXPRESS=y
159 156
160# 157#
@@ -163,11 +160,15 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
163# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
164# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164# CONFIG_ACADIA is not set
166# CONFIG_EP405 is not set 165# CONFIG_EP405 is not set
166# CONFIG_HCU4 is not set
167# CONFIG_KILAUEA is not set 167# CONFIG_KILAUEA is not set
168CONFIG_MAKALU=y 168CONFIG_MAKALU=y
169# CONFIG_WALNUT is not set 169# CONFIG_WALNUT is not set
170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set 170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
171# CONFIG_PPC40x_SIMPLE is not set
171CONFIG_405EX=y 172CONFIG_405EX=y
172# CONFIG_IPIC is not set 173# CONFIG_IPIC is not set
173# CONFIG_MPIC is not set 174# CONFIG_MPIC is not set
@@ -186,7 +187,6 @@ CONFIG_405EX=y
186# Kernel options 187# Kernel options
187# 188#
188# CONFIG_HIGHMEM is not set 189# CONFIG_HIGHMEM is not set
189# CONFIG_TICK_ONESHOT is not set
190# CONFIG_NO_HZ is not set 190# CONFIG_NO_HZ is not set
191# CONFIG_HIGH_RES_TIMERS is not set 191# CONFIG_HIGH_RES_TIMERS is not set
192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 192CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y
200# CONFIG_PREEMPT_VOLUNTARY is not set 200# CONFIG_PREEMPT_VOLUNTARY is not set
201# CONFIG_PREEMPT is not set 201# CONFIG_PREEMPT is not set
202CONFIG_BINFMT_ELF=y 202CONFIG_BINFMT_ELF=y
203# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
204# CONFIG_HAVE_AOUT is not set
203# CONFIG_BINFMT_MISC is not set 205# CONFIG_BINFMT_MISC is not set
204# CONFIG_MATH_EMULATION is not set 206# CONFIG_MATH_EMULATION is not set
205# CONFIG_IOMMU_HELPER is not set 207# CONFIG_IOMMU_HELPER is not set
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y
214# CONFIG_SPARSEMEM_MANUAL is not set 216# CONFIG_SPARSEMEM_MANUAL is not set
215CONFIG_FLATMEM=y 217CONFIG_FLATMEM=y
216CONFIG_FLAT_NODE_MEM_MAP=y 218CONFIG_FLAT_NODE_MEM_MAP=y
217# CONFIG_SPARSEMEM_STATIC is not set
218# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
219CONFIG_PAGEFLAGS_EXTENDED=y 219CONFIG_PAGEFLAGS_EXTENDED=y
220CONFIG_SPLIT_PTLOCK_CPUS=4 220CONFIG_SPLIT_PTLOCK_CPUS=4
221CONFIG_MIGRATION=y 221CONFIG_MIGRATION=y
222# CONFIG_RESOURCES_64BIT is not set 222# CONFIG_RESOURCES_64BIT is not set
223# CONFIG_PHYS_ADDR_T_64BIT is not set
223CONFIG_ZONE_DMA_FLAG=1 224CONFIG_ZONE_DMA_FLAG=1
224CONFIG_BOUNCE=y 225CONFIG_BOUNCE=y
225CONFIG_VIRT_TO_BUS=y 226CONFIG_VIRT_TO_BUS=y
227CONFIG_UNEVICTABLE_LRU=y
226CONFIG_FORCE_MAX_ZONEORDER=11 228CONFIG_FORCE_MAX_ZONEORDER=11
227CONFIG_PROC_DEVICETREE=y 229CONFIG_PROC_DEVICETREE=y
228# CONFIG_CMDLINE_BOOL is not set 230# CONFIG_CMDLINE_BOOL is not set
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TIPC is not set 311# CONFIG_TIPC is not set
310# CONFIG_ATM is not set 312# CONFIG_ATM is not set
311# CONFIG_BRIDGE is not set 313# CONFIG_BRIDGE is not set
314# CONFIG_NET_DSA is not set
312# CONFIG_VLAN_8021Q is not set 315# CONFIG_VLAN_8021Q is not set
313# CONFIG_DECNET is not set 316# CONFIG_DECNET is not set
314# CONFIG_LLC2 is not set 317# CONFIG_LLC2 is not set
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_IRDA is not set 332# CONFIG_IRDA is not set
330# CONFIG_BT is not set 333# CONFIG_BT is not set
331# CONFIG_AF_RXRPC is not set 334# CONFIG_AF_RXRPC is not set
332 335# CONFIG_PHONET is not set
333# 336# CONFIG_WIRELESS is not set
334# Wireless
335#
336# CONFIG_CFG80211 is not set
337# CONFIG_WIRELESS_EXT is not set
338# CONFIG_MAC80211 is not set
339# CONFIG_IEEE80211 is not set
340# CONFIG_RFKILL is not set 337# CONFIG_RFKILL is not set
341# CONFIG_NET_9P is not set 338# CONFIG_NET_9P is not set
342 339
@@ -511,8 +508,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
511CONFIG_IBM_NEW_EMAC_RGMII=y 508CONFIG_IBM_NEW_EMAC_RGMII=y
512# CONFIG_IBM_NEW_EMAC_TAH is not set 509# CONFIG_IBM_NEW_EMAC_TAH is not set
513CONFIG_IBM_NEW_EMAC_EMAC4=y 510CONFIG_IBM_NEW_EMAC_EMAC4=y
511# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
512# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
513# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
514# CONFIG_NET_PCI is not set 514# CONFIG_NET_PCI is not set
515# CONFIG_B44 is not set 515# CONFIG_B44 is not set
516# CONFIG_ATL2 is not set
516# CONFIG_NETDEV_1000 is not set 517# CONFIG_NETDEV_1000 is not set
517# CONFIG_NETDEV_10000 is not set 518# CONFIG_NETDEV_10000 is not set
518# CONFIG_TR is not set 519# CONFIG_TR is not set
@@ -609,6 +610,8 @@ CONFIG_SSB_POSSIBLE=y
609# CONFIG_MFD_CORE is not set 610# CONFIG_MFD_CORE is not set
610# CONFIG_MFD_SM501 is not set 611# CONFIG_MFD_SM501 is not set
611# CONFIG_HTC_PASIC3 is not set 612# CONFIG_HTC_PASIC3 is not set
613# CONFIG_MFD_TMIO is not set
614# CONFIG_MFD_WM8400 is not set
612 615
613# 616#
614# Multimedia devices 617# Multimedia devices
@@ -642,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y
642# CONFIG_DISPLAY_SUPPORT is not set 645# CONFIG_DISPLAY_SUPPORT is not set
643# CONFIG_SOUND is not set 646# CONFIG_SOUND is not set
644# CONFIG_USB_SUPPORT is not set 647# CONFIG_USB_SUPPORT is not set
648# CONFIG_UWB is not set
645# CONFIG_MMC is not set 649# CONFIG_MMC is not set
646# CONFIG_MEMSTICK is not set 650# CONFIG_MEMSTICK is not set
647# CONFIG_NEW_LEDS is not set 651# CONFIG_NEW_LEDS is not set
@@ -651,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y
651# CONFIG_RTC_CLASS is not set 655# CONFIG_RTC_CLASS is not set
652# CONFIG_DMADEVICES is not set 656# CONFIG_DMADEVICES is not set
653# CONFIG_UIO is not set 657# CONFIG_UIO is not set
658# CONFIG_STAGING is not set
654 659
655# 660#
656# File systems 661# File systems
@@ -659,10 +664,11 @@ CONFIG_EXT2_FS=y
659# CONFIG_EXT2_FS_XATTR is not set 664# CONFIG_EXT2_FS_XATTR is not set
660# CONFIG_EXT2_FS_XIP is not set 665# CONFIG_EXT2_FS_XIP is not set
661# CONFIG_EXT3_FS is not set 666# CONFIG_EXT3_FS is not set
662# CONFIG_EXT4DEV_FS is not set 667# CONFIG_EXT4_FS is not set
663# CONFIG_REISERFS_FS is not set 668# CONFIG_REISERFS_FS is not set
664# CONFIG_JFS_FS is not set 669# CONFIG_JFS_FS is not set
665# CONFIG_FS_POSIX_ACL is not set 670# CONFIG_FS_POSIX_ACL is not set
671CONFIG_FILE_LOCKING=y
666# CONFIG_XFS_FS is not set 672# CONFIG_XFS_FS is not set
667# CONFIG_OCFS2_FS is not set 673# CONFIG_OCFS2_FS is not set
668CONFIG_DNOTIFY=y 674CONFIG_DNOTIFY=y
@@ -692,6 +698,7 @@ CONFIG_INOTIFY_USER=y
692CONFIG_PROC_FS=y 698CONFIG_PROC_FS=y
693CONFIG_PROC_KCORE=y 699CONFIG_PROC_KCORE=y
694CONFIG_PROC_SYSCTL=y 700CONFIG_PROC_SYSCTL=y
701CONFIG_PROC_PAGE_MONITOR=y
695CONFIG_SYSFS=y 702CONFIG_SYSFS=y
696CONFIG_TMPFS=y 703CONFIG_TMPFS=y
697# CONFIG_TMPFS_POSIX_ACL is not set 704# CONFIG_TMPFS_POSIX_ACL is not set
@@ -729,6 +736,7 @@ CONFIG_LOCKD=y
729CONFIG_LOCKD_V4=y 736CONFIG_LOCKD_V4=y
730CONFIG_NFS_COMMON=y 737CONFIG_NFS_COMMON=y
731CONFIG_SUNRPC=y 738CONFIG_SUNRPC=y
739# CONFIG_SUNRPC_REGISTER_V4 is not set
732# CONFIG_RPCSEC_GSS_KRB5 is not set 740# CONFIG_RPCSEC_GSS_KRB5 is not set
733# CONFIG_RPCSEC_GSS_SPKM3 is not set 741# CONFIG_RPCSEC_GSS_SPKM3 is not set
734# CONFIG_SMB_FS is not set 742# CONFIG_SMB_FS is not set
@@ -749,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y
749# Library routines 757# Library routines
750# 758#
751CONFIG_BITREVERSE=y 759CONFIG_BITREVERSE=y
752# CONFIG_GENERIC_FIND_FIRST_BIT is not set
753# CONFIG_CRC_CCITT is not set 760# CONFIG_CRC_CCITT is not set
754# CONFIG_CRC16 is not set 761# CONFIG_CRC16 is not set
755# CONFIG_CRC_T10DIF is not set 762# CONFIG_CRC_T10DIF is not set
@@ -802,14 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
802# CONFIG_DEBUG_SG is not set 809# CONFIG_DEBUG_SG is not set
803# CONFIG_BOOT_PRINTK_DELAY is not set 810# CONFIG_BOOT_PRINTK_DELAY is not set
804# CONFIG_RCU_TORTURE_TEST is not set 811# CONFIG_RCU_TORTURE_TEST is not set
812# CONFIG_RCU_CPU_STALL_DETECTOR is not set
805# CONFIG_BACKTRACE_SELF_TEST is not set 813# CONFIG_BACKTRACE_SELF_TEST is not set
814# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
806# CONFIG_FAULT_INJECTION is not set 815# CONFIG_FAULT_INJECTION is not set
807# CONFIG_LATENCYTOP is not set 816# CONFIG_LATENCYTOP is not set
817CONFIG_SYSCTL_SYSCALL_CHECK=y
818CONFIG_NOP_TRACER=y
808CONFIG_HAVE_FTRACE=y 819CONFIG_HAVE_FTRACE=y
809CONFIG_HAVE_DYNAMIC_FTRACE=y 820CONFIG_HAVE_DYNAMIC_FTRACE=y
810# CONFIG_FTRACE is not set 821# CONFIG_FTRACE is not set
811# CONFIG_SCHED_TRACER is not set 822# CONFIG_SCHED_TRACER is not set
812# CONFIG_CONTEXT_SWITCH_TRACER is not set 823# CONFIG_CONTEXT_SWITCH_TRACER is not set
824# CONFIG_BOOT_TRACER is not set
825# CONFIG_STACK_TRACER is not set
826# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
813# CONFIG_SAMPLES is not set 827# CONFIG_SAMPLES is not set
814CONFIG_HAVE_ARCH_KGDB=y 828CONFIG_HAVE_ARCH_KGDB=y
815# CONFIG_KGDB is not set 829# CONFIG_KGDB is not set
@@ -818,6 +832,7 @@ CONFIG_HAVE_ARCH_KGDB=y
818# CONFIG_DEBUG_PAGEALLOC is not set 832# CONFIG_DEBUG_PAGEALLOC is not set
819# CONFIG_CODE_PATCHING_SELFTEST is not set 833# CONFIG_CODE_PATCHING_SELFTEST is not set
820# CONFIG_FTR_FIXUP_SELFTEST is not set 834# CONFIG_FTR_FIXUP_SELFTEST is not set
835# CONFIG_MSI_BITMAP_SELFTEST is not set
821# CONFIG_XMON is not set 836# CONFIG_XMON is not set
822# CONFIG_IRQSTACKS is not set 837# CONFIG_IRQSTACKS is not set
823# CONFIG_VIRQ_DEBUG is not set 838# CONFIG_VIRQ_DEBUG is not set
@@ -829,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y
829# 844#
830# CONFIG_KEYS is not set 845# CONFIG_KEYS is not set
831# CONFIG_SECURITY is not set 846# CONFIG_SECURITY is not set
847# CONFIG_SECURITYFS is not set
832# CONFIG_SECURITY_FILE_CAPABILITIES is not set 848# CONFIG_SECURITY_FILE_CAPABILITIES is not set
833CONFIG_CRYPTO=y 849CONFIG_CRYPTO=y
834 850
835# 851#
836# Crypto core or helper 852# Crypto core or helper
837# 853#
854# CONFIG_CRYPTO_FIPS is not set
838CONFIG_CRYPTO_ALGAPI=y 855CONFIG_CRYPTO_ALGAPI=y
856CONFIG_CRYPTO_AEAD=y
839CONFIG_CRYPTO_BLKCIPHER=y 857CONFIG_CRYPTO_BLKCIPHER=y
858CONFIG_CRYPTO_HASH=y
859CONFIG_CRYPTO_RNG=y
840CONFIG_CRYPTO_MANAGER=y 860CONFIG_CRYPTO_MANAGER=y
841# CONFIG_CRYPTO_GF128MUL is not set 861# CONFIG_CRYPTO_GF128MUL is not set
842# CONFIG_CRYPTO_NULL is not set 862# CONFIG_CRYPTO_NULL is not set
@@ -909,6 +929,11 @@ CONFIG_CRYPTO_DES=y
909# 929#
910# CONFIG_CRYPTO_DEFLATE is not set 930# CONFIG_CRYPTO_DEFLATE is not set
911# CONFIG_CRYPTO_LZO is not set 931# CONFIG_CRYPTO_LZO is not set
932
933#
934# Random Number Generation
935#
936# CONFIG_CRYPTO_ANSI_CPRNG is not set
912CONFIG_CRYPTO_HW=y 937CONFIG_CRYPTO_HW=y
913# CONFIG_CRYPTO_DEV_HIFN_795X is not set 938# CONFIG_CRYPTO_DEV_HIFN_795X is not set
914# CONFIG_PPC_CLOCK is not set 939# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig
index aee79338f41f..5820e0a4fc55 100644
--- a/arch/powerpc/configs/40x/walnut_defconfig
+++ b/arch/powerpc/configs/40x/walnut_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 19:40:56 2008 4# Tue Oct 28 08:49:27 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,14 +19,13 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 91CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 92CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
111CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
158# CONFIG_PPC4xx_PCI_EXPRESS is not set 155# CONFIG_PPC4xx_PCI_EXPRESS is not set
159 156
160# 157#
@@ -163,11 +160,15 @@ CONFIG_CLASSIC_RCU=y
163# CONFIG_PPC_CELL is not set 160# CONFIG_PPC_CELL is not set
164# CONFIG_PPC_CELL_NATIVE is not set 161# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
163# CONFIG_PPC4xx_GPIO is not set
164# CONFIG_ACADIA is not set
166# CONFIG_EP405 is not set 165# CONFIG_EP405 is not set
166# CONFIG_HCU4 is not set
167# CONFIG_KILAUEA is not set 167# CONFIG_KILAUEA is not set
168# CONFIG_MAKALU is not set 168# CONFIG_MAKALU is not set
169CONFIG_WALNUT=y 169CONFIG_WALNUT=y
170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set 170# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
171# CONFIG_PPC40x_SIMPLE is not set
171CONFIG_405GP=y 172CONFIG_405GP=y
172CONFIG_IBM405_ERR77=y 173CONFIG_IBM405_ERR77=y
173CONFIG_IBM405_ERR51=y 174CONFIG_IBM405_ERR51=y
@@ -189,7 +190,6 @@ CONFIG_OF_RTC=y
189# Kernel options 190# Kernel options
190# 191#
191# CONFIG_HIGHMEM is not set 192# CONFIG_HIGHMEM is not set
192# CONFIG_TICK_ONESHOT is not set
193# CONFIG_NO_HZ is not set 193# CONFIG_NO_HZ is not set
194# CONFIG_HIGH_RES_TIMERS is not set 194# CONFIG_HIGH_RES_TIMERS is not set
195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -203,6 +203,8 @@ CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
205CONFIG_BINFMT_ELF=y 205CONFIG_BINFMT_ELF=y
206# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
207# CONFIG_HAVE_AOUT is not set
206# CONFIG_BINFMT_MISC is not set 208# CONFIG_BINFMT_MISC is not set
207# CONFIG_MATH_EMULATION is not set 209# CONFIG_MATH_EMULATION is not set
208# CONFIG_IOMMU_HELPER is not set 210# CONFIG_IOMMU_HELPER is not set
@@ -217,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y
217# CONFIG_SPARSEMEM_MANUAL is not set 219# CONFIG_SPARSEMEM_MANUAL is not set
218CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 224CONFIG_MIGRATION=y
225CONFIG_RESOURCES_64BIT=y 225CONFIG_RESOURCES_64BIT=y
226# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
230CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
231# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
@@ -312,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
312# CONFIG_TIPC is not set 314# CONFIG_TIPC is not set
313# CONFIG_ATM is not set 315# CONFIG_ATM is not set
314# CONFIG_BRIDGE is not set 316# CONFIG_BRIDGE is not set
317# CONFIG_NET_DSA is not set
315# CONFIG_VLAN_8021Q is not set 318# CONFIG_VLAN_8021Q is not set
316# CONFIG_DECNET is not set 319# CONFIG_DECNET is not set
317# CONFIG_LLC2 is not set 320# CONFIG_LLC2 is not set
@@ -332,14 +335,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
332# CONFIG_IRDA is not set 335# CONFIG_IRDA is not set
333# CONFIG_BT is not set 336# CONFIG_BT is not set
334# CONFIG_AF_RXRPC is not set 337# CONFIG_AF_RXRPC is not set
335 338# CONFIG_PHONET is not set
336# 339# CONFIG_WIRELESS is not set
337# Wireless
338#
339# CONFIG_CFG80211 is not set
340# CONFIG_WIRELESS_EXT is not set
341# CONFIG_MAC80211 is not set
342# CONFIG_IEEE80211 is not set
343# CONFIG_RFKILL is not set 340# CONFIG_RFKILL is not set
344# CONFIG_NET_9P is not set 341# CONFIG_NET_9P is not set
345 342
@@ -520,8 +517,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
520# CONFIG_IBM_NEW_EMAC_RGMII is not set 517# CONFIG_IBM_NEW_EMAC_RGMII is not set
521# CONFIG_IBM_NEW_EMAC_TAH is not set 518# CONFIG_IBM_NEW_EMAC_TAH is not set
522# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 519# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
520# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
521# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
522# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
523# CONFIG_NET_PCI is not set 523# CONFIG_NET_PCI is not set
524# CONFIG_B44 is not set 524# CONFIG_B44 is not set
525# CONFIG_ATL2 is not set
525CONFIG_NETDEV_1000=y 526CONFIG_NETDEV_1000=y
526# CONFIG_ACENIC is not set 527# CONFIG_ACENIC is not set
527# CONFIG_DL2K is not set 528# CONFIG_DL2K is not set
@@ -542,18 +543,22 @@ CONFIG_NETDEV_1000=y
542# CONFIG_QLA3XXX is not set 543# CONFIG_QLA3XXX is not set
543# CONFIG_ATL1 is not set 544# CONFIG_ATL1 is not set
544# CONFIG_ATL1E is not set 545# CONFIG_ATL1E is not set
546# CONFIG_JME is not set
545CONFIG_NETDEV_10000=y 547CONFIG_NETDEV_10000=y
546# CONFIG_CHELSIO_T1 is not set 548# CONFIG_CHELSIO_T1 is not set
547# CONFIG_CHELSIO_T3 is not set 549# CONFIG_CHELSIO_T3 is not set
550# CONFIG_ENIC is not set
548# CONFIG_IXGBE is not set 551# CONFIG_IXGBE is not set
549# CONFIG_IXGB is not set 552# CONFIG_IXGB is not set
550# CONFIG_S2IO is not set 553# CONFIG_S2IO is not set
551# CONFIG_MYRI10GE is not set 554# CONFIG_MYRI10GE is not set
552# CONFIG_NETXEN_NIC is not set 555# CONFIG_NETXEN_NIC is not set
553# CONFIG_NIU is not set 556# CONFIG_NIU is not set
557# CONFIG_MLX4_EN is not set
554# CONFIG_MLX4_CORE is not set 558# CONFIG_MLX4_CORE is not set
555# CONFIG_TEHUTI is not set 559# CONFIG_TEHUTI is not set
556# CONFIG_BNX2X is not set 560# CONFIG_BNX2X is not set
561# CONFIG_QLGE is not set
557# CONFIG_SFC is not set 562# CONFIG_SFC is not set
558# CONFIG_TR is not set 563# CONFIG_TR is not set
559 564
@@ -649,6 +654,8 @@ CONFIG_SSB_POSSIBLE=y
649# CONFIG_MFD_CORE is not set 654# CONFIG_MFD_CORE is not set
650# CONFIG_MFD_SM501 is not set 655# CONFIG_MFD_SM501 is not set
651# CONFIG_HTC_PASIC3 is not set 656# CONFIG_HTC_PASIC3 is not set
657# CONFIG_MFD_TMIO is not set
658# CONFIG_MFD_WM8400 is not set
652 659
653# 660#
654# Multimedia devices 661# Multimedia devices
@@ -690,9 +697,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
690# CONFIG_USB_OTG_BLACKLIST_HUB is not set 697# CONFIG_USB_OTG_BLACKLIST_HUB is not set
691 698
692# 699#
700# Enable Host or Gadget support to see Inventra options
701#
702
703#
693# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 704# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
694# 705#
695# CONFIG_USB_GADGET is not set 706# CONFIG_USB_GADGET is not set
707# CONFIG_UWB is not set
696# CONFIG_MMC is not set 708# CONFIG_MMC is not set
697# CONFIG_MEMSTICK is not set 709# CONFIG_MEMSTICK is not set
698# CONFIG_NEW_LEDS is not set 710# CONFIG_NEW_LEDS is not set
@@ -702,6 +714,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
702# CONFIG_RTC_CLASS is not set 714# CONFIG_RTC_CLASS is not set
703# CONFIG_DMADEVICES is not set 715# CONFIG_DMADEVICES is not set
704# CONFIG_UIO is not set 716# CONFIG_UIO is not set
717# CONFIG_STAGING is not set
705 718
706# 719#
707# File systems 720# File systems
@@ -710,10 +723,11 @@ CONFIG_EXT2_FS=y
710# CONFIG_EXT2_FS_XATTR is not set 723# CONFIG_EXT2_FS_XATTR is not set
711# CONFIG_EXT2_FS_XIP is not set 724# CONFIG_EXT2_FS_XIP is not set
712# CONFIG_EXT3_FS is not set 725# CONFIG_EXT3_FS is not set
713# CONFIG_EXT4DEV_FS is not set 726# CONFIG_EXT4_FS is not set
714# CONFIG_REISERFS_FS is not set 727# CONFIG_REISERFS_FS is not set
715# CONFIG_JFS_FS is not set 728# CONFIG_JFS_FS is not set
716# CONFIG_FS_POSIX_ACL is not set 729# CONFIG_FS_POSIX_ACL is not set
730CONFIG_FILE_LOCKING=y
717# CONFIG_XFS_FS is not set 731# CONFIG_XFS_FS is not set
718# CONFIG_OCFS2_FS is not set 732# CONFIG_OCFS2_FS is not set
719CONFIG_DNOTIFY=y 733CONFIG_DNOTIFY=y
@@ -743,6 +757,7 @@ CONFIG_INOTIFY_USER=y
743CONFIG_PROC_FS=y 757CONFIG_PROC_FS=y
744CONFIG_PROC_KCORE=y 758CONFIG_PROC_KCORE=y
745CONFIG_PROC_SYSCTL=y 759CONFIG_PROC_SYSCTL=y
760CONFIG_PROC_PAGE_MONITOR=y
746CONFIG_SYSFS=y 761CONFIG_SYSFS=y
747CONFIG_TMPFS=y 762CONFIG_TMPFS=y
748# CONFIG_TMPFS_POSIX_ACL is not set 763# CONFIG_TMPFS_POSIX_ACL is not set
@@ -780,6 +795,7 @@ CONFIG_LOCKD=y
780CONFIG_LOCKD_V4=y 795CONFIG_LOCKD_V4=y
781CONFIG_NFS_COMMON=y 796CONFIG_NFS_COMMON=y
782CONFIG_SUNRPC=y 797CONFIG_SUNRPC=y
798# CONFIG_SUNRPC_REGISTER_V4 is not set
783# CONFIG_RPCSEC_GSS_KRB5 is not set 799# CONFIG_RPCSEC_GSS_KRB5 is not set
784# CONFIG_RPCSEC_GSS_SPKM3 is not set 800# CONFIG_RPCSEC_GSS_SPKM3 is not set
785# CONFIG_SMB_FS is not set 801# CONFIG_SMB_FS is not set
@@ -800,7 +816,6 @@ CONFIG_MSDOS_PARTITION=y
800# Library routines 816# Library routines
801# 817#
802CONFIG_BITREVERSE=y 818CONFIG_BITREVERSE=y
803# CONFIG_GENERIC_FIND_FIRST_BIT is not set
804# CONFIG_CRC_CCITT is not set 819# CONFIG_CRC_CCITT is not set
805# CONFIG_CRC16 is not set 820# CONFIG_CRC16 is not set
806# CONFIG_CRC_T10DIF is not set 821# CONFIG_CRC_T10DIF is not set
@@ -853,14 +868,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
853# CONFIG_DEBUG_SG is not set 868# CONFIG_DEBUG_SG is not set
854# CONFIG_BOOT_PRINTK_DELAY is not set 869# CONFIG_BOOT_PRINTK_DELAY is not set
855# CONFIG_RCU_TORTURE_TEST is not set 870# CONFIG_RCU_TORTURE_TEST is not set
871# CONFIG_RCU_CPU_STALL_DETECTOR is not set
856# CONFIG_BACKTRACE_SELF_TEST is not set 872# CONFIG_BACKTRACE_SELF_TEST is not set
873# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
857# CONFIG_FAULT_INJECTION is not set 874# CONFIG_FAULT_INJECTION is not set
858# CONFIG_LATENCYTOP is not set 875# CONFIG_LATENCYTOP is not set
876CONFIG_SYSCTL_SYSCALL_CHECK=y
877CONFIG_NOP_TRACER=y
859CONFIG_HAVE_FTRACE=y 878CONFIG_HAVE_FTRACE=y
860CONFIG_HAVE_DYNAMIC_FTRACE=y 879CONFIG_HAVE_DYNAMIC_FTRACE=y
861# CONFIG_FTRACE is not set 880# CONFIG_FTRACE is not set
862# CONFIG_SCHED_TRACER is not set 881# CONFIG_SCHED_TRACER is not set
863# CONFIG_CONTEXT_SWITCH_TRACER is not set 882# CONFIG_CONTEXT_SWITCH_TRACER is not set
883# CONFIG_BOOT_TRACER is not set
884# CONFIG_STACK_TRACER is not set
885# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
864# CONFIG_SAMPLES is not set 886# CONFIG_SAMPLES is not set
865CONFIG_HAVE_ARCH_KGDB=y 887CONFIG_HAVE_ARCH_KGDB=y
866# CONFIG_KGDB is not set 888# CONFIG_KGDB is not set
@@ -869,6 +891,7 @@ CONFIG_HAVE_ARCH_KGDB=y
869# CONFIG_DEBUG_PAGEALLOC is not set 891# CONFIG_DEBUG_PAGEALLOC is not set
870# CONFIG_CODE_PATCHING_SELFTEST is not set 892# CONFIG_CODE_PATCHING_SELFTEST is not set
871# CONFIG_FTR_FIXUP_SELFTEST is not set 893# CONFIG_FTR_FIXUP_SELFTEST is not set
894# CONFIG_MSI_BITMAP_SELFTEST is not set
872# CONFIG_XMON is not set 895# CONFIG_XMON is not set
873# CONFIG_IRQSTACKS is not set 896# CONFIG_IRQSTACKS is not set
874# CONFIG_VIRQ_DEBUG is not set 897# CONFIG_VIRQ_DEBUG is not set
@@ -880,14 +903,19 @@ CONFIG_HAVE_ARCH_KGDB=y
880# 903#
881# CONFIG_KEYS is not set 904# CONFIG_KEYS is not set
882# CONFIG_SECURITY is not set 905# CONFIG_SECURITY is not set
906# CONFIG_SECURITYFS is not set
883# CONFIG_SECURITY_FILE_CAPABILITIES is not set 907# CONFIG_SECURITY_FILE_CAPABILITIES is not set
884CONFIG_CRYPTO=y 908CONFIG_CRYPTO=y
885 909
886# 910#
887# Crypto core or helper 911# Crypto core or helper
888# 912#
913# CONFIG_CRYPTO_FIPS is not set
889CONFIG_CRYPTO_ALGAPI=y 914CONFIG_CRYPTO_ALGAPI=y
915CONFIG_CRYPTO_AEAD=y
890CONFIG_CRYPTO_BLKCIPHER=y 916CONFIG_CRYPTO_BLKCIPHER=y
917CONFIG_CRYPTO_HASH=y
918CONFIG_CRYPTO_RNG=y
891CONFIG_CRYPTO_MANAGER=y 919CONFIG_CRYPTO_MANAGER=y
892# CONFIG_CRYPTO_GF128MUL is not set 920# CONFIG_CRYPTO_GF128MUL is not set
893# CONFIG_CRYPTO_NULL is not set 921# CONFIG_CRYPTO_NULL is not set
@@ -960,6 +988,11 @@ CONFIG_CRYPTO_DES=y
960# 988#
961# CONFIG_CRYPTO_DEFLATE is not set 989# CONFIG_CRYPTO_DEFLATE is not set
962# CONFIG_CRYPTO_LZO is not set 990# CONFIG_CRYPTO_LZO is not set
991
992#
993# Random Number Generation
994#
995# CONFIG_CRYPTO_ANSI_CPRNG is not set
963CONFIG_CRYPTO_HW=y 996CONFIG_CRYPTO_HW=y
964# CONFIG_CRYPTO_DEV_HIFN_795X is not set 997# CONFIG_CRYPTO_DEV_HIFN_795X is not set
965# CONFIG_PPC_CLOCK is not set 998# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig
index 70f46078eb6a..082158d591c5 100644
--- a/arch/powerpc/configs/44x/arches_defconfig
+++ b/arch/powerpc/configs/44x/arches_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc5 3# Linux kernel version: 2.6.28-rc2
4# Wed Oct 1 15:54:57 2008 4# Tue Oct 28 09:16:04 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -103,7 +103,9 @@ CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
104CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
105CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
106CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
107CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
108# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
109CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -117,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122# CONFIG_HAVE_CLK is not set
123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -153,6 +151,7 @@ CONFIG_DEFAULT_AS=y
153# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
154CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
155CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
156CONFIG_PPC4xx_PCI_EXPRESS=y 155CONFIG_PPC4xx_PCI_EXPRESS=y
157 156
158# 157#
@@ -175,6 +174,7 @@ CONFIG_ARCHES=y
175# CONFIG_YOSEMITE is not set 174# CONFIG_YOSEMITE is not set
176# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 175# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
177CONFIG_PPC44x_SIMPLE=y 176CONFIG_PPC44x_SIMPLE=y
177# CONFIG_PPC4xx_GPIO is not set
178CONFIG_460EX=y 178CONFIG_460EX=y
179# CONFIG_IPIC is not set 179# CONFIG_IPIC is not set
180# CONFIG_MPIC is not set 180# CONFIG_MPIC is not set
@@ -207,6 +207,8 @@ CONFIG_PREEMPT_NONE=y
207# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
208# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
209CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
210# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
211# CONFIG_HAVE_AOUT is not set
210# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
211# CONFIG_MATH_EMULATION is not set 213# CONFIG_MATH_EMULATION is not set
212# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
@@ -221,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y
221# CONFIG_SPARSEMEM_MANUAL is not set 223# CONFIG_SPARSEMEM_MANUAL is not set
222CONFIG_FLATMEM=y 224CONFIG_FLATMEM=y
223CONFIG_FLAT_NODE_MEM_MAP=y 225CONFIG_FLAT_NODE_MEM_MAP=y
224# CONFIG_SPARSEMEM_STATIC is not set
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
228CONFIG_MIGRATION=y 228CONFIG_MIGRATION=y
229CONFIG_RESOURCES_64BIT=y 229CONFIG_RESOURCES_64BIT=y
230CONFIG_PHYS_ADDR_T_64BIT=y
230CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y
233CONFIG_FORCE_MAX_ZONEORDER=11 235CONFIG_FORCE_MAX_ZONEORDER=11
234CONFIG_PROC_DEVICETREE=y 236CONFIG_PROC_DEVICETREE=y
235CONFIG_CMDLINE_BOOL=y 237CONFIG_CMDLINE_BOOL=y
@@ -316,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_TIPC is not set 318# CONFIG_TIPC is not set
317# CONFIG_ATM is not set 319# CONFIG_ATM is not set
318# CONFIG_BRIDGE is not set 320# CONFIG_BRIDGE is not set
321# CONFIG_NET_DSA is not set
319# CONFIG_VLAN_8021Q is not set 322# CONFIG_VLAN_8021Q is not set
320# CONFIG_DECNET is not set 323# CONFIG_DECNET is not set
321# CONFIG_LLC2 is not set 324# CONFIG_LLC2 is not set
@@ -336,14 +339,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
336# CONFIG_IRDA is not set 339# CONFIG_IRDA is not set
337# CONFIG_BT is not set 340# CONFIG_BT is not set
338# CONFIG_AF_RXRPC is not set 341# CONFIG_AF_RXRPC is not set
339 342# CONFIG_PHONET is not set
340# 343# CONFIG_WIRELESS is not set
341# Wireless
342#
343# CONFIG_CFG80211 is not set
344# CONFIG_WIRELESS_EXT is not set
345# CONFIG_MAC80211 is not set
346# CONFIG_IEEE80211 is not set
347# CONFIG_RFKILL is not set 344# CONFIG_RFKILL is not set
348# CONFIG_NET_9P is not set 345# CONFIG_NET_9P is not set
349 346
@@ -440,8 +437,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
440# CONFIG_IBM_NEW_EMAC_RGMII is not set 437# CONFIG_IBM_NEW_EMAC_RGMII is not set
441CONFIG_IBM_NEW_EMAC_TAH=y 438CONFIG_IBM_NEW_EMAC_TAH=y
442CONFIG_IBM_NEW_EMAC_EMAC4=y 439CONFIG_IBM_NEW_EMAC_EMAC4=y
440# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
441# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
442# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
443# CONFIG_NET_PCI is not set 443# CONFIG_NET_PCI is not set
444# CONFIG_B44 is not set 444# CONFIG_B44 is not set
445# CONFIG_ATL2 is not set
445# CONFIG_NETDEV_1000 is not set 446# CONFIG_NETDEV_1000 is not set
446# CONFIG_NETDEV_10000 is not set 447# CONFIG_NETDEV_10000 is not set
447# CONFIG_TR is not set 448# CONFIG_TR is not set
@@ -540,6 +541,7 @@ CONFIG_SSB_POSSIBLE=y
540# CONFIG_MFD_SM501 is not set 541# CONFIG_MFD_SM501 is not set
541# CONFIG_HTC_PASIC3 is not set 542# CONFIG_HTC_PASIC3 is not set
542# CONFIG_MFD_TMIO is not set 543# CONFIG_MFD_TMIO is not set
544# CONFIG_MFD_WM8400 is not set
543 545
544# 546#
545# Multimedia devices 547# Multimedia devices
@@ -573,6 +575,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
573# CONFIG_DISPLAY_SUPPORT is not set 575# CONFIG_DISPLAY_SUPPORT is not set
574# CONFIG_SOUND is not set 576# CONFIG_SOUND is not set
575# CONFIG_USB_SUPPORT is not set 577# CONFIG_USB_SUPPORT is not set
578# CONFIG_UWB is not set
576# CONFIG_MMC is not set 579# CONFIG_MMC is not set
577# CONFIG_MEMSTICK is not set 580# CONFIG_MEMSTICK is not set
578# CONFIG_NEW_LEDS is not set 581# CONFIG_NEW_LEDS is not set
@@ -582,6 +585,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
582# CONFIG_RTC_CLASS is not set 585# CONFIG_RTC_CLASS is not set
583# CONFIG_DMADEVICES is not set 586# CONFIG_DMADEVICES is not set
584# CONFIG_UIO is not set 587# CONFIG_UIO is not set
588# CONFIG_STAGING is not set
585 589
586# 590#
587# File systems 591# File systems
@@ -590,10 +594,11 @@ CONFIG_EXT2_FS=y
590# CONFIG_EXT2_FS_XATTR is not set 594# CONFIG_EXT2_FS_XATTR is not set
591# CONFIG_EXT2_FS_XIP is not set 595# CONFIG_EXT2_FS_XIP is not set
592# CONFIG_EXT3_FS is not set 596# CONFIG_EXT3_FS is not set
593# CONFIG_EXT4DEV_FS is not set 597# CONFIG_EXT4_FS is not set
594# CONFIG_REISERFS_FS is not set 598# CONFIG_REISERFS_FS is not set
595# CONFIG_JFS_FS is not set 599# CONFIG_JFS_FS is not set
596# CONFIG_FS_POSIX_ACL is not set 600# CONFIG_FS_POSIX_ACL is not set
601CONFIG_FILE_LOCKING=y
597# CONFIG_XFS_FS is not set 602# CONFIG_XFS_FS is not set
598# CONFIG_OCFS2_FS is not set 603# CONFIG_OCFS2_FS is not set
599CONFIG_DNOTIFY=y 604CONFIG_DNOTIFY=y
@@ -623,6 +628,7 @@ CONFIG_INOTIFY_USER=y
623CONFIG_PROC_FS=y 628CONFIG_PROC_FS=y
624CONFIG_PROC_KCORE=y 629CONFIG_PROC_KCORE=y
625CONFIG_PROC_SYSCTL=y 630CONFIG_PROC_SYSCTL=y
631CONFIG_PROC_PAGE_MONITOR=y
626CONFIG_SYSFS=y 632CONFIG_SYSFS=y
627CONFIG_TMPFS=y 633CONFIG_TMPFS=y
628# CONFIG_TMPFS_POSIX_ACL is not set 634# CONFIG_TMPFS_POSIX_ACL is not set
@@ -659,6 +665,7 @@ CONFIG_LOCKD=y
659CONFIG_LOCKD_V4=y 665CONFIG_LOCKD_V4=y
660CONFIG_NFS_COMMON=y 666CONFIG_NFS_COMMON=y
661CONFIG_SUNRPC=y 667CONFIG_SUNRPC=y
668# CONFIG_SUNRPC_REGISTER_V4 is not set
662# CONFIG_RPCSEC_GSS_KRB5 is not set 669# CONFIG_RPCSEC_GSS_KRB5 is not set
663# CONFIG_RPCSEC_GSS_SPKM3 is not set 670# CONFIG_RPCSEC_GSS_SPKM3 is not set
664# CONFIG_SMB_FS is not set 671# CONFIG_SMB_FS is not set
@@ -679,7 +686,6 @@ CONFIG_MSDOS_PARTITION=y
679# Library routines 686# Library routines
680# 687#
681CONFIG_BITREVERSE=y 688CONFIG_BITREVERSE=y
682# CONFIG_GENERIC_FIND_FIRST_BIT is not set
683# CONFIG_CRC_CCITT is not set 689# CONFIG_CRC_CCITT is not set
684# CONFIG_CRC16 is not set 690# CONFIG_CRC16 is not set
685# CONFIG_CRC_T10DIF is not set 691# CONFIG_CRC_T10DIF is not set
@@ -732,15 +738,21 @@ CONFIG_SCHED_DEBUG=y
732# CONFIG_DEBUG_SG is not set 738# CONFIG_DEBUG_SG is not set
733# CONFIG_BOOT_PRINTK_DELAY is not set 739# CONFIG_BOOT_PRINTK_DELAY is not set
734# CONFIG_RCU_TORTURE_TEST is not set 740# CONFIG_RCU_TORTURE_TEST is not set
741# CONFIG_RCU_CPU_STALL_DETECTOR is not set
735# CONFIG_BACKTRACE_SELF_TEST is not set 742# CONFIG_BACKTRACE_SELF_TEST is not set
743# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
736# CONFIG_FAULT_INJECTION is not set 744# CONFIG_FAULT_INJECTION is not set
737# CONFIG_LATENCYTOP is not set 745# CONFIG_LATENCYTOP is not set
738CONFIG_SYSCTL_SYSCALL_CHECK=y 746CONFIG_SYSCTL_SYSCALL_CHECK=y
747CONFIG_NOP_TRACER=y
739CONFIG_HAVE_FTRACE=y 748CONFIG_HAVE_FTRACE=y
740CONFIG_HAVE_DYNAMIC_FTRACE=y 749CONFIG_HAVE_DYNAMIC_FTRACE=y
741# CONFIG_FTRACE is not set 750# CONFIG_FTRACE is not set
742# CONFIG_SCHED_TRACER is not set 751# CONFIG_SCHED_TRACER is not set
743# CONFIG_CONTEXT_SWITCH_TRACER is not set 752# CONFIG_CONTEXT_SWITCH_TRACER is not set
753# CONFIG_BOOT_TRACER is not set
754# CONFIG_STACK_TRACER is not set
755# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
744# CONFIG_SAMPLES is not set 756# CONFIG_SAMPLES is not set
745CONFIG_HAVE_ARCH_KGDB=y 757CONFIG_HAVE_ARCH_KGDB=y
746# CONFIG_KGDB is not set 758# CONFIG_KGDB is not set
@@ -761,6 +773,7 @@ CONFIG_HAVE_ARCH_KGDB=y
761# 773#
762# CONFIG_KEYS is not set 774# CONFIG_KEYS is not set
763# CONFIG_SECURITY is not set 775# CONFIG_SECURITY is not set
776# CONFIG_SECURITYFS is not set
764# CONFIG_SECURITY_FILE_CAPABILITIES is not set 777# CONFIG_SECURITY_FILE_CAPABILITIES is not set
765# CONFIG_CRYPTO is not set 778# CONFIG_CRYPTO is not set
766# CONFIG_PPC_CLOCK is not set 779# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig
index e920693535af..f47c2f3420f6 100644
--- a/arch/powerpc/configs/44x/bamboo_defconfig
+++ b/arch/powerpc/configs/44x/bamboo_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 08:43:44 2008 4# Tue Oct 28 09:16:06 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
115CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y
159# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
162# CONFIG_PPC4xx_PCI_EXPRESS is not set 159# CONFIG_PPC4xx_PCI_EXPRESS is not set
163 160
164# 161#
@@ -175,9 +172,13 @@ CONFIG_BAMBOO=y
175# CONFIG_KATMAI is not set 172# CONFIG_KATMAI is not set
176# CONFIG_RAINIER is not set 173# CONFIG_RAINIER is not set
177# CONFIG_WARP is not set 174# CONFIG_WARP is not set
175# CONFIG_ARCHES is not set
178# CONFIG_CANYONLANDS is not set 176# CONFIG_CANYONLANDS is not set
177# CONFIG_GLACIER is not set
179# CONFIG_YOSEMITE is not set 178# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
180CONFIG_PPC44x_SIMPLE=y
181# CONFIG_PPC4xx_GPIO is not set
181CONFIG_440EP=y 182CONFIG_440EP=y
182CONFIG_IBM440EP_ERR42=y 183CONFIG_IBM440EP_ERR42=y
183# CONFIG_IPIC is not set 184# CONFIG_IPIC is not set
@@ -197,7 +198,6 @@ CONFIG_IBM440EP_ERR42=y
197# Kernel options 198# Kernel options
198# 199#
199# CONFIG_HIGHMEM is not set 200# CONFIG_HIGHMEM is not set
200# CONFIG_TICK_ONESHOT is not set
201# CONFIG_NO_HZ is not set 201# CONFIG_NO_HZ is not set
202# CONFIG_HIGH_RES_TIMERS is not set 202# CONFIG_HIGH_RES_TIMERS is not set
203CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 203CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -211,6 +211,8 @@ CONFIG_PREEMPT_NONE=y
211# CONFIG_PREEMPT_VOLUNTARY is not set 211# CONFIG_PREEMPT_VOLUNTARY is not set
212# CONFIG_PREEMPT is not set 212# CONFIG_PREEMPT is not set
213CONFIG_BINFMT_ELF=y 213CONFIG_BINFMT_ELF=y
214# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
215# CONFIG_HAVE_AOUT is not set
214# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
215# CONFIG_MATH_EMULATION is not set 217# CONFIG_MATH_EMULATION is not set
216# CONFIG_IOMMU_HELPER is not set 218# CONFIG_IOMMU_HELPER is not set
@@ -225,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y
225# CONFIG_SPARSEMEM_MANUAL is not set 227# CONFIG_SPARSEMEM_MANUAL is not set
226CONFIG_FLATMEM=y 228CONFIG_FLATMEM=y
227CONFIG_FLAT_NODE_MEM_MAP=y 229CONFIG_FLAT_NODE_MEM_MAP=y
228# CONFIG_SPARSEMEM_STATIC is not set
229# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
230CONFIG_PAGEFLAGS_EXTENDED=y 230CONFIG_PAGEFLAGS_EXTENDED=y
231CONFIG_SPLIT_PTLOCK_CPUS=4 231CONFIG_SPLIT_PTLOCK_CPUS=4
232CONFIG_MIGRATION=y 232CONFIG_MIGRATION=y
233CONFIG_RESOURCES_64BIT=y 233CONFIG_RESOURCES_64BIT=y
234CONFIG_PHYS_ADDR_T_64BIT=y
234CONFIG_ZONE_DMA_FLAG=1 235CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 236CONFIG_BOUNCE=y
236CONFIG_VIRT_TO_BUS=y 237CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y
237CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
239CONFIG_CMDLINE_BOOL=y 241CONFIG_CMDLINE_BOOL=y
@@ -320,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
320# CONFIG_TIPC is not set 322# CONFIG_TIPC is not set
321# CONFIG_ATM is not set 323# CONFIG_ATM is not set
322# CONFIG_BRIDGE is not set 324# CONFIG_BRIDGE is not set
325# CONFIG_NET_DSA is not set
323# CONFIG_VLAN_8021Q is not set 326# CONFIG_VLAN_8021Q is not set
324# CONFIG_DECNET is not set 327# CONFIG_DECNET is not set
325# CONFIG_LLC2 is not set 328# CONFIG_LLC2 is not set
@@ -340,14 +343,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_IRDA is not set 343# CONFIG_IRDA is not set
341# CONFIG_BT is not set 344# CONFIG_BT is not set
342# CONFIG_AF_RXRPC is not set 345# CONFIG_AF_RXRPC is not set
343 346# CONFIG_PHONET is not set
344# 347# CONFIG_WIRELESS is not set
345# Wireless
346#
347# CONFIG_CFG80211 is not set
348# CONFIG_WIRELESS_EXT is not set
349# CONFIG_MAC80211 is not set
350# CONFIG_IEEE80211 is not set
351# CONFIG_RFKILL is not set 348# CONFIG_RFKILL is not set
352# CONFIG_NET_9P is not set 349# CONFIG_NET_9P is not set
353 350
@@ -450,8 +447,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
450# CONFIG_IBM_NEW_EMAC_RGMII is not set 447# CONFIG_IBM_NEW_EMAC_RGMII is not set
451# CONFIG_IBM_NEW_EMAC_TAH is not set 448# CONFIG_IBM_NEW_EMAC_TAH is not set
452# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 449# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
450# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
451# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
452# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
453# CONFIG_NET_PCI is not set 453# CONFIG_NET_PCI is not set
454# CONFIG_B44 is not set 454# CONFIG_B44 is not set
455# CONFIG_ATL2 is not set
455CONFIG_NETDEV_1000=y 456CONFIG_NETDEV_1000=y
456# CONFIG_ACENIC is not set 457# CONFIG_ACENIC is not set
457# CONFIG_DL2K is not set 458# CONFIG_DL2K is not set
@@ -472,18 +473,22 @@ CONFIG_NETDEV_1000=y
472# CONFIG_QLA3XXX is not set 473# CONFIG_QLA3XXX is not set
473# CONFIG_ATL1 is not set 474# CONFIG_ATL1 is not set
474# CONFIG_ATL1E is not set 475# CONFIG_ATL1E is not set
476# CONFIG_JME is not set
475CONFIG_NETDEV_10000=y 477CONFIG_NETDEV_10000=y
476# CONFIG_CHELSIO_T1 is not set 478# CONFIG_CHELSIO_T1 is not set
477# CONFIG_CHELSIO_T3 is not set 479# CONFIG_CHELSIO_T3 is not set
480# CONFIG_ENIC is not set
478# CONFIG_IXGBE is not set 481# CONFIG_IXGBE is not set
479# CONFIG_IXGB is not set 482# CONFIG_IXGB is not set
480# CONFIG_S2IO is not set 483# CONFIG_S2IO is not set
481# CONFIG_MYRI10GE is not set 484# CONFIG_MYRI10GE is not set
482# CONFIG_NETXEN_NIC is not set 485# CONFIG_NETXEN_NIC is not set
483# CONFIG_NIU is not set 486# CONFIG_NIU is not set
487# CONFIG_MLX4_EN is not set
484# CONFIG_MLX4_CORE is not set 488# CONFIG_MLX4_CORE is not set
485# CONFIG_TEHUTI is not set 489# CONFIG_TEHUTI is not set
486# CONFIG_BNX2X is not set 490# CONFIG_BNX2X is not set
491# CONFIG_QLGE is not set
487# CONFIG_SFC is not set 492# CONFIG_SFC is not set
488# CONFIG_TR is not set 493# CONFIG_TR is not set
489 494
@@ -579,6 +584,8 @@ CONFIG_SSB_POSSIBLE=y
579# CONFIG_MFD_CORE is not set 584# CONFIG_MFD_CORE is not set
580# CONFIG_MFD_SM501 is not set 585# CONFIG_MFD_SM501 is not set
581# CONFIG_HTC_PASIC3 is not set 586# CONFIG_HTC_PASIC3 is not set
587# CONFIG_MFD_TMIO is not set
588# CONFIG_MFD_WM8400 is not set
582 589
583# 590#
584# Multimedia devices 591# Multimedia devices
@@ -620,9 +627,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
620# CONFIG_USB_OTG_BLACKLIST_HUB is not set 627# CONFIG_USB_OTG_BLACKLIST_HUB is not set
621 628
622# 629#
630# Enable Host or Gadget support to see Inventra options
631#
632
633#
623# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 634# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
624# 635#
625# CONFIG_USB_GADGET is not set 636# CONFIG_USB_GADGET is not set
637# CONFIG_UWB is not set
626# CONFIG_MMC is not set 638# CONFIG_MMC is not set
627# CONFIG_MEMSTICK is not set 639# CONFIG_MEMSTICK is not set
628# CONFIG_NEW_LEDS is not set 640# CONFIG_NEW_LEDS is not set
@@ -632,6 +644,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
632# CONFIG_RTC_CLASS is not set 644# CONFIG_RTC_CLASS is not set
633# CONFIG_DMADEVICES is not set 645# CONFIG_DMADEVICES is not set
634# CONFIG_UIO is not set 646# CONFIG_UIO is not set
647# CONFIG_STAGING is not set
635 648
636# 649#
637# File systems 650# File systems
@@ -640,10 +653,11 @@ CONFIG_EXT2_FS=y
640# CONFIG_EXT2_FS_XATTR is not set 653# CONFIG_EXT2_FS_XATTR is not set
641# CONFIG_EXT2_FS_XIP is not set 654# CONFIG_EXT2_FS_XIP is not set
642# CONFIG_EXT3_FS is not set 655# CONFIG_EXT3_FS is not set
643# CONFIG_EXT4DEV_FS is not set 656# CONFIG_EXT4_FS is not set
644# CONFIG_REISERFS_FS is not set 657# CONFIG_REISERFS_FS is not set
645# CONFIG_JFS_FS is not set 658# CONFIG_JFS_FS is not set
646# CONFIG_FS_POSIX_ACL is not set 659# CONFIG_FS_POSIX_ACL is not set
660CONFIG_FILE_LOCKING=y
647# CONFIG_XFS_FS is not set 661# CONFIG_XFS_FS is not set
648# CONFIG_OCFS2_FS is not set 662# CONFIG_OCFS2_FS is not set
649CONFIG_DNOTIFY=y 663CONFIG_DNOTIFY=y
@@ -673,6 +687,7 @@ CONFIG_INOTIFY_USER=y
673CONFIG_PROC_FS=y 687CONFIG_PROC_FS=y
674CONFIG_PROC_KCORE=y 688CONFIG_PROC_KCORE=y
675CONFIG_PROC_SYSCTL=y 689CONFIG_PROC_SYSCTL=y
690CONFIG_PROC_PAGE_MONITOR=y
676CONFIG_SYSFS=y 691CONFIG_SYSFS=y
677CONFIG_TMPFS=y 692CONFIG_TMPFS=y
678# CONFIG_TMPFS_POSIX_ACL is not set 693# CONFIG_TMPFS_POSIX_ACL is not set
@@ -709,6 +724,7 @@ CONFIG_LOCKD=y
709CONFIG_LOCKD_V4=y 724CONFIG_LOCKD_V4=y
710CONFIG_NFS_COMMON=y 725CONFIG_NFS_COMMON=y
711CONFIG_SUNRPC=y 726CONFIG_SUNRPC=y
727# CONFIG_SUNRPC_REGISTER_V4 is not set
712# CONFIG_RPCSEC_GSS_KRB5 is not set 728# CONFIG_RPCSEC_GSS_KRB5 is not set
713# CONFIG_RPCSEC_GSS_SPKM3 is not set 729# CONFIG_RPCSEC_GSS_SPKM3 is not set
714# CONFIG_SMB_FS is not set 730# CONFIG_SMB_FS is not set
@@ -729,7 +745,6 @@ CONFIG_MSDOS_PARTITION=y
729# Library routines 745# Library routines
730# 746#
731CONFIG_BITREVERSE=y 747CONFIG_BITREVERSE=y
732# CONFIG_GENERIC_FIND_FIRST_BIT is not set
733# CONFIG_CRC_CCITT is not set 748# CONFIG_CRC_CCITT is not set
734# CONFIG_CRC16 is not set 749# CONFIG_CRC16 is not set
735# CONFIG_CRC_T10DIF is not set 750# CONFIG_CRC_T10DIF is not set
@@ -782,14 +797,21 @@ CONFIG_SCHED_DEBUG=y
782# CONFIG_DEBUG_SG is not set 797# CONFIG_DEBUG_SG is not set
783# CONFIG_BOOT_PRINTK_DELAY is not set 798# CONFIG_BOOT_PRINTK_DELAY is not set
784# CONFIG_RCU_TORTURE_TEST is not set 799# CONFIG_RCU_TORTURE_TEST is not set
800# CONFIG_RCU_CPU_STALL_DETECTOR is not set
785# CONFIG_BACKTRACE_SELF_TEST is not set 801# CONFIG_BACKTRACE_SELF_TEST is not set
802# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
786# CONFIG_FAULT_INJECTION is not set 803# CONFIG_FAULT_INJECTION is not set
787# CONFIG_LATENCYTOP is not set 804# CONFIG_LATENCYTOP is not set
805CONFIG_SYSCTL_SYSCALL_CHECK=y
806CONFIG_NOP_TRACER=y
788CONFIG_HAVE_FTRACE=y 807CONFIG_HAVE_FTRACE=y
789CONFIG_HAVE_DYNAMIC_FTRACE=y 808CONFIG_HAVE_DYNAMIC_FTRACE=y
790# CONFIG_FTRACE is not set 809# CONFIG_FTRACE is not set
791# CONFIG_SCHED_TRACER is not set 810# CONFIG_SCHED_TRACER is not set
792# CONFIG_CONTEXT_SWITCH_TRACER is not set 811# CONFIG_CONTEXT_SWITCH_TRACER is not set
812# CONFIG_BOOT_TRACER is not set
813# CONFIG_STACK_TRACER is not set
814# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
793# CONFIG_SAMPLES is not set 815# CONFIG_SAMPLES is not set
794CONFIG_HAVE_ARCH_KGDB=y 816CONFIG_HAVE_ARCH_KGDB=y
795# CONFIG_KGDB is not set 817# CONFIG_KGDB is not set
@@ -798,6 +820,7 @@ CONFIG_HAVE_ARCH_KGDB=y
798# CONFIG_DEBUG_PAGEALLOC is not set 820# CONFIG_DEBUG_PAGEALLOC is not set
799# CONFIG_CODE_PATCHING_SELFTEST is not set 821# CONFIG_CODE_PATCHING_SELFTEST is not set
800# CONFIG_FTR_FIXUP_SELFTEST is not set 822# CONFIG_FTR_FIXUP_SELFTEST is not set
823# CONFIG_MSI_BITMAP_SELFTEST is not set
801# CONFIG_XMON is not set 824# CONFIG_XMON is not set
802# CONFIG_IRQSTACKS is not set 825# CONFIG_IRQSTACKS is not set
803# CONFIG_VIRQ_DEBUG is not set 826# CONFIG_VIRQ_DEBUG is not set
@@ -809,14 +832,19 @@ CONFIG_HAVE_ARCH_KGDB=y
809# 832#
810# CONFIG_KEYS is not set 833# CONFIG_KEYS is not set
811# CONFIG_SECURITY is not set 834# CONFIG_SECURITY is not set
835# CONFIG_SECURITYFS is not set
812# CONFIG_SECURITY_FILE_CAPABILITIES is not set 836# CONFIG_SECURITY_FILE_CAPABILITIES is not set
813CONFIG_CRYPTO=y 837CONFIG_CRYPTO=y
814 838
815# 839#
816# Crypto core or helper 840# Crypto core or helper
817# 841#
842# CONFIG_CRYPTO_FIPS is not set
818CONFIG_CRYPTO_ALGAPI=y 843CONFIG_CRYPTO_ALGAPI=y
844CONFIG_CRYPTO_AEAD=y
819CONFIG_CRYPTO_BLKCIPHER=y 845CONFIG_CRYPTO_BLKCIPHER=y
846CONFIG_CRYPTO_HASH=y
847CONFIG_CRYPTO_RNG=y
820CONFIG_CRYPTO_MANAGER=y 848CONFIG_CRYPTO_MANAGER=y
821# CONFIG_CRYPTO_GF128MUL is not set 849# CONFIG_CRYPTO_GF128MUL is not set
822# CONFIG_CRYPTO_NULL is not set 850# CONFIG_CRYPTO_NULL is not set
@@ -889,6 +917,11 @@ CONFIG_CRYPTO_DES=y
889# 917#
890# CONFIG_CRYPTO_DEFLATE is not set 918# CONFIG_CRYPTO_DEFLATE is not set
891# CONFIG_CRYPTO_LZO is not set 919# CONFIG_CRYPTO_LZO is not set
920
921#
922# Random Number Generation
923#
924# CONFIG_CRYPTO_ANSI_CPRNG is not set
892CONFIG_CRYPTO_HW=y 925CONFIG_CRYPTO_HW=y
893# CONFIG_CRYPTO_DEV_HIFN_795X is not set 926# CONFIG_CRYPTO_DEV_HIFN_795X is not set
894# CONFIG_PPC_CLOCK is not set 927# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig
index 74da5c7754a4..0694756ac759 100644
--- a/arch/powerpc/configs/44x/canyonlands_defconfig
+++ b/arch/powerpc/configs/44x/canyonlands_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 08:46:14 2008 4# Tue Oct 28 09:16:08 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 87CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 88CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 89CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 90CONFIG_KALLSYMS=y
93# CONFIG_KALLSYMS_ALL is not set 91# CONFIG_KALLSYMS_ALL is not set
94# CONFIG_KALLSYMS_EXTRA_PASS is not set 92# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 103CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 104CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 105CONFIG_SHMEM=y
106CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 107CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
111CONFIG_SLUB=y 111CONFIG_SLUB=y
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
158CONFIG_PPC4xx_PCI_EXPRESS=y 155CONFIG_PPC4xx_PCI_EXPRESS=y
159 156
160# 157#
@@ -171,9 +168,13 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
171# CONFIG_KATMAI is not set 168# CONFIG_KATMAI is not set
172# CONFIG_RAINIER is not set 169# CONFIG_RAINIER is not set
173# CONFIG_WARP is not set 170# CONFIG_WARP is not set
171# CONFIG_ARCHES is not set
174CONFIG_CANYONLANDS=y 172CONFIG_CANYONLANDS=y
173# CONFIG_GLACIER is not set
175# CONFIG_YOSEMITE is not set 174# CONFIG_YOSEMITE is not set
176# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 175# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
176CONFIG_PPC44x_SIMPLE=y
177# CONFIG_PPC4xx_GPIO is not set
177CONFIG_460EX=y 178CONFIG_460EX=y
178# CONFIG_IPIC is not set 179# CONFIG_IPIC is not set
179# CONFIG_MPIC is not set 180# CONFIG_MPIC is not set
@@ -201,11 +202,13 @@ CONFIG_HZ_250=y
201# CONFIG_HZ_300 is not set 202# CONFIG_HZ_300 is not set
202# CONFIG_HZ_1000 is not set 203# CONFIG_HZ_1000 is not set
203CONFIG_HZ=250 204CONFIG_HZ=250
204# CONFIG_SCHED_HRTICK is not set 205CONFIG_SCHED_HRTICK=y
205CONFIG_PREEMPT_NONE=y 206CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
208CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
210# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
211# CONFIG_HAVE_AOUT is not set
209# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
210# CONFIG_MATH_EMULATION is not set 213# CONFIG_MATH_EMULATION is not set
211# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
@@ -220,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y
220# CONFIG_SPARSEMEM_MANUAL is not set 223# CONFIG_SPARSEMEM_MANUAL is not set
221CONFIG_FLATMEM=y 224CONFIG_FLATMEM=y
222CONFIG_FLAT_NODE_MEM_MAP=y 225CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_STATIC is not set
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 228CONFIG_MIGRATION=y
228CONFIG_RESOURCES_64BIT=y 229CONFIG_RESOURCES_64BIT=y
230CONFIG_PHYS_ADDR_T_64BIT=y
229CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y
232CONFIG_FORCE_MAX_ZONEORDER=11 235CONFIG_FORCE_MAX_ZONEORDER=11
233CONFIG_PROC_DEVICETREE=y 236CONFIG_PROC_DEVICETREE=y
234CONFIG_CMDLINE_BOOL=y 237CONFIG_CMDLINE_BOOL=y
@@ -315,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
315# CONFIG_TIPC is not set 318# CONFIG_TIPC is not set
316# CONFIG_ATM is not set 319# CONFIG_ATM is not set
317# CONFIG_BRIDGE is not set 320# CONFIG_BRIDGE is not set
321# CONFIG_NET_DSA is not set
318# CONFIG_VLAN_8021Q is not set 322# CONFIG_VLAN_8021Q is not set
319# CONFIG_DECNET is not set 323# CONFIG_DECNET is not set
320# CONFIG_LLC2 is not set 324# CONFIG_LLC2 is not set
@@ -335,14 +339,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
335# CONFIG_IRDA is not set 339# CONFIG_IRDA is not set
336# CONFIG_BT is not set 340# CONFIG_BT is not set
337# CONFIG_AF_RXRPC is not set 341# CONFIG_AF_RXRPC is not set
338 342# CONFIG_PHONET is not set
339# 343# CONFIG_WIRELESS is not set
340# Wireless
341#
342# CONFIG_CFG80211 is not set
343# CONFIG_WIRELESS_EXT is not set
344# CONFIG_MAC80211 is not set
345# CONFIG_IEEE80211 is not set
346# CONFIG_RFKILL is not set 344# CONFIG_RFKILL is not set
347# CONFIG_NET_9P is not set 345# CONFIG_NET_9P is not set
348 346
@@ -439,8 +437,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
439CONFIG_IBM_NEW_EMAC_RGMII=y 437CONFIG_IBM_NEW_EMAC_RGMII=y
440CONFIG_IBM_NEW_EMAC_TAH=y 438CONFIG_IBM_NEW_EMAC_TAH=y
441CONFIG_IBM_NEW_EMAC_EMAC4=y 439CONFIG_IBM_NEW_EMAC_EMAC4=y
440# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
441# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
442# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
442# CONFIG_NET_PCI is not set 443# CONFIG_NET_PCI is not set
443# CONFIG_B44 is not set 444# CONFIG_B44 is not set
445# CONFIG_ATL2 is not set
444# CONFIG_NETDEV_1000 is not set 446# CONFIG_NETDEV_1000 is not set
445# CONFIG_NETDEV_10000 is not set 447# CONFIG_NETDEV_10000 is not set
446# CONFIG_TR is not set 448# CONFIG_TR is not set
@@ -538,6 +540,8 @@ CONFIG_SSB_POSSIBLE=y
538# CONFIG_MFD_CORE is not set 540# CONFIG_MFD_CORE is not set
539# CONFIG_MFD_SM501 is not set 541# CONFIG_MFD_SM501 is not set
540# CONFIG_HTC_PASIC3 is not set 542# CONFIG_HTC_PASIC3 is not set
543# CONFIG_MFD_TMIO is not set
544# CONFIG_MFD_WM8400 is not set
541 545
542# 546#
543# Multimedia devices 547# Multimedia devices
@@ -571,6 +575,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
571# CONFIG_DISPLAY_SUPPORT is not set 575# CONFIG_DISPLAY_SUPPORT is not set
572# CONFIG_SOUND is not set 576# CONFIG_SOUND is not set
573# CONFIG_USB_SUPPORT is not set 577# CONFIG_USB_SUPPORT is not set
578# CONFIG_UWB is not set
574# CONFIG_MMC is not set 579# CONFIG_MMC is not set
575# CONFIG_MEMSTICK is not set 580# CONFIG_MEMSTICK is not set
576# CONFIG_NEW_LEDS is not set 581# CONFIG_NEW_LEDS is not set
@@ -580,6 +585,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
580# CONFIG_RTC_CLASS is not set 585# CONFIG_RTC_CLASS is not set
581# CONFIG_DMADEVICES is not set 586# CONFIG_DMADEVICES is not set
582# CONFIG_UIO is not set 587# CONFIG_UIO is not set
588# CONFIG_STAGING is not set
583 589
584# 590#
585# File systems 591# File systems
@@ -588,10 +594,11 @@ CONFIG_EXT2_FS=y
588# CONFIG_EXT2_FS_XATTR is not set 594# CONFIG_EXT2_FS_XATTR is not set
589# CONFIG_EXT2_FS_XIP is not set 595# CONFIG_EXT2_FS_XIP is not set
590# CONFIG_EXT3_FS is not set 596# CONFIG_EXT3_FS is not set
591# CONFIG_EXT4DEV_FS is not set 597# CONFIG_EXT4_FS is not set
592# CONFIG_REISERFS_FS is not set 598# CONFIG_REISERFS_FS is not set
593# CONFIG_JFS_FS is not set 599# CONFIG_JFS_FS is not set
594# CONFIG_FS_POSIX_ACL is not set 600# CONFIG_FS_POSIX_ACL is not set
601CONFIG_FILE_LOCKING=y
595# CONFIG_XFS_FS is not set 602# CONFIG_XFS_FS is not set
596# CONFIG_OCFS2_FS is not set 603# CONFIG_OCFS2_FS is not set
597CONFIG_DNOTIFY=y 604CONFIG_DNOTIFY=y
@@ -621,6 +628,7 @@ CONFIG_INOTIFY_USER=y
621CONFIG_PROC_FS=y 628CONFIG_PROC_FS=y
622CONFIG_PROC_KCORE=y 629CONFIG_PROC_KCORE=y
623CONFIG_PROC_SYSCTL=y 630CONFIG_PROC_SYSCTL=y
631CONFIG_PROC_PAGE_MONITOR=y
624CONFIG_SYSFS=y 632CONFIG_SYSFS=y
625CONFIG_TMPFS=y 633CONFIG_TMPFS=y
626# CONFIG_TMPFS_POSIX_ACL is not set 634# CONFIG_TMPFS_POSIX_ACL is not set
@@ -657,6 +665,7 @@ CONFIG_LOCKD=y
657CONFIG_LOCKD_V4=y 665CONFIG_LOCKD_V4=y
658CONFIG_NFS_COMMON=y 666CONFIG_NFS_COMMON=y
659CONFIG_SUNRPC=y 667CONFIG_SUNRPC=y
668# CONFIG_SUNRPC_REGISTER_V4 is not set
660# CONFIG_RPCSEC_GSS_KRB5 is not set 669# CONFIG_RPCSEC_GSS_KRB5 is not set
661# CONFIG_RPCSEC_GSS_SPKM3 is not set 670# CONFIG_RPCSEC_GSS_SPKM3 is not set
662# CONFIG_SMB_FS is not set 671# CONFIG_SMB_FS is not set
@@ -677,7 +686,6 @@ CONFIG_MSDOS_PARTITION=y
677# Library routines 686# Library routines
678# 687#
679CONFIG_BITREVERSE=y 688CONFIG_BITREVERSE=y
680# CONFIG_GENERIC_FIND_FIRST_BIT is not set
681# CONFIG_CRC_CCITT is not set 689# CONFIG_CRC_CCITT is not set
682# CONFIG_CRC16 is not set 690# CONFIG_CRC16 is not set
683# CONFIG_CRC_T10DIF is not set 691# CONFIG_CRC_T10DIF is not set
@@ -730,14 +738,21 @@ CONFIG_SCHED_DEBUG=y
730# CONFIG_DEBUG_SG is not set 738# CONFIG_DEBUG_SG is not set
731# CONFIG_BOOT_PRINTK_DELAY is not set 739# CONFIG_BOOT_PRINTK_DELAY is not set
732# CONFIG_RCU_TORTURE_TEST is not set 740# CONFIG_RCU_TORTURE_TEST is not set
741# CONFIG_RCU_CPU_STALL_DETECTOR is not set
733# CONFIG_BACKTRACE_SELF_TEST is not set 742# CONFIG_BACKTRACE_SELF_TEST is not set
743# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
734# CONFIG_FAULT_INJECTION is not set 744# CONFIG_FAULT_INJECTION is not set
735# CONFIG_LATENCYTOP is not set 745# CONFIG_LATENCYTOP is not set
746CONFIG_SYSCTL_SYSCALL_CHECK=y
747CONFIG_NOP_TRACER=y
736CONFIG_HAVE_FTRACE=y 748CONFIG_HAVE_FTRACE=y
737CONFIG_HAVE_DYNAMIC_FTRACE=y 749CONFIG_HAVE_DYNAMIC_FTRACE=y
738# CONFIG_FTRACE is not set 750# CONFIG_FTRACE is not set
739# CONFIG_SCHED_TRACER is not set 751# CONFIG_SCHED_TRACER is not set
740# CONFIG_CONTEXT_SWITCH_TRACER is not set 752# CONFIG_CONTEXT_SWITCH_TRACER is not set
753# CONFIG_BOOT_TRACER is not set
754# CONFIG_STACK_TRACER is not set
755# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
741# CONFIG_SAMPLES is not set 756# CONFIG_SAMPLES is not set
742CONFIG_HAVE_ARCH_KGDB=y 757CONFIG_HAVE_ARCH_KGDB=y
743# CONFIG_KGDB is not set 758# CONFIG_KGDB is not set
@@ -746,6 +761,7 @@ CONFIG_HAVE_ARCH_KGDB=y
746# CONFIG_DEBUG_PAGEALLOC is not set 761# CONFIG_DEBUG_PAGEALLOC is not set
747# CONFIG_CODE_PATCHING_SELFTEST is not set 762# CONFIG_CODE_PATCHING_SELFTEST is not set
748# CONFIG_FTR_FIXUP_SELFTEST is not set 763# CONFIG_FTR_FIXUP_SELFTEST is not set
764# CONFIG_MSI_BITMAP_SELFTEST is not set
749# CONFIG_XMON is not set 765# CONFIG_XMON is not set
750# CONFIG_IRQSTACKS is not set 766# CONFIG_IRQSTACKS is not set
751# CONFIG_VIRQ_DEBUG is not set 767# CONFIG_VIRQ_DEBUG is not set
@@ -757,6 +773,7 @@ CONFIG_HAVE_ARCH_KGDB=y
757# 773#
758# CONFIG_KEYS is not set 774# CONFIG_KEYS is not set
759# CONFIG_SECURITY is not set 775# CONFIG_SECURITY is not set
776# CONFIG_SECURITYFS is not set
760# CONFIG_SECURITY_FILE_CAPABILITIES is not set 777# CONFIG_SECURITY_FILE_CAPABILITIES is not set
761# CONFIG_CRYPTO is not set 778# CONFIG_CRYPTO is not set
762# CONFIG_PPC_CLOCK is not set 779# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig
index 17615750b494..c9937578ef7f 100644
--- a/arch/powerpc/configs/44x/ebony_defconfig
+++ b/arch/powerpc/configs/44x/ebony_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:04:12 2008 4# Tue Oct 28 09:16:09 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y
22CONFIG_NOT_COHERENT_CACHE=y 22CONFIG_NOT_COHERENT_CACHE=y
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE=""
91CONFIG_SYSCTL=y 90CONFIG_SYSCTL=y
92CONFIG_EMBEDDED=y 91CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 92CONFIG_SYSCTL_SYSCALL=y
94CONFIG_SYSCTL_SYSCALL_CHECK=y
95CONFIG_KALLSYMS=y 93CONFIG_KALLSYMS=y
96CONFIG_KALLSYMS_ALL=y 94CONFIG_KALLSYMS_ALL=y
97CONFIG_KALLSYMS_EXTRA_PASS=y 95CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
114CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 154# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 155CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 156CONFIG_CLASSIC_RCU=y
157# CONFIG_FREEZER is not set
161# CONFIG_PPC4xx_PCI_EXPRESS is not set 158# CONFIG_PPC4xx_PCI_EXPRESS is not set
162 159
163# 160#
@@ -174,9 +171,13 @@ CONFIG_EBONY=y
174# CONFIG_KATMAI is not set 171# CONFIG_KATMAI is not set
175# CONFIG_RAINIER is not set 172# CONFIG_RAINIER is not set
176# CONFIG_WARP is not set 173# CONFIG_WARP is not set
174# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 175# CONFIG_CANYONLANDS is not set
176# CONFIG_GLACIER is not set
178# CONFIG_YOSEMITE is not set 177# CONFIG_YOSEMITE is not set
179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 178# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
179# CONFIG_PPC44x_SIMPLE is not set
180# CONFIG_PPC4xx_GPIO is not set
180CONFIG_440GP=y 181CONFIG_440GP=y
181# CONFIG_IPIC is not set 182# CONFIG_IPIC is not set
182# CONFIG_MPIC is not set 183# CONFIG_MPIC is not set
@@ -196,7 +197,6 @@ CONFIG_OF_RTC=y
196# Kernel options 197# Kernel options
197# 198#
198# CONFIG_HIGHMEM is not set 199# CONFIG_HIGHMEM is not set
199# CONFIG_TICK_ONESHOT is not set
200# CONFIG_NO_HZ is not set 200# CONFIG_NO_HZ is not set
201# CONFIG_HIGH_RES_TIMERS is not set 201# CONFIG_HIGH_RES_TIMERS is not set
202CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 202CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -210,6 +210,8 @@ CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 210# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 211# CONFIG_PREEMPT is not set
212CONFIG_BINFMT_ELF=y 212CONFIG_BINFMT_ELF=y
213# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
214# CONFIG_HAVE_AOUT is not set
213# CONFIG_BINFMT_MISC is not set 215# CONFIG_BINFMT_MISC is not set
214CONFIG_MATH_EMULATION=y 216CONFIG_MATH_EMULATION=y
215# CONFIG_IOMMU_HELPER is not set 217# CONFIG_IOMMU_HELPER is not set
@@ -224,15 +226,15 @@ CONFIG_FLATMEM_MANUAL=y
224# CONFIG_SPARSEMEM_MANUAL is not set 226# CONFIG_SPARSEMEM_MANUAL is not set
225CONFIG_FLATMEM=y 227CONFIG_FLATMEM=y
226CONFIG_FLAT_NODE_MEM_MAP=y 228CONFIG_FLAT_NODE_MEM_MAP=y
227# CONFIG_SPARSEMEM_STATIC is not set
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 229CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y 231CONFIG_MIGRATION=y
232CONFIG_RESOURCES_64BIT=y 232CONFIG_RESOURCES_64BIT=y
233CONFIG_PHYS_ADDR_T_64BIT=y
233CONFIG_ZONE_DMA_FLAG=1 234CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 235CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 236CONFIG_VIRT_TO_BUS=y
237CONFIG_UNEVICTABLE_LRU=y
236CONFIG_FORCE_MAX_ZONEORDER=11 238CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 239CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 240# CONFIG_CMDLINE_BOOL is not set
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 320# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 321# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 322# CONFIG_BRIDGE is not set
323# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 324# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 325# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 326# CONFIG_LLC2 is not set
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 341# CONFIG_IRDA is not set
339# CONFIG_BT is not set 342# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 343# CONFIG_AF_RXRPC is not set
341 344# CONFIG_PHONET is not set
342# 345# CONFIG_WIRELESS is not set
343# Wireless
344#
345# CONFIG_CFG80211 is not set
346# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set
349# CONFIG_RFKILL is not set 346# CONFIG_RFKILL is not set
350# CONFIG_NET_9P is not set 347# CONFIG_NET_9P is not set
351 348
@@ -525,8 +522,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
525# CONFIG_IBM_NEW_EMAC_RGMII is not set 522# CONFIG_IBM_NEW_EMAC_RGMII is not set
526# CONFIG_IBM_NEW_EMAC_TAH is not set 523# CONFIG_IBM_NEW_EMAC_TAH is not set
527# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 524# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
525# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
526# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
527# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
528# CONFIG_NET_PCI is not set 528# CONFIG_NET_PCI is not set
529# CONFIG_B44 is not set 529# CONFIG_B44 is not set
530# CONFIG_ATL2 is not set
530CONFIG_NETDEV_1000=y 531CONFIG_NETDEV_1000=y
531# CONFIG_ACENIC is not set 532# CONFIG_ACENIC is not set
532# CONFIG_DL2K is not set 533# CONFIG_DL2K is not set
@@ -547,18 +548,22 @@ CONFIG_NETDEV_1000=y
547# CONFIG_QLA3XXX is not set 548# CONFIG_QLA3XXX is not set
548# CONFIG_ATL1 is not set 549# CONFIG_ATL1 is not set
549# CONFIG_ATL1E is not set 550# CONFIG_ATL1E is not set
551# CONFIG_JME is not set
550CONFIG_NETDEV_10000=y 552CONFIG_NETDEV_10000=y
551# CONFIG_CHELSIO_T1 is not set 553# CONFIG_CHELSIO_T1 is not set
552# CONFIG_CHELSIO_T3 is not set 554# CONFIG_CHELSIO_T3 is not set
555# CONFIG_ENIC is not set
553# CONFIG_IXGBE is not set 556# CONFIG_IXGBE is not set
554# CONFIG_IXGB is not set 557# CONFIG_IXGB is not set
555# CONFIG_S2IO is not set 558# CONFIG_S2IO is not set
556# CONFIG_MYRI10GE is not set 559# CONFIG_MYRI10GE is not set
557# CONFIG_NETXEN_NIC is not set 560# CONFIG_NETXEN_NIC is not set
558# CONFIG_NIU is not set 561# CONFIG_NIU is not set
562# CONFIG_MLX4_EN is not set
559# CONFIG_MLX4_CORE is not set 563# CONFIG_MLX4_CORE is not set
560# CONFIG_TEHUTI is not set 564# CONFIG_TEHUTI is not set
561# CONFIG_BNX2X is not set 565# CONFIG_BNX2X is not set
566# CONFIG_QLGE is not set
562# CONFIG_SFC is not set 567# CONFIG_SFC is not set
563# CONFIG_TR is not set 568# CONFIG_TR is not set
564 569
@@ -654,6 +659,8 @@ CONFIG_SSB_POSSIBLE=y
654# CONFIG_MFD_CORE is not set 659# CONFIG_MFD_CORE is not set
655# CONFIG_MFD_SM501 is not set 660# CONFIG_MFD_SM501 is not set
656# CONFIG_HTC_PASIC3 is not set 661# CONFIG_HTC_PASIC3 is not set
662# CONFIG_MFD_TMIO is not set
663# CONFIG_MFD_WM8400 is not set
657 664
658# 665#
659# Multimedia devices 666# Multimedia devices
@@ -695,9 +702,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
695# CONFIG_USB_OTG_BLACKLIST_HUB is not set 702# CONFIG_USB_OTG_BLACKLIST_HUB is not set
696 703
697# 704#
705# Enable Host or Gadget support to see Inventra options
706#
707
708#
698# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 709# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
699# 710#
700# CONFIG_USB_GADGET is not set 711# CONFIG_USB_GADGET is not set
712# CONFIG_UWB is not set
701# CONFIG_MMC is not set 713# CONFIG_MMC is not set
702# CONFIG_MEMSTICK is not set 714# CONFIG_MEMSTICK is not set
703# CONFIG_NEW_LEDS is not set 715# CONFIG_NEW_LEDS is not set
@@ -707,6 +719,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
707# CONFIG_RTC_CLASS is not set 719# CONFIG_RTC_CLASS is not set
708# CONFIG_DMADEVICES is not set 720# CONFIG_DMADEVICES is not set
709# CONFIG_UIO is not set 721# CONFIG_UIO is not set
722# CONFIG_STAGING is not set
710 723
711# 724#
712# File systems 725# File systems
@@ -715,10 +728,11 @@ CONFIG_EXT2_FS=y
715# CONFIG_EXT2_FS_XATTR is not set 728# CONFIG_EXT2_FS_XATTR is not set
716# CONFIG_EXT2_FS_XIP is not set 729# CONFIG_EXT2_FS_XIP is not set
717# CONFIG_EXT3_FS is not set 730# CONFIG_EXT3_FS is not set
718# CONFIG_EXT4DEV_FS is not set 731# CONFIG_EXT4_FS is not set
719# CONFIG_REISERFS_FS is not set 732# CONFIG_REISERFS_FS is not set
720# CONFIG_JFS_FS is not set 733# CONFIG_JFS_FS is not set
721# CONFIG_FS_POSIX_ACL is not set 734# CONFIG_FS_POSIX_ACL is not set
735CONFIG_FILE_LOCKING=y
722# CONFIG_XFS_FS is not set 736# CONFIG_XFS_FS is not set
723# CONFIG_OCFS2_FS is not set 737# CONFIG_OCFS2_FS is not set
724CONFIG_DNOTIFY=y 738CONFIG_DNOTIFY=y
@@ -748,6 +762,7 @@ CONFIG_INOTIFY_USER=y
748CONFIG_PROC_FS=y 762CONFIG_PROC_FS=y
749CONFIG_PROC_KCORE=y 763CONFIG_PROC_KCORE=y
750CONFIG_PROC_SYSCTL=y 764CONFIG_PROC_SYSCTL=y
765CONFIG_PROC_PAGE_MONITOR=y
751CONFIG_SYSFS=y 766CONFIG_SYSFS=y
752CONFIG_TMPFS=y 767CONFIG_TMPFS=y
753# CONFIG_TMPFS_POSIX_ACL is not set 768# CONFIG_TMPFS_POSIX_ACL is not set
@@ -795,6 +810,7 @@ CONFIG_LOCKD=y
795CONFIG_LOCKD_V4=y 810CONFIG_LOCKD_V4=y
796CONFIG_NFS_COMMON=y 811CONFIG_NFS_COMMON=y
797CONFIG_SUNRPC=y 812CONFIG_SUNRPC=y
813# CONFIG_SUNRPC_REGISTER_V4 is not set
798# CONFIG_RPCSEC_GSS_KRB5 is not set 814# CONFIG_RPCSEC_GSS_KRB5 is not set
799# CONFIG_RPCSEC_GSS_SPKM3 is not set 815# CONFIG_RPCSEC_GSS_SPKM3 is not set
800# CONFIG_SMB_FS is not set 816# CONFIG_SMB_FS is not set
@@ -815,7 +831,6 @@ CONFIG_MSDOS_PARTITION=y
815# Library routines 831# Library routines
816# 832#
817CONFIG_BITREVERSE=y 833CONFIG_BITREVERSE=y
818# CONFIG_GENERIC_FIND_FIRST_BIT is not set
819# CONFIG_CRC_CCITT is not set 834# CONFIG_CRC_CCITT is not set
820# CONFIG_CRC16 is not set 835# CONFIG_CRC16 is not set
821# CONFIG_CRC_T10DIF is not set 836# CONFIG_CRC_T10DIF is not set
@@ -869,14 +884,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
869# CONFIG_DEBUG_SG is not set 884# CONFIG_DEBUG_SG is not set
870# CONFIG_BOOT_PRINTK_DELAY is not set 885# CONFIG_BOOT_PRINTK_DELAY is not set
871# CONFIG_RCU_TORTURE_TEST is not set 886# CONFIG_RCU_TORTURE_TEST is not set
887# CONFIG_RCU_CPU_STALL_DETECTOR is not set
872# CONFIG_BACKTRACE_SELF_TEST is not set 888# CONFIG_BACKTRACE_SELF_TEST is not set
889# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
873# CONFIG_FAULT_INJECTION is not set 890# CONFIG_FAULT_INJECTION is not set
874# CONFIG_LATENCYTOP is not set 891# CONFIG_LATENCYTOP is not set
892CONFIG_SYSCTL_SYSCALL_CHECK=y
893CONFIG_NOP_TRACER=y
875CONFIG_HAVE_FTRACE=y 894CONFIG_HAVE_FTRACE=y
876CONFIG_HAVE_DYNAMIC_FTRACE=y 895CONFIG_HAVE_DYNAMIC_FTRACE=y
877# CONFIG_FTRACE is not set 896# CONFIG_FTRACE is not set
878# CONFIG_SCHED_TRACER is not set 897# CONFIG_SCHED_TRACER is not set
879# CONFIG_CONTEXT_SWITCH_TRACER is not set 898# CONFIG_CONTEXT_SWITCH_TRACER is not set
899# CONFIG_BOOT_TRACER is not set
900# CONFIG_STACK_TRACER is not set
901# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
880# CONFIG_SAMPLES is not set 902# CONFIG_SAMPLES is not set
881CONFIG_HAVE_ARCH_KGDB=y 903CONFIG_HAVE_ARCH_KGDB=y
882# CONFIG_KGDB is not set 904# CONFIG_KGDB is not set
@@ -885,6 +907,7 @@ CONFIG_HAVE_ARCH_KGDB=y
885# CONFIG_DEBUG_PAGEALLOC is not set 907# CONFIG_DEBUG_PAGEALLOC is not set
886# CONFIG_CODE_PATCHING_SELFTEST is not set 908# CONFIG_CODE_PATCHING_SELFTEST is not set
887# CONFIG_FTR_FIXUP_SELFTEST is not set 909# CONFIG_FTR_FIXUP_SELFTEST is not set
910# CONFIG_MSI_BITMAP_SELFTEST is not set
888# CONFIG_XMON is not set 911# CONFIG_XMON is not set
889# CONFIG_IRQSTACKS is not set 912# CONFIG_IRQSTACKS is not set
890# CONFIG_VIRQ_DEBUG is not set 913# CONFIG_VIRQ_DEBUG is not set
@@ -896,14 +919,19 @@ CONFIG_HAVE_ARCH_KGDB=y
896# 919#
897# CONFIG_KEYS is not set 920# CONFIG_KEYS is not set
898# CONFIG_SECURITY is not set 921# CONFIG_SECURITY is not set
922# CONFIG_SECURITYFS is not set
899# CONFIG_SECURITY_FILE_CAPABILITIES is not set 923# CONFIG_SECURITY_FILE_CAPABILITIES is not set
900CONFIG_CRYPTO=y 924CONFIG_CRYPTO=y
901 925
902# 926#
903# Crypto core or helper 927# Crypto core or helper
904# 928#
929# CONFIG_CRYPTO_FIPS is not set
905CONFIG_CRYPTO_ALGAPI=y 930CONFIG_CRYPTO_ALGAPI=y
931CONFIG_CRYPTO_AEAD=y
906CONFIG_CRYPTO_BLKCIPHER=y 932CONFIG_CRYPTO_BLKCIPHER=y
933CONFIG_CRYPTO_HASH=y
934CONFIG_CRYPTO_RNG=y
907CONFIG_CRYPTO_MANAGER=y 935CONFIG_CRYPTO_MANAGER=y
908# CONFIG_CRYPTO_GF128MUL is not set 936# CONFIG_CRYPTO_GF128MUL is not set
909# CONFIG_CRYPTO_NULL is not set 937# CONFIG_CRYPTO_NULL is not set
@@ -976,6 +1004,11 @@ CONFIG_CRYPTO_DES=y
976# 1004#
977# CONFIG_CRYPTO_DEFLATE is not set 1005# CONFIG_CRYPTO_DEFLATE is not set
978# CONFIG_CRYPTO_LZO is not set 1006# CONFIG_CRYPTO_LZO is not set
1007
1008#
1009# Random Number Generation
1010#
1011# CONFIG_CRYPTO_ANSI_CPRNG is not set
979# CONFIG_CRYPTO_HW is not set 1012# CONFIG_CRYPTO_HW is not set
980# CONFIG_PPC_CLOCK is not set 1013# CONFIG_PPC_CLOCK is not set
981# CONFIG_VIRTUALIZATION is not set 1014# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig
index 7bc4082a1c93..e326ee8bd195 100644
--- a/arch/powerpc/configs/44x/katmai_defconfig
+++ b/arch/powerpc/configs/44x/katmai_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:06:51 2008 4# Tue Oct 28 09:16:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y
22CONFIG_NOT_COHERENT_CACHE=y 22CONFIG_NOT_COHERENT_CACHE=y
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
@@ -87,7 +86,6 @@ CONFIG_INITRAMFS_SOURCE=""
87CONFIG_SYSCTL=y 86CONFIG_SYSCTL=y
88CONFIG_EMBEDDED=y 87CONFIG_EMBEDDED=y
89CONFIG_SYSCTL_SYSCALL=y 88CONFIG_SYSCTL_SYSCALL=y
90CONFIG_SYSCTL_SYSCALL_CHECK=y
91CONFIG_KALLSYMS=y 89CONFIG_KALLSYMS=y
92# CONFIG_KALLSYMS_ALL is not set 90# CONFIG_KALLSYMS_ALL is not set
93# CONFIG_KALLSYMS_EXTRA_PASS is not set 91# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -104,7 +102,9 @@ CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 102CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 104CONFIG_SHMEM=y
105CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
107CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 108CONFIG_SLUB_DEBUG=y
109# CONFIG_SLAB is not set 109# CONFIG_SLAB is not set
110CONFIG_SLUB=y 110CONFIG_SLUB=y
@@ -118,10 +118,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 120CONFIG_HAVE_ARCH_TRACEHOOK=y
121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 122CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 123CONFIG_RT_MUTEXES=y
@@ -154,6 +150,7 @@ CONFIG_DEFAULT_AS=y
154# CONFIG_DEFAULT_NOOP is not set 150# CONFIG_DEFAULT_NOOP is not set
155CONFIG_DEFAULT_IOSCHED="anticipatory" 151CONFIG_DEFAULT_IOSCHED="anticipatory"
156CONFIG_CLASSIC_RCU=y 152CONFIG_CLASSIC_RCU=y
153# CONFIG_FREEZER is not set
157CONFIG_PPC4xx_PCI_EXPRESS=y 154CONFIG_PPC4xx_PCI_EXPRESS=y
158 155
159# 156#
@@ -170,9 +167,13 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
170CONFIG_KATMAI=y 167CONFIG_KATMAI=y
171# CONFIG_RAINIER is not set 168# CONFIG_RAINIER is not set
172# CONFIG_WARP is not set 169# CONFIG_WARP is not set
170# CONFIG_ARCHES is not set
173# CONFIG_CANYONLANDS is not set 171# CONFIG_CANYONLANDS is not set
172# CONFIG_GLACIER is not set
174# CONFIG_YOSEMITE is not set 173# CONFIG_YOSEMITE is not set
175# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 174# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
175CONFIG_PPC44x_SIMPLE=y
176# CONFIG_PPC4xx_GPIO is not set
176CONFIG_440SPe=y 177CONFIG_440SPe=y
177# CONFIG_IPIC is not set 178# CONFIG_IPIC is not set
178# CONFIG_MPIC is not set 179# CONFIG_MPIC is not set
@@ -191,7 +192,6 @@ CONFIG_440SPe=y
191# Kernel options 192# Kernel options
192# 193#
193# CONFIG_HIGHMEM is not set 194# CONFIG_HIGHMEM is not set
194# CONFIG_TICK_ONESHOT is not set
195# CONFIG_NO_HZ is not set 195# CONFIG_NO_HZ is not set
196# CONFIG_HIGH_RES_TIMERS is not set 196# CONFIG_HIGH_RES_TIMERS is not set
197CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 197CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -205,6 +205,8 @@ CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
207CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
208# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
209# CONFIG_HAVE_AOUT is not set
208# CONFIG_BINFMT_MISC is not set 210# CONFIG_BINFMT_MISC is not set
209# CONFIG_MATH_EMULATION is not set 211# CONFIG_MATH_EMULATION is not set
210# CONFIG_IOMMU_HELPER is not set 212# CONFIG_IOMMU_HELPER is not set
@@ -219,15 +221,15 @@ CONFIG_FLATMEM_MANUAL=y
219# CONFIG_SPARSEMEM_MANUAL is not set 221# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y 222CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y 223CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 224CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 225CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y 226CONFIG_MIGRATION=y
227CONFIG_RESOURCES_64BIT=y 227CONFIG_RESOURCES_64BIT=y
228CONFIG_PHYS_ADDR_T_64BIT=y
228CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
229CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
230CONFIG_VIRT_TO_BUS=y 231CONFIG_VIRT_TO_BUS=y
232CONFIG_UNEVICTABLE_LRU=y
231CONFIG_FORCE_MAX_ZONEORDER=11 233CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 234CONFIG_PROC_DEVICETREE=y
233CONFIG_CMDLINE_BOOL=y 235CONFIG_CMDLINE_BOOL=y
@@ -314,6 +316,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
314# CONFIG_TIPC is not set 316# CONFIG_TIPC is not set
315# CONFIG_ATM is not set 317# CONFIG_ATM is not set
316# CONFIG_BRIDGE is not set 318# CONFIG_BRIDGE is not set
319# CONFIG_NET_DSA is not set
317# CONFIG_VLAN_8021Q is not set 320# CONFIG_VLAN_8021Q is not set
318# CONFIG_DECNET is not set 321# CONFIG_DECNET is not set
319# CONFIG_LLC2 is not set 322# CONFIG_LLC2 is not set
@@ -334,14 +337,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
334# CONFIG_IRDA is not set 337# CONFIG_IRDA is not set
335# CONFIG_BT is not set 338# CONFIG_BT is not set
336# CONFIG_AF_RXRPC is not set 339# CONFIG_AF_RXRPC is not set
337 340# CONFIG_PHONET is not set
338# 341# CONFIG_WIRELESS is not set
339# Wireless
340#
341# CONFIG_CFG80211 is not set
342# CONFIG_WIRELESS_EXT is not set
343# CONFIG_MAC80211 is not set
344# CONFIG_IEEE80211 is not set
345# CONFIG_RFKILL is not set 342# CONFIG_RFKILL is not set
346# CONFIG_NET_9P is not set 343# CONFIG_NET_9P is not set
347 344
@@ -446,8 +443,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
446# CONFIG_IBM_NEW_EMAC_RGMII is not set 443# CONFIG_IBM_NEW_EMAC_RGMII is not set
447# CONFIG_IBM_NEW_EMAC_TAH is not set 444# CONFIG_IBM_NEW_EMAC_TAH is not set
448CONFIG_IBM_NEW_EMAC_EMAC4=y 445CONFIG_IBM_NEW_EMAC_EMAC4=y
446# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
447# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
448# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
449# CONFIG_NET_PCI is not set 449# CONFIG_NET_PCI is not set
450# CONFIG_B44 is not set 450# CONFIG_B44 is not set
451# CONFIG_ATL2 is not set
451CONFIG_NETDEV_1000=y 452CONFIG_NETDEV_1000=y
452# CONFIG_ACENIC is not set 453# CONFIG_ACENIC is not set
453# CONFIG_DL2K is not set 454# CONFIG_DL2K is not set
@@ -468,18 +469,22 @@ CONFIG_NETDEV_1000=y
468# CONFIG_QLA3XXX is not set 469# CONFIG_QLA3XXX is not set
469# CONFIG_ATL1 is not set 470# CONFIG_ATL1 is not set
470# CONFIG_ATL1E is not set 471# CONFIG_ATL1E is not set
472# CONFIG_JME is not set
471CONFIG_NETDEV_10000=y 473CONFIG_NETDEV_10000=y
472# CONFIG_CHELSIO_T1 is not set 474# CONFIG_CHELSIO_T1 is not set
473# CONFIG_CHELSIO_T3 is not set 475# CONFIG_CHELSIO_T3 is not set
476# CONFIG_ENIC is not set
474# CONFIG_IXGBE is not set 477# CONFIG_IXGBE is not set
475# CONFIG_IXGB is not set 478# CONFIG_IXGB is not set
476# CONFIG_S2IO is not set 479# CONFIG_S2IO is not set
477# CONFIG_MYRI10GE is not set 480# CONFIG_MYRI10GE is not set
478# CONFIG_NETXEN_NIC is not set 481# CONFIG_NETXEN_NIC is not set
479# CONFIG_NIU is not set 482# CONFIG_NIU is not set
483# CONFIG_MLX4_EN is not set
480# CONFIG_MLX4_CORE is not set 484# CONFIG_MLX4_CORE is not set
481# CONFIG_TEHUTI is not set 485# CONFIG_TEHUTI is not set
482# CONFIG_BNX2X is not set 486# CONFIG_BNX2X is not set
487# CONFIG_QLGE is not set
483# CONFIG_SFC is not set 488# CONFIG_SFC is not set
484# CONFIG_TR is not set 489# CONFIG_TR is not set
485 490
@@ -576,6 +581,8 @@ CONFIG_SSB_POSSIBLE=y
576# CONFIG_MFD_CORE is not set 581# CONFIG_MFD_CORE is not set
577# CONFIG_MFD_SM501 is not set 582# CONFIG_MFD_SM501 is not set
578# CONFIG_HTC_PASIC3 is not set 583# CONFIG_HTC_PASIC3 is not set
584# CONFIG_MFD_TMIO is not set
585# CONFIG_MFD_WM8400 is not set
579 586
580# 587#
581# Multimedia devices 588# Multimedia devices
@@ -617,9 +624,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
617# CONFIG_USB_OTG_BLACKLIST_HUB is not set 624# CONFIG_USB_OTG_BLACKLIST_HUB is not set
618 625
619# 626#
627# Enable Host or Gadget support to see Inventra options
628#
629
630#
620# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 631# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
621# 632#
622# CONFIG_USB_GADGET is not set 633# CONFIG_USB_GADGET is not set
634# CONFIG_UWB is not set
623# CONFIG_MMC is not set 635# CONFIG_MMC is not set
624# CONFIG_MEMSTICK is not set 636# CONFIG_MEMSTICK is not set
625# CONFIG_NEW_LEDS is not set 637# CONFIG_NEW_LEDS is not set
@@ -629,6 +641,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
629# CONFIG_RTC_CLASS is not set 641# CONFIG_RTC_CLASS is not set
630# CONFIG_DMADEVICES is not set 642# CONFIG_DMADEVICES is not set
631# CONFIG_UIO is not set 643# CONFIG_UIO is not set
644# CONFIG_STAGING is not set
632 645
633# 646#
634# File systems 647# File systems
@@ -637,10 +650,11 @@ CONFIG_EXT2_FS=y
637# CONFIG_EXT2_FS_XATTR is not set 650# CONFIG_EXT2_FS_XATTR is not set
638# CONFIG_EXT2_FS_XIP is not set 651# CONFIG_EXT2_FS_XIP is not set
639# CONFIG_EXT3_FS is not set 652# CONFIG_EXT3_FS is not set
640# CONFIG_EXT4DEV_FS is not set 653# CONFIG_EXT4_FS is not set
641# CONFIG_REISERFS_FS is not set 654# CONFIG_REISERFS_FS is not set
642# CONFIG_JFS_FS is not set 655# CONFIG_JFS_FS is not set
643# CONFIG_FS_POSIX_ACL is not set 656# CONFIG_FS_POSIX_ACL is not set
657CONFIG_FILE_LOCKING=y
644# CONFIG_XFS_FS is not set 658# CONFIG_XFS_FS is not set
645# CONFIG_OCFS2_FS is not set 659# CONFIG_OCFS2_FS is not set
646CONFIG_DNOTIFY=y 660CONFIG_DNOTIFY=y
@@ -670,6 +684,7 @@ CONFIG_INOTIFY_USER=y
670CONFIG_PROC_FS=y 684CONFIG_PROC_FS=y
671CONFIG_PROC_KCORE=y 685CONFIG_PROC_KCORE=y
672CONFIG_PROC_SYSCTL=y 686CONFIG_PROC_SYSCTL=y
687CONFIG_PROC_PAGE_MONITOR=y
673CONFIG_SYSFS=y 688CONFIG_SYSFS=y
674CONFIG_TMPFS=y 689CONFIG_TMPFS=y
675# CONFIG_TMPFS_POSIX_ACL is not set 690# CONFIG_TMPFS_POSIX_ACL is not set
@@ -706,6 +721,7 @@ CONFIG_LOCKD=y
706CONFIG_LOCKD_V4=y 721CONFIG_LOCKD_V4=y
707CONFIG_NFS_COMMON=y 722CONFIG_NFS_COMMON=y
708CONFIG_SUNRPC=y 723CONFIG_SUNRPC=y
724# CONFIG_SUNRPC_REGISTER_V4 is not set
709# CONFIG_RPCSEC_GSS_KRB5 is not set 725# CONFIG_RPCSEC_GSS_KRB5 is not set
710# CONFIG_RPCSEC_GSS_SPKM3 is not set 726# CONFIG_RPCSEC_GSS_SPKM3 is not set
711# CONFIG_SMB_FS is not set 727# CONFIG_SMB_FS is not set
@@ -726,7 +742,6 @@ CONFIG_MSDOS_PARTITION=y
726# Library routines 742# Library routines
727# 743#
728CONFIG_BITREVERSE=y 744CONFIG_BITREVERSE=y
729# CONFIG_GENERIC_FIND_FIRST_BIT is not set
730# CONFIG_CRC_CCITT is not set 745# CONFIG_CRC_CCITT is not set
731# CONFIG_CRC16 is not set 746# CONFIG_CRC16 is not set
732# CONFIG_CRC_T10DIF is not set 747# CONFIG_CRC_T10DIF is not set
@@ -779,14 +794,21 @@ CONFIG_SCHED_DEBUG=y
779# CONFIG_DEBUG_SG is not set 794# CONFIG_DEBUG_SG is not set
780# CONFIG_BOOT_PRINTK_DELAY is not set 795# CONFIG_BOOT_PRINTK_DELAY is not set
781# CONFIG_RCU_TORTURE_TEST is not set 796# CONFIG_RCU_TORTURE_TEST is not set
797# CONFIG_RCU_CPU_STALL_DETECTOR is not set
782# CONFIG_BACKTRACE_SELF_TEST is not set 798# CONFIG_BACKTRACE_SELF_TEST is not set
799# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
783# CONFIG_FAULT_INJECTION is not set 800# CONFIG_FAULT_INJECTION is not set
784# CONFIG_LATENCYTOP is not set 801# CONFIG_LATENCYTOP is not set
802CONFIG_SYSCTL_SYSCALL_CHECK=y
803CONFIG_NOP_TRACER=y
785CONFIG_HAVE_FTRACE=y 804CONFIG_HAVE_FTRACE=y
786CONFIG_HAVE_DYNAMIC_FTRACE=y 805CONFIG_HAVE_DYNAMIC_FTRACE=y
787# CONFIG_FTRACE is not set 806# CONFIG_FTRACE is not set
788# CONFIG_SCHED_TRACER is not set 807# CONFIG_SCHED_TRACER is not set
789# CONFIG_CONTEXT_SWITCH_TRACER is not set 808# CONFIG_CONTEXT_SWITCH_TRACER is not set
809# CONFIG_BOOT_TRACER is not set
810# CONFIG_STACK_TRACER is not set
811# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
790# CONFIG_SAMPLES is not set 812# CONFIG_SAMPLES is not set
791CONFIG_HAVE_ARCH_KGDB=y 813CONFIG_HAVE_ARCH_KGDB=y
792# CONFIG_KGDB is not set 814# CONFIG_KGDB is not set
@@ -795,6 +817,7 @@ CONFIG_HAVE_ARCH_KGDB=y
795# CONFIG_DEBUG_PAGEALLOC is not set 817# CONFIG_DEBUG_PAGEALLOC is not set
796# CONFIG_CODE_PATCHING_SELFTEST is not set 818# CONFIG_CODE_PATCHING_SELFTEST is not set
797# CONFIG_FTR_FIXUP_SELFTEST is not set 819# CONFIG_FTR_FIXUP_SELFTEST is not set
820# CONFIG_MSI_BITMAP_SELFTEST is not set
798# CONFIG_XMON is not set 821# CONFIG_XMON is not set
799# CONFIG_IRQSTACKS is not set 822# CONFIG_IRQSTACKS is not set
800# CONFIG_BDI_SWITCH is not set 823# CONFIG_BDI_SWITCH is not set
@@ -805,14 +828,19 @@ CONFIG_HAVE_ARCH_KGDB=y
805# 828#
806# CONFIG_KEYS is not set 829# CONFIG_KEYS is not set
807# CONFIG_SECURITY is not set 830# CONFIG_SECURITY is not set
831# CONFIG_SECURITYFS is not set
808# CONFIG_SECURITY_FILE_CAPABILITIES is not set 832# CONFIG_SECURITY_FILE_CAPABILITIES is not set
809CONFIG_CRYPTO=y 833CONFIG_CRYPTO=y
810 834
811# 835#
812# Crypto core or helper 836# Crypto core or helper
813# 837#
838# CONFIG_CRYPTO_FIPS is not set
814CONFIG_CRYPTO_ALGAPI=y 839CONFIG_CRYPTO_ALGAPI=y
840CONFIG_CRYPTO_AEAD=y
815CONFIG_CRYPTO_BLKCIPHER=y 841CONFIG_CRYPTO_BLKCIPHER=y
842CONFIG_CRYPTO_HASH=y
843CONFIG_CRYPTO_RNG=y
816CONFIG_CRYPTO_MANAGER=y 844CONFIG_CRYPTO_MANAGER=y
817# CONFIG_CRYPTO_GF128MUL is not set 845# CONFIG_CRYPTO_GF128MUL is not set
818# CONFIG_CRYPTO_NULL is not set 846# CONFIG_CRYPTO_NULL is not set
@@ -885,6 +913,11 @@ CONFIG_CRYPTO_DES=y
885# 913#
886# CONFIG_CRYPTO_DEFLATE is not set 914# CONFIG_CRYPTO_DEFLATE is not set
887# CONFIG_CRYPTO_LZO is not set 915# CONFIG_CRYPTO_LZO is not set
916
917#
918# Random Number Generation
919#
920# CONFIG_CRYPTO_ANSI_CPRNG is not set
888CONFIG_CRYPTO_HW=y 921CONFIG_CRYPTO_HW=y
889# CONFIG_CRYPTO_DEV_HIFN_795X is not set 922# CONFIG_CRYPTO_DEV_HIFN_795X is not set
890# CONFIG_PPC_CLOCK is not set 923# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig
index 0479648a9141..927f829e2087 100644
--- a/arch/powerpc/configs/44x/rainier_defconfig
+++ b/arch/powerpc/configs/44x/rainier_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:09:35 2008 4# Tue Oct 28 09:16:13 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y
22CONFIG_NOT_COHERENT_CACHE=y 22CONFIG_NOT_COHERENT_CACHE=y
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE=""
91CONFIG_SYSCTL=y 90CONFIG_SYSCTL=y
92CONFIG_EMBEDDED=y 91CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 92CONFIG_SYSCTL_SYSCALL=y
94CONFIG_SYSCTL_SYSCALL_CHECK=y
95CONFIG_KALLSYMS=y 93CONFIG_KALLSYMS=y
96# CONFIG_KALLSYMS_ALL is not set 94# CONFIG_KALLSYMS_ALL is not set
97# CONFIG_KALLSYMS_EXTRA_PASS is not set 95# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
114CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 154# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 155CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 156CONFIG_CLASSIC_RCU=y
157# CONFIG_FREEZER is not set
161# CONFIG_PPC4xx_PCI_EXPRESS is not set 158# CONFIG_PPC4xx_PCI_EXPRESS is not set
162 159
163# 160#
@@ -174,9 +171,13 @@ CONFIG_CLASSIC_RCU=y
174# CONFIG_KATMAI is not set 171# CONFIG_KATMAI is not set
175CONFIG_RAINIER=y 172CONFIG_RAINIER=y
176# CONFIG_WARP is not set 173# CONFIG_WARP is not set
174# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 175# CONFIG_CANYONLANDS is not set
176# CONFIG_GLACIER is not set
178# CONFIG_YOSEMITE is not set 177# CONFIG_YOSEMITE is not set
179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 178# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
179CONFIG_PPC44x_SIMPLE=y
180# CONFIG_PPC4xx_GPIO is not set
180CONFIG_440GRX=y 181CONFIG_440GRX=y
181# CONFIG_IPIC is not set 182# CONFIG_IPIC is not set
182# CONFIG_MPIC is not set 183# CONFIG_MPIC is not set
@@ -195,7 +196,6 @@ CONFIG_440GRX=y
195# Kernel options 196# Kernel options
196# 197#
197# CONFIG_HIGHMEM is not set 198# CONFIG_HIGHMEM is not set
198# CONFIG_TICK_ONESHOT is not set
199# CONFIG_NO_HZ is not set 199# CONFIG_NO_HZ is not set
200# CONFIG_HIGH_RES_TIMERS is not set 200# CONFIG_HIGH_RES_TIMERS is not set
201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -209,6 +209,8 @@ CONFIG_PREEMPT_NONE=y
209# CONFIG_PREEMPT_VOLUNTARY is not set 209# CONFIG_PREEMPT_VOLUNTARY is not set
210# CONFIG_PREEMPT is not set 210# CONFIG_PREEMPT is not set
211CONFIG_BINFMT_ELF=y 211CONFIG_BINFMT_ELF=y
212# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
213# CONFIG_HAVE_AOUT is not set
212# CONFIG_BINFMT_MISC is not set 214# CONFIG_BINFMT_MISC is not set
213CONFIG_MATH_EMULATION=y 215CONFIG_MATH_EMULATION=y
214# CONFIG_IOMMU_HELPER is not set 216# CONFIG_IOMMU_HELPER is not set
@@ -223,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y
223# CONFIG_SPARSEMEM_MANUAL is not set 225# CONFIG_SPARSEMEM_MANUAL is not set
224CONFIG_FLATMEM=y 226CONFIG_FLATMEM=y
225CONFIG_FLAT_NODE_MEM_MAP=y 227CONFIG_FLAT_NODE_MEM_MAP=y
226# CONFIG_SPARSEMEM_STATIC is not set
227# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
228CONFIG_PAGEFLAGS_EXTENDED=y 228CONFIG_PAGEFLAGS_EXTENDED=y
229CONFIG_SPLIT_PTLOCK_CPUS=4 229CONFIG_SPLIT_PTLOCK_CPUS=4
230CONFIG_MIGRATION=y 230CONFIG_MIGRATION=y
231CONFIG_RESOURCES_64BIT=y 231CONFIG_RESOURCES_64BIT=y
232CONFIG_PHYS_ADDR_T_64BIT=y
232CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 235CONFIG_VIRT_TO_BUS=y
236CONFIG_UNEVICTABLE_LRU=y
235CONFIG_FORCE_MAX_ZONEORDER=11 237CONFIG_FORCE_MAX_ZONEORDER=11
236CONFIG_PROC_DEVICETREE=y 238CONFIG_PROC_DEVICETREE=y
237CONFIG_CMDLINE_BOOL=y 239CONFIG_CMDLINE_BOOL=y
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 320# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 321# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 322# CONFIG_BRIDGE is not set
323# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 324# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 325# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 326# CONFIG_LLC2 is not set
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 341# CONFIG_IRDA is not set
339# CONFIG_BT is not set 342# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 343# CONFIG_AF_RXRPC is not set
341 344# CONFIG_PHONET is not set
342# 345# CONFIG_WIRELESS is not set
343# Wireless
344#
345# CONFIG_CFG80211 is not set
346# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set
349# CONFIG_RFKILL is not set 346# CONFIG_RFKILL is not set
350# CONFIG_NET_9P is not set 347# CONFIG_NET_9P is not set
351 348
@@ -532,18 +529,22 @@ CONFIG_NETDEV_1000=y
532# CONFIG_QLA3XXX is not set 529# CONFIG_QLA3XXX is not set
533# CONFIG_ATL1 is not set 530# CONFIG_ATL1 is not set
534# CONFIG_ATL1E is not set 531# CONFIG_ATL1E is not set
532# CONFIG_JME is not set
535CONFIG_NETDEV_10000=y 533CONFIG_NETDEV_10000=y
536# CONFIG_CHELSIO_T1 is not set 534# CONFIG_CHELSIO_T1 is not set
537# CONFIG_CHELSIO_T3 is not set 535# CONFIG_CHELSIO_T3 is not set
536# CONFIG_ENIC is not set
538# CONFIG_IXGBE is not set 537# CONFIG_IXGBE is not set
539# CONFIG_IXGB is not set 538# CONFIG_IXGB is not set
540# CONFIG_S2IO is not set 539# CONFIG_S2IO is not set
541# CONFIG_MYRI10GE is not set 540# CONFIG_MYRI10GE is not set
542# CONFIG_NETXEN_NIC is not set 541# CONFIG_NETXEN_NIC is not set
543# CONFIG_NIU is not set 542# CONFIG_NIU is not set
543# CONFIG_MLX4_EN is not set
544# CONFIG_MLX4_CORE is not set 544# CONFIG_MLX4_CORE is not set
545# CONFIG_TEHUTI is not set 545# CONFIG_TEHUTI is not set
546# CONFIG_BNX2X is not set 546# CONFIG_BNX2X is not set
547# CONFIG_QLGE is not set
547# CONFIG_SFC is not set 548# CONFIG_SFC is not set
548# CONFIG_TR is not set 549# CONFIG_TR is not set
549 550
@@ -639,6 +640,8 @@ CONFIG_SSB_POSSIBLE=y
639# CONFIG_MFD_CORE is not set 640# CONFIG_MFD_CORE is not set
640# CONFIG_MFD_SM501 is not set 641# CONFIG_MFD_SM501 is not set
641# CONFIG_HTC_PASIC3 is not set 642# CONFIG_HTC_PASIC3 is not set
643# CONFIG_MFD_TMIO is not set
644# CONFIG_MFD_WM8400 is not set
642 645
643# 646#
644# Multimedia devices 647# Multimedia devices
@@ -680,9 +683,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
680# CONFIG_USB_OTG_BLACKLIST_HUB is not set 683# CONFIG_USB_OTG_BLACKLIST_HUB is not set
681 684
682# 685#
686# Enable Host or Gadget support to see Inventra options
687#
688
689#
683# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 690# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
684# 691#
685# CONFIG_USB_GADGET is not set 692# CONFIG_USB_GADGET is not set
693# CONFIG_UWB is not set
686# CONFIG_MMC is not set 694# CONFIG_MMC is not set
687# CONFIG_MEMSTICK is not set 695# CONFIG_MEMSTICK is not set
688# CONFIG_NEW_LEDS is not set 696# CONFIG_NEW_LEDS is not set
@@ -692,6 +700,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
692# CONFIG_RTC_CLASS is not set 700# CONFIG_RTC_CLASS is not set
693# CONFIG_DMADEVICES is not set 701# CONFIG_DMADEVICES is not set
694# CONFIG_UIO is not set 702# CONFIG_UIO is not set
703# CONFIG_STAGING is not set
695 704
696# 705#
697# File systems 706# File systems
@@ -700,10 +709,11 @@ CONFIG_EXT2_FS=y
700# CONFIG_EXT2_FS_XATTR is not set 709# CONFIG_EXT2_FS_XATTR is not set
701# CONFIG_EXT2_FS_XIP is not set 710# CONFIG_EXT2_FS_XIP is not set
702# CONFIG_EXT3_FS is not set 711# CONFIG_EXT3_FS is not set
703# CONFIG_EXT4DEV_FS is not set 712# CONFIG_EXT4_FS is not set
704# CONFIG_REISERFS_FS is not set 713# CONFIG_REISERFS_FS is not set
705# CONFIG_JFS_FS is not set 714# CONFIG_JFS_FS is not set
706# CONFIG_FS_POSIX_ACL is not set 715# CONFIG_FS_POSIX_ACL is not set
716CONFIG_FILE_LOCKING=y
707# CONFIG_XFS_FS is not set 717# CONFIG_XFS_FS is not set
708# CONFIG_OCFS2_FS is not set 718# CONFIG_OCFS2_FS is not set
709CONFIG_DNOTIFY=y 719CONFIG_DNOTIFY=y
@@ -733,6 +743,7 @@ CONFIG_INOTIFY_USER=y
733CONFIG_PROC_FS=y 743CONFIG_PROC_FS=y
734CONFIG_PROC_KCORE=y 744CONFIG_PROC_KCORE=y
735CONFIG_PROC_SYSCTL=y 745CONFIG_PROC_SYSCTL=y
746CONFIG_PROC_PAGE_MONITOR=y
736CONFIG_SYSFS=y 747CONFIG_SYSFS=y
737CONFIG_TMPFS=y 748CONFIG_TMPFS=y
738# CONFIG_TMPFS_POSIX_ACL is not set 749# CONFIG_TMPFS_POSIX_ACL is not set
@@ -780,6 +791,7 @@ CONFIG_LOCKD=y
780CONFIG_LOCKD_V4=y 791CONFIG_LOCKD_V4=y
781CONFIG_NFS_COMMON=y 792CONFIG_NFS_COMMON=y
782CONFIG_SUNRPC=y 793CONFIG_SUNRPC=y
794# CONFIG_SUNRPC_REGISTER_V4 is not set
783# CONFIG_RPCSEC_GSS_KRB5 is not set 795# CONFIG_RPCSEC_GSS_KRB5 is not set
784# CONFIG_RPCSEC_GSS_SPKM3 is not set 796# CONFIG_RPCSEC_GSS_SPKM3 is not set
785# CONFIG_SMB_FS is not set 797# CONFIG_SMB_FS is not set
@@ -800,7 +812,6 @@ CONFIG_MSDOS_PARTITION=y
800# Library routines 812# Library routines
801# 813#
802CONFIG_BITREVERSE=y 814CONFIG_BITREVERSE=y
803# CONFIG_GENERIC_FIND_FIRST_BIT is not set
804# CONFIG_CRC_CCITT is not set 815# CONFIG_CRC_CCITT is not set
805# CONFIG_CRC16 is not set 816# CONFIG_CRC16 is not set
806# CONFIG_CRC_T10DIF is not set 817# CONFIG_CRC_T10DIF is not set
@@ -854,14 +865,21 @@ CONFIG_SCHED_DEBUG=y
854# CONFIG_DEBUG_SG is not set 865# CONFIG_DEBUG_SG is not set
855# CONFIG_BOOT_PRINTK_DELAY is not set 866# CONFIG_BOOT_PRINTK_DELAY is not set
856# CONFIG_RCU_TORTURE_TEST is not set 867# CONFIG_RCU_TORTURE_TEST is not set
868# CONFIG_RCU_CPU_STALL_DETECTOR is not set
857# CONFIG_BACKTRACE_SELF_TEST is not set 869# CONFIG_BACKTRACE_SELF_TEST is not set
870# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
858# CONFIG_FAULT_INJECTION is not set 871# CONFIG_FAULT_INJECTION is not set
859# CONFIG_LATENCYTOP is not set 872# CONFIG_LATENCYTOP is not set
873CONFIG_SYSCTL_SYSCALL_CHECK=y
874CONFIG_NOP_TRACER=y
860CONFIG_HAVE_FTRACE=y 875CONFIG_HAVE_FTRACE=y
861CONFIG_HAVE_DYNAMIC_FTRACE=y 876CONFIG_HAVE_DYNAMIC_FTRACE=y
862# CONFIG_FTRACE is not set 877# CONFIG_FTRACE is not set
863# CONFIG_SCHED_TRACER is not set 878# CONFIG_SCHED_TRACER is not set
864# CONFIG_CONTEXT_SWITCH_TRACER is not set 879# CONFIG_CONTEXT_SWITCH_TRACER is not set
880# CONFIG_BOOT_TRACER is not set
881# CONFIG_STACK_TRACER is not set
882# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
865# CONFIG_SAMPLES is not set 883# CONFIG_SAMPLES is not set
866CONFIG_HAVE_ARCH_KGDB=y 884CONFIG_HAVE_ARCH_KGDB=y
867# CONFIG_KGDB is not set 885# CONFIG_KGDB is not set
@@ -870,6 +888,7 @@ CONFIG_HAVE_ARCH_KGDB=y
870# CONFIG_DEBUG_PAGEALLOC is not set 888# CONFIG_DEBUG_PAGEALLOC is not set
871# CONFIG_CODE_PATCHING_SELFTEST is not set 889# CONFIG_CODE_PATCHING_SELFTEST is not set
872# CONFIG_FTR_FIXUP_SELFTEST is not set 890# CONFIG_FTR_FIXUP_SELFTEST is not set
891# CONFIG_MSI_BITMAP_SELFTEST is not set
873# CONFIG_XMON is not set 892# CONFIG_XMON is not set
874# CONFIG_IRQSTACKS is not set 893# CONFIG_IRQSTACKS is not set
875# CONFIG_VIRQ_DEBUG is not set 894# CONFIG_VIRQ_DEBUG is not set
@@ -894,14 +913,19 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
894# 913#
895# CONFIG_KEYS is not set 914# CONFIG_KEYS is not set
896# CONFIG_SECURITY is not set 915# CONFIG_SECURITY is not set
916# CONFIG_SECURITYFS is not set
897# CONFIG_SECURITY_FILE_CAPABILITIES is not set 917# CONFIG_SECURITY_FILE_CAPABILITIES is not set
898CONFIG_CRYPTO=y 918CONFIG_CRYPTO=y
899 919
900# 920#
901# Crypto core or helper 921# Crypto core or helper
902# 922#
923# CONFIG_CRYPTO_FIPS is not set
903CONFIG_CRYPTO_ALGAPI=y 924CONFIG_CRYPTO_ALGAPI=y
925CONFIG_CRYPTO_AEAD=y
904CONFIG_CRYPTO_BLKCIPHER=y 926CONFIG_CRYPTO_BLKCIPHER=y
927CONFIG_CRYPTO_HASH=y
928CONFIG_CRYPTO_RNG=y
905CONFIG_CRYPTO_MANAGER=y 929CONFIG_CRYPTO_MANAGER=y
906# CONFIG_CRYPTO_GF128MUL is not set 930# CONFIG_CRYPTO_GF128MUL is not set
907# CONFIG_CRYPTO_NULL is not set 931# CONFIG_CRYPTO_NULL is not set
@@ -974,6 +998,11 @@ CONFIG_CRYPTO_DES=y
974# 998#
975# CONFIG_CRYPTO_DEFLATE is not set 999# CONFIG_CRYPTO_DEFLATE is not set
976# CONFIG_CRYPTO_LZO is not set 1000# CONFIG_CRYPTO_LZO is not set
1001
1002#
1003# Random Number Generation
1004#
1005# CONFIG_CRYPTO_ANSI_CPRNG is not set
977CONFIG_CRYPTO_HW=y 1006CONFIG_CRYPTO_HW=y
978# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1007# CONFIG_CRYPTO_DEV_HIFN_795X is not set
979# CONFIG_PPC_CLOCK is not set 1008# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig
index 0ed2de05f4e8..15f48e03ec2e 100644
--- a/arch/powerpc/configs/44x/sam440ep_defconfig
+++ b/arch/powerpc/configs/44x/sam440ep_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:12:48 2008 4# Tue Oct 28 09:16:15 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -93,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
93CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
94CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 94CONFIG_SYSCTL_SYSCALL=y
96CONFIG_SYSCTL_SYSCALL_CHECK=y
97CONFIG_KALLSYMS=y 95CONFIG_KALLSYMS=y
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
99CONFIG_HOTPLUG=y 97CONFIG_HOTPLUG=y
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
115CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y
159# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
162# CONFIG_PPC4xx_PCI_EXPRESS is not set 159# CONFIG_PPC4xx_PCI_EXPRESS is not set
163 160
164# 161#
@@ -175,9 +172,13 @@ CONFIG_SAM440EP=y
175# CONFIG_KATMAI is not set 172# CONFIG_KATMAI is not set
176# CONFIG_RAINIER is not set 173# CONFIG_RAINIER is not set
177# CONFIG_WARP is not set 174# CONFIG_WARP is not set
175# CONFIG_ARCHES is not set
178# CONFIG_CANYONLANDS is not set 176# CONFIG_CANYONLANDS is not set
177# CONFIG_GLACIER is not set
179# CONFIG_YOSEMITE is not set 178# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
180# CONFIG_PPC44x_SIMPLE is not set
181# CONFIG_PPC4xx_GPIO is not set
181CONFIG_440EP=y 182CONFIG_440EP=y
182CONFIG_IBM440EP_ERR42=y 183CONFIG_IBM440EP_ERR42=y
183# CONFIG_IPIC is not set 184# CONFIG_IPIC is not set
@@ -197,7 +198,6 @@ CONFIG_IBM440EP_ERR42=y
197# Kernel options 198# Kernel options
198# 199#
199# CONFIG_HIGHMEM is not set 200# CONFIG_HIGHMEM is not set
200# CONFIG_TICK_ONESHOT is not set
201# CONFIG_NO_HZ is not set 201# CONFIG_NO_HZ is not set
202# CONFIG_HIGH_RES_TIMERS is not set 202# CONFIG_HIGH_RES_TIMERS is not set
203CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 203CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -211,6 +211,8 @@ CONFIG_PREEMPT_NONE=y
211# CONFIG_PREEMPT_VOLUNTARY is not set 211# CONFIG_PREEMPT_VOLUNTARY is not set
212# CONFIG_PREEMPT is not set 212# CONFIG_PREEMPT is not set
213CONFIG_BINFMT_ELF=y 213CONFIG_BINFMT_ELF=y
214# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
215# CONFIG_HAVE_AOUT is not set
214# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
215# CONFIG_MATH_EMULATION is not set 217# CONFIG_MATH_EMULATION is not set
216# CONFIG_IOMMU_HELPER is not set 218# CONFIG_IOMMU_HELPER is not set
@@ -225,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y
225# CONFIG_SPARSEMEM_MANUAL is not set 227# CONFIG_SPARSEMEM_MANUAL is not set
226CONFIG_FLATMEM=y 228CONFIG_FLATMEM=y
227CONFIG_FLAT_NODE_MEM_MAP=y 229CONFIG_FLAT_NODE_MEM_MAP=y
228# CONFIG_SPARSEMEM_STATIC is not set
229# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
230CONFIG_PAGEFLAGS_EXTENDED=y 230CONFIG_PAGEFLAGS_EXTENDED=y
231CONFIG_SPLIT_PTLOCK_CPUS=4 231CONFIG_SPLIT_PTLOCK_CPUS=4
232CONFIG_MIGRATION=y 232CONFIG_MIGRATION=y
233CONFIG_RESOURCES_64BIT=y 233CONFIG_RESOURCES_64BIT=y
234CONFIG_PHYS_ADDR_T_64BIT=y
234CONFIG_ZONE_DMA_FLAG=1 235CONFIG_ZONE_DMA_FLAG=1
235CONFIG_BOUNCE=y 236CONFIG_BOUNCE=y
236CONFIG_VIRT_TO_BUS=y 237CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y
237CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
239CONFIG_CMDLINE_BOOL=y 241CONFIG_CMDLINE_BOOL=y
@@ -319,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# CONFIG_TIPC is not set 321# CONFIG_TIPC is not set
320# CONFIG_ATM is not set 322# CONFIG_ATM is not set
321# CONFIG_BRIDGE is not set 323# CONFIG_BRIDGE is not set
324# CONFIG_NET_DSA is not set
322# CONFIG_VLAN_8021Q is not set 325# CONFIG_VLAN_8021Q is not set
323# CONFIG_DECNET is not set 326# CONFIG_DECNET is not set
324# CONFIG_LLC2 is not set 327# CONFIG_LLC2 is not set
@@ -339,14 +342,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_IRDA is not set 342# CONFIG_IRDA is not set
340# CONFIG_BT is not set 343# CONFIG_BT is not set
341# CONFIG_AF_RXRPC is not set 344# CONFIG_AF_RXRPC is not set
342 345# CONFIG_PHONET is not set
343# 346# CONFIG_WIRELESS is not set
344# Wireless
345#
346# CONFIG_CFG80211 is not set
347# CONFIG_WIRELESS_EXT is not set
348# CONFIG_MAC80211 is not set
349# CONFIG_IEEE80211 is not set
350# CONFIG_RFKILL is not set 347# CONFIG_RFKILL is not set
351# CONFIG_NET_9P is not set 348# CONFIG_NET_9P is not set
352 349
@@ -536,8 +533,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
536# CONFIG_IBM_NEW_EMAC_RGMII is not set 533# CONFIG_IBM_NEW_EMAC_RGMII is not set
537# CONFIG_IBM_NEW_EMAC_TAH is not set 534# CONFIG_IBM_NEW_EMAC_TAH is not set
538# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 535# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
536# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
537# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
538# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
539# CONFIG_NET_PCI is not set 539# CONFIG_NET_PCI is not set
540# CONFIG_B44 is not set 540# CONFIG_B44 is not set
541# CONFIG_ATL2 is not set
541# CONFIG_NETDEV_1000 is not set 542# CONFIG_NETDEV_1000 is not set
542# CONFIG_NETDEV_10000 is not set 543# CONFIG_NETDEV_10000 is not set
543# CONFIG_TR is not set 544# CONFIG_TR is not set
@@ -573,7 +574,7 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
573# Input device support 574# Input device support
574# 575#
575CONFIG_INPUT=y 576CONFIG_INPUT=y
576# CONFIG_INPUT_FF_MEMLESS is not set 577CONFIG_INPUT_FF_MEMLESS=m
577# CONFIG_INPUT_POLLDEV is not set 578# CONFIG_INPUT_POLLDEV is not set
578 579
579# 580#
@@ -607,6 +608,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
607# CONFIG_MOUSE_PS2_TOUCHKIT is not set 608# CONFIG_MOUSE_PS2_TOUCHKIT is not set
608# CONFIG_MOUSE_SERIAL is not set 609# CONFIG_MOUSE_SERIAL is not set
609# CONFIG_MOUSE_APPLETOUCH is not set 610# CONFIG_MOUSE_APPLETOUCH is not set
611# CONFIG_MOUSE_BCM5974 is not set
610# CONFIG_MOUSE_VSXXXAA is not set 612# CONFIG_MOUSE_VSXXXAA is not set
611# CONFIG_INPUT_JOYSTICK is not set 613# CONFIG_INPUT_JOYSTICK is not set
612# CONFIG_INPUT_TABLET is not set 614# CONFIG_INPUT_TABLET is not set
@@ -673,6 +675,7 @@ CONFIG_DEVPORT=y
673CONFIG_I2C=y 675CONFIG_I2C=y
674CONFIG_I2C_BOARDINFO=y 676CONFIG_I2C_BOARDINFO=y
675# CONFIG_I2C_CHARDEV is not set 677# CONFIG_I2C_CHARDEV is not set
678CONFIG_I2C_HELPER_AUTO=y
676CONFIG_I2C_ALGOBIT=y 679CONFIG_I2C_ALGOBIT=y
677 680
678# 681#
@@ -761,6 +764,9 @@ CONFIG_SSB_POSSIBLE=y
761# CONFIG_MFD_CORE is not set 764# CONFIG_MFD_CORE is not set
762# CONFIG_MFD_SM501 is not set 765# CONFIG_MFD_SM501 is not set
763# CONFIG_HTC_PASIC3 is not set 766# CONFIG_HTC_PASIC3 is not set
767# CONFIG_MFD_TMIO is not set
768# CONFIG_MFD_WM8400 is not set
769# CONFIG_MFD_WM8350_I2C is not set
764 770
765# 771#
766# Multimedia devices 772# Multimedia devices
@@ -788,6 +794,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
788CONFIG_FB=y 794CONFIG_FB=y
789# CONFIG_FIRMWARE_EDID is not set 795# CONFIG_FIRMWARE_EDID is not set
790CONFIG_FB_DDC=y 796CONFIG_FB_DDC=y
797# CONFIG_FB_BOOT_VESA_SUPPORT is not set
791CONFIG_FB_CFB_FILLRECT=y 798CONFIG_FB_CFB_FILLRECT=y
792CONFIG_FB_CFB_COPYAREA=y 799CONFIG_FB_CFB_COPYAREA=y
793CONFIG_FB_CFB_IMAGEBLIT=y 800CONFIG_FB_CFB_IMAGEBLIT=y
@@ -828,6 +835,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
828# CONFIG_FB_S3 is not set 835# CONFIG_FB_S3 is not set
829# CONFIG_FB_SAVAGE is not set 836# CONFIG_FB_SAVAGE is not set
830# CONFIG_FB_SIS is not set 837# CONFIG_FB_SIS is not set
838# CONFIG_FB_VIA is not set
831# CONFIG_FB_NEOMAGIC is not set 839# CONFIG_FB_NEOMAGIC is not set
832# CONFIG_FB_KYRO is not set 840# CONFIG_FB_KYRO is not set
833# CONFIG_FB_3DFX is not set 841# CONFIG_FB_3DFX is not set
@@ -839,6 +847,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
839# CONFIG_FB_CARMINE is not set 847# CONFIG_FB_CARMINE is not set
840# CONFIG_FB_IBM_GXT4500 is not set 848# CONFIG_FB_IBM_GXT4500 is not set
841# CONFIG_FB_VIRTUAL is not set 849# CONFIG_FB_VIRTUAL is not set
850# CONFIG_FB_METRONOME is not set
842CONFIG_BACKLIGHT_LCD_SUPPORT=y 851CONFIG_BACKLIGHT_LCD_SUPPORT=y
843CONFIG_LCD_CLASS_DEVICE=y 852CONFIG_LCD_CLASS_DEVICE=y
844# CONFIG_LCD_ILI9320 is not set 853# CONFIG_LCD_ILI9320 is not set
@@ -875,9 +884,36 @@ CONFIG_HID=y
875# USB Input Devices 884# USB Input Devices
876# 885#
877CONFIG_USB_HID=y 886CONFIG_USB_HID=y
878# CONFIG_USB_HIDINPUT_POWERBOOK is not set 887# CONFIG_HID_PID is not set
879# CONFIG_HID_FF is not set
880# CONFIG_USB_HIDDEV is not set 888# CONFIG_USB_HIDDEV is not set
889
890#
891# Special HID drivers
892#
893CONFIG_HID_COMPAT=y
894CONFIG_HID_A4TECH=y
895CONFIG_HID_APPLE=y
896CONFIG_HID_BELKIN=y
897CONFIG_HID_BRIGHT=y
898CONFIG_HID_CHERRY=y
899CONFIG_HID_CHICONY=y
900CONFIG_HID_CYPRESS=y
901CONFIG_HID_DELL=y
902CONFIG_HID_EZKEY=y
903CONFIG_HID_GYRATION=y
904CONFIG_HID_LOGITECH=y
905# CONFIG_LOGITECH_FF is not set
906# CONFIG_LOGIRUMBLEPAD2_FF is not set
907CONFIG_HID_MICROSOFT=y
908CONFIG_HID_MONTEREY=y
909CONFIG_HID_PANTHERLORD=y
910# CONFIG_PANTHERLORD_FF is not set
911CONFIG_HID_PETALYNX=y
912CONFIG_HID_SAMSUNG=y
913CONFIG_HID_SONY=y
914CONFIG_HID_SUNPLUS=y
915CONFIG_THRUSTMASTER_FF=m
916CONFIG_ZEROPLUS_FF=m
881CONFIG_USB_SUPPORT=y 917CONFIG_USB_SUPPORT=y
882CONFIG_USB_ARCH_HAS_HCD=y 918CONFIG_USB_ARCH_HAS_HCD=y
883CONFIG_USB_ARCH_HAS_OHCI=y 919CONFIG_USB_ARCH_HAS_OHCI=y
@@ -895,6 +931,9 @@ CONFIG_USB_DEVICEFS=y
895# CONFIG_USB_OTG is not set 931# CONFIG_USB_OTG is not set
896# CONFIG_USB_OTG_WHITELIST is not set 932# CONFIG_USB_OTG_WHITELIST is not set
897# CONFIG_USB_OTG_BLACKLIST_HUB is not set 933# CONFIG_USB_OTG_BLACKLIST_HUB is not set
934# CONFIG_USB_MON is not set
935# CONFIG_USB_WUSB is not set
936# CONFIG_USB_WUSB_CBAF is not set
898 937
899# 938#
900# USB Host Controller Drivers 939# USB Host Controller Drivers
@@ -917,6 +956,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
917# CONFIG_USB_UHCI_HCD is not set 956# CONFIG_USB_UHCI_HCD is not set
918# CONFIG_USB_SL811_HCD is not set 957# CONFIG_USB_SL811_HCD is not set
919# CONFIG_USB_R8A66597_HCD is not set 958# CONFIG_USB_R8A66597_HCD is not set
959# CONFIG_USB_WHCI_HCD is not set
960# CONFIG_USB_HWA_HCD is not set
920 961
921# 962#
922# USB Device Class drivers 963# USB Device Class drivers
@@ -924,6 +965,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
924# CONFIG_USB_ACM is not set 965# CONFIG_USB_ACM is not set
925# CONFIG_USB_PRINTER is not set 966# CONFIG_USB_PRINTER is not set
926# CONFIG_USB_WDM is not set 967# CONFIG_USB_WDM is not set
968# CONFIG_USB_TMC is not set
927 969
928# 970#
929# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 971# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -953,7 +995,6 @@ CONFIG_USB_STORAGE=m
953# 995#
954# CONFIG_USB_MDC800 is not set 996# CONFIG_USB_MDC800 is not set
955# CONFIG_USB_MICROTEK is not set 997# CONFIG_USB_MICROTEK is not set
956# CONFIG_USB_MON is not set
957 998
958# 999#
959# USB port drivers 1000# USB port drivers
@@ -966,7 +1007,7 @@ CONFIG_USB_STORAGE=m
966# CONFIG_USB_EMI62 is not set 1007# CONFIG_USB_EMI62 is not set
967# CONFIG_USB_EMI26 is not set 1008# CONFIG_USB_EMI26 is not set
968# CONFIG_USB_ADUTUX is not set 1009# CONFIG_USB_ADUTUX is not set
969# CONFIG_USB_AUERSWALD is not set 1010# CONFIG_USB_SEVSEG is not set
970# CONFIG_USB_RIO500 is not set 1011# CONFIG_USB_RIO500 is not set
971# CONFIG_USB_LEGOTOWER is not set 1012# CONFIG_USB_LEGOTOWER is not set
972# CONFIG_USB_LCD is not set 1013# CONFIG_USB_LCD is not set
@@ -984,7 +1025,9 @@ CONFIG_USB_STORAGE=m
984# CONFIG_USB_IOWARRIOR is not set 1025# CONFIG_USB_IOWARRIOR is not set
985# CONFIG_USB_TEST is not set 1026# CONFIG_USB_TEST is not set
986# CONFIG_USB_ISIGHTFW is not set 1027# CONFIG_USB_ISIGHTFW is not set
1028# CONFIG_USB_VST is not set
987# CONFIG_USB_GADGET is not set 1029# CONFIG_USB_GADGET is not set
1030# CONFIG_UWB is not set
988# CONFIG_MMC is not set 1031# CONFIG_MMC is not set
989# CONFIG_MEMSTICK is not set 1032# CONFIG_MEMSTICK is not set
990# CONFIG_NEW_LEDS is not set 1033# CONFIG_NEW_LEDS is not set
@@ -1031,12 +1074,15 @@ CONFIG_RTC_DRV_M41T80_WDT=y
1031# Platform RTC drivers 1074# Platform RTC drivers
1032# 1075#
1033# CONFIG_RTC_DRV_CMOS is not set 1076# CONFIG_RTC_DRV_CMOS is not set
1077# CONFIG_RTC_DRV_DS1286 is not set
1034# CONFIG_RTC_DRV_DS1511 is not set 1078# CONFIG_RTC_DRV_DS1511 is not set
1035# CONFIG_RTC_DRV_DS1553 is not set 1079# CONFIG_RTC_DRV_DS1553 is not set
1036# CONFIG_RTC_DRV_DS1742 is not set 1080# CONFIG_RTC_DRV_DS1742 is not set
1037# CONFIG_RTC_DRV_STK17TA8 is not set 1081# CONFIG_RTC_DRV_STK17TA8 is not set
1038# CONFIG_RTC_DRV_M48T86 is not set 1082# CONFIG_RTC_DRV_M48T86 is not set
1083# CONFIG_RTC_DRV_M48T35 is not set
1039# CONFIG_RTC_DRV_M48T59 is not set 1084# CONFIG_RTC_DRV_M48T59 is not set
1085# CONFIG_RTC_DRV_BQ4802 is not set
1040# CONFIG_RTC_DRV_V3020 is not set 1086# CONFIG_RTC_DRV_V3020 is not set
1041 1087
1042# 1088#
@@ -1045,6 +1091,7 @@ CONFIG_RTC_DRV_M41T80_WDT=y
1045# CONFIG_RTC_DRV_PPC is not set 1091# CONFIG_RTC_DRV_PPC is not set
1046# CONFIG_DMADEVICES is not set 1092# CONFIG_DMADEVICES is not set
1047# CONFIG_UIO is not set 1093# CONFIG_UIO is not set
1094# CONFIG_STAGING is not set
1048 1095
1049# 1096#
1050# File systems 1097# File systems
@@ -1058,7 +1105,7 @@ CONFIG_EXT3_FS=y
1058CONFIG_EXT3_FS_XATTR=y 1105CONFIG_EXT3_FS_XATTR=y
1059CONFIG_EXT3_FS_POSIX_ACL=y 1106CONFIG_EXT3_FS_POSIX_ACL=y
1060# CONFIG_EXT3_FS_SECURITY is not set 1107# CONFIG_EXT3_FS_SECURITY is not set
1061# CONFIG_EXT4DEV_FS is not set 1108# CONFIG_EXT4_FS is not set
1062CONFIG_JBD=y 1109CONFIG_JBD=y
1063CONFIG_FS_MBCACHE=y 1110CONFIG_FS_MBCACHE=y
1064CONFIG_REISERFS_FS=y 1111CONFIG_REISERFS_FS=y
@@ -1067,6 +1114,7 @@ CONFIG_REISERFS_FS=y
1067# CONFIG_REISERFS_FS_XATTR is not set 1114# CONFIG_REISERFS_FS_XATTR is not set
1068# CONFIG_JFS_FS is not set 1115# CONFIG_JFS_FS is not set
1069CONFIG_FS_POSIX_ACL=y 1116CONFIG_FS_POSIX_ACL=y
1117CONFIG_FILE_LOCKING=y
1070# CONFIG_XFS_FS is not set 1118# CONFIG_XFS_FS is not set
1071# CONFIG_OCFS2_FS is not set 1119# CONFIG_OCFS2_FS is not set
1072CONFIG_DNOTIFY=y 1120CONFIG_DNOTIFY=y
@@ -1102,6 +1150,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1102CONFIG_PROC_FS=y 1150CONFIG_PROC_FS=y
1103CONFIG_PROC_KCORE=y 1151CONFIG_PROC_KCORE=y
1104CONFIG_PROC_SYSCTL=y 1152CONFIG_PROC_SYSCTL=y
1153CONFIG_PROC_PAGE_MONITOR=y
1105CONFIG_SYSFS=y 1154CONFIG_SYSFS=y
1106CONFIG_TMPFS=y 1155CONFIG_TMPFS=y
1107# CONFIG_TMPFS_POSIX_ACL is not set 1156# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1196,7 +1245,6 @@ CONFIG_NLS_ISO8859_1=y
1196# Library routines 1245# Library routines
1197# 1246#
1198CONFIG_BITREVERSE=y 1247CONFIG_BITREVERSE=y
1199# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1200# CONFIG_CRC_CCITT is not set 1248# CONFIG_CRC_CCITT is not set
1201# CONFIG_CRC16 is not set 1249# CONFIG_CRC16 is not set
1202CONFIG_CRC_T10DIF=y 1250CONFIG_CRC_T10DIF=y
@@ -1227,12 +1275,13 @@ CONFIG_MAGIC_SYSRQ=y
1227# CONFIG_SLUB_STATS is not set 1275# CONFIG_SLUB_STATS is not set
1228# CONFIG_DEBUG_BUGVERBOSE is not set 1276# CONFIG_DEBUG_BUGVERBOSE is not set
1229# CONFIG_DEBUG_MEMORY_INIT is not set 1277# CONFIG_DEBUG_MEMORY_INIT is not set
1278# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1230# CONFIG_LATENCYTOP is not set 1279# CONFIG_LATENCYTOP is not set
1280CONFIG_SYSCTL_SYSCALL_CHECK=y
1281CONFIG_NOP_TRACER=y
1231CONFIG_HAVE_FTRACE=y 1282CONFIG_HAVE_FTRACE=y
1232CONFIG_HAVE_DYNAMIC_FTRACE=y 1283CONFIG_HAVE_DYNAMIC_FTRACE=y
1233# CONFIG_FTRACE is not set 1284# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1234# CONFIG_SCHED_TRACER is not set
1235# CONFIG_CONTEXT_SWITCH_TRACER is not set
1236# CONFIG_SAMPLES is not set 1285# CONFIG_SAMPLES is not set
1237CONFIG_HAVE_ARCH_KGDB=y 1286CONFIG_HAVE_ARCH_KGDB=y
1238# CONFIG_IRQSTACKS is not set 1287# CONFIG_IRQSTACKS is not set
@@ -1243,6 +1292,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1243# 1292#
1244# CONFIG_KEYS is not set 1293# CONFIG_KEYS is not set
1245# CONFIG_SECURITY is not set 1294# CONFIG_SECURITY is not set
1295# CONFIG_SECURITYFS is not set
1246# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1296# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1247# CONFIG_CRYPTO is not set 1297# CONFIG_CRYPTO is not set
1248# CONFIG_PPC_CLOCK is not set 1298# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig
index e40b1023265c..562beeaab53d 100644
--- a/arch/powerpc/configs/44x/sequoia_defconfig
+++ b/arch/powerpc/configs/44x/sequoia_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:15:13 2008 4# Tue Oct 28 09:16:16 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
115CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y
159# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
162# CONFIG_PPC4xx_PCI_EXPRESS is not set 159# CONFIG_PPC4xx_PCI_EXPRESS is not set
163 160
164# 161#
@@ -175,9 +172,13 @@ CONFIG_SEQUOIA=y
175# CONFIG_KATMAI is not set 172# CONFIG_KATMAI is not set
176# CONFIG_RAINIER is not set 173# CONFIG_RAINIER is not set
177# CONFIG_WARP is not set 174# CONFIG_WARP is not set
175# CONFIG_ARCHES is not set
178# CONFIG_CANYONLANDS is not set 176# CONFIG_CANYONLANDS is not set
177# CONFIG_GLACIER is not set
179# CONFIG_YOSEMITE is not set 178# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
180CONFIG_PPC44x_SIMPLE=y
181# CONFIG_PPC4xx_GPIO is not set
181CONFIG_440EPX=y 182CONFIG_440EPX=y
182# CONFIG_IPIC is not set 183# CONFIG_IPIC is not set
183# CONFIG_MPIC is not set 184# CONFIG_MPIC is not set
@@ -205,11 +206,13 @@ CONFIG_HZ_250=y
205# CONFIG_HZ_300 is not set 206# CONFIG_HZ_300 is not set
206# CONFIG_HZ_1000 is not set 207# CONFIG_HZ_1000 is not set
207CONFIG_HZ=250 208CONFIG_HZ=250
208# CONFIG_SCHED_HRTICK is not set 209CONFIG_SCHED_HRTICK=y
209CONFIG_PREEMPT_NONE=y 210CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 211# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 212# CONFIG_PREEMPT is not set
212CONFIG_BINFMT_ELF=y 213CONFIG_BINFMT_ELF=y
214# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
215# CONFIG_HAVE_AOUT is not set
213# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
214# CONFIG_MATH_EMULATION is not set 217# CONFIG_MATH_EMULATION is not set
215# CONFIG_IOMMU_HELPER is not set 218# CONFIG_IOMMU_HELPER is not set
@@ -224,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y
224# CONFIG_SPARSEMEM_MANUAL is not set 227# CONFIG_SPARSEMEM_MANUAL is not set
225CONFIG_FLATMEM=y 228CONFIG_FLATMEM=y
226CONFIG_FLAT_NODE_MEM_MAP=y 229CONFIG_FLAT_NODE_MEM_MAP=y
227# CONFIG_SPARSEMEM_STATIC is not set
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 230CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 231CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y 232CONFIG_MIGRATION=y
232CONFIG_RESOURCES_64BIT=y 233CONFIG_RESOURCES_64BIT=y
234CONFIG_PHYS_ADDR_T_64BIT=y
233CONFIG_ZONE_DMA_FLAG=1 235CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 236CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 237CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y
236CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
238CONFIG_CMDLINE_BOOL=y 241CONFIG_CMDLINE_BOOL=y
@@ -319,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# CONFIG_TIPC is not set 322# CONFIG_TIPC is not set
320# CONFIG_ATM is not set 323# CONFIG_ATM is not set
321# CONFIG_BRIDGE is not set 324# CONFIG_BRIDGE is not set
325# CONFIG_NET_DSA is not set
322# CONFIG_VLAN_8021Q is not set 326# CONFIG_VLAN_8021Q is not set
323# CONFIG_DECNET is not set 327# CONFIG_DECNET is not set
324# CONFIG_LLC2 is not set 328# CONFIG_LLC2 is not set
@@ -339,14 +343,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_IRDA is not set 343# CONFIG_IRDA is not set
340# CONFIG_BT is not set 344# CONFIG_BT is not set
341# CONFIG_AF_RXRPC is not set 345# CONFIG_AF_RXRPC is not set
342 346# CONFIG_PHONET is not set
343# 347# CONFIG_WIRELESS is not set
344# Wireless
345#
346# CONFIG_CFG80211 is not set
347# CONFIG_WIRELESS_EXT is not set
348# CONFIG_MAC80211 is not set
349# CONFIG_IEEE80211 is not set
350# CONFIG_RFKILL is not set 348# CONFIG_RFKILL is not set
351# CONFIG_NET_9P is not set 349# CONFIG_NET_9P is not set
352 350
@@ -527,8 +525,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
527CONFIG_IBM_NEW_EMAC_RGMII=y 525CONFIG_IBM_NEW_EMAC_RGMII=y
528# CONFIG_IBM_NEW_EMAC_TAH is not set 526# CONFIG_IBM_NEW_EMAC_TAH is not set
529CONFIG_IBM_NEW_EMAC_EMAC4=y 527CONFIG_IBM_NEW_EMAC_EMAC4=y
528# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
529# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
530# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
530# CONFIG_NET_PCI is not set 531# CONFIG_NET_PCI is not set
531# CONFIG_B44 is not set 532# CONFIG_B44 is not set
533# CONFIG_ATL2 is not set
532CONFIG_NETDEV_1000=y 534CONFIG_NETDEV_1000=y
533# CONFIG_ACENIC is not set 535# CONFIG_ACENIC is not set
534# CONFIG_DL2K is not set 536# CONFIG_DL2K is not set
@@ -549,18 +551,22 @@ CONFIG_NETDEV_1000=y
549# CONFIG_QLA3XXX is not set 551# CONFIG_QLA3XXX is not set
550# CONFIG_ATL1 is not set 552# CONFIG_ATL1 is not set
551# CONFIG_ATL1E is not set 553# CONFIG_ATL1E is not set
554# CONFIG_JME is not set
552CONFIG_NETDEV_10000=y 555CONFIG_NETDEV_10000=y
553# CONFIG_CHELSIO_T1 is not set 556# CONFIG_CHELSIO_T1 is not set
554# CONFIG_CHELSIO_T3 is not set 557# CONFIG_CHELSIO_T3 is not set
558# CONFIG_ENIC is not set
555# CONFIG_IXGBE is not set 559# CONFIG_IXGBE is not set
556# CONFIG_IXGB is not set 560# CONFIG_IXGB is not set
557# CONFIG_S2IO is not set 561# CONFIG_S2IO is not set
558# CONFIG_MYRI10GE is not set 562# CONFIG_MYRI10GE is not set
559# CONFIG_NETXEN_NIC is not set 563# CONFIG_NETXEN_NIC is not set
560# CONFIG_NIU is not set 564# CONFIG_NIU is not set
565# CONFIG_MLX4_EN is not set
561# CONFIG_MLX4_CORE is not set 566# CONFIG_MLX4_CORE is not set
562# CONFIG_TEHUTI is not set 567# CONFIG_TEHUTI is not set
563# CONFIG_BNX2X is not set 568# CONFIG_BNX2X is not set
569# CONFIG_QLGE is not set
564# CONFIG_SFC is not set 570# CONFIG_SFC is not set
565# CONFIG_TR is not set 571# CONFIG_TR is not set
566 572
@@ -656,6 +662,8 @@ CONFIG_SSB_POSSIBLE=y
656# CONFIG_MFD_CORE is not set 662# CONFIG_MFD_CORE is not set
657# CONFIG_MFD_SM501 is not set 663# CONFIG_MFD_SM501 is not set
658# CONFIG_HTC_PASIC3 is not set 664# CONFIG_HTC_PASIC3 is not set
665# CONFIG_MFD_TMIO is not set
666# CONFIG_MFD_WM8400 is not set
659 667
660# 668#
661# Multimedia devices 669# Multimedia devices
@@ -697,9 +705,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
697# CONFIG_USB_OTG_BLACKLIST_HUB is not set 705# CONFIG_USB_OTG_BLACKLIST_HUB is not set
698 706
699# 707#
708# Enable Host or Gadget support to see Inventra options
709#
710
711#
700# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 712# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
701# 713#
702# CONFIG_USB_GADGET is not set 714# CONFIG_USB_GADGET is not set
715# CONFIG_UWB is not set
703# CONFIG_MMC is not set 716# CONFIG_MMC is not set
704# CONFIG_MEMSTICK is not set 717# CONFIG_MEMSTICK is not set
705# CONFIG_NEW_LEDS is not set 718# CONFIG_NEW_LEDS is not set
@@ -709,6 +722,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
709# CONFIG_RTC_CLASS is not set 722# CONFIG_RTC_CLASS is not set
710# CONFIG_DMADEVICES is not set 723# CONFIG_DMADEVICES is not set
711# CONFIG_UIO is not set 724# CONFIG_UIO is not set
725# CONFIG_STAGING is not set
712 726
713# 727#
714# File systems 728# File systems
@@ -717,10 +731,11 @@ CONFIG_EXT2_FS=y
717# CONFIG_EXT2_FS_XATTR is not set 731# CONFIG_EXT2_FS_XATTR is not set
718# CONFIG_EXT2_FS_XIP is not set 732# CONFIG_EXT2_FS_XIP is not set
719# CONFIG_EXT3_FS is not set 733# CONFIG_EXT3_FS is not set
720# CONFIG_EXT4DEV_FS is not set 734# CONFIG_EXT4_FS is not set
721# CONFIG_REISERFS_FS is not set 735# CONFIG_REISERFS_FS is not set
722# CONFIG_JFS_FS is not set 736# CONFIG_JFS_FS is not set
723# CONFIG_FS_POSIX_ACL is not set 737# CONFIG_FS_POSIX_ACL is not set
738CONFIG_FILE_LOCKING=y
724# CONFIG_XFS_FS is not set 739# CONFIG_XFS_FS is not set
725# CONFIG_OCFS2_FS is not set 740# CONFIG_OCFS2_FS is not set
726CONFIG_DNOTIFY=y 741CONFIG_DNOTIFY=y
@@ -750,6 +765,7 @@ CONFIG_INOTIFY_USER=y
750CONFIG_PROC_FS=y 765CONFIG_PROC_FS=y
751CONFIG_PROC_KCORE=y 766CONFIG_PROC_KCORE=y
752CONFIG_PROC_SYSCTL=y 767CONFIG_PROC_SYSCTL=y
768CONFIG_PROC_PAGE_MONITOR=y
753CONFIG_SYSFS=y 769CONFIG_SYSFS=y
754CONFIG_TMPFS=y 770CONFIG_TMPFS=y
755# CONFIG_TMPFS_POSIX_ACL is not set 771# CONFIG_TMPFS_POSIX_ACL is not set
@@ -797,6 +813,7 @@ CONFIG_LOCKD=y
797CONFIG_LOCKD_V4=y 813CONFIG_LOCKD_V4=y
798CONFIG_NFS_COMMON=y 814CONFIG_NFS_COMMON=y
799CONFIG_SUNRPC=y 815CONFIG_SUNRPC=y
816# CONFIG_SUNRPC_REGISTER_V4 is not set
800# CONFIG_RPCSEC_GSS_KRB5 is not set 817# CONFIG_RPCSEC_GSS_KRB5 is not set
801# CONFIG_RPCSEC_GSS_SPKM3 is not set 818# CONFIG_RPCSEC_GSS_SPKM3 is not set
802# CONFIG_SMB_FS is not set 819# CONFIG_SMB_FS is not set
@@ -817,7 +834,6 @@ CONFIG_MSDOS_PARTITION=y
817# Library routines 834# Library routines
818# 835#
819CONFIG_BITREVERSE=y 836CONFIG_BITREVERSE=y
820# CONFIG_GENERIC_FIND_FIRST_BIT is not set
821# CONFIG_CRC_CCITT is not set 837# CONFIG_CRC_CCITT is not set
822# CONFIG_CRC16 is not set 838# CONFIG_CRC16 is not set
823# CONFIG_CRC_T10DIF is not set 839# CONFIG_CRC_T10DIF is not set
@@ -871,14 +887,21 @@ CONFIG_SCHED_DEBUG=y
871# CONFIG_DEBUG_SG is not set 887# CONFIG_DEBUG_SG is not set
872# CONFIG_BOOT_PRINTK_DELAY is not set 888# CONFIG_BOOT_PRINTK_DELAY is not set
873# CONFIG_RCU_TORTURE_TEST is not set 889# CONFIG_RCU_TORTURE_TEST is not set
890# CONFIG_RCU_CPU_STALL_DETECTOR is not set
874# CONFIG_BACKTRACE_SELF_TEST is not set 891# CONFIG_BACKTRACE_SELF_TEST is not set
892# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
875# CONFIG_FAULT_INJECTION is not set 893# CONFIG_FAULT_INJECTION is not set
876# CONFIG_LATENCYTOP is not set 894# CONFIG_LATENCYTOP is not set
895CONFIG_SYSCTL_SYSCALL_CHECK=y
896CONFIG_NOP_TRACER=y
877CONFIG_HAVE_FTRACE=y 897CONFIG_HAVE_FTRACE=y
878CONFIG_HAVE_DYNAMIC_FTRACE=y 898CONFIG_HAVE_DYNAMIC_FTRACE=y
879# CONFIG_FTRACE is not set 899# CONFIG_FTRACE is not set
880# CONFIG_SCHED_TRACER is not set 900# CONFIG_SCHED_TRACER is not set
881# CONFIG_CONTEXT_SWITCH_TRACER is not set 901# CONFIG_CONTEXT_SWITCH_TRACER is not set
902# CONFIG_BOOT_TRACER is not set
903# CONFIG_STACK_TRACER is not set
904# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
882# CONFIG_SAMPLES is not set 905# CONFIG_SAMPLES is not set
883CONFIG_HAVE_ARCH_KGDB=y 906CONFIG_HAVE_ARCH_KGDB=y
884# CONFIG_KGDB is not set 907# CONFIG_KGDB is not set
@@ -887,6 +910,7 @@ CONFIG_HAVE_ARCH_KGDB=y
887# CONFIG_DEBUG_PAGEALLOC is not set 910# CONFIG_DEBUG_PAGEALLOC is not set
888# CONFIG_CODE_PATCHING_SELFTEST is not set 911# CONFIG_CODE_PATCHING_SELFTEST is not set
889# CONFIG_FTR_FIXUP_SELFTEST is not set 912# CONFIG_FTR_FIXUP_SELFTEST is not set
913# CONFIG_MSI_BITMAP_SELFTEST is not set
890# CONFIG_XMON is not set 914# CONFIG_XMON is not set
891# CONFIG_IRQSTACKS is not set 915# CONFIG_IRQSTACKS is not set
892# CONFIG_VIRQ_DEBUG is not set 916# CONFIG_VIRQ_DEBUG is not set
@@ -911,14 +935,19 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
911# 935#
912# CONFIG_KEYS is not set 936# CONFIG_KEYS is not set
913# CONFIG_SECURITY is not set 937# CONFIG_SECURITY is not set
938# CONFIG_SECURITYFS is not set
914# CONFIG_SECURITY_FILE_CAPABILITIES is not set 939# CONFIG_SECURITY_FILE_CAPABILITIES is not set
915CONFIG_CRYPTO=y 940CONFIG_CRYPTO=y
916 941
917# 942#
918# Crypto core or helper 943# Crypto core or helper
919# 944#
945# CONFIG_CRYPTO_FIPS is not set
920CONFIG_CRYPTO_ALGAPI=y 946CONFIG_CRYPTO_ALGAPI=y
947CONFIG_CRYPTO_AEAD=y
921CONFIG_CRYPTO_BLKCIPHER=y 948CONFIG_CRYPTO_BLKCIPHER=y
949CONFIG_CRYPTO_HASH=y
950CONFIG_CRYPTO_RNG=y
922CONFIG_CRYPTO_MANAGER=y 951CONFIG_CRYPTO_MANAGER=y
923# CONFIG_CRYPTO_GF128MUL is not set 952# CONFIG_CRYPTO_GF128MUL is not set
924# CONFIG_CRYPTO_NULL is not set 953# CONFIG_CRYPTO_NULL is not set
@@ -991,6 +1020,11 @@ CONFIG_CRYPTO_DES=y
991# 1020#
992# CONFIG_CRYPTO_DEFLATE is not set 1021# CONFIG_CRYPTO_DEFLATE is not set
993# CONFIG_CRYPTO_LZO is not set 1022# CONFIG_CRYPTO_LZO is not set
1023
1024#
1025# Random Number Generation
1026#
1027# CONFIG_CRYPTO_ANSI_CPRNG is not set
994CONFIG_CRYPTO_HW=y 1028CONFIG_CRYPTO_HW=y
995# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1029# CONFIG_CRYPTO_DEV_HIFN_795X is not set
996# CONFIG_PPC_CLOCK is not set 1030# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig
index 5075873bdb1b..427bb6a11be5 100644
--- a/arch/powerpc/configs/44x/taishan_defconfig
+++ b/arch/powerpc/configs/44x/taishan_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:17:48 2008 4# Tue Oct 28 09:16:18 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y
22CONFIG_NOT_COHERENT_CACHE=y 22CONFIG_NOT_COHERENT_CACHE=y
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
29CONFIG_GENERIC_TIME_VSYSCALL=y 29CONFIG_GENERIC_TIME_VSYSCALL=y
30CONFIG_GENERIC_CLOCKEVENTS=y 30CONFIG_GENERIC_CLOCKEVENTS=y
31CONFIG_GENERIC_HARDIRQS=y 31CONFIG_GENERIC_HARDIRQS=y
32# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
34CONFIG_IRQ_PER_CPU=y 33CONFIG_IRQ_PER_CPU=y
35CONFIG_STACKTRACE_SUPPORT=y 34CONFIG_STACKTRACE_SUPPORT=y
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE=""
91CONFIG_SYSCTL=y 90CONFIG_SYSCTL=y
92CONFIG_EMBEDDED=y 91CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 92CONFIG_SYSCTL_SYSCALL=y
94CONFIG_SYSCTL_SYSCALL_CHECK=y
95CONFIG_KALLSYMS=y 93CONFIG_KALLSYMS=y
96# CONFIG_KALLSYMS_ALL is not set 94# CONFIG_KALLSYMS_ALL is not set
97# CONFIG_KALLSYMS_EXTRA_PASS is not set 95# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
114CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 154# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 155CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 156CONFIG_CLASSIC_RCU=y
157# CONFIG_FREEZER is not set
161# CONFIG_PPC4xx_PCI_EXPRESS is not set 158# CONFIG_PPC4xx_PCI_EXPRESS is not set
162 159
163# 160#
@@ -174,9 +171,13 @@ CONFIG_TAISHAN=y
174# CONFIG_KATMAI is not set 171# CONFIG_KATMAI is not set
175# CONFIG_RAINIER is not set 172# CONFIG_RAINIER is not set
176# CONFIG_WARP is not set 173# CONFIG_WARP is not set
174# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 175# CONFIG_CANYONLANDS is not set
176# CONFIG_GLACIER is not set
178# CONFIG_YOSEMITE is not set 177# CONFIG_YOSEMITE is not set
179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 178# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
179CONFIG_PPC44x_SIMPLE=y
180# CONFIG_PPC4xx_GPIO is not set
180CONFIG_440GX=y 181CONFIG_440GX=y
181# CONFIG_IPIC is not set 182# CONFIG_IPIC is not set
182# CONFIG_MPIC is not set 183# CONFIG_MPIC is not set
@@ -195,7 +196,6 @@ CONFIG_440GX=y
195# Kernel options 196# Kernel options
196# 197#
197# CONFIG_HIGHMEM is not set 198# CONFIG_HIGHMEM is not set
198# CONFIG_TICK_ONESHOT is not set
199# CONFIG_NO_HZ is not set 199# CONFIG_NO_HZ is not set
200# CONFIG_HIGH_RES_TIMERS is not set 200# CONFIG_HIGH_RES_TIMERS is not set
201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -209,6 +209,8 @@ CONFIG_PREEMPT_NONE=y
209# CONFIG_PREEMPT_VOLUNTARY is not set 209# CONFIG_PREEMPT_VOLUNTARY is not set
210# CONFIG_PREEMPT is not set 210# CONFIG_PREEMPT is not set
211CONFIG_BINFMT_ELF=y 211CONFIG_BINFMT_ELF=y
212# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
213# CONFIG_HAVE_AOUT is not set
212# CONFIG_BINFMT_MISC is not set 214# CONFIG_BINFMT_MISC is not set
213# CONFIG_MATH_EMULATION is not set 215# CONFIG_MATH_EMULATION is not set
214# CONFIG_IOMMU_HELPER is not set 216# CONFIG_IOMMU_HELPER is not set
@@ -223,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y
223# CONFIG_SPARSEMEM_MANUAL is not set 225# CONFIG_SPARSEMEM_MANUAL is not set
224CONFIG_FLATMEM=y 226CONFIG_FLATMEM=y
225CONFIG_FLAT_NODE_MEM_MAP=y 227CONFIG_FLAT_NODE_MEM_MAP=y
226# CONFIG_SPARSEMEM_STATIC is not set
227# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
228CONFIG_PAGEFLAGS_EXTENDED=y 228CONFIG_PAGEFLAGS_EXTENDED=y
229CONFIG_SPLIT_PTLOCK_CPUS=4 229CONFIG_SPLIT_PTLOCK_CPUS=4
230CONFIG_MIGRATION=y 230CONFIG_MIGRATION=y
231CONFIG_RESOURCES_64BIT=y 231CONFIG_RESOURCES_64BIT=y
232CONFIG_PHYS_ADDR_T_64BIT=y
232CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 235CONFIG_VIRT_TO_BUS=y
236CONFIG_UNEVICTABLE_LRU=y
235CONFIG_FORCE_MAX_ZONEORDER=11 237CONFIG_FORCE_MAX_ZONEORDER=11
236CONFIG_PROC_DEVICETREE=y 238CONFIG_PROC_DEVICETREE=y
237CONFIG_CMDLINE_BOOL=y 239CONFIG_CMDLINE_BOOL=y
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 320# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 321# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 322# CONFIG_BRIDGE is not set
323# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 324# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 325# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 326# CONFIG_LLC2 is not set
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 341# CONFIG_IRDA is not set
339# CONFIG_BT is not set 342# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 343# CONFIG_AF_RXRPC is not set
341 344# CONFIG_PHONET is not set
342# 345# CONFIG_WIRELESS is not set
343# Wireless
344#
345# CONFIG_CFG80211 is not set
346# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set
349# CONFIG_RFKILL is not set 346# CONFIG_RFKILL is not set
350# CONFIG_NET_9P is not set 347# CONFIG_NET_9P is not set
351 348
@@ -528,8 +525,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
528CONFIG_IBM_NEW_EMAC_RGMII=y 525CONFIG_IBM_NEW_EMAC_RGMII=y
529CONFIG_IBM_NEW_EMAC_TAH=y 526CONFIG_IBM_NEW_EMAC_TAH=y
530CONFIG_IBM_NEW_EMAC_EMAC4=y 527CONFIG_IBM_NEW_EMAC_EMAC4=y
528# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
529# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
530# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
531# CONFIG_NET_PCI is not set 531# CONFIG_NET_PCI is not set
532# CONFIG_B44 is not set 532# CONFIG_B44 is not set
533# CONFIG_ATL2 is not set
533CONFIG_NETDEV_1000=y 534CONFIG_NETDEV_1000=y
534# CONFIG_ACENIC is not set 535# CONFIG_ACENIC is not set
535# CONFIG_DL2K is not set 536# CONFIG_DL2K is not set
@@ -550,18 +551,22 @@ CONFIG_NETDEV_1000=y
550# CONFIG_QLA3XXX is not set 551# CONFIG_QLA3XXX is not set
551# CONFIG_ATL1 is not set 552# CONFIG_ATL1 is not set
552# CONFIG_ATL1E is not set 553# CONFIG_ATL1E is not set
554# CONFIG_JME is not set
553CONFIG_NETDEV_10000=y 555CONFIG_NETDEV_10000=y
554# CONFIG_CHELSIO_T1 is not set 556# CONFIG_CHELSIO_T1 is not set
555# CONFIG_CHELSIO_T3 is not set 557# CONFIG_CHELSIO_T3 is not set
558# CONFIG_ENIC is not set
556# CONFIG_IXGBE is not set 559# CONFIG_IXGBE is not set
557# CONFIG_IXGB is not set 560# CONFIG_IXGB is not set
558# CONFIG_S2IO is not set 561# CONFIG_S2IO is not set
559# CONFIG_MYRI10GE is not set 562# CONFIG_MYRI10GE is not set
560# CONFIG_NETXEN_NIC is not set 563# CONFIG_NETXEN_NIC is not set
561# CONFIG_NIU is not set 564# CONFIG_NIU is not set
565# CONFIG_MLX4_EN is not set
562# CONFIG_MLX4_CORE is not set 566# CONFIG_MLX4_CORE is not set
563# CONFIG_TEHUTI is not set 567# CONFIG_TEHUTI is not set
564# CONFIG_BNX2X is not set 568# CONFIG_BNX2X is not set
569# CONFIG_QLGE is not set
565# CONFIG_SFC is not set 570# CONFIG_SFC is not set
566# CONFIG_TR is not set 571# CONFIG_TR is not set
567 572
@@ -657,6 +662,8 @@ CONFIG_SSB_POSSIBLE=y
657# CONFIG_MFD_CORE is not set 662# CONFIG_MFD_CORE is not set
658# CONFIG_MFD_SM501 is not set 663# CONFIG_MFD_SM501 is not set
659# CONFIG_HTC_PASIC3 is not set 664# CONFIG_HTC_PASIC3 is not set
665# CONFIG_MFD_TMIO is not set
666# CONFIG_MFD_WM8400 is not set
660 667
661# 668#
662# Multimedia devices 669# Multimedia devices
@@ -698,9 +705,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
698# CONFIG_USB_OTG_BLACKLIST_HUB is not set 705# CONFIG_USB_OTG_BLACKLIST_HUB is not set
699 706
700# 707#
708# Enable Host or Gadget support to see Inventra options
709#
710
711#
701# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 712# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
702# 713#
703# CONFIG_USB_GADGET is not set 714# CONFIG_USB_GADGET is not set
715# CONFIG_UWB is not set
704# CONFIG_MMC is not set 716# CONFIG_MMC is not set
705# CONFIG_MEMSTICK is not set 717# CONFIG_MEMSTICK is not set
706# CONFIG_NEW_LEDS is not set 718# CONFIG_NEW_LEDS is not set
@@ -710,6 +722,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
710# CONFIG_RTC_CLASS is not set 722# CONFIG_RTC_CLASS is not set
711# CONFIG_DMADEVICES is not set 723# CONFIG_DMADEVICES is not set
712# CONFIG_UIO is not set 724# CONFIG_UIO is not set
725# CONFIG_STAGING is not set
713 726
714# 727#
715# File systems 728# File systems
@@ -718,10 +731,11 @@ CONFIG_EXT2_FS=y
718# CONFIG_EXT2_FS_XATTR is not set 731# CONFIG_EXT2_FS_XATTR is not set
719# CONFIG_EXT2_FS_XIP is not set 732# CONFIG_EXT2_FS_XIP is not set
720# CONFIG_EXT3_FS is not set 733# CONFIG_EXT3_FS is not set
721# CONFIG_EXT4DEV_FS is not set 734# CONFIG_EXT4_FS is not set
722# CONFIG_REISERFS_FS is not set 735# CONFIG_REISERFS_FS is not set
723# CONFIG_JFS_FS is not set 736# CONFIG_JFS_FS is not set
724# CONFIG_FS_POSIX_ACL is not set 737# CONFIG_FS_POSIX_ACL is not set
738CONFIG_FILE_LOCKING=y
725# CONFIG_XFS_FS is not set 739# CONFIG_XFS_FS is not set
726# CONFIG_OCFS2_FS is not set 740# CONFIG_OCFS2_FS is not set
727CONFIG_DNOTIFY=y 741CONFIG_DNOTIFY=y
@@ -751,6 +765,7 @@ CONFIG_INOTIFY_USER=y
751CONFIG_PROC_FS=y 765CONFIG_PROC_FS=y
752CONFIG_PROC_KCORE=y 766CONFIG_PROC_KCORE=y
753CONFIG_PROC_SYSCTL=y 767CONFIG_PROC_SYSCTL=y
768CONFIG_PROC_PAGE_MONITOR=y
754CONFIG_SYSFS=y 769CONFIG_SYSFS=y
755CONFIG_TMPFS=y 770CONFIG_TMPFS=y
756# CONFIG_TMPFS_POSIX_ACL is not set 771# CONFIG_TMPFS_POSIX_ACL is not set
@@ -788,6 +803,7 @@ CONFIG_LOCKD=y
788CONFIG_LOCKD_V4=y 803CONFIG_LOCKD_V4=y
789CONFIG_NFS_COMMON=y 804CONFIG_NFS_COMMON=y
790CONFIG_SUNRPC=y 805CONFIG_SUNRPC=y
806# CONFIG_SUNRPC_REGISTER_V4 is not set
791# CONFIG_RPCSEC_GSS_KRB5 is not set 807# CONFIG_RPCSEC_GSS_KRB5 is not set
792# CONFIG_RPCSEC_GSS_SPKM3 is not set 808# CONFIG_RPCSEC_GSS_SPKM3 is not set
793# CONFIG_SMB_FS is not set 809# CONFIG_SMB_FS is not set
@@ -808,7 +824,6 @@ CONFIG_MSDOS_PARTITION=y
808# Library routines 824# Library routines
809# 825#
810CONFIG_BITREVERSE=y 826CONFIG_BITREVERSE=y
811# CONFIG_GENERIC_FIND_FIRST_BIT is not set
812# CONFIG_CRC_CCITT is not set 827# CONFIG_CRC_CCITT is not set
813# CONFIG_CRC16 is not set 828# CONFIG_CRC16 is not set
814# CONFIG_CRC_T10DIF is not set 829# CONFIG_CRC_T10DIF is not set
@@ -861,14 +876,21 @@ CONFIG_SCHED_DEBUG=y
861# CONFIG_DEBUG_SG is not set 876# CONFIG_DEBUG_SG is not set
862# CONFIG_BOOT_PRINTK_DELAY is not set 877# CONFIG_BOOT_PRINTK_DELAY is not set
863# CONFIG_RCU_TORTURE_TEST is not set 878# CONFIG_RCU_TORTURE_TEST is not set
879# CONFIG_RCU_CPU_STALL_DETECTOR is not set
864# CONFIG_BACKTRACE_SELF_TEST is not set 880# CONFIG_BACKTRACE_SELF_TEST is not set
881# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
865# CONFIG_FAULT_INJECTION is not set 882# CONFIG_FAULT_INJECTION is not set
866# CONFIG_LATENCYTOP is not set 883# CONFIG_LATENCYTOP is not set
884CONFIG_SYSCTL_SYSCALL_CHECK=y
885CONFIG_NOP_TRACER=y
867CONFIG_HAVE_FTRACE=y 886CONFIG_HAVE_FTRACE=y
868CONFIG_HAVE_DYNAMIC_FTRACE=y 887CONFIG_HAVE_DYNAMIC_FTRACE=y
869# CONFIG_FTRACE is not set 888# CONFIG_FTRACE is not set
870# CONFIG_SCHED_TRACER is not set 889# CONFIG_SCHED_TRACER is not set
871# CONFIG_CONTEXT_SWITCH_TRACER is not set 890# CONFIG_CONTEXT_SWITCH_TRACER is not set
891# CONFIG_BOOT_TRACER is not set
892# CONFIG_STACK_TRACER is not set
893# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
872# CONFIG_SAMPLES is not set 894# CONFIG_SAMPLES is not set
873CONFIG_HAVE_ARCH_KGDB=y 895CONFIG_HAVE_ARCH_KGDB=y
874# CONFIG_KGDB is not set 896# CONFIG_KGDB is not set
@@ -877,6 +899,7 @@ CONFIG_HAVE_ARCH_KGDB=y
877# CONFIG_DEBUG_PAGEALLOC is not set 899# CONFIG_DEBUG_PAGEALLOC is not set
878# CONFIG_CODE_PATCHING_SELFTEST is not set 900# CONFIG_CODE_PATCHING_SELFTEST is not set
879# CONFIG_FTR_FIXUP_SELFTEST is not set 901# CONFIG_FTR_FIXUP_SELFTEST is not set
902# CONFIG_MSI_BITMAP_SELFTEST is not set
880# CONFIG_XMON is not set 903# CONFIG_XMON is not set
881# CONFIG_IRQSTACKS is not set 904# CONFIG_IRQSTACKS is not set
882# CONFIG_VIRQ_DEBUG is not set 905# CONFIG_VIRQ_DEBUG is not set
@@ -888,14 +911,19 @@ CONFIG_HAVE_ARCH_KGDB=y
888# 911#
889# CONFIG_KEYS is not set 912# CONFIG_KEYS is not set
890# CONFIG_SECURITY is not set 913# CONFIG_SECURITY is not set
914# CONFIG_SECURITYFS is not set
891# CONFIG_SECURITY_FILE_CAPABILITIES is not set 915# CONFIG_SECURITY_FILE_CAPABILITIES is not set
892CONFIG_CRYPTO=y 916CONFIG_CRYPTO=y
893 917
894# 918#
895# Crypto core or helper 919# Crypto core or helper
896# 920#
921# CONFIG_CRYPTO_FIPS is not set
897CONFIG_CRYPTO_ALGAPI=y 922CONFIG_CRYPTO_ALGAPI=y
923CONFIG_CRYPTO_AEAD=y
898CONFIG_CRYPTO_BLKCIPHER=y 924CONFIG_CRYPTO_BLKCIPHER=y
925CONFIG_CRYPTO_HASH=y
926CONFIG_CRYPTO_RNG=y
899CONFIG_CRYPTO_MANAGER=y 927CONFIG_CRYPTO_MANAGER=y
900# CONFIG_CRYPTO_GF128MUL is not set 928# CONFIG_CRYPTO_GF128MUL is not set
901# CONFIG_CRYPTO_NULL is not set 929# CONFIG_CRYPTO_NULL is not set
@@ -968,6 +996,11 @@ CONFIG_CRYPTO_DES=y
968# 996#
969# CONFIG_CRYPTO_DEFLATE is not set 997# CONFIG_CRYPTO_DEFLATE is not set
970# CONFIG_CRYPTO_LZO is not set 998# CONFIG_CRYPTO_LZO is not set
999
1000#
1001# Random Number Generation
1002#
1003# CONFIG_CRYPTO_ANSI_CPRNG is not set
971CONFIG_CRYPTO_HW=y 1004CONFIG_CRYPTO_HW=y
972# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1005# CONFIG_CRYPTO_DEV_HIFN_795X is not set
973# CONFIG_PPC_CLOCK is not set 1006# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig
index d9375a969c67..59cbd2761ed7 100644
--- a/arch/powerpc/configs/44x/warp_defconfig
+++ b/arch/powerpc/configs/44x/warp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 09:23:39 2008 4# Tue Oct 28 09:16:22 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 92CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 93CONFIG_SYSCTL_SYSCALL=y
95CONFIG_SYSCTL_SYSCALL_CHECK=y
96CONFIG_KALLSYMS=y 94CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set 95# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 96# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -109,6 +107,7 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_SLAB=y 112CONFIG_SLAB=y
114# CONFIG_SLUB is not set 113# CONFIG_SLUB is not set
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 155CONFIG_CLASSIC_RCU=y
156# CONFIG_FREEZER is not set
161 157
162# 158#
163# Platform support 159# Platform support
@@ -173,9 +169,13 @@ CONFIG_CLASSIC_RCU=y
173# CONFIG_KATMAI is not set 169# CONFIG_KATMAI is not set
174# CONFIG_RAINIER is not set 170# CONFIG_RAINIER is not set
175CONFIG_WARP=y 171CONFIG_WARP=y
172# CONFIG_ARCHES is not set
176# CONFIG_CANYONLANDS is not set 173# CONFIG_CANYONLANDS is not set
174# CONFIG_GLACIER is not set
177# CONFIG_YOSEMITE is not set 175# CONFIG_YOSEMITE is not set
178# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 176# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
177# CONFIG_PPC44x_SIMPLE is not set
178# CONFIG_PPC4xx_GPIO is not set
179CONFIG_440EP=y 179CONFIG_440EP=y
180CONFIG_IBM440EP_ERR42=y 180CONFIG_IBM440EP_ERR42=y
181# CONFIG_IPIC is not set 181# CONFIG_IPIC is not set
@@ -195,7 +195,6 @@ CONFIG_IBM440EP_ERR42=y
195# Kernel options 195# Kernel options
196# 196#
197# CONFIG_HIGHMEM is not set 197# CONFIG_HIGHMEM is not set
198# CONFIG_TICK_ONESHOT is not set
199# CONFIG_NO_HZ is not set 198# CONFIG_NO_HZ is not set
200# CONFIG_HIGH_RES_TIMERS is not set 199# CONFIG_HIGH_RES_TIMERS is not set
201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 200CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -209,6 +208,8 @@ CONFIG_PREEMPT_NONE=y
209# CONFIG_PREEMPT_VOLUNTARY is not set 208# CONFIG_PREEMPT_VOLUNTARY is not set
210# CONFIG_PREEMPT is not set 209# CONFIG_PREEMPT is not set
211CONFIG_BINFMT_ELF=y 210CONFIG_BINFMT_ELF=y
211# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
212# CONFIG_HAVE_AOUT is not set
212# CONFIG_BINFMT_MISC is not set 213# CONFIG_BINFMT_MISC is not set
213# CONFIG_MATH_EMULATION is not set 214# CONFIG_MATH_EMULATION is not set
214# CONFIG_IOMMU_HELPER is not set 215# CONFIG_IOMMU_HELPER is not set
@@ -223,15 +224,15 @@ CONFIG_FLATMEM_MANUAL=y
223# CONFIG_SPARSEMEM_MANUAL is not set 224# CONFIG_SPARSEMEM_MANUAL is not set
224CONFIG_FLATMEM=y 225CONFIG_FLATMEM=y
225CONFIG_FLAT_NODE_MEM_MAP=y 226CONFIG_FLAT_NODE_MEM_MAP=y
226# CONFIG_SPARSEMEM_STATIC is not set
227# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
228CONFIG_PAGEFLAGS_EXTENDED=y 227CONFIG_PAGEFLAGS_EXTENDED=y
229CONFIG_SPLIT_PTLOCK_CPUS=4 228CONFIG_SPLIT_PTLOCK_CPUS=4
230CONFIG_MIGRATION=y 229CONFIG_MIGRATION=y
231CONFIG_RESOURCES_64BIT=y 230CONFIG_RESOURCES_64BIT=y
231CONFIG_PHYS_ADDR_T_64BIT=y
232CONFIG_ZONE_DMA_FLAG=1 232CONFIG_ZONE_DMA_FLAG=1
233CONFIG_BOUNCE=y 233CONFIG_BOUNCE=y
234CONFIG_VIRT_TO_BUS=y 234CONFIG_VIRT_TO_BUS=y
235CONFIG_UNEVICTABLE_LRU=y
235CONFIG_FORCE_MAX_ZONEORDER=11 236CONFIG_FORCE_MAX_ZONEORDER=11
236CONFIG_PROC_DEVICETREE=y 237CONFIG_PROC_DEVICETREE=y
237CONFIG_CMDLINE_BOOL=y 238CONFIG_CMDLINE_BOOL=y
@@ -308,7 +309,6 @@ CONFIG_INET_TCP_DIAG=y
308CONFIG_TCP_CONG_CUBIC=y 309CONFIG_TCP_CONG_CUBIC=y
309CONFIG_DEFAULT_TCP_CONG="cubic" 310CONFIG_DEFAULT_TCP_CONG="cubic"
310# CONFIG_TCP_MD5SIG is not set 311# CONFIG_TCP_MD5SIG is not set
311# CONFIG_IP_VS is not set
312# CONFIG_IPV6 is not set 312# CONFIG_IPV6 is not set
313# CONFIG_NETWORK_SECMARK is not set 313# CONFIG_NETWORK_SECMARK is not set
314CONFIG_NETFILTER=y 314CONFIG_NETFILTER=y
@@ -322,10 +322,12 @@ CONFIG_NETFILTER_ADVANCED=y
322# CONFIG_NETFILTER_NETLINK_LOG is not set 322# CONFIG_NETFILTER_NETLINK_LOG is not set
323# CONFIG_NF_CONNTRACK is not set 323# CONFIG_NF_CONNTRACK is not set
324# CONFIG_NETFILTER_XTABLES is not set 324# CONFIG_NETFILTER_XTABLES is not set
325# CONFIG_IP_VS is not set
325 326
326# 327#
327# IP: Netfilter Configuration 328# IP: Netfilter Configuration
328# 329#
330# CONFIG_NF_DEFRAG_IPV4 is not set
329# CONFIG_IP_NF_QUEUE is not set 331# CONFIG_IP_NF_QUEUE is not set
330# CONFIG_IP_NF_IPTABLES is not set 332# CONFIG_IP_NF_IPTABLES is not set
331# CONFIG_IP_NF_ARPTABLES is not set 333# CONFIG_IP_NF_ARPTABLES is not set
@@ -334,6 +336,7 @@ CONFIG_NETFILTER_ADVANCED=y
334# CONFIG_TIPC is not set 336# CONFIG_TIPC is not set
335# CONFIG_ATM is not set 337# CONFIG_ATM is not set
336# CONFIG_BRIDGE is not set 338# CONFIG_BRIDGE is not set
339# CONFIG_NET_DSA is not set
337CONFIG_VLAN_8021Q=y 340CONFIG_VLAN_8021Q=y
338# CONFIG_VLAN_8021Q_GVRP is not set 341# CONFIG_VLAN_8021Q_GVRP is not set
339# CONFIG_DECNET is not set 342# CONFIG_DECNET is not set
@@ -355,14 +358,8 @@ CONFIG_VLAN_8021Q=y
355# CONFIG_IRDA is not set 358# CONFIG_IRDA is not set
356# CONFIG_BT is not set 359# CONFIG_BT is not set
357# CONFIG_AF_RXRPC is not set 360# CONFIG_AF_RXRPC is not set
358 361# CONFIG_PHONET is not set
359# 362# CONFIG_WIRELESS is not set
360# Wireless
361#
362# CONFIG_CFG80211 is not set
363# CONFIG_WIRELESS_EXT is not set
364# CONFIG_MAC80211 is not set
365# CONFIG_IEEE80211 is not set
366# CONFIG_RFKILL is not set 363# CONFIG_RFKILL is not set
367# CONFIG_NET_9P is not set 364# CONFIG_NET_9P is not set
368 365
@@ -550,6 +547,9 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
550# CONFIG_IBM_NEW_EMAC_RGMII is not set 547# CONFIG_IBM_NEW_EMAC_RGMII is not set
551# CONFIG_IBM_NEW_EMAC_TAH is not set 548# CONFIG_IBM_NEW_EMAC_TAH is not set
552# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 549# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
550# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
551# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
552# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
553# CONFIG_B44 is not set 553# CONFIG_B44 is not set
554# CONFIG_NETDEV_1000 is not set 554# CONFIG_NETDEV_1000 is not set
555# CONFIG_NETDEV_10000 is not set 555# CONFIG_NETDEV_10000 is not set
@@ -629,6 +629,7 @@ CONFIG_HW_RANDOM=y
629CONFIG_I2C=y 629CONFIG_I2C=y
630CONFIG_I2C_BOARDINFO=y 630CONFIG_I2C_BOARDINFO=y
631# CONFIG_I2C_CHARDEV is not set 631# CONFIG_I2C_CHARDEV is not set
632CONFIG_I2C_HELPER_AUTO=y
632 633
633# 634#
634# I2C Hardware Bus support 635# I2C Hardware Bus support
@@ -678,6 +679,7 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
678# CONFIG_POWER_SUPPLY is not set 679# CONFIG_POWER_SUPPLY is not set
679CONFIG_HWMON=y 680CONFIG_HWMON=y
680# CONFIG_HWMON_VID is not set 681# CONFIG_HWMON_VID is not set
682# CONFIG_SENSORS_AD7414 is not set
681# CONFIG_SENSORS_AD7418 is not set 683# CONFIG_SENSORS_AD7418 is not set
682# CONFIG_SENSORS_ADM1021 is not set 684# CONFIG_SENSORS_ADM1021 is not set
683# CONFIG_SENSORS_ADM1025 is not set 685# CONFIG_SENSORS_ADM1025 is not set
@@ -742,6 +744,9 @@ CONFIG_SSB_POSSIBLE=y
742# CONFIG_MFD_CORE is not set 744# CONFIG_MFD_CORE is not set
743# CONFIG_MFD_SM501 is not set 745# CONFIG_MFD_SM501 is not set
744# CONFIG_HTC_PASIC3 is not set 746# CONFIG_HTC_PASIC3 is not set
747# CONFIG_MFD_TMIO is not set
748# CONFIG_MFD_WM8400 is not set
749# CONFIG_MFD_WM8350_I2C is not set
745 750
746# 751#
747# Multimedia devices 752# Multimedia devices
@@ -789,6 +794,9 @@ CONFIG_USB_DEVICE_CLASS=y
789# CONFIG_USB_OTG is not set 794# CONFIG_USB_OTG is not set
790# CONFIG_USB_OTG_WHITELIST is not set 795# CONFIG_USB_OTG_WHITELIST is not set
791# CONFIG_USB_OTG_BLACKLIST_HUB is not set 796# CONFIG_USB_OTG_BLACKLIST_HUB is not set
797CONFIG_USB_MON=y
798# CONFIG_USB_WUSB is not set
799# CONFIG_USB_WUSB_CBAF is not set
792 800
793# 801#
794# USB Host Controller Drivers 802# USB Host Controller Drivers
@@ -805,6 +813,7 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
805CONFIG_USB_OHCI_LITTLE_ENDIAN=y 813CONFIG_USB_OHCI_LITTLE_ENDIAN=y
806# CONFIG_USB_SL811_HCD is not set 814# CONFIG_USB_SL811_HCD is not set
807# CONFIG_USB_R8A66597_HCD is not set 815# CONFIG_USB_R8A66597_HCD is not set
816# CONFIG_USB_HWA_HCD is not set
808 817
809# 818#
810# USB Device Class drivers 819# USB Device Class drivers
@@ -812,6 +821,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
812# CONFIG_USB_ACM is not set 821# CONFIG_USB_ACM is not set
813# CONFIG_USB_PRINTER is not set 822# CONFIG_USB_PRINTER is not set
814# CONFIG_USB_WDM is not set 823# CONFIG_USB_WDM is not set
824# CONFIG_USB_TMC is not set
815 825
816# 826#
817# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 827# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -840,7 +850,6 @@ CONFIG_USB_STORAGE=y
840# 850#
841# CONFIG_USB_MDC800 is not set 851# CONFIG_USB_MDC800 is not set
842# CONFIG_USB_MICROTEK is not set 852# CONFIG_USB_MICROTEK is not set
843CONFIG_USB_MON=y
844 853
845# 854#
846# USB port drivers 855# USB port drivers
@@ -853,7 +862,7 @@ CONFIG_USB_MON=y
853# CONFIG_USB_EMI62 is not set 862# CONFIG_USB_EMI62 is not set
854# CONFIG_USB_EMI26 is not set 863# CONFIG_USB_EMI26 is not set
855# CONFIG_USB_ADUTUX is not set 864# CONFIG_USB_ADUTUX is not set
856# CONFIG_USB_AUERSWALD is not set 865# CONFIG_USB_SEVSEG is not set
857# CONFIG_USB_RIO500 is not set 866# CONFIG_USB_RIO500 is not set
858# CONFIG_USB_LEGOTOWER is not set 867# CONFIG_USB_LEGOTOWER is not set
859# CONFIG_USB_LCD is not set 868# CONFIG_USB_LCD is not set
@@ -869,13 +878,14 @@ CONFIG_USB_MON=y
869# CONFIG_USB_TRANCEVIBRATOR is not set 878# CONFIG_USB_TRANCEVIBRATOR is not set
870# CONFIG_USB_IOWARRIOR is not set 879# CONFIG_USB_IOWARRIOR is not set
871# CONFIG_USB_ISIGHTFW is not set 880# CONFIG_USB_ISIGHTFW is not set
881# CONFIG_USB_VST is not set
872# CONFIG_USB_GADGET is not set 882# CONFIG_USB_GADGET is not set
873CONFIG_MMC=m 883CONFIG_MMC=m
874# CONFIG_MMC_DEBUG is not set 884# CONFIG_MMC_DEBUG is not set
875# CONFIG_MMC_UNSAFE_RESUME is not set 885# CONFIG_MMC_UNSAFE_RESUME is not set
876 886
877# 887#
878# MMC/SD Card Drivers 888# MMC/SD/SDIO Card Drivers
879# 889#
880CONFIG_MMC_BLOCK=m 890CONFIG_MMC_BLOCK=m
881CONFIG_MMC_BLOCK_BOUNCE=y 891CONFIG_MMC_BLOCK_BOUNCE=y
@@ -883,7 +893,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
883# CONFIG_MMC_TEST is not set 893# CONFIG_MMC_TEST is not set
884 894
885# 895#
886# MMC/SD Host Controller Drivers 896# MMC/SD/SDIO Host Controller Drivers
887# 897#
888# CONFIG_MMC_SDHCI is not set 898# CONFIG_MMC_SDHCI is not set
889# CONFIG_MMC_WBSD is not set 899# CONFIG_MMC_WBSD is not set
@@ -894,6 +904,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
894# CONFIG_RTC_CLASS is not set 904# CONFIG_RTC_CLASS is not set
895# CONFIG_DMADEVICES is not set 905# CONFIG_DMADEVICES is not set
896# CONFIG_UIO is not set 906# CONFIG_UIO is not set
907# CONFIG_STAGING is not set
897 908
898# 909#
899# File systems 910# File systems
@@ -902,10 +913,11 @@ CONFIG_EXT2_FS=y
902# CONFIG_EXT2_FS_XATTR is not set 913# CONFIG_EXT2_FS_XATTR is not set
903# CONFIG_EXT2_FS_XIP is not set 914# CONFIG_EXT2_FS_XIP is not set
904# CONFIG_EXT3_FS is not set 915# CONFIG_EXT3_FS is not set
905# CONFIG_EXT4DEV_FS is not set 916# CONFIG_EXT4_FS is not set
906# CONFIG_REISERFS_FS is not set 917# CONFIG_REISERFS_FS is not set
907# CONFIG_JFS_FS is not set 918# CONFIG_JFS_FS is not set
908# CONFIG_FS_POSIX_ACL is not set 919# CONFIG_FS_POSIX_ACL is not set
920CONFIG_FILE_LOCKING=y
909# CONFIG_XFS_FS is not set 921# CONFIG_XFS_FS is not set
910# CONFIG_OCFS2_FS is not set 922# CONFIG_OCFS2_FS is not set
911CONFIG_DNOTIFY=y 923CONFIG_DNOTIFY=y
@@ -938,6 +950,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
938CONFIG_PROC_FS=y 950CONFIG_PROC_FS=y
939CONFIG_PROC_KCORE=y 951CONFIG_PROC_KCORE=y
940CONFIG_PROC_SYSCTL=y 952CONFIG_PROC_SYSCTL=y
953CONFIG_PROC_PAGE_MONITOR=y
941CONFIG_SYSFS=y 954CONFIG_SYSFS=y
942# CONFIG_TMPFS is not set 955# CONFIG_TMPFS is not set
943# CONFIG_HUGETLB_PAGE is not set 956# CONFIG_HUGETLB_PAGE is not set
@@ -984,6 +997,7 @@ CONFIG_LOCKD=y
984CONFIG_LOCKD_V4=y 997CONFIG_LOCKD_V4=y
985CONFIG_NFS_COMMON=y 998CONFIG_NFS_COMMON=y
986CONFIG_SUNRPC=y 999CONFIG_SUNRPC=y
1000# CONFIG_SUNRPC_REGISTER_V4 is not set
987# CONFIG_RPCSEC_GSS_KRB5 is not set 1001# CONFIG_RPCSEC_GSS_KRB5 is not set
988# CONFIG_RPCSEC_GSS_SPKM3 is not set 1002# CONFIG_RPCSEC_GSS_SPKM3 is not set
989# CONFIG_SMB_FS is not set 1003# CONFIG_SMB_FS is not set
@@ -1043,7 +1057,6 @@ CONFIG_NLS_UTF8=y
1043# Library routines 1057# Library routines
1044# 1058#
1045CONFIG_BITREVERSE=y 1059CONFIG_BITREVERSE=y
1046# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1047CONFIG_CRC_CCITT=y 1060CONFIG_CRC_CCITT=y
1048# CONFIG_CRC16 is not set 1061# CONFIG_CRC16 is not set
1049CONFIG_CRC_T10DIF=y 1062CONFIG_CRC_T10DIF=y
@@ -1096,14 +1109,21 @@ CONFIG_DEBUG_INFO=y
1096# CONFIG_DEBUG_SG is not set 1109# CONFIG_DEBUG_SG is not set
1097# CONFIG_BOOT_PRINTK_DELAY is not set 1110# CONFIG_BOOT_PRINTK_DELAY is not set
1098# CONFIG_RCU_TORTURE_TEST is not set 1111# CONFIG_RCU_TORTURE_TEST is not set
1112# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1099# CONFIG_BACKTRACE_SELF_TEST is not set 1113# CONFIG_BACKTRACE_SELF_TEST is not set
1114# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1100# CONFIG_FAULT_INJECTION is not set 1115# CONFIG_FAULT_INJECTION is not set
1101# CONFIG_LATENCYTOP is not set 1116# CONFIG_LATENCYTOP is not set
1117CONFIG_SYSCTL_SYSCALL_CHECK=y
1118CONFIG_NOP_TRACER=y
1102CONFIG_HAVE_FTRACE=y 1119CONFIG_HAVE_FTRACE=y
1103CONFIG_HAVE_DYNAMIC_FTRACE=y 1120CONFIG_HAVE_DYNAMIC_FTRACE=y
1104# CONFIG_FTRACE is not set 1121# CONFIG_FTRACE is not set
1105# CONFIG_SCHED_TRACER is not set 1122# CONFIG_SCHED_TRACER is not set
1106# CONFIG_CONTEXT_SWITCH_TRACER is not set 1123# CONFIG_CONTEXT_SWITCH_TRACER is not set
1124# CONFIG_BOOT_TRACER is not set
1125# CONFIG_STACK_TRACER is not set
1126# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1107# CONFIG_SAMPLES is not set 1127# CONFIG_SAMPLES is not set
1108CONFIG_HAVE_ARCH_KGDB=y 1128CONFIG_HAVE_ARCH_KGDB=y
1109# CONFIG_KGDB is not set 1129# CONFIG_KGDB is not set
@@ -1112,6 +1132,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1112# CONFIG_DEBUG_PAGEALLOC is not set 1132# CONFIG_DEBUG_PAGEALLOC is not set
1113# CONFIG_CODE_PATCHING_SELFTEST is not set 1133# CONFIG_CODE_PATCHING_SELFTEST is not set
1114# CONFIG_FTR_FIXUP_SELFTEST is not set 1134# CONFIG_FTR_FIXUP_SELFTEST is not set
1135# CONFIG_MSI_BITMAP_SELFTEST is not set
1115# CONFIG_XMON is not set 1136# CONFIG_XMON is not set
1116# CONFIG_IRQSTACKS is not set 1137# CONFIG_IRQSTACKS is not set
1117# CONFIG_VIRQ_DEBUG is not set 1138# CONFIG_VIRQ_DEBUG is not set
@@ -1123,12 +1144,14 @@ CONFIG_BDI_SWITCH=y
1123# 1144#
1124# CONFIG_KEYS is not set 1145# CONFIG_KEYS is not set
1125# CONFIG_SECURITY is not set 1146# CONFIG_SECURITY is not set
1147# CONFIG_SECURITYFS is not set
1126# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1148# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1127CONFIG_CRYPTO=y 1149CONFIG_CRYPTO=y
1128 1150
1129# 1151#
1130# Crypto core or helper 1152# Crypto core or helper
1131# 1153#
1154# CONFIG_CRYPTO_FIPS is not set
1132# CONFIG_CRYPTO_MANAGER is not set 1155# CONFIG_CRYPTO_MANAGER is not set
1133# CONFIG_CRYPTO_GF128MUL is not set 1156# CONFIG_CRYPTO_GF128MUL is not set
1134# CONFIG_CRYPTO_NULL is not set 1157# CONFIG_CRYPTO_NULL is not set
@@ -1201,6 +1224,11 @@ CONFIG_CRYPTO=y
1201# 1224#
1202# CONFIG_CRYPTO_DEFLATE is not set 1225# CONFIG_CRYPTO_DEFLATE is not set
1203# CONFIG_CRYPTO_LZO is not set 1226# CONFIG_CRYPTO_LZO is not set
1227
1228#
1229# Random Number Generation
1230#
1231# CONFIG_CRYPTO_ANSI_CPRNG is not set
1204CONFIG_CRYPTO_HW=y 1232CONFIG_CRYPTO_HW=y
1205# CONFIG_PPC_CLOCK is not set 1233# CONFIG_PPC_CLOCK is not set
1206# CONFIG_VIRTUALIZATION is not set 1234# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index 0b1fa20f745c..cbecaf3d7906 100644
--- a/arch/powerpc/configs/83xx/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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:01 2008 4# Sat Nov 8 12:39:49 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -54,8 +54,6 @@ CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55# CONFIG_DEFAULT_UIMAGE is not set 55# CONFIG_DEFAULT_UIMAGE is not set
56CONFIG_REDBOOT=y 56CONFIG_REDBOOT=y
57CONFIG_HIBERNATE_32=y
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
60# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
@@ -99,7 +97,6 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 97CONFIG_PRINTK=y
100CONFIG_BUG=y 98CONFIG_BUG=y
101CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 100CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 102CONFIG_FUTEX=y
@@ -109,7 +106,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
115CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 155CONFIG_CLASSIC_RCU=y
156# CONFIG_FREEZER is not set
161 157
162# 158#
163# Platform support 159# Platform support
@@ -165,10 +161,10 @@ CONFIG_CLASSIC_RCU=y
165CONFIG_PPC_MULTIPLATFORM=y 161CONFIG_PPC_MULTIPLATFORM=y
166CONFIG_CLASSIC32=y 162CONFIG_CLASSIC32=y
167# CONFIG_PPC_CHRP is not set 163# CONFIG_PPC_CHRP is not set
168# CONFIG_PPC_PMAC is not set
169# CONFIG_MPC5121_ADS is not set 164# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set 165# CONFIG_MPC5121_GENERIC is not set
171# CONFIG_PPC_MPC52xx is not set 166# CONFIG_PPC_MPC52xx is not set
167# CONFIG_PPC_PMAC is not set
172# CONFIG_PPC_CELL is not set 168# CONFIG_PPC_CELL is not set
173# CONFIG_PPC_CELL_NATIVE is not set 169# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set 170# CONFIG_PPC_82xx is not set
@@ -188,24 +184,21 @@ CONFIG_ASP834x=y
188CONFIG_PPC_MPC834x=y 184CONFIG_PPC_MPC834x=y
189# CONFIG_PPC_86xx is not set 185# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set 186# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
193CONFIG_IPIC=y 187CONFIG_IPIC=y
194CONFIG_MPIC=y 188# CONFIG_MPIC is not set
195# CONFIG_MPIC_WEIRD is not set 189# CONFIG_MPIC_WEIRD is not set
196CONFIG_PPC_I8259=y 190# CONFIG_PPC_I8259 is not set
197CONFIG_PPC_RTAS=y 191# CONFIG_PPC_RTAS is not set
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
200# CONFIG_MMIO_NVRAM is not set 192# CONFIG_MMIO_NVRAM is not set
201CONFIG_PPC_MPC106=y 193# CONFIG_PPC_MPC106 is not set
202# CONFIG_PPC_970_NAP is not set 194# CONFIG_PPC_970_NAP is not set
203# CONFIG_PPC_INDIRECT_IO is not set 195# CONFIG_PPC_INDIRECT_IO is not set
204# CONFIG_GENERIC_IOMAP is not set 196# CONFIG_GENERIC_IOMAP is not set
205# CONFIG_CPU_FREQ is not set 197# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set 198# CONFIG_TAU is not set
199# CONFIG_QUICC_ENGINE is not set
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
201# CONFIG_MPC8xxx_GPIO is not set
209 202
210# 203#
211# Kernel options 204# Kernel options
@@ -225,6 +218,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 218# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 219# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 220CONFIG_BINFMT_ELF=y
221# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
222# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 223# CONFIG_BINFMT_MISC is not set
229# CONFIG_IOMMU_HELPER is not set 224# CONFIG_IOMMU_HELPER is not set
230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -239,15 +234,15 @@ CONFIG_FLATMEM_MANUAL=y
239# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
240CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
241CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
242# CONFIG_SPARSEMEM_STATIC is not set
243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
244CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
245CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y 239CONFIG_MIGRATION=y
247# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
250CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
251CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 247CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
@@ -259,7 +254,6 @@ CONFIG_ISA_DMA_API=y
259# 254#
260# Bus options 255# Bus options
261# 256#
262# CONFIG_ISA is not set
263CONFIG_ZONE_DMA=y 257CONFIG_ZONE_DMA=y
264CONFIG_GENERIC_ISA_DMA=y 258CONFIG_GENERIC_ISA_DMA=y
265CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
@@ -272,7 +266,7 @@ CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set 266# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y 267CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set 268# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y 269# CONFIG_PCI_LEGACY is not set
276# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 272# CONFIG_HAS_RAPIDIO is not set
@@ -340,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 335# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
343# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
344# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
345# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -360,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
361# CONFIG_BT is not set 356# CONFIG_BT is not set
362# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
363 358# CONFIG_PHONET is not set
364# 359CONFIG_WIRELESS=y
365# Wireless
366#
367# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
368# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
369# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
370# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -470,7 +464,6 @@ CONFIG_OF_I2C=y
470# CONFIG_PARPORT is not set 464# CONFIG_PARPORT is not set
471CONFIG_BLK_DEV=y 465CONFIG_BLK_DEV=y
472# CONFIG_BLK_DEV_FD is not set 466# CONFIG_BLK_DEV_FD is not set
473# CONFIG_MAC_FLOPPY is not set
474# CONFIG_BLK_CPQ_DA is not set 467# CONFIG_BLK_CPQ_DA is not set
475# CONFIG_BLK_CPQ_CISS_DA is not set 468# CONFIG_BLK_CPQ_CISS_DA is not set
476# CONFIG_BLK_DEV_DAC960 is not set 469# CONFIG_BLK_DEV_DAC960 is not set
@@ -547,8 +540,6 @@ CONFIG_PHYLIB=y
547# CONFIG_MDIO_BITBANG is not set 540# CONFIG_MDIO_BITBANG is not set
548CONFIG_NET_ETHERNET=y 541CONFIG_NET_ETHERNET=y
549CONFIG_MII=y 542CONFIG_MII=y
550# CONFIG_MACE is not set
551# CONFIG_BMAC is not set
552# CONFIG_HAPPYMEAL is not set 543# CONFIG_HAPPYMEAL is not set
553# CONFIG_SUNGEM is not set 544# CONFIG_SUNGEM is not set
554# CONFIG_CASSINI is not set 545# CONFIG_CASSINI is not set
@@ -559,8 +550,12 @@ CONFIG_MII=y
559# CONFIG_IBM_NEW_EMAC_RGMII is not set 550# CONFIG_IBM_NEW_EMAC_RGMII is not set
560# CONFIG_IBM_NEW_EMAC_TAH is not set 551# CONFIG_IBM_NEW_EMAC_TAH is not set
561# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 552# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
553# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
554# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
555# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
562# CONFIG_NET_PCI is not set 556# CONFIG_NET_PCI is not set
563# CONFIG_B44 is not set 557# CONFIG_B44 is not set
558# CONFIG_ATL2 is not set
564CONFIG_NETDEV_1000=y 559CONFIG_NETDEV_1000=y
565# CONFIG_ACENIC is not set 560# CONFIG_ACENIC is not set
566# CONFIG_DL2K is not set 561# CONFIG_DL2K is not set
@@ -583,6 +578,7 @@ CONFIG_GIANFAR=y
583# CONFIG_QLA3XXX is not set 578# CONFIG_QLA3XXX is not set
584# CONFIG_ATL1 is not set 579# CONFIG_ATL1 is not set
585# CONFIG_ATL1E is not set 580# CONFIG_ATL1E is not set
581# CONFIG_JME is not set
586# CONFIG_NETDEV_10000 is not set 582# CONFIG_NETDEV_10000 is not set
587# CONFIG_TR is not set 583# CONFIG_TR is not set
588 584
@@ -667,14 +663,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
667# CONFIG_SERIAL_UARTLITE is not set 663# CONFIG_SERIAL_UARTLITE is not set
668CONFIG_SERIAL_CORE=y 664CONFIG_SERIAL_CORE=y
669CONFIG_SERIAL_CORE_CONSOLE=y 665CONFIG_SERIAL_CORE_CONSOLE=y
670# CONFIG_SERIAL_PMACZILOG is not set
671# CONFIG_SERIAL_JSM is not set 666# CONFIG_SERIAL_JSM is not set
672# CONFIG_SERIAL_OF_PLATFORM is not set 667# CONFIG_SERIAL_OF_PLATFORM is not set
673CONFIG_UNIX98_PTYS=y 668CONFIG_UNIX98_PTYS=y
674CONFIG_LEGACY_PTYS=y 669CONFIG_LEGACY_PTYS=y
675CONFIG_LEGACY_PTY_COUNT=256 670CONFIG_LEGACY_PTY_COUNT=256
676# CONFIG_BRIQ_PANEL is not set
677# CONFIG_HVC_RTAS is not set
678# CONFIG_IPMI_HANDLER is not set 671# CONFIG_IPMI_HANDLER is not set
679# CONFIG_HW_RANDOM is not set 672# CONFIG_HW_RANDOM is not set
680# CONFIG_NVRAM is not set 673# CONFIG_NVRAM is not set
@@ -711,12 +704,6 @@ CONFIG_I2C_HELPER_AUTO=y
711# CONFIG_I2C_VIAPRO is not set 704# CONFIG_I2C_VIAPRO is not set
712 705
713# 706#
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) 707# I2C system bus drivers (mostly embedded / system-on-chip)
721# 708#
722CONFIG_I2C_MPC=y 709CONFIG_I2C_MPC=y
@@ -753,6 +740,7 @@ CONFIG_I2C_MPC=y
753# CONFIG_SENSORS_PCF8591 is not set 740# CONFIG_SENSORS_PCF8591 is not set
754# CONFIG_SENSORS_MAX6875 is not set 741# CONFIG_SENSORS_MAX6875 is not set
755# CONFIG_SENSORS_TSL2550 is not set 742# CONFIG_SENSORS_TSL2550 is not set
743# CONFIG_MCU_MPC8349EMITX is not set
756# CONFIG_I2C_DEBUG_CORE is not set 744# CONFIG_I2C_DEBUG_CORE is not set
757# CONFIG_I2C_DEBUG_ALGO is not set 745# CONFIG_I2C_DEBUG_ALGO is not set
758# CONFIG_I2C_DEBUG_BUS is not set 746# CONFIG_I2C_DEBUG_BUS is not set
@@ -774,7 +762,6 @@ CONFIG_HWMON=y
774# CONFIG_SENSORS_ADM9240 is not set 762# CONFIG_SENSORS_ADM9240 is not set
775# CONFIG_SENSORS_ADT7470 is not set 763# CONFIG_SENSORS_ADT7470 is not set
776# CONFIG_SENSORS_ADT7473 is not set 764# CONFIG_SENSORS_ADT7473 is not set
777# CONFIG_SENSORS_AMS is not set
778# CONFIG_SENSORS_ATXP1 is not set 765# CONFIG_SENSORS_ATXP1 is not set
779# CONFIG_SENSORS_DS1621 is not set 766# CONFIG_SENSORS_DS1621 is not set
780# CONFIG_SENSORS_I5K_AMB is not set 767# CONFIG_SENSORS_I5K_AMB is not set
@@ -829,7 +816,6 @@ CONFIG_WATCHDOG=y
829# CONFIG_SOFT_WATCHDOG is not set 816# CONFIG_SOFT_WATCHDOG is not set
830# CONFIG_ALIM7101_WDT is not set 817# CONFIG_ALIM7101_WDT is not set
831# CONFIG_8xxx_WDT is not set 818# CONFIG_8xxx_WDT is not set
832# CONFIG_WATCHDOG_RTAS is not set
833 819
834# 820#
835# PCI-based Watchdog Cards 821# PCI-based Watchdog Cards
@@ -855,6 +841,17 @@ CONFIG_SSB_POSSIBLE=y
855# CONFIG_MFD_SM501 is not set 841# CONFIG_MFD_SM501 is not set
856# CONFIG_HTC_PASIC3 is not set 842# CONFIG_HTC_PASIC3 is not set
857# CONFIG_MFD_TMIO is not set 843# CONFIG_MFD_TMIO is not set
844# CONFIG_PMIC_DA903X is not set
845# CONFIG_MFD_WM8400 is not set
846# CONFIG_MFD_WM8350_I2C is not set
847
848#
849# Voltage and Current regulators
850#
851# CONFIG_REGULATOR is not set
852# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
853# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
854# CONFIG_REGULATOR_BQ24022 is not set
858 855
859# 856#
860# Multimedia devices 857# Multimedia devices
@@ -907,6 +904,8 @@ CONFIG_USB_DEVICE_CLASS=y
907# CONFIG_USB_OTG_WHITELIST is not set 904# CONFIG_USB_OTG_WHITELIST is not set
908# CONFIG_USB_OTG_BLACKLIST_HUB is not set 905# CONFIG_USB_OTG_BLACKLIST_HUB is not set
909CONFIG_USB_MON=y 906CONFIG_USB_MON=y
907# CONFIG_USB_WUSB is not set
908# CONFIG_USB_WUSB_CBAF is not set
910 909
911# 910#
912# USB Host Controller Drivers 911# USB Host Controller Drivers
@@ -923,6 +922,8 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
923# CONFIG_USB_UHCI_HCD is not set 922# CONFIG_USB_UHCI_HCD is not set
924# CONFIG_USB_SL811_HCD is not set 923# CONFIG_USB_SL811_HCD is not set
925# CONFIG_USB_R8A66597_HCD is not set 924# CONFIG_USB_R8A66597_HCD is not set
925# CONFIG_USB_WHCI_HCD is not set
926# CONFIG_USB_HWA_HCD is not set
926 927
927# 928#
928# USB Device Class drivers 929# USB Device Class drivers
@@ -930,6 +931,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
930# CONFIG_USB_ACM is not set 931# CONFIG_USB_ACM is not set
931# CONFIG_USB_PRINTER is not set 932# CONFIG_USB_PRINTER is not set
932# CONFIG_USB_WDM is not set 933# CONFIG_USB_WDM is not set
934# CONFIG_USB_TMC is not set
933 935
934# 936#
935# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 937# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -956,6 +958,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
956# CONFIG_USB_EMI62 is not set 958# CONFIG_USB_EMI62 is not set
957# CONFIG_USB_EMI26 is not set 959# CONFIG_USB_EMI26 is not set
958# CONFIG_USB_ADUTUX is not set 960# CONFIG_USB_ADUTUX is not set
961# CONFIG_USB_SEVSEG is not set
959# CONFIG_USB_RIO500 is not set 962# CONFIG_USB_RIO500 is not set
960# CONFIG_USB_LEGOTOWER is not set 963# CONFIG_USB_LEGOTOWER is not set
961# CONFIG_USB_LCD is not set 964# CONFIG_USB_LCD is not set
@@ -972,7 +975,9 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
972# CONFIG_USB_TRANCEVIBRATOR is not set 975# CONFIG_USB_TRANCEVIBRATOR is not set
973# CONFIG_USB_IOWARRIOR is not set 976# CONFIG_USB_IOWARRIOR is not set
974# CONFIG_USB_ISIGHTFW is not set 977# CONFIG_USB_ISIGHTFW is not set
978# CONFIG_USB_VST is not set
975# CONFIG_USB_GADGET is not set 979# CONFIG_USB_GADGET is not set
980# CONFIG_UWB is not set
976# CONFIG_MMC is not set 981# CONFIG_MMC is not set
977# CONFIG_MEMSTICK is not set 982# CONFIG_MEMSTICK is not set
978# CONFIG_NEW_LEDS is not set 983# CONFIG_NEW_LEDS is not set
@@ -1018,12 +1023,15 @@ CONFIG_RTC_DRV_DS1374=y
1018# Platform RTC drivers 1023# Platform RTC drivers
1019# 1024#
1020# CONFIG_RTC_DRV_CMOS is not set 1025# CONFIG_RTC_DRV_CMOS is not set
1026# CONFIG_RTC_DRV_DS1286 is not set
1021# CONFIG_RTC_DRV_DS1511 is not set 1027# CONFIG_RTC_DRV_DS1511 is not set
1022# CONFIG_RTC_DRV_DS1553 is not set 1028# CONFIG_RTC_DRV_DS1553 is not set
1023# CONFIG_RTC_DRV_DS1742 is not set 1029# CONFIG_RTC_DRV_DS1742 is not set
1024# CONFIG_RTC_DRV_STK17TA8 is not set 1030# CONFIG_RTC_DRV_STK17TA8 is not set
1025# CONFIG_RTC_DRV_M48T86 is not set 1031# CONFIG_RTC_DRV_M48T86 is not set
1032# CONFIG_RTC_DRV_M48T35 is not set
1026# CONFIG_RTC_DRV_M48T59 is not set 1033# CONFIG_RTC_DRV_M48T59 is not set
1034# CONFIG_RTC_DRV_BQ4802 is not set
1027# CONFIG_RTC_DRV_V3020 is not set 1035# CONFIG_RTC_DRV_V3020 is not set
1028 1036
1029# 1037#
@@ -1032,6 +1040,7 @@ CONFIG_RTC_DRV_DS1374=y
1032# CONFIG_RTC_DRV_PPC is not set 1040# CONFIG_RTC_DRV_PPC is not set
1033# CONFIG_DMADEVICES is not set 1041# CONFIG_DMADEVICES is not set
1034# CONFIG_UIO is not set 1042# CONFIG_UIO is not set
1043# CONFIG_STAGING is not set
1035 1044
1036# 1045#
1037# File systems 1046# File systems
@@ -1043,12 +1052,13 @@ CONFIG_EXT3_FS=y
1043CONFIG_EXT3_FS_XATTR=y 1052CONFIG_EXT3_FS_XATTR=y
1044# CONFIG_EXT3_FS_POSIX_ACL is not set 1053# CONFIG_EXT3_FS_POSIX_ACL is not set
1045# CONFIG_EXT3_FS_SECURITY is not set 1054# CONFIG_EXT3_FS_SECURITY is not set
1046# CONFIG_EXT4DEV_FS is not set 1055# CONFIG_EXT4_FS is not set
1047CONFIG_JBD=y 1056CONFIG_JBD=y
1048CONFIG_FS_MBCACHE=y 1057CONFIG_FS_MBCACHE=y
1049# CONFIG_REISERFS_FS is not set 1058# CONFIG_REISERFS_FS is not set
1050# CONFIG_JFS_FS is not set 1059# CONFIG_JFS_FS is not set
1051# CONFIG_FS_POSIX_ACL is not set 1060# CONFIG_FS_POSIX_ACL is not set
1061CONFIG_FILE_LOCKING=y
1052# CONFIG_XFS_FS is not set 1062# CONFIG_XFS_FS is not set
1053# CONFIG_OCFS2_FS is not set 1063# CONFIG_OCFS2_FS is not set
1054CONFIG_DNOTIFY=y 1064CONFIG_DNOTIFY=y
@@ -1078,6 +1088,7 @@ CONFIG_INOTIFY_USER=y
1078CONFIG_PROC_FS=y 1088CONFIG_PROC_FS=y
1079CONFIG_PROC_KCORE=y 1089CONFIG_PROC_KCORE=y
1080CONFIG_PROC_SYSCTL=y 1090CONFIG_PROC_SYSCTL=y
1091CONFIG_PROC_PAGE_MONITOR=y
1081CONFIG_SYSFS=y 1092CONFIG_SYSFS=y
1082CONFIG_TMPFS=y 1093CONFIG_TMPFS=y
1083# CONFIG_TMPFS_POSIX_ACL is not set 1094# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1126,6 +1137,7 @@ CONFIG_LOCKD_V4=y
1126CONFIG_NFS_COMMON=y 1137CONFIG_NFS_COMMON=y
1127CONFIG_SUNRPC=y 1138CONFIG_SUNRPC=y
1128CONFIG_SUNRPC_GSS=y 1139CONFIG_SUNRPC_GSS=y
1140# CONFIG_SUNRPC_REGISTER_V4 is not set
1129CONFIG_RPCSEC_GSS_KRB5=y 1141CONFIG_RPCSEC_GSS_KRB5=y
1130# CONFIG_RPCSEC_GSS_SPKM3 is not set 1142# CONFIG_RPCSEC_GSS_SPKM3 is not set
1131# CONFIG_SMB_FS is not set 1143# CONFIG_SMB_FS is not set
@@ -1197,7 +1209,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1197# Library routines 1209# Library routines
1198# 1210#
1199CONFIG_BITREVERSE=y 1211CONFIG_BITREVERSE=y
1200# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1201# CONFIG_CRC_CCITT is not set 1212# CONFIG_CRC_CCITT is not set
1202# CONFIG_CRC16 is not set 1213# CONFIG_CRC16 is not set
1203# CONFIG_CRC_T10DIF is not set 1214# CONFIG_CRC_T10DIF is not set
@@ -1229,13 +1240,15 @@ CONFIG_FRAME_WARN=1024
1229# CONFIG_SLUB_STATS is not set 1240# CONFIG_SLUB_STATS is not set
1230# CONFIG_DEBUG_BUGVERBOSE is not set 1241# CONFIG_DEBUG_BUGVERBOSE is not set
1231# CONFIG_DEBUG_MEMORY_INIT is not set 1242# CONFIG_DEBUG_MEMORY_INIT is not set
1243# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1232# CONFIG_LATENCYTOP is not set 1244# CONFIG_LATENCYTOP is not set
1233# CONFIG_SYSCTL_SYSCALL_CHECK is not set 1245# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1234CONFIG_HAVE_FTRACE=y 1246CONFIG_HAVE_FUNCTION_TRACER=y
1235CONFIG_HAVE_DYNAMIC_FTRACE=y 1247
1236# CONFIG_FTRACE is not set 1248#
1237# CONFIG_SCHED_TRACER is not set 1249# Tracers
1238# CONFIG_CONTEXT_SWITCH_TRACER is not set 1250#
1251# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1239# CONFIG_SAMPLES is not set 1252# CONFIG_SAMPLES is not set
1240CONFIG_HAVE_ARCH_KGDB=y 1253CONFIG_HAVE_ARCH_KGDB=y
1241# CONFIG_IRQSTACKS is not set 1254# CONFIG_IRQSTACKS is not set
@@ -1247,14 +1260,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1247# 1260#
1248# CONFIG_KEYS is not set 1261# CONFIG_KEYS is not set
1249# CONFIG_SECURITY is not set 1262# CONFIG_SECURITY is not set
1263# CONFIG_SECURITYFS is not set
1250# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1264# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1251CONFIG_CRYPTO=y 1265CONFIG_CRYPTO=y
1252 1266
1253# 1267#
1254# Crypto core or helper 1268# Crypto core or helper
1255# 1269#
1270# CONFIG_CRYPTO_FIPS is not set
1256CONFIG_CRYPTO_ALGAPI=y 1271CONFIG_CRYPTO_ALGAPI=y
1272CONFIG_CRYPTO_AEAD=y
1257CONFIG_CRYPTO_BLKCIPHER=y 1273CONFIG_CRYPTO_BLKCIPHER=y
1274CONFIG_CRYPTO_HASH=y
1275CONFIG_CRYPTO_RNG=y
1258CONFIG_CRYPTO_MANAGER=y 1276CONFIG_CRYPTO_MANAGER=y
1259# CONFIG_CRYPTO_GF128MUL is not set 1277# CONFIG_CRYPTO_GF128MUL is not set
1260# CONFIG_CRYPTO_NULL is not set 1278# CONFIG_CRYPTO_NULL is not set
@@ -1327,6 +1345,11 @@ CONFIG_CRYPTO_DES=y
1327# 1345#
1328# CONFIG_CRYPTO_DEFLATE is not set 1346# CONFIG_CRYPTO_DEFLATE is not set
1329# CONFIG_CRYPTO_LZO is not set 1347# CONFIG_CRYPTO_LZO is not set
1348
1349#
1350# Random Number Generation
1351#
1352# CONFIG_CRYPTO_ANSI_CPRNG is not set
1330CONFIG_CRYPTO_HW=y 1353CONFIG_CRYPTO_HW=y
1331# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1354# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1332# CONFIG_CRYPTO_DEV_TALITOS is not set 1355# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index b7eae2bdf19c..bfc32ea265a7 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:17 2008 4# Sat Nov 8 12:39:50 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,21 @@ CONFIG_MPC831x_RDB=y
187CONFIG_PPC_MPC831x=y 183CONFIG_PPC_MPC831x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
200# CONFIG_MPC8xxx_GPIO is not set
208 201
209# 202#
210# Kernel options 203# Kernel options
@@ -224,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +253,6 @@ CONFIG_ISA_DMA_API=y
258# 253#
259# Bus options 254# Bus options
260# 255#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_DEBUG is not set 269# CONFIG_PCI_DEBUG is not set
276# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
@@ -340,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 335# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
343# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
344# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
345# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -360,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
361# CONFIG_BT is not set 356# CONFIG_BT is not set
362# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
363 358# CONFIG_PHONET is not set
364# 359CONFIG_WIRELESS=y
365# Wireless
366#
367# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
368# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
369# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
370# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -470,6 +464,7 @@ CONFIG_MTD_NAND_IDS=y
470# CONFIG_MTD_NAND_PLATFORM is not set 464# CONFIG_MTD_NAND_PLATFORM is not set
471# CONFIG_MTD_ALAUDA is not set 465# CONFIG_MTD_ALAUDA is not set
472CONFIG_MTD_NAND_FSL_ELBC=y 466CONFIG_MTD_NAND_FSL_ELBC=y
467# CONFIG_MTD_NAND_FSL_UPM is not set
473# CONFIG_MTD_ONENAND is not set 468# CONFIG_MTD_ONENAND is not set
474 469
475# 470#
@@ -482,7 +477,6 @@ CONFIG_OF_SPI=y
482# CONFIG_PARPORT is not set 477# CONFIG_PARPORT is not set
483CONFIG_BLK_DEV=y 478CONFIG_BLK_DEV=y
484# CONFIG_BLK_DEV_FD is not set 479# CONFIG_BLK_DEV_FD is not set
485# CONFIG_MAC_FLOPPY is not set
486# CONFIG_BLK_CPQ_DA is not set 480# CONFIG_BLK_CPQ_DA is not set
487# CONFIG_BLK_CPQ_CISS_DA is not set 481# CONFIG_BLK_CPQ_CISS_DA is not set
488# CONFIG_BLK_DEV_DAC960 is not set 482# CONFIG_BLK_DEV_DAC960 is not set
@@ -583,13 +577,12 @@ CONFIG_SCSI_LOWLEVEL=y
583# CONFIG_SCSI_DC390T is not set 577# CONFIG_SCSI_DC390T is not set
584# CONFIG_SCSI_NSP32 is not set 578# CONFIG_SCSI_NSP32 is not set
585# CONFIG_SCSI_DEBUG is not set 579# CONFIG_SCSI_DEBUG is not set
586# CONFIG_SCSI_MESH is not set
587# CONFIG_SCSI_MAC53C94 is not set
588# CONFIG_SCSI_SRP is not set 580# CONFIG_SCSI_SRP is not set
589# CONFIG_SCSI_DH is not set 581# CONFIG_SCSI_DH is not set
590# CONFIG_ATA is not set 582# CONFIG_ATA is not set
591CONFIG_MD=y 583CONFIG_MD=y
592CONFIG_BLK_DEV_MD=y 584CONFIG_BLK_DEV_MD=y
585CONFIG_MD_AUTODETECT=y
593CONFIG_MD_LINEAR=y 586CONFIG_MD_LINEAR=y
594CONFIG_MD_RAID0=y 587CONFIG_MD_RAID0=y
595CONFIG_MD_RAID1=y 588CONFIG_MD_RAID1=y
@@ -638,8 +631,6 @@ CONFIG_CICADA_PHY=y
638# CONFIG_MDIO_BITBANG is not set 631# CONFIG_MDIO_BITBANG is not set
639CONFIG_NET_ETHERNET=y 632CONFIG_NET_ETHERNET=y
640CONFIG_MII=y 633CONFIG_MII=y
641# CONFIG_MACE is not set
642# CONFIG_BMAC is not set
643# CONFIG_HAPPYMEAL is not set 634# CONFIG_HAPPYMEAL is not set
644# CONFIG_SUNGEM is not set 635# CONFIG_SUNGEM is not set
645# CONFIG_CASSINI is not set 636# CONFIG_CASSINI is not set
@@ -651,6 +642,9 @@ CONFIG_MII=y
651# CONFIG_IBM_NEW_EMAC_RGMII is not set 642# CONFIG_IBM_NEW_EMAC_RGMII is not set
652# CONFIG_IBM_NEW_EMAC_TAH is not set 643# CONFIG_IBM_NEW_EMAC_TAH is not set
653# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 644# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
645# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
646# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
647# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
654CONFIG_NET_PCI=y 648CONFIG_NET_PCI=y
655# CONFIG_PCNET32 is not set 649# CONFIG_PCNET32 is not set
656# CONFIG_AMD8111_ETH is not set 650# CONFIG_AMD8111_ETH is not set
@@ -671,6 +665,7 @@ CONFIG_E100=y
671# CONFIG_TLAN is not set 665# CONFIG_TLAN is not set
672# CONFIG_VIA_RHINE is not set 666# CONFIG_VIA_RHINE is not set
673# CONFIG_SC92031 is not set 667# CONFIG_SC92031 is not set
668# CONFIG_ATL2 is not set
674CONFIG_NETDEV_1000=y 669CONFIG_NETDEV_1000=y
675# CONFIG_ACENIC is not set 670# CONFIG_ACENIC is not set
676# CONFIG_DL2K is not set 671# CONFIG_DL2K is not set
@@ -693,18 +688,22 @@ CONFIG_GIANFAR=y
693# CONFIG_QLA3XXX is not set 688# CONFIG_QLA3XXX is not set
694# CONFIG_ATL1 is not set 689# CONFIG_ATL1 is not set
695# CONFIG_ATL1E is not set 690# CONFIG_ATL1E is not set
691# CONFIG_JME is not set
696CONFIG_NETDEV_10000=y 692CONFIG_NETDEV_10000=y
697# CONFIG_CHELSIO_T1 is not set 693# CONFIG_CHELSIO_T1 is not set
698# CONFIG_CHELSIO_T3 is not set 694# CONFIG_CHELSIO_T3 is not set
695# CONFIG_ENIC is not set
699# CONFIG_IXGBE is not set 696# CONFIG_IXGBE is not set
700# CONFIG_IXGB is not set 697# CONFIG_IXGB is not set
701# CONFIG_S2IO is not set 698# CONFIG_S2IO is not set
702# CONFIG_MYRI10GE is not set 699# CONFIG_MYRI10GE is not set
703# CONFIG_NETXEN_NIC is not set 700# CONFIG_NETXEN_NIC is not set
704# CONFIG_NIU is not set 701# CONFIG_NIU is not set
702# CONFIG_MLX4_EN is not set
705# CONFIG_MLX4_CORE is not set 703# CONFIG_MLX4_CORE is not set
706# CONFIG_TEHUTI is not set 704# CONFIG_TEHUTI is not set
707# CONFIG_BNX2X is not set 705# CONFIG_BNX2X is not set
706# CONFIG_QLGE is not set
708# CONFIG_SFC is not set 707# CONFIG_SFC is not set
709# CONFIG_TR is not set 708# CONFIG_TR is not set
710 709
@@ -790,14 +789,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
790# CONFIG_SERIAL_UARTLITE is not set 789# CONFIG_SERIAL_UARTLITE is not set
791CONFIG_SERIAL_CORE=y 790CONFIG_SERIAL_CORE=y
792CONFIG_SERIAL_CORE_CONSOLE=y 791CONFIG_SERIAL_CORE_CONSOLE=y
793# CONFIG_SERIAL_PMACZILOG is not set
794# CONFIG_SERIAL_JSM is not set 792# CONFIG_SERIAL_JSM is not set
795# CONFIG_SERIAL_OF_PLATFORM is not set 793# CONFIG_SERIAL_OF_PLATFORM is not set
796CONFIG_UNIX98_PTYS=y 794CONFIG_UNIX98_PTYS=y
797CONFIG_LEGACY_PTYS=y 795CONFIG_LEGACY_PTYS=y
798CONFIG_LEGACY_PTY_COUNT=256 796CONFIG_LEGACY_PTY_COUNT=256
799# CONFIG_BRIQ_PANEL is not set
800# CONFIG_HVC_RTAS is not set
801# CONFIG_IPMI_HANDLER is not set 797# CONFIG_IPMI_HANDLER is not set
802CONFIG_HW_RANDOM=y 798CONFIG_HW_RANDOM=y
803# CONFIG_NVRAM is not set 799# CONFIG_NVRAM is not set
@@ -834,12 +830,6 @@ CONFIG_I2C_HELPER_AUTO=y
834# CONFIG_I2C_VIAPRO is not set 830# CONFIG_I2C_VIAPRO is not set
835 831
836# 832#
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) 833# I2C system bus drivers (mostly embedded / system-on-chip)
844# 834#
845CONFIG_I2C_MPC=y 835CONFIG_I2C_MPC=y
@@ -876,6 +866,7 @@ CONFIG_I2C_MPC=y
876# CONFIG_SENSORS_PCF8591 is not set 866# CONFIG_SENSORS_PCF8591 is not set
877# CONFIG_SENSORS_MAX6875 is not set 867# CONFIG_SENSORS_MAX6875 is not set
878# CONFIG_SENSORS_TSL2550 is not set 868# CONFIG_SENSORS_TSL2550 is not set
869# CONFIG_MCU_MPC8349EMITX is not set
879# CONFIG_I2C_DEBUG_CORE is not set 870# CONFIG_I2C_DEBUG_CORE is not set
880# CONFIG_I2C_DEBUG_ALGO is not set 871# CONFIG_I2C_DEBUG_ALGO is not set
881# CONFIG_I2C_DEBUG_BUS is not set 872# CONFIG_I2C_DEBUG_BUS is not set
@@ -913,7 +904,6 @@ CONFIG_HWMON=y
913# CONFIG_SENSORS_ADM9240 is not set 904# CONFIG_SENSORS_ADM9240 is not set
914# CONFIG_SENSORS_ADT7470 is not set 905# CONFIG_SENSORS_ADT7470 is not set
915# CONFIG_SENSORS_ADT7473 is not set 906# CONFIG_SENSORS_ADT7473 is not set
916# CONFIG_SENSORS_AMS is not set
917# CONFIG_SENSORS_ATXP1 is not set 907# CONFIG_SENSORS_ATXP1 is not set
918# CONFIG_SENSORS_DS1621 is not set 908# CONFIG_SENSORS_DS1621 is not set
919# CONFIG_SENSORS_I5K_AMB is not set 909# CONFIG_SENSORS_I5K_AMB is not set
@@ -935,6 +925,7 @@ CONFIG_HWMON=y
935# CONFIG_SENSORS_LM90 is not set 925# CONFIG_SENSORS_LM90 is not set
936# CONFIG_SENSORS_LM92 is not set 926# CONFIG_SENSORS_LM92 is not set
937# CONFIG_SENSORS_LM93 is not set 927# CONFIG_SENSORS_LM93 is not set
928# CONFIG_SENSORS_MAX1111 is not set
938# CONFIG_SENSORS_MAX1619 is not set 929# CONFIG_SENSORS_MAX1619 is not set
939# CONFIG_SENSORS_MAX6650 is not set 930# CONFIG_SENSORS_MAX6650 is not set
940# CONFIG_SENSORS_PC87360 is not set 931# CONFIG_SENSORS_PC87360 is not set
@@ -969,7 +960,6 @@ CONFIG_WATCHDOG=y
969# CONFIG_SOFT_WATCHDOG is not set 960# CONFIG_SOFT_WATCHDOG is not set
970# CONFIG_ALIM7101_WDT is not set 961# CONFIG_ALIM7101_WDT is not set
971# CONFIG_8xxx_WDT is not set 962# CONFIG_8xxx_WDT is not set
972# CONFIG_WATCHDOG_RTAS is not set
973 963
974# 964#
975# PCI-based Watchdog Cards 965# PCI-based Watchdog Cards
@@ -995,6 +985,17 @@ CONFIG_SSB_POSSIBLE=y
995# CONFIG_MFD_SM501 is not set 985# CONFIG_MFD_SM501 is not set
996# CONFIG_HTC_PASIC3 is not set 986# CONFIG_HTC_PASIC3 is not set
997# CONFIG_MFD_TMIO is not set 987# CONFIG_MFD_TMIO is not set
988# CONFIG_PMIC_DA903X is not set
989# CONFIG_MFD_WM8400 is not set
990# CONFIG_MFD_WM8350_I2C is not set
991
992#
993# Voltage and Current regulators
994#
995# CONFIG_REGULATOR is not set
996# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
997# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
998# CONFIG_REGULATOR_BQ24022 is not set
998 999
999# 1000#
1000# Multimedia devices 1001# Multimedia devices
@@ -1037,12 +1038,18 @@ CONFIG_HID=y
1037# USB Input Devices 1038# USB Input Devices
1038# 1039#
1039# CONFIG_USB_HID is not set 1040# CONFIG_USB_HID is not set
1041# CONFIG_HID_PID is not set
1040 1042
1041# 1043#
1042# USB HID Boot Protocol drivers 1044# USB HID Boot Protocol drivers
1043# 1045#
1044# CONFIG_USB_KBD is not set 1046# CONFIG_USB_KBD is not set
1045# CONFIG_USB_MOUSE is not set 1047# CONFIG_USB_MOUSE is not set
1048
1049#
1050# Special HID drivers
1051#
1052CONFIG_HID_COMPAT=y
1046CONFIG_USB_SUPPORT=y 1053CONFIG_USB_SUPPORT=y
1047CONFIG_USB_ARCH_HAS_HCD=y 1054CONFIG_USB_ARCH_HAS_HCD=y
1048CONFIG_USB_ARCH_HAS_OHCI=y 1055CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1061,6 +1068,8 @@ CONFIG_USB_DEVICE_CLASS=y
1061# CONFIG_USB_OTG_WHITELIST is not set 1068# CONFIG_USB_OTG_WHITELIST is not set
1062# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1069# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1063CONFIG_USB_MON=y 1070CONFIG_USB_MON=y
1071# CONFIG_USB_WUSB is not set
1072# CONFIG_USB_WUSB_CBAF is not set
1064 1073
1065# 1074#
1066# USB Host Controller Drivers 1075# USB Host Controller Drivers
@@ -1084,6 +1093,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1084CONFIG_USB_UHCI_HCD=y 1093CONFIG_USB_UHCI_HCD=y
1085# CONFIG_USB_SL811_HCD is not set 1094# CONFIG_USB_SL811_HCD is not set
1086# CONFIG_USB_R8A66597_HCD is not set 1095# CONFIG_USB_R8A66597_HCD is not set
1096# CONFIG_USB_WHCI_HCD is not set
1097# CONFIG_USB_HWA_HCD is not set
1087# CONFIG_USB_GADGET_MUSB_HDRC is not set 1098# CONFIG_USB_GADGET_MUSB_HDRC is not set
1088 1099
1089# 1100#
@@ -1092,6 +1103,7 @@ CONFIG_USB_UHCI_HCD=y
1092# CONFIG_USB_ACM is not set 1103# CONFIG_USB_ACM is not set
1093# CONFIG_USB_PRINTER is not set 1104# CONFIG_USB_PRINTER is not set
1094# CONFIG_USB_WDM is not set 1105# CONFIG_USB_WDM is not set
1106# CONFIG_USB_TMC is not set
1095 1107
1096# 1108#
1097# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1109# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1113,7 +1125,6 @@ CONFIG_USB_STORAGE=y
1113# CONFIG_USB_STORAGE_ALAUDA is not set 1125# CONFIG_USB_STORAGE_ALAUDA is not set
1114# CONFIG_USB_STORAGE_ONETOUCH is not set 1126# CONFIG_USB_STORAGE_ONETOUCH is not set
1115# CONFIG_USB_STORAGE_KARMA is not set 1127# CONFIG_USB_STORAGE_KARMA is not set
1116# CONFIG_USB_STORAGE_SIERRA is not set
1117# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1128# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1118# CONFIG_USB_LIBUSUAL is not set 1129# CONFIG_USB_LIBUSUAL is not set
1119 1130
@@ -1134,6 +1145,7 @@ CONFIG_USB_STORAGE=y
1134# CONFIG_USB_EMI62 is not set 1145# CONFIG_USB_EMI62 is not set
1135# CONFIG_USB_EMI26 is not set 1146# CONFIG_USB_EMI26 is not set
1136# CONFIG_USB_ADUTUX is not set 1147# CONFIG_USB_ADUTUX is not set
1148# CONFIG_USB_SEVSEG is not set
1137# CONFIG_USB_RIO500 is not set 1149# CONFIG_USB_RIO500 is not set
1138# CONFIG_USB_LEGOTOWER is not set 1150# CONFIG_USB_LEGOTOWER is not set
1139# CONFIG_USB_LCD is not set 1151# CONFIG_USB_LCD is not set
@@ -1151,23 +1163,26 @@ CONFIG_USB_STORAGE=y
1151# CONFIG_USB_IOWARRIOR is not set 1163# CONFIG_USB_IOWARRIOR is not set
1152# CONFIG_USB_TEST is not set 1164# CONFIG_USB_TEST is not set
1153# CONFIG_USB_ISIGHTFW is not set 1165# CONFIG_USB_ISIGHTFW is not set
1166# CONFIG_USB_VST is not set
1154CONFIG_USB_GADGET=y 1167CONFIG_USB_GADGET=y
1155# CONFIG_USB_GADGET_DEBUG is not set 1168# CONFIG_USB_GADGET_DEBUG is not set
1156# CONFIG_USB_GADGET_DEBUG_FILES is not set 1169# CONFIG_USB_GADGET_DEBUG_FILES is not set
1170CONFIG_USB_GADGET_VBUS_DRAW=2
1157CONFIG_USB_GADGET_SELECTED=y 1171CONFIG_USB_GADGET_SELECTED=y
1158# CONFIG_USB_GADGET_AMD5536UDC is not set 1172# CONFIG_USB_GADGET_AT91 is not set
1159# CONFIG_USB_GADGET_ATMEL_USBA is not set 1173# CONFIG_USB_GADGET_ATMEL_USBA is not set
1160# CONFIG_USB_GADGET_FSL_USB2 is not set 1174# CONFIG_USB_GADGET_FSL_USB2 is not set
1161CONFIG_USB_GADGET_NET2280=y
1162CONFIG_USB_NET2280=y
1163# CONFIG_USB_GADGET_PXA25X is not set
1164# CONFIG_USB_GADGET_M66592 is not set
1165# CONFIG_USB_GADGET_PXA27X is not set
1166# CONFIG_USB_GADGET_GOKU is not set
1167# CONFIG_USB_GADGET_LH7A40X is not set 1175# CONFIG_USB_GADGET_LH7A40X is not set
1168# CONFIG_USB_GADGET_OMAP is not set 1176# CONFIG_USB_GADGET_OMAP is not set
1177# CONFIG_USB_GADGET_PXA25X is not set
1178# CONFIG_USB_GADGET_PXA27X is not set
1169# CONFIG_USB_GADGET_S3C2410 is not set 1179# CONFIG_USB_GADGET_S3C2410 is not set
1170# CONFIG_USB_GADGET_AT91 is not set 1180# CONFIG_USB_GADGET_M66592 is not set
1181# CONFIG_USB_GADGET_AMD5536UDC is not set
1182# CONFIG_USB_GADGET_FSL_QE is not set
1183CONFIG_USB_GADGET_NET2280=y
1184CONFIG_USB_NET2280=y
1185# CONFIG_USB_GADGET_GOKU is not set
1171# CONFIG_USB_GADGET_DUMMY_HCD is not set 1186# CONFIG_USB_GADGET_DUMMY_HCD is not set
1172CONFIG_USB_GADGET_DUALSPEED=y 1187CONFIG_USB_GADGET_DUALSPEED=y
1173# CONFIG_USB_ZERO is not set 1188# CONFIG_USB_ZERO is not set
@@ -1179,6 +1194,7 @@ CONFIG_USB_ETH_RNDIS=y
1179# CONFIG_USB_MIDI_GADGET is not set 1194# CONFIG_USB_MIDI_GADGET is not set
1180# CONFIG_USB_G_PRINTER is not set 1195# CONFIG_USB_G_PRINTER is not set
1181# CONFIG_USB_CDC_COMPOSITE is not set 1196# CONFIG_USB_CDC_COMPOSITE is not set
1197# CONFIG_UWB is not set
1182# CONFIG_MMC is not set 1198# CONFIG_MMC is not set
1183# CONFIG_MEMSTICK is not set 1199# CONFIG_MEMSTICK is not set
1184# CONFIG_NEW_LEDS is not set 1200# CONFIG_NEW_LEDS is not set
@@ -1224,17 +1240,21 @@ CONFIG_RTC_DRV_DS1307=y
1224# CONFIG_RTC_DRV_MAX6902 is not set 1240# CONFIG_RTC_DRV_MAX6902 is not set
1225# CONFIG_RTC_DRV_R9701 is not set 1241# CONFIG_RTC_DRV_R9701 is not set
1226# CONFIG_RTC_DRV_RS5C348 is not set 1242# CONFIG_RTC_DRV_RS5C348 is not set
1243# CONFIG_RTC_DRV_DS3234 is not set
1227 1244
1228# 1245#
1229# Platform RTC drivers 1246# Platform RTC drivers
1230# 1247#
1231# CONFIG_RTC_DRV_CMOS is not set 1248# CONFIG_RTC_DRV_CMOS is not set
1249# CONFIG_RTC_DRV_DS1286 is not set
1232# CONFIG_RTC_DRV_DS1511 is not set 1250# CONFIG_RTC_DRV_DS1511 is not set
1233# CONFIG_RTC_DRV_DS1553 is not set 1251# CONFIG_RTC_DRV_DS1553 is not set
1234# CONFIG_RTC_DRV_DS1742 is not set 1252# CONFIG_RTC_DRV_DS1742 is not set
1235# CONFIG_RTC_DRV_STK17TA8 is not set 1253# CONFIG_RTC_DRV_STK17TA8 is not set
1236# CONFIG_RTC_DRV_M48T86 is not set 1254# CONFIG_RTC_DRV_M48T86 is not set
1255# CONFIG_RTC_DRV_M48T35 is not set
1237# CONFIG_RTC_DRV_M48T59 is not set 1256# CONFIG_RTC_DRV_M48T59 is not set
1257# CONFIG_RTC_DRV_BQ4802 is not set
1238# CONFIG_RTC_DRV_V3020 is not set 1258# CONFIG_RTC_DRV_V3020 is not set
1239 1259
1240# 1260#
@@ -1243,6 +1263,7 @@ CONFIG_RTC_DRV_DS1307=y
1243# CONFIG_RTC_DRV_PPC is not set 1263# CONFIG_RTC_DRV_PPC is not set
1244# CONFIG_DMADEVICES is not set 1264# CONFIG_DMADEVICES is not set
1245# CONFIG_UIO is not set 1265# CONFIG_UIO is not set
1266# CONFIG_STAGING is not set
1246 1267
1247# 1268#
1248# File systems 1269# File systems
@@ -1254,12 +1275,13 @@ CONFIG_EXT3_FS=y
1254CONFIG_EXT3_FS_XATTR=y 1275CONFIG_EXT3_FS_XATTR=y
1255# CONFIG_EXT3_FS_POSIX_ACL is not set 1276# CONFIG_EXT3_FS_POSIX_ACL is not set
1256# CONFIG_EXT3_FS_SECURITY is not set 1277# CONFIG_EXT3_FS_SECURITY is not set
1257# CONFIG_EXT4DEV_FS is not set 1278# CONFIG_EXT4_FS is not set
1258CONFIG_JBD=y 1279CONFIG_JBD=y
1259CONFIG_FS_MBCACHE=y 1280CONFIG_FS_MBCACHE=y
1260# CONFIG_REISERFS_FS is not set 1281# CONFIG_REISERFS_FS is not set
1261# CONFIG_JFS_FS is not set 1282# CONFIG_JFS_FS is not set
1262# CONFIG_FS_POSIX_ACL is not set 1283# CONFIG_FS_POSIX_ACL is not set
1284CONFIG_FILE_LOCKING=y
1263# CONFIG_XFS_FS is not set 1285# CONFIG_XFS_FS is not set
1264# CONFIG_OCFS2_FS is not set 1286# CONFIG_OCFS2_FS is not set
1265CONFIG_DNOTIFY=y 1287CONFIG_DNOTIFY=y
@@ -1289,6 +1311,7 @@ CONFIG_INOTIFY_USER=y
1289CONFIG_PROC_FS=y 1311CONFIG_PROC_FS=y
1290CONFIG_PROC_KCORE=y 1312CONFIG_PROC_KCORE=y
1291CONFIG_PROC_SYSCTL=y 1313CONFIG_PROC_SYSCTL=y
1314CONFIG_PROC_PAGE_MONITOR=y
1292CONFIG_SYSFS=y 1315CONFIG_SYSFS=y
1293CONFIG_TMPFS=y 1316CONFIG_TMPFS=y
1294# CONFIG_TMPFS_POSIX_ACL is not set 1317# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1337,6 +1360,7 @@ CONFIG_LOCKD_V4=y
1337CONFIG_NFS_COMMON=y 1360CONFIG_NFS_COMMON=y
1338CONFIG_SUNRPC=y 1361CONFIG_SUNRPC=y
1339CONFIG_SUNRPC_GSS=y 1362CONFIG_SUNRPC_GSS=y
1363# CONFIG_SUNRPC_REGISTER_V4 is not set
1340CONFIG_RPCSEC_GSS_KRB5=y 1364CONFIG_RPCSEC_GSS_KRB5=y
1341# CONFIG_RPCSEC_GSS_SPKM3 is not set 1365# CONFIG_RPCSEC_GSS_SPKM3 is not set
1342# CONFIG_SMB_FS is not set 1366# CONFIG_SMB_FS is not set
@@ -1373,7 +1397,6 @@ CONFIG_MSDOS_PARTITION=y
1373# Library routines 1397# Library routines
1374# 1398#
1375CONFIG_BITREVERSE=y 1399CONFIG_BITREVERSE=y
1376# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1377# CONFIG_CRC_CCITT is not set 1400# CONFIG_CRC_CCITT is not set
1378# CONFIG_CRC16 is not set 1401# CONFIG_CRC16 is not set
1379# CONFIG_CRC_T10DIF is not set 1402# CONFIG_CRC_T10DIF is not set
@@ -1427,15 +1450,23 @@ CONFIG_SCHED_DEBUG=y
1427# CONFIG_DEBUG_SG is not set 1450# CONFIG_DEBUG_SG is not set
1428# CONFIG_BOOT_PRINTK_DELAY is not set 1451# CONFIG_BOOT_PRINTK_DELAY is not set
1429# CONFIG_RCU_TORTURE_TEST is not set 1452# CONFIG_RCU_TORTURE_TEST is not set
1453# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1430# CONFIG_BACKTRACE_SELF_TEST is not set 1454# CONFIG_BACKTRACE_SELF_TEST is not set
1455# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1431# CONFIG_FAULT_INJECTION is not set 1456# CONFIG_FAULT_INJECTION is not set
1432# CONFIG_LATENCYTOP is not set 1457# CONFIG_LATENCYTOP is not set
1433CONFIG_SYSCTL_SYSCALL_CHECK=y 1458CONFIG_SYSCTL_SYSCALL_CHECK=y
1434CONFIG_HAVE_FTRACE=y 1459CONFIG_HAVE_FUNCTION_TRACER=y
1435CONFIG_HAVE_DYNAMIC_FTRACE=y 1460
1436# CONFIG_FTRACE is not set 1461#
1462# Tracers
1463#
1464# CONFIG_FUNCTION_TRACER is not set
1437# CONFIG_SCHED_TRACER is not set 1465# CONFIG_SCHED_TRACER is not set
1438# CONFIG_CONTEXT_SWITCH_TRACER is not set 1466# CONFIG_CONTEXT_SWITCH_TRACER is not set
1467# CONFIG_BOOT_TRACER is not set
1468# CONFIG_STACK_TRACER is not set
1469# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1439# CONFIG_SAMPLES is not set 1470# CONFIG_SAMPLES is not set
1440CONFIG_HAVE_ARCH_KGDB=y 1471CONFIG_HAVE_ARCH_KGDB=y
1441# CONFIG_KGDB is not set 1472# CONFIG_KGDB is not set
@@ -1444,6 +1475,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1444# CONFIG_DEBUG_PAGEALLOC is not set 1475# CONFIG_DEBUG_PAGEALLOC is not set
1445# CONFIG_CODE_PATCHING_SELFTEST is not set 1476# CONFIG_CODE_PATCHING_SELFTEST is not set
1446# CONFIG_FTR_FIXUP_SELFTEST is not set 1477# CONFIG_FTR_FIXUP_SELFTEST is not set
1478# CONFIG_MSI_BITMAP_SELFTEST is not set
1447# CONFIG_XMON is not set 1479# CONFIG_XMON is not set
1448# CONFIG_IRQSTACKS is not set 1480# CONFIG_IRQSTACKS is not set
1449# CONFIG_BDI_SWITCH is not set 1481# CONFIG_BDI_SWITCH is not set
@@ -1455,14 +1487,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1455# 1487#
1456# CONFIG_KEYS is not set 1488# CONFIG_KEYS is not set
1457# CONFIG_SECURITY is not set 1489# CONFIG_SECURITY is not set
1490# CONFIG_SECURITYFS is not set
1458# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1491# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1459CONFIG_CRYPTO=y 1492CONFIG_CRYPTO=y
1460 1493
1461# 1494#
1462# Crypto core or helper 1495# Crypto core or helper
1463# 1496#
1497# CONFIG_CRYPTO_FIPS is not set
1464CONFIG_CRYPTO_ALGAPI=y 1498CONFIG_CRYPTO_ALGAPI=y
1499CONFIG_CRYPTO_AEAD=y
1465CONFIG_CRYPTO_BLKCIPHER=y 1500CONFIG_CRYPTO_BLKCIPHER=y
1501CONFIG_CRYPTO_HASH=y
1502CONFIG_CRYPTO_RNG=y
1466CONFIG_CRYPTO_MANAGER=y 1503CONFIG_CRYPTO_MANAGER=y
1467# CONFIG_CRYPTO_GF128MUL is not set 1504# CONFIG_CRYPTO_GF128MUL is not set
1468# CONFIG_CRYPTO_NULL is not set 1505# CONFIG_CRYPTO_NULL is not set
@@ -1535,6 +1572,11 @@ CONFIG_CRYPTO_DES=y
1535# 1572#
1536# CONFIG_CRYPTO_DEFLATE is not set 1573# CONFIG_CRYPTO_DEFLATE is not set
1537# CONFIG_CRYPTO_LZO is not set 1574# CONFIG_CRYPTO_LZO is not set
1575
1576#
1577# Random Number Generation
1578#
1579# CONFIG_CRYPTO_ANSI_CPRNG is not set
1538CONFIG_CRYPTO_HW=y 1580CONFIG_CRYPTO_HW=y
1539# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1581# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1540# CONFIG_CRYPTO_DEV_TALITOS is not set 1582# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
index b0a27a67d8c7..aad0e1a98c55 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:18 2008 4# Sat Nov 8 12:39:51 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,21 @@ CONFIG_MPC831x_RDB=y
187CONFIG_PPC_MPC831x=y 183CONFIG_PPC_MPC831x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
200# CONFIG_MPC8xxx_GPIO is not set
208 201
209# 202#
210# Kernel options 203# Kernel options
@@ -224,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +253,6 @@ CONFIG_ISA_DMA_API=y
258# 253#
259# Bus options 254# Bus options
260# 255#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCI_DEBUG is not set 269# CONFIG_PCI_DEBUG is not set
276# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
@@ -340,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 335# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
343# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
344# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
345# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -360,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
361# CONFIG_BT is not set 356# CONFIG_BT is not set
362# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
363 358# CONFIG_PHONET is not set
364# 359CONFIG_WIRELESS=y
365# Wireless
366#
367# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
368# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
369# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
370# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -470,6 +464,7 @@ CONFIG_MTD_NAND_IDS=y
470# CONFIG_MTD_NAND_PLATFORM is not set 464# CONFIG_MTD_NAND_PLATFORM is not set
471# CONFIG_MTD_ALAUDA is not set 465# CONFIG_MTD_ALAUDA is not set
472# CONFIG_MTD_NAND_FSL_ELBC is not set 466# CONFIG_MTD_NAND_FSL_ELBC is not set
467# CONFIG_MTD_NAND_FSL_UPM is not set
473# CONFIG_MTD_ONENAND is not set 468# CONFIG_MTD_ONENAND is not set
474 469
475# 470#
@@ -482,7 +477,6 @@ CONFIG_OF_SPI=y
482# CONFIG_PARPORT is not set 477# CONFIG_PARPORT is not set
483CONFIG_BLK_DEV=y 478CONFIG_BLK_DEV=y
484# CONFIG_BLK_DEV_FD is not set 479# CONFIG_BLK_DEV_FD is not set
485# CONFIG_MAC_FLOPPY is not set
486# CONFIG_BLK_CPQ_DA is not set 480# CONFIG_BLK_CPQ_DA is not set
487# CONFIG_BLK_CPQ_CISS_DA is not set 481# CONFIG_BLK_CPQ_CISS_DA is not set
488# CONFIG_BLK_DEV_DAC960 is not set 482# CONFIG_BLK_DEV_DAC960 is not set
@@ -584,8 +578,6 @@ CONFIG_SCSI_LOWLEVEL=y
584# CONFIG_SCSI_DC390T is not set 578# CONFIG_SCSI_DC390T is not set
585# CONFIG_SCSI_NSP32 is not set 579# CONFIG_SCSI_NSP32 is not set
586# CONFIG_SCSI_DEBUG is not set 580# CONFIG_SCSI_DEBUG is not set
587# CONFIG_SCSI_MESH is not set
588# CONFIG_SCSI_MAC53C94 is not set
589# CONFIG_SCSI_SRP is not set 581# CONFIG_SCSI_SRP is not set
590# CONFIG_SCSI_DH is not set 582# CONFIG_SCSI_DH is not set
591CONFIG_ATA=y 583CONFIG_ATA=y
@@ -651,6 +643,7 @@ CONFIG_ATA_SFF=y
651# CONFIG_PATA_SCH is not set 643# CONFIG_PATA_SCH is not set
652CONFIG_MD=y 644CONFIG_MD=y
653CONFIG_BLK_DEV_MD=y 645CONFIG_BLK_DEV_MD=y
646CONFIG_MD_AUTODETECT=y
654CONFIG_MD_LINEAR=y 647CONFIG_MD_LINEAR=y
655CONFIG_MD_RAID0=y 648CONFIG_MD_RAID0=y
656CONFIG_MD_RAID1=y 649CONFIG_MD_RAID1=y
@@ -699,8 +692,6 @@ CONFIG_PHYLIB=y
699# CONFIG_MDIO_BITBANG is not set 692# CONFIG_MDIO_BITBANG is not set
700CONFIG_NET_ETHERNET=y 693CONFIG_NET_ETHERNET=y
701CONFIG_MII=y 694CONFIG_MII=y
702# CONFIG_MACE is not set
703# CONFIG_BMAC is not set
704# CONFIG_HAPPYMEAL is not set 695# CONFIG_HAPPYMEAL is not set
705# CONFIG_SUNGEM is not set 696# CONFIG_SUNGEM is not set
706# CONFIG_CASSINI is not set 697# CONFIG_CASSINI is not set
@@ -712,6 +703,9 @@ CONFIG_MII=y
712# CONFIG_IBM_NEW_EMAC_RGMII is not set 703# CONFIG_IBM_NEW_EMAC_RGMII is not set
713# CONFIG_IBM_NEW_EMAC_TAH is not set 704# CONFIG_IBM_NEW_EMAC_TAH is not set
714# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 705# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
706# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
707# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
708# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
715CONFIG_NET_PCI=y 709CONFIG_NET_PCI=y
716# CONFIG_PCNET32 is not set 710# CONFIG_PCNET32 is not set
717# CONFIG_AMD8111_ETH is not set 711# CONFIG_AMD8111_ETH is not set
@@ -732,6 +726,7 @@ CONFIG_E100=y
732# CONFIG_TLAN is not set 726# CONFIG_TLAN is not set
733# CONFIG_VIA_RHINE is not set 727# CONFIG_VIA_RHINE is not set
734# CONFIG_SC92031 is not set 728# CONFIG_SC92031 is not set
729# CONFIG_ATL2 is not set
735CONFIG_NETDEV_1000=y 730CONFIG_NETDEV_1000=y
736# CONFIG_ACENIC is not set 731# CONFIG_ACENIC is not set
737# CONFIG_DL2K is not set 732# CONFIG_DL2K is not set
@@ -754,18 +749,22 @@ CONFIG_GIANFAR=y
754# CONFIG_QLA3XXX is not set 749# CONFIG_QLA3XXX is not set
755# CONFIG_ATL1 is not set 750# CONFIG_ATL1 is not set
756# CONFIG_ATL1E is not set 751# CONFIG_ATL1E is not set
752# CONFIG_JME is not set
757CONFIG_NETDEV_10000=y 753CONFIG_NETDEV_10000=y
758# CONFIG_CHELSIO_T1 is not set 754# CONFIG_CHELSIO_T1 is not set
759# CONFIG_CHELSIO_T3 is not set 755# CONFIG_CHELSIO_T3 is not set
756# CONFIG_ENIC is not set
760# CONFIG_IXGBE is not set 757# CONFIG_IXGBE is not set
761# CONFIG_IXGB is not set 758# CONFIG_IXGB is not set
762# CONFIG_S2IO is not set 759# CONFIG_S2IO is not set
763# CONFIG_MYRI10GE is not set 760# CONFIG_MYRI10GE is not set
764# CONFIG_NETXEN_NIC is not set 761# CONFIG_NETXEN_NIC is not set
765# CONFIG_NIU is not set 762# CONFIG_NIU is not set
763# CONFIG_MLX4_EN is not set
766# CONFIG_MLX4_CORE is not set 764# CONFIG_MLX4_CORE is not set
767# CONFIG_TEHUTI is not set 765# CONFIG_TEHUTI is not set
768# CONFIG_BNX2X is not set 766# CONFIG_BNX2X is not set
767# CONFIG_QLGE is not set
769# CONFIG_SFC is not set 768# CONFIG_SFC is not set
770# CONFIG_TR is not set 769# CONFIG_TR is not set
771 770
@@ -851,14 +850,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
851# CONFIG_SERIAL_UARTLITE is not set 850# CONFIG_SERIAL_UARTLITE is not set
852CONFIG_SERIAL_CORE=y 851CONFIG_SERIAL_CORE=y
853CONFIG_SERIAL_CORE_CONSOLE=y 852CONFIG_SERIAL_CORE_CONSOLE=y
854# CONFIG_SERIAL_PMACZILOG is not set
855# CONFIG_SERIAL_JSM is not set 853# CONFIG_SERIAL_JSM is not set
856# CONFIG_SERIAL_OF_PLATFORM is not set 854# CONFIG_SERIAL_OF_PLATFORM is not set
857CONFIG_UNIX98_PTYS=y 855CONFIG_UNIX98_PTYS=y
858CONFIG_LEGACY_PTYS=y 856CONFIG_LEGACY_PTYS=y
859CONFIG_LEGACY_PTY_COUNT=256 857CONFIG_LEGACY_PTY_COUNT=256
860# CONFIG_BRIQ_PANEL is not set
861# CONFIG_HVC_RTAS is not set
862# CONFIG_IPMI_HANDLER is not set 858# CONFIG_IPMI_HANDLER is not set
863CONFIG_HW_RANDOM=y 859CONFIG_HW_RANDOM=y
864# CONFIG_NVRAM is not set 860# CONFIG_NVRAM is not set
@@ -895,12 +891,6 @@ CONFIG_I2C_HELPER_AUTO=y
895# CONFIG_I2C_VIAPRO is not set 891# CONFIG_I2C_VIAPRO is not set
896 892
897# 893#
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) 894# I2C system bus drivers (mostly embedded / system-on-chip)
905# 895#
906CONFIG_I2C_MPC=y 896CONFIG_I2C_MPC=y
@@ -937,6 +927,7 @@ CONFIG_I2C_MPC=y
937# CONFIG_SENSORS_PCF8591 is not set 927# CONFIG_SENSORS_PCF8591 is not set
938# CONFIG_SENSORS_MAX6875 is not set 928# CONFIG_SENSORS_MAX6875 is not set
939# CONFIG_SENSORS_TSL2550 is not set 929# CONFIG_SENSORS_TSL2550 is not set
930# CONFIG_MCU_MPC8349EMITX is not set
940# CONFIG_I2C_DEBUG_CORE is not set 931# CONFIG_I2C_DEBUG_CORE is not set
941# CONFIG_I2C_DEBUG_ALGO is not set 932# CONFIG_I2C_DEBUG_ALGO is not set
942# CONFIG_I2C_DEBUG_BUS is not set 933# CONFIG_I2C_DEBUG_BUS is not set
@@ -974,7 +965,6 @@ CONFIG_HWMON=y
974# CONFIG_SENSORS_ADM9240 is not set 965# CONFIG_SENSORS_ADM9240 is not set
975# CONFIG_SENSORS_ADT7470 is not set 966# CONFIG_SENSORS_ADT7470 is not set
976# CONFIG_SENSORS_ADT7473 is not set 967# CONFIG_SENSORS_ADT7473 is not set
977# CONFIG_SENSORS_AMS is not set
978# CONFIG_SENSORS_ATXP1 is not set 968# CONFIG_SENSORS_ATXP1 is not set
979# CONFIG_SENSORS_DS1621 is not set 969# CONFIG_SENSORS_DS1621 is not set
980# CONFIG_SENSORS_I5K_AMB is not set 970# CONFIG_SENSORS_I5K_AMB is not set
@@ -996,6 +986,7 @@ CONFIG_HWMON=y
996# CONFIG_SENSORS_LM90 is not set 986# CONFIG_SENSORS_LM90 is not set
997# CONFIG_SENSORS_LM92 is not set 987# CONFIG_SENSORS_LM92 is not set
998# CONFIG_SENSORS_LM93 is not set 988# CONFIG_SENSORS_LM93 is not set
989# CONFIG_SENSORS_MAX1111 is not set
999# CONFIG_SENSORS_MAX1619 is not set 990# CONFIG_SENSORS_MAX1619 is not set
1000# CONFIG_SENSORS_MAX6650 is not set 991# CONFIG_SENSORS_MAX6650 is not set
1001# CONFIG_SENSORS_PC87360 is not set 992# CONFIG_SENSORS_PC87360 is not set
@@ -1030,7 +1021,6 @@ CONFIG_WATCHDOG=y
1030# CONFIG_SOFT_WATCHDOG is not set 1021# CONFIG_SOFT_WATCHDOG is not set
1031# CONFIG_ALIM7101_WDT is not set 1022# CONFIG_ALIM7101_WDT is not set
1032# CONFIG_8xxx_WDT is not set 1023# CONFIG_8xxx_WDT is not set
1033# CONFIG_WATCHDOG_RTAS is not set
1034 1024
1035# 1025#
1036# PCI-based Watchdog Cards 1026# PCI-based Watchdog Cards
@@ -1056,6 +1046,17 @@ CONFIG_SSB_POSSIBLE=y
1056# CONFIG_MFD_SM501 is not set 1046# CONFIG_MFD_SM501 is not set
1057# CONFIG_HTC_PASIC3 is not set 1047# CONFIG_HTC_PASIC3 is not set
1058# CONFIG_MFD_TMIO is not set 1048# CONFIG_MFD_TMIO is not set
1049# CONFIG_PMIC_DA903X is not set
1050# CONFIG_MFD_WM8400 is not set
1051# CONFIG_MFD_WM8350_I2C is not set
1052
1053#
1054# Voltage and Current regulators
1055#
1056# CONFIG_REGULATOR is not set
1057# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1058# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1059# CONFIG_REGULATOR_BQ24022 is not set
1059 1060
1060# 1061#
1061# Multimedia devices 1062# Multimedia devices
@@ -1098,12 +1099,18 @@ CONFIG_HID=y
1098# USB Input Devices 1099# USB Input Devices
1099# 1100#
1100# CONFIG_USB_HID is not set 1101# CONFIG_USB_HID is not set
1102# CONFIG_HID_PID is not set
1101 1103
1102# 1104#
1103# USB HID Boot Protocol drivers 1105# USB HID Boot Protocol drivers
1104# 1106#
1105# CONFIG_USB_KBD is not set 1107# CONFIG_USB_KBD is not set
1106# CONFIG_USB_MOUSE is not set 1108# CONFIG_USB_MOUSE is not set
1109
1110#
1111# Special HID drivers
1112#
1113CONFIG_HID_COMPAT=y
1107CONFIG_USB_SUPPORT=y 1114CONFIG_USB_SUPPORT=y
1108CONFIG_USB_ARCH_HAS_HCD=y 1115CONFIG_USB_ARCH_HAS_HCD=y
1109CONFIG_USB_ARCH_HAS_OHCI=y 1116CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1122,6 +1129,8 @@ CONFIG_USB_DEVICE_CLASS=y
1122# CONFIG_USB_OTG_WHITELIST is not set 1129# CONFIG_USB_OTG_WHITELIST is not set
1123# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1130# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1124CONFIG_USB_MON=y 1131CONFIG_USB_MON=y
1132# CONFIG_USB_WUSB is not set
1133# CONFIG_USB_WUSB_CBAF is not set
1125 1134
1126# 1135#
1127# USB Host Controller Drivers 1136# USB Host Controller Drivers
@@ -1145,6 +1154,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1145CONFIG_USB_UHCI_HCD=y 1154CONFIG_USB_UHCI_HCD=y
1146# CONFIG_USB_SL811_HCD is not set 1155# CONFIG_USB_SL811_HCD is not set
1147# CONFIG_USB_R8A66597_HCD is not set 1156# CONFIG_USB_R8A66597_HCD is not set
1157# CONFIG_USB_WHCI_HCD is not set
1158# CONFIG_USB_HWA_HCD is not set
1148# CONFIG_USB_GADGET_MUSB_HDRC is not set 1159# CONFIG_USB_GADGET_MUSB_HDRC is not set
1149 1160
1150# 1161#
@@ -1153,6 +1164,7 @@ CONFIG_USB_UHCI_HCD=y
1153# CONFIG_USB_ACM is not set 1164# CONFIG_USB_ACM is not set
1154# CONFIG_USB_PRINTER is not set 1165# CONFIG_USB_PRINTER is not set
1155# CONFIG_USB_WDM is not set 1166# CONFIG_USB_WDM is not set
1167# CONFIG_USB_TMC is not set
1156 1168
1157# 1169#
1158# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1170# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1174,7 +1186,6 @@ CONFIG_USB_STORAGE=y
1174# CONFIG_USB_STORAGE_ALAUDA is not set 1186# CONFIG_USB_STORAGE_ALAUDA is not set
1175# CONFIG_USB_STORAGE_ONETOUCH is not set 1187# CONFIG_USB_STORAGE_ONETOUCH is not set
1176# CONFIG_USB_STORAGE_KARMA is not set 1188# CONFIG_USB_STORAGE_KARMA is not set
1177# CONFIG_USB_STORAGE_SIERRA is not set
1178# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1189# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1179# CONFIG_USB_LIBUSUAL is not set 1190# CONFIG_USB_LIBUSUAL is not set
1180 1191
@@ -1195,6 +1206,7 @@ CONFIG_USB_STORAGE=y
1195# CONFIG_USB_EMI62 is not set 1206# CONFIG_USB_EMI62 is not set
1196# CONFIG_USB_EMI26 is not set 1207# CONFIG_USB_EMI26 is not set
1197# CONFIG_USB_ADUTUX is not set 1208# CONFIG_USB_ADUTUX is not set
1209# CONFIG_USB_SEVSEG is not set
1198# CONFIG_USB_RIO500 is not set 1210# CONFIG_USB_RIO500 is not set
1199# CONFIG_USB_LEGOTOWER is not set 1211# CONFIG_USB_LEGOTOWER is not set
1200# CONFIG_USB_LCD is not set 1212# CONFIG_USB_LCD is not set
@@ -1212,23 +1224,26 @@ CONFIG_USB_STORAGE=y
1212# CONFIG_USB_IOWARRIOR is not set 1224# CONFIG_USB_IOWARRIOR is not set
1213# CONFIG_USB_TEST is not set 1225# CONFIG_USB_TEST is not set
1214# CONFIG_USB_ISIGHTFW is not set 1226# CONFIG_USB_ISIGHTFW is not set
1227# CONFIG_USB_VST is not set
1215CONFIG_USB_GADGET=y 1228CONFIG_USB_GADGET=y
1216# CONFIG_USB_GADGET_DEBUG is not set 1229# CONFIG_USB_GADGET_DEBUG is not set
1217# CONFIG_USB_GADGET_DEBUG_FILES is not set 1230# CONFIG_USB_GADGET_DEBUG_FILES is not set
1231CONFIG_USB_GADGET_VBUS_DRAW=2
1218CONFIG_USB_GADGET_SELECTED=y 1232CONFIG_USB_GADGET_SELECTED=y
1219# CONFIG_USB_GADGET_AMD5536UDC is not set 1233# CONFIG_USB_GADGET_AT91 is not set
1220# CONFIG_USB_GADGET_ATMEL_USBA is not set 1234# CONFIG_USB_GADGET_ATMEL_USBA is not set
1221# CONFIG_USB_GADGET_FSL_USB2 is not set 1235# CONFIG_USB_GADGET_FSL_USB2 is not set
1222CONFIG_USB_GADGET_NET2280=y
1223CONFIG_USB_NET2280=y
1224# CONFIG_USB_GADGET_PXA25X is not set
1225# CONFIG_USB_GADGET_M66592 is not set
1226# CONFIG_USB_GADGET_PXA27X is not set
1227# CONFIG_USB_GADGET_GOKU is not set
1228# CONFIG_USB_GADGET_LH7A40X is not set 1236# CONFIG_USB_GADGET_LH7A40X is not set
1229# CONFIG_USB_GADGET_OMAP is not set 1237# CONFIG_USB_GADGET_OMAP is not set
1238# CONFIG_USB_GADGET_PXA25X is not set
1239# CONFIG_USB_GADGET_PXA27X is not set
1230# CONFIG_USB_GADGET_S3C2410 is not set 1240# CONFIG_USB_GADGET_S3C2410 is not set
1231# CONFIG_USB_GADGET_AT91 is not set 1241# CONFIG_USB_GADGET_M66592 is not set
1242# CONFIG_USB_GADGET_AMD5536UDC is not set
1243# CONFIG_USB_GADGET_FSL_QE is not set
1244CONFIG_USB_GADGET_NET2280=y
1245CONFIG_USB_NET2280=y
1246# CONFIG_USB_GADGET_GOKU is not set
1232# CONFIG_USB_GADGET_DUMMY_HCD is not set 1247# CONFIG_USB_GADGET_DUMMY_HCD is not set
1233CONFIG_USB_GADGET_DUALSPEED=y 1248CONFIG_USB_GADGET_DUALSPEED=y
1234# CONFIG_USB_ZERO is not set 1249# CONFIG_USB_ZERO is not set
@@ -1240,6 +1255,7 @@ CONFIG_USB_ETH_RNDIS=y
1240# CONFIG_USB_MIDI_GADGET is not set 1255# CONFIG_USB_MIDI_GADGET is not set
1241# CONFIG_USB_G_PRINTER is not set 1256# CONFIG_USB_G_PRINTER is not set
1242# CONFIG_USB_CDC_COMPOSITE is not set 1257# CONFIG_USB_CDC_COMPOSITE is not set
1258# CONFIG_UWB is not set
1243# CONFIG_MMC is not set 1259# CONFIG_MMC is not set
1244# CONFIG_MEMSTICK is not set 1260# CONFIG_MEMSTICK is not set
1245# CONFIG_NEW_LEDS is not set 1261# CONFIG_NEW_LEDS is not set
@@ -1285,17 +1301,21 @@ CONFIG_RTC_DRV_DS1307=y
1285# CONFIG_RTC_DRV_MAX6902 is not set 1301# CONFIG_RTC_DRV_MAX6902 is not set
1286# CONFIG_RTC_DRV_R9701 is not set 1302# CONFIG_RTC_DRV_R9701 is not set
1287# CONFIG_RTC_DRV_RS5C348 is not set 1303# CONFIG_RTC_DRV_RS5C348 is not set
1304# CONFIG_RTC_DRV_DS3234 is not set
1288 1305
1289# 1306#
1290# Platform RTC drivers 1307# Platform RTC drivers
1291# 1308#
1292# CONFIG_RTC_DRV_CMOS is not set 1309# CONFIG_RTC_DRV_CMOS is not set
1310# CONFIG_RTC_DRV_DS1286 is not set
1293# CONFIG_RTC_DRV_DS1511 is not set 1311# CONFIG_RTC_DRV_DS1511 is not set
1294# CONFIG_RTC_DRV_DS1553 is not set 1312# CONFIG_RTC_DRV_DS1553 is not set
1295# CONFIG_RTC_DRV_DS1742 is not set 1313# CONFIG_RTC_DRV_DS1742 is not set
1296# CONFIG_RTC_DRV_STK17TA8 is not set 1314# CONFIG_RTC_DRV_STK17TA8 is not set
1297# CONFIG_RTC_DRV_M48T86 is not set 1315# CONFIG_RTC_DRV_M48T86 is not set
1316# CONFIG_RTC_DRV_M48T35 is not set
1298# CONFIG_RTC_DRV_M48T59 is not set 1317# CONFIG_RTC_DRV_M48T59 is not set
1318# CONFIG_RTC_DRV_BQ4802 is not set
1299# CONFIG_RTC_DRV_V3020 is not set 1319# CONFIG_RTC_DRV_V3020 is not set
1300 1320
1301# 1321#
@@ -1304,6 +1324,7 @@ CONFIG_RTC_DRV_DS1307=y
1304# CONFIG_RTC_DRV_PPC is not set 1324# CONFIG_RTC_DRV_PPC is not set
1305# CONFIG_DMADEVICES is not set 1325# CONFIG_DMADEVICES is not set
1306# CONFIG_UIO is not set 1326# CONFIG_UIO is not set
1327# CONFIG_STAGING is not set
1307 1328
1308# 1329#
1309# File systems 1330# File systems
@@ -1315,12 +1336,13 @@ CONFIG_EXT3_FS=y
1315CONFIG_EXT3_FS_XATTR=y 1336CONFIG_EXT3_FS_XATTR=y
1316# CONFIG_EXT3_FS_POSIX_ACL is not set 1337# CONFIG_EXT3_FS_POSIX_ACL is not set
1317# CONFIG_EXT3_FS_SECURITY is not set 1338# CONFIG_EXT3_FS_SECURITY is not set
1318# CONFIG_EXT4DEV_FS is not set 1339# CONFIG_EXT4_FS is not set
1319CONFIG_JBD=y 1340CONFIG_JBD=y
1320CONFIG_FS_MBCACHE=y 1341CONFIG_FS_MBCACHE=y
1321# CONFIG_REISERFS_FS is not set 1342# CONFIG_REISERFS_FS is not set
1322# CONFIG_JFS_FS is not set 1343# CONFIG_JFS_FS is not set
1323# CONFIG_FS_POSIX_ACL is not set 1344# CONFIG_FS_POSIX_ACL is not set
1345CONFIG_FILE_LOCKING=y
1324# CONFIG_XFS_FS is not set 1346# CONFIG_XFS_FS is not set
1325# CONFIG_OCFS2_FS is not set 1347# CONFIG_OCFS2_FS is not set
1326CONFIG_DNOTIFY=y 1348CONFIG_DNOTIFY=y
@@ -1350,6 +1372,7 @@ CONFIG_INOTIFY_USER=y
1350CONFIG_PROC_FS=y 1372CONFIG_PROC_FS=y
1351CONFIG_PROC_KCORE=y 1373CONFIG_PROC_KCORE=y
1352CONFIG_PROC_SYSCTL=y 1374CONFIG_PROC_SYSCTL=y
1375CONFIG_PROC_PAGE_MONITOR=y
1353CONFIG_SYSFS=y 1376CONFIG_SYSFS=y
1354CONFIG_TMPFS=y 1377CONFIG_TMPFS=y
1355# CONFIG_TMPFS_POSIX_ACL is not set 1378# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1398,6 +1421,7 @@ CONFIG_LOCKD_V4=y
1398CONFIG_NFS_COMMON=y 1421CONFIG_NFS_COMMON=y
1399CONFIG_SUNRPC=y 1422CONFIG_SUNRPC=y
1400CONFIG_SUNRPC_GSS=y 1423CONFIG_SUNRPC_GSS=y
1424# CONFIG_SUNRPC_REGISTER_V4 is not set
1401CONFIG_RPCSEC_GSS_KRB5=y 1425CONFIG_RPCSEC_GSS_KRB5=y
1402# CONFIG_RPCSEC_GSS_SPKM3 is not set 1426# CONFIG_RPCSEC_GSS_SPKM3 is not set
1403# CONFIG_SMB_FS is not set 1427# CONFIG_SMB_FS is not set
@@ -1434,7 +1458,6 @@ CONFIG_MSDOS_PARTITION=y
1434# Library routines 1458# Library routines
1435# 1459#
1436CONFIG_BITREVERSE=y 1460CONFIG_BITREVERSE=y
1437# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1438# CONFIG_CRC_CCITT is not set 1461# CONFIG_CRC_CCITT is not set
1439# CONFIG_CRC16 is not set 1462# CONFIG_CRC16 is not set
1440# CONFIG_CRC_T10DIF is not set 1463# CONFIG_CRC_T10DIF is not set
@@ -1488,15 +1511,23 @@ CONFIG_SCHED_DEBUG=y
1488# CONFIG_DEBUG_SG is not set 1511# CONFIG_DEBUG_SG is not set
1489# CONFIG_BOOT_PRINTK_DELAY is not set 1512# CONFIG_BOOT_PRINTK_DELAY is not set
1490# CONFIG_RCU_TORTURE_TEST is not set 1513# CONFIG_RCU_TORTURE_TEST is not set
1514# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1491# CONFIG_BACKTRACE_SELF_TEST is not set 1515# CONFIG_BACKTRACE_SELF_TEST is not set
1516# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1492# CONFIG_FAULT_INJECTION is not set 1517# CONFIG_FAULT_INJECTION is not set
1493# CONFIG_LATENCYTOP is not set 1518# CONFIG_LATENCYTOP is not set
1494CONFIG_SYSCTL_SYSCALL_CHECK=y 1519CONFIG_SYSCTL_SYSCALL_CHECK=y
1495CONFIG_HAVE_FTRACE=y 1520CONFIG_HAVE_FUNCTION_TRACER=y
1496CONFIG_HAVE_DYNAMIC_FTRACE=y 1521
1497# CONFIG_FTRACE is not set 1522#
1523# Tracers
1524#
1525# CONFIG_FUNCTION_TRACER is not set
1498# CONFIG_SCHED_TRACER is not set 1526# CONFIG_SCHED_TRACER is not set
1499# CONFIG_CONTEXT_SWITCH_TRACER is not set 1527# CONFIG_CONTEXT_SWITCH_TRACER is not set
1528# CONFIG_BOOT_TRACER is not set
1529# CONFIG_STACK_TRACER is not set
1530# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1500# CONFIG_SAMPLES is not set 1531# CONFIG_SAMPLES is not set
1501CONFIG_HAVE_ARCH_KGDB=y 1532CONFIG_HAVE_ARCH_KGDB=y
1502# CONFIG_KGDB is not set 1533# CONFIG_KGDB is not set
@@ -1505,6 +1536,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1505# CONFIG_DEBUG_PAGEALLOC is not set 1536# CONFIG_DEBUG_PAGEALLOC is not set
1506# CONFIG_CODE_PATCHING_SELFTEST is not set 1537# CONFIG_CODE_PATCHING_SELFTEST is not set
1507# CONFIG_FTR_FIXUP_SELFTEST is not set 1538# CONFIG_FTR_FIXUP_SELFTEST is not set
1539# CONFIG_MSI_BITMAP_SELFTEST is not set
1508# CONFIG_XMON is not set 1540# CONFIG_XMON is not set
1509# CONFIG_IRQSTACKS is not set 1541# CONFIG_IRQSTACKS is not set
1510# CONFIG_BDI_SWITCH is not set 1542# CONFIG_BDI_SWITCH is not set
@@ -1516,14 +1548,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1516# 1548#
1517# CONFIG_KEYS is not set 1549# CONFIG_KEYS is not set
1518# CONFIG_SECURITY is not set 1550# CONFIG_SECURITY is not set
1551# CONFIG_SECURITYFS is not set
1519# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1552# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1520CONFIG_CRYPTO=y 1553CONFIG_CRYPTO=y
1521 1554
1522# 1555#
1523# Crypto core or helper 1556# Crypto core or helper
1524# 1557#
1558# CONFIG_CRYPTO_FIPS is not set
1525CONFIG_CRYPTO_ALGAPI=y 1559CONFIG_CRYPTO_ALGAPI=y
1560CONFIG_CRYPTO_AEAD=y
1526CONFIG_CRYPTO_BLKCIPHER=y 1561CONFIG_CRYPTO_BLKCIPHER=y
1562CONFIG_CRYPTO_HASH=y
1563CONFIG_CRYPTO_RNG=y
1527CONFIG_CRYPTO_MANAGER=y 1564CONFIG_CRYPTO_MANAGER=y
1528# CONFIG_CRYPTO_GF128MUL is not set 1565# CONFIG_CRYPTO_GF128MUL is not set
1529# CONFIG_CRYPTO_NULL is not set 1566# CONFIG_CRYPTO_NULL is not set
@@ -1596,6 +1633,11 @@ CONFIG_CRYPTO_DES=y
1596# 1633#
1597# CONFIG_CRYPTO_DEFLATE is not set 1634# CONFIG_CRYPTO_DEFLATE is not set
1598# CONFIG_CRYPTO_LZO is not set 1635# CONFIG_CRYPTO_LZO is not set
1636
1637#
1638# Random Number Generation
1639#
1640# CONFIG_CRYPTO_ANSI_CPRNG is not set
1599CONFIG_CRYPTO_HW=y 1641CONFIG_CRYPTO_HW=y
1600# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1642# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1601# CONFIG_CRYPTO_DEV_TALITOS is not set 1643# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
index ad825bcddd1f..9cb8c8b956e4 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:18 2008 4# Sat Nov 8 12:39:53 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,20 @@ CONFIG_MPC832x_MDS=y
187CONFIG_PPC_MPC832x=y 183CONFIG_PPC_MPC832x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
207CONFIG_QUICC_ENGINE=y 198CONFIG_QUICC_ENGINE=y
199# CONFIG_QE_GPIO is not set
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
209 201
210# 202#
@@ -225,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
229CONFIG_MATH_EMULATION=y 223CONFIG_MATH_EMULATION=y
230# CONFIG_IOMMU_HELPER is not set 224# CONFIG_IOMMU_HELPER is not set
@@ -240,15 +234,15 @@ CONFIG_FLATMEM_MANUAL=y
240# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
241CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
242CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
243# CONFIG_SPARSEMEM_STATIC is not set
244# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
245CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
246CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
247CONFIG_MIGRATION=y 239CONFIG_MIGRATION=y
248# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
249CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
250CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
251CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
252CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
253CONFIG_PROC_DEVICETREE=y 247CONFIG_PROC_DEVICETREE=y
254# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
@@ -260,7 +254,6 @@ CONFIG_ISA_DMA_API=y
260# 254#
261# Bus options 255# Bus options
262# 256#
263# CONFIG_ISA is not set
264CONFIG_ZONE_DMA=y 257CONFIG_ZONE_DMA=y
265CONFIG_GENERIC_ISA_DMA=y 258CONFIG_GENERIC_ISA_DMA=y
266CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
@@ -273,7 +266,7 @@ CONFIG_PCI_SYSCALL=y
273# CONFIG_PCIEPORTBUS is not set 266# CONFIG_PCIEPORTBUS is not set
274CONFIG_ARCH_SUPPORTS_MSI=y 267CONFIG_ARCH_SUPPORTS_MSI=y
275# CONFIG_PCI_MSI is not set 268# CONFIG_PCI_MSI is not set
276CONFIG_PCI_LEGACY=y 269# CONFIG_PCI_LEGACY is not set
277# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
278# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
279# CONFIG_HAS_RAPIDIO is not set 272# CONFIG_HAS_RAPIDIO is not set
@@ -341,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
341# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
342# CONFIG_ATM is not set 335# CONFIG_ATM is not set
343# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
344# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
345# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
346# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -361,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
361# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
362# CONFIG_BT is not set 356# CONFIG_BT is not set
363# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
364 358# CONFIG_PHONET is not set
365# 359CONFIG_WIRELESS=y
366# Wireless
367#
368# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
369# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
370# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
371# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -391,7 +384,6 @@ CONFIG_OF_I2C=y
391# CONFIG_PARPORT is not set 384# CONFIG_PARPORT is not set
392CONFIG_BLK_DEV=y 385CONFIG_BLK_DEV=y
393# CONFIG_BLK_DEV_FD is not set 386# CONFIG_BLK_DEV_FD is not set
394# CONFIG_MAC_FLOPPY is not set
395# CONFIG_BLK_CPQ_DA is not set 387# CONFIG_BLK_CPQ_DA is not set
396# CONFIG_BLK_CPQ_CISS_DA is not set 388# CONFIG_BLK_CPQ_CISS_DA is not set
397# CONFIG_BLK_DEV_DAC960 is not set 389# CONFIG_BLK_DEV_DAC960 is not set
@@ -491,8 +483,6 @@ CONFIG_SCSI_LOWLEVEL=y
491# CONFIG_SCSI_DC390T is not set 483# CONFIG_SCSI_DC390T is not set
492# CONFIG_SCSI_NSP32 is not set 484# CONFIG_SCSI_NSP32 is not set
493# CONFIG_SCSI_DEBUG is not set 485# 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 486# CONFIG_SCSI_SRP is not set
497# CONFIG_SCSI_DH is not set 487# CONFIG_SCSI_DH is not set
498# CONFIG_ATA is not set 488# CONFIG_ATA is not set
@@ -537,8 +527,6 @@ CONFIG_DAVICOM_PHY=y
537# CONFIG_MDIO_BITBANG is not set 527# CONFIG_MDIO_BITBANG is not set
538CONFIG_NET_ETHERNET=y 528CONFIG_NET_ETHERNET=y
539CONFIG_MII=y 529CONFIG_MII=y
540# CONFIG_MACE is not set
541# CONFIG_BMAC is not set
542# CONFIG_HAPPYMEAL is not set 530# CONFIG_HAPPYMEAL is not set
543# CONFIG_SUNGEM is not set 531# CONFIG_SUNGEM is not set
544# CONFIG_CASSINI is not set 532# CONFIG_CASSINI is not set
@@ -549,8 +537,12 @@ CONFIG_MII=y
549# CONFIG_IBM_NEW_EMAC_RGMII is not set 537# CONFIG_IBM_NEW_EMAC_RGMII is not set
550# CONFIG_IBM_NEW_EMAC_TAH is not set 538# CONFIG_IBM_NEW_EMAC_TAH is not set
551# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 539# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
540# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
541# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
542# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
552# CONFIG_NET_PCI is not set 543# CONFIG_NET_PCI is not set
553# CONFIG_B44 is not set 544# CONFIG_B44 is not set
545# CONFIG_ATL2 is not set
554CONFIG_NETDEV_1000=y 546CONFIG_NETDEV_1000=y
555# CONFIG_ACENIC is not set 547# CONFIG_ACENIC is not set
556# CONFIG_DL2K is not set 548# CONFIG_DL2K is not set
@@ -577,18 +569,22 @@ CONFIG_UCC_GETH=y
577# CONFIG_QLA3XXX is not set 569# CONFIG_QLA3XXX is not set
578# CONFIG_ATL1 is not set 570# CONFIG_ATL1 is not set
579# CONFIG_ATL1E is not set 571# CONFIG_ATL1E is not set
572# CONFIG_JME is not set
580CONFIG_NETDEV_10000=y 573CONFIG_NETDEV_10000=y
581# CONFIG_CHELSIO_T1 is not set 574# CONFIG_CHELSIO_T1 is not set
582# CONFIG_CHELSIO_T3 is not set 575# CONFIG_CHELSIO_T3 is not set
576# CONFIG_ENIC is not set
583# CONFIG_IXGBE is not set 577# CONFIG_IXGBE is not set
584# CONFIG_IXGB is not set 578# CONFIG_IXGB is not set
585# CONFIG_S2IO is not set 579# CONFIG_S2IO is not set
586# CONFIG_MYRI10GE is not set 580# CONFIG_MYRI10GE is not set
587# CONFIG_NETXEN_NIC is not set 581# CONFIG_NETXEN_NIC is not set
588# CONFIG_NIU is not set 582# CONFIG_NIU is not set
583# CONFIG_MLX4_EN is not set
589# CONFIG_MLX4_CORE is not set 584# CONFIG_MLX4_CORE is not set
590# CONFIG_TEHUTI is not set 585# CONFIG_TEHUTI is not set
591# CONFIG_BNX2X is not set 586# CONFIG_BNX2X is not set
587# CONFIG_QLGE is not set
592# CONFIG_SFC is not set 588# CONFIG_SFC is not set
593# CONFIG_TR is not set 589# CONFIG_TR is not set
594 590
@@ -665,15 +661,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
665# CONFIG_SERIAL_UARTLITE is not set 661# CONFIG_SERIAL_UARTLITE is not set
666CONFIG_SERIAL_CORE=y 662CONFIG_SERIAL_CORE=y
667CONFIG_SERIAL_CORE_CONSOLE=y 663CONFIG_SERIAL_CORE_CONSOLE=y
668# CONFIG_SERIAL_PMACZILOG is not set
669# CONFIG_SERIAL_JSM is not set 664# CONFIG_SERIAL_JSM is not set
670# CONFIG_SERIAL_OF_PLATFORM is not set 665# CONFIG_SERIAL_OF_PLATFORM is not set
671# CONFIG_SERIAL_QE is not set 666# CONFIG_SERIAL_QE is not set
672CONFIG_UNIX98_PTYS=y 667CONFIG_UNIX98_PTYS=y
673CONFIG_LEGACY_PTYS=y 668CONFIG_LEGACY_PTYS=y
674CONFIG_LEGACY_PTY_COUNT=256 669CONFIG_LEGACY_PTY_COUNT=256
675# CONFIG_BRIQ_PANEL is not set
676# CONFIG_HVC_RTAS is not set
677# CONFIG_IPMI_HANDLER is not set 670# CONFIG_IPMI_HANDLER is not set
678CONFIG_HW_RANDOM=y 671CONFIG_HW_RANDOM=y
679# CONFIG_NVRAM is not set 672# CONFIG_NVRAM is not set
@@ -710,12 +703,6 @@ CONFIG_I2C_HELPER_AUTO=y
710# CONFIG_I2C_VIAPRO is not set 703# CONFIG_I2C_VIAPRO is not set
711 704
712# 705#
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) 706# I2C system bus drivers (mostly embedded / system-on-chip)
720# 707#
721CONFIG_I2C_MPC=y 708CONFIG_I2C_MPC=y
@@ -751,6 +738,7 @@ CONFIG_I2C_MPC=y
751# CONFIG_SENSORS_PCF8591 is not set 738# CONFIG_SENSORS_PCF8591 is not set
752# CONFIG_SENSORS_MAX6875 is not set 739# CONFIG_SENSORS_MAX6875 is not set
753# CONFIG_SENSORS_TSL2550 is not set 740# CONFIG_SENSORS_TSL2550 is not set
741# CONFIG_MCU_MPC8349EMITX is not set
754# CONFIG_I2C_DEBUG_CORE is not set 742# CONFIG_I2C_DEBUG_CORE is not set
755# CONFIG_I2C_DEBUG_ALGO is not set 743# CONFIG_I2C_DEBUG_ALGO is not set
756# CONFIG_I2C_DEBUG_BUS is not set 744# CONFIG_I2C_DEBUG_BUS is not set
@@ -772,7 +760,6 @@ CONFIG_HWMON=y
772# CONFIG_SENSORS_ADM9240 is not set 760# CONFIG_SENSORS_ADM9240 is not set
773# CONFIG_SENSORS_ADT7470 is not set 761# CONFIG_SENSORS_ADT7470 is not set
774# CONFIG_SENSORS_ADT7473 is not set 762# CONFIG_SENSORS_ADT7473 is not set
775# CONFIG_SENSORS_AMS is not set
776# CONFIG_SENSORS_ATXP1 is not set 763# CONFIG_SENSORS_ATXP1 is not set
777# CONFIG_SENSORS_DS1621 is not set 764# CONFIG_SENSORS_DS1621 is not set
778# CONFIG_SENSORS_I5K_AMB is not set 765# CONFIG_SENSORS_I5K_AMB is not set
@@ -827,7 +814,6 @@ CONFIG_WATCHDOG=y
827# CONFIG_SOFT_WATCHDOG is not set 814# CONFIG_SOFT_WATCHDOG is not set
828# CONFIG_ALIM7101_WDT is not set 815# CONFIG_ALIM7101_WDT is not set
829# CONFIG_8xxx_WDT is not set 816# CONFIG_8xxx_WDT is not set
830# CONFIG_WATCHDOG_RTAS is not set
831 817
832# 818#
833# PCI-based Watchdog Cards 819# PCI-based Watchdog Cards
@@ -848,6 +834,17 @@ CONFIG_SSB_POSSIBLE=y
848# CONFIG_MFD_SM501 is not set 834# CONFIG_MFD_SM501 is not set
849# CONFIG_HTC_PASIC3 is not set 835# CONFIG_HTC_PASIC3 is not set
850# CONFIG_MFD_TMIO is not set 836# CONFIG_MFD_TMIO is not set
837# CONFIG_PMIC_DA903X is not set
838# CONFIG_MFD_WM8400 is not set
839# CONFIG_MFD_WM8350_I2C is not set
840
841#
842# Voltage and Current regulators
843#
844# CONFIG_REGULATOR is not set
845# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
846# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
847# CONFIG_REGULATOR_BQ24022 is not set
851 848
852# 849#
853# Multimedia devices 850# Multimedia devices
@@ -884,6 +881,12 @@ CONFIG_HID_SUPPORT=y
884CONFIG_HID=y 881CONFIG_HID=y
885# CONFIG_HID_DEBUG is not set 882# CONFIG_HID_DEBUG is not set
886# CONFIG_HIDRAW is not set 883# CONFIG_HIDRAW is not set
884# CONFIG_HID_PID is not set
885
886#
887# Special HID drivers
888#
889CONFIG_HID_COMPAT=y
887CONFIG_USB_SUPPORT=y 890CONFIG_USB_SUPPORT=y
888CONFIG_USB_ARCH_HAS_HCD=y 891CONFIG_USB_ARCH_HAS_HCD=y
889CONFIG_USB_ARCH_HAS_OHCI=y 892CONFIG_USB_ARCH_HAS_OHCI=y
@@ -900,6 +903,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
900# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 903# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
901# 904#
902# CONFIG_USB_GADGET is not set 905# CONFIG_USB_GADGET is not set
906# CONFIG_UWB is not set
903# CONFIG_MMC is not set 907# CONFIG_MMC is not set
904# CONFIG_MEMSTICK is not set 908# CONFIG_MEMSTICK is not set
905# CONFIG_NEW_LEDS is not set 909# CONFIG_NEW_LEDS is not set
@@ -945,12 +949,15 @@ CONFIG_RTC_DRV_DS1374=y
945# Platform RTC drivers 949# Platform RTC drivers
946# 950#
947# CONFIG_RTC_DRV_CMOS is not set 951# CONFIG_RTC_DRV_CMOS is not set
952# CONFIG_RTC_DRV_DS1286 is not set
948# CONFIG_RTC_DRV_DS1511 is not set 953# CONFIG_RTC_DRV_DS1511 is not set
949# CONFIG_RTC_DRV_DS1553 is not set 954# CONFIG_RTC_DRV_DS1553 is not set
950# CONFIG_RTC_DRV_DS1742 is not set 955# CONFIG_RTC_DRV_DS1742 is not set
951# CONFIG_RTC_DRV_STK17TA8 is not set 956# CONFIG_RTC_DRV_STK17TA8 is not set
952# CONFIG_RTC_DRV_M48T86 is not set 957# CONFIG_RTC_DRV_M48T86 is not set
958# CONFIG_RTC_DRV_M48T35 is not set
953# CONFIG_RTC_DRV_M48T59 is not set 959# CONFIG_RTC_DRV_M48T59 is not set
960# CONFIG_RTC_DRV_BQ4802 is not set
954# CONFIG_RTC_DRV_V3020 is not set 961# CONFIG_RTC_DRV_V3020 is not set
955 962
956# 963#
@@ -959,6 +966,7 @@ CONFIG_RTC_DRV_DS1374=y
959# CONFIG_RTC_DRV_PPC is not set 966# CONFIG_RTC_DRV_PPC is not set
960# CONFIG_DMADEVICES is not set 967# CONFIG_DMADEVICES is not set
961# CONFIG_UIO is not set 968# CONFIG_UIO is not set
969# CONFIG_STAGING is not set
962 970
963# 971#
964# File systems 972# File systems
@@ -970,12 +978,13 @@ CONFIG_EXT3_FS=y
970CONFIG_EXT3_FS_XATTR=y 978CONFIG_EXT3_FS_XATTR=y
971# CONFIG_EXT3_FS_POSIX_ACL is not set 979# CONFIG_EXT3_FS_POSIX_ACL is not set
972# CONFIG_EXT3_FS_SECURITY is not set 980# CONFIG_EXT3_FS_SECURITY is not set
973# CONFIG_EXT4DEV_FS is not set 981# CONFIG_EXT4_FS is not set
974CONFIG_JBD=y 982CONFIG_JBD=y
975CONFIG_FS_MBCACHE=y 983CONFIG_FS_MBCACHE=y
976# CONFIG_REISERFS_FS is not set 984# CONFIG_REISERFS_FS is not set
977# CONFIG_JFS_FS is not set 985# CONFIG_JFS_FS is not set
978# CONFIG_FS_POSIX_ACL is not set 986# CONFIG_FS_POSIX_ACL is not set
987CONFIG_FILE_LOCKING=y
979# CONFIG_XFS_FS is not set 988# CONFIG_XFS_FS is not set
980# CONFIG_OCFS2_FS is not set 989# CONFIG_OCFS2_FS is not set
981CONFIG_DNOTIFY=y 990CONFIG_DNOTIFY=y
@@ -1005,6 +1014,7 @@ CONFIG_INOTIFY_USER=y
1005CONFIG_PROC_FS=y 1014CONFIG_PROC_FS=y
1006CONFIG_PROC_KCORE=y 1015CONFIG_PROC_KCORE=y
1007CONFIG_PROC_SYSCTL=y 1016CONFIG_PROC_SYSCTL=y
1017CONFIG_PROC_PAGE_MONITOR=y
1008CONFIG_SYSFS=y 1018CONFIG_SYSFS=y
1009CONFIG_TMPFS=y 1019CONFIG_TMPFS=y
1010# CONFIG_TMPFS_POSIX_ACL is not set 1020# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1042,6 +1052,7 @@ CONFIG_LOCKD_V4=y
1042CONFIG_NFS_COMMON=y 1052CONFIG_NFS_COMMON=y
1043CONFIG_SUNRPC=y 1053CONFIG_SUNRPC=y
1044CONFIG_SUNRPC_GSS=y 1054CONFIG_SUNRPC_GSS=y
1055# CONFIG_SUNRPC_REGISTER_V4 is not set
1045CONFIG_RPCSEC_GSS_KRB5=y 1056CONFIG_RPCSEC_GSS_KRB5=y
1046# CONFIG_RPCSEC_GSS_SPKM3 is not set 1057# CONFIG_RPCSEC_GSS_SPKM3 is not set
1047# CONFIG_SMB_FS is not set 1058# CONFIG_SMB_FS is not set
@@ -1071,13 +1082,11 @@ CONFIG_PARTITION_ADVANCED=y
1071# CONFIG_DLM is not set 1082# CONFIG_DLM is not set
1072CONFIG_UCC_FAST=y 1083CONFIG_UCC_FAST=y
1073CONFIG_UCC=y 1084CONFIG_UCC=y
1074# CONFIG_QE_GPIO is not set
1075 1085
1076# 1086#
1077# Library routines 1087# Library routines
1078# 1088#
1079CONFIG_BITREVERSE=y 1089CONFIG_BITREVERSE=y
1080# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1081# CONFIG_CRC_CCITT is not set 1090# CONFIG_CRC_CCITT is not set
1082# CONFIG_CRC16 is not set 1091# CONFIG_CRC16 is not set
1083# CONFIG_CRC_T10DIF is not set 1092# CONFIG_CRC_T10DIF is not set
@@ -1107,13 +1116,15 @@ CONFIG_FRAME_WARN=1024
1107# CONFIG_SLUB_STATS is not set 1116# CONFIG_SLUB_STATS is not set
1108# CONFIG_DEBUG_BUGVERBOSE is not set 1117# CONFIG_DEBUG_BUGVERBOSE is not set
1109# CONFIG_DEBUG_MEMORY_INIT is not set 1118# CONFIG_DEBUG_MEMORY_INIT is not set
1119# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1110# CONFIG_LATENCYTOP is not set 1120# CONFIG_LATENCYTOP is not set
1111CONFIG_SYSCTL_SYSCALL_CHECK=y 1121CONFIG_SYSCTL_SYSCALL_CHECK=y
1112CONFIG_HAVE_FTRACE=y 1122CONFIG_HAVE_FUNCTION_TRACER=y
1113CONFIG_HAVE_DYNAMIC_FTRACE=y 1123
1114# CONFIG_FTRACE is not set 1124#
1115# CONFIG_SCHED_TRACER is not set 1125# Tracers
1116# CONFIG_CONTEXT_SWITCH_TRACER is not set 1126#
1127# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1117# CONFIG_SAMPLES is not set 1128# CONFIG_SAMPLES is not set
1118CONFIG_HAVE_ARCH_KGDB=y 1129CONFIG_HAVE_ARCH_KGDB=y
1119# CONFIG_IRQSTACKS is not set 1130# CONFIG_IRQSTACKS is not set
@@ -1125,14 +1136,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1125# 1136#
1126# CONFIG_KEYS is not set 1137# CONFIG_KEYS is not set
1127# CONFIG_SECURITY is not set 1138# CONFIG_SECURITY is not set
1139# CONFIG_SECURITYFS is not set
1128# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1140# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1129CONFIG_CRYPTO=y 1141CONFIG_CRYPTO=y
1130 1142
1131# 1143#
1132# Crypto core or helper 1144# Crypto core or helper
1133# 1145#
1146# CONFIG_CRYPTO_FIPS is not set
1134CONFIG_CRYPTO_ALGAPI=y 1147CONFIG_CRYPTO_ALGAPI=y
1148CONFIG_CRYPTO_AEAD=y
1135CONFIG_CRYPTO_BLKCIPHER=y 1149CONFIG_CRYPTO_BLKCIPHER=y
1150CONFIG_CRYPTO_HASH=y
1151CONFIG_CRYPTO_RNG=y
1136CONFIG_CRYPTO_MANAGER=y 1152CONFIG_CRYPTO_MANAGER=y
1137# CONFIG_CRYPTO_GF128MUL is not set 1153# CONFIG_CRYPTO_GF128MUL is not set
1138# CONFIG_CRYPTO_NULL is not set 1154# CONFIG_CRYPTO_NULL is not set
@@ -1205,6 +1221,11 @@ CONFIG_CRYPTO_DES=y
1205# 1221#
1206# CONFIG_CRYPTO_DEFLATE is not set 1222# CONFIG_CRYPTO_DEFLATE is not set
1207# CONFIG_CRYPTO_LZO is not set 1223# CONFIG_CRYPTO_LZO is not set
1224
1225#
1226# Random Number Generation
1227#
1228# CONFIG_CRYPTO_ANSI_CPRNG is not set
1208CONFIG_CRYPTO_HW=y 1229CONFIG_CRYPTO_HW=y
1209# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1230# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1210# CONFIG_CRYPTO_DEV_TALITOS is not set 1231# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
index 38267501f44d..9cc976f010c9 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:19 2008 4# Sat Nov 8 12:39:54 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,20 @@ CONFIG_MPC832x_RDB=y
187CONFIG_PPC_MPC832x=y 183CONFIG_PPC_MPC832x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
207CONFIG_QUICC_ENGINE=y 198CONFIG_QUICC_ENGINE=y
199# CONFIG_QE_GPIO is not set
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
209 201
210# 202#
@@ -225,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
229CONFIG_MATH_EMULATION=y 223CONFIG_MATH_EMULATION=y
230# CONFIG_IOMMU_HELPER is not set 224# CONFIG_IOMMU_HELPER is not set
@@ -240,15 +234,15 @@ CONFIG_FLATMEM_MANUAL=y
240# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
241CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
242CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
243# CONFIG_SPARSEMEM_STATIC is not set
244# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
245CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
246CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
247CONFIG_MIGRATION=y 239CONFIG_MIGRATION=y
248# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
249CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
250CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
251CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
252CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
253CONFIG_PROC_DEVICETREE=y 247CONFIG_PROC_DEVICETREE=y
254# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
@@ -260,7 +254,6 @@ CONFIG_ISA_DMA_API=y
260# 254#
261# Bus options 255# Bus options
262# 256#
263# CONFIG_ISA is not set
264CONFIG_ZONE_DMA=y 257CONFIG_ZONE_DMA=y
265CONFIG_GENERIC_ISA_DMA=y 258CONFIG_GENERIC_ISA_DMA=y
266CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
@@ -273,7 +266,7 @@ CONFIG_PCI_SYSCALL=y
273# CONFIG_PCIEPORTBUS is not set 266# CONFIG_PCIEPORTBUS is not set
274CONFIG_ARCH_SUPPORTS_MSI=y 267CONFIG_ARCH_SUPPORTS_MSI=y
275# CONFIG_PCI_MSI is not set 268# CONFIG_PCI_MSI is not set
276CONFIG_PCI_LEGACY=y 269# CONFIG_PCI_LEGACY is not set
277# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
278# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
279# CONFIG_HAS_RAPIDIO is not set 272# CONFIG_HAS_RAPIDIO is not set
@@ -341,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
341# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
342# CONFIG_ATM is not set 335# CONFIG_ATM is not set
343# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
344# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
345# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
346# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -361,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
361# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
362# CONFIG_BT is not set 356# CONFIG_BT is not set
363# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
364 358# CONFIG_PHONET is not set
365# 359CONFIG_WIRELESS=y
366# Wireless
367#
368# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
369# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
370# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
371# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -392,7 +385,6 @@ CONFIG_OF_SPI=y
392# CONFIG_PARPORT is not set 385# CONFIG_PARPORT is not set
393CONFIG_BLK_DEV=y 386CONFIG_BLK_DEV=y
394# CONFIG_BLK_DEV_FD is not set 387# CONFIG_BLK_DEV_FD is not set
395# CONFIG_MAC_FLOPPY is not set
396# CONFIG_BLK_CPQ_DA is not set 388# CONFIG_BLK_CPQ_DA is not set
397# CONFIG_BLK_CPQ_CISS_DA is not set 389# CONFIG_BLK_CPQ_CISS_DA is not set
398# CONFIG_BLK_DEV_DAC960 is not set 390# CONFIG_BLK_DEV_DAC960 is not set
@@ -493,8 +485,6 @@ CONFIG_SCSI_LOWLEVEL=y
493# CONFIG_SCSI_DC390T is not set 485# CONFIG_SCSI_DC390T is not set
494# CONFIG_SCSI_NSP32 is not set 486# CONFIG_SCSI_NSP32 is not set
495# CONFIG_SCSI_DEBUG is not set 487# CONFIG_SCSI_DEBUG is not set
496# CONFIG_SCSI_MESH is not set
497# CONFIG_SCSI_MAC53C94 is not set
498# CONFIG_SCSI_SRP is not set 488# CONFIG_SCSI_SRP is not set
499# CONFIG_SCSI_DH is not set 489# CONFIG_SCSI_DH is not set
500# CONFIG_ATA is not set 490# CONFIG_ATA is not set
@@ -539,8 +529,6 @@ CONFIG_ICPLUS_PHY=y
539# CONFIG_MDIO_BITBANG is not set 529# CONFIG_MDIO_BITBANG is not set
540CONFIG_NET_ETHERNET=y 530CONFIG_NET_ETHERNET=y
541CONFIG_MII=y 531CONFIG_MII=y
542# CONFIG_MACE is not set
543# CONFIG_BMAC is not set
544# CONFIG_HAPPYMEAL is not set 532# CONFIG_HAPPYMEAL is not set
545# CONFIG_SUNGEM is not set 533# CONFIG_SUNGEM is not set
546# CONFIG_CASSINI is not set 534# CONFIG_CASSINI is not set
@@ -552,13 +540,16 @@ CONFIG_MII=y
552# CONFIG_IBM_NEW_EMAC_RGMII is not set 540# CONFIG_IBM_NEW_EMAC_RGMII is not set
553# CONFIG_IBM_NEW_EMAC_TAH is not set 541# CONFIG_IBM_NEW_EMAC_TAH is not set
554# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 542# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
543# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
544# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
545# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
555# CONFIG_NET_PCI is not set 546# CONFIG_NET_PCI is not set
556# CONFIG_B44 is not set 547# CONFIG_B44 is not set
548# CONFIG_ATL2 is not set
557CONFIG_NETDEV_1000=y 549CONFIG_NETDEV_1000=y
558# CONFIG_ACENIC is not set 550# CONFIG_ACENIC is not set
559# CONFIG_DL2K is not set 551# CONFIG_DL2K is not set
560CONFIG_E1000=y 552CONFIG_E1000=y
561# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
562# CONFIG_E1000E is not set 553# CONFIG_E1000E is not set
563# CONFIG_IP1000 is not set 554# CONFIG_IP1000 is not set
564# CONFIG_IGB is not set 555# CONFIG_IGB is not set
@@ -581,18 +572,22 @@ CONFIG_UCC_GETH=y
581# CONFIG_QLA3XXX is not set 572# CONFIG_QLA3XXX is not set
582# CONFIG_ATL1 is not set 573# CONFIG_ATL1 is not set
583# CONFIG_ATL1E is not set 574# CONFIG_ATL1E is not set
575# CONFIG_JME is not set
584CONFIG_NETDEV_10000=y 576CONFIG_NETDEV_10000=y
585# CONFIG_CHELSIO_T1 is not set 577# CONFIG_CHELSIO_T1 is not set
586# CONFIG_CHELSIO_T3 is not set 578# CONFIG_CHELSIO_T3 is not set
579# CONFIG_ENIC is not set
587# CONFIG_IXGBE is not set 580# CONFIG_IXGBE is not set
588# CONFIG_IXGB is not set 581# CONFIG_IXGB is not set
589# CONFIG_S2IO is not set 582# CONFIG_S2IO is not set
590# CONFIG_MYRI10GE is not set 583# CONFIG_MYRI10GE is not set
591# CONFIG_NETXEN_NIC is not set 584# CONFIG_NETXEN_NIC is not set
592# CONFIG_NIU is not set 585# CONFIG_NIU is not set
586# CONFIG_MLX4_EN is not set
593# CONFIG_MLX4_CORE is not set 587# CONFIG_MLX4_CORE is not set
594# CONFIG_TEHUTI is not set 588# CONFIG_TEHUTI is not set
595# CONFIG_BNX2X is not set 589# CONFIG_BNX2X is not set
590# CONFIG_QLGE is not set
596# CONFIG_SFC is not set 591# CONFIG_SFC is not set
597# CONFIG_TR is not set 592# CONFIG_TR is not set
598 593
@@ -678,15 +673,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
678# CONFIG_SERIAL_UARTLITE is not set 673# CONFIG_SERIAL_UARTLITE is not set
679CONFIG_SERIAL_CORE=y 674CONFIG_SERIAL_CORE=y
680CONFIG_SERIAL_CORE_CONSOLE=y 675CONFIG_SERIAL_CORE_CONSOLE=y
681# CONFIG_SERIAL_PMACZILOG is not set
682# CONFIG_SERIAL_JSM is not set 676# CONFIG_SERIAL_JSM is not set
683# CONFIG_SERIAL_OF_PLATFORM is not set 677# CONFIG_SERIAL_OF_PLATFORM is not set
684# CONFIG_SERIAL_QE is not set 678# CONFIG_SERIAL_QE is not set
685CONFIG_UNIX98_PTYS=y 679CONFIG_UNIX98_PTYS=y
686CONFIG_LEGACY_PTYS=y 680CONFIG_LEGACY_PTYS=y
687CONFIG_LEGACY_PTY_COUNT=256 681CONFIG_LEGACY_PTY_COUNT=256
688# CONFIG_BRIQ_PANEL is not set
689# CONFIG_HVC_RTAS is not set
690# CONFIG_IPMI_HANDLER is not set 682# CONFIG_IPMI_HANDLER is not set
691CONFIG_HW_RANDOM=y 683CONFIG_HW_RANDOM=y
692# CONFIG_NVRAM is not set 684# CONFIG_NVRAM is not set
@@ -725,12 +717,6 @@ CONFIG_I2C_HELPER_AUTO=y
725# CONFIG_I2C_VIAPRO is not set 717# CONFIG_I2C_VIAPRO is not set
726 718
727# 719#
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) 720# I2C system bus drivers (mostly embedded / system-on-chip)
735# 721#
736CONFIG_I2C_MPC=y 722CONFIG_I2C_MPC=y
@@ -767,6 +753,7 @@ CONFIG_I2C_MPC=y
767# CONFIG_SENSORS_PCF8591 is not set 753# CONFIG_SENSORS_PCF8591 is not set
768# CONFIG_SENSORS_MAX6875 is not set 754# CONFIG_SENSORS_MAX6875 is not set
769# CONFIG_SENSORS_TSL2550 is not set 755# CONFIG_SENSORS_TSL2550 is not set
756# CONFIG_MCU_MPC8349EMITX is not set
770# CONFIG_I2C_DEBUG_CORE is not set 757# CONFIG_I2C_DEBUG_CORE is not set
771# CONFIG_I2C_DEBUG_ALGO is not set 758# CONFIG_I2C_DEBUG_ALGO is not set
772# CONFIG_I2C_DEBUG_BUS is not set 759# CONFIG_I2C_DEBUG_BUS is not set
@@ -803,7 +790,6 @@ CONFIG_HWMON=y
803# CONFIG_SENSORS_ADM9240 is not set 790# CONFIG_SENSORS_ADM9240 is not set
804# CONFIG_SENSORS_ADT7470 is not set 791# CONFIG_SENSORS_ADT7470 is not set
805# CONFIG_SENSORS_ADT7473 is not set 792# CONFIG_SENSORS_ADT7473 is not set
806# CONFIG_SENSORS_AMS is not set
807# CONFIG_SENSORS_ATXP1 is not set 793# CONFIG_SENSORS_ATXP1 is not set
808# CONFIG_SENSORS_DS1621 is not set 794# CONFIG_SENSORS_DS1621 is not set
809# CONFIG_SENSORS_I5K_AMB is not set 795# CONFIG_SENSORS_I5K_AMB is not set
@@ -825,6 +811,7 @@ CONFIG_HWMON=y
825# CONFIG_SENSORS_LM90 is not set 811# CONFIG_SENSORS_LM90 is not set
826# CONFIG_SENSORS_LM92 is not set 812# CONFIG_SENSORS_LM92 is not set
827# CONFIG_SENSORS_LM93 is not set 813# CONFIG_SENSORS_LM93 is not set
814# CONFIG_SENSORS_MAX1111 is not set
828# CONFIG_SENSORS_MAX1619 is not set 815# CONFIG_SENSORS_MAX1619 is not set
829# CONFIG_SENSORS_MAX6650 is not set 816# CONFIG_SENSORS_MAX6650 is not set
830# CONFIG_SENSORS_PC87360 is not set 817# CONFIG_SENSORS_PC87360 is not set
@@ -859,7 +846,6 @@ CONFIG_WATCHDOG=y
859# CONFIG_SOFT_WATCHDOG is not set 846# CONFIG_SOFT_WATCHDOG is not set
860# CONFIG_ALIM7101_WDT is not set 847# CONFIG_ALIM7101_WDT is not set
861# CONFIG_8xxx_WDT is not set 848# CONFIG_8xxx_WDT is not set
862# CONFIG_WATCHDOG_RTAS is not set
863 849
864# 850#
865# PCI-based Watchdog Cards 851# PCI-based Watchdog Cards
@@ -885,6 +871,17 @@ CONFIG_SSB_POSSIBLE=y
885# CONFIG_MFD_SM501 is not set 871# CONFIG_MFD_SM501 is not set
886# CONFIG_HTC_PASIC3 is not set 872# CONFIG_HTC_PASIC3 is not set
887# CONFIG_MFD_TMIO is not set 873# CONFIG_MFD_TMIO is not set
874# CONFIG_PMIC_DA903X is not set
875# CONFIG_MFD_WM8400 is not set
876# CONFIG_MFD_WM8350_I2C is not set
877
878#
879# Voltage and Current regulators
880#
881# CONFIG_REGULATOR is not set
882# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
883# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
884# CONFIG_REGULATOR_BQ24022 is not set
888 885
889# 886#
890# Multimedia devices 887# Multimedia devices
@@ -927,12 +924,18 @@ CONFIG_HID=y
927# USB Input Devices 924# USB Input Devices
928# 925#
929# CONFIG_USB_HID is not set 926# CONFIG_USB_HID is not set
927# CONFIG_HID_PID is not set
930 928
931# 929#
932# USB HID Boot Protocol drivers 930# USB HID Boot Protocol drivers
933# 931#
934# CONFIG_USB_KBD is not set 932# CONFIG_USB_KBD is not set
935# CONFIG_USB_MOUSE is not set 933# CONFIG_USB_MOUSE is not set
934
935#
936# Special HID drivers
937#
938CONFIG_HID_COMPAT=y
936CONFIG_USB_SUPPORT=y 939CONFIG_USB_SUPPORT=y
937CONFIG_USB_ARCH_HAS_HCD=y 940CONFIG_USB_ARCH_HAS_HCD=y
938CONFIG_USB_ARCH_HAS_OHCI=y 941CONFIG_USB_ARCH_HAS_OHCI=y
@@ -951,6 +954,8 @@ CONFIG_USB_DEVICE_CLASS=y
951# CONFIG_USB_OTG_WHITELIST is not set 954# CONFIG_USB_OTG_WHITELIST is not set
952# CONFIG_USB_OTG_BLACKLIST_HUB is not set 955# CONFIG_USB_OTG_BLACKLIST_HUB is not set
953CONFIG_USB_MON=y 956CONFIG_USB_MON=y
957# CONFIG_USB_WUSB is not set
958# CONFIG_USB_WUSB_CBAF is not set
954 959
955# 960#
956# USB Host Controller Drivers 961# USB Host Controller Drivers
@@ -974,6 +979,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
974# CONFIG_USB_UHCI_HCD is not set 979# CONFIG_USB_UHCI_HCD is not set
975# CONFIG_USB_SL811_HCD is not set 980# CONFIG_USB_SL811_HCD is not set
976# CONFIG_USB_R8A66597_HCD is not set 981# CONFIG_USB_R8A66597_HCD is not set
982# CONFIG_USB_WHCI_HCD is not set
983# CONFIG_USB_HWA_HCD is not set
977 984
978# 985#
979# USB Device Class drivers 986# USB Device Class drivers
@@ -981,6 +988,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
981# CONFIG_USB_ACM is not set 988# CONFIG_USB_ACM is not set
982# CONFIG_USB_PRINTER is not set 989# CONFIG_USB_PRINTER is not set
983# CONFIG_USB_WDM is not set 990# CONFIG_USB_WDM is not set
991# CONFIG_USB_TMC is not set
984 992
985# 993#
986# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 994# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1002,7 +1010,6 @@ CONFIG_USB_STORAGE=y
1002# CONFIG_USB_STORAGE_ALAUDA is not set 1010# CONFIG_USB_STORAGE_ALAUDA is not set
1003# CONFIG_USB_STORAGE_ONETOUCH is not set 1011# CONFIG_USB_STORAGE_ONETOUCH is not set
1004# CONFIG_USB_STORAGE_KARMA is not set 1012# CONFIG_USB_STORAGE_KARMA is not set
1005# CONFIG_USB_STORAGE_SIERRA is not set
1006# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1013# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1007# CONFIG_USB_LIBUSUAL is not set 1014# CONFIG_USB_LIBUSUAL is not set
1008 1015
@@ -1023,6 +1030,7 @@ CONFIG_USB_STORAGE=y
1023# CONFIG_USB_EMI62 is not set 1030# CONFIG_USB_EMI62 is not set
1024# CONFIG_USB_EMI26 is not set 1031# CONFIG_USB_EMI26 is not set
1025# CONFIG_USB_ADUTUX is not set 1032# CONFIG_USB_ADUTUX is not set
1033# CONFIG_USB_SEVSEG is not set
1026# CONFIG_USB_RIO500 is not set 1034# CONFIG_USB_RIO500 is not set
1027# CONFIG_USB_LEGOTOWER is not set 1035# CONFIG_USB_LEGOTOWER is not set
1028# CONFIG_USB_LCD is not set 1036# CONFIG_USB_LCD is not set
@@ -1040,13 +1048,15 @@ CONFIG_USB_STORAGE=y
1040# CONFIG_USB_IOWARRIOR is not set 1048# CONFIG_USB_IOWARRIOR is not set
1041# CONFIG_USB_TEST is not set 1049# CONFIG_USB_TEST is not set
1042# CONFIG_USB_ISIGHTFW is not set 1050# CONFIG_USB_ISIGHTFW is not set
1051# CONFIG_USB_VST is not set
1043# CONFIG_USB_GADGET is not set 1052# CONFIG_USB_GADGET is not set
1053# CONFIG_UWB is not set
1044CONFIG_MMC=y 1054CONFIG_MMC=y
1045# CONFIG_MMC_DEBUG is not set 1055# CONFIG_MMC_DEBUG is not set
1046# CONFIG_MMC_UNSAFE_RESUME is not set 1056# CONFIG_MMC_UNSAFE_RESUME is not set
1047 1057
1048# 1058#
1049# MMC/SD Card Drivers 1059# MMC/SD/SDIO Card Drivers
1050# 1060#
1051CONFIG_MMC_BLOCK=y 1061CONFIG_MMC_BLOCK=y
1052CONFIG_MMC_BLOCK_BOUNCE=y 1062CONFIG_MMC_BLOCK_BOUNCE=y
@@ -1054,7 +1064,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1054# CONFIG_MMC_TEST is not set 1064# CONFIG_MMC_TEST is not set
1055 1065
1056# 1066#
1057# MMC/SD Host Controller Drivers 1067# MMC/SD/SDIO Host Controller Drivers
1058# 1068#
1059# CONFIG_MMC_SDHCI is not set 1069# CONFIG_MMC_SDHCI is not set
1060# CONFIG_MMC_WBSD is not set 1070# CONFIG_MMC_WBSD is not set
@@ -1068,6 +1078,7 @@ CONFIG_MMC_SPI=y
1068# CONFIG_RTC_CLASS is not set 1078# CONFIG_RTC_CLASS is not set
1069# CONFIG_DMADEVICES is not set 1079# CONFIG_DMADEVICES is not set
1070# CONFIG_UIO is not set 1080# CONFIG_UIO is not set
1081# CONFIG_STAGING is not set
1071 1082
1072# 1083#
1073# File systems 1084# File systems
@@ -1079,12 +1090,13 @@ CONFIG_EXT3_FS=y
1079CONFIG_EXT3_FS_XATTR=y 1090CONFIG_EXT3_FS_XATTR=y
1080# CONFIG_EXT3_FS_POSIX_ACL is not set 1091# CONFIG_EXT3_FS_POSIX_ACL is not set
1081# CONFIG_EXT3_FS_SECURITY is not set 1092# CONFIG_EXT3_FS_SECURITY is not set
1082# CONFIG_EXT4DEV_FS is not set 1093# CONFIG_EXT4_FS is not set
1083CONFIG_JBD=y 1094CONFIG_JBD=y
1084CONFIG_FS_MBCACHE=y 1095CONFIG_FS_MBCACHE=y
1085# CONFIG_REISERFS_FS is not set 1096# CONFIG_REISERFS_FS is not set
1086# CONFIG_JFS_FS is not set 1097# CONFIG_JFS_FS is not set
1087# CONFIG_FS_POSIX_ACL is not set 1098# CONFIG_FS_POSIX_ACL is not set
1099CONFIG_FILE_LOCKING=y
1088# CONFIG_XFS_FS is not set 1100# CONFIG_XFS_FS is not set
1089# CONFIG_OCFS2_FS is not set 1101# CONFIG_OCFS2_FS is not set
1090CONFIG_DNOTIFY=y 1102CONFIG_DNOTIFY=y
@@ -1117,6 +1129,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1117CONFIG_PROC_FS=y 1129CONFIG_PROC_FS=y
1118CONFIG_PROC_KCORE=y 1130CONFIG_PROC_KCORE=y
1119CONFIG_PROC_SYSCTL=y 1131CONFIG_PROC_SYSCTL=y
1132CONFIG_PROC_PAGE_MONITOR=y
1120CONFIG_SYSFS=y 1133CONFIG_SYSFS=y
1121CONFIG_TMPFS=y 1134CONFIG_TMPFS=y
1122# CONFIG_TMPFS_POSIX_ACL is not set 1135# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1154,6 +1167,7 @@ CONFIG_LOCKD_V4=y
1154CONFIG_NFS_COMMON=y 1167CONFIG_NFS_COMMON=y
1155CONFIG_SUNRPC=y 1168CONFIG_SUNRPC=y
1156CONFIG_SUNRPC_GSS=y 1169CONFIG_SUNRPC_GSS=y
1170# CONFIG_SUNRPC_REGISTER_V4 is not set
1157CONFIG_RPCSEC_GSS_KRB5=y 1171CONFIG_RPCSEC_GSS_KRB5=y
1158# CONFIG_RPCSEC_GSS_SPKM3 is not set 1172# CONFIG_RPCSEC_GSS_SPKM3 is not set
1159# CONFIG_SMB_FS is not set 1173# CONFIG_SMB_FS is not set
@@ -1227,13 +1241,11 @@ CONFIG_NLS_ISO8859_1=y
1227# CONFIG_DLM is not set 1241# CONFIG_DLM is not set
1228CONFIG_UCC_FAST=y 1242CONFIG_UCC_FAST=y
1229CONFIG_UCC=y 1243CONFIG_UCC=y
1230# CONFIG_QE_GPIO is not set
1231 1244
1232# 1245#
1233# Library routines 1246# Library routines
1234# 1247#
1235CONFIG_BITREVERSE=y 1248CONFIG_BITREVERSE=y
1236# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1237# CONFIG_CRC_CCITT is not set 1249# CONFIG_CRC_CCITT is not set
1238# CONFIG_CRC16 is not set 1250# CONFIG_CRC16 is not set
1239CONFIG_CRC_T10DIF=y 1251CONFIG_CRC_T10DIF=y
@@ -1263,13 +1275,15 @@ CONFIG_FRAME_WARN=1024
1263# CONFIG_SLUB_STATS is not set 1275# CONFIG_SLUB_STATS is not set
1264# CONFIG_DEBUG_BUGVERBOSE is not set 1276# CONFIG_DEBUG_BUGVERBOSE is not set
1265# CONFIG_DEBUG_MEMORY_INIT is not set 1277# CONFIG_DEBUG_MEMORY_INIT is not set
1278# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1266# CONFIG_LATENCYTOP is not set 1279# CONFIG_LATENCYTOP is not set
1267CONFIG_SYSCTL_SYSCALL_CHECK=y 1280CONFIG_SYSCTL_SYSCALL_CHECK=y
1268CONFIG_HAVE_FTRACE=y 1281CONFIG_HAVE_FUNCTION_TRACER=y
1269CONFIG_HAVE_DYNAMIC_FTRACE=y 1282
1270# CONFIG_FTRACE is not set 1283#
1271# CONFIG_SCHED_TRACER is not set 1284# Tracers
1272# CONFIG_CONTEXT_SWITCH_TRACER is not set 1285#
1286# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1273# CONFIG_SAMPLES is not set 1287# CONFIG_SAMPLES is not set
1274CONFIG_HAVE_ARCH_KGDB=y 1288CONFIG_HAVE_ARCH_KGDB=y
1275# CONFIG_IRQSTACKS is not set 1289# CONFIG_IRQSTACKS is not set
@@ -1281,14 +1295,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1281# 1295#
1282# CONFIG_KEYS is not set 1296# CONFIG_KEYS is not set
1283# CONFIG_SECURITY is not set 1297# CONFIG_SECURITY is not set
1298# CONFIG_SECURITYFS is not set
1284# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1299# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1285CONFIG_CRYPTO=y 1300CONFIG_CRYPTO=y
1286 1301
1287# 1302#
1288# Crypto core or helper 1303# Crypto core or helper
1289# 1304#
1305# CONFIG_CRYPTO_FIPS is not set
1290CONFIG_CRYPTO_ALGAPI=y 1306CONFIG_CRYPTO_ALGAPI=y
1307CONFIG_CRYPTO_AEAD=y
1291CONFIG_CRYPTO_BLKCIPHER=y 1308CONFIG_CRYPTO_BLKCIPHER=y
1309CONFIG_CRYPTO_HASH=y
1310CONFIG_CRYPTO_RNG=y
1292CONFIG_CRYPTO_MANAGER=y 1311CONFIG_CRYPTO_MANAGER=y
1293# CONFIG_CRYPTO_GF128MUL is not set 1312# CONFIG_CRYPTO_GF128MUL is not set
1294# CONFIG_CRYPTO_NULL is not set 1313# CONFIG_CRYPTO_NULL is not set
@@ -1361,6 +1380,11 @@ CONFIG_CRYPTO_DES=y
1361# 1380#
1362# CONFIG_CRYPTO_DEFLATE is not set 1381# CONFIG_CRYPTO_DEFLATE is not set
1363# CONFIG_CRYPTO_LZO is not set 1382# CONFIG_CRYPTO_LZO is not set
1383
1384#
1385# Random Number Generation
1386#
1387# CONFIG_CRYPTO_ANSI_CPRNG is not set
1364CONFIG_CRYPTO_HW=y 1388CONFIG_CRYPTO_HW=y
1365# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1389# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1366# CONFIG_CRYPTO_DEV_TALITOS is not set 1390# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
index 90aab340e7ff..e55ff7c47a36 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:20 2008 4# Sat Nov 8 12:39:56 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,21 @@ CONFIG_MPC834x_ITX=y
187CONFIG_PPC_MPC834x=y 183CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
200# CONFIG_MPC8xxx_GPIO is not set
208 201
209# 202#
210# Kernel options 203# Kernel options
@@ -224,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +253,6 @@ CONFIG_ISA_DMA_API=y
258# 253#
259# Bus options 254# Bus options
260# 255#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 271# CONFIG_HAS_RAPIDIO is not set
@@ -339,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_TIPC is not set 333# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 334# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 335# CONFIG_BRIDGE is not set
336# CONFIG_NET_DSA is not set
342# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
343# CONFIG_DECNET is not set 338# CONFIG_DECNET is not set
344# CONFIG_LLC2 is not set 339# CONFIG_LLC2 is not set
@@ -359,11 +354,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
360# CONFIG_BT is not set 355# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
362 357# CONFIG_PHONET is not set
363# 358CONFIG_WIRELESS=y
364# Wireless
365#
366# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
367# CONFIG_WIRELESS_EXT is not set 361# CONFIG_WIRELESS_EXT is not set
368# CONFIG_MAC80211 is not set 362# CONFIG_MAC80211 is not set
369# CONFIG_IEEE80211 is not set 363# CONFIG_IEEE80211 is not set
@@ -469,7 +463,6 @@ CONFIG_OF_SPI=y
469# CONFIG_PARPORT is not set 463# CONFIG_PARPORT is not set
470CONFIG_BLK_DEV=y 464CONFIG_BLK_DEV=y
471# CONFIG_BLK_DEV_FD is not set 465# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
473# CONFIG_BLK_CPQ_DA is not set 466# CONFIG_BLK_CPQ_DA is not set
474# CONFIG_BLK_CPQ_CISS_DA is not set 467# CONFIG_BLK_CPQ_CISS_DA is not set
475# CONFIG_BLK_DEV_DAC960 is not set 468# CONFIG_BLK_DEV_DAC960 is not set
@@ -496,7 +489,54 @@ CONFIG_MISC_DEVICES=y
496# CONFIG_HP_ILO is not set 489# CONFIG_HP_ILO is not set
497CONFIG_HAVE_IDE=y 490CONFIG_HAVE_IDE=y
498CONFIG_IDE=y 491CONFIG_IDE=y
499# CONFIG_BLK_DEV_IDE is not set 492
493#
494# Please see Documentation/ide/ide.txt for help/info on IDE drives
495#
496# CONFIG_BLK_DEV_IDE_SATA is not set
497CONFIG_IDE_GD=y
498CONFIG_IDE_GD_ATA=y
499# CONFIG_IDE_GD_ATAPI is not set
500# CONFIG_BLK_DEV_IDECD is not set
501# CONFIG_BLK_DEV_IDETAPE is not set
502# CONFIG_BLK_DEV_IDESCSI is not set
503# CONFIG_IDE_TASK_IOCTL is not set
504CONFIG_IDE_PROC_FS=y
505
506#
507# IDE chipset support/bugfixes
508#
509# CONFIG_BLK_DEV_PLATFORM is not set
510
511#
512# PCI IDE chipsets support
513#
514# CONFIG_BLK_DEV_GENERIC is not set
515# CONFIG_BLK_DEV_OPTI621 is not set
516# CONFIG_BLK_DEV_AEC62XX is not set
517# CONFIG_BLK_DEV_ALI15X3 is not set
518# CONFIG_BLK_DEV_AMD74XX is not set
519# CONFIG_BLK_DEV_CMD64X is not set
520# CONFIG_BLK_DEV_TRIFLEX is not set
521# CONFIG_BLK_DEV_CS5520 is not set
522# CONFIG_BLK_DEV_CS5530 is not set
523# CONFIG_BLK_DEV_HPT366 is not set
524# CONFIG_BLK_DEV_JMICRON is not set
525# CONFIG_BLK_DEV_SC1200 is not set
526# CONFIG_BLK_DEV_PIIX is not set
527# CONFIG_BLK_DEV_IT8213 is not set
528# CONFIG_BLK_DEV_IT821X is not set
529# CONFIG_BLK_DEV_NS87415 is not set
530# CONFIG_BLK_DEV_PDC202XX_OLD is not set
531# CONFIG_BLK_DEV_PDC202XX_NEW is not set
532# CONFIG_BLK_DEV_SVWKS is not set
533# CONFIG_BLK_DEV_SIIMAGE is not set
534# CONFIG_BLK_DEV_SL82C105 is not set
535# CONFIG_BLK_DEV_SLC90E66 is not set
536# CONFIG_BLK_DEV_TRM290 is not set
537# CONFIG_BLK_DEV_VIA82CXXX is not set
538# CONFIG_BLK_DEV_TC86C001 is not set
539# CONFIG_BLK_DEV_IDEDMA is not set
500 540
501# 541#
502# SCSI device support 542# SCSI device support
@@ -572,8 +612,6 @@ CONFIG_SCSI_LOWLEVEL=y
572# CONFIG_SCSI_DC390T is not set 612# CONFIG_SCSI_DC390T is not set
573# CONFIG_SCSI_NSP32 is not set 613# CONFIG_SCSI_NSP32 is not set
574# CONFIG_SCSI_DEBUG is not set 614# CONFIG_SCSI_DEBUG is not set
575# CONFIG_SCSI_MESH is not set
576# CONFIG_SCSI_MAC53C94 is not set
577# CONFIG_SCSI_SRP is not set 615# CONFIG_SCSI_SRP is not set
578# CONFIG_SCSI_DH is not set 616# CONFIG_SCSI_DH is not set
579CONFIG_ATA=y 617CONFIG_ATA=y
@@ -640,6 +678,7 @@ CONFIG_PATA_OF_PLATFORM=y
640# CONFIG_PATA_SCH is not set 678# CONFIG_PATA_SCH is not set
641CONFIG_MD=y 679CONFIG_MD=y
642CONFIG_BLK_DEV_MD=y 680CONFIG_BLK_DEV_MD=y
681CONFIG_MD_AUTODETECT=y
643CONFIG_MD_LINEAR=y 682CONFIG_MD_LINEAR=y
644CONFIG_MD_RAID0=y 683CONFIG_MD_RAID0=y
645CONFIG_MD_RAID1=y 684CONFIG_MD_RAID1=y
@@ -709,18 +748,22 @@ CONFIG_GIANFAR=y
709# CONFIG_QLA3XXX is not set 748# CONFIG_QLA3XXX is not set
710# CONFIG_ATL1 is not set 749# CONFIG_ATL1 is not set
711# CONFIG_ATL1E is not set 750# CONFIG_ATL1E is not set
751# CONFIG_JME is not set
712CONFIG_NETDEV_10000=y 752CONFIG_NETDEV_10000=y
713# CONFIG_CHELSIO_T1 is not set 753# CONFIG_CHELSIO_T1 is not set
714# CONFIG_CHELSIO_T3 is not set 754# CONFIG_CHELSIO_T3 is not set
755# CONFIG_ENIC is not set
715# CONFIG_IXGBE is not set 756# CONFIG_IXGBE is not set
716# CONFIG_IXGB is not set 757# CONFIG_IXGB is not set
717# CONFIG_S2IO is not set 758# CONFIG_S2IO is not set
718# CONFIG_MYRI10GE is not set 759# CONFIG_MYRI10GE is not set
719# CONFIG_NETXEN_NIC is not set 760# CONFIG_NETXEN_NIC is not set
720# CONFIG_NIU is not set 761# CONFIG_NIU is not set
762# CONFIG_MLX4_EN is not set
721# CONFIG_MLX4_CORE is not set 763# CONFIG_MLX4_CORE is not set
722# CONFIG_TEHUTI is not set 764# CONFIG_TEHUTI is not set
723# CONFIG_BNX2X is not set 765# CONFIG_BNX2X is not set
766# CONFIG_QLGE is not set
724# CONFIG_SFC is not set 767# CONFIG_SFC is not set
725# CONFIG_TR is not set 768# CONFIG_TR is not set
726 769
@@ -786,14 +829,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
786# CONFIG_SERIAL_UARTLITE is not set 829# CONFIG_SERIAL_UARTLITE is not set
787CONFIG_SERIAL_CORE=y 830CONFIG_SERIAL_CORE=y
788CONFIG_SERIAL_CORE_CONSOLE=y 831CONFIG_SERIAL_CORE_CONSOLE=y
789# CONFIG_SERIAL_PMACZILOG is not set
790# CONFIG_SERIAL_JSM is not set 832# CONFIG_SERIAL_JSM is not set
791# CONFIG_SERIAL_OF_PLATFORM is not set 833# CONFIG_SERIAL_OF_PLATFORM is not set
792CONFIG_UNIX98_PTYS=y 834CONFIG_UNIX98_PTYS=y
793CONFIG_LEGACY_PTYS=y 835CONFIG_LEGACY_PTYS=y
794CONFIG_LEGACY_PTY_COUNT=256 836CONFIG_LEGACY_PTY_COUNT=256
795# CONFIG_BRIQ_PANEL is not set
796# CONFIG_HVC_RTAS is not set
797# CONFIG_IPMI_HANDLER is not set 837# CONFIG_IPMI_HANDLER is not set
798CONFIG_HW_RANDOM=y 838CONFIG_HW_RANDOM=y
799# CONFIG_NVRAM is not set 839# CONFIG_NVRAM is not set
@@ -830,12 +870,6 @@ CONFIG_I2C_HELPER_AUTO=y
830# CONFIG_I2C_VIAPRO is not set 870# CONFIG_I2C_VIAPRO is not set
831 871
832# 872#
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) 873# I2C system bus drivers (mostly embedded / system-on-chip)
840# 874#
841CONFIG_I2C_MPC=y 875CONFIG_I2C_MPC=y
@@ -872,6 +906,7 @@ CONFIG_SENSORS_PCF8574=y
872# CONFIG_SENSORS_PCF8591 is not set 906# CONFIG_SENSORS_PCF8591 is not set
873# CONFIG_SENSORS_MAX6875 is not set 907# CONFIG_SENSORS_MAX6875 is not set
874# CONFIG_SENSORS_TSL2550 is not set 908# CONFIG_SENSORS_TSL2550 is not set
909# CONFIG_MCU_MPC8349EMITX is not set
875# CONFIG_I2C_DEBUG_CORE is not set 910# CONFIG_I2C_DEBUG_CORE is not set
876# CONFIG_I2C_DEBUG_ALGO is not set 911# CONFIG_I2C_DEBUG_ALGO is not set
877# CONFIG_I2C_DEBUG_BUS is not set 912# CONFIG_I2C_DEBUG_BUS is not set
@@ -907,7 +942,6 @@ CONFIG_WATCHDOG=y
907# CONFIG_SOFT_WATCHDOG is not set 942# CONFIG_SOFT_WATCHDOG is not set
908# CONFIG_ALIM7101_WDT is not set 943# CONFIG_ALIM7101_WDT is not set
909# CONFIG_8xxx_WDT is not set 944# CONFIG_8xxx_WDT is not set
910# CONFIG_WATCHDOG_RTAS is not set
911 945
912# 946#
913# PCI-based Watchdog Cards 947# PCI-based Watchdog Cards
@@ -933,6 +967,17 @@ CONFIG_SSB_POSSIBLE=y
933# CONFIG_MFD_SM501 is not set 967# CONFIG_MFD_SM501 is not set
934# CONFIG_HTC_PASIC3 is not set 968# CONFIG_HTC_PASIC3 is not set
935# CONFIG_MFD_TMIO is not set 969# CONFIG_MFD_TMIO is not set
970# CONFIG_PMIC_DA903X is not set
971# CONFIG_MFD_WM8400 is not set
972# CONFIG_MFD_WM8350_I2C is not set
973
974#
975# Voltage and Current regulators
976#
977# CONFIG_REGULATOR is not set
978# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
979# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
980# CONFIG_REGULATOR_BQ24022 is not set
936 981
937# 982#
938# Multimedia devices 983# Multimedia devices
@@ -984,6 +1029,8 @@ CONFIG_USB_DEVICE_CLASS=y
984# CONFIG_USB_OTG_WHITELIST is not set 1029# CONFIG_USB_OTG_WHITELIST is not set
985# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1030# CONFIG_USB_OTG_BLACKLIST_HUB is not set
986CONFIG_USB_MON=y 1031CONFIG_USB_MON=y
1032# CONFIG_USB_WUSB is not set
1033# CONFIG_USB_WUSB_CBAF is not set
987 1034
988# 1035#
989# USB Host Controller Drivers 1036# USB Host Controller Drivers
@@ -1000,6 +1047,8 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1000CONFIG_USB_UHCI_HCD=y 1047CONFIG_USB_UHCI_HCD=y
1001# CONFIG_USB_SL811_HCD is not set 1048# CONFIG_USB_SL811_HCD is not set
1002# CONFIG_USB_R8A66597_HCD is not set 1049# CONFIG_USB_R8A66597_HCD is not set
1050# CONFIG_USB_WHCI_HCD is not set
1051# CONFIG_USB_HWA_HCD is not set
1003 1052
1004# 1053#
1005# USB Device Class drivers 1054# USB Device Class drivers
@@ -1007,6 +1056,7 @@ CONFIG_USB_UHCI_HCD=y
1007# CONFIG_USB_ACM is not set 1056# CONFIG_USB_ACM is not set
1008# CONFIG_USB_PRINTER is not set 1057# CONFIG_USB_PRINTER is not set
1009# CONFIG_USB_WDM is not set 1058# CONFIG_USB_WDM is not set
1059# CONFIG_USB_TMC is not set
1010 1060
1011# 1061#
1012# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1062# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1027,7 +1077,6 @@ CONFIG_USB_STORAGE=y
1027# CONFIG_USB_STORAGE_JUMPSHOT is not set 1077# CONFIG_USB_STORAGE_JUMPSHOT is not set
1028# CONFIG_USB_STORAGE_ALAUDA is not set 1078# CONFIG_USB_STORAGE_ALAUDA is not set
1029# CONFIG_USB_STORAGE_KARMA is not set 1079# CONFIG_USB_STORAGE_KARMA is not set
1030# CONFIG_USB_STORAGE_SIERRA is not set
1031# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1080# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1032# CONFIG_USB_LIBUSUAL is not set 1081# CONFIG_USB_LIBUSUAL is not set
1033 1082
@@ -1048,6 +1097,7 @@ CONFIG_USB_STORAGE=y
1048# CONFIG_USB_EMI62 is not set 1097# CONFIG_USB_EMI62 is not set
1049# CONFIG_USB_EMI26 is not set 1098# CONFIG_USB_EMI26 is not set
1050# CONFIG_USB_ADUTUX is not set 1099# CONFIG_USB_ADUTUX is not set
1100# CONFIG_USB_SEVSEG is not set
1051# CONFIG_USB_RIO500 is not set 1101# CONFIG_USB_RIO500 is not set
1052# CONFIG_USB_LEGOTOWER is not set 1102# CONFIG_USB_LEGOTOWER is not set
1053# CONFIG_USB_LCD is not set 1103# CONFIG_USB_LCD is not set
@@ -1065,7 +1115,9 @@ CONFIG_USB_STORAGE=y
1065# CONFIG_USB_IOWARRIOR is not set 1115# CONFIG_USB_IOWARRIOR is not set
1066# CONFIG_USB_TEST is not set 1116# CONFIG_USB_TEST is not set
1067# CONFIG_USB_ISIGHTFW is not set 1117# CONFIG_USB_ISIGHTFW is not set
1118# CONFIG_USB_VST is not set
1068# CONFIG_USB_GADGET is not set 1119# CONFIG_USB_GADGET is not set
1120# CONFIG_UWB is not set
1069# CONFIG_MMC is not set 1121# CONFIG_MMC is not set
1070# CONFIG_MEMSTICK is not set 1122# CONFIG_MEMSTICK is not set
1071# CONFIG_NEW_LEDS is not set 1123# CONFIG_NEW_LEDS is not set
@@ -1111,17 +1163,21 @@ CONFIG_RTC_DRV_DS1307=y
1111# CONFIG_RTC_DRV_MAX6902 is not set 1163# CONFIG_RTC_DRV_MAX6902 is not set
1112# CONFIG_RTC_DRV_R9701 is not set 1164# CONFIG_RTC_DRV_R9701 is not set
1113# CONFIG_RTC_DRV_RS5C348 is not set 1165# CONFIG_RTC_DRV_RS5C348 is not set
1166# CONFIG_RTC_DRV_DS3234 is not set
1114 1167
1115# 1168#
1116# Platform RTC drivers 1169# Platform RTC drivers
1117# 1170#
1118# CONFIG_RTC_DRV_CMOS is not set 1171# CONFIG_RTC_DRV_CMOS is not set
1172# CONFIG_RTC_DRV_DS1286 is not set
1119# CONFIG_RTC_DRV_DS1511 is not set 1173# CONFIG_RTC_DRV_DS1511 is not set
1120# CONFIG_RTC_DRV_DS1553 is not set 1174# CONFIG_RTC_DRV_DS1553 is not set
1121# CONFIG_RTC_DRV_DS1742 is not set 1175# CONFIG_RTC_DRV_DS1742 is not set
1122# CONFIG_RTC_DRV_STK17TA8 is not set 1176# CONFIG_RTC_DRV_STK17TA8 is not set
1123# CONFIG_RTC_DRV_M48T86 is not set 1177# CONFIG_RTC_DRV_M48T86 is not set
1178# CONFIG_RTC_DRV_M48T35 is not set
1124# CONFIG_RTC_DRV_M48T59 is not set 1179# CONFIG_RTC_DRV_M48T59 is not set
1180# CONFIG_RTC_DRV_BQ4802 is not set
1125# CONFIG_RTC_DRV_V3020 is not set 1181# CONFIG_RTC_DRV_V3020 is not set
1126 1182
1127# 1183#
@@ -1130,6 +1186,7 @@ CONFIG_RTC_DRV_DS1307=y
1130# CONFIG_RTC_DRV_PPC is not set 1186# CONFIG_RTC_DRV_PPC is not set
1131# CONFIG_DMADEVICES is not set 1187# CONFIG_DMADEVICES is not set
1132# CONFIG_UIO is not set 1188# CONFIG_UIO is not set
1189# CONFIG_STAGING is not set
1133 1190
1134# 1191#
1135# File systems 1192# File systems
@@ -1141,12 +1198,13 @@ CONFIG_EXT3_FS=y
1141CONFIG_EXT3_FS_XATTR=y 1198CONFIG_EXT3_FS_XATTR=y
1142# CONFIG_EXT3_FS_POSIX_ACL is not set 1199# CONFIG_EXT3_FS_POSIX_ACL is not set
1143# CONFIG_EXT3_FS_SECURITY is not set 1200# CONFIG_EXT3_FS_SECURITY is not set
1144# CONFIG_EXT4DEV_FS is not set 1201# CONFIG_EXT4_FS is not set
1145CONFIG_JBD=y 1202CONFIG_JBD=y
1146CONFIG_FS_MBCACHE=y 1203CONFIG_FS_MBCACHE=y
1147# CONFIG_REISERFS_FS is not set 1204# CONFIG_REISERFS_FS is not set
1148# CONFIG_JFS_FS is not set 1205# CONFIG_JFS_FS is not set
1149# CONFIG_FS_POSIX_ACL is not set 1206# CONFIG_FS_POSIX_ACL is not set
1207CONFIG_FILE_LOCKING=y
1150# CONFIG_XFS_FS is not set 1208# CONFIG_XFS_FS is not set
1151# CONFIG_OCFS2_FS is not set 1209# CONFIG_OCFS2_FS is not set
1152CONFIG_DNOTIFY=y 1210CONFIG_DNOTIFY=y
@@ -1179,6 +1237,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1179CONFIG_PROC_FS=y 1237CONFIG_PROC_FS=y
1180CONFIG_PROC_KCORE=y 1238CONFIG_PROC_KCORE=y
1181CONFIG_PROC_SYSCTL=y 1239CONFIG_PROC_SYSCTL=y
1240CONFIG_PROC_PAGE_MONITOR=y
1182CONFIG_SYSFS=y 1241CONFIG_SYSFS=y
1183CONFIG_TMPFS=y 1242CONFIG_TMPFS=y
1184# CONFIG_TMPFS_POSIX_ACL is not set 1243# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1217,6 +1276,7 @@ CONFIG_LOCKD_V4=y
1217CONFIG_NFS_COMMON=y 1276CONFIG_NFS_COMMON=y
1218CONFIG_SUNRPC=y 1277CONFIG_SUNRPC=y
1219CONFIG_SUNRPC_GSS=y 1278CONFIG_SUNRPC_GSS=y
1279# CONFIG_SUNRPC_REGISTER_V4 is not set
1220CONFIG_RPCSEC_GSS_KRB5=y 1280CONFIG_RPCSEC_GSS_KRB5=y
1221# CONFIG_RPCSEC_GSS_SPKM3 is not set 1281# CONFIG_RPCSEC_GSS_SPKM3 is not set
1222# CONFIG_SMB_FS is not set 1282# CONFIG_SMB_FS is not set
@@ -1292,7 +1352,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1292# Library routines 1352# Library routines
1293# 1353#
1294CONFIG_BITREVERSE=y 1354CONFIG_BITREVERSE=y
1295# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1296# CONFIG_CRC_CCITT is not set 1355# CONFIG_CRC_CCITT is not set
1297# CONFIG_CRC16 is not set 1356# CONFIG_CRC16 is not set
1298CONFIG_CRC_T10DIF=y 1357CONFIG_CRC_T10DIF=y
@@ -1322,13 +1381,15 @@ CONFIG_FRAME_WARN=1024
1322# CONFIG_SLUB_STATS is not set 1381# CONFIG_SLUB_STATS is not set
1323# CONFIG_DEBUG_BUGVERBOSE is not set 1382# CONFIG_DEBUG_BUGVERBOSE is not set
1324# CONFIG_DEBUG_MEMORY_INIT is not set 1383# CONFIG_DEBUG_MEMORY_INIT is not set
1384# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1325# CONFIG_LATENCYTOP is not set 1385# CONFIG_LATENCYTOP is not set
1326CONFIG_SYSCTL_SYSCALL_CHECK=y 1386CONFIG_SYSCTL_SYSCALL_CHECK=y
1327CONFIG_HAVE_FTRACE=y 1387CONFIG_HAVE_FUNCTION_TRACER=y
1328CONFIG_HAVE_DYNAMIC_FTRACE=y 1388
1329# CONFIG_FTRACE is not set 1389#
1330# CONFIG_SCHED_TRACER is not set 1390# Tracers
1331# CONFIG_CONTEXT_SWITCH_TRACER is not set 1391#
1392# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1332# CONFIG_SAMPLES is not set 1393# CONFIG_SAMPLES is not set
1333CONFIG_HAVE_ARCH_KGDB=y 1394CONFIG_HAVE_ARCH_KGDB=y
1334# CONFIG_IRQSTACKS is not set 1395# CONFIG_IRQSTACKS is not set
@@ -1340,14 +1401,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1340# 1401#
1341# CONFIG_KEYS is not set 1402# CONFIG_KEYS is not set
1342# CONFIG_SECURITY is not set 1403# CONFIG_SECURITY is not set
1404# CONFIG_SECURITYFS is not set
1343# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1405# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1344CONFIG_CRYPTO=y 1406CONFIG_CRYPTO=y
1345 1407
1346# 1408#
1347# Crypto core or helper 1409# Crypto core or helper
1348# 1410#
1411# CONFIG_CRYPTO_FIPS is not set
1349CONFIG_CRYPTO_ALGAPI=y 1412CONFIG_CRYPTO_ALGAPI=y
1413CONFIG_CRYPTO_AEAD=y
1350CONFIG_CRYPTO_BLKCIPHER=y 1414CONFIG_CRYPTO_BLKCIPHER=y
1415CONFIG_CRYPTO_HASH=y
1416CONFIG_CRYPTO_RNG=y
1351CONFIG_CRYPTO_MANAGER=y 1417CONFIG_CRYPTO_MANAGER=y
1352# CONFIG_CRYPTO_GF128MUL is not set 1418# CONFIG_CRYPTO_GF128MUL is not set
1353# CONFIG_CRYPTO_NULL is not set 1419# CONFIG_CRYPTO_NULL is not set
@@ -1420,6 +1486,11 @@ CONFIG_CRYPTO_DES=y
1420# 1486#
1421# CONFIG_CRYPTO_DEFLATE is not set 1487# CONFIG_CRYPTO_DEFLATE is not set
1422# CONFIG_CRYPTO_LZO is not set 1488# CONFIG_CRYPTO_LZO is not set
1489
1490#
1491# Random Number Generation
1492#
1493# CONFIG_CRYPTO_ANSI_CPRNG is not set
1423CONFIG_CRYPTO_HW=y 1494CONFIG_CRYPTO_HW=y
1424# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1495# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1425# CONFIG_CRYPTO_DEV_TALITOS is not set 1496# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
index 7458a242d251..426232cb0097 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:21 2008 4# Sat Nov 8 12:39:57 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,21 @@ CONFIG_MPC834x_ITX=y
187CONFIG_PPC_MPC834x=y 183CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
200# CONFIG_MPC8xxx_GPIO is not set
208 201
209# 202#
210# Kernel options 203# Kernel options
@@ -224,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +253,6 @@ CONFIG_ISA_DMA_API=y
258# 253#
259# Bus options 254# Bus options
260# 255#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 271# CONFIG_HAS_RAPIDIO is not set
@@ -339,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_TIPC is not set 333# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 334# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 335# CONFIG_BRIDGE is not set
336# CONFIG_NET_DSA is not set
342# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
343# CONFIG_DECNET is not set 338# CONFIG_DECNET is not set
344# CONFIG_LLC2 is not set 339# CONFIG_LLC2 is not set
@@ -359,11 +354,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
360# CONFIG_BT is not set 355# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
362 357# CONFIG_PHONET is not set
363# 358CONFIG_WIRELESS=y
364# Wireless
365#
366# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
367# CONFIG_WIRELESS_EXT is not set 361# CONFIG_WIRELESS_EXT is not set
368# CONFIG_MAC80211 is not set 362# CONFIG_MAC80211 is not set
369# CONFIG_IEEE80211 is not set 363# CONFIG_IEEE80211 is not set
@@ -469,7 +463,6 @@ CONFIG_OF_SPI=y
469# CONFIG_PARPORT is not set 463# CONFIG_PARPORT is not set
470CONFIG_BLK_DEV=y 464CONFIG_BLK_DEV=y
471# CONFIG_BLK_DEV_FD is not set 465# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
473# CONFIG_BLK_CPQ_DA is not set 466# CONFIG_BLK_CPQ_DA is not set
474# CONFIG_BLK_CPQ_CISS_DA is not set 467# CONFIG_BLK_CPQ_CISS_DA is not set
475# CONFIG_BLK_DEV_DAC960 is not set 468# CONFIG_BLK_DEV_DAC960 is not set
@@ -570,8 +563,6 @@ CONFIG_SCSI_LOWLEVEL=y
570# CONFIG_SCSI_DC390T is not set 563# CONFIG_SCSI_DC390T is not set
571# CONFIG_SCSI_NSP32 is not set 564# CONFIG_SCSI_NSP32 is not set
572# CONFIG_SCSI_DEBUG is not set 565# CONFIG_SCSI_DEBUG is not set
573# CONFIG_SCSI_MESH is not set
574# CONFIG_SCSI_MAC53C94 is not set
575# CONFIG_SCSI_SRP is not set 566# CONFIG_SCSI_SRP is not set
576# CONFIG_SCSI_DH is not set 567# CONFIG_SCSI_DH is not set
577# CONFIG_ATA is not set 568# CONFIG_ATA is not set
@@ -637,18 +628,22 @@ CONFIG_GIANFAR=y
637# CONFIG_QLA3XXX is not set 628# CONFIG_QLA3XXX is not set
638# CONFIG_ATL1 is not set 629# CONFIG_ATL1 is not set
639# CONFIG_ATL1E is not set 630# CONFIG_ATL1E is not set
631# CONFIG_JME is not set
640CONFIG_NETDEV_10000=y 632CONFIG_NETDEV_10000=y
641# CONFIG_CHELSIO_T1 is not set 633# CONFIG_CHELSIO_T1 is not set
642# CONFIG_CHELSIO_T3 is not set 634# CONFIG_CHELSIO_T3 is not set
635# CONFIG_ENIC is not set
643# CONFIG_IXGBE is not set 636# CONFIG_IXGBE is not set
644# CONFIG_IXGB is not set 637# CONFIG_IXGB is not set
645# CONFIG_S2IO is not set 638# CONFIG_S2IO is not set
646# CONFIG_MYRI10GE is not set 639# CONFIG_MYRI10GE is not set
647# CONFIG_NETXEN_NIC is not set 640# CONFIG_NETXEN_NIC is not set
648# CONFIG_NIU is not set 641# CONFIG_NIU is not set
642# CONFIG_MLX4_EN is not set
649# CONFIG_MLX4_CORE is not set 643# CONFIG_MLX4_CORE is not set
650# CONFIG_TEHUTI is not set 644# CONFIG_TEHUTI is not set
651# CONFIG_BNX2X is not set 645# CONFIG_BNX2X is not set
646# CONFIG_QLGE is not set
652# CONFIG_SFC is not set 647# CONFIG_SFC is not set
653# CONFIG_TR is not set 648# CONFIG_TR is not set
654 649
@@ -714,14 +709,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
714# CONFIG_SERIAL_UARTLITE is not set 709# CONFIG_SERIAL_UARTLITE is not set
715CONFIG_SERIAL_CORE=y 710CONFIG_SERIAL_CORE=y
716CONFIG_SERIAL_CORE_CONSOLE=y 711CONFIG_SERIAL_CORE_CONSOLE=y
717# CONFIG_SERIAL_PMACZILOG is not set
718# CONFIG_SERIAL_JSM is not set 712# CONFIG_SERIAL_JSM is not set
719# CONFIG_SERIAL_OF_PLATFORM is not set 713# CONFIG_SERIAL_OF_PLATFORM is not set
720CONFIG_UNIX98_PTYS=y 714CONFIG_UNIX98_PTYS=y
721CONFIG_LEGACY_PTYS=y 715CONFIG_LEGACY_PTYS=y
722CONFIG_LEGACY_PTY_COUNT=256 716CONFIG_LEGACY_PTY_COUNT=256
723# CONFIG_BRIQ_PANEL is not set
724# CONFIG_HVC_RTAS is not set
725# CONFIG_IPMI_HANDLER is not set 717# CONFIG_IPMI_HANDLER is not set
726CONFIG_HW_RANDOM=y 718CONFIG_HW_RANDOM=y
727# CONFIG_NVRAM is not set 719# CONFIG_NVRAM is not set
@@ -758,12 +750,6 @@ CONFIG_I2C_HELPER_AUTO=y
758# CONFIG_I2C_VIAPRO is not set 750# CONFIG_I2C_VIAPRO is not set
759 751
760# 752#
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) 753# I2C system bus drivers (mostly embedded / system-on-chip)
768# 754#
769CONFIG_I2C_MPC=y 755CONFIG_I2C_MPC=y
@@ -800,6 +786,7 @@ CONFIG_SENSORS_PCF8574=y
800# CONFIG_SENSORS_PCF8591 is not set 786# CONFIG_SENSORS_PCF8591 is not set
801# CONFIG_SENSORS_MAX6875 is not set 787# CONFIG_SENSORS_MAX6875 is not set
802# CONFIG_SENSORS_TSL2550 is not set 788# CONFIG_SENSORS_TSL2550 is not set
789# CONFIG_MCU_MPC8349EMITX is not set
803# CONFIG_I2C_DEBUG_CORE is not set 790# CONFIG_I2C_DEBUG_CORE is not set
804# CONFIG_I2C_DEBUG_ALGO is not set 791# CONFIG_I2C_DEBUG_ALGO is not set
805# CONFIG_I2C_DEBUG_BUS is not set 792# CONFIG_I2C_DEBUG_BUS is not set
@@ -835,7 +822,6 @@ CONFIG_WATCHDOG=y
835# CONFIG_SOFT_WATCHDOG is not set 822# CONFIG_SOFT_WATCHDOG is not set
836# CONFIG_ALIM7101_WDT is not set 823# CONFIG_ALIM7101_WDT is not set
837# CONFIG_8xxx_WDT is not set 824# CONFIG_8xxx_WDT is not set
838# CONFIG_WATCHDOG_RTAS is not set
839 825
840# 826#
841# PCI-based Watchdog Cards 827# PCI-based Watchdog Cards
@@ -861,6 +847,17 @@ CONFIG_SSB_POSSIBLE=y
861# CONFIG_MFD_SM501 is not set 847# CONFIG_MFD_SM501 is not set
862# CONFIG_HTC_PASIC3 is not set 848# CONFIG_HTC_PASIC3 is not set
863# CONFIG_MFD_TMIO is not set 849# CONFIG_MFD_TMIO is not set
850# CONFIG_PMIC_DA903X is not set
851# CONFIG_MFD_WM8400 is not set
852# CONFIG_MFD_WM8350_I2C is not set
853
854#
855# Voltage and Current regulators
856#
857# CONFIG_REGULATOR is not set
858# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
859# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
860# CONFIG_REGULATOR_BQ24022 is not set
864 861
865# 862#
866# Multimedia devices 863# Multimedia devices
@@ -912,6 +909,8 @@ CONFIG_USB_DEVICE_CLASS=y
912# CONFIG_USB_OTG_WHITELIST is not set 909# CONFIG_USB_OTG_WHITELIST is not set
913# CONFIG_USB_OTG_BLACKLIST_HUB is not set 910# CONFIG_USB_OTG_BLACKLIST_HUB is not set
914CONFIG_USB_MON=y 911CONFIG_USB_MON=y
912# CONFIG_USB_WUSB is not set
913# CONFIG_USB_WUSB_CBAF is not set
915 914
916# 915#
917# USB Host Controller Drivers 916# USB Host Controller Drivers
@@ -928,6 +927,8 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
928CONFIG_USB_UHCI_HCD=y 927CONFIG_USB_UHCI_HCD=y
929# CONFIG_USB_SL811_HCD is not set 928# CONFIG_USB_SL811_HCD is not set
930# CONFIG_USB_R8A66597_HCD is not set 929# CONFIG_USB_R8A66597_HCD is not set
930# CONFIG_USB_WHCI_HCD is not set
931# CONFIG_USB_HWA_HCD is not set
931 932
932# 933#
933# USB Device Class drivers 934# USB Device Class drivers
@@ -935,6 +936,7 @@ CONFIG_USB_UHCI_HCD=y
935# CONFIG_USB_ACM is not set 936# CONFIG_USB_ACM is not set
936# CONFIG_USB_PRINTER is not set 937# CONFIG_USB_PRINTER is not set
937# CONFIG_USB_WDM is not set 938# CONFIG_USB_WDM is not set
939# CONFIG_USB_TMC is not set
938 940
939# 941#
940# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 942# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -955,7 +957,6 @@ CONFIG_USB_STORAGE=y
955# CONFIG_USB_STORAGE_JUMPSHOT is not set 957# CONFIG_USB_STORAGE_JUMPSHOT is not set
956# CONFIG_USB_STORAGE_ALAUDA is not set 958# CONFIG_USB_STORAGE_ALAUDA is not set
957# CONFIG_USB_STORAGE_KARMA is not set 959# CONFIG_USB_STORAGE_KARMA is not set
958# CONFIG_USB_STORAGE_SIERRA is not set
959# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 960# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
960# CONFIG_USB_LIBUSUAL is not set 961# CONFIG_USB_LIBUSUAL is not set
961 962
@@ -976,6 +977,7 @@ CONFIG_USB_STORAGE=y
976# CONFIG_USB_EMI62 is not set 977# CONFIG_USB_EMI62 is not set
977# CONFIG_USB_EMI26 is not set 978# CONFIG_USB_EMI26 is not set
978# CONFIG_USB_ADUTUX is not set 979# CONFIG_USB_ADUTUX is not set
980# CONFIG_USB_SEVSEG is not set
979# CONFIG_USB_RIO500 is not set 981# CONFIG_USB_RIO500 is not set
980# CONFIG_USB_LEGOTOWER is not set 982# CONFIG_USB_LEGOTOWER is not set
981# CONFIG_USB_LCD is not set 983# CONFIG_USB_LCD is not set
@@ -992,7 +994,9 @@ CONFIG_USB_STORAGE=y
992# CONFIG_USB_TRANCEVIBRATOR is not set 994# CONFIG_USB_TRANCEVIBRATOR is not set
993# CONFIG_USB_IOWARRIOR is not set 995# CONFIG_USB_IOWARRIOR is not set
994# CONFIG_USB_ISIGHTFW is not set 996# CONFIG_USB_ISIGHTFW is not set
997# CONFIG_USB_VST is not set
995# CONFIG_USB_GADGET is not set 998# CONFIG_USB_GADGET is not set
999# CONFIG_UWB is not set
996# CONFIG_MMC is not set 1000# CONFIG_MMC is not set
997# CONFIG_MEMSTICK is not set 1001# CONFIG_MEMSTICK is not set
998# CONFIG_NEW_LEDS is not set 1002# CONFIG_NEW_LEDS is not set
@@ -1038,17 +1042,21 @@ CONFIG_RTC_DRV_DS1307=y
1038# CONFIG_RTC_DRV_MAX6902 is not set 1042# CONFIG_RTC_DRV_MAX6902 is not set
1039# CONFIG_RTC_DRV_R9701 is not set 1043# CONFIG_RTC_DRV_R9701 is not set
1040# CONFIG_RTC_DRV_RS5C348 is not set 1044# CONFIG_RTC_DRV_RS5C348 is not set
1045# CONFIG_RTC_DRV_DS3234 is not set
1041 1046
1042# 1047#
1043# Platform RTC drivers 1048# Platform RTC drivers
1044# 1049#
1045# CONFIG_RTC_DRV_CMOS is not set 1050# CONFIG_RTC_DRV_CMOS is not set
1051# CONFIG_RTC_DRV_DS1286 is not set
1046# CONFIG_RTC_DRV_DS1511 is not set 1052# CONFIG_RTC_DRV_DS1511 is not set
1047# CONFIG_RTC_DRV_DS1553 is not set 1053# CONFIG_RTC_DRV_DS1553 is not set
1048# CONFIG_RTC_DRV_DS1742 is not set 1054# CONFIG_RTC_DRV_DS1742 is not set
1049# CONFIG_RTC_DRV_STK17TA8 is not set 1055# CONFIG_RTC_DRV_STK17TA8 is not set
1050# CONFIG_RTC_DRV_M48T86 is not set 1056# CONFIG_RTC_DRV_M48T86 is not set
1057# CONFIG_RTC_DRV_M48T35 is not set
1051# CONFIG_RTC_DRV_M48T59 is not set 1058# CONFIG_RTC_DRV_M48T59 is not set
1059# CONFIG_RTC_DRV_BQ4802 is not set
1052# CONFIG_RTC_DRV_V3020 is not set 1060# CONFIG_RTC_DRV_V3020 is not set
1053 1061
1054# 1062#
@@ -1057,6 +1065,7 @@ CONFIG_RTC_DRV_DS1307=y
1057# CONFIG_RTC_DRV_PPC is not set 1065# CONFIG_RTC_DRV_PPC is not set
1058# CONFIG_DMADEVICES is not set 1066# CONFIG_DMADEVICES is not set
1059# CONFIG_UIO is not set 1067# CONFIG_UIO is not set
1068# CONFIG_STAGING is not set
1060 1069
1061# 1070#
1062# File systems 1071# File systems
@@ -1068,12 +1077,13 @@ CONFIG_EXT3_FS=y
1068CONFIG_EXT3_FS_XATTR=y 1077CONFIG_EXT3_FS_XATTR=y
1069# CONFIG_EXT3_FS_POSIX_ACL is not set 1078# CONFIG_EXT3_FS_POSIX_ACL is not set
1070# CONFIG_EXT3_FS_SECURITY is not set 1079# CONFIG_EXT3_FS_SECURITY is not set
1071# CONFIG_EXT4DEV_FS is not set 1080# CONFIG_EXT4_FS is not set
1072CONFIG_JBD=y 1081CONFIG_JBD=y
1073CONFIG_FS_MBCACHE=y 1082CONFIG_FS_MBCACHE=y
1074# CONFIG_REISERFS_FS is not set 1083# CONFIG_REISERFS_FS is not set
1075# CONFIG_JFS_FS is not set 1084# CONFIG_JFS_FS is not set
1076# CONFIG_FS_POSIX_ACL is not set 1085# CONFIG_FS_POSIX_ACL is not set
1086CONFIG_FILE_LOCKING=y
1077# CONFIG_XFS_FS is not set 1087# CONFIG_XFS_FS is not set
1078# CONFIG_OCFS2_FS is not set 1088# CONFIG_OCFS2_FS is not set
1079CONFIG_DNOTIFY=y 1089CONFIG_DNOTIFY=y
@@ -1106,6 +1116,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1106CONFIG_PROC_FS=y 1116CONFIG_PROC_FS=y
1107CONFIG_PROC_KCORE=y 1117CONFIG_PROC_KCORE=y
1108CONFIG_PROC_SYSCTL=y 1118CONFIG_PROC_SYSCTL=y
1119CONFIG_PROC_PAGE_MONITOR=y
1109CONFIG_SYSFS=y 1120CONFIG_SYSFS=y
1110CONFIG_TMPFS=y 1121CONFIG_TMPFS=y
1111# CONFIG_TMPFS_POSIX_ACL is not set 1122# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1144,6 +1155,7 @@ CONFIG_LOCKD_V4=y
1144CONFIG_NFS_COMMON=y 1155CONFIG_NFS_COMMON=y
1145CONFIG_SUNRPC=y 1156CONFIG_SUNRPC=y
1146CONFIG_SUNRPC_GSS=y 1157CONFIG_SUNRPC_GSS=y
1158# CONFIG_SUNRPC_REGISTER_V4 is not set
1147CONFIG_RPCSEC_GSS_KRB5=y 1159CONFIG_RPCSEC_GSS_KRB5=y
1148# CONFIG_RPCSEC_GSS_SPKM3 is not set 1160# CONFIG_RPCSEC_GSS_SPKM3 is not set
1149# CONFIG_SMB_FS is not set 1161# CONFIG_SMB_FS is not set
@@ -1219,7 +1231,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1219# Library routines 1231# Library routines
1220# 1232#
1221CONFIG_BITREVERSE=y 1233CONFIG_BITREVERSE=y
1222# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1223# CONFIG_CRC_CCITT is not set 1234# CONFIG_CRC_CCITT is not set
1224# CONFIG_CRC16 is not set 1235# CONFIG_CRC16 is not set
1225CONFIG_CRC_T10DIF=y 1236CONFIG_CRC_T10DIF=y
@@ -1249,13 +1260,15 @@ CONFIG_FRAME_WARN=1024
1249# CONFIG_SLUB_STATS is not set 1260# CONFIG_SLUB_STATS is not set
1250# CONFIG_DEBUG_BUGVERBOSE is not set 1261# CONFIG_DEBUG_BUGVERBOSE is not set
1251# CONFIG_DEBUG_MEMORY_INIT is not set 1262# CONFIG_DEBUG_MEMORY_INIT is not set
1263# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1252# CONFIG_LATENCYTOP is not set 1264# CONFIG_LATENCYTOP is not set
1253CONFIG_SYSCTL_SYSCALL_CHECK=y 1265CONFIG_SYSCTL_SYSCALL_CHECK=y
1254CONFIG_HAVE_FTRACE=y 1266CONFIG_HAVE_FUNCTION_TRACER=y
1255CONFIG_HAVE_DYNAMIC_FTRACE=y 1267
1256# CONFIG_FTRACE is not set 1268#
1257# CONFIG_SCHED_TRACER is not set 1269# Tracers
1258# CONFIG_CONTEXT_SWITCH_TRACER is not set 1270#
1271# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1259# CONFIG_SAMPLES is not set 1272# CONFIG_SAMPLES is not set
1260CONFIG_HAVE_ARCH_KGDB=y 1273CONFIG_HAVE_ARCH_KGDB=y
1261# CONFIG_IRQSTACKS is not set 1274# CONFIG_IRQSTACKS is not set
@@ -1267,14 +1280,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1267# 1280#
1268# CONFIG_KEYS is not set 1281# CONFIG_KEYS is not set
1269# CONFIG_SECURITY is not set 1282# CONFIG_SECURITY is not set
1283# CONFIG_SECURITYFS is not set
1270# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1284# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1271CONFIG_CRYPTO=y 1285CONFIG_CRYPTO=y
1272 1286
1273# 1287#
1274# Crypto core or helper 1288# Crypto core or helper
1275# 1289#
1290# CONFIG_CRYPTO_FIPS is not set
1276CONFIG_CRYPTO_ALGAPI=y 1291CONFIG_CRYPTO_ALGAPI=y
1292CONFIG_CRYPTO_AEAD=y
1277CONFIG_CRYPTO_BLKCIPHER=y 1293CONFIG_CRYPTO_BLKCIPHER=y
1294CONFIG_CRYPTO_HASH=y
1295CONFIG_CRYPTO_RNG=y
1278CONFIG_CRYPTO_MANAGER=y 1296CONFIG_CRYPTO_MANAGER=y
1279# CONFIG_CRYPTO_GF128MUL is not set 1297# CONFIG_CRYPTO_GF128MUL is not set
1280# CONFIG_CRYPTO_NULL is not set 1298# CONFIG_CRYPTO_NULL is not set
@@ -1347,6 +1365,11 @@ CONFIG_CRYPTO_DES=y
1347# 1365#
1348# CONFIG_CRYPTO_DEFLATE is not set 1366# CONFIG_CRYPTO_DEFLATE is not set
1349# CONFIG_CRYPTO_LZO is not set 1367# CONFIG_CRYPTO_LZO is not set
1368
1369#
1370# Random Number Generation
1371#
1372# CONFIG_CRYPTO_ANSI_CPRNG is not set
1350CONFIG_CRYPTO_HW=y 1373CONFIG_CRYPTO_HW=y
1351# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1374# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1352# CONFIG_CRYPTO_DEV_TALITOS is not set 1375# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
index 1a92798938cf..36e2e93a1c53 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:21 2008 4# Sat Nov 8 12:39:58 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -187,24 +183,21 @@ CONFIG_MPC834x_MDS=y
187CONFIG_PPC_MPC834x=y 183CONFIG_PPC_MPC834x=y
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
200# CONFIG_MPC8xxx_GPIO is not set
208 201
209# 202#
210# Kernel options 203# Kernel options
@@ -224,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +253,6 @@ CONFIG_ISA_DMA_API=y
258# 253#
259# Bus options 254# Bus options
260# 255#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 271# CONFIG_HAS_RAPIDIO is not set
@@ -339,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_TIPC is not set 333# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 334# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 335# CONFIG_BRIDGE is not set
336# CONFIG_NET_DSA is not set
342# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
343# CONFIG_DECNET is not set 338# CONFIG_DECNET is not set
344# CONFIG_LLC2 is not set 339# CONFIG_LLC2 is not set
@@ -359,11 +354,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
360# CONFIG_BT is not set 355# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
362 357# CONFIG_PHONET is not set
363# 358CONFIG_WIRELESS=y
364# Wireless
365#
366# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
367# CONFIG_WIRELESS_EXT is not set 361# CONFIG_WIRELESS_EXT is not set
368# CONFIG_MAC80211 is not set 362# CONFIG_MAC80211 is not set
369# CONFIG_IEEE80211 is not set 363# CONFIG_IEEE80211 is not set
@@ -389,7 +383,6 @@ CONFIG_OF_I2C=y
389# CONFIG_PARPORT is not set 383# CONFIG_PARPORT is not set
390CONFIG_BLK_DEV=y 384CONFIG_BLK_DEV=y
391# CONFIG_BLK_DEV_FD is not set 385# CONFIG_BLK_DEV_FD is not set
392# CONFIG_MAC_FLOPPY is not set
393# CONFIG_BLK_CPQ_DA is not set 386# CONFIG_BLK_CPQ_DA is not set
394# CONFIG_BLK_CPQ_CISS_DA is not set 387# CONFIG_BLK_CPQ_CISS_DA is not set
395# CONFIG_BLK_DEV_DAC960 is not set 388# CONFIG_BLK_DEV_DAC960 is not set
@@ -465,8 +458,6 @@ CONFIG_MARVELL_PHY=y
465# CONFIG_MDIO_BITBANG is not set 458# CONFIG_MDIO_BITBANG is not set
466CONFIG_NET_ETHERNET=y 459CONFIG_NET_ETHERNET=y
467CONFIG_MII=y 460CONFIG_MII=y
468# CONFIG_MACE is not set
469# CONFIG_BMAC is not set
470# CONFIG_HAPPYMEAL is not set 461# CONFIG_HAPPYMEAL is not set
471# CONFIG_SUNGEM is not set 462# CONFIG_SUNGEM is not set
472# CONFIG_CASSINI is not set 463# CONFIG_CASSINI is not set
@@ -477,6 +468,9 @@ CONFIG_MII=y
477# CONFIG_IBM_NEW_EMAC_RGMII is not set 468# CONFIG_IBM_NEW_EMAC_RGMII is not set
478# CONFIG_IBM_NEW_EMAC_TAH is not set 469# CONFIG_IBM_NEW_EMAC_TAH is not set
479# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 470# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
471# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
472# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
473# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
480CONFIG_NET_PCI=y 474CONFIG_NET_PCI=y
481# CONFIG_PCNET32 is not set 475# CONFIG_PCNET32 is not set
482# CONFIG_AMD8111_ETH is not set 476# CONFIG_AMD8111_ETH is not set
@@ -497,6 +491,7 @@ CONFIG_E100=y
497# CONFIG_TLAN is not set 491# CONFIG_TLAN is not set
498# CONFIG_VIA_RHINE is not set 492# CONFIG_VIA_RHINE is not set
499# CONFIG_SC92031 is not set 493# CONFIG_SC92031 is not set
494# CONFIG_ATL2 is not set
500CONFIG_NETDEV_1000=y 495CONFIG_NETDEV_1000=y
501# CONFIG_ACENIC is not set 496# CONFIG_ACENIC is not set
502# CONFIG_DL2K is not set 497# CONFIG_DL2K is not set
@@ -519,18 +514,22 @@ CONFIG_GIANFAR=y
519# CONFIG_QLA3XXX is not set 514# CONFIG_QLA3XXX is not set
520# CONFIG_ATL1 is not set 515# CONFIG_ATL1 is not set
521# CONFIG_ATL1E is not set 516# CONFIG_ATL1E is not set
517# CONFIG_JME is not set
522CONFIG_NETDEV_10000=y 518CONFIG_NETDEV_10000=y
523# CONFIG_CHELSIO_T1 is not set 519# CONFIG_CHELSIO_T1 is not set
524# CONFIG_CHELSIO_T3 is not set 520# CONFIG_CHELSIO_T3 is not set
521# CONFIG_ENIC is not set
525# CONFIG_IXGBE is not set 522# CONFIG_IXGBE is not set
526# CONFIG_IXGB is not set 523# CONFIG_IXGB is not set
527# CONFIG_S2IO is not set 524# CONFIG_S2IO is not set
528# CONFIG_MYRI10GE is not set 525# CONFIG_MYRI10GE is not set
529# CONFIG_NETXEN_NIC is not set 526# CONFIG_NETXEN_NIC is not set
530# CONFIG_NIU is not set 527# CONFIG_NIU is not set
528# CONFIG_MLX4_EN is not set
531# CONFIG_MLX4_CORE is not set 529# CONFIG_MLX4_CORE is not set
532# CONFIG_TEHUTI is not set 530# CONFIG_TEHUTI is not set
533# CONFIG_BNX2X is not set 531# CONFIG_BNX2X is not set
532# CONFIG_QLGE is not set
534# CONFIG_SFC is not set 533# CONFIG_SFC is not set
535# CONFIG_TR is not set 534# CONFIG_TR is not set
536 535
@@ -606,14 +605,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
606# CONFIG_SERIAL_UARTLITE is not set 605# CONFIG_SERIAL_UARTLITE is not set
607CONFIG_SERIAL_CORE=y 606CONFIG_SERIAL_CORE=y
608CONFIG_SERIAL_CORE_CONSOLE=y 607CONFIG_SERIAL_CORE_CONSOLE=y
609# CONFIG_SERIAL_PMACZILOG is not set
610# CONFIG_SERIAL_JSM is not set 608# CONFIG_SERIAL_JSM is not set
611# CONFIG_SERIAL_OF_PLATFORM is not set 609# CONFIG_SERIAL_OF_PLATFORM is not set
612CONFIG_UNIX98_PTYS=y 610CONFIG_UNIX98_PTYS=y
613CONFIG_LEGACY_PTYS=y 611CONFIG_LEGACY_PTYS=y
614CONFIG_LEGACY_PTY_COUNT=256 612CONFIG_LEGACY_PTY_COUNT=256
615# CONFIG_BRIQ_PANEL is not set
616# CONFIG_HVC_RTAS is not set
617# CONFIG_IPMI_HANDLER is not set 613# CONFIG_IPMI_HANDLER is not set
618# CONFIG_HW_RANDOM is not set 614# CONFIG_HW_RANDOM is not set
619# CONFIG_NVRAM is not set 615# CONFIG_NVRAM is not set
@@ -650,12 +646,6 @@ CONFIG_I2C_HELPER_AUTO=y
650# CONFIG_I2C_VIAPRO is not set 646# CONFIG_I2C_VIAPRO is not set
651 647
652# 648#
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) 649# I2C system bus drivers (mostly embedded / system-on-chip)
660# 650#
661CONFIG_I2C_MPC=y 651CONFIG_I2C_MPC=y
@@ -691,6 +681,7 @@ CONFIG_I2C_MPC=y
691# CONFIG_SENSORS_PCF8591 is not set 681# CONFIG_SENSORS_PCF8591 is not set
692# CONFIG_SENSORS_MAX6875 is not set 682# CONFIG_SENSORS_MAX6875 is not set
693# CONFIG_SENSORS_TSL2550 is not set 683# CONFIG_SENSORS_TSL2550 is not set
684# CONFIG_MCU_MPC8349EMITX is not set
694# CONFIG_I2C_DEBUG_CORE is not set 685# CONFIG_I2C_DEBUG_CORE is not set
695# CONFIG_I2C_DEBUG_ALGO is not set 686# CONFIG_I2C_DEBUG_ALGO is not set
696# CONFIG_I2C_DEBUG_BUS is not set 687# CONFIG_I2C_DEBUG_BUS is not set
@@ -712,7 +703,6 @@ CONFIG_HWMON=y
712# CONFIG_SENSORS_ADM9240 is not set 703# CONFIG_SENSORS_ADM9240 is not set
713# CONFIG_SENSORS_ADT7470 is not set 704# CONFIG_SENSORS_ADT7470 is not set
714# CONFIG_SENSORS_ADT7473 is not set 705# CONFIG_SENSORS_ADT7473 is not set
715# CONFIG_SENSORS_AMS is not set
716# CONFIG_SENSORS_ATXP1 is not set 706# CONFIG_SENSORS_ATXP1 is not set
717# CONFIG_SENSORS_DS1621 is not set 707# CONFIG_SENSORS_DS1621 is not set
718# CONFIG_SENSORS_I5K_AMB is not set 708# CONFIG_SENSORS_I5K_AMB is not set
@@ -767,7 +757,6 @@ CONFIG_WATCHDOG=y
767# CONFIG_SOFT_WATCHDOG is not set 757# CONFIG_SOFT_WATCHDOG is not set
768# CONFIG_ALIM7101_WDT is not set 758# CONFIG_ALIM7101_WDT is not set
769# CONFIG_8xxx_WDT is not set 759# CONFIG_8xxx_WDT is not set
770# CONFIG_WATCHDOG_RTAS is not set
771 760
772# 761#
773# PCI-based Watchdog Cards 762# PCI-based Watchdog Cards
@@ -788,6 +777,17 @@ CONFIG_SSB_POSSIBLE=y
788# CONFIG_MFD_SM501 is not set 777# CONFIG_MFD_SM501 is not set
789# CONFIG_HTC_PASIC3 is not set 778# CONFIG_HTC_PASIC3 is not set
790# CONFIG_MFD_TMIO is not set 779# CONFIG_MFD_TMIO is not set
780# CONFIG_PMIC_DA903X is not set
781# CONFIG_MFD_WM8400 is not set
782# CONFIG_MFD_WM8350_I2C is not set
783
784#
785# Voltage and Current regulators
786#
787# CONFIG_REGULATOR is not set
788# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
789# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
790# CONFIG_REGULATOR_BQ24022 is not set
791 791
792# 792#
793# Multimedia devices 793# Multimedia devices
@@ -824,6 +824,12 @@ CONFIG_HID_SUPPORT=y
824CONFIG_HID=y 824CONFIG_HID=y
825# CONFIG_HID_DEBUG is not set 825# CONFIG_HID_DEBUG is not set
826# CONFIG_HIDRAW is not set 826# CONFIG_HIDRAW is not set
827# CONFIG_HID_PID is not set
828
829#
830# Special HID drivers
831#
832CONFIG_HID_COMPAT=y
827CONFIG_USB_SUPPORT=y 833CONFIG_USB_SUPPORT=y
828CONFIG_USB_ARCH_HAS_HCD=y 834CONFIG_USB_ARCH_HAS_HCD=y
829CONFIG_USB_ARCH_HAS_OHCI=y 835CONFIG_USB_ARCH_HAS_OHCI=y
@@ -840,6 +846,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
840# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 846# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
841# 847#
842# CONFIG_USB_GADGET is not set 848# CONFIG_USB_GADGET is not set
849# CONFIG_UWB is not set
843# CONFIG_MMC is not set 850# CONFIG_MMC is not set
844# CONFIG_MEMSTICK is not set 851# CONFIG_MEMSTICK is not set
845# CONFIG_NEW_LEDS is not set 852# CONFIG_NEW_LEDS is not set
@@ -885,12 +892,15 @@ CONFIG_RTC_DRV_DS1374=y
885# Platform RTC drivers 892# Platform RTC drivers
886# 893#
887# CONFIG_RTC_DRV_CMOS is not set 894# CONFIG_RTC_DRV_CMOS is not set
895# CONFIG_RTC_DRV_DS1286 is not set
888# CONFIG_RTC_DRV_DS1511 is not set 896# CONFIG_RTC_DRV_DS1511 is not set
889# CONFIG_RTC_DRV_DS1553 is not set 897# CONFIG_RTC_DRV_DS1553 is not set
890# CONFIG_RTC_DRV_DS1742 is not set 898# CONFIG_RTC_DRV_DS1742 is not set
891# CONFIG_RTC_DRV_STK17TA8 is not set 899# CONFIG_RTC_DRV_STK17TA8 is not set
892# CONFIG_RTC_DRV_M48T86 is not set 900# CONFIG_RTC_DRV_M48T86 is not set
901# CONFIG_RTC_DRV_M48T35 is not set
893# CONFIG_RTC_DRV_M48T59 is not set 902# CONFIG_RTC_DRV_M48T59 is not set
903# CONFIG_RTC_DRV_BQ4802 is not set
894# CONFIG_RTC_DRV_V3020 is not set 904# CONFIG_RTC_DRV_V3020 is not set
895 905
896# 906#
@@ -899,6 +909,7 @@ CONFIG_RTC_DRV_DS1374=y
899# CONFIG_RTC_DRV_PPC is not set 909# CONFIG_RTC_DRV_PPC is not set
900# CONFIG_DMADEVICES is not set 910# CONFIG_DMADEVICES is not set
901# CONFIG_UIO is not set 911# CONFIG_UIO is not set
912# CONFIG_STAGING is not set
902 913
903# 914#
904# File systems 915# File systems
@@ -910,12 +921,13 @@ CONFIG_EXT3_FS=y
910CONFIG_EXT3_FS_XATTR=y 921CONFIG_EXT3_FS_XATTR=y
911# CONFIG_EXT3_FS_POSIX_ACL is not set 922# CONFIG_EXT3_FS_POSIX_ACL is not set
912# CONFIG_EXT3_FS_SECURITY is not set 923# CONFIG_EXT3_FS_SECURITY is not set
913# CONFIG_EXT4DEV_FS is not set 924# CONFIG_EXT4_FS is not set
914CONFIG_JBD=y 925CONFIG_JBD=y
915CONFIG_FS_MBCACHE=y 926CONFIG_FS_MBCACHE=y
916# CONFIG_REISERFS_FS is not set 927# CONFIG_REISERFS_FS is not set
917# CONFIG_JFS_FS is not set 928# CONFIG_JFS_FS is not set
918# CONFIG_FS_POSIX_ACL is not set 929# CONFIG_FS_POSIX_ACL is not set
930CONFIG_FILE_LOCKING=y
919# CONFIG_XFS_FS is not set 931# CONFIG_XFS_FS is not set
920# CONFIG_OCFS2_FS is not set 932# CONFIG_OCFS2_FS is not set
921CONFIG_DNOTIFY=y 933CONFIG_DNOTIFY=y
@@ -945,6 +957,7 @@ CONFIG_INOTIFY_USER=y
945CONFIG_PROC_FS=y 957CONFIG_PROC_FS=y
946CONFIG_PROC_KCORE=y 958CONFIG_PROC_KCORE=y
947CONFIG_PROC_SYSCTL=y 959CONFIG_PROC_SYSCTL=y
960CONFIG_PROC_PAGE_MONITOR=y
948CONFIG_SYSFS=y 961CONFIG_SYSFS=y
949CONFIG_TMPFS=y 962CONFIG_TMPFS=y
950# CONFIG_TMPFS_POSIX_ACL is not set 963# CONFIG_TMPFS_POSIX_ACL is not set
@@ -982,6 +995,7 @@ CONFIG_LOCKD_V4=y
982CONFIG_NFS_COMMON=y 995CONFIG_NFS_COMMON=y
983CONFIG_SUNRPC=y 996CONFIG_SUNRPC=y
984CONFIG_SUNRPC_GSS=y 997CONFIG_SUNRPC_GSS=y
998# CONFIG_SUNRPC_REGISTER_V4 is not set
985CONFIG_RPCSEC_GSS_KRB5=y 999CONFIG_RPCSEC_GSS_KRB5=y
986# CONFIG_RPCSEC_GSS_SPKM3 is not set 1000# CONFIG_RPCSEC_GSS_SPKM3 is not set
987# CONFIG_SMB_FS is not set 1001# CONFIG_SMB_FS is not set
@@ -1014,7 +1028,6 @@ CONFIG_PARTITION_ADVANCED=y
1014# Library routines 1028# Library routines
1015# 1029#
1016CONFIG_BITREVERSE=y 1030CONFIG_BITREVERSE=y
1017# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1018# CONFIG_CRC_CCITT is not set 1031# CONFIG_CRC_CCITT is not set
1019# CONFIG_CRC16 is not set 1032# CONFIG_CRC16 is not set
1020# CONFIG_CRC_T10DIF is not set 1033# CONFIG_CRC_T10DIF is not set
@@ -1044,13 +1057,15 @@ CONFIG_FRAME_WARN=1024
1044# CONFIG_SLUB_STATS is not set 1057# CONFIG_SLUB_STATS is not set
1045# CONFIG_DEBUG_BUGVERBOSE is not set 1058# CONFIG_DEBUG_BUGVERBOSE is not set
1046# CONFIG_DEBUG_MEMORY_INIT is not set 1059# CONFIG_DEBUG_MEMORY_INIT is not set
1060# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1047# CONFIG_LATENCYTOP is not set 1061# CONFIG_LATENCYTOP is not set
1048CONFIG_SYSCTL_SYSCALL_CHECK=y 1062CONFIG_SYSCTL_SYSCALL_CHECK=y
1049CONFIG_HAVE_FTRACE=y 1063CONFIG_HAVE_FUNCTION_TRACER=y
1050CONFIG_HAVE_DYNAMIC_FTRACE=y 1064
1051# CONFIG_FTRACE is not set 1065#
1052# CONFIG_SCHED_TRACER is not set 1066# Tracers
1053# CONFIG_CONTEXT_SWITCH_TRACER is not set 1067#
1068# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1054# CONFIG_SAMPLES is not set 1069# CONFIG_SAMPLES is not set
1055CONFIG_HAVE_ARCH_KGDB=y 1070CONFIG_HAVE_ARCH_KGDB=y
1056# CONFIG_IRQSTACKS is not set 1071# CONFIG_IRQSTACKS is not set
@@ -1062,14 +1077,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1062# 1077#
1063# CONFIG_KEYS is not set 1078# CONFIG_KEYS is not set
1064# CONFIG_SECURITY is not set 1079# CONFIG_SECURITY is not set
1080# CONFIG_SECURITYFS is not set
1065# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1081# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1066CONFIG_CRYPTO=y 1082CONFIG_CRYPTO=y
1067 1083
1068# 1084#
1069# Crypto core or helper 1085# Crypto core or helper
1070# 1086#
1087# CONFIG_CRYPTO_FIPS is not set
1071CONFIG_CRYPTO_ALGAPI=y 1088CONFIG_CRYPTO_ALGAPI=y
1089CONFIG_CRYPTO_AEAD=y
1072CONFIG_CRYPTO_BLKCIPHER=y 1090CONFIG_CRYPTO_BLKCIPHER=y
1091CONFIG_CRYPTO_HASH=y
1092CONFIG_CRYPTO_RNG=y
1073CONFIG_CRYPTO_MANAGER=y 1093CONFIG_CRYPTO_MANAGER=y
1074# CONFIG_CRYPTO_GF128MUL is not set 1094# CONFIG_CRYPTO_GF128MUL is not set
1075# CONFIG_CRYPTO_NULL is not set 1095# CONFIG_CRYPTO_NULL is not set
@@ -1142,6 +1162,11 @@ CONFIG_CRYPTO_DES=y
1142# 1162#
1143# CONFIG_CRYPTO_DEFLATE is not set 1163# CONFIG_CRYPTO_DEFLATE is not set
1144# CONFIG_CRYPTO_LZO is not set 1164# CONFIG_CRYPTO_LZO is not set
1165
1166#
1167# Random Number Generation
1168#
1169# CONFIG_CRYPTO_ANSI_CPRNG is not set
1145CONFIG_CRYPTO_HW=y 1170CONFIG_CRYPTO_HW=y
1146# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1171# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1147# CONFIG_CRYPTO_DEV_TALITOS is not set 1172# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
index 03d8cede0272..80eb6c9a05c4 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:22 2008 4# Sat Nov 8 12:39:59 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
114CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -121,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -157,6 +152,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
160 156
161# 157#
162# Platform support 158# Platform support
@@ -164,10 +160,10 @@ CONFIG_CLASSIC_RCU=y
164CONFIG_PPC_MULTIPLATFORM=y 160CONFIG_PPC_MULTIPLATFORM=y
165CONFIG_CLASSIC32=y 161CONFIG_CLASSIC32=y
166# CONFIG_PPC_CHRP is not set 162# CONFIG_PPC_CHRP is not set
167# CONFIG_PPC_PMAC is not set
168# CONFIG_MPC5121_ADS is not set 163# CONFIG_MPC5121_ADS is not set
169# CONFIG_MPC5121_GENERIC is not set 164# CONFIG_MPC5121_GENERIC is not set
170# CONFIG_PPC_MPC52xx is not set 165# CONFIG_PPC_MPC52xx is not set
166# CONFIG_PPC_PMAC is not set
171# CONFIG_PPC_CELL is not set 167# CONFIG_PPC_CELL is not set
172# CONFIG_PPC_CELL_NATIVE is not set 168# CONFIG_PPC_CELL_NATIVE is not set
173# CONFIG_PPC_82xx is not set 169# CONFIG_PPC_82xx is not set
@@ -186,24 +182,20 @@ CONFIG_MPC836x_MDS=y
186# CONFIG_ASP834x is not set 182# CONFIG_ASP834x is not set
187# CONFIG_PPC_86xx is not set 183# CONFIG_PPC_86xx is not set
188# CONFIG_EMBEDDED6xx is not set 184# CONFIG_EMBEDDED6xx is not set
189CONFIG_PPC_NATIVE=y
190# CONFIG_UDBG_RTAS_CONSOLE is not set
191CONFIG_IPIC=y 185CONFIG_IPIC=y
192CONFIG_MPIC=y 186# CONFIG_MPIC is not set
193# CONFIG_MPIC_WEIRD is not set 187# CONFIG_MPIC_WEIRD is not set
194CONFIG_PPC_I8259=y 188# CONFIG_PPC_I8259 is not set
195CONFIG_PPC_RTAS=y 189# CONFIG_PPC_RTAS is not set
196# CONFIG_RTAS_ERROR_LOGGING is not set
197CONFIG_RTAS_PROC=y
198# CONFIG_MMIO_NVRAM is not set 190# CONFIG_MMIO_NVRAM is not set
199CONFIG_PPC_MPC106=y 191# CONFIG_PPC_MPC106 is not set
200# CONFIG_PPC_970_NAP is not set 192# CONFIG_PPC_970_NAP is not set
201# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
202# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
203# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
204# CONFIG_PPC601_SYNC_FIX is not set
205# CONFIG_TAU is not set 196# CONFIG_TAU is not set
206CONFIG_QUICC_ENGINE=y 197CONFIG_QUICC_ENGINE=y
198# CONFIG_QE_GPIO is not set
207# CONFIG_FSL_ULI1575 is not set 199# CONFIG_FSL_ULI1575 is not set
208 200
209# 201#
@@ -224,6 +216,8 @@ CONFIG_PREEMPT_NONE=y
224# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
225# CONFIG_PREEMPT is not set 217# CONFIG_PREEMPT is not set
226CONFIG_BINFMT_ELF=y 218CONFIG_BINFMT_ELF=y
219# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
220# CONFIG_HAVE_AOUT is not set
227# CONFIG_BINFMT_MISC is not set 221# CONFIG_BINFMT_MISC is not set
228# CONFIG_IOMMU_HELPER is not set 222# CONFIG_IOMMU_HELPER is not set
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 223CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -238,15 +232,15 @@ CONFIG_FLATMEM_MANUAL=y
238# CONFIG_SPARSEMEM_MANUAL is not set 232# CONFIG_SPARSEMEM_MANUAL is not set
239CONFIG_FLATMEM=y 233CONFIG_FLATMEM=y
240CONFIG_FLAT_NODE_MEM_MAP=y 234CONFIG_FLAT_NODE_MEM_MAP=y
241# CONFIG_SPARSEMEM_STATIC is not set
242# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
243CONFIG_PAGEFLAGS_EXTENDED=y 235CONFIG_PAGEFLAGS_EXTENDED=y
244CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
245CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
246# CONFIG_RESOURCES_64BIT is not set 238# CONFIG_RESOURCES_64BIT is not set
239# CONFIG_PHYS_ADDR_T_64BIT is not set
247CONFIG_ZONE_DMA_FLAG=1 240CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y
250CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
251CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
252# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +252,6 @@ CONFIG_ISA_DMA_API=y
258# 252#
259# Bus options 253# Bus options
260# 254#
261# CONFIG_ISA is not set
262CONFIG_ZONE_DMA=y 255CONFIG_ZONE_DMA=y
263CONFIG_GENERIC_ISA_DMA=y 256CONFIG_GENERIC_ISA_DMA=y
264CONFIG_PPC_INDIRECT_PCI=y 257CONFIG_PPC_INDIRECT_PCI=y
@@ -271,7 +264,7 @@ CONFIG_PCI_SYSCALL=y
271# CONFIG_PCIEPORTBUS is not set 264# CONFIG_PCIEPORTBUS is not set
272CONFIG_ARCH_SUPPORTS_MSI=y 265CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set 266# CONFIG_PCI_MSI is not set
274CONFIG_PCI_LEGACY=y 267# CONFIG_PCI_LEGACY is not set
275# CONFIG_PCCARD is not set 268# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 269# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 270# CONFIG_HAS_RAPIDIO is not set
@@ -339,6 +332,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_TIPC is not set 332# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 333# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 334# CONFIG_BRIDGE is not set
335# CONFIG_NET_DSA is not set
342# CONFIG_VLAN_8021Q is not set 336# CONFIG_VLAN_8021Q is not set
343# CONFIG_DECNET is not set 337# CONFIG_DECNET is not set
344# CONFIG_LLC2 is not set 338# CONFIG_LLC2 is not set
@@ -359,11 +353,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_IRDA is not set 353# CONFIG_IRDA is not set
360# CONFIG_BT is not set 354# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 355# CONFIG_AF_RXRPC is not set
362 356# CONFIG_PHONET is not set
363# 357CONFIG_WIRELESS=y
364# Wireless
365#
366# CONFIG_CFG80211 is not set 358# CONFIG_CFG80211 is not set
359CONFIG_WIRELESS_OLD_REGULATORY=y
367# CONFIG_WIRELESS_EXT is not set 360# CONFIG_WIRELESS_EXT is not set
368# CONFIG_MAC80211 is not set 361# CONFIG_MAC80211 is not set
369# CONFIG_IEEE80211 is not set 362# CONFIG_IEEE80211 is not set
@@ -466,7 +459,6 @@ CONFIG_OF_I2C=y
466# CONFIG_PARPORT is not set 459# CONFIG_PARPORT is not set
467CONFIG_BLK_DEV=y 460CONFIG_BLK_DEV=y
468# CONFIG_BLK_DEV_FD is not set 461# CONFIG_BLK_DEV_FD is not set
469# CONFIG_MAC_FLOPPY is not set
470# CONFIG_BLK_CPQ_DA is not set 462# CONFIG_BLK_CPQ_DA is not set
471# CONFIG_BLK_CPQ_CISS_DA is not set 463# CONFIG_BLK_CPQ_CISS_DA is not set
472# CONFIG_BLK_DEV_DAC960 is not set 464# CONFIG_BLK_DEV_DAC960 is not set
@@ -566,8 +558,6 @@ CONFIG_SCSI_LOWLEVEL=y
566# CONFIG_SCSI_DC390T is not set 558# CONFIG_SCSI_DC390T is not set
567# CONFIG_SCSI_NSP32 is not set 559# CONFIG_SCSI_NSP32 is not set
568# CONFIG_SCSI_DEBUG is not set 560# CONFIG_SCSI_DEBUG is not set
569# CONFIG_SCSI_MESH is not set
570# CONFIG_SCSI_MAC53C94 is not set
571# CONFIG_SCSI_SRP is not set 561# CONFIG_SCSI_SRP is not set
572# CONFIG_SCSI_DH is not set 562# CONFIG_SCSI_DH is not set
573# CONFIG_ATA is not set 563# CONFIG_ATA is not set
@@ -612,8 +602,6 @@ CONFIG_MARVELL_PHY=y
612# CONFIG_MDIO_BITBANG is not set 602# CONFIG_MDIO_BITBANG is not set
613CONFIG_NET_ETHERNET=y 603CONFIG_NET_ETHERNET=y
614CONFIG_MII=y 604CONFIG_MII=y
615# CONFIG_MACE is not set
616# CONFIG_BMAC is not set
617# CONFIG_HAPPYMEAL is not set 605# CONFIG_HAPPYMEAL is not set
618# CONFIG_SUNGEM is not set 606# CONFIG_SUNGEM is not set
619# CONFIG_CASSINI is not set 607# CONFIG_CASSINI is not set
@@ -624,8 +612,12 @@ CONFIG_MII=y
624# CONFIG_IBM_NEW_EMAC_RGMII is not set 612# CONFIG_IBM_NEW_EMAC_RGMII is not set
625# CONFIG_IBM_NEW_EMAC_TAH is not set 613# CONFIG_IBM_NEW_EMAC_TAH is not set
626# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 614# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
615# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
616# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
617# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
627# CONFIG_NET_PCI is not set 618# CONFIG_NET_PCI is not set
628# CONFIG_B44 is not set 619# CONFIG_B44 is not set
620# CONFIG_ATL2 is not set
629CONFIG_NETDEV_1000=y 621CONFIG_NETDEV_1000=y
630# CONFIG_ACENIC is not set 622# CONFIG_ACENIC is not set
631# CONFIG_DL2K is not set 623# CONFIG_DL2K is not set
@@ -652,18 +644,22 @@ CONFIG_UCC_GETH=y
652# CONFIG_QLA3XXX is not set 644# CONFIG_QLA3XXX is not set
653# CONFIG_ATL1 is not set 645# CONFIG_ATL1 is not set
654# CONFIG_ATL1E is not set 646# CONFIG_ATL1E is not set
647# CONFIG_JME is not set
655CONFIG_NETDEV_10000=y 648CONFIG_NETDEV_10000=y
656# CONFIG_CHELSIO_T1 is not set 649# CONFIG_CHELSIO_T1 is not set
657# CONFIG_CHELSIO_T3 is not set 650# CONFIG_CHELSIO_T3 is not set
651# CONFIG_ENIC is not set
658# CONFIG_IXGBE is not set 652# CONFIG_IXGBE is not set
659# CONFIG_IXGB is not set 653# CONFIG_IXGB is not set
660# CONFIG_S2IO is not set 654# CONFIG_S2IO is not set
661# CONFIG_MYRI10GE is not set 655# CONFIG_MYRI10GE is not set
662# CONFIG_NETXEN_NIC is not set 656# CONFIG_NETXEN_NIC is not set
663# CONFIG_NIU is not set 657# CONFIG_NIU is not set
658# CONFIG_MLX4_EN is not set
664# CONFIG_MLX4_CORE is not set 659# CONFIG_MLX4_CORE is not set
665# CONFIG_TEHUTI is not set 660# CONFIG_TEHUTI is not set
666# CONFIG_BNX2X is not set 661# CONFIG_BNX2X is not set
662# CONFIG_QLGE is not set
667# CONFIG_SFC is not set 663# CONFIG_SFC is not set
668# CONFIG_TR is not set 664# CONFIG_TR is not set
669 665
@@ -740,15 +736,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
740# CONFIG_SERIAL_UARTLITE is not set 736# CONFIG_SERIAL_UARTLITE is not set
741CONFIG_SERIAL_CORE=y 737CONFIG_SERIAL_CORE=y
742CONFIG_SERIAL_CORE_CONSOLE=y 738CONFIG_SERIAL_CORE_CONSOLE=y
743# CONFIG_SERIAL_PMACZILOG is not set
744# CONFIG_SERIAL_JSM is not set 739# CONFIG_SERIAL_JSM is not set
745# CONFIG_SERIAL_OF_PLATFORM is not set 740# CONFIG_SERIAL_OF_PLATFORM is not set
746# CONFIG_SERIAL_QE is not set 741# CONFIG_SERIAL_QE is not set
747CONFIG_UNIX98_PTYS=y 742CONFIG_UNIX98_PTYS=y
748CONFIG_LEGACY_PTYS=y 743CONFIG_LEGACY_PTYS=y
749CONFIG_LEGACY_PTY_COUNT=256 744CONFIG_LEGACY_PTY_COUNT=256
750# CONFIG_BRIQ_PANEL is not set
751# CONFIG_HVC_RTAS is not set
752# CONFIG_IPMI_HANDLER is not set 745# CONFIG_IPMI_HANDLER is not set
753CONFIG_HW_RANDOM=y 746CONFIG_HW_RANDOM=y
754# CONFIG_NVRAM is not set 747# CONFIG_NVRAM is not set
@@ -785,12 +778,6 @@ CONFIG_I2C_HELPER_AUTO=y
785# CONFIG_I2C_VIAPRO is not set 778# CONFIG_I2C_VIAPRO is not set
786 779
787# 780#
788# Mac SMBus host controller drivers
789#
790# CONFIG_I2C_HYDRA is not set
791CONFIG_I2C_POWERMAC=y
792
793#
794# I2C system bus drivers (mostly embedded / system-on-chip) 781# I2C system bus drivers (mostly embedded / system-on-chip)
795# 782#
796CONFIG_I2C_MPC=y 783CONFIG_I2C_MPC=y
@@ -826,6 +813,7 @@ CONFIG_I2C_MPC=y
826# CONFIG_SENSORS_PCF8591 is not set 813# CONFIG_SENSORS_PCF8591 is not set
827# CONFIG_SENSORS_MAX6875 is not set 814# CONFIG_SENSORS_MAX6875 is not set
828# CONFIG_SENSORS_TSL2550 is not set 815# CONFIG_SENSORS_TSL2550 is not set
816# CONFIG_MCU_MPC8349EMITX is not set
829# CONFIG_I2C_DEBUG_CORE is not set 817# CONFIG_I2C_DEBUG_CORE is not set
830# CONFIG_I2C_DEBUG_ALGO is not set 818# CONFIG_I2C_DEBUG_ALGO is not set
831# CONFIG_I2C_DEBUG_BUS is not set 819# CONFIG_I2C_DEBUG_BUS is not set
@@ -847,7 +835,6 @@ CONFIG_HWMON=y
847# CONFIG_SENSORS_ADM9240 is not set 835# CONFIG_SENSORS_ADM9240 is not set
848# CONFIG_SENSORS_ADT7470 is not set 836# CONFIG_SENSORS_ADT7470 is not set
849# CONFIG_SENSORS_ADT7473 is not set 837# CONFIG_SENSORS_ADT7473 is not set
850# CONFIG_SENSORS_AMS is not set
851# CONFIG_SENSORS_ATXP1 is not set 838# CONFIG_SENSORS_ATXP1 is not set
852# CONFIG_SENSORS_DS1621 is not set 839# CONFIG_SENSORS_DS1621 is not set
853# CONFIG_SENSORS_I5K_AMB is not set 840# CONFIG_SENSORS_I5K_AMB is not set
@@ -902,7 +889,6 @@ CONFIG_WATCHDOG=y
902# CONFIG_SOFT_WATCHDOG is not set 889# CONFIG_SOFT_WATCHDOG is not set
903# CONFIG_ALIM7101_WDT is not set 890# CONFIG_ALIM7101_WDT is not set
904# CONFIG_8xxx_WDT is not set 891# CONFIG_8xxx_WDT is not set
905# CONFIG_WATCHDOG_RTAS is not set
906 892
907# 893#
908# PCI-based Watchdog Cards 894# PCI-based Watchdog Cards
@@ -923,6 +909,17 @@ CONFIG_SSB_POSSIBLE=y
923# CONFIG_MFD_SM501 is not set 909# CONFIG_MFD_SM501 is not set
924# CONFIG_HTC_PASIC3 is not set 910# CONFIG_HTC_PASIC3 is not set
925# CONFIG_MFD_TMIO is not set 911# CONFIG_MFD_TMIO is not set
912# CONFIG_PMIC_DA903X is not set
913# CONFIG_MFD_WM8400 is not set
914# CONFIG_MFD_WM8350_I2C is not set
915
916#
917# Voltage and Current regulators
918#
919# CONFIG_REGULATOR is not set
920# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
921# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
922# CONFIG_REGULATOR_BQ24022 is not set
926 923
927# 924#
928# Multimedia devices 925# Multimedia devices
@@ -959,6 +956,12 @@ CONFIG_HID_SUPPORT=y
959CONFIG_HID=y 956CONFIG_HID=y
960# CONFIG_HID_DEBUG is not set 957# CONFIG_HID_DEBUG is not set
961# CONFIG_HIDRAW is not set 958# CONFIG_HIDRAW is not set
959# CONFIG_HID_PID is not set
960
961#
962# Special HID drivers
963#
964CONFIG_HID_COMPAT=y
962CONFIG_USB_SUPPORT=y 965CONFIG_USB_SUPPORT=y
963CONFIG_USB_ARCH_HAS_HCD=y 966CONFIG_USB_ARCH_HAS_HCD=y
964CONFIG_USB_ARCH_HAS_OHCI=y 967CONFIG_USB_ARCH_HAS_OHCI=y
@@ -975,6 +978,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
975# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 978# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
976# 979#
977# CONFIG_USB_GADGET is not set 980# CONFIG_USB_GADGET is not set
981# CONFIG_UWB is not set
978# CONFIG_MMC is not set 982# CONFIG_MMC is not set
979# CONFIG_MEMSTICK is not set 983# CONFIG_MEMSTICK is not set
980# CONFIG_NEW_LEDS is not set 984# CONFIG_NEW_LEDS is not set
@@ -1020,12 +1024,15 @@ CONFIG_RTC_DRV_DS1374=y
1020# Platform RTC drivers 1024# Platform RTC drivers
1021# 1025#
1022# CONFIG_RTC_DRV_CMOS is not set 1026# CONFIG_RTC_DRV_CMOS is not set
1027# CONFIG_RTC_DRV_DS1286 is not set
1023# CONFIG_RTC_DRV_DS1511 is not set 1028# CONFIG_RTC_DRV_DS1511 is not set
1024# CONFIG_RTC_DRV_DS1553 is not set 1029# CONFIG_RTC_DRV_DS1553 is not set
1025# CONFIG_RTC_DRV_DS1742 is not set 1030# CONFIG_RTC_DRV_DS1742 is not set
1026# CONFIG_RTC_DRV_STK17TA8 is not set 1031# CONFIG_RTC_DRV_STK17TA8 is not set
1027# CONFIG_RTC_DRV_M48T86 is not set 1032# CONFIG_RTC_DRV_M48T86 is not set
1033# CONFIG_RTC_DRV_M48T35 is not set
1028# CONFIG_RTC_DRV_M48T59 is not set 1034# CONFIG_RTC_DRV_M48T59 is not set
1035# CONFIG_RTC_DRV_BQ4802 is not set
1029# CONFIG_RTC_DRV_V3020 is not set 1036# CONFIG_RTC_DRV_V3020 is not set
1030 1037
1031# 1038#
@@ -1034,6 +1041,7 @@ CONFIG_RTC_DRV_DS1374=y
1034# CONFIG_RTC_DRV_PPC is not set 1041# CONFIG_RTC_DRV_PPC is not set
1035# CONFIG_DMADEVICES is not set 1042# CONFIG_DMADEVICES is not set
1036# CONFIG_UIO is not set 1043# CONFIG_UIO is not set
1044# CONFIG_STAGING is not set
1037 1045
1038# 1046#
1039# File systems 1047# File systems
@@ -1045,12 +1053,13 @@ CONFIG_EXT3_FS=y
1045CONFIG_EXT3_FS_XATTR=y 1053CONFIG_EXT3_FS_XATTR=y
1046# CONFIG_EXT3_FS_POSIX_ACL is not set 1054# CONFIG_EXT3_FS_POSIX_ACL is not set
1047# CONFIG_EXT3_FS_SECURITY is not set 1055# CONFIG_EXT3_FS_SECURITY is not set
1048# CONFIG_EXT4DEV_FS is not set 1056# CONFIG_EXT4_FS is not set
1049CONFIG_JBD=y 1057CONFIG_JBD=y
1050CONFIG_FS_MBCACHE=y 1058CONFIG_FS_MBCACHE=y
1051# CONFIG_REISERFS_FS is not set 1059# CONFIG_REISERFS_FS is not set
1052# CONFIG_JFS_FS is not set 1060# CONFIG_JFS_FS is not set
1053# CONFIG_FS_POSIX_ACL is not set 1061# CONFIG_FS_POSIX_ACL is not set
1062CONFIG_FILE_LOCKING=y
1054# CONFIG_XFS_FS is not set 1063# CONFIG_XFS_FS is not set
1055# CONFIG_OCFS2_FS is not set 1064# CONFIG_OCFS2_FS is not set
1056CONFIG_DNOTIFY=y 1065CONFIG_DNOTIFY=y
@@ -1080,6 +1089,7 @@ CONFIG_INOTIFY_USER=y
1080CONFIG_PROC_FS=y 1089CONFIG_PROC_FS=y
1081CONFIG_PROC_KCORE=y 1090CONFIG_PROC_KCORE=y
1082CONFIG_PROC_SYSCTL=y 1091CONFIG_PROC_SYSCTL=y
1092CONFIG_PROC_PAGE_MONITOR=y
1083CONFIG_SYSFS=y 1093CONFIG_SYSFS=y
1084CONFIG_TMPFS=y 1094CONFIG_TMPFS=y
1085# CONFIG_TMPFS_POSIX_ACL is not set 1095# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1096,6 +1106,7 @@ CONFIG_TMPFS=y
1096# CONFIG_BEFS_FS is not set 1106# CONFIG_BEFS_FS is not set
1097# CONFIG_BFS_FS is not set 1107# CONFIG_BFS_FS is not set
1098# CONFIG_EFS_FS is not set 1108# CONFIG_EFS_FS is not set
1109# CONFIG_JFFS2_FS is not set
1099# CONFIG_CRAMFS is not set 1110# CONFIG_CRAMFS is not set
1100# CONFIG_VXFS_FS is not set 1111# CONFIG_VXFS_FS is not set
1101# CONFIG_MINIX_FS is not set 1112# CONFIG_MINIX_FS is not set
@@ -1117,6 +1128,7 @@ CONFIG_LOCKD_V4=y
1117CONFIG_NFS_COMMON=y 1128CONFIG_NFS_COMMON=y
1118CONFIG_SUNRPC=y 1129CONFIG_SUNRPC=y
1119CONFIG_SUNRPC_GSS=y 1130CONFIG_SUNRPC_GSS=y
1131# CONFIG_SUNRPC_REGISTER_V4 is not set
1120CONFIG_RPCSEC_GSS_KRB5=y 1132CONFIG_RPCSEC_GSS_KRB5=y
1121# CONFIG_RPCSEC_GSS_SPKM3 is not set 1133# CONFIG_RPCSEC_GSS_SPKM3 is not set
1122# CONFIG_SMB_FS is not set 1134# CONFIG_SMB_FS is not set
@@ -1146,13 +1158,11 @@ CONFIG_PARTITION_ADVANCED=y
1146# CONFIG_DLM is not set 1158# CONFIG_DLM is not set
1147CONFIG_UCC_FAST=y 1159CONFIG_UCC_FAST=y
1148CONFIG_UCC=y 1160CONFIG_UCC=y
1149# CONFIG_QE_GPIO is not set
1150 1161
1151# 1162#
1152# Library routines 1163# Library routines
1153# 1164#
1154CONFIG_BITREVERSE=y 1165CONFIG_BITREVERSE=y
1155# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1156# CONFIG_CRC_CCITT is not set 1166# CONFIG_CRC_CCITT is not set
1157# CONFIG_CRC16 is not set 1167# CONFIG_CRC16 is not set
1158# CONFIG_CRC_T10DIF is not set 1168# CONFIG_CRC_T10DIF is not set
@@ -1182,13 +1192,15 @@ CONFIG_FRAME_WARN=1024
1182# CONFIG_SLUB_STATS is not set 1192# CONFIG_SLUB_STATS is not set
1183# CONFIG_DEBUG_BUGVERBOSE is not set 1193# CONFIG_DEBUG_BUGVERBOSE is not set
1184# CONFIG_DEBUG_MEMORY_INIT is not set 1194# CONFIG_DEBUG_MEMORY_INIT is not set
1195# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1185# CONFIG_LATENCYTOP is not set 1196# CONFIG_LATENCYTOP is not set
1186CONFIG_SYSCTL_SYSCALL_CHECK=y 1197CONFIG_SYSCTL_SYSCALL_CHECK=y
1187CONFIG_HAVE_FTRACE=y 1198CONFIG_HAVE_FUNCTION_TRACER=y
1188CONFIG_HAVE_DYNAMIC_FTRACE=y 1199
1189# CONFIG_FTRACE is not set 1200#
1190# CONFIG_SCHED_TRACER is not set 1201# Tracers
1191# CONFIG_CONTEXT_SWITCH_TRACER is not set 1202#
1203# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1192# CONFIG_SAMPLES is not set 1204# CONFIG_SAMPLES is not set
1193CONFIG_HAVE_ARCH_KGDB=y 1205CONFIG_HAVE_ARCH_KGDB=y
1194# CONFIG_IRQSTACKS is not set 1206# CONFIG_IRQSTACKS is not set
@@ -1200,14 +1212,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1200# 1212#
1201# CONFIG_KEYS is not set 1213# CONFIG_KEYS is not set
1202# CONFIG_SECURITY is not set 1214# CONFIG_SECURITY is not set
1215# CONFIG_SECURITYFS is not set
1203# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1216# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1204CONFIG_CRYPTO=y 1217CONFIG_CRYPTO=y
1205 1218
1206# 1219#
1207# Crypto core or helper 1220# Crypto core or helper
1208# 1221#
1222# CONFIG_CRYPTO_FIPS is not set
1209CONFIG_CRYPTO_ALGAPI=y 1223CONFIG_CRYPTO_ALGAPI=y
1224CONFIG_CRYPTO_AEAD=y
1210CONFIG_CRYPTO_BLKCIPHER=y 1225CONFIG_CRYPTO_BLKCIPHER=y
1226CONFIG_CRYPTO_HASH=y
1227CONFIG_CRYPTO_RNG=y
1211CONFIG_CRYPTO_MANAGER=y 1228CONFIG_CRYPTO_MANAGER=y
1212# CONFIG_CRYPTO_GF128MUL is not set 1229# CONFIG_CRYPTO_GF128MUL is not set
1213# CONFIG_CRYPTO_NULL is not set 1230# CONFIG_CRYPTO_NULL is not set
@@ -1280,6 +1297,11 @@ CONFIG_CRYPTO_DES=y
1280# 1297#
1281# CONFIG_CRYPTO_DEFLATE is not set 1298# CONFIG_CRYPTO_DEFLATE is not set
1282# CONFIG_CRYPTO_LZO is not set 1299# CONFIG_CRYPTO_LZO is not set
1300
1301#
1302# Random Number Generation
1303#
1304# CONFIG_CRYPTO_ANSI_CPRNG is not set
1283CONFIG_CRYPTO_HW=y 1305CONFIG_CRYPTO_HW=y
1284# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1306# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1285# CONFIG_CRYPTO_DEV_TALITOS is not set 1307# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
index cdf84177370a..b9b236806e9f 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:24 2008 4# Sat Nov 8 12:40:00 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -54,8 +54,6 @@ CONFIG_PPC_UDBG_16550=y
54CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
57CONFIG_HIBERNATE_32=y
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_ARCH_SUSPEND_POSSIBLE=y 57CONFIG_ARCH_SUSPEND_POSSIBLE=y
60# CONFIG_PPC_DCR_NATIVE is not set 58# CONFIG_PPC_DCR_NATIVE is not set
61# CONFIG_PPC_DCR_MMIO is not set 59# CONFIG_PPC_DCR_MMIO is not set
@@ -99,7 +97,6 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 97CONFIG_PRINTK=y
100CONFIG_BUG=y 98CONFIG_BUG=y
101CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 100CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 102CONFIG_FUTEX=y
@@ -109,7 +106,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
115CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 155CONFIG_CLASSIC_RCU=y
156# CONFIG_FREEZER is not set
161 157
162# 158#
163# Platform support 159# Platform support
@@ -165,10 +161,10 @@ CONFIG_CLASSIC_RCU=y
165CONFIG_PPC_MULTIPLATFORM=y 161CONFIG_PPC_MULTIPLATFORM=y
166CONFIG_CLASSIC32=y 162CONFIG_CLASSIC32=y
167# CONFIG_PPC_CHRP is not set 163# CONFIG_PPC_CHRP is not set
168# CONFIG_PPC_PMAC is not set
169# CONFIG_MPC5121_ADS is not set 164# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set 165# CONFIG_MPC5121_GENERIC is not set
171# CONFIG_PPC_MPC52xx is not set 166# CONFIG_PPC_MPC52xx is not set
167# CONFIG_PPC_PMAC is not set
172# CONFIG_PPC_CELL is not set 168# CONFIG_PPC_CELL is not set
173# CONFIG_PPC_CELL_NATIVE is not set 169# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set 170# CONFIG_PPC_82xx is not set
@@ -187,31 +183,26 @@ CONFIG_MPC836x_RDK=y
187# CONFIG_ASP834x is not set 183# CONFIG_ASP834x is not set
188# CONFIG_PPC_86xx is not set 184# CONFIG_PPC_86xx is not set
189# CONFIG_EMBEDDED6xx is not set 185# CONFIG_EMBEDDED6xx is not set
190CONFIG_PPC_NATIVE=y
191# CONFIG_UDBG_RTAS_CONSOLE is not set
192CONFIG_IPIC=y 186CONFIG_IPIC=y
193CONFIG_MPIC=y 187# CONFIG_MPIC is not set
194# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
195CONFIG_PPC_I8259=y 189# CONFIG_PPC_I8259 is not set
196CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
197# CONFIG_RTAS_ERROR_LOGGING is not set
198CONFIG_RTAS_PROC=y
199# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
200CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
201# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
202# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
203# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
204# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
205# CONFIG_PPC601_SYNC_FIX is not set
206# CONFIG_TAU is not set 197# CONFIG_TAU is not set
207CONFIG_QUICC_ENGINE=y 198CONFIG_QUICC_ENGINE=y
199CONFIG_QE_GPIO=y
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
209 201
210# 202#
211# Kernel options 203# Kernel options
212# 204#
213# CONFIG_HIGHMEM is not set 205# CONFIG_HIGHMEM is not set
214# CONFIG_TICK_ONESHOT is not set
215# CONFIG_NO_HZ is not set 206# CONFIG_NO_HZ is not set
216# CONFIG_HIGH_RES_TIMERS is not set 207# CONFIG_HIGH_RES_TIMERS is not set
217CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 208CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -225,6 +216,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 217# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 218CONFIG_BINFMT_ELF=y
219# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
220# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 221# CONFIG_BINFMT_MISC is not set
229# CONFIG_IOMMU_HELPER is not set 222# CONFIG_IOMMU_HELPER is not set
230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 223CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -239,15 +232,15 @@ CONFIG_FLATMEM_MANUAL=y
239# CONFIG_SPARSEMEM_MANUAL is not set 232# CONFIG_SPARSEMEM_MANUAL is not set
240CONFIG_FLATMEM=y 233CONFIG_FLATMEM=y
241CONFIG_FLAT_NODE_MEM_MAP=y 234CONFIG_FLAT_NODE_MEM_MAP=y
242# CONFIG_SPARSEMEM_STATIC is not set
243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
244CONFIG_PAGEFLAGS_EXTENDED=y 235CONFIG_PAGEFLAGS_EXTENDED=y
245CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
247# CONFIG_RESOURCES_64BIT is not set 238# CONFIG_RESOURCES_64BIT is not set
239# CONFIG_PHYS_ADDR_T_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1 240CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
250CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y
251CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -259,7 +252,6 @@ CONFIG_ISA_DMA_API=y
259# 252#
260# Bus options 253# Bus options
261# 254#
262# CONFIG_ISA is not set
263CONFIG_ZONE_DMA=y 255CONFIG_ZONE_DMA=y
264CONFIG_GENERIC_ISA_DMA=y 256CONFIG_GENERIC_ISA_DMA=y
265CONFIG_PPC_INDIRECT_PCI=y 257CONFIG_PPC_INDIRECT_PCI=y
@@ -274,7 +266,7 @@ CONFIG_PCI_SYSCALL=y
274# CONFIG_PCIEPORTBUS is not set 266# CONFIG_PCIEPORTBUS is not set
275CONFIG_ARCH_SUPPORTS_MSI=y 267CONFIG_ARCH_SUPPORTS_MSI=y
276# CONFIG_PCI_MSI is not set 268# CONFIG_PCI_MSI is not set
277CONFIG_PCI_LEGACY=y 269# CONFIG_PCI_LEGACY is not set
278# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
279# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
280# CONFIG_HAS_RAPIDIO is not set 272# CONFIG_HAS_RAPIDIO is not set
@@ -342,6 +334,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_TIPC is not set 334# CONFIG_TIPC is not set
343# CONFIG_ATM is not set 335# CONFIG_ATM is not set
344# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
337# CONFIG_NET_DSA is not set
345# CONFIG_VLAN_8021Q is not set 338# CONFIG_VLAN_8021Q is not set
346# CONFIG_DECNET is not set 339# CONFIG_DECNET is not set
347# CONFIG_LLC2 is not set 340# CONFIG_LLC2 is not set
@@ -362,11 +355,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
362# CONFIG_IRDA is not set 355# CONFIG_IRDA is not set
363# CONFIG_BT is not set 356# CONFIG_BT is not set
364# CONFIG_AF_RXRPC is not set 357# CONFIG_AF_RXRPC is not set
365 358# CONFIG_PHONET is not set
366# 359CONFIG_WIRELESS=y
367# Wireless
368#
369# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
370# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
371# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
372# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -480,7 +472,6 @@ CONFIG_OF_SPI=y
480# CONFIG_PARPORT is not set 472# CONFIG_PARPORT is not set
481CONFIG_BLK_DEV=y 473CONFIG_BLK_DEV=y
482# CONFIG_BLK_DEV_FD is not set 474# CONFIG_BLK_DEV_FD is not set
483# CONFIG_MAC_FLOPPY is not set
484# CONFIG_BLK_CPQ_DA is not set 475# CONFIG_BLK_CPQ_DA is not set
485# CONFIG_BLK_CPQ_CISS_DA is not set 476# CONFIG_BLK_CPQ_CISS_DA is not set
486# CONFIG_BLK_DEV_DAC960 is not set 477# CONFIG_BLK_DEV_DAC960 is not set
@@ -581,6 +572,7 @@ CONFIG_UCC_GETH=y
581# CONFIG_QLA3XXX is not set 572# CONFIG_QLA3XXX is not set
582# CONFIG_ATL1 is not set 573# CONFIG_ATL1 is not set
583# CONFIG_ATL1E is not set 574# CONFIG_ATL1E is not set
575# CONFIG_JME is not set
584# CONFIG_NETDEV_10000 is not set 576# CONFIG_NETDEV_10000 is not set
585# CONFIG_TR is not set 577# CONFIG_TR is not set
586 578
@@ -660,15 +652,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
660# CONFIG_SERIAL_UARTLITE is not set 652# CONFIG_SERIAL_UARTLITE is not set
661CONFIG_SERIAL_CORE=y 653CONFIG_SERIAL_CORE=y
662CONFIG_SERIAL_CORE_CONSOLE=y 654CONFIG_SERIAL_CORE_CONSOLE=y
663# CONFIG_SERIAL_PMACZILOG is not set
664# CONFIG_SERIAL_JSM is not set 655# CONFIG_SERIAL_JSM is not set
665# CONFIG_SERIAL_OF_PLATFORM is not set 656# CONFIG_SERIAL_OF_PLATFORM is not set
666CONFIG_SERIAL_QE=y 657CONFIG_SERIAL_QE=y
667CONFIG_UNIX98_PTYS=y 658CONFIG_UNIX98_PTYS=y
668CONFIG_LEGACY_PTYS=y 659CONFIG_LEGACY_PTYS=y
669CONFIG_LEGACY_PTY_COUNT=256 660CONFIG_LEGACY_PTY_COUNT=256
670# CONFIG_BRIQ_PANEL is not set
671# CONFIG_HVC_RTAS is not set
672# CONFIG_IPMI_HANDLER is not set 661# CONFIG_IPMI_HANDLER is not set
673CONFIG_HW_RANDOM=y 662CONFIG_HW_RANDOM=y
674# CONFIG_NVRAM is not set 663# CONFIG_NVRAM is not set
@@ -706,12 +695,6 @@ CONFIG_I2C_HELPER_AUTO=y
706# CONFIG_I2C_VIAPRO is not set 695# CONFIG_I2C_VIAPRO is not set
707 696
708# 697#
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) 698# I2C system bus drivers (mostly embedded / system-on-chip)
716# 699#
717# CONFIG_I2C_GPIO is not set 700# CONFIG_I2C_GPIO is not set
@@ -749,6 +732,7 @@ CONFIG_I2C_MPC=y
749# CONFIG_TPS65010 is not set 732# CONFIG_TPS65010 is not set
750# CONFIG_SENSORS_MAX6875 is not set 733# CONFIG_SENSORS_MAX6875 is not set
751# CONFIG_SENSORS_TSL2550 is not set 734# CONFIG_SENSORS_TSL2550 is not set
735# CONFIG_MCU_MPC8349EMITX is not set
752# CONFIG_I2C_DEBUG_CORE is not set 736# CONFIG_I2C_DEBUG_CORE is not set
753# CONFIG_I2C_DEBUG_ALGO is not set 737# CONFIG_I2C_DEBUG_ALGO is not set
754# CONFIG_I2C_DEBUG_BUS is not set 738# CONFIG_I2C_DEBUG_BUS is not set
@@ -804,7 +788,6 @@ CONFIG_WATCHDOG=y
804# CONFIG_SOFT_WATCHDOG is not set 788# CONFIG_SOFT_WATCHDOG is not set
805# CONFIG_ALIM7101_WDT is not set 789# CONFIG_ALIM7101_WDT is not set
806# CONFIG_8xxx_WDT is not set 790# CONFIG_8xxx_WDT is not set
807# CONFIG_WATCHDOG_RTAS is not set
808 791
809# 792#
810# PCI-based Watchdog Cards 793# PCI-based Watchdog Cards
@@ -825,6 +808,17 @@ CONFIG_SSB_POSSIBLE=y
825# CONFIG_MFD_SM501 is not set 808# CONFIG_MFD_SM501 is not set
826# CONFIG_HTC_PASIC3 is not set 809# CONFIG_HTC_PASIC3 is not set
827# CONFIG_MFD_TMIO is not set 810# CONFIG_MFD_TMIO is not set
811# CONFIG_PMIC_DA903X is not set
812# CONFIG_MFD_WM8400 is not set
813# CONFIG_MFD_WM8350_I2C is not set
814
815#
816# Voltage and Current regulators
817#
818# CONFIG_REGULATOR is not set
819# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
820# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
821# CONFIG_REGULATOR_BQ24022 is not set
828 822
829# 823#
830# Multimedia devices 824# Multimedia devices
@@ -852,6 +846,7 @@ CONFIG_DAB=y
852CONFIG_FB=y 846CONFIG_FB=y
853# CONFIG_FIRMWARE_EDID is not set 847# CONFIG_FIRMWARE_EDID is not set
854# CONFIG_FB_DDC is not set 848# CONFIG_FB_DDC is not set
849# CONFIG_FB_BOOT_VESA_SUPPORT is not set
855CONFIG_FB_CFB_FILLRECT=y 850CONFIG_FB_CFB_FILLRECT=y
856CONFIG_FB_CFB_COPYAREA=y 851CONFIG_FB_CFB_COPYAREA=y
857CONFIG_FB_CFB_IMAGEBLIT=y 852CONFIG_FB_CFB_IMAGEBLIT=y
@@ -874,9 +869,6 @@ CONFIG_FB_MACMODES=y
874# CONFIG_FB_PM2 is not set 869# CONFIG_FB_PM2 is not set
875# CONFIG_FB_CYBER2000 is not set 870# CONFIG_FB_CYBER2000 is not set
876CONFIG_FB_OF=y 871CONFIG_FB_OF=y
877# CONFIG_FB_CONTROL is not set
878# CONFIG_FB_PLATINUM is not set
879# CONFIG_FB_VALKYRIE is not set
880# CONFIG_FB_CT65550 is not set 872# CONFIG_FB_CT65550 is not set
881# CONFIG_FB_ASILIANT is not set 873# CONFIG_FB_ASILIANT is not set
882# CONFIG_FB_IMSTT is not set 874# CONFIG_FB_IMSTT is not set
@@ -891,6 +883,7 @@ CONFIG_FB_OF=y
891# CONFIG_FB_S3 is not set 883# CONFIG_FB_S3 is not set
892# CONFIG_FB_SAVAGE is not set 884# CONFIG_FB_SAVAGE is not set
893# CONFIG_FB_SIS is not set 885# CONFIG_FB_SIS is not set
886# CONFIG_FB_VIA is not set
894# CONFIG_FB_NEOMAGIC is not set 887# CONFIG_FB_NEOMAGIC is not set
895# CONFIG_FB_KYRO is not set 888# CONFIG_FB_KYRO is not set
896# CONFIG_FB_3DFX is not set 889# CONFIG_FB_3DFX is not set
@@ -903,6 +896,7 @@ CONFIG_FB_OF=y
903# CONFIG_FB_FSL_DIU is not set 896# CONFIG_FB_FSL_DIU is not set
904# CONFIG_FB_IBM_GXT4500 is not set 897# CONFIG_FB_IBM_GXT4500 is not set
905# CONFIG_FB_VIRTUAL is not set 898# CONFIG_FB_VIRTUAL is not set
899# CONFIG_FB_METRONOME is not set
906# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 900# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
907 901
908# 902#
@@ -930,7 +924,14 @@ CONFIG_HID_SUPPORT=y
930CONFIG_HID=y 924CONFIG_HID=y
931# CONFIG_HID_DEBUG is not set 925# CONFIG_HID_DEBUG is not set
932# CONFIG_HIDRAW is not set 926# CONFIG_HIDRAW is not set
927# CONFIG_HID_PID is not set
928
929#
930# Special HID drivers
931#
932CONFIG_HID_COMPAT=y
933# CONFIG_USB_SUPPORT is not set 933# CONFIG_USB_SUPPORT is not set
934# CONFIG_UWB is not set
934# CONFIG_MMC is not set 935# CONFIG_MMC is not set
935# CONFIG_MEMSTICK is not set 936# CONFIG_MEMSTICK is not set
936# CONFIG_NEW_LEDS is not set 937# CONFIG_NEW_LEDS is not set
@@ -940,6 +941,7 @@ CONFIG_HID=y
940# CONFIG_RTC_CLASS is not set 941# CONFIG_RTC_CLASS is not set
941# CONFIG_DMADEVICES is not set 942# CONFIG_DMADEVICES is not set
942# CONFIG_UIO is not set 943# CONFIG_UIO is not set
944# CONFIG_STAGING is not set
943 945
944# 946#
945# File systems 947# File systems
@@ -951,12 +953,13 @@ CONFIG_EXT3_FS=y
951CONFIG_EXT3_FS_XATTR=y 953CONFIG_EXT3_FS_XATTR=y
952# CONFIG_EXT3_FS_POSIX_ACL is not set 954# CONFIG_EXT3_FS_POSIX_ACL is not set
953# CONFIG_EXT3_FS_SECURITY is not set 955# CONFIG_EXT3_FS_SECURITY is not set
954# CONFIG_EXT4DEV_FS is not set 956# CONFIG_EXT4_FS is not set
955CONFIG_JBD=y 957CONFIG_JBD=y
956CONFIG_FS_MBCACHE=y 958CONFIG_FS_MBCACHE=y
957# CONFIG_REISERFS_FS is not set 959# CONFIG_REISERFS_FS is not set
958# CONFIG_JFS_FS is not set 960# CONFIG_JFS_FS is not set
959# CONFIG_FS_POSIX_ACL is not set 961# CONFIG_FS_POSIX_ACL is not set
962CONFIG_FILE_LOCKING=y
960# CONFIG_XFS_FS is not set 963# CONFIG_XFS_FS is not set
961# CONFIG_OCFS2_FS is not set 964# CONFIG_OCFS2_FS is not set
962CONFIG_DNOTIFY=y 965CONFIG_DNOTIFY=y
@@ -986,6 +989,7 @@ CONFIG_INOTIFY_USER=y
986CONFIG_PROC_FS=y 989CONFIG_PROC_FS=y
987CONFIG_PROC_KCORE=y 990CONFIG_PROC_KCORE=y
988CONFIG_PROC_SYSCTL=y 991CONFIG_PROC_SYSCTL=y
992CONFIG_PROC_PAGE_MONITOR=y
989CONFIG_SYSFS=y 993CONFIG_SYSFS=y
990CONFIG_TMPFS=y 994CONFIG_TMPFS=y
991# CONFIG_TMPFS_POSIX_ACL is not set 995# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1034,6 +1038,7 @@ CONFIG_LOCKD_V4=y
1034CONFIG_NFS_COMMON=y 1038CONFIG_NFS_COMMON=y
1035CONFIG_SUNRPC=y 1039CONFIG_SUNRPC=y
1036CONFIG_SUNRPC_GSS=y 1040CONFIG_SUNRPC_GSS=y
1041# CONFIG_SUNRPC_REGISTER_V4 is not set
1037CONFIG_RPCSEC_GSS_KRB5=y 1042CONFIG_RPCSEC_GSS_KRB5=y
1038# CONFIG_RPCSEC_GSS_SPKM3 is not set 1043# CONFIG_RPCSEC_GSS_SPKM3 is not set
1039# CONFIG_SMB_FS is not set 1044# CONFIG_SMB_FS is not set
@@ -1064,13 +1069,11 @@ CONFIG_PARTITION_ADVANCED=y
1064CONFIG_UCC_SLOW=y 1069CONFIG_UCC_SLOW=y
1065CONFIG_UCC_FAST=y 1070CONFIG_UCC_FAST=y
1066CONFIG_UCC=y 1071CONFIG_UCC=y
1067CONFIG_QE_GPIO=y
1068 1072
1069# 1073#
1070# Library routines 1074# Library routines
1071# 1075#
1072CONFIG_BITREVERSE=y 1076CONFIG_BITREVERSE=y
1073# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1074# CONFIG_CRC_CCITT is not set 1077# CONFIG_CRC_CCITT is not set
1075# CONFIG_CRC16 is not set 1078# CONFIG_CRC16 is not set
1076# CONFIG_CRC_T10DIF is not set 1079# CONFIG_CRC_T10DIF is not set
@@ -1102,13 +1105,15 @@ CONFIG_FRAME_WARN=1024
1102# CONFIG_SLUB_STATS is not set 1105# CONFIG_SLUB_STATS is not set
1103# CONFIG_DEBUG_BUGVERBOSE is not set 1106# CONFIG_DEBUG_BUGVERBOSE is not set
1104# CONFIG_DEBUG_MEMORY_INIT is not set 1107# CONFIG_DEBUG_MEMORY_INIT is not set
1108# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1105# CONFIG_LATENCYTOP is not set 1109# CONFIG_LATENCYTOP is not set
1106CONFIG_SYSCTL_SYSCALL_CHECK=y 1110CONFIG_SYSCTL_SYSCALL_CHECK=y
1107CONFIG_HAVE_FTRACE=y 1111CONFIG_HAVE_FUNCTION_TRACER=y
1108CONFIG_HAVE_DYNAMIC_FTRACE=y 1112
1109# CONFIG_FTRACE is not set 1113#
1110# CONFIG_SCHED_TRACER is not set 1114# Tracers
1111# CONFIG_CONTEXT_SWITCH_TRACER is not set 1115#
1116# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1112# CONFIG_SAMPLES is not set 1117# CONFIG_SAMPLES is not set
1113CONFIG_HAVE_ARCH_KGDB=y 1118CONFIG_HAVE_ARCH_KGDB=y
1114# CONFIG_IRQSTACKS is not set 1119# CONFIG_IRQSTACKS is not set
@@ -1116,7 +1121,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1116CONFIG_PPC_EARLY_DEBUG=y 1121CONFIG_PPC_EARLY_DEBUG=y
1117# CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1122# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
1118# CONFIG_PPC_EARLY_DEBUG_G5 is not set 1123# CONFIG_PPC_EARLY_DEBUG_G5 is not set
1119CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL=y 1124# CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set
1120# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set 1125# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
1121# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 1126# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
1122# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 1127# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
@@ -1131,14 +1136,19 @@ CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL=y
1131# 1136#
1132# CONFIG_KEYS is not set 1137# CONFIG_KEYS is not set
1133# CONFIG_SECURITY is not set 1138# CONFIG_SECURITY is not set
1139# CONFIG_SECURITYFS is not set
1134# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1140# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1135CONFIG_CRYPTO=y 1141CONFIG_CRYPTO=y
1136 1142
1137# 1143#
1138# Crypto core or helper 1144# Crypto core or helper
1139# 1145#
1146# CONFIG_CRYPTO_FIPS is not set
1140CONFIG_CRYPTO_ALGAPI=y 1147CONFIG_CRYPTO_ALGAPI=y
1148CONFIG_CRYPTO_AEAD=y
1141CONFIG_CRYPTO_BLKCIPHER=y 1149CONFIG_CRYPTO_BLKCIPHER=y
1150CONFIG_CRYPTO_HASH=y
1151CONFIG_CRYPTO_RNG=y
1142CONFIG_CRYPTO_MANAGER=y 1152CONFIG_CRYPTO_MANAGER=y
1143# CONFIG_CRYPTO_GF128MUL is not set 1153# CONFIG_CRYPTO_GF128MUL is not set
1144# CONFIG_CRYPTO_NULL is not set 1154# CONFIG_CRYPTO_NULL is not set
@@ -1211,6 +1221,11 @@ CONFIG_CRYPTO_DES=y
1211# 1221#
1212# CONFIG_CRYPTO_DEFLATE is not set 1222# CONFIG_CRYPTO_DEFLATE is not set
1213# CONFIG_CRYPTO_LZO is not set 1223# CONFIG_CRYPTO_LZO is not set
1224
1225#
1226# Random Number Generation
1227#
1228# CONFIG_CRYPTO_ANSI_CPRNG is not set
1214CONFIG_CRYPTO_HW=y 1229CONFIG_CRYPTO_HW=y
1215# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1230# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1216# CONFIG_CRYPTO_DEV_TALITOS is not set 1231# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
index 97e02d7a5b09..f6350d7e1688 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:23 2008 4# Sat Nov 8 12:40:00 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -99,7 +97,6 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 97CONFIG_PRINTK=y
100CONFIG_BUG=y 98CONFIG_BUG=y
101CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 100CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 102CONFIG_FUTEX=y
@@ -109,7 +106,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
113CONFIG_SLAB=y 112CONFIG_SLAB=y
114# CONFIG_SLUB is not set 113# CONFIG_SLUB is not set
115# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 155CONFIG_CLASSIC_RCU=y
156# CONFIG_FREEZER is not set
161 157
162# 158#
163# Platform support 159# Platform support
@@ -165,10 +161,10 @@ CONFIG_CLASSIC_RCU=y
165CONFIG_PPC_MULTIPLATFORM=y 161CONFIG_PPC_MULTIPLATFORM=y
166CONFIG_CLASSIC32=y 162CONFIG_CLASSIC32=y
167# CONFIG_PPC_CHRP is not set 163# CONFIG_PPC_CHRP is not set
168# CONFIG_PPC_PMAC is not set
169# CONFIG_MPC5121_ADS is not set 164# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set 165# CONFIG_MPC5121_GENERIC is not set
171# CONFIG_PPC_MPC52xx is not set 166# CONFIG_PPC_MPC52xx is not set
167# CONFIG_PPC_PMAC is not set
172# CONFIG_PPC_CELL is not set 168# CONFIG_PPC_CELL is not set
173# CONFIG_PPC_CELL_NATIVE is not set 169# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set 170# CONFIG_PPC_82xx is not set
@@ -188,30 +184,26 @@ CONFIG_MPC837x_MDS=y
188CONFIG_PPC_MPC837x=y 184CONFIG_PPC_MPC837x=y
189# CONFIG_PPC_86xx is not set 185# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set 186# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
193CONFIG_IPIC=y 187CONFIG_IPIC=y
194CONFIG_MPIC=y 188# CONFIG_MPIC is not set
195# CONFIG_MPIC_WEIRD is not set 189# CONFIG_MPIC_WEIRD is not set
196CONFIG_PPC_I8259=y 190# CONFIG_PPC_I8259 is not set
197CONFIG_PPC_RTAS=y 191# CONFIG_PPC_RTAS is not set
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
200# CONFIG_MMIO_NVRAM is not set 192# CONFIG_MMIO_NVRAM is not set
201CONFIG_PPC_MPC106=y 193# CONFIG_PPC_MPC106 is not set
202# CONFIG_PPC_970_NAP is not set 194# CONFIG_PPC_970_NAP is not set
203# CONFIG_PPC_INDIRECT_IO is not set 195# CONFIG_PPC_INDIRECT_IO is not set
204# CONFIG_GENERIC_IOMAP is not set 196# CONFIG_GENERIC_IOMAP is not set
205# CONFIG_CPU_FREQ is not set 197# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set 198# CONFIG_TAU is not set
199# CONFIG_QUICC_ENGINE is not set
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
201# CONFIG_MPC8xxx_GPIO is not set
209 202
210# 203#
211# Kernel options 204# Kernel options
212# 205#
213# CONFIG_HIGHMEM is not set 206# CONFIG_HIGHMEM is not set
214# CONFIG_TICK_ONESHOT is not set
215# CONFIG_NO_HZ is not set 207# CONFIG_NO_HZ is not set
216# CONFIG_HIGH_RES_TIMERS is not set 208# CONFIG_HIGH_RES_TIMERS is not set
217CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 209CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -225,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
229# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -239,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
239# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
240CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
241CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
242# CONFIG_SPARSEMEM_STATIC is not set
243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
244CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
245CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
247# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
250CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
251CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -259,7 +253,6 @@ CONFIG_ISA_DMA_API=y
259# 253#
260# Bus options 254# Bus options
261# 255#
262# CONFIG_ISA is not set
263CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
264CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
265CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -272,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
276# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 271# CONFIG_HAS_RAPIDIO is not set
@@ -340,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_TIPC is not set 333# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 334# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 335# CONFIG_BRIDGE is not set
336# CONFIG_NET_DSA is not set
343# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
344# CONFIG_DECNET is not set 338# CONFIG_DECNET is not set
345# CONFIG_LLC2 is not set 339# CONFIG_LLC2 is not set
@@ -360,11 +354,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
360# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
361# CONFIG_BT is not set 355# CONFIG_BT is not set
362# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
363 357# CONFIG_PHONET is not set
364# 358CONFIG_WIRELESS=y
365# Wireless
366#
367# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
368# CONFIG_WIRELESS_EXT is not set 361# CONFIG_WIRELESS_EXT is not set
369# CONFIG_MAC80211 is not set 362# CONFIG_MAC80211 is not set
370# CONFIG_IEEE80211 is not set 363# CONFIG_IEEE80211 is not set
@@ -390,7 +383,6 @@ CONFIG_OF_I2C=y
390# CONFIG_PARPORT is not set 383# CONFIG_PARPORT is not set
391CONFIG_BLK_DEV=y 384CONFIG_BLK_DEV=y
392# CONFIG_BLK_DEV_FD is not set 385# CONFIG_BLK_DEV_FD is not set
393# CONFIG_MAC_FLOPPY is not set
394# CONFIG_BLK_CPQ_DA is not set 386# CONFIG_BLK_CPQ_DA is not set
395# CONFIG_BLK_CPQ_CISS_DA is not set 387# CONFIG_BLK_CPQ_CISS_DA is not set
396# CONFIG_BLK_DEV_DAC960 is not set 388# CONFIG_BLK_DEV_DAC960 is not set
@@ -491,8 +483,6 @@ CONFIG_SCSI_LOWLEVEL=y
491# CONFIG_SCSI_DC390T is not set 483# CONFIG_SCSI_DC390T is not set
492# CONFIG_SCSI_NSP32 is not set 484# CONFIG_SCSI_NSP32 is not set
493# CONFIG_SCSI_DEBUG is not set 485# 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 486# CONFIG_SCSI_SRP is not set
497# CONFIG_SCSI_DH is not set 487# CONFIG_SCSI_DH is not set
498CONFIG_ATA=y 488CONFIG_ATA=y
@@ -597,8 +587,6 @@ CONFIG_MARVELL_PHY=y
597# CONFIG_MDIO_BITBANG is not set 587# CONFIG_MDIO_BITBANG is not set
598CONFIG_NET_ETHERNET=y 588CONFIG_NET_ETHERNET=y
599CONFIG_MII=y 589CONFIG_MII=y
600# CONFIG_MACE is not set
601# CONFIG_BMAC is not set
602# CONFIG_HAPPYMEAL is not set 590# CONFIG_HAPPYMEAL is not set
603# CONFIG_SUNGEM is not set 591# CONFIG_SUNGEM is not set
604# CONFIG_CASSINI is not set 592# CONFIG_CASSINI is not set
@@ -609,8 +597,12 @@ CONFIG_MII=y
609# CONFIG_IBM_NEW_EMAC_RGMII is not set 597# CONFIG_IBM_NEW_EMAC_RGMII is not set
610# CONFIG_IBM_NEW_EMAC_TAH is not set 598# CONFIG_IBM_NEW_EMAC_TAH is not set
611# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 599# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
600# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
601# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
602# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
612# CONFIG_NET_PCI is not set 603# CONFIG_NET_PCI is not set
613# CONFIG_B44 is not set 604# CONFIG_B44 is not set
605# CONFIG_ATL2 is not set
614CONFIG_NETDEV_1000=y 606CONFIG_NETDEV_1000=y
615# CONFIG_ACENIC is not set 607# CONFIG_ACENIC is not set
616# CONFIG_DL2K is not set 608# CONFIG_DL2K is not set
@@ -633,18 +625,22 @@ CONFIG_GIANFAR=y
633# CONFIG_QLA3XXX is not set 625# CONFIG_QLA3XXX is not set
634# CONFIG_ATL1 is not set 626# CONFIG_ATL1 is not set
635# CONFIG_ATL1E is not set 627# CONFIG_ATL1E is not set
628# CONFIG_JME is not set
636CONFIG_NETDEV_10000=y 629CONFIG_NETDEV_10000=y
637# CONFIG_CHELSIO_T1 is not set 630# CONFIG_CHELSIO_T1 is not set
638# CONFIG_CHELSIO_T3 is not set 631# CONFIG_CHELSIO_T3 is not set
632# CONFIG_ENIC is not set
639# CONFIG_IXGBE is not set 633# CONFIG_IXGBE is not set
640# CONFIG_IXGB is not set 634# CONFIG_IXGB is not set
641# CONFIG_S2IO is not set 635# CONFIG_S2IO is not set
642# CONFIG_MYRI10GE is not set 636# CONFIG_MYRI10GE is not set
643# CONFIG_NETXEN_NIC is not set 637# CONFIG_NETXEN_NIC is not set
644# CONFIG_NIU is not set 638# CONFIG_NIU is not set
639# CONFIG_MLX4_EN is not set
645# CONFIG_MLX4_CORE is not set 640# CONFIG_MLX4_CORE is not set
646# CONFIG_TEHUTI is not set 641# CONFIG_TEHUTI is not set
647# CONFIG_BNX2X is not set 642# CONFIG_BNX2X is not set
643# CONFIG_QLGE is not set
648# CONFIG_SFC is not set 644# CONFIG_SFC is not set
649# CONFIG_TR is not set 645# CONFIG_TR is not set
650 646
@@ -721,14 +717,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
721# CONFIG_SERIAL_UARTLITE is not set 717# CONFIG_SERIAL_UARTLITE is not set
722CONFIG_SERIAL_CORE=y 718CONFIG_SERIAL_CORE=y
723CONFIG_SERIAL_CORE_CONSOLE=y 719CONFIG_SERIAL_CORE_CONSOLE=y
724# CONFIG_SERIAL_PMACZILOG is not set
725# CONFIG_SERIAL_JSM is not set 720# CONFIG_SERIAL_JSM is not set
726# CONFIG_SERIAL_OF_PLATFORM is not set 721# CONFIG_SERIAL_OF_PLATFORM is not set
727CONFIG_UNIX98_PTYS=y 722CONFIG_UNIX98_PTYS=y
728CONFIG_LEGACY_PTYS=y 723CONFIG_LEGACY_PTYS=y
729CONFIG_LEGACY_PTY_COUNT=256 724CONFIG_LEGACY_PTY_COUNT=256
730# CONFIG_BRIQ_PANEL is not set
731# CONFIG_HVC_RTAS is not set
732# CONFIG_IPMI_HANDLER is not set 725# CONFIG_IPMI_HANDLER is not set
733# CONFIG_HW_RANDOM is not set 726# CONFIG_HW_RANDOM is not set
734# CONFIG_NVRAM is not set 727# CONFIG_NVRAM is not set
@@ -767,12 +760,6 @@ CONFIG_I2C_HELPER_AUTO=y
767# CONFIG_I2C_VIAPRO is not set 760# CONFIG_I2C_VIAPRO is not set
768 761
769# 762#
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) 763# I2C system bus drivers (mostly embedded / system-on-chip)
777# 764#
778CONFIG_I2C_MPC=y 765CONFIG_I2C_MPC=y
@@ -808,6 +795,7 @@ CONFIG_I2C_MPC=y
808# CONFIG_SENSORS_PCF8591 is not set 795# CONFIG_SENSORS_PCF8591 is not set
809# CONFIG_SENSORS_MAX6875 is not set 796# CONFIG_SENSORS_MAX6875 is not set
810# CONFIG_SENSORS_TSL2550 is not set 797# CONFIG_SENSORS_TSL2550 is not set
798# CONFIG_MCU_MPC8349EMITX is not set
811# CONFIG_I2C_DEBUG_CORE is not set 799# CONFIG_I2C_DEBUG_CORE is not set
812# CONFIG_I2C_DEBUG_ALGO is not set 800# CONFIG_I2C_DEBUG_ALGO is not set
813# CONFIG_I2C_DEBUG_BUS is not set 801# CONFIG_I2C_DEBUG_BUS is not set
@@ -829,7 +817,6 @@ CONFIG_HWMON=y
829# CONFIG_SENSORS_ADM9240 is not set 817# CONFIG_SENSORS_ADM9240 is not set
830# CONFIG_SENSORS_ADT7470 is not set 818# CONFIG_SENSORS_ADT7470 is not set
831# CONFIG_SENSORS_ADT7473 is not set 819# CONFIG_SENSORS_ADT7473 is not set
832# CONFIG_SENSORS_AMS is not set
833# CONFIG_SENSORS_ATXP1 is not set 820# CONFIG_SENSORS_ATXP1 is not set
834# CONFIG_SENSORS_DS1621 is not set 821# CONFIG_SENSORS_DS1621 is not set
835# CONFIG_SENSORS_I5K_AMB is not set 822# CONFIG_SENSORS_I5K_AMB is not set
@@ -884,7 +871,6 @@ CONFIG_WATCHDOG=y
884# CONFIG_SOFT_WATCHDOG is not set 871# CONFIG_SOFT_WATCHDOG is not set
885# CONFIG_ALIM7101_WDT is not set 872# CONFIG_ALIM7101_WDT is not set
886# CONFIG_8xxx_WDT is not set 873# CONFIG_8xxx_WDT is not set
887# CONFIG_WATCHDOG_RTAS is not set
888 874
889# 875#
890# PCI-based Watchdog Cards 876# PCI-based Watchdog Cards
@@ -905,6 +891,17 @@ CONFIG_SSB_POSSIBLE=y
905# CONFIG_MFD_SM501 is not set 891# CONFIG_MFD_SM501 is not set
906# CONFIG_HTC_PASIC3 is not set 892# CONFIG_HTC_PASIC3 is not set
907# CONFIG_MFD_TMIO is not set 893# CONFIG_MFD_TMIO is not set
894# CONFIG_PMIC_DA903X is not set
895# CONFIG_MFD_WM8400 is not set
896# CONFIG_MFD_WM8350_I2C is not set
897
898#
899# Voltage and Current regulators
900#
901# CONFIG_REGULATOR is not set
902# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
903# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
904# CONFIG_REGULATOR_BQ24022 is not set
908 905
909# 906#
910# Multimedia devices 907# Multimedia devices
@@ -941,6 +938,12 @@ CONFIG_HID_SUPPORT=y
941CONFIG_HID=y 938CONFIG_HID=y
942# CONFIG_HID_DEBUG is not set 939# CONFIG_HID_DEBUG is not set
943# CONFIG_HIDRAW is not set 940# CONFIG_HIDRAW is not set
941# CONFIG_HID_PID is not set
942
943#
944# Special HID drivers
945#
946CONFIG_HID_COMPAT=y
944CONFIG_USB_SUPPORT=y 947CONFIG_USB_SUPPORT=y
945CONFIG_USB_ARCH_HAS_HCD=y 948CONFIG_USB_ARCH_HAS_HCD=y
946CONFIG_USB_ARCH_HAS_OHCI=y 949CONFIG_USB_ARCH_HAS_OHCI=y
@@ -957,6 +960,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
957# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 960# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
958# 961#
959# CONFIG_USB_GADGET is not set 962# CONFIG_USB_GADGET is not set
963# CONFIG_UWB is not set
960# CONFIG_MMC is not set 964# CONFIG_MMC is not set
961# CONFIG_MEMSTICK is not set 965# CONFIG_MEMSTICK is not set
962# CONFIG_NEW_LEDS is not set 966# CONFIG_NEW_LEDS is not set
@@ -966,6 +970,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
966# CONFIG_RTC_CLASS is not set 970# CONFIG_RTC_CLASS is not set
967# CONFIG_DMADEVICES is not set 971# CONFIG_DMADEVICES is not set
968# CONFIG_UIO is not set 972# CONFIG_UIO is not set
973# CONFIG_STAGING is not set
969 974
970# 975#
971# File systems 976# File systems
@@ -977,12 +982,13 @@ CONFIG_EXT3_FS=y
977CONFIG_EXT3_FS_XATTR=y 982CONFIG_EXT3_FS_XATTR=y
978# CONFIG_EXT3_FS_POSIX_ACL is not set 983# CONFIG_EXT3_FS_POSIX_ACL is not set
979# CONFIG_EXT3_FS_SECURITY is not set 984# CONFIG_EXT3_FS_SECURITY is not set
980# CONFIG_EXT4DEV_FS is not set 985# CONFIG_EXT4_FS is not set
981CONFIG_JBD=y 986CONFIG_JBD=y
982CONFIG_FS_MBCACHE=y 987CONFIG_FS_MBCACHE=y
983# CONFIG_REISERFS_FS is not set 988# CONFIG_REISERFS_FS is not set
984# CONFIG_JFS_FS is not set 989# CONFIG_JFS_FS is not set
985# CONFIG_FS_POSIX_ACL is not set 990# CONFIG_FS_POSIX_ACL is not set
991CONFIG_FILE_LOCKING=y
986# CONFIG_XFS_FS is not set 992# CONFIG_XFS_FS is not set
987# CONFIG_OCFS2_FS is not set 993# CONFIG_OCFS2_FS is not set
988CONFIG_DNOTIFY=y 994CONFIG_DNOTIFY=y
@@ -1012,6 +1018,7 @@ CONFIG_INOTIFY_USER=y
1012CONFIG_PROC_FS=y 1018CONFIG_PROC_FS=y
1013CONFIG_PROC_KCORE=y 1019CONFIG_PROC_KCORE=y
1014CONFIG_PROC_SYSCTL=y 1020CONFIG_PROC_SYSCTL=y
1021CONFIG_PROC_PAGE_MONITOR=y
1015CONFIG_SYSFS=y 1022CONFIG_SYSFS=y
1016CONFIG_TMPFS=y 1023CONFIG_TMPFS=y
1017# CONFIG_TMPFS_POSIX_ACL is not set 1024# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1049,6 +1056,7 @@ CONFIG_LOCKD_V4=y
1049CONFIG_NFS_COMMON=y 1056CONFIG_NFS_COMMON=y
1050CONFIG_SUNRPC=y 1057CONFIG_SUNRPC=y
1051CONFIG_SUNRPC_GSS=y 1058CONFIG_SUNRPC_GSS=y
1059# CONFIG_SUNRPC_REGISTER_V4 is not set
1052CONFIG_RPCSEC_GSS_KRB5=y 1060CONFIG_RPCSEC_GSS_KRB5=y
1053# CONFIG_RPCSEC_GSS_SPKM3 is not set 1061# CONFIG_RPCSEC_GSS_SPKM3 is not set
1054# CONFIG_SMB_FS is not set 1062# CONFIG_SMB_FS is not set
@@ -1085,7 +1093,6 @@ CONFIG_MSDOS_PARTITION=y
1085# Library routines 1093# Library routines
1086# 1094#
1087CONFIG_BITREVERSE=y 1095CONFIG_BITREVERSE=y
1088# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1089# CONFIG_CRC_CCITT is not set 1096# CONFIG_CRC_CCITT is not set
1090# CONFIG_CRC16 is not set 1097# CONFIG_CRC16 is not set
1091CONFIG_CRC_T10DIF=y 1098CONFIG_CRC_T10DIF=y
@@ -1113,13 +1120,15 @@ CONFIG_FRAME_WARN=1024
1113# CONFIG_DEBUG_KERNEL is not set 1120# CONFIG_DEBUG_KERNEL is not set
1114# CONFIG_DEBUG_BUGVERBOSE is not set 1121# CONFIG_DEBUG_BUGVERBOSE is not set
1115# CONFIG_DEBUG_MEMORY_INIT is not set 1122# CONFIG_DEBUG_MEMORY_INIT is not set
1123# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1116# CONFIG_LATENCYTOP is not set 1124# CONFIG_LATENCYTOP is not set
1117CONFIG_SYSCTL_SYSCALL_CHECK=y 1125CONFIG_SYSCTL_SYSCALL_CHECK=y
1118CONFIG_HAVE_FTRACE=y 1126CONFIG_HAVE_FUNCTION_TRACER=y
1119CONFIG_HAVE_DYNAMIC_FTRACE=y 1127
1120# CONFIG_FTRACE is not set 1128#
1121# CONFIG_SCHED_TRACER is not set 1129# Tracers
1122# CONFIG_CONTEXT_SWITCH_TRACER is not set 1130#
1131# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1123# CONFIG_SAMPLES is not set 1132# CONFIG_SAMPLES is not set
1124CONFIG_HAVE_ARCH_KGDB=y 1133CONFIG_HAVE_ARCH_KGDB=y
1125# CONFIG_IRQSTACKS is not set 1134# CONFIG_IRQSTACKS is not set
@@ -1131,14 +1140,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1131# 1140#
1132# CONFIG_KEYS is not set 1141# CONFIG_KEYS is not set
1133# CONFIG_SECURITY is not set 1142# CONFIG_SECURITY is not set
1143# CONFIG_SECURITYFS is not set
1134# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1144# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1135CONFIG_CRYPTO=y 1145CONFIG_CRYPTO=y
1136 1146
1137# 1147#
1138# Crypto core or helper 1148# Crypto core or helper
1139# 1149#
1150# CONFIG_CRYPTO_FIPS is not set
1140CONFIG_CRYPTO_ALGAPI=y 1151CONFIG_CRYPTO_ALGAPI=y
1152CONFIG_CRYPTO_AEAD=y
1141CONFIG_CRYPTO_BLKCIPHER=y 1153CONFIG_CRYPTO_BLKCIPHER=y
1154CONFIG_CRYPTO_HASH=y
1155CONFIG_CRYPTO_RNG=y
1142CONFIG_CRYPTO_MANAGER=y 1156CONFIG_CRYPTO_MANAGER=y
1143# CONFIG_CRYPTO_GF128MUL is not set 1157# CONFIG_CRYPTO_GF128MUL is not set
1144# CONFIG_CRYPTO_NULL is not set 1158# CONFIG_CRYPTO_NULL is not set
@@ -1211,6 +1225,11 @@ CONFIG_CRYPTO_DES=y
1211# 1225#
1212# CONFIG_CRYPTO_DEFLATE is not set 1226# CONFIG_CRYPTO_DEFLATE is not set
1213# CONFIG_CRYPTO_LZO is not set 1227# CONFIG_CRYPTO_LZO is not set
1228
1229#
1230# Random Number Generation
1231#
1232# CONFIG_CRYPTO_ANSI_CPRNG is not set
1214CONFIG_CRYPTO_HW=y 1233CONFIG_CRYPTO_HW=y
1215# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1234# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1216# CONFIG_CRYPTO_DEV_TALITOS is not set 1235# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
index 5ac33054ce2c..f447de16f75d 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:25 2008 4# Sat Nov 8 12:40:01 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -99,7 +97,6 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 97CONFIG_PRINTK=y
100CONFIG_BUG=y 98CONFIG_BUG=y
101CONFIG_ELF_CORE=y 99CONFIG_ELF_CORE=y
102CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 100CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 101CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 102CONFIG_FUTEX=y
@@ -109,7 +106,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
113CONFIG_SLAB=y 112CONFIG_SLAB=y
114# CONFIG_SLUB is not set 113# CONFIG_SLUB is not set
115# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_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
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_NOOP is not set 153# CONFIG_DEFAULT_NOOP is not set
159CONFIG_DEFAULT_IOSCHED="anticipatory" 154CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_CLASSIC_RCU=y 155CONFIG_CLASSIC_RCU=y
156# CONFIG_FREEZER is not set
161 157
162# 158#
163# Platform support 159# Platform support
@@ -165,10 +161,10 @@ CONFIG_CLASSIC_RCU=y
165CONFIG_PPC_MULTIPLATFORM=y 161CONFIG_PPC_MULTIPLATFORM=y
166CONFIG_CLASSIC32=y 162CONFIG_CLASSIC32=y
167# CONFIG_PPC_CHRP is not set 163# CONFIG_PPC_CHRP is not set
168# CONFIG_PPC_PMAC is not set
169# CONFIG_MPC5121_ADS is not set 164# CONFIG_MPC5121_ADS is not set
170# CONFIG_MPC5121_GENERIC is not set 165# CONFIG_MPC5121_GENERIC is not set
171# CONFIG_PPC_MPC52xx is not set 166# CONFIG_PPC_MPC52xx is not set
167# CONFIG_PPC_PMAC is not set
172# CONFIG_PPC_CELL is not set 168# CONFIG_PPC_CELL is not set
173# CONFIG_PPC_CELL_NATIVE is not set 169# CONFIG_PPC_CELL_NATIVE is not set
174# CONFIG_PPC_82xx is not set 170# CONFIG_PPC_82xx is not set
@@ -188,30 +184,26 @@ CONFIG_MPC837x_RDB=y
188CONFIG_PPC_MPC837x=y 184CONFIG_PPC_MPC837x=y
189# CONFIG_PPC_86xx is not set 185# CONFIG_PPC_86xx is not set
190# CONFIG_EMBEDDED6xx is not set 186# CONFIG_EMBEDDED6xx is not set
191CONFIG_PPC_NATIVE=y
192# CONFIG_UDBG_RTAS_CONSOLE is not set
193CONFIG_IPIC=y 187CONFIG_IPIC=y
194CONFIG_MPIC=y 188# CONFIG_MPIC is not set
195# CONFIG_MPIC_WEIRD is not set 189# CONFIG_MPIC_WEIRD is not set
196CONFIG_PPC_I8259=y 190# CONFIG_PPC_I8259 is not set
197CONFIG_PPC_RTAS=y 191# CONFIG_PPC_RTAS is not set
198# CONFIG_RTAS_ERROR_LOGGING is not set
199CONFIG_RTAS_PROC=y
200# CONFIG_MMIO_NVRAM is not set 192# CONFIG_MMIO_NVRAM is not set
201CONFIG_PPC_MPC106=y 193# CONFIG_PPC_MPC106 is not set
202# CONFIG_PPC_970_NAP is not set 194# CONFIG_PPC_970_NAP is not set
203# CONFIG_PPC_INDIRECT_IO is not set 195# CONFIG_PPC_INDIRECT_IO is not set
204# CONFIG_GENERIC_IOMAP is not set 196# CONFIG_GENERIC_IOMAP is not set
205# CONFIG_CPU_FREQ is not set 197# CONFIG_CPU_FREQ is not set
206# CONFIG_PPC601_SYNC_FIX is not set
207# CONFIG_TAU is not set 198# CONFIG_TAU is not set
199# CONFIG_QUICC_ENGINE is not set
208# CONFIG_FSL_ULI1575 is not set 200# CONFIG_FSL_ULI1575 is not set
201# CONFIG_MPC8xxx_GPIO is not set
209 202
210# 203#
211# Kernel options 204# Kernel options
212# 205#
213# CONFIG_HIGHMEM is not set 206# CONFIG_HIGHMEM is not set
214# CONFIG_TICK_ONESHOT is not set
215# CONFIG_NO_HZ is not set 207# CONFIG_NO_HZ is not set
216# CONFIG_HIGH_RES_TIMERS is not set 208# CONFIG_HIGH_RES_TIMERS is not set
217CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 209CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -225,6 +217,8 @@ CONFIG_PREEMPT_NONE=y
225# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
226# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
227CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
228# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
229# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
230CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -239,15 +233,15 @@ CONFIG_FLATMEM_MANUAL=y
239# CONFIG_SPARSEMEM_MANUAL is not set 233# CONFIG_SPARSEMEM_MANUAL is not set
240CONFIG_FLATMEM=y 234CONFIG_FLATMEM=y
241CONFIG_FLAT_NODE_MEM_MAP=y 235CONFIG_FLAT_NODE_MEM_MAP=y
242# CONFIG_SPARSEMEM_STATIC is not set
243# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
244CONFIG_PAGEFLAGS_EXTENDED=y 236CONFIG_PAGEFLAGS_EXTENDED=y
245CONFIG_SPLIT_PTLOCK_CPUS=4 237CONFIG_SPLIT_PTLOCK_CPUS=4
246CONFIG_MIGRATION=y 238CONFIG_MIGRATION=y
247# CONFIG_RESOURCES_64BIT is not set 239# CONFIG_RESOURCES_64BIT is not set
240# CONFIG_PHYS_ADDR_T_64BIT is not set
248CONFIG_ZONE_DMA_FLAG=1 241CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 242CONFIG_BOUNCE=y
250CONFIG_VIRT_TO_BUS=y 243CONFIG_VIRT_TO_BUS=y
244CONFIG_UNEVICTABLE_LRU=y
251CONFIG_FORCE_MAX_ZONEORDER=11 245CONFIG_FORCE_MAX_ZONEORDER=11
252CONFIG_PROC_DEVICETREE=y 246CONFIG_PROC_DEVICETREE=y
253# CONFIG_CMDLINE_BOOL is not set 247# CONFIG_CMDLINE_BOOL is not set
@@ -259,7 +253,6 @@ CONFIG_ISA_DMA_API=y
259# 253#
260# Bus options 254# Bus options
261# 255#
262# CONFIG_ISA is not set
263CONFIG_ZONE_DMA=y 256CONFIG_ZONE_DMA=y
264CONFIG_GENERIC_ISA_DMA=y 257CONFIG_GENERIC_ISA_DMA=y
265CONFIG_PPC_INDIRECT_PCI=y 258CONFIG_PPC_INDIRECT_PCI=y
@@ -272,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
272# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
273CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
274# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
275CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
276# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
277# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
278# CONFIG_HAS_RAPIDIO is not set 271# CONFIG_HAS_RAPIDIO is not set
@@ -335,6 +328,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
335# CONFIG_TIPC is not set 328# CONFIG_TIPC is not set
336# CONFIG_ATM is not set 329# CONFIG_ATM is not set
337# CONFIG_BRIDGE is not set 330# CONFIG_BRIDGE is not set
331# CONFIG_NET_DSA is not set
338# CONFIG_VLAN_8021Q is not set 332# CONFIG_VLAN_8021Q is not set
339# CONFIG_DECNET is not set 333# CONFIG_DECNET is not set
340# CONFIG_LLC2 is not set 334# CONFIG_LLC2 is not set
@@ -355,11 +349,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# CONFIG_IRDA is not set 349# CONFIG_IRDA is not set
356# CONFIG_BT is not set 350# CONFIG_BT is not set
357# CONFIG_AF_RXRPC is not set 351# CONFIG_AF_RXRPC is not set
358 352# CONFIG_PHONET is not set
359# 353CONFIG_WIRELESS=y
360# Wireless
361#
362# CONFIG_CFG80211 is not set 354# CONFIG_CFG80211 is not set
355CONFIG_WIRELESS_OLD_REGULATORY=y
363# CONFIG_WIRELESS_EXT is not set 356# CONFIG_WIRELESS_EXT is not set
364# CONFIG_MAC80211 is not set 357# CONFIG_MAC80211 is not set
365# CONFIG_IEEE80211 is not set 358# CONFIG_IEEE80211 is not set
@@ -385,7 +378,6 @@ CONFIG_OF_I2C=y
385# CONFIG_PARPORT is not set 378# CONFIG_PARPORT is not set
386CONFIG_BLK_DEV=y 379CONFIG_BLK_DEV=y
387# CONFIG_BLK_DEV_FD is not set 380# CONFIG_BLK_DEV_FD is not set
388# CONFIG_MAC_FLOPPY is not set
389# CONFIG_BLK_CPQ_DA is not set 381# CONFIG_BLK_CPQ_DA is not set
390# CONFIG_BLK_CPQ_CISS_DA is not set 382# CONFIG_BLK_CPQ_CISS_DA is not set
391# CONFIG_BLK_DEV_DAC960 is not set 383# CONFIG_BLK_DEV_DAC960 is not set
@@ -487,8 +479,6 @@ CONFIG_SCSI_LOWLEVEL=y
487# CONFIG_SCSI_DC390T is not set 479# CONFIG_SCSI_DC390T is not set
488# CONFIG_SCSI_NSP32 is not set 480# CONFIG_SCSI_NSP32 is not set
489# CONFIG_SCSI_DEBUG is not set 481# 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 482# CONFIG_SCSI_SRP is not set
493# CONFIG_SCSI_DH is not set 483# CONFIG_SCSI_DH is not set
494CONFIG_ATA=y 484CONFIG_ATA=y
@@ -554,6 +544,7 @@ CONFIG_ATA_SFF=y
554# CONFIG_PATA_SCH is not set 544# CONFIG_PATA_SCH is not set
555CONFIG_MD=y 545CONFIG_MD=y
556CONFIG_BLK_DEV_MD=y 546CONFIG_BLK_DEV_MD=y
547CONFIG_MD_AUTODETECT=y
557# CONFIG_MD_LINEAR is not set 548# CONFIG_MD_LINEAR is not set
558# CONFIG_MD_RAID0 is not set 549# CONFIG_MD_RAID0 is not set
559CONFIG_MD_RAID1=y 550CONFIG_MD_RAID1=y
@@ -603,8 +594,6 @@ CONFIG_FIXED_PHY=y
603# CONFIG_MDIO_BITBANG is not set 594# CONFIG_MDIO_BITBANG is not set
604CONFIG_NET_ETHERNET=y 595CONFIG_NET_ETHERNET=y
605CONFIG_MII=y 596CONFIG_MII=y
606# CONFIG_MACE is not set
607# CONFIG_BMAC is not set
608# CONFIG_HAPPYMEAL is not set 597# CONFIG_HAPPYMEAL is not set
609# CONFIG_SUNGEM is not set 598# CONFIG_SUNGEM is not set
610# CONFIG_CASSINI is not set 599# CONFIG_CASSINI is not set
@@ -615,8 +604,12 @@ CONFIG_MII=y
615# CONFIG_IBM_NEW_EMAC_RGMII is not set 604# CONFIG_IBM_NEW_EMAC_RGMII is not set
616# CONFIG_IBM_NEW_EMAC_TAH is not set 605# CONFIG_IBM_NEW_EMAC_TAH is not set
617# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 606# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
607# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
608# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
609# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
618# CONFIG_NET_PCI is not set 610# CONFIG_NET_PCI is not set
619# CONFIG_B44 is not set 611# CONFIG_B44 is not set
612# CONFIG_ATL2 is not set
620CONFIG_NETDEV_1000=y 613CONFIG_NETDEV_1000=y
621# CONFIG_ACENIC is not set 614# CONFIG_ACENIC is not set
622# CONFIG_DL2K is not set 615# CONFIG_DL2K is not set
@@ -639,6 +632,7 @@ CONFIG_GIANFAR=y
639# CONFIG_QLA3XXX is not set 632# CONFIG_QLA3XXX is not set
640# CONFIG_ATL1 is not set 633# CONFIG_ATL1 is not set
641# CONFIG_ATL1E is not set 634# CONFIG_ATL1E is not set
635# CONFIG_JME is not set
642# CONFIG_NETDEV_10000 is not set 636# CONFIG_NETDEV_10000 is not set
643# CONFIG_TR is not set 637# CONFIG_TR is not set
644 638
@@ -673,7 +667,7 @@ CONFIG_GIANFAR=y
673# Input device support 667# Input device support
674# 668#
675CONFIG_INPUT=y 669CONFIG_INPUT=y
676# CONFIG_INPUT_FF_MEMLESS is not set 670CONFIG_INPUT_FF_MEMLESS=m
677# CONFIG_INPUT_POLLDEV is not set 671# CONFIG_INPUT_POLLDEV is not set
678 672
679# 673#
@@ -724,14 +718,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
724# CONFIG_SERIAL_UARTLITE is not set 718# CONFIG_SERIAL_UARTLITE is not set
725CONFIG_SERIAL_CORE=y 719CONFIG_SERIAL_CORE=y
726CONFIG_SERIAL_CORE_CONSOLE=y 720CONFIG_SERIAL_CORE_CONSOLE=y
727# CONFIG_SERIAL_PMACZILOG is not set
728# CONFIG_SERIAL_JSM is not set 721# CONFIG_SERIAL_JSM is not set
729# CONFIG_SERIAL_OF_PLATFORM is not set 722# CONFIG_SERIAL_OF_PLATFORM is not set
730CONFIG_UNIX98_PTYS=y 723CONFIG_UNIX98_PTYS=y
731CONFIG_LEGACY_PTYS=y 724CONFIG_LEGACY_PTYS=y
732CONFIG_LEGACY_PTY_COUNT=256 725CONFIG_LEGACY_PTY_COUNT=256
733# CONFIG_BRIQ_PANEL is not set
734# CONFIG_HVC_RTAS is not set
735# CONFIG_IPMI_HANDLER is not set 726# CONFIG_IPMI_HANDLER is not set
736# CONFIG_HW_RANDOM is not set 727# CONFIG_HW_RANDOM is not set
737# CONFIG_NVRAM is not set 728# CONFIG_NVRAM is not set
@@ -770,12 +761,6 @@ CONFIG_I2C_HELPER_AUTO=y
770# CONFIG_I2C_VIAPRO is not set 761# CONFIG_I2C_VIAPRO is not set
771 762
772# 763#
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) 764# I2C system bus drivers (mostly embedded / system-on-chip)
780# 765#
781CONFIG_I2C_MPC=y 766CONFIG_I2C_MPC=y
@@ -812,6 +797,7 @@ CONFIG_I2C_MPC=y
812# CONFIG_SENSORS_PCF8591 is not set 797# CONFIG_SENSORS_PCF8591 is not set
813# CONFIG_SENSORS_MAX6875 is not set 798# CONFIG_SENSORS_MAX6875 is not set
814# CONFIG_SENSORS_TSL2550 is not set 799# CONFIG_SENSORS_TSL2550 is not set
800# CONFIG_MCU_MPC8349EMITX is not set
815# CONFIG_I2C_DEBUG_CORE is not set 801# CONFIG_I2C_DEBUG_CORE is not set
816# CONFIG_I2C_DEBUG_ALGO is not set 802# CONFIG_I2C_DEBUG_ALGO is not set
817# CONFIG_I2C_DEBUG_BUS is not set 803# CONFIG_I2C_DEBUG_BUS is not set
@@ -833,7 +819,6 @@ CONFIG_HWMON=y
833# CONFIG_SENSORS_ADM9240 is not set 819# CONFIG_SENSORS_ADM9240 is not set
834# CONFIG_SENSORS_ADT7470 is not set 820# CONFIG_SENSORS_ADT7470 is not set
835# CONFIG_SENSORS_ADT7473 is not set 821# CONFIG_SENSORS_ADT7473 is not set
836# CONFIG_SENSORS_AMS is not set
837# CONFIG_SENSORS_ATXP1 is not set 822# CONFIG_SENSORS_ATXP1 is not set
838# CONFIG_SENSORS_DS1621 is not set 823# CONFIG_SENSORS_DS1621 is not set
839# CONFIG_SENSORS_I5K_AMB is not set 824# CONFIG_SENSORS_I5K_AMB is not set
@@ -888,7 +873,6 @@ CONFIG_WATCHDOG=y
888# CONFIG_SOFT_WATCHDOG is not set 873# CONFIG_SOFT_WATCHDOG is not set
889# CONFIG_ALIM7101_WDT is not set 874# CONFIG_ALIM7101_WDT is not set
890# CONFIG_8xxx_WDT is not set 875# CONFIG_8xxx_WDT is not set
891# CONFIG_WATCHDOG_RTAS is not set
892 876
893# 877#
894# PCI-based Watchdog Cards 878# PCI-based Watchdog Cards
@@ -914,6 +898,17 @@ CONFIG_SSB_POSSIBLE=y
914# CONFIG_MFD_SM501 is not set 898# CONFIG_MFD_SM501 is not set
915# CONFIG_HTC_PASIC3 is not set 899# CONFIG_HTC_PASIC3 is not set
916# CONFIG_MFD_TMIO is not set 900# CONFIG_MFD_TMIO is not set
901# CONFIG_PMIC_DA903X is not set
902# CONFIG_MFD_WM8400 is not set
903# CONFIG_MFD_WM8350_I2C is not set
904
905#
906# Voltage and Current regulators
907#
908# CONFIG_REGULATOR is not set
909# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
910# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
911# CONFIG_REGULATOR_BQ24022 is not set
917 912
918# 913#
919# Multimedia devices 914# Multimedia devices
@@ -956,9 +951,36 @@ CONFIG_HID=y
956# USB Input Devices 951# USB Input Devices
957# 952#
958CONFIG_USB_HID=y 953CONFIG_USB_HID=y
959# CONFIG_USB_HIDINPUT_POWERBOOK is not set 954# CONFIG_HID_PID is not set
960# CONFIG_HID_FF is not set
961# CONFIG_USB_HIDDEV is not set 955# CONFIG_USB_HIDDEV is not set
956
957#
958# Special HID drivers
959#
960CONFIG_HID_COMPAT=y
961CONFIG_HID_A4TECH=y
962CONFIG_HID_APPLE=y
963CONFIG_HID_BELKIN=y
964CONFIG_HID_BRIGHT=y
965CONFIG_HID_CHERRY=y
966CONFIG_HID_CHICONY=y
967CONFIG_HID_CYPRESS=y
968CONFIG_HID_DELL=y
969CONFIG_HID_EZKEY=y
970CONFIG_HID_GYRATION=y
971CONFIG_HID_LOGITECH=y
972# CONFIG_LOGITECH_FF is not set
973# CONFIG_LOGIRUMBLEPAD2_FF is not set
974CONFIG_HID_MICROSOFT=y
975CONFIG_HID_MONTEREY=y
976CONFIG_HID_PANTHERLORD=y
977# CONFIG_PANTHERLORD_FF is not set
978CONFIG_HID_PETALYNX=y
979CONFIG_HID_SAMSUNG=y
980CONFIG_HID_SONY=y
981CONFIG_HID_SUNPLUS=y
982CONFIG_THRUSTMASTER_FF=m
983CONFIG_ZEROPLUS_FF=m
962CONFIG_USB_SUPPORT=y 984CONFIG_USB_SUPPORT=y
963CONFIG_USB_ARCH_HAS_HCD=y 985CONFIG_USB_ARCH_HAS_HCD=y
964CONFIG_USB_ARCH_HAS_OHCI=y 986CONFIG_USB_ARCH_HAS_OHCI=y
@@ -977,6 +999,8 @@ CONFIG_USB_DEVICE_CLASS=y
977# CONFIG_USB_OTG_WHITELIST is not set 999# CONFIG_USB_OTG_WHITELIST is not set
978# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1000# CONFIG_USB_OTG_BLACKLIST_HUB is not set
979CONFIG_USB_MON=y 1001CONFIG_USB_MON=y
1002# CONFIG_USB_WUSB is not set
1003# CONFIG_USB_WUSB_CBAF is not set
980 1004
981# 1005#
982# USB Host Controller Drivers 1006# USB Host Controller Drivers
@@ -993,6 +1017,8 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
993# CONFIG_USB_UHCI_HCD is not set 1017# CONFIG_USB_UHCI_HCD is not set
994# CONFIG_USB_SL811_HCD is not set 1018# CONFIG_USB_SL811_HCD is not set
995# CONFIG_USB_R8A66597_HCD is not set 1019# CONFIG_USB_R8A66597_HCD is not set
1020# CONFIG_USB_WHCI_HCD is not set
1021# CONFIG_USB_HWA_HCD is not set
996 1022
997# 1023#
998# USB Device Class drivers 1024# USB Device Class drivers
@@ -1000,6 +1026,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1000# CONFIG_USB_ACM is not set 1026# CONFIG_USB_ACM is not set
1001# CONFIG_USB_PRINTER is not set 1027# CONFIG_USB_PRINTER is not set
1002# CONFIG_USB_WDM is not set 1028# CONFIG_USB_WDM is not set
1029# CONFIG_USB_TMC is not set
1003 1030
1004# 1031#
1005# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1032# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1028,6 +1055,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1028# CONFIG_USB_EMI62 is not set 1055# CONFIG_USB_EMI62 is not set
1029# CONFIG_USB_EMI26 is not set 1056# CONFIG_USB_EMI26 is not set
1030# CONFIG_USB_ADUTUX is not set 1057# CONFIG_USB_ADUTUX is not set
1058# CONFIG_USB_SEVSEG is not set
1031# CONFIG_USB_RIO500 is not set 1059# CONFIG_USB_RIO500 is not set
1032# CONFIG_USB_LEGOTOWER is not set 1060# CONFIG_USB_LEGOTOWER is not set
1033# CONFIG_USB_LCD is not set 1061# CONFIG_USB_LCD is not set
@@ -1044,7 +1072,9 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1044# CONFIG_USB_TRANCEVIBRATOR is not set 1072# CONFIG_USB_TRANCEVIBRATOR is not set
1045# CONFIG_USB_IOWARRIOR is not set 1073# CONFIG_USB_IOWARRIOR is not set
1046# CONFIG_USB_ISIGHTFW is not set 1074# CONFIG_USB_ISIGHTFW is not set
1075# CONFIG_USB_VST is not set
1047# CONFIG_USB_GADGET is not set 1076# CONFIG_USB_GADGET is not set
1077# CONFIG_UWB is not set
1048# CONFIG_MMC is not set 1078# CONFIG_MMC is not set
1049# CONFIG_MEMSTICK is not set 1079# CONFIG_MEMSTICK is not set
1050# CONFIG_NEW_LEDS is not set 1080# CONFIG_NEW_LEDS is not set
@@ -1054,6 +1084,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1054# CONFIG_RTC_CLASS is not set 1084# CONFIG_RTC_CLASS is not set
1055# CONFIG_DMADEVICES is not set 1085# CONFIG_DMADEVICES is not set
1056# CONFIG_UIO is not set 1086# CONFIG_UIO is not set
1087# CONFIG_STAGING is not set
1057 1088
1058# 1089#
1059# File systems 1090# File systems
@@ -1065,12 +1096,13 @@ CONFIG_EXT3_FS=y
1065CONFIG_EXT3_FS_XATTR=y 1096CONFIG_EXT3_FS_XATTR=y
1066# CONFIG_EXT3_FS_POSIX_ACL is not set 1097# CONFIG_EXT3_FS_POSIX_ACL is not set
1067# CONFIG_EXT3_FS_SECURITY is not set 1098# CONFIG_EXT3_FS_SECURITY is not set
1068# CONFIG_EXT4DEV_FS is not set 1099# CONFIG_EXT4_FS is not set
1069CONFIG_JBD=y 1100CONFIG_JBD=y
1070CONFIG_FS_MBCACHE=y 1101CONFIG_FS_MBCACHE=y
1071# CONFIG_REISERFS_FS is not set 1102# CONFIG_REISERFS_FS is not set
1072# CONFIG_JFS_FS is not set 1103# CONFIG_JFS_FS is not set
1073# CONFIG_FS_POSIX_ACL is not set 1104# CONFIG_FS_POSIX_ACL is not set
1105CONFIG_FILE_LOCKING=y
1074# CONFIG_XFS_FS is not set 1106# CONFIG_XFS_FS is not set
1075# CONFIG_OCFS2_FS is not set 1107# CONFIG_OCFS2_FS is not set
1076CONFIG_DNOTIFY=y 1108CONFIG_DNOTIFY=y
@@ -1100,6 +1132,7 @@ CONFIG_INOTIFY_USER=y
1100CONFIG_PROC_FS=y 1132CONFIG_PROC_FS=y
1101CONFIG_PROC_KCORE=y 1133CONFIG_PROC_KCORE=y
1102CONFIG_PROC_SYSCTL=y 1134CONFIG_PROC_SYSCTL=y
1135CONFIG_PROC_PAGE_MONITOR=y
1103CONFIG_SYSFS=y 1136CONFIG_SYSFS=y
1104CONFIG_TMPFS=y 1137CONFIG_TMPFS=y
1105# CONFIG_TMPFS_POSIX_ACL is not set 1138# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1137,6 +1170,7 @@ CONFIG_LOCKD_V4=y
1137CONFIG_NFS_COMMON=y 1170CONFIG_NFS_COMMON=y
1138CONFIG_SUNRPC=y 1171CONFIG_SUNRPC=y
1139CONFIG_SUNRPC_GSS=y 1172CONFIG_SUNRPC_GSS=y
1173# CONFIG_SUNRPC_REGISTER_V4 is not set
1140CONFIG_RPCSEC_GSS_KRB5=y 1174CONFIG_RPCSEC_GSS_KRB5=y
1141# CONFIG_RPCSEC_GSS_SPKM3 is not set 1175# CONFIG_RPCSEC_GSS_SPKM3 is not set
1142# CONFIG_SMB_FS is not set 1176# CONFIG_SMB_FS is not set
@@ -1173,7 +1207,6 @@ CONFIG_MSDOS_PARTITION=y
1173# Library routines 1207# Library routines
1174# 1208#
1175CONFIG_BITREVERSE=y 1209CONFIG_BITREVERSE=y
1176# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1177# CONFIG_CRC_CCITT is not set 1210# CONFIG_CRC_CCITT is not set
1178# CONFIG_CRC16 is not set 1211# CONFIG_CRC16 is not set
1179CONFIG_CRC_T10DIF=y 1212CONFIG_CRC_T10DIF=y
@@ -1201,13 +1234,15 @@ CONFIG_FRAME_WARN=1024
1201# CONFIG_DEBUG_KERNEL is not set 1234# CONFIG_DEBUG_KERNEL is not set
1202# CONFIG_DEBUG_BUGVERBOSE is not set 1235# CONFIG_DEBUG_BUGVERBOSE is not set
1203# CONFIG_DEBUG_MEMORY_INIT is not set 1236# CONFIG_DEBUG_MEMORY_INIT is not set
1237# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1204# CONFIG_LATENCYTOP is not set 1238# CONFIG_LATENCYTOP is not set
1205CONFIG_SYSCTL_SYSCALL_CHECK=y 1239CONFIG_SYSCTL_SYSCALL_CHECK=y
1206CONFIG_HAVE_FTRACE=y 1240CONFIG_HAVE_FUNCTION_TRACER=y
1207CONFIG_HAVE_DYNAMIC_FTRACE=y 1241
1208# CONFIG_FTRACE is not set 1242#
1209# CONFIG_SCHED_TRACER is not set 1243# Tracers
1210# CONFIG_CONTEXT_SWITCH_TRACER is not set 1244#
1245# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1211# CONFIG_SAMPLES is not set 1246# CONFIG_SAMPLES is not set
1212CONFIG_HAVE_ARCH_KGDB=y 1247CONFIG_HAVE_ARCH_KGDB=y
1213# CONFIG_IRQSTACKS is not set 1248# CONFIG_IRQSTACKS is not set
@@ -1219,6 +1254,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1219# 1254#
1220# CONFIG_KEYS is not set 1255# CONFIG_KEYS is not set
1221# CONFIG_SECURITY is not set 1256# CONFIG_SECURITY is not set
1257# CONFIG_SECURITYFS is not set
1222# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1258# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1223CONFIG_XOR_BLOCKS=y 1259CONFIG_XOR_BLOCKS=y
1224CONFIG_ASYNC_CORE=y 1260CONFIG_ASYNC_CORE=y
@@ -1229,8 +1265,12 @@ CONFIG_CRYPTO=y
1229# 1265#
1230# Crypto core or helper 1266# Crypto core or helper
1231# 1267#
1268# CONFIG_CRYPTO_FIPS is not set
1232CONFIG_CRYPTO_ALGAPI=y 1269CONFIG_CRYPTO_ALGAPI=y
1270CONFIG_CRYPTO_AEAD=y
1233CONFIG_CRYPTO_BLKCIPHER=y 1271CONFIG_CRYPTO_BLKCIPHER=y
1272CONFIG_CRYPTO_HASH=y
1273CONFIG_CRYPTO_RNG=y
1234CONFIG_CRYPTO_MANAGER=y 1274CONFIG_CRYPTO_MANAGER=y
1235# CONFIG_CRYPTO_GF128MUL is not set 1275# CONFIG_CRYPTO_GF128MUL is not set
1236# CONFIG_CRYPTO_NULL is not set 1276# CONFIG_CRYPTO_NULL is not set
@@ -1303,6 +1343,11 @@ CONFIG_CRYPTO_DES=y
1303# 1343#
1304# CONFIG_CRYPTO_DEFLATE is not set 1344# CONFIG_CRYPTO_DEFLATE is not set
1305# CONFIG_CRYPTO_LZO is not set 1345# CONFIG_CRYPTO_LZO is not set
1346
1347#
1348# Random Number Generation
1349#
1350# CONFIG_CRYPTO_ANSI_CPRNG is not set
1306CONFIG_CRYPTO_HW=y 1351CONFIG_CRYPTO_HW=y
1307# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1352# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1308# CONFIG_CRYPTO_DEV_TALITOS is not set 1353# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
index c359cc2a380e..8d2d7eeab5f5 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:27 2008 4# Sat Nov 8 12:40:02 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -53,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_ARCH_SUSPEND_POSSIBLE=y 56CONFIG_ARCH_SUSPEND_POSSIBLE=y
59# CONFIG_PPC_DCR_NATIVE is not set 57# CONFIG_PPC_DCR_NATIVE is not set
60# CONFIG_PPC_DCR_MMIO is not set 58# CONFIG_PPC_DCR_MMIO is not set
@@ -98,7 +96,6 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 96CONFIG_PRINTK=y
99CONFIG_BUG=y 97CONFIG_BUG=y
100CONFIG_ELF_CORE=y 98CONFIG_ELF_CORE=y
101CONFIG_PCSPKR_PLATFORM=y
102CONFIG_COMPAT_BRK=y 99CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 100CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 101CONFIG_FUTEX=y
@@ -108,7 +105,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
112CONFIG_SLAB=y 111CONFIG_SLAB=y
113# CONFIG_SLUB is not set 112# CONFIG_SLUB is not set
114# CONFIG_SLOB is not set 113# CONFIG_SLOB is not set
@@ -120,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
128CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
129CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -156,6 +151,7 @@ CONFIG_DEFAULT_AS=y
156# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
157CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
158CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
159 155
160# 156#
161# Platform support 157# Platform support
@@ -163,10 +159,10 @@ CONFIG_CLASSIC_RCU=y
163CONFIG_PPC_MULTIPLATFORM=y 159CONFIG_PPC_MULTIPLATFORM=y
164CONFIG_CLASSIC32=y 160CONFIG_CLASSIC32=y
165# CONFIG_PPC_CHRP is not set 161# CONFIG_PPC_CHRP is not set
166# CONFIG_PPC_PMAC is not set
167# CONFIG_MPC5121_ADS is not set 162# CONFIG_MPC5121_ADS is not set
168# CONFIG_MPC5121_GENERIC is not set 163# CONFIG_MPC5121_GENERIC is not set
169# CONFIG_PPC_MPC52xx is not set 164# CONFIG_PPC_MPC52xx is not set
165# CONFIG_PPC_PMAC is not set
170# CONFIG_PPC_CELL is not set 166# CONFIG_PPC_CELL is not set
171# CONFIG_PPC_CELL_NATIVE is not set 167# CONFIG_PPC_CELL_NATIVE is not set
172# CONFIG_PPC_82xx is not set 168# CONFIG_PPC_82xx is not set
@@ -186,30 +182,26 @@ CONFIG_SBC834x=y
186CONFIG_PPC_MPC834x=y 182CONFIG_PPC_MPC834x=y
187# CONFIG_PPC_86xx is not set 183# CONFIG_PPC_86xx is not set
188# CONFIG_EMBEDDED6xx is not set 184# CONFIG_EMBEDDED6xx is not set
189CONFIG_PPC_NATIVE=y
190# CONFIG_UDBG_RTAS_CONSOLE is not set
191CONFIG_IPIC=y 185CONFIG_IPIC=y
192CONFIG_MPIC=y 186# CONFIG_MPIC is not set
193# CONFIG_MPIC_WEIRD is not set 187# CONFIG_MPIC_WEIRD is not set
194CONFIG_PPC_I8259=y 188# CONFIG_PPC_I8259 is not set
195CONFIG_PPC_RTAS=y 189# CONFIG_PPC_RTAS is not set
196# CONFIG_RTAS_ERROR_LOGGING is not set
197CONFIG_RTAS_PROC=y
198# CONFIG_MMIO_NVRAM is not set 190# CONFIG_MMIO_NVRAM is not set
199CONFIG_PPC_MPC106=y 191# CONFIG_PPC_MPC106 is not set
200# CONFIG_PPC_970_NAP is not set 192# CONFIG_PPC_970_NAP is not set
201# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
202# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
203# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
204# CONFIG_PPC601_SYNC_FIX is not set
205# CONFIG_TAU is not set 196# CONFIG_TAU is not set
197# CONFIG_QUICC_ENGINE is not set
206# CONFIG_FSL_ULI1575 is not set 198# CONFIG_FSL_ULI1575 is not set
199# CONFIG_MPC8xxx_GPIO is not set
207 200
208# 201#
209# Kernel options 202# Kernel options
210# 203#
211# CONFIG_HIGHMEM is not set 204# CONFIG_HIGHMEM is not set
212# CONFIG_TICK_ONESHOT is not set
213# CONFIG_NO_HZ is not set 205# CONFIG_NO_HZ is not set
214# CONFIG_HIGH_RES_TIMERS is not set 206# CONFIG_HIGH_RES_TIMERS is not set
215CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 207CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -223,6 +215,8 @@ CONFIG_PREEMPT_NONE=y
223# CONFIG_PREEMPT_VOLUNTARY is not set 215# CONFIG_PREEMPT_VOLUNTARY is not set
224# CONFIG_PREEMPT is not set 216# CONFIG_PREEMPT is not set
225CONFIG_BINFMT_ELF=y 217CONFIG_BINFMT_ELF=y
218# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
219# CONFIG_HAVE_AOUT is not set
226# CONFIG_BINFMT_MISC is not set 220# CONFIG_BINFMT_MISC is not set
227# CONFIG_IOMMU_HELPER is not set 221# CONFIG_IOMMU_HELPER is not set
228CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 222CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -237,15 +231,15 @@ CONFIG_FLATMEM_MANUAL=y
237# CONFIG_SPARSEMEM_MANUAL is not set 231# CONFIG_SPARSEMEM_MANUAL is not set
238CONFIG_FLATMEM=y 232CONFIG_FLATMEM=y
239CONFIG_FLAT_NODE_MEM_MAP=y 233CONFIG_FLAT_NODE_MEM_MAP=y
240# CONFIG_SPARSEMEM_STATIC is not set
241# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
242CONFIG_PAGEFLAGS_EXTENDED=y 234CONFIG_PAGEFLAGS_EXTENDED=y
243CONFIG_SPLIT_PTLOCK_CPUS=4 235CONFIG_SPLIT_PTLOCK_CPUS=4
244CONFIG_MIGRATION=y 236CONFIG_MIGRATION=y
245# CONFIG_RESOURCES_64BIT is not set 237# CONFIG_RESOURCES_64BIT is not set
238# CONFIG_PHYS_ADDR_T_64BIT is not set
246CONFIG_ZONE_DMA_FLAG=1 239CONFIG_ZONE_DMA_FLAG=1
247CONFIG_BOUNCE=y 240CONFIG_BOUNCE=y
248CONFIG_VIRT_TO_BUS=y 241CONFIG_VIRT_TO_BUS=y
242CONFIG_UNEVICTABLE_LRU=y
249CONFIG_FORCE_MAX_ZONEORDER=11 243CONFIG_FORCE_MAX_ZONEORDER=11
250CONFIG_PROC_DEVICETREE=y 244CONFIG_PROC_DEVICETREE=y
251# CONFIG_CMDLINE_BOOL is not set 245# CONFIG_CMDLINE_BOOL is not set
@@ -257,7 +251,6 @@ CONFIG_ISA_DMA_API=y
257# 251#
258# Bus options 252# Bus options
259# 253#
260# CONFIG_ISA is not set
261CONFIG_ZONE_DMA=y 254CONFIG_ZONE_DMA=y
262CONFIG_GENERIC_ISA_DMA=y 255CONFIG_GENERIC_ISA_DMA=y
263CONFIG_PPC_INDIRECT_PCI=y 256CONFIG_PPC_INDIRECT_PCI=y
@@ -270,7 +263,7 @@ CONFIG_PCI_SYSCALL=y
270# CONFIG_PCIEPORTBUS is not set 263# CONFIG_PCIEPORTBUS is not set
271CONFIG_ARCH_SUPPORTS_MSI=y 264CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 265# CONFIG_PCI_MSI is not set
273CONFIG_PCI_LEGACY=y 266# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCCARD is not set 267# CONFIG_PCCARD is not set
275# CONFIG_HOTPLUG_PCI is not set 268# CONFIG_HOTPLUG_PCI is not set
276# CONFIG_HAS_RAPIDIO is not set 269# CONFIG_HAS_RAPIDIO is not set
@@ -338,6 +331,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_TIPC is not set 331# CONFIG_TIPC is not set
339# CONFIG_ATM is not set 332# CONFIG_ATM is not set
340# CONFIG_BRIDGE is not set 333# CONFIG_BRIDGE is not set
334# CONFIG_NET_DSA is not set
341# CONFIG_VLAN_8021Q is not set 335# CONFIG_VLAN_8021Q is not set
342# CONFIG_DECNET is not set 336# CONFIG_DECNET is not set
343# CONFIG_LLC2 is not set 337# CONFIG_LLC2 is not set
@@ -358,11 +352,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
358# CONFIG_IRDA is not set 352# CONFIG_IRDA is not set
359# CONFIG_BT is not set 353# CONFIG_BT is not set
360# CONFIG_AF_RXRPC is not set 354# CONFIG_AF_RXRPC is not set
361 355# CONFIG_PHONET is not set
362# 356CONFIG_WIRELESS=y
363# Wireless
364#
365# CONFIG_CFG80211 is not set 357# CONFIG_CFG80211 is not set
358CONFIG_WIRELESS_OLD_REGULATORY=y
366# CONFIG_WIRELESS_EXT is not set 359# CONFIG_WIRELESS_EXT is not set
367# CONFIG_MAC80211 is not set 360# CONFIG_MAC80211 is not set
368# CONFIG_IEEE80211 is not set 361# CONFIG_IEEE80211 is not set
@@ -388,7 +381,6 @@ CONFIG_OF_I2C=y
388# CONFIG_PARPORT is not set 381# CONFIG_PARPORT is not set
389CONFIG_BLK_DEV=y 382CONFIG_BLK_DEV=y
390# CONFIG_BLK_DEV_FD is not set 383# CONFIG_BLK_DEV_FD is not set
391# CONFIG_MAC_FLOPPY is not set
392# CONFIG_BLK_CPQ_DA is not set 384# CONFIG_BLK_CPQ_DA is not set
393# CONFIG_BLK_CPQ_CISS_DA is not set 385# CONFIG_BLK_CPQ_CISS_DA is not set
394# CONFIG_BLK_DEV_DAC960 is not set 386# CONFIG_BLK_DEV_DAC960 is not set
@@ -464,8 +456,6 @@ CONFIG_BROADCOM_PHY=y
464# CONFIG_MDIO_BITBANG is not set 456# CONFIG_MDIO_BITBANG is not set
465CONFIG_NET_ETHERNET=y 457CONFIG_NET_ETHERNET=y
466CONFIG_MII=y 458CONFIG_MII=y
467# CONFIG_MACE is not set
468# CONFIG_BMAC is not set
469# CONFIG_HAPPYMEAL is not set 459# CONFIG_HAPPYMEAL is not set
470# CONFIG_SUNGEM is not set 460# CONFIG_SUNGEM is not set
471# CONFIG_CASSINI is not set 461# CONFIG_CASSINI is not set
@@ -476,8 +466,12 @@ CONFIG_MII=y
476# CONFIG_IBM_NEW_EMAC_RGMII is not set 466# CONFIG_IBM_NEW_EMAC_RGMII is not set
477# CONFIG_IBM_NEW_EMAC_TAH is not set 467# CONFIG_IBM_NEW_EMAC_TAH is not set
478# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 468# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
469# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
470# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
471# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
479# CONFIG_NET_PCI is not set 472# CONFIG_NET_PCI is not set
480# CONFIG_B44 is not set 473# CONFIG_B44 is not set
474# CONFIG_ATL2 is not set
481CONFIG_NETDEV_1000=y 475CONFIG_NETDEV_1000=y
482# CONFIG_ACENIC is not set 476# CONFIG_ACENIC is not set
483# CONFIG_DL2K is not set 477# CONFIG_DL2K is not set
@@ -500,6 +494,7 @@ CONFIG_GIANFAR=y
500# CONFIG_QLA3XXX is not set 494# CONFIG_QLA3XXX is not set
501# CONFIG_ATL1 is not set 495# CONFIG_ATL1 is not set
502# CONFIG_ATL1E is not set 496# CONFIG_ATL1E is not set
497# CONFIG_JME is not set
503# CONFIG_NETDEV_10000 is not set 498# CONFIG_NETDEV_10000 is not set
504# CONFIG_TR is not set 499# CONFIG_TR is not set
505 500
@@ -575,14 +570,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
575# CONFIG_SERIAL_UARTLITE is not set 570# CONFIG_SERIAL_UARTLITE is not set
576CONFIG_SERIAL_CORE=y 571CONFIG_SERIAL_CORE=y
577CONFIG_SERIAL_CORE_CONSOLE=y 572CONFIG_SERIAL_CORE_CONSOLE=y
578# CONFIG_SERIAL_PMACZILOG is not set
579# CONFIG_SERIAL_JSM is not set 573# CONFIG_SERIAL_JSM is not set
580# CONFIG_SERIAL_OF_PLATFORM is not set 574# CONFIG_SERIAL_OF_PLATFORM is not set
581CONFIG_UNIX98_PTYS=y 575CONFIG_UNIX98_PTYS=y
582CONFIG_LEGACY_PTYS=y 576CONFIG_LEGACY_PTYS=y
583CONFIG_LEGACY_PTY_COUNT=256 577CONFIG_LEGACY_PTY_COUNT=256
584# CONFIG_BRIQ_PANEL is not set
585# CONFIG_HVC_RTAS is not set
586# CONFIG_IPMI_HANDLER is not set 578# CONFIG_IPMI_HANDLER is not set
587# CONFIG_HW_RANDOM is not set 579# CONFIG_HW_RANDOM is not set
588# CONFIG_NVRAM is not set 580# CONFIG_NVRAM is not set
@@ -621,12 +613,6 @@ CONFIG_I2C_HELPER_AUTO=y
621# CONFIG_I2C_VIAPRO is not set 613# CONFIG_I2C_VIAPRO is not set
622 614
623# 615#
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) 616# I2C system bus drivers (mostly embedded / system-on-chip)
631# 617#
632CONFIG_I2C_MPC=y 618CONFIG_I2C_MPC=y
@@ -662,6 +648,7 @@ CONFIG_I2C_MPC=y
662# CONFIG_SENSORS_PCF8591 is not set 648# CONFIG_SENSORS_PCF8591 is not set
663# CONFIG_SENSORS_MAX6875 is not set 649# CONFIG_SENSORS_MAX6875 is not set
664# CONFIG_SENSORS_TSL2550 is not set 650# CONFIG_SENSORS_TSL2550 is not set
651# CONFIG_MCU_MPC8349EMITX is not set
665# CONFIG_I2C_DEBUG_CORE is not set 652# CONFIG_I2C_DEBUG_CORE is not set
666# CONFIG_I2C_DEBUG_ALGO is not set 653# CONFIG_I2C_DEBUG_ALGO is not set
667# CONFIG_I2C_DEBUG_BUS is not set 654# CONFIG_I2C_DEBUG_BUS is not set
@@ -683,7 +670,6 @@ CONFIG_HWMON=y
683# CONFIG_SENSORS_ADM9240 is not set 670# CONFIG_SENSORS_ADM9240 is not set
684# CONFIG_SENSORS_ADT7470 is not set 671# CONFIG_SENSORS_ADT7470 is not set
685# CONFIG_SENSORS_ADT7473 is not set 672# CONFIG_SENSORS_ADT7473 is not set
686# CONFIG_SENSORS_AMS is not set
687# CONFIG_SENSORS_ATXP1 is not set 673# CONFIG_SENSORS_ATXP1 is not set
688# CONFIG_SENSORS_DS1621 is not set 674# CONFIG_SENSORS_DS1621 is not set
689# CONFIG_SENSORS_I5K_AMB is not set 675# CONFIG_SENSORS_I5K_AMB is not set
@@ -738,7 +724,6 @@ CONFIG_WATCHDOG=y
738# CONFIG_SOFT_WATCHDOG is not set 724# CONFIG_SOFT_WATCHDOG is not set
739# CONFIG_ALIM7101_WDT is not set 725# CONFIG_ALIM7101_WDT is not set
740# CONFIG_8xxx_WDT is not set 726# CONFIG_8xxx_WDT is not set
741# CONFIG_WATCHDOG_RTAS is not set
742 727
743# 728#
744# PCI-based Watchdog Cards 729# PCI-based Watchdog Cards
@@ -759,6 +744,17 @@ CONFIG_SSB_POSSIBLE=y
759# CONFIG_MFD_SM501 is not set 744# CONFIG_MFD_SM501 is not set
760# CONFIG_HTC_PASIC3 is not set 745# CONFIG_HTC_PASIC3 is not set
761# CONFIG_MFD_TMIO is not set 746# CONFIG_MFD_TMIO is not set
747# CONFIG_PMIC_DA903X is not set
748# CONFIG_MFD_WM8400 is not set
749# CONFIG_MFD_WM8350_I2C is not set
750
751#
752# Voltage and Current regulators
753#
754# CONFIG_REGULATOR is not set
755# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
756# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
757# CONFIG_REGULATOR_BQ24022 is not set
762 758
763# 759#
764# Multimedia devices 760# Multimedia devices
@@ -795,7 +791,14 @@ CONFIG_HID_SUPPORT=y
795CONFIG_HID=y 791CONFIG_HID=y
796# CONFIG_HID_DEBUG is not set 792# CONFIG_HID_DEBUG is not set
797# CONFIG_HIDRAW is not set 793# CONFIG_HIDRAW is not set
794# CONFIG_HID_PID is not set
795
796#
797# Special HID drivers
798#
799CONFIG_HID_COMPAT=y
798# CONFIG_USB_SUPPORT is not set 800# CONFIG_USB_SUPPORT is not set
801# CONFIG_UWB is not set
799# CONFIG_MMC is not set 802# CONFIG_MMC is not set
800# CONFIG_MEMSTICK is not set 803# CONFIG_MEMSTICK is not set
801# CONFIG_NEW_LEDS is not set 804# CONFIG_NEW_LEDS is not set
@@ -805,16 +808,18 @@ CONFIG_HID=y
805# CONFIG_RTC_CLASS is not set 808# CONFIG_RTC_CLASS is not set
806# CONFIG_DMADEVICES is not set 809# CONFIG_DMADEVICES is not set
807# CONFIG_UIO is not set 810# CONFIG_UIO is not set
811# CONFIG_STAGING is not set
808 812
809# 813#
810# File systems 814# File systems
811# 815#
812# CONFIG_EXT2_FS is not set 816# CONFIG_EXT2_FS is not set
813# CONFIG_EXT3_FS is not set 817# CONFIG_EXT3_FS is not set
814# CONFIG_EXT4DEV_FS is not set 818# CONFIG_EXT4_FS is not set
815# CONFIG_REISERFS_FS is not set 819# CONFIG_REISERFS_FS is not set
816# CONFIG_JFS_FS is not set 820# CONFIG_JFS_FS is not set
817# CONFIG_FS_POSIX_ACL is not set 821# CONFIG_FS_POSIX_ACL is not set
822CONFIG_FILE_LOCKING=y
818# CONFIG_XFS_FS is not set 823# CONFIG_XFS_FS is not set
819# CONFIG_OCFS2_FS is not set 824# CONFIG_OCFS2_FS is not set
820CONFIG_DNOTIFY=y 825CONFIG_DNOTIFY=y
@@ -844,6 +849,7 @@ CONFIG_INOTIFY_USER=y
844CONFIG_PROC_FS=y 849CONFIG_PROC_FS=y
845CONFIG_PROC_KCORE=y 850CONFIG_PROC_KCORE=y
846CONFIG_PROC_SYSCTL=y 851CONFIG_PROC_SYSCTL=y
852CONFIG_PROC_PAGE_MONITOR=y
847CONFIG_SYSFS=y 853CONFIG_SYSFS=y
848CONFIG_TMPFS=y 854CONFIG_TMPFS=y
849# CONFIG_TMPFS_POSIX_ACL is not set 855# CONFIG_TMPFS_POSIX_ACL is not set
@@ -881,6 +887,7 @@ CONFIG_LOCKD_V4=y
881CONFIG_NFS_COMMON=y 887CONFIG_NFS_COMMON=y
882CONFIG_SUNRPC=y 888CONFIG_SUNRPC=y
883CONFIG_SUNRPC_GSS=y 889CONFIG_SUNRPC_GSS=y
890# CONFIG_SUNRPC_REGISTER_V4 is not set
884CONFIG_RPCSEC_GSS_KRB5=y 891CONFIG_RPCSEC_GSS_KRB5=y
885# CONFIG_RPCSEC_GSS_SPKM3 is not set 892# CONFIG_RPCSEC_GSS_SPKM3 is not set
886# CONFIG_SMB_FS is not set 893# CONFIG_SMB_FS is not set
@@ -893,7 +900,6 @@ CONFIG_RPCSEC_GSS_KRB5=y
893# Partition Types 900# Partition Types
894# 901#
895# CONFIG_PARTITION_ADVANCED is not set 902# CONFIG_PARTITION_ADVANCED is not set
896CONFIG_MAC_PARTITION=y
897CONFIG_MSDOS_PARTITION=y 903CONFIG_MSDOS_PARTITION=y
898# CONFIG_NLS is not set 904# CONFIG_NLS is not set
899# CONFIG_DLM is not set 905# CONFIG_DLM is not set
@@ -902,7 +908,6 @@ CONFIG_MSDOS_PARTITION=y
902# Library routines 908# Library routines
903# 909#
904CONFIG_BITREVERSE=y 910CONFIG_BITREVERSE=y
905# CONFIG_GENERIC_FIND_FIRST_BIT is not set
906# CONFIG_CRC_CCITT is not set 911# CONFIG_CRC_CCITT is not set
907# CONFIG_CRC16 is not set 912# CONFIG_CRC16 is not set
908# CONFIG_CRC_T10DIF is not set 913# CONFIG_CRC_T10DIF is not set
@@ -930,13 +935,15 @@ CONFIG_FRAME_WARN=1024
930# CONFIG_DEBUG_KERNEL is not set 935# CONFIG_DEBUG_KERNEL is not set
931# CONFIG_DEBUG_BUGVERBOSE is not set 936# CONFIG_DEBUG_BUGVERBOSE is not set
932# CONFIG_DEBUG_MEMORY_INIT is not set 937# CONFIG_DEBUG_MEMORY_INIT is not set
938# CONFIG_RCU_CPU_STALL_DETECTOR is not set
933# CONFIG_LATENCYTOP is not set 939# CONFIG_LATENCYTOP is not set
934CONFIG_SYSCTL_SYSCALL_CHECK=y 940CONFIG_SYSCTL_SYSCALL_CHECK=y
935CONFIG_HAVE_FTRACE=y 941CONFIG_HAVE_FUNCTION_TRACER=y
936CONFIG_HAVE_DYNAMIC_FTRACE=y 942
937# CONFIG_FTRACE is not set 943#
938# CONFIG_SCHED_TRACER is not set 944# Tracers
939# CONFIG_CONTEXT_SWITCH_TRACER is not set 945#
946# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
940# CONFIG_SAMPLES is not set 947# CONFIG_SAMPLES is not set
941CONFIG_HAVE_ARCH_KGDB=y 948CONFIG_HAVE_ARCH_KGDB=y
942# CONFIG_IRQSTACKS is not set 949# CONFIG_IRQSTACKS is not set
@@ -948,14 +955,19 @@ CONFIG_HAVE_ARCH_KGDB=y
948# 955#
949# CONFIG_KEYS is not set 956# CONFIG_KEYS is not set
950# CONFIG_SECURITY is not set 957# CONFIG_SECURITY is not set
958# CONFIG_SECURITYFS is not set
951# CONFIG_SECURITY_FILE_CAPABILITIES is not set 959# CONFIG_SECURITY_FILE_CAPABILITIES is not set
952CONFIG_CRYPTO=y 960CONFIG_CRYPTO=y
953 961
954# 962#
955# Crypto core or helper 963# Crypto core or helper
956# 964#
965# CONFIG_CRYPTO_FIPS is not set
957CONFIG_CRYPTO_ALGAPI=y 966CONFIG_CRYPTO_ALGAPI=y
967CONFIG_CRYPTO_AEAD=y
958CONFIG_CRYPTO_BLKCIPHER=y 968CONFIG_CRYPTO_BLKCIPHER=y
969CONFIG_CRYPTO_HASH=y
970CONFIG_CRYPTO_RNG=y
959CONFIG_CRYPTO_MANAGER=y 971CONFIG_CRYPTO_MANAGER=y
960# CONFIG_CRYPTO_GF128MUL is not set 972# CONFIG_CRYPTO_GF128MUL is not set
961# CONFIG_CRYPTO_NULL is not set 973# CONFIG_CRYPTO_NULL is not set
@@ -1028,6 +1040,11 @@ CONFIG_CRYPTO_DES=y
1028# 1040#
1029# CONFIG_CRYPTO_DEFLATE is not set 1041# CONFIG_CRYPTO_DEFLATE is not set
1030# CONFIG_CRYPTO_LZO is not set 1042# CONFIG_CRYPTO_LZO is not set
1043
1044#
1045# Random Number Generation
1046#
1047# CONFIG_CRYPTO_ANSI_CPRNG is not set
1031# CONFIG_CRYPTO_HW is not set 1048# CONFIG_CRYPTO_HW is not set
1032# CONFIG_PPC_CLOCK is not set 1049# CONFIG_PPC_CLOCK is not set
1033# CONFIG_VIRTUALIZATION is not set 1050# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
index 8bb89f26a20d..1af7b9e37b61 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:28 2008 4# Sat Nov 8 12:40:03 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -104,6 +104,7 @@ CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 104CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 105CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 106CONFIG_SHMEM=y
107CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 108CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_SLUB_DEBUG=y 109CONFIG_SLUB_DEBUG=y
109# CONFIG_SLAB is not set 110# CONFIG_SLAB is not set
@@ -117,10 +118,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y 120CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122CONFIG_HAVE_CLK=y 121CONFIG_HAVE_CLK=y
123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -147,6 +145,7 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_NOOP is not set 145# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 146CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y 147CONFIG_CLASSIC_RCU=y
148# CONFIG_FREEZER is not set
150 149
151# 150#
152# Platform support 151# Platform support
@@ -181,15 +180,16 @@ CONFIG_MPIC=y
181# CONFIG_PPC_INDIRECT_IO is not set 180# CONFIG_PPC_INDIRECT_IO is not set
182# CONFIG_GENERIC_IOMAP is not set 181# CONFIG_GENERIC_IOMAP is not set
183# CONFIG_CPU_FREQ is not set 182# CONFIG_CPU_FREQ is not set
183# CONFIG_QUICC_ENGINE is not set
184CONFIG_CPM2=y 184CONFIG_CPM2=y
185# CONFIG_FSL_ULI1575 is not set 185# CONFIG_FSL_ULI1575 is not set
186CONFIG_CPM=y 186CONFIG_CPM=y
187# CONFIG_MPC8xxx_GPIO is not set
187 188
188# 189#
189# Kernel options 190# Kernel options
190# 191#
191CONFIG_HIGHMEM=y 192CONFIG_HIGHMEM=y
192# CONFIG_TICK_ONESHOT is not set
193# CONFIG_NO_HZ is not set 193# CONFIG_NO_HZ is not set
194# CONFIG_HIGH_RES_TIMERS is not set 194# CONFIG_HIGH_RES_TIMERS is not set
195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -203,6 +203,8 @@ CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
205CONFIG_BINFMT_ELF=y 205CONFIG_BINFMT_ELF=y
206# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
207# CONFIG_HAVE_AOUT is not set
206CONFIG_BINFMT_MISC=y 208CONFIG_BINFMT_MISC=y
207CONFIG_MATH_EMULATION=y 209CONFIG_MATH_EMULATION=y
208# CONFIG_IOMMU_HELPER is not set 210# CONFIG_IOMMU_HELPER is not set
@@ -217,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y
217# CONFIG_SPARSEMEM_MANUAL is not set 219# CONFIG_SPARSEMEM_MANUAL is not set
218CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 224CONFIG_MIGRATION=y
225# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
226# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
230# CONFIG_PROC_DEVICETREE is not set 232# CONFIG_PROC_DEVICETREE is not set
231# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
@@ -311,6 +313,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
311# CONFIG_TIPC is not set 313# CONFIG_TIPC is not set
312# CONFIG_ATM is not set 314# CONFIG_ATM is not set
313# CONFIG_BRIDGE is not set 315# CONFIG_BRIDGE is not set
316# CONFIG_NET_DSA is not set
314# CONFIG_VLAN_8021Q is not set 317# CONFIG_VLAN_8021Q is not set
315# CONFIG_DECNET is not set 318# CONFIG_DECNET is not set
316# CONFIG_LLC2 is not set 319# CONFIG_LLC2 is not set
@@ -331,11 +334,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_IRDA is not set 334# CONFIG_IRDA is not set
332# CONFIG_BT is not set 335# CONFIG_BT is not set
333# CONFIG_AF_RXRPC is not set 336# CONFIG_AF_RXRPC is not set
334 337# CONFIG_PHONET is not set
335# 338CONFIG_WIRELESS=y
336# Wireless
337#
338# CONFIG_CFG80211 is not set 339# CONFIG_CFG80211 is not set
340CONFIG_WIRELESS_OLD_REGULATORY=y
339# CONFIG_WIRELESS_EXT is not set 341# CONFIG_WIRELESS_EXT is not set
340# CONFIG_MAC80211 is not set 342# CONFIG_MAC80211 is not set
341# CONFIG_IEEE80211 is not set 343# CONFIG_IEEE80211 is not set
@@ -454,17 +456,16 @@ CONFIG_MISC_DEVICES=y
454# CONFIG_ENCLOSURE_SERVICES is not set 456# CONFIG_ENCLOSURE_SERVICES is not set
455CONFIG_HAVE_IDE=y 457CONFIG_HAVE_IDE=y
456CONFIG_IDE=y 458CONFIG_IDE=y
457CONFIG_BLK_DEV_IDE=y
458 459
459# 460#
460# Please see Documentation/ide/ide.txt for help/info on IDE drives 461# Please see Documentation/ide/ide.txt for help/info on IDE drives
461# 462#
462# CONFIG_BLK_DEV_IDE_SATA is not set 463# CONFIG_BLK_DEV_IDE_SATA is not set
463# CONFIG_BLK_DEV_IDEDISK is not set 464CONFIG_IDE_GD=y
464# CONFIG_IDEDISK_MULTI_MODE is not set 465CONFIG_IDE_GD_ATA=y
466# CONFIG_IDE_GD_ATAPI is not set
465# CONFIG_BLK_DEV_IDECD is not set 467# CONFIG_BLK_DEV_IDECD is not set
466# CONFIG_BLK_DEV_IDETAPE is not set 468# CONFIG_BLK_DEV_IDETAPE is not set
467# CONFIG_BLK_DEV_IDEFLOPPY is not set
468# CONFIG_IDE_TASK_IOCTL is not set 469# CONFIG_IDE_TASK_IOCTL is not set
469CONFIG_IDE_PROC_FS=y 470CONFIG_IDE_PROC_FS=y
470 471
@@ -515,6 +516,9 @@ CONFIG_MII=y
515# CONFIG_IBM_NEW_EMAC_RGMII is not set 516# CONFIG_IBM_NEW_EMAC_RGMII is not set
516# CONFIG_IBM_NEW_EMAC_TAH is not set 517# CONFIG_IBM_NEW_EMAC_TAH is not set
517# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 518# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
519# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
520# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
521# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
518# CONFIG_B44 is not set 522# CONFIG_B44 is not set
519CONFIG_FS_ENET=y 523CONFIG_FS_ENET=y
520# CONFIG_FS_ENET_HAS_SCC is not set 524# CONFIG_FS_ENET_HAS_SCC is not set
@@ -590,12 +594,6 @@ CONFIG_SERIAL_CORE=y
590CONFIG_SERIAL_CORE_CONSOLE=y 594CONFIG_SERIAL_CORE_CONSOLE=y
591CONFIG_SERIAL_CPM=y 595CONFIG_SERIAL_CPM=y
592CONFIG_SERIAL_CPM_CONSOLE=y 596CONFIG_SERIAL_CPM_CONSOLE=y
593CONFIG_SERIAL_CPM_SCC1=y
594# CONFIG_SERIAL_CPM_SCC2 is not set
595# CONFIG_SERIAL_CPM_SCC3 is not set
596# CONFIG_SERIAL_CPM_SCC4 is not set
597# CONFIG_SERIAL_CPM_SMC1 is not set
598# CONFIG_SERIAL_CPM_SMC2 is not set
599CONFIG_UNIX98_PTYS=y 597CONFIG_UNIX98_PTYS=y
600CONFIG_LEGACY_PTYS=y 598CONFIG_LEGACY_PTYS=y
601CONFIG_LEGACY_PTY_COUNT=256 599CONFIG_LEGACY_PTY_COUNT=256
@@ -660,6 +658,14 @@ CONFIG_SSB_POSSIBLE=y
660# CONFIG_MFD_TMIO is not set 658# CONFIG_MFD_TMIO is not set
661 659
662# 660#
661# Voltage and Current regulators
662#
663# CONFIG_REGULATOR is not set
664# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
665# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
666# CONFIG_REGULATOR_BQ24022 is not set
667
668#
663# Multimedia devices 669# Multimedia devices
664# 670#
665 671
@@ -692,6 +698,12 @@ CONFIG_HID_SUPPORT=y
692CONFIG_HID=y 698CONFIG_HID=y
693# CONFIG_HID_DEBUG is not set 699# CONFIG_HID_DEBUG is not set
694# CONFIG_HIDRAW is not set 700# CONFIG_HIDRAW is not set
701# CONFIG_HID_PID is not set
702
703#
704# Special HID drivers
705#
706CONFIG_HID_COMPAT=y
695CONFIG_USB_SUPPORT=y 707CONFIG_USB_SUPPORT=y
696# CONFIG_USB_ARCH_HAS_HCD is not set 708# CONFIG_USB_ARCH_HAS_HCD is not set
697# CONFIG_USB_ARCH_HAS_OHCI is not set 709# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -715,6 +727,7 @@ CONFIG_USB_SUPPORT=y
715# CONFIG_RTC_CLASS is not set 727# CONFIG_RTC_CLASS is not set
716# CONFIG_DMADEVICES is not set 728# CONFIG_DMADEVICES is not set
717# CONFIG_UIO is not set 729# CONFIG_UIO is not set
730# CONFIG_STAGING is not set
718 731
719# 732#
720# File systems 733# File systems
@@ -726,13 +739,14 @@ CONFIG_EXT3_FS=y
726CONFIG_EXT3_FS_XATTR=y 739CONFIG_EXT3_FS_XATTR=y
727# CONFIG_EXT3_FS_POSIX_ACL is not set 740# CONFIG_EXT3_FS_POSIX_ACL is not set
728# CONFIG_EXT3_FS_SECURITY is not set 741# CONFIG_EXT3_FS_SECURITY is not set
729# CONFIG_EXT4DEV_FS is not set 742# CONFIG_EXT4_FS is not set
730CONFIG_JBD=y 743CONFIG_JBD=y
731# CONFIG_JBD_DEBUG is not set 744# CONFIG_JBD_DEBUG is not set
732CONFIG_FS_MBCACHE=y 745CONFIG_FS_MBCACHE=y
733# CONFIG_REISERFS_FS is not set 746# CONFIG_REISERFS_FS is not set
734# CONFIG_JFS_FS is not set 747# CONFIG_JFS_FS is not set
735# CONFIG_FS_POSIX_ACL is not set 748# CONFIG_FS_POSIX_ACL is not set
749CONFIG_FILE_LOCKING=y
736# CONFIG_XFS_FS is not set 750# CONFIG_XFS_FS is not set
737# CONFIG_OCFS2_FS is not set 751# CONFIG_OCFS2_FS is not set
738CONFIG_DNOTIFY=y 752CONFIG_DNOTIFY=y
@@ -762,6 +776,7 @@ CONFIG_INOTIFY_USER=y
762CONFIG_PROC_FS=y 776CONFIG_PROC_FS=y
763CONFIG_PROC_KCORE=y 777CONFIG_PROC_KCORE=y
764CONFIG_PROC_SYSCTL=y 778CONFIG_PROC_SYSCTL=y
779CONFIG_PROC_PAGE_MONITOR=y
765CONFIG_SYSFS=y 780CONFIG_SYSFS=y
766CONFIG_TMPFS=y 781CONFIG_TMPFS=y
767# CONFIG_TMPFS_POSIX_ACL is not set 782# CONFIG_TMPFS_POSIX_ACL is not set
@@ -797,6 +812,7 @@ CONFIG_ROOT_NFS=y
797CONFIG_LOCKD=y 812CONFIG_LOCKD=y
798CONFIG_NFS_COMMON=y 813CONFIG_NFS_COMMON=y
799CONFIG_SUNRPC=y 814CONFIG_SUNRPC=y
815# CONFIG_SUNRPC_REGISTER_V4 is not set
800# CONFIG_RPCSEC_GSS_KRB5 is not set 816# CONFIG_RPCSEC_GSS_KRB5 is not set
801# CONFIG_RPCSEC_GSS_SPKM3 is not set 817# CONFIG_RPCSEC_GSS_SPKM3 is not set
802# CONFIG_SMB_FS is not set 818# CONFIG_SMB_FS is not set
@@ -829,7 +845,6 @@ CONFIG_PARTITION_ADVANCED=y
829# Library routines 845# Library routines
830# 846#
831CONFIG_BITREVERSE=y 847CONFIG_BITREVERSE=y
832# CONFIG_GENERIC_FIND_FIRST_BIT is not set
833# CONFIG_CRC_CCITT is not set 848# CONFIG_CRC_CCITT is not set
834# CONFIG_CRC16 is not set 849# CONFIG_CRC16 is not set
835# CONFIG_CRC_T10DIF is not set 850# CONFIG_CRC_T10DIF is not set
@@ -882,15 +897,23 @@ CONFIG_DEBUG_MUTEXES=y
882# CONFIG_DEBUG_SG is not set 897# CONFIG_DEBUG_SG is not set
883# CONFIG_BOOT_PRINTK_DELAY is not set 898# CONFIG_BOOT_PRINTK_DELAY is not set
884# CONFIG_RCU_TORTURE_TEST is not set 899# CONFIG_RCU_TORTURE_TEST is not set
900# CONFIG_RCU_CPU_STALL_DETECTOR is not set
885# CONFIG_BACKTRACE_SELF_TEST is not set 901# CONFIG_BACKTRACE_SELF_TEST is not set
902# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
886# CONFIG_FAULT_INJECTION is not set 903# CONFIG_FAULT_INJECTION is not set
887# CONFIG_LATENCYTOP is not set 904# CONFIG_LATENCYTOP is not set
888CONFIG_SYSCTL_SYSCALL_CHECK=y 905CONFIG_SYSCTL_SYSCALL_CHECK=y
889CONFIG_HAVE_FTRACE=y 906CONFIG_HAVE_FUNCTION_TRACER=y
890CONFIG_HAVE_DYNAMIC_FTRACE=y 907
891# CONFIG_FTRACE is not set 908#
909# Tracers
910#
911# CONFIG_FUNCTION_TRACER is not set
892# CONFIG_SCHED_TRACER is not set 912# CONFIG_SCHED_TRACER is not set
893# CONFIG_CONTEXT_SWITCH_TRACER is not set 913# CONFIG_CONTEXT_SWITCH_TRACER is not set
914# CONFIG_BOOT_TRACER is not set
915# CONFIG_STACK_TRACER is not set
916# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
894# CONFIG_SAMPLES is not set 917# CONFIG_SAMPLES is not set
895CONFIG_HAVE_ARCH_KGDB=y 918CONFIG_HAVE_ARCH_KGDB=y
896# CONFIG_KGDB is not set 919# CONFIG_KGDB is not set
@@ -899,6 +922,7 @@ CONFIG_HAVE_ARCH_KGDB=y
899# CONFIG_DEBUG_PAGEALLOC is not set 922# CONFIG_DEBUG_PAGEALLOC is not set
900# CONFIG_CODE_PATCHING_SELFTEST is not set 923# CONFIG_CODE_PATCHING_SELFTEST is not set
901# CONFIG_FTR_FIXUP_SELFTEST is not set 924# CONFIG_FTR_FIXUP_SELFTEST is not set
925# CONFIG_MSI_BITMAP_SELFTEST is not set
902# CONFIG_XMON is not set 926# CONFIG_XMON is not set
903# CONFIG_IRQSTACKS is not set 927# CONFIG_IRQSTACKS is not set
904# CONFIG_VIRQ_DEBUG is not set 928# CONFIG_VIRQ_DEBUG is not set
@@ -910,12 +934,14 @@ CONFIG_HAVE_ARCH_KGDB=y
910# 934#
911# CONFIG_KEYS is not set 935# CONFIG_KEYS is not set
912# CONFIG_SECURITY is not set 936# CONFIG_SECURITY is not set
937# CONFIG_SECURITYFS is not set
913# CONFIG_SECURITY_FILE_CAPABILITIES is not set 938# CONFIG_SECURITY_FILE_CAPABILITIES is not set
914CONFIG_CRYPTO=y 939CONFIG_CRYPTO=y
915 940
916# 941#
917# Crypto core or helper 942# Crypto core or helper
918# 943#
944# CONFIG_CRYPTO_FIPS is not set
919# CONFIG_CRYPTO_MANAGER is not set 945# CONFIG_CRYPTO_MANAGER is not set
920# CONFIG_CRYPTO_GF128MUL is not set 946# CONFIG_CRYPTO_GF128MUL is not set
921# CONFIG_CRYPTO_NULL is not set 947# CONFIG_CRYPTO_NULL is not set
@@ -987,6 +1013,11 @@ CONFIG_CRYPTO=y
987# 1013#
988# CONFIG_CRYPTO_DEFLATE is not set 1014# CONFIG_CRYPTO_DEFLATE is not set
989# CONFIG_CRYPTO_LZO is not set 1015# CONFIG_CRYPTO_LZO is not set
1016
1017#
1018# Random Number Generation
1019#
1020# CONFIG_CRYPTO_ANSI_CPRNG is not set
990CONFIG_CRYPTO_HW=y 1021CONFIG_CRYPTO_HW=y
991# CONFIG_CRYPTO_DEV_TALITOS is not set 1022# CONFIG_CRYPTO_DEV_TALITOS is not set
992CONFIG_PPC_CLOCK=y 1023CONFIG_PPC_CLOCK=y
diff --git a/arch/powerpc/configs/85xx/mpc8536_ds_defconfig b/arch/powerpc/configs/85xx/mpc8536_ds_defconfig
index 6b516bea6e75..e243e14a6708 100644
--- a/arch/powerpc/configs/85xx/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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 07:18:18 2008 4# Sat Nov 8 12:40:05 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -124,10 +126,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
@@ -160,6 +158,7 @@ CONFIG_DEFAULT_CFQ=y
160# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="cfq" 159CONFIG_DEFAULT_IOSCHED="cfq"
162CONFIG_CLASSIC_RCU=y 160CONFIG_CLASSIC_RCU=y
161# CONFIG_FREEZER is not set
163 162
164# 163#
165# Platform support 164# Platform support
@@ -194,8 +193,10 @@ CONFIG_MPIC=y
194# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
195# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
196# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
196# CONFIG_QUICC_ENGINE is not set
197# CONFIG_CPM2 is not set 197# CONFIG_CPM2 is not set
198# CONFIG_FSL_ULI1575 is not set 198# CONFIG_FSL_ULI1575 is not set
199# CONFIG_MPC8xxx_GPIO is not set
199 200
200# 201#
201# Kernel options 202# Kernel options
@@ -215,6 +216,8 @@ CONFIG_PREEMPT_NONE=y
215# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
216# CONFIG_PREEMPT is not set 217# CONFIG_PREEMPT is not set
217CONFIG_BINFMT_ELF=y 218CONFIG_BINFMT_ELF=y
219# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
220# CONFIG_HAVE_AOUT is not set
218CONFIG_BINFMT_MISC=m 221CONFIG_BINFMT_MISC=m
219CONFIG_MATH_EMULATION=y 222CONFIG_MATH_EMULATION=y
220# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
@@ -229,15 +232,15 @@ CONFIG_FLATMEM_MANUAL=y
229# CONFIG_SPARSEMEM_MANUAL is not set 232# CONFIG_SPARSEMEM_MANUAL is not set
230CONFIG_FLATMEM=y 233CONFIG_FLATMEM=y
231CONFIG_FLAT_NODE_MEM_MAP=y 234CONFIG_FLAT_NODE_MEM_MAP=y
232# CONFIG_SPARSEMEM_STATIC is not set
233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
234CONFIG_PAGEFLAGS_EXTENDED=y 235CONFIG_PAGEFLAGS_EXTENDED=y
235CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
237# CONFIG_RESOURCES_64BIT is not set 238# CONFIG_RESOURCES_64BIT is not set
239# CONFIG_PHYS_ADDR_T_64BIT is not set
238CONFIG_ZONE_DMA_FLAG=1 240CONFIG_ZONE_DMA_FLAG=1
239CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
240CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y
241CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
242CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
243# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -260,7 +263,7 @@ CONFIG_PCI_SYSCALL=y
260# CONFIG_PCIEPORTBUS is not set 263# CONFIG_PCIEPORTBUS is not set
261CONFIG_ARCH_SUPPORTS_MSI=y 264CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 265# CONFIG_PCI_MSI is not set
263CONFIG_PCI_LEGACY=y 266# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_DEBUG is not set 267# CONFIG_PCI_DEBUG is not set
265# CONFIG_PCCARD is not set 268# CONFIG_PCCARD is not set
266# CONFIG_HOTPLUG_PCI is not set 269# CONFIG_HOTPLUG_PCI is not set
@@ -362,6 +365,7 @@ CONFIG_SCTP_HMAC_MD5=y
362# CONFIG_TIPC is not set 365# CONFIG_TIPC is not set
363# CONFIG_ATM is not set 366# CONFIG_ATM is not set
364# CONFIG_BRIDGE is not set 367# CONFIG_BRIDGE is not set
368# CONFIG_NET_DSA is not set
365# CONFIG_VLAN_8021Q is not set 369# CONFIG_VLAN_8021Q is not set
366# CONFIG_DECNET is not set 370# CONFIG_DECNET is not set
367# CONFIG_LLC2 is not set 371# CONFIG_LLC2 is not set
@@ -382,12 +386,11 @@ CONFIG_SCTP_HMAC_MD5=y
382# CONFIG_IRDA is not set 386# CONFIG_IRDA is not set
383# CONFIG_BT is not set 387# CONFIG_BT is not set
384# CONFIG_AF_RXRPC is not set 388# CONFIG_AF_RXRPC is not set
389# CONFIG_PHONET is not set
385CONFIG_FIB_RULES=y 390CONFIG_FIB_RULES=y
386 391CONFIG_WIRELESS=y
387#
388# Wireless
389#
390# CONFIG_CFG80211 is not set 392# CONFIG_CFG80211 is not set
393CONFIG_WIRELESS_OLD_REGULATORY=y
391# CONFIG_WIRELESS_EXT is not set 394# CONFIG_WIRELESS_EXT is not set
392# CONFIG_MAC80211 is not set 395# CONFIG_MAC80211 is not set
393# CONFIG_IEEE80211 is not set 396# CONFIG_IEEE80211 is not set
@@ -633,8 +636,12 @@ CONFIG_MII=y
633# CONFIG_IBM_NEW_EMAC_RGMII is not set 636# CONFIG_IBM_NEW_EMAC_RGMII is not set
634# CONFIG_IBM_NEW_EMAC_TAH is not set 637# CONFIG_IBM_NEW_EMAC_TAH is not set
635# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 638# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
639# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
640# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
641# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
636# CONFIG_NET_PCI is not set 642# CONFIG_NET_PCI is not set
637# CONFIG_B44 is not set 643# CONFIG_B44 is not set
644# CONFIG_ATL2 is not set
638CONFIG_NETDEV_1000=y 645CONFIG_NETDEV_1000=y
639# CONFIG_ACENIC is not set 646# CONFIG_ACENIC is not set
640# CONFIG_DL2K is not set 647# CONFIG_DL2K is not set
@@ -658,18 +665,22 @@ CONFIG_GIANFAR=y
658# CONFIG_QLA3XXX is not set 665# CONFIG_QLA3XXX is not set
659# CONFIG_ATL1 is not set 666# CONFIG_ATL1 is not set
660# CONFIG_ATL1E is not set 667# CONFIG_ATL1E is not set
668# CONFIG_JME is not set
661CONFIG_NETDEV_10000=y 669CONFIG_NETDEV_10000=y
662# CONFIG_CHELSIO_T1 is not set 670# CONFIG_CHELSIO_T1 is not set
663# CONFIG_CHELSIO_T3 is not set 671# CONFIG_CHELSIO_T3 is not set
672# CONFIG_ENIC is not set
664# CONFIG_IXGBE is not set 673# CONFIG_IXGBE is not set
665# CONFIG_IXGB is not set 674# CONFIG_IXGB is not set
666# CONFIG_S2IO is not set 675# CONFIG_S2IO is not set
667# CONFIG_MYRI10GE is not set 676# CONFIG_MYRI10GE is not set
668# CONFIG_NETXEN_NIC is not set 677# CONFIG_NETXEN_NIC is not set
669# CONFIG_NIU is not set 678# CONFIG_NIU is not set
679# CONFIG_MLX4_EN is not set
670# CONFIG_MLX4_CORE is not set 680# CONFIG_MLX4_CORE is not set
671# CONFIG_TEHUTI is not set 681# CONFIG_TEHUTI is not set
672# CONFIG_BNX2X is not set 682# CONFIG_BNX2X is not set
683# CONFIG_QLGE is not set
673# CONFIG_SFC is not set 684# CONFIG_SFC is not set
674# CONFIG_TR is not set 685# CONFIG_TR is not set
675 686
@@ -704,7 +715,7 @@ CONFIG_NETDEV_10000=y
704# Input device support 715# Input device support
705# 716#
706CONFIG_INPUT=y 717CONFIG_INPUT=y
707# CONFIG_INPUT_FF_MEMLESS is not set 718CONFIG_INPUT_FF_MEMLESS=m
708# CONFIG_INPUT_POLLDEV is not set 719# CONFIG_INPUT_POLLDEV is not set
709 720
710# 721#
@@ -872,6 +883,17 @@ CONFIG_SSB_POSSIBLE=y
872# CONFIG_MFD_SM501 is not set 883# CONFIG_MFD_SM501 is not set
873# CONFIG_HTC_PASIC3 is not set 884# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set 885# CONFIG_MFD_TMIO is not set
886# CONFIG_PMIC_DA903X is not set
887# CONFIG_MFD_WM8400 is not set
888# CONFIG_MFD_WM8350_I2C is not set
889
890#
891# Voltage and Current regulators
892#
893# CONFIG_REGULATOR is not set
894# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
895# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
896# CONFIG_REGULATOR_BQ24022 is not set
875 897
876# 898#
877# Multimedia devices 899# Multimedia devices
@@ -912,7 +934,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
912# CONFIG_DVB_USB is not set 934# CONFIG_DVB_USB is not set
913# CONFIG_DVB_TTUSB_BUDGET is not set 935# CONFIG_DVB_TTUSB_BUDGET is not set
914# CONFIG_DVB_TTUSB_DEC is not set 936# CONFIG_DVB_TTUSB_DEC is not set
915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set 937# CONFIG_DVB_SIANO_SMS1XXX is not set
917 938
918# 939#
@@ -930,6 +951,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
930# CONFIG_DVB_PLUTO2 is not set 951# CONFIG_DVB_PLUTO2 is not set
931 952
932# 953#
954# Supported SDMC DM1105 Adapters
955#
956# CONFIG_DVB_DM1105 is not set
957
958#
933# Supported DVB Frontends 959# Supported DVB Frontends
934# 960#
935 961
@@ -945,6 +971,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
945# CONFIG_DVB_CX24123 is not set 971# CONFIG_DVB_CX24123 is not set
946# CONFIG_DVB_MT312 is not set 972# CONFIG_DVB_MT312 is not set
947# CONFIG_DVB_S5H1420 is not set 973# CONFIG_DVB_S5H1420 is not set
974# CONFIG_DVB_STV0288 is not set
975# CONFIG_DVB_STB6000 is not set
948# CONFIG_DVB_STV0299 is not set 976# CONFIG_DVB_STV0299 is not set
949# CONFIG_DVB_TDA8083 is not set 977# CONFIG_DVB_TDA8083 is not set
950# CONFIG_DVB_TDA10086 is not set 978# CONFIG_DVB_TDA10086 is not set
@@ -952,6 +980,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
952# CONFIG_DVB_TUNER_ITD1000 is not set 980# CONFIG_DVB_TUNER_ITD1000 is not set
953# CONFIG_DVB_TDA826X is not set 981# CONFIG_DVB_TDA826X is not set
954# CONFIG_DVB_TUA6100 is not set 982# CONFIG_DVB_TUA6100 is not set
983# CONFIG_DVB_CX24116 is not set
984# CONFIG_DVB_SI21XX is not set
955 985
956# 986#
957# DVB-T (terrestrial) frontends 987# DVB-T (terrestrial) frontends
@@ -1004,6 +1034,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1004# CONFIG_DVB_LNBP21 is not set 1034# CONFIG_DVB_LNBP21 is not set
1005# CONFIG_DVB_ISL6405 is not set 1035# CONFIG_DVB_ISL6405 is not set
1006# CONFIG_DVB_ISL6421 is not set 1036# CONFIG_DVB_ISL6421 is not set
1037# CONFIG_DVB_LGS8GL5 is not set
1038
1039#
1040# Tools to develop new frontends
1041#
1042# CONFIG_DVB_DUMMY_FE is not set
1043# CONFIG_DVB_AF9013 is not set
1007CONFIG_DAB=y 1044CONFIG_DAB=y
1008# CONFIG_USB_DABUSB is not set 1045# CONFIG_USB_DABUSB is not set
1009 1046
@@ -1029,6 +1066,7 @@ CONFIG_VGA_CONSOLE=y
1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1066# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1030CONFIG_DUMMY_CONSOLE=y 1067CONFIG_DUMMY_CONSOLE=y
1031CONFIG_SOUND=y 1068CONFIG_SOUND=y
1069# CONFIG_SOUND_OSS_CORE is not set
1032CONFIG_SND=y 1070CONFIG_SND=y
1033CONFIG_SND_TIMER=y 1071CONFIG_SND_TIMER=y
1034CONFIG_SND_PCM=y 1072CONFIG_SND_PCM=y
@@ -1127,9 +1165,36 @@ CONFIG_HID=y
1127# USB Input Devices 1165# USB Input Devices
1128# 1166#
1129CONFIG_USB_HID=y 1167CONFIG_USB_HID=y
1130# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1168# CONFIG_HID_PID is not set
1131# CONFIG_HID_FF is not set
1132# CONFIG_USB_HIDDEV is not set 1169# CONFIG_USB_HIDDEV is not set
1170
1171#
1172# Special HID drivers
1173#
1174CONFIG_HID_COMPAT=y
1175CONFIG_HID_A4TECH=y
1176CONFIG_HID_APPLE=y
1177CONFIG_HID_BELKIN=y
1178CONFIG_HID_BRIGHT=y
1179CONFIG_HID_CHERRY=y
1180CONFIG_HID_CHICONY=y
1181CONFIG_HID_CYPRESS=y
1182CONFIG_HID_DELL=y
1183CONFIG_HID_EZKEY=y
1184CONFIG_HID_GYRATION=y
1185CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set
1187# CONFIG_LOGIRUMBLEPAD2_FF is not set
1188CONFIG_HID_MICROSOFT=y
1189CONFIG_HID_MONTEREY=y
1190CONFIG_HID_PANTHERLORD=y
1191# CONFIG_PANTHERLORD_FF is not set
1192CONFIG_HID_PETALYNX=y
1193CONFIG_HID_SAMSUNG=y
1194CONFIG_HID_SONY=y
1195CONFIG_HID_SUNPLUS=y
1196CONFIG_THRUSTMASTER_FF=m
1197CONFIG_ZEROPLUS_FF=m
1133CONFIG_USB_SUPPORT=y 1198CONFIG_USB_SUPPORT=y
1134CONFIG_USB_ARCH_HAS_HCD=y 1199CONFIG_USB_ARCH_HAS_HCD=y
1135CONFIG_USB_ARCH_HAS_OHCI=y 1200CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1148,6 +1213,8 @@ CONFIG_USB_DEVICE_CLASS=y
1148# CONFIG_USB_OTG_WHITELIST is not set 1213# CONFIG_USB_OTG_WHITELIST is not set
1149# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1214# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1150CONFIG_USB_MON=y 1215CONFIG_USB_MON=y
1216# CONFIG_USB_WUSB is not set
1217# CONFIG_USB_WUSB_CBAF is not set
1151 1218
1152# 1219#
1153# USB Host Controller Drivers 1220# USB Host Controller Drivers
@@ -1171,6 +1238,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1171# CONFIG_USB_UHCI_HCD is not set 1238# CONFIG_USB_UHCI_HCD is not set
1172# CONFIG_USB_SL811_HCD is not set 1239# CONFIG_USB_SL811_HCD is not set
1173# CONFIG_USB_R8A66597_HCD is not set 1240# CONFIG_USB_R8A66597_HCD is not set
1241# CONFIG_USB_WHCI_HCD is not set
1242# CONFIG_USB_HWA_HCD is not set
1174 1243
1175# 1244#
1176# USB Device Class drivers 1245# USB Device Class drivers
@@ -1178,6 +1247,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1178# CONFIG_USB_ACM is not set 1247# CONFIG_USB_ACM is not set
1179# CONFIG_USB_PRINTER is not set 1248# CONFIG_USB_PRINTER is not set
1180# CONFIG_USB_WDM is not set 1249# CONFIG_USB_WDM is not set
1250# CONFIG_USB_TMC is not set
1181 1251
1182# 1252#
1183# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1253# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1199,7 +1269,6 @@ CONFIG_USB_STORAGE=y
1199# CONFIG_USB_STORAGE_ALAUDA is not set 1269# CONFIG_USB_STORAGE_ALAUDA is not set
1200# CONFIG_USB_STORAGE_ONETOUCH is not set 1270# CONFIG_USB_STORAGE_ONETOUCH is not set
1201# CONFIG_USB_STORAGE_KARMA is not set 1271# CONFIG_USB_STORAGE_KARMA is not set
1202# CONFIG_USB_STORAGE_SIERRA is not set
1203# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1272# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1204# CONFIG_USB_LIBUSUAL is not set 1273# CONFIG_USB_LIBUSUAL is not set
1205 1274
@@ -1220,6 +1289,7 @@ CONFIG_USB_STORAGE=y
1220# CONFIG_USB_EMI62 is not set 1289# CONFIG_USB_EMI62 is not set
1221# CONFIG_USB_EMI26 is not set 1290# CONFIG_USB_EMI26 is not set
1222# CONFIG_USB_ADUTUX is not set 1291# CONFIG_USB_ADUTUX is not set
1292# CONFIG_USB_SEVSEG is not set
1223# CONFIG_USB_RIO500 is not set 1293# CONFIG_USB_RIO500 is not set
1224# CONFIG_USB_LEGOTOWER is not set 1294# CONFIG_USB_LEGOTOWER is not set
1225# CONFIG_USB_LCD is not set 1295# CONFIG_USB_LCD is not set
@@ -1237,7 +1307,9 @@ CONFIG_USB_STORAGE=y
1237# CONFIG_USB_IOWARRIOR is not set 1307# CONFIG_USB_IOWARRIOR is not set
1238# CONFIG_USB_TEST is not set 1308# CONFIG_USB_TEST is not set
1239# CONFIG_USB_ISIGHTFW is not set 1309# CONFIG_USB_ISIGHTFW is not set
1310# CONFIG_USB_VST is not set
1240# CONFIG_USB_GADGET is not set 1311# CONFIG_USB_GADGET is not set
1312# CONFIG_UWB is not set
1241# CONFIG_MMC is not set 1313# CONFIG_MMC is not set
1242# CONFIG_MEMSTICK is not set 1314# CONFIG_MEMSTICK is not set
1243# CONFIG_NEW_LEDS is not set 1315# CONFIG_NEW_LEDS is not set
@@ -1283,12 +1355,15 @@ CONFIG_RTC_INTF_DEV=y
1283# Platform RTC drivers 1355# Platform RTC drivers
1284# 1356#
1285CONFIG_RTC_DRV_CMOS=y 1357CONFIG_RTC_DRV_CMOS=y
1358# CONFIG_RTC_DRV_DS1286 is not set
1286# CONFIG_RTC_DRV_DS1511 is not set 1359# CONFIG_RTC_DRV_DS1511 is not set
1287# CONFIG_RTC_DRV_DS1553 is not set 1360# CONFIG_RTC_DRV_DS1553 is not set
1288# CONFIG_RTC_DRV_DS1742 is not set 1361# CONFIG_RTC_DRV_DS1742 is not set
1289# CONFIG_RTC_DRV_STK17TA8 is not set 1362# CONFIG_RTC_DRV_STK17TA8 is not set
1290# CONFIG_RTC_DRV_M48T86 is not set 1363# CONFIG_RTC_DRV_M48T86 is not set
1364# CONFIG_RTC_DRV_M48T35 is not set
1291# CONFIG_RTC_DRV_M48T59 is not set 1365# CONFIG_RTC_DRV_M48T59 is not set
1366# CONFIG_RTC_DRV_BQ4802 is not set
1292# CONFIG_RTC_DRV_V3020 is not set 1367# CONFIG_RTC_DRV_V3020 is not set
1293 1368
1294# 1369#
@@ -1309,6 +1384,7 @@ CONFIG_DMA_ENGINE=y
1309# CONFIG_NET_DMA is not set 1384# CONFIG_NET_DMA is not set
1310# CONFIG_DMATEST is not set 1385# CONFIG_DMATEST is not set
1311# CONFIG_UIO is not set 1386# CONFIG_UIO is not set
1387# CONFIG_STAGING is not set
1312 1388
1313# 1389#
1314# File systems 1390# File systems
@@ -1320,13 +1396,14 @@ CONFIG_EXT3_FS=y
1320CONFIG_EXT3_FS_XATTR=y 1396CONFIG_EXT3_FS_XATTR=y
1321# CONFIG_EXT3_FS_POSIX_ACL is not set 1397# CONFIG_EXT3_FS_POSIX_ACL is not set
1322# CONFIG_EXT3_FS_SECURITY is not set 1398# CONFIG_EXT3_FS_SECURITY is not set
1323# CONFIG_EXT4DEV_FS is not set 1399# CONFIG_EXT4_FS is not set
1324CONFIG_JBD=y 1400CONFIG_JBD=y
1325# CONFIG_JBD_DEBUG is not set 1401# CONFIG_JBD_DEBUG is not set
1326CONFIG_FS_MBCACHE=y 1402CONFIG_FS_MBCACHE=y
1327# CONFIG_REISERFS_FS is not set 1403# CONFIG_REISERFS_FS is not set
1328# CONFIG_JFS_FS is not set 1404# CONFIG_JFS_FS is not set
1329# CONFIG_FS_POSIX_ACL is not set 1405# CONFIG_FS_POSIX_ACL is not set
1406CONFIG_FILE_LOCKING=y
1330# CONFIG_XFS_FS is not set 1407# CONFIG_XFS_FS is not set
1331# CONFIG_OCFS2_FS is not set 1408# CONFIG_OCFS2_FS is not set
1332CONFIG_DNOTIFY=y 1409CONFIG_DNOTIFY=y
@@ -1364,6 +1441,7 @@ CONFIG_NTFS_FS=y
1364CONFIG_PROC_FS=y 1441CONFIG_PROC_FS=y
1365CONFIG_PROC_KCORE=y 1442CONFIG_PROC_KCORE=y
1366CONFIG_PROC_SYSCTL=y 1443CONFIG_PROC_SYSCTL=y
1444CONFIG_PROC_PAGE_MONITOR=y
1367CONFIG_SYSFS=y 1445CONFIG_SYSFS=y
1368CONFIG_TMPFS=y 1446CONFIG_TMPFS=y
1369# CONFIG_TMPFS_POSIX_ACL is not set 1447# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1408,6 +1486,7 @@ CONFIG_EXPORTFS=y
1408CONFIG_NFS_COMMON=y 1486CONFIG_NFS_COMMON=y
1409CONFIG_SUNRPC=y 1487CONFIG_SUNRPC=y
1410CONFIG_SUNRPC_GSS=y 1488CONFIG_SUNRPC_GSS=y
1489# CONFIG_SUNRPC_REGISTER_V4 is not set
1411CONFIG_RPCSEC_GSS_KRB5=y 1490CONFIG_RPCSEC_GSS_KRB5=y
1412# CONFIG_RPCSEC_GSS_SPKM3 is not set 1491# CONFIG_RPCSEC_GSS_SPKM3 is not set
1413# CONFIG_SMB_FS is not set 1492# CONFIG_SMB_FS is not set
@@ -1483,7 +1562,6 @@ CONFIG_NLS_UTF8=m
1483# Library routines 1562# Library routines
1484# 1563#
1485CONFIG_BITREVERSE=y 1564CONFIG_BITREVERSE=y
1486# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1487# CONFIG_CRC_CCITT is not set 1565# CONFIG_CRC_CCITT is not set
1488# CONFIG_CRC16 is not set 1566# CONFIG_CRC16 is not set
1489CONFIG_CRC_T10DIF=y 1567CONFIG_CRC_T10DIF=y
@@ -1537,15 +1615,23 @@ CONFIG_DEBUG_INFO=y
1537# CONFIG_DEBUG_SG is not set 1615# CONFIG_DEBUG_SG is not set
1538# CONFIG_BOOT_PRINTK_DELAY is not set 1616# CONFIG_BOOT_PRINTK_DELAY is not set
1539# CONFIG_RCU_TORTURE_TEST is not set 1617# CONFIG_RCU_TORTURE_TEST is not set
1618# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1540# CONFIG_BACKTRACE_SELF_TEST is not set 1619# CONFIG_BACKTRACE_SELF_TEST is not set
1620# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1541# CONFIG_FAULT_INJECTION is not set 1621# CONFIG_FAULT_INJECTION is not set
1542# CONFIG_LATENCYTOP is not set 1622# CONFIG_LATENCYTOP is not set
1543CONFIG_SYSCTL_SYSCALL_CHECK=y 1623CONFIG_SYSCTL_SYSCALL_CHECK=y
1544CONFIG_HAVE_FTRACE=y 1624CONFIG_HAVE_FUNCTION_TRACER=y
1545CONFIG_HAVE_DYNAMIC_FTRACE=y 1625
1546# CONFIG_FTRACE is not set 1626#
1627# Tracers
1628#
1629# CONFIG_FUNCTION_TRACER is not set
1547# CONFIG_SCHED_TRACER is not set 1630# CONFIG_SCHED_TRACER is not set
1548# CONFIG_CONTEXT_SWITCH_TRACER is not set 1631# CONFIG_CONTEXT_SWITCH_TRACER is not set
1632# CONFIG_BOOT_TRACER is not set
1633# CONFIG_STACK_TRACER is not set
1634# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1549# CONFIG_SAMPLES is not set 1635# CONFIG_SAMPLES is not set
1550CONFIG_HAVE_ARCH_KGDB=y 1636CONFIG_HAVE_ARCH_KGDB=y
1551# CONFIG_KGDB is not set 1637# CONFIG_KGDB is not set
@@ -1554,6 +1640,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1554# CONFIG_DEBUG_PAGEALLOC is not set 1640# CONFIG_DEBUG_PAGEALLOC is not set
1555# CONFIG_CODE_PATCHING_SELFTEST is not set 1641# CONFIG_CODE_PATCHING_SELFTEST is not set
1556# CONFIG_FTR_FIXUP_SELFTEST is not set 1642# CONFIG_FTR_FIXUP_SELFTEST is not set
1643# CONFIG_MSI_BITMAP_SELFTEST is not set
1557# CONFIG_XMON is not set 1644# CONFIG_XMON is not set
1558# CONFIG_IRQSTACKS is not set 1645# CONFIG_IRQSTACKS is not set
1559# CONFIG_VIRQ_DEBUG is not set 1646# CONFIG_VIRQ_DEBUG is not set
@@ -1565,16 +1652,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1565# 1652#
1566# CONFIG_KEYS is not set 1653# CONFIG_KEYS is not set
1567# CONFIG_SECURITY is not set 1654# CONFIG_SECURITY is not set
1655# CONFIG_SECURITYFS is not set
1568# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1656# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1569CONFIG_CRYPTO=y 1657CONFIG_CRYPTO=y
1570 1658
1571# 1659#
1572# Crypto core or helper 1660# Crypto core or helper
1573# 1661#
1662# CONFIG_CRYPTO_FIPS is not set
1574CONFIG_CRYPTO_ALGAPI=y 1663CONFIG_CRYPTO_ALGAPI=y
1575CONFIG_CRYPTO_AEAD=y 1664CONFIG_CRYPTO_AEAD=y
1576CONFIG_CRYPTO_BLKCIPHER=y 1665CONFIG_CRYPTO_BLKCIPHER=y
1577CONFIG_CRYPTO_HASH=y 1666CONFIG_CRYPTO_HASH=y
1667CONFIG_CRYPTO_RNG=y
1578CONFIG_CRYPTO_MANAGER=y 1668CONFIG_CRYPTO_MANAGER=y
1579# CONFIG_CRYPTO_GF128MUL is not set 1669# CONFIG_CRYPTO_GF128MUL is not set
1580# CONFIG_CRYPTO_NULL is not set 1670# CONFIG_CRYPTO_NULL is not set
@@ -1647,6 +1737,11 @@ CONFIG_CRYPTO_DES=y
1647# 1737#
1648# CONFIG_CRYPTO_DEFLATE is not set 1738# CONFIG_CRYPTO_DEFLATE is not set
1649# CONFIG_CRYPTO_LZO is not set 1739# CONFIG_CRYPTO_LZO is not set
1740
1741#
1742# Random Number Generation
1743#
1744# CONFIG_CRYPTO_ANSI_CPRNG is not set
1650CONFIG_CRYPTO_HW=y 1745CONFIG_CRYPTO_HW=y
1651# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1746# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1652CONFIG_CRYPTO_DEV_TALITOS=y 1747CONFIG_CRYPTO_DEV_TALITOS=y
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index 1ea181f826f1..d790cbab80b8 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:30 2008 4# Sat Nov 8 12:40:06 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -107,6 +107,7 @@ CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
112# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
@@ -120,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
128CONFIG_SLABINFO=y 125CONFIG_SLABINFO=y
129CONFIG_RT_MUTEXES=y 126CONFIG_RT_MUTEXES=y
@@ -150,6 +147,7 @@ CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_NOOP is not set 147# CONFIG_DEFAULT_NOOP is not set
151CONFIG_DEFAULT_IOSCHED="anticipatory" 148CONFIG_DEFAULT_IOSCHED="anticipatory"
152CONFIG_CLASSIC_RCU=y 149CONFIG_CLASSIC_RCU=y
150# CONFIG_FREEZER is not set
153 151
154# 152#
155# Platform support 153# Platform support
@@ -184,8 +182,10 @@ CONFIG_MPIC=y
184# CONFIG_PPC_INDIRECT_IO is not set 182# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 183# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 184# CONFIG_CPU_FREQ is not set
185# CONFIG_QUICC_ENGINE is not set
187# CONFIG_CPM2 is not set 186# CONFIG_CPM2 is not set
188# CONFIG_FSL_ULI1575 is not set 187# CONFIG_FSL_ULI1575 is not set
188# CONFIG_MPC8xxx_GPIO is not set
189 189
190# 190#
191# Kernel options 191# Kernel options
@@ -205,6 +205,8 @@ CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
207CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
208# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
209# CONFIG_HAVE_AOUT is not set
208CONFIG_BINFMT_MISC=y 210CONFIG_BINFMT_MISC=y
209CONFIG_MATH_EMULATION=y 211CONFIG_MATH_EMULATION=y
210# CONFIG_IOMMU_HELPER is not set 212# CONFIG_IOMMU_HELPER is not set
@@ -219,15 +221,15 @@ CONFIG_FLATMEM_MANUAL=y
219# CONFIG_SPARSEMEM_MANUAL is not set 221# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y 222CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y 223CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 224CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 225CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y 226CONFIG_MIGRATION=y
227# CONFIG_RESOURCES_64BIT is not set 227# CONFIG_RESOURCES_64BIT is not set
228# CONFIG_PHYS_ADDR_T_64BIT is not set
228CONFIG_ZONE_DMA_FLAG=1 229CONFIG_ZONE_DMA_FLAG=1
229CONFIG_BOUNCE=y 230CONFIG_BOUNCE=y
230CONFIG_VIRT_TO_BUS=y 231CONFIG_VIRT_TO_BUS=y
232CONFIG_UNEVICTABLE_LRU=y
231CONFIG_FORCE_MAX_ZONEORDER=11 233CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 234CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 235# CONFIG_CMDLINE_BOOL is not set
@@ -313,6 +315,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
313# CONFIG_TIPC is not set 315# CONFIG_TIPC is not set
314# CONFIG_ATM is not set 316# CONFIG_ATM is not set
315# CONFIG_BRIDGE is not set 317# CONFIG_BRIDGE is not set
318# CONFIG_NET_DSA is not set
316# CONFIG_VLAN_8021Q is not set 319# CONFIG_VLAN_8021Q is not set
317# CONFIG_DECNET is not set 320# CONFIG_DECNET is not set
318# CONFIG_LLC2 is not set 321# CONFIG_LLC2 is not set
@@ -333,11 +336,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
333# CONFIG_IRDA is not set 336# CONFIG_IRDA is not set
334# CONFIG_BT is not set 337# CONFIG_BT is not set
335# CONFIG_AF_RXRPC is not set 338# CONFIG_AF_RXRPC is not set
336 339# CONFIG_PHONET is not set
337# 340CONFIG_WIRELESS=y
338# Wireless
339#
340# CONFIG_CFG80211 is not set 341# CONFIG_CFG80211 is not set
342CONFIG_WIRELESS_OLD_REGULATORY=y
341# CONFIG_WIRELESS_EXT is not set 343# CONFIG_WIRELESS_EXT is not set
342# CONFIG_MAC80211 is not set 344# CONFIG_MAC80211 is not set
343# CONFIG_IEEE80211 is not set 345# CONFIG_IEEE80211 is not set
@@ -421,6 +423,9 @@ CONFIG_MII=y
421# CONFIG_IBM_NEW_EMAC_RGMII is not set 423# CONFIG_IBM_NEW_EMAC_RGMII is not set
422# CONFIG_IBM_NEW_EMAC_TAH is not set 424# CONFIG_IBM_NEW_EMAC_TAH is not set
423# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 425# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
426# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
427# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
428# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
424# CONFIG_B44 is not set 429# CONFIG_B44 is not set
425CONFIG_NETDEV_1000=y 430CONFIG_NETDEV_1000=y
426CONFIG_GIANFAR=y 431CONFIG_GIANFAR=y
@@ -545,6 +550,14 @@ CONFIG_SSB_POSSIBLE=y
545# CONFIG_MFD_TMIO is not set 550# CONFIG_MFD_TMIO is not set
546 551
547# 552#
553# Voltage and Current regulators
554#
555# CONFIG_REGULATOR is not set
556# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
557# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
558# CONFIG_REGULATOR_BQ24022 is not set
559
560#
548# Multimedia devices 561# Multimedia devices
549# 562#
550 563
@@ -577,6 +590,12 @@ CONFIG_HID_SUPPORT=y
577CONFIG_HID=y 590CONFIG_HID=y
578# CONFIG_HID_DEBUG is not set 591# CONFIG_HID_DEBUG is not set
579# CONFIG_HIDRAW is not set 592# CONFIG_HIDRAW is not set
593# CONFIG_HID_PID is not set
594
595#
596# Special HID drivers
597#
598CONFIG_HID_COMPAT=y
580CONFIG_USB_SUPPORT=y 599CONFIG_USB_SUPPORT=y
581# CONFIG_USB_ARCH_HAS_HCD is not set 600# CONFIG_USB_ARCH_HAS_HCD is not set
582# CONFIG_USB_ARCH_HAS_OHCI is not set 601# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -600,6 +619,7 @@ CONFIG_USB_SUPPORT=y
600# CONFIG_RTC_CLASS is not set 619# CONFIG_RTC_CLASS is not set
601# CONFIG_DMADEVICES is not set 620# CONFIG_DMADEVICES is not set
602# CONFIG_UIO is not set 621# CONFIG_UIO is not set
622# CONFIG_STAGING is not set
603 623
604# 624#
605# File systems 625# File systems
@@ -611,12 +631,13 @@ CONFIG_EXT3_FS=y
611CONFIG_EXT3_FS_XATTR=y 631CONFIG_EXT3_FS_XATTR=y
612# CONFIG_EXT3_FS_POSIX_ACL is not set 632# CONFIG_EXT3_FS_POSIX_ACL is not set
613# CONFIG_EXT3_FS_SECURITY is not set 633# CONFIG_EXT3_FS_SECURITY is not set
614# CONFIG_EXT4DEV_FS is not set 634# CONFIG_EXT4_FS is not set
615CONFIG_JBD=y 635CONFIG_JBD=y
616CONFIG_FS_MBCACHE=y 636CONFIG_FS_MBCACHE=y
617# CONFIG_REISERFS_FS is not set 637# CONFIG_REISERFS_FS is not set
618# CONFIG_JFS_FS is not set 638# CONFIG_JFS_FS is not set
619# CONFIG_FS_POSIX_ACL is not set 639# CONFIG_FS_POSIX_ACL is not set
640CONFIG_FILE_LOCKING=y
620# CONFIG_XFS_FS is not set 641# CONFIG_XFS_FS is not set
621# CONFIG_OCFS2_FS is not set 642# CONFIG_OCFS2_FS is not set
622CONFIG_DNOTIFY=y 643CONFIG_DNOTIFY=y
@@ -646,6 +667,7 @@ CONFIG_INOTIFY_USER=y
646CONFIG_PROC_FS=y 667CONFIG_PROC_FS=y
647CONFIG_PROC_KCORE=y 668CONFIG_PROC_KCORE=y
648CONFIG_PROC_SYSCTL=y 669CONFIG_PROC_SYSCTL=y
670CONFIG_PROC_PAGE_MONITOR=y
649CONFIG_SYSFS=y 671CONFIG_SYSFS=y
650CONFIG_TMPFS=y 672CONFIG_TMPFS=y
651# CONFIG_TMPFS_POSIX_ACL is not set 673# CONFIG_TMPFS_POSIX_ACL is not set
@@ -680,6 +702,7 @@ CONFIG_ROOT_NFS=y
680CONFIG_LOCKD=y 702CONFIG_LOCKD=y
681CONFIG_NFS_COMMON=y 703CONFIG_NFS_COMMON=y
682CONFIG_SUNRPC=y 704CONFIG_SUNRPC=y
705# CONFIG_SUNRPC_REGISTER_V4 is not set
683# CONFIG_RPCSEC_GSS_KRB5 is not set 706# CONFIG_RPCSEC_GSS_KRB5 is not set
684# CONFIG_RPCSEC_GSS_SPKM3 is not set 707# CONFIG_RPCSEC_GSS_SPKM3 is not set
685# CONFIG_SMB_FS is not set 708# CONFIG_SMB_FS is not set
@@ -712,7 +735,6 @@ CONFIG_PARTITION_ADVANCED=y
712# Library routines 735# Library routines
713# 736#
714CONFIG_BITREVERSE=y 737CONFIG_BITREVERSE=y
715# CONFIG_GENERIC_FIND_FIRST_BIT is not set
716# CONFIG_CRC_CCITT is not set 738# CONFIG_CRC_CCITT is not set
717# CONFIG_CRC16 is not set 739# CONFIG_CRC16 is not set
718# CONFIG_CRC_T10DIF is not set 740# CONFIG_CRC_T10DIF is not set
@@ -764,15 +786,23 @@ CONFIG_DEBUG_MUTEXES=y
764# CONFIG_DEBUG_SG is not set 786# CONFIG_DEBUG_SG is not set
765# CONFIG_BOOT_PRINTK_DELAY is not set 787# CONFIG_BOOT_PRINTK_DELAY is not set
766# CONFIG_RCU_TORTURE_TEST is not set 788# CONFIG_RCU_TORTURE_TEST is not set
789# CONFIG_RCU_CPU_STALL_DETECTOR is not set
767# CONFIG_BACKTRACE_SELF_TEST is not set 790# CONFIG_BACKTRACE_SELF_TEST is not set
791# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
768# CONFIG_FAULT_INJECTION is not set 792# CONFIG_FAULT_INJECTION is not set
769# CONFIG_LATENCYTOP is not set 793# CONFIG_LATENCYTOP is not set
770CONFIG_SYSCTL_SYSCALL_CHECK=y 794CONFIG_SYSCTL_SYSCALL_CHECK=y
771CONFIG_HAVE_FTRACE=y 795CONFIG_HAVE_FUNCTION_TRACER=y
772CONFIG_HAVE_DYNAMIC_FTRACE=y 796
773# CONFIG_FTRACE is not set 797#
798# Tracers
799#
800# CONFIG_FUNCTION_TRACER is not set
774# CONFIG_SCHED_TRACER is not set 801# CONFIG_SCHED_TRACER is not set
775# CONFIG_CONTEXT_SWITCH_TRACER is not set 802# CONFIG_CONTEXT_SWITCH_TRACER is not set
803# CONFIG_BOOT_TRACER is not set
804# CONFIG_STACK_TRACER is not set
805# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
776# CONFIG_SAMPLES is not set 806# CONFIG_SAMPLES is not set
777CONFIG_HAVE_ARCH_KGDB=y 807CONFIG_HAVE_ARCH_KGDB=y
778# CONFIG_KGDB is not set 808# CONFIG_KGDB is not set
@@ -781,6 +811,7 @@ CONFIG_HAVE_ARCH_KGDB=y
781# CONFIG_DEBUG_PAGEALLOC is not set 811# CONFIG_DEBUG_PAGEALLOC is not set
782# CONFIG_CODE_PATCHING_SELFTEST is not set 812# CONFIG_CODE_PATCHING_SELFTEST is not set
783# CONFIG_FTR_FIXUP_SELFTEST is not set 813# CONFIG_FTR_FIXUP_SELFTEST is not set
814# CONFIG_MSI_BITMAP_SELFTEST is not set
784# CONFIG_XMON is not set 815# CONFIG_XMON is not set
785# CONFIG_IRQSTACKS is not set 816# CONFIG_IRQSTACKS is not set
786# CONFIG_BDI_SWITCH is not set 817# CONFIG_BDI_SWITCH is not set
@@ -791,12 +822,14 @@ CONFIG_HAVE_ARCH_KGDB=y
791# 822#
792# CONFIG_KEYS is not set 823# CONFIG_KEYS is not set
793# CONFIG_SECURITY is not set 824# CONFIG_SECURITY is not set
825# CONFIG_SECURITYFS is not set
794# CONFIG_SECURITY_FILE_CAPABILITIES is not set 826# CONFIG_SECURITY_FILE_CAPABILITIES is not set
795CONFIG_CRYPTO=y 827CONFIG_CRYPTO=y
796 828
797# 829#
798# Crypto core or helper 830# Crypto core or helper
799# 831#
832# CONFIG_CRYPTO_FIPS is not set
800# CONFIG_CRYPTO_MANAGER is not set 833# CONFIG_CRYPTO_MANAGER is not set
801# CONFIG_CRYPTO_GF128MUL is not set 834# CONFIG_CRYPTO_GF128MUL is not set
802# CONFIG_CRYPTO_NULL is not set 835# CONFIG_CRYPTO_NULL is not set
@@ -868,6 +901,11 @@ CONFIG_CRYPTO=y
868# 901#
869# CONFIG_CRYPTO_DEFLATE is not set 902# CONFIG_CRYPTO_DEFLATE is not set
870# CONFIG_CRYPTO_LZO is not set 903# CONFIG_CRYPTO_LZO is not set
904
905#
906# Random Number Generation
907#
908# CONFIG_CRYPTO_ANSI_CPRNG is not set
871CONFIG_CRYPTO_HW=y 909CONFIG_CRYPTO_HW=y
872# CONFIG_CRYPTO_DEV_TALITOS is not set 910# CONFIG_CRYPTO_DEV_TALITOS is not set
873# CONFIG_PPC_CLOCK is not set 911# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig
index 1aecdeab9841..f6cb01495ea6 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 07:20:43 2008 4# Sat Nov 8 12:40:08 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -124,10 +126,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
@@ -160,6 +158,7 @@ CONFIG_DEFAULT_CFQ=y
160# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="cfq" 159CONFIG_DEFAULT_IOSCHED="cfq"
162CONFIG_CLASSIC_RCU=y 160CONFIG_CLASSIC_RCU=y
161# CONFIG_FREEZER is not set
163 162
164# 163#
165# Platform support 164# Platform support
@@ -194,8 +193,10 @@ CONFIG_PPC_I8259=y
194# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
195# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
196# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
196# CONFIG_QUICC_ENGINE is not set
197# CONFIG_CPM2 is not set 197# CONFIG_CPM2 is not set
198CONFIG_FSL_ULI1575=y 198CONFIG_FSL_ULI1575=y
199# CONFIG_MPC8xxx_GPIO is not set
199 200
200# 201#
201# Kernel options 202# Kernel options
@@ -215,6 +216,8 @@ CONFIG_PREEMPT_NONE=y
215# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
216# CONFIG_PREEMPT is not set 217# CONFIG_PREEMPT is not set
217CONFIG_BINFMT_ELF=y 218CONFIG_BINFMT_ELF=y
219# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
220# CONFIG_HAVE_AOUT is not set
218CONFIG_BINFMT_MISC=m 221CONFIG_BINFMT_MISC=m
219CONFIG_MATH_EMULATION=y 222CONFIG_MATH_EMULATION=y
220# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
@@ -229,15 +232,15 @@ CONFIG_FLATMEM_MANUAL=y
229# CONFIG_SPARSEMEM_MANUAL is not set 232# CONFIG_SPARSEMEM_MANUAL is not set
230CONFIG_FLATMEM=y 233CONFIG_FLATMEM=y
231CONFIG_FLAT_NODE_MEM_MAP=y 234CONFIG_FLAT_NODE_MEM_MAP=y
232# CONFIG_SPARSEMEM_STATIC is not set
233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
234CONFIG_PAGEFLAGS_EXTENDED=y 235CONFIG_PAGEFLAGS_EXTENDED=y
235CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
237# CONFIG_RESOURCES_64BIT is not set 238# CONFIG_RESOURCES_64BIT is not set
239# CONFIG_PHYS_ADDR_T_64BIT is not set
238CONFIG_ZONE_DMA_FLAG=1 240CONFIG_ZONE_DMA_FLAG=1
239CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
240CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y
241CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
242CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
243# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -261,7 +264,7 @@ CONFIG_PCI_SYSCALL=y
261# CONFIG_PCIEPORTBUS is not set 264# CONFIG_PCIEPORTBUS is not set
262CONFIG_ARCH_SUPPORTS_MSI=y 265CONFIG_ARCH_SUPPORTS_MSI=y
263# CONFIG_PCI_MSI is not set 266# CONFIG_PCI_MSI is not set
264CONFIG_PCI_LEGACY=y 267# CONFIG_PCI_LEGACY is not set
265# CONFIG_PCI_DEBUG is not set 268# CONFIG_PCI_DEBUG is not set
266# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
267# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
@@ -363,6 +366,7 @@ CONFIG_SCTP_HMAC_MD5=y
363# CONFIG_TIPC is not set 366# CONFIG_TIPC is not set
364# CONFIG_ATM is not set 367# CONFIG_ATM is not set
365# CONFIG_BRIDGE is not set 368# CONFIG_BRIDGE is not set
369# CONFIG_NET_DSA is not set
366# CONFIG_VLAN_8021Q is not set 370# CONFIG_VLAN_8021Q is not set
367# CONFIG_DECNET is not set 371# CONFIG_DECNET is not set
368# CONFIG_LLC2 is not set 372# CONFIG_LLC2 is not set
@@ -383,12 +387,11 @@ CONFIG_SCTP_HMAC_MD5=y
383# CONFIG_IRDA is not set 387# CONFIG_IRDA is not set
384# CONFIG_BT is not set 388# CONFIG_BT is not set
385# CONFIG_AF_RXRPC is not set 389# CONFIG_AF_RXRPC is not set
390# CONFIG_PHONET is not set
386CONFIG_FIB_RULES=y 391CONFIG_FIB_RULES=y
387 392CONFIG_WIRELESS=y
388#
389# Wireless
390#
391# CONFIG_CFG80211 is not set 393# CONFIG_CFG80211 is not set
394CONFIG_WIRELESS_OLD_REGULATORY=y
392# CONFIG_WIRELESS_EXT is not set 395# CONFIG_WIRELESS_EXT is not set
393# CONFIG_MAC80211 is not set 396# CONFIG_MAC80211 is not set
394# CONFIG_IEEE80211 is not set 397# CONFIG_IEEE80211 is not set
@@ -634,8 +637,12 @@ CONFIG_MII=y
634# CONFIG_IBM_NEW_EMAC_RGMII is not set 637# CONFIG_IBM_NEW_EMAC_RGMII is not set
635# CONFIG_IBM_NEW_EMAC_TAH is not set 638# CONFIG_IBM_NEW_EMAC_TAH is not set
636# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 639# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
640# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
641# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
642# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
637# CONFIG_NET_PCI is not set 643# CONFIG_NET_PCI is not set
638# CONFIG_B44 is not set 644# CONFIG_B44 is not set
645# CONFIG_ATL2 is not set
639CONFIG_NETDEV_1000=y 646CONFIG_NETDEV_1000=y
640# CONFIG_ACENIC is not set 647# CONFIG_ACENIC is not set
641# CONFIG_DL2K is not set 648# CONFIG_DL2K is not set
@@ -657,18 +664,22 @@ CONFIG_GIANFAR=y
657# CONFIG_QLA3XXX is not set 664# CONFIG_QLA3XXX is not set
658# CONFIG_ATL1 is not set 665# CONFIG_ATL1 is not set
659# CONFIG_ATL1E is not set 666# CONFIG_ATL1E is not set
667# CONFIG_JME is not set
660CONFIG_NETDEV_10000=y 668CONFIG_NETDEV_10000=y
661# CONFIG_CHELSIO_T1 is not set 669# CONFIG_CHELSIO_T1 is not set
662# CONFIG_CHELSIO_T3 is not set 670# CONFIG_CHELSIO_T3 is not set
671# CONFIG_ENIC is not set
663# CONFIG_IXGBE is not set 672# CONFIG_IXGBE is not set
664# CONFIG_IXGB is not set 673# CONFIG_IXGB is not set
665# CONFIG_S2IO is not set 674# CONFIG_S2IO is not set
666# CONFIG_MYRI10GE is not set 675# CONFIG_MYRI10GE is not set
667# CONFIG_NETXEN_NIC is not set 676# CONFIG_NETXEN_NIC is not set
668# CONFIG_NIU is not set 677# CONFIG_NIU is not set
678# CONFIG_MLX4_EN is not set
669# CONFIG_MLX4_CORE is not set 679# CONFIG_MLX4_CORE is not set
670# CONFIG_TEHUTI is not set 680# CONFIG_TEHUTI is not set
671# CONFIG_BNX2X is not set 681# CONFIG_BNX2X is not set
682# CONFIG_QLGE is not set
672# CONFIG_SFC is not set 683# CONFIG_SFC is not set
673# CONFIG_TR is not set 684# CONFIG_TR is not set
674 685
@@ -703,7 +714,7 @@ CONFIG_NETDEV_10000=y
703# Input device support 714# Input device support
704# 715#
705CONFIG_INPUT=y 716CONFIG_INPUT=y
706# CONFIG_INPUT_FF_MEMLESS is not set 717CONFIG_INPUT_FF_MEMLESS=m
707# CONFIG_INPUT_POLLDEV is not set 718# CONFIG_INPUT_POLLDEV is not set
708 719
709# 720#
@@ -872,6 +883,17 @@ CONFIG_SSB_POSSIBLE=y
872# CONFIG_MFD_SM501 is not set 883# CONFIG_MFD_SM501 is not set
873# CONFIG_HTC_PASIC3 is not set 884# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set 885# CONFIG_MFD_TMIO is not set
886# CONFIG_PMIC_DA903X is not set
887# CONFIG_MFD_WM8400 is not set
888# CONFIG_MFD_WM8350_I2C is not set
889
890#
891# Voltage and Current regulators
892#
893# CONFIG_REGULATOR is not set
894# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
895# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
896# CONFIG_REGULATOR_BQ24022 is not set
875 897
876# 898#
877# Multimedia devices 899# Multimedia devices
@@ -912,7 +934,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
912# CONFIG_DVB_USB is not set 934# CONFIG_DVB_USB is not set
913# CONFIG_DVB_TTUSB_BUDGET is not set 935# CONFIG_DVB_TTUSB_BUDGET is not set
914# CONFIG_DVB_TTUSB_DEC is not set 936# CONFIG_DVB_TTUSB_DEC is not set
915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set 937# CONFIG_DVB_SIANO_SMS1XXX is not set
917 938
918# 939#
@@ -930,6 +951,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
930# CONFIG_DVB_PLUTO2 is not set 951# CONFIG_DVB_PLUTO2 is not set
931 952
932# 953#
954# Supported SDMC DM1105 Adapters
955#
956# CONFIG_DVB_DM1105 is not set
957
958#
933# Supported DVB Frontends 959# Supported DVB Frontends
934# 960#
935 961
@@ -945,6 +971,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
945# CONFIG_DVB_CX24123 is not set 971# CONFIG_DVB_CX24123 is not set
946# CONFIG_DVB_MT312 is not set 972# CONFIG_DVB_MT312 is not set
947# CONFIG_DVB_S5H1420 is not set 973# CONFIG_DVB_S5H1420 is not set
974# CONFIG_DVB_STV0288 is not set
975# CONFIG_DVB_STB6000 is not set
948# CONFIG_DVB_STV0299 is not set 976# CONFIG_DVB_STV0299 is not set
949# CONFIG_DVB_TDA8083 is not set 977# CONFIG_DVB_TDA8083 is not set
950# CONFIG_DVB_TDA10086 is not set 978# CONFIG_DVB_TDA10086 is not set
@@ -952,6 +980,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
952# CONFIG_DVB_TUNER_ITD1000 is not set 980# CONFIG_DVB_TUNER_ITD1000 is not set
953# CONFIG_DVB_TDA826X is not set 981# CONFIG_DVB_TDA826X is not set
954# CONFIG_DVB_TUA6100 is not set 982# CONFIG_DVB_TUA6100 is not set
983# CONFIG_DVB_CX24116 is not set
984# CONFIG_DVB_SI21XX is not set
955 985
956# 986#
957# DVB-T (terrestrial) frontends 987# DVB-T (terrestrial) frontends
@@ -1004,6 +1034,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1004# CONFIG_DVB_LNBP21 is not set 1034# CONFIG_DVB_LNBP21 is not set
1005# CONFIG_DVB_ISL6405 is not set 1035# CONFIG_DVB_ISL6405 is not set
1006# CONFIG_DVB_ISL6421 is not set 1036# CONFIG_DVB_ISL6421 is not set
1037# CONFIG_DVB_LGS8GL5 is not set
1038
1039#
1040# Tools to develop new frontends
1041#
1042# CONFIG_DVB_DUMMY_FE is not set
1043# CONFIG_DVB_AF9013 is not set
1007CONFIG_DAB=y 1044CONFIG_DAB=y
1008# CONFIG_USB_DABUSB is not set 1045# CONFIG_USB_DABUSB is not set
1009 1046
@@ -1029,6 +1066,7 @@ CONFIG_VGA_CONSOLE=y
1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1066# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1030CONFIG_DUMMY_CONSOLE=y 1067CONFIG_DUMMY_CONSOLE=y
1031CONFIG_SOUND=y 1068CONFIG_SOUND=y
1069CONFIG_SOUND_OSS_CORE=y
1032CONFIG_SND=y 1070CONFIG_SND=y
1033CONFIG_SND_TIMER=y 1071CONFIG_SND_TIMER=y
1034CONFIG_SND_PCM=y 1072CONFIG_SND_PCM=y
@@ -1129,9 +1167,36 @@ CONFIG_HID=y
1129# USB Input Devices 1167# USB Input Devices
1130# 1168#
1131CONFIG_USB_HID=y 1169CONFIG_USB_HID=y
1132# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1170# CONFIG_HID_PID is not set
1133# CONFIG_HID_FF is not set
1134# CONFIG_USB_HIDDEV is not set 1171# CONFIG_USB_HIDDEV is not set
1172
1173#
1174# Special HID drivers
1175#
1176CONFIG_HID_COMPAT=y
1177CONFIG_HID_A4TECH=y
1178CONFIG_HID_APPLE=y
1179CONFIG_HID_BELKIN=y
1180CONFIG_HID_BRIGHT=y
1181CONFIG_HID_CHERRY=y
1182CONFIG_HID_CHICONY=y
1183CONFIG_HID_CYPRESS=y
1184CONFIG_HID_DELL=y
1185CONFIG_HID_EZKEY=y
1186CONFIG_HID_GYRATION=y
1187CONFIG_HID_LOGITECH=y
1188# CONFIG_LOGITECH_FF is not set
1189# CONFIG_LOGIRUMBLEPAD2_FF is not set
1190CONFIG_HID_MICROSOFT=y
1191CONFIG_HID_MONTEREY=y
1192CONFIG_HID_PANTHERLORD=y
1193# CONFIG_PANTHERLORD_FF is not set
1194CONFIG_HID_PETALYNX=y
1195CONFIG_HID_SAMSUNG=y
1196CONFIG_HID_SONY=y
1197CONFIG_HID_SUNPLUS=y
1198CONFIG_THRUSTMASTER_FF=m
1199CONFIG_ZEROPLUS_FF=m
1135CONFIG_USB_SUPPORT=y 1200CONFIG_USB_SUPPORT=y
1136CONFIG_USB_ARCH_HAS_HCD=y 1201CONFIG_USB_ARCH_HAS_HCD=y
1137CONFIG_USB_ARCH_HAS_OHCI=y 1202CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1150,6 +1215,8 @@ CONFIG_USB_DEVICE_CLASS=y
1150# CONFIG_USB_OTG_WHITELIST is not set 1215# CONFIG_USB_OTG_WHITELIST is not set
1151# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1216# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1152CONFIG_USB_MON=y 1217CONFIG_USB_MON=y
1218# CONFIG_USB_WUSB is not set
1219# CONFIG_USB_WUSB_CBAF is not set
1153 1220
1154# 1221#
1155# USB Host Controller Drivers 1222# USB Host Controller Drivers
@@ -1173,6 +1240,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1173# CONFIG_USB_UHCI_HCD is not set 1240# CONFIG_USB_UHCI_HCD is not set
1174# CONFIG_USB_SL811_HCD is not set 1241# CONFIG_USB_SL811_HCD is not set
1175# CONFIG_USB_R8A66597_HCD is not set 1242# CONFIG_USB_R8A66597_HCD is not set
1243# CONFIG_USB_WHCI_HCD is not set
1244# CONFIG_USB_HWA_HCD is not set
1176 1245
1177# 1246#
1178# USB Device Class drivers 1247# USB Device Class drivers
@@ -1180,6 +1249,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1180# CONFIG_USB_ACM is not set 1249# CONFIG_USB_ACM is not set
1181# CONFIG_USB_PRINTER is not set 1250# CONFIG_USB_PRINTER is not set
1182# CONFIG_USB_WDM is not set 1251# CONFIG_USB_WDM is not set
1252# CONFIG_USB_TMC is not set
1183 1253
1184# 1254#
1185# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1255# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1201,7 +1271,6 @@ CONFIG_USB_STORAGE=y
1201# CONFIG_USB_STORAGE_ALAUDA is not set 1271# CONFIG_USB_STORAGE_ALAUDA is not set
1202# CONFIG_USB_STORAGE_ONETOUCH is not set 1272# CONFIG_USB_STORAGE_ONETOUCH is not set
1203# CONFIG_USB_STORAGE_KARMA is not set 1273# CONFIG_USB_STORAGE_KARMA is not set
1204# CONFIG_USB_STORAGE_SIERRA is not set
1205# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1274# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1206# CONFIG_USB_LIBUSUAL is not set 1275# CONFIG_USB_LIBUSUAL is not set
1207 1276
@@ -1222,6 +1291,7 @@ CONFIG_USB_STORAGE=y
1222# CONFIG_USB_EMI62 is not set 1291# CONFIG_USB_EMI62 is not set
1223# CONFIG_USB_EMI26 is not set 1292# CONFIG_USB_EMI26 is not set
1224# CONFIG_USB_ADUTUX is not set 1293# CONFIG_USB_ADUTUX is not set
1294# CONFIG_USB_SEVSEG is not set
1225# CONFIG_USB_RIO500 is not set 1295# CONFIG_USB_RIO500 is not set
1226# CONFIG_USB_LEGOTOWER is not set 1296# CONFIG_USB_LEGOTOWER is not set
1227# CONFIG_USB_LCD is not set 1297# CONFIG_USB_LCD is not set
@@ -1239,7 +1309,9 @@ CONFIG_USB_STORAGE=y
1239# CONFIG_USB_IOWARRIOR is not set 1309# CONFIG_USB_IOWARRIOR is not set
1240# CONFIG_USB_TEST is not set 1310# CONFIG_USB_TEST is not set
1241# CONFIG_USB_ISIGHTFW is not set 1311# CONFIG_USB_ISIGHTFW is not set
1312# CONFIG_USB_VST is not set
1242# CONFIG_USB_GADGET is not set 1313# CONFIG_USB_GADGET is not set
1314# CONFIG_UWB is not set
1243# CONFIG_MMC is not set 1315# CONFIG_MMC is not set
1244# CONFIG_MEMSTICK is not set 1316# CONFIG_MEMSTICK is not set
1245# CONFIG_NEW_LEDS is not set 1317# CONFIG_NEW_LEDS is not set
@@ -1285,12 +1357,15 @@ CONFIG_RTC_INTF_DEV=y
1285# Platform RTC drivers 1357# Platform RTC drivers
1286# 1358#
1287CONFIG_RTC_DRV_CMOS=y 1359CONFIG_RTC_DRV_CMOS=y
1360# CONFIG_RTC_DRV_DS1286 is not set
1288# CONFIG_RTC_DRV_DS1511 is not set 1361# CONFIG_RTC_DRV_DS1511 is not set
1289# CONFIG_RTC_DRV_DS1553 is not set 1362# CONFIG_RTC_DRV_DS1553 is not set
1290# CONFIG_RTC_DRV_DS1742 is not set 1363# CONFIG_RTC_DRV_DS1742 is not set
1291# CONFIG_RTC_DRV_STK17TA8 is not set 1364# CONFIG_RTC_DRV_STK17TA8 is not set
1292# CONFIG_RTC_DRV_M48T86 is not set 1365# CONFIG_RTC_DRV_M48T86 is not set
1366# CONFIG_RTC_DRV_M48T35 is not set
1293# CONFIG_RTC_DRV_M48T59 is not set 1367# CONFIG_RTC_DRV_M48T59 is not set
1368# CONFIG_RTC_DRV_BQ4802 is not set
1294# CONFIG_RTC_DRV_V3020 is not set 1369# CONFIG_RTC_DRV_V3020 is not set
1295 1370
1296# 1371#
@@ -1311,6 +1386,7 @@ CONFIG_DMA_ENGINE=y
1311# CONFIG_NET_DMA is not set 1386# CONFIG_NET_DMA is not set
1312# CONFIG_DMATEST is not set 1387# CONFIG_DMATEST is not set
1313# CONFIG_UIO is not set 1388# CONFIG_UIO is not set
1389# CONFIG_STAGING is not set
1314 1390
1315# 1391#
1316# File systems 1392# File systems
@@ -1322,12 +1398,13 @@ CONFIG_EXT3_FS=y
1322CONFIG_EXT3_FS_XATTR=y 1398CONFIG_EXT3_FS_XATTR=y
1323# CONFIG_EXT3_FS_POSIX_ACL is not set 1399# CONFIG_EXT3_FS_POSIX_ACL is not set
1324# CONFIG_EXT3_FS_SECURITY is not set 1400# CONFIG_EXT3_FS_SECURITY is not set
1325# CONFIG_EXT4DEV_FS is not set 1401# CONFIG_EXT4_FS is not set
1326CONFIG_JBD=y 1402CONFIG_JBD=y
1327CONFIG_FS_MBCACHE=y 1403CONFIG_FS_MBCACHE=y
1328# CONFIG_REISERFS_FS is not set 1404# CONFIG_REISERFS_FS is not set
1329# CONFIG_JFS_FS is not set 1405# CONFIG_JFS_FS is not set
1330# CONFIG_FS_POSIX_ACL is not set 1406# CONFIG_FS_POSIX_ACL is not set
1407CONFIG_FILE_LOCKING=y
1331# CONFIG_XFS_FS is not set 1408# CONFIG_XFS_FS is not set
1332# CONFIG_OCFS2_FS is not set 1409# CONFIG_OCFS2_FS is not set
1333CONFIG_DNOTIFY=y 1410CONFIG_DNOTIFY=y
@@ -1365,6 +1442,7 @@ CONFIG_NTFS_FS=y
1365CONFIG_PROC_FS=y 1442CONFIG_PROC_FS=y
1366CONFIG_PROC_KCORE=y 1443CONFIG_PROC_KCORE=y
1367CONFIG_PROC_SYSCTL=y 1444CONFIG_PROC_SYSCTL=y
1445CONFIG_PROC_PAGE_MONITOR=y
1368CONFIG_SYSFS=y 1446CONFIG_SYSFS=y
1369CONFIG_TMPFS=y 1447CONFIG_TMPFS=y
1370# CONFIG_TMPFS_POSIX_ACL is not set 1448# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1409,6 +1487,7 @@ CONFIG_EXPORTFS=y
1409CONFIG_NFS_COMMON=y 1487CONFIG_NFS_COMMON=y
1410CONFIG_SUNRPC=y 1488CONFIG_SUNRPC=y
1411CONFIG_SUNRPC_GSS=y 1489CONFIG_SUNRPC_GSS=y
1490# CONFIG_SUNRPC_REGISTER_V4 is not set
1412CONFIG_RPCSEC_GSS_KRB5=y 1491CONFIG_RPCSEC_GSS_KRB5=y
1413# CONFIG_RPCSEC_GSS_SPKM3 is not set 1492# CONFIG_RPCSEC_GSS_SPKM3 is not set
1414# CONFIG_SMB_FS is not set 1493# CONFIG_SMB_FS is not set
@@ -1484,7 +1563,6 @@ CONFIG_NLS_UTF8=m
1484# Library routines 1563# Library routines
1485# 1564#
1486CONFIG_BITREVERSE=y 1565CONFIG_BITREVERSE=y
1487# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1488# CONFIG_CRC_CCITT is not set 1566# CONFIG_CRC_CCITT is not set
1489# CONFIG_CRC16 is not set 1567# CONFIG_CRC16 is not set
1490CONFIG_CRC_T10DIF=y 1568CONFIG_CRC_T10DIF=y
@@ -1538,15 +1616,23 @@ CONFIG_DEBUG_INFO=y
1538# CONFIG_DEBUG_SG is not set 1616# CONFIG_DEBUG_SG is not set
1539# CONFIG_BOOT_PRINTK_DELAY is not set 1617# CONFIG_BOOT_PRINTK_DELAY is not set
1540# CONFIG_RCU_TORTURE_TEST is not set 1618# CONFIG_RCU_TORTURE_TEST is not set
1619# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1541# CONFIG_BACKTRACE_SELF_TEST is not set 1620# CONFIG_BACKTRACE_SELF_TEST is not set
1621# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1542# CONFIG_FAULT_INJECTION is not set 1622# CONFIG_FAULT_INJECTION is not set
1543# CONFIG_LATENCYTOP is not set 1623# CONFIG_LATENCYTOP is not set
1544CONFIG_SYSCTL_SYSCALL_CHECK=y 1624CONFIG_SYSCTL_SYSCALL_CHECK=y
1545CONFIG_HAVE_FTRACE=y 1625CONFIG_HAVE_FUNCTION_TRACER=y
1546CONFIG_HAVE_DYNAMIC_FTRACE=y 1626
1547# CONFIG_FTRACE is not set 1627#
1628# Tracers
1629#
1630# CONFIG_FUNCTION_TRACER is not set
1548# CONFIG_SCHED_TRACER is not set 1631# CONFIG_SCHED_TRACER is not set
1549# CONFIG_CONTEXT_SWITCH_TRACER is not set 1632# CONFIG_CONTEXT_SWITCH_TRACER is not set
1633# CONFIG_BOOT_TRACER is not set
1634# CONFIG_STACK_TRACER is not set
1635# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1550# CONFIG_SAMPLES is not set 1636# CONFIG_SAMPLES is not set
1551CONFIG_HAVE_ARCH_KGDB=y 1637CONFIG_HAVE_ARCH_KGDB=y
1552# CONFIG_KGDB is not set 1638# CONFIG_KGDB is not set
@@ -1555,6 +1641,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1555# CONFIG_DEBUG_PAGEALLOC is not set 1641# CONFIG_DEBUG_PAGEALLOC is not set
1556# CONFIG_CODE_PATCHING_SELFTEST is not set 1642# CONFIG_CODE_PATCHING_SELFTEST is not set
1557# CONFIG_FTR_FIXUP_SELFTEST is not set 1643# CONFIG_FTR_FIXUP_SELFTEST is not set
1644# CONFIG_MSI_BITMAP_SELFTEST is not set
1558# CONFIG_XMON is not set 1645# CONFIG_XMON is not set
1559# CONFIG_IRQSTACKS is not set 1646# CONFIG_IRQSTACKS is not set
1560# CONFIG_BDI_SWITCH is not set 1647# CONFIG_BDI_SWITCH is not set
@@ -1565,16 +1652,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1565# 1652#
1566# CONFIG_KEYS is not set 1653# CONFIG_KEYS is not set
1567# CONFIG_SECURITY is not set 1654# CONFIG_SECURITY is not set
1655# CONFIG_SECURITYFS is not set
1568# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1656# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1569CONFIG_CRYPTO=y 1657CONFIG_CRYPTO=y
1570 1658
1571# 1659#
1572# Crypto core or helper 1660# Crypto core or helper
1573# 1661#
1662# CONFIG_CRYPTO_FIPS is not set
1574CONFIG_CRYPTO_ALGAPI=y 1663CONFIG_CRYPTO_ALGAPI=y
1575CONFIG_CRYPTO_AEAD=y 1664CONFIG_CRYPTO_AEAD=y
1576CONFIG_CRYPTO_BLKCIPHER=y 1665CONFIG_CRYPTO_BLKCIPHER=y
1577CONFIG_CRYPTO_HASH=y 1666CONFIG_CRYPTO_HASH=y
1667CONFIG_CRYPTO_RNG=y
1578CONFIG_CRYPTO_MANAGER=y 1668CONFIG_CRYPTO_MANAGER=y
1579# CONFIG_CRYPTO_GF128MUL is not set 1669# CONFIG_CRYPTO_GF128MUL is not set
1580# CONFIG_CRYPTO_NULL is not set 1670# CONFIG_CRYPTO_NULL is not set
@@ -1647,6 +1737,11 @@ CONFIG_CRYPTO_DES=y
1647# 1737#
1648# CONFIG_CRYPTO_DEFLATE is not set 1738# CONFIG_CRYPTO_DEFLATE is not set
1649# CONFIG_CRYPTO_LZO is not set 1739# CONFIG_CRYPTO_LZO is not set
1740
1741#
1742# Random Number Generation
1743#
1744# CONFIG_CRYPTO_ANSI_CPRNG is not set
1650CONFIG_CRYPTO_HW=y 1745CONFIG_CRYPTO_HW=y
1651# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1746# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1652CONFIG_CRYPTO_DEV_TALITOS=y 1747CONFIG_CRYPTO_DEV_TALITOS=y
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
index 06e26d906f65..6cf929259ba7 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:32 2008 4# Sat Nov 8 12:40:09 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -108,7 +108,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 108CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 110CONFIG_SHMEM=y
111CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 114CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 115# CONFIG_SLAB is not set
114CONFIG_SLUB=y 116CONFIG_SLUB=y
@@ -121,10 +123,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 125CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126CONFIG_HAVE_CLK=y 126CONFIG_HAVE_CLK=y
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 128CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 129CONFIG_RT_MUTEXES=y
@@ -151,6 +150,7 @@ CONFIG_DEFAULT_AS=y
151# CONFIG_DEFAULT_NOOP is not set 150# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="anticipatory" 151CONFIG_DEFAULT_IOSCHED="anticipatory"
153CONFIG_CLASSIC_RCU=y 152CONFIG_CLASSIC_RCU=y
153# CONFIG_FREEZER is not set
154 154
155# 155#
156# Platform support 156# Platform support
@@ -185,15 +185,16 @@ CONFIG_MPIC=y
185# CONFIG_PPC_INDIRECT_IO is not set 185# CONFIG_PPC_INDIRECT_IO is not set
186# CONFIG_GENERIC_IOMAP is not set 186# CONFIG_GENERIC_IOMAP is not set
187# CONFIG_CPU_FREQ is not set 187# CONFIG_CPU_FREQ is not set
188# CONFIG_QUICC_ENGINE is not set
188CONFIG_CPM2=y 189CONFIG_CPM2=y
189# CONFIG_FSL_ULI1575 is not set 190# CONFIG_FSL_ULI1575 is not set
190CONFIG_CPM=y 191CONFIG_CPM=y
192# CONFIG_MPC8xxx_GPIO is not set
191 193
192# 194#
193# Kernel options 195# Kernel options
194# 196#
195# CONFIG_HIGHMEM is not set 197# CONFIG_HIGHMEM is not set
196# CONFIG_TICK_ONESHOT is not set
197# CONFIG_NO_HZ is not set 198# CONFIG_NO_HZ is not set
198# CONFIG_HIGH_RES_TIMERS is not set 199# CONFIG_HIGH_RES_TIMERS is not set
199CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 200CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -207,6 +208,8 @@ CONFIG_PREEMPT_NONE=y
207# CONFIG_PREEMPT_VOLUNTARY is not set 208# CONFIG_PREEMPT_VOLUNTARY is not set
208# CONFIG_PREEMPT is not set 209# CONFIG_PREEMPT is not set
209CONFIG_BINFMT_ELF=y 210CONFIG_BINFMT_ELF=y
211# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
212# CONFIG_HAVE_AOUT is not set
210CONFIG_BINFMT_MISC=y 213CONFIG_BINFMT_MISC=y
211CONFIG_MATH_EMULATION=y 214CONFIG_MATH_EMULATION=y
212# CONFIG_IOMMU_HELPER is not set 215# CONFIG_IOMMU_HELPER is not set
@@ -221,15 +224,15 @@ CONFIG_FLATMEM_MANUAL=y
221# CONFIG_SPARSEMEM_MANUAL is not set 224# CONFIG_SPARSEMEM_MANUAL is not set
222CONFIG_FLATMEM=y 225CONFIG_FLATMEM=y
223CONFIG_FLAT_NODE_MEM_MAP=y 226CONFIG_FLAT_NODE_MEM_MAP=y
224# CONFIG_SPARSEMEM_STATIC is not set
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 227CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 228CONFIG_SPLIT_PTLOCK_CPUS=4
228CONFIG_MIGRATION=y 229CONFIG_MIGRATION=y
229# CONFIG_RESOURCES_64BIT is not set 230# CONFIG_RESOURCES_64BIT is not set
231# CONFIG_PHYS_ADDR_T_64BIT is not set
230CONFIG_ZONE_DMA_FLAG=1 232CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 233CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 234CONFIG_VIRT_TO_BUS=y
235CONFIG_UNEVICTABLE_LRU=y
233CONFIG_FORCE_MAX_ZONEORDER=11 236CONFIG_FORCE_MAX_ZONEORDER=11
234# CONFIG_PROC_DEVICETREE is not set 237# CONFIG_PROC_DEVICETREE is not set
235# CONFIG_CMDLINE_BOOL is not set 238# CONFIG_CMDLINE_BOOL is not set
@@ -252,7 +255,7 @@ CONFIG_PCI_SYSCALL=y
252# CONFIG_PCIEPORTBUS is not set 255# CONFIG_PCIEPORTBUS is not set
253CONFIG_ARCH_SUPPORTS_MSI=y 256CONFIG_ARCH_SUPPORTS_MSI=y
254# CONFIG_PCI_MSI is not set 257# CONFIG_PCI_MSI is not set
255CONFIG_PCI_LEGACY=y 258# CONFIG_PCI_LEGACY is not set
256CONFIG_PCI_DEBUG=y 259CONFIG_PCI_DEBUG=y
257# CONFIG_PCCARD is not set 260# CONFIG_PCCARD is not set
258# CONFIG_HOTPLUG_PCI is not set 261# CONFIG_HOTPLUG_PCI is not set
@@ -322,6 +325,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
322# CONFIG_TIPC is not set 325# CONFIG_TIPC is not set
323# CONFIG_ATM is not set 326# CONFIG_ATM is not set
324# CONFIG_BRIDGE is not set 327# CONFIG_BRIDGE is not set
328# CONFIG_NET_DSA is not set
325# CONFIG_VLAN_8021Q is not set 329# CONFIG_VLAN_8021Q is not set
326# CONFIG_DECNET is not set 330# CONFIG_DECNET is not set
327# CONFIG_LLC2 is not set 331# CONFIG_LLC2 is not set
@@ -342,11 +346,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_IRDA is not set 346# CONFIG_IRDA is not set
343# CONFIG_BT is not set 347# CONFIG_BT is not set
344# CONFIG_AF_RXRPC is not set 348# CONFIG_AF_RXRPC is not set
345 349# CONFIG_PHONET is not set
346# 350CONFIG_WIRELESS=y
347# Wireless
348#
349# CONFIG_CFG80211 is not set 351# CONFIG_CFG80211 is not set
352CONFIG_WIRELESS_OLD_REGULATORY=y
350# CONFIG_WIRELESS_EXT is not set 353# CONFIG_WIRELESS_EXT is not set
351# CONFIG_MAC80211 is not set 354# CONFIG_MAC80211 is not set
352# CONFIG_IEEE80211 is not set 355# CONFIG_IEEE80211 is not set
@@ -459,8 +462,12 @@ CONFIG_MII=y
459# CONFIG_IBM_NEW_EMAC_RGMII is not set 462# CONFIG_IBM_NEW_EMAC_RGMII is not set
460# CONFIG_IBM_NEW_EMAC_TAH is not set 463# CONFIG_IBM_NEW_EMAC_TAH is not set
461# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 464# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
465# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
466# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
467# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
462# CONFIG_NET_PCI is not set 468# CONFIG_NET_PCI is not set
463# CONFIG_B44 is not set 469# CONFIG_B44 is not set
470# CONFIG_ATL2 is not set
464CONFIG_FS_ENET=y 471CONFIG_FS_ENET=y
465# CONFIG_FS_ENET_HAS_SCC is not set 472# CONFIG_FS_ENET_HAS_SCC is not set
466CONFIG_FS_ENET_HAS_FCC=y 473CONFIG_FS_ENET_HAS_FCC=y
@@ -469,7 +476,6 @@ CONFIG_NETDEV_1000=y
469# CONFIG_ACENIC is not set 476# CONFIG_ACENIC is not set
470# CONFIG_DL2K is not set 477# CONFIG_DL2K is not set
471CONFIG_E1000=y 478CONFIG_E1000=y
472# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
473# CONFIG_E1000E is not set 479# CONFIG_E1000E is not set
474# CONFIG_IP1000 is not set 480# CONFIG_IP1000 is not set
475# CONFIG_IGB is not set 481# CONFIG_IGB is not set
@@ -487,18 +493,22 @@ CONFIG_GIANFAR=y
487# CONFIG_QLA3XXX is not set 493# CONFIG_QLA3XXX is not set
488# CONFIG_ATL1 is not set 494# CONFIG_ATL1 is not set
489# CONFIG_ATL1E is not set 495# CONFIG_ATL1E is not set
496# CONFIG_JME is not set
490CONFIG_NETDEV_10000=y 497CONFIG_NETDEV_10000=y
491# CONFIG_CHELSIO_T1 is not set 498# CONFIG_CHELSIO_T1 is not set
492# CONFIG_CHELSIO_T3 is not set 499# CONFIG_CHELSIO_T3 is not set
500# CONFIG_ENIC is not set
493# CONFIG_IXGBE is not set 501# CONFIG_IXGBE is not set
494# CONFIG_IXGB is not set 502# CONFIG_IXGB is not set
495# CONFIG_S2IO is not set 503# CONFIG_S2IO is not set
496# CONFIG_MYRI10GE is not set 504# CONFIG_MYRI10GE is not set
497# CONFIG_NETXEN_NIC is not set 505# CONFIG_NETXEN_NIC is not set
498# CONFIG_NIU is not set 506# CONFIG_NIU is not set
507# CONFIG_MLX4_EN is not set
499# CONFIG_MLX4_CORE is not set 508# CONFIG_MLX4_CORE is not set
500# CONFIG_TEHUTI is not set 509# CONFIG_TEHUTI is not set
501# CONFIG_BNX2X is not set 510# CONFIG_BNX2X is not set
511# CONFIG_QLGE is not set
502# CONFIG_SFC is not set 512# CONFIG_SFC is not set
503# CONFIG_TR is not set 513# CONFIG_TR is not set
504 514
@@ -571,12 +581,6 @@ CONFIG_SERIAL_CORE=y
571CONFIG_SERIAL_CORE_CONSOLE=y 581CONFIG_SERIAL_CORE_CONSOLE=y
572CONFIG_SERIAL_CPM=y 582CONFIG_SERIAL_CPM=y
573CONFIG_SERIAL_CPM_CONSOLE=y 583CONFIG_SERIAL_CPM_CONSOLE=y
574CONFIG_SERIAL_CPM_SCC1=y
575CONFIG_SERIAL_CPM_SCC2=y
576# CONFIG_SERIAL_CPM_SCC3 is not set
577# CONFIG_SERIAL_CPM_SCC4 is not set
578# CONFIG_SERIAL_CPM_SMC1 is not set
579# CONFIG_SERIAL_CPM_SMC2 is not set
580# CONFIG_SERIAL_JSM is not set 584# CONFIG_SERIAL_JSM is not set
581CONFIG_UNIX98_PTYS=y 585CONFIG_UNIX98_PTYS=y
582CONFIG_LEGACY_PTYS=y 586CONFIG_LEGACY_PTYS=y
@@ -649,6 +653,14 @@ CONFIG_SSB_POSSIBLE=y
649# CONFIG_MFD_TMIO is not set 653# CONFIG_MFD_TMIO is not set
650 654
651# 655#
656# Voltage and Current regulators
657#
658# CONFIG_REGULATOR is not set
659# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
660# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
661# CONFIG_REGULATOR_BQ24022 is not set
662
663#
652# Multimedia devices 664# Multimedia devices
653# 665#
654 666
@@ -683,6 +695,12 @@ CONFIG_HID_SUPPORT=y
683CONFIG_HID=y 695CONFIG_HID=y
684# CONFIG_HID_DEBUG is not set 696# CONFIG_HID_DEBUG is not set
685# CONFIG_HIDRAW is not set 697# CONFIG_HIDRAW is not set
698# CONFIG_HID_PID is not set
699
700#
701# Special HID drivers
702#
703CONFIG_HID_COMPAT=y
686CONFIG_USB_SUPPORT=y 704CONFIG_USB_SUPPORT=y
687CONFIG_USB_ARCH_HAS_HCD=y 705CONFIG_USB_ARCH_HAS_HCD=y
688CONFIG_USB_ARCH_HAS_OHCI=y 706CONFIG_USB_ARCH_HAS_OHCI=y
@@ -699,6 +717,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
699# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 717# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
700# 718#
701# CONFIG_USB_GADGET is not set 719# CONFIG_USB_GADGET is not set
720# CONFIG_UWB is not set
702# CONFIG_MMC is not set 721# CONFIG_MMC is not set
703# CONFIG_MEMSTICK is not set 722# CONFIG_MEMSTICK is not set
704# CONFIG_NEW_LEDS is not set 723# CONFIG_NEW_LEDS is not set
@@ -708,6 +727,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
708# CONFIG_RTC_CLASS is not set 727# CONFIG_RTC_CLASS is not set
709# CONFIG_DMADEVICES is not set 728# CONFIG_DMADEVICES is not set
710# CONFIG_UIO is not set 729# CONFIG_UIO is not set
730# CONFIG_STAGING is not set
711 731
712# 732#
713# File systems 733# File systems
@@ -719,12 +739,13 @@ CONFIG_EXT3_FS=y
719CONFIG_EXT3_FS_XATTR=y 739CONFIG_EXT3_FS_XATTR=y
720# CONFIG_EXT3_FS_POSIX_ACL is not set 740# CONFIG_EXT3_FS_POSIX_ACL is not set
721# CONFIG_EXT3_FS_SECURITY is not set 741# CONFIG_EXT3_FS_SECURITY is not set
722# CONFIG_EXT4DEV_FS is not set 742# CONFIG_EXT4_FS is not set
723CONFIG_JBD=y 743CONFIG_JBD=y
724CONFIG_FS_MBCACHE=y 744CONFIG_FS_MBCACHE=y
725# CONFIG_REISERFS_FS is not set 745# CONFIG_REISERFS_FS is not set
726# CONFIG_JFS_FS is not set 746# CONFIG_JFS_FS is not set
727# CONFIG_FS_POSIX_ACL is not set 747# CONFIG_FS_POSIX_ACL is not set
748CONFIG_FILE_LOCKING=y
728# CONFIG_XFS_FS is not set 749# CONFIG_XFS_FS is not set
729# CONFIG_OCFS2_FS is not set 750# CONFIG_OCFS2_FS is not set
730CONFIG_DNOTIFY=y 751CONFIG_DNOTIFY=y
@@ -754,6 +775,7 @@ CONFIG_INOTIFY_USER=y
754CONFIG_PROC_FS=y 775CONFIG_PROC_FS=y
755CONFIG_PROC_KCORE=y 776CONFIG_PROC_KCORE=y
756CONFIG_PROC_SYSCTL=y 777CONFIG_PROC_SYSCTL=y
778CONFIG_PROC_PAGE_MONITOR=y
757CONFIG_SYSFS=y 779CONFIG_SYSFS=y
758CONFIG_TMPFS=y 780CONFIG_TMPFS=y
759# CONFIG_TMPFS_POSIX_ACL is not set 781# CONFIG_TMPFS_POSIX_ACL is not set
@@ -788,6 +810,7 @@ CONFIG_ROOT_NFS=y
788CONFIG_LOCKD=y 810CONFIG_LOCKD=y
789CONFIG_NFS_COMMON=y 811CONFIG_NFS_COMMON=y
790CONFIG_SUNRPC=y 812CONFIG_SUNRPC=y
813# CONFIG_SUNRPC_REGISTER_V4 is not set
791# CONFIG_RPCSEC_GSS_KRB5 is not set 814# CONFIG_RPCSEC_GSS_KRB5 is not set
792# CONFIG_RPCSEC_GSS_SPKM3 is not set 815# CONFIG_RPCSEC_GSS_SPKM3 is not set
793# CONFIG_SMB_FS is not set 816# CONFIG_SMB_FS is not set
@@ -820,7 +843,6 @@ CONFIG_PARTITION_ADVANCED=y
820# Library routines 843# Library routines
821# 844#
822CONFIG_BITREVERSE=y 845CONFIG_BITREVERSE=y
823# CONFIG_GENERIC_FIND_FIRST_BIT is not set
824# CONFIG_CRC_CCITT is not set 846# CONFIG_CRC_CCITT is not set
825# CONFIG_CRC16 is not set 847# CONFIG_CRC16 is not set
826# CONFIG_CRC_T10DIF is not set 848# CONFIG_CRC_T10DIF is not set
@@ -872,15 +894,23 @@ CONFIG_DEBUG_MUTEXES=y
872# CONFIG_DEBUG_SG is not set 894# CONFIG_DEBUG_SG is not set
873# CONFIG_BOOT_PRINTK_DELAY is not set 895# CONFIG_BOOT_PRINTK_DELAY is not set
874# CONFIG_RCU_TORTURE_TEST is not set 896# CONFIG_RCU_TORTURE_TEST is not set
897# CONFIG_RCU_CPU_STALL_DETECTOR is not set
875# CONFIG_BACKTRACE_SELF_TEST is not set 898# CONFIG_BACKTRACE_SELF_TEST is not set
899# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
876# CONFIG_FAULT_INJECTION is not set 900# CONFIG_FAULT_INJECTION is not set
877# CONFIG_LATENCYTOP is not set 901# CONFIG_LATENCYTOP is not set
878CONFIG_SYSCTL_SYSCALL_CHECK=y 902CONFIG_SYSCTL_SYSCALL_CHECK=y
879CONFIG_HAVE_FTRACE=y 903CONFIG_HAVE_FUNCTION_TRACER=y
880CONFIG_HAVE_DYNAMIC_FTRACE=y 904
881# CONFIG_FTRACE is not set 905#
906# Tracers
907#
908# CONFIG_FUNCTION_TRACER is not set
882# CONFIG_SCHED_TRACER is not set 909# CONFIG_SCHED_TRACER is not set
883# CONFIG_CONTEXT_SWITCH_TRACER is not set 910# CONFIG_CONTEXT_SWITCH_TRACER is not set
911# CONFIG_BOOT_TRACER is not set
912# CONFIG_STACK_TRACER is not set
913# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
884# CONFIG_SAMPLES is not set 914# CONFIG_SAMPLES is not set
885CONFIG_HAVE_ARCH_KGDB=y 915CONFIG_HAVE_ARCH_KGDB=y
886# CONFIG_KGDB is not set 916# CONFIG_KGDB is not set
@@ -889,6 +919,7 @@ CONFIG_HAVE_ARCH_KGDB=y
889# CONFIG_DEBUG_PAGEALLOC is not set 919# CONFIG_DEBUG_PAGEALLOC is not set
890# CONFIG_CODE_PATCHING_SELFTEST is not set 920# CONFIG_CODE_PATCHING_SELFTEST is not set
891# CONFIG_FTR_FIXUP_SELFTEST is not set 921# CONFIG_FTR_FIXUP_SELFTEST is not set
922# CONFIG_MSI_BITMAP_SELFTEST is not set
892# CONFIG_XMON is not set 923# CONFIG_XMON is not set
893# CONFIG_IRQSTACKS is not set 924# CONFIG_IRQSTACKS is not set
894# CONFIG_BDI_SWITCH is not set 925# CONFIG_BDI_SWITCH is not set
@@ -899,12 +930,14 @@ CONFIG_HAVE_ARCH_KGDB=y
899# 930#
900# CONFIG_KEYS is not set 931# CONFIG_KEYS is not set
901# CONFIG_SECURITY is not set 932# CONFIG_SECURITY is not set
933# CONFIG_SECURITYFS is not set
902# CONFIG_SECURITY_FILE_CAPABILITIES is not set 934# CONFIG_SECURITY_FILE_CAPABILITIES is not set
903CONFIG_CRYPTO=y 935CONFIG_CRYPTO=y
904 936
905# 937#
906# Crypto core or helper 938# Crypto core or helper
907# 939#
940# CONFIG_CRYPTO_FIPS is not set
908# CONFIG_CRYPTO_MANAGER is not set 941# CONFIG_CRYPTO_MANAGER is not set
909# CONFIG_CRYPTO_GF128MUL is not set 942# CONFIG_CRYPTO_GF128MUL is not set
910# CONFIG_CRYPTO_NULL is not set 943# CONFIG_CRYPTO_NULL is not set
@@ -976,6 +1009,11 @@ CONFIG_CRYPTO=y
976# 1009#
977# CONFIG_CRYPTO_DEFLATE is not set 1010# CONFIG_CRYPTO_DEFLATE is not set
978# CONFIG_CRYPTO_LZO is not set 1011# CONFIG_CRYPTO_LZO is not set
1012
1013#
1014# Random Number Generation
1015#
1016# CONFIG_CRYPTO_ANSI_CPRNG is not set
979CONFIG_CRYPTO_HW=y 1017CONFIG_CRYPTO_HW=y
980# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1018# CONFIG_CRYPTO_DEV_HIFN_795X is not set
981# CONFIG_CRYPTO_DEV_TALITOS is not set 1019# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/mpc8568mds_defconfig b/arch/powerpc/configs/85xx/mpc8568mds_defconfig
index dc27c74955fa..597be8491812 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:33 2008 4# Sat Nov 8 12:40:11 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -105,7 +105,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
111CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -118,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -154,6 +152,7 @@ CONFIG_DEFAULT_AS=y
154# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
155CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
156CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
157 156
158# 157#
159# Platform support 158# Platform support
@@ -189,8 +188,10 @@ CONFIG_MPIC=y
189# CONFIG_GENERIC_IOMAP is not set 188# CONFIG_GENERIC_IOMAP is not set
190# CONFIG_CPU_FREQ is not set 189# CONFIG_CPU_FREQ is not set
191CONFIG_QUICC_ENGINE=y 190CONFIG_QUICC_ENGINE=y
191# CONFIG_QE_GPIO is not set
192# CONFIG_CPM2 is not set 192# CONFIG_CPM2 is not set
193# CONFIG_FSL_ULI1575 is not set 193# CONFIG_FSL_ULI1575 is not set
194# CONFIG_MPC8xxx_GPIO is not set
194 195
195# 196#
196# Kernel options 197# Kernel options
@@ -210,6 +211,8 @@ CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 211# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 212# CONFIG_PREEMPT is not set
212CONFIG_BINFMT_ELF=y 213CONFIG_BINFMT_ELF=y
214# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
215# CONFIG_HAVE_AOUT is not set
213# CONFIG_BINFMT_MISC is not set 216# CONFIG_BINFMT_MISC is not set
214CONFIG_MATH_EMULATION=y 217CONFIG_MATH_EMULATION=y
215# CONFIG_IOMMU_HELPER is not set 218# CONFIG_IOMMU_HELPER is not set
@@ -224,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y
224# CONFIG_SPARSEMEM_MANUAL is not set 227# CONFIG_SPARSEMEM_MANUAL is not set
225CONFIG_FLATMEM=y 228CONFIG_FLATMEM=y
226CONFIG_FLAT_NODE_MEM_MAP=y 229CONFIG_FLAT_NODE_MEM_MAP=y
227# CONFIG_SPARSEMEM_STATIC is not set
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 230CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 231CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y 232CONFIG_MIGRATION=y
232# CONFIG_RESOURCES_64BIT is not set 233# CONFIG_RESOURCES_64BIT is not set
234# CONFIG_PHYS_ADDR_T_64BIT is not set
233CONFIG_ZONE_DMA_FLAG=1 235CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 236CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 237CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y
236CONFIG_FORCE_MAX_ZONEORDER=11 239CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 240CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 241# CONFIG_CMDLINE_BOOL is not set
@@ -255,7 +258,7 @@ CONFIG_PCI_SYSCALL=y
255# CONFIG_PCIEPORTBUS is not set 258# CONFIG_PCIEPORTBUS is not set
256CONFIG_ARCH_SUPPORTS_MSI=y 259CONFIG_ARCH_SUPPORTS_MSI=y
257# CONFIG_PCI_MSI is not set 260# CONFIG_PCI_MSI is not set
258CONFIG_PCI_LEGACY=y 261# CONFIG_PCI_LEGACY is not set
259# CONFIG_PCI_DEBUG is not set 262# CONFIG_PCI_DEBUG is not set
260# CONFIG_PCCARD is not set 263# CONFIG_PCCARD is not set
261# CONFIG_HOTPLUG_PCI is not set 264# CONFIG_HOTPLUG_PCI is not set
@@ -325,6 +328,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
325# CONFIG_TIPC is not set 328# CONFIG_TIPC is not set
326# CONFIG_ATM is not set 329# CONFIG_ATM is not set
327# CONFIG_BRIDGE is not set 330# CONFIG_BRIDGE is not set
331# CONFIG_NET_DSA is not set
328# CONFIG_VLAN_8021Q is not set 332# CONFIG_VLAN_8021Q is not set
329# CONFIG_DECNET is not set 333# CONFIG_DECNET is not set
330# CONFIG_LLC2 is not set 334# CONFIG_LLC2 is not set
@@ -345,11 +349,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_IRDA is not set 349# CONFIG_IRDA is not set
346# CONFIG_BT is not set 350# CONFIG_BT is not set
347# CONFIG_AF_RXRPC is not set 351# CONFIG_AF_RXRPC is not set
348 352# CONFIG_PHONET is not set
349# 353CONFIG_WIRELESS=y
350# Wireless
351#
352# CONFIG_CFG80211 is not set 354# CONFIG_CFG80211 is not set
355CONFIG_WIRELESS_OLD_REGULATORY=y
353# CONFIG_WIRELESS_EXT is not set 356# CONFIG_WIRELESS_EXT is not set
354# CONFIG_MAC80211 is not set 357# CONFIG_MAC80211 is not set
355# CONFIG_IEEE80211 is not set 358# CONFIG_IEEE80211 is not set
@@ -530,8 +533,12 @@ CONFIG_MII=y
530# CONFIG_IBM_NEW_EMAC_RGMII is not set 533# CONFIG_IBM_NEW_EMAC_RGMII is not set
531# CONFIG_IBM_NEW_EMAC_TAH is not set 534# CONFIG_IBM_NEW_EMAC_TAH is not set
532# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 535# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
536# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
537# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
538# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
533# CONFIG_NET_PCI is not set 539# CONFIG_NET_PCI is not set
534# CONFIG_B44 is not set 540# CONFIG_B44 is not set
541# CONFIG_ATL2 is not set
535CONFIG_NETDEV_1000=y 542CONFIG_NETDEV_1000=y
536# CONFIG_ACENIC is not set 543# CONFIG_ACENIC is not set
537# CONFIG_DL2K is not set 544# CONFIG_DL2K is not set
@@ -554,18 +561,22 @@ CONFIG_GIANFAR=y
554# CONFIG_QLA3XXX is not set 561# CONFIG_QLA3XXX is not set
555# CONFIG_ATL1 is not set 562# CONFIG_ATL1 is not set
556# CONFIG_ATL1E is not set 563# CONFIG_ATL1E is not set
564# CONFIG_JME is not set
557CONFIG_NETDEV_10000=y 565CONFIG_NETDEV_10000=y
558# CONFIG_CHELSIO_T1 is not set 566# CONFIG_CHELSIO_T1 is not set
559# CONFIG_CHELSIO_T3 is not set 567# CONFIG_CHELSIO_T3 is not set
568# CONFIG_ENIC is not set
560# CONFIG_IXGBE is not set 569# CONFIG_IXGBE is not set
561# CONFIG_IXGB is not set 570# CONFIG_IXGB is not set
562# CONFIG_S2IO is not set 571# CONFIG_S2IO is not set
563# CONFIG_MYRI10GE is not set 572# CONFIG_MYRI10GE is not set
564# CONFIG_NETXEN_NIC is not set 573# CONFIG_NETXEN_NIC is not set
565# CONFIG_NIU is not set 574# CONFIG_NIU is not set
575# CONFIG_MLX4_EN is not set
566# CONFIG_MLX4_CORE is not set 576# CONFIG_MLX4_CORE is not set
567# CONFIG_TEHUTI is not set 577# CONFIG_TEHUTI is not set
568# CONFIG_BNX2X is not set 578# CONFIG_BNX2X is not set
579# CONFIG_QLGE is not set
569# CONFIG_SFC is not set 580# CONFIG_SFC is not set
570# CONFIG_TR is not set 581# CONFIG_TR is not set
571 582
@@ -815,6 +826,17 @@ CONFIG_SSB_POSSIBLE=y
815# CONFIG_MFD_SM501 is not set 826# CONFIG_MFD_SM501 is not set
816# CONFIG_HTC_PASIC3 is not set 827# CONFIG_HTC_PASIC3 is not set
817# CONFIG_MFD_TMIO is not set 828# CONFIG_MFD_TMIO is not set
829# CONFIG_PMIC_DA903X is not set
830# CONFIG_MFD_WM8400 is not set
831# CONFIG_MFD_WM8350_I2C is not set
832
833#
834# Voltage and Current regulators
835#
836# CONFIG_REGULATOR is not set
837# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
838# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
839# CONFIG_REGULATOR_BQ24022 is not set
818 840
819# 841#
820# Multimedia devices 842# Multimedia devices
@@ -851,6 +873,12 @@ CONFIG_HID_SUPPORT=y
851CONFIG_HID=y 873CONFIG_HID=y
852# CONFIG_HID_DEBUG is not set 874# CONFIG_HID_DEBUG is not set
853# CONFIG_HIDRAW is not set 875# CONFIG_HIDRAW is not set
876# CONFIG_HID_PID is not set
877
878#
879# Special HID drivers
880#
881CONFIG_HID_COMPAT=y
854CONFIG_USB_SUPPORT=y 882CONFIG_USB_SUPPORT=y
855CONFIG_USB_ARCH_HAS_HCD=y 883CONFIG_USB_ARCH_HAS_HCD=y
856CONFIG_USB_ARCH_HAS_OHCI=y 884CONFIG_USB_ARCH_HAS_OHCI=y
@@ -867,6 +895,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
867# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 895# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
868# 896#
869# CONFIG_USB_GADGET is not set 897# CONFIG_USB_GADGET is not set
898# CONFIG_UWB is not set
870# CONFIG_MMC is not set 899# CONFIG_MMC is not set
871# CONFIG_MEMSTICK is not set 900# CONFIG_MEMSTICK is not set
872# CONFIG_NEW_LEDS is not set 901# CONFIG_NEW_LEDS is not set
@@ -912,12 +941,15 @@ CONFIG_RTC_DRV_DS1374=y
912# Platform RTC drivers 941# Platform RTC drivers
913# 942#
914# CONFIG_RTC_DRV_CMOS is not set 943# CONFIG_RTC_DRV_CMOS is not set
944# CONFIG_RTC_DRV_DS1286 is not set
915# CONFIG_RTC_DRV_DS1511 is not set 945# CONFIG_RTC_DRV_DS1511 is not set
916# CONFIG_RTC_DRV_DS1553 is not set 946# CONFIG_RTC_DRV_DS1553 is not set
917# CONFIG_RTC_DRV_DS1742 is not set 947# CONFIG_RTC_DRV_DS1742 is not set
918# CONFIG_RTC_DRV_STK17TA8 is not set 948# CONFIG_RTC_DRV_STK17TA8 is not set
919# CONFIG_RTC_DRV_M48T86 is not set 949# CONFIG_RTC_DRV_M48T86 is not set
950# CONFIG_RTC_DRV_M48T35 is not set
920# CONFIG_RTC_DRV_M48T59 is not set 951# CONFIG_RTC_DRV_M48T59 is not set
952# CONFIG_RTC_DRV_BQ4802 is not set
921# CONFIG_RTC_DRV_V3020 is not set 953# CONFIG_RTC_DRV_V3020 is not set
922 954
923# 955#
@@ -926,6 +958,7 @@ CONFIG_RTC_DRV_DS1374=y
926# CONFIG_RTC_DRV_PPC is not set 958# CONFIG_RTC_DRV_PPC is not set
927# CONFIG_DMADEVICES is not set 959# CONFIG_DMADEVICES is not set
928# CONFIG_UIO is not set 960# CONFIG_UIO is not set
961# CONFIG_STAGING is not set
929 962
930# 963#
931# File systems 964# File systems
@@ -937,12 +970,13 @@ CONFIG_EXT3_FS=y
937CONFIG_EXT3_FS_XATTR=y 970CONFIG_EXT3_FS_XATTR=y
938# CONFIG_EXT3_FS_POSIX_ACL is not set 971# CONFIG_EXT3_FS_POSIX_ACL is not set
939# CONFIG_EXT3_FS_SECURITY is not set 972# CONFIG_EXT3_FS_SECURITY is not set
940# CONFIG_EXT4DEV_FS is not set 973# CONFIG_EXT4_FS is not set
941CONFIG_JBD=y 974CONFIG_JBD=y
942CONFIG_FS_MBCACHE=y 975CONFIG_FS_MBCACHE=y
943# CONFIG_REISERFS_FS is not set 976# CONFIG_REISERFS_FS is not set
944# CONFIG_JFS_FS is not set 977# CONFIG_JFS_FS is not set
945# CONFIG_FS_POSIX_ACL is not set 978# CONFIG_FS_POSIX_ACL is not set
979CONFIG_FILE_LOCKING=y
946# CONFIG_XFS_FS is not set 980# CONFIG_XFS_FS is not set
947# CONFIG_OCFS2_FS is not set 981# CONFIG_OCFS2_FS is not set
948CONFIG_DNOTIFY=y 982CONFIG_DNOTIFY=y
@@ -972,6 +1006,7 @@ CONFIG_INOTIFY_USER=y
972CONFIG_PROC_FS=y 1006CONFIG_PROC_FS=y
973CONFIG_PROC_KCORE=y 1007CONFIG_PROC_KCORE=y
974CONFIG_PROC_SYSCTL=y 1008CONFIG_PROC_SYSCTL=y
1009CONFIG_PROC_PAGE_MONITOR=y
975CONFIG_SYSFS=y 1010CONFIG_SYSFS=y
976CONFIG_TMPFS=y 1011CONFIG_TMPFS=y
977# CONFIG_TMPFS_POSIX_ACL is not set 1012# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1009,6 +1044,7 @@ CONFIG_LOCKD_V4=y
1009CONFIG_NFS_COMMON=y 1044CONFIG_NFS_COMMON=y
1010CONFIG_SUNRPC=y 1045CONFIG_SUNRPC=y
1011CONFIG_SUNRPC_GSS=y 1046CONFIG_SUNRPC_GSS=y
1047# CONFIG_SUNRPC_REGISTER_V4 is not set
1012CONFIG_RPCSEC_GSS_KRB5=y 1048CONFIG_RPCSEC_GSS_KRB5=y
1013# CONFIG_RPCSEC_GSS_SPKM3 is not set 1049# CONFIG_RPCSEC_GSS_SPKM3 is not set
1014# CONFIG_SMB_FS is not set 1050# CONFIG_SMB_FS is not set
@@ -1036,13 +1072,11 @@ CONFIG_PARTITION_ADVANCED=y
1036# CONFIG_SYSV68_PARTITION is not set 1072# CONFIG_SYSV68_PARTITION is not set
1037# CONFIG_NLS is not set 1073# CONFIG_NLS is not set
1038# CONFIG_DLM is not set 1074# CONFIG_DLM is not set
1039# CONFIG_QE_GPIO is not set
1040 1075
1041# 1076#
1042# Library routines 1077# Library routines
1043# 1078#
1044CONFIG_BITREVERSE=y 1079CONFIG_BITREVERSE=y
1045# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1046# CONFIG_CRC_CCITT is not set 1080# CONFIG_CRC_CCITT is not set
1047# CONFIG_CRC16 is not set 1081# CONFIG_CRC16 is not set
1048# CONFIG_CRC_T10DIF is not set 1082# CONFIG_CRC_T10DIF is not set
@@ -1094,15 +1128,23 @@ CONFIG_SCHED_DEBUG=y
1094# CONFIG_DEBUG_SG is not set 1128# CONFIG_DEBUG_SG is not set
1095# CONFIG_BOOT_PRINTK_DELAY is not set 1129# CONFIG_BOOT_PRINTK_DELAY is not set
1096# CONFIG_RCU_TORTURE_TEST is not set 1130# CONFIG_RCU_TORTURE_TEST is not set
1131# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1097# CONFIG_BACKTRACE_SELF_TEST is not set 1132# CONFIG_BACKTRACE_SELF_TEST is not set
1133# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1098# CONFIG_FAULT_INJECTION is not set 1134# CONFIG_FAULT_INJECTION is not set
1099# CONFIG_LATENCYTOP is not set 1135# CONFIG_LATENCYTOP is not set
1100CONFIG_SYSCTL_SYSCALL_CHECK=y 1136CONFIG_SYSCTL_SYSCALL_CHECK=y
1101CONFIG_HAVE_FTRACE=y 1137CONFIG_HAVE_FUNCTION_TRACER=y
1102CONFIG_HAVE_DYNAMIC_FTRACE=y 1138
1103# CONFIG_FTRACE is not set 1139#
1140# Tracers
1141#
1142# CONFIG_FUNCTION_TRACER is not set
1104# CONFIG_SCHED_TRACER is not set 1143# CONFIG_SCHED_TRACER is not set
1105# CONFIG_CONTEXT_SWITCH_TRACER is not set 1144# CONFIG_CONTEXT_SWITCH_TRACER is not set
1145# CONFIG_BOOT_TRACER is not set
1146# CONFIG_STACK_TRACER is not set
1147# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1106# CONFIG_SAMPLES is not set 1148# CONFIG_SAMPLES is not set
1107CONFIG_HAVE_ARCH_KGDB=y 1149CONFIG_HAVE_ARCH_KGDB=y
1108# CONFIG_KGDB is not set 1150# CONFIG_KGDB is not set
@@ -1111,6 +1153,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1111# CONFIG_DEBUG_PAGEALLOC is not set 1153# CONFIG_DEBUG_PAGEALLOC is not set
1112# CONFIG_CODE_PATCHING_SELFTEST is not set 1154# CONFIG_CODE_PATCHING_SELFTEST is not set
1113# CONFIG_FTR_FIXUP_SELFTEST is not set 1155# CONFIG_FTR_FIXUP_SELFTEST is not set
1156# CONFIG_MSI_BITMAP_SELFTEST is not set
1114# CONFIG_XMON is not set 1157# CONFIG_XMON is not set
1115# CONFIG_IRQSTACKS is not set 1158# CONFIG_IRQSTACKS is not set
1116# CONFIG_BDI_SWITCH is not set 1159# CONFIG_BDI_SWITCH is not set
@@ -1132,14 +1175,19 @@ CONFIG_PPC_EARLY_DEBUG=y
1132# 1175#
1133# CONFIG_KEYS is not set 1176# CONFIG_KEYS is not set
1134# CONFIG_SECURITY is not set 1177# CONFIG_SECURITY is not set
1178# CONFIG_SECURITYFS is not set
1135# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1179# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1136CONFIG_CRYPTO=y 1180CONFIG_CRYPTO=y
1137 1181
1138# 1182#
1139# Crypto core or helper 1183# Crypto core or helper
1140# 1184#
1185# CONFIG_CRYPTO_FIPS is not set
1141CONFIG_CRYPTO_ALGAPI=y 1186CONFIG_CRYPTO_ALGAPI=y
1187CONFIG_CRYPTO_AEAD=y
1142CONFIG_CRYPTO_BLKCIPHER=y 1188CONFIG_CRYPTO_BLKCIPHER=y
1189CONFIG_CRYPTO_HASH=y
1190CONFIG_CRYPTO_RNG=y
1143CONFIG_CRYPTO_MANAGER=y 1191CONFIG_CRYPTO_MANAGER=y
1144# CONFIG_CRYPTO_GF128MUL is not set 1192# CONFIG_CRYPTO_GF128MUL is not set
1145# CONFIG_CRYPTO_NULL is not set 1193# CONFIG_CRYPTO_NULL is not set
@@ -1212,6 +1260,11 @@ CONFIG_CRYPTO_DES=y
1212# 1260#
1213# CONFIG_CRYPTO_DEFLATE is not set 1261# CONFIG_CRYPTO_DEFLATE is not set
1214# CONFIG_CRYPTO_LZO is not set 1262# CONFIG_CRYPTO_LZO is not set
1263
1264#
1265# Random Number Generation
1266#
1267# CONFIG_CRYPTO_ANSI_CPRNG is not set
1215CONFIG_CRYPTO_HW=y 1268CONFIG_CRYPTO_HW=y
1216# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1269# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1217# CONFIG_CRYPTO_DEV_TALITOS is not set 1270# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/mpc8572_ds_defconfig b/arch/powerpc/configs/85xx/mpc8572_ds_defconfig
index eda45bb8a13f..635588319e0d 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 07:21:42 2008 4# Sat Nov 8 12:40:13 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -124,10 +126,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
@@ -160,6 +158,7 @@ CONFIG_DEFAULT_CFQ=y
160# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="cfq" 159CONFIG_DEFAULT_IOSCHED="cfq"
162CONFIG_CLASSIC_RCU=y 160CONFIG_CLASSIC_RCU=y
161# CONFIG_FREEZER is not set
163 162
164# 163#
165# Platform support 164# Platform support
@@ -194,8 +193,10 @@ CONFIG_PPC_I8259=y
194# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
195# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
196# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
196# CONFIG_QUICC_ENGINE is not set
197# CONFIG_CPM2 is not set 197# CONFIG_CPM2 is not set
198CONFIG_FSL_ULI1575=y 198CONFIG_FSL_ULI1575=y
199# CONFIG_MPC8xxx_GPIO is not set
199 200
200# 201#
201# Kernel options 202# Kernel options
@@ -215,6 +216,8 @@ CONFIG_PREEMPT_NONE=y
215# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
216# CONFIG_PREEMPT is not set 217# CONFIG_PREEMPT is not set
217CONFIG_BINFMT_ELF=y 218CONFIG_BINFMT_ELF=y
219# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
220# CONFIG_HAVE_AOUT is not set
218CONFIG_BINFMT_MISC=m 221CONFIG_BINFMT_MISC=m
219CONFIG_MATH_EMULATION=y 222CONFIG_MATH_EMULATION=y
220# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
@@ -229,15 +232,15 @@ CONFIG_FLATMEM_MANUAL=y
229# CONFIG_SPARSEMEM_MANUAL is not set 232# CONFIG_SPARSEMEM_MANUAL is not set
230CONFIG_FLATMEM=y 233CONFIG_FLATMEM=y
231CONFIG_FLAT_NODE_MEM_MAP=y 234CONFIG_FLAT_NODE_MEM_MAP=y
232# CONFIG_SPARSEMEM_STATIC is not set
233# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
234CONFIG_PAGEFLAGS_EXTENDED=y 235CONFIG_PAGEFLAGS_EXTENDED=y
235CONFIG_SPLIT_PTLOCK_CPUS=4 236CONFIG_SPLIT_PTLOCK_CPUS=4
236CONFIG_MIGRATION=y 237CONFIG_MIGRATION=y
237# CONFIG_RESOURCES_64BIT is not set 238# CONFIG_RESOURCES_64BIT is not set
239# CONFIG_PHYS_ADDR_T_64BIT is not set
238CONFIG_ZONE_DMA_FLAG=1 240CONFIG_ZONE_DMA_FLAG=1
239CONFIG_BOUNCE=y 241CONFIG_BOUNCE=y
240CONFIG_VIRT_TO_BUS=y 242CONFIG_VIRT_TO_BUS=y
243CONFIG_UNEVICTABLE_LRU=y
241CONFIG_FORCE_MAX_ZONEORDER=11 244CONFIG_FORCE_MAX_ZONEORDER=11
242CONFIG_PROC_DEVICETREE=y 245CONFIG_PROC_DEVICETREE=y
243# CONFIG_CMDLINE_BOOL is not set 246# CONFIG_CMDLINE_BOOL is not set
@@ -261,7 +264,7 @@ CONFIG_PCI_SYSCALL=y
261# CONFIG_PCIEPORTBUS is not set 264# CONFIG_PCIEPORTBUS is not set
262CONFIG_ARCH_SUPPORTS_MSI=y 265CONFIG_ARCH_SUPPORTS_MSI=y
263# CONFIG_PCI_MSI is not set 266# CONFIG_PCI_MSI is not set
264CONFIG_PCI_LEGACY=y 267# CONFIG_PCI_LEGACY is not set
265# CONFIG_PCI_DEBUG is not set 268# CONFIG_PCI_DEBUG is not set
266# CONFIG_PCCARD is not set 269# CONFIG_PCCARD is not set
267# CONFIG_HOTPLUG_PCI is not set 270# CONFIG_HOTPLUG_PCI is not set
@@ -363,6 +366,7 @@ CONFIG_SCTP_HMAC_MD5=y
363# CONFIG_TIPC is not set 366# CONFIG_TIPC is not set
364# CONFIG_ATM is not set 367# CONFIG_ATM is not set
365# CONFIG_BRIDGE is not set 368# CONFIG_BRIDGE is not set
369# CONFIG_NET_DSA is not set
366# CONFIG_VLAN_8021Q is not set 370# CONFIG_VLAN_8021Q is not set
367# CONFIG_DECNET is not set 371# CONFIG_DECNET is not set
368# CONFIG_LLC2 is not set 372# CONFIG_LLC2 is not set
@@ -383,12 +387,11 @@ CONFIG_SCTP_HMAC_MD5=y
383# CONFIG_IRDA is not set 387# CONFIG_IRDA is not set
384# CONFIG_BT is not set 388# CONFIG_BT is not set
385# CONFIG_AF_RXRPC is not set 389# CONFIG_AF_RXRPC is not set
390# CONFIG_PHONET is not set
386CONFIG_FIB_RULES=y 391CONFIG_FIB_RULES=y
387 392CONFIG_WIRELESS=y
388#
389# Wireless
390#
391# CONFIG_CFG80211 is not set 393# CONFIG_CFG80211 is not set
394CONFIG_WIRELESS_OLD_REGULATORY=y
392# CONFIG_WIRELESS_EXT is not set 395# CONFIG_WIRELESS_EXT is not set
393# CONFIG_MAC80211 is not set 396# CONFIG_MAC80211 is not set
394# CONFIG_IEEE80211 is not set 397# CONFIG_IEEE80211 is not set
@@ -634,8 +637,12 @@ CONFIG_MII=y
634# CONFIG_IBM_NEW_EMAC_RGMII is not set 637# CONFIG_IBM_NEW_EMAC_RGMII is not set
635# CONFIG_IBM_NEW_EMAC_TAH is not set 638# CONFIG_IBM_NEW_EMAC_TAH is not set
636# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 639# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
640# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
641# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
642# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
637# CONFIG_NET_PCI is not set 643# CONFIG_NET_PCI is not set
638# CONFIG_B44 is not set 644# CONFIG_B44 is not set
645# CONFIG_ATL2 is not set
639CONFIG_NETDEV_1000=y 646CONFIG_NETDEV_1000=y
640# CONFIG_ACENIC is not set 647# CONFIG_ACENIC is not set
641# CONFIG_DL2K is not set 648# CONFIG_DL2K is not set
@@ -657,18 +664,22 @@ CONFIG_GIANFAR=y
657# CONFIG_QLA3XXX is not set 664# CONFIG_QLA3XXX is not set
658# CONFIG_ATL1 is not set 665# CONFIG_ATL1 is not set
659# CONFIG_ATL1E is not set 666# CONFIG_ATL1E is not set
667# CONFIG_JME is not set
660CONFIG_NETDEV_10000=y 668CONFIG_NETDEV_10000=y
661# CONFIG_CHELSIO_T1 is not set 669# CONFIG_CHELSIO_T1 is not set
662# CONFIG_CHELSIO_T3 is not set 670# CONFIG_CHELSIO_T3 is not set
671# CONFIG_ENIC is not set
663# CONFIG_IXGBE is not set 672# CONFIG_IXGBE is not set
664# CONFIG_IXGB is not set 673# CONFIG_IXGB is not set
665# CONFIG_S2IO is not set 674# CONFIG_S2IO is not set
666# CONFIG_MYRI10GE is not set 675# CONFIG_MYRI10GE is not set
667# CONFIG_NETXEN_NIC is not set 676# CONFIG_NETXEN_NIC is not set
668# CONFIG_NIU is not set 677# CONFIG_NIU is not set
678# CONFIG_MLX4_EN is not set
669# CONFIG_MLX4_CORE is not set 679# CONFIG_MLX4_CORE is not set
670# CONFIG_TEHUTI is not set 680# CONFIG_TEHUTI is not set
671# CONFIG_BNX2X is not set 681# CONFIG_BNX2X is not set
682# CONFIG_QLGE is not set
672# CONFIG_SFC is not set 683# CONFIG_SFC is not set
673# CONFIG_TR is not set 684# CONFIG_TR is not set
674 685
@@ -703,7 +714,7 @@ CONFIG_NETDEV_10000=y
703# Input device support 714# Input device support
704# 715#
705CONFIG_INPUT=y 716CONFIG_INPUT=y
706# CONFIG_INPUT_FF_MEMLESS is not set 717CONFIG_INPUT_FF_MEMLESS=m
707# CONFIG_INPUT_POLLDEV is not set 718# CONFIG_INPUT_POLLDEV is not set
708 719
709# 720#
@@ -872,6 +883,17 @@ CONFIG_SSB_POSSIBLE=y
872# CONFIG_MFD_SM501 is not set 883# CONFIG_MFD_SM501 is not set
873# CONFIG_HTC_PASIC3 is not set 884# CONFIG_HTC_PASIC3 is not set
874# CONFIG_MFD_TMIO is not set 885# CONFIG_MFD_TMIO is not set
886# CONFIG_PMIC_DA903X is not set
887# CONFIG_MFD_WM8400 is not set
888# CONFIG_MFD_WM8350_I2C is not set
889
890#
891# Voltage and Current regulators
892#
893# CONFIG_REGULATOR is not set
894# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
895# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
896# CONFIG_REGULATOR_BQ24022 is not set
875 897
876# 898#
877# Multimedia devices 899# Multimedia devices
@@ -912,7 +934,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
912# CONFIG_DVB_USB is not set 934# CONFIG_DVB_USB is not set
913# CONFIG_DVB_TTUSB_BUDGET is not set 935# CONFIG_DVB_TTUSB_BUDGET is not set
914# CONFIG_DVB_TTUSB_DEC is not set 936# CONFIG_DVB_TTUSB_DEC is not set
915# CONFIG_DVB_CINERGYT2 is not set
916# CONFIG_DVB_SIANO_SMS1XXX is not set 937# CONFIG_DVB_SIANO_SMS1XXX is not set
917 938
918# 939#
@@ -930,6 +951,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
930# CONFIG_DVB_PLUTO2 is not set 951# CONFIG_DVB_PLUTO2 is not set
931 952
932# 953#
954# Supported SDMC DM1105 Adapters
955#
956# CONFIG_DVB_DM1105 is not set
957
958#
933# Supported DVB Frontends 959# Supported DVB Frontends
934# 960#
935 961
@@ -945,6 +971,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
945# CONFIG_DVB_CX24123 is not set 971# CONFIG_DVB_CX24123 is not set
946# CONFIG_DVB_MT312 is not set 972# CONFIG_DVB_MT312 is not set
947# CONFIG_DVB_S5H1420 is not set 973# CONFIG_DVB_S5H1420 is not set
974# CONFIG_DVB_STV0288 is not set
975# CONFIG_DVB_STB6000 is not set
948# CONFIG_DVB_STV0299 is not set 976# CONFIG_DVB_STV0299 is not set
949# CONFIG_DVB_TDA8083 is not set 977# CONFIG_DVB_TDA8083 is not set
950# CONFIG_DVB_TDA10086 is not set 978# CONFIG_DVB_TDA10086 is not set
@@ -952,6 +980,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
952# CONFIG_DVB_TUNER_ITD1000 is not set 980# CONFIG_DVB_TUNER_ITD1000 is not set
953# CONFIG_DVB_TDA826X is not set 981# CONFIG_DVB_TDA826X is not set
954# CONFIG_DVB_TUA6100 is not set 982# CONFIG_DVB_TUA6100 is not set
983# CONFIG_DVB_CX24116 is not set
984# CONFIG_DVB_SI21XX is not set
955 985
956# 986#
957# DVB-T (terrestrial) frontends 987# DVB-T (terrestrial) frontends
@@ -1004,6 +1034,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1004# CONFIG_DVB_LNBP21 is not set 1034# CONFIG_DVB_LNBP21 is not set
1005# CONFIG_DVB_ISL6405 is not set 1035# CONFIG_DVB_ISL6405 is not set
1006# CONFIG_DVB_ISL6421 is not set 1036# CONFIG_DVB_ISL6421 is not set
1037# CONFIG_DVB_LGS8GL5 is not set
1038
1039#
1040# Tools to develop new frontends
1041#
1042# CONFIG_DVB_DUMMY_FE is not set
1043# CONFIG_DVB_AF9013 is not set
1007CONFIG_DAB=y 1044CONFIG_DAB=y
1008# CONFIG_USB_DABUSB is not set 1045# CONFIG_USB_DABUSB is not set
1009 1046
@@ -1029,6 +1066,7 @@ CONFIG_VGA_CONSOLE=y
1029# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1066# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1030CONFIG_DUMMY_CONSOLE=y 1067CONFIG_DUMMY_CONSOLE=y
1031CONFIG_SOUND=y 1068CONFIG_SOUND=y
1069CONFIG_SOUND_OSS_CORE=y
1032CONFIG_SND=y 1070CONFIG_SND=y
1033CONFIG_SND_TIMER=y 1071CONFIG_SND_TIMER=y
1034CONFIG_SND_PCM=y 1072CONFIG_SND_PCM=y
@@ -1129,9 +1167,36 @@ CONFIG_HID=y
1129# USB Input Devices 1167# USB Input Devices
1130# 1168#
1131CONFIG_USB_HID=y 1169CONFIG_USB_HID=y
1132# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1170# CONFIG_HID_PID is not set
1133# CONFIG_HID_FF is not set
1134# CONFIG_USB_HIDDEV is not set 1171# CONFIG_USB_HIDDEV is not set
1172
1173#
1174# Special HID drivers
1175#
1176CONFIG_HID_COMPAT=y
1177CONFIG_HID_A4TECH=y
1178CONFIG_HID_APPLE=y
1179CONFIG_HID_BELKIN=y
1180CONFIG_HID_BRIGHT=y
1181CONFIG_HID_CHERRY=y
1182CONFIG_HID_CHICONY=y
1183CONFIG_HID_CYPRESS=y
1184CONFIG_HID_DELL=y
1185CONFIG_HID_EZKEY=y
1186CONFIG_HID_GYRATION=y
1187CONFIG_HID_LOGITECH=y
1188# CONFIG_LOGITECH_FF is not set
1189# CONFIG_LOGIRUMBLEPAD2_FF is not set
1190CONFIG_HID_MICROSOFT=y
1191CONFIG_HID_MONTEREY=y
1192CONFIG_HID_PANTHERLORD=y
1193# CONFIG_PANTHERLORD_FF is not set
1194CONFIG_HID_PETALYNX=y
1195CONFIG_HID_SAMSUNG=y
1196CONFIG_HID_SONY=y
1197CONFIG_HID_SUNPLUS=y
1198CONFIG_THRUSTMASTER_FF=m
1199CONFIG_ZEROPLUS_FF=m
1135CONFIG_USB_SUPPORT=y 1200CONFIG_USB_SUPPORT=y
1136CONFIG_USB_ARCH_HAS_HCD=y 1201CONFIG_USB_ARCH_HAS_HCD=y
1137CONFIG_USB_ARCH_HAS_OHCI=y 1202CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1150,6 +1215,8 @@ CONFIG_USB_DEVICE_CLASS=y
1150# CONFIG_USB_OTG_WHITELIST is not set 1215# CONFIG_USB_OTG_WHITELIST is not set
1151# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1216# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1152CONFIG_USB_MON=y 1217CONFIG_USB_MON=y
1218# CONFIG_USB_WUSB is not set
1219# CONFIG_USB_WUSB_CBAF is not set
1153 1220
1154# 1221#
1155# USB Host Controller Drivers 1222# USB Host Controller Drivers
@@ -1173,6 +1240,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1173# CONFIG_USB_UHCI_HCD is not set 1240# CONFIG_USB_UHCI_HCD is not set
1174# CONFIG_USB_SL811_HCD is not set 1241# CONFIG_USB_SL811_HCD is not set
1175# CONFIG_USB_R8A66597_HCD is not set 1242# CONFIG_USB_R8A66597_HCD is not set
1243# CONFIG_USB_WHCI_HCD is not set
1244# CONFIG_USB_HWA_HCD is not set
1176 1245
1177# 1246#
1178# USB Device Class drivers 1247# USB Device Class drivers
@@ -1180,6 +1249,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1180# CONFIG_USB_ACM is not set 1249# CONFIG_USB_ACM is not set
1181# CONFIG_USB_PRINTER is not set 1250# CONFIG_USB_PRINTER is not set
1182# CONFIG_USB_WDM is not set 1251# CONFIG_USB_WDM is not set
1252# CONFIG_USB_TMC is not set
1183 1253
1184# 1254#
1185# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1255# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1201,7 +1271,6 @@ CONFIG_USB_STORAGE=y
1201# CONFIG_USB_STORAGE_ALAUDA is not set 1271# CONFIG_USB_STORAGE_ALAUDA is not set
1202# CONFIG_USB_STORAGE_ONETOUCH is not set 1272# CONFIG_USB_STORAGE_ONETOUCH is not set
1203# CONFIG_USB_STORAGE_KARMA is not set 1273# CONFIG_USB_STORAGE_KARMA is not set
1204# CONFIG_USB_STORAGE_SIERRA is not set
1205# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1274# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1206# CONFIG_USB_LIBUSUAL is not set 1275# CONFIG_USB_LIBUSUAL is not set
1207 1276
@@ -1222,6 +1291,7 @@ CONFIG_USB_STORAGE=y
1222# CONFIG_USB_EMI62 is not set 1291# CONFIG_USB_EMI62 is not set
1223# CONFIG_USB_EMI26 is not set 1292# CONFIG_USB_EMI26 is not set
1224# CONFIG_USB_ADUTUX is not set 1293# CONFIG_USB_ADUTUX is not set
1294# CONFIG_USB_SEVSEG is not set
1225# CONFIG_USB_RIO500 is not set 1295# CONFIG_USB_RIO500 is not set
1226# CONFIG_USB_LEGOTOWER is not set 1296# CONFIG_USB_LEGOTOWER is not set
1227# CONFIG_USB_LCD is not set 1297# CONFIG_USB_LCD is not set
@@ -1239,7 +1309,9 @@ CONFIG_USB_STORAGE=y
1239# CONFIG_USB_IOWARRIOR is not set 1309# CONFIG_USB_IOWARRIOR is not set
1240# CONFIG_USB_TEST is not set 1310# CONFIG_USB_TEST is not set
1241# CONFIG_USB_ISIGHTFW is not set 1311# CONFIG_USB_ISIGHTFW is not set
1312# CONFIG_USB_VST is not set
1242# CONFIG_USB_GADGET is not set 1313# CONFIG_USB_GADGET is not set
1314# CONFIG_UWB is not set
1243# CONFIG_MMC is not set 1315# CONFIG_MMC is not set
1244# CONFIG_MEMSTICK is not set 1316# CONFIG_MEMSTICK is not set
1245# CONFIG_NEW_LEDS is not set 1317# CONFIG_NEW_LEDS is not set
@@ -1285,12 +1357,15 @@ CONFIG_RTC_INTF_DEV=y
1285# Platform RTC drivers 1357# Platform RTC drivers
1286# 1358#
1287CONFIG_RTC_DRV_CMOS=y 1359CONFIG_RTC_DRV_CMOS=y
1360# CONFIG_RTC_DRV_DS1286 is not set
1288# CONFIG_RTC_DRV_DS1511 is not set 1361# CONFIG_RTC_DRV_DS1511 is not set
1289# CONFIG_RTC_DRV_DS1553 is not set 1362# CONFIG_RTC_DRV_DS1553 is not set
1290# CONFIG_RTC_DRV_DS1742 is not set 1363# CONFIG_RTC_DRV_DS1742 is not set
1291# CONFIG_RTC_DRV_STK17TA8 is not set 1364# CONFIG_RTC_DRV_STK17TA8 is not set
1292# CONFIG_RTC_DRV_M48T86 is not set 1365# CONFIG_RTC_DRV_M48T86 is not set
1366# CONFIG_RTC_DRV_M48T35 is not set
1293# CONFIG_RTC_DRV_M48T59 is not set 1367# CONFIG_RTC_DRV_M48T59 is not set
1368# CONFIG_RTC_DRV_BQ4802 is not set
1294# CONFIG_RTC_DRV_V3020 is not set 1369# CONFIG_RTC_DRV_V3020 is not set
1295 1370
1296# 1371#
@@ -1299,6 +1374,7 @@ CONFIG_RTC_DRV_CMOS=y
1299# CONFIG_RTC_DRV_PPC is not set 1374# CONFIG_RTC_DRV_PPC is not set
1300# CONFIG_DMADEVICES is not set 1375# CONFIG_DMADEVICES is not set
1301# CONFIG_UIO is not set 1376# CONFIG_UIO is not set
1377# CONFIG_STAGING is not set
1302 1378
1303# 1379#
1304# File systems 1380# File systems
@@ -1310,12 +1386,13 @@ CONFIG_EXT3_FS=y
1310CONFIG_EXT3_FS_XATTR=y 1386CONFIG_EXT3_FS_XATTR=y
1311# CONFIG_EXT3_FS_POSIX_ACL is not set 1387# CONFIG_EXT3_FS_POSIX_ACL is not set
1312# CONFIG_EXT3_FS_SECURITY is not set 1388# CONFIG_EXT3_FS_SECURITY is not set
1313# CONFIG_EXT4DEV_FS is not set 1389# CONFIG_EXT4_FS is not set
1314CONFIG_JBD=y 1390CONFIG_JBD=y
1315CONFIG_FS_MBCACHE=y 1391CONFIG_FS_MBCACHE=y
1316# CONFIG_REISERFS_FS is not set 1392# CONFIG_REISERFS_FS is not set
1317# CONFIG_JFS_FS is not set 1393# CONFIG_JFS_FS is not set
1318# CONFIG_FS_POSIX_ACL is not set 1394# CONFIG_FS_POSIX_ACL is not set
1395CONFIG_FILE_LOCKING=y
1319# CONFIG_XFS_FS is not set 1396# CONFIG_XFS_FS is not set
1320# CONFIG_OCFS2_FS is not set 1397# CONFIG_OCFS2_FS is not set
1321CONFIG_DNOTIFY=y 1398CONFIG_DNOTIFY=y
@@ -1353,6 +1430,7 @@ CONFIG_NTFS_FS=y
1353CONFIG_PROC_FS=y 1430CONFIG_PROC_FS=y
1354CONFIG_PROC_KCORE=y 1431CONFIG_PROC_KCORE=y
1355CONFIG_PROC_SYSCTL=y 1432CONFIG_PROC_SYSCTL=y
1433CONFIG_PROC_PAGE_MONITOR=y
1356CONFIG_SYSFS=y 1434CONFIG_SYSFS=y
1357CONFIG_TMPFS=y 1435CONFIG_TMPFS=y
1358# CONFIG_TMPFS_POSIX_ACL is not set 1436# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1397,6 +1475,7 @@ CONFIG_EXPORTFS=y
1397CONFIG_NFS_COMMON=y 1475CONFIG_NFS_COMMON=y
1398CONFIG_SUNRPC=y 1476CONFIG_SUNRPC=y
1399CONFIG_SUNRPC_GSS=y 1477CONFIG_SUNRPC_GSS=y
1478# CONFIG_SUNRPC_REGISTER_V4 is not set
1400CONFIG_RPCSEC_GSS_KRB5=y 1479CONFIG_RPCSEC_GSS_KRB5=y
1401# CONFIG_RPCSEC_GSS_SPKM3 is not set 1480# CONFIG_RPCSEC_GSS_SPKM3 is not set
1402# CONFIG_SMB_FS is not set 1481# CONFIG_SMB_FS is not set
@@ -1472,7 +1551,6 @@ CONFIG_NLS_UTF8=m
1472# Library routines 1551# Library routines
1473# 1552#
1474CONFIG_BITREVERSE=y 1553CONFIG_BITREVERSE=y
1475# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1476# CONFIG_CRC_CCITT is not set 1554# CONFIG_CRC_CCITT is not set
1477# CONFIG_CRC16 is not set 1555# CONFIG_CRC16 is not set
1478CONFIG_CRC_T10DIF=y 1556CONFIG_CRC_T10DIF=y
@@ -1526,15 +1604,23 @@ CONFIG_DEBUG_INFO=y
1526# CONFIG_DEBUG_SG is not set 1604# CONFIG_DEBUG_SG is not set
1527# CONFIG_BOOT_PRINTK_DELAY is not set 1605# CONFIG_BOOT_PRINTK_DELAY is not set
1528# CONFIG_RCU_TORTURE_TEST is not set 1606# CONFIG_RCU_TORTURE_TEST is not set
1607# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1529# CONFIG_BACKTRACE_SELF_TEST is not set 1608# CONFIG_BACKTRACE_SELF_TEST is not set
1609# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1530# CONFIG_FAULT_INJECTION is not set 1610# CONFIG_FAULT_INJECTION is not set
1531# CONFIG_LATENCYTOP is not set 1611# CONFIG_LATENCYTOP is not set
1532CONFIG_SYSCTL_SYSCALL_CHECK=y 1612CONFIG_SYSCTL_SYSCALL_CHECK=y
1533CONFIG_HAVE_FTRACE=y 1613CONFIG_HAVE_FUNCTION_TRACER=y
1534CONFIG_HAVE_DYNAMIC_FTRACE=y 1614
1535# CONFIG_FTRACE is not set 1615#
1616# Tracers
1617#
1618# CONFIG_FUNCTION_TRACER is not set
1536# CONFIG_SCHED_TRACER is not set 1619# CONFIG_SCHED_TRACER is not set
1537# CONFIG_CONTEXT_SWITCH_TRACER is not set 1620# CONFIG_CONTEXT_SWITCH_TRACER is not set
1621# CONFIG_BOOT_TRACER is not set
1622# CONFIG_STACK_TRACER is not set
1623# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1538# CONFIG_SAMPLES is not set 1624# CONFIG_SAMPLES is not set
1539CONFIG_HAVE_ARCH_KGDB=y 1625CONFIG_HAVE_ARCH_KGDB=y
1540# CONFIG_KGDB is not set 1626# CONFIG_KGDB is not set
@@ -1543,6 +1629,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1543# CONFIG_DEBUG_PAGEALLOC is not set 1629# CONFIG_DEBUG_PAGEALLOC is not set
1544# CONFIG_CODE_PATCHING_SELFTEST is not set 1630# CONFIG_CODE_PATCHING_SELFTEST is not set
1545# CONFIG_FTR_FIXUP_SELFTEST is not set 1631# CONFIG_FTR_FIXUP_SELFTEST is not set
1632# CONFIG_MSI_BITMAP_SELFTEST is not set
1546# CONFIG_XMON is not set 1633# CONFIG_XMON is not set
1547# CONFIG_IRQSTACKS is not set 1634# CONFIG_IRQSTACKS is not set
1548# CONFIG_BDI_SWITCH is not set 1635# CONFIG_BDI_SWITCH is not set
@@ -1553,16 +1640,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1553# 1640#
1554# CONFIG_KEYS is not set 1641# CONFIG_KEYS is not set
1555# CONFIG_SECURITY is not set 1642# CONFIG_SECURITY is not set
1643# CONFIG_SECURITYFS is not set
1556# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1644# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1557CONFIG_CRYPTO=y 1645CONFIG_CRYPTO=y
1558 1646
1559# 1647#
1560# Crypto core or helper 1648# Crypto core or helper
1561# 1649#
1650# CONFIG_CRYPTO_FIPS is not set
1562CONFIG_CRYPTO_ALGAPI=y 1651CONFIG_CRYPTO_ALGAPI=y
1563CONFIG_CRYPTO_AEAD=y 1652CONFIG_CRYPTO_AEAD=y
1564CONFIG_CRYPTO_BLKCIPHER=y 1653CONFIG_CRYPTO_BLKCIPHER=y
1565CONFIG_CRYPTO_HASH=y 1654CONFIG_CRYPTO_HASH=y
1655CONFIG_CRYPTO_RNG=y
1566CONFIG_CRYPTO_MANAGER=y 1656CONFIG_CRYPTO_MANAGER=y
1567# CONFIG_CRYPTO_GF128MUL is not set 1657# CONFIG_CRYPTO_GF128MUL is not set
1568# CONFIG_CRYPTO_NULL is not set 1658# CONFIG_CRYPTO_NULL is not set
@@ -1635,6 +1725,11 @@ CONFIG_CRYPTO_DES=y
1635# 1725#
1636# CONFIG_CRYPTO_DEFLATE is not set 1726# CONFIG_CRYPTO_DEFLATE is not set
1637# CONFIG_CRYPTO_LZO is not set 1727# CONFIG_CRYPTO_LZO is not set
1728
1729#
1730# Random Number Generation
1731#
1732# CONFIG_CRYPTO_ANSI_CPRNG is not set
1638CONFIG_CRYPTO_HW=y 1733CONFIG_CRYPTO_HW=y
1639# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1734# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1640CONFIG_CRYPTO_DEV_TALITOS=y 1735CONFIG_CRYPTO_DEV_TALITOS=y
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
index 97f3c4fe440b..8769359dfe6a 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:34 2008 4# Sat Nov 8 12:40:14 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -107,7 +107,9 @@ CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
112# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
113CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -120,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 122CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 123CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 124CONFIG_HAVE_ARCH_TRACEHOOK=y
123# CONFIG_HAVE_DMA_ATTRS is not set
124# CONFIG_USE_GENERIC_SMP_HELPERS is not set
125# CONFIG_HAVE_CLK is not set
126CONFIG_PROC_PAGE_MONITOR=y
127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
128CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
129CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -150,6 +148,7 @@ CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
151CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
152CONFIG_CLASSIC_RCU=y 150CONFIG_CLASSIC_RCU=y
151# CONFIG_FREEZER is not set
153 152
154# 153#
155# Platform support 154# Platform support
@@ -184,8 +183,10 @@ CONFIG_PPC_I8259=y
184# CONFIG_PPC_INDIRECT_IO is not set 183# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 184# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 185# CONFIG_CPU_FREQ is not set
186# CONFIG_QUICC_ENGINE is not set
187# CONFIG_CPM2 is not set 187# CONFIG_CPM2 is not set
188# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
189# CONFIG_MPC8xxx_GPIO is not set
189 190
190# 191#
191# Kernel options 192# Kernel options
@@ -205,6 +206,8 @@ CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 206# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 207# CONFIG_PREEMPT is not set
207CONFIG_BINFMT_ELF=y 208CONFIG_BINFMT_ELF=y
209# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
210# CONFIG_HAVE_AOUT is not set
208CONFIG_BINFMT_MISC=y 211CONFIG_BINFMT_MISC=y
209CONFIG_MATH_EMULATION=y 212CONFIG_MATH_EMULATION=y
210# CONFIG_IOMMU_HELPER is not set 213# CONFIG_IOMMU_HELPER is not set
@@ -219,15 +222,15 @@ CONFIG_FLATMEM_MANUAL=y
219# CONFIG_SPARSEMEM_MANUAL is not set 222# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y 223CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y 224CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y 227CONFIG_MIGRATION=y
227# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
229# CONFIG_PHYS_ADDR_T_64BIT is not set
228CONFIG_ZONE_DMA_FLAG=1 230CONFIG_ZONE_DMA_FLAG=1
229CONFIG_BOUNCE=y 231CONFIG_BOUNCE=y
230CONFIG_VIRT_TO_BUS=y 232CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y
231CONFIG_FORCE_MAX_ZONEORDER=11 234CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 235CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 236# CONFIG_CMDLINE_BOOL is not set
@@ -250,7 +253,7 @@ CONFIG_PCI_SYSCALL=y
250# CONFIG_PCIEPORTBUS is not set 253# CONFIG_PCIEPORTBUS is not set
251CONFIG_ARCH_SUPPORTS_MSI=y 254CONFIG_ARCH_SUPPORTS_MSI=y
252# CONFIG_PCI_MSI is not set 255# CONFIG_PCI_MSI is not set
253CONFIG_PCI_LEGACY=y 256# CONFIG_PCI_LEGACY is not set
254# CONFIG_PCI_DEBUG is not set 257# CONFIG_PCI_DEBUG is not set
255# CONFIG_PCCARD is not set 258# CONFIG_PCCARD is not set
256# CONFIG_HOTPLUG_PCI is not set 259# CONFIG_HOTPLUG_PCI is not set
@@ -320,6 +323,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
320# CONFIG_TIPC is not set 323# CONFIG_TIPC is not set
321# CONFIG_ATM is not set 324# CONFIG_ATM is not set
322# CONFIG_BRIDGE is not set 325# CONFIG_BRIDGE is not set
326# CONFIG_NET_DSA is not set
323# CONFIG_VLAN_8021Q is not set 327# CONFIG_VLAN_8021Q is not set
324# CONFIG_DECNET is not set 328# CONFIG_DECNET is not set
325# CONFIG_LLC2 is not set 329# CONFIG_LLC2 is not set
@@ -340,11 +344,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
340# CONFIG_IRDA is not set 344# CONFIG_IRDA is not set
341# CONFIG_BT is not set 345# CONFIG_BT is not set
342# CONFIG_AF_RXRPC is not set 346# CONFIG_AF_RXRPC is not set
343 347# CONFIG_PHONET is not set
344# 348CONFIG_WIRELESS=y
345# Wireless
346#
347# CONFIG_CFG80211 is not set 349# CONFIG_CFG80211 is not set
350CONFIG_WIRELESS_OLD_REGULATORY=y
348# CONFIG_WIRELESS_EXT is not set 351# CONFIG_WIRELESS_EXT is not set
349# CONFIG_MAC80211 is not set 352# CONFIG_MAC80211 is not set
350# CONFIG_IEEE80211 is not set 353# CONFIG_IEEE80211 is not set
@@ -396,18 +399,17 @@ CONFIG_MISC_DEVICES=y
396# CONFIG_HP_ILO is not set 399# CONFIG_HP_ILO is not set
397CONFIG_HAVE_IDE=y 400CONFIG_HAVE_IDE=y
398CONFIG_IDE=y 401CONFIG_IDE=y
399CONFIG_BLK_DEV_IDE=y
400 402
401# 403#
402# Please see Documentation/ide/ide.txt for help/info on IDE drives 404# Please see Documentation/ide/ide.txt for help/info on IDE drives
403# 405#
404CONFIG_IDE_TIMINGS=y 406CONFIG_IDE_TIMINGS=y
405# CONFIG_BLK_DEV_IDE_SATA is not set 407# CONFIG_BLK_DEV_IDE_SATA is not set
406# CONFIG_BLK_DEV_IDEDISK is not set 408CONFIG_IDE_GD=y
407# CONFIG_IDEDISK_MULTI_MODE is not set 409CONFIG_IDE_GD_ATA=y
410# CONFIG_IDE_GD_ATAPI is not set
408# CONFIG_BLK_DEV_IDECD is not set 411# CONFIG_BLK_DEV_IDECD is not set
409# CONFIG_BLK_DEV_IDETAPE is not set 412# CONFIG_BLK_DEV_IDETAPE is not set
410# CONFIG_BLK_DEV_IDEFLOPPY is not set
411# CONFIG_IDE_TASK_IOCTL is not set 413# CONFIG_IDE_TASK_IOCTL is not set
412CONFIG_IDE_PROC_FS=y 414CONFIG_IDE_PROC_FS=y
413 415
@@ -510,13 +512,16 @@ CONFIG_MII=y
510# CONFIG_IBM_NEW_EMAC_RGMII is not set 512# CONFIG_IBM_NEW_EMAC_RGMII is not set
511# CONFIG_IBM_NEW_EMAC_TAH is not set 513# CONFIG_IBM_NEW_EMAC_TAH is not set
512# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 514# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
515# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
516# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
517# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
513# CONFIG_NET_PCI is not set 518# CONFIG_NET_PCI is not set
514# CONFIG_B44 is not set 519# CONFIG_B44 is not set
520# CONFIG_ATL2 is not set
515CONFIG_NETDEV_1000=y 521CONFIG_NETDEV_1000=y
516# CONFIG_ACENIC is not set 522# CONFIG_ACENIC is not set
517# CONFIG_DL2K is not set 523# CONFIG_DL2K is not set
518CONFIG_E1000=y 524CONFIG_E1000=y
519# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
520# CONFIG_E1000E is not set 525# CONFIG_E1000E is not set
521# CONFIG_IP1000 is not set 526# CONFIG_IP1000 is not set
522# CONFIG_IGB is not set 527# CONFIG_IGB is not set
@@ -534,18 +539,22 @@ CONFIG_GIANFAR=y
534# CONFIG_QLA3XXX is not set 539# CONFIG_QLA3XXX is not set
535# CONFIG_ATL1 is not set 540# CONFIG_ATL1 is not set
536# CONFIG_ATL1E is not set 541# CONFIG_ATL1E is not set
542# CONFIG_JME is not set
537CONFIG_NETDEV_10000=y 543CONFIG_NETDEV_10000=y
538# CONFIG_CHELSIO_T1 is not set 544# CONFIG_CHELSIO_T1 is not set
539# CONFIG_CHELSIO_T3 is not set 545# CONFIG_CHELSIO_T3 is not set
546# CONFIG_ENIC is not set
540# CONFIG_IXGBE is not set 547# CONFIG_IXGBE is not set
541# CONFIG_IXGB is not set 548# CONFIG_IXGB is not set
542# CONFIG_S2IO is not set 549# CONFIG_S2IO is not set
543# CONFIG_MYRI10GE is not set 550# CONFIG_MYRI10GE is not set
544# CONFIG_NETXEN_NIC is not set 551# CONFIG_NETXEN_NIC is not set
545# CONFIG_NIU is not set 552# CONFIG_NIU is not set
553# CONFIG_MLX4_EN is not set
546# CONFIG_MLX4_CORE is not set 554# CONFIG_MLX4_CORE is not set
547# CONFIG_TEHUTI is not set 555# CONFIG_TEHUTI is not set
548# CONFIG_BNX2X is not set 556# CONFIG_BNX2X is not set
557# CONFIG_QLGE is not set
549# CONFIG_SFC is not set 558# CONFIG_SFC is not set
550# CONFIG_TR is not set 559# CONFIG_TR is not set
551 560
@@ -679,6 +688,14 @@ CONFIG_SSB_POSSIBLE=y
679# CONFIG_MFD_TMIO is not set 688# CONFIG_MFD_TMIO is not set
680 689
681# 690#
691# Voltage and Current regulators
692#
693# CONFIG_REGULATOR is not set
694# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
695# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
696# CONFIG_REGULATOR_BQ24022 is not set
697
698#
682# Multimedia devices 699# Multimedia devices
683# 700#
684 701
@@ -713,6 +730,12 @@ CONFIG_HID_SUPPORT=y
713CONFIG_HID=y 730CONFIG_HID=y
714# CONFIG_HID_DEBUG is not set 731# CONFIG_HID_DEBUG is not set
715# CONFIG_HIDRAW is not set 732# CONFIG_HIDRAW is not set
733# CONFIG_HID_PID is not set
734
735#
736# Special HID drivers
737#
738CONFIG_HID_COMPAT=y
716CONFIG_USB_SUPPORT=y 739CONFIG_USB_SUPPORT=y
717CONFIG_USB_ARCH_HAS_HCD=y 740CONFIG_USB_ARCH_HAS_HCD=y
718CONFIG_USB_ARCH_HAS_OHCI=y 741CONFIG_USB_ARCH_HAS_OHCI=y
@@ -729,6 +752,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
729# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 752# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
730# 753#
731# CONFIG_USB_GADGET is not set 754# CONFIG_USB_GADGET is not set
755# CONFIG_UWB is not set
732# CONFIG_MMC is not set 756# CONFIG_MMC is not set
733# CONFIG_MEMSTICK is not set 757# CONFIG_MEMSTICK is not set
734# CONFIG_NEW_LEDS is not set 758# CONFIG_NEW_LEDS is not set
@@ -738,6 +762,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
738# CONFIG_RTC_CLASS is not set 762# CONFIG_RTC_CLASS is not set
739# CONFIG_DMADEVICES is not set 763# CONFIG_DMADEVICES is not set
740# CONFIG_UIO is not set 764# CONFIG_UIO is not set
765# CONFIG_STAGING is not set
741 766
742# 767#
743# File systems 768# File systems
@@ -749,12 +774,13 @@ CONFIG_EXT3_FS=y
749CONFIG_EXT3_FS_XATTR=y 774CONFIG_EXT3_FS_XATTR=y
750# CONFIG_EXT3_FS_POSIX_ACL is not set 775# CONFIG_EXT3_FS_POSIX_ACL is not set
751# CONFIG_EXT3_FS_SECURITY is not set 776# CONFIG_EXT3_FS_SECURITY is not set
752# CONFIG_EXT4DEV_FS is not set 777# CONFIG_EXT4_FS is not set
753CONFIG_JBD=y 778CONFIG_JBD=y
754CONFIG_FS_MBCACHE=y 779CONFIG_FS_MBCACHE=y
755# CONFIG_REISERFS_FS is not set 780# CONFIG_REISERFS_FS is not set
756# CONFIG_JFS_FS is not set 781# CONFIG_JFS_FS is not set
757# CONFIG_FS_POSIX_ACL is not set 782# CONFIG_FS_POSIX_ACL is not set
783CONFIG_FILE_LOCKING=y
758# CONFIG_XFS_FS is not set 784# CONFIG_XFS_FS is not set
759# CONFIG_OCFS2_FS is not set 785# CONFIG_OCFS2_FS is not set
760CONFIG_DNOTIFY=y 786CONFIG_DNOTIFY=y
@@ -784,6 +810,7 @@ CONFIG_INOTIFY_USER=y
784CONFIG_PROC_FS=y 810CONFIG_PROC_FS=y
785CONFIG_PROC_KCORE=y 811CONFIG_PROC_KCORE=y
786CONFIG_PROC_SYSCTL=y 812CONFIG_PROC_SYSCTL=y
813CONFIG_PROC_PAGE_MONITOR=y
787CONFIG_SYSFS=y 814CONFIG_SYSFS=y
788CONFIG_TMPFS=y 815CONFIG_TMPFS=y
789# CONFIG_TMPFS_POSIX_ACL is not set 816# CONFIG_TMPFS_POSIX_ACL is not set
@@ -818,6 +845,7 @@ CONFIG_ROOT_NFS=y
818CONFIG_LOCKD=y 845CONFIG_LOCKD=y
819CONFIG_NFS_COMMON=y 846CONFIG_NFS_COMMON=y
820CONFIG_SUNRPC=y 847CONFIG_SUNRPC=y
848# CONFIG_SUNRPC_REGISTER_V4 is not set
821# CONFIG_RPCSEC_GSS_KRB5 is not set 849# CONFIG_RPCSEC_GSS_KRB5 is not set
822# CONFIG_RPCSEC_GSS_SPKM3 is not set 850# CONFIG_RPCSEC_GSS_SPKM3 is not set
823# CONFIG_SMB_FS is not set 851# CONFIG_SMB_FS is not set
@@ -850,7 +878,6 @@ CONFIG_PARTITION_ADVANCED=y
850# Library routines 878# Library routines
851# 879#
852CONFIG_BITREVERSE=y 880CONFIG_BITREVERSE=y
853# CONFIG_GENERIC_FIND_FIRST_BIT is not set
854# CONFIG_CRC_CCITT is not set 881# CONFIG_CRC_CCITT is not set
855# CONFIG_CRC16 is not set 882# CONFIG_CRC16 is not set
856# CONFIG_CRC_T10DIF is not set 883# CONFIG_CRC_T10DIF is not set
@@ -902,15 +929,23 @@ CONFIG_DEBUG_MUTEXES=y
902# CONFIG_DEBUG_SG is not set 929# CONFIG_DEBUG_SG is not set
903# CONFIG_BOOT_PRINTK_DELAY is not set 930# CONFIG_BOOT_PRINTK_DELAY is not set
904# CONFIG_RCU_TORTURE_TEST is not set 931# CONFIG_RCU_TORTURE_TEST is not set
932# CONFIG_RCU_CPU_STALL_DETECTOR is not set
905# CONFIG_BACKTRACE_SELF_TEST is not set 933# CONFIG_BACKTRACE_SELF_TEST is not set
934# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
906# CONFIG_FAULT_INJECTION is not set 935# CONFIG_FAULT_INJECTION is not set
907# CONFIG_LATENCYTOP is not set 936# CONFIG_LATENCYTOP is not set
908CONFIG_SYSCTL_SYSCALL_CHECK=y 937CONFIG_SYSCTL_SYSCALL_CHECK=y
909CONFIG_HAVE_FTRACE=y 938CONFIG_HAVE_FUNCTION_TRACER=y
910CONFIG_HAVE_DYNAMIC_FTRACE=y 939
911# CONFIG_FTRACE is not set 940#
941# Tracers
942#
943# CONFIG_FUNCTION_TRACER is not set
912# CONFIG_SCHED_TRACER is not set 944# CONFIG_SCHED_TRACER is not set
913# CONFIG_CONTEXT_SWITCH_TRACER is not set 945# CONFIG_CONTEXT_SWITCH_TRACER is not set
946# CONFIG_BOOT_TRACER is not set
947# CONFIG_STACK_TRACER is not set
948# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
914# CONFIG_SAMPLES is not set 949# CONFIG_SAMPLES is not set
915CONFIG_HAVE_ARCH_KGDB=y 950CONFIG_HAVE_ARCH_KGDB=y
916# CONFIG_KGDB is not set 951# CONFIG_KGDB is not set
@@ -919,6 +954,7 @@ CONFIG_HAVE_ARCH_KGDB=y
919# CONFIG_DEBUG_PAGEALLOC is not set 954# CONFIG_DEBUG_PAGEALLOC is not set
920# CONFIG_CODE_PATCHING_SELFTEST is not set 955# CONFIG_CODE_PATCHING_SELFTEST is not set
921# CONFIG_FTR_FIXUP_SELFTEST is not set 956# CONFIG_FTR_FIXUP_SELFTEST is not set
957# CONFIG_MSI_BITMAP_SELFTEST is not set
922# CONFIG_XMON is not set 958# CONFIG_XMON is not set
923# CONFIG_IRQSTACKS is not set 959# CONFIG_IRQSTACKS is not set
924# CONFIG_BDI_SWITCH is not set 960# CONFIG_BDI_SWITCH is not set
@@ -929,12 +965,14 @@ CONFIG_HAVE_ARCH_KGDB=y
929# 965#
930# CONFIG_KEYS is not set 966# CONFIG_KEYS is not set
931# CONFIG_SECURITY is not set 967# CONFIG_SECURITY is not set
968# CONFIG_SECURITYFS is not set
932# CONFIG_SECURITY_FILE_CAPABILITIES is not set 969# CONFIG_SECURITY_FILE_CAPABILITIES is not set
933CONFIG_CRYPTO=y 970CONFIG_CRYPTO=y
934 971
935# 972#
936# Crypto core or helper 973# Crypto core or helper
937# 974#
975# CONFIG_CRYPTO_FIPS is not set
938# CONFIG_CRYPTO_MANAGER is not set 976# CONFIG_CRYPTO_MANAGER is not set
939# CONFIG_CRYPTO_GF128MUL is not set 977# CONFIG_CRYPTO_GF128MUL is not set
940# CONFIG_CRYPTO_NULL is not set 978# CONFIG_CRYPTO_NULL is not set
@@ -1006,6 +1044,11 @@ CONFIG_CRYPTO=y
1006# 1044#
1007# CONFIG_CRYPTO_DEFLATE is not set 1045# CONFIG_CRYPTO_DEFLATE is not set
1008# CONFIG_CRYPTO_LZO is not set 1046# CONFIG_CRYPTO_LZO is not set
1047
1048#
1049# Random Number Generation
1050#
1051# CONFIG_CRYPTO_ANSI_CPRNG is not set
1009CONFIG_CRYPTO_HW=y 1052CONFIG_CRYPTO_HW=y
1010# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1053# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1011# CONFIG_CRYPTO_DEV_TALITOS is not set 1054# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
index 41cedc4b63f6..bfe3c9731573 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:35 2008 4# Sat Nov 8 12:40:16 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -106,7 +106,9 @@ CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
110CONFIG_SLAB=y 112CONFIG_SLAB=y
111# CONFIG_SLUB is not set 113# CONFIG_SLUB is not set
112# CONFIG_SLOB is not set 114# CONFIG_SLOB is not set
@@ -118,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -148,6 +146,7 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_NOOP is not set 146# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 147CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y 148CONFIG_CLASSIC_RCU=y
149# CONFIG_FREEZER is not set
151 150
152# 151#
153# Platform support 152# Platform support
@@ -182,14 +181,15 @@ CONFIG_MPIC=y
182# CONFIG_PPC_INDIRECT_IO is not set 181# CONFIG_PPC_INDIRECT_IO is not set
183# CONFIG_GENERIC_IOMAP is not set 182# CONFIG_GENERIC_IOMAP is not set
184# CONFIG_CPU_FREQ is not set 183# CONFIG_CPU_FREQ is not set
184# CONFIG_QUICC_ENGINE is not set
185# CONFIG_CPM2 is not set 185# CONFIG_CPM2 is not set
186# CONFIG_FSL_ULI1575 is not set 186# CONFIG_FSL_ULI1575 is not set
187# CONFIG_MPC8xxx_GPIO is not set
187 188
188# 189#
189# Kernel options 190# Kernel options
190# 191#
191# CONFIG_HIGHMEM is not set 192# CONFIG_HIGHMEM is not set
192# CONFIG_TICK_ONESHOT is not set
193# CONFIG_NO_HZ is not set 193# CONFIG_NO_HZ is not set
194# CONFIG_HIGH_RES_TIMERS is not set 194# CONFIG_HIGH_RES_TIMERS is not set
195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -203,6 +203,8 @@ CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
205CONFIG_BINFMT_ELF=y 205CONFIG_BINFMT_ELF=y
206# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
207# CONFIG_HAVE_AOUT is not set
206CONFIG_BINFMT_MISC=y 208CONFIG_BINFMT_MISC=y
207CONFIG_MATH_EMULATION=y 209CONFIG_MATH_EMULATION=y
208# CONFIG_IOMMU_HELPER is not set 210# CONFIG_IOMMU_HELPER is not set
@@ -217,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y
217# CONFIG_SPARSEMEM_MANUAL is not set 219# CONFIG_SPARSEMEM_MANUAL is not set
218CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 224CONFIG_MIGRATION=y
225# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
226# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
230CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
231# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
@@ -248,7 +250,7 @@ CONFIG_PCI_SYSCALL=y
248# CONFIG_PCIEPORTBUS is not set 250# CONFIG_PCIEPORTBUS is not set
249CONFIG_ARCH_SUPPORTS_MSI=y 251CONFIG_ARCH_SUPPORTS_MSI=y
250# CONFIG_PCI_MSI is not set 252# CONFIG_PCI_MSI is not set
251CONFIG_PCI_LEGACY=y 253# CONFIG_PCI_LEGACY is not set
252# CONFIG_PCCARD is not set 254# CONFIG_PCCARD is not set
253# CONFIG_HOTPLUG_PCI is not set 255# CONFIG_HOTPLUG_PCI is not set
254# CONFIG_HAS_RAPIDIO is not set 256# CONFIG_HAS_RAPIDIO is not set
@@ -317,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# CONFIG_TIPC is not set 319# CONFIG_TIPC is not set
318# CONFIG_ATM is not set 320# CONFIG_ATM is not set
319# CONFIG_BRIDGE is not set 321# CONFIG_BRIDGE is not set
322# CONFIG_NET_DSA is not set
320# CONFIG_VLAN_8021Q is not set 323# CONFIG_VLAN_8021Q is not set
321# CONFIG_DECNET is not set 324# CONFIG_DECNET is not set
322# CONFIG_LLC2 is not set 325# CONFIG_LLC2 is not set
@@ -337,11 +340,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
337# CONFIG_IRDA is not set 340# CONFIG_IRDA is not set
338# CONFIG_BT is not set 341# CONFIG_BT is not set
339# CONFIG_AF_RXRPC is not set 342# CONFIG_AF_RXRPC is not set
340 343# CONFIG_PHONET is not set
341# 344CONFIG_WIRELESS=y
342# Wireless
343#
344# CONFIG_CFG80211 is not set 345# CONFIG_CFG80211 is not set
346CONFIG_WIRELESS_OLD_REGULATORY=y
345# CONFIG_WIRELESS_EXT is not set 347# CONFIG_WIRELESS_EXT is not set
346# CONFIG_MAC80211 is not set 348# CONFIG_MAC80211 is not set
347# CONFIG_IEEE80211 is not set 349# CONFIG_IEEE80211 is not set
@@ -451,8 +453,12 @@ CONFIG_MII=y
451# CONFIG_IBM_NEW_EMAC_RGMII is not set 453# CONFIG_IBM_NEW_EMAC_RGMII is not set
452# CONFIG_IBM_NEW_EMAC_TAH is not set 454# CONFIG_IBM_NEW_EMAC_TAH is not set
453# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 455# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
456# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
457# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
458# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
454# CONFIG_NET_PCI is not set 459# CONFIG_NET_PCI is not set
455# CONFIG_B44 is not set 460# CONFIG_B44 is not set
461# CONFIG_ATL2 is not set
456CONFIG_NETDEV_1000=y 462CONFIG_NETDEV_1000=y
457# CONFIG_ACENIC is not set 463# CONFIG_ACENIC is not set
458# CONFIG_DL2K is not set 464# CONFIG_DL2K is not set
@@ -474,18 +480,22 @@ CONFIG_GIANFAR=y
474# CONFIG_QLA3XXX is not set 480# CONFIG_QLA3XXX is not set
475# CONFIG_ATL1 is not set 481# CONFIG_ATL1 is not set
476# CONFIG_ATL1E is not set 482# CONFIG_ATL1E is not set
483# CONFIG_JME is not set
477CONFIG_NETDEV_10000=y 484CONFIG_NETDEV_10000=y
478# CONFIG_CHELSIO_T1 is not set 485# CONFIG_CHELSIO_T1 is not set
479# CONFIG_CHELSIO_T3 is not set 486# CONFIG_CHELSIO_T3 is not set
487# CONFIG_ENIC is not set
480# CONFIG_IXGBE is not set 488# CONFIG_IXGBE is not set
481# CONFIG_IXGB is not set 489# CONFIG_IXGB is not set
482# CONFIG_S2IO is not set 490# CONFIG_S2IO is not set
483# CONFIG_MYRI10GE is not set 491# CONFIG_MYRI10GE is not set
484# CONFIG_NETXEN_NIC is not set 492# CONFIG_NETXEN_NIC is not set
485# CONFIG_NIU is not set 493# CONFIG_NIU is not set
494# CONFIG_MLX4_EN is not set
486# CONFIG_MLX4_CORE is not set 495# CONFIG_MLX4_CORE is not set
487# CONFIG_TEHUTI is not set 496# CONFIG_TEHUTI is not set
488# CONFIG_BNX2X is not set 497# CONFIG_BNX2X is not set
498# CONFIG_QLGE is not set
489# CONFIG_SFC is not set 499# CONFIG_SFC is not set
490# CONFIG_TR is not set 500# CONFIG_TR is not set
491 501
@@ -619,6 +629,14 @@ CONFIG_SSB_POSSIBLE=y
619# CONFIG_MFD_TMIO is not set 629# CONFIG_MFD_TMIO is not set
620 630
621# 631#
632# Voltage and Current regulators
633#
634# CONFIG_REGULATOR is not set
635# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
636# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
637# CONFIG_REGULATOR_BQ24022 is not set
638
639#
622# Multimedia devices 640# Multimedia devices
623# 641#
624 642
@@ -651,6 +669,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
651# CONFIG_SOUND is not set 669# CONFIG_SOUND is not set
652# CONFIG_HID_SUPPORT is not set 670# CONFIG_HID_SUPPORT is not set
653# CONFIG_USB_SUPPORT is not set 671# CONFIG_USB_SUPPORT is not set
672# CONFIG_UWB is not set
654# CONFIG_MMC is not set 673# CONFIG_MMC is not set
655# CONFIG_MEMSTICK is not set 674# CONFIG_MEMSTICK is not set
656# CONFIG_NEW_LEDS is not set 675# CONFIG_NEW_LEDS is not set
@@ -660,16 +679,18 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
660# CONFIG_RTC_CLASS is not set 679# CONFIG_RTC_CLASS is not set
661# CONFIG_DMADEVICES is not set 680# CONFIG_DMADEVICES is not set
662# CONFIG_UIO is not set 681# CONFIG_UIO is not set
682# CONFIG_STAGING is not set
663 683
664# 684#
665# File systems 685# File systems
666# 686#
667# CONFIG_EXT2_FS is not set 687# CONFIG_EXT2_FS is not set
668# CONFIG_EXT3_FS is not set 688# CONFIG_EXT3_FS is not set
669# CONFIG_EXT4DEV_FS is not set 689# CONFIG_EXT4_FS is not set
670# CONFIG_REISERFS_FS is not set 690# CONFIG_REISERFS_FS is not set
671# CONFIG_JFS_FS is not set 691# CONFIG_JFS_FS is not set
672# CONFIG_FS_POSIX_ACL is not set 692# CONFIG_FS_POSIX_ACL is not set
693CONFIG_FILE_LOCKING=y
673# CONFIG_XFS_FS is not set 694# CONFIG_XFS_FS is not set
674# CONFIG_OCFS2_FS is not set 695# CONFIG_OCFS2_FS is not set
675CONFIG_DNOTIFY=y 696CONFIG_DNOTIFY=y
@@ -699,6 +720,7 @@ CONFIG_INOTIFY_USER=y
699CONFIG_PROC_FS=y 720CONFIG_PROC_FS=y
700CONFIG_PROC_KCORE=y 721CONFIG_PROC_KCORE=y
701CONFIG_PROC_SYSCTL=y 722CONFIG_PROC_SYSCTL=y
723CONFIG_PROC_PAGE_MONITOR=y
702CONFIG_SYSFS=y 724CONFIG_SYSFS=y
703CONFIG_TMPFS=y 725CONFIG_TMPFS=y
704# CONFIG_TMPFS_POSIX_ACL is not set 726# CONFIG_TMPFS_POSIX_ACL is not set
@@ -733,6 +755,7 @@ CONFIG_ROOT_NFS=y
733CONFIG_LOCKD=y 755CONFIG_LOCKD=y
734CONFIG_NFS_COMMON=y 756CONFIG_NFS_COMMON=y
735CONFIG_SUNRPC=y 757CONFIG_SUNRPC=y
758# CONFIG_SUNRPC_REGISTER_V4 is not set
736# CONFIG_RPCSEC_GSS_KRB5 is not set 759# CONFIG_RPCSEC_GSS_KRB5 is not set
737# CONFIG_RPCSEC_GSS_SPKM3 is not set 760# CONFIG_RPCSEC_GSS_SPKM3 is not set
738# CONFIG_SMB_FS is not set 761# CONFIG_SMB_FS is not set
@@ -753,7 +776,6 @@ CONFIG_MSDOS_PARTITION=y
753# Library routines 776# Library routines
754# 777#
755CONFIG_BITREVERSE=y 778CONFIG_BITREVERSE=y
756# CONFIG_GENERIC_FIND_FIRST_BIT is not set
757# CONFIG_CRC_CCITT is not set 779# CONFIG_CRC_CCITT is not set
758# CONFIG_CRC16 is not set 780# CONFIG_CRC16 is not set
759# CONFIG_CRC_T10DIF is not set 781# CONFIG_CRC_T10DIF is not set
@@ -781,13 +803,15 @@ CONFIG_FRAME_WARN=1024
781# CONFIG_DEBUG_KERNEL is not set 803# CONFIG_DEBUG_KERNEL is not set
782# CONFIG_DEBUG_BUGVERBOSE is not set 804# CONFIG_DEBUG_BUGVERBOSE is not set
783# CONFIG_DEBUG_MEMORY_INIT is not set 805# CONFIG_DEBUG_MEMORY_INIT is not set
806# CONFIG_RCU_CPU_STALL_DETECTOR is not set
784# CONFIG_LATENCYTOP is not set 807# CONFIG_LATENCYTOP is not set
785CONFIG_SYSCTL_SYSCALL_CHECK=y 808CONFIG_SYSCTL_SYSCALL_CHECK=y
786CONFIG_HAVE_FTRACE=y 809CONFIG_HAVE_FUNCTION_TRACER=y
787CONFIG_HAVE_DYNAMIC_FTRACE=y 810
788# CONFIG_FTRACE is not set 811#
789# CONFIG_SCHED_TRACER is not set 812# Tracers
790# CONFIG_CONTEXT_SWITCH_TRACER is not set 813#
814# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
791# CONFIG_SAMPLES is not set 815# CONFIG_SAMPLES is not set
792CONFIG_HAVE_ARCH_KGDB=y 816CONFIG_HAVE_ARCH_KGDB=y
793# CONFIG_IRQSTACKS is not set 817# CONFIG_IRQSTACKS is not set
@@ -798,12 +822,14 @@ CONFIG_HAVE_ARCH_KGDB=y
798# 822#
799# CONFIG_KEYS is not set 823# CONFIG_KEYS is not set
800# CONFIG_SECURITY is not set 824# CONFIG_SECURITY is not set
825# CONFIG_SECURITYFS is not set
801# CONFIG_SECURITY_FILE_CAPABILITIES is not set 826# CONFIG_SECURITY_FILE_CAPABILITIES is not set
802CONFIG_CRYPTO=y 827CONFIG_CRYPTO=y
803 828
804# 829#
805# Crypto core or helper 830# Crypto core or helper
806# 831#
832# CONFIG_CRYPTO_FIPS is not set
807# CONFIG_CRYPTO_MANAGER is not set 833# CONFIG_CRYPTO_MANAGER is not set
808# CONFIG_CRYPTO_GF128MUL is not set 834# CONFIG_CRYPTO_GF128MUL is not set
809# CONFIG_CRYPTO_NULL is not set 835# CONFIG_CRYPTO_NULL is not set
@@ -875,6 +901,11 @@ CONFIG_CRYPTO=y
875# 901#
876# CONFIG_CRYPTO_DEFLATE is not set 902# CONFIG_CRYPTO_DEFLATE is not set
877# CONFIG_CRYPTO_LZO is not set 903# CONFIG_CRYPTO_LZO is not set
904
905#
906# Random Number Generation
907#
908# CONFIG_CRYPTO_ANSI_CPRNG is not set
878CONFIG_CRYPTO_HW=y 909CONFIG_CRYPTO_HW=y
879# CONFIG_CRYPTO_DEV_HIFN_795X is not set 910# CONFIG_CRYPTO_DEV_HIFN_795X is not set
880# CONFIG_CRYPTO_DEV_TALITOS is not set 911# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig
index daef36f41b42..8c507f8d15a8 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:36 2008 4# Sat Nov 8 12:40:17 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -107,6 +107,7 @@ CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_SLAB=y 112CONFIG_SLAB=y
112# CONFIG_SLUB is not set 113# CONFIG_SLUB is not set
@@ -119,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -149,6 +146,7 @@ CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_NOOP is not set 146# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 147CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y 148CONFIG_CLASSIC_RCU=y
149# CONFIG_FREEZER is not set
152 150
153# 151#
154# Platform support 152# Platform support
@@ -183,14 +181,15 @@ CONFIG_MPIC=y
183# CONFIG_PPC_INDIRECT_IO is not set 181# CONFIG_PPC_INDIRECT_IO is not set
184# CONFIG_GENERIC_IOMAP is not set 182# CONFIG_GENERIC_IOMAP is not set
185# CONFIG_CPU_FREQ is not set 183# CONFIG_CPU_FREQ is not set
184# CONFIG_QUICC_ENGINE is not set
186# CONFIG_CPM2 is not set 185# CONFIG_CPM2 is not set
187# CONFIG_FSL_ULI1575 is not set 186# CONFIG_FSL_ULI1575 is not set
187# CONFIG_MPC8xxx_GPIO is not set
188 188
189# 189#
190# Kernel options 190# Kernel options
191# 191#
192# CONFIG_HIGHMEM is not set 192# CONFIG_HIGHMEM is not set
193# CONFIG_TICK_ONESHOT is not set
194# CONFIG_NO_HZ is not set 193# CONFIG_NO_HZ is not set
195# CONFIG_HIGH_RES_TIMERS is not set 194# CONFIG_HIGH_RES_TIMERS is not set
196CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 195CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -204,6 +203,8 @@ CONFIG_PREEMPT_NONE=y
204# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
205# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
206CONFIG_BINFMT_ELF=y 205CONFIG_BINFMT_ELF=y
206# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
207# CONFIG_HAVE_AOUT is not set
207CONFIG_BINFMT_MISC=y 208CONFIG_BINFMT_MISC=y
208# CONFIG_MATH_EMULATION is not set 209# CONFIG_MATH_EMULATION is not set
209# CONFIG_IOMMU_HELPER is not set 210# CONFIG_IOMMU_HELPER is not set
@@ -218,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y
218# CONFIG_SPARSEMEM_MANUAL is not set 219# CONFIG_SPARSEMEM_MANUAL is not set
219CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
220CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_STATIC is not set
222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
223CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
224CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y 224CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
226# CONFIG_PHYS_ADDR_T_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
230CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
231CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
232# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
@@ -312,6 +313,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
312# CONFIG_TIPC is not set 313# CONFIG_TIPC is not set
313# CONFIG_ATM is not set 314# CONFIG_ATM is not set
314# CONFIG_BRIDGE is not set 315# CONFIG_BRIDGE is not set
316# CONFIG_NET_DSA is not set
315# CONFIG_VLAN_8021Q is not set 317# CONFIG_VLAN_8021Q is not set
316# CONFIG_DECNET is not set 318# CONFIG_DECNET is not set
317# CONFIG_LLC2 is not set 319# CONFIG_LLC2 is not set
@@ -332,11 +334,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
332# CONFIG_IRDA is not set 334# CONFIG_IRDA is not set
333# CONFIG_BT is not set 335# CONFIG_BT is not set
334# CONFIG_AF_RXRPC is not set 336# CONFIG_AF_RXRPC is not set
335 337# CONFIG_PHONET is not set
336# 338CONFIG_WIRELESS=y
337# Wireless
338#
339# CONFIG_CFG80211 is not set 339# CONFIG_CFG80211 is not set
340CONFIG_WIRELESS_OLD_REGULATORY=y
340# CONFIG_WIRELESS_EXT is not set 341# CONFIG_WIRELESS_EXT is not set
341# CONFIG_MAC80211 is not set 342# CONFIG_MAC80211 is not set
342# CONFIG_IEEE80211 is not set 343# CONFIG_IEEE80211 is not set
@@ -420,6 +421,9 @@ CONFIG_MII=y
420# CONFIG_IBM_NEW_EMAC_RGMII is not set 421# CONFIG_IBM_NEW_EMAC_RGMII is not set
421# CONFIG_IBM_NEW_EMAC_TAH is not set 422# CONFIG_IBM_NEW_EMAC_TAH is not set
422# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 423# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
424# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
425# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
426# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
423# CONFIG_B44 is not set 427# CONFIG_B44 is not set
424CONFIG_NETDEV_1000=y 428CONFIG_NETDEV_1000=y
425CONFIG_GIANFAR=y 429CONFIG_GIANFAR=y
@@ -542,6 +546,14 @@ CONFIG_SSB_POSSIBLE=y
542# CONFIG_MFD_TMIO is not set 546# CONFIG_MFD_TMIO is not set
543 547
544# 548#
549# Voltage and Current regulators
550#
551# CONFIG_REGULATOR is not set
552# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
553# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
554# CONFIG_REGULATOR_BQ24022 is not set
555
556#
545# Multimedia devices 557# Multimedia devices
546# 558#
547 559
@@ -574,6 +586,12 @@ CONFIG_HID_SUPPORT=y
574CONFIG_HID=y 586CONFIG_HID=y
575# CONFIG_HID_DEBUG is not set 587# CONFIG_HID_DEBUG is not set
576# CONFIG_HIDRAW is not set 588# CONFIG_HIDRAW is not set
589# CONFIG_HID_PID is not set
590
591#
592# Special HID drivers
593#
594CONFIG_HID_COMPAT=y
577CONFIG_USB_SUPPORT=y 595CONFIG_USB_SUPPORT=y
578# CONFIG_USB_ARCH_HAS_HCD is not set 596# CONFIG_USB_ARCH_HAS_HCD is not set
579# CONFIG_USB_ARCH_HAS_OHCI is not set 597# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -617,12 +635,15 @@ CONFIG_RTC_INTF_DEV=y
617# Platform RTC drivers 635# Platform RTC drivers
618# 636#
619# CONFIG_RTC_DRV_CMOS is not set 637# CONFIG_RTC_DRV_CMOS is not set
638# CONFIG_RTC_DRV_DS1286 is not set
620# CONFIG_RTC_DRV_DS1511 is not set 639# CONFIG_RTC_DRV_DS1511 is not set
621# CONFIG_RTC_DRV_DS1553 is not set 640# CONFIG_RTC_DRV_DS1553 is not set
622# CONFIG_RTC_DRV_DS1742 is not set 641# CONFIG_RTC_DRV_DS1742 is not set
623# CONFIG_RTC_DRV_STK17TA8 is not set 642# CONFIG_RTC_DRV_STK17TA8 is not set
624# CONFIG_RTC_DRV_M48T86 is not set 643# CONFIG_RTC_DRV_M48T86 is not set
644# CONFIG_RTC_DRV_M48T35 is not set
625CONFIG_RTC_DRV_M48T59=y 645CONFIG_RTC_DRV_M48T59=y
646# CONFIG_RTC_DRV_BQ4802 is not set
626# CONFIG_RTC_DRV_V3020 is not set 647# CONFIG_RTC_DRV_V3020 is not set
627 648
628# 649#
@@ -631,16 +652,18 @@ CONFIG_RTC_DRV_M48T59=y
631# CONFIG_RTC_DRV_PPC is not set 652# CONFIG_RTC_DRV_PPC is not set
632# CONFIG_DMADEVICES is not set 653# CONFIG_DMADEVICES is not set
633# CONFIG_UIO is not set 654# CONFIG_UIO is not set
655# CONFIG_STAGING is not set
634 656
635# 657#
636# File systems 658# File systems
637# 659#
638# CONFIG_EXT2_FS is not set 660# CONFIG_EXT2_FS is not set
639# CONFIG_EXT3_FS is not set 661# CONFIG_EXT3_FS is not set
640# CONFIG_EXT4DEV_FS is not set 662# CONFIG_EXT4_FS is not set
641# CONFIG_REISERFS_FS is not set 663# CONFIG_REISERFS_FS is not set
642# CONFIG_JFS_FS is not set 664# CONFIG_JFS_FS is not set
643# CONFIG_FS_POSIX_ACL is not set 665# CONFIG_FS_POSIX_ACL is not set
666CONFIG_FILE_LOCKING=y
644# CONFIG_XFS_FS is not set 667# CONFIG_XFS_FS is not set
645# CONFIG_OCFS2_FS is not set 668# CONFIG_OCFS2_FS is not set
646CONFIG_DNOTIFY=y 669CONFIG_DNOTIFY=y
@@ -670,6 +693,7 @@ CONFIG_INOTIFY_USER=y
670CONFIG_PROC_FS=y 693CONFIG_PROC_FS=y
671CONFIG_PROC_KCORE=y 694CONFIG_PROC_KCORE=y
672CONFIG_PROC_SYSCTL=y 695CONFIG_PROC_SYSCTL=y
696CONFIG_PROC_PAGE_MONITOR=y
673CONFIG_SYSFS=y 697CONFIG_SYSFS=y
674CONFIG_TMPFS=y 698CONFIG_TMPFS=y
675# CONFIG_TMPFS_POSIX_ACL is not set 699# CONFIG_TMPFS_POSIX_ACL is not set
@@ -704,6 +728,7 @@ CONFIG_ROOT_NFS=y
704CONFIG_LOCKD=y 728CONFIG_LOCKD=y
705CONFIG_NFS_COMMON=y 729CONFIG_NFS_COMMON=y
706CONFIG_SUNRPC=y 730CONFIG_SUNRPC=y
731# CONFIG_SUNRPC_REGISTER_V4 is not set
707# CONFIG_RPCSEC_GSS_KRB5 is not set 732# CONFIG_RPCSEC_GSS_KRB5 is not set
708# CONFIG_RPCSEC_GSS_SPKM3 is not set 733# CONFIG_RPCSEC_GSS_SPKM3 is not set
709# CONFIG_SMB_FS is not set 734# CONFIG_SMB_FS is not set
@@ -736,7 +761,6 @@ CONFIG_PARTITION_ADVANCED=y
736# Library routines 761# Library routines
737# 762#
738CONFIG_BITREVERSE=y 763CONFIG_BITREVERSE=y
739# CONFIG_GENERIC_FIND_FIRST_BIT is not set
740# CONFIG_CRC_CCITT is not set 764# CONFIG_CRC_CCITT is not set
741# CONFIG_CRC16 is not set 765# CONFIG_CRC16 is not set
742# CONFIG_CRC_T10DIF is not set 766# CONFIG_CRC_T10DIF is not set
@@ -787,15 +811,23 @@ CONFIG_DEBUG_MUTEXES=y
787# CONFIG_DEBUG_SG is not set 811# CONFIG_DEBUG_SG is not set
788# CONFIG_BOOT_PRINTK_DELAY is not set 812# CONFIG_BOOT_PRINTK_DELAY is not set
789# CONFIG_RCU_TORTURE_TEST is not set 813# CONFIG_RCU_TORTURE_TEST is not set
814# CONFIG_RCU_CPU_STALL_DETECTOR is not set
790# CONFIG_BACKTRACE_SELF_TEST is not set 815# CONFIG_BACKTRACE_SELF_TEST is not set
816# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
791# CONFIG_FAULT_INJECTION is not set 817# CONFIG_FAULT_INJECTION is not set
792# CONFIG_LATENCYTOP is not set 818# CONFIG_LATENCYTOP is not set
793CONFIG_SYSCTL_SYSCALL_CHECK=y 819CONFIG_SYSCTL_SYSCALL_CHECK=y
794CONFIG_HAVE_FTRACE=y 820CONFIG_HAVE_FUNCTION_TRACER=y
795CONFIG_HAVE_DYNAMIC_FTRACE=y 821
796# CONFIG_FTRACE is not set 822#
823# Tracers
824#
825# CONFIG_FUNCTION_TRACER is not set
797# CONFIG_SCHED_TRACER is not set 826# CONFIG_SCHED_TRACER is not set
798# CONFIG_CONTEXT_SWITCH_TRACER is not set 827# CONFIG_CONTEXT_SWITCH_TRACER is not set
828# CONFIG_BOOT_TRACER is not set
829# CONFIG_STACK_TRACER is not set
830# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
799# CONFIG_SAMPLES is not set 831# CONFIG_SAMPLES is not set
800CONFIG_HAVE_ARCH_KGDB=y 832CONFIG_HAVE_ARCH_KGDB=y
801# CONFIG_KGDB is not set 833# CONFIG_KGDB is not set
@@ -804,6 +836,7 @@ CONFIG_HAVE_ARCH_KGDB=y
804# CONFIG_DEBUG_PAGEALLOC is not set 836# CONFIG_DEBUG_PAGEALLOC is not set
805# CONFIG_CODE_PATCHING_SELFTEST is not set 837# CONFIG_CODE_PATCHING_SELFTEST is not set
806# CONFIG_FTR_FIXUP_SELFTEST is not set 838# CONFIG_FTR_FIXUP_SELFTEST is not set
839# CONFIG_MSI_BITMAP_SELFTEST is not set
807# CONFIG_XMON is not set 840# CONFIG_XMON is not set
808# CONFIG_IRQSTACKS is not set 841# CONFIG_IRQSTACKS is not set
809# CONFIG_BDI_SWITCH is not set 842# CONFIG_BDI_SWITCH is not set
@@ -825,12 +858,14 @@ CONFIG_PPC_EARLY_DEBUG=y
825# 858#
826# CONFIG_KEYS is not set 859# CONFIG_KEYS is not set
827# CONFIG_SECURITY is not set 860# CONFIG_SECURITY is not set
861# CONFIG_SECURITYFS is not set
828# CONFIG_SECURITY_FILE_CAPABILITIES is not set 862# CONFIG_SECURITY_FILE_CAPABILITIES is not set
829CONFIG_CRYPTO=y 863CONFIG_CRYPTO=y
830 864
831# 865#
832# Crypto core or helper 866# Crypto core or helper
833# 867#
868# CONFIG_CRYPTO_FIPS is not set
834# CONFIG_CRYPTO_MANAGER is not set 869# CONFIG_CRYPTO_MANAGER is not set
835# CONFIG_CRYPTO_GF128MUL is not set 870# CONFIG_CRYPTO_GF128MUL is not set
836# CONFIG_CRYPTO_NULL is not set 871# CONFIG_CRYPTO_NULL is not set
@@ -902,6 +937,11 @@ CONFIG_CRYPTO=y
902# 937#
903# CONFIG_CRYPTO_DEFLATE is not set 938# CONFIG_CRYPTO_DEFLATE is not set
904# CONFIG_CRYPTO_LZO is not set 939# CONFIG_CRYPTO_LZO is not set
940
941#
942# Random Number Generation
943#
944# CONFIG_CRYPTO_ANSI_CPRNG is not set
905CONFIG_CRYPTO_HW=y 945CONFIG_CRYPTO_HW=y
906# CONFIG_CRYPTO_DEV_TALITOS is not set 946# CONFIG_CRYPTO_DEV_TALITOS is not set
907# CONFIG_PPC_CLOCK is not set 947# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
index 2b05d43f8f7e..5a0cf58d2b8c 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:37 2008 4# Sat Nov 8 12:40:19 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -108,7 +108,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 108CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 110CONFIG_SHMEM=y
111CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 114CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 115# CONFIG_SLAB is not set
114CONFIG_SLUB=y 116CONFIG_SLUB=y
@@ -122,10 +124,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 126CONFIG_HAVE_ARCH_TRACEHOOK=y
125# CONFIG_HAVE_DMA_ATTRS is not set
126# CONFIG_USE_GENERIC_SMP_HELPERS is not set
127CONFIG_HAVE_CLK=y 127CONFIG_HAVE_CLK=y
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
@@ -157,6 +156,7 @@ CONFIG_DEFAULT_CFQ=y
157# CONFIG_DEFAULT_NOOP is not set 156# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="cfq" 157CONFIG_DEFAULT_IOSCHED="cfq"
159CONFIG_CLASSIC_RCU=y 158CONFIG_CLASSIC_RCU=y
159# CONFIG_FREEZER is not set
160 160
161# 161#
162# Platform support 162# Platform support
@@ -191,15 +191,16 @@ CONFIG_MPIC=y
191# CONFIG_PPC_INDIRECT_IO is not set 191# CONFIG_PPC_INDIRECT_IO is not set
192# CONFIG_GENERIC_IOMAP is not set 192# CONFIG_GENERIC_IOMAP is not set
193# CONFIG_CPU_FREQ is not set 193# CONFIG_CPU_FREQ is not set
194# CONFIG_QUICC_ENGINE is not set
194CONFIG_CPM2=y 195CONFIG_CPM2=y
195# CONFIG_FSL_ULI1575 is not set 196# CONFIG_FSL_ULI1575 is not set
196CONFIG_CPM=y 197CONFIG_CPM=y
198# CONFIG_MPC8xxx_GPIO is not set
197 199
198# 200#
199# Kernel options 201# Kernel options
200# 202#
201CONFIG_HIGHMEM=y 203CONFIG_HIGHMEM=y
202# CONFIG_TICK_ONESHOT is not set
203# CONFIG_NO_HZ is not set 204# CONFIG_NO_HZ is not set
204# CONFIG_HIGH_RES_TIMERS is not set 205# CONFIG_HIGH_RES_TIMERS is not set
205CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 206CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -213,6 +214,8 @@ CONFIG_PREEMPT_NONE=y
213# CONFIG_PREEMPT_VOLUNTARY is not set 214# CONFIG_PREEMPT_VOLUNTARY is not set
214# CONFIG_PREEMPT is not set 215# CONFIG_PREEMPT is not set
215CONFIG_BINFMT_ELF=y 216CONFIG_BINFMT_ELF=y
217# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
218# CONFIG_HAVE_AOUT is not set
216CONFIG_BINFMT_MISC=m 219CONFIG_BINFMT_MISC=m
217CONFIG_MATH_EMULATION=y 220CONFIG_MATH_EMULATION=y
218# CONFIG_IOMMU_HELPER is not set 221# CONFIG_IOMMU_HELPER is not set
@@ -227,15 +230,15 @@ CONFIG_FLATMEM_MANUAL=y
227# CONFIG_SPARSEMEM_MANUAL is not set 230# CONFIG_SPARSEMEM_MANUAL is not set
228CONFIG_FLATMEM=y 231CONFIG_FLATMEM=y
229CONFIG_FLAT_NODE_MEM_MAP=y 232CONFIG_FLAT_NODE_MEM_MAP=y
230# CONFIG_SPARSEMEM_STATIC is not set
231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
232CONFIG_PAGEFLAGS_EXTENDED=y 233CONFIG_PAGEFLAGS_EXTENDED=y
233CONFIG_SPLIT_PTLOCK_CPUS=4 234CONFIG_SPLIT_PTLOCK_CPUS=4
234CONFIG_MIGRATION=y 235CONFIG_MIGRATION=y
235# CONFIG_RESOURCES_64BIT is not set 236# CONFIG_RESOURCES_64BIT is not set
237# CONFIG_PHYS_ADDR_T_64BIT is not set
236CONFIG_ZONE_DMA_FLAG=1 238CONFIG_ZONE_DMA_FLAG=1
237CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
238CONFIG_VIRT_TO_BUS=y 240CONFIG_VIRT_TO_BUS=y
241CONFIG_UNEVICTABLE_LRU=y
239CONFIG_FORCE_MAX_ZONEORDER=11 242CONFIG_FORCE_MAX_ZONEORDER=11
240CONFIG_PROC_DEVICETREE=y 243CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 244# CONFIG_CMDLINE_BOOL is not set
@@ -258,7 +261,7 @@ CONFIG_PCI_SYSCALL=y
258# CONFIG_PCIEPORTBUS is not set 261# CONFIG_PCIEPORTBUS is not set
259CONFIG_ARCH_SUPPORTS_MSI=y 262CONFIG_ARCH_SUPPORTS_MSI=y
260# CONFIG_PCI_MSI is not set 263# CONFIG_PCI_MSI is not set
261CONFIG_PCI_LEGACY=y 264# CONFIG_PCI_LEGACY is not set
262# CONFIG_PCI_DEBUG is not set 265# CONFIG_PCI_DEBUG is not set
263# CONFIG_PCCARD is not set 266# CONFIG_PCCARD is not set
264# CONFIG_HOTPLUG_PCI is not set 267# CONFIG_HOTPLUG_PCI is not set
@@ -319,7 +322,6 @@ CONFIG_INET_TCP_DIAG=y
319CONFIG_TCP_CONG_CUBIC=y 322CONFIG_TCP_CONG_CUBIC=y
320CONFIG_DEFAULT_TCP_CONG="cubic" 323CONFIG_DEFAULT_TCP_CONG="cubic"
321# CONFIG_TCP_MD5SIG is not set 324# CONFIG_TCP_MD5SIG is not set
322# CONFIG_IP_VS is not set
323# CONFIG_IPV6 is not set 325# CONFIG_IPV6 is not set
324# CONFIG_NETWORK_SECMARK is not set 326# CONFIG_NETWORK_SECMARK is not set
325CONFIG_NETFILTER=y 327CONFIG_NETFILTER=y
@@ -335,44 +337,46 @@ CONFIG_NETFILTER_ADVANCED=y
335CONFIG_NETFILTER_XTABLES=m 337CONFIG_NETFILTER_XTABLES=m
336# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 338# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
337# CONFIG_NETFILTER_XT_TARGET_MARK is not set 339# CONFIG_NETFILTER_XT_TARGET_MARK is not set
338# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
339# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 340# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
341# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
340# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 342# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
341# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 343# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
342# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 344# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
343# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 345# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
344# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 346# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
345# CONFIG_NETFILTER_XT_MATCH_ESP is not set 347# CONFIG_NETFILTER_XT_MATCH_ESP is not set
348# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
346# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 349# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
347# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 350# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
348# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 351# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
349# CONFIG_NETFILTER_XT_MATCH_MAC is not set 352# CONFIG_NETFILTER_XT_MATCH_MAC is not set
350# CONFIG_NETFILTER_XT_MATCH_MARK is not set 353# CONFIG_NETFILTER_XT_MATCH_MARK is not set
354# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
351# CONFIG_NETFILTER_XT_MATCH_OWNER is not set 355# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
352# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 356# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
353# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
354# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 357# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
355# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 358# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
356# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 359# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
357# CONFIG_NETFILTER_XT_MATCH_REALM is not set 360# CONFIG_NETFILTER_XT_MATCH_REALM is not set
361# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
358# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 362# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
359# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 363# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
360# CONFIG_NETFILTER_XT_MATCH_STRING is not set 364# CONFIG_NETFILTER_XT_MATCH_STRING is not set
361# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 365# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
362# CONFIG_NETFILTER_XT_MATCH_TIME is not set 366# CONFIG_NETFILTER_XT_MATCH_TIME is not set
363# CONFIG_NETFILTER_XT_MATCH_U32 is not set 367# CONFIG_NETFILTER_XT_MATCH_U32 is not set
364# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 368# CONFIG_IP_VS is not set
365 369
366# 370#
367# IP: Netfilter Configuration 371# IP: Netfilter Configuration
368# 372#
373# CONFIG_NF_DEFRAG_IPV4 is not set
369# CONFIG_IP_NF_QUEUE is not set 374# CONFIG_IP_NF_QUEUE is not set
370CONFIG_IP_NF_IPTABLES=m 375CONFIG_IP_NF_IPTABLES=m
371# CONFIG_IP_NF_MATCH_RECENT is not set 376# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
372# CONFIG_IP_NF_MATCH_ECN is not set
373# CONFIG_IP_NF_MATCH_AH is not set 377# CONFIG_IP_NF_MATCH_AH is not set
378# CONFIG_IP_NF_MATCH_ECN is not set
374# CONFIG_IP_NF_MATCH_TTL is not set 379# CONFIG_IP_NF_MATCH_TTL is not set
375# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
376CONFIG_IP_NF_FILTER=m 380CONFIG_IP_NF_FILTER=m
377# CONFIG_IP_NF_TARGET_REJECT is not set 381# CONFIG_IP_NF_TARGET_REJECT is not set
378# CONFIG_IP_NF_TARGET_LOG is not set 382# CONFIG_IP_NF_TARGET_LOG is not set
@@ -385,6 +389,7 @@ CONFIG_IP_NF_FILTER=m
385# CONFIG_TIPC is not set 389# CONFIG_TIPC is not set
386# CONFIG_ATM is not set 390# CONFIG_ATM is not set
387# CONFIG_BRIDGE is not set 391# CONFIG_BRIDGE is not set
392# CONFIG_NET_DSA is not set
388# CONFIG_VLAN_8021Q is not set 393# CONFIG_VLAN_8021Q is not set
389# CONFIG_DECNET is not set 394# CONFIG_DECNET is not set
390# CONFIG_LLC2 is not set 395# CONFIG_LLC2 is not set
@@ -405,11 +410,10 @@ CONFIG_NET_PKTGEN=y
405# CONFIG_IRDA is not set 410# CONFIG_IRDA is not set
406# CONFIG_BT is not set 411# CONFIG_BT is not set
407# CONFIG_AF_RXRPC is not set 412# CONFIG_AF_RXRPC is not set
408 413# CONFIG_PHONET is not set
409# 414CONFIG_WIRELESS=y
410# Wireless
411#
412# CONFIG_CFG80211 is not set 415# CONFIG_CFG80211 is not set
416CONFIG_WIRELESS_OLD_REGULATORY=y
413# CONFIG_WIRELESS_EXT is not set 417# CONFIG_WIRELESS_EXT is not set
414# CONFIG_MAC80211 is not set 418# CONFIG_MAC80211 is not set
415# CONFIG_IEEE80211 is not set 419# CONFIG_IEEE80211 is not set
@@ -470,18 +474,17 @@ CONFIG_MISC_DEVICES=y
470# CONFIG_HP_ILO is not set 474# CONFIG_HP_ILO is not set
471CONFIG_HAVE_IDE=y 475CONFIG_HAVE_IDE=y
472CONFIG_IDE=y 476CONFIG_IDE=y
473CONFIG_BLK_DEV_IDE=y
474 477
475# 478#
476# Please see Documentation/ide/ide.txt for help/info on IDE drives 479# Please see Documentation/ide/ide.txt for help/info on IDE drives
477# 480#
478# CONFIG_BLK_DEV_IDE_SATA is not set 481# CONFIG_BLK_DEV_IDE_SATA is not set
479CONFIG_BLK_DEV_IDEDISK=y 482CONFIG_IDE_GD=y
480# CONFIG_IDEDISK_MULTI_MODE is not set 483CONFIG_IDE_GD_ATA=y
484# CONFIG_IDE_GD_ATAPI is not set
481CONFIG_BLK_DEV_IDECD=m 485CONFIG_BLK_DEV_IDECD=m
482CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 486CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
483# CONFIG_BLK_DEV_IDETAPE is not set 487# CONFIG_BLK_DEV_IDETAPE is not set
484# CONFIG_BLK_DEV_IDEFLOPPY is not set
485# CONFIG_BLK_DEV_IDESCSI is not set 488# CONFIG_BLK_DEV_IDESCSI is not set
486# CONFIG_IDE_TASK_IOCTL is not set 489# CONFIG_IDE_TASK_IOCTL is not set
487CONFIG_IDE_PROC_FS=y 490CONFIG_IDE_PROC_FS=y
@@ -651,9 +654,13 @@ CONFIG_NET_ETHERNET=y
651# CONFIG_IBM_NEW_EMAC_RGMII is not set 654# CONFIG_IBM_NEW_EMAC_RGMII is not set
652# CONFIG_IBM_NEW_EMAC_TAH is not set 655# CONFIG_IBM_NEW_EMAC_TAH is not set
653# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 656# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
657# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
658# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
659# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
654# CONFIG_NET_PCI is not set 660# CONFIG_NET_PCI is not set
655# CONFIG_B44 is not set 661# CONFIG_B44 is not set
656# CONFIG_NET_POCKET is not set 662# CONFIG_NET_POCKET is not set
663# CONFIG_ATL2 is not set
657# CONFIG_FS_ENET is not set 664# CONFIG_FS_ENET is not set
658CONFIG_NETDEV_1000=y 665CONFIG_NETDEV_1000=y
659# CONFIG_ACENIC is not set 666# CONFIG_ACENIC is not set
@@ -676,18 +683,22 @@ CONFIG_GIANFAR=y
676# CONFIG_QLA3XXX is not set 683# CONFIG_QLA3XXX is not set
677# CONFIG_ATL1 is not set 684# CONFIG_ATL1 is not set
678# CONFIG_ATL1E is not set 685# CONFIG_ATL1E is not set
686# CONFIG_JME is not set
679CONFIG_NETDEV_10000=y 687CONFIG_NETDEV_10000=y
680# CONFIG_CHELSIO_T1 is not set 688# CONFIG_CHELSIO_T1 is not set
681# CONFIG_CHELSIO_T3 is not set 689# CONFIG_CHELSIO_T3 is not set
690# CONFIG_ENIC is not set
682# CONFIG_IXGBE is not set 691# CONFIG_IXGBE is not set
683# CONFIG_IXGB is not set 692# CONFIG_IXGB is not set
684# CONFIG_S2IO is not set 693# CONFIG_S2IO is not set
685# CONFIG_MYRI10GE is not set 694# CONFIG_MYRI10GE is not set
686# CONFIG_NETXEN_NIC is not set 695# CONFIG_NETXEN_NIC is not set
687# CONFIG_NIU is not set 696# CONFIG_NIU is not set
697# CONFIG_MLX4_EN is not set
688# CONFIG_MLX4_CORE is not set 698# CONFIG_MLX4_CORE is not set
689# CONFIG_TEHUTI is not set 699# CONFIG_TEHUTI is not set
690# CONFIG_BNX2X is not set 700# CONFIG_BNX2X is not set
701# CONFIG_QLGE is not set
691# CONFIG_SFC is not set 702# CONFIG_SFC is not set
692# CONFIG_TR is not set 703# CONFIG_TR is not set
693 704
@@ -746,6 +757,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
746CONFIG_MOUSE_PS2_SYNAPTICS=y 757CONFIG_MOUSE_PS2_SYNAPTICS=y
747CONFIG_MOUSE_PS2_LIFEBOOK=y 758CONFIG_MOUSE_PS2_LIFEBOOK=y
748CONFIG_MOUSE_PS2_TRACKPOINT=y 759CONFIG_MOUSE_PS2_TRACKPOINT=y
760# CONFIG_MOUSE_PS2_ELANTECH is not set
749# CONFIG_MOUSE_PS2_TOUCHKIT is not set 761# CONFIG_MOUSE_PS2_TOUCHKIT is not set
750# CONFIG_MOUSE_SERIAL is not set 762# CONFIG_MOUSE_SERIAL is not set
751# CONFIG_MOUSE_APPLETOUCH is not set 763# CONFIG_MOUSE_APPLETOUCH is not set
@@ -791,12 +803,6 @@ CONFIG_SERIAL_CORE=y
791CONFIG_SERIAL_CORE_CONSOLE=y 803CONFIG_SERIAL_CORE_CONSOLE=y
792CONFIG_SERIAL_CPM=y 804CONFIG_SERIAL_CPM=y
793CONFIG_SERIAL_CPM_CONSOLE=y 805CONFIG_SERIAL_CPM_CONSOLE=y
794# CONFIG_SERIAL_CPM_SCC1 is not set
795CONFIG_SERIAL_CPM_SCC2=y
796# CONFIG_SERIAL_CPM_SCC3 is not set
797# CONFIG_SERIAL_CPM_SCC4 is not set
798# CONFIG_SERIAL_CPM_SMC1 is not set
799# CONFIG_SERIAL_CPM_SMC2 is not set
800# CONFIG_SERIAL_JSM is not set 806# CONFIG_SERIAL_JSM is not set
801CONFIG_UNIX98_PTYS=y 807CONFIG_UNIX98_PTYS=y
802CONFIG_LEGACY_PTYS=y 808CONFIG_LEGACY_PTYS=y
@@ -980,6 +986,16 @@ CONFIG_SSB_POSSIBLE=y
980# CONFIG_MFD_SM501 is not set 986# CONFIG_MFD_SM501 is not set
981# CONFIG_HTC_PASIC3 is not set 987# CONFIG_HTC_PASIC3 is not set
982# CONFIG_MFD_TMIO is not set 988# CONFIG_MFD_TMIO is not set
989# CONFIG_MFD_WM8400 is not set
990# CONFIG_MFD_WM8350_I2C is not set
991
992#
993# Voltage and Current regulators
994#
995# CONFIG_REGULATOR is not set
996# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
997# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
998# CONFIG_REGULATOR_BQ24022 is not set
983 999
984# 1000#
985# Multimedia devices 1001# Multimedia devices
@@ -1019,12 +1035,19 @@ CONFIG_DRM=m
1019# 1035#
1020# CONFIG_DISPLAY_SUPPORT is not set 1036# CONFIG_DISPLAY_SUPPORT is not set
1021CONFIG_SOUND=m 1037CONFIG_SOUND=m
1038# CONFIG_SOUND_OSS_CORE is not set
1022# CONFIG_SND is not set 1039# CONFIG_SND is not set
1023# CONFIG_SOUND_PRIME is not set 1040# CONFIG_SOUND_PRIME is not set
1024CONFIG_HID_SUPPORT=y 1041CONFIG_HID_SUPPORT=y
1025CONFIG_HID=y 1042CONFIG_HID=y
1026# CONFIG_HID_DEBUG is not set 1043# CONFIG_HID_DEBUG is not set
1027# CONFIG_HIDRAW is not set 1044# CONFIG_HIDRAW is not set
1045# CONFIG_HID_PID is not set
1046
1047#
1048# Special HID drivers
1049#
1050CONFIG_HID_COMPAT=y
1028CONFIG_USB_SUPPORT=y 1051CONFIG_USB_SUPPORT=y
1029CONFIG_USB_ARCH_HAS_HCD=y 1052CONFIG_USB_ARCH_HAS_HCD=y
1030CONFIG_USB_ARCH_HAS_OHCI=y 1053CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1041,6 +1064,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1041# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1064# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1042# 1065#
1043# CONFIG_USB_GADGET is not set 1066# CONFIG_USB_GADGET is not set
1067# CONFIG_UWB is not set
1044# CONFIG_MMC is not set 1068# CONFIG_MMC is not set
1045# CONFIG_MEMSTICK is not set 1069# CONFIG_MEMSTICK is not set
1046# CONFIG_NEW_LEDS is not set 1070# CONFIG_NEW_LEDS is not set
@@ -1051,6 +1075,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1051# CONFIG_DMADEVICES is not set 1075# CONFIG_DMADEVICES is not set
1052# CONFIG_AUXDISPLAY is not set 1076# CONFIG_AUXDISPLAY is not set
1053# CONFIG_UIO is not set 1077# CONFIG_UIO is not set
1078# CONFIG_STAGING is not set
1054 1079
1055# 1080#
1056# File systems 1081# File systems
@@ -1062,12 +1087,13 @@ CONFIG_EXT3_FS=y
1062CONFIG_EXT3_FS_XATTR=y 1087CONFIG_EXT3_FS_XATTR=y
1063# CONFIG_EXT3_FS_POSIX_ACL is not set 1088# CONFIG_EXT3_FS_POSIX_ACL is not set
1064# CONFIG_EXT3_FS_SECURITY is not set 1089# CONFIG_EXT3_FS_SECURITY is not set
1065# CONFIG_EXT4DEV_FS is not set 1090# CONFIG_EXT4_FS is not set
1066CONFIG_JBD=y 1091CONFIG_JBD=y
1067CONFIG_FS_MBCACHE=y 1092CONFIG_FS_MBCACHE=y
1068# CONFIG_REISERFS_FS is not set 1093# CONFIG_REISERFS_FS is not set
1069# CONFIG_JFS_FS is not set 1094# CONFIG_JFS_FS is not set
1070# CONFIG_FS_POSIX_ACL is not set 1095# CONFIG_FS_POSIX_ACL is not set
1096CONFIG_FILE_LOCKING=y
1071# CONFIG_XFS_FS is not set 1097# CONFIG_XFS_FS is not set
1072# CONFIG_OCFS2_FS is not set 1098# CONFIG_OCFS2_FS is not set
1073CONFIG_DNOTIFY=y 1099CONFIG_DNOTIFY=y
@@ -1103,6 +1129,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1103CONFIG_PROC_FS=y 1129CONFIG_PROC_FS=y
1104# CONFIG_PROC_KCORE is not set 1130# CONFIG_PROC_KCORE is not set
1105CONFIG_PROC_SYSCTL=y 1131CONFIG_PROC_SYSCTL=y
1132CONFIG_PROC_PAGE_MONITOR=y
1106CONFIG_SYSFS=y 1133CONFIG_SYSFS=y
1107CONFIG_TMPFS=y 1134CONFIG_TMPFS=y
1108# CONFIG_TMPFS_POSIX_ACL is not set 1135# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1139,6 +1166,7 @@ CONFIG_LOCKD=y
1139CONFIG_LOCKD_V4=y 1166CONFIG_LOCKD_V4=y
1140CONFIG_NFS_COMMON=y 1167CONFIG_NFS_COMMON=y
1141CONFIG_SUNRPC=y 1168CONFIG_SUNRPC=y
1169# CONFIG_SUNRPC_REGISTER_V4 is not set
1142# CONFIG_RPCSEC_GSS_KRB5 is not set 1170# CONFIG_RPCSEC_GSS_KRB5 is not set
1143# CONFIG_RPCSEC_GSS_SPKM3 is not set 1171# CONFIG_RPCSEC_GSS_SPKM3 is not set
1144CONFIG_SMB_FS=m 1172CONFIG_SMB_FS=m
@@ -1199,7 +1227,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1199# Library routines 1227# Library routines
1200# 1228#
1201CONFIG_BITREVERSE=y 1229CONFIG_BITREVERSE=y
1202# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1203CONFIG_CRC_CCITT=y 1230CONFIG_CRC_CCITT=y
1204# CONFIG_CRC16 is not set 1231# CONFIG_CRC16 is not set
1205CONFIG_CRC_T10DIF=m 1232CONFIG_CRC_T10DIF=m
@@ -1253,15 +1280,23 @@ CONFIG_SCHED_DEBUG=y
1253# CONFIG_DEBUG_SG is not set 1280# CONFIG_DEBUG_SG is not set
1254# CONFIG_BOOT_PRINTK_DELAY is not set 1281# CONFIG_BOOT_PRINTK_DELAY is not set
1255# CONFIG_RCU_TORTURE_TEST is not set 1282# CONFIG_RCU_TORTURE_TEST is not set
1283# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1256# CONFIG_BACKTRACE_SELF_TEST is not set 1284# CONFIG_BACKTRACE_SELF_TEST is not set
1285# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1257# CONFIG_FAULT_INJECTION is not set 1286# CONFIG_FAULT_INJECTION is not set
1258# CONFIG_LATENCYTOP is not set 1287# CONFIG_LATENCYTOP is not set
1259CONFIG_SYSCTL_SYSCALL_CHECK=y 1288CONFIG_SYSCTL_SYSCALL_CHECK=y
1260CONFIG_HAVE_FTRACE=y 1289CONFIG_HAVE_FUNCTION_TRACER=y
1261CONFIG_HAVE_DYNAMIC_FTRACE=y 1290
1262# CONFIG_FTRACE is not set 1291#
1292# Tracers
1293#
1294# CONFIG_FUNCTION_TRACER is not set
1263# CONFIG_SCHED_TRACER is not set 1295# CONFIG_SCHED_TRACER is not set
1264# CONFIG_CONTEXT_SWITCH_TRACER is not set 1296# CONFIG_CONTEXT_SWITCH_TRACER is not set
1297# CONFIG_BOOT_TRACER is not set
1298# CONFIG_STACK_TRACER is not set
1299# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1265# CONFIG_SAMPLES is not set 1300# CONFIG_SAMPLES is not set
1266CONFIG_HAVE_ARCH_KGDB=y 1301CONFIG_HAVE_ARCH_KGDB=y
1267# CONFIG_KGDB is not set 1302# CONFIG_KGDB is not set
@@ -1270,6 +1305,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1270# CONFIG_DEBUG_PAGEALLOC is not set 1305# CONFIG_DEBUG_PAGEALLOC is not set
1271# CONFIG_CODE_PATCHING_SELFTEST is not set 1306# CONFIG_CODE_PATCHING_SELFTEST is not set
1272# CONFIG_FTR_FIXUP_SELFTEST is not set 1307# CONFIG_FTR_FIXUP_SELFTEST is not set
1308# CONFIG_MSI_BITMAP_SELFTEST is not set
1273# CONFIG_XMON is not set 1309# CONFIG_XMON is not set
1274# CONFIG_IRQSTACKS is not set 1310# CONFIG_IRQSTACKS is not set
1275CONFIG_BDI_SWITCH=y 1311CONFIG_BDI_SWITCH=y
@@ -1280,12 +1316,14 @@ CONFIG_BDI_SWITCH=y
1280# 1316#
1281# CONFIG_KEYS is not set 1317# CONFIG_KEYS is not set
1282# CONFIG_SECURITY is not set 1318# CONFIG_SECURITY is not set
1319# CONFIG_SECURITYFS is not set
1283# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1320# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1284CONFIG_CRYPTO=y 1321CONFIG_CRYPTO=y
1285 1322
1286# 1323#
1287# Crypto core or helper 1324# Crypto core or helper
1288# 1325#
1326# CONFIG_CRYPTO_FIPS is not set
1289# CONFIG_CRYPTO_MANAGER is not set 1327# CONFIG_CRYPTO_MANAGER is not set
1290# CONFIG_CRYPTO_GF128MUL is not set 1328# CONFIG_CRYPTO_GF128MUL is not set
1291# CONFIG_CRYPTO_NULL is not set 1329# CONFIG_CRYPTO_NULL is not set
@@ -1358,6 +1396,11 @@ CONFIG_CRYPTO=y
1358# 1396#
1359# CONFIG_CRYPTO_DEFLATE is not set 1397# CONFIG_CRYPTO_DEFLATE is not set
1360# CONFIG_CRYPTO_LZO is not set 1398# CONFIG_CRYPTO_LZO is not set
1399
1400#
1401# Random Number Generation
1402#
1403# CONFIG_CRYPTO_ANSI_CPRNG is not set
1361CONFIG_CRYPTO_HW=y 1404CONFIG_CRYPTO_HW=y
1362# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1405# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1363# CONFIG_CRYPTO_DEV_TALITOS is not set 1406# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig
index 1b2d5d577915..f3e4f3481fda 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:37 2008 4# Sat Nov 8 12:40:20 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -105,7 +105,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 105CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 106CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 107CONFIG_SHMEM=y
108CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 111CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 112# CONFIG_SLAB is not set
111CONFIG_SLUB=y 113CONFIG_SLUB=y
@@ -118,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
121# CONFIG_HAVE_DMA_ATTRS is not set
122# CONFIG_USE_GENERIC_SMP_HELPERS is not set
123# CONFIG_HAVE_CLK is not set
124CONFIG_PROC_PAGE_MONITOR=y
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -148,6 +146,7 @@ CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_NOOP is not set 146# CONFIG_DEFAULT_NOOP is not set
149CONFIG_DEFAULT_IOSCHED="anticipatory" 147CONFIG_DEFAULT_IOSCHED="anticipatory"
150CONFIG_CLASSIC_RCU=y 148CONFIG_CLASSIC_RCU=y
149# CONFIG_FREEZER is not set
151 150
152# 151#
153# Platform support 152# Platform support
@@ -183,14 +182,15 @@ CONFIG_MPIC=y
183# CONFIG_PPC_INDIRECT_IO is not set 182# CONFIG_PPC_INDIRECT_IO is not set
184# CONFIG_GENERIC_IOMAP is not set 183# CONFIG_GENERIC_IOMAP is not set
185# CONFIG_CPU_FREQ is not set 184# CONFIG_CPU_FREQ is not set
185# CONFIG_QUICC_ENGINE is not set
186# CONFIG_CPM2 is not set 186# CONFIG_CPM2 is not set
187# CONFIG_FSL_ULI1575 is not set 187# CONFIG_FSL_ULI1575 is not set
188# CONFIG_MPC8xxx_GPIO is not set
188 189
189# 190#
190# Kernel options 191# Kernel options
191# 192#
192# CONFIG_HIGHMEM is not set 193# CONFIG_HIGHMEM is not set
193# CONFIG_TICK_ONESHOT is not set
194# CONFIG_NO_HZ is not set 194# CONFIG_NO_HZ is not set
195# CONFIG_HIGH_RES_TIMERS is not set 195# CONFIG_HIGH_RES_TIMERS is not set
196CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 196CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -204,6 +204,8 @@ CONFIG_PREEMPT_NONE=y
204# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
205# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
206CONFIG_BINFMT_ELF=y 206CONFIG_BINFMT_ELF=y
207# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
208# CONFIG_HAVE_AOUT is not set
207# CONFIG_BINFMT_MISC is not set 209# CONFIG_BINFMT_MISC is not set
208CONFIG_MATH_EMULATION=y 210CONFIG_MATH_EMULATION=y
209# CONFIG_IOMMU_HELPER is not set 211# CONFIG_IOMMU_HELPER is not set
@@ -218,15 +220,15 @@ CONFIG_FLATMEM_MANUAL=y
218# CONFIG_SPARSEMEM_MANUAL is not set 220# CONFIG_SPARSEMEM_MANUAL is not set
219CONFIG_FLATMEM=y 221CONFIG_FLATMEM=y
220CONFIG_FLAT_NODE_MEM_MAP=y 222CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_STATIC is not set
222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
223CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
224CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y 225CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
227# CONFIG_PHYS_ADDR_T_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 230CONFIG_VIRT_TO_BUS=y
231CONFIG_UNEVICTABLE_LRU=y
230CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
231# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
232# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
@@ -249,7 +251,7 @@ CONFIG_PCI_SYSCALL=y
249# CONFIG_PCIEPORTBUS is not set 251# CONFIG_PCIEPORTBUS is not set
250CONFIG_ARCH_SUPPORTS_MSI=y 252CONFIG_ARCH_SUPPORTS_MSI=y
251# CONFIG_PCI_MSI is not set 253# CONFIG_PCI_MSI is not set
252CONFIG_PCI_LEGACY=y 254# CONFIG_PCI_LEGACY is not set
253# CONFIG_HAS_RAPIDIO is not set 255# CONFIG_HAS_RAPIDIO is not set
254 256
255# 257#
@@ -316,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_TIPC is not set 318# CONFIG_TIPC is not set
317# CONFIG_ATM is not set 319# CONFIG_ATM is not set
318# CONFIG_BRIDGE is not set 320# CONFIG_BRIDGE is not set
321# CONFIG_NET_DSA is not set
319# CONFIG_VLAN_8021Q is not set 322# CONFIG_VLAN_8021Q is not set
320# CONFIG_DECNET is not set 323# CONFIG_DECNET is not set
321# CONFIG_LLC2 is not set 324# CONFIG_LLC2 is not set
@@ -336,11 +339,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
336# CONFIG_IRDA is not set 339# CONFIG_IRDA is not set
337# CONFIG_BT is not set 340# CONFIG_BT is not set
338# CONFIG_AF_RXRPC is not set 341# CONFIG_AF_RXRPC is not set
339 342# CONFIG_PHONET is not set
340# 343CONFIG_WIRELESS=y
341# Wireless
342#
343# CONFIG_CFG80211 is not set 344# CONFIG_CFG80211 is not set
345CONFIG_WIRELESS_OLD_REGULATORY=y
344# CONFIG_WIRELESS_EXT is not set 346# CONFIG_WIRELESS_EXT is not set
345# CONFIG_MAC80211 is not set 347# CONFIG_MAC80211 is not set
346# CONFIG_IEEE80211 is not set 348# CONFIG_IEEE80211 is not set
@@ -466,18 +468,17 @@ CONFIG_MISC_DEVICES=y
466# CONFIG_HP_ILO is not set 468# CONFIG_HP_ILO is not set
467CONFIG_HAVE_IDE=y 469CONFIG_HAVE_IDE=y
468CONFIG_IDE=y 470CONFIG_IDE=y
469CONFIG_BLK_DEV_IDE=y
470 471
471# 472#
472# Please see Documentation/ide/ide.txt for help/info on IDE drives 473# Please see Documentation/ide/ide.txt for help/info on IDE drives
473# 474#
474CONFIG_IDE_TIMINGS=y 475CONFIG_IDE_TIMINGS=y
475# CONFIG_BLK_DEV_IDE_SATA is not set 476# CONFIG_BLK_DEV_IDE_SATA is not set
476CONFIG_BLK_DEV_IDEDISK=y 477CONFIG_IDE_GD=y
477# CONFIG_IDEDISK_MULTI_MODE is not set 478CONFIG_IDE_GD_ATA=y
479# CONFIG_IDE_GD_ATAPI is not set
478# CONFIG_BLK_DEV_IDECD is not set 480# CONFIG_BLK_DEV_IDECD is not set
479# CONFIG_BLK_DEV_IDETAPE is not set 481# CONFIG_BLK_DEV_IDETAPE is not set
480# CONFIG_BLK_DEV_IDEFLOPPY is not set
481# CONFIG_IDE_TASK_IOCTL is not set 482# CONFIG_IDE_TASK_IOCTL is not set
482CONFIG_IDE_PROC_FS=y 483CONFIG_IDE_PROC_FS=y
483 484
@@ -580,6 +581,9 @@ CONFIG_MII=y
580# CONFIG_IBM_NEW_EMAC_RGMII is not set 581# CONFIG_IBM_NEW_EMAC_RGMII is not set
581# CONFIG_IBM_NEW_EMAC_TAH is not set 582# CONFIG_IBM_NEW_EMAC_TAH is not set
582# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 583# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
584# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
585# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
586# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
583CONFIG_NET_PCI=y 587CONFIG_NET_PCI=y
584# CONFIG_PCNET32 is not set 588# CONFIG_PCNET32 is not set
585# CONFIG_AMD8111_ETH is not set 589# CONFIG_AMD8111_ETH is not set
@@ -600,6 +604,7 @@ CONFIG_E100=y
600# CONFIG_TLAN is not set 604# CONFIG_TLAN is not set
601# CONFIG_VIA_RHINE is not set 605# CONFIG_VIA_RHINE is not set
602# CONFIG_SC92031 is not set 606# CONFIG_SC92031 is not set
607# CONFIG_ATL2 is not set
603CONFIG_NETDEV_1000=y 608CONFIG_NETDEV_1000=y
604# CONFIG_ACENIC is not set 609# CONFIG_ACENIC is not set
605# CONFIG_DL2K is not set 610# CONFIG_DL2K is not set
@@ -621,18 +626,22 @@ CONFIG_GIANFAR=y
621# CONFIG_QLA3XXX is not set 626# CONFIG_QLA3XXX is not set
622# CONFIG_ATL1 is not set 627# CONFIG_ATL1 is not set
623# CONFIG_ATL1E is not set 628# CONFIG_ATL1E is not set
629# CONFIG_JME is not set
624CONFIG_NETDEV_10000=y 630CONFIG_NETDEV_10000=y
625# CONFIG_CHELSIO_T1 is not set 631# CONFIG_CHELSIO_T1 is not set
626# CONFIG_CHELSIO_T3 is not set 632# CONFIG_CHELSIO_T3 is not set
633# CONFIG_ENIC is not set
627# CONFIG_IXGBE is not set 634# CONFIG_IXGBE is not set
628# CONFIG_IXGB is not set 635# CONFIG_IXGB is not set
629# CONFIG_S2IO is not set 636# CONFIG_S2IO is not set
630# CONFIG_MYRI10GE is not set 637# CONFIG_MYRI10GE is not set
631# CONFIG_NETXEN_NIC is not set 638# CONFIG_NETXEN_NIC is not set
632# CONFIG_NIU is not set 639# CONFIG_NIU is not set
640# CONFIG_MLX4_EN is not set
633# CONFIG_MLX4_CORE is not set 641# CONFIG_MLX4_CORE is not set
634# CONFIG_TEHUTI is not set 642# CONFIG_TEHUTI is not set
635# CONFIG_BNX2X is not set 643# CONFIG_BNX2X is not set
644# CONFIG_QLGE is not set
636# CONFIG_SFC is not set 645# CONFIG_SFC is not set
637# CONFIG_TR is not set 646# CONFIG_TR is not set
638 647
@@ -867,6 +876,17 @@ CONFIG_SSB_POSSIBLE=y
867# CONFIG_MFD_SM501 is not set 876# CONFIG_MFD_SM501 is not set
868# CONFIG_HTC_PASIC3 is not set 877# CONFIG_HTC_PASIC3 is not set
869# CONFIG_MFD_TMIO is not set 878# CONFIG_MFD_TMIO is not set
879# CONFIG_PMIC_DA903X is not set
880# CONFIG_MFD_WM8400 is not set
881# CONFIG_MFD_WM8350_I2C is not set
882
883#
884# Voltage and Current regulators
885#
886# CONFIG_REGULATOR is not set
887# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
888# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
889# CONFIG_REGULATOR_BQ24022 is not set
870 890
871# 891#
872# Multimedia devices 892# Multimedia devices
@@ -903,6 +923,12 @@ CONFIG_HID_SUPPORT=y
903CONFIG_HID=y 923CONFIG_HID=y
904# CONFIG_HID_DEBUG is not set 924# CONFIG_HID_DEBUG is not set
905# CONFIG_HIDRAW is not set 925# CONFIG_HIDRAW is not set
926# CONFIG_HID_PID is not set
927
928#
929# Special HID drivers
930#
931CONFIG_HID_COMPAT=y
906CONFIG_USB_SUPPORT=y 932CONFIG_USB_SUPPORT=y
907CONFIG_USB_ARCH_HAS_HCD=y 933CONFIG_USB_ARCH_HAS_HCD=y
908CONFIG_USB_ARCH_HAS_OHCI=y 934CONFIG_USB_ARCH_HAS_OHCI=y
@@ -919,6 +945,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
919# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 945# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
920# 946#
921# CONFIG_USB_GADGET is not set 947# CONFIG_USB_GADGET is not set
948# CONFIG_UWB is not set
922# CONFIG_MMC is not set 949# CONFIG_MMC is not set
923# CONFIG_MEMSTICK is not set 950# CONFIG_MEMSTICK is not set
924# CONFIG_NEW_LEDS is not set 951# CONFIG_NEW_LEDS is not set
@@ -928,6 +955,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
928# CONFIG_RTC_CLASS is not set 955# CONFIG_RTC_CLASS is not set
929# CONFIG_DMADEVICES is not set 956# CONFIG_DMADEVICES is not set
930# CONFIG_UIO is not set 957# CONFIG_UIO is not set
958# CONFIG_STAGING is not set
931 959
932# 960#
933# File systems 961# File systems
@@ -939,12 +967,13 @@ CONFIG_EXT3_FS=y
939CONFIG_EXT3_FS_XATTR=y 967CONFIG_EXT3_FS_XATTR=y
940# CONFIG_EXT3_FS_POSIX_ACL is not set 968# CONFIG_EXT3_FS_POSIX_ACL is not set
941# CONFIG_EXT3_FS_SECURITY is not set 969# CONFIG_EXT3_FS_SECURITY is not set
942# CONFIG_EXT4DEV_FS is not set 970# CONFIG_EXT4_FS is not set
943CONFIG_JBD=y 971CONFIG_JBD=y
944CONFIG_FS_MBCACHE=y 972CONFIG_FS_MBCACHE=y
945# CONFIG_REISERFS_FS is not set 973# CONFIG_REISERFS_FS is not set
946# CONFIG_JFS_FS is not set 974# CONFIG_JFS_FS is not set
947# CONFIG_FS_POSIX_ACL is not set 975# CONFIG_FS_POSIX_ACL is not set
976CONFIG_FILE_LOCKING=y
948# CONFIG_XFS_FS is not set 977# CONFIG_XFS_FS is not set
949# CONFIG_OCFS2_FS is not set 978# CONFIG_OCFS2_FS is not set
950CONFIG_DNOTIFY=y 979CONFIG_DNOTIFY=y
@@ -974,6 +1003,7 @@ CONFIG_INOTIFY_USER=y
974CONFIG_PROC_FS=y 1003CONFIG_PROC_FS=y
975CONFIG_PROC_KCORE=y 1004CONFIG_PROC_KCORE=y
976CONFIG_PROC_SYSCTL=y 1005CONFIG_PROC_SYSCTL=y
1006CONFIG_PROC_PAGE_MONITOR=y
977CONFIG_SYSFS=y 1007CONFIG_SYSFS=y
978CONFIG_TMPFS=y 1008CONFIG_TMPFS=y
979# CONFIG_TMPFS_POSIX_ACL is not set 1009# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1019,6 +1049,7 @@ CONFIG_ROOT_NFS=y
1019CONFIG_LOCKD=y 1049CONFIG_LOCKD=y
1020CONFIG_NFS_COMMON=y 1050CONFIG_NFS_COMMON=y
1021CONFIG_SUNRPC=y 1051CONFIG_SUNRPC=y
1052# CONFIG_SUNRPC_REGISTER_V4 is not set
1022# CONFIG_RPCSEC_GSS_KRB5 is not set 1053# CONFIG_RPCSEC_GSS_KRB5 is not set
1023# CONFIG_RPCSEC_GSS_SPKM3 is not set 1054# CONFIG_RPCSEC_GSS_SPKM3 is not set
1024# CONFIG_SMB_FS is not set 1055# CONFIG_SMB_FS is not set
@@ -1051,7 +1082,6 @@ CONFIG_PARTITION_ADVANCED=y
1051# Library routines 1082# Library routines
1052# 1083#
1053CONFIG_BITREVERSE=y 1084CONFIG_BITREVERSE=y
1054# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1055# CONFIG_CRC_CCITT is not set 1085# CONFIG_CRC_CCITT is not set
1056# CONFIG_CRC16 is not set 1086# CONFIG_CRC16 is not set
1057# CONFIG_CRC_T10DIF is not set 1087# CONFIG_CRC_T10DIF is not set
@@ -1083,13 +1113,15 @@ CONFIG_FRAME_WARN=1024
1083# CONFIG_SLUB_STATS is not set 1113# CONFIG_SLUB_STATS is not set
1084# CONFIG_DEBUG_BUGVERBOSE is not set 1114# CONFIG_DEBUG_BUGVERBOSE is not set
1085# CONFIG_DEBUG_MEMORY_INIT is not set 1115# CONFIG_DEBUG_MEMORY_INIT is not set
1116# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1086# CONFIG_LATENCYTOP is not set 1117# CONFIG_LATENCYTOP is not set
1087CONFIG_SYSCTL_SYSCALL_CHECK=y 1118CONFIG_SYSCTL_SYSCALL_CHECK=y
1088CONFIG_HAVE_FTRACE=y 1119CONFIG_HAVE_FUNCTION_TRACER=y
1089CONFIG_HAVE_DYNAMIC_FTRACE=y 1120
1090# CONFIG_FTRACE is not set 1121#
1091# CONFIG_SCHED_TRACER is not set 1122# Tracers
1092# CONFIG_CONTEXT_SWITCH_TRACER is not set 1123#
1124# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1093# CONFIG_SAMPLES is not set 1125# CONFIG_SAMPLES is not set
1094CONFIG_HAVE_ARCH_KGDB=y 1126CONFIG_HAVE_ARCH_KGDB=y
1095# CONFIG_IRQSTACKS is not set 1127# CONFIG_IRQSTACKS is not set
@@ -1100,12 +1132,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1100# 1132#
1101# CONFIG_KEYS is not set 1133# CONFIG_KEYS is not set
1102# CONFIG_SECURITY is not set 1134# CONFIG_SECURITY is not set
1135# CONFIG_SECURITYFS is not set
1103# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1136# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1104CONFIG_CRYPTO=y 1137CONFIG_CRYPTO=y
1105 1138
1106# 1139#
1107# Crypto core or helper 1140# Crypto core or helper
1108# 1141#
1142# CONFIG_CRYPTO_FIPS is not set
1109# CONFIG_CRYPTO_MANAGER is not set 1143# CONFIG_CRYPTO_MANAGER is not set
1110# CONFIG_CRYPTO_GF128MUL is not set 1144# CONFIG_CRYPTO_GF128MUL is not set
1111# CONFIG_CRYPTO_NULL is not set 1145# CONFIG_CRYPTO_NULL is not set
@@ -1177,6 +1211,11 @@ CONFIG_CRYPTO=y
1177# 1211#
1178# CONFIG_CRYPTO_DEFLATE is not set 1212# CONFIG_CRYPTO_DEFLATE is not set
1179# CONFIG_CRYPTO_LZO is not set 1213# CONFIG_CRYPTO_LZO is not set
1214
1215#
1216# Random Number Generation
1217#
1218# CONFIG_CRYPTO_ANSI_CPRNG is not set
1180CONFIG_CRYPTO_HW=y 1219CONFIG_CRYPTO_HW=y
1181# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1220# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1182# CONFIG_CRYPTO_DEV_TALITOS is not set 1221# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig
index da841a09755c..c62489394535 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:39 2008 4# Sat Nov 8 12:40:21 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -106,7 +106,9 @@ CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
110CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
111# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
112CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -119,10 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y 124CONFIG_HAVE_CLK=y
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -149,6 +148,7 @@ CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y 150CONFIG_CLASSIC_RCU=y
151# CONFIG_FREEZER is not set
152 152
153# 153#
154# Platform support 154# Platform support
@@ -184,15 +184,16 @@ CONFIG_MPIC=y
184# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_QUICC_ENGINE is not set
187CONFIG_CPM2=y 188CONFIG_CPM2=y
188# CONFIG_FSL_ULI1575 is not set 189# CONFIG_FSL_ULI1575 is not set
189CONFIG_CPM=y 190CONFIG_CPM=y
191# CONFIG_MPC8xxx_GPIO is not set
190 192
191# 193#
192# Kernel options 194# Kernel options
193# 195#
194# CONFIG_HIGHMEM is not set 196# CONFIG_HIGHMEM is not set
195# CONFIG_TICK_ONESHOT is not set
196# CONFIG_NO_HZ is not set 197# CONFIG_NO_HZ is not set
197# CONFIG_HIGH_RES_TIMERS is not set 198# CONFIG_HIGH_RES_TIMERS is not set
198CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 199CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -206,6 +207,8 @@ CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
208CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
210# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
211# CONFIG_HAVE_AOUT is not set
209# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
210CONFIG_MATH_EMULATION=y 213CONFIG_MATH_EMULATION=y
211# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
@@ -220,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y
220# CONFIG_SPARSEMEM_MANUAL is not set 223# CONFIG_SPARSEMEM_MANUAL is not set
221CONFIG_FLATMEM=y 224CONFIG_FLATMEM=y
222CONFIG_FLAT_NODE_MEM_MAP=y 225CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_STATIC is not set
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 228CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 229# CONFIG_RESOURCES_64BIT is not set
230# CONFIG_PHYS_ADDR_T_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y
232CONFIG_FORCE_MAX_ZONEORDER=11 235CONFIG_FORCE_MAX_ZONEORDER=11
233# CONFIG_PROC_DEVICETREE is not set 236# CONFIG_PROC_DEVICETREE is not set
234# CONFIG_CMDLINE_BOOL is not set 237# CONFIG_CMDLINE_BOOL is not set
@@ -251,7 +254,7 @@ CONFIG_PCI_SYSCALL=y
251# CONFIG_PCIEPORTBUS is not set 254# CONFIG_PCIEPORTBUS is not set
252CONFIG_ARCH_SUPPORTS_MSI=y 255CONFIG_ARCH_SUPPORTS_MSI=y
253# CONFIG_PCI_MSI is not set 256# CONFIG_PCI_MSI is not set
254CONFIG_PCI_LEGACY=y 257# CONFIG_PCI_LEGACY is not set
255# CONFIG_HAS_RAPIDIO is not set 258# CONFIG_HAS_RAPIDIO is not set
256 259
257# 260#
@@ -318,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 321# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 322# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 323# CONFIG_BRIDGE is not set
324# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 325# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 326# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 327# CONFIG_LLC2 is not set
@@ -338,11 +342,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 342# CONFIG_IRDA is not set
339# CONFIG_BT is not set 343# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 344# CONFIG_AF_RXRPC is not set
341 345# CONFIG_PHONET is not set
342# 346CONFIG_WIRELESS=y
343# Wireless
344#
345# CONFIG_CFG80211 is not set 347# CONFIG_CFG80211 is not set
348CONFIG_WIRELESS_OLD_REGULATORY=y
346# CONFIG_WIRELESS_EXT is not set 349# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set 350# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set 351# CONFIG_IEEE80211 is not set
@@ -469,18 +472,17 @@ CONFIG_MISC_DEVICES=y
469# CONFIG_HP_ILO is not set 472# CONFIG_HP_ILO is not set
470CONFIG_HAVE_IDE=y 473CONFIG_HAVE_IDE=y
471CONFIG_IDE=y 474CONFIG_IDE=y
472CONFIG_BLK_DEV_IDE=y
473 475
474# 476#
475# 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
476# 478#
477CONFIG_IDE_TIMINGS=y 479CONFIG_IDE_TIMINGS=y
478# CONFIG_BLK_DEV_IDE_SATA is not set 480# CONFIG_BLK_DEV_IDE_SATA is not set
479CONFIG_BLK_DEV_IDEDISK=y 481CONFIG_IDE_GD=y
480# CONFIG_IDEDISK_MULTI_MODE is not set 482CONFIG_IDE_GD_ATA=y
483# CONFIG_IDE_GD_ATAPI is not set
481# CONFIG_BLK_DEV_IDECD is not set 484# CONFIG_BLK_DEV_IDECD is not set
482# CONFIG_BLK_DEV_IDETAPE is not set 485# CONFIG_BLK_DEV_IDETAPE is not set
483# CONFIG_BLK_DEV_IDEFLOPPY is not set
484# CONFIG_IDE_TASK_IOCTL is not set 486# CONFIG_IDE_TASK_IOCTL is not set
485CONFIG_IDE_PROC_FS=y 487CONFIG_IDE_PROC_FS=y
486 488
@@ -583,6 +585,9 @@ CONFIG_MII=y
583# CONFIG_IBM_NEW_EMAC_RGMII is not set 585# CONFIG_IBM_NEW_EMAC_RGMII is not set
584# CONFIG_IBM_NEW_EMAC_TAH is not set 586# CONFIG_IBM_NEW_EMAC_TAH is not set
585# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 587# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
588# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
589# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
590# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
586CONFIG_NET_PCI=y 591CONFIG_NET_PCI=y
587# CONFIG_PCNET32 is not set 592# CONFIG_PCNET32 is not set
588# CONFIG_AMD8111_ETH is not set 593# CONFIG_AMD8111_ETH is not set
@@ -603,6 +608,7 @@ CONFIG_E100=y
603# CONFIG_TLAN is not set 608# CONFIG_TLAN is not set
604# CONFIG_VIA_RHINE is not set 609# CONFIG_VIA_RHINE is not set
605# CONFIG_SC92031 is not set 610# CONFIG_SC92031 is not set
611# CONFIG_ATL2 is not set
606# CONFIG_FS_ENET is not set 612# CONFIG_FS_ENET is not set
607CONFIG_NETDEV_1000=y 613CONFIG_NETDEV_1000=y
608# CONFIG_ACENIC is not set 614# CONFIG_ACENIC is not set
@@ -625,18 +631,22 @@ CONFIG_GIANFAR=y
625# CONFIG_QLA3XXX is not set 631# CONFIG_QLA3XXX is not set
626# CONFIG_ATL1 is not set 632# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set 633# CONFIG_ATL1E is not set
634# CONFIG_JME is not set
628CONFIG_NETDEV_10000=y 635CONFIG_NETDEV_10000=y
629# CONFIG_CHELSIO_T1 is not set 636# CONFIG_CHELSIO_T1 is not set
630# CONFIG_CHELSIO_T3 is not set 637# CONFIG_CHELSIO_T3 is not set
638# CONFIG_ENIC is not set
631# CONFIG_IXGBE is not set 639# CONFIG_IXGBE is not set
632# CONFIG_IXGB is not set 640# CONFIG_IXGB is not set
633# CONFIG_S2IO is not set 641# CONFIG_S2IO is not set
634# CONFIG_MYRI10GE is not set 642# CONFIG_MYRI10GE is not set
635# CONFIG_NETXEN_NIC is not set 643# CONFIG_NETXEN_NIC is not set
636# CONFIG_NIU is not set 644# CONFIG_NIU is not set
645# CONFIG_MLX4_EN is not set
637# CONFIG_MLX4_CORE is not set 646# CONFIG_MLX4_CORE is not set
638# CONFIG_TEHUTI is not set 647# CONFIG_TEHUTI is not set
639# CONFIG_BNX2X is not set 648# CONFIG_BNX2X is not set
649# CONFIG_QLGE is not set
640# CONFIG_SFC is not set 650# CONFIG_SFC is not set
641# CONFIG_TR is not set 651# CONFIG_TR is not set
642 652
@@ -715,12 +725,6 @@ CONFIG_SERIAL_CORE=y
715CONFIG_SERIAL_CORE_CONSOLE=y 725CONFIG_SERIAL_CORE_CONSOLE=y
716CONFIG_SERIAL_CPM=y 726CONFIG_SERIAL_CPM=y
717CONFIG_SERIAL_CPM_CONSOLE=y 727CONFIG_SERIAL_CPM_CONSOLE=y
718CONFIG_SERIAL_CPM_SCC1=y
719# CONFIG_SERIAL_CPM_SCC2 is not set
720# CONFIG_SERIAL_CPM_SCC3 is not set
721# CONFIG_SERIAL_CPM_SCC4 is not set
722# CONFIG_SERIAL_CPM_SMC1 is not set
723# CONFIG_SERIAL_CPM_SMC2 is not set
724# CONFIG_SERIAL_JSM is not set 728# CONFIG_SERIAL_JSM is not set
725# CONFIG_SERIAL_OF_PLATFORM is not set 729# CONFIG_SERIAL_OF_PLATFORM is not set
726CONFIG_UNIX98_PTYS=y 730CONFIG_UNIX98_PTYS=y
@@ -900,6 +904,17 @@ CONFIG_SSB_POSSIBLE=y
900# CONFIG_MFD_SM501 is not set 904# CONFIG_MFD_SM501 is not set
901# CONFIG_HTC_PASIC3 is not set 905# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set 906# CONFIG_MFD_TMIO is not set
907# CONFIG_PMIC_DA903X is not set
908# CONFIG_MFD_WM8400 is not set
909# CONFIG_MFD_WM8350_I2C is not set
910
911#
912# Voltage and Current regulators
913#
914# CONFIG_REGULATOR is not set
915# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
916# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
917# CONFIG_REGULATOR_BQ24022 is not set
903 918
904# 919#
905# Multimedia devices 920# Multimedia devices
@@ -936,6 +951,12 @@ CONFIG_HID_SUPPORT=y
936CONFIG_HID=y 951CONFIG_HID=y
937# CONFIG_HID_DEBUG is not set 952# CONFIG_HID_DEBUG is not set
938# CONFIG_HIDRAW is not set 953# CONFIG_HIDRAW is not set
954# CONFIG_HID_PID is not set
955
956#
957# Special HID drivers
958#
959CONFIG_HID_COMPAT=y
939CONFIG_USB_SUPPORT=y 960CONFIG_USB_SUPPORT=y
940CONFIG_USB_ARCH_HAS_HCD=y 961CONFIG_USB_ARCH_HAS_HCD=y
941CONFIG_USB_ARCH_HAS_OHCI=y 962CONFIG_USB_ARCH_HAS_OHCI=y
@@ -952,6 +973,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 973# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
953# 974#
954# CONFIG_USB_GADGET is not set 975# CONFIG_USB_GADGET is not set
976# CONFIG_UWB is not set
955# CONFIG_MMC is not set 977# CONFIG_MMC is not set
956# CONFIG_MEMSTICK is not set 978# CONFIG_MEMSTICK is not set
957# CONFIG_NEW_LEDS is not set 979# CONFIG_NEW_LEDS is not set
@@ -961,6 +983,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
961# CONFIG_RTC_CLASS is not set 983# CONFIG_RTC_CLASS is not set
962# CONFIG_DMADEVICES is not set 984# CONFIG_DMADEVICES is not set
963# CONFIG_UIO is not set 985# CONFIG_UIO is not set
986# CONFIG_STAGING is not set
964 987
965# 988#
966# File systems 989# File systems
@@ -972,12 +995,13 @@ CONFIG_EXT3_FS=y
972CONFIG_EXT3_FS_XATTR=y 995CONFIG_EXT3_FS_XATTR=y
973# CONFIG_EXT3_FS_POSIX_ACL is not set 996# CONFIG_EXT3_FS_POSIX_ACL is not set
974# CONFIG_EXT3_FS_SECURITY is not set 997# CONFIG_EXT3_FS_SECURITY is not set
975# CONFIG_EXT4DEV_FS is not set 998# CONFIG_EXT4_FS is not set
976CONFIG_JBD=y 999CONFIG_JBD=y
977CONFIG_FS_MBCACHE=y 1000CONFIG_FS_MBCACHE=y
978# CONFIG_REISERFS_FS is not set 1001# CONFIG_REISERFS_FS is not set
979# CONFIG_JFS_FS is not set 1002# CONFIG_JFS_FS is not set
980# CONFIG_FS_POSIX_ACL is not set 1003# CONFIG_FS_POSIX_ACL is not set
1004CONFIG_FILE_LOCKING=y
981# CONFIG_XFS_FS is not set 1005# CONFIG_XFS_FS is not set
982# CONFIG_OCFS2_FS is not set 1006# CONFIG_OCFS2_FS is not set
983CONFIG_DNOTIFY=y 1007CONFIG_DNOTIFY=y
@@ -1007,6 +1031,7 @@ CONFIG_INOTIFY_USER=y
1007CONFIG_PROC_FS=y 1031CONFIG_PROC_FS=y
1008CONFIG_PROC_KCORE=y 1032CONFIG_PROC_KCORE=y
1009CONFIG_PROC_SYSCTL=y 1033CONFIG_PROC_SYSCTL=y
1034CONFIG_PROC_PAGE_MONITOR=y
1010CONFIG_SYSFS=y 1035CONFIG_SYSFS=y
1011CONFIG_TMPFS=y 1036CONFIG_TMPFS=y
1012# CONFIG_TMPFS_POSIX_ACL is not set 1037# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1052,6 +1077,7 @@ CONFIG_ROOT_NFS=y
1052CONFIG_LOCKD=y 1077CONFIG_LOCKD=y
1053CONFIG_NFS_COMMON=y 1078CONFIG_NFS_COMMON=y
1054CONFIG_SUNRPC=y 1079CONFIG_SUNRPC=y
1080# CONFIG_SUNRPC_REGISTER_V4 is not set
1055# CONFIG_RPCSEC_GSS_KRB5 is not set 1081# CONFIG_RPCSEC_GSS_KRB5 is not set
1056# CONFIG_RPCSEC_GSS_SPKM3 is not set 1082# CONFIG_RPCSEC_GSS_SPKM3 is not set
1057# CONFIG_SMB_FS is not set 1083# CONFIG_SMB_FS is not set
@@ -1084,7 +1110,6 @@ CONFIG_PARTITION_ADVANCED=y
1084# Library routines 1110# Library routines
1085# 1111#
1086CONFIG_BITREVERSE=y 1112CONFIG_BITREVERSE=y
1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1088# CONFIG_CRC_CCITT is not set 1113# CONFIG_CRC_CCITT is not set
1089# CONFIG_CRC16 is not set 1114# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set 1115# CONFIG_CRC_T10DIF is not set
@@ -1116,13 +1141,15 @@ CONFIG_FRAME_WARN=1024
1116# CONFIG_SLUB_STATS is not set 1141# CONFIG_SLUB_STATS is not set
1117# CONFIG_DEBUG_BUGVERBOSE is not set 1142# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set 1143# CONFIG_DEBUG_MEMORY_INIT is not set
1144# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1119# CONFIG_LATENCYTOP is not set 1145# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y 1146CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y 1147CONFIG_HAVE_FUNCTION_TRACER=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y 1148
1123# CONFIG_FTRACE is not set 1149#
1124# CONFIG_SCHED_TRACER is not set 1150# Tracers
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set 1151#
1152# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1126# CONFIG_SAMPLES is not set 1153# CONFIG_SAMPLES is not set
1127CONFIG_HAVE_ARCH_KGDB=y 1154CONFIG_HAVE_ARCH_KGDB=y
1128# CONFIG_IRQSTACKS is not set 1155# CONFIG_IRQSTACKS is not set
@@ -1133,12 +1160,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1133# 1160#
1134# CONFIG_KEYS is not set 1161# CONFIG_KEYS is not set
1135# CONFIG_SECURITY is not set 1162# CONFIG_SECURITY is not set
1163# CONFIG_SECURITYFS is not set
1136# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1164# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1137CONFIG_CRYPTO=y 1165CONFIG_CRYPTO=y
1138 1166
1139# 1167#
1140# Crypto core or helper 1168# Crypto core or helper
1141# 1169#
1170# CONFIG_CRYPTO_FIPS is not set
1142# CONFIG_CRYPTO_MANAGER is not set 1171# CONFIG_CRYPTO_MANAGER is not set
1143# CONFIG_CRYPTO_GF128MUL is not set 1172# CONFIG_CRYPTO_GF128MUL is not set
1144# CONFIG_CRYPTO_NULL is not set 1173# CONFIG_CRYPTO_NULL is not set
@@ -1210,6 +1239,11 @@ CONFIG_CRYPTO=y
1210# 1239#
1211# CONFIG_CRYPTO_DEFLATE is not set 1240# CONFIG_CRYPTO_DEFLATE is not set
1212# CONFIG_CRYPTO_LZO is not set 1241# CONFIG_CRYPTO_LZO is not set
1242
1243#
1244# Random Number Generation
1245#
1246# CONFIG_CRYPTO_ANSI_CPRNG is not set
1213CONFIG_CRYPTO_HW=y 1247CONFIG_CRYPTO_HW=y
1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1248# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1215# CONFIG_CRYPTO_DEV_TALITOS is not set 1249# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig
index ca1234d26855..eef45b97dc3e 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:40 2008 4# Sat Nov 8 12:40:22 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -107,7 +107,9 @@ CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
112# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
113CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -121,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 125CONFIG_HAVE_ARCH_TRACEHOOK=y
124# CONFIG_HAVE_DMA_ATTRS is not set
125# CONFIG_USE_GENERIC_SMP_HELPERS is not set
126# CONFIG_HAVE_CLK is not set
127CONFIG_PROC_PAGE_MONITOR=y
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -157,6 +155,7 @@ CONFIG_DEFAULT_AS=y
157# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
159CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
160 159
161# 160#
162# Platform support 161# Platform support
@@ -192,8 +191,10 @@ CONFIG_MPIC=y
192# CONFIG_PPC_INDIRECT_IO is not set 191# CONFIG_PPC_INDIRECT_IO is not set
193# CONFIG_GENERIC_IOMAP is not set 192# CONFIG_GENERIC_IOMAP is not set
194# CONFIG_CPU_FREQ is not set 193# CONFIG_CPU_FREQ is not set
194# CONFIG_QUICC_ENGINE is not set
195# CONFIG_CPM2 is not set 195# CONFIG_CPM2 is not set
196# CONFIG_FSL_ULI1575 is not set 196# CONFIG_FSL_ULI1575 is not set
197# CONFIG_MPC8xxx_GPIO is not set
197 198
198# 199#
199# Kernel options 200# Kernel options
@@ -213,6 +214,8 @@ CONFIG_PREEMPT_NONE=y
213# CONFIG_PREEMPT_VOLUNTARY is not set 214# CONFIG_PREEMPT_VOLUNTARY is not set
214# CONFIG_PREEMPT is not set 215# CONFIG_PREEMPT is not set
215CONFIG_BINFMT_ELF=y 216CONFIG_BINFMT_ELF=y
217# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
218# CONFIG_HAVE_AOUT is not set
216CONFIG_BINFMT_MISC=y 219CONFIG_BINFMT_MISC=y
217CONFIG_MATH_EMULATION=y 220CONFIG_MATH_EMULATION=y
218# CONFIG_IOMMU_HELPER is not set 221# CONFIG_IOMMU_HELPER is not set
@@ -227,15 +230,15 @@ CONFIG_FLATMEM_MANUAL=y
227# CONFIG_SPARSEMEM_MANUAL is not set 230# CONFIG_SPARSEMEM_MANUAL is not set
228CONFIG_FLATMEM=y 231CONFIG_FLATMEM=y
229CONFIG_FLAT_NODE_MEM_MAP=y 232CONFIG_FLAT_NODE_MEM_MAP=y
230# CONFIG_SPARSEMEM_STATIC is not set
231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
232CONFIG_PAGEFLAGS_EXTENDED=y 233CONFIG_PAGEFLAGS_EXTENDED=y
233CONFIG_SPLIT_PTLOCK_CPUS=4 234CONFIG_SPLIT_PTLOCK_CPUS=4
234CONFIG_MIGRATION=y 235CONFIG_MIGRATION=y
235# CONFIG_RESOURCES_64BIT is not set 236# CONFIG_RESOURCES_64BIT is not set
237# CONFIG_PHYS_ADDR_T_64BIT is not set
236CONFIG_ZONE_DMA_FLAG=1 238CONFIG_ZONE_DMA_FLAG=1
237CONFIG_BOUNCE=y 239CONFIG_BOUNCE=y
238CONFIG_VIRT_TO_BUS=y 240CONFIG_VIRT_TO_BUS=y
241CONFIG_UNEVICTABLE_LRU=y
239CONFIG_FORCE_MAX_ZONEORDER=11 242CONFIG_FORCE_MAX_ZONEORDER=11
240CONFIG_PROC_DEVICETREE=y 243CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 244# CONFIG_CMDLINE_BOOL is not set
@@ -260,7 +263,7 @@ CONFIG_PCIEAER=y
260# CONFIG_PCIEASPM is not set 263# CONFIG_PCIEASPM is not set
261CONFIG_ARCH_SUPPORTS_MSI=y 264CONFIG_ARCH_SUPPORTS_MSI=y
262# CONFIG_PCI_MSI is not set 265# CONFIG_PCI_MSI is not set
263CONFIG_PCI_LEGACY=y 266# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_DEBUG is not set 267# CONFIG_PCI_DEBUG is not set
265# CONFIG_PCCARD is not set 268# CONFIG_PCCARD is not set
266# CONFIG_HOTPLUG_PCI is not set 269# CONFIG_HOTPLUG_PCI is not set
@@ -330,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
330# CONFIG_TIPC is not set 333# CONFIG_TIPC is not set
331# CONFIG_ATM is not set 334# CONFIG_ATM is not set
332# CONFIG_BRIDGE is not set 335# CONFIG_BRIDGE is not set
336# CONFIG_NET_DSA is not set
333# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
334# CONFIG_DECNET is not set 338# CONFIG_DECNET is not set
335# CONFIG_LLC2 is not set 339# CONFIG_LLC2 is not set
@@ -350,11 +354,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_IRDA is not set 354# CONFIG_IRDA is not set
351# CONFIG_BT is not set 355# CONFIG_BT is not set
352# CONFIG_AF_RXRPC is not set 356# CONFIG_AF_RXRPC is not set
353 357# CONFIG_PHONET is not set
354# 358CONFIG_WIRELESS=y
355# Wireless
356#
357# CONFIG_CFG80211 is not set 359# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
358# CONFIG_WIRELESS_EXT is not set 361# CONFIG_WIRELESS_EXT is not set
359# CONFIG_MAC80211 is not set 362# CONFIG_MAC80211 is not set
360# CONFIG_IEEE80211 is not set 363# CONFIG_IEEE80211 is not set
@@ -458,6 +461,7 @@ CONFIG_MTD_NAND_IDS=y
458# CONFIG_MTD_NAND_NANDSIM is not set 461# CONFIG_MTD_NAND_NANDSIM is not set
459# CONFIG_MTD_NAND_PLATFORM is not set 462# CONFIG_MTD_NAND_PLATFORM is not set
460# CONFIG_MTD_NAND_FSL_ELBC is not set 463# CONFIG_MTD_NAND_FSL_ELBC is not set
464# CONFIG_MTD_NAND_FSL_UPM is not set
461# CONFIG_MTD_ONENAND is not set 465# CONFIG_MTD_ONENAND is not set
462 466
463# 467#
@@ -502,18 +506,17 @@ CONFIG_MISC_DEVICES=y
502# CONFIG_HP_ILO is not set 506# CONFIG_HP_ILO is not set
503CONFIG_HAVE_IDE=y 507CONFIG_HAVE_IDE=y
504CONFIG_IDE=y 508CONFIG_IDE=y
505CONFIG_BLK_DEV_IDE=y
506 509
507# 510#
508# Please see Documentation/ide/ide.txt for help/info on IDE drives 511# Please see Documentation/ide/ide.txt for help/info on IDE drives
509# 512#
510CONFIG_IDE_TIMINGS=y 513CONFIG_IDE_TIMINGS=y
511# CONFIG_BLK_DEV_IDE_SATA is not set 514# CONFIG_BLK_DEV_IDE_SATA is not set
512# CONFIG_BLK_DEV_IDEDISK is not set 515CONFIG_IDE_GD=y
513# CONFIG_IDEDISK_MULTI_MODE is not set 516CONFIG_IDE_GD_ATA=y
517# CONFIG_IDE_GD_ATAPI is not set
514# CONFIG_BLK_DEV_IDECD is not set 518# CONFIG_BLK_DEV_IDECD is not set
515# CONFIG_BLK_DEV_IDETAPE is not set 519# CONFIG_BLK_DEV_IDETAPE is not set
516# CONFIG_BLK_DEV_IDEFLOPPY is not set
517# CONFIG_IDE_TASK_IOCTL is not set 520# CONFIG_IDE_TASK_IOCTL is not set
518CONFIG_IDE_PROC_FS=y 521CONFIG_IDE_PROC_FS=y
519 522
@@ -616,13 +619,16 @@ CONFIG_MII=y
616# CONFIG_IBM_NEW_EMAC_RGMII is not set 619# CONFIG_IBM_NEW_EMAC_RGMII is not set
617# CONFIG_IBM_NEW_EMAC_TAH is not set 620# CONFIG_IBM_NEW_EMAC_TAH is not set
618# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 621# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
622# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
623# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
624# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
619# CONFIG_NET_PCI is not set 625# CONFIG_NET_PCI is not set
620# CONFIG_B44 is not set 626# CONFIG_B44 is not set
627# CONFIG_ATL2 is not set
621CONFIG_NETDEV_1000=y 628CONFIG_NETDEV_1000=y
622# CONFIG_ACENIC is not set 629# CONFIG_ACENIC is not set
623# CONFIG_DL2K is not set 630# CONFIG_DL2K is not set
624CONFIG_E1000=y 631CONFIG_E1000=y
625# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
626# CONFIG_E1000E is not set 632# CONFIG_E1000E is not set
627# CONFIG_IP1000 is not set 633# CONFIG_IP1000 is not set
628# CONFIG_IGB is not set 634# CONFIG_IGB is not set
@@ -640,18 +646,22 @@ CONFIG_GIANFAR=y
640# CONFIG_QLA3XXX is not set 646# CONFIG_QLA3XXX is not set
641# CONFIG_ATL1 is not set 647# CONFIG_ATL1 is not set
642# CONFIG_ATL1E is not set 648# CONFIG_ATL1E is not set
649# CONFIG_JME is not set
643CONFIG_NETDEV_10000=y 650CONFIG_NETDEV_10000=y
644# CONFIG_CHELSIO_T1 is not set 651# CONFIG_CHELSIO_T1 is not set
645# CONFIG_CHELSIO_T3 is not set 652# CONFIG_CHELSIO_T3 is not set
653# CONFIG_ENIC is not set
646# CONFIG_IXGBE is not set 654# CONFIG_IXGBE is not set
647# CONFIG_IXGB is not set 655# CONFIG_IXGB is not set
648# CONFIG_S2IO is not set 656# CONFIG_S2IO is not set
649# CONFIG_MYRI10GE is not set 657# CONFIG_MYRI10GE is not set
650# CONFIG_NETXEN_NIC is not set 658# CONFIG_NETXEN_NIC is not set
651# CONFIG_NIU is not set 659# CONFIG_NIU is not set
660# CONFIG_MLX4_EN is not set
652# CONFIG_MLX4_CORE is not set 661# CONFIG_MLX4_CORE is not set
653# CONFIG_TEHUTI is not set 662# CONFIG_TEHUTI is not set
654# CONFIG_BNX2X is not set 663# CONFIG_BNX2X is not set
664# CONFIG_QLGE is not set
655# CONFIG_SFC is not set 665# CONFIG_SFC is not set
656# CONFIG_TR is not set 666# CONFIG_TR is not set
657 667
@@ -885,6 +895,17 @@ CONFIG_SSB_POSSIBLE=y
885# CONFIG_MFD_SM501 is not set 895# CONFIG_MFD_SM501 is not set
886# CONFIG_HTC_PASIC3 is not set 896# CONFIG_HTC_PASIC3 is not set
887# CONFIG_MFD_TMIO is not set 897# CONFIG_MFD_TMIO is not set
898# CONFIG_PMIC_DA903X is not set
899# CONFIG_MFD_WM8400 is not set
900# CONFIG_MFD_WM8350_I2C is not set
901
902#
903# Voltage and Current regulators
904#
905# CONFIG_REGULATOR is not set
906# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
907# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
908# CONFIG_REGULATOR_BQ24022 is not set
888 909
889# 910#
890# Multimedia devices 911# Multimedia devices
@@ -921,6 +942,12 @@ CONFIG_HID_SUPPORT=y
921CONFIG_HID=y 942CONFIG_HID=y
922# CONFIG_HID_DEBUG is not set 943# CONFIG_HID_DEBUG is not set
923# CONFIG_HIDRAW is not set 944# CONFIG_HIDRAW is not set
945# CONFIG_HID_PID is not set
946
947#
948# Special HID drivers
949#
950CONFIG_HID_COMPAT=y
924CONFIG_USB_SUPPORT=y 951CONFIG_USB_SUPPORT=y
925CONFIG_USB_ARCH_HAS_HCD=y 952CONFIG_USB_ARCH_HAS_HCD=y
926CONFIG_USB_ARCH_HAS_OHCI=y 953CONFIG_USB_ARCH_HAS_OHCI=y
@@ -937,6 +964,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
937# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 964# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
938# 965#
939# CONFIG_USB_GADGET is not set 966# CONFIG_USB_GADGET is not set
967# CONFIG_UWB is not set
940# CONFIG_MMC is not set 968# CONFIG_MMC is not set
941# CONFIG_MEMSTICK is not set 969# CONFIG_MEMSTICK is not set
942# CONFIG_NEW_LEDS is not set 970# CONFIG_NEW_LEDS is not set
@@ -982,12 +1010,15 @@ CONFIG_RTC_DRV_DS1307=y
982# Platform RTC drivers 1010# Platform RTC drivers
983# 1011#
984# CONFIG_RTC_DRV_CMOS is not set 1012# CONFIG_RTC_DRV_CMOS is not set
1013# CONFIG_RTC_DRV_DS1286 is not set
985# CONFIG_RTC_DRV_DS1511 is not set 1014# CONFIG_RTC_DRV_DS1511 is not set
986# CONFIG_RTC_DRV_DS1553 is not set 1015# CONFIG_RTC_DRV_DS1553 is not set
987# CONFIG_RTC_DRV_DS1742 is not set 1016# CONFIG_RTC_DRV_DS1742 is not set
988# CONFIG_RTC_DRV_STK17TA8 is not set 1017# CONFIG_RTC_DRV_STK17TA8 is not set
989# CONFIG_RTC_DRV_M48T86 is not set 1018# CONFIG_RTC_DRV_M48T86 is not set
1019# CONFIG_RTC_DRV_M48T35 is not set
990# CONFIG_RTC_DRV_M48T59 is not set 1020# CONFIG_RTC_DRV_M48T59 is not set
1021# CONFIG_RTC_DRV_BQ4802 is not set
991# CONFIG_RTC_DRV_V3020 is not set 1022# CONFIG_RTC_DRV_V3020 is not set
992 1023
993# 1024#
@@ -996,6 +1027,7 @@ CONFIG_RTC_DRV_DS1307=y
996# CONFIG_RTC_DRV_PPC is not set 1027# CONFIG_RTC_DRV_PPC is not set
997# CONFIG_DMADEVICES is not set 1028# CONFIG_DMADEVICES is not set
998# CONFIG_UIO is not set 1029# CONFIG_UIO is not set
1030# CONFIG_STAGING is not set
999 1031
1000# 1032#
1001# File systems 1033# File systems
@@ -1007,12 +1039,13 @@ CONFIG_EXT3_FS=y
1007CONFIG_EXT3_FS_XATTR=y 1039CONFIG_EXT3_FS_XATTR=y
1008# CONFIG_EXT3_FS_POSIX_ACL is not set 1040# CONFIG_EXT3_FS_POSIX_ACL is not set
1009# CONFIG_EXT3_FS_SECURITY is not set 1041# CONFIG_EXT3_FS_SECURITY is not set
1010# CONFIG_EXT4DEV_FS is not set 1042# CONFIG_EXT4_FS is not set
1011CONFIG_JBD=y 1043CONFIG_JBD=y
1012CONFIG_FS_MBCACHE=y 1044CONFIG_FS_MBCACHE=y
1013# CONFIG_REISERFS_FS is not set 1045# CONFIG_REISERFS_FS is not set
1014# CONFIG_JFS_FS is not set 1046# CONFIG_JFS_FS is not set
1015# CONFIG_FS_POSIX_ACL is not set 1047# CONFIG_FS_POSIX_ACL is not set
1048CONFIG_FILE_LOCKING=y
1016# CONFIG_XFS_FS is not set 1049# CONFIG_XFS_FS is not set
1017# CONFIG_OCFS2_FS is not set 1050# CONFIG_OCFS2_FS is not set
1018CONFIG_DNOTIFY=y 1051CONFIG_DNOTIFY=y
@@ -1042,6 +1075,7 @@ CONFIG_INOTIFY_USER=y
1042CONFIG_PROC_FS=y 1075CONFIG_PROC_FS=y
1043CONFIG_PROC_KCORE=y 1076CONFIG_PROC_KCORE=y
1044CONFIG_PROC_SYSCTL=y 1077CONFIG_PROC_SYSCTL=y
1078CONFIG_PROC_PAGE_MONITOR=y
1045CONFIG_SYSFS=y 1079CONFIG_SYSFS=y
1046CONFIG_TMPFS=y 1080CONFIG_TMPFS=y
1047# CONFIG_TMPFS_POSIX_ACL is not set 1081# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1078,6 +1112,7 @@ CONFIG_ROOT_NFS=y
1078CONFIG_LOCKD=y 1112CONFIG_LOCKD=y
1079CONFIG_NFS_COMMON=y 1113CONFIG_NFS_COMMON=y
1080CONFIG_SUNRPC=y 1114CONFIG_SUNRPC=y
1115# CONFIG_SUNRPC_REGISTER_V4 is not set
1081# CONFIG_RPCSEC_GSS_KRB5 is not set 1116# CONFIG_RPCSEC_GSS_KRB5 is not set
1082# CONFIG_RPCSEC_GSS_SPKM3 is not set 1117# CONFIG_RPCSEC_GSS_SPKM3 is not set
1083# CONFIG_SMB_FS is not set 1118# CONFIG_SMB_FS is not set
@@ -1110,7 +1145,6 @@ CONFIG_PARTITION_ADVANCED=y
1110# Library routines 1145# Library routines
1111# 1146#
1112CONFIG_BITREVERSE=y 1147CONFIG_BITREVERSE=y
1113# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1114# CONFIG_CRC_CCITT is not set 1148# CONFIG_CRC_CCITT is not set
1115# CONFIG_CRC16 is not set 1149# CONFIG_CRC16 is not set
1116# CONFIG_CRC_T10DIF is not set 1150# CONFIG_CRC_T10DIF is not set
@@ -1162,15 +1196,23 @@ CONFIG_DEBUG_MUTEXES=y
1162# CONFIG_DEBUG_SG is not set 1196# CONFIG_DEBUG_SG is not set
1163# CONFIG_BOOT_PRINTK_DELAY is not set 1197# CONFIG_BOOT_PRINTK_DELAY is not set
1164# CONFIG_RCU_TORTURE_TEST is not set 1198# CONFIG_RCU_TORTURE_TEST is not set
1199# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1165# CONFIG_BACKTRACE_SELF_TEST is not set 1200# CONFIG_BACKTRACE_SELF_TEST is not set
1201# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1166# CONFIG_FAULT_INJECTION is not set 1202# CONFIG_FAULT_INJECTION is not set
1167# CONFIG_LATENCYTOP is not set 1203# CONFIG_LATENCYTOP is not set
1168CONFIG_SYSCTL_SYSCALL_CHECK=y 1204CONFIG_SYSCTL_SYSCALL_CHECK=y
1169CONFIG_HAVE_FTRACE=y 1205CONFIG_HAVE_FUNCTION_TRACER=y
1170CONFIG_HAVE_DYNAMIC_FTRACE=y 1206
1171# CONFIG_FTRACE is not set 1207#
1208# Tracers
1209#
1210# CONFIG_FUNCTION_TRACER is not set
1172# CONFIG_SCHED_TRACER is not set 1211# CONFIG_SCHED_TRACER is not set
1173# CONFIG_CONTEXT_SWITCH_TRACER is not set 1212# CONFIG_CONTEXT_SWITCH_TRACER is not set
1213# CONFIG_BOOT_TRACER is not set
1214# CONFIG_STACK_TRACER is not set
1215# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1174# CONFIG_SAMPLES is not set 1216# CONFIG_SAMPLES is not set
1175CONFIG_HAVE_ARCH_KGDB=y 1217CONFIG_HAVE_ARCH_KGDB=y
1176# CONFIG_KGDB is not set 1218# CONFIG_KGDB is not set
@@ -1179,6 +1221,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1179# CONFIG_DEBUG_PAGEALLOC is not set 1221# CONFIG_DEBUG_PAGEALLOC is not set
1180# CONFIG_CODE_PATCHING_SELFTEST is not set 1222# CONFIG_CODE_PATCHING_SELFTEST is not set
1181# CONFIG_FTR_FIXUP_SELFTEST is not set 1223# CONFIG_FTR_FIXUP_SELFTEST is not set
1224# CONFIG_MSI_BITMAP_SELFTEST is not set
1182# CONFIG_XMON is not set 1225# CONFIG_XMON is not set
1183# CONFIG_IRQSTACKS is not set 1226# CONFIG_IRQSTACKS is not set
1184# CONFIG_BDI_SWITCH is not set 1227# CONFIG_BDI_SWITCH is not set
@@ -1189,12 +1232,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1189# 1232#
1190# CONFIG_KEYS is not set 1233# CONFIG_KEYS is not set
1191# CONFIG_SECURITY is not set 1234# CONFIG_SECURITY is not set
1235# CONFIG_SECURITYFS is not set
1192# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1236# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1193CONFIG_CRYPTO=y 1237CONFIG_CRYPTO=y
1194 1238
1195# 1239#
1196# Crypto core or helper 1240# Crypto core or helper
1197# 1241#
1242# CONFIG_CRYPTO_FIPS is not set
1198# CONFIG_CRYPTO_MANAGER is not set 1243# CONFIG_CRYPTO_MANAGER is not set
1199# CONFIG_CRYPTO_GF128MUL is not set 1244# CONFIG_CRYPTO_GF128MUL is not set
1200# CONFIG_CRYPTO_NULL is not set 1245# CONFIG_CRYPTO_NULL is not set
@@ -1267,6 +1312,11 @@ CONFIG_CRYPTO=y
1267# 1312#
1268# CONFIG_CRYPTO_DEFLATE is not set 1313# CONFIG_CRYPTO_DEFLATE is not set
1269# CONFIG_CRYPTO_LZO is not set 1314# CONFIG_CRYPTO_LZO is not set
1315
1316#
1317# Random Number Generation
1318#
1319# CONFIG_CRYPTO_ANSI_CPRNG is not set
1270CONFIG_CRYPTO_HW=y 1320CONFIG_CRYPTO_HW=y
1271# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1321# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1272# CONFIG_CRYPTO_DEV_TALITOS is not set 1322# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig
index dcf9cfe28b55..11b637e99a54 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:42 2008 4# Sat Nov 8 12:40:23 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -106,7 +106,9 @@ CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
110CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
111# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
112CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -119,10 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y 124CONFIG_HAVE_CLK=y
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -149,6 +148,7 @@ CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y 150CONFIG_CLASSIC_RCU=y
151# CONFIG_FREEZER is not set
152 152
153# 153#
154# Platform support 154# Platform support
@@ -184,15 +184,16 @@ CONFIG_MPIC=y
184# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_QUICC_ENGINE is not set
187CONFIG_CPM2=y 188CONFIG_CPM2=y
188# CONFIG_FSL_ULI1575 is not set 189# CONFIG_FSL_ULI1575 is not set
189CONFIG_CPM=y 190CONFIG_CPM=y
191# CONFIG_MPC8xxx_GPIO is not set
190 192
191# 193#
192# Kernel options 194# Kernel options
193# 195#
194# CONFIG_HIGHMEM is not set 196# CONFIG_HIGHMEM is not set
195# CONFIG_TICK_ONESHOT is not set
196# CONFIG_NO_HZ is not set 197# CONFIG_NO_HZ is not set
197# CONFIG_HIGH_RES_TIMERS is not set 198# CONFIG_HIGH_RES_TIMERS is not set
198CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 199CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -206,6 +207,8 @@ CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
208CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
210# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
211# CONFIG_HAVE_AOUT is not set
209# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
210CONFIG_MATH_EMULATION=y 213CONFIG_MATH_EMULATION=y
211# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
@@ -220,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y
220# CONFIG_SPARSEMEM_MANUAL is not set 223# CONFIG_SPARSEMEM_MANUAL is not set
221CONFIG_FLATMEM=y 224CONFIG_FLATMEM=y
222CONFIG_FLAT_NODE_MEM_MAP=y 225CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_STATIC is not set
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 228CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 229# CONFIG_RESOURCES_64BIT is not set
230# CONFIG_PHYS_ADDR_T_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y
232CONFIG_FORCE_MAX_ZONEORDER=11 235CONFIG_FORCE_MAX_ZONEORDER=11
233# CONFIG_PROC_DEVICETREE is not set 236# CONFIG_PROC_DEVICETREE is not set
234# CONFIG_CMDLINE_BOOL is not set 237# CONFIG_CMDLINE_BOOL is not set
@@ -251,7 +254,7 @@ CONFIG_PCI_SYSCALL=y
251# CONFIG_PCIEPORTBUS is not set 254# CONFIG_PCIEPORTBUS is not set
252CONFIG_ARCH_SUPPORTS_MSI=y 255CONFIG_ARCH_SUPPORTS_MSI=y
253# CONFIG_PCI_MSI is not set 256# CONFIG_PCI_MSI is not set
254CONFIG_PCI_LEGACY=y 257# CONFIG_PCI_LEGACY is not set
255# CONFIG_HAS_RAPIDIO is not set 258# CONFIG_HAS_RAPIDIO is not set
256 259
257# 260#
@@ -318,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 321# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 322# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 323# CONFIG_BRIDGE is not set
324# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 325# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 326# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 327# CONFIG_LLC2 is not set
@@ -338,11 +342,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 342# CONFIG_IRDA is not set
339# CONFIG_BT is not set 343# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 344# CONFIG_AF_RXRPC is not set
341 345# CONFIG_PHONET is not set
342# 346CONFIG_WIRELESS=y
343# Wireless
344#
345# CONFIG_CFG80211 is not set 347# CONFIG_CFG80211 is not set
348CONFIG_WIRELESS_OLD_REGULATORY=y
346# CONFIG_WIRELESS_EXT is not set 349# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set 350# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set 351# CONFIG_IEEE80211 is not set
@@ -469,18 +472,17 @@ CONFIG_MISC_DEVICES=y
469# CONFIG_HP_ILO is not set 472# CONFIG_HP_ILO is not set
470CONFIG_HAVE_IDE=y 473CONFIG_HAVE_IDE=y
471CONFIG_IDE=y 474CONFIG_IDE=y
472CONFIG_BLK_DEV_IDE=y
473 475
474# 476#
475# 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
476# 478#
477CONFIG_IDE_TIMINGS=y 479CONFIG_IDE_TIMINGS=y
478# CONFIG_BLK_DEV_IDE_SATA is not set 480# CONFIG_BLK_DEV_IDE_SATA is not set
479CONFIG_BLK_DEV_IDEDISK=y 481CONFIG_IDE_GD=y
480# CONFIG_IDEDISK_MULTI_MODE is not set 482CONFIG_IDE_GD_ATA=y
483# CONFIG_IDE_GD_ATAPI is not set
481# CONFIG_BLK_DEV_IDECD is not set 484# CONFIG_BLK_DEV_IDECD is not set
482# CONFIG_BLK_DEV_IDETAPE is not set 485# CONFIG_BLK_DEV_IDETAPE is not set
483# CONFIG_BLK_DEV_IDEFLOPPY is not set
484# CONFIG_IDE_TASK_IOCTL is not set 486# CONFIG_IDE_TASK_IOCTL is not set
485CONFIG_IDE_PROC_FS=y 487CONFIG_IDE_PROC_FS=y
486 488
@@ -583,6 +585,9 @@ CONFIG_MII=y
583# CONFIG_IBM_NEW_EMAC_RGMII is not set 585# CONFIG_IBM_NEW_EMAC_RGMII is not set
584# CONFIG_IBM_NEW_EMAC_TAH is not set 586# CONFIG_IBM_NEW_EMAC_TAH is not set
585# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 587# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
588# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
589# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
590# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
586CONFIG_NET_PCI=y 591CONFIG_NET_PCI=y
587# CONFIG_PCNET32 is not set 592# CONFIG_PCNET32 is not set
588# CONFIG_AMD8111_ETH is not set 593# CONFIG_AMD8111_ETH is not set
@@ -603,6 +608,7 @@ CONFIG_E100=y
603# CONFIG_TLAN is not set 608# CONFIG_TLAN is not set
604# CONFIG_VIA_RHINE is not set 609# CONFIG_VIA_RHINE is not set
605# CONFIG_SC92031 is not set 610# CONFIG_SC92031 is not set
611# CONFIG_ATL2 is not set
606# CONFIG_FS_ENET is not set 612# CONFIG_FS_ENET is not set
607CONFIG_NETDEV_1000=y 613CONFIG_NETDEV_1000=y
608# CONFIG_ACENIC is not set 614# CONFIG_ACENIC is not set
@@ -625,18 +631,22 @@ CONFIG_GIANFAR=y
625# CONFIG_QLA3XXX is not set 631# CONFIG_QLA3XXX is not set
626# CONFIG_ATL1 is not set 632# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set 633# CONFIG_ATL1E is not set
634# CONFIG_JME is not set
628CONFIG_NETDEV_10000=y 635CONFIG_NETDEV_10000=y
629# CONFIG_CHELSIO_T1 is not set 636# CONFIG_CHELSIO_T1 is not set
630# CONFIG_CHELSIO_T3 is not set 637# CONFIG_CHELSIO_T3 is not set
638# CONFIG_ENIC is not set
631# CONFIG_IXGBE is not set 639# CONFIG_IXGBE is not set
632# CONFIG_IXGB is not set 640# CONFIG_IXGB is not set
633# CONFIG_S2IO is not set 641# CONFIG_S2IO is not set
634# CONFIG_MYRI10GE is not set 642# CONFIG_MYRI10GE is not set
635# CONFIG_NETXEN_NIC is not set 643# CONFIG_NETXEN_NIC is not set
636# CONFIG_NIU is not set 644# CONFIG_NIU is not set
645# CONFIG_MLX4_EN is not set
637# CONFIG_MLX4_CORE is not set 646# CONFIG_MLX4_CORE is not set
638# CONFIG_TEHUTI is not set 647# CONFIG_TEHUTI is not set
639# CONFIG_BNX2X is not set 648# CONFIG_BNX2X is not set
649# CONFIG_QLGE is not set
640# CONFIG_SFC is not set 650# CONFIG_SFC is not set
641# CONFIG_TR is not set 651# CONFIG_TR is not set
642 652
@@ -715,12 +725,6 @@ CONFIG_SERIAL_CORE=y
715CONFIG_SERIAL_CORE_CONSOLE=y 725CONFIG_SERIAL_CORE_CONSOLE=y
716CONFIG_SERIAL_CPM=y 726CONFIG_SERIAL_CPM=y
717CONFIG_SERIAL_CPM_CONSOLE=y 727CONFIG_SERIAL_CPM_CONSOLE=y
718CONFIG_SERIAL_CPM_SCC1=y
719# CONFIG_SERIAL_CPM_SCC2 is not set
720# CONFIG_SERIAL_CPM_SCC3 is not set
721# CONFIG_SERIAL_CPM_SCC4 is not set
722# CONFIG_SERIAL_CPM_SMC1 is not set
723# CONFIG_SERIAL_CPM_SMC2 is not set
724# CONFIG_SERIAL_JSM is not set 728# CONFIG_SERIAL_JSM is not set
725# CONFIG_SERIAL_OF_PLATFORM is not set 729# CONFIG_SERIAL_OF_PLATFORM is not set
726CONFIG_UNIX98_PTYS=y 730CONFIG_UNIX98_PTYS=y
@@ -900,6 +904,17 @@ CONFIG_SSB_POSSIBLE=y
900# CONFIG_MFD_SM501 is not set 904# CONFIG_MFD_SM501 is not set
901# CONFIG_HTC_PASIC3 is not set 905# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set 906# CONFIG_MFD_TMIO is not set
907# CONFIG_PMIC_DA903X is not set
908# CONFIG_MFD_WM8400 is not set
909# CONFIG_MFD_WM8350_I2C is not set
910
911#
912# Voltage and Current regulators
913#
914# CONFIG_REGULATOR is not set
915# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
916# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
917# CONFIG_REGULATOR_BQ24022 is not set
903 918
904# 919#
905# Multimedia devices 920# Multimedia devices
@@ -936,6 +951,12 @@ CONFIG_HID_SUPPORT=y
936CONFIG_HID=y 951CONFIG_HID=y
937# CONFIG_HID_DEBUG is not set 952# CONFIG_HID_DEBUG is not set
938# CONFIG_HIDRAW is not set 953# CONFIG_HIDRAW is not set
954# CONFIG_HID_PID is not set
955
956#
957# Special HID drivers
958#
959CONFIG_HID_COMPAT=y
939CONFIG_USB_SUPPORT=y 960CONFIG_USB_SUPPORT=y
940CONFIG_USB_ARCH_HAS_HCD=y 961CONFIG_USB_ARCH_HAS_HCD=y
941CONFIG_USB_ARCH_HAS_OHCI=y 962CONFIG_USB_ARCH_HAS_OHCI=y
@@ -952,6 +973,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 973# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
953# 974#
954# CONFIG_USB_GADGET is not set 975# CONFIG_USB_GADGET is not set
976# CONFIG_UWB is not set
955# CONFIG_MMC is not set 977# CONFIG_MMC is not set
956# CONFIG_MEMSTICK is not set 978# CONFIG_MEMSTICK is not set
957# CONFIG_NEW_LEDS is not set 979# CONFIG_NEW_LEDS is not set
@@ -961,6 +983,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
961# CONFIG_RTC_CLASS is not set 983# CONFIG_RTC_CLASS is not set
962# CONFIG_DMADEVICES is not set 984# CONFIG_DMADEVICES is not set
963# CONFIG_UIO is not set 985# CONFIG_UIO is not set
986# CONFIG_STAGING is not set
964 987
965# 988#
966# File systems 989# File systems
@@ -972,12 +995,13 @@ CONFIG_EXT3_FS=y
972CONFIG_EXT3_FS_XATTR=y 995CONFIG_EXT3_FS_XATTR=y
973# CONFIG_EXT3_FS_POSIX_ACL is not set 996# CONFIG_EXT3_FS_POSIX_ACL is not set
974# CONFIG_EXT3_FS_SECURITY is not set 997# CONFIG_EXT3_FS_SECURITY is not set
975# CONFIG_EXT4DEV_FS is not set 998# CONFIG_EXT4_FS is not set
976CONFIG_JBD=y 999CONFIG_JBD=y
977CONFIG_FS_MBCACHE=y 1000CONFIG_FS_MBCACHE=y
978# CONFIG_REISERFS_FS is not set 1001# CONFIG_REISERFS_FS is not set
979# CONFIG_JFS_FS is not set 1002# CONFIG_JFS_FS is not set
980# CONFIG_FS_POSIX_ACL is not set 1003# CONFIG_FS_POSIX_ACL is not set
1004CONFIG_FILE_LOCKING=y
981# CONFIG_XFS_FS is not set 1005# CONFIG_XFS_FS is not set
982# CONFIG_OCFS2_FS is not set 1006# CONFIG_OCFS2_FS is not set
983CONFIG_DNOTIFY=y 1007CONFIG_DNOTIFY=y
@@ -1007,6 +1031,7 @@ CONFIG_INOTIFY_USER=y
1007CONFIG_PROC_FS=y 1031CONFIG_PROC_FS=y
1008CONFIG_PROC_KCORE=y 1032CONFIG_PROC_KCORE=y
1009CONFIG_PROC_SYSCTL=y 1033CONFIG_PROC_SYSCTL=y
1034CONFIG_PROC_PAGE_MONITOR=y
1010CONFIG_SYSFS=y 1035CONFIG_SYSFS=y
1011CONFIG_TMPFS=y 1036CONFIG_TMPFS=y
1012# CONFIG_TMPFS_POSIX_ACL is not set 1037# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1052,6 +1077,7 @@ CONFIG_ROOT_NFS=y
1052CONFIG_LOCKD=y 1077CONFIG_LOCKD=y
1053CONFIG_NFS_COMMON=y 1078CONFIG_NFS_COMMON=y
1054CONFIG_SUNRPC=y 1079CONFIG_SUNRPC=y
1080# CONFIG_SUNRPC_REGISTER_V4 is not set
1055# CONFIG_RPCSEC_GSS_KRB5 is not set 1081# CONFIG_RPCSEC_GSS_KRB5 is not set
1056# CONFIG_RPCSEC_GSS_SPKM3 is not set 1082# CONFIG_RPCSEC_GSS_SPKM3 is not set
1057# CONFIG_SMB_FS is not set 1083# CONFIG_SMB_FS is not set
@@ -1084,7 +1110,6 @@ CONFIG_PARTITION_ADVANCED=y
1084# Library routines 1110# Library routines
1085# 1111#
1086CONFIG_BITREVERSE=y 1112CONFIG_BITREVERSE=y
1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1088# CONFIG_CRC_CCITT is not set 1113# CONFIG_CRC_CCITT is not set
1089# CONFIG_CRC16 is not set 1114# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set 1115# CONFIG_CRC_T10DIF is not set
@@ -1116,13 +1141,15 @@ CONFIG_FRAME_WARN=1024
1116# CONFIG_SLUB_STATS is not set 1141# CONFIG_SLUB_STATS is not set
1117# CONFIG_DEBUG_BUGVERBOSE is not set 1142# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set 1143# CONFIG_DEBUG_MEMORY_INIT is not set
1144# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1119# CONFIG_LATENCYTOP is not set 1145# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y 1146CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y 1147CONFIG_HAVE_FUNCTION_TRACER=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y 1148
1123# CONFIG_FTRACE is not set 1149#
1124# CONFIG_SCHED_TRACER is not set 1150# Tracers
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set 1151#
1152# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1126# CONFIG_SAMPLES is not set 1153# CONFIG_SAMPLES is not set
1127CONFIG_HAVE_ARCH_KGDB=y 1154CONFIG_HAVE_ARCH_KGDB=y
1128# CONFIG_IRQSTACKS is not set 1155# CONFIG_IRQSTACKS is not set
@@ -1133,12 +1160,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1133# 1160#
1134# CONFIG_KEYS is not set 1161# CONFIG_KEYS is not set
1135# CONFIG_SECURITY is not set 1162# CONFIG_SECURITY is not set
1163# CONFIG_SECURITYFS is not set
1136# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1164# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1137CONFIG_CRYPTO=y 1165CONFIG_CRYPTO=y
1138 1166
1139# 1167#
1140# Crypto core or helper 1168# Crypto core or helper
1141# 1169#
1170# CONFIG_CRYPTO_FIPS is not set
1142# CONFIG_CRYPTO_MANAGER is not set 1171# CONFIG_CRYPTO_MANAGER is not set
1143# CONFIG_CRYPTO_GF128MUL is not set 1172# CONFIG_CRYPTO_GF128MUL is not set
1144# CONFIG_CRYPTO_NULL is not set 1173# CONFIG_CRYPTO_NULL is not set
@@ -1210,6 +1239,11 @@ CONFIG_CRYPTO=y
1210# 1239#
1211# CONFIG_CRYPTO_DEFLATE is not set 1240# CONFIG_CRYPTO_DEFLATE is not set
1212# CONFIG_CRYPTO_LZO is not set 1241# CONFIG_CRYPTO_LZO is not set
1242
1243#
1244# Random Number Generation
1245#
1246# CONFIG_CRYPTO_ANSI_CPRNG is not set
1213CONFIG_CRYPTO_HW=y 1247CONFIG_CRYPTO_HW=y
1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1248# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1215# CONFIG_CRYPTO_DEV_TALITOS is not set 1249# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig
index 8d676629cdb1..2519169b6d4b 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:43 2008 4# Sat Nov 8 12:40:25 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -106,7 +106,9 @@ CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 106CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 107CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 108CONFIG_SHMEM=y
109CONFIG_AIO=y
109CONFIG_VM_EVENT_COUNTERS=y 110CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y
110CONFIG_SLUB_DEBUG=y 112CONFIG_SLUB_DEBUG=y
111# CONFIG_SLAB is not set 113# CONFIG_SLAB is not set
112CONFIG_SLUB=y 114CONFIG_SLUB=y
@@ -119,10 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 121CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 122CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 123CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124CONFIG_HAVE_CLK=y 124CONFIG_HAVE_CLK=y
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 126CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 127CONFIG_RT_MUTEXES=y
@@ -149,6 +148,7 @@ CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_NOOP is not set 148# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 149CONFIG_DEFAULT_IOSCHED="anticipatory"
151CONFIG_CLASSIC_RCU=y 150CONFIG_CLASSIC_RCU=y
151# CONFIG_FREEZER is not set
152 152
153# 153#
154# Platform support 154# Platform support
@@ -184,15 +184,16 @@ CONFIG_MPIC=y
184# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_QUICC_ENGINE is not set
187CONFIG_CPM2=y 188CONFIG_CPM2=y
188# CONFIG_FSL_ULI1575 is not set 189# CONFIG_FSL_ULI1575 is not set
189CONFIG_CPM=y 190CONFIG_CPM=y
191# CONFIG_MPC8xxx_GPIO is not set
190 192
191# 193#
192# Kernel options 194# Kernel options
193# 195#
194# CONFIG_HIGHMEM is not set 196# CONFIG_HIGHMEM is not set
195# CONFIG_TICK_ONESHOT is not set
196# CONFIG_NO_HZ is not set 197# CONFIG_NO_HZ is not set
197# CONFIG_HIGH_RES_TIMERS is not set 198# CONFIG_HIGH_RES_TIMERS is not set
198CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 199CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -206,6 +207,8 @@ CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 207# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 208# CONFIG_PREEMPT is not set
208CONFIG_BINFMT_ELF=y 209CONFIG_BINFMT_ELF=y
210# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
211# CONFIG_HAVE_AOUT is not set
209# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
210CONFIG_MATH_EMULATION=y 213CONFIG_MATH_EMULATION=y
211# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
@@ -220,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y
220# CONFIG_SPARSEMEM_MANUAL is not set 223# CONFIG_SPARSEMEM_MANUAL is not set
221CONFIG_FLATMEM=y 224CONFIG_FLATMEM=y
222CONFIG_FLAT_NODE_MEM_MAP=y 225CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_STATIC is not set
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 226CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 227CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 228CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 229# CONFIG_RESOURCES_64BIT is not set
230# CONFIG_PHYS_ADDR_T_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 232CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 233CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y
232CONFIG_FORCE_MAX_ZONEORDER=11 235CONFIG_FORCE_MAX_ZONEORDER=11
233# CONFIG_PROC_DEVICETREE is not set 236# CONFIG_PROC_DEVICETREE is not set
234# CONFIG_CMDLINE_BOOL is not set 237# CONFIG_CMDLINE_BOOL is not set
@@ -251,7 +254,7 @@ CONFIG_PCI_SYSCALL=y
251# CONFIG_PCIEPORTBUS is not set 254# CONFIG_PCIEPORTBUS is not set
252CONFIG_ARCH_SUPPORTS_MSI=y 255CONFIG_ARCH_SUPPORTS_MSI=y
253# CONFIG_PCI_MSI is not set 256# CONFIG_PCI_MSI is not set
254CONFIG_PCI_LEGACY=y 257# CONFIG_PCI_LEGACY is not set
255# CONFIG_HAS_RAPIDIO is not set 258# CONFIG_HAS_RAPIDIO is not set
256 259
257# 260#
@@ -318,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 321# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 322# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 323# CONFIG_BRIDGE is not set
324# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 325# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 326# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 327# CONFIG_LLC2 is not set
@@ -338,11 +342,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 342# CONFIG_IRDA is not set
339# CONFIG_BT is not set 343# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 344# CONFIG_AF_RXRPC is not set
341 345# CONFIG_PHONET is not set
342# 346CONFIG_WIRELESS=y
343# Wireless
344#
345# CONFIG_CFG80211 is not set 347# CONFIG_CFG80211 is not set
348CONFIG_WIRELESS_OLD_REGULATORY=y
346# CONFIG_WIRELESS_EXT is not set 349# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set 350# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set 351# CONFIG_IEEE80211 is not set
@@ -469,18 +472,17 @@ CONFIG_MISC_DEVICES=y
469# CONFIG_HP_ILO is not set 472# CONFIG_HP_ILO is not set
470CONFIG_HAVE_IDE=y 473CONFIG_HAVE_IDE=y
471CONFIG_IDE=y 474CONFIG_IDE=y
472CONFIG_BLK_DEV_IDE=y
473 475
474# 476#
475# 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
476# 478#
477CONFIG_IDE_TIMINGS=y 479CONFIG_IDE_TIMINGS=y
478# CONFIG_BLK_DEV_IDE_SATA is not set 480# CONFIG_BLK_DEV_IDE_SATA is not set
479CONFIG_BLK_DEV_IDEDISK=y 481CONFIG_IDE_GD=y
480# CONFIG_IDEDISK_MULTI_MODE is not set 482CONFIG_IDE_GD_ATA=y
483# CONFIG_IDE_GD_ATAPI is not set
481# CONFIG_BLK_DEV_IDECD is not set 484# CONFIG_BLK_DEV_IDECD is not set
482# CONFIG_BLK_DEV_IDETAPE is not set 485# CONFIG_BLK_DEV_IDETAPE is not set
483# CONFIG_BLK_DEV_IDEFLOPPY is not set
484# CONFIG_IDE_TASK_IOCTL is not set 486# CONFIG_IDE_TASK_IOCTL is not set
485CONFIG_IDE_PROC_FS=y 487CONFIG_IDE_PROC_FS=y
486 488
@@ -583,6 +585,9 @@ CONFIG_MII=y
583# CONFIG_IBM_NEW_EMAC_RGMII is not set 585# CONFIG_IBM_NEW_EMAC_RGMII is not set
584# CONFIG_IBM_NEW_EMAC_TAH is not set 586# CONFIG_IBM_NEW_EMAC_TAH is not set
585# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 587# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
588# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
589# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
590# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
586CONFIG_NET_PCI=y 591CONFIG_NET_PCI=y
587# CONFIG_PCNET32 is not set 592# CONFIG_PCNET32 is not set
588# CONFIG_AMD8111_ETH is not set 593# CONFIG_AMD8111_ETH is not set
@@ -603,6 +608,7 @@ CONFIG_E100=y
603# CONFIG_TLAN is not set 608# CONFIG_TLAN is not set
604# CONFIG_VIA_RHINE is not set 609# CONFIG_VIA_RHINE is not set
605# CONFIG_SC92031 is not set 610# CONFIG_SC92031 is not set
611# CONFIG_ATL2 is not set
606# CONFIG_FS_ENET is not set 612# CONFIG_FS_ENET is not set
607CONFIG_NETDEV_1000=y 613CONFIG_NETDEV_1000=y
608# CONFIG_ACENIC is not set 614# CONFIG_ACENIC is not set
@@ -625,18 +631,22 @@ CONFIG_GIANFAR=y
625# CONFIG_QLA3XXX is not set 631# CONFIG_QLA3XXX is not set
626# CONFIG_ATL1 is not set 632# CONFIG_ATL1 is not set
627# CONFIG_ATL1E is not set 633# CONFIG_ATL1E is not set
634# CONFIG_JME is not set
628CONFIG_NETDEV_10000=y 635CONFIG_NETDEV_10000=y
629# CONFIG_CHELSIO_T1 is not set 636# CONFIG_CHELSIO_T1 is not set
630# CONFIG_CHELSIO_T3 is not set 637# CONFIG_CHELSIO_T3 is not set
638# CONFIG_ENIC is not set
631# CONFIG_IXGBE is not set 639# CONFIG_IXGBE is not set
632# CONFIG_IXGB is not set 640# CONFIG_IXGB is not set
633# CONFIG_S2IO is not set 641# CONFIG_S2IO is not set
634# CONFIG_MYRI10GE is not set 642# CONFIG_MYRI10GE is not set
635# CONFIG_NETXEN_NIC is not set 643# CONFIG_NETXEN_NIC is not set
636# CONFIG_NIU is not set 644# CONFIG_NIU is not set
645# CONFIG_MLX4_EN is not set
637# CONFIG_MLX4_CORE is not set 646# CONFIG_MLX4_CORE is not set
638# CONFIG_TEHUTI is not set 647# CONFIG_TEHUTI is not set
639# CONFIG_BNX2X is not set 648# CONFIG_BNX2X is not set
649# CONFIG_QLGE is not set
640# CONFIG_SFC is not set 650# CONFIG_SFC is not set
641# CONFIG_TR is not set 651# CONFIG_TR is not set
642 652
@@ -715,12 +725,6 @@ CONFIG_SERIAL_CORE=y
715CONFIG_SERIAL_CORE_CONSOLE=y 725CONFIG_SERIAL_CORE_CONSOLE=y
716CONFIG_SERIAL_CPM=y 726CONFIG_SERIAL_CPM=y
717CONFIG_SERIAL_CPM_CONSOLE=y 727CONFIG_SERIAL_CPM_CONSOLE=y
718CONFIG_SERIAL_CPM_SCC1=y
719# CONFIG_SERIAL_CPM_SCC2 is not set
720# CONFIG_SERIAL_CPM_SCC3 is not set
721# CONFIG_SERIAL_CPM_SCC4 is not set
722# CONFIG_SERIAL_CPM_SMC1 is not set
723# CONFIG_SERIAL_CPM_SMC2 is not set
724# CONFIG_SERIAL_JSM is not set 728# CONFIG_SERIAL_JSM is not set
725# CONFIG_SERIAL_OF_PLATFORM is not set 729# CONFIG_SERIAL_OF_PLATFORM is not set
726CONFIG_UNIX98_PTYS=y 730CONFIG_UNIX98_PTYS=y
@@ -900,6 +904,17 @@ CONFIG_SSB_POSSIBLE=y
900# CONFIG_MFD_SM501 is not set 904# CONFIG_MFD_SM501 is not set
901# CONFIG_HTC_PASIC3 is not set 905# CONFIG_HTC_PASIC3 is not set
902# CONFIG_MFD_TMIO is not set 906# CONFIG_MFD_TMIO is not set
907# CONFIG_PMIC_DA903X is not set
908# CONFIG_MFD_WM8400 is not set
909# CONFIG_MFD_WM8350_I2C is not set
910
911#
912# Voltage and Current regulators
913#
914# CONFIG_REGULATOR is not set
915# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
916# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
917# CONFIG_REGULATOR_BQ24022 is not set
903 918
904# 919#
905# Multimedia devices 920# Multimedia devices
@@ -936,6 +951,12 @@ CONFIG_HID_SUPPORT=y
936CONFIG_HID=y 951CONFIG_HID=y
937# CONFIG_HID_DEBUG is not set 952# CONFIG_HID_DEBUG is not set
938# CONFIG_HIDRAW is not set 953# CONFIG_HIDRAW is not set
954# CONFIG_HID_PID is not set
955
956#
957# Special HID drivers
958#
959CONFIG_HID_COMPAT=y
939CONFIG_USB_SUPPORT=y 960CONFIG_USB_SUPPORT=y
940CONFIG_USB_ARCH_HAS_HCD=y 961CONFIG_USB_ARCH_HAS_HCD=y
941CONFIG_USB_ARCH_HAS_OHCI=y 962CONFIG_USB_ARCH_HAS_OHCI=y
@@ -952,6 +973,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
952# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 973# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
953# 974#
954# CONFIG_USB_GADGET is not set 975# CONFIG_USB_GADGET is not set
976# CONFIG_UWB is not set
955# CONFIG_MMC is not set 977# CONFIG_MMC is not set
956# CONFIG_MEMSTICK is not set 978# CONFIG_MEMSTICK is not set
957# CONFIG_NEW_LEDS is not set 979# CONFIG_NEW_LEDS is not set
@@ -961,6 +983,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
961# CONFIG_RTC_CLASS is not set 983# CONFIG_RTC_CLASS is not set
962# CONFIG_DMADEVICES is not set 984# CONFIG_DMADEVICES is not set
963# CONFIG_UIO is not set 985# CONFIG_UIO is not set
986# CONFIG_STAGING is not set
964 987
965# 988#
966# File systems 989# File systems
@@ -972,12 +995,13 @@ CONFIG_EXT3_FS=y
972CONFIG_EXT3_FS_XATTR=y 995CONFIG_EXT3_FS_XATTR=y
973# CONFIG_EXT3_FS_POSIX_ACL is not set 996# CONFIG_EXT3_FS_POSIX_ACL is not set
974# CONFIG_EXT3_FS_SECURITY is not set 997# CONFIG_EXT3_FS_SECURITY is not set
975# CONFIG_EXT4DEV_FS is not set 998# CONFIG_EXT4_FS is not set
976CONFIG_JBD=y 999CONFIG_JBD=y
977CONFIG_FS_MBCACHE=y 1000CONFIG_FS_MBCACHE=y
978# CONFIG_REISERFS_FS is not set 1001# CONFIG_REISERFS_FS is not set
979# CONFIG_JFS_FS is not set 1002# CONFIG_JFS_FS is not set
980# CONFIG_FS_POSIX_ACL is not set 1003# CONFIG_FS_POSIX_ACL is not set
1004CONFIG_FILE_LOCKING=y
981# CONFIG_XFS_FS is not set 1005# CONFIG_XFS_FS is not set
982# CONFIG_OCFS2_FS is not set 1006# CONFIG_OCFS2_FS is not set
983CONFIG_DNOTIFY=y 1007CONFIG_DNOTIFY=y
@@ -1007,6 +1031,7 @@ CONFIG_INOTIFY_USER=y
1007CONFIG_PROC_FS=y 1031CONFIG_PROC_FS=y
1008CONFIG_PROC_KCORE=y 1032CONFIG_PROC_KCORE=y
1009CONFIG_PROC_SYSCTL=y 1033CONFIG_PROC_SYSCTL=y
1034CONFIG_PROC_PAGE_MONITOR=y
1010CONFIG_SYSFS=y 1035CONFIG_SYSFS=y
1011CONFIG_TMPFS=y 1036CONFIG_TMPFS=y
1012# CONFIG_TMPFS_POSIX_ACL is not set 1037# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1052,6 +1077,7 @@ CONFIG_ROOT_NFS=y
1052CONFIG_LOCKD=y 1077CONFIG_LOCKD=y
1053CONFIG_NFS_COMMON=y 1078CONFIG_NFS_COMMON=y
1054CONFIG_SUNRPC=y 1079CONFIG_SUNRPC=y
1080# CONFIG_SUNRPC_REGISTER_V4 is not set
1055# CONFIG_RPCSEC_GSS_KRB5 is not set 1081# CONFIG_RPCSEC_GSS_KRB5 is not set
1056# CONFIG_RPCSEC_GSS_SPKM3 is not set 1082# CONFIG_RPCSEC_GSS_SPKM3 is not set
1057# CONFIG_SMB_FS is not set 1083# CONFIG_SMB_FS is not set
@@ -1084,7 +1110,6 @@ CONFIG_PARTITION_ADVANCED=y
1084# Library routines 1110# Library routines
1085# 1111#
1086CONFIG_BITREVERSE=y 1112CONFIG_BITREVERSE=y
1087# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1088# CONFIG_CRC_CCITT is not set 1113# CONFIG_CRC_CCITT is not set
1089# CONFIG_CRC16 is not set 1114# CONFIG_CRC16 is not set
1090# CONFIG_CRC_T10DIF is not set 1115# CONFIG_CRC_T10DIF is not set
@@ -1116,13 +1141,15 @@ CONFIG_FRAME_WARN=1024
1116# CONFIG_SLUB_STATS is not set 1141# CONFIG_SLUB_STATS is not set
1117# CONFIG_DEBUG_BUGVERBOSE is not set 1142# CONFIG_DEBUG_BUGVERBOSE is not set
1118# CONFIG_DEBUG_MEMORY_INIT is not set 1143# CONFIG_DEBUG_MEMORY_INIT is not set
1144# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1119# CONFIG_LATENCYTOP is not set 1145# CONFIG_LATENCYTOP is not set
1120CONFIG_SYSCTL_SYSCALL_CHECK=y 1146CONFIG_SYSCTL_SYSCALL_CHECK=y
1121CONFIG_HAVE_FTRACE=y 1147CONFIG_HAVE_FUNCTION_TRACER=y
1122CONFIG_HAVE_DYNAMIC_FTRACE=y 1148
1123# CONFIG_FTRACE is not set 1149#
1124# CONFIG_SCHED_TRACER is not set 1150# Tracers
1125# CONFIG_CONTEXT_SWITCH_TRACER is not set 1151#
1152# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1126# CONFIG_SAMPLES is not set 1153# CONFIG_SAMPLES is not set
1127CONFIG_HAVE_ARCH_KGDB=y 1154CONFIG_HAVE_ARCH_KGDB=y
1128# CONFIG_IRQSTACKS is not set 1155# CONFIG_IRQSTACKS is not set
@@ -1133,12 +1160,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1133# 1160#
1134# CONFIG_KEYS is not set 1161# CONFIG_KEYS is not set
1135# CONFIG_SECURITY is not set 1162# CONFIG_SECURITY is not set
1163# CONFIG_SECURITYFS is not set
1136# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1164# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1137CONFIG_CRYPTO=y 1165CONFIG_CRYPTO=y
1138 1166
1139# 1167#
1140# Crypto core or helper 1168# Crypto core or helper
1141# 1169#
1170# CONFIG_CRYPTO_FIPS is not set
1142# CONFIG_CRYPTO_MANAGER is not set 1171# CONFIG_CRYPTO_MANAGER is not set
1143# CONFIG_CRYPTO_GF128MUL is not set 1172# CONFIG_CRYPTO_GF128MUL is not set
1144# CONFIG_CRYPTO_NULL is not set 1173# CONFIG_CRYPTO_NULL is not set
@@ -1210,6 +1239,11 @@ CONFIG_CRYPTO=y
1210# 1239#
1211# CONFIG_CRYPTO_DEFLATE is not set 1240# CONFIG_CRYPTO_DEFLATE is not set
1212# CONFIG_CRYPTO_LZO is not set 1241# CONFIG_CRYPTO_LZO is not set
1242
1243#
1244# Random Number Generation
1245#
1246# CONFIG_CRYPTO_ANSI_CPRNG is not set
1213CONFIG_CRYPTO_HW=y 1247CONFIG_CRYPTO_HW=y
1214# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1248# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1215# CONFIG_CRYPTO_DEV_TALITOS is not set 1249# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
index 312d7afbbe44..2da13e00a807 100644
--- a/arch/powerpc/configs/86xx/gef_sbc610_defconfig
+++ b/arch/powerpc/configs/86xx/gef_sbc610_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.28-rc3
4# Wed Jun 11 12:06:53 2008 4# Sat Nov 8 12:40:30 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_PHYS_64BIT is not set
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
@@ -23,7 +24,7 @@ CONFIG_SMP=y
23CONFIG_NR_CPUS=2 24CONFIG_NR_CPUS=2
24CONFIG_PPC32=y 25CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 28CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=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_GENERIC_LOCKBREAK=y 40CONFIG_GENERIC_LOCKBREAK=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
97# CONFIG_KALLSYMS_ALL is not set 98# CONFIG_KALLSYMS_ALL is not set
98# CONFIG_KALLSYMS_EXTRA_PASS is not set 99# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -109,7 +110,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
113CONFIG_SLAB=y 116CONFIG_SLAB=y
114# CONFIG_SLUB is not set 117# CONFIG_SLUB is not set
115# CONFIG_SLOB is not set 118# CONFIG_SLOB is not set
@@ -117,10 +120,13 @@ CONFIG_SLAB=y
117# CONFIG_MARKERS is not set 120# CONFIG_MARKERS is not set
118CONFIG_HAVE_OPROFILE=y 121CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 122# CONFIG_KPROBES is not set
123CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
124CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
122# CONFIG_HAVE_DMA_ATTRS is not set 127CONFIG_HAVE_ARCH_TRACEHOOK=y
123CONFIG_PROC_PAGE_MONITOR=y 128CONFIG_USE_GENERIC_SMP_HELPERS=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_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
@@ -152,6 +159,7 @@ CONFIG_DEFAULT_CFQ=y
152# CONFIG_DEFAULT_NOOP is not set 159# CONFIG_DEFAULT_NOOP is not set
153CONFIG_DEFAULT_IOSCHED="cfq" 160CONFIG_DEFAULT_IOSCHED="cfq"
154CONFIG_CLASSIC_RCU=y 161CONFIG_CLASSIC_RCU=y
162# CONFIG_FREEZER is not set
155 163
156# 164#
157# Platform support 165# Platform support
@@ -159,15 +167,16 @@ CONFIG_CLASSIC_RCU=y
159CONFIG_PPC_MULTIPLATFORM=y 167CONFIG_PPC_MULTIPLATFORM=y
160CONFIG_CLASSIC32=y 168CONFIG_CLASSIC32=y
161# CONFIG_PPC_CHRP is not set 169# CONFIG_PPC_CHRP is not set
170# CONFIG_MPC5121_ADS is not set
171# CONFIG_MPC5121_GENERIC is not set
172# CONFIG_PPC_MPC52xx is not set
162# CONFIG_PPC_PMAC is not set 173# CONFIG_PPC_PMAC is not set
163# CONFIG_PPC_82xx is not set
164# CONFIG_PPC_83xx is not set
165CONFIG_PPC_86xx=y
166# CONFIG_PPC_MPC512x is not set
167# CONFIG_PPC_MPC5121 is not set
168# CONFIG_PPC_CELL is not set 174# CONFIG_PPC_CELL is not set
169# CONFIG_PPC_CELL_NATIVE is not set 175# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set
170# CONFIG_PQ2ADS is not set 177# CONFIG_PQ2ADS is not set
178# CONFIG_PPC_83xx is not set
179CONFIG_PPC_86xx=y
171# CONFIG_MPC8641_HPCN is not set 180# CONFIG_MPC8641_HPCN is not set
172# CONFIG_SBC8641D is not set 181# CONFIG_SBC8641D is not set
173# CONFIG_MPC8610_HPCD is not set 182# CONFIG_MPC8610_HPCD is not set
@@ -184,7 +193,10 @@ CONFIG_MPIC=y
184# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
196# CONFIG_TAU is not set
197# CONFIG_QUICC_ENGINE is not set
187# CONFIG_FSL_ULI1575 is not set 198# CONFIG_FSL_ULI1575 is not set
199# CONFIG_MPC8xxx_GPIO is not set
188 200
189# 201#
190# Kernel options 202# Kernel options
@@ -199,17 +211,20 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
199# CONFIG_HZ_300 is not set 211# CONFIG_HZ_300 is not set
200CONFIG_HZ_1000=y 212CONFIG_HZ_1000=y
201CONFIG_HZ=1000 213CONFIG_HZ=1000
202# CONFIG_SCHED_HRTICK is not set 214CONFIG_SCHED_HRTICK=y
203# CONFIG_PREEMPT_NONE is not set 215# CONFIG_PREEMPT_NONE is not set
204# CONFIG_PREEMPT_VOLUNTARY is not set 216# CONFIG_PREEMPT_VOLUNTARY is not set
205CONFIG_PREEMPT=y 217CONFIG_PREEMPT=y
206# CONFIG_PREEMPT_RCU is not set 218# CONFIG_PREEMPT_RCU is not set
207CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
208CONFIG_BINFMT_MISC=m 222CONFIG_BINFMT_MISC=m
209# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
210CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
211CONFIG_ARCH_HAS_WALK_MEMORY=y 225CONFIG_ARCH_HAS_WALK_MEMORY=y
212CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
227# CONFIG_KEXEC is not set
213CONFIG_IRQ_ALL_CPUS=y 228CONFIG_IRQ_ALL_CPUS=y
214CONFIG_ARCH_FLATMEM_ENABLE=y 229CONFIG_ARCH_FLATMEM_ENABLE=y
215CONFIG_ARCH_POPULATES_NODE_MAP=y 230CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -219,17 +234,19 @@ CONFIG_FLATMEM_MANUAL=y
219# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
239CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
230CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
231# CONFIG_PROC_DEVICETREE is not set 247# CONFIG_PROC_DEVICETREE is not set
232# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
249CONFIG_EXTRA_TARGETS=""
233# CONFIG_PM is not set 250# CONFIG_PM is not set
234CONFIG_SECCOMP=y 251CONFIG_SECCOMP=y
235CONFIG_ISA_DMA_API=y 252CONFIG_ISA_DMA_API=y
@@ -242,6 +259,7 @@ CONFIG_GENERIC_ISA_DMA=y
242CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
243CONFIG_FSL_SOC=y 260CONFIG_FSL_SOC=y
244CONFIG_FSL_PCI=y 261CONFIG_FSL_PCI=y
262CONFIG_PPC_PCI_CHOICE=y
245CONFIG_PCI=y 263CONFIG_PCI=y
246CONFIG_PCI_DOMAINS=y 264CONFIG_PCI_DOMAINS=y
247CONFIG_PCI_SYSCALL=y 265CONFIG_PCI_SYSCALL=y
@@ -250,7 +268,7 @@ CONFIG_PCIEAER=y
250# CONFIG_PCIEASPM is not set 268# CONFIG_PCIEASPM is not set
251CONFIG_ARCH_SUPPORTS_MSI=y 269CONFIG_ARCH_SUPPORTS_MSI=y
252# CONFIG_PCI_MSI is not set 270# CONFIG_PCI_MSI is not set
253CONFIG_PCI_LEGACY=y 271# CONFIG_PCI_LEGACY is not set
254CONFIG_PCI_DEBUG=y 272CONFIG_PCI_DEBUG=y
255# CONFIG_PCCARD is not set 273# CONFIG_PCCARD is not set
256# CONFIG_HOTPLUG_PCI is not set 274# CONFIG_HOTPLUG_PCI is not set
@@ -270,10 +288,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
270CONFIG_KERNEL_START=0xc0000000 288CONFIG_KERNEL_START=0xc0000000
271CONFIG_PHYSICAL_START=0x00000000 289CONFIG_PHYSICAL_START=0x00000000
272CONFIG_TASK_SIZE=0xc0000000 290CONFIG_TASK_SIZE=0xc0000000
273
274#
275# Networking
276#
277CONFIG_NET=y 291CONFIG_NET=y
278 292
279# 293#
@@ -287,6 +301,7 @@ CONFIG_XFRM_USER=m
287# CONFIG_XFRM_SUB_POLICY is not set 301# CONFIG_XFRM_SUB_POLICY is not set
288# CONFIG_XFRM_MIGRATE is not set 302# CONFIG_XFRM_MIGRATE is not set
289# CONFIG_XFRM_STATISTICS is not set 303# CONFIG_XFRM_STATISTICS is not set
304CONFIG_XFRM_IPCOMP=m
290CONFIG_NET_KEY=m 305CONFIG_NET_KEY=m
291# CONFIG_NET_KEY_MIGRATE is not set 306# CONFIG_NET_KEY_MIGRATE is not set
292CONFIG_INET=y 307CONFIG_INET=y
@@ -325,7 +340,6 @@ CONFIG_INET_TCP_DIAG=y
325CONFIG_TCP_CONG_CUBIC=y 340CONFIG_TCP_CONG_CUBIC=y
326CONFIG_DEFAULT_TCP_CONG="cubic" 341CONFIG_DEFAULT_TCP_CONG="cubic"
327# CONFIG_TCP_MD5SIG is not set 342# CONFIG_TCP_MD5SIG is not set
328# CONFIG_IP_VS is not set
329CONFIG_IPV6=m 343CONFIG_IPV6=m
330# CONFIG_IPV6_PRIVACY is not set 344# CONFIG_IPV6_PRIVACY is not set
331# CONFIG_IPV6_ROUTER_PREF is not set 345# CONFIG_IPV6_ROUTER_PREF is not set
@@ -362,8 +376,8 @@ CONFIG_NETFILTER_XTABLES=m
362# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 376# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
363# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 377# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
364# CONFIG_NETFILTER_XT_TARGET_MARK is not set 378# CONFIG_NETFILTER_XT_TARGET_MARK is not set
365# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
366# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 379# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
380# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
367# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 381# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
368# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 382# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
369# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 383# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
@@ -372,37 +386,39 @@ CONFIG_NETFILTER_XTABLES=m
372# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 386# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
373# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 387# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
374# CONFIG_NETFILTER_XT_MATCH_ESP is not set 388# CONFIG_NETFILTER_XT_MATCH_ESP is not set
389# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
375# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 390# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
376# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 391# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
377# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 392# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
378# CONFIG_NETFILTER_XT_MATCH_MAC is not set 393# CONFIG_NETFILTER_XT_MATCH_MAC is not set
379# CONFIG_NETFILTER_XT_MATCH_MARK is not set 394# CONFIG_NETFILTER_XT_MATCH_MARK is not set
395# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
380# CONFIG_NETFILTER_XT_MATCH_OWNER is not set 396# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
381# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 397# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
382# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
383# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set 398# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
384# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 399# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
385# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 400# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
386# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 401# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
387# CONFIG_NETFILTER_XT_MATCH_REALM is not set 402# CONFIG_NETFILTER_XT_MATCH_REALM is not set
403# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
388# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 404# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
389# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 405# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
390# CONFIG_NETFILTER_XT_MATCH_STRING is not set 406# CONFIG_NETFILTER_XT_MATCH_STRING is not set
391# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 407# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
392# CONFIG_NETFILTER_XT_MATCH_TIME is not set 408# CONFIG_NETFILTER_XT_MATCH_TIME is not set
393# CONFIG_NETFILTER_XT_MATCH_U32 is not set 409# CONFIG_NETFILTER_XT_MATCH_U32 is not set
394# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 410# CONFIG_IP_VS is not set
395 411
396# 412#
397# IP: Netfilter Configuration 413# IP: Netfilter Configuration
398# 414#
415# CONFIG_NF_DEFRAG_IPV4 is not set
399CONFIG_IP_NF_QUEUE=m 416CONFIG_IP_NF_QUEUE=m
400CONFIG_IP_NF_IPTABLES=m 417CONFIG_IP_NF_IPTABLES=m
401CONFIG_IP_NF_MATCH_RECENT=m 418CONFIG_IP_NF_MATCH_ADDRTYPE=m
402CONFIG_IP_NF_MATCH_ECN=m
403# CONFIG_IP_NF_MATCH_AH is not set 419# CONFIG_IP_NF_MATCH_AH is not set
420CONFIG_IP_NF_MATCH_ECN=m
404CONFIG_IP_NF_MATCH_TTL=m 421CONFIG_IP_NF_MATCH_TTL=m
405CONFIG_IP_NF_MATCH_ADDRTYPE=m
406CONFIG_IP_NF_FILTER=m 422CONFIG_IP_NF_FILTER=m
407CONFIG_IP_NF_TARGET_REJECT=m 423CONFIG_IP_NF_TARGET_REJECT=m
408CONFIG_IP_NF_TARGET_LOG=m 424CONFIG_IP_NF_TARGET_LOG=m
@@ -411,6 +427,7 @@ CONFIG_IP_NF_MANGLE=m
411CONFIG_IP_NF_TARGET_ECN=m 427CONFIG_IP_NF_TARGET_ECN=m
412# CONFIG_IP_NF_TARGET_TTL is not set 428# CONFIG_IP_NF_TARGET_TTL is not set
413CONFIG_IP_NF_RAW=m 429CONFIG_IP_NF_RAW=m
430# CONFIG_IP_NF_SECURITY is not set
414CONFIG_IP_NF_ARPTABLES=m 431CONFIG_IP_NF_ARPTABLES=m
415CONFIG_IP_NF_ARPFILTER=m 432CONFIG_IP_NF_ARPFILTER=m
416CONFIG_IP_NF_ARP_MANGLE=m 433CONFIG_IP_NF_ARP_MANGLE=m
@@ -420,24 +437,21 @@ CONFIG_IP_NF_ARP_MANGLE=m
420# 437#
421CONFIG_IP6_NF_QUEUE=m 438CONFIG_IP6_NF_QUEUE=m
422CONFIG_IP6_NF_IPTABLES=m 439CONFIG_IP6_NF_IPTABLES=m
423CONFIG_IP6_NF_MATCH_RT=m 440# CONFIG_IP6_NF_MATCH_AH is not set
424CONFIG_IP6_NF_MATCH_OPTS=m 441CONFIG_IP6_NF_MATCH_EUI64=m
425CONFIG_IP6_NF_MATCH_FRAG=m 442CONFIG_IP6_NF_MATCH_FRAG=m
443CONFIG_IP6_NF_MATCH_OPTS=m
426CONFIG_IP6_NF_MATCH_HL=m 444CONFIG_IP6_NF_MATCH_HL=m
427CONFIG_IP6_NF_MATCH_IPV6HEADER=m 445CONFIG_IP6_NF_MATCH_IPV6HEADER=m
428# CONFIG_IP6_NF_MATCH_AH is not set
429# CONFIG_IP6_NF_MATCH_MH is not set 446# CONFIG_IP6_NF_MATCH_MH is not set
430CONFIG_IP6_NF_MATCH_EUI64=m 447CONFIG_IP6_NF_MATCH_RT=m
431CONFIG_IP6_NF_FILTER=m
432CONFIG_IP6_NF_TARGET_LOG=m 448CONFIG_IP6_NF_TARGET_LOG=m
449CONFIG_IP6_NF_FILTER=m
433# CONFIG_IP6_NF_TARGET_REJECT is not set 450# CONFIG_IP6_NF_TARGET_REJECT is not set
434CONFIG_IP6_NF_MANGLE=m 451CONFIG_IP6_NF_MANGLE=m
435# CONFIG_IP6_NF_TARGET_HL is not set 452# CONFIG_IP6_NF_TARGET_HL is not set
436CONFIG_IP6_NF_RAW=m 453CONFIG_IP6_NF_RAW=m
437 454# CONFIG_IP6_NF_SECURITY is not set
438#
439# Bridge: Netfilter Configuration
440#
441# CONFIG_BRIDGE_NF_EBTABLES is not set 455# CONFIG_BRIDGE_NF_EBTABLES is not set
442# CONFIG_IP_DCCP is not set 456# CONFIG_IP_DCCP is not set
443CONFIG_IP_SCTP=m 457CONFIG_IP_SCTP=m
@@ -456,8 +470,11 @@ CONFIG_ATM_LANE=m
456CONFIG_ATM_MPOA=m 470CONFIG_ATM_MPOA=m
457CONFIG_ATM_BR2684=m 471CONFIG_ATM_BR2684=m
458# CONFIG_ATM_BR2684_IPFILTER is not set 472# CONFIG_ATM_BR2684_IPFILTER is not set
473CONFIG_STP=m
459CONFIG_BRIDGE=m 474CONFIG_BRIDGE=m
475# CONFIG_NET_DSA is not set
460CONFIG_VLAN_8021Q=m 476CONFIG_VLAN_8021Q=m
477# CONFIG_VLAN_8021Q_GVRP is not set
461# CONFIG_DECNET is not set 478# CONFIG_DECNET is not set
462CONFIG_LLC=m 479CONFIG_LLC=m
463# CONFIG_LLC2 is not set 480# CONFIG_LLC2 is not set
@@ -477,7 +494,7 @@ CONFIG_NET_SCH_HTB=m
477CONFIG_NET_SCH_HFSC=m 494CONFIG_NET_SCH_HFSC=m
478CONFIG_NET_SCH_ATM=m 495CONFIG_NET_SCH_ATM=m
479CONFIG_NET_SCH_PRIO=m 496CONFIG_NET_SCH_PRIO=m
480# CONFIG_NET_SCH_RR is not set 497# CONFIG_NET_SCH_MULTIQ is not set
481CONFIG_NET_SCH_RED=m 498CONFIG_NET_SCH_RED=m
482CONFIG_NET_SCH_SFQ=m 499CONFIG_NET_SCH_SFQ=m
483CONFIG_NET_SCH_TEQL=m 500CONFIG_NET_SCH_TEQL=m
@@ -515,12 +532,11 @@ CONFIG_NET_PKTGEN=m
515# CONFIG_IRDA is not set 532# CONFIG_IRDA is not set
516# CONFIG_BT is not set 533# CONFIG_BT is not set
517# CONFIG_AF_RXRPC is not set 534# CONFIG_AF_RXRPC is not set
535# CONFIG_PHONET is not set
518CONFIG_FIB_RULES=y 536CONFIG_FIB_RULES=y
519 537CONFIG_WIRELESS=y
520#
521# Wireless
522#
523# CONFIG_CFG80211 is not set 538# CONFIG_CFG80211 is not set
539CONFIG_WIRELESS_OLD_REGULATORY=y
524# CONFIG_WIRELESS_EXT is not set 540# CONFIG_WIRELESS_EXT is not set
525# CONFIG_MAC80211 is not set 541# CONFIG_MAC80211 is not set
526# CONFIG_IEEE80211 is not set 542# CONFIG_IEEE80211 is not set
@@ -646,12 +662,14 @@ CONFIG_BLK_DEV_RAM_SIZE=131072
646# CONFIG_BLK_DEV_XIP is not set 662# CONFIG_BLK_DEV_XIP is not set
647# CONFIG_CDROM_PKTCDVD is not set 663# CONFIG_CDROM_PKTCDVD is not set
648# CONFIG_ATA_OVER_ETH is not set 664# CONFIG_ATA_OVER_ETH is not set
665# CONFIG_BLK_DEV_HD is not set
649CONFIG_MISC_DEVICES=y 666CONFIG_MISC_DEVICES=y
650# CONFIG_PHANTOM is not set 667# CONFIG_PHANTOM is not set
651# CONFIG_EEPROM_93CX6 is not set 668# CONFIG_EEPROM_93CX6 is not set
652# CONFIG_SGI_IOC4 is not set 669# CONFIG_SGI_IOC4 is not set
653# CONFIG_TIFM_CORE is not set 670# CONFIG_TIFM_CORE is not set
654# CONFIG_ENCLOSURE_SERVICES is not set 671# CONFIG_ENCLOSURE_SERVICES is not set
672# CONFIG_HP_ILO is not set
655CONFIG_HAVE_IDE=y 673CONFIG_HAVE_IDE=y
656# CONFIG_IDE is not set 674# CONFIG_IDE is not set
657 675
@@ -731,6 +749,7 @@ CONFIG_SCSI_LOWLEVEL=y
731# CONFIG_SCSI_NSP32 is not set 749# CONFIG_SCSI_NSP32 is not set
732# CONFIG_SCSI_DEBUG is not set 750# CONFIG_SCSI_DEBUG is not set
733# CONFIG_SCSI_SRP is not set 751# CONFIG_SCSI_SRP is not set
752# CONFIG_SCSI_DH is not set
734CONFIG_ATA=y 753CONFIG_ATA=y
735# CONFIG_ATA_NONSTANDARD is not set 754# CONFIG_ATA_NONSTANDARD is not set
736CONFIG_SATA_PMP=y 755CONFIG_SATA_PMP=y
@@ -798,12 +817,15 @@ CONFIG_SATA_SIL=y
798# 817#
799# IEEE 1394 (FireWire) support 818# IEEE 1394 (FireWire) support
800# 819#
820
821#
822# Enable only one of the two stacks, unless you know what you are doing
823#
801# CONFIG_FIREWIRE is not set 824# CONFIG_FIREWIRE is not set
802# CONFIG_IEEE1394 is not set 825# CONFIG_IEEE1394 is not set
803# CONFIG_I2O is not set 826# CONFIG_I2O is not set
804# CONFIG_MACINTOSH_DRIVERS is not set 827# CONFIG_MACINTOSH_DRIVERS is not set
805CONFIG_NETDEVICES=y 828CONFIG_NETDEVICES=y
806# CONFIG_NETDEVICES_MULTIQUEUE is not set
807CONFIG_DUMMY=m 829CONFIG_DUMMY=m
808CONFIG_BONDING=m 830CONFIG_BONDING=m
809# CONFIG_MACVLAN is not set 831# CONFIG_MACVLAN is not set
@@ -840,14 +862,17 @@ CONFIG_MII=y
840# CONFIG_IBM_NEW_EMAC_RGMII is not set 862# CONFIG_IBM_NEW_EMAC_RGMII is not set
841# CONFIG_IBM_NEW_EMAC_TAH is not set 863# CONFIG_IBM_NEW_EMAC_TAH is not set
842# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 864# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
865# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
866# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
867# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
843# CONFIG_NET_PCI is not set 868# CONFIG_NET_PCI is not set
844# CONFIG_B44 is not set 869# CONFIG_B44 is not set
870# CONFIG_ATL2 is not set
845CONFIG_NETDEV_1000=y 871CONFIG_NETDEV_1000=y
846# CONFIG_ACENIC is not set 872# CONFIG_ACENIC is not set
847# CONFIG_DL2K is not set 873# CONFIG_DL2K is not set
848# CONFIG_E1000 is not set 874# CONFIG_E1000 is not set
849# CONFIG_E1000E is not set 875# CONFIG_E1000E is not set
850# CONFIG_E1000E_ENABLED is not set
851# CONFIG_IP1000 is not set 876# CONFIG_IP1000 is not set
852# CONFIG_IGB is not set 877# CONFIG_IGB is not set
853# CONFIG_NS83820 is not set 878# CONFIG_NS83820 is not set
@@ -861,9 +886,11 @@ CONFIG_NETDEV_1000=y
861# CONFIG_TIGON3 is not set 886# CONFIG_TIGON3 is not set
862# CONFIG_BNX2 is not set 887# CONFIG_BNX2 is not set
863CONFIG_GIANFAR=y 888CONFIG_GIANFAR=y
864# CONFIG_GFAR_NAPI is not set 889# CONFIG_MV643XX_ETH is not set
865# CONFIG_QLA3XXX is not set 890# CONFIG_QLA3XXX is not set
866# CONFIG_ATL1 is not set 891# CONFIG_ATL1 is not set
892# CONFIG_ATL1E is not set
893# CONFIG_JME is not set
867# CONFIG_NETDEV_10000 is not set 894# CONFIG_NETDEV_10000 is not set
868# CONFIG_TR is not set 895# CONFIG_TR is not set
869 896
@@ -895,7 +922,7 @@ CONFIG_ATM_DRIVERS=y
895# CONFIG_ATM_AMBASSADOR is not set 922# CONFIG_ATM_AMBASSADOR is not set
896# CONFIG_ATM_HORIZON is not set 923# CONFIG_ATM_HORIZON is not set
897# CONFIG_ATM_IA is not set 924# CONFIG_ATM_IA is not set
898# CONFIG_ATM_FORE200E_MAYBE is not set 925# CONFIG_ATM_FORE200E is not set
899# CONFIG_ATM_HE is not set 926# CONFIG_ATM_HE is not set
900# CONFIG_FDDI is not set 927# CONFIG_FDDI is not set
901# CONFIG_HIPPI is not set 928# CONFIG_HIPPI is not set
@@ -928,7 +955,7 @@ CONFIG_NET_POLL_CONTROLLER=y
928# Input device support 955# Input device support
929# 956#
930CONFIG_INPUT=y 957CONFIG_INPUT=y
931# CONFIG_INPUT_FF_MEMLESS is not set 958CONFIG_INPUT_FF_MEMLESS=m
932# CONFIG_INPUT_POLLDEV is not set 959# CONFIG_INPUT_POLLDEV is not set
933 960
934# 961#
@@ -962,6 +989,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
962# Character devices 989# Character devices
963# 990#
964CONFIG_VT=y 991CONFIG_VT=y
992CONFIG_CONSOLE_TRANSLATIONS=y
965CONFIG_VT_CONSOLE=y 993CONFIG_VT_CONSOLE=y
966CONFIG_HW_CONSOLE=y 994CONFIG_HW_CONSOLE=y
967# CONFIG_VT_HW_CONSOLE_BINDING is not set 995# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -1000,43 +1028,64 @@ CONFIG_DEVPORT=y
1000CONFIG_I2C=y 1028CONFIG_I2C=y
1001CONFIG_I2C_BOARDINFO=y 1029CONFIG_I2C_BOARDINFO=y
1002CONFIG_I2C_CHARDEV=y 1030CONFIG_I2C_CHARDEV=y
1031CONFIG_I2C_HELPER_AUTO=y
1003 1032
1004# 1033#
1005# I2C Hardware Bus support 1034# I2C Hardware Bus support
1006# 1035#
1036
1037#
1038# PC SMBus host controller drivers
1039#
1007# CONFIG_I2C_ALI1535 is not set 1040# CONFIG_I2C_ALI1535 is not set
1008# CONFIG_I2C_ALI1563 is not set 1041# CONFIG_I2C_ALI1563 is not set
1009# CONFIG_I2C_ALI15X3 is not set 1042# CONFIG_I2C_ALI15X3 is not set
1010# CONFIG_I2C_AMD756 is not set 1043# CONFIG_I2C_AMD756 is not set
1011# CONFIG_I2C_AMD8111 is not set 1044# CONFIG_I2C_AMD8111 is not set
1012# CONFIG_I2C_I801 is not set 1045# CONFIG_I2C_I801 is not set
1013# CONFIG_I2C_I810 is not set 1046# CONFIG_I2C_ISCH is not set
1014# CONFIG_I2C_PIIX4 is not set 1047# CONFIG_I2C_PIIX4 is not set
1015CONFIG_I2C_MPC=y
1016# CONFIG_I2C_NFORCE2 is not set 1048# CONFIG_I2C_NFORCE2 is not set
1017# CONFIG_I2C_OCORES is not set
1018# CONFIG_I2C_PARPORT_LIGHT is not set
1019# CONFIG_I2C_PROSAVAGE is not set
1020# CONFIG_I2C_SAVAGE4 is not set
1021# CONFIG_I2C_SIMTEC is not set
1022# CONFIG_I2C_SIS5595 is not set 1049# CONFIG_I2C_SIS5595 is not set
1023# CONFIG_I2C_SIS630 is not set 1050# CONFIG_I2C_SIS630 is not set
1024# CONFIG_I2C_SIS96X is not set 1051# CONFIG_I2C_SIS96X is not set
1025# CONFIG_I2C_TAOS_EVM is not set
1026# CONFIG_I2C_STUB is not set
1027# CONFIG_I2C_TINY_USB is not set
1028# CONFIG_I2C_VIA is not set 1052# CONFIG_I2C_VIA is not set
1029# CONFIG_I2C_VIAPRO is not set 1053# CONFIG_I2C_VIAPRO is not set
1054
1055#
1056# I2C system bus drivers (mostly embedded / system-on-chip)
1057#
1058CONFIG_I2C_MPC=y
1059# CONFIG_I2C_OCORES is not set
1060# CONFIG_I2C_SIMTEC is not set
1061
1062#
1063# External I2C/SMBus adapter drivers
1064#
1065# CONFIG_I2C_PARPORT_LIGHT is not set
1066# CONFIG_I2C_TAOS_EVM is not set
1067# CONFIG_I2C_TINY_USB is not set
1068
1069#
1070# Graphics adapter I2C/DDC channel drivers
1071#
1030# CONFIG_I2C_VOODOO3 is not set 1072# CONFIG_I2C_VOODOO3 is not set
1073
1074#
1075# Other I2C/SMBus bus drivers
1076#
1031# CONFIG_I2C_PCA_PLATFORM is not set 1077# CONFIG_I2C_PCA_PLATFORM is not set
1078# CONFIG_I2C_STUB is not set
1032 1079
1033# 1080#
1034# Miscellaneous I2C Chip support 1081# Miscellaneous I2C Chip support
1035# 1082#
1036CONFIG_DS1682=y 1083CONFIG_DS1682=y
1084# CONFIG_AT24 is not set
1037# CONFIG_SENSORS_EEPROM is not set 1085# CONFIG_SENSORS_EEPROM is not set
1038# CONFIG_SENSORS_PCF8574 is not set 1086# CONFIG_SENSORS_PCF8574 is not set
1039# CONFIG_PCF8575 is not set 1087# CONFIG_PCF8575 is not set
1088# CONFIG_SENSORS_PCA9539 is not set
1040# CONFIG_SENSORS_PCF8591 is not set 1089# CONFIG_SENSORS_PCF8591 is not set
1041# CONFIG_SENSORS_MAX6875 is not set 1090# CONFIG_SENSORS_MAX6875 is not set
1042# CONFIG_SENSORS_TSL2550 is not set 1091# CONFIG_SENSORS_TSL2550 is not set
@@ -1045,10 +1094,13 @@ CONFIG_DS1682=y
1045# CONFIG_I2C_DEBUG_BUS is not set 1094# CONFIG_I2C_DEBUG_BUS is not set
1046# CONFIG_I2C_DEBUG_CHIP is not set 1095# CONFIG_I2C_DEBUG_CHIP is not set
1047# CONFIG_SPI is not set 1096# CONFIG_SPI is not set
1097CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
1098# CONFIG_GPIOLIB is not set
1048# CONFIG_W1 is not set 1099# CONFIG_W1 is not set
1049# CONFIG_POWER_SUPPLY is not set 1100# CONFIG_POWER_SUPPLY is not set
1050CONFIG_HWMON=y 1101CONFIG_HWMON=y
1051# CONFIG_HWMON_VID is not set 1102# CONFIG_HWMON_VID is not set
1103# CONFIG_SENSORS_AD7414 is not set
1052# CONFIG_SENSORS_AD7418 is not set 1104# CONFIG_SENSORS_AD7418 is not set
1053# CONFIG_SENSORS_ADM1021 is not set 1105# CONFIG_SENSORS_ADM1021 is not set
1054# CONFIG_SENSORS_ADM1025 is not set 1106# CONFIG_SENSORS_ADM1025 is not set
@@ -1102,6 +1154,7 @@ CONFIG_SENSORS_LM92=y
1102# CONFIG_SENSORS_W83627EHF is not set 1154# CONFIG_SENSORS_W83627EHF is not set
1103# CONFIG_HWMON_DEBUG_CHIP is not set 1155# CONFIG_HWMON_DEBUG_CHIP is not set
1104# CONFIG_THERMAL is not set 1156# CONFIG_THERMAL is not set
1157# CONFIG_THERMAL_HWMON is not set
1105CONFIG_WATCHDOG=y 1158CONFIG_WATCHDOG=y
1106# CONFIG_WATCHDOG_NOWAYOUT is not set 1159# CONFIG_WATCHDOG_NOWAYOUT is not set
1107 1160
@@ -1109,6 +1162,8 @@ CONFIG_WATCHDOG=y
1109# Watchdog Device Drivers 1162# Watchdog Device Drivers
1110# 1163#
1111# CONFIG_SOFT_WATCHDOG is not set 1164# CONFIG_SOFT_WATCHDOG is not set
1165# CONFIG_ALIM7101_WDT is not set
1166# CONFIG_8xxx_WDT is not set
1112 1167
1113# 1168#
1114# PCI-based Watchdog Cards 1169# PCI-based Watchdog Cards
@@ -1130,8 +1185,21 @@ CONFIG_SSB_POSSIBLE=y
1130# 1185#
1131# Multifunction device drivers 1186# Multifunction device drivers
1132# 1187#
1188# CONFIG_MFD_CORE is not set
1133# CONFIG_MFD_SM501 is not set 1189# CONFIG_MFD_SM501 is not set
1134# CONFIG_HTC_PASIC3 is not set 1190# CONFIG_HTC_PASIC3 is not set
1191# CONFIG_MFD_TMIO is not set
1192# CONFIG_PMIC_DA903X is not set
1193# CONFIG_MFD_WM8400 is not set
1194# CONFIG_MFD_WM8350_I2C is not set
1195
1196#
1197# Voltage and Current regulators
1198#
1199# CONFIG_REGULATOR is not set
1200# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1201# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1202# CONFIG_REGULATOR_BQ24022 is not set
1135 1203
1136# 1204#
1137# Multimedia devices 1205# Multimedia devices
@@ -1171,10 +1239,6 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1171CONFIG_VGA_CONSOLE=y 1239CONFIG_VGA_CONSOLE=y
1172# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1240# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1173CONFIG_DUMMY_CONSOLE=y 1241CONFIG_DUMMY_CONSOLE=y
1174
1175#
1176# Sound
1177#
1178# CONFIG_SOUND is not set 1242# CONFIG_SOUND is not set
1179CONFIG_HID_SUPPORT=y 1243CONFIG_HID_SUPPORT=y
1180CONFIG_HID=y 1244CONFIG_HID=y
@@ -1185,9 +1249,36 @@ CONFIG_HID=y
1185# USB Input Devices 1249# USB Input Devices
1186# 1250#
1187CONFIG_USB_HID=y 1251CONFIG_USB_HID=y
1188# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1252# CONFIG_HID_PID is not set
1189# CONFIG_HID_FF is not set
1190# CONFIG_USB_HIDDEV is not set 1253# CONFIG_USB_HIDDEV is not set
1254
1255#
1256# Special HID drivers
1257#
1258CONFIG_HID_COMPAT=y
1259CONFIG_HID_A4TECH=y
1260CONFIG_HID_APPLE=y
1261CONFIG_HID_BELKIN=y
1262CONFIG_HID_BRIGHT=y
1263CONFIG_HID_CHERRY=y
1264CONFIG_HID_CHICONY=y
1265CONFIG_HID_CYPRESS=y
1266CONFIG_HID_DELL=y
1267CONFIG_HID_EZKEY=y
1268CONFIG_HID_GYRATION=y
1269CONFIG_HID_LOGITECH=y
1270# CONFIG_LOGITECH_FF is not set
1271# CONFIG_LOGIRUMBLEPAD2_FF is not set
1272CONFIG_HID_MICROSOFT=y
1273CONFIG_HID_MONTEREY=y
1274CONFIG_HID_PANTHERLORD=y
1275# CONFIG_PANTHERLORD_FF is not set
1276CONFIG_HID_PETALYNX=y
1277CONFIG_HID_SAMSUNG=y
1278CONFIG_HID_SONY=y
1279CONFIG_HID_SUNPLUS=y
1280CONFIG_THRUSTMASTER_FF=m
1281CONFIG_ZEROPLUS_FF=m
1191CONFIG_USB_SUPPORT=y 1282CONFIG_USB_SUPPORT=y
1192CONFIG_USB_ARCH_HAS_HCD=y 1283CONFIG_USB_ARCH_HAS_HCD=y
1193CONFIG_USB_ARCH_HAS_OHCI=y 1284CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1205,6 +1296,9 @@ CONFIG_USB=y
1205# CONFIG_USB_OTG is not set 1296# CONFIG_USB_OTG is not set
1206# CONFIG_USB_OTG_WHITELIST is not set 1297# CONFIG_USB_OTG_WHITELIST is not set
1207# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1298# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1299# CONFIG_USB_MON is not set
1300# CONFIG_USB_WUSB is not set
1301# CONFIG_USB_WUSB_CBAF is not set
1208 1302
1209# 1303#
1210# USB Host Controller Drivers 1304# USB Host Controller Drivers
@@ -1225,6 +1319,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1225# CONFIG_USB_UHCI_HCD is not set 1319# CONFIG_USB_UHCI_HCD is not set
1226# CONFIG_USB_SL811_HCD is not set 1320# CONFIG_USB_SL811_HCD is not set
1227# CONFIG_USB_R8A66597_HCD is not set 1321# CONFIG_USB_R8A66597_HCD is not set
1322# CONFIG_USB_WHCI_HCD is not set
1323# CONFIG_USB_HWA_HCD is not set
1228 1324
1229# 1325#
1230# USB Device Class drivers 1326# USB Device Class drivers
@@ -1232,6 +1328,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1232# CONFIG_USB_ACM is not set 1328# CONFIG_USB_ACM is not set
1233# CONFIG_USB_PRINTER is not set 1329# CONFIG_USB_PRINTER is not set
1234# CONFIG_USB_WDM is not set 1330# CONFIG_USB_WDM is not set
1331# CONFIG_USB_TMC is not set
1235 1332
1236# 1333#
1237# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1334# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1261,7 +1358,6 @@ CONFIG_USB_STORAGE=y
1261# 1358#
1262# CONFIG_USB_MDC800 is not set 1359# CONFIG_USB_MDC800 is not set
1263# CONFIG_USB_MICROTEK is not set 1360# CONFIG_USB_MICROTEK is not set
1264# CONFIG_USB_MON is not set
1265 1361
1266# 1362#
1267# USB port drivers 1363# USB port drivers
@@ -1274,7 +1370,7 @@ CONFIG_USB_STORAGE=y
1274# CONFIG_USB_EMI62 is not set 1370# CONFIG_USB_EMI62 is not set
1275# CONFIG_USB_EMI26 is not set 1371# CONFIG_USB_EMI26 is not set
1276# CONFIG_USB_ADUTUX is not set 1372# CONFIG_USB_ADUTUX is not set
1277# CONFIG_USB_AUERSWALD is not set 1373# CONFIG_USB_SEVSEG is not set
1278# CONFIG_USB_RIO500 is not set 1374# CONFIG_USB_RIO500 is not set
1279# CONFIG_USB_LEGOTOWER is not set 1375# CONFIG_USB_LEGOTOWER is not set
1280# CONFIG_USB_LCD is not set 1376# CONFIG_USB_LCD is not set
@@ -1291,8 +1387,10 @@ CONFIG_USB_STORAGE=y
1291# CONFIG_USB_TRANCEVIBRATOR is not set 1387# CONFIG_USB_TRANCEVIBRATOR is not set
1292# CONFIG_USB_IOWARRIOR is not set 1388# CONFIG_USB_IOWARRIOR is not set
1293# CONFIG_USB_ISIGHTFW is not set 1389# CONFIG_USB_ISIGHTFW is not set
1390# CONFIG_USB_VST is not set
1294# CONFIG_USB_ATM is not set 1391# CONFIG_USB_ATM is not set
1295# CONFIG_USB_GADGET is not set 1392# CONFIG_USB_GADGET is not set
1393# CONFIG_UWB is not set
1296# CONFIG_MMC is not set 1394# CONFIG_MMC is not set
1297# CONFIG_MEMSTICK is not set 1395# CONFIG_MEMSTICK is not set
1298# CONFIG_NEW_LEDS is not set 1396# CONFIG_NEW_LEDS is not set
@@ -1325,6 +1423,7 @@ CONFIG_RTC_INTF_DEV=y
1325# CONFIG_RTC_DRV_PCF8583 is not set 1423# CONFIG_RTC_DRV_PCF8583 is not set
1326# CONFIG_RTC_DRV_M41T80 is not set 1424# CONFIG_RTC_DRV_M41T80 is not set
1327# CONFIG_RTC_DRV_S35390A is not set 1425# CONFIG_RTC_DRV_S35390A is not set
1426# CONFIG_RTC_DRV_FM3130 is not set
1328 1427
1329# 1428#
1330# SPI RTC drivers 1429# SPI RTC drivers
@@ -1334,12 +1433,15 @@ CONFIG_RTC_INTF_DEV=y
1334# Platform RTC drivers 1433# Platform RTC drivers
1335# 1434#
1336# CONFIG_RTC_DRV_CMOS is not set 1435# CONFIG_RTC_DRV_CMOS is not set
1436# CONFIG_RTC_DRV_DS1286 is not set
1337# CONFIG_RTC_DRV_DS1511 is not set 1437# CONFIG_RTC_DRV_DS1511 is not set
1338# CONFIG_RTC_DRV_DS1553 is not set 1438# CONFIG_RTC_DRV_DS1553 is not set
1339# CONFIG_RTC_DRV_DS1742 is not set 1439# CONFIG_RTC_DRV_DS1742 is not set
1340# CONFIG_RTC_DRV_STK17TA8 is not set 1440# CONFIG_RTC_DRV_STK17TA8 is not set
1341# CONFIG_RTC_DRV_M48T86 is not set 1441# CONFIG_RTC_DRV_M48T86 is not set
1442# CONFIG_RTC_DRV_M48T35 is not set
1342# CONFIG_RTC_DRV_M48T59 is not set 1443# CONFIG_RTC_DRV_M48T59 is not set
1444# CONFIG_RTC_DRV_BQ4802 is not set
1343# CONFIG_RTC_DRV_V3020 is not set 1445# CONFIG_RTC_DRV_V3020 is not set
1344 1446
1345# 1447#
@@ -1348,6 +1450,7 @@ CONFIG_RTC_INTF_DEV=y
1348# CONFIG_RTC_DRV_PPC is not set 1450# CONFIG_RTC_DRV_PPC is not set
1349# CONFIG_DMADEVICES is not set 1451# CONFIG_DMADEVICES is not set
1350# CONFIG_UIO is not set 1452# CONFIG_UIO is not set
1453# CONFIG_STAGING is not set
1351 1454
1352# 1455#
1353# File systems 1456# File systems
@@ -1361,12 +1464,13 @@ CONFIG_EXT3_FS=y
1361CONFIG_EXT3_FS_XATTR=y 1464CONFIG_EXT3_FS_XATTR=y
1362CONFIG_EXT3_FS_POSIX_ACL=y 1465CONFIG_EXT3_FS_POSIX_ACL=y
1363# CONFIG_EXT3_FS_SECURITY is not set 1466# CONFIG_EXT3_FS_SECURITY is not set
1364# CONFIG_EXT4DEV_FS is not set 1467# CONFIG_EXT4_FS is not set
1365CONFIG_JBD=y 1468CONFIG_JBD=y
1366CONFIG_FS_MBCACHE=y 1469CONFIG_FS_MBCACHE=y
1367# CONFIG_REISERFS_FS is not set 1470# CONFIG_REISERFS_FS is not set
1368# CONFIG_JFS_FS is not set 1471# CONFIG_JFS_FS is not set
1369CONFIG_FS_POSIX_ACL=y 1472CONFIG_FS_POSIX_ACL=y
1473CONFIG_FILE_LOCKING=y
1370# CONFIG_XFS_FS is not set 1474# CONFIG_XFS_FS is not set
1371# CONFIG_OCFS2_FS is not set 1475# CONFIG_OCFS2_FS is not set
1372CONFIG_DNOTIFY=y 1476CONFIG_DNOTIFY=y
@@ -1399,6 +1503,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1399CONFIG_PROC_FS=y 1503CONFIG_PROC_FS=y
1400CONFIG_PROC_KCORE=y 1504CONFIG_PROC_KCORE=y
1401CONFIG_PROC_SYSCTL=y 1505CONFIG_PROC_SYSCTL=y
1506CONFIG_PROC_PAGE_MONITOR=y
1402CONFIG_SYSFS=y 1507CONFIG_SYSFS=y
1403CONFIG_TMPFS=y 1508CONFIG_TMPFS=y
1404# CONFIG_TMPFS_POSIX_ACL is not set 1509# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1419,6 +1524,7 @@ CONFIG_TMPFS=y
1419# CONFIG_CRAMFS is not set 1524# CONFIG_CRAMFS is not set
1420# CONFIG_VXFS_FS is not set 1525# CONFIG_VXFS_FS is not set
1421# CONFIG_MINIX_FS is not set 1526# CONFIG_MINIX_FS is not set
1527# CONFIG_OMFS_FS is not set
1422# CONFIG_HPFS_FS is not set 1528# CONFIG_HPFS_FS is not set
1423# CONFIG_QNX4FS_FS is not set 1529# CONFIG_QNX4FS_FS is not set
1424# CONFIG_ROMFS_FS is not set 1530# CONFIG_ROMFS_FS is not set
@@ -1429,14 +1535,14 @@ CONFIG_NFS_FS=y
1429CONFIG_NFS_V3=y 1535CONFIG_NFS_V3=y
1430# CONFIG_NFS_V3_ACL is not set 1536# CONFIG_NFS_V3_ACL is not set
1431CONFIG_NFS_V4=y 1537CONFIG_NFS_V4=y
1432# CONFIG_NFSD is not set
1433CONFIG_ROOT_NFS=y 1538CONFIG_ROOT_NFS=y
1539# CONFIG_NFSD is not set
1434CONFIG_LOCKD=y 1540CONFIG_LOCKD=y
1435CONFIG_LOCKD_V4=y 1541CONFIG_LOCKD_V4=y
1436CONFIG_NFS_COMMON=y 1542CONFIG_NFS_COMMON=y
1437CONFIG_SUNRPC=y 1543CONFIG_SUNRPC=y
1438CONFIG_SUNRPC_GSS=y 1544CONFIG_SUNRPC_GSS=y
1439# CONFIG_SUNRPC_BIND34 is not set 1545# CONFIG_SUNRPC_REGISTER_V4 is not set
1440CONFIG_RPCSEC_GSS_KRB5=y 1546CONFIG_RPCSEC_GSS_KRB5=y
1441# CONFIG_RPCSEC_GSS_SPKM3 is not set 1547# CONFIG_RPCSEC_GSS_SPKM3 is not set
1442# CONFIG_SMB_FS is not set 1548# CONFIG_SMB_FS is not set
@@ -1502,9 +1608,9 @@ CONFIG_NLS_UTF8=m
1502# Library routines 1608# Library routines
1503# 1609#
1504CONFIG_BITREVERSE=y 1610CONFIG_BITREVERSE=y
1505# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1506CONFIG_CRC_CCITT=m 1611CONFIG_CRC_CCITT=m
1507# CONFIG_CRC16 is not set 1612# CONFIG_CRC16 is not set
1613# CONFIG_CRC_T10DIF is not set
1508# CONFIG_CRC_ITU_T is not set 1614# CONFIG_CRC_ITU_T is not set
1509CONFIG_CRC32=y 1615CONFIG_CRC32=y
1510# CONFIG_CRC7 is not set 1616# CONFIG_CRC7 is not set
@@ -1531,6 +1637,8 @@ CONFIG_MAGIC_SYSRQ=y
1531CONFIG_DEBUG_KERNEL=y 1637CONFIG_DEBUG_KERNEL=y
1532# CONFIG_DEBUG_SHIRQ is not set 1638# CONFIG_DEBUG_SHIRQ is not set
1533CONFIG_DETECT_SOFTLOCKUP=y 1639CONFIG_DETECT_SOFTLOCKUP=y
1640# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1641CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1534CONFIG_SCHED_DEBUG=y 1642CONFIG_SCHED_DEBUG=y
1535# CONFIG_SCHEDSTATS is not set 1643# CONFIG_SCHEDSTATS is not set
1536# CONFIG_TIMER_STATS is not set 1644# CONFIG_TIMER_STATS is not set
@@ -1547,20 +1655,42 @@ CONFIG_SCHED_DEBUG=y
1547CONFIG_DEBUG_INFO=y 1655CONFIG_DEBUG_INFO=y
1548# CONFIG_DEBUG_VM is not set 1656# CONFIG_DEBUG_VM is not set
1549# CONFIG_DEBUG_WRITECOUNT is not set 1657# CONFIG_DEBUG_WRITECOUNT is not set
1658# CONFIG_DEBUG_MEMORY_INIT is not set
1550# CONFIG_DEBUG_LIST is not set 1659# CONFIG_DEBUG_LIST is not set
1551# CONFIG_DEBUG_SG is not set 1660# CONFIG_DEBUG_SG is not set
1552# CONFIG_BOOT_PRINTK_DELAY is not set 1661# CONFIG_BOOT_PRINTK_DELAY is not set
1553# CONFIG_RCU_TORTURE_TEST is not set 1662# CONFIG_RCU_TORTURE_TEST is not set
1663# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1554# CONFIG_BACKTRACE_SELF_TEST is not set 1664# CONFIG_BACKTRACE_SELF_TEST is not set
1665# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1555# CONFIG_FAULT_INJECTION is not set 1666# CONFIG_FAULT_INJECTION is not set
1667# CONFIG_LATENCYTOP is not set
1668CONFIG_SYSCTL_SYSCALL_CHECK=y
1669CONFIG_HAVE_FUNCTION_TRACER=y
1670
1671#
1672# Tracers
1673#
1674# CONFIG_FUNCTION_TRACER is not set
1675# CONFIG_PREEMPT_TRACER is not set
1676# CONFIG_SCHED_TRACER is not set
1677# CONFIG_CONTEXT_SWITCH_TRACER is not set
1678# CONFIG_BOOT_TRACER is not set
1679# CONFIG_STACK_TRACER is not set
1680# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1556# CONFIG_SAMPLES is not set 1681# CONFIG_SAMPLES is not set
1682CONFIG_HAVE_ARCH_KGDB=y
1683# CONFIG_KGDB is not set
1557# CONFIG_DEBUG_STACKOVERFLOW is not set 1684# CONFIG_DEBUG_STACKOVERFLOW is not set
1558# CONFIG_DEBUG_STACK_USAGE is not set 1685# CONFIG_DEBUG_STACK_USAGE is not set
1559# CONFIG_DEBUG_PAGEALLOC is not set 1686# CONFIG_DEBUG_PAGEALLOC is not set
1560CONFIG_DEBUGGER=y 1687# CONFIG_CODE_PATCHING_SELFTEST is not set
1688# CONFIG_FTR_FIXUP_SELFTEST is not set
1689# CONFIG_MSI_BITMAP_SELFTEST is not set
1561# CONFIG_XMON is not set 1690# CONFIG_XMON is not set
1562# CONFIG_IRQSTACKS is not set 1691# CONFIG_IRQSTACKS is not set
1563# CONFIG_BDI_SWITCH is not set 1692# CONFIG_BDI_SWITCH is not set
1693# CONFIG_BOOTX_TEXT is not set
1564# CONFIG_PPC_EARLY_DEBUG is not set 1694# CONFIG_PPC_EARLY_DEBUG is not set
1565 1695
1566# 1696#
@@ -1568,9 +1698,9 @@ CONFIG_DEBUGGER=y
1568# 1698#
1569# CONFIG_KEYS is not set 1699# CONFIG_KEYS is not set
1570CONFIG_SECURITY=y 1700CONFIG_SECURITY=y
1701# CONFIG_SECURITYFS is not set
1571CONFIG_SECURITY_NETWORK=y 1702CONFIG_SECURITY_NETWORK=y
1572# CONFIG_SECURITY_NETWORK_XFRM is not set 1703# CONFIG_SECURITY_NETWORK_XFRM is not set
1573CONFIG_SECURITY_CAPABILITIES=y
1574# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1704# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1575# CONFIG_SECURITY_ROOTPLUG is not set 1705# CONFIG_SECURITY_ROOTPLUG is not set
1576CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 1706CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
@@ -1579,10 +1709,12 @@ CONFIG_CRYPTO=y
1579# 1709#
1580# Crypto core or helper 1710# Crypto core or helper
1581# 1711#
1712# CONFIG_CRYPTO_FIPS is not set
1582CONFIG_CRYPTO_ALGAPI=y 1713CONFIG_CRYPTO_ALGAPI=y
1583CONFIG_CRYPTO_AEAD=m 1714CONFIG_CRYPTO_AEAD=y
1584CONFIG_CRYPTO_BLKCIPHER=y 1715CONFIG_CRYPTO_BLKCIPHER=y
1585CONFIG_CRYPTO_HASH=y 1716CONFIG_CRYPTO_HASH=y
1717CONFIG_CRYPTO_RNG=y
1586CONFIG_CRYPTO_MANAGER=y 1718CONFIG_CRYPTO_MANAGER=y
1587# CONFIG_CRYPTO_GF128MUL is not set 1719# CONFIG_CRYPTO_GF128MUL is not set
1588CONFIG_CRYPTO_NULL=m 1720CONFIG_CRYPTO_NULL=m
@@ -1621,6 +1753,10 @@ CONFIG_CRYPTO_CRC32C=m
1621CONFIG_CRYPTO_MD4=m 1753CONFIG_CRYPTO_MD4=m
1622CONFIG_CRYPTO_MD5=y 1754CONFIG_CRYPTO_MD5=y
1623CONFIG_CRYPTO_MICHAEL_MIC=m 1755CONFIG_CRYPTO_MICHAEL_MIC=m
1756# CONFIG_CRYPTO_RMD128 is not set
1757# CONFIG_CRYPTO_RMD160 is not set
1758# CONFIG_CRYPTO_RMD256 is not set
1759# CONFIG_CRYPTO_RMD320 is not set
1624CONFIG_CRYPTO_SHA1=m 1760CONFIG_CRYPTO_SHA1=m
1625CONFIG_CRYPTO_SHA256=m 1761CONFIG_CRYPTO_SHA256=m
1626CONFIG_CRYPTO_SHA512=m 1762CONFIG_CRYPTO_SHA512=m
@@ -1652,6 +1788,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1652# 1788#
1653CONFIG_CRYPTO_DEFLATE=m 1789CONFIG_CRYPTO_DEFLATE=m
1654# CONFIG_CRYPTO_LZO is not set 1790# CONFIG_CRYPTO_LZO is not set
1791
1792#
1793# Random Number Generation
1794#
1795# CONFIG_CRYPTO_ANSI_CPRNG is not set
1655# CONFIG_CRYPTO_HW is not set 1796# CONFIG_CRYPTO_HW is not set
1656# CONFIG_PPC_CLOCK is not set 1797# CONFIG_PPC_CLOCK is not set
1657# CONFIG_VIRTUALIZATION is not set 1798# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
index c98c6ee44492..72854a10dfa1 100644
--- a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/86xx/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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:10 2008 4# Sat Nov 8 12:40:28 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_PHYS_64BIT is not set
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
@@ -22,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 23# CONFIG_SMP is not set
23CONFIG_PPC32=y 24CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 27CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -52,8 +53,6 @@ CONFIG_PPC_UDBG_16550=y
52CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
53CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
54CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
55CONFIG_HIBERNATE_32=y
56CONFIG_ARCH_HIBERNATION_POSSIBLE=y
57# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
58# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -99,7 +98,6 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 98CONFIG_PRINTK=y
100CONFIG_BUG=y 99CONFIG_BUG=y
101# CONFIG_ELF_CORE is not set 100# CONFIG_ELF_CORE is not set
102CONFIG_PCSPKR_PLATFORM=y
103CONFIG_COMPAT_BRK=y 101CONFIG_COMPAT_BRK=y
104CONFIG_BASE_FULL=y 102CONFIG_BASE_FULL=y
105CONFIG_FUTEX=y 103CONFIG_FUTEX=y
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
115CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_DEADLINE=y
159# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="deadline" 156CONFIG_DEFAULT_IOSCHED="deadline"
161CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
162 159
163# 160#
164# Platform support 161# Platform support
@@ -166,10 +163,10 @@ CONFIG_CLASSIC_RCU=y
166CONFIG_PPC_MULTIPLATFORM=y 163CONFIG_PPC_MULTIPLATFORM=y
167CONFIG_CLASSIC32=y 164CONFIG_CLASSIC32=y
168# CONFIG_PPC_CHRP is not set 165# CONFIG_PPC_CHRP is not set
169# CONFIG_PPC_PMAC is not set
170# CONFIG_MPC5121_ADS is not set 166# CONFIG_MPC5121_ADS is not set
171# CONFIG_MPC5121_GENERIC is not set 167# CONFIG_MPC5121_GENERIC is not set
172# CONFIG_PPC_MPC52xx is not set 168# CONFIG_PPC_MPC52xx is not set
169# CONFIG_PPC_PMAC is not set
173# CONFIG_PPC_CELL is not set 170# CONFIG_PPC_CELL is not set
174# CONFIG_PPC_CELL_NATIVE is not set 171# CONFIG_PPC_CELL_NATIVE is not set
175# CONFIG_PPC_82xx is not set 172# CONFIG_PPC_82xx is not set
@@ -179,26 +176,24 @@ CONFIG_PPC_86xx=y
179# CONFIG_MPC8641_HPCN is not set 176# CONFIG_MPC8641_HPCN is not set
180# CONFIG_SBC8641D is not set 177# CONFIG_SBC8641D is not set
181CONFIG_MPC8610_HPCD=y 178CONFIG_MPC8610_HPCD=y
179# CONFIG_GEF_SBC610 is not set
182CONFIG_MPC8610=y 180CONFIG_MPC8610=y
183# CONFIG_EMBEDDED6xx is not set 181# CONFIG_EMBEDDED6xx is not set
184CONFIG_PPC_NATIVE=y
185# CONFIG_UDBG_RTAS_CONSOLE is not set
186# CONFIG_IPIC is not set 182# CONFIG_IPIC is not set
187CONFIG_MPIC=y 183CONFIG_MPIC=y
188# CONFIG_MPIC_WEIRD is not set 184# CONFIG_MPIC_WEIRD is not set
189CONFIG_PPC_I8259=y 185# CONFIG_PPC_I8259 is not set
190CONFIG_PPC_RTAS=y 186# CONFIG_PPC_RTAS is not set
191# CONFIG_RTAS_ERROR_LOGGING is not set
192CONFIG_RTAS_PROC=y
193# CONFIG_MMIO_NVRAM is not set 187# CONFIG_MMIO_NVRAM is not set
194CONFIG_PPC_MPC106=y 188# CONFIG_PPC_MPC106 is not set
195# CONFIG_PPC_970_NAP is not set 189# CONFIG_PPC_970_NAP is not set
196# CONFIG_PPC_INDIRECT_IO is not set 190# CONFIG_PPC_INDIRECT_IO is not set
197# CONFIG_GENERIC_IOMAP is not set 191# CONFIG_GENERIC_IOMAP is not set
198# CONFIG_CPU_FREQ is not set 192# CONFIG_CPU_FREQ is not set
199# CONFIG_PPC601_SYNC_FIX is not set
200# CONFIG_TAU is not set 193# CONFIG_TAU is not set
194# CONFIG_QUICC_ENGINE is not set
201CONFIG_FSL_ULI1575=y 195CONFIG_FSL_ULI1575=y
196# CONFIG_MPC8xxx_GPIO is not set
202 197
203# 198#
204# Kernel options 199# Kernel options
@@ -218,6 +213,8 @@ CONFIG_PREEMPT_NONE=y
218# CONFIG_PREEMPT_VOLUNTARY is not set 213# CONFIG_PREEMPT_VOLUNTARY is not set
219# CONFIG_PREEMPT is not set 214# CONFIG_PREEMPT is not set
220CONFIG_BINFMT_ELF=y 215CONFIG_BINFMT_ELF=y
216# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
217# CONFIG_HAVE_AOUT is not set
221# CONFIG_BINFMT_MISC is not set 218# CONFIG_BINFMT_MISC is not set
222# CONFIG_IOMMU_HELPER is not set 219# CONFIG_IOMMU_HELPER is not set
223CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 220CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -232,15 +229,15 @@ CONFIG_FLATMEM_MANUAL=y
232# CONFIG_SPARSEMEM_MANUAL is not set 229# CONFIG_SPARSEMEM_MANUAL is not set
233CONFIG_FLATMEM=y 230CONFIG_FLATMEM=y
234CONFIG_FLAT_NODE_MEM_MAP=y 231CONFIG_FLAT_NODE_MEM_MAP=y
235# CONFIG_SPARSEMEM_STATIC is not set
236# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
237CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
238CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
239CONFIG_MIGRATION=y 234CONFIG_MIGRATION=y
240# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
236# CONFIG_PHYS_ADDR_T_64BIT is not set
241CONFIG_ZONE_DMA_FLAG=1 237CONFIG_ZONE_DMA_FLAG=1
242CONFIG_BOUNCE=y 238CONFIG_BOUNCE=y
243CONFIG_VIRT_TO_BUS=y 239CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y
244CONFIG_FORCE_MAX_ZONEORDER=12 241CONFIG_FORCE_MAX_ZONEORDER=12
245CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
246# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
@@ -252,7 +249,6 @@ CONFIG_ISA_DMA_API=y
252# 249#
253# Bus options 250# Bus options
254# 251#
255# CONFIG_ISA is not set
256CONFIG_ZONE_DMA=y 252CONFIG_ZONE_DMA=y
257CONFIG_GENERIC_ISA_DMA=y 253CONFIG_GENERIC_ISA_DMA=y
258CONFIG_PPC_INDIRECT_PCI=y 254CONFIG_PPC_INDIRECT_PCI=y
@@ -267,7 +263,7 @@ CONFIG_PCIEAER=y
267# CONFIG_PCIEASPM is not set 263# CONFIG_PCIEASPM is not set
268CONFIG_ARCH_SUPPORTS_MSI=y 264CONFIG_ARCH_SUPPORTS_MSI=y
269# CONFIG_PCI_MSI is not set 265# CONFIG_PCI_MSI is not set
270CONFIG_PCI_LEGACY=y 266# CONFIG_PCI_LEGACY is not set
271CONFIG_PCI_DEBUG=y 267CONFIG_PCI_DEBUG=y
272# CONFIG_PCCARD is not set 268# CONFIG_PCCARD is not set
273# CONFIG_HOTPLUG_PCI is not set 269# CONFIG_HOTPLUG_PCI is not set
@@ -353,6 +349,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
353# CONFIG_TIPC is not set 349# CONFIG_TIPC is not set
354# CONFIG_ATM is not set 350# CONFIG_ATM is not set
355# CONFIG_BRIDGE is not set 351# CONFIG_BRIDGE is not set
352# CONFIG_NET_DSA is not set
356# CONFIG_VLAN_8021Q is not set 353# CONFIG_VLAN_8021Q is not set
357# CONFIG_DECNET is not set 354# CONFIG_DECNET is not set
358# CONFIG_LLC2 is not set 355# CONFIG_LLC2 is not set
@@ -373,11 +370,10 @@ CONFIG_IPV6_NDISC_NODETYPE=y
373# CONFIG_IRDA is not set 370# CONFIG_IRDA is not set
374# CONFIG_BT is not set 371# CONFIG_BT is not set
375# CONFIG_AF_RXRPC is not set 372# CONFIG_AF_RXRPC is not set
376 373# CONFIG_PHONET is not set
377# 374CONFIG_WIRELESS=y
378# Wireless
379#
380# CONFIG_CFG80211 is not set 375# CONFIG_CFG80211 is not set
376CONFIG_WIRELESS_OLD_REGULATORY=y
381# CONFIG_WIRELESS_EXT is not set 377# CONFIG_WIRELESS_EXT is not set
382# CONFIG_MAC80211 is not set 378# CONFIG_MAC80211 is not set
383# CONFIG_IEEE80211 is not set 379# CONFIG_IEEE80211 is not set
@@ -493,7 +489,6 @@ CONFIG_OF_I2C=y
493# CONFIG_PARPORT is not set 489# CONFIG_PARPORT is not set
494CONFIG_BLK_DEV=y 490CONFIG_BLK_DEV=y
495# CONFIG_BLK_DEV_FD is not set 491# CONFIG_BLK_DEV_FD is not set
496# CONFIG_MAC_FLOPPY is not set
497# CONFIG_BLK_CPQ_DA is not set 492# CONFIG_BLK_CPQ_DA is not set
498# CONFIG_BLK_CPQ_CISS_DA is not set 493# CONFIG_BLK_CPQ_CISS_DA is not set
499# CONFIG_BLK_DEV_DAC960 is not set 494# CONFIG_BLK_DEV_DAC960 is not set
@@ -519,7 +514,54 @@ CONFIG_MISC_DEVICES=y
519# CONFIG_HP_ILO is not set 514# CONFIG_HP_ILO is not set
520CONFIG_HAVE_IDE=y 515CONFIG_HAVE_IDE=y
521CONFIG_IDE=y 516CONFIG_IDE=y
522# CONFIG_BLK_DEV_IDE is not set 517
518#
519# Please see Documentation/ide/ide.txt for help/info on IDE drives
520#
521# CONFIG_BLK_DEV_IDE_SATA is not set
522CONFIG_IDE_GD=y
523CONFIG_IDE_GD_ATA=y
524# CONFIG_IDE_GD_ATAPI is not set
525# CONFIG_BLK_DEV_IDECD is not set
526# CONFIG_BLK_DEV_IDETAPE is not set
527# CONFIG_BLK_DEV_IDESCSI is not set
528# CONFIG_IDE_TASK_IOCTL is not set
529CONFIG_IDE_PROC_FS=y
530
531#
532# IDE chipset support/bugfixes
533#
534# CONFIG_BLK_DEV_PLATFORM is not set
535
536#
537# PCI IDE chipsets support
538#
539# CONFIG_BLK_DEV_GENERIC is not set
540# CONFIG_BLK_DEV_OPTI621 is not set
541# CONFIG_BLK_DEV_AEC62XX is not set
542# CONFIG_BLK_DEV_ALI15X3 is not set
543# CONFIG_BLK_DEV_AMD74XX is not set
544# CONFIG_BLK_DEV_CMD64X is not set
545# CONFIG_BLK_DEV_TRIFLEX is not set
546# CONFIG_BLK_DEV_CS5520 is not set
547# CONFIG_BLK_DEV_CS5530 is not set
548# CONFIG_BLK_DEV_HPT366 is not set
549# CONFIG_BLK_DEV_JMICRON is not set
550# CONFIG_BLK_DEV_SC1200 is not set
551# CONFIG_BLK_DEV_PIIX is not set
552# CONFIG_BLK_DEV_IT8213 is not set
553# CONFIG_BLK_DEV_IT821X is not set
554# CONFIG_BLK_DEV_NS87415 is not set
555# CONFIG_BLK_DEV_PDC202XX_OLD is not set
556# CONFIG_BLK_DEV_PDC202XX_NEW is not set
557# CONFIG_BLK_DEV_SVWKS is not set
558# CONFIG_BLK_DEV_SIIMAGE is not set
559# CONFIG_BLK_DEV_SL82C105 is not set
560# CONFIG_BLK_DEV_SLC90E66 is not set
561# CONFIG_BLK_DEV_TRM290 is not set
562# CONFIG_BLK_DEV_VIA82CXXX is not set
563# CONFIG_BLK_DEV_TC86C001 is not set
564# CONFIG_BLK_DEV_IDEDMA is not set
523 565
524# 566#
525# SCSI device support 567# SCSI device support
@@ -595,8 +637,6 @@ CONFIG_SCSI_LOWLEVEL=y
595# CONFIG_SCSI_DC390T is not set 637# CONFIG_SCSI_DC390T is not set
596# CONFIG_SCSI_NSP32 is not set 638# CONFIG_SCSI_NSP32 is not set
597# CONFIG_SCSI_DEBUG is not set 639# CONFIG_SCSI_DEBUG is not set
598# CONFIG_SCSI_MESH is not set
599# CONFIG_SCSI_MAC53C94 is not set
600# CONFIG_SCSI_SRP is not set 640# CONFIG_SCSI_SRP is not set
601# CONFIG_SCSI_DH is not set 641# CONFIG_SCSI_DH is not set
602CONFIG_ATA=y 642CONFIG_ATA=y
@@ -685,8 +725,6 @@ CONFIG_DUMMY=y
685# CONFIG_PHYLIB is not set 725# CONFIG_PHYLIB is not set
686CONFIG_NET_ETHERNET=y 726CONFIG_NET_ETHERNET=y
687# CONFIG_MII is not set 727# CONFIG_MII is not set
688# CONFIG_MACE is not set
689# CONFIG_BMAC is not set
690# CONFIG_HAPPYMEAL is not set 728# CONFIG_HAPPYMEAL is not set
691# CONFIG_SUNGEM is not set 729# CONFIG_SUNGEM is not set
692# CONFIG_CASSINI is not set 730# CONFIG_CASSINI is not set
@@ -703,8 +741,12 @@ CONFIG_ULI526X=y
703# CONFIG_IBM_NEW_EMAC_RGMII is not set 741# CONFIG_IBM_NEW_EMAC_RGMII is not set
704# CONFIG_IBM_NEW_EMAC_TAH is not set 742# CONFIG_IBM_NEW_EMAC_TAH is not set
705# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 743# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
744# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
745# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
746# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
706# CONFIG_NET_PCI is not set 747# CONFIG_NET_PCI is not set
707# CONFIG_B44 is not set 748# CONFIG_B44 is not set
749# CONFIG_ATL2 is not set
708# CONFIG_NETDEV_1000 is not set 750# CONFIG_NETDEV_1000 is not set
709# CONFIG_NETDEV_10000 is not set 751# CONFIG_NETDEV_10000 is not set
710# CONFIG_TR is not set 752# CONFIG_TR is not set
@@ -796,13 +838,10 @@ CONFIG_SERIAL_8250_RSA=y
796# CONFIG_SERIAL_UARTLITE is not set 838# CONFIG_SERIAL_UARTLITE is not set
797CONFIG_SERIAL_CORE=y 839CONFIG_SERIAL_CORE=y
798CONFIG_SERIAL_CORE_CONSOLE=y 840CONFIG_SERIAL_CORE_CONSOLE=y
799# CONFIG_SERIAL_PMACZILOG is not set
800# CONFIG_SERIAL_JSM is not set 841# CONFIG_SERIAL_JSM is not set
801# CONFIG_SERIAL_OF_PLATFORM is not set 842# CONFIG_SERIAL_OF_PLATFORM is not set
802CONFIG_UNIX98_PTYS=y 843CONFIG_UNIX98_PTYS=y
803# CONFIG_LEGACY_PTYS is not set 844# CONFIG_LEGACY_PTYS is not set
804# CONFIG_BRIQ_PANEL is not set
805# CONFIG_HVC_RTAS is not set
806# CONFIG_IPMI_HANDLER is not set 845# CONFIG_IPMI_HANDLER is not set
807# CONFIG_HW_RANDOM is not set 846# CONFIG_HW_RANDOM is not set
808# CONFIG_NVRAM is not set 847# CONFIG_NVRAM is not set
@@ -839,12 +878,6 @@ CONFIG_I2C_HELPER_AUTO=y
839# CONFIG_I2C_VIAPRO is not set 878# CONFIG_I2C_VIAPRO is not set
840 879
841# 880#
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) 881# I2C system bus drivers (mostly embedded / system-on-chip)
849# 882#
850CONFIG_I2C_MPC=y 883CONFIG_I2C_MPC=y
@@ -907,6 +940,17 @@ CONFIG_SSB_POSSIBLE=y
907# CONFIG_MFD_SM501 is not set 940# CONFIG_MFD_SM501 is not set
908# CONFIG_HTC_PASIC3 is not set 941# CONFIG_HTC_PASIC3 is not set
909# CONFIG_MFD_TMIO is not set 942# CONFIG_MFD_TMIO is not set
943# CONFIG_PMIC_DA903X is not set
944# CONFIG_MFD_WM8400 is not set
945# CONFIG_MFD_WM8350_I2C is not set
946
947#
948# Voltage and Current regulators
949#
950# CONFIG_REGULATOR is not set
951# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
952# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
953# CONFIG_REGULATOR_BQ24022 is not set
910 954
911# 955#
912# Multimedia devices 956# Multimedia devices
@@ -934,6 +978,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
934CONFIG_FB=y 978CONFIG_FB=y
935# CONFIG_FIRMWARE_EDID is not set 979# CONFIG_FIRMWARE_EDID is not set
936# CONFIG_FB_DDC is not set 980# CONFIG_FB_DDC is not set
981# CONFIG_FB_BOOT_VESA_SUPPORT is not set
937CONFIG_FB_CFB_FILLRECT=y 982CONFIG_FB_CFB_FILLRECT=y
938CONFIG_FB_CFB_COPYAREA=y 983CONFIG_FB_CFB_COPYAREA=y
939CONFIG_FB_CFB_IMAGEBLIT=y 984CONFIG_FB_CFB_IMAGEBLIT=y
@@ -956,9 +1001,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
956# CONFIG_FB_PM2 is not set 1001# CONFIG_FB_PM2 is not set
957# CONFIG_FB_CYBER2000 is not set 1002# CONFIG_FB_CYBER2000 is not set
958# CONFIG_FB_OF is not set 1003# CONFIG_FB_OF is not set
959# CONFIG_FB_CONTROL is not set
960# CONFIG_FB_PLATINUM is not set
961# CONFIG_FB_VALKYRIE is not set
962# CONFIG_FB_CT65550 is not set 1004# CONFIG_FB_CT65550 is not set
963# CONFIG_FB_ASILIANT is not set 1005# CONFIG_FB_ASILIANT is not set
964# CONFIG_FB_IMSTT is not set 1006# CONFIG_FB_IMSTT is not set
@@ -973,6 +1015,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
973# CONFIG_FB_S3 is not set 1015# CONFIG_FB_S3 is not set
974# CONFIG_FB_SAVAGE is not set 1016# CONFIG_FB_SAVAGE is not set
975# CONFIG_FB_SIS is not set 1017# CONFIG_FB_SIS is not set
1018# CONFIG_FB_VIA is not set
976# CONFIG_FB_NEOMAGIC is not set 1019# CONFIG_FB_NEOMAGIC is not set
977# CONFIG_FB_KYRO is not set 1020# CONFIG_FB_KYRO is not set
978# CONFIG_FB_3DFX is not set 1021# CONFIG_FB_3DFX is not set
@@ -985,6 +1028,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
985CONFIG_FB_FSL_DIU=y 1028CONFIG_FB_FSL_DIU=y
986# CONFIG_FB_IBM_GXT4500 is not set 1029# CONFIG_FB_IBM_GXT4500 is not set
987# CONFIG_FB_VIRTUAL is not set 1030# CONFIG_FB_VIRTUAL is not set
1031# CONFIG_FB_METRONOME is not set
988# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1032# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
989 1033
990# 1034#
@@ -1001,6 +1045,7 @@ CONFIG_DUMMY_CONSOLE=y
1001# CONFIG_FRAMEBUFFER_CONSOLE is not set 1045# CONFIG_FRAMEBUFFER_CONSOLE is not set
1002# CONFIG_LOGO is not set 1046# CONFIG_LOGO is not set
1003CONFIG_SOUND=y 1047CONFIG_SOUND=y
1048CONFIG_SOUND_OSS_CORE=y
1004CONFIG_SND=y 1049CONFIG_SND=y
1005CONFIG_SND_TIMER=y 1050CONFIG_SND_TIMER=y
1006CONFIG_SND_PCM=y 1051CONFIG_SND_PCM=y
@@ -1082,11 +1127,10 @@ CONFIG_SND_PCI=y
1082# CONFIG_SND_VX222 is not set 1127# CONFIG_SND_VX222 is not set
1083# CONFIG_SND_YMFPCI is not set 1128# CONFIG_SND_YMFPCI is not set
1084CONFIG_SND_PPC=y 1129CONFIG_SND_PPC=y
1085# CONFIG_SND_POWERMAC is not set
1086# CONFIG_SND_AOA is not set
1087CONFIG_SND_SOC=y 1130CONFIG_SND_SOC=y
1088CONFIG_SND_SOC_MPC8610=y 1131CONFIG_SND_SOC_MPC8610=y
1089CONFIG_SND_SOC_MPC8610_HPCD=y 1132CONFIG_SND_SOC_MPC8610_HPCD=y
1133# CONFIG_SND_SOC_ALL_CODECS is not set
1090CONFIG_SND_SOC_CS4270=y 1134CONFIG_SND_SOC_CS4270=y
1091CONFIG_SND_SOC_CS4270_VD33_ERRATA=y 1135CONFIG_SND_SOC_CS4270_VD33_ERRATA=y
1092# CONFIG_SOUND_PRIME is not set 1136# CONFIG_SOUND_PRIME is not set
@@ -1094,6 +1138,12 @@ CONFIG_HID_SUPPORT=y
1094CONFIG_HID=y 1138CONFIG_HID=y
1095# CONFIG_HID_DEBUG is not set 1139# CONFIG_HID_DEBUG is not set
1096# CONFIG_HIDRAW is not set 1140# CONFIG_HIDRAW is not set
1141# CONFIG_HID_PID is not set
1142
1143#
1144# Special HID drivers
1145#
1146CONFIG_HID_COMPAT=y
1097CONFIG_USB_SUPPORT=y 1147CONFIG_USB_SUPPORT=y
1098CONFIG_USB_ARCH_HAS_HCD=y 1148CONFIG_USB_ARCH_HAS_HCD=y
1099CONFIG_USB_ARCH_HAS_OHCI=y 1149CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1110,6 +1160,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1110# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1160# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1111# 1161#
1112# CONFIG_USB_GADGET is not set 1162# CONFIG_USB_GADGET is not set
1163# CONFIG_UWB is not set
1113# CONFIG_MMC is not set 1164# CONFIG_MMC is not set
1114# CONFIG_MEMSTICK is not set 1165# CONFIG_MEMSTICK is not set
1115# CONFIG_NEW_LEDS is not set 1166# CONFIG_NEW_LEDS is not set
@@ -1155,12 +1206,15 @@ CONFIG_RTC_INTF_DEV=y
1155# Platform RTC drivers 1206# Platform RTC drivers
1156# 1207#
1157CONFIG_RTC_DRV_CMOS=y 1208CONFIG_RTC_DRV_CMOS=y
1209# CONFIG_RTC_DRV_DS1286 is not set
1158# CONFIG_RTC_DRV_DS1511 is not set 1210# CONFIG_RTC_DRV_DS1511 is not set
1159# CONFIG_RTC_DRV_DS1553 is not set 1211# CONFIG_RTC_DRV_DS1553 is not set
1160# CONFIG_RTC_DRV_DS1742 is not set 1212# CONFIG_RTC_DRV_DS1742 is not set
1161# CONFIG_RTC_DRV_STK17TA8 is not set 1213# CONFIG_RTC_DRV_STK17TA8 is not set
1162# CONFIG_RTC_DRV_M48T86 is not set 1214# CONFIG_RTC_DRV_M48T86 is not set
1215# CONFIG_RTC_DRV_M48T35 is not set
1163# CONFIG_RTC_DRV_M48T59 is not set 1216# CONFIG_RTC_DRV_M48T59 is not set
1217# CONFIG_RTC_DRV_BQ4802 is not set
1164# CONFIG_RTC_DRV_V3020 is not set 1218# CONFIG_RTC_DRV_V3020 is not set
1165 1219
1166# 1220#
@@ -1169,6 +1223,7 @@ CONFIG_RTC_DRV_CMOS=y
1169# CONFIG_RTC_DRV_PPC is not set 1223# CONFIG_RTC_DRV_PPC is not set
1170# CONFIG_DMADEVICES is not set 1224# CONFIG_DMADEVICES is not set
1171# CONFIG_UIO is not set 1225# CONFIG_UIO is not set
1226# CONFIG_STAGING is not set
1172 1227
1173# 1228#
1174# File systems 1229# File systems
@@ -1180,12 +1235,13 @@ CONFIG_EXT3_FS=y
1180CONFIG_EXT3_FS_XATTR=y 1235CONFIG_EXT3_FS_XATTR=y
1181# CONFIG_EXT3_FS_POSIX_ACL is not set 1236# CONFIG_EXT3_FS_POSIX_ACL is not set
1182# CONFIG_EXT3_FS_SECURITY is not set 1237# CONFIG_EXT3_FS_SECURITY is not set
1183# CONFIG_EXT4DEV_FS is not set 1238# CONFIG_EXT4_FS is not set
1184CONFIG_JBD=y 1239CONFIG_JBD=y
1185CONFIG_FS_MBCACHE=y 1240CONFIG_FS_MBCACHE=y
1186# CONFIG_REISERFS_FS is not set 1241# CONFIG_REISERFS_FS is not set
1187# CONFIG_JFS_FS is not set 1242# CONFIG_JFS_FS is not set
1188# CONFIG_FS_POSIX_ACL is not set 1243# CONFIG_FS_POSIX_ACL is not set
1244CONFIG_FILE_LOCKING=y
1189# CONFIG_XFS_FS is not set 1245# CONFIG_XFS_FS is not set
1190# CONFIG_OCFS2_FS is not set 1246# CONFIG_OCFS2_FS is not set
1191# CONFIG_DNOTIFY is not set 1247# CONFIG_DNOTIFY is not set
@@ -1214,6 +1270,7 @@ CONFIG_FS_MBCACHE=y
1214CONFIG_PROC_FS=y 1270CONFIG_PROC_FS=y
1215CONFIG_PROC_KCORE=y 1271CONFIG_PROC_KCORE=y
1216CONFIG_PROC_SYSCTL=y 1272CONFIG_PROC_SYSCTL=y
1273CONFIG_PROC_PAGE_MONITOR=y
1217CONFIG_SYSFS=y 1274CONFIG_SYSFS=y
1218CONFIG_TMPFS=y 1275CONFIG_TMPFS=y
1219# CONFIG_TMPFS_POSIX_ACL is not set 1276# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1254,6 +1311,7 @@ CONFIG_LOCKD_V4=y
1254CONFIG_EXPORTFS=y 1311CONFIG_EXPORTFS=y
1255CONFIG_NFS_COMMON=y 1312CONFIG_NFS_COMMON=y
1256CONFIG_SUNRPC=y 1313CONFIG_SUNRPC=y
1314# CONFIG_SUNRPC_REGISTER_V4 is not set
1257# CONFIG_RPCSEC_GSS_KRB5 is not set 1315# CONFIG_RPCSEC_GSS_KRB5 is not set
1258# CONFIG_RPCSEC_GSS_SPKM3 is not set 1316# CONFIG_RPCSEC_GSS_SPKM3 is not set
1259# CONFIG_SMB_FS is not set 1317# CONFIG_SMB_FS is not set
@@ -1330,7 +1388,6 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1330# Library routines 1388# Library routines
1331# 1389#
1332CONFIG_BITREVERSE=y 1390CONFIG_BITREVERSE=y
1333# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1334# CONFIG_CRC_CCITT is not set 1391# CONFIG_CRC_CCITT is not set
1335# CONFIG_CRC16 is not set 1392# CONFIG_CRC16 is not set
1336CONFIG_CRC_T10DIF=y 1393CONFIG_CRC_T10DIF=y
@@ -1383,15 +1440,23 @@ CONFIG_DEBUG_INFO=y
1383# CONFIG_DEBUG_SG is not set 1440# CONFIG_DEBUG_SG is not set
1384# CONFIG_BOOT_PRINTK_DELAY is not set 1441# CONFIG_BOOT_PRINTK_DELAY is not set
1385# CONFIG_RCU_TORTURE_TEST is not set 1442# CONFIG_RCU_TORTURE_TEST is not set
1443# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1386# CONFIG_BACKTRACE_SELF_TEST is not set 1444# CONFIG_BACKTRACE_SELF_TEST is not set
1445# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1387# CONFIG_FAULT_INJECTION is not set 1446# CONFIG_FAULT_INJECTION is not set
1388# CONFIG_LATENCYTOP is not set 1447# CONFIG_LATENCYTOP is not set
1389CONFIG_SYSCTL_SYSCALL_CHECK=y 1448CONFIG_SYSCTL_SYSCALL_CHECK=y
1390CONFIG_HAVE_FTRACE=y 1449CONFIG_HAVE_FUNCTION_TRACER=y
1391CONFIG_HAVE_DYNAMIC_FTRACE=y 1450
1392# CONFIG_FTRACE is not set 1451#
1452# Tracers
1453#
1454# CONFIG_FUNCTION_TRACER is not set
1393# CONFIG_SCHED_TRACER is not set 1455# CONFIG_SCHED_TRACER is not set
1394# CONFIG_CONTEXT_SWITCH_TRACER is not set 1456# CONFIG_CONTEXT_SWITCH_TRACER is not set
1457# CONFIG_BOOT_TRACER is not set
1458# CONFIG_STACK_TRACER is not set
1459# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1395# CONFIG_SAMPLES is not set 1460# CONFIG_SAMPLES is not set
1396CONFIG_HAVE_ARCH_KGDB=y 1461CONFIG_HAVE_ARCH_KGDB=y
1397# CONFIG_KGDB is not set 1462# CONFIG_KGDB is not set
@@ -1400,6 +1465,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1400# CONFIG_DEBUG_PAGEALLOC is not set 1465# CONFIG_DEBUG_PAGEALLOC is not set
1401# CONFIG_CODE_PATCHING_SELFTEST is not set 1466# CONFIG_CODE_PATCHING_SELFTEST is not set
1402# CONFIG_FTR_FIXUP_SELFTEST is not set 1467# CONFIG_FTR_FIXUP_SELFTEST is not set
1468# CONFIG_MSI_BITMAP_SELFTEST is not set
1403# CONFIG_XMON is not set 1469# CONFIG_XMON is not set
1404# CONFIG_IRQSTACKS is not set 1470# CONFIG_IRQSTACKS is not set
1405# CONFIG_BDI_SWITCH is not set 1471# CONFIG_BDI_SWITCH is not set
@@ -1411,12 +1477,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1411# 1477#
1412# CONFIG_KEYS is not set 1478# CONFIG_KEYS is not set
1413# CONFIG_SECURITY is not set 1479# CONFIG_SECURITY is not set
1480# CONFIG_SECURITYFS is not set
1414# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1481# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1415CONFIG_CRYPTO=y 1482CONFIG_CRYPTO=y
1416 1483
1417# 1484#
1418# Crypto core or helper 1485# Crypto core or helper
1419# 1486#
1487# CONFIG_CRYPTO_FIPS is not set
1420# CONFIG_CRYPTO_MANAGER is not set 1488# CONFIG_CRYPTO_MANAGER is not set
1421# CONFIG_CRYPTO_GF128MUL is not set 1489# CONFIG_CRYPTO_GF128MUL is not set
1422# CONFIG_CRYPTO_NULL is not set 1490# CONFIG_CRYPTO_NULL is not set
@@ -1489,6 +1557,11 @@ CONFIG_CRYPTO=y
1489# 1557#
1490# CONFIG_CRYPTO_DEFLATE is not set 1558# CONFIG_CRYPTO_DEFLATE is not set
1491# CONFIG_CRYPTO_LZO is not set 1559# CONFIG_CRYPTO_LZO is not set
1560
1561#
1562# Random Number Generation
1563#
1564# CONFIG_CRYPTO_ANSI_CPRNG is not set
1492CONFIG_CRYPTO_HW=y 1565CONFIG_CRYPTO_HW=y
1493# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1566# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1494# CONFIG_CRYPTO_DEV_TALITOS is not set 1567# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
index 444ddf98436d..41220ece603d 100644
--- a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
+++ b/arch/powerpc/configs/86xx/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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:11 2008 4# Sat Nov 8 12:40:29 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_PHYS_64BIT is not set
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
@@ -23,7 +24,7 @@ CONFIG_SMP=y
23CONFIG_NR_CPUS=2 24CONFIG_NR_CPUS=2
24CONFIG_PPC32=y 25CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 28CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -100,7 +101,6 @@ CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 101CONFIG_PRINTK=y
101CONFIG_BUG=y 102CONFIG_BUG=y
102CONFIG_ELF_CORE=y 103CONFIG_ELF_CORE=y
103CONFIG_PCSPKR_PLATFORM=y
104CONFIG_COMPAT_BRK=y 104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 105CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 106CONFIG_FUTEX=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -124,10 +126,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128CONFIG_USE_GENERIC_SMP_HELPERS=y 129CONFIG_USE_GENERIC_SMP_HELPERS=y
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
@@ -161,6 +160,7 @@ CONFIG_DEFAULT_CFQ=y
161# CONFIG_DEFAULT_NOOP is not set 160# CONFIG_DEFAULT_NOOP is not set
162CONFIG_DEFAULT_IOSCHED="cfq" 161CONFIG_DEFAULT_IOSCHED="cfq"
163CONFIG_CLASSIC_RCU=y 162CONFIG_CLASSIC_RCU=y
163# CONFIG_FREEZER is not set
164 164
165# 165#
166# Platform support 166# Platform support
@@ -168,10 +168,10 @@ CONFIG_CLASSIC_RCU=y
168CONFIG_PPC_MULTIPLATFORM=y 168CONFIG_PPC_MULTIPLATFORM=y
169CONFIG_CLASSIC32=y 169CONFIG_CLASSIC32=y
170# CONFIG_PPC_CHRP is not set 170# CONFIG_PPC_CHRP is not set
171# CONFIG_PPC_PMAC is not set
172# CONFIG_MPC5121_ADS is not set 171# CONFIG_MPC5121_ADS is not set
173# CONFIG_MPC5121_GENERIC is not set 172# CONFIG_MPC5121_GENERIC is not set
174# CONFIG_PPC_MPC52xx is not set 173# CONFIG_PPC_MPC52xx is not set
174# CONFIG_PPC_PMAC is not set
175# CONFIG_PPC_CELL is not set 175# CONFIG_PPC_CELL is not set
176# CONFIG_PPC_CELL_NATIVE is not set 176# CONFIG_PPC_CELL_NATIVE is not set
177# CONFIG_PPC_82xx is not set 177# CONFIG_PPC_82xx is not set
@@ -181,25 +181,23 @@ CONFIG_PPC_86xx=y
181CONFIG_MPC8641_HPCN=y 181CONFIG_MPC8641_HPCN=y
182# CONFIG_SBC8641D is not set 182# CONFIG_SBC8641D is not set
183# CONFIG_MPC8610_HPCD is not set 183# CONFIG_MPC8610_HPCD is not set
184# CONFIG_GEF_SBC610 is not set
184CONFIG_MPC8641=y 185CONFIG_MPC8641=y
185CONFIG_PPC_NATIVE=y
186# CONFIG_UDBG_RTAS_CONSOLE is not set
187# CONFIG_IPIC is not set 186# CONFIG_IPIC is not set
188CONFIG_MPIC=y 187CONFIG_MPIC=y
189# CONFIG_MPIC_WEIRD is not set 188# CONFIG_MPIC_WEIRD is not set
190CONFIG_PPC_I8259=y 189CONFIG_PPC_I8259=y
191CONFIG_PPC_RTAS=y 190# CONFIG_PPC_RTAS is not set
192# CONFIG_RTAS_ERROR_LOGGING is not set
193CONFIG_RTAS_PROC=y
194# CONFIG_MMIO_NVRAM is not set 191# CONFIG_MMIO_NVRAM is not set
195CONFIG_PPC_MPC106=y 192# CONFIG_PPC_MPC106 is not set
196# CONFIG_PPC_970_NAP is not set 193# CONFIG_PPC_970_NAP is not set
197# CONFIG_PPC_INDIRECT_IO is not set 194# CONFIG_PPC_INDIRECT_IO is not set
198# CONFIG_GENERIC_IOMAP is not set 195# CONFIG_GENERIC_IOMAP is not set
199# CONFIG_CPU_FREQ is not set 196# CONFIG_CPU_FREQ is not set
200# CONFIG_PPC601_SYNC_FIX is not set
201# CONFIG_TAU is not set 197# CONFIG_TAU is not set
198# CONFIG_QUICC_ENGINE is not set
202CONFIG_FSL_ULI1575=y 199CONFIG_FSL_ULI1575=y
200# CONFIG_MPC8xxx_GPIO is not set
203 201
204# 202#
205# Kernel options 203# Kernel options
@@ -219,9 +217,10 @@ CONFIG_PREEMPT_NONE=y
219# CONFIG_PREEMPT_VOLUNTARY is not set 217# CONFIG_PREEMPT_VOLUNTARY is not set
220# CONFIG_PREEMPT is not set 218# CONFIG_PREEMPT is not set
221CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
222CONFIG_BINFMT_MISC=m 222CONFIG_BINFMT_MISC=m
223# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
224# CONFIG_HOTPLUG_CPU is not set
225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
226CONFIG_ARCH_HAS_WALK_MEMORY=y 225CONFIG_ARCH_HAS_WALK_MEMORY=y
227CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -235,15 +234,15 @@ CONFIG_FLATMEM_MANUAL=y
235# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
236CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
237CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
238# CONFIG_SPARSEMEM_STATIC is not set
239# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
240CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
241CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
242CONFIG_MIGRATION=y 239CONFIG_MIGRATION=y
243# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
244CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
247CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
248CONFIG_PROC_DEVICETREE=y 247CONFIG_PROC_DEVICETREE=y
249# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
@@ -255,7 +254,6 @@ CONFIG_ISA_DMA_API=y
255# 254#
256# Bus options 255# Bus options
257# 256#
258# CONFIG_ISA is not set
259CONFIG_ZONE_DMA=y 257CONFIG_ZONE_DMA=y
260CONFIG_GENERIC_ISA_DMA=y 258CONFIG_GENERIC_ISA_DMA=y
261CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
@@ -268,7 +266,7 @@ CONFIG_PCI_SYSCALL=y
268# CONFIG_PCIEPORTBUS is not set 266# CONFIG_PCIEPORTBUS is not set
269CONFIG_ARCH_SUPPORTS_MSI=y 267CONFIG_ARCH_SUPPORTS_MSI=y
270# CONFIG_PCI_MSI is not set 268# CONFIG_PCI_MSI is not set
271CONFIG_PCI_LEGACY=y 269# CONFIG_PCI_LEGACY is not set
272# CONFIG_PCI_DEBUG is not set 270# CONFIG_PCI_DEBUG is not set
273# CONFIG_PCCARD is not set 271# CONFIG_PCCARD is not set
274# CONFIG_HOTPLUG_PCI is not set 272# CONFIG_HOTPLUG_PCI is not set
@@ -370,6 +368,7 @@ CONFIG_SCTP_HMAC_MD5=y
370# CONFIG_TIPC is not set 368# CONFIG_TIPC is not set
371# CONFIG_ATM is not set 369# CONFIG_ATM is not set
372# CONFIG_BRIDGE is not set 370# CONFIG_BRIDGE is not set
371# CONFIG_NET_DSA is not set
373# CONFIG_VLAN_8021Q is not set 372# CONFIG_VLAN_8021Q is not set
374# CONFIG_DECNET is not set 373# CONFIG_DECNET is not set
375# CONFIG_LLC2 is not set 374# CONFIG_LLC2 is not set
@@ -390,12 +389,11 @@ CONFIG_SCTP_HMAC_MD5=y
390# CONFIG_IRDA is not set 389# CONFIG_IRDA is not set
391# CONFIG_BT is not set 390# CONFIG_BT is not set
392# CONFIG_AF_RXRPC is not set 391# CONFIG_AF_RXRPC is not set
392# CONFIG_PHONET is not set
393CONFIG_FIB_RULES=y 393CONFIG_FIB_RULES=y
394 394CONFIG_WIRELESS=y
395#
396# Wireless
397#
398# CONFIG_CFG80211 is not set 395# CONFIG_CFG80211 is not set
396CONFIG_WIRELESS_OLD_REGULATORY=y
399# CONFIG_WIRELESS_EXT is not set 397# CONFIG_WIRELESS_EXT is not set
400# CONFIG_MAC80211 is not set 398# CONFIG_MAC80211 is not set
401# CONFIG_IEEE80211 is not set 399# CONFIG_IEEE80211 is not set
@@ -425,7 +423,6 @@ CONFIG_OF_I2C=y
425# CONFIG_PARPORT is not set 423# CONFIG_PARPORT is not set
426CONFIG_BLK_DEV=y 424CONFIG_BLK_DEV=y
427# CONFIG_BLK_DEV_FD is not set 425# CONFIG_BLK_DEV_FD is not set
428# CONFIG_MAC_FLOPPY is not set
429# CONFIG_BLK_CPQ_DA is not set 426# CONFIG_BLK_CPQ_DA is not set
430# CONFIG_BLK_CPQ_CISS_DA is not set 427# CONFIG_BLK_CPQ_CISS_DA is not set
431# CONFIG_BLK_DEV_DAC960 is not set 428# CONFIG_BLK_DEV_DAC960 is not set
@@ -528,8 +525,6 @@ CONFIG_SCSI_LOWLEVEL=y
528# CONFIG_SCSI_DC390T is not set 525# CONFIG_SCSI_DC390T is not set
529# CONFIG_SCSI_NSP32 is not set 526# CONFIG_SCSI_NSP32 is not set
530# CONFIG_SCSI_DEBUG is not set 527# CONFIG_SCSI_DEBUG is not set
531# CONFIG_SCSI_MESH is not set
532# CONFIG_SCSI_MAC53C94 is not set
533# CONFIG_SCSI_SRP is not set 528# CONFIG_SCSI_SRP is not set
534# CONFIG_SCSI_DH is not set 529# CONFIG_SCSI_DH is not set
535CONFIG_ATA=y 530CONFIG_ATA=y
@@ -634,8 +629,6 @@ CONFIG_VITESSE_PHY=y
634# CONFIG_MDIO_BITBANG is not set 629# CONFIG_MDIO_BITBANG is not set
635CONFIG_NET_ETHERNET=y 630CONFIG_NET_ETHERNET=y
636CONFIG_MII=y 631CONFIG_MII=y
637# CONFIG_MACE is not set
638# CONFIG_BMAC is not set
639# CONFIG_HAPPYMEAL is not set 632# CONFIG_HAPPYMEAL is not set
640# CONFIG_SUNGEM is not set 633# CONFIG_SUNGEM is not set
641# CONFIG_CASSINI is not set 634# CONFIG_CASSINI is not set
@@ -646,8 +639,12 @@ CONFIG_MII=y
646# CONFIG_IBM_NEW_EMAC_RGMII is not set 639# CONFIG_IBM_NEW_EMAC_RGMII is not set
647# CONFIG_IBM_NEW_EMAC_TAH is not set 640# CONFIG_IBM_NEW_EMAC_TAH is not set
648# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 641# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
642# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
643# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
644# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
649# CONFIG_NET_PCI is not set 645# CONFIG_NET_PCI is not set
650# CONFIG_B44 is not set 646# CONFIG_B44 is not set
647# CONFIG_ATL2 is not set
651CONFIG_NETDEV_1000=y 648CONFIG_NETDEV_1000=y
652# CONFIG_ACENIC is not set 649# CONFIG_ACENIC is not set
653# CONFIG_DL2K is not set 650# CONFIG_DL2K is not set
@@ -670,18 +667,22 @@ CONFIG_GIANFAR=y
670# CONFIG_QLA3XXX is not set 667# CONFIG_QLA3XXX is not set
671# CONFIG_ATL1 is not set 668# CONFIG_ATL1 is not set
672# CONFIG_ATL1E is not set 669# CONFIG_ATL1E is not set
670# CONFIG_JME is not set
673CONFIG_NETDEV_10000=y 671CONFIG_NETDEV_10000=y
674# CONFIG_CHELSIO_T1 is not set 672# CONFIG_CHELSIO_T1 is not set
675# CONFIG_CHELSIO_T3 is not set 673# CONFIG_CHELSIO_T3 is not set
674# CONFIG_ENIC is not set
676# CONFIG_IXGBE is not set 675# CONFIG_IXGBE is not set
677# CONFIG_IXGB is not set 676# CONFIG_IXGB is not set
678# CONFIG_S2IO is not set 677# CONFIG_S2IO is not set
679# CONFIG_MYRI10GE is not set 678# CONFIG_MYRI10GE is not set
680# CONFIG_NETXEN_NIC is not set 679# CONFIG_NETXEN_NIC is not set
681# CONFIG_NIU is not set 680# CONFIG_NIU is not set
681# CONFIG_MLX4_EN is not set
682# CONFIG_MLX4_CORE is not set 682# CONFIG_MLX4_CORE is not set
683# CONFIG_TEHUTI is not set 683# CONFIG_TEHUTI is not set
684# CONFIG_BNX2X is not set 684# CONFIG_BNX2X is not set
685# CONFIG_QLGE is not set
685# CONFIG_SFC is not set 686# CONFIG_SFC is not set
686# CONFIG_TR is not set 687# CONFIG_TR is not set
687 688
@@ -716,7 +717,7 @@ CONFIG_NETDEV_10000=y
716# Input device support 717# Input device support
717# 718#
718CONFIG_INPUT=y 719CONFIG_INPUT=y
719# CONFIG_INPUT_FF_MEMLESS is not set 720CONFIG_INPUT_FF_MEMLESS=m
720# CONFIG_INPUT_POLLDEV is not set 721# CONFIG_INPUT_POLLDEV is not set
721 722
722# 723#
@@ -781,14 +782,11 @@ CONFIG_SERIAL_8250_RSA=y
781# CONFIG_SERIAL_UARTLITE is not set 782# CONFIG_SERIAL_UARTLITE is not set
782CONFIG_SERIAL_CORE=y 783CONFIG_SERIAL_CORE=y
783CONFIG_SERIAL_CORE_CONSOLE=y 784CONFIG_SERIAL_CORE_CONSOLE=y
784# CONFIG_SERIAL_PMACZILOG is not set
785# CONFIG_SERIAL_JSM is not set 785# CONFIG_SERIAL_JSM is not set
786# CONFIG_SERIAL_OF_PLATFORM is not set 786# CONFIG_SERIAL_OF_PLATFORM is not set
787CONFIG_UNIX98_PTYS=y 787CONFIG_UNIX98_PTYS=y
788CONFIG_LEGACY_PTYS=y 788CONFIG_LEGACY_PTYS=y
789CONFIG_LEGACY_PTY_COUNT=256 789CONFIG_LEGACY_PTY_COUNT=256
790# CONFIG_BRIQ_PANEL is not set
791# CONFIG_HVC_RTAS is not set
792# CONFIG_IPMI_HANDLER is not set 790# CONFIG_IPMI_HANDLER is not set
793# CONFIG_HW_RANDOM is not set 791# CONFIG_HW_RANDOM is not set
794CONFIG_NVRAM=y 792CONFIG_NVRAM=y
@@ -825,12 +823,6 @@ CONFIG_I2C_HELPER_AUTO=y
825# CONFIG_I2C_VIAPRO is not set 823# CONFIG_I2C_VIAPRO is not set
826 824
827# 825#
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) 826# I2C system bus drivers (mostly embedded / system-on-chip)
835# 827#
836CONFIG_I2C_MPC=y 828CONFIG_I2C_MPC=y
@@ -894,6 +886,17 @@ CONFIG_SSB_POSSIBLE=y
894# CONFIG_MFD_SM501 is not set 886# CONFIG_MFD_SM501 is not set
895# CONFIG_HTC_PASIC3 is not set 887# CONFIG_HTC_PASIC3 is not set
896# CONFIG_MFD_TMIO is not set 888# CONFIG_MFD_TMIO is not set
889# CONFIG_PMIC_DA903X is not set
890# CONFIG_MFD_WM8400 is not set
891# CONFIG_MFD_WM8350_I2C is not set
892
893#
894# Voltage and Current regulators
895#
896# CONFIG_REGULATOR is not set
897# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
898# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
899# CONFIG_REGULATOR_BQ24022 is not set
897 900
898# 901#
899# Multimedia devices 902# Multimedia devices
@@ -934,7 +937,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
934# CONFIG_DVB_USB is not set 937# CONFIG_DVB_USB is not set
935# CONFIG_DVB_TTUSB_BUDGET is not set 938# CONFIG_DVB_TTUSB_BUDGET is not set
936# CONFIG_DVB_TTUSB_DEC is not set 939# CONFIG_DVB_TTUSB_DEC is not set
937# CONFIG_DVB_CINERGYT2 is not set
938# CONFIG_DVB_SIANO_SMS1XXX is not set 940# CONFIG_DVB_SIANO_SMS1XXX is not set
939 941
940# 942#
@@ -952,6 +954,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
952# CONFIG_DVB_PLUTO2 is not set 954# CONFIG_DVB_PLUTO2 is not set
953 955
954# 956#
957# Supported SDMC DM1105 Adapters
958#
959# CONFIG_DVB_DM1105 is not set
960
961#
955# Supported DVB Frontends 962# Supported DVB Frontends
956# 963#
957 964
@@ -967,6 +974,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
967# CONFIG_DVB_CX24123 is not set 974# CONFIG_DVB_CX24123 is not set
968# CONFIG_DVB_MT312 is not set 975# CONFIG_DVB_MT312 is not set
969# CONFIG_DVB_S5H1420 is not set 976# CONFIG_DVB_S5H1420 is not set
977# CONFIG_DVB_STV0288 is not set
978# CONFIG_DVB_STB6000 is not set
970# CONFIG_DVB_STV0299 is not set 979# CONFIG_DVB_STV0299 is not set
971# CONFIG_DVB_TDA8083 is not set 980# CONFIG_DVB_TDA8083 is not set
972# CONFIG_DVB_TDA10086 is not set 981# CONFIG_DVB_TDA10086 is not set
@@ -974,6 +983,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
974# CONFIG_DVB_TUNER_ITD1000 is not set 983# CONFIG_DVB_TUNER_ITD1000 is not set
975# CONFIG_DVB_TDA826X is not set 984# CONFIG_DVB_TDA826X is not set
976# CONFIG_DVB_TUA6100 is not set 985# CONFIG_DVB_TUA6100 is not set
986# CONFIG_DVB_CX24116 is not set
987# CONFIG_DVB_SI21XX is not set
977 988
978# 989#
979# DVB-T (terrestrial) frontends 990# DVB-T (terrestrial) frontends
@@ -1026,6 +1037,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1026# CONFIG_DVB_LNBP21 is not set 1037# CONFIG_DVB_LNBP21 is not set
1027# CONFIG_DVB_ISL6405 is not set 1038# CONFIG_DVB_ISL6405 is not set
1028# CONFIG_DVB_ISL6421 is not set 1039# CONFIG_DVB_ISL6421 is not set
1040# CONFIG_DVB_LGS8GL5 is not set
1041
1042#
1043# Tools to develop new frontends
1044#
1045# CONFIG_DVB_DUMMY_FE is not set
1046# CONFIG_DVB_AF9013 is not set
1029CONFIG_DAB=y 1047CONFIG_DAB=y
1030# CONFIG_USB_DABUSB is not set 1048# CONFIG_USB_DABUSB is not set
1031 1049
@@ -1051,6 +1069,7 @@ CONFIG_VGA_CONSOLE=y
1051# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1069# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1052CONFIG_DUMMY_CONSOLE=y 1070CONFIG_DUMMY_CONSOLE=y
1053CONFIG_SOUND=y 1071CONFIG_SOUND=y
1072CONFIG_SOUND_OSS_CORE=y
1054CONFIG_SND=y 1073CONFIG_SND=y
1055CONFIG_SND_TIMER=y 1074CONFIG_SND_TIMER=y
1056CONFIG_SND_PCM=y 1075CONFIG_SND_PCM=y
@@ -1135,8 +1154,6 @@ CONFIG_SND_INTEL8X0=y
1135# CONFIG_SND_VX222 is not set 1154# CONFIG_SND_VX222 is not set
1136# CONFIG_SND_YMFPCI is not set 1155# CONFIG_SND_YMFPCI is not set
1137CONFIG_SND_PPC=y 1156CONFIG_SND_PPC=y
1138# CONFIG_SND_POWERMAC is not set
1139# CONFIG_SND_AOA is not set
1140CONFIG_SND_USB=y 1157CONFIG_SND_USB=y
1141# CONFIG_SND_USB_AUDIO is not set 1158# CONFIG_SND_USB_AUDIO is not set
1142# CONFIG_SND_USB_USX2Y is not set 1159# CONFIG_SND_USB_USX2Y is not set
@@ -1153,9 +1170,36 @@ CONFIG_HID=y
1153# USB Input Devices 1170# USB Input Devices
1154# 1171#
1155CONFIG_USB_HID=y 1172CONFIG_USB_HID=y
1156# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1173# CONFIG_HID_PID is not set
1157# CONFIG_HID_FF is not set
1158# CONFIG_USB_HIDDEV is not set 1174# CONFIG_USB_HIDDEV is not set
1175
1176#
1177# Special HID drivers
1178#
1179CONFIG_HID_COMPAT=y
1180CONFIG_HID_A4TECH=y
1181CONFIG_HID_APPLE=y
1182CONFIG_HID_BELKIN=y
1183CONFIG_HID_BRIGHT=y
1184CONFIG_HID_CHERRY=y
1185CONFIG_HID_CHICONY=y
1186CONFIG_HID_CYPRESS=y
1187CONFIG_HID_DELL=y
1188CONFIG_HID_EZKEY=y
1189CONFIG_HID_GYRATION=y
1190CONFIG_HID_LOGITECH=y
1191# CONFIG_LOGITECH_FF is not set
1192# CONFIG_LOGIRUMBLEPAD2_FF is not set
1193CONFIG_HID_MICROSOFT=y
1194CONFIG_HID_MONTEREY=y
1195CONFIG_HID_PANTHERLORD=y
1196# CONFIG_PANTHERLORD_FF is not set
1197CONFIG_HID_PETALYNX=y
1198CONFIG_HID_SAMSUNG=y
1199CONFIG_HID_SONY=y
1200CONFIG_HID_SUNPLUS=y
1201CONFIG_THRUSTMASTER_FF=m
1202CONFIG_ZEROPLUS_FF=m
1159CONFIG_USB_SUPPORT=y 1203CONFIG_USB_SUPPORT=y
1160CONFIG_USB_ARCH_HAS_HCD=y 1204CONFIG_USB_ARCH_HAS_HCD=y
1161CONFIG_USB_ARCH_HAS_OHCI=y 1205CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1174,6 +1218,8 @@ CONFIG_USB_DEVICE_CLASS=y
1174# CONFIG_USB_OTG_WHITELIST is not set 1218# CONFIG_USB_OTG_WHITELIST is not set
1175# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1219# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1176CONFIG_USB_MON=y 1220CONFIG_USB_MON=y
1221# CONFIG_USB_WUSB is not set
1222# CONFIG_USB_WUSB_CBAF is not set
1177 1223
1178# 1224#
1179# USB Host Controller Drivers 1225# USB Host Controller Drivers
@@ -1197,6 +1243,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1197# CONFIG_USB_UHCI_HCD is not set 1243# CONFIG_USB_UHCI_HCD is not set
1198# CONFIG_USB_SL811_HCD is not set 1244# CONFIG_USB_SL811_HCD is not set
1199# CONFIG_USB_R8A66597_HCD is not set 1245# CONFIG_USB_R8A66597_HCD is not set
1246# CONFIG_USB_WHCI_HCD is not set
1247# CONFIG_USB_HWA_HCD is not set
1200 1248
1201# 1249#
1202# USB Device Class drivers 1250# USB Device Class drivers
@@ -1204,6 +1252,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1204# CONFIG_USB_ACM is not set 1252# CONFIG_USB_ACM is not set
1205# CONFIG_USB_PRINTER is not set 1253# CONFIG_USB_PRINTER is not set
1206# CONFIG_USB_WDM is not set 1254# CONFIG_USB_WDM is not set
1255# CONFIG_USB_TMC is not set
1207 1256
1208# 1257#
1209# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1258# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1225,7 +1274,6 @@ CONFIG_USB_STORAGE=y
1225# CONFIG_USB_STORAGE_ALAUDA is not set 1274# CONFIG_USB_STORAGE_ALAUDA is not set
1226# CONFIG_USB_STORAGE_ONETOUCH is not set 1275# CONFIG_USB_STORAGE_ONETOUCH is not set
1227# CONFIG_USB_STORAGE_KARMA is not set 1276# CONFIG_USB_STORAGE_KARMA is not set
1228# CONFIG_USB_STORAGE_SIERRA is not set
1229# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1277# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1230# CONFIG_USB_LIBUSUAL is not set 1278# CONFIG_USB_LIBUSUAL is not set
1231 1279
@@ -1246,6 +1294,7 @@ CONFIG_USB_STORAGE=y
1246# CONFIG_USB_EMI62 is not set 1294# CONFIG_USB_EMI62 is not set
1247# CONFIG_USB_EMI26 is not set 1295# CONFIG_USB_EMI26 is not set
1248# CONFIG_USB_ADUTUX is not set 1296# CONFIG_USB_ADUTUX is not set
1297# CONFIG_USB_SEVSEG is not set
1249# CONFIG_USB_RIO500 is not set 1298# CONFIG_USB_RIO500 is not set
1250# CONFIG_USB_LEGOTOWER is not set 1299# CONFIG_USB_LEGOTOWER is not set
1251# CONFIG_USB_LCD is not set 1300# CONFIG_USB_LCD is not set
@@ -1263,7 +1312,9 @@ CONFIG_USB_STORAGE=y
1263# CONFIG_USB_IOWARRIOR is not set 1312# CONFIG_USB_IOWARRIOR is not set
1264# CONFIG_USB_TEST is not set 1313# CONFIG_USB_TEST is not set
1265# CONFIG_USB_ISIGHTFW is not set 1314# CONFIG_USB_ISIGHTFW is not set
1315# CONFIG_USB_VST is not set
1266# CONFIG_USB_GADGET is not set 1316# CONFIG_USB_GADGET is not set
1317# CONFIG_UWB is not set
1267# CONFIG_MMC is not set 1318# CONFIG_MMC is not set
1268# CONFIG_MEMSTICK is not set 1319# CONFIG_MEMSTICK is not set
1269# CONFIG_NEW_LEDS is not set 1320# CONFIG_NEW_LEDS is not set
@@ -1309,12 +1360,15 @@ CONFIG_RTC_INTF_DEV=y
1309# Platform RTC drivers 1360# Platform RTC drivers
1310# 1361#
1311CONFIG_RTC_DRV_CMOS=y 1362CONFIG_RTC_DRV_CMOS=y
1363# CONFIG_RTC_DRV_DS1286 is not set
1312# CONFIG_RTC_DRV_DS1511 is not set 1364# CONFIG_RTC_DRV_DS1511 is not set
1313# CONFIG_RTC_DRV_DS1553 is not set 1365# CONFIG_RTC_DRV_DS1553 is not set
1314# CONFIG_RTC_DRV_DS1742 is not set 1366# CONFIG_RTC_DRV_DS1742 is not set
1315# CONFIG_RTC_DRV_STK17TA8 is not set 1367# CONFIG_RTC_DRV_STK17TA8 is not set
1316# CONFIG_RTC_DRV_M48T86 is not set 1368# CONFIG_RTC_DRV_M48T86 is not set
1369# CONFIG_RTC_DRV_M48T35 is not set
1317# CONFIG_RTC_DRV_M48T59 is not set 1370# CONFIG_RTC_DRV_M48T59 is not set
1371# CONFIG_RTC_DRV_BQ4802 is not set
1318# CONFIG_RTC_DRV_V3020 is not set 1372# CONFIG_RTC_DRV_V3020 is not set
1319 1373
1320# 1374#
@@ -1323,6 +1377,7 @@ CONFIG_RTC_DRV_CMOS=y
1323# CONFIG_RTC_DRV_PPC is not set 1377# CONFIG_RTC_DRV_PPC is not set
1324# CONFIG_DMADEVICES is not set 1378# CONFIG_DMADEVICES is not set
1325# CONFIG_UIO is not set 1379# CONFIG_UIO is not set
1380# CONFIG_STAGING is not set
1326 1381
1327# 1382#
1328# File systems 1383# File systems
@@ -1334,12 +1389,13 @@ CONFIG_EXT3_FS=y
1334CONFIG_EXT3_FS_XATTR=y 1389CONFIG_EXT3_FS_XATTR=y
1335# CONFIG_EXT3_FS_POSIX_ACL is not set 1390# CONFIG_EXT3_FS_POSIX_ACL is not set
1336# CONFIG_EXT3_FS_SECURITY is not set 1391# CONFIG_EXT3_FS_SECURITY is not set
1337# CONFIG_EXT4DEV_FS is not set 1392# CONFIG_EXT4_FS is not set
1338CONFIG_JBD=y 1393CONFIG_JBD=y
1339CONFIG_FS_MBCACHE=y 1394CONFIG_FS_MBCACHE=y
1340# CONFIG_REISERFS_FS is not set 1395# CONFIG_REISERFS_FS is not set
1341# CONFIG_JFS_FS is not set 1396# CONFIG_JFS_FS is not set
1342# CONFIG_FS_POSIX_ACL is not set 1397# CONFIG_FS_POSIX_ACL is not set
1398CONFIG_FILE_LOCKING=y
1343# CONFIG_XFS_FS is not set 1399# CONFIG_XFS_FS is not set
1344# CONFIG_OCFS2_FS is not set 1400# CONFIG_OCFS2_FS is not set
1345CONFIG_DNOTIFY=y 1401CONFIG_DNOTIFY=y
@@ -1377,6 +1433,7 @@ CONFIG_NTFS_FS=y
1377CONFIG_PROC_FS=y 1433CONFIG_PROC_FS=y
1378CONFIG_PROC_KCORE=y 1434CONFIG_PROC_KCORE=y
1379CONFIG_PROC_SYSCTL=y 1435CONFIG_PROC_SYSCTL=y
1436CONFIG_PROC_PAGE_MONITOR=y
1380CONFIG_SYSFS=y 1437CONFIG_SYSFS=y
1381CONFIG_TMPFS=y 1438CONFIG_TMPFS=y
1382# CONFIG_TMPFS_POSIX_ACL is not set 1439# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1421,6 +1478,7 @@ CONFIG_EXPORTFS=y
1421CONFIG_NFS_COMMON=y 1478CONFIG_NFS_COMMON=y
1422CONFIG_SUNRPC=y 1479CONFIG_SUNRPC=y
1423CONFIG_SUNRPC_GSS=y 1480CONFIG_SUNRPC_GSS=y
1481# CONFIG_SUNRPC_REGISTER_V4 is not set
1424CONFIG_RPCSEC_GSS_KRB5=y 1482CONFIG_RPCSEC_GSS_KRB5=y
1425# CONFIG_RPCSEC_GSS_SPKM3 is not set 1483# CONFIG_RPCSEC_GSS_SPKM3 is not set
1426# CONFIG_SMB_FS is not set 1484# CONFIG_SMB_FS is not set
@@ -1496,7 +1554,6 @@ CONFIG_NLS_UTF8=m
1496# Library routines 1554# Library routines
1497# 1555#
1498CONFIG_BITREVERSE=y 1556CONFIG_BITREVERSE=y
1499# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1500# CONFIG_CRC_CCITT is not set 1557# CONFIG_CRC_CCITT is not set
1501# CONFIG_CRC16 is not set 1558# CONFIG_CRC16 is not set
1502CONFIG_CRC_T10DIF=y 1559CONFIG_CRC_T10DIF=y
@@ -1550,15 +1607,23 @@ CONFIG_DEBUG_INFO=y
1550# CONFIG_DEBUG_SG is not set 1607# CONFIG_DEBUG_SG is not set
1551# CONFIG_BOOT_PRINTK_DELAY is not set 1608# CONFIG_BOOT_PRINTK_DELAY is not set
1552# CONFIG_RCU_TORTURE_TEST is not set 1609# CONFIG_RCU_TORTURE_TEST is not set
1610# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1553# CONFIG_BACKTRACE_SELF_TEST is not set 1611# CONFIG_BACKTRACE_SELF_TEST is not set
1612# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1554# CONFIG_FAULT_INJECTION is not set 1613# CONFIG_FAULT_INJECTION is not set
1555# CONFIG_LATENCYTOP is not set 1614# CONFIG_LATENCYTOP is not set
1556CONFIG_SYSCTL_SYSCALL_CHECK=y 1615CONFIG_SYSCTL_SYSCALL_CHECK=y
1557CONFIG_HAVE_FTRACE=y 1616CONFIG_HAVE_FUNCTION_TRACER=y
1558CONFIG_HAVE_DYNAMIC_FTRACE=y 1617
1559# CONFIG_FTRACE is not set 1618#
1619# Tracers
1620#
1621# CONFIG_FUNCTION_TRACER is not set
1560# CONFIG_SCHED_TRACER is not set 1622# CONFIG_SCHED_TRACER is not set
1561# CONFIG_CONTEXT_SWITCH_TRACER is not set 1623# CONFIG_CONTEXT_SWITCH_TRACER is not set
1624# CONFIG_BOOT_TRACER is not set
1625# CONFIG_STACK_TRACER is not set
1626# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1562# CONFIG_SAMPLES is not set 1627# CONFIG_SAMPLES is not set
1563CONFIG_HAVE_ARCH_KGDB=y 1628CONFIG_HAVE_ARCH_KGDB=y
1564# CONFIG_KGDB is not set 1629# CONFIG_KGDB is not set
@@ -1567,6 +1632,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1567# CONFIG_DEBUG_PAGEALLOC is not set 1632# CONFIG_DEBUG_PAGEALLOC is not set
1568# CONFIG_CODE_PATCHING_SELFTEST is not set 1633# CONFIG_CODE_PATCHING_SELFTEST is not set
1569# CONFIG_FTR_FIXUP_SELFTEST is not set 1634# CONFIG_FTR_FIXUP_SELFTEST is not set
1635# CONFIG_MSI_BITMAP_SELFTEST is not set
1570# CONFIG_XMON is not set 1636# CONFIG_XMON is not set
1571# CONFIG_IRQSTACKS is not set 1637# CONFIG_IRQSTACKS is not set
1572# CONFIG_BDI_SWITCH is not set 1638# CONFIG_BDI_SWITCH is not set
@@ -1578,15 +1644,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1578# 1644#
1579# CONFIG_KEYS is not set 1645# CONFIG_KEYS is not set
1580# CONFIG_SECURITY is not set 1646# CONFIG_SECURITY is not set
1647# CONFIG_SECURITYFS is not set
1581# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1648# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1582CONFIG_CRYPTO=y 1649CONFIG_CRYPTO=y
1583 1650
1584# 1651#
1585# Crypto core or helper 1652# Crypto core or helper
1586# 1653#
1654# CONFIG_CRYPTO_FIPS is not set
1587CONFIG_CRYPTO_ALGAPI=y 1655CONFIG_CRYPTO_ALGAPI=y
1656CONFIG_CRYPTO_AEAD=y
1588CONFIG_CRYPTO_BLKCIPHER=y 1657CONFIG_CRYPTO_BLKCIPHER=y
1589CONFIG_CRYPTO_HASH=y 1658CONFIG_CRYPTO_HASH=y
1659CONFIG_CRYPTO_RNG=y
1590CONFIG_CRYPTO_MANAGER=y 1660CONFIG_CRYPTO_MANAGER=y
1591# CONFIG_CRYPTO_GF128MUL is not set 1661# CONFIG_CRYPTO_GF128MUL is not set
1592# CONFIG_CRYPTO_NULL is not set 1662# CONFIG_CRYPTO_NULL is not set
@@ -1659,6 +1729,11 @@ CONFIG_CRYPTO_DES=y
1659# 1729#
1660# CONFIG_CRYPTO_DEFLATE is not set 1730# CONFIG_CRYPTO_DEFLATE is not set
1661# CONFIG_CRYPTO_LZO is not set 1731# CONFIG_CRYPTO_LZO is not set
1732
1733#
1734# Random Number Generation
1735#
1736# CONFIG_CRYPTO_ANSI_CPRNG is not set
1662CONFIG_CRYPTO_HW=y 1737CONFIG_CRYPTO_HW=y
1663# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1738# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1664# CONFIG_CRYPTO_DEV_TALITOS is not set 1739# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig
index d900f8f376cf..a4342862f6ef 100644
--- a/arch/powerpc/configs/86xx/sbc8641d_defconfig
+++ b/arch/powerpc/configs/86xx/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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:15 2008 4# Sat Nov 8 12:40:26 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_PHYS_64BIT is not set
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
@@ -23,7 +24,7 @@ CONFIG_SMP=y
23CONFIG_NR_CPUS=2 24CONFIG_NR_CPUS=2
24CONFIG_PPC32=y 25CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 28CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -100,7 +101,6 @@ CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y 101CONFIG_PRINTK=y
101CONFIG_BUG=y 102CONFIG_BUG=y
102CONFIG_ELF_CORE=y 103CONFIG_ELF_CORE=y
103CONFIG_PCSPKR_PLATFORM=y
104CONFIG_COMPAT_BRK=y 104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 105CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 106CONFIG_FUTEX=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLAB=y 116CONFIG_SLAB=y
115# CONFIG_SLUB is not set 117# CONFIG_SLUB is not set
116# CONFIG_SLOB is not set 118# CONFIG_SLOB is not set
@@ -123,10 +125,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 127CONFIG_HAVE_ARCH_TRACEHOOK=y
126# CONFIG_HAVE_DMA_ATTRS is not set
127CONFIG_USE_GENERIC_SMP_HELPERS=y 128CONFIG_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 129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
@@ -160,6 +159,7 @@ CONFIG_DEFAULT_CFQ=y
160# CONFIG_DEFAULT_NOOP is not set 159# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="cfq" 160CONFIG_DEFAULT_IOSCHED="cfq"
162CONFIG_CLASSIC_RCU=y 161CONFIG_CLASSIC_RCU=y
162# CONFIG_FREEZER is not set
163 163
164# 164#
165# Platform support 165# Platform support
@@ -167,10 +167,10 @@ CONFIG_CLASSIC_RCU=y
167CONFIG_PPC_MULTIPLATFORM=y 167CONFIG_PPC_MULTIPLATFORM=y
168CONFIG_CLASSIC32=y 168CONFIG_CLASSIC32=y
169# CONFIG_PPC_CHRP is not set 169# CONFIG_PPC_CHRP is not set
170# CONFIG_PPC_PMAC is not set
171# CONFIG_MPC5121_ADS is not set 170# CONFIG_MPC5121_ADS is not set
172# CONFIG_MPC5121_GENERIC is not set 171# CONFIG_MPC5121_GENERIC is not set
173# CONFIG_PPC_MPC52xx is not set 172# CONFIG_PPC_MPC52xx is not set
173# CONFIG_PPC_PMAC is not set
174# CONFIG_PPC_CELL is not set 174# CONFIG_PPC_CELL is not set
175# CONFIG_PPC_CELL_NATIVE is not set 175# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set 176# CONFIG_PPC_82xx is not set
@@ -180,25 +180,23 @@ CONFIG_PPC_86xx=y
180# CONFIG_MPC8641_HPCN is not set 180# CONFIG_MPC8641_HPCN is not set
181CONFIG_SBC8641D=y 181CONFIG_SBC8641D=y
182# CONFIG_MPC8610_HPCD is not set 182# CONFIG_MPC8610_HPCD is not set
183# CONFIG_GEF_SBC610 is not set
183CONFIG_MPC8641=y 184CONFIG_MPC8641=y
184CONFIG_PPC_NATIVE=y
185# CONFIG_UDBG_RTAS_CONSOLE is not set
186# CONFIG_IPIC is not set 185# CONFIG_IPIC is not set
187CONFIG_MPIC=y 186CONFIG_MPIC=y
188# CONFIG_MPIC_WEIRD is not set 187# CONFIG_MPIC_WEIRD is not set
189CONFIG_PPC_I8259=y 188# CONFIG_PPC_I8259 is not set
190CONFIG_PPC_RTAS=y 189# CONFIG_PPC_RTAS is not set
191# CONFIG_RTAS_ERROR_LOGGING is not set
192CONFIG_RTAS_PROC=y
193# CONFIG_MMIO_NVRAM is not set 190# CONFIG_MMIO_NVRAM is not set
194CONFIG_PPC_MPC106=y 191# CONFIG_PPC_MPC106 is not set
195# CONFIG_PPC_970_NAP is not set 192# CONFIG_PPC_970_NAP is not set
196# CONFIG_PPC_INDIRECT_IO is not set 193# CONFIG_PPC_INDIRECT_IO is not set
197# CONFIG_GENERIC_IOMAP is not set 194# CONFIG_GENERIC_IOMAP is not set
198# CONFIG_CPU_FREQ is not set 195# CONFIG_CPU_FREQ is not set
199# CONFIG_PPC601_SYNC_FIX is not set
200# CONFIG_TAU is not set 196# CONFIG_TAU is not set
197# CONFIG_QUICC_ENGINE is not set
201# CONFIG_FSL_ULI1575 is not set 198# CONFIG_FSL_ULI1575 is not set
199# CONFIG_MPC8xxx_GPIO is not set
202 200
203# 201#
204# Kernel options 202# Kernel options
@@ -219,9 +217,10 @@ CONFIG_SCHED_HRTICK=y
219CONFIG_PREEMPT=y 217CONFIG_PREEMPT=y
220# CONFIG_PREEMPT_RCU is not set 218# CONFIG_PREEMPT_RCU is not set
221CONFIG_BINFMT_ELF=y 219CONFIG_BINFMT_ELF=y
220# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
221# CONFIG_HAVE_AOUT is not set
222CONFIG_BINFMT_MISC=m 222CONFIG_BINFMT_MISC=m
223# CONFIG_IOMMU_HELPER is not set 223# CONFIG_IOMMU_HELPER is not set
224# CONFIG_HOTPLUG_CPU is not set
225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
226CONFIG_ARCH_HAS_WALK_MEMORY=y 225CONFIG_ARCH_HAS_WALK_MEMORY=y
227CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -235,15 +234,15 @@ CONFIG_FLATMEM_MANUAL=y
235# CONFIG_SPARSEMEM_MANUAL is not set 234# CONFIG_SPARSEMEM_MANUAL is not set
236CONFIG_FLATMEM=y 235CONFIG_FLATMEM=y
237CONFIG_FLAT_NODE_MEM_MAP=y 236CONFIG_FLAT_NODE_MEM_MAP=y
238# CONFIG_SPARSEMEM_STATIC is not set
239# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
240CONFIG_PAGEFLAGS_EXTENDED=y 237CONFIG_PAGEFLAGS_EXTENDED=y
241CONFIG_SPLIT_PTLOCK_CPUS=4 238CONFIG_SPLIT_PTLOCK_CPUS=4
242CONFIG_MIGRATION=y 239CONFIG_MIGRATION=y
243# CONFIG_RESOURCES_64BIT is not set 240# CONFIG_RESOURCES_64BIT is not set
241# CONFIG_PHYS_ADDR_T_64BIT is not set
244CONFIG_ZONE_DMA_FLAG=1 242CONFIG_ZONE_DMA_FLAG=1
245CONFIG_BOUNCE=y 243CONFIG_BOUNCE=y
246CONFIG_VIRT_TO_BUS=y 244CONFIG_VIRT_TO_BUS=y
245CONFIG_UNEVICTABLE_LRU=y
247CONFIG_FORCE_MAX_ZONEORDER=11 246CONFIG_FORCE_MAX_ZONEORDER=11
248# CONFIG_PROC_DEVICETREE is not set 247# CONFIG_PROC_DEVICETREE is not set
249# CONFIG_CMDLINE_BOOL is not set 248# CONFIG_CMDLINE_BOOL is not set
@@ -255,7 +254,6 @@ CONFIG_ISA_DMA_API=y
255# 254#
256# Bus options 255# Bus options
257# 256#
258# CONFIG_ISA is not set
259CONFIG_ZONE_DMA=y 257CONFIG_ZONE_DMA=y
260CONFIG_GENERIC_ISA_DMA=y 258CONFIG_GENERIC_ISA_DMA=y
261CONFIG_PPC_INDIRECT_PCI=y 259CONFIG_PPC_INDIRECT_PCI=y
@@ -270,7 +268,7 @@ CONFIG_PCIEAER=y
270# CONFIG_PCIEASPM is not set 268# CONFIG_PCIEASPM is not set
271CONFIG_ARCH_SUPPORTS_MSI=y 269CONFIG_ARCH_SUPPORTS_MSI=y
272# CONFIG_PCI_MSI is not set 270# CONFIG_PCI_MSI is not set
273CONFIG_PCI_LEGACY=y 271# CONFIG_PCI_LEGACY is not set
274# CONFIG_PCI_DEBUG is not set 272# CONFIG_PCI_DEBUG is not set
275# CONFIG_PCCARD is not set 273# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 274# CONFIG_HOTPLUG_PCI is not set
@@ -341,7 +339,6 @@ CONFIG_INET_TCP_DIAG=y
341CONFIG_TCP_CONG_CUBIC=y 339CONFIG_TCP_CONG_CUBIC=y
342CONFIG_DEFAULT_TCP_CONG="cubic" 340CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_TCP_MD5SIG is not set 341# CONFIG_TCP_MD5SIG is not set
344# CONFIG_IP_VS is not set
345CONFIG_IPV6=m 342CONFIG_IPV6=m
346# CONFIG_IPV6_PRIVACY is not set 343# CONFIG_IPV6_PRIVACY is not set
347# CONFIG_IPV6_ROUTER_PREF is not set 344# CONFIG_IPV6_ROUTER_PREF is not set
@@ -378,8 +375,8 @@ CONFIG_NETFILTER_XTABLES=m
378# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 375# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
379# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 376# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
380# CONFIG_NETFILTER_XT_TARGET_MARK is not set 377# CONFIG_NETFILTER_XT_TARGET_MARK is not set
381# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
382# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 378# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
379# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
383# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 380# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
384# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 381# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
385# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 382# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
@@ -388,37 +385,39 @@ CONFIG_NETFILTER_XTABLES=m
388# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 385# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
389# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 386# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
390# CONFIG_NETFILTER_XT_MATCH_ESP is not set 387# CONFIG_NETFILTER_XT_MATCH_ESP is not set
388# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
391# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 389# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
392# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 390# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
393# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 391# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
394# CONFIG_NETFILTER_XT_MATCH_MAC is not set 392# CONFIG_NETFILTER_XT_MATCH_MAC is not set
395# CONFIG_NETFILTER_XT_MATCH_MARK is not set 393# CONFIG_NETFILTER_XT_MATCH_MARK is not set
394# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
396# CONFIG_NETFILTER_XT_MATCH_OWNER is not set 395# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
397# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 396# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
398# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
399# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set 397# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
400# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 398# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
401# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 399# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
402# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 400# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
403# CONFIG_NETFILTER_XT_MATCH_REALM is not set 401# CONFIG_NETFILTER_XT_MATCH_REALM is not set
402# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
404# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 403# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
405# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 404# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
406# CONFIG_NETFILTER_XT_MATCH_STRING is not set 405# CONFIG_NETFILTER_XT_MATCH_STRING is not set
407# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 406# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
408# CONFIG_NETFILTER_XT_MATCH_TIME is not set 407# CONFIG_NETFILTER_XT_MATCH_TIME is not set
409# CONFIG_NETFILTER_XT_MATCH_U32 is not set 408# CONFIG_NETFILTER_XT_MATCH_U32 is not set
410# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 409# CONFIG_IP_VS is not set
411 410
412# 411#
413# IP: Netfilter Configuration 412# IP: Netfilter Configuration
414# 413#
414# CONFIG_NF_DEFRAG_IPV4 is not set
415CONFIG_IP_NF_QUEUE=m 415CONFIG_IP_NF_QUEUE=m
416CONFIG_IP_NF_IPTABLES=m 416CONFIG_IP_NF_IPTABLES=m
417CONFIG_IP_NF_MATCH_RECENT=m 417CONFIG_IP_NF_MATCH_ADDRTYPE=m
418CONFIG_IP_NF_MATCH_ECN=m
419# CONFIG_IP_NF_MATCH_AH is not set 418# CONFIG_IP_NF_MATCH_AH is not set
419CONFIG_IP_NF_MATCH_ECN=m
420CONFIG_IP_NF_MATCH_TTL=m 420CONFIG_IP_NF_MATCH_TTL=m
421CONFIG_IP_NF_MATCH_ADDRTYPE=m
422CONFIG_IP_NF_FILTER=m 421CONFIG_IP_NF_FILTER=m
423CONFIG_IP_NF_TARGET_REJECT=m 422CONFIG_IP_NF_TARGET_REJECT=m
424CONFIG_IP_NF_TARGET_LOG=m 423CONFIG_IP_NF_TARGET_LOG=m
@@ -437,25 +436,21 @@ CONFIG_IP_NF_ARP_MANGLE=m
437# 436#
438CONFIG_IP6_NF_QUEUE=m 437CONFIG_IP6_NF_QUEUE=m
439CONFIG_IP6_NF_IPTABLES=m 438CONFIG_IP6_NF_IPTABLES=m
440CONFIG_IP6_NF_MATCH_RT=m 439# CONFIG_IP6_NF_MATCH_AH is not set
441CONFIG_IP6_NF_MATCH_OPTS=m 440CONFIG_IP6_NF_MATCH_EUI64=m
442CONFIG_IP6_NF_MATCH_FRAG=m 441CONFIG_IP6_NF_MATCH_FRAG=m
442CONFIG_IP6_NF_MATCH_OPTS=m
443CONFIG_IP6_NF_MATCH_HL=m 443CONFIG_IP6_NF_MATCH_HL=m
444CONFIG_IP6_NF_MATCH_IPV6HEADER=m 444CONFIG_IP6_NF_MATCH_IPV6HEADER=m
445# CONFIG_IP6_NF_MATCH_AH is not set
446# CONFIG_IP6_NF_MATCH_MH is not set 445# CONFIG_IP6_NF_MATCH_MH is not set
447CONFIG_IP6_NF_MATCH_EUI64=m 446CONFIG_IP6_NF_MATCH_RT=m
448CONFIG_IP6_NF_FILTER=m
449CONFIG_IP6_NF_TARGET_LOG=m 447CONFIG_IP6_NF_TARGET_LOG=m
448CONFIG_IP6_NF_FILTER=m
450# CONFIG_IP6_NF_TARGET_REJECT is not set 449# CONFIG_IP6_NF_TARGET_REJECT is not set
451CONFIG_IP6_NF_MANGLE=m 450CONFIG_IP6_NF_MANGLE=m
452# CONFIG_IP6_NF_TARGET_HL is not set 451# CONFIG_IP6_NF_TARGET_HL is not set
453CONFIG_IP6_NF_RAW=m 452CONFIG_IP6_NF_RAW=m
454# CONFIG_IP6_NF_SECURITY is not set 453# CONFIG_IP6_NF_SECURITY is not set
455
456#
457# Bridge: Netfilter Configuration
458#
459# CONFIG_BRIDGE_NF_EBTABLES is not set 454# CONFIG_BRIDGE_NF_EBTABLES is not set
460# CONFIG_IP_DCCP is not set 455# CONFIG_IP_DCCP is not set
461CONFIG_IP_SCTP=m 456CONFIG_IP_SCTP=m
@@ -476,6 +471,7 @@ CONFIG_ATM_BR2684=m
476# CONFIG_ATM_BR2684_IPFILTER is not set 471# CONFIG_ATM_BR2684_IPFILTER is not set
477CONFIG_STP=m 472CONFIG_STP=m
478CONFIG_BRIDGE=m 473CONFIG_BRIDGE=m
474# CONFIG_NET_DSA is not set
479CONFIG_VLAN_8021Q=m 475CONFIG_VLAN_8021Q=m
480# CONFIG_VLAN_8021Q_GVRP is not set 476# CONFIG_VLAN_8021Q_GVRP is not set
481# CONFIG_DECNET is not set 477# CONFIG_DECNET is not set
@@ -497,6 +493,7 @@ CONFIG_NET_SCH_HTB=m
497CONFIG_NET_SCH_HFSC=m 493CONFIG_NET_SCH_HFSC=m
498CONFIG_NET_SCH_ATM=m 494CONFIG_NET_SCH_ATM=m
499CONFIG_NET_SCH_PRIO=m 495CONFIG_NET_SCH_PRIO=m
496# CONFIG_NET_SCH_MULTIQ is not set
500CONFIG_NET_SCH_RED=m 497CONFIG_NET_SCH_RED=m
501CONFIG_NET_SCH_SFQ=m 498CONFIG_NET_SCH_SFQ=m
502CONFIG_NET_SCH_TEQL=m 499CONFIG_NET_SCH_TEQL=m
@@ -534,12 +531,11 @@ CONFIG_NET_PKTGEN=m
534# CONFIG_IRDA is not set 531# CONFIG_IRDA is not set
535# CONFIG_BT is not set 532# CONFIG_BT is not set
536# CONFIG_AF_RXRPC is not set 533# CONFIG_AF_RXRPC is not set
534# CONFIG_PHONET is not set
537CONFIG_FIB_RULES=y 535CONFIG_FIB_RULES=y
538 536CONFIG_WIRELESS=y
539#
540# Wireless
541#
542# CONFIG_CFG80211 is not set 537# CONFIG_CFG80211 is not set
538CONFIG_WIRELESS_OLD_REGULATORY=y
543# CONFIG_WIRELESS_EXT is not set 539# CONFIG_WIRELESS_EXT is not set
544# CONFIG_MAC80211 is not set 540# CONFIG_MAC80211 is not set
545# CONFIG_IEEE80211 is not set 541# CONFIG_IEEE80211 is not set
@@ -649,7 +645,6 @@ CONFIG_OF_I2C=y
649# CONFIG_PARPORT is not set 645# CONFIG_PARPORT is not set
650CONFIG_BLK_DEV=y 646CONFIG_BLK_DEV=y
651# CONFIG_BLK_DEV_FD is not set 647# CONFIG_BLK_DEV_FD is not set
652# CONFIG_MAC_FLOPPY is not set
653# CONFIG_BLK_CPQ_DA is not set 648# CONFIG_BLK_CPQ_DA is not set
654# CONFIG_BLK_CPQ_CISS_DA is not set 649# CONFIG_BLK_CPQ_CISS_DA is not set
655# CONFIG_BLK_DEV_DAC960 is not set 650# CONFIG_BLK_DEV_DAC960 is not set
@@ -686,6 +681,7 @@ CONFIG_HAVE_IDE=y
686# CONFIG_ATA is not set 681# CONFIG_ATA is not set
687CONFIG_MD=y 682CONFIG_MD=y
688CONFIG_BLK_DEV_MD=y 683CONFIG_BLK_DEV_MD=y
684CONFIG_MD_AUTODETECT=y
689CONFIG_MD_LINEAR=y 685CONFIG_MD_LINEAR=y
690CONFIG_MD_RAID0=y 686CONFIG_MD_RAID0=y
691CONFIG_MD_RAID1=y 687CONFIG_MD_RAID1=y
@@ -742,8 +738,6 @@ CONFIG_BROADCOM_PHY=y
742# CONFIG_MDIO_BITBANG is not set 738# CONFIG_MDIO_BITBANG is not set
743CONFIG_NET_ETHERNET=y 739CONFIG_NET_ETHERNET=y
744CONFIG_MII=y 740CONFIG_MII=y
745# CONFIG_MACE is not set
746# CONFIG_BMAC is not set
747# CONFIG_HAPPYMEAL is not set 741# CONFIG_HAPPYMEAL is not set
748# CONFIG_SUNGEM is not set 742# CONFIG_SUNGEM is not set
749# CONFIG_CASSINI is not set 743# CONFIG_CASSINI is not set
@@ -754,8 +748,12 @@ CONFIG_MII=y
754# CONFIG_IBM_NEW_EMAC_RGMII is not set 748# CONFIG_IBM_NEW_EMAC_RGMII is not set
755# CONFIG_IBM_NEW_EMAC_TAH is not set 749# CONFIG_IBM_NEW_EMAC_TAH is not set
756# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 750# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
751# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
752# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
753# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
757# CONFIG_NET_PCI is not set 754# CONFIG_NET_PCI is not set
758# CONFIG_B44 is not set 755# CONFIG_B44 is not set
756# CONFIG_ATL2 is not set
759CONFIG_NETDEV_1000=y 757CONFIG_NETDEV_1000=y
760# CONFIG_ACENIC is not set 758# CONFIG_ACENIC is not set
761# CONFIG_DL2K is not set 759# CONFIG_DL2K is not set
@@ -778,6 +776,7 @@ CONFIG_GIANFAR=y
778# CONFIG_QLA3XXX is not set 776# CONFIG_QLA3XXX is not set
779# CONFIG_ATL1 is not set 777# CONFIG_ATL1 is not set
780# CONFIG_ATL1E is not set 778# CONFIG_ATL1E is not set
779# CONFIG_JME is not set
781# CONFIG_NETDEV_10000 is not set 780# CONFIG_NETDEV_10000 is not set
782# CONFIG_TR is not set 781# CONFIG_TR is not set
783 782
@@ -890,14 +889,11 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=2
890# CONFIG_SERIAL_UARTLITE is not set 889# CONFIG_SERIAL_UARTLITE is not set
891CONFIG_SERIAL_CORE=y 890CONFIG_SERIAL_CORE=y
892CONFIG_SERIAL_CORE_CONSOLE=y 891CONFIG_SERIAL_CORE_CONSOLE=y
893# CONFIG_SERIAL_PMACZILOG is not set
894# CONFIG_SERIAL_JSM is not set 892# CONFIG_SERIAL_JSM is not set
895# CONFIG_SERIAL_OF_PLATFORM is not set 893# CONFIG_SERIAL_OF_PLATFORM is not set
896CONFIG_UNIX98_PTYS=y 894CONFIG_UNIX98_PTYS=y
897CONFIG_LEGACY_PTYS=y 895CONFIG_LEGACY_PTYS=y
898CONFIG_LEGACY_PTY_COUNT=256 896CONFIG_LEGACY_PTY_COUNT=256
899# CONFIG_BRIQ_PANEL is not set
900# CONFIG_HVC_RTAS is not set
901# CONFIG_IPMI_HANDLER is not set 897# CONFIG_IPMI_HANDLER is not set
902CONFIG_HW_RANDOM=m 898CONFIG_HW_RANDOM=m
903# CONFIG_NVRAM is not set 899# CONFIG_NVRAM is not set
@@ -935,12 +931,6 @@ CONFIG_I2C_HELPER_AUTO=y
935# CONFIG_I2C_VIAPRO is not set 931# CONFIG_I2C_VIAPRO is not set
936 932
937# 933#
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) 934# I2C system bus drivers (mostly embedded / system-on-chip)
945# 935#
946CONFIG_I2C_MPC=y 936CONFIG_I2C_MPC=y
@@ -997,7 +987,6 @@ CONFIG_HWMON=y
997# CONFIG_SENSORS_ADM9240 is not set 987# CONFIG_SENSORS_ADM9240 is not set
998# CONFIG_SENSORS_ADT7470 is not set 988# CONFIG_SENSORS_ADT7470 is not set
999# CONFIG_SENSORS_ADT7473 is not set 989# CONFIG_SENSORS_ADT7473 is not set
1000# CONFIG_SENSORS_AMS is not set
1001# CONFIG_SENSORS_ATXP1 is not set 990# CONFIG_SENSORS_ATXP1 is not set
1002# CONFIG_SENSORS_DS1621 is not set 991# CONFIG_SENSORS_DS1621 is not set
1003# CONFIG_SENSORS_I5K_AMB is not set 992# CONFIG_SENSORS_I5K_AMB is not set
@@ -1052,7 +1041,6 @@ CONFIG_WATCHDOG=y
1052CONFIG_SOFT_WATCHDOG=m 1041CONFIG_SOFT_WATCHDOG=m
1053# CONFIG_ALIM7101_WDT is not set 1042# CONFIG_ALIM7101_WDT is not set
1054# CONFIG_8xxx_WDT is not set 1043# CONFIG_8xxx_WDT is not set
1055# CONFIG_WATCHDOG_RTAS is not set
1056 1044
1057# 1045#
1058# PCI-based Watchdog Cards 1046# PCI-based Watchdog Cards
@@ -1073,6 +1061,17 @@ CONFIG_SSB_POSSIBLE=y
1073# CONFIG_MFD_SM501 is not set 1061# CONFIG_MFD_SM501 is not set
1074# CONFIG_HTC_PASIC3 is not set 1062# CONFIG_HTC_PASIC3 is not set
1075# CONFIG_MFD_TMIO is not set 1063# CONFIG_MFD_TMIO is not set
1064# CONFIG_PMIC_DA903X is not set
1065# CONFIG_MFD_WM8400 is not set
1066# CONFIG_MFD_WM8350_I2C is not set
1067
1068#
1069# Voltage and Current regulators
1070#
1071# CONFIG_REGULATOR is not set
1072# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1073# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1074# CONFIG_REGULATOR_BQ24022 is not set
1076 1075
1077# 1076#
1078# Multimedia devices 1077# Multimedia devices
@@ -1116,6 +1115,12 @@ CONFIG_HID_SUPPORT=y
1116CONFIG_HID=y 1115CONFIG_HID=y
1117# CONFIG_HID_DEBUG is not set 1116# CONFIG_HID_DEBUG is not set
1118# CONFIG_HIDRAW is not set 1117# CONFIG_HIDRAW is not set
1118# CONFIG_HID_PID is not set
1119
1120#
1121# Special HID drivers
1122#
1123CONFIG_HID_COMPAT=y
1119CONFIG_USB_SUPPORT=y 1124CONFIG_USB_SUPPORT=y
1120CONFIG_USB_ARCH_HAS_HCD=y 1125CONFIG_USB_ARCH_HAS_HCD=y
1121CONFIG_USB_ARCH_HAS_OHCI=y 1126CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1132,6 +1137,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1132# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1137# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1133# 1138#
1134# CONFIG_USB_GADGET is not set 1139# CONFIG_USB_GADGET is not set
1140# CONFIG_UWB is not set
1135# CONFIG_MMC is not set 1141# CONFIG_MMC is not set
1136# CONFIG_MEMSTICK is not set 1142# CONFIG_MEMSTICK is not set
1137# CONFIG_NEW_LEDS is not set 1143# CONFIG_NEW_LEDS is not set
@@ -1141,6 +1147,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1141# CONFIG_RTC_CLASS is not set 1147# CONFIG_RTC_CLASS is not set
1142# CONFIG_DMADEVICES is not set 1148# CONFIG_DMADEVICES is not set
1143# CONFIG_UIO is not set 1149# CONFIG_UIO is not set
1150# CONFIG_STAGING is not set
1144 1151
1145# 1152#
1146# File systems 1153# File systems
@@ -1154,9 +1161,11 @@ CONFIG_EXT3_FS=y
1154CONFIG_EXT3_FS_XATTR=y 1161CONFIG_EXT3_FS_XATTR=y
1155CONFIG_EXT3_FS_POSIX_ACL=y 1162CONFIG_EXT3_FS_POSIX_ACL=y
1156# CONFIG_EXT3_FS_SECURITY is not set 1163# CONFIG_EXT3_FS_SECURITY is not set
1157# CONFIG_EXT4DEV_FS is not set 1164# CONFIG_EXT4_FS is not set
1158CONFIG_JBD=y 1165CONFIG_JBD=y
1159# CONFIG_JBD_DEBUG is not set 1166# CONFIG_JBD_DEBUG is not set
1167CONFIG_JBD2=m
1168# CONFIG_JBD2_DEBUG is not set
1160CONFIG_FS_MBCACHE=y 1169CONFIG_FS_MBCACHE=y
1161CONFIG_REISERFS_FS=m 1170CONFIG_REISERFS_FS=m
1162# CONFIG_REISERFS_CHECK is not set 1171# CONFIG_REISERFS_CHECK is not set
@@ -1166,12 +1175,14 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
1166# CONFIG_REISERFS_FS_SECURITY is not set 1175# CONFIG_REISERFS_FS_SECURITY is not set
1167# CONFIG_JFS_FS is not set 1176# CONFIG_JFS_FS is not set
1168CONFIG_FS_POSIX_ACL=y 1177CONFIG_FS_POSIX_ACL=y
1178CONFIG_FILE_LOCKING=y
1169# CONFIG_XFS_FS is not set 1179# CONFIG_XFS_FS is not set
1170CONFIG_OCFS2_FS=m 1180CONFIG_OCFS2_FS=m
1171CONFIG_OCFS2_FS_O2CB=m 1181CONFIG_OCFS2_FS_O2CB=m
1172CONFIG_OCFS2_FS_STATS=y 1182CONFIG_OCFS2_FS_STATS=y
1173CONFIG_OCFS2_DEBUG_MASKLOG=y 1183CONFIG_OCFS2_DEBUG_MASKLOG=y
1174# CONFIG_OCFS2_DEBUG_FS is not set 1184# CONFIG_OCFS2_DEBUG_FS is not set
1185# CONFIG_OCFS2_COMPAT_JBD is not set
1175CONFIG_DNOTIFY=y 1186CONFIG_DNOTIFY=y
1176CONFIG_INOTIFY=y 1187CONFIG_INOTIFY=y
1177CONFIG_INOTIFY_USER=y 1188CONFIG_INOTIFY_USER=y
@@ -1199,6 +1210,7 @@ CONFIG_AUTOFS4_FS=m
1199CONFIG_PROC_FS=y 1210CONFIG_PROC_FS=y
1200CONFIG_PROC_KCORE=y 1211CONFIG_PROC_KCORE=y
1201CONFIG_PROC_SYSCTL=y 1212CONFIG_PROC_SYSCTL=y
1213CONFIG_PROC_PAGE_MONITOR=y
1202CONFIG_SYSFS=y 1214CONFIG_SYSFS=y
1203CONFIG_TMPFS=y 1215CONFIG_TMPFS=y
1204# CONFIG_TMPFS_POSIX_ACL is not set 1216# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1237,6 +1249,7 @@ CONFIG_LOCKD_V4=y
1237CONFIG_NFS_COMMON=y 1249CONFIG_NFS_COMMON=y
1238CONFIG_SUNRPC=y 1250CONFIG_SUNRPC=y
1239CONFIG_SUNRPC_GSS=y 1251CONFIG_SUNRPC_GSS=y
1252# CONFIG_SUNRPC_REGISTER_V4 is not set
1240CONFIG_RPCSEC_GSS_KRB5=y 1253CONFIG_RPCSEC_GSS_KRB5=y
1241# CONFIG_RPCSEC_GSS_SPKM3 is not set 1254# CONFIG_RPCSEC_GSS_SPKM3 is not set
1242CONFIG_SMB_FS=m 1255CONFIG_SMB_FS=m
@@ -1257,7 +1270,6 @@ CONFIG_CIFS_POSIX=y
1257# Partition Types 1270# Partition Types
1258# 1271#
1259# CONFIG_PARTITION_ADVANCED is not set 1272# CONFIG_PARTITION_ADVANCED is not set
1260CONFIG_MAC_PARTITION=y
1261CONFIG_MSDOS_PARTITION=y 1273CONFIG_MSDOS_PARTITION=y
1262CONFIG_NLS=m 1274CONFIG_NLS=m
1263CONFIG_NLS_DEFAULT="iso8859-1" 1275CONFIG_NLS_DEFAULT="iso8859-1"
@@ -1305,7 +1317,6 @@ CONFIG_NLS_UTF8=m
1305# Library routines 1317# Library routines
1306# 1318#
1307CONFIG_BITREVERSE=y 1319CONFIG_BITREVERSE=y
1308# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1309CONFIG_CRC_CCITT=m 1320CONFIG_CRC_CCITT=m
1310# CONFIG_CRC16 is not set 1321# CONFIG_CRC16 is not set
1311# CONFIG_CRC_T10DIF is not set 1322# CONFIG_CRC_T10DIF is not set
@@ -1358,16 +1369,24 @@ CONFIG_DEBUG_INFO=y
1358# CONFIG_DEBUG_SG is not set 1369# CONFIG_DEBUG_SG is not set
1359# CONFIG_BOOT_PRINTK_DELAY is not set 1370# CONFIG_BOOT_PRINTK_DELAY is not set
1360# CONFIG_RCU_TORTURE_TEST is not set 1371# CONFIG_RCU_TORTURE_TEST is not set
1372# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1361# CONFIG_BACKTRACE_SELF_TEST is not set 1373# CONFIG_BACKTRACE_SELF_TEST is not set
1374# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1362# CONFIG_FAULT_INJECTION is not set 1375# CONFIG_FAULT_INJECTION is not set
1363# CONFIG_LATENCYTOP is not set 1376# CONFIG_LATENCYTOP is not set
1364CONFIG_SYSCTL_SYSCALL_CHECK=y 1377CONFIG_SYSCTL_SYSCALL_CHECK=y
1365CONFIG_HAVE_FTRACE=y 1378CONFIG_HAVE_FUNCTION_TRACER=y
1366CONFIG_HAVE_DYNAMIC_FTRACE=y 1379
1367# CONFIG_FTRACE is not set 1380#
1381# Tracers
1382#
1383# CONFIG_FUNCTION_TRACER is not set
1368# CONFIG_PREEMPT_TRACER is not set 1384# CONFIG_PREEMPT_TRACER is not set
1369# CONFIG_SCHED_TRACER is not set 1385# CONFIG_SCHED_TRACER is not set
1370# CONFIG_CONTEXT_SWITCH_TRACER is not set 1386# CONFIG_CONTEXT_SWITCH_TRACER is not set
1387# CONFIG_BOOT_TRACER is not set
1388# CONFIG_STACK_TRACER is not set
1389# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1371# CONFIG_SAMPLES is not set 1390# CONFIG_SAMPLES is not set
1372CONFIG_HAVE_ARCH_KGDB=y 1391CONFIG_HAVE_ARCH_KGDB=y
1373# CONFIG_KGDB is not set 1392# CONFIG_KGDB is not set
@@ -1376,6 +1395,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1376# CONFIG_DEBUG_PAGEALLOC is not set 1395# CONFIG_DEBUG_PAGEALLOC is not set
1377# CONFIG_CODE_PATCHING_SELFTEST is not set 1396# CONFIG_CODE_PATCHING_SELFTEST is not set
1378# CONFIG_FTR_FIXUP_SELFTEST is not set 1397# CONFIG_FTR_FIXUP_SELFTEST is not set
1398# CONFIG_MSI_BITMAP_SELFTEST is not set
1379# CONFIG_XMON is not set 1399# CONFIG_XMON is not set
1380# CONFIG_IRQSTACKS is not set 1400# CONFIG_IRQSTACKS is not set
1381# CONFIG_VIRQ_DEBUG is not set 1401# CONFIG_VIRQ_DEBUG is not set
@@ -1388,6 +1408,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1388# 1408#
1389# CONFIG_KEYS is not set 1409# CONFIG_KEYS is not set
1390CONFIG_SECURITY=y 1410CONFIG_SECURITY=y
1411# CONFIG_SECURITYFS is not set
1391CONFIG_SECURITY_NETWORK=y 1412CONFIG_SECURITY_NETWORK=y
1392# CONFIG_SECURITY_NETWORK_XFRM is not set 1413# CONFIG_SECURITY_NETWORK_XFRM is not set
1393# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1414# CONFIG_SECURITY_FILE_CAPABILITIES is not set
@@ -1397,10 +1418,12 @@ CONFIG_CRYPTO=y
1397# 1418#
1398# Crypto core or helper 1419# Crypto core or helper
1399# 1420#
1421# CONFIG_CRYPTO_FIPS is not set
1400CONFIG_CRYPTO_ALGAPI=y 1422CONFIG_CRYPTO_ALGAPI=y
1401CONFIG_CRYPTO_AEAD=m 1423CONFIG_CRYPTO_AEAD=y
1402CONFIG_CRYPTO_BLKCIPHER=y 1424CONFIG_CRYPTO_BLKCIPHER=y
1403CONFIG_CRYPTO_HASH=y 1425CONFIG_CRYPTO_HASH=y
1426CONFIG_CRYPTO_RNG=y
1404CONFIG_CRYPTO_MANAGER=y 1427CONFIG_CRYPTO_MANAGER=y
1405# CONFIG_CRYPTO_GF128MUL is not set 1428# CONFIG_CRYPTO_GF128MUL is not set
1406CONFIG_CRYPTO_NULL=m 1429CONFIG_CRYPTO_NULL=m
@@ -1474,6 +1497,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1474# 1497#
1475CONFIG_CRYPTO_DEFLATE=m 1498CONFIG_CRYPTO_DEFLATE=m
1476# CONFIG_CRYPTO_LZO is not set 1499# CONFIG_CRYPTO_LZO is not set
1500
1501#
1502# Random Number Generation
1503#
1504# CONFIG_CRYPTO_ANSI_CPRNG is not set
1477CONFIG_CRYPTO_HW=y 1505CONFIG_CRYPTO_HW=y
1478# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1506# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1479# CONFIG_CRYPTO_DEV_TALITOS is not set 1507# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 63cd51fbb4b9..024f279af90a 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:00 2008 4# Sat Nov 8 12:39:32 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_8xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -102,6 +102,7 @@ CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y 102CONFIG_TIMERFD=y
103CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
104CONFIG_SHMEM=y 104CONFIG_SHMEM=y
105CONFIG_AIO=y
105# CONFIG_VM_EVENT_COUNTERS is not set 106# CONFIG_VM_EVENT_COUNTERS is not set
106CONFIG_SLUB_DEBUG=y 107CONFIG_SLUB_DEBUG=y
107# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
@@ -115,10 +116,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 116CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 117CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 118CONFIG_HAVE_ARCH_TRACEHOOK=y
118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120CONFIG_HAVE_CLK=y 119CONFIG_HAVE_CLK=y
121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 120# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 121CONFIG_SLABINFO=y
124# CONFIG_TINY_SHMEM is not set 122# CONFIG_TINY_SHMEM is not set
@@ -144,6 +142,7 @@ CONFIG_DEFAULT_DEADLINE=y
144# CONFIG_DEFAULT_NOOP is not set 142# CONFIG_DEFAULT_NOOP is not set
145CONFIG_DEFAULT_IOSCHED="deadline" 143CONFIG_DEFAULT_IOSCHED="deadline"
146CONFIG_CLASSIC_RCU=y 144CONFIG_CLASSIC_RCU=y
145# CONFIG_FREEZER is not set
147 146
148# 147#
149# Platform support 148# Platform support
@@ -156,6 +155,7 @@ CONFIG_CPM1=y
156# CONFIG_MPC885ADS is not set 155# CONFIG_MPC885ADS is not set
157# CONFIG_PPC_EP88XC is not set 156# CONFIG_PPC_EP88XC is not set
158CONFIG_PPC_ADDER875=y 157CONFIG_PPC_ADDER875=y
158# CONFIG_PPC_MGSUVD is not set
159 159
160# 160#
161# MPC8xx CPM Options 161# MPC8xx CPM Options
@@ -184,6 +184,7 @@ CONFIG_NO_UCODE_PATCH=y
184# CONFIG_PPC_INDIRECT_IO is not set 184# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 185# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 186# CONFIG_CPU_FREQ is not set
187# CONFIG_QUICC_ENGINE is not set
187# CONFIG_FSL_ULI1575 is not set 188# CONFIG_FSL_ULI1575 is not set
188CONFIG_CPM=y 189CONFIG_CPM=y
189 190
@@ -191,7 +192,6 @@ CONFIG_CPM=y
191# Kernel options 192# Kernel options
192# 193#
193# CONFIG_HIGHMEM is not set 194# CONFIG_HIGHMEM is not set
194# CONFIG_TICK_ONESHOT is not set
195# CONFIG_NO_HZ is not set 195# CONFIG_NO_HZ is not set
196# CONFIG_HIGH_RES_TIMERS is not set 196# CONFIG_HIGH_RES_TIMERS is not set
197CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 197CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -205,6 +205,8 @@ CONFIG_PREEMPT_NONE=y
205# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
206# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
207CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
208# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
209# CONFIG_HAVE_AOUT is not set
208# CONFIG_BINFMT_MISC is not set 210# CONFIG_BINFMT_MISC is not set
209# CONFIG_MATH_EMULATION is not set 211# CONFIG_MATH_EMULATION is not set
210# CONFIG_8XX_MINIMAL_FPEMU is not set 212# CONFIG_8XX_MINIMAL_FPEMU is not set
@@ -220,15 +222,15 @@ CONFIG_FLATMEM_MANUAL=y
220# CONFIG_SPARSEMEM_MANUAL is not set 222# CONFIG_SPARSEMEM_MANUAL is not set
221CONFIG_FLATMEM=y 223CONFIG_FLATMEM=y
222CONFIG_FLAT_NODE_MEM_MAP=y 224CONFIG_FLAT_NODE_MEM_MAP=y
223# CONFIG_SPARSEMEM_STATIC is not set
224# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
225CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
226CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
227CONFIG_MIGRATION=y 227CONFIG_MIGRATION=y
228# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
229# CONFIG_PHYS_ADDR_T_64BIT is not set
229CONFIG_ZONE_DMA_FLAG=1 230CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 231CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 232CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y
232CONFIG_FORCE_MAX_ZONEORDER=11 234CONFIG_FORCE_MAX_ZONEORDER=11
233# CONFIG_PROC_DEVICETREE is not set 235# CONFIG_PROC_DEVICETREE is not set
234# CONFIG_CMDLINE_BOOL is not set 236# CONFIG_CMDLINE_BOOL is not set
@@ -310,6 +312,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
310# CONFIG_TIPC is not set 312# CONFIG_TIPC is not set
311# CONFIG_ATM is not set 313# CONFIG_ATM is not set
312# CONFIG_BRIDGE is not set 314# CONFIG_BRIDGE is not set
315# CONFIG_NET_DSA is not set
313# CONFIG_VLAN_8021Q is not set 316# CONFIG_VLAN_8021Q is not set
314# CONFIG_DECNET is not set 317# CONFIG_DECNET is not set
315# CONFIG_LLC2 is not set 318# CONFIG_LLC2 is not set
@@ -330,11 +333,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
330# CONFIG_IRDA is not set 333# CONFIG_IRDA is not set
331# CONFIG_BT is not set 334# CONFIG_BT is not set
332# CONFIG_AF_RXRPC is not set 335# CONFIG_AF_RXRPC is not set
333 336# CONFIG_PHONET is not set
334# 337CONFIG_WIRELESS=y
335# Wireless
336#
337# CONFIG_CFG80211 is not set 338# CONFIG_CFG80211 is not set
339CONFIG_WIRELESS_OLD_REGULATORY=y
338# CONFIG_WIRELESS_EXT is not set 340# CONFIG_WIRELESS_EXT is not set
339# CONFIG_MAC80211 is not set 341# CONFIG_MAC80211 is not set
340# CONFIG_IEEE80211 is not set 342# CONFIG_IEEE80211 is not set
@@ -476,6 +478,9 @@ CONFIG_MII=y
476# CONFIG_IBM_NEW_EMAC_RGMII is not set 478# CONFIG_IBM_NEW_EMAC_RGMII is not set
477# CONFIG_IBM_NEW_EMAC_TAH is not set 479# CONFIG_IBM_NEW_EMAC_TAH is not set
478# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 480# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
481# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
482# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
483# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
479# CONFIG_B44 is not set 484# CONFIG_B44 is not set
480CONFIG_FS_ENET=y 485CONFIG_FS_ENET=y
481# CONFIG_FS_ENET_HAS_SCC is not set 486# CONFIG_FS_ENET_HAS_SCC is not set
@@ -534,6 +539,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
534CONFIG_MOUSE_PS2_SYNAPTICS=y 539CONFIG_MOUSE_PS2_SYNAPTICS=y
535CONFIG_MOUSE_PS2_LIFEBOOK=y 540CONFIG_MOUSE_PS2_LIFEBOOK=y
536CONFIG_MOUSE_PS2_TRACKPOINT=y 541CONFIG_MOUSE_PS2_TRACKPOINT=y
542# CONFIG_MOUSE_PS2_ELANTECH is not set
537# CONFIG_MOUSE_PS2_TOUCHKIT is not set 543# CONFIG_MOUSE_PS2_TOUCHKIT is not set
538# CONFIG_MOUSE_SERIAL is not set 544# CONFIG_MOUSE_SERIAL is not set
539# CONFIG_MOUSE_VSXXXAA is not set 545# CONFIG_MOUSE_VSXXXAA is not set
@@ -573,12 +579,6 @@ CONFIG_SERIAL_CORE=y
573CONFIG_SERIAL_CORE_CONSOLE=y 579CONFIG_SERIAL_CORE_CONSOLE=y
574CONFIG_SERIAL_CPM=y 580CONFIG_SERIAL_CPM=y
575CONFIG_SERIAL_CPM_CONSOLE=y 581CONFIG_SERIAL_CPM_CONSOLE=y
576# CONFIG_SERIAL_CPM_SCC1 is not set
577# CONFIG_SERIAL_CPM_SCC2 is not set
578# CONFIG_SERIAL_CPM_SCC3 is not set
579# CONFIG_SERIAL_CPM_SCC4 is not set
580CONFIG_SERIAL_CPM_SMC1=y
581CONFIG_SERIAL_CPM_SMC2=y
582CONFIG_UNIX98_PTYS=y 582CONFIG_UNIX98_PTYS=y
583# CONFIG_LEGACY_PTYS is not set 583# CONFIG_LEGACY_PTYS is not set
584# CONFIG_IPMI_HANDLER is not set 584# CONFIG_IPMI_HANDLER is not set
@@ -614,6 +614,14 @@ CONFIG_SSB_POSSIBLE=y
614# CONFIG_MFD_TMIO is not set 614# CONFIG_MFD_TMIO is not set
615 615
616# 616#
617# Voltage and Current regulators
618#
619# CONFIG_REGULATOR is not set
620# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
621# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
622# CONFIG_REGULATOR_BQ24022 is not set
623
624#
617# Multimedia devices 625# Multimedia devices
618# 626#
619 627
@@ -652,16 +660,18 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
652# CONFIG_RTC_CLASS is not set 660# CONFIG_RTC_CLASS is not set
653# CONFIG_DMADEVICES is not set 661# CONFIG_DMADEVICES is not set
654# CONFIG_UIO is not set 662# CONFIG_UIO is not set
663# CONFIG_STAGING is not set
655 664
656# 665#
657# File systems 666# File systems
658# 667#
659# CONFIG_EXT2_FS is not set 668# CONFIG_EXT2_FS is not set
660# CONFIG_EXT3_FS is not set 669# CONFIG_EXT3_FS is not set
661# CONFIG_EXT4DEV_FS is not set 670# CONFIG_EXT4_FS is not set
662# CONFIG_REISERFS_FS is not set 671# CONFIG_REISERFS_FS is not set
663# CONFIG_JFS_FS is not set 672# CONFIG_JFS_FS is not set
664# CONFIG_FS_POSIX_ACL is not set 673# CONFIG_FS_POSIX_ACL is not set
674CONFIG_FILE_LOCKING=y
665# CONFIG_XFS_FS is not set 675# CONFIG_XFS_FS is not set
666# CONFIG_OCFS2_FS is not set 676# CONFIG_OCFS2_FS is not set
667# CONFIG_DNOTIFY is not set 677# CONFIG_DNOTIFY is not set
@@ -690,6 +700,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y
690CONFIG_PROC_FS=y 700CONFIG_PROC_FS=y
691# CONFIG_PROC_KCORE is not set 701# CONFIG_PROC_KCORE is not set
692CONFIG_PROC_SYSCTL=y 702CONFIG_PROC_SYSCTL=y
703CONFIG_PROC_PAGE_MONITOR=y
693CONFIG_SYSFS=y 704CONFIG_SYSFS=y
694CONFIG_TMPFS=y 705CONFIG_TMPFS=y
695# CONFIG_TMPFS_POSIX_ACL is not set 706# CONFIG_TMPFS_POSIX_ACL is not set
@@ -727,6 +738,7 @@ CONFIG_LOCKD=y
727CONFIG_LOCKD_V4=y 738CONFIG_LOCKD_V4=y
728CONFIG_NFS_COMMON=y 739CONFIG_NFS_COMMON=y
729CONFIG_SUNRPC=y 740CONFIG_SUNRPC=y
741# CONFIG_SUNRPC_REGISTER_V4 is not set
730# CONFIG_RPCSEC_GSS_KRB5 is not set 742# CONFIG_RPCSEC_GSS_KRB5 is not set
731# CONFIG_RPCSEC_GSS_SPKM3 is not set 743# CONFIG_RPCSEC_GSS_SPKM3 is not set
732# CONFIG_SMB_FS is not set 744# CONFIG_SMB_FS is not set
@@ -762,7 +774,6 @@ CONFIG_MSDOS_PARTITION=y
762# 774#
763# Library routines 775# Library routines
764# 776#
765# CONFIG_GENERIC_FIND_FIRST_BIT is not set
766# CONFIG_CRC_CCITT is not set 777# CONFIG_CRC_CCITT is not set
767# CONFIG_CRC16 is not set 778# CONFIG_CRC16 is not set
768# CONFIG_CRC_T10DIF is not set 779# CONFIG_CRC_T10DIF is not set
@@ -812,14 +823,22 @@ CONFIG_DEBUG_INFO=y
812# CONFIG_DEBUG_SG is not set 823# CONFIG_DEBUG_SG is not set
813# CONFIG_BOOT_PRINTK_DELAY is not set 824# CONFIG_BOOT_PRINTK_DELAY is not set
814# CONFIG_RCU_TORTURE_TEST is not set 825# CONFIG_RCU_TORTURE_TEST is not set
826# CONFIG_RCU_CPU_STALL_DETECTOR is not set
815# CONFIG_BACKTRACE_SELF_TEST is not set 827# CONFIG_BACKTRACE_SELF_TEST is not set
828# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
816# CONFIG_FAULT_INJECTION is not set 829# CONFIG_FAULT_INJECTION is not set
817# CONFIG_LATENCYTOP is not set 830# CONFIG_LATENCYTOP is not set
818CONFIG_HAVE_FTRACE=y 831CONFIG_HAVE_FUNCTION_TRACER=y
819CONFIG_HAVE_DYNAMIC_FTRACE=y 832
820# CONFIG_FTRACE is not set 833#
834# Tracers
835#
836# CONFIG_FUNCTION_TRACER is not set
821# CONFIG_SCHED_TRACER is not set 837# CONFIG_SCHED_TRACER is not set
822# CONFIG_CONTEXT_SWITCH_TRACER is not set 838# CONFIG_CONTEXT_SWITCH_TRACER is not set
839# CONFIG_BOOT_TRACER is not set
840# CONFIG_STACK_TRACER is not set
841# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
823# CONFIG_SAMPLES is not set 842# CONFIG_SAMPLES is not set
824CONFIG_HAVE_ARCH_KGDB=y 843CONFIG_HAVE_ARCH_KGDB=y
825# CONFIG_KGDB is not set 844# CONFIG_KGDB is not set
@@ -828,6 +847,7 @@ CONFIG_HAVE_ARCH_KGDB=y
828# CONFIG_DEBUG_PAGEALLOC is not set 847# CONFIG_DEBUG_PAGEALLOC is not set
829# CONFIG_CODE_PATCHING_SELFTEST is not set 848# CONFIG_CODE_PATCHING_SELFTEST is not set
830# CONFIG_FTR_FIXUP_SELFTEST is not set 849# CONFIG_FTR_FIXUP_SELFTEST is not set
850# CONFIG_MSI_BITMAP_SELFTEST is not set
831# CONFIG_XMON is not set 851# CONFIG_XMON is not set
832# CONFIG_IRQSTACKS is not set 852# CONFIG_IRQSTACKS is not set
833# CONFIG_VIRQ_DEBUG is not set 853# CONFIG_VIRQ_DEBUG is not set
@@ -839,6 +859,7 @@ CONFIG_HAVE_ARCH_KGDB=y
839# 859#
840# CONFIG_KEYS is not set 860# CONFIG_KEYS is not set
841# CONFIG_SECURITY is not set 861# CONFIG_SECURITY is not set
862# CONFIG_SECURITYFS is not set
842# CONFIG_SECURITY_FILE_CAPABILITIES is not set 863# CONFIG_SECURITY_FILE_CAPABILITIES is not set
843# CONFIG_CRYPTO is not set 864# CONFIG_CRYPTO is not set
844CONFIG_PPC_CLOCK=y 865CONFIG_PPC_CLOCK=y
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index c16521ffb477..5078594cd1f5 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:02 2008 4# Sat Nov 8 12:39:34 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_CHECK_CACHE_COHERENCY=y 24CONFIG_CHECK_CACHE_COHERENCY=y
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -114,7 +114,9 @@ CONFIG_SIGNALFD=y
114CONFIG_TIMERFD=y 114CONFIG_TIMERFD=y
115CONFIG_EVENTFD=y 115CONFIG_EVENTFD=y
116CONFIG_SHMEM=y 116CONFIG_SHMEM=y
117CONFIG_AIO=y
117CONFIG_VM_EVENT_COUNTERS=y 118CONFIG_VM_EVENT_COUNTERS=y
119CONFIG_PCI_QUIRKS=y
118CONFIG_SLUB_DEBUG=y 120CONFIG_SLUB_DEBUG=y
119# CONFIG_SLAB is not set 121# CONFIG_SLAB is not set
120CONFIG_SLUB=y 122CONFIG_SLUB=y
@@ -130,10 +132,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
130CONFIG_HAVE_KPROBES=y 132CONFIG_HAVE_KPROBES=y
131CONFIG_HAVE_KRETPROBES=y 133CONFIG_HAVE_KRETPROBES=y
132CONFIG_HAVE_ARCH_TRACEHOOK=y 134CONFIG_HAVE_ARCH_TRACEHOOK=y
133# CONFIG_HAVE_DMA_ATTRS is not set
134# CONFIG_USE_GENERIC_SMP_HELPERS is not set
135# CONFIG_HAVE_CLK is not set
136CONFIG_PROC_PAGE_MONITOR=y
137# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 135# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
138CONFIG_SLABINFO=y 136CONFIG_SLABINFO=y
139CONFIG_RT_MUTEXES=y 137CONFIG_RT_MUTEXES=y
@@ -166,6 +164,7 @@ CONFIG_DEFAULT_CFQ=y
166# CONFIG_DEFAULT_NOOP is not set 164# CONFIG_DEFAULT_NOOP is not set
167CONFIG_DEFAULT_IOSCHED="cfq" 165CONFIG_DEFAULT_IOSCHED="cfq"
168CONFIG_CLASSIC_RCU=y 166CONFIG_CLASSIC_RCU=y
167# CONFIG_FREEZER is not set
169 168
170# 169#
171# Platform support 170# Platform support
@@ -227,7 +226,6 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=m
227# Kernel options 226# Kernel options
228# 227#
229CONFIG_HIGHMEM=y 228CONFIG_HIGHMEM=y
230# CONFIG_TICK_ONESHOT is not set
231# CONFIG_NO_HZ is not set 229# CONFIG_NO_HZ is not set
232# CONFIG_HIGH_RES_TIMERS is not set 230# CONFIG_HIGH_RES_TIMERS is not set
233CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 231CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -241,6 +239,8 @@ CONFIG_HZ=250
241CONFIG_PREEMPT_VOLUNTARY=y 239CONFIG_PREEMPT_VOLUNTARY=y
242# CONFIG_PREEMPT is not set 240# CONFIG_PREEMPT is not set
243CONFIG_BINFMT_ELF=y 241CONFIG_BINFMT_ELF=y
242# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
243# CONFIG_HAVE_AOUT is not set
244CONFIG_BINFMT_MISC=y 244CONFIG_BINFMT_MISC=y
245# CONFIG_IOMMU_HELPER is not set 245# CONFIG_IOMMU_HELPER is not set
246CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 246CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -255,15 +255,15 @@ CONFIG_FLATMEM_MANUAL=y
255# CONFIG_SPARSEMEM_MANUAL is not set 255# CONFIG_SPARSEMEM_MANUAL is not set
256CONFIG_FLATMEM=y 256CONFIG_FLATMEM=y
257CONFIG_FLAT_NODE_MEM_MAP=y 257CONFIG_FLAT_NODE_MEM_MAP=y
258# CONFIG_SPARSEMEM_STATIC is not set
259# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
260CONFIG_PAGEFLAGS_EXTENDED=y 258CONFIG_PAGEFLAGS_EXTENDED=y
261CONFIG_SPLIT_PTLOCK_CPUS=4 259CONFIG_SPLIT_PTLOCK_CPUS=4
262CONFIG_MIGRATION=y 260CONFIG_MIGRATION=y
263# CONFIG_RESOURCES_64BIT is not set 261# CONFIG_RESOURCES_64BIT is not set
262# CONFIG_PHYS_ADDR_T_64BIT is not set
264CONFIG_ZONE_DMA_FLAG=1 263CONFIG_ZONE_DMA_FLAG=1
265CONFIG_BOUNCE=y 264CONFIG_BOUNCE=y
266CONFIG_VIRT_TO_BUS=y 265CONFIG_VIRT_TO_BUS=y
266CONFIG_UNEVICTABLE_LRU=y
267CONFIG_FORCE_MAX_ZONEORDER=11 267CONFIG_FORCE_MAX_ZONEORDER=11
268# CONFIG_PROC_DEVICETREE is not set 268# CONFIG_PROC_DEVICETREE is not set
269# CONFIG_CMDLINE_BOOL is not set 269# CONFIG_CMDLINE_BOOL is not set
@@ -285,7 +285,7 @@ CONFIG_PCI_SYSCALL=y
285# CONFIG_PCIEPORTBUS is not set 285# CONFIG_PCIEPORTBUS is not set
286CONFIG_ARCH_SUPPORTS_MSI=y 286CONFIG_ARCH_SUPPORTS_MSI=y
287CONFIG_PCI_MSI=y 287CONFIG_PCI_MSI=y
288CONFIG_PCI_LEGACY=y 288# CONFIG_PCI_LEGACY is not set
289# CONFIG_PCI_DEBUG is not set 289# CONFIG_PCI_DEBUG is not set
290# CONFIG_PCCARD is not set 290# CONFIG_PCCARD is not set
291CONFIG_HOTPLUG_PCI=y 291CONFIG_HOTPLUG_PCI=y
@@ -361,36 +361,6 @@ CONFIG_INET_TCP_DIAG=y
361CONFIG_TCP_CONG_CUBIC=y 361CONFIG_TCP_CONG_CUBIC=y
362CONFIG_DEFAULT_TCP_CONG="cubic" 362CONFIG_DEFAULT_TCP_CONG="cubic"
363# CONFIG_TCP_MD5SIG is not set 363# CONFIG_TCP_MD5SIG is not set
364CONFIG_IP_VS=m
365# CONFIG_IP_VS_DEBUG is not set
366CONFIG_IP_VS_TAB_BITS=12
367
368#
369# IPVS transport protocol load balancing support
370#
371CONFIG_IP_VS_PROTO_TCP=y
372CONFIG_IP_VS_PROTO_UDP=y
373CONFIG_IP_VS_PROTO_ESP=y
374CONFIG_IP_VS_PROTO_AH=y
375
376#
377# IPVS scheduler
378#
379CONFIG_IP_VS_RR=m
380CONFIG_IP_VS_WRR=m
381CONFIG_IP_VS_LC=m
382CONFIG_IP_VS_WLC=m
383CONFIG_IP_VS_LBLC=m
384CONFIG_IP_VS_LBLCR=m
385CONFIG_IP_VS_DH=m
386CONFIG_IP_VS_SH=m
387CONFIG_IP_VS_SED=m
388CONFIG_IP_VS_NQ=m
389
390#
391# IPVS application helper
392#
393CONFIG_IP_VS_FTP=m
394CONFIG_IPV6=m 364CONFIG_IPV6=m
395CONFIG_IPV6_PRIVACY=y 365CONFIG_IPV6_PRIVACY=y
396# CONFIG_IPV6_ROUTER_PREF is not set 366# CONFIG_IPV6_ROUTER_PREF is not set
@@ -427,8 +397,8 @@ CONFIG_NETFILTER_XTABLES=m
427# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 397# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
428# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 398# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
429# CONFIG_NETFILTER_XT_TARGET_MARK is not set 399# CONFIG_NETFILTER_XT_TARGET_MARK is not set
430# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
431# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 400# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
401# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
432# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 402# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
433# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 403# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
434# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set 404# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set
@@ -438,37 +408,70 @@ CONFIG_NETFILTER_XTABLES=m
438# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 408# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
439# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 409# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
440# CONFIG_NETFILTER_XT_MATCH_ESP is not set 410# CONFIG_NETFILTER_XT_MATCH_ESP is not set
411# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
441# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 412# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
442# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 413# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
443# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 414# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
444# CONFIG_NETFILTER_XT_MATCH_MAC is not set 415# CONFIG_NETFILTER_XT_MATCH_MAC is not set
445# CONFIG_NETFILTER_XT_MATCH_MARK is not set 416# CONFIG_NETFILTER_XT_MATCH_MARK is not set
417# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
446# CONFIG_NETFILTER_XT_MATCH_OWNER is not set 418# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
447# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 419# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
448# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
449# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set 420# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
450# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 421# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
451# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 422# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
452# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 423# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
453# CONFIG_NETFILTER_XT_MATCH_REALM is not set 424# CONFIG_NETFILTER_XT_MATCH_REALM is not set
425# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
454# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 426# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
455# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 427# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
456# CONFIG_NETFILTER_XT_MATCH_STRING is not set 428# CONFIG_NETFILTER_XT_MATCH_STRING is not set
457# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 429# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
458# CONFIG_NETFILTER_XT_MATCH_TIME is not set 430# CONFIG_NETFILTER_XT_MATCH_TIME is not set
459# CONFIG_NETFILTER_XT_MATCH_U32 is not set 431# CONFIG_NETFILTER_XT_MATCH_U32 is not set
460# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 432CONFIG_IP_VS=m
433# CONFIG_IP_VS_IPV6 is not set
434# CONFIG_IP_VS_DEBUG is not set
435CONFIG_IP_VS_TAB_BITS=12
436
437#
438# IPVS transport protocol load balancing support
439#
440CONFIG_IP_VS_PROTO_TCP=y
441CONFIG_IP_VS_PROTO_UDP=y
442CONFIG_IP_VS_PROTO_AH_ESP=y
443CONFIG_IP_VS_PROTO_ESP=y
444CONFIG_IP_VS_PROTO_AH=y
445
446#
447# IPVS scheduler
448#
449CONFIG_IP_VS_RR=m
450CONFIG_IP_VS_WRR=m
451CONFIG_IP_VS_LC=m
452CONFIG_IP_VS_WLC=m
453CONFIG_IP_VS_LBLC=m
454CONFIG_IP_VS_LBLCR=m
455CONFIG_IP_VS_DH=m
456CONFIG_IP_VS_SH=m
457CONFIG_IP_VS_SED=m
458CONFIG_IP_VS_NQ=m
459
460#
461# IPVS application helper
462#
463CONFIG_IP_VS_FTP=m
461 464
462# 465#
463# IP: Netfilter Configuration 466# IP: Netfilter Configuration
464# 467#
468# CONFIG_NF_DEFRAG_IPV4 is not set
465CONFIG_IP_NF_QUEUE=m 469CONFIG_IP_NF_QUEUE=m
466CONFIG_IP_NF_IPTABLES=m 470CONFIG_IP_NF_IPTABLES=m
467CONFIG_IP_NF_MATCH_RECENT=m 471CONFIG_IP_NF_MATCH_ADDRTYPE=m
468CONFIG_IP_NF_MATCH_ECN=m
469# CONFIG_IP_NF_MATCH_AH is not set 472# CONFIG_IP_NF_MATCH_AH is not set
473CONFIG_IP_NF_MATCH_ECN=m
470CONFIG_IP_NF_MATCH_TTL=m 474CONFIG_IP_NF_MATCH_TTL=m
471CONFIG_IP_NF_MATCH_ADDRTYPE=m
472CONFIG_IP_NF_FILTER=m 475CONFIG_IP_NF_FILTER=m
473CONFIG_IP_NF_TARGET_REJECT=m 476CONFIG_IP_NF_TARGET_REJECT=m
474CONFIG_IP_NF_TARGET_LOG=m 477CONFIG_IP_NF_TARGET_LOG=m
@@ -487,25 +490,21 @@ CONFIG_IP_NF_ARP_MANGLE=m
487# 490#
488# CONFIG_IP6_NF_QUEUE is not set 491# CONFIG_IP6_NF_QUEUE is not set
489CONFIG_IP6_NF_IPTABLES=m 492CONFIG_IP6_NF_IPTABLES=m
490CONFIG_IP6_NF_MATCH_RT=m 493# CONFIG_IP6_NF_MATCH_AH is not set
491CONFIG_IP6_NF_MATCH_OPTS=m 494CONFIG_IP6_NF_MATCH_EUI64=m
492CONFIG_IP6_NF_MATCH_FRAG=m 495CONFIG_IP6_NF_MATCH_FRAG=m
496CONFIG_IP6_NF_MATCH_OPTS=m
493CONFIG_IP6_NF_MATCH_HL=m 497CONFIG_IP6_NF_MATCH_HL=m
494CONFIG_IP6_NF_MATCH_IPV6HEADER=m 498CONFIG_IP6_NF_MATCH_IPV6HEADER=m
495# CONFIG_IP6_NF_MATCH_AH is not set
496# CONFIG_IP6_NF_MATCH_MH is not set 499# CONFIG_IP6_NF_MATCH_MH is not set
497CONFIG_IP6_NF_MATCH_EUI64=m 500CONFIG_IP6_NF_MATCH_RT=m
498CONFIG_IP6_NF_FILTER=m
499CONFIG_IP6_NF_TARGET_LOG=m 501CONFIG_IP6_NF_TARGET_LOG=m
502CONFIG_IP6_NF_FILTER=m
500# CONFIG_IP6_NF_TARGET_REJECT is not set 503# CONFIG_IP6_NF_TARGET_REJECT is not set
501CONFIG_IP6_NF_MANGLE=m 504CONFIG_IP6_NF_MANGLE=m
502# CONFIG_IP6_NF_TARGET_HL is not set 505# CONFIG_IP6_NF_TARGET_HL is not set
503CONFIG_IP6_NF_RAW=m 506CONFIG_IP6_NF_RAW=m
504# CONFIG_IP6_NF_SECURITY is not set 507# CONFIG_IP6_NF_SECURITY is not set
505
506#
507# Bridge: Netfilter Configuration
508#
509CONFIG_BRIDGE_NF_EBTABLES=m 508CONFIG_BRIDGE_NF_EBTABLES=m
510CONFIG_BRIDGE_EBT_BROUTE=m 509CONFIG_BRIDGE_EBT_BROUTE=m
511CONFIG_BRIDGE_EBT_T_FILTER=m 510CONFIG_BRIDGE_EBT_T_FILTER=m
@@ -545,6 +544,7 @@ CONFIG_ATM_BR2684=m
545# CONFIG_ATM_BR2684_IPFILTER is not set 544# CONFIG_ATM_BR2684_IPFILTER is not set
546CONFIG_STP=m 545CONFIG_STP=m
547CONFIG_BRIDGE=m 546CONFIG_BRIDGE=m
547# CONFIG_NET_DSA is not set
548CONFIG_VLAN_8021Q=m 548CONFIG_VLAN_8021Q=m
549# CONFIG_VLAN_8021Q_GVRP is not set 549# CONFIG_VLAN_8021Q_GVRP is not set
550# CONFIG_DECNET is not set 550# CONFIG_DECNET is not set
@@ -566,6 +566,7 @@ CONFIG_NET_SCH_HTB=m
566CONFIG_NET_SCH_HFSC=m 566CONFIG_NET_SCH_HFSC=m
567CONFIG_NET_SCH_ATM=m 567CONFIG_NET_SCH_ATM=m
568CONFIG_NET_SCH_PRIO=m 568CONFIG_NET_SCH_PRIO=m
569# CONFIG_NET_SCH_MULTIQ is not set
569CONFIG_NET_SCH_RED=m 570CONFIG_NET_SCH_RED=m
570CONFIG_NET_SCH_SFQ=m 571CONFIG_NET_SCH_SFQ=m
571CONFIG_NET_SCH_TEQL=m 572CONFIG_NET_SCH_TEQL=m
@@ -627,12 +628,11 @@ CONFIG_BT_HCIBCM203X=m
627CONFIG_BT_HCIBFUSB=m 628CONFIG_BT_HCIBFUSB=m
628CONFIG_BT_HCIVHCI=m 629CONFIG_BT_HCIVHCI=m
629# CONFIG_AF_RXRPC is not set 630# CONFIG_AF_RXRPC is not set
631# CONFIG_PHONET is not set
630CONFIG_FIB_RULES=y 632CONFIG_FIB_RULES=y
631 633CONFIG_WIRELESS=y
632#
633# Wireless
634#
635# CONFIG_CFG80211 is not set 634# CONFIG_CFG80211 is not set
635CONFIG_WIRELESS_OLD_REGULATORY=y
636CONFIG_WIRELESS_EXT=y 636CONFIG_WIRELESS_EXT=y
637CONFIG_WIRELESS_EXT_SYSFS=y 637CONFIG_WIRELESS_EXT_SYSFS=y
638# CONFIG_MAC80211 is not set 638# CONFIG_MAC80211 is not set
@@ -910,8 +910,12 @@ CONFIG_MII=y
910# CONFIG_IBM_NEW_EMAC_RGMII is not set 910# CONFIG_IBM_NEW_EMAC_RGMII is not set
911# CONFIG_IBM_NEW_EMAC_TAH is not set 911# CONFIG_IBM_NEW_EMAC_TAH is not set
912# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 912# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
913# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
914# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
915# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
913# CONFIG_NET_PCI is not set 916# CONFIG_NET_PCI is not set
914# CONFIG_B44 is not set 917# CONFIG_B44 is not set
918# CONFIG_ATL2 is not set
915CONFIG_NETDEV_1000=y 919CONFIG_NETDEV_1000=y
916# CONFIG_ACENIC is not set 920# CONFIG_ACENIC is not set
917# CONFIG_DL2K is not set 921# CONFIG_DL2K is not set
@@ -933,6 +937,7 @@ CONFIG_MV643XX_ETH=y
933# CONFIG_QLA3XXX is not set 937# CONFIG_QLA3XXX is not set
934# CONFIG_ATL1 is not set 938# CONFIG_ATL1 is not set
935# CONFIG_ATL1E is not set 939# CONFIG_ATL1E is not set
940# CONFIG_JME is not set
936# CONFIG_NETDEV_10000 is not set 941# CONFIG_NETDEV_10000 is not set
937# CONFIG_TR is not set 942# CONFIG_TR is not set
938 943
@@ -998,6 +1003,7 @@ CONFIG_INPUT_MISC=y
998# CONFIG_INPUT_KEYSPAN_REMOTE is not set 1003# CONFIG_INPUT_KEYSPAN_REMOTE is not set
999# CONFIG_INPUT_POWERMATE is not set 1004# CONFIG_INPUT_POWERMATE is not set
1000# CONFIG_INPUT_YEALINK is not set 1005# CONFIG_INPUT_YEALINK is not set
1006# CONFIG_INPUT_CM109 is not set
1001CONFIG_INPUT_UINPUT=m 1007CONFIG_INPUT_UINPUT=m
1002 1008
1003# 1009#
@@ -1226,6 +1232,16 @@ CONFIG_SSB_POSSIBLE=y
1226# CONFIG_MFD_SM501 is not set 1232# CONFIG_MFD_SM501 is not set
1227# CONFIG_HTC_PASIC3 is not set 1233# CONFIG_HTC_PASIC3 is not set
1228# CONFIG_MFD_TMIO is not set 1234# CONFIG_MFD_TMIO is not set
1235# CONFIG_MFD_WM8400 is not set
1236# CONFIG_MFD_WM8350_I2C is not set
1237
1238#
1239# Voltage and Current regulators
1240#
1241# CONFIG_REGULATOR is not set
1242# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1243# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1244# CONFIG_REGULATOR_BQ24022 is not set
1229 1245
1230# 1246#
1231# Multimedia devices 1247# Multimedia devices
@@ -1283,6 +1299,8 @@ CONFIG_USB_DEVICEFS=y
1283CONFIG_USB_SUSPEND=y 1299CONFIG_USB_SUSPEND=y
1284# CONFIG_USB_OTG is not set 1300# CONFIG_USB_OTG is not set
1285CONFIG_USB_MON=y 1301CONFIG_USB_MON=y
1302# CONFIG_USB_WUSB is not set
1303# CONFIG_USB_WUSB_CBAF is not set
1286 1304
1287# 1305#
1288# USB Host Controller Drivers 1306# USB Host Controller Drivers
@@ -1305,6 +1323,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1305CONFIG_USB_UHCI_HCD=m 1323CONFIG_USB_UHCI_HCD=m
1306# CONFIG_USB_SL811_HCD is not set 1324# CONFIG_USB_SL811_HCD is not set
1307# CONFIG_USB_R8A66597_HCD is not set 1325# CONFIG_USB_R8A66597_HCD is not set
1326# CONFIG_USB_WHCI_HCD is not set
1327# CONFIG_USB_HWA_HCD is not set
1308 1328
1309# 1329#
1310# Enable Host or Gadget support to see Inventra options 1330# Enable Host or Gadget support to see Inventra options
@@ -1316,6 +1336,7 @@ CONFIG_USB_UHCI_HCD=m
1316CONFIG_USB_ACM=m 1336CONFIG_USB_ACM=m
1317CONFIG_USB_PRINTER=m 1337CONFIG_USB_PRINTER=m
1318# CONFIG_USB_WDM is not set 1338# CONFIG_USB_WDM is not set
1339# CONFIG_USB_TMC is not set
1319 1340
1320# 1341#
1321# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1342# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1337,7 +1358,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1337# CONFIG_USB_STORAGE_ALAUDA is not set 1358# CONFIG_USB_STORAGE_ALAUDA is not set
1338# CONFIG_USB_STORAGE_ONETOUCH is not set 1359# CONFIG_USB_STORAGE_ONETOUCH is not set
1339# CONFIG_USB_STORAGE_KARMA is not set 1360# CONFIG_USB_STORAGE_KARMA is not set
1340# CONFIG_USB_STORAGE_SIERRA is not set
1341# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1361# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1342# CONFIG_USB_LIBUSUAL is not set 1362# CONFIG_USB_LIBUSUAL is not set
1343 1363
@@ -1413,6 +1433,7 @@ CONFIG_USB_SERIAL_OMNINET=m
1413CONFIG_USB_EMI62=m 1433CONFIG_USB_EMI62=m
1414# CONFIG_USB_EMI26 is not set 1434# CONFIG_USB_EMI26 is not set
1415# CONFIG_USB_ADUTUX is not set 1435# CONFIG_USB_ADUTUX is not set
1436# CONFIG_USB_SEVSEG is not set
1416CONFIG_USB_RIO500=m 1437CONFIG_USB_RIO500=m
1417CONFIG_USB_LEGOTOWER=m 1438CONFIG_USB_LEGOTOWER=m
1418CONFIG_USB_LCD=m 1439CONFIG_USB_LCD=m
@@ -1430,12 +1451,14 @@ CONFIG_USB_LED=m
1430# CONFIG_USB_IOWARRIOR is not set 1451# CONFIG_USB_IOWARRIOR is not set
1431CONFIG_USB_TEST=m 1452CONFIG_USB_TEST=m
1432# CONFIG_USB_ISIGHTFW is not set 1453# CONFIG_USB_ISIGHTFW is not set
1454# CONFIG_USB_VST is not set
1433CONFIG_USB_ATM=m 1455CONFIG_USB_ATM=m
1434CONFIG_USB_SPEEDTOUCH=m 1456CONFIG_USB_SPEEDTOUCH=m
1435# CONFIG_USB_CXACRU is not set 1457# CONFIG_USB_CXACRU is not set
1436# CONFIG_USB_UEAGLEATM is not set 1458# CONFIG_USB_UEAGLEATM is not set
1437# CONFIG_USB_XUSBATM is not set 1459# CONFIG_USB_XUSBATM is not set
1438# CONFIG_USB_GADGET is not set 1460# CONFIG_USB_GADGET is not set
1461# CONFIG_UWB is not set
1439# CONFIG_MMC is not set 1462# CONFIG_MMC is not set
1440# CONFIG_MEMSTICK is not set 1463# CONFIG_MEMSTICK is not set
1441# CONFIG_NEW_LEDS is not set 1464# CONFIG_NEW_LEDS is not set
@@ -1464,8 +1487,8 @@ CONFIG_DMADEVICES=y
1464# 1487#
1465# DMA Devices 1488# DMA Devices
1466# 1489#
1467# CONFIG_FSL_DMA is not set
1468# CONFIG_UIO is not set 1490# CONFIG_UIO is not set
1491# CONFIG_STAGING is not set
1469 1492
1470# 1493#
1471# File systems 1494# File systems
@@ -1475,12 +1498,13 @@ CONFIG_EXT3_FS=m
1475CONFIG_EXT3_FS_XATTR=y 1498CONFIG_EXT3_FS_XATTR=y
1476CONFIG_EXT3_FS_POSIX_ACL=y 1499CONFIG_EXT3_FS_POSIX_ACL=y
1477CONFIG_EXT3_FS_SECURITY=y 1500CONFIG_EXT3_FS_SECURITY=y
1478# CONFIG_EXT4DEV_FS is not set 1501# CONFIG_EXT4_FS is not set
1479CONFIG_JBD=m 1502CONFIG_JBD=m
1480CONFIG_FS_MBCACHE=m 1503CONFIG_FS_MBCACHE=m
1481# CONFIG_REISERFS_FS is not set 1504# CONFIG_REISERFS_FS is not set
1482# CONFIG_JFS_FS is not set 1505# CONFIG_JFS_FS is not set
1483CONFIG_FS_POSIX_ACL=y 1506CONFIG_FS_POSIX_ACL=y
1507CONFIG_FILE_LOCKING=y
1484# CONFIG_XFS_FS is not set 1508# CONFIG_XFS_FS is not set
1485# CONFIG_OCFS2_FS is not set 1509# CONFIG_OCFS2_FS is not set
1486CONFIG_DNOTIFY=y 1510CONFIG_DNOTIFY=y
@@ -1519,6 +1543,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
1519CONFIG_PROC_FS=y 1543CONFIG_PROC_FS=y
1520CONFIG_PROC_KCORE=y 1544CONFIG_PROC_KCORE=y
1521CONFIG_PROC_SYSCTL=y 1545CONFIG_PROC_SYSCTL=y
1546CONFIG_PROC_PAGE_MONITOR=y
1522CONFIG_SYSFS=y 1547CONFIG_SYSFS=y
1523CONFIG_TMPFS=y 1548CONFIG_TMPFS=y
1524# CONFIG_TMPFS_POSIX_ACL is not set 1549# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1570,12 +1595,14 @@ CONFIG_NFS_COMMON=y
1570CONFIG_SUNRPC=y 1595CONFIG_SUNRPC=y
1571CONFIG_SUNRPC_GSS=y 1596CONFIG_SUNRPC_GSS=y
1572CONFIG_SUNRPC_XPRT_RDMA=m 1597CONFIG_SUNRPC_XPRT_RDMA=m
1598# CONFIG_SUNRPC_REGISTER_V4 is not set
1573CONFIG_RPCSEC_GSS_KRB5=y 1599CONFIG_RPCSEC_GSS_KRB5=y
1574CONFIG_RPCSEC_GSS_SPKM3=m 1600CONFIG_RPCSEC_GSS_SPKM3=m
1575# CONFIG_SMB_FS is not set 1601# CONFIG_SMB_FS is not set
1576CONFIG_CIFS=m 1602CONFIG_CIFS=m
1577# CONFIG_CIFS_STATS is not set 1603# CONFIG_CIFS_STATS is not set
1578# CONFIG_CIFS_WEAK_PW_HASH is not set 1604# CONFIG_CIFS_WEAK_PW_HASH is not set
1605# CONFIG_CIFS_UPCALL is not set
1579CONFIG_CIFS_XATTR=y 1606CONFIG_CIFS_XATTR=y
1580CONFIG_CIFS_POSIX=y 1607CONFIG_CIFS_POSIX=y
1581# CONFIG_CIFS_DEBUG2 is not set 1608# CONFIG_CIFS_DEBUG2 is not set
@@ -1651,7 +1678,6 @@ CONFIG_NLS_UTF8=m
1651# Library routines 1678# Library routines
1652# 1679#
1653CONFIG_BITREVERSE=y 1680CONFIG_BITREVERSE=y
1654# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1655CONFIG_CRC_CCITT=m 1681CONFIG_CRC_CCITT=m
1656# CONFIG_CRC16 is not set 1682# CONFIG_CRC16 is not set
1657CONFIG_CRC_T10DIF=m 1683CONFIG_CRC_T10DIF=m
@@ -1707,17 +1733,25 @@ CONFIG_DEBUG_MEMORY_INIT=y
1707# CONFIG_DEBUG_SG is not set 1733# CONFIG_DEBUG_SG is not set
1708# CONFIG_BOOT_PRINTK_DELAY is not set 1734# CONFIG_BOOT_PRINTK_DELAY is not set
1709# CONFIG_RCU_TORTURE_TEST is not set 1735# CONFIG_RCU_TORTURE_TEST is not set
1736# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1710# CONFIG_KPROBES_SANITY_TEST is not set 1737# CONFIG_KPROBES_SANITY_TEST is not set
1711# CONFIG_BACKTRACE_SELF_TEST is not set 1738# CONFIG_BACKTRACE_SELF_TEST is not set
1739# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1712# CONFIG_LKDTM is not set 1740# CONFIG_LKDTM is not set
1713# CONFIG_FAULT_INJECTION is not set 1741# CONFIG_FAULT_INJECTION is not set
1714# CONFIG_LATENCYTOP is not set 1742# CONFIG_LATENCYTOP is not set
1715CONFIG_SYSCTL_SYSCALL_CHECK=y 1743CONFIG_SYSCTL_SYSCALL_CHECK=y
1716CONFIG_HAVE_FTRACE=y 1744CONFIG_HAVE_FUNCTION_TRACER=y
1717CONFIG_HAVE_DYNAMIC_FTRACE=y 1745
1718# CONFIG_FTRACE is not set 1746#
1747# Tracers
1748#
1749# CONFIG_FUNCTION_TRACER is not set
1719# CONFIG_SCHED_TRACER is not set 1750# CONFIG_SCHED_TRACER is not set
1720# CONFIG_CONTEXT_SWITCH_TRACER is not set 1751# CONFIG_CONTEXT_SWITCH_TRACER is not set
1752# CONFIG_BOOT_TRACER is not set
1753# CONFIG_STACK_TRACER is not set
1754# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1721# CONFIG_SAMPLES is not set 1755# CONFIG_SAMPLES is not set
1722CONFIG_HAVE_ARCH_KGDB=y 1756CONFIG_HAVE_ARCH_KGDB=y
1723# CONFIG_KGDB is not set 1757# CONFIG_KGDB is not set
@@ -1726,6 +1760,7 @@ CONFIG_DEBUG_STACK_USAGE=y
1726# CONFIG_DEBUG_PAGEALLOC is not set 1760# CONFIG_DEBUG_PAGEALLOC is not set
1727# CONFIG_CODE_PATCHING_SELFTEST is not set 1761# CONFIG_CODE_PATCHING_SELFTEST is not set
1728# CONFIG_FTR_FIXUP_SELFTEST is not set 1762# CONFIG_FTR_FIXUP_SELFTEST is not set
1763# CONFIG_MSI_BITMAP_SELFTEST is not set
1729# CONFIG_XMON is not set 1764# CONFIG_XMON is not set
1730# CONFIG_IRQSTACKS is not set 1765# CONFIG_IRQSTACKS is not set
1731# CONFIG_BDI_SWITCH is not set 1766# CONFIG_BDI_SWITCH is not set
@@ -1738,6 +1773,7 @@ CONFIG_BOOTX_TEXT=y
1738CONFIG_KEYS=y 1773CONFIG_KEYS=y
1739CONFIG_KEYS_DEBUG_PROC_KEYS=y 1774CONFIG_KEYS_DEBUG_PROC_KEYS=y
1740CONFIG_SECURITY=y 1775CONFIG_SECURITY=y
1776# CONFIG_SECURITYFS is not set
1741CONFIG_SECURITY_NETWORK=y 1777CONFIG_SECURITY_NETWORK=y
1742# CONFIG_SECURITY_NETWORK_XFRM is not set 1778# CONFIG_SECURITY_NETWORK_XFRM is not set
1743# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1779# CONFIG_SECURITY_FILE_CAPABILITIES is not set
@@ -1756,10 +1792,12 @@ CONFIG_CRYPTO=y
1756# 1792#
1757# Crypto core or helper 1793# Crypto core or helper
1758# 1794#
1795# CONFIG_CRYPTO_FIPS is not set
1759CONFIG_CRYPTO_ALGAPI=y 1796CONFIG_CRYPTO_ALGAPI=y
1760CONFIG_CRYPTO_AEAD=m 1797CONFIG_CRYPTO_AEAD=y
1761CONFIG_CRYPTO_BLKCIPHER=y 1798CONFIG_CRYPTO_BLKCIPHER=y
1762CONFIG_CRYPTO_HASH=y 1799CONFIG_CRYPTO_HASH=y
1800CONFIG_CRYPTO_RNG=y
1763CONFIG_CRYPTO_MANAGER=y 1801CONFIG_CRYPTO_MANAGER=y
1764# CONFIG_CRYPTO_GF128MUL is not set 1802# CONFIG_CRYPTO_GF128MUL is not set
1765CONFIG_CRYPTO_NULL=m 1803CONFIG_CRYPTO_NULL=m
@@ -1833,6 +1871,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1833# 1871#
1834CONFIG_CRYPTO_DEFLATE=m 1872CONFIG_CRYPTO_DEFLATE=m
1835# CONFIG_CRYPTO_LZO is not set 1873# CONFIG_CRYPTO_LZO is not set
1874
1875#
1876# Random Number Generation
1877#
1878# CONFIG_CRYPTO_ANSI_CPRNG is not set
1836CONFIG_CRYPTO_HW=y 1879CONFIG_CRYPTO_HW=y
1837# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1880# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1838# CONFIG_PPC_CLOCK is not set 1881# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 2e0ef8c18227..63b3c2372ce8 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:12:40 2008 4# Tue Nov 11 19:35:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_SMP=y
23CONFIG_NR_CPUS=4 23CONFIG_NR_CPUS=4
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -108,7 +108,9 @@ CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 108CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 110CONFIG_SHMEM=y
111CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 114CONFIG_SLUB_DEBUG=y
113# CONFIG_SLAB is not set 115# CONFIG_SLAB is not set
114CONFIG_SLUB=y 116CONFIG_SLUB=y
@@ -122,10 +124,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 126CONFIG_HAVE_ARCH_TRACEHOOK=y
125# CONFIG_HAVE_DMA_ATTRS is not set
126CONFIG_USE_GENERIC_SMP_HELPERS=y 127CONFIG_USE_GENERIC_SMP_HELPERS=y
127# CONFIG_HAVE_CLK is not set
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
@@ -159,6 +158,7 @@ CONFIG_DEFAULT_AS=y
159# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 159CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y 160CONFIG_CLASSIC_RCU=y
161# CONFIG_FREEZER is not set
162 162
163# 163#
164# Platform support 164# Platform support
@@ -212,6 +212,8 @@ CONFIG_PREEMPT_NONE=y
212# CONFIG_PREEMPT_VOLUNTARY is not set 212# CONFIG_PREEMPT_VOLUNTARY is not set
213# CONFIG_PREEMPT is not set 213# CONFIG_PREEMPT is not set
214CONFIG_BINFMT_ELF=y 214CONFIG_BINFMT_ELF=y
215# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
216# CONFIG_HAVE_AOUT is not set
215CONFIG_BINFMT_MISC=y 217CONFIG_BINFMT_MISC=y
216# CONFIG_IOMMU_HELPER is not set 218# CONFIG_IOMMU_HELPER is not set
217CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 219CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -227,15 +229,15 @@ CONFIG_FLATMEM_MANUAL=y
227# CONFIG_SPARSEMEM_MANUAL is not set 229# CONFIG_SPARSEMEM_MANUAL is not set
228CONFIG_FLATMEM=y 230CONFIG_FLATMEM=y
229CONFIG_FLAT_NODE_MEM_MAP=y 231CONFIG_FLAT_NODE_MEM_MAP=y
230# CONFIG_SPARSEMEM_STATIC is not set
231# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
232CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
233CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
234# CONFIG_MIGRATION is not set 234# CONFIG_MIGRATION is not set
235# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
236# CONFIG_PHYS_ADDR_T_64BIT is not set
236CONFIG_ZONE_DMA_FLAG=1 237CONFIG_ZONE_DMA_FLAG=1
237CONFIG_BOUNCE=y 238CONFIG_BOUNCE=y
238CONFIG_VIRT_TO_BUS=y 239CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y
239CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
240CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
241# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
@@ -310,7 +312,6 @@ CONFIG_INET_TCP_DIAG=y
310CONFIG_TCP_CONG_CUBIC=y 312CONFIG_TCP_CONG_CUBIC=y
311CONFIG_DEFAULT_TCP_CONG="cubic" 313CONFIG_DEFAULT_TCP_CONG="cubic"
312# CONFIG_TCP_MD5SIG is not set 314# CONFIG_TCP_MD5SIG is not set
313# CONFIG_IP_VS is not set
314# CONFIG_IPV6 is not set 315# CONFIG_IPV6 is not set
315# CONFIG_NETWORK_SECMARK is not set 316# CONFIG_NETWORK_SECMARK is not set
316CONFIG_NETFILTER=y 317CONFIG_NETFILTER=y
@@ -334,10 +335,12 @@ CONFIG_NETFILTER_XTABLES=m
334# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set 335# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
335# CONFIG_NETFILTER_XT_MATCH_MARK is not set 336# CONFIG_NETFILTER_XT_MATCH_MARK is not set
336# CONFIG_NETFILTER_XT_MATCH_STATE is not set 337# CONFIG_NETFILTER_XT_MATCH_STATE is not set
338# CONFIG_IP_VS is not set
337 339
338# 340#
339# IP: Netfilter Configuration 341# IP: Netfilter Configuration
340# 342#
343CONFIG_NF_DEFRAG_IPV4=m
341CONFIG_NF_CONNTRACK_IPV4=m 344CONFIG_NF_CONNTRACK_IPV4=m
342CONFIG_NF_CONNTRACK_PROC_COMPAT=y 345CONFIG_NF_CONNTRACK_PROC_COMPAT=y
343CONFIG_IP_NF_IPTABLES=m 346CONFIG_IP_NF_IPTABLES=m
@@ -361,6 +364,7 @@ CONFIG_NF_NAT_SIP=m
361# CONFIG_TIPC is not set 364# CONFIG_TIPC is not set
362# CONFIG_ATM is not set 365# CONFIG_ATM is not set
363# CONFIG_BRIDGE is not set 366# CONFIG_BRIDGE is not set
367# CONFIG_NET_DSA is not set
364# CONFIG_VLAN_8021Q is not set 368# CONFIG_VLAN_8021Q is not set
365# CONFIG_DECNET is not set 369# CONFIG_DECNET is not set
366# CONFIG_LLC2 is not set 370# CONFIG_LLC2 is not set
@@ -381,14 +385,8 @@ CONFIG_NF_NAT_SIP=m
381# CONFIG_IRDA is not set 385# CONFIG_IRDA is not set
382# CONFIG_BT is not set 386# CONFIG_BT is not set
383# CONFIG_AF_RXRPC is not set 387# CONFIG_AF_RXRPC is not set
384 388# CONFIG_PHONET is not set
385# 389# CONFIG_WIRELESS is not set
386# Wireless
387#
388# CONFIG_CFG80211 is not set
389# CONFIG_WIRELESS_EXT is not set
390# CONFIG_MAC80211 is not set
391# CONFIG_IEEE80211 is not set
392# CONFIG_RFKILL is not set 390# CONFIG_RFKILL is not set
393# CONFIG_NET_9P is not set 391# CONFIG_NET_9P is not set
394 392
@@ -443,19 +441,18 @@ CONFIG_MISC_DEVICES=y
443# CONFIG_HP_ILO is not set 441# CONFIG_HP_ILO is not set
444CONFIG_HAVE_IDE=y 442CONFIG_HAVE_IDE=y
445CONFIG_IDE=y 443CONFIG_IDE=y
446CONFIG_BLK_DEV_IDE=y
447 444
448# 445#
449# Please see Documentation/ide/ide.txt for help/info on IDE drives 446# Please see Documentation/ide/ide.txt for help/info on IDE drives
450# 447#
451CONFIG_IDE_TIMINGS=y 448CONFIG_IDE_TIMINGS=y
452# CONFIG_BLK_DEV_IDE_SATA is not set 449# CONFIG_BLK_DEV_IDE_SATA is not set
453CONFIG_BLK_DEV_IDEDISK=y 450CONFIG_IDE_GD=y
454CONFIG_IDEDISK_MULTI_MODE=y 451CONFIG_IDE_GD_ATA=y
452# CONFIG_IDE_GD_ATAPI is not set
455CONFIG_BLK_DEV_IDECD=y 453CONFIG_BLK_DEV_IDECD=y
456CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 454CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
457# CONFIG_BLK_DEV_IDETAPE is not set 455# CONFIG_BLK_DEV_IDETAPE is not set
458# CONFIG_BLK_DEV_IDEFLOPPY is not set
459# CONFIG_BLK_DEV_IDESCSI is not set 456# CONFIG_BLK_DEV_IDESCSI is not set
460# CONFIG_IDE_TASK_IOCTL is not set 457# CONFIG_IDE_TASK_IOCTL is not set
461CONFIG_IDE_PROC_FS=y 458CONFIG_IDE_PROC_FS=y
@@ -616,7 +613,23 @@ CONFIG_NETDEVICES=y
616# CONFIG_TUN is not set 613# CONFIG_TUN is not set
617# CONFIG_VETH is not set 614# CONFIG_VETH is not set
618# CONFIG_ARCNET is not set 615# CONFIG_ARCNET is not set
619# CONFIG_PHYLIB is not set 616CONFIG_PHYLIB=y
617
618#
619# MII PHY device drivers
620#
621# CONFIG_MARVELL_PHY is not set
622# CONFIG_DAVICOM_PHY is not set
623# CONFIG_QSEMI_PHY is not set
624# CONFIG_LXT_PHY is not set
625# CONFIG_CICADA_PHY is not set
626# CONFIG_VITESSE_PHY is not set
627# CONFIG_SMSC_PHY is not set
628# CONFIG_BROADCOM_PHY is not set
629# CONFIG_ICPLUS_PHY is not set
630# CONFIG_REALTEK_PHY is not set
631# CONFIG_FIXED_PHY is not set
632# CONFIG_MDIO_BITBANG is not set
620CONFIG_NET_ETHERNET=y 633CONFIG_NET_ETHERNET=y
621CONFIG_MII=y 634CONFIG_MII=y
622# CONFIG_HAPPYMEAL is not set 635# CONFIG_HAPPYMEAL is not set
@@ -641,6 +654,9 @@ CONFIG_DE4X5=y
641# CONFIG_IBM_NEW_EMAC_RGMII is not set 654# CONFIG_IBM_NEW_EMAC_RGMII is not set
642# CONFIG_IBM_NEW_EMAC_TAH is not set 655# CONFIG_IBM_NEW_EMAC_TAH is not set
643# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 656# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
657# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
658# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
659# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
644CONFIG_NET_PCI=y 660CONFIG_NET_PCI=y
645CONFIG_PCNET32=y 661CONFIG_PCNET32=y
646# CONFIG_AMD8111_ETH is not set 662# CONFIG_AMD8111_ETH is not set
@@ -669,6 +685,7 @@ CONFIG_8139TOO=y
669CONFIG_VIA_RHINE=y 685CONFIG_VIA_RHINE=y
670# CONFIG_VIA_RHINE_MMIO is not set 686# CONFIG_VIA_RHINE_MMIO is not set
671# CONFIG_SC92031 is not set 687# CONFIG_SC92031 is not set
688# CONFIG_ATL2 is not set
672CONFIG_NETDEV_1000=y 689CONFIG_NETDEV_1000=y
673# CONFIG_ACENIC is not set 690# CONFIG_ACENIC is not set
674# CONFIG_DL2K is not set 691# CONFIG_DL2K is not set
@@ -690,18 +707,22 @@ CONFIG_MV643XX_ETH=y
690# CONFIG_QLA3XXX is not set 707# CONFIG_QLA3XXX is not set
691# CONFIG_ATL1 is not set 708# CONFIG_ATL1 is not set
692# CONFIG_ATL1E is not set 709# CONFIG_ATL1E is not set
710# CONFIG_JME is not set
693CONFIG_NETDEV_10000=y 711CONFIG_NETDEV_10000=y
694# CONFIG_CHELSIO_T1 is not set 712# CONFIG_CHELSIO_T1 is not set
695# CONFIG_CHELSIO_T3 is not set 713# CONFIG_CHELSIO_T3 is not set
714# CONFIG_ENIC is not set
696# CONFIG_IXGBE is not set 715# CONFIG_IXGBE is not set
697# CONFIG_IXGB is not set 716# CONFIG_IXGB is not set
698# CONFIG_S2IO is not set 717# CONFIG_S2IO is not set
699# CONFIG_MYRI10GE is not set 718# CONFIG_MYRI10GE is not set
700# CONFIG_NETXEN_NIC is not set 719# CONFIG_NETXEN_NIC is not set
701# CONFIG_NIU is not set 720# CONFIG_NIU is not set
721# CONFIG_MLX4_EN is not set
702# CONFIG_MLX4_CORE is not set 722# CONFIG_MLX4_CORE is not set
703# CONFIG_TEHUTI is not set 723# CONFIG_TEHUTI is not set
704# CONFIG_BNX2X is not set 724# CONFIG_BNX2X is not set
725# CONFIG_QLGE is not set
705# CONFIG_SFC is not set 726# CONFIG_SFC is not set
706# CONFIG_TR is not set 727# CONFIG_TR is not set
707 728
@@ -777,6 +798,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
777CONFIG_MOUSE_PS2_SYNAPTICS=y 798CONFIG_MOUSE_PS2_SYNAPTICS=y
778CONFIG_MOUSE_PS2_LIFEBOOK=y 799CONFIG_MOUSE_PS2_LIFEBOOK=y
779CONFIG_MOUSE_PS2_TRACKPOINT=y 800CONFIG_MOUSE_PS2_TRACKPOINT=y
801# CONFIG_MOUSE_PS2_ELANTECH is not set
780# CONFIG_MOUSE_PS2_TOUCHKIT is not set 802# CONFIG_MOUSE_PS2_TOUCHKIT is not set
781# CONFIG_MOUSE_SERIAL is not set 803# CONFIG_MOUSE_SERIAL is not set
782# CONFIG_MOUSE_APPLETOUCH is not set 804# CONFIG_MOUSE_APPLETOUCH is not set
@@ -795,6 +817,7 @@ CONFIG_INPUT_MISC=y
795# CONFIG_INPUT_KEYSPAN_REMOTE is not set 817# CONFIG_INPUT_KEYSPAN_REMOTE is not set
796# CONFIG_INPUT_POWERMATE is not set 818# CONFIG_INPUT_POWERMATE is not set
797# CONFIG_INPUT_YEALINK is not set 819# CONFIG_INPUT_YEALINK is not set
820# CONFIG_INPUT_CM109 is not set
798CONFIG_INPUT_UINPUT=y 821CONFIG_INPUT_UINPUT=y
799 822
800# 823#
@@ -953,6 +976,17 @@ CONFIG_SSB_POSSIBLE=y
953# CONFIG_MFD_SM501 is not set 976# CONFIG_MFD_SM501 is not set
954# CONFIG_HTC_PASIC3 is not set 977# CONFIG_HTC_PASIC3 is not set
955# CONFIG_MFD_TMIO is not set 978# CONFIG_MFD_TMIO is not set
979# CONFIG_PMIC_DA903X is not set
980# CONFIG_MFD_WM8400 is not set
981# CONFIG_MFD_WM8350_I2C is not set
982
983#
984# Voltage and Current regulators
985#
986# CONFIG_REGULATOR is not set
987# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
988# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
989# CONFIG_REGULATOR_BQ24022 is not set
956 990
957# 991#
958# Multimedia devices 992# Multimedia devices
@@ -980,6 +1014,7 @@ CONFIG_SSB_POSSIBLE=y
980CONFIG_FB=y 1014CONFIG_FB=y
981CONFIG_FIRMWARE_EDID=y 1015CONFIG_FIRMWARE_EDID=y
982CONFIG_FB_DDC=y 1016CONFIG_FB_DDC=y
1017# CONFIG_FB_BOOT_VESA_SUPPORT is not set
983CONFIG_FB_CFB_FILLRECT=y 1018CONFIG_FB_CFB_FILLRECT=y
984CONFIG_FB_CFB_COPYAREA=y 1019CONFIG_FB_CFB_COPYAREA=y
985CONFIG_FB_CFB_IMAGEBLIT=y 1020CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1028,6 +1063,7 @@ CONFIG_FB_ATY_BACKLIGHT=y
1028# CONFIG_FB_S3 is not set 1063# CONFIG_FB_S3 is not set
1029# CONFIG_FB_SAVAGE is not set 1064# CONFIG_FB_SAVAGE is not set
1030# CONFIG_FB_SIS is not set 1065# CONFIG_FB_SIS is not set
1066# CONFIG_FB_VIA is not set
1031# CONFIG_FB_NEOMAGIC is not set 1067# CONFIG_FB_NEOMAGIC is not set
1032# CONFIG_FB_KYRO is not set 1068# CONFIG_FB_KYRO is not set
1033CONFIG_FB_3DFX=y 1069CONFIG_FB_3DFX=y
@@ -1040,6 +1076,7 @@ CONFIG_FB_3DFX=y
1040# CONFIG_FB_CARMINE is not set 1076# CONFIG_FB_CARMINE is not set
1041# CONFIG_FB_IBM_GXT4500 is not set 1077# CONFIG_FB_IBM_GXT4500 is not set
1042# CONFIG_FB_VIRTUAL is not set 1078# CONFIG_FB_VIRTUAL is not set
1079# CONFIG_FB_METRONOME is not set
1043CONFIG_BACKLIGHT_LCD_SUPPORT=y 1080CONFIG_BACKLIGHT_LCD_SUPPORT=y
1044CONFIG_LCD_CLASS_DEVICE=m 1081CONFIG_LCD_CLASS_DEVICE=m
1045# CONFIG_LCD_ILI9320 is not set 1082# CONFIG_LCD_ILI9320 is not set
@@ -1083,9 +1120,36 @@ CONFIG_HID=y
1083# USB Input Devices 1120# USB Input Devices
1084# 1121#
1085CONFIG_USB_HID=y 1122CONFIG_USB_HID=y
1086# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1123# CONFIG_HID_PID is not set
1087# CONFIG_HID_FF is not set
1088# CONFIG_USB_HIDDEV is not set 1124# CONFIG_USB_HIDDEV is not set
1125
1126#
1127# Special HID drivers
1128#
1129CONFIG_HID_COMPAT=y
1130CONFIG_HID_A4TECH=y
1131CONFIG_HID_APPLE=y
1132CONFIG_HID_BELKIN=y
1133CONFIG_HID_BRIGHT=y
1134CONFIG_HID_CHERRY=y
1135CONFIG_HID_CHICONY=y
1136CONFIG_HID_CYPRESS=y
1137CONFIG_HID_DELL=y
1138CONFIG_HID_EZKEY=y
1139CONFIG_HID_GYRATION=y
1140CONFIG_HID_LOGITECH=y
1141# CONFIG_LOGITECH_FF is not set
1142# CONFIG_LOGIRUMBLEPAD2_FF is not set
1143CONFIG_HID_MICROSOFT=y
1144CONFIG_HID_MONTEREY=y
1145CONFIG_HID_PANTHERLORD=y
1146# CONFIG_PANTHERLORD_FF is not set
1147CONFIG_HID_PETALYNX=y
1148CONFIG_HID_SAMSUNG=y
1149CONFIG_HID_SONY=y
1150CONFIG_HID_SUNPLUS=y
1151# CONFIG_THRUSTMASTER_FF is not set
1152# CONFIG_ZEROPLUS_FF is not set
1089CONFIG_USB_SUPPORT=y 1153CONFIG_USB_SUPPORT=y
1090CONFIG_USB_ARCH_HAS_HCD=y 1154CONFIG_USB_ARCH_HAS_HCD=y
1091CONFIG_USB_ARCH_HAS_OHCI=y 1155CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1102,6 +1166,8 @@ CONFIG_USB_DEVICE_CLASS=y
1102# CONFIG_USB_DYNAMIC_MINORS is not set 1166# CONFIG_USB_DYNAMIC_MINORS is not set
1103# CONFIG_USB_OTG is not set 1167# CONFIG_USB_OTG is not set
1104CONFIG_USB_MON=y 1168CONFIG_USB_MON=y
1169# CONFIG_USB_WUSB is not set
1170# CONFIG_USB_WUSB_CBAF is not set
1105 1171
1106# 1172#
1107# USB Host Controller Drivers 1173# USB Host Controller Drivers
@@ -1121,6 +1187,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1121CONFIG_USB_UHCI_HCD=y 1187CONFIG_USB_UHCI_HCD=y
1122# CONFIG_USB_SL811_HCD is not set 1188# CONFIG_USB_SL811_HCD is not set
1123# CONFIG_USB_R8A66597_HCD is not set 1189# CONFIG_USB_R8A66597_HCD is not set
1190# CONFIG_USB_WHCI_HCD is not set
1191# CONFIG_USB_HWA_HCD is not set
1124 1192
1125# 1193#
1126# USB Device Class drivers 1194# USB Device Class drivers
@@ -1128,6 +1196,7 @@ CONFIG_USB_UHCI_HCD=y
1128# CONFIG_USB_ACM is not set 1196# CONFIG_USB_ACM is not set
1129# CONFIG_USB_PRINTER is not set 1197# CONFIG_USB_PRINTER is not set
1130# CONFIG_USB_WDM is not set 1198# CONFIG_USB_WDM is not set
1199# CONFIG_USB_TMC is not set
1131 1200
1132# 1201#
1133# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1202# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1149,7 +1218,6 @@ CONFIG_USB_STORAGE=m
1149# CONFIG_USB_STORAGE_ALAUDA is not set 1218# CONFIG_USB_STORAGE_ALAUDA is not set
1150# CONFIG_USB_STORAGE_ONETOUCH is not set 1219# CONFIG_USB_STORAGE_ONETOUCH is not set
1151# CONFIG_USB_STORAGE_KARMA is not set 1220# CONFIG_USB_STORAGE_KARMA is not set
1152# CONFIG_USB_STORAGE_SIERRA is not set
1153# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1221# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1154# CONFIG_USB_LIBUSUAL is not set 1222# CONFIG_USB_LIBUSUAL is not set
1155 1223
@@ -1170,6 +1238,7 @@ CONFIG_USB_STORAGE=m
1170# CONFIG_USB_EMI62 is not set 1238# CONFIG_USB_EMI62 is not set
1171# CONFIG_USB_EMI26 is not set 1239# CONFIG_USB_EMI26 is not set
1172# CONFIG_USB_ADUTUX is not set 1240# CONFIG_USB_ADUTUX is not set
1241# CONFIG_USB_SEVSEG is not set
1173# CONFIG_USB_RIO500 is not set 1242# CONFIG_USB_RIO500 is not set
1174# CONFIG_USB_LEGOTOWER is not set 1243# CONFIG_USB_LEGOTOWER is not set
1175# CONFIG_USB_LCD is not set 1244# CONFIG_USB_LCD is not set
@@ -1187,7 +1256,9 @@ CONFIG_USB_STORAGE=m
1187# CONFIG_USB_IOWARRIOR is not set 1256# CONFIG_USB_IOWARRIOR is not set
1188# CONFIG_USB_TEST is not set 1257# CONFIG_USB_TEST is not set
1189# CONFIG_USB_ISIGHTFW is not set 1258# CONFIG_USB_ISIGHTFW is not set
1259# CONFIG_USB_VST is not set
1190# CONFIG_USB_GADGET is not set 1260# CONFIG_USB_GADGET is not set
1261# CONFIG_UWB is not set
1191# CONFIG_MMC is not set 1262# CONFIG_MMC is not set
1192# CONFIG_MEMSTICK is not set 1263# CONFIG_MEMSTICK is not set
1193# CONFIG_NEW_LEDS is not set 1264# CONFIG_NEW_LEDS is not set
@@ -1197,6 +1268,7 @@ CONFIG_USB_STORAGE=m
1197# CONFIG_RTC_CLASS is not set 1268# CONFIG_RTC_CLASS is not set
1198# CONFIG_DMADEVICES is not set 1269# CONFIG_DMADEVICES is not set
1199# CONFIG_UIO is not set 1270# CONFIG_UIO is not set
1271# CONFIG_STAGING is not set
1200 1272
1201# 1273#
1202# File systems 1274# File systems
@@ -1208,12 +1280,18 @@ CONFIG_EXT3_FS=y
1208CONFIG_EXT3_FS_XATTR=y 1280CONFIG_EXT3_FS_XATTR=y
1209# CONFIG_EXT3_FS_POSIX_ACL is not set 1281# CONFIG_EXT3_FS_POSIX_ACL is not set
1210# CONFIG_EXT3_FS_SECURITY is not set 1282# CONFIG_EXT3_FS_SECURITY is not set
1211# CONFIG_EXT4DEV_FS is not set 1283CONFIG_EXT4_FS=y
1284# CONFIG_EXT4DEV_COMPAT is not set
1285CONFIG_EXT4_FS_XATTR=y
1286# CONFIG_EXT4_FS_POSIX_ACL is not set
1287# CONFIG_EXT4_FS_SECURITY is not set
1212CONFIG_JBD=y 1288CONFIG_JBD=y
1289CONFIG_JBD2=y
1213CONFIG_FS_MBCACHE=y 1290CONFIG_FS_MBCACHE=y
1214# CONFIG_REISERFS_FS is not set 1291# CONFIG_REISERFS_FS is not set
1215# CONFIG_JFS_FS is not set 1292# CONFIG_JFS_FS is not set
1216# CONFIG_FS_POSIX_ACL is not set 1293# CONFIG_FS_POSIX_ACL is not set
1294CONFIG_FILE_LOCKING=y
1217# CONFIG_XFS_FS is not set 1295# CONFIG_XFS_FS is not set
1218# CONFIG_OCFS2_FS is not set 1296# CONFIG_OCFS2_FS is not set
1219CONFIG_DNOTIFY=y 1297CONFIG_DNOTIFY=y
@@ -1248,6 +1326,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1248CONFIG_PROC_FS=y 1326CONFIG_PROC_FS=y
1249CONFIG_PROC_KCORE=y 1327CONFIG_PROC_KCORE=y
1250CONFIG_PROC_SYSCTL=y 1328CONFIG_PROC_SYSCTL=y
1329CONFIG_PROC_PAGE_MONITOR=y
1251CONFIG_SYSFS=y 1330CONFIG_SYSFS=y
1252CONFIG_TMPFS=y 1331CONFIG_TMPFS=y
1253# CONFIG_TMPFS_POSIX_ACL is not set 1332# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1349,9 +1428,8 @@ CONFIG_NLS_ISO8859_1=m
1349# Library routines 1428# Library routines
1350# 1429#
1351CONFIG_BITREVERSE=y 1430CONFIG_BITREVERSE=y
1352# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1353CONFIG_CRC_CCITT=m 1431CONFIG_CRC_CCITT=m
1354# CONFIG_CRC16 is not set 1432CONFIG_CRC16=y
1355CONFIG_CRC_T10DIF=y 1433CONFIG_CRC_T10DIF=y
1356# CONFIG_CRC_ITU_T is not set 1434# CONFIG_CRC_ITU_T is not set
1357CONFIG_CRC32=y 1435CONFIG_CRC32=y
@@ -1404,15 +1482,23 @@ CONFIG_DEBUG_MEMORY_INIT=y
1404# CONFIG_DEBUG_SG is not set 1482# CONFIG_DEBUG_SG is not set
1405# CONFIG_BOOT_PRINTK_DELAY is not set 1483# CONFIG_BOOT_PRINTK_DELAY is not set
1406# CONFIG_RCU_TORTURE_TEST is not set 1484# CONFIG_RCU_TORTURE_TEST is not set
1485# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1407# CONFIG_BACKTRACE_SELF_TEST is not set 1486# CONFIG_BACKTRACE_SELF_TEST is not set
1487# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1408# CONFIG_FAULT_INJECTION is not set 1488# CONFIG_FAULT_INJECTION is not set
1409# CONFIG_LATENCYTOP is not set 1489# CONFIG_LATENCYTOP is not set
1410CONFIG_SYSCTL_SYSCALL_CHECK=y 1490CONFIG_SYSCTL_SYSCALL_CHECK=y
1411CONFIG_HAVE_FTRACE=y 1491CONFIG_HAVE_FUNCTION_TRACER=y
1412CONFIG_HAVE_DYNAMIC_FTRACE=y 1492
1413# CONFIG_FTRACE is not set 1493#
1494# Tracers
1495#
1496# CONFIG_FUNCTION_TRACER is not set
1414# CONFIG_SCHED_TRACER is not set 1497# CONFIG_SCHED_TRACER is not set
1415# CONFIG_CONTEXT_SWITCH_TRACER is not set 1498# CONFIG_CONTEXT_SWITCH_TRACER is not set
1499# CONFIG_BOOT_TRACER is not set
1500# CONFIG_STACK_TRACER is not set
1501# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1416# CONFIG_SAMPLES is not set 1502# CONFIG_SAMPLES is not set
1417CONFIG_HAVE_ARCH_KGDB=y 1503CONFIG_HAVE_ARCH_KGDB=y
1418# CONFIG_KGDB is not set 1504# CONFIG_KGDB is not set
@@ -1421,6 +1507,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1421# CONFIG_DEBUG_PAGEALLOC is not set 1507# CONFIG_DEBUG_PAGEALLOC is not set
1422# CONFIG_CODE_PATCHING_SELFTEST is not set 1508# CONFIG_CODE_PATCHING_SELFTEST is not set
1423# CONFIG_FTR_FIXUP_SELFTEST is not set 1509# CONFIG_FTR_FIXUP_SELFTEST is not set
1510# CONFIG_MSI_BITMAP_SELFTEST is not set
1424CONFIG_XMON=y 1511CONFIG_XMON=y
1425CONFIG_XMON_DEFAULT=y 1512CONFIG_XMON_DEFAULT=y
1426CONFIG_XMON_DISASSEMBLY=y 1513CONFIG_XMON_DISASSEMBLY=y
@@ -1435,14 +1522,19 @@ CONFIG_IRQSTACKS=y
1435# 1522#
1436# CONFIG_KEYS is not set 1523# CONFIG_KEYS is not set
1437# CONFIG_SECURITY is not set 1524# CONFIG_SECURITY is not set
1525# CONFIG_SECURITYFS is not set
1438# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1526# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1439CONFIG_CRYPTO=y 1527CONFIG_CRYPTO=y
1440 1528
1441# 1529#
1442# Crypto core or helper 1530# Crypto core or helper
1443# 1531#
1532# CONFIG_CRYPTO_FIPS is not set
1444CONFIG_CRYPTO_ALGAPI=m 1533CONFIG_CRYPTO_ALGAPI=m
1534CONFIG_CRYPTO_AEAD=m
1445CONFIG_CRYPTO_BLKCIPHER=m 1535CONFIG_CRYPTO_BLKCIPHER=m
1536CONFIG_CRYPTO_HASH=m
1537CONFIG_CRYPTO_RNG=m
1446CONFIG_CRYPTO_MANAGER=m 1538CONFIG_CRYPTO_MANAGER=m
1447# CONFIG_CRYPTO_GF128MUL is not set 1539# CONFIG_CRYPTO_GF128MUL is not set
1448# CONFIG_CRYPTO_NULL is not set 1540# CONFIG_CRYPTO_NULL is not set
@@ -1515,6 +1607,11 @@ CONFIG_CRYPTO_ARC4=m
1515# 1607#
1516# CONFIG_CRYPTO_DEFLATE is not set 1608# CONFIG_CRYPTO_DEFLATE is not set
1517# CONFIG_CRYPTO_LZO is not set 1609# CONFIG_CRYPTO_LZO is not set
1610
1611#
1612# Random Number Generation
1613#
1614# CONFIG_CRYPTO_ANSI_CPRNG is not set
1518# CONFIG_CRYPTO_HW is not set 1615# CONFIG_CRYPTO_HW is not set
1519# CONFIG_PPC_CLOCK is not set 1616# CONFIG_PPC_CLOCK is not set
1520# CONFIG_VIRTUALIZATION is not set 1617# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index cd691f770810..a6f1cff564e6 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:03 2008 4# Sat Nov 8 12:39:36 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -48,13 +48,11 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
48CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
49CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
50CONFIG_OF=y 50CONFIG_OF=y
51CONFIG_PPC_UDBG_16550=y 51# CONFIG_PPC_UDBG_16550 is not set
52# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55# CONFIG_DEFAULT_UIMAGE is not set 55# CONFIG_DEFAULT_UIMAGE is not set
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -93,7 +91,6 @@ CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 91CONFIG_PRINTK=y
94CONFIG_BUG=y 92CONFIG_BUG=y
95CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
96CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 94CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 96CONFIG_FUTEX=y
@@ -103,7 +100,9 @@ CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 100CONFIG_TIMERFD=y
104CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
105CONFIG_SHMEM=y 102CONFIG_SHMEM=y
103CONFIG_AIO=y
106CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
105CONFIG_PCI_QUIRKS=y
107CONFIG_SLAB=y 106CONFIG_SLAB=y
108# CONFIG_SLUB is not set 107# CONFIG_SLUB is not set
109# CONFIG_SLOB is not set 108# CONFIG_SLOB is not set
@@ -115,10 +114,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 114CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 115CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 116CONFIG_HAVE_ARCH_TRACEHOOK=y
118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120CONFIG_HAVE_CLK=y 117CONFIG_HAVE_CLK=y
121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 118# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 119CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 120CONFIG_RT_MUTEXES=y
@@ -144,6 +140,7 @@ CONFIG_DEFAULT_DEADLINE=y
144# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
145CONFIG_DEFAULT_IOSCHED="deadline" 141CONFIG_DEFAULT_IOSCHED="deadline"
146CONFIG_CLASSIC_RCU=y 142CONFIG_CLASSIC_RCU=y
143# CONFIG_FREEZER is not set
147 144
148# 145#
149# Platform support 146# Platform support
@@ -151,39 +148,36 @@ CONFIG_CLASSIC_RCU=y
151CONFIG_PPC_MULTIPLATFORM=y 148CONFIG_PPC_MULTIPLATFORM=y
152CONFIG_CLASSIC32=y 149CONFIG_CLASSIC32=y
153# CONFIG_PPC_CHRP is not set 150# CONFIG_PPC_CHRP is not set
154# CONFIG_PPC_PMAC is not set
155# CONFIG_MPC5121_ADS is not set 151# CONFIG_MPC5121_ADS is not set
156# CONFIG_MPC5121_GENERIC is not set 152# CONFIG_MPC5121_GENERIC is not set
157# CONFIG_PPC_MPC52xx is not set 153# CONFIG_PPC_MPC52xx is not set
154# CONFIG_PPC_PMAC is not set
158# CONFIG_PPC_CELL is not set 155# CONFIG_PPC_CELL is not set
159# CONFIG_PPC_CELL_NATIVE is not set 156# CONFIG_PPC_CELL_NATIVE is not set
160CONFIG_PPC_82xx=y 157CONFIG_PPC_82xx=y
161# CONFIG_MPC8272_ADS is not set 158# CONFIG_MPC8272_ADS is not set
162# CONFIG_PQ2FADS is not set 159# CONFIG_PQ2FADS is not set
163CONFIG_EP8248E=y 160CONFIG_EP8248E=y
161# CONFIG_MGCOGE is not set
164# CONFIG_PQ2ADS is not set 162# CONFIG_PQ2ADS is not set
165CONFIG_8260=y 163CONFIG_8260=y
166CONFIG_8272=y 164CONFIG_8272=y
167# CONFIG_PPC_83xx is not set 165# CONFIG_PPC_83xx is not set
168# CONFIG_PPC_86xx is not set 166# CONFIG_PPC_86xx is not set
169# CONFIG_EMBEDDED6xx is not set 167# CONFIG_EMBEDDED6xx is not set
170CONFIG_PPC_NATIVE=y
171# CONFIG_UDBG_RTAS_CONSOLE is not set
172# CONFIG_IPIC is not set 168# CONFIG_IPIC is not set
173CONFIG_MPIC=y 169# CONFIG_MPIC is not set
174# CONFIG_MPIC_WEIRD is not set 170# CONFIG_MPIC_WEIRD is not set
175CONFIG_PPC_I8259=y 171# CONFIG_PPC_I8259 is not set
176CONFIG_PPC_RTAS=y 172# CONFIG_PPC_RTAS is not set
177# CONFIG_RTAS_ERROR_LOGGING is not set
178CONFIG_RTAS_PROC=y
179# CONFIG_MMIO_NVRAM is not set 173# CONFIG_MMIO_NVRAM is not set
180CONFIG_PPC_MPC106=y 174# CONFIG_PPC_MPC106 is not set
181# CONFIG_PPC_970_NAP is not set 175# CONFIG_PPC_970_NAP is not set
182# CONFIG_PPC_INDIRECT_IO is not set 176# CONFIG_PPC_INDIRECT_IO is not set
183# CONFIG_GENERIC_IOMAP is not set 177# CONFIG_GENERIC_IOMAP is not set
184# CONFIG_CPU_FREQ is not set 178# CONFIG_CPU_FREQ is not set
185# CONFIG_PPC601_SYNC_FIX is not set
186# CONFIG_TAU is not set 179# CONFIG_TAU is not set
180# CONFIG_QUICC_ENGINE is not set
187CONFIG_CPM2=y 181CONFIG_CPM2=y
188# CONFIG_FSL_ULI1575 is not set 182# CONFIG_FSL_ULI1575 is not set
189CONFIG_CPM=y 183CONFIG_CPM=y
@@ -192,7 +186,6 @@ CONFIG_CPM=y
192# Kernel options 186# Kernel options
193# 187#
194# CONFIG_HIGHMEM is not set 188# CONFIG_HIGHMEM is not set
195# CONFIG_TICK_ONESHOT is not set
196# CONFIG_NO_HZ is not set 189# CONFIG_NO_HZ is not set
197# CONFIG_HIGH_RES_TIMERS is not set 190# CONFIG_HIGH_RES_TIMERS is not set
198CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 191CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -206,6 +199,8 @@ CONFIG_PREEMPT_NONE=y
206# CONFIG_PREEMPT_VOLUNTARY is not set 199# CONFIG_PREEMPT_VOLUNTARY is not set
207# CONFIG_PREEMPT is not set 200# CONFIG_PREEMPT is not set
208CONFIG_BINFMT_ELF=y 201CONFIG_BINFMT_ELF=y
202# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
203# CONFIG_HAVE_AOUT is not set
209CONFIG_BINFMT_MISC=y 204CONFIG_BINFMT_MISC=y
210# CONFIG_IOMMU_HELPER is not set 205# CONFIG_IOMMU_HELPER is not set
211CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 206CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -215,15 +210,15 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
215CONFIG_ARCH_POPULATES_NODE_MAP=y 210CONFIG_ARCH_POPULATES_NODE_MAP=y
216CONFIG_FLATMEM=y 211CONFIG_FLATMEM=y
217CONFIG_FLAT_NODE_MEM_MAP=y 212CONFIG_FLAT_NODE_MEM_MAP=y
218# CONFIG_SPARSEMEM_STATIC is not set
219# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
220CONFIG_PAGEFLAGS_EXTENDED=y 213CONFIG_PAGEFLAGS_EXTENDED=y
221CONFIG_SPLIT_PTLOCK_CPUS=4 214CONFIG_SPLIT_PTLOCK_CPUS=4
222CONFIG_MIGRATION=y 215CONFIG_MIGRATION=y
223# CONFIG_RESOURCES_64BIT is not set 216# CONFIG_RESOURCES_64BIT is not set
217# CONFIG_PHYS_ADDR_T_64BIT is not set
224CONFIG_ZONE_DMA_FLAG=1 218CONFIG_ZONE_DMA_FLAG=1
225CONFIG_BOUNCE=y 219CONFIG_BOUNCE=y
226CONFIG_VIRT_TO_BUS=y 220CONFIG_VIRT_TO_BUS=y
221CONFIG_UNEVICTABLE_LRU=y
227CONFIG_FORCE_MAX_ZONEORDER=11 222CONFIG_FORCE_MAX_ZONEORDER=11
228CONFIG_PROC_DEVICETREE=y 223CONFIG_PROC_DEVICETREE=y
229# CONFIG_CMDLINE_BOOL is not set 224# CONFIG_CMDLINE_BOOL is not set
@@ -235,7 +230,6 @@ CONFIG_ISA_DMA_API=y
235# 230#
236# Bus options 231# Bus options
237# 232#
238# CONFIG_ISA is not set
239CONFIG_ZONE_DMA=y 233CONFIG_ZONE_DMA=y
240CONFIG_PPC_INDIRECT_PCI=y 234CONFIG_PPC_INDIRECT_PCI=y
241CONFIG_FSL_SOC=y 235CONFIG_FSL_SOC=y
@@ -247,7 +241,7 @@ CONFIG_PCI_8260=y
247# CONFIG_PCIEPORTBUS is not set 241# CONFIG_PCIEPORTBUS is not set
248CONFIG_ARCH_SUPPORTS_MSI=y 242CONFIG_ARCH_SUPPORTS_MSI=y
249# CONFIG_PCI_MSI is not set 243# CONFIG_PCI_MSI is not set
250CONFIG_PCI_LEGACY=y 244# CONFIG_PCI_LEGACY is not set
251# CONFIG_PCI_DEBUG is not set 245# CONFIG_PCI_DEBUG is not set
252# CONFIG_PCCARD is not set 246# CONFIG_PCCARD is not set
253# CONFIG_HOTPLUG_PCI is not set 247# CONFIG_HOTPLUG_PCI is not set
@@ -303,7 +297,6 @@ CONFIG_INET_TCP_DIAG=y
303# CONFIG_TCP_CONG_ADVANCED is not set 297# CONFIG_TCP_CONG_ADVANCED is not set
304CONFIG_TCP_CONG_CUBIC=y 298CONFIG_TCP_CONG_CUBIC=y
305CONFIG_DEFAULT_TCP_CONG="cubic" 299CONFIG_DEFAULT_TCP_CONG="cubic"
306# CONFIG_IP_VS is not set
307CONFIG_IPV6=y 300CONFIG_IPV6=y
308# CONFIG_IPV6_PRIVACY is not set 301# CONFIG_IPV6_PRIVACY is not set
309# CONFIG_IPV6_ROUTER_PREF is not set 302# CONFIG_IPV6_ROUTER_PREF is not set
@@ -330,10 +323,12 @@ CONFIG_NETFILTER_ADVANCED=y
330# CONFIG_NETFILTER_NETLINK_LOG is not set 323# CONFIG_NETFILTER_NETLINK_LOG is not set
331# CONFIG_NF_CONNTRACK is not set 324# CONFIG_NF_CONNTRACK is not set
332# CONFIG_NETFILTER_XTABLES is not set 325# CONFIG_NETFILTER_XTABLES is not set
326# CONFIG_IP_VS is not set
333 327
334# 328#
335# IP: Netfilter Configuration 329# IP: Netfilter Configuration
336# 330#
331# CONFIG_NF_DEFRAG_IPV4 is not set
337# CONFIG_IP_NF_QUEUE is not set 332# CONFIG_IP_NF_QUEUE is not set
338# CONFIG_IP_NF_IPTABLES is not set 333# CONFIG_IP_NF_IPTABLES is not set
339# CONFIG_IP_NF_ARPTABLES is not set 334# CONFIG_IP_NF_ARPTABLES is not set
@@ -360,11 +355,10 @@ CONFIG_NETFILTER_ADVANCED=y
360# CONFIG_CAN is not set 355# CONFIG_CAN is not set
361# CONFIG_IRDA is not set 356# CONFIG_IRDA is not set
362# CONFIG_BT is not set 357# CONFIG_BT is not set
363 358# CONFIG_PHONET is not set
364# 359CONFIG_WIRELESS=y
365# Wireless
366#
367# CONFIG_CFG80211 is not set 360# CONFIG_CFG80211 is not set
361CONFIG_WIRELESS_OLD_REGULATORY=y
368# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
369# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
370# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
@@ -469,7 +463,6 @@ CONFIG_OF_GPIO=y
469# CONFIG_PARPORT is not set 463# CONFIG_PARPORT is not set
470CONFIG_BLK_DEV=y 464CONFIG_BLK_DEV=y
471# CONFIG_BLK_DEV_FD is not set 465# CONFIG_BLK_DEV_FD is not set
472# CONFIG_MAC_FLOPPY is not set
473# CONFIG_BLK_CPQ_DA is not set 466# CONFIG_BLK_CPQ_DA is not set
474# CONFIG_BLK_CPQ_CISS_DA is not set 467# CONFIG_BLK_CPQ_CISS_DA is not set
475# CONFIG_BLK_DEV_DAC960 is not set 468# CONFIG_BLK_DEV_DAC960 is not set
@@ -534,8 +527,6 @@ CONFIG_MDIO_BITBANG=y
534# CONFIG_MDIO_OF_GPIO is not set 527# CONFIG_MDIO_OF_GPIO is not set
535CONFIG_NET_ETHERNET=y 528CONFIG_NET_ETHERNET=y
536CONFIG_MII=y 529CONFIG_MII=y
537# CONFIG_MACE is not set
538# CONFIG_BMAC is not set
539# CONFIG_HAPPYMEAL is not set 530# CONFIG_HAPPYMEAL is not set
540# CONFIG_SUNGEM is not set 531# CONFIG_SUNGEM is not set
541# CONFIG_CASSINI is not set 532# CONFIG_CASSINI is not set
@@ -546,8 +537,12 @@ CONFIG_MII=y
546# CONFIG_IBM_NEW_EMAC_RGMII is not set 537# CONFIG_IBM_NEW_EMAC_RGMII is not set
547# CONFIG_IBM_NEW_EMAC_TAH is not set 538# CONFIG_IBM_NEW_EMAC_TAH is not set
548# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 539# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
540# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
541# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
542# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
549# CONFIG_NET_PCI is not set 543# CONFIG_NET_PCI is not set
550# CONFIG_B44 is not set 544# CONFIG_B44 is not set
545# CONFIG_ATL2 is not set
551CONFIG_FS_ENET=y 546CONFIG_FS_ENET=y
552# CONFIG_FS_ENET_HAS_SCC is not set 547# CONFIG_FS_ENET_HAS_SCC is not set
553CONFIG_FS_ENET_HAS_FCC=y 548CONFIG_FS_ENET_HAS_FCC=y
@@ -570,18 +565,23 @@ CONFIG_NETDEV_1000=y
570# CONFIG_GIANFAR is not set 565# CONFIG_GIANFAR is not set
571# CONFIG_MV643XX_ETH is not set 566# CONFIG_MV643XX_ETH is not set
572# CONFIG_QLA3XXX is not set 567# CONFIG_QLA3XXX is not set
568# CONFIG_ATL1 is not set
569# CONFIG_JME is not set
573CONFIG_NETDEV_10000=y 570CONFIG_NETDEV_10000=y
574# CONFIG_CHELSIO_T1 is not set 571# CONFIG_CHELSIO_T1 is not set
575# CONFIG_CHELSIO_T3 is not set 572# CONFIG_CHELSIO_T3 is not set
573# CONFIG_ENIC is not set
576# CONFIG_IXGBE is not set 574# CONFIG_IXGBE is not set
577# CONFIG_IXGB is not set 575# CONFIG_IXGB is not set
578# CONFIG_S2IO is not set 576# CONFIG_S2IO is not set
579# CONFIG_MYRI10GE is not set 577# CONFIG_MYRI10GE is not set
580# CONFIG_NETXEN_NIC is not set 578# CONFIG_NETXEN_NIC is not set
581# CONFIG_NIU is not set 579# CONFIG_NIU is not set
580# CONFIG_MLX4_EN is not set
582# CONFIG_MLX4_CORE is not set 581# CONFIG_MLX4_CORE is not set
583# CONFIG_TEHUTI is not set 582# CONFIG_TEHUTI is not set
584# CONFIG_BNX2X is not set 583# CONFIG_BNX2X is not set
584# CONFIG_QLGE is not set
585# CONFIG_SFC is not set 585# CONFIG_SFC is not set
586# CONFIG_TR is not set 586# CONFIG_TR is not set
587 587
@@ -629,21 +629,12 @@ CONFIG_DEVKMEM=y
629# CONFIG_SERIAL_UARTLITE is not set 629# CONFIG_SERIAL_UARTLITE is not set
630CONFIG_SERIAL_CORE=y 630CONFIG_SERIAL_CORE=y
631CONFIG_SERIAL_CORE_CONSOLE=y 631CONFIG_SERIAL_CORE_CONSOLE=y
632# CONFIG_SERIAL_PMACZILOG is not set
633CONFIG_SERIAL_CPM=y 632CONFIG_SERIAL_CPM=y
634CONFIG_SERIAL_CPM_CONSOLE=y 633CONFIG_SERIAL_CPM_CONSOLE=y
635CONFIG_SERIAL_CPM_SCC1=y
636# CONFIG_SERIAL_CPM_SCC2 is not set
637# CONFIG_SERIAL_CPM_SCC3 is not set
638CONFIG_SERIAL_CPM_SCC4=y
639# CONFIG_SERIAL_CPM_SMC1 is not set
640# CONFIG_SERIAL_CPM_SMC2 is not set
641# CONFIG_SERIAL_JSM is not set 634# CONFIG_SERIAL_JSM is not set
642CONFIG_UNIX98_PTYS=y 635CONFIG_UNIX98_PTYS=y
643CONFIG_LEGACY_PTYS=y 636CONFIG_LEGACY_PTYS=y
644CONFIG_LEGACY_PTY_COUNT=256 637CONFIG_LEGACY_PTY_COUNT=256
645# CONFIG_BRIQ_PANEL is not set
646# CONFIG_HVC_RTAS is not set
647# CONFIG_IPMI_HANDLER is not set 638# CONFIG_IPMI_HANDLER is not set
648CONFIG_HW_RANDOM=y 639CONFIG_HW_RANDOM=y
649# CONFIG_NVRAM is not set 640# CONFIG_NVRAM is not set
@@ -693,6 +684,14 @@ CONFIG_SSB_POSSIBLE=y
693# CONFIG_MFD_TMIO is not set 684# CONFIG_MFD_TMIO is not set
694 685
695# 686#
687# Voltage and Current regulators
688#
689# CONFIG_REGULATOR is not set
690# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
691# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
692# CONFIG_REGULATOR_BQ24022 is not set
693
694#
696# Multimedia devices 695# Multimedia devices
697# 696#
698 697
@@ -732,6 +731,7 @@ CONFIG_DAB=y
732# CONFIG_RTC_CLASS is not set 731# CONFIG_RTC_CLASS is not set
733# CONFIG_DMADEVICES is not set 732# CONFIG_DMADEVICES is not set
734# CONFIG_UIO is not set 733# CONFIG_UIO is not set
734# CONFIG_STAGING is not set
735 735
736# 736#
737# File systems 737# File systems
@@ -741,10 +741,12 @@ CONFIG_EXT2_FS=y
741# CONFIG_EXT2_FS_XIP is not set 741# CONFIG_EXT2_FS_XIP is not set
742CONFIG_EXT3_FS=y 742CONFIG_EXT3_FS=y
743# CONFIG_EXT3_FS_XATTR is not set 743# CONFIG_EXT3_FS_XATTR is not set
744# CONFIG_EXT4_FS is not set
744CONFIG_JBD=y 745CONFIG_JBD=y
745# CONFIG_REISERFS_FS is not set 746# CONFIG_REISERFS_FS is not set
746# CONFIG_JFS_FS is not set 747# CONFIG_JFS_FS is not set
747# CONFIG_FS_POSIX_ACL is not set 748# CONFIG_FS_POSIX_ACL is not set
749CONFIG_FILE_LOCKING=y
748# CONFIG_XFS_FS is not set 750# CONFIG_XFS_FS is not set
749# CONFIG_OCFS2_FS is not set 751# CONFIG_OCFS2_FS is not set
750CONFIG_DNOTIFY=y 752CONFIG_DNOTIFY=y
@@ -774,6 +776,7 @@ CONFIG_AUTOFS4_FS=y
774CONFIG_PROC_FS=y 776CONFIG_PROC_FS=y
775CONFIG_PROC_KCORE=y 777CONFIG_PROC_KCORE=y
776CONFIG_PROC_SYSCTL=y 778CONFIG_PROC_SYSCTL=y
779CONFIG_PROC_PAGE_MONITOR=y
777CONFIG_SYSFS=y 780CONFIG_SYSFS=y
778CONFIG_TMPFS=y 781CONFIG_TMPFS=y
779# CONFIG_TMPFS_POSIX_ACL is not set 782# CONFIG_TMPFS_POSIX_ACL is not set
@@ -874,7 +877,6 @@ CONFIG_NLS_UTF8=y
874# 877#
875# Library routines 878# Library routines
876# 879#
877# CONFIG_GENERIC_FIND_FIRST_BIT is not set
878# CONFIG_CRC_CCITT is not set 880# CONFIG_CRC_CCITT is not set
879# CONFIG_CRC16 is not set 881# CONFIG_CRC16 is not set
880# CONFIG_CRC_T10DIF is not set 882# CONFIG_CRC_T10DIF is not set
@@ -924,15 +926,23 @@ CONFIG_DEBUG_INFO=y
924# CONFIG_DEBUG_SG is not set 926# CONFIG_DEBUG_SG is not set
925# CONFIG_BOOT_PRINTK_DELAY is not set 927# CONFIG_BOOT_PRINTK_DELAY is not set
926# CONFIG_RCU_TORTURE_TEST is not set 928# CONFIG_RCU_TORTURE_TEST is not set
929# CONFIG_RCU_CPU_STALL_DETECTOR is not set
927# CONFIG_BACKTRACE_SELF_TEST is not set 930# CONFIG_BACKTRACE_SELF_TEST is not set
931# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
928# CONFIG_FAULT_INJECTION is not set 932# CONFIG_FAULT_INJECTION is not set
929# CONFIG_LATENCYTOP is not set 933# CONFIG_LATENCYTOP is not set
930CONFIG_SYSCTL_SYSCALL_CHECK=y 934CONFIG_SYSCTL_SYSCALL_CHECK=y
931CONFIG_HAVE_FTRACE=y 935CONFIG_HAVE_FUNCTION_TRACER=y
932CONFIG_HAVE_DYNAMIC_FTRACE=y 936
933# CONFIG_FTRACE is not set 937#
938# Tracers
939#
940# CONFIG_FUNCTION_TRACER is not set
934# CONFIG_SCHED_TRACER is not set 941# CONFIG_SCHED_TRACER is not set
935# CONFIG_CONTEXT_SWITCH_TRACER is not set 942# CONFIG_CONTEXT_SWITCH_TRACER is not set
943# CONFIG_BOOT_TRACER is not set
944# CONFIG_STACK_TRACER is not set
945# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
936# CONFIG_SAMPLES is not set 946# CONFIG_SAMPLES is not set
937CONFIG_HAVE_ARCH_KGDB=y 947CONFIG_HAVE_ARCH_KGDB=y
938# CONFIG_DEBUG_STACKOVERFLOW is not set 948# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -940,6 +950,7 @@ CONFIG_HAVE_ARCH_KGDB=y
940# CONFIG_DEBUG_PAGEALLOC is not set 950# CONFIG_DEBUG_PAGEALLOC is not set
941# CONFIG_CODE_PATCHING_SELFTEST is not set 951# CONFIG_CODE_PATCHING_SELFTEST is not set
942# CONFIG_FTR_FIXUP_SELFTEST is not set 952# CONFIG_FTR_FIXUP_SELFTEST is not set
953# CONFIG_MSI_BITMAP_SELFTEST is not set
943# CONFIG_XMON is not set 954# CONFIG_XMON is not set
944# CONFIG_IRQSTACKS is not set 955# CONFIG_IRQSTACKS is not set
945CONFIG_BDI_SWITCH=y 956CONFIG_BDI_SWITCH=y
@@ -951,14 +962,19 @@ CONFIG_BDI_SWITCH=y
951# 962#
952# CONFIG_KEYS is not set 963# CONFIG_KEYS is not set
953# CONFIG_SECURITY is not set 964# CONFIG_SECURITY is not set
965# CONFIG_SECURITYFS is not set
954# CONFIG_SECURITY_FILE_CAPABILITIES is not set 966# CONFIG_SECURITY_FILE_CAPABILITIES is not set
955CONFIG_CRYPTO=y 967CONFIG_CRYPTO=y
956 968
957# 969#
958# Crypto core or helper 970# Crypto core or helper
959# 971#
972# CONFIG_CRYPTO_FIPS is not set
960CONFIG_CRYPTO_ALGAPI=y 973CONFIG_CRYPTO_ALGAPI=y
974CONFIG_CRYPTO_AEAD=y
961CONFIG_CRYPTO_BLKCIPHER=y 975CONFIG_CRYPTO_BLKCIPHER=y
976CONFIG_CRYPTO_HASH=y
977CONFIG_CRYPTO_RNG=y
962CONFIG_CRYPTO_MANAGER=y 978CONFIG_CRYPTO_MANAGER=y
963# CONFIG_CRYPTO_NULL is not set 979# CONFIG_CRYPTO_NULL is not set
964# CONFIG_CRYPTO_CRYPTD is not set 980# CONFIG_CRYPTO_CRYPTD is not set
@@ -1025,6 +1041,11 @@ CONFIG_CRYPTO_DES=y
1025# 1041#
1026# CONFIG_CRYPTO_DEFLATE is not set 1042# CONFIG_CRYPTO_DEFLATE is not set
1027# CONFIG_CRYPTO_LZO is not set 1043# CONFIG_CRYPTO_LZO is not set
1044
1045#
1046# Random Number Generation
1047#
1048# CONFIG_CRYPTO_ANSI_CPRNG is not set
1028# CONFIG_CRYPTO_HW is not set 1049# CONFIG_CRYPTO_HW is not set
1029CONFIG_PPC_CLOCK=y 1050CONFIG_PPC_CLOCK=y
1030CONFIG_PPC_LIB_RHEAP=y 1051CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 480225be2f39..870d28976a44 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:04 2008 4# Sat Nov 8 12:39:37 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_8xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -101,6 +101,7 @@ CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y 101CONFIG_TIMERFD=y
102CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
103CONFIG_SHMEM=y 103CONFIG_SHMEM=y
104CONFIG_AIO=y
104# CONFIG_VM_EVENT_COUNTERS is not set 105# CONFIG_VM_EVENT_COUNTERS is not set
105CONFIG_SLUB_DEBUG=y 106CONFIG_SLUB_DEBUG=y
106# CONFIG_SLAB is not set 107# CONFIG_SLAB is not set
@@ -114,10 +115,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
116CONFIG_HAVE_ARCH_TRACEHOOK=y 117CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set
118# CONFIG_USE_GENERIC_SMP_HELPERS is not set
119CONFIG_HAVE_CLK=y 118CONFIG_HAVE_CLK=y
120CONFIG_PROC_PAGE_MONITOR=y
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 120CONFIG_SLABINFO=y
123# CONFIG_TINY_SHMEM is not set 121# CONFIG_TINY_SHMEM is not set
@@ -143,6 +141,7 @@ CONFIG_DEFAULT_DEADLINE=y
143# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
144CONFIG_DEFAULT_IOSCHED="deadline" 142CONFIG_DEFAULT_IOSCHED="deadline"
145CONFIG_CLASSIC_RCU=y 143CONFIG_CLASSIC_RCU=y
144# CONFIG_FREEZER is not set
146 145
147# 146#
148# Platform support 147# Platform support
@@ -155,6 +154,7 @@ CONFIG_CPM1=y
155# CONFIG_MPC885ADS is not set 154# CONFIG_MPC885ADS is not set
156CONFIG_PPC_EP88XC=y 155CONFIG_PPC_EP88XC=y
157# CONFIG_PPC_ADDER875 is not set 156# CONFIG_PPC_ADDER875 is not set
157# CONFIG_PPC_MGSUVD is not set
158 158
159# 159#
160# MPC8xx CPM Options 160# MPC8xx CPM Options
@@ -183,6 +183,7 @@ CONFIG_NO_UCODE_PATCH=y
183# CONFIG_PPC_INDIRECT_IO is not set 183# CONFIG_PPC_INDIRECT_IO is not set
184# CONFIG_GENERIC_IOMAP is not set 184# CONFIG_GENERIC_IOMAP is not set
185# CONFIG_CPU_FREQ is not set 185# CONFIG_CPU_FREQ is not set
186# CONFIG_QUICC_ENGINE is not set
186# CONFIG_FSL_ULI1575 is not set 187# CONFIG_FSL_ULI1575 is not set
187CONFIG_CPM=y 188CONFIG_CPM=y
188 189
@@ -204,6 +205,8 @@ CONFIG_PREEMPT_NONE=y
204# CONFIG_PREEMPT_VOLUNTARY is not set 205# CONFIG_PREEMPT_VOLUNTARY is not set
205# CONFIG_PREEMPT is not set 206# CONFIG_PREEMPT is not set
206CONFIG_BINFMT_ELF=y 207CONFIG_BINFMT_ELF=y
208# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
209# CONFIG_HAVE_AOUT is not set
207# CONFIG_BINFMT_MISC is not set 210# CONFIG_BINFMT_MISC is not set
208# CONFIG_MATH_EMULATION is not set 211# CONFIG_MATH_EMULATION is not set
209CONFIG_8XX_MINIMAL_FPEMU=y 212CONFIG_8XX_MINIMAL_FPEMU=y
@@ -219,15 +222,15 @@ CONFIG_FLATMEM_MANUAL=y
219# CONFIG_SPARSEMEM_MANUAL is not set 222# CONFIG_SPARSEMEM_MANUAL is not set
220CONFIG_FLATMEM=y 223CONFIG_FLATMEM=y
221CONFIG_FLAT_NODE_MEM_MAP=y 224CONFIG_FLAT_NODE_MEM_MAP=y
222# CONFIG_SPARSEMEM_STATIC is not set
223# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
224CONFIG_PAGEFLAGS_EXTENDED=y 225CONFIG_PAGEFLAGS_EXTENDED=y
225CONFIG_SPLIT_PTLOCK_CPUS=4 226CONFIG_SPLIT_PTLOCK_CPUS=4
226CONFIG_MIGRATION=y 227CONFIG_MIGRATION=y
227# CONFIG_RESOURCES_64BIT is not set 228# CONFIG_RESOURCES_64BIT is not set
229# CONFIG_PHYS_ADDR_T_64BIT is not set
228CONFIG_ZONE_DMA_FLAG=1 230CONFIG_ZONE_DMA_FLAG=1
229CONFIG_BOUNCE=y 231CONFIG_BOUNCE=y
230CONFIG_VIRT_TO_BUS=y 232CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y
231CONFIG_FORCE_MAX_ZONEORDER=11 234CONFIG_FORCE_MAX_ZONEORDER=11
232CONFIG_PROC_DEVICETREE=y 235CONFIG_PROC_DEVICETREE=y
233# CONFIG_CMDLINE_BOOL is not set 236# CONFIG_CMDLINE_BOOL is not set
@@ -309,6 +312,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TIPC is not set 312# CONFIG_TIPC is not set
310# CONFIG_ATM is not set 313# CONFIG_ATM is not set
311# CONFIG_BRIDGE is not set 314# CONFIG_BRIDGE is not set
315# CONFIG_NET_DSA is not set
312# CONFIG_VLAN_8021Q is not set 316# CONFIG_VLAN_8021Q is not set
313# CONFIG_DECNET is not set 317# CONFIG_DECNET is not set
314# CONFIG_LLC2 is not set 318# CONFIG_LLC2 is not set
@@ -329,11 +333,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_IRDA is not set 333# CONFIG_IRDA is not set
330# CONFIG_BT is not set 334# CONFIG_BT is not set
331# CONFIG_AF_RXRPC is not set 335# CONFIG_AF_RXRPC is not set
332 336# CONFIG_PHONET is not set
333# 337CONFIG_WIRELESS=y
334# Wireless
335#
336# CONFIG_CFG80211 is not set 338# CONFIG_CFG80211 is not set
339CONFIG_WIRELESS_OLD_REGULATORY=y
337# CONFIG_WIRELESS_EXT is not set 340# CONFIG_WIRELESS_EXT is not set
338# CONFIG_MAC80211 is not set 341# CONFIG_MAC80211 is not set
339# CONFIG_IEEE80211 is not set 342# CONFIG_IEEE80211 is not set
@@ -475,6 +478,9 @@ CONFIG_MII=y
475# CONFIG_IBM_NEW_EMAC_RGMII is not set 478# CONFIG_IBM_NEW_EMAC_RGMII is not set
476# CONFIG_IBM_NEW_EMAC_TAH is not set 479# CONFIG_IBM_NEW_EMAC_TAH is not set
477# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 480# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
481# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
482# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
483# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
478# CONFIG_B44 is not set 484# CONFIG_B44 is not set
479CONFIG_FS_ENET=y 485CONFIG_FS_ENET=y
480# CONFIG_FS_ENET_HAS_SCC is not set 486# CONFIG_FS_ENET_HAS_SCC is not set
@@ -529,12 +535,6 @@ CONFIG_SERIAL_CORE=y
529CONFIG_SERIAL_CORE_CONSOLE=y 535CONFIG_SERIAL_CORE_CONSOLE=y
530CONFIG_SERIAL_CPM=y 536CONFIG_SERIAL_CPM=y
531CONFIG_SERIAL_CPM_CONSOLE=y 537CONFIG_SERIAL_CPM_CONSOLE=y
532# CONFIG_SERIAL_CPM_SCC1 is not set
533# CONFIG_SERIAL_CPM_SCC2 is not set
534# CONFIG_SERIAL_CPM_SCC3 is not set
535# CONFIG_SERIAL_CPM_SCC4 is not set
536CONFIG_SERIAL_CPM_SMC1=y
537CONFIG_SERIAL_CPM_SMC2=y
538CONFIG_UNIX98_PTYS=y 538CONFIG_UNIX98_PTYS=y
539# CONFIG_LEGACY_PTYS is not set 539# CONFIG_LEGACY_PTYS is not set
540# CONFIG_IPMI_HANDLER is not set 540# CONFIG_IPMI_HANDLER is not set
@@ -571,6 +571,14 @@ CONFIG_SSB_POSSIBLE=y
571# CONFIG_MFD_TMIO is not set 571# CONFIG_MFD_TMIO is not set
572 572
573# 573#
574# Voltage and Current regulators
575#
576# CONFIG_REGULATOR is not set
577# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
578# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
579# CONFIG_REGULATOR_BQ24022 is not set
580
581#
574# Multimedia devices 582# Multimedia devices
575# 583#
576 584
@@ -608,16 +616,18 @@ CONFIG_DAB=y
608# CONFIG_RTC_CLASS is not set 616# CONFIG_RTC_CLASS is not set
609# CONFIG_DMADEVICES is not set 617# CONFIG_DMADEVICES is not set
610# CONFIG_UIO is not set 618# CONFIG_UIO is not set
619# CONFIG_STAGING is not set
611 620
612# 621#
613# File systems 622# File systems
614# 623#
615# CONFIG_EXT2_FS is not set 624# CONFIG_EXT2_FS is not set
616# CONFIG_EXT3_FS is not set 625# CONFIG_EXT3_FS is not set
617# CONFIG_EXT4DEV_FS is not set 626# CONFIG_EXT4_FS is not set
618# CONFIG_REISERFS_FS is not set 627# CONFIG_REISERFS_FS is not set
619# CONFIG_JFS_FS is not set 628# CONFIG_JFS_FS is not set
620# CONFIG_FS_POSIX_ACL is not set 629# CONFIG_FS_POSIX_ACL is not set
630CONFIG_FILE_LOCKING=y
621# CONFIG_XFS_FS is not set 631# CONFIG_XFS_FS is not set
622# CONFIG_OCFS2_FS is not set 632# CONFIG_OCFS2_FS is not set
623# CONFIG_DNOTIFY is not set 633# CONFIG_DNOTIFY is not set
@@ -646,6 +656,7 @@ CONFIG_DAB=y
646CONFIG_PROC_FS=y 656CONFIG_PROC_FS=y
647# CONFIG_PROC_KCORE is not set 657# CONFIG_PROC_KCORE is not set
648CONFIG_PROC_SYSCTL=y 658CONFIG_PROC_SYSCTL=y
659CONFIG_PROC_PAGE_MONITOR=y
649CONFIG_SYSFS=y 660CONFIG_SYSFS=y
650CONFIG_TMPFS=y 661CONFIG_TMPFS=y
651# CONFIG_TMPFS_POSIX_ACL is not set 662# CONFIG_TMPFS_POSIX_ACL is not set
@@ -683,6 +694,7 @@ CONFIG_LOCKD=y
683CONFIG_LOCKD_V4=y 694CONFIG_LOCKD_V4=y
684CONFIG_NFS_COMMON=y 695CONFIG_NFS_COMMON=y
685CONFIG_SUNRPC=y 696CONFIG_SUNRPC=y
697# CONFIG_SUNRPC_REGISTER_V4 is not set
686# CONFIG_RPCSEC_GSS_KRB5 is not set 698# CONFIG_RPCSEC_GSS_KRB5 is not set
687# CONFIG_RPCSEC_GSS_SPKM3 is not set 699# CONFIG_RPCSEC_GSS_SPKM3 is not set
688# CONFIG_SMB_FS is not set 700# CONFIG_SMB_FS is not set
@@ -718,7 +730,6 @@ CONFIG_MSDOS_PARTITION=y
718# 730#
719# Library routines 731# Library routines
720# 732#
721# CONFIG_GENERIC_FIND_FIRST_BIT is not set
722# CONFIG_CRC_CCITT is not set 733# CONFIG_CRC_CCITT is not set
723# CONFIG_CRC16 is not set 734# CONFIG_CRC16 is not set
724# CONFIG_CRC_T10DIF is not set 735# CONFIG_CRC_T10DIF is not set
@@ -768,14 +779,22 @@ CONFIG_DEBUG_INFO=y
768# CONFIG_DEBUG_SG is not set 779# CONFIG_DEBUG_SG is not set
769# CONFIG_BOOT_PRINTK_DELAY is not set 780# CONFIG_BOOT_PRINTK_DELAY is not set
770# CONFIG_RCU_TORTURE_TEST is not set 781# CONFIG_RCU_TORTURE_TEST is not set
782# CONFIG_RCU_CPU_STALL_DETECTOR is not set
771# CONFIG_BACKTRACE_SELF_TEST is not set 783# CONFIG_BACKTRACE_SELF_TEST is not set
784# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
772# CONFIG_FAULT_INJECTION is not set 785# CONFIG_FAULT_INJECTION is not set
773# CONFIG_LATENCYTOP is not set 786# CONFIG_LATENCYTOP is not set
774CONFIG_HAVE_FTRACE=y 787CONFIG_HAVE_FUNCTION_TRACER=y
775CONFIG_HAVE_DYNAMIC_FTRACE=y 788
776# CONFIG_FTRACE is not set 789#
790# Tracers
791#
792# CONFIG_FUNCTION_TRACER is not set
777# CONFIG_SCHED_TRACER is not set 793# CONFIG_SCHED_TRACER is not set
778# CONFIG_CONTEXT_SWITCH_TRACER is not set 794# CONFIG_CONTEXT_SWITCH_TRACER is not set
795# CONFIG_BOOT_TRACER is not set
796# CONFIG_STACK_TRACER is not set
797# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
779# CONFIG_SAMPLES is not set 798# CONFIG_SAMPLES is not set
780CONFIG_HAVE_ARCH_KGDB=y 799CONFIG_HAVE_ARCH_KGDB=y
781# CONFIG_KGDB is not set 800# CONFIG_KGDB is not set
@@ -784,6 +803,7 @@ CONFIG_HAVE_ARCH_KGDB=y
784# CONFIG_DEBUG_PAGEALLOC is not set 803# CONFIG_DEBUG_PAGEALLOC is not set
785# CONFIG_CODE_PATCHING_SELFTEST is not set 804# CONFIG_CODE_PATCHING_SELFTEST is not set
786# CONFIG_FTR_FIXUP_SELFTEST is not set 805# CONFIG_FTR_FIXUP_SELFTEST is not set
806# CONFIG_MSI_BITMAP_SELFTEST is not set
787# CONFIG_XMON is not set 807# CONFIG_XMON is not set
788# CONFIG_IRQSTACKS is not set 808# CONFIG_IRQSTACKS is not set
789# CONFIG_BDI_SWITCH is not set 809# CONFIG_BDI_SWITCH is not set
@@ -794,6 +814,7 @@ CONFIG_HAVE_ARCH_KGDB=y
794# 814#
795# CONFIG_KEYS is not set 815# CONFIG_KEYS is not set
796# CONFIG_SECURITY is not set 816# CONFIG_SECURITY is not set
817# CONFIG_SECURITYFS is not set
797# CONFIG_SECURITY_FILE_CAPABILITIES is not set 818# CONFIG_SECURITY_FILE_CAPABILITIES is not set
798# CONFIG_CRYPTO is not set 819# CONFIG_CRYPTO is not set
799CONFIG_PPC_CLOCK=y 820CONFIG_PPC_CLOCK=y
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index cfa5d053ee5e..f85e71ccb989 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:15:06 2008 4# Tue Nov 11 19:36:30 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -21,7 +21,7 @@ CONFIG_SMP=y
21CONFIG_NR_CPUS=4 21CONFIG_NR_CPUS=4
22CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64 23CONFIG_WORD_SIZE=64
24CONFIG_PPC_MERGE=y 24CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
25CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y 26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y 27CONFIG_GENERIC_TIME=y
@@ -112,7 +112,9 @@ CONFIG_SIGNALFD=y
112CONFIG_TIMERFD=y 112CONFIG_TIMERFD=y
113CONFIG_EVENTFD=y 113CONFIG_EVENTFD=y
114CONFIG_SHMEM=y 114CONFIG_SHMEM=y
115CONFIG_AIO=y
115CONFIG_VM_EVENT_COUNTERS=y 116CONFIG_VM_EVENT_COUNTERS=y
117CONFIG_PCI_QUIRKS=y
116CONFIG_SLUB_DEBUG=y 118CONFIG_SLUB_DEBUG=y
117# CONFIG_SLAB is not set 119# CONFIG_SLAB is not set
118CONFIG_SLUB=y 120CONFIG_SLUB=y
@@ -129,8 +131,6 @@ CONFIG_HAVE_KRETPROBES=y
129CONFIG_HAVE_ARCH_TRACEHOOK=y 131CONFIG_HAVE_ARCH_TRACEHOOK=y
130CONFIG_HAVE_DMA_ATTRS=y 132CONFIG_HAVE_DMA_ATTRS=y
131CONFIG_USE_GENERIC_SMP_HELPERS=y 133CONFIG_USE_GENERIC_SMP_HELPERS=y
132# CONFIG_HAVE_CLK is not set
133CONFIG_PROC_PAGE_MONITOR=y
134# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 134# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
135CONFIG_SLABINFO=y 135CONFIG_SLABINFO=y
136CONFIG_RT_MUTEXES=y 136CONFIG_RT_MUTEXES=y
@@ -163,6 +163,8 @@ CONFIG_DEFAULT_AS=y
163# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
164CONFIG_DEFAULT_IOSCHED="anticipatory" 164CONFIG_DEFAULT_IOSCHED="anticipatory"
165CONFIG_CLASSIC_RCU=y 165CONFIG_CLASSIC_RCU=y
166# CONFIG_FREEZER is not set
167CONFIG_PPC_MSI_BITMAP=y
166 168
167# 169#
168# Platform support 170# Platform support
@@ -233,6 +235,8 @@ CONFIG_PREEMPT_NONE=y
233# CONFIG_PREEMPT is not set 235# CONFIG_PREEMPT is not set
234CONFIG_BINFMT_ELF=y 236CONFIG_BINFMT_ELF=y
235CONFIG_COMPAT_BINFMT_ELF=y 237CONFIG_COMPAT_BINFMT_ELF=y
238# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
239# CONFIG_HAVE_AOUT is not set
236# CONFIG_BINFMT_MISC is not set 240# CONFIG_BINFMT_MISC is not set
237CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 241CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
238CONFIG_IOMMU_VMERGE=y 242CONFIG_IOMMU_VMERGE=y
@@ -242,7 +246,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
242CONFIG_ARCH_HAS_WALK_MEMORY=y 246CONFIG_ARCH_HAS_WALK_MEMORY=y
243CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
244CONFIG_KEXEC=y 248CONFIG_KEXEC=y
245# CONFIG_CRASH_DUMP is not set
246CONFIG_IRQ_ALL_CPUS=y 249CONFIG_IRQ_ALL_CPUS=y
247# CONFIG_NUMA is not set 250# CONFIG_NUMA is not set
248CONFIG_ARCH_SELECT_MEMORY_MODEL=y 251CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -255,14 +258,15 @@ CONFIG_FLATMEM_MANUAL=y
255# CONFIG_SPARSEMEM_MANUAL is not set 258# CONFIG_SPARSEMEM_MANUAL is not set
256CONFIG_FLATMEM=y 259CONFIG_FLATMEM=y
257CONFIG_FLAT_NODE_MEM_MAP=y 260CONFIG_FLAT_NODE_MEM_MAP=y
258# CONFIG_SPARSEMEM_STATIC is not set
259CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 261CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
260CONFIG_PAGEFLAGS_EXTENDED=y 262CONFIG_PAGEFLAGS_EXTENDED=y
261CONFIG_SPLIT_PTLOCK_CPUS=4 263CONFIG_SPLIT_PTLOCK_CPUS=4
262# CONFIG_MIGRATION is not set 264# CONFIG_MIGRATION is not set
263CONFIG_RESOURCES_64BIT=y 265CONFIG_RESOURCES_64BIT=y
266CONFIG_PHYS_ADDR_T_64BIT=y
264CONFIG_ZONE_DMA_FLAG=1 267CONFIG_ZONE_DMA_FLAG=1
265CONFIG_BOUNCE=y 268CONFIG_BOUNCE=y
269CONFIG_UNEVICTABLE_LRU=y
266# CONFIG_PPC_HAS_HASH_64K is not set 270# CONFIG_PPC_HAS_HASH_64K is not set
267# CONFIG_PPC_64K_PAGES is not set 271# CONFIG_PPC_64K_PAGES is not set
268CONFIG_FORCE_MAX_ZONEORDER=13 272CONFIG_FORCE_MAX_ZONEORDER=13
@@ -292,6 +296,7 @@ CONFIG_PCI_MSI=y
292# CONFIG_PCCARD is not set 296# CONFIG_PCCARD is not set
293# CONFIG_HOTPLUG_PCI is not set 297# CONFIG_HOTPLUG_PCI is not set
294# CONFIG_HAS_RAPIDIO is not set 298# CONFIG_HAS_RAPIDIO is not set
299# CONFIG_RELOCATABLE is not set
295CONFIG_PAGE_OFFSET=0xc000000000000000 300CONFIG_PAGE_OFFSET=0xc000000000000000
296CONFIG_KERNEL_START=0xc000000000000000 301CONFIG_KERNEL_START=0xc000000000000000
297CONFIG_PHYSICAL_START=0x00000000 302CONFIG_PHYSICAL_START=0x00000000
@@ -336,7 +341,6 @@ CONFIG_INET_TCP_DIAG=y
336CONFIG_TCP_CONG_CUBIC=y 341CONFIG_TCP_CONG_CUBIC=y
337CONFIG_DEFAULT_TCP_CONG="cubic" 342CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_TCP_MD5SIG is not set 343# CONFIG_TCP_MD5SIG is not set
339# CONFIG_IP_VS is not set
340# CONFIG_IPV6 is not set 344# CONFIG_IPV6 is not set
341# CONFIG_NETWORK_SECMARK is not set 345# CONFIG_NETWORK_SECMARK is not set
342CONFIG_NETFILTER=y 346CONFIG_NETFILTER=y
@@ -367,10 +371,12 @@ CONFIG_NF_CONNTRACK_IRC=m
367CONFIG_NF_CONNTRACK_TFTP=m 371CONFIG_NF_CONNTRACK_TFTP=m
368CONFIG_NF_CT_NETLINK=m 372CONFIG_NF_CT_NETLINK=m
369# CONFIG_NETFILTER_XTABLES is not set 373# CONFIG_NETFILTER_XTABLES is not set
374# CONFIG_IP_VS is not set
370 375
371# 376#
372# IP: Netfilter Configuration 377# IP: Netfilter Configuration
373# 378#
379CONFIG_NF_DEFRAG_IPV4=m
374CONFIG_NF_CONNTRACK_IPV4=m 380CONFIG_NF_CONNTRACK_IPV4=m
375CONFIG_NF_CONNTRACK_PROC_COMPAT=y 381CONFIG_NF_CONNTRACK_PROC_COMPAT=y
376CONFIG_IP_NF_QUEUE=m 382CONFIG_IP_NF_QUEUE=m
@@ -381,6 +387,7 @@ CONFIG_IP_NF_QUEUE=m
381# CONFIG_TIPC is not set 387# CONFIG_TIPC is not set
382# CONFIG_ATM is not set 388# CONFIG_ATM is not set
383# CONFIG_BRIDGE is not set 389# CONFIG_BRIDGE is not set
390# CONFIG_NET_DSA is not set
384# CONFIG_VLAN_8021Q is not set 391# CONFIG_VLAN_8021Q is not set
385# CONFIG_DECNET is not set 392# CONFIG_DECNET is not set
386CONFIG_LLC=y 393CONFIG_LLC=y
@@ -402,11 +409,10 @@ CONFIG_LLC=y
402# CONFIG_IRDA is not set 409# CONFIG_IRDA is not set
403# CONFIG_BT is not set 410# CONFIG_BT is not set
404# CONFIG_AF_RXRPC is not set 411# CONFIG_AF_RXRPC is not set
405 412# CONFIG_PHONET is not set
406# 413CONFIG_WIRELESS=y
407# Wireless
408#
409# CONFIG_CFG80211 is not set 414# CONFIG_CFG80211 is not set
415CONFIG_WIRELESS_OLD_REGULATORY=y
410# CONFIG_WIRELESS_EXT is not set 416# CONFIG_WIRELESS_EXT is not set
411# CONFIG_MAC80211 is not set 417# CONFIG_MAC80211 is not set
412# CONFIG_IEEE80211 is not set 418# CONFIG_IEEE80211 is not set
@@ -463,19 +469,18 @@ CONFIG_MISC_DEVICES=y
463# CONFIG_HP_ILO is not set 469# CONFIG_HP_ILO is not set
464CONFIG_HAVE_IDE=y 470CONFIG_HAVE_IDE=y
465CONFIG_IDE=y 471CONFIG_IDE=y
466CONFIG_BLK_DEV_IDE=y
467 472
468# 473#
469# Please see Documentation/ide/ide.txt for help/info on IDE drives 474# Please see Documentation/ide/ide.txt for help/info on IDE drives
470# 475#
471CONFIG_IDE_TIMINGS=y 476CONFIG_IDE_TIMINGS=y
472# CONFIG_BLK_DEV_IDE_SATA is not set 477# CONFIG_BLK_DEV_IDE_SATA is not set
473CONFIG_BLK_DEV_IDEDISK=y 478CONFIG_IDE_GD=y
474# CONFIG_IDEDISK_MULTI_MODE is not set 479CONFIG_IDE_GD_ATA=y
480# CONFIG_IDE_GD_ATAPI is not set
475CONFIG_BLK_DEV_IDECD=y 481CONFIG_BLK_DEV_IDECD=y
476CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 482CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
477# CONFIG_BLK_DEV_IDETAPE is not set 483# CONFIG_BLK_DEV_IDETAPE is not set
478# CONFIG_BLK_DEV_IDEFLOPPY is not set
479# CONFIG_BLK_DEV_IDESCSI is not set 484# CONFIG_BLK_DEV_IDESCSI is not set
480# CONFIG_IDE_TASK_IOCTL is not set 485# CONFIG_IDE_TASK_IOCTL is not set
481CONFIG_IDE_PROC_FS=y 486CONFIG_IDE_PROC_FS=y
@@ -658,6 +663,7 @@ CONFIG_SATA_SVW=y
658# CONFIG_PATA_SCH is not set 663# CONFIG_PATA_SCH is not set
659CONFIG_MD=y 664CONFIG_MD=y
660CONFIG_BLK_DEV_MD=y 665CONFIG_BLK_DEV_MD=y
666CONFIG_MD_AUTODETECT=y
661CONFIG_MD_LINEAR=y 667CONFIG_MD_LINEAR=y
662CONFIG_MD_RAID0=y 668CONFIG_MD_RAID0=y
663CONFIG_MD_RAID1=y 669CONFIG_MD_RAID1=y
@@ -744,14 +750,17 @@ CONFIG_SUNGEM=y
744# CONFIG_IBM_NEW_EMAC_RGMII is not set 750# CONFIG_IBM_NEW_EMAC_RGMII is not set
745# CONFIG_IBM_NEW_EMAC_TAH is not set 751# CONFIG_IBM_NEW_EMAC_TAH is not set
746# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 752# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
753# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
754# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
755# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
747# CONFIG_NET_PCI is not set 756# CONFIG_NET_PCI is not set
748# CONFIG_B44 is not set 757# CONFIG_B44 is not set
758# CONFIG_ATL2 is not set
749CONFIG_NETDEV_1000=y 759CONFIG_NETDEV_1000=y
750CONFIG_ACENIC=y 760CONFIG_ACENIC=y
751CONFIG_ACENIC_OMIT_TIGON_I=y 761CONFIG_ACENIC_OMIT_TIGON_I=y
752# CONFIG_DL2K is not set 762# CONFIG_DL2K is not set
753CONFIG_E1000=y 763CONFIG_E1000=y
754# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
755# CONFIG_E1000E is not set 764# CONFIG_E1000E is not set
756# CONFIG_IP1000 is not set 765# CONFIG_IP1000 is not set
757# CONFIG_IGB is not set 766# CONFIG_IGB is not set
@@ -768,18 +777,22 @@ CONFIG_TIGON3=y
768# CONFIG_QLA3XXX is not set 777# CONFIG_QLA3XXX is not set
769# CONFIG_ATL1 is not set 778# CONFIG_ATL1 is not set
770# CONFIG_ATL1E is not set 779# CONFIG_ATL1E is not set
780# CONFIG_JME is not set
771CONFIG_NETDEV_10000=y 781CONFIG_NETDEV_10000=y
772# CONFIG_CHELSIO_T1 is not set 782# CONFIG_CHELSIO_T1 is not set
773# CONFIG_CHELSIO_T3 is not set 783# CONFIG_CHELSIO_T3 is not set
784# CONFIG_ENIC is not set
774# CONFIG_IXGBE is not set 785# CONFIG_IXGBE is not set
775# CONFIG_IXGB is not set 786# CONFIG_IXGB is not set
776# CONFIG_S2IO is not set 787# CONFIG_S2IO is not set
777# CONFIG_MYRI10GE is not set 788# CONFIG_MYRI10GE is not set
778# CONFIG_NETXEN_NIC is not set 789# CONFIG_NETXEN_NIC is not set
779# CONFIG_NIU is not set 790# CONFIG_NIU is not set
791# CONFIG_MLX4_EN is not set
780# CONFIG_MLX4_CORE is not set 792# CONFIG_MLX4_CORE is not set
781# CONFIG_TEHUTI is not set 793# CONFIG_TEHUTI is not set
782# CONFIG_BNX2X is not set 794# CONFIG_BNX2X is not set
795# CONFIG_QLGE is not set
783# CONFIG_SFC is not set 796# CONFIG_SFC is not set
784CONFIG_TR=y 797CONFIG_TR=y
785CONFIG_IBMOL=y 798CONFIG_IBMOL=y
@@ -804,6 +817,7 @@ CONFIG_USB_USBNET=m
804# CONFIG_USB_NET_AX8817X is not set 817# CONFIG_USB_NET_AX8817X is not set
805CONFIG_USB_NET_CDCETHER=m 818CONFIG_USB_NET_CDCETHER=m
806# CONFIG_USB_NET_DM9601 is not set 819# CONFIG_USB_NET_DM9601 is not set
820# CONFIG_USB_NET_SMSC95XX is not set
807# CONFIG_USB_NET_GL620A is not set 821# CONFIG_USB_NET_GL620A is not set
808# CONFIG_USB_NET_NET1080 is not set 822# CONFIG_USB_NET_NET1080 is not set
809# CONFIG_USB_NET_PLUSB is not set 823# CONFIG_USB_NET_PLUSB is not set
@@ -1015,6 +1029,17 @@ CONFIG_SSB_POSSIBLE=y
1015# CONFIG_MFD_SM501 is not set 1029# CONFIG_MFD_SM501 is not set
1016# CONFIG_HTC_PASIC3 is not set 1030# CONFIG_HTC_PASIC3 is not set
1017# CONFIG_MFD_TMIO is not set 1031# CONFIG_MFD_TMIO is not set
1032# CONFIG_PMIC_DA903X is not set
1033# CONFIG_MFD_WM8400 is not set
1034# CONFIG_MFD_WM8350_I2C is not set
1035
1036#
1037# Voltage and Current regulators
1038#
1039# CONFIG_REGULATOR is not set
1040# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1041# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1042# CONFIG_REGULATOR_BQ24022 is not set
1018 1043
1019# 1044#
1020# Multimedia devices 1045# Multimedia devices
@@ -1044,6 +1069,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1044CONFIG_FB=y 1069CONFIG_FB=y
1045CONFIG_FIRMWARE_EDID=y 1070CONFIG_FIRMWARE_EDID=y
1046CONFIG_FB_DDC=y 1071CONFIG_FB_DDC=y
1072# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1047CONFIG_FB_CFB_FILLRECT=y 1073CONFIG_FB_CFB_FILLRECT=y
1048CONFIG_FB_CFB_COPYAREA=y 1074CONFIG_FB_CFB_COPYAREA=y
1049CONFIG_FB_CFB_IMAGEBLIT=y 1075CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1085,6 +1111,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1085# CONFIG_FB_S3 is not set 1111# CONFIG_FB_S3 is not set
1086# CONFIG_FB_SAVAGE is not set 1112# CONFIG_FB_SAVAGE is not set
1087# CONFIG_FB_SIS is not set 1113# CONFIG_FB_SIS is not set
1114# CONFIG_FB_VIA is not set
1088# CONFIG_FB_NEOMAGIC is not set 1115# CONFIG_FB_NEOMAGIC is not set
1089# CONFIG_FB_KYRO is not set 1116# CONFIG_FB_KYRO is not set
1090# CONFIG_FB_3DFX is not set 1117# CONFIG_FB_3DFX is not set
@@ -1096,6 +1123,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1096# CONFIG_FB_CARMINE is not set 1123# CONFIG_FB_CARMINE is not set
1097# CONFIG_FB_IBM_GXT4500 is not set 1124# CONFIG_FB_IBM_GXT4500 is not set
1098# CONFIG_FB_VIRTUAL is not set 1125# CONFIG_FB_VIRTUAL is not set
1126# CONFIG_FB_METRONOME is not set
1099CONFIG_BACKLIGHT_LCD_SUPPORT=y 1127CONFIG_BACKLIGHT_LCD_SUPPORT=y
1100CONFIG_LCD_CLASS_DEVICE=m 1128CONFIG_LCD_CLASS_DEVICE=m
1101# CONFIG_LCD_ILI9320 is not set 1129# CONFIG_LCD_ILI9320 is not set
@@ -1124,6 +1152,7 @@ CONFIG_LOGO_LINUX_MONO=y
1124CONFIG_LOGO_LINUX_VGA16=y 1152CONFIG_LOGO_LINUX_VGA16=y
1125CONFIG_LOGO_LINUX_CLUT224=y 1153CONFIG_LOGO_LINUX_CLUT224=y
1126CONFIG_SOUND=m 1154CONFIG_SOUND=m
1155CONFIG_SOUND_OSS_CORE=y
1127CONFIG_SND=m 1156CONFIG_SND=m
1128CONFIG_SND_TIMER=m 1157CONFIG_SND_TIMER=m
1129CONFIG_SND_PCM=m 1158CONFIG_SND_PCM=m
@@ -1234,15 +1263,36 @@ CONFIG_HID=y
1234# USB Input Devices 1263# USB Input Devices
1235# 1264#
1236CONFIG_USB_HID=y 1265CONFIG_USB_HID=y
1237# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1238CONFIG_HID_FF=y
1239CONFIG_HID_PID=y 1266CONFIG_HID_PID=y
1267CONFIG_USB_HIDDEV=y
1268
1269#
1270# Special HID drivers
1271#
1272CONFIG_HID_COMPAT=y
1273CONFIG_HID_A4TECH=y
1274CONFIG_HID_APPLE=y
1275CONFIG_HID_BELKIN=y
1276CONFIG_HID_BRIGHT=y
1277CONFIG_HID_CHERRY=y
1278CONFIG_HID_CHICONY=y
1279CONFIG_HID_CYPRESS=y
1280CONFIG_HID_DELL=y
1281CONFIG_HID_EZKEY=y
1282CONFIG_HID_GYRATION=y
1283CONFIG_HID_LOGITECH=y
1240CONFIG_LOGITECH_FF=y 1284CONFIG_LOGITECH_FF=y
1241# CONFIG_LOGIRUMBLEPAD2_FF is not set 1285# CONFIG_LOGIRUMBLEPAD2_FF is not set
1286CONFIG_HID_MICROSOFT=y
1287CONFIG_HID_MONTEREY=y
1288CONFIG_HID_PANTHERLORD=y
1242# CONFIG_PANTHERLORD_FF is not set 1289# CONFIG_PANTHERLORD_FF is not set
1290CONFIG_HID_PETALYNX=y
1291CONFIG_HID_SAMSUNG=y
1292CONFIG_HID_SONY=y
1293CONFIG_HID_SUNPLUS=y
1243CONFIG_THRUSTMASTER_FF=y 1294CONFIG_THRUSTMASTER_FF=y
1244# CONFIG_ZEROPLUS_FF is not set 1295# CONFIG_ZEROPLUS_FF is not set
1245CONFIG_USB_HIDDEV=y
1246CONFIG_USB_SUPPORT=y 1296CONFIG_USB_SUPPORT=y
1247CONFIG_USB_ARCH_HAS_HCD=y 1297CONFIG_USB_ARCH_HAS_HCD=y
1248CONFIG_USB_ARCH_HAS_OHCI=y 1298CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1259,6 +1309,8 @@ CONFIG_USB_DEVICE_CLASS=y
1259# CONFIG_USB_DYNAMIC_MINORS is not set 1309# CONFIG_USB_DYNAMIC_MINORS is not set
1260# CONFIG_USB_OTG is not set 1310# CONFIG_USB_OTG is not set
1261CONFIG_USB_MON=y 1311CONFIG_USB_MON=y
1312# CONFIG_USB_WUSB is not set
1313# CONFIG_USB_WUSB_CBAF is not set
1262 1314
1263# 1315#
1264# USB Host Controller Drivers 1316# USB Host Controller Drivers
@@ -1281,6 +1333,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1281# CONFIG_USB_UHCI_HCD is not set 1333# CONFIG_USB_UHCI_HCD is not set
1282# CONFIG_USB_SL811_HCD is not set 1334# CONFIG_USB_SL811_HCD is not set
1283# CONFIG_USB_R8A66597_HCD is not set 1335# CONFIG_USB_R8A66597_HCD is not set
1336# CONFIG_USB_WHCI_HCD is not set
1337# CONFIG_USB_HWA_HCD is not set
1284 1338
1285# 1339#
1286# USB Device Class drivers 1340# USB Device Class drivers
@@ -1288,6 +1342,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1288CONFIG_USB_ACM=m 1342CONFIG_USB_ACM=m
1289CONFIG_USB_PRINTER=y 1343CONFIG_USB_PRINTER=y
1290# CONFIG_USB_WDM is not set 1344# CONFIG_USB_WDM is not set
1345# CONFIG_USB_TMC is not set
1291 1346
1292# 1347#
1293# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1348# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1309,7 +1364,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1309# CONFIG_USB_STORAGE_ALAUDA is not set 1364# CONFIG_USB_STORAGE_ALAUDA is not set
1310# CONFIG_USB_STORAGE_ONETOUCH is not set 1365# CONFIG_USB_STORAGE_ONETOUCH is not set
1311# CONFIG_USB_STORAGE_KARMA is not set 1366# CONFIG_USB_STORAGE_KARMA is not set
1312# CONFIG_USB_STORAGE_SIERRA is not set
1313# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1367# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1314# CONFIG_USB_LIBUSUAL is not set 1368# CONFIG_USB_LIBUSUAL is not set
1315 1369
@@ -1385,6 +1439,7 @@ CONFIG_USB_SERIAL_OMNINET=m
1385# CONFIG_USB_EMI62 is not set 1439# CONFIG_USB_EMI62 is not set
1386# CONFIG_USB_EMI26 is not set 1440# CONFIG_USB_EMI26 is not set
1387# CONFIG_USB_ADUTUX is not set 1441# CONFIG_USB_ADUTUX is not set
1442# CONFIG_USB_SEVSEG is not set
1388# CONFIG_USB_RIO500 is not set 1443# CONFIG_USB_RIO500 is not set
1389# CONFIG_USB_LEGOTOWER is not set 1444# CONFIG_USB_LEGOTOWER is not set
1390# CONFIG_USB_LCD is not set 1445# CONFIG_USB_LCD is not set
@@ -1402,7 +1457,9 @@ CONFIG_USB_APPLEDISPLAY=m
1402# CONFIG_USB_IOWARRIOR is not set 1457# CONFIG_USB_IOWARRIOR is not set
1403# CONFIG_USB_TEST is not set 1458# CONFIG_USB_TEST is not set
1404# CONFIG_USB_ISIGHTFW is not set 1459# CONFIG_USB_ISIGHTFW is not set
1460# CONFIG_USB_VST is not set
1405# CONFIG_USB_GADGET is not set 1461# CONFIG_USB_GADGET is not set
1462# CONFIG_UWB is not set
1406# CONFIG_MMC is not set 1463# CONFIG_MMC is not set
1407# CONFIG_MEMSTICK is not set 1464# CONFIG_MEMSTICK is not set
1408# CONFIG_NEW_LEDS is not set 1465# CONFIG_NEW_LEDS is not set
@@ -1412,6 +1469,7 @@ CONFIG_USB_APPLEDISPLAY=m
1412# CONFIG_RTC_CLASS is not set 1469# CONFIG_RTC_CLASS is not set
1413# CONFIG_DMADEVICES is not set 1470# CONFIG_DMADEVICES is not set
1414# CONFIG_UIO is not set 1471# CONFIG_UIO is not set
1472# CONFIG_STAGING is not set
1415 1473
1416# 1474#
1417# File systems 1475# File systems
@@ -1421,14 +1479,20 @@ CONFIG_EXT2_FS_XATTR=y
1421CONFIG_EXT2_FS_POSIX_ACL=y 1479CONFIG_EXT2_FS_POSIX_ACL=y
1422CONFIG_EXT2_FS_SECURITY=y 1480CONFIG_EXT2_FS_SECURITY=y
1423CONFIG_EXT2_FS_XIP=y 1481CONFIG_EXT2_FS_XIP=y
1424CONFIG_FS_XIP=y
1425CONFIG_EXT3_FS=y 1482CONFIG_EXT3_FS=y
1426CONFIG_EXT3_FS_XATTR=y 1483CONFIG_EXT3_FS_XATTR=y
1427CONFIG_EXT3_FS_POSIX_ACL=y 1484CONFIG_EXT3_FS_POSIX_ACL=y
1428CONFIG_EXT3_FS_SECURITY=y 1485CONFIG_EXT3_FS_SECURITY=y
1429# CONFIG_EXT4DEV_FS is not set 1486CONFIG_EXT4_FS=y
1487# CONFIG_EXT4DEV_COMPAT is not set
1488CONFIG_EXT4_FS_XATTR=y
1489# CONFIG_EXT4_FS_POSIX_ACL is not set
1490# CONFIG_EXT4_FS_SECURITY is not set
1491CONFIG_FS_XIP=y
1430CONFIG_JBD=y 1492CONFIG_JBD=y
1431# CONFIG_JBD_DEBUG is not set 1493# CONFIG_JBD_DEBUG is not set
1494CONFIG_JBD2=y
1495# CONFIG_JBD2_DEBUG is not set
1432CONFIG_FS_MBCACHE=y 1496CONFIG_FS_MBCACHE=y
1433CONFIG_REISERFS_FS=y 1497CONFIG_REISERFS_FS=y
1434# CONFIG_REISERFS_CHECK is not set 1498# CONFIG_REISERFS_CHECK is not set
@@ -1438,6 +1502,7 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
1438CONFIG_REISERFS_FS_SECURITY=y 1502CONFIG_REISERFS_FS_SECURITY=y
1439# CONFIG_JFS_FS is not set 1503# CONFIG_JFS_FS is not set
1440CONFIG_FS_POSIX_ACL=y 1504CONFIG_FS_POSIX_ACL=y
1505CONFIG_FILE_LOCKING=y
1441CONFIG_XFS_FS=m 1506CONFIG_XFS_FS=m
1442# CONFIG_XFS_QUOTA is not set 1507# CONFIG_XFS_QUOTA is not set
1443CONFIG_XFS_POSIX_ACL=y 1508CONFIG_XFS_POSIX_ACL=y
@@ -1478,6 +1543,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1478CONFIG_PROC_FS=y 1543CONFIG_PROC_FS=y
1479CONFIG_PROC_KCORE=y 1544CONFIG_PROC_KCORE=y
1480CONFIG_PROC_SYSCTL=y 1545CONFIG_PROC_SYSCTL=y
1546CONFIG_PROC_PAGE_MONITOR=y
1481CONFIG_SYSFS=y 1547CONFIG_SYSFS=y
1482CONFIG_TMPFS=y 1548CONFIG_TMPFS=y
1483# CONFIG_TMPFS_POSIX_ACL is not set 1549# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1521,6 +1587,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1521CONFIG_NFS_COMMON=y 1587CONFIG_NFS_COMMON=y
1522CONFIG_SUNRPC=y 1588CONFIG_SUNRPC=y
1523CONFIG_SUNRPC_GSS=y 1589CONFIG_SUNRPC_GSS=y
1590# CONFIG_SUNRPC_REGISTER_V4 is not set
1524CONFIG_RPCSEC_GSS_KRB5=y 1591CONFIG_RPCSEC_GSS_KRB5=y
1525# CONFIG_RPCSEC_GSS_SPKM3 is not set 1592# CONFIG_RPCSEC_GSS_SPKM3 is not set
1526# CONFIG_SMB_FS is not set 1593# CONFIG_SMB_FS is not set
@@ -1601,9 +1668,8 @@ CONFIG_NLS_UTF8=y
1601# Library routines 1668# Library routines
1602# 1669#
1603CONFIG_BITREVERSE=y 1670CONFIG_BITREVERSE=y
1604# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1605CONFIG_CRC_CCITT=m 1671CONFIG_CRC_CCITT=m
1606# CONFIG_CRC16 is not set 1672CONFIG_CRC16=y
1607CONFIG_CRC_T10DIF=y 1673CONFIG_CRC_T10DIF=y
1608CONFIG_CRC_ITU_T=m 1674CONFIG_CRC_ITU_T=m
1609CONFIG_CRC32=y 1675CONFIG_CRC32=y
@@ -1657,19 +1723,26 @@ CONFIG_DEBUG_BUGVERBOSE=y
1657CONFIG_DEBUG_MEMORY_INIT=y 1723CONFIG_DEBUG_MEMORY_INIT=y
1658# CONFIG_DEBUG_LIST is not set 1724# CONFIG_DEBUG_LIST is not set
1659# CONFIG_DEBUG_SG is not set 1725# CONFIG_DEBUG_SG is not set
1660CONFIG_FRAME_POINTER=y
1661# CONFIG_BOOT_PRINTK_DELAY is not set 1726# CONFIG_BOOT_PRINTK_DELAY is not set
1662# CONFIG_RCU_TORTURE_TEST is not set 1727# CONFIG_RCU_TORTURE_TEST is not set
1728# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1663# CONFIG_BACKTRACE_SELF_TEST is not set 1729# CONFIG_BACKTRACE_SELF_TEST is not set
1730# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1664# CONFIG_FAULT_INJECTION is not set 1731# CONFIG_FAULT_INJECTION is not set
1665CONFIG_LATENCYTOP=y 1732CONFIG_LATENCYTOP=y
1666CONFIG_SYSCTL_SYSCALL_CHECK=y 1733CONFIG_SYSCTL_SYSCALL_CHECK=y
1667CONFIG_HAVE_FTRACE=y 1734CONFIG_HAVE_FUNCTION_TRACER=y
1668CONFIG_HAVE_DYNAMIC_FTRACE=y 1735
1669# CONFIG_FTRACE is not set 1736#
1737# Tracers
1738#
1739# CONFIG_FUNCTION_TRACER is not set
1670# CONFIG_IRQSOFF_TRACER is not set 1740# CONFIG_IRQSOFF_TRACER is not set
1671# CONFIG_SCHED_TRACER is not set 1741# CONFIG_SCHED_TRACER is not set
1672# CONFIG_CONTEXT_SWITCH_TRACER is not set 1742# CONFIG_CONTEXT_SWITCH_TRACER is not set
1743# CONFIG_BOOT_TRACER is not set
1744# CONFIG_STACK_TRACER is not set
1745CONFIG_DYNAMIC_PRINTK_DEBUG=y
1673# CONFIG_SAMPLES is not set 1746# CONFIG_SAMPLES is not set
1674CONFIG_HAVE_ARCH_KGDB=y 1747CONFIG_HAVE_ARCH_KGDB=y
1675# CONFIG_KGDB is not set 1748# CONFIG_KGDB is not set
@@ -1678,6 +1751,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1678# CONFIG_DEBUG_PAGEALLOC is not set 1751# CONFIG_DEBUG_PAGEALLOC is not set
1679# CONFIG_CODE_PATCHING_SELFTEST is not set 1752# CONFIG_CODE_PATCHING_SELFTEST is not set
1680# CONFIG_FTR_FIXUP_SELFTEST is not set 1753# CONFIG_FTR_FIXUP_SELFTEST is not set
1754# CONFIG_MSI_BITMAP_SELFTEST is not set
1681# CONFIG_XMON is not set 1755# CONFIG_XMON is not set
1682CONFIG_IRQSTACKS=y 1756CONFIG_IRQSTACKS=y
1683# CONFIG_VIRQ_DEBUG is not set 1757# CONFIG_VIRQ_DEBUG is not set
@@ -1689,16 +1763,19 @@ CONFIG_BOOTX_TEXT=y
1689# 1763#
1690# CONFIG_KEYS is not set 1764# CONFIG_KEYS is not set
1691# CONFIG_SECURITY is not set 1765# CONFIG_SECURITY is not set
1766# CONFIG_SECURITYFS is not set
1692# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1767# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1693CONFIG_CRYPTO=y 1768CONFIG_CRYPTO=y
1694 1769
1695# 1770#
1696# Crypto core or helper 1771# Crypto core or helper
1697# 1772#
1773# CONFIG_CRYPTO_FIPS is not set
1698CONFIG_CRYPTO_ALGAPI=y 1774CONFIG_CRYPTO_ALGAPI=y
1699CONFIG_CRYPTO_AEAD=m 1775CONFIG_CRYPTO_AEAD=y
1700CONFIG_CRYPTO_BLKCIPHER=y 1776CONFIG_CRYPTO_BLKCIPHER=y
1701CONFIG_CRYPTO_HASH=y 1777CONFIG_CRYPTO_HASH=y
1778CONFIG_CRYPTO_RNG=y
1702CONFIG_CRYPTO_MANAGER=y 1779CONFIG_CRYPTO_MANAGER=y
1703# CONFIG_CRYPTO_GF128MUL is not set 1780# CONFIG_CRYPTO_GF128MUL is not set
1704CONFIG_CRYPTO_NULL=m 1781CONFIG_CRYPTO_NULL=m
@@ -1772,6 +1849,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1772# 1849#
1773CONFIG_CRYPTO_DEFLATE=m 1850CONFIG_CRYPTO_DEFLATE=m
1774# CONFIG_CRYPTO_LZO is not set 1851# CONFIG_CRYPTO_LZO is not set
1852
1853#
1854# Random Number Generation
1855#
1856# CONFIG_CRYPTO_ANSI_CPRNG is not set
1775# CONFIG_CRYPTO_HW is not set 1857# CONFIG_CRYPTO_HW is not set
1776# CONFIG_PPC_CLOCK is not set 1858# CONFIG_PPC_CLOCK is not set
1777# CONFIG_VIRTUALIZATION is not set 1859# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 2c3f13577f4b..f925c555508e 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:15:49 2008 4# Tue Nov 11 19:36:38 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -21,7 +21,7 @@ CONFIG_SMP=y
21CONFIG_NR_CPUS=32 21CONFIG_NR_CPUS=32
22CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64 23CONFIG_WORD_SIZE=64
24CONFIG_PPC_MERGE=y 24CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
25CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y 26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y 27CONFIG_GENERIC_TIME=y
@@ -111,7 +111,9 @@ CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 111CONFIG_TIMERFD=y
112CONFIG_EVENTFD=y 112CONFIG_EVENTFD=y
113CONFIG_SHMEM=y 113CONFIG_SHMEM=y
114CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 115CONFIG_VM_EVENT_COUNTERS=y
116CONFIG_PCI_QUIRKS=y
115CONFIG_SLUB_DEBUG=y 117CONFIG_SLUB_DEBUG=y
116# CONFIG_SLAB is not set 118# CONFIG_SLAB is not set
117CONFIG_SLUB=y 119CONFIG_SLUB=y
@@ -127,8 +129,6 @@ CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
128CONFIG_HAVE_DMA_ATTRS=y 130CONFIG_HAVE_DMA_ATTRS=y
129CONFIG_USE_GENERIC_SMP_HELPERS=y 131CONFIG_USE_GENERIC_SMP_HELPERS=y
130# CONFIG_HAVE_CLK is not set
131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
133CONFIG_SLABINFO=y 133CONFIG_SLABINFO=y
134CONFIG_RT_MUTEXES=y 134CONFIG_RT_MUTEXES=y
@@ -161,6 +161,7 @@ CONFIG_DEFAULT_AS=y
161# CONFIG_DEFAULT_NOOP is not set 161# CONFIG_DEFAULT_NOOP is not set
162CONFIG_DEFAULT_IOSCHED="anticipatory" 162CONFIG_DEFAULT_IOSCHED="anticipatory"
163CONFIG_CLASSIC_RCU=y 163CONFIG_CLASSIC_RCU=y
164# CONFIG_FREEZER is not set
164 165
165# 166#
166# Platform support 167# Platform support
@@ -219,6 +220,8 @@ CONFIG_PREEMPT_NONE=y
219# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
220CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
221CONFIG_COMPAT_BINFMT_ELF=y 222CONFIG_COMPAT_BINFMT_ELF=y
223# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
224# CONFIG_HAVE_AOUT is not set
222# CONFIG_BINFMT_MISC is not set 225# CONFIG_BINFMT_MISC is not set
223CONFIG_IOMMU_VMERGE=y 226CONFIG_IOMMU_VMERGE=y
224CONFIG_IOMMU_HELPER=y 227CONFIG_IOMMU_HELPER=y
@@ -226,7 +229,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
226CONFIG_ARCH_HAS_WALK_MEMORY=y 229CONFIG_ARCH_HAS_WALK_MEMORY=y
227CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 230CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
228# CONFIG_KEXEC is not set 231# CONFIG_KEXEC is not set
229# CONFIG_CRASH_DUMP is not set
230CONFIG_IRQ_ALL_CPUS=y 232CONFIG_IRQ_ALL_CPUS=y
231# CONFIG_NUMA is not set 233# CONFIG_NUMA is not set
232CONFIG_ARCH_SELECT_MEMORY_MODEL=y 234CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -239,14 +241,15 @@ CONFIG_FLATMEM_MANUAL=y
239# CONFIG_SPARSEMEM_MANUAL is not set 241# CONFIG_SPARSEMEM_MANUAL is not set
240CONFIG_FLATMEM=y 242CONFIG_FLATMEM=y
241CONFIG_FLAT_NODE_MEM_MAP=y 243CONFIG_FLAT_NODE_MEM_MAP=y
242# CONFIG_SPARSEMEM_STATIC is not set
243CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 244CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
244CONFIG_PAGEFLAGS_EXTENDED=y 245CONFIG_PAGEFLAGS_EXTENDED=y
245CONFIG_SPLIT_PTLOCK_CPUS=4 246CONFIG_SPLIT_PTLOCK_CPUS=4
246# CONFIG_MIGRATION is not set 247# CONFIG_MIGRATION is not set
247CONFIG_RESOURCES_64BIT=y 248CONFIG_RESOURCES_64BIT=y
249CONFIG_PHYS_ADDR_T_64BIT=y
248CONFIG_ZONE_DMA_FLAG=1 250CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 251CONFIG_BOUNCE=y
252CONFIG_UNEVICTABLE_LRU=y
250# CONFIG_PPC_HAS_HASH_64K is not set 253# CONFIG_PPC_HAS_HASH_64K is not set
251# CONFIG_PPC_64K_PAGES is not set 254# CONFIG_PPC_64K_PAGES is not set
252CONFIG_FORCE_MAX_ZONEORDER=13 255CONFIG_FORCE_MAX_ZONEORDER=13
@@ -275,6 +278,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
275# CONFIG_PCCARD is not set 278# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 279# CONFIG_HOTPLUG_PCI is not set
277# CONFIG_HAS_RAPIDIO is not set 280# CONFIG_HAS_RAPIDIO is not set
281# CONFIG_RELOCATABLE is not set
278CONFIG_PAGE_OFFSET=0xc000000000000000 282CONFIG_PAGE_OFFSET=0xc000000000000000
279CONFIG_KERNEL_START=0xc000000000000000 283CONFIG_KERNEL_START=0xc000000000000000
280CONFIG_PHYSICAL_START=0x00000000 284CONFIG_PHYSICAL_START=0x00000000
@@ -319,7 +323,6 @@ CONFIG_INET_TCP_DIAG=y
319CONFIG_TCP_CONG_CUBIC=y 323CONFIG_TCP_CONG_CUBIC=y
320CONFIG_DEFAULT_TCP_CONG="cubic" 324CONFIG_DEFAULT_TCP_CONG="cubic"
321# CONFIG_TCP_MD5SIG is not set 325# CONFIG_TCP_MD5SIG is not set
322# CONFIG_IP_VS is not set
323# CONFIG_IPV6 is not set 326# CONFIG_IPV6 is not set
324# CONFIG_NETWORK_SECMARK is not set 327# CONFIG_NETWORK_SECMARK is not set
325CONFIG_NETFILTER=y 328CONFIG_NETFILTER=y
@@ -349,15 +352,17 @@ CONFIG_NF_CONNTRACK_IRC=m
349# CONFIG_NF_CONNTRACK_SIP is not set 352# CONFIG_NF_CONNTRACK_SIP is not set
350CONFIG_NF_CONNTRACK_TFTP=m 353CONFIG_NF_CONNTRACK_TFTP=m
351CONFIG_NF_CT_NETLINK=m 354CONFIG_NF_CT_NETLINK=m
355CONFIG_NETFILTER_TPROXY=m
352CONFIG_NETFILTER_XTABLES=m 356CONFIG_NETFILTER_XTABLES=m
353CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 357CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
354CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 358CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
355CONFIG_NETFILTER_XT_TARGET_DSCP=m 359CONFIG_NETFILTER_XT_TARGET_DSCP=m
356CONFIG_NETFILTER_XT_TARGET_MARK=m 360CONFIG_NETFILTER_XT_TARGET_MARK=m
357CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
358# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 361# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
362CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
359# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 363# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
360CONFIG_NETFILTER_XT_TARGET_RATEEST=m 364CONFIG_NETFILTER_XT_TARGET_RATEEST=m
365CONFIG_NETFILTER_XT_TARGET_TPROXY=m
361# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 366# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
362# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 367# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
363CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 368CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
@@ -369,40 +374,44 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
369# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 374# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
370CONFIG_NETFILTER_XT_MATCH_DSCP=m 375CONFIG_NETFILTER_XT_MATCH_DSCP=m
371# CONFIG_NETFILTER_XT_MATCH_ESP is not set 376# CONFIG_NETFILTER_XT_MATCH_ESP is not set
377# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
372# CONFIG_NETFILTER_XT_MATCH_HELPER is not set 378# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
373CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 379CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
374CONFIG_NETFILTER_XT_MATCH_LENGTH=m 380CONFIG_NETFILTER_XT_MATCH_LENGTH=m
375CONFIG_NETFILTER_XT_MATCH_LIMIT=m 381CONFIG_NETFILTER_XT_MATCH_LIMIT=m
376CONFIG_NETFILTER_XT_MATCH_MAC=m 382CONFIG_NETFILTER_XT_MATCH_MAC=m
377CONFIG_NETFILTER_XT_MATCH_MARK=m 383CONFIG_NETFILTER_XT_MATCH_MARK=m
384# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
378CONFIG_NETFILTER_XT_MATCH_OWNER=m 385CONFIG_NETFILTER_XT_MATCH_OWNER=m
379# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 386# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
380# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
381CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 387CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
382# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 388# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
383CONFIG_NETFILTER_XT_MATCH_RATEEST=m 389CONFIG_NETFILTER_XT_MATCH_RATEEST=m
384CONFIG_NETFILTER_XT_MATCH_REALM=m 390CONFIG_NETFILTER_XT_MATCH_REALM=m
391CONFIG_NETFILTER_XT_MATCH_RECENT=m
392# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
385CONFIG_NETFILTER_XT_MATCH_SCTP=m 393CONFIG_NETFILTER_XT_MATCH_SCTP=m
394# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
386# CONFIG_NETFILTER_XT_MATCH_STATE is not set 395# CONFIG_NETFILTER_XT_MATCH_STATE is not set
387# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 396# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
388CONFIG_NETFILTER_XT_MATCH_STRING=m 397CONFIG_NETFILTER_XT_MATCH_STRING=m
389CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 398CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
390CONFIG_NETFILTER_XT_MATCH_TIME=m 399CONFIG_NETFILTER_XT_MATCH_TIME=m
391# CONFIG_NETFILTER_XT_MATCH_U32 is not set 400# CONFIG_NETFILTER_XT_MATCH_U32 is not set
392# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 401# CONFIG_IP_VS is not set
393 402
394# 403#
395# IP: Netfilter Configuration 404# IP: Netfilter Configuration
396# 405#
406CONFIG_NF_DEFRAG_IPV4=m
397CONFIG_NF_CONNTRACK_IPV4=m 407CONFIG_NF_CONNTRACK_IPV4=m
398CONFIG_NF_CONNTRACK_PROC_COMPAT=y 408CONFIG_NF_CONNTRACK_PROC_COMPAT=y
399CONFIG_IP_NF_QUEUE=m 409CONFIG_IP_NF_QUEUE=m
400CONFIG_IP_NF_IPTABLES=m 410CONFIG_IP_NF_IPTABLES=m
401CONFIG_IP_NF_MATCH_RECENT=m 411CONFIG_IP_NF_MATCH_ADDRTYPE=m
402CONFIG_IP_NF_MATCH_ECN=m
403# CONFIG_IP_NF_MATCH_AH is not set 412# CONFIG_IP_NF_MATCH_AH is not set
413CONFIG_IP_NF_MATCH_ECN=m
404CONFIG_IP_NF_MATCH_TTL=m 414CONFIG_IP_NF_MATCH_TTL=m
405CONFIG_IP_NF_MATCH_ADDRTYPE=m
406CONFIG_IP_NF_FILTER=m 415CONFIG_IP_NF_FILTER=m
407CONFIG_IP_NF_TARGET_REJECT=m 416CONFIG_IP_NF_TARGET_REJECT=m
408CONFIG_IP_NF_TARGET_LOG=m 417CONFIG_IP_NF_TARGET_LOG=m
@@ -410,8 +419,8 @@ CONFIG_IP_NF_TARGET_ULOG=m
410CONFIG_NF_NAT=m 419CONFIG_NF_NAT=m
411CONFIG_NF_NAT_NEEDED=y 420CONFIG_NF_NAT_NEEDED=y
412CONFIG_IP_NF_TARGET_MASQUERADE=m 421CONFIG_IP_NF_TARGET_MASQUERADE=m
413CONFIG_IP_NF_TARGET_REDIRECT=m
414CONFIG_IP_NF_TARGET_NETMAP=m 422CONFIG_IP_NF_TARGET_NETMAP=m
423CONFIG_IP_NF_TARGET_REDIRECT=m
415# CONFIG_NF_NAT_SNMP_BASIC is not set 424# CONFIG_NF_NAT_SNMP_BASIC is not set
416CONFIG_NF_NAT_FTP=m 425CONFIG_NF_NAT_FTP=m
417CONFIG_NF_NAT_IRC=m 426CONFIG_NF_NAT_IRC=m
@@ -421,9 +430,9 @@ CONFIG_NF_NAT_TFTP=m
421# CONFIG_NF_NAT_H323 is not set 430# CONFIG_NF_NAT_H323 is not set
422# CONFIG_NF_NAT_SIP is not set 431# CONFIG_NF_NAT_SIP is not set
423CONFIG_IP_NF_MANGLE=m 432CONFIG_IP_NF_MANGLE=m
433CONFIG_IP_NF_TARGET_CLUSTERIP=m
424CONFIG_IP_NF_TARGET_ECN=m 434CONFIG_IP_NF_TARGET_ECN=m
425CONFIG_IP_NF_TARGET_TTL=m 435CONFIG_IP_NF_TARGET_TTL=m
426CONFIG_IP_NF_TARGET_CLUSTERIP=m
427CONFIG_IP_NF_RAW=m 436CONFIG_IP_NF_RAW=m
428CONFIG_IP_NF_ARPTABLES=m 437CONFIG_IP_NF_ARPTABLES=m
429CONFIG_IP_NF_ARPFILTER=m 438CONFIG_IP_NF_ARPFILTER=m
@@ -438,6 +447,7 @@ CONFIG_SCTP_HMAC_MD5=y
438# CONFIG_TIPC is not set 447# CONFIG_TIPC is not set
439# CONFIG_ATM is not set 448# CONFIG_ATM is not set
440# CONFIG_BRIDGE is not set 449# CONFIG_BRIDGE is not set
450# CONFIG_NET_DSA is not set
441# CONFIG_VLAN_8021Q is not set 451# CONFIG_VLAN_8021Q is not set
442# CONFIG_DECNET is not set 452# CONFIG_DECNET is not set
443CONFIG_LLC=y 453CONFIG_LLC=y
@@ -460,14 +470,8 @@ CONFIG_NET_CLS_ROUTE=y
460# CONFIG_IRDA is not set 470# CONFIG_IRDA is not set
461# CONFIG_BT is not set 471# CONFIG_BT is not set
462# CONFIG_AF_RXRPC is not set 472# CONFIG_AF_RXRPC is not set
463 473# CONFIG_PHONET is not set
464# 474# CONFIG_WIRELESS is not set
465# Wireless
466#
467# CONFIG_CFG80211 is not set
468# CONFIG_WIRELESS_EXT is not set
469# CONFIG_MAC80211 is not set
470# CONFIG_IEEE80211 is not set
471# CONFIG_RFKILL is not set 475# CONFIG_RFKILL is not set
472# CONFIG_NET_9P is not set 476# CONFIG_NET_9P is not set
473 477
@@ -597,6 +601,7 @@ CONFIG_SCSI_IBMVSCSI=m
597# CONFIG_ATA is not set 601# CONFIG_ATA is not set
598CONFIG_MD=y 602CONFIG_MD=y
599CONFIG_BLK_DEV_MD=y 603CONFIG_BLK_DEV_MD=y
604CONFIG_MD_AUTODETECT=y
600CONFIG_MD_LINEAR=y 605CONFIG_MD_LINEAR=y
601CONFIG_MD_RAID0=y 606CONFIG_MD_RAID0=y
602CONFIG_MD_RAID1=y 607CONFIG_MD_RAID1=y
@@ -647,6 +652,9 @@ CONFIG_MII=y
647# CONFIG_IBM_NEW_EMAC_RGMII is not set 652# CONFIG_IBM_NEW_EMAC_RGMII is not set
648# CONFIG_IBM_NEW_EMAC_TAH is not set 653# CONFIG_IBM_NEW_EMAC_TAH is not set
649# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 654# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
655# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
656# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
657# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
650CONFIG_NET_PCI=y 658CONFIG_NET_PCI=y
651CONFIG_PCNET32=y 659CONFIG_PCNET32=y
652# CONFIG_AMD8111_ETH is not set 660# CONFIG_AMD8111_ETH is not set
@@ -667,12 +675,12 @@ CONFIG_E100=y
667# CONFIG_TLAN is not set 675# CONFIG_TLAN is not set
668# CONFIG_VIA_RHINE is not set 676# CONFIG_VIA_RHINE is not set
669# CONFIG_SC92031 is not set 677# CONFIG_SC92031 is not set
678# CONFIG_ATL2 is not set
670CONFIG_NETDEV_1000=y 679CONFIG_NETDEV_1000=y
671CONFIG_ACENIC=m 680CONFIG_ACENIC=m
672# CONFIG_ACENIC_OMIT_TIGON_I is not set 681# CONFIG_ACENIC_OMIT_TIGON_I is not set
673# CONFIG_DL2K is not set 682# CONFIG_DL2K is not set
674CONFIG_E1000=m 683CONFIG_E1000=m
675# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
676# CONFIG_E1000E is not set 684# CONFIG_E1000E is not set
677# CONFIG_IP1000 is not set 685# CONFIG_IP1000 is not set
678# CONFIG_IGB is not set 686# CONFIG_IGB is not set
@@ -689,18 +697,22 @@ CONFIG_E1000=m
689# CONFIG_QLA3XXX is not set 697# CONFIG_QLA3XXX is not set
690# CONFIG_ATL1 is not set 698# CONFIG_ATL1 is not set
691# CONFIG_ATL1E is not set 699# CONFIG_ATL1E is not set
700# CONFIG_JME is not set
692CONFIG_NETDEV_10000=y 701CONFIG_NETDEV_10000=y
693# CONFIG_CHELSIO_T1 is not set 702# CONFIG_CHELSIO_T1 is not set
694# CONFIG_CHELSIO_T3 is not set 703# CONFIG_CHELSIO_T3 is not set
704# CONFIG_ENIC is not set
695# CONFIG_IXGBE is not set 705# CONFIG_IXGBE is not set
696# CONFIG_IXGB is not set 706# CONFIG_IXGB is not set
697# CONFIG_S2IO is not set 707# CONFIG_S2IO is not set
698# CONFIG_MYRI10GE is not set 708# CONFIG_MYRI10GE is not set
699# CONFIG_NETXEN_NIC is not set 709# CONFIG_NETXEN_NIC is not set
700# CONFIG_NIU is not set 710# CONFIG_NIU is not set
711# CONFIG_MLX4_EN is not set
701# CONFIG_MLX4_CORE is not set 712# CONFIG_MLX4_CORE is not set
702# CONFIG_TEHUTI is not set 713# CONFIG_TEHUTI is not set
703# CONFIG_BNX2X is not set 714# CONFIG_BNX2X is not set
715# CONFIG_QLGE is not set
704# CONFIG_SFC is not set 716# CONFIG_SFC is not set
705CONFIG_TR=y 717CONFIG_TR=y
706CONFIG_IBMOL=y 718CONFIG_IBMOL=y
@@ -838,6 +850,14 @@ CONFIG_SSB_POSSIBLE=y
838# CONFIG_MFD_TMIO is not set 850# CONFIG_MFD_TMIO is not set
839 851
840# 852#
853# Voltage and Current regulators
854#
855# CONFIG_REGULATOR is not set
856# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
857# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
858# CONFIG_REGULATOR_BQ24022 is not set
859
860#
841# Multimedia devices 861# Multimedia devices
842# 862#
843 863
@@ -877,6 +897,7 @@ CONFIG_DUMMY_CONSOLE=y
877# CONFIG_SOUND is not set 897# CONFIG_SOUND is not set
878# CONFIG_HID_SUPPORT is not set 898# CONFIG_HID_SUPPORT is not set
879# CONFIG_USB_SUPPORT is not set 899# CONFIG_USB_SUPPORT is not set
900# CONFIG_UWB is not set
880# CONFIG_MMC is not set 901# CONFIG_MMC is not set
881# CONFIG_MEMSTICK is not set 902# CONFIG_MEMSTICK is not set
882# CONFIG_NEW_LEDS is not set 903# CONFIG_NEW_LEDS is not set
@@ -886,6 +907,7 @@ CONFIG_DUMMY_CONSOLE=y
886# CONFIG_RTC_CLASS is not set 907# CONFIG_RTC_CLASS is not set
887# CONFIG_DMADEVICES is not set 908# CONFIG_DMADEVICES is not set
888# CONFIG_UIO is not set 909# CONFIG_UIO is not set
910# CONFIG_STAGING is not set
889 911
890# 912#
891# File systems 913# File systems
@@ -895,14 +917,20 @@ CONFIG_EXT2_FS_XATTR=y
895CONFIG_EXT2_FS_POSIX_ACL=y 917CONFIG_EXT2_FS_POSIX_ACL=y
896CONFIG_EXT2_FS_SECURITY=y 918CONFIG_EXT2_FS_SECURITY=y
897CONFIG_EXT2_FS_XIP=y 919CONFIG_EXT2_FS_XIP=y
898CONFIG_FS_XIP=y
899CONFIG_EXT3_FS=y 920CONFIG_EXT3_FS=y
900CONFIG_EXT3_FS_XATTR=y 921CONFIG_EXT3_FS_XATTR=y
901CONFIG_EXT3_FS_POSIX_ACL=y 922CONFIG_EXT3_FS_POSIX_ACL=y
902CONFIG_EXT3_FS_SECURITY=y 923CONFIG_EXT3_FS_SECURITY=y
903# CONFIG_EXT4DEV_FS is not set 924CONFIG_EXT4_FS=y
925# CONFIG_EXT4DEV_COMPAT is not set
926CONFIG_EXT4_FS_XATTR=y
927# CONFIG_EXT4_FS_POSIX_ACL is not set
928# CONFIG_EXT4_FS_SECURITY is not set
929CONFIG_FS_XIP=y
904CONFIG_JBD=y 930CONFIG_JBD=y
905# CONFIG_JBD_DEBUG is not set 931# CONFIG_JBD_DEBUG is not set
932CONFIG_JBD2=y
933# CONFIG_JBD2_DEBUG is not set
906CONFIG_FS_MBCACHE=y 934CONFIG_FS_MBCACHE=y
907CONFIG_REISERFS_FS=y 935CONFIG_REISERFS_FS=y
908# CONFIG_REISERFS_CHECK is not set 936# CONFIG_REISERFS_CHECK is not set
@@ -916,6 +944,7 @@ CONFIG_JFS_SECURITY=y
916# CONFIG_JFS_DEBUG is not set 944# CONFIG_JFS_DEBUG is not set
917# CONFIG_JFS_STATISTICS is not set 945# CONFIG_JFS_STATISTICS is not set
918CONFIG_FS_POSIX_ACL=y 946CONFIG_FS_POSIX_ACL=y
947CONFIG_FILE_LOCKING=y
919CONFIG_XFS_FS=m 948CONFIG_XFS_FS=m
920# CONFIG_XFS_QUOTA is not set 949# CONFIG_XFS_QUOTA is not set
921CONFIG_XFS_POSIX_ACL=y 950CONFIG_XFS_POSIX_ACL=y
@@ -958,6 +987,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
958CONFIG_PROC_FS=y 987CONFIG_PROC_FS=y
959CONFIG_PROC_KCORE=y 988CONFIG_PROC_KCORE=y
960CONFIG_PROC_SYSCTL=y 989CONFIG_PROC_SYSCTL=y
990CONFIG_PROC_PAGE_MONITOR=y
961CONFIG_SYSFS=y 991CONFIG_SYSFS=y
962CONFIG_TMPFS=y 992CONFIG_TMPFS=y
963CONFIG_TMPFS_POSIX_ACL=y 993CONFIG_TMPFS_POSIX_ACL=y
@@ -1001,6 +1031,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1001CONFIG_NFS_COMMON=y 1031CONFIG_NFS_COMMON=y
1002CONFIG_SUNRPC=y 1032CONFIG_SUNRPC=y
1003CONFIG_SUNRPC_GSS=y 1033CONFIG_SUNRPC_GSS=y
1034# CONFIG_SUNRPC_REGISTER_V4 is not set
1004CONFIG_RPCSEC_GSS_KRB5=y 1035CONFIG_RPCSEC_GSS_KRB5=y
1005CONFIG_RPCSEC_GSS_SPKM3=m 1036CONFIG_RPCSEC_GSS_SPKM3=m
1006# CONFIG_SMB_FS is not set 1037# CONFIG_SMB_FS is not set
@@ -1067,9 +1098,8 @@ CONFIG_DLM=m
1067# Library routines 1098# Library routines
1068# 1099#
1069CONFIG_BITREVERSE=y 1100CONFIG_BITREVERSE=y
1070# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1071CONFIG_CRC_CCITT=m 1101CONFIG_CRC_CCITT=m
1072# CONFIG_CRC16 is not set 1102CONFIG_CRC16=y
1073CONFIG_CRC_T10DIF=y 1103CONFIG_CRC_T10DIF=y
1074CONFIG_CRC_ITU_T=m 1104CONFIG_CRC_ITU_T=m
1075CONFIG_CRC32=y 1105CONFIG_CRC32=y
@@ -1127,19 +1157,26 @@ CONFIG_DEBUG_BUGVERBOSE=y
1127CONFIG_DEBUG_MEMORY_INIT=y 1157CONFIG_DEBUG_MEMORY_INIT=y
1128# CONFIG_DEBUG_LIST is not set 1158# CONFIG_DEBUG_LIST is not set
1129# CONFIG_DEBUG_SG is not set 1159# CONFIG_DEBUG_SG is not set
1130CONFIG_FRAME_POINTER=y
1131# CONFIG_BOOT_PRINTK_DELAY is not set 1160# CONFIG_BOOT_PRINTK_DELAY is not set
1132# CONFIG_RCU_TORTURE_TEST is not set 1161# CONFIG_RCU_TORTURE_TEST is not set
1162# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1133# CONFIG_BACKTRACE_SELF_TEST is not set 1163# CONFIG_BACKTRACE_SELF_TEST is not set
1164# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1134# CONFIG_FAULT_INJECTION is not set 1165# CONFIG_FAULT_INJECTION is not set
1135CONFIG_LATENCYTOP=y 1166CONFIG_LATENCYTOP=y
1136CONFIG_SYSCTL_SYSCALL_CHECK=y 1167CONFIG_SYSCTL_SYSCALL_CHECK=y
1137CONFIG_HAVE_FTRACE=y 1168CONFIG_HAVE_FUNCTION_TRACER=y
1138CONFIG_HAVE_DYNAMIC_FTRACE=y 1169
1139# CONFIG_FTRACE is not set 1170#
1171# Tracers
1172#
1173# CONFIG_FUNCTION_TRACER is not set
1140# CONFIG_IRQSOFF_TRACER is not set 1174# CONFIG_IRQSOFF_TRACER is not set
1141# CONFIG_SCHED_TRACER is not set 1175# CONFIG_SCHED_TRACER is not set
1142# CONFIG_CONTEXT_SWITCH_TRACER is not set 1176# CONFIG_CONTEXT_SWITCH_TRACER is not set
1177# CONFIG_BOOT_TRACER is not set
1178# CONFIG_STACK_TRACER is not set
1179CONFIG_DYNAMIC_PRINTK_DEBUG=y
1143# CONFIG_SAMPLES is not set 1180# CONFIG_SAMPLES is not set
1144CONFIG_HAVE_ARCH_KGDB=y 1181CONFIG_HAVE_ARCH_KGDB=y
1145# CONFIG_KGDB is not set 1182# CONFIG_KGDB is not set
@@ -1148,6 +1185,7 @@ CONFIG_DEBUG_STACK_USAGE=y
1148# CONFIG_DEBUG_PAGEALLOC is not set 1185# CONFIG_DEBUG_PAGEALLOC is not set
1149# CONFIG_CODE_PATCHING_SELFTEST is not set 1186# CONFIG_CODE_PATCHING_SELFTEST is not set
1150# CONFIG_FTR_FIXUP_SELFTEST is not set 1187# CONFIG_FTR_FIXUP_SELFTEST is not set
1188# CONFIG_MSI_BITMAP_SELFTEST is not set
1151# CONFIG_XMON is not set 1189# CONFIG_XMON is not set
1152CONFIG_IRQSTACKS=y 1190CONFIG_IRQSTACKS=y
1153# CONFIG_VIRQ_DEBUG is not set 1191# CONFIG_VIRQ_DEBUG is not set
@@ -1159,16 +1197,19 @@ CONFIG_IRQSTACKS=y
1159# 1197#
1160# CONFIG_KEYS is not set 1198# CONFIG_KEYS is not set
1161# CONFIG_SECURITY is not set 1199# CONFIG_SECURITY is not set
1200# CONFIG_SECURITYFS is not set
1162# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1201# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1163CONFIG_CRYPTO=y 1202CONFIG_CRYPTO=y
1164 1203
1165# 1204#
1166# Crypto core or helper 1205# Crypto core or helper
1167# 1206#
1207# CONFIG_CRYPTO_FIPS is not set
1168CONFIG_CRYPTO_ALGAPI=y 1208CONFIG_CRYPTO_ALGAPI=y
1169CONFIG_CRYPTO_AEAD=m 1209CONFIG_CRYPTO_AEAD=y
1170CONFIG_CRYPTO_BLKCIPHER=y 1210CONFIG_CRYPTO_BLKCIPHER=y
1171CONFIG_CRYPTO_HASH=y 1211CONFIG_CRYPTO_HASH=y
1212CONFIG_CRYPTO_RNG=y
1172CONFIG_CRYPTO_MANAGER=y 1213CONFIG_CRYPTO_MANAGER=y
1173# CONFIG_CRYPTO_GF128MUL is not set 1214# CONFIG_CRYPTO_GF128MUL is not set
1174CONFIG_CRYPTO_NULL=m 1215CONFIG_CRYPTO_NULL=m
@@ -1242,6 +1283,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1242# 1283#
1243CONFIG_CRYPTO_DEFLATE=m 1284CONFIG_CRYPTO_DEFLATE=m
1244# CONFIG_CRYPTO_LZO is not set 1285# CONFIG_CRYPTO_LZO is not set
1286
1287#
1288# Random Number Generation
1289#
1290# CONFIG_CRYPTO_ANSI_CPRNG is not set
1245# CONFIG_CRYPTO_HW is not set 1291# CONFIG_CRYPTO_HW is not set
1246# CONFIG_PPC_CLOCK is not set 1292# CONFIG_PPC_CLOCK is not set
1247# CONFIG_VIRTUALIZATION is not set 1293# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 6fc4c2127757..54fa62481373 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:05 2008 4# Sat Nov 8 12:39:38 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -90,7 +90,7 @@ CONFIG_NAMESPACES=y
90# CONFIG_PID_NS is not set 90# CONFIG_PID_NS is not set
91CONFIG_BLK_DEV_INITRD=y 91CONFIG_BLK_DEV_INITRD=y
92CONFIG_INITRAMFS_SOURCE="" 92CONFIG_INITRAMFS_SOURCE=""
93# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 93CONFIG_CC_OPTIMIZE_FOR_SIZE=y
94CONFIG_SYSCTL=y 94CONFIG_SYSCTL=y
95# CONFIG_EMBEDDED is not set 95# CONFIG_EMBEDDED is not set
96CONFIG_SYSCTL_SYSCALL=y 96CONFIG_SYSCTL_SYSCALL=y
@@ -101,7 +101,7 @@ CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 101CONFIG_PRINTK=y
102CONFIG_BUG=y 102CONFIG_BUG=y
103CONFIG_ELF_CORE=y 103CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y 104# CONFIG_COMPAT_BRK is not set
105CONFIG_BASE_FULL=y 105CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 106CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y 107CONFIG_ANON_INODES=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -124,10 +126,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 130CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 131CONFIG_RT_MUTEXES=y
@@ -160,6 +158,7 @@ CONFIG_DEFAULT_AS=y
160# CONFIG_DEFAULT_NOOP is not set 158# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="anticipatory" 159CONFIG_DEFAULT_IOSCHED="anticipatory"
162CONFIG_CLASSIC_RCU=y 160CONFIG_CLASSIC_RCU=y
161# CONFIG_FREEZER is not set
163 162
164# 163#
165# Platform support 164# Platform support
@@ -199,6 +198,7 @@ CONFIG_MPIC=y
199# CONFIG_GENERIC_IOMAP is not set 198# CONFIG_GENERIC_IOMAP is not set
200# CONFIG_CPU_FREQ is not set 199# CONFIG_CPU_FREQ is not set
201# CONFIG_TAU is not set 200# CONFIG_TAU is not set
201# CONFIG_QUICC_ENGINE is not set
202# CONFIG_FSL_ULI1575 is not set 202# CONFIG_FSL_ULI1575 is not set
203 203
204# 204#
@@ -219,6 +219,8 @@ CONFIG_PREEMPT_NONE=y
219# CONFIG_PREEMPT_VOLUNTARY is not set 219# CONFIG_PREEMPT_VOLUNTARY is not set
220# CONFIG_PREEMPT is not set 220# CONFIG_PREEMPT is not set
221CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
222# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
223# CONFIG_HAVE_AOUT is not set
222# CONFIG_BINFMT_MISC is not set 224# CONFIG_BINFMT_MISC is not set
223# CONFIG_IOMMU_HELPER is not set 225# CONFIG_IOMMU_HELPER is not set
224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 226CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -233,15 +235,15 @@ CONFIG_FLATMEM_MANUAL=y
233# CONFIG_SPARSEMEM_MANUAL is not set 235# CONFIG_SPARSEMEM_MANUAL is not set
234CONFIG_FLATMEM=y 236CONFIG_FLATMEM=y
235CONFIG_FLAT_NODE_MEM_MAP=y 237CONFIG_FLAT_NODE_MEM_MAP=y
236# CONFIG_SPARSEMEM_STATIC is not set
237# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
238CONFIG_PAGEFLAGS_EXTENDED=y 238CONFIG_PAGEFLAGS_EXTENDED=y
239CONFIG_SPLIT_PTLOCK_CPUS=4 239CONFIG_SPLIT_PTLOCK_CPUS=4
240CONFIG_MIGRATION=y 240CONFIG_MIGRATION=y
241# CONFIG_RESOURCES_64BIT is not set 241# CONFIG_RESOURCES_64BIT is not set
242# CONFIG_PHYS_ADDR_T_64BIT is not set
242CONFIG_ZONE_DMA_FLAG=1 243CONFIG_ZONE_DMA_FLAG=1
243CONFIG_BOUNCE=y 244CONFIG_BOUNCE=y
244CONFIG_VIRT_TO_BUS=y 245CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y
245CONFIG_FORCE_MAX_ZONEORDER=11 247CONFIG_FORCE_MAX_ZONEORDER=11
246CONFIG_PROC_DEVICETREE=y 248CONFIG_PROC_DEVICETREE=y
247# CONFIG_CMDLINE_BOOL is not set 249# CONFIG_CMDLINE_BOOL is not set
@@ -263,7 +265,7 @@ CONFIG_PCI_SYSCALL=y
263# CONFIG_PCIEPORTBUS is not set 265# CONFIG_PCIEPORTBUS is not set
264CONFIG_ARCH_SUPPORTS_MSI=y 266CONFIG_ARCH_SUPPORTS_MSI=y
265# CONFIG_PCI_MSI is not set 267# CONFIG_PCI_MSI is not set
266CONFIG_PCI_LEGACY=y 268# CONFIG_PCI_LEGACY is not set
267# CONFIG_PCI_DEBUG is not set 269# CONFIG_PCI_DEBUG is not set
268# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
269# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
@@ -324,7 +326,6 @@ CONFIG_INET_TCP_DIAG=y
324CONFIG_TCP_CONG_CUBIC=y 326CONFIG_TCP_CONG_CUBIC=y
325CONFIG_DEFAULT_TCP_CONG="cubic" 327CONFIG_DEFAULT_TCP_CONG="cubic"
326# CONFIG_TCP_MD5SIG is not set 328# CONFIG_TCP_MD5SIG is not set
327# CONFIG_IP_VS is not set
328# CONFIG_IPV6 is not set 329# CONFIG_IPV6 is not set
329# CONFIG_NETWORK_SECMARK is not set 330# CONFIG_NETWORK_SECMARK is not set
330CONFIG_NETFILTER=y 331CONFIG_NETFILTER=y
@@ -354,13 +355,14 @@ CONFIG_NF_CONNTRACK_PPTP=m
354CONFIG_NF_CONNTRACK_SIP=m 355CONFIG_NF_CONNTRACK_SIP=m
355CONFIG_NF_CONNTRACK_TFTP=m 356CONFIG_NF_CONNTRACK_TFTP=m
356# CONFIG_NF_CT_NETLINK is not set 357# CONFIG_NF_CT_NETLINK is not set
358# CONFIG_NETFILTER_TPROXY is not set
357CONFIG_NETFILTER_XTABLES=m 359CONFIG_NETFILTER_XTABLES=m
358# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 360# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
359# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 361# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
360# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 362# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
361# CONFIG_NETFILTER_XT_TARGET_MARK is not set 363# CONFIG_NETFILTER_XT_TARGET_MARK is not set
362# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
363# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 364# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
365# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
364# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 366# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
365# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 367# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
366# CONFIG_NETFILTER_XT_TARGET_TRACE is not set 368# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
@@ -374,19 +376,21 @@ CONFIG_NETFILTER_XTABLES=m
374# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 376# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
375# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 377# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
376# CONFIG_NETFILTER_XT_MATCH_ESP is not set 378# CONFIG_NETFILTER_XT_MATCH_ESP is not set
379# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
377# CONFIG_NETFILTER_XT_MATCH_HELPER is not set 380# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
378# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 381# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
379# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 382# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
380# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 383# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
381CONFIG_NETFILTER_XT_MATCH_MAC=m 384CONFIG_NETFILTER_XT_MATCH_MAC=m
382# CONFIG_NETFILTER_XT_MATCH_MARK is not set 385# CONFIG_NETFILTER_XT_MATCH_MARK is not set
386# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
383# CONFIG_NETFILTER_XT_MATCH_OWNER is not set 387# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
384# CONFIG_NETFILTER_XT_MATCH_POLICY is not set 388# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
385# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
386CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 389CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
387# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 390# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
388# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 391# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
389# CONFIG_NETFILTER_XT_MATCH_REALM is not set 392# CONFIG_NETFILTER_XT_MATCH_REALM is not set
393# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
390# CONFIG_NETFILTER_XT_MATCH_SCTP is not set 394# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
391CONFIG_NETFILTER_XT_MATCH_STATE=m 395CONFIG_NETFILTER_XT_MATCH_STATE=m
392# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 396# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
@@ -394,20 +398,20 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m
394# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 398# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
395# CONFIG_NETFILTER_XT_MATCH_TIME is not set 399# CONFIG_NETFILTER_XT_MATCH_TIME is not set
396# CONFIG_NETFILTER_XT_MATCH_U32 is not set 400# CONFIG_NETFILTER_XT_MATCH_U32 is not set
397# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 401# CONFIG_IP_VS is not set
398 402
399# 403#
400# IP: Netfilter Configuration 404# IP: Netfilter Configuration
401# 405#
406CONFIG_NF_DEFRAG_IPV4=m
402CONFIG_NF_CONNTRACK_IPV4=m 407CONFIG_NF_CONNTRACK_IPV4=m
403CONFIG_NF_CONNTRACK_PROC_COMPAT=y 408CONFIG_NF_CONNTRACK_PROC_COMPAT=y
404# CONFIG_IP_NF_QUEUE is not set 409# CONFIG_IP_NF_QUEUE is not set
405CONFIG_IP_NF_IPTABLES=m 410CONFIG_IP_NF_IPTABLES=m
406CONFIG_IP_NF_MATCH_RECENT=m 411CONFIG_IP_NF_MATCH_ADDRTYPE=m
407# CONFIG_IP_NF_MATCH_ECN is not set
408# CONFIG_IP_NF_MATCH_AH is not set 412# CONFIG_IP_NF_MATCH_AH is not set
413# CONFIG_IP_NF_MATCH_ECN is not set
409# CONFIG_IP_NF_MATCH_TTL is not set 414# CONFIG_IP_NF_MATCH_TTL is not set
410CONFIG_IP_NF_MATCH_ADDRTYPE=m
411CONFIG_IP_NF_FILTER=m 415CONFIG_IP_NF_FILTER=m
412CONFIG_IP_NF_TARGET_REJECT=m 416CONFIG_IP_NF_TARGET_REJECT=m
413# CONFIG_IP_NF_TARGET_LOG is not set 417# CONFIG_IP_NF_TARGET_LOG is not set
@@ -415,8 +419,8 @@ CONFIG_IP_NF_TARGET_REJECT=m
415CONFIG_NF_NAT=m 419CONFIG_NF_NAT=m
416CONFIG_NF_NAT_NEEDED=y 420CONFIG_NF_NAT_NEEDED=y
417CONFIG_IP_NF_TARGET_MASQUERADE=m 421CONFIG_IP_NF_TARGET_MASQUERADE=m
418CONFIG_IP_NF_TARGET_REDIRECT=m
419# CONFIG_IP_NF_TARGET_NETMAP is not set 422# CONFIG_IP_NF_TARGET_NETMAP is not set
423CONFIG_IP_NF_TARGET_REDIRECT=m
420# CONFIG_NF_NAT_SNMP_BASIC is not set 424# CONFIG_NF_NAT_SNMP_BASIC is not set
421CONFIG_NF_NAT_PROTO_GRE=m 425CONFIG_NF_NAT_PROTO_GRE=m
422CONFIG_NF_NAT_PROTO_SCTP=m 426CONFIG_NF_NAT_PROTO_SCTP=m
@@ -428,9 +432,9 @@ CONFIG_NF_NAT_PPTP=m
428CONFIG_NF_NAT_H323=m 432CONFIG_NF_NAT_H323=m
429CONFIG_NF_NAT_SIP=m 433CONFIG_NF_NAT_SIP=m
430CONFIG_IP_NF_MANGLE=m 434CONFIG_IP_NF_MANGLE=m
435# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
431CONFIG_IP_NF_TARGET_ECN=m 436CONFIG_IP_NF_TARGET_ECN=m
432CONFIG_IP_NF_TARGET_TTL=m 437CONFIG_IP_NF_TARGET_TTL=m
433# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
434CONFIG_IP_NF_RAW=m 438CONFIG_IP_NF_RAW=m
435CONFIG_IP_NF_ARPTABLES=m 439CONFIG_IP_NF_ARPTABLES=m
436CONFIG_IP_NF_ARPFILTER=m 440CONFIG_IP_NF_ARPFILTER=m
@@ -440,6 +444,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
440# CONFIG_TIPC is not set 444# CONFIG_TIPC is not set
441# CONFIG_ATM is not set 445# CONFIG_ATM is not set
442# CONFIG_BRIDGE is not set 446# CONFIG_BRIDGE is not set
447# CONFIG_NET_DSA is not set
443# CONFIG_VLAN_8021Q is not set 448# CONFIG_VLAN_8021Q is not set
444# CONFIG_DECNET is not set 449# CONFIG_DECNET is not set
445# CONFIG_LLC2 is not set 450# CONFIG_LLC2 is not set
@@ -460,11 +465,10 @@ CONFIG_IP_NF_ARP_MANGLE=m
460# CONFIG_IRDA is not set 465# CONFIG_IRDA is not set
461# CONFIG_BT is not set 466# CONFIG_BT is not set
462# CONFIG_AF_RXRPC is not set 467# CONFIG_AF_RXRPC is not set
463 468# CONFIG_PHONET is not set
464# 469CONFIG_WIRELESS=y
465# Wireless
466#
467# CONFIG_CFG80211 is not set 470# CONFIG_CFG80211 is not set
471CONFIG_WIRELESS_OLD_REGULATORY=y
468CONFIG_WIRELESS_EXT=y 472CONFIG_WIRELESS_EXT=y
469CONFIG_WIRELESS_EXT_SYSFS=y 473CONFIG_WIRELESS_EXT_SYSFS=y
470# CONFIG_MAC80211 is not set 474# CONFIG_MAC80211 is not set
@@ -772,7 +776,7 @@ CONFIG_TUN=m
772# CONFIG_ARCNET is not set 776# CONFIG_ARCNET is not set
773# CONFIG_PHYLIB is not set 777# CONFIG_PHYLIB is not set
774CONFIG_NET_ETHERNET=y 778CONFIG_NET_ETHERNET=y
775# CONFIG_MII is not set 779CONFIG_MII=y
776# CONFIG_HAPPYMEAL is not set 780# CONFIG_HAPPYMEAL is not set
777# CONFIG_SUNGEM is not set 781# CONFIG_SUNGEM is not set
778# CONFIG_CASSINI is not set 782# CONFIG_CASSINI is not set
@@ -792,8 +796,12 @@ CONFIG_TULIP_MMIO=y
792# CONFIG_IBM_NEW_EMAC_RGMII is not set 796# CONFIG_IBM_NEW_EMAC_RGMII is not set
793# CONFIG_IBM_NEW_EMAC_TAH is not set 797# CONFIG_IBM_NEW_EMAC_TAH is not set
794# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 798# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
799# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
800# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
801# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
795# CONFIG_NET_PCI is not set 802# CONFIG_NET_PCI is not set
796# CONFIG_B44 is not set 803# CONFIG_B44 is not set
804# CONFIG_ATL2 is not set
797CONFIG_NETDEV_1000=y 805CONFIG_NETDEV_1000=y
798# CONFIG_ACENIC is not set 806# CONFIG_ACENIC is not set
799# CONFIG_DL2K is not set 807# CONFIG_DL2K is not set
@@ -816,18 +824,22 @@ CONFIG_R8169=y
816# CONFIG_QLA3XXX is not set 824# CONFIG_QLA3XXX is not set
817# CONFIG_ATL1 is not set 825# CONFIG_ATL1 is not set
818# CONFIG_ATL1E is not set 826# CONFIG_ATL1E is not set
827# CONFIG_JME is not set
819CONFIG_NETDEV_10000=y 828CONFIG_NETDEV_10000=y
820# CONFIG_CHELSIO_T1 is not set 829# CONFIG_CHELSIO_T1 is not set
821# CONFIG_CHELSIO_T3 is not set 830# CONFIG_CHELSIO_T3 is not set
831# CONFIG_ENIC is not set
822# CONFIG_IXGBE is not set 832# CONFIG_IXGBE is not set
823# CONFIG_IXGB is not set 833# CONFIG_IXGB is not set
824# CONFIG_S2IO is not set 834# CONFIG_S2IO is not set
825# CONFIG_MYRI10GE is not set 835# CONFIG_MYRI10GE is not set
826# CONFIG_NETXEN_NIC is not set 836# CONFIG_NETXEN_NIC is not set
827# CONFIG_NIU is not set 837# CONFIG_NIU is not set
838# CONFIG_MLX4_EN is not set
828# CONFIG_MLX4_CORE is not set 839# CONFIG_MLX4_CORE is not set
829# CONFIG_TEHUTI is not set 840# CONFIG_TEHUTI is not set
830# CONFIG_BNX2X is not set 841# CONFIG_BNX2X is not set
842# CONFIG_QLGE is not set
831# CONFIG_SFC is not set 843# CONFIG_SFC is not set
832# CONFIG_TR is not set 844# CONFIG_TR is not set
833 845
@@ -892,6 +904,7 @@ CONFIG_INPUT_MISC=y
892# CONFIG_INPUT_KEYSPAN_REMOTE is not set 904# CONFIG_INPUT_KEYSPAN_REMOTE is not set
893# CONFIG_INPUT_POWERMATE is not set 905# CONFIG_INPUT_POWERMATE is not set
894# CONFIG_INPUT_YEALINK is not set 906# CONFIG_INPUT_YEALINK is not set
907# CONFIG_INPUT_CM109 is not set
895CONFIG_INPUT_UINPUT=m 908CONFIG_INPUT_UINPUT=m
896 909
897# 910#
@@ -934,7 +947,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
934CONFIG_SERIAL_CORE=y 947CONFIG_SERIAL_CORE=y
935CONFIG_SERIAL_CORE_CONSOLE=y 948CONFIG_SERIAL_CORE_CONSOLE=y
936# CONFIG_SERIAL_JSM is not set 949# CONFIG_SERIAL_JSM is not set
937CONFIG_SERIAL_OF_PLATFORM=y 950# CONFIG_SERIAL_OF_PLATFORM is not set
938CONFIG_UNIX98_PTYS=y 951CONFIG_UNIX98_PTYS=y
939CONFIG_LEGACY_PTYS=y 952CONFIG_LEGACY_PTYS=y
940CONFIG_LEGACY_PTY_COUNT=256 953CONFIG_LEGACY_PTY_COUNT=256
@@ -1091,6 +1104,17 @@ CONFIG_SSB_POSSIBLE=y
1091# CONFIG_MFD_SM501 is not set 1104# CONFIG_MFD_SM501 is not set
1092# CONFIG_HTC_PASIC3 is not set 1105# CONFIG_HTC_PASIC3 is not set
1093# CONFIG_MFD_TMIO is not set 1106# CONFIG_MFD_TMIO is not set
1107# CONFIG_PMIC_DA903X is not set
1108# CONFIG_MFD_WM8400 is not set
1109# CONFIG_MFD_WM8350_I2C is not set
1110
1111#
1112# Voltage and Current regulators
1113#
1114# CONFIG_REGULATOR is not set
1115# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1116# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1117# CONFIG_REGULATOR_BQ24022 is not set
1094 1118
1095# 1119#
1096# Multimedia devices 1120# Multimedia devices
@@ -1138,12 +1162,18 @@ CONFIG_HID=m
1138# USB Input Devices 1162# USB Input Devices
1139# 1163#
1140# CONFIG_USB_HID is not set 1164# CONFIG_USB_HID is not set
1165# CONFIG_HID_PID is not set
1141 1166
1142# 1167#
1143# USB HID Boot Protocol drivers 1168# USB HID Boot Protocol drivers
1144# 1169#
1145# CONFIG_USB_KBD is not set 1170# CONFIG_USB_KBD is not set
1146# CONFIG_USB_MOUSE is not set 1171# CONFIG_USB_MOUSE is not set
1172
1173#
1174# Special HID drivers
1175#
1176CONFIG_HID_COMPAT=y
1147CONFIG_USB_SUPPORT=y 1177CONFIG_USB_SUPPORT=y
1148CONFIG_USB_ARCH_HAS_HCD=y 1178CONFIG_USB_ARCH_HAS_HCD=y
1149CONFIG_USB_ARCH_HAS_OHCI=y 1179CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1160,6 +1190,8 @@ CONFIG_USB_DEVICE_CLASS=y
1160# CONFIG_USB_DYNAMIC_MINORS is not set 1190# CONFIG_USB_DYNAMIC_MINORS is not set
1161# CONFIG_USB_OTG is not set 1191# CONFIG_USB_OTG is not set
1162CONFIG_USB_MON=y 1192CONFIG_USB_MON=y
1193# CONFIG_USB_WUSB is not set
1194# CONFIG_USB_WUSB_CBAF is not set
1163 1195
1164# 1196#
1165# USB Host Controller Drivers 1197# USB Host Controller Drivers
@@ -1183,6 +1215,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1183# CONFIG_USB_UHCI_HCD is not set 1215# CONFIG_USB_UHCI_HCD is not set
1184# CONFIG_USB_SL811_HCD is not set 1216# CONFIG_USB_SL811_HCD is not set
1185# CONFIG_USB_R8A66597_HCD is not set 1217# CONFIG_USB_R8A66597_HCD is not set
1218# CONFIG_USB_WHCI_HCD is not set
1219# CONFIG_USB_HWA_HCD is not set
1186 1220
1187# 1221#
1188# USB Device Class drivers 1222# USB Device Class drivers
@@ -1190,6 +1224,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1190# CONFIG_USB_ACM is not set 1224# CONFIG_USB_ACM is not set
1191CONFIG_USB_PRINTER=m 1225CONFIG_USB_PRINTER=m
1192# CONFIG_USB_WDM is not set 1226# CONFIG_USB_WDM is not set
1227# CONFIG_USB_TMC is not set
1193 1228
1194# 1229#
1195# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1230# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1211,7 +1246,6 @@ CONFIG_USB_STORAGE=m
1211# CONFIG_USB_STORAGE_ALAUDA is not set 1246# CONFIG_USB_STORAGE_ALAUDA is not set
1212# CONFIG_USB_STORAGE_ONETOUCH is not set 1247# CONFIG_USB_STORAGE_ONETOUCH is not set
1213# CONFIG_USB_STORAGE_KARMA is not set 1248# CONFIG_USB_STORAGE_KARMA is not set
1214# CONFIG_USB_STORAGE_SIERRA is not set
1215# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1249# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1216# CONFIG_USB_LIBUSUAL is not set 1250# CONFIG_USB_LIBUSUAL is not set
1217 1251
@@ -1275,6 +1309,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1275# CONFIG_USB_EMI62 is not set 1309# CONFIG_USB_EMI62 is not set
1276# CONFIG_USB_EMI26 is not set 1310# CONFIG_USB_EMI26 is not set
1277# CONFIG_USB_ADUTUX is not set 1311# CONFIG_USB_ADUTUX is not set
1312# CONFIG_USB_SEVSEG is not set
1278# CONFIG_USB_RIO500 is not set 1313# CONFIG_USB_RIO500 is not set
1279# CONFIG_USB_LEGOTOWER is not set 1314# CONFIG_USB_LEGOTOWER is not set
1280# CONFIG_USB_LCD is not set 1315# CONFIG_USB_LCD is not set
@@ -1292,7 +1327,9 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1292# CONFIG_USB_IOWARRIOR is not set 1327# CONFIG_USB_IOWARRIOR is not set
1293# CONFIG_USB_TEST is not set 1328# CONFIG_USB_TEST is not set
1294# CONFIG_USB_ISIGHTFW is not set 1329# CONFIG_USB_ISIGHTFW is not set
1330# CONFIG_USB_VST is not set
1295# CONFIG_USB_GADGET is not set 1331# CONFIG_USB_GADGET is not set
1332# CONFIG_UWB is not set
1296# CONFIG_MMC is not set 1333# CONFIG_MMC is not set
1297# CONFIG_MEMSTICK is not set 1334# CONFIG_MEMSTICK is not set
1298# CONFIG_NEW_LEDS is not set 1335# CONFIG_NEW_LEDS is not set
@@ -1338,12 +1375,15 @@ CONFIG_RTC_DRV_RS5C372=y
1338# Platform RTC drivers 1375# Platform RTC drivers
1339# 1376#
1340# CONFIG_RTC_DRV_CMOS is not set 1377# CONFIG_RTC_DRV_CMOS is not set
1378# CONFIG_RTC_DRV_DS1286 is not set
1341# CONFIG_RTC_DRV_DS1511 is not set 1379# CONFIG_RTC_DRV_DS1511 is not set
1342# CONFIG_RTC_DRV_DS1553 is not set 1380# CONFIG_RTC_DRV_DS1553 is not set
1343# CONFIG_RTC_DRV_DS1742 is not set 1381# CONFIG_RTC_DRV_DS1742 is not set
1344# CONFIG_RTC_DRV_STK17TA8 is not set 1382# CONFIG_RTC_DRV_STK17TA8 is not set
1345# CONFIG_RTC_DRV_M48T86 is not set 1383# CONFIG_RTC_DRV_M48T86 is not set
1384# CONFIG_RTC_DRV_M48T35 is not set
1346# CONFIG_RTC_DRV_M48T59 is not set 1385# CONFIG_RTC_DRV_M48T59 is not set
1386# CONFIG_RTC_DRV_BQ4802 is not set
1347# CONFIG_RTC_DRV_V3020 is not set 1387# CONFIG_RTC_DRV_V3020 is not set
1348 1388
1349# 1389#
@@ -1352,6 +1392,7 @@ CONFIG_RTC_DRV_RS5C372=y
1352# CONFIG_RTC_DRV_PPC is not set 1392# CONFIG_RTC_DRV_PPC is not set
1353# CONFIG_DMADEVICES is not set 1393# CONFIG_DMADEVICES is not set
1354# CONFIG_UIO is not set 1394# CONFIG_UIO is not set
1395# CONFIG_STAGING is not set
1355 1396
1356# 1397#
1357# File systems 1398# File systems
@@ -1363,12 +1404,13 @@ CONFIG_EXT3_FS=y
1363CONFIG_EXT3_FS_XATTR=y 1404CONFIG_EXT3_FS_XATTR=y
1364# CONFIG_EXT3_FS_POSIX_ACL is not set 1405# CONFIG_EXT3_FS_POSIX_ACL is not set
1365# CONFIG_EXT3_FS_SECURITY is not set 1406# CONFIG_EXT3_FS_SECURITY is not set
1366# CONFIG_EXT4DEV_FS is not set 1407# CONFIG_EXT4_FS is not set
1367CONFIG_JBD=y 1408CONFIG_JBD=y
1368CONFIG_FS_MBCACHE=y 1409CONFIG_FS_MBCACHE=y
1369# CONFIG_REISERFS_FS is not set 1410# CONFIG_REISERFS_FS is not set
1370# CONFIG_JFS_FS is not set 1411# CONFIG_JFS_FS is not set
1371CONFIG_FS_POSIX_ACL=y 1412CONFIG_FS_POSIX_ACL=y
1413CONFIG_FILE_LOCKING=y
1372CONFIG_XFS_FS=m 1414CONFIG_XFS_FS=m
1373# CONFIG_XFS_QUOTA is not set 1415# CONFIG_XFS_QUOTA is not set
1374# CONFIG_XFS_POSIX_ACL is not set 1416# CONFIG_XFS_POSIX_ACL is not set
@@ -1410,6 +1452,7 @@ CONFIG_NTFS_FS=m
1410CONFIG_PROC_FS=y 1452CONFIG_PROC_FS=y
1411CONFIG_PROC_KCORE=y 1453CONFIG_PROC_KCORE=y
1412CONFIG_PROC_SYSCTL=y 1454CONFIG_PROC_SYSCTL=y
1455CONFIG_PROC_PAGE_MONITOR=y
1413CONFIG_SYSFS=y 1456CONFIG_SYSFS=y
1414CONFIG_TMPFS=y 1457CONFIG_TMPFS=y
1415# CONFIG_TMPFS_POSIX_ACL is not set 1458# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1453,6 +1496,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1453CONFIG_NFS_COMMON=y 1496CONFIG_NFS_COMMON=y
1454CONFIG_SUNRPC=y 1497CONFIG_SUNRPC=y
1455CONFIG_SUNRPC_GSS=y 1498CONFIG_SUNRPC_GSS=y
1499# CONFIG_SUNRPC_REGISTER_V4 is not set
1456CONFIG_RPCSEC_GSS_KRB5=y 1500CONFIG_RPCSEC_GSS_KRB5=y
1457# CONFIG_RPCSEC_GSS_SPKM3 is not set 1501# CONFIG_RPCSEC_GSS_SPKM3 is not set
1458# CONFIG_SMB_FS is not set 1502# CONFIG_SMB_FS is not set
@@ -1517,7 +1561,6 @@ CONFIG_NLS_UTF8=m
1517# Library routines 1561# Library routines
1518# 1562#
1519CONFIG_BITREVERSE=y 1563CONFIG_BITREVERSE=y
1520# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1521CONFIG_CRC_CCITT=m 1564CONFIG_CRC_CCITT=m
1522# CONFIG_CRC16 is not set 1565# CONFIG_CRC16 is not set
1523CONFIG_CRC_T10DIF=y 1566CONFIG_CRC_T10DIF=y
@@ -1573,15 +1616,23 @@ CONFIG_DEBUG_MEMORY_INIT=y
1573# CONFIG_DEBUG_SG is not set 1616# CONFIG_DEBUG_SG is not set
1574# CONFIG_BOOT_PRINTK_DELAY is not set 1617# CONFIG_BOOT_PRINTK_DELAY is not set
1575# CONFIG_RCU_TORTURE_TEST is not set 1618# CONFIG_RCU_TORTURE_TEST is not set
1619# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1576# CONFIG_BACKTRACE_SELF_TEST is not set 1620# CONFIG_BACKTRACE_SELF_TEST is not set
1621# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1577# CONFIG_FAULT_INJECTION is not set 1622# CONFIG_FAULT_INJECTION is not set
1578# CONFIG_LATENCYTOP is not set 1623# CONFIG_LATENCYTOP is not set
1579CONFIG_SYSCTL_SYSCALL_CHECK=y 1624CONFIG_SYSCTL_SYSCALL_CHECK=y
1580CONFIG_HAVE_FTRACE=y 1625CONFIG_HAVE_FUNCTION_TRACER=y
1581CONFIG_HAVE_DYNAMIC_FTRACE=y 1626
1582# CONFIG_FTRACE is not set 1627#
1628# Tracers
1629#
1630# CONFIG_FUNCTION_TRACER is not set
1583# CONFIG_SCHED_TRACER is not set 1631# CONFIG_SCHED_TRACER is not set
1584# CONFIG_CONTEXT_SWITCH_TRACER is not set 1632# CONFIG_CONTEXT_SWITCH_TRACER is not set
1633# CONFIG_BOOT_TRACER is not set
1634# CONFIG_STACK_TRACER is not set
1635# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1585# CONFIG_SAMPLES is not set 1636# CONFIG_SAMPLES is not set
1586CONFIG_HAVE_ARCH_KGDB=y 1637CONFIG_HAVE_ARCH_KGDB=y
1587# CONFIG_KGDB is not set 1638# CONFIG_KGDB is not set
@@ -1590,6 +1641,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1590# CONFIG_DEBUG_PAGEALLOC is not set 1641# CONFIG_DEBUG_PAGEALLOC is not set
1591# CONFIG_CODE_PATCHING_SELFTEST is not set 1642# CONFIG_CODE_PATCHING_SELFTEST is not set
1592# CONFIG_FTR_FIXUP_SELFTEST is not set 1643# CONFIG_FTR_FIXUP_SELFTEST is not set
1644# CONFIG_MSI_BITMAP_SELFTEST is not set
1593# CONFIG_XMON is not set 1645# CONFIG_XMON is not set
1594# CONFIG_IRQSTACKS is not set 1646# CONFIG_IRQSTACKS is not set
1595# CONFIG_BDI_SWITCH is not set 1647# CONFIG_BDI_SWITCH is not set
@@ -1601,15 +1653,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1601# 1653#
1602# CONFIG_KEYS is not set 1654# CONFIG_KEYS is not set
1603# CONFIG_SECURITY is not set 1655# CONFIG_SECURITY is not set
1656# CONFIG_SECURITYFS is not set
1604# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1657# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1605CONFIG_CRYPTO=y 1658CONFIG_CRYPTO=y
1606 1659
1607# 1660#
1608# Crypto core or helper 1661# Crypto core or helper
1609# 1662#
1663# CONFIG_CRYPTO_FIPS is not set
1610CONFIG_CRYPTO_ALGAPI=y 1664CONFIG_CRYPTO_ALGAPI=y
1665CONFIG_CRYPTO_AEAD=y
1611CONFIG_CRYPTO_BLKCIPHER=y 1666CONFIG_CRYPTO_BLKCIPHER=y
1612CONFIG_CRYPTO_HASH=m 1667CONFIG_CRYPTO_HASH=y
1668CONFIG_CRYPTO_RNG=y
1613CONFIG_CRYPTO_MANAGER=y 1669CONFIG_CRYPTO_MANAGER=y
1614# CONFIG_CRYPTO_GF128MUL is not set 1670# CONFIG_CRYPTO_GF128MUL is not set
1615# CONFIG_CRYPTO_NULL is not set 1671# CONFIG_CRYPTO_NULL is not set
@@ -1683,6 +1739,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1683# 1739#
1684CONFIG_CRYPTO_DEFLATE=m 1740CONFIG_CRYPTO_DEFLATE=m
1685# CONFIG_CRYPTO_LZO is not set 1741# CONFIG_CRYPTO_LZO is not set
1742
1743#
1744# Random Number Generation
1745#
1746# CONFIG_CRYPTO_ANSI_CPRNG is not set
1686CONFIG_CRYPTO_HW=y 1747CONFIG_CRYPTO_HW=y
1687# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1748# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1688# CONFIG_CRYPTO_DEV_TALITOS is not set 1749# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 1a3b6423222b..045f1b008ce5 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:18:58 2008 4# Tue Nov 11 19:36:45 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -20,7 +20,7 @@ CONFIG_SMP=y
20CONFIG_NR_CPUS=4 20CONFIG_NR_CPUS=4
21CONFIG_64BIT=y 21CONFIG_64BIT=y
22CONFIG_WORD_SIZE=64 22CONFIG_WORD_SIZE=64
23CONFIG_PPC_MERGE=y 23CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
24CONFIG_MMU=y 24CONFIG_MMU=y
25CONFIG_GENERIC_CMOS_UPDATE=y 25CONFIG_GENERIC_CMOS_UPDATE=y
26CONFIG_GENERIC_TIME=y 26CONFIG_GENERIC_TIME=y
@@ -107,7 +107,9 @@ CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 109CONFIG_SHMEM=y
110CONFIG_AIO=y
110CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 113CONFIG_SLUB_DEBUG=y
112# CONFIG_SLAB is not set 114# CONFIG_SLAB is not set
113CONFIG_SLUB=y 115CONFIG_SLUB=y
@@ -125,8 +127,6 @@ CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 127CONFIG_HAVE_ARCH_TRACEHOOK=y
126CONFIG_HAVE_DMA_ATTRS=y 128CONFIG_HAVE_DMA_ATTRS=y
127CONFIG_USE_GENERIC_SMP_HELPERS=y 129CONFIG_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 130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
@@ -159,6 +159,8 @@ CONFIG_DEFAULT_AS=y
159# CONFIG_DEFAULT_NOOP is not set 159# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 160CONFIG_DEFAULT_IOSCHED="anticipatory"
161CONFIG_CLASSIC_RCU=y 161CONFIG_CLASSIC_RCU=y
162# CONFIG_FREEZER is not set
163CONFIG_PPC_MSI_BITMAP=y
162 164
163# 165#
164# Platform support 166# Platform support
@@ -213,6 +215,8 @@ CONFIG_PREEMPT_NONE=y
213# CONFIG_PREEMPT is not set 215# CONFIG_PREEMPT is not set
214CONFIG_BINFMT_ELF=y 216CONFIG_BINFMT_ELF=y
215CONFIG_COMPAT_BINFMT_ELF=y 217CONFIG_COMPAT_BINFMT_ELF=y
218# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
219# CONFIG_HAVE_AOUT is not set
216# CONFIG_BINFMT_MISC is not set 220# CONFIG_BINFMT_MISC is not set
217CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 221CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
218CONFIG_IOMMU_VMERGE=y 222CONFIG_IOMMU_VMERGE=y
@@ -221,7 +225,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
221CONFIG_ARCH_HAS_WALK_MEMORY=y 225CONFIG_ARCH_HAS_WALK_MEMORY=y
222CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
223CONFIG_KEXEC=y 227CONFIG_KEXEC=y
224# CONFIG_CRASH_DUMP is not set
225CONFIG_IRQ_ALL_CPUS=y 228CONFIG_IRQ_ALL_CPUS=y
226# CONFIG_NUMA is not set 229# CONFIG_NUMA is not set
227CONFIG_ARCH_SELECT_MEMORY_MODEL=y 230CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -234,14 +237,15 @@ CONFIG_FLATMEM_MANUAL=y
234# CONFIG_SPARSEMEM_MANUAL is not set 237# CONFIG_SPARSEMEM_MANUAL is not set
235CONFIG_FLATMEM=y 238CONFIG_FLATMEM=y
236CONFIG_FLAT_NODE_MEM_MAP=y 239CONFIG_FLAT_NODE_MEM_MAP=y
237# CONFIG_SPARSEMEM_STATIC is not set
238CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 240CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
239CONFIG_PAGEFLAGS_EXTENDED=y 241CONFIG_PAGEFLAGS_EXTENDED=y
240CONFIG_SPLIT_PTLOCK_CPUS=4 242CONFIG_SPLIT_PTLOCK_CPUS=4
241# CONFIG_MIGRATION is not set 243# CONFIG_MIGRATION is not set
242CONFIG_RESOURCES_64BIT=y 244CONFIG_RESOURCES_64BIT=y
245CONFIG_PHYS_ADDR_T_64BIT=y
243CONFIG_ZONE_DMA_FLAG=1 246CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
248CONFIG_UNEVICTABLE_LRU=y
245# CONFIG_PPC_HAS_HASH_64K is not set 249# CONFIG_PPC_HAS_HASH_64K is not set
246# CONFIG_PPC_64K_PAGES is not set 250# CONFIG_PPC_64K_PAGES is not set
247CONFIG_FORCE_MAX_ZONEORDER=13 251CONFIG_FORCE_MAX_ZONEORDER=13
@@ -265,11 +269,12 @@ CONFIG_PCI_SYSCALL=y
265# CONFIG_PCIEPORTBUS is not set 269# CONFIG_PCIEPORTBUS is not set
266CONFIG_ARCH_SUPPORTS_MSI=y 270CONFIG_ARCH_SUPPORTS_MSI=y
267CONFIG_PCI_MSI=y 271CONFIG_PCI_MSI=y
268CONFIG_PCI_LEGACY=y 272# CONFIG_PCI_LEGACY is not set
269# CONFIG_PCI_DEBUG is not set 273# CONFIG_PCI_DEBUG is not set
270# CONFIG_PCCARD is not set 274# CONFIG_PCCARD is not set
271# CONFIG_HOTPLUG_PCI is not set 275# CONFIG_HOTPLUG_PCI is not set
272# CONFIG_HAS_RAPIDIO is not set 276# CONFIG_HAS_RAPIDIO is not set
277# CONFIG_RELOCATABLE is not set
273CONFIG_PAGE_OFFSET=0xc000000000000000 278CONFIG_PAGE_OFFSET=0xc000000000000000
274CONFIG_KERNEL_START=0xc000000000000000 279CONFIG_KERNEL_START=0xc000000000000000
275CONFIG_PHYSICAL_START=0x00000000 280CONFIG_PHYSICAL_START=0x00000000
@@ -323,6 +328,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
323# CONFIG_TIPC is not set 328# CONFIG_TIPC is not set
324# CONFIG_ATM is not set 329# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set 330# CONFIG_BRIDGE is not set
331# CONFIG_NET_DSA is not set
326# CONFIG_VLAN_8021Q is not set 332# CONFIG_VLAN_8021Q is not set
327# CONFIG_DECNET is not set 333# CONFIG_DECNET is not set
328# CONFIG_LLC2 is not set 334# CONFIG_LLC2 is not set
@@ -344,14 +350,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_IRDA is not set 350# CONFIG_IRDA is not set
345# CONFIG_BT is not set 351# CONFIG_BT is not set
346# CONFIG_AF_RXRPC is not set 352# CONFIG_AF_RXRPC is not set
347 353# CONFIG_PHONET is not set
348# 354# CONFIG_WIRELESS is not set
349# Wireless
350#
351# CONFIG_CFG80211 is not set
352# CONFIG_WIRELESS_EXT is not set
353# CONFIG_MAC80211 is not set
354# CONFIG_IEEE80211 is not set
355# CONFIG_RFKILL is not set 355# CONFIG_RFKILL is not set
356# CONFIG_NET_9P is not set 356# CONFIG_NET_9P is not set
357 357
@@ -402,19 +402,18 @@ CONFIG_MISC_DEVICES=y
402# CONFIG_HP_ILO is not set 402# CONFIG_HP_ILO is not set
403CONFIG_HAVE_IDE=y 403CONFIG_HAVE_IDE=y
404CONFIG_IDE=y 404CONFIG_IDE=y
405CONFIG_BLK_DEV_IDE=y
406 405
407# 406#
408# Please see Documentation/ide/ide.txt for help/info on IDE drives 407# Please see Documentation/ide/ide.txt for help/info on IDE drives
409# 408#
410CONFIG_IDE_TIMINGS=y 409CONFIG_IDE_TIMINGS=y
411# CONFIG_BLK_DEV_IDE_SATA is not set 410# CONFIG_BLK_DEV_IDE_SATA is not set
412CONFIG_BLK_DEV_IDEDISK=y 411CONFIG_IDE_GD=y
413# CONFIG_IDEDISK_MULTI_MODE is not set 412CONFIG_IDE_GD_ATA=y
413# CONFIG_IDE_GD_ATAPI is not set
414CONFIG_BLK_DEV_IDECD=y 414CONFIG_BLK_DEV_IDECD=y
415CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 415CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
416# CONFIG_BLK_DEV_IDETAPE is not set 416# CONFIG_BLK_DEV_IDETAPE is not set
417# CONFIG_BLK_DEV_IDEFLOPPY is not set
418# CONFIG_BLK_DEV_IDESCSI is not set 417# CONFIG_BLK_DEV_IDESCSI is not set
419CONFIG_IDE_TASK_IOCTL=y 418CONFIG_IDE_TASK_IOCTL=y
420CONFIG_IDE_PROC_FS=y 419CONFIG_IDE_PROC_FS=y
@@ -644,6 +643,9 @@ CONFIG_MII=y
644# CONFIG_IBM_NEW_EMAC_RGMII is not set 643# CONFIG_IBM_NEW_EMAC_RGMII is not set
645# CONFIG_IBM_NEW_EMAC_TAH is not set 644# CONFIG_IBM_NEW_EMAC_TAH is not set
646# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 645# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
646# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
647# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
648# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
647CONFIG_NET_PCI=y 649CONFIG_NET_PCI=y
648# CONFIG_PCNET32 is not set 650# CONFIG_PCNET32 is not set
649CONFIG_AMD8111_ETH=y 651CONFIG_AMD8111_ETH=y
@@ -664,11 +666,11 @@ CONFIG_AMD8111_ETH=y
664# CONFIG_TLAN is not set 666# CONFIG_TLAN is not set
665# CONFIG_VIA_RHINE is not set 667# CONFIG_VIA_RHINE is not set
666# CONFIG_SC92031 is not set 668# CONFIG_SC92031 is not set
669# CONFIG_ATL2 is not set
667CONFIG_NETDEV_1000=y 670CONFIG_NETDEV_1000=y
668# CONFIG_ACENIC is not set 671# CONFIG_ACENIC is not set
669# CONFIG_DL2K is not set 672# CONFIG_DL2K is not set
670CONFIG_E1000=y 673CONFIG_E1000=y
671# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
672# CONFIG_E1000E is not set 674# CONFIG_E1000E is not set
673# CONFIG_IP1000 is not set 675# CONFIG_IP1000 is not set
674# CONFIG_IGB is not set 676# CONFIG_IGB is not set
@@ -685,18 +687,22 @@ CONFIG_TIGON3=y
685# CONFIG_QLA3XXX is not set 687# CONFIG_QLA3XXX is not set
686# CONFIG_ATL1 is not set 688# CONFIG_ATL1 is not set
687# CONFIG_ATL1E is not set 689# CONFIG_ATL1E is not set
690# CONFIG_JME is not set
688CONFIG_NETDEV_10000=y 691CONFIG_NETDEV_10000=y
689# CONFIG_CHELSIO_T1 is not set 692# CONFIG_CHELSIO_T1 is not set
690# CONFIG_CHELSIO_T3 is not set 693# CONFIG_CHELSIO_T3 is not set
694# CONFIG_ENIC is not set
691# CONFIG_IXGBE is not set 695# CONFIG_IXGBE is not set
692# CONFIG_IXGB is not set 696# CONFIG_IXGB is not set
693# CONFIG_S2IO is not set 697# CONFIG_S2IO is not set
694# CONFIG_MYRI10GE is not set 698# CONFIG_MYRI10GE is not set
695# CONFIG_NETXEN_NIC is not set 699# CONFIG_NETXEN_NIC is not set
696# CONFIG_NIU is not set 700# CONFIG_NIU is not set
701# CONFIG_MLX4_EN is not set
697# CONFIG_MLX4_CORE is not set 702# CONFIG_MLX4_CORE is not set
698# CONFIG_TEHUTI is not set 703# CONFIG_TEHUTI is not set
699# CONFIG_BNX2X is not set 704# CONFIG_BNX2X is not set
705# CONFIG_QLGE is not set
700# CONFIG_SFC is not set 706# CONFIG_SFC is not set
701# CONFIG_TR is not set 707# CONFIG_TR is not set
702 708
@@ -895,6 +901,17 @@ CONFIG_SSB_POSSIBLE=y
895# CONFIG_MFD_SM501 is not set 901# CONFIG_MFD_SM501 is not set
896# CONFIG_HTC_PASIC3 is not set 902# CONFIG_HTC_PASIC3 is not set
897# CONFIG_MFD_TMIO is not set 903# CONFIG_MFD_TMIO is not set
904# CONFIG_PMIC_DA903X is not set
905# CONFIG_MFD_WM8400 is not set
906# CONFIG_MFD_WM8350_I2C is not set
907
908#
909# Voltage and Current regulators
910#
911# CONFIG_REGULATOR is not set
912# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
913# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
914# CONFIG_REGULATOR_BQ24022 is not set
898 915
899# 916#
900# Multimedia devices 917# Multimedia devices
@@ -942,9 +959,36 @@ CONFIG_HID=y
942# USB Input Devices 959# USB Input Devices
943# 960#
944CONFIG_USB_HID=y 961CONFIG_USB_HID=y
945# CONFIG_USB_HIDINPUT_POWERBOOK is not set 962# CONFIG_HID_PID is not set
946# CONFIG_HID_FF is not set
947# CONFIG_USB_HIDDEV is not set 963# CONFIG_USB_HIDDEV is not set
964
965#
966# Special HID drivers
967#
968CONFIG_HID_COMPAT=y
969CONFIG_HID_A4TECH=y
970CONFIG_HID_APPLE=y
971CONFIG_HID_BELKIN=y
972CONFIG_HID_BRIGHT=y
973CONFIG_HID_CHERRY=y
974CONFIG_HID_CHICONY=y
975CONFIG_HID_CYPRESS=y
976CONFIG_HID_DELL=y
977CONFIG_HID_EZKEY=y
978CONFIG_HID_GYRATION=y
979CONFIG_HID_LOGITECH=y
980# CONFIG_LOGITECH_FF is not set
981# CONFIG_LOGIRUMBLEPAD2_FF is not set
982CONFIG_HID_MICROSOFT=y
983CONFIG_HID_MONTEREY=y
984CONFIG_HID_PANTHERLORD=y
985# CONFIG_PANTHERLORD_FF is not set
986CONFIG_HID_PETALYNX=y
987CONFIG_HID_SAMSUNG=y
988CONFIG_HID_SONY=y
989CONFIG_HID_SUNPLUS=y
990# CONFIG_THRUSTMASTER_FF is not set
991# CONFIG_ZEROPLUS_FF is not set
948CONFIG_USB_SUPPORT=y 992CONFIG_USB_SUPPORT=y
949CONFIG_USB_ARCH_HAS_HCD=y 993CONFIG_USB_ARCH_HAS_HCD=y
950CONFIG_USB_ARCH_HAS_OHCI=y 994CONFIG_USB_ARCH_HAS_OHCI=y
@@ -961,6 +1005,8 @@ CONFIG_USB_DEVICE_CLASS=y
961# CONFIG_USB_DYNAMIC_MINORS is not set 1005# CONFIG_USB_DYNAMIC_MINORS is not set
962# CONFIG_USB_OTG is not set 1006# CONFIG_USB_OTG is not set
963CONFIG_USB_MON=y 1007CONFIG_USB_MON=y
1008# CONFIG_USB_WUSB is not set
1009# CONFIG_USB_WUSB_CBAF is not set
964 1010
965# 1011#
966# USB Host Controller Drivers 1012# USB Host Controller Drivers
@@ -980,6 +1026,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
980CONFIG_USB_UHCI_HCD=y 1026CONFIG_USB_UHCI_HCD=y
981# CONFIG_USB_SL811_HCD is not set 1027# CONFIG_USB_SL811_HCD is not set
982# CONFIG_USB_R8A66597_HCD is not set 1028# CONFIG_USB_R8A66597_HCD is not set
1029# CONFIG_USB_WHCI_HCD is not set
1030# CONFIG_USB_HWA_HCD is not set
983 1031
984# 1032#
985# USB Device Class drivers 1033# USB Device Class drivers
@@ -987,6 +1035,7 @@ CONFIG_USB_UHCI_HCD=y
987# CONFIG_USB_ACM is not set 1035# CONFIG_USB_ACM is not set
988# CONFIG_USB_PRINTER is not set 1036# CONFIG_USB_PRINTER is not set
989# CONFIG_USB_WDM is not set 1037# CONFIG_USB_WDM is not set
1038# CONFIG_USB_TMC is not set
990 1039
991# 1040#
992# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1041# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1070,6 +1119,7 @@ CONFIG_USB_SERIAL_TI=m
1070# CONFIG_USB_EMI62 is not set 1119# CONFIG_USB_EMI62 is not set
1071# CONFIG_USB_EMI26 is not set 1120# CONFIG_USB_EMI26 is not set
1072# CONFIG_USB_ADUTUX is not set 1121# CONFIG_USB_ADUTUX is not set
1122# CONFIG_USB_SEVSEG is not set
1073# CONFIG_USB_RIO500 is not set 1123# CONFIG_USB_RIO500 is not set
1074# CONFIG_USB_LEGOTOWER is not set 1124# CONFIG_USB_LEGOTOWER is not set
1075# CONFIG_USB_LCD is not set 1125# CONFIG_USB_LCD is not set
@@ -1087,7 +1137,9 @@ CONFIG_USB_SERIAL_TI=m
1087# CONFIG_USB_IOWARRIOR is not set 1137# CONFIG_USB_IOWARRIOR is not set
1088# CONFIG_USB_TEST is not set 1138# CONFIG_USB_TEST is not set
1089# CONFIG_USB_ISIGHTFW is not set 1139# CONFIG_USB_ISIGHTFW is not set
1140# CONFIG_USB_VST is not set
1090# CONFIG_USB_GADGET is not set 1141# CONFIG_USB_GADGET is not set
1142# CONFIG_UWB is not set
1091# CONFIG_MMC is not set 1143# CONFIG_MMC is not set
1092# CONFIG_MEMSTICK is not set 1144# CONFIG_MEMSTICK is not set
1093# CONFIG_NEW_LEDS is not set 1145# CONFIG_NEW_LEDS is not set
@@ -1097,6 +1149,7 @@ CONFIG_USB_SERIAL_TI=m
1097# CONFIG_RTC_CLASS is not set 1149# CONFIG_RTC_CLASS is not set
1098# CONFIG_DMADEVICES is not set 1150# CONFIG_DMADEVICES is not set
1099# CONFIG_UIO is not set 1151# CONFIG_UIO is not set
1152# CONFIG_STAGING is not set
1100 1153
1101# 1154#
1102# File systems 1155# File systems
@@ -1104,15 +1157,23 @@ CONFIG_USB_SERIAL_TI=m
1104CONFIG_EXT2_FS=y 1157CONFIG_EXT2_FS=y
1105# CONFIG_EXT2_FS_XATTR is not set 1158# CONFIG_EXT2_FS_XATTR is not set
1106CONFIG_EXT2_FS_XIP=y 1159CONFIG_EXT2_FS_XIP=y
1107CONFIG_FS_XIP=y
1108CONFIG_EXT3_FS=y 1160CONFIG_EXT3_FS=y
1109# CONFIG_EXT3_FS_XATTR is not set 1161# CONFIG_EXT3_FS_XATTR is not set
1110# CONFIG_EXT4DEV_FS is not set 1162CONFIG_EXT4_FS=y
1163# CONFIG_EXT4DEV_COMPAT is not set
1164CONFIG_EXT4_FS_XATTR=y
1165# CONFIG_EXT4_FS_POSIX_ACL is not set
1166# CONFIG_EXT4_FS_SECURITY is not set
1167CONFIG_FS_XIP=y
1111CONFIG_JBD=y 1168CONFIG_JBD=y
1112# CONFIG_JBD_DEBUG is not set 1169# CONFIG_JBD_DEBUG is not set
1170CONFIG_JBD2=y
1171# CONFIG_JBD2_DEBUG is not set
1172CONFIG_FS_MBCACHE=y
1113# CONFIG_REISERFS_FS is not set 1173# CONFIG_REISERFS_FS is not set
1114# CONFIG_JFS_FS is not set 1174# CONFIG_JFS_FS is not set
1115CONFIG_FS_POSIX_ACL=y 1175CONFIG_FS_POSIX_ACL=y
1176CONFIG_FILE_LOCKING=y
1116# CONFIG_XFS_FS is not set 1177# CONFIG_XFS_FS is not set
1117# CONFIG_GFS2_FS is not set 1178# CONFIG_GFS2_FS is not set
1118# CONFIG_OCFS2_FS is not set 1179# CONFIG_OCFS2_FS is not set
@@ -1146,6 +1207,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1146CONFIG_PROC_FS=y 1207CONFIG_PROC_FS=y
1147CONFIG_PROC_KCORE=y 1208CONFIG_PROC_KCORE=y
1148CONFIG_PROC_SYSCTL=y 1209CONFIG_PROC_SYSCTL=y
1210CONFIG_PROC_PAGE_MONITOR=y
1149CONFIG_SYSFS=y 1211CONFIG_SYSFS=y
1150CONFIG_TMPFS=y 1212CONFIG_TMPFS=y
1151# CONFIG_TMPFS_POSIX_ACL is not set 1213# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1185,6 +1247,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1185CONFIG_NFS_COMMON=y 1247CONFIG_NFS_COMMON=y
1186CONFIG_SUNRPC=y 1248CONFIG_SUNRPC=y
1187CONFIG_SUNRPC_GSS=y 1249CONFIG_SUNRPC_GSS=y
1250# CONFIG_SUNRPC_REGISTER_V4 is not set
1188CONFIG_RPCSEC_GSS_KRB5=y 1251CONFIG_RPCSEC_GSS_KRB5=y
1189# CONFIG_RPCSEC_GSS_SPKM3 is not set 1252# CONFIG_RPCSEC_GSS_SPKM3 is not set
1190# CONFIG_SMB_FS is not set 1253# CONFIG_SMB_FS is not set
@@ -1260,9 +1323,8 @@ CONFIG_NLS_UTF8=y
1260# Library routines 1323# Library routines
1261# 1324#
1262CONFIG_BITREVERSE=y 1325CONFIG_BITREVERSE=y
1263# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1264CONFIG_CRC_CCITT=y 1326CONFIG_CRC_CCITT=y
1265# CONFIG_CRC16 is not set 1327CONFIG_CRC16=y
1266CONFIG_CRC_T10DIF=y 1328CONFIG_CRC_T10DIF=y
1267# CONFIG_CRC_ITU_T is not set 1329# CONFIG_CRC_ITU_T is not set
1268CONFIG_CRC32=y 1330CONFIG_CRC32=y
@@ -1315,21 +1377,28 @@ CONFIG_DEBUG_BUGVERBOSE=y
1315CONFIG_DEBUG_MEMORY_INIT=y 1377CONFIG_DEBUG_MEMORY_INIT=y
1316# CONFIG_DEBUG_LIST is not set 1378# CONFIG_DEBUG_LIST is not set
1317# CONFIG_DEBUG_SG is not set 1379# CONFIG_DEBUG_SG is not set
1318CONFIG_FRAME_POINTER=y
1319# CONFIG_BOOT_PRINTK_DELAY is not set 1380# CONFIG_BOOT_PRINTK_DELAY is not set
1320# CONFIG_RCU_TORTURE_TEST is not set 1381# CONFIG_RCU_TORTURE_TEST is not set
1382# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1321# CONFIG_KPROBES_SANITY_TEST is not set 1383# CONFIG_KPROBES_SANITY_TEST is not set
1322# CONFIG_BACKTRACE_SELF_TEST is not set 1384# CONFIG_BACKTRACE_SELF_TEST is not set
1385# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1323# CONFIG_LKDTM is not set 1386# CONFIG_LKDTM is not set
1324# CONFIG_FAULT_INJECTION is not set 1387# CONFIG_FAULT_INJECTION is not set
1325CONFIG_LATENCYTOP=y 1388CONFIG_LATENCYTOP=y
1326# CONFIG_SYSCTL_SYSCALL_CHECK is not set 1389# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1327CONFIG_HAVE_FTRACE=y 1390CONFIG_HAVE_FUNCTION_TRACER=y
1328CONFIG_HAVE_DYNAMIC_FTRACE=y 1391
1329# CONFIG_FTRACE is not set 1392#
1393# Tracers
1394#
1395# CONFIG_FUNCTION_TRACER is not set
1330# CONFIG_IRQSOFF_TRACER is not set 1396# CONFIG_IRQSOFF_TRACER is not set
1331# CONFIG_SCHED_TRACER is not set 1397# CONFIG_SCHED_TRACER is not set
1332# CONFIG_CONTEXT_SWITCH_TRACER is not set 1398# CONFIG_CONTEXT_SWITCH_TRACER is not set
1399# CONFIG_BOOT_TRACER is not set
1400# CONFIG_STACK_TRACER is not set
1401CONFIG_DYNAMIC_PRINTK_DEBUG=y
1333# CONFIG_SAMPLES is not set 1402# CONFIG_SAMPLES is not set
1334CONFIG_HAVE_ARCH_KGDB=y 1403CONFIG_HAVE_ARCH_KGDB=y
1335# CONFIG_KGDB is not set 1404# CONFIG_KGDB is not set
@@ -1338,6 +1407,7 @@ CONFIG_DEBUG_STACK_USAGE=y
1338# CONFIG_DEBUG_PAGEALLOC is not set 1407# CONFIG_DEBUG_PAGEALLOC is not set
1339# CONFIG_CODE_PATCHING_SELFTEST is not set 1408# CONFIG_CODE_PATCHING_SELFTEST is not set
1340# CONFIG_FTR_FIXUP_SELFTEST is not set 1409# CONFIG_FTR_FIXUP_SELFTEST is not set
1410# CONFIG_MSI_BITMAP_SELFTEST is not set
1341CONFIG_XMON=y 1411CONFIG_XMON=y
1342CONFIG_XMON_DEFAULT=y 1412CONFIG_XMON_DEFAULT=y
1343CONFIG_XMON_DISASSEMBLY=y 1413CONFIG_XMON_DISASSEMBLY=y
@@ -1352,14 +1422,19 @@ CONFIG_BOOTX_TEXT=y
1352# 1422#
1353# CONFIG_KEYS is not set 1423# CONFIG_KEYS is not set
1354# CONFIG_SECURITY is not set 1424# CONFIG_SECURITY is not set
1425# CONFIG_SECURITYFS is not set
1355# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1426# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1356CONFIG_CRYPTO=y 1427CONFIG_CRYPTO=y
1357 1428
1358# 1429#
1359# Crypto core or helper 1430# Crypto core or helper
1360# 1431#
1432# CONFIG_CRYPTO_FIPS is not set
1361CONFIG_CRYPTO_ALGAPI=y 1433CONFIG_CRYPTO_ALGAPI=y
1434CONFIG_CRYPTO_AEAD=y
1362CONFIG_CRYPTO_BLKCIPHER=y 1435CONFIG_CRYPTO_BLKCIPHER=y
1436CONFIG_CRYPTO_HASH=y
1437CONFIG_CRYPTO_RNG=y
1363CONFIG_CRYPTO_MANAGER=y 1438CONFIG_CRYPTO_MANAGER=y
1364# CONFIG_CRYPTO_GF128MUL is not set 1439# CONFIG_CRYPTO_GF128MUL is not set
1365# CONFIG_CRYPTO_NULL is not set 1440# CONFIG_CRYPTO_NULL is not set
@@ -1432,6 +1507,11 @@ CONFIG_CRYPTO_DES=y
1432# 1507#
1433# CONFIG_CRYPTO_DEFLATE is not set 1508# CONFIG_CRYPTO_DEFLATE is not set
1434# CONFIG_CRYPTO_LZO is not set 1509# CONFIG_CRYPTO_LZO is not set
1510
1511#
1512# Random Number Generation
1513#
1514# CONFIG_CRYPTO_ANSI_CPRNG is not set
1435# CONFIG_CRYPTO_HW is not set 1515# CONFIG_CRYPTO_HW is not set
1436# CONFIG_PPC_CLOCK is not set 1516# CONFIG_PPC_CLOCK is not set
1437# CONFIG_VIRTUALIZATION is not set 1517# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index cc9eaba8c9c9..8d3c62324009 100644
--- a/arch/powerpc/configs/mgcoge_defconfig
+++ b/arch/powerpc/configs/mgcoge_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.28-rc3
4# Thu May 22 08:18:47 2008 4# Sat Nov 8 12:39:38 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -15,13 +15,14 @@ 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
21# CONFIG_SMP is not set 22# CONFIG_SMP is not set
22CONFIG_PPC32=y 23CONFIG_PPC32=y
23CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
24CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
25CONFIG_MMU=y 26CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -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"
@@ -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
@@ -99,17 +104,22 @@ CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y 104CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 105CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 106CONFIG_SHMEM=y
107CONFIG_AIO=y
102CONFIG_VM_EVENT_COUNTERS=y 108CONFIG_VM_EVENT_COUNTERS=y
109CONFIG_PCI_QUIRKS=y
103CONFIG_SLAB=y 110CONFIG_SLAB=y
104# CONFIG_SLUB is not set 111# CONFIG_SLUB is not set
105# CONFIG_SLOB is not set 112# CONFIG_SLOB is not set
106# CONFIG_PROFILING is not set 113# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set 114# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y 115CONFIG_HAVE_OPROFILE=y
116CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
117CONFIG_HAVE_IOREMAP_PROT=y
109CONFIG_HAVE_KPROBES=y 118CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y 119CONFIG_HAVE_KRETPROBES=y
111# CONFIG_HAVE_DMA_ATTRS is not set 120CONFIG_HAVE_ARCH_TRACEHOOK=y
112CONFIG_PROC_PAGE_MONITOR=y 121CONFIG_HAVE_CLK=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
113CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set 125# CONFIG_TINY_SHMEM is not set
@@ -119,6 +129,7 @@ CONFIG_BLOCK=y
119# CONFIG_LBD is not set 129# CONFIG_LBD is not set
120# CONFIG_BLK_DEV_IO_TRACE is not set 130# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set 131# CONFIG_LSF is not set
132# CONFIG_BLK_DEV_INTEGRITY is not set
122 133
123# 134#
124# IO Schedulers 135# IO Schedulers
@@ -133,18 +144,21 @@ CONFIG_DEFAULT_DEADLINE=y
133# CONFIG_DEFAULT_NOOP is not set 144# CONFIG_DEFAULT_NOOP is not set
134CONFIG_DEFAULT_IOSCHED="deadline" 145CONFIG_DEFAULT_IOSCHED="deadline"
135CONFIG_CLASSIC_RCU=y 146CONFIG_CLASSIC_RCU=y
147# CONFIG_FREEZER is not set
136 148
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
148# CONFIG_MPC8272_ADS is not set 162# CONFIG_MPC8272_ADS is not set
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,28 @@ CONFIG_MGCOGE=y
152# CONFIG_PQ2ADS is not set 166# CONFIG_PQ2ADS is not set
153CONFIG_8260=y 167CONFIG_8260=y
154CONFIG_8272=y 168CONFIG_8272=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
189# CONFIG_QUICC_ENGINE is not set
166CONFIG_CPM2=y 190CONFIG_CPM2=y
167CONFIG_PPC_CPM_NEW_BINDING=y
168# CONFIG_FSL_ULI1575 is not set 191# CONFIG_FSL_ULI1575 is not set
169CONFIG_CPM=y 192CONFIG_CPM=y
170 193
@@ -172,7 +195,6 @@ CONFIG_CPM=y
172# Kernel options 195# Kernel options
173# 196#
174# CONFIG_HIGHMEM is not set 197# CONFIG_HIGHMEM is not set
175# CONFIG_TICK_ONESHOT is not set
176# CONFIG_NO_HZ is not set 198# CONFIG_NO_HZ is not set
177# CONFIG_HIGH_RES_TIMERS is not set 199# CONFIG_HIGH_RES_TIMERS is not set
178CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 200CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -186,6 +208,8 @@ CONFIG_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
188CONFIG_BINFMT_ELF=y 210CONFIG_BINFMT_ELF=y
211# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
212# CONFIG_HAVE_AOUT is not set
189CONFIG_BINFMT_MISC=y 213CONFIG_BINFMT_MISC=y
190# CONFIG_IOMMU_HELPER is not set 214# CONFIG_IOMMU_HELPER is not set
191CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -195,17 +219,19 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
195CONFIG_ARCH_POPULATES_NODE_MAP=y 219CONFIG_ARCH_POPULATES_NODE_MAP=y
196CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
197CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
198# CONFIG_SPARSEMEM_STATIC is not set
199# 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
226# CONFIG_PHYS_ADDR_T_64BIT is not set
203CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
204CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
205CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
206CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
207CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
208# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
234CONFIG_EXTRA_TARGETS=""
209# CONFIG_PM is not set 235# CONFIG_PM is not set
210# CONFIG_SECCOMP is not set 236# CONFIG_SECCOMP is not set
211CONFIG_ISA_DMA_API=y 237CONFIG_ISA_DMA_API=y
@@ -213,13 +239,22 @@ CONFIG_ISA_DMA_API=y
213# 239#
214# Bus options 240# Bus options
215# 241#
242# CONFIG_ISA is not set
216CONFIG_ZONE_DMA=y 243CONFIG_ZONE_DMA=y
244CONFIG_PPC_INDIRECT_PCI=y
217CONFIG_FSL_SOC=y 245CONFIG_FSL_SOC=y
218# CONFIG_PCI is not set 246CONFIG_PPC_PCI_CHOICE=y
219# CONFIG_PCI_DOMAINS is not set 247CONFIG_PCI=y
220# CONFIG_PCI_SYSCALL is not set 248CONFIG_PCI_DOMAINS=y
221# CONFIG_ARCH_SUPPORTS_MSI is not set 249CONFIG_PCI_SYSCALL=y
250CONFIG_PCI_8260=y
251# CONFIG_PCIEPORTBUS is not set
252CONFIG_ARCH_SUPPORTS_MSI=y
253# CONFIG_PCI_MSI is not set
254# CONFIG_PCI_LEGACY is not set
255# CONFIG_PCI_DEBUG is not set
222# CONFIG_PCCARD is not set 256# CONFIG_PCCARD is not set
257# CONFIG_HOTPLUG_PCI is not set
223# CONFIG_HAS_RAPIDIO is not set 258# CONFIG_HAS_RAPIDIO is not set
224 259
225# 260#
@@ -235,10 +270,6 @@ CONFIG_PAGE_OFFSET=0xc0000000
235CONFIG_KERNEL_START=0xc0000000 270CONFIG_KERNEL_START=0xc0000000
236CONFIG_PHYSICAL_START=0x00000000 271CONFIG_PHYSICAL_START=0x00000000
237CONFIG_TASK_SIZE=0xc0000000 272CONFIG_TASK_SIZE=0xc0000000
238
239#
240# Networking
241#
242CONFIG_NET=y 273CONFIG_NET=y
243 274
244# 275#
@@ -276,7 +307,6 @@ CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 307# CONFIG_TCP_CONG_ADVANCED is not set
277CONFIG_TCP_CONG_CUBIC=y 308CONFIG_TCP_CONG_CUBIC=y
278CONFIG_DEFAULT_TCP_CONG="cubic" 309CONFIG_DEFAULT_TCP_CONG="cubic"
279# CONFIG_IP_VS is not set
280# CONFIG_IPV6 is not set 310# CONFIG_IPV6 is not set
281# CONFIG_NETWORK_SECMARK is not set 311# CONFIG_NETWORK_SECMARK is not set
282CONFIG_NETFILTER=y 312CONFIG_NETFILTER=y
@@ -290,10 +320,12 @@ CONFIG_NETFILTER_ADVANCED=y
290# CONFIG_NETFILTER_NETLINK_LOG is not set 320# CONFIG_NETFILTER_NETLINK_LOG is not set
291# CONFIG_NF_CONNTRACK is not set 321# CONFIG_NF_CONNTRACK is not set
292# CONFIG_NETFILTER_XTABLES is not set 322# CONFIG_NETFILTER_XTABLES is not set
323# CONFIG_IP_VS is not set
293 324
294# 325#
295# IP: Netfilter Configuration 326# IP: Netfilter Configuration
296# 327#
328# CONFIG_NF_DEFRAG_IPV4 is not set
297# CONFIG_IP_NF_QUEUE is not set 329# CONFIG_IP_NF_QUEUE is not set
298# CONFIG_IP_NF_IPTABLES is not set 330# CONFIG_IP_NF_IPTABLES is not set
299# CONFIG_IP_NF_ARPTABLES is not set 331# CONFIG_IP_NF_ARPTABLES is not set
@@ -314,11 +346,10 @@ CONFIG_NETFILTER_ADVANCED=y
314# CONFIG_CAN is not set 346# CONFIG_CAN is not set
315# CONFIG_IRDA is not set 347# CONFIG_IRDA is not set
316# CONFIG_BT is not set 348# CONFIG_BT is not set
317 349# CONFIG_PHONET is not set
318# 350CONFIG_WIRELESS=y
319# Wireless
320#
321# CONFIG_CFG80211 is not set 351# CONFIG_CFG80211 is not set
352CONFIG_WIRELESS_OLD_REGULATORY=y
322# CONFIG_WIRELESS_EXT is not set 353# CONFIG_WIRELESS_EXT is not set
323# CONFIG_MAC80211 is not set 354# CONFIG_MAC80211 is not set
324# CONFIG_IEEE80211 is not set 355# CONFIG_IEEE80211 is not set
@@ -398,11 +429,13 @@ CONFIG_MTD_CFI_UTIL=y
398# CONFIG_MTD_COMPLEX_MAPPINGS is not set 429# CONFIG_MTD_COMPLEX_MAPPINGS is not set
399# CONFIG_MTD_PHYSMAP is not set 430# CONFIG_MTD_PHYSMAP is not set
400CONFIG_MTD_PHYSMAP_OF=y 431CONFIG_MTD_PHYSMAP_OF=y
432# CONFIG_MTD_INTEL_VR_NOR is not set
401# CONFIG_MTD_PLATRAM is not set 433# CONFIG_MTD_PLATRAM is not set
402 434
403# 435#
404# Self-contained MTD device drivers 436# Self-contained MTD device drivers
405# 437#
438# CONFIG_MTD_PMC551 is not set
406# CONFIG_MTD_SLRAM is not set 439# CONFIG_MTD_SLRAM is not set
407# CONFIG_MTD_PHRAM is not set 440# CONFIG_MTD_PHRAM is not set
408# CONFIG_MTD_MTDRAM is not set 441# CONFIG_MTD_MTDRAM is not set
@@ -422,19 +455,26 @@ CONFIG_MTD_PHYSMAP_OF=y
422# 455#
423# CONFIG_MTD_UBI is not set 456# CONFIG_MTD_UBI is not set
424CONFIG_OF_DEVICE=y 457CONFIG_OF_DEVICE=y
458CONFIG_OF_GPIO=y
425# CONFIG_PARPORT is not set 459# CONFIG_PARPORT is not set
426CONFIG_BLK_DEV=y 460CONFIG_BLK_DEV=y
427# CONFIG_BLK_DEV_FD is not set 461# CONFIG_BLK_DEV_FD is not set
462# CONFIG_MAC_FLOPPY is not set
463# CONFIG_BLK_CPQ_DA is not set
464# CONFIG_BLK_CPQ_CISS_DA is not set
465# CONFIG_BLK_DEV_DAC960 is not set
428# CONFIG_BLK_DEV_COW_COMMON is not set 466# CONFIG_BLK_DEV_COW_COMMON is not set
429CONFIG_BLK_DEV_LOOP=y 467CONFIG_BLK_DEV_LOOP=y
430# CONFIG_BLK_DEV_CRYPTOLOOP is not set 468# CONFIG_BLK_DEV_CRYPTOLOOP is not set
431# CONFIG_BLK_DEV_NBD is not set 469# CONFIG_BLK_DEV_NBD is not set
470# CONFIG_BLK_DEV_SX8 is not set
432CONFIG_BLK_DEV_RAM=y 471CONFIG_BLK_DEV_RAM=y
433CONFIG_BLK_DEV_RAM_COUNT=16 472CONFIG_BLK_DEV_RAM_COUNT=16
434CONFIG_BLK_DEV_RAM_SIZE=4096 473CONFIG_BLK_DEV_RAM_SIZE=4096
435# CONFIG_BLK_DEV_XIP is not set 474# CONFIG_BLK_DEV_XIP is not set
436# CONFIG_CDROM_PKTCDVD is not set 475# CONFIG_CDROM_PKTCDVD is not set
437# CONFIG_ATA_OVER_ETH is not set 476# CONFIG_ATA_OVER_ETH is not set
477# CONFIG_BLK_DEV_HD is not set
438# CONFIG_MISC_DEVICES is not set 478# CONFIG_MISC_DEVICES is not set
439CONFIG_HAVE_IDE=y 479CONFIG_HAVE_IDE=y
440# CONFIG_IDE is not set 480# CONFIG_IDE is not set
@@ -448,14 +488,25 @@ CONFIG_HAVE_IDE=y
448# CONFIG_SCSI_NETLINK is not set 488# CONFIG_SCSI_NETLINK is not set
449# CONFIG_ATA is not set 489# CONFIG_ATA is not set
450# CONFIG_MD is not set 490# CONFIG_MD is not set
491# CONFIG_FUSION is not set
492
493#
494# IEEE 1394 (FireWire) support
495#
496
497#
498# A new alternative FireWire stack is available with EXPERIMENTAL=y
499#
500# CONFIG_IEEE1394 is not set
501# CONFIG_I2O is not set
451# CONFIG_MACINTOSH_DRIVERS is not set 502# CONFIG_MACINTOSH_DRIVERS is not set
452CONFIG_NETDEVICES=y 503CONFIG_NETDEVICES=y
453# CONFIG_NETDEVICES_MULTIQUEUE is not set
454# CONFIG_DUMMY is not set 504# CONFIG_DUMMY is not set
455# CONFIG_BONDING is not set 505# CONFIG_BONDING is not set
456# CONFIG_EQUALIZER is not set 506# CONFIG_EQUALIZER is not set
457# CONFIG_TUN is not set 507# CONFIG_TUN is not set
458# CONFIG_VETH is not set 508# CONFIG_VETH is not set
509# CONFIG_ARCNET is not set
459CONFIG_PHYLIB=y 510CONFIG_PHYLIB=y
460 511
461# 512#
@@ -475,17 +526,31 @@ CONFIG_FIXED_PHY=y
475# CONFIG_MDIO_BITBANG is not set 526# CONFIG_MDIO_BITBANG is not set
476CONFIG_NET_ETHERNET=y 527CONFIG_NET_ETHERNET=y
477CONFIG_MII=y 528CONFIG_MII=y
529# CONFIG_MACE is not set
530# CONFIG_BMAC is not set
531# CONFIG_HAPPYMEAL is not set
532# CONFIG_SUNGEM is not set
533# CONFIG_CASSINI is not set
534# CONFIG_NET_VENDOR_3COM is not set
535# CONFIG_NET_TULIP is not set
536# CONFIG_HP100 is not set
478# CONFIG_IBM_NEW_EMAC_ZMII is not set 537# CONFIG_IBM_NEW_EMAC_ZMII is not set
479# CONFIG_IBM_NEW_EMAC_RGMII is not set 538# CONFIG_IBM_NEW_EMAC_RGMII is not set
480# CONFIG_IBM_NEW_EMAC_TAH is not set 539# CONFIG_IBM_NEW_EMAC_TAH is not set
481# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 540# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
541# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
542# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
543# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
544# CONFIG_NET_PCI is not set
482# CONFIG_B44 is not set 545# CONFIG_B44 is not set
546# CONFIG_ATL2 is not set
483CONFIG_FS_ENET=y 547CONFIG_FS_ENET=y
484CONFIG_FS_ENET_HAS_SCC=y 548CONFIG_FS_ENET_HAS_SCC=y
485# CONFIG_FS_ENET_HAS_FCC is not set 549# CONFIG_FS_ENET_HAS_FCC is not set
486# CONFIG_FS_ENET_MDIO_FCC is not set 550# CONFIG_FS_ENET_MDIO_FCC is not set
487# CONFIG_NETDEV_1000 is not set 551# CONFIG_NETDEV_1000 is not set
488# CONFIG_NETDEV_10000 is not set 552# CONFIG_NETDEV_10000 is not set
553# CONFIG_TR is not set
489 554
490# 555#
491# Wireless LAN 556# Wireless LAN
@@ -494,6 +559,7 @@ CONFIG_FS_ENET_HAS_SCC=y
494# CONFIG_WLAN_80211 is not set 559# CONFIG_WLAN_80211 is not set
495# CONFIG_IWLWIFI_LEDS is not set 560# CONFIG_IWLWIFI_LEDS is not set
496# CONFIG_WAN is not set 561# CONFIG_WAN is not set
562# CONFIG_FDDI is not set
497# CONFIG_PPP is not set 563# CONFIG_PPP is not set
498# CONFIG_SLIP is not set 564# CONFIG_SLIP is not set
499# CONFIG_NETPOLL is not set 565# CONFIG_NETPOLL is not set
@@ -530,29 +596,47 @@ CONFIG_DEVKMEM=y
530# CONFIG_SERIAL_UARTLITE is not set 596# CONFIG_SERIAL_UARTLITE is not set
531CONFIG_SERIAL_CORE=y 597CONFIG_SERIAL_CORE=y
532CONFIG_SERIAL_CORE_CONSOLE=y 598CONFIG_SERIAL_CORE_CONSOLE=y
599# CONFIG_SERIAL_PMACZILOG is not set
533CONFIG_SERIAL_CPM=y 600CONFIG_SERIAL_CPM=y
534CONFIG_SERIAL_CPM_CONSOLE=y 601CONFIG_SERIAL_CPM_CONSOLE=y
535# CONFIG_SERIAL_CPM_SCC1 is not set 602# CONFIG_SERIAL_JSM is not set
536# CONFIG_SERIAL_CPM_SCC2 is not set
537# CONFIG_SERIAL_CPM_SCC3 is not set
538# CONFIG_SERIAL_CPM_SCC4 is not set
539CONFIG_SERIAL_CPM_SMC1=y
540CONFIG_SERIAL_CPM_SMC2=y
541CONFIG_UNIX98_PTYS=y 603CONFIG_UNIX98_PTYS=y
542CONFIG_LEGACY_PTYS=y 604CONFIG_LEGACY_PTYS=y
543CONFIG_LEGACY_PTY_COUNT=256 605CONFIG_LEGACY_PTY_COUNT=256
606# CONFIG_BRIQ_PANEL is not set
607# CONFIG_HVC_RTAS is not set
544# CONFIG_IPMI_HANDLER is not set 608# CONFIG_IPMI_HANDLER is not set
545CONFIG_HW_RANDOM=y 609CONFIG_HW_RANDOM=y
546# CONFIG_NVRAM is not set 610# CONFIG_NVRAM is not set
547# CONFIG_GEN_RTC is not set 611# CONFIG_GEN_RTC is not set
548# CONFIG_R3964 is not set 612# CONFIG_R3964 is not set
613# CONFIG_APPLICOM is not set
549# CONFIG_RAW_DRIVER is not set 614# CONFIG_RAW_DRIVER is not set
615CONFIG_DEVPORT=y
550# CONFIG_I2C is not set 616# CONFIG_I2C is not set
551# CONFIG_SPI is not set 617# CONFIG_SPI is not set
618CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
619CONFIG_ARCH_REQUIRE_GPIOLIB=y
620CONFIG_GPIOLIB=y
621# CONFIG_DEBUG_GPIO is not set
622
623#
624# I2C GPIO expanders:
625#
626
627#
628# PCI GPIO expanders:
629#
630# CONFIG_GPIO_BT8XX is not set
631
632#
633# SPI GPIO expanders:
634#
552# CONFIG_W1 is not set 635# CONFIG_W1 is not set
553# CONFIG_POWER_SUPPLY is not set 636# CONFIG_POWER_SUPPLY is not set
554# CONFIG_HWMON is not set 637# CONFIG_HWMON is not set
555# CONFIG_THERMAL is not set 638# CONFIG_THERMAL is not set
639# CONFIG_THERMAL_HWMON is not set
556# CONFIG_WATCHDOG is not set 640# CONFIG_WATCHDOG is not set
557 641
558# 642#
@@ -564,8 +648,18 @@ CONFIG_SSB_POSSIBLE=y
564# 648#
565# Multifunction device drivers 649# Multifunction device drivers
566# 650#
651# CONFIG_MFD_CORE is not set
567# CONFIG_MFD_SM501 is not set 652# CONFIG_MFD_SM501 is not set
568# CONFIG_HTC_PASIC3 is not set 653# CONFIG_HTC_PASIC3 is not set
654# CONFIG_MFD_TMIO is not set
655
656#
657# Voltage and Current regulators
658#
659# CONFIG_REGULATOR is not set
660# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
661# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
662# CONFIG_REGULATOR_BQ24022 is not set
569 663
570# 664#
571# Multimedia devices 665# Multimedia devices
@@ -586,6 +680,8 @@ CONFIG_SSB_POSSIBLE=y
586# 680#
587# Graphics support 681# Graphics support
588# 682#
683# CONFIG_AGP is not set
684# CONFIG_DRM is not set
589# CONFIG_VGASTATE is not set 685# CONFIG_VGASTATE is not set
590# CONFIG_VIDEO_OUTPUT_CONTROL is not set 686# CONFIG_VIDEO_OUTPUT_CONTROL is not set
591# CONFIG_FB is not set 687# CONFIG_FB is not set
@@ -595,19 +691,17 @@ CONFIG_SSB_POSSIBLE=y
595# Display device support 691# Display device support
596# 692#
597# CONFIG_DISPLAY_SUPPORT is not set 693# CONFIG_DISPLAY_SUPPORT is not set
598
599#
600# Sound
601#
602# CONFIG_SOUND is not set 694# CONFIG_SOUND is not set
603# CONFIG_USB_SUPPORT is not set 695# CONFIG_USB_SUPPORT is not set
604# CONFIG_MMC is not set 696# CONFIG_MMC is not set
605# CONFIG_MEMSTICK is not set 697# CONFIG_MEMSTICK is not set
606# CONFIG_NEW_LEDS is not set 698# CONFIG_NEW_LEDS is not set
607# CONFIG_ACCESSIBILITY is not set 699# CONFIG_ACCESSIBILITY is not set
700# CONFIG_INFINIBAND is not set
608# CONFIG_RTC_CLASS is not set 701# CONFIG_RTC_CLASS is not set
609# CONFIG_DMADEVICES is not set 702# CONFIG_DMADEVICES is not set
610# CONFIG_UIO is not set 703# CONFIG_UIO is not set
704# CONFIG_STAGING is not set
611 705
612# 706#
613# File systems 707# File systems
@@ -617,11 +711,13 @@ CONFIG_EXT2_FS=y
617# CONFIG_EXT2_FS_XIP is not set 711# CONFIG_EXT2_FS_XIP is not set
618CONFIG_EXT3_FS=y 712CONFIG_EXT3_FS=y
619# CONFIG_EXT3_FS_XATTR is not set 713# CONFIG_EXT3_FS_XATTR is not set
714# CONFIG_EXT4_FS is not set
620CONFIG_JBD=y 715CONFIG_JBD=y
621# CONFIG_JBD_DEBUG is not set 716# CONFIG_JBD_DEBUG is not set
622# CONFIG_REISERFS_FS is not set 717# CONFIG_REISERFS_FS is not set
623# CONFIG_JFS_FS is not set 718# CONFIG_JFS_FS is not set
624# CONFIG_FS_POSIX_ACL is not set 719# CONFIG_FS_POSIX_ACL is not set
720CONFIG_FILE_LOCKING=y
625# CONFIG_XFS_FS is not set 721# CONFIG_XFS_FS is not set
626# CONFIG_OCFS2_FS is not set 722# CONFIG_OCFS2_FS is not set
627CONFIG_DNOTIFY=y 723CONFIG_DNOTIFY=y
@@ -651,6 +747,7 @@ CONFIG_AUTOFS4_FS=y
651CONFIG_PROC_FS=y 747CONFIG_PROC_FS=y
652CONFIG_PROC_KCORE=y 748CONFIG_PROC_KCORE=y
653CONFIG_PROC_SYSCTL=y 749CONFIG_PROC_SYSCTL=y
750CONFIG_PROC_PAGE_MONITOR=y
654CONFIG_SYSFS=y 751CONFIG_SYSFS=y
655CONFIG_TMPFS=y 752CONFIG_TMPFS=y
656# CONFIG_TMPFS_POSIX_ACL is not set 753# CONFIG_TMPFS_POSIX_ACL is not set
@@ -673,6 +770,7 @@ CONFIG_JFFS2_RTIME=y
673CONFIG_CRAMFS=y 770CONFIG_CRAMFS=y
674# CONFIG_VXFS_FS is not set 771# CONFIG_VXFS_FS is not set
675# CONFIG_MINIX_FS is not set 772# CONFIG_MINIX_FS is not set
773# CONFIG_OMFS_FS is not set
676# CONFIG_HPFS_FS is not set 774# CONFIG_HPFS_FS is not set
677# CONFIG_QNX4FS_FS is not set 775# CONFIG_QNX4FS_FS is not set
678# CONFIG_ROMFS_FS is not set 776# CONFIG_ROMFS_FS is not set
@@ -682,8 +780,8 @@ CONFIG_NETWORK_FILESYSTEMS=y
682CONFIG_NFS_FS=y 780CONFIG_NFS_FS=y
683CONFIG_NFS_V3=y 781CONFIG_NFS_V3=y
684# CONFIG_NFS_V3_ACL is not set 782# CONFIG_NFS_V3_ACL is not set
685# CONFIG_NFSD is not set
686CONFIG_ROOT_NFS=y 783CONFIG_ROOT_NFS=y
784# CONFIG_NFSD is not set
687CONFIG_LOCKD=y 785CONFIG_LOCKD=y
688CONFIG_LOCKD_V4=y 786CONFIG_LOCKD_V4=y
689CONFIG_NFS_COMMON=y 787CONFIG_NFS_COMMON=y
@@ -759,9 +857,9 @@ CONFIG_NLS_UTF8=y
759# Library routines 857# Library routines
760# 858#
761CONFIG_BITREVERSE=y 859CONFIG_BITREVERSE=y
762# CONFIG_GENERIC_FIND_FIRST_BIT is not set
763# CONFIG_CRC_CCITT is not set 860# CONFIG_CRC_CCITT is not set
764# CONFIG_CRC16 is not set 861# CONFIG_CRC16 is not set
862# CONFIG_CRC_T10DIF is not set
765# CONFIG_CRC_ITU_T is not set 863# CONFIG_CRC_ITU_T is not set
766CONFIG_CRC32=y 864CONFIG_CRC32=y
767# CONFIG_CRC7 is not set 865# CONFIG_CRC7 is not set
@@ -804,20 +902,41 @@ CONFIG_DEBUG_BUGVERBOSE=y
804CONFIG_DEBUG_INFO=y 902CONFIG_DEBUG_INFO=y
805# CONFIG_DEBUG_VM is not set 903# CONFIG_DEBUG_VM is not set
806# CONFIG_DEBUG_WRITECOUNT is not set 904# CONFIG_DEBUG_WRITECOUNT is not set
905# CONFIG_DEBUG_MEMORY_INIT is not set
807# CONFIG_DEBUG_LIST is not set 906# CONFIG_DEBUG_LIST is not set
808# CONFIG_DEBUG_SG is not set 907# CONFIG_DEBUG_SG is not set
809# CONFIG_BOOT_PRINTK_DELAY is not set 908# CONFIG_BOOT_PRINTK_DELAY is not set
909# CONFIG_RCU_TORTURE_TEST is not set
910# CONFIG_RCU_CPU_STALL_DETECTOR is not set
810# CONFIG_BACKTRACE_SELF_TEST is not set 911# CONFIG_BACKTRACE_SELF_TEST is not set
912# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
811# CONFIG_FAULT_INJECTION is not set 913# CONFIG_FAULT_INJECTION is not set
914# CONFIG_LATENCYTOP is not set
915CONFIG_SYSCTL_SYSCALL_CHECK=y
916CONFIG_HAVE_FUNCTION_TRACER=y
917
918#
919# Tracers
920#
921# CONFIG_FUNCTION_TRACER is not set
922# CONFIG_SCHED_TRACER is not set
923# CONFIG_CONTEXT_SWITCH_TRACER is not set
924# CONFIG_BOOT_TRACER is not set
925# CONFIG_STACK_TRACER is not set
926# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
812# CONFIG_SAMPLES is not set 927# CONFIG_SAMPLES is not set
928CONFIG_HAVE_ARCH_KGDB=y
813# CONFIG_DEBUG_STACKOVERFLOW is not set 929# CONFIG_DEBUG_STACKOVERFLOW is not set
814# CONFIG_DEBUG_STACK_USAGE is not set 930# CONFIG_DEBUG_STACK_USAGE is not set
815# CONFIG_DEBUG_PAGEALLOC is not set 931# CONFIG_DEBUG_PAGEALLOC is not set
816# CONFIG_DEBUGGER is not set 932# CONFIG_CODE_PATCHING_SELFTEST is not set
817# CONFIG_KGDB_CONSOLE is not set 933# CONFIG_FTR_FIXUP_SELFTEST is not set
934# CONFIG_MSI_BITMAP_SELFTEST is not set
935# CONFIG_XMON is not set
818# CONFIG_IRQSTACKS is not set 936# CONFIG_IRQSTACKS is not set
819# CONFIG_VIRQ_DEBUG is not set 937# CONFIG_VIRQ_DEBUG is not set
820CONFIG_BDI_SWITCH=y 938CONFIG_BDI_SWITCH=y
939# CONFIG_BOOTX_TEXT is not set
821# CONFIG_PPC_EARLY_DEBUG is not set 940# CONFIG_PPC_EARLY_DEBUG is not set
822 941
823# 942#
@@ -825,13 +944,19 @@ CONFIG_BDI_SWITCH=y
825# 944#
826# CONFIG_KEYS is not set 945# CONFIG_KEYS is not set
827# CONFIG_SECURITY is not set 946# CONFIG_SECURITY is not set
947# CONFIG_SECURITYFS is not set
948# CONFIG_SECURITY_FILE_CAPABILITIES is not set
828CONFIG_CRYPTO=y 949CONFIG_CRYPTO=y
829 950
830# 951#
831# Crypto core or helper 952# Crypto core or helper
832# 953#
954# CONFIG_CRYPTO_FIPS is not set
833CONFIG_CRYPTO_ALGAPI=y 955CONFIG_CRYPTO_ALGAPI=y
956CONFIG_CRYPTO_AEAD=y
834CONFIG_CRYPTO_BLKCIPHER=y 957CONFIG_CRYPTO_BLKCIPHER=y
958CONFIG_CRYPTO_HASH=y
959CONFIG_CRYPTO_RNG=y
835CONFIG_CRYPTO_MANAGER=y 960CONFIG_CRYPTO_MANAGER=y
836# CONFIG_CRYPTO_NULL is not set 961# CONFIG_CRYPTO_NULL is not set
837# CONFIG_CRYPTO_CRYPTD is not set 962# CONFIG_CRYPTO_CRYPTD is not set
@@ -865,6 +990,10 @@ CONFIG_CRYPTO_PCBC=y
865# CONFIG_CRYPTO_MD4 is not set 990# CONFIG_CRYPTO_MD4 is not set
866CONFIG_CRYPTO_MD5=y 991CONFIG_CRYPTO_MD5=y
867# CONFIG_CRYPTO_MICHAEL_MIC is not set 992# CONFIG_CRYPTO_MICHAEL_MIC is not set
993# CONFIG_CRYPTO_RMD128 is not set
994# CONFIG_CRYPTO_RMD160 is not set
995# CONFIG_CRYPTO_RMD256 is not set
996# CONFIG_CRYPTO_RMD320 is not set
868# CONFIG_CRYPTO_SHA1 is not set 997# CONFIG_CRYPTO_SHA1 is not set
869# CONFIG_CRYPTO_SHA256 is not set 998# CONFIG_CRYPTO_SHA256 is not set
870# CONFIG_CRYPTO_SHA512 is not set 999# CONFIG_CRYPTO_SHA512 is not set
@@ -894,7 +1023,12 @@ CONFIG_CRYPTO_DES=y
894# 1023#
895# CONFIG_CRYPTO_DEFLATE is not set 1024# CONFIG_CRYPTO_DEFLATE is not set
896# CONFIG_CRYPTO_LZO is not set 1025# CONFIG_CRYPTO_LZO is not set
1026
1027#
1028# Random Number Generation
1029#
1030# CONFIG_CRYPTO_ANSI_CPRNG is not set
897# CONFIG_CRYPTO_HW is not set 1031# CONFIG_CRYPTO_HW is not set
898# CONFIG_PPC_CLOCK is not set 1032CONFIG_PPC_CLOCK=y
899CONFIG_PPC_LIB_RHEAP=y 1033CONFIG_PPC_LIB_RHEAP=y
900# CONFIG_VIRTUALIZATION is not set 1034# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index 3cd6ce4be827..fbaa67f7b0ef 100644
--- a/arch/powerpc/configs/mgsuvd_defconfig
+++ b/arch/powerpc/configs/mgsuvd_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.28-rc3
4# Wed May 21 13:30:33 2008 4# Sat Nov 8 12:39:39 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_8xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -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
@@ -99,6 +100,7 @@ CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y 100CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 102CONFIG_SHMEM=y
103CONFIG_AIO=y
102# CONFIG_VM_EVENT_COUNTERS is not set 104# CONFIG_VM_EVENT_COUNTERS is not set
103CONFIG_SLAB=y 105CONFIG_SLAB=y
104# CONFIG_SLUB is not set 106# CONFIG_SLUB is not set
@@ -106,10 +108,13 @@ CONFIG_SLAB=y
106# CONFIG_PROFILING is not set 108# CONFIG_PROFILING is not set
107# CONFIG_MARKERS is not set 109# CONFIG_MARKERS is not set
108CONFIG_HAVE_OPROFILE=y 110CONFIG_HAVE_OPROFILE=y
111CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
112CONFIG_HAVE_IOREMAP_PROT=y
109CONFIG_HAVE_KPROBES=y 113CONFIG_HAVE_KPROBES=y
110CONFIG_HAVE_KRETPROBES=y 114CONFIG_HAVE_KRETPROBES=y
111# CONFIG_HAVE_DMA_ATTRS is not set 115CONFIG_HAVE_ARCH_TRACEHOOK=y
112CONFIG_PROC_PAGE_MONITOR=y 116CONFIG_HAVE_CLK=y
117# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
113CONFIG_SLABINFO=y 118CONFIG_SLABINFO=y
114CONFIG_RT_MUTEXES=y 119CONFIG_RT_MUTEXES=y
115# CONFIG_TINY_SHMEM is not set 120# CONFIG_TINY_SHMEM is not set
@@ -120,6 +125,7 @@ CONFIG_BLOCK=y
120# CONFIG_BLK_DEV_IO_TRACE is not set 125# CONFIG_BLK_DEV_IO_TRACE is not set
121# CONFIG_LSF is not set 126# CONFIG_LSF is not set
122# CONFIG_BLK_DEV_BSG is not set 127# CONFIG_BLK_DEV_BSG is not set
128# CONFIG_BLK_DEV_INTEGRITY is not set
123 129
124# 130#
125# IO Schedulers 131# IO Schedulers
@@ -134,12 +140,11 @@ CONFIG_DEFAULT_AS=y
134# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
135CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
136CONFIG_CLASSIC_RCU=y 142CONFIG_CLASSIC_RCU=y
143# CONFIG_FREEZER is not set
137 144
138# 145#
139# Platform support 146# Platform support
140# 147#
141# CONFIG_PPC_MPC512x is not set
142# CONFIG_PPC_MPC5121 is not set
143# CONFIG_PPC_CELL is not set 148# CONFIG_PPC_CELL is not set
144# CONFIG_PPC_CELL_NATIVE is not set 149# CONFIG_PPC_CELL_NATIVE is not set
145CONFIG_CPM1=y 150CONFIG_CPM1=y
@@ -158,6 +163,7 @@ CONFIG_PPC_MGSUVD=y
158# Generic MPC8xx Options 163# Generic MPC8xx Options
159# 164#
160CONFIG_8xx_COPYBACK=y 165CONFIG_8xx_COPYBACK=y
166# CONFIG_8xx_GPIO is not set
161CONFIG_8xx_CPU6=y 167CONFIG_8xx_CPU6=y
162CONFIG_8xx_CPU15=y 168CONFIG_8xx_CPU15=y
163# CONFIG_NO_UCODE_PATCH is not set 169# CONFIG_NO_UCODE_PATCH is not set
@@ -177,7 +183,7 @@ CONFIG_UCODE_PATCH=y
177# CONFIG_PPC_INDIRECT_IO is not set 183# CONFIG_PPC_INDIRECT_IO is not set
178# CONFIG_GENERIC_IOMAP is not set 184# CONFIG_GENERIC_IOMAP is not set
179# CONFIG_CPU_FREQ is not set 185# CONFIG_CPU_FREQ is not set
180CONFIG_PPC_CPM_NEW_BINDING=y 186# CONFIG_QUICC_ENGINE is not set
181# CONFIG_FSL_ULI1575 is not set 187# CONFIG_FSL_ULI1575 is not set
182CONFIG_CPM=y 188CONFIG_CPM=y
183 189
@@ -185,7 +191,6 @@ CONFIG_CPM=y
185# Kernel options 191# Kernel options
186# 192#
187# CONFIG_HIGHMEM is not set 193# CONFIG_HIGHMEM is not set
188# CONFIG_TICK_ONESHOT is not set
189# CONFIG_NO_HZ is not set 194# CONFIG_NO_HZ is not set
190# CONFIG_HIGH_RES_TIMERS is not set 195# CONFIG_HIGH_RES_TIMERS is not set
191CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 196CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -199,6 +204,8 @@ CONFIG_PREEMPT_NONE=y
199# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
200# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
201CONFIG_BINFMT_ELF=y 206CONFIG_BINFMT_ELF=y
207# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
208# CONFIG_HAVE_AOUT is not set
202# CONFIG_BINFMT_MISC is not set 209# CONFIG_BINFMT_MISC is not set
203CONFIG_MATH_EMULATION=y 210CONFIG_MATH_EMULATION=y
204# CONFIG_IOMMU_HELPER is not set 211# CONFIG_IOMMU_HELPER is not set
@@ -213,17 +220,19 @@ CONFIG_FLATMEM_MANUAL=y
213# CONFIG_SPARSEMEM_MANUAL is not set 220# CONFIG_SPARSEMEM_MANUAL is not set
214CONFIG_FLATMEM=y 221CONFIG_FLATMEM=y
215CONFIG_FLAT_NODE_MEM_MAP=y 222CONFIG_FLAT_NODE_MEM_MAP=y
216# CONFIG_SPARSEMEM_STATIC is not set
217# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
218CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
219CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y
220# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
227# CONFIG_PHYS_ADDR_T_64BIT is not set
221CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
222CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
223CONFIG_VIRT_TO_BUS=y 230CONFIG_VIRT_TO_BUS=y
231CONFIG_UNEVICTABLE_LRU=y
224CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
225# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
226# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
235CONFIG_EXTRA_TARGETS=""
227# CONFIG_PM is not set 236# CONFIG_PM is not set
228# CONFIG_SECCOMP is not set 237# CONFIG_SECCOMP is not set
229CONFIG_ISA_DMA_API=y 238CONFIG_ISA_DMA_API=y
@@ -255,10 +264,6 @@ CONFIG_PHYSICAL_START=0x00000000
255CONFIG_TASK_SIZE=0x80000000 264CONFIG_TASK_SIZE=0x80000000
256CONFIG_CONSISTENT_START=0xfd000000 265CONFIG_CONSISTENT_START=0xfd000000
257CONFIG_CONSISTENT_SIZE=0x00200000 266CONFIG_CONSISTENT_SIZE=0x00200000
258
259#
260# Networking
261#
262CONFIG_NET=y 267CONFIG_NET=y
263 268
264# 269#
@@ -309,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_TIPC is not set 314# CONFIG_TIPC is not set
310# CONFIG_ATM is not set 315# CONFIG_ATM is not set
311# CONFIG_BRIDGE is not set 316# CONFIG_BRIDGE is not set
317# CONFIG_NET_DSA is not set
312# CONFIG_VLAN_8021Q is not set 318# CONFIG_VLAN_8021Q is not set
313# CONFIG_DECNET is not set 319# CONFIG_DECNET is not set
314# CONFIG_LLC2 is not set 320# CONFIG_LLC2 is not set
@@ -329,11 +335,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_IRDA is not set 335# CONFIG_IRDA is not set
330# CONFIG_BT is not set 336# CONFIG_BT is not set
331# CONFIG_AF_RXRPC is not set 337# CONFIG_AF_RXRPC is not set
332 338# CONFIG_PHONET is not set
333# 339CONFIG_WIRELESS=y
334# Wireless
335#
336# CONFIG_CFG80211 is not set 340# CONFIG_CFG80211 is not set
341CONFIG_WIRELESS_OLD_REGULATORY=y
337# CONFIG_WIRELESS_EXT is not set 342# CONFIG_WIRELESS_EXT is not set
338# CONFIG_MAC80211 is not set 343# CONFIG_MAC80211 is not set
339# CONFIG_IEEE80211 is not set 344# CONFIG_IEEE80211 is not set
@@ -447,6 +452,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
447# CONFIG_BLK_DEV_XIP is not set 452# CONFIG_BLK_DEV_XIP is not set
448# CONFIG_CDROM_PKTCDVD is not set 453# CONFIG_CDROM_PKTCDVD is not set
449# CONFIG_ATA_OVER_ETH is not set 454# CONFIG_ATA_OVER_ETH is not set
455# CONFIG_BLK_DEV_HD is not set
450# CONFIG_MISC_DEVICES is not set 456# CONFIG_MISC_DEVICES is not set
451CONFIG_HAVE_IDE=y 457CONFIG_HAVE_IDE=y
452# CONFIG_IDE is not set 458# CONFIG_IDE is not set
@@ -462,7 +468,6 @@ CONFIG_HAVE_IDE=y
462# CONFIG_MD is not set 468# CONFIG_MD is not set
463# CONFIG_MACINTOSH_DRIVERS is not set 469# CONFIG_MACINTOSH_DRIVERS is not set
464CONFIG_NETDEVICES=y 470CONFIG_NETDEVICES=y
465# CONFIG_NETDEVICES_MULTIQUEUE is not set
466# CONFIG_DUMMY is not set 471# CONFIG_DUMMY is not set
467# CONFIG_BONDING is not set 472# CONFIG_BONDING is not set
468# CONFIG_MACVLAN is not set 473# CONFIG_MACVLAN is not set
@@ -492,6 +497,9 @@ CONFIG_MII=y
492# CONFIG_IBM_NEW_EMAC_RGMII is not set 497# CONFIG_IBM_NEW_EMAC_RGMII is not set
493# CONFIG_IBM_NEW_EMAC_TAH is not set 498# CONFIG_IBM_NEW_EMAC_TAH is not set
494# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 499# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
500# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
501# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
502# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
495# CONFIG_B44 is not set 503# CONFIG_B44 is not set
496CONFIG_FS_ENET=y 504CONFIG_FS_ENET=y
497CONFIG_FS_ENET_HAS_SCC=y 505CONFIG_FS_ENET_HAS_SCC=y
@@ -546,12 +554,6 @@ CONFIG_SERIAL_CORE=y
546CONFIG_SERIAL_CORE_CONSOLE=y 554CONFIG_SERIAL_CORE_CONSOLE=y
547CONFIG_SERIAL_CPM=y 555CONFIG_SERIAL_CPM=y
548CONFIG_SERIAL_CPM_CONSOLE=y 556CONFIG_SERIAL_CPM_CONSOLE=y
549# CONFIG_SERIAL_CPM_SCC1 is not set
550# CONFIG_SERIAL_CPM_SCC2 is not set
551# CONFIG_SERIAL_CPM_SCC3 is not set
552# CONFIG_SERIAL_CPM_SCC4 is not set
553CONFIG_SERIAL_CPM_SMC1=y
554# CONFIG_SERIAL_CPM_SMC2 is not set
555CONFIG_UNIX98_PTYS=y 557CONFIG_UNIX98_PTYS=y
556# CONFIG_LEGACY_PTYS is not set 558# CONFIG_LEGACY_PTYS is not set
557# CONFIG_IPMI_HANDLER is not set 559# CONFIG_IPMI_HANDLER is not set
@@ -564,10 +566,13 @@ CONFIG_GEN_RTC=y
564# CONFIG_TCG_TPM is not set 566# CONFIG_TCG_TPM is not set
565# CONFIG_I2C is not set 567# CONFIG_I2C is not set
566# CONFIG_SPI is not set 568# CONFIG_SPI is not set
569CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
570# CONFIG_GPIOLIB is not set
567# CONFIG_W1 is not set 571# CONFIG_W1 is not set
568# CONFIG_POWER_SUPPLY is not set 572# CONFIG_POWER_SUPPLY is not set
569# CONFIG_HWMON is not set 573# CONFIG_HWMON is not set
570# CONFIG_THERMAL is not set 574# CONFIG_THERMAL is not set
575# CONFIG_THERMAL_HWMON is not set
571# CONFIG_WATCHDOG is not set 576# CONFIG_WATCHDOG is not set
572 577
573# 578#
@@ -579,8 +584,18 @@ CONFIG_SSB_POSSIBLE=y
579# 584#
580# Multifunction device drivers 585# Multifunction device drivers
581# 586#
587# CONFIG_MFD_CORE is not set
582# CONFIG_MFD_SM501 is not set 588# CONFIG_MFD_SM501 is not set
583# CONFIG_HTC_PASIC3 is not set 589# CONFIG_HTC_PASIC3 is not set
590# CONFIG_MFD_TMIO is not set
591
592#
593# Voltage and Current regulators
594#
595# CONFIG_REGULATOR is not set
596# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
597# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
598# CONFIG_REGULATOR_BQ24022 is not set
584 599
585# 600#
586# Multimedia devices 601# Multimedia devices
@@ -610,10 +625,6 @@ CONFIG_SSB_POSSIBLE=y
610# Display device support 625# Display device support
611# 626#
612# CONFIG_DISPLAY_SUPPORT is not set 627# CONFIG_DISPLAY_SUPPORT is not set
613
614#
615# Sound
616#
617# CONFIG_SOUND is not set 628# CONFIG_SOUND is not set
618# CONFIG_USB_SUPPORT is not set 629# CONFIG_USB_SUPPORT is not set
619# CONFIG_MMC is not set 630# CONFIG_MMC is not set
@@ -624,6 +635,7 @@ CONFIG_SSB_POSSIBLE=y
624# CONFIG_RTC_CLASS is not set 635# CONFIG_RTC_CLASS is not set
625# CONFIG_DMADEVICES is not set 636# CONFIG_DMADEVICES is not set
626# CONFIG_UIO is not set 637# CONFIG_UIO is not set
638# CONFIG_STAGING is not set
627 639
628# 640#
629# File systems 641# File systems
@@ -637,13 +649,14 @@ CONFIG_EXT3_FS=y
637CONFIG_EXT3_FS_XATTR=y 649CONFIG_EXT3_FS_XATTR=y
638# CONFIG_EXT3_FS_POSIX_ACL is not set 650# CONFIG_EXT3_FS_POSIX_ACL is not set
639# CONFIG_EXT3_FS_SECURITY is not set 651# CONFIG_EXT3_FS_SECURITY is not set
640# CONFIG_EXT4DEV_FS is not set 652# CONFIG_EXT4_FS is not set
641CONFIG_JBD=y 653CONFIG_JBD=y
642# CONFIG_JBD_DEBUG is not set 654# CONFIG_JBD_DEBUG is not set
643CONFIG_FS_MBCACHE=y 655CONFIG_FS_MBCACHE=y
644# CONFIG_REISERFS_FS is not set 656# CONFIG_REISERFS_FS is not set
645# CONFIG_JFS_FS is not set 657# CONFIG_JFS_FS is not set
646# CONFIG_FS_POSIX_ACL is not set 658# CONFIG_FS_POSIX_ACL is not set
659CONFIG_FILE_LOCKING=y
647# CONFIG_XFS_FS is not set 660# CONFIG_XFS_FS is not set
648# CONFIG_OCFS2_FS is not set 661# CONFIG_OCFS2_FS is not set
649CONFIG_DNOTIFY=y 662CONFIG_DNOTIFY=y
@@ -673,6 +686,7 @@ CONFIG_INOTIFY_USER=y
673CONFIG_PROC_FS=y 686CONFIG_PROC_FS=y
674# CONFIG_PROC_KCORE is not set 687# CONFIG_PROC_KCORE is not set
675CONFIG_PROC_SYSCTL=y 688CONFIG_PROC_SYSCTL=y
689CONFIG_PROC_PAGE_MONITOR=y
676CONFIG_SYSFS=y 690CONFIG_SYSFS=y
677CONFIG_TMPFS=y 691CONFIG_TMPFS=y
678# CONFIG_TMPFS_POSIX_ACL is not set 692# CONFIG_TMPFS_POSIX_ACL is not set
@@ -703,6 +717,7 @@ CONFIG_JFFS2_RTIME=y
703CONFIG_CRAMFS=y 717CONFIG_CRAMFS=y
704# CONFIG_VXFS_FS is not set 718# CONFIG_VXFS_FS is not set
705# CONFIG_MINIX_FS is not set 719# CONFIG_MINIX_FS is not set
720# CONFIG_OMFS_FS is not set
706# CONFIG_HPFS_FS is not set 721# CONFIG_HPFS_FS is not set
707# CONFIG_QNX4FS_FS is not set 722# CONFIG_QNX4FS_FS is not set
708# CONFIG_ROMFS_FS is not set 723# CONFIG_ROMFS_FS is not set
@@ -713,13 +728,13 @@ CONFIG_NFS_FS=y
713CONFIG_NFS_V3=y 728CONFIG_NFS_V3=y
714# CONFIG_NFS_V3_ACL is not set 729# CONFIG_NFS_V3_ACL is not set
715# CONFIG_NFS_V4 is not set 730# CONFIG_NFS_V4 is not set
716# CONFIG_NFSD is not set
717CONFIG_ROOT_NFS=y 731CONFIG_ROOT_NFS=y
732# CONFIG_NFSD is not set
718CONFIG_LOCKD=y 733CONFIG_LOCKD=y
719CONFIG_LOCKD_V4=y 734CONFIG_LOCKD_V4=y
720CONFIG_NFS_COMMON=y 735CONFIG_NFS_COMMON=y
721CONFIG_SUNRPC=y 736CONFIG_SUNRPC=y
722# CONFIG_SUNRPC_BIND34 is not set 737# CONFIG_SUNRPC_REGISTER_V4 is not set
723# CONFIG_RPCSEC_GSS_KRB5 is not set 738# CONFIG_RPCSEC_GSS_KRB5 is not set
724# CONFIG_RPCSEC_GSS_SPKM3 is not set 739# CONFIG_RPCSEC_GSS_SPKM3 is not set
725# CONFIG_SMB_FS is not set 740# CONFIG_SMB_FS is not set
@@ -756,9 +771,9 @@ CONFIG_MSDOS_PARTITION=y
756# Library routines 771# Library routines
757# 772#
758CONFIG_BITREVERSE=y 773CONFIG_BITREVERSE=y
759# CONFIG_GENERIC_FIND_FIRST_BIT is not set
760CONFIG_CRC_CCITT=y 774CONFIG_CRC_CCITT=y
761# CONFIG_CRC16 is not set 775# CONFIG_CRC16 is not set
776# CONFIG_CRC_T10DIF is not set
762# CONFIG_CRC_ITU_T is not set 777# CONFIG_CRC_ITU_T is not set
763CONFIG_CRC32=y 778CONFIG_CRC32=y
764# CONFIG_CRC7 is not set 779# CONFIG_CRC7 is not set
@@ -783,7 +798,17 @@ CONFIG_FRAME_WARN=1024
783CONFIG_DEBUG_FS=y 798CONFIG_DEBUG_FS=y
784# CONFIG_HEADERS_CHECK is not set 799# CONFIG_HEADERS_CHECK is not set
785# CONFIG_DEBUG_KERNEL is not set 800# CONFIG_DEBUG_KERNEL is not set
801# CONFIG_DEBUG_MEMORY_INIT is not set
802# CONFIG_RCU_CPU_STALL_DETECTOR is not set
803# CONFIG_LATENCYTOP is not set
804CONFIG_HAVE_FUNCTION_TRACER=y
805
806#
807# Tracers
808#
809# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
786# CONFIG_SAMPLES is not set 810# CONFIG_SAMPLES is not set
811CONFIG_HAVE_ARCH_KGDB=y
787# CONFIG_IRQSTACKS is not set 812# CONFIG_IRQSTACKS is not set
788# CONFIG_VIRQ_DEBUG is not set 813# CONFIG_VIRQ_DEBUG is not set
789# CONFIG_PPC_EARLY_DEBUG is not set 814# CONFIG_PPC_EARLY_DEBUG is not set
@@ -793,12 +818,14 @@ CONFIG_DEBUG_FS=y
793# 818#
794# CONFIG_KEYS is not set 819# CONFIG_KEYS is not set
795# CONFIG_SECURITY is not set 820# CONFIG_SECURITY is not set
821# CONFIG_SECURITYFS is not set
796# CONFIG_SECURITY_FILE_CAPABILITIES is not set 822# CONFIG_SECURITY_FILE_CAPABILITIES is not set
797CONFIG_CRYPTO=y 823CONFIG_CRYPTO=y
798 824
799# 825#
800# Crypto core or helper 826# Crypto core or helper
801# 827#
828# CONFIG_CRYPTO_FIPS is not set
802# CONFIG_CRYPTO_MANAGER is not set 829# CONFIG_CRYPTO_MANAGER is not set
803# CONFIG_CRYPTO_GF128MUL is not set 830# CONFIG_CRYPTO_GF128MUL is not set
804# CONFIG_CRYPTO_NULL is not set 831# CONFIG_CRYPTO_NULL is not set
@@ -836,6 +863,10 @@ CONFIG_CRYPTO=y
836# CONFIG_CRYPTO_MD4 is not set 863# CONFIG_CRYPTO_MD4 is not set
837# CONFIG_CRYPTO_MD5 is not set 864# CONFIG_CRYPTO_MD5 is not set
838# CONFIG_CRYPTO_MICHAEL_MIC is not set 865# CONFIG_CRYPTO_MICHAEL_MIC is not set
866# CONFIG_CRYPTO_RMD128 is not set
867# CONFIG_CRYPTO_RMD160 is not set
868# CONFIG_CRYPTO_RMD256 is not set
869# CONFIG_CRYPTO_RMD320 is not set
839# CONFIG_CRYPTO_SHA1 is not set 870# CONFIG_CRYPTO_SHA1 is not set
840# CONFIG_CRYPTO_SHA256 is not set 871# CONFIG_CRYPTO_SHA256 is not set
841# CONFIG_CRYPTO_SHA512 is not set 872# CONFIG_CRYPTO_SHA512 is not set
@@ -866,7 +897,13 @@ CONFIG_CRYPTO=y
866# 897#
867# CONFIG_CRYPTO_DEFLATE is not set 898# CONFIG_CRYPTO_DEFLATE is not set
868# CONFIG_CRYPTO_LZO is not set 899# CONFIG_CRYPTO_LZO is not set
900
901#
902# Random Number Generation
903#
904# CONFIG_CRYPTO_ANSI_CPRNG is not set
869CONFIG_CRYPTO_HW=y 905CONFIG_CRYPTO_HW=y
870# CONFIG_PPC_CLOCK is not set 906# CONFIG_CRYPTO_DEV_TALITOS is not set
907CONFIG_PPC_CLOCK=y
871CONFIG_PPC_LIB_RHEAP=y 908CONFIG_PPC_LIB_RHEAP=y
872# CONFIG_VIRTUALIZATION is not set 909# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index ab5199f26a24..f80b1ca43afb 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:06 2008 4# Sat Nov 8 12:39:40 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -104,7 +104,9 @@ CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 104CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 105CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 106CONFIG_SHMEM=y
107CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 108CONFIG_VM_EVENT_COUNTERS=y
109CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 110CONFIG_SLUB_DEBUG=y
109# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
110CONFIG_SLUB=y 112CONFIG_SLUB=y
@@ -117,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 119CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 120CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y 121CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122# CONFIG_HAVE_CLK is not set
123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 123CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 124CONFIG_RT_MUTEXES=y
@@ -147,6 +145,7 @@ CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_NOOP is not set 145# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 146CONFIG_DEFAULT_IOSCHED="anticipatory"
149CONFIG_CLASSIC_RCU=y 147CONFIG_CLASSIC_RCU=y
148# CONFIG_FREEZER is not set
150 149
151# 150#
152# Platform support 151# Platform support
@@ -204,6 +203,8 @@ CONFIG_PREEMPT_NONE=y
204# CONFIG_PREEMPT_VOLUNTARY is not set 203# CONFIG_PREEMPT_VOLUNTARY is not set
205# CONFIG_PREEMPT is not set 204# CONFIG_PREEMPT is not set
206CONFIG_BINFMT_ELF=y 205CONFIG_BINFMT_ELF=y
206# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
207# CONFIG_HAVE_AOUT is not set
207CONFIG_BINFMT_MISC=y 208CONFIG_BINFMT_MISC=y
208# CONFIG_IOMMU_HELPER is not set 209# CONFIG_IOMMU_HELPER is not set
209CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 210CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -218,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y
218# CONFIG_SPARSEMEM_MANUAL is not set 219# CONFIG_SPARSEMEM_MANUAL is not set
219CONFIG_FLATMEM=y 220CONFIG_FLATMEM=y
220CONFIG_FLAT_NODE_MEM_MAP=y 221CONFIG_FLAT_NODE_MEM_MAP=y
221# CONFIG_SPARSEMEM_STATIC is not set
222# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
223CONFIG_PAGEFLAGS_EXTENDED=y 222CONFIG_PAGEFLAGS_EXTENDED=y
224CONFIG_SPLIT_PTLOCK_CPUS=4 223CONFIG_SPLIT_PTLOCK_CPUS=4
225CONFIG_MIGRATION=y 224CONFIG_MIGRATION=y
226# CONFIG_RESOURCES_64BIT is not set 225# CONFIG_RESOURCES_64BIT is not set
226# CONFIG_PHYS_ADDR_T_64BIT is not set
227CONFIG_ZONE_DMA_FLAG=1 227CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 228CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 229CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y
230CONFIG_FORCE_MAX_ZONEORDER=11 231CONFIG_FORCE_MAX_ZONEORDER=11
231CONFIG_PROC_DEVICETREE=y 232CONFIG_PROC_DEVICETREE=y
232# CONFIG_CMDLINE_BOOL is not set 233# CONFIG_CMDLINE_BOOL is not set
@@ -247,7 +248,7 @@ CONFIG_PCI_SYSCALL=y
247# CONFIG_PCIEPORTBUS is not set 248# CONFIG_PCIEPORTBUS is not set
248CONFIG_ARCH_SUPPORTS_MSI=y 249CONFIG_ARCH_SUPPORTS_MSI=y
249# CONFIG_PCI_MSI is not set 250# CONFIG_PCI_MSI is not set
250CONFIG_PCI_LEGACY=y 251# CONFIG_PCI_LEGACY is not set
251# CONFIG_PCCARD is not set 252# CONFIG_PCCARD is not set
252# CONFIG_HOTPLUG_PCI is not set 253# CONFIG_HOTPLUG_PCI is not set
253# CONFIG_HAS_RAPIDIO is not set 254# CONFIG_HAS_RAPIDIO is not set
@@ -315,6 +316,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
315# CONFIG_TIPC is not set 316# CONFIG_TIPC is not set
316# CONFIG_ATM is not set 317# CONFIG_ATM is not set
317# CONFIG_BRIDGE is not set 318# CONFIG_BRIDGE is not set
319# CONFIG_NET_DSA is not set
318# CONFIG_VLAN_8021Q is not set 320# CONFIG_VLAN_8021Q is not set
319# CONFIG_DECNET is not set 321# CONFIG_DECNET is not set
320# CONFIG_LLC2 is not set 322# CONFIG_LLC2 is not set
@@ -335,11 +337,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
335# CONFIG_IRDA is not set 337# CONFIG_IRDA is not set
336# CONFIG_BT is not set 338# CONFIG_BT is not set
337# CONFIG_AF_RXRPC is not set 339# CONFIG_AF_RXRPC is not set
338 340# CONFIG_PHONET is not set
339# 341CONFIG_WIRELESS=y
340# Wireless
341#
342# CONFIG_CFG80211 is not set 342# CONFIG_CFG80211 is not set
343CONFIG_WIRELESS_OLD_REGULATORY=y
343# CONFIG_WIRELESS_EXT is not set 344# CONFIG_WIRELESS_EXT is not set
344# CONFIG_MAC80211 is not set 345# CONFIG_MAC80211 is not set
345# CONFIG_IEEE80211 is not set 346# CONFIG_IEEE80211 is not set
@@ -576,6 +577,9 @@ CONFIG_MII=y
576# CONFIG_IBM_NEW_EMAC_RGMII is not set 577# CONFIG_IBM_NEW_EMAC_RGMII is not set
577# CONFIG_IBM_NEW_EMAC_TAH is not set 578# CONFIG_IBM_NEW_EMAC_TAH is not set
578# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 579# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
580# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
581# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
582# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
579CONFIG_NET_PCI=y 583CONFIG_NET_PCI=y
580# CONFIG_PCNET32 is not set 584# CONFIG_PCNET32 is not set
581# CONFIG_AMD8111_ETH is not set 585# CONFIG_AMD8111_ETH is not set
@@ -600,6 +604,7 @@ CONFIG_8139TOO=y
600# CONFIG_TLAN is not set 604# CONFIG_TLAN is not set
601# CONFIG_VIA_RHINE is not set 605# CONFIG_VIA_RHINE is not set
602# CONFIG_SC92031 is not set 606# CONFIG_SC92031 is not set
607# CONFIG_ATL2 is not set
603CONFIG_NETDEV_1000=y 608CONFIG_NETDEV_1000=y
604# CONFIG_ACENIC is not set 609# CONFIG_ACENIC is not set
605# CONFIG_DL2K is not set 610# CONFIG_DL2K is not set
@@ -622,18 +627,22 @@ CONFIG_TSI108_ETH=y
622# CONFIG_QLA3XXX is not set 627# CONFIG_QLA3XXX is not set
623# CONFIG_ATL1 is not set 628# CONFIG_ATL1 is not set
624# CONFIG_ATL1E is not set 629# CONFIG_ATL1E is not set
630# CONFIG_JME is not set
625CONFIG_NETDEV_10000=y 631CONFIG_NETDEV_10000=y
626# CONFIG_CHELSIO_T1 is not set 632# CONFIG_CHELSIO_T1 is not set
627# CONFIG_CHELSIO_T3 is not set 633# CONFIG_CHELSIO_T3 is not set
634# CONFIG_ENIC is not set
628# CONFIG_IXGBE is not set 635# CONFIG_IXGBE is not set
629# CONFIG_IXGB is not set 636# CONFIG_IXGB is not set
630# CONFIG_S2IO is not set 637# CONFIG_S2IO is not set
631# CONFIG_MYRI10GE is not set 638# CONFIG_MYRI10GE is not set
632# CONFIG_NETXEN_NIC is not set 639# CONFIG_NETXEN_NIC is not set
633# CONFIG_NIU is not set 640# CONFIG_NIU is not set
641# CONFIG_MLX4_EN is not set
634# CONFIG_MLX4_CORE is not set 642# CONFIG_MLX4_CORE is not set
635# CONFIG_TEHUTI is not set 643# CONFIG_TEHUTI is not set
636# CONFIG_BNX2X is not set 644# CONFIG_BNX2X is not set
645# CONFIG_QLGE is not set
637# CONFIG_SFC is not set 646# CONFIG_SFC is not set
638# CONFIG_TR is not set 647# CONFIG_TR is not set
639 648
@@ -767,6 +776,14 @@ CONFIG_SSB_POSSIBLE=y
767# CONFIG_MFD_TMIO is not set 776# CONFIG_MFD_TMIO is not set
768 777
769# 778#
779# Voltage and Current regulators
780#
781# CONFIG_REGULATOR is not set
782# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
783# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
784# CONFIG_REGULATOR_BQ24022 is not set
785
786#
770# Multimedia devices 787# Multimedia devices
771# 788#
772 789
@@ -801,6 +818,12 @@ CONFIG_HID_SUPPORT=y
801CONFIG_HID=y 818CONFIG_HID=y
802# CONFIG_HID_DEBUG is not set 819# CONFIG_HID_DEBUG is not set
803# CONFIG_HIDRAW is not set 820# CONFIG_HIDRAW is not set
821# CONFIG_HID_PID is not set
822
823#
824# Special HID drivers
825#
826CONFIG_HID_COMPAT=y
804CONFIG_USB_SUPPORT=y 827CONFIG_USB_SUPPORT=y
805CONFIG_USB_ARCH_HAS_HCD=y 828CONFIG_USB_ARCH_HAS_HCD=y
806CONFIG_USB_ARCH_HAS_OHCI=y 829CONFIG_USB_ARCH_HAS_OHCI=y
@@ -817,6 +840,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
817# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 840# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
818# 841#
819# CONFIG_USB_GADGET is not set 842# CONFIG_USB_GADGET is not set
843# CONFIG_UWB is not set
820# CONFIG_MMC is not set 844# CONFIG_MMC is not set
821# CONFIG_MEMSTICK is not set 845# CONFIG_MEMSTICK is not set
822# CONFIG_NEW_LEDS is not set 846# CONFIG_NEW_LEDS is not set
@@ -826,6 +850,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
826# CONFIG_RTC_CLASS is not set 850# CONFIG_RTC_CLASS is not set
827# CONFIG_DMADEVICES is not set 851# CONFIG_DMADEVICES is not set
828# CONFIG_UIO is not set 852# CONFIG_UIO is not set
853# CONFIG_STAGING is not set
829 854
830# 855#
831# File systems 856# File systems
@@ -837,12 +862,13 @@ CONFIG_EXT3_FS=y
837CONFIG_EXT3_FS_XATTR=y 862CONFIG_EXT3_FS_XATTR=y
838# CONFIG_EXT3_FS_POSIX_ACL is not set 863# CONFIG_EXT3_FS_POSIX_ACL is not set
839# CONFIG_EXT3_FS_SECURITY is not set 864# CONFIG_EXT3_FS_SECURITY is not set
840# CONFIG_EXT4DEV_FS is not set 865# CONFIG_EXT4_FS is not set
841CONFIG_JBD=y 866CONFIG_JBD=y
842CONFIG_FS_MBCACHE=y 867CONFIG_FS_MBCACHE=y
843# CONFIG_REISERFS_FS is not set 868# CONFIG_REISERFS_FS is not set
844# CONFIG_JFS_FS is not set 869# CONFIG_JFS_FS is not set
845# CONFIG_FS_POSIX_ACL is not set 870# CONFIG_FS_POSIX_ACL is not set
871CONFIG_FILE_LOCKING=y
846# CONFIG_XFS_FS is not set 872# CONFIG_XFS_FS is not set
847# CONFIG_OCFS2_FS is not set 873# CONFIG_OCFS2_FS is not set
848CONFIG_DNOTIFY=y 874CONFIG_DNOTIFY=y
@@ -872,6 +898,7 @@ CONFIG_INOTIFY_USER=y
872CONFIG_PROC_FS=y 898CONFIG_PROC_FS=y
873CONFIG_PROC_KCORE=y 899CONFIG_PROC_KCORE=y
874CONFIG_PROC_SYSCTL=y 900CONFIG_PROC_SYSCTL=y
901CONFIG_PROC_PAGE_MONITOR=y
875CONFIG_SYSFS=y 902CONFIG_SYSFS=y
876CONFIG_TMPFS=y 903CONFIG_TMPFS=y
877# CONFIG_TMPFS_POSIX_ACL is not set 904# CONFIG_TMPFS_POSIX_ACL is not set
@@ -906,6 +933,7 @@ CONFIG_ROOT_NFS=y
906CONFIG_LOCKD=y 933CONFIG_LOCKD=y
907CONFIG_NFS_COMMON=y 934CONFIG_NFS_COMMON=y
908CONFIG_SUNRPC=y 935CONFIG_SUNRPC=y
936# CONFIG_SUNRPC_REGISTER_V4 is not set
909# CONFIG_RPCSEC_GSS_KRB5 is not set 937# CONFIG_RPCSEC_GSS_KRB5 is not set
910# CONFIG_RPCSEC_GSS_SPKM3 is not set 938# CONFIG_RPCSEC_GSS_SPKM3 is not set
911# CONFIG_SMB_FS is not set 939# CONFIG_SMB_FS is not set
@@ -942,7 +970,6 @@ CONFIG_MSDOS_PARTITION=y
942# Library routines 970# Library routines
943# 971#
944CONFIG_BITREVERSE=y 972CONFIG_BITREVERSE=y
945# CONFIG_GENERIC_FIND_FIRST_BIT is not set
946# CONFIG_CRC_CCITT is not set 973# CONFIG_CRC_CCITT is not set
947# CONFIG_CRC16 is not set 974# CONFIG_CRC16 is not set
948CONFIG_CRC_T10DIF=y 975CONFIG_CRC_T10DIF=y
@@ -972,13 +999,15 @@ CONFIG_FRAME_WARN=1024
972# CONFIG_SLUB_STATS is not set 999# CONFIG_SLUB_STATS is not set
973# CONFIG_DEBUG_BUGVERBOSE is not set 1000# CONFIG_DEBUG_BUGVERBOSE is not set
974# CONFIG_DEBUG_MEMORY_INIT is not set 1001# CONFIG_DEBUG_MEMORY_INIT is not set
1002# CONFIG_RCU_CPU_STALL_DETECTOR is not set
975# CONFIG_LATENCYTOP is not set 1003# CONFIG_LATENCYTOP is not set
976CONFIG_SYSCTL_SYSCALL_CHECK=y 1004CONFIG_SYSCTL_SYSCALL_CHECK=y
977CONFIG_HAVE_FTRACE=y 1005CONFIG_HAVE_FUNCTION_TRACER=y
978CONFIG_HAVE_DYNAMIC_FTRACE=y 1006
979# CONFIG_FTRACE is not set 1007#
980# CONFIG_SCHED_TRACER is not set 1008# Tracers
981# CONFIG_CONTEXT_SWITCH_TRACER is not set 1009#
1010# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
982# CONFIG_SAMPLES is not set 1011# CONFIG_SAMPLES is not set
983CONFIG_HAVE_ARCH_KGDB=y 1012CONFIG_HAVE_ARCH_KGDB=y
984# CONFIG_IRQSTACKS is not set 1013# CONFIG_IRQSTACKS is not set
@@ -990,12 +1019,14 @@ CONFIG_HAVE_ARCH_KGDB=y
990# 1019#
991# CONFIG_KEYS is not set 1020# CONFIG_KEYS is not set
992# CONFIG_SECURITY is not set 1021# CONFIG_SECURITY is not set
1022# CONFIG_SECURITYFS is not set
993# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1023# CONFIG_SECURITY_FILE_CAPABILITIES is not set
994CONFIG_CRYPTO=y 1024CONFIG_CRYPTO=y
995 1025
996# 1026#
997# Crypto core or helper 1027# Crypto core or helper
998# 1028#
1029# CONFIG_CRYPTO_FIPS is not set
999# CONFIG_CRYPTO_MANAGER is not set 1030# CONFIG_CRYPTO_MANAGER is not set
1000# CONFIG_CRYPTO_GF128MUL is not set 1031# CONFIG_CRYPTO_GF128MUL is not set
1001# CONFIG_CRYPTO_NULL is not set 1032# CONFIG_CRYPTO_NULL is not set
@@ -1067,6 +1098,11 @@ CONFIG_CRYPTO=y
1067# 1098#
1068# CONFIG_CRYPTO_DEFLATE is not set 1099# CONFIG_CRYPTO_DEFLATE is not set
1069# CONFIG_CRYPTO_LZO is not set 1100# CONFIG_CRYPTO_LZO is not set
1101
1102#
1103# Random Number Generation
1104#
1105# CONFIG_CRYPTO_ANSI_CPRNG is not set
1070CONFIG_CRYPTO_HW=y 1106CONFIG_CRYPTO_HW=y
1071# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1107# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1072# CONFIG_PPC_CLOCK is not set 1108# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index ff6f7c475f47..c8f5dec1b696 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:07 2008 4# Sat Nov 8 12:39:41 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -48,13 +48,11 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
48CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
49CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
50CONFIG_OF=y 50CONFIG_OF=y
51CONFIG_PPC_UDBG_16550=y 51# CONFIG_PPC_UDBG_16550 is not set
52# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -93,7 +91,6 @@ CONFIG_HOTPLUG=y
93CONFIG_PRINTK=y 91CONFIG_PRINTK=y
94CONFIG_BUG=y 92CONFIG_BUG=y
95CONFIG_ELF_CORE=y 93CONFIG_ELF_CORE=y
96CONFIG_PCSPKR_PLATFORM=y
97CONFIG_COMPAT_BRK=y 94CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 95CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 96CONFIG_FUTEX=y
@@ -103,7 +100,9 @@ CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 100CONFIG_TIMERFD=y
104CONFIG_EVENTFD=y 101CONFIG_EVENTFD=y
105CONFIG_SHMEM=y 102CONFIG_SHMEM=y
103CONFIG_AIO=y
106CONFIG_VM_EVENT_COUNTERS=y 104CONFIG_VM_EVENT_COUNTERS=y
105CONFIG_PCI_QUIRKS=y
107CONFIG_SLUB_DEBUG=y 106CONFIG_SLUB_DEBUG=y
108# CONFIG_SLAB is not set 107# CONFIG_SLAB is not set
109CONFIG_SLUB=y 108CONFIG_SLUB=y
@@ -116,10 +115,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
116CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
117CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
118CONFIG_HAVE_ARCH_TRACEHOOK=y 117CONFIG_HAVE_ARCH_TRACEHOOK=y
119# CONFIG_HAVE_DMA_ATTRS is not set
120# CONFIG_USE_GENERIC_SMP_HELPERS is not set
121CONFIG_HAVE_CLK=y 118CONFIG_HAVE_CLK=y
122CONFIG_PROC_PAGE_MONITOR=y
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 120CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 121CONFIG_RT_MUTEXES=y
@@ -145,6 +141,7 @@ CONFIG_DEFAULT_AS=y
145# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
146CONFIG_DEFAULT_IOSCHED="anticipatory" 142CONFIG_DEFAULT_IOSCHED="anticipatory"
147CONFIG_CLASSIC_RCU=y 143CONFIG_CLASSIC_RCU=y
144# CONFIG_FREEZER is not set
148 145
149# 146#
150# Platform support 147# Platform support
@@ -152,16 +149,17 @@ CONFIG_CLASSIC_RCU=y
152CONFIG_PPC_MULTIPLATFORM=y 149CONFIG_PPC_MULTIPLATFORM=y
153CONFIG_CLASSIC32=y 150CONFIG_CLASSIC32=y
154# CONFIG_PPC_CHRP is not set 151# CONFIG_PPC_CHRP is not set
155# CONFIG_PPC_PMAC is not set
156# CONFIG_MPC5121_ADS is not set 152# CONFIG_MPC5121_ADS is not set
157# CONFIG_MPC5121_GENERIC is not set 153# CONFIG_MPC5121_GENERIC is not set
158# CONFIG_PPC_MPC52xx is not set 154# CONFIG_PPC_MPC52xx is not set
155# CONFIG_PPC_PMAC is not set
159# CONFIG_PPC_CELL is not set 156# CONFIG_PPC_CELL is not set
160# CONFIG_PPC_CELL_NATIVE is not set 157# CONFIG_PPC_CELL_NATIVE is not set
161CONFIG_PPC_82xx=y 158CONFIG_PPC_82xx=y
162CONFIG_MPC8272_ADS=y 159CONFIG_MPC8272_ADS=y
163# CONFIG_PQ2FADS is not set 160# CONFIG_PQ2FADS is not set
164# CONFIG_EP8248E is not set 161# CONFIG_EP8248E is not set
162# CONFIG_MGCOGE is not set
165CONFIG_PQ2ADS=y 163CONFIG_PQ2ADS=y
166CONFIG_8260=y 164CONFIG_8260=y
167CONFIG_8272=y 165CONFIG_8272=y
@@ -169,23 +167,19 @@ CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set 167# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set 168# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set 169# CONFIG_EMBEDDED6xx is not set
172CONFIG_PPC_NATIVE=y
173# CONFIG_UDBG_RTAS_CONSOLE is not set
174# CONFIG_IPIC is not set 170# CONFIG_IPIC is not set
175CONFIG_MPIC=y 171# CONFIG_MPIC is not set
176# CONFIG_MPIC_WEIRD is not set 172# CONFIG_MPIC_WEIRD is not set
177CONFIG_PPC_I8259=y 173# CONFIG_PPC_I8259 is not set
178CONFIG_PPC_RTAS=y 174# CONFIG_PPC_RTAS is not set
179# CONFIG_RTAS_ERROR_LOGGING is not set
180CONFIG_RTAS_PROC=y
181# CONFIG_MMIO_NVRAM is not set 175# CONFIG_MMIO_NVRAM is not set
182CONFIG_PPC_MPC106=y 176# CONFIG_PPC_MPC106 is not set
183# CONFIG_PPC_970_NAP is not set 177# CONFIG_PPC_970_NAP is not set
184# CONFIG_PPC_INDIRECT_IO is not set 178# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 179# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 180# CONFIG_CPU_FREQ is not set
187# CONFIG_PPC601_SYNC_FIX is not set
188# CONFIG_TAU is not set 181# CONFIG_TAU is not set
182# CONFIG_QUICC_ENGINE is not set
189CONFIG_CPM2=y 183CONFIG_CPM2=y
190# CONFIG_FSL_ULI1575 is not set 184# CONFIG_FSL_ULI1575 is not set
191CONFIG_CPM=y 185CONFIG_CPM=y
@@ -208,6 +202,8 @@ CONFIG_PREEMPT_NONE=y
208# CONFIG_PREEMPT_VOLUNTARY is not set 202# CONFIG_PREEMPT_VOLUNTARY is not set
209# CONFIG_PREEMPT is not set 203# CONFIG_PREEMPT is not set
210CONFIG_BINFMT_ELF=y 204CONFIG_BINFMT_ELF=y
205# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
206# CONFIG_HAVE_AOUT is not set
211CONFIG_BINFMT_MISC=y 207CONFIG_BINFMT_MISC=y
212# CONFIG_IOMMU_HELPER is not set 208# CONFIG_IOMMU_HELPER is not set
213CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 209CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -217,15 +213,15 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
217CONFIG_ARCH_POPULATES_NODE_MAP=y 213CONFIG_ARCH_POPULATES_NODE_MAP=y
218CONFIG_FLATMEM=y 214CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 215CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 216CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 217CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 218CONFIG_MIGRATION=y
225# CONFIG_RESOURCES_64BIT is not set 219# CONFIG_RESOURCES_64BIT is not set
220# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 221CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 222CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 223CONFIG_VIRT_TO_BUS=y
224CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 225CONFIG_FORCE_MAX_ZONEORDER=11
230CONFIG_PROC_DEVICETREE=y 226CONFIG_PROC_DEVICETREE=y
231# CONFIG_CMDLINE_BOOL is not set 227# CONFIG_CMDLINE_BOOL is not set
@@ -237,7 +233,6 @@ CONFIG_ISA_DMA_API=y
237# 233#
238# Bus options 234# Bus options
239# 235#
240# CONFIG_ISA is not set
241CONFIG_ZONE_DMA=y 236CONFIG_ZONE_DMA=y
242CONFIG_PPC_INDIRECT_PCI=y 237CONFIG_PPC_INDIRECT_PCI=y
243CONFIG_FSL_SOC=y 238CONFIG_FSL_SOC=y
@@ -249,7 +244,7 @@ CONFIG_PCI_8260=y
249# CONFIG_PCIEPORTBUS is not set 244# CONFIG_PCIEPORTBUS is not set
250CONFIG_ARCH_SUPPORTS_MSI=y 245CONFIG_ARCH_SUPPORTS_MSI=y
251# CONFIG_PCI_MSI is not set 246# CONFIG_PCI_MSI is not set
252CONFIG_PCI_LEGACY=y 247# CONFIG_PCI_LEGACY is not set
253# CONFIG_PCI_DEBUG is not set 248# CONFIG_PCI_DEBUG is not set
254# CONFIG_PCCARD is not set 249# CONFIG_PCCARD is not set
255# CONFIG_HOTPLUG_PCI is not set 250# CONFIG_HOTPLUG_PCI is not set
@@ -305,7 +300,6 @@ CONFIG_INET_TCP_DIAG=y
305# CONFIG_TCP_CONG_ADVANCED is not set 300# CONFIG_TCP_CONG_ADVANCED is not set
306CONFIG_TCP_CONG_CUBIC=y 301CONFIG_TCP_CONG_CUBIC=y
307CONFIG_DEFAULT_TCP_CONG="cubic" 302CONFIG_DEFAULT_TCP_CONG="cubic"
308# CONFIG_IP_VS is not set
309CONFIG_IPV6=y 303CONFIG_IPV6=y
310# CONFIG_IPV6_PRIVACY is not set 304# CONFIG_IPV6_PRIVACY is not set
311# CONFIG_IPV6_ROUTER_PREF is not set 305# CONFIG_IPV6_ROUTER_PREF is not set
@@ -332,10 +326,12 @@ CONFIG_NETFILTER_ADVANCED=y
332# CONFIG_NETFILTER_NETLINK_LOG is not set 326# CONFIG_NETFILTER_NETLINK_LOG is not set
333# CONFIG_NF_CONNTRACK is not set 327# CONFIG_NF_CONNTRACK is not set
334# CONFIG_NETFILTER_XTABLES is not set 328# CONFIG_NETFILTER_XTABLES is not set
329# CONFIG_IP_VS is not set
335 330
336# 331#
337# IP: Netfilter Configuration 332# IP: Netfilter Configuration
338# 333#
334# CONFIG_NF_DEFRAG_IPV4 is not set
339# CONFIG_IP_NF_QUEUE is not set 335# CONFIG_IP_NF_QUEUE is not set
340# CONFIG_IP_NF_IPTABLES is not set 336# CONFIG_IP_NF_IPTABLES is not set
341# CONFIG_IP_NF_ARPTABLES is not set 337# CONFIG_IP_NF_ARPTABLES is not set
@@ -362,11 +358,10 @@ CONFIG_NETFILTER_ADVANCED=y
362# CONFIG_CAN is not set 358# CONFIG_CAN is not set
363# CONFIG_IRDA is not set 359# CONFIG_IRDA is not set
364# CONFIG_BT is not set 360# CONFIG_BT is not set
365 361# CONFIG_PHONET is not set
366# 362CONFIG_WIRELESS=y
367# Wireless
368#
369# CONFIG_CFG80211 is not set 363# CONFIG_CFG80211 is not set
364CONFIG_WIRELESS_OLD_REGULATORY=y
370# CONFIG_WIRELESS_EXT is not set 365# CONFIG_WIRELESS_EXT is not set
371# CONFIG_MAC80211 is not set 366# CONFIG_MAC80211 is not set
372# CONFIG_IEEE80211 is not set 367# CONFIG_IEEE80211 is not set
@@ -472,7 +467,6 @@ CONFIG_OF_GPIO=y
472# CONFIG_PARPORT is not set 467# CONFIG_PARPORT is not set
473CONFIG_BLK_DEV=y 468CONFIG_BLK_DEV=y
474# CONFIG_BLK_DEV_FD is not set 469# CONFIG_BLK_DEV_FD is not set
475# CONFIG_MAC_FLOPPY is not set
476# CONFIG_BLK_CPQ_DA is not set 470# CONFIG_BLK_CPQ_DA is not set
477# CONFIG_BLK_CPQ_CISS_DA is not set 471# CONFIG_BLK_CPQ_CISS_DA is not set
478# CONFIG_BLK_DEV_DAC960 is not set 472# CONFIG_BLK_DEV_DAC960 is not set
@@ -537,8 +531,6 @@ CONFIG_MDIO_BITBANG=y
537# CONFIG_MDIO_OF_GPIO is not set 531# CONFIG_MDIO_OF_GPIO is not set
538CONFIG_NET_ETHERNET=y 532CONFIG_NET_ETHERNET=y
539CONFIG_MII=y 533CONFIG_MII=y
540# CONFIG_MACE is not set
541# CONFIG_BMAC is not set
542# CONFIG_HAPPYMEAL is not set 534# CONFIG_HAPPYMEAL is not set
543# CONFIG_SUNGEM is not set 535# CONFIG_SUNGEM is not set
544# CONFIG_CASSINI is not set 536# CONFIG_CASSINI is not set
@@ -549,8 +541,12 @@ CONFIG_MII=y
549# CONFIG_IBM_NEW_EMAC_RGMII is not set 541# CONFIG_IBM_NEW_EMAC_RGMII is not set
550# CONFIG_IBM_NEW_EMAC_TAH is not set 542# CONFIG_IBM_NEW_EMAC_TAH is not set
551# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 543# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
544# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
545# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
546# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
552# CONFIG_NET_PCI is not set 547# CONFIG_NET_PCI is not set
553# CONFIG_B44 is not set 548# CONFIG_B44 is not set
549# CONFIG_ATL2 is not set
554CONFIG_FS_ENET=y 550CONFIG_FS_ENET=y
555# CONFIG_FS_ENET_HAS_SCC is not set 551# CONFIG_FS_ENET_HAS_SCC is not set
556CONFIG_FS_ENET_HAS_FCC=y 552CONFIG_FS_ENET_HAS_FCC=y
@@ -573,18 +569,23 @@ CONFIG_NETDEV_1000=y
573# CONFIG_GIANFAR is not set 569# CONFIG_GIANFAR is not set
574# CONFIG_MV643XX_ETH is not set 570# CONFIG_MV643XX_ETH is not set
575# CONFIG_QLA3XXX is not set 571# CONFIG_QLA3XXX is not set
572# CONFIG_ATL1 is not set
573# CONFIG_JME is not set
576CONFIG_NETDEV_10000=y 574CONFIG_NETDEV_10000=y
577# CONFIG_CHELSIO_T1 is not set 575# CONFIG_CHELSIO_T1 is not set
578# CONFIG_CHELSIO_T3 is not set 576# CONFIG_CHELSIO_T3 is not set
577# CONFIG_ENIC is not set
579# CONFIG_IXGBE is not set 578# CONFIG_IXGBE is not set
580# CONFIG_IXGB is not set 579# CONFIG_IXGB is not set
581# CONFIG_S2IO is not set 580# CONFIG_S2IO is not set
582# CONFIG_MYRI10GE is not set 581# CONFIG_MYRI10GE is not set
583# CONFIG_NETXEN_NIC is not set 582# CONFIG_NETXEN_NIC is not set
584# CONFIG_NIU is not set 583# CONFIG_NIU is not set
584# CONFIG_MLX4_EN is not set
585# CONFIG_MLX4_CORE is not set 585# CONFIG_MLX4_CORE is not set
586# CONFIG_TEHUTI is not set 586# CONFIG_TEHUTI is not set
587# CONFIG_BNX2X is not set 587# CONFIG_BNX2X is not set
588# CONFIG_QLGE is not set
588# CONFIG_SFC is not set 589# CONFIG_SFC is not set
589# CONFIG_TR is not set 590# CONFIG_TR is not set
590 591
@@ -645,6 +646,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
645CONFIG_MOUSE_PS2_SYNAPTICS=y 646CONFIG_MOUSE_PS2_SYNAPTICS=y
646CONFIG_MOUSE_PS2_LIFEBOOK=y 647CONFIG_MOUSE_PS2_LIFEBOOK=y
647CONFIG_MOUSE_PS2_TRACKPOINT=y 648CONFIG_MOUSE_PS2_TRACKPOINT=y
649# CONFIG_MOUSE_PS2_ELANTECH is not set
648# CONFIG_MOUSE_PS2_TOUCHKIT is not set 650# CONFIG_MOUSE_PS2_TOUCHKIT is not set
649# CONFIG_MOUSE_SERIAL is not set 651# CONFIG_MOUSE_SERIAL is not set
650# CONFIG_MOUSE_VSXXXAA is not set 652# CONFIG_MOUSE_VSXXXAA is not set
@@ -684,21 +686,12 @@ CONFIG_DEVKMEM=y
684# CONFIG_SERIAL_UARTLITE is not set 686# CONFIG_SERIAL_UARTLITE is not set
685CONFIG_SERIAL_CORE=y 687CONFIG_SERIAL_CORE=y
686CONFIG_SERIAL_CORE_CONSOLE=y 688CONFIG_SERIAL_CORE_CONSOLE=y
687# CONFIG_SERIAL_PMACZILOG is not set
688CONFIG_SERIAL_CPM=y 689CONFIG_SERIAL_CPM=y
689CONFIG_SERIAL_CPM_CONSOLE=y 690CONFIG_SERIAL_CPM_CONSOLE=y
690CONFIG_SERIAL_CPM_SCC1=y
691# CONFIG_SERIAL_CPM_SCC2 is not set
692# CONFIG_SERIAL_CPM_SCC3 is not set
693CONFIG_SERIAL_CPM_SCC4=y
694# CONFIG_SERIAL_CPM_SMC1 is not set
695# CONFIG_SERIAL_CPM_SMC2 is not set
696# CONFIG_SERIAL_JSM is not set 691# CONFIG_SERIAL_JSM is not set
697CONFIG_UNIX98_PTYS=y 692CONFIG_UNIX98_PTYS=y
698CONFIG_LEGACY_PTYS=y 693CONFIG_LEGACY_PTYS=y
699CONFIG_LEGACY_PTY_COUNT=256 694CONFIG_LEGACY_PTY_COUNT=256
700# CONFIG_BRIQ_PANEL is not set
701# CONFIG_HVC_RTAS is not set
702# CONFIG_IPMI_HANDLER is not set 695# CONFIG_IPMI_HANDLER is not set
703CONFIG_HW_RANDOM=y 696CONFIG_HW_RANDOM=y
704# CONFIG_NVRAM is not set 697# CONFIG_NVRAM is not set
@@ -748,6 +741,14 @@ CONFIG_SSB_POSSIBLE=y
748# CONFIG_MFD_TMIO is not set 741# CONFIG_MFD_TMIO is not set
749 742
750# 743#
744# Voltage and Current regulators
745#
746# CONFIG_REGULATOR is not set
747# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
748# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
749# CONFIG_REGULATOR_BQ24022 is not set
750
751#
751# Multimedia devices 752# Multimedia devices
752# 753#
753 754
@@ -788,6 +789,7 @@ CONFIG_DAB=y
788# CONFIG_RTC_CLASS is not set 789# CONFIG_RTC_CLASS is not set
789# CONFIG_DMADEVICES is not set 790# CONFIG_DMADEVICES is not set
790# CONFIG_UIO is not set 791# CONFIG_UIO is not set
792# CONFIG_STAGING is not set
791 793
792# 794#
793# File systems 795# File systems
@@ -799,11 +801,13 @@ CONFIG_EXT3_FS=y
799CONFIG_EXT3_FS_XATTR=y 801CONFIG_EXT3_FS_XATTR=y
800# CONFIG_EXT3_FS_POSIX_ACL is not set 802# CONFIG_EXT3_FS_POSIX_ACL is not set
801# CONFIG_EXT3_FS_SECURITY is not set 803# CONFIG_EXT3_FS_SECURITY is not set
804# CONFIG_EXT4_FS is not set
802CONFIG_JBD=y 805CONFIG_JBD=y
803CONFIG_FS_MBCACHE=y 806CONFIG_FS_MBCACHE=y
804# CONFIG_REISERFS_FS is not set 807# CONFIG_REISERFS_FS is not set
805# CONFIG_JFS_FS is not set 808# CONFIG_JFS_FS is not set
806CONFIG_FS_POSIX_ACL=y 809CONFIG_FS_POSIX_ACL=y
810CONFIG_FILE_LOCKING=y
807# CONFIG_XFS_FS is not set 811# CONFIG_XFS_FS is not set
808# CONFIG_OCFS2_FS is not set 812# CONFIG_OCFS2_FS is not set
809CONFIG_DNOTIFY=y 813CONFIG_DNOTIFY=y
@@ -833,6 +837,7 @@ CONFIG_AUTOFS4_FS=y
833CONFIG_PROC_FS=y 837CONFIG_PROC_FS=y
834CONFIG_PROC_KCORE=y 838CONFIG_PROC_KCORE=y
835CONFIG_PROC_SYSCTL=y 839CONFIG_PROC_SYSCTL=y
840CONFIG_PROC_PAGE_MONITOR=y
836CONFIG_SYSFS=y 841CONFIG_SYSFS=y
837CONFIG_TMPFS=y 842CONFIG_TMPFS=y
838# CONFIG_TMPFS_POSIX_ACL is not set 843# CONFIG_TMPFS_POSIX_ACL is not set
@@ -935,7 +940,6 @@ CONFIG_NLS_UTF8=y
935# Library routines 940# Library routines
936# 941#
937CONFIG_BITREVERSE=y 942CONFIG_BITREVERSE=y
938# CONFIG_GENERIC_FIND_FIRST_BIT is not set
939CONFIG_CRC_CCITT=y 943CONFIG_CRC_CCITT=y
940# CONFIG_CRC16 is not set 944# CONFIG_CRC16 is not set
941# CONFIG_CRC_T10DIF is not set 945# CONFIG_CRC_T10DIF is not set
@@ -989,15 +993,23 @@ CONFIG_DEBUG_INFO=y
989# CONFIG_DEBUG_SG is not set 993# CONFIG_DEBUG_SG is not set
990# CONFIG_BOOT_PRINTK_DELAY is not set 994# CONFIG_BOOT_PRINTK_DELAY is not set
991# CONFIG_RCU_TORTURE_TEST is not set 995# CONFIG_RCU_TORTURE_TEST is not set
996# CONFIG_RCU_CPU_STALL_DETECTOR is not set
992# CONFIG_BACKTRACE_SELF_TEST is not set 997# CONFIG_BACKTRACE_SELF_TEST is not set
998# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
993# CONFIG_FAULT_INJECTION is not set 999# CONFIG_FAULT_INJECTION is not set
994# CONFIG_LATENCYTOP is not set 1000# CONFIG_LATENCYTOP is not set
995CONFIG_SYSCTL_SYSCALL_CHECK=y 1001CONFIG_SYSCTL_SYSCALL_CHECK=y
996CONFIG_HAVE_FTRACE=y 1002CONFIG_HAVE_FUNCTION_TRACER=y
997CONFIG_HAVE_DYNAMIC_FTRACE=y 1003
998# CONFIG_FTRACE is not set 1004#
1005# Tracers
1006#
1007# CONFIG_FUNCTION_TRACER is not set
999# CONFIG_SCHED_TRACER is not set 1008# CONFIG_SCHED_TRACER is not set
1000# CONFIG_CONTEXT_SWITCH_TRACER is not set 1009# CONFIG_CONTEXT_SWITCH_TRACER is not set
1010# CONFIG_BOOT_TRACER is not set
1011# CONFIG_STACK_TRACER is not set
1012# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1001# CONFIG_SAMPLES is not set 1013# CONFIG_SAMPLES is not set
1002CONFIG_HAVE_ARCH_KGDB=y 1014CONFIG_HAVE_ARCH_KGDB=y
1003# CONFIG_DEBUG_STACKOVERFLOW is not set 1015# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1005,6 +1017,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1005# CONFIG_DEBUG_PAGEALLOC is not set 1017# CONFIG_DEBUG_PAGEALLOC is not set
1006# CONFIG_CODE_PATCHING_SELFTEST is not set 1018# CONFIG_CODE_PATCHING_SELFTEST is not set
1007# CONFIG_FTR_FIXUP_SELFTEST is not set 1019# CONFIG_FTR_FIXUP_SELFTEST is not set
1020# CONFIG_MSI_BITMAP_SELFTEST is not set
1008# CONFIG_XMON is not set 1021# CONFIG_XMON is not set
1009# CONFIG_IRQSTACKS is not set 1022# CONFIG_IRQSTACKS is not set
1010CONFIG_BDI_SWITCH=y 1023CONFIG_BDI_SWITCH=y
@@ -1016,14 +1029,19 @@ CONFIG_BDI_SWITCH=y
1016# 1029#
1017# CONFIG_KEYS is not set 1030# CONFIG_KEYS is not set
1018# CONFIG_SECURITY is not set 1031# CONFIG_SECURITY is not set
1032# CONFIG_SECURITYFS is not set
1019# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1033# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1020CONFIG_CRYPTO=y 1034CONFIG_CRYPTO=y
1021 1035
1022# 1036#
1023# Crypto core or helper 1037# Crypto core or helper
1024# 1038#
1039# CONFIG_CRYPTO_FIPS is not set
1025CONFIG_CRYPTO_ALGAPI=y 1040CONFIG_CRYPTO_ALGAPI=y
1041CONFIG_CRYPTO_AEAD=y
1026CONFIG_CRYPTO_BLKCIPHER=y 1042CONFIG_CRYPTO_BLKCIPHER=y
1043CONFIG_CRYPTO_HASH=y
1044CONFIG_CRYPTO_RNG=y
1027CONFIG_CRYPTO_MANAGER=y 1045CONFIG_CRYPTO_MANAGER=y
1028# CONFIG_CRYPTO_NULL is not set 1046# CONFIG_CRYPTO_NULL is not set
1029# CONFIG_CRYPTO_CRYPTD is not set 1047# CONFIG_CRYPTO_CRYPTD is not set
@@ -1090,6 +1108,11 @@ CONFIG_CRYPTO_DES=y
1090# 1108#
1091# CONFIG_CRYPTO_DEFLATE is not set 1109# CONFIG_CRYPTO_DEFLATE is not set
1092# CONFIG_CRYPTO_LZO is not set 1110# CONFIG_CRYPTO_LZO is not set
1111
1112#
1113# Random Number Generation
1114#
1115# CONFIG_CRYPTO_ANSI_CPRNG is not set
1093# CONFIG_CRYPTO_HW is not set 1116# CONFIG_CRYPTO_HW is not set
1094CONFIG_PPC_CLOCK=y 1117CONFIG_PPC_CLOCK=y
1095CONFIG_PPC_LIB_RHEAP=y 1118CONFIG_PPC_LIB_RHEAP=y
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 991c9bda12a9..15eb30c9b3f9 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 07:16:25 2008 4# Sat Nov 8 12:39:42 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -55,8 +55,6 @@ CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DEFAULT_UIMAGE=y 56CONFIG_DEFAULT_UIMAGE=y
57CONFIG_REDBOOT=y 57CONFIG_REDBOOT=y
58CONFIG_HIBERNATE_32=y
59CONFIG_ARCH_HIBERNATION_POSSIBLE=y
60CONFIG_ARCH_SUSPEND_POSSIBLE=y 58CONFIG_ARCH_SUSPEND_POSSIBLE=y
61# CONFIG_PPC_DCR_NATIVE is not set 59# CONFIG_PPC_DCR_NATIVE is not set
62# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
@@ -101,7 +99,6 @@ CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 99CONFIG_PRINTK=y
102CONFIG_BUG=y 100CONFIG_BUG=y
103CONFIG_ELF_CORE=y 101CONFIG_ELF_CORE=y
104CONFIG_PCSPKR_PLATFORM=y
105CONFIG_COMPAT_BRK=y 102CONFIG_COMPAT_BRK=y
106CONFIG_BASE_FULL=y 103CONFIG_BASE_FULL=y
107CONFIG_FUTEX=y 104CONFIG_FUTEX=y
@@ -111,7 +108,9 @@ CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 108CONFIG_TIMERFD=y
112CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
113CONFIG_SHMEM=y 110CONFIG_SHMEM=y
111CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y
115CONFIG_SLAB=y 114CONFIG_SLAB=y
116# CONFIG_SLUB is not set 115# CONFIG_SLUB is not set
117# CONFIG_SLOB is not set 116# CONFIG_SLOB is not set
@@ -124,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
124CONFIG_HAVE_KPROBES=y 123CONFIG_HAVE_KPROBES=y
125CONFIG_HAVE_KRETPROBES=y 124CONFIG_HAVE_KRETPROBES=y
126CONFIG_HAVE_ARCH_TRACEHOOK=y 125CONFIG_HAVE_ARCH_TRACEHOOK=y
127# CONFIG_HAVE_DMA_ATTRS is not set
128# CONFIG_USE_GENERIC_SMP_HELPERS is not set
129# CONFIG_HAVE_CLK is not set
130CONFIG_PROC_PAGE_MONITOR=y
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 127CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 128CONFIG_RT_MUTEXES=y
@@ -160,6 +155,7 @@ CONFIG_DEFAULT_AS=y
160# CONFIG_DEFAULT_NOOP is not set 155# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="anticipatory" 156CONFIG_DEFAULT_IOSCHED="anticipatory"
162CONFIG_CLASSIC_RCU=y 157CONFIG_CLASSIC_RCU=y
158# CONFIG_FREEZER is not set
163 159
164# 160#
165# Platform support 161# Platform support
@@ -167,10 +163,10 @@ CONFIG_CLASSIC_RCU=y
167CONFIG_PPC_MULTIPLATFORM=y 163CONFIG_PPC_MULTIPLATFORM=y
168CONFIG_CLASSIC32=y 164CONFIG_CLASSIC32=y
169# CONFIG_PPC_CHRP is not set 165# CONFIG_PPC_CHRP is not set
170# CONFIG_PPC_PMAC is not set
171# CONFIG_MPC5121_ADS is not set 166# CONFIG_MPC5121_ADS is not set
172# CONFIG_MPC5121_GENERIC is not set 167# CONFIG_MPC5121_GENERIC is not set
173# CONFIG_PPC_MPC52xx is not set 168# CONFIG_PPC_MPC52xx is not set
169# CONFIG_PPC_PMAC is not set
174# CONFIG_PPC_CELL is not set 170# CONFIG_PPC_CELL is not set
175# CONFIG_PPC_CELL_NATIVE is not set 171# CONFIG_PPC_CELL_NATIVE is not set
176# CONFIG_PPC_82xx is not set 172# CONFIG_PPC_82xx is not set
@@ -193,31 +189,27 @@ CONFIG_PPC_MPC834x=y
193CONFIG_PPC_MPC837x=y 189CONFIG_PPC_MPC837x=y
194# CONFIG_PPC_86xx is not set 190# CONFIG_PPC_86xx is not set
195# CONFIG_EMBEDDED6xx is not set 191# CONFIG_EMBEDDED6xx is not set
196CONFIG_PPC_NATIVE=y
197# CONFIG_UDBG_RTAS_CONSOLE is not set
198CONFIG_IPIC=y 192CONFIG_IPIC=y
199CONFIG_MPIC=y 193# CONFIG_MPIC is not set
200# CONFIG_MPIC_WEIRD is not set 194# CONFIG_MPIC_WEIRD is not set
201CONFIG_PPC_I8259=y 195# CONFIG_PPC_I8259 is not set
202CONFIG_PPC_RTAS=y 196# CONFIG_PPC_RTAS is not set
203# CONFIG_RTAS_ERROR_LOGGING is not set
204CONFIG_RTAS_PROC=y
205# CONFIG_MMIO_NVRAM is not set 197# CONFIG_MMIO_NVRAM is not set
206CONFIG_PPC_MPC106=y 198# CONFIG_PPC_MPC106 is not set
207# CONFIG_PPC_970_NAP is not set 199# CONFIG_PPC_970_NAP is not set
208# CONFIG_PPC_INDIRECT_IO is not set 200# CONFIG_PPC_INDIRECT_IO is not set
209# CONFIG_GENERIC_IOMAP is not set 201# CONFIG_GENERIC_IOMAP is not set
210# CONFIG_CPU_FREQ is not set 202# CONFIG_CPU_FREQ is not set
211# CONFIG_PPC601_SYNC_FIX is not set
212# CONFIG_TAU is not set 203# CONFIG_TAU is not set
213CONFIG_QUICC_ENGINE=y 204CONFIG_QUICC_ENGINE=y
205CONFIG_QE_GPIO=y
214# CONFIG_FSL_ULI1575 is not set 206# CONFIG_FSL_ULI1575 is not set
207# CONFIG_MPC8xxx_GPIO is not set
215 208
216# 209#
217# Kernel options 210# Kernel options
218# 211#
219# CONFIG_HIGHMEM is not set 212# CONFIG_HIGHMEM is not set
220# CONFIG_TICK_ONESHOT is not set
221# CONFIG_NO_HZ is not set 213# CONFIG_NO_HZ is not set
222# CONFIG_HIGH_RES_TIMERS is not set 214# CONFIG_HIGH_RES_TIMERS is not set
223CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 215CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -231,6 +223,8 @@ CONFIG_PREEMPT_NONE=y
231# CONFIG_PREEMPT_VOLUNTARY is not set 223# CONFIG_PREEMPT_VOLUNTARY is not set
232# CONFIG_PREEMPT is not set 224# CONFIG_PREEMPT is not set
233CONFIG_BINFMT_ELF=y 225CONFIG_BINFMT_ELF=y
226# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
227# CONFIG_HAVE_AOUT is not set
234# CONFIG_BINFMT_MISC is not set 228# CONFIG_BINFMT_MISC is not set
235CONFIG_MATH_EMULATION=y 229CONFIG_MATH_EMULATION=y
236# CONFIG_IOMMU_HELPER is not set 230# CONFIG_IOMMU_HELPER is not set
@@ -246,15 +240,15 @@ CONFIG_FLATMEM_MANUAL=y
246# CONFIG_SPARSEMEM_MANUAL is not set 240# CONFIG_SPARSEMEM_MANUAL is not set
247CONFIG_FLATMEM=y 241CONFIG_FLATMEM=y
248CONFIG_FLAT_NODE_MEM_MAP=y 242CONFIG_FLAT_NODE_MEM_MAP=y
249# CONFIG_SPARSEMEM_STATIC is not set
250# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
251CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
252CONFIG_SPLIT_PTLOCK_CPUS=4 244CONFIG_SPLIT_PTLOCK_CPUS=4
253CONFIG_MIGRATION=y 245CONFIG_MIGRATION=y
254# CONFIG_RESOURCES_64BIT is not set 246# CONFIG_RESOURCES_64BIT is not set
247# CONFIG_PHYS_ADDR_T_64BIT is not set
255CONFIG_ZONE_DMA_FLAG=1 248CONFIG_ZONE_DMA_FLAG=1
256CONFIG_BOUNCE=y 249CONFIG_BOUNCE=y
257CONFIG_VIRT_TO_BUS=y 250CONFIG_VIRT_TO_BUS=y
251CONFIG_UNEVICTABLE_LRU=y
258CONFIG_FORCE_MAX_ZONEORDER=11 252CONFIG_FORCE_MAX_ZONEORDER=11
259CONFIG_PROC_DEVICETREE=y 253CONFIG_PROC_DEVICETREE=y
260# CONFIG_CMDLINE_BOOL is not set 254# CONFIG_CMDLINE_BOOL is not set
@@ -266,7 +260,6 @@ CONFIG_ISA_DMA_API=y
266# 260#
267# Bus options 261# Bus options
268# 262#
269# CONFIG_ISA is not set
270CONFIG_ZONE_DMA=y 263CONFIG_ZONE_DMA=y
271CONFIG_GENERIC_ISA_DMA=y 264CONFIG_GENERIC_ISA_DMA=y
272CONFIG_PPC_INDIRECT_PCI=y 265CONFIG_PPC_INDIRECT_PCI=y
@@ -281,7 +274,7 @@ CONFIG_PCI_SYSCALL=y
281# CONFIG_PCIEPORTBUS is not set 274# CONFIG_PCIEPORTBUS is not set
282CONFIG_ARCH_SUPPORTS_MSI=y 275CONFIG_ARCH_SUPPORTS_MSI=y
283# CONFIG_PCI_MSI is not set 276# CONFIG_PCI_MSI is not set
284CONFIG_PCI_LEGACY=y 277# CONFIG_PCI_LEGACY is not set
285# CONFIG_PCCARD is not set 278# CONFIG_PCCARD is not set
286# CONFIG_HOTPLUG_PCI is not set 279# CONFIG_HOTPLUG_PCI is not set
287# CONFIG_HAS_RAPIDIO is not set 280# CONFIG_HAS_RAPIDIO is not set
@@ -349,6 +342,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_TIPC is not set 342# CONFIG_TIPC is not set
350# CONFIG_ATM is not set 343# CONFIG_ATM is not set
351# CONFIG_BRIDGE is not set 344# CONFIG_BRIDGE is not set
345# CONFIG_NET_DSA is not set
352# CONFIG_VLAN_8021Q is not set 346# CONFIG_VLAN_8021Q is not set
353# CONFIG_DECNET is not set 347# CONFIG_DECNET is not set
354# CONFIG_LLC2 is not set 348# CONFIG_LLC2 is not set
@@ -369,11 +363,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# CONFIG_IRDA is not set 363# CONFIG_IRDA is not set
370# CONFIG_BT is not set 364# CONFIG_BT is not set
371# CONFIG_AF_RXRPC is not set 365# CONFIG_AF_RXRPC is not set
372 366# CONFIG_PHONET is not set
373# 367CONFIG_WIRELESS=y
374# Wireless
375#
376# CONFIG_CFG80211 is not set 368# CONFIG_CFG80211 is not set
369CONFIG_WIRELESS_OLD_REGULATORY=y
377# CONFIG_WIRELESS_EXT is not set 370# CONFIG_WIRELESS_EXT is not set
378# CONFIG_MAC80211 is not set 371# CONFIG_MAC80211 is not set
379# CONFIG_IEEE80211 is not set 372# CONFIG_IEEE80211 is not set
@@ -488,7 +481,6 @@ CONFIG_OF_I2C=y
488# CONFIG_PARPORT is not set 481# CONFIG_PARPORT is not set
489CONFIG_BLK_DEV=y 482CONFIG_BLK_DEV=y
490# CONFIG_BLK_DEV_FD is not set 483# CONFIG_BLK_DEV_FD is not set
491# CONFIG_MAC_FLOPPY is not set
492# CONFIG_BLK_CPQ_DA is not set 484# CONFIG_BLK_CPQ_DA is not set
493# CONFIG_BLK_CPQ_CISS_DA is not set 485# CONFIG_BLK_CPQ_CISS_DA is not set
494# CONFIG_BLK_DEV_DAC960 is not set 486# CONFIG_BLK_DEV_DAC960 is not set
@@ -590,8 +582,6 @@ CONFIG_SCSI_LOWLEVEL=y
590# CONFIG_SCSI_DC390T is not set 582# CONFIG_SCSI_DC390T is not set
591# CONFIG_SCSI_NSP32 is not set 583# CONFIG_SCSI_NSP32 is not set
592# CONFIG_SCSI_DEBUG is not set 584# 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 585# CONFIG_SCSI_SRP is not set
596# CONFIG_SCSI_DH is not set 586# CONFIG_SCSI_DH is not set
597CONFIG_ATA=y 587CONFIG_ATA=y
@@ -696,8 +686,6 @@ CONFIG_ICPLUS_PHY=y
696# CONFIG_MDIO_BITBANG is not set 686# CONFIG_MDIO_BITBANG is not set
697CONFIG_NET_ETHERNET=y 687CONFIG_NET_ETHERNET=y
698CONFIG_MII=y 688CONFIG_MII=y
699# CONFIG_MACE is not set
700# CONFIG_BMAC is not set
701# CONFIG_HAPPYMEAL is not set 689# CONFIG_HAPPYMEAL is not set
702# CONFIG_SUNGEM is not set 690# CONFIG_SUNGEM is not set
703# CONFIG_CASSINI is not set 691# CONFIG_CASSINI is not set
@@ -708,8 +696,12 @@ CONFIG_MII=y
708# CONFIG_IBM_NEW_EMAC_RGMII is not set 696# CONFIG_IBM_NEW_EMAC_RGMII is not set
709# CONFIG_IBM_NEW_EMAC_TAH is not set 697# CONFIG_IBM_NEW_EMAC_TAH is not set
710# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 698# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
699# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
700# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
701# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
711# CONFIG_NET_PCI is not set 702# CONFIG_NET_PCI is not set
712# CONFIG_B44 is not set 703# CONFIG_B44 is not set
704# CONFIG_ATL2 is not set
713CONFIG_NETDEV_1000=y 705CONFIG_NETDEV_1000=y
714# CONFIG_ACENIC is not set 706# CONFIG_ACENIC is not set
715# CONFIG_DL2K is not set 707# CONFIG_DL2K is not set
@@ -736,18 +728,22 @@ CONFIG_UCC_GETH=y
736# CONFIG_QLA3XXX is not set 728# CONFIG_QLA3XXX is not set
737# CONFIG_ATL1 is not set 729# CONFIG_ATL1 is not set
738# CONFIG_ATL1E is not set 730# CONFIG_ATL1E is not set
731# CONFIG_JME is not set
739CONFIG_NETDEV_10000=y 732CONFIG_NETDEV_10000=y
740# CONFIG_CHELSIO_T1 is not set 733# CONFIG_CHELSIO_T1 is not set
741# CONFIG_CHELSIO_T3 is not set 734# CONFIG_CHELSIO_T3 is not set
735# CONFIG_ENIC is not set
742# CONFIG_IXGBE is not set 736# CONFIG_IXGBE is not set
743# CONFIG_IXGB is not set 737# CONFIG_IXGB is not set
744# CONFIG_S2IO is not set 738# CONFIG_S2IO is not set
745# CONFIG_MYRI10GE is not set 739# CONFIG_MYRI10GE is not set
746# CONFIG_NETXEN_NIC is not set 740# CONFIG_NETXEN_NIC is not set
747# CONFIG_NIU is not set 741# CONFIG_NIU is not set
742# CONFIG_MLX4_EN is not set
748# CONFIG_MLX4_CORE is not set 743# CONFIG_MLX4_CORE is not set
749# CONFIG_TEHUTI is not set 744# CONFIG_TEHUTI is not set
750# CONFIG_BNX2X is not set 745# CONFIG_BNX2X is not set
746# CONFIG_QLGE is not set
751# CONFIG_SFC is not set 747# CONFIG_SFC is not set
752# CONFIG_TR is not set 748# CONFIG_TR is not set
753 749
@@ -782,7 +778,7 @@ CONFIG_NETDEV_10000=y
782# Input device support 778# Input device support
783# 779#
784CONFIG_INPUT=y 780CONFIG_INPUT=y
785# CONFIG_INPUT_FF_MEMLESS is not set 781CONFIG_INPUT_FF_MEMLESS=m
786# CONFIG_INPUT_POLLDEV is not set 782# CONFIG_INPUT_POLLDEV is not set
787 783
788# 784#
@@ -833,15 +829,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
833# CONFIG_SERIAL_UARTLITE is not set 829# CONFIG_SERIAL_UARTLITE is not set
834CONFIG_SERIAL_CORE=y 830CONFIG_SERIAL_CORE=y
835CONFIG_SERIAL_CORE_CONSOLE=y 831CONFIG_SERIAL_CORE_CONSOLE=y
836# CONFIG_SERIAL_PMACZILOG is not set
837# CONFIG_SERIAL_JSM is not set 832# CONFIG_SERIAL_JSM is not set
838# CONFIG_SERIAL_OF_PLATFORM is not set 833# CONFIG_SERIAL_OF_PLATFORM is not set
839# CONFIG_SERIAL_QE is not set 834# CONFIG_SERIAL_QE is not set
840CONFIG_UNIX98_PTYS=y 835CONFIG_UNIX98_PTYS=y
841CONFIG_LEGACY_PTYS=y 836CONFIG_LEGACY_PTYS=y
842CONFIG_LEGACY_PTY_COUNT=256 837CONFIG_LEGACY_PTY_COUNT=256
843# CONFIG_BRIQ_PANEL is not set
844# CONFIG_HVC_RTAS is not set
845# CONFIG_IPMI_HANDLER is not set 838# CONFIG_IPMI_HANDLER is not set
846CONFIG_HW_RANDOM=y 839CONFIG_HW_RANDOM=y
847# CONFIG_NVRAM is not set 840# CONFIG_NVRAM is not set
@@ -880,12 +873,6 @@ CONFIG_I2C_HELPER_AUTO=y
880# CONFIG_I2C_VIAPRO is not set 873# CONFIG_I2C_VIAPRO is not set
881 874
882# 875#
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) 876# I2C system bus drivers (mostly embedded / system-on-chip)
890# 877#
891# CONFIG_I2C_GPIO is not set 878# CONFIG_I2C_GPIO is not set
@@ -924,6 +911,7 @@ CONFIG_I2C_MPC=y
924# CONFIG_TPS65010 is not set 911# CONFIG_TPS65010 is not set
925# CONFIG_SENSORS_MAX6875 is not set 912# CONFIG_SENSORS_MAX6875 is not set
926# CONFIG_SENSORS_TSL2550 is not set 913# CONFIG_SENSORS_TSL2550 is not set
914# CONFIG_MCU_MPC8349EMITX is not set
927# CONFIG_I2C_DEBUG_CORE is not set 915# CONFIG_I2C_DEBUG_CORE is not set
928# CONFIG_I2C_DEBUG_ALGO is not set 916# CONFIG_I2C_DEBUG_ALGO is not set
929# CONFIG_I2C_DEBUG_BUS is not set 917# CONFIG_I2C_DEBUG_BUS is not set
@@ -963,7 +951,6 @@ CONFIG_HWMON=y
963# CONFIG_SENSORS_ADM9240 is not set 951# CONFIG_SENSORS_ADM9240 is not set
964# CONFIG_SENSORS_ADT7470 is not set 952# CONFIG_SENSORS_ADT7470 is not set
965# CONFIG_SENSORS_ADT7473 is not set 953# CONFIG_SENSORS_ADT7473 is not set
966# CONFIG_SENSORS_AMS is not set
967# CONFIG_SENSORS_ATXP1 is not set 954# CONFIG_SENSORS_ATXP1 is not set
968# CONFIG_SENSORS_DS1621 is not set 955# CONFIG_SENSORS_DS1621 is not set
969# CONFIG_SENSORS_I5K_AMB is not set 956# CONFIG_SENSORS_I5K_AMB is not set
@@ -1018,7 +1005,6 @@ CONFIG_WATCHDOG=y
1018# CONFIG_SOFT_WATCHDOG is not set 1005# CONFIG_SOFT_WATCHDOG is not set
1019# CONFIG_ALIM7101_WDT is not set 1006# CONFIG_ALIM7101_WDT is not set
1020# CONFIG_8xxx_WDT is not set 1007# CONFIG_8xxx_WDT is not set
1021# CONFIG_WATCHDOG_RTAS is not set
1022 1008
1023# 1009#
1024# PCI-based Watchdog Cards 1010# PCI-based Watchdog Cards
@@ -1044,6 +1030,17 @@ CONFIG_SSB_POSSIBLE=y
1044# CONFIG_MFD_SM501 is not set 1030# CONFIG_MFD_SM501 is not set
1045# CONFIG_HTC_PASIC3 is not set 1031# CONFIG_HTC_PASIC3 is not set
1046# CONFIG_MFD_TMIO is not set 1032# CONFIG_MFD_TMIO is not set
1033# CONFIG_PMIC_DA903X is not set
1034# CONFIG_MFD_WM8400 is not set
1035# CONFIG_MFD_WM8350_I2C is not set
1036
1037#
1038# Voltage and Current regulators
1039#
1040# CONFIG_REGULATOR is not set
1041# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1042# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1043# CONFIG_REGULATOR_BQ24022 is not set
1047 1044
1048# 1045#
1049# Multimedia devices 1046# Multimedia devices
@@ -1086,9 +1083,36 @@ CONFIG_HID=y
1086# USB Input Devices 1083# USB Input Devices
1087# 1084#
1088CONFIG_USB_HID=y 1085CONFIG_USB_HID=y
1089# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1086# CONFIG_HID_PID is not set
1090# CONFIG_HID_FF is not set
1091# CONFIG_USB_HIDDEV is not set 1087# CONFIG_USB_HIDDEV is not set
1088
1089#
1090# Special HID drivers
1091#
1092CONFIG_HID_COMPAT=y
1093CONFIG_HID_A4TECH=y
1094CONFIG_HID_APPLE=y
1095CONFIG_HID_BELKIN=y
1096CONFIG_HID_BRIGHT=y
1097CONFIG_HID_CHERRY=y
1098CONFIG_HID_CHICONY=y
1099CONFIG_HID_CYPRESS=y
1100CONFIG_HID_DELL=y
1101CONFIG_HID_EZKEY=y
1102CONFIG_HID_GYRATION=y
1103CONFIG_HID_LOGITECH=y
1104# CONFIG_LOGITECH_FF is not set
1105# CONFIG_LOGIRUMBLEPAD2_FF is not set
1106CONFIG_HID_MICROSOFT=y
1107CONFIG_HID_MONTEREY=y
1108CONFIG_HID_PANTHERLORD=y
1109# CONFIG_PANTHERLORD_FF is not set
1110CONFIG_HID_PETALYNX=y
1111CONFIG_HID_SAMSUNG=y
1112CONFIG_HID_SONY=y
1113CONFIG_HID_SUNPLUS=y
1114CONFIG_THRUSTMASTER_FF=m
1115CONFIG_ZEROPLUS_FF=m
1092CONFIG_USB_SUPPORT=y 1116CONFIG_USB_SUPPORT=y
1093CONFIG_USB_ARCH_HAS_HCD=y 1117CONFIG_USB_ARCH_HAS_HCD=y
1094CONFIG_USB_ARCH_HAS_OHCI=y 1118CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1107,6 +1131,8 @@ CONFIG_USB_DEVICE_CLASS=y
1107# CONFIG_USB_OTG_WHITELIST is not set 1131# CONFIG_USB_OTG_WHITELIST is not set
1108# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1132# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1109CONFIG_USB_MON=y 1133CONFIG_USB_MON=y
1134# CONFIG_USB_WUSB is not set
1135# CONFIG_USB_WUSB_CBAF is not set
1110 1136
1111# 1137#
1112# USB Host Controller Drivers 1138# USB Host Controller Drivers
@@ -1123,6 +1149,8 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1123# CONFIG_USB_UHCI_HCD is not set 1149# CONFIG_USB_UHCI_HCD is not set
1124# CONFIG_USB_SL811_HCD is not set 1150# CONFIG_USB_SL811_HCD is not set
1125# CONFIG_USB_R8A66597_HCD is not set 1151# CONFIG_USB_R8A66597_HCD is not set
1152# CONFIG_USB_WHCI_HCD is not set
1153# CONFIG_USB_HWA_HCD is not set
1126 1154
1127# 1155#
1128# USB Device Class drivers 1156# USB Device Class drivers
@@ -1130,6 +1158,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1130# CONFIG_USB_ACM is not set 1158# CONFIG_USB_ACM is not set
1131# CONFIG_USB_PRINTER is not set 1159# CONFIG_USB_PRINTER is not set
1132# CONFIG_USB_WDM is not set 1160# CONFIG_USB_WDM is not set
1161# CONFIG_USB_TMC is not set
1133 1162
1134# 1163#
1135# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1164# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1158,6 +1187,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1158# CONFIG_USB_EMI62 is not set 1187# CONFIG_USB_EMI62 is not set
1159# CONFIG_USB_EMI26 is not set 1188# CONFIG_USB_EMI26 is not set
1160# CONFIG_USB_ADUTUX is not set 1189# CONFIG_USB_ADUTUX is not set
1190# CONFIG_USB_SEVSEG is not set
1161# CONFIG_USB_RIO500 is not set 1191# CONFIG_USB_RIO500 is not set
1162# CONFIG_USB_LEGOTOWER is not set 1192# CONFIG_USB_LEGOTOWER is not set
1163# CONFIG_USB_LCD is not set 1193# CONFIG_USB_LCD is not set
@@ -1174,7 +1204,9 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1174# CONFIG_USB_TRANCEVIBRATOR is not set 1204# CONFIG_USB_TRANCEVIBRATOR is not set
1175# CONFIG_USB_IOWARRIOR is not set 1205# CONFIG_USB_IOWARRIOR is not set
1176# CONFIG_USB_ISIGHTFW is not set 1206# CONFIG_USB_ISIGHTFW is not set
1207# CONFIG_USB_VST is not set
1177# CONFIG_USB_GADGET is not set 1208# CONFIG_USB_GADGET is not set
1209# CONFIG_UWB is not set
1178# CONFIG_MMC is not set 1210# CONFIG_MMC is not set
1179# CONFIG_MEMSTICK is not set 1211# CONFIG_MEMSTICK is not set
1180# CONFIG_NEW_LEDS is not set 1212# CONFIG_NEW_LEDS is not set
@@ -1184,6 +1216,7 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
1184# CONFIG_RTC_CLASS is not set 1216# CONFIG_RTC_CLASS is not set
1185# CONFIG_DMADEVICES is not set 1217# CONFIG_DMADEVICES is not set
1186# CONFIG_UIO is not set 1218# CONFIG_UIO is not set
1219# CONFIG_STAGING is not set
1187 1220
1188# 1221#
1189# File systems 1222# File systems
@@ -1195,12 +1228,13 @@ CONFIG_EXT3_FS=y
1195CONFIG_EXT3_FS_XATTR=y 1228CONFIG_EXT3_FS_XATTR=y
1196# CONFIG_EXT3_FS_POSIX_ACL is not set 1229# CONFIG_EXT3_FS_POSIX_ACL is not set
1197# CONFIG_EXT3_FS_SECURITY is not set 1230# CONFIG_EXT3_FS_SECURITY is not set
1198# CONFIG_EXT4DEV_FS is not set 1231# CONFIG_EXT4_FS is not set
1199CONFIG_JBD=y 1232CONFIG_JBD=y
1200CONFIG_FS_MBCACHE=y 1233CONFIG_FS_MBCACHE=y
1201# CONFIG_REISERFS_FS is not set 1234# CONFIG_REISERFS_FS is not set
1202# CONFIG_JFS_FS is not set 1235# CONFIG_JFS_FS is not set
1203# CONFIG_FS_POSIX_ACL is not set 1236# CONFIG_FS_POSIX_ACL is not set
1237CONFIG_FILE_LOCKING=y
1204# CONFIG_XFS_FS is not set 1238# CONFIG_XFS_FS is not set
1205# CONFIG_OCFS2_FS is not set 1239# CONFIG_OCFS2_FS is not set
1206CONFIG_DNOTIFY=y 1240CONFIG_DNOTIFY=y
@@ -1230,6 +1264,7 @@ CONFIG_INOTIFY_USER=y
1230CONFIG_PROC_FS=y 1264CONFIG_PROC_FS=y
1231CONFIG_PROC_KCORE=y 1265CONFIG_PROC_KCORE=y
1232CONFIG_PROC_SYSCTL=y 1266CONFIG_PROC_SYSCTL=y
1267CONFIG_PROC_PAGE_MONITOR=y
1233CONFIG_SYSFS=y 1268CONFIG_SYSFS=y
1234CONFIG_TMPFS=y 1269CONFIG_TMPFS=y
1235# CONFIG_TMPFS_POSIX_ACL is not set 1270# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1268,6 +1303,7 @@ CONFIG_LOCKD_V4=y
1268CONFIG_NFS_COMMON=y 1303CONFIG_NFS_COMMON=y
1269CONFIG_SUNRPC=y 1304CONFIG_SUNRPC=y
1270CONFIG_SUNRPC_GSS=y 1305CONFIG_SUNRPC_GSS=y
1306# CONFIG_SUNRPC_REGISTER_V4 is not set
1271CONFIG_RPCSEC_GSS_KRB5=y 1307CONFIG_RPCSEC_GSS_KRB5=y
1272# CONFIG_RPCSEC_GSS_SPKM3 is not set 1308# CONFIG_RPCSEC_GSS_SPKM3 is not set
1273# CONFIG_SMB_FS is not set 1309# CONFIG_SMB_FS is not set
@@ -1301,13 +1337,11 @@ CONFIG_MSDOS_PARTITION=y
1301# CONFIG_DLM is not set 1337# CONFIG_DLM is not set
1302CONFIG_UCC_FAST=y 1338CONFIG_UCC_FAST=y
1303CONFIG_UCC=y 1339CONFIG_UCC=y
1304CONFIG_QE_GPIO=y
1305 1340
1306# 1341#
1307# Library routines 1342# Library routines
1308# 1343#
1309CONFIG_BITREVERSE=y 1344CONFIG_BITREVERSE=y
1310# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1311# CONFIG_CRC_CCITT is not set 1345# CONFIG_CRC_CCITT is not set
1312# CONFIG_CRC16 is not set 1346# CONFIG_CRC16 is not set
1313CONFIG_CRC_T10DIF=y 1347CONFIG_CRC_T10DIF=y
@@ -1335,13 +1369,15 @@ CONFIG_FRAME_WARN=1024
1335# CONFIG_DEBUG_KERNEL is not set 1369# CONFIG_DEBUG_KERNEL is not set
1336# CONFIG_DEBUG_BUGVERBOSE is not set 1370# CONFIG_DEBUG_BUGVERBOSE is not set
1337# CONFIG_DEBUG_MEMORY_INIT is not set 1371# CONFIG_DEBUG_MEMORY_INIT is not set
1372# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1338# CONFIG_LATENCYTOP is not set 1373# CONFIG_LATENCYTOP is not set
1339CONFIG_SYSCTL_SYSCALL_CHECK=y 1374CONFIG_SYSCTL_SYSCALL_CHECK=y
1340CONFIG_HAVE_FTRACE=y 1375CONFIG_HAVE_FUNCTION_TRACER=y
1341CONFIG_HAVE_DYNAMIC_FTRACE=y 1376
1342# CONFIG_FTRACE is not set 1377#
1343# CONFIG_SCHED_TRACER is not set 1378# Tracers
1344# CONFIG_CONTEXT_SWITCH_TRACER is not set 1379#
1380# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1345# CONFIG_SAMPLES is not set 1381# CONFIG_SAMPLES is not set
1346CONFIG_HAVE_ARCH_KGDB=y 1382CONFIG_HAVE_ARCH_KGDB=y
1347# CONFIG_IRQSTACKS is not set 1383# CONFIG_IRQSTACKS is not set
@@ -1353,16 +1389,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1353# 1389#
1354# CONFIG_KEYS is not set 1390# CONFIG_KEYS is not set
1355# CONFIG_SECURITY is not set 1391# CONFIG_SECURITY is not set
1392# CONFIG_SECURITYFS is not set
1356# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1393# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1357CONFIG_CRYPTO=y 1394CONFIG_CRYPTO=y
1358 1395
1359# 1396#
1360# Crypto core or helper 1397# Crypto core or helper
1361# 1398#
1399# CONFIG_CRYPTO_FIPS is not set
1362CONFIG_CRYPTO_ALGAPI=y 1400CONFIG_CRYPTO_ALGAPI=y
1363CONFIG_CRYPTO_AEAD=y 1401CONFIG_CRYPTO_AEAD=y
1364CONFIG_CRYPTO_BLKCIPHER=y 1402CONFIG_CRYPTO_BLKCIPHER=y
1365CONFIG_CRYPTO_HASH=y 1403CONFIG_CRYPTO_HASH=y
1404CONFIG_CRYPTO_RNG=y
1366CONFIG_CRYPTO_MANAGER=y 1405CONFIG_CRYPTO_MANAGER=y
1367# CONFIG_CRYPTO_GF128MUL is not set 1406# CONFIG_CRYPTO_GF128MUL is not set
1368# CONFIG_CRYPTO_NULL is not set 1407# CONFIG_CRYPTO_NULL is not set
@@ -1435,6 +1474,11 @@ CONFIG_CRYPTO_DES=y
1435# 1474#
1436# CONFIG_CRYPTO_DEFLATE is not set 1475# CONFIG_CRYPTO_DEFLATE is not set
1437# CONFIG_CRYPTO_LZO is not set 1476# CONFIG_CRYPTO_LZO is not set
1477
1478#
1479# Random Number Generation
1480#
1481# CONFIG_CRYPTO_ANSI_CPRNG is not set
1438CONFIG_CRYPTO_HW=y 1482CONFIG_CRYPTO_HW=y
1439# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1483# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1440CONFIG_CRYPTO_DEV_TALITOS=y 1484CONFIG_CRYPTO_DEV_TALITOS=y
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index f0a13bebf50c..c87b53abc617 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 07:15:20 2008 4# Sat Nov 8 12:39:43 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_SPE=y
24# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -111,7 +111,9 @@ CONFIG_SIGNALFD=y
111CONFIG_TIMERFD=y 111CONFIG_TIMERFD=y
112CONFIG_EVENTFD=y 112CONFIG_EVENTFD=y
113CONFIG_SHMEM=y 113CONFIG_SHMEM=y
114CONFIG_AIO=y
114CONFIG_VM_EVENT_COUNTERS=y 115CONFIG_VM_EVENT_COUNTERS=y
116CONFIG_PCI_QUIRKS=y
115CONFIG_SLUB_DEBUG=y 117CONFIG_SLUB_DEBUG=y
116# CONFIG_SLAB is not set 118# CONFIG_SLAB is not set
117CONFIG_SLUB=y 119CONFIG_SLUB=y
@@ -125,10 +127,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
125CONFIG_HAVE_KPROBES=y 127CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
128# CONFIG_HAVE_DMA_ATTRS is not set
129# CONFIG_USE_GENERIC_SMP_HELPERS is not set
130CONFIG_HAVE_CLK=y 130CONFIG_HAVE_CLK=y
131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
133CONFIG_SLABINFO=y 132CONFIG_SLABINFO=y
134CONFIG_RT_MUTEXES=y 133CONFIG_RT_MUTEXES=y
@@ -161,6 +160,7 @@ CONFIG_DEFAULT_CFQ=y
161# CONFIG_DEFAULT_NOOP is not set 160# CONFIG_DEFAULT_NOOP is not set
162CONFIG_DEFAULT_IOSCHED="cfq" 161CONFIG_DEFAULT_IOSCHED="cfq"
163CONFIG_CLASSIC_RCU=y 162CONFIG_CLASSIC_RCU=y
163# CONFIG_FREEZER is not set
164 164
165# 165#
166# Platform support 166# Platform support
@@ -197,9 +197,11 @@ CONFIG_PPC_I8259=y
197# CONFIG_GENERIC_IOMAP is not set 197# CONFIG_GENERIC_IOMAP is not set
198# CONFIG_CPU_FREQ is not set 198# CONFIG_CPU_FREQ is not set
199CONFIG_QUICC_ENGINE=y 199CONFIG_QUICC_ENGINE=y
200# CONFIG_QE_GPIO is not set
200CONFIG_CPM2=y 201CONFIG_CPM2=y
201CONFIG_FSL_ULI1575=y 202CONFIG_FSL_ULI1575=y
202CONFIG_CPM=y 203CONFIG_CPM=y
204# CONFIG_MPC8xxx_GPIO is not set
203 205
204# 206#
205# Kernel options 207# Kernel options
@@ -219,6 +221,8 @@ CONFIG_PREEMPT_NONE=y
219# CONFIG_PREEMPT_VOLUNTARY is not set 221# CONFIG_PREEMPT_VOLUNTARY is not set
220# CONFIG_PREEMPT is not set 222# CONFIG_PREEMPT is not set
221CONFIG_BINFMT_ELF=y 223CONFIG_BINFMT_ELF=y
224# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
225# CONFIG_HAVE_AOUT is not set
222CONFIG_BINFMT_MISC=m 226CONFIG_BINFMT_MISC=m
223CONFIG_MATH_EMULATION=y 227CONFIG_MATH_EMULATION=y
224# CONFIG_IOMMU_HELPER is not set 228# CONFIG_IOMMU_HELPER is not set
@@ -233,15 +237,15 @@ CONFIG_FLATMEM_MANUAL=y
233# CONFIG_SPARSEMEM_MANUAL is not set 237# CONFIG_SPARSEMEM_MANUAL is not set
234CONFIG_FLATMEM=y 238CONFIG_FLATMEM=y
235CONFIG_FLAT_NODE_MEM_MAP=y 239CONFIG_FLAT_NODE_MEM_MAP=y
236# CONFIG_SPARSEMEM_STATIC is not set
237# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
238CONFIG_PAGEFLAGS_EXTENDED=y 240CONFIG_PAGEFLAGS_EXTENDED=y
239CONFIG_SPLIT_PTLOCK_CPUS=4 241CONFIG_SPLIT_PTLOCK_CPUS=4
240CONFIG_MIGRATION=y 242CONFIG_MIGRATION=y
241# CONFIG_RESOURCES_64BIT is not set 243# CONFIG_RESOURCES_64BIT is not set
244# CONFIG_PHYS_ADDR_T_64BIT is not set
242CONFIG_ZONE_DMA_FLAG=1 245CONFIG_ZONE_DMA_FLAG=1
243CONFIG_BOUNCE=y 246CONFIG_BOUNCE=y
244CONFIG_VIRT_TO_BUS=y 247CONFIG_VIRT_TO_BUS=y
248CONFIG_UNEVICTABLE_LRU=y
245CONFIG_FORCE_MAX_ZONEORDER=11 249CONFIG_FORCE_MAX_ZONEORDER=11
246CONFIG_PROC_DEVICETREE=y 250CONFIG_PROC_DEVICETREE=y
247# CONFIG_CMDLINE_BOOL is not set 251# CONFIG_CMDLINE_BOOL is not set
@@ -265,7 +269,7 @@ CONFIG_PCI_SYSCALL=y
265# CONFIG_PCIEPORTBUS is not set 269# CONFIG_PCIEPORTBUS is not set
266CONFIG_ARCH_SUPPORTS_MSI=y 270CONFIG_ARCH_SUPPORTS_MSI=y
267# CONFIG_PCI_MSI is not set 271# CONFIG_PCI_MSI is not set
268CONFIG_PCI_LEGACY=y 272# CONFIG_PCI_LEGACY is not set
269# CONFIG_PCI_DEBUG is not set 273# CONFIG_PCI_DEBUG is not set
270# CONFIG_PCCARD is not set 274# CONFIG_PCCARD is not set
271# CONFIG_HOTPLUG_PCI is not set 275# CONFIG_HOTPLUG_PCI is not set
@@ -367,6 +371,7 @@ CONFIG_SCTP_HMAC_MD5=y
367# CONFIG_TIPC is not set 371# CONFIG_TIPC is not set
368# CONFIG_ATM is not set 372# CONFIG_ATM is not set
369# CONFIG_BRIDGE is not set 373# CONFIG_BRIDGE is not set
374# CONFIG_NET_DSA is not set
370# CONFIG_VLAN_8021Q is not set 375# CONFIG_VLAN_8021Q is not set
371# CONFIG_DECNET is not set 376# CONFIG_DECNET is not set
372# CONFIG_LLC2 is not set 377# CONFIG_LLC2 is not set
@@ -387,12 +392,11 @@ CONFIG_SCTP_HMAC_MD5=y
387# CONFIG_IRDA is not set 392# CONFIG_IRDA is not set
388# CONFIG_BT is not set 393# CONFIG_BT is not set
389# CONFIG_AF_RXRPC is not set 394# CONFIG_AF_RXRPC is not set
395# CONFIG_PHONET is not set
390CONFIG_FIB_RULES=y 396CONFIG_FIB_RULES=y
391 397CONFIG_WIRELESS=y
392#
393# Wireless
394#
395# CONFIG_CFG80211 is not set 398# CONFIG_CFG80211 is not set
399CONFIG_WIRELESS_OLD_REGULATORY=y
396# CONFIG_WIRELESS_EXT is not set 400# CONFIG_WIRELESS_EXT is not set
397# CONFIG_MAC80211 is not set 401# CONFIG_MAC80211 is not set
398# CONFIG_IEEE80211 is not set 402# CONFIG_IEEE80211 is not set
@@ -639,8 +643,12 @@ CONFIG_MII=y
639# CONFIG_IBM_NEW_EMAC_RGMII is not set 643# CONFIG_IBM_NEW_EMAC_RGMII is not set
640# CONFIG_IBM_NEW_EMAC_TAH is not set 644# CONFIG_IBM_NEW_EMAC_TAH is not set
641# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 645# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
646# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
647# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
648# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
642# CONFIG_NET_PCI is not set 649# CONFIG_NET_PCI is not set
643# CONFIG_B44 is not set 650# CONFIG_B44 is not set
651# CONFIG_ATL2 is not set
644# CONFIG_FS_ENET is not set 652# CONFIG_FS_ENET is not set
645CONFIG_NETDEV_1000=y 653CONFIG_NETDEV_1000=y
646# CONFIG_ACENIC is not set 654# CONFIG_ACENIC is not set
@@ -664,18 +672,22 @@ CONFIG_GIANFAR=y
664# CONFIG_QLA3XXX is not set 672# CONFIG_QLA3XXX is not set
665# CONFIG_ATL1 is not set 673# CONFIG_ATL1 is not set
666# CONFIG_ATL1E is not set 674# CONFIG_ATL1E is not set
675# CONFIG_JME is not set
667CONFIG_NETDEV_10000=y 676CONFIG_NETDEV_10000=y
668# CONFIG_CHELSIO_T1 is not set 677# CONFIG_CHELSIO_T1 is not set
669# CONFIG_CHELSIO_T3 is not set 678# CONFIG_CHELSIO_T3 is not set
679# CONFIG_ENIC is not set
670# CONFIG_IXGBE is not set 680# CONFIG_IXGBE is not set
671# CONFIG_IXGB is not set 681# CONFIG_IXGB is not set
672# CONFIG_S2IO is not set 682# CONFIG_S2IO is not set
673# CONFIG_MYRI10GE is not set 683# CONFIG_MYRI10GE is not set
674# CONFIG_NETXEN_NIC is not set 684# CONFIG_NETXEN_NIC is not set
675# CONFIG_NIU is not set 685# CONFIG_NIU is not set
686# CONFIG_MLX4_EN is not set
676# CONFIG_MLX4_CORE is not set 687# CONFIG_MLX4_CORE is not set
677# CONFIG_TEHUTI is not set 688# CONFIG_TEHUTI is not set
678# CONFIG_BNX2X is not set 689# CONFIG_BNX2X is not set
690# CONFIG_QLGE is not set
679# CONFIG_SFC is not set 691# CONFIG_SFC is not set
680# CONFIG_TR is not set 692# CONFIG_TR is not set
681 693
@@ -710,7 +722,7 @@ CONFIG_NETDEV_10000=y
710# Input device support 722# Input device support
711# 723#
712CONFIG_INPUT=y 724CONFIG_INPUT=y
713# CONFIG_INPUT_FF_MEMLESS is not set 725CONFIG_INPUT_FF_MEMLESS=m
714# CONFIG_INPUT_POLLDEV is not set 726# CONFIG_INPUT_POLLDEV is not set
715 727
716# 728#
@@ -902,7 +914,19 @@ CONFIG_SSB_POSSIBLE=y
902# CONFIG_MFD_CORE is not set 914# CONFIG_MFD_CORE is not set
903# CONFIG_MFD_SM501 is not set 915# CONFIG_MFD_SM501 is not set
904# CONFIG_HTC_PASIC3 is not set 916# CONFIG_HTC_PASIC3 is not set
917# CONFIG_UCB1400_CORE is not set
905# CONFIG_MFD_TMIO is not set 918# CONFIG_MFD_TMIO is not set
919# CONFIG_PMIC_DA903X is not set
920# CONFIG_MFD_WM8400 is not set
921# CONFIG_MFD_WM8350_I2C is not set
922
923#
924# Voltage and Current regulators
925#
926# CONFIG_REGULATOR is not set
927# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
928# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
929# CONFIG_REGULATOR_BQ24022 is not set
906 930
907# 931#
908# Multimedia devices 932# Multimedia devices
@@ -943,7 +967,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
943# CONFIG_DVB_USB is not set 967# CONFIG_DVB_USB is not set
944# CONFIG_DVB_TTUSB_BUDGET is not set 968# CONFIG_DVB_TTUSB_BUDGET is not set
945# CONFIG_DVB_TTUSB_DEC is not set 969# CONFIG_DVB_TTUSB_DEC is not set
946# CONFIG_DVB_CINERGYT2 is not set
947# CONFIG_DVB_SIANO_SMS1XXX is not set 970# CONFIG_DVB_SIANO_SMS1XXX is not set
948 971
949# 972#
@@ -961,6 +984,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
961# CONFIG_DVB_PLUTO2 is not set 984# CONFIG_DVB_PLUTO2 is not set
962 985
963# 986#
987# Supported SDMC DM1105 Adapters
988#
989# CONFIG_DVB_DM1105 is not set
990
991#
964# Supported DVB Frontends 992# Supported DVB Frontends
965# 993#
966 994
@@ -976,6 +1004,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
976# CONFIG_DVB_CX24123 is not set 1004# CONFIG_DVB_CX24123 is not set
977# CONFIG_DVB_MT312 is not set 1005# CONFIG_DVB_MT312 is not set
978# CONFIG_DVB_S5H1420 is not set 1006# CONFIG_DVB_S5H1420 is not set
1007# CONFIG_DVB_STV0288 is not set
1008# CONFIG_DVB_STB6000 is not set
979# CONFIG_DVB_STV0299 is not set 1009# CONFIG_DVB_STV0299 is not set
980# CONFIG_DVB_TDA8083 is not set 1010# CONFIG_DVB_TDA8083 is not set
981# CONFIG_DVB_TDA10086 is not set 1011# CONFIG_DVB_TDA10086 is not set
@@ -983,6 +1013,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
983# CONFIG_DVB_TUNER_ITD1000 is not set 1013# CONFIG_DVB_TUNER_ITD1000 is not set
984# CONFIG_DVB_TDA826X is not set 1014# CONFIG_DVB_TDA826X is not set
985# CONFIG_DVB_TUA6100 is not set 1015# CONFIG_DVB_TUA6100 is not set
1016# CONFIG_DVB_CX24116 is not set
1017# CONFIG_DVB_SI21XX is not set
986 1018
987# 1019#
988# DVB-T (terrestrial) frontends 1020# DVB-T (terrestrial) frontends
@@ -1035,6 +1067,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1035# CONFIG_DVB_LNBP21 is not set 1067# CONFIG_DVB_LNBP21 is not set
1036# CONFIG_DVB_ISL6405 is not set 1068# CONFIG_DVB_ISL6405 is not set
1037# CONFIG_DVB_ISL6421 is not set 1069# CONFIG_DVB_ISL6421 is not set
1070# CONFIG_DVB_LGS8GL5 is not set
1071
1072#
1073# Tools to develop new frontends
1074#
1075# CONFIG_DVB_DUMMY_FE is not set
1076# CONFIG_DVB_AF9013 is not set
1038CONFIG_DAB=y 1077CONFIG_DAB=y
1039# CONFIG_USB_DABUSB is not set 1078# CONFIG_USB_DABUSB is not set
1040 1079
@@ -1060,6 +1099,7 @@ CONFIG_VGA_CONSOLE=y
1060# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1099# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1061CONFIG_DUMMY_CONSOLE=y 1100CONFIG_DUMMY_CONSOLE=y
1062CONFIG_SOUND=y 1101CONFIG_SOUND=y
1102CONFIG_SOUND_OSS_CORE=y
1063CONFIG_SND=y 1103CONFIG_SND=y
1064CONFIG_SND_TIMER=y 1104CONFIG_SND_TIMER=y
1065CONFIG_SND_PCM=y 1105CONFIG_SND_PCM=y
@@ -1160,9 +1200,36 @@ CONFIG_HID=y
1160# USB Input Devices 1200# USB Input Devices
1161# 1201#
1162CONFIG_USB_HID=y 1202CONFIG_USB_HID=y
1163# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1203# CONFIG_HID_PID is not set
1164# CONFIG_HID_FF is not set
1165# CONFIG_USB_HIDDEV is not set 1204# CONFIG_USB_HIDDEV is not set
1205
1206#
1207# Special HID drivers
1208#
1209CONFIG_HID_COMPAT=y
1210CONFIG_HID_A4TECH=y
1211CONFIG_HID_APPLE=y
1212CONFIG_HID_BELKIN=y
1213CONFIG_HID_BRIGHT=y
1214CONFIG_HID_CHERRY=y
1215CONFIG_HID_CHICONY=y
1216CONFIG_HID_CYPRESS=y
1217CONFIG_HID_DELL=y
1218CONFIG_HID_EZKEY=y
1219CONFIG_HID_GYRATION=y
1220CONFIG_HID_LOGITECH=y
1221# CONFIG_LOGITECH_FF is not set
1222# CONFIG_LOGIRUMBLEPAD2_FF is not set
1223CONFIG_HID_MICROSOFT=y
1224CONFIG_HID_MONTEREY=y
1225CONFIG_HID_PANTHERLORD=y
1226# CONFIG_PANTHERLORD_FF is not set
1227CONFIG_HID_PETALYNX=y
1228CONFIG_HID_SAMSUNG=y
1229CONFIG_HID_SONY=y
1230CONFIG_HID_SUNPLUS=y
1231CONFIG_THRUSTMASTER_FF=m
1232CONFIG_ZEROPLUS_FF=m
1166CONFIG_USB_SUPPORT=y 1233CONFIG_USB_SUPPORT=y
1167CONFIG_USB_ARCH_HAS_HCD=y 1234CONFIG_USB_ARCH_HAS_HCD=y
1168CONFIG_USB_ARCH_HAS_OHCI=y 1235CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1181,6 +1248,8 @@ CONFIG_USB_DEVICE_CLASS=y
1181# CONFIG_USB_OTG_WHITELIST is not set 1248# CONFIG_USB_OTG_WHITELIST is not set
1182# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1249# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1183CONFIG_USB_MON=y 1250CONFIG_USB_MON=y
1251# CONFIG_USB_WUSB is not set
1252# CONFIG_USB_WUSB_CBAF is not set
1184 1253
1185# 1254#
1186# USB Host Controller Drivers 1255# USB Host Controller Drivers
@@ -1204,6 +1273,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1204# CONFIG_USB_UHCI_HCD is not set 1273# CONFIG_USB_UHCI_HCD is not set
1205# CONFIG_USB_SL811_HCD is not set 1274# CONFIG_USB_SL811_HCD is not set
1206# CONFIG_USB_R8A66597_HCD is not set 1275# CONFIG_USB_R8A66597_HCD is not set
1276# CONFIG_USB_WHCI_HCD is not set
1277# CONFIG_USB_HWA_HCD is not set
1207# CONFIG_USB_MUSB_HDRC is not set 1278# CONFIG_USB_MUSB_HDRC is not set
1208 1279
1209# 1280#
@@ -1212,6 +1283,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1212# CONFIG_USB_ACM is not set 1283# CONFIG_USB_ACM is not set
1213# CONFIG_USB_PRINTER is not set 1284# CONFIG_USB_PRINTER is not set
1214# CONFIG_USB_WDM is not set 1285# CONFIG_USB_WDM is not set
1286# CONFIG_USB_TMC is not set
1215 1287
1216# 1288#
1217# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1289# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1233,7 +1305,6 @@ CONFIG_USB_STORAGE=y
1233# CONFIG_USB_STORAGE_ALAUDA is not set 1305# CONFIG_USB_STORAGE_ALAUDA is not set
1234# CONFIG_USB_STORAGE_ONETOUCH is not set 1306# CONFIG_USB_STORAGE_ONETOUCH is not set
1235# CONFIG_USB_STORAGE_KARMA is not set 1307# CONFIG_USB_STORAGE_KARMA is not set
1236# CONFIG_USB_STORAGE_SIERRA is not set
1237# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1308# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1238# CONFIG_USB_LIBUSUAL is not set 1309# CONFIG_USB_LIBUSUAL is not set
1239 1310
@@ -1254,6 +1325,7 @@ CONFIG_USB_STORAGE=y
1254# CONFIG_USB_EMI62 is not set 1325# CONFIG_USB_EMI62 is not set
1255# CONFIG_USB_EMI26 is not set 1326# CONFIG_USB_EMI26 is not set
1256# CONFIG_USB_ADUTUX is not set 1327# CONFIG_USB_ADUTUX is not set
1328# CONFIG_USB_SEVSEG is not set
1257# CONFIG_USB_RIO500 is not set 1329# CONFIG_USB_RIO500 is not set
1258# CONFIG_USB_LEGOTOWER is not set 1330# CONFIG_USB_LEGOTOWER is not set
1259# CONFIG_USB_LCD is not set 1331# CONFIG_USB_LCD is not set
@@ -1271,7 +1343,9 @@ CONFIG_USB_STORAGE=y
1271# CONFIG_USB_IOWARRIOR is not set 1343# CONFIG_USB_IOWARRIOR is not set
1272# CONFIG_USB_TEST is not set 1344# CONFIG_USB_TEST is not set
1273# CONFIG_USB_ISIGHTFW is not set 1345# CONFIG_USB_ISIGHTFW is not set
1346# CONFIG_USB_VST is not set
1274# CONFIG_USB_GADGET is not set 1347# CONFIG_USB_GADGET is not set
1348# CONFIG_UWB is not set
1275# CONFIG_MMC is not set 1349# CONFIG_MMC is not set
1276# CONFIG_MEMSTICK is not set 1350# CONFIG_MEMSTICK is not set
1277# CONFIG_NEW_LEDS is not set 1351# CONFIG_NEW_LEDS is not set
@@ -1324,12 +1398,15 @@ CONFIG_RTC_INTF_DEV=y
1324# Platform RTC drivers 1398# Platform RTC drivers
1325# 1399#
1326CONFIG_RTC_DRV_CMOS=y 1400CONFIG_RTC_DRV_CMOS=y
1401# CONFIG_RTC_DRV_DS1286 is not set
1327# CONFIG_RTC_DRV_DS1511 is not set 1402# CONFIG_RTC_DRV_DS1511 is not set
1328# CONFIG_RTC_DRV_DS1553 is not set 1403# CONFIG_RTC_DRV_DS1553 is not set
1329# CONFIG_RTC_DRV_DS1742 is not set 1404# CONFIG_RTC_DRV_DS1742 is not set
1330# CONFIG_RTC_DRV_STK17TA8 is not set 1405# CONFIG_RTC_DRV_STK17TA8 is not set
1331# CONFIG_RTC_DRV_M48T86 is not set 1406# CONFIG_RTC_DRV_M48T86 is not set
1407# CONFIG_RTC_DRV_M48T35 is not set
1332# CONFIG_RTC_DRV_M48T59 is not set 1408# CONFIG_RTC_DRV_M48T59 is not set
1409# CONFIG_RTC_DRV_BQ4802 is not set
1333# CONFIG_RTC_DRV_V3020 is not set 1410# CONFIG_RTC_DRV_V3020 is not set
1334 1411
1335# 1412#
@@ -1350,6 +1427,7 @@ CONFIG_DMA_ENGINE=y
1350# CONFIG_NET_DMA is not set 1427# CONFIG_NET_DMA is not set
1351# CONFIG_DMATEST is not set 1428# CONFIG_DMATEST is not set
1352# CONFIG_UIO is not set 1429# CONFIG_UIO is not set
1430# CONFIG_STAGING is not set
1353 1431
1354# 1432#
1355# File systems 1433# File systems
@@ -1361,13 +1439,14 @@ CONFIG_EXT3_FS=y
1361CONFIG_EXT3_FS_XATTR=y 1439CONFIG_EXT3_FS_XATTR=y
1362# CONFIG_EXT3_FS_POSIX_ACL is not set 1440# CONFIG_EXT3_FS_POSIX_ACL is not set
1363# CONFIG_EXT3_FS_SECURITY is not set 1441# CONFIG_EXT3_FS_SECURITY is not set
1364# CONFIG_EXT4DEV_FS is not set 1442# CONFIG_EXT4_FS is not set
1365CONFIG_JBD=y 1443CONFIG_JBD=y
1366# CONFIG_JBD_DEBUG is not set 1444# CONFIG_JBD_DEBUG is not set
1367CONFIG_FS_MBCACHE=y 1445CONFIG_FS_MBCACHE=y
1368# CONFIG_REISERFS_FS is not set 1446# CONFIG_REISERFS_FS is not set
1369# CONFIG_JFS_FS is not set 1447# CONFIG_JFS_FS is not set
1370# CONFIG_FS_POSIX_ACL is not set 1448# CONFIG_FS_POSIX_ACL is not set
1449CONFIG_FILE_LOCKING=y
1371# CONFIG_XFS_FS is not set 1450# CONFIG_XFS_FS is not set
1372# CONFIG_OCFS2_FS is not set 1451# CONFIG_OCFS2_FS is not set
1373CONFIG_DNOTIFY=y 1452CONFIG_DNOTIFY=y
@@ -1405,6 +1484,7 @@ CONFIG_NTFS_FS=y
1405CONFIG_PROC_FS=y 1484CONFIG_PROC_FS=y
1406CONFIG_PROC_KCORE=y 1485CONFIG_PROC_KCORE=y
1407CONFIG_PROC_SYSCTL=y 1486CONFIG_PROC_SYSCTL=y
1487CONFIG_PROC_PAGE_MONITOR=y
1408CONFIG_SYSFS=y 1488CONFIG_SYSFS=y
1409CONFIG_TMPFS=y 1489CONFIG_TMPFS=y
1410# CONFIG_TMPFS_POSIX_ACL is not set 1490# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1449,6 +1529,7 @@ CONFIG_EXPORTFS=y
1449CONFIG_NFS_COMMON=y 1529CONFIG_NFS_COMMON=y
1450CONFIG_SUNRPC=y 1530CONFIG_SUNRPC=y
1451CONFIG_SUNRPC_GSS=y 1531CONFIG_SUNRPC_GSS=y
1532# CONFIG_SUNRPC_REGISTER_V4 is not set
1452CONFIG_RPCSEC_GSS_KRB5=y 1533CONFIG_RPCSEC_GSS_KRB5=y
1453# CONFIG_RPCSEC_GSS_SPKM3 is not set 1534# CONFIG_RPCSEC_GSS_SPKM3 is not set
1454# CONFIG_SMB_FS is not set 1535# CONFIG_SMB_FS is not set
@@ -1519,13 +1600,11 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1519# CONFIG_NLS_KOI8_U is not set 1600# CONFIG_NLS_KOI8_U is not set
1520CONFIG_NLS_UTF8=m 1601CONFIG_NLS_UTF8=m
1521# CONFIG_DLM is not set 1602# CONFIG_DLM is not set
1522# CONFIG_QE_GPIO is not set
1523 1603
1524# 1604#
1525# Library routines 1605# Library routines
1526# 1606#
1527CONFIG_BITREVERSE=y 1607CONFIG_BITREVERSE=y
1528# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1529# CONFIG_CRC_CCITT is not set 1608# CONFIG_CRC_CCITT is not set
1530# CONFIG_CRC16 is not set 1609# CONFIG_CRC16 is not set
1531CONFIG_CRC_T10DIF=y 1610CONFIG_CRC_T10DIF=y
@@ -1579,15 +1658,23 @@ CONFIG_DEBUG_INFO=y
1579# CONFIG_DEBUG_SG is not set 1658# CONFIG_DEBUG_SG is not set
1580# CONFIG_BOOT_PRINTK_DELAY is not set 1659# CONFIG_BOOT_PRINTK_DELAY is not set
1581# CONFIG_RCU_TORTURE_TEST is not set 1660# CONFIG_RCU_TORTURE_TEST is not set
1661# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1582# CONFIG_BACKTRACE_SELF_TEST is not set 1662# CONFIG_BACKTRACE_SELF_TEST is not set
1663# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1583# CONFIG_FAULT_INJECTION is not set 1664# CONFIG_FAULT_INJECTION is not set
1584# CONFIG_LATENCYTOP is not set 1665# CONFIG_LATENCYTOP is not set
1585CONFIG_SYSCTL_SYSCALL_CHECK=y 1666CONFIG_SYSCTL_SYSCALL_CHECK=y
1586CONFIG_HAVE_FTRACE=y 1667CONFIG_HAVE_FUNCTION_TRACER=y
1587CONFIG_HAVE_DYNAMIC_FTRACE=y 1668
1588# CONFIG_FTRACE is not set 1669#
1670# Tracers
1671#
1672# CONFIG_FUNCTION_TRACER is not set
1589# CONFIG_SCHED_TRACER is not set 1673# CONFIG_SCHED_TRACER is not set
1590# CONFIG_CONTEXT_SWITCH_TRACER is not set 1674# CONFIG_CONTEXT_SWITCH_TRACER is not set
1675# CONFIG_BOOT_TRACER is not set
1676# CONFIG_STACK_TRACER is not set
1677# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1591# CONFIG_SAMPLES is not set 1678# CONFIG_SAMPLES is not set
1592CONFIG_HAVE_ARCH_KGDB=y 1679CONFIG_HAVE_ARCH_KGDB=y
1593# CONFIG_KGDB is not set 1680# CONFIG_KGDB is not set
@@ -1596,6 +1683,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1596# CONFIG_DEBUG_PAGEALLOC is not set 1683# CONFIG_DEBUG_PAGEALLOC is not set
1597# CONFIG_CODE_PATCHING_SELFTEST is not set 1684# CONFIG_CODE_PATCHING_SELFTEST is not set
1598# CONFIG_FTR_FIXUP_SELFTEST is not set 1685# CONFIG_FTR_FIXUP_SELFTEST is not set
1686# CONFIG_MSI_BITMAP_SELFTEST is not set
1599# CONFIG_XMON is not set 1687# CONFIG_XMON is not set
1600# CONFIG_IRQSTACKS is not set 1688# CONFIG_IRQSTACKS is not set
1601CONFIG_VIRQ_DEBUG=y 1689CONFIG_VIRQ_DEBUG=y
@@ -1607,15 +1695,19 @@ CONFIG_VIRQ_DEBUG=y
1607# 1695#
1608# CONFIG_KEYS is not set 1696# CONFIG_KEYS is not set
1609# CONFIG_SECURITY is not set 1697# CONFIG_SECURITY is not set
1698# CONFIG_SECURITYFS is not set
1610# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1699# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1611CONFIG_CRYPTO=y 1700CONFIG_CRYPTO=y
1612 1701
1613# 1702#
1614# Crypto core or helper 1703# Crypto core or helper
1615# 1704#
1705# CONFIG_CRYPTO_FIPS is not set
1616CONFIG_CRYPTO_ALGAPI=y 1706CONFIG_CRYPTO_ALGAPI=y
1707CONFIG_CRYPTO_AEAD=y
1617CONFIG_CRYPTO_BLKCIPHER=y 1708CONFIG_CRYPTO_BLKCIPHER=y
1618CONFIG_CRYPTO_HASH=y 1709CONFIG_CRYPTO_HASH=y
1710CONFIG_CRYPTO_RNG=y
1619CONFIG_CRYPTO_MANAGER=y 1711CONFIG_CRYPTO_MANAGER=y
1620# CONFIG_CRYPTO_GF128MUL is not set 1712# CONFIG_CRYPTO_GF128MUL is not set
1621# CONFIG_CRYPTO_NULL is not set 1713# CONFIG_CRYPTO_NULL is not set
@@ -1688,6 +1780,11 @@ CONFIG_CRYPTO_DES=y
1688# 1780#
1689# CONFIG_CRYPTO_DEFLATE is not set 1781# CONFIG_CRYPTO_DEFLATE is not set
1690# CONFIG_CRYPTO_LZO is not set 1782# CONFIG_CRYPTO_LZO is not set
1783
1784#
1785# Random Number Generation
1786#
1787# CONFIG_CRYPTO_ANSI_CPRNG is not set
1691CONFIG_CRYPTO_HW=y 1788CONFIG_CRYPTO_HW=y
1692# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1789# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1693# CONFIG_CRYPTO_DEV_TALITOS is not set 1790# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 1501c4336b3d..8272b1ac71f9 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:11 2008 4# Sat Nov 8 12:39:43 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_8xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -99,6 +99,7 @@ CONFIG_SIGNALFD=y
99CONFIG_TIMERFD=y 99CONFIG_TIMERFD=y
100CONFIG_EVENTFD=y 100CONFIG_EVENTFD=y
101CONFIG_SHMEM=y 101CONFIG_SHMEM=y
102CONFIG_AIO=y
102# CONFIG_VM_EVENT_COUNTERS is not set 103# CONFIG_VM_EVENT_COUNTERS is not set
103CONFIG_SLUB_DEBUG=y 104CONFIG_SLUB_DEBUG=y
104# CONFIG_SLAB is not set 105# CONFIG_SLAB is not set
@@ -112,10 +113,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
112CONFIG_HAVE_KPROBES=y 113CONFIG_HAVE_KPROBES=y
113CONFIG_HAVE_KRETPROBES=y 114CONFIG_HAVE_KRETPROBES=y
114CONFIG_HAVE_ARCH_TRACEHOOK=y 115CONFIG_HAVE_ARCH_TRACEHOOK=y
115# CONFIG_HAVE_DMA_ATTRS is not set
116# CONFIG_USE_GENERIC_SMP_HELPERS is not set
117CONFIG_HAVE_CLK=y 116CONFIG_HAVE_CLK=y
118CONFIG_PROC_PAGE_MONITOR=y
119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 117# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
120CONFIG_SLABINFO=y 118CONFIG_SLABINFO=y
121CONFIG_RT_MUTEXES=y 119CONFIG_RT_MUTEXES=y
@@ -142,6 +140,7 @@ CONFIG_DEFAULT_AS=y
142# CONFIG_DEFAULT_NOOP is not set 140# CONFIG_DEFAULT_NOOP is not set
143CONFIG_DEFAULT_IOSCHED="anticipatory" 141CONFIG_DEFAULT_IOSCHED="anticipatory"
144CONFIG_CLASSIC_RCU=y 142CONFIG_CLASSIC_RCU=y
143# CONFIG_FREEZER is not set
145 144
146# 145#
147# Platform support 146# Platform support
@@ -154,6 +153,7 @@ CONFIG_MPC86XADS=y
154# CONFIG_MPC885ADS is not set 153# CONFIG_MPC885ADS is not set
155# CONFIG_PPC_EP88XC is not set 154# CONFIG_PPC_EP88XC is not set
156# CONFIG_PPC_ADDER875 is not set 155# CONFIG_PPC_ADDER875 is not set
156# CONFIG_PPC_MGSUVD is not set
157 157
158# 158#
159# MPC8xx CPM Options 159# MPC8xx CPM Options
@@ -182,6 +182,7 @@ CONFIG_NO_UCODE_PATCH=y
182# CONFIG_PPC_INDIRECT_IO is not set 182# CONFIG_PPC_INDIRECT_IO is not set
183# CONFIG_GENERIC_IOMAP is not set 183# CONFIG_GENERIC_IOMAP is not set
184# CONFIG_CPU_FREQ is not set 184# CONFIG_CPU_FREQ is not set
185# CONFIG_QUICC_ENGINE is not set
185# CONFIG_FSL_ULI1575 is not set 186# CONFIG_FSL_ULI1575 is not set
186CONFIG_CPM=y 187CONFIG_CPM=y
187 188
@@ -203,6 +204,8 @@ CONFIG_PREEMPT_NONE=y
203# CONFIG_PREEMPT_VOLUNTARY is not set 204# CONFIG_PREEMPT_VOLUNTARY is not set
204# CONFIG_PREEMPT is not set 205# CONFIG_PREEMPT is not set
205CONFIG_BINFMT_ELF=y 206CONFIG_BINFMT_ELF=y
207# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
208# CONFIG_HAVE_AOUT is not set
206# CONFIG_BINFMT_MISC is not set 209# CONFIG_BINFMT_MISC is not set
207CONFIG_MATH_EMULATION=y 210CONFIG_MATH_EMULATION=y
208# CONFIG_IOMMU_HELPER is not set 211# CONFIG_IOMMU_HELPER is not set
@@ -217,15 +220,15 @@ CONFIG_FLATMEM_MANUAL=y
217# CONFIG_SPARSEMEM_MANUAL is not set 220# CONFIG_SPARSEMEM_MANUAL is not set
218CONFIG_FLATMEM=y 221CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 222CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 223CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 224CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 225CONFIG_MIGRATION=y
225# CONFIG_RESOURCES_64BIT is not set 226# CONFIG_RESOURCES_64BIT is not set
227# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 228CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 229CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 230CONFIG_VIRT_TO_BUS=y
231CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 232CONFIG_FORCE_MAX_ZONEORDER=11
230# CONFIG_PROC_DEVICETREE is not set 233# CONFIG_PROC_DEVICETREE is not set
231# CONFIG_CMDLINE_BOOL is not set 234# CONFIG_CMDLINE_BOOL is not set
@@ -311,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
311# CONFIG_TIPC is not set 314# CONFIG_TIPC is not set
312# CONFIG_ATM is not set 315# CONFIG_ATM is not set
313# CONFIG_BRIDGE is not set 316# CONFIG_BRIDGE is not set
317# CONFIG_NET_DSA is not set
314# CONFIG_VLAN_8021Q is not set 318# CONFIG_VLAN_8021Q is not set
315# CONFIG_DECNET is not set 319# CONFIG_DECNET is not set
316# CONFIG_LLC2 is not set 320# CONFIG_LLC2 is not set
@@ -331,11 +335,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_IRDA is not set 335# CONFIG_IRDA is not set
332# CONFIG_BT is not set 336# CONFIG_BT is not set
333# CONFIG_AF_RXRPC is not set 337# CONFIG_AF_RXRPC is not set
334 338# CONFIG_PHONET is not set
335# 339CONFIG_WIRELESS=y
336# Wireless
337#
338# CONFIG_CFG80211 is not set 340# CONFIG_CFG80211 is not set
341CONFIG_WIRELESS_OLD_REGULATORY=y
339# CONFIG_WIRELESS_EXT is not set 342# CONFIG_WIRELESS_EXT is not set
340# CONFIG_MAC80211 is not set 343# CONFIG_MAC80211 is not set
341# CONFIG_IEEE80211 is not set 344# CONFIG_IEEE80211 is not set
@@ -412,6 +415,9 @@ CONFIG_MII=y
412# CONFIG_IBM_NEW_EMAC_RGMII is not set 415# CONFIG_IBM_NEW_EMAC_RGMII is not set
413# CONFIG_IBM_NEW_EMAC_TAH is not set 416# CONFIG_IBM_NEW_EMAC_TAH is not set
414# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 417# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
418# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
419# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
420# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
415# CONFIG_B44 is not set 421# CONFIG_B44 is not set
416CONFIG_FS_ENET=y 422CONFIG_FS_ENET=y
417CONFIG_FS_ENET_HAS_SCC=y 423CONFIG_FS_ENET_HAS_SCC=y
@@ -471,6 +477,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
471CONFIG_MOUSE_PS2_SYNAPTICS=y 477CONFIG_MOUSE_PS2_SYNAPTICS=y
472CONFIG_MOUSE_PS2_LIFEBOOK=y 478CONFIG_MOUSE_PS2_LIFEBOOK=y
473CONFIG_MOUSE_PS2_TRACKPOINT=y 479CONFIG_MOUSE_PS2_TRACKPOINT=y
480# CONFIG_MOUSE_PS2_ELANTECH is not set
474# CONFIG_MOUSE_PS2_TOUCHKIT is not set 481# CONFIG_MOUSE_PS2_TOUCHKIT is not set
475# CONFIG_MOUSE_SERIAL is not set 482# CONFIG_MOUSE_SERIAL is not set
476# CONFIG_MOUSE_VSXXXAA is not set 483# CONFIG_MOUSE_VSXXXAA is not set
@@ -510,12 +517,6 @@ CONFIG_SERIAL_CORE=y
510CONFIG_SERIAL_CORE_CONSOLE=y 517CONFIG_SERIAL_CORE_CONSOLE=y
511CONFIG_SERIAL_CPM=y 518CONFIG_SERIAL_CPM=y
512CONFIG_SERIAL_CPM_CONSOLE=y 519CONFIG_SERIAL_CPM_CONSOLE=y
513# CONFIG_SERIAL_CPM_SCC1 is not set
514# CONFIG_SERIAL_CPM_SCC2 is not set
515# CONFIG_SERIAL_CPM_SCC3 is not set
516# CONFIG_SERIAL_CPM_SCC4 is not set
517CONFIG_SERIAL_CPM_SMC1=y
518CONFIG_SERIAL_CPM_SMC2=y
519CONFIG_UNIX98_PTYS=y 520CONFIG_UNIX98_PTYS=y
520# CONFIG_LEGACY_PTYS is not set 521# CONFIG_LEGACY_PTYS is not set
521# CONFIG_IPMI_HANDLER is not set 522# CONFIG_IPMI_HANDLER is not set
@@ -564,6 +565,14 @@ CONFIG_SSB_POSSIBLE=y
564# CONFIG_MFD_TMIO is not set 565# CONFIG_MFD_TMIO is not set
565 566
566# 567#
568# Voltage and Current regulators
569#
570# CONFIG_REGULATOR is not set
571# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
572# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
573# CONFIG_REGULATOR_BQ24022 is not set
574
575#
567# Multimedia devices 576# Multimedia devices
568# 577#
569 578
@@ -596,6 +605,12 @@ CONFIG_HID_SUPPORT=y
596CONFIG_HID=y 605CONFIG_HID=y
597# CONFIG_HID_DEBUG is not set 606# CONFIG_HID_DEBUG is not set
598# CONFIG_HIDRAW is not set 607# CONFIG_HIDRAW is not set
608# CONFIG_HID_PID is not set
609
610#
611# Special HID drivers
612#
613CONFIG_HID_COMPAT=y
599CONFIG_USB_SUPPORT=y 614CONFIG_USB_SUPPORT=y
600# CONFIG_USB_ARCH_HAS_HCD is not set 615# CONFIG_USB_ARCH_HAS_HCD is not set
601# CONFIG_USB_ARCH_HAS_OHCI is not set 616# CONFIG_USB_ARCH_HAS_OHCI is not set
@@ -619,6 +634,7 @@ CONFIG_USB_SUPPORT=y
619# CONFIG_RTC_CLASS is not set 634# CONFIG_RTC_CLASS is not set
620# CONFIG_DMADEVICES is not set 635# CONFIG_DMADEVICES is not set
621# CONFIG_UIO is not set 636# CONFIG_UIO is not set
637# CONFIG_STAGING is not set
622 638
623# 639#
624# File systems 640# File systems
@@ -632,12 +648,13 @@ CONFIG_EXT3_FS=y
632CONFIG_EXT3_FS_XATTR=y 648CONFIG_EXT3_FS_XATTR=y
633# CONFIG_EXT3_FS_POSIX_ACL is not set 649# CONFIG_EXT3_FS_POSIX_ACL is not set
634# CONFIG_EXT3_FS_SECURITY is not set 650# CONFIG_EXT3_FS_SECURITY is not set
635# CONFIG_EXT4DEV_FS is not set 651# CONFIG_EXT4_FS is not set
636CONFIG_JBD=y 652CONFIG_JBD=y
637CONFIG_FS_MBCACHE=y 653CONFIG_FS_MBCACHE=y
638# CONFIG_REISERFS_FS is not set 654# CONFIG_REISERFS_FS is not set
639# CONFIG_JFS_FS is not set 655# CONFIG_JFS_FS is not set
640# CONFIG_FS_POSIX_ACL is not set 656# CONFIG_FS_POSIX_ACL is not set
657CONFIG_FILE_LOCKING=y
641# CONFIG_XFS_FS is not set 658# CONFIG_XFS_FS is not set
642# CONFIG_OCFS2_FS is not set 659# CONFIG_OCFS2_FS is not set
643CONFIG_DNOTIFY=y 660CONFIG_DNOTIFY=y
@@ -667,6 +684,7 @@ CONFIG_INOTIFY_USER=y
667CONFIG_PROC_FS=y 684CONFIG_PROC_FS=y
668# CONFIG_PROC_KCORE is not set 685# CONFIG_PROC_KCORE is not set
669CONFIG_PROC_SYSCTL=y 686CONFIG_PROC_SYSCTL=y
687CONFIG_PROC_PAGE_MONITOR=y
670CONFIG_SYSFS=y 688CONFIG_SYSFS=y
671CONFIG_TMPFS=y 689CONFIG_TMPFS=y
672# CONFIG_TMPFS_POSIX_ACL is not set 690# CONFIG_TMPFS_POSIX_ACL is not set
@@ -703,6 +721,7 @@ CONFIG_LOCKD=y
703CONFIG_LOCKD_V4=y 721CONFIG_LOCKD_V4=y
704CONFIG_NFS_COMMON=y 722CONFIG_NFS_COMMON=y
705CONFIG_SUNRPC=y 723CONFIG_SUNRPC=y
724# CONFIG_SUNRPC_REGISTER_V4 is not set
706# CONFIG_RPCSEC_GSS_KRB5 is not set 725# CONFIG_RPCSEC_GSS_KRB5 is not set
707# CONFIG_RPCSEC_GSS_SPKM3 is not set 726# CONFIG_RPCSEC_GSS_SPKM3 is not set
708# CONFIG_SMB_FS is not set 727# CONFIG_SMB_FS is not set
@@ -739,7 +758,6 @@ CONFIG_MSDOS_PARTITION=y
739# Library routines 758# Library routines
740# 759#
741CONFIG_BITREVERSE=y 760CONFIG_BITREVERSE=y
742# CONFIG_GENERIC_FIND_FIRST_BIT is not set
743CONFIG_CRC_CCITT=y 761CONFIG_CRC_CCITT=y
744# CONFIG_CRC16 is not set 762# CONFIG_CRC16 is not set
745# CONFIG_CRC_T10DIF is not set 763# CONFIG_CRC_T10DIF is not set
@@ -769,12 +787,14 @@ CONFIG_FRAME_WARN=1024
769# CONFIG_SLUB_DEBUG_ON is not set 787# CONFIG_SLUB_DEBUG_ON is not set
770# CONFIG_SLUB_STATS is not set 788# CONFIG_SLUB_STATS is not set
771# CONFIG_DEBUG_MEMORY_INIT is not set 789# CONFIG_DEBUG_MEMORY_INIT is not set
790# CONFIG_RCU_CPU_STALL_DETECTOR is not set
772# CONFIG_LATENCYTOP is not set 791# CONFIG_LATENCYTOP is not set
773CONFIG_HAVE_FTRACE=y 792CONFIG_HAVE_FUNCTION_TRACER=y
774CONFIG_HAVE_DYNAMIC_FTRACE=y 793
775# CONFIG_FTRACE is not set 794#
776# CONFIG_SCHED_TRACER is not set 795# Tracers
777# CONFIG_CONTEXT_SWITCH_TRACER is not set 796#
797# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
778# CONFIG_SAMPLES is not set 798# CONFIG_SAMPLES is not set
779CONFIG_HAVE_ARCH_KGDB=y 799CONFIG_HAVE_ARCH_KGDB=y
780# CONFIG_IRQSTACKS is not set 800# CONFIG_IRQSTACKS is not set
@@ -785,12 +805,14 @@ CONFIG_HAVE_ARCH_KGDB=y
785# 805#
786# CONFIG_KEYS is not set 806# CONFIG_KEYS is not set
787# CONFIG_SECURITY is not set 807# CONFIG_SECURITY is not set
808# CONFIG_SECURITYFS is not set
788# CONFIG_SECURITY_FILE_CAPABILITIES is not set 809# CONFIG_SECURITY_FILE_CAPABILITIES is not set
789CONFIG_CRYPTO=y 810CONFIG_CRYPTO=y
790 811
791# 812#
792# Crypto core or helper 813# Crypto core or helper
793# 814#
815# CONFIG_CRYPTO_FIPS is not set
794# CONFIG_CRYPTO_MANAGER is not set 816# CONFIG_CRYPTO_MANAGER is not set
795# CONFIG_CRYPTO_GF128MUL is not set 817# CONFIG_CRYPTO_GF128MUL is not set
796# CONFIG_CRYPTO_NULL is not set 818# CONFIG_CRYPTO_NULL is not set
@@ -862,6 +884,11 @@ CONFIG_CRYPTO=y
862# 884#
863# CONFIG_CRYPTO_DEFLATE is not set 885# CONFIG_CRYPTO_DEFLATE is not set
864# CONFIG_CRYPTO_LZO is not set 886# CONFIG_CRYPTO_LZO is not set
887
888#
889# Random Number Generation
890#
891# CONFIG_CRYPTO_ANSI_CPRNG is not set
865CONFIG_CRYPTO_HW=y 892CONFIG_CRYPTO_HW=y
866# CONFIG_CRYPTO_DEV_TALITOS is not set 893# CONFIG_CRYPTO_DEV_TALITOS is not set
867CONFIG_PPC_CLOCK=y 894CONFIG_PPC_CLOCK=y
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig
index 9d4be820cf1f..1736bbc281ec 100644
--- a/arch/powerpc/configs/mpc86xx_defconfig
+++ b/arch/powerpc/configs/mpc86xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc5 3# Linux kernel version: 2.6.28-rc3
4# Tue Sep 23 23:28:38 2008 4# Sat Nov 8 12:39:44 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_PHYS_64BIT is not set
18CONFIG_ALTIVEC=y 19CONFIG_ALTIVEC=y
19CONFIG_PPC_STD_MMU=y 20CONFIG_PPC_STD_MMU=y
20CONFIG_PPC_STD_MMU_32=y 21CONFIG_PPC_STD_MMU_32=y
@@ -23,7 +24,7 @@ CONFIG_SMP=y
23CONFIG_NR_CPUS=2 24CONFIG_NR_CPUS=2
24CONFIG_PPC32=y 25CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 28CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -109,7 +110,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
115CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -123,10 +126,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 126CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 127CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 128CONFIG_HAVE_ARCH_TRACEHOOK=y
126# CONFIG_HAVE_DMA_ATTRS is not set
127CONFIG_USE_GENERIC_SMP_HELPERS=y 129CONFIG_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 130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
@@ -160,7 +160,7 @@ CONFIG_DEFAULT_CFQ=y
160# CONFIG_DEFAULT_NOOP is not set 160# CONFIG_DEFAULT_NOOP is not set
161CONFIG_DEFAULT_IOSCHED="cfq" 161CONFIG_DEFAULT_IOSCHED="cfq"
162CONFIG_CLASSIC_RCU=y 162CONFIG_CLASSIC_RCU=y
163# CONFIG_MPC8xxx_GPIO is not set 163# CONFIG_FREEZER is not set
164 164
165# 165#
166# Platform support 166# Platform support
@@ -196,7 +196,9 @@ CONFIG_PPC_I8259=y
196# CONFIG_GENERIC_IOMAP is not set 196# CONFIG_GENERIC_IOMAP is not set
197# CONFIG_CPU_FREQ is not set 197# CONFIG_CPU_FREQ is not set
198# CONFIG_TAU is not set 198# CONFIG_TAU is not set
199# CONFIG_QUICC_ENGINE is not set
199CONFIG_FSL_ULI1575=y 200CONFIG_FSL_ULI1575=y
201# CONFIG_MPC8xxx_GPIO is not set
200 202
201# 203#
202# Kernel options 204# Kernel options
@@ -216,6 +218,8 @@ CONFIG_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
218CONFIG_BINFMT_ELF=y 220CONFIG_BINFMT_ELF=y
221# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
222# CONFIG_HAVE_AOUT is not set
219CONFIG_BINFMT_MISC=m 223CONFIG_BINFMT_MISC=m
220# CONFIG_IOMMU_HELPER is not set 224# CONFIG_IOMMU_HELPER is not set
221CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 225CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -231,15 +235,15 @@ CONFIG_FLATMEM_MANUAL=y
231# CONFIG_SPARSEMEM_MANUAL is not set 235# CONFIG_SPARSEMEM_MANUAL is not set
232CONFIG_FLATMEM=y 236CONFIG_FLATMEM=y
233CONFIG_FLAT_NODE_MEM_MAP=y 237CONFIG_FLAT_NODE_MEM_MAP=y
234# CONFIG_SPARSEMEM_STATIC is not set
235# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
236CONFIG_PAGEFLAGS_EXTENDED=y 238CONFIG_PAGEFLAGS_EXTENDED=y
237CONFIG_SPLIT_PTLOCK_CPUS=4 239CONFIG_SPLIT_PTLOCK_CPUS=4
238CONFIG_MIGRATION=y 240CONFIG_MIGRATION=y
239# CONFIG_RESOURCES_64BIT is not set 241# CONFIG_RESOURCES_64BIT is not set
242# CONFIG_PHYS_ADDR_T_64BIT is not set
240CONFIG_ZONE_DMA_FLAG=1 243CONFIG_ZONE_DMA_FLAG=1
241CONFIG_BOUNCE=y 244CONFIG_BOUNCE=y
242CONFIG_VIRT_TO_BUS=y 245CONFIG_VIRT_TO_BUS=y
246CONFIG_UNEVICTABLE_LRU=y
243CONFIG_FORCE_MAX_ZONEORDER=11 247CONFIG_FORCE_MAX_ZONEORDER=11
244CONFIG_PROC_DEVICETREE=y 248CONFIG_PROC_DEVICETREE=y
245# CONFIG_CMDLINE_BOOL is not set 249# CONFIG_CMDLINE_BOOL is not set
@@ -263,7 +267,7 @@ CONFIG_PCI_SYSCALL=y
263# CONFIG_PCIEPORTBUS is not set 267# CONFIG_PCIEPORTBUS is not set
264CONFIG_ARCH_SUPPORTS_MSI=y 268CONFIG_ARCH_SUPPORTS_MSI=y
265# CONFIG_PCI_MSI is not set 269# CONFIG_PCI_MSI is not set
266CONFIG_PCI_LEGACY=y 270# CONFIG_PCI_LEGACY is not set
267# CONFIG_PCI_DEBUG is not set 271# CONFIG_PCI_DEBUG is not set
268# CONFIG_PCCARD is not set 272# CONFIG_PCCARD is not set
269# CONFIG_HOTPLUG_PCI is not set 273# CONFIG_HOTPLUG_PCI is not set
@@ -365,6 +369,7 @@ CONFIG_SCTP_HMAC_MD5=y
365# CONFIG_TIPC is not set 369# CONFIG_TIPC is not set
366# CONFIG_ATM is not set 370# CONFIG_ATM is not set
367# CONFIG_BRIDGE is not set 371# CONFIG_BRIDGE is not set
372# CONFIG_NET_DSA is not set
368# CONFIG_VLAN_8021Q is not set 373# CONFIG_VLAN_8021Q is not set
369# CONFIG_DECNET is not set 374# CONFIG_DECNET is not set
370# CONFIG_LLC2 is not set 375# CONFIG_LLC2 is not set
@@ -385,12 +390,11 @@ CONFIG_SCTP_HMAC_MD5=y
385# CONFIG_IRDA is not set 390# CONFIG_IRDA is not set
386# CONFIG_BT is not set 391# CONFIG_BT is not set
387# CONFIG_AF_RXRPC is not set 392# CONFIG_AF_RXRPC is not set
393# CONFIG_PHONET is not set
388CONFIG_FIB_RULES=y 394CONFIG_FIB_RULES=y
389 395CONFIG_WIRELESS=y
390#
391# Wireless
392#
393# CONFIG_CFG80211 is not set 396# CONFIG_CFG80211 is not set
397CONFIG_WIRELESS_OLD_REGULATORY=y
394# CONFIG_WIRELESS_EXT is not set 398# CONFIG_WIRELESS_EXT is not set
395# CONFIG_MAC80211 is not set 399# CONFIG_MAC80211 is not set
396# CONFIG_IEEE80211 is not set 400# CONFIG_IEEE80211 is not set
@@ -636,8 +640,12 @@ CONFIG_MII=y
636# CONFIG_IBM_NEW_EMAC_RGMII is not set 640# CONFIG_IBM_NEW_EMAC_RGMII is not set
637# CONFIG_IBM_NEW_EMAC_TAH is not set 641# CONFIG_IBM_NEW_EMAC_TAH is not set
638# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 642# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
643# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
644# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
645# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
639# CONFIG_NET_PCI is not set 646# CONFIG_NET_PCI is not set
640# CONFIG_B44 is not set 647# CONFIG_B44 is not set
648# CONFIG_ATL2 is not set
641CONFIG_NETDEV_1000=y 649CONFIG_NETDEV_1000=y
642# CONFIG_ACENIC is not set 650# CONFIG_ACENIC is not set
643# CONFIG_DL2K is not set 651# CONFIG_DL2K is not set
@@ -660,18 +668,22 @@ CONFIG_GIANFAR=y
660# CONFIG_QLA3XXX is not set 668# CONFIG_QLA3XXX is not set
661# CONFIG_ATL1 is not set 669# CONFIG_ATL1 is not set
662# CONFIG_ATL1E is not set 670# CONFIG_ATL1E is not set
671# CONFIG_JME is not set
663CONFIG_NETDEV_10000=y 672CONFIG_NETDEV_10000=y
664# CONFIG_CHELSIO_T1 is not set 673# CONFIG_CHELSIO_T1 is not set
665# CONFIG_CHELSIO_T3 is not set 674# CONFIG_CHELSIO_T3 is not set
675# CONFIG_ENIC is not set
666# CONFIG_IXGBE is not set 676# CONFIG_IXGBE is not set
667# CONFIG_IXGB is not set 677# CONFIG_IXGB is not set
668# CONFIG_S2IO is not set 678# CONFIG_S2IO is not set
669# CONFIG_MYRI10GE is not set 679# CONFIG_MYRI10GE is not set
670# CONFIG_NETXEN_NIC is not set 680# CONFIG_NETXEN_NIC is not set
671# CONFIG_NIU is not set 681# CONFIG_NIU is not set
682# CONFIG_MLX4_EN is not set
672# CONFIG_MLX4_CORE is not set 683# CONFIG_MLX4_CORE is not set
673# CONFIG_TEHUTI is not set 684# CONFIG_TEHUTI is not set
674# CONFIG_BNX2X is not set 685# CONFIG_BNX2X is not set
686# CONFIG_QLGE is not set
675# CONFIG_SFC is not set 687# CONFIG_SFC is not set
676# CONFIG_TR is not set 688# CONFIG_TR is not set
677 689
@@ -706,7 +718,7 @@ CONFIG_NETDEV_10000=y
706# Input device support 718# Input device support
707# 719#
708CONFIG_INPUT=y 720CONFIG_INPUT=y
709# CONFIG_INPUT_FF_MEMLESS is not set 721CONFIG_INPUT_FF_MEMLESS=m
710# CONFIG_INPUT_POLLDEV is not set 722# CONFIG_INPUT_POLLDEV is not set
711 723
712# 724#
@@ -875,6 +887,17 @@ CONFIG_SSB_POSSIBLE=y
875# CONFIG_MFD_SM501 is not set 887# CONFIG_MFD_SM501 is not set
876# CONFIG_HTC_PASIC3 is not set 888# CONFIG_HTC_PASIC3 is not set
877# CONFIG_MFD_TMIO is not set 889# CONFIG_MFD_TMIO is not set
890# CONFIG_PMIC_DA903X is not set
891# CONFIG_MFD_WM8400 is not set
892# CONFIG_MFD_WM8350_I2C is not set
893
894#
895# Voltage and Current regulators
896#
897# CONFIG_REGULATOR is not set
898# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
899# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
900# CONFIG_REGULATOR_BQ24022 is not set
878 901
879# 902#
880# Multimedia devices 903# Multimedia devices
@@ -915,7 +938,6 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
915# CONFIG_DVB_USB is not set 938# CONFIG_DVB_USB is not set
916# CONFIG_DVB_TTUSB_BUDGET is not set 939# CONFIG_DVB_TTUSB_BUDGET is not set
917# CONFIG_DVB_TTUSB_DEC is not set 940# CONFIG_DVB_TTUSB_DEC is not set
918# CONFIG_DVB_CINERGYT2 is not set
919# CONFIG_DVB_SIANO_SMS1XXX is not set 941# CONFIG_DVB_SIANO_SMS1XXX is not set
920 942
921# 943#
@@ -933,6 +955,11 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
933# CONFIG_DVB_PLUTO2 is not set 955# CONFIG_DVB_PLUTO2 is not set
934 956
935# 957#
958# Supported SDMC DM1105 Adapters
959#
960# CONFIG_DVB_DM1105 is not set
961
962#
936# Supported DVB Frontends 963# Supported DVB Frontends
937# 964#
938 965
@@ -948,6 +975,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
948# CONFIG_DVB_CX24123 is not set 975# CONFIG_DVB_CX24123 is not set
949# CONFIG_DVB_MT312 is not set 976# CONFIG_DVB_MT312 is not set
950# CONFIG_DVB_S5H1420 is not set 977# CONFIG_DVB_S5H1420 is not set
978# CONFIG_DVB_STV0288 is not set
979# CONFIG_DVB_STB6000 is not set
951# CONFIG_DVB_STV0299 is not set 980# CONFIG_DVB_STV0299 is not set
952# CONFIG_DVB_TDA8083 is not set 981# CONFIG_DVB_TDA8083 is not set
953# CONFIG_DVB_TDA10086 is not set 982# CONFIG_DVB_TDA10086 is not set
@@ -955,6 +984,8 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
955# CONFIG_DVB_TUNER_ITD1000 is not set 984# CONFIG_DVB_TUNER_ITD1000 is not set
956# CONFIG_DVB_TDA826X is not set 985# CONFIG_DVB_TDA826X is not set
957# CONFIG_DVB_TUA6100 is not set 986# CONFIG_DVB_TUA6100 is not set
987# CONFIG_DVB_CX24116 is not set
988# CONFIG_DVB_SI21XX is not set
958 989
959# 990#
960# DVB-T (terrestrial) frontends 991# DVB-T (terrestrial) frontends
@@ -1007,6 +1038,13 @@ CONFIG_DVB_CAPTURE_DRIVERS=y
1007# CONFIG_DVB_LNBP21 is not set 1038# CONFIG_DVB_LNBP21 is not set
1008# CONFIG_DVB_ISL6405 is not set 1039# CONFIG_DVB_ISL6405 is not set
1009# CONFIG_DVB_ISL6421 is not set 1040# CONFIG_DVB_ISL6421 is not set
1041# CONFIG_DVB_LGS8GL5 is not set
1042
1043#
1044# Tools to develop new frontends
1045#
1046# CONFIG_DVB_DUMMY_FE is not set
1047# CONFIG_DVB_AF9013 is not set
1010CONFIG_DAB=y 1048CONFIG_DAB=y
1011# CONFIG_USB_DABUSB is not set 1049# CONFIG_USB_DABUSB is not set
1012 1050
@@ -1032,6 +1070,7 @@ CONFIG_VGA_CONSOLE=y
1032# CONFIG_VGACON_SOFT_SCROLLBACK is not set 1070# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1033CONFIG_DUMMY_CONSOLE=y 1071CONFIG_DUMMY_CONSOLE=y
1034CONFIG_SOUND=y 1072CONFIG_SOUND=y
1073CONFIG_SOUND_OSS_CORE=y
1035CONFIG_SND=y 1074CONFIG_SND=y
1036CONFIG_SND_TIMER=y 1075CONFIG_SND_TIMER=y
1037CONFIG_SND_PCM=y 1076CONFIG_SND_PCM=y
@@ -1132,9 +1171,36 @@ CONFIG_HID=y
1132# USB Input Devices 1171# USB Input Devices
1133# 1172#
1134CONFIG_USB_HID=y 1173CONFIG_USB_HID=y
1135# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1174# CONFIG_HID_PID is not set
1136# CONFIG_HID_FF is not set
1137# CONFIG_USB_HIDDEV is not set 1175# CONFIG_USB_HIDDEV is not set
1176
1177#
1178# Special HID drivers
1179#
1180CONFIG_HID_COMPAT=y
1181CONFIG_HID_A4TECH=y
1182CONFIG_HID_APPLE=y
1183CONFIG_HID_BELKIN=y
1184CONFIG_HID_BRIGHT=y
1185CONFIG_HID_CHERRY=y
1186CONFIG_HID_CHICONY=y
1187CONFIG_HID_CYPRESS=y
1188CONFIG_HID_DELL=y
1189CONFIG_HID_EZKEY=y
1190CONFIG_HID_GYRATION=y
1191CONFIG_HID_LOGITECH=y
1192# CONFIG_LOGITECH_FF is not set
1193# CONFIG_LOGIRUMBLEPAD2_FF is not set
1194CONFIG_HID_MICROSOFT=y
1195CONFIG_HID_MONTEREY=y
1196CONFIG_HID_PANTHERLORD=y
1197# CONFIG_PANTHERLORD_FF is not set
1198CONFIG_HID_PETALYNX=y
1199CONFIG_HID_SAMSUNG=y
1200CONFIG_HID_SONY=y
1201CONFIG_HID_SUNPLUS=y
1202CONFIG_THRUSTMASTER_FF=m
1203CONFIG_ZEROPLUS_FF=m
1138CONFIG_USB_SUPPORT=y 1204CONFIG_USB_SUPPORT=y
1139CONFIG_USB_ARCH_HAS_HCD=y 1205CONFIG_USB_ARCH_HAS_HCD=y
1140CONFIG_USB_ARCH_HAS_OHCI=y 1206CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1153,6 +1219,8 @@ CONFIG_USB_DEVICE_CLASS=y
1153# CONFIG_USB_OTG_WHITELIST is not set 1219# CONFIG_USB_OTG_WHITELIST is not set
1154# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1220# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1155CONFIG_USB_MON=y 1221CONFIG_USB_MON=y
1222# CONFIG_USB_WUSB is not set
1223# CONFIG_USB_WUSB_CBAF is not set
1156 1224
1157# 1225#
1158# USB Host Controller Drivers 1226# USB Host Controller Drivers
@@ -1176,6 +1244,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1176# CONFIG_USB_UHCI_HCD is not set 1244# CONFIG_USB_UHCI_HCD is not set
1177# CONFIG_USB_SL811_HCD is not set 1245# CONFIG_USB_SL811_HCD is not set
1178# CONFIG_USB_R8A66597_HCD is not set 1246# CONFIG_USB_R8A66597_HCD is not set
1247# CONFIG_USB_WHCI_HCD is not set
1248# CONFIG_USB_HWA_HCD is not set
1179 1249
1180# 1250#
1181# USB Device Class drivers 1251# USB Device Class drivers
@@ -1183,6 +1253,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1183# CONFIG_USB_ACM is not set 1253# CONFIG_USB_ACM is not set
1184# CONFIG_USB_PRINTER is not set 1254# CONFIG_USB_PRINTER is not set
1185# CONFIG_USB_WDM is not set 1255# CONFIG_USB_WDM is not set
1256# CONFIG_USB_TMC is not set
1186 1257
1187# 1258#
1188# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1259# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1204,7 +1275,6 @@ CONFIG_USB_STORAGE=y
1204# CONFIG_USB_STORAGE_ALAUDA is not set 1275# CONFIG_USB_STORAGE_ALAUDA is not set
1205# CONFIG_USB_STORAGE_ONETOUCH is not set 1276# CONFIG_USB_STORAGE_ONETOUCH is not set
1206# CONFIG_USB_STORAGE_KARMA is not set 1277# CONFIG_USB_STORAGE_KARMA is not set
1207# CONFIG_USB_STORAGE_SIERRA is not set
1208# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1278# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1209# CONFIG_USB_LIBUSUAL is not set 1279# CONFIG_USB_LIBUSUAL is not set
1210 1280
@@ -1225,6 +1295,7 @@ CONFIG_USB_STORAGE=y
1225# CONFIG_USB_EMI62 is not set 1295# CONFIG_USB_EMI62 is not set
1226# CONFIG_USB_EMI26 is not set 1296# CONFIG_USB_EMI26 is not set
1227# CONFIG_USB_ADUTUX is not set 1297# CONFIG_USB_ADUTUX is not set
1298# CONFIG_USB_SEVSEG is not set
1228# CONFIG_USB_RIO500 is not set 1299# CONFIG_USB_RIO500 is not set
1229# CONFIG_USB_LEGOTOWER is not set 1300# CONFIG_USB_LEGOTOWER is not set
1230# CONFIG_USB_LCD is not set 1301# CONFIG_USB_LCD is not set
@@ -1242,7 +1313,9 @@ CONFIG_USB_STORAGE=y
1242# CONFIG_USB_IOWARRIOR is not set 1313# CONFIG_USB_IOWARRIOR is not set
1243# CONFIG_USB_TEST is not set 1314# CONFIG_USB_TEST is not set
1244# CONFIG_USB_ISIGHTFW is not set 1315# CONFIG_USB_ISIGHTFW is not set
1316# CONFIG_USB_VST is not set
1245# CONFIG_USB_GADGET is not set 1317# CONFIG_USB_GADGET is not set
1318# CONFIG_UWB is not set
1246# CONFIG_MMC is not set 1319# CONFIG_MMC is not set
1247# CONFIG_MEMSTICK is not set 1320# CONFIG_MEMSTICK is not set
1248# CONFIG_NEW_LEDS is not set 1321# CONFIG_NEW_LEDS is not set
@@ -1288,12 +1361,15 @@ CONFIG_RTC_INTF_DEV=y
1288# Platform RTC drivers 1361# Platform RTC drivers
1289# 1362#
1290CONFIG_RTC_DRV_CMOS=y 1363CONFIG_RTC_DRV_CMOS=y
1364# CONFIG_RTC_DRV_DS1286 is not set
1291# CONFIG_RTC_DRV_DS1511 is not set 1365# CONFIG_RTC_DRV_DS1511 is not set
1292# CONFIG_RTC_DRV_DS1553 is not set 1366# CONFIG_RTC_DRV_DS1553 is not set
1293# CONFIG_RTC_DRV_DS1742 is not set 1367# CONFIG_RTC_DRV_DS1742 is not set
1294# CONFIG_RTC_DRV_STK17TA8 is not set 1368# CONFIG_RTC_DRV_STK17TA8 is not set
1295# CONFIG_RTC_DRV_M48T86 is not set 1369# CONFIG_RTC_DRV_M48T86 is not set
1370# CONFIG_RTC_DRV_M48T35 is not set
1296# CONFIG_RTC_DRV_M48T59 is not set 1371# CONFIG_RTC_DRV_M48T59 is not set
1372# CONFIG_RTC_DRV_BQ4802 is not set
1297# CONFIG_RTC_DRV_V3020 is not set 1373# CONFIG_RTC_DRV_V3020 is not set
1298 1374
1299# 1375#
@@ -1302,6 +1378,7 @@ CONFIG_RTC_DRV_CMOS=y
1302# CONFIG_RTC_DRV_PPC is not set 1378# CONFIG_RTC_DRV_PPC is not set
1303# CONFIG_DMADEVICES is not set 1379# CONFIG_DMADEVICES is not set
1304# CONFIG_UIO is not set 1380# CONFIG_UIO is not set
1381# CONFIG_STAGING is not set
1305 1382
1306# 1383#
1307# File systems 1384# File systems
@@ -1313,12 +1390,13 @@ CONFIG_EXT3_FS=y
1313CONFIG_EXT3_FS_XATTR=y 1390CONFIG_EXT3_FS_XATTR=y
1314# CONFIG_EXT3_FS_POSIX_ACL is not set 1391# CONFIG_EXT3_FS_POSIX_ACL is not set
1315# CONFIG_EXT3_FS_SECURITY is not set 1392# CONFIG_EXT3_FS_SECURITY is not set
1316# CONFIG_EXT4DEV_FS is not set 1393# CONFIG_EXT4_FS is not set
1317CONFIG_JBD=y 1394CONFIG_JBD=y
1318CONFIG_FS_MBCACHE=y 1395CONFIG_FS_MBCACHE=y
1319# CONFIG_REISERFS_FS is not set 1396# CONFIG_REISERFS_FS is not set
1320# CONFIG_JFS_FS is not set 1397# CONFIG_JFS_FS is not set
1321# CONFIG_FS_POSIX_ACL is not set 1398# CONFIG_FS_POSIX_ACL is not set
1399CONFIG_FILE_LOCKING=y
1322# CONFIG_XFS_FS is not set 1400# CONFIG_XFS_FS is not set
1323# CONFIG_OCFS2_FS is not set 1401# CONFIG_OCFS2_FS is not set
1324CONFIG_DNOTIFY=y 1402CONFIG_DNOTIFY=y
@@ -1356,6 +1434,7 @@ CONFIG_NTFS_FS=y
1356CONFIG_PROC_FS=y 1434CONFIG_PROC_FS=y
1357CONFIG_PROC_KCORE=y 1435CONFIG_PROC_KCORE=y
1358CONFIG_PROC_SYSCTL=y 1436CONFIG_PROC_SYSCTL=y
1437CONFIG_PROC_PAGE_MONITOR=y
1359CONFIG_SYSFS=y 1438CONFIG_SYSFS=y
1360CONFIG_TMPFS=y 1439CONFIG_TMPFS=y
1361# CONFIG_TMPFS_POSIX_ACL is not set 1440# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1400,6 +1479,7 @@ CONFIG_EXPORTFS=y
1400CONFIG_NFS_COMMON=y 1479CONFIG_NFS_COMMON=y
1401CONFIG_SUNRPC=y 1480CONFIG_SUNRPC=y
1402CONFIG_SUNRPC_GSS=y 1481CONFIG_SUNRPC_GSS=y
1482# CONFIG_SUNRPC_REGISTER_V4 is not set
1403CONFIG_RPCSEC_GSS_KRB5=y 1483CONFIG_RPCSEC_GSS_KRB5=y
1404# CONFIG_RPCSEC_GSS_SPKM3 is not set 1484# CONFIG_RPCSEC_GSS_SPKM3 is not set
1405# CONFIG_SMB_FS is not set 1485# CONFIG_SMB_FS is not set
@@ -1475,7 +1555,6 @@ CONFIG_NLS_UTF8=m
1475# Library routines 1555# Library routines
1476# 1556#
1477CONFIG_BITREVERSE=y 1557CONFIG_BITREVERSE=y
1478# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1479# CONFIG_CRC_CCITT is not set 1558# CONFIG_CRC_CCITT is not set
1480# CONFIG_CRC16 is not set 1559# CONFIG_CRC16 is not set
1481CONFIG_CRC_T10DIF=y 1560CONFIG_CRC_T10DIF=y
@@ -1529,15 +1608,23 @@ CONFIG_DEBUG_INFO=y
1529# CONFIG_DEBUG_SG is not set 1608# CONFIG_DEBUG_SG is not set
1530# CONFIG_BOOT_PRINTK_DELAY is not set 1609# CONFIG_BOOT_PRINTK_DELAY is not set
1531# CONFIG_RCU_TORTURE_TEST is not set 1610# CONFIG_RCU_TORTURE_TEST is not set
1611# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1532# CONFIG_BACKTRACE_SELF_TEST is not set 1612# CONFIG_BACKTRACE_SELF_TEST is not set
1613# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1533# CONFIG_FAULT_INJECTION is not set 1614# CONFIG_FAULT_INJECTION is not set
1534# CONFIG_LATENCYTOP is not set 1615# CONFIG_LATENCYTOP is not set
1535CONFIG_SYSCTL_SYSCALL_CHECK=y 1616CONFIG_SYSCTL_SYSCALL_CHECK=y
1536CONFIG_HAVE_FTRACE=y 1617CONFIG_HAVE_FUNCTION_TRACER=y
1537CONFIG_HAVE_DYNAMIC_FTRACE=y 1618
1538# CONFIG_FTRACE is not set 1619#
1620# Tracers
1621#
1622# CONFIG_FUNCTION_TRACER is not set
1539# CONFIG_SCHED_TRACER is not set 1623# CONFIG_SCHED_TRACER is not set
1540# CONFIG_CONTEXT_SWITCH_TRACER is not set 1624# CONFIG_CONTEXT_SWITCH_TRACER is not set
1625# CONFIG_BOOT_TRACER is not set
1626# CONFIG_STACK_TRACER is not set
1627# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1541# CONFIG_SAMPLES is not set 1628# CONFIG_SAMPLES is not set
1542CONFIG_HAVE_ARCH_KGDB=y 1629CONFIG_HAVE_ARCH_KGDB=y
1543# CONFIG_KGDB is not set 1630# CONFIG_KGDB is not set
@@ -1558,15 +1645,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1558# 1645#
1559# CONFIG_KEYS is not set 1646# CONFIG_KEYS is not set
1560# CONFIG_SECURITY is not set 1647# CONFIG_SECURITY is not set
1648# CONFIG_SECURITYFS is not set
1561# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1649# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1562CONFIG_CRYPTO=y 1650CONFIG_CRYPTO=y
1563 1651
1564# 1652#
1565# Crypto core or helper 1653# Crypto core or helper
1566# 1654#
1655# CONFIG_CRYPTO_FIPS is not set
1567CONFIG_CRYPTO_ALGAPI=y 1656CONFIG_CRYPTO_ALGAPI=y
1657CONFIG_CRYPTO_AEAD=y
1568CONFIG_CRYPTO_BLKCIPHER=y 1658CONFIG_CRYPTO_BLKCIPHER=y
1569CONFIG_CRYPTO_HASH=y 1659CONFIG_CRYPTO_HASH=y
1660CONFIG_CRYPTO_RNG=y
1570CONFIG_CRYPTO_MANAGER=y 1661CONFIG_CRYPTO_MANAGER=y
1571# CONFIG_CRYPTO_GF128MUL is not set 1662# CONFIG_CRYPTO_GF128MUL is not set
1572# CONFIG_CRYPTO_NULL is not set 1663# CONFIG_CRYPTO_NULL is not set
@@ -1639,6 +1730,11 @@ CONFIG_CRYPTO_DES=y
1639# 1730#
1640# CONFIG_CRYPTO_DEFLATE is not set 1731# CONFIG_CRYPTO_DEFLATE is not set
1641# CONFIG_CRYPTO_LZO is not set 1732# CONFIG_CRYPTO_LZO is not set
1733
1734#
1735# Random Number Generation
1736#
1737# CONFIG_CRYPTO_ANSI_CPRNG is not set
1642CONFIG_CRYPTO_HW=y 1738CONFIG_CRYPTO_HW=y
1643# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1739# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1644# CONFIG_CRYPTO_DEV_TALITOS is not set 1740# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index fc3f6dc58126..a4283b6a43d2 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:12 2008 4# Sat Nov 8 12:39:46 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,7 +19,7 @@ CONFIG_8xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
@@ -101,6 +101,7 @@ CONFIG_SIGNALFD=y
101CONFIG_TIMERFD=y 101CONFIG_TIMERFD=y
102CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
103CONFIG_SHMEM=y 103CONFIG_SHMEM=y
104CONFIG_AIO=y
104# CONFIG_VM_EVENT_COUNTERS is not set 105# CONFIG_VM_EVENT_COUNTERS is not set
105CONFIG_SLUB_DEBUG=y 106CONFIG_SLUB_DEBUG=y
106# CONFIG_SLAB is not set 107# CONFIG_SLAB is not set
@@ -114,10 +115,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
114CONFIG_HAVE_KPROBES=y 115CONFIG_HAVE_KPROBES=y
115CONFIG_HAVE_KRETPROBES=y 116CONFIG_HAVE_KRETPROBES=y
116CONFIG_HAVE_ARCH_TRACEHOOK=y 117CONFIG_HAVE_ARCH_TRACEHOOK=y
117# CONFIG_HAVE_DMA_ATTRS is not set
118# CONFIG_USE_GENERIC_SMP_HELPERS is not set
119CONFIG_HAVE_CLK=y 118CONFIG_HAVE_CLK=y
120CONFIG_PROC_PAGE_MONITOR=y
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 119# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 120CONFIG_SLABINFO=y
123# CONFIG_TINY_SHMEM is not set 121# CONFIG_TINY_SHMEM is not set
@@ -143,6 +141,7 @@ CONFIG_DEFAULT_DEADLINE=y
143# CONFIG_DEFAULT_NOOP is not set 141# CONFIG_DEFAULT_NOOP is not set
144CONFIG_DEFAULT_IOSCHED="deadline" 142CONFIG_DEFAULT_IOSCHED="deadline"
145CONFIG_CLASSIC_RCU=y 143CONFIG_CLASSIC_RCU=y
144# CONFIG_FREEZER is not set
146 145
147# 146#
148# Platform support 147# Platform support
@@ -155,6 +154,7 @@ CONFIG_CPM1=y
155CONFIG_MPC885ADS=y 154CONFIG_MPC885ADS=y
156# CONFIG_PPC_EP88XC is not set 155# CONFIG_PPC_EP88XC is not set
157# CONFIG_PPC_ADDER875 is not set 156# CONFIG_PPC_ADDER875 is not set
157# CONFIG_PPC_MGSUVD is not set
158 158
159# 159#
160# Freescale Ethernet driver platform-specific options 160# Freescale Ethernet driver platform-specific options
@@ -190,6 +190,7 @@ CONFIG_NO_UCODE_PATCH=y
190# CONFIG_PPC_INDIRECT_IO is not set 190# CONFIG_PPC_INDIRECT_IO is not set
191# CONFIG_GENERIC_IOMAP is not set 191# CONFIG_GENERIC_IOMAP is not set
192# CONFIG_CPU_FREQ is not set 192# CONFIG_CPU_FREQ is not set
193# CONFIG_QUICC_ENGINE is not set
193# CONFIG_FSL_ULI1575 is not set 194# CONFIG_FSL_ULI1575 is not set
194CONFIG_CPM=y 195CONFIG_CPM=y
195 196
@@ -211,6 +212,8 @@ CONFIG_PREEMPT_NONE=y
211# CONFIG_PREEMPT_VOLUNTARY is not set 212# CONFIG_PREEMPT_VOLUNTARY is not set
212# CONFIG_PREEMPT is not set 213# CONFIG_PREEMPT is not set
213CONFIG_BINFMT_ELF=y 214CONFIG_BINFMT_ELF=y
215# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
216# CONFIG_HAVE_AOUT is not set
214# CONFIG_BINFMT_MISC is not set 217# CONFIG_BINFMT_MISC is not set
215# CONFIG_MATH_EMULATION is not set 218# CONFIG_MATH_EMULATION is not set
216CONFIG_8XX_MINIMAL_FPEMU=y 219CONFIG_8XX_MINIMAL_FPEMU=y
@@ -226,15 +229,15 @@ CONFIG_FLATMEM_MANUAL=y
226# CONFIG_SPARSEMEM_MANUAL is not set 229# CONFIG_SPARSEMEM_MANUAL is not set
227CONFIG_FLATMEM=y 230CONFIG_FLATMEM=y
228CONFIG_FLAT_NODE_MEM_MAP=y 231CONFIG_FLAT_NODE_MEM_MAP=y
229# CONFIG_SPARSEMEM_STATIC is not set
230# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
231CONFIG_PAGEFLAGS_EXTENDED=y 232CONFIG_PAGEFLAGS_EXTENDED=y
232CONFIG_SPLIT_PTLOCK_CPUS=4 233CONFIG_SPLIT_PTLOCK_CPUS=4
233CONFIG_MIGRATION=y 234CONFIG_MIGRATION=y
234# CONFIG_RESOURCES_64BIT is not set 235# CONFIG_RESOURCES_64BIT is not set
236# CONFIG_PHYS_ADDR_T_64BIT is not set
235CONFIG_ZONE_DMA_FLAG=1 237CONFIG_ZONE_DMA_FLAG=1
236CONFIG_BOUNCE=y 238CONFIG_BOUNCE=y
237CONFIG_VIRT_TO_BUS=y 239CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y
238CONFIG_FORCE_MAX_ZONEORDER=11 241CONFIG_FORCE_MAX_ZONEORDER=11
239CONFIG_PROC_DEVICETREE=y 242CONFIG_PROC_DEVICETREE=y
240# CONFIG_CMDLINE_BOOL is not set 243# CONFIG_CMDLINE_BOOL is not set
@@ -316,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_TIPC is not set 319# CONFIG_TIPC is not set
317# CONFIG_ATM is not set 320# CONFIG_ATM is not set
318# CONFIG_BRIDGE is not set 321# CONFIG_BRIDGE is not set
322# CONFIG_NET_DSA is not set
319# CONFIG_VLAN_8021Q is not set 323# CONFIG_VLAN_8021Q is not set
320# CONFIG_DECNET is not set 324# CONFIG_DECNET is not set
321# CONFIG_LLC2 is not set 325# CONFIG_LLC2 is not set
@@ -336,11 +340,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
336# CONFIG_IRDA is not set 340# CONFIG_IRDA is not set
337# CONFIG_BT is not set 341# CONFIG_BT is not set
338# CONFIG_AF_RXRPC is not set 342# CONFIG_AF_RXRPC is not set
339 343# CONFIG_PHONET is not set
340# 344CONFIG_WIRELESS=y
341# Wireless
342#
343# CONFIG_CFG80211 is not set 345# CONFIG_CFG80211 is not set
346CONFIG_WIRELESS_OLD_REGULATORY=y
344# CONFIG_WIRELESS_EXT is not set 347# CONFIG_WIRELESS_EXT is not set
345# CONFIG_MAC80211 is not set 348# CONFIG_MAC80211 is not set
346# CONFIG_IEEE80211 is not set 349# CONFIG_IEEE80211 is not set
@@ -486,6 +489,9 @@ CONFIG_MII=y
486# CONFIG_IBM_NEW_EMAC_RGMII is not set 489# CONFIG_IBM_NEW_EMAC_RGMII is not set
487# CONFIG_IBM_NEW_EMAC_TAH is not set 490# CONFIG_IBM_NEW_EMAC_TAH is not set
488# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 491# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
492# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
493# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
494# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
489# CONFIG_B44 is not set 495# CONFIG_B44 is not set
490CONFIG_FS_ENET=y 496CONFIG_FS_ENET=y
491# CONFIG_FS_ENET_HAS_SCC is not set 497# CONFIG_FS_ENET_HAS_SCC is not set
@@ -540,12 +546,6 @@ CONFIG_SERIAL_CORE=y
540CONFIG_SERIAL_CORE_CONSOLE=y 546CONFIG_SERIAL_CORE_CONSOLE=y
541CONFIG_SERIAL_CPM=y 547CONFIG_SERIAL_CPM=y
542CONFIG_SERIAL_CPM_CONSOLE=y 548CONFIG_SERIAL_CPM_CONSOLE=y
543# CONFIG_SERIAL_CPM_SCC1 is not set
544# CONFIG_SERIAL_CPM_SCC2 is not set
545# CONFIG_SERIAL_CPM_SCC3 is not set
546# CONFIG_SERIAL_CPM_SCC4 is not set
547CONFIG_SERIAL_CPM_SMC1=y
548CONFIG_SERIAL_CPM_SMC2=y
549CONFIG_UNIX98_PTYS=y 549CONFIG_UNIX98_PTYS=y
550# CONFIG_LEGACY_PTYS is not set 550# CONFIG_LEGACY_PTYS is not set
551# CONFIG_IPMI_HANDLER is not set 551# CONFIG_IPMI_HANDLER is not set
@@ -582,6 +582,14 @@ CONFIG_SSB_POSSIBLE=y
582# CONFIG_MFD_TMIO is not set 582# CONFIG_MFD_TMIO is not set
583 583
584# 584#
585# Voltage and Current regulators
586#
587# CONFIG_REGULATOR is not set
588# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
589# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
590# CONFIG_REGULATOR_BQ24022 is not set
591
592#
585# Multimedia devices 593# Multimedia devices
586# 594#
587 595
@@ -619,16 +627,18 @@ CONFIG_DAB=y
619# CONFIG_RTC_CLASS is not set 627# CONFIG_RTC_CLASS is not set
620# CONFIG_DMADEVICES is not set 628# CONFIG_DMADEVICES is not set
621# CONFIG_UIO is not set 629# CONFIG_UIO is not set
630# CONFIG_STAGING is not set
622 631
623# 632#
624# File systems 633# File systems
625# 634#
626# CONFIG_EXT2_FS is not set 635# CONFIG_EXT2_FS is not set
627# CONFIG_EXT3_FS is not set 636# CONFIG_EXT3_FS is not set
628# CONFIG_EXT4DEV_FS is not set 637# CONFIG_EXT4_FS is not set
629# CONFIG_REISERFS_FS is not set 638# CONFIG_REISERFS_FS is not set
630# CONFIG_JFS_FS is not set 639# CONFIG_JFS_FS is not set
631# CONFIG_FS_POSIX_ACL is not set 640# CONFIG_FS_POSIX_ACL is not set
641CONFIG_FILE_LOCKING=y
632# CONFIG_XFS_FS is not set 642# CONFIG_XFS_FS is not set
633# CONFIG_OCFS2_FS is not set 643# CONFIG_OCFS2_FS is not set
634# CONFIG_DNOTIFY is not set 644# CONFIG_DNOTIFY is not set
@@ -657,6 +667,7 @@ CONFIG_DAB=y
657CONFIG_PROC_FS=y 667CONFIG_PROC_FS=y
658# CONFIG_PROC_KCORE is not set 668# CONFIG_PROC_KCORE is not set
659CONFIG_PROC_SYSCTL=y 669CONFIG_PROC_SYSCTL=y
670CONFIG_PROC_PAGE_MONITOR=y
660CONFIG_SYSFS=y 671CONFIG_SYSFS=y
661CONFIG_TMPFS=y 672CONFIG_TMPFS=y
662# CONFIG_TMPFS_POSIX_ACL is not set 673# CONFIG_TMPFS_POSIX_ACL is not set
@@ -694,6 +705,7 @@ CONFIG_LOCKD=y
694CONFIG_LOCKD_V4=y 705CONFIG_LOCKD_V4=y
695CONFIG_NFS_COMMON=y 706CONFIG_NFS_COMMON=y
696CONFIG_SUNRPC=y 707CONFIG_SUNRPC=y
708# CONFIG_SUNRPC_REGISTER_V4 is not set
697# CONFIG_RPCSEC_GSS_KRB5 is not set 709# CONFIG_RPCSEC_GSS_KRB5 is not set
698# CONFIG_RPCSEC_GSS_SPKM3 is not set 710# CONFIG_RPCSEC_GSS_SPKM3 is not set
699# CONFIG_SMB_FS is not set 711# CONFIG_SMB_FS is not set
@@ -729,7 +741,6 @@ CONFIG_MSDOS_PARTITION=y
729# 741#
730# Library routines 742# Library routines
731# 743#
732# CONFIG_GENERIC_FIND_FIRST_BIT is not set
733# CONFIG_CRC_CCITT is not set 744# CONFIG_CRC_CCITT is not set
734# CONFIG_CRC16 is not set 745# CONFIG_CRC16 is not set
735# CONFIG_CRC_T10DIF is not set 746# CONFIG_CRC_T10DIF is not set
@@ -779,14 +790,22 @@ CONFIG_DEBUG_INFO=y
779# CONFIG_DEBUG_SG is not set 790# CONFIG_DEBUG_SG is not set
780# CONFIG_BOOT_PRINTK_DELAY is not set 791# CONFIG_BOOT_PRINTK_DELAY is not set
781# CONFIG_RCU_TORTURE_TEST is not set 792# CONFIG_RCU_TORTURE_TEST is not set
793# CONFIG_RCU_CPU_STALL_DETECTOR is not set
782# CONFIG_BACKTRACE_SELF_TEST is not set 794# CONFIG_BACKTRACE_SELF_TEST is not set
795# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
783# CONFIG_FAULT_INJECTION is not set 796# CONFIG_FAULT_INJECTION is not set
784# CONFIG_LATENCYTOP is not set 797# CONFIG_LATENCYTOP is not set
785CONFIG_HAVE_FTRACE=y 798CONFIG_HAVE_FUNCTION_TRACER=y
786CONFIG_HAVE_DYNAMIC_FTRACE=y 799
787# CONFIG_FTRACE is not set 800#
801# Tracers
802#
803# CONFIG_FUNCTION_TRACER is not set
788# CONFIG_SCHED_TRACER is not set 804# CONFIG_SCHED_TRACER is not set
789# CONFIG_CONTEXT_SWITCH_TRACER is not set 805# CONFIG_CONTEXT_SWITCH_TRACER is not set
806# CONFIG_BOOT_TRACER is not set
807# CONFIG_STACK_TRACER is not set
808# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
790# CONFIG_SAMPLES is not set 809# CONFIG_SAMPLES is not set
791CONFIG_HAVE_ARCH_KGDB=y 810CONFIG_HAVE_ARCH_KGDB=y
792# CONFIG_KGDB is not set 811# CONFIG_KGDB is not set
@@ -795,6 +814,7 @@ CONFIG_HAVE_ARCH_KGDB=y
795# CONFIG_DEBUG_PAGEALLOC is not set 814# CONFIG_DEBUG_PAGEALLOC is not set
796# CONFIG_CODE_PATCHING_SELFTEST is not set 815# CONFIG_CODE_PATCHING_SELFTEST is not set
797# CONFIG_FTR_FIXUP_SELFTEST is not set 816# CONFIG_FTR_FIXUP_SELFTEST is not set
817# CONFIG_MSI_BITMAP_SELFTEST is not set
798# CONFIG_XMON is not set 818# CONFIG_XMON is not set
799# CONFIG_IRQSTACKS is not set 819# CONFIG_IRQSTACKS is not set
800# CONFIG_BDI_SWITCH is not set 820# CONFIG_BDI_SWITCH is not set
@@ -805,6 +825,7 @@ CONFIG_HAVE_ARCH_KGDB=y
805# 825#
806# CONFIG_KEYS is not set 826# CONFIG_KEYS is not set
807# CONFIG_SECURITY is not set 827# CONFIG_SECURITY is not set
828# CONFIG_SECURITYFS is not set
808# CONFIG_SECURITY_FILE_CAPABILITIES is not set 829# CONFIG_SECURITY_FILE_CAPABILITIES is not set
809# CONFIG_CRYPTO is not set 830# CONFIG_CRYPTO is not set
810CONFIG_PPC_CLOCK=y 831CONFIG_PPC_CLOCK=y
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 80481f270133..de9b121820a6 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:20:26 2008 4# Tue Nov 11 19:36:51 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -125,10 +127,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
125CONFIG_HAVE_KPROBES=y 127CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 128CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 129CONFIG_HAVE_ARCH_TRACEHOOK=y
128# CONFIG_HAVE_DMA_ATTRS is not set
129# CONFIG_USE_GENERIC_SMP_HELPERS is not set
130# CONFIG_HAVE_CLK is not set
131CONFIG_PROC_PAGE_MONITOR=y
132# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
133CONFIG_SLABINFO=y 131CONFIG_SLABINFO=y
134CONFIG_RT_MUTEXES=y 132CONFIG_RT_MUTEXES=y
@@ -161,6 +159,7 @@ CONFIG_DEFAULT_AS=y
161# CONFIG_DEFAULT_NOOP is not set 159# CONFIG_DEFAULT_NOOP is not set
162CONFIG_DEFAULT_IOSCHED="anticipatory" 160CONFIG_DEFAULT_IOSCHED="anticipatory"
163CONFIG_CLASSIC_RCU=y 161CONFIG_CLASSIC_RCU=y
162CONFIG_FREEZER=y
164 163
165# 164#
166# Platform support 165# Platform support
@@ -232,6 +231,8 @@ CONFIG_PREEMPT_NONE=y
232# CONFIG_PREEMPT_VOLUNTARY is not set 231# CONFIG_PREEMPT_VOLUNTARY is not set
233# CONFIG_PREEMPT is not set 232# CONFIG_PREEMPT is not set
234CONFIG_BINFMT_ELF=y 233CONFIG_BINFMT_ELF=y
234# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
235# CONFIG_HAVE_AOUT is not set
235CONFIG_BINFMT_MISC=m 236CONFIG_BINFMT_MISC=m
236# CONFIG_IOMMU_HELPER is not set 237# CONFIG_IOMMU_HELPER is not set
237CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 238CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -246,15 +247,15 @@ CONFIG_FLATMEM_MANUAL=y
246# CONFIG_SPARSEMEM_MANUAL is not set 247# CONFIG_SPARSEMEM_MANUAL is not set
247CONFIG_FLATMEM=y 248CONFIG_FLATMEM=y
248CONFIG_FLAT_NODE_MEM_MAP=y 249CONFIG_FLAT_NODE_MEM_MAP=y
249# CONFIG_SPARSEMEM_STATIC is not set
250# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
251CONFIG_PAGEFLAGS_EXTENDED=y 250CONFIG_PAGEFLAGS_EXTENDED=y
252CONFIG_SPLIT_PTLOCK_CPUS=4 251CONFIG_SPLIT_PTLOCK_CPUS=4
253# CONFIG_MIGRATION is not set 252# CONFIG_MIGRATION is not set
254# CONFIG_RESOURCES_64BIT is not set 253# CONFIG_RESOURCES_64BIT is not set
254# CONFIG_PHYS_ADDR_T_64BIT is not set
255CONFIG_ZONE_DMA_FLAG=1 255CONFIG_ZONE_DMA_FLAG=1
256CONFIG_BOUNCE=y 256CONFIG_BOUNCE=y
257CONFIG_VIRT_TO_BUS=y 257CONFIG_VIRT_TO_BUS=y
258CONFIG_UNEVICTABLE_LRU=y
258CONFIG_FORCE_MAX_ZONEORDER=11 259CONFIG_FORCE_MAX_ZONEORDER=11
259CONFIG_PROC_DEVICETREE=y 260CONFIG_PROC_DEVICETREE=y
260# CONFIG_CMDLINE_BOOL is not set 261# CONFIG_CMDLINE_BOOL is not set
@@ -362,7 +363,6 @@ CONFIG_INET_TCP_DIAG=y
362CONFIG_TCP_CONG_CUBIC=y 363CONFIG_TCP_CONG_CUBIC=y
363CONFIG_DEFAULT_TCP_CONG="cubic" 364CONFIG_DEFAULT_TCP_CONG="cubic"
364# CONFIG_TCP_MD5SIG is not set 365# CONFIG_TCP_MD5SIG is not set
365# CONFIG_IP_VS is not set
366# CONFIG_IPV6 is not set 366# CONFIG_IPV6 is not set
367# CONFIG_NETWORK_SECMARK is not set 367# CONFIG_NETWORK_SECMARK is not set
368CONFIG_NETFILTER=y 368CONFIG_NETFILTER=y
@@ -392,13 +392,14 @@ CONFIG_NF_CONNTRACK_IRC=m
392# CONFIG_NF_CONNTRACK_SIP is not set 392# CONFIG_NF_CONNTRACK_SIP is not set
393CONFIG_NF_CONNTRACK_TFTP=m 393CONFIG_NF_CONNTRACK_TFTP=m
394CONFIG_NF_CT_NETLINK=m 394CONFIG_NF_CT_NETLINK=m
395# CONFIG_NETFILTER_TPROXY is not set
395CONFIG_NETFILTER_XTABLES=m 396CONFIG_NETFILTER_XTABLES=m
396CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 397CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
397# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 398# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
398# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 399# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
399CONFIG_NETFILTER_XT_TARGET_MARK=m 400CONFIG_NETFILTER_XT_TARGET_MARK=m
400CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
401CONFIG_NETFILTER_XT_TARGET_NFLOG=m 401CONFIG_NETFILTER_XT_TARGET_NFLOG=m
402CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
402CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 403CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
403CONFIG_NETFILTER_XT_TARGET_RATEEST=m 404CONFIG_NETFILTER_XT_TARGET_RATEEST=m
404CONFIG_NETFILTER_XT_TARGET_TRACE=m 405CONFIG_NETFILTER_XT_TARGET_TRACE=m
@@ -412,19 +413,22 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
412CONFIG_NETFILTER_XT_MATCH_DCCP=m 413CONFIG_NETFILTER_XT_MATCH_DCCP=m
413CONFIG_NETFILTER_XT_MATCH_DSCP=m 414CONFIG_NETFILTER_XT_MATCH_DSCP=m
414CONFIG_NETFILTER_XT_MATCH_ESP=m 415CONFIG_NETFILTER_XT_MATCH_ESP=m
416# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
415CONFIG_NETFILTER_XT_MATCH_HELPER=m 417CONFIG_NETFILTER_XT_MATCH_HELPER=m
416CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 418CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
417CONFIG_NETFILTER_XT_MATCH_LENGTH=m 419CONFIG_NETFILTER_XT_MATCH_LENGTH=m
418CONFIG_NETFILTER_XT_MATCH_LIMIT=m 420CONFIG_NETFILTER_XT_MATCH_LIMIT=m
419CONFIG_NETFILTER_XT_MATCH_MAC=m 421CONFIG_NETFILTER_XT_MATCH_MAC=m
420CONFIG_NETFILTER_XT_MATCH_MARK=m 422CONFIG_NETFILTER_XT_MATCH_MARK=m
423CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
421CONFIG_NETFILTER_XT_MATCH_OWNER=m 424CONFIG_NETFILTER_XT_MATCH_OWNER=m
422CONFIG_NETFILTER_XT_MATCH_POLICY=m 425CONFIG_NETFILTER_XT_MATCH_POLICY=m
423CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
424CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 426CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
425# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 427# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
426CONFIG_NETFILTER_XT_MATCH_RATEEST=m 428CONFIG_NETFILTER_XT_MATCH_RATEEST=m
427CONFIG_NETFILTER_XT_MATCH_REALM=m 429CONFIG_NETFILTER_XT_MATCH_REALM=m
430CONFIG_NETFILTER_XT_MATCH_RECENT=m
431# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
428CONFIG_NETFILTER_XT_MATCH_SCTP=m 432CONFIG_NETFILTER_XT_MATCH_SCTP=m
429# CONFIG_NETFILTER_XT_MATCH_STATE is not set 433# CONFIG_NETFILTER_XT_MATCH_STATE is not set
430# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 434# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
@@ -432,20 +436,20 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
432CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 436CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
433CONFIG_NETFILTER_XT_MATCH_TIME=m 437CONFIG_NETFILTER_XT_MATCH_TIME=m
434CONFIG_NETFILTER_XT_MATCH_U32=m 438CONFIG_NETFILTER_XT_MATCH_U32=m
435# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 439# CONFIG_IP_VS is not set
436 440
437# 441#
438# IP: Netfilter Configuration 442# IP: Netfilter Configuration
439# 443#
444CONFIG_NF_DEFRAG_IPV4=m
440CONFIG_NF_CONNTRACK_IPV4=m 445CONFIG_NF_CONNTRACK_IPV4=m
441CONFIG_NF_CONNTRACK_PROC_COMPAT=y 446CONFIG_NF_CONNTRACK_PROC_COMPAT=y
442# CONFIG_IP_NF_QUEUE is not set 447# CONFIG_IP_NF_QUEUE is not set
443CONFIG_IP_NF_IPTABLES=m 448CONFIG_IP_NF_IPTABLES=m
444CONFIG_IP_NF_MATCH_RECENT=m 449CONFIG_IP_NF_MATCH_ADDRTYPE=m
445CONFIG_IP_NF_MATCH_ECN=m
446CONFIG_IP_NF_MATCH_AH=m 450CONFIG_IP_NF_MATCH_AH=m
451CONFIG_IP_NF_MATCH_ECN=m
447CONFIG_IP_NF_MATCH_TTL=m 452CONFIG_IP_NF_MATCH_TTL=m
448CONFIG_IP_NF_MATCH_ADDRTYPE=m
449CONFIG_IP_NF_FILTER=m 453CONFIG_IP_NF_FILTER=m
450CONFIG_IP_NF_TARGET_REJECT=m 454CONFIG_IP_NF_TARGET_REJECT=m
451CONFIG_IP_NF_TARGET_LOG=m 455CONFIG_IP_NF_TARGET_LOG=m
@@ -453,8 +457,8 @@ CONFIG_IP_NF_TARGET_ULOG=m
453CONFIG_NF_NAT=m 457CONFIG_NF_NAT=m
454CONFIG_NF_NAT_NEEDED=y 458CONFIG_NF_NAT_NEEDED=y
455CONFIG_IP_NF_TARGET_MASQUERADE=m 459CONFIG_IP_NF_TARGET_MASQUERADE=m
456CONFIG_IP_NF_TARGET_REDIRECT=m
457CONFIG_IP_NF_TARGET_NETMAP=m 460CONFIG_IP_NF_TARGET_NETMAP=m
461CONFIG_IP_NF_TARGET_REDIRECT=m
458# CONFIG_NF_NAT_SNMP_BASIC is not set 462# CONFIG_NF_NAT_SNMP_BASIC is not set
459CONFIG_NF_NAT_PROTO_DCCP=m 463CONFIG_NF_NAT_PROTO_DCCP=m
460CONFIG_NF_NAT_FTP=m 464CONFIG_NF_NAT_FTP=m
@@ -465,9 +469,9 @@ CONFIG_NF_NAT_TFTP=m
465# CONFIG_NF_NAT_H323 is not set 469# CONFIG_NF_NAT_H323 is not set
466# CONFIG_NF_NAT_SIP is not set 470# CONFIG_NF_NAT_SIP is not set
467CONFIG_IP_NF_MANGLE=m 471CONFIG_IP_NF_MANGLE=m
472# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
468CONFIG_IP_NF_TARGET_ECN=m 473CONFIG_IP_NF_TARGET_ECN=m
469CONFIG_IP_NF_TARGET_TTL=m 474CONFIG_IP_NF_TARGET_TTL=m
470# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
471CONFIG_IP_NF_RAW=m 475CONFIG_IP_NF_RAW=m
472CONFIG_IP_NF_ARPTABLES=m 476CONFIG_IP_NF_ARPTABLES=m
473CONFIG_IP_NF_ARPFILTER=m 477CONFIG_IP_NF_ARPFILTER=m
@@ -494,6 +498,7 @@ CONFIG_IP_DCCP_TFRC_LIB=m
494# CONFIG_TIPC is not set 498# CONFIG_TIPC is not set
495# CONFIG_ATM is not set 499# CONFIG_ATM is not set
496# CONFIG_BRIDGE is not set 500# CONFIG_BRIDGE is not set
501# CONFIG_NET_DSA is not set
497# CONFIG_VLAN_8021Q is not set 502# CONFIG_VLAN_8021Q is not set
498# CONFIG_DECNET is not set 503# CONFIG_DECNET is not set
499# CONFIG_LLC2 is not set 504# CONFIG_LLC2 is not set
@@ -585,12 +590,11 @@ CONFIG_BT_HCIBFUSB=m
585# CONFIG_BT_HCIBTUART is not set 590# CONFIG_BT_HCIBTUART is not set
586# CONFIG_BT_HCIVHCI is not set 591# CONFIG_BT_HCIVHCI is not set
587# CONFIG_AF_RXRPC is not set 592# CONFIG_AF_RXRPC is not set
588 593# CONFIG_PHONET is not set
589# 594CONFIG_WIRELESS=y
590# Wireless
591#
592CONFIG_CFG80211=m 595CONFIG_CFG80211=m
593CONFIG_NL80211=y 596CONFIG_NL80211=y
597CONFIG_WIRELESS_OLD_REGULATORY=y
594CONFIG_WIRELESS_EXT=y 598CONFIG_WIRELESS_EXT=y
595CONFIG_WIRELESS_EXT_SYSFS=y 599CONFIG_WIRELESS_EXT_SYSFS=y
596CONFIG_MAC80211=m 600CONFIG_MAC80211=m
@@ -599,7 +603,9 @@ CONFIG_MAC80211=m
599# Rate control algorithm selection 603# Rate control algorithm selection
600# 604#
601CONFIG_MAC80211_RC_PID=y 605CONFIG_MAC80211_RC_PID=y
606# CONFIG_MAC80211_RC_MINSTREL is not set
602CONFIG_MAC80211_RC_DEFAULT_PID=y 607CONFIG_MAC80211_RC_DEFAULT_PID=y
608# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
603CONFIG_MAC80211_RC_DEFAULT="pid" 609CONFIG_MAC80211_RC_DEFAULT="pid"
604# CONFIG_MAC80211_MESH is not set 610# CONFIG_MAC80211_MESH is not set
605CONFIG_MAC80211_LEDS=y 611CONFIG_MAC80211_LEDS=y
@@ -663,7 +669,6 @@ CONFIG_MISC_DEVICES=y
663# CONFIG_HP_ILO is not set 669# CONFIG_HP_ILO is not set
664CONFIG_HAVE_IDE=y 670CONFIG_HAVE_IDE=y
665CONFIG_IDE=y 671CONFIG_IDE=y
666CONFIG_BLK_DEV_IDE=y
667 672
668# 673#
669# Please see Documentation/ide/ide.txt for help/info on IDE drives 674# Please see Documentation/ide/ide.txt for help/info on IDE drives
@@ -671,14 +676,14 @@ CONFIG_BLK_DEV_IDE=y
671CONFIG_IDE_TIMINGS=y 676CONFIG_IDE_TIMINGS=y
672CONFIG_IDE_ATAPI=y 677CONFIG_IDE_ATAPI=y
673# CONFIG_BLK_DEV_IDE_SATA is not set 678# CONFIG_BLK_DEV_IDE_SATA is not set
674CONFIG_BLK_DEV_IDEDISK=y 679CONFIG_IDE_GD=y
675# CONFIG_IDEDISK_MULTI_MODE is not set 680CONFIG_IDE_GD_ATA=y
681# CONFIG_IDE_GD_ATAPI is not set
676CONFIG_BLK_DEV_IDECS=m 682CONFIG_BLK_DEV_IDECS=m
677# CONFIG_BLK_DEV_DELKIN is not set 683# CONFIG_BLK_DEV_DELKIN is not set
678CONFIG_BLK_DEV_IDECD=y 684CONFIG_BLK_DEV_IDECD=y
679CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 685CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
680# CONFIG_BLK_DEV_IDETAPE is not set 686# CONFIG_BLK_DEV_IDETAPE is not set
681CONFIG_BLK_DEV_IDEFLOPPY=y
682CONFIG_BLK_DEV_IDESCSI=y 687CONFIG_BLK_DEV_IDESCSI=y
683# CONFIG_IDE_TASK_IOCTL is not set 688# CONFIG_IDE_TASK_IOCTL is not set
684CONFIG_IDE_PROC_FS=y 689CONFIG_IDE_PROC_FS=y
@@ -899,6 +904,9 @@ CONFIG_SUNGEM=y
899# CONFIG_IBM_NEW_EMAC_RGMII is not set 904# CONFIG_IBM_NEW_EMAC_RGMII is not set
900# CONFIG_IBM_NEW_EMAC_TAH is not set 905# CONFIG_IBM_NEW_EMAC_TAH is not set
901# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 906# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
907# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
908# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
909# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
902CONFIG_NET_PCI=y 910CONFIG_NET_PCI=y
903CONFIG_PCNET32=y 911CONFIG_PCNET32=y
904# CONFIG_AMD8111_ETH is not set 912# CONFIG_AMD8111_ETH is not set
@@ -919,6 +927,7 @@ CONFIG_PCNET32=y
919# CONFIG_TLAN is not set 927# CONFIG_TLAN is not set
920# CONFIG_VIA_RHINE is not set 928# CONFIG_VIA_RHINE is not set
921# CONFIG_SC92031 is not set 929# CONFIG_SC92031 is not set
930# CONFIG_ATL2 is not set
922CONFIG_NETDEV_1000=y 931CONFIG_NETDEV_1000=y
923# CONFIG_ACENIC is not set 932# CONFIG_ACENIC is not set
924# CONFIG_DL2K is not set 933# CONFIG_DL2K is not set
@@ -940,18 +949,22 @@ CONFIG_NETDEV_1000=y
940# CONFIG_QLA3XXX is not set 949# CONFIG_QLA3XXX is not set
941# CONFIG_ATL1 is not set 950# CONFIG_ATL1 is not set
942# CONFIG_ATL1E is not set 951# CONFIG_ATL1E is not set
952# CONFIG_JME is not set
943CONFIG_NETDEV_10000=y 953CONFIG_NETDEV_10000=y
944# CONFIG_CHELSIO_T1 is not set 954# CONFIG_CHELSIO_T1 is not set
945# CONFIG_CHELSIO_T3 is not set 955# CONFIG_CHELSIO_T3 is not set
956# CONFIG_ENIC is not set
946# CONFIG_IXGBE is not set 957# CONFIG_IXGBE is not set
947# CONFIG_IXGB is not set 958# CONFIG_IXGB is not set
948# CONFIG_S2IO is not set 959# CONFIG_S2IO is not set
949# CONFIG_MYRI10GE is not set 960# CONFIG_MYRI10GE is not set
950# CONFIG_NETXEN_NIC is not set 961# CONFIG_NETXEN_NIC is not set
951# CONFIG_NIU is not set 962# CONFIG_NIU is not set
963# CONFIG_MLX4_EN is not set
952# CONFIG_MLX4_CORE is not set 964# CONFIG_MLX4_CORE is not set
953# CONFIG_TEHUTI is not set 965# CONFIG_TEHUTI is not set
954# CONFIG_BNX2X is not set 966# CONFIG_BNX2X is not set
967# CONFIG_QLGE is not set
955# CONFIG_SFC is not set 968# CONFIG_SFC is not set
956# CONFIG_TR is not set 969# CONFIG_TR is not set
957 970
@@ -964,6 +977,7 @@ CONFIG_WLAN_80211=y
964# CONFIG_IPW2100 is not set 977# CONFIG_IPW2100 is not set
965# CONFIG_IPW2200 is not set 978# CONFIG_IPW2200 is not set
966# CONFIG_LIBERTAS is not set 979# CONFIG_LIBERTAS is not set
980# CONFIG_LIBERTAS_THINFIRM is not set
967# CONFIG_AIRO is not set 981# CONFIG_AIRO is not set
968CONFIG_HERMES=m 982CONFIG_HERMES=m
969CONFIG_APPLE_AIRPORT=m 983CONFIG_APPLE_AIRPORT=m
@@ -1023,6 +1037,7 @@ CONFIG_USB_USBNET=m
1023CONFIG_USB_NET_AX8817X=m 1037CONFIG_USB_NET_AX8817X=m
1024CONFIG_USB_NET_CDCETHER=m 1038CONFIG_USB_NET_CDCETHER=m
1025# CONFIG_USB_NET_DM9601 is not set 1039# CONFIG_USB_NET_DM9601 is not set
1040# CONFIG_USB_NET_SMSC95XX is not set
1026# CONFIG_USB_NET_GL620A is not set 1041# CONFIG_USB_NET_GL620A is not set
1027CONFIG_USB_NET_NET1080=m 1042CONFIG_USB_NET_NET1080=m
1028# CONFIG_USB_NET_PLUSB is not set 1043# CONFIG_USB_NET_PLUSB is not set
@@ -1239,6 +1254,7 @@ CONFIG_POWER_SUPPLY=y
1239CONFIG_APM_POWER=y 1254CONFIG_APM_POWER=y
1240# CONFIG_BATTERY_DS2760 is not set 1255# CONFIG_BATTERY_DS2760 is not set
1241CONFIG_BATTERY_PMU=y 1256CONFIG_BATTERY_PMU=y
1257# CONFIG_BATTERY_BQ27x00 is not set
1242# CONFIG_HWMON is not set 1258# CONFIG_HWMON is not set
1243# CONFIG_THERMAL is not set 1259# CONFIG_THERMAL is not set
1244# CONFIG_THERMAL_HWMON is not set 1260# CONFIG_THERMAL_HWMON is not set
@@ -1266,6 +1282,17 @@ CONFIG_SSB_DRIVER_PCICORE=y
1266# CONFIG_MFD_SM501 is not set 1282# CONFIG_MFD_SM501 is not set
1267# CONFIG_HTC_PASIC3 is not set 1283# CONFIG_HTC_PASIC3 is not set
1268# CONFIG_MFD_TMIO is not set 1284# CONFIG_MFD_TMIO is not set
1285# CONFIG_PMIC_DA903X is not set
1286# CONFIG_MFD_WM8400 is not set
1287# CONFIG_MFD_WM8350_I2C is not set
1288
1289#
1290# Voltage and Current regulators
1291#
1292# CONFIG_REGULATOR is not set
1293# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1294# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1295# CONFIG_REGULATOR_BQ24022 is not set
1269 1296
1270# 1297#
1271# Multimedia devices 1298# Multimedia devices
@@ -1301,6 +1328,7 @@ CONFIG_VGASTATE=y
1301CONFIG_FB=y 1328CONFIG_FB=y
1302# CONFIG_FIRMWARE_EDID is not set 1329# CONFIG_FIRMWARE_EDID is not set
1303CONFIG_FB_DDC=y 1330CONFIG_FB_DDC=y
1331# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1304CONFIG_FB_CFB_FILLRECT=y 1332CONFIG_FB_CFB_FILLRECT=y
1305CONFIG_FB_CFB_COPYAREA=y 1333CONFIG_FB_CFB_COPYAREA=y
1306CONFIG_FB_CFB_IMAGEBLIT=y 1334CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1357,6 +1385,7 @@ CONFIG_FB_ATY_BACKLIGHT=y
1357# CONFIG_FB_S3 is not set 1385# CONFIG_FB_S3 is not set
1358# CONFIG_FB_SAVAGE is not set 1386# CONFIG_FB_SAVAGE is not set
1359# CONFIG_FB_SIS is not set 1387# CONFIG_FB_SIS is not set
1388# CONFIG_FB_VIA is not set
1360# CONFIG_FB_NEOMAGIC is not set 1389# CONFIG_FB_NEOMAGIC is not set
1361# CONFIG_FB_KYRO is not set 1390# CONFIG_FB_KYRO is not set
1362CONFIG_FB_3DFX=y 1391CONFIG_FB_3DFX=y
@@ -1369,6 +1398,7 @@ CONFIG_FB_3DFX=y
1369# CONFIG_FB_CARMINE is not set 1398# CONFIG_FB_CARMINE is not set
1370# CONFIG_FB_IBM_GXT4500 is not set 1399# CONFIG_FB_IBM_GXT4500 is not set
1371# CONFIG_FB_VIRTUAL is not set 1400# CONFIG_FB_VIRTUAL is not set
1401# CONFIG_FB_METRONOME is not set
1372CONFIG_BACKLIGHT_LCD_SUPPORT=y 1402CONFIG_BACKLIGHT_LCD_SUPPORT=y
1373CONFIG_LCD_CLASS_DEVICE=m 1403CONFIG_LCD_CLASS_DEVICE=m
1374# CONFIG_LCD_ILI9320 is not set 1404# CONFIG_LCD_ILI9320 is not set
@@ -1401,6 +1431,7 @@ CONFIG_LOGO_LINUX_MONO=y
1401CONFIG_LOGO_LINUX_VGA16=y 1431CONFIG_LOGO_LINUX_VGA16=y
1402CONFIG_LOGO_LINUX_CLUT224=y 1432CONFIG_LOGO_LINUX_CLUT224=y
1403CONFIG_SOUND=m 1433CONFIG_SOUND=m
1434CONFIG_SOUND_OSS_CORE=y
1404CONFIG_SND=m 1435CONFIG_SND=m
1405CONFIG_SND_TIMER=m 1436CONFIG_SND_TIMER=m
1406CONFIG_SND_PCM=m 1437CONFIG_SND_PCM=m
@@ -1514,9 +1545,36 @@ CONFIG_HID=y
1514# USB Input Devices 1545# USB Input Devices
1515# 1546#
1516CONFIG_USB_HID=y 1547CONFIG_USB_HID=y
1517CONFIG_USB_HIDINPUT_POWERBOOK=y 1548# CONFIG_HID_PID is not set
1518# CONFIG_HID_FF is not set
1519# CONFIG_USB_HIDDEV is not set 1549# CONFIG_USB_HIDDEV is not set
1550
1551#
1552# Special HID drivers
1553#
1554CONFIG_HID_COMPAT=y
1555CONFIG_HID_A4TECH=y
1556CONFIG_HID_APPLE=y
1557CONFIG_HID_BELKIN=y
1558CONFIG_HID_BRIGHT=y
1559CONFIG_HID_CHERRY=y
1560CONFIG_HID_CHICONY=y
1561CONFIG_HID_CYPRESS=y
1562CONFIG_HID_DELL=y
1563CONFIG_HID_EZKEY=y
1564CONFIG_HID_GYRATION=y
1565CONFIG_HID_LOGITECH=y
1566# CONFIG_LOGITECH_FF is not set
1567# CONFIG_LOGIRUMBLEPAD2_FF is not set
1568CONFIG_HID_MICROSOFT=y
1569CONFIG_HID_MONTEREY=y
1570CONFIG_HID_PANTHERLORD=y
1571# CONFIG_PANTHERLORD_FF is not set
1572CONFIG_HID_PETALYNX=y
1573CONFIG_HID_SAMSUNG=y
1574CONFIG_HID_SONY=y
1575CONFIG_HID_SUNPLUS=y
1576# CONFIG_THRUSTMASTER_FF is not set
1577# CONFIG_ZEROPLUS_FF is not set
1520CONFIG_USB_SUPPORT=y 1578CONFIG_USB_SUPPORT=y
1521CONFIG_USB_ARCH_HAS_HCD=y 1579CONFIG_USB_ARCH_HAS_HCD=y
1522CONFIG_USB_ARCH_HAS_OHCI=y 1580CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1534,6 +1592,8 @@ CONFIG_USB_DYNAMIC_MINORS=y
1534# CONFIG_USB_SUSPEND is not set 1592# CONFIG_USB_SUSPEND is not set
1535# CONFIG_USB_OTG is not set 1593# CONFIG_USB_OTG is not set
1536CONFIG_USB_MON=y 1594CONFIG_USB_MON=y
1595# CONFIG_USB_WUSB is not set
1596# CONFIG_USB_WUSB_CBAF is not set
1537 1597
1538# 1598#
1539# USB Host Controller Drivers 1599# USB Host Controller Drivers
@@ -1553,6 +1613,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1553# CONFIG_USB_UHCI_HCD is not set 1613# CONFIG_USB_UHCI_HCD is not set
1554# CONFIG_USB_SL811_HCD is not set 1614# CONFIG_USB_SL811_HCD is not set
1555# CONFIG_USB_R8A66597_HCD is not set 1615# CONFIG_USB_R8A66597_HCD is not set
1616# CONFIG_USB_WHCI_HCD is not set
1617# CONFIG_USB_HWA_HCD is not set
1556 1618
1557# 1619#
1558# USB Device Class drivers 1620# USB Device Class drivers
@@ -1560,6 +1622,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1560CONFIG_USB_ACM=m 1622CONFIG_USB_ACM=m
1561CONFIG_USB_PRINTER=m 1623CONFIG_USB_PRINTER=m
1562# CONFIG_USB_WDM is not set 1624# CONFIG_USB_WDM is not set
1625# CONFIG_USB_TMC is not set
1563 1626
1564# 1627#
1565# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1628# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1581,7 +1644,6 @@ CONFIG_USB_STORAGE=m
1581# CONFIG_USB_STORAGE_ALAUDA is not set 1644# CONFIG_USB_STORAGE_ALAUDA is not set
1582CONFIG_USB_STORAGE_ONETOUCH=y 1645CONFIG_USB_STORAGE_ONETOUCH=y
1583# CONFIG_USB_STORAGE_KARMA is not set 1646# CONFIG_USB_STORAGE_KARMA is not set
1584# CONFIG_USB_STORAGE_SIERRA is not set
1585# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1647# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1586# CONFIG_USB_LIBUSUAL is not set 1648# CONFIG_USB_LIBUSUAL is not set
1587 1649
@@ -1656,6 +1718,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1656# CONFIG_USB_EMI62 is not set 1718# CONFIG_USB_EMI62 is not set
1657# CONFIG_USB_EMI26 is not set 1719# CONFIG_USB_EMI26 is not set
1658# CONFIG_USB_ADUTUX is not set 1720# CONFIG_USB_ADUTUX is not set
1721# CONFIG_USB_SEVSEG is not set
1659# CONFIG_USB_RIO500 is not set 1722# CONFIG_USB_RIO500 is not set
1660# CONFIG_USB_LEGOTOWER is not set 1723# CONFIG_USB_LEGOTOWER is not set
1661# CONFIG_USB_LCD is not set 1724# CONFIG_USB_LCD is not set
@@ -1673,7 +1736,9 @@ CONFIG_USB_APPLEDISPLAY=m
1673# CONFIG_USB_IOWARRIOR is not set 1736# CONFIG_USB_IOWARRIOR is not set
1674# CONFIG_USB_TEST is not set 1737# CONFIG_USB_TEST is not set
1675# CONFIG_USB_ISIGHTFW is not set 1738# CONFIG_USB_ISIGHTFW is not set
1739# CONFIG_USB_VST is not set
1676# CONFIG_USB_GADGET is not set 1740# CONFIG_USB_GADGET is not set
1741# CONFIG_UWB is not set
1677# CONFIG_MMC is not set 1742# CONFIG_MMC is not set
1678# CONFIG_MEMSTICK is not set 1743# CONFIG_MEMSTICK is not set
1679CONFIG_NEW_LEDS=y 1744CONFIG_NEW_LEDS=y
@@ -1692,6 +1757,7 @@ CONFIG_LEDS_TRIGGERS=y
1692# CONFIG_LEDS_TRIGGER_TIMER is not set 1757# CONFIG_LEDS_TRIGGER_TIMER is not set
1693CONFIG_LEDS_TRIGGER_IDE_DISK=y 1758CONFIG_LEDS_TRIGGER_IDE_DISK=y
1694# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set 1759# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
1760# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1695CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 1761CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1696# CONFIG_ACCESSIBILITY is not set 1762# CONFIG_ACCESSIBILITY is not set
1697# CONFIG_INFINIBAND is not set 1763# CONFIG_INFINIBAND is not set
@@ -1699,6 +1765,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1699# CONFIG_RTC_CLASS is not set 1765# CONFIG_RTC_CLASS is not set
1700# CONFIG_DMADEVICES is not set 1766# CONFIG_DMADEVICES is not set
1701# CONFIG_UIO is not set 1767# CONFIG_UIO is not set
1768# CONFIG_STAGING is not set
1702 1769
1703# 1770#
1704# File systems 1771# File systems
@@ -1710,12 +1777,18 @@ CONFIG_EXT3_FS=y
1710CONFIG_EXT3_FS_XATTR=y 1777CONFIG_EXT3_FS_XATTR=y
1711CONFIG_EXT3_FS_POSIX_ACL=y 1778CONFIG_EXT3_FS_POSIX_ACL=y
1712# CONFIG_EXT3_FS_SECURITY is not set 1779# CONFIG_EXT3_FS_SECURITY is not set
1713# CONFIG_EXT4DEV_FS is not set 1780CONFIG_EXT4_FS=y
1781# CONFIG_EXT4DEV_COMPAT is not set
1782CONFIG_EXT4_FS_XATTR=y
1783# CONFIG_EXT4_FS_POSIX_ACL is not set
1784# CONFIG_EXT4_FS_SECURITY is not set
1714CONFIG_JBD=y 1785CONFIG_JBD=y
1786CONFIG_JBD2=y
1715CONFIG_FS_MBCACHE=y 1787CONFIG_FS_MBCACHE=y
1716# CONFIG_REISERFS_FS is not set 1788# CONFIG_REISERFS_FS is not set
1717# CONFIG_JFS_FS is not set 1789# CONFIG_JFS_FS is not set
1718CONFIG_FS_POSIX_ACL=y 1790CONFIG_FS_POSIX_ACL=y
1791CONFIG_FILE_LOCKING=y
1719# CONFIG_XFS_FS is not set 1792# CONFIG_XFS_FS is not set
1720# CONFIG_GFS2_FS is not set 1793# CONFIG_GFS2_FS is not set
1721# CONFIG_OCFS2_FS is not set 1794# CONFIG_OCFS2_FS is not set
@@ -1752,6 +1825,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1752CONFIG_PROC_FS=y 1825CONFIG_PROC_FS=y
1753CONFIG_PROC_KCORE=y 1826CONFIG_PROC_KCORE=y
1754CONFIG_PROC_SYSCTL=y 1827CONFIG_PROC_SYSCTL=y
1828CONFIG_PROC_PAGE_MONITOR=y
1755CONFIG_SYSFS=y 1829CONFIG_SYSFS=y
1756CONFIG_TMPFS=y 1830CONFIG_TMPFS=y
1757# CONFIG_TMPFS_POSIX_ACL is not set 1831# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1794,6 +1868,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1794CONFIG_NFS_COMMON=y 1868CONFIG_NFS_COMMON=y
1795CONFIG_SUNRPC=y 1869CONFIG_SUNRPC=y
1796CONFIG_SUNRPC_GSS=y 1870CONFIG_SUNRPC_GSS=y
1871# CONFIG_SUNRPC_REGISTER_V4 is not set
1797CONFIG_RPCSEC_GSS_KRB5=y 1872CONFIG_RPCSEC_GSS_KRB5=y
1798# CONFIG_RPCSEC_GSS_SPKM3 is not set 1873# CONFIG_RPCSEC_GSS_SPKM3 is not set
1799CONFIG_SMB_FS=m 1874CONFIG_SMB_FS=m
@@ -1870,7 +1945,6 @@ CONFIG_NLS_UTF8=m
1870# Library routines 1945# Library routines
1871# 1946#
1872CONFIG_BITREVERSE=y 1947CONFIG_BITREVERSE=y
1873# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1874CONFIG_CRC_CCITT=y 1948CONFIG_CRC_CCITT=y
1875CONFIG_CRC16=y 1949CONFIG_CRC16=y
1876CONFIG_CRC_T10DIF=y 1950CONFIG_CRC_T10DIF=y
@@ -1927,18 +2001,25 @@ CONFIG_DEBUG_BUGVERBOSE=y
1927CONFIG_DEBUG_MEMORY_INIT=y 2001CONFIG_DEBUG_MEMORY_INIT=y
1928# CONFIG_DEBUG_LIST is not set 2002# CONFIG_DEBUG_LIST is not set
1929# CONFIG_DEBUG_SG is not set 2003# CONFIG_DEBUG_SG is not set
1930CONFIG_FRAME_POINTER=y
1931# CONFIG_BOOT_PRINTK_DELAY is not set 2004# CONFIG_BOOT_PRINTK_DELAY is not set
1932# CONFIG_RCU_TORTURE_TEST is not set 2005# CONFIG_RCU_TORTURE_TEST is not set
2006# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1933# CONFIG_BACKTRACE_SELF_TEST is not set 2007# CONFIG_BACKTRACE_SELF_TEST is not set
2008# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1934# CONFIG_FAULT_INJECTION is not set 2009# CONFIG_FAULT_INJECTION is not set
1935CONFIG_LATENCYTOP=y 2010CONFIG_LATENCYTOP=y
1936CONFIG_SYSCTL_SYSCALL_CHECK=y 2011CONFIG_SYSCTL_SYSCALL_CHECK=y
1937CONFIG_HAVE_FTRACE=y 2012CONFIG_HAVE_FUNCTION_TRACER=y
1938CONFIG_HAVE_DYNAMIC_FTRACE=y 2013
1939# CONFIG_FTRACE is not set 2014#
2015# Tracers
2016#
2017# CONFIG_FUNCTION_TRACER is not set
1940# CONFIG_SCHED_TRACER is not set 2018# CONFIG_SCHED_TRACER is not set
1941# CONFIG_CONTEXT_SWITCH_TRACER is not set 2019# CONFIG_CONTEXT_SWITCH_TRACER is not set
2020# CONFIG_BOOT_TRACER is not set
2021# CONFIG_STACK_TRACER is not set
2022# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1942# CONFIG_SAMPLES is not set 2023# CONFIG_SAMPLES is not set
1943CONFIG_HAVE_ARCH_KGDB=y 2024CONFIG_HAVE_ARCH_KGDB=y
1944# CONFIG_KGDB is not set 2025# CONFIG_KGDB is not set
@@ -1946,6 +2027,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1946# CONFIG_DEBUG_STACK_USAGE is not set 2027# CONFIG_DEBUG_STACK_USAGE is not set
1947# CONFIG_CODE_PATCHING_SELFTEST is not set 2028# CONFIG_CODE_PATCHING_SELFTEST is not set
1948# CONFIG_FTR_FIXUP_SELFTEST is not set 2029# CONFIG_FTR_FIXUP_SELFTEST is not set
2030# CONFIG_MSI_BITMAP_SELFTEST is not set
1949CONFIG_XMON=y 2031CONFIG_XMON=y
1950CONFIG_XMON_DEFAULT=y 2032CONFIG_XMON_DEFAULT=y
1951CONFIG_XMON_DISASSEMBLY=y 2033CONFIG_XMON_DISASSEMBLY=y
@@ -1960,16 +2042,19 @@ CONFIG_BOOTX_TEXT=y
1960# 2042#
1961# CONFIG_KEYS is not set 2043# CONFIG_KEYS is not set
1962# CONFIG_SECURITY is not set 2044# CONFIG_SECURITY is not set
2045# CONFIG_SECURITYFS is not set
1963# CONFIG_SECURITY_FILE_CAPABILITIES is not set 2046# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1964CONFIG_CRYPTO=y 2047CONFIG_CRYPTO=y
1965 2048
1966# 2049#
1967# Crypto core or helper 2050# Crypto core or helper
1968# 2051#
2052# CONFIG_CRYPTO_FIPS is not set
1969CONFIG_CRYPTO_ALGAPI=y 2053CONFIG_CRYPTO_ALGAPI=y
1970CONFIG_CRYPTO_AEAD=y 2054CONFIG_CRYPTO_AEAD=y
1971CONFIG_CRYPTO_BLKCIPHER=y 2055CONFIG_CRYPTO_BLKCIPHER=y
1972CONFIG_CRYPTO_HASH=y 2056CONFIG_CRYPTO_HASH=y
2057CONFIG_CRYPTO_RNG=y
1973CONFIG_CRYPTO_MANAGER=y 2058CONFIG_CRYPTO_MANAGER=y
1974# CONFIG_CRYPTO_GF128MUL is not set 2059# CONFIG_CRYPTO_GF128MUL is not set
1975CONFIG_CRYPTO_NULL=m 2060CONFIG_CRYPTO_NULL=m
@@ -2043,6 +2128,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
2043# 2128#
2044CONFIG_CRYPTO_DEFLATE=m 2129CONFIG_CRYPTO_DEFLATE=m
2045# CONFIG_CRYPTO_LZO is not set 2130# CONFIG_CRYPTO_LZO is not set
2131
2132#
2133# Random Number Generation
2134#
2135# CONFIG_CRYPTO_ANSI_CPRNG is not set
2046CONFIG_CRYPTO_HW=y 2136CONFIG_CRYPTO_HW=y
2047# CONFIG_CRYPTO_DEV_HIFN_795X is not set 2137# CONFIG_CRYPTO_DEV_HIFN_795X is not set
2048# CONFIG_PPC_CLOCK is not set 2138# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig
index 6a5b713a07e0..c15c91deb2ab 100644
--- a/arch/powerpc/configs/ppc40x_defconfig
+++ b/arch/powerpc/configs/ppc40x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 12:34:33 2008 4# Tue Oct 28 08:56:44 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -19,14 +19,13 @@ CONFIG_4xx=y
19CONFIG_NOT_COHERENT_CACHE=y 19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y 20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32 21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y 22# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
23CONFIG_MMU=y 23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y 24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y 25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y 26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y 27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y 28CONFIG_GENERIC_HARDIRQS=y
29# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
31CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
32CONFIG_STACKTRACE_SUPPORT=y 31CONFIG_STACKTRACE_SUPPORT=y
@@ -37,6 +36,7 @@ CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 36CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y 37CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 38CONFIG_GENERIC_FIND_NEXT_BIT=y
39CONFIG_GENERIC_GPIO=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 41CONFIG_PPC=y
42CONFIG_EARLY_PRINTK=y 42CONFIG_EARLY_PRINTK=y
@@ -88,7 +88,6 @@ CONFIG_INITRAMFS_SOURCE=""
88CONFIG_SYSCTL=y 88CONFIG_SYSCTL=y
89CONFIG_EMBEDDED=y 89CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 90CONFIG_SYSCTL_SYSCALL=y
91CONFIG_SYSCTL_SYSCALL_CHECK=y
92CONFIG_KALLSYMS=y 91CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 92CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 93CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -105,7 +104,9 @@ CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 104CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 105CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 106CONFIG_SHMEM=y
107CONFIG_AIO=y
108CONFIG_VM_EVENT_COUNTERS=y 108CONFIG_VM_EVENT_COUNTERS=y
109CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 110CONFIG_SLUB_DEBUG=y
110# CONFIG_SLAB is not set 111# CONFIG_SLAB is not set
111CONFIG_SLUB=y 112CONFIG_SLUB=y
@@ -119,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
119CONFIG_HAVE_KPROBES=y 120CONFIG_HAVE_KPROBES=y
120CONFIG_HAVE_KRETPROBES=y 121CONFIG_HAVE_KRETPROBES=y
121CONFIG_HAVE_ARCH_TRACEHOOK=y 122CONFIG_HAVE_ARCH_TRACEHOOK=y
122# CONFIG_HAVE_DMA_ATTRS is not set
123# CONFIG_USE_GENERIC_SMP_HELPERS is not set
124# CONFIG_HAVE_CLK is not set
125CONFIG_PROC_PAGE_MONITOR=y
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 124CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 125CONFIG_RT_MUTEXES=y
@@ -155,6 +152,7 @@ CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_NOOP is not set 152# CONFIG_DEFAULT_NOOP is not set
156CONFIG_DEFAULT_IOSCHED="anticipatory" 153CONFIG_DEFAULT_IOSCHED="anticipatory"
157CONFIG_CLASSIC_RCU=y 154CONFIG_CLASSIC_RCU=y
155# CONFIG_FREEZER is not set
158CONFIG_PPC4xx_PCI_EXPRESS=y 156CONFIG_PPC4xx_PCI_EXPRESS=y
159 157
160# 158#
@@ -163,14 +161,20 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
163# CONFIG_PPC_CELL is not set 161# CONFIG_PPC_CELL is not set
164# CONFIG_PPC_CELL_NATIVE is not set 162# CONFIG_PPC_CELL_NATIVE is not set
165# CONFIG_PQ2ADS is not set 163# CONFIG_PQ2ADS is not set
164CONFIG_PPC4xx_GPIO=y
166CONFIG_XILINX_VIRTEX=y 165CONFIG_XILINX_VIRTEX=y
166CONFIG_ACADIA=y
167CONFIG_EP405=y 167CONFIG_EP405=y
168CONFIG_HCU4=y
168CONFIG_KILAUEA=y 169CONFIG_KILAUEA=y
169CONFIG_MAKALU=y 170CONFIG_MAKALU=y
170CONFIG_WALNUT=y 171CONFIG_WALNUT=y
171CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y 172CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y
173CONFIG_PPC40x_SIMPLE=y
172CONFIG_405GP=y 174CONFIG_405GP=y
173CONFIG_405EX=y 175CONFIG_405EX=y
176CONFIG_405EZ=y
177CONFIG_405GPR=y
174CONFIG_XILINX_VIRTEX_II_PRO=y 178CONFIG_XILINX_VIRTEX_II_PRO=y
175CONFIG_XILINX_VIRTEX_4_FX=y 179CONFIG_XILINX_VIRTEX_4_FX=y
176CONFIG_IBM405_ERR77=y 180CONFIG_IBM405_ERR77=y
@@ -193,7 +197,6 @@ CONFIG_OF_RTC=y
193# Kernel options 197# Kernel options
194# 198#
195# CONFIG_HIGHMEM is not set 199# CONFIG_HIGHMEM is not set
196# CONFIG_TICK_ONESHOT is not set
197# CONFIG_NO_HZ is not set 200# CONFIG_NO_HZ is not set
198# CONFIG_HIGH_RES_TIMERS is not set 201# CONFIG_HIGH_RES_TIMERS is not set
199CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 202CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -207,6 +210,8 @@ CONFIG_PREEMPT_NONE=y
207# CONFIG_PREEMPT_VOLUNTARY is not set 210# CONFIG_PREEMPT_VOLUNTARY is not set
208# CONFIG_PREEMPT is not set 211# CONFIG_PREEMPT is not set
209CONFIG_BINFMT_ELF=y 212CONFIG_BINFMT_ELF=y
213# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
214# CONFIG_HAVE_AOUT is not set
210# CONFIG_BINFMT_MISC is not set 215# CONFIG_BINFMT_MISC is not set
211# CONFIG_MATH_EMULATION is not set 216# CONFIG_MATH_EMULATION is not set
212# CONFIG_IOMMU_HELPER is not set 217# CONFIG_IOMMU_HELPER is not set
@@ -221,15 +226,15 @@ CONFIG_FLATMEM_MANUAL=y
221# CONFIG_SPARSEMEM_MANUAL is not set 226# CONFIG_SPARSEMEM_MANUAL is not set
222CONFIG_FLATMEM=y 227CONFIG_FLATMEM=y
223CONFIG_FLAT_NODE_MEM_MAP=y 228CONFIG_FLAT_NODE_MEM_MAP=y
224# CONFIG_SPARSEMEM_STATIC is not set
225# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
226CONFIG_PAGEFLAGS_EXTENDED=y 229CONFIG_PAGEFLAGS_EXTENDED=y
227CONFIG_SPLIT_PTLOCK_CPUS=4 230CONFIG_SPLIT_PTLOCK_CPUS=4
228CONFIG_MIGRATION=y 231CONFIG_MIGRATION=y
229CONFIG_RESOURCES_64BIT=y 232CONFIG_RESOURCES_64BIT=y
233# CONFIG_PHYS_ADDR_T_64BIT is not set
230CONFIG_ZONE_DMA_FLAG=1 234CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 235CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 236CONFIG_VIRT_TO_BUS=y
237CONFIG_UNEVICTABLE_LRU=y
233CONFIG_FORCE_MAX_ZONEORDER=11 238CONFIG_FORCE_MAX_ZONEORDER=11
234CONFIG_PROC_DEVICETREE=y 239CONFIG_PROC_DEVICETREE=y
235# CONFIG_CMDLINE_BOOL is not set 240# CONFIG_CMDLINE_BOOL is not set
@@ -339,6 +344,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
339# CONFIG_TIPC is not set 344# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 345# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 346# CONFIG_BRIDGE is not set
347# CONFIG_NET_DSA is not set
342# CONFIG_VLAN_8021Q is not set 348# CONFIG_VLAN_8021Q is not set
343# CONFIG_DECNET is not set 349# CONFIG_DECNET is not set
344# CONFIG_LLC2 is not set 350# CONFIG_LLC2 is not set
@@ -359,11 +365,10 @@ CONFIG_IPV6_NDISC_NODETYPE=y
359# CONFIG_IRDA is not set 365# CONFIG_IRDA is not set
360# CONFIG_BT is not set 366# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 367# CONFIG_AF_RXRPC is not set
362 368# CONFIG_PHONET is not set
363# 369CONFIG_WIRELESS=y
364# Wireless
365#
366# CONFIG_CFG80211 is not set 370# CONFIG_CFG80211 is not set
371CONFIG_WIRELESS_OLD_REGULATORY=y
367# CONFIG_WIRELESS_EXT is not set 372# CONFIG_WIRELESS_EXT is not set
368# CONFIG_MAC80211 is not set 373# CONFIG_MAC80211 is not set
369# CONFIG_IEEE80211 is not set 374# CONFIG_IEEE80211 is not set
@@ -476,6 +481,7 @@ CONFIG_MTD_UBI_GLUEBI=y
476# 481#
477# CONFIG_MTD_UBI_DEBUG is not set 482# CONFIG_MTD_UBI_DEBUG is not set
478CONFIG_OF_DEVICE=y 483CONFIG_OF_DEVICE=y
484CONFIG_OF_GPIO=y
479CONFIG_OF_I2C=m 485CONFIG_OF_I2C=m
480# CONFIG_PARPORT is not set 486# CONFIG_PARPORT is not set
481CONFIG_BLK_DEV=y 487CONFIG_BLK_DEV=y
@@ -556,8 +562,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
556CONFIG_IBM_NEW_EMAC_RGMII=y 562CONFIG_IBM_NEW_EMAC_RGMII=y
557# CONFIG_IBM_NEW_EMAC_TAH is not set 563# CONFIG_IBM_NEW_EMAC_TAH is not set
558CONFIG_IBM_NEW_EMAC_EMAC4=y 564CONFIG_IBM_NEW_EMAC_EMAC4=y
565CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL=y
566CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y
567CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y
559# CONFIG_NET_PCI is not set 568# CONFIG_NET_PCI is not set
560# CONFIG_B44 is not set 569# CONFIG_B44 is not set
570# CONFIG_ATL2 is not set
561CONFIG_NETDEV_1000=y 571CONFIG_NETDEV_1000=y
562# CONFIG_ACENIC is not set 572# CONFIG_ACENIC is not set
563# CONFIG_DL2K is not set 573# CONFIG_DL2K is not set
@@ -578,18 +588,22 @@ CONFIG_NETDEV_1000=y
578# CONFIG_QLA3XXX is not set 588# CONFIG_QLA3XXX is not set
579# CONFIG_ATL1 is not set 589# CONFIG_ATL1 is not set
580# CONFIG_ATL1E is not set 590# CONFIG_ATL1E is not set
591# CONFIG_JME is not set
581CONFIG_NETDEV_10000=y 592CONFIG_NETDEV_10000=y
582# CONFIG_CHELSIO_T1 is not set 593# CONFIG_CHELSIO_T1 is not set
583# CONFIG_CHELSIO_T3 is not set 594# CONFIG_CHELSIO_T3 is not set
595# CONFIG_ENIC is not set
584# CONFIG_IXGBE is not set 596# CONFIG_IXGBE is not set
585# CONFIG_IXGB is not set 597# CONFIG_IXGB is not set
586# CONFIG_S2IO is not set 598# CONFIG_S2IO is not set
587# CONFIG_MYRI10GE is not set 599# CONFIG_MYRI10GE is not set
588# CONFIG_NETXEN_NIC is not set 600# CONFIG_NETXEN_NIC is not set
589# CONFIG_NIU is not set 601# CONFIG_NIU is not set
602# CONFIG_MLX4_EN is not set
590# CONFIG_MLX4_CORE is not set 603# CONFIG_MLX4_CORE is not set
591# CONFIG_TEHUTI is not set 604# CONFIG_TEHUTI is not set
592# CONFIG_BNX2X is not set 605# CONFIG_BNX2X is not set
606# CONFIG_QLGE is not set
593# CONFIG_SFC is not set 607# CONFIG_SFC is not set
594# CONFIG_TR is not set 608# CONFIG_TR is not set
595 609
@@ -667,6 +681,8 @@ CONFIG_DEVPORT=y
667CONFIG_I2C=m 681CONFIG_I2C=m
668CONFIG_I2C_BOARDINFO=y 682CONFIG_I2C_BOARDINFO=y
669CONFIG_I2C_CHARDEV=m 683CONFIG_I2C_CHARDEV=m
684CONFIG_I2C_HELPER_AUTO=y
685CONFIG_I2C_ALGOBIT=m
670 686
671# 687#
672# I2C Hardware Bus support 688# I2C Hardware Bus support
@@ -693,6 +709,7 @@ CONFIG_I2C_CHARDEV=m
693# 709#
694# I2C system bus drivers (mostly embedded / system-on-chip) 710# I2C system bus drivers (mostly embedded / system-on-chip)
695# 711#
712CONFIG_I2C_GPIO=m
696CONFIG_I2C_IBM_IIC=m 713CONFIG_I2C_IBM_IIC=m
697# CONFIG_I2C_MPC is not set 714# CONFIG_I2C_MPC is not set
698# CONFIG_I2C_OCORES is not set 715# CONFIG_I2C_OCORES is not set
@@ -725,6 +742,7 @@ CONFIG_I2C_IBM_IIC=m
725# CONFIG_PCF8575 is not set 742# CONFIG_PCF8575 is not set
726# CONFIG_SENSORS_PCA9539 is not set 743# CONFIG_SENSORS_PCA9539 is not set
727# CONFIG_SENSORS_PCF8591 is not set 744# CONFIG_SENSORS_PCF8591 is not set
745# CONFIG_TPS65010 is not set
728# CONFIG_SENSORS_MAX6875 is not set 746# CONFIG_SENSORS_MAX6875 is not set
729# CONFIG_SENSORS_TSL2550 is not set 747# CONFIG_SENSORS_TSL2550 is not set
730# CONFIG_I2C_DEBUG_CORE is not set 748# CONFIG_I2C_DEBUG_CORE is not set
@@ -733,7 +751,26 @@ CONFIG_I2C_IBM_IIC=m
733# CONFIG_I2C_DEBUG_CHIP is not set 751# CONFIG_I2C_DEBUG_CHIP is not set
734# CONFIG_SPI is not set 752# CONFIG_SPI is not set
735CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 753CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
736# CONFIG_GPIOLIB is not set 754CONFIG_ARCH_REQUIRE_GPIOLIB=y
755CONFIG_GPIOLIB=y
756# CONFIG_DEBUG_GPIO is not set
757# CONFIG_GPIO_SYSFS is not set
758
759#
760# I2C GPIO expanders:
761#
762# CONFIG_GPIO_MAX732X is not set
763# CONFIG_GPIO_PCA953X is not set
764# CONFIG_GPIO_PCF857X is not set
765
766#
767# PCI GPIO expanders:
768#
769# CONFIG_GPIO_BT8XX is not set
770
771#
772# SPI GPIO expanders:
773#
737# CONFIG_W1 is not set 774# CONFIG_W1 is not set
738# CONFIG_POWER_SUPPLY is not set 775# CONFIG_POWER_SUPPLY is not set
739# CONFIG_HWMON is not set 776# CONFIG_HWMON is not set
@@ -752,6 +789,9 @@ CONFIG_SSB_POSSIBLE=y
752# CONFIG_MFD_CORE is not set 789# CONFIG_MFD_CORE is not set
753# CONFIG_MFD_SM501 is not set 790# CONFIG_MFD_SM501 is not set
754# CONFIG_HTC_PASIC3 is not set 791# CONFIG_HTC_PASIC3 is not set
792# CONFIG_MFD_TMIO is not set
793# CONFIG_MFD_WM8400 is not set
794# CONFIG_MFD_WM8350_I2C is not set
755 795
756# 796#
757# Multimedia devices 797# Multimedia devices
@@ -793,9 +833,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y
793# CONFIG_USB_OTG_BLACKLIST_HUB is not set 833# CONFIG_USB_OTG_BLACKLIST_HUB is not set
794 834
795# 835#
836# Enable Host or Gadget support to see Inventra options
837#
838
839#
796# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 840# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
797# 841#
798# CONFIG_USB_GADGET is not set 842# CONFIG_USB_GADGET is not set
843# CONFIG_UWB is not set
799# CONFIG_MMC is not set 844# CONFIG_MMC is not set
800# CONFIG_MEMSTICK is not set 845# CONFIG_MEMSTICK is not set
801# CONFIG_NEW_LEDS is not set 846# CONFIG_NEW_LEDS is not set
@@ -805,6 +850,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
805# CONFIG_RTC_CLASS is not set 850# CONFIG_RTC_CLASS is not set
806# CONFIG_DMADEVICES is not set 851# CONFIG_DMADEVICES is not set
807# CONFIG_UIO is not set 852# CONFIG_UIO is not set
853# CONFIG_STAGING is not set
808 854
809# 855#
810# File systems 856# File systems
@@ -816,13 +862,14 @@ CONFIG_EXT3_FS=m
816CONFIG_EXT3_FS_XATTR=y 862CONFIG_EXT3_FS_XATTR=y
817# CONFIG_EXT3_FS_POSIX_ACL is not set 863# CONFIG_EXT3_FS_POSIX_ACL is not set
818# CONFIG_EXT3_FS_SECURITY is not set 864# CONFIG_EXT3_FS_SECURITY is not set
819# CONFIG_EXT4DEV_FS is not set 865# CONFIG_EXT4_FS is not set
820CONFIG_JBD=m 866CONFIG_JBD=m
821# CONFIG_JBD_DEBUG is not set 867# CONFIG_JBD_DEBUG is not set
822CONFIG_FS_MBCACHE=y 868CONFIG_FS_MBCACHE=m
823# CONFIG_REISERFS_FS is not set 869# CONFIG_REISERFS_FS is not set
824# CONFIG_JFS_FS is not set 870# CONFIG_JFS_FS is not set
825# CONFIG_FS_POSIX_ACL is not set 871# CONFIG_FS_POSIX_ACL is not set
872CONFIG_FILE_LOCKING=y
826# CONFIG_XFS_FS is not set 873# CONFIG_XFS_FS is not set
827# CONFIG_OCFS2_FS is not set 874# CONFIG_OCFS2_FS is not set
828CONFIG_DNOTIFY=y 875CONFIG_DNOTIFY=y
@@ -855,6 +902,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
855CONFIG_PROC_FS=y 902CONFIG_PROC_FS=y
856CONFIG_PROC_KCORE=y 903CONFIG_PROC_KCORE=y
857CONFIG_PROC_SYSCTL=y 904CONFIG_PROC_SYSCTL=y
905CONFIG_PROC_PAGE_MONITOR=y
858CONFIG_SYSFS=y 906CONFIG_SYSFS=y
859CONFIG_TMPFS=y 907CONFIG_TMPFS=y
860# CONFIG_TMPFS_POSIX_ACL is not set 908# CONFIG_TMPFS_POSIX_ACL is not set
@@ -908,6 +956,7 @@ CONFIG_LOCKD=y
908CONFIG_LOCKD_V4=y 956CONFIG_LOCKD_V4=y
909CONFIG_NFS_COMMON=y 957CONFIG_NFS_COMMON=y
910CONFIG_SUNRPC=y 958CONFIG_SUNRPC=y
959# CONFIG_SUNRPC_REGISTER_V4 is not set
911# CONFIG_RPCSEC_GSS_KRB5 is not set 960# CONFIG_RPCSEC_GSS_KRB5 is not set
912# CONFIG_RPCSEC_GSS_SPKM3 is not set 961# CONFIG_RPCSEC_GSS_SPKM3 is not set
913# CONFIG_SMB_FS is not set 962# CONFIG_SMB_FS is not set
@@ -967,7 +1016,6 @@ CONFIG_NLS_ISO8859_1=m
967# Library routines 1016# Library routines
968# 1017#
969CONFIG_BITREVERSE=y 1018CONFIG_BITREVERSE=y
970# CONFIG_GENERIC_FIND_FIRST_BIT is not set
971# CONFIG_CRC_CCITT is not set 1019# CONFIG_CRC_CCITT is not set
972CONFIG_CRC16=m 1020CONFIG_CRC16=m
973# CONFIG_CRC_T10DIF is not set 1021# CONFIG_CRC_T10DIF is not set
@@ -1023,14 +1071,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
1023# CONFIG_DEBUG_SG is not set 1071# CONFIG_DEBUG_SG is not set
1024# CONFIG_BOOT_PRINTK_DELAY is not set 1072# CONFIG_BOOT_PRINTK_DELAY is not set
1025# CONFIG_RCU_TORTURE_TEST is not set 1073# CONFIG_RCU_TORTURE_TEST is not set
1074# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1026# CONFIG_BACKTRACE_SELF_TEST is not set 1075# CONFIG_BACKTRACE_SELF_TEST is not set
1076# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1027# CONFIG_FAULT_INJECTION is not set 1077# CONFIG_FAULT_INJECTION is not set
1028# CONFIG_LATENCYTOP is not set 1078# CONFIG_LATENCYTOP is not set
1079CONFIG_SYSCTL_SYSCALL_CHECK=y
1080CONFIG_NOP_TRACER=y
1029CONFIG_HAVE_FTRACE=y 1081CONFIG_HAVE_FTRACE=y
1030CONFIG_HAVE_DYNAMIC_FTRACE=y 1082CONFIG_HAVE_DYNAMIC_FTRACE=y
1031# CONFIG_FTRACE is not set 1083# CONFIG_FTRACE is not set
1032# CONFIG_SCHED_TRACER is not set 1084# CONFIG_SCHED_TRACER is not set
1033# CONFIG_CONTEXT_SWITCH_TRACER is not set 1085# CONFIG_CONTEXT_SWITCH_TRACER is not set
1086# CONFIG_BOOT_TRACER is not set
1087# CONFIG_STACK_TRACER is not set
1088# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1034# CONFIG_SAMPLES is not set 1089# CONFIG_SAMPLES is not set
1035CONFIG_HAVE_ARCH_KGDB=y 1090CONFIG_HAVE_ARCH_KGDB=y
1036# CONFIG_KGDB is not set 1091# CONFIG_KGDB is not set
@@ -1039,6 +1094,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1039# CONFIG_DEBUG_PAGEALLOC is not set 1094# CONFIG_DEBUG_PAGEALLOC is not set
1040# CONFIG_CODE_PATCHING_SELFTEST is not set 1095# CONFIG_CODE_PATCHING_SELFTEST is not set
1041# CONFIG_FTR_FIXUP_SELFTEST is not set 1096# CONFIG_FTR_FIXUP_SELFTEST is not set
1097# CONFIG_MSI_BITMAP_SELFTEST is not set
1042# CONFIG_XMON is not set 1098# CONFIG_XMON is not set
1043# CONFIG_IRQSTACKS is not set 1099# CONFIG_IRQSTACKS is not set
1044# CONFIG_VIRQ_DEBUG is not set 1100# CONFIG_VIRQ_DEBUG is not set
@@ -1050,14 +1106,19 @@ CONFIG_HAVE_ARCH_KGDB=y
1050# 1106#
1051# CONFIG_KEYS is not set 1107# CONFIG_KEYS is not set
1052# CONFIG_SECURITY is not set 1108# CONFIG_SECURITY is not set
1109# CONFIG_SECURITYFS is not set
1053# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1110# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1054CONFIG_CRYPTO=y 1111CONFIG_CRYPTO=y
1055 1112
1056# 1113#
1057# Crypto core or helper 1114# Crypto core or helper
1058# 1115#
1116# CONFIG_CRYPTO_FIPS is not set
1059CONFIG_CRYPTO_ALGAPI=y 1117CONFIG_CRYPTO_ALGAPI=y
1118CONFIG_CRYPTO_AEAD=y
1060CONFIG_CRYPTO_BLKCIPHER=y 1119CONFIG_CRYPTO_BLKCIPHER=y
1120CONFIG_CRYPTO_HASH=y
1121CONFIG_CRYPTO_RNG=y
1061CONFIG_CRYPTO_MANAGER=y 1122CONFIG_CRYPTO_MANAGER=y
1062# CONFIG_CRYPTO_GF128MUL is not set 1123# CONFIG_CRYPTO_GF128MUL is not set
1063# CONFIG_CRYPTO_NULL is not set 1124# CONFIG_CRYPTO_NULL is not set
@@ -1130,6 +1191,11 @@ CONFIG_CRYPTO_DES=y
1130# 1191#
1131CONFIG_CRYPTO_DEFLATE=m 1192CONFIG_CRYPTO_DEFLATE=m
1132CONFIG_CRYPTO_LZO=m 1193CONFIG_CRYPTO_LZO=m
1194
1195#
1196# Random Number Generation
1197#
1198# CONFIG_CRYPTO_ANSI_CPRNG is not set
1133CONFIG_CRYPTO_HW=y 1199CONFIG_CRYPTO_HW=y
1134# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1200# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1135# CONFIG_PPC_CLOCK is not set 1201# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig
index c7825dcbf415..55edbd545b61 100644
--- a/arch/powerpc/configs/ppc44x_defconfig
+++ b/arch/powerpc/configs/ppc44x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc1 3# Linux kernel version: 2.6.28-rc2
4# Tue Aug 5 10:01:31 2008 4# Tue Oct 28 09:28:58 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y
23CONFIG_NOT_COHERENT_CACHE=y 23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 32CONFIG_GENERIC_HARDIRQS=y
33# CONFIG_HAVE_GET_USER_PAGES_FAST is not set
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
35CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
36CONFIG_STACKTRACE_SUPPORT=y 35CONFIG_STACKTRACE_SUPPORT=y
@@ -41,6 +40,7 @@ CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 40CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y 41CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 42CONFIG_GENERIC_FIND_NEXT_BIT=y
43CONFIG_GENERIC_GPIO=y
44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
45CONFIG_PPC=y 45CONFIG_PPC=y
46CONFIG_EARLY_PRINTK=y 46CONFIG_EARLY_PRINTK=y
@@ -92,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE=""
92CONFIG_SYSCTL=y 92CONFIG_SYSCTL=y
93CONFIG_EMBEDDED=y 93CONFIG_EMBEDDED=y
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
@@ -109,7 +108,9 @@ CONFIG_SIGNALFD=y
109CONFIG_TIMERFD=y 108CONFIG_TIMERFD=y
110CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
111CONFIG_SHMEM=y 110CONFIG_SHMEM=y
111CONFIG_AIO=y
112CONFIG_VM_EVENT_COUNTERS=y 112CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 114CONFIG_SLUB_DEBUG=y
114# CONFIG_SLAB is not set 115# CONFIG_SLAB is not set
115CONFIG_SLUB=y 116CONFIG_SLUB=y
@@ -123,10 +124,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 124CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 125CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 126CONFIG_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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 127# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 128CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 129CONFIG_RT_MUTEXES=y
@@ -158,7 +155,9 @@ CONFIG_DEFAULT_AS=y
158# CONFIG_DEFAULT_CFQ is not set 155# CONFIG_DEFAULT_CFQ is not set
159# CONFIG_DEFAULT_NOOP is not set 156# CONFIG_DEFAULT_NOOP is not set
160CONFIG_DEFAULT_IOSCHED="anticipatory" 157CONFIG_DEFAULT_IOSCHED="anticipatory"
158CONFIG_PREEMPT_NOTIFIERS=y
161CONFIG_CLASSIC_RCU=y 159CONFIG_CLASSIC_RCU=y
160# CONFIG_FREEZER is not set
162CONFIG_PPC4xx_PCI_EXPRESS=y 161CONFIG_PPC4xx_PCI_EXPRESS=y
163 162
164# 163#
@@ -175,9 +174,13 @@ CONFIG_TAISHAN=y
175CONFIG_KATMAI=y 174CONFIG_KATMAI=y
176CONFIG_RAINIER=y 175CONFIG_RAINIER=y
177CONFIG_WARP=y 176CONFIG_WARP=y
177CONFIG_ARCHES=y
178CONFIG_CANYONLANDS=y 178CONFIG_CANYONLANDS=y
179CONFIG_GLACIER=y
179CONFIG_YOSEMITE=y 180CONFIG_YOSEMITE=y
180CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y 181CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y
182CONFIG_PPC44x_SIMPLE=y
183CONFIG_PPC4xx_GPIO=y
181CONFIG_440EP=y 184CONFIG_440EP=y
182CONFIG_440EPX=y 185CONFIG_440EPX=y
183CONFIG_440GRX=y 186CONFIG_440GRX=y
@@ -206,7 +209,6 @@ CONFIG_OF_RTC=y
206# Kernel options 209# Kernel options
207# 210#
208# CONFIG_HIGHMEM is not set 211# CONFIG_HIGHMEM is not set
209# CONFIG_TICK_ONESHOT is not set
210# CONFIG_NO_HZ is not set 212# CONFIG_NO_HZ is not set
211# CONFIG_HIGH_RES_TIMERS is not set 213# CONFIG_HIGH_RES_TIMERS is not set
212CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 214CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -220,6 +222,8 @@ CONFIG_PREEMPT_NONE=y
220# CONFIG_PREEMPT_VOLUNTARY is not set 222# CONFIG_PREEMPT_VOLUNTARY is not set
221# CONFIG_PREEMPT is not set 223# CONFIG_PREEMPT is not set
222CONFIG_BINFMT_ELF=y 224CONFIG_BINFMT_ELF=y
225# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
226# CONFIG_HAVE_AOUT is not set
223# CONFIG_BINFMT_MISC is not set 227# CONFIG_BINFMT_MISC is not set
224CONFIG_MATH_EMULATION=y 228CONFIG_MATH_EMULATION=y
225# CONFIG_IOMMU_HELPER is not set 229# CONFIG_IOMMU_HELPER is not set
@@ -234,15 +238,15 @@ CONFIG_FLATMEM_MANUAL=y
234# CONFIG_SPARSEMEM_MANUAL is not set 238# CONFIG_SPARSEMEM_MANUAL is not set
235CONFIG_FLATMEM=y 239CONFIG_FLATMEM=y
236CONFIG_FLAT_NODE_MEM_MAP=y 240CONFIG_FLAT_NODE_MEM_MAP=y
237# CONFIG_SPARSEMEM_STATIC is not set
238# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
239CONFIG_PAGEFLAGS_EXTENDED=y 241CONFIG_PAGEFLAGS_EXTENDED=y
240CONFIG_SPLIT_PTLOCK_CPUS=4 242CONFIG_SPLIT_PTLOCK_CPUS=4
241CONFIG_MIGRATION=y 243CONFIG_MIGRATION=y
242CONFIG_RESOURCES_64BIT=y 244CONFIG_RESOURCES_64BIT=y
245CONFIG_PHYS_ADDR_T_64BIT=y
243CONFIG_ZONE_DMA_FLAG=1 246CONFIG_ZONE_DMA_FLAG=1
244CONFIG_BOUNCE=y 247CONFIG_BOUNCE=y
245CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
249CONFIG_UNEVICTABLE_LRU=y
246CONFIG_FORCE_MAX_ZONEORDER=11 250CONFIG_FORCE_MAX_ZONEORDER=11
247CONFIG_PROC_DEVICETREE=y 251CONFIG_PROC_DEVICETREE=y
248# CONFIG_CMDLINE_BOOL is not set 252# CONFIG_CMDLINE_BOOL is not set
@@ -351,6 +355,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
351# CONFIG_TIPC is not set 355# CONFIG_TIPC is not set
352# CONFIG_ATM is not set 356# CONFIG_ATM is not set
353# CONFIG_BRIDGE is not set 357# CONFIG_BRIDGE is not set
358# CONFIG_NET_DSA is not set
354# CONFIG_VLAN_8021Q is not set 359# CONFIG_VLAN_8021Q is not set
355# CONFIG_DECNET is not set 360# CONFIG_DECNET is not set
356# CONFIG_LLC2 is not set 361# CONFIG_LLC2 is not set
@@ -371,14 +376,8 @@ CONFIG_IPV6_NDISC_NODETYPE=y
371# CONFIG_IRDA is not set 376# CONFIG_IRDA is not set
372# CONFIG_BT is not set 377# CONFIG_BT is not set
373# CONFIG_AF_RXRPC is not set 378# CONFIG_AF_RXRPC is not set
374 379# CONFIG_PHONET is not set
375# 380# CONFIG_WIRELESS is not set
376# Wireless
377#
378# CONFIG_CFG80211 is not set
379# CONFIG_WIRELESS_EXT is not set
380# CONFIG_MAC80211 is not set
381# CONFIG_IEEE80211 is not set
382# CONFIG_RFKILL is not set 381# CONFIG_RFKILL is not set
383# CONFIG_NET_9P is not set 382# CONFIG_NET_9P is not set
384 383
@@ -487,6 +486,7 @@ CONFIG_MTD_UBI_GLUEBI=y
487# 486#
488# CONFIG_MTD_UBI_DEBUG is not set 487# CONFIG_MTD_UBI_DEBUG is not set
489CONFIG_OF_DEVICE=y 488CONFIG_OF_DEVICE=y
489CONFIG_OF_GPIO=y
490CONFIG_OF_I2C=m 490CONFIG_OF_I2C=m
491# CONFIG_PARPORT is not set 491# CONFIG_PARPORT is not set
492CONFIG_BLK_DEV=y 492CONFIG_BLK_DEV=y
@@ -600,8 +600,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
600CONFIG_IBM_NEW_EMAC_RGMII=y 600CONFIG_IBM_NEW_EMAC_RGMII=y
601CONFIG_IBM_NEW_EMAC_TAH=y 601CONFIG_IBM_NEW_EMAC_TAH=y
602CONFIG_IBM_NEW_EMAC_EMAC4=y 602CONFIG_IBM_NEW_EMAC_EMAC4=y
603# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
604# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
605# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
603# CONFIG_NET_PCI is not set 606# CONFIG_NET_PCI is not set
604# CONFIG_B44 is not set 607# CONFIG_B44 is not set
608# CONFIG_ATL2 is not set
605CONFIG_NETDEV_1000=y 609CONFIG_NETDEV_1000=y
606# CONFIG_ACENIC is not set 610# CONFIG_ACENIC is not set
607# CONFIG_DL2K is not set 611# CONFIG_DL2K is not set
@@ -622,18 +626,22 @@ CONFIG_NETDEV_1000=y
622# CONFIG_QLA3XXX is not set 626# CONFIG_QLA3XXX is not set
623# CONFIG_ATL1 is not set 627# CONFIG_ATL1 is not set
624# CONFIG_ATL1E is not set 628# CONFIG_ATL1E is not set
629# CONFIG_JME is not set
625CONFIG_NETDEV_10000=y 630CONFIG_NETDEV_10000=y
626# CONFIG_CHELSIO_T1 is not set 631# CONFIG_CHELSIO_T1 is not set
627# CONFIG_CHELSIO_T3 is not set 632# CONFIG_CHELSIO_T3 is not set
633# CONFIG_ENIC is not set
628# CONFIG_IXGBE is not set 634# CONFIG_IXGBE is not set
629# CONFIG_IXGB is not set 635# CONFIG_IXGB is not set
630# CONFIG_S2IO is not set 636# CONFIG_S2IO is not set
631# CONFIG_MYRI10GE is not set 637# CONFIG_MYRI10GE is not set
632# CONFIG_NETXEN_NIC is not set 638# CONFIG_NETXEN_NIC is not set
633# CONFIG_NIU is not set 639# CONFIG_NIU is not set
640# CONFIG_MLX4_EN is not set
634# CONFIG_MLX4_CORE is not set 641# CONFIG_MLX4_CORE is not set
635# CONFIG_TEHUTI is not set 642# CONFIG_TEHUTI is not set
636# CONFIG_BNX2X is not set 643# CONFIG_BNX2X is not set
644# CONFIG_QLGE is not set
637# CONFIG_SFC is not set 645# CONFIG_SFC is not set
638# CONFIG_TR is not set 646# CONFIG_TR is not set
639 647
@@ -721,6 +729,8 @@ CONFIG_DEVPORT=y
721CONFIG_I2C=m 729CONFIG_I2C=m
722CONFIG_I2C_BOARDINFO=y 730CONFIG_I2C_BOARDINFO=y
723CONFIG_I2C_CHARDEV=m 731CONFIG_I2C_CHARDEV=m
732CONFIG_I2C_HELPER_AUTO=y
733CONFIG_I2C_ALGOBIT=m
724 734
725# 735#
726# I2C Hardware Bus support 736# I2C Hardware Bus support
@@ -747,6 +757,7 @@ CONFIG_I2C_CHARDEV=m
747# 757#
748# I2C system bus drivers (mostly embedded / system-on-chip) 758# I2C system bus drivers (mostly embedded / system-on-chip)
749# 759#
760CONFIG_I2C_GPIO=m
750CONFIG_I2C_IBM_IIC=m 761CONFIG_I2C_IBM_IIC=m
751# CONFIG_I2C_MPC is not set 762# CONFIG_I2C_MPC is not set
752# CONFIG_I2C_OCORES is not set 763# CONFIG_I2C_OCORES is not set
@@ -780,6 +791,7 @@ CONFIG_I2C_IBM_IIC=m
780# CONFIG_PCF8575 is not set 791# CONFIG_PCF8575 is not set
781# CONFIG_SENSORS_PCA9539 is not set 792# CONFIG_SENSORS_PCA9539 is not set
782# CONFIG_SENSORS_PCF8591 is not set 793# CONFIG_SENSORS_PCF8591 is not set
794# CONFIG_TPS65010 is not set
783# CONFIG_SENSORS_MAX6875 is not set 795# CONFIG_SENSORS_MAX6875 is not set
784# CONFIG_SENSORS_TSL2550 is not set 796# CONFIG_SENSORS_TSL2550 is not set
785# CONFIG_I2C_DEBUG_CORE is not set 797# CONFIG_I2C_DEBUG_CORE is not set
@@ -788,7 +800,26 @@ CONFIG_I2C_IBM_IIC=m
788# CONFIG_I2C_DEBUG_CHIP is not set 800# CONFIG_I2C_DEBUG_CHIP is not set
789# CONFIG_SPI is not set 801# CONFIG_SPI is not set
790CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 802CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
791# CONFIG_GPIOLIB is not set 803CONFIG_ARCH_REQUIRE_GPIOLIB=y
804CONFIG_GPIOLIB=y
805# CONFIG_DEBUG_GPIO is not set
806# CONFIG_GPIO_SYSFS is not set
807
808#
809# I2C GPIO expanders:
810#
811# CONFIG_GPIO_MAX732X is not set
812# CONFIG_GPIO_PCA953X is not set
813# CONFIG_GPIO_PCF857X is not set
814
815#
816# PCI GPIO expanders:
817#
818# CONFIG_GPIO_BT8XX is not set
819
820#
821# SPI GPIO expanders:
822#
792# CONFIG_W1 is not set 823# CONFIG_W1 is not set
793# CONFIG_POWER_SUPPLY is not set 824# CONFIG_POWER_SUPPLY is not set
794# CONFIG_HWMON is not set 825# CONFIG_HWMON is not set
@@ -808,6 +839,9 @@ CONFIG_SSB_POSSIBLE=y
808# CONFIG_MFD_CORE is not set 839# CONFIG_MFD_CORE is not set
809# CONFIG_MFD_SM501 is not set 840# CONFIG_MFD_SM501 is not set
810# CONFIG_HTC_PASIC3 is not set 841# CONFIG_HTC_PASIC3 is not set
842# CONFIG_MFD_TMIO is not set
843# CONFIG_MFD_WM8400 is not set
844# CONFIG_MFD_WM8350_I2C is not set
811 845
812# 846#
813# Multimedia devices 847# Multimedia devices
@@ -857,6 +891,9 @@ CONFIG_USB_DEVICE_CLASS=y
857# CONFIG_USB_OTG is not set 891# CONFIG_USB_OTG is not set
858# CONFIG_USB_OTG_WHITELIST is not set 892# CONFIG_USB_OTG_WHITELIST is not set
859# CONFIG_USB_OTG_BLACKLIST_HUB is not set 893# CONFIG_USB_OTG_BLACKLIST_HUB is not set
894# CONFIG_USB_MON is not set
895# CONFIG_USB_WUSB is not set
896# CONFIG_USB_WUSB_CBAF is not set
860 897
861# 898#
862# USB Host Controller Drivers 899# USB Host Controller Drivers
@@ -881,6 +918,12 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
881# CONFIG_USB_UHCI_HCD is not set 918# CONFIG_USB_UHCI_HCD is not set
882# CONFIG_USB_SL811_HCD is not set 919# CONFIG_USB_SL811_HCD is not set
883# CONFIG_USB_R8A66597_HCD is not set 920# CONFIG_USB_R8A66597_HCD is not set
921# CONFIG_USB_WHCI_HCD is not set
922# CONFIG_USB_HWA_HCD is not set
923
924#
925# Enable Host or Gadget support to see Inventra options
926#
884 927
885# 928#
886# USB Device Class drivers 929# USB Device Class drivers
@@ -888,6 +931,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
888# CONFIG_USB_ACM is not set 931# CONFIG_USB_ACM is not set
889# CONFIG_USB_PRINTER is not set 932# CONFIG_USB_PRINTER is not set
890# CONFIG_USB_WDM is not set 933# CONFIG_USB_WDM is not set
934# CONFIG_USB_TMC is not set
891 935
892# 936#
893# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 937# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -916,7 +960,6 @@ CONFIG_USB_STORAGE=m
916# 960#
917# CONFIG_USB_MDC800 is not set 961# CONFIG_USB_MDC800 is not set
918# CONFIG_USB_MICROTEK is not set 962# CONFIG_USB_MICROTEK is not set
919# CONFIG_USB_MON is not set
920 963
921# 964#
922# USB port drivers 965# USB port drivers
@@ -929,7 +972,7 @@ CONFIG_USB_STORAGE=m
929# CONFIG_USB_EMI62 is not set 972# CONFIG_USB_EMI62 is not set
930# CONFIG_USB_EMI26 is not set 973# CONFIG_USB_EMI26 is not set
931# CONFIG_USB_ADUTUX is not set 974# CONFIG_USB_ADUTUX is not set
932# CONFIG_USB_AUERSWALD is not set 975# CONFIG_USB_SEVSEG is not set
933# CONFIG_USB_RIO500 is not set 976# CONFIG_USB_RIO500 is not set
934# CONFIG_USB_LEGOTOWER is not set 977# CONFIG_USB_LEGOTOWER is not set
935# CONFIG_USB_LCD is not set 978# CONFIG_USB_LCD is not set
@@ -946,7 +989,9 @@ CONFIG_USB_STORAGE=m
946# CONFIG_USB_TRANCEVIBRATOR is not set 989# CONFIG_USB_TRANCEVIBRATOR is not set
947# CONFIG_USB_IOWARRIOR is not set 990# CONFIG_USB_IOWARRIOR is not set
948# CONFIG_USB_ISIGHTFW is not set 991# CONFIG_USB_ISIGHTFW is not set
992# CONFIG_USB_VST is not set
949# CONFIG_USB_GADGET is not set 993# CONFIG_USB_GADGET is not set
994# CONFIG_UWB is not set
950# CONFIG_MMC is not set 995# CONFIG_MMC is not set
951# CONFIG_MEMSTICK is not set 996# CONFIG_MEMSTICK is not set
952# CONFIG_NEW_LEDS is not set 997# CONFIG_NEW_LEDS is not set
@@ -956,6 +1001,7 @@ CONFIG_USB_STORAGE=m
956# CONFIG_RTC_CLASS is not set 1001# CONFIG_RTC_CLASS is not set
957# CONFIG_DMADEVICES is not set 1002# CONFIG_DMADEVICES is not set
958# CONFIG_UIO is not set 1003# CONFIG_UIO is not set
1004# CONFIG_STAGING is not set
959 1005
960# 1006#
961# File systems 1007# File systems
@@ -967,12 +1013,13 @@ CONFIG_EXT3_FS=m
967CONFIG_EXT3_FS_XATTR=y 1013CONFIG_EXT3_FS_XATTR=y
968# CONFIG_EXT3_FS_POSIX_ACL is not set 1014# CONFIG_EXT3_FS_POSIX_ACL is not set
969# CONFIG_EXT3_FS_SECURITY is not set 1015# CONFIG_EXT3_FS_SECURITY is not set
970# CONFIG_EXT4DEV_FS is not set 1016# CONFIG_EXT4_FS is not set
971CONFIG_JBD=m 1017CONFIG_JBD=m
972CONFIG_FS_MBCACHE=y 1018CONFIG_FS_MBCACHE=m
973# CONFIG_REISERFS_FS is not set 1019# CONFIG_REISERFS_FS is not set
974# CONFIG_JFS_FS is not set 1020# CONFIG_JFS_FS is not set
975# CONFIG_FS_POSIX_ACL is not set 1021# CONFIG_FS_POSIX_ACL is not set
1022CONFIG_FILE_LOCKING=y
976# CONFIG_XFS_FS is not set 1023# CONFIG_XFS_FS is not set
977# CONFIG_OCFS2_FS is not set 1024# CONFIG_OCFS2_FS is not set
978CONFIG_DNOTIFY=y 1025CONFIG_DNOTIFY=y
@@ -1005,6 +1052,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1005CONFIG_PROC_FS=y 1052CONFIG_PROC_FS=y
1006CONFIG_PROC_KCORE=y 1053CONFIG_PROC_KCORE=y
1007CONFIG_PROC_SYSCTL=y 1054CONFIG_PROC_SYSCTL=y
1055CONFIG_PROC_PAGE_MONITOR=y
1008CONFIG_SYSFS=y 1056CONFIG_SYSFS=y
1009CONFIG_TMPFS=y 1057CONFIG_TMPFS=y
1010# CONFIG_TMPFS_POSIX_ACL is not set 1058# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1058,6 +1106,7 @@ CONFIG_LOCKD=y
1058CONFIG_LOCKD_V4=y 1106CONFIG_LOCKD_V4=y
1059CONFIG_NFS_COMMON=y 1107CONFIG_NFS_COMMON=y
1060CONFIG_SUNRPC=y 1108CONFIG_SUNRPC=y
1109# CONFIG_SUNRPC_REGISTER_V4 is not set
1061# CONFIG_RPCSEC_GSS_KRB5 is not set 1110# CONFIG_RPCSEC_GSS_KRB5 is not set
1062# CONFIG_RPCSEC_GSS_SPKM3 is not set 1111# CONFIG_RPCSEC_GSS_SPKM3 is not set
1063# CONFIG_SMB_FS is not set 1112# CONFIG_SMB_FS is not set
@@ -1117,7 +1166,6 @@ CONFIG_NLS_ISO8859_1=m
1117# Library routines 1166# Library routines
1118# 1167#
1119CONFIG_BITREVERSE=y 1168CONFIG_BITREVERSE=y
1120# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1121# CONFIG_CRC_CCITT is not set 1169# CONFIG_CRC_CCITT is not set
1122CONFIG_CRC16=m 1170CONFIG_CRC16=m
1123CONFIG_CRC_T10DIF=m 1171CONFIG_CRC_T10DIF=m
@@ -1173,14 +1221,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
1173# CONFIG_DEBUG_SG is not set 1221# CONFIG_DEBUG_SG is not set
1174# CONFIG_BOOT_PRINTK_DELAY is not set 1222# CONFIG_BOOT_PRINTK_DELAY is not set
1175# CONFIG_RCU_TORTURE_TEST is not set 1223# CONFIG_RCU_TORTURE_TEST is not set
1224# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1176# CONFIG_BACKTRACE_SELF_TEST is not set 1225# CONFIG_BACKTRACE_SELF_TEST is not set
1226# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1177# CONFIG_FAULT_INJECTION is not set 1227# CONFIG_FAULT_INJECTION is not set
1178# CONFIG_LATENCYTOP is not set 1228# CONFIG_LATENCYTOP is not set
1229CONFIG_SYSCTL_SYSCALL_CHECK=y
1230CONFIG_NOP_TRACER=y
1179CONFIG_HAVE_FTRACE=y 1231CONFIG_HAVE_FTRACE=y
1180CONFIG_HAVE_DYNAMIC_FTRACE=y 1232CONFIG_HAVE_DYNAMIC_FTRACE=y
1181# CONFIG_FTRACE is not set 1233# CONFIG_FTRACE is not set
1182# CONFIG_SCHED_TRACER is not set 1234# CONFIG_SCHED_TRACER is not set
1183# CONFIG_CONTEXT_SWITCH_TRACER is not set 1235# CONFIG_CONTEXT_SWITCH_TRACER is not set
1236# CONFIG_BOOT_TRACER is not set
1237# CONFIG_STACK_TRACER is not set
1238# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1184# CONFIG_SAMPLES is not set 1239# CONFIG_SAMPLES is not set
1185CONFIG_HAVE_ARCH_KGDB=y 1240CONFIG_HAVE_ARCH_KGDB=y
1186# CONFIG_KGDB is not set 1241# CONFIG_KGDB is not set
@@ -1189,24 +1244,29 @@ CONFIG_HAVE_ARCH_KGDB=y
1189# CONFIG_DEBUG_PAGEALLOC is not set 1244# CONFIG_DEBUG_PAGEALLOC is not set
1190# CONFIG_CODE_PATCHING_SELFTEST is not set 1245# CONFIG_CODE_PATCHING_SELFTEST is not set
1191# CONFIG_FTR_FIXUP_SELFTEST is not set 1246# CONFIG_FTR_FIXUP_SELFTEST is not set
1247# CONFIG_MSI_BITMAP_SELFTEST is not set
1192# CONFIG_XMON is not set 1248# CONFIG_XMON is not set
1193# CONFIG_IRQSTACKS is not set 1249# CONFIG_IRQSTACKS is not set
1194# CONFIG_BDI_SWITCH is not set 1250# CONFIG_BDI_SWITCH is not set
1195# CONFIG_PPC_EARLY_DEBUG is not set
1196 1251
1197# 1252#
1198# Security options 1253# Security options
1199# 1254#
1200# CONFIG_KEYS is not set 1255# CONFIG_KEYS is not set
1201# CONFIG_SECURITY is not set 1256# CONFIG_SECURITY is not set
1257# CONFIG_SECURITYFS is not set
1202# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1258# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1203CONFIG_CRYPTO=y 1259CONFIG_CRYPTO=y
1204 1260
1205# 1261#
1206# Crypto core or helper 1262# Crypto core or helper
1207# 1263#
1264# CONFIG_CRYPTO_FIPS is not set
1208CONFIG_CRYPTO_ALGAPI=y 1265CONFIG_CRYPTO_ALGAPI=y
1266CONFIG_CRYPTO_AEAD=y
1209CONFIG_CRYPTO_BLKCIPHER=y 1267CONFIG_CRYPTO_BLKCIPHER=y
1268CONFIG_CRYPTO_HASH=y
1269CONFIG_CRYPTO_RNG=y
1210CONFIG_CRYPTO_MANAGER=y 1270CONFIG_CRYPTO_MANAGER=y
1211# CONFIG_CRYPTO_GF128MUL is not set 1271# CONFIG_CRYPTO_GF128MUL is not set
1212# CONFIG_CRYPTO_NULL is not set 1272# CONFIG_CRYPTO_NULL is not set
@@ -1279,6 +1339,15 @@ CONFIG_CRYPTO_DES=y
1279# 1339#
1280CONFIG_CRYPTO_DEFLATE=m 1340CONFIG_CRYPTO_DEFLATE=m
1281CONFIG_CRYPTO_LZO=m 1341CONFIG_CRYPTO_LZO=m
1342
1343#
1344# Random Number Generation
1345#
1346# CONFIG_CRYPTO_ANSI_CPRNG is not set
1282# CONFIG_CRYPTO_HW is not set 1347# CONFIG_CRYPTO_HW is not set
1283# CONFIG_PPC_CLOCK is not set 1348# CONFIG_PPC_CLOCK is not set
1284# CONFIG_VIRTUALIZATION is not set 1349CONFIG_VIRTUALIZATION=y
1350CONFIG_KVM=y
1351CONFIG_KVM_BOOKE_HOST=y
1352# CONFIG_VIRTIO_PCI is not set
1353# CONFIG_VIRTIO_BALLOON is not set
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index fc5930caeb5f..069ae1bbac29 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:22:03 2008 4# Tue Nov 11 19:36:56 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -22,7 +22,7 @@ CONFIG_SMP=y
22CONFIG_NR_CPUS=32 22CONFIG_NR_CPUS=32
23CONFIG_64BIT=y 23CONFIG_64BIT=y
24CONFIG_WORD_SIZE=64 24CONFIG_WORD_SIZE=64
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -87,6 +87,7 @@ CONFIG_LOG_BUF_SHIFT=17
87CONFIG_CGROUPS=y 87CONFIG_CGROUPS=y
88# CONFIG_CGROUP_DEBUG is not set 88# CONFIG_CGROUP_DEBUG is not set
89# CONFIG_CGROUP_NS is not set 89# CONFIG_CGROUP_NS is not set
90# CONFIG_CGROUP_FREEZER is not set
90# CONFIG_CGROUP_DEVICE is not set 91# CONFIG_CGROUP_DEVICE is not set
91CONFIG_CPUSETS=y 92CONFIG_CPUSETS=y
92# CONFIG_GROUP_SCHED is not set 93# CONFIG_GROUP_SCHED is not set
@@ -124,12 +125,15 @@ CONFIG_SIGNALFD=y
124CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
126CONFIG_SHMEM=y 127CONFIG_SHMEM=y
128CONFIG_AIO=y
127CONFIG_VM_EVENT_COUNTERS=y 129CONFIG_VM_EVENT_COUNTERS=y
130CONFIG_PCI_QUIRKS=y
128CONFIG_SLUB_DEBUG=y 131CONFIG_SLUB_DEBUG=y
129# CONFIG_SLAB is not set 132# CONFIG_SLAB is not set
130CONFIG_SLUB=y 133CONFIG_SLUB=y
131# CONFIG_SLOB is not set 134# CONFIG_SLOB is not set
132CONFIG_PROFILING=y 135CONFIG_PROFILING=y
136CONFIG_TRACEPOINTS=y
133CONFIG_MARKERS=y 137CONFIG_MARKERS=y
134CONFIG_OPROFILE=y 138CONFIG_OPROFILE=y
135CONFIG_HAVE_OPROFILE=y 139CONFIG_HAVE_OPROFILE=y
@@ -141,8 +145,6 @@ CONFIG_HAVE_KRETPROBES=y
141CONFIG_HAVE_ARCH_TRACEHOOK=y 145CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y 146CONFIG_HAVE_DMA_ATTRS=y
143CONFIG_USE_GENERIC_SMP_HELPERS=y 147CONFIG_USE_GENERIC_SMP_HELPERS=y
144# CONFIG_HAVE_CLK is not set
145CONFIG_PROC_PAGE_MONITOR=y
146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 148# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
147CONFIG_SLABINFO=y 149CONFIG_SLABINFO=y
148CONFIG_RT_MUTEXES=y 150CONFIG_RT_MUTEXES=y
@@ -175,6 +177,8 @@ CONFIG_DEFAULT_AS=y
175# CONFIG_DEFAULT_NOOP is not set 177# CONFIG_DEFAULT_NOOP is not set
176CONFIG_DEFAULT_IOSCHED="anticipatory" 178CONFIG_DEFAULT_IOSCHED="anticipatory"
177CONFIG_CLASSIC_RCU=y 179CONFIG_CLASSIC_RCU=y
180# CONFIG_FREEZER is not set
181CONFIG_PPC_MSI_BITMAP=y
178 182
179# 183#
180# Platform support 184# Platform support
@@ -294,6 +298,8 @@ CONFIG_PREEMPT_NONE=y
294# CONFIG_PREEMPT is not set 298# CONFIG_PREEMPT is not set
295CONFIG_BINFMT_ELF=y 299CONFIG_BINFMT_ELF=y
296CONFIG_COMPAT_BINFMT_ELF=y 300CONFIG_COMPAT_BINFMT_ELF=y
301# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
302# CONFIG_HAVE_AOUT is not set
297CONFIG_BINFMT_MISC=m 303CONFIG_BINFMT_MISC=m
298CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 304CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
299CONFIG_IOMMU_VMERGE=y 305CONFIG_IOMMU_VMERGE=y
@@ -303,7 +309,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
303CONFIG_ARCH_HAS_WALK_MEMORY=y 309CONFIG_ARCH_HAS_WALK_MEMORY=y
304CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 310CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
305CONFIG_KEXEC=y 311CONFIG_KEXEC=y
306# CONFIG_CRASH_DUMP is not set
307# CONFIG_PHYP_DUMP is not set 312# CONFIG_PHYP_DUMP is not set
308CONFIG_IRQ_ALL_CPUS=y 313CONFIG_IRQ_ALL_CPUS=y
309# CONFIG_NUMA is not set 314# CONFIG_NUMA is not set
@@ -318,7 +323,6 @@ CONFIG_SELECT_MEMORY_MODEL=y
318CONFIG_SPARSEMEM_MANUAL=y 323CONFIG_SPARSEMEM_MANUAL=y
319CONFIG_SPARSEMEM=y 324CONFIG_SPARSEMEM=y
320CONFIG_HAVE_MEMORY_PRESENT=y 325CONFIG_HAVE_MEMORY_PRESENT=y
321# CONFIG_SPARSEMEM_STATIC is not set
322CONFIG_SPARSEMEM_EXTREME=y 326CONFIG_SPARSEMEM_EXTREME=y
323CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 327CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
324CONFIG_SPARSEMEM_VMEMMAP=y 328CONFIG_SPARSEMEM_VMEMMAP=y
@@ -329,8 +333,10 @@ CONFIG_PAGEFLAGS_EXTENDED=y
329CONFIG_SPLIT_PTLOCK_CPUS=4 333CONFIG_SPLIT_PTLOCK_CPUS=4
330CONFIG_MIGRATION=y 334CONFIG_MIGRATION=y
331CONFIG_RESOURCES_64BIT=y 335CONFIG_RESOURCES_64BIT=y
336CONFIG_PHYS_ADDR_T_64BIT=y
332CONFIG_ZONE_DMA_FLAG=1 337CONFIG_ZONE_DMA_FLAG=1
333CONFIG_BOUNCE=y 338CONFIG_BOUNCE=y
339CONFIG_UNEVICTABLE_LRU=y
334CONFIG_ARCH_MEMORY_PROBE=y 340CONFIG_ARCH_MEMORY_PROBE=y
335CONFIG_PPC_HAS_HASH_64K=y 341CONFIG_PPC_HAS_HASH_64K=y
336# CONFIG_PPC_64K_PAGES is not set 342# CONFIG_PPC_64K_PAGES is not set
@@ -379,6 +385,7 @@ CONFIG_HOTPLUG_PCI=m
379CONFIG_HOTPLUG_PCI_RPA=m 385CONFIG_HOTPLUG_PCI_RPA=m
380CONFIG_HOTPLUG_PCI_RPA_DLPAR=m 386CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
381# CONFIG_HAS_RAPIDIO is not set 387# CONFIG_HAS_RAPIDIO is not set
388# CONFIG_RELOCATABLE is not set
382CONFIG_PAGE_OFFSET=0xc000000000000000 389CONFIG_PAGE_OFFSET=0xc000000000000000
383CONFIG_KERNEL_START=0xc000000000000000 390CONFIG_KERNEL_START=0xc000000000000000
384CONFIG_PHYSICAL_START=0x00000000 391CONFIG_PHYSICAL_START=0x00000000
@@ -426,7 +433,6 @@ CONFIG_INET_TCP_DIAG=y
426CONFIG_TCP_CONG_CUBIC=y 433CONFIG_TCP_CONG_CUBIC=y
427CONFIG_DEFAULT_TCP_CONG="cubic" 434CONFIG_DEFAULT_TCP_CONG="cubic"
428# CONFIG_TCP_MD5SIG is not set 435# CONFIG_TCP_MD5SIG is not set
429# CONFIG_IP_VS is not set
430# CONFIG_IPV6 is not set 436# CONFIG_IPV6 is not set
431# CONFIG_NETWORK_SECMARK is not set 437# CONFIG_NETWORK_SECMARK is not set
432CONFIG_NETFILTER=y 438CONFIG_NETFILTER=y
@@ -457,15 +463,17 @@ CONFIG_NF_CONNTRACK_PPTP=m
457CONFIG_NF_CONNTRACK_SIP=m 463CONFIG_NF_CONNTRACK_SIP=m
458CONFIG_NF_CONNTRACK_TFTP=m 464CONFIG_NF_CONNTRACK_TFTP=m
459CONFIG_NF_CT_NETLINK=m 465CONFIG_NF_CT_NETLINK=m
466CONFIG_NETFILTER_TPROXY=m
460CONFIG_NETFILTER_XTABLES=m 467CONFIG_NETFILTER_XTABLES=m
461CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 468CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
462CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 469CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
463CONFIG_NETFILTER_XT_TARGET_DSCP=m 470CONFIG_NETFILTER_XT_TARGET_DSCP=m
464CONFIG_NETFILTER_XT_TARGET_MARK=m 471CONFIG_NETFILTER_XT_TARGET_MARK=m
465CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
466CONFIG_NETFILTER_XT_TARGET_NFLOG=m 472CONFIG_NETFILTER_XT_TARGET_NFLOG=m
473CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
467CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 474CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
468CONFIG_NETFILTER_XT_TARGET_RATEEST=m 475CONFIG_NETFILTER_XT_TARGET_RATEEST=m
476CONFIG_NETFILTER_XT_TARGET_TPROXY=m
469CONFIG_NETFILTER_XT_TARGET_TRACE=m 477CONFIG_NETFILTER_XT_TARGET_TRACE=m
470CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 478CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
471CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 479CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
@@ -477,40 +485,44 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
477CONFIG_NETFILTER_XT_MATCH_DCCP=m 485CONFIG_NETFILTER_XT_MATCH_DCCP=m
478CONFIG_NETFILTER_XT_MATCH_DSCP=m 486CONFIG_NETFILTER_XT_MATCH_DSCP=m
479CONFIG_NETFILTER_XT_MATCH_ESP=m 487CONFIG_NETFILTER_XT_MATCH_ESP=m
488CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
480CONFIG_NETFILTER_XT_MATCH_HELPER=m 489CONFIG_NETFILTER_XT_MATCH_HELPER=m
481CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 490CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
482CONFIG_NETFILTER_XT_MATCH_LENGTH=m 491CONFIG_NETFILTER_XT_MATCH_LENGTH=m
483CONFIG_NETFILTER_XT_MATCH_LIMIT=m 492CONFIG_NETFILTER_XT_MATCH_LIMIT=m
484CONFIG_NETFILTER_XT_MATCH_MAC=m 493CONFIG_NETFILTER_XT_MATCH_MAC=m
485CONFIG_NETFILTER_XT_MATCH_MARK=m 494CONFIG_NETFILTER_XT_MATCH_MARK=m
495CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
486CONFIG_NETFILTER_XT_MATCH_OWNER=m 496CONFIG_NETFILTER_XT_MATCH_OWNER=m
487CONFIG_NETFILTER_XT_MATCH_POLICY=m 497CONFIG_NETFILTER_XT_MATCH_POLICY=m
488CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
489CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 498CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
490CONFIG_NETFILTER_XT_MATCH_QUOTA=m 499CONFIG_NETFILTER_XT_MATCH_QUOTA=m
491CONFIG_NETFILTER_XT_MATCH_RATEEST=m 500CONFIG_NETFILTER_XT_MATCH_RATEEST=m
492CONFIG_NETFILTER_XT_MATCH_REALM=m 501CONFIG_NETFILTER_XT_MATCH_REALM=m
502CONFIG_NETFILTER_XT_MATCH_RECENT=m
503# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
493CONFIG_NETFILTER_XT_MATCH_SCTP=m 504CONFIG_NETFILTER_XT_MATCH_SCTP=m
505CONFIG_NETFILTER_XT_MATCH_SOCKET=m
494CONFIG_NETFILTER_XT_MATCH_STATE=m 506CONFIG_NETFILTER_XT_MATCH_STATE=m
495CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 507CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
496CONFIG_NETFILTER_XT_MATCH_STRING=m 508CONFIG_NETFILTER_XT_MATCH_STRING=m
497CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 509CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
498# CONFIG_NETFILTER_XT_MATCH_TIME is not set 510# CONFIG_NETFILTER_XT_MATCH_TIME is not set
499CONFIG_NETFILTER_XT_MATCH_U32=m 511CONFIG_NETFILTER_XT_MATCH_U32=m
500CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 512# CONFIG_IP_VS is not set
501 513
502# 514#
503# IP: Netfilter Configuration 515# IP: Netfilter Configuration
504# 516#
517CONFIG_NF_DEFRAG_IPV4=m
505CONFIG_NF_CONNTRACK_IPV4=m 518CONFIG_NF_CONNTRACK_IPV4=m
506CONFIG_NF_CONNTRACK_PROC_COMPAT=y 519CONFIG_NF_CONNTRACK_PROC_COMPAT=y
507CONFIG_IP_NF_QUEUE=m 520CONFIG_IP_NF_QUEUE=m
508CONFIG_IP_NF_IPTABLES=m 521CONFIG_IP_NF_IPTABLES=m
509CONFIG_IP_NF_MATCH_RECENT=m 522CONFIG_IP_NF_MATCH_ADDRTYPE=m
510CONFIG_IP_NF_MATCH_ECN=m
511CONFIG_IP_NF_MATCH_AH=m 523CONFIG_IP_NF_MATCH_AH=m
524CONFIG_IP_NF_MATCH_ECN=m
512CONFIG_IP_NF_MATCH_TTL=m 525CONFIG_IP_NF_MATCH_TTL=m
513CONFIG_IP_NF_MATCH_ADDRTYPE=m
514CONFIG_IP_NF_FILTER=m 526CONFIG_IP_NF_FILTER=m
515CONFIG_IP_NF_TARGET_REJECT=m 527CONFIG_IP_NF_TARGET_REJECT=m
516CONFIG_IP_NF_TARGET_LOG=m 528CONFIG_IP_NF_TARGET_LOG=m
@@ -518,8 +530,8 @@ CONFIG_IP_NF_TARGET_ULOG=m
518CONFIG_NF_NAT=m 530CONFIG_NF_NAT=m
519CONFIG_NF_NAT_NEEDED=y 531CONFIG_NF_NAT_NEEDED=y
520CONFIG_IP_NF_TARGET_MASQUERADE=m 532CONFIG_IP_NF_TARGET_MASQUERADE=m
521CONFIG_IP_NF_TARGET_REDIRECT=m
522CONFIG_IP_NF_TARGET_NETMAP=m 533CONFIG_IP_NF_TARGET_NETMAP=m
534CONFIG_IP_NF_TARGET_REDIRECT=m
523CONFIG_NF_NAT_SNMP_BASIC=m 535CONFIG_NF_NAT_SNMP_BASIC=m
524CONFIG_NF_NAT_PROTO_GRE=m 536CONFIG_NF_NAT_PROTO_GRE=m
525CONFIG_NF_NAT_PROTO_SCTP=m 537CONFIG_NF_NAT_PROTO_SCTP=m
@@ -531,9 +543,9 @@ CONFIG_NF_NAT_PPTP=m
531CONFIG_NF_NAT_H323=m 543CONFIG_NF_NAT_H323=m
532CONFIG_NF_NAT_SIP=m 544CONFIG_NF_NAT_SIP=m
533CONFIG_IP_NF_MANGLE=m 545CONFIG_IP_NF_MANGLE=m
546CONFIG_IP_NF_TARGET_CLUSTERIP=m
534CONFIG_IP_NF_TARGET_ECN=m 547CONFIG_IP_NF_TARGET_ECN=m
535CONFIG_IP_NF_TARGET_TTL=m 548CONFIG_IP_NF_TARGET_TTL=m
536CONFIG_IP_NF_TARGET_CLUSTERIP=m
537CONFIG_IP_NF_RAW=m 549CONFIG_IP_NF_RAW=m
538CONFIG_IP_NF_ARPTABLES=m 550CONFIG_IP_NF_ARPTABLES=m
539CONFIG_IP_NF_ARPFILTER=m 551CONFIG_IP_NF_ARPFILTER=m
@@ -543,6 +555,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
543# CONFIG_TIPC is not set 555# CONFIG_TIPC is not set
544# CONFIG_ATM is not set 556# CONFIG_ATM is not set
545# CONFIG_BRIDGE is not set 557# CONFIG_BRIDGE is not set
558# CONFIG_NET_DSA is not set
546# CONFIG_VLAN_8021Q is not set 559# CONFIG_VLAN_8021Q is not set
547# CONFIG_DECNET is not set 560# CONFIG_DECNET is not set
548CONFIG_LLC=y 561CONFIG_LLC=y
@@ -565,11 +578,10 @@ CONFIG_NET_CLS_ROUTE=y
565# CONFIG_IRDA is not set 578# CONFIG_IRDA is not set
566# CONFIG_BT is not set 579# CONFIG_BT is not set
567# CONFIG_AF_RXRPC is not set 580# CONFIG_AF_RXRPC is not set
568 581# CONFIG_PHONET is not set
569# 582CONFIG_WIRELESS=y
570# Wireless
571#
572# CONFIG_CFG80211 is not set 583# CONFIG_CFG80211 is not set
584CONFIG_WIRELESS_OLD_REGULATORY=y
573# CONFIG_WIRELESS_EXT is not set 585# CONFIG_WIRELESS_EXT is not set
574# CONFIG_MAC80211 is not set 586# CONFIG_MAC80211 is not set
575# CONFIG_IEEE80211 is not set 587# CONFIG_IEEE80211 is not set
@@ -624,21 +636,20 @@ CONFIG_MISC_DEVICES=y
624# CONFIG_HP_ILO is not set 636# CONFIG_HP_ILO is not set
625CONFIG_HAVE_IDE=y 637CONFIG_HAVE_IDE=y
626CONFIG_IDE=y 638CONFIG_IDE=y
627CONFIG_BLK_DEV_IDE=y
628 639
629# 640#
630# Please see Documentation/ide/ide.txt for help/info on IDE drives 641# Please see Documentation/ide/ide.txt for help/info on IDE drives
631# 642#
632CONFIG_IDE_TIMINGS=y 643CONFIG_IDE_TIMINGS=y
633# CONFIG_BLK_DEV_IDE_SATA is not set 644# CONFIG_BLK_DEV_IDE_SATA is not set
634CONFIG_BLK_DEV_IDEDISK=y 645CONFIG_IDE_GD=y
635# CONFIG_IDEDISK_MULTI_MODE is not set 646CONFIG_IDE_GD_ATA=y
647# CONFIG_IDE_GD_ATAPI is not set
636# CONFIG_BLK_DEV_IDECS is not set 648# CONFIG_BLK_DEV_IDECS is not set
637# CONFIG_BLK_DEV_DELKIN is not set 649# CONFIG_BLK_DEV_DELKIN is not set
638CONFIG_BLK_DEV_IDECD=y 650CONFIG_BLK_DEV_IDECD=y
639CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 651CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
640# CONFIG_BLK_DEV_IDETAPE is not set 652# CONFIG_BLK_DEV_IDETAPE is not set
641# CONFIG_BLK_DEV_IDEFLOPPY is not set
642# CONFIG_BLK_DEV_IDESCSI is not set 653# CONFIG_BLK_DEV_IDESCSI is not set
643# CONFIG_IDE_TASK_IOCTL is not set 654# CONFIG_IDE_TASK_IOCTL is not set
644CONFIG_IDE_PROC_FS=y 655CONFIG_IDE_PROC_FS=y
@@ -835,6 +846,7 @@ CONFIG_SATA_SVW=y
835# CONFIG_PATA_SCH is not set 846# CONFIG_PATA_SCH is not set
836CONFIG_MD=y 847CONFIG_MD=y
837CONFIG_BLK_DEV_MD=y 848CONFIG_BLK_DEV_MD=y
849CONFIG_MD_AUTODETECT=y
838CONFIG_MD_LINEAR=y 850CONFIG_MD_LINEAR=y
839CONFIG_MD_RAID0=y 851CONFIG_MD_RAID0=y
840CONFIG_MD_RAID1=y 852CONFIG_MD_RAID1=y
@@ -926,6 +938,9 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
926CONFIG_IBM_NEW_EMAC_RGMII=y 938CONFIG_IBM_NEW_EMAC_RGMII=y
927CONFIG_IBM_NEW_EMAC_TAH=y 939CONFIG_IBM_NEW_EMAC_TAH=y
928CONFIG_IBM_NEW_EMAC_EMAC4=y 940CONFIG_IBM_NEW_EMAC_EMAC4=y
941# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
942# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
943# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
929CONFIG_NET_PCI=y 944CONFIG_NET_PCI=y
930CONFIG_PCNET32=y 945CONFIG_PCNET32=y
931# CONFIG_AMD8111_ETH is not set 946# CONFIG_AMD8111_ETH is not set
@@ -946,12 +961,12 @@ CONFIG_E100=y
946# CONFIG_TLAN is not set 961# CONFIG_TLAN is not set
947# CONFIG_VIA_RHINE is not set 962# CONFIG_VIA_RHINE is not set
948# CONFIG_SC92031 is not set 963# CONFIG_SC92031 is not set
964# CONFIG_ATL2 is not set
949CONFIG_NETDEV_1000=y 965CONFIG_NETDEV_1000=y
950CONFIG_ACENIC=y 966CONFIG_ACENIC=y
951CONFIG_ACENIC_OMIT_TIGON_I=y 967CONFIG_ACENIC_OMIT_TIGON_I=y
952# CONFIG_DL2K is not set 968# CONFIG_DL2K is not set
953CONFIG_E1000=y 969CONFIG_E1000=y
954# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
955# CONFIG_E1000E is not set 970# CONFIG_E1000E is not set
956# CONFIG_IP1000 is not set 971# CONFIG_IP1000 is not set
957# CONFIG_IGB is not set 972# CONFIG_IGB is not set
@@ -969,10 +984,12 @@ CONFIG_SPIDER_NET=m
969# CONFIG_QLA3XXX is not set 984# CONFIG_QLA3XXX is not set
970# CONFIG_ATL1 is not set 985# CONFIG_ATL1 is not set
971# CONFIG_ATL1E is not set 986# CONFIG_ATL1E is not set
987# CONFIG_JME is not set
972CONFIG_NETDEV_10000=y 988CONFIG_NETDEV_10000=y
973# CONFIG_CHELSIO_T1 is not set 989# CONFIG_CHELSIO_T1 is not set
974# CONFIG_CHELSIO_T3 is not set 990# CONFIG_CHELSIO_T3 is not set
975CONFIG_EHEA=m 991CONFIG_EHEA=m
992# CONFIG_ENIC is not set
976# CONFIG_IXGBE is not set 993# CONFIG_IXGBE is not set
977CONFIG_IXGB=m 994CONFIG_IXGB=m
978# CONFIG_S2IO is not set 995# CONFIG_S2IO is not set
@@ -980,9 +997,11 @@ CONFIG_IXGB=m
980# CONFIG_NETXEN_NIC is not set 997# CONFIG_NETXEN_NIC is not set
981# CONFIG_NIU is not set 998# CONFIG_NIU is not set
982CONFIG_PASEMI_MAC=y 999CONFIG_PASEMI_MAC=y
1000# CONFIG_MLX4_EN is not set
983# CONFIG_MLX4_CORE is not set 1001# CONFIG_MLX4_CORE is not set
984# CONFIG_TEHUTI is not set 1002# CONFIG_TEHUTI is not set
985# CONFIG_BNX2X is not set 1003# CONFIG_BNX2X is not set
1004# CONFIG_QLGE is not set
986# CONFIG_SFC is not set 1005# CONFIG_SFC is not set
987CONFIG_TR=y 1006CONFIG_TR=y
988CONFIG_IBMOL=y 1007CONFIG_IBMOL=y
@@ -1065,6 +1084,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
1065CONFIG_MOUSE_PS2_SYNAPTICS=y 1084CONFIG_MOUSE_PS2_SYNAPTICS=y
1066CONFIG_MOUSE_PS2_LIFEBOOK=y 1085CONFIG_MOUSE_PS2_LIFEBOOK=y
1067CONFIG_MOUSE_PS2_TRACKPOINT=y 1086CONFIG_MOUSE_PS2_TRACKPOINT=y
1087# CONFIG_MOUSE_PS2_ELANTECH is not set
1068# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1088# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1069# CONFIG_MOUSE_SERIAL is not set 1089# CONFIG_MOUSE_SERIAL is not set
1070# CONFIG_MOUSE_APPLETOUCH is not set 1090# CONFIG_MOUSE_APPLETOUCH is not set
@@ -1080,6 +1100,7 @@ CONFIG_INPUT_PCSPKR=m
1080# CONFIG_INPUT_KEYSPAN_REMOTE is not set 1100# CONFIG_INPUT_KEYSPAN_REMOTE is not set
1081# CONFIG_INPUT_POWERMATE is not set 1101# CONFIG_INPUT_POWERMATE is not set
1082# CONFIG_INPUT_YEALINK is not set 1102# CONFIG_INPUT_YEALINK is not set
1103# CONFIG_INPUT_CM109 is not set
1083# CONFIG_INPUT_UINPUT is not set 1104# CONFIG_INPUT_UINPUT is not set
1084 1105
1085# 1106#
@@ -1255,6 +1276,17 @@ CONFIG_SSB_POSSIBLE=y
1255# CONFIG_MFD_SM501 is not set 1276# CONFIG_MFD_SM501 is not set
1256# CONFIG_HTC_PASIC3 is not set 1277# CONFIG_HTC_PASIC3 is not set
1257# CONFIG_MFD_TMIO is not set 1278# CONFIG_MFD_TMIO is not set
1279# CONFIG_PMIC_DA903X is not set
1280# CONFIG_MFD_WM8400 is not set
1281# CONFIG_MFD_WM8350_I2C is not set
1282
1283#
1284# Voltage and Current regulators
1285#
1286# CONFIG_REGULATOR is not set
1287# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1288# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1289# CONFIG_REGULATOR_BQ24022 is not set
1258 1290
1259# 1291#
1260# Multimedia devices 1292# Multimedia devices
@@ -1282,6 +1314,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
1282CONFIG_FB=y 1314CONFIG_FB=y
1283CONFIG_FIRMWARE_EDID=y 1315CONFIG_FIRMWARE_EDID=y
1284CONFIG_FB_DDC=y 1316CONFIG_FB_DDC=y
1317# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1285CONFIG_FB_CFB_FILLRECT=y 1318CONFIG_FB_CFB_FILLRECT=y
1286CONFIG_FB_CFB_COPYAREA=y 1319CONFIG_FB_CFB_COPYAREA=y
1287CONFIG_FB_CFB_IMAGEBLIT=y 1320CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1326,6 +1359,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1326# CONFIG_FB_S3 is not set 1359# CONFIG_FB_S3 is not set
1327# CONFIG_FB_SAVAGE is not set 1360# CONFIG_FB_SAVAGE is not set
1328# CONFIG_FB_SIS is not set 1361# CONFIG_FB_SIS is not set
1362# CONFIG_FB_VIA is not set
1329# CONFIG_FB_NEOMAGIC is not set 1363# CONFIG_FB_NEOMAGIC is not set
1330# CONFIG_FB_KYRO is not set 1364# CONFIG_FB_KYRO is not set
1331# CONFIG_FB_3DFX is not set 1365# CONFIG_FB_3DFX is not set
@@ -1337,6 +1371,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1337# CONFIG_FB_CARMINE is not set 1371# CONFIG_FB_CARMINE is not set
1338CONFIG_FB_IBM_GXT4500=y 1372CONFIG_FB_IBM_GXT4500=y
1339# CONFIG_FB_VIRTUAL is not set 1373# CONFIG_FB_VIRTUAL is not set
1374# CONFIG_FB_METRONOME is not set
1340CONFIG_BACKLIGHT_LCD_SUPPORT=y 1375CONFIG_BACKLIGHT_LCD_SUPPORT=y
1341CONFIG_LCD_CLASS_DEVICE=y 1376CONFIG_LCD_CLASS_DEVICE=y
1342# CONFIG_LCD_ILI9320 is not set 1377# CONFIG_LCD_ILI9320 is not set
@@ -1370,6 +1405,7 @@ CONFIG_LOGO_LINUX_MONO=y
1370CONFIG_LOGO_LINUX_VGA16=y 1405CONFIG_LOGO_LINUX_VGA16=y
1371CONFIG_LOGO_LINUX_CLUT224=y 1406CONFIG_LOGO_LINUX_CLUT224=y
1372CONFIG_SOUND=m 1407CONFIG_SOUND=m
1408CONFIG_SOUND_OSS_CORE=y
1373CONFIG_SND=m 1409CONFIG_SND=m
1374CONFIG_SND_TIMER=m 1410CONFIG_SND_TIMER=m
1375CONFIG_SND_PCM=m 1411CONFIG_SND_PCM=m
@@ -1481,9 +1517,36 @@ CONFIG_HID=y
1481# USB Input Devices 1517# USB Input Devices
1482# 1518#
1483CONFIG_USB_HID=y 1519CONFIG_USB_HID=y
1484# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1520# CONFIG_HID_PID is not set
1485# CONFIG_HID_FF is not set
1486CONFIG_USB_HIDDEV=y 1521CONFIG_USB_HIDDEV=y
1522
1523#
1524# Special HID drivers
1525#
1526CONFIG_HID_COMPAT=y
1527CONFIG_HID_A4TECH=y
1528CONFIG_HID_APPLE=y
1529CONFIG_HID_BELKIN=y
1530CONFIG_HID_BRIGHT=y
1531CONFIG_HID_CHERRY=y
1532CONFIG_HID_CHICONY=y
1533CONFIG_HID_CYPRESS=y
1534CONFIG_HID_DELL=y
1535CONFIG_HID_EZKEY=y
1536CONFIG_HID_GYRATION=y
1537CONFIG_HID_LOGITECH=y
1538# CONFIG_LOGITECH_FF is not set
1539# CONFIG_LOGIRUMBLEPAD2_FF is not set
1540CONFIG_HID_MICROSOFT=y
1541CONFIG_HID_MONTEREY=y
1542CONFIG_HID_PANTHERLORD=y
1543# CONFIG_PANTHERLORD_FF is not set
1544CONFIG_HID_PETALYNX=y
1545CONFIG_HID_SAMSUNG=y
1546CONFIG_HID_SONY=y
1547CONFIG_HID_SUNPLUS=y
1548# CONFIG_THRUSTMASTER_FF is not set
1549# CONFIG_ZEROPLUS_FF is not set
1487CONFIG_USB_SUPPORT=y 1550CONFIG_USB_SUPPORT=y
1488CONFIG_USB_ARCH_HAS_HCD=y 1551CONFIG_USB_ARCH_HAS_HCD=y
1489CONFIG_USB_ARCH_HAS_OHCI=y 1552CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1500,6 +1563,8 @@ CONFIG_USB_DEVICE_CLASS=y
1500# CONFIG_USB_DYNAMIC_MINORS is not set 1563# CONFIG_USB_DYNAMIC_MINORS is not set
1501# CONFIG_USB_OTG is not set 1564# CONFIG_USB_OTG is not set
1502# CONFIG_USB_MON is not set 1565# CONFIG_USB_MON is not set
1566# CONFIG_USB_WUSB is not set
1567# CONFIG_USB_WUSB_CBAF is not set
1503 1568
1504# 1569#
1505# USB Host Controller Drivers 1570# USB Host Controller Drivers
@@ -1520,6 +1585,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1520# CONFIG_USB_UHCI_HCD is not set 1585# CONFIG_USB_UHCI_HCD is not set
1521# CONFIG_USB_SL811_HCD is not set 1586# CONFIG_USB_SL811_HCD is not set
1522# CONFIG_USB_R8A66597_HCD is not set 1587# CONFIG_USB_R8A66597_HCD is not set
1588# CONFIG_USB_WHCI_HCD is not set
1589# CONFIG_USB_HWA_HCD is not set
1523 1590
1524# 1591#
1525# USB Device Class drivers 1592# USB Device Class drivers
@@ -1527,6 +1594,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1527# CONFIG_USB_ACM is not set 1594# CONFIG_USB_ACM is not set
1528# CONFIG_USB_PRINTER is not set 1595# CONFIG_USB_PRINTER is not set
1529# CONFIG_USB_WDM is not set 1596# CONFIG_USB_WDM is not set
1597# CONFIG_USB_TMC is not set
1530 1598
1531# 1599#
1532# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1600# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1548,7 +1616,6 @@ CONFIG_USB_STORAGE=m
1548# CONFIG_USB_STORAGE_ALAUDA is not set 1616# CONFIG_USB_STORAGE_ALAUDA is not set
1549# CONFIG_USB_STORAGE_ONETOUCH is not set 1617# CONFIG_USB_STORAGE_ONETOUCH is not set
1550# CONFIG_USB_STORAGE_KARMA is not set 1618# CONFIG_USB_STORAGE_KARMA is not set
1551# CONFIG_USB_STORAGE_SIERRA is not set
1552# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1619# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1553# CONFIG_USB_LIBUSUAL is not set 1620# CONFIG_USB_LIBUSUAL is not set
1554 1621
@@ -1569,6 +1636,7 @@ CONFIG_USB_STORAGE=m
1569# CONFIG_USB_EMI62 is not set 1636# CONFIG_USB_EMI62 is not set
1570# CONFIG_USB_EMI26 is not set 1637# CONFIG_USB_EMI26 is not set
1571# CONFIG_USB_ADUTUX is not set 1638# CONFIG_USB_ADUTUX is not set
1639# CONFIG_USB_SEVSEG is not set
1572# CONFIG_USB_RIO500 is not set 1640# CONFIG_USB_RIO500 is not set
1573# CONFIG_USB_LEGOTOWER is not set 1641# CONFIG_USB_LEGOTOWER is not set
1574# CONFIG_USB_LCD is not set 1642# CONFIG_USB_LCD is not set
@@ -1586,7 +1654,9 @@ CONFIG_USB_APPLEDISPLAY=m
1586# CONFIG_USB_IOWARRIOR is not set 1654# CONFIG_USB_IOWARRIOR is not set
1587# CONFIG_USB_TEST is not set 1655# CONFIG_USB_TEST is not set
1588# CONFIG_USB_ISIGHTFW is not set 1656# CONFIG_USB_ISIGHTFW is not set
1657# CONFIG_USB_VST is not set
1589# CONFIG_USB_GADGET is not set 1658# CONFIG_USB_GADGET is not set
1659# CONFIG_UWB is not set
1590# CONFIG_MMC is not set 1660# CONFIG_MMC is not set
1591# CONFIG_MEMSTICK is not set 1661# CONFIG_MEMSTICK is not set
1592# CONFIG_NEW_LEDS is not set 1662# CONFIG_NEW_LEDS is not set
@@ -1656,12 +1726,15 @@ CONFIG_RTC_DRV_DS1307=y
1656# Platform RTC drivers 1726# Platform RTC drivers
1657# 1727#
1658# CONFIG_RTC_DRV_CMOS is not set 1728# CONFIG_RTC_DRV_CMOS is not set
1729# CONFIG_RTC_DRV_DS1286 is not set
1659# CONFIG_RTC_DRV_DS1511 is not set 1730# CONFIG_RTC_DRV_DS1511 is not set
1660# CONFIG_RTC_DRV_DS1553 is not set 1731# CONFIG_RTC_DRV_DS1553 is not set
1661# CONFIG_RTC_DRV_DS1742 is not set 1732# CONFIG_RTC_DRV_DS1742 is not set
1662# CONFIG_RTC_DRV_STK17TA8 is not set 1733# CONFIG_RTC_DRV_STK17TA8 is not set
1663# CONFIG_RTC_DRV_M48T86 is not set 1734# CONFIG_RTC_DRV_M48T86 is not set
1735# CONFIG_RTC_DRV_M48T35 is not set
1664# CONFIG_RTC_DRV_M48T59 is not set 1736# CONFIG_RTC_DRV_M48T59 is not set
1737# CONFIG_RTC_DRV_BQ4802 is not set
1665# CONFIG_RTC_DRV_V3020 is not set 1738# CONFIG_RTC_DRV_V3020 is not set
1666 1739
1667# 1740#
@@ -1670,6 +1743,7 @@ CONFIG_RTC_DRV_DS1307=y
1670CONFIG_RTC_DRV_PPC=y 1743CONFIG_RTC_DRV_PPC=y
1671# CONFIG_DMADEVICES is not set 1744# CONFIG_DMADEVICES is not set
1672# CONFIG_UIO is not set 1745# CONFIG_UIO is not set
1746# CONFIG_STAGING is not set
1673 1747
1674# 1748#
1675# File systems 1749# File systems
@@ -1679,14 +1753,20 @@ CONFIG_EXT2_FS_XATTR=y
1679CONFIG_EXT2_FS_POSIX_ACL=y 1753CONFIG_EXT2_FS_POSIX_ACL=y
1680CONFIG_EXT2_FS_SECURITY=y 1754CONFIG_EXT2_FS_SECURITY=y
1681CONFIG_EXT2_FS_XIP=y 1755CONFIG_EXT2_FS_XIP=y
1682CONFIG_FS_XIP=y
1683CONFIG_EXT3_FS=y 1756CONFIG_EXT3_FS=y
1684CONFIG_EXT3_FS_XATTR=y 1757CONFIG_EXT3_FS_XATTR=y
1685CONFIG_EXT3_FS_POSIX_ACL=y 1758CONFIG_EXT3_FS_POSIX_ACL=y
1686CONFIG_EXT3_FS_SECURITY=y 1759CONFIG_EXT3_FS_SECURITY=y
1687# CONFIG_EXT4DEV_FS is not set 1760CONFIG_EXT4_FS=y
1761# CONFIG_EXT4DEV_COMPAT is not set
1762CONFIG_EXT4_FS_XATTR=y
1763CONFIG_EXT4_FS_POSIX_ACL=y
1764CONFIG_EXT4_FS_SECURITY=y
1765CONFIG_FS_XIP=y
1688CONFIG_JBD=y 1766CONFIG_JBD=y
1689# CONFIG_JBD_DEBUG is not set 1767# CONFIG_JBD_DEBUG is not set
1768CONFIG_JBD2=y
1769# CONFIG_JBD2_DEBUG is not set
1690CONFIG_FS_MBCACHE=y 1770CONFIG_FS_MBCACHE=y
1691CONFIG_REISERFS_FS=y 1771CONFIG_REISERFS_FS=y
1692# CONFIG_REISERFS_CHECK is not set 1772# CONFIG_REISERFS_CHECK is not set
@@ -1700,6 +1780,7 @@ CONFIG_JFS_SECURITY=y
1700# CONFIG_JFS_DEBUG is not set 1780# CONFIG_JFS_DEBUG is not set
1701# CONFIG_JFS_STATISTICS is not set 1781# CONFIG_JFS_STATISTICS is not set
1702CONFIG_FS_POSIX_ACL=y 1782CONFIG_FS_POSIX_ACL=y
1783CONFIG_FILE_LOCKING=y
1703CONFIG_XFS_FS=m 1784CONFIG_XFS_FS=m
1704# CONFIG_XFS_QUOTA is not set 1785# CONFIG_XFS_QUOTA is not set
1705CONFIG_XFS_POSIX_ACL=y 1786CONFIG_XFS_POSIX_ACL=y
@@ -1740,6 +1821,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1740CONFIG_PROC_FS=y 1821CONFIG_PROC_FS=y
1741CONFIG_PROC_KCORE=y 1822CONFIG_PROC_KCORE=y
1742CONFIG_PROC_SYSCTL=y 1823CONFIG_PROC_SYSCTL=y
1824CONFIG_PROC_PAGE_MONITOR=y
1743CONFIG_SYSFS=y 1825CONFIG_SYSFS=y
1744CONFIG_TMPFS=y 1826CONFIG_TMPFS=y
1745# CONFIG_TMPFS_POSIX_ACL is not set 1827# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1785,6 +1867,7 @@ CONFIG_NFS_COMMON=y
1785CONFIG_SUNRPC=y 1867CONFIG_SUNRPC=y
1786CONFIG_SUNRPC_GSS=y 1868CONFIG_SUNRPC_GSS=y
1787CONFIG_SUNRPC_XPRT_RDMA=m 1869CONFIG_SUNRPC_XPRT_RDMA=m
1870# CONFIG_SUNRPC_REGISTER_V4 is not set
1788CONFIG_RPCSEC_GSS_KRB5=y 1871CONFIG_RPCSEC_GSS_KRB5=y
1789CONFIG_RPCSEC_GSS_SPKM3=m 1872CONFIG_RPCSEC_GSS_SPKM3=m
1790# CONFIG_SMB_FS is not set 1873# CONFIG_SMB_FS is not set
@@ -1866,9 +1949,8 @@ CONFIG_NLS_UTF8=m
1866# Library routines 1949# Library routines
1867# 1950#
1868CONFIG_BITREVERSE=y 1951CONFIG_BITREVERSE=y
1869# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1870CONFIG_CRC_CCITT=m 1952CONFIG_CRC_CCITT=m
1871# CONFIG_CRC16 is not set 1953CONFIG_CRC16=y
1872CONFIG_CRC_T10DIF=y 1954CONFIG_CRC_T10DIF=y
1873CONFIG_CRC_ITU_T=m 1955CONFIG_CRC_ITU_T=m
1874CONFIG_CRC32=y 1956CONFIG_CRC32=y
@@ -1929,22 +2011,31 @@ CONFIG_DEBUG_BUGVERBOSE=y
1929CONFIG_DEBUG_MEMORY_INIT=y 2011CONFIG_DEBUG_MEMORY_INIT=y
1930# CONFIG_DEBUG_LIST is not set 2012# CONFIG_DEBUG_LIST is not set
1931# CONFIG_DEBUG_SG is not set 2013# CONFIG_DEBUG_SG is not set
1932CONFIG_FRAME_POINTER=y
1933# CONFIG_BOOT_PRINTK_DELAY is not set 2014# CONFIG_BOOT_PRINTK_DELAY is not set
1934# CONFIG_RCU_TORTURE_TEST is not set 2015# CONFIG_RCU_TORTURE_TEST is not set
2016# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1935# CONFIG_BACKTRACE_SELF_TEST is not set 2017# CONFIG_BACKTRACE_SELF_TEST is not set
2018# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1936# CONFIG_FAULT_INJECTION is not set 2019# CONFIG_FAULT_INJECTION is not set
1937CONFIG_LATENCYTOP=y 2020CONFIG_LATENCYTOP=y
1938CONFIG_SYSCTL_SYSCALL_CHECK=y 2021CONFIG_SYSCTL_SYSCALL_CHECK=y
1939CONFIG_HAVE_FTRACE=y 2022CONFIG_NOP_TRACER=y
1940CONFIG_HAVE_DYNAMIC_FTRACE=y 2023CONFIG_HAVE_FUNCTION_TRACER=y
1941CONFIG_TRACER_MAX_TRACE=y 2024CONFIG_TRACER_MAX_TRACE=y
2025CONFIG_RING_BUFFER=y
1942CONFIG_TRACING=y 2026CONFIG_TRACING=y
1943# CONFIG_FTRACE is not set 2027
2028#
2029# Tracers
2030#
2031# CONFIG_FUNCTION_TRACER is not set
1944CONFIG_IRQSOFF_TRACER=y 2032CONFIG_IRQSOFF_TRACER=y
1945CONFIG_SCHED_TRACER=y 2033CONFIG_SCHED_TRACER=y
1946CONFIG_CONTEXT_SWITCH_TRACER=y 2034CONFIG_CONTEXT_SWITCH_TRACER=y
2035# CONFIG_BOOT_TRACER is not set
2036# CONFIG_STACK_TRACER is not set
1947# CONFIG_FTRACE_STARTUP_TEST is not set 2037# CONFIG_FTRACE_STARTUP_TEST is not set
2038CONFIG_DYNAMIC_PRINTK_DEBUG=y
1948# CONFIG_SAMPLES is not set 2039# CONFIG_SAMPLES is not set
1949CONFIG_HAVE_ARCH_KGDB=y 2040CONFIG_HAVE_ARCH_KGDB=y
1950# CONFIG_KGDB is not set 2041# CONFIG_KGDB is not set
@@ -1954,6 +2045,7 @@ CONFIG_DEBUG_STACK_USAGE=y
1954# CONFIG_HCALL_STATS is not set 2045# CONFIG_HCALL_STATS is not set
1955# CONFIG_CODE_PATCHING_SELFTEST is not set 2046# CONFIG_CODE_PATCHING_SELFTEST is not set
1956# CONFIG_FTR_FIXUP_SELFTEST is not set 2047# CONFIG_FTR_FIXUP_SELFTEST is not set
2048# CONFIG_MSI_BITMAP_SELFTEST is not set
1957CONFIG_XMON=y 2049CONFIG_XMON=y
1958# CONFIG_XMON_DEFAULT is not set 2050# CONFIG_XMON_DEFAULT is not set
1959CONFIG_XMON_DISASSEMBLY=y 2051CONFIG_XMON_DISASSEMBLY=y
@@ -1968,6 +2060,7 @@ CONFIG_BOOTX_TEXT=y
1968# 2060#
1969# CONFIG_KEYS is not set 2061# CONFIG_KEYS is not set
1970# CONFIG_SECURITY is not set 2062# CONFIG_SECURITY is not set
2063# CONFIG_SECURITYFS is not set
1971# CONFIG_SECURITY_FILE_CAPABILITIES is not set 2064# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1972CONFIG_XOR_BLOCKS=y 2065CONFIG_XOR_BLOCKS=y
1973CONFIG_ASYNC_CORE=y 2066CONFIG_ASYNC_CORE=y
@@ -1978,10 +2071,12 @@ CONFIG_CRYPTO=y
1978# 2071#
1979# Crypto core or helper 2072# Crypto core or helper
1980# 2073#
2074# CONFIG_CRYPTO_FIPS is not set
1981CONFIG_CRYPTO_ALGAPI=y 2075CONFIG_CRYPTO_ALGAPI=y
1982CONFIG_CRYPTO_AEAD=m 2076CONFIG_CRYPTO_AEAD=y
1983CONFIG_CRYPTO_BLKCIPHER=y 2077CONFIG_CRYPTO_BLKCIPHER=y
1984CONFIG_CRYPTO_HASH=y 2078CONFIG_CRYPTO_HASH=y
2079CONFIG_CRYPTO_RNG=y
1985CONFIG_CRYPTO_MANAGER=y 2080CONFIG_CRYPTO_MANAGER=y
1986CONFIG_CRYPTO_GF128MUL=m 2081CONFIG_CRYPTO_GF128MUL=m
1987CONFIG_CRYPTO_NULL=m 2082CONFIG_CRYPTO_NULL=m
@@ -2055,6 +2150,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
2055# 2150#
2056CONFIG_CRYPTO_DEFLATE=m 2151CONFIG_CRYPTO_DEFLATE=m
2057CONFIG_CRYPTO_LZO=m 2152CONFIG_CRYPTO_LZO=m
2153
2154#
2155# Random Number Generation
2156#
2157# CONFIG_CRYPTO_ANSI_CPRNG is not set
2058# CONFIG_CRYPTO_HW is not set 2158# CONFIG_CRYPTO_HW is not set
2059# CONFIG_PPC_CLOCK is not set 2159# CONFIG_PPC_CLOCK is not set
2060# CONFIG_VIRTUALIZATION is not set 2160# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index 3c6dbdef56eb..01f05ec5abf3 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:29:50 2008 4# Tue Nov 11 19:37:01 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -23,7 +23,7 @@ CONFIG_PPC_STD_MMU_32=y
23# CONFIG_SMP is not set 23# CONFIG_SMP is not set
24CONFIG_PPC32=y 24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32 25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y 26# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
27CONFIG_MMU=y 27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -89,6 +89,7 @@ CONFIG_LOG_BUF_SHIFT=17
89CONFIG_CGROUPS=y 89CONFIG_CGROUPS=y
90# CONFIG_CGROUP_DEBUG is not set 90# CONFIG_CGROUP_DEBUG is not set
91CONFIG_CGROUP_NS=y 91CONFIG_CGROUP_NS=y
92# CONFIG_CGROUP_FREEZER is not set
92CONFIG_CGROUP_DEVICE=y 93CONFIG_CGROUP_DEVICE=y
93CONFIG_GROUP_SCHED=y 94CONFIG_GROUP_SCHED=y
94CONFIG_FAIR_GROUP_SCHED=y 95CONFIG_FAIR_GROUP_SCHED=y
@@ -128,12 +129,15 @@ CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 129CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
130CONFIG_SHMEM=y 131CONFIG_SHMEM=y
132CONFIG_AIO=y
131CONFIG_VM_EVENT_COUNTERS=y 133CONFIG_VM_EVENT_COUNTERS=y
134CONFIG_PCI_QUIRKS=y
132CONFIG_SLUB_DEBUG=y 135CONFIG_SLUB_DEBUG=y
133# CONFIG_SLAB is not set 136# CONFIG_SLAB is not set
134CONFIG_SLUB=y 137CONFIG_SLUB=y
135# CONFIG_SLOB is not set 138# CONFIG_SLOB is not set
136CONFIG_PROFILING=y 139CONFIG_PROFILING=y
140CONFIG_TRACEPOINTS=y
137CONFIG_MARKERS=y 141CONFIG_MARKERS=y
138CONFIG_OPROFILE=m 142CONFIG_OPROFILE=m
139CONFIG_HAVE_OPROFILE=y 143CONFIG_HAVE_OPROFILE=y
@@ -144,10 +148,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
147# CONFIG_HAVE_DMA_ATTRS is not set
148# CONFIG_USE_GENERIC_SMP_HELPERS is not set
149CONFIG_HAVE_CLK=y 151CONFIG_HAVE_CLK=y
150CONFIG_PROC_PAGE_MONITOR=y
151# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 152# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
152CONFIG_SLABINFO=y 153CONFIG_SLABINFO=y
153CONFIG_RT_MUTEXES=y 154CONFIG_RT_MUTEXES=y
@@ -180,6 +181,8 @@ CONFIG_DEFAULT_CFQ=y
180# CONFIG_DEFAULT_NOOP is not set 181# CONFIG_DEFAULT_NOOP is not set
181CONFIG_DEFAULT_IOSCHED="cfq" 182CONFIG_DEFAULT_IOSCHED="cfq"
182CONFIG_CLASSIC_RCU=y 183CONFIG_CLASSIC_RCU=y
184CONFIG_FREEZER=y
185CONFIG_PPC_MSI_BITMAP=y
183 186
184# 187#
185# Platform support 188# Platform support
@@ -202,6 +205,7 @@ CONFIG_PPC_82xx=y
202CONFIG_MPC8272_ADS=y 205CONFIG_MPC8272_ADS=y
203CONFIG_PQ2FADS=y 206CONFIG_PQ2FADS=y
204CONFIG_EP8248E=y 207CONFIG_EP8248E=y
208CONFIG_MGCOGE=y
205CONFIG_PQ2ADS=y 209CONFIG_PQ2ADS=y
206CONFIG_8260=y 210CONFIG_8260=y
207CONFIG_8272=y 211CONFIG_8272=y
@@ -226,6 +230,7 @@ CONFIG_PPC_86xx=y
226CONFIG_MPC8641_HPCN=y 230CONFIG_MPC8641_HPCN=y
227CONFIG_SBC8641D=y 231CONFIG_SBC8641D=y
228CONFIG_MPC8610_HPCD=y 232CONFIG_MPC8610_HPCD=y
233CONFIG_GEF_SBC610=y
229CONFIG_MPC8641=y 234CONFIG_MPC8641=y
230CONFIG_MPC8610=y 235CONFIG_MPC8610=y
231# CONFIG_EMBEDDED6xx is not set 236# CONFIG_EMBEDDED6xx is not set
@@ -268,6 +273,7 @@ CONFIG_TAU=y
268# CONFIG_TAU_INT is not set 273# CONFIG_TAU_INT is not set
269CONFIG_TAU_AVERAGE=y 274CONFIG_TAU_AVERAGE=y
270CONFIG_QUICC_ENGINE=y 275CONFIG_QUICC_ENGINE=y
276CONFIG_QE_GPIO=y
271CONFIG_CPM2=y 277CONFIG_CPM2=y
272CONFIG_FSL_ULI1575=y 278CONFIG_FSL_ULI1575=y
273CONFIG_CPM=y 279CONFIG_CPM=y
@@ -275,6 +281,7 @@ CONFIG_PPC_BESTCOMM=y
275CONFIG_PPC_BESTCOMM_ATA=m 281CONFIG_PPC_BESTCOMM_ATA=m
276CONFIG_PPC_BESTCOMM_FEC=m 282CONFIG_PPC_BESTCOMM_FEC=m
277CONFIG_PPC_BESTCOMM_GEN_BD=m 283CONFIG_PPC_BESTCOMM_GEN_BD=m
284CONFIG_MPC8xxx_GPIO=y
278 285
279# 286#
280# Kernel options 287# Kernel options
@@ -294,6 +301,8 @@ CONFIG_SCHED_HRTICK=y
294CONFIG_PREEMPT_VOLUNTARY=y 301CONFIG_PREEMPT_VOLUNTARY=y
295# CONFIG_PREEMPT is not set 302# CONFIG_PREEMPT is not set
296CONFIG_BINFMT_ELF=y 303CONFIG_BINFMT_ELF=y
304# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
305# CONFIG_HAVE_AOUT is not set
297CONFIG_BINFMT_MISC=y 306CONFIG_BINFMT_MISC=y
298# CONFIG_MATH_EMULATION is not set 307# CONFIG_MATH_EMULATION is not set
299# CONFIG_IOMMU_HELPER is not set 308# CONFIG_IOMMU_HELPER is not set
@@ -309,15 +318,15 @@ CONFIG_FLATMEM_MANUAL=y
309# CONFIG_SPARSEMEM_MANUAL is not set 318# CONFIG_SPARSEMEM_MANUAL is not set
310CONFIG_FLATMEM=y 319CONFIG_FLATMEM=y
311CONFIG_FLAT_NODE_MEM_MAP=y 320CONFIG_FLAT_NODE_MEM_MAP=y
312# CONFIG_SPARSEMEM_STATIC is not set
313# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
314CONFIG_PAGEFLAGS_EXTENDED=y 321CONFIG_PAGEFLAGS_EXTENDED=y
315CONFIG_SPLIT_PTLOCK_CPUS=4 322CONFIG_SPLIT_PTLOCK_CPUS=4
316# CONFIG_MIGRATION is not set 323# CONFIG_MIGRATION is not set
317CONFIG_RESOURCES_64BIT=y 324CONFIG_RESOURCES_64BIT=y
325# CONFIG_PHYS_ADDR_T_64BIT is not set
318CONFIG_ZONE_DMA_FLAG=1 326CONFIG_ZONE_DMA_FLAG=1
319CONFIG_BOUNCE=y 327CONFIG_BOUNCE=y
320CONFIG_VIRT_TO_BUS=y 328CONFIG_VIRT_TO_BUS=y
329CONFIG_UNEVICTABLE_LRU=y
321CONFIG_FORCE_MAX_ZONEORDER=11 330CONFIG_FORCE_MAX_ZONEORDER=11
322CONFIG_PROC_DEVICETREE=y 331CONFIG_PROC_DEVICETREE=y
323# CONFIG_CMDLINE_BOOL is not set 332# CONFIG_CMDLINE_BOOL is not set
@@ -359,7 +368,7 @@ CONFIG_PCIEASPM=y
359# CONFIG_PCIEASPM_DEBUG is not set 368# CONFIG_PCIEASPM_DEBUG is not set
360CONFIG_ARCH_SUPPORTS_MSI=y 369CONFIG_ARCH_SUPPORTS_MSI=y
361CONFIG_PCI_MSI=y 370CONFIG_PCI_MSI=y
362CONFIG_PCI_LEGACY=y 371# CONFIG_PCI_LEGACY is not set
363# CONFIG_PCI_DEBUG is not set 372# CONFIG_PCI_DEBUG is not set
364CONFIG_PCCARD=y 373CONFIG_PCCARD=y
365# CONFIG_PCMCIA_DEBUG is not set 374# CONFIG_PCMCIA_DEBUG is not set
@@ -466,7 +475,6 @@ CONFIG_DEFAULT_CUBIC=y
466# CONFIG_DEFAULT_RENO is not set 475# CONFIG_DEFAULT_RENO is not set
467CONFIG_DEFAULT_TCP_CONG="cubic" 476CONFIG_DEFAULT_TCP_CONG="cubic"
468CONFIG_TCP_MD5SIG=y 477CONFIG_TCP_MD5SIG=y
469# CONFIG_IP_VS is not set
470CONFIG_IPV6=m 478CONFIG_IPV6=m
471CONFIG_IPV6_PRIVACY=y 479CONFIG_IPV6_PRIVACY=y
472CONFIG_IPV6_ROUTER_PREF=y 480CONFIG_IPV6_ROUTER_PREF=y
@@ -521,18 +529,20 @@ CONFIG_NF_CONNTRACK_SANE=m
521CONFIG_NF_CONNTRACK_SIP=m 529CONFIG_NF_CONNTRACK_SIP=m
522CONFIG_NF_CONNTRACK_TFTP=m 530CONFIG_NF_CONNTRACK_TFTP=m
523CONFIG_NF_CT_NETLINK=m 531CONFIG_NF_CT_NETLINK=m
532CONFIG_NETFILTER_TPROXY=m
524CONFIG_NETFILTER_XTABLES=m 533CONFIG_NETFILTER_XTABLES=m
525CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 534CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
526CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 535CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
536CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
527CONFIG_NETFILTER_XT_TARGET_DSCP=m 537CONFIG_NETFILTER_XT_TARGET_DSCP=m
528CONFIG_NETFILTER_XT_TARGET_MARK=m 538CONFIG_NETFILTER_XT_TARGET_MARK=m
529CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
530CONFIG_NETFILTER_XT_TARGET_NFLOG=m 539CONFIG_NETFILTER_XT_TARGET_NFLOG=m
540CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
531CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 541CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
532CONFIG_NETFILTER_XT_TARGET_RATEEST=m 542CONFIG_NETFILTER_XT_TARGET_RATEEST=m
543CONFIG_NETFILTER_XT_TARGET_TPROXY=m
533CONFIG_NETFILTER_XT_TARGET_TRACE=m 544CONFIG_NETFILTER_XT_TARGET_TRACE=m
534CONFIG_NETFILTER_XT_TARGET_SECMARK=m 545CONFIG_NETFILTER_XT_TARGET_SECMARK=m
535CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
536CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 546CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
537CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m 547CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
538CONFIG_NETFILTER_XT_MATCH_COMMENT=m 548CONFIG_NETFILTER_XT_MATCH_COMMENT=m
@@ -543,41 +553,45 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
543CONFIG_NETFILTER_XT_MATCH_DCCP=m 553CONFIG_NETFILTER_XT_MATCH_DCCP=m
544CONFIG_NETFILTER_XT_MATCH_DSCP=m 554CONFIG_NETFILTER_XT_MATCH_DSCP=m
545CONFIG_NETFILTER_XT_MATCH_ESP=m 555CONFIG_NETFILTER_XT_MATCH_ESP=m
556CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
546CONFIG_NETFILTER_XT_MATCH_HELPER=m 557CONFIG_NETFILTER_XT_MATCH_HELPER=m
547CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 558CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
548CONFIG_NETFILTER_XT_MATCH_LENGTH=m 559CONFIG_NETFILTER_XT_MATCH_LENGTH=m
549CONFIG_NETFILTER_XT_MATCH_LIMIT=m 560CONFIG_NETFILTER_XT_MATCH_LIMIT=m
550CONFIG_NETFILTER_XT_MATCH_MAC=m 561CONFIG_NETFILTER_XT_MATCH_MAC=m
551CONFIG_NETFILTER_XT_MATCH_MARK=m 562CONFIG_NETFILTER_XT_MATCH_MARK=m
563CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
552CONFIG_NETFILTER_XT_MATCH_OWNER=m 564CONFIG_NETFILTER_XT_MATCH_OWNER=m
553CONFIG_NETFILTER_XT_MATCH_POLICY=m 565CONFIG_NETFILTER_XT_MATCH_POLICY=m
554CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
555CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 566CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
556CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 567CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
557CONFIG_NETFILTER_XT_MATCH_QUOTA=m 568CONFIG_NETFILTER_XT_MATCH_QUOTA=m
558CONFIG_NETFILTER_XT_MATCH_RATEEST=m 569CONFIG_NETFILTER_XT_MATCH_RATEEST=m
559CONFIG_NETFILTER_XT_MATCH_REALM=m 570CONFIG_NETFILTER_XT_MATCH_REALM=m
571CONFIG_NETFILTER_XT_MATCH_RECENT=m
572# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
560CONFIG_NETFILTER_XT_MATCH_SCTP=m 573CONFIG_NETFILTER_XT_MATCH_SCTP=m
574CONFIG_NETFILTER_XT_MATCH_SOCKET=m
561CONFIG_NETFILTER_XT_MATCH_STATE=m 575CONFIG_NETFILTER_XT_MATCH_STATE=m
562CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 576CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
563CONFIG_NETFILTER_XT_MATCH_STRING=m 577CONFIG_NETFILTER_XT_MATCH_STRING=m
564CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 578CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
565CONFIG_NETFILTER_XT_MATCH_TIME=m 579CONFIG_NETFILTER_XT_MATCH_TIME=m
566CONFIG_NETFILTER_XT_MATCH_U32=m 580CONFIG_NETFILTER_XT_MATCH_U32=m
567CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 581# CONFIG_IP_VS is not set
568 582
569# 583#
570# IP: Netfilter Configuration 584# IP: Netfilter Configuration
571# 585#
586CONFIG_NF_DEFRAG_IPV4=m
572CONFIG_NF_CONNTRACK_IPV4=m 587CONFIG_NF_CONNTRACK_IPV4=m
573# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set 588# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
574CONFIG_IP_NF_QUEUE=m 589CONFIG_IP_NF_QUEUE=m
575CONFIG_IP_NF_IPTABLES=m 590CONFIG_IP_NF_IPTABLES=m
576CONFIG_IP_NF_MATCH_RECENT=m 591CONFIG_IP_NF_MATCH_ADDRTYPE=m
577CONFIG_IP_NF_MATCH_ECN=m
578CONFIG_IP_NF_MATCH_AH=m 592CONFIG_IP_NF_MATCH_AH=m
593CONFIG_IP_NF_MATCH_ECN=m
579CONFIG_IP_NF_MATCH_TTL=m 594CONFIG_IP_NF_MATCH_TTL=m
580CONFIG_IP_NF_MATCH_ADDRTYPE=m
581CONFIG_IP_NF_FILTER=m 595CONFIG_IP_NF_FILTER=m
582CONFIG_IP_NF_TARGET_REJECT=m 596CONFIG_IP_NF_TARGET_REJECT=m
583CONFIG_IP_NF_TARGET_LOG=m 597CONFIG_IP_NF_TARGET_LOG=m
@@ -585,8 +599,8 @@ CONFIG_IP_NF_TARGET_ULOG=m
585CONFIG_NF_NAT=m 599CONFIG_NF_NAT=m
586CONFIG_NF_NAT_NEEDED=y 600CONFIG_NF_NAT_NEEDED=y
587CONFIG_IP_NF_TARGET_MASQUERADE=m 601CONFIG_IP_NF_TARGET_MASQUERADE=m
588CONFIG_IP_NF_TARGET_REDIRECT=m
589CONFIG_IP_NF_TARGET_NETMAP=m 602CONFIG_IP_NF_TARGET_NETMAP=m
603CONFIG_IP_NF_TARGET_REDIRECT=m
590CONFIG_NF_NAT_SNMP_BASIC=m 604CONFIG_NF_NAT_SNMP_BASIC=m
591CONFIG_NF_NAT_PROTO_DCCP=m 605CONFIG_NF_NAT_PROTO_DCCP=m
592CONFIG_NF_NAT_PROTO_GRE=m 606CONFIG_NF_NAT_PROTO_GRE=m
@@ -600,9 +614,9 @@ CONFIG_NF_NAT_PPTP=m
600CONFIG_NF_NAT_H323=m 614CONFIG_NF_NAT_H323=m
601CONFIG_NF_NAT_SIP=m 615CONFIG_NF_NAT_SIP=m
602CONFIG_IP_NF_MANGLE=m 616CONFIG_IP_NF_MANGLE=m
617CONFIG_IP_NF_TARGET_CLUSTERIP=m
603CONFIG_IP_NF_TARGET_ECN=m 618CONFIG_IP_NF_TARGET_ECN=m
604CONFIG_IP_NF_TARGET_TTL=m 619CONFIG_IP_NF_TARGET_TTL=m
605CONFIG_IP_NF_TARGET_CLUSTERIP=m
606CONFIG_IP_NF_RAW=m 620CONFIG_IP_NF_RAW=m
607CONFIG_IP_NF_SECURITY=m 621CONFIG_IP_NF_SECURITY=m
608CONFIG_IP_NF_ARPTABLES=m 622CONFIG_IP_NF_ARPTABLES=m
@@ -615,16 +629,16 @@ CONFIG_IP_NF_ARP_MANGLE=m
615CONFIG_NF_CONNTRACK_IPV6=m 629CONFIG_NF_CONNTRACK_IPV6=m
616CONFIG_IP6_NF_QUEUE=m 630CONFIG_IP6_NF_QUEUE=m
617CONFIG_IP6_NF_IPTABLES=m 631CONFIG_IP6_NF_IPTABLES=m
618CONFIG_IP6_NF_MATCH_RT=m 632CONFIG_IP6_NF_MATCH_AH=m
619CONFIG_IP6_NF_MATCH_OPTS=m 633CONFIG_IP6_NF_MATCH_EUI64=m
620CONFIG_IP6_NF_MATCH_FRAG=m 634CONFIG_IP6_NF_MATCH_FRAG=m
635CONFIG_IP6_NF_MATCH_OPTS=m
621CONFIG_IP6_NF_MATCH_HL=m 636CONFIG_IP6_NF_MATCH_HL=m
622CONFIG_IP6_NF_MATCH_IPV6HEADER=m 637CONFIG_IP6_NF_MATCH_IPV6HEADER=m
623CONFIG_IP6_NF_MATCH_AH=m
624CONFIG_IP6_NF_MATCH_MH=m 638CONFIG_IP6_NF_MATCH_MH=m
625CONFIG_IP6_NF_MATCH_EUI64=m 639CONFIG_IP6_NF_MATCH_RT=m
626CONFIG_IP6_NF_FILTER=m
627CONFIG_IP6_NF_TARGET_LOG=m 640CONFIG_IP6_NF_TARGET_LOG=m
641CONFIG_IP6_NF_FILTER=m
628CONFIG_IP6_NF_TARGET_REJECT=m 642CONFIG_IP6_NF_TARGET_REJECT=m
629CONFIG_IP6_NF_MANGLE=m 643CONFIG_IP6_NF_MANGLE=m
630CONFIG_IP6_NF_TARGET_HL=m 644CONFIG_IP6_NF_TARGET_HL=m
@@ -635,10 +649,6 @@ CONFIG_IP6_NF_SECURITY=m
635# DECnet: Netfilter Configuration 649# DECnet: Netfilter Configuration
636# 650#
637# CONFIG_DECNET_NF_GRABULATOR is not set 651# CONFIG_DECNET_NF_GRABULATOR is not set
638
639#
640# Bridge: Netfilter Configuration
641#
642CONFIG_BRIDGE_NF_EBTABLES=m 652CONFIG_BRIDGE_NF_EBTABLES=m
643CONFIG_BRIDGE_EBT_BROUTE=m 653CONFIG_BRIDGE_EBT_BROUTE=m
644CONFIG_BRIDGE_EBT_T_FILTER=m 654CONFIG_BRIDGE_EBT_T_FILTER=m
@@ -698,6 +708,7 @@ CONFIG_ATM_BR2684=m
698# CONFIG_ATM_BR2684_IPFILTER is not set 708# CONFIG_ATM_BR2684_IPFILTER is not set
699CONFIG_STP=m 709CONFIG_STP=m
700CONFIG_BRIDGE=m 710CONFIG_BRIDGE=m
711# CONFIG_NET_DSA is not set
701CONFIG_VLAN_8021Q=m 712CONFIG_VLAN_8021Q=m
702# CONFIG_VLAN_8021Q_GVRP is not set 713# CONFIG_VLAN_8021Q_GVRP is not set
703CONFIG_DECNET=m 714CONFIG_DECNET=m
@@ -727,6 +738,7 @@ CONFIG_NET_SCH_HTB=m
727CONFIG_NET_SCH_HFSC=m 738CONFIG_NET_SCH_HFSC=m
728CONFIG_NET_SCH_ATM=m 739CONFIG_NET_SCH_ATM=m
729CONFIG_NET_SCH_PRIO=m 740CONFIG_NET_SCH_PRIO=m
741CONFIG_NET_SCH_MULTIQ=m
730CONFIG_NET_SCH_RED=m 742CONFIG_NET_SCH_RED=m
731CONFIG_NET_SCH_SFQ=m 743CONFIG_NET_SCH_SFQ=m
732CONFIG_NET_SCH_TEQL=m 744CONFIG_NET_SCH_TEQL=m
@@ -767,6 +779,7 @@ CONFIG_NET_ACT_IPT=m
767CONFIG_NET_ACT_NAT=m 779CONFIG_NET_ACT_NAT=m
768CONFIG_NET_ACT_PEDIT=m 780CONFIG_NET_ACT_PEDIT=m
769CONFIG_NET_ACT_SIMP=m 781CONFIG_NET_ACT_SIMP=m
782CONFIG_NET_ACT_SKBEDIT=m
770CONFIG_NET_CLS_IND=y 783CONFIG_NET_CLS_IND=y
771CONFIG_NET_SCH_FIFO=y 784CONFIG_NET_SCH_FIFO=y
772 785
@@ -853,13 +866,12 @@ CONFIG_BT_HCIBLUECARD=m
853CONFIG_BT_HCIBTUART=m 866CONFIG_BT_HCIBTUART=m
854CONFIG_BT_HCIVHCI=m 867CONFIG_BT_HCIVHCI=m
855# CONFIG_AF_RXRPC is not set 868# CONFIG_AF_RXRPC is not set
869# CONFIG_PHONET is not set
856CONFIG_FIB_RULES=y 870CONFIG_FIB_RULES=y
857 871CONFIG_WIRELESS=y
858#
859# Wireless
860#
861CONFIG_CFG80211=m 872CONFIG_CFG80211=m
862CONFIG_NL80211=y 873CONFIG_NL80211=y
874CONFIG_WIRELESS_OLD_REGULATORY=y
863CONFIG_WIRELESS_EXT=y 875CONFIG_WIRELESS_EXT=y
864CONFIG_WIRELESS_EXT_SYSFS=y 876CONFIG_WIRELESS_EXT_SYSFS=y
865CONFIG_MAC80211=m 877CONFIG_MAC80211=m
@@ -868,7 +880,9 @@ CONFIG_MAC80211=m
868# Rate control algorithm selection 880# Rate control algorithm selection
869# 881#
870CONFIG_MAC80211_RC_PID=y 882CONFIG_MAC80211_RC_PID=y
883# CONFIG_MAC80211_RC_MINSTREL is not set
871CONFIG_MAC80211_RC_DEFAULT_PID=y 884CONFIG_MAC80211_RC_DEFAULT_PID=y
885# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
872CONFIG_MAC80211_RC_DEFAULT="pid" 886CONFIG_MAC80211_RC_DEFAULT="pid"
873CONFIG_MAC80211_MESH=y 887CONFIG_MAC80211_MESH=y
874CONFIG_MAC80211_LEDS=y 888CONFIG_MAC80211_LEDS=y
@@ -917,7 +931,7 @@ CONFIG_PARPORT_SERIAL=m
917CONFIG_PARPORT_1284=y 931CONFIG_PARPORT_1284=y
918CONFIG_PARPORT_NOT_PC=y 932CONFIG_PARPORT_NOT_PC=y
919CONFIG_PNP=y 933CONFIG_PNP=y
920# CONFIG_PNP_DEBUG is not set 934CONFIG_PNP_DEBUG_MESSAGES=y
921 935
922# 936#
923# Protocols 937# Protocols
@@ -958,22 +972,20 @@ CONFIG_ENCLOSURE_SERVICES=m
958# CONFIG_HP_ILO is not set 972# CONFIG_HP_ILO is not set
959CONFIG_HAVE_IDE=y 973CONFIG_HAVE_IDE=y
960CONFIG_IDE=y 974CONFIG_IDE=y
961CONFIG_BLK_DEV_IDE=y
962 975
963# 976#
964# Please see Documentation/ide/ide.txt for help/info on IDE drives 977# Please see Documentation/ide/ide.txt for help/info on IDE drives
965# 978#
966CONFIG_IDE_TIMINGS=y 979CONFIG_IDE_TIMINGS=y
967CONFIG_IDE_ATAPI=y
968# CONFIG_BLK_DEV_IDE_SATA is not set 980# CONFIG_BLK_DEV_IDE_SATA is not set
969CONFIG_BLK_DEV_IDEDISK=y 981CONFIG_IDE_GD=y
970CONFIG_IDEDISK_MULTI_MODE=y 982CONFIG_IDE_GD_ATA=y
983# CONFIG_IDE_GD_ATAPI is not set
971# CONFIG_BLK_DEV_IDECS is not set 984# CONFIG_BLK_DEV_IDECS is not set
972# CONFIG_BLK_DEV_DELKIN is not set 985# CONFIG_BLK_DEV_DELKIN is not set
973CONFIG_BLK_DEV_IDECD=m 986CONFIG_BLK_DEV_IDECD=m
974CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 987CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
975# CONFIG_BLK_DEV_IDETAPE is not set 988# CONFIG_BLK_DEV_IDETAPE is not set
976CONFIG_BLK_DEV_IDEFLOPPY=m
977# CONFIG_BLK_DEV_IDESCSI is not set 989# CONFIG_BLK_DEV_IDESCSI is not set
978CONFIG_IDE_TASK_IOCTL=y 990CONFIG_IDE_TASK_IOCTL=y
979CONFIG_IDE_PROC_FS=y 991CONFIG_IDE_PROC_FS=y
@@ -1201,6 +1213,7 @@ CONFIG_PATA_OF_PLATFORM=m
1201CONFIG_PATA_SCH=m 1213CONFIG_PATA_SCH=m
1202CONFIG_MD=y 1214CONFIG_MD=y
1203CONFIG_BLK_DEV_MD=y 1215CONFIG_BLK_DEV_MD=y
1216CONFIG_MD_AUTODETECT=y
1204CONFIG_MD_LINEAR=m 1217CONFIG_MD_LINEAR=m
1205CONFIG_MD_RAID0=m 1218CONFIG_MD_RAID0=m
1206CONFIG_MD_RAID1=m 1219CONFIG_MD_RAID1=m
@@ -1332,6 +1345,9 @@ CONFIG_NE2000=m
1332# CONFIG_IBM_NEW_EMAC_RGMII is not set 1345# CONFIG_IBM_NEW_EMAC_RGMII is not set
1333# CONFIG_IBM_NEW_EMAC_TAH is not set 1346# CONFIG_IBM_NEW_EMAC_TAH is not set
1334# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 1347# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
1348# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
1349# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
1350# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
1335CONFIG_NET_PCI=y 1351CONFIG_NET_PCI=y
1336CONFIG_PCNET32=m 1352CONFIG_PCNET32=m
1337CONFIG_AMD8111_ETH=m 1353CONFIG_AMD8111_ETH=m
@@ -1370,13 +1386,13 @@ CONFIG_DE600=m
1370CONFIG_DE620=m 1386CONFIG_DE620=m
1371CONFIG_FEC_MPC52xx=m 1387CONFIG_FEC_MPC52xx=m
1372CONFIG_FEC_MPC52xx_MDIO=y 1388CONFIG_FEC_MPC52xx_MDIO=y
1389# CONFIG_ATL2 is not set
1373# CONFIG_FS_ENET is not set 1390# CONFIG_FS_ENET is not set
1374CONFIG_NETDEV_1000=y 1391CONFIG_NETDEV_1000=y
1375CONFIG_ACENIC=m 1392CONFIG_ACENIC=m
1376# CONFIG_ACENIC_OMIT_TIGON_I is not set 1393# CONFIG_ACENIC_OMIT_TIGON_I is not set
1377CONFIG_DL2K=m 1394CONFIG_DL2K=m
1378CONFIG_E1000=m 1395CONFIG_E1000=m
1379# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
1380CONFIG_E1000E=m 1396CONFIG_E1000E=m
1381CONFIG_IP1000=m 1397CONFIG_IP1000=m
1382CONFIG_IGB=m 1398CONFIG_IGB=m
@@ -1400,19 +1416,23 @@ CONFIG_MV643XX_ETH=m
1400CONFIG_QLA3XXX=m 1416CONFIG_QLA3XXX=m
1401CONFIG_ATL1=m 1417CONFIG_ATL1=m
1402# CONFIG_ATL1E is not set 1418# CONFIG_ATL1E is not set
1419# CONFIG_JME is not set
1403CONFIG_NETDEV_10000=y 1420CONFIG_NETDEV_10000=y
1404CONFIG_CHELSIO_T1=m 1421CONFIG_CHELSIO_T1=m
1405CONFIG_CHELSIO_T1_1G=y 1422CONFIG_CHELSIO_T1_1G=y
1406CONFIG_CHELSIO_T3=m 1423CONFIG_CHELSIO_T3=m
1424# CONFIG_ENIC is not set
1407CONFIG_IXGBE=m 1425CONFIG_IXGBE=m
1408CONFIG_IXGB=m 1426CONFIG_IXGB=m
1409CONFIG_S2IO=m 1427CONFIG_S2IO=m
1410CONFIG_MYRI10GE=m 1428CONFIG_MYRI10GE=m
1411CONFIG_NETXEN_NIC=m 1429CONFIG_NETXEN_NIC=m
1412CONFIG_NIU=m 1430CONFIG_NIU=m
1431# CONFIG_MLX4_EN is not set
1413# CONFIG_MLX4_CORE is not set 1432# CONFIG_MLX4_CORE is not set
1414CONFIG_TEHUTI=m 1433CONFIG_TEHUTI=m
1415CONFIG_BNX2X=m 1434CONFIG_BNX2X=m
1435CONFIG_QLGE=m
1416CONFIG_SFC=m 1436CONFIG_SFC=m
1417# CONFIG_TR is not set 1437# CONFIG_TR is not set
1418 1438
@@ -1434,6 +1454,7 @@ CONFIG_USB_USBNET=m
1434CONFIG_USB_NET_AX8817X=m 1454CONFIG_USB_NET_AX8817X=m
1435CONFIG_USB_NET_CDCETHER=m 1455CONFIG_USB_NET_CDCETHER=m
1436CONFIG_USB_NET_DM9601=m 1456CONFIG_USB_NET_DM9601=m
1457CONFIG_USB_NET_SMSC95XX=m
1437CONFIG_USB_NET_GL620A=m 1458CONFIG_USB_NET_GL620A=m
1438CONFIG_USB_NET_NET1080=m 1459CONFIG_USB_NET_NET1080=m
1439CONFIG_USB_NET_PLUSB=m 1460CONFIG_USB_NET_PLUSB=m
@@ -1546,6 +1567,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
1546CONFIG_MOUSE_PS2_SYNAPTICS=y 1567CONFIG_MOUSE_PS2_SYNAPTICS=y
1547CONFIG_MOUSE_PS2_LIFEBOOK=y 1568CONFIG_MOUSE_PS2_LIFEBOOK=y
1548CONFIG_MOUSE_PS2_TRACKPOINT=y 1569CONFIG_MOUSE_PS2_TRACKPOINT=y
1570# CONFIG_MOUSE_PS2_ELANTECH is not set
1549# CONFIG_MOUSE_PS2_TOUCHKIT is not set 1571# CONFIG_MOUSE_PS2_TOUCHKIT is not set
1550CONFIG_MOUSE_SERIAL=m 1572CONFIG_MOUSE_SERIAL=m
1551CONFIG_MOUSE_APPLETOUCH=m 1573CONFIG_MOUSE_APPLETOUCH=m
@@ -1598,6 +1620,7 @@ CONFIG_INPUT_ATI_REMOTE2=m
1598CONFIG_INPUT_KEYSPAN_REMOTE=m 1620CONFIG_INPUT_KEYSPAN_REMOTE=m
1599CONFIG_INPUT_POWERMATE=m 1621CONFIG_INPUT_POWERMATE=m
1600CONFIG_INPUT_YEALINK=m 1622CONFIG_INPUT_YEALINK=m
1623CONFIG_INPUT_CM109=m
1601CONFIG_INPUT_UINPUT=m 1624CONFIG_INPUT_UINPUT=m
1602 1625
1603# 1626#
@@ -1787,6 +1810,7 @@ CONFIG_SENSORS_PCF8591=m
1787# CONFIG_TPS65010 is not set 1810# CONFIG_TPS65010 is not set
1788CONFIG_SENSORS_MAX6875=m 1811CONFIG_SENSORS_MAX6875=m
1789CONFIG_SENSORS_TSL2550=m 1812CONFIG_SENSORS_TSL2550=m
1813CONFIG_MCU_MPC8349EMITX=m
1790# CONFIG_I2C_DEBUG_CORE is not set 1814# CONFIG_I2C_DEBUG_CORE is not set
1791# CONFIG_I2C_DEBUG_ALGO is not set 1815# CONFIG_I2C_DEBUG_ALGO is not set
1792# CONFIG_I2C_DEBUG_BUS is not set 1816# CONFIG_I2C_DEBUG_BUS is not set
@@ -1837,6 +1861,7 @@ CONFIG_POWER_SUPPLY=m
1837CONFIG_APM_POWER=m 1861CONFIG_APM_POWER=m
1838# CONFIG_BATTERY_DS2760 is not set 1862# CONFIG_BATTERY_DS2760 is not set
1839CONFIG_BATTERY_PMU=m 1863CONFIG_BATTERY_PMU=m
1864# CONFIG_BATTERY_BQ27x00 is not set
1840CONFIG_HWMON=m 1865CONFIG_HWMON=m
1841CONFIG_HWMON_VID=m 1866CONFIG_HWMON_VID=m
1842# CONFIG_SENSORS_AD7414 is not set 1867# CONFIG_SENSORS_AD7414 is not set
@@ -1946,8 +1971,21 @@ CONFIG_SSB_DRIVER_PCICORE=y
1946# 1971#
1947# CONFIG_MFD_CORE is not set 1972# CONFIG_MFD_CORE is not set
1948CONFIG_MFD_SM501=m 1973CONFIG_MFD_SM501=m
1974CONFIG_MFD_SM501_GPIO=y
1949# CONFIG_HTC_PASIC3 is not set 1975# CONFIG_HTC_PASIC3 is not set
1976# CONFIG_UCB1400_CORE is not set
1950# CONFIG_MFD_TMIO is not set 1977# CONFIG_MFD_TMIO is not set
1978# CONFIG_PMIC_DA903X is not set
1979# CONFIG_MFD_WM8400 is not set
1980# CONFIG_MFD_WM8350_I2C is not set
1981
1982#
1983# Voltage and Current regulators
1984#
1985# CONFIG_REGULATOR is not set
1986# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1987# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1988# CONFIG_REGULATOR_BQ24022 is not set
1951 1989
1952# 1990#
1953# Multimedia devices 1991# Multimedia devices
@@ -1999,6 +2037,7 @@ CONFIG_VIDEO_TVEEPROM=m
1999CONFIG_VIDEO_TUNER=m 2037CONFIG_VIDEO_TUNER=m
2000CONFIG_VIDEO_CAPTURE_DRIVERS=y 2038CONFIG_VIDEO_CAPTURE_DRIVERS=y
2001# CONFIG_VIDEO_ADV_DEBUG is not set 2039# CONFIG_VIDEO_ADV_DEBUG is not set
2040# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
2002# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set 2041# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
2003CONFIG_VIDEO_IR_I2C=m 2042CONFIG_VIDEO_IR_I2C=m
2004 2043
@@ -2079,14 +2118,12 @@ CONFIG_VIDEO_CPIA_USB=m
2079CONFIG_VIDEO_CPIA2=m 2118CONFIG_VIDEO_CPIA2=m
2080CONFIG_VIDEO_SAA5246A=m 2119CONFIG_VIDEO_SAA5246A=m
2081CONFIG_VIDEO_SAA5249=m 2120CONFIG_VIDEO_SAA5249=m
2082CONFIG_TUNER_3036=m
2083# CONFIG_VIDEO_STRADIS is not set 2121# CONFIG_VIDEO_STRADIS is not set
2084# CONFIG_VIDEO_ZORAN is not set 2122# CONFIG_VIDEO_ZORAN is not set
2085CONFIG_VIDEO_SAA7134=m 2123CONFIG_VIDEO_SAA7134=m
2086CONFIG_VIDEO_SAA7134_ALSA=m 2124CONFIG_VIDEO_SAA7134_ALSA=m
2087CONFIG_VIDEO_SAA7134_DVB=m 2125CONFIG_VIDEO_SAA7134_DVB=m
2088CONFIG_VIDEO_MXB=m 2126CONFIG_VIDEO_MXB=m
2089CONFIG_VIDEO_DPC=m
2090CONFIG_VIDEO_HEXIUM_ORION=m 2127CONFIG_VIDEO_HEXIUM_ORION=m
2091CONFIG_VIDEO_HEXIUM_GEMINI=m 2128CONFIG_VIDEO_HEXIUM_GEMINI=m
2092CONFIG_VIDEO_CX88=m 2129CONFIG_VIDEO_CX88=m
@@ -2100,10 +2137,40 @@ CONFIG_VIDEO_IVTV=m
2100CONFIG_VIDEO_FB_IVTV=m 2137CONFIG_VIDEO_FB_IVTV=m
2101CONFIG_VIDEO_CX18=m 2138CONFIG_VIDEO_CX18=m
2102# CONFIG_VIDEO_CAFE_CCIC is not set 2139# CONFIG_VIDEO_CAFE_CCIC is not set
2140CONFIG_SOC_CAMERA=m
2141CONFIG_SOC_CAMERA_MT9M001=m
2142# CONFIG_MT9M001_PCA9536_SWITCH is not set
2143# CONFIG_SOC_CAMERA_MT9M111 is not set
2144CONFIG_SOC_CAMERA_MT9V022=m
2145# CONFIG_MT9V022_PCA9536_SWITCH is not set
2146# CONFIG_SOC_CAMERA_PLATFORM is not set
2147# CONFIG_VIDEO_SH_MOBILE_CEU is not set
2103CONFIG_V4L_USB_DRIVERS=y 2148CONFIG_V4L_USB_DRIVERS=y
2104CONFIG_USB_VIDEO_CLASS=m 2149CONFIG_USB_VIDEO_CLASS=m
2105CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y 2150CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
2106CONFIG_USB_GSPCA=m 2151CONFIG_USB_GSPCA=m
2152# CONFIG_USB_M5602 is not set
2153# CONFIG_USB_GSPCA_CONEX is not set
2154# CONFIG_USB_GSPCA_ETOMS is not set
2155# CONFIG_USB_GSPCA_FINEPIX is not set
2156# CONFIG_USB_GSPCA_MARS is not set
2157# CONFIG_USB_GSPCA_OV519 is not set
2158# CONFIG_USB_GSPCA_PAC207 is not set
2159# CONFIG_USB_GSPCA_PAC7311 is not set
2160# CONFIG_USB_GSPCA_SONIXB is not set
2161# CONFIG_USB_GSPCA_SONIXJ is not set
2162# CONFIG_USB_GSPCA_SPCA500 is not set
2163# CONFIG_USB_GSPCA_SPCA501 is not set
2164# CONFIG_USB_GSPCA_SPCA505 is not set
2165# CONFIG_USB_GSPCA_SPCA506 is not set
2166# CONFIG_USB_GSPCA_SPCA508 is not set
2167# CONFIG_USB_GSPCA_SPCA561 is not set
2168# CONFIG_USB_GSPCA_STK014 is not set
2169# CONFIG_USB_GSPCA_SUNPLUS is not set
2170# CONFIG_USB_GSPCA_T613 is not set
2171# CONFIG_USB_GSPCA_TV8532 is not set
2172# CONFIG_USB_GSPCA_VC032X is not set
2173# CONFIG_USB_GSPCA_ZC3XX is not set
2107CONFIG_VIDEO_PVRUSB2=m 2174CONFIG_VIDEO_PVRUSB2=m
2108CONFIG_VIDEO_PVRUSB2_SYSFS=y 2175CONFIG_VIDEO_PVRUSB2_SYSFS=y
2109CONFIG_VIDEO_PVRUSB2_DVB=y 2176CONFIG_VIDEO_PVRUSB2_DVB=y
@@ -2130,13 +2197,6 @@ CONFIG_USB_PWC=m
2130CONFIG_USB_ZR364XX=m 2197CONFIG_USB_ZR364XX=m
2131CONFIG_USB_STKWEBCAM=m 2198CONFIG_USB_STKWEBCAM=m
2132# CONFIG_USB_S2255 is not set 2199# CONFIG_USB_S2255 is not set
2133CONFIG_SOC_CAMERA=m
2134CONFIG_SOC_CAMERA_MT9M001=m
2135# CONFIG_MT9M001_PCA9536_SWITCH is not set
2136CONFIG_SOC_CAMERA_MT9V022=m
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
2140CONFIG_RADIO_ADAPTERS=y 2200CONFIG_RADIO_ADAPTERS=y
2141# CONFIG_RADIO_CADET is not set 2201# CONFIG_RADIO_CADET is not set
2142# CONFIG_RADIO_RTRACK is not set 2202# CONFIG_RADIO_RTRACK is not set
@@ -2154,6 +2214,7 @@ CONFIG_RADIO_MAESTRO=m
2154# CONFIG_RADIO_ZOLTRIX is not set 2214# CONFIG_RADIO_ZOLTRIX is not set
2155CONFIG_USB_DSBR=m 2215CONFIG_USB_DSBR=m
2156CONFIG_USB_SI470X=m 2216CONFIG_USB_SI470X=m
2217CONFIG_USB_MR800=m
2157CONFIG_DVB_CAPTURE_DRIVERS=y 2218CONFIG_DVB_CAPTURE_DRIVERS=y
2158 2219
2159# 2220#
@@ -2194,16 +2255,12 @@ CONFIG_DVB_USB_OPERA1=m
2194CONFIG_DVB_USB_AF9005=m 2255CONFIG_DVB_USB_AF9005=m
2195CONFIG_DVB_USB_AF9005_REMOTE=m 2256CONFIG_DVB_USB_AF9005_REMOTE=m
2196# CONFIG_DVB_USB_DW2102 is not set 2257# CONFIG_DVB_USB_DW2102 is not set
2258# CONFIG_DVB_USB_CINERGY_T2 is not set
2197# CONFIG_DVB_USB_ANYSEE is not set 2259# CONFIG_DVB_USB_ANYSEE is not set
2260# CONFIG_DVB_USB_DTV5100 is not set
2261# CONFIG_DVB_USB_AF9015 is not set
2198CONFIG_DVB_TTUSB_BUDGET=m 2262CONFIG_DVB_TTUSB_BUDGET=m
2199CONFIG_DVB_TTUSB_DEC=m 2263CONFIG_DVB_TTUSB_DEC=m
2200CONFIG_DVB_CINERGYT2=m
2201CONFIG_DVB_CINERGYT2_TUNING=y
2202CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32
2203CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512
2204CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250
2205CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y
2206CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100
2207# CONFIG_DVB_SIANO_SMS1XXX is not set 2264# CONFIG_DVB_SIANO_SMS1XXX is not set
2208 2265
2209# 2266#
@@ -2225,6 +2282,11 @@ CONFIG_DVB_BT8XX=m
2225CONFIG_DVB_PLUTO2=m 2282CONFIG_DVB_PLUTO2=m
2226 2283
2227# 2284#
2285# Supported SDMC DM1105 Adapters
2286#
2287CONFIG_DVB_DM1105=m
2288
2289#
2228# Supported DVB Frontends 2290# Supported DVB Frontends
2229# 2291#
2230 2292
@@ -2240,6 +2302,8 @@ CONFIG_DVB_CX24110=m
2240CONFIG_DVB_CX24123=m 2302CONFIG_DVB_CX24123=m
2241CONFIG_DVB_MT312=m 2303CONFIG_DVB_MT312=m
2242CONFIG_DVB_S5H1420=m 2304CONFIG_DVB_S5H1420=m
2305CONFIG_DVB_STV0288=m
2306CONFIG_DVB_STB6000=m
2243CONFIG_DVB_STV0299=m 2307CONFIG_DVB_STV0299=m
2244CONFIG_DVB_TDA8083=m 2308CONFIG_DVB_TDA8083=m
2245CONFIG_DVB_TDA10086=m 2309CONFIG_DVB_TDA10086=m
@@ -2247,6 +2311,8 @@ CONFIG_DVB_VES1X93=m
2247CONFIG_DVB_TUNER_ITD1000=m 2311CONFIG_DVB_TUNER_ITD1000=m
2248CONFIG_DVB_TDA826X=m 2312CONFIG_DVB_TDA826X=m
2249CONFIG_DVB_TUA6100=m 2313CONFIG_DVB_TUA6100=m
2314CONFIG_DVB_CX24116=m
2315CONFIG_DVB_SI21XX=m
2250 2316
2251# 2317#
2252# DVB-T (terrestrial) frontends 2318# DVB-T (terrestrial) frontends
@@ -2299,6 +2365,13 @@ CONFIG_DVB_TUNER_DIB0070=m
2299CONFIG_DVB_LNBP21=m 2365CONFIG_DVB_LNBP21=m
2300CONFIG_DVB_ISL6405=m 2366CONFIG_DVB_ISL6405=m
2301CONFIG_DVB_ISL6421=m 2367CONFIG_DVB_ISL6421=m
2368CONFIG_DVB_LGS8GL5=m
2369
2370#
2371# Tools to develop new frontends
2372#
2373# CONFIG_DVB_DUMMY_FE is not set
2374# CONFIG_DVB_AF9013 is not set
2302CONFIG_DAB=y 2375CONFIG_DAB=y
2303CONFIG_USB_DABUSB=m 2376CONFIG_USB_DABUSB=m
2304 2377
@@ -2320,6 +2393,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
2320CONFIG_FB=y 2393CONFIG_FB=y
2321# CONFIG_FIRMWARE_EDID is not set 2394# CONFIG_FIRMWARE_EDID is not set
2322CONFIG_FB_DDC=y 2395CONFIG_FB_DDC=y
2396# CONFIG_FB_BOOT_VESA_SUPPORT is not set
2323CONFIG_FB_CFB_FILLRECT=y 2397CONFIG_FB_CFB_FILLRECT=y
2324CONFIG_FB_CFB_COPYAREA=y 2398CONFIG_FB_CFB_COPYAREA=y
2325CONFIG_FB_CFB_IMAGEBLIT=y 2399CONFIG_FB_CFB_IMAGEBLIT=y
@@ -2382,6 +2456,7 @@ CONFIG_FB_SAVAGE=m
2382CONFIG_FB_SAVAGE_I2C=y 2456CONFIG_FB_SAVAGE_I2C=y
2383CONFIG_FB_SAVAGE_ACCEL=y 2457CONFIG_FB_SAVAGE_ACCEL=y
2384# CONFIG_FB_SIS is not set 2458# CONFIG_FB_SIS is not set
2459# CONFIG_FB_VIA is not set
2385CONFIG_FB_NEOMAGIC=m 2460CONFIG_FB_NEOMAGIC=m
2386CONFIG_FB_KYRO=m 2461CONFIG_FB_KYRO=m
2387CONFIG_FB_3DFX=m 2462CONFIG_FB_3DFX=m
@@ -2397,6 +2472,7 @@ CONFIG_FB_TRIDENT_ACCEL=y
2397CONFIG_FB_SM501=m 2472CONFIG_FB_SM501=m
2398CONFIG_FB_IBM_GXT4500=y 2473CONFIG_FB_IBM_GXT4500=y
2399# CONFIG_FB_VIRTUAL is not set 2474# CONFIG_FB_VIRTUAL is not set
2475# CONFIG_FB_METRONOME is not set
2400CONFIG_BACKLIGHT_LCD_SUPPORT=y 2476CONFIG_BACKLIGHT_LCD_SUPPORT=y
2401CONFIG_LCD_CLASS_DEVICE=m 2477CONFIG_LCD_CLASS_DEVICE=m
2402# CONFIG_LCD_ILI9320 is not set 2478# CONFIG_LCD_ILI9320 is not set
@@ -2432,6 +2508,7 @@ CONFIG_LOGO=y
2432# CONFIG_LOGO_LINUX_VGA16 is not set 2508# CONFIG_LOGO_LINUX_VGA16 is not set
2433CONFIG_LOGO_LINUX_CLUT224=y 2509CONFIG_LOGO_LINUX_CLUT224=y
2434CONFIG_SOUND=m 2510CONFIG_SOUND=m
2511CONFIG_SOUND_OSS_CORE=y
2435CONFIG_SND=m 2512CONFIG_SND=m
2436CONFIG_SND_TIMER=m 2513CONFIG_SND_TIMER=m
2437CONFIG_SND_PCM=m 2514CONFIG_SND_PCM=m
@@ -2594,15 +2671,36 @@ CONFIG_HIDRAW=y
2594# USB Input Devices 2671# USB Input Devices
2595# 2672#
2596CONFIG_USB_HID=y 2673CONFIG_USB_HID=y
2597CONFIG_USB_HIDINPUT_POWERBOOK=y
2598CONFIG_HID_FF=y
2599CONFIG_HID_PID=y 2674CONFIG_HID_PID=y
2675CONFIG_USB_HIDDEV=y
2676
2677#
2678# Special HID drivers
2679#
2680CONFIG_HID_COMPAT=y
2681CONFIG_HID_A4TECH=y
2682CONFIG_HID_APPLE=y
2683CONFIG_HID_BELKIN=y
2684CONFIG_HID_BRIGHT=y
2685CONFIG_HID_CHERRY=y
2686CONFIG_HID_CHICONY=y
2687CONFIG_HID_CYPRESS=y
2688CONFIG_HID_DELL=y
2689CONFIG_HID_EZKEY=y
2690CONFIG_HID_GYRATION=y
2691CONFIG_HID_LOGITECH=y
2600CONFIG_LOGITECH_FF=y 2692CONFIG_LOGITECH_FF=y
2601CONFIG_LOGIRUMBLEPAD2_FF=y 2693CONFIG_LOGIRUMBLEPAD2_FF=y
2694CONFIG_HID_MICROSOFT=y
2695CONFIG_HID_MONTEREY=y
2696CONFIG_HID_PANTHERLORD=y
2602CONFIG_PANTHERLORD_FF=y 2697CONFIG_PANTHERLORD_FF=y
2698CONFIG_HID_PETALYNX=y
2699CONFIG_HID_SAMSUNG=y
2700CONFIG_HID_SONY=y
2701CONFIG_HID_SUNPLUS=y
2603CONFIG_THRUSTMASTER_FF=y 2702CONFIG_THRUSTMASTER_FF=y
2604CONFIG_ZEROPLUS_FF=y 2703CONFIG_ZEROPLUS_FF=y
2605CONFIG_USB_HIDDEV=y
2606CONFIG_USB_SUPPORT=y 2704CONFIG_USB_SUPPORT=y
2607CONFIG_USB_ARCH_HAS_HCD=y 2705CONFIG_USB_ARCH_HAS_HCD=y
2608CONFIG_USB_ARCH_HAS_OHCI=y 2706CONFIG_USB_ARCH_HAS_OHCI=y
@@ -2620,6 +2718,8 @@ CONFIG_USB_DEVICEFS=y
2620CONFIG_USB_SUSPEND=y 2718CONFIG_USB_SUSPEND=y
2621# CONFIG_USB_OTG is not set 2719# CONFIG_USB_OTG is not set
2622CONFIG_USB_MON=y 2720CONFIG_USB_MON=y
2721# CONFIG_USB_WUSB is not set
2722# CONFIG_USB_WUSB_CBAF is not set
2623 2723
2624# 2724#
2625# USB Host Controller Drivers 2725# USB Host Controller Drivers
@@ -2647,6 +2747,8 @@ CONFIG_USB_U132_HCD=m
2647CONFIG_USB_SL811_HCD=m 2747CONFIG_USB_SL811_HCD=m
2648# CONFIG_USB_SL811_CS is not set 2748# CONFIG_USB_SL811_CS is not set
2649# CONFIG_USB_R8A66597_HCD is not set 2749# CONFIG_USB_R8A66597_HCD is not set
2750# CONFIG_USB_WHCI_HCD is not set
2751# CONFIG_USB_HWA_HCD is not set
2650# CONFIG_USB_MUSB_HDRC is not set 2752# CONFIG_USB_MUSB_HDRC is not set
2651 2753
2652# 2754#
@@ -2655,6 +2757,7 @@ CONFIG_USB_SL811_HCD=m
2655CONFIG_USB_ACM=m 2757CONFIG_USB_ACM=m
2656CONFIG_USB_PRINTER=m 2758CONFIG_USB_PRINTER=m
2657CONFIG_USB_WDM=m 2759CONFIG_USB_WDM=m
2760# CONFIG_USB_TMC is not set
2658 2761
2659# 2762#
2660# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 2763# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -2676,7 +2779,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
2676CONFIG_USB_STORAGE_ALAUDA=y 2779CONFIG_USB_STORAGE_ALAUDA=y
2677CONFIG_USB_STORAGE_ONETOUCH=y 2780CONFIG_USB_STORAGE_ONETOUCH=y
2678CONFIG_USB_STORAGE_KARMA=y 2781CONFIG_USB_STORAGE_KARMA=y
2679# CONFIG_USB_STORAGE_SIERRA is not set
2680CONFIG_USB_STORAGE_CYPRESS_ATACB=y 2782CONFIG_USB_STORAGE_CYPRESS_ATACB=y
2681# CONFIG_USB_LIBUSUAL is not set 2783# CONFIG_USB_LIBUSUAL is not set
2682 2784
@@ -2741,6 +2843,7 @@ CONFIG_USB_SERIAL_DEBUG=m
2741CONFIG_USB_EMI62=m 2843CONFIG_USB_EMI62=m
2742CONFIG_USB_EMI26=m 2844CONFIG_USB_EMI26=m
2743CONFIG_USB_ADUTUX=m 2845CONFIG_USB_ADUTUX=m
2846CONFIG_USB_SEVSEG=m
2744# CONFIG_USB_RIO500 is not set 2847# CONFIG_USB_RIO500 is not set
2745CONFIG_USB_LEGOTOWER=m 2848CONFIG_USB_LEGOTOWER=m
2746CONFIG_USB_LCD=m 2849CONFIG_USB_LCD=m
@@ -2762,12 +2865,14 @@ CONFIG_USB_TRANCEVIBRATOR=m
2762CONFIG_USB_IOWARRIOR=m 2865CONFIG_USB_IOWARRIOR=m
2763# CONFIG_USB_TEST is not set 2866# CONFIG_USB_TEST is not set
2764CONFIG_USB_ISIGHTFW=m 2867CONFIG_USB_ISIGHTFW=m
2868CONFIG_USB_VST=m
2765CONFIG_USB_ATM=m 2869CONFIG_USB_ATM=m
2766CONFIG_USB_SPEEDTOUCH=m 2870CONFIG_USB_SPEEDTOUCH=m
2767CONFIG_USB_CXACRU=m 2871CONFIG_USB_CXACRU=m
2768CONFIG_USB_UEAGLEATM=m 2872CONFIG_USB_UEAGLEATM=m
2769CONFIG_USB_XUSBATM=m 2873CONFIG_USB_XUSBATM=m
2770# CONFIG_USB_GADGET is not set 2874# CONFIG_USB_GADGET is not set
2875# CONFIG_UWB is not set
2771# CONFIG_MMC is not set 2876# CONFIG_MMC is not set
2772# CONFIG_MEMSTICK is not set 2877# CONFIG_MEMSTICK is not set
2773CONFIG_NEW_LEDS=y 2878CONFIG_NEW_LEDS=y
@@ -2787,6 +2892,7 @@ CONFIG_LEDS_TRIGGERS=y
2787CONFIG_LEDS_TRIGGER_TIMER=m 2892CONFIG_LEDS_TRIGGER_TIMER=m
2788CONFIG_LEDS_TRIGGER_IDE_DISK=y 2893CONFIG_LEDS_TRIGGER_IDE_DISK=y
2789CONFIG_LEDS_TRIGGER_HEARTBEAT=m 2894CONFIG_LEDS_TRIGGER_HEARTBEAT=m
2895CONFIG_LEDS_TRIGGER_BACKLIGHT=m
2790CONFIG_LEDS_TRIGGER_DEFAULT_ON=m 2896CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
2791CONFIG_ACCESSIBILITY=y 2897CONFIG_ACCESSIBILITY=y
2792CONFIG_A11Y_BRAILLE_CONSOLE=y 2898CONFIG_A11Y_BRAILLE_CONSOLE=y
@@ -2837,12 +2943,15 @@ CONFIG_RTC_DRV_FM3130=m
2837# Platform RTC drivers 2943# Platform RTC drivers
2838# 2944#
2839CONFIG_RTC_DRV_CMOS=y 2945CONFIG_RTC_DRV_CMOS=y
2946# CONFIG_RTC_DRV_DS1286 is not set
2840CONFIG_RTC_DRV_DS1511=m 2947CONFIG_RTC_DRV_DS1511=m
2841CONFIG_RTC_DRV_DS1553=m 2948CONFIG_RTC_DRV_DS1553=m
2842CONFIG_RTC_DRV_DS1742=m 2949CONFIG_RTC_DRV_DS1742=m
2843CONFIG_RTC_DRV_STK17TA8=m 2950CONFIG_RTC_DRV_STK17TA8=m
2844# CONFIG_RTC_DRV_M48T86 is not set 2951# CONFIG_RTC_DRV_M48T86 is not set
2952CONFIG_RTC_DRV_M48T35=m
2845CONFIG_RTC_DRV_M48T59=m 2953CONFIG_RTC_DRV_M48T59=m
2954# CONFIG_RTC_DRV_BQ4802 is not set
2846CONFIG_RTC_DRV_V3020=m 2955CONFIG_RTC_DRV_V3020=m
2847 2956
2848# 2957#
@@ -2862,7 +2971,10 @@ CONFIG_KS0108_DELAY=2
2862CONFIG_UIO=m 2971CONFIG_UIO=m
2863CONFIG_UIO_CIF=m 2972CONFIG_UIO_CIF=m
2864CONFIG_UIO_PDRV=m 2973CONFIG_UIO_PDRV=m
2974CONFIG_UIO_PDRV_GENIRQ=m
2865CONFIG_UIO_SMX=m 2975CONFIG_UIO_SMX=m
2976# CONFIG_UIO_SERCOS3 is not set
2977# CONFIG_STAGING is not set
2866 2978
2867# 2979#
2868# File systems 2980# File systems
@@ -2872,20 +2984,21 @@ CONFIG_EXT2_FS_XATTR=y
2872CONFIG_EXT2_FS_POSIX_ACL=y 2984CONFIG_EXT2_FS_POSIX_ACL=y
2873CONFIG_EXT2_FS_SECURITY=y 2985CONFIG_EXT2_FS_SECURITY=y
2874CONFIG_EXT2_FS_XIP=y 2986CONFIG_EXT2_FS_XIP=y
2875CONFIG_FS_XIP=y
2876CONFIG_EXT3_FS=m 2987CONFIG_EXT3_FS=m
2877CONFIG_EXT3_FS_XATTR=y 2988CONFIG_EXT3_FS_XATTR=y
2878CONFIG_EXT3_FS_POSIX_ACL=y 2989CONFIG_EXT3_FS_POSIX_ACL=y
2879CONFIG_EXT3_FS_SECURITY=y 2990CONFIG_EXT3_FS_SECURITY=y
2880CONFIG_EXT4DEV_FS=m 2991CONFIG_EXT4_FS=y
2881CONFIG_EXT4DEV_FS_XATTR=y 2992# CONFIG_EXT4DEV_COMPAT is not set
2882CONFIG_EXT4DEV_FS_POSIX_ACL=y 2993CONFIG_EXT4_FS_XATTR=y
2883CONFIG_EXT4DEV_FS_SECURITY=y 2994# CONFIG_EXT4_FS_POSIX_ACL is not set
2995# CONFIG_EXT4_FS_SECURITY is not set
2996CONFIG_FS_XIP=y
2884CONFIG_JBD=m 2997CONFIG_JBD=m
2885# CONFIG_JBD_DEBUG is not set 2998# CONFIG_JBD_DEBUG is not set
2886CONFIG_JBD2=m 2999CONFIG_JBD2=y
2887CONFIG_JBD2_DEBUG=y 3000CONFIG_JBD2_DEBUG=y
2888CONFIG_FS_MBCACHE=m 3001CONFIG_FS_MBCACHE=y
2889CONFIG_REISERFS_FS=m 3002CONFIG_REISERFS_FS=m
2890# CONFIG_REISERFS_CHECK is not set 3003# CONFIG_REISERFS_CHECK is not set
2891CONFIG_REISERFS_PROC_INFO=y 3004CONFIG_REISERFS_PROC_INFO=y
@@ -2898,6 +3011,7 @@ CONFIG_JFS_SECURITY=y
2898# CONFIG_JFS_DEBUG is not set 3011# CONFIG_JFS_DEBUG is not set
2899# CONFIG_JFS_STATISTICS is not set 3012# CONFIG_JFS_STATISTICS is not set
2900CONFIG_FS_POSIX_ACL=y 3013CONFIG_FS_POSIX_ACL=y
3014CONFIG_FILE_LOCKING=y
2901CONFIG_XFS_FS=m 3015CONFIG_XFS_FS=m
2902CONFIG_XFS_QUOTA=y 3016CONFIG_XFS_QUOTA=y
2903CONFIG_XFS_POSIX_ACL=y 3017CONFIG_XFS_POSIX_ACL=y
@@ -2911,6 +3025,7 @@ CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
2911CONFIG_OCFS2_FS_STATS=y 3025CONFIG_OCFS2_FS_STATS=y
2912# CONFIG_OCFS2_DEBUG_MASKLOG is not set 3026# CONFIG_OCFS2_DEBUG_MASKLOG is not set
2913# CONFIG_OCFS2_DEBUG_FS is not set 3027# CONFIG_OCFS2_DEBUG_FS is not set
3028# CONFIG_OCFS2_COMPAT_JBD is not set
2914CONFIG_DNOTIFY=y 3029CONFIG_DNOTIFY=y
2915CONFIG_INOTIFY=y 3030CONFIG_INOTIFY=y
2916CONFIG_INOTIFY_USER=y 3031CONFIG_INOTIFY_USER=y
@@ -2950,6 +3065,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
2950CONFIG_PROC_FS=y 3065CONFIG_PROC_FS=y
2951CONFIG_PROC_KCORE=y 3066CONFIG_PROC_KCORE=y
2952CONFIG_PROC_SYSCTL=y 3067CONFIG_PROC_SYSCTL=y
3068CONFIG_PROC_PAGE_MONITOR=y
2953CONFIG_SYSFS=y 3069CONFIG_SYSFS=y
2954CONFIG_TMPFS=y 3070CONFIG_TMPFS=y
2955CONFIG_TMPFS_POSIX_ACL=y 3071CONFIG_TMPFS_POSIX_ACL=y
@@ -2996,17 +3112,18 @@ CONFIG_NFS_ACL_SUPPORT=m
2996CONFIG_NFS_COMMON=y 3112CONFIG_NFS_COMMON=y
2997CONFIG_SUNRPC=m 3113CONFIG_SUNRPC=m
2998CONFIG_SUNRPC_GSS=m 3114CONFIG_SUNRPC_GSS=m
3115# CONFIG_SUNRPC_REGISTER_V4 is not set
2999CONFIG_RPCSEC_GSS_KRB5=m 3116CONFIG_RPCSEC_GSS_KRB5=m
3000CONFIG_RPCSEC_GSS_SPKM3=m 3117CONFIG_RPCSEC_GSS_SPKM3=m
3001# CONFIG_SMB_FS is not set 3118# CONFIG_SMB_FS is not set
3002CONFIG_CIFS=m 3119CONFIG_CIFS=m
3003# CONFIG_CIFS_STATS is not set 3120# CONFIG_CIFS_STATS is not set
3004CONFIG_CIFS_WEAK_PW_HASH=y 3121CONFIG_CIFS_WEAK_PW_HASH=y
3122CONFIG_CIFS_UPCALL=y
3005CONFIG_CIFS_XATTR=y 3123CONFIG_CIFS_XATTR=y
3006CONFIG_CIFS_POSIX=y 3124CONFIG_CIFS_POSIX=y
3007# CONFIG_CIFS_DEBUG2 is not set 3125# CONFIG_CIFS_DEBUG2 is not set
3008CONFIG_CIFS_EXPERIMENTAL=y 3126CONFIG_CIFS_EXPERIMENTAL=y
3009CONFIG_CIFS_UPCALL=y
3010CONFIG_CIFS_DFS_UPCALL=y 3127CONFIG_CIFS_DFS_UPCALL=y
3011CONFIG_NCP_FS=m 3128CONFIG_NCP_FS=m
3012CONFIG_NCPFS_PACKET_SIGNING=y 3129CONFIG_NCPFS_PACKET_SIGNING=y
@@ -3084,15 +3201,13 @@ CONFIG_NLS_KOI8_U=m
3084CONFIG_NLS_UTF8=m 3201CONFIG_NLS_UTF8=m
3085CONFIG_DLM=m 3202CONFIG_DLM=m
3086CONFIG_DLM_DEBUG=y 3203CONFIG_DLM_DEBUG=y
3087CONFIG_QE_GPIO=y
3088 3204
3089# 3205#
3090# Library routines 3206# Library routines
3091# 3207#
3092CONFIG_BITREVERSE=y 3208CONFIG_BITREVERSE=y
3093# CONFIG_GENERIC_FIND_FIRST_BIT is not set
3094CONFIG_CRC_CCITT=m 3209CONFIG_CRC_CCITT=m
3095CONFIG_CRC16=m 3210CONFIG_CRC16=y
3096CONFIG_CRC_T10DIF=y 3211CONFIG_CRC_T10DIF=y
3097CONFIG_CRC_ITU_T=m 3212CONFIG_CRC_ITU_T=m
3098CONFIG_CRC32=y 3213CONFIG_CRC32=y
@@ -3157,28 +3272,38 @@ CONFIG_DEBUG_SG=y
3157CONFIG_FRAME_POINTER=y 3272CONFIG_FRAME_POINTER=y
3158CONFIG_BOOT_PRINTK_DELAY=y 3273CONFIG_BOOT_PRINTK_DELAY=y
3159# CONFIG_RCU_TORTURE_TEST is not set 3274# CONFIG_RCU_TORTURE_TEST is not set
3275# CONFIG_RCU_CPU_STALL_DETECTOR is not set
3160# CONFIG_KPROBES_SANITY_TEST is not set 3276# CONFIG_KPROBES_SANITY_TEST is not set
3161# CONFIG_BACKTRACE_SELF_TEST is not set 3277# CONFIG_BACKTRACE_SELF_TEST is not set
3278# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
3162# CONFIG_LKDTM is not set 3279# CONFIG_LKDTM is not set
3163CONFIG_FAULT_INJECTION=y 3280CONFIG_FAULT_INJECTION=y
3164CONFIG_FAILSLAB=y 3281CONFIG_FAILSLAB=y
3165CONFIG_FAIL_PAGE_ALLOC=y 3282CONFIG_FAIL_PAGE_ALLOC=y
3166CONFIG_FAIL_MAKE_REQUEST=y 3283CONFIG_FAIL_MAKE_REQUEST=y
3284CONFIG_FAIL_IO_TIMEOUT=y
3167CONFIG_FAULT_INJECTION_DEBUG_FS=y 3285CONFIG_FAULT_INJECTION_DEBUG_FS=y
3168CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y 3286CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
3169CONFIG_LATENCYTOP=y 3287CONFIG_LATENCYTOP=y
3170CONFIG_SYSCTL_SYSCALL_CHECK=y 3288CONFIG_SYSCTL_SYSCALL_CHECK=y
3171CONFIG_HAVE_FTRACE=y 3289CONFIG_NOP_TRACER=y
3172CONFIG_HAVE_DYNAMIC_FTRACE=y 3290CONFIG_HAVE_FUNCTION_TRACER=y
3173CONFIG_TRACER_MAX_TRACE=y 3291CONFIG_TRACER_MAX_TRACE=y
3292CONFIG_RING_BUFFER=y
3174CONFIG_TRACING=y 3293CONFIG_TRACING=y
3175CONFIG_FTRACE=y 3294
3295#
3296# Tracers
3297#
3298CONFIG_FUNCTION_TRACER=y
3176CONFIG_SCHED_TRACER=y 3299CONFIG_SCHED_TRACER=y
3177CONFIG_CONTEXT_SWITCH_TRACER=y 3300CONFIG_CONTEXT_SWITCH_TRACER=y
3178CONFIG_DYNAMIC_FTRACE=y 3301# CONFIG_BOOT_TRACER is not set
3302CONFIG_STACK_TRACER=y
3179# CONFIG_FTRACE_STARTUP_TEST is not set 3303# CONFIG_FTRACE_STARTUP_TEST is not set
3180# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set 3304# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
3181# CONFIG_BUILD_DOCSRC is not set 3305# CONFIG_BUILD_DOCSRC is not set
3306CONFIG_DYNAMIC_PRINTK_DEBUG=y
3182# CONFIG_SAMPLES is not set 3307# CONFIG_SAMPLES is not set
3183CONFIG_HAVE_ARCH_KGDB=y 3308CONFIG_HAVE_ARCH_KGDB=y
3184# CONFIG_KGDB is not set 3309# CONFIG_KGDB is not set
@@ -3186,6 +3311,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y
3186CONFIG_DEBUG_STACK_USAGE=y 3311CONFIG_DEBUG_STACK_USAGE=y
3187# CONFIG_CODE_PATCHING_SELFTEST is not set 3312# CONFIG_CODE_PATCHING_SELFTEST is not set
3188# CONFIG_FTR_FIXUP_SELFTEST is not set 3313# CONFIG_FTR_FIXUP_SELFTEST is not set
3314# CONFIG_MSI_BITMAP_SELFTEST is not set
3189CONFIG_XMON=y 3315CONFIG_XMON=y
3190# CONFIG_XMON_DEFAULT is not set 3316# CONFIG_XMON_DEFAULT is not set
3191CONFIG_XMON_DISASSEMBLY=y 3317CONFIG_XMON_DISASSEMBLY=y
@@ -3202,6 +3328,7 @@ CONFIG_BOOTX_TEXT=y
3202CONFIG_KEYS=y 3328CONFIG_KEYS=y
3203CONFIG_KEYS_DEBUG_PROC_KEYS=y 3329CONFIG_KEYS_DEBUG_PROC_KEYS=y
3204CONFIG_SECURITY=y 3330CONFIG_SECURITY=y
3331# CONFIG_SECURITYFS is not set
3205CONFIG_SECURITY_NETWORK=y 3332CONFIG_SECURITY_NETWORK=y
3206CONFIG_SECURITY_NETWORK_XFRM=y 3333CONFIG_SECURITY_NETWORK_XFRM=y
3207CONFIG_SECURITY_FILE_CAPABILITIES=y 3334CONFIG_SECURITY_FILE_CAPABILITIES=y
@@ -3226,10 +3353,12 @@ CONFIG_CRYPTO=y
3226# 3353#
3227# Crypto core or helper 3354# Crypto core or helper
3228# 3355#
3356# CONFIG_CRYPTO_FIPS is not set
3229CONFIG_CRYPTO_ALGAPI=y 3357CONFIG_CRYPTO_ALGAPI=y
3230CONFIG_CRYPTO_AEAD=m 3358CONFIG_CRYPTO_AEAD=y
3231CONFIG_CRYPTO_BLKCIPHER=m 3359CONFIG_CRYPTO_BLKCIPHER=y
3232CONFIG_CRYPTO_HASH=y 3360CONFIG_CRYPTO_HASH=y
3361CONFIG_CRYPTO_RNG=y
3233CONFIG_CRYPTO_MANAGER=y 3362CONFIG_CRYPTO_MANAGER=y
3234CONFIG_CRYPTO_GF128MUL=m 3363CONFIG_CRYPTO_GF128MUL=m
3235CONFIG_CRYPTO_NULL=m 3364CONFIG_CRYPTO_NULL=m
@@ -3303,6 +3432,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
3303# 3432#
3304CONFIG_CRYPTO_DEFLATE=m 3433CONFIG_CRYPTO_DEFLATE=m
3305CONFIG_CRYPTO_LZO=m 3434CONFIG_CRYPTO_LZO=m
3435
3436#
3437# Random Number Generation
3438#
3439# CONFIG_CRYPTO_ANSI_CPRNG is not set
3306CONFIG_CRYPTO_HW=y 3440CONFIG_CRYPTO_HW=y
3307CONFIG_CRYPTO_DEV_HIFN_795X=m 3441CONFIG_CRYPTO_DEV_HIFN_795X=m
3308CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y 3442CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 7e17862c38b8..228099d77c3b 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:13 2008 4# Sat Nov 8 12:39:47 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -48,13 +48,11 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
48CONFIG_ARCH_MAY_HAVE_PC_FDC=y 48CONFIG_ARCH_MAY_HAVE_PC_FDC=y
49CONFIG_PPC_OF=y 49CONFIG_PPC_OF=y
50CONFIG_OF=y 50CONFIG_OF=y
51CONFIG_PPC_UDBG_16550=y 51# CONFIG_PPC_UDBG_16550 is not set
52# CONFIG_GENERIC_TBSYNC is not set 52# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 53CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 54CONFIG_GENERIC_BUG=y
55CONFIG_DEFAULT_UIMAGE=y 55CONFIG_DEFAULT_UIMAGE=y
56CONFIG_HIBERNATE_32=y
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58# CONFIG_PPC_DCR_NATIVE is not set 56# CONFIG_PPC_DCR_NATIVE is not set
59# CONFIG_PPC_DCR_MMIO is not set 57# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 58CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -94,7 +92,6 @@ CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 92CONFIG_PRINTK=y
95CONFIG_BUG=y 93CONFIG_BUG=y
96CONFIG_ELF_CORE=y 94CONFIG_ELF_CORE=y
97CONFIG_PCSPKR_PLATFORM=y
98CONFIG_COMPAT_BRK=y 95CONFIG_COMPAT_BRK=y
99CONFIG_BASE_FULL=y 96CONFIG_BASE_FULL=y
100CONFIG_FUTEX=y 97CONFIG_FUTEX=y
@@ -104,7 +101,9 @@ CONFIG_SIGNALFD=y
104CONFIG_TIMERFD=y 101CONFIG_TIMERFD=y
105CONFIG_EVENTFD=y 102CONFIG_EVENTFD=y
106CONFIG_SHMEM=y 103CONFIG_SHMEM=y
104CONFIG_AIO=y
107CONFIG_VM_EVENT_COUNTERS=y 105CONFIG_VM_EVENT_COUNTERS=y
106CONFIG_PCI_QUIRKS=y
108CONFIG_SLUB_DEBUG=y 107CONFIG_SLUB_DEBUG=y
109# CONFIG_SLAB is not set 108# CONFIG_SLAB is not set
110CONFIG_SLUB=y 109CONFIG_SLUB=y
@@ -117,10 +116,7 @@ CONFIG_HAVE_IOREMAP_PROT=y
117CONFIG_HAVE_KPROBES=y 116CONFIG_HAVE_KPROBES=y
118CONFIG_HAVE_KRETPROBES=y 117CONFIG_HAVE_KRETPROBES=y
119CONFIG_HAVE_ARCH_TRACEHOOK=y 118CONFIG_HAVE_ARCH_TRACEHOOK=y
120# CONFIG_HAVE_DMA_ATTRS is not set
121# CONFIG_USE_GENERIC_SMP_HELPERS is not set
122CONFIG_HAVE_CLK=y 119CONFIG_HAVE_CLK=y
123CONFIG_PROC_PAGE_MONITOR=y
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 120# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 121CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
@@ -146,6 +142,7 @@ CONFIG_DEFAULT_AS=y
146# CONFIG_DEFAULT_NOOP is not set 142# CONFIG_DEFAULT_NOOP is not set
147CONFIG_DEFAULT_IOSCHED="anticipatory" 143CONFIG_DEFAULT_IOSCHED="anticipatory"
148CONFIG_CLASSIC_RCU=y 144CONFIG_CLASSIC_RCU=y
145# CONFIG_FREEZER is not set
149 146
150# 147#
151# Platform support 148# Platform support
@@ -153,39 +150,36 @@ CONFIG_CLASSIC_RCU=y
153CONFIG_PPC_MULTIPLATFORM=y 150CONFIG_PPC_MULTIPLATFORM=y
154CONFIG_CLASSIC32=y 151CONFIG_CLASSIC32=y
155# CONFIG_PPC_CHRP is not set 152# CONFIG_PPC_CHRP is not set
156# CONFIG_PPC_PMAC is not set
157# CONFIG_MPC5121_ADS is not set 153# CONFIG_MPC5121_ADS is not set
158# CONFIG_MPC5121_GENERIC is not set 154# CONFIG_MPC5121_GENERIC is not set
159# CONFIG_PPC_MPC52xx is not set 155# CONFIG_PPC_MPC52xx is not set
156# CONFIG_PPC_PMAC is not set
160# CONFIG_PPC_CELL is not set 157# CONFIG_PPC_CELL is not set
161# CONFIG_PPC_CELL_NATIVE is not set 158# CONFIG_PPC_CELL_NATIVE is not set
162CONFIG_PPC_82xx=y 159CONFIG_PPC_82xx=y
163# CONFIG_MPC8272_ADS is not set 160# CONFIG_MPC8272_ADS is not set
164CONFIG_PQ2FADS=y 161CONFIG_PQ2FADS=y
165# CONFIG_EP8248E is not set 162# CONFIG_EP8248E is not set
163# CONFIG_MGCOGE is not set
166CONFIG_PQ2ADS=y 164CONFIG_PQ2ADS=y
167CONFIG_8260=y 165CONFIG_8260=y
168CONFIG_PQ2_ADS_PCI_PIC=y 166CONFIG_PQ2_ADS_PCI_PIC=y
169# CONFIG_PPC_83xx is not set 167# CONFIG_PPC_83xx is not set
170# CONFIG_PPC_86xx is not set 168# CONFIG_PPC_86xx is not set
171# CONFIG_EMBEDDED6xx is not set 169# CONFIG_EMBEDDED6xx is not set
172CONFIG_PPC_NATIVE=y
173# CONFIG_UDBG_RTAS_CONSOLE is not set
174# CONFIG_IPIC is not set 170# CONFIG_IPIC is not set
175CONFIG_MPIC=y 171# CONFIG_MPIC is not set
176# CONFIG_MPIC_WEIRD is not set 172# CONFIG_MPIC_WEIRD is not set
177CONFIG_PPC_I8259=y 173# CONFIG_PPC_I8259 is not set
178CONFIG_PPC_RTAS=y 174# CONFIG_PPC_RTAS is not set
179# CONFIG_RTAS_ERROR_LOGGING is not set
180CONFIG_RTAS_PROC=y
181# CONFIG_MMIO_NVRAM is not set 175# CONFIG_MMIO_NVRAM is not set
182CONFIG_PPC_MPC106=y 176# CONFIG_PPC_MPC106 is not set
183# CONFIG_PPC_970_NAP is not set 177# CONFIG_PPC_970_NAP is not set
184# CONFIG_PPC_INDIRECT_IO is not set 178# CONFIG_PPC_INDIRECT_IO is not set
185# CONFIG_GENERIC_IOMAP is not set 179# CONFIG_GENERIC_IOMAP is not set
186# CONFIG_CPU_FREQ is not set 180# CONFIG_CPU_FREQ is not set
187# CONFIG_PPC601_SYNC_FIX is not set
188# CONFIG_TAU is not set 181# CONFIG_TAU is not set
182# CONFIG_QUICC_ENGINE is not set
189CONFIG_CPM2=y 183CONFIG_CPM2=y
190# CONFIG_FSL_ULI1575 is not set 184# CONFIG_FSL_ULI1575 is not set
191CONFIG_CPM=y 185CONFIG_CPM=y
@@ -208,6 +202,8 @@ CONFIG_PREEMPT_NONE=y
208# CONFIG_PREEMPT_VOLUNTARY is not set 202# CONFIG_PREEMPT_VOLUNTARY is not set
209# CONFIG_PREEMPT is not set 203# CONFIG_PREEMPT is not set
210CONFIG_BINFMT_ELF=y 204CONFIG_BINFMT_ELF=y
205# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
206# CONFIG_HAVE_AOUT is not set
211CONFIG_BINFMT_MISC=y 207CONFIG_BINFMT_MISC=y
212# CONFIG_IOMMU_HELPER is not set 208# CONFIG_IOMMU_HELPER is not set
213CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 209CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -217,15 +213,15 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
217CONFIG_ARCH_POPULATES_NODE_MAP=y 213CONFIG_ARCH_POPULATES_NODE_MAP=y
218CONFIG_FLATMEM=y 214CONFIG_FLATMEM=y
219CONFIG_FLAT_NODE_MEM_MAP=y 215CONFIG_FLAT_NODE_MEM_MAP=y
220# CONFIG_SPARSEMEM_STATIC is not set
221# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
222CONFIG_PAGEFLAGS_EXTENDED=y 216CONFIG_PAGEFLAGS_EXTENDED=y
223CONFIG_SPLIT_PTLOCK_CPUS=4 217CONFIG_SPLIT_PTLOCK_CPUS=4
224CONFIG_MIGRATION=y 218CONFIG_MIGRATION=y
225# CONFIG_RESOURCES_64BIT is not set 219# CONFIG_RESOURCES_64BIT is not set
220# CONFIG_PHYS_ADDR_T_64BIT is not set
226CONFIG_ZONE_DMA_FLAG=1 221CONFIG_ZONE_DMA_FLAG=1
227CONFIG_BOUNCE=y 222CONFIG_BOUNCE=y
228CONFIG_VIRT_TO_BUS=y 223CONFIG_VIRT_TO_BUS=y
224CONFIG_UNEVICTABLE_LRU=y
229CONFIG_FORCE_MAX_ZONEORDER=11 225CONFIG_FORCE_MAX_ZONEORDER=11
230CONFIG_PROC_DEVICETREE=y 226CONFIG_PROC_DEVICETREE=y
231# CONFIG_CMDLINE_BOOL is not set 227# CONFIG_CMDLINE_BOOL is not set
@@ -237,7 +233,6 @@ CONFIG_ISA_DMA_API=y
237# 233#
238# Bus options 234# Bus options
239# 235#
240# CONFIG_ISA is not set
241CONFIG_ZONE_DMA=y 236CONFIG_ZONE_DMA=y
242CONFIG_PPC_INDIRECT_PCI=y 237CONFIG_PPC_INDIRECT_PCI=y
243CONFIG_FSL_SOC=y 238CONFIG_FSL_SOC=y
@@ -250,7 +245,7 @@ CONFIG_PCI_8260=y
250# CONFIG_PCIEPORTBUS is not set 245# CONFIG_PCIEPORTBUS is not set
251CONFIG_ARCH_SUPPORTS_MSI=y 246CONFIG_ARCH_SUPPORTS_MSI=y
252# CONFIG_PCI_MSI is not set 247# CONFIG_PCI_MSI is not set
253CONFIG_PCI_LEGACY=y 248# CONFIG_PCI_LEGACY is not set
254# CONFIG_PCI_DEBUG is not set 249# CONFIG_PCI_DEBUG is not set
255# CONFIG_PCCARD is not set 250# CONFIG_PCCARD is not set
256# CONFIG_HOTPLUG_PCI is not set 251# CONFIG_HOTPLUG_PCI is not set
@@ -306,7 +301,6 @@ CONFIG_INET_TCP_DIAG=y
306# CONFIG_TCP_CONG_ADVANCED is not set 301# CONFIG_TCP_CONG_ADVANCED is not set
307CONFIG_TCP_CONG_CUBIC=y 302CONFIG_TCP_CONG_CUBIC=y
308CONFIG_DEFAULT_TCP_CONG="cubic" 303CONFIG_DEFAULT_TCP_CONG="cubic"
309# CONFIG_IP_VS is not set
310CONFIG_IPV6=y 304CONFIG_IPV6=y
311# CONFIG_IPV6_PRIVACY is not set 305# CONFIG_IPV6_PRIVACY is not set
312# CONFIG_IPV6_ROUTER_PREF is not set 306# CONFIG_IPV6_ROUTER_PREF is not set
@@ -333,10 +327,12 @@ CONFIG_NETFILTER_ADVANCED=y
333# CONFIG_NETFILTER_NETLINK_LOG is not set 327# CONFIG_NETFILTER_NETLINK_LOG is not set
334# CONFIG_NF_CONNTRACK is not set 328# CONFIG_NF_CONNTRACK is not set
335# CONFIG_NETFILTER_XTABLES is not set 329# CONFIG_NETFILTER_XTABLES is not set
330# CONFIG_IP_VS is not set
336 331
337# 332#
338# IP: Netfilter Configuration 333# IP: Netfilter Configuration
339# 334#
335# CONFIG_NF_DEFRAG_IPV4 is not set
340# CONFIG_IP_NF_QUEUE is not set 336# CONFIG_IP_NF_QUEUE is not set
341# CONFIG_IP_NF_IPTABLES is not set 337# CONFIG_IP_NF_IPTABLES is not set
342# CONFIG_IP_NF_ARPTABLES is not set 338# CONFIG_IP_NF_ARPTABLES is not set
@@ -363,11 +359,10 @@ CONFIG_NETFILTER_ADVANCED=y
363# CONFIG_CAN is not set 359# CONFIG_CAN is not set
364# CONFIG_IRDA is not set 360# CONFIG_IRDA is not set
365# CONFIG_BT is not set 361# CONFIG_BT is not set
366 362# CONFIG_PHONET is not set
367# 363CONFIG_WIRELESS=y
368# Wireless
369#
370# CONFIG_CFG80211 is not set 364# CONFIG_CFG80211 is not set
365CONFIG_WIRELESS_OLD_REGULATORY=y
371# CONFIG_WIRELESS_EXT is not set 366# CONFIG_WIRELESS_EXT is not set
372# CONFIG_MAC80211 is not set 367# CONFIG_MAC80211 is not set
373# CONFIG_IEEE80211 is not set 368# CONFIG_IEEE80211 is not set
@@ -473,7 +468,6 @@ CONFIG_OF_GPIO=y
473# CONFIG_PARPORT is not set 468# CONFIG_PARPORT is not set
474CONFIG_BLK_DEV=y 469CONFIG_BLK_DEV=y
475# CONFIG_BLK_DEV_FD is not set 470# CONFIG_BLK_DEV_FD is not set
476# CONFIG_MAC_FLOPPY is not set
477# CONFIG_BLK_CPQ_DA is not set 471# CONFIG_BLK_CPQ_DA is not set
478# CONFIG_BLK_CPQ_CISS_DA is not set 472# CONFIG_BLK_CPQ_CISS_DA is not set
479# CONFIG_BLK_DEV_DAC960 is not set 473# CONFIG_BLK_DEV_DAC960 is not set
@@ -494,17 +488,16 @@ CONFIG_MISC_DEVICES=y
494# CONFIG_HP_ILO is not set 488# CONFIG_HP_ILO is not set
495CONFIG_HAVE_IDE=y 489CONFIG_HAVE_IDE=y
496CONFIG_IDE=y 490CONFIG_IDE=y
497CONFIG_BLK_DEV_IDE=y
498 491
499# 492#
500# Please see Documentation/ide/ide.txt for help/info on IDE drives 493# Please see Documentation/ide/ide.txt for help/info on IDE drives
501# 494#
502# CONFIG_BLK_DEV_IDE_SATA is not set 495# CONFIG_BLK_DEV_IDE_SATA is not set
503CONFIG_BLK_DEV_IDEDISK=y 496CONFIG_IDE_GD=y
504# CONFIG_IDEDISK_MULTI_MODE is not set 497CONFIG_IDE_GD_ATA=y
498# CONFIG_IDE_GD_ATAPI is not set
505# CONFIG_BLK_DEV_IDECD is not set 499# CONFIG_BLK_DEV_IDECD is not set
506# CONFIG_BLK_DEV_IDETAPE is not set 500# CONFIG_BLK_DEV_IDETAPE is not set
507# CONFIG_BLK_DEV_IDEFLOPPY is not set
508# CONFIG_IDE_TASK_IOCTL is not set 501# CONFIG_IDE_TASK_IOCTL is not set
509CONFIG_IDE_PROC_FS=y 502CONFIG_IDE_PROC_FS=y
510 503
@@ -539,7 +532,6 @@ CONFIG_IDE_PROC_FS=y
539# CONFIG_BLK_DEV_TRM290 is not set 532# CONFIG_BLK_DEV_TRM290 is not set
540# CONFIG_BLK_DEV_VIA82CXXX is not set 533# CONFIG_BLK_DEV_VIA82CXXX is not set
541# CONFIG_BLK_DEV_TC86C001 is not set 534# CONFIG_BLK_DEV_TC86C001 is not set
542# CONFIG_BLK_DEV_IDE_PMAC is not set
543# CONFIG_BLK_DEV_IDEDMA is not set 535# CONFIG_BLK_DEV_IDEDMA is not set
544 536
545# 537#
@@ -590,8 +582,6 @@ CONFIG_MDIO_BITBANG=y
590# CONFIG_MDIO_OF_GPIO is not set 582# CONFIG_MDIO_OF_GPIO is not set
591CONFIG_NET_ETHERNET=y 583CONFIG_NET_ETHERNET=y
592CONFIG_MII=y 584CONFIG_MII=y
593# CONFIG_MACE is not set
594# CONFIG_BMAC is not set
595# CONFIG_HAPPYMEAL is not set 585# CONFIG_HAPPYMEAL is not set
596# CONFIG_SUNGEM is not set 586# CONFIG_SUNGEM is not set
597# CONFIG_CASSINI is not set 587# CONFIG_CASSINI is not set
@@ -602,8 +592,12 @@ CONFIG_MII=y
602# CONFIG_IBM_NEW_EMAC_RGMII is not set 592# CONFIG_IBM_NEW_EMAC_RGMII is not set
603# CONFIG_IBM_NEW_EMAC_TAH is not set 593# CONFIG_IBM_NEW_EMAC_TAH is not set
604# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 594# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
595# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
596# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
597# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
605# CONFIG_NET_PCI is not set 598# CONFIG_NET_PCI is not set
606# CONFIG_B44 is not set 599# CONFIG_B44 is not set
600# CONFIG_ATL2 is not set
607CONFIG_FS_ENET=y 601CONFIG_FS_ENET=y
608# CONFIG_FS_ENET_HAS_SCC is not set 602# CONFIG_FS_ENET_HAS_SCC is not set
609CONFIG_FS_ENET_HAS_FCC=y 603CONFIG_FS_ENET_HAS_FCC=y
@@ -626,18 +620,23 @@ CONFIG_NETDEV_1000=y
626# CONFIG_GIANFAR is not set 620# CONFIG_GIANFAR is not set
627# CONFIG_MV643XX_ETH is not set 621# CONFIG_MV643XX_ETH is not set
628# CONFIG_QLA3XXX is not set 622# CONFIG_QLA3XXX is not set
623# CONFIG_ATL1 is not set
624# CONFIG_JME is not set
629CONFIG_NETDEV_10000=y 625CONFIG_NETDEV_10000=y
630# CONFIG_CHELSIO_T1 is not set 626# CONFIG_CHELSIO_T1 is not set
631# CONFIG_CHELSIO_T3 is not set 627# CONFIG_CHELSIO_T3 is not set
628# CONFIG_ENIC is not set
632# CONFIG_IXGBE is not set 629# CONFIG_IXGBE is not set
633# CONFIG_IXGB is not set 630# CONFIG_IXGB is not set
634# CONFIG_S2IO is not set 631# CONFIG_S2IO is not set
635# CONFIG_MYRI10GE is not set 632# CONFIG_MYRI10GE is not set
636# CONFIG_NETXEN_NIC is not set 633# CONFIG_NETXEN_NIC is not set
637# CONFIG_NIU is not set 634# CONFIG_NIU is not set
635# CONFIG_MLX4_EN is not set
638# CONFIG_MLX4_CORE is not set 636# CONFIG_MLX4_CORE is not set
639# CONFIG_TEHUTI is not set 637# CONFIG_TEHUTI is not set
640# CONFIG_BNX2X is not set 638# CONFIG_BNX2X is not set
639# CONFIG_QLGE is not set
641# CONFIG_SFC is not set 640# CONFIG_SFC is not set
642# CONFIG_TR is not set 641# CONFIG_TR is not set
643 642
@@ -698,6 +697,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
698CONFIG_MOUSE_PS2_SYNAPTICS=y 697CONFIG_MOUSE_PS2_SYNAPTICS=y
699CONFIG_MOUSE_PS2_LIFEBOOK=y 698CONFIG_MOUSE_PS2_LIFEBOOK=y
700CONFIG_MOUSE_PS2_TRACKPOINT=y 699CONFIG_MOUSE_PS2_TRACKPOINT=y
700# CONFIG_MOUSE_PS2_ELANTECH is not set
701# CONFIG_MOUSE_PS2_TOUCHKIT is not set 701# CONFIG_MOUSE_PS2_TOUCHKIT is not set
702# CONFIG_MOUSE_SERIAL is not set 702# CONFIG_MOUSE_SERIAL is not set
703# CONFIG_MOUSE_APPLETOUCH is not set 703# CONFIG_MOUSE_APPLETOUCH is not set
@@ -739,21 +739,12 @@ CONFIG_DEVKMEM=y
739# CONFIG_SERIAL_UARTLITE is not set 739# CONFIG_SERIAL_UARTLITE is not set
740CONFIG_SERIAL_CORE=y 740CONFIG_SERIAL_CORE=y
741CONFIG_SERIAL_CORE_CONSOLE=y 741CONFIG_SERIAL_CORE_CONSOLE=y
742# CONFIG_SERIAL_PMACZILOG is not set
743CONFIG_SERIAL_CPM=y 742CONFIG_SERIAL_CPM=y
744CONFIG_SERIAL_CPM_CONSOLE=y 743CONFIG_SERIAL_CPM_CONSOLE=y
745CONFIG_SERIAL_CPM_SCC1=y
746# CONFIG_SERIAL_CPM_SCC2 is not set
747# CONFIG_SERIAL_CPM_SCC3 is not set
748CONFIG_SERIAL_CPM_SCC4=y
749# CONFIG_SERIAL_CPM_SMC1 is not set
750# CONFIG_SERIAL_CPM_SMC2 is not set
751# CONFIG_SERIAL_JSM is not set 744# CONFIG_SERIAL_JSM is not set
752CONFIG_UNIX98_PTYS=y 745CONFIG_UNIX98_PTYS=y
753CONFIG_LEGACY_PTYS=y 746CONFIG_LEGACY_PTYS=y
754CONFIG_LEGACY_PTY_COUNT=256 747CONFIG_LEGACY_PTY_COUNT=256
755# CONFIG_BRIQ_PANEL is not set
756# CONFIG_HVC_RTAS is not set
757# CONFIG_IPMI_HANDLER is not set 748# CONFIG_IPMI_HANDLER is not set
758CONFIG_HW_RANDOM=y 749CONFIG_HW_RANDOM=y
759# CONFIG_NVRAM is not set 750# CONFIG_NVRAM is not set
@@ -803,6 +794,14 @@ CONFIG_SSB_POSSIBLE=y
803# CONFIG_MFD_TMIO is not set 794# CONFIG_MFD_TMIO is not set
804 795
805# 796#
797# Voltage and Current regulators
798#
799# CONFIG_REGULATOR is not set
800# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
801# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
802# CONFIG_REGULATOR_BQ24022 is not set
803
804#
806# Multimedia devices 805# Multimedia devices
807# 806#
808 807
@@ -850,20 +849,22 @@ CONFIG_USB_ARCH_HAS_EHCI=y
850CONFIG_USB_GADGET=y 849CONFIG_USB_GADGET=y
851# CONFIG_USB_GADGET_DEBUG is not set 850# CONFIG_USB_GADGET_DEBUG is not set
852# CONFIG_USB_GADGET_DEBUG_FILES is not set 851# CONFIG_USB_GADGET_DEBUG_FILES is not set
852CONFIG_USB_GADGET_VBUS_DRAW=2
853CONFIG_USB_GADGET_SELECTED=y 853CONFIG_USB_GADGET_SELECTED=y
854# CONFIG_USB_GADGET_AMD5536UDC is not set 854# CONFIG_USB_GADGET_AT91 is not set
855# CONFIG_USB_GADGET_ATMEL_USBA is not set 855# CONFIG_USB_GADGET_ATMEL_USBA is not set
856# CONFIG_USB_GADGET_FSL_USB2 is not set 856# CONFIG_USB_GADGET_FSL_USB2 is not set
857# CONFIG_USB_GADGET_NET2280 is not set 857# CONFIG_USB_GADGET_LH7A40X is not set
858# CONFIG_USB_GADGET_OMAP is not set
858# CONFIG_USB_GADGET_PXA25X is not set 859# CONFIG_USB_GADGET_PXA25X is not set
860# CONFIG_USB_GADGET_PXA27X is not set
861# CONFIG_USB_GADGET_S3C2410 is not set
859CONFIG_USB_GADGET_M66592=y 862CONFIG_USB_GADGET_M66592=y
860CONFIG_USB_M66592=y 863CONFIG_USB_M66592=y
861# CONFIG_USB_GADGET_PXA27X is not set 864# CONFIG_USB_GADGET_AMD5536UDC is not set
865# CONFIG_USB_GADGET_FSL_QE is not set
866# CONFIG_USB_GADGET_NET2280 is not set
862# CONFIG_USB_GADGET_GOKU is not set 867# CONFIG_USB_GADGET_GOKU is not set
863# CONFIG_USB_GADGET_LH7A40X is not set
864# CONFIG_USB_GADGET_OMAP is not set
865# CONFIG_USB_GADGET_S3C2410 is not set
866# CONFIG_USB_GADGET_AT91 is not set
867# CONFIG_USB_GADGET_DUMMY_HCD is not set 868# CONFIG_USB_GADGET_DUMMY_HCD is not set
868CONFIG_USB_GADGET_DUALSPEED=y 869CONFIG_USB_GADGET_DUALSPEED=y
869# CONFIG_USB_ZERO is not set 870# CONFIG_USB_ZERO is not set
@@ -883,6 +884,7 @@ CONFIG_USB_ETH_RNDIS=y
883# CONFIG_RTC_CLASS is not set 884# CONFIG_RTC_CLASS is not set
884# CONFIG_DMADEVICES is not set 885# CONFIG_DMADEVICES is not set
885# CONFIG_UIO is not set 886# CONFIG_UIO is not set
887# CONFIG_STAGING is not set
886 888
887# 889#
888# File systems 890# File systems
@@ -894,11 +896,13 @@ CONFIG_EXT3_FS=y
894CONFIG_EXT3_FS_XATTR=y 896CONFIG_EXT3_FS_XATTR=y
895# CONFIG_EXT3_FS_POSIX_ACL is not set 897# CONFIG_EXT3_FS_POSIX_ACL is not set
896# CONFIG_EXT3_FS_SECURITY is not set 898# CONFIG_EXT3_FS_SECURITY is not set
899# CONFIG_EXT4_FS is not set
897CONFIG_JBD=y 900CONFIG_JBD=y
898CONFIG_FS_MBCACHE=y 901CONFIG_FS_MBCACHE=y
899# CONFIG_REISERFS_FS is not set 902# CONFIG_REISERFS_FS is not set
900# CONFIG_JFS_FS is not set 903# CONFIG_JFS_FS is not set
901CONFIG_FS_POSIX_ACL=y 904CONFIG_FS_POSIX_ACL=y
905CONFIG_FILE_LOCKING=y
902# CONFIG_XFS_FS is not set 906# CONFIG_XFS_FS is not set
903# CONFIG_OCFS2_FS is not set 907# CONFIG_OCFS2_FS is not set
904CONFIG_DNOTIFY=y 908CONFIG_DNOTIFY=y
@@ -928,6 +932,7 @@ CONFIG_AUTOFS4_FS=y
928CONFIG_PROC_FS=y 932CONFIG_PROC_FS=y
929CONFIG_PROC_KCORE=y 933CONFIG_PROC_KCORE=y
930CONFIG_PROC_SYSCTL=y 934CONFIG_PROC_SYSCTL=y
935CONFIG_PROC_PAGE_MONITOR=y
931CONFIG_SYSFS=y 936CONFIG_SYSFS=y
932CONFIG_TMPFS=y 937CONFIG_TMPFS=y
933# CONFIG_TMPFS_POSIX_ACL is not set 938# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1030,7 +1035,6 @@ CONFIG_NLS_UTF8=y
1030# Library routines 1035# Library routines
1031# 1036#
1032CONFIG_BITREVERSE=y 1037CONFIG_BITREVERSE=y
1033# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1034CONFIG_CRC_CCITT=y 1038CONFIG_CRC_CCITT=y
1035# CONFIG_CRC16 is not set 1039# CONFIG_CRC16 is not set
1036# CONFIG_CRC_T10DIF is not set 1040# CONFIG_CRC_T10DIF is not set
@@ -1084,15 +1088,23 @@ CONFIG_DEBUG_INFO=y
1084# CONFIG_DEBUG_SG is not set 1088# CONFIG_DEBUG_SG is not set
1085# CONFIG_BOOT_PRINTK_DELAY is not set 1089# CONFIG_BOOT_PRINTK_DELAY is not set
1086# CONFIG_RCU_TORTURE_TEST is not set 1090# CONFIG_RCU_TORTURE_TEST is not set
1091# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1087# CONFIG_BACKTRACE_SELF_TEST is not set 1092# CONFIG_BACKTRACE_SELF_TEST is not set
1093# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1088# CONFIG_FAULT_INJECTION is not set 1094# CONFIG_FAULT_INJECTION is not set
1089# CONFIG_LATENCYTOP is not set 1095# CONFIG_LATENCYTOP is not set
1090CONFIG_SYSCTL_SYSCALL_CHECK=y 1096CONFIG_SYSCTL_SYSCALL_CHECK=y
1091CONFIG_HAVE_FTRACE=y 1097CONFIG_HAVE_FUNCTION_TRACER=y
1092CONFIG_HAVE_DYNAMIC_FTRACE=y 1098
1093# CONFIG_FTRACE is not set 1099#
1100# Tracers
1101#
1102# CONFIG_FUNCTION_TRACER is not set
1094# CONFIG_SCHED_TRACER is not set 1103# CONFIG_SCHED_TRACER is not set
1095# CONFIG_CONTEXT_SWITCH_TRACER is not set 1104# CONFIG_CONTEXT_SWITCH_TRACER is not set
1105# CONFIG_BOOT_TRACER is not set
1106# CONFIG_STACK_TRACER is not set
1107# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1096# CONFIG_SAMPLES is not set 1108# CONFIG_SAMPLES is not set
1097CONFIG_HAVE_ARCH_KGDB=y 1109CONFIG_HAVE_ARCH_KGDB=y
1098# CONFIG_DEBUG_STACKOVERFLOW is not set 1110# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -1100,6 +1112,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1100# CONFIG_DEBUG_PAGEALLOC is not set 1112# CONFIG_DEBUG_PAGEALLOC is not set
1101# CONFIG_CODE_PATCHING_SELFTEST is not set 1113# CONFIG_CODE_PATCHING_SELFTEST is not set
1102# CONFIG_FTR_FIXUP_SELFTEST is not set 1114# CONFIG_FTR_FIXUP_SELFTEST is not set
1115# CONFIG_MSI_BITMAP_SELFTEST is not set
1103# CONFIG_XMON is not set 1116# CONFIG_XMON is not set
1104# CONFIG_IRQSTACKS is not set 1117# CONFIG_IRQSTACKS is not set
1105CONFIG_BDI_SWITCH=y 1118CONFIG_BDI_SWITCH=y
@@ -1111,14 +1124,19 @@ CONFIG_BDI_SWITCH=y
1111# 1124#
1112# CONFIG_KEYS is not set 1125# CONFIG_KEYS is not set
1113# CONFIG_SECURITY is not set 1126# CONFIG_SECURITY is not set
1127# CONFIG_SECURITYFS is not set
1114# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1128# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1115CONFIG_CRYPTO=y 1129CONFIG_CRYPTO=y
1116 1130
1117# 1131#
1118# Crypto core or helper 1132# Crypto core or helper
1119# 1133#
1134# CONFIG_CRYPTO_FIPS is not set
1120CONFIG_CRYPTO_ALGAPI=y 1135CONFIG_CRYPTO_ALGAPI=y
1136CONFIG_CRYPTO_AEAD=y
1121CONFIG_CRYPTO_BLKCIPHER=y 1137CONFIG_CRYPTO_BLKCIPHER=y
1138CONFIG_CRYPTO_HASH=y
1139CONFIG_CRYPTO_RNG=y
1122CONFIG_CRYPTO_MANAGER=y 1140CONFIG_CRYPTO_MANAGER=y
1123# CONFIG_CRYPTO_NULL is not set 1141# CONFIG_CRYPTO_NULL is not set
1124# CONFIG_CRYPTO_CRYPTD is not set 1142# CONFIG_CRYPTO_CRYPTD is not set
@@ -1185,6 +1203,11 @@ CONFIG_CRYPTO_DES=y
1185# 1203#
1186# CONFIG_CRYPTO_DEFLATE is not set 1204# CONFIG_CRYPTO_DEFLATE is not set
1187# CONFIG_CRYPTO_LZO is not set 1205# CONFIG_CRYPTO_LZO is not set
1206
1207#
1208# Random Number Generation
1209#
1210# CONFIG_CRYPTO_ANSI_CPRNG is not set
1188CONFIG_CRYPTO_HW=y 1211CONFIG_CRYPTO_HW=y
1189# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1212# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1190# CONFIG_CRYPTO_DEV_TALITOS is not set 1213# CONFIG_CRYPTO_DEV_TALITOS is not set
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 01b54eac1ff6..6046dc0cbd82 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:14 2008 4# Sat Nov 8 12:39:48 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -24,7 +24,7 @@ CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_CHECK_CACHE_COHERENCY=y 24CONFIG_CHECK_CACHE_COHERENCY=y
25CONFIG_PPC32=y 25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32 26CONFIG_WORD_SIZE=32
27CONFIG_PPC_MERGE=y 27# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
28CONFIG_MMU=y 28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y 29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y 30CONFIG_GENERIC_TIME=y
@@ -110,7 +110,9 @@ CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 110CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 111CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 112CONFIG_SHMEM=y
113CONFIG_AIO=y
113CONFIG_VM_EVENT_COUNTERS=y 114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 116CONFIG_SLUB_DEBUG=y
115# CONFIG_SLAB is not set 117# CONFIG_SLAB is not set
116CONFIG_SLUB=y 118CONFIG_SLUB=y
@@ -123,10 +125,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 125CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 126CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 127CONFIG_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
129CONFIG_PROC_PAGE_MONITOR=y
130# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
131CONFIG_SLABINFO=y 129CONFIG_SLABINFO=y
132CONFIG_RT_MUTEXES=y 130CONFIG_RT_MUTEXES=y
@@ -153,6 +151,7 @@ CONFIG_DEFAULT_AS=y
153# CONFIG_DEFAULT_NOOP is not set 151# CONFIG_DEFAULT_NOOP is not set
154CONFIG_DEFAULT_IOSCHED="anticipatory" 152CONFIG_DEFAULT_IOSCHED="anticipatory"
155CONFIG_CLASSIC_RCU=y 153CONFIG_CLASSIC_RCU=y
154# CONFIG_FREEZER is not set
156 155
157# 156#
158# Platform support 157# Platform support
@@ -210,6 +209,8 @@ CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 209# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 210# CONFIG_PREEMPT is not set
212CONFIG_BINFMT_ELF=y 211CONFIG_BINFMT_ELF=y
212# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
213# CONFIG_HAVE_AOUT is not set
213CONFIG_BINFMT_MISC=y 214CONFIG_BINFMT_MISC=y
214# CONFIG_IOMMU_HELPER is not set 215# CONFIG_IOMMU_HELPER is not set
215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 216CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -224,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y
224# CONFIG_SPARSEMEM_MANUAL is not set 225# CONFIG_SPARSEMEM_MANUAL is not set
225CONFIG_FLATMEM=y 226CONFIG_FLATMEM=y
226CONFIG_FLAT_NODE_MEM_MAP=y 227CONFIG_FLAT_NODE_MEM_MAP=y
227# CONFIG_SPARSEMEM_STATIC is not set
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 228CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 229CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y 230CONFIG_MIGRATION=y
232# CONFIG_RESOURCES_64BIT is not set 231# CONFIG_RESOURCES_64BIT is not set
232# CONFIG_PHYS_ADDR_T_64BIT is not set
233CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 235CONFIG_VIRT_TO_BUS=y
236CONFIG_UNEVICTABLE_LRU=y
236CONFIG_FORCE_MAX_ZONEORDER=11 237CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 238CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 239# CONFIG_CMDLINE_BOOL is not set
@@ -253,7 +254,7 @@ CONFIG_PCI_SYSCALL=y
253# CONFIG_PCIEPORTBUS is not set 254# CONFIG_PCIEPORTBUS is not set
254CONFIG_ARCH_SUPPORTS_MSI=y 255CONFIG_ARCH_SUPPORTS_MSI=y
255# CONFIG_PCI_MSI is not set 256# CONFIG_PCI_MSI is not set
256CONFIG_PCI_LEGACY=y 257# CONFIG_PCI_LEGACY is not set
257# CONFIG_PCCARD is not set 258# CONFIG_PCCARD is not set
258# CONFIG_HOTPLUG_PCI is not set 259# CONFIG_HOTPLUG_PCI is not set
259# CONFIG_HAS_RAPIDIO is not set 260# CONFIG_HAS_RAPIDIO is not set
@@ -323,6 +324,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
323# CONFIG_TIPC is not set 324# CONFIG_TIPC is not set
324# CONFIG_ATM is not set 325# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set 326# CONFIG_BRIDGE is not set
327# CONFIG_NET_DSA is not set
326# CONFIG_VLAN_8021Q is not set 328# CONFIG_VLAN_8021Q is not set
327# CONFIG_DECNET is not set 329# CONFIG_DECNET is not set
328# CONFIG_LLC2 is not set 330# CONFIG_LLC2 is not set
@@ -343,11 +345,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_IRDA is not set 345# CONFIG_IRDA is not set
344# CONFIG_BT is not set 346# CONFIG_BT is not set
345# CONFIG_AF_RXRPC is not set 347# CONFIG_AF_RXRPC is not set
346 348# CONFIG_PHONET is not set
347# 349CONFIG_WIRELESS=y
348# Wireless
349#
350# CONFIG_CFG80211 is not set 350# CONFIG_CFG80211 is not set
351CONFIG_WIRELESS_OLD_REGULATORY=y
351# CONFIG_WIRELESS_EXT is not set 352# CONFIG_WIRELESS_EXT is not set
352# CONFIG_MAC80211 is not set 353# CONFIG_MAC80211 is not set
353# CONFIG_IEEE80211 is not set 354# CONFIG_IEEE80211 is not set
@@ -478,17 +479,16 @@ CONFIG_MISC_DEVICES=y
478# CONFIG_HP_ILO is not set 479# CONFIG_HP_ILO is not set
479CONFIG_HAVE_IDE=y 480CONFIG_HAVE_IDE=y
480CONFIG_IDE=y 481CONFIG_IDE=y
481CONFIG_BLK_DEV_IDE=y
482 482
483# 483#
484# Please see Documentation/ide/ide.txt for help/info on IDE drives 484# Please see Documentation/ide/ide.txt for help/info on IDE drives
485# 485#
486# CONFIG_BLK_DEV_IDE_SATA is not set 486# CONFIG_BLK_DEV_IDE_SATA is not set
487CONFIG_BLK_DEV_IDEDISK=y 487CONFIG_IDE_GD=y
488# CONFIG_IDEDISK_MULTI_MODE is not set 488CONFIG_IDE_GD_ATA=y
489# CONFIG_IDE_GD_ATAPI is not set
489# CONFIG_BLK_DEV_IDECD is not set 490# CONFIG_BLK_DEV_IDECD is not set
490# CONFIG_BLK_DEV_IDETAPE is not set 491# CONFIG_BLK_DEV_IDETAPE is not set
491# CONFIG_BLK_DEV_IDEFLOPPY is not set
492# CONFIG_BLK_DEV_IDESCSI is not set 492# CONFIG_BLK_DEV_IDESCSI is not set
493# CONFIG_IDE_TASK_IOCTL is not set 493# CONFIG_IDE_TASK_IOCTL is not set
494CONFIG_IDE_PROC_FS=y 494CONFIG_IDE_PROC_FS=y
@@ -721,6 +721,9 @@ CONFIG_MII=y
721# CONFIG_IBM_NEW_EMAC_RGMII is not set 721# CONFIG_IBM_NEW_EMAC_RGMII is not set
722# CONFIG_IBM_NEW_EMAC_TAH is not set 722# CONFIG_IBM_NEW_EMAC_TAH is not set
723# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 723# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
724# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
725# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
726# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
724CONFIG_NET_PCI=y 727CONFIG_NET_PCI=y
725# CONFIG_PCNET32 is not set 728# CONFIG_PCNET32 is not set
726# CONFIG_AMD8111_ETH is not set 729# CONFIG_AMD8111_ETH is not set
@@ -745,11 +748,11 @@ CONFIG_8139TOO=y
745# CONFIG_TLAN is not set 748# CONFIG_TLAN is not set
746# CONFIG_VIA_RHINE is not set 749# CONFIG_VIA_RHINE is not set
747# CONFIG_SC92031 is not set 750# CONFIG_SC92031 is not set
751# CONFIG_ATL2 is not set
748CONFIG_NETDEV_1000=y 752CONFIG_NETDEV_1000=y
749# CONFIG_ACENIC is not set 753# CONFIG_ACENIC is not set
750# CONFIG_DL2K is not set 754# CONFIG_DL2K is not set
751CONFIG_E1000=y 755CONFIG_E1000=y
752# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
753# CONFIG_E1000E is not set 756# CONFIG_E1000E is not set
754# CONFIG_IP1000 is not set 757# CONFIG_IP1000 is not set
755# CONFIG_IGB is not set 758# CONFIG_IGB is not set
@@ -767,18 +770,22 @@ CONFIG_MV643XX_ETH=y
767# CONFIG_QLA3XXX is not set 770# CONFIG_QLA3XXX is not set
768# CONFIG_ATL1 is not set 771# CONFIG_ATL1 is not set
769# CONFIG_ATL1E is not set 772# CONFIG_ATL1E is not set
773# CONFIG_JME is not set
770CONFIG_NETDEV_10000=y 774CONFIG_NETDEV_10000=y
771# CONFIG_CHELSIO_T1 is not set 775# CONFIG_CHELSIO_T1 is not set
772# CONFIG_CHELSIO_T3 is not set 776# CONFIG_CHELSIO_T3 is not set
777# CONFIG_ENIC is not set
773# CONFIG_IXGBE is not set 778# CONFIG_IXGBE is not set
774# CONFIG_IXGB is not set 779# CONFIG_IXGB is not set
775# CONFIG_S2IO is not set 780# CONFIG_S2IO is not set
776# CONFIG_MYRI10GE is not set 781# CONFIG_MYRI10GE is not set
777# CONFIG_NETXEN_NIC is not set 782# CONFIG_NETXEN_NIC is not set
778# CONFIG_NIU is not set 783# CONFIG_NIU is not set
784# CONFIG_MLX4_EN is not set
779# CONFIG_MLX4_CORE is not set 785# CONFIG_MLX4_CORE is not set
780# CONFIG_TEHUTI is not set 786# CONFIG_TEHUTI is not set
781# CONFIG_BNX2X is not set 787# CONFIG_BNX2X is not set
788# CONFIG_QLGE is not set
782# CONFIG_SFC is not set 789# CONFIG_SFC is not set
783# CONFIG_TR is not set 790# CONFIG_TR is not set
784 791
@@ -813,7 +820,7 @@ CONFIG_NETDEV_10000=y
813# Input device support 820# Input device support
814# 821#
815CONFIG_INPUT=y 822CONFIG_INPUT=y
816# CONFIG_INPUT_FF_MEMLESS is not set 823CONFIG_INPUT_FF_MEMLESS=y
817# CONFIG_INPUT_POLLDEV is not set 824# CONFIG_INPUT_POLLDEV is not set
818 825
819# 826#
@@ -1025,6 +1032,17 @@ CONFIG_SSB_POSSIBLE=y
1025# CONFIG_MFD_SM501 is not set 1032# CONFIG_MFD_SM501 is not set
1026# CONFIG_HTC_PASIC3 is not set 1033# CONFIG_HTC_PASIC3 is not set
1027# CONFIG_MFD_TMIO is not set 1034# CONFIG_MFD_TMIO is not set
1035# CONFIG_PMIC_DA903X is not set
1036# CONFIG_MFD_WM8400 is not set
1037# CONFIG_MFD_WM8350_I2C is not set
1038
1039#
1040# Voltage and Current regulators
1041#
1042# CONFIG_REGULATOR is not set
1043# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1044# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1045# CONFIG_REGULATOR_BQ24022 is not set
1028 1046
1029# 1047#
1030# Multimedia devices 1048# Multimedia devices
@@ -1073,9 +1091,36 @@ CONFIG_HID=y
1073# USB Input Devices 1091# USB Input Devices
1074# 1092#
1075CONFIG_USB_HID=y 1093CONFIG_USB_HID=y
1076# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1094# CONFIG_HID_PID is not set
1077# CONFIG_HID_FF is not set
1078# CONFIG_USB_HIDDEV is not set 1095# CONFIG_USB_HIDDEV is not set
1096
1097#
1098# Special HID drivers
1099#
1100CONFIG_HID_COMPAT=y
1101CONFIG_HID_A4TECH=y
1102CONFIG_HID_APPLE=y
1103CONFIG_HID_BELKIN=y
1104CONFIG_HID_BRIGHT=y
1105CONFIG_HID_CHERRY=y
1106CONFIG_HID_CHICONY=y
1107CONFIG_HID_CYPRESS=y
1108CONFIG_HID_DELL=y
1109CONFIG_HID_EZKEY=y
1110CONFIG_HID_GYRATION=y
1111CONFIG_HID_LOGITECH=y
1112# CONFIG_LOGITECH_FF is not set
1113# CONFIG_LOGIRUMBLEPAD2_FF is not set
1114CONFIG_HID_MICROSOFT=y
1115CONFIG_HID_MONTEREY=y
1116CONFIG_HID_PANTHERLORD=y
1117# CONFIG_PANTHERLORD_FF is not set
1118CONFIG_HID_PETALYNX=y
1119CONFIG_HID_SAMSUNG=y
1120CONFIG_HID_SONY=y
1121CONFIG_HID_SUNPLUS=y
1122CONFIG_THRUSTMASTER_FF=y
1123CONFIG_ZEROPLUS_FF=y
1079CONFIG_USB_SUPPORT=y 1124CONFIG_USB_SUPPORT=y
1080CONFIG_USB_ARCH_HAS_HCD=y 1125CONFIG_USB_ARCH_HAS_HCD=y
1081CONFIG_USB_ARCH_HAS_OHCI=y 1126CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1092,6 +1137,8 @@ CONFIG_USB_DEVICEFS=y
1092# CONFIG_USB_DYNAMIC_MINORS is not set 1137# CONFIG_USB_DYNAMIC_MINORS is not set
1093# CONFIG_USB_OTG is not set 1138# CONFIG_USB_OTG is not set
1094CONFIG_USB_MON=y 1139CONFIG_USB_MON=y
1140# CONFIG_USB_WUSB is not set
1141# CONFIG_USB_WUSB_CBAF is not set
1095 1142
1096# 1143#
1097# USB Host Controller Drivers 1144# USB Host Controller Drivers
@@ -1111,6 +1158,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1111# CONFIG_USB_UHCI_HCD is not set 1158# CONFIG_USB_UHCI_HCD is not set
1112# CONFIG_USB_SL811_HCD is not set 1159# CONFIG_USB_SL811_HCD is not set
1113# CONFIG_USB_R8A66597_HCD is not set 1160# CONFIG_USB_R8A66597_HCD is not set
1161# CONFIG_USB_WHCI_HCD is not set
1162# CONFIG_USB_HWA_HCD is not set
1114 1163
1115# 1164#
1116# USB Device Class drivers 1165# USB Device Class drivers
@@ -1118,6 +1167,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1118# CONFIG_USB_ACM is not set 1167# CONFIG_USB_ACM is not set
1119# CONFIG_USB_PRINTER is not set 1168# CONFIG_USB_PRINTER is not set
1120# CONFIG_USB_WDM is not set 1169# CONFIG_USB_WDM is not set
1170# CONFIG_USB_TMC is not set
1121 1171
1122# 1172#
1123# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1173# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1146,6 +1196,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1146# CONFIG_USB_EMI62 is not set 1196# CONFIG_USB_EMI62 is not set
1147# CONFIG_USB_EMI26 is not set 1197# CONFIG_USB_EMI26 is not set
1148# CONFIG_USB_ADUTUX is not set 1198# CONFIG_USB_ADUTUX is not set
1199# CONFIG_USB_SEVSEG is not set
1149# CONFIG_USB_RIO500 is not set 1200# CONFIG_USB_RIO500 is not set
1150# CONFIG_USB_LEGOTOWER is not set 1201# CONFIG_USB_LEGOTOWER is not set
1151# CONFIG_USB_LCD is not set 1202# CONFIG_USB_LCD is not set
@@ -1163,7 +1214,9 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1163# CONFIG_USB_IOWARRIOR is not set 1214# CONFIG_USB_IOWARRIOR is not set
1164# CONFIG_USB_TEST is not set 1215# CONFIG_USB_TEST is not set
1165# CONFIG_USB_ISIGHTFW is not set 1216# CONFIG_USB_ISIGHTFW is not set
1217# CONFIG_USB_VST is not set
1166# CONFIG_USB_GADGET is not set 1218# CONFIG_USB_GADGET is not set
1219# CONFIG_UWB is not set
1167# CONFIG_MMC is not set 1220# CONFIG_MMC is not set
1168# CONFIG_MEMSTICK is not set 1221# CONFIG_MEMSTICK is not set
1169# CONFIG_NEW_LEDS is not set 1222# CONFIG_NEW_LEDS is not set
@@ -1209,12 +1262,15 @@ CONFIG_RTC_DRV_MAX6900=y
1209# Platform RTC drivers 1262# Platform RTC drivers
1210# 1263#
1211# CONFIG_RTC_DRV_CMOS is not set 1264# CONFIG_RTC_DRV_CMOS is not set
1265# CONFIG_RTC_DRV_DS1286 is not set
1212# CONFIG_RTC_DRV_DS1511 is not set 1266# CONFIG_RTC_DRV_DS1511 is not set
1213# CONFIG_RTC_DRV_DS1553 is not set 1267# CONFIG_RTC_DRV_DS1553 is not set
1214# CONFIG_RTC_DRV_DS1742 is not set 1268# CONFIG_RTC_DRV_DS1742 is not set
1215# CONFIG_RTC_DRV_STK17TA8 is not set 1269# CONFIG_RTC_DRV_STK17TA8 is not set
1216# CONFIG_RTC_DRV_M48T86 is not set 1270# CONFIG_RTC_DRV_M48T86 is not set
1271# CONFIG_RTC_DRV_M48T35 is not set
1217# CONFIG_RTC_DRV_M48T59 is not set 1272# CONFIG_RTC_DRV_M48T59 is not set
1273# CONFIG_RTC_DRV_BQ4802 is not set
1218# CONFIG_RTC_DRV_V3020 is not set 1274# CONFIG_RTC_DRV_V3020 is not set
1219 1275
1220# 1276#
@@ -1223,6 +1279,7 @@ CONFIG_RTC_DRV_MAX6900=y
1223# CONFIG_RTC_DRV_PPC is not set 1279# CONFIG_RTC_DRV_PPC is not set
1224# CONFIG_DMADEVICES is not set 1280# CONFIG_DMADEVICES is not set
1225# CONFIG_UIO is not set 1281# CONFIG_UIO is not set
1282# CONFIG_STAGING is not set
1226 1283
1227# 1284#
1228# File systems 1285# File systems
@@ -1234,12 +1291,13 @@ CONFIG_EXT3_FS=y
1234CONFIG_EXT3_FS_XATTR=y 1291CONFIG_EXT3_FS_XATTR=y
1235# CONFIG_EXT3_FS_POSIX_ACL is not set 1292# CONFIG_EXT3_FS_POSIX_ACL is not set
1236# CONFIG_EXT3_FS_SECURITY is not set 1293# CONFIG_EXT3_FS_SECURITY is not set
1237# CONFIG_EXT4DEV_FS is not set 1294# CONFIG_EXT4_FS is not set
1238CONFIG_JBD=y 1295CONFIG_JBD=y
1239CONFIG_FS_MBCACHE=y 1296CONFIG_FS_MBCACHE=y
1240# CONFIG_REISERFS_FS is not set 1297# CONFIG_REISERFS_FS is not set
1241# CONFIG_JFS_FS is not set 1298# CONFIG_JFS_FS is not set
1242# CONFIG_FS_POSIX_ACL is not set 1299# CONFIG_FS_POSIX_ACL is not set
1300CONFIG_FILE_LOCKING=y
1243# CONFIG_XFS_FS is not set 1301# CONFIG_XFS_FS is not set
1244# CONFIG_OCFS2_FS is not set 1302# CONFIG_OCFS2_FS is not set
1245CONFIG_DNOTIFY=y 1303CONFIG_DNOTIFY=y
@@ -1269,6 +1327,7 @@ CONFIG_INOTIFY_USER=y
1269CONFIG_PROC_FS=y 1327CONFIG_PROC_FS=y
1270CONFIG_PROC_KCORE=y 1328CONFIG_PROC_KCORE=y
1271CONFIG_PROC_SYSCTL=y 1329CONFIG_PROC_SYSCTL=y
1330CONFIG_PROC_PAGE_MONITOR=y
1272CONFIG_SYSFS=y 1331CONFIG_SYSFS=y
1273CONFIG_TMPFS=y 1332CONFIG_TMPFS=y
1274# CONFIG_TMPFS_POSIX_ACL is not set 1333# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1304,6 +1363,7 @@ CONFIG_ROOT_NFS=y
1304CONFIG_LOCKD=y 1363CONFIG_LOCKD=y
1305CONFIG_NFS_COMMON=y 1364CONFIG_NFS_COMMON=y
1306CONFIG_SUNRPC=y 1365CONFIG_SUNRPC=y
1366# CONFIG_SUNRPC_REGISTER_V4 is not set
1307# CONFIG_RPCSEC_GSS_KRB5 is not set 1367# CONFIG_RPCSEC_GSS_KRB5 is not set
1308# CONFIG_RPCSEC_GSS_SPKM3 is not set 1368# CONFIG_RPCSEC_GSS_SPKM3 is not set
1309# CONFIG_SMB_FS is not set 1369# CONFIG_SMB_FS is not set
@@ -1340,7 +1400,6 @@ CONFIG_MSDOS_PARTITION=y
1340# Library routines 1400# Library routines
1341# 1401#
1342CONFIG_BITREVERSE=y 1402CONFIG_BITREVERSE=y
1343# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1344# CONFIG_CRC_CCITT is not set 1403# CONFIG_CRC_CCITT is not set
1345# CONFIG_CRC16 is not set 1404# CONFIG_CRC16 is not set
1346CONFIG_CRC_T10DIF=y 1405CONFIG_CRC_T10DIF=y
@@ -1370,13 +1429,15 @@ CONFIG_FRAME_WARN=1024
1370# CONFIG_SLUB_STATS is not set 1429# CONFIG_SLUB_STATS is not set
1371CONFIG_DEBUG_BUGVERBOSE=y 1430CONFIG_DEBUG_BUGVERBOSE=y
1372CONFIG_DEBUG_MEMORY_INIT=y 1431CONFIG_DEBUG_MEMORY_INIT=y
1432# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1373# CONFIG_LATENCYTOP is not set 1433# CONFIG_LATENCYTOP is not set
1374CONFIG_SYSCTL_SYSCALL_CHECK=y 1434CONFIG_SYSCTL_SYSCALL_CHECK=y
1375CONFIG_HAVE_FTRACE=y 1435CONFIG_HAVE_FUNCTION_TRACER=y
1376CONFIG_HAVE_DYNAMIC_FTRACE=y 1436
1377# CONFIG_FTRACE is not set 1437#
1378# CONFIG_SCHED_TRACER is not set 1438# Tracers
1379# CONFIG_CONTEXT_SWITCH_TRACER is not set 1439#
1440# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1380# CONFIG_SAMPLES is not set 1441# CONFIG_SAMPLES is not set
1381CONFIG_HAVE_ARCH_KGDB=y 1442CONFIG_HAVE_ARCH_KGDB=y
1382# CONFIG_IRQSTACKS is not set 1443# CONFIG_IRQSTACKS is not set
@@ -1388,12 +1449,14 @@ CONFIG_HAVE_ARCH_KGDB=y
1388# 1449#
1389# CONFIG_KEYS is not set 1450# CONFIG_KEYS is not set
1390# CONFIG_SECURITY is not set 1451# CONFIG_SECURITY is not set
1452# CONFIG_SECURITYFS is not set
1391# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1453# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1392CONFIG_CRYPTO=y 1454CONFIG_CRYPTO=y
1393 1455
1394# 1456#
1395# Crypto core or helper 1457# Crypto core or helper
1396# 1458#
1459# CONFIG_CRYPTO_FIPS is not set
1397# CONFIG_CRYPTO_MANAGER is not set 1460# CONFIG_CRYPTO_MANAGER is not set
1398# CONFIG_CRYPTO_GF128MUL is not set 1461# CONFIG_CRYPTO_GF128MUL is not set
1399# CONFIG_CRYPTO_NULL is not set 1462# CONFIG_CRYPTO_NULL is not set
@@ -1465,6 +1528,11 @@ CONFIG_CRYPTO=y
1465# 1528#
1466# CONFIG_CRYPTO_DEFLATE is not set 1529# CONFIG_CRYPTO_DEFLATE is not set
1467# CONFIG_CRYPTO_LZO is not set 1530# CONFIG_CRYPTO_LZO is not set
1531
1532#
1533# Random Number Generation
1534#
1535# CONFIG_CRYPTO_ANSI_CPRNG is not set
1468CONFIG_CRYPTO_HW=y 1536CONFIG_CRYPTO_HW=y
1469# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1537# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1470# CONFIG_PPC_CLOCK is not set 1538# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index e77c5e7a0be2..1e520ab65118 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Tue Aug 26 13:31:07 2008 4# Tue Nov 11 19:37:06 2008
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -22,7 +22,7 @@ CONFIG_SMP=y
22CONFIG_NR_CPUS=128 22CONFIG_NR_CPUS=128
23CONFIG_64BIT=y 23CONFIG_64BIT=y
24CONFIG_WORD_SIZE=64 24CONFIG_WORD_SIZE=64
25CONFIG_PPC_MERGE=y 25CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -86,6 +86,7 @@ CONFIG_LOG_BUF_SHIFT=17
86CONFIG_CGROUPS=y 86CONFIG_CGROUPS=y
87# CONFIG_CGROUP_DEBUG is not set 87# CONFIG_CGROUP_DEBUG is not set
88CONFIG_CGROUP_NS=y 88CONFIG_CGROUP_NS=y
89CONFIG_CGROUP_FREEZER=y
89CONFIG_CGROUP_DEVICE=y 90CONFIG_CGROUP_DEVICE=y
90CONFIG_CPUSETS=y 91CONFIG_CPUSETS=y
91# CONFIG_GROUP_SCHED is not set 92# CONFIG_GROUP_SCHED is not set
@@ -123,12 +124,15 @@ CONFIG_SIGNALFD=y
123CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 126CONFIG_SHMEM=y
127CONFIG_AIO=y
126CONFIG_VM_EVENT_COUNTERS=y 128CONFIG_VM_EVENT_COUNTERS=y
129CONFIG_PCI_QUIRKS=y
127CONFIG_SLUB_DEBUG=y 130CONFIG_SLUB_DEBUG=y
128# CONFIG_SLAB is not set 131# CONFIG_SLAB is not set
129CONFIG_SLUB=y 132CONFIG_SLUB=y
130# CONFIG_SLOB is not set 133# CONFIG_SLOB is not set
131CONFIG_PROFILING=y 134CONFIG_PROFILING=y
135CONFIG_TRACEPOINTS=y
132CONFIG_MARKERS=y 136CONFIG_MARKERS=y
133CONFIG_OPROFILE=y 137CONFIG_OPROFILE=y
134CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
@@ -141,8 +145,6 @@ CONFIG_HAVE_KRETPROBES=y
141CONFIG_HAVE_ARCH_TRACEHOOK=y 145CONFIG_HAVE_ARCH_TRACEHOOK=y
142CONFIG_HAVE_DMA_ATTRS=y 146CONFIG_HAVE_DMA_ATTRS=y
143CONFIG_USE_GENERIC_SMP_HELPERS=y 147CONFIG_USE_GENERIC_SMP_HELPERS=y
144# CONFIG_HAVE_CLK is not set
145CONFIG_PROC_PAGE_MONITOR=y
146# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 148# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
147CONFIG_SLABINFO=y 149CONFIG_SLABINFO=y
148CONFIG_RT_MUTEXES=y 150CONFIG_RT_MUTEXES=y
@@ -175,6 +177,8 @@ CONFIG_DEFAULT_AS=y
175# CONFIG_DEFAULT_NOOP is not set 177# CONFIG_DEFAULT_NOOP is not set
176CONFIG_DEFAULT_IOSCHED="anticipatory" 178CONFIG_DEFAULT_IOSCHED="anticipatory"
177CONFIG_CLASSIC_RCU=y 179CONFIG_CLASSIC_RCU=y
180CONFIG_FREEZER=y
181CONFIG_PPC_MSI_BITMAP=y
178 182
179# 183#
180# Platform support 184# Platform support
@@ -237,6 +241,8 @@ CONFIG_PREEMPT_NONE=y
237# CONFIG_PREEMPT is not set 241# CONFIG_PREEMPT is not set
238CONFIG_BINFMT_ELF=y 242CONFIG_BINFMT_ELF=y
239CONFIG_COMPAT_BINFMT_ELF=y 243CONFIG_COMPAT_BINFMT_ELF=y
244# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
245# CONFIG_HAVE_AOUT is not set
240CONFIG_BINFMT_MISC=m 246CONFIG_BINFMT_MISC=m
241CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 247CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
242CONFIG_IOMMU_VMERGE=y 248CONFIG_IOMMU_VMERGE=y
@@ -246,7 +252,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
246CONFIG_ARCH_HAS_WALK_MEMORY=y 252CONFIG_ARCH_HAS_WALK_MEMORY=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 253CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
248CONFIG_KEXEC=y 254CONFIG_KEXEC=y
249# CONFIG_CRASH_DUMP is not set
250# CONFIG_PHYP_DUMP is not set 255# CONFIG_PHYP_DUMP is not set
251CONFIG_IRQ_ALL_CPUS=y 256CONFIG_IRQ_ALL_CPUS=y
252CONFIG_NUMA=y 257CONFIG_NUMA=y
@@ -262,7 +267,6 @@ CONFIG_SPARSEMEM_MANUAL=y
262CONFIG_SPARSEMEM=y 267CONFIG_SPARSEMEM=y
263CONFIG_NEED_MULTIPLE_NODES=y 268CONFIG_NEED_MULTIPLE_NODES=y
264CONFIG_HAVE_MEMORY_PRESENT=y 269CONFIG_HAVE_MEMORY_PRESENT=y
265# CONFIG_SPARSEMEM_STATIC is not set
266CONFIG_SPARSEMEM_EXTREME=y 270CONFIG_SPARSEMEM_EXTREME=y
267CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 271CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
268CONFIG_SPARSEMEM_VMEMMAP=y 272CONFIG_SPARSEMEM_VMEMMAP=y
@@ -271,8 +275,10 @@ CONFIG_PAGEFLAGS_EXTENDED=y
271CONFIG_SPLIT_PTLOCK_CPUS=4 275CONFIG_SPLIT_PTLOCK_CPUS=4
272CONFIG_MIGRATION=y 276CONFIG_MIGRATION=y
273CONFIG_RESOURCES_64BIT=y 277CONFIG_RESOURCES_64BIT=y
278CONFIG_PHYS_ADDR_T_64BIT=y
274CONFIG_ZONE_DMA_FLAG=1 279CONFIG_ZONE_DMA_FLAG=1
275CONFIG_BOUNCE=y 280CONFIG_BOUNCE=y
281CONFIG_UNEVICTABLE_LRU=y
276CONFIG_NODES_SPAN_OTHER_NODES=y 282CONFIG_NODES_SPAN_OTHER_NODES=y
277# CONFIG_PPC_HAS_HASH_64K is not set 283# CONFIG_PPC_HAS_HASH_64K is not set
278# CONFIG_PPC_64K_PAGES is not set 284# CONFIG_PPC_64K_PAGES is not set
@@ -307,6 +313,7 @@ CONFIG_HOTPLUG_PCI=m
307CONFIG_HOTPLUG_PCI_RPA=m 313CONFIG_HOTPLUG_PCI_RPA=m
308CONFIG_HOTPLUG_PCI_RPA_DLPAR=m 314CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
309# CONFIG_HAS_RAPIDIO is not set 315# CONFIG_HAS_RAPIDIO is not set
316# CONFIG_RELOCATABLE is not set
310CONFIG_PAGE_OFFSET=0xc000000000000000 317CONFIG_PAGE_OFFSET=0xc000000000000000
311CONFIG_KERNEL_START=0xc000000000000000 318CONFIG_KERNEL_START=0xc000000000000000
312CONFIG_PHYSICAL_START=0x00000000 319CONFIG_PHYSICAL_START=0x00000000
@@ -351,7 +358,6 @@ CONFIG_INET_TCP_DIAG=y
351CONFIG_TCP_CONG_CUBIC=y 358CONFIG_TCP_CONG_CUBIC=y
352CONFIG_DEFAULT_TCP_CONG="cubic" 359CONFIG_DEFAULT_TCP_CONG="cubic"
353# CONFIG_TCP_MD5SIG is not set 360# CONFIG_TCP_MD5SIG is not set
354# CONFIG_IP_VS is not set
355# CONFIG_IPV6 is not set 361# CONFIG_IPV6 is not set
356# CONFIG_NETWORK_SECMARK is not set 362# CONFIG_NETWORK_SECMARK is not set
357CONFIG_NETFILTER=y 363CONFIG_NETFILTER=y
@@ -383,9 +389,10 @@ CONFIG_NF_CONNTRACK_TFTP=m
383CONFIG_NF_CT_NETLINK=m 389CONFIG_NF_CT_NETLINK=m
384CONFIG_NETFILTER_XTABLES=m 390CONFIG_NETFILTER_XTABLES=m
385CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 391CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
392CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
386CONFIG_NETFILTER_XT_TARGET_MARK=m 393CONFIG_NETFILTER_XT_TARGET_MARK=m
387CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
388CONFIG_NETFILTER_XT_TARGET_NFLOG=m 394CONFIG_NETFILTER_XT_TARGET_NFLOG=m
395CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
389CONFIG_NETFILTER_XT_TARGET_RATEEST=m 396CONFIG_NETFILTER_XT_TARGET_RATEEST=m
390CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 397CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
391CONFIG_NETFILTER_XT_MATCH_COMMENT=m 398CONFIG_NETFILTER_XT_MATCH_COMMENT=m
@@ -396,19 +403,22 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
396CONFIG_NETFILTER_XT_MATCH_DCCP=m 403CONFIG_NETFILTER_XT_MATCH_DCCP=m
397CONFIG_NETFILTER_XT_MATCH_DSCP=m 404CONFIG_NETFILTER_XT_MATCH_DSCP=m
398CONFIG_NETFILTER_XT_MATCH_ESP=m 405CONFIG_NETFILTER_XT_MATCH_ESP=m
406CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
399CONFIG_NETFILTER_XT_MATCH_HELPER=m 407CONFIG_NETFILTER_XT_MATCH_HELPER=m
400CONFIG_NETFILTER_XT_MATCH_IPRANGE=m 408CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
401CONFIG_NETFILTER_XT_MATCH_LENGTH=m 409CONFIG_NETFILTER_XT_MATCH_LENGTH=m
402CONFIG_NETFILTER_XT_MATCH_LIMIT=m 410CONFIG_NETFILTER_XT_MATCH_LIMIT=m
403CONFIG_NETFILTER_XT_MATCH_MAC=m 411CONFIG_NETFILTER_XT_MATCH_MAC=m
404CONFIG_NETFILTER_XT_MATCH_MARK=m 412CONFIG_NETFILTER_XT_MATCH_MARK=m
413CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
405CONFIG_NETFILTER_XT_MATCH_OWNER=m 414CONFIG_NETFILTER_XT_MATCH_OWNER=m
406CONFIG_NETFILTER_XT_MATCH_POLICY=m 415CONFIG_NETFILTER_XT_MATCH_POLICY=m
407CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
408CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 416CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
409CONFIG_NETFILTER_XT_MATCH_QUOTA=m 417CONFIG_NETFILTER_XT_MATCH_QUOTA=m
410CONFIG_NETFILTER_XT_MATCH_RATEEST=m 418CONFIG_NETFILTER_XT_MATCH_RATEEST=m
411CONFIG_NETFILTER_XT_MATCH_REALM=m 419CONFIG_NETFILTER_XT_MATCH_REALM=m
420CONFIG_NETFILTER_XT_MATCH_RECENT=m
421# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
412CONFIG_NETFILTER_XT_MATCH_SCTP=m 422CONFIG_NETFILTER_XT_MATCH_SCTP=m
413CONFIG_NETFILTER_XT_MATCH_STATE=m 423CONFIG_NETFILTER_XT_MATCH_STATE=m
414CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 424CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
@@ -416,20 +426,20 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
416CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 426CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
417CONFIG_NETFILTER_XT_MATCH_TIME=m 427CONFIG_NETFILTER_XT_MATCH_TIME=m
418CONFIG_NETFILTER_XT_MATCH_U32=m 428CONFIG_NETFILTER_XT_MATCH_U32=m
419CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 429# CONFIG_IP_VS is not set
420 430
421# 431#
422# IP: Netfilter Configuration 432# IP: Netfilter Configuration
423# 433#
434CONFIG_NF_DEFRAG_IPV4=m
424CONFIG_NF_CONNTRACK_IPV4=m 435CONFIG_NF_CONNTRACK_IPV4=m
425CONFIG_NF_CONNTRACK_PROC_COMPAT=y 436CONFIG_NF_CONNTRACK_PROC_COMPAT=y
426CONFIG_IP_NF_QUEUE=m 437CONFIG_IP_NF_QUEUE=m
427CONFIG_IP_NF_IPTABLES=m 438CONFIG_IP_NF_IPTABLES=m
428CONFIG_IP_NF_MATCH_RECENT=m 439CONFIG_IP_NF_MATCH_ADDRTYPE=m
429CONFIG_IP_NF_MATCH_ECN=m
430CONFIG_IP_NF_MATCH_AH=m 440CONFIG_IP_NF_MATCH_AH=m
441CONFIG_IP_NF_MATCH_ECN=m
431CONFIG_IP_NF_MATCH_TTL=m 442CONFIG_IP_NF_MATCH_TTL=m
432CONFIG_IP_NF_MATCH_ADDRTYPE=m
433CONFIG_IP_NF_FILTER=m 443CONFIG_IP_NF_FILTER=m
434CONFIG_IP_NF_TARGET_REJECT=m 444CONFIG_IP_NF_TARGET_REJECT=m
435CONFIG_IP_NF_TARGET_LOG=m 445CONFIG_IP_NF_TARGET_LOG=m
@@ -437,8 +447,8 @@ CONFIG_IP_NF_TARGET_ULOG=m
437CONFIG_NF_NAT=m 447CONFIG_NF_NAT=m
438CONFIG_NF_NAT_NEEDED=y 448CONFIG_NF_NAT_NEEDED=y
439CONFIG_IP_NF_TARGET_MASQUERADE=m 449CONFIG_IP_NF_TARGET_MASQUERADE=m
440CONFIG_IP_NF_TARGET_REDIRECT=m
441CONFIG_IP_NF_TARGET_NETMAP=m 450CONFIG_IP_NF_TARGET_NETMAP=m
451CONFIG_IP_NF_TARGET_REDIRECT=m
442CONFIG_NF_NAT_SNMP_BASIC=m 452CONFIG_NF_NAT_SNMP_BASIC=m
443CONFIG_NF_NAT_PROTO_UDPLITE=m 453CONFIG_NF_NAT_PROTO_UDPLITE=m
444CONFIG_NF_NAT_FTP=m 454CONFIG_NF_NAT_FTP=m
@@ -456,6 +466,7 @@ CONFIG_NF_NAT_TFTP=m
456# CONFIG_TIPC is not set 466# CONFIG_TIPC is not set
457# CONFIG_ATM is not set 467# CONFIG_ATM is not set
458# CONFIG_BRIDGE is not set 468# CONFIG_BRIDGE is not set
469# CONFIG_NET_DSA is not set
459# CONFIG_VLAN_8021Q is not set 470# CONFIG_VLAN_8021Q is not set
460# CONFIG_DECNET is not set 471# CONFIG_DECNET is not set
461CONFIG_LLC=y 472CONFIG_LLC=y
@@ -479,14 +490,8 @@ CONFIG_NET_CLS_ROUTE=y
479# CONFIG_IRDA is not set 490# CONFIG_IRDA is not set
480# CONFIG_BT is not set 491# CONFIG_BT is not set
481# CONFIG_AF_RXRPC is not set 492# CONFIG_AF_RXRPC is not set
482 493# CONFIG_PHONET is not set
483# 494# CONFIG_WIRELESS is not set
484# Wireless
485#
486# CONFIG_CFG80211 is not set
487# CONFIG_WIRELESS_EXT is not set
488# CONFIG_MAC80211 is not set
489# CONFIG_IEEE80211 is not set
490# CONFIG_RFKILL is not set 495# CONFIG_RFKILL is not set
491# CONFIG_NET_9P is not set 496# CONFIG_NET_9P is not set
492 497
@@ -546,19 +551,18 @@ CONFIG_MISC_DEVICES=y
546# CONFIG_HP_ILO is not set 551# CONFIG_HP_ILO is not set
547CONFIG_HAVE_IDE=y 552CONFIG_HAVE_IDE=y
548CONFIG_IDE=y 553CONFIG_IDE=y
549CONFIG_BLK_DEV_IDE=y
550 554
551# 555#
552# Please see Documentation/ide/ide.txt for help/info on IDE drives 556# Please see Documentation/ide/ide.txt for help/info on IDE drives
553# 557#
554CONFIG_IDE_TIMINGS=y 558CONFIG_IDE_TIMINGS=y
555# CONFIG_BLK_DEV_IDE_SATA is not set 559# CONFIG_BLK_DEV_IDE_SATA is not set
556CONFIG_BLK_DEV_IDEDISK=y 560CONFIG_IDE_GD=y
557# CONFIG_IDEDISK_MULTI_MODE is not set 561CONFIG_IDE_GD_ATA=y
562# CONFIG_IDE_GD_ATAPI is not set
558CONFIG_BLK_DEV_IDECD=y 563CONFIG_BLK_DEV_IDECD=y
559CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 564CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
560# CONFIG_BLK_DEV_IDETAPE is not set 565# CONFIG_BLK_DEV_IDETAPE is not set
561# CONFIG_BLK_DEV_IDEFLOPPY is not set
562# CONFIG_BLK_DEV_IDESCSI is not set 566# CONFIG_BLK_DEV_IDESCSI is not set
563# CONFIG_IDE_TASK_IOCTL is not set 567# CONFIG_IDE_TASK_IOCTL is not set
564CONFIG_IDE_PROC_FS=y 568CONFIG_IDE_PROC_FS=y
@@ -696,6 +700,7 @@ CONFIG_SATA_PMP=y
696# CONFIG_ATA_SFF is not set 700# CONFIG_ATA_SFF is not set
697CONFIG_MD=y 701CONFIG_MD=y
698CONFIG_BLK_DEV_MD=y 702CONFIG_BLK_DEV_MD=y
703CONFIG_MD_AUTODETECT=y
699CONFIG_MD_LINEAR=y 704CONFIG_MD_LINEAR=y
700CONFIG_MD_RAID0=y 705CONFIG_MD_RAID0=y
701CONFIG_MD_RAID1=y 706CONFIG_MD_RAID1=y
@@ -765,6 +770,9 @@ CONFIG_IBMVETH=y
765# CONFIG_IBM_NEW_EMAC_RGMII is not set 770# CONFIG_IBM_NEW_EMAC_RGMII is not set
766# CONFIG_IBM_NEW_EMAC_TAH is not set 771# CONFIG_IBM_NEW_EMAC_TAH is not set
767# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 772# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
773# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
774# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
775# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
768CONFIG_NET_PCI=y 776CONFIG_NET_PCI=y
769CONFIG_PCNET32=y 777CONFIG_PCNET32=y
770# CONFIG_AMD8111_ETH is not set 778# CONFIG_AMD8111_ETH is not set
@@ -786,12 +794,12 @@ CONFIG_E100=y
786# CONFIG_VIA_RHINE is not set 794# CONFIG_VIA_RHINE is not set
787# CONFIG_SC92031 is not set 795# CONFIG_SC92031 is not set
788# CONFIG_NET_POCKET is not set 796# CONFIG_NET_POCKET is not set
797# CONFIG_ATL2 is not set
789CONFIG_NETDEV_1000=y 798CONFIG_NETDEV_1000=y
790CONFIG_ACENIC=y 799CONFIG_ACENIC=y
791CONFIG_ACENIC_OMIT_TIGON_I=y 800CONFIG_ACENIC_OMIT_TIGON_I=y
792# CONFIG_DL2K is not set 801# CONFIG_DL2K is not set
793CONFIG_E1000=y 802CONFIG_E1000=y
794# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
795# CONFIG_E1000E is not set 803# CONFIG_E1000E is not set
796# CONFIG_IP1000 is not set 804# CONFIG_IP1000 is not set
797# CONFIG_IGB is not set 805# CONFIG_IGB is not set
@@ -808,19 +816,23 @@ CONFIG_TIGON3=y
808# CONFIG_QLA3XXX is not set 816# CONFIG_QLA3XXX is not set
809# CONFIG_ATL1 is not set 817# CONFIG_ATL1 is not set
810# CONFIG_ATL1E is not set 818# CONFIG_ATL1E is not set
819# CONFIG_JME is not set
811CONFIG_NETDEV_10000=y 820CONFIG_NETDEV_10000=y
812# CONFIG_CHELSIO_T1 is not set 821# CONFIG_CHELSIO_T1 is not set
813# CONFIG_CHELSIO_T3 is not set 822# CONFIG_CHELSIO_T3 is not set
814CONFIG_EHEA=y 823CONFIG_EHEA=y
824# CONFIG_ENIC is not set
815# CONFIG_IXGBE is not set 825# CONFIG_IXGBE is not set
816CONFIG_IXGB=m 826CONFIG_IXGB=m
817CONFIG_S2IO=m 827CONFIG_S2IO=m
818# CONFIG_MYRI10GE is not set 828# CONFIG_MYRI10GE is not set
819# CONFIG_NETXEN_NIC is not set 829# CONFIG_NETXEN_NIC is not set
820# CONFIG_NIU is not set 830# CONFIG_NIU is not set
831# CONFIG_MLX4_EN is not set
821# CONFIG_MLX4_CORE is not set 832# CONFIG_MLX4_CORE is not set
822# CONFIG_TEHUTI is not set 833# CONFIG_TEHUTI is not set
823# CONFIG_BNX2X is not set 834# CONFIG_BNX2X is not set
835# CONFIG_QLGE is not set
824# CONFIG_SFC is not set 836# CONFIG_SFC is not set
825CONFIG_TR=y 837CONFIG_TR=y
826CONFIG_IBMOL=y 838CONFIG_IBMOL=y
@@ -902,6 +914,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
902CONFIG_MOUSE_PS2_SYNAPTICS=y 914CONFIG_MOUSE_PS2_SYNAPTICS=y
903CONFIG_MOUSE_PS2_LIFEBOOK=y 915CONFIG_MOUSE_PS2_LIFEBOOK=y
904CONFIG_MOUSE_PS2_TRACKPOINT=y 916CONFIG_MOUSE_PS2_TRACKPOINT=y
917# CONFIG_MOUSE_PS2_ELANTECH is not set
905# CONFIG_MOUSE_PS2_TOUCHKIT is not set 918# CONFIG_MOUSE_PS2_TOUCHKIT is not set
906# CONFIG_MOUSE_SERIAL is not set 919# CONFIG_MOUSE_SERIAL is not set
907# CONFIG_MOUSE_APPLETOUCH is not set 920# CONFIG_MOUSE_APPLETOUCH is not set
@@ -917,6 +930,7 @@ CONFIG_INPUT_PCSPKR=m
917# CONFIG_INPUT_KEYSPAN_REMOTE is not set 930# CONFIG_INPUT_KEYSPAN_REMOTE is not set
918# CONFIG_INPUT_POWERMATE is not set 931# CONFIG_INPUT_POWERMATE is not set
919# CONFIG_INPUT_YEALINK is not set 932# CONFIG_INPUT_YEALINK is not set
933# CONFIG_INPUT_CM109 is not set
920# CONFIG_INPUT_UINPUT is not set 934# CONFIG_INPUT_UINPUT is not set
921 935
922# 936#
@@ -1076,6 +1090,17 @@ CONFIG_SSB_POSSIBLE=y
1076# CONFIG_MFD_SM501 is not set 1090# CONFIG_MFD_SM501 is not set
1077# CONFIG_HTC_PASIC3 is not set 1091# CONFIG_HTC_PASIC3 is not set
1078# CONFIG_MFD_TMIO is not set 1092# CONFIG_MFD_TMIO is not set
1093# CONFIG_PMIC_DA903X is not set
1094# CONFIG_MFD_WM8400 is not set
1095# CONFIG_MFD_WM8350_I2C is not set
1096
1097#
1098# Voltage and Current regulators
1099#
1100# CONFIG_REGULATOR is not set
1101# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1102# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1103# CONFIG_REGULATOR_BQ24022 is not set
1079 1104
1080# 1105#
1081# Multimedia devices 1106# Multimedia devices
@@ -1103,6 +1128,7 @@ CONFIG_SSB_POSSIBLE=y
1103CONFIG_FB=y 1128CONFIG_FB=y
1104CONFIG_FIRMWARE_EDID=y 1129CONFIG_FIRMWARE_EDID=y
1105CONFIG_FB_DDC=y 1130CONFIG_FB_DDC=y
1131# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1106CONFIG_FB_CFB_FILLRECT=y 1132CONFIG_FB_CFB_FILLRECT=y
1107CONFIG_FB_CFB_COPYAREA=y 1133CONFIG_FB_CFB_COPYAREA=y
1108CONFIG_FB_CFB_IMAGEBLIT=y 1134CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1146,6 +1172,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1146# CONFIG_FB_S3 is not set 1172# CONFIG_FB_S3 is not set
1147# CONFIG_FB_SAVAGE is not set 1173# CONFIG_FB_SAVAGE is not set
1148# CONFIG_FB_SIS is not set 1174# CONFIG_FB_SIS is not set
1175# CONFIG_FB_VIA is not set
1149# CONFIG_FB_NEOMAGIC is not set 1176# CONFIG_FB_NEOMAGIC is not set
1150# CONFIG_FB_KYRO is not set 1177# CONFIG_FB_KYRO is not set
1151# CONFIG_FB_3DFX is not set 1178# CONFIG_FB_3DFX is not set
@@ -1157,6 +1184,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1157# CONFIG_FB_CARMINE is not set 1184# CONFIG_FB_CARMINE is not set
1158CONFIG_FB_IBM_GXT4500=y 1185CONFIG_FB_IBM_GXT4500=y
1159# CONFIG_FB_VIRTUAL is not set 1186# CONFIG_FB_VIRTUAL is not set
1187# CONFIG_FB_METRONOME is not set
1160CONFIG_BACKLIGHT_LCD_SUPPORT=y 1188CONFIG_BACKLIGHT_LCD_SUPPORT=y
1161CONFIG_LCD_CLASS_DEVICE=m 1189CONFIG_LCD_CLASS_DEVICE=m
1162# CONFIG_LCD_ILI9320 is not set 1190# CONFIG_LCD_ILI9320 is not set
@@ -1198,9 +1226,36 @@ CONFIG_HID=y
1198# USB Input Devices 1226# USB Input Devices
1199# 1227#
1200CONFIG_USB_HID=y 1228CONFIG_USB_HID=y
1201# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1229# CONFIG_HID_PID is not set
1202# CONFIG_HID_FF is not set
1203CONFIG_USB_HIDDEV=y 1230CONFIG_USB_HIDDEV=y
1231
1232#
1233# Special HID drivers
1234#
1235CONFIG_HID_COMPAT=y
1236CONFIG_HID_A4TECH=y
1237CONFIG_HID_APPLE=y
1238CONFIG_HID_BELKIN=y
1239CONFIG_HID_BRIGHT=y
1240CONFIG_HID_CHERRY=y
1241CONFIG_HID_CHICONY=y
1242CONFIG_HID_CYPRESS=y
1243CONFIG_HID_DELL=y
1244CONFIG_HID_EZKEY=y
1245CONFIG_HID_GYRATION=y
1246CONFIG_HID_LOGITECH=y
1247# CONFIG_LOGITECH_FF is not set
1248# CONFIG_LOGIRUMBLEPAD2_FF is not set
1249CONFIG_HID_MICROSOFT=y
1250CONFIG_HID_MONTEREY=y
1251CONFIG_HID_PANTHERLORD=y
1252# CONFIG_PANTHERLORD_FF is not set
1253CONFIG_HID_PETALYNX=y
1254CONFIG_HID_SAMSUNG=y
1255CONFIG_HID_SONY=y
1256CONFIG_HID_SUNPLUS=y
1257# CONFIG_THRUSTMASTER_FF is not set
1258# CONFIG_ZEROPLUS_FF is not set
1204CONFIG_USB_SUPPORT=y 1259CONFIG_USB_SUPPORT=y
1205CONFIG_USB_ARCH_HAS_HCD=y 1260CONFIG_USB_ARCH_HAS_HCD=y
1206CONFIG_USB_ARCH_HAS_OHCI=y 1261CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1217,6 +1272,8 @@ CONFIG_USB_DEVICE_CLASS=y
1217# CONFIG_USB_DYNAMIC_MINORS is not set 1272# CONFIG_USB_DYNAMIC_MINORS is not set
1218# CONFIG_USB_OTG is not set 1273# CONFIG_USB_OTG is not set
1219CONFIG_USB_MON=y 1274CONFIG_USB_MON=y
1275# CONFIG_USB_WUSB is not set
1276# CONFIG_USB_WUSB_CBAF is not set
1220 1277
1221# 1278#
1222# USB Host Controller Drivers 1279# USB Host Controller Drivers
@@ -1236,6 +1293,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1236# CONFIG_USB_UHCI_HCD is not set 1293# CONFIG_USB_UHCI_HCD is not set
1237# CONFIG_USB_SL811_HCD is not set 1294# CONFIG_USB_SL811_HCD is not set
1238# CONFIG_USB_R8A66597_HCD is not set 1295# CONFIG_USB_R8A66597_HCD is not set
1296# CONFIG_USB_WHCI_HCD is not set
1297# CONFIG_USB_HWA_HCD is not set
1239 1298
1240# 1299#
1241# USB Device Class drivers 1300# USB Device Class drivers
@@ -1243,6 +1302,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1243# CONFIG_USB_ACM is not set 1302# CONFIG_USB_ACM is not set
1244# CONFIG_USB_PRINTER is not set 1303# CONFIG_USB_PRINTER is not set
1245# CONFIG_USB_WDM is not set 1304# CONFIG_USB_WDM is not set
1305# CONFIG_USB_TMC is not set
1246 1306
1247# 1307#
1248# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1308# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1264,7 +1324,6 @@ CONFIG_USB_STORAGE=y
1264# CONFIG_USB_STORAGE_ALAUDA is not set 1324# CONFIG_USB_STORAGE_ALAUDA is not set
1265CONFIG_USB_STORAGE_ONETOUCH=y 1325CONFIG_USB_STORAGE_ONETOUCH=y
1266# CONFIG_USB_STORAGE_KARMA is not set 1326# CONFIG_USB_STORAGE_KARMA is not set
1267# CONFIG_USB_STORAGE_SIERRA is not set
1268# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1327# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1269# CONFIG_USB_LIBUSUAL is not set 1328# CONFIG_USB_LIBUSUAL is not set
1270 1329
@@ -1286,6 +1345,7 @@ CONFIG_USB_STORAGE_ONETOUCH=y
1286# CONFIG_USB_EMI62 is not set 1345# CONFIG_USB_EMI62 is not set
1287# CONFIG_USB_EMI26 is not set 1346# CONFIG_USB_EMI26 is not set
1288# CONFIG_USB_ADUTUX is not set 1347# CONFIG_USB_ADUTUX is not set
1348# CONFIG_USB_SEVSEG is not set
1289# CONFIG_USB_RIO500 is not set 1349# CONFIG_USB_RIO500 is not set
1290# CONFIG_USB_LEGOTOWER is not set 1350# CONFIG_USB_LEGOTOWER is not set
1291# CONFIG_USB_LCD is not set 1351# CONFIG_USB_LCD is not set
@@ -1303,7 +1363,9 @@ CONFIG_USB_STORAGE_ONETOUCH=y
1303# CONFIG_USB_IOWARRIOR is not set 1363# CONFIG_USB_IOWARRIOR is not set
1304# CONFIG_USB_TEST is not set 1364# CONFIG_USB_TEST is not set
1305# CONFIG_USB_ISIGHTFW is not set 1365# CONFIG_USB_ISIGHTFW is not set
1366# CONFIG_USB_VST is not set
1306# CONFIG_USB_GADGET is not set 1367# CONFIG_USB_GADGET is not set
1368# CONFIG_UWB is not set
1307# CONFIG_MMC is not set 1369# CONFIG_MMC is not set
1308# CONFIG_MEMSTICK is not set 1370# CONFIG_MEMSTICK is not set
1309# CONFIG_NEW_LEDS is not set 1371# CONFIG_NEW_LEDS is not set
@@ -1331,6 +1393,7 @@ CONFIG_INFINIBAND_SRP=m
1331# CONFIG_DMADEVICES is not set 1393# CONFIG_DMADEVICES is not set
1332# CONFIG_AUXDISPLAY is not set 1394# CONFIG_AUXDISPLAY is not set
1333# CONFIG_UIO is not set 1395# CONFIG_UIO is not set
1396# CONFIG_STAGING is not set
1334 1397
1335# 1398#
1336# File systems 1399# File systems
@@ -1340,14 +1403,20 @@ CONFIG_EXT2_FS_XATTR=y
1340CONFIG_EXT2_FS_POSIX_ACL=y 1403CONFIG_EXT2_FS_POSIX_ACL=y
1341CONFIG_EXT2_FS_SECURITY=y 1404CONFIG_EXT2_FS_SECURITY=y
1342CONFIG_EXT2_FS_XIP=y 1405CONFIG_EXT2_FS_XIP=y
1343CONFIG_FS_XIP=y
1344CONFIG_EXT3_FS=y 1406CONFIG_EXT3_FS=y
1345CONFIG_EXT3_FS_XATTR=y 1407CONFIG_EXT3_FS_XATTR=y
1346CONFIG_EXT3_FS_POSIX_ACL=y 1408CONFIG_EXT3_FS_POSIX_ACL=y
1347CONFIG_EXT3_FS_SECURITY=y 1409CONFIG_EXT3_FS_SECURITY=y
1348# CONFIG_EXT4DEV_FS is not set 1410CONFIG_EXT4_FS=y
1411# CONFIG_EXT4DEV_COMPAT is not set
1412CONFIG_EXT4_FS_XATTR=y
1413CONFIG_EXT4_FS_POSIX_ACL=y
1414CONFIG_EXT4_FS_SECURITY=y
1415CONFIG_FS_XIP=y
1349CONFIG_JBD=y 1416CONFIG_JBD=y
1350# CONFIG_JBD_DEBUG is not set 1417# CONFIG_JBD_DEBUG is not set
1418CONFIG_JBD2=y
1419# CONFIG_JBD2_DEBUG is not set
1351CONFIG_FS_MBCACHE=y 1420CONFIG_FS_MBCACHE=y
1352CONFIG_REISERFS_FS=y 1421CONFIG_REISERFS_FS=y
1353# CONFIG_REISERFS_CHECK is not set 1422# CONFIG_REISERFS_CHECK is not set
@@ -1361,6 +1430,7 @@ CONFIG_JFS_SECURITY=y
1361# CONFIG_JFS_DEBUG is not set 1430# CONFIG_JFS_DEBUG is not set
1362# CONFIG_JFS_STATISTICS is not set 1431# CONFIG_JFS_STATISTICS is not set
1363CONFIG_FS_POSIX_ACL=y 1432CONFIG_FS_POSIX_ACL=y
1433CONFIG_FILE_LOCKING=y
1364CONFIG_XFS_FS=m 1434CONFIG_XFS_FS=m
1365# CONFIG_XFS_QUOTA is not set 1435# CONFIG_XFS_QUOTA is not set
1366CONFIG_XFS_POSIX_ACL=y 1436CONFIG_XFS_POSIX_ACL=y
@@ -1372,6 +1442,7 @@ CONFIG_OCFS2_FS_O2CB=m
1372CONFIG_OCFS2_FS_STATS=y 1442CONFIG_OCFS2_FS_STATS=y
1373CONFIG_OCFS2_DEBUG_MASKLOG=y 1443CONFIG_OCFS2_DEBUG_MASKLOG=y
1374# CONFIG_OCFS2_DEBUG_FS is not set 1444# CONFIG_OCFS2_DEBUG_FS is not set
1445# CONFIG_OCFS2_COMPAT_JBD is not set
1375CONFIG_DNOTIFY=y 1446CONFIG_DNOTIFY=y
1376CONFIG_INOTIFY=y 1447CONFIG_INOTIFY=y
1377CONFIG_INOTIFY_USER=y 1448CONFIG_INOTIFY_USER=y
@@ -1405,6 +1476,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1405CONFIG_PROC_FS=y 1476CONFIG_PROC_FS=y
1406CONFIG_PROC_KCORE=y 1477CONFIG_PROC_KCORE=y
1407CONFIG_PROC_SYSCTL=y 1478CONFIG_PROC_SYSCTL=y
1479CONFIG_PROC_PAGE_MONITOR=y
1408CONFIG_SYSFS=y 1480CONFIG_SYSFS=y
1409CONFIG_TMPFS=y 1481CONFIG_TMPFS=y
1410# CONFIG_TMPFS_POSIX_ACL is not set 1482# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1449,6 +1521,7 @@ CONFIG_NFS_COMMON=y
1449CONFIG_SUNRPC=y 1521CONFIG_SUNRPC=y
1450CONFIG_SUNRPC_GSS=y 1522CONFIG_SUNRPC_GSS=y
1451CONFIG_SUNRPC_XPRT_RDMA=m 1523CONFIG_SUNRPC_XPRT_RDMA=m
1524# CONFIG_SUNRPC_REGISTER_V4 is not set
1452CONFIG_RPCSEC_GSS_KRB5=y 1525CONFIG_RPCSEC_GSS_KRB5=y
1453CONFIG_RPCSEC_GSS_SPKM3=m 1526CONFIG_RPCSEC_GSS_SPKM3=m
1454# CONFIG_SMB_FS is not set 1527# CONFIG_SMB_FS is not set
@@ -1514,9 +1587,8 @@ CONFIG_NLS_ISO8859_1=y
1514# Library routines 1587# Library routines
1515# 1588#
1516CONFIG_BITREVERSE=y 1589CONFIG_BITREVERSE=y
1517# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1518CONFIG_CRC_CCITT=m 1590CONFIG_CRC_CCITT=m
1519# CONFIG_CRC16 is not set 1591CONFIG_CRC16=y
1520CONFIG_CRC_T10DIF=y 1592CONFIG_CRC_T10DIF=y
1521CONFIG_CRC_ITU_T=m 1593CONFIG_CRC_ITU_T=m
1522CONFIG_CRC32=y 1594CONFIG_CRC32=y
@@ -1580,21 +1652,31 @@ CONFIG_DEBUG_MEMORY_INIT=y
1580CONFIG_FRAME_POINTER=y 1652CONFIG_FRAME_POINTER=y
1581# CONFIG_BOOT_PRINTK_DELAY is not set 1653# CONFIG_BOOT_PRINTK_DELAY is not set
1582# CONFIG_RCU_TORTURE_TEST is not set 1654# CONFIG_RCU_TORTURE_TEST is not set
1655# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1583# CONFIG_KPROBES_SANITY_TEST is not set 1656# CONFIG_KPROBES_SANITY_TEST is not set
1584# CONFIG_BACKTRACE_SELF_TEST is not set 1657# CONFIG_BACKTRACE_SELF_TEST is not set
1658# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1585# CONFIG_LKDTM is not set 1659# CONFIG_LKDTM is not set
1586# CONFIG_FAULT_INJECTION is not set 1660# CONFIG_FAULT_INJECTION is not set
1587CONFIG_LATENCYTOP=y 1661CONFIG_LATENCYTOP=y
1588CONFIG_SYSCTL_SYSCALL_CHECK=y 1662CONFIG_SYSCTL_SYSCALL_CHECK=y
1589CONFIG_HAVE_FTRACE=y 1663CONFIG_NOP_TRACER=y
1590CONFIG_HAVE_DYNAMIC_FTRACE=y 1664CONFIG_HAVE_FUNCTION_TRACER=y
1591CONFIG_TRACER_MAX_TRACE=y 1665CONFIG_TRACER_MAX_TRACE=y
1666CONFIG_RING_BUFFER=y
1592CONFIG_TRACING=y 1667CONFIG_TRACING=y
1593# CONFIG_FTRACE is not set 1668
1669#
1670# Tracers
1671#
1672CONFIG_FUNCTION_TRACER=y
1594CONFIG_IRQSOFF_TRACER=y 1673CONFIG_IRQSOFF_TRACER=y
1595CONFIG_SCHED_TRACER=y 1674CONFIG_SCHED_TRACER=y
1596CONFIG_CONTEXT_SWITCH_TRACER=y 1675CONFIG_CONTEXT_SWITCH_TRACER=y
1676# CONFIG_BOOT_TRACER is not set
1677CONFIG_STACK_TRACER=y
1597# CONFIG_FTRACE_STARTUP_TEST is not set 1678# CONFIG_FTRACE_STARTUP_TEST is not set
1679CONFIG_DYNAMIC_PRINTK_DEBUG=y
1598# CONFIG_SAMPLES is not set 1680# CONFIG_SAMPLES is not set
1599CONFIG_HAVE_ARCH_KGDB=y 1681CONFIG_HAVE_ARCH_KGDB=y
1600# CONFIG_KGDB is not set 1682# CONFIG_KGDB is not set
@@ -1604,6 +1686,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y
1604CONFIG_HCALL_STATS=y 1686CONFIG_HCALL_STATS=y
1605# CONFIG_CODE_PATCHING_SELFTEST is not set 1687# CONFIG_CODE_PATCHING_SELFTEST is not set
1606# CONFIG_FTR_FIXUP_SELFTEST is not set 1688# CONFIG_FTR_FIXUP_SELFTEST is not set
1689# CONFIG_MSI_BITMAP_SELFTEST is not set
1607CONFIG_XMON=y 1690CONFIG_XMON=y
1608CONFIG_XMON_DEFAULT=y 1691CONFIG_XMON_DEFAULT=y
1609CONFIG_XMON_DISASSEMBLY=y 1692CONFIG_XMON_DISASSEMBLY=y
@@ -1618,16 +1701,19 @@ CONFIG_VIRQ_DEBUG=y
1618# 1701#
1619# CONFIG_KEYS is not set 1702# CONFIG_KEYS is not set
1620# CONFIG_SECURITY is not set 1703# CONFIG_SECURITY is not set
1704# CONFIG_SECURITYFS is not set
1621# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1705# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1622CONFIG_CRYPTO=y 1706CONFIG_CRYPTO=y
1623 1707
1624# 1708#
1625# Crypto core or helper 1709# Crypto core or helper
1626# 1710#
1711# CONFIG_CRYPTO_FIPS is not set
1627CONFIG_CRYPTO_ALGAPI=y 1712CONFIG_CRYPTO_ALGAPI=y
1628CONFIG_CRYPTO_AEAD=m 1713CONFIG_CRYPTO_AEAD=y
1629CONFIG_CRYPTO_BLKCIPHER=y 1714CONFIG_CRYPTO_BLKCIPHER=y
1630CONFIG_CRYPTO_HASH=y 1715CONFIG_CRYPTO_HASH=y
1716CONFIG_CRYPTO_RNG=y
1631CONFIG_CRYPTO_MANAGER=y 1717CONFIG_CRYPTO_MANAGER=y
1632CONFIG_CRYPTO_GF128MUL=m 1718CONFIG_CRYPTO_GF128MUL=m
1633CONFIG_CRYPTO_NULL=m 1719CONFIG_CRYPTO_NULL=m
@@ -1701,6 +1787,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1701# 1787#
1702CONFIG_CRYPTO_DEFLATE=m 1788CONFIG_CRYPTO_DEFLATE=m
1703CONFIG_CRYPTO_LZO=m 1789CONFIG_CRYPTO_LZO=m
1790
1791#
1792# Random Number Generation
1793#
1794# CONFIG_CRYPTO_ANSI_CPRNG is not set
1704# CONFIG_CRYPTO_HW is not set 1795# CONFIG_CRYPTO_HW is not set
1705# CONFIG_PPC_CLOCK is not set 1796# CONFIG_PPC_CLOCK is not set
1706# CONFIG_VIRTUALIZATION is not set 1797# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 4340cc1c5b6a..b3f5671972a9 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.27-rc4 3# Linux kernel version: 2.6.28-rc3
4# Thu Aug 21 00:52:16 2008 4# Sat Nov 8 12:39:48 2008
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -22,7 +22,7 @@ CONFIG_PPC_STD_MMU_32=y
22# CONFIG_SMP is not set 22# CONFIG_SMP is not set
23CONFIG_PPC32=y 23CONFIG_PPC32=y
24CONFIG_WORD_SIZE=32 24CONFIG_WORD_SIZE=32
25CONFIG_PPC_MERGE=y 25# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
26CONFIG_MMU=y 26CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 27CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 28CONFIG_GENERIC_TIME=y
@@ -102,7 +102,9 @@ CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y 102CONFIG_TIMERFD=y
103CONFIG_EVENTFD=y 103CONFIG_EVENTFD=y
104CONFIG_SHMEM=y 104CONFIG_SHMEM=y
105CONFIG_AIO=y
105CONFIG_VM_EVENT_COUNTERS=y 106CONFIG_VM_EVENT_COUNTERS=y
107CONFIG_PCI_QUIRKS=y
106CONFIG_SLUB_DEBUG=y 108CONFIG_SLUB_DEBUG=y
107# CONFIG_SLAB is not set 109# CONFIG_SLAB is not set
108CONFIG_SLUB=y 110CONFIG_SLUB=y
@@ -115,10 +117,6 @@ CONFIG_HAVE_IOREMAP_PROT=y
115CONFIG_HAVE_KPROBES=y 117CONFIG_HAVE_KPROBES=y
116CONFIG_HAVE_KRETPROBES=y 118CONFIG_HAVE_KRETPROBES=y
117CONFIG_HAVE_ARCH_TRACEHOOK=y 119CONFIG_HAVE_ARCH_TRACEHOOK=y
118# CONFIG_HAVE_DMA_ATTRS is not set
119# CONFIG_USE_GENERIC_SMP_HELPERS is not set
120# CONFIG_HAVE_CLK is not set
121CONFIG_PROC_PAGE_MONITOR=y
122# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 120# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
123CONFIG_SLABINFO=y 121CONFIG_SLABINFO=y
124CONFIG_RT_MUTEXES=y 122CONFIG_RT_MUTEXES=y
@@ -151,6 +149,7 @@ CONFIG_DEFAULT_CFQ=y
151# CONFIG_DEFAULT_NOOP is not set 149# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="cfq" 150CONFIG_DEFAULT_IOSCHED="cfq"
153CONFIG_CLASSIC_RCU=y 151CONFIG_CLASSIC_RCU=y
152# CONFIG_FREEZER is not set
154 153
155# 154#
156# Platform support 155# Platform support
@@ -190,13 +189,13 @@ CONFIG_MPIC=y
190# CONFIG_GENERIC_IOMAP is not set 189# CONFIG_GENERIC_IOMAP is not set
191# CONFIG_CPU_FREQ is not set 190# CONFIG_CPU_FREQ is not set
192# CONFIG_TAU is not set 191# CONFIG_TAU is not set
192# CONFIG_QUICC_ENGINE is not set
193# CONFIG_FSL_ULI1575 is not set 193# CONFIG_FSL_ULI1575 is not set
194 194
195# 195#
196# Kernel options 196# Kernel options
197# 197#
198# CONFIG_HIGHMEM is not set 198# CONFIG_HIGHMEM is not set
199# CONFIG_TICK_ONESHOT is not set
200# CONFIG_NO_HZ is not set 199# CONFIG_NO_HZ is not set
201# CONFIG_HIGH_RES_TIMERS is not set 200# CONFIG_HIGH_RES_TIMERS is not set
202CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -210,6 +209,8 @@ CONFIG_PREEMPT_NONE=y
210# CONFIG_PREEMPT_VOLUNTARY is not set 209# CONFIG_PREEMPT_VOLUNTARY is not set
211# CONFIG_PREEMPT is not set 210# CONFIG_PREEMPT is not set
212CONFIG_BINFMT_ELF=y 211CONFIG_BINFMT_ELF=y
212# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
213# CONFIG_HAVE_AOUT is not set
213CONFIG_BINFMT_MISC=y 214CONFIG_BINFMT_MISC=y
214# CONFIG_IOMMU_HELPER is not set 215# CONFIG_IOMMU_HELPER is not set
215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 216CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -224,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y
224# CONFIG_SPARSEMEM_MANUAL is not set 225# CONFIG_SPARSEMEM_MANUAL is not set
225CONFIG_FLATMEM=y 226CONFIG_FLATMEM=y
226CONFIG_FLAT_NODE_MEM_MAP=y 227CONFIG_FLAT_NODE_MEM_MAP=y
227# CONFIG_SPARSEMEM_STATIC is not set
228# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
229CONFIG_PAGEFLAGS_EXTENDED=y 228CONFIG_PAGEFLAGS_EXTENDED=y
230CONFIG_SPLIT_PTLOCK_CPUS=4 229CONFIG_SPLIT_PTLOCK_CPUS=4
231CONFIG_MIGRATION=y 230CONFIG_MIGRATION=y
232# CONFIG_RESOURCES_64BIT is not set 231# CONFIG_RESOURCES_64BIT is not set
232# CONFIG_PHYS_ADDR_T_64BIT is not set
233CONFIG_ZONE_DMA_FLAG=1 233CONFIG_ZONE_DMA_FLAG=1
234CONFIG_BOUNCE=y 234CONFIG_BOUNCE=y
235CONFIG_VIRT_TO_BUS=y 235CONFIG_VIRT_TO_BUS=y
236CONFIG_UNEVICTABLE_LRU=y
236CONFIG_FORCE_MAX_ZONEORDER=11 237CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 238CONFIG_PROC_DEVICETREE=y
238CONFIG_CMDLINE_BOOL=y 239CONFIG_CMDLINE_BOOL=y
@@ -255,7 +256,7 @@ CONFIG_PCI_SYSCALL=y
255# CONFIG_PCIEPORTBUS is not set 256# CONFIG_PCIEPORTBUS is not set
256CONFIG_ARCH_SUPPORTS_MSI=y 257CONFIG_ARCH_SUPPORTS_MSI=y
257# CONFIG_PCI_MSI is not set 258# CONFIG_PCI_MSI is not set
258CONFIG_PCI_LEGACY=y 259# CONFIG_PCI_LEGACY is not set
259# CONFIG_PCCARD is not set 260# CONFIG_PCCARD is not set
260# CONFIG_HOTPLUG_PCI is not set 261# CONFIG_HOTPLUG_PCI is not set
261# CONFIG_HAS_RAPIDIO is not set 262# CONFIG_HAS_RAPIDIO is not set
@@ -318,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_TIPC is not set 319# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 320# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 321# CONFIG_BRIDGE is not set
322# CONFIG_NET_DSA is not set
321# CONFIG_VLAN_8021Q is not set 323# CONFIG_VLAN_8021Q is not set
322# CONFIG_DECNET is not set 324# CONFIG_DECNET is not set
323# CONFIG_LLC2 is not set 325# CONFIG_LLC2 is not set
@@ -338,11 +340,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_IRDA is not set 340# CONFIG_IRDA is not set
339# CONFIG_BT is not set 341# CONFIG_BT is not set
340# CONFIG_AF_RXRPC is not set 342# CONFIG_AF_RXRPC is not set
341 343# CONFIG_PHONET is not set
342# 344CONFIG_WIRELESS=y
343# Wireless
344#
345# CONFIG_CFG80211 is not set 345# CONFIG_CFG80211 is not set
346CONFIG_WIRELESS_OLD_REGULATORY=y
346# CONFIG_WIRELESS_EXT is not set 347# CONFIG_WIRELESS_EXT is not set
347# CONFIG_MAC80211 is not set 348# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set 349# CONFIG_IEEE80211 is not set
@@ -471,18 +472,17 @@ CONFIG_MISC_DEVICES=y
471# CONFIG_HP_ILO is not set 472# CONFIG_HP_ILO is not set
472CONFIG_HAVE_IDE=y 473CONFIG_HAVE_IDE=y
473CONFIG_IDE=y 474CONFIG_IDE=y
474CONFIG_BLK_DEV_IDE=y
475 475
476# 476#
477# 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
478# 478#
479CONFIG_IDE_TIMINGS=y 479CONFIG_IDE_TIMINGS=y
480# CONFIG_BLK_DEV_IDE_SATA is not set 480# CONFIG_BLK_DEV_IDE_SATA is not set
481CONFIG_BLK_DEV_IDEDISK=y 481CONFIG_IDE_GD=y
482CONFIG_IDEDISK_MULTI_MODE=y 482CONFIG_IDE_GD_ATA=y
483# CONFIG_IDE_GD_ATAPI is not set
483# CONFIG_BLK_DEV_IDECD is not set 484# CONFIG_BLK_DEV_IDECD is not set
484# CONFIG_BLK_DEV_IDETAPE is not set 485# CONFIG_BLK_DEV_IDETAPE is not set
485# CONFIG_BLK_DEV_IDEFLOPPY is not set
486# CONFIG_BLK_DEV_IDESCSI is not set 486# CONFIG_BLK_DEV_IDESCSI is not set
487# CONFIG_IDE_TASK_IOCTL is not set 487# CONFIG_IDE_TASK_IOCTL is not set
488CONFIG_IDE_PROC_FS=y 488CONFIG_IDE_PROC_FS=y
@@ -605,6 +605,7 @@ CONFIG_SCSI_LOWLEVEL=y
605# CONFIG_ATA is not set 605# CONFIG_ATA is not set
606CONFIG_MD=y 606CONFIG_MD=y
607CONFIG_BLK_DEV_MD=y 607CONFIG_BLK_DEV_MD=y
608CONFIG_MD_AUTODETECT=y
608CONFIG_MD_LINEAR=y 609CONFIG_MD_LINEAR=y
609CONFIG_MD_RAID0=y 610CONFIG_MD_RAID0=y
610CONFIG_MD_RAID1=y 611CONFIG_MD_RAID1=y
@@ -636,6 +637,7 @@ CONFIG_DUMMY=m
636# CONFIG_VETH is not set 637# CONFIG_VETH is not set
637# CONFIG_ARCNET is not set 638# CONFIG_ARCNET is not set
638# CONFIG_NET_ETHERNET is not set 639# CONFIG_NET_ETHERNET is not set
640CONFIG_MII=y
639CONFIG_NETDEV_1000=y 641CONFIG_NETDEV_1000=y
640# CONFIG_ACENIC is not set 642# CONFIG_ACENIC is not set
641# CONFIG_DL2K is not set 643# CONFIG_DL2K is not set
@@ -658,6 +660,7 @@ CONFIG_R8169=y
658# CONFIG_QLA3XXX is not set 660# CONFIG_QLA3XXX is not set
659# CONFIG_ATL1 is not set 661# CONFIG_ATL1 is not set
660# CONFIG_ATL1E is not set 662# CONFIG_ATL1E is not set
663# CONFIG_JME is not set
661# CONFIG_NETDEV_10000 is not set 664# CONFIG_NETDEV_10000 is not set
662# CONFIG_TR is not set 665# CONFIG_TR is not set
663 666
@@ -827,6 +830,17 @@ CONFIG_SSB_POSSIBLE=y
827# CONFIG_MFD_SM501 is not set 830# CONFIG_MFD_SM501 is not set
828# CONFIG_HTC_PASIC3 is not set 831# CONFIG_HTC_PASIC3 is not set
829# CONFIG_MFD_TMIO is not set 832# CONFIG_MFD_TMIO is not set
833# CONFIG_PMIC_DA903X is not set
834# CONFIG_MFD_WM8400 is not set
835# CONFIG_MFD_WM8350_I2C is not set
836
837#
838# Voltage and Current regulators
839#
840# CONFIG_REGULATOR is not set
841# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
842# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
843# CONFIG_REGULATOR_BQ24022 is not set
830 844
831# 845#
832# Multimedia devices 846# Multimedia devices
@@ -877,6 +891,8 @@ CONFIG_USB_DEVICE_CLASS=y
877# CONFIG_USB_OTG_WHITELIST is not set 891# CONFIG_USB_OTG_WHITELIST is not set
878# CONFIG_USB_OTG_BLACKLIST_HUB is not set 892# CONFIG_USB_OTG_BLACKLIST_HUB is not set
879# CONFIG_USB_MON is not set 893# CONFIG_USB_MON is not set
894# CONFIG_USB_WUSB is not set
895# CONFIG_USB_WUSB_CBAF is not set
880 896
881# 897#
882# USB Host Controller Drivers 898# USB Host Controller Drivers
@@ -897,6 +913,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
897# CONFIG_USB_UHCI_HCD is not set 913# CONFIG_USB_UHCI_HCD is not set
898# CONFIG_USB_SL811_HCD is not set 914# CONFIG_USB_SL811_HCD is not set
899# CONFIG_USB_R8A66597_HCD is not set 915# CONFIG_USB_R8A66597_HCD is not set
916# CONFIG_USB_WHCI_HCD is not set
917# CONFIG_USB_HWA_HCD is not set
900 918
901# 919#
902# USB Device Class drivers 920# USB Device Class drivers
@@ -904,6 +922,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
904# CONFIG_USB_ACM is not set 922# CONFIG_USB_ACM is not set
905# CONFIG_USB_PRINTER is not set 923# CONFIG_USB_PRINTER is not set
906# CONFIG_USB_WDM is not set 924# CONFIG_USB_WDM is not set
925# CONFIG_USB_TMC is not set
907 926
908# 927#
909# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 928# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -924,7 +943,6 @@ CONFIG_USB_STORAGE=y
924# CONFIG_USB_STORAGE_JUMPSHOT is not set 943# CONFIG_USB_STORAGE_JUMPSHOT is not set
925# CONFIG_USB_STORAGE_ALAUDA is not set 944# CONFIG_USB_STORAGE_ALAUDA is not set
926# CONFIG_USB_STORAGE_KARMA is not set 945# CONFIG_USB_STORAGE_KARMA is not set
927# CONFIG_USB_STORAGE_SIERRA is not set
928# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 946# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
929# CONFIG_USB_LIBUSUAL is not set 947# CONFIG_USB_LIBUSUAL is not set
930 948
@@ -945,6 +963,7 @@ CONFIG_USB_STORAGE=y
945# CONFIG_USB_EMI62 is not set 963# CONFIG_USB_EMI62 is not set
946# CONFIG_USB_EMI26 is not set 964# CONFIG_USB_EMI26 is not set
947# CONFIG_USB_ADUTUX is not set 965# CONFIG_USB_ADUTUX is not set
966# CONFIG_USB_SEVSEG is not set
948# CONFIG_USB_RIO500 is not set 967# CONFIG_USB_RIO500 is not set
949# CONFIG_USB_LEGOTOWER is not set 968# CONFIG_USB_LEGOTOWER is not set
950# CONFIG_USB_LCD is not set 969# CONFIG_USB_LCD is not set
@@ -962,7 +981,9 @@ CONFIG_USB_STORAGE=y
962# CONFIG_USB_IOWARRIOR is not set 981# CONFIG_USB_IOWARRIOR is not set
963# CONFIG_USB_TEST is not set 982# CONFIG_USB_TEST is not set
964# CONFIG_USB_ISIGHTFW is not set 983# CONFIG_USB_ISIGHTFW is not set
984# CONFIG_USB_VST is not set
965# CONFIG_USB_GADGET is not set 985# CONFIG_USB_GADGET is not set
986# CONFIG_UWB is not set
966# CONFIG_MMC is not set 987# CONFIG_MMC is not set
967# CONFIG_MEMSTICK is not set 988# CONFIG_MEMSTICK is not set
968# CONFIG_NEW_LEDS is not set 989# CONFIG_NEW_LEDS is not set
@@ -1008,12 +1029,15 @@ CONFIG_RTC_DRV_DS1307=y
1008# Platform RTC drivers 1029# Platform RTC drivers
1009# 1030#
1010# CONFIG_RTC_DRV_CMOS is not set 1031# CONFIG_RTC_DRV_CMOS is not set
1032# CONFIG_RTC_DRV_DS1286 is not set
1011# CONFIG_RTC_DRV_DS1511 is not set 1033# CONFIG_RTC_DRV_DS1511 is not set
1012# CONFIG_RTC_DRV_DS1553 is not set 1034# CONFIG_RTC_DRV_DS1553 is not set
1013# CONFIG_RTC_DRV_DS1742 is not set 1035# CONFIG_RTC_DRV_DS1742 is not set
1014# CONFIG_RTC_DRV_STK17TA8 is not set 1036# CONFIG_RTC_DRV_STK17TA8 is not set
1015# CONFIG_RTC_DRV_M48T86 is not set 1037# CONFIG_RTC_DRV_M48T86 is not set
1038# CONFIG_RTC_DRV_M48T35 is not set
1016# CONFIG_RTC_DRV_M48T59 is not set 1039# CONFIG_RTC_DRV_M48T59 is not set
1040# CONFIG_RTC_DRV_BQ4802 is not set
1017# CONFIG_RTC_DRV_V3020 is not set 1041# CONFIG_RTC_DRV_V3020 is not set
1018 1042
1019# 1043#
@@ -1022,6 +1046,7 @@ CONFIG_RTC_DRV_DS1307=y
1022# CONFIG_RTC_DRV_PPC is not set 1046# CONFIG_RTC_DRV_PPC is not set
1023# CONFIG_DMADEVICES is not set 1047# CONFIG_DMADEVICES is not set
1024# CONFIG_UIO is not set 1048# CONFIG_UIO is not set
1049# CONFIG_STAGING is not set
1025 1050
1026# 1051#
1027# File systems 1052# File systems
@@ -1033,12 +1058,13 @@ CONFIG_EXT3_FS=y
1033CONFIG_EXT3_FS_XATTR=y 1058CONFIG_EXT3_FS_XATTR=y
1034# CONFIG_EXT3_FS_POSIX_ACL is not set 1059# CONFIG_EXT3_FS_POSIX_ACL is not set
1035# CONFIG_EXT3_FS_SECURITY is not set 1060# CONFIG_EXT3_FS_SECURITY is not set
1036# CONFIG_EXT4DEV_FS is not set 1061# CONFIG_EXT4_FS is not set
1037CONFIG_JBD=y 1062CONFIG_JBD=y
1038CONFIG_FS_MBCACHE=y 1063CONFIG_FS_MBCACHE=y
1039# CONFIG_REISERFS_FS is not set 1064# CONFIG_REISERFS_FS is not set
1040# CONFIG_JFS_FS is not set 1065# CONFIG_JFS_FS is not set
1041# CONFIG_FS_POSIX_ACL is not set 1066# CONFIG_FS_POSIX_ACL is not set
1067CONFIG_FILE_LOCKING=y
1042CONFIG_XFS_FS=m 1068CONFIG_XFS_FS=m
1043# CONFIG_XFS_QUOTA is not set 1069# CONFIG_XFS_QUOTA is not set
1044# CONFIG_XFS_POSIX_ACL is not set 1070# CONFIG_XFS_POSIX_ACL is not set
@@ -1072,6 +1098,7 @@ CONFIG_INOTIFY_USER=y
1072CONFIG_PROC_FS=y 1098CONFIG_PROC_FS=y
1073CONFIG_PROC_KCORE=y 1099CONFIG_PROC_KCORE=y
1074CONFIG_PROC_SYSCTL=y 1100CONFIG_PROC_SYSCTL=y
1101CONFIG_PROC_PAGE_MONITOR=y
1075CONFIG_SYSFS=y 1102CONFIG_SYSFS=y
1076CONFIG_TMPFS=y 1103CONFIG_TMPFS=y
1077# CONFIG_TMPFS_POSIX_ACL is not set 1104# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1177,7 +1204,6 @@ CONFIG_NLS_UTF8=y
1177# Library routines 1204# Library routines
1178# 1205#
1179CONFIG_BITREVERSE=y 1206CONFIG_BITREVERSE=y
1180# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1181# CONFIG_CRC_CCITT is not set 1207# CONFIG_CRC_CCITT is not set
1182# CONFIG_CRC16 is not set 1208# CONFIG_CRC16 is not set
1183CONFIG_CRC_T10DIF=y 1209CONFIG_CRC_T10DIF=y
@@ -1209,13 +1235,15 @@ CONFIG_FRAME_WARN=1024
1209# CONFIG_SLUB_STATS is not set 1235# CONFIG_SLUB_STATS is not set
1210# CONFIG_DEBUG_BUGVERBOSE is not set 1236# CONFIG_DEBUG_BUGVERBOSE is not set
1211# CONFIG_DEBUG_MEMORY_INIT is not set 1237# CONFIG_DEBUG_MEMORY_INIT is not set
1238# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1212# CONFIG_LATENCYTOP is not set 1239# CONFIG_LATENCYTOP is not set
1213CONFIG_SYSCTL_SYSCALL_CHECK=y 1240CONFIG_SYSCTL_SYSCALL_CHECK=y
1214CONFIG_HAVE_FTRACE=y 1241CONFIG_HAVE_FUNCTION_TRACER=y
1215CONFIG_HAVE_DYNAMIC_FTRACE=y 1242
1216# CONFIG_FTRACE is not set 1243#
1217# CONFIG_SCHED_TRACER is not set 1244# Tracers
1218# CONFIG_CONTEXT_SWITCH_TRACER is not set 1245#
1246# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1219# CONFIG_SAMPLES is not set 1247# CONFIG_SAMPLES is not set
1220CONFIG_HAVE_ARCH_KGDB=y 1248CONFIG_HAVE_ARCH_KGDB=y
1221# CONFIG_IRQSTACKS is not set 1249# CONFIG_IRQSTACKS is not set
@@ -1227,6 +1255,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1227# 1255#
1228# CONFIG_KEYS is not set 1256# CONFIG_KEYS is not set
1229# CONFIG_SECURITY is not set 1257# CONFIG_SECURITY is not set
1258# CONFIG_SECURITYFS is not set
1230# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1259# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1231CONFIG_XOR_BLOCKS=y 1260CONFIG_XOR_BLOCKS=y
1232CONFIG_ASYNC_CORE=y 1261CONFIG_ASYNC_CORE=y
diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/ftrace.h
index de921326cca8..b298f7a631e6 100644
--- a/arch/powerpc/include/asm/ftrace.h
+++ b/arch/powerpc/include/asm/ftrace.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_POWERPC_FTRACE 1#ifndef _ASM_POWERPC_FTRACE
2#define _ASM_POWERPC_FTRACE 2#define _ASM_POWERPC_FTRACE
3 3
4#ifdef CONFIG_FTRACE 4#ifdef CONFIG_FUNCTION_TRACER
5#define MCOUNT_ADDR ((long)(_mcount)) 5#define MCOUNT_ADDR ((long)(_mcount))
6#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ 6#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */
7 7
diff --git a/arch/powerpc/include/asm/immap_cpm2.h b/arch/powerpc/include/asm/immap_cpm2.h
index 4080bab0468c..d4f069bf0e57 100644
--- a/arch/powerpc/include/asm/immap_cpm2.h
+++ b/arch/powerpc/include/asm/immap_cpm2.h
@@ -554,14 +554,11 @@ typedef struct usb_ctlr {
554 u8 usb_usadr; 554 u8 usb_usadr;
555 u8 usb_uscom; 555 u8 usb_uscom;
556 u8 res1[1]; 556 u8 res1[1];
557 u16 usb_usep1; 557 __be16 usb_usep[4];
558 u16 usb_usep2;
559 u16 usb_usep3;
560 u16 usb_usep4;
561 u8 res2[4]; 558 u8 res2[4];
562 u16 usb_usber; 559 __be16 usb_usber;
563 u8 res3[2]; 560 u8 res3[2];
564 u16 usb_usbmr; 561 __be16 usb_usbmr;
565 u8 usb_usbs; 562 u8 usb_usbs;
566 u8 res4[7]; 563 u8 res4[7];
567} usb_cpm2_t; 564} usb_cpm2_t;
diff --git a/arch/powerpc/include/asm/immap_qe.h b/arch/powerpc/include/asm/immap_qe.h
index 3c2fced3ac22..c346d0bcd230 100644
--- a/arch/powerpc/include/asm/immap_qe.h
+++ b/arch/powerpc/include/asm/immap_qe.h
@@ -215,10 +215,7 @@ struct usb_ctlr {
215 u8 usb_usadr; 215 u8 usb_usadr;
216 u8 usb_uscom; 216 u8 usb_uscom;
217 u8 res1[1]; 217 u8 res1[1];
218 __be16 usb_usep1; 218 __be16 usb_usep[4];
219 __be16 usb_usep2;
220 __be16 usb_usep3;
221 __be16 usb_usep4;
222 u8 res2[4]; 219 u8 res2[4];
223 __be16 usb_usber; 220 __be16 usb_usber;
224 u8 res3[2]; 221 u8 res3[2];
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index 51ecfef8d843..7464c0daddd1 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -92,13 +92,14 @@ extern void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
92 unsigned long mask, gfp_t flag, int node); 92 unsigned long mask, gfp_t flag, int node);
93extern void iommu_free_coherent(struct iommu_table *tbl, size_t size, 93extern void iommu_free_coherent(struct iommu_table *tbl, size_t size,
94 void *vaddr, dma_addr_t dma_handle); 94 void *vaddr, dma_addr_t dma_handle);
95extern dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, 95extern dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
96 void *vaddr, size_t size, unsigned long mask, 96 struct page *page, unsigned long offset,
97 enum dma_data_direction direction, 97 size_t size, unsigned long mask,
98 struct dma_attrs *attrs); 98 enum dma_data_direction direction,
99extern void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, 99 struct dma_attrs *attrs);
100 size_t size, enum dma_data_direction direction, 100extern void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle,
101 struct dma_attrs *attrs); 101 size_t size, enum dma_data_direction direction,
102 struct dma_attrs *attrs);
102 103
103extern void iommu_init_early_pSeries(void); 104extern void iommu_init_early_pSeries(void);
104extern void iommu_init_early_iSeries(void); 105extern void iommu_init_early_iSeries(void);
diff --git a/arch/powerpc/include/asm/kdump.h b/arch/powerpc/include/asm/kdump.h
index a503da9d56f3..b07ebb9784d3 100644
--- a/arch/powerpc/include/asm/kdump.h
+++ b/arch/powerpc/include/asm/kdump.h
@@ -9,12 +9,6 @@
9 * Reserve to the end of the FWNMI area, see head_64.S */ 9 * Reserve to the end of the FWNMI area, see head_64.S */
10#define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */ 10#define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */
11 11
12/*
13 * Used to differentiate between relocatable kdump kernel and other
14 * kernels
15 */
16#define KDUMP_SIGNATURE 0xfeed1234
17
18#ifdef CONFIG_CRASH_DUMP 12#ifdef CONFIG_CRASH_DUMP
19 13
20#define KDUMP_TRAMPOLINE_START 0x0100 14#define KDUMP_TRAMPOLINE_START 0x0100
@@ -26,8 +20,6 @@
26 20
27#ifndef __ASSEMBLY__ 21#ifndef __ASSEMBLY__
28 22
29extern unsigned long __kdump_flag;
30
31#if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_RELOCATABLE) 23#if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_RELOCATABLE)
32extern void reserve_kdump_trampoline(void); 24extern void reserve_kdump_trampoline(void);
33extern void setup_kdump_trampoline(void); 25extern void setup_kdump_trampoline(void);
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h
index 34d9ac433ace..c2ccca53b991 100644
--- a/arch/powerpc/include/asm/mpic.h
+++ b/arch/powerpc/include/asm/mpic.h
@@ -355,6 +355,8 @@ struct mpic
355#define MPIC_NO_BIAS 0x00000400 355#define MPIC_NO_BIAS 0x00000400
356/* Ignore NIRQS as reported by FRR */ 356/* Ignore NIRQS as reported by FRR */
357#define MPIC_BROKEN_FRR_NIRQS 0x00000800 357#define MPIC_BROKEN_FRR_NIRQS 0x00000800
358/* Destination only supports a single CPU at a time */
359#define MPIC_SINGLE_DEST_CPU 0x00001000
358 360
359/* MPIC HW modification ID */ 361/* MPIC HW modification ID */
360#define MPIC_REGSET_MASK 0xf0000000 362#define MPIC_REGSET_MASK 0xf0000000
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index 39d547fde956..57a2a494886b 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
@@ -208,6 +208,8 @@ extern void pcibios_setup_new_device(struct pci_dev *dev);
208 208
209extern void pcibios_claim_one_bus(struct pci_bus *b); 209extern void pcibios_claim_one_bus(struct pci_bus *b);
210 210
211extern void pcibios_allocate_bus_resources(struct pci_bus *bus);
212
211extern void pcibios_resource_survey(void); 213extern void pcibios_resource_survey(void);
212 214
213extern struct pci_controller *init_phb_dynamic(struct device_node *dn); 215extern struct pci_controller *init_phb_dynamic(struct device_node *dn);
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index fdb58253fa5b..92673b43858d 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -12,7 +12,7 @@ CFLAGS_prom_init.o += -fPIC
12CFLAGS_btext.o += -fPIC 12CFLAGS_btext.o += -fPIC
13endif 13endif
14 14
15ifdef CONFIG_FTRACE 15ifdef CONFIG_FUNCTION_TRACER
16# Do not trace early boot code 16# Do not trace early boot code
17CFLAGS_REMOVE_cputable.o = -pg -mno-sched-epilog 17CFLAGS_REMOVE_cputable.o = -pg -mno-sched-epilog
18CFLAGS_REMOVE_prom_init.o = -pg -mno-sched-epilog 18CFLAGS_REMOVE_prom_init.o = -pg -mno-sched-epilog
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index 49248f89ce23..14183af1b3fb 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -30,28 +30,26 @@ static void dma_iommu_free_coherent(struct device *dev, size_t size,
30} 30}
31 31
32/* Creates TCEs for a user provided buffer. The user buffer must be 32/* Creates TCEs for a user provided buffer. The user buffer must be
33 * contiguous real kernel storage (not vmalloc). The address of the buffer 33 * contiguous real kernel storage (not vmalloc). The address passed here
34 * passed here is the kernel (virtual) address of the buffer. The buffer 34 * comprises a page address and offset into that page. The dma_addr_t
35 * need not be page aligned, the dma_addr_t returned will point to the same 35 * returned will point to the same byte within the page as was passed in.
36 * byte within the page as vaddr.
37 */ 36 */
38static dma_addr_t dma_iommu_map_single(struct device *dev, void *vaddr, 37static dma_addr_t dma_iommu_map_page(struct device *dev, struct page *page,
39 size_t size, 38 unsigned long offset, size_t size,
40 enum dma_data_direction direction, 39 enum dma_data_direction direction,
41 struct dma_attrs *attrs) 40 struct dma_attrs *attrs)
42{ 41{
43 return iommu_map_single(dev, dev->archdata.dma_data, vaddr, size, 42 return iommu_map_page(dev, dev->archdata.dma_data, page, offset, size,
44 device_to_mask(dev), direction, attrs); 43 device_to_mask(dev), direction, attrs);
45} 44}
46 45
47 46
48static void dma_iommu_unmap_single(struct device *dev, dma_addr_t dma_handle, 47static void dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle,
49 size_t size, 48 size_t size, enum dma_data_direction direction,
50 enum dma_data_direction direction, 49 struct dma_attrs *attrs)
51 struct dma_attrs *attrs)
52{ 50{
53 iommu_unmap_single(dev->archdata.dma_data, dma_handle, size, direction, 51 iommu_unmap_page(dev->archdata.dma_data, dma_handle, size, direction,
54 attrs); 52 attrs);
55} 53}
56 54
57 55
@@ -94,10 +92,10 @@ static int dma_iommu_dma_supported(struct device *dev, u64 mask)
94struct dma_mapping_ops dma_iommu_ops = { 92struct dma_mapping_ops dma_iommu_ops = {
95 .alloc_coherent = dma_iommu_alloc_coherent, 93 .alloc_coherent = dma_iommu_alloc_coherent,
96 .free_coherent = dma_iommu_free_coherent, 94 .free_coherent = dma_iommu_free_coherent,
97 .map_single = dma_iommu_map_single,
98 .unmap_single = dma_iommu_unmap_single,
99 .map_sg = dma_iommu_map_sg, 95 .map_sg = dma_iommu_map_sg,
100 .unmap_sg = dma_iommu_unmap_sg, 96 .unmap_sg = dma_iommu_unmap_sg,
101 .dma_supported = dma_iommu_dma_supported, 97 .dma_supported = dma_iommu_dma_supported,
98 .map_page = dma_iommu_map_page,
99 .unmap_page = dma_iommu_unmap_page,
102}; 100};
103EXPORT_SYMBOL(dma_iommu_ops); 101EXPORT_SYMBOL(dma_iommu_ops);
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 1cbbf7033641..7ecc0d1855c3 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -1158,7 +1158,7 @@ machine_check_in_rtas:
1158 1158
1159#endif /* CONFIG_PPC_RTAS */ 1159#endif /* CONFIG_PPC_RTAS */
1160 1160
1161#ifdef CONFIG_FTRACE 1161#ifdef CONFIG_FUNCTION_TRACER
1162#ifdef CONFIG_DYNAMIC_FTRACE 1162#ifdef CONFIG_DYNAMIC_FTRACE
1163_GLOBAL(mcount) 1163_GLOBAL(mcount)
1164_GLOBAL(_mcount) 1164_GLOBAL(_mcount)
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index fd8b4bae9b04..e6d52845854f 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -884,7 +884,7 @@ _GLOBAL(enter_prom)
884 mtlr r0 884 mtlr r0
885 blr 885 blr
886 886
887#ifdef CONFIG_FTRACE 887#ifdef CONFIG_FUNCTION_TRACER
888#ifdef CONFIG_DYNAMIC_FTRACE 888#ifdef CONFIG_DYNAMIC_FTRACE
889_GLOBAL(mcount) 889_GLOBAL(mcount)
890_GLOBAL(_mcount) 890_GLOBAL(_mcount)
diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
index 3855ceb937b0..f4b006ed0ab1 100644
--- a/arch/powerpc/kernel/ftrace.c
+++ b/arch/powerpc/kernel/ftrace.c
@@ -28,17 +28,17 @@ static unsigned int ftrace_nop = 0x60000000;
28#endif 28#endif
29 29
30 30
31static unsigned int notrace ftrace_calc_offset(long ip, long addr) 31static unsigned int ftrace_calc_offset(long ip, long addr)
32{ 32{
33 return (int)(addr - ip); 33 return (int)(addr - ip);
34} 34}
35 35
36notrace unsigned char *ftrace_nop_replace(void) 36unsigned char *ftrace_nop_replace(void)
37{ 37{
38 return (char *)&ftrace_nop; 38 return (char *)&ftrace_nop;
39} 39}
40 40
41notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr) 41unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
42{ 42{
43 static unsigned int op; 43 static unsigned int op;
44 44
@@ -68,7 +68,7 @@ notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
68# define _ASM_PTR " .long " 68# define _ASM_PTR " .long "
69#endif 69#endif
70 70
71notrace int 71int
72ftrace_modify_code(unsigned long ip, unsigned char *old_code, 72ftrace_modify_code(unsigned long ip, unsigned char *old_code,
73 unsigned char *new_code) 73 unsigned char *new_code)
74{ 74{
@@ -113,7 +113,7 @@ ftrace_modify_code(unsigned long ip, unsigned char *old_code,
113 return faulted; 113 return faulted;
114} 114}
115 115
116notrace int ftrace_update_ftrace_func(ftrace_func_t func) 116int ftrace_update_ftrace_func(ftrace_func_t func)
117{ 117{
118 unsigned long ip = (unsigned long)(&ftrace_call); 118 unsigned long ip = (unsigned long)(&ftrace_call);
119 unsigned char old[MCOUNT_INSN_SIZE], *new; 119 unsigned char old[MCOUNT_INSN_SIZE], *new;
@@ -126,23 +126,6 @@ notrace int ftrace_update_ftrace_func(ftrace_func_t func)
126 return ret; 126 return ret;
127} 127}
128 128
129notrace int ftrace_mcount_set(unsigned long *data)
130{
131 unsigned long ip = (long)(&mcount_call);
132 unsigned long *addr = data;
133 unsigned char old[MCOUNT_INSN_SIZE], *new;
134
135 /*
136 * Replace the mcount stub with a pointer to the
137 * ip recorder function.
138 */
139 memcpy(old, &mcount_call, MCOUNT_INSN_SIZE);
140 new = ftrace_call_replace(ip, *addr);
141 *addr = ftrace_modify_code(ip, old, new);
142
143 return 0;
144}
145
146int __init ftrace_dyn_arch_init(void *data) 129int __init ftrace_dyn_arch_init(void *data)
147{ 130{
148 /* This is running in kstop_machine */ 131 /* This is running in kstop_machine */
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 69489bd3210c..b4bcf5a930fa 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -97,12 +97,6 @@ __secondary_hold_spinloop:
97__secondary_hold_acknowledge: 97__secondary_hold_acknowledge:
98 .llong 0x0 98 .llong 0x0
99 99
100 /* This flag is set by purgatory if we should be a kdump kernel. */
101 /* Do not move this variable as purgatory knows about it. */
102 .globl __kdump_flag
103__kdump_flag:
104 .llong 0x0
105
106#ifdef CONFIG_PPC_ISERIES 100#ifdef CONFIG_PPC_ISERIES
107 /* 101 /*
108 * At offset 0x20, there is a pointer to iSeries LPAR data. 102 * At offset 0x20, there is a pointer to iSeries LPAR data.
@@ -112,6 +106,20 @@ __kdump_flag:
112 .llong hvReleaseData-KERNELBASE 106 .llong hvReleaseData-KERNELBASE
113#endif /* CONFIG_PPC_ISERIES */ 107#endif /* CONFIG_PPC_ISERIES */
114 108
109#ifdef CONFIG_CRASH_DUMP
110 /* This flag is set to 1 by a loader if the kernel should run
111 * at the loaded address instead of the linked address. This
112 * is used by kexec-tools to keep the the kdump kernel in the
113 * crash_kernel region. The loader is responsible for
114 * observing the alignment requirement.
115 */
116 /* Do not move this variable as kexec-tools knows about it. */
117 . = 0x5c
118 .globl __run_at_load
119__run_at_load:
120 .long 0x72756e30 /* "run0" -- relocate to 0 by default */
121#endif
122
115 . = 0x60 123 . = 0x60
116/* 124/*
117 * The following code is used to hold secondary processors 125 * The following code is used to hold secondary processors
@@ -1391,8 +1399,8 @@ _STATIC(__after_prom_start)
1391 lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */ 1399 lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
1392 sldi r25,r25,32 1400 sldi r25,r25,32
1393#ifdef CONFIG_CRASH_DUMP 1401#ifdef CONFIG_CRASH_DUMP
1394 ld r7,__kdump_flag-_stext(r26) 1402 lwz r7,__run_at_load-_stext(r26)
1395 cmpldi cr0,r7,1 /* kdump kernel ? - stay where we are */ 1403 cmplwi cr0,r7,1 /* kdump kernel ? - stay where we are */
1396 bne 1f 1404 bne 1f
1397 add r25,r25,r26 1405 add r25,r25,r26
1398#endif 1406#endif
@@ -1416,11 +1424,11 @@ _STATIC(__after_prom_start)
1416#ifdef CONFIG_CRASH_DUMP 1424#ifdef CONFIG_CRASH_DUMP
1417/* 1425/*
1418 * Check if the kernel has to be running as relocatable kernel based on the 1426 * Check if the kernel has to be running as relocatable kernel based on the
1419 * variable __kdump_flag, if it is set the kernel is treated as relocatable 1427 * variable __run_at_load, if it is set the kernel is treated as relocatable
1420 * kernel, otherwise it will be moved to PHYSICAL_START 1428 * kernel, otherwise it will be moved to PHYSICAL_START
1421 */ 1429 */
1422 ld r7,__kdump_flag-_stext(r26) 1430 lwz r7,__run_at_load-_stext(r26)
1423 cmpldi cr0,r7,1 1431 cmplwi cr0,r7,1
1424 bne 3f 1432 bne 3f
1425 1433
1426 li r5,__end_interrupts - _stext /* just copy interrupts */ 1434 li r5,__end_interrupts - _stext /* just copy interrupts */
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index a06362223f8d..64299d28f364 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -79,20 +79,21 @@ static void ibmebus_free_coherent(struct device *dev,
79 kfree(vaddr); 79 kfree(vaddr);
80} 80}
81 81
82static dma_addr_t ibmebus_map_single(struct device *dev, 82static dma_addr_t ibmebus_map_page(struct device *dev,
83 void *ptr, 83 struct page *page,
84 size_t size, 84 unsigned long offset,
85 enum dma_data_direction direction, 85 size_t size,
86 struct dma_attrs *attrs) 86 enum dma_data_direction direction,
87 struct dma_attrs *attrs)
87{ 88{
88 return (dma_addr_t)(ptr); 89 return (dma_addr_t)(page_address(page) + offset);
89} 90}
90 91
91static void ibmebus_unmap_single(struct device *dev, 92static void ibmebus_unmap_page(struct device *dev,
92 dma_addr_t dma_addr, 93 dma_addr_t dma_addr,
93 size_t size, 94 size_t size,
94 enum dma_data_direction direction, 95 enum dma_data_direction direction,
95 struct dma_attrs *attrs) 96 struct dma_attrs *attrs)
96{ 97{
97 return; 98 return;
98} 99}
@@ -129,11 +130,11 @@ static int ibmebus_dma_supported(struct device *dev, u64 mask)
129static struct dma_mapping_ops ibmebus_dma_ops = { 130static struct dma_mapping_ops ibmebus_dma_ops = {
130 .alloc_coherent = ibmebus_alloc_coherent, 131 .alloc_coherent = ibmebus_alloc_coherent,
131 .free_coherent = ibmebus_free_coherent, 132 .free_coherent = ibmebus_free_coherent,
132 .map_single = ibmebus_map_single,
133 .unmap_single = ibmebus_unmap_single,
134 .map_sg = ibmebus_map_sg, 133 .map_sg = ibmebus_map_sg,
135 .unmap_sg = ibmebus_unmap_sg, 134 .unmap_sg = ibmebus_unmap_sg,
136 .dma_supported = ibmebus_dma_supported, 135 .dma_supported = ibmebus_dma_supported,
136 .map_page = ibmebus_map_page,
137 .unmap_page = ibmebus_unmap_page,
137}; 138};
138 139
139static int ibmebus_match_path(struct device *dev, void *data) 140static int ibmebus_match_path(struct device *dev, void *data)
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index 3857d7e2af0c..1bfa706b96e7 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -32,6 +32,7 @@
32#include <linux/dma-mapping.h> 32#include <linux/dma-mapping.h>
33#include <linux/bitops.h> 33#include <linux/bitops.h>
34#include <linux/iommu-helper.h> 34#include <linux/iommu-helper.h>
35#include <linux/crash_dump.h>
35#include <asm/io.h> 36#include <asm/io.h>
36#include <asm/prom.h> 37#include <asm/prom.h>
37#include <asm/iommu.h> 38#include <asm/iommu.h>
@@ -460,7 +461,7 @@ void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist,
460 461
461static void iommu_table_clear(struct iommu_table *tbl) 462static void iommu_table_clear(struct iommu_table *tbl)
462{ 463{
463 if (!__kdump_flag) { 464 if (!is_kdump_kernel()) {
464 /* Clear the table in case firmware left allocations in it */ 465 /* Clear the table in case firmware left allocations in it */
465 ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size); 466 ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size);
466 return; 467 return;
@@ -564,21 +565,23 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
564} 565}
565 566
566/* Creates TCEs for a user provided buffer. The user buffer must be 567/* Creates TCEs for a user provided buffer. The user buffer must be
567 * contiguous real kernel storage (not vmalloc). The address of the buffer 568 * contiguous real kernel storage (not vmalloc). The address passed here
568 * passed here is the kernel (virtual) address of the buffer. The buffer 569 * comprises a page address and offset into that page. The dma_addr_t
569 * need not be page aligned, the dma_addr_t returned will point to the same 570 * returned will point to the same byte within the page as was passed in.
570 * byte within the page as vaddr.
571 */ 571 */
572dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, 572dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
573 void *vaddr, size_t size, unsigned long mask, 573 struct page *page, unsigned long offset, size_t size,
574 enum dma_data_direction direction, struct dma_attrs *attrs) 574 unsigned long mask, enum dma_data_direction direction,
575 struct dma_attrs *attrs)
575{ 576{
576 dma_addr_t dma_handle = DMA_ERROR_CODE; 577 dma_addr_t dma_handle = DMA_ERROR_CODE;
578 void *vaddr;
577 unsigned long uaddr; 579 unsigned long uaddr;
578 unsigned int npages, align; 580 unsigned int npages, align;
579 581
580 BUG_ON(direction == DMA_NONE); 582 BUG_ON(direction == DMA_NONE);
581 583
584 vaddr = page_address(page) + offset;
582 uaddr = (unsigned long)vaddr; 585 uaddr = (unsigned long)vaddr;
583 npages = iommu_num_pages(uaddr, size, IOMMU_PAGE_SIZE); 586 npages = iommu_num_pages(uaddr, size, IOMMU_PAGE_SIZE);
584 587
@@ -604,9 +607,9 @@ dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl,
604 return dma_handle; 607 return dma_handle;
605} 608}
606 609
607void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, 610void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle,
608 size_t size, enum dma_data_direction direction, 611 size_t size, enum dma_data_direction direction,
609 struct dma_attrs *attrs) 612 struct dma_attrs *attrs)
610{ 613{
611 unsigned int npages; 614 unsigned int npages;
612 615
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index e6efec788c4d..3c4ca046e854 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -255,14 +255,11 @@ static union thread_union kexec_stack
255/* Our assembly helper, in kexec_stub.S */ 255/* Our assembly helper, in kexec_stub.S */
256extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, 256extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start,
257 void *image, void *control, 257 void *image, void *control,
258 void (*clear_all)(void), 258 void (*clear_all)(void)) ATTRIB_NORET;
259 unsigned long kdump_flag) ATTRIB_NORET;
260 259
261/* too late to fail here */ 260/* too late to fail here */
262void default_machine_kexec(struct kimage *image) 261void default_machine_kexec(struct kimage *image)
263{ 262{
264 unsigned long kdump_flag = 0;
265
266 /* prepare control code if any */ 263 /* prepare control code if any */
267 264
268 /* 265 /*
@@ -275,8 +272,6 @@ void default_machine_kexec(struct kimage *image)
275 272
276 if (crashing_cpu == -1) 273 if (crashing_cpu == -1)
277 kexec_prepare_cpus(); 274 kexec_prepare_cpus();
278 else
279 kdump_flag = KDUMP_SIGNATURE;
280 275
281 /* switch to a staticly allocated stack. Based on irq stack code. 276 /* switch to a staticly allocated stack. Based on irq stack code.
282 * XXX: the task struct will likely be invalid once we do the copy! 277 * XXX: the task struct will likely be invalid once we do the copy!
@@ -289,7 +284,7 @@ void default_machine_kexec(struct kimage *image)
289 */ 284 */
290 kexec_sequence(&kexec_stack, image->start, image, 285 kexec_sequence(&kexec_stack, image->start, image,
291 page_address(image->control_code_page), 286 page_address(image->control_code_page),
292 ppc_md.hpte_clear_all, kdump_flag); 287 ppc_md.hpte_clear_all);
293 /* NOTREACHED */ 288 /* NOTREACHED */
294} 289}
295 290
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 6a9b4bf0d173..bdc8b0e860e5 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -470,6 +470,8 @@ _GLOBAL(_tlbil_pid)
470 mfspr r3,SPRN_MMUCSR0 470 mfspr r3,SPRN_MMUCSR0
471 andi. r3,r3,MMUCSR0_TLBFI@l 471 andi. r3,r3,MMUCSR0_TLBFI@l
472 bne 1b 472 bne 1b
473 msync
474 isync
473 blr 475 blr
474 476
475/* 477/*
@@ -486,6 +488,8 @@ _GLOBAL(_tlbil_va)
486 rlwinm r4,r4,0,1,31 488 rlwinm r4,r4,0,1,31
487 mtspr SPRN_MAS1,r4 489 mtspr SPRN_MAS1,r4
488 tlbwe 490 tlbwe
491 msync
492 isync
489 blr 493 blr
490#endif /* CONFIG_FSL_BOOKE */ 494#endif /* CONFIG_FSL_BOOKE */
491 495
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index a243fd072a77..3053fe5c62f2 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -611,12 +611,10 @@ real_mode: /* assume normal blr return */
611 611
612 612
613/* 613/*
614 * kexec_sequence(newstack, start, image, control, clear_all(), kdump_flag) 614 * kexec_sequence(newstack, start, image, control, clear_all())
615 * 615 *
616 * does the grungy work with stack switching and real mode switches 616 * does the grungy work with stack switching and real mode switches
617 * also does simple calls to other code 617 * also does simple calls to other code
618 *
619 * kdump_flag says whether the next kernel should be a kdump kernel.
620 */ 618 */
621 619
622_GLOBAL(kexec_sequence) 620_GLOBAL(kexec_sequence)
@@ -649,7 +647,7 @@ _GLOBAL(kexec_sequence)
649 mr r29,r5 /* image (virt) */ 647 mr r29,r5 /* image (virt) */
650 mr r28,r6 /* control, unused */ 648 mr r28,r6 /* control, unused */
651 mr r27,r7 /* clear_all() fn desc */ 649 mr r27,r7 /* clear_all() fn desc */
652 mr r26,r8 /* kdump flag */ 650 mr r26,r8 /* spare */
653 lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */ 651 lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */
654 652
655 /* disable interrupts, we are overwriting kernel data next */ 653 /* disable interrupts, we are overwriting kernel data next */
@@ -711,6 +709,5 @@ _GLOBAL(kexec_sequence)
711 mr r4,r30 # start, aka phys mem offset 709 mr r4,r30 # start, aka phys mem offset
712 mtlr 4 710 mtlr 4
713 li r5,0 711 li r5,0
714 mr r6,r26 /* kdump_flag */ 712 blr /* image->start(physid, image->start, 0); */
715 blr /* image->start(physid, image->start, 0, kdump_flag); */
716#endif /* CONFIG_KEXEC */ 713#endif /* CONFIG_KEXEC */
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
index 93ae5b169f41..f3c9cae01dd5 100644
--- a/arch/powerpc/kernel/of_device.c
+++ b/arch/powerpc/kernel/of_device.c
@@ -78,7 +78,6 @@ struct of_device *of_device_alloc(struct device_node *np,
78 dev->dev.parent = parent; 78 dev->dev.parent = parent;
79 dev->dev.release = of_release_dev; 79 dev->dev.release = of_release_dev;
80 dev->dev.archdata.of_node = np; 80 dev->dev.archdata.of_node = np;
81 set_dev_node(&dev->dev, of_node_to_nid(np));
82 81
83 if (bus_id) 82 if (bus_id)
84 strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE); 83 strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE);
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 1ec73938a00f..f36936d9fda3 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -1239,69 +1239,66 @@ static int __init reparent_resources(struct resource *parent,
1239 * as well. 1239 * as well.
1240 */ 1240 */
1241 1241
1242static void __init pcibios_allocate_bus_resources(struct list_head *bus_list) 1242void pcibios_allocate_bus_resources(struct pci_bus *bus)
1243{ 1243{
1244 struct pci_bus *bus; 1244 struct pci_bus *b;
1245 int i; 1245 int i;
1246 struct resource *res, *pr; 1246 struct resource *res, *pr;
1247 1247
1248 /* Depth-First Search on bus tree */ 1248 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {
1249 list_for_each_entry(bus, bus_list, node) { 1249 if ((res = bus->resource[i]) == NULL || !res->flags
1250 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { 1250 || res->start > res->end)
1251 if ((res = bus->resource[i]) == NULL || !res->flags 1251 continue;
1252 || res->start > res->end) 1252 if (bus->parent == NULL)
1253 continue; 1253 pr = (res->flags & IORESOURCE_IO) ?
1254 if (bus->parent == NULL) 1254 &ioport_resource : &iomem_resource;
1255 pr = (res->flags & IORESOURCE_IO) ? 1255 else {
1256 &ioport_resource : &iomem_resource; 1256 /* Don't bother with non-root busses when
1257 else { 1257 * re-assigning all resources. We clear the
1258 /* Don't bother with non-root busses when 1258 * resource flags as if they were colliding
1259 * re-assigning all resources. We clear the 1259 * and as such ensure proper re-allocation
1260 * resource flags as if they were colliding 1260 * later.
1261 * and as such ensure proper re-allocation 1261 */
1262 * later. 1262 if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)
1263 goto clear_resource;
1264 pr = pci_find_parent_resource(bus->self, res);
1265 if (pr == res) {
1266 /* this happens when the generic PCI
1267 * code (wrongly) decides that this
1268 * bridge is transparent -- paulus
1263 */ 1269 */
1264 if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC) 1270 continue;
1265 goto clear_resource;
1266 pr = pci_find_parent_resource(bus->self, res);
1267 if (pr == res) {
1268 /* this happens when the generic PCI
1269 * code (wrongly) decides that this
1270 * bridge is transparent -- paulus
1271 */
1272 continue;
1273 }
1274 } 1271 }
1272 }
1275 1273
1276 DBG("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx " 1274 DBG("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx "
1277 "[0x%x], parent %p (%s)\n", 1275 "[0x%x], parent %p (%s)\n",
1278 bus->self ? pci_name(bus->self) : "PHB", 1276 bus->self ? pci_name(bus->self) : "PHB",
1279 bus->number, i, 1277 bus->number, i,
1280 (unsigned long long)res->start, 1278 (unsigned long long)res->start,
1281 (unsigned long long)res->end, 1279 (unsigned long long)res->end,
1282 (unsigned int)res->flags, 1280 (unsigned int)res->flags,
1283 pr, (pr && pr->name) ? pr->name : "nil"); 1281 pr, (pr && pr->name) ? pr->name : "nil");
1284 1282
1285 if (pr && !(pr->flags & IORESOURCE_UNSET)) { 1283 if (pr && !(pr->flags & IORESOURCE_UNSET)) {
1286 if (request_resource(pr, res) == 0) 1284 if (request_resource(pr, res) == 0)
1287 continue; 1285 continue;
1288 /* 1286 /*
1289 * Must be a conflict with an existing entry. 1287 * Must be a conflict with an existing entry.
1290 * Move that entry (or entries) under the 1288 * Move that entry (or entries) under the
1291 * bridge resource and try again. 1289 * bridge resource and try again.
1292 */ 1290 */
1293 if (reparent_resources(pr, res) == 0) 1291 if (reparent_resources(pr, res) == 0)
1294 continue; 1292 continue;
1295 }
1296 printk(KERN_WARNING
1297 "PCI: Cannot allocate resource region "
1298 "%d of PCI bridge %d, will remap\n",
1299 i, bus->number);
1300clear_resource:
1301 res->flags = 0;
1302 } 1293 }
1303 pcibios_allocate_bus_resources(&bus->children); 1294 printk(KERN_WARNING "PCI: Cannot allocate resource region "
1295 "%d of PCI bridge %d, will remap\n", i, bus->number);
1296clear_resource:
1297 res->flags = 0;
1304 } 1298 }
1299
1300 list_for_each_entry(b, &bus->children, node)
1301 pcibios_allocate_bus_resources(b);
1305} 1302}
1306 1303
1307static inline void __devinit alloc_resource(struct pci_dev *dev, int idx) 1304static inline void __devinit alloc_resource(struct pci_dev *dev, int idx)
@@ -1372,10 +1369,13 @@ static void __init pcibios_allocate_resources(int pass)
1372 1369
1373void __init pcibios_resource_survey(void) 1370void __init pcibios_resource_survey(void)
1374{ 1371{
1372 struct pci_bus *b;
1373
1375 /* Allocate and assign resources. If we re-assign everything, then 1374 /* Allocate and assign resources. If we re-assign everything, then
1376 * we skip the allocate phase 1375 * we skip the allocate phase
1377 */ 1376 */
1378 pcibios_allocate_bus_resources(&pci_root_buses); 1377 list_for_each_entry(b, &pci_root_buses, node)
1378 pcibios_allocate_bus_resources(b);
1379 1379
1380 if (!(ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)) { 1380 if (!(ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)) {
1381 pcibios_allocate_resources(0); 1381 pcibios_allocate_resources(0);
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 8247cff1cb3e..3502b9101e6b 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -426,7 +426,7 @@ int pcibios_unmap_io_space(struct pci_bus *bus)
426 pci_name(bus->self)); 426 pci_name(bus->self));
427 427
428 __flush_hash_table_range(&init_mm, res->start + _IO_BASE, 428 __flush_hash_table_range(&init_mm, res->start + _IO_BASE,
429 res->end - res->start + 1); 429 res->end + _IO_BASE + 1);
430 return 0; 430 return 0;
431 } 431 }
432 432
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 8edc2359c419..260089dccfb0 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -68,7 +68,7 @@ EXPORT_SYMBOL(single_step_exception);
68EXPORT_SYMBOL(sys_sigreturn); 68EXPORT_SYMBOL(sys_sigreturn);
69#endif 69#endif
70 70
71#ifdef CONFIG_FTRACE 71#ifdef CONFIG_FUNCTION_TRACER
72EXPORT_SYMBOL(_mcount); 72EXPORT_SYMBOL(_mcount);
73#endif 73#endif
74 74
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 23e0db203329..2445945d3761 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -671,7 +671,7 @@ static struct fake_elf {
671 u32 ignore_me; 671 u32 ignore_me;
672 } rpadesc; 672 } rpadesc;
673 } rpanote; 673 } rpanote;
674} fake_elf __section(.fakeelf) = { 674} fake_elf = {
675 .elfhdr = { 675 .elfhdr = {
676 .e_ident = { 0x7f, 'E', 'L', 'F', 676 .e_ident = { 0x7f, 'E', 'L', 'F',
677 ELFCLASS32, ELFDATA2MSB, EV_CURRENT }, 677 ELFCLASS32, ELFDATA2MSB, EV_CURRENT },
@@ -713,13 +713,13 @@ static struct fake_elf {
713 .type = 0x12759999, 713 .type = 0x12759999,
714 .name = "IBM,RPA-Client-Config", 714 .name = "IBM,RPA-Client-Config",
715 .rpadesc = { 715 .rpadesc = {
716 .lpar_affinity = 1, 716 .lpar_affinity = 0,
717 .min_rmo_size = 128, /* in megabytes */ 717 .min_rmo_size = 64, /* in megabytes */
718 .min_rmo_percent = 0, 718 .min_rmo_percent = 0,
719 .max_pft_size = 46, /* 2^46 bytes max PFT size */ 719 .max_pft_size = 48, /* 2^48 bytes max PFT size */
720 .splpar = 1, 720 .splpar = 1,
721 .min_load = ~0U, 721 .min_load = ~0U,
722 .new_mem_def = 1 722 .new_mem_def = 0
723 } 723 }
724 } 724 }
725}; 725};
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 843c0af210d0..169d74cef157 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -444,9 +444,9 @@ void __init setup_system(void)
444 if (htab_address) 444 if (htab_address)
445 printk("htab_address = 0x%p\n", htab_address); 445 printk("htab_address = 0x%p\n", htab_address);
446 printk("htab_hash_mask = 0x%lx\n", htab_hash_mask); 446 printk("htab_hash_mask = 0x%lx\n", htab_hash_mask);
447#if PHYSICAL_START > 0 447 if (PHYSICAL_START > 0)
448 printk("physical_start = 0x%lx\n", PHYSICAL_START); 448 printk("physical_start = 0x%lx\n",
449#endif 449 PHYSICAL_START);
450 printk("-----------------------------------------------------\n"); 450 printk("-----------------------------------------------------\n");
451 451
452 DBG(" <- setup_system()\n"); 452 DBG(" <- setup_system()\n");
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 3e80aa32b8b0..b13abf305996 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -410,7 +410,7 @@ inline unsigned long copy_fpr_from_user(struct task_struct *task,
410 * altivec/spe instructions at some point. 410 * altivec/spe instructions at some point.
411 */ 411 */
412static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, 412static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame,
413 int sigret) 413 int sigret, int ctx_has_vsx_region)
414{ 414{
415 unsigned long msr = regs->msr; 415 unsigned long msr = regs->msr;
416 416
@@ -451,7 +451,7 @@ static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame,
451 * the saved MSR value to indicate that frame->mc_vregs 451 * the saved MSR value to indicate that frame->mc_vregs
452 * contains valid data 452 * contains valid data
453 */ 453 */
454 if (current->thread.used_vsr) { 454 if (current->thread.used_vsr && ctx_has_vsx_region) {
455 __giveup_vsx(current); 455 __giveup_vsx(current);
456 if (copy_vsx_to_user(&frame->mc_vsregs, current)) 456 if (copy_vsx_to_user(&frame->mc_vsregs, current))
457 return 1; 457 return 1;
@@ -858,11 +858,11 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
858 frame = &rt_sf->uc.uc_mcontext; 858 frame = &rt_sf->uc.uc_mcontext;
859 addr = frame; 859 addr = frame;
860 if (vdso32_rt_sigtramp && current->mm->context.vdso_base) { 860 if (vdso32_rt_sigtramp && current->mm->context.vdso_base) {
861 if (save_user_regs(regs, frame, 0)) 861 if (save_user_regs(regs, frame, 0, 1))
862 goto badframe; 862 goto badframe;
863 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp; 863 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
864 } else { 864 } else {
865 if (save_user_regs(regs, frame, __NR_rt_sigreturn)) 865 if (save_user_regs(regs, frame, __NR_rt_sigreturn, 1))
866 goto badframe; 866 goto badframe;
867 regs->link = (unsigned long) frame->tramp; 867 regs->link = (unsigned long) frame->tramp;
868 } 868 }
@@ -936,13 +936,26 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
936 int ctx_size, int r6, int r7, int r8, struct pt_regs *regs) 936 int ctx_size, int r6, int r7, int r8, struct pt_regs *regs)
937{ 937{
938 unsigned char tmp; 938 unsigned char tmp;
939 int ctx_has_vsx_region = 0;
939 940
940#ifdef CONFIG_PPC64 941#ifdef CONFIG_PPC64
941 unsigned long new_msr = 0; 942 unsigned long new_msr = 0;
942 943
943 if (new_ctx && 944 if (new_ctx) {
944 __get_user(new_msr, &new_ctx->uc_mcontext.mc_gregs[PT_MSR])) 945 struct mcontext __user *mcp;
945 return -EFAULT; 946 u32 cmcp;
947
948 /*
949 * Get pointer to the real mcontext. No need for
950 * access_ok since we are dealing with compat
951 * pointers.
952 */
953 if (__get_user(cmcp, &new_ctx->uc_regs))
954 return -EFAULT;
955 mcp = (struct mcontext __user *)(u64)cmcp;
956 if (__get_user(new_msr, &mcp->mc_gregs[PT_MSR]))
957 return -EFAULT;
958 }
946 /* 959 /*
947 * Check that the context is not smaller than the original 960 * Check that the context is not smaller than the original
948 * size (with VMX but without VSX) 961 * size (with VMX but without VSX)
@@ -956,16 +969,9 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
956 if ((ctx_size < sizeof(struct ucontext)) && 969 if ((ctx_size < sizeof(struct ucontext)) &&
957 (new_msr & MSR_VSX)) 970 (new_msr & MSR_VSX))
958 return -EINVAL; 971 return -EINVAL;
959#ifdef CONFIG_VSX 972 /* Does the context have enough room to store VSX data? */
960 /* 973 if (ctx_size >= sizeof(struct ucontext))
961 * If userspace doesn't provide enough room for VSX data, 974 ctx_has_vsx_region = 1;
962 * but current thread has used VSX, we don't have anywhere
963 * to store the full context back into.
964 */
965 if ((ctx_size < sizeof(struct ucontext)) &&
966 (current->thread.used_vsr && old_ctx))
967 return -EINVAL;
968#endif
969#else 975#else
970 /* Context size is for future use. Right now, we only make sure 976 /* Context size is for future use. Right now, we only make sure
971 * we are passed something we understand 977 * we are passed something we understand
@@ -985,17 +991,17 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
985 */ 991 */
986 mctx = (struct mcontext __user *) 992 mctx = (struct mcontext __user *)
987 ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL); 993 ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL);
988 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) 994 if (!access_ok(VERIFY_WRITE, old_ctx, ctx_size)
989 || save_user_regs(regs, mctx, 0) 995 || save_user_regs(regs, mctx, 0, ctx_has_vsx_region)
990 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked) 996 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked)
991 || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs)) 997 || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs))
992 return -EFAULT; 998 return -EFAULT;
993 } 999 }
994 if (new_ctx == NULL) 1000 if (new_ctx == NULL)
995 return 0; 1001 return 0;
996 if (!access_ok(VERIFY_READ, new_ctx, sizeof(*new_ctx)) 1002 if (!access_ok(VERIFY_READ, new_ctx, ctx_size)
997 || __get_user(tmp, (u8 __user *) new_ctx) 1003 || __get_user(tmp, (u8 __user *) new_ctx)
998 || __get_user(tmp, (u8 __user *) (new_ctx + 1) - 1)) 1004 || __get_user(tmp, (u8 __user *) new_ctx + ctx_size - 1))
999 return -EFAULT; 1005 return -EFAULT;
1000 1006
1001 /* 1007 /*
@@ -1196,11 +1202,11 @@ int handle_signal32(unsigned long sig, struct k_sigaction *ka,
1196 goto badframe; 1202 goto badframe;
1197 1203
1198 if (vdso32_sigtramp && current->mm->context.vdso_base) { 1204 if (vdso32_sigtramp && current->mm->context.vdso_base) {
1199 if (save_user_regs(regs, &frame->mctx, 0)) 1205 if (save_user_regs(regs, &frame->mctx, 0, 1))
1200 goto badframe; 1206 goto badframe;
1201 regs->link = current->mm->context.vdso_base + vdso32_sigtramp; 1207 regs->link = current->mm->context.vdso_base + vdso32_sigtramp;
1202 } else { 1208 } else {
1203 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn)) 1209 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn, 1))
1204 goto badframe; 1210 goto badframe;
1205 regs->link = (unsigned long) frame->mctx.tramp; 1211 regs->link = (unsigned long) frame->mctx.tramp;
1206 } 1212 }
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index c6a8f2326b6f..e132891d3cea 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -74,7 +74,8 @@ static const char fmt64[] = KERN_INFO \
74 */ 74 */
75 75
76static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, 76static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
77 int signr, sigset_t *set, unsigned long handler) 77 int signr, sigset_t *set, unsigned long handler,
78 int ctx_has_vsx_region)
78{ 79{
79 /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the 80 /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the
80 * process never used altivec yet (MSR_VEC is zero in pt_regs of 81 * process never used altivec yet (MSR_VEC is zero in pt_regs of
@@ -121,7 +122,7 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
121 * then out to userspace. Update v_regs to point after the 122 * then out to userspace. Update v_regs to point after the
122 * VMX data. 123 * VMX data.
123 */ 124 */
124 if (current->thread.used_vsr) { 125 if (current->thread.used_vsr && ctx_has_vsx_region) {
125 __giveup_vsx(current); 126 __giveup_vsx(current);
126 v_regs += ELF_NVRREG; 127 v_regs += ELF_NVRREG;
127 err |= copy_vsx_to_user(v_regs, current); 128 err |= copy_vsx_to_user(v_regs, current);
@@ -282,9 +283,10 @@ int sys_swapcontext(struct ucontext __user *old_ctx,
282 unsigned char tmp; 283 unsigned char tmp;
283 sigset_t set; 284 sigset_t set;
284 unsigned long new_msr = 0; 285 unsigned long new_msr = 0;
286 int ctx_has_vsx_region = 0;
285 287
286 if (new_ctx && 288 if (new_ctx &&
287 __get_user(new_msr, &new_ctx->uc_mcontext.gp_regs[PT_MSR])) 289 get_user(new_msr, &new_ctx->uc_mcontext.gp_regs[PT_MSR]))
288 return -EFAULT; 290 return -EFAULT;
289 /* 291 /*
290 * Check that the context is not smaller than the original 292 * Check that the context is not smaller than the original
@@ -299,28 +301,23 @@ int sys_swapcontext(struct ucontext __user *old_ctx,
299 if ((ctx_size < sizeof(struct ucontext)) && 301 if ((ctx_size < sizeof(struct ucontext)) &&
300 (new_msr & MSR_VSX)) 302 (new_msr & MSR_VSX))
301 return -EINVAL; 303 return -EINVAL;
302#ifdef CONFIG_VSX 304 /* Does the context have enough room to store VSX data? */
303 /* 305 if (ctx_size >= sizeof(struct ucontext))
304 * If userspace doesn't provide enough room for VSX data, 306 ctx_has_vsx_region = 1;
305 * but current thread has used VSX, we don't have anywhere 307
306 * to store the full context back into.
307 */
308 if ((ctx_size < sizeof(struct ucontext)) &&
309 (current->thread.used_vsr && old_ctx))
310 return -EINVAL;
311#endif
312 if (old_ctx != NULL) { 308 if (old_ctx != NULL) {
313 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) 309 if (!access_ok(VERIFY_WRITE, old_ctx, ctx_size)
314 || setup_sigcontext(&old_ctx->uc_mcontext, regs, 0, NULL, 0) 310 || setup_sigcontext(&old_ctx->uc_mcontext, regs, 0, NULL, 0,
311 ctx_has_vsx_region)
315 || __copy_to_user(&old_ctx->uc_sigmask, 312 || __copy_to_user(&old_ctx->uc_sigmask,
316 &current->blocked, sizeof(sigset_t))) 313 &current->blocked, sizeof(sigset_t)))
317 return -EFAULT; 314 return -EFAULT;
318 } 315 }
319 if (new_ctx == NULL) 316 if (new_ctx == NULL)
320 return 0; 317 return 0;
321 if (!access_ok(VERIFY_READ, new_ctx, sizeof(*new_ctx)) 318 if (!access_ok(VERIFY_READ, new_ctx, ctx_size)
322 || __get_user(tmp, (u8 __user *) new_ctx) 319 || __get_user(tmp, (u8 __user *) new_ctx)
323 || __get_user(tmp, (u8 __user *) (new_ctx + 1) - 1)) 320 || __get_user(tmp, (u8 __user *) new_ctx + ctx_size - 1))
324 return -EFAULT; 321 return -EFAULT;
325 322
326 /* 323 /*
@@ -423,7 +420,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info,
423 &frame->uc.uc_stack.ss_flags); 420 &frame->uc.uc_stack.ss_flags);
424 err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); 421 err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size);
425 err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, signr, NULL, 422 err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, signr, NULL,
426 (unsigned long)ka->sa.sa_handler); 423 (unsigned long)ka->sa.sa_handler, 1);
427 err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); 424 err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
428 if (err) 425 if (err)
429 goto badframe; 426 goto badframe;
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index 434c92a85c03..a11e6bc59b30 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -516,10 +516,10 @@ static void vio_dma_iommu_free_coherent(struct device *dev, size_t size,
516 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); 516 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE));
517} 517}
518 518
519static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr, 519static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
520 size_t size, 520 unsigned long offset, size_t size,
521 enum dma_data_direction direction, 521 enum dma_data_direction direction,
522 struct dma_attrs *attrs) 522 struct dma_attrs *attrs)
523{ 523{
524 struct vio_dev *viodev = to_vio_dev(dev); 524 struct vio_dev *viodev = to_vio_dev(dev);
525 dma_addr_t ret = DMA_ERROR_CODE; 525 dma_addr_t ret = DMA_ERROR_CODE;
@@ -529,7 +529,7 @@ static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr,
529 return ret; 529 return ret;
530 } 530 }
531 531
532 ret = dma_iommu_ops.map_single(dev, vaddr, size, direction, attrs); 532 ret = dma_iommu_ops.map_page(dev, page, offset, size, direction, attrs);
533 if (unlikely(dma_mapping_error(dev, ret))) { 533 if (unlikely(dma_mapping_error(dev, ret))) {
534 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); 534 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE));
535 atomic_inc(&viodev->cmo.allocs_failed); 535 atomic_inc(&viodev->cmo.allocs_failed);
@@ -538,14 +538,14 @@ static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr,
538 return ret; 538 return ret;
539} 539}
540 540
541static void vio_dma_iommu_unmap_single(struct device *dev, 541static void vio_dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle,
542 dma_addr_t dma_handle, size_t size, 542 size_t size,
543 enum dma_data_direction direction, 543 enum dma_data_direction direction,
544 struct dma_attrs *attrs) 544 struct dma_attrs *attrs)
545{ 545{
546 struct vio_dev *viodev = to_vio_dev(dev); 546 struct vio_dev *viodev = to_vio_dev(dev);
547 547
548 dma_iommu_ops.unmap_single(dev, dma_handle, size, direction, attrs); 548 dma_iommu_ops.unmap_page(dev, dma_handle, size, direction, attrs);
549 549
550 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); 550 vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE));
551} 551}
@@ -603,10 +603,11 @@ static void vio_dma_iommu_unmap_sg(struct device *dev,
603struct dma_mapping_ops vio_dma_mapping_ops = { 603struct dma_mapping_ops vio_dma_mapping_ops = {
604 .alloc_coherent = vio_dma_iommu_alloc_coherent, 604 .alloc_coherent = vio_dma_iommu_alloc_coherent,
605 .free_coherent = vio_dma_iommu_free_coherent, 605 .free_coherent = vio_dma_iommu_free_coherent,
606 .map_single = vio_dma_iommu_map_single,
607 .unmap_single = vio_dma_iommu_unmap_single,
608 .map_sg = vio_dma_iommu_map_sg, 606 .map_sg = vio_dma_iommu_map_sg,
609 .unmap_sg = vio_dma_iommu_unmap_sg, 607 .unmap_sg = vio_dma_iommu_unmap_sg,
608 .map_page = vio_dma_iommu_map_page,
609 .unmap_page = vio_dma_iommu_unmap_page,
610
610}; 611};
611 612
612/** 613/**
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index b39c27ed7919..2412c056baa4 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -187,6 +187,7 @@ SECTIONS
187 *(.machine.desc) 187 *(.machine.desc)
188 __machine_desc_end = . ; 188 __machine_desc_end = . ;
189 } 189 }
190#ifdef CONFIG_RELOCATABLE
190 . = ALIGN(8); 191 . = ALIGN(8);
191 .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) } 192 .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) }
192 .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) } 193 .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) }
@@ -202,9 +203,7 @@ SECTIONS
202 __rela_dyn_start = .; 203 __rela_dyn_start = .;
203 *(.rela*) 204 *(.rela*)
204 } 205 }
205 206#endif
206 /* Fake ELF header containing RPA note; for addnote */
207 .fakeelf : AT(ADDR(.fakeelf) - LOAD_OFFSET) { *(.fakeelf) }
208 207
209 /* freed after init ends here */ 208 /* freed after init ends here */
210 . = ALIGN(PAGE_SIZE); 209 . = ALIGN(PAGE_SIZE);
diff --git a/arch/powerpc/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c
index 35141a8bc3d9..25a4ec2514a3 100644
--- a/arch/powerpc/oprofile/op_model_cell.c
+++ b/arch/powerpc/oprofile/op_model_cell.c
@@ -582,6 +582,13 @@ static int cell_reg_setup(struct op_counter_config *ctr,
582 582
583 num_counters = num_ctrs; 583 num_counters = num_ctrs;
584 584
585 if (unlikely(num_ctrs > NR_PHYS_CTRS)) {
586 printk(KERN_ERR
587 "%s: Oprofile, number of specified events " \
588 "exceeds number of physical counters\n",
589 __func__);
590 return -EIO;
591 }
585 pm_regs.group_control = 0; 592 pm_regs.group_control = 0;
586 pm_regs.debug_bus_control = 0; 593 pm_regs.debug_bus_control = 0;
587 594
@@ -830,13 +837,13 @@ static int calculate_lfsr(int n)
830static int pm_rtas_activate_spu_profiling(u32 node) 837static int pm_rtas_activate_spu_profiling(u32 node)
831{ 838{
832 int ret, i; 839 int ret, i;
833 struct pm_signal pm_signal_local[NR_PHYS_CTRS]; 840 struct pm_signal pm_signal_local[NUM_SPUS_PER_NODE];
834 841
835 /* 842 /*
836 * Set up the rtas call to configure the debug bus to 843 * Set up the rtas call to configure the debug bus to
837 * route the SPU PCs. Setup the pm_signal for each SPU 844 * route the SPU PCs. Setup the pm_signal for each SPU
838 */ 845 */
839 for (i = 0; i < NUM_SPUS_PER_NODE; i++) { 846 for (i = 0; i < ARRAY_SIZE(pm_signal_local); i++) {
840 pm_signal_local[i].cpu = node; 847 pm_signal_local[i].cpu = node;
841 pm_signal_local[i].signal_group = 41; 848 pm_signal_local[i].signal_group = 41;
842 /* spu i on word (i/2) */ 849 /* spu i on word (i/2) */
@@ -848,7 +855,7 @@ static int pm_rtas_activate_spu_profiling(u32 node)
848 855
849 ret = rtas_ibm_cbe_perftools(SUBFUNC_ACTIVATE, 856 ret = rtas_ibm_cbe_perftools(SUBFUNC_ACTIVATE,
850 PASSTHRU_ENABLE, pm_signal_local, 857 PASSTHRU_ENABLE, pm_signal_local,
851 (NUM_SPUS_PER_NODE 858 (ARRAY_SIZE(pm_signal_local)
852 * sizeof(struct pm_signal))); 859 * sizeof(struct pm_signal)));
853 860
854 if (unlikely(ret)) { 861 if (unlikely(ret)) {
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index 65730275e012..14e027f5be66 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -35,7 +35,7 @@ config EP405
35config HCU4 35config HCU4
36 bool "Hcu4" 36 bool "Hcu4"
37 depends on 40x 37 depends on 40x
38 default y 38 default n
39 select 405GPR 39 select 405GPR
40 help 40 help
41 This option enables support for the Nestal Maschinen HCU4 board. 41 This option enables support for the Nestal Maschinen HCU4 board.
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index 483b65cbabae..613bf8c2e30d 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -78,7 +78,8 @@ void __init mpc85xx_ds_pic_init(void)
78 78
79 mpic = mpic_alloc(np, r.start, 79 mpic = mpic_alloc(np, r.start,
80 MPIC_PRIMARY | MPIC_WANTS_RESET | 80 MPIC_PRIMARY | MPIC_WANTS_RESET |
81 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, 81 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS |
82 MPIC_SINGLE_DEST_CPU,
82 0, 256, " OpenPIC "); 83 0, 256, " OpenPIC ");
83 BUG_ON(mpic == NULL); 84 BUG_ON(mpic == NULL);
84 of_node_put(np); 85 of_node_put(np);
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c
index 8881c5de500d..668275d9e668 100644
--- a/arch/powerpc/platforms/86xx/pic.c
+++ b/arch/powerpc/platforms/86xx/pic.c
@@ -44,7 +44,8 @@ void __init mpc86xx_init_irq(void)
44 44
45 mpic = mpic_alloc(np, res.start, 45 mpic = mpic_alloc(np, res.start,
46 MPIC_PRIMARY | MPIC_WANTS_RESET | 46 MPIC_PRIMARY | MPIC_WANTS_RESET |
47 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, 47 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS |
48 MPIC_SINGLE_DEST_CPU,
48 0, 256, " MPIC "); 49 0, 256, " MPIC ");
49 of_node_put(np); 50 of_node_put(np);
50 BUG_ON(mpic == NULL); 51 BUG_ON(mpic == NULL);
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index ef92e7146215..3168272ab0d7 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -593,31 +593,30 @@ static void dma_fixed_free_coherent(struct device *dev, size_t size,
593 dma_direct_ops.free_coherent(dev, size, vaddr, dma_handle); 593 dma_direct_ops.free_coherent(dev, size, vaddr, dma_handle);
594} 594}
595 595
596static dma_addr_t dma_fixed_map_single(struct device *dev, void *ptr, 596static dma_addr_t dma_fixed_map_page(struct device *dev, struct page *page,
597 size_t size, 597 unsigned long offset, size_t size,
598 enum dma_data_direction direction, 598 enum dma_data_direction direction,
599 struct dma_attrs *attrs) 599 struct dma_attrs *attrs)
600{ 600{
601 if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) 601 if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs))
602 return dma_direct_ops.map_single(dev, ptr, size, direction, 602 return dma_direct_ops.map_page(dev, page, offset, size,
603 attrs); 603 direction, attrs);
604 else 604 else
605 return iommu_map_single(dev, cell_get_iommu_table(dev), ptr, 605 return iommu_map_page(dev, cell_get_iommu_table(dev), page,
606 size, device_to_mask(dev), direction, 606 offset, size, device_to_mask(dev),
607 attrs); 607 direction, attrs);
608} 608}
609 609
610static void dma_fixed_unmap_single(struct device *dev, dma_addr_t dma_addr, 610static void dma_fixed_unmap_page(struct device *dev, dma_addr_t dma_addr,
611 size_t size, 611 size_t size, enum dma_data_direction direction,
612 enum dma_data_direction direction, 612 struct dma_attrs *attrs)
613 struct dma_attrs *attrs)
614{ 613{
615 if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) 614 if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs))
616 dma_direct_ops.unmap_single(dev, dma_addr, size, direction, 615 dma_direct_ops.unmap_page(dev, dma_addr, size, direction,
617 attrs); 616 attrs);
618 else 617 else
619 iommu_unmap_single(cell_get_iommu_table(dev), dma_addr, size, 618 iommu_unmap_page(cell_get_iommu_table(dev), dma_addr, size,
620 direction, attrs); 619 direction, attrs);
621} 620}
622 621
623static int dma_fixed_map_sg(struct device *dev, struct scatterlist *sg, 622static int dma_fixed_map_sg(struct device *dev, struct scatterlist *sg,
@@ -652,12 +651,12 @@ static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask);
652struct dma_mapping_ops dma_iommu_fixed_ops = { 651struct dma_mapping_ops dma_iommu_fixed_ops = {
653 .alloc_coherent = dma_fixed_alloc_coherent, 652 .alloc_coherent = dma_fixed_alloc_coherent,
654 .free_coherent = dma_fixed_free_coherent, 653 .free_coherent = dma_fixed_free_coherent,
655 .map_single = dma_fixed_map_single,
656 .unmap_single = dma_fixed_unmap_single,
657 .map_sg = dma_fixed_map_sg, 654 .map_sg = dma_fixed_map_sg,
658 .unmap_sg = dma_fixed_unmap_sg, 655 .unmap_sg = dma_fixed_unmap_sg,
659 .dma_supported = dma_fixed_dma_supported, 656 .dma_supported = dma_fixed_dma_supported,
660 .set_dma_mask = dma_set_mask_and_switch, 657 .set_dma_mask = dma_set_mask_and_switch,
658 .map_page = dma_fixed_map_page,
659 .unmap_page = dma_fixed_unmap_page,
661}; 660};
662 661
663static void cell_dma_dev_setup_fixed(struct device *dev); 662static void cell_dma_dev_setup_fixed(struct device *dev);
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c
index 665af1c4195b..7b4cefa2199b 100644
--- a/arch/powerpc/platforms/cell/ras.c
+++ b/arch/powerpc/platforms/cell/ras.c
@@ -13,15 +13,16 @@
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/smp.h> 14#include <linux/smp.h>
15#include <linux/reboot.h> 15#include <linux/reboot.h>
16#include <linux/kexec.h>
17#include <linux/crash_dump.h>
16 18
19#include <asm/kexec.h>
17#include <asm/reg.h> 20#include <asm/reg.h>
18#include <asm/io.h> 21#include <asm/io.h>
19#include <asm/prom.h> 22#include <asm/prom.h>
20#include <asm/kexec.h>
21#include <asm/machdep.h> 23#include <asm/machdep.h>
22#include <asm/rtas.h> 24#include <asm/rtas.h>
23#include <asm/cell-regs.h> 25#include <asm/cell-regs.h>
24#include <asm/kdump.h>
25 26
26#include "ras.h" 27#include "ras.h"
27 28
@@ -112,7 +113,7 @@ static int __init cbe_ptcal_enable_on_node(int nid, int order)
112 int ret = -ENOMEM; 113 int ret = -ENOMEM;
113 unsigned long addr; 114 unsigned long addr;
114 115
115 if (__kdump_flag) 116 if (is_kdump_kernel())
116 rtas_call(ptcal_stop_tok, 1, 1, NULL, nid); 117 rtas_call(ptcal_stop_tok, 1, 1, NULL, nid);
117 118
118 area = kmalloc(sizeof(*area), GFP_KERNEL); 119 area = kmalloc(sizeof(*area), GFP_KERNEL);
diff --git a/arch/powerpc/platforms/embedded6xx/linkstation.c b/arch/powerpc/platforms/embedded6xx/linkstation.c
index eb5d74e26fe9..2ca7be65c2d2 100644
--- a/arch/powerpc/platforms/embedded6xx/linkstation.c
+++ b/arch/powerpc/platforms/embedded6xx/linkstation.c
@@ -13,6 +13,7 @@
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/initrd.h> 14#include <linux/initrd.h>
15#include <linux/mtd/physmap.h> 15#include <linux/mtd/physmap.h>
16#include <linux/of_platform.h>
16 17
17#include <asm/time.h> 18#include <asm/time.h>
18#include <asm/prom.h> 19#include <asm/prom.h>
@@ -54,6 +55,19 @@ static struct mtd_partition linkstation_physmap_partitions[] = {
54 }, 55 },
55}; 56};
56 57
58static __initdata struct of_device_id of_bus_ids[] = {
59 { .type = "soc", },
60 { .compatible = "simple-bus", },
61 {},
62};
63
64static int __init declare_of_platform_devices(void)
65{
66 of_platform_bus_probe(NULL, of_bus_ids, NULL);
67 return 0;
68}
69machine_device_initcall(linkstation, declare_of_platform_devices);
70
57static int __init linkstation_add_bridge(struct device_node *dev) 71static int __init linkstation_add_bridge(struct device_node *dev)
58{ 72{
59#ifdef CONFIG_PCI 73#ifdef CONFIG_PCI
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c
index bb464d1211b2..bbe828f1b885 100644
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
@@ -215,14 +215,15 @@ EXPORT_SYMBOL_GPL(iseries_hv_free);
215dma_addr_t iseries_hv_map(void *vaddr, size_t size, 215dma_addr_t iseries_hv_map(void *vaddr, size_t size,
216 enum dma_data_direction direction) 216 enum dma_data_direction direction)
217{ 217{
218 return iommu_map_single(NULL, &vio_iommu_table, vaddr, size, 218 return iommu_map_page(NULL, &vio_iommu_table, virt_to_page(vaddr),
219 DMA_32BIT_MASK, direction, NULL); 219 (unsigned long)vaddr % PAGE_SIZE, size,
220 DMA_32BIT_MASK, direction, NULL);
220} 221}
221 222
222void iseries_hv_unmap(dma_addr_t dma_handle, size_t size, 223void iseries_hv_unmap(dma_addr_t dma_handle, size_t size,
223 enum dma_data_direction direction) 224 enum dma_data_direction direction)
224{ 225{
225 iommu_unmap_single(&vio_iommu_table, dma_handle, size, direction, NULL); 226 iommu_unmap_page(&vio_iommu_table, dma_handle, size, direction, NULL);
226} 227}
227 228
228void __init iommu_vio_init(void) 229void __init iommu_vio_init(void)
diff --git a/arch/powerpc/platforms/powermac/Makefile b/arch/powerpc/platforms/powermac/Makefile
index be60d64be7ad..50f169392551 100644
--- a/arch/powerpc/platforms/powermac/Makefile
+++ b/arch/powerpc/platforms/powermac/Makefile
@@ -1,6 +1,6 @@
1CFLAGS_bootx_init.o += -fPIC 1CFLAGS_bootx_init.o += -fPIC
2 2
3ifdef CONFIG_FTRACE 3ifdef CONFIG_FUNCTION_TRACER
4# Do not trace early boot code 4# Do not trace early boot code
5CFLAGS_REMOVE_bootx_init.o = -pg -mno-sched-epilog 5CFLAGS_REMOVE_bootx_init.o = -pg -mno-sched-epilog
6endif 6endif
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c
index a789bf58ca8b..661e9f77ebf6 100644
--- a/arch/powerpc/platforms/ps3/system-bus.c
+++ b/arch/powerpc/platforms/ps3/system-bus.c
@@ -555,18 +555,19 @@ static void ps3_free_coherent(struct device *_dev, size_t size, void *vaddr,
555} 555}
556 556
557/* Creates TCEs for a user provided buffer. The user buffer must be 557/* Creates TCEs for a user provided buffer. The user buffer must be
558 * contiguous real kernel storage (not vmalloc). The address of the buffer 558 * contiguous real kernel storage (not vmalloc). The address passed here
559 * passed here is the kernel (virtual) address of the buffer. The buffer 559 * comprises a page address and offset into that page. The dma_addr_t
560 * need not be page aligned, the dma_addr_t returned will point to the same 560 * returned will point to the same byte within the page as was passed in.
561 * byte within the page as vaddr.
562 */ 561 */
563 562
564static dma_addr_t ps3_sb_map_single(struct device *_dev, void *ptr, size_t size, 563static dma_addr_t ps3_sb_map_page(struct device *_dev, struct page *page,
565 enum dma_data_direction direction, struct dma_attrs *attrs) 564 unsigned long offset, size_t size, enum dma_data_direction direction,
565 struct dma_attrs *attrs)
566{ 566{
567 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); 567 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
568 int result; 568 int result;
569 unsigned long bus_addr; 569 unsigned long bus_addr;
570 void *ptr = page_address(page) + offset;
570 571
571 result = ps3_dma_map(dev->d_region, (unsigned long)ptr, size, 572 result = ps3_dma_map(dev->d_region, (unsigned long)ptr, size,
572 &bus_addr, 573 &bus_addr,
@@ -580,15 +581,16 @@ static dma_addr_t ps3_sb_map_single(struct device *_dev, void *ptr, size_t size,
580 return bus_addr; 581 return bus_addr;
581} 582}
582 583
583static dma_addr_t ps3_ioc0_map_single(struct device *_dev, void *ptr, 584static dma_addr_t ps3_ioc0_map_page(struct device *_dev, struct page *page,
584 size_t size, 585 unsigned long offset, size_t size,
585 enum dma_data_direction direction, 586 enum dma_data_direction direction,
586 struct dma_attrs *attrs) 587 struct dma_attrs *attrs)
587{ 588{
588 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); 589 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
589 int result; 590 int result;
590 unsigned long bus_addr; 591 unsigned long bus_addr;
591 u64 iopte_flag; 592 u64 iopte_flag;
593 void *ptr = page_address(page) + offset;
592 594
593 iopte_flag = IOPTE_M; 595 iopte_flag = IOPTE_M;
594 switch (direction) { 596 switch (direction) {
@@ -615,7 +617,7 @@ static dma_addr_t ps3_ioc0_map_single(struct device *_dev, void *ptr,
615 return bus_addr; 617 return bus_addr;
616} 618}
617 619
618static void ps3_unmap_single(struct device *_dev, dma_addr_t dma_addr, 620static void ps3_unmap_page(struct device *_dev, dma_addr_t dma_addr,
619 size_t size, enum dma_data_direction direction, struct dma_attrs *attrs) 621 size_t size, enum dma_data_direction direction, struct dma_attrs *attrs)
620{ 622{
621 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); 623 struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
@@ -689,21 +691,21 @@ static int ps3_dma_supported(struct device *_dev, u64 mask)
689static struct dma_mapping_ops ps3_sb_dma_ops = { 691static struct dma_mapping_ops ps3_sb_dma_ops = {
690 .alloc_coherent = ps3_alloc_coherent, 692 .alloc_coherent = ps3_alloc_coherent,
691 .free_coherent = ps3_free_coherent, 693 .free_coherent = ps3_free_coherent,
692 .map_single = ps3_sb_map_single,
693 .unmap_single = ps3_unmap_single,
694 .map_sg = ps3_sb_map_sg, 694 .map_sg = ps3_sb_map_sg,
695 .unmap_sg = ps3_sb_unmap_sg, 695 .unmap_sg = ps3_sb_unmap_sg,
696 .dma_supported = ps3_dma_supported 696 .dma_supported = ps3_dma_supported,
697 .map_page = ps3_sb_map_page,
698 .unmap_page = ps3_unmap_page,
697}; 699};
698 700
699static struct dma_mapping_ops ps3_ioc0_dma_ops = { 701static struct dma_mapping_ops ps3_ioc0_dma_ops = {
700 .alloc_coherent = ps3_alloc_coherent, 702 .alloc_coherent = ps3_alloc_coherent,
701 .free_coherent = ps3_free_coherent, 703 .free_coherent = ps3_free_coherent,
702 .map_single = ps3_ioc0_map_single,
703 .unmap_single = ps3_unmap_single,
704 .map_sg = ps3_ioc0_map_sg, 704 .map_sg = ps3_ioc0_map_sg,
705 .unmap_sg = ps3_ioc0_unmap_sg, 705 .unmap_sg = ps3_ioc0_unmap_sg,
706 .dma_supported = ps3_dma_supported 706 .dma_supported = ps3_dma_supported,
707 .map_page = ps3_ioc0_map_page,
708 .unmap_page = ps3_unmap_page,
707}; 709};
708 710
709/** 711/**
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index d56491d182d3..c90817acb472 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -32,6 +32,7 @@
32#include <linux/string.h> 32#include <linux/string.h>
33#include <linux/pci.h> 33#include <linux/pci.h>
34#include <linux/dma-mapping.h> 34#include <linux/dma-mapping.h>
35#include <linux/crash_dump.h>
35#include <asm/io.h> 36#include <asm/io.h>
36#include <asm/prom.h> 37#include <asm/prom.h>
37#include <asm/rtas.h> 38#include <asm/rtas.h>
@@ -44,7 +45,6 @@
44#include <asm/tce.h> 45#include <asm/tce.h>
45#include <asm/ppc-pci.h> 46#include <asm/ppc-pci.h>
46#include <asm/udbg.h> 47#include <asm/udbg.h>
47#include <asm/kdump.h>
48 48
49#include "plpar_wrappers.h" 49#include "plpar_wrappers.h"
50 50
@@ -292,7 +292,7 @@ static void iommu_table_setparms(struct pci_controller *phb,
292 292
293 tbl->it_base = (unsigned long)__va(*basep); 293 tbl->it_base = (unsigned long)__va(*basep);
294 294
295 if (!__kdump_flag) 295 if (!is_kdump_kernel())
296 memset((void *)tbl->it_base, 0, *sizep); 296 memset((void *)tbl->it_base, 0, *sizep);
297 297
298 tbl->it_busno = phb->bus->number; 298 tbl->it_busno = phb->bus->number;
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c
index 21a6d55418f1..7190493e9bdc 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
@@ -203,6 +203,7 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
203 eeh_add_device_tree_early(dn); 203 eeh_add_device_tree_early(dn);
204 204
205 scan_phb(phb); 205 scan_phb(phb);
206 pcibios_allocate_bus_resources(phb->bus);
206 pcibios_fixup_new_pci_devices(phb->bus); 207 pcibios_fixup_new_pci_devices(phb->bus);
207 pci_bus_add_devices(phb->bus); 208 pci_bus_add_devices(phb->bus);
208 eeh_add_device_tree_late(phb->bus); 209 eeh_add_device_tree_late(phb->bus);
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 01b884b25696..26ecb96f9731 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -223,6 +223,8 @@ static int gfar_mdio_of_init_one(struct device_node *np)
223 if (ret) 223 if (ret)
224 return ret; 224 return ret;
225 225
226 /* The gianfar device will try to use the same ID created below to find
227 * this bus, to coordinate register access (since they share). */
226 mdio_dev = platform_device_register_simple("fsl-gianfar_mdio", 228 mdio_dev = platform_device_register_simple("fsl-gianfar_mdio",
227 res.start&0xfffff, &res, 1); 229 res.start&0xfffff, &res, 1);
228 if (IS_ERR(mdio_dev)) 230 if (IS_ERR(mdio_dev))
@@ -394,6 +396,30 @@ static int __init gfar_of_init(void)
394 of_node_put(mdio); 396 of_node_put(mdio);
395 } 397 }
396 398
399 /* Get MDIO bus controlled by this eTSEC, if any. Normally only
400 * eTSEC 1 will control an MDIO bus, not necessarily the same
401 * bus that its PHY is on ('mdio' above), so we can't just use
402 * that. What we do is look for a gianfar mdio device that has
403 * overlapping registers with this device. That's really the
404 * whole point, to find the device sharing our registers to
405 * coordinate access with it.
406 */
407 for_each_compatible_node(mdio, NULL, "fsl,gianfar-mdio") {
408 if (of_address_to_resource(mdio, 0, &res))
409 continue;
410
411 if (res.start >= r[0].start && res.end <= r[0].end) {
412 /* Get the ID the mdio bus platform device was
413 * registered with. gfar_data.bus_id is
414 * different because it's for finding a PHY,
415 * while this is for finding a MII bus.
416 */
417 gfar_data.mdio_bus = res.start&0xfffff;
418 of_node_put(mdio);
419 break;
420 }
421 }
422
397 ret = 423 ret =
398 platform_device_add_data(gfar_dev, &gfar_data, 424 platform_device_add_data(gfar_dev, &gfar_data,
399 sizeof(struct 425 sizeof(struct
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 8e3478c995ef..f6299cca7814 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -563,6 +563,51 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
563 563
564#endif /* CONFIG_MPIC_U3_HT_IRQS */ 564#endif /* CONFIG_MPIC_U3_HT_IRQS */
565 565
566#ifdef CONFIG_SMP
567static int irq_choose_cpu(unsigned int virt_irq)
568{
569 cpumask_t mask = irq_desc[virt_irq].affinity;
570 int cpuid;
571
572 if (cpus_equal(mask, CPU_MASK_ALL)) {
573 static int irq_rover;
574 static DEFINE_SPINLOCK(irq_rover_lock);
575 unsigned long flags;
576
577 /* Round-robin distribution... */
578 do_round_robin:
579 spin_lock_irqsave(&irq_rover_lock, flags);
580
581 while (!cpu_online(irq_rover)) {
582 if (++irq_rover >= NR_CPUS)
583 irq_rover = 0;
584 }
585 cpuid = irq_rover;
586 do {
587 if (++irq_rover >= NR_CPUS)
588 irq_rover = 0;
589 } while (!cpu_online(irq_rover));
590
591 spin_unlock_irqrestore(&irq_rover_lock, flags);
592 } else {
593 cpumask_t tmp;
594
595 cpus_and(tmp, cpu_online_map, mask);
596
597 if (cpus_empty(tmp))
598 goto do_round_robin;
599
600 cpuid = first_cpu(tmp);
601 }
602
603 return cpuid;
604}
605#else
606static int irq_choose_cpu(unsigned int virt_irq)
607{
608 return hard_smp_processor_id();
609}
610#endif
566 611
567#define mpic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) 612#define mpic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq)
568 613
@@ -777,12 +822,18 @@ void mpic_set_affinity(unsigned int irq, cpumask_t cpumask)
777 struct mpic *mpic = mpic_from_irq(irq); 822 struct mpic *mpic = mpic_from_irq(irq);
778 unsigned int src = mpic_irq_to_hw(irq); 823 unsigned int src = mpic_irq_to_hw(irq);
779 824
780 cpumask_t tmp; 825 if (mpic->flags & MPIC_SINGLE_DEST_CPU) {
826 int cpuid = irq_choose_cpu(irq);
781 827
782 cpus_and(tmp, cpumask, cpu_online_map); 828 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid);
829 } else {
830 cpumask_t tmp;
783 831
784 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 832 cpus_and(tmp, cpumask, cpu_online_map);
785 mpic_physmask(cpus_addr(tmp)[0])); 833
834 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION),
835 mpic_physmask(cpus_addr(tmp)[0]));
836 }
786} 837}
787 838
788static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type) 839static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type)
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 34c3d0688fe0..076368c8b8a9 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -1353,6 +1353,7 @@ static void backtrace(struct pt_regs *excp)
1353 1353
1354static void print_bug_trap(struct pt_regs *regs) 1354static void print_bug_trap(struct pt_regs *regs)
1355{ 1355{
1356#ifdef CONFIG_BUG
1356 const struct bug_entry *bug; 1357 const struct bug_entry *bug;
1357 unsigned long addr; 1358 unsigned long addr;
1358 1359
@@ -1373,6 +1374,7 @@ static void print_bug_trap(struct pt_regs *regs)
1373#else 1374#else
1374 printf("kernel BUG at %p!\n", (void *)bug->bug_addr); 1375 printf("kernel BUG at %p!\n", (void *)bug->bug_addr);
1375#endif 1376#endif
1377#endif /* CONFIG_BUG */
1376} 1378}
1377 1379
1378static void excprint(struct pt_regs *fp) 1380static void excprint(struct pt_regs *fp)
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 70b7645ce745..8116a3328a19 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -241,19 +241,17 @@ config PACK_STACK
241 Say Y if you are unsure. 241 Say Y if you are unsure.
242 242
243config SMALL_STACK 243config SMALL_STACK
244 bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb" 244 bool "Use 8kb for kernel stack instead of 16kb"
245 depends on PACK_STACK && !LOCKDEP 245 depends on PACK_STACK && 64BIT && !LOCKDEP
246 help 246 help
247 If you say Y here and the compiler supports the -mkernel-backchain 247 If you say Y here and the compiler supports the -mkernel-backchain
248 option the kernel will use a smaller kernel stack size. For 31 bit 248 option the kernel will use a smaller kernel stack size. The reduced
249 the reduced size is 4kb instead of 8kb and for 64 bit it is 8kb 249 size is 8kb instead of 16kb. This allows to run more threads on a
250 instead of 16kb. This allows to run more thread on a system and 250 system and reduces the pressure on the memory management for higher
251 reduces the pressure on the memory management for higher order 251 order page allocations.
252 page allocations.
253 252
254 Say N if you are unsure. 253 Say N if you are unsure.
255 254
256
257config CHECK_STACK 255config CHECK_STACK
258 bool "Detect kernel stack overflow" 256 bool "Detect kernel stack overflow"
259 help 257 help
@@ -384,7 +382,7 @@ config IPL
384choice 382choice
385 prompt "IPL method generated into head.S" 383 prompt "IPL method generated into head.S"
386 depends on IPL 384 depends on IPL
387 default IPL_TAPE 385 default IPL_VM
388 help 386 help
389 Select "tape" if you want to IPL the image from a Tape. 387 Select "tape" if you want to IPL the image from a Tape.
390 388
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index a7f8979fb925..a06a47cdd5e0 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -424,7 +424,7 @@ out:
424 */ 424 */
425int appldata_register_ops(struct appldata_ops *ops) 425int appldata_register_ops(struct appldata_ops *ops)
426{ 426{
427 if ((ops->size > APPLDATA_MAX_REC_SIZE) || (ops->size < 0)) 427 if (ops->size > APPLDATA_MAX_REC_SIZE)
428 return -EINVAL; 428 return -EINVAL;
429 429
430 ops->ctl_table = kzalloc(4 * sizeof(struct ctl_table), GFP_KERNEL); 430 ops->ctl_table = kzalloc(4 * sizeof(struct ctl_table), GFP_KERNEL);
diff --git a/arch/s390/include/asm/kvm_virtio.h b/arch/s390/include/asm/kvm_virtio.h
index 146100224def..c13568b9351c 100644
--- a/arch/s390/include/asm/kvm_virtio.h
+++ b/arch/s390/include/asm/kvm_virtio.h
@@ -52,7 +52,7 @@ struct kvm_vqconfig {
52 52
53#ifdef __KERNEL__ 53#ifdef __KERNEL__
54/* early virtio console setup */ 54/* early virtio console setup */
55#ifdef CONFIG_VIRTIO_CONSOLE 55#ifdef CONFIG_S390_GUEST
56extern void s390_virtio_console_init(void); 56extern void s390_virtio_console_init(void);
57#else 57#else
58static inline void s390_virtio_console_init(void) 58static inline void s390_virtio_console_init(void)
diff --git a/arch/s390/include/asm/mmu.h b/arch/s390/include/asm/mmu.h
index 5dd5e7b3476f..d2b4ff831477 100644
--- a/arch/s390/include/asm/mmu.h
+++ b/arch/s390/include/asm/mmu.h
@@ -7,7 +7,8 @@ typedef struct {
7 unsigned long asce_bits; 7 unsigned long asce_bits;
8 unsigned long asce_limit; 8 unsigned long asce_limit;
9 int noexec; 9 int noexec;
10 int pgstes; 10 int has_pgste; /* The mmu context has extended page tables */
11 int alloc_pgste; /* cloned contexts will have extended page tables */
11} mm_context_t; 12} mm_context_t;
12 13
13#endif 14#endif
diff --git a/arch/s390/include/asm/mmu_context.h b/arch/s390/include/asm/mmu_context.h
index 4c2fbf48c9c4..28ec870655af 100644
--- a/arch/s390/include/asm/mmu_context.h
+++ b/arch/s390/include/asm/mmu_context.h
@@ -20,12 +20,25 @@ static inline int init_new_context(struct task_struct *tsk,
20#ifdef CONFIG_64BIT 20#ifdef CONFIG_64BIT
21 mm->context.asce_bits |= _ASCE_TYPE_REGION3; 21 mm->context.asce_bits |= _ASCE_TYPE_REGION3;
22#endif 22#endif
23 if (current->mm->context.pgstes) { 23 if (current->mm->context.alloc_pgste) {
24 /*
25 * alloc_pgste indicates, that any NEW context will be created
26 * with extended page tables. The old context is unchanged. The
27 * page table allocation and the page table operations will
28 * look at has_pgste to distinguish normal and extended page
29 * tables. The only way to create extended page tables is to
30 * set alloc_pgste and then create a new context (e.g. dup_mm).
31 * The page table allocation is called after init_new_context
32 * and if has_pgste is set, it will create extended page
33 * tables.
34 */
24 mm->context.noexec = 0; 35 mm->context.noexec = 0;
25 mm->context.pgstes = 1; 36 mm->context.has_pgste = 1;
37 mm->context.alloc_pgste = 1;
26 } else { 38 } else {
27 mm->context.noexec = s390_noexec; 39 mm->context.noexec = s390_noexec;
28 mm->context.pgstes = 0; 40 mm->context.has_pgste = 0;
41 mm->context.alloc_pgste = 0;
29 } 42 }
30 mm->context.asce_limit = STACK_TOP_MAX; 43 mm->context.asce_limit = STACK_TOP_MAX;
31 crst_table_init((unsigned long *) mm->pgd, pgd_entry_type(mm)); 44 crst_table_init((unsigned long *) mm->pgd, pgd_entry_type(mm));
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index 1a928f84afd6..7fc76133b3e4 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -679,7 +679,7 @@ static inline void pmd_clear(pmd_t *pmd)
679 679
680static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) 680static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
681{ 681{
682 if (mm->context.pgstes) 682 if (mm->context.has_pgste)
683 ptep_rcp_copy(ptep); 683 ptep_rcp_copy(ptep);
684 pte_val(*ptep) = _PAGE_TYPE_EMPTY; 684 pte_val(*ptep) = _PAGE_TYPE_EMPTY;
685 if (mm->context.noexec) 685 if (mm->context.noexec)
@@ -763,7 +763,7 @@ static inline int kvm_s390_test_and_clear_page_dirty(struct mm_struct *mm,
763 struct page *page; 763 struct page *page;
764 unsigned int skey; 764 unsigned int skey;
765 765
766 if (!mm->context.pgstes) 766 if (!mm->context.has_pgste)
767 return -EINVAL; 767 return -EINVAL;
768 rcp_lock(ptep); 768 rcp_lock(ptep);
769 pgste = (unsigned long *) (ptep + PTRS_PER_PTE); 769 pgste = (unsigned long *) (ptep + PTRS_PER_PTE);
@@ -794,7 +794,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma,
794 int young; 794 int young;
795 unsigned long *pgste; 795 unsigned long *pgste;
796 796
797 if (!vma->vm_mm->context.pgstes) 797 if (!vma->vm_mm->context.has_pgste)
798 return 0; 798 return 0;
799 physpage = pte_val(*ptep) & PAGE_MASK; 799 physpage = pte_val(*ptep) & PAGE_MASK;
800 pgste = (unsigned long *) (ptep + PTRS_PER_PTE); 800 pgste = (unsigned long *) (ptep + PTRS_PER_PTE);
@@ -844,7 +844,7 @@ static inline void __ptep_ipte(unsigned long address, pte_t *ptep)
844static inline void ptep_invalidate(struct mm_struct *mm, 844static inline void ptep_invalidate(struct mm_struct *mm,
845 unsigned long address, pte_t *ptep) 845 unsigned long address, pte_t *ptep)
846{ 846{
847 if (mm->context.pgstes) { 847 if (mm->context.has_pgste) {
848 rcp_lock(ptep); 848 rcp_lock(ptep);
849 __ptep_ipte(address, ptep); 849 __ptep_ipte(address, ptep);
850 ptep_rcp_copy(ptep); 850 ptep_rcp_copy(ptep);
diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h
index de3fad60c682..c1eaf9604da7 100644
--- a/arch/s390/include/asm/thread_info.h
+++ b/arch/s390/include/asm/thread_info.h
@@ -15,13 +15,8 @@
15 * Size of kernel stack for each process 15 * Size of kernel stack for each process
16 */ 16 */
17#ifndef __s390x__ 17#ifndef __s390x__
18#ifndef __SMALL_STACK
19#define THREAD_ORDER 1 18#define THREAD_ORDER 1
20#define ASYNC_ORDER 1 19#define ASYNC_ORDER 1
21#else
22#define THREAD_ORDER 0
23#define ASYNC_ORDER 0
24#endif
25#else /* __s390x__ */ 20#else /* __s390x__ */
26#ifndef __SMALL_STACK 21#ifndef __SMALL_STACK
27#define THREAD_ORDER 2 22#define THREAD_ORDER 2
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 9e8b1f9b8f4d..b5595688a477 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -1119,9 +1119,7 @@ out:
1119 return rc; 1119 return rc;
1120} 1120}
1121 1121
1122static ssize_t __ref rescan_store(struct sys_device *dev, 1122static ssize_t __ref rescan_store(struct sysdev_class *class, const char *buf,
1123 struct sysdev_attribute *attr,
1124 const char *buf,
1125 size_t count) 1123 size_t count)
1126{ 1124{
1127 int rc; 1125 int rc;
@@ -1129,12 +1127,10 @@ static ssize_t __ref rescan_store(struct sys_device *dev,
1129 rc = smp_rescan_cpus(); 1127 rc = smp_rescan_cpus();
1130 return rc ? rc : count; 1128 return rc ? rc : count;
1131} 1129}
1132static SYSDEV_ATTR(rescan, 0200, NULL, rescan_store); 1130static SYSDEV_CLASS_ATTR(rescan, 0200, NULL, rescan_store);
1133#endif /* CONFIG_HOTPLUG_CPU */ 1131#endif /* CONFIG_HOTPLUG_CPU */
1134 1132
1135static ssize_t dispatching_show(struct sys_device *dev, 1133static ssize_t dispatching_show(struct sysdev_class *class, char *buf)
1136 struct sysdev_attribute *attr,
1137 char *buf)
1138{ 1134{
1139 ssize_t count; 1135 ssize_t count;
1140 1136
@@ -1144,9 +1140,8 @@ static ssize_t dispatching_show(struct sys_device *dev,
1144 return count; 1140 return count;
1145} 1141}
1146 1142
1147static ssize_t dispatching_store(struct sys_device *dev, 1143static ssize_t dispatching_store(struct sysdev_class *dev, const char *buf,
1148 struct sysdev_attribute *attr, 1144 size_t count)
1149 const char *buf, size_t count)
1150{ 1145{
1151 int val, rc; 1146 int val, rc;
1152 char delim; 1147 char delim;
@@ -1168,7 +1163,8 @@ out:
1168 put_online_cpus(); 1163 put_online_cpus();
1169 return rc ? rc : count; 1164 return rc ? rc : count;
1170} 1165}
1171static SYSDEV_ATTR(dispatching, 0644, dispatching_show, dispatching_store); 1166static SYSDEV_CLASS_ATTR(dispatching, 0644, dispatching_show,
1167 dispatching_store);
1172 1168
1173static int __init topology_init(void) 1169static int __init topology_init(void)
1174{ 1170{
@@ -1178,13 +1174,11 @@ static int __init topology_init(void)
1178 register_cpu_notifier(&smp_cpu_nb); 1174 register_cpu_notifier(&smp_cpu_nb);
1179 1175
1180#ifdef CONFIG_HOTPLUG_CPU 1176#ifdef CONFIG_HOTPLUG_CPU
1181 rc = sysfs_create_file(&cpu_sysdev_class.kset.kobj, 1177 rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_rescan);
1182 &attr_rescan.attr);
1183 if (rc) 1178 if (rc)
1184 return rc; 1179 return rc;
1185#endif 1180#endif
1186 rc = sysfs_create_file(&cpu_sysdev_class.kset.kobj, 1181 rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_dispatching);
1187 &attr_dispatching.attr);
1188 if (rc) 1182 if (rc)
1189 return rc; 1183 return rc;
1190 for_each_present_cpu(cpu) { 1184 for_each_present_cpu(cpu) {
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index 3d98ba82ea67..ef3635b52fc0 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -169,7 +169,7 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
169 unsigned long *table; 169 unsigned long *table;
170 unsigned long bits; 170 unsigned long bits;
171 171
172 bits = (mm->context.noexec || mm->context.pgstes) ? 3UL : 1UL; 172 bits = (mm->context.noexec || mm->context.has_pgste) ? 3UL : 1UL;
173 spin_lock(&mm->page_table_lock); 173 spin_lock(&mm->page_table_lock);
174 page = NULL; 174 page = NULL;
175 if (!list_empty(&mm->context.pgtable_list)) { 175 if (!list_empty(&mm->context.pgtable_list)) {
@@ -186,7 +186,7 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
186 pgtable_page_ctor(page); 186 pgtable_page_ctor(page);
187 page->flags &= ~FRAG_MASK; 187 page->flags &= ~FRAG_MASK;
188 table = (unsigned long *) page_to_phys(page); 188 table = (unsigned long *) page_to_phys(page);
189 if (mm->context.pgstes) 189 if (mm->context.has_pgste)
190 clear_table_pgstes(table); 190 clear_table_pgstes(table);
191 else 191 else
192 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE); 192 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE);
@@ -210,7 +210,7 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)
210 struct page *page; 210 struct page *page;
211 unsigned long bits; 211 unsigned long bits;
212 212
213 bits = (mm->context.noexec || mm->context.pgstes) ? 3UL : 1UL; 213 bits = (mm->context.noexec || mm->context.has_pgste) ? 3UL : 1UL;
214 bits <<= (__pa(table) & (PAGE_SIZE - 1)) / 256 / sizeof(unsigned long); 214 bits <<= (__pa(table) & (PAGE_SIZE - 1)) / 256 / sizeof(unsigned long);
215 page = pfn_to_page(__pa(table) >> PAGE_SHIFT); 215 page = pfn_to_page(__pa(table) >> PAGE_SHIFT);
216 spin_lock(&mm->page_table_lock); 216 spin_lock(&mm->page_table_lock);
@@ -257,7 +257,7 @@ int s390_enable_sie(void)
257 struct mm_struct *mm, *old_mm; 257 struct mm_struct *mm, *old_mm;
258 258
259 /* Do we have pgstes? if yes, we are done */ 259 /* Do we have pgstes? if yes, we are done */
260 if (tsk->mm->context.pgstes) 260 if (tsk->mm->context.has_pgste)
261 return 0; 261 return 0;
262 262
263 /* lets check if we are allowed to replace the mm */ 263 /* lets check if we are allowed to replace the mm */
@@ -269,14 +269,14 @@ int s390_enable_sie(void)
269 } 269 }
270 task_unlock(tsk); 270 task_unlock(tsk);
271 271
272 /* we copy the mm with pgstes enabled */ 272 /* we copy the mm and let dup_mm create the page tables with_pgstes */
273 tsk->mm->context.pgstes = 1; 273 tsk->mm->context.alloc_pgste = 1;
274 mm = dup_mm(tsk); 274 mm = dup_mm(tsk);
275 tsk->mm->context.pgstes = 0; 275 tsk->mm->context.alloc_pgste = 0;
276 if (!mm) 276 if (!mm)
277 return -ENOMEM; 277 return -ENOMEM;
278 278
279 /* Now lets check again if somebody attached ptrace etc */ 279 /* Now lets check again if something happened */
280 task_lock(tsk); 280 task_lock(tsk);
281 if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 || 281 if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 ||
282 tsk->mm != tsk->active_mm || tsk->mm->ioctx_list) { 282 tsk->mm != tsk->active_mm || tsk->mm->ioctx_list) {
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index cb2c87df70ce..80119b3398e7 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -24,7 +24,7 @@ config SUPERH32
24 select HAVE_KPROBES 24 select HAVE_KPROBES
25 select HAVE_KRETPROBES 25 select HAVE_KRETPROBES
26 select HAVE_ARCH_TRACEHOOK 26 select HAVE_ARCH_TRACEHOOK
27 select HAVE_FTRACE 27 select HAVE_FUNCTION_TRACER
28 28
29config SUPERH64 29config SUPERH64
30 def_bool y if CPU_SH5 30 def_bool y if CPU_SH5
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 1f409bf81809..c43eb0d7fa3b 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -2,7 +2,7 @@
2# arch/sh/Makefile 2# arch/sh/Makefile
3# 3#
4# Copyright (C) 1999 Kaz Kojima 4# Copyright (C) 1999 Kaz Kojima
5# Copyright (C) 2002, 2003, 2004 Paul Mundt 5# Copyright (C) 2002 - 2008 Paul Mundt
6# Copyright (C) 2002 M. R. Brown 6# Copyright (C) 2002 M. R. Brown
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
@@ -18,16 +18,12 @@ isa-$(CONFIG_CPU_SH4) := sh4
18isa-$(CONFIG_CPU_SH4A) := sh4a 18isa-$(CONFIG_CPU_SH4A) := sh4a
19isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al 19isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al
20isa-$(CONFIG_CPU_SH5) := shmedia 20isa-$(CONFIG_CPU_SH5) := shmedia
21isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp
22 21
23ifndef CONFIG_SH_DSP 22ifeq ($(CONFIG_SUPERH32),y)
24ifndef CONFIG_SH_FPU 23isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp
25isa-y := $(isa-y)-nofpu 24isa-y := $(isa-y)-up
26endif
27endif 25endif
28 26
29isa-y := $(isa-y)-up
30
31cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) 27cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,)
32cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ 28cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \
33 $(call cc-option,-m2a-nofpu,) 29 $(call cc-option,-m2a-nofpu,)
@@ -38,6 +34,22 @@ cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
38 $(call cc-option,-m4a-nofpu,) 34 $(call cc-option,-m4a-nofpu,)
39cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) 35cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,)
40 36
37ifeq ($(cflags-y),)
38#
39# In the case where we are stuck with a compiler that has been uselessly
40# restricted to a particular ISA, a favourite default of newer GCCs when
41# extensive multilib targets are not provided, ensure we get the best fit
42# regarding FP generation. This is necessary to avoid references to FP
43# variants in libgcc where integer variants exist, which otherwise result
44# in link errors. This is intentionally stupid (albeit many orders of
45# magnitude less than GCC's default behaviour), as anything with a large
46# number of multilib targets better have been built correctly for
47# the target in mind.
48#
49cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \
50 grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//')
51endif
52
41cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb 53cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
42cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml 54cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
43 55
@@ -65,7 +77,8 @@ OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \
65 -R .stab -R .stabstr -S 77 -R .stab -R .stabstr -S
66 78
67# Give the various platforms the opportunity to set default image types 79# Give the various platforms the opportunity to set default image types
68defaultimage-$(CONFIG_SUPERH32) := zImage 80defaultimage-$(CONFIG_SUPERH32) := zImage
81defaultimage-$(CONFIG_SH_SH7785LCR) := uImage
69 82
70# Set some sensible Kbuild defaults 83# Set some sensible Kbuild defaults
71KBUILD_DEFCONFIG := shx3_defconfig 84KBUILD_DEFCONFIG := shx3_defconfig
diff --git a/arch/sh/boot/compressed/Makefile_32 b/arch/sh/boot/compressed/Makefile_32
index 301e6d503256..b96a055b053e 100644
--- a/arch/sh/boot/compressed/Makefile_32
+++ b/arch/sh/boot/compressed/Makefile_32
@@ -23,7 +23,7 @@ IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \
23 23
24LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) 24LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
25 25
26ifeq ($(CONFIG_FTRACE),y) 26ifeq ($(CONFIG_FUNCTION_TRACER),y)
27ORIG_CFLAGS := $(KBUILD_CFLAGS) 27ORIG_CFLAGS := $(KBUILD_CFLAGS)
28KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) 28KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
29endif 29endif
diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig
index 7892361eedc8..f43d18373f22 100644
--- a/arch/sh/cchips/Kconfig
+++ b/arch/sh/cchips/Kconfig
@@ -22,20 +22,6 @@ config HD64461
22 Say Y if you want support for the HD64461. 22 Say Y if you want support for the HD64461.
23 Otherwise, say N. 23 Otherwise, say N.
24 24
25config HD64465
26 bool "Hitachi HD64465 companion chip support"
27 ---help---
28 The Hitachi HD64465 provides an interface for
29 the SH7750 CPU, supporting a LCD controller,
30 CRT color controller, IrDA, USB, PCMCIA,
31 keyboard controller, and a printer interface.
32
33 More information is available at
34 <http://global.hitachi.com/New/cnews/E/1998/981019B.html>.
35
36 Say Y if you want support for the HD64465.
37 Otherwise, say N.
38
39endchoice 25endchoice
40 26
41# These will also be split into the Kconfig's below 27# These will also be split into the Kconfig's below
@@ -61,23 +47,4 @@ config HD64461_ENABLER
61 via the HD64461 companion chip. 47 via the HD64461 companion chip.
62 Otherwise, say N. 48 Otherwise, say N.
63 49
64config HD64465_IOBASE
65 hex "HD64465 start address"
66 depends on HD64465
67 default "0xb0000000"
68 help
69 The default setting of the HD64465 IO base address is 0xb0000000.
70
71 Do not change this unless you know what you are doing.
72
73config HD64465_IRQ
74 int "HD64465 IRQ"
75 depends on HD64465
76 default "5"
77 help
78 The default setting of the HD64465 IRQ is 5.
79
80 Do not change this unless you know what you are doing.
81
82endmenu 50endmenu
83
diff --git a/arch/sh/cchips/hd6446x/Makefile b/arch/sh/cchips/hd6446x/Makefile
index f7de4076e242..9682e3ab668f 100644
--- a/arch/sh/cchips/hd6446x/Makefile
+++ b/arch/sh/cchips/hd6446x/Makefile
@@ -1,4 +1,3 @@
1obj-$(CONFIG_HD64461) += hd64461.o 1obj-$(CONFIG_HD64461) += hd64461.o
2obj-$(CONFIG_HD64465) += hd64465/
3 2
4EXTRA_CFLAGS += -Werror 3EXTRA_CFLAGS += -Werror
diff --git a/arch/sh/cchips/hd6446x/hd64465/Makefile b/arch/sh/cchips/hd6446x/hd64465/Makefile
deleted file mode 100644
index f66edcb52c5b..000000000000
--- a/arch/sh/cchips/hd6446x/hd64465/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
1#
2# Makefile for the HD64465
3#
4
5obj-y := setup.o io.o gpio.o
6
diff --git a/arch/sh/cchips/hd6446x/hd64465/gpio.c b/arch/sh/cchips/hd6446x/hd64465/gpio.c
deleted file mode 100644
index 43431855ec86..000000000000
--- a/arch/sh/cchips/hd6446x/hd64465/gpio.c
+++ /dev/null
@@ -1,196 +0,0 @@
1/*
2 * $Id: gpio.c,v 1.4 2003/05/19 22:24:18 lethal Exp $
3 * by Greg Banks <gbanks@pocketpenguins.com>
4 * (c) 2000 PocketPenguins Inc
5 *
6 * GPIO pin support for HD64465 companion chip.
7 */
8
9#include <linux/kernel.h>
10#include <linux/init.h>
11#include <linux/module.h>
12#include <linux/sched.h>
13#include <linux/ioport.h>
14#include <asm/io.h>
15#include <asm/hd64465/gpio.h>
16
17#define _PORTOF(portpin) (((portpin)>>3)&0x7)
18#define _PINOF(portpin) ((portpin)&0x7)
19
20/* Register addresses parametrised on port */
21#define GPIO_CR(port) (HD64465_REG_GPACR+((port)<<1))
22#define GPIO_DR(port) (HD64465_REG_GPADR+((port)<<1))
23#define GPIO_ICR(port) (HD64465_REG_GPAICR+((port)<<1))
24#define GPIO_ISR(port) (HD64465_REG_GPAISR+((port)<<1))
25
26#define GPIO_NPORTS 5
27
28#define MODNAME "hd64465_gpio"
29
30EXPORT_SYMBOL(hd64465_gpio_configure);
31EXPORT_SYMBOL(hd64465_gpio_get_pin);
32EXPORT_SYMBOL(hd64465_gpio_get_port);
33EXPORT_SYMBOL(hd64465_gpio_register_irq);
34EXPORT_SYMBOL(hd64465_gpio_set_pin);
35EXPORT_SYMBOL(hd64465_gpio_set_port);
36EXPORT_SYMBOL(hd64465_gpio_unregister_irq);
37
38/* TODO: each port should be protected with a spinlock */
39
40
41void hd64465_gpio_configure(int portpin, int direction)
42{
43 unsigned short cr;
44 unsigned int shift = (_PINOF(portpin)<<1);
45
46 cr = inw(GPIO_CR(_PORTOF(portpin)));
47 cr &= ~(3<<shift);
48 cr |= direction<<shift;
49 outw(cr, GPIO_CR(_PORTOF(portpin)));
50}
51
52void hd64465_gpio_set_pin(int portpin, unsigned int value)
53{
54 unsigned short d;
55 unsigned short mask = 1<<(_PINOF(portpin));
56
57 d = inw(GPIO_DR(_PORTOF(portpin)));
58 if (value)
59 d |= mask;
60 else
61 d &= ~mask;
62 outw(d, GPIO_DR(_PORTOF(portpin)));
63}
64
65unsigned int hd64465_gpio_get_pin(int portpin)
66{
67 return inw(GPIO_DR(_PORTOF(portpin))) & (1<<(_PINOF(portpin)));
68}
69
70/* TODO: for cleaner atomicity semantics, add a mask to this routine */
71
72void hd64465_gpio_set_port(int port, unsigned int value)
73{
74 outw(value, GPIO_DR(port));
75}
76
77unsigned int hd64465_gpio_get_port(int port)
78{
79 return inw(GPIO_DR(port));
80}
81
82
83static struct {
84 void (*func)(int portpin, void *dev);
85 void *dev;
86} handlers[GPIO_NPORTS * 8];
87
88static irqreturn_t hd64465_gpio_interrupt(int irq, void *dev)
89{
90 unsigned short port, pin, isr, mask, portpin;
91
92 for (port=0 ; port<GPIO_NPORTS ; port++) {
93 isr = inw(GPIO_ISR(port));
94
95 for (pin=0 ; pin<8 ; pin++) {
96 mask = 1<<pin;
97 if (isr & mask) {
98 portpin = (port<<3)|pin;
99 if (handlers[portpin].func != 0)
100 handlers[portpin].func(portpin, handlers[portpin].dev);
101 else
102 printk(KERN_NOTICE "unexpected GPIO interrupt, pin %c%d\n",
103 port+'A', (int)pin);
104 }
105 }
106
107 /* Write 1s back to ISR to clear it? That's what the manual says.. */
108 outw(isr, GPIO_ISR(port));
109 }
110
111 return IRQ_HANDLED;
112}
113
114void hd64465_gpio_register_irq(int portpin, int mode,
115 void (*handler)(int portpin, void *dev), void *dev)
116{
117 unsigned long flags;
118 unsigned short icr, mask;
119
120 if (handler == 0)
121 return;
122
123 local_irq_save(flags);
124
125 handlers[portpin].func = handler;
126 handlers[portpin].dev = dev;
127
128 /*
129 * Configure Interrupt Control Register
130 */
131 icr = inw(GPIO_ICR(_PORTOF(portpin)));
132 mask = (1<<_PINOF(portpin));
133
134 /* unmask interrupt */
135 icr &= ~mask;
136
137 /* set TS bit */
138 mask <<= 8;
139 icr &= ~mask;
140 if (mode == HD64465_GPIO_RISING)
141 icr |= mask;
142
143 outw(icr, GPIO_ICR(_PORTOF(portpin)));
144
145 local_irq_restore(flags);
146}
147
148void hd64465_gpio_unregister_irq(int portpin)
149{
150 unsigned long flags;
151 unsigned short icr;
152
153 local_irq_save(flags);
154
155 /*
156 * Configure Interrupt Control Register
157 */
158 icr = inw(GPIO_ICR(_PORTOF(portpin)));
159 icr |= (1<<_PINOF(portpin)); /* mask interrupt */
160 outw(icr, GPIO_ICR(_PORTOF(portpin)));
161
162 handlers[portpin].func = 0;
163 handlers[portpin].dev = 0;
164
165 local_irq_restore(flags);
166}
167
168static int __init hd64465_gpio_init(void)
169{
170 if (!request_region(HD64465_REG_GPACR, 0x1000, MODNAME))
171 return -EBUSY;
172 if (request_irq(HD64465_IRQ_GPIO, hd64465_gpio_interrupt,
173 IRQF_DISABLED, MODNAME, 0))
174 goto out_irqfailed;
175
176 printk("HD64465 GPIO layer on irq %d\n", HD64465_IRQ_GPIO);
177
178 return 0;
179
180out_irqfailed:
181 release_region(HD64465_REG_GPACR, 0x1000);
182
183 return -EINVAL;
184}
185
186static void __exit hd64465_gpio_exit(void)
187{
188 release_region(HD64465_REG_GPACR, 0x1000);
189 free_irq(HD64465_IRQ_GPIO, 0);
190}
191
192module_init(hd64465_gpio_init);
193module_exit(hd64465_gpio_exit);
194
195MODULE_LICENSE("GPL");
196
diff --git a/arch/sh/cchips/hd6446x/hd64465/io.c b/arch/sh/cchips/hd6446x/hd64465/io.c
deleted file mode 100644
index 58704d066ae2..000000000000
--- a/arch/sh/cchips/hd6446x/hd64465/io.c
+++ /dev/null
@@ -1,211 +0,0 @@
1/*
2 * $Id: io.c,v 1.4 2003/08/03 03:05:10 lethal Exp $
3 * by Greg Banks <gbanks@pocketpenguins.com>
4 * (c) 2000 PocketPenguins Inc
5 *
6 * Derived from io_hd64461.c, which bore the message:
7 * Copyright (C) 2000 YAEGASHI Takeshi
8 *
9 * Typical I/O routines for HD64465 system.
10 */
11
12#include <linux/kernel.h>
13#include <linux/module.h>
14#include <asm/io.h>
15#include <asm/hd64465/hd64465.h>
16
17
18#define HD64465_DEBUG 0
19
20#if HD64465_DEBUG
21#define DPRINTK(args...) printk(args)
22#define DIPRINTK(n, args...) if (hd64465_io_debug>(n)) printk(args)
23#else
24#define DPRINTK(args...)
25#define DIPRINTK(n, args...)
26#endif
27
28
29
30/* This is a hack suitable only for debugging IO port problems */
31int hd64465_io_debug;
32EXPORT_SYMBOL(hd64465_io_debug);
33
34/* Low iomap maps port 0-1K to addresses in 8byte chunks */
35#define HD64465_IOMAP_LO_THRESH 0x400
36#define HD64465_IOMAP_LO_SHIFT 3
37#define HD64465_IOMAP_LO_MASK ((1<<HD64465_IOMAP_LO_SHIFT)-1)
38#define HD64465_IOMAP_LO_NMAP (HD64465_IOMAP_LO_THRESH>>HD64465_IOMAP_LO_SHIFT)
39static unsigned long hd64465_iomap_lo[HD64465_IOMAP_LO_NMAP];
40static unsigned char hd64465_iomap_lo_shift[HD64465_IOMAP_LO_NMAP];
41
42/* High iomap maps port 1K-64K to addresses in 1K chunks */
43#define HD64465_IOMAP_HI_THRESH 0x10000
44#define HD64465_IOMAP_HI_SHIFT 10
45#define HD64465_IOMAP_HI_MASK ((1<<HD64465_IOMAP_HI_SHIFT)-1)
46#define HD64465_IOMAP_HI_NMAP (HD64465_IOMAP_HI_THRESH>>HD64465_IOMAP_HI_SHIFT)
47static unsigned long hd64465_iomap_hi[HD64465_IOMAP_HI_NMAP];
48static unsigned char hd64465_iomap_hi_shift[HD64465_IOMAP_HI_NMAP];
49
50#define PORT2ADDR(x) (sh_mv.mv_isa_port2addr(x))
51
52void hd64465_port_map(unsigned short baseport, unsigned int nports,
53 unsigned long addr, unsigned char shift)
54{
55 unsigned int port, endport = baseport + nports;
56
57 DPRINTK("hd64465_port_map(base=0x%04hx, n=0x%04hx, addr=0x%08lx,endport=0x%04x)\n",
58 baseport, nports, addr,endport);
59
60 for (port = baseport ;
61 port < endport && port < HD64465_IOMAP_LO_THRESH ;
62 port += (1<<HD64465_IOMAP_LO_SHIFT)) {
63 DPRINTK(" maplo[0x%x] = 0x%08lx\n", port, addr);
64 hd64465_iomap_lo[port>>HD64465_IOMAP_LO_SHIFT] = addr;
65 hd64465_iomap_lo_shift[port>>HD64465_IOMAP_LO_SHIFT] = shift;
66 addr += (1<<(HD64465_IOMAP_LO_SHIFT));
67 }
68
69 for (port = max_t(unsigned int, baseport, HD64465_IOMAP_LO_THRESH);
70 port < endport && port < HD64465_IOMAP_HI_THRESH ;
71 port += (1<<HD64465_IOMAP_HI_SHIFT)) {
72 DPRINTK(" maphi[0x%x] = 0x%08lx\n", port, addr);
73 hd64465_iomap_hi[port>>HD64465_IOMAP_HI_SHIFT] = addr;
74 hd64465_iomap_hi_shift[port>>HD64465_IOMAP_HI_SHIFT] = shift;
75 addr += (1<<(HD64465_IOMAP_HI_SHIFT));
76 }
77}
78EXPORT_SYMBOL(hd64465_port_map);
79
80void hd64465_port_unmap(unsigned short baseport, unsigned int nports)
81{
82 unsigned int port, endport = baseport + nports;
83
84 DPRINTK("hd64465_port_unmap(base=0x%04hx, n=0x%04hx)\n",
85 baseport, nports);
86
87 for (port = baseport ;
88 port < endport && port < HD64465_IOMAP_LO_THRESH ;
89 port += (1<<HD64465_IOMAP_LO_SHIFT)) {
90 hd64465_iomap_lo[port>>HD64465_IOMAP_LO_SHIFT] = 0;
91 }
92
93 for (port = max_t(unsigned int, baseport, HD64465_IOMAP_LO_THRESH);
94 port < endport && port < HD64465_IOMAP_HI_THRESH ;
95 port += (1<<HD64465_IOMAP_HI_SHIFT)) {
96 hd64465_iomap_hi[port>>HD64465_IOMAP_HI_SHIFT] = 0;
97 }
98}
99EXPORT_SYMBOL(hd64465_port_unmap);
100
101unsigned long hd64465_isa_port2addr(unsigned long port)
102{
103 unsigned long addr = 0;
104 unsigned char shift;
105
106 /* handle remapping of low IO ports */
107 if (port < HD64465_IOMAP_LO_THRESH) {
108 addr = hd64465_iomap_lo[port >> HD64465_IOMAP_LO_SHIFT];
109 shift = hd64465_iomap_lo_shift[port >> HD64465_IOMAP_LO_SHIFT];
110 if (addr != 0)
111 addr += (port & HD64465_IOMAP_LO_MASK) << shift;
112 else
113 printk(KERN_NOTICE "io_hd64465: access to un-mapped port %lx\n", port);
114 } else if (port < HD64465_IOMAP_HI_THRESH) {
115 addr = hd64465_iomap_hi[port >> HD64465_IOMAP_HI_SHIFT];
116 shift = hd64465_iomap_hi_shift[port >> HD64465_IOMAP_HI_SHIFT];
117 if (addr != 0)
118 addr += (port & HD64465_IOMAP_HI_MASK) << shift;
119 else
120 printk(KERN_NOTICE "io_hd64465: access to un-mapped port %lx\n", port);
121 }
122
123 /* HD64465 internal devices (0xb0000000) */
124 else if (port < 0x20000)
125 addr = CONFIG_HD64465_IOBASE + port - 0x10000;
126
127 /* Whole physical address space (0xa0000000) */
128 else
129 addr = P2SEGADDR(port);
130
131 DIPRINTK(2, "PORT2ADDR(0x%08lx) = 0x%08lx\n", port, addr);
132
133 return addr;
134}
135
136static inline void delay(void)
137{
138 ctrl_inw(0xa0000000);
139}
140
141unsigned char hd64465_inb(unsigned long port)
142{
143 unsigned long addr = PORT2ADDR(port);
144 unsigned long b = (addr == 0 ? 0 : *(volatile unsigned char*)addr);
145
146 DIPRINTK(0, "inb(%08lx) = %02x\n", addr, (unsigned)b);
147 return b;
148}
149
150unsigned char hd64465_inb_p(unsigned long port)
151{
152 unsigned long v;
153 unsigned long addr = PORT2ADDR(port);
154
155 v = (addr == 0 ? 0 : *(volatile unsigned char*)addr);
156 delay();
157 DIPRINTK(0, "inb_p(%08lx) = %02x\n", addr, (unsigned)v);
158 return v;
159}
160
161unsigned short hd64465_inw(unsigned long port)
162{
163 unsigned long addr = PORT2ADDR(port);
164 unsigned long b = (addr == 0 ? 0 : *(volatile unsigned short*)addr);
165 DIPRINTK(0, "inw(%08lx) = %04lx\n", addr, b);
166 return b;
167}
168
169unsigned int hd64465_inl(unsigned long port)
170{
171 unsigned long addr = PORT2ADDR(port);
172 unsigned int b = (addr == 0 ? 0 : *(volatile unsigned long*)addr);
173 DIPRINTK(0, "inl(%08lx) = %08x\n", addr, b);
174 return b;
175}
176
177void hd64465_outb(unsigned char b, unsigned long port)
178{
179 unsigned long addr = PORT2ADDR(port);
180
181 DIPRINTK(0, "outb(%02x, %08lx)\n", (unsigned)b, addr);
182 if (addr != 0)
183 *(volatile unsigned char*)addr = b;
184}
185
186void hd64465_outb_p(unsigned char b, unsigned long port)
187{
188 unsigned long addr = PORT2ADDR(port);
189
190 DIPRINTK(0, "outb_p(%02x, %08lx)\n", (unsigned)b, addr);
191 if (addr != 0)
192 *(volatile unsigned char*)addr = b;
193 delay();
194}
195
196void hd64465_outw(unsigned short b, unsigned long port)
197{
198 unsigned long addr = PORT2ADDR(port);
199 DIPRINTK(0, "outw(%04x, %08lx)\n", (unsigned)b, addr);
200 if (addr != 0)
201 *(volatile unsigned short*)addr = b;
202}
203
204void hd64465_outl(unsigned int b, unsigned long port)
205{
206 unsigned long addr = PORT2ADDR(port);
207 DIPRINTK(0, "outl(%08x, %08lx)\n", b, addr);
208 if (addr != 0)
209 *(volatile unsigned long*)addr = b;
210}
211
diff --git a/arch/sh/cchips/hd6446x/hd64465/setup.c b/arch/sh/cchips/hd6446x/hd64465/setup.c
deleted file mode 100644
index 9b8820c36701..000000000000
--- a/arch/sh/cchips/hd6446x/hd64465/setup.c
+++ /dev/null
@@ -1,181 +0,0 @@
1/*
2 * $Id: setup.c,v 1.4 2003/08/03 03:05:10 lethal Exp $
3 *
4 * Setup and IRQ handling code for the HD64465 companion chip.
5 * by Greg Banks <gbanks@pocketpenguins.com>
6 * Copyright (c) 2000 PocketPenguins Inc
7 *
8 * Derived from setup_hd64461.c which bore the message:
9 * Copyright (C) 2000 YAEGASHI Takeshi
10 */
11
12#include <linux/sched.h>
13#include <linux/module.h>
14#include <linux/kernel.h>
15#include <linux/param.h>
16#include <linux/ioport.h>
17#include <linux/interrupt.h>
18#include <linux/init.h>
19#include <linux/irq.h>
20#include <asm/io.h>
21#include <asm/irq.h>
22#include <asm/hd64465/hd64465.h>
23
24static void disable_hd64465_irq(unsigned int irq)
25{
26 unsigned short nimr;
27 unsigned short mask = 1 << (irq - HD64465_IRQ_BASE);
28
29 pr_debug("disable_hd64465_irq(%d): mask=%x\n", irq, mask);
30 nimr = inw(HD64465_REG_NIMR);
31 nimr |= mask;
32 outw(nimr, HD64465_REG_NIMR);
33}
34
35static void enable_hd64465_irq(unsigned int irq)
36{
37 unsigned short nimr;
38 unsigned short mask = 1 << (irq - HD64465_IRQ_BASE);
39
40 pr_debug("enable_hd64465_irq(%d): mask=%x\n", irq, mask);
41 nimr = inw(HD64465_REG_NIMR);
42 nimr &= ~mask;
43 outw(nimr, HD64465_REG_NIMR);
44}
45
46static void mask_and_ack_hd64465(unsigned int irq)
47{
48 disable_hd64465_irq(irq);
49}
50
51static void end_hd64465_irq(unsigned int irq)
52{
53 if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
54 enable_hd64465_irq(irq);
55}
56
57static unsigned int startup_hd64465_irq(unsigned int irq)
58{
59 enable_hd64465_irq(irq);
60 return 0;
61}
62
63static void shutdown_hd64465_irq(unsigned int irq)
64{
65 disable_hd64465_irq(irq);
66}
67
68static struct hw_interrupt_type hd64465_irq_type = {
69 .typename = "HD64465-IRQ",
70 .startup = startup_hd64465_irq,
71 .shutdown = shutdown_hd64465_irq,
72 .enable = enable_hd64465_irq,
73 .disable = disable_hd64465_irq,
74 .ack = mask_and_ack_hd64465,
75 .end = end_hd64465_irq,
76};
77
78static irqreturn_t hd64465_interrupt(int irq, void *dev_id)
79{
80 printk(KERN_INFO
81 "HD64465: spurious interrupt, nirr: 0x%x nimr: 0x%x\n",
82 inw(HD64465_REG_NIRR), inw(HD64465_REG_NIMR));
83
84 return IRQ_NONE;
85}
86
87/*
88 * Support for a secondary IRQ demux step. This is necessary
89 * because the HD64465 presents a very thin interface to the
90 * PCMCIA bus; a lot of features (such as remapping interrupts)
91 * normally done in hardware by other PCMCIA host bridges is
92 * instead done in software.
93 */
94static struct {
95 int (*func)(int, void *);
96 void *dev;
97} hd64465_demux[HD64465_IRQ_NUM];
98
99void hd64465_register_irq_demux(int irq,
100 int (*demux)(int irq, void *dev), void *dev)
101{
102 hd64465_demux[irq - HD64465_IRQ_BASE].func = demux;
103 hd64465_demux[irq - HD64465_IRQ_BASE].dev = dev;
104}
105EXPORT_SYMBOL(hd64465_register_irq_demux);
106
107void hd64465_unregister_irq_demux(int irq)
108{
109 hd64465_demux[irq - HD64465_IRQ_BASE].func = 0;
110}
111EXPORT_SYMBOL(hd64465_unregister_irq_demux);
112
113int hd64465_irq_demux(int irq)
114{
115 if (irq == CONFIG_HD64465_IRQ) {
116 unsigned short i, bit;
117 unsigned short nirr = inw(HD64465_REG_NIRR);
118 unsigned short nimr = inw(HD64465_REG_NIMR);
119
120 pr_debug("hd64465_irq_demux, nirr=%04x, nimr=%04x\n", nirr, nimr);
121 nirr &= ~nimr;
122 for (bit = 1, i = 0 ; i < HD64465_IRQ_NUM ; bit <<= 1, i++)
123 if (nirr & bit)
124 break;
125
126 if (i < HD64465_IRQ_NUM) {
127 irq = HD64465_IRQ_BASE + i;
128 if (hd64465_demux[i].func != 0)
129 irq = hd64465_demux[i].func(irq, hd64465_demux[i].dev);
130 }
131 }
132 return irq;
133}
134
135static struct irqaction irq0 = {
136 .handler = hd64465_interrupt,
137 .flags = IRQF_DISABLED,
138 .mask = CPU_MASK_NONE,
139 .name = "HD64465",
140};
141
142static int __init setup_hd64465(void)
143{
144 int i;
145 unsigned short rev;
146 unsigned short smscr;
147
148 if (!MACH_HD64465)
149 return 0;
150
151 printk(KERN_INFO "HD64465 configured at 0x%x on irq %d(mapped into %d to %d)\n",
152 CONFIG_HD64465_IOBASE,
153 CONFIG_HD64465_IRQ,
154 HD64465_IRQ_BASE,
155 HD64465_IRQ_BASE+HD64465_IRQ_NUM-1);
156
157 if (inw(HD64465_REG_SDID) != HD64465_SDID) {
158 printk(KERN_ERR "HD64465 device ID not found, check base address\n");
159 }
160
161 rev = inw(HD64465_REG_SRR);
162 printk(KERN_INFO "HD64465 hardware revision %d.%d\n", (rev >> 8) & 0xff, rev & 0xff);
163
164 outw(0xffff, HD64465_REG_NIMR); /* mask all interrupts */
165
166 for (i = 0; i < HD64465_IRQ_NUM ; i++) {
167 irq_desc[HD64465_IRQ_BASE + i].chip = &hd64465_irq_type;
168 }
169
170 setup_irq(CONFIG_HD64465_IRQ, &irq0);
171
172 /* wake up the UART from STANDBY at this point */
173 smscr = inw(HD64465_REG_SMSCR);
174 outw(smscr & (~HD64465_SMSCR_UARTST), HD64465_REG_SMSCR);
175
176 /* remap IO ports for first ISA serial port to HD64465 UART */
177 hd64465_port_map(0x3f8, 8, CONFIG_HD64465_IOBASE + 0x8000, 1);
178
179 return 0;
180}
181module_init(setup_hd64465);
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig
index 624c47aa66d3..30cac42f25e7 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.27 3# Linux kernel version: 2.6.28-rc2
4# Tue Oct 21 12:57:28 2008 4# Fri Oct 31 15:58:06 2008
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_SUPERH32=y 7CONFIG_SUPERH32=y
@@ -73,7 +73,6 @@ CONFIG_EVENTFD=y
73CONFIG_SHMEM=y 73CONFIG_SHMEM=y
74CONFIG_AIO=y 74CONFIG_AIO=y
75CONFIG_VM_EVENT_COUNTERS=y 75CONFIG_VM_EVENT_COUNTERS=y
76CONFIG_PCI_QUIRKS=y
77CONFIG_SLAB=y 76CONFIG_SLAB=y
78# CONFIG_SLUB is not set 77# CONFIG_SLUB is not set
79# CONFIG_SLOB is not set 78# CONFIG_SLOB is not set
@@ -285,7 +284,7 @@ CONFIG_GUSA=y
285CONFIG_ZERO_PAGE_OFFSET=0x00001000 284CONFIG_ZERO_PAGE_OFFSET=0x00001000
286CONFIG_BOOT_LINK_OFFSET=0x00800000 285CONFIG_BOOT_LINK_OFFSET=0x00800000
287CONFIG_CMDLINE_BOOL=y 286CONFIG_CMDLINE_BOOL=y
288CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ip=on" 287CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ip=on root=/dev/nfs ip=dhcp"
289 288
290# 289#
291# Bus options 290# Bus options
@@ -718,6 +717,7 @@ CONFIG_SSB_POSSIBLE=y
718# CONFIG_MFD_SM501 is not set 717# CONFIG_MFD_SM501 is not set
719# CONFIG_HTC_PASIC3 is not set 718# CONFIG_HTC_PASIC3 is not set
720# CONFIG_MFD_TMIO is not set 719# CONFIG_MFD_TMIO is not set
720# CONFIG_PMIC_DA903X is not set
721# CONFIG_MFD_WM8400 is not set 721# CONFIG_MFD_WM8400 is not set
722# CONFIG_MFD_WM8350_I2C is not set 722# CONFIG_MFD_WM8350_I2C is not set
723 723
@@ -969,7 +969,23 @@ CONFIG_TMPFS=y
969# CONFIG_ROMFS_FS is not set 969# CONFIG_ROMFS_FS is not set
970# CONFIG_SYSV_FS is not set 970# CONFIG_SYSV_FS is not set
971# CONFIG_UFS_FS is not set 971# CONFIG_UFS_FS is not set
972# CONFIG_NETWORK_FILESYSTEMS is not set 972CONFIG_NETWORK_FILESYSTEMS=y
973CONFIG_NFS_FS=y
974# CONFIG_NFS_V3 is not set
975# CONFIG_NFS_V4 is not set
976CONFIG_ROOT_NFS=y
977# CONFIG_NFSD is not set
978CONFIG_LOCKD=y
979CONFIG_NFS_COMMON=y
980CONFIG_SUNRPC=y
981# CONFIG_SUNRPC_REGISTER_V4 is not set
982# CONFIG_RPCSEC_GSS_KRB5 is not set
983# CONFIG_RPCSEC_GSS_SPKM3 is not set
984# CONFIG_SMB_FS is not set
985# CONFIG_CIFS is not set
986# CONFIG_NCP_FS is not set
987# CONFIG_CODA_FS is not set
988# CONFIG_AFS_FS is not set
973 989
974# 990#
975# Partition Types 991# Partition Types
@@ -1019,7 +1035,12 @@ CONFIG_CRYPTO=y
1019# Crypto core or helper 1035# Crypto core or helper
1020# 1036#
1021# CONFIG_CRYPTO_FIPS is not set 1037# CONFIG_CRYPTO_FIPS is not set
1022# CONFIG_CRYPTO_MANAGER is not set 1038CONFIG_CRYPTO_ALGAPI=y
1039CONFIG_CRYPTO_AEAD=y
1040CONFIG_CRYPTO_BLKCIPHER=y
1041CONFIG_CRYPTO_HASH=y
1042CONFIG_CRYPTO_RNG=y
1043CONFIG_CRYPTO_MANAGER=y
1023# CONFIG_CRYPTO_GF128MUL is not set 1044# CONFIG_CRYPTO_GF128MUL is not set
1024# CONFIG_CRYPTO_NULL is not set 1045# CONFIG_CRYPTO_NULL is not set
1025# CONFIG_CRYPTO_CRYPTD is not set 1046# CONFIG_CRYPTO_CRYPTD is not set
@@ -1096,7 +1117,7 @@ CONFIG_CRYPTO=y
1096# Random Number Generation 1117# Random Number Generation
1097# 1118#
1098# CONFIG_CRYPTO_ANSI_CPRNG is not set 1119# CONFIG_CRYPTO_ANSI_CPRNG is not set
1099CONFIG_CRYPTO_HW=y 1120# CONFIG_CRYPTO_HW is not set
1100 1121
1101# 1122#
1102# Library routines 1123# Library routines
diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig
new file mode 100644
index 000000000000..9afff67d9ff2
--- /dev/null
+++ b/arch/sh/configs/ul2_defconfig
@@ -0,0 +1,1169 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.28-rc2
4# Tue Oct 28 17:35:17 2008
5#
6CONFIG_SUPERH=y
7CONFIG_SUPERH32=y
8CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig"
9CONFIG_RWSEM_GENERIC_SPINLOCK=y
10CONFIG_GENERIC_BUG=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
15CONFIG_GENERIC_IRQ_PROBE=y
16# CONFIG_GENERIC_GPIO is not set
17CONFIG_GENERIC_TIME=y
18CONFIG_GENERIC_CLOCKEVENTS=y
19CONFIG_SYS_SUPPORTS_NUMA=y
20CONFIG_STACKTRACE_SUPPORT=y
21CONFIG_LOCKDEP_SUPPORT=y
22CONFIG_HAVE_LATENCYTOP_SUPPORT=y
23# CONFIG_ARCH_HAS_ILOG2_U32 is not set
24# CONFIG_ARCH_HAS_ILOG2_U64 is not set
25CONFIG_ARCH_NO_VIRT_TO_BUS=y
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_AUDIT is not set
45CONFIG_IKCONFIG=y
46CONFIG_IKCONFIG_PROC=y
47CONFIG_LOG_BUF_SHIFT=14
48# CONFIG_CGROUPS is not set
49# CONFIG_GROUP_SCHED is not set
50CONFIG_SYSFS_DEPRECATED=y
51CONFIG_SYSFS_DEPRECATED_V2=y
52# CONFIG_RELAY is not set
53# CONFIG_NAMESPACES is not set
54CONFIG_BLK_DEV_INITRD=y
55CONFIG_INITRAMFS_SOURCE=""
56CONFIG_CC_OPTIMIZE_FOR_SIZE=y
57CONFIG_SYSCTL=y
58CONFIG_EMBEDDED=y
59CONFIG_UID16=y
60CONFIG_SYSCTL_SYSCALL=y
61CONFIG_KALLSYMS=y
62# CONFIG_KALLSYMS_EXTRA_PASS is not set
63CONFIG_HOTPLUG=y
64CONFIG_PRINTK=y
65CONFIG_BUG=y
66CONFIG_ELF_CORE=y
67CONFIG_COMPAT_BRK=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_AIO=y
77CONFIG_VM_EVENT_COUNTERS=y
78CONFIG_SLUB_DEBUG=y
79# CONFIG_SLAB is not set
80CONFIG_SLUB=y
81# CONFIG_SLOB is not set
82CONFIG_PROFILING=y
83# CONFIG_MARKERS is not set
84# CONFIG_OPROFILE is not set
85CONFIG_HAVE_OPROFILE=y
86# CONFIG_KPROBES is not set
87CONFIG_HAVE_IOREMAP_PROT=y
88CONFIG_HAVE_KPROBES=y
89CONFIG_HAVE_KRETPROBES=y
90CONFIG_HAVE_ARCH_TRACEHOOK=y
91CONFIG_HAVE_CLK=y
92CONFIG_HAVE_GENERIC_DMA_COHERENT=y
93CONFIG_SLABINFO=y
94CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0
97CONFIG_MODULES=y
98# CONFIG_MODULE_FORCE_LOAD is not set
99CONFIG_MODULE_UNLOAD=y
100# CONFIG_MODULE_FORCE_UNLOAD is not set
101# CONFIG_MODVERSIONS is not set
102# CONFIG_MODULE_SRCVERSION_ALL is not set
103CONFIG_KMOD=y
104CONFIG_BLOCK=y
105# CONFIG_LBD is not set
106# CONFIG_BLK_DEV_IO_TRACE is not set
107# CONFIG_LSF is not set
108# CONFIG_BLK_DEV_BSG is not set
109# CONFIG_BLK_DEV_INTEGRITY is not set
110
111#
112# IO Schedulers
113#
114CONFIG_IOSCHED_NOOP=y
115# CONFIG_IOSCHED_AS is not set
116# CONFIG_IOSCHED_DEADLINE is not set
117# CONFIG_IOSCHED_CFQ is not set
118# CONFIG_DEFAULT_AS is not set
119# CONFIG_DEFAULT_DEADLINE is not set
120# CONFIG_DEFAULT_CFQ is not set
121CONFIG_DEFAULT_NOOP=y
122CONFIG_DEFAULT_IOSCHED="noop"
123CONFIG_CLASSIC_RCU=y
124# CONFIG_FREEZER is not set
125
126#
127# System type
128#
129CONFIG_CPU_SH4=y
130CONFIG_CPU_SH4A=y
131CONFIG_CPU_SH4AL_DSP=y
132CONFIG_CPU_SHX2=y
133# CONFIG_CPU_SUBTYPE_SH7619 is not set
134# CONFIG_CPU_SUBTYPE_SH7203 is not set
135# CONFIG_CPU_SUBTYPE_SH7206 is not set
136# CONFIG_CPU_SUBTYPE_SH7263 is not set
137# CONFIG_CPU_SUBTYPE_MXG is not set
138# CONFIG_CPU_SUBTYPE_SH7705 is not set
139# CONFIG_CPU_SUBTYPE_SH7706 is not set
140# CONFIG_CPU_SUBTYPE_SH7707 is not set
141# CONFIG_CPU_SUBTYPE_SH7708 is not set
142# CONFIG_CPU_SUBTYPE_SH7709 is not set
143# CONFIG_CPU_SUBTYPE_SH7710 is not set
144# CONFIG_CPU_SUBTYPE_SH7712 is not set
145# CONFIG_CPU_SUBTYPE_SH7720 is not set
146# CONFIG_CPU_SUBTYPE_SH7721 is not set
147# CONFIG_CPU_SUBTYPE_SH7750 is not set
148# CONFIG_CPU_SUBTYPE_SH7091 is not set
149# CONFIG_CPU_SUBTYPE_SH7750R is not set
150# CONFIG_CPU_SUBTYPE_SH7750S is not set
151# CONFIG_CPU_SUBTYPE_SH7751 is not set
152# CONFIG_CPU_SUBTYPE_SH7751R is not set
153# CONFIG_CPU_SUBTYPE_SH7760 is not set
154# CONFIG_CPU_SUBTYPE_SH4_202 is not set
155# CONFIG_CPU_SUBTYPE_SH7723 is not set
156# CONFIG_CPU_SUBTYPE_SH7763 is not set
157# CONFIG_CPU_SUBTYPE_SH7770 is not set
158# CONFIG_CPU_SUBTYPE_SH7780 is not set
159# CONFIG_CPU_SUBTYPE_SH7785 is not set
160# CONFIG_CPU_SUBTYPE_SHX3 is not set
161# CONFIG_CPU_SUBTYPE_SH7343 is not set
162# CONFIG_CPU_SUBTYPE_SH7722 is not set
163CONFIG_CPU_SUBTYPE_SH7366=y
164# CONFIG_CPU_SUBTYPE_SH5_101 is not set
165# CONFIG_CPU_SUBTYPE_SH5_103 is not set
166
167#
168# Memory management options
169#
170CONFIG_QUICKLIST=y
171CONFIG_MMU=y
172CONFIG_PAGE_OFFSET=0x80000000
173CONFIG_MEMORY_START=0x08000000
174CONFIG_MEMORY_SIZE=0x01f00000
175CONFIG_29BIT=y
176# CONFIG_X2TLB is not set
177CONFIG_VSYSCALL=y
178CONFIG_NUMA=y
179CONFIG_NODES_SHIFT=1
180CONFIG_ARCH_SPARSEMEM_ENABLE=y
181CONFIG_ARCH_SPARSEMEM_DEFAULT=y
182CONFIG_MAX_ACTIVE_REGIONS=1
183CONFIG_ARCH_POPULATES_NODE_MAP=y
184CONFIG_ARCH_SELECT_MEMORY_MODEL=y
185CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
186CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
187CONFIG_PAGE_SIZE_4KB=y
188# CONFIG_PAGE_SIZE_8KB is not set
189# CONFIG_PAGE_SIZE_16KB is not set
190# CONFIG_PAGE_SIZE_64KB is not set
191CONFIG_ENTRY_OFFSET=0x00001000
192CONFIG_HUGETLB_PAGE_SIZE_64K=y
193# CONFIG_HUGETLB_PAGE_SIZE_256K is not set
194# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
195# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
196# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set
197# CONFIG_HUGETLB_PAGE_SIZE_512MB is not set
198CONFIG_SELECT_MEMORY_MODEL=y
199# CONFIG_FLATMEM_MANUAL is not set
200# CONFIG_DISCONTIGMEM_MANUAL is not set
201CONFIG_SPARSEMEM_MANUAL=y
202CONFIG_SPARSEMEM=y
203CONFIG_NEED_MULTIPLE_NODES=y
204CONFIG_HAVE_MEMORY_PRESENT=y
205CONFIG_SPARSEMEM_STATIC=y
206# CONFIG_MEMORY_HOTPLUG is not set
207CONFIG_SPLIT_PTLOCK_CPUS=4
208# CONFIG_MIGRATION is not set
209# CONFIG_RESOURCES_64BIT is not set
210# CONFIG_PHYS_ADDR_T_64BIT is not set
211CONFIG_ZONE_DMA_FLAG=0
212CONFIG_NR_QUICK=2
213CONFIG_UNEVICTABLE_LRU=y
214
215#
216# Cache configuration
217#
218# CONFIG_SH_DIRECT_MAPPED is not set
219CONFIG_CACHE_WRITEBACK=y
220# CONFIG_CACHE_WRITETHROUGH is not set
221# CONFIG_CACHE_OFF is not set
222
223#
224# Processor features
225#
226CONFIG_CPU_LITTLE_ENDIAN=y
227# CONFIG_CPU_BIG_ENDIAN is not set
228# CONFIG_SH_FPU_EMU is not set
229# CONFIG_SH_DSP is not set
230# CONFIG_SH_STORE_QUEUES is not set
231CONFIG_CPU_HAS_INTEVT=y
232CONFIG_CPU_HAS_SR_RB=y
233CONFIG_CPU_HAS_PTEA=y
234CONFIG_CPU_HAS_DSP=y
235
236#
237# Board support
238#
239
240#
241# Timer and clock configuration
242#
243CONFIG_SH_TMU=y
244CONFIG_SH_TIMER_IRQ=16
245CONFIG_SH_PCLK_FREQ=33333333
246CONFIG_TICK_ONESHOT=y
247# CONFIG_NO_HZ is not set
248CONFIG_HIGH_RES_TIMERS=y
249CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
250
251#
252# CPU Frequency scaling
253#
254# CONFIG_CPU_FREQ is not set
255
256#
257# DMA support
258#
259# CONFIG_SH_DMA is not set
260
261#
262# Companion Chips
263#
264
265#
266# Additional SuperH Device Drivers
267#
268# CONFIG_HEARTBEAT is not set
269# CONFIG_PUSH_SWITCH is not set
270
271#
272# Kernel features
273#
274CONFIG_HZ_100=y
275# CONFIG_HZ_250 is not set
276# CONFIG_HZ_300 is not set
277# CONFIG_HZ_1000 is not set
278CONFIG_HZ=100
279CONFIG_SCHED_HRTICK=y
280CONFIG_KEXEC=y
281# CONFIG_CRASH_DUMP is not set
282# CONFIG_SECCOMP is not set
283# CONFIG_PREEMPT_NONE is not set
284# CONFIG_PREEMPT_VOLUNTARY is not set
285CONFIG_PREEMPT=y
286# CONFIG_PREEMPT_RCU is not set
287CONFIG_GUSA=y
288
289#
290# Boot options
291#
292CONFIG_ZERO_PAGE_OFFSET=0x00001000
293CONFIG_BOOT_LINK_OFFSET=0x00800000
294CONFIG_CMDLINE_BOOL=y
295CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/nfs ip=dhcp"
296
297#
298# Bus options
299#
300# CONFIG_ARCH_SUPPORTS_MSI is not set
301# CONFIG_PCCARD is not set
302
303#
304# Executable file formats
305#
306CONFIG_BINFMT_ELF=y
307# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
308# CONFIG_HAVE_AOUT is not set
309# CONFIG_BINFMT_MISC is not set
310CONFIG_NET=y
311
312#
313# Networking options
314#
315CONFIG_PACKET=y
316CONFIG_PACKET_MMAP=y
317CONFIG_UNIX=y
318CONFIG_XFRM=y
319# CONFIG_XFRM_USER is not set
320# CONFIG_XFRM_SUB_POLICY is not set
321# CONFIG_XFRM_MIGRATE is not set
322# CONFIG_XFRM_STATISTICS is not set
323# CONFIG_NET_KEY is not set
324CONFIG_INET=y
325# CONFIG_IP_MULTICAST is not set
326# CONFIG_IP_ADVANCED_ROUTER is not set
327CONFIG_IP_FIB_HASH=y
328CONFIG_IP_PNP=y
329CONFIG_IP_PNP_DHCP=y
330# CONFIG_IP_PNP_BOOTP is not set
331# CONFIG_IP_PNP_RARP is not set
332# CONFIG_NET_IPIP is not set
333# CONFIG_NET_IPGRE is not set
334# CONFIG_ARPD is not set
335# CONFIG_SYN_COOKIES is not set
336# CONFIG_INET_AH is not set
337# CONFIG_INET_ESP is not set
338# CONFIG_INET_IPCOMP is not set
339# CONFIG_INET_XFRM_TUNNEL is not set
340# CONFIG_INET_TUNNEL is not set
341CONFIG_INET_XFRM_MODE_TRANSPORT=y
342CONFIG_INET_XFRM_MODE_TUNNEL=y
343CONFIG_INET_XFRM_MODE_BEET=y
344# CONFIG_INET_LRO is not set
345CONFIG_INET_DIAG=y
346CONFIG_INET_TCP_DIAG=y
347# CONFIG_TCP_CONG_ADVANCED is not set
348CONFIG_TCP_CONG_CUBIC=y
349CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_TCP_MD5SIG is not set
351# CONFIG_IPV6 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_NET_DSA 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# 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
376# CONFIG_CAN is not set
377# CONFIG_IRDA is not set
378# CONFIG_BT is not set
379# CONFIG_AF_RXRPC is not set
380# CONFIG_PHONET is not set
381CONFIG_WIRELESS=y
382CONFIG_CFG80211=y
383CONFIG_NL80211=y
384# CONFIG_WIRELESS_OLD_REGULATORY is not set
385CONFIG_WIRELESS_EXT=y
386CONFIG_WIRELESS_EXT_SYSFS=y
387CONFIG_MAC80211=y
388
389#
390# Rate control algorithm selection
391#
392CONFIG_MAC80211_RC_PID=y
393# CONFIG_MAC80211_RC_MINSTREL is not set
394CONFIG_MAC80211_RC_DEFAULT_PID=y
395# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
396CONFIG_MAC80211_RC_DEFAULT="pid"
397# CONFIG_MAC80211_MESH is not set
398# CONFIG_MAC80211_LEDS is not set
399# CONFIG_MAC80211_DEBUG_MENU is not set
400CONFIG_IEEE80211=m
401CONFIG_IEEE80211_DEBUG=y
402CONFIG_IEEE80211_CRYPT_WEP=m
403CONFIG_IEEE80211_CRYPT_CCMP=m
404CONFIG_IEEE80211_CRYPT_TKIP=m
405# CONFIG_RFKILL is not set
406# CONFIG_NET_9P is not set
407
408#
409# Device Drivers
410#
411
412#
413# Generic Driver Options
414#
415CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
416CONFIG_STANDALONE=y
417CONFIG_PREVENT_FIRMWARE_BUILD=y
418CONFIG_FW_LOADER=y
419CONFIG_FIRMWARE_IN_KERNEL=y
420CONFIG_EXTRA_FIRMWARE=""
421# CONFIG_SYS_HYPERVISOR is not set
422# CONFIG_CONNECTOR is not set
423CONFIG_MTD=y
424# CONFIG_MTD_DEBUG is not set
425CONFIG_MTD_CONCAT=y
426CONFIG_MTD_PARTITIONS=y
427# CONFIG_MTD_REDBOOT_PARTS is not set
428# CONFIG_MTD_CMDLINE_PARTS is not set
429# CONFIG_MTD_AR7_PARTS is not set
430
431#
432# User Modules And Translation Layers
433#
434CONFIG_MTD_CHAR=y
435CONFIG_MTD_BLKDEVS=y
436CONFIG_MTD_BLOCK=y
437# CONFIG_FTL is not set
438# CONFIG_NFTL is not set
439# CONFIG_INFTL is not set
440# CONFIG_RFD_FTL is not set
441# CONFIG_SSFDC is not set
442# CONFIG_MTD_OOPS is not set
443
444#
445# RAM/ROM/Flash chip drivers
446#
447CONFIG_MTD_CFI=y
448# CONFIG_MTD_JEDECPROBE is not set
449CONFIG_MTD_GEN_PROBE=y
450# CONFIG_MTD_CFI_ADV_OPTIONS is not set
451CONFIG_MTD_MAP_BANK_WIDTH_1=y
452CONFIG_MTD_MAP_BANK_WIDTH_2=y
453CONFIG_MTD_MAP_BANK_WIDTH_4=y
454# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
455# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
456# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
457CONFIG_MTD_CFI_I1=y
458CONFIG_MTD_CFI_I2=y
459# CONFIG_MTD_CFI_I4 is not set
460# CONFIG_MTD_CFI_I8 is not set
461# CONFIG_MTD_CFI_INTELEXT is not set
462CONFIG_MTD_CFI_AMDSTD=y
463# CONFIG_MTD_CFI_STAA is not set
464CONFIG_MTD_CFI_UTIL=y
465CONFIG_MTD_RAM=y
466# CONFIG_MTD_ROM is not set
467# CONFIG_MTD_ABSENT is not set
468
469#
470# Mapping drivers for chip access
471#
472# CONFIG_MTD_COMPLEX_MAPPINGS is not set
473# CONFIG_MTD_PHYSMAP 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
490# CONFIG_MTD_NAND is not set
491# CONFIG_MTD_ONENAND is not set
492
493#
494# UBI - Unsorted block images
495#
496# CONFIG_MTD_UBI is not set
497# CONFIG_PARPORT is not set
498CONFIG_BLK_DEV=y
499# CONFIG_BLK_DEV_COW_COMMON is not set
500# CONFIG_BLK_DEV_LOOP is not set
501# CONFIG_BLK_DEV_NBD is not set
502# CONFIG_BLK_DEV_UB is not set
503CONFIG_BLK_DEV_RAM=y
504CONFIG_BLK_DEV_RAM_COUNT=16
505CONFIG_BLK_DEV_RAM_SIZE=4096
506# CONFIG_BLK_DEV_XIP is not set
507# CONFIG_CDROM_PKTCDVD is not set
508# CONFIG_ATA_OVER_ETH is not set
509# CONFIG_BLK_DEV_HD is not set
510CONFIG_MISC_DEVICES=y
511# CONFIG_EEPROM_93CX6 is not set
512# CONFIG_ENCLOSURE_SERVICES is not set
513CONFIG_HAVE_IDE=y
514# CONFIG_IDE is not set
515
516#
517# SCSI device support
518#
519# CONFIG_RAID_ATTRS is not set
520CONFIG_SCSI=y
521CONFIG_SCSI_DMA=y
522# CONFIG_SCSI_TGT is not set
523# CONFIG_SCSI_NETLINK is not set
524CONFIG_SCSI_PROC_FS=y
525
526#
527# SCSI support type (disk, tape, CD-ROM)
528#
529CONFIG_BLK_DEV_SD=y
530# CONFIG_CHR_DEV_ST is not set
531# CONFIG_CHR_DEV_OSST is not set
532# CONFIG_BLK_DEV_SR is not set
533# CONFIG_CHR_DEV_SG is not set
534# CONFIG_CHR_DEV_SCH is not set
535
536#
537# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
538#
539# CONFIG_SCSI_MULTI_LUN is not set
540# CONFIG_SCSI_CONSTANTS is not set
541# CONFIG_SCSI_LOGGING is not set
542# CONFIG_SCSI_SCAN_ASYNC is not set
543CONFIG_SCSI_WAIT_SCAN=m
544
545#
546# SCSI Transports
547#
548# CONFIG_SCSI_SPI_ATTRS is not set
549# CONFIG_SCSI_FC_ATTRS is not set
550# CONFIG_SCSI_ISCSI_ATTRS is not set
551# CONFIG_SCSI_SAS_LIBSAS is not set
552# CONFIG_SCSI_SRP_ATTRS is not set
553CONFIG_SCSI_LOWLEVEL=y
554# CONFIG_ISCSI_TCP is not set
555# CONFIG_SCSI_DEBUG is not set
556# CONFIG_SCSI_DH is not set
557CONFIG_ATA=y
558# CONFIG_ATA_NONSTANDARD is not set
559CONFIG_SATA_PMP=y
560CONFIG_ATA_SFF=y
561# CONFIG_SATA_MV is not set
562CONFIG_PATA_PLATFORM=y
563# CONFIG_MD is not set
564CONFIG_NETDEVICES=y
565# CONFIG_DUMMY is not set
566# CONFIG_BONDING is not set
567# CONFIG_MACVLAN is not set
568# CONFIG_EQUALIZER is not set
569# CONFIG_TUN is not set
570# CONFIG_VETH is not set
571# CONFIG_PHYLIB is not set
572CONFIG_NET_ETHERNET=y
573CONFIG_MII=y
574# CONFIG_AX88796 is not set
575# CONFIG_STNIC is not set
576# CONFIG_SMC91X is not set
577# CONFIG_SMC911X is not set
578# CONFIG_IBM_NEW_EMAC_ZMII is not set
579# CONFIG_IBM_NEW_EMAC_RGMII is not set
580# CONFIG_IBM_NEW_EMAC_TAH is not set
581# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
582# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
583# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
584# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
585# CONFIG_B44 is not set
586# CONFIG_NETDEV_1000 is not set
587# CONFIG_NETDEV_10000 is not set
588
589#
590# Wireless LAN
591#
592# CONFIG_WLAN_PRE80211 is not set
593CONFIG_WLAN_80211=y
594CONFIG_LIBERTAS=m
595# CONFIG_LIBERTAS_USB is not set
596CONFIG_LIBERTAS_SDIO=m
597CONFIG_LIBERTAS_DEBUG=y
598# CONFIG_LIBERTAS_THINFIRM is not set
599# CONFIG_USB_ZD1201 is not set
600# CONFIG_USB_NET_RNDIS_WLAN is not set
601# CONFIG_RTL8187 is not set
602# CONFIG_MAC80211_HWSIM is not set
603# CONFIG_P54_COMMON is not set
604# CONFIG_IWLWIFI_LEDS is not set
605# CONFIG_HOSTAP is not set
606# CONFIG_B43 is not set
607# CONFIG_B43LEGACY is not set
608# CONFIG_ZD1211RW is not set
609# CONFIG_RT2X00 is not set
610
611#
612# USB Network Adapters
613#
614# CONFIG_USB_CATC is not set
615# CONFIG_USB_KAWETH is not set
616# CONFIG_USB_PEGASUS is not set
617# CONFIG_USB_RTL8150 is not set
618CONFIG_USB_USBNET=y
619CONFIG_USB_NET_AX8817X=y
620CONFIG_USB_NET_CDCETHER=y
621# CONFIG_USB_NET_DM9601 is not set
622# CONFIG_USB_NET_SMSC95XX is not set
623# CONFIG_USB_NET_GL620A is not set
624# CONFIG_USB_NET_NET1080 is not set
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
628# CONFIG_USB_NET_CDC_SUBSET is not set
629# CONFIG_USB_NET_ZAURUS is not set
630# CONFIG_WAN is not set
631# CONFIG_PPP is not set
632# CONFIG_SLIP is not set
633# CONFIG_NETCONSOLE is not set
634# CONFIG_NETPOLL is not set
635# CONFIG_NET_POLL_CONTROLLER is not set
636# CONFIG_ISDN is not set
637# CONFIG_PHONE is not set
638
639#
640# Input device support
641#
642CONFIG_INPUT=y
643# CONFIG_INPUT_FF_MEMLESS is not set
644# CONFIG_INPUT_POLLDEV is not set
645
646#
647# Userland interfaces
648#
649# CONFIG_INPUT_MOUSEDEV is not set
650# CONFIG_INPUT_JOYDEV is not set
651# CONFIG_INPUT_EVDEV is not set
652# CONFIG_INPUT_EVBUG is not set
653
654#
655# Input Device Drivers
656#
657# CONFIG_INPUT_KEYBOARD is not set
658# CONFIG_INPUT_MOUSE is not set
659# CONFIG_INPUT_JOYSTICK is not set
660# CONFIG_INPUT_TABLET is not set
661# CONFIG_INPUT_TOUCHSCREEN is not set
662# CONFIG_INPUT_MISC is not set
663
664#
665# Hardware I/O ports
666#
667# CONFIG_SERIO is not set
668# CONFIG_GAMEPORT is not set
669
670#
671# Character devices
672#
673# CONFIG_VT is not set
674CONFIG_DEVKMEM=y
675# CONFIG_SERIAL_NONSTANDARD is not set
676
677#
678# Serial drivers
679#
680# CONFIG_SERIAL_8250 is not set
681
682#
683# Non-8250 serial port support
684#
685CONFIG_SERIAL_SH_SCI=y
686CONFIG_SERIAL_SH_SCI_NR_UARTS=1
687CONFIG_SERIAL_SH_SCI_CONSOLE=y
688CONFIG_SERIAL_CORE=y
689CONFIG_SERIAL_CORE_CONSOLE=y
690# CONFIG_UNIX98_PTYS is not set
691# CONFIG_LEGACY_PTYS is not set
692# CONFIG_IPMI_HANDLER is not set
693# CONFIG_HW_RANDOM is not set
694# CONFIG_R3964 is not set
695# CONFIG_RAW_DRIVER is not set
696# CONFIG_TCG_TPM is not set
697# CONFIG_I2C is not set
698# CONFIG_SPI is not set
699# CONFIG_W1 is not set
700# CONFIG_POWER_SUPPLY is not set
701CONFIG_HWMON=y
702# CONFIG_HWMON_VID is not set
703# CONFIG_SENSORS_F71805F is not set
704# CONFIG_SENSORS_F71882FG is not set
705# CONFIG_SENSORS_IT87 is not set
706# CONFIG_SENSORS_PC87360 is not set
707# CONFIG_SENSORS_PC87427 is not set
708# CONFIG_SENSORS_SMSC47M1 is not set
709# CONFIG_SENSORS_SMSC47B397 is not set
710# CONFIG_SENSORS_VT1211 is not set
711# CONFIG_SENSORS_W83627HF is not set
712# CONFIG_SENSORS_W83627EHF is not set
713# CONFIG_HWMON_DEBUG_CHIP is not set
714# CONFIG_THERMAL is not set
715# CONFIG_THERMAL_HWMON is not set
716# CONFIG_WATCHDOG is not set
717
718#
719# Sonics Silicon Backplane
720#
721CONFIG_SSB_POSSIBLE=y
722# CONFIG_SSB is not set
723
724#
725# Multifunction device drivers
726#
727# CONFIG_MFD_CORE is not set
728# CONFIG_MFD_SM501 is not set
729# CONFIG_HTC_PASIC3 is not set
730# CONFIG_MFD_TMIO is not set
731
732#
733# Multimedia devices
734#
735
736#
737# Multimedia core support
738#
739# CONFIG_VIDEO_DEV is not set
740# CONFIG_DVB_CORE is not set
741# CONFIG_VIDEO_MEDIA is not set
742
743#
744# Multimedia drivers
745#
746# CONFIG_DAB is not set
747
748#
749# Graphics support
750#
751# CONFIG_VGASTATE is not set
752# CONFIG_VIDEO_OUTPUT_CONTROL is not set
753# CONFIG_FB is not set
754# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
755
756#
757# Display device support
758#
759# CONFIG_DISPLAY_SUPPORT is not set
760# CONFIG_SOUND is not set
761# CONFIG_HID_SUPPORT is not set
762CONFIG_USB_SUPPORT=y
763CONFIG_USB_ARCH_HAS_HCD=y
764# CONFIG_USB_ARCH_HAS_OHCI is not set
765# CONFIG_USB_ARCH_HAS_EHCI is not set
766CONFIG_USB=y
767# CONFIG_USB_DEBUG is not set
768# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
769
770#
771# Miscellaneous USB options
772#
773# CONFIG_USB_DEVICEFS is not set
774CONFIG_USB_DEVICE_CLASS=y
775# CONFIG_USB_DYNAMIC_MINORS is not set
776# CONFIG_USB_OTG is not set
777# CONFIG_USB_OTG_WHITELIST is not set
778# CONFIG_USB_OTG_BLACKLIST_HUB is not set
779CONFIG_USB_MON=y
780# CONFIG_USB_WUSB is not set
781# CONFIG_USB_WUSB_CBAF is not set
782
783#
784# USB Host Controller Drivers
785#
786# CONFIG_USB_C67X00_HCD is not set
787# CONFIG_USB_ISP116X_HCD is not set
788# CONFIG_USB_ISP1760_HCD is not set
789# CONFIG_USB_SL811_HCD is not set
790CONFIG_USB_R8A66597_HCD=y
791# CONFIG_SUPERH_ON_CHIP_R8A66597 is not set
792# CONFIG_USB_HWA_HCD is not set
793
794#
795# USB Device Class drivers
796#
797# CONFIG_USB_ACM is not set
798# CONFIG_USB_PRINTER is not set
799# CONFIG_USB_WDM is not set
800# CONFIG_USB_TMC is not set
801
802#
803# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
804#
805
806#
807# may also be needed; see USB_STORAGE Help for more information
808#
809CONFIG_USB_STORAGE=y
810# CONFIG_USB_STORAGE_DEBUG is not set
811# CONFIG_USB_STORAGE_DATAFAB is not set
812# CONFIG_USB_STORAGE_FREECOM is not set
813# CONFIG_USB_STORAGE_ISD200 is not set
814# CONFIG_USB_STORAGE_DPCM is not set
815# CONFIG_USB_STORAGE_USBAT is not set
816# CONFIG_USB_STORAGE_SDDR09 is not set
817# CONFIG_USB_STORAGE_SDDR55 is not set
818# CONFIG_USB_STORAGE_JUMPSHOT is not set
819# CONFIG_USB_STORAGE_ALAUDA is not set
820# CONFIG_USB_STORAGE_ONETOUCH is not set
821# CONFIG_USB_STORAGE_KARMA is not set
822# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
823# CONFIG_USB_LIBUSUAL is not set
824
825#
826# USB Imaging devices
827#
828# CONFIG_USB_MDC800 is not set
829# CONFIG_USB_MICROTEK is not set
830
831#
832# USB port drivers
833#
834# CONFIG_USB_SERIAL is not set
835
836#
837# USB Miscellaneous drivers
838#
839# CONFIG_USB_EMI62 is not set
840# CONFIG_USB_EMI26 is not set
841# CONFIG_USB_ADUTUX is not set
842# CONFIG_USB_SEVSEG is not set
843# CONFIG_USB_RIO500 is not set
844# CONFIG_USB_LEGOTOWER is not set
845# CONFIG_USB_LCD is not set
846# CONFIG_USB_BERRY_CHARGE is not set
847# CONFIG_USB_LED is not set
848# CONFIG_USB_CYPRESS_CY7C63 is not set
849# CONFIG_USB_CYTHERM is not set
850# CONFIG_USB_PHIDGET is not set
851# CONFIG_USB_IDMOUSE is not set
852# CONFIG_USB_FTDI_ELAN is not set
853# CONFIG_USB_APPLEDISPLAY is not set
854# CONFIG_USB_LD is not set
855# CONFIG_USB_TRANCEVIBRATOR is not set
856# CONFIG_USB_IOWARRIOR is not set
857# CONFIG_USB_ISIGHTFW is not set
858# CONFIG_USB_VST is not set
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/SDIO Card Drivers
866#
867CONFIG_MMC_BLOCK=y
868CONFIG_MMC_BLOCK_BOUNCE=y
869# CONFIG_SDIO_UART is not set
870# CONFIG_MMC_TEST is not set
871
872#
873# MMC/SD/SDIO Host Controller Drivers
874#
875# CONFIG_MMC_SDHCI is not set
876# CONFIG_MEMSTICK is not set
877# CONFIG_NEW_LEDS is not set
878# CONFIG_ACCESSIBILITY is not set
879# CONFIG_RTC_CLASS is not set
880# CONFIG_DMADEVICES is not set
881# CONFIG_UIO is not set
882# CONFIG_STAGING is not set
883
884#
885# File systems
886#
887CONFIG_EXT2_FS=y
888# CONFIG_EXT2_FS_XATTR is not set
889# CONFIG_EXT2_FS_XIP is not set
890CONFIG_EXT3_FS=y
891CONFIG_EXT3_FS_XATTR=y
892# CONFIG_EXT3_FS_POSIX_ACL is not set
893# CONFIG_EXT3_FS_SECURITY is not set
894# CONFIG_EXT4_FS is not set
895CONFIG_JBD=y
896CONFIG_FS_MBCACHE=y
897# CONFIG_REISERFS_FS is not set
898# CONFIG_JFS_FS is not set
899# CONFIG_FS_POSIX_ACL is not set
900CONFIG_FILE_LOCKING=y
901# CONFIG_XFS_FS is not set
902# CONFIG_OCFS2_FS is not set
903CONFIG_DNOTIFY=y
904CONFIG_INOTIFY=y
905CONFIG_INOTIFY_USER=y
906# CONFIG_QUOTA is not set
907# CONFIG_AUTOFS_FS is not set
908# CONFIG_AUTOFS4_FS is not set
909# CONFIG_FUSE_FS is not set
910
911#
912# CD-ROM/DVD Filesystems
913#
914# CONFIG_ISO9660_FS is not set
915# CONFIG_UDF_FS is not set
916
917#
918# DOS/FAT/NT Filesystems
919#
920CONFIG_FAT_FS=y
921# CONFIG_MSDOS_FS is not set
922CONFIG_VFAT_FS=y
923CONFIG_FAT_DEFAULT_CODEPAGE=437
924CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
925# CONFIG_NTFS_FS is not set
926
927#
928# Pseudo filesystems
929#
930CONFIG_PROC_FS=y
931CONFIG_PROC_KCORE=y
932CONFIG_PROC_SYSCTL=y
933CONFIG_PROC_PAGE_MONITOR=y
934CONFIG_SYSFS=y
935CONFIG_TMPFS=y
936# CONFIG_TMPFS_POSIX_ACL is not set
937CONFIG_HUGETLBFS=y
938CONFIG_HUGETLB_PAGE=y
939# CONFIG_CONFIGFS_FS is not set
940
941#
942# Miscellaneous filesystems
943#
944# CONFIG_ADFS_FS is not set
945# CONFIG_AFFS_FS is not set
946# CONFIG_HFS_FS is not set
947# CONFIG_HFSPLUS_FS is not set
948# CONFIG_BEFS_FS is not set
949# CONFIG_BFS_FS is not set
950# CONFIG_EFS_FS is not set
951# CONFIG_JFFS2_FS is not set
952CONFIG_CRAMFS=y
953# CONFIG_VXFS_FS is not set
954# CONFIG_MINIX_FS is not set
955# CONFIG_OMFS_FS is not set
956# CONFIG_HPFS_FS is not set
957# CONFIG_QNX4FS_FS is not set
958# CONFIG_ROMFS_FS is not set
959# CONFIG_SYSV_FS is not set
960# CONFIG_UFS_FS is not set
961CONFIG_NETWORK_FILESYSTEMS=y
962CONFIG_NFS_FS=y
963# CONFIG_NFS_V3 is not set
964# CONFIG_NFS_V4 is not set
965CONFIG_ROOT_NFS=y
966CONFIG_NFSD=y
967# CONFIG_NFSD_V3 is not set
968# CONFIG_NFSD_V4 is not set
969CONFIG_LOCKD=y
970CONFIG_EXPORTFS=y
971CONFIG_NFS_COMMON=y
972CONFIG_SUNRPC=y
973# CONFIG_SUNRPC_REGISTER_V4 is not set
974# CONFIG_RPCSEC_GSS_KRB5 is not set
975# CONFIG_RPCSEC_GSS_SPKM3 is not set
976# CONFIG_SMB_FS is not set
977# CONFIG_CIFS is not set
978# CONFIG_NCP_FS is not set
979# CONFIG_CODA_FS is not set
980# CONFIG_AFS_FS is not set
981
982#
983# Partition Types
984#
985# CONFIG_PARTITION_ADVANCED is not set
986CONFIG_MSDOS_PARTITION=y
987CONFIG_NLS=y
988CONFIG_NLS_DEFAULT="iso8859-1"
989CONFIG_NLS_CODEPAGE_437=y
990# CONFIG_NLS_CODEPAGE_737 is not set
991# CONFIG_NLS_CODEPAGE_775 is not set
992# CONFIG_NLS_CODEPAGE_850 is not set
993# CONFIG_NLS_CODEPAGE_852 is not set
994# CONFIG_NLS_CODEPAGE_855 is not set
995# CONFIG_NLS_CODEPAGE_857 is not set
996# CONFIG_NLS_CODEPAGE_860 is not set
997# CONFIG_NLS_CODEPAGE_861 is not set
998# CONFIG_NLS_CODEPAGE_862 is not set
999# CONFIG_NLS_CODEPAGE_863 is not set
1000# CONFIG_NLS_CODEPAGE_864 is not set
1001# CONFIG_NLS_CODEPAGE_865 is not set
1002# CONFIG_NLS_CODEPAGE_866 is not set
1003# CONFIG_NLS_CODEPAGE_869 is not set
1004# CONFIG_NLS_CODEPAGE_936 is not set
1005# CONFIG_NLS_CODEPAGE_950 is not set
1006CONFIG_NLS_CODEPAGE_932=y
1007# CONFIG_NLS_CODEPAGE_949 is not set
1008# CONFIG_NLS_CODEPAGE_874 is not set
1009# CONFIG_NLS_ISO8859_8 is not set
1010# CONFIG_NLS_CODEPAGE_1250 is not set
1011# CONFIG_NLS_CODEPAGE_1251 is not set
1012# CONFIG_NLS_ASCII is not set
1013CONFIG_NLS_ISO8859_1=y
1014# CONFIG_NLS_ISO8859_2 is not set
1015# CONFIG_NLS_ISO8859_3 is not set
1016# CONFIG_NLS_ISO8859_4 is not set
1017# CONFIG_NLS_ISO8859_5 is not set
1018# CONFIG_NLS_ISO8859_6 is not set
1019# CONFIG_NLS_ISO8859_7 is not set
1020# CONFIG_NLS_ISO8859_9 is not set
1021# CONFIG_NLS_ISO8859_13 is not set
1022# CONFIG_NLS_ISO8859_14 is not set
1023# CONFIG_NLS_ISO8859_15 is not set
1024# CONFIG_NLS_KOI8_R is not set
1025# CONFIG_NLS_KOI8_U is not set
1026# CONFIG_NLS_UTF8 is not set
1027# CONFIG_DLM is not set
1028
1029#
1030# Kernel hacking
1031#
1032CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1033# CONFIG_PRINTK_TIME is not set
1034# CONFIG_ENABLE_WARN_DEPRECATED is not set
1035# CONFIG_ENABLE_MUST_CHECK is not set
1036CONFIG_FRAME_WARN=1024
1037# CONFIG_MAGIC_SYSRQ is not set
1038# CONFIG_UNUSED_SYMBOLS is not set
1039# CONFIG_DEBUG_FS is not set
1040# CONFIG_HEADERS_CHECK is not set
1041# CONFIG_DEBUG_KERNEL is not set
1042# CONFIG_SLUB_DEBUG_ON is not set
1043# CONFIG_SLUB_STATS is not set
1044# CONFIG_DEBUG_BUGVERBOSE is not set
1045# CONFIG_DEBUG_MEMORY_INIT is not set
1046# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1047# CONFIG_LATENCYTOP is not set
1048# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1049CONFIG_NOP_TRACER=y
1050CONFIG_HAVE_FTRACE=y
1051# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1052# CONFIG_SAMPLES is not set
1053# CONFIG_SH_STANDARD_BIOS is not set
1054# CONFIG_EARLY_SCIF_CONSOLE is not set
1055# CONFIG_SH_KGDB is not set
1056
1057#
1058# Security options
1059#
1060# CONFIG_KEYS is not set
1061# CONFIG_SECURITY is not set
1062# CONFIG_SECURITYFS is not set
1063# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1064CONFIG_CRYPTO=y
1065
1066#
1067# Crypto core or helper
1068#
1069# CONFIG_CRYPTO_FIPS is not set
1070CONFIG_CRYPTO_ALGAPI=y
1071CONFIG_CRYPTO_AEAD=y
1072CONFIG_CRYPTO_BLKCIPHER=y
1073CONFIG_CRYPTO_HASH=y
1074CONFIG_CRYPTO_RNG=y
1075CONFIG_CRYPTO_MANAGER=y
1076# CONFIG_CRYPTO_GF128MUL is not set
1077# CONFIG_CRYPTO_NULL is not set
1078# CONFIG_CRYPTO_CRYPTD is not set
1079# CONFIG_CRYPTO_AUTHENC is not set
1080# CONFIG_CRYPTO_TEST is not set
1081
1082#
1083# Authenticated Encryption with Associated Data
1084#
1085# CONFIG_CRYPTO_CCM is not set
1086# CONFIG_CRYPTO_GCM is not set
1087# CONFIG_CRYPTO_SEQIV is not set
1088
1089#
1090# Block modes
1091#
1092# CONFIG_CRYPTO_CBC is not set
1093# CONFIG_CRYPTO_CTR is not set
1094# CONFIG_CRYPTO_CTS is not set
1095CONFIG_CRYPTO_ECB=y
1096# CONFIG_CRYPTO_LRW is not set
1097# CONFIG_CRYPTO_PCBC is not set
1098# CONFIG_CRYPTO_XTS is not set
1099
1100#
1101# Hash modes
1102#
1103# CONFIG_CRYPTO_HMAC is not set
1104# CONFIG_CRYPTO_XCBC is not set
1105
1106#
1107# Digest
1108#
1109# CONFIG_CRYPTO_CRC32C is not set
1110# CONFIG_CRYPTO_MD4 is not set
1111# CONFIG_CRYPTO_MD5 is not set
1112CONFIG_CRYPTO_MICHAEL_MIC=y
1113# CONFIG_CRYPTO_RMD128 is not set
1114# CONFIG_CRYPTO_RMD160 is not set
1115# CONFIG_CRYPTO_RMD256 is not set
1116# CONFIG_CRYPTO_RMD320 is not set
1117# CONFIG_CRYPTO_SHA1 is not set
1118# CONFIG_CRYPTO_SHA256 is not set
1119# CONFIG_CRYPTO_SHA512 is not set
1120# CONFIG_CRYPTO_TGR192 is not set
1121# CONFIG_CRYPTO_WP512 is not set
1122
1123#
1124# Ciphers
1125#
1126CONFIG_CRYPTO_AES=y
1127# CONFIG_CRYPTO_ANUBIS is not set
1128CONFIG_CRYPTO_ARC4=y
1129# CONFIG_CRYPTO_BLOWFISH is not set
1130# CONFIG_CRYPTO_CAMELLIA is not set
1131# CONFIG_CRYPTO_CAST5 is not set
1132# CONFIG_CRYPTO_CAST6 is not set
1133# CONFIG_CRYPTO_DES is not set
1134# CONFIG_CRYPTO_FCRYPT is not set
1135# CONFIG_CRYPTO_KHAZAD is not set
1136# CONFIG_CRYPTO_SALSA20 is not set
1137# CONFIG_CRYPTO_SEED is not set
1138# CONFIG_CRYPTO_SERPENT is not set
1139# CONFIG_CRYPTO_TEA is not set
1140# CONFIG_CRYPTO_TWOFISH is not set
1141
1142#
1143# Compression
1144#
1145# CONFIG_CRYPTO_DEFLATE is not set
1146# CONFIG_CRYPTO_LZO is not set
1147
1148#
1149# Random Number Generation
1150#
1151# CONFIG_CRYPTO_ANSI_CPRNG is not set
1152CONFIG_CRYPTO_HW=y
1153
1154#
1155# Library routines
1156#
1157CONFIG_BITREVERSE=y
1158# CONFIG_CRC_CCITT is not set
1159# CONFIG_CRC16 is not set
1160# CONFIG_CRC_T10DIF is not set
1161# CONFIG_CRC_ITU_T is not set
1162CONFIG_CRC32=y
1163# CONFIG_CRC7 is not set
1164# CONFIG_LIBCRC32C is not set
1165CONFIG_ZLIB_INFLATE=y
1166CONFIG_PLIST=y
1167CONFIG_HAS_IOMEM=y
1168CONFIG_HAS_IOPORT=y
1169CONFIG_HAS_DMA=y
diff --git a/arch/sh/include/asm/byteorder.h b/arch/sh/include/asm/byteorder.h
index 4c13e6117563..f5fa0653ebc6 100644
--- a/arch/sh/include/asm/byteorder.h
+++ b/arch/sh/include/asm/byteorder.h
@@ -8,7 +8,15 @@
8#include <linux/compiler.h> 8#include <linux/compiler.h>
9#include <linux/types.h> 9#include <linux/types.h>
10 10
11static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) 11#ifdef __LITTLE_ENDIAN__
12# define __LITTLE_ENDIAN
13#else
14# define __BIG_ENDIAN
15#endif
16
17#define __SWAB_64_THRU_32__
18
19static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
12{ 20{
13 __asm__( 21 __asm__(
14#ifdef __SH5__ 22#ifdef __SH5__
@@ -24,8 +32,9 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
24 32
25 return x; 33 return x;
26} 34}
35#define __arch_swab32 __arch_swab32
27 36
28static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) 37static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
29{ 38{
30 __asm__( 39 __asm__(
31#ifdef __SH5__ 40#ifdef __SH5__
@@ -39,32 +48,21 @@ static inline __attribute_const__ __u16 ___arch__swab16(__u16 x)
39 48
40 return x; 49 return x;
41} 50}
51#define __arch_swab16 __arch_swab16
42 52
43static inline __u64 ___arch__swab64(__u64 val) 53static inline __u64 __arch_swab64(__u64 val)
44{ 54{
45 union { 55 union {
46 struct { __u32 a,b; } s; 56 struct { __u32 a,b; } s;
47 __u64 u; 57 __u64 u;
48 } v, w; 58 } v, w;
49 v.u = val; 59 v.u = val;
50 w.s.b = ___arch__swab32(v.s.a); 60 w.s.b = __arch_swab32(v.s.a);
51 w.s.a = ___arch__swab32(v.s.b); 61 w.s.a = __arch_swab32(v.s.b);
52 return w.u; 62 return w.u;
53} 63}
64#define __arch_swab64 __arch_swab64
54 65
55#define __arch__swab64(x) ___arch__swab64(x) 66#include <linux/byteorder.h>
56#define __arch__swab32(x) ___arch__swab32(x)
57#define __arch__swab16(x) ___arch__swab16(x)
58
59#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
60# define __BYTEORDER_HAS_U64__
61# define __SWAB_64_THRU_32__
62#endif
63
64#ifdef __LITTLE_ENDIAN__
65#include <linux/byteorder/little_endian.h>
66#else
67#include <linux/byteorder/big_endian.h>
68#endif
69 67
70#endif /* __ASM_SH_BYTEORDER_H */ 68#endif /* __ASM_SH_BYTEORDER_H */
diff --git a/arch/sh/include/asm/hd64465/gpio.h b/arch/sh/include/asm/hd64465/gpio.h
deleted file mode 100644
index a3cdca2713dd..000000000000
--- a/arch/sh/include/asm/hd64465/gpio.h
+++ /dev/null
@@ -1,46 +0,0 @@
1#ifndef _ASM_SH_HD64465_GPIO_
2#define _ASM_SH_HD64465_GPIO_ 1
3/*
4 * $Id: gpio.h,v 1.3 2003/05/04 19:30:14 lethal Exp $
5 *
6 * Hitachi HD64465 companion chip: General Purpose IO pins support.
7 * This layer enables other device drivers to configure GPIO
8 * pins, get and set their values, and register an interrupt
9 * routine for when input pins change in hardware.
10 *
11 * by Greg Banks <gbanks@pocketpenguins.com>
12 * (c) 2000 PocketPenguins Inc.
13 */
14#include <asm/hd64465.h>
15
16/* Macro to construct a portpin number (used in all
17 * subsequent functions) from a port letter and a pin
18 * number, e.g. HD64465_GPIO_PORTPIN('A', 5).
19 */
20#define HD64465_GPIO_PORTPIN(port,pin) (((port)-'A')<<3|(pin))
21
22/* Pin configuration constants for _configure() */
23#define HD64465_GPIO_FUNCTION2 0 /* use the pin's *other* function */
24#define HD64465_GPIO_OUT 1 /* output */
25#define HD64465_GPIO_IN_PULLUP 2 /* input, pull-up MOS on */
26#define HD64465_GPIO_IN 3 /* input */
27
28/* Configure a pin's direction */
29extern void hd64465_gpio_configure(int portpin, int direction);
30
31/* Get, set value */
32extern void hd64465_gpio_set_pin(int portpin, unsigned int value);
33extern unsigned int hd64465_gpio_get_pin(int portpin);
34extern void hd64465_gpio_set_port(int port, unsigned int value);
35extern unsigned int hd64465_gpio_get_port(int port);
36
37/* mode constants for _register_irq() */
38#define HD64465_GPIO_FALLING 0
39#define HD64465_GPIO_RISING 1
40
41/* Interrupt on external value change */
42extern void hd64465_gpio_register_irq(int portpin, int mode,
43 void (*handler)(int portpin, void *dev), void *dev);
44extern void hd64465_gpio_unregister_irq(int portpin);
45
46#endif /* _ASM_SH_HD64465_GPIO_ */
diff --git a/arch/sh/include/asm/hd64465/hd64465.h b/arch/sh/include/asm/hd64465/hd64465.h
deleted file mode 100644
index cfd0e803d2a2..000000000000
--- a/arch/sh/include/asm/hd64465/hd64465.h
+++ /dev/null
@@ -1,256 +0,0 @@
1#ifndef _ASM_SH_HD64465_
2#define _ASM_SH_HD64465_ 1
3/*
4 * $Id: hd64465.h,v 1.3 2003/05/04 19:30:15 lethal Exp $
5 *
6 * Hitachi HD64465 companion chip support
7 *
8 * by Greg Banks <gbanks@pocketpenguins.com>
9 * (c) 2000 PocketPenguins Inc.
10 *
11 * Derived from <asm/hd64461.h> which bore the message:
12 * Copyright (C) 2000 YAEGASHI Takeshi
13 */
14#include <asm/io.h>
15#include <asm/irq.h>
16
17/*
18 * Note that registers are defined here as virtual port numbers,
19 * which have no meaning except to get translated by hd64465_isa_port2addr()
20 * to an address in the range 0xb0000000-0xb3ffffff. Note that
21 * this translation happens to consist of adding the lower 16 bits
22 * of the virtual port number to 0xb0000000. Note also that the manual
23 * shows addresses as absolute physical addresses starting at 0x10000000,
24 * so e.g. the NIRR register is listed as 0x15000 here, 0x10005000 in the
25 * manual, and accessed using address 0xb0005000 - Greg.
26 */
27
28/* System registers */
29#define HD64465_REG_SRR 0x1000c /* System Revision Register */
30#define HD64465_REG_SDID 0x10010 /* System Device ID Reg */
31#define HD64465_SDID 0x8122 /* 64465 device ID */
32
33/* Power Management registers */
34#define HD64465_REG_SMSCR 0x10000 /* System Module Standby Control Reg */
35#define HD64465_SMSCR_PS2ST 0x4000 /* PS/2 Standby */
36#define HD64465_SMSCR_ADCST 0x1000 /* ADC Standby */
37#define HD64465_SMSCR_UARTST 0x0800 /* UART Standby */
38#define HD64465_SMSCR_SCDIST 0x0200 /* Serial Codec Standby */
39#define HD64465_SMSCR_PPST 0x0100 /* Parallel Port Standby */
40#define HD64465_SMSCR_PC0ST 0x0040 /* PCMCIA0 Standby */
41#define HD64465_SMSCR_PC1ST 0x0020 /* PCMCIA1 Standby */
42#define HD64465_SMSCR_AFEST 0x0010 /* AFE Standby */
43#define HD64465_SMSCR_TM0ST 0x0008 /* Timer0 Standby */
44#define HD64465_SMSCR_TM1ST 0x0004 /* Timer1 Standby */
45#define HD64465_SMSCR_IRDAST 0x0002 /* IRDA Standby */
46#define HD64465_SMSCR_KBCST 0x0001 /* Keyboard Controller Standby */
47
48/* Interrupt Controller registers */
49#define HD64465_REG_NIRR 0x15000 /* Interrupt Request Register */
50#define HD64465_REG_NIMR 0x15002 /* Interrupt Mask Register */
51#define HD64465_REG_NITR 0x15004 /* Interrupt Trigger Mode Register */
52
53/* Timer registers */
54#define HD64465_REG_TCVR1 0x16000 /* Timer 1 constant value register */
55#define HD64465_REG_TCVR0 0x16002 /* Timer 0 constant value register */
56#define HD64465_REG_TRVR1 0x16004 /* Timer 1 read value register */
57#define HD64465_REG_TRVR0 0x16006 /* Timer 0 read value register */
58#define HD64465_REG_TCR1 0x16008 /* Timer 1 control register */
59#define HD64465_REG_TCR0 0x1600A /* Timer 0 control register */
60#define HD64465_TCR_EADT 0x10 /* Enable ADTRIG# signal */
61#define HD64465_TCR_ETMO 0x08 /* Enable TMO signal */
62#define HD64465_TCR_PST_MASK 0x06 /* Clock Prescale */
63#define HD64465_TCR_PST_1 0x06 /* 1:1 */
64#define HD64465_TCR_PST_4 0x04 /* 1:4 */
65#define HD64465_TCR_PST_8 0x02 /* 1:8 */
66#define HD64465_TCR_PST_16 0x00 /* 1:16 */
67#define HD64465_TCR_TSTP 0x01 /* Start/Stop timer */
68#define HD64465_REG_TIRR 0x1600C /* Timer interrupt request register */
69#define HD64465_REG_TIDR 0x1600E /* Timer interrupt disable register */
70#define HD64465_REG_PWM1CS 0x16010 /* PWM 1 clock scale register */
71#define HD64465_REG_PWM1LPC 0x16012 /* PWM 1 low pulse width counter register */
72#define HD64465_REG_PWM1HPC 0x16014 /* PWM 1 high pulse width counter register */
73#define HD64465_REG_PWM0CS 0x16018 /* PWM 0 clock scale register */
74#define HD64465_REG_PWM0LPC 0x1601A /* PWM 0 low pulse width counter register */
75#define HD64465_REG_PWM0HPC 0x1601C /* PWM 0 high pulse width counter register */
76
77/* Analog/Digital Converter registers */
78#define HD64465_REG_ADDRA 0x1E000 /* A/D data register A */
79#define HD64465_REG_ADDRB 0x1E002 /* A/D data register B */
80#define HD64465_REG_ADDRC 0x1E004 /* A/D data register C */
81#define HD64465_REG_ADDRD 0x1E006 /* A/D data register D */
82#define HD64465_REG_ADCSR 0x1E008 /* A/D control/status register */
83#define HD64465_ADCSR_ADF 0x80 /* A/D End Flag */
84#define HD64465_ADCSR_ADST 0x40 /* A/D Start Flag */
85#define HD64465_ADCSR_ADIS 0x20 /* A/D Interrupt Status */
86#define HD64465_ADCSR_TRGE 0x10 /* A/D Trigger Enable */
87#define HD64465_ADCSR_ADIE 0x08 /* A/D Interrupt Enable */
88#define HD64465_ADCSR_SCAN 0x04 /* A/D Scan Mode */
89#define HD64465_ADCSR_CH_MASK 0x03 /* A/D Channel */
90#define HD64465_REG_ADCALCR 0x1E00A /* A/D calibration sample control */
91#define HD64465_REG_ADCAL 0x1E00C /* A/D calibration data register */
92
93
94/* General Purpose I/O ports registers */
95#define HD64465_REG_GPACR 0x14000 /* Port A Control Register */
96#define HD64465_REG_GPBCR 0x14002 /* Port B Control Register */
97#define HD64465_REG_GPCCR 0x14004 /* Port C Control Register */
98#define HD64465_REG_GPDCR 0x14006 /* Port D Control Register */
99#define HD64465_REG_GPECR 0x14008 /* Port E Control Register */
100#define HD64465_REG_GPADR 0x14010 /* Port A Data Register */
101#define HD64465_REG_GPBDR 0x14012 /* Port B Data Register */
102#define HD64465_REG_GPCDR 0x14014 /* Port C Data Register */
103#define HD64465_REG_GPDDR 0x14016 /* Port D Data Register */
104#define HD64465_REG_GPEDR 0x14018 /* Port E Data Register */
105#define HD64465_REG_GPAICR 0x14020 /* Port A Interrupt Control Register */
106#define HD64465_REG_GPBICR 0x14022 /* Port B Interrupt Control Register */
107#define HD64465_REG_GPCICR 0x14024 /* Port C Interrupt Control Register */
108#define HD64465_REG_GPDICR 0x14026 /* Port D Interrupt Control Register */
109#define HD64465_REG_GPEICR 0x14028 /* Port E Interrupt Control Register */
110#define HD64465_REG_GPAISR 0x14040 /* Port A Interrupt Status Register */
111#define HD64465_REG_GPBISR 0x14042 /* Port B Interrupt Status Register */
112#define HD64465_REG_GPCISR 0x14044 /* Port C Interrupt Status Register */
113#define HD64465_REG_GPDISR 0x14046 /* Port D Interrupt Status Register */
114#define HD64465_REG_GPEISR 0x14048 /* Port E Interrupt Status Register */
115
116/* PCMCIA bridge interface */
117#define HD64465_REG_PCC0ISR 0x12000 /* socket 0 interface status */
118#define HD64465_PCCISR_PREADY 0x80 /* mem card ready / io card IREQ */
119#define HD64465_PCCISR_PIREQ 0x80
120#define HD64465_PCCISR_PMWP 0x40 /* mem card write-protected */
121#define HD64465_PCCISR_PVS2 0x20 /* voltage select pin 2 */
122#define HD64465_PCCISR_PVS1 0x10 /* voltage select pin 1 */
123#define HD64465_PCCISR_PCD_MASK 0x0c /* card detect */
124#define HD64465_PCCISR_PBVD_MASK 0x03 /* battery voltage */
125#define HD64465_PCCISR_PBVD_BATGOOD 0x03 /* battery good */
126#define HD64465_PCCISR_PBVD_BATWARN 0x01 /* battery low warning */
127#define HD64465_PCCISR_PBVD_BATDEAD1 0x02 /* battery dead */
128#define HD64465_PCCISR_PBVD_BATDEAD2 0x00 /* battery dead */
129#define HD64465_REG_PCC0GCR 0x12002 /* socket 0 general control */
130#define HD64465_PCCGCR_PDRV 0x80 /* output drive */
131#define HD64465_PCCGCR_PCCR 0x40 /* PC card reset */
132#define HD64465_PCCGCR_PCCT 0x20 /* PC card type, 1=IO&mem, 0=mem */
133#define HD64465_PCCGCR_PVCC0 0x10 /* voltage control pin VCC0SEL0 */
134#define HD64465_PCCGCR_PMMOD 0x08 /* memory mode */
135#define HD64465_PCCGCR_PPA25 0x04 /* pin A25 */
136#define HD64465_PCCGCR_PPA24 0x02 /* pin A24 */
137#define HD64465_PCCGCR_PREG 0x01 /* ping PCC0REG# */
138#define HD64465_REG_PCC0CSCR 0x12004 /* socket 0 card status change */
139#define HD64465_PCCCSCR_PSCDI 0x80 /* sw card detect intr */
140#define HD64465_PCCCSCR_PSWSEL 0x40 /* power select */
141#define HD64465_PCCCSCR_PIREQ 0x20 /* IREQ intr req */
142#define HD64465_PCCCSCR_PSC 0x10 /* STSCHG (status change) pin */
143#define HD64465_PCCCSCR_PCDC 0x08 /* CD (card detect) change */
144#define HD64465_PCCCSCR_PRC 0x04 /* ready change */
145#define HD64465_PCCCSCR_PBW 0x02 /* battery warning change */
146#define HD64465_PCCCSCR_PBD 0x01 /* battery dead change */
147#define HD64465_REG_PCC0CSCIER 0x12006 /* socket 0 card status change interrupt enable */
148#define HD64465_PCCCSCIER_PCRE 0x80 /* change reset enable */
149#define HD64465_PCCCSCIER_PIREQE_MASK 0x60 /* IREQ enable */
150#define HD64465_PCCCSCIER_PIREQE_DISABLED 0x00 /* IREQ disabled */
151#define HD64465_PCCCSCIER_PIREQE_LEVEL 0x20 /* IREQ level-triggered */
152#define HD64465_PCCCSCIER_PIREQE_FALLING 0x40 /* IREQ falling-edge-trig */
153#define HD64465_PCCCSCIER_PIREQE_RISING 0x60 /* IREQ rising-edge-trig */
154#define HD64465_PCCCSCIER_PSCE 0x10 /* status change enable */
155#define HD64465_PCCCSCIER_PCDE 0x08 /* card detect change enable */
156#define HD64465_PCCCSCIER_PRE 0x04 /* ready change enable */
157#define HD64465_PCCCSCIER_PBWE 0x02 /* battery warn change enable */
158#define HD64465_PCCCSCIER_PBDE 0x01 /* battery dead change enable*/
159#define HD64465_REG_PCC0SCR 0x12008 /* socket 0 software control */
160#define HD64465_PCCSCR_SHDN 0x10 /* TPS2206 SHutDowN pin */
161#define HD64465_PCCSCR_SWP 0x01 /* write protect */
162#define HD64465_REG_PCCPSR 0x1200A /* serial power switch control */
163#define HD64465_REG_PCC1ISR 0x12010 /* socket 1 interface status */
164#define HD64465_REG_PCC1GCR 0x12012 /* socket 1 general control */
165#define HD64465_REG_PCC1CSCR 0x12014 /* socket 1 card status change */
166#define HD64465_REG_PCC1CSCIER 0x12016 /* socket 1 card status change interrupt enable */
167#define HD64465_REG_PCC1SCR 0x12018 /* socket 1 software control */
168
169
170/* PS/2 Keyboard and mouse controller -- *not* register compatible */
171#define HD64465_REG_KBCSR 0x1dc00 /* Keyboard Control/Status reg */
172#define HD64465_KBCSR_KBCIE 0x8000 /* KBCK Input Enable */
173#define HD64465_KBCSR_KBCOE 0x4000 /* KBCK Output Enable */
174#define HD64465_KBCSR_KBDOE 0x2000 /* KB DATA Output Enable */
175#define HD64465_KBCSR_KBCD 0x1000 /* KBCK Driven */
176#define HD64465_KBCSR_KBDD 0x0800 /* KB DATA Driven */
177#define HD64465_KBCSR_KBCS 0x0400 /* KBCK pin Status */
178#define HD64465_KBCSR_KBDS 0x0200 /* KB DATA pin Status */
179#define HD64465_KBCSR_KBDP 0x0100 /* KB DATA Parity bit */
180#define HD64465_KBCSR_KBD_MASK 0x00ff /* KD DATA shift reg */
181#define HD64465_REG_KBISR 0x1dc04 /* Keyboard Interrupt Status reg */
182#define HD64465_KBISR_KBRDF 0x0001 /* KB Received Data Full */
183#define HD64465_REG_MSCSR 0x1dc10 /* Mouse Control/Status reg */
184#define HD64465_REG_MSISR 0x1dc14 /* Mouse Interrupt Status reg */
185
186
187/*
188 * Logical address at which the HD64465 is mapped. Note that this
189 * should always be in the P2 segment (uncached and untranslated).
190 */
191#ifndef CONFIG_HD64465_IOBASE
192#define CONFIG_HD64465_IOBASE 0xb0000000
193#endif
194/*
195 * The HD64465 multiplexes all its modules' interrupts onto
196 * this single interrupt.
197 */
198#ifndef CONFIG_HD64465_IRQ
199#define CONFIG_HD64465_IRQ 5
200#endif
201
202
203#define _HD64465_IO_MASK 0xf8000000
204#define is_hd64465_addr(addr) \
205 ((addr & _HD64465_IO_MASK) == (CONFIG_HD64465_IOBASE & _HD64465_IO_MASK))
206
207/*
208 * A range of 16 virtual interrupts generated by
209 * demuxing the HD64465 muxed interrupt.
210 */
211#define HD64465_IRQ_BASE OFFCHIP_IRQ_BASE
212#define HD64465_IRQ_NUM 16
213#define HD64465_IRQ_ADC (HD64465_IRQ_BASE+0)
214#define HD64465_IRQ_USB (HD64465_IRQ_BASE+1)
215#define HD64465_IRQ_SCDI (HD64465_IRQ_BASE+2)
216#define HD64465_IRQ_PARALLEL (HD64465_IRQ_BASE+3)
217/* bit 4 is reserved */
218#define HD64465_IRQ_UART (HD64465_IRQ_BASE+5)
219#define HD64465_IRQ_IRDA (HD64465_IRQ_BASE+6)
220#define HD64465_IRQ_PS2MOUSE (HD64465_IRQ_BASE+7)
221#define HD64465_IRQ_KBC (HD64465_IRQ_BASE+8)
222#define HD64465_IRQ_TIMER1 (HD64465_IRQ_BASE+9)
223#define HD64465_IRQ_TIMER0 (HD64465_IRQ_BASE+10)
224#define HD64465_IRQ_GPIO (HD64465_IRQ_BASE+11)
225#define HD64465_IRQ_AFE (HD64465_IRQ_BASE+12)
226#define HD64465_IRQ_PCMCIA1 (HD64465_IRQ_BASE+13)
227#define HD64465_IRQ_PCMCIA0 (HD64465_IRQ_BASE+14)
228#define HD64465_IRQ_PS2KBD (HD64465_IRQ_BASE+15)
229
230/* Constants for PCMCIA mappings */
231#define HD64465_PCC_WINDOW 0x01000000
232
233#define HD64465_PCC0_BASE 0xb8000000 /* area 6 */
234#define HD64465_PCC0_ATTR (HD64465_PCC0_BASE)
235#define HD64465_PCC0_COMM (HD64465_PCC0_BASE+HD64465_PCC_WINDOW)
236#define HD64465_PCC0_IO (HD64465_PCC0_BASE+2*HD64465_PCC_WINDOW)
237
238#define HD64465_PCC1_BASE 0xb4000000 /* area 5 */
239#define HD64465_PCC1_ATTR (HD64465_PCC1_BASE)
240#define HD64465_PCC1_COMM (HD64465_PCC1_BASE+HD64465_PCC_WINDOW)
241#define HD64465_PCC1_IO (HD64465_PCC1_BASE+2*HD64465_PCC_WINDOW)
242
243/*
244 * Base of USB controller interface (as memory)
245 */
246#define HD64465_USB_BASE (CONFIG_HD64465_IOBASE+0xb000)
247#define HD64465_USB_LEN 0x1000
248/*
249 * Base of embedded SRAM, used for USB controller.
250 */
251#define HD64465_SRAM_BASE (CONFIG_HD64465_IOBASE+0x9000)
252#define HD64465_SRAM_LEN 0x1000
253
254
255
256#endif /* _ASM_SH_HD64465_ */
diff --git a/arch/sh/include/asm/hd64465/io.h b/arch/sh/include/asm/hd64465/io.h
deleted file mode 100644
index 139f1472e5bb..000000000000
--- a/arch/sh/include/asm/hd64465/io.h
+++ /dev/null
@@ -1,44 +0,0 @@
1/*
2 * include/asm-sh/hd64465/io.h
3 *
4 * By Greg Banks <gbanks@pocketpenguins.com>
5 * (c) 2000 PocketPenguins Inc.
6 *
7 * Derived from io_hd64461.h, which bore the message:
8 * Copyright 2000 Stuart Menefy (stuart.menefy@st.com)
9 *
10 * May be copied or modified under the terms of the GNU General Public
11 * License. See linux/COPYING for more information.
12 *
13 * IO functions for an HD64465 "Windows CE Intelligent Peripheral Controller".
14 */
15
16#ifndef _ASM_SH_IO_HD64465_H
17#define _ASM_SH_IO_HD64465_H
18
19extern unsigned char hd64465_inb(unsigned long port);
20extern unsigned short hd64465_inw(unsigned long port);
21extern unsigned int hd64465_inl(unsigned long port);
22
23extern void hd64465_outb(unsigned char value, unsigned long port);
24extern void hd64465_outw(unsigned short value, unsigned long port);
25extern void hd64465_outl(unsigned int value, unsigned long port);
26
27extern unsigned char hd64465_inb_p(unsigned long port);
28extern void hd64465_outb_p(unsigned char value, unsigned long port);
29
30extern unsigned long hd64465_isa_port2addr(unsigned long offset);
31extern int hd64465_irq_demux(int irq);
32/* Provision for generic secondary demux step -- used by PCMCIA code */
33extern void hd64465_register_irq_demux(int irq,
34 int (*demux)(int irq, void *dev), void *dev);
35extern void hd64465_unregister_irq_demux(int irq);
36/* Set this variable to 1 to see port traffic */
37extern int hd64465_io_debug;
38/* Map a range of ports to a range of kernel virtual memory.
39 */
40extern void hd64465_port_map(unsigned short baseport, unsigned int nports,
41 unsigned long addr, unsigned char shift);
42extern void hd64465_port_unmap(unsigned short baseport, unsigned int nports);
43
44#endif /* _ASM_SH_IO_HD64465_H */
diff --git a/arch/sh/include/asm/serial.h b/arch/sh/include/asm/serial.h
index e13cc948ee60..11f854dd1363 100644
--- a/arch/sh/include/asm/serial.h
+++ b/arch/sh/include/asm/serial.h
@@ -7,8 +7,6 @@
7#ifndef _ASM_SERIAL_H 7#ifndef _ASM_SERIAL_H
8#define _ASM_SERIAL_H 8#define _ASM_SERIAL_H
9 9
10#include <linux/kernel.h>
11
12/* 10/*
13 * This assumes you have a 1.8432 MHz clock for your UART. 11 * This assumes you have a 1.8432 MHz clock for your UART.
14 * 12 *
@@ -18,19 +16,4 @@
18 */ 16 */
19#define BASE_BAUD ( 1843200 / 16 ) 17#define BASE_BAUD ( 1843200 / 16 )
20 18
21#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
22
23#ifdef CONFIG_HD64465
24#include <asm/hd64465/hd64465.h>
25
26#define SERIAL_PORT_DFNS \
27 /* UART CLK PORT IRQ FLAGS */ \
28 { 0, BASE_BAUD, 0x3F8, HD64465_IRQ_UART, STD_COM_FLAGS } /* ttyS0 */
29
30#else
31
32#define SERIAL_PORT_DFNS
33
34#endif
35
36#endif /* _ASM_SERIAL_H */ 19#endif /* _ASM_SERIAL_H */
diff --git a/arch/sh/include/cpu-sh4/cpu/rtc.h b/arch/sh/include/cpu-sh4/cpu/rtc.h
index 25b1e6adfe8c..95e6fb76c24d 100644
--- a/arch/sh/include/cpu-sh4/cpu/rtc.h
+++ b/arch/sh/include/cpu-sh4/cpu/rtc.h
@@ -1,7 +1,7 @@
1#ifndef __ASM_SH_CPU_SH4_RTC_H 1#ifndef __ASM_SH_CPU_SH4_RTC_H
2#define __ASM_SH_CPU_SH4_RTC_H 2#define __ASM_SH_CPU_SH4_RTC_H
3 3
4#ifdef CONFIG_CPU_SUBTYPE_SH7723 4#if defined(CONFIG_CPU_SUBTYPE_SH7722) || defined(CONFIG_CPU_SUBTYPE_SH7723)
5#define rtc_reg_size sizeof(u16) 5#define rtc_reg_size sizeof(u16)
6#else 6#else
7#define rtc_reg_size sizeof(u32) 7#define rtc_reg_size sizeof(u32)
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
index 6851dba02f31..e17db39b97aa 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
@@ -36,6 +36,32 @@ static struct platform_device iic_device = {
36 .resource = iic_resources, 36 .resource = iic_resources,
37}; 37};
38 38
39static struct resource usb_host_resources[] = {
40 [0] = {
41 .name = "r8a66597_hcd",
42 .start = 0xa4d80000,
43 .end = 0xa4d800ff,
44 .flags = IORESOURCE_MEM,
45 },
46 [1] = {
47 .name = "r8a66597_hcd",
48 .start = 65,
49 .end = 65,
50 .flags = IORESOURCE_IRQ,
51 },
52};
53
54static struct platform_device usb_host_device = {
55 .name = "r8a66597_hcd",
56 .id = -1,
57 .dev = {
58 .dma_mask = NULL,
59 .coherent_dma_mask = 0xffffffff,
60 },
61 .num_resources = ARRAY_SIZE(usb_host_resources),
62 .resource = usb_host_resources,
63};
64
39static struct uio_info vpu_platform_data = { 65static struct uio_info vpu_platform_data = {
40 .name = "VPU5", 66 .name = "VPU5",
41 .version = "0", 67 .version = "0",
@@ -142,6 +168,7 @@ static struct platform_device sci_device = {
142static struct platform_device *sh7366_devices[] __initdata = { 168static struct platform_device *sh7366_devices[] __initdata = {
143 &iic_device, 169 &iic_device,
144 &sci_device, 170 &sci_device,
171 &usb_host_device,
145 &vpu_device, 172 &vpu_device,
146 &veu0_device, 173 &veu0_device,
147 &veu1_device, 174 &veu1_device,
@@ -158,6 +185,7 @@ static int __init sh7366_devices_setup(void)
158 clk_always_enable("mstp022"); /* INTC */ 185 clk_always_enable("mstp022"); /* INTC */
159 clk_always_enable("mstp020"); /* SuperHyway */ 186 clk_always_enable("mstp020"); /* SuperHyway */
160 clk_always_enable("mstp109"); /* I2C */ 187 clk_always_enable("mstp109"); /* I2C */
188 clk_always_enable("mstp211"); /* USB */
161 clk_always_enable("mstp207"); /* VEU-2 */ 189 clk_always_enable("mstp207"); /* VEU-2 */
162 clk_always_enable("mstp202"); /* VEU-1 */ 190 clk_always_enable("mstp202"); /* VEU-1 */
163 clk_always_enable("mstp201"); /* VPU */ 191 clk_always_enable("mstp201"); /* VPU */
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
index de1ede92176e..ef77ee1d9f53 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * SH7722 Setup 2 * SH7722 Setup
3 * 3 *
4 * Copyright (C) 2006 - 2007 Paul Mundt 4 * Copyright (C) 2006 - 2008 Paul Mundt
5 * 5 *
6 * This file is subject to the terms and conditions of the GNU General Public 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 7 * License. See the file "COPYING" in the main directory of this archive
@@ -16,6 +16,36 @@
16#include <asm/clock.h> 16#include <asm/clock.h>
17#include <asm/mmzone.h> 17#include <asm/mmzone.h>
18 18
19static struct resource rtc_resources[] = {
20 [0] = {
21 .start = 0xa465fec0,
22 .end = 0xa465fec0 + 0x58 - 1,
23 .flags = IORESOURCE_IO,
24 },
25 [1] = {
26 /* Period IRQ */
27 .start = 45,
28 .flags = IORESOURCE_IRQ,
29 },
30 [2] = {
31 /* Carry IRQ */
32 .start = 46,
33 .flags = IORESOURCE_IRQ,
34 },
35 [3] = {
36 /* Alarm IRQ */
37 .start = 44,
38 .flags = IORESOURCE_IRQ,
39 },
40};
41
42static struct platform_device rtc_device = {
43 .name = "sh-rtc",
44 .id = -1,
45 .num_resources = ARRAY_SIZE(rtc_resources),
46 .resource = rtc_resources,
47};
48
19static struct resource usbf_resources[] = { 49static struct resource usbf_resources[] = {
20 [0] = { 50 [0] = {
21 .name = "m66592_udc", 51 .name = "m66592_udc",
@@ -150,6 +180,7 @@ static struct platform_device sci_device = {
150}; 180};
151 181
152static struct platform_device *sh7722_devices[] __initdata = { 182static struct platform_device *sh7722_devices[] __initdata = {
183 &rtc_device,
153 &usbf_device, 184 &usbf_device,
154 &iic_device, 185 &iic_device,
155 &sci_device, 186 &sci_device,
@@ -202,7 +233,6 @@ enum {
202 IRDA, JPU, LCDC, 233 IRDA, JPU, LCDC,
203 234
204 /* interrupt groups */ 235 /* interrupt groups */
205
206 SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI, 236 SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI,
207}; 237};
208 238
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S
index 1a5cf9dd82de..5b7efc4016fa 100644
--- a/arch/sh/kernel/entry-common.S
+++ b/arch/sh/kernel/entry-common.S
@@ -372,7 +372,7 @@ syscall_exit:
3727: .long do_syscall_trace_enter 3727: .long do_syscall_trace_enter
3738: .long do_syscall_trace_leave 3738: .long do_syscall_trace_leave
374 374
375#ifdef CONFIG_FTRACE 375#ifdef CONFIG_FUNCTION_TRACER
376 .align 2 376 .align 2
377 .globl _mcount 377 .globl _mcount
378 .type _mcount,@function 378 .type _mcount,@function
@@ -414,4 +414,4 @@ skip_trace:
414ftrace_stub: 414ftrace_stub:
415 rts 415 rts
416 nop 416 nop
417#endif /* CONFIG_FTRACE */ 417#endif /* CONFIG_FUNCTION_TRACER */
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c
index d366a7443720..92ae5e6c099e 100644
--- a/arch/sh/kernel/sh_ksyms_32.c
+++ b/arch/sh/kernel/sh_ksyms_32.c
@@ -50,7 +50,10 @@ EXPORT_SYMBOL(__udelay);
50EXPORT_SYMBOL(__ndelay); 50EXPORT_SYMBOL(__ndelay);
51EXPORT_SYMBOL(__const_udelay); 51EXPORT_SYMBOL(__const_udelay);
52 52
53#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) 53#define DECLARE_EXPORT(name) \
54 extern void name(void);EXPORT_SYMBOL(name)
55#define MAYBE_DECLARE_EXPORT(name) \
56 extern void name(void) __weak;EXPORT_SYMBOL(name)
54 57
55/* These symbols are generated by the compiler itself */ 58/* These symbols are generated by the compiler itself */
56DECLARE_EXPORT(__udivsi3); 59DECLARE_EXPORT(__udivsi3);
@@ -109,10 +112,8 @@ DECLARE_EXPORT(__movmemSI12_i4);
109 * compiler which include backported patches. 112 * compiler which include backported patches.
110 */ 113 */
111DECLARE_EXPORT(__udiv_qrnnd_16); 114DECLARE_EXPORT(__udiv_qrnnd_16);
112#if !defined(CONFIG_CPU_SH2) 115MAYBE_DECLARE_EXPORT(__sdivsi3_i4i);
113DECLARE_EXPORT(__sdivsi3_i4i); 116MAYBE_DECLARE_EXPORT(__udivsi3_i4i);
114DECLARE_EXPORT(__udivsi3_i4i);
115#endif
116#endif 117#endif
117#else /* GCC 3.x */ 118#else /* GCC 3.x */
118DECLARE_EXPORT(__movstr_i4_even); 119DECLARE_EXPORT(__movstr_i4_even);
@@ -133,7 +134,7 @@ EXPORT_SYMBOL(flush_dcache_page);
133EXPORT_SYMBOL(clear_user_page); 134EXPORT_SYMBOL(clear_user_page);
134#endif 135#endif
135 136
136#ifdef CONFIG_FTRACE 137#ifdef CONFIG_FUNCTION_TRACER
137EXPORT_SYMBOL(mcount); 138EXPORT_SYMBOL(mcount);
138#endif 139#endif
139EXPORT_SYMBOL(csum_partial); 140EXPORT_SYMBOL(csum_partial);
diff --git a/arch/sh/mm/cache-sh2a.c b/arch/sh/mm/cache-sh2a.c
index 62c0c5f35120..24d86a794065 100644
--- a/arch/sh/mm/cache-sh2a.c
+++ b/arch/sh/mm/cache-sh2a.c
@@ -59,7 +59,7 @@ void __flush_purge_region(void *start, int size)
59 59
60 for (v = begin; v < end; v+=L1_CACHE_BYTES) { 60 for (v = begin; v < end; v+=L1_CACHE_BYTES) {
61 ctrl_outl((v & CACHE_PHYSADDR_MASK), 61 ctrl_outl((v & CACHE_PHYSADDR_MASK),
62 CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); 62 CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008);
63 } 63 }
64 back_to_cached(); 64 back_to_cached();
65 local_irq_restore(flags); 65 local_irq_restore(flags);
@@ -82,14 +82,14 @@ void __flush_invalidate_region(void *start, int size)
82 /* I-cache invalidate */ 82 /* I-cache invalidate */
83 for (v = begin; v < end; v+=L1_CACHE_BYTES) { 83 for (v = begin; v < end; v+=L1_CACHE_BYTES) {
84 ctrl_outl((v & CACHE_PHYSADDR_MASK), 84 ctrl_outl((v & CACHE_PHYSADDR_MASK),
85 CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); 85 CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008);
86 } 86 }
87#else 87#else
88 for (v = begin; v < end; v+=L1_CACHE_BYTES) { 88 for (v = begin; v < end; v+=L1_CACHE_BYTES) {
89 ctrl_outl((v & CACHE_PHYSADDR_MASK), 89 ctrl_outl((v & CACHE_PHYSADDR_MASK),
90 CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); 90 CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008);
91 ctrl_outl((v & CACHE_PHYSADDR_MASK), 91 ctrl_outl((v & CACHE_PHYSADDR_MASK),
92 CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); 92 CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008);
93 } 93 }
94#endif 94#endif
95 back_to_cached(); 95 back_to_cached();
diff --git a/arch/sh/oprofile/op_model_sh7750.c b/arch/sh/oprofile/op_model_sh7750.c
index 6b9a98e07004..008b3b03750a 100644
--- a/arch/sh/oprofile/op_model_sh7750.c
+++ b/arch/sh/oprofile/op_model_sh7750.c
@@ -255,10 +255,9 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
255 return -ENODEV; 255 return -ENODEV;
256 256
257 ops = &sh7750_perf_counter_ops; 257 ops = &sh7750_perf_counter_ops;
258 ops->cpu_type = (char *)get_cpu_subtype(&current_cpu_data); 258 ops->cpu_type = "sh/sh7750";
259 259
260 printk(KERN_INFO "oprofile: using SH-4 (%s) performance monitoring.\n", 260 printk(KERN_INFO "oprofile: using SH-4 performance monitoring.\n");
261 sh7750_perf_counter_ops.cpu_type);
262 261
263 /* Clear the counters */ 262 /* Clear the counters */
264 ctrl_outw(ctrl_inw(PMCR1) | PMCR_PMCLR, PMCR1); 263 ctrl_outw(ctrl_inw(PMCR1) | PMCR_PMCLR, PMCR1);
@@ -270,4 +269,3 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
270void oprofile_arch_exit(void) 269void oprofile_arch_exit(void)
271{ 270{
272} 271}
273
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types
index d4fb11f7e2ee..d0c2928d1066 100644
--- a/arch/sh/tools/mach-types
+++ b/arch/sh/tools/mach-types
@@ -13,7 +13,6 @@ RTS7751R2D SH_RTS7751R2D
13# List of companion chips / MFDs. 13# List of companion chips / MFDs.
14# 14#
15HD64461 HD64461 15HD64461 HD64461
16HD64465 HD64465
17 16
18# 17#
19# List of boards. 18# List of boards.
diff --git a/arch/sparc/include/asm/byteorder.h b/arch/sparc/include/asm/byteorder.h
index bcd83aa351c5..5a70f137f1f7 100644
--- a/arch/sparc/include/asm/byteorder.h
+++ b/arch/sparc/include/asm/byteorder.h
@@ -4,15 +4,14 @@
4#include <asm/types.h> 4#include <asm/types.h>
5#include <asm/asi.h> 5#include <asm/asi.h>
6 6
7#ifdef __GNUC__ 7#define __BIG_ENDIAN
8 8
9#ifdef CONFIG_SPARC32 9#ifdef CONFIG_SPARC32
10#define __SWAB_64_THRU_32__ 10#define __SWAB_64_THRU_32__
11#endif 11#endif
12 12
13#ifdef CONFIG_SPARC64 13#ifdef CONFIG_SPARC64
14 14static inline __u16 __arch_swab16p(const __u16 *addr)
15static inline __u16 ___arch__swab16p(const __u16 *addr)
16{ 15{
17 __u16 ret; 16 __u16 ret;
18 17
@@ -21,8 +20,9 @@ static inline __u16 ___arch__swab16p(const __u16 *addr)
21 : "r" (addr), "i" (ASI_PL)); 20 : "r" (addr), "i" (ASI_PL));
22 return ret; 21 return ret;
23} 22}
23#define __arch_swab16p __arch_swab16p
24 24
25static inline __u32 ___arch__swab32p(const __u32 *addr) 25static inline __u32 __arch_swab32p(const __u32 *addr)
26{ 26{
27 __u32 ret; 27 __u32 ret;
28 28
@@ -31,8 +31,9 @@ static inline __u32 ___arch__swab32p(const __u32 *addr)
31 : "r" (addr), "i" (ASI_PL)); 31 : "r" (addr), "i" (ASI_PL));
32 return ret; 32 return ret;
33} 33}
34#define __arch_swab32p __arch_swab32p
34 35
35static inline __u64 ___arch__swab64p(const __u64 *addr) 36static inline __u64 __arch_swab64p(const __u64 *addr)
36{ 37{
37 __u64 ret; 38 __u64 ret;
38 39
@@ -41,17 +42,10 @@ static inline __u64 ___arch__swab64p(const __u64 *addr)
41 : "r" (addr), "i" (ASI_PL)); 42 : "r" (addr), "i" (ASI_PL));
42 return ret; 43 return ret;
43} 44}
44 45#define __arch_swab64p __arch_swab64p
45#define __arch__swab16p(x) ___arch__swab16p(x)
46#define __arch__swab32p(x) ___arch__swab32p(x)
47#define __arch__swab64p(x) ___arch__swab64p(x)
48 46
49#endif /* CONFIG_SPARC64 */ 47#endif /* CONFIG_SPARC64 */
50 48
51#define __BYTEORDER_HAS_U64__ 49#include <linux/byteorder.h>
52
53#endif
54
55#include <linux/byteorder/big_endian.h>
56 50
57#endif /* _SPARC_BYTEORDER_H */ 51#endif /* _SPARC_BYTEORDER_H */
diff --git a/arch/sparc/include/asm/kdebug_32.h b/arch/sparc/include/asm/kdebug_32.h
index f69fe7d84b3c..1d0b240222ef 100644
--- a/arch/sparc/include/asm/kdebug_32.h
+++ b/arch/sparc/include/asm/kdebug_32.h
@@ -60,6 +60,7 @@ static inline void sp_enter_debugger(void)
60 60
61enum die_val { 61enum die_val {
62 DIE_UNUSED, 62 DIE_UNUSED,
63 DIE_OOPS,
63}; 64};
64 65
65#endif /* !(__ASSEMBLY__) */ 66#endif /* !(__ASSEMBLY__) */
diff --git a/arch/sparc/include/asm/processor_64.h b/arch/sparc/include/asm/processor_64.h
index 137a6bd72fc8..59fcebb8f440 100644
--- a/arch/sparc/include/asm/processor_64.h
+++ b/arch/sparc/include/asm/processor_64.h
@@ -36,10 +36,10 @@
36#define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3)) 36#define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3))
37#endif 37#endif
38 38
39#define TASK_SIZE ((unsigned long)-VPTE_SIZE)
40#define TASK_SIZE_OF(tsk) \ 39#define TASK_SIZE_OF(tsk) \
41 (test_tsk_thread_flag(tsk,TIF_32BIT) ? \ 40 (test_tsk_thread_flag(tsk,TIF_32BIT) ? \
42 (1UL << 32UL) : TASK_SIZE) 41 (1UL << 32UL) : ((unsigned long)-VPTE_SIZE))
42#define TASK_SIZE TASK_SIZE_OF(current)
43#ifdef __KERNEL__ 43#ifdef __KERNEL__
44 44
45#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) 45#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE)
diff --git a/arch/sparc/include/asm/uaccess_64.h b/arch/sparc/include/asm/uaccess_64.h
index 296ef30e05c8..c64e767a3e4b 100644
--- a/arch/sparc/include/asm/uaccess_64.h
+++ b/arch/sparc/include/asm/uaccess_64.h
@@ -265,8 +265,8 @@ extern long __strnlen_user(const char __user *, long len);
265 265
266#define strlen_user __strlen_user 266#define strlen_user __strlen_user
267#define strnlen_user __strnlen_user 267#define strnlen_user __strnlen_user
268#define __copy_to_user_inatomic __copy_to_user 268#define __copy_to_user_inatomic ___copy_to_user
269#define __copy_from_user_inatomic __copy_from_user 269#define __copy_from_user_inatomic ___copy_from_user
270 270
271#endif /* __ASSEMBLY__ */ 271#endif /* __ASSEMBLY__ */
272 272
diff --git a/arch/sparc/kernel/head.S b/arch/sparc/kernel/head.S
index 2fe2c117e772..2d325fd84579 100644
--- a/arch/sparc/kernel/head.S
+++ b/arch/sparc/kernel/head.S
@@ -465,7 +465,6 @@ gokernel:
465 mov %o7, %g4 ! Save %o7 465 mov %o7, %g4 ! Save %o7
466 466
467 /* Jump to it, and pray... */ 467 /* Jump to it, and pray... */
468 __INIT
469current_pc: 468current_pc:
470 call 1f 469 call 1f
471 nop 470 nop
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
index 62c1d94cb434..00f7383c7657 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -119,35 +119,16 @@ static unsigned char mostek_read_byte(struct device *dev, u32 ofs)
119{ 119{
120 struct platform_device *pdev = to_platform_device(dev); 120 struct platform_device *pdev = to_platform_device(dev);
121 struct m48t59_plat_data *pdata = pdev->dev.platform_data; 121 struct m48t59_plat_data *pdata = pdev->dev.platform_data;
122 void __iomem *regs = pdata->ioaddr; 122
123 unsigned char val = readb(regs + ofs); 123 return readb(pdata->ioaddr + ofs);
124
125 /* the year 0 is 1968 */
126 if (ofs == pdata->offset + M48T59_YEAR) {
127 val += 0x68;
128 if ((val & 0xf) > 9)
129 val += 6;
130 }
131 return val;
132} 124}
133 125
134static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) 126static void mostek_write_byte(struct device *dev, u32 ofs, u8 val)
135{ 127{
136 struct platform_device *pdev = to_platform_device(dev); 128 struct platform_device *pdev = to_platform_device(dev);
137 struct m48t59_plat_data *pdata = pdev->dev.platform_data; 129 struct m48t59_plat_data *pdata = pdev->dev.platform_data;
138 void __iomem *regs = pdata->ioaddr; 130
139 131 writeb(val, pdata->ioaddr + ofs);
140 if (ofs == pdata->offset + M48T59_YEAR) {
141 if (val < 0x68)
142 val += 0x32;
143 else
144 val -= 0x68;
145 if ((val & 0xf) > 9)
146 val += 6;
147 if ((val & 0xf0) > 0x9A)
148 val += 0x60;
149 }
150 writeb(val, regs + ofs);
151} 132}
152 133
153static struct m48t59_plat_data m48t59_data = { 134static struct m48t59_plat_data m48t59_data = {
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 035b15af90d8..3b96e70b4670 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -11,8 +11,7 @@ config SPARC
11config SPARC64 11config SPARC64
12 bool 12 bool
13 default y 13 default y
14 select HAVE_DYNAMIC_FTRACE 14 select HAVE_FUNCTION_TRACER
15 select HAVE_FTRACE
16 select HAVE_IDE 15 select HAVE_IDE
17 select HAVE_LMB 16 select HAVE_LMB
18 select HAVE_ARCH_KGDB 17 select HAVE_ARCH_KGDB
diff --git a/arch/sparc64/Kconfig.debug b/arch/sparc64/Kconfig.debug
index d6d32d178fc8..c40515c06690 100644
--- a/arch/sparc64/Kconfig.debug
+++ b/arch/sparc64/Kconfig.debug
@@ -33,7 +33,7 @@ config DEBUG_PAGEALLOC
33 33
34config MCOUNT 34config MCOUNT
35 bool 35 bool
36 depends on STACK_DEBUG || FTRACE 36 depends on STACK_DEBUG || FUNCTION_TRACER
37 default y 37 default y
38 38
39config FRAME_POINTER 39config FRAME_POINTER
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 82cab5cc8070..05d19a3e590f 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/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.28-rc4
4# Fri Jul 18 00:47:07 2008 4# Mon Nov 10 12:35:09 2008
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -62,7 +62,6 @@ CONFIG_SYSCTL=y
62# CONFIG_EMBEDDED is not set 62# CONFIG_EMBEDDED is not set
63CONFIG_UID16=y 63CONFIG_UID16=y
64CONFIG_SYSCTL_SYSCALL=y 64CONFIG_SYSCTL_SYSCALL=y
65CONFIG_SYSCTL_SYSCALL_CHECK=y
66CONFIG_KALLSYMS=y 65CONFIG_KALLSYMS=y
67# CONFIG_KALLSYMS_ALL is not set 66# CONFIG_KALLSYMS_ALL is not set
68# CONFIG_KALLSYMS_EXTRA_PASS is not set 67# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -79,7 +78,9 @@ CONFIG_SIGNALFD=y
79CONFIG_TIMERFD=y 78CONFIG_TIMERFD=y
80CONFIG_EVENTFD=y 79CONFIG_EVENTFD=y
81CONFIG_SHMEM=y 80CONFIG_SHMEM=y
81CONFIG_AIO=y
82CONFIG_VM_EVENT_COUNTERS=y 82CONFIG_VM_EVENT_COUNTERS=y
83CONFIG_PCI_QUIRKS=y
83CONFIG_SLUB_DEBUG=y 84CONFIG_SLUB_DEBUG=y
84# CONFIG_SLAB is not set 85# CONFIG_SLAB is not set
85CONFIG_SLUB=y 86CONFIG_SLUB=y
@@ -92,9 +93,9 @@ CONFIG_KPROBES=y
92CONFIG_KRETPROBES=y 93CONFIG_KRETPROBES=y
93CONFIG_HAVE_KPROBES=y 94CONFIG_HAVE_KPROBES=y
94CONFIG_HAVE_KRETPROBES=y 95CONFIG_HAVE_KRETPROBES=y
95# CONFIG_HAVE_DMA_ATTRS is not set 96CONFIG_HAVE_ARCH_TRACEHOOK=y
96CONFIG_USE_GENERIC_SMP_HELPERS=y 97CONFIG_USE_GENERIC_SMP_HELPERS=y
97CONFIG_PROC_PAGE_MONITOR=y 98# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
98CONFIG_SLABINFO=y 99CONFIG_SLABINFO=y
99CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
100# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
@@ -126,6 +127,7 @@ CONFIG_DEFAULT_AS=y
126# CONFIG_DEFAULT_NOOP is not set 127# CONFIG_DEFAULT_NOOP is not set
127CONFIG_DEFAULT_IOSCHED="anticipatory" 128CONFIG_DEFAULT_IOSCHED="anticipatory"
128CONFIG_CLASSIC_RCU=y 129CONFIG_CLASSIC_RCU=y
130# CONFIG_FREEZER is not set
129 131
130# 132#
131# Processor type and features 133# Processor type and features
@@ -138,7 +140,7 @@ CONFIG_HZ_100=y
138# CONFIG_HZ_300 is not set 140# CONFIG_HZ_300 is not set
139# CONFIG_HZ_1000 is not set 141# CONFIG_HZ_1000 is not set
140CONFIG_HZ=100 142CONFIG_HZ=100
141# CONFIG_SCHED_HRTICK is not set 143CONFIG_SCHED_HRTICK=y
142CONFIG_HOTPLUG_CPU=y 144CONFIG_HOTPLUG_CPU=y
143CONFIG_GENERIC_HARDIRQS=y 145CONFIG_GENERIC_HARDIRQS=y
144CONFIG_TICK_ONESHOT=y 146CONFIG_TICK_ONESHOT=y
@@ -148,6 +150,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
148CONFIG_SMP=y 150CONFIG_SMP=y
149CONFIG_NR_CPUS=64 151CONFIG_NR_CPUS=64
150# CONFIG_CPU_FREQ is not set 152# CONFIG_CPU_FREQ is not set
153CONFIG_US3_MC=y
151CONFIG_RWSEM_XCHGADD_ALGORITHM=y 154CONFIG_RWSEM_XCHGADD_ALGORITHM=y
152CONFIG_GENERIC_FIND_NEXT_BIT=y 155CONFIG_GENERIC_FIND_NEXT_BIT=y
153CONFIG_GENERIC_HWEIGHT=y 156CONFIG_GENERIC_HWEIGHT=y
@@ -169,7 +172,6 @@ CONFIG_SPARSEMEM_MANUAL=y
169CONFIG_SPARSEMEM=y 172CONFIG_SPARSEMEM=y
170CONFIG_NEED_MULTIPLE_NODES=y 173CONFIG_NEED_MULTIPLE_NODES=y
171CONFIG_HAVE_MEMORY_PRESENT=y 174CONFIG_HAVE_MEMORY_PRESENT=y
172# CONFIG_SPARSEMEM_STATIC is not set
173CONFIG_SPARSEMEM_EXTREME=y 175CONFIG_SPARSEMEM_EXTREME=y
174CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 176CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
175CONFIG_SPARSEMEM_VMEMMAP=y 177CONFIG_SPARSEMEM_VMEMMAP=y
@@ -177,8 +179,10 @@ CONFIG_PAGEFLAGS_EXTENDED=y
177CONFIG_SPLIT_PTLOCK_CPUS=4 179CONFIG_SPLIT_PTLOCK_CPUS=4
178CONFIG_MIGRATION=y 180CONFIG_MIGRATION=y
179CONFIG_RESOURCES_64BIT=y 181CONFIG_RESOURCES_64BIT=y
182CONFIG_PHYS_ADDR_T_64BIT=y
180CONFIG_ZONE_DMA_FLAG=0 183CONFIG_ZONE_DMA_FLAG=0
181CONFIG_NR_QUICK=1 184CONFIG_NR_QUICK=1
185CONFIG_UNEVICTABLE_LRU=y
182CONFIG_SBUS=y 186CONFIG_SBUS=y
183CONFIG_SBUSCHAR=y 187CONFIG_SBUSCHAR=y
184CONFIG_SUN_AUXIO=y 188CONFIG_SUN_AUXIO=y
@@ -198,6 +202,8 @@ CONFIG_SUN_OPENPROMFS=m
198# 202#
199CONFIG_BINFMT_ELF=y 203CONFIG_BINFMT_ELF=y
200CONFIG_COMPAT_BINFMT_ELF=y 204CONFIG_COMPAT_BINFMT_ELF=y
205# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
206# CONFIG_HAVE_AOUT is not set
201CONFIG_BINFMT_MISC=m 207CONFIG_BINFMT_MISC=m
202CONFIG_COMPAT=y 208CONFIG_COMPAT=y
203CONFIG_SYSVIPC_COMPAT=y 209CONFIG_SYSVIPC_COMPAT=y
@@ -207,10 +213,6 @@ CONFIG_SCHED_MC=y
207CONFIG_PREEMPT_VOLUNTARY=y 213CONFIG_PREEMPT_VOLUNTARY=y
208# CONFIG_PREEMPT is not set 214# CONFIG_PREEMPT is not set
209# CONFIG_CMDLINE_BOOL is not set 215# CONFIG_CMDLINE_BOOL is not set
210
211#
212# Networking
213#
214CONFIG_NET=y 216CONFIG_NET=y
215 217
216# 218#
@@ -224,6 +226,7 @@ CONFIG_XFRM_USER=m
224# CONFIG_XFRM_SUB_POLICY is not set 226# CONFIG_XFRM_SUB_POLICY is not set
225CONFIG_XFRM_MIGRATE=y 227CONFIG_XFRM_MIGRATE=y
226# CONFIG_XFRM_STATISTICS is not set 228# CONFIG_XFRM_STATISTICS is not set
229CONFIG_XFRM_IPCOMP=y
227CONFIG_NET_KEY=m 230CONFIG_NET_KEY=m
228CONFIG_NET_KEY_MIGRATE=y 231CONFIG_NET_KEY_MIGRATE=y
229CONFIG_INET=y 232CONFIG_INET=y
@@ -299,7 +302,9 @@ CONFIG_IP_DCCP_TFRC_LIB=m
299# CONFIG_TIPC is not set 302# CONFIG_TIPC is not set
300# CONFIG_ATM is not set 303# CONFIG_ATM is not set
301# CONFIG_BRIDGE is not set 304# CONFIG_BRIDGE is not set
305# CONFIG_NET_DSA is not set
302CONFIG_VLAN_8021Q=m 306CONFIG_VLAN_8021Q=m
307# CONFIG_VLAN_8021Q_GVRP is not set
303# CONFIG_DECNET is not set 308# CONFIG_DECNET is not set
304# CONFIG_LLC2 is not set 309# CONFIG_LLC2 is not set
305# CONFIG_IPX is not set 310# CONFIG_IPX is not set
@@ -320,11 +325,10 @@ CONFIG_NET_TCPPROBE=m
320# CONFIG_IRDA is not set 325# CONFIG_IRDA is not set
321# CONFIG_BT is not set 326# CONFIG_BT is not set
322# CONFIG_AF_RXRPC is not set 327# CONFIG_AF_RXRPC is not set
323 328# CONFIG_PHONET is not set
324# 329CONFIG_WIRELESS=y
325# Wireless
326#
327# CONFIG_CFG80211 is not set 330# CONFIG_CFG80211 is not set
331CONFIG_WIRELESS_OLD_REGULATORY=y
328# CONFIG_WIRELESS_EXT is not set 332# CONFIG_WIRELESS_EXT is not set
329# CONFIG_MAC80211 is not set 333# CONFIG_MAC80211 is not set
330# CONFIG_IEEE80211 is not set 334# CONFIG_IEEE80211 is not set
@@ -375,21 +379,21 @@ CONFIG_MISC_DEVICES=y
375# CONFIG_SGI_IOC4 is not set 379# CONFIG_SGI_IOC4 is not set
376# CONFIG_TIFM_CORE is not set 380# CONFIG_TIFM_CORE is not set
377# CONFIG_ENCLOSURE_SERVICES is not set 381# CONFIG_ENCLOSURE_SERVICES is not set
382# CONFIG_HP_ILO is not set
378CONFIG_HAVE_IDE=y 383CONFIG_HAVE_IDE=y
379CONFIG_IDE=y 384CONFIG_IDE=y
380CONFIG_BLK_DEV_IDE=y
381 385
382# 386#
383# Please see Documentation/ide/ide.txt for help/info on IDE drives 387# Please see Documentation/ide/ide.txt for help/info on IDE drives
384# 388#
385CONFIG_IDE_TIMINGS=y 389CONFIG_IDE_TIMINGS=y
386# CONFIG_BLK_DEV_IDE_SATA is not set 390# CONFIG_BLK_DEV_IDE_SATA is not set
387CONFIG_BLK_DEV_IDEDISK=y 391CONFIG_IDE_GD=y
388# CONFIG_IDEDISK_MULTI_MODE is not set 392CONFIG_IDE_GD_ATA=y
393# CONFIG_IDE_GD_ATAPI is not set
389CONFIG_BLK_DEV_IDECD=y 394CONFIG_BLK_DEV_IDECD=y
390CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 395CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
391# CONFIG_BLK_DEV_IDETAPE is not set 396# CONFIG_BLK_DEV_IDETAPE is not set
392# CONFIG_BLK_DEV_IDEFLOPPY is not set
393# CONFIG_BLK_DEV_IDESCSI is not set 397# CONFIG_BLK_DEV_IDESCSI is not set
394# CONFIG_IDE_TASK_IOCTL is not set 398# CONFIG_IDE_TASK_IOCTL is not set
395CONFIG_IDE_PROC_FS=y 399CONFIG_IDE_PROC_FS=y
@@ -413,10 +417,8 @@ CONFIG_BLK_DEV_ALI15X3=y
413# CONFIG_BLK_DEV_AMD74XX is not set 417# CONFIG_BLK_DEV_AMD74XX is not set
414# CONFIG_BLK_DEV_CMD64X is not set 418# CONFIG_BLK_DEV_CMD64X is not set
415# CONFIG_BLK_DEV_TRIFLEX is not set 419# CONFIG_BLK_DEV_TRIFLEX is not set
416# CONFIG_BLK_DEV_CY82C693 is not set
417# CONFIG_BLK_DEV_CS5520 is not set 420# CONFIG_BLK_DEV_CS5520 is not set
418# CONFIG_BLK_DEV_CS5530 is not set 421# CONFIG_BLK_DEV_CS5530 is not set
419# CONFIG_BLK_DEV_HPT34X is not set
420# CONFIG_BLK_DEV_HPT366 is not set 422# CONFIG_BLK_DEV_HPT366 is not set
421# CONFIG_BLK_DEV_JMICRON is not set 423# CONFIG_BLK_DEV_JMICRON is not set
422# CONFIG_BLK_DEV_SC1200 is not set 424# CONFIG_BLK_DEV_SC1200 is not set
@@ -540,7 +542,6 @@ CONFIG_DM_ZERO=m
540# CONFIG_IEEE1394 is not set 542# CONFIG_IEEE1394 is not set
541# CONFIG_I2O is not set 543# CONFIG_I2O is not set
542CONFIG_NETDEVICES=y 544CONFIG_NETDEVICES=y
543# CONFIG_NETDEVICES_MULTIQUEUE is not set
544# CONFIG_DUMMY is not set 545# CONFIG_DUMMY is not set
545# CONFIG_BONDING is not set 546# CONFIG_BONDING is not set
546# CONFIG_MACVLAN is not set 547# CONFIG_MACVLAN is not set
@@ -548,7 +549,22 @@ CONFIG_NETDEVICES=y
548# CONFIG_TUN is not set 549# CONFIG_TUN is not set
549# CONFIG_VETH is not set 550# CONFIG_VETH is not set
550# CONFIG_ARCNET is not set 551# CONFIG_ARCNET is not set
551# CONFIG_PHYLIB is not set 552CONFIG_PHYLIB=m
553
554#
555# MII PHY device drivers
556#
557# CONFIG_MARVELL_PHY is not set
558# CONFIG_DAVICOM_PHY is not set
559# CONFIG_QSEMI_PHY is not set
560# CONFIG_LXT_PHY is not set
561# CONFIG_CICADA_PHY is not set
562# CONFIG_VITESSE_PHY is not set
563# CONFIG_SMSC_PHY is not set
564# CONFIG_BROADCOM_PHY is not set
565# CONFIG_ICPLUS_PHY is not set
566# CONFIG_REALTEK_PHY is not set
567# CONFIG_MDIO_BITBANG is not set
552CONFIG_NET_ETHERNET=y 568CONFIG_NET_ETHERNET=y
553CONFIG_MII=m 569CONFIG_MII=m
554# CONFIG_SUNLANCE is not set 570# CONFIG_SUNLANCE is not set
@@ -565,6 +581,9 @@ CONFIG_SUNVNET=m
565# CONFIG_IBM_NEW_EMAC_RGMII is not set 581# CONFIG_IBM_NEW_EMAC_RGMII is not set
566# CONFIG_IBM_NEW_EMAC_TAH is not set 582# CONFIG_IBM_NEW_EMAC_TAH is not set
567# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 583# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
584# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
585# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
586# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
568CONFIG_NET_PCI=y 587CONFIG_NET_PCI=y
569# CONFIG_PCNET32 is not set 588# CONFIG_PCNET32 is not set
570# CONFIG_AMD8111_ETH is not set 589# CONFIG_AMD8111_ETH is not set
@@ -582,16 +601,15 @@ CONFIG_NET_PCI=y
582# CONFIG_SIS900 is not set 601# CONFIG_SIS900 is not set
583# CONFIG_EPIC100 is not set 602# CONFIG_EPIC100 is not set
584# CONFIG_SUNDANCE is not set 603# CONFIG_SUNDANCE is not set
604# CONFIG_TLAN is not set
585# CONFIG_VIA_RHINE is not set 605# CONFIG_VIA_RHINE is not set
586# CONFIG_SC92031 is not set 606# CONFIG_SC92031 is not set
607# CONFIG_ATL2 is not set
587CONFIG_NETDEV_1000=y 608CONFIG_NETDEV_1000=y
588# CONFIG_ACENIC is not set 609# CONFIG_ACENIC is not set
589# CONFIG_DL2K is not set 610# CONFIG_DL2K is not set
590CONFIG_E1000=m 611CONFIG_E1000=m
591CONFIG_E1000_NAPI=y
592# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
593# CONFIG_E1000E is not set 612# CONFIG_E1000E is not set
594# CONFIG_E1000E_ENABLED is not set
595# CONFIG_IP1000 is not set 613# CONFIG_IP1000 is not set
596# CONFIG_IGB is not set 614# CONFIG_IGB is not set
597# CONFIG_MYRI_SBUS is not set 615# CONFIG_MYRI_SBUS is not set
@@ -607,18 +625,23 @@ CONFIG_TIGON3=m
607CONFIG_BNX2=m 625CONFIG_BNX2=m
608# CONFIG_QLA3XXX is not set 626# CONFIG_QLA3XXX is not set
609# CONFIG_ATL1 is not set 627# CONFIG_ATL1 is not set
628# CONFIG_ATL1E is not set
629# CONFIG_JME is not set
610CONFIG_NETDEV_10000=y 630CONFIG_NETDEV_10000=y
611# CONFIG_CHELSIO_T1 is not set 631# CONFIG_CHELSIO_T1 is not set
612# CONFIG_CHELSIO_T3 is not set 632# CONFIG_CHELSIO_T3 is not set
633# CONFIG_ENIC is not set
613# CONFIG_IXGBE is not set 634# CONFIG_IXGBE is not set
614# CONFIG_IXGB is not set 635# CONFIG_IXGB is not set
615# CONFIG_S2IO is not set 636# CONFIG_S2IO is not set
616# CONFIG_MYRI10GE is not set 637# CONFIG_MYRI10GE is not set
617# CONFIG_NETXEN_NIC is not set 638# CONFIG_NETXEN_NIC is not set
618CONFIG_NIU=m 639CONFIG_NIU=m
640# CONFIG_MLX4_EN is not set
619# CONFIG_MLX4_CORE is not set 641# CONFIG_MLX4_CORE is not set
620# CONFIG_TEHUTI is not set 642# CONFIG_TEHUTI is not set
621# CONFIG_BNX2X is not set 643# CONFIG_BNX2X is not set
644# CONFIG_QLGE is not set
622# CONFIG_SFC is not set 645# CONFIG_SFC is not set
623# CONFIG_TR is not set 646# CONFIG_TR is not set
624 647
@@ -694,9 +717,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
694CONFIG_MOUSE_PS2_SYNAPTICS=y 717CONFIG_MOUSE_PS2_SYNAPTICS=y
695CONFIG_MOUSE_PS2_LIFEBOOK=y 718CONFIG_MOUSE_PS2_LIFEBOOK=y
696CONFIG_MOUSE_PS2_TRACKPOINT=y 719CONFIG_MOUSE_PS2_TRACKPOINT=y
720# CONFIG_MOUSE_PS2_ELANTECH is not set
697# CONFIG_MOUSE_PS2_TOUCHKIT is not set 721# CONFIG_MOUSE_PS2_TOUCHKIT is not set
698CONFIG_MOUSE_SERIAL=y 722CONFIG_MOUSE_SERIAL=y
699# CONFIG_MOUSE_APPLETOUCH is not set 723# CONFIG_MOUSE_APPLETOUCH is not set
724# CONFIG_MOUSE_BCM5974 is not set
700# CONFIG_MOUSE_VSXXXAA is not set 725# CONFIG_MOUSE_VSXXXAA is not set
701# CONFIG_INPUT_JOYSTICK is not set 726# CONFIG_INPUT_JOYSTICK is not set
702# CONFIG_INPUT_TABLET is not set 727# CONFIG_INPUT_TABLET is not set
@@ -708,6 +733,7 @@ CONFIG_INPUT_SPARCSPKR=y
708# CONFIG_INPUT_KEYSPAN_REMOTE is not set 733# CONFIG_INPUT_KEYSPAN_REMOTE is not set
709# CONFIG_INPUT_POWERMATE is not set 734# CONFIG_INPUT_POWERMATE is not set
710# CONFIG_INPUT_YEALINK is not set 735# CONFIG_INPUT_YEALINK is not set
736# CONFIG_INPUT_CM109 is not set
711# CONFIG_INPUT_UINPUT is not set 737# CONFIG_INPUT_UINPUT is not set
712 738
713# 739#
@@ -725,6 +751,7 @@ CONFIG_SERIO_RAW=m
725# Character devices 751# Character devices
726# 752#
727CONFIG_VT=y 753CONFIG_VT=y
754CONFIG_CONSOLE_TRANSLATIONS=y
728CONFIG_VT_CONSOLE=y 755CONFIG_VT_CONSOLE=y
729CONFIG_HW_CONSOLE=y 756CONFIG_HW_CONSOLE=y
730# CONFIG_VT_HW_CONSOLE_BINDING is not set 757# CONFIG_VT_HW_CONSOLE_BINDING is not set
@@ -735,6 +762,7 @@ CONFIG_HW_CONSOLE=y
735# 762#
736# Serial drivers 763# Serial drivers
737# 764#
765# CONFIG_SERIAL_8250 is not set
738 766
739# 767#
740# Non-8250 serial port support 768# Non-8250 serial port support
@@ -762,6 +790,7 @@ CONFIG_DEVPORT=y
762CONFIG_I2C=y 790CONFIG_I2C=y
763CONFIG_I2C_BOARDINFO=y 791CONFIG_I2C_BOARDINFO=y
764# CONFIG_I2C_CHARDEV is not set 792# CONFIG_I2C_CHARDEV is not set
793CONFIG_I2C_HELPER_AUTO=y
765CONFIG_I2C_ALGOBIT=y 794CONFIG_I2C_ALGOBIT=y
766 795
767# 796#
@@ -827,10 +856,13 @@ CONFIG_I2C_ALGOBIT=y
827# CONFIG_I2C_DEBUG_BUS is not set 856# CONFIG_I2C_DEBUG_BUS is not set
828# CONFIG_I2C_DEBUG_CHIP is not set 857# CONFIG_I2C_DEBUG_CHIP is not set
829# CONFIG_SPI is not set 858# CONFIG_SPI is not set
859CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
860# CONFIG_GPIOLIB is not set
830# CONFIG_W1 is not set 861# CONFIG_W1 is not set
831# CONFIG_POWER_SUPPLY is not set 862# CONFIG_POWER_SUPPLY is not set
832CONFIG_HWMON=y 863CONFIG_HWMON=y
833# CONFIG_HWMON_VID is not set 864# CONFIG_HWMON_VID is not set
865# CONFIG_SENSORS_AD7414 is not set
834# CONFIG_SENSORS_AD7418 is not set 866# CONFIG_SENSORS_AD7418 is not set
835# CONFIG_SENSORS_ADM1021 is not set 867# CONFIG_SENSORS_ADM1021 is not set
836# CONFIG_SENSORS_ADM1025 is not set 868# CONFIG_SENSORS_ADM1025 is not set
@@ -882,6 +914,7 @@ CONFIG_HWMON=y
882# CONFIG_SENSORS_W83L786NG is not set 914# CONFIG_SENSORS_W83L786NG is not set
883# CONFIG_SENSORS_W83627HF is not set 915# CONFIG_SENSORS_W83627HF is not set
884# CONFIG_SENSORS_W83627EHF is not set 916# CONFIG_SENSORS_W83627EHF is not set
917# CONFIG_SENSORS_ULTRA45 is not set
885# CONFIG_HWMON_DEBUG_CHIP is not set 918# CONFIG_HWMON_DEBUG_CHIP is not set
886# CONFIG_THERMAL is not set 919# CONFIG_THERMAL is not set
887# CONFIG_THERMAL_HWMON is not set 920# CONFIG_THERMAL_HWMON is not set
@@ -896,8 +929,14 @@ CONFIG_SSB_POSSIBLE=y
896# 929#
897# Multifunction device drivers 930# Multifunction device drivers
898# 931#
932# CONFIG_MFD_CORE is not set
899# CONFIG_MFD_SM501 is not set 933# CONFIG_MFD_SM501 is not set
900# CONFIG_HTC_PASIC3 is not set 934# CONFIG_HTC_PASIC3 is not set
935# CONFIG_MFD_TMIO is not set
936# CONFIG_PMIC_DA903X is not set
937# CONFIG_MFD_WM8400 is not set
938# CONFIG_MFD_WM8350_I2C is not set
939# CONFIG_REGULATOR is not set
901 940
902# 941#
903# Multimedia devices 942# Multimedia devices
@@ -924,6 +963,7 @@ CONFIG_SSB_POSSIBLE=y
924CONFIG_FB=y 963CONFIG_FB=y
925# CONFIG_FIRMWARE_EDID is not set 964# CONFIG_FIRMWARE_EDID is not set
926CONFIG_FB_DDC=y 965CONFIG_FB_DDC=y
966# CONFIG_FB_BOOT_VESA_SUPPORT is not set
927CONFIG_FB_CFB_FILLRECT=y 967CONFIG_FB_CFB_FILLRECT=y
928CONFIG_FB_CFB_COPYAREA=y 968CONFIG_FB_CFB_COPYAREA=y
929CONFIG_FB_CFB_IMAGEBLIT=y 969CONFIG_FB_CFB_IMAGEBLIT=y
@@ -975,6 +1015,7 @@ CONFIG_FB_ATY_GX=y
975# CONFIG_FB_S3 is not set 1015# CONFIG_FB_S3 is not set
976# CONFIG_FB_SAVAGE is not set 1016# CONFIG_FB_SAVAGE is not set
977# CONFIG_FB_SIS is not set 1017# CONFIG_FB_SIS is not set
1018# CONFIG_FB_VIA is not set
978# CONFIG_FB_NEOMAGIC is not set 1019# CONFIG_FB_NEOMAGIC is not set
979# CONFIG_FB_KYRO is not set 1020# CONFIG_FB_KYRO is not set
980# CONFIG_FB_3DFX is not set 1021# CONFIG_FB_3DFX is not set
@@ -983,7 +1024,10 @@ CONFIG_FB_ATY_GX=y
983# CONFIG_FB_TRIDENT is not set 1024# CONFIG_FB_TRIDENT is not set
984# CONFIG_FB_ARK is not set 1025# CONFIG_FB_ARK is not set
985# CONFIG_FB_PM3 is not set 1026# CONFIG_FB_PM3 is not set
1027# CONFIG_FB_CARMINE is not set
986# CONFIG_FB_VIRTUAL is not set 1028# CONFIG_FB_VIRTUAL is not set
1029# CONFIG_FB_METRONOME is not set
1030# CONFIG_FB_MB862XX is not set
987# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1031# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
988 1032
989# 1033#
@@ -1015,6 +1059,7 @@ CONFIG_LOGO=y
1015# CONFIG_LOGO_LINUX_CLUT224 is not set 1059# CONFIG_LOGO_LINUX_CLUT224 is not set
1016CONFIG_LOGO_SUN_CLUT224=y 1060CONFIG_LOGO_SUN_CLUT224=y
1017CONFIG_SOUND=m 1061CONFIG_SOUND=m
1062CONFIG_SOUND_OSS_CORE=y
1018CONFIG_SND=m 1063CONFIG_SND=m
1019CONFIG_SND_TIMER=m 1064CONFIG_SND_TIMER=m
1020CONFIG_SND_PCM=m 1065CONFIG_SND_PCM=m
@@ -1120,9 +1165,36 @@ CONFIG_HID=y
1120# USB Input Devices 1165# USB Input Devices
1121# 1166#
1122CONFIG_USB_HID=y 1167CONFIG_USB_HID=y
1123# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1168# CONFIG_HID_PID is not set
1124# CONFIG_HID_FF is not set
1125CONFIG_USB_HIDDEV=y 1169CONFIG_USB_HIDDEV=y
1170
1171#
1172# Special HID drivers
1173#
1174CONFIG_HID_COMPAT=y
1175CONFIG_HID_A4TECH=y
1176CONFIG_HID_APPLE=y
1177CONFIG_HID_BELKIN=y
1178CONFIG_HID_BRIGHT=y
1179CONFIG_HID_CHERRY=y
1180CONFIG_HID_CHICONY=y
1181CONFIG_HID_CYPRESS=y
1182CONFIG_HID_DELL=y
1183CONFIG_HID_EZKEY=y
1184CONFIG_HID_GYRATION=y
1185CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set
1187# CONFIG_LOGIRUMBLEPAD2_FF is not set
1188CONFIG_HID_MICROSOFT=y
1189CONFIG_HID_MONTEREY=y
1190CONFIG_HID_PANTHERLORD=y
1191# CONFIG_PANTHERLORD_FF is not set
1192CONFIG_HID_PETALYNX=y
1193CONFIG_HID_SAMSUNG=y
1194CONFIG_HID_SONY=y
1195CONFIG_HID_SUNPLUS=y
1196# CONFIG_THRUSTMASTER_FF is not set
1197# CONFIG_ZEROPLUS_FF is not set
1126CONFIG_USB_SUPPORT=y 1198CONFIG_USB_SUPPORT=y
1127CONFIG_USB_ARCH_HAS_HCD=y 1199CONFIG_USB_ARCH_HAS_HCD=y
1128CONFIG_USB_ARCH_HAS_OHCI=y 1200CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1138,6 +1210,9 @@ CONFIG_USB_DEVICEFS=y
1138# CONFIG_USB_DEVICE_CLASS is not set 1210# CONFIG_USB_DEVICE_CLASS is not set
1139# CONFIG_USB_DYNAMIC_MINORS is not set 1211# CONFIG_USB_DYNAMIC_MINORS is not set
1140# CONFIG_USB_OTG is not set 1212# CONFIG_USB_OTG is not set
1213# CONFIG_USB_MON is not set
1214# CONFIG_USB_WUSB is not set
1215# CONFIG_USB_WUSB_CBAF is not set
1141 1216
1142# 1217#
1143# USB Host Controller Drivers 1218# USB Host Controller Drivers
@@ -1155,6 +1230,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1155CONFIG_USB_UHCI_HCD=m 1230CONFIG_USB_UHCI_HCD=m
1156# CONFIG_USB_SL811_HCD is not set 1231# CONFIG_USB_SL811_HCD is not set
1157# CONFIG_USB_R8A66597_HCD is not set 1232# CONFIG_USB_R8A66597_HCD is not set
1233# CONFIG_USB_WHCI_HCD is not set
1234# CONFIG_USB_HWA_HCD is not set
1158 1235
1159# 1236#
1160# USB Device Class drivers 1237# USB Device Class drivers
@@ -1162,6 +1239,7 @@ CONFIG_USB_UHCI_HCD=m
1162# CONFIG_USB_ACM is not set 1239# CONFIG_USB_ACM is not set
1163# CONFIG_USB_PRINTER is not set 1240# CONFIG_USB_PRINTER is not set
1164# CONFIG_USB_WDM is not set 1241# CONFIG_USB_WDM is not set
1242# CONFIG_USB_TMC is not set
1165 1243
1166# 1244#
1167# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1245# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1191,7 +1269,6 @@ CONFIG_USB_STORAGE=m
1191# 1269#
1192# CONFIG_USB_MDC800 is not set 1270# CONFIG_USB_MDC800 is not set
1193# CONFIG_USB_MICROTEK is not set 1271# CONFIG_USB_MICROTEK is not set
1194# CONFIG_USB_MON is not set
1195 1272
1196# 1273#
1197# USB port drivers 1274# USB port drivers
@@ -1204,7 +1281,7 @@ CONFIG_USB_STORAGE=m
1204# CONFIG_USB_EMI62 is not set 1281# CONFIG_USB_EMI62 is not set
1205# CONFIG_USB_EMI26 is not set 1282# CONFIG_USB_EMI26 is not set
1206# CONFIG_USB_ADUTUX is not set 1283# CONFIG_USB_ADUTUX is not set
1207# CONFIG_USB_AUERSWALD is not set 1284# CONFIG_USB_SEVSEG is not set
1208# CONFIG_USB_RIO500 is not set 1285# CONFIG_USB_RIO500 is not set
1209# CONFIG_USB_LEGOTOWER is not set 1286# CONFIG_USB_LEGOTOWER is not set
1210# CONFIG_USB_LCD is not set 1287# CONFIG_USB_LCD is not set
@@ -1222,21 +1299,80 @@ CONFIG_USB_STORAGE=m
1222# CONFIG_USB_IOWARRIOR is not set 1299# CONFIG_USB_IOWARRIOR is not set
1223# CONFIG_USB_TEST is not set 1300# CONFIG_USB_TEST is not set
1224# CONFIG_USB_ISIGHTFW is not set 1301# CONFIG_USB_ISIGHTFW is not set
1302# CONFIG_USB_VST is not set
1225# CONFIG_USB_GADGET is not set 1303# CONFIG_USB_GADGET is not set
1304# CONFIG_UWB is not set
1226# CONFIG_MMC is not set 1305# CONFIG_MMC is not set
1227# CONFIG_MEMSTICK is not set 1306# CONFIG_MEMSTICK is not set
1228# CONFIG_NEW_LEDS is not set 1307# CONFIG_NEW_LEDS is not set
1229# CONFIG_ACCESSIBILITY is not set 1308# CONFIG_ACCESSIBILITY is not set
1230# CONFIG_INFINIBAND is not set 1309# CONFIG_INFINIBAND is not set
1231# CONFIG_RTC_CLASS is not set 1310CONFIG_RTC_LIB=y
1311CONFIG_RTC_CLASS=y
1312CONFIG_RTC_HCTOSYS=y
1313CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1314# CONFIG_RTC_DEBUG is not set
1315
1316#
1317# RTC interfaces
1318#
1319CONFIG_RTC_INTF_SYSFS=y
1320CONFIG_RTC_INTF_PROC=y
1321CONFIG_RTC_INTF_DEV=y
1322# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1323# CONFIG_RTC_DRV_TEST is not set
1324
1325#
1326# I2C RTC drivers
1327#
1328# CONFIG_RTC_DRV_DS1307 is not set
1329# CONFIG_RTC_DRV_DS1374 is not set
1330# CONFIG_RTC_DRV_DS1672 is not set
1331# CONFIG_RTC_DRV_MAX6900 is not set
1332# CONFIG_RTC_DRV_RS5C372 is not set
1333# CONFIG_RTC_DRV_ISL1208 is not set
1334# CONFIG_RTC_DRV_X1205 is not set
1335# CONFIG_RTC_DRV_PCF8563 is not set
1336# CONFIG_RTC_DRV_PCF8583 is not set
1337# CONFIG_RTC_DRV_M41T80 is not set
1338# CONFIG_RTC_DRV_S35390A is not set
1339# CONFIG_RTC_DRV_FM3130 is not set
1340
1341#
1342# SPI RTC drivers
1343#
1344
1345#
1346# Platform RTC drivers
1347#
1348CONFIG_RTC_DRV_CMOS=y
1349# CONFIG_RTC_DRV_DS1286 is not set
1350# CONFIG_RTC_DRV_DS1511 is not set
1351# CONFIG_RTC_DRV_DS1553 is not set
1352# CONFIG_RTC_DRV_DS1742 is not set
1353# CONFIG_RTC_DRV_STK17TA8 is not set
1354# CONFIG_RTC_DRV_M48T86 is not set
1355# CONFIG_RTC_DRV_M48T35 is not set
1356CONFIG_RTC_DRV_M48T59=y
1357CONFIG_RTC_DRV_BQ4802=y
1358# CONFIG_RTC_DRV_V3020 is not set
1359
1360#
1361# on-CPU RTC drivers
1362#
1363CONFIG_RTC_DRV_SUN4V=y
1364CONFIG_RTC_DRV_STARFIRE=y
1365# CONFIG_DMADEVICES is not set
1232# CONFIG_UIO is not set 1366# CONFIG_UIO is not set
1367# CONFIG_STAGING is not set
1368CONFIG_STAGING_EXCLUDE_BUILD=y
1233 1369
1234# 1370#
1235# Misc Linux/SPARC drivers 1371# Misc Linux/SPARC drivers
1236# 1372#
1237CONFIG_SUN_OPENPROMIO=y 1373CONFIG_SUN_OPENPROMIO=y
1238# CONFIG_OBP_FLASH is not set 1374# CONFIG_OBP_FLASH is not set
1239# CONFIG_SUN_BPP is not set 1375# CONFIG_TADPOLE_TS102_UCTRL is not set
1240# CONFIG_BBC_I2C is not set 1376# CONFIG_BBC_I2C is not set
1241# CONFIG_ENVCTRL is not set 1377# CONFIG_ENVCTRL is not set
1242# CONFIG_DISPLAY7SEG is not set 1378# CONFIG_DISPLAY7SEG is not set
@@ -1253,13 +1389,14 @@ CONFIG_EXT3_FS=y
1253CONFIG_EXT3_FS_XATTR=y 1389CONFIG_EXT3_FS_XATTR=y
1254CONFIG_EXT3_FS_POSIX_ACL=y 1390CONFIG_EXT3_FS_POSIX_ACL=y
1255CONFIG_EXT3_FS_SECURITY=y 1391CONFIG_EXT3_FS_SECURITY=y
1256# CONFIG_EXT4DEV_FS is not set 1392# CONFIG_EXT4_FS is not set
1257CONFIG_JBD=y 1393CONFIG_JBD=y
1258# CONFIG_JBD_DEBUG is not set 1394# CONFIG_JBD_DEBUG is not set
1259CONFIG_FS_MBCACHE=y 1395CONFIG_FS_MBCACHE=y
1260# CONFIG_REISERFS_FS is not set 1396# CONFIG_REISERFS_FS is not set
1261# CONFIG_JFS_FS is not set 1397# CONFIG_JFS_FS is not set
1262CONFIG_FS_POSIX_ACL=y 1398CONFIG_FS_POSIX_ACL=y
1399CONFIG_FILE_LOCKING=y
1263# CONFIG_XFS_FS is not set 1400# CONFIG_XFS_FS is not set
1264# CONFIG_GFS2_FS is not set 1401# CONFIG_GFS2_FS is not set
1265# CONFIG_OCFS2_FS is not set 1402# CONFIG_OCFS2_FS is not set
@@ -1290,6 +1427,7 @@ CONFIG_INOTIFY_USER=y
1290CONFIG_PROC_FS=y 1427CONFIG_PROC_FS=y
1291CONFIG_PROC_KCORE=y 1428CONFIG_PROC_KCORE=y
1292CONFIG_PROC_SYSCTL=y 1429CONFIG_PROC_SYSCTL=y
1430CONFIG_PROC_PAGE_MONITOR=y
1293CONFIG_SYSFS=y 1431CONFIG_SYSFS=y
1294CONFIG_TMPFS=y 1432CONFIG_TMPFS=y
1295# CONFIG_TMPFS_POSIX_ACL is not set 1433# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1311,6 +1449,7 @@ CONFIG_HUGETLB_PAGE=y
1311# CONFIG_CRAMFS is not set 1449# CONFIG_CRAMFS is not set
1312# CONFIG_VXFS_FS is not set 1450# CONFIG_VXFS_FS is not set
1313# CONFIG_MINIX_FS is not set 1451# CONFIG_MINIX_FS is not set
1452# CONFIG_OMFS_FS is not set
1314# CONFIG_HPFS_FS is not set 1453# CONFIG_HPFS_FS is not set
1315# CONFIG_QNX4FS_FS is not set 1454# CONFIG_QNX4FS_FS is not set
1316# CONFIG_ROMFS_FS is not set 1455# CONFIG_ROMFS_FS is not set
@@ -1388,6 +1527,8 @@ CONFIG_DEBUG_FS=y
1388CONFIG_DEBUG_KERNEL=y 1527CONFIG_DEBUG_KERNEL=y
1389# CONFIG_DEBUG_SHIRQ is not set 1528# CONFIG_DEBUG_SHIRQ is not set
1390CONFIG_DETECT_SOFTLOCKUP=y 1529CONFIG_DETECT_SOFTLOCKUP=y
1530# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1531CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1391# CONFIG_SCHED_DEBUG is not set 1532# CONFIG_SCHED_DEBUG is not set
1392CONFIG_SCHEDSTATS=y 1533CONFIG_SCHEDSTATS=y
1393# CONFIG_TIMER_STATS is not set 1534# CONFIG_TIMER_STATS is not set
@@ -1408,20 +1549,30 @@ CONFIG_DEBUG_BUGVERBOSE=y
1408# CONFIG_DEBUG_INFO is not set 1549# CONFIG_DEBUG_INFO is not set
1409# CONFIG_DEBUG_VM is not set 1550# CONFIG_DEBUG_VM is not set
1410# CONFIG_DEBUG_WRITECOUNT is not set 1551# CONFIG_DEBUG_WRITECOUNT is not set
1552CONFIG_DEBUG_MEMORY_INIT=y
1411# CONFIG_DEBUG_LIST is not set 1553# CONFIG_DEBUG_LIST is not set
1412# CONFIG_DEBUG_SG is not set 1554# CONFIG_DEBUG_SG is not set
1413# CONFIG_BOOT_PRINTK_DELAY is not set 1555# CONFIG_BOOT_PRINTK_DELAY is not set
1414# CONFIG_RCU_TORTURE_TEST is not set 1556# CONFIG_RCU_TORTURE_TEST is not set
1557# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1415# CONFIG_KPROBES_SANITY_TEST is not set 1558# CONFIG_KPROBES_SANITY_TEST is not set
1416# CONFIG_BACKTRACE_SELF_TEST is not set 1559# CONFIG_BACKTRACE_SELF_TEST is not set
1560# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1417# CONFIG_LKDTM is not set 1561# CONFIG_LKDTM is not set
1418# CONFIG_FAULT_INJECTION is not set 1562# CONFIG_FAULT_INJECTION is not set
1419CONFIG_HAVE_FTRACE=y 1563CONFIG_SYSCTL_SYSCALL_CHECK=y
1420CONFIG_HAVE_DYNAMIC_FTRACE=y 1564CONFIG_HAVE_FUNCTION_TRACER=y
1421# CONFIG_FTRACE is not set 1565
1566#
1567# Tracers
1568#
1569# CONFIG_FUNCTION_TRACER is not set
1422# CONFIG_IRQSOFF_TRACER is not set 1570# CONFIG_IRQSOFF_TRACER is not set
1423# CONFIG_SCHED_TRACER is not set 1571# CONFIG_SCHED_TRACER is not set
1424# CONFIG_CONTEXT_SWITCH_TRACER is not set 1572# CONFIG_CONTEXT_SWITCH_TRACER is not set
1573# CONFIG_BOOT_TRACER is not set
1574# CONFIG_STACK_TRACER is not set
1575# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1425# CONFIG_SAMPLES is not set 1576# CONFIG_SAMPLES is not set
1426CONFIG_HAVE_ARCH_KGDB=y 1577CONFIG_HAVE_ARCH_KGDB=y
1427# CONFIG_KGDB is not set 1578# CONFIG_KGDB is not set
@@ -1436,6 +1587,7 @@ CONFIG_HAVE_ARCH_KGDB=y
1436CONFIG_KEYS=y 1587CONFIG_KEYS=y
1437# CONFIG_KEYS_DEBUG_PROC_KEYS is not set 1588# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
1438# CONFIG_SECURITY is not set 1589# CONFIG_SECURITY is not set
1590# CONFIG_SECURITYFS is not set
1439# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1591# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1440CONFIG_XOR_BLOCKS=m 1592CONFIG_XOR_BLOCKS=m
1441CONFIG_ASYNC_CORE=m 1593CONFIG_ASYNC_CORE=m
@@ -1446,10 +1598,12 @@ CONFIG_CRYPTO=y
1446# 1598#
1447# Crypto core or helper 1599# Crypto core or helper
1448# 1600#
1601# CONFIG_CRYPTO_FIPS is not set
1449CONFIG_CRYPTO_ALGAPI=y 1602CONFIG_CRYPTO_ALGAPI=y
1450CONFIG_CRYPTO_AEAD=y 1603CONFIG_CRYPTO_AEAD=y
1451CONFIG_CRYPTO_BLKCIPHER=y 1604CONFIG_CRYPTO_BLKCIPHER=y
1452CONFIG_CRYPTO_HASH=y 1605CONFIG_CRYPTO_HASH=y
1606CONFIG_CRYPTO_RNG=y
1453CONFIG_CRYPTO_MANAGER=y 1607CONFIG_CRYPTO_MANAGER=y
1454CONFIG_CRYPTO_GF128MUL=m 1608CONFIG_CRYPTO_GF128MUL=m
1455CONFIG_CRYPTO_NULL=m 1609CONFIG_CRYPTO_NULL=m
@@ -1523,6 +1677,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1523# 1677#
1524CONFIG_CRYPTO_DEFLATE=y 1678CONFIG_CRYPTO_DEFLATE=y
1525# CONFIG_CRYPTO_LZO is not set 1679# CONFIG_CRYPTO_LZO is not set
1680
1681#
1682# Random Number Generation
1683#
1684# CONFIG_CRYPTO_ANSI_CPRNG is not set
1526CONFIG_CRYPTO_HW=y 1685CONFIG_CRYPTO_HW=y
1527# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1686# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1528 1687
@@ -1530,7 +1689,6 @@ CONFIG_CRYPTO_HW=y
1530# Library routines 1689# Library routines
1531# 1690#
1532CONFIG_BITREVERSE=y 1691CONFIG_BITREVERSE=y
1533# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1534CONFIG_CRC_CCITT=m 1692CONFIG_CRC_CCITT=m
1535CONFIG_CRC16=m 1693CONFIG_CRC16=m
1536# CONFIG_CRC_T10DIF is not set 1694# CONFIG_CRC_T10DIF is not set
diff --git a/arch/sparc64/kernel/Makefile b/arch/sparc64/kernel/Makefile
index c0b8009ab196..b3e0b986bef8 100644
--- a/arch/sparc64/kernel/Makefile
+++ b/arch/sparc64/kernel/Makefile
@@ -5,6 +5,8 @@
5EXTRA_AFLAGS := -ansi 5EXTRA_AFLAGS := -ansi
6EXTRA_CFLAGS := -Werror 6EXTRA_CFLAGS := -Werror
7 7
8CFLAGS_REMOVE_ftrace.o = -pg
9
8extra-y := head.o init_task.o vmlinux.lds 10extra-y := head.o init_task.o vmlinux.lds
9 11
10obj-y := process.o setup.o cpu.o idprom.o reboot.o \ 12obj-y := process.o setup.o cpu.o idprom.o reboot.o \
diff --git a/arch/sparc64/kernel/ftrace.c b/arch/sparc64/kernel/ftrace.c
index 4298d0aee713..d0218e73f982 100644
--- a/arch/sparc64/kernel/ftrace.c
+++ b/arch/sparc64/kernel/ftrace.c
@@ -9,12 +9,12 @@
9 9
10static const u32 ftrace_nop = 0x01000000; 10static const u32 ftrace_nop = 0x01000000;
11 11
12notrace unsigned char *ftrace_nop_replace(void) 12unsigned char *ftrace_nop_replace(void)
13{ 13{
14 return (char *)&ftrace_nop; 14 return (char *)&ftrace_nop;
15} 15}
16 16
17notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr) 17unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
18{ 18{
19 static u32 call; 19 static u32 call;
20 s32 off; 20 s32 off;
@@ -25,7 +25,7 @@ notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
25 return (unsigned char *) &call; 25 return (unsigned char *) &call;
26} 26}
27 27
28notrace int 28int
29ftrace_modify_code(unsigned long ip, unsigned char *old_code, 29ftrace_modify_code(unsigned long ip, unsigned char *old_code,
30 unsigned char *new_code) 30 unsigned char *new_code)
31{ 31{
@@ -59,7 +59,7 @@ ftrace_modify_code(unsigned long ip, unsigned char *old_code,
59 return faulted; 59 return faulted;
60} 60}
61 61
62notrace int ftrace_update_ftrace_func(ftrace_func_t func) 62int ftrace_update_ftrace_func(ftrace_func_t func)
63{ 63{
64 unsigned long ip = (unsigned long)(&ftrace_call); 64 unsigned long ip = (unsigned long)(&ftrace_call);
65 unsigned char old[MCOUNT_INSN_SIZE], *new; 65 unsigned char old[MCOUNT_INSN_SIZE], *new;
@@ -69,24 +69,6 @@ notrace int ftrace_update_ftrace_func(ftrace_func_t func)
69 return ftrace_modify_code(ip, old, new); 69 return ftrace_modify_code(ip, old, new);
70} 70}
71 71
72notrace int ftrace_mcount_set(unsigned long *data)
73{
74 unsigned long ip = (long)(&mcount_call);
75 unsigned long *addr = data;
76 unsigned char old[MCOUNT_INSN_SIZE], *new;
77
78 /*
79 * Replace the mcount stub with a pointer to the
80 * ip recorder function.
81 */
82 memcpy(old, &mcount_call, MCOUNT_INSN_SIZE);
83 new = ftrace_call_replace(ip, *addr);
84 *addr = ftrace_modify_code(ip, old, new);
85
86 return 0;
87}
88
89
90int __init ftrace_dyn_arch_init(void *data) 72int __init ftrace_dyn_arch_init(void *data)
91{ 73{
92 ftrace_mcount_set(data); 74 ftrace_mcount_set(data);
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index 242ac1ccae7d..bdb7c0a6d83d 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -889,6 +889,7 @@ static int __pci_mmap_make_offset(struct pci_dev *pdev,
889 889
890 for (i = 0; i <= PCI_ROM_RESOURCE; i++) { 890 for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
891 struct resource *rp = &pdev->resource[i]; 891 struct resource *rp = &pdev->resource[i];
892 resource_size_t aligned_end;
892 893
893 /* Active? */ 894 /* Active? */
894 if (!rp->flags) 895 if (!rp->flags)
@@ -906,8 +907,15 @@ static int __pci_mmap_make_offset(struct pci_dev *pdev,
906 continue; 907 continue;
907 } 908 }
908 909
910 /* Align the resource end to the next page address.
911 * PAGE_SIZE intentionally added instead of (PAGE_SIZE - 1),
912 * because actually we need the address of the next byte
913 * after rp->end.
914 */
915 aligned_end = (rp->end + PAGE_SIZE) & PAGE_MASK;
916
909 if ((rp->start <= user_paddr) && 917 if ((rp->start <= user_paddr) &&
910 (user_paddr + user_size) <= (rp->end + 1UL)) 918 (user_paddr + user_size) <= aligned_end)
911 break; 919 break;
912 } 920 }
913 921
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
index 80d71a5ce1e3..141da3759091 100644
--- a/arch/sparc64/kernel/time.c
+++ b/arch/sparc64/kernel/time.c
@@ -490,6 +490,7 @@ static struct of_device_id __initdata bq4802_match[] = {
490 .name = "rtc", 490 .name = "rtc",
491 .compatible = "bq4802", 491 .compatible = "bq4802",
492 }, 492 },
493 {},
493}; 494};
494 495
495static struct of_platform_driver bq4802_driver = { 496static struct of_platform_driver bq4802_driver = {
@@ -503,39 +504,16 @@ static struct of_platform_driver bq4802_driver = {
503static unsigned char mostek_read_byte(struct device *dev, u32 ofs) 504static unsigned char mostek_read_byte(struct device *dev, u32 ofs)
504{ 505{
505 struct platform_device *pdev = to_platform_device(dev); 506 struct platform_device *pdev = to_platform_device(dev);
506 struct m48t59_plat_data *pdata = pdev->dev.platform_data; 507 void __iomem *regs = (void __iomem *) pdev->resource[0].start;
507 void __iomem *regs; 508
508 unsigned char val; 509 return readb(regs + ofs);
509
510 regs = (void __iomem *) pdev->resource[0].start;
511 val = readb(regs + ofs);
512
513 /* the year 0 is 1968 */
514 if (ofs == pdata->offset + M48T59_YEAR) {
515 val += 0x68;
516 if ((val & 0xf) > 9)
517 val += 6;
518 }
519 return val;
520} 510}
521 511
522static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) 512static void mostek_write_byte(struct device *dev, u32 ofs, u8 val)
523{ 513{
524 struct platform_device *pdev = to_platform_device(dev); 514 struct platform_device *pdev = to_platform_device(dev);
525 struct m48t59_plat_data *pdata = pdev->dev.platform_data; 515 void __iomem *regs = (void __iomem *) pdev->resource[0].start;
526 void __iomem *regs; 516
527
528 regs = (void __iomem *) pdev->resource[0].start;
529 if (ofs == pdata->offset + M48T59_YEAR) {
530 if (val < 0x68)
531 val += 0x32;
532 else
533 val -= 0x68;
534 if ((val & 0xf) > 9)
535 val += 6;
536 if ((val & 0xf0) > 0x9A)
537 val += 0x60;
538 }
539 writeb(val, regs + ofs); 517 writeb(val, regs + ofs);
540} 518}
541 519
diff --git a/arch/sparc64/lib/PeeCeeI.c b/arch/sparc64/lib/PeeCeeI.c
index 8b313f11bc8d..46053e6ddd7b 100644
--- a/arch/sparc64/lib/PeeCeeI.c
+++ b/arch/sparc64/lib/PeeCeeI.c
@@ -20,107 +20,62 @@ void outsw(unsigned long __addr, const void *src, unsigned long count)
20{ 20{
21 void __iomem *addr = (void __iomem *) __addr; 21 void __iomem *addr = (void __iomem *) __addr;
22 22
23 if (count) { 23 while (count--) {
24 u16 *ps = (u16 *)src; 24 __raw_writew(*(u16 *)src, addr);
25 u32 *pi; 25 src += sizeof(u16);
26
27 if (((u64)src) & 0x2) {
28 u16 val = le16_to_cpup(ps);
29 outw(val, addr);
30 ps++;
31 count--;
32 }
33 pi = (u32 *)ps;
34 while (count >= 2) {
35 u32 w = le32_to_cpup(pi);
36
37 pi++;
38 outw(w >> 0, addr);
39 outw(w >> 16, addr);
40 count -= 2;
41 }
42 ps = (u16 *)pi;
43 if (count) {
44 u16 val = le16_to_cpup(ps);
45 outw(val, addr);
46 }
47 } 26 }
48} 27}
49 28
50void outsl(unsigned long __addr, const void *src, unsigned long count) 29void outsl(unsigned long __addr, const void *src, unsigned long count)
51{ 30{
52 void __iomem *addr = (void __iomem *) __addr; 31 void __iomem *addr = (void __iomem *) __addr;
32 u32 l, l2;
53 33
54 if (count) { 34 if (!count)
55 if ((((u64)src) & 0x3) == 0) { 35 return;
56 u32 *p = (u32 *)src;
57 while (count--) {
58 u32 val = cpu_to_le32p(p);
59 outl(val, addr);
60 p++;
61 }
62 } else {
63 u8 *pb;
64 u16 *ps = (u16 *)src;
65 u32 l = 0, l2;
66 u32 *pi;
67
68 switch (((u64)src) & 0x3) {
69 case 0x2:
70 count -= 1;
71 l = cpu_to_le16p(ps) << 16;
72 ps++;
73 pi = (u32 *)ps;
74 while (count--) {
75 l2 = cpu_to_le32p(pi);
76 pi++;
77 outl(((l >> 16) | (l2 << 16)), addr);
78 l = l2;
79 }
80 ps = (u16 *)pi;
81 l2 = cpu_to_le16p(ps);
82 outl(((l >> 16) | (l2 << 16)), addr);
83 break;
84
85 case 0x1:
86 count -= 1;
87 pb = (u8 *)src;
88 l = (*pb++ << 8);
89 ps = (u16 *)pb;
90 l2 = cpu_to_le16p(ps);
91 ps++;
92 l |= (l2 << 16);
93 pi = (u32 *)ps;
94 while (count--) {
95 l2 = cpu_to_le32p(pi);
96 pi++;
97 outl(((l >> 8) | (l2 << 24)), addr);
98 l = l2;
99 }
100 pb = (u8 *)pi;
101 outl(((l >> 8) | (*pb << 24)), addr);
102 break;
103 36
104 case 0x3: 37 switch (((unsigned long)src) & 0x3) {
105 count -= 1; 38 case 0x0:
106 pb = (u8 *)src; 39 /* src is naturally aligned */
107 l = (*pb++ << 24); 40 while (count--) {
108 pi = (u32 *)pb; 41 __raw_writel(*(u32 *)src, addr);
109 while (count--) { 42 src += sizeof(u32);
110 l2 = cpu_to_le32p(pi); 43 }
111 pi++; 44 break;
112 outl(((l >> 24) | (l2 << 8)), addr); 45 case 0x2:
113 l = l2; 46 /* 2-byte alignment */
114 } 47 while (count--) {
115 ps = (u16 *)pi; 48 l = (*(u16 *)src) << 16;
116 l2 = cpu_to_le16p(ps); 49 l |= *(u16 *)(src + sizeof(u16));
117 ps++; 50 __raw_writel(l, addr);
118 pb = (u8 *)ps; 51 src += sizeof(u32);
119 l2 |= (*pb << 16); 52 }
120 outl(((l >> 24) | (l2 << 8)), addr); 53 break;
121 break; 54 case 0x1:
122 } 55 /* Hold three bytes in l each time, grab a byte from l2 */
56 l = (*(u8 *)src) << 24;
57 l |= (*(u16 *)(src + sizeof(u8))) << 8;
58 src += sizeof(u8) + sizeof(u16);
59 while (count--) {
60 l2 = *(u32 *)src;
61 l |= (l2 >> 24);
62 __raw_writel(l, addr);
63 l = l2 << 8;
64 src += sizeof(u32);
65 }
66 break;
67 case 0x3:
68 /* Hold a byte in l each time, grab 3 bytes from l2 */
69 l = (*(u8 *)src) << 24;
70 src += sizeof(u8);
71 while (count--) {
72 l2 = *(u32 *)src;
73 l |= (l2 >> 8);
74 __raw_writel(l, addr);
75 l = l2 << 24;
76 src += sizeof(u32);
123 } 77 }
78 break;
124 } 79 }
125} 80}
126 81
diff --git a/arch/sparc64/lib/mcount.S b/arch/sparc64/lib/mcount.S
index fad90ddb3a28..7ce9c65f3592 100644
--- a/arch/sparc64/lib/mcount.S
+++ b/arch/sparc64/lib/mcount.S
@@ -93,7 +93,7 @@ mcount:
93 nop 93 nop
941: 941:
95#endif 95#endif
96#ifdef CONFIG_FTRACE 96#ifdef CONFIG_FUNCTION_TRACER
97#ifdef CONFIG_DYNAMIC_FTRACE 97#ifdef CONFIG_DYNAMIC_FTRACE
98 mov %o7, %o0 98 mov %o7, %o0
99 .globl mcount_call 99 .globl mcount_call
@@ -119,7 +119,7 @@ mcount_call:
119 .size _mcount,.-_mcount 119 .size _mcount,.-_mcount
120 .size mcount,.-mcount 120 .size mcount,.-mcount
121 121
122#ifdef CONFIG_FTRACE 122#ifdef CONFIG_FUNCTION_TRACER
123 .globl ftrace_stub 123 .globl ftrace_stub
124 .type ftrace_stub,#function 124 .type ftrace_stub,#function
125ftrace_stub: 125ftrace_stub:
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 350bee1d54dc..93224b569187 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -28,7 +28,7 @@ config X86
28 select HAVE_KRETPROBES 28 select HAVE_KRETPROBES
29 select HAVE_FTRACE_MCOUNT_RECORD 29 select HAVE_FTRACE_MCOUNT_RECORD
30 select HAVE_DYNAMIC_FTRACE 30 select HAVE_DYNAMIC_FTRACE
31 select HAVE_FTRACE 31 select HAVE_FUNCTION_TRACER
32 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 32 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
33 select HAVE_ARCH_KGDB if !X86_VOYAGER 33 select HAVE_ARCH_KGDB if !X86_VOYAGER
34 select HAVE_ARCH_TRACEHOOK 34 select HAVE_ARCH_TRACEHOOK
@@ -231,6 +231,10 @@ config SMP
231 231
232 If you don't know what to do here, say N. 232 If you don't know what to do here, say N.
233 233
234config X86_HAS_BOOT_CPU_ID
235 def_bool y
236 depends on X86_VOYAGER
237
234config X86_FIND_SMP_CONFIG 238config X86_FIND_SMP_CONFIG
235 def_bool y 239 def_bool y
236 depends on X86_MPPARSE || X86_VOYAGER 240 depends on X86_MPPARSE || X86_VOYAGER
@@ -953,7 +957,7 @@ config ARCH_PHYS_ADDR_T_64BIT
953config NUMA 957config NUMA
954 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 958 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
955 depends on SMP 959 depends on SMP
956 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) 960 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && BROKEN)
957 default n if X86_PC 961 default n if X86_PC
958 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) 962 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
959 help 963 help
@@ -1490,7 +1494,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
1490 def_bool X86_64 1494 def_bool X86_64
1491 depends on NUMA 1495 depends on NUMA
1492 1496
1493menu "Power management options" 1497menu "Power management and ACPI options"
1494 depends on !X86_VOYAGER 1498 depends on !X86_VOYAGER
1495 1499
1496config ARCH_HIBERNATION_HEADER 1500config ARCH_HIBERNATION_HEADER
@@ -1890,6 +1894,10 @@ config SYSVIPC_COMPAT
1890endmenu 1894endmenu
1891 1895
1892 1896
1897config HAVE_ATOMIC_IOMAP
1898 def_bool y
1899 depends on X86_32
1900
1893source "net/Kconfig" 1901source "net/Kconfig"
1894 1902
1895source "drivers/Kconfig" 1903source "drivers/Kconfig"
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index 0b7c4a3f0651..b815664fe370 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -513,19 +513,19 @@ config CPU_SUP_UMC_32
513 If unsure, say N. 513 If unsure, say N.
514 514
515config X86_DS 515config X86_DS
516 bool "Debug Store support" 516 def_bool X86_PTRACE_BTS
517 default y 517 depends on X86_DEBUGCTLMSR
518 help
519 Add support for Debug Store.
520 This allows the kernel to provide a memory buffer to the hardware
521 to store various profiling and tracing events.
522 518
523config X86_PTRACE_BTS 519config X86_PTRACE_BTS
524 bool "ptrace interface to Branch Trace Store" 520 bool "Branch Trace Store"
525 default y 521 default y
526 depends on (X86_DS && X86_DEBUGCTLMSR) 522 depends on X86_DEBUGCTLMSR
527 help 523 help
528 Add a ptrace interface to allow collecting an execution trace 524 This adds a ptrace interface to the hardware's branch trace store.
529 of the traced task. 525
530 This collects control flow changes in a (cyclic) buffer and allows 526 Debuggers may use it to collect an execution trace of the debugged
531 debuggers to fill in the gaps and show an execution trace of the debuggee. 527 application in order to answer the question 'how did I get here?'.
528 Debuggers may trace user mode as well as kernel mode.
529
530 Say Y unless there is no application development on this machine
531 and you want to save a small amount of code size.
diff --git a/arch/x86/boot/compressed/.gitignore b/arch/x86/boot/compressed/.gitignore
index be0ed065249b..63eff3b04d01 100644
--- a/arch/x86/boot/compressed/.gitignore
+++ b/arch/x86/boot/compressed/.gitignore
@@ -1 +1,3 @@
1relocs 1relocs
2vmlinux.bin.all
3vmlinux.relocs
diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
index f73e95d75b45..cfdf8c2c5c31 100644
--- a/arch/x86/include/asm/cpufeature.h
+++ b/arch/x86/include/asm/cpufeature.h
@@ -91,7 +91,7 @@
91#define X86_FEATURE_11AP (3*32+19) /* "" Bad local APIC aka 11AP */ 91#define X86_FEATURE_11AP (3*32+19) /* "" Bad local APIC aka 11AP */
92#define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */ 92#define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */
93#define X86_FEATURE_AMDC1E (3*32+21) /* AMD C1E detected */ 93#define X86_FEATURE_AMDC1E (3*32+21) /* AMD C1E detected */
94#define X86_FEATURE_XTOPOLOGY (3*32+21) /* cpu topology enum extensions */ 94#define X86_FEATURE_XTOPOLOGY (3*32+22) /* cpu topology enum extensions */
95 95
96/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ 96/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */
97#define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */ 97#define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */
diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
index 4a5397bfce27..7f225a4b2a26 100644
--- a/arch/x86/include/asm/dma-mapping.h
+++ b/arch/x86/include/asm/dma-mapping.h
@@ -255,9 +255,11 @@ static inline unsigned long dma_alloc_coherent_mask(struct device *dev,
255 255
256static inline gfp_t dma_alloc_coherent_gfp_flags(struct device *dev, gfp_t gfp) 256static inline gfp_t dma_alloc_coherent_gfp_flags(struct device *dev, gfp_t gfp)
257{ 257{
258#ifdef CONFIG_X86_64
259 unsigned long dma_mask = dma_alloc_coherent_mask(dev, gfp); 258 unsigned long dma_mask = dma_alloc_coherent_mask(dev, gfp);
260 259
260 if (dma_mask <= DMA_24BIT_MASK)
261 gfp |= GFP_DMA;
262#ifdef CONFIG_X86_64
261 if (dma_mask <= DMA_32BIT_MASK && !(gfp & GFP_DMA)) 263 if (dma_mask <= DMA_32BIT_MASK && !(gfp & GFP_DMA))
262 gfp |= GFP_DMA32; 264 gfp |= GFP_DMA32;
263#endif 265#endif
diff --git a/arch/x86/include/asm/es7000/wakecpu.h b/arch/x86/include/asm/es7000/wakecpu.h
index 3ffc5a7bf667..398493461913 100644
--- a/arch/x86/include/asm/es7000/wakecpu.h
+++ b/arch/x86/include/asm/es7000/wakecpu.h
@@ -50,10 +50,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
50{ 50{
51} 51}
52 52
53#if APIC_DEBUG 53#define inquire_remote_apic(apicid) do { \
54 #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) 54 if (apic_verbosity >= APIC_DEBUG) \
55#else 55 __inquire_remote_apic(apicid); \
56 #define inquire_remote_apic(apicid) {} 56 } while (0)
57#endif
58 57
59#endif /* __ASM_MACH_WAKECPU_H */ 58#endif /* __ASM_MACH_WAKECPU_H */
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h
index 8668a94f850e..23696d44a0af 100644
--- a/arch/x86/include/asm/fixmap.h
+++ b/arch/x86/include/asm/fixmap.h
@@ -9,6 +9,10 @@
9 9
10extern int fixmaps_set; 10extern int fixmaps_set;
11 11
12extern pte_t *kmap_pte;
13extern pgprot_t kmap_prot;
14extern pte_t *pkmap_page_table;
15
12void __native_set_fixmap(enum fixed_addresses idx, pte_t pte); 16void __native_set_fixmap(enum fixed_addresses idx, pte_t pte);
13void native_set_fixmap(enum fixed_addresses idx, 17void native_set_fixmap(enum fixed_addresses idx,
14 unsigned long phys, pgprot_t flags); 18 unsigned long phys, pgprot_t flags);
diff --git a/arch/x86/include/asm/fixmap_32.h b/arch/x86/include/asm/fixmap_32.h
index 09f29ab5c139..c7115c1d7217 100644
--- a/arch/x86/include/asm/fixmap_32.h
+++ b/arch/x86/include/asm/fixmap_32.h
@@ -28,10 +28,8 @@ extern unsigned long __FIXADDR_TOP;
28#include <asm/acpi.h> 28#include <asm/acpi.h>
29#include <asm/apicdef.h> 29#include <asm/apicdef.h>
30#include <asm/page.h> 30#include <asm/page.h>
31#ifdef CONFIG_HIGHMEM
32#include <linux/threads.h> 31#include <linux/threads.h>
33#include <asm/kmap_types.h> 32#include <asm/kmap_types.h>
34#endif
35 33
36/* 34/*
37 * Here we define all the compile-time 'special' virtual 35 * Here we define all the compile-time 'special' virtual
@@ -75,10 +73,8 @@ enum fixed_addresses {
75#ifdef CONFIG_X86_CYCLONE_TIMER 73#ifdef CONFIG_X86_CYCLONE_TIMER
76 FIX_CYCLONE_TIMER, /*cyclone timer register*/ 74 FIX_CYCLONE_TIMER, /*cyclone timer register*/
77#endif 75#endif
78#ifdef CONFIG_HIGHMEM
79 FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ 76 FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */
80 FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, 77 FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1,
81#endif
82#ifdef CONFIG_PCI_MMCONFIG 78#ifdef CONFIG_PCI_MMCONFIG
83 FIX_PCIE_MCFG, 79 FIX_PCIE_MCFG,
84#endif 80#endif
diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
index 47f7e65e6c1d..9e8bc29b8b17 100644
--- a/arch/x86/include/asm/ftrace.h
+++ b/arch/x86/include/asm/ftrace.h
@@ -1,7 +1,7 @@
1#ifndef _ASM_X86_FTRACE_H 1#ifndef _ASM_X86_FTRACE_H
2#define _ASM_X86_FTRACE_H 2#define _ASM_X86_FTRACE_H
3 3
4#ifdef CONFIG_FTRACE 4#ifdef CONFIG_FUNCTION_TRACER
5#define MCOUNT_ADDR ((long)(mcount)) 5#define MCOUNT_ADDR ((long)(mcount))
6#define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */ 6#define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */
7 7
@@ -19,6 +19,6 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
19} 19}
20#endif 20#endif
21 21
22#endif /* CONFIG_FTRACE */ 22#endif /* CONFIG_FUNCTION_TRACER */
23 23
24#endif /* _ASM_X86_FTRACE_H */ 24#endif /* _ASM_X86_FTRACE_H */
diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h
index a3b3b7c3027b..bf9276bea660 100644
--- a/arch/x86/include/asm/highmem.h
+++ b/arch/x86/include/asm/highmem.h
@@ -25,14 +25,11 @@
25#include <asm/kmap_types.h> 25#include <asm/kmap_types.h>
26#include <asm/tlbflush.h> 26#include <asm/tlbflush.h>
27#include <asm/paravirt.h> 27#include <asm/paravirt.h>
28#include <asm/fixmap.h>
28 29
29/* declarations for highmem.c */ 30/* declarations for highmem.c */
30extern unsigned long highstart_pfn, highend_pfn; 31extern unsigned long highstart_pfn, highend_pfn;
31 32
32extern pte_t *kmap_pte;
33extern pgprot_t kmap_prot;
34extern pte_t *pkmap_page_table;
35
36/* 33/*
37 * Right now we initialize only a single pte table. It can be extended 34 * Right now we initialize only a single pte table. It can be extended
38 * easily, subsequent pte tables have to be allocated in one physical 35 * easily, subsequent pte tables have to be allocated in one physical
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 5618a103f395..ac2abc88cd95 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -82,9 +82,9 @@ extern void __iomem *ioremap_wc(unsigned long offset, unsigned long size);
82extern void early_ioremap_init(void); 82extern void early_ioremap_init(void);
83extern void early_ioremap_clear(void); 83extern void early_ioremap_clear(void);
84extern void early_ioremap_reset(void); 84extern void early_ioremap_reset(void);
85extern void *early_ioremap(unsigned long offset, unsigned long size); 85extern void __iomem *early_ioremap(unsigned long offset, unsigned long size);
86extern void *early_memremap(unsigned long offset, unsigned long size); 86extern void __iomem *early_memremap(unsigned long offset, unsigned long size);
87extern void early_iounmap(void *addr, unsigned long size); 87extern void early_iounmap(void __iomem *addr, unsigned long size);
88extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys); 88extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
89 89
90 90
diff --git a/arch/x86/include/asm/iommu.h b/arch/x86/include/asm/iommu.h
index 98e28ea8cd16..e4a552d44465 100644
--- a/arch/x86/include/asm/iommu.h
+++ b/arch/x86/include/asm/iommu.h
@@ -7,7 +7,6 @@ extern struct dma_mapping_ops nommu_dma_ops;
7extern int force_iommu, no_iommu; 7extern int force_iommu, no_iommu;
8extern int iommu_detected; 8extern int iommu_detected;
9extern int dmar_disabled; 9extern int dmar_disabled;
10extern int forbid_dac;
11 10
12extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len); 11extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len);
13 12
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h
index d843ed0e9b2e..0005adb0f941 100644
--- a/arch/x86/include/asm/irq_vectors.h
+++ b/arch/x86/include/asm/irq_vectors.h
@@ -101,30 +101,22 @@
101#define LAST_VM86_IRQ 15 101#define LAST_VM86_IRQ 15
102#define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15) 102#define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15)
103 103
104#ifdef CONFIG_X86_64 104#if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER)
105# if NR_CPUS < MAX_IO_APICS 105# if NR_CPUS < MAX_IO_APICS
106# define NR_IRQS (NR_VECTORS + (32 * NR_CPUS)) 106# define NR_IRQS (NR_VECTORS + (32 * NR_CPUS))
107# else 107# else
108# define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS)) 108# define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS))
109# endif 109# endif
110 110
111#elif !defined(CONFIG_X86_VOYAGER) 111#elif defined(CONFIG_X86_VOYAGER)
112 112
113# if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS) 113# define NR_IRQS 224
114
115# define NR_IRQS 224
116
117# else /* IO_APIC || PARAVIRT */
118
119# define NR_IRQS 16
120
121# endif
122 114
123#else /* !VISWS && !VOYAGER */ 115#else /* IO_APIC || VOYAGER */
124 116
125# define NR_IRQS 224 117# define NR_IRQS 16
126 118
127#endif /* VISWS */ 119#endif
128 120
129/* Voyager specific defines */ 121/* Voyager specific defines */
130/* These define the CPIs we use in linux */ 122/* These define the CPIs we use in linux */
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 65679d006337..8346be87cfa1 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -364,6 +364,9 @@ struct kvm_arch{
364 364
365 struct page *ept_identity_pagetable; 365 struct page *ept_identity_pagetable;
366 bool ept_identity_pagetable_done; 366 bool ept_identity_pagetable_done;
367
368 unsigned long irq_sources_bitmap;
369 unsigned long irq_states[KVM_IOAPIC_NUM_PINS];
367}; 370};
368 371
369struct kvm_vm_stat { 372struct kvm_vm_stat {
diff --git a/arch/x86/include/asm/mach-default/mach_wakecpu.h b/arch/x86/include/asm/mach-default/mach_wakecpu.h
index d5c0b826a4ff..9d80db91e992 100644
--- a/arch/x86/include/asm/mach-default/mach_wakecpu.h
+++ b/arch/x86/include/asm/mach-default/mach_wakecpu.h
@@ -33,10 +33,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
33{ 33{
34} 34}
35 35
36#if APIC_DEBUG 36#define inquire_remote_apic(apicid) do { \
37 #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) 37 if (apic_verbosity >= APIC_DEBUG) \
38#else 38 __inquire_remote_apic(apicid); \
39 #define inquire_remote_apic(apicid) {} 39 } while (0)
40#endif
41 40
42#endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */ 41#endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index 46be2fa7ac26..c2a812ebde89 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -108,9 +108,7 @@ static __always_inline unsigned long long __native_read_tsc(void)
108{ 108{
109 DECLARE_ARGS(val, low, high); 109 DECLARE_ARGS(val, low, high);
110 110
111 rdtsc_barrier();
112 asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); 111 asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
113 rdtsc_barrier();
114 112
115 return EAX_EDX_VAL(val, low, high); 113 return EAX_EDX_VAL(val, low, high);
116} 114}
diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h
index fb16cec702e4..52597aeadfff 100644
--- a/arch/x86/include/asm/pgtable-3level.h
+++ b/arch/x86/include/asm/pgtable-3level.h
@@ -120,13 +120,13 @@ static inline void pud_clear(pud_t *pudp)
120 write_cr3(pgd); 120 write_cr3(pgd);
121} 121}
122 122
123#define pud_page(pud) ((struct page *) __va(pud_val(pud) & PTE_PFN_MASK)) 123#define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT)
124 124
125#define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK)) 125#define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK))
126 126
127 127
128/* Find an entry in the second-level page table.. */ 128/* Find an entry in the second-level page table.. */
129#define pmd_offset(pud, address) ((pmd_t *)pud_page(*(pud)) + \ 129#define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \
130 pmd_index(address)) 130 pmd_index(address))
131 131
132#ifdef CONFIG_SMP 132#ifdef CONFIG_SMP
diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h
index 2766021aef80..d12811ce51d9 100644
--- a/arch/x86/include/asm/smp.h
+++ b/arch/x86/include/asm/smp.h
@@ -225,5 +225,11 @@ static inline int hard_smp_processor_id(void)
225 225
226#endif /* CONFIG_X86_LOCAL_APIC */ 226#endif /* CONFIG_X86_LOCAL_APIC */
227 227
228#ifdef CONFIG_X86_HAS_BOOT_CPU_ID
229extern unsigned char boot_cpu_id;
230#else
231#define boot_cpu_id 0
232#endif
233
228#endif /* __ASSEMBLY__ */ 234#endif /* __ASSEMBLY__ */
229#endif /* _ASM_X86_SMP_H */ 235#endif /* _ASM_X86_SMP_H */
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index 90ac7718469a..4850e4b02b61 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -154,7 +154,7 @@ extern unsigned long node_remap_size[];
154 154
155#endif 155#endif
156 156
157/* sched_domains SD_NODE_INIT for NUMAQ machines */ 157/* sched_domains SD_NODE_INIT for NUMA machines */
158#define SD_NODE_INIT (struct sched_domain) { \ 158#define SD_NODE_INIT (struct sched_domain) { \
159 .min_interval = 8, \ 159 .min_interval = 8, \
160 .max_interval = 32, \ 160 .max_interval = 32, \
@@ -169,8 +169,9 @@ extern unsigned long node_remap_size[];
169 .flags = SD_LOAD_BALANCE \ 169 .flags = SD_LOAD_BALANCE \
170 | SD_BALANCE_EXEC \ 170 | SD_BALANCE_EXEC \
171 | SD_BALANCE_FORK \ 171 | SD_BALANCE_FORK \
172 | SD_SERIALIZE \ 172 | SD_WAKE_AFFINE \
173 | SD_WAKE_BALANCE, \ 173 | SD_WAKE_BALANCE \
174 | SD_SERIALIZE, \
174 .last_balance = jiffies, \ 175 .last_balance = jiffies, \
175 .balance_interval = 1, \ 176 .balance_interval = 1, \
176} 177}
diff --git a/arch/x86/include/asm/tsc.h b/arch/x86/include/asm/tsc.h
index 38ae163cc91b..9cd83a8e40d5 100644
--- a/arch/x86/include/asm/tsc.h
+++ b/arch/x86/include/asm/tsc.h
@@ -34,6 +34,8 @@ static inline cycles_t get_cycles(void)
34 34
35static __always_inline cycles_t vget_cycles(void) 35static __always_inline cycles_t vget_cycles(void)
36{ 36{
37 cycles_t cycles;
38
37 /* 39 /*
38 * We only do VDSOs on TSC capable CPUs, so this shouldnt 40 * We only do VDSOs on TSC capable CPUs, so this shouldnt
39 * access boot_cpu_data (which is not VDSO-safe): 41 * access boot_cpu_data (which is not VDSO-safe):
@@ -42,7 +44,11 @@ static __always_inline cycles_t vget_cycles(void)
42 if (!cpu_has_tsc) 44 if (!cpu_has_tsc)
43 return 0; 45 return 0;
44#endif 46#endif
45 return (cycles_t)__native_read_tsc(); 47 rdtsc_barrier();
48 cycles = (cycles_t)__native_read_tsc();
49 rdtsc_barrier();
50
51 return cycles;
46} 52}
47 53
48extern void tsc_init(void); 54extern void tsc_init(void);
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h
index c6ad93e315c8..7a5782610b2b 100644
--- a/arch/x86/include/asm/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -13,6 +13,7 @@
13 13
14#include <linux/numa.h> 14#include <linux/numa.h>
15#include <linux/percpu.h> 15#include <linux/percpu.h>
16#include <linux/timer.h>
16#include <asm/types.h> 17#include <asm/types.h>
17#include <asm/percpu.h> 18#include <asm/percpu.h>
18 19
diff --git a/arch/x86/include/asm/voyager.h b/arch/x86/include/asm/voyager.h
index 9c811d2e6f91..b3e647307625 100644
--- a/arch/x86/include/asm/voyager.h
+++ b/arch/x86/include/asm/voyager.h
@@ -520,6 +520,7 @@ extern void voyager_restart(void);
520extern void voyager_cat_power_off(void); 520extern void voyager_cat_power_off(void);
521extern void voyager_cat_do_common_interrupt(void); 521extern void voyager_cat_do_common_interrupt(void);
522extern void voyager_handle_nmi(void); 522extern void voyager_handle_nmi(void);
523extern void voyager_smp_intr_init(void);
523/* Commands for the following are */ 524/* Commands for the following are */
524#define VOYAGER_PSI_READ 0 525#define VOYAGER_PSI_READ 0
525#define VOYAGER_PSI_WRITE 1 526#define VOYAGER_PSI_WRITE 1
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index d7e5a58ee22f..e489ff9cb3e2 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -6,11 +6,12 @@ extra-y := head_$(BITS).o head$(BITS).o head.o init_task.o vmlinu
6 6
7CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE) 7CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE)
8 8
9ifdef CONFIG_FTRACE 9ifdef CONFIG_FUNCTION_TRACER
10# Do not profile debug and lowlevel utilities 10# Do not profile debug and lowlevel utilities
11CFLAGS_REMOVE_tsc.o = -pg 11CFLAGS_REMOVE_tsc.o = -pg
12CFLAGS_REMOVE_rtc.o = -pg 12CFLAGS_REMOVE_rtc.o = -pg
13CFLAGS_REMOVE_paravirt-spinlocks.o = -pg 13CFLAGS_REMOVE_paravirt-spinlocks.o = -pg
14CFLAGS_REMOVE_ftrace.o = -pg
14endif 15endif
15 16
16# 17#
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index a8fd9ebdc8e2..331b318304eb 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -50,7 +50,7 @@ static int dma_ops_unity_map(struct dma_ops_domain *dma_dom,
50/* returns !0 if the IOMMU is caching non-present entries in its TLB */ 50/* returns !0 if the IOMMU is caching non-present entries in its TLB */
51static int iommu_has_npcache(struct amd_iommu *iommu) 51static int iommu_has_npcache(struct amd_iommu *iommu)
52{ 52{
53 return iommu->cap & IOMMU_CAP_NPCACHE; 53 return iommu->cap & (1UL << IOMMU_CAP_NPCACHE);
54} 54}
55 55
56/**************************************************************************** 56/****************************************************************************
@@ -536,6 +536,9 @@ static void dma_ops_free_addresses(struct dma_ops_domain *dom,
536{ 536{
537 address >>= PAGE_SHIFT; 537 address >>= PAGE_SHIFT;
538 iommu_area_free(dom->bitmap, address, pages); 538 iommu_area_free(dom->bitmap, address, pages);
539
540 if (address + pages >= dom->next_bit)
541 dom->need_flush = true;
539} 542}
540 543
541/**************************************************************************** 544/****************************************************************************
@@ -992,8 +995,10 @@ static void __unmap_single(struct amd_iommu *iommu,
992 995
993 dma_ops_free_addresses(dma_dom, dma_addr, pages); 996 dma_ops_free_addresses(dma_dom, dma_addr, pages);
994 997
995 if (amd_iommu_unmap_flush) 998 if (amd_iommu_unmap_flush || dma_dom->need_flush) {
996 iommu_flush_pages(iommu, dma_dom->domain.id, dma_addr, size); 999 iommu_flush_pages(iommu, dma_dom->domain.id, dma_addr, size);
1000 dma_dom->need_flush = false;
1001 }
997} 1002}
998 1003
999/* 1004/*
diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c b/arch/x86/kernel/cpu/addon_cpuid_features.c
index 0d9c993aa93e..ef8f831af823 100644
--- a/arch/x86/kernel/cpu/addon_cpuid_features.c
+++ b/arch/x86/kernel/cpu/addon_cpuid_features.c
@@ -69,7 +69,7 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
69 */ 69 */
70void __cpuinit detect_extended_topology(struct cpuinfo_x86 *c) 70void __cpuinit detect_extended_topology(struct cpuinfo_x86 *c)
71{ 71{
72#ifdef CONFIG_SMP 72#ifdef CONFIG_X86_SMP
73 unsigned int eax, ebx, ecx, edx, sub_index; 73 unsigned int eax, ebx, ecx, edx, sub_index;
74 unsigned int ht_mask_width, core_plus_mask_width; 74 unsigned int ht_mask_width, core_plus_mask_width;
75 unsigned int core_select_mask, core_level_siblings; 75 unsigned int core_select_mask, core_level_siblings;
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 25581dcb280e..b9c9ea0217a9 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -20,6 +20,7 @@
20#include <asm/pat.h> 20#include <asm/pat.h>
21#include <asm/asm.h> 21#include <asm/asm.h>
22#include <asm/numa.h> 22#include <asm/numa.h>
23#include <asm/smp.h>
23#ifdef CONFIG_X86_LOCAL_APIC 24#ifdef CONFIG_X86_LOCAL_APIC
24#include <asm/mpspec.h> 25#include <asm/mpspec.h>
25#include <asm/apic.h> 26#include <asm/apic.h>
@@ -549,6 +550,10 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
549 this_cpu->c_early_init(c); 550 this_cpu->c_early_init(c);
550 551
551 validate_pat_support(c); 552 validate_pat_support(c);
553
554#ifdef CONFIG_SMP
555 c->cpu_index = boot_cpu_id;
556#endif
552} 557}
553 558
554void __init early_cpu_init(void) 559void __init early_cpu_init(void)
@@ -1134,7 +1139,7 @@ void __cpuinit cpu_init(void)
1134 /* 1139 /*
1135 * Boot processor to setup the FP and extended state context info. 1140 * Boot processor to setup the FP and extended state context info.
1136 */ 1141 */
1137 if (!smp_processor_id()) 1142 if (smp_processor_id() == boot_cpu_id)
1138 init_thread_xstate(); 1143 init_thread_xstate();
1139 1144
1140 xsave_init(); 1145 xsave_init();
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index ce97bf3bed12..7aafeb5263ef 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -1290,15 +1290,17 @@ void __init e820_reserve_resources(void)
1290 res->start = e820.map[i].addr; 1290 res->start = e820.map[i].addr;
1291 res->end = end; 1291 res->end = end;
1292 1292
1293 res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; 1293 res->flags = IORESOURCE_MEM;
1294 1294
1295 /* 1295 /*
1296 * don't register the region that could be conflicted with 1296 * don't register the region that could be conflicted with
1297 * pci device BAR resource and insert them later in 1297 * pci device BAR resource and insert them later in
1298 * pcibios_resource_survey() 1298 * pcibios_resource_survey()
1299 */ 1299 */
1300 if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) 1300 if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) {
1301 res->flags |= IORESOURCE_BUSY;
1301 insert_resource(&iomem_resource, res); 1302 insert_resource(&iomem_resource, res);
1303 }
1302 res++; 1304 res++;
1303 } 1305 }
1304 1306
@@ -1318,7 +1320,7 @@ void __init e820_reserve_resources_late(void)
1318 res = e820_res; 1320 res = e820_res;
1319 for (i = 0; i < e820.nr_map; i++) { 1321 for (i = 0; i < e820.nr_map; i++) {
1320 if (!res->parent && res->end) 1322 if (!res->parent && res->end)
1321 reserve_region_with_split(&iomem_resource, res->start, res->end, res->name); 1323 insert_resource_expand_to_fit(&iomem_resource, res);
1322 res++; 1324 res++;
1323 } 1325 }
1324} 1326}
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index dd65143941a8..28b597ef9ca1 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -1149,7 +1149,7 @@ ENDPROC(xen_failsafe_callback)
1149 1149
1150#endif /* CONFIG_XEN */ 1150#endif /* CONFIG_XEN */
1151 1151
1152#ifdef CONFIG_FTRACE 1152#ifdef CONFIG_FUNCTION_TRACER
1153#ifdef CONFIG_DYNAMIC_FTRACE 1153#ifdef CONFIG_DYNAMIC_FTRACE
1154 1154
1155ENTRY(mcount) 1155ENTRY(mcount)
@@ -1204,7 +1204,7 @@ trace:
1204 jmp ftrace_stub 1204 jmp ftrace_stub
1205END(mcount) 1205END(mcount)
1206#endif /* CONFIG_DYNAMIC_FTRACE */ 1206#endif /* CONFIG_DYNAMIC_FTRACE */
1207#endif /* CONFIG_FTRACE */ 1207#endif /* CONFIG_FUNCTION_TRACER */
1208 1208
1209.section .rodata,"a" 1209.section .rodata,"a"
1210#include "syscall_table_32.S" 1210#include "syscall_table_32.S"
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 09e7145484c5..b86f332c96a6 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -61,7 +61,7 @@
61 61
62 .code64 62 .code64
63 63
64#ifdef CONFIG_FTRACE 64#ifdef CONFIG_FUNCTION_TRACER
65#ifdef CONFIG_DYNAMIC_FTRACE 65#ifdef CONFIG_DYNAMIC_FTRACE
66ENTRY(mcount) 66ENTRY(mcount)
67 retq 67 retq
@@ -138,7 +138,7 @@ trace:
138 jmp ftrace_stub 138 jmp ftrace_stub
139END(mcount) 139END(mcount)
140#endif /* CONFIG_DYNAMIC_FTRACE */ 140#endif /* CONFIG_DYNAMIC_FTRACE */
141#endif /* CONFIG_FTRACE */ 141#endif /* CONFIG_FUNCTION_TRACER */
142 142
143#ifndef CONFIG_PREEMPT 143#ifndef CONFIG_PREEMPT
144#define retint_kernel retint_restore_args 144#define retint_kernel retint_restore_args
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index d073d981a730..50ea0ac8c9bf 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -21,8 +21,7 @@
21#include <asm/nops.h> 21#include <asm/nops.h>
22 22
23 23
24/* Long is fine, even if it is only 4 bytes ;-) */ 24static unsigned char ftrace_nop[MCOUNT_INSN_SIZE];
25static unsigned long *ftrace_nop;
26 25
27union ftrace_code_union { 26union ftrace_code_union {
28 char code[MCOUNT_INSN_SIZE]; 27 char code[MCOUNT_INSN_SIZE];
@@ -33,17 +32,17 @@ union ftrace_code_union {
33}; 32};
34 33
35 34
36static int notrace ftrace_calc_offset(long ip, long addr) 35static int ftrace_calc_offset(long ip, long addr)
37{ 36{
38 return (int)(addr - ip); 37 return (int)(addr - ip);
39} 38}
40 39
41notrace unsigned char *ftrace_nop_replace(void) 40unsigned char *ftrace_nop_replace(void)
42{ 41{
43 return (char *)ftrace_nop; 42 return ftrace_nop;
44} 43}
45 44
46notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr) 45unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
47{ 46{
48 static union ftrace_code_union calc; 47 static union ftrace_code_union calc;
49 48
@@ -57,7 +56,7 @@ notrace unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr)
57 return calc.code; 56 return calc.code;
58} 57}
59 58
60notrace int 59int
61ftrace_modify_code(unsigned long ip, unsigned char *old_code, 60ftrace_modify_code(unsigned long ip, unsigned char *old_code,
62 unsigned char *new_code) 61 unsigned char *new_code)
63{ 62{
@@ -66,26 +65,31 @@ ftrace_modify_code(unsigned long ip, unsigned char *old_code,
66 /* 65 /*
67 * Note: Due to modules and __init, code can 66 * Note: Due to modules and __init, code can
68 * disappear and change, we need to protect against faulting 67 * disappear and change, we need to protect against faulting
69 * as well as code changing. 68 * as well as code changing. We do this by using the
69 * probe_kernel_* functions.
70 * 70 *
71 * No real locking needed, this code is run through 71 * No real locking needed, this code is run through
72 * kstop_machine, or before SMP starts. 72 * kstop_machine, or before SMP starts.
73 */ 73 */
74 if (__copy_from_user_inatomic(replaced, (char __user *)ip, MCOUNT_INSN_SIZE))
75 return 1;
76 74
75 /* read the text we want to modify */
76 if (probe_kernel_read(replaced, (void *)ip, MCOUNT_INSN_SIZE))
77 return -EFAULT;
78
79 /* Make sure it is what we expect it to be */
77 if (memcmp(replaced, old_code, MCOUNT_INSN_SIZE) != 0) 80 if (memcmp(replaced, old_code, MCOUNT_INSN_SIZE) != 0)
78 return 2; 81 return -EINVAL;
79 82
80 WARN_ON_ONCE(__copy_to_user_inatomic((char __user *)ip, new_code, 83 /* replace the text with the new text */
81 MCOUNT_INSN_SIZE)); 84 if (probe_kernel_write((void *)ip, new_code, MCOUNT_INSN_SIZE))
85 return -EPERM;
82 86
83 sync_core(); 87 sync_core();
84 88
85 return 0; 89 return 0;
86} 90}
87 91
88notrace int ftrace_update_ftrace_func(ftrace_func_t func) 92int ftrace_update_ftrace_func(ftrace_func_t func)
89{ 93{
90 unsigned long ip = (unsigned long)(&ftrace_call); 94 unsigned long ip = (unsigned long)(&ftrace_call);
91 unsigned char old[MCOUNT_INSN_SIZE], *new; 95 unsigned char old[MCOUNT_INSN_SIZE], *new;
@@ -98,13 +102,6 @@ notrace int ftrace_update_ftrace_func(ftrace_func_t func)
98 return ret; 102 return ret;
99} 103}
100 104
101notrace int ftrace_mcount_set(unsigned long *data)
102{
103 /* mcount is initialized as a nop */
104 *data = 0;
105 return 0;
106}
107
108int __init ftrace_dyn_arch_init(void *data) 105int __init ftrace_dyn_arch_init(void *data)
109{ 106{
110 extern const unsigned char ftrace_test_p6nop[]; 107 extern const unsigned char ftrace_test_p6nop[];
@@ -127,9 +124,6 @@ int __init ftrace_dyn_arch_init(void *data)
127 * TODO: check the cpuid to determine the best nop. 124 * TODO: check the cpuid to determine the best nop.
128 */ 125 */
129 asm volatile ( 126 asm volatile (
130 "jmp ftrace_test_jmp\n"
131 /* This code needs to stay around */
132 ".section .text, \"ax\"\n"
133 "ftrace_test_jmp:" 127 "ftrace_test_jmp:"
134 "jmp ftrace_test_p6nop\n" 128 "jmp ftrace_test_p6nop\n"
135 "nop\n" 129 "nop\n"
@@ -140,8 +134,6 @@ int __init ftrace_dyn_arch_init(void *data)
140 "jmp 1f\n" 134 "jmp 1f\n"
141 "ftrace_test_nop5:" 135 "ftrace_test_nop5:"
142 ".byte 0x66,0x66,0x66,0x66,0x90\n" 136 ".byte 0x66,0x66,0x66,0x66,0x90\n"
143 "jmp 1f\n"
144 ".previous\n"
145 "1:" 137 "1:"
146 ".section .fixup, \"ax\"\n" 138 ".section .fixup, \"ax\"\n"
147 "2: movl $1, %0\n" 139 "2: movl $1, %0\n"
@@ -156,15 +148,15 @@ int __init ftrace_dyn_arch_init(void *data)
156 switch (faulted) { 148 switch (faulted) {
157 case 0: 149 case 0:
158 pr_info("ftrace: converting mcount calls to 0f 1f 44 00 00\n"); 150 pr_info("ftrace: converting mcount calls to 0f 1f 44 00 00\n");
159 ftrace_nop = (unsigned long *)ftrace_test_p6nop; 151 memcpy(ftrace_nop, ftrace_test_p6nop, MCOUNT_INSN_SIZE);
160 break; 152 break;
161 case 1: 153 case 1:
162 pr_info("ftrace: converting mcount calls to 66 66 66 66 90\n"); 154 pr_info("ftrace: converting mcount calls to 66 66 66 66 90\n");
163 ftrace_nop = (unsigned long *)ftrace_test_nop5; 155 memcpy(ftrace_nop, ftrace_test_nop5, MCOUNT_INSN_SIZE);
164 break; 156 break;
165 case 2: 157 case 2:
166 pr_info("ftrace: converting mcount calls to jmp . + 5\n"); 158 pr_info("ftrace: converting mcount calls to jmp . + 5\n");
167 ftrace_nop = (unsigned long *)ftrace_test_jmp; 159 memcpy(ftrace_nop, ftrace_test_jmp, MCOUNT_INSN_SIZE);
168 break; 160 break;
169 } 161 }
170 162
diff --git a/arch/x86/kernel/genx2apic_uv_x.c b/arch/x86/kernel/genx2apic_uv_x.c
index 680a06557c5e..2c7dbdb98278 100644
--- a/arch/x86/kernel/genx2apic_uv_x.c
+++ b/arch/x86/kernel/genx2apic_uv_x.c
@@ -15,7 +15,6 @@
15#include <linux/ctype.h> 15#include <linux/ctype.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sched.h> 17#include <linux/sched.h>
18#include <linux/bootmem.h>
19#include <linux/module.h> 18#include <linux/module.h>
20#include <linux/hardirq.h> 19#include <linux/hardirq.h>
21#include <asm/smp.h> 20#include <asm/smp.h>
@@ -398,16 +397,16 @@ void __init uv_system_init(void)
398 printk(KERN_DEBUG "UV: Found %d blades\n", uv_num_possible_blades()); 397 printk(KERN_DEBUG "UV: Found %d blades\n", uv_num_possible_blades());
399 398
400 bytes = sizeof(struct uv_blade_info) * uv_num_possible_blades(); 399 bytes = sizeof(struct uv_blade_info) * uv_num_possible_blades();
401 uv_blade_info = alloc_bootmem_pages(bytes); 400 uv_blade_info = kmalloc(bytes, GFP_KERNEL);
402 401
403 get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size); 402 get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size);
404 403
405 bytes = sizeof(uv_node_to_blade[0]) * num_possible_nodes(); 404 bytes = sizeof(uv_node_to_blade[0]) * num_possible_nodes();
406 uv_node_to_blade = alloc_bootmem_pages(bytes); 405 uv_node_to_blade = kmalloc(bytes, GFP_KERNEL);
407 memset(uv_node_to_blade, 255, bytes); 406 memset(uv_node_to_blade, 255, bytes);
408 407
409 bytes = sizeof(uv_cpu_to_blade[0]) * num_possible_cpus(); 408 bytes = sizeof(uv_cpu_to_blade[0]) * num_possible_cpus();
410 uv_cpu_to_blade = alloc_bootmem_pages(bytes); 409 uv_cpu_to_blade = kmalloc(bytes, GFP_KERNEL);
411 memset(uv_cpu_to_blade, 255, bytes); 410 memset(uv_cpu_to_blade, 255, bytes);
412 411
413 blade = 0; 412 blade = 0;
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 77017e834cf7..067d8de913f6 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -322,7 +322,7 @@ static int hpet_next_event(unsigned long delta,
322 * what we wrote hit the chip before we compare it to the 322 * what we wrote hit the chip before we compare it to the
323 * counter. 323 * counter.
324 */ 324 */
325 WARN_ON((u32)hpet_readl(HPET_T0_CMP) != cnt); 325 WARN_ON_ONCE((u32)hpet_readl(HPET_Tn_CMP(timer)) != cnt);
326 326
327 return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0; 327 return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0;
328} 328}
@@ -445,7 +445,7 @@ static int hpet_setup_irq(struct hpet_dev *dev)
445{ 445{
446 446
447 if (request_irq(dev->irq, hpet_interrupt_handler, 447 if (request_irq(dev->irq, hpet_interrupt_handler,
448 IRQF_SHARED|IRQF_NOBALANCING, dev->name, dev)) 448 IRQF_DISABLED|IRQF_NOBALANCING, dev->name, dev))
449 return -1; 449 return -1;
450 450
451 disable_irq(dev->irq); 451 disable_irq(dev->irq);
diff --git a/arch/x86/kernel/i386_ksyms_32.c b/arch/x86/kernel/i386_ksyms_32.c
index dd7ebee446af..43cec6bdda63 100644
--- a/arch/x86/kernel/i386_ksyms_32.c
+++ b/arch/x86/kernel/i386_ksyms_32.c
@@ -5,7 +5,7 @@
5#include <asm/desc.h> 5#include <asm/desc.h>
6#include <asm/ftrace.h> 6#include <asm/ftrace.h>
7 7
8#ifdef CONFIG_FTRACE 8#ifdef CONFIG_FUNCTION_TRACER
9/* mcount is defined in assembly */ 9/* mcount is defined in assembly */
10EXPORT_SYMBOL(mcount); 10EXPORT_SYMBOL(mcount);
11#endif 11#endif
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index b764d7429c61..7a3f2028e2eb 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -3611,6 +3611,8 @@ int __init probe_nr_irqs(void)
3611 /* something wrong ? */ 3611 /* something wrong ? */
3612 if (nr < nr_min) 3612 if (nr < nr_min)
3613 nr = nr_min; 3613 nr = nr_min;
3614 if (WARN_ON(nr > NR_IRQS))
3615 nr = NR_IRQS;
3614 3616
3615 return nr; 3617 return nr;
3616} 3618}
diff --git a/arch/x86/kernel/k8.c b/arch/x86/kernel/k8.c
index 304d8bad6559..cbc4332a77b2 100644
--- a/arch/x86/kernel/k8.c
+++ b/arch/x86/kernel/k8.c
@@ -18,7 +18,6 @@ static u32 *flush_words;
18struct pci_device_id k8_nb_ids[] = { 18struct pci_device_id k8_nb_ids[] = {
19 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, 19 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) },
20 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, 20 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
21 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) },
22 {} 21 {}
23}; 22};
24EXPORT_SYMBOL(k8_nb_ids); 23EXPORT_SYMBOL(k8_nb_ids);
diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c
index 0732adba05ca..7a385746509a 100644
--- a/arch/x86/kernel/machine_kexec_32.c
+++ b/arch/x86/kernel/machine_kexec_32.c
@@ -162,7 +162,10 @@ void machine_kexec(struct kimage *image)
162 page_list[VA_PTE_0] = (unsigned long)kexec_pte0; 162 page_list[VA_PTE_0] = (unsigned long)kexec_pte0;
163 page_list[PA_PTE_1] = __pa(kexec_pte1); 163 page_list[PA_PTE_1] = __pa(kexec_pte1);
164 page_list[VA_PTE_1] = (unsigned long)kexec_pte1; 164 page_list[VA_PTE_1] = (unsigned long)kexec_pte1;
165 page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) << PAGE_SHIFT); 165
166 if (image->type == KEXEC_TYPE_DEFAULT)
167 page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page)
168 << PAGE_SHIFT);
166 169
167 /* The segment registers are funny things, they have both a 170 /* The segment registers are funny things, they have both a
168 * visible and an invisible part. Whenever the visible part is 171 * visible and an invisible part. Whenever the visible part is
diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c
index 7a1f8eeac2c7..5f8e5d75a254 100644
--- a/arch/x86/kernel/microcode_amd.c
+++ b/arch/x86/kernel/microcode_amd.c
@@ -39,7 +39,7 @@
39#include <asm/microcode.h> 39#include <asm/microcode.h>
40 40
41MODULE_DESCRIPTION("AMD Microcode Update Driver"); 41MODULE_DESCRIPTION("AMD Microcode Update Driver");
42MODULE_AUTHOR("Peter Oruba <peter.oruba@amd.com>"); 42MODULE_AUTHOR("Peter Oruba");
43MODULE_LICENSE("GPL v2"); 43MODULE_LICENSE("GPL v2");
44 44
45#define UCODE_MAGIC 0x00414d44 45#define UCODE_MAGIC 0x00414d44
diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c
index 936d8d55f230..82fb2809ce32 100644
--- a/arch/x86/kernel/microcode_core.c
+++ b/arch/x86/kernel/microcode_core.c
@@ -480,8 +480,8 @@ static int __init microcode_init(void)
480 480
481 printk(KERN_INFO 481 printk(KERN_INFO
482 "Microcode Update Driver: v" MICROCODE_VERSION 482 "Microcode Update Driver: v" MICROCODE_VERSION
483 " <tigran@aivazian.fsnet.co.uk>" 483 " <tigran@aivazian.fsnet.co.uk>,"
484 " <peter.oruba@amd.com>\n"); 484 " Peter Oruba\n");
485 485
486 return 0; 486 return 0;
487} 487}
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 1972266e8ba5..192624820217 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -9,6 +9,8 @@
9#include <asm/calgary.h> 9#include <asm/calgary.h>
10#include <asm/amd_iommu.h> 10#include <asm/amd_iommu.h>
11 11
12static int forbid_dac __read_mostly;
13
12struct dma_mapping_ops *dma_ops; 14struct dma_mapping_ops *dma_ops;
13EXPORT_SYMBOL(dma_ops); 15EXPORT_SYMBOL(dma_ops);
14 16
@@ -291,3 +293,17 @@ void pci_iommu_shutdown(void)
291} 293}
292/* Must execute after PCI subsystem */ 294/* Must execute after PCI subsystem */
293fs_initcall(pci_iommu_init); 295fs_initcall(pci_iommu_init);
296
297#ifdef CONFIG_PCI
298/* Many VIA bridges seem to corrupt data for DAC. Disable it here */
299
300static __devinit void via_no_dac(struct pci_dev *dev)
301{
302 if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI && forbid_dac == 0) {
303 printk(KERN_INFO "PCI: VIA PCI bridge detected."
304 "Disabling DAC.\n");
305 forbid_dac = 1;
306 }
307}
308DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
309#endif
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index e3f75bbcedea..a42b02b4df68 100644
--- a/arch/x86/kernel/pci-gart_64.c
+++ b/arch/x86/kernel/pci-gart_64.c
@@ -744,7 +744,7 @@ void __init gart_iommu_init(void)
744 long i; 744 long i;
745 745
746 if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) { 746 if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) {
747 printk(KERN_INFO "PCI-GART: No AMD northbridge found.\n"); 747 printk(KERN_INFO "PCI-GART: No AMD GART found.\n");
748 return; 748 return;
749 } 749 }
750 750
diff --git a/arch/x86/kernel/pci-swiotlb_64.c b/arch/x86/kernel/pci-swiotlb_64.c
index c4ce0332759e..3c539d111abb 100644
--- a/arch/x86/kernel/pci-swiotlb_64.c
+++ b/arch/x86/kernel/pci-swiotlb_64.c
@@ -18,9 +18,21 @@ swiotlb_map_single_phys(struct device *hwdev, phys_addr_t paddr, size_t size,
18 return swiotlb_map_single(hwdev, phys_to_virt(paddr), size, direction); 18 return swiotlb_map_single(hwdev, phys_to_virt(paddr), size, direction);
19} 19}
20 20
21static void *x86_swiotlb_alloc_coherent(struct device *hwdev, size_t size,
22 dma_addr_t *dma_handle, gfp_t flags)
23{
24 void *vaddr;
25
26 vaddr = dma_generic_alloc_coherent(hwdev, size, dma_handle, flags);
27 if (vaddr)
28 return vaddr;
29
30 return swiotlb_alloc_coherent(hwdev, size, dma_handle, flags);
31}
32
21struct dma_mapping_ops swiotlb_dma_ops = { 33struct dma_mapping_ops swiotlb_dma_ops = {
22 .mapping_error = swiotlb_dma_mapping_error, 34 .mapping_error = swiotlb_dma_mapping_error,
23 .alloc_coherent = swiotlb_alloc_coherent, 35 .alloc_coherent = x86_swiotlb_alloc_coherent,
24 .free_coherent = swiotlb_free_coherent, 36 .free_coherent = swiotlb_free_coherent,
25 .map_single = swiotlb_map_single_phys, 37 .map_single = swiotlb_map_single_phys,
26 .unmap_single = swiotlb_unmap_single, 38 .unmap_single = swiotlb_unmap_single,
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index f4c93f1cfc19..724adfc63cb9 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -29,11 +29,7 @@ EXPORT_SYMBOL(pm_power_off);
29 29
30static const struct desc_ptr no_idt = {}; 30static const struct desc_ptr no_idt = {};
31static int reboot_mode; 31static int reboot_mode;
32/* 32enum reboot_type reboot_type = BOOT_KBD;
33 * Keyboard reset and triple fault may result in INIT, not RESET, which
34 * doesn't work when we're in vmx root mode. Try ACPI first.
35 */
36enum reboot_type reboot_type = BOOT_ACPI;
37int reboot_force; 33int reboot_force;
38 34
39#if defined(CONFIG_X86_32) && defined(CONFIG_SMP) 35#if defined(CONFIG_X86_32) && defined(CONFIG_SMP)
diff --git a/arch/x86/kernel/tlb_32.c b/arch/x86/kernel/tlb_32.c
index e00534b33534..f4049f3513b6 100644
--- a/arch/x86/kernel/tlb_32.c
+++ b/arch/x86/kernel/tlb_32.c
@@ -154,6 +154,12 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm,
154 flush_mm = mm; 154 flush_mm = mm;
155 flush_va = va; 155 flush_va = va;
156 cpus_or(flush_cpumask, cpumask, flush_cpumask); 156 cpus_or(flush_cpumask, cpumask, flush_cpumask);
157
158 /*
159 * Make the above memory operations globally visible before
160 * sending the IPI.
161 */
162 smp_mb();
157 /* 163 /*
158 * We have to send the IPI only to 164 * We have to send the IPI only to
159 * CPUs affected. 165 * CPUs affected.
diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
index dcbf7a1159ea..8f919ca69494 100644
--- a/arch/x86/kernel/tlb_64.c
+++ b/arch/x86/kernel/tlb_64.c
@@ -183,6 +183,11 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm,
183 cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask); 183 cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask);
184 184
185 /* 185 /*
186 * Make the above memory operations globally visible before
187 * sending the IPI.
188 */
189 smp_mb();
190 /*
186 * We have to send the IPI only to 191 * We have to send the IPI only to
187 * CPUs affected. 192 * CPUs affected.
188 */ 193 */
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 161bb850fc47..424093b157d3 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -55,7 +55,7 @@ u64 native_sched_clock(void)
55 rdtscll(this_offset); 55 rdtscll(this_offset);
56 56
57 /* return the value in ns */ 57 /* return the value in ns */
58 return cycles_2_ns(this_offset); 58 return __cycles_2_ns(this_offset);
59} 59}
60 60
61/* We need to define a real function for sched_clock, to override the 61/* We need to define a real function for sched_clock, to override the
@@ -759,7 +759,7 @@ __cpuinit int unsynchronized_tsc(void)
759 if (!cpu_has_tsc || tsc_unstable) 759 if (!cpu_has_tsc || tsc_unstable)
760 return 1; 760 return 1;
761 761
762#ifdef CONFIG_SMP 762#ifdef CONFIG_X86_SMP
763 if (apic_is_clustered_box()) 763 if (apic_is_clustered_box())
764 return 1; 764 return 1;
765#endif 765#endif
@@ -813,10 +813,6 @@ void __init tsc_init(void)
813 cpu_khz = calibrate_cpu(); 813 cpu_khz = calibrate_cpu();
814#endif 814#endif
815 815
816 lpj = ((u64)tsc_khz * 1000);
817 do_div(lpj, HZ);
818 lpj_fine = lpj;
819
820 printk("Detected %lu.%03lu MHz processor.\n", 816 printk("Detected %lu.%03lu MHz processor.\n",
821 (unsigned long)cpu_khz / 1000, 817 (unsigned long)cpu_khz / 1000,
822 (unsigned long)cpu_khz % 1000); 818 (unsigned long)cpu_khz % 1000);
@@ -836,6 +832,10 @@ void __init tsc_init(void)
836 /* now allow native_sched_clock() to use rdtsc */ 832 /* now allow native_sched_clock() to use rdtsc */
837 tsc_disabled = 0; 833 tsc_disabled = 0;
838 834
835 lpj = ((u64)tsc_khz * 1000);
836 do_div(lpj, HZ);
837 lpj_fine = lpj;
838
839 use_tsc_delay(); 839 use_tsc_delay();
840 /* Check and install the TSC clocksource */ 840 /* Check and install the TSC clocksource */
841 dmi_check_system(bad_tsc_dmi_table); 841 dmi_check_system(bad_tsc_dmi_table);
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c
index 7766d36983fc..a688f3bfaec2 100644
--- a/arch/x86/kernel/vsmp_64.c
+++ b/arch/x86/kernel/vsmp_64.c
@@ -78,7 +78,7 @@ static unsigned __init_or_module vsmp_patch(u8 type, u16 clobbers, void *ibuf,
78 78
79static void __init set_vsmp_pv_ops(void) 79static void __init set_vsmp_pv_ops(void)
80{ 80{
81 void *address; 81 void __iomem *address;
82 unsigned int cap, ctl, cfg; 82 unsigned int cap, ctl, cfg;
83 83
84 /* set vSMP magic bits to indicate vSMP capable kernel */ 84 /* set vSMP magic bits to indicate vSMP capable kernel */
diff --git a/arch/x86/kernel/x8664_ksyms_64.c b/arch/x86/kernel/x8664_ksyms_64.c
index b545f371b5f5..695e426aa354 100644
--- a/arch/x86/kernel/x8664_ksyms_64.c
+++ b/arch/x86/kernel/x8664_ksyms_64.c
@@ -12,7 +12,7 @@
12#include <asm/desc.h> 12#include <asm/desc.h>
13#include <asm/ftrace.h> 13#include <asm/ftrace.h>
14 14
15#ifdef CONFIG_FTRACE 15#ifdef CONFIG_FUNCTION_TRACER
16/* mcount is defined in assembly */ 16/* mcount is defined in assembly */
17EXPORT_SYMBOL(mcount); 17EXPORT_SYMBOL(mcount);
18#endif 18#endif
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index 11c6725fb798..8772dc946823 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -545,6 +545,12 @@ struct kvm_pit *kvm_create_pit(struct kvm *kvm)
545 if (!pit) 545 if (!pit)
546 return NULL; 546 return NULL;
547 547
548 mutex_lock(&kvm->lock);
549 pit->irq_source_id = kvm_request_irq_source_id(kvm);
550 mutex_unlock(&kvm->lock);
551 if (pit->irq_source_id < 0)
552 return NULL;
553
548 mutex_init(&pit->pit_state.lock); 554 mutex_init(&pit->pit_state.lock);
549 mutex_lock(&pit->pit_state.lock); 555 mutex_lock(&pit->pit_state.lock);
550 spin_lock_init(&pit->pit_state.inject_lock); 556 spin_lock_init(&pit->pit_state.inject_lock);
@@ -587,6 +593,7 @@ void kvm_free_pit(struct kvm *kvm)
587 mutex_lock(&kvm->arch.vpit->pit_state.lock); 593 mutex_lock(&kvm->arch.vpit->pit_state.lock);
588 timer = &kvm->arch.vpit->pit_state.pit_timer.timer; 594 timer = &kvm->arch.vpit->pit_state.pit_timer.timer;
589 hrtimer_cancel(timer); 595 hrtimer_cancel(timer);
596 kvm_free_irq_source_id(kvm, kvm->arch.vpit->irq_source_id);
590 mutex_unlock(&kvm->arch.vpit->pit_state.lock); 597 mutex_unlock(&kvm->arch.vpit->pit_state.lock);
591 kfree(kvm->arch.vpit); 598 kfree(kvm->arch.vpit);
592 } 599 }
@@ -595,8 +602,8 @@ void kvm_free_pit(struct kvm *kvm)
595static void __inject_pit_timer_intr(struct kvm *kvm) 602static void __inject_pit_timer_intr(struct kvm *kvm)
596{ 603{
597 mutex_lock(&kvm->lock); 604 mutex_lock(&kvm->lock);
598 kvm_set_irq(kvm, 0, 1); 605 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 1);
599 kvm_set_irq(kvm, 0, 0); 606 kvm_set_irq(kvm, kvm->arch.vpit->irq_source_id, 0, 0);
600 mutex_unlock(&kvm->lock); 607 mutex_unlock(&kvm->lock);
601} 608}
602 609
diff --git a/arch/x86/kvm/i8254.h b/arch/x86/kvm/i8254.h
index e436d4983aa1..4178022b97aa 100644
--- a/arch/x86/kvm/i8254.h
+++ b/arch/x86/kvm/i8254.h
@@ -44,6 +44,7 @@ struct kvm_pit {
44 struct kvm_io_device speaker_dev; 44 struct kvm_io_device speaker_dev;
45 struct kvm *kvm; 45 struct kvm *kvm;
46 struct kvm_kpit_state pit_state; 46 struct kvm_kpit_state pit_state;
47 int irq_source_id;
47}; 48};
48 49
49#define KVM_PIT_BASE_ADDRESS 0x40 50#define KVM_PIT_BASE_ADDRESS 0x40
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 99c239c5c0ac..2a5e64881d9b 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2634,6 +2634,7 @@ static int kvm_pv_mmu_write(struct kvm_vcpu *vcpu,
2634static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu) 2634static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu)
2635{ 2635{
2636 kvm_x86_ops->tlb_flush(vcpu); 2636 kvm_x86_ops->tlb_flush(vcpu);
2637 set_bit(KVM_REQ_MMU_SYNC, &vcpu->requests);
2637 return 1; 2638 return 1;
2638} 2639}
2639 2640
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4f0677d1eae8..f1f8ff2f1fa2 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1742,7 +1742,8 @@ long kvm_arch_vm_ioctl(struct file *filp,
1742 goto out; 1742 goto out;
1743 if (irqchip_in_kernel(kvm)) { 1743 if (irqchip_in_kernel(kvm)) {
1744 mutex_lock(&kvm->lock); 1744 mutex_lock(&kvm->lock);
1745 kvm_set_irq(kvm, irq_event.irq, irq_event.level); 1745 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID,
1746 irq_event.irq, irq_event.level);
1746 mutex_unlock(&kvm->lock); 1747 mutex_unlock(&kvm->lock);
1747 r = 0; 1748 r = 0;
1748 } 1749 }
@@ -4013,6 +4014,9 @@ struct kvm *kvm_arch_create_vm(void)
4013 INIT_LIST_HEAD(&kvm->arch.active_mmu_pages); 4014 INIT_LIST_HEAD(&kvm->arch.active_mmu_pages);
4014 INIT_LIST_HEAD(&kvm->arch.assigned_dev_head); 4015 INIT_LIST_HEAD(&kvm->arch.assigned_dev_head);
4015 4016
4017 /* Reserve bit 0 of irq_sources_bitmap for userspace irq source */
4018 set_bit(KVM_USERSPACE_IRQ_SOURCE_ID, &kvm->arch.irq_sources_bitmap);
4019
4016 return kvm; 4020 return kvm;
4017} 4021}
4018 4022
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index 48ee4f9435f4..a5d8e1ace1cf 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -367,10 +367,9 @@ static void lguest_cpuid(unsigned int *ax, unsigned int *bx,
367 * lazily after a task switch, and Linux uses that gratefully, but wouldn't a 367 * lazily after a task switch, and Linux uses that gratefully, but wouldn't a
368 * name like "FPUTRAP bit" be a little less cryptic? 368 * name like "FPUTRAP bit" be a little less cryptic?
369 * 369 *
370 * We store cr0 (and cr3) locally, because the Host never changes it. The 370 * We store cr0 locally because the Host never changes it. The Guest sometimes
371 * Guest sometimes wants to read it and we'd prefer not to bother the Host 371 * wants to read it and we'd prefer not to bother the Host unnecessarily. */
372 * unnecessarily. */ 372static unsigned long current_cr0;
373static unsigned long current_cr0, current_cr3;
374static void lguest_write_cr0(unsigned long val) 373static void lguest_write_cr0(unsigned long val)
375{ 374{
376 lazy_hcall(LHCALL_TS, val & X86_CR0_TS, 0, 0); 375 lazy_hcall(LHCALL_TS, val & X86_CR0_TS, 0, 0);
@@ -399,17 +398,23 @@ static unsigned long lguest_read_cr2(void)
399 return lguest_data.cr2; 398 return lguest_data.cr2;
400} 399}
401 400
401/* See lguest_set_pte() below. */
402static bool cr3_changed = false;
403
402/* cr3 is the current toplevel pagetable page: the principle is the same as 404/* cr3 is the current toplevel pagetable page: the principle is the same as
403 * cr0. Keep a local copy, and tell the Host when it changes. */ 405 * cr0. Keep a local copy, and tell the Host when it changes. The only
406 * difference is that our local copy is in lguest_data because the Host needs
407 * to set it upon our initial hypercall. */
404static void lguest_write_cr3(unsigned long cr3) 408static void lguest_write_cr3(unsigned long cr3)
405{ 409{
410 lguest_data.pgdir = cr3;
406 lazy_hcall(LHCALL_NEW_PGTABLE, cr3, 0, 0); 411 lazy_hcall(LHCALL_NEW_PGTABLE, cr3, 0, 0);
407 current_cr3 = cr3; 412 cr3_changed = true;
408} 413}
409 414
410static unsigned long lguest_read_cr3(void) 415static unsigned long lguest_read_cr3(void)
411{ 416{
412 return current_cr3; 417 return lguest_data.pgdir;
413} 418}
414 419
415/* cr4 is used to enable and disable PGE, but we don't care. */ 420/* cr4 is used to enable and disable PGE, but we don't care. */
@@ -498,13 +503,13 @@ static void lguest_set_pmd(pmd_t *pmdp, pmd_t pmdval)
498 * to forget all of them. Fortunately, this is very rare. 503 * to forget all of them. Fortunately, this is very rare.
499 * 504 *
500 * ... except in early boot when the kernel sets up the initial pagetables, 505 * ... except in early boot when the kernel sets up the initial pagetables,
501 * which makes booting astonishingly slow. So we don't even tell the Host 506 * which makes booting astonishingly slow: 1.83 seconds! So we don't even tell
502 * anything changed until we've done the first page table switch. */ 507 * the Host anything changed until we've done the first page table switch,
508 * which brings boot back to 0.25 seconds. */
503static void lguest_set_pte(pte_t *ptep, pte_t pteval) 509static void lguest_set_pte(pte_t *ptep, pte_t pteval)
504{ 510{
505 *ptep = pteval; 511 *ptep = pteval;
506 /* Don't bother with hypercall before initial setup. */ 512 if (cr3_changed)
507 if (current_cr3)
508 lazy_hcall(LHCALL_FLUSH_TLB, 1, 0, 0); 513 lazy_hcall(LHCALL_FLUSH_TLB, 1, 0, 0);
509} 514}
510 515
@@ -521,7 +526,7 @@ static void lguest_set_pte(pte_t *ptep, pte_t pteval)
521static void lguest_flush_tlb_single(unsigned long addr) 526static void lguest_flush_tlb_single(unsigned long addr)
522{ 527{
523 /* Simply set it to zero: if it was not, it will fault back in. */ 528 /* Simply set it to zero: if it was not, it will fault back in. */
524 lazy_hcall(LHCALL_SET_PTE, current_cr3, addr, 0); 529 lazy_hcall(LHCALL_SET_PTE, lguest_data.pgdir, addr, 0);
525} 530}
526 531
527/* This is what happens after the Guest has removed a large number of entries. 532/* This is what happens after the Guest has removed a large number of entries.
@@ -581,6 +586,9 @@ static void __init lguest_init_IRQ(void)
581 586
582 for (i = 0; i < LGUEST_IRQS; i++) { 587 for (i = 0; i < LGUEST_IRQS; i++) {
583 int vector = FIRST_EXTERNAL_VECTOR + i; 588 int vector = FIRST_EXTERNAL_VECTOR + i;
589 /* Some systems map "vectors" to interrupts weirdly. Lguest has
590 * a straightforward 1 to 1 mapping, so force that here. */
591 __get_cpu_var(vector_irq)[vector] = i;
584 if (vector != SYSCALL_VECTOR) { 592 if (vector != SYSCALL_VECTOR) {
585 set_intr_gate(vector, interrupt[vector]); 593 set_intr_gate(vector, interrupt[vector]);
586 set_irq_chip_and_handler_name(i, &lguest_irq_controller, 594 set_irq_chip_and_handler_name(i, &lguest_irq_controller,
diff --git a/arch/x86/mach-voyager/setup.c b/arch/x86/mach-voyager/setup.c
index 6bbdd633864c..a580b9562e76 100644
--- a/arch/x86/mach-voyager/setup.c
+++ b/arch/x86/mach-voyager/setup.c
@@ -27,7 +27,7 @@ static struct irqaction irq2 = {
27void __init intr_init_hook(void) 27void __init intr_init_hook(void)
28{ 28{
29#ifdef CONFIG_SMP 29#ifdef CONFIG_SMP
30 smp_intr_init(); 30 voyager_smp_intr_init();
31#endif 31#endif
32 32
33 setup_irq(2, &irq2); 33 setup_irq(2, &irq2);
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c
index 0f6e8a6523ae..0e331652681e 100644
--- a/arch/x86/mach-voyager/voyager_smp.c
+++ b/arch/x86/mach-voyager/voyager_smp.c
@@ -90,6 +90,7 @@ static void ack_vic_irq(unsigned int irq);
90static void vic_enable_cpi(void); 90static void vic_enable_cpi(void);
91static void do_boot_cpu(__u8 cpuid); 91static void do_boot_cpu(__u8 cpuid);
92static void do_quad_bootstrap(void); 92static void do_quad_bootstrap(void);
93static void initialize_secondary(void);
93 94
94int hard_smp_processor_id(void); 95int hard_smp_processor_id(void);
95int safe_smp_processor_id(void); 96int safe_smp_processor_id(void);
@@ -344,6 +345,12 @@ static void do_quad_bootstrap(void)
344 } 345 }
345} 346}
346 347
348void prefill_possible_map(void)
349{
350 /* This is empty on voyager because we need a much
351 * earlier detection which is done in find_smp_config */
352}
353
347/* Set up all the basic stuff: read the SMP config and make all the 354/* Set up all the basic stuff: read the SMP config and make all the
348 * SMP information reflect only the boot cpu. All others will be 355 * SMP information reflect only the boot cpu. All others will be
349 * brought on-line later. */ 356 * brought on-line later. */
@@ -413,6 +420,7 @@ void __init smp_store_cpu_info(int id)
413 struct cpuinfo_x86 *c = &cpu_data(id); 420 struct cpuinfo_x86 *c = &cpu_data(id);
414 421
415 *c = boot_cpu_data; 422 *c = boot_cpu_data;
423 c->cpu_index = id;
416 424
417 identify_secondary_cpu(c); 425 identify_secondary_cpu(c);
418} 426}
@@ -650,6 +658,8 @@ void __init smp_boot_cpus(void)
650 smp_tune_scheduling(); 658 smp_tune_scheduling();
651 */ 659 */
652 smp_store_cpu_info(boot_cpu_id); 660 smp_store_cpu_info(boot_cpu_id);
661 /* setup the jump vector */
662 initial_code = (unsigned long)initialize_secondary;
653 printk("CPU%d: ", boot_cpu_id); 663 printk("CPU%d: ", boot_cpu_id);
654 print_cpu_info(&cpu_data(boot_cpu_id)); 664 print_cpu_info(&cpu_data(boot_cpu_id));
655 665
@@ -702,7 +712,7 @@ void __init smp_boot_cpus(void)
702 712
703/* Reload the secondary CPUs task structure (this function does not 713/* Reload the secondary CPUs task structure (this function does not
704 * return ) */ 714 * return ) */
705void __init initialize_secondary(void) 715static void __init initialize_secondary(void)
706{ 716{
707#if 0 717#if 0
708 // AC kernels only 718 // AC kernels only
@@ -1248,7 +1258,7 @@ static void handle_vic_irq(unsigned int irq, struct irq_desc *desc)
1248#define QIC_SET_GATE(cpi, vector) \ 1258#define QIC_SET_GATE(cpi, vector) \
1249 set_intr_gate((cpi) + QIC_DEFAULT_CPI_BASE, (vector)) 1259 set_intr_gate((cpi) + QIC_DEFAULT_CPI_BASE, (vector))
1250 1260
1251void __init smp_intr_init(void) 1261void __init voyager_smp_intr_init(void)
1252{ 1262{
1253 int i; 1263 int i;
1254 1264
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index 59f89b434b45..fea4565ff576 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -1,7 +1,7 @@
1obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \ 1obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \
2 pat.o pgtable.o gup.o 2 pat.o pgtable.o gup.o
3 3
4obj-$(CONFIG_X86_32) += pgtable_32.o 4obj-$(CONFIG_X86_32) += pgtable_32.o iomap_32.o
5 5
6obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o 6obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
7obj-$(CONFIG_X86_PTDUMP) += dump_pagetables.o 7obj-$(CONFIG_X86_PTDUMP) += dump_pagetables.o
diff --git a/arch/x86/mm/gup.c b/arch/x86/mm/gup.c
index 4ba373c5b8c8..be54176e9eb2 100644
--- a/arch/x86/mm/gup.c
+++ b/arch/x86/mm/gup.c
@@ -233,7 +233,7 @@ int get_user_pages_fast(unsigned long start, int nr_pages, int write,
233 len = (unsigned long) nr_pages << PAGE_SHIFT; 233 len = (unsigned long) nr_pages << PAGE_SHIFT;
234 end = start + len; 234 end = start + len;
235 if (unlikely(!access_ok(write ? VERIFY_WRITE : VERIFY_READ, 235 if (unlikely(!access_ok(write ? VERIFY_WRITE : VERIFY_READ,
236 start, len))) 236 (void __user *)start, len)))
237 goto slow_irqon; 237 goto slow_irqon;
238 238
239 /* 239 /*
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 8396868e82c5..c483f4242079 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -334,7 +334,6 @@ int devmem_is_allowed(unsigned long pagenr)
334 return 0; 334 return 0;
335} 335}
336 336
337#ifdef CONFIG_HIGHMEM
338pte_t *kmap_pte; 337pte_t *kmap_pte;
339pgprot_t kmap_prot; 338pgprot_t kmap_prot;
340 339
@@ -357,6 +356,7 @@ static void __init kmap_init(void)
357 kmap_prot = PAGE_KERNEL; 356 kmap_prot = PAGE_KERNEL;
358} 357}
359 358
359#ifdef CONFIG_HIGHMEM
360static void __init permanent_kmaps_init(pgd_t *pgd_base) 360static void __init permanent_kmaps_init(pgd_t *pgd_base)
361{ 361{
362 unsigned long vaddr; 362 unsigned long vaddr;
@@ -436,7 +436,6 @@ static void __init set_highmem_pages_init(void)
436#endif /* !CONFIG_NUMA */ 436#endif /* !CONFIG_NUMA */
437 437
438#else 438#else
439# define kmap_init() do { } while (0)
440# define permanent_kmaps_init(pgd_base) do { } while (0) 439# define permanent_kmaps_init(pgd_base) do { } while (0)
441# define set_highmem_pages_init() do { } while (0) 440# define set_highmem_pages_init() do { } while (0)
442#endif /* CONFIG_HIGHMEM */ 441#endif /* CONFIG_HIGHMEM */
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index b8e461d49412..9db01db6e3cd 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -350,8 +350,10 @@ phys_pte_init(pte_t *pte_page, unsigned long addr, unsigned long end,
350 * pagetable pages as RO. So assume someone who pre-setup 350 * pagetable pages as RO. So assume someone who pre-setup
351 * these mappings are more intelligent. 351 * these mappings are more intelligent.
352 */ 352 */
353 if (pte_val(*pte)) 353 if (pte_val(*pte)) {
354 pages++;
354 continue; 355 continue;
356 }
355 357
356 if (0) 358 if (0)
357 printk(" pte=%p addr=%lx pte=%016lx\n", 359 printk(" pte=%p addr=%lx pte=%016lx\n",
@@ -418,8 +420,10 @@ phys_pmd_init(pmd_t *pmd_page, unsigned long address, unsigned long end,
418 * not differ with respect to page frame and 420 * not differ with respect to page frame and
419 * attributes. 421 * attributes.
420 */ 422 */
421 if (page_size_mask & (1 << PG_LEVEL_2M)) 423 if (page_size_mask & (1 << PG_LEVEL_2M)) {
424 pages++;
422 continue; 425 continue;
426 }
423 new_prot = pte_pgprot(pte_clrhuge(*(pte_t *)pmd)); 427 new_prot = pte_pgprot(pte_clrhuge(*(pte_t *)pmd));
424 } 428 }
425 429
@@ -499,8 +503,10 @@ phys_pud_init(pud_t *pud_page, unsigned long addr, unsigned long end,
499 * not differ with respect to page frame and 503 * not differ with respect to page frame and
500 * attributes. 504 * attributes.
501 */ 505 */
502 if (page_size_mask & (1 << PG_LEVEL_1G)) 506 if (page_size_mask & (1 << PG_LEVEL_1G)) {
507 pages++;
503 continue; 508 continue;
509 }
504 prot = pte_pgprot(pte_clrhuge(*(pte_t *)pud)); 510 prot = pte_pgprot(pte_clrhuge(*(pte_t *)pud));
505 } 511 }
506 512
@@ -665,12 +671,13 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
665 unsigned long last_map_addr = 0; 671 unsigned long last_map_addr = 0;
666 unsigned long page_size_mask = 0; 672 unsigned long page_size_mask = 0;
667 unsigned long start_pfn, end_pfn; 673 unsigned long start_pfn, end_pfn;
674 unsigned long pos;
668 675
669 struct map_range mr[NR_RANGE_MR]; 676 struct map_range mr[NR_RANGE_MR];
670 int nr_range, i; 677 int nr_range, i;
671 int use_pse, use_gbpages; 678 int use_pse, use_gbpages;
672 679
673 printk(KERN_INFO "init_memory_mapping\n"); 680 printk(KERN_INFO "init_memory_mapping: %016lx-%016lx\n", start, end);
674 681
675 /* 682 /*
676 * Find space for the kernel direct mapping tables. 683 * Find space for the kernel direct mapping tables.
@@ -704,35 +711,50 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
704 711
705 /* head if not big page alignment ?*/ 712 /* head if not big page alignment ?*/
706 start_pfn = start >> PAGE_SHIFT; 713 start_pfn = start >> PAGE_SHIFT;
707 end_pfn = ((start + (PMD_SIZE - 1)) >> PMD_SHIFT) 714 pos = start_pfn << PAGE_SHIFT;
715 end_pfn = ((pos + (PMD_SIZE - 1)) >> PMD_SHIFT)
708 << (PMD_SHIFT - PAGE_SHIFT); 716 << (PMD_SHIFT - PAGE_SHIFT);
709 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0); 717 if (start_pfn < end_pfn) {
718 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0);
719 pos = end_pfn << PAGE_SHIFT;
720 }
710 721
711 /* big page (2M) range*/ 722 /* big page (2M) range*/
712 start_pfn = ((start + (PMD_SIZE - 1))>>PMD_SHIFT) 723 start_pfn = ((pos + (PMD_SIZE - 1))>>PMD_SHIFT)
713 << (PMD_SHIFT - PAGE_SHIFT); 724 << (PMD_SHIFT - PAGE_SHIFT);
714 end_pfn = ((start + (PUD_SIZE - 1))>>PUD_SHIFT) 725 end_pfn = ((pos + (PUD_SIZE - 1))>>PUD_SHIFT)
715 << (PUD_SHIFT - PAGE_SHIFT); 726 << (PUD_SHIFT - PAGE_SHIFT);
716 if (end_pfn > ((end>>PUD_SHIFT)<<(PUD_SHIFT - PAGE_SHIFT))) 727 if (end_pfn > ((end>>PMD_SHIFT)<<(PMD_SHIFT - PAGE_SHIFT)))
717 end_pfn = ((end>>PUD_SHIFT)<<(PUD_SHIFT - PAGE_SHIFT)); 728 end_pfn = ((end>>PMD_SHIFT)<<(PMD_SHIFT - PAGE_SHIFT));
718 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 729 if (start_pfn < end_pfn) {
719 page_size_mask & (1<<PG_LEVEL_2M)); 730 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn,
731 page_size_mask & (1<<PG_LEVEL_2M));
732 pos = end_pfn << PAGE_SHIFT;
733 }
720 734
721 /* big page (1G) range */ 735 /* big page (1G) range */
722 start_pfn = end_pfn; 736 start_pfn = ((pos + (PUD_SIZE - 1))>>PUD_SHIFT)
723 end_pfn = (end>>PUD_SHIFT) << (PUD_SHIFT - PAGE_SHIFT); 737 << (PUD_SHIFT - PAGE_SHIFT);
724 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 738 end_pfn = (end >> PUD_SHIFT) << (PUD_SHIFT - PAGE_SHIFT);
739 if (start_pfn < end_pfn) {
740 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn,
725 page_size_mask & 741 page_size_mask &
726 ((1<<PG_LEVEL_2M)|(1<<PG_LEVEL_1G))); 742 ((1<<PG_LEVEL_2M)|(1<<PG_LEVEL_1G)));
743 pos = end_pfn << PAGE_SHIFT;
744 }
727 745
728 /* tail is not big page (1G) alignment */ 746 /* tail is not big page (1G) alignment */
729 start_pfn = end_pfn; 747 start_pfn = ((pos + (PMD_SIZE - 1))>>PMD_SHIFT)
730 end_pfn = (end>>PMD_SHIFT) << (PMD_SHIFT - PAGE_SHIFT); 748 << (PMD_SHIFT - PAGE_SHIFT);
731 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 749 end_pfn = (end >> PMD_SHIFT) << (PMD_SHIFT - PAGE_SHIFT);
732 page_size_mask & (1<<PG_LEVEL_2M)); 750 if (start_pfn < end_pfn) {
751 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn,
752 page_size_mask & (1<<PG_LEVEL_2M));
753 pos = end_pfn << PAGE_SHIFT;
754 }
733 755
734 /* tail is not big page (2M) alignment */ 756 /* tail is not big page (2M) alignment */
735 start_pfn = end_pfn; 757 start_pfn = pos>>PAGE_SHIFT;
736 end_pfn = end>>PAGE_SHIFT; 758 end_pfn = end>>PAGE_SHIFT;
737 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0); 759 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0);
738 760
@@ -831,12 +853,12 @@ int arch_add_memory(int nid, u64 start, u64 size)
831 unsigned long nr_pages = size >> PAGE_SHIFT; 853 unsigned long nr_pages = size >> PAGE_SHIFT;
832 int ret; 854 int ret;
833 855
834 last_mapped_pfn = init_memory_mapping(start, start + size-1); 856 last_mapped_pfn = init_memory_mapping(start, start + size);
835 if (last_mapped_pfn > max_pfn_mapped) 857 if (last_mapped_pfn > max_pfn_mapped)
836 max_pfn_mapped = last_mapped_pfn; 858 max_pfn_mapped = last_mapped_pfn;
837 859
838 ret = __add_pages(zone, start_pfn, nr_pages); 860 ret = __add_pages(zone, start_pfn, nr_pages);
839 WARN_ON(1); 861 WARN_ON_ONCE(ret);
840 862
841 return ret; 863 return ret;
842} 864}
@@ -878,6 +900,7 @@ static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel,
878void __init mem_init(void) 900void __init mem_init(void)
879{ 901{
880 long codesize, reservedpages, datasize, initsize; 902 long codesize, reservedpages, datasize, initsize;
903 unsigned long absent_pages;
881 904
882 start_periodic_check_for_corruption(); 905 start_periodic_check_for_corruption();
883 906
@@ -893,8 +916,9 @@ void __init mem_init(void)
893#else 916#else
894 totalram_pages = free_all_bootmem(); 917 totalram_pages = free_all_bootmem();
895#endif 918#endif
896 reservedpages = max_pfn - totalram_pages - 919
897 absent_pages_in_range(0, max_pfn); 920 absent_pages = absent_pages_in_range(0, max_pfn);
921 reservedpages = max_pfn - totalram_pages - absent_pages;
898 after_bootmem = 1; 922 after_bootmem = 1;
899 923
900 codesize = (unsigned long) &_etext - (unsigned long) &_text; 924 codesize = (unsigned long) &_etext - (unsigned long) &_text;
@@ -911,10 +935,11 @@ void __init mem_init(void)
911 VSYSCALL_END - VSYSCALL_START); 935 VSYSCALL_END - VSYSCALL_START);
912 936
913 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " 937 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
914 "%ldk reserved, %ldk data, %ldk init)\n", 938 "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n",
915 (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), 939 (unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
916 max_pfn << (PAGE_SHIFT-10), 940 max_pfn << (PAGE_SHIFT-10),
917 codesize >> 10, 941 codesize >> 10,
942 absent_pages << (PAGE_SHIFT-10),
918 reservedpages << (PAGE_SHIFT-10), 943 reservedpages << (PAGE_SHIFT-10),
919 datasize >> 10, 944 datasize >> 10,
920 initsize >> 10); 945 initsize >> 10);
diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c
new file mode 100644
index 000000000000..d0151d8ce452
--- /dev/null
+++ b/arch/x86/mm/iomap_32.c
@@ -0,0 +1,59 @@
1/*
2 * Copyright © 2008 Ingo Molnar
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 as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 */
18
19#include <asm/iomap.h>
20#include <linux/module.h>
21
22/* Map 'pfn' using fixed map 'type' and protections 'prot'
23 */
24void *
25iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot)
26{
27 enum fixed_addresses idx;
28 unsigned long vaddr;
29
30 pagefault_disable();
31
32 idx = type + KM_TYPE_NR*smp_processor_id();
33 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
34 set_pte(kmap_pte-idx, pfn_pte(pfn, prot));
35 arch_flush_lazy_mmu_mode();
36
37 return (void*) vaddr;
38}
39EXPORT_SYMBOL_GPL(iomap_atomic_prot_pfn);
40
41void
42iounmap_atomic(void *kvaddr, enum km_type type)
43{
44 unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
45 enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
46
47 /*
48 * Force other mappings to Oops if they'll try to access this pte
49 * without first remap it. Keeping stale mappings around is a bad idea
50 * also, in case the page changes cacheability attributes or becomes
51 * a protected page in a hypervisor.
52 */
53 if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx))
54 kpte_clear_flush(kmap_pte-idx, vaddr);
55
56 arch_flush_lazy_mmu_mode();
57 pagefault_enable();
58}
59EXPORT_SYMBOL_GPL(iounmap_atomic);
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index ae71e11eb3e5..d4c4307ff3e0 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -387,7 +387,7 @@ static void __iomem *ioremap_default(resource_size_t phys_addr,
387 unsigned long size) 387 unsigned long size)
388{ 388{
389 unsigned long flags; 389 unsigned long flags;
390 void *ret; 390 void __iomem *ret;
391 int err; 391 int err;
392 392
393 /* 393 /*
@@ -399,11 +399,11 @@ static void __iomem *ioremap_default(resource_size_t phys_addr,
399 if (err < 0) 399 if (err < 0)
400 return NULL; 400 return NULL;
401 401
402 ret = (void *) __ioremap_caller(phys_addr, size, flags, 402 ret = __ioremap_caller(phys_addr, size, flags,
403 __builtin_return_address(0)); 403 __builtin_return_address(0));
404 404
405 free_memtype(phys_addr, phys_addr + size); 405 free_memtype(phys_addr, phys_addr + size);
406 return (void __iomem *)ret; 406 return ret;
407} 407}
408 408
409void __iomem *ioremap_prot(resource_size_t phys_addr, unsigned long size, 409void __iomem *ioremap_prot(resource_size_t phys_addr, unsigned long size,
@@ -622,7 +622,7 @@ static inline void __init early_clear_fixmap(enum fixed_addresses idx)
622 __early_set_fixmap(idx, 0, __pgprot(0)); 622 __early_set_fixmap(idx, 0, __pgprot(0));
623} 623}
624 624
625static void *prev_map[FIX_BTMAPS_SLOTS] __initdata; 625static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata;
626static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata; 626static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata;
627static int __init check_early_ioremap_leak(void) 627static int __init check_early_ioremap_leak(void)
628{ 628{
@@ -645,7 +645,7 @@ static int __init check_early_ioremap_leak(void)
645} 645}
646late_initcall(check_early_ioremap_leak); 646late_initcall(check_early_ioremap_leak);
647 647
648static void __init *__early_ioremap(unsigned long phys_addr, unsigned long size, pgprot_t prot) 648static void __init __iomem *__early_ioremap(unsigned long phys_addr, unsigned long size, pgprot_t prot)
649{ 649{
650 unsigned long offset, last_addr; 650 unsigned long offset, last_addr;
651 unsigned int nrpages; 651 unsigned int nrpages;
@@ -713,23 +713,23 @@ static void __init *__early_ioremap(unsigned long phys_addr, unsigned long size,
713 if (early_ioremap_debug) 713 if (early_ioremap_debug)
714 printk(KERN_CONT "%08lx + %08lx\n", offset, fix_to_virt(idx0)); 714 printk(KERN_CONT "%08lx + %08lx\n", offset, fix_to_virt(idx0));
715 715
716 prev_map[slot] = (void *) (offset + fix_to_virt(idx0)); 716 prev_map[slot] = (void __iomem *)(offset + fix_to_virt(idx0));
717 return prev_map[slot]; 717 return prev_map[slot];
718} 718}
719 719
720/* Remap an IO device */ 720/* Remap an IO device */
721void __init *early_ioremap(unsigned long phys_addr, unsigned long size) 721void __init __iomem *early_ioremap(unsigned long phys_addr, unsigned long size)
722{ 722{
723 return __early_ioremap(phys_addr, size, PAGE_KERNEL_IO); 723 return __early_ioremap(phys_addr, size, PAGE_KERNEL_IO);
724} 724}
725 725
726/* Remap memory */ 726/* Remap memory */
727void __init *early_memremap(unsigned long phys_addr, unsigned long size) 727void __init __iomem *early_memremap(unsigned long phys_addr, unsigned long size)
728{ 728{
729 return __early_ioremap(phys_addr, size, PAGE_KERNEL); 729 return __early_ioremap(phys_addr, size, PAGE_KERNEL);
730} 730}
731 731
732void __init early_iounmap(void *addr, unsigned long size) 732void __init early_iounmap(void __iomem *addr, unsigned long size)
733{ 733{
734 unsigned long virt_addr; 734 unsigned long virt_addr;
735 unsigned long offset; 735 unsigned long offset;
@@ -779,7 +779,7 @@ void __init early_iounmap(void *addr, unsigned long size)
779 --idx; 779 --idx;
780 --nrpages; 780 --nrpages;
781 } 781 }
782 prev_map[slot] = 0; 782 prev_map[slot] = NULL;
783} 783}
784 784
785void __this_fixmap_does_not_exist(void) 785void __this_fixmap_does_not_exist(void)
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index f1dc1b75d166..e89d24815f26 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -67,18 +67,18 @@ static void split_page_count(int level)
67 67
68void arch_report_meminfo(struct seq_file *m) 68void arch_report_meminfo(struct seq_file *m)
69{ 69{
70 seq_printf(m, "DirectMap4k: %8lu kB\n", 70 seq_printf(m, "DirectMap4k: %8lu kB\n",
71 direct_pages_count[PG_LEVEL_4K] << 2); 71 direct_pages_count[PG_LEVEL_4K] << 2);
72#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) 72#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
73 seq_printf(m, "DirectMap2M: %8lu kB\n", 73 seq_printf(m, "DirectMap2M: %8lu kB\n",
74 direct_pages_count[PG_LEVEL_2M] << 11); 74 direct_pages_count[PG_LEVEL_2M] << 11);
75#else 75#else
76 seq_printf(m, "DirectMap4M: %8lu kB\n", 76 seq_printf(m, "DirectMap4M: %8lu kB\n",
77 direct_pages_count[PG_LEVEL_2M] << 12); 77 direct_pages_count[PG_LEVEL_2M] << 12);
78#endif 78#endif
79#ifdef CONFIG_X86_64 79#ifdef CONFIG_X86_64
80 if (direct_gbpages) 80 if (direct_gbpages)
81 seq_printf(m, "DirectMap1G: %8lu kB\n", 81 seq_printf(m, "DirectMap1G: %8lu kB\n",
82 direct_pages_count[PG_LEVEL_1G] << 20); 82 direct_pages_count[PG_LEVEL_1G] << 20);
83#endif 83#endif
84} 84}
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
index 738fd0f24958..eb1bf000d12e 100644
--- a/arch/x86/mm/pat.c
+++ b/arch/x86/mm/pat.c
@@ -481,12 +481,16 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
481 return 1; 481 return 1;
482} 482}
483#else 483#else
484/* This check is needed to avoid cache aliasing when PAT is enabled */
484static inline int range_is_allowed(unsigned long pfn, unsigned long size) 485static inline int range_is_allowed(unsigned long pfn, unsigned long size)
485{ 486{
486 u64 from = ((u64)pfn) << PAGE_SHIFT; 487 u64 from = ((u64)pfn) << PAGE_SHIFT;
487 u64 to = from + size; 488 u64 to = from + size;
488 u64 cursor = from; 489 u64 cursor = from;
489 490
491 if (!pat_enabled)
492 return 1;
493
490 while (cursor < to) { 494 while (cursor < to) {
491 if (!devmem_is_allowed(pfn)) { 495 if (!devmem_is_allowed(pfn)) {
492 printk(KERN_INFO 496 printk(KERN_INFO
diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
index 0620d6d45f7d..3f1b81a83e2e 100644
--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -27,8 +27,7 @@ static int num_counters = 2;
27static int counter_width = 32; 27static int counter_width = 32;
28 28
29#define CTR_IS_RESERVED(msrs, c) (msrs->counters[(c)].addr ? 1 : 0) 29#define CTR_IS_RESERVED(msrs, c) (msrs->counters[(c)].addr ? 1 : 0)
30#define CTR_READ(l, h, msrs, c) do {rdmsr(msrs->counters[(c)].addr, (l), (h)); } while (0) 30#define CTR_OVERFLOWED(n) (!((n) & (1ULL<<(counter_width-1))))
31#define CTR_OVERFLOWED(n) (!((n) & (1U<<(counter_width-1))))
32 31
33#define CTRL_IS_RESERVED(msrs, c) (msrs->controls[(c)].addr ? 1 : 0) 32#define CTRL_IS_RESERVED(msrs, c) (msrs->controls[(c)].addr ? 1 : 0)
34#define CTRL_READ(l, h, msrs, c) do {rdmsr((msrs->controls[(c)].addr), (l), (h)); } while (0) 33#define CTRL_READ(l, h, msrs, c) do {rdmsr((msrs->controls[(c)].addr), (l), (h)); } while (0)
@@ -124,14 +123,14 @@ static void ppro_setup_ctrs(struct op_msrs const * const msrs)
124static int ppro_check_ctrs(struct pt_regs * const regs, 123static int ppro_check_ctrs(struct pt_regs * const regs,
125 struct op_msrs const * const msrs) 124 struct op_msrs const * const msrs)
126{ 125{
127 unsigned int low, high; 126 u64 val;
128 int i; 127 int i;
129 128
130 for (i = 0 ; i < num_counters; ++i) { 129 for (i = 0 ; i < num_counters; ++i) {
131 if (!reset_value[i]) 130 if (!reset_value[i])
132 continue; 131 continue;
133 CTR_READ(low, high, msrs, i); 132 rdmsrl(msrs->counters[i].addr, val);
134 if (CTR_OVERFLOWED(low)) { 133 if (CTR_OVERFLOWED(val)) {
135 oprofile_add_sample(regs, i); 134 oprofile_add_sample(regs, i);
136 wrmsrl(msrs->counters[i].addr, -reset_value[i]); 135 wrmsrl(msrs->counters[i].addr, -reset_value[i]);
137 } 136 }
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 313947940a1a..6dcefba7836f 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -1,4 +1,4 @@
1ifdef CONFIG_FTRACE 1ifdef CONFIG_FUNCTION_TRACER
2# Do not profile debug and lowlevel utilities 2# Do not profile debug and lowlevel utilities
3CFLAGS_REMOVE_spinlock.o = -pg 3CFLAGS_REMOVE_spinlock.o = -pg
4CFLAGS_REMOVE_time.o = -pg 4CFLAGS_REMOVE_time.o = -pg
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index b61534c7a4c4..5e4686d70f62 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -863,15 +863,16 @@ static void xen_alloc_ptpage(struct mm_struct *mm, unsigned long pfn, unsigned l
863 if (PagePinned(virt_to_page(mm->pgd))) { 863 if (PagePinned(virt_to_page(mm->pgd))) {
864 SetPagePinned(page); 864 SetPagePinned(page);
865 865
866 vm_unmap_aliases();
866 if (!PageHighMem(page)) { 867 if (!PageHighMem(page)) {
867 make_lowmem_page_readonly(__va(PFN_PHYS((unsigned long)pfn))); 868 make_lowmem_page_readonly(__va(PFN_PHYS((unsigned long)pfn)));
868 if (level == PT_PTE && USE_SPLIT_PTLOCKS) 869 if (level == PT_PTE && USE_SPLIT_PTLOCKS)
869 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn); 870 pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn);
870 } else 871 } else {
871 /* make sure there are no stray mappings of 872 /* make sure there are no stray mappings of
872 this page */ 873 this page */
873 kmap_flush_unused(); 874 kmap_flush_unused();
874 vm_unmap_aliases(); 875 }
875 } 876 }
876} 877}
877 878
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index d4d52f5a1cf7..688936044dc9 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -246,11 +246,21 @@ xmaddr_t arbitrary_virt_to_machine(void *vaddr)
246{ 246{
247 unsigned long address = (unsigned long)vaddr; 247 unsigned long address = (unsigned long)vaddr;
248 unsigned int level; 248 unsigned int level;
249 pte_t *pte = lookup_address(address, &level); 249 pte_t *pte;
250 unsigned offset = address & ~PAGE_MASK; 250 unsigned offset;
251 251
252 BUG_ON(pte == NULL); 252 /*
253 * if the PFN is in the linear mapped vaddr range, we can just use
254 * the (quick) virt_to_machine() p2m lookup
255 */
256 if (virt_addr_valid(vaddr))
257 return virt_to_machine(vaddr);
253 258
259 /* otherwise we have to do a (slower) full page-table walk */
260
261 pte = lookup_address(address, &level);
262 BUG_ON(pte == NULL);
263 offset = address & ~PAGE_MASK;
254 return XMADDR(((phys_addr_t)pte_mfn(*pte) << PAGE_SHIFT) + offset); 264 return XMADDR(((phys_addr_t)pte_mfn(*pte) << PAGE_SHIFT) + offset);
255} 265}
256 266
@@ -410,7 +420,7 @@ void xen_ptep_modify_prot_commit(struct mm_struct *mm, unsigned long addr,
410 420
411 xen_mc_batch(); 421 xen_mc_batch();
412 422
413 u.ptr = virt_to_machine(ptep).maddr | MMU_PT_UPDATE_PRESERVE_AD; 423 u.ptr = arbitrary_virt_to_machine(ptep).maddr | MMU_PT_UPDATE_PRESERVE_AD;
414 u.val = pte_val_ma(pte); 424 u.val = pte_val_ma(pte);
415 xen_extend_mmu_update(&u); 425 xen_extend_mmu_update(&u);
416 426
@@ -840,13 +850,16 @@ static int xen_pin_page(struct mm_struct *mm, struct page *page,
840 read-only, and can be pinned. */ 850 read-only, and can be pinned. */
841static void __xen_pgd_pin(struct mm_struct *mm, pgd_t *pgd) 851static void __xen_pgd_pin(struct mm_struct *mm, pgd_t *pgd)
842{ 852{
853 vm_unmap_aliases();
854
843 xen_mc_batch(); 855 xen_mc_batch();
844 856
845 if (xen_pgd_walk(mm, xen_pin_page, USER_LIMIT)) { 857 if (xen_pgd_walk(mm, xen_pin_page, USER_LIMIT)) {
846 /* re-enable interrupts for kmap_flush_unused */ 858 /* re-enable interrupts for flushing */
847 xen_mc_issue(0); 859 xen_mc_issue(0);
860
848 kmap_flush_unused(); 861 kmap_flush_unused();
849 vm_unmap_aliases(); 862
850 xen_mc_batch(); 863 xen_mc_batch();
851 } 864 }
852 865
@@ -864,7 +877,7 @@ static void __xen_pgd_pin(struct mm_struct *mm, pgd_t *pgd)
864#else /* CONFIG_X86_32 */ 877#else /* CONFIG_X86_32 */
865#ifdef CONFIG_X86_PAE 878#ifdef CONFIG_X86_PAE
866 /* Need to make sure unshared kernel PMD is pinnable */ 879 /* Need to make sure unshared kernel PMD is pinnable */
867 xen_pin_page(mm, virt_to_page(pgd_page(pgd[pgd_index(TASK_SIZE)])), 880 xen_pin_page(mm, pgd_page(pgd[pgd_index(TASK_SIZE)]),
868 PT_PMD); 881 PT_PMD);
869#endif 882#endif
870 xen_do_pin(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(pgd))); 883 xen_do_pin(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(pgd)));
@@ -981,7 +994,7 @@ static void __xen_pgd_unpin(struct mm_struct *mm, pgd_t *pgd)
981 994
982#ifdef CONFIG_X86_PAE 995#ifdef CONFIG_X86_PAE
983 /* Need to make sure unshared kernel PMD is unpinned */ 996 /* Need to make sure unshared kernel PMD is unpinned */
984 xen_unpin_page(mm, virt_to_page(pgd_page(pgd[pgd_index(TASK_SIZE)])), 997 xen_unpin_page(mm, pgd_page(pgd[pgd_index(TASK_SIZE)]),
985 PT_PMD); 998 PT_PMD);
986#endif 999#endif
987 1000
diff --git a/block/blk-core.c b/block/blk-core.c
index c3df30cfb3fc..10e8a64a5a5b 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1770,8 +1770,6 @@ static void end_that_request_last(struct request *req, int error)
1770{ 1770{
1771 struct gendisk *disk = req->rq_disk; 1771 struct gendisk *disk = req->rq_disk;
1772 1772
1773 blk_delete_timer(req);
1774
1775 if (blk_rq_tagged(req)) 1773 if (blk_rq_tagged(req))
1776 blk_queue_end_tag(req->q, req); 1774 blk_queue_end_tag(req->q, req);
1777 1775
@@ -1781,6 +1779,8 @@ static void end_that_request_last(struct request *req, int error)
1781 if (unlikely(laptop_mode) && blk_fs_request(req)) 1779 if (unlikely(laptop_mode) && blk_fs_request(req))
1782 laptop_io_completion(); 1780 laptop_io_completion();
1783 1781
1782 blk_delete_timer(req);
1783
1784 /* 1784 /*
1785 * Account IO completion. bar_rq isn't accounted as a normal 1785 * Account IO completion. bar_rq isn't accounted as a normal
1786 * IO on queueing nor completion. Accounting the containing 1786 * IO on queueing nor completion. Accounting the containing
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 8681cd6f9911..b92f5b0866b0 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -222,27 +222,6 @@ new_segment:
222} 222}
223EXPORT_SYMBOL(blk_rq_map_sg); 223EXPORT_SYMBOL(blk_rq_map_sg);
224 224
225static inline int ll_new_mergeable(struct request_queue *q,
226 struct request *req,
227 struct bio *bio)
228{
229 int nr_phys_segs = bio_phys_segments(q, bio);
230
231 if (req->nr_phys_segments + nr_phys_segs > q->max_phys_segments) {
232 req->cmd_flags |= REQ_NOMERGE;
233 if (req == q->last_merge)
234 q->last_merge = NULL;
235 return 0;
236 }
237
238 /*
239 * A hw segment is just getting larger, bump just the phys
240 * counter.
241 */
242 req->nr_phys_segments += nr_phys_segs;
243 return 1;
244}
245
246static inline int ll_new_hw_segment(struct request_queue *q, 225static inline int ll_new_hw_segment(struct request_queue *q,
247 struct request *req, 226 struct request *req,
248 struct bio *bio) 227 struct bio *bio)
diff --git a/block/blk-timeout.c b/block/blk-timeout.c
index 972a63f848fb..69185ea9fae2 100644
--- a/block/blk-timeout.c
+++ b/block/blk-timeout.c
@@ -75,14 +75,7 @@ void blk_delete_timer(struct request *req)
75{ 75{
76 struct request_queue *q = req->q; 76 struct request_queue *q = req->q;
77 77
78 /*
79 * Nothing to detach
80 */
81 if (!q->rq_timed_out_fn || !req->deadline)
82 return;
83
84 list_del_init(&req->timeout_list); 78 list_del_init(&req->timeout_list);
85
86 if (list_empty(&q->timeout_list)) 79 if (list_empty(&q->timeout_list))
87 del_timer(&q->timeout); 80 del_timer(&q->timeout);
88} 81}
@@ -142,7 +135,7 @@ void blk_rq_timed_out_timer(unsigned long data)
142 } 135 }
143 136
144 if (next_set && !list_empty(&q->timeout_list)) 137 if (next_set && !list_empty(&q->timeout_list))
145 mod_timer(&q->timeout, round_jiffies(next)); 138 mod_timer(&q->timeout, round_jiffies_up(next));
146 139
147 spin_unlock_irqrestore(q->queue_lock, flags); 140 spin_unlock_irqrestore(q->queue_lock, flags);
148} 141}
@@ -198,17 +191,10 @@ void blk_add_timer(struct request *req)
198 191
199 /* 192 /*
200 * If the timer isn't already pending or this timeout is earlier 193 * If the timer isn't already pending or this timeout is earlier
201 * than an existing one, modify the timer. Round to next nearest 194 * than an existing one, modify the timer. Round up to next nearest
202 * second. 195 * second.
203 */ 196 */
204 expiry = round_jiffies(req->deadline); 197 expiry = round_jiffies_up(req->deadline);
205
206 /*
207 * We use ->deadline == 0 to detect whether a timer was added or
208 * not, so just increase to next jiffy for that specific case
209 */
210 if (unlikely(!req->deadline))
211 req->deadline = 1;
212 198
213 if (!timer_pending(&q->timeout) || 199 if (!timer_pending(&q->timeout) ||
214 time_before(expiry, q->timeout.expires)) 200 time_before(expiry, q->timeout.expires))
diff --git a/block/elevator.c b/block/elevator.c
index 59173a69ebdf..9ac82dde99dd 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -773,12 +773,6 @@ struct request *elv_next_request(struct request_queue *q)
773 */ 773 */
774 rq->cmd_flags |= REQ_STARTED; 774 rq->cmd_flags |= REQ_STARTED;
775 blk_add_trace_rq(q, rq, BLK_TA_ISSUE); 775 blk_add_trace_rq(q, rq, BLK_TA_ISSUE);
776
777 /*
778 * We are now handing the request to the hardware,
779 * add the timeout handler
780 */
781 blk_add_timer(rq);
782 } 776 }
783 777
784 if (!q->boundary_rq || q->boundary_rq == rq) { 778 if (!q->boundary_rq || q->boundary_rq == rq) {
@@ -850,6 +844,12 @@ void elv_dequeue_request(struct request_queue *q, struct request *rq)
850 */ 844 */
851 if (blk_account_rq(rq)) 845 if (blk_account_rq(rq))
852 q->in_flight++; 846 q->in_flight++;
847
848 /*
849 * We are now handing the request to the hardware, add the
850 * timeout handler.
851 */
852 blk_add_timer(rq);
853} 853}
854EXPORT_SYMBOL(elv_dequeue_request); 854EXPORT_SYMBOL(elv_dequeue_request);
855 855
diff --git a/drivers/Kconfig b/drivers/Kconfig
index d38f43f593d4..2f557f570ade 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -68,6 +68,8 @@ source "drivers/ssb/Kconfig"
68 68
69source "drivers/mfd/Kconfig" 69source "drivers/mfd/Kconfig"
70 70
71source "drivers/regulator/Kconfig"
72
71source "drivers/media/Kconfig" 73source "drivers/media/Kconfig"
72 74
73source "drivers/video/Kconfig" 75source "drivers/video/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index 2503f7b99b2f..fceb71a741c3 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -56,6 +56,7 @@ obj-$(CONFIG_MAC) += macintosh/
56obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ 56obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/
57obj-$(CONFIG_PARIDE) += block/paride/ 57obj-$(CONFIG_PARIDE) += block/paride/
58obj-$(CONFIG_TC) += tc/ 58obj-$(CONFIG_TC) += tc/
59obj-$(CONFIG_UWB) += uwb/
59obj-$(CONFIG_USB) += usb/ 60obj-$(CONFIG_USB) += usb/
60obj-$(CONFIG_USB_MUSB_HDRC) += usb/musb/ 61obj-$(CONFIG_USB_MUSB_HDRC) += usb/musb/
61obj-$(CONFIG_PCI) += usb/ 62obj-$(CONFIG_PCI) += usb/
@@ -101,4 +102,3 @@ obj-$(CONFIG_SSB) += ssb/
101obj-$(CONFIG_VIRTIO) += virtio/ 102obj-$(CONFIG_VIRTIO) += virtio/
102obj-$(CONFIG_REGULATOR) += regulator/ 103obj-$(CONFIG_REGULATOR) += regulator/
103obj-$(CONFIG_STAGING) += staging/ 104obj-$(CONFIG_STAGING) += staging/
104obj-$(CONFIG_UWB) += uwb/
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 9d568d417eaa..cb046c3fc3f2 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -262,6 +262,7 @@ static int acpi_lid_send_state(struct acpi_button *button)
262 return -ENODEV; 262 return -ENODEV;
263 /* input layer checks if event is redundant */ 263 /* input layer checks if event is redundant */
264 input_report_switch(button->input, SW_LID, !state); 264 input_report_switch(button->input, SW_LID, !state);
265 input_sync(button->input);
265 return 0; 266 return 0;
266} 267}
267 268
@@ -285,8 +286,8 @@ static void acpi_button_notify(acpi_handle handle, u32 event, void *data)
285 input_report_key(input, keycode, 1); 286 input_report_key(input, keycode, 1);
286 input_sync(input); 287 input_sync(input);
287 input_report_key(input, keycode, 0); 288 input_report_key(input, keycode, 0);
289 input_sync(input);
288 } 290 }
289 input_sync(input);
290 291
291 acpi_bus_generate_proc_event(button->device, event, 292 acpi_bus_generate_proc_event(button->device, event,
292 ++button->pushed); 293 ++button->pushed);
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
index dc98f7a6f2c4..dbcf260ea93f 100644
--- a/drivers/acpi/processor_perflib.c
+++ b/drivers/acpi/processor_perflib.c
@@ -38,7 +38,10 @@
38 38
39#include <asm/uaccess.h> 39#include <asm/uaccess.h>
40#endif 40#endif
41
42#ifdef CONFIG_X86
41#include <asm/cpufeature.h> 43#include <asm/cpufeature.h>
44#endif
42 45
43#include <acpi/acpi_bus.h> 46#include <acpi/acpi_bus.h>
44#include <acpi/processor.h> 47#include <acpi/processor.h>
@@ -360,11 +363,13 @@ static int acpi_processor_get_performance_info(struct acpi_processor *pr)
360 * the BIOS is older than the CPU and does not know its frequencies 363 * the BIOS is older than the CPU and does not know its frequencies
361 */ 364 */
362 update_bios: 365 update_bios:
366#ifdef CONFIG_X86
363 if (ACPI_SUCCESS(acpi_get_handle(pr->handle, "_PPC", &handle))){ 367 if (ACPI_SUCCESS(acpi_get_handle(pr->handle, "_PPC", &handle))){
364 if(boot_cpu_has(X86_FEATURE_EST)) 368 if(boot_cpu_has(X86_FEATURE_EST))
365 printk(KERN_WARNING FW_BUG "BIOS needs update for CPU " 369 printk(KERN_WARNING FW_BUG "BIOS needs update for CPU "
366 "frequency support\n"); 370 "frequency support\n");
367 } 371 }
372#endif
368 return result; 373 return result;
369} 374}
370 375
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index 26571bafb158..80c0868d0480 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -163,6 +163,8 @@ static void acpi_pm_end(void)
163 acpi_target_sleep_state = ACPI_STATE_S0; 163 acpi_target_sleep_state = ACPI_STATE_S0;
164 acpi_sleep_tts_switch(acpi_target_sleep_state); 164 acpi_sleep_tts_switch(acpi_target_sleep_state);
165} 165}
166#else /* !CONFIG_ACPI_SLEEP */
167#define acpi_target_sleep_state ACPI_STATE_S0
166#endif /* CONFIG_ACPI_SLEEP */ 168#endif /* CONFIG_ACPI_SLEEP */
167 169
168#ifdef CONFIG_SUSPEND 170#ifdef CONFIG_SUSPEND
diff --git a/drivers/acpi/toshiba_acpi.c b/drivers/acpi/toshiba_acpi.c
index 2a632f8b7a05..66aac06f2ac5 100644
--- a/drivers/acpi/toshiba_acpi.c
+++ b/drivers/acpi/toshiba_acpi.c
@@ -371,6 +371,7 @@ static void bt_poll_rfkill(struct input_polled_dev *poll_dev)
371 RFKILL_STATE_HARD_BLOCKED); 371 RFKILL_STATE_HARD_BLOCKED);
372 input_report_switch(poll_dev->input, SW_RFKILL_ALL, 372 input_report_switch(poll_dev->input, SW_RFKILL_ALL,
373 new_rfk_state); 373 new_rfk_state);
374 input_sync(poll_dev->input);
374 } 375 }
375} 376}
376 377
@@ -842,6 +843,7 @@ static int __init toshiba_acpi_init(void)
842 set_bit(EV_SW, toshiba_acpi.poll_dev->input->evbit); 843 set_bit(EV_SW, toshiba_acpi.poll_dev->input->evbit);
843 set_bit(SW_RFKILL_ALL, toshiba_acpi.poll_dev->input->swbit); 844 set_bit(SW_RFKILL_ALL, toshiba_acpi.poll_dev->input->swbit);
844 input_report_switch(toshiba_acpi.poll_dev->input, SW_RFKILL_ALL, TRUE); 845 input_report_switch(toshiba_acpi.poll_dev->input, SW_RFKILL_ALL, TRUE);
846 input_sync(toshiba_acpi.poll_dev->input);
845 847
846 ret = input_register_polled_device(toshiba_acpi.poll_dev); 848 ret = input_register_polled_device(toshiba_acpi.poll_dev);
847 if (ret) { 849 if (ret) {
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index aeadd00411a1..a67b8e7c712d 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -49,6 +49,17 @@
49#define DRV_NAME "ahci" 49#define DRV_NAME "ahci"
50#define DRV_VERSION "3.0" 50#define DRV_VERSION "3.0"
51 51
52/* Enclosure Management Control */
53#define EM_CTRL_MSG_TYPE 0x000f0000
54
55/* Enclosure Management LED Message Type */
56#define EM_MSG_LED_HBA_PORT 0x0000000f
57#define EM_MSG_LED_PMP_SLOT 0x0000ff00
58#define EM_MSG_LED_VALUE 0xffff0000
59#define EM_MSG_LED_VALUE_ACTIVITY 0x00070000
60#define EM_MSG_LED_VALUE_OFF 0xfff80000
61#define EM_MSG_LED_VALUE_ON 0x00010000
62
52static int ahci_skip_host_reset; 63static int ahci_skip_host_reset;
53module_param_named(skip_host_reset, ahci_skip_host_reset, int, 0444); 64module_param_named(skip_host_reset, ahci_skip_host_reset, int, 0444);
54MODULE_PARM_DESC(skip_host_reset, "skip global host reset (0=don't skip, 1=skip)"); 65MODULE_PARM_DESC(skip_host_reset, "skip global host reset (0=don't skip, 1=skip)");
@@ -588,6 +599,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
588 { PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv }, /* 6145 */ 599 { PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv }, /* 6145 */
589 { PCI_VDEVICE(MARVELL, 0x6121), board_ahci_mv }, /* 6121 */ 600 { PCI_VDEVICE(MARVELL, 0x6121), board_ahci_mv }, /* 6121 */
590 601
602 /* Promise */
603 { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */
604
591 /* Generic, PCI class code for AHCI */ 605 /* Generic, PCI class code for AHCI */
592 { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 606 { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
593 PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci }, 607 PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
@@ -1220,18 +1234,20 @@ static void ahci_sw_activity_blink(unsigned long arg)
1220 struct ahci_em_priv *emp = &pp->em_priv[link->pmp]; 1234 struct ahci_em_priv *emp = &pp->em_priv[link->pmp];
1221 unsigned long led_message = emp->led_state; 1235 unsigned long led_message = emp->led_state;
1222 u32 activity_led_state; 1236 u32 activity_led_state;
1237 unsigned long flags;
1223 1238
1224 led_message &= 0xffff0000; 1239 led_message &= EM_MSG_LED_VALUE;
1225 led_message |= ap->port_no | (link->pmp << 8); 1240 led_message |= ap->port_no | (link->pmp << 8);
1226 1241
1227 /* check to see if we've had activity. If so, 1242 /* check to see if we've had activity. If so,
1228 * toggle state of LED and reset timer. If not, 1243 * toggle state of LED and reset timer. If not,
1229 * turn LED to desired idle state. 1244 * turn LED to desired idle state.
1230 */ 1245 */
1246 spin_lock_irqsave(ap->lock, flags);
1231 if (emp->saved_activity != emp->activity) { 1247 if (emp->saved_activity != emp->activity) {
1232 emp->saved_activity = emp->activity; 1248 emp->saved_activity = emp->activity;
1233 /* get the current LED state */ 1249 /* get the current LED state */
1234 activity_led_state = led_message & 0x00010000; 1250 activity_led_state = led_message & EM_MSG_LED_VALUE_ON;
1235 1251
1236 if (activity_led_state) 1252 if (activity_led_state)
1237 activity_led_state = 0; 1253 activity_led_state = 0;
@@ -1239,17 +1255,18 @@ static void ahci_sw_activity_blink(unsigned long arg)
1239 activity_led_state = 1; 1255 activity_led_state = 1;
1240 1256
1241 /* clear old state */ 1257 /* clear old state */
1242 led_message &= 0xfff8ffff; 1258 led_message &= ~EM_MSG_LED_VALUE_ACTIVITY;
1243 1259
1244 /* toggle state */ 1260 /* toggle state */
1245 led_message |= (activity_led_state << 16); 1261 led_message |= (activity_led_state << 16);
1246 mod_timer(&emp->timer, jiffies + msecs_to_jiffies(100)); 1262 mod_timer(&emp->timer, jiffies + msecs_to_jiffies(100));
1247 } else { 1263 } else {
1248 /* switch to idle */ 1264 /* switch to idle */
1249 led_message &= 0xfff8ffff; 1265 led_message &= ~EM_MSG_LED_VALUE_ACTIVITY;
1250 if (emp->blink_policy == BLINK_OFF) 1266 if (emp->blink_policy == BLINK_OFF)
1251 led_message |= (1 << 16); 1267 led_message |= (1 << 16);
1252 } 1268 }
1269 spin_unlock_irqrestore(ap->lock, flags);
1253 ahci_transmit_led_message(ap, led_message, 4); 1270 ahci_transmit_led_message(ap, led_message, 4);
1254} 1271}
1255 1272
@@ -1294,7 +1311,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,
1294 struct ahci_em_priv *emp; 1311 struct ahci_em_priv *emp;
1295 1312
1296 /* get the slot number from the message */ 1313 /* get the slot number from the message */
1297 pmp = (state & 0x0000ff00) >> 8; 1314 pmp = (state & EM_MSG_LED_PMP_SLOT) >> 8;
1298 if (pmp < MAX_SLOTS) 1315 if (pmp < MAX_SLOTS)
1299 emp = &pp->em_priv[pmp]; 1316 emp = &pp->em_priv[pmp];
1300 else 1317 else
@@ -1319,7 +1336,7 @@ static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,
1319 message[0] |= (4 << 8); 1336 message[0] |= (4 << 8);
1320 1337
1321 /* ignore 0:4 of byte zero, fill in port info yourself */ 1338 /* ignore 0:4 of byte zero, fill in port info yourself */
1322 message[1] = ((state & 0xfffffff0) | ap->port_no); 1339 message[1] = ((state & ~EM_MSG_LED_HBA_PORT) | ap->port_no);
1323 1340
1324 /* write message to EM_LOC */ 1341 /* write message to EM_LOC */
1325 writel(message[0], mmio + hpriv->em_loc); 1342 writel(message[0], mmio + hpriv->em_loc);
@@ -1362,7 +1379,7 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,
1362 state = simple_strtoul(buf, NULL, 0); 1379 state = simple_strtoul(buf, NULL, 0);
1363 1380
1364 /* get the slot number from the message */ 1381 /* get the slot number from the message */
1365 pmp = (state & 0x0000ff00) >> 8; 1382 pmp = (state & EM_MSG_LED_PMP_SLOT) >> 8;
1366 if (pmp < MAX_SLOTS) 1383 if (pmp < MAX_SLOTS)
1367 emp = &pp->em_priv[pmp]; 1384 emp = &pp->em_priv[pmp];
1368 else 1385 else
@@ -1373,7 +1390,7 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,
1373 * activity led through em_message 1390 * activity led through em_message
1374 */ 1391 */
1375 if (emp->blink_policy) 1392 if (emp->blink_policy)
1376 state &= 0xfff8ffff; 1393 state &= ~EM_MSG_LED_VALUE_ACTIVITY;
1377 1394
1378 return ahci_transmit_led_message(ap, state, size); 1395 return ahci_transmit_led_message(ap, state, size);
1379} 1396}
@@ -1392,16 +1409,16 @@ static ssize_t ahci_activity_store(struct ata_device *dev, enum sw_activity val)
1392 link->flags &= ~(ATA_LFLAG_SW_ACTIVITY); 1409 link->flags &= ~(ATA_LFLAG_SW_ACTIVITY);
1393 1410
1394 /* set the LED to OFF */ 1411 /* set the LED to OFF */
1395 port_led_state &= 0xfff80000; 1412 port_led_state &= EM_MSG_LED_VALUE_OFF;
1396 port_led_state |= (ap->port_no | (link->pmp << 8)); 1413 port_led_state |= (ap->port_no | (link->pmp << 8));
1397 ahci_transmit_led_message(ap, port_led_state, 4); 1414 ahci_transmit_led_message(ap, port_led_state, 4);
1398 } else { 1415 } else {
1399 link->flags |= ATA_LFLAG_SW_ACTIVITY; 1416 link->flags |= ATA_LFLAG_SW_ACTIVITY;
1400 if (val == BLINK_OFF) { 1417 if (val == BLINK_OFF) {
1401 /* set LED to ON for idle */ 1418 /* set LED to ON for idle */
1402 port_led_state &= 0xfff80000; 1419 port_led_state &= EM_MSG_LED_VALUE_OFF;
1403 port_led_state |= (ap->port_no | (link->pmp << 8)); 1420 port_led_state |= (ap->port_no | (link->pmp << 8));
1404 port_led_state |= 0x00010000; /* check this */ 1421 port_led_state |= EM_MSG_LED_VALUE_ON; /* check this */
1405 ahci_transmit_led_message(ap, port_led_state, 4); 1422 ahci_transmit_led_message(ap, port_led_state, 4);
1406 } 1423 }
1407 } 1424 }
@@ -2612,7 +2629,7 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2612 u32 em_loc = readl(mmio + HOST_EM_LOC); 2629 u32 em_loc = readl(mmio + HOST_EM_LOC);
2613 u32 em_ctl = readl(mmio + HOST_EM_CTL); 2630 u32 em_ctl = readl(mmio + HOST_EM_CTL);
2614 2631
2615 messages = (em_ctl & 0x000f0000) >> 16; 2632 messages = (em_ctl & EM_CTRL_MSG_TYPE) >> 16;
2616 2633
2617 /* we only support LED message type right now */ 2634 /* we only support LED message type right now */
2618 if ((messages & 0x01) && (ahci_em_messages == 1)) { 2635 if ((messages & 0x01) && (ahci_em_messages == 1)) {
diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
index 75a406f5e694..5c33767e66de 100644
--- a/drivers/ata/ata_generic.c
+++ b/drivers/ata/ata_generic.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * ata_generic.c - Generic PATA/SATA controller driver. 2 * ata_generic.c - Generic PATA/SATA controller driver.
3 * Copyright 2005 Red Hat Inc <alan@redhat.com>, all rights reserved. 3 * Copyright 2005 Red Hat Inc, all rights reserved.
4 * 4 *
5 * Elements from ide/pci/generic.c 5 * Elements from ide/pci/generic.c
6 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 6 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index e9e32ed6b1a3..8e37be19bbf5 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -14,7 +14,7 @@
14 * 14 *
15 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer 15 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer
16 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org> 16 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org>
17 * Copyright (C) 2003 Red Hat Inc <alan@redhat.com> 17 * Copyright (C) 2003 Red Hat Inc
18 * 18 *
19 * 19 *
20 * This program is free software; you can redistribute it and/or modify 20 * This program is free software; you can redistribute it and/or modify
@@ -738,7 +738,6 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
738 * do_pata_set_dmamode - Initialize host controller PATA PIO timings 738 * do_pata_set_dmamode - Initialize host controller PATA PIO timings
739 * @ap: Port whose timings we are configuring 739 * @ap: Port whose timings we are configuring
740 * @adev: Drive in question 740 * @adev: Drive in question
741 * @udma: udma mode, 0 - 6
742 * @isich: set if the chip is an ICH device 741 * @isich: set if the chip is an ICH device
743 * 742 *
744 * Set UDMA mode for device, in host controller PCI config space. 743 * Set UDMA mode for device, in host controller PCI config space.
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 8cb0b360bfd8..4214bfb13bbd 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -612,7 +612,7 @@ u64 ata_tf_read_block(struct ata_taskfile *tf, struct ata_device *dev)
612 if (tf->flags & ATA_TFLAG_LBA48) { 612 if (tf->flags & ATA_TFLAG_LBA48) {
613 block |= (u64)tf->hob_lbah << 40; 613 block |= (u64)tf->hob_lbah << 40;
614 block |= (u64)tf->hob_lbam << 32; 614 block |= (u64)tf->hob_lbam << 32;
615 block |= tf->hob_lbal << 24; 615 block |= (u64)tf->hob_lbal << 24;
616 } else 616 } else
617 block |= (tf->device & 0xf) << 24; 617 block |= (tf->device & 0xf) << 24;
618 618
@@ -1268,7 +1268,7 @@ u64 ata_tf_to_lba48(const struct ata_taskfile *tf)
1268 1268
1269 sectors |= ((u64)(tf->hob_lbah & 0xff)) << 40; 1269 sectors |= ((u64)(tf->hob_lbah & 0xff)) << 40;
1270 sectors |= ((u64)(tf->hob_lbam & 0xff)) << 32; 1270 sectors |= ((u64)(tf->hob_lbam & 0xff)) << 32;
1271 sectors |= (tf->hob_lbal & 0xff) << 24; 1271 sectors |= ((u64)(tf->hob_lbal & 0xff)) << 24;
1272 sectors |= (tf->lbah & 0xff) << 16; 1272 sectors |= (tf->lbah & 0xff) << 16;
1273 sectors |= (tf->lbam & 0xff) << 8; 1273 sectors |= (tf->lbam & 0xff) << 8;
1274 sectors |= (tf->lbal & 0xff); 1274 sectors |= (tf->lbal & 0xff);
@@ -1602,7 +1602,6 @@ unsigned long ata_id_xfermask(const u16 *id)
1602/** 1602/**
1603 * ata_pio_queue_task - Queue port_task 1603 * ata_pio_queue_task - Queue port_task
1604 * @ap: The ata_port to queue port_task for 1604 * @ap: The ata_port to queue port_task for
1605 * @fn: workqueue function to be scheduled
1606 * @data: data for @fn to use 1605 * @data: data for @fn to use
1607 * @delay: delay time in msecs for workqueue function 1606 * @delay: delay time in msecs for workqueue function
1608 * 1607 *
@@ -1713,6 +1712,8 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
1713 else 1712 else
1714 tag = 0; 1713 tag = 0;
1715 1714
1715 if (test_and_set_bit(tag, &ap->qc_allocated))
1716 BUG();
1716 qc = __ata_qc_from_tag(ap, tag); 1717 qc = __ata_qc_from_tag(ap, tag);
1717 1718
1718 qc->tag = tag; 1719 qc->tag = tag;
@@ -2159,6 +2160,10 @@ retry:
2159static inline u8 ata_dev_knobble(struct ata_device *dev) 2160static inline u8 ata_dev_knobble(struct ata_device *dev)
2160{ 2161{
2161 struct ata_port *ap = dev->link->ap; 2162 struct ata_port *ap = dev->link->ap;
2163
2164 if (ata_dev_blacklisted(dev) & ATA_HORKAGE_BRIDGE_OK)
2165 return 0;
2166
2162 return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev->id))); 2167 return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev->id)));
2163} 2168}
2164 2169
@@ -4021,6 +4026,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4021 4026
4022 /* Weird ATAPI devices */ 4027 /* Weird ATAPI devices */
4023 { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, 4028 { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 },
4029 { "QUANTUM DAT DAT72-000", NULL, ATA_HORKAGE_ATAPI_MOD16_DMA },
4024 4030
4025 /* Devices we expect to fail diagnostics */ 4031 /* Devices we expect to fail diagnostics */
4026 4032
@@ -4063,6 +4069,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4063 { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, }, 4069 { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, },
4064 { "TSSTcorp CDDVDW SH-S202N", "SB01", ATA_HORKAGE_IVB, }, 4070 { "TSSTcorp CDDVDW SH-S202N", "SB01", ATA_HORKAGE_IVB, },
4065 4071
4072 /* Devices that do not need bridging limits applied */
4073 { "MTRON MSP-SATA*", NULL, ATA_HORKAGE_BRIDGE_OK, },
4074
4066 /* End Marker */ 4075 /* End Marker */
4067 { } 4076 { }
4068}; 4077};
@@ -4156,29 +4165,33 @@ static int cable_is_40wire(struct ata_port *ap)
4156 struct ata_link *link; 4165 struct ata_link *link;
4157 struct ata_device *dev; 4166 struct ata_device *dev;
4158 4167
4159 /* If the controller thinks we are 40 wire, we are */ 4168 /* If the controller thinks we are 40 wire, we are. */
4160 if (ap->cbl == ATA_CBL_PATA40) 4169 if (ap->cbl == ATA_CBL_PATA40)
4161 return 1; 4170 return 1;
4162 /* If the controller thinks we are 80 wire, we are */ 4171
4172 /* If the controller thinks we are 80 wire, we are. */
4163 if (ap->cbl == ATA_CBL_PATA80 || ap->cbl == ATA_CBL_SATA) 4173 if (ap->cbl == ATA_CBL_PATA80 || ap->cbl == ATA_CBL_SATA)
4164 return 0; 4174 return 0;
4165 /* If the system is known to be 40 wire short cable (eg laptop), 4175
4166 then we allow 80 wire modes even if the drive isn't sure */ 4176 /* If the system is known to be 40 wire short cable (eg
4177 * laptop), then we allow 80 wire modes even if the drive
4178 * isn't sure.
4179 */
4167 if (ap->cbl == ATA_CBL_PATA40_SHORT) 4180 if (ap->cbl == ATA_CBL_PATA40_SHORT)
4168 return 0; 4181 return 0;
4169 /* If the controller doesn't know we scan 4182
4170 4183 /* If the controller doesn't know, we scan.
4171 - Note: We look for all 40 wire detects at this point. 4184 *
4172 Any 80 wire detect is taken to be 80 wire cable 4185 * Note: We look for all 40 wire detects at this point. Any
4173 because 4186 * 80 wire detect is taken to be 80 wire cable because
4174 - In many setups only the one drive (slave if present) 4187 * - in many setups only the one drive (slave if present) will
4175 will give a valid detect 4188 * give a valid detect
4176 - If you have a non detect capable drive you don't 4189 * - if you have a non detect capable drive you don't want it
4177 want it to colour the choice 4190 * to colour the choice
4178 */ 4191 */
4179 ata_port_for_each_link(link, ap) { 4192 ata_port_for_each_link(link, ap) {
4180 ata_link_for_each_dev(dev, link) { 4193 ata_link_for_each_dev(dev, link) {
4181 if (!ata_is_40wire(dev)) 4194 if (ata_dev_enabled(dev) && !ata_is_40wire(dev))
4182 return 0; 4195 return 0;
4183 } 4196 }
4184 } 4197 }
@@ -4434,7 +4447,8 @@ int atapi_check_dma(struct ata_queued_cmd *qc)
4434 /* Don't allow DMA if it isn't multiple of 16 bytes. Quite a 4447 /* Don't allow DMA if it isn't multiple of 16 bytes. Quite a
4435 * few ATAPI devices choke on such DMA requests. 4448 * few ATAPI devices choke on such DMA requests.
4436 */ 4449 */
4437 if (unlikely(qc->nbytes & 15)) 4450 if (!(qc->dev->horkage & ATA_HORKAGE_ATAPI_MOD16_DMA) &&
4451 unlikely(qc->nbytes & 15))
4438 return 1; 4452 return 1;
4439 4453
4440 if (ap->ops->check_atapi_dma) 4454 if (ap->ops->check_atapi_dma)
@@ -4551,27 +4565,55 @@ void swap_buf_le16(u16 *buf, unsigned int buf_words)
4551} 4565}
4552 4566
4553/** 4567/**
4554 * ata_qc_new_init - Request an available ATA command, and initialize it 4568 * ata_qc_new - Request an available ATA command, for queueing
4569 * @ap: Port associated with device @dev
4555 * @dev: Device from whom we request an available command structure 4570 * @dev: Device from whom we request an available command structure
4556 * 4571 *
4557 * LOCKING: 4572 * LOCKING:
4558 * None. 4573 * None.
4559 */ 4574 */
4560 4575
4561struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev, int tag) 4576static struct ata_queued_cmd *ata_qc_new(struct ata_port *ap)
4562{ 4577{
4563 struct ata_port *ap = dev->link->ap; 4578 struct ata_queued_cmd *qc = NULL;
4564 struct ata_queued_cmd *qc; 4579 unsigned int i;
4565 4580
4581 /* no command while frozen */
4566 if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) 4582 if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
4567 return NULL; 4583 return NULL;
4568 4584
4569 qc = __ata_qc_from_tag(ap, tag); 4585 /* the last tag is reserved for internal command. */
4586 for (i = 0; i < ATA_MAX_QUEUE - 1; i++)
4587 if (!test_and_set_bit(i, &ap->qc_allocated)) {
4588 qc = __ata_qc_from_tag(ap, i);
4589 break;
4590 }
4591
4592 if (qc)
4593 qc->tag = i;
4594
4595 return qc;
4596}
4597
4598/**
4599 * ata_qc_new_init - Request an available ATA command, and initialize it
4600 * @dev: Device from whom we request an available command structure
4601 * @tag: command tag
4602 *
4603 * LOCKING:
4604 * None.
4605 */
4606
4607struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev)
4608{
4609 struct ata_port *ap = dev->link->ap;
4610 struct ata_queued_cmd *qc;
4611
4612 qc = ata_qc_new(ap);
4570 if (qc) { 4613 if (qc) {
4571 qc->scsicmd = NULL; 4614 qc->scsicmd = NULL;
4572 qc->ap = ap; 4615 qc->ap = ap;
4573 qc->dev = dev; 4616 qc->dev = dev;
4574 qc->tag = tag;
4575 4617
4576 ata_qc_reinit(qc); 4618 ata_qc_reinit(qc);
4577 } 4619 }
@@ -4579,6 +4621,31 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev, int tag)
4579 return qc; 4621 return qc;
4580} 4622}
4581 4623
4624/**
4625 * ata_qc_free - free unused ata_queued_cmd
4626 * @qc: Command to complete
4627 *
4628 * Designed to free unused ata_queued_cmd object
4629 * in case something prevents using it.
4630 *
4631 * LOCKING:
4632 * spin_lock_irqsave(host lock)
4633 */
4634void ata_qc_free(struct ata_queued_cmd *qc)
4635{
4636 struct ata_port *ap = qc->ap;
4637 unsigned int tag;
4638
4639 WARN_ON(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
4640
4641 qc->flags = 0;
4642 tag = qc->tag;
4643 if (likely(ata_tag_valid(tag))) {
4644 qc->tag = ATA_TAG_POISON;
4645 clear_bit(tag, &ap->qc_allocated);
4646 }
4647}
4648
4582void __ata_qc_complete(struct ata_queued_cmd *qc) 4649void __ata_qc_complete(struct ata_queued_cmd *qc)
4583{ 4650{
4584 struct ata_port *ap = qc->ap; 4651 struct ata_port *ap = qc->ap;
@@ -4643,7 +4710,6 @@ static void ata_verify_xfer(struct ata_queued_cmd *qc)
4643/** 4710/**
4644 * ata_qc_complete - Complete an active ATA command 4711 * ata_qc_complete - Complete an active ATA command
4645 * @qc: Command to complete 4712 * @qc: Command to complete
4646 * @err_mask: ATA Status register contents
4647 * 4713 *
4648 * Indicate to the mid and upper layers that an ATA 4714 * Indicate to the mid and upper layers that an ATA
4649 * command has completed, with either an ok or not-ok status. 4715 * command has completed, with either an ok or not-ok status.
@@ -5924,7 +5990,7 @@ static void ata_port_detach(struct ata_port *ap)
5924 * to us. Restore SControl and disable all existing devices. 5990 * to us. Restore SControl and disable all existing devices.
5925 */ 5991 */
5926 __ata_port_for_each_link(link, ap) { 5992 __ata_port_for_each_link(link, ap) {
5927 sata_scr_write(link, SCR_CONTROL, link->saved_scontrol); 5993 sata_scr_write(link, SCR_CONTROL, link->saved_scontrol & 0xff0);
5928 ata_link_for_each_dev(dev, link) 5994 ata_link_for_each_dev(dev, link)
5929 ata_dev_disable(dev); 5995 ata_dev_disable(dev);
5930 } 5996 }
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 5d687d7cffae..32da9a93ce44 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -603,13 +603,13 @@ void ata_scsi_error(struct Scsi_Host *host)
603 ata_link_for_each_dev(dev, link) { 603 ata_link_for_each_dev(dev, link) {
604 int devno = dev->devno; 604 int devno = dev->devno;
605 605
606 if (!ata_dev_enabled(dev))
607 continue;
608
606 ehc->saved_xfer_mode[devno] = dev->xfer_mode; 609 ehc->saved_xfer_mode[devno] = dev->xfer_mode;
607 if (ata_ncq_enabled(dev)) 610 if (ata_ncq_enabled(dev))
608 ehc->saved_ncq_enabled |= 1 << devno; 611 ehc->saved_ncq_enabled |= 1 << devno;
609 } 612 }
610
611 /* set last reset timestamp to some time in the past */
612 ehc->last_reset = jiffies - 60 * HZ;
613 } 613 }
614 614
615 ap->pflags |= ATA_PFLAG_EH_IN_PROGRESS; 615 ap->pflags |= ATA_PFLAG_EH_IN_PROGRESS;
@@ -1161,6 +1161,7 @@ void ata_eh_detach_dev(struct ata_device *dev)
1161{ 1161{
1162 struct ata_link *link = dev->link; 1162 struct ata_link *link = dev->link;
1163 struct ata_port *ap = link->ap; 1163 struct ata_port *ap = link->ap;
1164 struct ata_eh_context *ehc = &link->eh_context;
1164 unsigned long flags; 1165 unsigned long flags;
1165 1166
1166 ata_dev_disable(dev); 1167 ata_dev_disable(dev);
@@ -1174,9 +1175,11 @@ void ata_eh_detach_dev(struct ata_device *dev)
1174 ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG; 1175 ap->pflags |= ATA_PFLAG_SCSI_HOTPLUG;
1175 } 1176 }
1176 1177
1177 /* clear per-dev EH actions */ 1178 /* clear per-dev EH info */
1178 ata_eh_clear_action(link, dev, &link->eh_info, ATA_EH_PERDEV_MASK); 1179 ata_eh_clear_action(link, dev, &link->eh_info, ATA_EH_PERDEV_MASK);
1179 ata_eh_clear_action(link, dev, &link->eh_context.i, ATA_EH_PERDEV_MASK); 1180 ata_eh_clear_action(link, dev, &link->eh_context.i, ATA_EH_PERDEV_MASK);
1181 ehc->saved_xfer_mode[dev->devno] = 0;
1182 ehc->saved_ncq_enabled &= ~(1 << dev->devno);
1180 1183
1181 spin_unlock_irqrestore(ap->lock, flags); 1184 spin_unlock_irqrestore(ap->lock, flags);
1182} 1185}
@@ -2275,17 +2278,21 @@ int ata_eh_reset(struct ata_link *link, int classify,
2275 if (link->flags & ATA_LFLAG_NO_SRST) 2278 if (link->flags & ATA_LFLAG_NO_SRST)
2276 softreset = NULL; 2279 softreset = NULL;
2277 2280
2278 now = jiffies; 2281 /* make sure each reset attemp is at least COOL_DOWN apart */
2279 deadline = ata_deadline(ehc->last_reset, ATA_EH_RESET_COOL_DOWN); 2282 if (ehc->i.flags & ATA_EHI_DID_RESET) {
2280 if (time_before(now, deadline)) 2283 now = jiffies;
2281 schedule_timeout_uninterruptible(deadline - now); 2284 WARN_ON(time_after(ehc->last_reset, now));
2285 deadline = ata_deadline(ehc->last_reset,
2286 ATA_EH_RESET_COOL_DOWN);
2287 if (time_before(now, deadline))
2288 schedule_timeout_uninterruptible(deadline - now);
2289 }
2282 2290
2283 spin_lock_irqsave(ap->lock, flags); 2291 spin_lock_irqsave(ap->lock, flags);
2284 ap->pflags |= ATA_PFLAG_RESETTING; 2292 ap->pflags |= ATA_PFLAG_RESETTING;
2285 spin_unlock_irqrestore(ap->lock, flags); 2293 spin_unlock_irqrestore(ap->lock, flags);
2286 2294
2287 ata_eh_about_to_do(link, NULL, ATA_EH_RESET); 2295 ata_eh_about_to_do(link, NULL, ATA_EH_RESET);
2288 ehc->last_reset = jiffies;
2289 2296
2290 ata_link_for_each_dev(dev, link) { 2297 ata_link_for_each_dev(dev, link) {
2291 /* If we issue an SRST then an ATA drive (not ATAPI) 2298 /* If we issue an SRST then an ATA drive (not ATAPI)
@@ -2373,7 +2380,6 @@ int ata_eh_reset(struct ata_link *link, int classify,
2373 /* 2380 /*
2374 * Perform reset 2381 * Perform reset
2375 */ 2382 */
2376 ehc->last_reset = jiffies;
2377 if (ata_is_host_link(link)) 2383 if (ata_is_host_link(link))
2378 ata_eh_freeze_port(ap); 2384 ata_eh_freeze_port(ap);
2379 2385
@@ -2385,6 +2391,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
2385 reset == softreset ? "soft" : "hard"); 2391 reset == softreset ? "soft" : "hard");
2386 2392
2387 /* mark that this EH session started with reset */ 2393 /* mark that this EH session started with reset */
2394 ehc->last_reset = jiffies;
2388 if (reset == hardreset) 2395 if (reset == hardreset)
2389 ehc->i.flags |= ATA_EHI_DID_HARDRESET; 2396 ehc->i.flags |= ATA_EHI_DID_HARDRESET;
2390 else 2397 else
@@ -2529,7 +2536,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
2529 ata_eh_done(link, NULL, ATA_EH_RESET); 2536 ata_eh_done(link, NULL, ATA_EH_RESET);
2530 if (slave) 2537 if (slave)
2531 ata_eh_done(slave, NULL, ATA_EH_RESET); 2538 ata_eh_done(slave, NULL, ATA_EH_RESET);
2532 ehc->last_reset = jiffies; 2539 ehc->last_reset = jiffies; /* update to completion time */
2533 ehc->i.action |= ATA_EH_REVALIDATE; 2540 ehc->i.action |= ATA_EH_REVALIDATE;
2534 2541
2535 rc = 0; 2542 rc = 0;
@@ -2787,6 +2794,9 @@ int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
2787 2794
2788 /* if data transfer is verified, clear DUBIOUS_XFER on ering top */ 2795 /* if data transfer is verified, clear DUBIOUS_XFER on ering top */
2789 ata_link_for_each_dev(dev, link) { 2796 ata_link_for_each_dev(dev, link) {
2797 if (!ata_dev_enabled(dev))
2798 continue;
2799
2790 if (!(dev->flags & ATA_DFLAG_DUBIOUS_XFER)) { 2800 if (!(dev->flags & ATA_DFLAG_DUBIOUS_XFER)) {
2791 struct ata_ering_entry *ent; 2801 struct ata_ering_entry *ent;
2792 2802
@@ -2808,6 +2818,9 @@ int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
2808 u8 saved_xfer_mode = ehc->saved_xfer_mode[dev->devno]; 2818 u8 saved_xfer_mode = ehc->saved_xfer_mode[dev->devno];
2809 u8 saved_ncq = !!(ehc->saved_ncq_enabled & (1 << dev->devno)); 2819 u8 saved_ncq = !!(ehc->saved_ncq_enabled & (1 << dev->devno));
2810 2820
2821 if (!ata_dev_enabled(dev))
2822 continue;
2823
2811 if (dev->xfer_mode != saved_xfer_mode || 2824 if (dev->xfer_mode != saved_xfer_mode ||
2812 ata_ncq_enabled(dev) != saved_ncq) 2825 ata_ncq_enabled(dev) != saved_ncq)
2813 dev->flags |= ATA_DFLAG_DUBIOUS_XFER; 2826 dev->flags |= ATA_DFLAG_DUBIOUS_XFER;
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 4b95c4387e9e..47c7afcb36f2 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -190,7 +190,7 @@ static ssize_t ata_scsi_park_show(struct device *device,
190 struct ata_port *ap; 190 struct ata_port *ap;
191 struct ata_link *link; 191 struct ata_link *link;
192 struct ata_device *dev; 192 struct ata_device *dev;
193 unsigned long flags; 193 unsigned long flags, now;
194 unsigned int uninitialized_var(msecs); 194 unsigned int uninitialized_var(msecs);
195 int rc = 0; 195 int rc = 0;
196 196
@@ -208,10 +208,11 @@ static ssize_t ata_scsi_park_show(struct device *device,
208 } 208 }
209 209
210 link = dev->link; 210 link = dev->link;
211 now = jiffies;
211 if (ap->pflags & ATA_PFLAG_EH_IN_PROGRESS && 212 if (ap->pflags & ATA_PFLAG_EH_IN_PROGRESS &&
212 link->eh_context.unloaded_mask & (1 << dev->devno) && 213 link->eh_context.unloaded_mask & (1 << dev->devno) &&
213 time_after(dev->unpark_deadline, jiffies)) 214 time_after(dev->unpark_deadline, now))
214 msecs = jiffies_to_msecs(dev->unpark_deadline - jiffies); 215 msecs = jiffies_to_msecs(dev->unpark_deadline - now);
215 else 216 else
216 msecs = 0; 217 msecs = 0;
217 218
@@ -708,11 +709,7 @@ static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
708{ 709{
709 struct ata_queued_cmd *qc; 710 struct ata_queued_cmd *qc;
710 711
711 if (cmd->request->tag != -1) 712 qc = ata_qc_new_init(dev);
712 qc = ata_qc_new_init(dev, cmd->request->tag);
713 else
714 qc = ata_qc_new_init(dev, 0);
715
716 if (qc) { 713 if (qc) {
717 qc->scsicmd = cmd; 714 qc->scsicmd = cmd;
718 qc->scsidone = done; 715 qc->scsidone = done;
@@ -1107,8 +1104,7 @@ static int ata_scsi_dev_config(struct scsi_device *sdev,
1107 1104
1108 depth = min(sdev->host->can_queue, ata_id_queue_depth(dev->id)); 1105 depth = min(sdev->host->can_queue, ata_id_queue_depth(dev->id));
1109 depth = min(ATA_MAX_QUEUE - 1, depth); 1106 depth = min(ATA_MAX_QUEUE - 1, depth);
1110 scsi_set_tag_type(sdev, MSG_SIMPLE_TAG); 1107 scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, depth);
1111 scsi_activate_tcq(sdev, depth);
1112 } 1108 }
1113 1109
1114 return 0; 1110 return 0;
@@ -1948,11 +1944,6 @@ static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
1948 hdr[1] |= (1 << 7); 1944 hdr[1] |= (1 << 7);
1949 1945
1950 memcpy(rbuf, hdr, sizeof(hdr)); 1946 memcpy(rbuf, hdr, sizeof(hdr));
1951
1952 /* if ncq, set tags supported */
1953 if (ata_id_has_ncq(args->id))
1954 rbuf[7] |= (1 << 1);
1955
1956 memcpy(&rbuf[8], "ATA ", 8); 1947 memcpy(&rbuf[8], "ATA ", 8);
1957 ata_id_string(args->id, &rbuf[16], ATA_ID_PROD, 16); 1948 ata_id_string(args->id, &rbuf[16], ATA_ID_PROD, 16);
1958 ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV, 4); 1949 ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV, 4);
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index d3831d39bdaa..fe2839e58774 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -74,7 +74,7 @@ extern struct ata_link *ata_dev_phys_link(struct ata_device *dev);
74extern void ata_force_cbl(struct ata_port *ap); 74extern void ata_force_cbl(struct ata_port *ap);
75extern u64 ata_tf_to_lba(const struct ata_taskfile *tf); 75extern u64 ata_tf_to_lba(const struct ata_taskfile *tf);
76extern u64 ata_tf_to_lba48(const struct ata_taskfile *tf); 76extern u64 ata_tf_to_lba48(const struct ata_taskfile *tf);
77extern struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev, int tag); 77extern struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev);
78extern int ata_build_rw_tf(struct ata_taskfile *tf, struct ata_device *dev, 78extern int ata_build_rw_tf(struct ata_taskfile *tf, struct ata_device *dev,
79 u64 block, u32 n_block, unsigned int tf_flags, 79 u64 block, u32 n_block, unsigned int tf_flags,
80 unsigned int tag); 80 unsigned int tag);
@@ -103,6 +103,7 @@ extern int ata_dev_configure(struct ata_device *dev);
103extern int sata_down_spd_limit(struct ata_link *link); 103extern int sata_down_spd_limit(struct ata_link *link);
104extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel); 104extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel);
105extern void ata_sg_clean(struct ata_queued_cmd *qc); 105extern void ata_sg_clean(struct ata_queued_cmd *qc);
106extern void ata_qc_free(struct ata_queued_cmd *qc);
106extern void ata_qc_issue(struct ata_queued_cmd *qc); 107extern void ata_qc_issue(struct ata_queued_cmd *qc);
107extern void __ata_qc_complete(struct ata_queued_cmd *qc); 108extern void __ata_qc_complete(struct ata_queued_cmd *qc);
108extern int atapi_check_dma(struct ata_queued_cmd *qc); 109extern int atapi_check_dma(struct ata_queued_cmd *qc);
@@ -118,22 +119,6 @@ extern struct ata_port *ata_port_alloc(struct ata_host *host);
118extern void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy); 119extern void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy);
119extern void ata_lpm_schedule(struct ata_port *ap, enum link_pm); 120extern void ata_lpm_schedule(struct ata_port *ap, enum link_pm);
120 121
121/**
122 * ata_qc_free - free unused ata_queued_cmd
123 * @qc: Command to complete
124 *
125 * Designed to free unused ata_queued_cmd object
126 * in case something prevents using it.
127 *
128 * LOCKING:
129 * spin_lock_irqsave(host lock)
130 */
131static inline void ata_qc_free(struct ata_queued_cmd *qc)
132{
133 qc->flags = 0;
134 qc->tag = ATA_TAG_POISON;
135}
136
137/* libata-acpi.c */ 122/* libata-acpi.c */
138#ifdef CONFIG_ATA_ACPI 123#ifdef CONFIG_ATA_ACPI
139extern void ata_acpi_associate_sata_port(struct ata_port *ap); 124extern void ata_acpi_associate_sata_port(struct ata_port *ap);
diff --git a/drivers/ata/pata_acpi.c b/drivers/ata/pata_acpi.c
index eb919c16a03e..e2e332d8ff95 100644
--- a/drivers/ata/pata_acpi.c
+++ b/drivers/ata/pata_acpi.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * ACPI PATA driver 2 * ACPI PATA driver
3 * 3 *
4 * (c) 2007 Red Hat <alan@redhat.com> 4 * (c) 2007 Red Hat
5 */ 5 */
6 6
7#include <linux/kernel.h> 7#include <linux/kernel.h>
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
index 5ca70fa1f587..73c466e452ca 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_ali.c - ALI 15x3 PATA for new ATA layer 2 * pata_ali.c - ALI 15x3 PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * based in part upon 5 * based in part upon
7 * linux/drivers/ide/pci/alim15x3.c Version 0.17 2003/01/02 6 * linux/drivers/ide/pci/alim15x3.c Version 0.17 2003/01/02
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index 57dd00f463d3..0ec9c7d9fe9d 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_amd.c - AMD PATA for new ATA layer 2 * pata_amd.c - AMD PATA for new ATA layer
3 * (C) 2005-2006 Red Hat Inc 3 * (C) 2005-2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Based on pata-sil680. Errata information is taken from data sheets 5 * Based on pata-sil680. Errata information is taken from data sheets
7 * and the amd74xx.c driver by Vojtech Pavlik. Nvidia SATA devices are 6 * and the amd74xx.c driver by Vojtech Pavlik. Nvidia SATA devices are
diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
index 0f513bc11193..6b3092c75ffe 100644
--- a/drivers/ata/pata_artop.c
+++ b/drivers/ata/pata_artop.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_artop.c - ARTOP ATA controller driver 2 * pata_artop.c - ARTOP ATA controller driver
3 * 3 *
4 * (C) 2006 Red Hat <alan@redhat.com> 4 * (C) 2006 Red Hat
5 * (C) 2007 Bartlomiej Zolnierkiewicz 5 * (C) 2007 Bartlomiej Zolnierkiewicz
6 * 6 *
7 * Based in part on drivers/ide/pci/aec62xx.c 7 * Based in part on drivers/ide/pci/aec62xx.c
diff --git a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c
index e8a0d99d7356..0e2cde8f9973 100644
--- a/drivers/ata/pata_atiixp.c
+++ b/drivers/ata/pata_atiixp.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_atiixp.c - ATI PATA for new ATA layer 2 * pata_atiixp.c - ATI PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Based on 5 * Based on
7 * 6 *
diff --git a/drivers/ata/pata_cmd640.c b/drivers/ata/pata_cmd640.c
index 2de30b990278..34a394264c3d 100644
--- a/drivers/ata/pata_cmd640.c
+++ b/drivers/ata/pata_cmd640.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_cmd640.c - CMD640 PCI PATA for new ATA layer 2 * pata_cmd640.c - CMD640 PCI PATA for new ATA layer
3 * (C) 2007 Red Hat Inc 3 * (C) 2007 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Based upon 5 * Based upon
7 * linux/drivers/ide/pci/cmd640.c Version 1.02 Sep 01, 1996 6 * linux/drivers/ide/pci/cmd640.c Version 1.02 Sep 01, 1996
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c
index ddd09b7d98c9..3167d8fed2f2 100644
--- a/drivers/ata/pata_cmd64x.c
+++ b/drivers/ata/pata_cmd64x.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_cmd64x.c - CMD64x PATA for new ATA layer 2 * pata_cmd64x.c - CMD64x PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * Based upon 6 * Based upon
7 * linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002 7 * linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002
diff --git a/drivers/ata/pata_cs5530.c b/drivers/ata/pata_cs5530.c
index 0c4b271a9d5a..bba453381f44 100644
--- a/drivers/ata/pata_cs5530.c
+++ b/drivers/ata/pata_cs5530.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata-cs5530.c - CS5530 PATA for new ATA layer 2 * pata-cs5530.c - CS5530 PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * based upon cs5530.c by Mark Lord. 5 * based upon cs5530.c by Mark Lord.
7 * 6 *
diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c
index f1b6556f0483..8b236af84c2e 100644
--- a/drivers/ata/pata_cs5535.c
+++ b/drivers/ata/pata_cs5535.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata-cs5535.c - CS5535 PATA for new ATA layer 2 * pata-cs5535.c - CS5535 PATA for new ATA layer
3 * (C) 2005-2006 Red Hat Inc 3 * (C) 2005-2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * based upon cs5535.c from AMD <Jens.Altmann@amd.com> as cleaned up and 6 * based upon cs5535.c from AMD <Jens.Altmann@amd.com> as cleaned up and
7 * made readable and Linux style by Wolfgang Zuleger <wolfgang.zuleger@gmx.de 7 * made readable and Linux style by Wolfgang Zuleger <wolfgang.zuleger@gmx.de
@@ -72,7 +72,6 @@
72/** 72/**
73 * cs5535_cable_detect - detect cable type 73 * cs5535_cable_detect - detect cable type
74 * @ap: Port to detect on 74 * @ap: Port to detect on
75 * @deadline: deadline jiffies for the operation
76 * 75 *
77 * Perform cable detection for ATA66 capable cable. Return a libata 76 * Perform cable detection for ATA66 capable cable. Return a libata
78 * cable type. 77 * cable type.
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
index 73f8332cb679..afed92976198 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -110,7 +110,6 @@ static inline int cs5536_write(struct pci_dev *pdev, int reg, int val)
110/** 110/**
111 * cs5536_cable_detect - detect cable type 111 * cs5536_cable_detect - detect cable type
112 * @ap: Port to detect on 112 * @ap: Port to detect on
113 * @deadline: deadline jiffies for the operation
114 * 113 *
115 * Perform cable detection for ATA66 capable cable. Return a libata 114 * Perform cable detection for ATA66 capable cable. Return a libata
116 * cable type. 115 * cable type.
diff --git a/drivers/ata/pata_cypress.c b/drivers/ata/pata_cypress.c
index 2ff62608ae37..d546425cd380 100644
--- a/drivers/ata/pata_cypress.c
+++ b/drivers/ata/pata_cypress.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_cypress.c - Cypress PATA for new ATA layer 2 * pata_cypress.c - Cypress PATA for new ATA layer
3 * (C) 2006 Red Hat Inc 3 * (C) 2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox
5 * 5 *
6 * Based heavily on 6 * Based heavily on
7 * linux/drivers/ide/pci/cy82c693.c Version 0.40 Sep. 10, 2002 7 * linux/drivers/ide/pci/cy82c693.c Version 0.40 Sep. 10, 2002
diff --git a/drivers/ata/pata_efar.c b/drivers/ata/pata_efar.c
index 9fba82976ba6..ac6392ea35b0 100644
--- a/drivers/ata/pata_efar.c
+++ b/drivers/ata/pata_efar.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_efar.c - EFAR PIIX clone controller driver 2 * pata_efar.c - EFAR PIIX clone controller driver
3 * 3 *
4 * (C) 2005 Red Hat <alan@redhat.com> 4 * (C) 2005 Red Hat
5 * 5 *
6 * Some parts based on ata_piix.c by Jeff Garzik and others. 6 * Some parts based on ata_piix.c by Jeff Garzik and others.
7 * 7 *
diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c
index 6a111baab523..15cdb9148aab 100644
--- a/drivers/ata/pata_isapnp.c
+++ b/drivers/ata/pata_isapnp.c
@@ -1,7 +1,7 @@
1 1
2/* 2/*
3 * pata-isapnp.c - ISA PnP PATA controller driver. 3 * pata-isapnp.c - ISA PnP PATA controller driver.
4 * Copyright 2005/2006 Red Hat Inc <alan@redhat.com>, all rights reserved. 4 * Copyright 2005/2006 Red Hat Inc, all rights reserved.
5 * 5 *
6 * Based in part on ide-pnp.c by Andrey Panin <pazke@donpac.ru> 6 * Based in part on ide-pnp.c by Andrey Panin <pazke@donpac.ru>
7 */ 7 */
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index 0221c9a46769..860ede526282 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_it821x.c - IT821x PATA for new ATA layer 2 * pata_it821x.c - IT821x PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * (C) 2007 Bartlomiej Zolnierkiewicz 5 * (C) 2007 Bartlomiej Zolnierkiewicz
6 * 6 *
7 * based upon 7 * based upon
@@ -10,7 +10,7 @@
10 * 10 *
11 * linux/drivers/ide/pci/it821x.c Version 0.09 December 2004 11 * linux/drivers/ide/pci/it821x.c Version 0.09 December 2004
12 * 12 *
13 * Copyright (C) 2004 Red Hat <alan@redhat.com> 13 * Copyright (C) 2004 Red Hat
14 * 14 *
15 * May be copied or modified under the terms of the GNU General Public License 15 * May be copied or modified under the terms of the GNU General Public License
16 * Based in part on the ITE vendor provided SCSI driver. 16 * Based in part on the ITE vendor provided SCSI driver.
@@ -557,9 +557,8 @@ static unsigned int it821x_read_id(struct ata_device *adev,
557 if (strstr(model_num, "Integrated Technology Express")) { 557 if (strstr(model_num, "Integrated Technology Express")) {
558 /* Set feature bits the firmware neglects */ 558 /* Set feature bits the firmware neglects */
559 id[49] |= 0x0300; /* LBA, DMA */ 559 id[49] |= 0x0300; /* LBA, DMA */
560 id[82] |= 0x0400; /* LBA48 */
561 id[83] &= 0x7FFF; 560 id[83] &= 0x7FFF;
562 id[83] |= 0x4000; /* Word 83 is valid */ 561 id[83] |= 0x4400; /* Word 83 is valid and LBA48 */
563 id[86] |= 0x0400; /* LBA48 on */ 562 id[86] |= 0x0400; /* LBA48 on */
564 id[ATA_ID_MAJOR_VER] |= 0x1F; 563 id[ATA_ID_MAJOR_VER] |= 0x1F;
565 } 564 }
diff --git a/drivers/ata/pata_jmicron.c b/drivers/ata/pata_jmicron.c
index 73b7596816b4..38cf1ab2d289 100644
--- a/drivers/ata/pata_jmicron.c
+++ b/drivers/ata/pata_jmicron.c
@@ -4,7 +4,7 @@
4 * driven by AHCI in the usual configuration although 4 * driven by AHCI in the usual configuration although
5 * this driver can handle other setups if we need it. 5 * this driver can handle other setups if we need it.
6 * 6 *
7 * (c) 2006 Red Hat <alan@redhat.com> 7 * (c) 2006 Red Hat
8 */ 8 */
9 9
10#include <linux/kernel.h> 10#include <linux/kernel.h>
diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c
index bc037ffce200..930c2208640b 100644
--- a/drivers/ata/pata_legacy.c
+++ b/drivers/ata/pata_legacy.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * pata-legacy.c - Legacy port PATA/SATA controller driver. 2 * pata-legacy.c - Legacy port PATA/SATA controller driver.
3 * Copyright 2005/2006 Red Hat <alan@redhat.com>, all rights reserved. 3 * Copyright 2005/2006 Red Hat, all rights reserved.
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify 5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
index 0d87eec84966..76e399bf8c1b 100644
--- a/drivers/ata/pata_marvell.c
+++ b/drivers/ata/pata_marvell.c
@@ -5,7 +5,7 @@
5 * isn't making full use of the device functionality but it is 5 * isn't making full use of the device functionality but it is
6 * easy to get working. 6 * easy to get working.
7 * 7 *
8 * (c) 2006 Red Hat <alan@redhat.com> 8 * (c) 2006 Red Hat
9 */ 9 */
10 10
11#include <linux/kernel.h> 11#include <linux/kernel.h>
diff --git a/drivers/ata/pata_mpiix.c b/drivers/ata/pata_mpiix.c
index 7d7e3fdab71f..7c8faa48b5f3 100644
--- a/drivers/ata/pata_mpiix.c
+++ b/drivers/ata/pata_mpiix.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_mpiix.c - Intel MPIIX PATA for new ATA layer 2 * pata_mpiix.c - Intel MPIIX PATA for new ATA layer
3 * (C) 2005-2006 Red Hat Inc 3 * (C) 2005-2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * The MPIIX is different enough to the PIIX4 and friends that we give it 6 * The MPIIX is different enough to the PIIX4 and friends that we give it
7 * a separate driver. The old ide/pci code handles this by just not tuning 7 * a separate driver. The old ide/pci code handles this by just not tuning
diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c
index d9719c8b9dbe..9dc05e1656a8 100644
--- a/drivers/ata/pata_netcell.c
+++ b/drivers/ata/pata_netcell.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_netcell.c - Netcell PATA driver 2 * pata_netcell.c - Netcell PATA driver
3 * 3 *
4 * (c) 2006 Red Hat <alan@redhat.com> 4 * (c) 2006 Red Hat
5 */ 5 */
6 6
7#include <linux/kernel.h> 7#include <linux/kernel.h>
diff --git a/drivers/ata/pata_ninja32.c b/drivers/ata/pata_ninja32.c
index 565e67cd13fa..4e466eae8b46 100644
--- a/drivers/ata/pata_ninja32.c
+++ b/drivers/ata/pata_ninja32.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_ninja32.c - Ninja32 PATA for new ATA layer 2 * pata_ninja32.c - Ninja32 PATA for new ATA layer
3 * (C) 2007 Red Hat Inc 3 * (C) 2007 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Note: The controller like many controllers has shared timings for 5 * Note: The controller like many controllers has shared timings for
7 * PIO and DMA. We thus flip to the DMA timings in dma_start and flip back 6 * PIO and DMA. We thus flip to the DMA timings in dma_start and flip back
@@ -45,7 +44,7 @@
45#include <linux/libata.h> 44#include <linux/libata.h>
46 45
47#define DRV_NAME "pata_ninja32" 46#define DRV_NAME "pata_ninja32"
48#define DRV_VERSION "0.0.1" 47#define DRV_VERSION "0.1.1"
49 48
50 49
51/** 50/**
@@ -89,6 +88,17 @@ static struct ata_port_operations ninja32_port_ops = {
89 .set_piomode = ninja32_set_piomode, 88 .set_piomode = ninja32_set_piomode,
90}; 89};
91 90
91static void ninja32_program(void __iomem *base)
92{
93 iowrite8(0x05, base + 0x01); /* Enable interrupt lines */
94 iowrite8(0xBE, base + 0x02); /* Burst, ?? setup */
95 iowrite8(0x01, base + 0x03); /* Unknown */
96 iowrite8(0x20, base + 0x04); /* WAIT0 */
97 iowrite8(0x8f, base + 0x05); /* Unknown */
98 iowrite8(0xa4, base + 0x1c); /* Unknown */
99 iowrite8(0x83, base + 0x1d); /* BMDMA control: WAIT0 */
100}
101
92static int ninja32_init_one(struct pci_dev *dev, const struct pci_device_id *id) 102static int ninja32_init_one(struct pci_dev *dev, const struct pci_device_id *id)
93{ 103{
94 struct ata_host *host; 104 struct ata_host *host;
@@ -134,18 +144,28 @@ static int ninja32_init_one(struct pci_dev *dev, const struct pci_device_id *id)
134 ap->ioaddr.bmdma_addr = base; 144 ap->ioaddr.bmdma_addr = base;
135 ata_sff_std_ports(&ap->ioaddr); 145 ata_sff_std_ports(&ap->ioaddr);
136 146
137 iowrite8(0x05, base + 0x01); /* Enable interrupt lines */ 147 ninja32_program(base);
138 iowrite8(0xBE, base + 0x02); /* Burst, ?? setup */
139 iowrite8(0x01, base + 0x03); /* Unknown */
140 iowrite8(0x20, base + 0x04); /* WAIT0 */
141 iowrite8(0x8f, base + 0x05); /* Unknown */
142 iowrite8(0xa4, base + 0x1c); /* Unknown */
143 iowrite8(0x83, base + 0x1d); /* BMDMA control: WAIT0 */
144 /* FIXME: Should we disable them at remove ? */ 148 /* FIXME: Should we disable them at remove ? */
145 return ata_host_activate(host, dev->irq, ata_sff_interrupt, 149 return ata_host_activate(host, dev->irq, ata_sff_interrupt,
146 IRQF_SHARED, &ninja32_sht); 150 IRQF_SHARED, &ninja32_sht);
147} 151}
148 152
153#ifdef CONFIG_PM
154
155static int ninja32_reinit_one(struct pci_dev *pdev)
156{
157 struct ata_host *host = dev_get_drvdata(&pdev->dev);
158 int rc;
159
160 rc = ata_pci_device_do_resume(pdev);
161 if (rc)
162 return rc;
163 ninja32_program(host->iomap[0]);
164 ata_host_resume(host);
165 return 0;
166}
167#endif
168
149static const struct pci_device_id ninja32[] = { 169static const struct pci_device_id ninja32[] = {
150 { 0x1145, 0xf021, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 170 { 0x1145, 0xf021, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
151 { 0x1145, 0xf024, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 171 { 0x1145, 0xf024, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
@@ -156,7 +176,11 @@ static struct pci_driver ninja32_pci_driver = {
156 .name = DRV_NAME, 176 .name = DRV_NAME,
157 .id_table = ninja32, 177 .id_table = ninja32,
158 .probe = ninja32_init_one, 178 .probe = ninja32_init_one,
159 .remove = ata_pci_remove_one 179 .remove = ata_pci_remove_one,
180#ifdef CONFIG_PM
181 .suspend = ata_pci_device_suspend,
182 .resume = ninja32_reinit_one,
183#endif
160}; 184};
161 185
162static int __init ninja32_init(void) 186static int __init ninja32_init(void)
diff --git a/drivers/ata/pata_ns87410.c b/drivers/ata/pata_ns87410.c
index be756b7ef07e..40d411c460de 100644
--- a/drivers/ata/pata_ns87410.c
+++ b/drivers/ata/pata_ns87410.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_ns87410.c - National Semiconductor 87410 PATA for new ATA layer 2 * pata_ns87410.c - National Semiconductor 87410 PATA for new ATA layer
3 * (C) 2006 Red Hat Inc 3 * (C) 2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * This program is free software; you can redistribute it and/or modify 5 * 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 6 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/ata/pata_ns87415.c b/drivers/ata/pata_ns87415.c
index e0aa7eaaee0a..89bf5f865d6a 100644
--- a/drivers/ata/pata_ns87415.c
+++ b/drivers/ata/pata_ns87415.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_ns87415.c - NS87415 (non PARISC) PATA 2 * pata_ns87415.c - NS87415 (non PARISC) PATA
3 * 3 *
4 * (C) 2005 Red Hat <alan@redhat.com> 4 * (C) 2005 Red Hat <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * This is a fairly generic MWDMA controller. It has some limitations 6 * This is a fairly generic MWDMA controller. It has some limitations
7 * as it requires timing reloads on PIO/DMA transitions but it is otherwise 7 * as it requires timing reloads on PIO/DMA transitions but it is otherwise
diff --git a/drivers/ata/pata_oldpiix.c b/drivers/ata/pata_oldpiix.c
index df64f2443001..c0dbc46a348e 100644
--- a/drivers/ata/pata_oldpiix.c
+++ b/drivers/ata/pata_oldpiix.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_oldpiix.c - Intel PATA/SATA controllers 2 * pata_oldpiix.c - Intel PATA/SATA controllers
3 * 3 *
4 * (C) 2005 Red Hat <alan@redhat.com> 4 * (C) 2005 Red Hat
5 * 5 *
6 * Some parts based on ata_piix.c by Jeff Garzik and others. 6 * Some parts based on ata_piix.c by Jeff Garzik and others.
7 * 7 *
diff --git a/drivers/ata/pata_opti.c b/drivers/ata/pata_opti.c
index fb2cf661b0e8..e4fa4d565e96 100644
--- a/drivers/ata/pata_opti.c
+++ b/drivers/ata/pata_opti.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_opti.c - ATI PATA for new ATA layer 2 * pata_opti.c - ATI PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Based on 5 * Based on
7 * linux/drivers/ide/pci/opti621.c Version 0.7 Sept 10, 2002 6 * linux/drivers/ide/pci/opti621.c Version 0.7 Sept 10, 2002
diff --git a/drivers/ata/pata_optidma.c b/drivers/ata/pata_optidma.c
index 4cd744456313..93bb6e91973f 100644
--- a/drivers/ata/pata_optidma.c
+++ b/drivers/ata/pata_optidma.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_optidma.c - Opti DMA PATA for new ATA layer 2 * pata_optidma.c - Opti DMA PATA for new ATA layer
3 * (C) 2006 Red Hat Inc 3 * (C) 2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * The Opti DMA controllers are related to the older PIO PCI controllers 5 * The Opti DMA controllers are related to the older PIO PCI controllers
7 * and indeed the VLB ones. The main differences are that the timing 6 * and indeed the VLB ones. The main differences are that the timing
diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c
index 02b596b9cf6a..64b2e2281ee7 100644
--- a/drivers/ata/pata_pcmcia.c
+++ b/drivers/ata/pata_pcmcia.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * pata_pcmcia.c - PCMCIA PATA controller driver. 2 * pata_pcmcia.c - PCMCIA PATA controller driver.
3 * Copyright 2005-2006 Red Hat Inc <alan@redhat.com>, all rights reserved. 3 * Copyright 2005-2006 Red Hat Inc, all rights reserved.
4 * PCMCIA ident update Copyright 2006 Marcin Juszkiewicz 4 * PCMCIA ident update Copyright 2006 Marcin Juszkiewicz
5 * <openembedded@hrw.one.pl> 5 * <openembedded@hrw.one.pl>
6 * 6 *
@@ -416,6 +416,7 @@ static struct pcmcia_device_id pcmcia_devices[] = {
416 PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), 416 PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
417 PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e), 417 PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
418 PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6), 418 PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
419 PCMCIA_DEVICE_PROD_ID2("Flash Card", 0x5a362506),
419 PCMCIA_DEVICE_NULL, 420 PCMCIA_DEVICE_NULL,
420}; 421};
421 422
diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c
index d2673060bc8d..799a6a098712 100644
--- a/drivers/ata/pata_pdc202xx_old.c
+++ b/drivers/ata/pata_pdc202xx_old.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_pdc202xx_old.c - Promise PDC202xx PATA for new ATA layer 2 * pata_pdc202xx_old.c - Promise PDC202xx PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * (C) 2007 Bartlomiej Zolnierkiewicz 5 * (C) 2007 Bartlomiej Zolnierkiewicz
6 * 6 *
7 * Based in part on linux/drivers/ide/pci/pdc202xx_old.c 7 * Based in part on linux/drivers/ide/pci/pdc202xx_old.c
diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c
index 8f65ad61b8af..77e4e3b17f54 100644
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * Based on pata_pcmcia: 6 * Based on pata_pcmcia:
7 * 7 *
8 * Copyright 2005-2006 Red Hat Inc <alan@redhat.com>, all rights reserved. 8 * Copyright 2005-2006 Red Hat Inc, all rights reserved.
9 * 9 *
10 * This file is subject to the terms and conditions of the GNU General Public 10 * This file is subject to the terms and conditions of the GNU General Public
11 * License. See the file "COPYING" in the main directory of this archive 11 * License. See the file "COPYING" in the main directory of this archive
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c
index 63b7a1c165a5..3080f371222c 100644
--- a/drivers/ata/pata_qdi.c
+++ b/drivers/ata/pata_qdi.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * pata_qdi.c - QDI VLB ATA controllers 2 * pata_qdi.c - QDI VLB ATA controllers
3 * (C) 2006 Red Hat <alan@redhat.com> 3 * (C) 2006 Red Hat
4 * 4 *
5 * This driver mostly exists as a proof of concept for non PCI devices under 5 * This driver mostly exists as a proof of concept for non PCI devices under
6 * libata. While the QDI6580 was 'neat' in 1993 it is no longer terribly 6 * libata. While the QDI6580 was 'neat' in 1993 it is no longer terribly
diff --git a/drivers/ata/pata_radisys.c b/drivers/ata/pata_radisys.c
index 1c0d9fa7ee54..0b0aa452de14 100644
--- a/drivers/ata/pata_radisys.c
+++ b/drivers/ata/pata_radisys.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_radisys.c - Intel PATA/SATA controllers 2 * pata_radisys.c - Intel PATA/SATA controllers
3 * 3 *
4 * (C) 2006 Red Hat <alan@redhat.com> 4 * (C) 2006 Red Hat <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * Some parts based on ata_piix.c by Jeff Garzik and others. 6 * Some parts based on ata_piix.c by Jeff Garzik and others.
7 * 7 *
diff --git a/drivers/ata/pata_sc1200.c b/drivers/ata/pata_sc1200.c
index 0278fd2b8fb1..9a4bdca54616 100644
--- a/drivers/ata/pata_sc1200.c
+++ b/drivers/ata/pata_sc1200.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * New ATA layer SC1200 driver Alan Cox <alan@redhat.com> 2 * New ATA layer SC1200 driver Alan Cox <alan@lxorguk.ukuu.org.uk>
3 * 3 *
4 * TODO: Mode selection filtering 4 * TODO: Mode selection filtering
5 * TODO: Can't enable second channel until ATA core has serialize 5 * TODO: Can't enable second channel until ATA core has serialize
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
index 16673d168573..cf3707e516a2 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -8,7 +8,7 @@
8 * Copyright 2003-2005 Jeff Garzik 8 * Copyright 2003-2005 Jeff Garzik
9 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer 9 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer
10 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org> 10 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org>
11 * Copyright (C) 2003 Red Hat Inc <alan@redhat.com> 11 * Copyright (C) 2003 Red Hat Inc
12 * 12 *
13 * and drivers/ata/ahci.c: 13 * and drivers/ata/ahci.c:
14 * Copyright 2004-2005 Red Hat, Inc. 14 * Copyright 2004-2005 Red Hat, Inc.
diff --git a/drivers/ata/pata_sch.c b/drivers/ata/pata_sch.c
index c8cc027789fe..6aeeeeb34124 100644
--- a/drivers/ata/pata_sch.c
+++ b/drivers/ata/pata_sch.c
@@ -83,7 +83,7 @@ static struct ata_port_operations sch_pata_ops = {
83}; 83};
84 84
85static struct ata_port_info sch_port_info = { 85static struct ata_port_info sch_port_info = {
86 .flags = 0, 86 .flags = ATA_FLAG_SLAVE_POSS,
87 .pio_mask = ATA_PIO4, /* pio0-4 */ 87 .pio_mask = ATA_PIO4, /* pio0-4 */
88 .mwdma_mask = ATA_MWDMA2, /* mwdma0-2 */ 88 .mwdma_mask = ATA_MWDMA2, /* mwdma0-2 */
89 .udma_mask = ATA_UDMA5, /* udma0-5 */ 89 .udma_mask = ATA_UDMA5, /* udma0-5 */
diff --git a/drivers/ata/pata_serverworks.c b/drivers/ata/pata_serverworks.c
index ffd26d0dc50d..72e41c9f969b 100644
--- a/drivers/ata/pata_serverworks.c
+++ b/drivers/ata/pata_serverworks.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_serverworks.c - Serverworks PATA for new ATA layer 2 * pata_serverworks.c - Serverworks PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * based upon 5 * based upon
7 * 6 *
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c
index a598bb36aafc..83580a59db58 100644
--- a/drivers/ata/pata_sil680.c
+++ b/drivers/ata/pata_sil680.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_sil680.c - SIL680 PATA for new ATA layer 2 * pata_sil680.c - SIL680 PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * based upon 5 * based upon
7 * 6 *
diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c
index 26345d7b531c..d34236611752 100644
--- a/drivers/ata/pata_sis.c
+++ b/drivers/ata/pata_sis.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_sis.c - SiS ATA driver 2 * pata_sis.c - SiS ATA driver
3 * 3 *
4 * (C) 2005 Red Hat <alan@redhat.com> 4 * (C) 2005 Red Hat
5 * (C) 2007 Bartlomiej Zolnierkiewicz 5 * (C) 2007 Bartlomiej Zolnierkiewicz
6 * 6 *
7 * Based upon linux/drivers/ide/pci/sis5513.c 7 * Based upon linux/drivers/ide/pci/sis5513.c
diff --git a/drivers/ata/pata_sl82c105.c b/drivers/ata/pata_sl82c105.c
index 69877bd81815..1b0e7b6d8ef5 100644
--- a/drivers/ata/pata_sl82c105.c
+++ b/drivers/ata/pata_sl82c105.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_sl82c105.c - SL82C105 PATA for new ATA layer 2 * pata_sl82c105.c - SL82C105 PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Based in part on linux/drivers/ide/pci/sl82c105.c 5 * Based in part on linux/drivers/ide/pci/sl82c105.c
7 * SL82C105/Winbond 553 IDE driver 6 * SL82C105/Winbond 553 IDE driver
diff --git a/drivers/ata/pata_triflex.c b/drivers/ata/pata_triflex.c
index b181261f2743..ef9597517cdd 100644
--- a/drivers/ata/pata_triflex.c
+++ b/drivers/ata/pata_triflex.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * pata_triflex.c - Compaq PATA for new ATA layer 2 * pata_triflex.c - Compaq PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * based upon 6 * based upon
7 * 7 *
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index 8fdb2ce73210..681169c9c640 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * pata_via.c - VIA PATA for new ATA layer 2 * pata_via.c - VIA PATA for new ATA layer
3 * (C) 2005-2006 Red Hat Inc 3 * (C) 2005-2006 Red Hat Inc
4 * Alan Cox <alan@redhat.com>
5 * 4 *
6 * Documentation 5 * Documentation
7 * Most chipset documentation available under NDA only 6 * Most chipset documentation available under NDA only
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c
index a7606b044a61..319e164a3d74 100644
--- a/drivers/ata/pata_winbond.c
+++ b/drivers/ata/pata_winbond.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * pata_winbond.c - Winbond VLB ATA controllers 2 * pata_winbond.c - Winbond VLB ATA controllers
3 * (C) 2006 Red Hat <alan@redhat.com> 3 * (C) 2006 Red Hat
4 * 4 *
5 * Support for the Winbond 83759A when operating in advanced mode. 5 * Support for the Winbond 83759A when operating in advanced mode.
6 * Multichip mode is not currently supported. 6 * Multichip mode is not currently supported.
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index fae3841de0d8..6f1460614325 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -307,10 +307,10 @@ static int nv_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val);
307 307
308static void nv_nf2_freeze(struct ata_port *ap); 308static 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 int nv_nf2_hardreset(struct ata_link *link, unsigned int *class,
311 unsigned long deadline);
310static void nv_ck804_freeze(struct ata_port *ap); 312static void nv_ck804_freeze(struct ata_port *ap);
311static void nv_ck804_thaw(struct ata_port *ap); 313static 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); 314static int nv_adma_slave_config(struct scsi_device *sdev);
315static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc); 315static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc);
316static void nv_adma_qc_prep(struct ata_queued_cmd *qc); 316static void nv_adma_qc_prep(struct ata_queued_cmd *qc);
@@ -405,17 +405,8 @@ static struct scsi_host_template nv_swncq_sht = {
405 .slave_configure = nv_swncq_slave_config, 405 .slave_configure = nv_swncq_slave_config,
406}; 406};
407 407
408/* OSDL bz3352 reports that some nv controllers can't determine device
409 * signature reliably and nv_hardreset is implemented to work around
410 * the problem. This was reported on nf3 and it's unclear whether any
411 * other controllers are affected. However, the workaround has been
412 * applied to all variants and there isn't much to gain by trying to
413 * find out exactly which ones are affected at this point especially
414 * because NV has moved over to ahci for newer controllers.
415 */
416static struct ata_port_operations nv_common_ops = { 408static struct ata_port_operations nv_common_ops = {
417 .inherits = &ata_bmdma_port_ops, 409 .inherits = &ata_bmdma_port_ops,
418 .hardreset = nv_hardreset,
419 .scr_read = nv_scr_read, 410 .scr_read = nv_scr_read,
420 .scr_write = nv_scr_write, 411 .scr_write = nv_scr_write,
421}; 412};
@@ -429,12 +420,22 @@ static struct ata_port_operations nv_generic_ops = {
429 .hardreset = ATA_OP_NULL, 420 .hardreset = ATA_OP_NULL,
430}; 421};
431 422
423/* OSDL bz3352 reports that nf2/3 controllers can't determine device
424 * signature reliably. Also, the following thread reports detection
425 * failure on cold boot with the standard debouncing timing.
426 *
427 * http://thread.gmane.org/gmane.linux.ide/34098
428 *
429 * Debounce with hotplug timing and request follow-up SRST.
430 */
432static struct ata_port_operations nv_nf2_ops = { 431static struct ata_port_operations nv_nf2_ops = {
433 .inherits = &nv_common_ops, 432 .inherits = &nv_common_ops,
434 .freeze = nv_nf2_freeze, 433 .freeze = nv_nf2_freeze,
435 .thaw = nv_nf2_thaw, 434 .thaw = nv_nf2_thaw,
435 .hardreset = nv_nf2_hardreset,
436}; 436};
437 437
438/* CK804 finally gets hardreset right */
438static struct ata_port_operations nv_ck804_ops = { 439static struct ata_port_operations nv_ck804_ops = {
439 .inherits = &nv_common_ops, 440 .inherits = &nv_common_ops,
440 .freeze = nv_ck804_freeze, 441 .freeze = nv_ck804_freeze,
@@ -443,7 +444,7 @@ static struct ata_port_operations nv_ck804_ops = {
443}; 444};
444 445
445static struct ata_port_operations nv_adma_ops = { 446static struct ata_port_operations nv_adma_ops = {
446 .inherits = &nv_common_ops, 447 .inherits = &nv_ck804_ops,
447 448
448 .check_atapi_dma = nv_adma_check_atapi_dma, 449 .check_atapi_dma = nv_adma_check_atapi_dma,
449 .sff_tf_read = nv_adma_tf_read, 450 .sff_tf_read = nv_adma_tf_read,
@@ -467,7 +468,7 @@ static struct ata_port_operations nv_adma_ops = {
467}; 468};
468 469
469static struct ata_port_operations nv_swncq_ops = { 470static struct ata_port_operations nv_swncq_ops = {
470 .inherits = &nv_common_ops, 471 .inherits = &nv_generic_ops,
471 472
472 .qc_defer = ata_std_qc_defer, 473 .qc_defer = ata_std_qc_defer,
473 .qc_prep = nv_swncq_qc_prep, 474 .qc_prep = nv_swncq_qc_prep,
@@ -1553,6 +1554,17 @@ static void nv_nf2_thaw(struct ata_port *ap)
1553 iowrite8(mask, scr_addr + NV_INT_ENABLE); 1554 iowrite8(mask, scr_addr + NV_INT_ENABLE);
1554} 1555}
1555 1556
1557static int nv_nf2_hardreset(struct ata_link *link, unsigned int *class,
1558 unsigned long deadline)
1559{
1560 bool online;
1561 int rc;
1562
1563 rc = sata_link_hardreset(link, sata_deb_timing_hotplug, deadline,
1564 &online, NULL);
1565 return online ? -EAGAIN : rc;
1566}
1567
1556static void nv_ck804_freeze(struct ata_port *ap) 1568static void nv_ck804_freeze(struct ata_port *ap)
1557{ 1569{
1558 void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR]; 1570 void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR];
@@ -1605,21 +1617,6 @@ static void nv_mcp55_thaw(struct ata_port *ap)
1605 ata_sff_thaw(ap); 1617 ata_sff_thaw(ap);
1606} 1618}
1607 1619
1608static int nv_hardreset(struct ata_link *link, unsigned int *class,
1609 unsigned long deadline)
1610{
1611 int rc;
1612
1613 /* SATA hardreset fails to retrieve proper device signature on
1614 * some controllers. Request follow up SRST. For more info,
1615 * see http://bugzilla.kernel.org/show_bug.cgi?id=3352
1616 */
1617 rc = sata_sff_hardreset(link, class, deadline);
1618 if (rc)
1619 return rc;
1620 return -EAGAIN;
1621}
1622
1623static void nv_adma_error_handler(struct ata_port *ap) 1620static void nv_adma_error_handler(struct ata_port *ap)
1624{ 1621{
1625 struct nv_adma_port_priv *pp = ap->private_data; 1622 struct nv_adma_port_priv *pp = ap->private_data;
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index 750d8cdc00cd..ba9a2570a742 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -153,6 +153,10 @@ static void pdc_freeze(struct ata_port *ap);
153static void pdc_sata_freeze(struct ata_port *ap); 153static void pdc_sata_freeze(struct ata_port *ap);
154static void pdc_thaw(struct ata_port *ap); 154static void pdc_thaw(struct ata_port *ap);
155static void pdc_sata_thaw(struct ata_port *ap); 155static void pdc_sata_thaw(struct ata_port *ap);
156static int pdc_pata_softreset(struct ata_link *link, unsigned int *class,
157 unsigned long deadline);
158static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class,
159 unsigned long deadline);
156static void pdc_error_handler(struct ata_port *ap); 160static void pdc_error_handler(struct ata_port *ap);
157static void pdc_post_internal_cmd(struct ata_queued_cmd *qc); 161static void pdc_post_internal_cmd(struct ata_queued_cmd *qc);
158static int pdc_pata_cable_detect(struct ata_port *ap); 162static int pdc_pata_cable_detect(struct ata_port *ap);
@@ -186,6 +190,7 @@ static struct ata_port_operations pdc_sata_ops = {
186 .scr_read = pdc_sata_scr_read, 190 .scr_read = pdc_sata_scr_read,
187 .scr_write = pdc_sata_scr_write, 191 .scr_write = pdc_sata_scr_write,
188 .port_start = pdc_sata_port_start, 192 .port_start = pdc_sata_port_start,
193 .hardreset = pdc_sata_hardreset,
189}; 194};
190 195
191/* First-generation chips need a more restrictive ->check_atapi_dma op */ 196/* First-generation chips need a more restrictive ->check_atapi_dma op */
@@ -200,6 +205,7 @@ static struct ata_port_operations pdc_pata_ops = {
200 .freeze = pdc_freeze, 205 .freeze = pdc_freeze,
201 .thaw = pdc_thaw, 206 .thaw = pdc_thaw,
202 .port_start = pdc_common_port_start, 207 .port_start = pdc_common_port_start,
208 .softreset = pdc_pata_softreset,
203}; 209};
204 210
205static const struct ata_port_info pdc_port_info[] = { 211static const struct ata_port_info pdc_port_info[] = {
@@ -693,6 +699,20 @@ static void pdc_sata_thaw(struct ata_port *ap)
693 readl(host_mmio + hotplug_offset); /* flush */ 699 readl(host_mmio + hotplug_offset); /* flush */
694} 700}
695 701
702static int pdc_pata_softreset(struct ata_link *link, unsigned int *class,
703 unsigned long deadline)
704{
705 pdc_reset_port(link->ap);
706 return ata_sff_softreset(link, class, deadline);
707}
708
709static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class,
710 unsigned long deadline)
711{
712 pdc_reset_port(link->ap);
713 return sata_sff_hardreset(link, class, deadline);
714}
715
696static void pdc_error_handler(struct ata_port *ap) 716static void pdc_error_handler(struct ata_port *ap)
697{ 717{
698 if (!(ap->pflags & ATA_PFLAG_FROZEN)) 718 if (!(ap->pflags & ATA_PFLAG_FROZEN))
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 4621807a1a6a..ccee930f1e12 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -1329,6 +1329,11 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1329 } 1329 }
1330 } 1330 }
1331 1331
1332 /* Set max read request size to 4096. This slightly increases
1333 * write throughput for pci-e variants.
1334 */
1335 pcie_set_readrq(pdev, 4096);
1336
1332 sil24_init_controller(host); 1337 sil24_init_controller(host);
1333 1338
1334 pci_set_master(pdev); 1339 pci_set_master(pdev);
diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c
index 5b72e734300a..c18935f0bda2 100644
--- a/drivers/ata/sata_via.c
+++ b/drivers/ata/sata_via.c
@@ -44,11 +44,16 @@
44#include <linux/libata.h> 44#include <linux/libata.h>
45 45
46#define DRV_NAME "sata_via" 46#define DRV_NAME "sata_via"
47#define DRV_VERSION "2.3" 47#define DRV_VERSION "2.4"
48 48
49/*
50 * vt8251 is different from other sata controllers of VIA. It has two
51 * channels, each channel has both Master and Slave slot.
52 */
49enum board_ids_enum { 53enum board_ids_enum {
50 vt6420, 54 vt6420,
51 vt6421, 55 vt6421,
56 vt8251,
52}; 57};
53 58
54enum { 59enum {
@@ -70,6 +75,8 @@ enum {
70static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); 75static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
71static int svia_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); 76static int svia_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val);
72static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); 77static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val);
78static int vt8251_scr_read(struct ata_link *link, unsigned int scr, u32 *val);
79static int vt8251_scr_write(struct ata_link *link, unsigned int scr, u32 val);
73static void svia_tf_load(struct ata_port *ap, const struct ata_taskfile *tf); 80static void svia_tf_load(struct ata_port *ap, const struct ata_taskfile *tf);
74static void svia_noop_freeze(struct ata_port *ap); 81static void svia_noop_freeze(struct ata_port *ap);
75static int vt6420_prereset(struct ata_link *link, unsigned long deadline); 82static int vt6420_prereset(struct ata_link *link, unsigned long deadline);
@@ -79,12 +86,12 @@ static void vt6421_set_dma_mode(struct ata_port *ap, struct ata_device *adev);
79 86
80static const struct pci_device_id svia_pci_tbl[] = { 87static const struct pci_device_id svia_pci_tbl[] = {
81 { PCI_VDEVICE(VIA, 0x5337), vt6420 }, 88 { PCI_VDEVICE(VIA, 0x5337), vt6420 },
82 { PCI_VDEVICE(VIA, 0x0591), vt6420 }, 89 { PCI_VDEVICE(VIA, 0x0591), vt6420 }, /* 2 sata chnls (Master) */
83 { PCI_VDEVICE(VIA, 0x3149), vt6420 }, 90 { PCI_VDEVICE(VIA, 0x3149), vt6420 }, /* 2 sata chnls (Master) */
84 { PCI_VDEVICE(VIA, 0x3249), vt6421 }, 91 { PCI_VDEVICE(VIA, 0x3249), vt6421 }, /* 2 sata chnls, 1 pata chnl */
85 { PCI_VDEVICE(VIA, 0x5287), vt6420 },
86 { PCI_VDEVICE(VIA, 0x5372), vt6420 }, 92 { PCI_VDEVICE(VIA, 0x5372), vt6420 },
87 { PCI_VDEVICE(VIA, 0x7372), vt6420 }, 93 { PCI_VDEVICE(VIA, 0x7372), vt6420 },
94 { PCI_VDEVICE(VIA, 0x5287), vt8251 }, /* 2 sata chnls (Master/Slave) */
88 95
89 { } /* terminate list */ 96 { } /* terminate list */
90}; 97};
@@ -128,6 +135,13 @@ static struct ata_port_operations vt6421_sata_ops = {
128 .scr_write = svia_scr_write, 135 .scr_write = svia_scr_write,
129}; 136};
130 137
138static struct ata_port_operations vt8251_ops = {
139 .inherits = &svia_base_ops,
140 .hardreset = sata_std_hardreset,
141 .scr_read = vt8251_scr_read,
142 .scr_write = vt8251_scr_write,
143};
144
131static const struct ata_port_info vt6420_port_info = { 145static const struct ata_port_info vt6420_port_info = {
132 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, 146 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY,
133 .pio_mask = 0x1f, 147 .pio_mask = 0x1f,
@@ -152,6 +166,15 @@ static struct ata_port_info vt6421_pport_info = {
152 .port_ops = &vt6421_pata_ops, 166 .port_ops = &vt6421_pata_ops,
153}; 167};
154 168
169static struct ata_port_info vt8251_port_info = {
170 .flags = ATA_FLAG_SATA | ATA_FLAG_SLAVE_POSS |
171 ATA_FLAG_NO_LEGACY,
172 .pio_mask = 0x1f,
173 .mwdma_mask = 0x07,
174 .udma_mask = ATA_UDMA6,
175 .port_ops = &vt8251_ops,
176};
177
155MODULE_AUTHOR("Jeff Garzik"); 178MODULE_AUTHOR("Jeff Garzik");
156MODULE_DESCRIPTION("SCSI low-level driver for VIA SATA controllers"); 179MODULE_DESCRIPTION("SCSI low-level driver for VIA SATA controllers");
157MODULE_LICENSE("GPL"); 180MODULE_LICENSE("GPL");
@@ -174,6 +197,83 @@ static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val)
174 return 0; 197 return 0;
175} 198}
176 199
200static int vt8251_scr_read(struct ata_link *link, unsigned int scr, u32 *val)
201{
202 static const u8 ipm_tbl[] = { 1, 2, 6, 0 };
203 struct pci_dev *pdev = to_pci_dev(link->ap->host->dev);
204 int slot = 2 * link->ap->port_no + link->pmp;
205 u32 v = 0;
206 u8 raw;
207
208 switch (scr) {
209 case SCR_STATUS:
210 pci_read_config_byte(pdev, 0xA0 + slot, &raw);
211
212 /* read the DET field, bit0 and 1 of the config byte */
213 v |= raw & 0x03;
214
215 /* read the SPD field, bit4 of the configure byte */
216 if (raw & (1 << 4))
217 v |= 0x02 << 4;
218 else
219 v |= 0x01 << 4;
220
221 /* read the IPM field, bit2 and 3 of the config byte */
222 v |= ipm_tbl[(raw >> 2) & 0x3];
223 break;
224
225 case SCR_ERROR:
226 /* devices other than 5287 uses 0xA8 as base */
227 WARN_ON(pdev->device != 0x5287);
228 pci_read_config_dword(pdev, 0xB0 + slot * 4, &v);
229 break;
230
231 case SCR_CONTROL:
232 pci_read_config_byte(pdev, 0xA4 + slot, &raw);
233
234 /* read the DET field, bit0 and bit1 */
235 v |= ((raw & 0x02) << 1) | (raw & 0x01);
236
237 /* read the IPM field, bit2 and bit3 */
238 v |= ((raw >> 2) & 0x03) << 8;
239 break;
240
241 default:
242 return -EINVAL;
243 }
244
245 *val = v;
246 return 0;
247}
248
249static int vt8251_scr_write(struct ata_link *link, unsigned int scr, u32 val)
250{
251 struct pci_dev *pdev = to_pci_dev(link->ap->host->dev);
252 int slot = 2 * link->ap->port_no + link->pmp;
253 u32 v = 0;
254
255 switch (scr) {
256 case SCR_ERROR:
257 /* devices other than 5287 uses 0xA8 as base */
258 WARN_ON(pdev->device != 0x5287);
259 pci_write_config_dword(pdev, 0xB0 + slot * 4, val);
260 return 0;
261
262 case SCR_CONTROL:
263 /* set the DET field */
264 v |= ((val & 0x4) >> 1) | (val & 0x1);
265
266 /* set the IPM field */
267 v |= ((val >> 8) & 0x3) << 2;
268
269 pci_write_config_byte(pdev, 0xA4 + slot, v);
270 return 0;
271
272 default:
273 return -EINVAL;
274 }
275}
276
177/** 277/**
178 * svia_tf_load - send taskfile registers to host controller 278 * svia_tf_load - send taskfile registers to host controller
179 * @ap: Port to which output is sent 279 * @ap: Port to which output is sent
@@ -396,6 +496,30 @@ static int vt6421_prepare_host(struct pci_dev *pdev, struct ata_host **r_host)
396 return 0; 496 return 0;
397} 497}
398 498
499static int vt8251_prepare_host(struct pci_dev *pdev, struct ata_host **r_host)
500{
501 const struct ata_port_info *ppi[] = { &vt8251_port_info, NULL };
502 struct ata_host *host;
503 int i, rc;
504
505 rc = ata_pci_sff_prepare_host(pdev, ppi, &host);
506 if (rc)
507 return rc;
508 *r_host = host;
509
510 rc = pcim_iomap_regions(pdev, 1 << 5, DRV_NAME);
511 if (rc) {
512 dev_printk(KERN_ERR, &pdev->dev, "failed to iomap PCI BAR 5\n");
513 return rc;
514 }
515
516 /* 8251 hosts four sata ports as M/S of the two channels */
517 for (i = 0; i < host->n_ports; i++)
518 ata_slave_link_init(host->ports[i]);
519
520 return 0;
521}
522
399static void svia_configure(struct pci_dev *pdev) 523static void svia_configure(struct pci_dev *pdev)
400{ 524{
401 u8 tmp8; 525 u8 tmp8;
@@ -451,10 +575,10 @@ static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
451 if (rc) 575 if (rc)
452 return rc; 576 return rc;
453 577
454 if (board_id == vt6420) 578 if (board_id == vt6421)
455 bar_sizes = &svia_bar_sizes[0];
456 else
457 bar_sizes = &vt6421_bar_sizes[0]; 579 bar_sizes = &vt6421_bar_sizes[0];
580 else
581 bar_sizes = &svia_bar_sizes[0];
458 582
459 for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++) 583 for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++)
460 if ((pci_resource_start(pdev, i) == 0) || 584 if ((pci_resource_start(pdev, i) == 0) ||
@@ -467,10 +591,19 @@ static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
467 return -ENODEV; 591 return -ENODEV;
468 } 592 }
469 593
470 if (board_id == vt6420) 594 switch (board_id) {
595 case vt6420:
471 rc = vt6420_prepare_host(pdev, &host); 596 rc = vt6420_prepare_host(pdev, &host);
472 else 597 break;
598 case vt6421:
473 rc = vt6421_prepare_host(pdev, &host); 599 rc = vt6421_prepare_host(pdev, &host);
600 break;
601 case vt8251:
602 rc = vt8251_prepare_host(pdev, &host);
603 break;
604 default:
605 rc = -EINVAL;
606 }
474 if (rc) 607 if (rc)
475 return rc; 608 return rc;
476 609
diff --git a/drivers/base/sys.c b/drivers/base/sys.c
index 75dd6e22faff..c98c31ec2f75 100644
--- a/drivers/base/sys.c
+++ b/drivers/base/sys.c
@@ -355,7 +355,7 @@ static void __sysdev_resume(struct sys_device *dev)
355 * sysdev_suspend - Suspend all system devices. 355 * sysdev_suspend - Suspend all system devices.
356 * @state: Power state to enter. 356 * @state: Power state to enter.
357 * 357 *
358 * We perform an almost identical operation as sys_device_shutdown() 358 * We perform an almost identical operation as sysdev_shutdown()
359 * above, though calling ->suspend() instead. Interrupts are disabled 359 * above, though calling ->suspend() instead. Interrupts are disabled
360 * when this called. Devices are responsible for both saving state and 360 * when this called. Devices are responsible for both saving state and
361 * quiescing or powering down the device. 361 * quiescing or powering down the device.
@@ -437,7 +437,7 @@ aux_driver:
437/** 437/**
438 * sysdev_resume - Bring system devices back to life. 438 * sysdev_resume - Bring system devices back to life.
439 * 439 *
440 * Similar to sys_device_suspend(), but we iterate the list forwards 440 * Similar to sysdev_suspend(), but we iterate the list forwards
441 * to guarantee that parent devices are resumed before their children. 441 * to guarantee that parent devices are resumed before their children.
442 * 442 *
443 * Note: Interrupts are disabled when called. 443 * Note: Interrupts are disabled when called.
@@ -488,7 +488,8 @@ ssize_t sysdev_store_ulong(struct sys_device *sysdev,
488 if (end == buf) 488 if (end == buf)
489 return -EINVAL; 489 return -EINVAL;
490 *(unsigned long *)(ea->var) = new; 490 *(unsigned long *)(ea->var) = new;
491 return end - buf; 491 /* Always return full write size even if we didn't consume all */
492 return size;
492} 493}
493EXPORT_SYMBOL_GPL(sysdev_store_ulong); 494EXPORT_SYMBOL_GPL(sysdev_store_ulong);
494 495
@@ -511,7 +512,8 @@ ssize_t sysdev_store_int(struct sys_device *sysdev,
511 if (end == buf || new > INT_MAX || new < INT_MIN) 512 if (end == buf || new > INT_MAX || new < INT_MIN)
512 return -EINVAL; 513 return -EINVAL;
513 *(int *)(ea->var) = new; 514 *(int *)(ea->var) = new;
514 return end - buf; 515 /* Always return full write size even if we didn't consume all */
516 return size;
515} 517}
516EXPORT_SYMBOL_GPL(sysdev_store_int); 518EXPORT_SYMBOL_GPL(sysdev_store_int);
517 519
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 4023885353e0..12de1fdaa6c6 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -96,6 +96,8 @@ static const struct pci_device_id cciss_pci_device_id[] = {
96 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245}, 96 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245},
97 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3247}, 97 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3247},
98 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3249}, 98 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3249},
99 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324A},
100 {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324B},
99 {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 101 {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
100 PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, 102 PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
101 {0,} 103 {0,}
@@ -133,6 +135,8 @@ static struct board_type products[] = {
133 {0x3245103C, "Smart Array P410i", &SA5_access}, 135 {0x3245103C, "Smart Array P410i", &SA5_access},
134 {0x3247103C, "Smart Array P411", &SA5_access}, 136 {0x3247103C, "Smart Array P411", &SA5_access},
135 {0x3249103C, "Smart Array P812", &SA5_access}, 137 {0x3249103C, "Smart Array P812", &SA5_access},
138 {0x324A103C, "Smart Array P712m", &SA5_access},
139 {0x324B103C, "Smart Array P711m", &SA5_access},
136 {0xFFFF103C, "Unknown Smart Array", &SA5_access}, 140 {0xFFFF103C, "Unknown Smart Array", &SA5_access},
137}; 141};
138 142
@@ -1366,6 +1370,7 @@ static void cciss_add_disk(ctlr_info_t *h, struct gendisk *disk,
1366 disk->first_minor = drv_index << NWD_SHIFT; 1370 disk->first_minor = drv_index << NWD_SHIFT;
1367 disk->fops = &cciss_fops; 1371 disk->fops = &cciss_fops;
1368 disk->private_data = &h->drv[drv_index]; 1372 disk->private_data = &h->drv[drv_index];
1373 disk->driverfs_dev = &h->pdev->dev;
1369 1374
1370 /* Set up queue information */ 1375 /* Set up queue information */
1371 blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask); 1376 blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask);
@@ -3404,7 +3409,8 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3404 int i; 3409 int i;
3405 int j = 0; 3410 int j = 0;
3406 int rc; 3411 int rc;
3407 int dac; 3412 int dac, return_code;
3413 InquiryData_struct *inq_buff = NULL;
3408 3414
3409 i = alloc_cciss_hba(); 3415 i = alloc_cciss_hba();
3410 if (i < 0) 3416 if (i < 0)
@@ -3510,6 +3516,25 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3510 /* Turn the interrupts on so we can service requests */ 3516 /* Turn the interrupts on so we can service requests */
3511 hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON); 3517 hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON);
3512 3518
3519 /* Get the firmware version */
3520 inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL);
3521 if (inq_buff == NULL) {
3522 printk(KERN_ERR "cciss: out of memory\n");
3523 goto clean4;
3524 }
3525
3526 return_code = sendcmd_withirq(CISS_INQUIRY, i, inq_buff,
3527 sizeof(InquiryData_struct), 0, 0 , 0, TYPE_CMD);
3528 if (return_code == IO_OK) {
3529 hba[i]->firm_ver[0] = inq_buff->data_byte[32];
3530 hba[i]->firm_ver[1] = inq_buff->data_byte[33];
3531 hba[i]->firm_ver[2] = inq_buff->data_byte[34];
3532 hba[i]->firm_ver[3] = inq_buff->data_byte[35];
3533 } else { /* send command failed */
3534 printk(KERN_WARNING "cciss: unable to determine firmware"
3535 " version of controller\n");
3536 }
3537
3513 cciss_procinit(i); 3538 cciss_procinit(i);
3514 3539
3515 hba[i]->cciss_max_sectors = 2048; 3540 hba[i]->cciss_max_sectors = 2048;
@@ -3520,6 +3545,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3520 return 1; 3545 return 1;
3521 3546
3522clean4: 3547clean4:
3548 kfree(inq_buff);
3523#ifdef CONFIG_CISS_SCSI_TAPE 3549#ifdef CONFIG_CISS_SCSI_TAPE
3524 kfree(hba[i]->scsi_rejects.complete); 3550 kfree(hba[i]->scsi_rejects.complete);
3525#endif 3551#endif
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 47d233c6d0b3..5d39df14ed90 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -567,7 +567,12 @@ static int __init cpqarray_init(void)
567 num_cntlrs_reg++; 567 num_cntlrs_reg++;
568 } 568 }
569 569
570 return(num_cntlrs_reg); 570 if (num_cntlrs_reg)
571 return 0;
572 else {
573 pci_unregister_driver(&cpqarray_pci_driver);
574 return -ENODEV;
575 }
571} 576}
572 577
573/* Function to find the first free pointer into our hba[] array */ 578/* Function to find the first free pointer into our hba[] array */
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 3f09cd8bcc38..5c4ee70d5cf3 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -40,8 +40,7 @@
40 * Heinz Mauelshagen <mge@sistina.com>, Feb 2002 40 * Heinz Mauelshagen <mge@sistina.com>, Feb 2002
41 * 41 *
42 * Support for falling back on the write file operation when the address space 42 * Support for falling back on the write file operation when the address space
43 * operations prepare_write and/or commit_write are not available on the 43 * operations write_begin is not available on the backing filesystem.
44 * backing filesystem.
45 * Anton Altaparmakov, 16 Feb 2005 44 * Anton Altaparmakov, 16 Feb 2005
46 * 45 *
47 * Still To Fix: 46 * Still To Fix:
@@ -765,7 +764,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
765 */ 764 */
766 if (!file->f_op->splice_read) 765 if (!file->f_op->splice_read)
767 goto out_putf; 766 goto out_putf;
768 if (aops->prepare_write || aops->write_begin) 767 if (aops->write_begin)
769 lo_flags |= LO_FLAGS_USE_AOPS; 768 lo_flags |= LO_FLAGS_USE_AOPS;
770 if (!(lo_flags & LO_FLAGS_USE_AOPS) && !file->f_op->write) 769 if (!(lo_flags & LO_FLAGS_USE_AOPS) && !file->f_op->write)
771 lo_flags |= LO_FLAGS_READ_ONLY; 770 lo_flags |= LO_FLAGS_READ_ONLY;
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c
index e6ee21d99d92..b0e569ba730d 100644
--- a/drivers/bluetooth/bluecard_cs.c
+++ b/drivers/bluetooth/bluecard_cs.c
@@ -867,7 +867,7 @@ static int bluecard_probe(struct pcmcia_device *link)
867 867
868 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 868 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
869 link->io.NumPorts1 = 8; 869 link->io.NumPorts1 = 8;
870 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; 870 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT;
871 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 871 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
872 872
873 link->irq.Handler = bluecard_interrupt; 873 link->irq.Handler = bluecard_interrupt;
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c
index 32f3a8ed8d3d..b936d8ce2728 100644
--- a/drivers/bluetooth/bpa10x.c
+++ b/drivers/bluetooth/bpa10x.c
@@ -443,8 +443,8 @@ static void bpa10x_destruct(struct hci_dev *hdev)
443 443
444 BT_DBG("%s", hdev->name); 444 BT_DBG("%s", hdev->name);
445 445
446 kfree(data->rx_skb[0]); 446 kfree_skb(data->rx_skb[0]);
447 kfree(data->rx_skb[1]); 447 kfree_skb(data->rx_skb[1]);
448 kfree(data); 448 kfree(data);
449} 449}
450 450
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c
index 2cbe70b66470..b3e4d07a4ac2 100644
--- a/drivers/bluetooth/bt3c_cs.c
+++ b/drivers/bluetooth/bt3c_cs.c
@@ -343,6 +343,7 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)
343 bt3c_info_t *info = dev_inst; 343 bt3c_info_t *info = dev_inst;
344 unsigned int iobase; 344 unsigned int iobase;
345 int iir; 345 int iir;
346 irqreturn_t r = IRQ_NONE;
346 347
347 BUG_ON(!info->hdev); 348 BUG_ON(!info->hdev);
348 349
@@ -374,11 +375,12 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)
374 375
375 outb(iir, iobase + CONTROL); 376 outb(iir, iobase + CONTROL);
376 } 377 }
378 r = IRQ_HANDLED;
377 } 379 }
378 380
379 spin_unlock(&(info->lock)); 381 spin_unlock(&(info->lock));
380 382
381 return IRQ_HANDLED; 383 return r;
382} 384}
383 385
384 386
@@ -657,7 +659,7 @@ static int bt3c_probe(struct pcmcia_device *link)
657 659
658 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 660 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
659 link->io.NumPorts1 = 8; 661 link->io.NumPorts1 = 8;
660 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; 662 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT;
661 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 663 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
662 664
663 link->irq.Handler = bt3c_interrupt; 665 link->irq.Handler = bt3c_interrupt;
diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
index 58630cc1eff2..cda6c7cc944b 100644
--- a/drivers/bluetooth/btsdio.c
+++ b/drivers/bluetooth/btsdio.c
@@ -152,7 +152,7 @@ static int btsdio_rx_packet(struct btsdio_data *data)
152 152
153 err = sdio_readsb(data->func, skb->data, REG_RDAT, len - 4); 153 err = sdio_readsb(data->func, skb->data, REG_RDAT, len - 4);
154 if (err < 0) { 154 if (err < 0) {
155 kfree(skb); 155 kfree_skb(skb);
156 return err; 156 return err;
157 } 157 }
158 158
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c
index 8e556b7ff9f6..efd689a062eb 100644
--- a/drivers/bluetooth/btuart_cs.c
+++ b/drivers/bluetooth/btuart_cs.c
@@ -293,6 +293,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
293 unsigned int iobase; 293 unsigned int iobase;
294 int boguscount = 0; 294 int boguscount = 0;
295 int iir, lsr; 295 int iir, lsr;
296 irqreturn_t r = IRQ_NONE;
296 297
297 BUG_ON(!info->hdev); 298 BUG_ON(!info->hdev);
298 299
@@ -302,6 +303,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
302 303
303 iir = inb(iobase + UART_IIR) & UART_IIR_ID; 304 iir = inb(iobase + UART_IIR) & UART_IIR_ID;
304 while (iir) { 305 while (iir) {
306 r = IRQ_HANDLED;
305 307
306 /* Clear interrupt */ 308 /* Clear interrupt */
307 lsr = inb(iobase + UART_LSR); 309 lsr = inb(iobase + UART_LSR);
@@ -335,7 +337,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
335 337
336 spin_unlock(&(info->lock)); 338 spin_unlock(&(info->lock));
337 339
338 return IRQ_HANDLED; 340 return r;
339} 341}
340 342
341 343
@@ -586,7 +588,7 @@ static int btuart_probe(struct pcmcia_device *link)
586 588
587 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 589 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
588 link->io.NumPorts1 = 8; 590 link->io.NumPorts1 = 8;
589 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; 591 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT;
590 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 592 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
591 593
592 link->irq.Handler = btuart_interrupt; 594 link->irq.Handler = btuart_interrupt;
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c
index e6e6b037695a..901bdd95655f 100644
--- a/drivers/bluetooth/dtl1_cs.c
+++ b/drivers/bluetooth/dtl1_cs.c
@@ -297,6 +297,7 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
297 unsigned char msr; 297 unsigned char msr;
298 int boguscount = 0; 298 int boguscount = 0;
299 int iir, lsr; 299 int iir, lsr;
300 irqreturn_t r = IRQ_NONE;
300 301
301 BUG_ON(!info->hdev); 302 BUG_ON(!info->hdev);
302 303
@@ -307,6 +308,7 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
307 iir = inb(iobase + UART_IIR) & UART_IIR_ID; 308 iir = inb(iobase + UART_IIR) & UART_IIR_ID;
308 while (iir) { 309 while (iir) {
309 310
311 r = IRQ_HANDLED;
310 /* Clear interrupt */ 312 /* Clear interrupt */
311 lsr = inb(iobase + UART_LSR); 313 lsr = inb(iobase + UART_LSR);
312 314
@@ -343,11 +345,12 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
343 info->ri_latch = msr & UART_MSR_RI; 345 info->ri_latch = msr & UART_MSR_RI;
344 clear_bit(XMIT_WAITING, &(info->tx_state)); 346 clear_bit(XMIT_WAITING, &(info->tx_state));
345 dtl1_write_wakeup(info); 347 dtl1_write_wakeup(info);
348 r = IRQ_HANDLED;
346 } 349 }
347 350
348 spin_unlock(&(info->lock)); 351 spin_unlock(&(info->lock));
349 352
350 return IRQ_HANDLED; 353 return r;
351} 354}
352 355
353 356
@@ -568,7 +571,7 @@ static int dtl1_probe(struct pcmcia_device *link)
568 571
569 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 572 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
570 link->io.NumPorts1 = 8; 573 link->io.NumPorts1 = 8;
571 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; 574 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT;
572 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 575 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
573 576
574 link->irq.Handler = dtl1_interrupt; 577 link->irq.Handler = dtl1_interrupt;
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 9aaa86b232b1..2eecb779437b 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -495,9 +495,10 @@ static int gdrom_bdops_open(struct block_device *bdev, fmode_t mode)
495 return cdrom_open(gd.cd_info, bdev, mode); 495 return cdrom_open(gd.cd_info, bdev, mode);
496} 496}
497 497
498static int gdrom_bdops_release(struct block_device *bdev, fmode_t mode) 498static int gdrom_bdops_release(struct gendisk *disk, fmode_t mode)
499{ 499{
500 return cdrom_release(gd.cd_info, mode); 500 cdrom_release(gd.cd_info, mode);
501 return 0;
501} 502}
502 503
503static int gdrom_bdops_mediachanged(struct gendisk *disk) 504static int gdrom_bdops_mediachanged(struct gendisk *disk)
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 122254155ae1..43b35d0369d6 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -812,28 +812,6 @@ config JS_RTC
812 To compile this driver as a module, choose M here: the 812 To compile this driver as a module, choose M here: the
813 module will be called js-rtc. 813 module will be called js-rtc.
814 814
815config SGI_DS1286
816 tristate "SGI DS1286 RTC support"
817 depends on SGI_HAS_DS1286
818 help
819 If you say Y here and create a character special file /dev/rtc with
820 major number 10 and minor number 135 using mknod ("man mknod"), you
821 will get access to the real time clock built into your computer.
822 Every SGI has such a clock built in. It reports status information
823 via the file /proc/rtc and its behaviour is set by various ioctls on
824 /dev/rtc.
825
826config SGI_IP27_RTC
827 bool "SGI M48T35 RTC support"
828 depends on SGI_IP27
829 help
830 If you say Y here and create a character special file /dev/rtc with
831 major number 10 and minor number 135 using mknod ("man mknod"), you
832 will get access to the real time clock built into your computer.
833 Every SGI has such a clock built in. It reports status information
834 via the file /proc/rtc and its behaviour is set by various ioctls on
835 /dev/rtc.
836
837config GEN_RTC 815config GEN_RTC
838 tristate "Generic /dev/rtc emulation" 816 tristate "Generic /dev/rtc emulation"
839 depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 817 depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 1a4247dccac4..438f71317c5c 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -74,8 +74,6 @@ obj-$(CONFIG_RTC) += rtc.o
74obj-$(CONFIG_HPET) += hpet.o 74obj-$(CONFIG_HPET) += hpet.o
75obj-$(CONFIG_GEN_RTC) += genrtc.o 75obj-$(CONFIG_GEN_RTC) += genrtc.o
76obj-$(CONFIG_EFI_RTC) += efirtc.o 76obj-$(CONFIG_EFI_RTC) += efirtc.o
77obj-$(CONFIG_SGI_DS1286) += ds1286.o
78obj-$(CONFIG_SGI_IP27_RTC) += ip27-rtc.o
79obj-$(CONFIG_DS1302) += ds1302.o 77obj-$(CONFIG_DS1302) += ds1302.o
80obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/ 78obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/
81ifeq ($(CONFIG_GENERIC_NVRAM),y) 79ifeq ($(CONFIG_GENERIC_NVRAM),y)
diff --git a/drivers/char/ds1286.c b/drivers/char/ds1286.c
deleted file mode 100644
index 0a826d7be10e..000000000000
--- a/drivers/char/ds1286.c
+++ /dev/null
@@ -1,585 +0,0 @@
1/*
2 * DS1286 Real Time Clock interface for Linux
3 *
4 * Copyright (C) 1998, 1999, 2000 Ralf Baechle
5 *
6 * Based on code written by Paul Gortmaker.
7 *
8 * This driver allows use of the real time clock (built into nearly all
9 * computers) from user space. It exports the /dev/rtc interface supporting
10 * various ioctl() and also the /proc/rtc pseudo-file for status
11 * information.
12 *
13 * The ioctls can be used to set the interrupt behaviour and generation rate
14 * from the RTC via IRQ 8. Then the /dev/rtc interface can be used to make
15 * use of these timer interrupts, be they interval or alarm based.
16 *
17 * The /dev/rtc interface will block on reads until an interrupt has been
18 * received. If a RTC interrupt has already happened, it will output an
19 * unsigned long and then block. The output value contains the interrupt
20 * status in the low byte and the number of interrupts since the last read
21 * in the remaining high bytes. The /dev/rtc interface can also be used with
22 * the select(2) call.
23 *
24 * This program is free software; you can redistribute it and/or modify it
25 * under the terms of the GNU General Public License as published by the
26 * Free Software Foundation; either version 2 of the License, or (at your
27 * option) any later version.
28 */
29#include <linux/ds1286.h>
30#include <linux/smp_lock.h>
31#include <linux/types.h>
32#include <linux/errno.h>
33#include <linux/miscdevice.h>
34#include <linux/slab.h>
35#include <linux/ioport.h>
36#include <linux/fcntl.h>
37#include <linux/init.h>
38#include <linux/poll.h>
39#include <linux/rtc.h>
40#include <linux/spinlock.h>
41#include <linux/bcd.h>
42#include <linux/proc_fs.h>
43#include <linux/jiffies.h>
44
45#include <asm/uaccess.h>
46#include <asm/system.h>
47
48#define DS1286_VERSION "1.0"
49
50/*
51 * We sponge a minor off of the misc major. No need slurping
52 * up another valuable major dev number for this. If you add
53 * an ioctl, make sure you don't conflict with SPARC's RTC
54 * ioctls.
55 */
56
57static DECLARE_WAIT_QUEUE_HEAD(ds1286_wait);
58
59static ssize_t ds1286_read(struct file *file, char *buf,
60 size_t count, loff_t *ppos);
61
62static int ds1286_ioctl(struct inode *inode, struct file *file,
63 unsigned int cmd, unsigned long arg);
64
65static unsigned int ds1286_poll(struct file *file, poll_table *wait);
66
67static void ds1286_get_alm_time (struct rtc_time *alm_tm);
68static void ds1286_get_time(struct rtc_time *rtc_tm);
69static int ds1286_set_time(struct rtc_time *rtc_tm);
70
71static inline unsigned char ds1286_is_updating(void);
72
73static DEFINE_SPINLOCK(ds1286_lock);
74
75static int ds1286_read_proc(char *page, char **start, off_t off,
76 int count, int *eof, void *data);
77
78/*
79 * Bits in rtc_status. (7 bits of room for future expansion)
80 */
81
82#define RTC_IS_OPEN 0x01 /* means /dev/rtc is in use */
83#define RTC_TIMER_ON 0x02 /* missed irq timer active */
84
85static unsigned char ds1286_status; /* bitmapped status byte. */
86
87static unsigned char days_in_mo[] = {
88 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
89};
90
91/*
92 * Now all the various file operations that we export.
93 */
94
95static ssize_t ds1286_read(struct file *file, char *buf,
96 size_t count, loff_t *ppos)
97{
98 return -EIO;
99}
100
101static int ds1286_ioctl(struct inode *inode, struct file *file,
102 unsigned int cmd, unsigned long arg)
103{
104 struct rtc_time wtime;
105
106 switch (cmd) {
107 case RTC_AIE_OFF: /* Mask alarm int. enab. bit */
108 {
109 unsigned long flags;
110 unsigned char val;
111
112 if (!capable(CAP_SYS_TIME))
113 return -EACCES;
114
115 spin_lock_irqsave(&ds1286_lock, flags);
116 val = rtc_read(RTC_CMD);
117 val |= RTC_TDM;
118 rtc_write(val, RTC_CMD);
119 spin_unlock_irqrestore(&ds1286_lock, flags);
120
121 return 0;
122 }
123 case RTC_AIE_ON: /* Allow alarm interrupts. */
124 {
125 unsigned long flags;
126 unsigned char val;
127
128 if (!capable(CAP_SYS_TIME))
129 return -EACCES;
130
131 spin_lock_irqsave(&ds1286_lock, flags);
132 val = rtc_read(RTC_CMD);
133 val &= ~RTC_TDM;
134 rtc_write(val, RTC_CMD);
135 spin_unlock_irqrestore(&ds1286_lock, flags);
136
137 return 0;
138 }
139 case RTC_WIE_OFF: /* Mask watchdog int. enab. bit */
140 {
141 unsigned long flags;
142 unsigned char val;
143
144 if (!capable(CAP_SYS_TIME))
145 return -EACCES;
146
147 spin_lock_irqsave(&ds1286_lock, flags);
148 val = rtc_read(RTC_CMD);
149 val |= RTC_WAM;
150 rtc_write(val, RTC_CMD);
151 spin_unlock_irqrestore(&ds1286_lock, flags);
152
153 return 0;
154 }
155 case RTC_WIE_ON: /* Allow watchdog interrupts. */
156 {
157 unsigned long flags;
158 unsigned char val;
159
160 if (!capable(CAP_SYS_TIME))
161 return -EACCES;
162
163 spin_lock_irqsave(&ds1286_lock, flags);
164 val = rtc_read(RTC_CMD);
165 val &= ~RTC_WAM;
166 rtc_write(val, RTC_CMD);
167 spin_unlock_irqrestore(&ds1286_lock, flags);
168
169 return 0;
170 }
171 case RTC_ALM_READ: /* Read the present alarm time */
172 {
173 /*
174 * This returns a struct rtc_time. Reading >= 0xc0
175 * means "don't care" or "match all". Only the tm_hour,
176 * tm_min, and tm_sec values are filled in.
177 */
178
179 memset(&wtime, 0, sizeof(wtime));
180 ds1286_get_alm_time(&wtime);
181 break;
182 }
183 case RTC_ALM_SET: /* Store a time into the alarm */
184 {
185 /*
186 * This expects a struct rtc_time. Writing 0xff means
187 * "don't care" or "match all". Only the tm_hour,
188 * tm_min and tm_sec are used.
189 */
190 unsigned char hrs, min, sec;
191 struct rtc_time alm_tm;
192
193 if (!capable(CAP_SYS_TIME))
194 return -EACCES;
195
196 if (copy_from_user(&alm_tm, (struct rtc_time*)arg,
197 sizeof(struct rtc_time)))
198 return -EFAULT;
199
200 hrs = alm_tm.tm_hour;
201 min = alm_tm.tm_min;
202 sec = alm_tm.tm_sec;
203
204 if (hrs >= 24)
205 hrs = 0xff;
206
207 if (min >= 60)
208 min = 0xff;
209
210 if (sec != 0)
211 return -EINVAL;
212
213 min = bin2bcd(min);
214 min = bin2bcd(hrs);
215
216 spin_lock(&ds1286_lock);
217 rtc_write(hrs, RTC_HOURS_ALARM);
218 rtc_write(min, RTC_MINUTES_ALARM);
219 spin_unlock(&ds1286_lock);
220
221 return 0;
222 }
223 case RTC_RD_TIME: /* Read the time/date from RTC */
224 {
225 memset(&wtime, 0, sizeof(wtime));
226 ds1286_get_time(&wtime);
227 break;
228 }
229 case RTC_SET_TIME: /* Set the RTC */
230 {
231 struct rtc_time rtc_tm;
232
233 if (!capable(CAP_SYS_TIME))
234 return -EACCES;
235
236 if (copy_from_user(&rtc_tm, (struct rtc_time*)arg,
237 sizeof(struct rtc_time)))
238 return -EFAULT;
239
240 return ds1286_set_time(&rtc_tm);
241 }
242 default:
243 return -EINVAL;
244 }
245 return copy_to_user((void *)arg, &wtime, sizeof wtime) ? -EFAULT : 0;
246}
247
248/*
249 * We enforce only one user at a time here with the open/close.
250 * Also clear the previous interrupt data on an open, and clean
251 * up things on a close.
252 */
253
254static int ds1286_open(struct inode *inode, struct file *file)
255{
256 lock_kernel();
257 spin_lock_irq(&ds1286_lock);
258
259 if (ds1286_status & RTC_IS_OPEN)
260 goto out_busy;
261
262 ds1286_status |= RTC_IS_OPEN;
263
264 spin_unlock_irq(&ds1286_lock);
265 unlock_kernel();
266 return 0;
267
268out_busy:
269 spin_lock_irq(&ds1286_lock);
270 unlock_kernel();
271 return -EBUSY;
272}
273
274static int ds1286_release(struct inode *inode, struct file *file)
275{
276 ds1286_status &= ~RTC_IS_OPEN;
277
278 return 0;
279}
280
281static unsigned int ds1286_poll(struct file *file, poll_table *wait)
282{
283 poll_wait(file, &ds1286_wait, wait);
284
285 return 0;
286}
287
288/*
289 * The various file operations we support.
290 */
291
292static const struct file_operations ds1286_fops = {
293 .llseek = no_llseek,
294 .read = ds1286_read,
295 .poll = ds1286_poll,
296 .ioctl = ds1286_ioctl,
297 .open = ds1286_open,
298 .release = ds1286_release,
299};
300
301static struct miscdevice ds1286_dev=
302{
303 .minor = RTC_MINOR,
304 .name = "rtc",
305 .fops = &ds1286_fops,
306};
307
308static int __init ds1286_init(void)
309{
310 int err;
311
312 printk(KERN_INFO "DS1286 Real Time Clock Driver v%s\n", DS1286_VERSION);
313
314 err = misc_register(&ds1286_dev);
315 if (err)
316 goto out;
317
318 if (!create_proc_read_entry("driver/rtc", 0, 0, ds1286_read_proc, NULL)) {
319 err = -ENOMEM;
320
321 goto out_deregister;
322 }
323
324 return 0;
325
326out_deregister:
327 misc_deregister(&ds1286_dev);
328
329out:
330 return err;
331}
332
333static void __exit ds1286_exit(void)
334{
335 remove_proc_entry("driver/rtc", NULL);
336 misc_deregister(&ds1286_dev);
337}
338
339static char *days[] = {
340 "***", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
341};
342
343/*
344 * Info exported via "/proc/rtc".
345 */
346static int ds1286_proc_output(char *buf)
347{
348 char *p, *s;
349 struct rtc_time tm;
350 unsigned char hundredth, month, cmd, amode;
351
352 p = buf;
353
354 ds1286_get_time(&tm);
355 hundredth = rtc_read(RTC_HUNDREDTH_SECOND);
356 hundredth = bcd2bin(hundredth);
357
358 p += sprintf(p,
359 "rtc_time\t: %02d:%02d:%02d.%02d\n"
360 "rtc_date\t: %04d-%02d-%02d\n",
361 tm.tm_hour, tm.tm_min, tm.tm_sec, hundredth,
362 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
363
364 /*
365 * We implicitly assume 24hr mode here. Alarm values >= 0xc0 will
366 * match any value for that particular field. Values that are
367 * greater than a valid time, but less than 0xc0 shouldn't appear.
368 */
369 ds1286_get_alm_time(&tm);
370 p += sprintf(p, "alarm\t\t: %s ", days[tm.tm_wday]);
371 if (tm.tm_hour <= 24)
372 p += sprintf(p, "%02d:", tm.tm_hour);
373 else
374 p += sprintf(p, "**:");
375
376 if (tm.tm_min <= 59)
377 p += sprintf(p, "%02d\n", tm.tm_min);
378 else
379 p += sprintf(p, "**\n");
380
381 month = rtc_read(RTC_MONTH);
382 p += sprintf(p,
383 "oscillator\t: %s\n"
384 "square_wave\t: %s\n",
385 (month & RTC_EOSC) ? "disabled" : "enabled",
386 (month & RTC_ESQW) ? "disabled" : "enabled");
387
388 amode = ((rtc_read(RTC_MINUTES_ALARM) & 0x80) >> 5) |
389 ((rtc_read(RTC_HOURS_ALARM) & 0x80) >> 6) |
390 ((rtc_read(RTC_DAY_ALARM) & 0x80) >> 7);
391 if (amode == 7) s = "each minute";
392 else if (amode == 3) s = "minutes match";
393 else if (amode == 1) s = "hours and minutes match";
394 else if (amode == 0) s = "days, hours and minutes match";
395 else s = "invalid";
396 p += sprintf(p, "alarm_mode\t: %s\n", s);
397
398 cmd = rtc_read(RTC_CMD);
399 p += sprintf(p,
400 "alarm_enable\t: %s\n"
401 "wdog_alarm\t: %s\n"
402 "alarm_mask\t: %s\n"
403 "wdog_alarm_mask\t: %s\n"
404 "interrupt_mode\t: %s\n"
405 "INTB_mode\t: %s_active\n"
406 "interrupt_pins\t: %s\n",
407 (cmd & RTC_TDF) ? "yes" : "no",
408 (cmd & RTC_WAF) ? "yes" : "no",
409 (cmd & RTC_TDM) ? "disabled" : "enabled",
410 (cmd & RTC_WAM) ? "disabled" : "enabled",
411 (cmd & RTC_PU_LVL) ? "pulse" : "level",
412 (cmd & RTC_IBH_LO) ? "low" : "high",
413 (cmd & RTC_IPSW) ? "unswapped" : "swapped");
414
415 return p - buf;
416}
417
418static int ds1286_read_proc(char *page, char **start, off_t off,
419 int count, int *eof, void *data)
420{
421 int len = ds1286_proc_output (page);
422 if (len <= off+count) *eof = 1;
423 *start = page + off;
424 len -= off;
425 if (len>count)
426 len = count;
427 if (len<0)
428 len = 0;
429
430 return len;
431}
432
433/*
434 * Returns true if a clock update is in progress
435 */
436static inline unsigned char ds1286_is_updating(void)
437{
438 return rtc_read(RTC_CMD) & RTC_TE;
439}
440
441
442static void ds1286_get_time(struct rtc_time *rtc_tm)
443{
444 unsigned char save_control;
445 unsigned long flags;
446
447 /*
448 * read RTC once any update in progress is done. The update
449 * can take just over 2ms. We wait 10 to 20ms. There is no need to
450 * to poll-wait (up to 1s - eeccch) for the falling edge of RTC_UIP.
451 * If you need to know *exactly* when a second has started, enable
452 * periodic update complete interrupts, (via ioctl) and then
453 * immediately read /dev/rtc which will block until you get the IRQ.
454 * Once the read clears, read the RTC time (again via ioctl). Easy.
455 */
456
457 if (ds1286_is_updating() != 0)
458 msleep(20);
459
460 /*
461 * Only the values that we read from the RTC are set. We leave
462 * tm_wday, tm_yday and tm_isdst untouched. Even though the
463 * RTC has RTC_DAY_OF_WEEK, we ignore it, as it is only updated
464 * by the RTC when initially set to a non-zero value.
465 */
466 spin_lock_irqsave(&ds1286_lock, flags);
467 save_control = rtc_read(RTC_CMD);
468 rtc_write((save_control|RTC_TE), RTC_CMD);
469
470 rtc_tm->tm_sec = rtc_read(RTC_SECONDS);
471 rtc_tm->tm_min = rtc_read(RTC_MINUTES);
472 rtc_tm->tm_hour = rtc_read(RTC_HOURS) & 0x3f;
473 rtc_tm->tm_mday = rtc_read(RTC_DATE);
474 rtc_tm->tm_mon = rtc_read(RTC_MONTH) & 0x1f;
475 rtc_tm->tm_year = rtc_read(RTC_YEAR);
476
477 rtc_write(save_control, RTC_CMD);
478 spin_unlock_irqrestore(&ds1286_lock, flags);
479
480 rtc_tm->tm_sec = bcd2bin(rtc_tm->tm_sec);
481 rtc_tm->tm_min = bcd2bin(rtc_tm->tm_min);
482 rtc_tm->tm_hour = bcd2bin(rtc_tm->tm_hour);
483 rtc_tm->tm_mday = bcd2bin(rtc_tm->tm_mday);
484 rtc_tm->tm_mon = bcd2bin(rtc_tm->tm_mon);
485 rtc_tm->tm_year = bcd2bin(rtc_tm->tm_year);
486
487 /*
488 * Account for differences between how the RTC uses the values
489 * and how they are defined in a struct rtc_time;
490 */
491 if (rtc_tm->tm_year < 45)
492 rtc_tm->tm_year += 30;
493 if ((rtc_tm->tm_year += 40) < 70)
494 rtc_tm->tm_year += 100;
495
496 rtc_tm->tm_mon--;
497}
498
499static int ds1286_set_time(struct rtc_time *rtc_tm)
500{
501 unsigned char mon, day, hrs, min, sec, leap_yr;
502 unsigned char save_control;
503 unsigned int yrs;
504 unsigned long flags;
505
506
507 yrs = rtc_tm->tm_year + 1900;
508 mon = rtc_tm->tm_mon + 1; /* tm_mon starts at zero */
509 day = rtc_tm->tm_mday;
510 hrs = rtc_tm->tm_hour;
511 min = rtc_tm->tm_min;
512 sec = rtc_tm->tm_sec;
513
514 if (yrs < 1970)
515 return -EINVAL;
516
517 leap_yr = ((!(yrs % 4) && (yrs % 100)) || !(yrs % 400));
518
519 if ((mon > 12) || (day == 0))
520 return -EINVAL;
521
522 if (day > (days_in_mo[mon] + ((mon == 2) && leap_yr)))
523 return -EINVAL;
524
525 if ((hrs >= 24) || (min >= 60) || (sec >= 60))
526 return -EINVAL;
527
528 if ((yrs -= 1940) > 255) /* They are unsigned */
529 return -EINVAL;
530
531 if (yrs >= 100)
532 yrs -= 100;
533
534 sec = bin2bcd(sec);
535 min = bin2bcd(min);
536 hrs = bin2bcd(hrs);
537 day = bin2bcd(day);
538 mon = bin2bcd(mon);
539 yrs = bin2bcd(yrs);
540
541 spin_lock_irqsave(&ds1286_lock, flags);
542 save_control = rtc_read(RTC_CMD);
543 rtc_write((save_control|RTC_TE), RTC_CMD);
544
545 rtc_write(yrs, RTC_YEAR);
546 rtc_write(mon, RTC_MONTH);
547 rtc_write(day, RTC_DATE);
548 rtc_write(hrs, RTC_HOURS);
549 rtc_write(min, RTC_MINUTES);
550 rtc_write(sec, RTC_SECONDS);
551 rtc_write(0, RTC_HUNDREDTH_SECOND);
552
553 rtc_write(save_control, RTC_CMD);
554 spin_unlock_irqrestore(&ds1286_lock, flags);
555
556 return 0;
557}
558
559static void ds1286_get_alm_time(struct rtc_time *alm_tm)
560{
561 unsigned char cmd;
562 unsigned long flags;
563
564 /*
565 * Only the values that we read from the RTC are set. That
566 * means only tm_wday, tm_hour, tm_min.
567 */
568 spin_lock_irqsave(&ds1286_lock, flags);
569 alm_tm->tm_min = rtc_read(RTC_MINUTES_ALARM) & 0x7f;
570 alm_tm->tm_hour = rtc_read(RTC_HOURS_ALARM) & 0x1f;
571 alm_tm->tm_wday = rtc_read(RTC_DAY_ALARM) & 0x07;
572 cmd = rtc_read(RTC_CMD);
573 spin_unlock_irqrestore(&ds1286_lock, flags);
574
575 alm_tm->tm_min = bcd2bin(alm_tm->tm_min);
576 alm_tm->tm_hour = bcd2bin(alm_tm->tm_hour);
577 alm_tm->tm_sec = 0;
578}
579
580module_init(ds1286_init);
581module_exit(ds1286_exit);
582
583MODULE_AUTHOR("Ralf Baechle");
584MODULE_LICENSE("GPL");
585MODULE_ALIAS_MISCDEV(RTC_MINOR);
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 408f5f92cb4e..53fdc7ff3870 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -427,9 +427,6 @@ static int hpet_release(struct inode *inode, struct file *file)
427 if (irq) 427 if (irq)
428 free_irq(irq, devp); 428 free_irq(irq, devp);
429 429
430 if (file->f_flags & FASYNC)
431 hpet_fasync(-1, file, 0);
432
433 file->private_data = NULL; 430 file->private_data = NULL;
434 return 0; 431 return 0;
435} 432}
diff --git a/drivers/char/hw_random/amd-rng.c b/drivers/char/hw_random/amd-rng.c
index c422e870dc52..cd0ba51f7c80 100644
--- a/drivers/char/hw_random/amd-rng.c
+++ b/drivers/char/hw_random/amd-rng.c
@@ -11,7 +11,7 @@
11 * derived from 11 * derived from
12 * 12 *
13 * Hardware driver for the AMD 768 Random Number Generator (RNG) 13 * Hardware driver for the AMD 768 Random Number Generator (RNG)
14 * (c) Copyright 2001 Red Hat Inc <alan@redhat.com> 14 * (c) Copyright 2001 Red Hat Inc
15 * 15 *
16 * derived from 16 * derived from
17 * 17 *
diff --git a/drivers/char/hw_random/geode-rng.c b/drivers/char/hw_random/geode-rng.c
index fed4ef5569f5..64d513f68368 100644
--- a/drivers/char/hw_random/geode-rng.c
+++ b/drivers/char/hw_random/geode-rng.c
@@ -11,7 +11,7 @@
11 * derived from 11 * derived from
12 * 12 *
13 * Hardware driver for the AMD 768 Random Number Generator (RNG) 13 * Hardware driver for the AMD 768 Random Number Generator (RNG)
14 * (c) Copyright 2001 Red Hat Inc <alan@redhat.com> 14 * (c) Copyright 2001 Red Hat Inc
15 * 15 *
16 * derived from 16 * derived from
17 * 17 *
diff --git a/drivers/char/hw_random/intel-rng.c b/drivers/char/hw_random/intel-rng.c
index 8a2fce0756ec..5dcbe603eca2 100644
--- a/drivers/char/hw_random/intel-rng.c
+++ b/drivers/char/hw_random/intel-rng.c
@@ -11,7 +11,7 @@
11 * derived from 11 * derived from
12 * 12 *
13 * Hardware driver for the AMD 768 Random Number Generator (RNG) 13 * Hardware driver for the AMD 768 Random Number Generator (RNG)
14 * (c) Copyright 2001 Red Hat Inc <alan@redhat.com> 14 * (c) Copyright 2001 Red Hat Inc
15 * 15 *
16 * derived from 16 * derived from
17 * 17 *
diff --git a/drivers/char/hw_random/via-rng.c b/drivers/char/hw_random/via-rng.c
index 128202e18fc9..4e9573c1d39e 100644
--- a/drivers/char/hw_random/via-rng.c
+++ b/drivers/char/hw_random/via-rng.c
@@ -11,7 +11,7 @@
11 * derived from 11 * derived from
12 * 12 *
13 * Hardware driver for the AMD 768 Random Number Generator (RNG) 13 * Hardware driver for the AMD 768 Random Number Generator (RNG)
14 * (c) Copyright 2001 Red Hat Inc <alan@redhat.com> 14 * (c) Copyright 2001 Red Hat Inc
15 * 15 *
16 * derived from 16 * derived from
17 * 17 *
diff --git a/drivers/char/ip27-rtc.c b/drivers/char/ip27-rtc.c
deleted file mode 100644
index 2abd881b4cbc..000000000000
--- a/drivers/char/ip27-rtc.c
+++ /dev/null
@@ -1,329 +0,0 @@
1/*
2 * Driver for the SGS-Thomson M48T35 Timekeeper RAM chip
3 *
4 * Real Time Clock interface for Linux
5 *
6 * TODO: Implement periodic interrupts.
7 *
8 * Copyright (C) 2000 Silicon Graphics, Inc.
9 * Written by Ulf Carlsson (ulfc@engr.sgi.com)
10 *
11 * Based on code written by Paul Gortmaker.
12 *
13 * This driver allows use of the real time clock (built into
14 * nearly all computers) from user space. It exports the /dev/rtc
15 * interface supporting various ioctl() and also the /proc/rtc
16 * pseudo-file for status information.
17 *
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version
21 * 2 of the License, or (at your option) any later version.
22 *
23 */
24
25#define RTC_VERSION "1.09b"
26
27#include <linux/bcd.h>
28#include <linux/module.h>
29#include <linux/kernel.h>
30#include <linux/smp_lock.h>
31#include <linux/types.h>
32#include <linux/miscdevice.h>
33#include <linux/ioport.h>
34#include <linux/fcntl.h>
35#include <linux/rtc.h>
36#include <linux/init.h>
37#include <linux/poll.h>
38#include <linux/proc_fs.h>
39
40#include <asm/m48t35.h>
41#include <asm/sn/ioc3.h>
42#include <asm/io.h>
43#include <asm/uaccess.h>
44#include <asm/system.h>
45#include <asm/sn/klconfig.h>
46#include <asm/sn/sn0/ip27.h>
47#include <asm/sn/sn0/hub.h>
48#include <asm/sn/sn_private.h>
49
50static long rtc_ioctl(struct file *filp, unsigned int cmd,
51 unsigned long arg);
52
53static int rtc_read_proc(char *page, char **start, off_t off,
54 int count, int *eof, void *data);
55
56static void get_rtc_time(struct rtc_time *rtc_tm);
57
58/*
59 * Bits in rtc_status. (6 bits of room for future expansion)
60 */
61
62#define RTC_IS_OPEN 0x01 /* means /dev/rtc is in use */
63#define RTC_TIMER_ON 0x02 /* missed irq timer active */
64
65static unsigned char rtc_status; /* bitmapped status byte. */
66static unsigned long rtc_freq; /* Current periodic IRQ rate */
67static struct m48t35_rtc *rtc;
68
69/*
70 * If this driver ever becomes modularised, it will be really nice
71 * to make the epoch retain its value across module reload...
72 */
73
74static unsigned long epoch = 1970; /* year corresponding to 0x00 */
75
76static const unsigned char days_in_mo[] =
77{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
78
79static long rtc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
80{
81
82 struct rtc_time wtime;
83
84 switch (cmd) {
85 case RTC_RD_TIME: /* Read the time/date from RTC */
86 {
87 get_rtc_time(&wtime);
88 break;
89 }
90 case RTC_SET_TIME: /* Set the RTC */
91 {
92 struct rtc_time rtc_tm;
93 unsigned char mon, day, hrs, min, sec, leap_yr;
94 unsigned int yrs;
95
96 if (!capable(CAP_SYS_TIME))
97 return -EACCES;
98
99 if (copy_from_user(&rtc_tm, (struct rtc_time*)arg,
100 sizeof(struct rtc_time)))
101 return -EFAULT;
102
103 yrs = rtc_tm.tm_year + 1900;
104 mon = rtc_tm.tm_mon + 1; /* tm_mon starts at zero */
105 day = rtc_tm.tm_mday;
106 hrs = rtc_tm.tm_hour;
107 min = rtc_tm.tm_min;
108 sec = rtc_tm.tm_sec;
109
110 if (yrs < 1970)
111 return -EINVAL;
112
113 leap_yr = ((!(yrs % 4) && (yrs % 100)) || !(yrs % 400));
114
115 if ((mon > 12) || (day == 0))
116 return -EINVAL;
117
118 if (day > (days_in_mo[mon] + ((mon == 2) && leap_yr)))
119 return -EINVAL;
120
121 if ((hrs >= 24) || (min >= 60) || (sec >= 60))
122 return -EINVAL;
123
124 if ((yrs -= epoch) > 255) /* They are unsigned */
125 return -EINVAL;
126
127 if (yrs > 169)
128 return -EINVAL;
129
130 if (yrs >= 100)
131 yrs -= 100;
132
133 sec = bin2bcd(sec);
134 min = bin2bcd(min);
135 hrs = bin2bcd(hrs);
136 day = bin2bcd(day);
137 mon = bin2bcd(mon);
138 yrs = bin2bcd(yrs);
139
140 spin_lock_irq(&rtc_lock);
141 rtc->control |= M48T35_RTC_SET;
142 rtc->year = yrs;
143 rtc->month = mon;
144 rtc->date = day;
145 rtc->hour = hrs;
146 rtc->min = min;
147 rtc->sec = sec;
148 rtc->control &= ~M48T35_RTC_SET;
149 spin_unlock_irq(&rtc_lock);
150
151 return 0;
152 }
153 default:
154 return -EINVAL;
155 }
156 return copy_to_user((void *)arg, &wtime, sizeof wtime) ? -EFAULT : 0;
157}
158
159/*
160 * We enforce only one user at a time here with the open/close.
161 * Also clear the previous interrupt data on an open, and clean
162 * up things on a close.
163 */
164
165static int rtc_open(struct inode *inode, struct file *file)
166{
167 lock_kernel();
168 spin_lock_irq(&rtc_lock);
169
170 if (rtc_status & RTC_IS_OPEN) {
171 spin_unlock_irq(&rtc_lock);
172 unlock_kernel();
173 return -EBUSY;
174 }
175
176 rtc_status |= RTC_IS_OPEN;
177 spin_unlock_irq(&rtc_lock);
178 unlock_kernel();
179
180 return 0;
181}
182
183static int rtc_release(struct inode *inode, struct file *file)
184{
185 /*
186 * Turn off all interrupts once the device is no longer
187 * in use, and clear the data.
188 */
189
190 spin_lock_irq(&rtc_lock);
191 rtc_status &= ~RTC_IS_OPEN;
192 spin_unlock_irq(&rtc_lock);
193
194 return 0;
195}
196
197/*
198 * The various file operations we support.
199 */
200
201static const struct file_operations rtc_fops = {
202 .owner = THIS_MODULE,
203 .unlocked_ioctl = rtc_ioctl,
204 .open = rtc_open,
205 .release = rtc_release,
206};
207
208static struct miscdevice rtc_dev=
209{
210 RTC_MINOR,
211 "rtc",
212 &rtc_fops
213};
214
215static int __init rtc_init(void)
216{
217 rtc = (struct m48t35_rtc *)
218 (KL_CONFIG_CH_CONS_INFO(master_nasid)->memory_base + IOC3_BYTEBUS_DEV0);
219
220 printk(KERN_INFO "Real Time Clock Driver v%s\n", RTC_VERSION);
221 if (misc_register(&rtc_dev)) {
222 printk(KERN_ERR "rtc: cannot register misc device.\n");
223 return -ENODEV;
224 }
225 if (!create_proc_read_entry("driver/rtc", 0, NULL, rtc_read_proc, NULL)) {
226 printk(KERN_ERR "rtc: cannot create /proc/rtc.\n");
227 misc_deregister(&rtc_dev);
228 return -ENOENT;
229 }
230
231 rtc_freq = 1024;
232
233 return 0;
234}
235
236static void __exit rtc_exit (void)
237{
238 /* interrupts and timer disabled at this point by rtc_release */
239
240 remove_proc_entry ("rtc", NULL);
241 misc_deregister(&rtc_dev);
242}
243
244module_init(rtc_init);
245module_exit(rtc_exit);
246
247/*
248 * Info exported via "/proc/rtc".
249 */
250
251static int rtc_get_status(char *buf)
252{
253 char *p;
254 struct rtc_time tm;
255
256 /*
257 * Just emulate the standard /proc/rtc
258 */
259
260 p = buf;
261
262 get_rtc_time(&tm);
263
264 /*
265 * There is no way to tell if the luser has the RTC set for local
266 * time or for Universal Standard Time (GMT). Probably local though.
267 */
268 p += sprintf(p,
269 "rtc_time\t: %02d:%02d:%02d\n"
270 "rtc_date\t: %04d-%02d-%02d\n"
271 "rtc_epoch\t: %04lu\n"
272 "24hr\t\t: yes\n",
273 tm.tm_hour, tm.tm_min, tm.tm_sec,
274 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, epoch);
275
276 return p - buf;
277}
278
279static int rtc_read_proc(char *page, char **start, off_t off,
280 int count, int *eof, void *data)
281{
282 int len = rtc_get_status(page);
283 if (len <= off+count) *eof = 1;
284 *start = page + off;
285 len -= off;
286 if (len>count) len = count;
287 if (len<0) len = 0;
288 return len;
289}
290
291static void get_rtc_time(struct rtc_time *rtc_tm)
292{
293 /*
294 * Do we need to wait for the last update to finish?
295 */
296
297 /*
298 * Only the values that we read from the RTC are set. We leave
299 * tm_wday, tm_yday and tm_isdst untouched. Even though the
300 * RTC has RTC_DAY_OF_WEEK, we ignore it, as it is only updated
301 * by the RTC when initially set to a non-zero value.
302 */
303 spin_lock_irq(&rtc_lock);
304 rtc->control |= M48T35_RTC_READ;
305 rtc_tm->tm_sec = rtc->sec;
306 rtc_tm->tm_min = rtc->min;
307 rtc_tm->tm_hour = rtc->hour;
308 rtc_tm->tm_mday = rtc->date;
309 rtc_tm->tm_mon = rtc->month;
310 rtc_tm->tm_year = rtc->year;
311 rtc->control &= ~M48T35_RTC_READ;
312 spin_unlock_irq(&rtc_lock);
313
314 rtc_tm->tm_sec = bcd2bin(rtc_tm->tm_sec);
315 rtc_tm->tm_min = bcd2bin(rtc_tm->tm_min);
316 rtc_tm->tm_hour = bcd2bin(rtc_tm->tm_hour);
317 rtc_tm->tm_mday = bcd2bin(rtc_tm->tm_mday);
318 rtc_tm->tm_mon = bcd2bin(rtc_tm->tm_mon);
319 rtc_tm->tm_year = bcd2bin(rtc_tm->tm_year);
320
321 /*
322 * Account for differences between how the RTC uses the values
323 * and how they are defined in a struct rtc_time;
324 */
325 if ((rtc_tm->tm_year += (epoch - 1900)) <= 69)
326 rtc_tm->tm_year += 100;
327
328 rtc_tm->tm_mon--;
329}
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index 835a33c8d5f5..41fc11dc921c 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -162,8 +162,6 @@ static int ipmi_release(struct inode *inode, struct file *file)
162 if (rv) 162 if (rv)
163 return rv; 163 return rv;
164 164
165 ipmi_fasync (-1, file, 0);
166
167 /* FIXME - free the messages in the list. */ 165 /* FIXME - free the messages in the list. */
168 kfree(priv); 166 kfree(priv);
169 167
@@ -957,3 +955,4 @@ module_exit(cleanup_ipmi);
957MODULE_LICENSE("GPL"); 955MODULE_LICENSE("GPL");
958MODULE_AUTHOR("Corey Minyard <minyard@mvista.com>"); 956MODULE_AUTHOR("Corey Minyard <minyard@mvista.com>");
959MODULE_DESCRIPTION("Linux device interface for the IPMI message handler."); 957MODULE_DESCRIPTION("Linux device interface for the IPMI message handler.");
958MODULE_ALIAS("platform:ipmi_si");
diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
index 235fab0bdf79..a4d57e31f713 100644
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
@@ -870,7 +870,6 @@ static int ipmi_close(struct inode *ino, struct file *filep)
870 clear_bit(0, &ipmi_wdog_open); 870 clear_bit(0, &ipmi_wdog_open);
871 } 871 }
872 872
873 ipmi_fasync(-1, filep, 0);
874 expect_close = 0; 873 expect_close = 0;
875 874
876 return 0; 875 return 0;
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 7d30ee1d3fca..04e4549299ba 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -7,12 +7,14 @@
7 * Original driver code supplied by Multi-Tech 7 * Original driver code supplied by Multi-Tech
8 * 8 *
9 * Changes 9 * Changes
10 * 1/9/98 alan@redhat.com Merge to 2.0.x kernel tree 10 * 1/9/98 alan@lxorguk.ukuu.org.uk
11 * Merge to 2.0.x kernel tree
11 * Obtain and use official major/minors 12 * Obtain and use official major/minors
12 * Loader switched to a misc device 13 * Loader switched to a misc device
13 * (fixed range check bug as a side effect) 14 * (fixed range check bug as a side effect)
14 * Printk clean up 15 * Printk clean up
15 * 9/12/98 alan@redhat.com Rough port to 2.1.x 16 * 9/12/98 alan@lxorguk.ukuu.org.uk
17 * Rough port to 2.1.x
16 * 18 *
17 * 10/6/99 sameer Merged the ISA and PCI drivers to 19 * 10/6/99 sameer Merged the ISA and PCI drivers to
18 * a new unified driver. 20 * a new unified driver.
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 8beef50f95a0..047766915411 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -14,7 +14,8 @@
14 * (at your option) any later version. 14 * (at your option) any later version.
15 * 15 *
16 * Fed through a cleanup, indent and remove of non 2.6 code by Alan Cox 16 * Fed through a cleanup, indent and remove of non 2.6 code by Alan Cox
17 * <alan@redhat.com>. The original 1.8 code is available on www.moxa.com. 17 * <alan@lxorguk.ukuu.org.uk>. The original 1.8 code is available on
18 * www.moxa.com.
18 * - Fixed x86_64 cleanness 19 * - Fixed x86_64 cleanness
19 */ 20 */
20 21
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 9a626e50b793..4d64a02612a4 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -554,7 +554,7 @@ static int mgslpc_probe(struct pcmcia_device *link)
554 /* Initialize the struct pcmcia_device structure */ 554 /* Initialize the struct pcmcia_device structure */
555 555
556 /* Interrupt setup */ 556 /* Interrupt setup */
557 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; 557 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
558 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 558 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
559 link->irq.Handler = NULL; 559 link->irq.Handler = NULL;
560 560
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 705a839f1796..675076f5fca8 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1139,18 +1139,12 @@ static int random_fasync(int fd, struct file *filp, int on)
1139 return fasync_helper(fd, filp, on, &fasync); 1139 return fasync_helper(fd, filp, on, &fasync);
1140} 1140}
1141 1141
1142static int random_release(struct inode *inode, struct file *filp)
1143{
1144 return fasync_helper(-1, filp, 0, &fasync);
1145}
1146
1147const struct file_operations random_fops = { 1142const struct file_operations random_fops = {
1148 .read = random_read, 1143 .read = random_read,
1149 .write = random_write, 1144 .write = random_write,
1150 .poll = random_poll, 1145 .poll = random_poll,
1151 .unlocked_ioctl = random_ioctl, 1146 .unlocked_ioctl = random_ioctl,
1152 .fasync = random_fasync, 1147 .fasync = random_fasync,
1153 .release = random_release,
1154}; 1148};
1155 1149
1156const struct file_operations urandom_fops = { 1150const struct file_operations urandom_fops = {
@@ -1158,7 +1152,6 @@ const struct file_operations urandom_fops = {
1158 .write = random_write, 1152 .write = random_write,
1159 .unlocked_ioctl = random_ioctl, 1153 .unlocked_ioctl = random_ioctl,
1160 .fasync = random_fasync, 1154 .fasync = random_fasync,
1161 .release = random_release,
1162}; 1155};
1163 1156
1164/*************************************************************** 1157/***************************************************************
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index 32dc89720d58..20d6efb6324e 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -788,8 +788,6 @@ static int rtc_release(struct inode *inode, struct file *file)
788 } 788 }
789 spin_unlock_irq(&rtc_lock); 789 spin_unlock_irq(&rtc_lock);
790 790
791 if (file->f_flags & FASYNC)
792 rtc_fasync(-1, file, 0);
793no_irq: 791no_irq:
794#endif 792#endif
795 793
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 85e0eb76eeab..2457b07dabd6 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -898,7 +898,6 @@ static int sonypi_misc_fasync(int fd, struct file *filp, int on)
898 898
899static int sonypi_misc_release(struct inode *inode, struct file *file) 899static int sonypi_misc_release(struct inode *inode, struct file *file)
900{ 900{
901 sonypi_misc_fasync(-1, file, 0);
902 mutex_lock(&sonypi_device.lock); 901 mutex_lock(&sonypi_device.lock);
903 sonypi_device.open_count--; 902 sonypi_device.open_count--;
904 mutex_unlock(&sonypi_device.lock); 903 mutex_unlock(&sonypi_device.lock);
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index d8f83e26e4a4..a5af6072e2b3 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -1644,7 +1644,10 @@ static void reset_terminal(struct vc_data *vc, int do_clear)
1644 vc->vc_tab_stop[1] = 1644 vc->vc_tab_stop[1] =
1645 vc->vc_tab_stop[2] = 1645 vc->vc_tab_stop[2] =
1646 vc->vc_tab_stop[3] = 1646 vc->vc_tab_stop[3] =
1647 vc->vc_tab_stop[4] = 0x01010101; 1647 vc->vc_tab_stop[4] =
1648 vc->vc_tab_stop[5] =
1649 vc->vc_tab_stop[6] =
1650 vc->vc_tab_stop[7] = 0x01010101;
1648 1651
1649 vc->vc_bell_pitch = DEFAULT_BELL_PITCH; 1652 vc->vc_bell_pitch = DEFAULT_BELL_PITCH;
1650 vc->vc_bell_duration = DEFAULT_BELL_DURATION; 1653 vc->vc_bell_duration = DEFAULT_BELL_DURATION;
@@ -1935,7 +1938,10 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c)
1935 vc->vc_tab_stop[1] = 1938 vc->vc_tab_stop[1] =
1936 vc->vc_tab_stop[2] = 1939 vc->vc_tab_stop[2] =
1937 vc->vc_tab_stop[3] = 1940 vc->vc_tab_stop[3] =
1938 vc->vc_tab_stop[4] = 0; 1941 vc->vc_tab_stop[4] =
1942 vc->vc_tab_stop[5] =
1943 vc->vc_tab_stop[6] =
1944 vc->vc_tab_stop[7] = 0;
1939 } 1945 }
1940 return; 1946 return;
1941 case 'm': 1947 case 'm':
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index 5bed73329ef8..8504a2108557 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -65,12 +65,14 @@ static void cpuidle_idle_call(void)
65 return; 65 return;
66 } 66 }
67 67
68#if 0
69 /* shows regressions, re-enable for 2.6.29 */
68 /* 70 /*
69 * run any timers that can be run now, at this point 71 * run any timers that can be run now, at this point
70 * before calculating the idle duration etc. 72 * before calculating the idle duration etc.
71 */ 73 */
72 hrtimer_peek_ahead_timers(); 74 hrtimer_peek_ahead_timers();
73 75#endif
74 /* ask the governor for the next state */ 76 /* ask the governor for the next state */
75 next_state = cpuidle_curr_governor->select(dev); 77 next_state = cpuidle_curr_governor->select(dev);
76 if (need_resched()) 78 if (need_resched())
diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c
index ec249d2db633..d883e1b8bb8c 100644
--- a/drivers/dca/dca-core.c
+++ b/drivers/dca/dca-core.c
@@ -270,6 +270,6 @@ static void __exit dca_exit(void)
270 dca_sysfs_exit(); 270 dca_sysfs_exit();
271} 271}
272 272
273module_init(dca_init); 273subsys_initcall(dca_init);
274module_exit(dca_exit); 274module_exit(dca_exit);
275 275
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index 43b8cefad2c6..ecd743f7cc61 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -33,6 +33,7 @@
33#include <linux/delay.h> 33#include <linux/delay.h>
34#include <linux/dma-mapping.h> 34#include <linux/dma-mapping.h>
35#include <linux/workqueue.h> 35#include <linux/workqueue.h>
36#include <linux/i7300_idle.h>
36#include "ioatdma.h" 37#include "ioatdma.h"
37#include "ioatdma_registers.h" 38#include "ioatdma_registers.h"
38#include "ioatdma_hw.h" 39#include "ioatdma_hw.h"
@@ -171,8 +172,10 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device)
171 xfercap_scale = readb(device->reg_base + IOAT_XFERCAP_OFFSET); 172 xfercap_scale = readb(device->reg_base + IOAT_XFERCAP_OFFSET);
172 xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale)); 173 xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale));
173 174
174#if CONFIG_I7300_IDLE_IOAT_CHANNEL 175#ifdef CONFIG_I7300_IDLE_IOAT_CHANNEL
175 device->common.chancnt--; 176 if (i7300_idle_platform_probe(NULL, NULL) == 0) {
177 device->common.chancnt--;
178 }
176#endif 179#endif
177 for (i = 0; i < device->common.chancnt; i++) { 180 for (i = 0; i < device->common.chancnt; i++) {
178 ioat_chan = kzalloc(sizeof(*ioat_chan), GFP_KERNEL); 181 ioat_chan = kzalloc(sizeof(*ioat_chan), GFP_KERNEL);
@@ -522,7 +525,7 @@ static dma_cookie_t ioat1_tx_submit(struct dma_async_tx_descriptor *tx)
522 } 525 }
523 526
524 hw->ctl = IOAT_DMA_DESCRIPTOR_CTL_CP_STS; 527 hw->ctl = IOAT_DMA_DESCRIPTOR_CTL_CP_STS;
525 if (new->async_tx.callback) { 528 if (first->async_tx.callback) {
526 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; 529 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN;
527 if (first != new) { 530 if (first != new) {
528 /* move callback into to last desc */ 531 /* move callback into to last desc */
@@ -614,7 +617,7 @@ static dma_cookie_t ioat2_tx_submit(struct dma_async_tx_descriptor *tx)
614 } 617 }
615 618
616 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_CP_STS; 619 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_CP_STS;
617 if (new->async_tx.callback) { 620 if (first->async_tx.callback) {
618 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; 621 hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN;
619 if (first != new) { 622 if (first != new) {
620 /* move callback into to last desc */ 623 /* move callback into to last desc */
@@ -804,6 +807,12 @@ static void ioat_dma_free_chan_resources(struct dma_chan *chan)
804 struct ioat_desc_sw *desc, *_desc; 807 struct ioat_desc_sw *desc, *_desc;
805 int in_use_descs = 0; 808 int in_use_descs = 0;
806 809
810 /* Before freeing channel resources first check
811 * if they have been previously allocated for this channel.
812 */
813 if (ioat_chan->desccount == 0)
814 return;
815
807 tasklet_disable(&ioat_chan->cleanup_task); 816 tasklet_disable(&ioat_chan->cleanup_task);
808 ioat_dma_memcpy_cleanup(ioat_chan); 817 ioat_dma_memcpy_cleanup(ioat_chan);
809 818
@@ -866,6 +875,7 @@ static void ioat_dma_free_chan_resources(struct dma_chan *chan)
866 ioat_chan->last_completion = ioat_chan->completion_addr = 0; 875 ioat_chan->last_completion = ioat_chan->completion_addr = 0;
867 ioat_chan->pending = 0; 876 ioat_chan->pending = 0;
868 ioat_chan->dmacount = 0; 877 ioat_chan->dmacount = 0;
878 ioat_chan->desccount = 0;
869 ioat_chan->watchdog_completion = 0; 879 ioat_chan->watchdog_completion = 0;
870 ioat_chan->last_compl_desc_addr_hw = 0; 880 ioat_chan->last_compl_desc_addr_hw = 0;
871 ioat_chan->watchdog_tcp_cookie = 881 ioat_chan->watchdog_tcp_cookie =
diff --git a/drivers/dma/iovlock.c b/drivers/dma/iovlock.c
index e763d723e4cf..9f6fe46a9b87 100644
--- a/drivers/dma/iovlock.c
+++ b/drivers/dma/iovlock.c
@@ -55,7 +55,6 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len)
55 int nr_iovecs = 0; 55 int nr_iovecs = 0;
56 int iovec_len_used = 0; 56 int iovec_len_used = 0;
57 int iovec_pages_used = 0; 57 int iovec_pages_used = 0;
58 long err;
59 58
60 /* don't pin down non-user-based iovecs */ 59 /* don't pin down non-user-based iovecs */
61 if (segment_eq(get_fs(), KERNEL_DS)) 60 if (segment_eq(get_fs(), KERNEL_DS))
@@ -72,23 +71,21 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len)
72 local_list = kmalloc(sizeof(*local_list) 71 local_list = kmalloc(sizeof(*local_list)
73 + (nr_iovecs * sizeof (struct dma_page_list)) 72 + (nr_iovecs * sizeof (struct dma_page_list))
74 + (iovec_pages_used * sizeof (struct page*)), GFP_KERNEL); 73 + (iovec_pages_used * sizeof (struct page*)), GFP_KERNEL);
75 if (!local_list) { 74 if (!local_list)
76 err = -ENOMEM;
77 goto out; 75 goto out;
78 }
79 76
80 /* list of pages starts right after the page list array */ 77 /* list of pages starts right after the page list array */
81 pages = (struct page **) &local_list->page_list[nr_iovecs]; 78 pages = (struct page **) &local_list->page_list[nr_iovecs];
82 79
80 local_list->nr_iovecs = 0;
81
83 for (i = 0; i < nr_iovecs; i++) { 82 for (i = 0; i < nr_iovecs; i++) {
84 struct dma_page_list *page_list = &local_list->page_list[i]; 83 struct dma_page_list *page_list = &local_list->page_list[i];
85 84
86 len -= iov[i].iov_len; 85 len -= iov[i].iov_len;
87 86
88 if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len)) { 87 if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len))
89 err = -EFAULT;
90 goto unpin; 88 goto unpin;
91 }
92 89
93 page_list->nr_pages = num_pages_spanned(&iov[i]); 90 page_list->nr_pages = num_pages_spanned(&iov[i]);
94 page_list->base_address = iov[i].iov_base; 91 page_list->base_address = iov[i].iov_base;
@@ -109,10 +106,8 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len)
109 NULL); 106 NULL);
110 up_read(&current->mm->mmap_sem); 107 up_read(&current->mm->mmap_sem);
111 108
112 if (ret != page_list->nr_pages) { 109 if (ret != page_list->nr_pages)
113 err = -ENOMEM;
114 goto unpin; 110 goto unpin;
115 }
116 111
117 local_list->nr_iovecs = i + 1; 112 local_list->nr_iovecs = i + 1;
118 } 113 }
@@ -122,7 +117,7 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len)
122unpin: 117unpin:
123 dma_unpin_iovec_pages(local_list); 118 dma_unpin_iovec_pages(local_list);
124out: 119out:
125 return ERR_PTR(err); 120 return NULL;
126} 121}
127 122
128void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list) 123void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list)
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index 5a11e3cbcae2..e0dbd388757f 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -102,6 +102,13 @@ config EDAC_I3000
102 Support for error detection and correction on the Intel 102 Support for error detection and correction on the Intel
103 3000 and 3010 server chipsets. 103 3000 and 3010 server chipsets.
104 104
105config EDAC_X38
106 tristate "Intel X38"
107 depends on EDAC_MM_EDAC && PCI && X86
108 help
109 Support for error detection and correction on the Intel
110 X38 server chipsets.
111
105config EDAC_I82860 112config EDAC_I82860
106 tristate "Intel 82860" 113 tristate "Intel 82860"
107 depends on EDAC_MM_EDAC && PCI && X86_32 114 depends on EDAC_MM_EDAC && PCI && X86_32
diff --git a/drivers/edac/Makefile b/drivers/edac/Makefile
index e5e9104b5520..62c2d9bad8dc 100644
--- a/drivers/edac/Makefile
+++ b/drivers/edac/Makefile
@@ -26,6 +26,7 @@ obj-$(CONFIG_EDAC_I82443BXGX) += i82443bxgx_edac.o
26obj-$(CONFIG_EDAC_I82875P) += i82875p_edac.o 26obj-$(CONFIG_EDAC_I82875P) += i82875p_edac.o
27obj-$(CONFIG_EDAC_I82975X) += i82975x_edac.o 27obj-$(CONFIG_EDAC_I82975X) += i82975x_edac.o
28obj-$(CONFIG_EDAC_I3000) += i3000_edac.o 28obj-$(CONFIG_EDAC_I3000) += i3000_edac.o
29obj-$(CONFIG_EDAC_X38) += x38_edac.o
29obj-$(CONFIG_EDAC_I82860) += i82860_edac.o 30obj-$(CONFIG_EDAC_I82860) += i82860_edac.o
30obj-$(CONFIG_EDAC_R82600) += r82600_edac.o 31obj-$(CONFIG_EDAC_R82600) += r82600_edac.o
31obj-$(CONFIG_EDAC_PASEMI) += pasemi_edac.o 32obj-$(CONFIG_EDAC_PASEMI) += pasemi_edac.o
diff --git a/drivers/edac/cell_edac.c b/drivers/edac/cell_edac.c
index 887072f5dc8b..cd2e3b8087e7 100644
--- a/drivers/edac/cell_edac.c
+++ b/drivers/edac/cell_edac.c
@@ -9,6 +9,7 @@
9 */ 9 */
10#undef DEBUG 10#undef DEBUG
11 11
12#include <linux/edac.h>
12#include <linux/module.h> 13#include <linux/module.h>
13#include <linux/init.h> 14#include <linux/init.h>
14#include <linux/platform_device.h> 15#include <linux/platform_device.h>
@@ -164,6 +165,8 @@ static int __devinit cell_edac_probe(struct platform_device *pdev)
164 if (regs == NULL) 165 if (regs == NULL)
165 return -ENODEV; 166 return -ENODEV;
166 167
168 edac_op_state = EDAC_OPSTATE_POLL;
169
167 /* Get channel population */ 170 /* Get channel population */
168 reg = in_be64(&regs->mic_mnt_cfg); 171 reg = in_be64(&regs->mic_mnt_cfg);
169 dev_dbg(&pdev->dev, "MIC_MNT_CFG = 0x%016lx\n", reg); 172 dev_dbg(&pdev->dev, "MIC_MNT_CFG = 0x%016lx\n", reg);
diff --git a/drivers/edac/x38_edac.c b/drivers/edac/x38_edac.c
new file mode 100644
index 000000000000..2406c2ce2844
--- /dev/null
+++ b/drivers/edac/x38_edac.c
@@ -0,0 +1,524 @@
1/*
2 * Intel X38 Memory Controller kernel module
3 * Copyright (C) 2008 Cluster Computing, Inc.
4 *
5 * This file may be distributed under the terms of the
6 * GNU General Public License.
7 *
8 * This file is based on i3200_edac.c
9 *
10 */
11
12#include <linux/module.h>
13#include <linux/init.h>
14#include <linux/pci.h>
15#include <linux/pci_ids.h>
16#include <linux/slab.h>
17#include <linux/edac.h>
18#include "edac_core.h"
19
20#define X38_REVISION "1.1"
21
22#define EDAC_MOD_STR "x38_edac"
23
24#define PCI_DEVICE_ID_INTEL_X38_HB 0x29e0
25
26#define X38_RANKS 8
27#define X38_RANKS_PER_CHANNEL 4
28#define X38_CHANNELS 2
29
30/* Intel X38 register addresses - device 0 function 0 - DRAM Controller */
31
32#define X38_MCHBAR_LOW 0x48 /* MCH Memory Mapped Register BAR */
33#define X38_MCHBAR_HIGH 0x4b
34#define X38_MCHBAR_MASK 0xfffffc000ULL /* bits 35:14 */
35#define X38_MMR_WINDOW_SIZE 16384
36
37#define X38_TOM 0xa0 /* Top of Memory (16b)
38 *
39 * 15:10 reserved
40 * 9:0 total populated physical memory
41 */
42#define X38_TOM_MASK 0x3ff /* bits 9:0 */
43#define X38_TOM_SHIFT 26 /* 64MiB grain */
44
45#define X38_ERRSTS 0xc8 /* Error Status Register (16b)
46 *
47 * 15 reserved
48 * 14 Isochronous TBWRR Run Behind FIFO Full
49 * (ITCV)
50 * 13 Isochronous TBWRR Run Behind FIFO Put
51 * (ITSTV)
52 * 12 reserved
53 * 11 MCH Thermal Sensor Event
54 * for SMI/SCI/SERR (GTSE)
55 * 10 reserved
56 * 9 LOCK to non-DRAM Memory Flag (LCKF)
57 * 8 reserved
58 * 7 DRAM Throttle Flag (DTF)
59 * 6:2 reserved
60 * 1 Multi-bit DRAM ECC Error Flag (DMERR)
61 * 0 Single-bit DRAM ECC Error Flag (DSERR)
62 */
63#define X38_ERRSTS_UE 0x0002
64#define X38_ERRSTS_CE 0x0001
65#define X38_ERRSTS_BITS (X38_ERRSTS_UE | X38_ERRSTS_CE)
66
67
68/* Intel MMIO register space - device 0 function 0 - MMR space */
69
70#define X38_C0DRB 0x200 /* Channel 0 DRAM Rank Boundary (16b x 4)
71 *
72 * 15:10 reserved
73 * 9:0 Channel 0 DRAM Rank Boundary Address
74 */
75#define X38_C1DRB 0x600 /* Channel 1 DRAM Rank Boundary (16b x 4) */
76#define X38_DRB_MASK 0x3ff /* bits 9:0 */
77#define X38_DRB_SHIFT 26 /* 64MiB grain */
78
79#define X38_C0ECCERRLOG 0x280 /* Channel 0 ECC Error Log (64b)
80 *
81 * 63:48 Error Column Address (ERRCOL)
82 * 47:32 Error Row Address (ERRROW)
83 * 31:29 Error Bank Address (ERRBANK)
84 * 28:27 Error Rank Address (ERRRANK)
85 * 26:24 reserved
86 * 23:16 Error Syndrome (ERRSYND)
87 * 15: 2 reserved
88 * 1 Multiple Bit Error Status (MERRSTS)
89 * 0 Correctable Error Status (CERRSTS)
90 */
91#define X38_C1ECCERRLOG 0x680 /* Channel 1 ECC Error Log (64b) */
92#define X38_ECCERRLOG_CE 0x1
93#define X38_ECCERRLOG_UE 0x2
94#define X38_ECCERRLOG_RANK_BITS 0x18000000
95#define X38_ECCERRLOG_SYNDROME_BITS 0xff0000
96
97#define X38_CAPID0 0xe0 /* see P.94 of spec for details */
98
99static int x38_channel_num;
100
101static int how_many_channel(struct pci_dev *pdev)
102{
103 unsigned char capid0_8b; /* 8th byte of CAPID0 */
104
105 pci_read_config_byte(pdev, X38_CAPID0 + 8, &capid0_8b);
106 if (capid0_8b & 0x20) { /* check DCD: Dual Channel Disable */
107 debugf0("In single channel mode.\n");
108 x38_channel_num = 1;
109 } else {
110 debugf0("In dual channel mode.\n");
111 x38_channel_num = 2;
112 }
113
114 return x38_channel_num;
115}
116
117static unsigned long eccerrlog_syndrome(u64 log)
118{
119 return (log & X38_ECCERRLOG_SYNDROME_BITS) >> 16;
120}
121
122static int eccerrlog_row(int channel, u64 log)
123{
124 return ((log & X38_ECCERRLOG_RANK_BITS) >> 27) |
125 (channel * X38_RANKS_PER_CHANNEL);
126}
127
128enum x38_chips {
129 X38 = 0,
130};
131
132struct x38_dev_info {
133 const char *ctl_name;
134};
135
136struct x38_error_info {
137 u16 errsts;
138 u16 errsts2;
139 u64 eccerrlog[X38_CHANNELS];
140};
141
142static const struct x38_dev_info x38_devs[] = {
143 [X38] = {
144 .ctl_name = "x38"},
145};
146
147static struct pci_dev *mci_pdev;
148static int x38_registered = 1;
149
150
151static void x38_clear_error_info(struct mem_ctl_info *mci)
152{
153 struct pci_dev *pdev;
154
155 pdev = to_pci_dev(mci->dev);
156
157 /*
158 * Clear any error bits.
159 * (Yes, we really clear bits by writing 1 to them.)
160 */
161 pci_write_bits16(pdev, X38_ERRSTS, X38_ERRSTS_BITS,
162 X38_ERRSTS_BITS);
163}
164
165static u64 x38_readq(const void __iomem *addr)
166{
167 return readl(addr) | (((u64)readl(addr + 4)) << 32);
168}
169
170static void x38_get_and_clear_error_info(struct mem_ctl_info *mci,
171 struct x38_error_info *info)
172{
173 struct pci_dev *pdev;
174 void __iomem *window = mci->pvt_info;
175
176 pdev = to_pci_dev(mci->dev);
177
178 /*
179 * This is a mess because there is no atomic way to read all the
180 * registers at once and the registers can transition from CE being
181 * overwritten by UE.
182 */
183 pci_read_config_word(pdev, X38_ERRSTS, &info->errsts);
184 if (!(info->errsts & X38_ERRSTS_BITS))
185 return;
186
187 info->eccerrlog[0] = x38_readq(window + X38_C0ECCERRLOG);
188 if (x38_channel_num == 2)
189 info->eccerrlog[1] = x38_readq(window + X38_C1ECCERRLOG);
190
191 pci_read_config_word(pdev, X38_ERRSTS, &info->errsts2);
192
193 /*
194 * If the error is the same for both reads then the first set
195 * of reads is valid. If there is a change then there is a CE
196 * with no info and the second set of reads is valid and
197 * should be UE info.
198 */
199 if ((info->errsts ^ info->errsts2) & X38_ERRSTS_BITS) {
200 info->eccerrlog[0] = x38_readq(window + X38_C0ECCERRLOG);
201 if (x38_channel_num == 2)
202 info->eccerrlog[1] =
203 x38_readq(window + X38_C1ECCERRLOG);
204 }
205
206 x38_clear_error_info(mci);
207}
208
209static void x38_process_error_info(struct mem_ctl_info *mci,
210 struct x38_error_info *info)
211{
212 int channel;
213 u64 log;
214
215 if (!(info->errsts & X38_ERRSTS_BITS))
216 return;
217
218 if ((info->errsts ^ info->errsts2) & X38_ERRSTS_BITS) {
219 edac_mc_handle_ce_no_info(mci, "UE overwrote CE");
220 info->errsts = info->errsts2;
221 }
222
223 for (channel = 0; channel < x38_channel_num; channel++) {
224 log = info->eccerrlog[channel];
225 if (log & X38_ECCERRLOG_UE) {
226 edac_mc_handle_ue(mci, 0, 0,
227 eccerrlog_row(channel, log), "x38 UE");
228 } else if (log & X38_ECCERRLOG_CE) {
229 edac_mc_handle_ce(mci, 0, 0,
230 eccerrlog_syndrome(log),
231 eccerrlog_row(channel, log), 0, "x38 CE");
232 }
233 }
234}
235
236static void x38_check(struct mem_ctl_info *mci)
237{
238 struct x38_error_info info;
239
240 debugf1("MC%d: %s()\n", mci->mc_idx, __func__);
241 x38_get_and_clear_error_info(mci, &info);
242 x38_process_error_info(mci, &info);
243}
244
245
246void __iomem *x38_map_mchbar(struct pci_dev *pdev)
247{
248 union {
249 u64 mchbar;
250 struct {
251 u32 mchbar_low;
252 u32 mchbar_high;
253 };
254 } u;
255 void __iomem *window;
256
257 pci_read_config_dword(pdev, X38_MCHBAR_LOW, &u.mchbar_low);
258 pci_write_config_dword(pdev, X38_MCHBAR_LOW, u.mchbar_low | 0x1);
259 pci_read_config_dword(pdev, X38_MCHBAR_HIGH, &u.mchbar_high);
260 u.mchbar &= X38_MCHBAR_MASK;
261
262 if (u.mchbar != (resource_size_t)u.mchbar) {
263 printk(KERN_ERR
264 "x38: mmio space beyond accessible range (0x%llx)\n",
265 (unsigned long long)u.mchbar);
266 return NULL;
267 }
268
269 window = ioremap_nocache(u.mchbar, X38_MMR_WINDOW_SIZE);
270 if (!window)
271 printk(KERN_ERR "x38: cannot map mmio space at 0x%llx\n",
272 (unsigned long long)u.mchbar);
273
274 return window;
275}
276
277
278static void x38_get_drbs(void __iomem *window,
279 u16 drbs[X38_CHANNELS][X38_RANKS_PER_CHANNEL])
280{
281 int i;
282
283 for (i = 0; i < X38_RANKS_PER_CHANNEL; i++) {
284 drbs[0][i] = readw(window + X38_C0DRB + 2*i) & X38_DRB_MASK;
285 drbs[1][i] = readw(window + X38_C1DRB + 2*i) & X38_DRB_MASK;
286 }
287}
288
289static bool x38_is_stacked(struct pci_dev *pdev,
290 u16 drbs[X38_CHANNELS][X38_RANKS_PER_CHANNEL])
291{
292 u16 tom;
293
294 pci_read_config_word(pdev, X38_TOM, &tom);
295 tom &= X38_TOM_MASK;
296
297 return drbs[X38_CHANNELS - 1][X38_RANKS_PER_CHANNEL - 1] == tom;
298}
299
300static unsigned long drb_to_nr_pages(
301 u16 drbs[X38_CHANNELS][X38_RANKS_PER_CHANNEL],
302 bool stacked, int channel, int rank)
303{
304 int n;
305
306 n = drbs[channel][rank];
307 if (rank > 0)
308 n -= drbs[channel][rank - 1];
309 if (stacked && (channel == 1) && drbs[channel][rank] ==
310 drbs[channel][X38_RANKS_PER_CHANNEL - 1]) {
311 n -= drbs[0][X38_RANKS_PER_CHANNEL - 1];
312 }
313
314 n <<= (X38_DRB_SHIFT - PAGE_SHIFT);
315 return n;
316}
317
318static int x38_probe1(struct pci_dev *pdev, int dev_idx)
319{
320 int rc;
321 int i;
322 struct mem_ctl_info *mci = NULL;
323 unsigned long last_page;
324 u16 drbs[X38_CHANNELS][X38_RANKS_PER_CHANNEL];
325 bool stacked;
326 void __iomem *window;
327
328 debugf0("MC: %s()\n", __func__);
329
330 window = x38_map_mchbar(pdev);
331 if (!window)
332 return -ENODEV;
333
334 x38_get_drbs(window, drbs);
335
336 how_many_channel(pdev);
337
338 /* FIXME: unconventional pvt_info usage */
339 mci = edac_mc_alloc(0, X38_RANKS, x38_channel_num, 0);
340 if (!mci)
341 return -ENOMEM;
342
343 debugf3("MC: %s(): init mci\n", __func__);
344
345 mci->dev = &pdev->dev;
346 mci->mtype_cap = MEM_FLAG_DDR2;
347
348 mci->edac_ctl_cap = EDAC_FLAG_SECDED;
349 mci->edac_cap = EDAC_FLAG_SECDED;
350
351 mci->mod_name = EDAC_MOD_STR;
352 mci->mod_ver = X38_REVISION;
353 mci->ctl_name = x38_devs[dev_idx].ctl_name;
354 mci->dev_name = pci_name(pdev);
355 mci->edac_check = x38_check;
356 mci->ctl_page_to_phys = NULL;
357 mci->pvt_info = window;
358
359 stacked = x38_is_stacked(pdev, drbs);
360
361 /*
362 * The dram rank boundary (DRB) reg values are boundary addresses
363 * for each DRAM rank with a granularity of 64MB. DRB regs are
364 * cumulative; the last one will contain the total memory
365 * contained in all ranks.
366 */
367 last_page = -1UL;
368 for (i = 0; i < mci->nr_csrows; i++) {
369 unsigned long nr_pages;
370 struct csrow_info *csrow = &mci->csrows[i];
371
372 nr_pages = drb_to_nr_pages(drbs, stacked,
373 i / X38_RANKS_PER_CHANNEL,
374 i % X38_RANKS_PER_CHANNEL);
375
376 if (nr_pages == 0) {
377 csrow->mtype = MEM_EMPTY;
378 continue;
379 }
380
381 csrow->first_page = last_page + 1;
382 last_page += nr_pages;
383 csrow->last_page = last_page;
384 csrow->nr_pages = nr_pages;
385
386 csrow->grain = nr_pages << PAGE_SHIFT;
387 csrow->mtype = MEM_DDR2;
388 csrow->dtype = DEV_UNKNOWN;
389 csrow->edac_mode = EDAC_UNKNOWN;
390 }
391
392 x38_clear_error_info(mci);
393
394 rc = -ENODEV;
395 if (edac_mc_add_mc(mci)) {
396 debugf3("MC: %s(): failed edac_mc_add_mc()\n", __func__);
397 goto fail;
398 }
399
400 /* get this far and it's successful */
401 debugf3("MC: %s(): success\n", __func__);
402 return 0;
403
404fail:
405 iounmap(window);
406 if (mci)
407 edac_mc_free(mci);
408
409 return rc;
410}
411
412static int __devinit x38_init_one(struct pci_dev *pdev,
413 const struct pci_device_id *ent)
414{
415 int rc;
416
417 debugf0("MC: %s()\n", __func__);
418
419 if (pci_enable_device(pdev) < 0)
420 return -EIO;
421
422 rc = x38_probe1(pdev, ent->driver_data);
423 if (!mci_pdev)
424 mci_pdev = pci_dev_get(pdev);
425
426 return rc;
427}
428
429static void __devexit x38_remove_one(struct pci_dev *pdev)
430{
431 struct mem_ctl_info *mci;
432
433 debugf0("%s()\n", __func__);
434
435 mci = edac_mc_del_mc(&pdev->dev);
436 if (!mci)
437 return;
438
439 iounmap(mci->pvt_info);
440
441 edac_mc_free(mci);
442}
443
444static const struct pci_device_id x38_pci_tbl[] __devinitdata = {
445 {
446 PCI_VEND_DEV(INTEL, X38_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
447 X38},
448 {
449 0,
450 } /* 0 terminated list. */
451};
452
453MODULE_DEVICE_TABLE(pci, x38_pci_tbl);
454
455static struct pci_driver x38_driver = {
456 .name = EDAC_MOD_STR,
457 .probe = x38_init_one,
458 .remove = __devexit_p(x38_remove_one),
459 .id_table = x38_pci_tbl,
460};
461
462static int __init x38_init(void)
463{
464 int pci_rc;
465
466 debugf3("MC: %s()\n", __func__);
467
468 /* Ensure that the OPSTATE is set correctly for POLL or NMI */
469 opstate_init();
470
471 pci_rc = pci_register_driver(&x38_driver);
472 if (pci_rc < 0)
473 goto fail0;
474
475 if (!mci_pdev) {
476 x38_registered = 0;
477 mci_pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
478 PCI_DEVICE_ID_INTEL_X38_HB, NULL);
479 if (!mci_pdev) {
480 debugf0("x38 pci_get_device fail\n");
481 pci_rc = -ENODEV;
482 goto fail1;
483 }
484
485 pci_rc = x38_init_one(mci_pdev, x38_pci_tbl);
486 if (pci_rc < 0) {
487 debugf0("x38 init fail\n");
488 pci_rc = -ENODEV;
489 goto fail1;
490 }
491 }
492
493 return 0;
494
495fail1:
496 pci_unregister_driver(&x38_driver);
497
498fail0:
499 if (mci_pdev)
500 pci_dev_put(mci_pdev);
501
502 return pci_rc;
503}
504
505static void __exit x38_exit(void)
506{
507 debugf3("MC: %s()\n", __func__);
508
509 pci_unregister_driver(&x38_driver);
510 if (!x38_registered) {
511 x38_remove_one(mci_pdev);
512 pci_dev_put(mci_pdev);
513 }
514}
515
516module_init(x38_init);
517module_exit(x38_exit);
518
519MODULE_LICENSE("GPL");
520MODULE_AUTHOR("Cluster Computing, Inc. Hitoshi Mitake");
521MODULE_DESCRIPTION("MC support for Intel X38 memory hub controllers");
522
523module_param(edac_op_state, int, 0444);
524MODULE_PARM_DESC(edac_op_state, "EDAC Error Reporting state: 0=Poll,1=NMI");
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c
index 3fccdd484100..6b9be42c7b98 100644
--- a/drivers/firewire/fw-device.c
+++ b/drivers/firewire/fw-device.c
@@ -587,8 +587,7 @@ static void create_units(struct fw_device *device)
587 unit->device.bus = &fw_bus_type; 587 unit->device.bus = &fw_bus_type;
588 unit->device.type = &fw_unit_type; 588 unit->device.type = &fw_unit_type;
589 unit->device.parent = &device->device; 589 unit->device.parent = &device->device;
590 snprintf(unit->device.bus_id, sizeof(unit->device.bus_id), 590 dev_set_name(&unit->device, "%s.%d", dev_name(&device->device), i++);
591 "%s.%d", device->device.bus_id, i++);
592 591
593 init_fw_attribute_group(&unit->device, 592 init_fw_attribute_group(&unit->device,
594 fw_unit_attributes, 593 fw_unit_attributes,
@@ -711,8 +710,7 @@ static void fw_device_init(struct work_struct *work)
711 device->device.type = &fw_device_type; 710 device->device.type = &fw_device_type;
712 device->device.parent = device->card->device; 711 device->device.parent = device->card->device;
713 device->device.devt = MKDEV(fw_cdev_major, minor); 712 device->device.devt = MKDEV(fw_cdev_major, minor);
714 snprintf(device->device.bus_id, sizeof(device->device.bus_id), 713 dev_set_name(&device->device, "fw%d", minor);
715 "fw%d", minor);
716 714
717 init_fw_attribute_group(&device->device, 715 init_fw_attribute_group(&device->device,
718 fw_device_attributes, 716 fw_device_attributes,
@@ -741,13 +739,13 @@ static void fw_device_init(struct work_struct *work)
741 if (device->config_rom_retries) 739 if (device->config_rom_retries)
742 fw_notify("created device %s: GUID %08x%08x, S%d00, " 740 fw_notify("created device %s: GUID %08x%08x, S%d00, "
743 "%d config ROM retries\n", 741 "%d config ROM retries\n",
744 device->device.bus_id, 742 dev_name(&device->device),
745 device->config_rom[3], device->config_rom[4], 743 device->config_rom[3], device->config_rom[4],
746 1 << device->max_speed, 744 1 << device->max_speed,
747 device->config_rom_retries); 745 device->config_rom_retries);
748 else 746 else
749 fw_notify("created device %s: GUID %08x%08x, S%d00\n", 747 fw_notify("created device %s: GUID %08x%08x, S%d00\n",
750 device->device.bus_id, 748 dev_name(&device->device),
751 device->config_rom[3], device->config_rom[4], 749 device->config_rom[3], device->config_rom[4],
752 1 << device->max_speed); 750 1 << device->max_speed);
753 device->config_rom_retries = 0; 751 device->config_rom_retries = 0;
@@ -883,12 +881,12 @@ static void fw_device_refresh(struct work_struct *work)
883 FW_DEVICE_RUNNING) == FW_DEVICE_SHUTDOWN) 881 FW_DEVICE_RUNNING) == FW_DEVICE_SHUTDOWN)
884 goto gone; 882 goto gone;
885 883
886 fw_notify("refreshed device %s\n", device->device.bus_id); 884 fw_notify("refreshed device %s\n", dev_name(&device->device));
887 device->config_rom_retries = 0; 885 device->config_rom_retries = 0;
888 goto out; 886 goto out;
889 887
890 give_up: 888 give_up:
891 fw_notify("giving up on refresh of device %s\n", device->device.bus_id); 889 fw_notify("giving up on refresh of device %s\n", dev_name(&device->device));
892 gone: 890 gone:
893 atomic_set(&device->state, FW_DEVICE_SHUTDOWN); 891 atomic_set(&device->state, FW_DEVICE_SHUTDOWN);
894 fw_device_shutdown(work); 892 fw_device_shutdown(work);
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 251416f2148f..46610b090415 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -476,6 +476,7 @@ static int ar_context_add_page(struct ar_context *ctx)
476 if (ab == NULL) 476 if (ab == NULL)
477 return -ENOMEM; 477 return -ENOMEM;
478 478
479 ab->next = NULL;
479 memset(&ab->descriptor, 0, sizeof(ab->descriptor)); 480 memset(&ab->descriptor, 0, sizeof(ab->descriptor));
480 ab->descriptor.control = cpu_to_le16(DESCRIPTOR_INPUT_MORE | 481 ab->descriptor.control = cpu_to_le16(DESCRIPTOR_INPUT_MORE |
481 DESCRIPTOR_STATUS | 482 DESCRIPTOR_STATUS |
@@ -496,6 +497,21 @@ static int ar_context_add_page(struct ar_context *ctx)
496 return 0; 497 return 0;
497} 498}
498 499
500static void ar_context_release(struct ar_context *ctx)
501{
502 struct ar_buffer *ab, *ab_next;
503 size_t offset;
504 dma_addr_t ab_bus;
505
506 for (ab = ctx->current_buffer; ab; ab = ab_next) {
507 ab_next = ab->next;
508 offset = offsetof(struct ar_buffer, data);
509 ab_bus = le32_to_cpu(ab->descriptor.data_address) - offset;
510 dma_free_coherent(ctx->ohci->card.device, PAGE_SIZE,
511 ab, ab_bus);
512 }
513}
514
499#if defined(CONFIG_PPC_PMAC) && defined(CONFIG_PPC32) 515#if defined(CONFIG_PPC_PMAC) && defined(CONFIG_PPC32)
500#define cond_le32_to_cpu(v) \ 516#define cond_le32_to_cpu(v) \
501 (ohci->old_uninorth ? (__force __u32)(v) : le32_to_cpu(v)) 517 (ohci->old_uninorth ? (__force __u32)(v) : le32_to_cpu(v))
@@ -2349,8 +2365,8 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2349 2365
2350 ohci = kzalloc(sizeof(*ohci), GFP_KERNEL); 2366 ohci = kzalloc(sizeof(*ohci), GFP_KERNEL);
2351 if (ohci == NULL) { 2367 if (ohci == NULL) {
2352 fw_error("Could not malloc fw_ohci data.\n"); 2368 err = -ENOMEM;
2353 return -ENOMEM; 2369 goto fail;
2354 } 2370 }
2355 2371
2356 fw_card_initialize(&ohci->card, &ohci_driver, &dev->dev); 2372 fw_card_initialize(&ohci->card, &ohci_driver, &dev->dev);
@@ -2359,7 +2375,7 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2359 2375
2360 err = pci_enable_device(dev); 2376 err = pci_enable_device(dev);
2361 if (err) { 2377 if (err) {
2362 fw_error("Failed to enable OHCI hardware.\n"); 2378 fw_error("Failed to enable OHCI hardware\n");
2363 goto fail_free; 2379 goto fail_free;
2364 } 2380 }
2365 2381
@@ -2427,9 +2443,8 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2427 ohci->ir_context_list = kzalloc(size, GFP_KERNEL); 2443 ohci->ir_context_list = kzalloc(size, GFP_KERNEL);
2428 2444
2429 if (ohci->it_context_list == NULL || ohci->ir_context_list == NULL) { 2445 if (ohci->it_context_list == NULL || ohci->ir_context_list == NULL) {
2430 fw_error("Out of memory for it/ir contexts.\n");
2431 err = -ENOMEM; 2446 err = -ENOMEM;
2432 goto fail_registers; 2447 goto fail_contexts;
2433 } 2448 }
2434 2449
2435 /* self-id dma buffer allocation */ 2450 /* self-id dma buffer allocation */
@@ -2438,9 +2453,8 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2438 &ohci->self_id_bus, 2453 &ohci->self_id_bus,
2439 GFP_KERNEL); 2454 GFP_KERNEL);
2440 if (ohci->self_id_cpu == NULL) { 2455 if (ohci->self_id_cpu == NULL) {
2441 fw_error("Out of memory for self ID buffer.\n");
2442 err = -ENOMEM; 2456 err = -ENOMEM;
2443 goto fail_registers; 2457 goto fail_contexts;
2444 } 2458 }
2445 2459
2446 bus_options = reg_read(ohci, OHCI1394_BusOptions); 2460 bus_options = reg_read(ohci, OHCI1394_BusOptions);
@@ -2454,15 +2468,19 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2454 goto fail_self_id; 2468 goto fail_self_id;
2455 2469
2456 fw_notify("Added fw-ohci device %s, OHCI version %x.%x\n", 2470 fw_notify("Added fw-ohci device %s, OHCI version %x.%x\n",
2457 dev->dev.bus_id, version >> 16, version & 0xff); 2471 dev_name(&dev->dev), version >> 16, version & 0xff);
2458 return 0; 2472 return 0;
2459 2473
2460 fail_self_id: 2474 fail_self_id:
2461 dma_free_coherent(ohci->card.device, SELF_ID_BUF_SIZE, 2475 dma_free_coherent(ohci->card.device, SELF_ID_BUF_SIZE,
2462 ohci->self_id_cpu, ohci->self_id_bus); 2476 ohci->self_id_cpu, ohci->self_id_bus);
2463 fail_registers: 2477 fail_contexts:
2464 kfree(ohci->it_context_list);
2465 kfree(ohci->ir_context_list); 2478 kfree(ohci->ir_context_list);
2479 kfree(ohci->it_context_list);
2480 context_release(&ohci->at_response_ctx);
2481 context_release(&ohci->at_request_ctx);
2482 ar_context_release(&ohci->ar_response_ctx);
2483 ar_context_release(&ohci->ar_request_ctx);
2466 pci_iounmap(dev, ohci->registers); 2484 pci_iounmap(dev, ohci->registers);
2467 fail_iomem: 2485 fail_iomem:
2468 pci_release_region(dev, 0); 2486 pci_release_region(dev, 0);
@@ -2471,6 +2489,9 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2471 fail_free: 2489 fail_free:
2472 kfree(&ohci->card); 2490 kfree(&ohci->card);
2473 ohci_pmac_off(dev); 2491 ohci_pmac_off(dev);
2492 fail:
2493 if (err == -ENOMEM)
2494 fw_error("Out of memory\n");
2474 2495
2475 return err; 2496 return err;
2476} 2497}
@@ -2491,8 +2512,19 @@ static void pci_remove(struct pci_dev *dev)
2491 2512
2492 software_reset(ohci); 2513 software_reset(ohci);
2493 free_irq(dev->irq, ohci); 2514 free_irq(dev->irq, ohci);
2515
2516 if (ohci->next_config_rom && ohci->next_config_rom != ohci->config_rom)
2517 dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE,
2518 ohci->next_config_rom, ohci->next_config_rom_bus);
2519 if (ohci->config_rom)
2520 dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE,
2521 ohci->config_rom, ohci->config_rom_bus);
2494 dma_free_coherent(ohci->card.device, SELF_ID_BUF_SIZE, 2522 dma_free_coherent(ohci->card.device, SELF_ID_BUF_SIZE,
2495 ohci->self_id_cpu, ohci->self_id_bus); 2523 ohci->self_id_cpu, ohci->self_id_bus);
2524 ar_context_release(&ohci->ar_request_ctx);
2525 ar_context_release(&ohci->ar_response_ctx);
2526 context_release(&ohci->at_request_ctx);
2527 context_release(&ohci->at_response_ctx);
2496 kfree(ohci->it_context_list); 2528 kfree(ohci->it_context_list);
2497 kfree(ohci->ir_context_list); 2529 kfree(ohci->ir_context_list);
2498 pci_iounmap(dev, ohci->registers); 2530 pci_iounmap(dev, ohci->registers);
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c
index ef0b9b419c27..97df6dac3a82 100644
--- a/drivers/firewire/fw-sbp2.c
+++ b/drivers/firewire/fw-sbp2.c
@@ -173,6 +173,9 @@ struct sbp2_target {
173 int blocked; /* ditto */ 173 int blocked; /* ditto */
174}; 174};
175 175
176/* Impossible login_id, to detect logout attempt before successful login */
177#define INVALID_LOGIN_ID 0x10000
178
176/* 179/*
177 * Per section 7.4.8 of the SBP-2 spec, a mgt_ORB_timeout value can be 180 * Per section 7.4.8 of the SBP-2 spec, a mgt_ORB_timeout value can be
178 * provided in the config rom. Most devices do provide a value, which 181 * provided in the config rom. Most devices do provide a value, which
@@ -788,9 +791,20 @@ static void sbp2_release_target(struct kref *kref)
788 scsi_remove_device(sdev); 791 scsi_remove_device(sdev);
789 scsi_device_put(sdev); 792 scsi_device_put(sdev);
790 } 793 }
791 sbp2_send_management_orb(lu, tgt->node_id, lu->generation, 794 if (lu->login_id != INVALID_LOGIN_ID) {
792 SBP2_LOGOUT_REQUEST, lu->login_id, NULL); 795 int generation, node_id;
793 796 /*
797 * tgt->node_id may be obsolete here if we failed
798 * during initial login or after a bus reset where
799 * the topology changed.
800 */
801 generation = device->generation;
802 smp_rmb(); /* node_id vs. generation */
803 node_id = device->node_id;
804 sbp2_send_management_orb(lu, node_id, generation,
805 SBP2_LOGOUT_REQUEST,
806 lu->login_id, NULL);
807 }
794 fw_core_remove_address_handler(&lu->address_handler); 808 fw_core_remove_address_handler(&lu->address_handler);
795 list_del(&lu->link); 809 list_del(&lu->link);
796 kfree(lu); 810 kfree(lu);
@@ -805,19 +819,20 @@ static void sbp2_release_target(struct kref *kref)
805 819
806static struct workqueue_struct *sbp2_wq; 820static struct workqueue_struct *sbp2_wq;
807 821
822static void sbp2_target_put(struct sbp2_target *tgt)
823{
824 kref_put(&tgt->kref, sbp2_release_target);
825}
826
808/* 827/*
809 * Always get the target's kref when scheduling work on one its units. 828 * Always get the target's kref when scheduling work on one its units.
810 * Each workqueue job is responsible to call sbp2_target_put() upon return. 829 * Each workqueue job is responsible to call sbp2_target_put() upon return.
811 */ 830 */
812static void sbp2_queue_work(struct sbp2_logical_unit *lu, unsigned long delay) 831static void sbp2_queue_work(struct sbp2_logical_unit *lu, unsigned long delay)
813{ 832{
814 if (queue_delayed_work(sbp2_wq, &lu->work, delay)) 833 kref_get(&lu->tgt->kref);
815 kref_get(&lu->tgt->kref); 834 if (!queue_delayed_work(sbp2_wq, &lu->work, delay))
816} 835 sbp2_target_put(lu->tgt);
817
818static void sbp2_target_put(struct sbp2_target *tgt)
819{
820 kref_put(&tgt->kref, sbp2_release_target);
821} 836}
822 837
823/* 838/*
@@ -978,6 +993,7 @@ static int sbp2_add_logical_unit(struct sbp2_target *tgt, int lun_entry)
978 993
979 lu->tgt = tgt; 994 lu->tgt = tgt;
980 lu->lun = lun_entry & 0xffff; 995 lu->lun = lun_entry & 0xffff;
996 lu->login_id = INVALID_LOGIN_ID;
981 lu->retries = 0; 997 lu->retries = 0;
982 lu->has_sdev = false; 998 lu->has_sdev = false;
983 lu->blocked = false; 999 lu->blocked = false;
@@ -1119,7 +1135,7 @@ static int sbp2_probe(struct device *dev)
1119 tgt->unit = unit; 1135 tgt->unit = unit;
1120 kref_init(&tgt->kref); 1136 kref_init(&tgt->kref);
1121 INIT_LIST_HEAD(&tgt->lu_list); 1137 INIT_LIST_HEAD(&tgt->lu_list);
1122 tgt->bus_id = unit->device.bus_id; 1138 tgt->bus_id = dev_name(&unit->device);
1123 tgt->guid = (u64)device->config_rom[3] << 32 | device->config_rom[4]; 1139 tgt->guid = (u64)device->config_rom[3] << 32 | device->config_rom[4];
1124 1140
1125 if (fw_device_enable_phys_dma(device) < 0) 1141 if (fw_device_enable_phys_dma(device) < 0)
@@ -1147,7 +1163,7 @@ static int sbp2_probe(struct device *dev)
1147 1163
1148 /* Do the login in a workqueue so we can easily reschedule retries. */ 1164 /* Do the login in a workqueue so we can easily reschedule retries. */
1149 list_for_each_entry(lu, &tgt->lu_list, link) 1165 list_for_each_entry(lu, &tgt->lu_list, link)
1150 sbp2_queue_work(lu, 0); 1166 sbp2_queue_work(lu, DIV_ROUND_UP(HZ, 5));
1151 return 0; 1167 return 0;
1152 1168
1153 fail_tgt_put: 1169 fail_tgt_put:
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c
index c1b81077c4a8..5e204713002d 100644
--- a/drivers/firewire/fw-topology.c
+++ b/drivers/firewire/fw-topology.c
@@ -413,7 +413,7 @@ static void
413update_tree(struct fw_card *card, struct fw_node *root) 413update_tree(struct fw_card *card, struct fw_node *root)
414{ 414{
415 struct list_head list0, list1; 415 struct list_head list0, list1;
416 struct fw_node *node0, *node1; 416 struct fw_node *node0, *node1, *next1;
417 int i, event; 417 int i, event;
418 418
419 INIT_LIST_HEAD(&list0); 419 INIT_LIST_HEAD(&list0);
@@ -485,7 +485,9 @@ update_tree(struct fw_card *card, struct fw_node *root)
485 } 485 }
486 486
487 node0 = fw_node(node0->link.next); 487 node0 = fw_node(node0->link.next);
488 node1 = fw_node(node1->link.next); 488 next1 = fw_node(node1->link.next);
489 fw_node_put(node1);
490 node1 = next1;
489 } 491 }
490} 492}
491 493
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h
index 027f58ce81ad..aed7dbb17cda 100644
--- a/drivers/firewire/fw-transaction.h
+++ b/drivers/firewire/fw-transaction.h
@@ -248,7 +248,7 @@ struct fw_card {
248 struct fw_node *local_node; 248 struct fw_node *local_node;
249 struct fw_node *root_node; 249 struct fw_node *root_node;
250 struct fw_node *irm_node; 250 struct fw_node *irm_node;
251 int color; 251 u8 color; /* must be u8 to match the definition in struct fw_node */
252 int gap_count; 252 int gap_count;
253 bool beta_repeaters_present; 253 bool beta_repeaters_present;
254 254
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index 3e526b6d00cb..8daf4793ac32 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -81,9 +81,9 @@ static void dmi_table(u8 *buf, int len, int num,
81 const struct dmi_header *dm = (const struct dmi_header *)data; 81 const struct dmi_header *dm = (const struct dmi_header *)data;
82 82
83 /* 83 /*
84 * We want to know the total length (formated area and strings) 84 * We want to know the total length (formatted area and
85 * before decoding to make sure we won't run off the table in 85 * strings) before decoding to make sure we won't run off the
86 * dmi_decode or dmi_string 86 * table in dmi_decode or dmi_string
87 */ 87 */
88 data += dm->length; 88 data += dm->length;
89 while ((data - buf < len - 1) && (data[0] || data[1])) 89 while ((data - buf < len - 1) && (data[0] || data[1]))
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 96f416afc3f6..3ab1e9cc4692 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -266,11 +266,19 @@ int drm_init(struct drm_driver *driver)
266 for (i = 0; driver->pci_driver.id_table[i].vendor != 0; i++) { 266 for (i = 0; driver->pci_driver.id_table[i].vendor != 0; i++) {
267 pid = (struct pci_device_id *)&driver->pci_driver.id_table[i]; 267 pid = (struct pci_device_id *)&driver->pci_driver.id_table[i];
268 268
269 /* Loop around setting up a DRM device for each PCI device
270 * matching our ID and device class. If we had the internal
271 * function that pci_get_subsys and pci_get_class used, we'd
272 * be able to just pass pid in instead of doing a two-stage
273 * thing.
274 */
269 pdev = NULL; 275 pdev = NULL;
270 /* pass back in pdev to account for multiple identical cards */
271 while ((pdev = 276 while ((pdev =
272 pci_get_subsys(pid->vendor, pid->device, pid->subvendor, 277 pci_get_subsys(pid->vendor, pid->device, pid->subvendor,
273 pid->subdevice, pdev)) != NULL) { 278 pid->subdevice, pdev)) != NULL) {
279 if ((pdev->class & pid->class_mask) != pid->class)
280 continue;
281
274 /* stealth mode requires a manual probe */ 282 /* stealth mode requires a manual probe */
275 pci_dev_get(pdev); 283 pci_dev_get(pdev);
276 drm_get_dev(pdev, pid, driver); 284 drm_get_dev(pdev, pid, driver);
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 0d46627663b1..78eeed5caaff 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -406,8 +406,6 @@ int drm_release(struct inode *inode, struct file *filp)
406 if (dev->driver->driver_features & DRIVER_GEM) 406 if (dev->driver->driver_features & DRIVER_GEM)
407 drm_gem_release(dev, file_priv); 407 drm_gem_release(dev, file_priv);
408 408
409 drm_fasync(-1, filp, 0);
410
411 mutex_lock(&dev->ctxlist_mutex); 409 mutex_lock(&dev->ctxlist_mutex);
412 if (!list_empty(&dev->ctxlist)) { 410 if (!list_empty(&dev->ctxlist)) {
413 struct drm_ctx_list *pos, *n; 411 struct drm_ctx_list *pos, *n;
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 212a94f715b2..15c8dabc3e97 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -280,8 +280,6 @@ int drm_irq_uninstall(struct drm_device * dev)
280 280
281 drm_vblank_cleanup(dev); 281 drm_vblank_cleanup(dev);
282 282
283 dev->locked_tasklet_func = NULL;
284
285 return 0; 283 return 0;
286} 284}
287EXPORT_SYMBOL(drm_irq_uninstall); 285EXPORT_SYMBOL(drm_irq_uninstall);
@@ -699,81 +697,3 @@ void drm_handle_vblank(struct drm_device *dev, int crtc)
699 drm_vbl_send_signals(dev, crtc); 697 drm_vbl_send_signals(dev, crtc);
700} 698}
701EXPORT_SYMBOL(drm_handle_vblank); 699EXPORT_SYMBOL(drm_handle_vblank);
702
703/**
704 * Tasklet wrapper function.
705 *
706 * \param data DRM device in disguise.
707 *
708 * Attempts to grab the HW lock and calls the driver callback on success. On
709 * failure, leave the lock marked as contended so the callback can be called
710 * from drm_unlock().
711 */
712static void drm_locked_tasklet_func(unsigned long data)
713{
714 struct drm_device *dev = (struct drm_device *)data;
715 unsigned long irqflags;
716 void (*tasklet_func)(struct drm_device *);
717
718 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
719 tasklet_func = dev->locked_tasklet_func;
720 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
721
722 if (!tasklet_func ||
723 !drm_lock_take(&dev->lock,
724 DRM_KERNEL_CONTEXT)) {
725 return;
726 }
727
728 dev->lock.lock_time = jiffies;
729 atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
730
731 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
732 tasklet_func = dev->locked_tasklet_func;
733 dev->locked_tasklet_func = NULL;
734 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
735
736 if (tasklet_func != NULL)
737 tasklet_func(dev);
738
739 drm_lock_free(&dev->lock,
740 DRM_KERNEL_CONTEXT);
741}
742
743/**
744 * Schedule a tasklet to call back a driver hook with the HW lock held.
745 *
746 * \param dev DRM device.
747 * \param func Driver callback.
748 *
749 * This is intended for triggering actions that require the HW lock from an
750 * interrupt handler. The lock will be grabbed ASAP after the interrupt handler
751 * completes. Note that the callback may be called from interrupt or process
752 * context, it must not make any assumptions about this. Also, the HW lock will
753 * be held with the kernel context or any client context.
754 */
755void drm_locked_tasklet(struct drm_device *dev, void (*func)(struct drm_device *))
756{
757 unsigned long irqflags;
758 static DECLARE_TASKLET(drm_tasklet, drm_locked_tasklet_func, 0);
759
760 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ) ||
761 test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state))
762 return;
763
764 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
765
766 if (dev->locked_tasklet_func) {
767 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
768 return;
769 }
770
771 dev->locked_tasklet_func = func;
772
773 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
774
775 drm_tasklet.data = (unsigned long)dev;
776
777 tasklet_hi_schedule(&drm_tasklet);
778}
779EXPORT_SYMBOL(drm_locked_tasklet);
diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index 888159e03d26..1cfa72031f8f 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -154,8 +154,6 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
154int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv) 154int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
155{ 155{
156 struct drm_lock *lock = data; 156 struct drm_lock *lock = data;
157 unsigned long irqflags;
158 void (*tasklet_func)(struct drm_device *);
159 157
160 if (lock->context == DRM_KERNEL_CONTEXT) { 158 if (lock->context == DRM_KERNEL_CONTEXT) {
161 DRM_ERROR("Process %d using kernel context %d\n", 159 DRM_ERROR("Process %d using kernel context %d\n",
@@ -163,13 +161,6 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
163 return -EINVAL; 161 return -EINVAL;
164 } 162 }
165 163
166 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
167 tasklet_func = dev->locked_tasklet_func;
168 dev->locked_tasklet_func = NULL;
169 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
170 if (tasklet_func != NULL)
171 tasklet_func(dev);
172
173 atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]); 164 atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]);
174 165
175 /* kernel_context_switch isn't used by any of the x86 drm 166 /* kernel_context_switch isn't used by any of the x86 drm
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index 141e33004a76..66c96ec66672 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -92,7 +92,6 @@ static int drm_fill_in_dev(struct drm_device * dev, struct pci_dev *pdev,
92 92
93 spin_lock_init(&dev->count_lock); 93 spin_lock_init(&dev->count_lock);
94 spin_lock_init(&dev->drw_lock); 94 spin_lock_init(&dev->drw_lock);
95 spin_lock_init(&dev->tasklet_lock);
96 spin_lock_init(&dev->lock.spinlock); 95 spin_lock_init(&dev->lock.spinlock);
97 init_timer(&dev->timer); 96 init_timer(&dev->timer);
98 mutex_init(&dev->struct_mutex); 97 mutex_init(&dev->struct_mutex);
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 5ba78e4fd2b5..d8fb5d8ee7ea 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -3,13 +3,14 @@
3# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 3# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
4 4
5ccflags-y := -Iinclude/drm 5ccflags-y := -Iinclude/drm
6i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_opregion.o \ 6i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o \
7 i915_suspend.o \ 7 i915_suspend.o \
8 i915_gem.o \ 8 i915_gem.o \
9 i915_gem_debug.o \ 9 i915_gem_debug.o \
10 i915_gem_proc.o \ 10 i915_gem_proc.o \
11 i915_gem_tiling.o 11 i915_gem_tiling.o
12 12
13i915-$(CONFIG_ACPI) += i915_opregion.o
13i915-$(CONFIG_COMPAT) += i915_ioc32.o 14i915-$(CONFIG_COMPAT) += i915_ioc32.o
14 15
15obj-$(CONFIG_DRM_I915) += i915.o 16obj-$(CONFIG_DRM_I915) += i915.o
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 01de536e0211..0d215e38606a 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -154,6 +154,9 @@ static int i915_dma_cleanup(struct drm_device * dev)
154 if (I915_NEED_GFX_HWS(dev)) 154 if (I915_NEED_GFX_HWS(dev))
155 i915_free_hws(dev); 155 i915_free_hws(dev);
156 156
157 dev_priv->sarea = NULL;
158 dev_priv->sarea_priv = NULL;
159
157 return 0; 160 return 0;
158} 161}
159 162
@@ -442,7 +445,7 @@ static void i915_emit_breadcrumb(struct drm_device *dev)
442 445
443 BEGIN_LP_RING(4); 446 BEGIN_LP_RING(4);
444 OUT_RING(MI_STORE_DWORD_INDEX); 447 OUT_RING(MI_STORE_DWORD_INDEX);
445 OUT_RING(5 << MI_STORE_DWORD_INDEX_SHIFT); 448 OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
446 OUT_RING(dev_priv->counter); 449 OUT_RING(dev_priv->counter);
447 OUT_RING(0); 450 OUT_RING(0);
448 ADVANCE_LP_RING(); 451 ADVANCE_LP_RING();
@@ -573,7 +576,7 @@ static int i915_dispatch_flip(struct drm_device * dev)
573 576
574 BEGIN_LP_RING(4); 577 BEGIN_LP_RING(4);
575 OUT_RING(MI_STORE_DWORD_INDEX); 578 OUT_RING(MI_STORE_DWORD_INDEX);
576 OUT_RING(5 << MI_STORE_DWORD_INDEX_SHIFT); 579 OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
577 OUT_RING(dev_priv->counter); 580 OUT_RING(dev_priv->counter);
578 OUT_RING(0); 581 OUT_RING(0);
579 ADVANCE_LP_RING(); 582 ADVANCE_LP_RING();
@@ -608,7 +611,6 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
608 struct drm_file *file_priv) 611 struct drm_file *file_priv)
609{ 612{
610 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 613 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
611 u32 *hw_status = dev_priv->hw_status_page;
612 drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) 614 drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *)
613 dev_priv->sarea_priv; 615 dev_priv->sarea_priv;
614 drm_i915_batchbuffer_t *batch = data; 616 drm_i915_batchbuffer_t *batch = data;
@@ -634,7 +636,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
634 mutex_unlock(&dev->struct_mutex); 636 mutex_unlock(&dev->struct_mutex);
635 637
636 if (sarea_priv) 638 if (sarea_priv)
637 sarea_priv->last_dispatch = (int)hw_status[5]; 639 sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
638 return ret; 640 return ret;
639} 641}
640 642
@@ -642,7 +644,6 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
642 struct drm_file *file_priv) 644 struct drm_file *file_priv)
643{ 645{
644 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 646 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
645 u32 *hw_status = dev_priv->hw_status_page;
646 drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) 647 drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *)
647 dev_priv->sarea_priv; 648 dev_priv->sarea_priv;
648 drm_i915_cmdbuffer_t *cmdbuf = data; 649 drm_i915_cmdbuffer_t *cmdbuf = data;
@@ -670,7 +671,7 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
670 } 671 }
671 672
672 if (sarea_priv) 673 if (sarea_priv)
673 sarea_priv->last_dispatch = (int)hw_status[5]; 674 sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
674 return 0; 675 return 0;
675} 676}
676 677
@@ -849,8 +850,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
849 * be lost or delayed 850 * be lost or delayed
850 */ 851 */
851 if (!IS_I945G(dev) && !IS_I945GM(dev) && !IS_I965GM(dev)) 852 if (!IS_I945G(dev) && !IS_I945GM(dev) && !IS_I965GM(dev))
852 if (pci_enable_msi(dev->pdev)) 853 pci_enable_msi(dev->pdev);
853 DRM_ERROR("failed to enable MSI\n");
854 854
855 intel_opregion_init(dev); 855 intel_opregion_init(dev);
856 856
@@ -960,6 +960,7 @@ struct drm_ioctl_desc i915_ioctls[] = {
960 DRM_IOCTL_DEF(DRM_I915_GEM_SW_FINISH, i915_gem_sw_finish_ioctl, 0), 960 DRM_IOCTL_DEF(DRM_I915_GEM_SW_FINISH, i915_gem_sw_finish_ioctl, 0),
961 DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), 961 DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0),
962 DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), 962 DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0),
963 DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0),
963}; 964};
964 965
965int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); 966int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index f20ffe17df71..ef1c0b8f8d07 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -31,6 +31,7 @@
31#define _I915_DRV_H_ 31#define _I915_DRV_H_
32 32
33#include "i915_reg.h" 33#include "i915_reg.h"
34#include <linux/io-mapping.h>
34 35
35/* General customization: 36/* General customization:
36 */ 37 */
@@ -87,13 +88,6 @@ struct mem_block {
87 struct drm_file *file_priv; /* NULL: free, -1: heap, other: real files */ 88 struct drm_file *file_priv; /* NULL: free, -1: heap, other: real files */
88}; 89};
89 90
90typedef struct _drm_i915_vbl_swap {
91 struct list_head head;
92 drm_drawable_t drw_id;
93 unsigned int pipe;
94 unsigned int sequence;
95} drm_i915_vbl_swap_t;
96
97struct opregion_header; 91struct opregion_header;
98struct opregion_acpi; 92struct opregion_acpi;
99struct opregion_swsci; 93struct opregion_swsci;
@@ -145,10 +139,6 @@ typedef struct drm_i915_private {
145 unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; 139 unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds;
146 int vblank_pipe; 140 int vblank_pipe;
147 141
148 spinlock_t swaps_lock;
149 drm_i915_vbl_swap_t vbl_swaps;
150 unsigned int swaps_pending;
151
152 struct intel_opregion opregion; 142 struct intel_opregion opregion;
153 143
154 /* Register state */ 144 /* Register state */
@@ -156,6 +146,7 @@ typedef struct drm_i915_private {
156 u32 saveDSPACNTR; 146 u32 saveDSPACNTR;
157 u32 saveDSPBCNTR; 147 u32 saveDSPBCNTR;
158 u32 saveDSPARB; 148 u32 saveDSPARB;
149 u32 saveRENDERSTANDBY;
159 u32 savePIPEACONF; 150 u32 savePIPEACONF;
160 u32 savePIPEBCONF; 151 u32 savePIPEBCONF;
161 u32 savePIPEASRC; 152 u32 savePIPEASRC;
@@ -240,12 +231,11 @@ typedef struct drm_i915_private {
240 u8 saveDACDATA[256*3]; /* 256 3-byte colors */ 231 u8 saveDACDATA[256*3]; /* 256 3-byte colors */
241 u8 saveCR[37]; 232 u8 saveCR[37];
242 233
243 /** Work task for vblank-related ring access */
244 struct work_struct vblank_work;
245
246 struct { 234 struct {
247 struct drm_mm gtt_space; 235 struct drm_mm gtt_space;
248 236
237 struct io_mapping *gtt_mapping;
238
249 /** 239 /**
250 * List of objects currently involved in rendering from the 240 * List of objects currently involved in rendering from the
251 * ringbuffer. 241 * ringbuffer.
@@ -441,7 +431,6 @@ extern int i915_irq_wait(struct drm_device *dev, void *data,
441void i915_user_irq_get(struct drm_device *dev); 431void i915_user_irq_get(struct drm_device *dev);
442void i915_user_irq_put(struct drm_device *dev); 432void i915_user_irq_put(struct drm_device *dev);
443 433
444extern void i915_vblank_work_handler(struct work_struct *work);
445extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); 434extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS);
446extern void i915_driver_irq_preinstall(struct drm_device * dev); 435extern void i915_driver_irq_preinstall(struct drm_device * dev);
447extern int i915_driver_irq_postinstall(struct drm_device *dev); 436extern int i915_driver_irq_postinstall(struct drm_device *dev);
@@ -502,6 +491,8 @@ int i915_gem_set_tiling(struct drm_device *dev, void *data,
502 struct drm_file *file_priv); 491 struct drm_file *file_priv);
503int i915_gem_get_tiling(struct drm_device *dev, void *data, 492int i915_gem_get_tiling(struct drm_device *dev, void *data,
504 struct drm_file *file_priv); 493 struct drm_file *file_priv);
494int i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
495 struct drm_file *file_priv);
505void i915_gem_load(struct drm_device *dev); 496void i915_gem_load(struct drm_device *dev);
506int i915_gem_proc_init(struct drm_minor *minor); 497int i915_gem_proc_init(struct drm_minor *minor);
507void i915_gem_proc_cleanup(struct drm_minor *minor); 498void i915_gem_proc_cleanup(struct drm_minor *minor);
@@ -539,11 +530,18 @@ extern int i915_restore_state(struct drm_device *dev);
539extern int i915_save_state(struct drm_device *dev); 530extern int i915_save_state(struct drm_device *dev);
540extern int i915_restore_state(struct drm_device *dev); 531extern int i915_restore_state(struct drm_device *dev);
541 532
533#ifdef CONFIG_ACPI
542/* i915_opregion.c */ 534/* i915_opregion.c */
543extern int intel_opregion_init(struct drm_device *dev); 535extern int intel_opregion_init(struct drm_device *dev);
544extern void intel_opregion_free(struct drm_device *dev); 536extern void intel_opregion_free(struct drm_device *dev);
545extern void opregion_asle_intr(struct drm_device *dev); 537extern void opregion_asle_intr(struct drm_device *dev);
546extern void opregion_enable_asle(struct drm_device *dev); 538extern void opregion_enable_asle(struct drm_device *dev);
539#else
540static inline int intel_opregion_init(struct drm_device *dev) { return 0; }
541static inline void intel_opregion_free(struct drm_device *dev) { return; }
542static inline void opregion_asle_intr(struct drm_device *dev) { return; }
543static inline void opregion_enable_asle(struct drm_device *dev) { return; }
544#endif
547 545
548/** 546/**
549 * Lock test for when it's just for synchronization of ring access. 547 * Lock test for when it's just for synchronization of ring access.
@@ -610,8 +608,9 @@ extern void opregion_enable_asle(struct drm_device *dev);
610 * The area from dword 0x20 to 0x3ff is available for driver usage. 608 * The area from dword 0x20 to 0x3ff is available for driver usage.
611 */ 609 */
612#define READ_HWSP(dev_priv, reg) (((volatile u32*)(dev_priv->hw_status_page))[reg]) 610#define READ_HWSP(dev_priv, reg) (((volatile u32*)(dev_priv->hw_status_page))[reg])
613#define READ_BREADCRUMB(dev_priv) READ_HWSP(dev_priv, 5) 611#define READ_BREADCRUMB(dev_priv) READ_HWSP(dev_priv, I915_BREADCRUMB_INDEX)
614#define I915_GEM_HWS_INDEX 0x20 612#define I915_GEM_HWS_INDEX 0x20
613#define I915_BREADCRUMB_INDEX 0x21
615 614
616extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); 615extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
617 616
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 17ae330ff269..6b4a2bd20640 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -79,6 +79,28 @@ i915_gem_init_ioctl(struct drm_device *dev, void *data,
79 return 0; 79 return 0;
80} 80}
81 81
82int
83i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
84 struct drm_file *file_priv)
85{
86 drm_i915_private_t *dev_priv = dev->dev_private;
87 struct drm_i915_gem_get_aperture *args = data;
88 struct drm_i915_gem_object *obj_priv;
89
90 if (!(dev->driver->driver_features & DRIVER_GEM))
91 return -ENODEV;
92
93 args->aper_size = dev->gtt_total;
94 args->aper_available_size = args->aper_size;
95
96 list_for_each_entry(obj_priv, &dev_priv->mm.active_list, list) {
97 if (obj_priv->pin_count > 0)
98 args->aper_available_size -= obj_priv->obj->size;
99 }
100
101 return 0;
102}
103
82 104
83/** 105/**
84 * Creates a new mm object and returns a handle to it. 106 * Creates a new mm object and returns a handle to it.
@@ -171,35 +193,50 @@ i915_gem_pread_ioctl(struct drm_device *dev, void *data,
171 return 0; 193 return 0;
172} 194}
173 195
174/* 196/* This is the fast write path which cannot handle
175 * Try to write quickly with an atomic kmap. Return true on success. 197 * page faults in the source data
176 *
177 * If this fails (which includes a partial write), we'll redo the whole
178 * thing with the slow version.
179 *
180 * This is a workaround for the low performance of iounmap (approximate
181 * 10% cpu cost on normal 3D workloads). kmap_atomic on HIGHMEM kernels
182 * happens to let us map card memory without taking IPIs. When the vmap
183 * rework lands we should be able to dump this hack.
184 */ 198 */
185static inline int fast_user_write(unsigned long pfn, char __user *user_data, 199
186 int l, int o) 200static inline int
201fast_user_write(struct io_mapping *mapping,
202 loff_t page_base, int page_offset,
203 char __user *user_data,
204 int length)
187{ 205{
188#ifdef CONFIG_HIGHMEM
189 unsigned long unwritten;
190 char *vaddr_atomic; 206 char *vaddr_atomic;
207 unsigned long unwritten;
191 208
192 vaddr_atomic = kmap_atomic_pfn(pfn, KM_USER0); 209 vaddr_atomic = io_mapping_map_atomic_wc(mapping, page_base);
193#if WATCH_PWRITE 210 unwritten = __copy_from_user_inatomic_nocache(vaddr_atomic + page_offset,
194 DRM_INFO("pwrite i %d o %d l %d pfn %ld vaddr %p\n", 211 user_data, length);
195 i, o, l, pfn, vaddr_atomic); 212 io_mapping_unmap_atomic(vaddr_atomic);
196#endif 213 if (unwritten)
197 unwritten = __copy_from_user_inatomic_nocache(vaddr_atomic + o, user_data, l); 214 return -EFAULT;
198 kunmap_atomic(vaddr_atomic, KM_USER0); 215 return 0;
199 return !unwritten; 216}
200#else 217
218/* Here's the write path which can sleep for
219 * page faults
220 */
221
222static inline int
223slow_user_write(struct io_mapping *mapping,
224 loff_t page_base, int page_offset,
225 char __user *user_data,
226 int length)
227{
228 char __iomem *vaddr;
229 unsigned long unwritten;
230
231 vaddr = io_mapping_map_wc(mapping, page_base);
232 if (vaddr == NULL)
233 return -EFAULT;
234 unwritten = __copy_from_user(vaddr + page_offset,
235 user_data, length);
236 io_mapping_unmap(vaddr);
237 if (unwritten)
238 return -EFAULT;
201 return 0; 239 return 0;
202#endif
203} 240}
204 241
205static int 242static int
@@ -208,10 +245,12 @@ i915_gem_gtt_pwrite(struct drm_device *dev, struct drm_gem_object *obj,
208 struct drm_file *file_priv) 245 struct drm_file *file_priv)
209{ 246{
210 struct drm_i915_gem_object *obj_priv = obj->driver_private; 247 struct drm_i915_gem_object *obj_priv = obj->driver_private;
248 drm_i915_private_t *dev_priv = dev->dev_private;
211 ssize_t remain; 249 ssize_t remain;
212 loff_t offset; 250 loff_t offset, page_base;
213 char __user *user_data; 251 char __user *user_data;
214 int ret = 0; 252 int page_offset, page_length;
253 int ret;
215 254
216 user_data = (char __user *) (uintptr_t) args->data_ptr; 255 user_data = (char __user *) (uintptr_t) args->data_ptr;
217 remain = args->size; 256 remain = args->size;
@@ -235,57 +274,37 @@ i915_gem_gtt_pwrite(struct drm_device *dev, struct drm_gem_object *obj,
235 obj_priv->dirty = 1; 274 obj_priv->dirty = 1;
236 275
237 while (remain > 0) { 276 while (remain > 0) {
238 unsigned long pfn;
239 int i, o, l;
240
241 /* Operation in this page 277 /* Operation in this page
242 * 278 *
243 * i = page number 279 * page_base = page offset within aperture
244 * o = offset within page 280 * page_offset = offset within page
245 * l = bytes to copy 281 * page_length = bytes to copy for this page
246 */ 282 */
247 i = offset >> PAGE_SHIFT; 283 page_base = (offset & ~(PAGE_SIZE-1));
248 o = offset & (PAGE_SIZE-1); 284 page_offset = offset & (PAGE_SIZE-1);
249 l = remain; 285 page_length = remain;
250 if ((o + l) > PAGE_SIZE) 286 if ((page_offset + remain) > PAGE_SIZE)
251 l = PAGE_SIZE - o; 287 page_length = PAGE_SIZE - page_offset;
252 288
253 pfn = (dev->agp->base >> PAGE_SHIFT) + i; 289 ret = fast_user_write (dev_priv->mm.gtt_mapping, page_base,
254 290 page_offset, user_data, page_length);
255 if (!fast_user_write(pfn, user_data, l, o)) { 291
256 unsigned long unwritten; 292 /* If we get a fault while copying data, then (presumably) our
257 char __iomem *vaddr; 293 * source page isn't available. In this case, use the
258 294 * non-atomic function
259 vaddr = ioremap_wc(pfn << PAGE_SHIFT, PAGE_SIZE); 295 */
260#if WATCH_PWRITE 296 if (ret) {
261 DRM_INFO("pwrite slow i %d o %d l %d " 297 ret = slow_user_write (dev_priv->mm.gtt_mapping,
262 "pfn %ld vaddr %p\n", 298 page_base, page_offset,
263 i, o, l, pfn, vaddr); 299 user_data, page_length);
264#endif 300 if (ret)
265 if (vaddr == NULL) {
266 ret = -EFAULT;
267 goto fail;
268 }
269 unwritten = __copy_from_user(vaddr + o, user_data, l);
270#if WATCH_PWRITE
271 DRM_INFO("unwritten %ld\n", unwritten);
272#endif
273 iounmap(vaddr);
274 if (unwritten) {
275 ret = -EFAULT;
276 goto fail; 301 goto fail;
277 }
278 } 302 }
279 303
280 remain -= l; 304 remain -= page_length;
281 user_data += l; 305 user_data += page_length;
282 offset += l; 306 offset += page_length;
283 } 307 }
284#if WATCH_PWRITE && 1
285 i915_gem_clflush_object(obj);
286 i915_gem_dump_object(obj, args->offset + args->size, __func__, ~0);
287 i915_gem_clflush_object(obj);
288#endif
289 308
290fail: 309fail:
291 i915_gem_object_unpin(obj); 310 i915_gem_object_unpin(obj);
@@ -1436,11 +1455,9 @@ i915_gem_object_set_domain_range(struct drm_gem_object *obj,
1436 read_domains, write_domain); 1455 read_domains, write_domain);
1437 1456
1438 /* Wait on any GPU rendering to the object to be flushed. */ 1457 /* Wait on any GPU rendering to the object to be flushed. */
1439 if (obj->write_domain & ~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) { 1458 ret = i915_gem_object_wait_rendering(obj);
1440 ret = i915_gem_object_wait_rendering(obj); 1459 if (ret)
1441 if (ret) 1460 return ret;
1442 return ret;
1443 }
1444 1461
1445 if (obj_priv->page_cpu_valid == NULL) { 1462 if (obj_priv->page_cpu_valid == NULL) {
1446 obj_priv->page_cpu_valid = drm_calloc(1, obj->size / PAGE_SIZE, 1463 obj_priv->page_cpu_valid = drm_calloc(1, obj->size / PAGE_SIZE,
@@ -1503,12 +1520,12 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
1503 struct drm_i915_gem_exec_object *entry) 1520 struct drm_i915_gem_exec_object *entry)
1504{ 1521{
1505 struct drm_device *dev = obj->dev; 1522 struct drm_device *dev = obj->dev;
1523 drm_i915_private_t *dev_priv = dev->dev_private;
1506 struct drm_i915_gem_relocation_entry reloc; 1524 struct drm_i915_gem_relocation_entry reloc;
1507 struct drm_i915_gem_relocation_entry __user *relocs; 1525 struct drm_i915_gem_relocation_entry __user *relocs;
1508 struct drm_i915_gem_object *obj_priv = obj->driver_private; 1526 struct drm_i915_gem_object *obj_priv = obj->driver_private;
1509 int i, ret; 1527 int i, ret;
1510 uint32_t last_reloc_offset = -1; 1528 void __iomem *reloc_page;
1511 void __iomem *reloc_page = NULL;
1512 1529
1513 /* Choose the GTT offset for our buffer and put it there. */ 1530 /* Choose the GTT offset for our buffer and put it there. */
1514 ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); 1531 ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment);
@@ -1631,26 +1648,11 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
1631 * perform. 1648 * perform.
1632 */ 1649 */
1633 reloc_offset = obj_priv->gtt_offset + reloc.offset; 1650 reloc_offset = obj_priv->gtt_offset + reloc.offset;
1634 if (reloc_page == NULL || 1651 reloc_page = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping,
1635 (last_reloc_offset & ~(PAGE_SIZE - 1)) != 1652 (reloc_offset &
1636 (reloc_offset & ~(PAGE_SIZE - 1))) { 1653 ~(PAGE_SIZE - 1)));
1637 if (reloc_page != NULL)
1638 iounmap(reloc_page);
1639
1640 reloc_page = ioremap_wc(dev->agp->base +
1641 (reloc_offset &
1642 ~(PAGE_SIZE - 1)),
1643 PAGE_SIZE);
1644 last_reloc_offset = reloc_offset;
1645 if (reloc_page == NULL) {
1646 drm_gem_object_unreference(target_obj);
1647 i915_gem_object_unpin(obj);
1648 return -ENOMEM;
1649 }
1650 }
1651
1652 reloc_entry = (uint32_t __iomem *)(reloc_page + 1654 reloc_entry = (uint32_t __iomem *)(reloc_page +
1653 (reloc_offset & (PAGE_SIZE - 1))); 1655 (reloc_offset & (PAGE_SIZE - 1)));
1654 reloc_val = target_obj_priv->gtt_offset + reloc.delta; 1656 reloc_val = target_obj_priv->gtt_offset + reloc.delta;
1655 1657
1656#if WATCH_BUF 1658#if WATCH_BUF
@@ -1659,6 +1661,7 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
1659 readl(reloc_entry), reloc_val); 1661 readl(reloc_entry), reloc_val);
1660#endif 1662#endif
1661 writel(reloc_val, reloc_entry); 1663 writel(reloc_val, reloc_entry);
1664 io_mapping_unmap_atomic(reloc_page);
1662 1665
1663 /* Write the updated presumed offset for this entry back out 1666 /* Write the updated presumed offset for this entry back out
1664 * to the user. 1667 * to the user.
@@ -1674,9 +1677,6 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
1674 drm_gem_object_unreference(target_obj); 1677 drm_gem_object_unreference(target_obj);
1675 } 1678 }
1676 1679
1677 if (reloc_page != NULL)
1678 iounmap(reloc_page);
1679
1680#if WATCH_BUF 1680#if WATCH_BUF
1681 if (0) 1681 if (0)
1682 i915_gem_dump_object(obj, 128, __func__, ~0); 1682 i915_gem_dump_object(obj, 128, __func__, ~0);
@@ -2518,6 +2518,10 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data,
2518 if (ret != 0) 2518 if (ret != 0)
2519 return ret; 2519 return ret;
2520 2520
2521 dev_priv->mm.gtt_mapping = io_mapping_create_wc(dev->agp->base,
2522 dev->agp->agp_info.aper_size
2523 * 1024 * 1024);
2524
2521 mutex_lock(&dev->struct_mutex); 2525 mutex_lock(&dev->struct_mutex);
2522 BUG_ON(!list_empty(&dev_priv->mm.active_list)); 2526 BUG_ON(!list_empty(&dev_priv->mm.active_list));
2523 BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); 2527 BUG_ON(!list_empty(&dev_priv->mm.flushing_list));
@@ -2535,11 +2539,13 @@ int
2535i915_gem_leavevt_ioctl(struct drm_device *dev, void *data, 2539i915_gem_leavevt_ioctl(struct drm_device *dev, void *data,
2536 struct drm_file *file_priv) 2540 struct drm_file *file_priv)
2537{ 2541{
2542 drm_i915_private_t *dev_priv = dev->dev_private;
2538 int ret; 2543 int ret;
2539 2544
2540 ret = i915_gem_idle(dev); 2545 ret = i915_gem_idle(dev);
2541 drm_irq_uninstall(dev); 2546 drm_irq_uninstall(dev);
2542 2547
2548 io_mapping_free(dev_priv->mm.gtt_mapping);
2543 return ret; 2549 return ret;
2544} 2550}
2545 2551
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 26f48932a51e..82752d6177a4 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -80,211 +80,6 @@ i915_pipe_enabled(struct drm_device *dev, int pipe)
80 return 0; 80 return 0;
81} 81}
82 82
83/**
84 * Emit blits for scheduled buffer swaps.
85 *
86 * This function will be called with the HW lock held.
87 * Because this function must grab the ring mutex (dev->struct_mutex),
88 * it can no longer run at soft irq time. We'll fix this when we do
89 * the DRI2 swap buffer work.
90 */
91static void i915_vblank_tasklet(struct drm_device *dev)
92{
93 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
94 unsigned long irqflags;
95 struct list_head *list, *tmp, hits, *hit;
96 int nhits, nrects, slice[2], upper[2], lower[2], i;
97 unsigned counter[2];
98 struct drm_drawable_info *drw;
99 drm_i915_sarea_t *sarea_priv = dev_priv->sarea_priv;
100 u32 cpp = dev_priv->cpp;
101 u32 cmd = (cpp == 4) ? (XY_SRC_COPY_BLT_CMD |
102 XY_SRC_COPY_BLT_WRITE_ALPHA |
103 XY_SRC_COPY_BLT_WRITE_RGB)
104 : XY_SRC_COPY_BLT_CMD;
105 u32 src_pitch = sarea_priv->pitch * cpp;
106 u32 dst_pitch = sarea_priv->pitch * cpp;
107 u32 ropcpp = (0xcc << 16) | ((cpp - 1) << 24);
108 RING_LOCALS;
109
110 mutex_lock(&dev->struct_mutex);
111
112 if (IS_I965G(dev) && sarea_priv->front_tiled) {
113 cmd |= XY_SRC_COPY_BLT_DST_TILED;
114 dst_pitch >>= 2;
115 }
116 if (IS_I965G(dev) && sarea_priv->back_tiled) {
117 cmd |= XY_SRC_COPY_BLT_SRC_TILED;
118 src_pitch >>= 2;
119 }
120
121 counter[0] = drm_vblank_count(dev, 0);
122 counter[1] = drm_vblank_count(dev, 1);
123
124 DRM_DEBUG("\n");
125
126 INIT_LIST_HEAD(&hits);
127
128 nhits = nrects = 0;
129
130 spin_lock_irqsave(&dev_priv->swaps_lock, irqflags);
131
132 /* Find buffer swaps scheduled for this vertical blank */
133 list_for_each_safe(list, tmp, &dev_priv->vbl_swaps.head) {
134 drm_i915_vbl_swap_t *vbl_swap =
135 list_entry(list, drm_i915_vbl_swap_t, head);
136 int pipe = vbl_swap->pipe;
137
138 if ((counter[pipe] - vbl_swap->sequence) > (1<<23))
139 continue;
140
141 list_del(list);
142 dev_priv->swaps_pending--;
143 drm_vblank_put(dev, pipe);
144
145 spin_unlock(&dev_priv->swaps_lock);
146 spin_lock(&dev->drw_lock);
147
148 drw = drm_get_drawable_info(dev, vbl_swap->drw_id);
149
150 list_for_each(hit, &hits) {
151 drm_i915_vbl_swap_t *swap_cmp =
152 list_entry(hit, drm_i915_vbl_swap_t, head);
153 struct drm_drawable_info *drw_cmp =
154 drm_get_drawable_info(dev, swap_cmp->drw_id);
155
156 /* Make sure both drawables are still
157 * around and have some rectangles before
158 * we look inside to order them for the
159 * blts below.
160 */
161 if (drw_cmp && drw_cmp->num_rects > 0 &&
162 drw && drw->num_rects > 0 &&
163 drw_cmp->rects[0].y1 > drw->rects[0].y1) {
164 list_add_tail(list, hit);
165 break;
166 }
167 }
168
169 spin_unlock(&dev->drw_lock);
170
171 /* List of hits was empty, or we reached the end of it */
172 if (hit == &hits)
173 list_add_tail(list, hits.prev);
174
175 nhits++;
176
177 spin_lock(&dev_priv->swaps_lock);
178 }
179
180 if (nhits == 0) {
181 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
182 mutex_unlock(&dev->struct_mutex);
183 return;
184 }
185
186 spin_unlock(&dev_priv->swaps_lock);
187
188 i915_kernel_lost_context(dev);
189
190 if (IS_I965G(dev)) {
191 BEGIN_LP_RING(4);
192
193 OUT_RING(GFX_OP_DRAWRECT_INFO_I965);
194 OUT_RING(0);
195 OUT_RING(((sarea_priv->width - 1) & 0xffff) | ((sarea_priv->height - 1) << 16));
196 OUT_RING(0);
197 ADVANCE_LP_RING();
198 } else {
199 BEGIN_LP_RING(6);
200
201 OUT_RING(GFX_OP_DRAWRECT_INFO);
202 OUT_RING(0);
203 OUT_RING(0);
204 OUT_RING(sarea_priv->width | sarea_priv->height << 16);
205 OUT_RING(sarea_priv->width | sarea_priv->height << 16);
206 OUT_RING(0);
207
208 ADVANCE_LP_RING();
209 }
210
211 sarea_priv->ctxOwner = DRM_KERNEL_CONTEXT;
212
213 upper[0] = upper[1] = 0;
214 slice[0] = max(sarea_priv->pipeA_h / nhits, 1);
215 slice[1] = max(sarea_priv->pipeB_h / nhits, 1);
216 lower[0] = sarea_priv->pipeA_y + slice[0];
217 lower[1] = sarea_priv->pipeB_y + slice[0];
218
219 spin_lock(&dev->drw_lock);
220
221 /* Emit blits for buffer swaps, partitioning both outputs into as many
222 * slices as there are buffer swaps scheduled in order to avoid tearing
223 * (based on the assumption that a single buffer swap would always
224 * complete before scanout starts).
225 */
226 for (i = 0; i++ < nhits;
227 upper[0] = lower[0], lower[0] += slice[0],
228 upper[1] = lower[1], lower[1] += slice[1]) {
229 if (i == nhits)
230 lower[0] = lower[1] = sarea_priv->height;
231
232 list_for_each(hit, &hits) {
233 drm_i915_vbl_swap_t *swap_hit =
234 list_entry(hit, drm_i915_vbl_swap_t, head);
235 struct drm_clip_rect *rect;
236 int num_rects, pipe;
237 unsigned short top, bottom;
238
239 drw = drm_get_drawable_info(dev, swap_hit->drw_id);
240
241 /* The drawable may have been destroyed since
242 * the vblank swap was queued
243 */
244 if (!drw)
245 continue;
246
247 rect = drw->rects;
248 pipe = swap_hit->pipe;
249 top = upper[pipe];
250 bottom = lower[pipe];
251
252 for (num_rects = drw->num_rects; num_rects--; rect++) {
253 int y1 = max(rect->y1, top);
254 int y2 = min(rect->y2, bottom);
255
256 if (y1 >= y2)
257 continue;
258
259 BEGIN_LP_RING(8);
260
261 OUT_RING(cmd);
262 OUT_RING(ropcpp | dst_pitch);
263 OUT_RING((y1 << 16) | rect->x1);
264 OUT_RING((y2 << 16) | rect->x2);
265 OUT_RING(sarea_priv->front_offset);
266 OUT_RING((y1 << 16) | rect->x1);
267 OUT_RING(src_pitch);
268 OUT_RING(sarea_priv->back_offset);
269
270 ADVANCE_LP_RING();
271 }
272 }
273 }
274
275 spin_unlock_irqrestore(&dev->drw_lock, irqflags);
276 mutex_unlock(&dev->struct_mutex);
277
278 list_for_each_safe(hit, tmp, &hits) {
279 drm_i915_vbl_swap_t *swap_hit =
280 list_entry(hit, drm_i915_vbl_swap_t, head);
281
282 list_del(hit);
283
284 drm_free(swap_hit, sizeof(*swap_hit), DRM_MEM_DRIVER);
285 }
286}
287
288/* Called from drm generic code, passed a 'crtc', which 83/* Called from drm generic code, passed a 'crtc', which
289 * we use as a pipe index 84 * we use as a pipe index
290 */ 85 */
@@ -322,40 +117,6 @@ u32 i915_get_vblank_counter(struct drm_device *dev, int pipe)
322 return count; 117 return count;
323} 118}
324 119
325void
326i915_vblank_work_handler(struct work_struct *work)
327{
328 drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t,
329 vblank_work);
330 struct drm_device *dev = dev_priv->dev;
331 unsigned long irqflags;
332
333 if (dev->lock.hw_lock == NULL) {
334 i915_vblank_tasklet(dev);
335 return;
336 }
337
338 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
339 dev->locked_tasklet_func = i915_vblank_tasklet;
340 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
341
342 /* Try to get the lock now, if this fails, the lock
343 * holder will execute the tasklet during unlock
344 */
345 if (!drm_lock_take(&dev->lock, DRM_KERNEL_CONTEXT))
346 return;
347
348 dev->lock.lock_time = jiffies;
349 atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
350
351 spin_lock_irqsave(&dev->tasklet_lock, irqflags);
352 dev->locked_tasklet_func = NULL;
353 spin_unlock_irqrestore(&dev->tasklet_lock, irqflags);
354
355 i915_vblank_tasklet(dev);
356 drm_lock_free(&dev->lock, DRM_KERNEL_CONTEXT);
357}
358
359irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) 120irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
360{ 121{
361 struct drm_device *dev = (struct drm_device *) arg; 122 struct drm_device *dev = (struct drm_device *) arg;
@@ -433,9 +194,6 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
433 if (iir & I915_ASLE_INTERRUPT) 194 if (iir & I915_ASLE_INTERRUPT)
434 opregion_asle_intr(dev); 195 opregion_asle_intr(dev);
435 196
436 if (vblank && dev_priv->swaps_pending > 0)
437 schedule_work(&dev_priv->vblank_work);
438
439 return IRQ_HANDLED; 197 return IRQ_HANDLED;
440} 198}
441 199
@@ -454,12 +212,10 @@ static int i915_emit_irq(struct drm_device * dev)
454 if (dev_priv->sarea_priv) 212 if (dev_priv->sarea_priv)
455 dev_priv->sarea_priv->last_enqueue = dev_priv->counter; 213 dev_priv->sarea_priv->last_enqueue = dev_priv->counter;
456 214
457 BEGIN_LP_RING(6); 215 BEGIN_LP_RING(4);
458 OUT_RING(MI_STORE_DWORD_INDEX); 216 OUT_RING(MI_STORE_DWORD_INDEX);
459 OUT_RING(5 << MI_STORE_DWORD_INDEX_SHIFT); 217 OUT_RING(I915_BREADCRUMB_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
460 OUT_RING(dev_priv->counter); 218 OUT_RING(dev_priv->counter);
461 OUT_RING(0);
462 OUT_RING(0);
463 OUT_RING(MI_USER_INTERRUPT); 219 OUT_RING(MI_USER_INTERRUPT);
464 ADVANCE_LP_RING(); 220 ADVANCE_LP_RING();
465 221
@@ -696,123 +452,21 @@ int i915_vblank_pipe_get(struct drm_device *dev, void *data,
696int i915_vblank_swap(struct drm_device *dev, void *data, 452int i915_vblank_swap(struct drm_device *dev, void *data,
697 struct drm_file *file_priv) 453 struct drm_file *file_priv)
698{ 454{
699 drm_i915_private_t *dev_priv = dev->dev_private; 455 /* The delayed swap mechanism was fundamentally racy, and has been
700 drm_i915_vblank_swap_t *swap = data; 456 * removed. The model was that the client requested a delayed flip/swap
701 drm_i915_vbl_swap_t *vbl_swap, *vbl_old; 457 * from the kernel, then waited for vblank before continuing to perform
702 unsigned int pipe, seqtype, curseq; 458 * rendering. The problem was that the kernel might wake the client
703 unsigned long irqflags; 459 * up before it dispatched the vblank swap (since the lock has to be
704 struct list_head *list; 460 * held while touching the ringbuffer), in which case the client would
705 int ret; 461 * clear and start the next frame before the swap occurred, and
706 462 * flicker would occur in addition to likely missing the vblank.
707 if (!dev_priv || !dev_priv->sarea_priv) { 463 *
708 DRM_ERROR("%s called with no initialization\n", __func__); 464 * In the absence of this ioctl, userland falls back to a correct path
709 return -EINVAL; 465 * of waiting for a vblank, then dispatching the swap on its own.
710 } 466 * Context switching to userland and back is plenty fast enough for
711 467 * meeting the requirements of vblank swapping.
712 if (dev_priv->sarea_priv->rotation) {
713 DRM_DEBUG("Rotation not supported\n");
714 return -EINVAL;
715 }
716
717 if (swap->seqtype & ~(_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE |
718 _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS)) {
719 DRM_ERROR("Invalid sequence type 0x%x\n", swap->seqtype);
720 return -EINVAL;
721 }
722
723 pipe = (swap->seqtype & _DRM_VBLANK_SECONDARY) ? 1 : 0;
724
725 seqtype = swap->seqtype & (_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE);
726
727 if (!(dev_priv->vblank_pipe & (1 << pipe))) {
728 DRM_ERROR("Invalid pipe %d\n", pipe);
729 return -EINVAL;
730 }
731
732 spin_lock_irqsave(&dev->drw_lock, irqflags);
733
734 if (!drm_get_drawable_info(dev, swap->drawable)) {
735 spin_unlock_irqrestore(&dev->drw_lock, irqflags);
736 DRM_DEBUG("Invalid drawable ID %d\n", swap->drawable);
737 return -EINVAL;
738 }
739
740 spin_unlock_irqrestore(&dev->drw_lock, irqflags);
741
742 /*
743 * We take the ref here and put it when the swap actually completes
744 * in the tasklet.
745 */ 468 */
746 ret = drm_vblank_get(dev, pipe); 469 return -EINVAL;
747 if (ret)
748 return ret;
749 curseq = drm_vblank_count(dev, pipe);
750
751 if (seqtype == _DRM_VBLANK_RELATIVE)
752 swap->sequence += curseq;
753
754 if ((curseq - swap->sequence) <= (1<<23)) {
755 if (swap->seqtype & _DRM_VBLANK_NEXTONMISS) {
756 swap->sequence = curseq + 1;
757 } else {
758 DRM_DEBUG("Missed target sequence\n");
759 drm_vblank_put(dev, pipe);
760 return -EINVAL;
761 }
762 }
763
764 vbl_swap = drm_calloc(1, sizeof(*vbl_swap), DRM_MEM_DRIVER);
765
766 if (!vbl_swap) {
767 DRM_ERROR("Failed to allocate memory to queue swap\n");
768 drm_vblank_put(dev, pipe);
769 return -ENOMEM;
770 }
771
772 vbl_swap->drw_id = swap->drawable;
773 vbl_swap->pipe = pipe;
774 vbl_swap->sequence = swap->sequence;
775
776 spin_lock_irqsave(&dev_priv->swaps_lock, irqflags);
777
778 list_for_each(list, &dev_priv->vbl_swaps.head) {
779 vbl_old = list_entry(list, drm_i915_vbl_swap_t, head);
780
781 if (vbl_old->drw_id == swap->drawable &&
782 vbl_old->pipe == pipe &&
783 vbl_old->sequence == swap->sequence) {
784 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
785 drm_vblank_put(dev, pipe);
786 drm_free(vbl_swap, sizeof(*vbl_swap), DRM_MEM_DRIVER);
787 DRM_DEBUG("Already scheduled\n");
788 return 0;
789 }
790 }
791
792 if (dev_priv->swaps_pending >= 10) {
793 DRM_DEBUG("Too many swaps queued\n");
794 DRM_DEBUG(" pipe 0: %d pipe 1: %d\n",
795 drm_vblank_count(dev, 0),
796 drm_vblank_count(dev, 1));
797
798 list_for_each(list, &dev_priv->vbl_swaps.head) {
799 vbl_old = list_entry(list, drm_i915_vbl_swap_t, head);
800 DRM_DEBUG("\tdrw %x pipe %d seq %x\n",
801 vbl_old->drw_id, vbl_old->pipe,
802 vbl_old->sequence);
803 }
804 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
805 drm_vblank_put(dev, pipe);
806 drm_free(vbl_swap, sizeof(*vbl_swap), DRM_MEM_DRIVER);
807 return -EBUSY;
808 }
809
810 list_add_tail(&vbl_swap->head, &dev_priv->vbl_swaps.head);
811 dev_priv->swaps_pending++;
812
813 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
814
815 return 0;
816} 470}
817 471
818/* drm_dma.h hooks 472/* drm_dma.h hooks
@@ -831,11 +485,6 @@ int i915_driver_irq_postinstall(struct drm_device *dev)
831 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 485 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
832 int ret, num_pipes = 2; 486 int ret, num_pipes = 2;
833 487
834 spin_lock_init(&dev_priv->swaps_lock);
835 INIT_LIST_HEAD(&dev_priv->vbl_swaps.head);
836 INIT_WORK(&dev_priv->vblank_work, i915_vblank_work_handler);
837 dev_priv->swaps_pending = 0;
838
839 /* Set initial unmasked IRQs to just the selected vblank pipes. */ 488 /* Set initial unmasked IRQs to just the selected vblank pipes. */
840 dev_priv->irq_mask_reg = ~0; 489 dev_priv->irq_mask_reg = ~0;
841 490
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 5c2d9f206d05..0e476eba36e6 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -527,6 +527,9 @@
527#define C0DRB3 0x10206 527#define C0DRB3 0x10206
528#define C1DRB3 0x10606 528#define C1DRB3 0x10606
529 529
530/** GM965 GM45 render standby register */
531#define MCHBAR_RENDER_STANDBY 0x111B8
532
530/* 533/*
531 * Overlay regs 534 * Overlay regs
532 */ 535 */
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 603fe742ccd4..5ddc6e595c0c 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -240,6 +240,10 @@ int i915_save_state(struct drm_device *dev)
240 240
241 pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); 241 pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);
242 242
243 /* Render Standby */
244 if (IS_I965G(dev) && IS_MOBILE(dev))
245 dev_priv->saveRENDERSTANDBY = I915_READ(MCHBAR_RENDER_STANDBY);
246
243 /* Display arbitration control */ 247 /* Display arbitration control */
244 dev_priv->saveDSPARB = I915_READ(DSPARB); 248 dev_priv->saveDSPARB = I915_READ(DSPARB);
245 249
@@ -365,6 +369,11 @@ int i915_restore_state(struct drm_device *dev)
365 369
366 pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); 370 pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB);
367 371
372 /* Render Standby */
373 if (IS_I965G(dev) && IS_MOBILE(dev))
374 I915_WRITE(MCHBAR_RENDER_STANDBY, dev_priv->saveRENDERSTANDBY);
375
376 /* Display arbitration */
368 I915_WRITE(DSPARB, dev_priv->saveDSPARB); 377 I915_WRITE(DSPARB, dev_priv->saveDSPARB);
369 378
370 /* Pipe & plane A info */ 379 /* Pipe & plane A info */
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
index 59a2132a8f57..abdc1ae38467 100644
--- a/drivers/gpu/drm/radeon/radeon_cp.c
+++ b/drivers/gpu/drm/radeon/radeon_cp.c
@@ -653,15 +653,16 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev,
653 RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7); 653 RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7);
654 654
655 /* Turn on bus mastering */ 655 /* Turn on bus mastering */
656 if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || 656 if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) ||
657 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) ||
658 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { 657 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) {
659 /* rs400, rs690/rs740 */ 658 /* rs600/rs690/rs740 */
660 tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS400_BUS_MASTER_DIS; 659 tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS600_BUS_MASTER_DIS;
661 RADEON_WRITE(RADEON_BUS_CNTL, tmp); 660 RADEON_WRITE(RADEON_BUS_CNTL, tmp);
662 } else if (!(((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || 661 } else if (((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV350) ||
663 ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423))) { 662 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R420) ||
664 /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ 663 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) ||
664 ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS480)) {
665 /* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */
665 tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; 666 tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS;
666 RADEON_WRITE(RADEON_BUS_CNTL, tmp); 667 RADEON_WRITE(RADEON_BUS_CNTL, tmp);
667 } /* PCIE cards appears to not need this */ 668 } /* PCIE cards appears to not need this */
@@ -1750,6 +1751,12 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)
1750 else 1751 else
1751 dev_priv->flags |= RADEON_IS_PCI; 1752 dev_priv->flags |= RADEON_IS_PCI;
1752 1753
1754 ret = drm_addmap(dev, drm_get_resource_start(dev, 2),
1755 drm_get_resource_len(dev, 2), _DRM_REGISTERS,
1756 _DRM_READ_ONLY | _DRM_DRIVER, &dev_priv->mmio);
1757 if (ret != 0)
1758 return ret;
1759
1753 DRM_DEBUG("%s card detected\n", 1760 DRM_DEBUG("%s card detected\n",
1754 ((dev_priv->flags & RADEON_IS_AGP) ? "AGP" : (((dev_priv->flags & RADEON_IS_PCIE) ? "PCIE" : "PCI")))); 1761 ((dev_priv->flags & RADEON_IS_AGP) ? "AGP" : (((dev_priv->flags & RADEON_IS_PCIE) ? "PCIE" : "PCI"))));
1755 return ret; 1762 return ret;
@@ -1766,12 +1773,6 @@ int radeon_driver_firstopen(struct drm_device *dev)
1766 1773
1767 dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE; 1774 dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE;
1768 1775
1769 ret = drm_addmap(dev, drm_get_resource_start(dev, 2),
1770 drm_get_resource_len(dev, 2), _DRM_REGISTERS,
1771 _DRM_READ_ONLY, &dev_priv->mmio);
1772 if (ret != 0)
1773 return ret;
1774
1775 dev_priv->fb_aper_offset = drm_get_resource_start(dev, 0); 1776 dev_priv->fb_aper_offset = drm_get_resource_start(dev, 0);
1776 ret = drm_addmap(dev, dev_priv->fb_aper_offset, 1777 ret = drm_addmap(dev, dev_priv->fb_aper_offset,
1777 drm_get_resource_len(dev, 0), _DRM_FRAME_BUFFER, 1778 drm_get_resource_len(dev, 0), _DRM_FRAME_BUFFER,
@@ -1787,6 +1788,9 @@ int radeon_driver_unload(struct drm_device *dev)
1787 drm_radeon_private_t *dev_priv = dev->dev_private; 1788 drm_radeon_private_t *dev_priv = dev->dev_private;
1788 1789
1789 DRM_DEBUG("\n"); 1790 DRM_DEBUG("\n");
1791
1792 drm_rmmap(dev, dev_priv->mmio);
1793
1790 drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER); 1794 drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER);
1791 1795
1792 dev->dev_private = NULL; 1796 dev->dev_private = NULL;
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
index 4dbb813910c3..7a183789be97 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.h
+++ b/drivers/gpu/drm/radeon/radeon_drv.h
@@ -287,7 +287,6 @@ typedef struct drm_radeon_private {
287 unsigned long gart_textures_offset; 287 unsigned long gart_textures_offset;
288 288
289 drm_local_map_t *sarea; 289 drm_local_map_t *sarea;
290 drm_local_map_t *mmio;
291 drm_local_map_t *cp_ring; 290 drm_local_map_t *cp_ring;
292 drm_local_map_t *ring_rptr; 291 drm_local_map_t *ring_rptr;
293 drm_local_map_t *gart_textures; 292 drm_local_map_t *gart_textures;
@@ -318,6 +317,7 @@ typedef struct drm_radeon_private {
318 317
319 int num_gb_pipes; 318 int num_gb_pipes;
320 int track_flush; 319 int track_flush;
320 drm_local_map_t *mmio;
321} drm_radeon_private_t; 321} drm_radeon_private_t;
322 322
323typedef struct drm_radeon_buf_priv { 323typedef struct drm_radeon_buf_priv {
@@ -447,12 +447,12 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
447 * handling, not bus mastering itself. 447 * handling, not bus mastering itself.
448 */ 448 */
449#define RADEON_BUS_CNTL 0x0030 449#define RADEON_BUS_CNTL 0x0030
450/* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ 450/* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */
451# define RADEON_BUS_MASTER_DIS (1 << 6) 451# define RADEON_BUS_MASTER_DIS (1 << 6)
452/* rs400, rs690/rs740 */ 452/* rs600/rs690/rs740 */
453# define RS400_BUS_MASTER_DIS (1 << 14) 453# define RS600_BUS_MASTER_DIS (1 << 14)
454# define RS400_MSI_REARM (1 << 20) 454# define RS600_MSI_REARM (1 << 20)
455/* see RS480_MSI_REARM in AIC_CNTL for rs480 */ 455/* see RS400_MSI_REARM in AIC_CNTL for rs480 */
456 456
457#define RADEON_BUS_CNTL1 0x0034 457#define RADEON_BUS_CNTL1 0x0034
458# define RADEON_PMI_BM_DIS (1 << 2) 458# define RADEON_PMI_BM_DIS (1 << 2)
@@ -937,7 +937,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
937 937
938#define RADEON_AIC_CNTL 0x01d0 938#define RADEON_AIC_CNTL 0x01d0
939# define RADEON_PCIGART_TRANSLATE_EN (1 << 0) 939# define RADEON_PCIGART_TRANSLATE_EN (1 << 0)
940# define RS480_MSI_REARM (1 << 3) 940# define RS400_MSI_REARM (1 << 3)
941#define RADEON_AIC_STAT 0x01d4 941#define RADEON_AIC_STAT 0x01d4
942#define RADEON_AIC_PT_BASE 0x01d8 942#define RADEON_AIC_PT_BASE 0x01d8
943#define RADEON_AIC_LO_ADDR 0x01dc 943#define RADEON_AIC_LO_ADDR 0x01dc
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index f5999a91614e..b4fd8ca701a4 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -247,7 +247,6 @@ config HID_SUNPLUS
247 247
248config THRUSTMASTER_FF 248config THRUSTMASTER_FF
249 tristate "ThrustMaster devices support" 249 tristate "ThrustMaster devices support"
250 default m
251 depends on USB_HID 250 depends on USB_HID
252 select INPUT_FF_MEMLESS 251 select INPUT_FF_MEMLESS
253 help 252 help
@@ -256,7 +255,6 @@ config THRUSTMASTER_FF
256 255
257config ZEROPLUS_FF 256config ZEROPLUS_FF
258 tristate "Zeroplus based game controller support" 257 tristate "Zeroplus based game controller support"
259 default m
260 depends on USB_HID 258 depends on USB_HID
261 select INPUT_FF_MEMLESS 259 select INPUT_FF_MEMLESS
262 help 260 help
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index fd7f896b34f7..c6ab4ba60c52 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -312,13 +312,6 @@ static int apple_probe(struct hid_device *hdev,
312 unsigned int connect_mask = HID_CONNECT_DEFAULT; 312 unsigned int connect_mask = HID_CONNECT_DEFAULT;
313 int ret; 313 int ret;
314 314
315 /* return something else or move to hid layer? device will reside
316 allocated */
317 if (id->bus == BUS_USB && (quirks & APPLE_IGNORE_MOUSE) &&
318 to_usb_interface(hdev->dev.parent)->cur_altsetting->
319 desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE)
320 return -ENODEV;
321
322 asc = kzalloc(sizeof(*asc), GFP_KERNEL); 315 asc = kzalloc(sizeof(*asc), GFP_KERNEL);
323 if (asc == NULL) { 316 if (asc == NULL) {
324 dev_err(&hdev->dev, "can't alloc apple descriptor\n"); 317 dev_err(&hdev->dev, "can't alloc apple descriptor\n");
@@ -367,38 +360,32 @@ static const struct hid_device_id apple_devices[] = {
367 .driver_data = APPLE_MIGHTYMOUSE | APPLE_INVERT_HWHEEL }, 360 .driver_data = APPLE_MIGHTYMOUSE | APPLE_INVERT_HWHEEL },
368 361
369 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI), 362 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI),
370 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 363 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
371 APPLE_IGNORE_MOUSE },
372 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO), 364 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO),
373 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 365 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
374 APPLE_IGNORE_MOUSE },
375 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI), 366 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI),
376 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 367 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
377 APPLE_IGNORE_MOUSE },
378 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO), 368 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO),
379 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 369 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
380 APPLE_IGNORE_MOUSE | APPLE_ISO_KEYBOARD }, 370 APPLE_ISO_KEYBOARD },
381 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS), 371 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS),
382 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 372 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
383 APPLE_IGNORE_MOUSE },
384 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI), 373 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI),
385 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 374 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
386 APPLE_IGNORE_MOUSE },
387 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO), 375 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO),
388 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 376 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
389 APPLE_IGNORE_MOUSE | APPLE_ISO_KEYBOARD }, 377 APPLE_ISO_KEYBOARD },
390 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS), 378 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS),
391 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 379 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
392 APPLE_IGNORE_MOUSE | APPLE_RDESC_JIS }, 380 APPLE_RDESC_JIS },
393 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI), 381 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI),
394 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 382 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
395 APPLE_IGNORE_MOUSE },
396 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO), 383 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO),
397 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 384 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
398 APPLE_IGNORE_MOUSE | APPLE_ISO_KEYBOARD }, 385 APPLE_ISO_KEYBOARD },
399 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS), 386 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS),
400 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 387 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
401 APPLE_IGNORE_MOUSE | APPLE_RDESC_JIS}, 388 APPLE_RDESC_JIS },
402 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI), 389 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI),
403 .driver_data = APPLE_HAS_FN }, 390 .driver_data = APPLE_HAS_FN },
404 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO), 391 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO),
@@ -406,14 +393,12 @@ static const struct hid_device_id apple_devices[] = {
406 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS), 393 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS),
407 .driver_data = APPLE_HAS_FN }, 394 .driver_data = APPLE_HAS_FN },
408 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI), 395 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
409 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 396 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
410 APPLE_IGNORE_MOUSE },
411 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO), 397 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
412 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 398 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
413 APPLE_IGNORE_MOUSE },
414 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS), 399 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
415 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 400 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
416 APPLE_IGNORE_MOUSE | APPLE_RDESC_JIS }, 401 APPLE_RDESC_JIS },
417 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI), 402 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
418 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, 403 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
419 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO), 404 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
@@ -422,25 +407,21 @@ static const struct hid_device_id apple_devices[] = {
422 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS), 407 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS),
423 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, 408 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
424 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI), 409 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
425 .driver_data = APPLE_HAS_FN | APPLE_IGNORE_MOUSE }, 410 .driver_data = APPLE_HAS_FN },
426 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO), 411 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
427 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD | 412 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
428 APPLE_IGNORE_MOUSE },
429 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS), 413 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS),
430 .driver_data = APPLE_HAS_FN | APPLE_IGNORE_MOUSE | APPLE_RDESC_JIS }, 414 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
431 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI), 415 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
432 .driver_data = APPLE_HAS_FN | APPLE_IGNORE_MOUSE }, 416 .driver_data = APPLE_HAS_FN },
433 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO), 417 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
434 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD | 418 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
435 APPLE_IGNORE_MOUSE },
436 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS), 419 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
437 .driver_data = APPLE_HAS_FN | APPLE_IGNORE_MOUSE | APPLE_RDESC_JIS }, 420 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
438 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY), 421 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),
439 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 422 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
440 APPLE_IGNORE_MOUSE },
441 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY), 423 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY),
442 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 424 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
443 APPLE_IGNORE_MOUSE },
444 425
445 /* Apple wireless Mighty Mouse */ 426 /* Apple wireless Mighty Mouse */
446 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c), 427 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c),
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 721a36d97582..d3671b4049c0 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1263,7 +1263,10 @@ static const struct hid_device_id hid_blacklist[] = {
1263 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) }, 1263 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) },
1264 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_SK8115) }, 1264 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_SK8115) },
1265 { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, 1265 { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
1266 { HID_USB_DEVICE(USB_VENDOR_ID_GENERIC_13BA, USB_DEVICE_ID_GENERIC_13BA_KBD_MOUSE) },
1266 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, 1267 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) },
1268 { HID_USB_DEVICE(USB_VENDOR_ID_KWORLD, USB_DEVICE_ID_KWORLD_RADIO_FM700) },
1269 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) },
1267 { HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) }, 1270 { HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) },
1268 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_MX3000_RECEIVER) }, 1271 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_MX3000_RECEIVER) },
1269 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER) }, 1272 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER) },
@@ -1275,8 +1278,6 @@ static const struct hid_device_id hid_blacklist[] = {
1275 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KBD) }, 1278 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KBD) },
1276 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_ELITE_KBD) }, 1279 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_ELITE_KBD) },
1277 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500) }, 1280 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500) },
1278 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_LX3) },
1279 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_V150) },
1280 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_EXTREME_3D) }, 1281 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_EXTREME_3D) },
1281 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_WHEEL) }, 1282 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_WHEEL) },
1282 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD) }, 1283 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RUMBLEPAD) },
@@ -1295,6 +1296,7 @@ static const struct hid_device_id hid_blacklist[] = {
1295 { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, 1296 { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
1296 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, 1297 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
1297 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, 1298 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
1299 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) },
1298 { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) }, 1300 { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) },
1299 1301
1300 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c) }, 1302 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c) },
@@ -1406,6 +1408,7 @@ static const struct hid_device_id hid_ignore_list[] = {
1406 { HID_USB_DEVICE(USB_VENDOR_ID_AIRCABLE, USB_DEVICE_ID_AIRCABLE1) }, 1408 { HID_USB_DEVICE(USB_VENDOR_ID_AIRCABLE, USB_DEVICE_ID_AIRCABLE1) },
1407 { HID_USB_DEVICE(USB_VENDOR_ID_ALCOR, USB_DEVICE_ID_ALCOR_USBRS232) }, 1409 { HID_USB_DEVICE(USB_VENDOR_ID_ALCOR, USB_DEVICE_ID_ALCOR_USBRS232) },
1408 { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_LCM)}, 1410 { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_LCM)},
1411 { HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_LCM2)},
1409 { HID_USB_DEVICE(USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD) }, 1412 { HID_USB_DEVICE(USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD) },
1410 { HID_USB_DEVICE(USB_VENDOR_ID_CIDC, 0x0103) }, 1413 { HID_USB_DEVICE(USB_VENDOR_ID_CIDC, 0x0103) },
1411 { HID_USB_DEVICE(USB_VENDOR_ID_CYGNAL, USB_DEVICE_ID_CYGNAL_RADIO_SI470X) }, 1414 { HID_USB_DEVICE(USB_VENDOR_ID_CYGNAL, USB_DEVICE_ID_CYGNAL_RADIO_SI470X) },
@@ -1541,6 +1544,40 @@ static const struct hid_device_id hid_ignore_list[] = {
1541 { } 1544 { }
1542}; 1545};
1543 1546
1547/**
1548 * hid_mouse_ignore_list - mouse devices which should not be handled by the hid layer
1549 *
1550 * There are composite devices for which we want to ignore only a certain
1551 * interface. This is a list of devices for which only the mouse interface will
1552 * be ignored. This allows a dedicated driver to take care of the interface.
1553 */
1554static const struct hid_device_id hid_mouse_ignore_list[] = {
1555 /* appletouch driver */
1556 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI) },
1557 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO) },
1558 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI) },
1559 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO) },
1560 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS) },
1561 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI) },
1562 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO) },
1563 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS) },
1564 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI) },
1565 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO) },
1566 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS) },
1567 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI) },
1568 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO) },
1569 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS) },
1570 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI) },
1571 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO) },
1572 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS) },
1573 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI) },
1574 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO) },
1575 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS) },
1576 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
1577 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
1578 { }
1579};
1580
1544static bool hid_ignore(struct hid_device *hdev) 1581static bool hid_ignore(struct hid_device *hdev)
1545{ 1582{
1546 switch (hdev->vendor) { 1583 switch (hdev->vendor) {
@@ -1557,6 +1594,10 @@ static bool hid_ignore(struct hid_device *hdev)
1557 break; 1594 break;
1558 } 1595 }
1559 1596
1597 if (hdev->type == HID_TYPE_USBMOUSE &&
1598 hid_match_id(hdev, hid_mouse_ignore_list))
1599 return true;
1600
1560 return !!hid_match_id(hdev, hid_ignore_list); 1601 return !!hid_match_id(hdev, hid_ignore_list);
1561} 1602}
1562 1603
diff --git a/drivers/hid/hid-dell.c b/drivers/hid/hid-dell.c
index 1a0d0dfc62fc..f5474300b83a 100644
--- a/drivers/hid/hid-dell.c
+++ b/drivers/hid/hid-dell.c
@@ -48,6 +48,7 @@ err_free:
48static const struct hid_device_id dell_devices[] = { 48static const struct hid_device_id dell_devices[] = {
49 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) }, 49 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658) },
50 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_SK8115) }, 50 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_SK8115) },
51 { HID_USB_DEVICE(USB_VENDOR_ID_GENERIC_13BA, USB_DEVICE_ID_GENERIC_13BA_KBD_MOUSE) },
51 { } 52 { }
52}; 53};
53MODULE_DEVICE_TABLE(hid, dell_devices); 54MODULE_DEVICE_TABLE(hid, dell_devices);
diff --git a/drivers/hid/hid-gyration.c b/drivers/hid/hid-gyration.c
index ac5120f542cc..04a0afec52ac 100644
--- a/drivers/hid/hid-gyration.c
+++ b/drivers/hid/hid-gyration.c
@@ -4,9 +4,9 @@
4 * Copyright (c) 1999 Andreas Gal 4 * Copyright (c) 1999 Andreas Gal
5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz> 5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc 6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
7 * Copyright (c) 2006-2007 Jiri Kosina
8 * Copyright (c) 2007 Paul Walmsley 7 * Copyright (c) 2007 Paul Walmsley
9 * Copyright (c) 2008 Jiri Slaby 8 * Copyright (c) 2008 Jiri Slaby
9 * Copyright (c) 2006-2008 Jiri Kosina
10 */ 10 */
11 11
12/* 12/*
@@ -40,6 +40,7 @@ static int gyration_input_mapping(struct hid_device *hdev, struct hid_input *hi,
40 case 0x025: gy_map_key_clear(KEY_PVR); break; 40 case 0x025: gy_map_key_clear(KEY_PVR); break;
41 case 0x046: gy_map_key_clear(KEY_MEDIA); break; 41 case 0x046: gy_map_key_clear(KEY_MEDIA); break;
42 case 0x047: gy_map_key_clear(KEY_MP3); break; 42 case 0x047: gy_map_key_clear(KEY_MP3); break;
43 case 0x048: gy_map_key_clear(KEY_MEDIA); break;
43 case 0x049: gy_map_key_clear(KEY_CAMERA); break; 44 case 0x049: gy_map_key_clear(KEY_CAMERA); break;
44 case 0x04a: gy_map_key_clear(KEY_VIDEO); break; 45 case 0x04a: gy_map_key_clear(KEY_VIDEO); break;
45 46
@@ -68,6 +69,7 @@ static int gyration_event(struct hid_device *hdev, struct hid_field *field,
68 69
69static const struct hid_device_id gyration_devices[] = { 70static const struct hid_device_id gyration_devices[] = {
70 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, 71 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) },
72 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) },
71 { } 73 { }
72}; 74};
73MODULE_DEVICE_TABLE(hid, gyration_devices); 75MODULE_DEVICE_TABLE(hid, gyration_devices);
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index d9a1ba920c23..f05bcbbbb0d5 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -89,6 +89,7 @@
89 89
90#define USB_VENDOR_ID_ASUS 0x0b05 90#define USB_VENDOR_ID_ASUS 0x0b05
91#define USB_DEVICE_ID_ASUS_LCM 0x1726 91#define USB_DEVICE_ID_ASUS_LCM 0x1726
92#define USB_DEVICE_ID_ASUS_LCM2 0x175b
92 93
93#define USB_VENDOR_ID_ATEN 0x0557 94#define USB_VENDOR_ID_ATEN 0x0557
94#define USB_DEVICE_ID_ATEN_UC100KM 0x2004 95#define USB_DEVICE_ID_ATEN_UC100KM 0x2004
@@ -162,6 +163,9 @@
162 163
163#define USB_VENDOR_ID_GENERAL_TOUCH 0x0dfc 164#define USB_VENDOR_ID_GENERAL_TOUCH 0x0dfc
164 165
166#define USB_VENDOR_ID_GENERIC_13BA 0x13ba
167#define USB_DEVICE_ID_GENERIC_13BA_KBD_MOUSE 0x0017
168
165#define USB_VENDOR_ID_GLAB 0x06c2 169#define USB_VENDOR_ID_GLAB 0x06c2
166#define USB_DEVICE_ID_4_PHIDGETSERVO_30 0x0038 170#define USB_DEVICE_ID_4_PHIDGETSERVO_30 0x0038
167#define USB_DEVICE_ID_1_PHIDGETSERVO_30 0x0039 171#define USB_DEVICE_ID_1_PHIDGETSERVO_30 0x0039
@@ -236,6 +240,7 @@
236 240
237#define USB_VENDOR_ID_GYRATION 0x0c16 241#define USB_VENDOR_ID_GYRATION 0x0c16
238#define USB_DEVICE_ID_GYRATION_REMOTE 0x0002 242#define USB_DEVICE_ID_GYRATION_REMOTE 0x0002
243#define USB_DEVICE_ID_GYRATION_REMOTE_2 0x0003
239 244
240#define USB_VENDOR_ID_HAPP 0x078b 245#define USB_VENDOR_ID_HAPP 0x078b
241#define USB_DEVICE_ID_UGCI_DRIVING 0x0010 246#define USB_DEVICE_ID_UGCI_DRIVING 0x0010
@@ -248,6 +253,9 @@
248#define USB_VENDOR_ID_KBGEAR 0x084e 253#define USB_VENDOR_ID_KBGEAR 0x084e
249#define USB_DEVICE_ID_KBGEAR_JAMSTUDIO 0x1001 254#define USB_DEVICE_ID_KBGEAR_JAMSTUDIO 0x1001
250 255
256#define USB_VENDOR_ID_KWORLD 0x1b80
257#define USB_DEVICE_ID_KWORLD_RADIO_FM700 0xd700
258
251#define USB_VENDOR_ID_LABTEC 0x1020 259#define USB_VENDOR_ID_LABTEC 0x1020
252#define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD 0x0006 260#define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD 0x0006
253 261
@@ -268,8 +276,6 @@
268#define USB_DEVICE_ID_LD_MACHINETEST 0x2040 276#define USB_DEVICE_ID_LD_MACHINETEST 0x2040
269 277
270#define USB_VENDOR_ID_LOGITECH 0x046d 278#define USB_VENDOR_ID_LOGITECH 0x046d
271#define USB_DEVICE_ID_LOGITECH_LX3 0xc044
272#define USB_DEVICE_ID_LOGITECH_V150 0xc047
273#define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101 279#define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101
274#define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST 0xc110 280#define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST 0xc110
275#define USB_DEVICE_ID_LOGITECH_HARMONY_LAST 0xc14f 281#define USB_DEVICE_ID_LOGITECH_HARMONY_LAST 0xc14f
@@ -350,6 +356,7 @@
350#define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 356#define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001
351 357
352#define USB_VENDOR_ID_SONY 0x054c 358#define USB_VENDOR_ID_SONY 0x054c
359#define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b
353#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 360#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268
354 361
355#define USB_VENDOR_ID_SOUNDGRAPH 0x15c2 362#define USB_VENDOR_ID_SOUNDGRAPH 0x15c2
diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c
index 406d8c82abf1..2bae340eafe2 100644
--- a/drivers/hid/hid-lg.c
+++ b/drivers/hid/hid-lg.c
@@ -287,11 +287,6 @@ static const struct hid_device_id lg_devices[] = {
287 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500), 287 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500),
288 .driver_data = LG_IGNORE_DOUBLED_WHEEL | LG_EXPANDED_KEYMAP }, 288 .driver_data = LG_IGNORE_DOUBLED_WHEEL | LG_EXPANDED_KEYMAP },
289 289
290 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_LX3),
291 .driver_data = LG_INVERT_HWHEEL },
292 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_V150),
293 .driver_data = LG_INVERT_HWHEEL },
294
295 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_EXTREME_3D), 290 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_EXTREME_3D),
296 .driver_data = LG_NOGET }, 291 .driver_data = LG_NOGET },
297 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_WHEEL), 292 { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_WHEEL),
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 3af8095a7de1..86e563b8d644 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -4,9 +4,9 @@
4 * Copyright (c) 1999 Andreas Gal 4 * Copyright (c) 1999 Andreas Gal
5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz> 5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc 6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
7 * Copyright (c) 2006-2007 Jiri Kosina
8 * Copyright (c) 2007 Paul Walmsley 7 * Copyright (c) 2007 Paul Walmsley
9 * Copyright (c) 2008 Jiri Slaby 8 * Copyright (c) 2008 Jiri Slaby
9 * Copyright (c) 2006-2008 Jiri Kosina
10 */ 10 */
11 11
12/* 12/*
@@ -23,6 +23,26 @@
23 23
24#include "hid-ids.h" 24#include "hid-ids.h"
25 25
26#define VAIO_RDESC_CONSTANT 0x0001
27
28struct sony_sc {
29 unsigned long quirks;
30};
31
32/* Sony Vaio VGX has wrongly mouse pointer declared as constant */
33static void sony_report_fixup(struct hid_device *hdev, __u8 *rdesc,
34 unsigned int rsize)
35{
36 struct sony_sc *sc = hid_get_drvdata(hdev);
37
38 if ((sc->quirks & VAIO_RDESC_CONSTANT) &&
39 rsize >= 56 && rdesc[54] == 0x81 && rdesc[55] == 0x07) {
40 dev_info(&hdev->dev, "Fixing up Sony Vaio VGX report "
41 "descriptor\n");
42 rdesc[55] = 0x06;
43 }
44}
45
26/* 46/*
27 * Sending HID_REQ_GET_REPORT changes the operation mode of the ps3 controller 47 * Sending HID_REQ_GET_REPORT changes the operation mode of the ps3 controller
28 * to "operational". Without this, the ps3 controller will not report any 48 * to "operational". Without this, the ps3 controller will not report any
@@ -56,6 +76,17 @@ static int sony_set_operational(struct hid_device *hdev)
56static int sony_probe(struct hid_device *hdev, const struct hid_device_id *id) 76static int sony_probe(struct hid_device *hdev, const struct hid_device_id *id)
57{ 77{
58 int ret; 78 int ret;
79 unsigned long quirks = id->driver_data;
80 struct sony_sc *sc;
81
82 sc = kzalloc(sizeof(*sc), GFP_KERNEL);
83 if (sc == NULL) {
84 dev_err(&hdev->dev, "can't alloc apple descriptor\n");
85 return -ENOMEM;
86 }
87
88 sc->quirks = quirks;
89 hid_set_drvdata(hdev, sc);
59 90
60 ret = hid_parse(hdev); 91 ret = hid_parse(hdev);
61 if (ret) { 92 if (ret) {
@@ -78,11 +109,20 @@ static int sony_probe(struct hid_device *hdev, const struct hid_device_id *id)
78err_stop: 109err_stop:
79 hid_hw_stop(hdev); 110 hid_hw_stop(hdev);
80err_free: 111err_free:
112 kfree(sc);
81 return ret; 113 return ret;
82} 114}
83 115
116static void sony_remove(struct hid_device *hdev)
117{
118 hid_hw_stop(hdev);
119 kfree(hid_get_drvdata(hdev));
120}
121
84static const struct hid_device_id sony_devices[] = { 122static const struct hid_device_id sony_devices[] = {
85 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, 123 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
124 { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE),
125 .driver_data = VAIO_RDESC_CONSTANT },
86 { } 126 { }
87}; 127};
88MODULE_DEVICE_TABLE(hid, sony_devices); 128MODULE_DEVICE_TABLE(hid, sony_devices);
@@ -91,6 +131,8 @@ static struct hid_driver sony_driver = {
91 .name = "sony", 131 .name = "sony",
92 .id_table = sony_devices, 132 .id_table = sony_devices,
93 .probe = sony_probe, 133 .probe = sony_probe,
134 .remove = sony_remove,
135 .report_fixup = sony_report_fixup,
94}; 136};
95 137
96static int sony_init(void) 138static int sony_init(void)
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index af3edb98df43..894d52e05bf9 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -264,6 +264,7 @@ static long hidraw_ioctl(struct file *file, unsigned int cmd,
264 default: 264 default:
265 ret = -ENOTTY; 265 ret = -ENOTTY;
266 } 266 }
267 unlock_kernel();
267 return ret; 268 return ret;
268} 269}
269 270
@@ -403,7 +404,7 @@ out:
403 return result; 404 return result;
404} 405}
405 406
406void __exit hidraw_exit(void) 407void hidraw_exit(void)
407{ 408{
408 dev_t dev_id = MKDEV(hidraw_major, 0); 409 dev_t dev_id = MKDEV(hidraw_major, 0);
409 410
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 705a43cdeea4..18e5ddd722cd 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -20,6 +20,7 @@
20#include <linux/kernel.h> 20#include <linux/kernel.h>
21#include <linux/list.h> 21#include <linux/list.h>
22#include <linux/mm.h> 22#include <linux/mm.h>
23#include <linux/mutex.h>
23#include <linux/smp_lock.h> 24#include <linux/smp_lock.h>
24#include <linux/spinlock.h> 25#include <linux/spinlock.h>
25#include <asm/unaligned.h> 26#include <asm/unaligned.h>
@@ -776,21 +777,10 @@ static int usbhid_start(struct hid_device *hid)
776 struct usb_interface *intf = to_usb_interface(hid->dev.parent); 777 struct usb_interface *intf = to_usb_interface(hid->dev.parent);
777 struct usb_host_interface *interface = intf->cur_altsetting; 778 struct usb_host_interface *interface = intf->cur_altsetting;
778 struct usb_device *dev = interface_to_usbdev(intf); 779 struct usb_device *dev = interface_to_usbdev(intf);
779 struct usbhid_device *usbhid; 780 struct usbhid_device *usbhid = hid->driver_data;
780 unsigned int n, insize = 0; 781 unsigned int n, insize = 0;
781 int ret; 782 int ret;
782 783
783 WARN_ON(hid->driver_data);
784
785 usbhid = kzalloc(sizeof(struct usbhid_device), GFP_KERNEL);
786 if (usbhid == NULL) {
787 ret = -ENOMEM;
788 goto err;
789 }
790
791 hid->driver_data = usbhid;
792 usbhid->hid = hid;
793
794 usbhid->bufsize = HID_MIN_BUFFER_SIZE; 784 usbhid->bufsize = HID_MIN_BUFFER_SIZE;
795 hid_find_max_report(hid, HID_INPUT_REPORT, &usbhid->bufsize); 785 hid_find_max_report(hid, HID_INPUT_REPORT, &usbhid->bufsize);
796 hid_find_max_report(hid, HID_OUTPUT_REPORT, &usbhid->bufsize); 786 hid_find_max_report(hid, HID_OUTPUT_REPORT, &usbhid->bufsize);
@@ -804,6 +794,7 @@ static int usbhid_start(struct hid_device *hid)
804 if (insize > HID_MAX_BUFFER_SIZE) 794 if (insize > HID_MAX_BUFFER_SIZE)
805 insize = HID_MAX_BUFFER_SIZE; 795 insize = HID_MAX_BUFFER_SIZE;
806 796
797 mutex_lock(&usbhid->setup);
807 if (hid_alloc_buffers(dev, hid)) { 798 if (hid_alloc_buffers(dev, hid)) {
808 ret = -ENOMEM; 799 ret = -ENOMEM;
809 goto fail; 800 goto fail;
@@ -888,6 +879,9 @@ static int usbhid_start(struct hid_device *hid)
888 usbhid_init_reports(hid); 879 usbhid_init_reports(hid);
889 hid_dump_device(hid); 880 hid_dump_device(hid);
890 881
882 set_bit(HID_STARTED, &usbhid->iofl);
883 mutex_unlock(&usbhid->setup);
884
891 return 0; 885 return 0;
892 886
893fail: 887fail:
@@ -895,8 +889,7 @@ fail:
895 usb_free_urb(usbhid->urbout); 889 usb_free_urb(usbhid->urbout);
896 usb_free_urb(usbhid->urbctrl); 890 usb_free_urb(usbhid->urbctrl);
897 hid_free_buffers(dev, hid); 891 hid_free_buffers(dev, hid);
898 kfree(usbhid); 892 mutex_unlock(&usbhid->setup);
899err:
900 return ret; 893 return ret;
901} 894}
902 895
@@ -907,6 +900,8 @@ static void usbhid_stop(struct hid_device *hid)
907 if (WARN_ON(!usbhid)) 900 if (WARN_ON(!usbhid))
908 return; 901 return;
909 902
903 mutex_lock(&usbhid->setup);
904 clear_bit(HID_STARTED, &usbhid->iofl);
910 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ 905 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */
911 set_bit(HID_DISCONNECTED, &usbhid->iofl); 906 set_bit(HID_DISCONNECTED, &usbhid->iofl);
912 spin_unlock_irq(&usbhid->inlock); 907 spin_unlock_irq(&usbhid->inlock);
@@ -931,8 +926,7 @@ static void usbhid_stop(struct hid_device *hid)
931 usb_free_urb(usbhid->urbout); 926 usb_free_urb(usbhid->urbout);
932 927
933 hid_free_buffers(hid_to_usb_dev(hid), hid); 928 hid_free_buffers(hid_to_usb_dev(hid), hid);
934 kfree(usbhid); 929 mutex_unlock(&usbhid->setup);
935 hid->driver_data = NULL;
936} 930}
937 931
938static struct hid_ll_driver usb_hid_driver = { 932static struct hid_ll_driver usb_hid_driver = {
@@ -947,6 +941,7 @@ static struct hid_ll_driver usb_hid_driver = {
947static int hid_probe(struct usb_interface *intf, const struct usb_device_id *id) 941static int hid_probe(struct usb_interface *intf, const struct usb_device_id *id)
948{ 942{
949 struct usb_device *dev = interface_to_usbdev(intf); 943 struct usb_device *dev = interface_to_usbdev(intf);
944 struct usbhid_device *usbhid;
950 struct hid_device *hid; 945 struct hid_device *hid;
951 size_t len; 946 size_t len;
952 int ret; 947 int ret;
@@ -972,6 +967,9 @@ static int hid_probe(struct usb_interface *intf, const struct usb_device_id *id)
972 hid->vendor = le16_to_cpu(dev->descriptor.idVendor); 967 hid->vendor = le16_to_cpu(dev->descriptor.idVendor);
973 hid->product = le16_to_cpu(dev->descriptor.idProduct); 968 hid->product = le16_to_cpu(dev->descriptor.idProduct);
974 hid->name[0] = 0; 969 hid->name[0] = 0;
970 if (intf->cur_altsetting->desc.bInterfaceProtocol ==
971 USB_INTERFACE_PROTOCOL_MOUSE)
972 hid->type = HID_TYPE_USBMOUSE;
975 973
976 if (dev->manufacturer) 974 if (dev->manufacturer)
977 strlcpy(hid->name, dev->manufacturer, sizeof(hid->name)); 975 strlcpy(hid->name, dev->manufacturer, sizeof(hid->name));
@@ -997,14 +995,26 @@ static int hid_probe(struct usb_interface *intf, const struct usb_device_id *id)
997 if (usb_string(dev, dev->descriptor.iSerialNumber, hid->uniq, 64) <= 0) 995 if (usb_string(dev, dev->descriptor.iSerialNumber, hid->uniq, 64) <= 0)
998 hid->uniq[0] = 0; 996 hid->uniq[0] = 0;
999 997
998 usbhid = kzalloc(sizeof(*usbhid), GFP_KERNEL);
999 if (usbhid == NULL) {
1000 ret = -ENOMEM;
1001 goto err;
1002 }
1003
1004 hid->driver_data = usbhid;
1005 usbhid->hid = hid;
1006 mutex_init(&usbhid->setup); /* needed on suspend/resume */
1007
1000 ret = hid_add_device(hid); 1008 ret = hid_add_device(hid);
1001 if (ret) { 1009 if (ret) {
1002 if (ret != -ENODEV) 1010 if (ret != -ENODEV)
1003 dev_err(&intf->dev, "can't add hid device: %d\n", ret); 1011 dev_err(&intf->dev, "can't add hid device: %d\n", ret);
1004 goto err; 1012 goto err_free;
1005 } 1013 }
1006 1014
1007 return 0; 1015 return 0;
1016err_free:
1017 kfree(usbhid);
1008err: 1018err:
1009 hid_destroy_device(hid); 1019 hid_destroy_device(hid);
1010 return ret; 1020 return ret;
@@ -1013,11 +1023,14 @@ err:
1013static void hid_disconnect(struct usb_interface *intf) 1023static void hid_disconnect(struct usb_interface *intf)
1014{ 1024{
1015 struct hid_device *hid = usb_get_intfdata(intf); 1025 struct hid_device *hid = usb_get_intfdata(intf);
1026 struct usbhid_device *usbhid;
1016 1027
1017 if (WARN_ON(!hid)) 1028 if (WARN_ON(!hid))
1018 return; 1029 return;
1019 1030
1031 usbhid = hid->driver_data;
1020 hid_destroy_device(hid); 1032 hid_destroy_device(hid);
1033 kfree(usbhid);
1021} 1034}
1022 1035
1023static int hid_suspend(struct usb_interface *intf, pm_message_t message) 1036static int hid_suspend(struct usb_interface *intf, pm_message_t message)
@@ -1025,11 +1038,18 @@ static int hid_suspend(struct usb_interface *intf, pm_message_t message)
1025 struct hid_device *hid = usb_get_intfdata (intf); 1038 struct hid_device *hid = usb_get_intfdata (intf);
1026 struct usbhid_device *usbhid = hid->driver_data; 1039 struct usbhid_device *usbhid = hid->driver_data;
1027 1040
1041 mutex_lock(&usbhid->setup);
1042 if (!test_bit(HID_STARTED, &usbhid->iofl)) {
1043 mutex_unlock(&usbhid->setup);
1044 return 0;
1045 }
1046
1028 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ 1047 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */
1029 set_bit(HID_SUSPENDED, &usbhid->iofl); 1048 set_bit(HID_SUSPENDED, &usbhid->iofl);
1030 spin_unlock_irq(&usbhid->inlock); 1049 spin_unlock_irq(&usbhid->inlock);
1031 del_timer(&usbhid->io_retry); 1050 del_timer_sync(&usbhid->io_retry);
1032 usb_kill_urb(usbhid->urbin); 1051 usb_kill_urb(usbhid->urbin);
1052 mutex_unlock(&usbhid->setup);
1033 dev_dbg(&intf->dev, "suspend\n"); 1053 dev_dbg(&intf->dev, "suspend\n");
1034 return 0; 1054 return 0;
1035} 1055}
@@ -1040,9 +1060,16 @@ static int hid_resume(struct usb_interface *intf)
1040 struct usbhid_device *usbhid = hid->driver_data; 1060 struct usbhid_device *usbhid = hid->driver_data;
1041 int status; 1061 int status;
1042 1062
1063 mutex_lock(&usbhid->setup);
1064 if (!test_bit(HID_STARTED, &usbhid->iofl)) {
1065 mutex_unlock(&usbhid->setup);
1066 return 0;
1067 }
1068
1043 clear_bit(HID_SUSPENDED, &usbhid->iofl); 1069 clear_bit(HID_SUSPENDED, &usbhid->iofl);
1044 usbhid->retry_delay = 0; 1070 usbhid->retry_delay = 0;
1045 status = hid_start_in(hid); 1071 status = hid_start_in(hid);
1072 mutex_unlock(&usbhid->setup);
1046 dev_dbg(&intf->dev, "resume status %d\n", status); 1073 dev_dbg(&intf->dev, "resume status %d\n", status);
1047 return status; 1074 return status;
1048} 1075}
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index babd65dd46ad..83e851a5ed30 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -242,8 +242,6 @@ static int hiddev_release(struct inode * inode, struct file * file)
242 struct hiddev_list *list = file->private_data; 242 struct hiddev_list *list = file->private_data;
243 unsigned long flags; 243 unsigned long flags;
244 244
245 hiddev_fasync(-1, file, 0);
246
247 spin_lock_irqsave(&list->hiddev->list_lock, flags); 245 spin_lock_irqsave(&list->hiddev->list_lock, flags);
248 list_del(&list->node); 246 list_del(&list->node);
249 spin_unlock_irqrestore(&list->hiddev->list_lock, flags); 247 spin_unlock_irqrestore(&list->hiddev->list_lock, flags);
@@ -436,8 +434,7 @@ static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd,
436 if (copy_to_user(user_arg, uref, sizeof(*uref))) 434 if (copy_to_user(user_arg, uref, sizeof(*uref)))
437 goto fault; 435 goto fault;
438 436
439 kfree(uref_multi); 437 goto goodreturn;
440 return 0;
441 438
442 default: 439 default:
443 if (cmd != HIDIOCGUSAGE && 440 if (cmd != HIDIOCGUSAGE &&
diff --git a/drivers/hid/usbhid/usbhid.h b/drivers/hid/usbhid/usbhid.h
index abedb13c623e..55973ff54008 100644
--- a/drivers/hid/usbhid/usbhid.h
+++ b/drivers/hid/usbhid/usbhid.h
@@ -27,6 +27,7 @@
27#include <linux/types.h> 27#include <linux/types.h>
28#include <linux/slab.h> 28#include <linux/slab.h>
29#include <linux/list.h> 29#include <linux/list.h>
30#include <linux/mutex.h>
30#include <linux/timer.h> 31#include <linux/timer.h>
31#include <linux/wait.h> 32#include <linux/wait.h>
32#include <linux/workqueue.h> 33#include <linux/workqueue.h>
@@ -73,6 +74,7 @@ struct usbhid_device {
73 dma_addr_t outbuf_dma; /* Output buffer dma */ 74 dma_addr_t outbuf_dma; /* Output buffer dma */
74 spinlock_t outlock; /* Output fifo spinlock */ 75 spinlock_t outlock; /* Output fifo spinlock */
75 76
77 struct mutex setup;
76 unsigned long iofl; /* I/O flags (CTRL_RUNNING, OUT_RUNNING) */ 78 unsigned long iofl; /* I/O flags (CTRL_RUNNING, OUT_RUNNING) */
77 struct timer_list io_retry; /* Retry timer */ 79 struct timer_list io_retry; /* Retry timer */
78 unsigned long stop_retry; /* Time to give up, in jiffies */ 80 unsigned long stop_retry; /* Time to give up, in jiffies */
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index bc011da79e14..be3285912cb7 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -116,6 +116,18 @@ static const char* temperature_sensors_sets[][36] = {
116/* Set 9: Macbook Pro 3,1 (Santa Rosa) */ 116/* Set 9: Macbook Pro 3,1 (Santa Rosa) */
117 { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", 117 { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P",
118 "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, 118 "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL },
119/* Set 10: iMac 5,1 */
120 { "TA0P", "TC0D", "TC0P", "TG0D", "TH0P", "TO0P", "Tm0P", NULL },
121/* Set 11: Macbook 5,1 */
122 { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0P", "TN0D", "TN0P",
123 "TTF0", "Th0H", "Th1H", "ThFH", "Ts0P", "Ts0S", NULL },
124/* Set 12: Macbook Pro 5,1 */
125 { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TG0D",
126 "TG0F", "TG0H", "TG0P", "TG0T", "TG1H", "TN0D", "TN0P", "TTF0",
127 "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL },
128/* Set 13: iMac 8,1 */
129 { "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P",
130 "TL0P", "TO0P", "TW0P", "Tm0P", "Tp0P", NULL },
119}; 131};
120 132
121/* List of keys used to read/write fan speeds */ 133/* List of keys used to read/write fan speeds */
@@ -1276,6 +1288,14 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {
1276 { .accelerometer = 1, .light = 1, .temperature_set = 8 }, 1288 { .accelerometer = 1, .light = 1, .temperature_set = 8 },
1277/* MacBook Pro 3: accelerometer, backlight and temperature set 9 */ 1289/* MacBook Pro 3: accelerometer, backlight and temperature set 9 */
1278 { .accelerometer = 1, .light = 1, .temperature_set = 9 }, 1290 { .accelerometer = 1, .light = 1, .temperature_set = 9 },
1291/* iMac 5: light sensor only, temperature set 10 */
1292 { .accelerometer = 0, .light = 0, .temperature_set = 10 },
1293/* MacBook 5: accelerometer, backlight and temperature set 11 */
1294 { .accelerometer = 1, .light = 1, .temperature_set = 11 },
1295/* MacBook Pro 5: accelerometer, backlight and temperature set 12 */
1296 { .accelerometer = 1, .light = 1, .temperature_set = 12 },
1297/* iMac 8: light sensor only, temperature set 13 */
1298 { .accelerometer = 0, .light = 0, .temperature_set = 13 },
1279}; 1299};
1280 1300
1281/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". 1301/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1285,6 +1305,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
1285 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), 1305 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1286 DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, 1306 DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") },
1287 &applesmc_dmi_data[7]}, 1307 &applesmc_dmi_data[7]},
1308 { applesmc_dmi_match, "Apple MacBook Pro 5", {
1309 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1310 DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5") },
1311 &applesmc_dmi_data[12]},
1288 { applesmc_dmi_match, "Apple MacBook Pro 4", { 1312 { applesmc_dmi_match, "Apple MacBook Pro 4", {
1289 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), 1313 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1290 DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, 1314 DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") },
@@ -1305,6 +1329,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
1305 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), 1329 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1306 DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") }, 1330 DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") },
1307 &applesmc_dmi_data[6]}, 1331 &applesmc_dmi_data[6]},
1332 { applesmc_dmi_match, "Apple MacBook 5", {
1333 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1334 DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5") },
1335 &applesmc_dmi_data[11]},
1308 { applesmc_dmi_match, "Apple MacBook", { 1336 { applesmc_dmi_match, "Apple MacBook", {
1309 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), 1337 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1310 DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, 1338 DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },
@@ -1317,6 +1345,14 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
1317 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), 1345 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1318 DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, 1346 DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
1319 &applesmc_dmi_data[4]}, 1347 &applesmc_dmi_data[4]},
1348 { applesmc_dmi_match, "Apple iMac 8", {
1349 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1350 DMI_MATCH(DMI_PRODUCT_NAME, "iMac8") },
1351 &applesmc_dmi_data[13]},
1352 { applesmc_dmi_match, "Apple iMac 5", {
1353 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
1354 DMI_MATCH(DMI_PRODUCT_NAME, "iMac5") },
1355 &applesmc_dmi_data[10]},
1320 { applesmc_dmi_match, "Apple iMac", { 1356 { applesmc_dmi_match, "Apple iMac", {
1321 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), 1357 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1322 DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, 1358 DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index c772e02c2803..1fac4e233133 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -507,7 +507,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, struct i2c_msg *msgs, int
507 unsigned long timeout; 507 unsigned long timeout;
508 int ret; 508 int ret;
509 509
510 if (!readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN) 510 if (!(readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN))
511 return -EIO; 511 return -EIO;
512 512
513 ret = s3c24xx_i2c_set_master(i2c); 513 ret = s3c24xx_i2c_set_master(i2c);
diff --git a/drivers/i2c/busses/scx200_i2c.c b/drivers/i2c/busses/scx200_i2c.c
index c3022a023449..e4c98539c517 100644
--- a/drivers/i2c/busses/scx200_i2c.c
+++ b/drivers/i2c/busses/scx200_i2c.c
@@ -81,6 +81,7 @@ static struct i2c_algo_bit_data scx200_i2c_data = {
81 81
82static struct i2c_adapter scx200_i2c_ops = { 82static struct i2c_adapter scx200_i2c_ops = {
83 .owner = THIS_MODULE, 83 .owner = THIS_MODULE,
84 .class = I2C_CLASS_HWMON | I2C_CLASS_SPD,
84 .id = I2C_HW_B_SCX200, 85 .id = I2C_HW_B_SCX200,
85 .algo_data = &scx200_i2c_data, 86 .algo_data = &scx200_i2c_data,
86 .name = "NatSemi SCx200 I2C", 87 .name = "NatSemi SCx200 I2C",
diff --git a/drivers/ide/alim15x3.c b/drivers/ide/alim15x3.c
index daf9dce39e52..e56c7b72f9e2 100644
--- a/drivers/ide/alim15x3.c
+++ b/drivers/ide/alim15x3.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * Copyright (C) 1998-2000 Andre Hedrick (andre@linux-ide.org) 6 * Copyright (C) 1998-2000 Andre Hedrick (andre@linux-ide.org)
7 * May be copied or modified under the terms of the GNU General Public License 7 * May be copied or modified under the terms of the GNU General Public License
8 * Copyright (C) 2002 Alan Cox <alan@redhat.com> 8 * Copyright (C) 2002 Alan Cox
9 * ALi (now ULi M5228) support by Clear Zhang <Clear.Zhang@ali.com.tw> 9 * ALi (now ULi M5228) support by Clear Zhang <Clear.Zhang@ali.com.tw>
10 * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com> 10 * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com>
11 * Copyright (C) 2007 Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> 11 * Copyright (C) 2007 Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
diff --git a/drivers/ide/hpt366.c b/drivers/ide/hpt366.c
index a7909e9c720e..f5afd46ed51c 100644
--- a/drivers/ide/hpt366.c
+++ b/drivers/ide/hpt366.c
@@ -52,7 +52,7 @@
52 * different clocks on read/write. This requires overloading rw_disk and 52 * different clocks on read/write. This requires overloading rw_disk and
53 * other deeply crazy things. Thanks to <http://www.hoerstreich.de> for 53 * other deeply crazy things. Thanks to <http://www.hoerstreich.de> for
54 * keeping me sane. 54 * keeping me sane.
55 * Alan Cox <alan@redhat.com> 55 * Alan Cox <alan@lxorguk.ukuu.org.uk>
56 * 56 *
57 * - fix the clock turnaround code: it was writing to the wrong ports when 57 * - fix the clock turnaround code: it was writing to the wrong ports when
58 * called for the secondary channel, caching the current clock mode per- 58 * called for the secondary channel, caching the current clock mode per-
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 48b5eda3ab41..42ab6d8715f2 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1250,7 +1250,8 @@ static void cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
1250 * separate masks. 1250 * separate masks.
1251 */ 1251 */
1252 alignment = queue_dma_alignment(q) | q->dma_pad_mask; 1252 alignment = queue_dma_alignment(q) | q->dma_pad_mask;
1253 if ((unsigned long)buf & alignment || rq->data_len & alignment 1253 if ((unsigned long)buf & alignment
1254 || rq->data_len & q->dma_pad_mask
1254 || object_is_on_stack(buf)) 1255 || object_is_on_stack(buf))
1255 drive->dma = 0; 1256 drive->dma = 0;
1256 } 1257 }
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index e5adebe8ac2c..eb9fac4d0f0c 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -2,7 +2,7 @@
2 * Copyright (C) 1994-1998 Linus Torvalds & authors (see below) 2 * Copyright (C) 1994-1998 Linus Torvalds & authors (see below)
3 * Copyright (C) 1998-2002 Linux ATA Development 3 * Copyright (C) 1998-2002 Linux ATA Development
4 * Andre Hedrick <andre@linux-ide.org> 4 * Andre Hedrick <andre@linux-ide.org>
5 * Copyright (C) 2003 Red Hat <alan@redhat.com> 5 * Copyright (C) 2003 Red Hat
6 * Copyright (C) 2003-2005, 2007 Bartlomiej Zolnierkiewicz 6 * Copyright (C) 2003-2005, 2007 Bartlomiej Zolnierkiewicz
7 */ 7 */
8 8
diff --git a/drivers/ide/ide-gd.c b/drivers/ide/ide-gd.c
index 7b6662854374..b8078b3231f7 100644
--- a/drivers/ide/ide-gd.c
+++ b/drivers/ide/ide-gd.c
@@ -281,7 +281,12 @@ static int ide_gd_media_changed(struct gendisk *disk)
281static int ide_gd_revalidate_disk(struct gendisk *disk) 281static int ide_gd_revalidate_disk(struct gendisk *disk)
282{ 282{
283 struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); 283 struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj);
284 set_capacity(disk, ide_gd_capacity(idkp->drive)); 284 ide_drive_t *drive = idkp->drive;
285
286 if (ide_gd_media_changed(disk))
287 drive->disk_ops->get_capacity(drive);
288
289 set_capacity(disk, ide_gd_capacity(drive));
285 return 0; 290 return 0;
286} 291}
287 292
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index bb7a1ed8094e..5d6ba14e211d 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) 2000-2002 Andre Hedrick <andre@linux-ide.org> 2 * Copyright (C) 2000-2002 Andre Hedrick <andre@linux-ide.org>
3 * Copyright (C) 2003 Red Hat <alan@redhat.com> 3 * Copyright (C) 2003 Red Hat
4 * 4 *
5 */ 5 */
6 6
diff --git a/drivers/ide/ide-pci-generic.c b/drivers/ide/ide-pci-generic.c
index 474f96a7c076..bddae2b329a0 100644
--- a/drivers/ide/ide-pci-generic.c
+++ b/drivers/ide/ide-pci-generic.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
3 * Portions (C) Copyright 2002 Red Hat Inc <alan@redhat.com> 3 * Portions (C) Copyright 2002 Red Hat Inc
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the 6 * under the terms of the GNU General Public License as published by the
diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c
index c31d0dd7a532..f3cddd1b2f8f 100644
--- a/drivers/ide/ide-proc.c
+++ b/drivers/ide/ide-proc.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) 1997-1998 Mark Lord 2 * Copyright (C) 1997-1998 Mark Lord
3 * Copyright (C) 2003 Red Hat <alan@redhat.com> 3 * Copyright (C) 2003 Red Hat
4 * 4 *
5 * Some code was moved here from ide.c, see it for original copyrights. 5 * Some code was moved here from ide.c, see it for original copyrights.
6 */ 6 */
diff --git a/drivers/ide/it821x.c b/drivers/ide/it821x.c
index 995e18bb3139..ef004089761b 100644
--- a/drivers/ide/it821x.c
+++ b/drivers/ide/it821x.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2004 Red Hat <alan@redhat.com> 2 * Copyright (C) 2004 Red Hat
3 * Copyright (C) 2007 Bartlomiej Zolnierkiewicz 3 * Copyright (C) 2007 Bartlomiej Zolnierkiewicz
4 * 4 *
5 * May be copied or modified under the terms of the GNU General Public License 5 * May be copied or modified under the terms of the GNU General Public License
diff --git a/drivers/ide/jmicron.c b/drivers/ide/jmicron.c
index 9a68433cf46d..bf2be6431b20 100644
--- a/drivers/ide/jmicron.c
+++ b/drivers/ide/jmicron.c
@@ -1,6 +1,6 @@
1 1
2/* 2/*
3 * Copyright (C) 2006 Red Hat <alan@redhat.com> 3 * Copyright (C) 2006 Red Hat
4 * 4 *
5 * May be copied or modified under the terms of the GNU General Public License 5 * May be copied or modified under the terms of the GNU General Public License
6 */ 6 */
diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c
index d63f9fdca76b..61d2d920a5cd 100644
--- a/drivers/ide/piix.c
+++ b/drivers/ide/piix.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer 2 * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer
3 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org> 3 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org>
4 * Copyright (C) 2003 Red Hat Inc <alan@redhat.com> 4 * Copyright (C) 2003 Red Hat
5 * Copyright (C) 2006-2007 MontaVista Software, Inc. <source@mvista.com> 5 * Copyright (C) 2006-2007 MontaVista Software, Inc. <source@mvista.com>
6 * 6 *
7 * May be copied or modified under the terms of the GNU General Public License 7 * May be copied or modified under the terms of the GNU General Public License
diff --git a/drivers/ide/scc_pata.c b/drivers/ide/scc_pata.c
index f26aa5d54efb..0f48f9dacfa5 100644
--- a/drivers/ide/scc_pata.c
+++ b/drivers/ide/scc_pata.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * This code is based on drivers/ide/pci/siimage.c: 6 * This code is based on drivers/ide/pci/siimage.c:
7 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 7 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
8 * Copyright (C) 2003 Red Hat <alan@redhat.com> 8 * Copyright (C) 2003 Red Hat
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 as published by 11 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/ide/siimage.c b/drivers/ide/siimage.c
index c3107df7773d..7d622d20bc4c 100644
--- a/drivers/ide/siimage.c
+++ b/drivers/ide/siimage.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
3 * Copyright (C) 2003 Red Hat <alan@redhat.com> 3 * Copyright (C) 2003 Red Hat
4 * Copyright (C) 2007-2008 MontaVista Software, Inc. 4 * Copyright (C) 2007-2008 MontaVista Software, Inc.
5 * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz 5 * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz
6 * 6 *
diff --git a/drivers/ide/tx4938ide.c b/drivers/ide/tx4938ide.c
index fa660f931a11..9120063e8f87 100644
--- a/drivers/ide/tx4938ide.c
+++ b/drivers/ide/tx4938ide.c
@@ -26,12 +26,13 @@ static void tx4938ide_tune_ebusc(unsigned int ebus_ch,
26 unsigned int sp = (cr >> 4) & 3; 26 unsigned int sp = (cr >> 4) & 3;
27 unsigned int clock = gbus_clock / (4 - sp); 27 unsigned int clock = gbus_clock / (4 - sp);
28 unsigned int cycle = 1000000000 / clock; 28 unsigned int cycle = 1000000000 / clock;
29 unsigned int wt, shwt; 29 unsigned int shwt;
30 int wt;
30 31
31 /* Minimum DIOx- active time */ 32 /* Minimum DIOx- active time */
32 wt = DIV_ROUND_UP(t->act8b, cycle) - 2; 33 wt = DIV_ROUND_UP(t->act8b, cycle) - 2;
33 /* IORDY setup time: 35ns */ 34 /* IORDY setup time: 35ns */
34 wt = max(wt, DIV_ROUND_UP(35, cycle)); 35 wt = max_t(int, wt, DIV_ROUND_UP(35, cycle));
35 /* actual wait-cycle is max(wt & ~1, 1) */ 36 /* actual wait-cycle is max(wt & ~1, 1) */
36 if (wt > 2 && (wt & 1)) 37 if (wt > 2 && (wt & 1))
37 wt++; 38 wt++;
@@ -39,10 +40,17 @@ static void tx4938ide_tune_ebusc(unsigned int ebus_ch,
39 /* Address-valid to DIOR/DIOW setup */ 40 /* Address-valid to DIOR/DIOW setup */
40 shwt = DIV_ROUND_UP(t->setup, cycle); 41 shwt = DIV_ROUND_UP(t->setup, cycle);
41 42
43 /* -DIOx recovery time (SHWT * 4) and cycle time requirement */
44 while ((shwt * 4 + wt + (wt ? 2 : 3)) * cycle < t->cycle)
45 shwt++;
46 if (shwt > 7) {
47 pr_warning("tx4938ide: SHWT violation (%d)\n", shwt);
48 shwt = 7;
49 }
42 pr_debug("tx4938ide: ebus %d, bus cycle %dns, WT %d, SHWT %d\n", 50 pr_debug("tx4938ide: ebus %d, bus cycle %dns, WT %d, SHWT %d\n",
43 ebus_ch, cycle, wt, shwt); 51 ebus_ch, cycle, wt, shwt);
44 52
45 __raw_writeq((cr & ~(0x3f007ull)) | (wt << 12) | shwt, 53 __raw_writeq((cr & ~0x3f007ull) | (wt << 12) | shwt,
46 &tx4938_ebuscptr->cr[ebus_ch]); 54 &tx4938_ebuscptr->cr[ebus_ch]);
47} 55}
48 56
@@ -228,7 +236,7 @@ static int __init tx4938ide_probe(struct platform_device *pdev)
228 struct resource *res; 236 struct resource *res;
229 struct tx4938ide_platform_info *pdata = pdev->dev.platform_data; 237 struct tx4938ide_platform_info *pdata = pdev->dev.platform_data;
230 int irq, ret, i; 238 int irq, ret, i;
231 unsigned long mapbase; 239 unsigned long mapbase, mapctl;
232 struct ide_port_info d = tx4938ide_port_info; 240 struct ide_port_info d = tx4938ide_port_info;
233 241
234 irq = platform_get_irq(pdev, 0); 242 irq = platform_get_irq(pdev, 0);
@@ -242,38 +250,43 @@ static int __init tx4938ide_probe(struct platform_device *pdev)
242 res->end - res->start + 1, "tx4938ide")) 250 res->end - res->start + 1, "tx4938ide"))
243 return -EBUSY; 251 return -EBUSY;
244 mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start, 252 mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start,
245 res->end - res->start + 1); 253 8 << pdata->ioport_shift);
246 if (!mapbase) 254 mapctl = (unsigned long)devm_ioremap(&pdev->dev,
255 res->start + 0x10000 +
256 (6 << pdata->ioport_shift),
257 1 << pdata->ioport_shift);
258 if (!mapbase || !mapctl)
247 return -EBUSY; 259 return -EBUSY;
248 260
249 memset(&hw, 0, sizeof(hw)); 261 memset(&hw, 0, sizeof(hw));
250 if (pdata->ioport_shift) { 262 if (pdata->ioport_shift) {
251 unsigned long port = mapbase; 263 unsigned long port = mapbase;
264 unsigned long ctl = mapctl;
252 265
253 hw.io_ports_array[0] = port; 266 hw.io_ports_array[0] = port;
254#ifdef __BIG_ENDIAN 267#ifdef __BIG_ENDIAN
255 port++; 268 port++;
269 ctl++;
256#endif 270#endif
257 for (i = 1; i <= 7; i++) 271 for (i = 1; i <= 7; i++)
258 hw.io_ports_array[i] = 272 hw.io_ports_array[i] =
259 port + (i << pdata->ioport_shift); 273 port + (i << pdata->ioport_shift);
260 hw.io_ports.ctl_addr = 274 hw.io_ports.ctl_addr = ctl;
261 port + 0x10000 + (6 << pdata->ioport_shift);
262 } else 275 } else
263 ide_std_init_ports(&hw, mapbase, mapbase + 0x10006); 276 ide_std_init_ports(&hw, mapbase, mapctl);
264 hw.irq = irq; 277 hw.irq = irq;
265 hw.dev = &pdev->dev; 278 hw.dev = &pdev->dev;
266 279
267 pr_info("TX4938 IDE interface (base %#lx, irq %d)\n", mapbase, hw.irq); 280 pr_info("TX4938 IDE interface (base %#lx, ctl %#lx, irq %d)\n",
281 mapbase, mapctl, hw.irq);
268 if (pdata->gbus_clock) 282 if (pdata->gbus_clock)
269 tx4938ide_tune_ebusc(pdata->ebus_ch, pdata->gbus_clock, 0); 283 tx4938ide_tune_ebusc(pdata->ebus_ch, pdata->gbus_clock, 0);
270 else 284 else
271 d.port_ops = NULL; 285 d.port_ops = NULL;
272 ret = ide_host_add(&d, hws, &host); 286 ret = ide_host_add(&d, hws, &host);
273 if (ret) 287 if (!ret)
274 return ret; 288 platform_set_drvdata(pdev, host);
275 platform_set_drvdata(pdev, host); 289 return ret;
276 return 0;
277} 290}
278 291
279static int __exit tx4938ide_remove(struct platform_device *pdev) 292static int __exit tx4938ide_remove(struct platform_device *pdev)
diff --git a/drivers/idle/Kconfig b/drivers/idle/Kconfig
index f5b26dd579e4..108264de0ac9 100644
--- a/drivers/idle/Kconfig
+++ b/drivers/idle/Kconfig
@@ -5,12 +5,13 @@ config I7300_IDLE_IOAT_CHANNEL
5 bool 5 bool
6 6
7config I7300_IDLE 7config I7300_IDLE
8 tristate "Intel chipset idle power saving driver" 8 tristate "Intel chipset idle memory power saving driver"
9 select I7300_IDLE_IOAT_CHANNEL 9 select I7300_IDLE_IOAT_CHANNEL
10 depends on X86_64 10 depends on X86_64 && EXPERIMENTAL
11 help 11 help
12 Enable idle power savings with certain Intel server chipsets. 12 Enable memory power savings when idle with certain Intel server
13 The chipset must have I/O AT support, such as the Intel 7300. 13 chipsets. The chipset must have I/O AT support, such as the
14 The power savings depends on the type and quantity of DRAM devices. 14 Intel 7300. The power savings depends on the type and quantity of
15 DRAM devices.
15 16
16endmenu 17endmenu
diff --git a/drivers/idle/i7300_idle.c b/drivers/idle/i7300_idle.c
index 59d1bbc3cd3c..fb176f6ef9f8 100644
--- a/drivers/idle/i7300_idle.c
+++ b/drivers/idle/i7300_idle.c
@@ -25,6 +25,7 @@
25#include <linux/delay.h> 25#include <linux/delay.h>
26#include <linux/debugfs.h> 26#include <linux/debugfs.h>
27#include <linux/stop_machine.h> 27#include <linux/stop_machine.h>
28#include <linux/i7300_idle.h>
28 29
29#include <asm/idle.h> 30#include <asm/idle.h>
30 31
@@ -34,6 +35,8 @@
34#define I7300_IDLE_DRIVER_VERSION "1.55" 35#define I7300_IDLE_DRIVER_VERSION "1.55"
35#define I7300_PRINT "i7300_idle:" 36#define I7300_PRINT "i7300_idle:"
36 37
38#define MAX_STOP_RETRIES 10
39
37static int debug; 40static int debug;
38module_param_named(debug, debug, uint, 0644); 41module_param_named(debug, debug, uint, 0644);
39MODULE_PARM_DESC(debug, "Enable debug printks in this driver"); 42MODULE_PARM_DESC(debug, "Enable debug printks in this driver");
@@ -46,12 +49,12 @@ MODULE_PARM_DESC(debug, "Enable debug printks in this driver");
46 * 0 = No throttling 49 * 0 = No throttling
47 * 1 = Throttle when > 4 activations per eval window (Maximum throttling) 50 * 1 = Throttle when > 4 activations per eval window (Maximum throttling)
48 * 2 = Throttle when > 8 activations 51 * 2 = Throttle when > 8 activations
49 * 168 = Throttle when > 168 activations (Minimum throttling) 52 * 168 = Throttle when > 672 activations (Minimum throttling)
50 */ 53 */
51#define MAX_THRTLWLIMIT 168 54#define MAX_THROTTLE_LOW_LIMIT 168
52static uint i7300_idle_thrtlowlm = 1; 55static uint throttle_low_limit = 1;
53module_param_named(thrtlwlimit, i7300_idle_thrtlowlm, uint, 0644); 56module_param_named(throttle_low_limit, throttle_low_limit, uint, 0644);
54MODULE_PARM_DESC(thrtlwlimit, 57MODULE_PARM_DESC(throttle_low_limit,
55 "Value for THRTLOWLM activation field " 58 "Value for THRTLOWLM activation field "
56 "(0 = disable throttle, 1 = Max throttle, 168 = Min throttle)"); 59 "(0 = disable throttle, 1 = Max throttle, 168 = Min throttle)");
57 60
@@ -110,9 +113,9 @@ static int i7300_idle_ioat_start(void)
110static void i7300_idle_ioat_stop(void) 113static void i7300_idle_ioat_stop(void)
111{ 114{
112 int i; 115 int i;
113 u8 sts; 116 u64 sts;
114 117
115 for (i = 0; i < 5; i++) { 118 for (i = 0; i < MAX_STOP_RETRIES; i++) {
116 writeb(IOAT_CHANCMD_RESET, 119 writeb(IOAT_CHANCMD_RESET,
117 ioat_chanbase + IOAT1_CHANCMD_OFFSET); 120 ioat_chanbase + IOAT1_CHANCMD_OFFSET);
118 121
@@ -126,9 +129,10 @@ static void i7300_idle_ioat_stop(void)
126 129
127 } 130 }
128 131
129 if (i == 5) 132 if (i == MAX_STOP_RETRIES) {
130 dprintk("failed to suspend+reset I/O AT after 5 retries\n"); 133 dprintk("failed to stop I/O AT after %d retries\n",
131 134 MAX_STOP_RETRIES);
135 }
132} 136}
133 137
134/* Test I/O AT by copying 1024 byte from 2k to 1k */ 138/* Test I/O AT by copying 1024 byte from 2k to 1k */
@@ -275,7 +279,7 @@ static void __exit i7300_idle_ioat_exit(void)
275 i7300_idle_ioat_stop(); 279 i7300_idle_ioat_stop();
276 280
277 /* Wait for a while for the channel to halt before releasing */ 281 /* Wait for a while for the channel to halt before releasing */
278 for (i = 0; i < 10; i++) { 282 for (i = 0; i < MAX_STOP_RETRIES; i++) {
279 writeb(IOAT_CHANCMD_RESET, 283 writeb(IOAT_CHANCMD_RESET,
280 ioat_chanbase + IOAT1_CHANCMD_OFFSET); 284 ioat_chanbase + IOAT1_CHANCMD_OFFSET);
281 285
@@ -389,9 +393,9 @@ static void i7300_idle_start(void)
389 new_ctl = i7300_idle_thrtctl_saved & ~DIMM_THRTCTL_THRMHUNT; 393 new_ctl = i7300_idle_thrtctl_saved & ~DIMM_THRTCTL_THRMHUNT;
390 pci_write_config_byte(fbd_dev, DIMM_THRTCTL, new_ctl); 394 pci_write_config_byte(fbd_dev, DIMM_THRTCTL, new_ctl);
391 395
392 limit = i7300_idle_thrtlowlm; 396 limit = throttle_low_limit;
393 if (unlikely(limit > MAX_THRTLWLIMIT)) 397 if (unlikely(limit > MAX_THROTTLE_LOW_LIMIT))
394 limit = MAX_THRTLWLIMIT; 398 limit = MAX_THROTTLE_LOW_LIMIT;
395 399
396 pci_write_config_byte(fbd_dev, DIMM_THRTLOW, limit); 400 pci_write_config_byte(fbd_dev, DIMM_THRTLOW, limit);
397 401
@@ -440,7 +444,7 @@ static int i7300_idle_notifier(struct notifier_block *nb, unsigned long val,
440 static ktime_t idle_begin_time; 444 static ktime_t idle_begin_time;
441 static int time_init = 1; 445 static int time_init = 1;
442 446
443 if (!i7300_idle_thrtlowlm) 447 if (!throttle_low_limit)
444 return 0; 448 return 0;
445 449
446 if (unlikely(time_init)) { 450 if (unlikely(time_init)) {
@@ -505,77 +509,8 @@ static struct notifier_block i7300_idle_nb = {
505 .notifier_call = i7300_idle_notifier, 509 .notifier_call = i7300_idle_notifier,
506}; 510};
507 511
508/*
509 * I/O AT controls (PCI bus 0 device 8 function 0)
510 * DIMM controls (PCI bus 0 device 16 function 1)
511 */
512#define IOAT_BUS 0
513#define IOAT_DEVFN PCI_DEVFN(8, 0)
514#define MEMCTL_BUS 0
515#define MEMCTL_DEVFN PCI_DEVFN(16, 1)
516
517struct fbd_ioat {
518 unsigned int vendor;
519 unsigned int ioat_dev;
520};
521
522/*
523 * The i5000 chip-set has the same hooks as the i7300
524 * but support is disabled by default because this driver
525 * has not been validated on that platform.
526 */
527#define SUPPORT_I5000 0
528
529static const struct fbd_ioat fbd_ioat_list[] = {
530 {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB},
531#if SUPPORT_I5000
532 {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT},
533#endif
534 {0, 0}
535};
536
537/* table of devices that work with this driver */
538static const struct pci_device_id pci_tbl[] = {
539 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) },
540#if SUPPORT_I5000
541 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) },
542#endif
543 { } /* Terminating entry */
544};
545
546MODULE_DEVICE_TABLE(pci, pci_tbl); 512MODULE_DEVICE_TABLE(pci, pci_tbl);
547 513
548/* Check for known platforms with I/O-AT */
549static int __init i7300_idle_platform_probe(void)
550{
551 int i;
552
553 fbd_dev = pci_get_bus_and_slot(MEMCTL_BUS, MEMCTL_DEVFN);
554 if (!fbd_dev)
555 return -ENODEV;
556
557 for (i = 0; pci_tbl[i].vendor != 0; i++) {
558 if (fbd_dev->vendor == pci_tbl[i].vendor &&
559 fbd_dev->device == pci_tbl[i].device) {
560 break;
561 }
562 }
563 if (pci_tbl[i].vendor == 0)
564 return -ENODEV;
565
566 ioat_dev = pci_get_bus_and_slot(IOAT_BUS, IOAT_DEVFN);
567 if (!ioat_dev)
568 return -ENODEV;
569
570 for (i = 0; fbd_ioat_list[i].vendor != 0; i++) {
571 if (ioat_dev->vendor == fbd_ioat_list[i].vendor &&
572 ioat_dev->device == fbd_ioat_list[i].ioat_dev) {
573 return 0;
574 }
575 }
576 return -ENODEV;
577}
578
579int stats_open_generic(struct inode *inode, struct file *fp) 514int stats_open_generic(struct inode *inode, struct file *fp)
580{ 515{
581 fp->private_data = inode->i_private; 516 fp->private_data = inode->i_private;
@@ -617,7 +552,7 @@ static int __init i7300_idle_init(void)
617 cpus_clear(idle_cpumask); 552 cpus_clear(idle_cpumask);
618 total_us = 0; 553 total_us = 0;
619 554
620 if (i7300_idle_platform_probe()) 555 if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev))
621 return -ENODEV; 556 return -ENODEV;
622 557
623 if (i7300_idle_thrt_save()) 558 if (i7300_idle_thrt_save())
diff --git a/drivers/ieee1394/dv1394.c b/drivers/ieee1394/dv1394.c
index 2f83543a9dfc..c19f23267157 100644
--- a/drivers/ieee1394/dv1394.c
+++ b/drivers/ieee1394/dv1394.c
@@ -1270,8 +1270,14 @@ static int dv1394_mmap(struct file *file, struct vm_area_struct *vma)
1270 struct video_card *video = file_to_video_card(file); 1270 struct video_card *video = file_to_video_card(file);
1271 int retval = -EINVAL; 1271 int retval = -EINVAL;
1272 1272
1273 /* serialize mmap */ 1273 /*
1274 mutex_lock(&video->mtx); 1274 * We cannot use the blocking variant mutex_lock here because .mmap
1275 * is called with mmap_sem held, while .ioctl, .read, .write acquire
1276 * video->mtx and subsequently call copy_to/from_user which will
1277 * grab mmap_sem in case of a page fault.
1278 */
1279 if (!mutex_trylock(&video->mtx))
1280 return -EAGAIN;
1275 1281
1276 if ( ! video_card_initialized(video) ) { 1282 if ( ! video_card_initialized(video) ) {
1277 retval = do_dv1394_init_default(video); 1283 retval = do_dv1394_init_default(video);
@@ -1828,9 +1834,6 @@ static int dv1394_release(struct inode *inode, struct file *file)
1828 /* OK to free the DMA buffer, no more mappings can exist */ 1834 /* OK to free the DMA buffer, no more mappings can exist */
1829 do_dv1394_shutdown(video, 1); 1835 do_dv1394_shutdown(video, 1);
1830 1836
1831 /* clean up async I/O users */
1832 dv1394_fasync(-1, file, 0);
1833
1834 /* give someone else a turn */ 1837 /* give someone else a turn */
1835 clear_bit(0, &video->open); 1838 clear_bit(0, &video->open);
1836 1839
diff --git a/drivers/ieee1394/hosts.c b/drivers/ieee1394/hosts.c
index 8dd09d850419..237d0c9d69c6 100644
--- a/drivers/ieee1394/hosts.c
+++ b/drivers/ieee1394/hosts.c
@@ -155,11 +155,11 @@ struct hpsb_host *hpsb_alloc_host(struct hpsb_host_driver *drv, size_t extra,
155 memcpy(&h->device, &nodemgr_dev_template_host, sizeof(h->device)); 155 memcpy(&h->device, &nodemgr_dev_template_host, sizeof(h->device));
156 h->device.parent = dev; 156 h->device.parent = dev;
157 set_dev_node(&h->device, dev_to_node(dev)); 157 set_dev_node(&h->device, dev_to_node(dev));
158 snprintf(h->device.bus_id, BUS_ID_SIZE, "fw-host%d", h->id); 158 dev_set_name(&h->device, "fw-host%d", h->id);
159 159
160 h->host_dev.parent = &h->device; 160 h->host_dev.parent = &h->device;
161 h->host_dev.class = &hpsb_host_class; 161 h->host_dev.class = &hpsb_host_class;
162 snprintf(h->host_dev.bus_id, BUS_ID_SIZE, "fw-host%d", h->id); 162 dev_set_name(&h->host_dev, "fw-host%d", h->id);
163 163
164 if (device_register(&h->device)) 164 if (device_register(&h->device))
165 goto fail; 165 goto fail;
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index 2376b729e876..9e39f73282ee 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -826,13 +826,11 @@ static struct node_entry *nodemgr_create_node(octlet_t guid,
826 memcpy(&ne->device, &nodemgr_dev_template_ne, 826 memcpy(&ne->device, &nodemgr_dev_template_ne,
827 sizeof(ne->device)); 827 sizeof(ne->device));
828 ne->device.parent = &host->device; 828 ne->device.parent = &host->device;
829 snprintf(ne->device.bus_id, BUS_ID_SIZE, "%016Lx", 829 dev_set_name(&ne->device, "%016Lx", (unsigned long long)(ne->guid));
830 (unsigned long long)(ne->guid));
831 830
832 ne->node_dev.parent = &ne->device; 831 ne->node_dev.parent = &ne->device;
833 ne->node_dev.class = &nodemgr_ne_class; 832 ne->node_dev.class = &nodemgr_ne_class;
834 snprintf(ne->node_dev.bus_id, BUS_ID_SIZE, "%016Lx", 833 dev_set_name(&ne->node_dev, "%016Lx", (unsigned long long)(ne->guid));
835 (unsigned long long)(ne->guid));
836 834
837 if (device_register(&ne->device)) 835 if (device_register(&ne->device))
838 goto fail_devreg; 836 goto fail_devreg;
@@ -932,13 +930,11 @@ static void nodemgr_register_device(struct node_entry *ne,
932 930
933 ud->device.parent = parent; 931 ud->device.parent = parent;
934 932
935 snprintf(ud->device.bus_id, BUS_ID_SIZE, "%s-%u", 933 dev_set_name(&ud->device, "%s-%u", dev_name(&ne->device), ud->id);
936 ne->device.bus_id, ud->id);
937 934
938 ud->unit_dev.parent = &ud->device; 935 ud->unit_dev.parent = &ud->device;
939 ud->unit_dev.class = &nodemgr_ud_class; 936 ud->unit_dev.class = &nodemgr_ud_class;
940 snprintf(ud->unit_dev.bus_id, BUS_ID_SIZE, "%s-%u", 937 dev_set_name(&ud->unit_dev, "%s-%u", dev_name(&ne->device), ud->id);
941 ne->device.bus_id, ud->id);
942 938
943 if (device_register(&ud->device)) 939 if (device_register(&ud->device))
944 goto fail_devreg; 940 goto fail_devreg;
@@ -953,7 +949,7 @@ static void nodemgr_register_device(struct node_entry *ne,
953fail_classdevreg: 949fail_classdevreg:
954 device_unregister(&ud->device); 950 device_unregister(&ud->device);
955fail_devreg: 951fail_devreg:
956 HPSB_ERR("Failed to create unit %s", ud->device.bus_id); 952 HPSB_ERR("Failed to create unit %s", dev_name(&ud->device));
957} 953}
958 954
959 955
diff --git a/drivers/ieee1394/raw1394.c b/drivers/ieee1394/raw1394.c
index 9f19ac492106..bf7e761c12b1 100644
--- a/drivers/ieee1394/raw1394.c
+++ b/drivers/ieee1394/raw1394.c
@@ -2268,7 +2268,8 @@ static ssize_t raw1394_write(struct file *file, const char __user * buffer,
2268 return -EFAULT; 2268 return -EFAULT;
2269 } 2269 }
2270 2270
2271 mutex_lock(&fi->state_mutex); 2271 if (!mutex_trylock(&fi->state_mutex))
2272 return -EAGAIN;
2272 2273
2273 switch (fi->state) { 2274 switch (fi->state) {
2274 case opened: 2275 case opened:
@@ -2548,7 +2549,8 @@ static int raw1394_mmap(struct file *file, struct vm_area_struct *vma)
2548 struct file_info *fi = file->private_data; 2549 struct file_info *fi = file->private_data;
2549 int ret; 2550 int ret;
2550 2551
2551 mutex_lock(&fi->state_mutex); 2552 if (!mutex_trylock(&fi->state_mutex))
2553 return -EAGAIN;
2552 2554
2553 if (fi->iso_state == RAW1394_ISO_INACTIVE) 2555 if (fi->iso_state == RAW1394_ISO_INACTIVE)
2554 ret = -EINVAL; 2556 ret = -EINVAL;
@@ -2669,7 +2671,8 @@ static long raw1394_ioctl(struct file *file, unsigned int cmd,
2669 break; 2671 break;
2670 } 2672 }
2671 2673
2672 mutex_lock(&fi->state_mutex); 2674 if (!mutex_trylock(&fi->state_mutex))
2675 return -EAGAIN;
2673 2676
2674 switch (fi->iso_state) { 2677 switch (fi->iso_state) {
2675 case RAW1394_ISO_INACTIVE: 2678 case RAW1394_ISO_INACTIVE:
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index d85af1b67027..eb36a81dd09b 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -358,8 +358,6 @@ static int ib_uverbs_event_close(struct inode *inode, struct file *filp)
358 } 358 }
359 spin_unlock_irq(&file->lock); 359 spin_unlock_irq(&file->lock);
360 360
361 ib_uverbs_event_fasync(-1, filp, 0);
362
363 if (file->is_async) { 361 if (file->is_async) {
364 ib_unregister_event_handler(&file->uverbs_file->event_handler); 362 ib_unregister_event_handler(&file->uverbs_file->event_handler);
365 kref_put(&file->uverbs_file->ref, ib_uverbs_release_file); 363 kref_put(&file->uverbs_file->ref, ib_uverbs_release_file);
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 3524bef62be6..1070db330d35 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -235,7 +235,6 @@ static int evdev_release(struct inode *inode, struct file *file)
235 evdev_ungrab(evdev, client); 235 evdev_ungrab(evdev, client);
236 mutex_unlock(&evdev->mutex); 236 mutex_unlock(&evdev->mutex);
237 237
238 evdev_fasync(-1, file, 0);
239 evdev_detach_client(evdev, client); 238 evdev_detach_client(evdev, client);
240 kfree(client); 239 kfree(client);
241 240
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 65d7077a75a1..a85b1485e774 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -244,7 +244,6 @@ static int joydev_release(struct inode *inode, struct file *file)
244 struct joydev_client *client = file->private_data; 244 struct joydev_client *client = file->private_data;
245 struct joydev *joydev = client->joydev; 245 struct joydev *joydev = client->joydev;
246 246
247 joydev_fasync(-1, file, 0);
248 joydev_detach_client(joydev, client); 247 joydev_detach_client(joydev, client);
249 kfree(client); 248 kfree(client);
250 249
diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c
index 82ec6b1b6467..216a559f55ea 100644
--- a/drivers/input/misc/hp_sdc_rtc.c
+++ b/drivers/input/misc/hp_sdc_rtc.c
@@ -71,7 +71,6 @@ static int hp_sdc_rtc_ioctl(struct inode *inode, struct file *file,
71static unsigned int hp_sdc_rtc_poll(struct file *file, poll_table *wait); 71static unsigned int hp_sdc_rtc_poll(struct file *file, poll_table *wait);
72 72
73static int hp_sdc_rtc_open(struct inode *inode, struct file *file); 73static int hp_sdc_rtc_open(struct inode *inode, struct file *file);
74static int hp_sdc_rtc_release(struct inode *inode, struct file *file);
75static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on); 74static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on);
76 75
77static int hp_sdc_rtc_read_proc(char *page, char **start, off_t off, 76static int hp_sdc_rtc_read_proc(char *page, char **start, off_t off,
@@ -414,17 +413,6 @@ static int hp_sdc_rtc_open(struct inode *inode, struct file *file)
414 return 0; 413 return 0;
415} 414}
416 415
417static int hp_sdc_rtc_release(struct inode *inode, struct file *file)
418{
419 /* Turn off interrupts? */
420
421 if (file->f_flags & FASYNC) {
422 hp_sdc_rtc_fasync (-1, file, 0);
423 }
424
425 return 0;
426}
427
428static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on) 416static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on)
429{ 417{
430 return fasync_helper (fd, filp, on, &hp_sdc_rtc_async_queue); 418 return fasync_helper (fd, filp, on, &hp_sdc_rtc_async_queue);
@@ -680,7 +668,6 @@ static const struct file_operations hp_sdc_rtc_fops = {
680 .poll = hp_sdc_rtc_poll, 668 .poll = hp_sdc_rtc_poll,
681 .ioctl = hp_sdc_rtc_ioctl, 669 .ioctl = hp_sdc_rtc_ioctl,
682 .open = hp_sdc_rtc_open, 670 .open = hp_sdc_rtc_open,
683 .release = hp_sdc_rtc_release,
684 .fasync = hp_sdc_rtc_fasync, 671 .fasync = hp_sdc_rtc_fasync,
685}; 672};
686 673
diff --git a/drivers/input/misc/sgi_btns.c b/drivers/input/misc/sgi_btns.c
index ce238f59b3c8..be3a15f5b25d 100644
--- a/drivers/input/misc/sgi_btns.c
+++ b/drivers/input/misc/sgi_btns.c
@@ -174,5 +174,6 @@ static void __exit sgi_buttons_exit(void)
174 platform_driver_unregister(&sgi_buttons_driver); 174 platform_driver_unregister(&sgi_buttons_driver);
175} 175}
176 176
177MODULE_LICENSE("GPL");
177module_init(sgi_buttons_init); 178module_init(sgi_buttons_init);
178module_exit(sgi_buttons_exit); 179module_exit(sgi_buttons_exit);
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig
index f488b6852baf..4e9934259775 100644
--- a/drivers/input/mouse/Kconfig
+++ b/drivers/input/mouse/Kconfig
@@ -25,8 +25,8 @@ config MOUSE_PS2
25 mice with wheels and extra buttons, Microsoft, Logitech or Genius 25 mice with wheels and extra buttons, Microsoft, Logitech or Genius
26 compatible. 26 compatible.
27 27
28 Synaptics TouchPad users might be interested in a specialized 28 Synaptics, ALPS or Elantech TouchPad users might be interested
29 XFree86 driver at: 29 in a specialized Xorg/XFree86 driver at:
30 <http://w1.894.telia.com/~u89404340/touchpad/index.html> 30 <http://w1.894.telia.com/~u89404340/touchpad/index.html>
31 and a new version of GPM at: 31 and a new version of GPM at:
32 <http://www.geocities.com/dt_or/gpm/gpm.html> 32 <http://www.geocities.com/dt_or/gpm/gpm.html>
@@ -87,6 +87,27 @@ config MOUSE_PS2_TRACKPOINT
87 87
88 If unsure, say Y. 88 If unsure, say Y.
89 89
90config MOUSE_PS2_ELANTECH
91 bool "Elantech PS/2 protocol extension"
92 depends on MOUSE_PS2
93 help
94 Say Y here if you have an Elantech PS/2 touchpad connected
95 to your system.
96
97 Note that if you enable this driver you will need an updated
98 X.org Synaptics driver that does not require ABS_PRESSURE
99 reports from the touchpad (i.e. post 1.5.0 version). You can
100 grab a patch for the driver here:
101
102 http://userweb.kernel.org/~dtor/synaptics-no-abspressure.patch
103
104 If unsure, say N.
105
106 This driver exposes some configuration registers via sysfs
107 entries. For further information,
108 see <file:Documentation/input/elantech.txt>.
109
110
90config MOUSE_PS2_TOUCHKIT 111config MOUSE_PS2_TOUCHKIT
91 bool "eGalax TouchKit PS/2 protocol extension" 112 bool "eGalax TouchKit PS/2 protocol extension"
92 depends on MOUSE_PS2 113 depends on MOUSE_PS2
diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile
index 8e6e69097801..96f1dd8037f8 100644
--- a/drivers/input/mouse/Makefile
+++ b/drivers/input/mouse/Makefile
@@ -21,6 +21,7 @@ obj-$(CONFIG_MOUSE_GPIO) += gpio_mouse.o
21psmouse-objs := psmouse-base.o synaptics.o 21psmouse-objs := psmouse-base.o synaptics.o
22 22
23psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o 23psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o
24psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o
24psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o 25psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o
25psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o 26psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o
26psmouse-$(CONFIG_MOUSE_PS2_LIFEBOOK) += lifebook.o 27psmouse-$(CONFIG_MOUSE_PS2_LIFEBOOK) += lifebook.o
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
new file mode 100644
index 000000000000..b9a25d57bc5e
--- /dev/null
+++ b/drivers/input/mouse/elantech.c
@@ -0,0 +1,674 @@
1/*
2 * Elantech Touchpad driver (v5)
3 *
4 * Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
9 *
10 * Trademarks are the property of their respective owners.
11 */
12
13#include <linux/delay.h>
14#include <linux/module.h>
15#include <linux/input.h>
16#include <linux/serio.h>
17#include <linux/libps2.h>
18#include "psmouse.h"
19#include "elantech.h"
20
21#define elantech_debug(format, arg...) \
22 do { \
23 if (etd->debug) \
24 printk(KERN_DEBUG format, ##arg); \
25 } while (0)
26
27/*
28 * Send a Synaptics style sliced query command
29 */
30static int synaptics_send_cmd(struct psmouse *psmouse, unsigned char c,
31 unsigned char *param)
32{
33 if (psmouse_sliced_command(psmouse, c) ||
34 ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO)) {
35 pr_err("elantech.c: synaptics_send_cmd query 0x%02x failed.\n", c);
36 return -1;
37 }
38
39 return 0;
40}
41
42/*
43 * A retrying version of ps2_command
44 */
45static int elantech_ps2_command(struct psmouse *psmouse,
46 unsigned char *param, int command)
47{
48 struct ps2dev *ps2dev = &psmouse->ps2dev;
49 struct elantech_data *etd = psmouse->private;
50 int rc;
51 int tries = ETP_PS2_COMMAND_TRIES;
52
53 do {
54 rc = ps2_command(ps2dev, param, command);
55 if (rc == 0)
56 break;
57 tries--;
58 elantech_debug("elantech.c: retrying ps2 command 0x%02x (%d).\n",
59 command, tries);
60 msleep(ETP_PS2_COMMAND_DELAY);
61 } while (tries > 0);
62
63 if (rc)
64 pr_err("elantech.c: ps2 command 0x%02x failed.\n", command);
65
66 return rc;
67}
68
69/*
70 * Send an Elantech style special command to read a value from a register
71 */
72static int elantech_read_reg(struct psmouse *psmouse, unsigned char reg,
73 unsigned char *val)
74{
75 struct elantech_data *etd = psmouse->private;
76 unsigned char param[3];
77 int rc = 0;
78
79 if (reg < 0x10 || reg > 0x26)
80 return -1;
81
82 if (reg > 0x11 && reg < 0x20)
83 return -1;
84
85 switch (etd->hw_version) {
86 case 1:
87 if (psmouse_sliced_command(psmouse, ETP_REGISTER_READ) ||
88 psmouse_sliced_command(psmouse, reg) ||
89 ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETINFO)) {
90 rc = -1;
91 }
92 break;
93
94 case 2:
95 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
96 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READ) ||
97 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
98 elantech_ps2_command(psmouse, NULL, reg) ||
99 elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO)) {
100 rc = -1;
101 }
102 break;
103 }
104
105 if (rc)
106 pr_err("elantech.c: failed to read register 0x%02x.\n", reg);
107 else
108 *val = param[0];
109
110 return rc;
111}
112
113/*
114 * Send an Elantech style special command to write a register with a value
115 */
116static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg,
117 unsigned char val)
118{
119 struct elantech_data *etd = psmouse->private;
120 int rc = 0;
121
122 if (reg < 0x10 || reg > 0x26)
123 return -1;
124
125 if (reg > 0x11 && reg < 0x20)
126 return -1;
127
128 switch (etd->hw_version) {
129 case 1:
130 if (psmouse_sliced_command(psmouse, ETP_REGISTER_WRITE) ||
131 psmouse_sliced_command(psmouse, reg) ||
132 psmouse_sliced_command(psmouse, val) ||
133 ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETSCALE11)) {
134 rc = -1;
135 }
136 break;
137
138 case 2:
139 if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
140 elantech_ps2_command(psmouse, NULL, ETP_REGISTER_WRITE) ||
141 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
142 elantech_ps2_command(psmouse, NULL, reg) ||
143 elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
144 elantech_ps2_command(psmouse, NULL, val) ||
145 elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) {
146 rc = -1;
147 }
148 break;
149 }
150
151 if (rc)
152 pr_err("elantech.c: failed to write register 0x%02x with value 0x%02x.\n",
153 reg, val);
154
155 return rc;
156}
157
158/*
159 * Dump a complete mouse movement packet to the syslog
160 */
161static void elantech_packet_dump(unsigned char *packet, int size)
162{
163 int i;
164
165 printk(KERN_DEBUG "elantech.c: PS/2 packet [");
166 for (i = 0; i < size; i++)
167 printk("%s0x%02x ", (i) ? ", " : " ", packet[i]);
168 printk("]\n");
169}
170
171/*
172 * Interpret complete data packets and report absolute mode input events for
173 * hardware version 1. (4 byte packets)
174 */
175static void elantech_report_absolute_v1(struct psmouse *psmouse)
176{
177 struct input_dev *dev = psmouse->dev;
178 struct elantech_data *etd = psmouse->private;
179 unsigned char *packet = psmouse->packet;
180 int fingers;
181
182 if (etd->fw_version_maj == 0x01) {
183 /* byte 0: D U p1 p2 1 p3 R L
184 byte 1: f 0 th tw x9 x8 y9 y8 */
185 fingers = ((packet[1] & 0x80) >> 7) +
186 ((packet[1] & 0x30) >> 4);
187 } else {
188 /* byte 0: n1 n0 p2 p1 1 p3 R L
189 byte 1: 0 0 0 0 x9 x8 y9 y8 */
190 fingers = (packet[0] & 0xc0) >> 6;
191 }
192
193 input_report_key(dev, BTN_TOUCH, fingers != 0);
194
195 /* byte 2: x7 x6 x5 x4 x3 x2 x1 x0
196 byte 3: y7 y6 y5 y4 y3 y2 y1 y0 */
197 if (fingers) {
198 input_report_abs(dev, ABS_X,
199 ((packet[1] & 0x0c) << 6) | packet[2]);
200 input_report_abs(dev, ABS_Y, ETP_YMAX_V1 -
201 (((packet[1] & 0x03) << 8) | packet[3]));
202 }
203
204 input_report_key(dev, BTN_TOOL_FINGER, fingers == 1);
205 input_report_key(dev, BTN_TOOL_DOUBLETAP, fingers == 2);
206 input_report_key(dev, BTN_TOOL_TRIPLETAP, fingers == 3);
207 input_report_key(dev, BTN_LEFT, packet[0] & 0x01);
208 input_report_key(dev, BTN_RIGHT, packet[0] & 0x02);
209
210 if ((etd->fw_version_maj == 0x01) &&
211 (etd->capabilities & ETP_CAP_HAS_ROCKER)) {
212 /* rocker up */
213 input_report_key(dev, BTN_FORWARD, packet[0] & 0x40);
214 /* rocker down */
215 input_report_key(dev, BTN_BACK, packet[0] & 0x80);
216 }
217
218 input_sync(dev);
219}
220
221/*
222 * Interpret complete data packets and report absolute mode input events for
223 * hardware version 2. (6 byte packets)
224 */
225static void elantech_report_absolute_v2(struct psmouse *psmouse)
226{
227 struct input_dev *dev = psmouse->dev;
228 unsigned char *packet = psmouse->packet;
229 int fingers, x1, y1, x2, y2;
230
231 /* byte 0: n1 n0 . . . . R L */
232 fingers = (packet[0] & 0xc0) >> 6;
233 input_report_key(dev, BTN_TOUCH, fingers != 0);
234
235 switch (fingers) {
236 case 1:
237 /* byte 1: x15 x14 x13 x12 x11 x10 x9 x8
238 byte 2: x7 x6 x5 x4 x4 x2 x1 x0 */
239 input_report_abs(dev, ABS_X, (packet[1] << 8) | packet[2]);
240 /* byte 4: y15 y14 y13 y12 y11 y10 y8 y8
241 byte 5: y7 y6 y5 y4 y3 y2 y1 y0 */
242 input_report_abs(dev, ABS_Y, ETP_YMAX_V2 -
243 ((packet[4] << 8) | packet[5]));
244 break;
245
246 case 2:
247 /* The coordinate of each finger is reported separately with
248 a lower resolution for two finger touches */
249 /* byte 0: . . ay8 ax8 . . . .
250 byte 1: ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0 */
251 x1 = ((packet[0] & 0x10) << 4) | packet[1];
252 /* byte 2: ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0 */
253 y1 = ETP_2FT_YMAX - (((packet[0] & 0x20) << 3) | packet[2]);
254 /* byte 3: . . by8 bx8 . . . .
255 byte 4: bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0 */
256 x2 = ((packet[3] & 0x10) << 4) | packet[4];
257 /* byte 5: by7 by8 by5 by4 by3 by2 by1 by0 */
258 y2 = ETP_2FT_YMAX - (((packet[3] & 0x20) << 3) | packet[5]);
259 /* For compatibility with the X Synaptics driver scale up one
260 coordinate and report as ordinary mouse movent */
261 input_report_abs(dev, ABS_X, x1 << 2);
262 input_report_abs(dev, ABS_Y, y1 << 2);
263 /* For compatibility with the proprietary X Elantech driver
264 report both coordinates as hat coordinates */
265 input_report_abs(dev, ABS_HAT0X, x1);
266 input_report_abs(dev, ABS_HAT0Y, y1);
267 input_report_abs(dev, ABS_HAT1X, x2);
268 input_report_abs(dev, ABS_HAT1Y, y2);
269 break;
270 }
271
272 input_report_key(dev, BTN_TOOL_FINGER, fingers == 1);
273 input_report_key(dev, BTN_TOOL_DOUBLETAP, fingers == 2);
274 input_report_key(dev, BTN_TOOL_TRIPLETAP, fingers == 3);
275 input_report_key(dev, BTN_LEFT, packet[0] & 0x01);
276 input_report_key(dev, BTN_RIGHT, packet[0] & 0x02);
277
278 input_sync(dev);
279}
280
281static int elantech_check_parity_v1(struct psmouse *psmouse)
282{
283 struct elantech_data *etd = psmouse->private;
284 unsigned char *packet = psmouse->packet;
285 unsigned char p1, p2, p3;
286
287 /* Parity bits are placed differently */
288 if (etd->fw_version_maj == 0x01) {
289 /* byte 0: D U p1 p2 1 p3 R L */
290 p1 = (packet[0] & 0x20) >> 5;
291 p2 = (packet[0] & 0x10) >> 4;
292 } else {
293 /* byte 0: n1 n0 p2 p1 1 p3 R L */
294 p1 = (packet[0] & 0x10) >> 4;
295 p2 = (packet[0] & 0x20) >> 5;
296 }
297
298 p3 = (packet[0] & 0x04) >> 2;
299
300 return etd->parity[packet[1]] == p1 &&
301 etd->parity[packet[2]] == p2 &&
302 etd->parity[packet[3]] == p3;
303}
304
305/*
306 * Process byte stream from mouse and handle complete packets
307 */
308static psmouse_ret_t elantech_process_byte(struct psmouse *psmouse)
309{
310 struct elantech_data *etd = psmouse->private;
311
312 if (psmouse->pktcnt < psmouse->pktsize)
313 return PSMOUSE_GOOD_DATA;
314
315 if (etd->debug > 1)
316 elantech_packet_dump(psmouse->packet, psmouse->pktsize);
317
318 switch (etd->hw_version) {
319 case 1:
320 if (etd->paritycheck && !elantech_check_parity_v1(psmouse))
321 return PSMOUSE_BAD_DATA;
322
323 elantech_report_absolute_v1(psmouse);
324 break;
325
326 case 2:
327 /* We don't know how to check parity in protocol v2 */
328 elantech_report_absolute_v2(psmouse);
329 break;
330 }
331
332 return PSMOUSE_FULL_PACKET;
333}
334
335/*
336 * Put the touchpad into absolute mode
337 */
338static int elantech_set_absolute_mode(struct psmouse *psmouse)
339{
340 struct elantech_data *etd = psmouse->private;
341 unsigned char val;
342 int tries = ETP_READ_BACK_TRIES;
343 int rc = 0;
344
345 switch (etd->hw_version) {
346 case 1:
347 etd->reg_10 = 0x16;
348 etd->reg_11 = 0x8f;
349 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) ||
350 elantech_write_reg(psmouse, 0x11, etd->reg_11)) {
351 rc = -1;
352 }
353 break;
354
355 case 2:
356 /* Windows driver values */
357 etd->reg_10 = 0x54;
358 etd->reg_11 = 0x88; /* 0x8a */
359 etd->reg_21 = 0x60; /* 0x00 */
360 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) ||
361 elantech_write_reg(psmouse, 0x11, etd->reg_11) ||
362 elantech_write_reg(psmouse, 0x21, etd->reg_21)) {
363 rc = -1;
364 break;
365 }
366 /*
367 * Read back reg 0x10. The touchpad is probably initalising
368 * and not ready until we read back the value we just wrote.
369 */
370 do {
371 rc = elantech_read_reg(psmouse, 0x10, &val);
372 if (rc == 0)
373 break;
374 tries--;
375 elantech_debug("elantech.c: retrying read (%d).\n",
376 tries);
377 msleep(ETP_READ_BACK_DELAY);
378 } while (tries > 0);
379 if (rc)
380 pr_err("elantech.c: failed to read back register 0x10.\n");
381 break;
382 }
383
384 if (rc)
385 pr_err("elantech.c: failed to initialise registers.\n");
386
387 return rc;
388}
389
390/*
391 * Set the appropriate event bits for the input subsystem
392 */
393static void elantech_set_input_params(struct psmouse *psmouse)
394{
395 struct input_dev *dev = psmouse->dev;
396 struct elantech_data *etd = psmouse->private;
397
398 __set_bit(EV_KEY, dev->evbit);
399 __set_bit(EV_ABS, dev->evbit);
400
401 __set_bit(BTN_LEFT, dev->keybit);
402 __set_bit(BTN_RIGHT, dev->keybit);
403
404 __set_bit(BTN_TOUCH, dev->keybit);
405 __set_bit(BTN_TOOL_FINGER, dev->keybit);
406 __set_bit(BTN_TOOL_DOUBLETAP, dev->keybit);
407 __set_bit(BTN_TOOL_TRIPLETAP, dev->keybit);
408
409 switch (etd->hw_version) {
410 case 1:
411 /* Rocker button */
412 if ((etd->fw_version_maj == 0x01) &&
413 (etd->capabilities & ETP_CAP_HAS_ROCKER)) {
414 __set_bit(BTN_FORWARD, dev->keybit);
415 __set_bit(BTN_BACK, dev->keybit);
416 }
417 input_set_abs_params(dev, ABS_X, ETP_XMIN_V1, ETP_XMAX_V1, 0, 0);
418 input_set_abs_params(dev, ABS_Y, ETP_YMIN_V1, ETP_YMAX_V1, 0, 0);
419 break;
420
421 case 2:
422 input_set_abs_params(dev, ABS_X, ETP_XMIN_V2, ETP_XMAX_V2, 0, 0);
423 input_set_abs_params(dev, ABS_Y, ETP_YMIN_V2, ETP_YMAX_V2, 0, 0);
424 input_set_abs_params(dev, ABS_HAT0X, ETP_2FT_XMIN, ETP_2FT_XMAX, 0, 0);
425 input_set_abs_params(dev, ABS_HAT0Y, ETP_2FT_YMIN, ETP_2FT_YMAX, 0, 0);
426 input_set_abs_params(dev, ABS_HAT1X, ETP_2FT_XMIN, ETP_2FT_XMAX, 0, 0);
427 input_set_abs_params(dev, ABS_HAT1Y, ETP_2FT_YMIN, ETP_2FT_YMAX, 0, 0);
428 break;
429 }
430}
431
432struct elantech_attr_data {
433 size_t field_offset;
434 unsigned char reg;
435};
436
437/*
438 * Display a register value by reading a sysfs entry
439 */
440static ssize_t elantech_show_int_attr(struct psmouse *psmouse, void *data,
441 char *buf)
442{
443 struct elantech_data *etd = psmouse->private;
444 struct elantech_attr_data *attr = data;
445 unsigned char *reg = (unsigned char *) etd + attr->field_offset;
446 int rc = 0;
447
448 if (attr->reg)
449 rc = elantech_read_reg(psmouse, attr->reg, reg);
450
451 return sprintf(buf, "0x%02x\n", (attr->reg && rc) ? -1 : *reg);
452}
453
454/*
455 * Write a register value by writing a sysfs entry
456 */
457static ssize_t elantech_set_int_attr(struct psmouse *psmouse,
458 void *data, const char *buf, size_t count)
459{
460 struct elantech_data *etd = psmouse->private;
461 struct elantech_attr_data *attr = data;
462 unsigned char *reg = (unsigned char *) etd + attr->field_offset;
463 unsigned long value;
464 int err;
465
466 err = strict_strtoul(buf, 16, &value);
467 if (err)
468 return err;
469
470 if (value > 0xff)
471 return -EINVAL;
472
473 /* Do we need to preserve some bits for version 2 hardware too? */
474 if (etd->hw_version == 1) {
475 if (attr->reg == 0x10)
476 /* Force absolute mode always on */
477 value |= ETP_R10_ABSOLUTE_MODE;
478 else if (attr->reg == 0x11)
479 /* Force 4 byte mode always on */
480 value |= ETP_R11_4_BYTE_MODE;
481 }
482
483 if (!attr->reg || elantech_write_reg(psmouse, attr->reg, value) == 0)
484 *reg = value;
485
486 return count;
487}
488
489#define ELANTECH_INT_ATTR(_name, _register) \
490 static struct elantech_attr_data elantech_attr_##_name = { \
491 .field_offset = offsetof(struct elantech_data, _name), \
492 .reg = _register, \
493 }; \
494 PSMOUSE_DEFINE_ATTR(_name, S_IWUSR | S_IRUGO, \
495 &elantech_attr_##_name, \
496 elantech_show_int_attr, \
497 elantech_set_int_attr)
498
499ELANTECH_INT_ATTR(reg_10, 0x10);
500ELANTECH_INT_ATTR(reg_11, 0x11);
501ELANTECH_INT_ATTR(reg_20, 0x20);
502ELANTECH_INT_ATTR(reg_21, 0x21);
503ELANTECH_INT_ATTR(reg_22, 0x22);
504ELANTECH_INT_ATTR(reg_23, 0x23);
505ELANTECH_INT_ATTR(reg_24, 0x24);
506ELANTECH_INT_ATTR(reg_25, 0x25);
507ELANTECH_INT_ATTR(reg_26, 0x26);
508ELANTECH_INT_ATTR(debug, 0);
509ELANTECH_INT_ATTR(paritycheck, 0);
510
511static struct attribute *elantech_attrs[] = {
512 &psmouse_attr_reg_10.dattr.attr,
513 &psmouse_attr_reg_11.dattr.attr,
514 &psmouse_attr_reg_20.dattr.attr,
515 &psmouse_attr_reg_21.dattr.attr,
516 &psmouse_attr_reg_22.dattr.attr,
517 &psmouse_attr_reg_23.dattr.attr,
518 &psmouse_attr_reg_24.dattr.attr,
519 &psmouse_attr_reg_25.dattr.attr,
520 &psmouse_attr_reg_26.dattr.attr,
521 &psmouse_attr_debug.dattr.attr,
522 &psmouse_attr_paritycheck.dattr.attr,
523 NULL
524};
525
526static struct attribute_group elantech_attr_group = {
527 .attrs = elantech_attrs,
528};
529
530/*
531 * Use magic knock to detect Elantech touchpad
532 */
533int elantech_detect(struct psmouse *psmouse, int set_properties)
534{
535 struct ps2dev *ps2dev = &psmouse->ps2dev;
536 unsigned char param[3];
537
538 ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_RESET_DIS);
539
540 if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) ||
541 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) ||
542 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) ||
543 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) ||
544 ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) {
545 pr_err("elantech.c: sending Elantech magic knock failed.\n");
546 return -1;
547 }
548
549 /*
550 * Report this in case there are Elantech models that use a different
551 * set of magic numbers
552 */
553 if (param[0] != 0x3c || param[1] != 0x03 || param[2] != 0xc8) {
554 pr_info("elantech.c: unexpected magic knock result 0x%02x, 0x%02x, 0x%02x.\n",
555 param[0], param[1], param[2]);
556 return -1;
557 }
558
559 if (set_properties) {
560 psmouse->vendor = "Elantech";
561 psmouse->name = "Touchpad";
562 }
563
564 return 0;
565}
566
567/*
568 * Clean up sysfs entries when disconnecting
569 */
570static void elantech_disconnect(struct psmouse *psmouse)
571{
572 sysfs_remove_group(&psmouse->ps2dev.serio->dev.kobj,
573 &elantech_attr_group);
574 kfree(psmouse->private);
575 psmouse->private = NULL;
576}
577
578/*
579 * Put the touchpad back into absolute mode when reconnecting
580 */
581static int elantech_reconnect(struct psmouse *psmouse)
582{
583 if (elantech_detect(psmouse, 0))
584 return -1;
585
586 if (elantech_set_absolute_mode(psmouse)) {
587 pr_err("elantech.c: failed to put touchpad back into absolute mode.\n");
588 return -1;
589 }
590
591 return 0;
592}
593
594/*
595 * Initialize the touchpad and create sysfs entries
596 */
597int elantech_init(struct psmouse *psmouse)
598{
599 struct elantech_data *etd;
600 int i, error;
601 unsigned char param[3];
602
603 etd = kzalloc(sizeof(struct elantech_data), GFP_KERNEL);
604 psmouse->private = etd;
605 if (!etd)
606 return -1;
607
608 etd->parity[0] = 1;
609 for (i = 1; i < 256; i++)
610 etd->parity[i] = etd->parity[i & (i - 1)] ^ 1;
611
612 /*
613 * Find out what version hardware this is
614 */
615 if (synaptics_send_cmd(psmouse, ETP_FW_VERSION_QUERY, param)) {
616 pr_err("elantech.c: failed to query firmware version.\n");
617 goto init_fail;
618 }
619 pr_info("elantech.c: Elantech version query result 0x%02x, 0x%02x, 0x%02x.\n",
620 param[0], param[1], param[2]);
621 etd->fw_version_maj = param[0];
622 etd->fw_version_min = param[2];
623
624 /*
625 * Assume every version greater than this is new EeePC style
626 * hardware with 6 byte packets
627 */
628 if (etd->fw_version_maj >= 0x02 && etd->fw_version_min >= 0x30) {
629 etd->hw_version = 2;
630 /* For now show extra debug information */
631 etd->debug = 1;
632 /* Don't know how to do parity checking for version 2 */
633 etd->paritycheck = 0;
634 } else {
635 etd->hw_version = 1;
636 etd->paritycheck = 1;
637 }
638 pr_info("elantech.c: assuming hardware version %d, firmware version %d.%d\n",
639 etd->hw_version, etd->fw_version_maj, etd->fw_version_min);
640
641 if (synaptics_send_cmd(psmouse, ETP_CAPABILITIES_QUERY, param)) {
642 pr_err("elantech.c: failed to query capabilities.\n");
643 goto init_fail;
644 }
645 pr_info("elantech.c: Synaptics capabilities query result 0x%02x, 0x%02x, 0x%02x.\n",
646 param[0], param[1], param[2]);
647 etd->capabilities = param[0];
648
649 if (elantech_set_absolute_mode(psmouse)) {
650 pr_err("elantech.c: failed to put touchpad into absolute mode.\n");
651 goto init_fail;
652 }
653
654 elantech_set_input_params(psmouse);
655
656 error = sysfs_create_group(&psmouse->ps2dev.serio->dev.kobj,
657 &elantech_attr_group);
658 if (error) {
659 pr_err("elantech.c: failed to create sysfs attributes, error: %d.\n",
660 error);
661 goto init_fail;
662 }
663
664 psmouse->protocol_handler = elantech_process_byte;
665 psmouse->disconnect = elantech_disconnect;
666 psmouse->reconnect = elantech_reconnect;
667 psmouse->pktsize = etd->hw_version == 2 ? 6 : 4;
668
669 return 0;
670
671 init_fail:
672 kfree(etd);
673 return -1;
674}
diff --git a/drivers/input/mouse/elantech.h b/drivers/input/mouse/elantech.h
new file mode 100644
index 000000000000..bee282b540bc
--- /dev/null
+++ b/drivers/input/mouse/elantech.h
@@ -0,0 +1,124 @@
1/*
2 * Elantech Touchpad driver (v5)
3 *
4 * Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
9 *
10 * Trademarks are the property of their respective owners.
11 */
12
13#ifndef _ELANTECH_H
14#define _ELANTECH_H
15
16/*
17 * Command values for Synaptics style queries
18 */
19#define ETP_FW_VERSION_QUERY 0x01
20#define ETP_CAPABILITIES_QUERY 0x02
21
22/*
23 * Command values for register reading or writing
24 */
25#define ETP_REGISTER_READ 0x10
26#define ETP_REGISTER_WRITE 0x11
27
28/*
29 * Hardware version 2 custom PS/2 command value
30 */
31#define ETP_PS2_CUSTOM_COMMAND 0xf8
32
33/*
34 * Times to retry a ps2_command and millisecond delay between tries
35 */
36#define ETP_PS2_COMMAND_TRIES 3
37#define ETP_PS2_COMMAND_DELAY 500
38
39/*
40 * Times to try to read back a register and millisecond delay between tries
41 */
42#define ETP_READ_BACK_TRIES 5
43#define ETP_READ_BACK_DELAY 2000
44
45/*
46 * Register bitmasks for hardware version 1
47 */
48#define ETP_R10_ABSOLUTE_MODE 0x04
49#define ETP_R11_4_BYTE_MODE 0x02
50
51/*
52 * Capability bitmasks
53 */
54#define ETP_CAP_HAS_ROCKER 0x04
55
56/*
57 * One hard to find application note states that X axis range is 0 to 576
58 * and Y axis range is 0 to 384 for harware version 1.
59 * Edge fuzz might be necessary because of bezel around the touchpad
60 */
61#define ETP_EDGE_FUZZ_V1 32
62
63#define ETP_XMIN_V1 ( 0 + ETP_EDGE_FUZZ_V1)
64#define ETP_XMAX_V1 (576 - ETP_EDGE_FUZZ_V1)
65#define ETP_YMIN_V1 ( 0 + ETP_EDGE_FUZZ_V1)
66#define ETP_YMAX_V1 (384 - ETP_EDGE_FUZZ_V1)
67
68/*
69 * It seems the resolution for hardware version 2 doubled.
70 * Hence the X and Y ranges are doubled too.
71 * The bezel around the pad also appears to be smaller
72 */
73#define ETP_EDGE_FUZZ_V2 8
74
75#define ETP_XMIN_V2 ( 0 + ETP_EDGE_FUZZ_V2)
76#define ETP_XMAX_V2 (1152 - ETP_EDGE_FUZZ_V2)
77#define ETP_YMIN_V2 ( 0 + ETP_EDGE_FUZZ_V2)
78#define ETP_YMAX_V2 ( 768 - ETP_EDGE_FUZZ_V2)
79
80/*
81 * For two finger touches the coordinate of each finger gets reported
82 * separately but with reduced resolution.
83 */
84#define ETP_2FT_FUZZ 4
85
86#define ETP_2FT_XMIN ( 0 + ETP_2FT_FUZZ)
87#define ETP_2FT_XMAX (288 - ETP_2FT_FUZZ)
88#define ETP_2FT_YMIN ( 0 + ETP_2FT_FUZZ)
89#define ETP_2FT_YMAX (192 - ETP_2FT_FUZZ)
90
91struct elantech_data {
92 unsigned char reg_10;
93 unsigned char reg_11;
94 unsigned char reg_20;
95 unsigned char reg_21;
96 unsigned char reg_22;
97 unsigned char reg_23;
98 unsigned char reg_24;
99 unsigned char reg_25;
100 unsigned char reg_26;
101 unsigned char debug;
102 unsigned char capabilities;
103 unsigned char fw_version_maj;
104 unsigned char fw_version_min;
105 unsigned char hw_version;
106 unsigned char paritycheck;
107 unsigned char parity[256];
108};
109
110#ifdef CONFIG_MOUSE_PS2_ELANTECH
111int elantech_detect(struct psmouse *psmouse, int set_properties);
112int elantech_init(struct psmouse *psmouse);
113#else
114static inline int elantech_detect(struct psmouse *psmouse, int set_properties)
115{
116 return -ENOSYS;
117}
118static inline int elantech_init(struct psmouse *psmouse)
119{
120 return -ENOSYS;
121}
122#endif /* CONFIG_MOUSE_PS2_ELANTECH */
123
124#endif
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 126e977e199e..f8f86de694bb 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -29,6 +29,7 @@
29#include "lifebook.h" 29#include "lifebook.h"
30#include "trackpoint.h" 30#include "trackpoint.h"
31#include "touchkit_ps2.h" 31#include "touchkit_ps2.h"
32#include "elantech.h"
32 33
33#define DRIVER_DESC "PS/2 mouse driver" 34#define DRIVER_DESC "PS/2 mouse driver"
34 35
@@ -650,6 +651,19 @@ static int psmouse_extensions(struct psmouse *psmouse,
650 max_proto = PSMOUSE_IMEX; 651 max_proto = PSMOUSE_IMEX;
651 } 652 }
652 653
654/*
655 * Try Elantech touchpad.
656 */
657 if (max_proto > PSMOUSE_IMEX &&
658 elantech_detect(psmouse, set_properties) == 0) {
659 if (!set_properties || elantech_init(psmouse) == 0)
660 return PSMOUSE_ELANTECH;
661/*
662 * Init failed, try basic relative protocols
663 */
664 max_proto = PSMOUSE_IMEX;
665 }
666
653 if (max_proto > PSMOUSE_IMEX) { 667 if (max_proto > PSMOUSE_IMEX) {
654 if (genius_detect(psmouse, set_properties) == 0) 668 if (genius_detect(psmouse, set_properties) == 0)
655 return PSMOUSE_GENPS; 669 return PSMOUSE_GENPS;
@@ -789,6 +803,15 @@ static const struct psmouse_protocol psmouse_protocols[] = {
789 .detect = hgpk_detect, 803 .detect = hgpk_detect,
790 }, 804 },
791#endif 805#endif
806#ifdef CONFIG_MOUSE_PS2_ELANTECH
807 {
808 .type = PSMOUSE_ELANTECH,
809 .name = "ETPS/2",
810 .alias = "elantech",
811 .detect = elantech_detect,
812 .init = elantech_init,
813 },
814 #endif
792 { 815 {
793 .type = PSMOUSE_CORTRON, 816 .type = PSMOUSE_CORTRON,
794 .name = "CortronPS/2", 817 .name = "CortronPS/2",
diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h
index 8b608a1cdd12..54ed267894bd 100644
--- a/drivers/input/mouse/psmouse.h
+++ b/drivers/input/mouse/psmouse.h
@@ -90,6 +90,7 @@ enum psmouse_type {
90 PSMOUSE_TOUCHKIT_PS2, 90 PSMOUSE_TOUCHKIT_PS2,
91 PSMOUSE_CORTRON, 91 PSMOUSE_CORTRON,
92 PSMOUSE_HGPK, 92 PSMOUSE_HGPK,
93 PSMOUSE_ELANTECH,
93 PSMOUSE_AUTO /* This one should always be last */ 94 PSMOUSE_AUTO /* This one should always be last */
94}; 95};
95 96
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 8137e50ded87..d8c056fe7e98 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -519,7 +519,6 @@ static int mousedev_release(struct inode *inode, struct file *file)
519 struct mousedev_client *client = file->private_data; 519 struct mousedev_client *client = file->private_data;
520 struct mousedev *mousedev = client->mousedev; 520 struct mousedev *mousedev = client->mousedev;
521 521
522 mousedev_fasync(-1, file, 0);
523 mousedev_detach_client(mousedev, client); 522 mousedev_detach_client(mousedev, client);
524 kfree(client); 523 kfree(client);
525 524
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index a321aea2c7b5..eec375cd10e6 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -135,6 +135,14 @@ static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = {
135 DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), 135 DMI_MATCH(DMI_PRODUCT_VERSION, "5a"),
136 }, 136 },
137 }, 137 },
138 {
139 .ident = "Blue FB5601",
140 .matches = {
141 DMI_MATCH(DMI_SYS_VENDOR, "blue"),
142 DMI_MATCH(DMI_PRODUCT_NAME, "FB5601"),
143 DMI_MATCH(DMI_PRODUCT_VERSION, "M606"),
144 },
145 },
138 { } 146 { }
139}; 147};
140 148
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c
index 470770c09260..06bbd0e74c6f 100644
--- a/drivers/input/serio/serio_raw.c
+++ b/drivers/input/serio/serio_raw.c
@@ -135,7 +135,6 @@ static int serio_raw_release(struct inode *inode, struct file *file)
135 135
136 mutex_lock(&serio_raw_mutex); 136 mutex_lock(&serio_raw_mutex);
137 137
138 serio_raw_fasync(-1, file, 0);
139 serio_raw_cleanup(serio_raw); 138 serio_raw_cleanup(serio_raw);
140 139
141 mutex_unlock(&serio_raw_mutex); 140 mutex_unlock(&serio_raw_mutex);
diff --git a/drivers/leds/leds-da903x.c b/drivers/leds/leds-da903x.c
index f1fddb18d70d..1f3cc512eff8 100644
--- a/drivers/leds/leds-da903x.c
+++ b/drivers/leds/leds-da903x.c
@@ -17,6 +17,7 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19#include <linux/leds.h> 19#include <linux/leds.h>
20#include <linux/workqueue.h>
20#include <linux/mfd/da903x.h> 21#include <linux/mfd/da903x.h>
21 22
22#define DA9030_LED1_CONTROL 0x20 23#define DA9030_LED1_CONTROL 0x20
@@ -57,7 +58,7 @@ static void da903x_led_work(struct work_struct *work)
57 offset = DA9030_LED_OFFSET(led->id); 58 offset = DA9030_LED_OFFSET(led->id);
58 val = led->flags & ~0x87; 59 val = led->flags & ~0x87;
59 val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ 60 val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */
60 val |= (led->new_brightness >> 5) & 0x7; /* PWM<2:0> */ 61 val |= (0x7 - (led->new_brightness >> 5)) & 0x7; /* PWM<2:0> */
61 da903x_write(led->master, DA9030_LED1_CONTROL + offset, val); 62 da903x_write(led->master, DA9030_LED1_CONTROL + offset, val);
62 break; 63 break;
63 case DA9030_ID_VIBRA: 64 case DA9030_ID_VIBRA:
diff --git a/drivers/leds/leds-hp-disk.c b/drivers/leds/leds-hp-disk.c
index 53a25b1c2dae..44fa757d8254 100644
--- a/drivers/leds/leds-hp-disk.c
+++ b/drivers/leds/leds-hp-disk.c
@@ -27,7 +27,6 @@
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/input.h> 28#include <linux/input.h>
29#include <linux/kthread.h> 29#include <linux/kthread.h>
30#include <linux/version.h>
31#include <linux/leds.h> 30#include <linux/leds.h>
32#include <acpi/acpi_drivers.h> 31#include <acpi/acpi_drivers.h>
33 32
@@ -49,7 +48,7 @@ static struct acpi_hpled adev;
49 48
50static acpi_status hpled_acpi_write(acpi_handle handle, int reg) 49static acpi_status hpled_acpi_write(acpi_handle handle, int reg)
51{ 50{
52 unsigned long ret; /* Not used when writing */ 51 unsigned long long ret; /* Not used when writing */
53 union acpi_object in_obj[1]; 52 union acpi_object in_obj[1];
54 struct acpi_object_list args = { 1, in_obj }; 53 struct acpi_object_list args = { 1, in_obj };
55 54
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index 92dcc06832a4..9d7b53ed75b2 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -656,9 +656,10 @@ static void do_failures(struct mirror_set *ms, struct bio_list *failures)
656 return; 656 return;
657 657
658 if (!ms->log_failure) { 658 if (!ms->log_failure) {
659 while ((bio = bio_list_pop(failures))) 659 while ((bio = bio_list_pop(failures))) {
660 ms->in_sync = 0; 660 ms->in_sync = 0;
661 dm_rh_mark_nosync(ms->rh, bio, bio->bi_size, 0); 661 dm_rh_mark_nosync(ms->rh, bio, bio->bi_size, 0);
662 }
662 return; 663 return;
663 } 664 }
664 665
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index b2d9d1ac28ad..6c96db26b87c 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -229,19 +229,21 @@ static void __insert_origin(struct origin *o)
229 */ 229 */
230static int register_snapshot(struct dm_snapshot *snap) 230static int register_snapshot(struct dm_snapshot *snap)
231{ 231{
232 struct origin *o; 232 struct origin *o, *new_o;
233 struct block_device *bdev = snap->origin->bdev; 233 struct block_device *bdev = snap->origin->bdev;
234 234
235 new_o = kmalloc(sizeof(*new_o), GFP_KERNEL);
236 if (!new_o)
237 return -ENOMEM;
238
235 down_write(&_origins_lock); 239 down_write(&_origins_lock);
236 o = __lookup_origin(bdev); 240 o = __lookup_origin(bdev);
237 241
238 if (!o) { 242 if (o)
243 kfree(new_o);
244 else {
239 /* New origin */ 245 /* New origin */
240 o = kmalloc(sizeof(*o), GFP_KERNEL); 246 o = new_o;
241 if (!o) {
242 up_write(&_origins_lock);
243 return -ENOMEM;
244 }
245 247
246 /* Initialise the struct */ 248 /* Initialise the struct */
247 INIT_LIST_HEAD(&o->snapshots); 249 INIT_LIST_HEAD(&o->snapshots);
@@ -368,6 +370,7 @@ static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snaps
368 struct dm_snap_pending_exception *pe = mempool_alloc(s->pending_pool, 370 struct dm_snap_pending_exception *pe = mempool_alloc(s->pending_pool,
369 GFP_NOIO); 371 GFP_NOIO);
370 372
373 atomic_inc(&s->pending_exceptions_count);
371 pe->snap = s; 374 pe->snap = s;
372 375
373 return pe; 376 return pe;
@@ -375,7 +378,11 @@ static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snaps
375 378
376static void free_pending_exception(struct dm_snap_pending_exception *pe) 379static void free_pending_exception(struct dm_snap_pending_exception *pe)
377{ 380{
378 mempool_free(pe, pe->snap->pending_pool); 381 struct dm_snapshot *s = pe->snap;
382
383 mempool_free(pe, s->pending_pool);
384 smp_mb__before_atomic_dec();
385 atomic_dec(&s->pending_exceptions_count);
379} 386}
380 387
381static void insert_completed_exception(struct dm_snapshot *s, 388static void insert_completed_exception(struct dm_snapshot *s,
@@ -600,6 +607,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
600 607
601 s->valid = 1; 608 s->valid = 1;
602 s->active = 0; 609 s->active = 0;
610 atomic_set(&s->pending_exceptions_count, 0);
603 init_rwsem(&s->lock); 611 init_rwsem(&s->lock);
604 spin_lock_init(&s->pe_lock); 612 spin_lock_init(&s->pe_lock);
605 s->ti = ti; 613 s->ti = ti;
@@ -726,6 +734,14 @@ static void snapshot_dtr(struct dm_target *ti)
726 /* After this returns there can be no new kcopyd jobs. */ 734 /* After this returns there can be no new kcopyd jobs. */
727 unregister_snapshot(s); 735 unregister_snapshot(s);
728 736
737 while (atomic_read(&s->pending_exceptions_count))
738 yield();
739 /*
740 * Ensure instructions in mempool_destroy aren't reordered
741 * before atomic_read.
742 */
743 smp_mb();
744
729#ifdef CONFIG_DM_DEBUG 745#ifdef CONFIG_DM_DEBUG
730 for (i = 0; i < DM_TRACKED_CHUNK_HASH_SIZE; i++) 746 for (i = 0; i < DM_TRACKED_CHUNK_HASH_SIZE; i++)
731 BUG_ON(!hlist_empty(&s->tracked_chunk_hash[i])); 747 BUG_ON(!hlist_empty(&s->tracked_chunk_hash[i]));
diff --git a/drivers/md/dm-snap.h b/drivers/md/dm-snap.h
index f07315fe2362..99c0106ede2d 100644
--- a/drivers/md/dm-snap.h
+++ b/drivers/md/dm-snap.h
@@ -160,6 +160,8 @@ struct dm_snapshot {
160 160
161 mempool_t *pending_pool; 161 mempool_t *pending_pool;
162 162
163 atomic_t pending_exceptions_count;
164
163 struct exception_table pending; 165 struct exception_table pending;
164 struct exception_table complete; 166 struct exception_table complete;
165 167
diff --git a/drivers/md/linear.c b/drivers/md/linear.c
index 190147c79e79..3b90c5c924ec 100644
--- a/drivers/md/linear.c
+++ b/drivers/md/linear.c
@@ -148,6 +148,8 @@ static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks)
148 148
149 min_sectors = conf->array_sectors; 149 min_sectors = conf->array_sectors;
150 sector_div(min_sectors, PAGE_SIZE/sizeof(struct dev_info *)); 150 sector_div(min_sectors, PAGE_SIZE/sizeof(struct dev_info *));
151 if (min_sectors == 0)
152 min_sectors = 1;
151 153
152 /* min_sectors is the minimum spacing that will fit the hash 154 /* min_sectors is the minimum spacing that will fit the hash
153 * table in one PAGE. This may be much smaller than needed. 155 * table in one PAGE. This may be much smaller than needed.
diff --git a/drivers/md/md.c b/drivers/md/md.c
index c1a837ca193c..1b1d32694f6f 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -222,6 +222,9 @@ static void mddev_put(mddev_t *mddev)
222 list_del(&mddev->all_mddevs); 222 list_del(&mddev->all_mddevs);
223 spin_unlock(&all_mddevs_lock); 223 spin_unlock(&all_mddevs_lock);
224 blk_cleanup_queue(mddev->queue); 224 blk_cleanup_queue(mddev->queue);
225 if (mddev->sysfs_state)
226 sysfs_put(mddev->sysfs_state);
227 mddev->sysfs_state = NULL;
225 kobject_put(&mddev->kobj); 228 kobject_put(&mddev->kobj);
226 } else 229 } else
227 spin_unlock(&all_mddevs_lock); 230 spin_unlock(&all_mddevs_lock);
@@ -1459,6 +1462,8 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev)
1459 kobject_del(&rdev->kobj); 1462 kobject_del(&rdev->kobj);
1460 goto fail; 1463 goto fail;
1461 } 1464 }
1465 rdev->sysfs_state = sysfs_get_dirent(rdev->kobj.sd, "state");
1466
1462 list_add_rcu(&rdev->same_set, &mddev->disks); 1467 list_add_rcu(&rdev->same_set, &mddev->disks);
1463 bd_claim_by_disk(rdev->bdev, rdev->bdev->bd_holder, mddev->gendisk); 1468 bd_claim_by_disk(rdev->bdev, rdev->bdev->bd_holder, mddev->gendisk);
1464 return 0; 1469 return 0;
@@ -1488,7 +1493,8 @@ static void unbind_rdev_from_array(mdk_rdev_t * rdev)
1488 printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b)); 1493 printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b));
1489 rdev->mddev = NULL; 1494 rdev->mddev = NULL;
1490 sysfs_remove_link(&rdev->kobj, "block"); 1495 sysfs_remove_link(&rdev->kobj, "block");
1491 1496 sysfs_put(rdev->sysfs_state);
1497 rdev->sysfs_state = NULL;
1492 /* We need to delay this, otherwise we can deadlock when 1498 /* We need to delay this, otherwise we can deadlock when
1493 * writing to 'remove' to "dev/state". We also need 1499 * writing to 'remove' to "dev/state". We also need
1494 * to delay it due to rcu usage. 1500 * to delay it due to rcu usage.
@@ -1923,8 +1929,8 @@ state_store(mdk_rdev_t *rdev, const char *buf, size_t len)
1923 1929
1924 err = 0; 1930 err = 0;
1925 } 1931 }
1926 if (!err) 1932 if (!err && rdev->sysfs_state)
1927 sysfs_notify(&rdev->kobj, NULL, "state"); 1933 sysfs_notify_dirent(rdev->sysfs_state);
1928 return err ? err : len; 1934 return err ? err : len;
1929} 1935}
1930static struct rdev_sysfs_entry rdev_state = 1936static struct rdev_sysfs_entry rdev_state =
@@ -2019,7 +2025,7 @@ slot_store(mdk_rdev_t *rdev, const char *buf, size_t len)
2019 rdev->raid_disk = -1; 2025 rdev->raid_disk = -1;
2020 return err; 2026 return err;
2021 } else 2027 } else
2022 sysfs_notify(&rdev->kobj, NULL, "state"); 2028 sysfs_notify_dirent(rdev->sysfs_state);
2023 sprintf(nm, "rd%d", rdev->raid_disk); 2029 sprintf(nm, "rd%d", rdev->raid_disk);
2024 if (sysfs_create_link(&rdev->mddev->kobj, &rdev->kobj, nm)) 2030 if (sysfs_create_link(&rdev->mddev->kobj, &rdev->kobj, nm))
2025 printk(KERN_WARNING 2031 printk(KERN_WARNING
@@ -2036,7 +2042,7 @@ slot_store(mdk_rdev_t *rdev, const char *buf, size_t len)
2036 clear_bit(Faulty, &rdev->flags); 2042 clear_bit(Faulty, &rdev->flags);
2037 clear_bit(WriteMostly, &rdev->flags); 2043 clear_bit(WriteMostly, &rdev->flags);
2038 set_bit(In_sync, &rdev->flags); 2044 set_bit(In_sync, &rdev->flags);
2039 sysfs_notify(&rdev->kobj, NULL, "state"); 2045 sysfs_notify_dirent(rdev->sysfs_state);
2040 } 2046 }
2041 return len; 2047 return len;
2042} 2048}
@@ -2770,7 +2776,7 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len)
2770 if (err) 2776 if (err)
2771 return err; 2777 return err;
2772 else { 2778 else {
2773 sysfs_notify(&mddev->kobj, NULL, "array_state"); 2779 sysfs_notify_dirent(mddev->sysfs_state);
2774 return len; 2780 return len;
2775 } 2781 }
2776} 2782}
@@ -3457,6 +3463,11 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
3457 disk->fops = &md_fops; 3463 disk->fops = &md_fops;
3458 disk->private_data = mddev; 3464 disk->private_data = mddev;
3459 disk->queue = mddev->queue; 3465 disk->queue = mddev->queue;
3466 /* Allow extended partitions. This makes the
3467 * 'mdp' device redundant, but we can really
3468 * remove it now.
3469 */
3470 disk->flags |= GENHD_FL_EXT_DEVT;
3460 add_disk(disk); 3471 add_disk(disk);
3461 mddev->gendisk = disk; 3472 mddev->gendisk = disk;
3462 error = kobject_init_and_add(&mddev->kobj, &md_ktype, 3473 error = kobject_init_and_add(&mddev->kobj, &md_ktype,
@@ -3465,8 +3476,10 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
3465 if (error) 3476 if (error)
3466 printk(KERN_WARNING "md: cannot register %s/md - name in use\n", 3477 printk(KERN_WARNING "md: cannot register %s/md - name in use\n",
3467 disk->disk_name); 3478 disk->disk_name);
3468 else 3479 else {
3469 kobject_uevent(&mddev->kobj, KOBJ_ADD); 3480 kobject_uevent(&mddev->kobj, KOBJ_ADD);
3481 mddev->sysfs_state = sysfs_get_dirent(mddev->kobj.sd, "array_state");
3482 }
3470 return NULL; 3483 return NULL;
3471} 3484}
3472 3485
@@ -3477,7 +3490,7 @@ static void md_safemode_timeout(unsigned long data)
3477 if (!atomic_read(&mddev->writes_pending)) { 3490 if (!atomic_read(&mddev->writes_pending)) {
3478 mddev->safemode = 1; 3491 mddev->safemode = 1;
3479 if (mddev->external) 3492 if (mddev->external)
3480 set_bit(MD_NOTIFY_ARRAY_STATE, &mddev->flags); 3493 sysfs_notify_dirent(mddev->sysfs_state);
3481 } 3494 }
3482 md_wakeup_thread(mddev->thread); 3495 md_wakeup_thread(mddev->thread);
3483} 3496}
@@ -3578,7 +3591,7 @@ static int do_md_run(mddev_t * mddev)
3578 return -EINVAL; 3591 return -EINVAL;
3579 } 3592 }
3580 } 3593 }
3581 sysfs_notify(&rdev->kobj, NULL, "state"); 3594 sysfs_notify_dirent(rdev->sysfs_state);
3582 } 3595 }
3583 3596
3584 md_probe(mddev->unit, NULL, NULL); 3597 md_probe(mddev->unit, NULL, NULL);
@@ -3740,7 +3753,7 @@ static int do_md_run(mddev_t * mddev)
3740 3753
3741 mddev->changed = 1; 3754 mddev->changed = 1;
3742 md_new_event(mddev); 3755 md_new_event(mddev);
3743 sysfs_notify(&mddev->kobj, NULL, "array_state"); 3756 sysfs_notify_dirent(mddev->sysfs_state);
3744 sysfs_notify(&mddev->kobj, NULL, "sync_action"); 3757 sysfs_notify(&mddev->kobj, NULL, "sync_action");
3745 sysfs_notify(&mddev->kobj, NULL, "degraded"); 3758 sysfs_notify(&mddev->kobj, NULL, "degraded");
3746 kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE); 3759 kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE);
@@ -3767,7 +3780,7 @@ static int restart_array(mddev_t *mddev)
3767 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 3780 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
3768 md_wakeup_thread(mddev->thread); 3781 md_wakeup_thread(mddev->thread);
3769 md_wakeup_thread(mddev->sync_thread); 3782 md_wakeup_thread(mddev->sync_thread);
3770 sysfs_notify(&mddev->kobj, NULL, "array_state"); 3783 sysfs_notify_dirent(mddev->sysfs_state);
3771 return 0; 3784 return 0;
3772} 3785}
3773 3786
@@ -3847,7 +3860,7 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
3847 module_put(mddev->pers->owner); 3860 module_put(mddev->pers->owner);
3848 mddev->pers = NULL; 3861 mddev->pers = NULL;
3849 /* tell userspace to handle 'inactive' */ 3862 /* tell userspace to handle 'inactive' */
3850 sysfs_notify(&mddev->kobj, NULL, "array_state"); 3863 sysfs_notify_dirent(mddev->sysfs_state);
3851 3864
3852 set_capacity(disk, 0); 3865 set_capacity(disk, 0);
3853 mddev->changed = 1; 3866 mddev->changed = 1;
@@ -3927,13 +3940,14 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
3927 mddev->degraded = 0; 3940 mddev->degraded = 0;
3928 mddev->barriers_work = 0; 3941 mddev->barriers_work = 0;
3929 mddev->safemode = 0; 3942 mddev->safemode = 0;
3943 kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE);
3930 3944
3931 } else if (mddev->pers) 3945 } else if (mddev->pers)
3932 printk(KERN_INFO "md: %s switched to read-only mode.\n", 3946 printk(KERN_INFO "md: %s switched to read-only mode.\n",
3933 mdname(mddev)); 3947 mdname(mddev));
3934 err = 0; 3948 err = 0;
3935 md_new_event(mddev); 3949 md_new_event(mddev);
3936 sysfs_notify(&mddev->kobj, NULL, "array_state"); 3950 sysfs_notify_dirent(mddev->sysfs_state);
3937out: 3951out:
3938 return err; 3952 return err;
3939} 3953}
@@ -4297,7 +4311,7 @@ static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info)
4297 if (err) 4311 if (err)
4298 export_rdev(rdev); 4312 export_rdev(rdev);
4299 else 4313 else
4300 sysfs_notify(&rdev->kobj, NULL, "state"); 4314 sysfs_notify_dirent(rdev->sysfs_state);
4301 4315
4302 md_update_sb(mddev, 1); 4316 md_update_sb(mddev, 1);
4303 if (mddev->degraded) 4317 if (mddev->degraded)
@@ -4938,7 +4952,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
4938 if (_IOC_TYPE(cmd) == MD_MAJOR && mddev->ro && mddev->pers) { 4952 if (_IOC_TYPE(cmd) == MD_MAJOR && mddev->ro && mddev->pers) {
4939 if (mddev->ro == 2) { 4953 if (mddev->ro == 2) {
4940 mddev->ro = 0; 4954 mddev->ro = 0;
4941 sysfs_notify(&mddev->kobj, NULL, "array_state"); 4955 sysfs_notify_dirent(mddev->sysfs_state);
4942 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 4956 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
4943 md_wakeup_thread(mddev->thread); 4957 md_wakeup_thread(mddev->thread);
4944 } else { 4958 } else {
@@ -5612,7 +5626,7 @@ void md_write_start(mddev_t *mddev, struct bio *bi)
5612 spin_unlock_irq(&mddev->write_lock); 5626 spin_unlock_irq(&mddev->write_lock);
5613 } 5627 }
5614 if (did_change) 5628 if (did_change)
5615 sysfs_notify(&mddev->kobj, NULL, "array_state"); 5629 sysfs_notify_dirent(mddev->sysfs_state);
5616 wait_event(mddev->sb_wait, 5630 wait_event(mddev->sb_wait,
5617 !test_bit(MD_CHANGE_CLEAN, &mddev->flags) && 5631 !test_bit(MD_CHANGE_CLEAN, &mddev->flags) &&
5618 !test_bit(MD_CHANGE_PENDING, &mddev->flags)); 5632 !test_bit(MD_CHANGE_PENDING, &mddev->flags));
@@ -5655,7 +5669,7 @@ int md_allow_write(mddev_t *mddev)
5655 mddev->safemode = 1; 5669 mddev->safemode = 1;
5656 spin_unlock_irq(&mddev->write_lock); 5670 spin_unlock_irq(&mddev->write_lock);
5657 md_update_sb(mddev, 0); 5671 md_update_sb(mddev, 0);
5658 sysfs_notify(&mddev->kobj, NULL, "array_state"); 5672 sysfs_notify_dirent(mddev->sysfs_state);
5659 } else 5673 } else
5660 spin_unlock_irq(&mddev->write_lock); 5674 spin_unlock_irq(&mddev->write_lock);
5661 5675
@@ -6048,9 +6062,6 @@ void md_check_recovery(mddev_t *mddev)
6048 if (mddev->bitmap) 6062 if (mddev->bitmap)
6049 bitmap_daemon_work(mddev->bitmap); 6063 bitmap_daemon_work(mddev->bitmap);
6050 6064
6051 if (test_and_clear_bit(MD_NOTIFY_ARRAY_STATE, &mddev->flags))
6052 sysfs_notify(&mddev->kobj, NULL, "array_state");
6053
6054 if (mddev->ro) 6065 if (mddev->ro)
6055 return; 6066 return;
6056 6067
@@ -6103,7 +6114,7 @@ void md_check_recovery(mddev_t *mddev)
6103 mddev->safemode = 0; 6114 mddev->safemode = 0;
6104 spin_unlock_irq(&mddev->write_lock); 6115 spin_unlock_irq(&mddev->write_lock);
6105 if (did_change) 6116 if (did_change)
6106 sysfs_notify(&mddev->kobj, NULL, "array_state"); 6117 sysfs_notify_dirent(mddev->sysfs_state);
6107 } 6118 }
6108 6119
6109 if (mddev->flags) 6120 if (mddev->flags)
@@ -6111,7 +6122,7 @@ void md_check_recovery(mddev_t *mddev)
6111 6122
6112 rdev_for_each(rdev, rtmp, mddev) 6123 rdev_for_each(rdev, rtmp, mddev)
6113 if (test_and_clear_bit(StateChanged, &rdev->flags)) 6124 if (test_and_clear_bit(StateChanged, &rdev->flags))
6114 sysfs_notify(&rdev->kobj, NULL, "state"); 6125 sysfs_notify_dirent(rdev->sysfs_state);
6115 6126
6116 6127
6117 if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) && 6128 if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) &&
@@ -6221,7 +6232,7 @@ void md_check_recovery(mddev_t *mddev)
6221 6232
6222void md_wait_for_blocked_rdev(mdk_rdev_t *rdev, mddev_t *mddev) 6233void md_wait_for_blocked_rdev(mdk_rdev_t *rdev, mddev_t *mddev)
6223{ 6234{
6224 sysfs_notify(&rdev->kobj, NULL, "state"); 6235 sysfs_notify_dirent(rdev->sysfs_state);
6225 wait_event_timeout(rdev->blocked_wait, 6236 wait_event_timeout(rdev->blocked_wait,
6226 !test_bit(Blocked, &rdev->flags), 6237 !test_bit(Blocked, &rdev->flags),
6227 msecs_to_jiffies(5000)); 6238 msecs_to_jiffies(5000));
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index da5129a24b18..970a96ef9b18 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1137,7 +1137,7 @@ static int raid10_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
1137 if (!enough(conf)) 1137 if (!enough(conf))
1138 return -EINVAL; 1138 return -EINVAL;
1139 1139
1140 if (rdev->raid_disk) 1140 if (rdev->raid_disk >= 0)
1141 first = last = rdev->raid_disk; 1141 first = last = rdev->raid_disk;
1142 1142
1143 if (rdev->saved_raid_disk >= 0 && 1143 if (rdev->saved_raid_disk >= 0 &&
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 5689d1f1d444..8557bf12cfb4 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -223,6 +223,8 @@ static void dvb_frontend_init(struct dvb_frontend *fe)
223 if (fe->ops.init) 223 if (fe->ops.init)
224 fe->ops.init(fe); 224 fe->ops.init(fe);
225 if (fe->ops.tuner_ops.init) { 225 if (fe->ops.tuner_ops.init) {
226 if (fe->ops.i2c_gate_ctrl)
227 fe->ops.i2c_gate_ctrl(fe, 1);
226 fe->ops.tuner_ops.init(fe); 228 fe->ops.tuner_ops.init(fe);
227 if (fe->ops.i2c_gate_ctrl) 229 if (fe->ops.i2c_gate_ctrl)
228 fe->ops.i2c_gate_ctrl(fe, 0); 230 fe->ops.i2c_gate_ctrl(fe, 0);
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 3c13bcfa6385..62b68c291d99 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -261,7 +261,7 @@ config DVB_USB_DW2102
261 Say Y here to support the DvbWorld DVB-S/S2 USB2.0 receivers 261 Say Y here to support the DvbWorld DVB-S/S2 USB2.0 receivers
262 and the TeVii S650. 262 and the TeVii S650.
263 263
264config DVB_USB_CINERGY_T2 264config DVB_USB_CINERGY_T2
265 tristate "Terratec CinergyT2/qanu USB 2.0 DVB-T receiver" 265 tristate "Terratec CinergyT2/qanu USB 2.0 DVB-T receiver"
266 depends on DVB_USB 266 depends on DVB_USB
267 help 267 help
@@ -283,6 +283,7 @@ config DVB_USB_ANYSEE
283config DVB_USB_DTV5100 283config DVB_USB_DTV5100
284 tristate "AME DTV-5100 USB2.0 DVB-T support" 284 tristate "AME DTV-5100 USB2.0 DVB-T support"
285 depends on DVB_USB 285 depends on DVB_USB
286 select DVB_ZL10353 if !DVB_FE_CUSTOMISE
286 select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE 287 select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
287 help 288 help
288 Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver. 289 Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver.
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c
index cb0829c038ce..847d8fdd9ec4 100644
--- a/drivers/media/dvb/dvb-usb/af9015.c
+++ b/drivers/media/dvb/dvb-usb/af9015.c
@@ -31,13 +31,13 @@
31#include "mc44s80x.h" 31#include "mc44s80x.h"
32#endif 32#endif
33 33
34int dvb_usb_af9015_debug; 34static int dvb_usb_af9015_debug;
35module_param_named(debug, dvb_usb_af9015_debug, int, 0644); 35module_param_named(debug, dvb_usb_af9015_debug, int, 0644);
36MODULE_PARM_DESC(debug, "set debugging level" DVB_USB_DEBUG_STATUS); 36MODULE_PARM_DESC(debug, "set debugging level" DVB_USB_DEBUG_STATUS);
37int dvb_usb_af9015_remote; 37static int dvb_usb_af9015_remote;
38module_param_named(remote, dvb_usb_af9015_remote, int, 0644); 38module_param_named(remote, dvb_usb_af9015_remote, int, 0644);
39MODULE_PARM_DESC(remote, "select remote"); 39MODULE_PARM_DESC(remote, "select remote");
40int dvb_usb_af9015_dual_mode; 40static int dvb_usb_af9015_dual_mode;
41module_param_named(dual_mode, dvb_usb_af9015_dual_mode, int, 0644); 41module_param_named(dual_mode, dvb_usb_af9015_dual_mode, int, 0644);
42MODULE_PARM_DESC(dual_mode, "enable dual mode"); 42MODULE_PARM_DESC(dual_mode, "enable dual mode");
43DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); 43DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
@@ -46,7 +46,7 @@ static DEFINE_MUTEX(af9015_usb_mutex);
46 46
47static struct af9015_config af9015_config; 47static struct af9015_config af9015_config;
48static struct dvb_usb_device_properties af9015_properties[2]; 48static struct dvb_usb_device_properties af9015_properties[2];
49int af9015_properties_count = ARRAY_SIZE(af9015_properties); 49static int af9015_properties_count = ARRAY_SIZE(af9015_properties);
50 50
51static struct af9013_config af9015_af9013_config[] = { 51static struct af9013_config af9015_af9013_config[] = {
52 { 52 {
@@ -549,7 +549,7 @@ static int af9015_eeprom_dump(struct dvb_usb_device *d)
549 return 0; 549 return 0;
550} 550}
551 551
552int af9015_download_ir_table(struct dvb_usb_device *d) 552static int af9015_download_ir_table(struct dvb_usb_device *d)
553{ 553{
554 int i, packets = 0, ret; 554 int i, packets = 0, ret;
555 u16 addr = 0x9a56; /* ir-table start address */ 555 u16 addr = 0x9a56; /* ir-table start address */
@@ -999,7 +999,7 @@ static int af9015_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
999} 999}
1000 1000
1001/* init 2nd I2C adapter */ 1001/* init 2nd I2C adapter */
1002int af9015_i2c_init(struct dvb_usb_device *d) 1002static int af9015_i2c_init(struct dvb_usb_device *d)
1003{ 1003{
1004 int ret; 1004 int ret;
1005 struct af9015_state *state = d->priv; 1005 struct af9015_state *state = d->priv;
@@ -1419,7 +1419,7 @@ static int af9015_usb_probe(struct usb_interface *intf,
1419 return ret; 1419 return ret;
1420} 1420}
1421 1421
1422void af9015_i2c_exit(struct dvb_usb_device *d) 1422static void af9015_i2c_exit(struct dvb_usb_device *d)
1423{ 1423{
1424 struct af9015_state *state = d->priv; 1424 struct af9015_state *state = d->priv;
1425 deb_info("%s: \n", __func__); 1425 deb_info("%s: \n", __func__);
diff --git a/drivers/media/dvb/dvb-usb/af9015.h b/drivers/media/dvb/dvb-usb/af9015.h
index 882e8a4b3681..6c3c97293316 100644
--- a/drivers/media/dvb/dvb-usb/af9015.h
+++ b/drivers/media/dvb/dvb-usb/af9015.h
@@ -27,7 +27,6 @@
27#define DVB_USB_LOG_PREFIX "af9015" 27#define DVB_USB_LOG_PREFIX "af9015"
28#include "dvb-usb.h" 28#include "dvb-usb.h"
29 29
30extern int dvb_usb_af9015_debug;
31#define deb_info(args...) dprintk(dvb_usb_af9015_debug, 0x01, args) 30#define deb_info(args...) dprintk(dvb_usb_af9015_debug, 0x01, args)
32#define deb_rc(args...) dprintk(dvb_usb_af9015_debug, 0x02, args) 31#define deb_rc(args...) dprintk(dvb_usb_af9015_debug, 0x02, args)
33#define deb_xfer(args...) dprintk(dvb_usb_af9015_debug, 0x04, args) 32#define deb_xfer(args...) dprintk(dvb_usb_af9015_debug, 0x04, args)
diff --git a/drivers/media/dvb/dvb-usb/anysee.c b/drivers/media/dvb/dvb-usb/anysee.c
index c786359fba03..cd2edbcaa097 100644
--- a/drivers/media/dvb/dvb-usb/anysee.c
+++ b/drivers/media/dvb/dvb-usb/anysee.c
@@ -46,7 +46,7 @@ module_param_named(delsys, dvb_usb_anysee_delsys, int, 0644);
46MODULE_PARM_DESC(delsys, "select delivery mode (0=DVB-C, 1=DVB-T)"); 46MODULE_PARM_DESC(delsys, "select delivery mode (0=DVB-C, 1=DVB-T)");
47DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); 47DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
48 48
49static struct mutex anysee_usb_mutex; 49static DEFINE_MUTEX(anysee_usb_mutex);
50 50
51static int anysee_ctrl_msg(struct dvb_usb_device *d, u8 *sbuf, u8 slen, 51static int anysee_ctrl_msg(struct dvb_usb_device *d, u8 *sbuf, u8 slen,
52 u8 *rbuf, u8 rlen) 52 u8 *rbuf, u8 rlen)
@@ -456,8 +456,6 @@ static int anysee_probe(struct usb_interface *intf,
456 struct usb_host_interface *alt; 456 struct usb_host_interface *alt;
457 int ret; 457 int ret;
458 458
459 mutex_init(&anysee_usb_mutex);
460
461 /* There is one interface with two alternate settings. 459 /* There is one interface with two alternate settings.
462 Alternate setting 0 is for bulk transfer. 460 Alternate setting 0 is for bulk transfer.
463 Alternate setting 1 is for isochronous transfer. 461 Alternate setting 1 is for isochronous transfer.
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-urb.c b/drivers/media/dvb/dvb-usb/dvb-usb-urb.c
index 5cef12a07f72..6fe71c6745eb 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-urb.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-urb.c
@@ -13,14 +13,14 @@ int dvb_usb_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
13{ 13{
14 int actlen,ret = -ENOMEM; 14 int actlen,ret = -ENOMEM;
15 15
16 if (!d || wbuf == NULL || wlen == 0)
17 return -EINVAL;
18
16 if (d->props.generic_bulk_ctrl_endpoint == 0) { 19 if (d->props.generic_bulk_ctrl_endpoint == 0) {
17 err("endpoint for generic control not specified."); 20 err("endpoint for generic control not specified.");
18 return -EINVAL; 21 return -EINVAL;
19 } 22 }
20 23
21 if (wbuf == NULL || wlen == 0)
22 return -EINVAL;
23
24 if ((ret = mutex_lock_interruptible(&d->usb_mutex))) 24 if ((ret = mutex_lock_interruptible(&d->usb_mutex)))
25 return ret; 25 return ret;
26 26
diff --git a/drivers/media/dvb/frontends/af9013.c b/drivers/media/dvb/frontends/af9013.c
index 21c1060cf10e..692b68a9e73b 100644
--- a/drivers/media/dvb/frontends/af9013.c
+++ b/drivers/media/dvb/frontends/af9013.c
@@ -1187,7 +1187,7 @@ static int af9013_read_status(struct dvb_frontend *fe, fe_status_t *status)
1187 if (tmp) 1187 if (tmp)
1188 *status |= FE_HAS_SYNC | FE_HAS_LOCK; 1188 *status |= FE_HAS_SYNC | FE_HAS_LOCK;
1189 1189
1190 if (!*status & FE_HAS_SIGNAL) { 1190 if (!(*status & FE_HAS_SIGNAL)) {
1191 /* AGC lock */ 1191 /* AGC lock */
1192 ret = af9013_read_reg_bits(state, 0xd1a0, 6, 1, &tmp); 1192 ret = af9013_read_reg_bits(state, 0xd1a0, 6, 1, &tmp);
1193 if (ret) 1193 if (ret)
@@ -1196,7 +1196,7 @@ static int af9013_read_status(struct dvb_frontend *fe, fe_status_t *status)
1196 *status |= FE_HAS_SIGNAL; 1196 *status |= FE_HAS_SIGNAL;
1197 } 1197 }
1198 1198
1199 if (!*status & FE_HAS_CARRIER) { 1199 if (!(*status & FE_HAS_CARRIER)) {
1200 /* CFO lock */ 1200 /* CFO lock */
1201 ret = af9013_read_reg_bits(state, 0xd333, 7, 1, &tmp); 1201 ret = af9013_read_reg_bits(state, 0xd333, 7, 1, &tmp);
1202 if (ret) 1202 if (ret)
@@ -1205,7 +1205,7 @@ static int af9013_read_status(struct dvb_frontend *fe, fe_status_t *status)
1205 *status |= FE_HAS_CARRIER; 1205 *status |= FE_HAS_CARRIER;
1206 } 1206 }
1207 1207
1208 if (!*status & FE_HAS_CARRIER) { 1208 if (!(*status & FE_HAS_CARRIER)) {
1209 /* SFOE lock */ 1209 /* SFOE lock */
1210 ret = af9013_read_reg_bits(state, 0xd334, 6, 1, &tmp); 1210 ret = af9013_read_reg_bits(state, 0xd334, 6, 1, &tmp);
1211 if (ret) 1211 if (ret)
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index 04cd7c04bdde..5189c4eb439f 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -355,6 +355,20 @@ config USB_SI470X
355 tristate "Silicon Labs Si470x FM Radio Receiver support" 355 tristate "Silicon Labs Si470x FM Radio Receiver support"
356 depends on USB && VIDEO_V4L2 356 depends on USB && VIDEO_V4L2
357 ---help--- 357 ---help---
358 This is a driver for USB devices with the Silicon Labs SI470x
359 chip. Currently these devices are known to work:
360 - 10c4:818a: Silicon Labs USB FM Radio Reference Design
361 - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music)
362 - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
363
364 Sound is provided by the ALSA USB Audio/MIDI driver. Therefore
365 if you don't want to use the device solely for RDS receiving,
366 it is recommended to also select SND_USB_AUDIO.
367
368 Please have a look at the documentation, especially on how
369 to redirect the audio stream from the radio to your sound device:
370 Documentation/video4linux/si470x.txt
371
358 Say Y here if you want to connect this type of radio to your 372 Say Y here if you want to connect this type of radio to your
359 computer's USB port. 373 computer's USB port.
360 374
diff --git a/drivers/media/radio/radio-si470x.c b/drivers/media/radio/radio-si470x.c
index 5920cd306975..3e1830293de5 100644
--- a/drivers/media/radio/radio-si470x.c
+++ b/drivers/media/radio/radio-si470x.c
@@ -4,6 +4,7 @@
4 * Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers: 4 * Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers:
5 * - Silicon Labs USB FM Radio Reference Design 5 * - Silicon Labs USB FM Radio Reference Design
6 * - ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF) 6 * - ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF)
7 * - KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
7 * 8 *
8 * Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net> 9 * Copyright (c) 2008 Tobias Lorenz <tobias.lorenz@gmx.net>
9 * 10 *
@@ -24,19 +25,6 @@
24 25
25 26
26/* 27/*
27 * User Notes:
28 * - USB Audio is provided by the alsa snd_usb_audio module.
29 * For listing you have to redirect the sound, for example using:
30 * arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
31 * - regarding module parameters in /sys/module/radio_si470x/parameters:
32 * the contents of read-only files (0444) are not updated, even if
33 * space, band and de are changed using private video controls
34 * - increase tune_timeout, if you often get -EIO errors
35 * - hw_freq_seek returns -EAGAIN, when timed out or band limit is reached
36 */
37
38
39/*
40 * History: 28 * History:
41 * 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net> 29 * 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net>
42 * Version 1.0.0 30 * Version 1.0.0
@@ -105,6 +93,9 @@
105 * - afc indication 93 * - afc indication
106 * - more safety checks, let si470x_get_freq return errno 94 * - more safety checks, let si470x_get_freq return errno
107 * - vidioc behavior corrected according to v4l2 spec 95 * - vidioc behavior corrected according to v4l2 spec
96 * 2008-10-20 Alexey Klimov <klimov.linux@gmail.com>
97 * - add support for KWorld USB FM Radio FM700
98 * - blacklisted KWorld radio in hid-core.c and hid-ids.h
108 * 99 *
109 * ToDo: 100 * ToDo:
110 * - add firmware download/update support 101 * - add firmware download/update support
@@ -145,6 +136,8 @@ static struct usb_device_id si470x_usb_driver_id_table[] = {
145 { USB_DEVICE_AND_INTERFACE_INFO(0x10c4, 0x818a, USB_CLASS_HID, 0, 0) }, 136 { USB_DEVICE_AND_INTERFACE_INFO(0x10c4, 0x818a, USB_CLASS_HID, 0, 0) },
146 /* ADS/Tech FM Radio Receiver (formerly Instant FM Music) */ 137 /* ADS/Tech FM Radio Receiver (formerly Instant FM Music) */
147 { USB_DEVICE_AND_INTERFACE_INFO(0x06e1, 0xa155, USB_CLASS_HID, 0, 0) }, 138 { USB_DEVICE_AND_INTERFACE_INFO(0x06e1, 0xa155, USB_CLASS_HID, 0, 0) },
139 /* KWorld USB FM Radio SnapMusic Mobile 700 (FM700) */
140 { USB_DEVICE_AND_INTERFACE_INFO(0x1b80, 0xd700, USB_CLASS_HID, 0, 0) },
148 /* Terminating entry */ 141 /* Terminating entry */
149 { } 142 { }
150}; 143};
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c
index a8c068e1de1c..1740b9ebdcef 100644
--- a/drivers/media/video/cafe_ccic.c
+++ b/drivers/media/video/cafe_ccic.c
@@ -1476,12 +1476,9 @@ static int cafe_v4l_open(struct inode *inode, struct file *filp)
1476{ 1476{
1477 struct cafe_camera *cam; 1477 struct cafe_camera *cam;
1478 1478
1479 lock_kernel();
1480 cam = cafe_find_dev(iminor(inode)); 1479 cam = cafe_find_dev(iminor(inode));
1481 if (cam == NULL) { 1480 if (cam == NULL)
1482 unlock_kernel();
1483 return -ENODEV; 1481 return -ENODEV;
1484 }
1485 filp->private_data = cam; 1482 filp->private_data = cam;
1486 1483
1487 mutex_lock(&cam->s_mutex); 1484 mutex_lock(&cam->s_mutex);
@@ -1493,7 +1490,6 @@ static int cafe_v4l_open(struct inode *inode, struct file *filp)
1493 } 1490 }
1494 (cam->users)++; 1491 (cam->users)++;
1495 mutex_unlock(&cam->s_mutex); 1492 mutex_unlock(&cam->s_mutex);
1496 unlock_kernel();
1497 return 0; 1493 return 0;
1498} 1494}
1499 1495
diff --git a/drivers/media/video/compat_ioctl32.c b/drivers/media/video/compat_ioctl32.c
index bd5d9de5a008..e6ca4012b5f0 100644
--- a/drivers/media/video/compat_ioctl32.c
+++ b/drivers/media/video/compat_ioctl32.c
@@ -867,6 +867,7 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
867 case VIDIOC_STREAMON32: 867 case VIDIOC_STREAMON32:
868 case VIDIOC_STREAMOFF32: 868 case VIDIOC_STREAMOFF32:
869 case VIDIOC_G_PARM: 869 case VIDIOC_G_PARM:
870 case VIDIOC_S_PARM:
870 case VIDIOC_G_STD: 871 case VIDIOC_G_STD:
871 case VIDIOC_S_STD: 872 case VIDIOC_S_STD:
872 case VIDIOC_G_TUNER: 873 case VIDIOC_G_TUNER:
@@ -885,6 +886,8 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
885 case VIDIOC_S_INPUT32: 886 case VIDIOC_S_INPUT32:
886 case VIDIOC_TRY_FMT32: 887 case VIDIOC_TRY_FMT32:
887 case VIDIOC_S_HW_FREQ_SEEK: 888 case VIDIOC_S_HW_FREQ_SEEK:
889 case VIDIOC_ENUM_FRAMESIZES:
890 case VIDIOC_ENUM_FRAMEINTERVALS:
888 ret = do_video_ioctl(file, cmd, arg); 891 ret = do_video_ioctl(file, cmd, arg);
889 break; 892 break;
890 893
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index 7a1a7830a6b3..7874d9790a51 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -448,7 +448,14 @@ static int __devinit cx18_init_struct1(struct cx18 *cx)
448 mutex_init(&cx->gpio_lock); 448 mutex_init(&cx->gpio_lock);
449 449
450 spin_lock_init(&cx->lock); 450 spin_lock_init(&cx->lock);
451 spin_lock_init(&cx->dma_reg_lock); 451
452 cx->work_queue = create_singlethread_workqueue(cx->name);
453 if (cx->work_queue == NULL) {
454 CX18_ERR("Could not create work queue\n");
455 return -1;
456 }
457
458 INIT_WORK(&cx->work, cx18_work_handler);
452 459
453 /* start counting open_id at 1 */ 460 /* start counting open_id at 1 */
454 cx->open_id = 1; 461 cx->open_id = 1;
@@ -581,10 +588,10 @@ static void cx18_load_and_init_modules(struct cx18 *cx)
581 588
582#ifdef MODULE 589#ifdef MODULE
583 /* load modules */ 590 /* load modules */
584#ifndef CONFIG_MEDIA_TUNER 591#ifdef CONFIG_MEDIA_TUNER_MODULE
585 hw = cx18_request_module(cx, hw, "tuner", CX18_HW_TUNER); 592 hw = cx18_request_module(cx, hw, "tuner", CX18_HW_TUNER);
586#endif 593#endif
587#ifndef CONFIG_VIDEO_CS5345 594#ifdef CONFIG_VIDEO_CS5345_MODULE
588 hw = cx18_request_module(cx, hw, "cs5345", CX18_HW_CS5345); 595 hw = cx18_request_module(cx, hw, "cs5345", CX18_HW_CS5345);
589#endif 596#endif
590#endif 597#endif
@@ -832,6 +839,7 @@ free_map:
832free_mem: 839free_mem:
833 release_mem_region(cx->base_addr, CX18_MEM_SIZE); 840 release_mem_region(cx->base_addr, CX18_MEM_SIZE);
834free_workqueue: 841free_workqueue:
842 destroy_workqueue(cx->work_queue);
835err: 843err:
836 if (retval == 0) 844 if (retval == 0)
837 retval = -ENODEV; 845 retval = -ENODEV;
@@ -932,6 +940,9 @@ static void cx18_remove(struct pci_dev *pci_dev)
932 940
933 cx18_halt_firmware(cx); 941 cx18_halt_firmware(cx);
934 942
943 flush_workqueue(cx->work_queue);
944 destroy_workqueue(cx->work_queue);
945
935 cx18_streams_cleanup(cx, 1); 946 cx18_streams_cleanup(cx, 1);
936 947
937 exit_cx18_i2c(cx); 948 exit_cx18_i2c(cx);
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index a4b1708fafe7..bbdd5f25041d 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -199,12 +199,15 @@ struct cx18_options {
199#define CX18_F_S_APPL_IO 8 /* this stream is used read/written by an application */ 199#define CX18_F_S_APPL_IO 8 /* this stream is used read/written by an application */
200 200
201/* per-cx18, i_flags */ 201/* per-cx18, i_flags */
202#define CX18_F_I_LOADED_FW 0 /* Loaded the firmware the first time */ 202#define CX18_F_I_LOADED_FW 0 /* Loaded firmware 1st time */
203#define CX18_F_I_EOS 4 /* End of encoder stream reached */ 203#define CX18_F_I_EOS 4 /* End of encoder stream */
204#define CX18_F_I_RADIO_USER 5 /* The radio tuner is selected */ 204#define CX18_F_I_RADIO_USER 5 /* radio tuner is selected */
205#define CX18_F_I_ENC_PAUSED 13 /* the encoder is paused */ 205#define CX18_F_I_ENC_PAUSED 13 /* the encoder is paused */
206#define CX18_F_I_INITED 21 /* set after first open */ 206#define CX18_F_I_HAVE_WORK 15 /* there is work to be done */
207#define CX18_F_I_FAILED 22 /* set if first open failed */ 207#define CX18_F_I_WORK_HANDLER_DVB 18 /* work to be done for DVB */
208#define CX18_F_I_INITED 21 /* set after first open */
209#define CX18_F_I_FAILED 22 /* set if first open failed */
210#define CX18_F_I_WORK_INITED 23 /* worker thread initialized */
208 211
209/* These are the VBI types as they appear in the embedded VBI private packets. */ 212/* These are the VBI types as they appear in the embedded VBI private packets. */
210#define CX18_SLICED_TYPE_TELETEXT_B (1) 213#define CX18_SLICED_TYPE_TELETEXT_B (1)
@@ -402,8 +405,6 @@ struct cx18 {
402 spinlock_t lock; /* lock access to this struct */ 405 spinlock_t lock; /* lock access to this struct */
403 int search_pack_header; 406 int search_pack_header;
404 407
405 spinlock_t dma_reg_lock; /* lock access to DMA engine registers */
406
407 int open_id; /* incremented each time an open occurs, used as 408 int open_id; /* incremented each time an open occurs, used as
408 unique ID. Starts at 1, so 0 can be used as 409 unique ID. Starts at 1, so 0 can be used as
409 uninitialized value in the stream->id. */ 410 uninitialized value in the stream->id. */
@@ -433,6 +434,9 @@ struct cx18 {
433 /* when the current DMA is finished this queue is woken up */ 434 /* when the current DMA is finished this queue is woken up */
434 wait_queue_head_t dma_waitq; 435 wait_queue_head_t dma_waitq;
435 436
437 struct workqueue_struct *work_queue;
438 struct work_struct work;
439
436 /* i2c */ 440 /* i2c */
437 struct i2c_adapter i2c_adap[2]; 441 struct i2c_adapter i2c_adap[2];
438 struct i2c_algo_bit_data i2c_algo[2]; 442 struct i2c_algo_bit_data i2c_algo[2];
diff --git a/drivers/media/video/cx18/cx18-dvb.c b/drivers/media/video/cx18/cx18-dvb.c
index afc694e7bdb2..4542e2e5e3d7 100644
--- a/drivers/media/video/cx18/cx18-dvb.c
+++ b/drivers/media/video/cx18/cx18-dvb.c
@@ -23,6 +23,8 @@
23#include "cx18-dvb.h" 23#include "cx18-dvb.h"
24#include "cx18-io.h" 24#include "cx18-io.h"
25#include "cx18-streams.h" 25#include "cx18-streams.h"
26#include "cx18-queue.h"
27#include "cx18-scb.h"
26#include "cx18-cards.h" 28#include "cx18-cards.h"
27#include "s5h1409.h" 29#include "s5h1409.h"
28#include "mxl5005s.h" 30#include "mxl5005s.h"
@@ -300,3 +302,24 @@ static int dvb_register(struct cx18_stream *stream)
300 302
301 return ret; 303 return ret;
302} 304}
305
306void cx18_dvb_work_handler(struct cx18 *cx)
307{
308 struct cx18_buffer *buf;
309 struct cx18_stream *s = &cx->streams[CX18_ENC_STREAM_TYPE_TS];
310
311 while ((buf = cx18_dequeue(s, &s->q_full)) != NULL) {
312 if (s->dvb.enabled)
313 dvb_dmx_swfilter(&s->dvb.demux, buf->buf,
314 buf->bytesused);
315
316 cx18_enqueue(s, buf, &s->q_free);
317 cx18_buf_sync_for_device(s, buf);
318 if (s->handle == CX18_INVALID_TASK_HANDLE) /* FIXME: improve */
319 continue;
320
321 cx18_vapi(cx, CX18_CPU_DE_SET_MDL, 5, s->handle,
322 (void __iomem *)&cx->scb->cpu_mdl[buf->id] - cx->enc_mem,
323 1, buf->id, s->buf_size);
324 }
325}
diff --git a/drivers/media/video/cx18/cx18-dvb.h b/drivers/media/video/cx18/cx18-dvb.h
index bf8d8f6f5455..bbdcefc87f28 100644
--- a/drivers/media/video/cx18/cx18-dvb.h
+++ b/drivers/media/video/cx18/cx18-dvb.h
@@ -23,3 +23,4 @@
23 23
24int cx18_dvb_register(struct cx18_stream *stream); 24int cx18_dvb_register(struct cx18_stream *stream);
25void cx18_dvb_unregister(struct cx18_stream *stream); 25void cx18_dvb_unregister(struct cx18_stream *stream);
26void cx18_dvb_work_handler(struct cx18 *cx);
diff --git a/drivers/media/video/cx18/cx18-io.c b/drivers/media/video/cx18/cx18-io.c
index 700ab9439c16..220fae8d4ad7 100644
--- a/drivers/media/video/cx18/cx18-io.c
+++ b/drivers/media/video/cx18/cx18-io.c
@@ -88,6 +88,19 @@ void cx18_writel_retry(struct cx18 *cx, u32 val, void __iomem *addr)
88 cx18_log_write_retries(cx, i, addr); 88 cx18_log_write_retries(cx, i, addr);
89} 89}
90 90
91void _cx18_writel_expect(struct cx18 *cx, u32 val, void __iomem *addr,
92 u32 eval, u32 mask)
93{
94 int i;
95 eval &= mask;
96 for (i = 0; i < CX18_MAX_MMIO_RETRIES; i++) {
97 cx18_writel_noretry(cx, val, addr);
98 if (eval == (cx18_readl_noretry(cx, addr) & mask))
99 break;
100 }
101 cx18_log_write_retries(cx, i, addr);
102}
103
91void cx18_writew_retry(struct cx18 *cx, u16 val, void __iomem *addr) 104void cx18_writew_retry(struct cx18 *cx, u16 val, void __iomem *addr)
92{ 105{
93 int i; 106 int i;
@@ -218,7 +231,7 @@ void cx18_memset_io(struct cx18 *cx, void __iomem *addr, int val, size_t count)
218void cx18_sw1_irq_enable(struct cx18 *cx, u32 val) 231void cx18_sw1_irq_enable(struct cx18 *cx, u32 val)
219{ 232{
220 u32 r; 233 u32 r;
221 cx18_write_reg(cx, val, SW1_INT_STATUS); 234 cx18_write_reg_expect(cx, val, SW1_INT_STATUS, ~val, val);
222 r = cx18_read_reg(cx, SW1_INT_ENABLE_PCI); 235 r = cx18_read_reg(cx, SW1_INT_ENABLE_PCI);
223 cx18_write_reg(cx, r | val, SW1_INT_ENABLE_PCI); 236 cx18_write_reg(cx, r | val, SW1_INT_ENABLE_PCI);
224} 237}
@@ -233,7 +246,7 @@ void cx18_sw1_irq_disable(struct cx18 *cx, u32 val)
233void cx18_sw2_irq_enable(struct cx18 *cx, u32 val) 246void cx18_sw2_irq_enable(struct cx18 *cx, u32 val)
234{ 247{
235 u32 r; 248 u32 r;
236 cx18_write_reg(cx, val, SW2_INT_STATUS); 249 cx18_write_reg_expect(cx, val, SW2_INT_STATUS, ~val, val);
237 r = cx18_read_reg(cx, SW2_INT_ENABLE_PCI); 250 r = cx18_read_reg(cx, SW2_INT_ENABLE_PCI);
238 cx18_write_reg(cx, r | val, SW2_INT_ENABLE_PCI); 251 cx18_write_reg(cx, r | val, SW2_INT_ENABLE_PCI);
239} 252}
diff --git a/drivers/media/video/cx18/cx18-io.h b/drivers/media/video/cx18/cx18-io.h
index 287a5e8bf67b..425244453ea7 100644
--- a/drivers/media/video/cx18/cx18-io.h
+++ b/drivers/media/video/cx18/cx18-io.h
@@ -133,6 +133,8 @@ static inline void cx18_writel(struct cx18 *cx, u32 val, void __iomem *addr)
133 cx18_writel_noretry(cx, val, addr); 133 cx18_writel_noretry(cx, val, addr);
134} 134}
135 135
136void _cx18_writel_expect(struct cx18 *cx, u32 val, void __iomem *addr,
137 u32 eval, u32 mask);
136 138
137static inline 139static inline
138void cx18_writew_noretry(struct cx18 *cx, u16 val, void __iomem *addr) 140void cx18_writew_noretry(struct cx18 *cx, u16 val, void __iomem *addr)
@@ -271,6 +273,21 @@ static inline void cx18_write_reg(struct cx18 *cx, u32 val, u32 reg)
271 cx18_write_reg_noretry(cx, val, reg); 273 cx18_write_reg_noretry(cx, val, reg);
272} 274}
273 275
276static inline void _cx18_write_reg_expect(struct cx18 *cx, u32 val, u32 reg,
277 u32 eval, u32 mask)
278{
279 _cx18_writel_expect(cx, val, cx->reg_mem + reg, eval, mask);
280}
281
282static inline void cx18_write_reg_expect(struct cx18 *cx, u32 val, u32 reg,
283 u32 eval, u32 mask)
284{
285 if (cx18_retry_mmio)
286 _cx18_write_reg_expect(cx, val, reg, eval, mask);
287 else
288 cx18_write_reg_noretry(cx, val, reg);
289}
290
274 291
275static inline u32 cx18_read_reg_noretry(struct cx18 *cx, u32 reg) 292static inline u32 cx18_read_reg_noretry(struct cx18 *cx, u32 reg)
276{ 293{
diff --git a/drivers/media/video/cx18/cx18-irq.c b/drivers/media/video/cx18/cx18-irq.c
index 360330f5463f..5fbfbd0f1493 100644
--- a/drivers/media/video/cx18/cx18-irq.c
+++ b/drivers/media/video/cx18/cx18-irq.c
@@ -29,8 +29,20 @@
29#include "cx18-mailbox.h" 29#include "cx18-mailbox.h"
30#include "cx18-vbi.h" 30#include "cx18-vbi.h"
31#include "cx18-scb.h" 31#include "cx18-scb.h"
32#include "cx18-dvb.h"
32 33
33#define DMA_MAGIC_COOKIE 0x000001fe 34void cx18_work_handler(struct work_struct *work)
35{
36 struct cx18 *cx = container_of(work, struct cx18, work);
37 if (test_and_clear_bit(CX18_F_I_WORK_INITED, &cx->i_flags)) {
38 struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
39 /* This thread must use the FIFO scheduler as it
40 * is realtime sensitive. */
41 sched_setscheduler(current, SCHED_FIFO, &param);
42 }
43 if (test_and_clear_bit(CX18_F_I_WORK_HANDLER_DVB, &cx->i_flags))
44 cx18_dvb_work_handler(cx);
45}
34 46
35static void epu_dma_done(struct cx18 *cx, struct cx18_mailbox *mb) 47static void epu_dma_done(struct cx18 *cx, struct cx18_mailbox *mb)
36{ 48{
@@ -67,17 +79,11 @@ static void epu_dma_done(struct cx18 *cx, struct cx18_mailbox *mb)
67 if (buf) { 79 if (buf) {
68 cx18_buf_sync_for_cpu(s, buf); 80 cx18_buf_sync_for_cpu(s, buf);
69 if (s->type == CX18_ENC_STREAM_TYPE_TS && s->dvb.enabled) { 81 if (s->type == CX18_ENC_STREAM_TYPE_TS && s->dvb.enabled) {
70 /* process the buffer here */ 82 CX18_DEBUG_HI_DMA("TS recv bytesused = %d\n",
71 CX18_DEBUG_HI_DMA("TS recv and sent bytesused=%d\n",
72 buf->bytesused);
73
74 dvb_dmx_swfilter(&s->dvb.demux, buf->buf,
75 buf->bytesused); 83 buf->bytesused);
76 84
77 cx18_buf_sync_for_device(s, buf); 85 set_bit(CX18_F_I_WORK_HANDLER_DVB, &cx->i_flags);
78 cx18_vapi(cx, CX18_CPU_DE_SET_MDL, 5, s->handle, 86 set_bit(CX18_F_I_HAVE_WORK, &cx->i_flags);
79 (void __iomem *)&cx->scb->cpu_mdl[buf->id] - cx->enc_mem,
80 1, buf->id, s->buf_size);
81 } else 87 } else
82 set_bit(CX18_F_B_NEED_BUF_SWAP, &buf->b_flags); 88 set_bit(CX18_F_B_NEED_BUF_SWAP, &buf->b_flags);
83 } else { 89 } else {
@@ -109,7 +115,7 @@ static void epu_debug(struct cx18 *cx, struct cx18_mailbox *mb)
109 CX18_INFO("FW version: %s\n", p - 1); 115 CX18_INFO("FW version: %s\n", p - 1);
110} 116}
111 117
112static void hpu_cmd(struct cx18 *cx, u32 sw1) 118static void epu_cmd(struct cx18 *cx, u32 sw1)
113{ 119{
114 struct cx18_mailbox mb; 120 struct cx18_mailbox mb;
115 121
@@ -125,12 +131,31 @@ static void hpu_cmd(struct cx18 *cx, u32 sw1)
125 epu_debug(cx, &mb); 131 epu_debug(cx, &mb);
126 break; 132 break;
127 default: 133 default:
128 CX18_WARN("Unexpected mailbox command %08x\n", mb.cmd); 134 CX18_WARN("Unknown CPU_TO_EPU mailbox command %#08x\n",
135 mb.cmd);
129 break; 136 break;
130 } 137 }
131 } 138 }
132 if (sw1 & (IRQ_APU_TO_EPU | IRQ_HPU_TO_EPU)) 139
133 CX18_WARN("Unexpected interrupt %08x\n", sw1); 140 if (sw1 & IRQ_APU_TO_EPU) {
141 cx18_memcpy_fromio(cx, &mb, &cx->scb->apu2epu_mb, sizeof(mb));
142 CX18_WARN("Unknown APU_TO_EPU mailbox command %#08x\n", mb.cmd);
143 }
144
145 if (sw1 & IRQ_HPU_TO_EPU) {
146 cx18_memcpy_fromio(cx, &mb, &cx->scb->hpu2epu_mb, sizeof(mb));
147 CX18_WARN("Unknown HPU_TO_EPU mailbox command %#08x\n", mb.cmd);
148 }
149}
150
151static void xpu_ack(struct cx18 *cx, u32 sw2)
152{
153 if (sw2 & IRQ_CPU_TO_EPU_ACK)
154 wake_up(&cx->mb_cpu_waitq);
155 if (sw2 & IRQ_APU_TO_EPU_ACK)
156 wake_up(&cx->mb_apu_waitq);
157 if (sw2 & IRQ_HPU_TO_EPU_ACK)
158 wake_up(&cx->mb_hpu_waitq);
134} 159}
135 160
136irqreturn_t cx18_irq_handler(int irq, void *dev_id) 161irqreturn_t cx18_irq_handler(int irq, void *dev_id)
@@ -140,43 +165,36 @@ irqreturn_t cx18_irq_handler(int irq, void *dev_id)
140 u32 sw2, sw2_mask; 165 u32 sw2, sw2_mask;
141 u32 hw2, hw2_mask; 166 u32 hw2, hw2_mask;
142 167
143 spin_lock(&cx->dma_reg_lock); 168 sw1_mask = cx18_read_reg(cx, SW1_INT_ENABLE_PCI);
144 169 sw1 = cx18_read_reg(cx, SW1_INT_STATUS) & sw1_mask;
170 sw2_mask = cx18_read_reg(cx, SW2_INT_ENABLE_PCI);
171 sw2 = cx18_read_reg(cx, SW2_INT_STATUS) & sw2_mask;
145 hw2_mask = cx18_read_reg(cx, HW2_INT_MASK5_PCI); 172 hw2_mask = cx18_read_reg(cx, HW2_INT_MASK5_PCI);
146 hw2 = cx18_read_reg(cx, HW2_INT_CLR_STATUS) & hw2_mask; 173 hw2 = cx18_read_reg(cx, HW2_INT_CLR_STATUS) & hw2_mask;
147 sw2_mask = cx18_read_reg(cx, SW2_INT_ENABLE_PCI) | IRQ_EPU_TO_HPU_ACK;
148 sw2 = cx18_read_reg(cx, SW2_INT_STATUS) & sw2_mask;
149 sw1_mask = cx18_read_reg(cx, SW1_INT_ENABLE_PCI) | IRQ_EPU_TO_HPU;
150 sw1 = cx18_read_reg(cx, SW1_INT_STATUS) & sw1_mask;
151 174
152 cx18_write_reg(cx, sw2&sw2_mask, SW2_INT_STATUS); 175 if (sw1)
153 cx18_write_reg(cx, sw1&sw1_mask, SW1_INT_STATUS); 176 cx18_write_reg_expect(cx, sw1, SW1_INT_STATUS, ~sw1, sw1);
154 cx18_write_reg(cx, hw2&hw2_mask, HW2_INT_CLR_STATUS); 177 if (sw2)
178 cx18_write_reg_expect(cx, sw2, SW2_INT_STATUS, ~sw2, sw2);
179 if (hw2)
180 cx18_write_reg_expect(cx, hw2, HW2_INT_CLR_STATUS, ~hw2, hw2);
155 181
156 if (sw1 || sw2 || hw2) 182 if (sw1 || sw2 || hw2)
157 CX18_DEBUG_HI_IRQ("SW1: %x SW2: %x HW2: %x\n", sw1, sw2, hw2); 183 CX18_DEBUG_HI_IRQ("SW1: %x SW2: %x HW2: %x\n", sw1, sw2, hw2);
158 184
159 /* To do: interrupt-based I2C handling 185 /* To do: interrupt-based I2C handling
160 if (hw2 & 0x00c00000) { 186 if (hw2 & (HW2_I2C1_INT|HW2_I2C2_INT)) {
161 } 187 }
162 */ 188 */
163 189
164 if (sw2) { 190 if (sw2)
165 if (sw2 & (cx18_readl(cx, &cx->scb->cpu2hpu_irq_ack) | 191 xpu_ack(cx, sw2);
166 cx18_readl(cx, &cx->scb->cpu2epu_irq_ack)))
167 wake_up(&cx->mb_cpu_waitq);
168 if (sw2 & (cx18_readl(cx, &cx->scb->apu2hpu_irq_ack) |
169 cx18_readl(cx, &cx->scb->apu2epu_irq_ack)))
170 wake_up(&cx->mb_apu_waitq);
171 if (sw2 & cx18_readl(cx, &cx->scb->epu2hpu_irq_ack))
172 wake_up(&cx->mb_epu_waitq);
173 if (sw2 & cx18_readl(cx, &cx->scb->hpu2epu_irq_ack))
174 wake_up(&cx->mb_hpu_waitq);
175 }
176 192
177 if (sw1) 193 if (sw1)
178 hpu_cmd(cx, sw1); 194 epu_cmd(cx, sw1);
179 spin_unlock(&cx->dma_reg_lock); 195
196 if (test_and_clear_bit(CX18_F_I_HAVE_WORK, &cx->i_flags))
197 queue_work(cx->work_queue, &cx->work);
180 198
181 return (hw2 | sw1 | sw2) ? IRQ_HANDLED : IRQ_NONE; 199 return (sw1 || sw2 || hw2) ? IRQ_HANDLED : IRQ_NONE;
182} 200}
diff --git a/drivers/media/video/cx18/cx18-irq.h b/drivers/media/video/cx18/cx18-irq.h
index 379f704f5cba..6173ca3bc9e4 100644
--- a/drivers/media/video/cx18/cx18-irq.h
+++ b/drivers/media/video/cx18/cx18-irq.h
@@ -32,6 +32,4 @@
32 32
33irqreturn_t cx18_irq_handler(int irq, void *dev_id); 33irqreturn_t cx18_irq_handler(int irq, void *dev_id);
34 34
35void cx18_irq_work_handler(struct work_struct *work); 35void cx18_work_handler(struct work_struct *work);
36void cx18_dma_stream_dec_prepare(struct cx18_stream *s, u32 offset, int lock);
37void cx18_unfinished_dma(unsigned long arg);
diff --git a/drivers/media/video/cx18/cx18-mailbox.c b/drivers/media/video/cx18/cx18-mailbox.c
index 9d18dd22de76..acff7dfb60df 100644
--- a/drivers/media/video/cx18/cx18-mailbox.c
+++ b/drivers/media/video/cx18/cx18-mailbox.c
@@ -83,7 +83,7 @@ static const struct cx18_api_info api_info[] = {
83 API_ENTRY(CPU, CX18_CPU_DE_SET_MDL_ACK, 0), 83 API_ENTRY(CPU, CX18_CPU_DE_SET_MDL_ACK, 0),
84 API_ENTRY(CPU, CX18_CPU_DE_SET_MDL, API_FAST), 84 API_ENTRY(CPU, CX18_CPU_DE_SET_MDL, API_FAST),
85 API_ENTRY(CPU, CX18_APU_RESETAI, API_FAST), 85 API_ENTRY(CPU, CX18_APU_RESETAI, API_FAST),
86 API_ENTRY(CPU, CX18_CPU_DE_RELEASE_MDL, 0), 86 API_ENTRY(CPU, CX18_CPU_DE_RELEASE_MDL, API_SLOW),
87 API_ENTRY(0, 0, 0), 87 API_ENTRY(0, 0, 0),
88}; 88};
89 89
@@ -176,7 +176,7 @@ long cx18_mb_ack(struct cx18 *cx, const struct cx18_mailbox *mb)
176 176
177 cx18_setup_page(cx, SCB_OFFSET); 177 cx18_setup_page(cx, SCB_OFFSET);
178 cx18_write_sync(cx, mb->request, &ack_mb->ack); 178 cx18_write_sync(cx, mb->request, &ack_mb->ack);
179 cx18_write_reg(cx, ack_irq, SW2_INT_SET); 179 cx18_write_reg_expect(cx, ack_irq, SW2_INT_SET, ack_irq, ack_irq);
180 return 0; 180 return 0;
181} 181}
182 182
@@ -225,7 +225,7 @@ static int cx18_api_call(struct cx18 *cx, u32 cmd, int args, u32 data[])
225 } 225 }
226 if (info->flags & API_FAST) 226 if (info->flags & API_FAST)
227 timeout /= 2; 227 timeout /= 2;
228 cx18_write_reg(cx, irq, SW1_INT_SET); 228 cx18_write_reg_expect(cx, irq, SW1_INT_SET, irq, irq);
229 229
230 while (!sig && cx18_readl(cx, &mb->ack) != cx18_readl(cx, &mb->request) 230 while (!sig && cx18_readl(cx, &mb->ack) != cx18_readl(cx, &mb->request)
231 && cnt < 660) { 231 && cnt < 660) {
diff --git a/drivers/media/video/cx18/cx18-queue.c b/drivers/media/video/cx18/cx18-queue.c
index a33ba04a2686..174682c2582f 100644
--- a/drivers/media/video/cx18/cx18-queue.c
+++ b/drivers/media/video/cx18/cx18-queue.c
@@ -88,15 +88,13 @@ struct cx18_buffer *cx18_queue_get_buf_irq(struct cx18_stream *s, u32 id,
88 88
89 if (buf->id != id) 89 if (buf->id != id)
90 continue; 90 continue;
91
91 buf->bytesused = bytesused; 92 buf->bytesused = bytesused;
92 /* the transport buffers are handled differently, 93 atomic_dec(&s->q_free.buffers);
93 they are not moved to the full queue */ 94 atomic_inc(&s->q_full.buffers);
94 if (s->type != CX18_ENC_STREAM_TYPE_TS) { 95 s->q_full.bytesused += buf->bytesused;
95 atomic_dec(&s->q_free.buffers); 96 list_move_tail(&buf->list, &s->q_full.list);
96 atomic_inc(&s->q_full.buffers); 97
97 s->q_full.bytesused += buf->bytesused;
98 list_move_tail(&buf->list, &s->q_full.list);
99 }
100 spin_unlock(&s->qlock); 98 spin_unlock(&s->qlock);
101 return buf; 99 return buf;
102 } 100 }
diff --git a/drivers/media/video/cx18/cx18-scb.h b/drivers/media/video/cx18/cx18-scb.h
index 86b4cb15d163..594713bbed68 100644
--- a/drivers/media/video/cx18/cx18-scb.h
+++ b/drivers/media/video/cx18/cx18-scb.h
@@ -128,22 +128,22 @@ struct cx18_scb {
128 u32 apu2cpu_irq; 128 u32 apu2cpu_irq;
129 /* Value to write to register SW2 register set (0xC7003140) after the 129 /* Value to write to register SW2 register set (0xC7003140) after the
130 command is cleared */ 130 command is cleared */
131 u32 apu2cpu_irq_ack; 131 u32 cpu2apu_irq_ack;
132 u32 reserved2[13]; 132 u32 reserved2[13];
133 133
134 u32 hpu2cpu_mb_offset; 134 u32 hpu2cpu_mb_offset;
135 u32 hpu2cpu_irq; 135 u32 hpu2cpu_irq;
136 u32 hpu2cpu_irq_ack; 136 u32 cpu2hpu_irq_ack;
137 u32 reserved3[13]; 137 u32 reserved3[13];
138 138
139 u32 ppu2cpu_mb_offset; 139 u32 ppu2cpu_mb_offset;
140 u32 ppu2cpu_irq; 140 u32 ppu2cpu_irq;
141 u32 ppu2cpu_irq_ack; 141 u32 cpu2ppu_irq_ack;
142 u32 reserved4[13]; 142 u32 reserved4[13];
143 143
144 u32 epu2cpu_mb_offset; 144 u32 epu2cpu_mb_offset;
145 u32 epu2cpu_irq; 145 u32 epu2cpu_irq;
146 u32 epu2cpu_irq_ack; 146 u32 cpu2epu_irq_ack;
147 u32 reserved5[13]; 147 u32 reserved5[13];
148 u32 reserved6[8]; 148 u32 reserved6[8];
149 149
@@ -153,22 +153,22 @@ struct cx18_scb {
153 u32 reserved11[7]; 153 u32 reserved11[7];
154 u32 cpu2apu_mb_offset; 154 u32 cpu2apu_mb_offset;
155 u32 cpu2apu_irq; 155 u32 cpu2apu_irq;
156 u32 cpu2apu_irq_ack; 156 u32 apu2cpu_irq_ack;
157 u32 reserved12[13]; 157 u32 reserved12[13];
158 158
159 u32 hpu2apu_mb_offset; 159 u32 hpu2apu_mb_offset;
160 u32 hpu2apu_irq; 160 u32 hpu2apu_irq;
161 u32 hpu2apu_irq_ack; 161 u32 apu2hpu_irq_ack;
162 u32 reserved13[13]; 162 u32 reserved13[13];
163 163
164 u32 ppu2apu_mb_offset; 164 u32 ppu2apu_mb_offset;
165 u32 ppu2apu_irq; 165 u32 ppu2apu_irq;
166 u32 ppu2apu_irq_ack; 166 u32 apu2ppu_irq_ack;
167 u32 reserved14[13]; 167 u32 reserved14[13];
168 168
169 u32 epu2apu_mb_offset; 169 u32 epu2apu_mb_offset;
170 u32 epu2apu_irq; 170 u32 epu2apu_irq;
171 u32 epu2apu_irq_ack; 171 u32 apu2epu_irq_ack;
172 u32 reserved15[13]; 172 u32 reserved15[13];
173 u32 reserved16[8]; 173 u32 reserved16[8];
174 174
@@ -178,22 +178,22 @@ struct cx18_scb {
178 u32 reserved21[7]; 178 u32 reserved21[7];
179 u32 cpu2hpu_mb_offset; 179 u32 cpu2hpu_mb_offset;
180 u32 cpu2hpu_irq; 180 u32 cpu2hpu_irq;
181 u32 cpu2hpu_irq_ack; 181 u32 hpu2cpu_irq_ack;
182 u32 reserved22[13]; 182 u32 reserved22[13];
183 183
184 u32 apu2hpu_mb_offset; 184 u32 apu2hpu_mb_offset;
185 u32 apu2hpu_irq; 185 u32 apu2hpu_irq;
186 u32 apu2hpu_irq_ack; 186 u32 hpu2apu_irq_ack;
187 u32 reserved23[13]; 187 u32 reserved23[13];
188 188
189 u32 ppu2hpu_mb_offset; 189 u32 ppu2hpu_mb_offset;
190 u32 ppu2hpu_irq; 190 u32 ppu2hpu_irq;
191 u32 ppu2hpu_irq_ack; 191 u32 hpu2ppu_irq_ack;
192 u32 reserved24[13]; 192 u32 reserved24[13];
193 193
194 u32 epu2hpu_mb_offset; 194 u32 epu2hpu_mb_offset;
195 u32 epu2hpu_irq; 195 u32 epu2hpu_irq;
196 u32 epu2hpu_irq_ack; 196 u32 hpu2epu_irq_ack;
197 u32 reserved25[13]; 197 u32 reserved25[13];
198 u32 reserved26[8]; 198 u32 reserved26[8];
199 199
@@ -203,22 +203,22 @@ struct cx18_scb {
203 u32 reserved31[7]; 203 u32 reserved31[7];
204 u32 cpu2ppu_mb_offset; 204 u32 cpu2ppu_mb_offset;
205 u32 cpu2ppu_irq; 205 u32 cpu2ppu_irq;
206 u32 cpu2ppu_irq_ack; 206 u32 ppu2cpu_irq_ack;
207 u32 reserved32[13]; 207 u32 reserved32[13];
208 208
209 u32 apu2ppu_mb_offset; 209 u32 apu2ppu_mb_offset;
210 u32 apu2ppu_irq; 210 u32 apu2ppu_irq;
211 u32 apu2ppu_irq_ack; 211 u32 ppu2apu_irq_ack;
212 u32 reserved33[13]; 212 u32 reserved33[13];
213 213
214 u32 hpu2ppu_mb_offset; 214 u32 hpu2ppu_mb_offset;
215 u32 hpu2ppu_irq; 215 u32 hpu2ppu_irq;
216 u32 hpu2ppu_irq_ack; 216 u32 ppu2hpu_irq_ack;
217 u32 reserved34[13]; 217 u32 reserved34[13];
218 218
219 u32 epu2ppu_mb_offset; 219 u32 epu2ppu_mb_offset;
220 u32 epu2ppu_irq; 220 u32 epu2ppu_irq;
221 u32 epu2ppu_irq_ack; 221 u32 ppu2epu_irq_ack;
222 u32 reserved35[13]; 222 u32 reserved35[13];
223 u32 reserved36[8]; 223 u32 reserved36[8];
224 224
@@ -228,22 +228,22 @@ struct cx18_scb {
228 u32 reserved41[7]; 228 u32 reserved41[7];
229 u32 cpu2epu_mb_offset; 229 u32 cpu2epu_mb_offset;
230 u32 cpu2epu_irq; 230 u32 cpu2epu_irq;
231 u32 cpu2epu_irq_ack; 231 u32 epu2cpu_irq_ack;
232 u32 reserved42[13]; 232 u32 reserved42[13];
233 233
234 u32 apu2epu_mb_offset; 234 u32 apu2epu_mb_offset;
235 u32 apu2epu_irq; 235 u32 apu2epu_irq;
236 u32 apu2epu_irq_ack; 236 u32 epu2apu_irq_ack;
237 u32 reserved43[13]; 237 u32 reserved43[13];
238 238
239 u32 hpu2epu_mb_offset; 239 u32 hpu2epu_mb_offset;
240 u32 hpu2epu_irq; 240 u32 hpu2epu_irq;
241 u32 hpu2epu_irq_ack; 241 u32 epu2hpu_irq_ack;
242 u32 reserved44[13]; 242 u32 reserved44[13];
243 243
244 u32 ppu2epu_mb_offset; 244 u32 ppu2epu_mb_offset;
245 u32 ppu2epu_irq; 245 u32 ppu2epu_irq;
246 u32 ppu2epu_irq_ack; 246 u32 epu2ppu_irq_ack;
247 u32 reserved45[13]; 247 u32 reserved45[13];
248 u32 reserved46[8]; 248 u32 reserved46[8];
249 249
diff --git a/drivers/media/video/cx88/cx88-blackbird.c b/drivers/media/video/cx88/cx88-blackbird.c
index 078be6319556..d3ae5b4dfca7 100644
--- a/drivers/media/video/cx88/cx88-blackbird.c
+++ b/drivers/media/video/cx88/cx88-blackbird.c
@@ -1078,7 +1078,7 @@ static int mpeg_open(struct inode *inode, struct file *file)
1078 } 1078 }
1079 } 1079 }
1080 1080
1081 if (blackbird_initialize_codec(dev) < 0) { 1081 if (!atomic_read(&dev->core->mpeg_users) && blackbird_initialize_codec(dev) < 0) {
1082 if (drv) 1082 if (drv)
1083 drv->request_release(drv); 1083 drv->request_release(drv);
1084 unlock_kernel(); 1084 unlock_kernel();
@@ -1109,6 +1109,8 @@ static int mpeg_open(struct inode *inode, struct file *file)
1109 fh->mpegq.field); 1109 fh->mpegq.field);
1110 unlock_kernel(); 1110 unlock_kernel();
1111 1111
1112 atomic_inc(&dev->core->mpeg_users);
1113
1112 return 0; 1114 return 0;
1113} 1115}
1114 1116
@@ -1118,7 +1120,7 @@ static int mpeg_release(struct inode *inode, struct file *file)
1118 struct cx8802_dev *dev = fh->dev; 1120 struct cx8802_dev *dev = fh->dev;
1119 struct cx8802_driver *drv = NULL; 1121 struct cx8802_driver *drv = NULL;
1120 1122
1121 if (dev->mpeg_active) 1123 if (dev->mpeg_active && atomic_read(&dev->core->mpeg_users) == 1)
1122 blackbird_stop_codec(dev); 1124 blackbird_stop_codec(dev);
1123 1125
1124 cx8802_cancel_buffers(fh->dev); 1126 cx8802_cancel_buffers(fh->dev);
@@ -1138,6 +1140,8 @@ static int mpeg_release(struct inode *inode, struct file *file)
1138 if (drv) 1140 if (drv)
1139 drv->request_release(drv); 1141 drv->request_release(drv);
1140 1142
1143 atomic_dec(&dev->core->mpeg_users);
1144
1141 return 0; 1145 return 0;
1142} 1146}
1143 1147
@@ -1158,6 +1162,10 @@ static unsigned int
1158mpeg_poll(struct file *file, struct poll_table_struct *wait) 1162mpeg_poll(struct file *file, struct poll_table_struct *wait)
1159{ 1163{
1160 struct cx8802_fh *fh = file->private_data; 1164 struct cx8802_fh *fh = file->private_data;
1165 struct cx8802_dev *dev = fh->dev;
1166
1167 if (!dev->mpeg_active)
1168 blackbird_start_codec(file, fh);
1161 1169
1162 return videobuf_poll_stream(file, &fh->mpegq, wait); 1170 return videobuf_poll_stream(file, &fh->mpegq, wait);
1163} 1171}
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index cf6c30d4e545..309ca5e68063 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -598,6 +598,11 @@ static int dvb_register(struct cx8802_dev *dev)
598 struct videobuf_dvb_frontend *fe0, *fe1 = NULL; 598 struct videobuf_dvb_frontend *fe0, *fe1 = NULL;
599 int mfe_shared = 0; /* bus not shared by default */ 599 int mfe_shared = 0; /* bus not shared by default */
600 600
601 if (0 != core->i2c_rc) {
602 printk(KERN_ERR "%s/2: no i2c-bus available, cannot attach dvb drivers\n", core->name);
603 goto frontend_detach;
604 }
605
601 /* Get the first frontend */ 606 /* Get the first frontend */
602 fe0 = videobuf_dvb_get_frontend(&dev->frontends, 1); 607 fe0 = videobuf_dvb_get_frontend(&dev->frontends, 1);
603 if (!fe0) 608 if (!fe0)
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index a1c435b4b1cd..3ebdcd1d83f8 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -769,10 +769,6 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev,
769 struct cx8802_dev *dev; 769 struct cx8802_dev *dev;
770 struct cx88_core *core; 770 struct cx88_core *core;
771 int err; 771 int err;
772#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE)
773 struct videobuf_dvb_frontend *demod;
774 int i;
775#endif
776 772
777 /* general setup */ 773 /* general setup */
778 core = cx88_core_get(pci_dev); 774 core = cx88_core_get(pci_dev);
@@ -803,15 +799,21 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev,
803 mutex_init(&dev->frontends.lock); 799 mutex_init(&dev->frontends.lock);
804 INIT_LIST_HEAD(&dev->frontends.felist); 800 INIT_LIST_HEAD(&dev->frontends.felist);
805 801
806 if (core->board.num_frontends) 802 if (core->board.num_frontends) {
807 printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, core->board.num_frontends); 803 struct videobuf_dvb_frontend *fe;
808 804 int i;
809 for (i = 1; i <= core->board.num_frontends; i++) { 805
810 demod = videobuf_dvb_alloc_frontend(&dev->frontends, i); 806 printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__,
811 if(demod == NULL) { 807 core->board.num_frontends);
812 printk(KERN_ERR "%s() failed to alloc\n", __func__); 808 for (i = 1; i <= core->board.num_frontends; i++) {
813 err = -ENOMEM; 809 fe = videobuf_dvb_alloc_frontend(&dev->frontends, i);
814 goto fail_free; 810 if(fe == NULL) {
811 printk(KERN_ERR "%s() failed to alloc\n",
812 __func__);
813 videobuf_dvb_dealloc_frontends(&dev->frontends);
814 err = -ENOMEM;
815 goto fail_free;
816 }
815 } 817 }
816 } 818 }
817#endif 819#endif
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 61265fd04d56..b96ce991d968 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1216,8 +1216,12 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
1216 struct cx8800_fh *fh = priv; 1216 struct cx8800_fh *fh = priv;
1217 struct cx8800_dev *dev = fh->dev; 1217 struct cx8800_dev *dev = fh->dev;
1218 1218
1219 if (unlikely(fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)) 1219 /* We should remember that this driver also supports teletext, */
1220 /* so we have to test if the v4l2_buf_type is VBI capture data. */
1221 if (unlikely((fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) &&
1222 (fh->type != V4L2_BUF_TYPE_VBI_CAPTURE)))
1220 return -EINVAL; 1223 return -EINVAL;
1224
1221 if (unlikely(i != fh->type)) 1225 if (unlikely(i != fh->type))
1222 return -EINVAL; 1226 return -EINVAL;
1223 1227
@@ -1232,8 +1236,10 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
1232 struct cx8800_dev *dev = fh->dev; 1236 struct cx8800_dev *dev = fh->dev;
1233 int err, res; 1237 int err, res;
1234 1238
1235 if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) 1239 if ((fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) &&
1240 (fh->type != V4L2_BUF_TYPE_VBI_CAPTURE))
1236 return -EINVAL; 1241 return -EINVAL;
1242
1237 if (i != fh->type) 1243 if (i != fh->type)
1238 return -EINVAL; 1244 return -EINVAL;
1239 1245
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 76207c2856b7..f4240965be32 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -352,6 +352,7 @@ struct cx88_core {
352 /* various v4l controls */ 352 /* various v4l controls */
353 u32 freq; 353 u32 freq;
354 atomic_t users; 354 atomic_t users;
355 atomic_t mpeg_users;
355 356
356 /* cx88-video needs to access cx8802 for hybrid tuner pll access. */ 357 /* cx88-video needs to access cx8802 for hybrid tuner pll access. */
357 struct cx8802_dev *dvbdev; 358 struct cx8802_dev *dvbdev;
diff --git a/drivers/media/video/gspca/Kconfig b/drivers/media/video/gspca/Kconfig
index 4d0817471c9f..6b557c057fac 100644
--- a/drivers/media/video/gspca/Kconfig
+++ b/drivers/media/video/gspca/Kconfig
@@ -3,16 +3,16 @@ menuconfig USB_GSPCA
3 depends on VIDEO_V4L2 3 depends on VIDEO_V4L2
4 default m 4 default m
5 ---help--- 5 ---help---
6 Say Y here if you want to enable selecting webcams based 6 Say Y here if you want to enable selecting webcams based
7 on the GSPCA framework. 7 on the GSPCA framework.
8 8
9 See <file:Documentation/video4linux/gspca.txt> for more info. 9 See <file:Documentation/video4linux/gspca.txt> for more info.
10 10
11 This driver uses the Video For Linux API. You must say Y or M to 11 This driver uses the Video For Linux API. You must say Y or M to
12 "Video For Linux" to use this driver. 12 "Video For Linux" to use this driver.
13 13
14 To compile this driver as modules, choose M here: the 14 To compile this driver as modules, choose M here: the
15 modules will be called gspca_main. 15 modules will be called gspca_main.
16 16
17 17
18if USB_GSPCA && VIDEO_V4L2 18if USB_GSPCA && VIDEO_V4L2
@@ -23,190 +23,190 @@ config USB_GSPCA_CONEX
23 tristate "Conexant Camera Driver" 23 tristate "Conexant Camera Driver"
24 depends on VIDEO_V4L2 && USB_GSPCA 24 depends on VIDEO_V4L2 && USB_GSPCA
25 help 25 help
26 Say Y here if you want support for cameras based on the Conexant chip. 26 Say Y here if you want support for cameras based on the Conexant chip.
27 27
28 To compile this driver as a module, choose M here: the 28 To compile this driver as a module, choose M here: the
29 module will be called gspca_conex. 29 module will be called gspca_conex.
30 30
31config USB_GSPCA_ETOMS 31config USB_GSPCA_ETOMS
32 tristate "Etoms USB Camera Driver" 32 tristate "Etoms USB Camera Driver"
33 depends on VIDEO_V4L2 && USB_GSPCA 33 depends on VIDEO_V4L2 && USB_GSPCA
34 help 34 help
35 Say Y here if you want support for cameras based on the Etoms chip. 35 Say Y here if you want support for cameras based on the Etoms chip.
36 36
37 To compile this driver as a module, choose M here: the 37 To compile this driver as a module, choose M here: the
38 module will be called gspca_etoms. 38 module will be called gspca_etoms.
39 39
40config USB_GSPCA_FINEPIX 40config USB_GSPCA_FINEPIX
41 tristate "Fujifilm FinePix USB V4L2 driver" 41 tristate "Fujifilm FinePix USB V4L2 driver"
42 depends on VIDEO_V4L2 && USB_GSPCA 42 depends on VIDEO_V4L2 && USB_GSPCA
43 help 43 help
44 Say Y here if you want support for cameras based on the FinePix chip. 44 Say Y here if you want support for cameras based on the FinePix chip.
45 45
46 To compile this driver as a module, choose M here: the 46 To compile this driver as a module, choose M here: the
47 module will be called gspca_finepix. 47 module will be called gspca_finepix.
48 48
49config USB_GSPCA_MARS 49config USB_GSPCA_MARS
50 tristate "Mars USB Camera Driver" 50 tristate "Mars USB Camera Driver"
51 depends on VIDEO_V4L2 && USB_GSPCA 51 depends on VIDEO_V4L2 && USB_GSPCA
52 help 52 help
53 Say Y here if you want support for cameras based on the Mars chip. 53 Say Y here if you want support for cameras based on the Mars chip.
54 54
55 To compile this driver as a module, choose M here: the 55 To compile this driver as a module, choose M here: the
56 module will be called gspca_mars. 56 module will be called gspca_mars.
57 57
58config USB_GSPCA_OV519 58config USB_GSPCA_OV519
59 tristate "OV519 USB Camera Driver" 59 tristate "OV519 USB Camera Driver"
60 depends on VIDEO_V4L2 && USB_GSPCA 60 depends on VIDEO_V4L2 && USB_GSPCA
61 help 61 help
62 Say Y here if you want support for cameras based on the OV519 chip. 62 Say Y here if you want support for cameras based on the OV519 chip.
63 63
64 To compile this driver as a module, choose M here: the 64 To compile this driver as a module, choose M here: the
65 module will be called gspca_ov519. 65 module will be called gspca_ov519.
66 66
67config USB_GSPCA_PAC207 67config USB_GSPCA_PAC207
68 tristate "Pixart PAC207 USB Camera Driver" 68 tristate "Pixart PAC207 USB Camera Driver"
69 depends on VIDEO_V4L2 && USB_GSPCA 69 depends on VIDEO_V4L2 && USB_GSPCA
70 help 70 help
71 Say Y here if you want support for cameras based on the PAC207 chip. 71 Say Y here if you want support for cameras based on the PAC207 chip.
72 72
73 To compile this driver as a module, choose M here: the 73 To compile this driver as a module, choose M here: the
74 module will be called gspca_pac207. 74 module will be called gspca_pac207.
75 75
76config USB_GSPCA_PAC7311 76config USB_GSPCA_PAC7311
77 tristate "Pixart PAC7311 USB Camera Driver" 77 tristate "Pixart PAC7311 USB Camera Driver"
78 depends on VIDEO_V4L2 && USB_GSPCA 78 depends on VIDEO_V4L2 && USB_GSPCA
79 help 79 help
80 Say Y here if you want support for cameras based on the PAC7311 chip. 80 Say Y here if you want support for cameras based on the PAC7311 chip.
81 81
82 To compile this driver as a module, choose M here: the 82 To compile this driver as a module, choose M here: the
83 module will be called gspca_pac7311. 83 module will be called gspca_pac7311.
84 84
85config USB_GSPCA_SONIXB 85config USB_GSPCA_SONIXB
86 tristate "SN9C102 USB Camera Driver" 86 tristate "SN9C102 USB Camera Driver"
87 depends on VIDEO_V4L2 && USB_GSPCA 87 depends on VIDEO_V4L2 && USB_GSPCA
88 help 88 help
89 Say Y here if you want support for cameras based on the SONIXB chip. 89 Say Y here if you want support for cameras based on the SONIXB chip.
90 90
91 To compile this driver as a module, choose M here: the 91 To compile this driver as a module, choose M here: the
92 module will be called gspca_sonixb. 92 module will be called gspca_sonixb.
93 93
94config USB_GSPCA_SONIXJ 94config USB_GSPCA_SONIXJ
95 tristate "SONIX JPEG USB Camera Driver" 95 tristate "SONIX JPEG USB Camera Driver"
96 depends on VIDEO_V4L2 && USB_GSPCA 96 depends on VIDEO_V4L2 && USB_GSPCA
97 help 97 help
98 Say Y here if you want support for cameras based on the SONIXJ chip. 98 Say Y here if you want support for cameras based on the SONIXJ chip.
99 99
100 To compile this driver as a module, choose M here: the 100 To compile this driver as a module, choose M here: the
101 module will be called gspca_sonixj 101 module will be called gspca_sonixj
102 102
103config USB_GSPCA_SPCA500 103config USB_GSPCA_SPCA500
104 tristate "SPCA500 USB Camera Driver" 104 tristate "SPCA500 USB Camera Driver"
105 depends on VIDEO_V4L2 && USB_GSPCA 105 depends on VIDEO_V4L2 && USB_GSPCA
106 help 106 help
107 Say Y here if you want support for cameras based on the SPCA500 chip. 107 Say Y here if you want support for cameras based on the SPCA500 chip.
108 108
109 To compile this driver as a module, choose M here: the 109 To compile this driver as a module, choose M here: the
110 module will be called gspca_spca500. 110 module will be called gspca_spca500.
111 111
112config USB_GSPCA_SPCA501 112config USB_GSPCA_SPCA501
113 tristate "SPCA501 USB Camera Driver" 113 tristate "SPCA501 USB Camera Driver"
114 depends on VIDEO_V4L2 && USB_GSPCA 114 depends on VIDEO_V4L2 && USB_GSPCA
115 help 115 help
116 Say Y here if you want support for cameras based on the SPCA501 chip. 116 Say Y here if you want support for cameras based on the SPCA501 chip.
117 117
118 To compile this driver as a module, choose M here: the 118 To compile this driver as a module, choose M here: the
119 module will be called gspca_spca501. 119 module will be called gspca_spca501.
120 120
121config USB_GSPCA_SPCA505 121config USB_GSPCA_SPCA505
122 tristate "SPCA505 USB Camera Driver" 122 tristate "SPCA505 USB Camera Driver"
123 depends on VIDEO_V4L2 && USB_GSPCA 123 depends on VIDEO_V4L2 && USB_GSPCA
124 help 124 help
125 Say Y here if you want support for cameras based on the SPCA505 chip. 125 Say Y here if you want support for cameras based on the SPCA505 chip.
126 126
127 To compile this driver as a module, choose M here: the 127 To compile this driver as a module, choose M here: the
128 module will be called gspca_spca505. 128 module will be called gspca_spca505.
129 129
130config USB_GSPCA_SPCA506 130config USB_GSPCA_SPCA506
131 tristate "SPCA506 USB Camera Driver" 131 tristate "SPCA506 USB Camera Driver"
132 depends on VIDEO_V4L2 && USB_GSPCA 132 depends on VIDEO_V4L2 && USB_GSPCA
133 help 133 help
134 Say Y here if you want support for cameras based on the SPCA506 chip. 134 Say Y here if you want support for cameras based on the SPCA506 chip.
135 135
136 To compile this driver as a module, choose M here: the 136 To compile this driver as a module, choose M here: the
137 module will be called gspca_spca506. 137 module will be called gspca_spca506.
138 138
139config USB_GSPCA_SPCA508 139config USB_GSPCA_SPCA508
140 tristate "SPCA508 USB Camera Driver" 140 tristate "SPCA508 USB Camera Driver"
141 depends on VIDEO_V4L2 && USB_GSPCA 141 depends on VIDEO_V4L2 && USB_GSPCA
142 help 142 help
143 Say Y here if you want support for cameras based on the SPCA508 chip. 143 Say Y here if you want support for cameras based on the SPCA508 chip.
144 144
145 To compile this driver as a module, choose M here: the 145 To compile this driver as a module, choose M here: the
146 module will be called gspca_spca508. 146 module will be called gspca_spca508.
147 147
148config USB_GSPCA_SPCA561 148config USB_GSPCA_SPCA561
149 tristate "SPCA561 USB Camera Driver" 149 tristate "SPCA561 USB Camera Driver"
150 depends on VIDEO_V4L2 && USB_GSPCA 150 depends on VIDEO_V4L2 && USB_GSPCA
151 help 151 help
152 Say Y here if you want support for cameras based on the SPCA561 chip. 152 Say Y here if you want support for cameras based on the SPCA561 chip.
153 153
154 To compile this driver as a module, choose M here: the 154 To compile this driver as a module, choose M here: the
155 module will be called gspca_spca561. 155 module will be called gspca_spca561.
156 156
157config USB_GSPCA_STK014 157config USB_GSPCA_STK014
158 tristate "Syntek DV4000 (STK014) USB Camera Driver" 158 tristate "Syntek DV4000 (STK014) USB Camera Driver"
159 depends on VIDEO_V4L2 && USB_GSPCA 159 depends on VIDEO_V4L2 && USB_GSPCA
160 help 160 help
161 Say Y here if you want support for cameras based on the STK014 chip. 161 Say Y here if you want support for cameras based on the STK014 chip.
162 162
163 To compile this driver as a module, choose M here: the 163 To compile this driver as a module, choose M here: the
164 module will be called gspca_stk014. 164 module will be called gspca_stk014.
165 165
166config USB_GSPCA_SUNPLUS 166config USB_GSPCA_SUNPLUS
167 tristate "SUNPLUS USB Camera Driver" 167 tristate "SUNPLUS USB Camera Driver"
168 depends on VIDEO_V4L2 && USB_GSPCA 168 depends on VIDEO_V4L2 && USB_GSPCA
169 help 169 help
170 Say Y here if you want support for cameras based on the Sunplus 170 Say Y here if you want support for cameras based on the Sunplus
171 SPCA504(abc) SPCA533 SPCA536 chips. 171 SPCA504(abc) SPCA533 SPCA536 chips.
172 172
173 To compile this driver as a module, choose M here: the 173 To compile this driver as a module, choose M here: the
174 module will be called gspca_spca5xx. 174 module will be called gspca_spca5xx.
175 175
176config USB_GSPCA_T613 176config USB_GSPCA_T613
177 tristate "T613 (JPEG Compliance) USB Camera Driver" 177 tristate "T613 (JPEG Compliance) USB Camera Driver"
178 depends on VIDEO_V4L2 && USB_GSPCA 178 depends on VIDEO_V4L2 && USB_GSPCA
179 help 179 help
180 Say Y here if you want support for cameras based on the T613 chip. 180 Say Y here if you want support for cameras based on the T613 chip.
181 181
182 To compile this driver as a module, choose M here: the 182 To compile this driver as a module, choose M here: the
183 module will be called gspca_t613. 183 module will be called gspca_t613.
184 184
185config USB_GSPCA_TV8532 185config USB_GSPCA_TV8532
186 tristate "TV8532 USB Camera Driver" 186 tristate "TV8532 USB Camera Driver"
187 depends on VIDEO_V4L2 && USB_GSPCA 187 depends on VIDEO_V4L2 && USB_GSPCA
188 help 188 help
189 Say Y here if you want support for cameras based on the TV8531 chip. 189 Say Y here if you want support for cameras based on the TV8531 chip.
190 190
191 To compile this driver as a module, choose M here: the 191 To compile this driver as a module, choose M here: the
192 module will be called gspca_tv8532. 192 module will be called gspca_tv8532.
193 193
194config USB_GSPCA_VC032X 194config USB_GSPCA_VC032X
195 tristate "VC032X USB Camera Driver" 195 tristate "VC032X USB Camera Driver"
196 depends on VIDEO_V4L2 && USB_GSPCA 196 depends on VIDEO_V4L2 && USB_GSPCA
197 help 197 help
198 Say Y here if you want support for cameras based on the VC032X chip. 198 Say Y here if you want support for cameras based on the VC032X chip.
199 199
200 To compile this driver as a module, choose M here: the 200 To compile this driver as a module, choose M here: the
201 module will be called gspca_vc032x. 201 module will be called gspca_vc032x.
202 202
203config USB_GSPCA_ZC3XX 203config USB_GSPCA_ZC3XX
204 tristate "VC3xx USB Camera Driver" 204 tristate "ZC3XX USB Camera Driver"
205 depends on VIDEO_V4L2 && USB_GSPCA 205 depends on VIDEO_V4L2 && USB_GSPCA
206 help 206 help
207 Say Y here if you want support for cameras based on the ZC3XX chip. 207 Say Y here if you want support for cameras based on the ZC3XX chip.
208 208
209 To compile this driver as a module, choose M here: the 209 To compile this driver as a module, choose M here: the
210 module will be called gspca_zc3xx. 210 module will be called gspca_zc3xx.
211 211
212endif 212endif
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index d0a4451dc46f..8b3101d347c3 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -2266,7 +2266,7 @@ static const struct usb_action hdcs2020b_NoFliker[] = {
2266 {} 2266 {}
2267}; 2267};
2268 2268
2269static const struct usb_action hv7131bxx_Initial[] = { 2269static const struct usb_action hv7131bxx_Initial[] = { /* 320x240 */
2270 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2270 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2271 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 2271 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
2272 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 2272 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -2290,7 +2290,7 @@ static const struct usb_action hv7131bxx_Initial[] = {
2290 {0xaa, 0x14, 0x0001}, 2290 {0xaa, 0x14, 0x0001},
2291 {0xaa, 0x15, 0x00e8}, 2291 {0xaa, 0x15, 0x00e8},
2292 {0xaa, 0x16, 0x0002}, 2292 {0xaa, 0x16, 0x0002},
2293 {0xaa, 0x17, 0x0086}, 2293 {0xaa, 0x17, 0x0086}, /* 00,17,88,aa */
2294 {0xaa, 0x31, 0x0038}, 2294 {0xaa, 0x31, 0x0038},
2295 {0xaa, 0x32, 0x0038}, 2295 {0xaa, 0x32, 0x0038},
2296 {0xaa, 0x33, 0x0038}, 2296 {0xaa, 0x33, 0x0038},
@@ -2309,7 +2309,7 @@ static const struct usb_action hv7131bxx_Initial[] = {
2309 {0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05}, 2309 {0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05},
2310 {0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE}, 2310 {0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE},
2311 {0xa0, 0x08, ZC3XX_R301_EEPROMACCESS}, 2311 {0xa0, 0x08, ZC3XX_R301_EEPROMACCESS},
2312 {0xaa, 0x02, 0x0080}, /* {0xaa, 0x02, 0x0090}; */ 2312 {0xaa, 0x02, 0x0090}, /* 00,02,80,aa */
2313 {0xa1, 0x01, 0x0002}, 2313 {0xa1, 0x01, 0x0002},
2314 {0xa0, 0x00, ZC3XX_R092_I2CADDRESSSELECT}, 2314 {0xa0, 0x00, ZC3XX_R092_I2CADDRESSSELECT},
2315 {0xa0, 0x02, ZC3XX_R090_I2CCOMMAND}, 2315 {0xa0, 0x02, ZC3XX_R090_I2CCOMMAND},
@@ -2374,7 +2374,7 @@ static const struct usb_action hv7131bxx_Initial[] = {
2374 {} 2374 {}
2375}; 2375};
2376 2376
2377static const struct usb_action hv7131bxx_InitialScale[] = { 2377static const struct usb_action hv7131bxx_InitialScale[] = { /* 640x480*/
2378 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2378 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2379 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 2379 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
2380 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 2380 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -6388,6 +6388,8 @@ static void setbrightness(struct gspca_dev *gspca_dev)
6388/*fixme: is it really write to 011d and 018d for all other sensors? */ 6388/*fixme: is it really write to 011d and 018d for all other sensors? */
6389 brightness = sd->brightness; 6389 brightness = sd->brightness;
6390 reg_w(gspca_dev->dev, brightness, 0x011d); 6390 reg_w(gspca_dev->dev, brightness, 0x011d);
6391 if (sd->sensor == SENSOR_HV7131B)
6392 return;
6391 if (brightness < 0x70) 6393 if (brightness < 0x70)
6392 brightness += 0x10; 6394 brightness += 0x10;
6393 else 6395 else
@@ -6529,6 +6531,7 @@ static void setquality(struct gspca_dev *gspca_dev)
6529 6531
6530 switch (sd->sensor) { 6532 switch (sd->sensor) {
6531 case SENSOR_GC0305: 6533 case SENSOR_GC0305:
6534 case SENSOR_HV7131B:
6532 case SENSOR_OV7620: 6535 case SENSOR_OV7620:
6533 case SENSOR_PO2030: 6536 case SENSOR_PO2030:
6534 return; 6537 return;
@@ -7209,7 +7212,6 @@ static int sd_start(struct gspca_dev *gspca_dev)
7209 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; 7212 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
7210 zc3_init = init_tb[(int) sd->sensor][mode]; 7213 zc3_init = init_tb[(int) sd->sensor][mode];
7211 switch (sd->sensor) { 7214 switch (sd->sensor) {
7212 case SENSOR_HV7131B:
7213 case SENSOR_HV7131C: 7215 case SENSOR_HV7131C:
7214 zcxx_probeSensor(gspca_dev); 7216 zcxx_probeSensor(gspca_dev);
7215 break; 7217 break;
diff --git a/drivers/media/video/ivtv/Kconfig b/drivers/media/video/ivtv/Kconfig
index 0069898bddab..c46bfb1569e3 100644
--- a/drivers/media/video/ivtv/Kconfig
+++ b/drivers/media/video/ivtv/Kconfig
@@ -1,6 +1,6 @@
1config VIDEO_IVTV 1config VIDEO_IVTV
2 tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support" 2 tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
3 depends on VIDEO_V4L1 && VIDEO_V4L2 && PCI && I2C && EXPERIMENTAL 3 depends on VIDEO_V4L2 && PCI && I2C
4 depends on INPUT # due to VIDEO_IR 4 depends on INPUT # due to VIDEO_IR
5 select I2C_ALGOBIT 5 select I2C_ALGOBIT
6 select VIDEO_IR 6 select VIDEO_IR
@@ -12,7 +12,6 @@ config VIDEO_IVTV
12 select VIDEO_SAA711X 12 select VIDEO_SAA711X
13 select VIDEO_SAA717X 13 select VIDEO_SAA717X
14 select VIDEO_SAA7127 14 select VIDEO_SAA7127
15 select VIDEO_TVAUDIO
16 select VIDEO_CS53L32A 15 select VIDEO_CS53L32A
17 select VIDEO_M52790 16 select VIDEO_M52790
18 select VIDEO_WM8775 17 select VIDEO_WM8775
@@ -32,7 +31,7 @@ config VIDEO_IVTV
32 31
33config VIDEO_FB_IVTV 32config VIDEO_FB_IVTV
34 tristate "Conexant cx23415 framebuffer support" 33 tristate "Conexant cx23415 framebuffer support"
35 depends on VIDEO_IVTV && FB && EXPERIMENTAL 34 depends on VIDEO_IVTV && FB
36 select FB_CFB_FILLRECT 35 select FB_CFB_FILLRECT
37 select FB_CFB_COPYAREA 36 select FB_CFB_COPYAREA
38 select FB_CFB_IMAGEBLIT 37 select FB_CFB_IMAGEBLIT
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index d36485023b68..b69cc1d55e5b 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -875,43 +875,43 @@ static void ivtv_load_and_init_modules(struct ivtv *itv)
875 875
876#ifdef MODULE 876#ifdef MODULE
877 /* load modules */ 877 /* load modules */
878#ifndef CONFIG_MEDIA_TUNER 878#ifdef CONFIG_MEDIA_TUNER_MODULE
879 hw = ivtv_request_module(itv, hw, "tuner", IVTV_HW_TUNER); 879 hw = ivtv_request_module(itv, hw, "tuner", IVTV_HW_TUNER);
880#endif 880#endif
881#ifndef CONFIG_VIDEO_CX25840 881#ifdef CONFIG_VIDEO_CX25840_MODULE
882 hw = ivtv_request_module(itv, hw, "cx25840", IVTV_HW_CX25840); 882 hw = ivtv_request_module(itv, hw, "cx25840", IVTV_HW_CX25840);
883#endif 883#endif
884#ifndef CONFIG_VIDEO_SAA711X 884#ifdef CONFIG_VIDEO_SAA711X_MODULE
885 hw = ivtv_request_module(itv, hw, "saa7115", IVTV_HW_SAA711X); 885 hw = ivtv_request_module(itv, hw, "saa7115", IVTV_HW_SAA711X);
886#endif 886#endif
887#ifndef CONFIG_VIDEO_SAA7127 887#ifdef CONFIG_VIDEO_SAA7127_MODULE
888 hw = ivtv_request_module(itv, hw, "saa7127", IVTV_HW_SAA7127); 888 hw = ivtv_request_module(itv, hw, "saa7127", IVTV_HW_SAA7127);
889#endif 889#endif
890#ifndef CONFIG_VIDEO_SAA717X 890#ifdef CONFIG_VIDEO_SAA717X_MODULE
891 hw = ivtv_request_module(itv, hw, "saa717x", IVTV_HW_SAA717X); 891 hw = ivtv_request_module(itv, hw, "saa717x", IVTV_HW_SAA717X);
892#endif 892#endif
893#ifndef CONFIG_VIDEO_UPD64031A 893#ifdef CONFIG_VIDEO_UPD64031A_MODULE
894 hw = ivtv_request_module(itv, hw, "upd64031a", IVTV_HW_UPD64031A); 894 hw = ivtv_request_module(itv, hw, "upd64031a", IVTV_HW_UPD64031A);
895#endif 895#endif
896#ifndef CONFIG_VIDEO_UPD64083 896#ifdef CONFIG_VIDEO_UPD64083_MODULE
897 hw = ivtv_request_module(itv, hw, "upd64083", IVTV_HW_UPD6408X); 897 hw = ivtv_request_module(itv, hw, "upd64083", IVTV_HW_UPD6408X);
898#endif 898#endif
899#ifndef CONFIG_VIDEO_MSP3400 899#ifdef CONFIG_VIDEO_MSP3400_MODULE
900 hw = ivtv_request_module(itv, hw, "msp3400", IVTV_HW_MSP34XX); 900 hw = ivtv_request_module(itv, hw, "msp3400", IVTV_HW_MSP34XX);
901#endif 901#endif
902#ifndef CONFIG_VIDEO_VP27SMPX 902#ifdef CONFIG_VIDEO_VP27SMPX_MODULE
903 hw = ivtv_request_module(itv, hw, "vp27smpx", IVTV_HW_VP27SMPX); 903 hw = ivtv_request_module(itv, hw, "vp27smpx", IVTV_HW_VP27SMPX);
904#endif 904#endif
905#ifndef CONFIG_VIDEO_WM8775 905#ifdef CONFIG_VIDEO_WM8775_MODULE
906 hw = ivtv_request_module(itv, hw, "wm8775", IVTV_HW_WM8775); 906 hw = ivtv_request_module(itv, hw, "wm8775", IVTV_HW_WM8775);
907#endif 907#endif
908#ifndef CONFIG_VIDEO_WM8739 908#ifdef CONFIG_VIDEO_WM8739_MODULE
909 hw = ivtv_request_module(itv, hw, "wm8739", IVTV_HW_WM8739); 909 hw = ivtv_request_module(itv, hw, "wm8739", IVTV_HW_WM8739);
910#endif 910#endif
911#ifndef CONFIG_VIDEO_CS53L32A 911#ifdef CONFIG_VIDEO_CS53L32A_MODULE
912 hw = ivtv_request_module(itv, hw, "cs53l32a", IVTV_HW_CS53L32A); 912 hw = ivtv_request_module(itv, hw, "cs53l32a", IVTV_HW_CS53L32A);
913#endif 913#endif
914#ifndef CONFIG_VIDEO_M52790 914#ifdef CONFIG_VIDEO_M52790_MODULE
915 hw = ivtv_request_module(itv, hw, "m52790", IVTV_HW_M52790); 915 hw = ivtv_request_module(itv, hw, "m52790", IVTV_HW_M52790);
916#endif 916#endif
917#endif 917#endif
diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
index adf2ba79496a..37860698f782 100644
--- a/drivers/media/video/saa7110.c
+++ b/drivers/media/video/saa7110.c
@@ -47,7 +47,7 @@ module_param(debug, int, 0);
47MODULE_PARM_DESC(debug, "Debug level (0-1)"); 47MODULE_PARM_DESC(debug, "Debug level (0-1)");
48 48
49#define SAA7110_MAX_INPUT 9 /* 6 CVBS, 3 SVHS */ 49#define SAA7110_MAX_INPUT 9 /* 6 CVBS, 3 SVHS */
50#define SAA7110_MAX_OUTPUT 0 /* its a decoder only */ 50#define SAA7110_MAX_OUTPUT 1 /* 1 YUV */
51 51
52#define SAA7110_NR_REG 0x35 52#define SAA7110_NR_REG 0x35
53 53
@@ -327,7 +327,7 @@ saa7110_command (struct i2c_client *client,
327 327
328 case DECODER_SET_INPUT: 328 case DECODER_SET_INPUT:
329 v = *(int *) arg; 329 v = *(int *) arg;
330 if (v < 0 || v > SAA7110_MAX_INPUT) { 330 if (v < 0 || v >= SAA7110_MAX_INPUT) {
331 v4l_dbg(1, debug, client, "input=%d not available\n", v); 331 v4l_dbg(1, debug, client, "input=%d not available\n", v);
332 return -EINVAL; 332 return -EINVAL;
333 } 333 }
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 249184452949..dfbe08a9ad9b 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -941,7 +941,8 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
941 dev->name,(unsigned long long)pci_resource_start(pci_dev,0)); 941 dev->name,(unsigned long long)pci_resource_start(pci_dev,0));
942 goto fail1; 942 goto fail1;
943 } 943 }
944 dev->lmmio = ioremap(pci_resource_start(pci_dev,0), 0x1000); 944 dev->lmmio = ioremap(pci_resource_start(pci_dev, 0),
945 pci_resource_len(pci_dev, 0));
945 dev->bmmio = (__u8 __iomem *)dev->lmmio; 946 dev->bmmio = (__u8 __iomem *)dev->lmmio;
946 if (NULL == dev->lmmio) { 947 if (NULL == dev->lmmio) {
947 err = -EIO; 948 err = -EIO;
diff --git a/drivers/media/video/usbvideo/ibmcam.c b/drivers/media/video/usbvideo/ibmcam.c
index 28421d386f1e..c710bcd1df48 100644
--- a/drivers/media/video/usbvideo/ibmcam.c
+++ b/drivers/media/video/usbvideo/ibmcam.c
@@ -3695,7 +3695,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3695 unsigned char video_ep = 0; 3695 unsigned char video_ep = 0;
3696 3696
3697 if (debug >= 1) 3697 if (debug >= 1)
3698 dev_info(&uvd->dev->dev, "ibmcam_probe(%p,%u.)\n", intf, ifnum); 3698 dev_info(&dev->dev, "ibmcam_probe(%p,%u.)\n", intf, ifnum);
3699 3699
3700 /* We don't handle multi-config cameras */ 3700 /* We don't handle multi-config cameras */
3701 if (dev->descriptor.bNumConfigurations != 1) 3701 if (dev->descriptor.bNumConfigurations != 1)
@@ -3746,7 +3746,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3746 brand = "IBM PC Camera"; /* a.k.a. Xirlink C-It */ 3746 brand = "IBM PC Camera"; /* a.k.a. Xirlink C-It */
3747 break; 3747 break;
3748 } 3748 }
3749 dev_info(&uvd->dev->dev, 3749 dev_info(&dev->dev,
3750 "%s USB camera found (model %d, rev. 0x%04x)\n", 3750 "%s USB camera found (model %d, rev. 0x%04x)\n",
3751 brand, model, le16_to_cpu(dev->descriptor.bcdDevice)); 3751 brand, model, le16_to_cpu(dev->descriptor.bcdDevice));
3752 } while (0); 3752 } while (0);
@@ -3754,7 +3754,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3754 /* Validate found interface: must have one ISO endpoint */ 3754 /* Validate found interface: must have one ISO endpoint */
3755 nas = intf->num_altsetting; 3755 nas = intf->num_altsetting;
3756 if (debug > 0) 3756 if (debug > 0)
3757 dev_info(&uvd->dev->dev, "Number of alternate settings=%d.\n", 3757 dev_info(&dev->dev, "Number of alternate settings=%d.\n",
3758 nas); 3758 nas);
3759 if (nas < 2) { 3759 if (nas < 2) {
3760 err("Too few alternate settings for this camera!"); 3760 err("Too few alternate settings for this camera!");
@@ -3799,7 +3799,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3799 actInterface = i; 3799 actInterface = i;
3800 maxPS = le16_to_cpu(endpoint->wMaxPacketSize); 3800 maxPS = le16_to_cpu(endpoint->wMaxPacketSize);
3801 if (debug > 0) 3801 if (debug > 0)
3802 dev_info(&uvd->dev->dev, 3802 dev_info(&dev->dev,
3803 "Active setting=%d. " 3803 "Active setting=%d. "
3804 "maxPS=%d.\n", i, maxPS); 3804 "maxPS=%d.\n", i, maxPS);
3805 } else 3805 } else
@@ -3840,7 +3840,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3840 RESTRICT_TO_RANGE(framerate, 0, 5); 3840 RESTRICT_TO_RANGE(framerate, 0, 5);
3841 break; 3841 break;
3842 default: 3842 default:
3843 dev_info(&uvd->dev->dev, "IBM camera: using 320x240\n"); 3843 dev_info(&dev->dev, "IBM camera: using 320x240\n");
3844 size = SIZE_320x240; 3844 size = SIZE_320x240;
3845 /* No break here */ 3845 /* No break here */
3846 case SIZE_320x240: 3846 case SIZE_320x240:
@@ -3869,7 +3869,7 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
3869 canvasY = 120; 3869 canvasY = 120;
3870 break; 3870 break;
3871 default: 3871 default:
3872 dev_info(&uvd->dev->dev, "IBM NetCamera: using 176x144\n"); 3872 dev_info(&dev->dev, "IBM NetCamera: using 176x144\n");
3873 size = SIZE_176x144; 3873 size = SIZE_176x144;
3874 /* No break here */ 3874 /* No break here */
3875 case SIZE_176x144: 3875 case SIZE_176x144:
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c
index f5233f3d9eff..b89f476cd0a9 100644
--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -559,12 +559,6 @@ mptctl_fasync(int fd, struct file *filep, int mode)
559 return ret; 559 return ret;
560} 560}
561 561
562static int
563mptctl_release(struct inode *inode, struct file *filep)
564{
565 return fasync_helper(-1, filep, 0, &async_queue);
566}
567
568/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 562/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
569/* 563/*
570 * MPT ioctl handler 564 * MPT ioctl handler
@@ -2706,7 +2700,6 @@ mptctl_hp_targetinfo(unsigned long arg)
2706static const struct file_operations mptctl_fops = { 2700static const struct file_operations mptctl_fops = {
2707 .owner = THIS_MODULE, 2701 .owner = THIS_MODULE,
2708 .llseek = no_llseek, 2702 .llseek = no_llseek,
2709 .release = mptctl_release,
2710 .fasync = mptctl_fasync, 2703 .fasync = mptctl_fasync,
2711 .unlocked_ioctl = mptctl_ioctl, 2704 .unlocked_ioctl = mptctl_ioctl,
2712#ifdef CONFIG_COMPAT 2705#ifdef CONFIG_COMPAT
diff --git a/drivers/message/fusion/mptlan.c b/drivers/message/fusion/mptlan.c
index a1abf95cf751..603ffd008c73 100644
--- a/drivers/message/fusion/mptlan.c
+++ b/drivers/message/fusion/mptlan.c
@@ -77,12 +77,6 @@ MODULE_VERSION(my_VERSION);
77 * Fusion MPT LAN private structures 77 * Fusion MPT LAN private structures
78 */ 78 */
79 79
80struct NAA_Hosed {
81 u16 NAA;
82 u8 ieee[FC_ALEN];
83 struct NAA_Hosed *next;
84};
85
86struct BufferControl { 80struct BufferControl {
87 struct sk_buff *skb; 81 struct sk_buff *skb;
88 dma_addr_t dma; 82 dma_addr_t dma;
@@ -159,11 +153,6 @@ static u8 LanCtx = MPT_MAX_PROTOCOL_DRIVERS;
159static u32 max_buckets_out = 127; 153static u32 max_buckets_out = 127;
160static u32 tx_max_out_p = 127 - 16; 154static u32 tx_max_out_p = 127 - 16;
161 155
162#ifdef QLOGIC_NAA_WORKAROUND
163static struct NAA_Hosed *mpt_bad_naa = NULL;
164DEFINE_RWLOCK(bad_naa_lock);
165#endif
166
167/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 156/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
168/** 157/**
169 * lan_reply - Handle all data sent from the hardware. 158 * lan_reply - Handle all data sent from the hardware.
@@ -780,30 +769,6 @@ mpt_lan_sdu_send (struct sk_buff *skb, struct net_device *dev)
780// ctx, skb, skb->data)); 769// ctx, skb, skb->data));
781 770
782 mac = skb_mac_header(skb); 771 mac = skb_mac_header(skb);
783#ifdef QLOGIC_NAA_WORKAROUND
784{
785 struct NAA_Hosed *nh;
786
787 /* Munge the NAA for Tx packets to QLogic boards, which don't follow
788 RFC 2625. The longer I look at this, the more my opinion of Qlogic
789 drops. */
790 read_lock_irq(&bad_naa_lock);
791 for (nh = mpt_bad_naa; nh != NULL; nh=nh->next) {
792 if ((nh->ieee[0] == mac[0]) &&
793 (nh->ieee[1] == mac[1]) &&
794 (nh->ieee[2] == mac[2]) &&
795 (nh->ieee[3] == mac[3]) &&
796 (nh->ieee[4] == mac[4]) &&
797 (nh->ieee[5] == mac[5])) {
798 cur_naa = nh->NAA;
799 dlprintk ((KERN_INFO "mptlan/sdu_send: using NAA value "
800 "= %04x.\n", cur_naa));
801 break;
802 }
803 }
804 read_unlock_irq(&bad_naa_lock);
805}
806#endif
807 772
808 pTrans->TransactionDetails[0] = cpu_to_le32((cur_naa << 16) | 773 pTrans->TransactionDetails[0] = cpu_to_le32((cur_naa << 16) |
809 (mac[0] << 8) | 774 (mac[0] << 8) |
@@ -1572,79 +1537,6 @@ mpt_lan_type_trans(struct sk_buff *skb, struct net_device *dev)
1572 1537
1573 fcllc = (struct fcllc *)skb->data; 1538 fcllc = (struct fcllc *)skb->data;
1574 1539
1575#ifdef QLOGIC_NAA_WORKAROUND
1576{
1577 u16 source_naa = fch->stype, found = 0;
1578
1579 /* Workaround for QLogic not following RFC 2625 in regards to the NAA
1580 value. */
1581
1582 if ((source_naa & 0xF000) == 0)
1583 source_naa = swab16(source_naa);
1584
1585 if (fcllc->ethertype == htons(ETH_P_ARP))
1586 dlprintk ((KERN_INFO "mptlan/type_trans: got arp req/rep w/ naa of "
1587 "%04x.\n", source_naa));
1588
1589 if ((fcllc->ethertype == htons(ETH_P_ARP)) &&
1590 ((source_naa >> 12) != MPT_LAN_NAA_RFC2625)){
1591 struct NAA_Hosed *nh, *prevnh;
1592 int i;
1593
1594 dlprintk ((KERN_INFO "mptlan/type_trans: ARP Req/Rep from "
1595 "system with non-RFC 2625 NAA value (%04x).\n",
1596 source_naa));
1597
1598 write_lock_irq(&bad_naa_lock);
1599 for (prevnh = nh = mpt_bad_naa; nh != NULL;
1600 prevnh=nh, nh=nh->next) {
1601 if ((nh->ieee[0] == fch->saddr[0]) &&
1602 (nh->ieee[1] == fch->saddr[1]) &&
1603 (nh->ieee[2] == fch->saddr[2]) &&
1604 (nh->ieee[3] == fch->saddr[3]) &&
1605 (nh->ieee[4] == fch->saddr[4]) &&
1606 (nh->ieee[5] == fch->saddr[5])) {
1607 found = 1;
1608 dlprintk ((KERN_INFO "mptlan/type_trans: ARP Re"
1609 "q/Rep w/ bad NAA from system already"
1610 " in DB.\n"));
1611 break;
1612 }
1613 }
1614
1615 if ((!found) && (nh == NULL)) {
1616
1617 nh = kmalloc(sizeof(struct NAA_Hosed), GFP_KERNEL);
1618 dlprintk ((KERN_INFO "mptlan/type_trans: ARP Req/Rep w/"
1619 " bad NAA from system not yet in DB.\n"));
1620
1621 if (nh != NULL) {
1622 nh->next = NULL;
1623 if (!mpt_bad_naa)
1624 mpt_bad_naa = nh;
1625 if (prevnh)
1626 prevnh->next = nh;
1627
1628 nh->NAA = source_naa; /* Set the S_NAA value. */
1629 for (i = 0; i < FC_ALEN; i++)
1630 nh->ieee[i] = fch->saddr[i];
1631 dlprintk ((KERN_INFO "Got ARP from %02x:%02x:%02x:%02x:"
1632 "%02x:%02x with non-compliant S_NAA value.\n",
1633 fch->saddr[0], fch->saddr[1], fch->saddr[2],
1634 fch->saddr[3], fch->saddr[4],fch->saddr[5]));
1635 } else {
1636 printk (KERN_ERR "mptlan/type_trans: Unable to"
1637 " kmalloc a NAA_Hosed struct.\n");
1638 }
1639 } else if (!found) {
1640 printk (KERN_ERR "mptlan/type_trans: found not"
1641 " set, but nh isn't null. Evil "
1642 "funkiness abounds.\n");
1643 }
1644 write_unlock_irq(&bad_naa_lock);
1645 }
1646}
1647#endif
1648 1540
1649 /* Strip the SNAP header from ARP packets since we don't 1541 /* Strip the SNAP header from ARP packets since we don't
1650 * pass them through to the 802.2/SNAP layers. 1542 * pass them through to the 802.2/SNAP layers.
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index 11a617ab4243..84bdc2ee69e6 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -567,8 +567,8 @@ static void i2o_block_biosparam(unsigned long capacity, unsigned short *cyls,
567 567
568/** 568/**
569 * i2o_block_open - Open the block device 569 * i2o_block_open - Open the block device
570 * @inode: inode for block device being opened 570 * @bdev: block device being opened
571 * @file: file to open 571 * @mode: file open mode
572 * 572 *
573 * Power up the device, mount and lock the media. This function is called, 573 * Power up the device, mount and lock the media. This function is called,
574 * if the block device is opened for access. 574 * if the block device is opened for access.
@@ -596,8 +596,8 @@ static int i2o_block_open(struct block_device *bdev, fmode_t mode)
596 596
597/** 597/**
598 * i2o_block_release - Release the I2O block device 598 * i2o_block_release - Release the I2O block device
599 * @inode: inode for block device being released 599 * @disk: gendisk device being released
600 * @file: file to close 600 * @mode: file open mode
601 * 601 *
602 * Unlock and unmount the media, and power down the device. Gets called if 602 * Unlock and unmount the media, and power down the device. Gets called if
603 * the block device is closed. 603 * the block device is closed.
@@ -643,8 +643,8 @@ static int i2o_block_getgeo(struct block_device *bdev, struct hd_geometry *geo)
643 643
644/** 644/**
645 * i2o_block_ioctl - Issue device specific ioctl calls. 645 * i2o_block_ioctl - Issue device specific ioctl calls.
646 * @inode: inode for block device ioctl 646 * @bdev: block device being opened
647 * @file: file for ioctl 647 * @mode: file open mode
648 * @cmd: ioctl command 648 * @cmd: ioctl command
649 * @arg: arg 649 * @arg: arg
650 * 650 *
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c
index a3fabdbe6ca6..f3384c32b9a1 100644
--- a/drivers/message/i2o/i2o_config.c
+++ b/drivers/message/i2o/i2o_config.c
@@ -1097,28 +1097,17 @@ static int cfg_fasync(int fd, struct file *fp, int on)
1097static int cfg_release(struct inode *inode, struct file *file) 1097static int cfg_release(struct inode *inode, struct file *file)
1098{ 1098{
1099 ulong id = (ulong) file->private_data; 1099 ulong id = (ulong) file->private_data;
1100 struct i2o_cfg_info *p1, *p2; 1100 struct i2o_cfg_info *p, **q;
1101 unsigned long flags; 1101 unsigned long flags;
1102 1102
1103 lock_kernel(); 1103 lock_kernel();
1104 p1 = p2 = NULL;
1105
1106 spin_lock_irqsave(&i2o_config_lock, flags); 1104 spin_lock_irqsave(&i2o_config_lock, flags);
1107 for (p1 = open_files; p1;) { 1105 for (q = &open_files; (p = *q) != NULL; q = &p->next) {
1108 if (p1->q_id == id) { 1106 if (p->q_id == id) {
1109 1107 *q = p->next;
1110 if (p1->fasync) 1108 kfree(p);
1111 cfg_fasync(-1, file, 0);
1112 if (p2)
1113 p2->next = p1->next;
1114 else
1115 open_files = p1->next;
1116
1117 kfree(p1);
1118 break; 1109 break;
1119 } 1110 }
1120 p2 = p1;
1121 p1 = p1->next;
1122 } 1111 }
1123 spin_unlock_irqrestore(&i2o_config_lock, flags); 1112 spin_unlock_irqrestore(&i2o_config_lock, flags);
1124 unlock_kernel(); 1113 unlock_kernel();
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 5a79d2d4cdae..257277394f8c 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -81,7 +81,7 @@ config MFD_TMIO
81 81
82config MFD_T7L66XB 82config MFD_T7L66XB
83 bool "Support Toshiba T7L66XB" 83 bool "Support Toshiba T7L66XB"
84 depends on ARM 84 depends on ARM && HAVE_CLK
85 select MFD_CORE 85 select MFD_CORE
86 select MFD_TMIO 86 select MFD_TMIO
87 help 87 help
@@ -89,7 +89,7 @@ config MFD_T7L66XB
89 89
90config MFD_TC6387XB 90config MFD_TC6387XB
91 bool "Support Toshiba TC6387XB" 91 bool "Support Toshiba TC6387XB"
92 depends on ARM 92 depends on ARM && HAVE_CLK
93 select MFD_CORE 93 select MFD_CORE
94 select MFD_TMIO 94 select MFD_TMIO
95 help 95 help
@@ -103,8 +103,20 @@ config MFD_TC6393XB
103 help 103 help
104 Support for Toshiba Mobile IO Controller TC6393XB 104 Support for Toshiba Mobile IO Controller TC6393XB
105 105
106config PMIC_DA903X
107 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
108 depends on I2C=y
109 help
110 Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
111 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
112 usually found on PXA processors-based platforms. This includes
113 the I2C driver and the core APIs _only_, you have to select
114 individual components like LCD backlight, voltage regulators,
115 LEDs and battery-charger under the corresponding menus.
116
106config MFD_WM8400 117config MFD_WM8400
107 tristate "Support Wolfson Microelectronics WM8400" 118 tristate "Support Wolfson Microelectronics WM8400"
119 depends on I2C
108 help 120 help
109 Support for the Wolfson Microelecronics WM8400 PMIC and audio 121 Support for the Wolfson Microelecronics WM8400 PMIC and audio
110 CODEC. This driver adds provides common support for accessing 122 CODEC. This driver adds provides common support for accessing
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 0acefe8aff87..9a5ad8af9116 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -30,3 +30,5 @@ ifeq ($(CONFIG_SA1100_ASSABET),y)
30obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o 30obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o
31endif 31endif
32obj-$(CONFIG_UCB1400_CORE) += ucb1400_core.o 32obj-$(CONFIG_UCB1400_CORE) += ucb1400_core.o
33
34obj-$(CONFIG_PMIC_DA903X) += da903x.o \ No newline at end of file
diff --git a/drivers/misc/hdpuftrs/hdpu_nexus.c b/drivers/misc/hdpuftrs/hdpu_nexus.c
index 08e26beefe64..ce39fa54949b 100644
--- a/drivers/misc/hdpuftrs/hdpu_nexus.c
+++ b/drivers/misc/hdpuftrs/hdpu_nexus.c
@@ -113,7 +113,6 @@ static int hdpu_nexus_probe(struct platform_device *pdev)
113 if (!hdpu_chassis_id) 113 if (!hdpu_chassis_id)
114 printk(KERN_WARNING "sky_nexus: " 114 printk(KERN_WARNING "sky_nexus: "
115 "Unable to create proc dir entry: sky_chassis_id\n"); 115 "Unable to create proc dir entry: sky_chassis_id\n");
116 }
117 116
118 return 0; 117 return 0;
119} 118}
diff --git a/drivers/misc/panasonic-laptop.c b/drivers/misc/panasonic-laptop.c
index a2cb598d8ab5..4a1bc64485d5 100644
--- a/drivers/misc/panasonic-laptop.c
+++ b/drivers/misc/panasonic-laptop.c
@@ -116,7 +116,6 @@
116 * 116 *
117 */ 117 */
118 118
119#include <linux/version.h>
120#include <linux/kernel.h> 119#include <linux/kernel.h>
121#include <linux/module.h> 120#include <linux/module.h>
122#include <linux/init.h> 121#include <linux/init.h>
diff --git a/drivers/misc/sgi-xp/Makefile b/drivers/misc/sgi-xp/Makefile
index 35ce28578075..4fc40d8e1bcc 100644
--- a/drivers/misc/sgi-xp/Makefile
+++ b/drivers/misc/sgi-xp/Makefile
@@ -5,14 +5,14 @@
5obj-$(CONFIG_SGI_XP) += xp.o 5obj-$(CONFIG_SGI_XP) += xp.o
6xp-y := xp_main.o 6xp-y := xp_main.o
7xp-$(CONFIG_IA64_SGI_SN2) += xp_sn2.o xp_nofault.o 7xp-$(CONFIG_IA64_SGI_SN2) += xp_sn2.o xp_nofault.o
8xp-$(CONFIG_IA64_GENERIC) += xp_sn2.o xp_nofault.o xp_uv.o 8xp-$(CONFIG_IA64_GENERIC) += xp_sn2.o xp_nofault.o
9xp-$(CONFIG_IA64_SGI_UV) += xp_uv.o 9xp-$(CONFIG_IA64_SGI_UV) += xp_uv.o
10xp-$(CONFIG_X86_64) += xp_uv.o 10xp-$(CONFIG_X86_64) += xp_uv.o
11 11
12obj-$(CONFIG_SGI_XP) += xpc.o 12obj-$(CONFIG_SGI_XP) += xpc.o
13xpc-y := xpc_main.o xpc_channel.o xpc_partition.o 13xpc-y := xpc_main.o xpc_channel.o xpc_partition.o
14xpc-$(CONFIG_IA64_SGI_SN2) += xpc_sn2.o 14xpc-$(CONFIG_IA64_SGI_SN2) += xpc_sn2.o
15xpc-$(CONFIG_IA64_GENERIC) += xpc_sn2.o xpc_uv.o 15xpc-$(CONFIG_IA64_GENERIC) += xpc_sn2.o
16xpc-$(CONFIG_IA64_SGI_UV) += xpc_uv.o 16xpc-$(CONFIG_IA64_SGI_UV) += xpc_uv.o
17xpc-$(CONFIG_X86_64) += xpc_uv.o 17xpc-$(CONFIG_X86_64) += xpc_uv.o
18 18
diff --git a/drivers/misc/sgi-xp/xp.h b/drivers/misc/sgi-xp/xp.h
index 859a5281c61b..ed1722e50049 100644
--- a/drivers/misc/sgi-xp/xp.h
+++ b/drivers/misc/sgi-xp/xp.h
@@ -19,7 +19,11 @@
19#include <asm/system.h> 19#include <asm/system.h>
20#include <asm/sn/arch.h> /* defines is_shub1() and is_shub2() */ 20#include <asm/sn/arch.h> /* defines is_shub1() and is_shub2() */
21#define is_shub() ia64_platform_is("sn2") 21#define is_shub() ia64_platform_is("sn2")
22#ifdef CONFIG_IA64_SGI_UV
22#define is_uv() ia64_platform_is("uv") 23#define is_uv() ia64_platform_is("uv")
24#else
25#define is_uv() 0
26#endif
23#endif 27#endif
24#ifdef CONFIG_X86_64 28#ifdef CONFIG_X86_64
25#include <asm/genapic.h> 29#include <asm/genapic.h>
diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
index 46325fc84811..e8d5cfbd32c2 100644
--- a/drivers/misc/sgi-xp/xpc_main.c
+++ b/drivers/misc/sgi-xp/xpc_main.c
@@ -1104,7 +1104,7 @@ xpc_do_exit(enum xp_retval reason)
1104 1104
1105 if (is_shub()) 1105 if (is_shub())
1106 xpc_exit_sn2(); 1106 xpc_exit_sn2();
1107 else 1107 else if (is_uv())
1108 xpc_exit_uv(); 1108 xpc_exit_uv();
1109} 1109}
1110 1110
@@ -1363,7 +1363,7 @@ out_2:
1363out_1: 1363out_1:
1364 if (is_shub()) 1364 if (is_shub())
1365 xpc_exit_sn2(); 1365 xpc_exit_sn2();
1366 else 1366 else if (is_uv())
1367 xpc_exit_uv(); 1367 xpc_exit_uv();
1368 return ret; 1368 return ret;
1369} 1369}
diff --git a/drivers/misc/sony-laptop.c b/drivers/misc/sony-laptop.c
index 5a97d3a9d745..06f07e19dc70 100644
--- a/drivers/misc/sony-laptop.c
+++ b/drivers/misc/sony-laptop.c
@@ -1920,7 +1920,6 @@ static int sonypi_misc_fasync(int fd, struct file *filp, int on)
1920 1920
1921static int sonypi_misc_release(struct inode *inode, struct file *file) 1921static int sonypi_misc_release(struct inode *inode, struct file *file)
1922{ 1922{
1923 sonypi_misc_fasync(-1, file, 0);
1924 atomic_dec(&sonypi_compat.open_count); 1923 atomic_dec(&sonypi_compat.open_count);
1925 return 0; 1924 return 0;
1926} 1925}
@@ -2315,8 +2314,10 @@ end:
2315 */ 2314 */
2316static int sony_pic_disable(struct acpi_device *device) 2315static int sony_pic_disable(struct acpi_device *device)
2317{ 2316{
2318 if (ACPI_FAILURE(acpi_evaluate_object(device->handle, 2317 acpi_status ret = acpi_evaluate_object(device->handle, "_DIS", NULL,
2319 "_DIS", NULL, NULL))) 2318 NULL);
2319
2320 if (ACPI_FAILURE(ret) && ret != AE_NOT_FOUND)
2320 return -ENXIO; 2321 return -ENXIO;
2321 2322
2322 dprintk("Device disabled\n"); 2323 dprintk("Device disabled\n");
diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 0d9b2d6f9ebf..f210a8ee6861 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -216,8 +216,7 @@ int mmc_add_card(struct mmc_card *card)
216 int ret; 216 int ret;
217 const char *type; 217 const char *type;
218 218
219 snprintf(card->dev.bus_id, sizeof(card->dev.bus_id), 219 dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host), card->rca);
220 "%s:%04x", mmc_hostname(card->host), card->rca);
221 220
222 switch (card->type) { 221 switch (card->type) {
223 case MMC_TYPE_MMC: 222 case MMC_TYPE_MMC:
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 044d84eeed7c..f7284b905eb3 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -280,7 +280,11 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
280 (card->host->ios.clock / 1000); 280 (card->host->ios.clock / 1000);
281 281
282 if (data->flags & MMC_DATA_WRITE) 282 if (data->flags & MMC_DATA_WRITE)
283 limit_us = 250000; 283 /*
284 * The limit is really 250 ms, but that is
285 * insufficient for some crappy cards.
286 */
287 limit_us = 300000;
284 else 288 else
285 limit_us = 100000; 289 limit_us = 100000;
286 290
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 6da80fd4d974..5e945e64ead7 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -73,8 +73,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
73 if (err) 73 if (err)
74 goto free; 74 goto free;
75 75
76 snprintf(host->class_dev.bus_id, BUS_ID_SIZE, 76 dev_set_name(&host->class_dev, "mmc%d", host->index);
77 "mmc%d", host->index);
78 77
79 host->parent = dev; 78 host->parent = dev;
80 host->class_dev.parent = dev; 79 host->class_dev.parent = dev;
@@ -121,7 +120,7 @@ int mmc_add_host(struct mmc_host *host)
121 WARN_ON((host->caps & MMC_CAP_SDIO_IRQ) && 120 WARN_ON((host->caps & MMC_CAP_SDIO_IRQ) &&
122 !host->ops->enable_sdio_irq); 121 !host->ops->enable_sdio_irq);
123 122
124 led_trigger_register_simple(host->class_dev.bus_id, &host->led); 123 led_trigger_register_simple(dev_name(&host->class_dev), &host->led);
125 124
126 err = device_add(&host->class_dev); 125 err = device_add(&host->class_dev);
127 if (err) 126 if (err)
diff --git a/drivers/mmc/core/sdio_bus.c b/drivers/mmc/core/sdio_bus.c
index 233d0f9b3c4b..46284b527397 100644
--- a/drivers/mmc/core/sdio_bus.c
+++ b/drivers/mmc/core/sdio_bus.c
@@ -239,8 +239,7 @@ int sdio_add_func(struct sdio_func *func)
239{ 239{
240 int ret; 240 int ret;
241 241
242 snprintf(func->dev.bus_id, sizeof(func->dev.bus_id), 242 dev_set_name(&func->dev, "%s:%d", mmc_card_id(func->card), func->num);
243 "%s:%d", mmc_card_id(func->card), func->num);
244 243
245 ret = device_add(&func->dev); 244 ret = device_add(&func->dev);
246 if (ret == 0) 245 if (ret == 0)
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index 07faf5412a1f..ad00e1632317 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -1348,7 +1348,7 @@ static int mmc_spi_probe(struct spi_device *spi)
1348 goto fail_add_host; 1348 goto fail_add_host;
1349 1349
1350 dev_info(&spi->dev, "SD/MMC host %s%s%s%s%s\n", 1350 dev_info(&spi->dev, "SD/MMC host %s%s%s%s%s\n",
1351 mmc->class_dev.bus_id, 1351 dev_name(&mmc->class_dev),
1352 host->dma_dev ? "" : ", no DMA", 1352 host->dma_dev ? "" : ", no DMA",
1353 (host->pdata && host->pdata->get_ro) 1353 (host->pdata && host->pdata->get_ro)
1354 ? "" : ", no WP", 1354 ? "" : ", no WP",
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 696cf3647ceb..2fadf323c696 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -391,6 +391,7 @@ static irqreturn_t mmci_irq(int irq, void *dev_id)
391static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq) 391static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq)
392{ 392{
393 struct mmci_host *host = mmc_priv(mmc); 393 struct mmci_host *host = mmc_priv(mmc);
394 unsigned long flags;
394 395
395 WARN_ON(host->mrq != NULL); 396 WARN_ON(host->mrq != NULL);
396 397
@@ -402,7 +403,7 @@ static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq)
402 return; 403 return;
403 } 404 }
404 405
405 spin_lock_irq(&host->lock); 406 spin_lock_irqsave(&host->lock, flags);
406 407
407 host->mrq = mrq; 408 host->mrq = mrq;
408 409
@@ -411,7 +412,7 @@ static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq)
411 412
412 mmci_start_command(host, mrq->cmd, 0); 413 mmci_start_command(host, mrq->cmd, 0);
413 414
414 spin_unlock_irq(&host->lock); 415 spin_unlock_irqrestore(&host->lock, flags);
415} 416}
416 417
417static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) 418static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 30f64b1f2354..4d010a984bed 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1733,7 +1733,7 @@ int sdhci_add_host(struct sdhci_host *host)
1733 mmc_add_host(mmc); 1733 mmc_add_host(mmc);
1734 1734
1735 printk(KERN_INFO "%s: SDHCI controller on %s [%s] using %s%s\n", 1735 printk(KERN_INFO "%s: SDHCI controller on %s [%s] using %s%s\n",
1736 mmc_hostname(mmc), host->hw_name, mmc_dev(mmc)->bus_id, 1736 mmc_hostname(mmc), host->hw_name, dev_name(mmc_dev(mmc)),
1737 (host->flags & SDHCI_USE_ADMA)?"A":"", 1737 (host->flags & SDHCI_USE_ADMA)?"A":"",
1738 (host->flags & SDHCI_USE_DMA)?"DMA":"PIO"); 1738 (host->flags & SDHCI_USE_DMA)?"DMA":"PIO");
1739 1739
diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c
index 13844843e8de..82554ddec6b3 100644
--- a/drivers/mmc/host/tifm_sd.c
+++ b/drivers/mmc/host/tifm_sd.c
@@ -632,7 +632,7 @@ static void tifm_sd_request(struct mmc_host *mmc, struct mmc_request *mrq)
632 632
633 if (host->req) { 633 if (host->req) {
634 printk(KERN_ERR "%s : unfinished request detected\n", 634 printk(KERN_ERR "%s : unfinished request detected\n",
635 sock->dev.bus_id); 635 dev_name(&sock->dev));
636 mrq->cmd->error = -ETIMEDOUT; 636 mrq->cmd->error = -ETIMEDOUT;
637 goto err_out; 637 goto err_out;
638 } 638 }
@@ -672,7 +672,7 @@ static void tifm_sd_request(struct mmc_host *mmc, struct mmc_request *mrq)
672 ? PCI_DMA_TODEVICE 672 ? PCI_DMA_TODEVICE
673 : PCI_DMA_FROMDEVICE)) { 673 : PCI_DMA_FROMDEVICE)) {
674 printk(KERN_ERR "%s : scatterlist map failed\n", 674 printk(KERN_ERR "%s : scatterlist map failed\n",
675 sock->dev.bus_id); 675 dev_name(&sock->dev));
676 mrq->cmd->error = -ENOMEM; 676 mrq->cmd->error = -ENOMEM;
677 goto err_out; 677 goto err_out;
678 } 678 }
@@ -684,7 +684,7 @@ static void tifm_sd_request(struct mmc_host *mmc, struct mmc_request *mrq)
684 : PCI_DMA_FROMDEVICE); 684 : PCI_DMA_FROMDEVICE);
685 if (host->sg_len < 1) { 685 if (host->sg_len < 1) {
686 printk(KERN_ERR "%s : scatterlist map failed\n", 686 printk(KERN_ERR "%s : scatterlist map failed\n",
687 sock->dev.bus_id); 687 dev_name(&sock->dev));
688 tifm_unmap_sg(sock, &host->bounce_buf, 1, 688 tifm_unmap_sg(sock, &host->bounce_buf, 1,
689 r_data->flags & MMC_DATA_WRITE 689 r_data->flags & MMC_DATA_WRITE
690 ? PCI_DMA_TODEVICE 690 ? PCI_DMA_TODEVICE
@@ -748,7 +748,7 @@ static void tifm_sd_end_cmd(unsigned long data)
748 748
749 if (!mrq) { 749 if (!mrq) {
750 printk(KERN_ERR " %s : no request to complete?\n", 750 printk(KERN_ERR " %s : no request to complete?\n",
751 sock->dev.bus_id); 751 dev_name(&sock->dev));
752 spin_unlock_irqrestore(&sock->lock, flags); 752 spin_unlock_irqrestore(&sock->lock, flags);
753 return; 753 return;
754 } 754 }
@@ -789,7 +789,7 @@ static void tifm_sd_abort(unsigned long data)
789 printk(KERN_ERR 789 printk(KERN_ERR
790 "%s : card failed to respond for a long period of time " 790 "%s : card failed to respond for a long period of time "
791 "(%x, %x)\n", 791 "(%x, %x)\n",
792 host->dev->dev.bus_id, host->req->cmd->opcode, host->cmd_flags); 792 dev_name(&host->dev->dev), host->req->cmd->opcode, host->cmd_flags);
793 793
794 tifm_eject(host->dev); 794 tifm_eject(host->dev);
795} 795}
@@ -906,7 +906,7 @@ static int tifm_sd_initialize_host(struct tifm_sd *host)
906 906
907 if (rc) { 907 if (rc) {
908 printk(KERN_ERR "%s : controller failed to reset\n", 908 printk(KERN_ERR "%s : controller failed to reset\n",
909 sock->dev.bus_id); 909 dev_name(&sock->dev));
910 return -ENODEV; 910 return -ENODEV;
911 } 911 }
912 912
@@ -933,7 +933,7 @@ static int tifm_sd_initialize_host(struct tifm_sd *host)
933 if (rc) { 933 if (rc) {
934 printk(KERN_ERR 934 printk(KERN_ERR
935 "%s : card not ready - probe failed on initialization\n", 935 "%s : card not ready - probe failed on initialization\n",
936 sock->dev.bus_id); 936 dev_name(&sock->dev));
937 return -ENODEV; 937 return -ENODEV;
938 } 938 }
939 939
@@ -954,7 +954,7 @@ static int tifm_sd_probe(struct tifm_dev *sock)
954 if (!(TIFM_SOCK_STATE_OCCUPIED 954 if (!(TIFM_SOCK_STATE_OCCUPIED
955 & readl(sock->addr + SOCK_PRESENT_STATE))) { 955 & readl(sock->addr + SOCK_PRESENT_STATE))) {
956 printk(KERN_WARNING "%s : card gone, unexpectedly\n", 956 printk(KERN_WARNING "%s : card gone, unexpectedly\n",
957 sock->dev.bus_id); 957 dev_name(&sock->dev));
958 return rc; 958 return rc;
959 } 959 }
960 960
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 3e6f5d8609e8..d74ec46aa032 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -406,19 +406,6 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)
406 /* Set the default CFI lock/unlock addresses */ 406 /* Set the default CFI lock/unlock addresses */
407 cfi->addr_unlock1 = 0x555; 407 cfi->addr_unlock1 = 0x555;
408 cfi->addr_unlock2 = 0x2aa; 408 cfi->addr_unlock2 = 0x2aa;
409 /* Modify the unlock address if we are in compatibility mode */
410 if ( /* x16 in x8 mode */
411 ((cfi->device_type == CFI_DEVICETYPE_X8) &&
412 (cfi->cfiq->InterfaceDesc ==
413 CFI_INTERFACE_X8_BY_X16_ASYNC)) ||
414 /* x32 in x16 mode */
415 ((cfi->device_type == CFI_DEVICETYPE_X16) &&
416 (cfi->cfiq->InterfaceDesc ==
417 CFI_INTERFACE_X16_BY_X32_ASYNC)))
418 {
419 cfi->addr_unlock1 = 0xaaa;
420 cfi->addr_unlock2 = 0x555;
421 }
422 409
423 } /* CFI mode */ 410 } /* CFI mode */
424 else if (cfi->cfi_mode == CFI_MODE_JEDEC) { 411 else if (cfi->cfi_mode == CFI_MODE_JEDEC) {
diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c
index f84ab6182148..2f3f2f719ba4 100644
--- a/drivers/mtd/chips/jedec_probe.c
+++ b/drivers/mtd/chips/jedec_probe.c
@@ -1808,9 +1808,7 @@ static inline u32 jedec_read_mfr(struct map_info *map, uint32_t base,
1808 * several first banks can contain 0x7f instead of actual ID 1808 * several first banks can contain 0x7f instead of actual ID
1809 */ 1809 */
1810 do { 1810 do {
1811 uint32_t ofs = cfi_build_cmd_addr(0 + (bank << 8), 1811 uint32_t ofs = cfi_build_cmd_addr(0 + (bank << 8), map, cfi);
1812 cfi_interleave(cfi),
1813 cfi->device_type);
1814 mask = (1 << (cfi->device_type * 8)) - 1; 1812 mask = (1 << (cfi->device_type * 8)) - 1;
1815 result = map_read(map, base + ofs); 1813 result = map_read(map, base + ofs);
1816 bank++; 1814 bank++;
@@ -1824,7 +1822,7 @@ static inline u32 jedec_read_id(struct map_info *map, uint32_t base,
1824{ 1822{
1825 map_word result; 1823 map_word result;
1826 unsigned long mask; 1824 unsigned long mask;
1827 u32 ofs = cfi_build_cmd_addr(1, cfi_interleave(cfi), cfi->device_type); 1825 u32 ofs = cfi_build_cmd_addr(1, map, cfi);
1828 mask = (1 << (cfi->device_type * 8)) -1; 1826 mask = (1 << (cfi->device_type * 8)) -1;
1829 result = map_read(map, base + ofs); 1827 result = map_read(map, base + ofs);
1830 return result.x[0] & mask; 1828 return result.x[0] & mask;
@@ -2067,8 +2065,8 @@ static int jedec_probe_chip(struct map_info *map, __u32 base,
2067 2065
2068 } 2066 }
2069 /* Ensure the unlock addresses we try stay inside the map */ 2067 /* Ensure the unlock addresses we try stay inside the map */
2070 probe_offset1 = cfi_build_cmd_addr(cfi->addr_unlock1, cfi_interleave(cfi), cfi->device_type); 2068 probe_offset1 = cfi_build_cmd_addr(cfi->addr_unlock1, map, cfi);
2071 probe_offset2 = cfi_build_cmd_addr(cfi->addr_unlock2, cfi_interleave(cfi), cfi->device_type); 2069 probe_offset2 = cfi_build_cmd_addr(cfi->addr_unlock2, map, cfi);
2072 if ( ((base + probe_offset1 + map_bankwidth(map)) >= map->size) || 2070 if ( ((base + probe_offset1 + map_bankwidth(map)) >= map->size) ||
2073 ((base + probe_offset2 + map_bankwidth(map)) >= map->size)) 2071 ((base + probe_offset2 + map_bankwidth(map)) >= map->size))
2074 goto retry; 2072 goto retry;
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
index 8387e05daae2..e39b21d3e168 100644
--- a/drivers/mtd/onenand/omap2.c
+++ b/drivers/mtd/onenand/omap2.c
@@ -38,7 +38,6 @@
38#include <asm/arch/gpmc.h> 38#include <asm/arch/gpmc.h>
39#include <asm/arch/onenand.h> 39#include <asm/arch/onenand.h>
40#include <asm/arch/gpio.h> 40#include <asm/arch/gpio.h>
41#include <asm/arch/gpmc.h>
42#include <asm/arch/pm.h> 41#include <asm/arch/pm.h>
43 42
44#include <linux/dma-mapping.h> 43#include <linux/dma-mapping.h>
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index 3a7bc524af33..c7a4f3bcc2bc 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -94,7 +94,7 @@
94#include <asm/io.h> 94#include <asm/io.h>
95#include <asm/irq.h> 95#include <asm/irq.h>
96 96
97static char version[] __initdata = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@scyld.com\n"; 97static char version[] __devinitdata = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@scyld.com\n";
98 98
99#ifdef EL3_DEBUG 99#ifdef EL3_DEBUG
100static int el3_debug = EL3_DEBUG; 100static int el3_debug = EL3_DEBUG;
@@ -186,7 +186,7 @@ static int max_interrupt_work = 10;
186static int nopnp; 186static int nopnp;
187#endif 187#endif
188 188
189static int __init el3_common_init(struct net_device *dev); 189static int __devinit el3_common_init(struct net_device *dev);
190static void el3_common_remove(struct net_device *dev); 190static void el3_common_remove(struct net_device *dev);
191static ushort id_read_eeprom(int index); 191static ushort id_read_eeprom(int index);
192static ushort read_eeprom(int ioaddr, int index); 192static ushort read_eeprom(int ioaddr, int index);
@@ -537,7 +537,7 @@ static struct mca_driver el3_mca_driver = {
537static int mca_registered; 537static int mca_registered;
538#endif /* CONFIG_MCA */ 538#endif /* CONFIG_MCA */
539 539
540static int __init el3_common_init(struct net_device *dev) 540static int __devinit el3_common_init(struct net_device *dev)
541{ 541{
542 struct el3_private *lp = netdev_priv(dev); 542 struct el3_private *lp = netdev_priv(dev);
543 int err; 543 int err;
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index f749b40f954e..11f143f4adf6 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2010,9 +2010,13 @@ config IGB_LRO
2010 If in doubt, say N. 2010 If in doubt, say N.
2011 2011
2012config IGB_DCA 2012config IGB_DCA
2013 bool "Enable DCA" 2013 bool "Direct Cache Access (DCA) Support"
2014 default y 2014 default y
2015 depends on IGB && DCA && !(IGB=y && DCA=m) 2015 depends on IGB && DCA && !(IGB=y && DCA=m)
2016 ---help---
2017 Say Y here if you want to use Direct Cache Access (DCA) in the
2018 driver. DCA is a method for warming the CPU cache before data
2019 is used, with the intent of lessening the impact of cache misses.
2016 2020
2017source "drivers/net/ixp2000/Kconfig" 2021source "drivers/net/ixp2000/Kconfig"
2018 2022
@@ -2437,9 +2441,13 @@ config IXGBE
2437 will be called ixgbe. 2441 will be called ixgbe.
2438 2442
2439config IXGBE_DCA 2443config IXGBE_DCA
2440 bool 2444 bool "Direct Cache Access (DCA) Support"
2441 default y 2445 default y
2442 depends on IXGBE && DCA && !(IXGBE=y && DCA=m) 2446 depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
2447 ---help---
2448 Say Y here if you want to use Direct Cache Access (DCA) in the
2449 driver. DCA is a method for warming the CPU cache before data
2450 is used, with the intent of lessening the impact of cache misses.
2443 2451
2444config IXGB 2452config IXGB
2445 tristate "Intel(R) PRO/10GbE support" 2453 tristate "Intel(R) PRO/10GbE support"
@@ -2489,9 +2497,13 @@ config MYRI10GE
2489 will be called myri10ge. 2497 will be called myri10ge.
2490 2498
2491config MYRI10GE_DCA 2499config MYRI10GE_DCA
2492 bool 2500 bool "Direct Cache Access (DCA) Support"
2493 default y 2501 default y
2494 depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) 2502 depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m)
2503 ---help---
2504 Say Y here if you want to use Direct Cache Access (DCA) in the
2505 driver. DCA is a method for warming the CPU cache before data
2506 is used, with the intent of lessening the impact of cache misses.
2495 2507
2496config NETXEN_NIC 2508config NETXEN_NIC
2497 tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" 2509 tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC"
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index c54967f7942a..07a6697e3635 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -644,10 +644,6 @@ This function frees the transmiter and receiver descriptor rings.
644*/ 644*/
645static void amd8111e_free_ring(struct amd8111e_priv* lp) 645static void amd8111e_free_ring(struct amd8111e_priv* lp)
646{ 646{
647
648 /* Free transmit and receive skbs */
649 amd8111e_free_skbs(lp->amd8111e_net_dev);
650
651 /* Free transmit and receive descriptor rings */ 647 /* Free transmit and receive descriptor rings */
652 if(lp->rx_ring){ 648 if(lp->rx_ring){
653 pci_free_consistent(lp->pci_dev, 649 pci_free_consistent(lp->pci_dev,
@@ -833,12 +829,14 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget)
833 829
834 } while(intr0 & RINT0); 830 } while(intr0 & RINT0);
835 831
836 /* Receive descriptor is empty now */ 832 if (rx_pkt_limit > 0) {
837 spin_lock_irqsave(&lp->lock, flags); 833 /* Receive descriptor is empty now */
838 __netif_rx_complete(dev, napi); 834 spin_lock_irqsave(&lp->lock, flags);
839 writel(VAL0|RINTEN0, mmio + INTEN0); 835 __netif_rx_complete(dev, napi);
840 writel(VAL2 | RDMD0, mmio + CMD0); 836 writel(VAL0|RINTEN0, mmio + INTEN0);
841 spin_unlock_irqrestore(&lp->lock, flags); 837 writel(VAL2 | RDMD0, mmio + CMD0);
838 spin_unlock_irqrestore(&lp->lock, flags);
839 }
842 840
843rx_not_empty: 841rx_not_empty:
844 return num_rx_pkt; 842 return num_rx_pkt;
@@ -1231,7 +1229,9 @@ static int amd8111e_close(struct net_device * dev)
1231 1229
1232 amd8111e_disable_interrupt(lp); 1230 amd8111e_disable_interrupt(lp);
1233 amd8111e_stop_chip(lp); 1231 amd8111e_stop_chip(lp);
1234 amd8111e_free_ring(lp); 1232
1233 /* Free transmit and receive skbs */
1234 amd8111e_free_skbs(lp->amd8111e_net_dev);
1235 1235
1236 netif_carrier_off(lp->amd8111e_net_dev); 1236 netif_carrier_off(lp->amd8111e_net_dev);
1237 1237
@@ -1241,6 +1241,7 @@ static int amd8111e_close(struct net_device * dev)
1241 1241
1242 spin_unlock_irq(&lp->lock); 1242 spin_unlock_irq(&lp->lock);
1243 free_irq(dev->irq, dev); 1243 free_irq(dev->irq, dev);
1244 amd8111e_free_ring(lp);
1244 1245
1245 /* Update the statistics before closing */ 1246 /* Update the statistics before closing */
1246 amd8111e_get_stats(dev); 1247 amd8111e_get_stats(dev);
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 0fa53464efb2..6f431a887e7e 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -1080,7 +1080,8 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add
1080 init_timer(&lp->check_timer); 1080 init_timer(&lp->check_timer);
1081 lp->check_timer.data = (unsigned long)dev; 1081 lp->check_timer.data = (unsigned long)dev;
1082 lp->check_timer.function = at91ether_check_link; 1082 lp->check_timer.function = at91ether_check_link;
1083 } 1083 } else if (lp->board_data.phy_irq_pin >= 32)
1084 gpio_request(lp->board_data.phy_irq_pin, "ethernet_phy");
1084 1085
1085 /* Display ethernet banner */ 1086 /* Display ethernet banner */
1086 printk(KERN_INFO "%s: AT91 ethernet at 0x%08x int=%d %s%s (%s)\n", 1087 printk(KERN_INFO "%s: AT91 ethernet at 0x%08x int=%d %s%s (%s)\n",
@@ -1167,6 +1168,9 @@ static int __devexit at91ether_remove(struct platform_device *pdev)
1167 struct net_device *dev = platform_get_drvdata(pdev); 1168 struct net_device *dev = platform_get_drvdata(pdev);
1168 struct at91_private *lp = netdev_priv(dev); 1169 struct at91_private *lp = netdev_priv(dev);
1169 1170
1171 if (lp->board_data.phy_irq_pin >= 32)
1172 gpio_free(lp->board_data.phy_irq_pin);
1173
1170 unregister_netdev(dev); 1174 unregister_netdev(dev);
1171 free_irq(dev->irq, dev); 1175 free_irq(dev->irq, dev);
1172 dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); 1176 dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys);
diff --git a/drivers/net/atl1e/atl1e.h b/drivers/net/atl1e/atl1e.h
index b645fa0f3f64..c49550d507a0 100644
--- a/drivers/net/atl1e/atl1e.h
+++ b/drivers/net/atl1e/atl1e.h
@@ -46,7 +46,6 @@
46#include <linux/vmalloc.h> 46#include <linux/vmalloc.h>
47#include <linux/pagemap.h> 47#include <linux/pagemap.h>
48#include <linux/tcp.h> 48#include <linux/tcp.h>
49#include <linux/mii.h>
50#include <linux/ethtool.h> 49#include <linux/ethtool.h>
51#include <linux/if_vlan.h> 50#include <linux/if_vlan.h>
52#include <linux/workqueue.h> 51#include <linux/workqueue.h>
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index 3cf59a7f5a1c..246d92b42636 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -2310,7 +2310,8 @@ static void atl1_tx_queue(struct atl1_adapter *adapter, u16 count,
2310 if (tpd != ptpd) 2310 if (tpd != ptpd)
2311 memcpy(tpd, ptpd, sizeof(struct tx_packet_desc)); 2311 memcpy(tpd, ptpd, sizeof(struct tx_packet_desc));
2312 tpd->buffer_addr = cpu_to_le64(buffer_info->dma); 2312 tpd->buffer_addr = cpu_to_le64(buffer_info->dma);
2313 tpd->word2 = (cpu_to_le16(buffer_info->length) & 2313 tpd->word2 &= ~(TPD_BUFLEN_MASK << TPD_BUFLEN_SHIFT);
2314 tpd->word2 |= (cpu_to_le16(buffer_info->length) &
2314 TPD_BUFLEN_MASK) << TPD_BUFLEN_SHIFT; 2315 TPD_BUFLEN_MASK) << TPD_BUFLEN_SHIFT;
2315 2316
2316 /* 2317 /*
@@ -2409,8 +2410,8 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
2409 vlan_tag = (vlan_tag << 4) | (vlan_tag >> 13) | 2410 vlan_tag = (vlan_tag << 4) | (vlan_tag >> 13) |
2410 ((vlan_tag >> 9) & 0x8); 2411 ((vlan_tag >> 9) & 0x8);
2411 ptpd->word3 |= 1 << TPD_INS_VL_TAG_SHIFT; 2412 ptpd->word3 |= 1 << TPD_INS_VL_TAG_SHIFT;
2412 ptpd->word3 |= (vlan_tag & TPD_VL_TAGGED_MASK) << 2413 ptpd->word2 |= (vlan_tag & TPD_VLANTAG_MASK) <<
2413 TPD_VL_TAGGED_SHIFT; 2414 TPD_VLANTAG_SHIFT;
2414 } 2415 }
2415 2416
2416 tso = atl1_tso(adapter, skb, ptpd); 2417 tso = atl1_tso(adapter, skb, ptpd);
diff --git a/drivers/net/atlx/atl1.h b/drivers/net/atlx/atl1.h
index a5015b14a429..ffa73fc8d95e 100644
--- a/drivers/net/atlx/atl1.h
+++ b/drivers/net/atlx/atl1.h
@@ -504,7 +504,7 @@ struct rx_free_desc {
504#define TPD_PKTNT_MASK 0x0001 504#define TPD_PKTNT_MASK 0x0001
505#define TPD_PKTINT_SHIFT 15 505#define TPD_PKTINT_SHIFT 15
506#define TPD_VLANTAG_MASK 0xFFFF 506#define TPD_VLANTAG_MASK 0xFFFF
507#define TPD_VLAN_SHIFT 16 507#define TPD_VLANTAG_SHIFT 16
508 508
509/* tpd word 3 bits 0:13 */ 509/* tpd word 3 bits 0:13 */
510#define TPD_EOP_MASK 0x0001 510#define TPD_EOP_MASK 0x0001
diff --git a/drivers/net/bnx2x_init.h b/drivers/net/bnx2x_init.h
index 130927cfc75b..a6c0b3abba29 100644
--- a/drivers/net/bnx2x_init.h
+++ b/drivers/net/bnx2x_init.h
@@ -564,14 +564,15 @@ static const struct arb_line write_arb_addr[NUM_WR_Q-1] = {
564 564
565static void bnx2x_init_pxp(struct bnx2x *bp) 565static void bnx2x_init_pxp(struct bnx2x *bp)
566{ 566{
567 u16 devctl;
567 int r_order, w_order; 568 int r_order, w_order;
568 u32 val, i; 569 u32 val, i;
569 570
570 pci_read_config_word(bp->pdev, 571 pci_read_config_word(bp->pdev,
571 bp->pcie_cap + PCI_EXP_DEVCTL, (u16 *)&val); 572 bp->pcie_cap + PCI_EXP_DEVCTL, &devctl);
572 DP(NETIF_MSG_HW, "read 0x%x from devctl\n", (u16)val); 573 DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl);
573 w_order = ((val & PCI_EXP_DEVCTL_PAYLOAD) >> 5); 574 w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5);
574 r_order = ((val & PCI_EXP_DEVCTL_READRQ) >> 12); 575 r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12);
575 576
576 if (r_order > MAX_RD_ORD) { 577 if (r_order > MAX_RD_ORD) {
577 DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", 578 DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n",
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index fce745148ff9..600210d7eff9 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.22" 62#define DRV_MODULE_VERSION "1.45.23"
63#define DRV_MODULE_RELDATE "2008/09/09" 63#define DRV_MODULE_RELDATE "2008/11/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 */
@@ -6481,6 +6481,7 @@ load_int_disable:
6481 bnx2x_free_irq(bp); 6481 bnx2x_free_irq(bp);
6482load_error: 6482load_error:
6483 bnx2x_free_mem(bp); 6483 bnx2x_free_mem(bp);
6484 bp->port.pmf = 0;
6484 6485
6485 /* TBD we really need to reset the chip 6486 /* TBD we really need to reset the chip
6486 if we want to recover from this */ 6487 if we want to recover from this */
@@ -6791,6 +6792,7 @@ unload_error:
6791 /* Report UNLOAD_DONE to MCP */ 6792 /* Report UNLOAD_DONE to MCP */
6792 if (!BP_NOMCP(bp)) 6793 if (!BP_NOMCP(bp))
6793 bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE); 6794 bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE);
6795 bp->port.pmf = 0;
6794 6796
6795 /* Free SKBs, SGEs, TPA pool and driver internals */ 6797 /* Free SKBs, SGEs, TPA pool and driver internals */
6796 bnx2x_free_skbs(bp); 6798 bnx2x_free_skbs(bp);
@@ -10204,8 +10206,6 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev,
10204 return -ENOMEM; 10206 return -ENOMEM;
10205 } 10207 }
10206 10208
10207 netif_carrier_off(dev);
10208
10209 bp = netdev_priv(dev); 10209 bp = netdev_priv(dev);
10210 bp->msglevel = debug; 10210 bp->msglevel = debug;
10211 10211
@@ -10229,6 +10229,8 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev,
10229 goto init_one_exit; 10229 goto init_one_exit;
10230 } 10230 }
10231 10231
10232 netif_carrier_off(dev);
10233
10232 bp->common.name = board_info[ent->driver_data].name; 10234 bp->common.name = board_info[ent->driver_data].name;
10233 printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx," 10235 printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx,"
10234 " IRQ %d, ", dev->name, bp->common.name, 10236 " IRQ %d, ", dev->name, bp->common.name,
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index ade5f3f6693b..87437c788476 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -169,11 +169,14 @@ static void tlb_clear_slave(struct bonding *bond, struct slave *slave, int save_
169 /* clear slave from tx_hashtbl */ 169 /* clear slave from tx_hashtbl */
170 tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl; 170 tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl;
171 171
172 index = SLAVE_TLB_INFO(slave).head; 172 /* skip this if we've already freed the tx hash table */
173 while (index != TLB_NULL_INDEX) { 173 if (tx_hash_table) {
174 u32 next_index = tx_hash_table[index].next; 174 index = SLAVE_TLB_INFO(slave).head;
175 tlb_init_table_entry(&tx_hash_table[index], save_load); 175 while (index != TLB_NULL_INDEX) {
176 index = next_index; 176 u32 next_index = tx_hash_table[index].next;
177 tlb_init_table_entry(&tx_hash_table[index], save_load);
178 index = next_index;
179 }
177 } 180 }
178 181
179 tlb_init_slave(slave); 182 tlb_init_slave(slave);
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 832739f38db4..a3efba59eee9 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1979,6 +1979,20 @@ void bond_destroy(struct bonding *bond)
1979 unregister_netdevice(bond->dev); 1979 unregister_netdevice(bond->dev);
1980} 1980}
1981 1981
1982static void bond_destructor(struct net_device *bond_dev)
1983{
1984 struct bonding *bond = bond_dev->priv;
1985
1986 if (bond->wq)
1987 destroy_workqueue(bond->wq);
1988
1989 netif_addr_lock_bh(bond_dev);
1990 bond_mc_list_destroy(bond);
1991 netif_addr_unlock_bh(bond_dev);
1992
1993 free_netdev(bond_dev);
1994}
1995
1982/* 1996/*
1983* First release a slave and than destroy the bond if no more slaves iare left. 1997* First release a slave and than destroy the bond if no more slaves iare left.
1984* Must be under rtnl_lock when this function is called. 1998* Must be under rtnl_lock when this function is called.
@@ -2376,6 +2390,9 @@ static void bond_miimon_commit(struct bonding *bond)
2376 continue; 2390 continue;
2377 2391
2378 case BOND_LINK_DOWN: 2392 case BOND_LINK_DOWN:
2393 if (slave->link_failure_count < UINT_MAX)
2394 slave->link_failure_count++;
2395
2379 slave->link = BOND_LINK_DOWN; 2396 slave->link = BOND_LINK_DOWN;
2380 2397
2381 if (bond->params.mode == BOND_MODE_ACTIVEBACKUP || 2398 if (bond->params.mode == BOND_MODE_ACTIVEBACKUP ||
@@ -4550,7 +4567,7 @@ static int bond_init(struct net_device *bond_dev, struct bond_params *params)
4550 4567
4551 bond_set_mode_ops(bond, bond->params.mode); 4568 bond_set_mode_ops(bond, bond->params.mode);
4552 4569
4553 bond_dev->destructor = free_netdev; 4570 bond_dev->destructor = bond_destructor;
4554 4571
4555 /* Initialize the device options */ 4572 /* Initialize the device options */
4556 bond_dev->tx_queue_len = 0; 4573 bond_dev->tx_queue_len = 0;
@@ -4589,20 +4606,6 @@ static int bond_init(struct net_device *bond_dev, struct bond_params *params)
4589 return 0; 4606 return 0;
4590} 4607}
4591 4608
4592/* De-initialize device specific data.
4593 * Caller must hold rtnl_lock.
4594 */
4595static void bond_deinit(struct net_device *bond_dev)
4596{
4597 struct bonding *bond = bond_dev->priv;
4598
4599 list_del(&bond->bond_list);
4600
4601#ifdef CONFIG_PROC_FS
4602 bond_remove_proc_entry(bond);
4603#endif
4604}
4605
4606static void bond_work_cancel_all(struct bonding *bond) 4609static void bond_work_cancel_all(struct bonding *bond)
4607{ 4610{
4608 write_lock_bh(&bond->lock); 4611 write_lock_bh(&bond->lock);
@@ -4624,6 +4627,22 @@ static void bond_work_cancel_all(struct bonding *bond)
4624 cancel_delayed_work(&bond->ad_work); 4627 cancel_delayed_work(&bond->ad_work);
4625} 4628}
4626 4629
4630/* De-initialize device specific data.
4631 * Caller must hold rtnl_lock.
4632 */
4633static void bond_deinit(struct net_device *bond_dev)
4634{
4635 struct bonding *bond = bond_dev->priv;
4636
4637 list_del(&bond->bond_list);
4638
4639 bond_work_cancel_all(bond);
4640
4641#ifdef CONFIG_PROC_FS
4642 bond_remove_proc_entry(bond);
4643#endif
4644}
4645
4627/* Unregister and free all bond devices. 4646/* Unregister and free all bond devices.
4628 * Caller must hold rtnl_lock. 4647 * Caller must hold rtnl_lock.
4629 */ 4648 */
@@ -4635,9 +4654,6 @@ static void bond_free_all(void)
4635 struct net_device *bond_dev = bond->dev; 4654 struct net_device *bond_dev = bond->dev;
4636 4655
4637 bond_work_cancel_all(bond); 4656 bond_work_cancel_all(bond);
4638 netif_addr_lock_bh(bond_dev);
4639 bond_mc_list_destroy(bond);
4640 netif_addr_unlock_bh(bond_dev);
4641 /* Release the bonded slaves */ 4657 /* Release the bonded slaves */
4642 bond_release_all(bond_dev); 4658 bond_release_all(bond_dev);
4643 bond_destroy(bond); 4659 bond_destroy(bond);
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 65d0a9103297..7e8a63106bdf 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -32,14 +32,14 @@
32#include <linux/skbuff.h> 32#include <linux/skbuff.h>
33#include <linux/ethtool.h> 33#include <linux/ethtool.h>
34 34
35#include <asm/arch/svinto.h>/* DMA and register descriptions */ 35#include <arch/svinto.h>/* DMA and register descriptions */
36#include <asm/io.h> /* CRIS_LED_* I/O functions */ 36#include <asm/io.h> /* CRIS_LED_* I/O functions */
37#include <asm/irq.h> 37#include <asm/irq.h>
38#include <asm/dma.h> 38#include <asm/dma.h>
39#include <asm/system.h> 39#include <asm/system.h>
40#include <asm/ethernet.h> 40#include <asm/ethernet.h>
41#include <asm/cache.h> 41#include <asm/cache.h>
42#include <asm/arch/io_interface_mux.h> 42#include <arch/io_interface_mux.h>
43 43
44//#define ETHDEBUG 44//#define ETHDEBUG
45#define D(x) 45#define D(x)
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index 82dd1a891ce7..002d918fb4c7 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
40#include <asm/io.h> 40#include <asm/io.h>
41 41
42#define DRV_NAME "ehea" 42#define DRV_NAME "ehea"
43#define DRV_VERSION "EHEA_0094" 43#define DRV_VERSION "EHEA_0095"
44 44
45/* eHEA capability flags */ 45/* eHEA capability flags */
46#define DLPAR_PORT_ADD_REM 1 46#define DLPAR_PORT_ADD_REM 1
diff --git a/drivers/net/ehea/ehea_qmr.c b/drivers/net/ehea/ehea_qmr.c
index 9b61dc9865d1..9d006878f045 100644
--- a/drivers/net/ehea/ehea_qmr.c
+++ b/drivers/net/ehea/ehea_qmr.c
@@ -632,10 +632,13 @@ static void ehea_rebuild_busmap(void)
632 } 632 }
633} 633}
634 634
635static int ehea_update_busmap(unsigned long pfn, unsigned long pgnum, int add) 635static int ehea_update_busmap(unsigned long pfn, unsigned long nr_pages, int add)
636{ 636{
637 unsigned long i, start_section, end_section; 637 unsigned long i, start_section, end_section;
638 638
639 if (!nr_pages)
640 return 0;
641
639 if (!ehea_bmap) { 642 if (!ehea_bmap) {
640 ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL); 643 ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL);
641 if (!ehea_bmap) 644 if (!ehea_bmap)
@@ -643,7 +646,7 @@ static int ehea_update_busmap(unsigned long pfn, unsigned long pgnum, int add)
643 } 646 }
644 647
645 start_section = (pfn * PAGE_SIZE) / EHEA_SECTSIZE; 648 start_section = (pfn * PAGE_SIZE) / EHEA_SECTSIZE;
646 end_section = start_section + ((pgnum * PAGE_SIZE) / EHEA_SECTSIZE); 649 end_section = start_section + ((nr_pages * PAGE_SIZE) / EHEA_SECTSIZE);
647 /* Mark entries as valid or invalid only; address is assigned later */ 650 /* Mark entries as valid or invalid only; address is assigned later */
648 for (i = start_section; i < end_section; i++) { 651 for (i = start_section; i < end_section; i++) {
649 u64 flag; 652 u64 flag;
@@ -692,10 +695,54 @@ int ehea_rem_sect_bmap(unsigned long pfn, unsigned long nr_pages)
692 return ret; 695 return ret;
693} 696}
694 697
695static int ehea_create_busmap_callback(unsigned long pfn, 698static int ehea_is_hugepage(unsigned long pfn)
696 unsigned long nr_pages, void *arg) 699{
700 int page_order;
701
702 if (pfn & EHEA_HUGEPAGE_PFN_MASK)
703 return 0;
704
705 page_order = compound_order(pfn_to_page(pfn));
706 if (page_order + PAGE_SHIFT != EHEA_HUGEPAGESHIFT)
707 return 0;
708
709 return 1;
710}
711
712static int ehea_create_busmap_callback(unsigned long initial_pfn,
713 unsigned long total_nr_pages, void *arg)
697{ 714{
698 return ehea_update_busmap(pfn, nr_pages, EHEA_BUSMAP_ADD_SECT); 715 int ret;
716 unsigned long pfn, start_pfn, end_pfn, nr_pages;
717
718 if ((total_nr_pages * PAGE_SIZE) < EHEA_HUGEPAGE_SIZE)
719 return ehea_update_busmap(initial_pfn, total_nr_pages,
720 EHEA_BUSMAP_ADD_SECT);
721
722 /* Given chunk is >= 16GB -> check for hugepages */
723 start_pfn = initial_pfn;
724 end_pfn = initial_pfn + total_nr_pages;
725 pfn = start_pfn;
726
727 while (pfn < end_pfn) {
728 if (ehea_is_hugepage(pfn)) {
729 /* Add mem found in front of the hugepage */
730 nr_pages = pfn - start_pfn;
731 ret = ehea_update_busmap(start_pfn, nr_pages,
732 EHEA_BUSMAP_ADD_SECT);
733 if (ret)
734 return ret;
735
736 /* Skip the hugepage */
737 pfn += (EHEA_HUGEPAGE_SIZE / PAGE_SIZE);
738 start_pfn = pfn;
739 } else
740 pfn += (EHEA_SECTSIZE / PAGE_SIZE);
741 }
742
743 /* Add mem found behind the hugepage(s) */
744 nr_pages = pfn - start_pfn;
745 return ehea_update_busmap(start_pfn, nr_pages, EHEA_BUSMAP_ADD_SECT);
699} 746}
700 747
701int ehea_create_busmap(void) 748int ehea_create_busmap(void)
diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h
index 1e58dc06b7d2..0817c1e74a19 100644
--- a/drivers/net/ehea/ehea_qmr.h
+++ b/drivers/net/ehea/ehea_qmr.h
@@ -40,6 +40,9 @@
40#define EHEA_PAGESIZE (1UL << EHEA_PAGESHIFT) 40#define EHEA_PAGESIZE (1UL << EHEA_PAGESHIFT)
41#define EHEA_SECTSIZE (1UL << 24) 41#define EHEA_SECTSIZE (1UL << 24)
42#define EHEA_PAGES_PER_SECTION (EHEA_SECTSIZE >> EHEA_PAGESHIFT) 42#define EHEA_PAGES_PER_SECTION (EHEA_SECTSIZE >> EHEA_PAGESHIFT)
43#define EHEA_HUGEPAGESHIFT 34
44#define EHEA_HUGEPAGE_SIZE (1UL << EHEA_HUGEPAGESHIFT)
45#define EHEA_HUGEPAGE_PFN_MASK ((EHEA_HUGEPAGE_SIZE - 1) >> PAGE_SHIFT)
43 46
44#if ((1UL << SECTION_SIZE_BITS) < EHEA_SECTSIZE) 47#if ((1UL << SECTION_SIZE_BITS) < EHEA_SECTSIZE)
45#error eHEA module cannot work if kernel sectionsize < ehea sectionsize 48#error eHEA module cannot work if kernel sectionsize < ehea sectionsize
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index cb51c1fb0338..a6f49d025787 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -1099,7 +1099,9 @@ static int __devinit fs_enet_probe(struct of_device *ofdev,
1099 ndev->stop = fs_enet_close; 1099 ndev->stop = fs_enet_close;
1100 ndev->get_stats = fs_enet_get_stats; 1100 ndev->get_stats = fs_enet_get_stats;
1101 ndev->set_multicast_list = fs_set_multicast_list; 1101 ndev->set_multicast_list = fs_set_multicast_list;
1102 1102#ifdef CONFIG_NET_POLL_CONTROLLER
1103 ndev->poll_controller = fs_enet_netpoll;
1104#endif
1103 if (fpi->use_napi) 1105 if (fpi->use_napi)
1104 netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi, 1106 netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi,
1105 fpi->napi_weight); 1107 fpi->napi_weight);
@@ -1209,7 +1211,7 @@ static void __exit fs_cleanup(void)
1209static void fs_enet_netpoll(struct net_device *dev) 1211static void fs_enet_netpoll(struct net_device *dev)
1210{ 1212{
1211 disable_irq(dev->irq); 1213 disable_irq(dev->irq);
1212 fs_enet_interrupt(dev->irq, dev, NULL); 1214 fs_enet_interrupt(dev->irq, dev);
1213 enable_irq(dev->irq); 1215 enable_irq(dev->irq);
1214} 1216}
1215#endif 1217#endif
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 64b201134fdb..83a5cb6aa23b 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -586,6 +586,18 @@ static void gfar_configure_serdes(struct net_device *dev)
586 struct gfar_mii __iomem *regs = 586 struct gfar_mii __iomem *regs =
587 (void __iomem *)&priv->regs->gfar_mii_regs; 587 (void __iomem *)&priv->regs->gfar_mii_regs;
588 int tbipa = gfar_read(&priv->regs->tbipa); 588 int tbipa = gfar_read(&priv->regs->tbipa);
589 struct mii_bus *bus = gfar_get_miibus(priv);
590
591 if (bus)
592 mutex_lock(&bus->mdio_lock);
593
594 /* If the link is already up, we must already be ok, and don't need to
595 * configure and reset the TBI<->SerDes link. Maybe U-Boot configured
596 * everything for us? Resetting it takes the link down and requires
597 * several seconds for it to come back.
598 */
599 if (gfar_local_mdio_read(regs, tbipa, MII_BMSR) & BMSR_LSTATUS)
600 goto done;
589 601
590 /* Single clk mode, mii mode off(for serdes communication) */ 602 /* Single clk mode, mii mode off(for serdes communication) */
591 gfar_local_mdio_write(regs, tbipa, MII_TBICON, TBICON_CLK_SELECT); 603 gfar_local_mdio_write(regs, tbipa, MII_TBICON, TBICON_CLK_SELECT);
@@ -596,6 +608,10 @@ static void gfar_configure_serdes(struct net_device *dev)
596 608
597 gfar_local_mdio_write(regs, tbipa, MII_BMCR, BMCR_ANENABLE | 609 gfar_local_mdio_write(regs, tbipa, MII_BMCR, BMCR_ANENABLE |
598 BMCR_ANRESTART | BMCR_FULLDPLX | BMCR_SPEED1000); 610 BMCR_ANRESTART | BMCR_FULLDPLX | BMCR_SPEED1000);
611
612 done:
613 if (bus)
614 mutex_unlock(&bus->mdio_lock);
599} 615}
600 616
601static void init_registers(struct net_device *dev) 617static void init_registers(struct net_device *dev)
diff --git a/drivers/net/gianfar_mii.c b/drivers/net/gianfar_mii.c
index bf73eea98010..0e2595d24933 100644
--- a/drivers/net/gianfar_mii.c
+++ b/drivers/net/gianfar_mii.c
@@ -269,6 +269,27 @@ static struct device_driver gianfar_mdio_driver = {
269 .remove = gfar_mdio_remove, 269 .remove = gfar_mdio_remove,
270}; 270};
271 271
272static int match_mdio_bus(struct device *dev, void *data)
273{
274 const struct gfar_private *priv = data;
275 const struct platform_device *pdev = to_platform_device(dev);
276
277 return !strcmp(pdev->name, gianfar_mdio_driver.name) &&
278 pdev->id == priv->einfo->mdio_bus;
279}
280
281/* Given a gfar_priv structure, find the mii_bus controlled by this device (not
282 * necessarily the same as the bus the gfar's PHY is on), if one exists.
283 * Normally only the first gianfar controls a mii_bus. */
284struct mii_bus *gfar_get_miibus(const struct gfar_private *priv)
285{
286 /*const*/ struct device *d;
287
288 d = bus_find_device(gianfar_mdio_driver.bus, NULL, (void *)priv,
289 match_mdio_bus);
290 return d ? dev_get_drvdata(d) : NULL;
291}
292
272int __init gfar_mdio_init(void) 293int __init gfar_mdio_init(void)
273{ 294{
274 return driver_register(&gianfar_mdio_driver); 295 return driver_register(&gianfar_mdio_driver);
diff --git a/drivers/net/gianfar_mii.h b/drivers/net/gianfar_mii.h
index 2af28b16a0e2..02dc970ca1ff 100644
--- a/drivers/net/gianfar_mii.h
+++ b/drivers/net/gianfar_mii.h
@@ -18,6 +18,8 @@
18#ifndef __GIANFAR_MII_H 18#ifndef __GIANFAR_MII_H
19#define __GIANFAR_MII_H 19#define __GIANFAR_MII_H
20 20
21struct gfar_private; /* forward ref */
22
21#define MIIMIND_BUSY 0x00000001 23#define MIIMIND_BUSY 0x00000001
22#define MIIMIND_NOTVALID 0x00000004 24#define MIIMIND_NOTVALID 0x00000004
23 25
@@ -44,6 +46,7 @@ int gfar_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value);
44int gfar_local_mdio_write(struct gfar_mii __iomem *regs, int mii_id, 46int gfar_local_mdio_write(struct gfar_mii __iomem *regs, int mii_id,
45 int regnum, u16 value); 47 int regnum, u16 value);
46int gfar_local_mdio_read(struct gfar_mii __iomem *regs, int mii_id, int regnum); 48int gfar_local_mdio_read(struct gfar_mii __iomem *regs, int mii_id, int regnum);
49struct mii_bus *gfar_get_miibus(const struct gfar_private *priv);
47int __init gfar_mdio_init(void); 50int __init gfar_mdio_init(void);
48void gfar_mdio_exit(void); 51void gfar_mdio_exit(void);
49#endif /* GIANFAR_PHY_H */ 52#endif /* GIANFAR_PHY_H */
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 2ee2622258f5..901212aa37cb 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -2605,7 +2605,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
2605 of_device_is_compatible(np, "ibm,emac-440gr")) 2605 of_device_is_compatible(np, "ibm,emac-440gr"))
2606 dev->features |= EMAC_FTR_440EP_PHY_CLK_FIX; 2606 dev->features |= EMAC_FTR_440EP_PHY_CLK_FIX;
2607 if (of_device_is_compatible(np, "ibm,emac-405ez")) { 2607 if (of_device_is_compatible(np, "ibm,emac-405ez")) {
2608#ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CONTROL 2608#ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL
2609 dev->features |= EMAC_FTR_NO_FLOW_CONTROL_40x; 2609 dev->features |= EMAC_FTR_NO_FLOW_CONTROL_40x;
2610#else 2610#else
2611 printk(KERN_ERR "%s: Flow control not disabled!\n", 2611 printk(KERN_ERR "%s: Flow control not disabled!\n",
diff --git a/drivers/net/irda/ks959-sir.c b/drivers/net/irda/ks959-sir.c
index 2482d61662a2..2e67ae015d91 100644
--- a/drivers/net/irda/ks959-sir.c
+++ b/drivers/net/irda/ks959-sir.c
@@ -118,7 +118,6 @@
118#include <linux/errno.h> 118#include <linux/errno.h>
119#include <linux/init.h> 119#include <linux/init.h>
120#include <linux/slab.h> 120#include <linux/slab.h>
121#include <linux/module.h>
122#include <linux/kref.h> 121#include <linux/kref.h>
123#include <linux/usb.h> 122#include <linux/usb.h>
124#include <linux/device.h> 123#include <linux/device.h>
diff --git a/drivers/net/irda/ksdazzle-sir.c b/drivers/net/irda/ksdazzle-sir.c
index 1e0de93fd618..3843b5faba8b 100644
--- a/drivers/net/irda/ksdazzle-sir.c
+++ b/drivers/net/irda/ksdazzle-sir.c
@@ -82,7 +82,6 @@
82#include <linux/errno.h> 82#include <linux/errno.h>
83#include <linux/init.h> 83#include <linux/init.h>
84#include <linux/slab.h> 84#include <linux/slab.h>
85#include <linux/module.h>
86#include <linux/kref.h> 85#include <linux/kref.h>
87#include <linux/usb.h> 86#include <linux/usb.h>
88#include <linux/device.h> 87#include <linux/device.h>
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index 3b43bfd85a0f..b1ac63ab8c16 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -76,15 +76,6 @@ static int loopback_xmit(struct sk_buff *skb, struct net_device *dev)
76 76
77 skb->protocol = eth_type_trans(skb,dev); 77 skb->protocol = eth_type_trans(skb,dev);
78 78
79#ifdef LOOPBACK_TSO
80 if (skb_is_gso(skb)) {
81 BUG_ON(skb->protocol != htons(ETH_P_IP));
82 BUG_ON(ip_hdr(skb)->protocol != IPPROTO_TCP);
83
84 emulate_large_send_offload(skb);
85 return 0;
86 }
87#endif
88 dev->last_rx = jiffies; 79 dev->last_rx = jiffies;
89 80
90 /* it's OK to use per_cpu_ptr() because BHs are off */ 81 /* it's OK to use per_cpu_ptr() because BHs are off */
diff --git a/drivers/net/mlx4/en_main.c b/drivers/net/mlx4/en_main.c
index 1b0eebf84f76..4b9794e97a79 100644
--- a/drivers/net/mlx4/en_main.c
+++ b/drivers/net/mlx4/en_main.c
@@ -35,7 +35,6 @@
35#include <linux/module.h> 35#include <linux/module.h>
36#include <linux/delay.h> 36#include <linux/delay.h>
37#include <linux/netdevice.h> 37#include <linux/netdevice.h>
38#include <linux/cpumask.h>
39 38
40#include <linux/mlx4/driver.h> 39#include <linux/mlx4/driver.h>
41#include <linux/mlx4/device.h> 40#include <linux/mlx4/device.h>
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c
index a339afbeed38..a3f732418c49 100644
--- a/drivers/net/mlx4/en_netdev.c
+++ b/drivers/net/mlx4/en_netdev.c
@@ -706,7 +706,7 @@ tx_err:
706 mlx4_en_release_rss_steer(priv); 706 mlx4_en_release_rss_steer(priv);
707rx_err: 707rx_err:
708 for (i = 0; i < priv->rx_ring_num; i++) 708 for (i = 0; i < priv->rx_ring_num; i++)
709 mlx4_en_deactivate_rx_ring(priv, &priv->rx_ring[rx_index]); 709 mlx4_en_deactivate_rx_ring(priv, &priv->rx_ring[i]);
710cq_err: 710cq_err:
711 while (rx_index--) 711 while (rx_index--)
712 mlx4_en_deactivate_cq(priv, &priv->rx_cq[rx_index]); 712 mlx4_en_deactivate_cq(priv, &priv->rx_cq[rx_index]);
diff --git a/drivers/net/mlx4/fw.c b/drivers/net/mlx4/fw.c
index be09fdb79cb8..cee199ceba2f 100644
--- a/drivers/net/mlx4/fw.c
+++ b/drivers/net/mlx4/fw.c
@@ -360,9 +360,9 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
360#define QUERY_PORT_ETH_MTU_OFFSET 0x02 360#define QUERY_PORT_ETH_MTU_OFFSET 0x02
361#define QUERY_PORT_WIDTH_OFFSET 0x06 361#define QUERY_PORT_WIDTH_OFFSET 0x06
362#define QUERY_PORT_MAX_GID_PKEY_OFFSET 0x07 362#define QUERY_PORT_MAX_GID_PKEY_OFFSET 0x07
363#define QUERY_PORT_MAC_OFFSET 0x08
364#define QUERY_PORT_MAX_MACVLAN_OFFSET 0x0a 363#define QUERY_PORT_MAX_MACVLAN_OFFSET 0x0a
365#define QUERY_PORT_MAX_VL_OFFSET 0x0b 364#define QUERY_PORT_MAX_VL_OFFSET 0x0b
365#define QUERY_PORT_MAC_OFFSET 0x10
366 366
367 for (i = 1; i <= dev_cap->num_ports; ++i) { 367 for (i = 1; i <= dev_cap->num_ports; ++i) {
368 err = mlx4_cmd_box(dev, 0, mailbox->dma, i, 0, MLX4_CMD_QUERY_PORT, 368 err = mlx4_cmd_box(dev, 0, mailbox->dma, i, 0, MLX4_CMD_QUERY_PORT,
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index a9c8c08044b1..b9dcdbd369f8 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -1066,9 +1066,12 @@ static int smi_wait_ready(struct mv643xx_eth_shared_private *msp)
1066 return 0; 1066 return 0;
1067 } 1067 }
1068 1068
1069 if (!wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp), 1069 if (!smi_is_done(msp)) {
1070 msecs_to_jiffies(100))) 1070 wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp),
1071 return -ETIMEDOUT; 1071 msecs_to_jiffies(100));
1072 if (!smi_is_done(msp))
1073 return -ETIMEDOUT;
1074 }
1072 1075
1073 return 0; 1076 return 0;
1074} 1077}
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index b1556b2e404c..a5f428bcc0eb 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.4.3-1.371" 78#define MYRI10GE_VERSION_STR "1.4.3-1.375"
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");
@@ -1393,6 +1393,7 @@ myri10ge_tx_done(struct myri10ge_slice_state *ss, int mcp_index)
1393 if (tx->req == tx->done) { 1393 if (tx->req == tx->done) {
1394 tx->queue_active = 0; 1394 tx->queue_active = 0;
1395 put_be32(htonl(1), tx->send_stop); 1395 put_be32(htonl(1), tx->send_stop);
1396 mmiowb();
1396 } 1397 }
1397 __netif_tx_unlock(dev_queue); 1398 __netif_tx_unlock(dev_queue);
1398 } 1399 }
@@ -2864,6 +2865,7 @@ again:
2864 if ((mgp->dev->real_num_tx_queues > 1) && tx->queue_active == 0) { 2865 if ((mgp->dev->real_num_tx_queues > 1) && tx->queue_active == 0) {
2865 tx->queue_active = 1; 2866 tx->queue_active = 1;
2866 put_be32(htonl(1), tx->send_go); 2867 put_be32(htonl(1), tx->send_go);
2868 mmiowb();
2867 } 2869 }
2868 tx->pkt_start++; 2870 tx->pkt_start++;
2869 if ((avail - count) < MXGEFW_MAX_SEND_DESC) { 2871 if ((avail - count) < MXGEFW_MAX_SEND_DESC) {
diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index ebc812702903..9acb5d70a3ae 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -8667,7 +8667,6 @@ static void __devinit niu_device_announce(struct niu *np)
8667static int __devinit niu_pci_init_one(struct pci_dev *pdev, 8667static int __devinit niu_pci_init_one(struct pci_dev *pdev,
8668 const struct pci_device_id *ent) 8668 const struct pci_device_id *ent)
8669{ 8669{
8670 unsigned long niureg_base, niureg_len;
8671 union niu_parent_id parent_id; 8670 union niu_parent_id parent_id;
8672 struct net_device *dev; 8671 struct net_device *dev;
8673 struct niu *np; 8672 struct niu *np;
@@ -8758,10 +8757,7 @@ static int __devinit niu_pci_init_one(struct pci_dev *pdev,
8758 8757
8759 dev->features |= (NETIF_F_SG | NETIF_F_HW_CSUM); 8758 dev->features |= (NETIF_F_SG | NETIF_F_HW_CSUM);
8760 8759
8761 niureg_base = pci_resource_start(pdev, 0); 8760 np->regs = pci_ioremap_bar(pdev, 0);
8762 niureg_len = pci_resource_len(pdev, 0);
8763
8764 np->regs = ioremap_nocache(niureg_base, niureg_len);
8765 if (!np->regs) { 8761 if (!np->regs) {
8766 dev_err(&pdev->dev, PFX "Cannot map device registers, " 8762 dev_err(&pdev->dev, PFX "Cannot map device registers, "
8767 "aborting.\n"); 8763 "aborting.\n");
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c
index fc6f4b8c64b3..b646e92134dc 100644
--- a/drivers/net/pppoe.c
+++ b/drivers/net/pppoe.c
@@ -399,11 +399,11 @@ static int pppoe_rcv(struct sk_buff *skb,
399 if (skb->len < len) 399 if (skb->len < len)
400 goto drop; 400 goto drop;
401 401
402 po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex); 402 if (pskb_trim_rcsum(skb, len))
403 if (!po)
404 goto drop; 403 goto drop;
405 404
406 if (pskb_trim_rcsum(skb, len)) 405 po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
406 if (!po)
407 goto drop; 407 goto drop;
408 408
409 return sk_receive_skb(sk_pppox(po), skb, 0); 409 return sk_receive_skb(sk_pppox(po), skb, 0);
diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c
index fa98af58223e..cd0d0873d978 100644
--- a/drivers/net/sfc/ethtool.c
+++ b/drivers/net/sfc/ethtool.c
@@ -174,8 +174,8 @@ static struct efx_ethtool_stat efx_ethtool_stats[] = {
174 174
175/* EEPROM range with gPXE configuration */ 175/* EEPROM range with gPXE configuration */
176#define EFX_ETHTOOL_EEPROM_MAGIC 0xEFAB 176#define EFX_ETHTOOL_EEPROM_MAGIC 0xEFAB
177#define EFX_ETHTOOL_EEPROM_MIN 0x100U 177#define EFX_ETHTOOL_EEPROM_MIN 0x800U
178#define EFX_ETHTOOL_EEPROM_MAX 0x400U 178#define EFX_ETHTOOL_EEPROM_MAX 0x1800U
179 179
180/************************************************************************** 180/**************************************************************************
181 * 181 *
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index f59c7772f344..5051554ff05b 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -499,7 +499,7 @@ static void smc911x_hardware_send_pkt(struct net_device *dev)
499#else 499#else
500 SMC_PUSH_DATA(lp, buf, len); 500 SMC_PUSH_DATA(lp, buf, len);
501 dev->trans_start = jiffies; 501 dev->trans_start = jiffies;
502 dev_kfree_skb(skb); 502 dev_kfree_skb_irq(skb);
503#endif 503#endif
504 if (!lp->tx_throttle) { 504 if (!lp->tx_throttle) {
505 netif_wake_queue(dev); 505 netif_wake_queue(dev);
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index c70870e0fd61..fc80f250da31 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -2060,7 +2060,7 @@ static int smc_request_attrib(struct platform_device *pdev,
2060 struct net_device *ndev) 2060 struct net_device *ndev)
2061{ 2061{
2062 struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); 2062 struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib");
2063 struct smc_local *lp = netdev_priv(ndev); 2063 struct smc_local *lp __maybe_unused = netdev_priv(ndev);
2064 2064
2065 if (!res) 2065 if (!res)
2066 return 0; 2066 return 0;
@@ -2075,7 +2075,7 @@ static void smc_release_attrib(struct platform_device *pdev,
2075 struct net_device *ndev) 2075 struct net_device *ndev)
2076{ 2076{
2077 struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); 2077 struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib");
2078 struct smc_local *lp = netdev_priv(ndev); 2078 struct smc_local *lp __maybe_unused = netdev_priv(ndev);
2079 2079
2080 if (res) 2080 if (res)
2081 release_mem_region(res->start, ATTRIB_SIZE); 2081 release_mem_region(res->start, ATTRIB_SIZE);
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index 8e46a513a252..c91852f49a48 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -420,9 +420,13 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
420 /* Allocate Tx/Rx descriptor memory */ 420 /* Allocate Tx/Rx descriptor memory */
421 db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) * 421 db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) *
422 DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr); 422 DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr);
423 if (!db->desc_pool_ptr)
424 goto err_out_res;
423 425
424 db->buf_pool_ptr = pci_alloc_consistent(pdev, TX_BUF_ALLOC * 426 db->buf_pool_ptr = pci_alloc_consistent(pdev, TX_BUF_ALLOC *
425 TX_DESC_CNT + 4, &db->buf_pool_dma_ptr); 427 TX_DESC_CNT + 4, &db->buf_pool_dma_ptr);
428 if (!db->buf_pool_ptr)
429 goto err_out_free_desc;
426 430
427 db->first_tx_desc = (struct tx_desc *) db->desc_pool_ptr; 431 db->first_tx_desc = (struct tx_desc *) db->desc_pool_ptr;
428 db->first_tx_desc_dma = db->desc_pool_dma_ptr; 432 db->first_tx_desc_dma = db->desc_pool_dma_ptr;
@@ -469,7 +473,7 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
469 473
470 err = register_netdev (dev); 474 err = register_netdev (dev);
471 if (err) 475 if (err)
472 goto err_out_res; 476 goto err_out_free_buf;
473 477
474 printk(KERN_INFO "%s: Davicom DM%04lx at pci%s, " 478 printk(KERN_INFO "%s: Davicom DM%04lx at pci%s, "
475 "%s, irq %d.\n", 479 "%s, irq %d.\n",
@@ -483,6 +487,12 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
483 487
484 return 0; 488 return 0;
485 489
490err_out_free_buf:
491 pci_free_consistent(pdev, TX_BUF_ALLOC * TX_DESC_CNT + 4,
492 db->buf_pool_ptr, db->buf_pool_dma_ptr);
493err_out_free_desc:
494 pci_free_consistent(pdev, sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20,
495 db->desc_pool_ptr, db->desc_pool_dma_ptr);
486err_out_res: 496err_out_res:
487 pci_release_regions(pdev); 497 pci_release_regions(pdev);
488err_out_disable: 498err_out_disable:
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 6daea0c91862..33b6d1b122fb 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1070,8 +1070,6 @@ static int tun_chr_close(struct inode *inode, struct file *file)
1070 1070
1071 DBG(KERN_INFO "%s: tun_chr_close\n", tun->dev->name); 1071 DBG(KERN_INFO "%s: tun_chr_close\n", tun->dev->name);
1072 1072
1073 tun_chr_fasync(-1, file, 0);
1074
1075 rtnl_lock(); 1073 rtnl_lock();
1076 1074
1077 /* Detach from net device */ 1075 /* Detach from net device */
diff --git a/drivers/net/ucc_geth_ethtool.c b/drivers/net/ucc_geth_ethtool.c
index cfbbfee55836..85f38a6b6a49 100644
--- a/drivers/net/ucc_geth_ethtool.c
+++ b/drivers/net/ucc_geth_ethtool.c
@@ -37,7 +37,6 @@
37#include <asm/irq.h> 37#include <asm/irq.h>
38#include <asm/uaccess.h> 38#include <asm/uaccess.h>
39#include <asm/types.h> 39#include <asm/types.h>
40#include <asm/uaccess.h>
41 40
42#include "ucc_geth.h" 41#include "ucc_geth.h"
43#include "ucc_geth_mii.h" 42#include "ucc_geth_mii.h"
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 78df2be8a728..db3377dae9d5 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -396,6 +396,20 @@ static void dm9601_set_multicast(struct net_device *net)
396 dm_write_reg_async(dev, DM_RX_CTRL, rx_ctl); 396 dm_write_reg_async(dev, DM_RX_CTRL, rx_ctl);
397} 397}
398 398
399static int dm9601_set_mac_address(struct net_device *net, void *p)
400{
401 struct sockaddr *addr = p;
402 struct usbnet *dev = netdev_priv(net);
403
404 if (!is_valid_ether_addr(addr->sa_data))
405 return -EINVAL;
406
407 memcpy(net->dev_addr, addr->sa_data, net->addr_len);
408 dm_write_async(dev, DM_PHY_ADDR, net->addr_len, net->dev_addr);
409
410 return 0;
411}
412
399static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf) 413static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)
400{ 414{
401 int ret; 415 int ret;
@@ -406,6 +420,7 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)
406 420
407 dev->net->do_ioctl = dm9601_ioctl; 421 dev->net->do_ioctl = dm9601_ioctl;
408 dev->net->set_multicast_list = dm9601_set_multicast; 422 dev->net->set_multicast_list = dm9601_set_multicast;
423 dev->net->set_mac_address = dm9601_set_mac_address;
409 dev->net->ethtool_ops = &dm9601_ethtool_ops; 424 dev->net->ethtool_ops = &dm9601_ethtool_ops;
410 dev->net->hard_header_len += DM_TX_OVERHEAD; 425 dev->net->hard_header_len += DM_TX_OVERHEAD;
411 dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len; 426 dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 1164c52e2c0a..8e90891f0e42 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -2184,19 +2184,20 @@ static void hso_create_rfkill(struct hso_device *hso_dev,
2184 struct usb_interface *interface) 2184 struct usb_interface *interface)
2185{ 2185{
2186 struct hso_net *hso_net = dev2net(hso_dev); 2186 struct hso_net *hso_net = dev2net(hso_dev);
2187 struct device *dev = hso_dev->dev; 2187 struct device *dev = &hso_net->net->dev;
2188 char *rfkn; 2188 char *rfkn;
2189 2189
2190 hso_net->rfkill = rfkill_allocate(&interface_to_usbdev(interface)->dev, 2190 hso_net->rfkill = rfkill_allocate(&interface_to_usbdev(interface)->dev,
2191 RFKILL_TYPE_WLAN); 2191 RFKILL_TYPE_WWAN);
2192 if (!hso_net->rfkill) { 2192 if (!hso_net->rfkill) {
2193 dev_err(dev, "%s - Out of memory", __func__); 2193 dev_err(dev, "%s - Out of memory\n", __func__);
2194 return; 2194 return;
2195 } 2195 }
2196 rfkn = kzalloc(20, GFP_KERNEL); 2196 rfkn = kzalloc(20, GFP_KERNEL);
2197 if (!rfkn) { 2197 if (!rfkn) {
2198 rfkill_free(hso_net->rfkill); 2198 rfkill_free(hso_net->rfkill);
2199 dev_err(dev, "%s - Out of memory", __func__); 2199 hso_net->rfkill = NULL;
2200 dev_err(dev, "%s - Out of memory\n", __func__);
2200 return; 2201 return;
2201 } 2202 }
2202 snprintf(rfkn, 20, "hso-%d", 2203 snprintf(rfkn, 20, "hso-%d",
@@ -2209,7 +2210,8 @@ static void hso_create_rfkill(struct hso_device *hso_dev,
2209 kfree(rfkn); 2210 kfree(rfkn);
2210 hso_net->rfkill->name = NULL; 2211 hso_net->rfkill->name = NULL;
2211 rfkill_free(hso_net->rfkill); 2212 rfkill_free(hso_net->rfkill);
2212 dev_err(dev, "%s - Failed to register rfkill", __func__); 2213 hso_net->rfkill = NULL;
2214 dev_err(dev, "%s - Failed to register rfkill\n", __func__);
2213 return; 2215 return;
2214 } 2216 }
2215} 2217}
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 2dced383bcfb..3590ea5a902d 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -521,7 +521,7 @@ static void __devexit velocity_remove1(struct pci_dev *pdev)
521 * we don't duplicate code for each option. 521 * we don't duplicate code for each option.
522 */ 522 */
523 523
524static void __devinit velocity_set_int_opt(int *opt, int val, int min, int max, int def, char *name, char *devname) 524static void __devinit velocity_set_int_opt(int *opt, int val, int min, int max, int def, char *name, const char *devname)
525{ 525{
526 if (val == -1) 526 if (val == -1)
527 *opt = def; 527 *opt = def;
@@ -550,7 +550,7 @@ static void __devinit velocity_set_int_opt(int *opt, int val, int min, int max,
550 * we don't duplicate code for each option. 550 * we don't duplicate code for each option.
551 */ 551 */
552 552
553static void __devinit velocity_set_bool_opt(u32 * opt, int val, int def, u32 flag, char *name, char *devname) 553static void __devinit velocity_set_bool_opt(u32 * opt, int val, int def, u32 flag, char *name, const char *devname)
554{ 554{
555 (*opt) &= (~flag); 555 (*opt) &= (~flag);
556 if (val == -1) 556 if (val == -1)
@@ -576,7 +576,7 @@ static void __devinit velocity_set_bool_opt(u32 * opt, int val, int def, u32 fla
576 * for the current device 576 * for the current device
577 */ 577 */
578 578
579static void __devinit velocity_get_options(struct velocity_opt *opts, int index, char *devname) 579static void __devinit velocity_get_options(struct velocity_opt *opts, int index, const char *devname)
580{ 580{
581 581
582 velocity_set_int_opt(&opts->rx_thresh, rx_thresh[index], RX_THRESH_MIN, RX_THRESH_MAX, RX_THRESH_DEF, "rx_thresh", devname); 582 velocity_set_int_opt(&opts->rx_thresh, rx_thresh[index], RX_THRESH_MIN, RX_THRESH_MAX, RX_THRESH_DEF, "rx_thresh", devname);
@@ -863,6 +863,7 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
863 static int first = 1; 863 static int first = 1;
864 struct net_device *dev; 864 struct net_device *dev;
865 int i; 865 int i;
866 const char *drv_string;
866 const struct velocity_info_tbl *info = &chip_info_table[ent->driver_data]; 867 const struct velocity_info_tbl *info = &chip_info_table[ent->driver_data];
867 struct velocity_info *vptr; 868 struct velocity_info *vptr;
868 struct mac_regs __iomem * regs; 869 struct mac_regs __iomem * regs;
@@ -935,7 +936,9 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
935 dev->dev_addr[i] = readb(&regs->PAR[i]); 936 dev->dev_addr[i] = readb(&regs->PAR[i]);
936 937
937 938
938 velocity_get_options(&vptr->options, velocity_nics, dev->name); 939 drv_string = dev_driver_string(&pdev->dev);
940
941 velocity_get_options(&vptr->options, velocity_nics, drv_string);
939 942
940 /* 943 /*
941 * Mask out the options cannot be set to the chip 944 * Mask out the options cannot be set to the chip
diff --git a/drivers/net/wan/syncppp.c b/drivers/net/wan/syncppp.c
index 327d58589e12..6e92f7b44b1a 100644
--- a/drivers/net/wan/syncppp.c
+++ b/drivers/net/wan/syncppp.c
@@ -756,10 +756,11 @@ static void sppp_cisco_input (struct sppp *sp, struct sk_buff *skb)
756 case CISCO_ADDR_REQ: 756 case CISCO_ADDR_REQ:
757 /* Stolen from net/ipv4/devinet.c -- SIOCGIFADDR ioctl */ 757 /* Stolen from net/ipv4/devinet.c -- SIOCGIFADDR ioctl */
758 { 758 {
759 struct in_device *in_dev;
760 struct in_ifaddr *ifa;
761 __be32 addr = 0, mask = htonl(~0U); /* FIXME: is the mask correct? */ 759 __be32 addr = 0, mask = htonl(~0U); /* FIXME: is the mask correct? */
762#ifdef CONFIG_INET 760#ifdef CONFIG_INET
761 struct in_device *in_dev;
762 struct in_ifaddr *ifa;
763
763 rcu_read_lock(); 764 rcu_read_lock();
764 if ((in_dev = __in_dev_get_rcu(dev)) != NULL) 765 if ((in_dev = __in_dev_get_rcu(dev)) != NULL)
765 { 766 {
diff --git a/drivers/net/wan/z85230.c b/drivers/net/wan/z85230.c
index ccd9cd35ecbe..5bf7e01ef0e9 100644
--- a/drivers/net/wan/z85230.c
+++ b/drivers/net/wan/z85230.c
@@ -695,7 +695,6 @@ EXPORT_SYMBOL(z8530_nop);
695 * z8530_interrupt - Handle an interrupt from a Z8530 695 * z8530_interrupt - Handle an interrupt from a Z8530
696 * @irq: Interrupt number 696 * @irq: Interrupt number
697 * @dev_id: The Z8530 device that is interrupting. 697 * @dev_id: The Z8530 device that is interrupting.
698 * @regs: unused
699 * 698 *
700 * A Z85[2]30 device has stuck its hand in the air for attention. 699 * A Z85[2]30 device has stuck its hand in the air for attention.
701 * We scan both the channels on the chip for events and then call 700 * We scan both the channels on the chip for events and then call
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 0f1d6bdd51a2..cfd4d052d666 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -661,8 +661,7 @@ ath5k_pci_resume(struct pci_dev *pdev)
661{ 661{
662 struct ieee80211_hw *hw = pci_get_drvdata(pdev); 662 struct ieee80211_hw *hw = pci_get_drvdata(pdev);
663 struct ath5k_softc *sc = hw->priv; 663 struct ath5k_softc *sc = hw->priv;
664 struct ath5k_hw *ah = sc->ah; 664 int err;
665 int i, err;
666 665
667 pci_restore_state(pdev); 666 pci_restore_state(pdev);
668 667
@@ -688,16 +687,6 @@ ath5k_pci_resume(struct pci_dev *pdev)
688 goto err_irq; 687 goto err_irq;
689 ath5k_led_enable(sc); 688 ath5k_led_enable(sc);
690 689
691 /*
692 * Reset the key cache since some parts do not
693 * reset the contents on initial power up or resume.
694 *
695 * FIXME: This may need to be revisited when mac80211 becomes
696 * aware of suspend/resume.
697 */
698 for (i = 0; i < AR5K_KEYTABLE_SIZE; i++)
699 ath5k_hw_reset_key(ah, i);
700
701 return 0; 690 return 0;
702err_irq: 691err_irq:
703 free_irq(pdev->irq, sc); 692 free_irq(pdev->irq, sc);
@@ -718,7 +707,6 @@ ath5k_attach(struct pci_dev *pdev, struct ieee80211_hw *hw)
718 struct ath5k_softc *sc = hw->priv; 707 struct ath5k_softc *sc = hw->priv;
719 struct ath5k_hw *ah = sc->ah; 708 struct ath5k_hw *ah = sc->ah;
720 u8 mac[ETH_ALEN]; 709 u8 mac[ETH_ALEN];
721 unsigned int i;
722 int ret; 710 int ret;
723 711
724 ATH5K_DBG(sc, ATH5K_DEBUG_ANY, "devid 0x%x\n", pdev->device); 712 ATH5K_DBG(sc, ATH5K_DEBUG_ANY, "devid 0x%x\n", pdev->device);
@@ -737,13 +725,6 @@ ath5k_attach(struct pci_dev *pdev, struct ieee80211_hw *hw)
737 __set_bit(ATH_STAT_MRRETRY, sc->status); 725 __set_bit(ATH_STAT_MRRETRY, sc->status);
738 726
739 /* 727 /*
740 * Reset the key cache since some parts do not
741 * reset the contents on initial power up.
742 */
743 for (i = 0; i < AR5K_KEYTABLE_SIZE; i++)
744 ath5k_hw_reset_key(ah, i);
745
746 /*
747 * Collect the channel list. The 802.11 layer 728 * Collect the channel list. The 802.11 layer
748 * is resposible for filtering this list based 729 * is resposible for filtering this list based
749 * on settings like the phy mode and regulatory 730 * on settings like the phy mode and regulatory
@@ -2202,7 +2183,8 @@ ath5k_beacon_config(struct ath5k_softc *sc)
2202static int 2183static int
2203ath5k_init(struct ath5k_softc *sc, bool is_resume) 2184ath5k_init(struct ath5k_softc *sc, bool is_resume)
2204{ 2185{
2205 int ret; 2186 struct ath5k_hw *ah = sc->ah;
2187 int ret, i;
2206 2188
2207 mutex_lock(&sc->lock); 2189 mutex_lock(&sc->lock);
2208 2190
@@ -2235,10 +2217,17 @@ ath5k_init(struct ath5k_softc *sc, bool is_resume)
2235 if (ret) 2217 if (ret)
2236 goto done; 2218 goto done;
2237 2219
2220 /*
2221 * Reset the key cache since some parts do not reset the
2222 * contents on initial power up or resume from suspend.
2223 */
2224 for (i = 0; i < AR5K_KEYTABLE_SIZE; i++)
2225 ath5k_hw_reset_key(ah, i);
2226
2238 __set_bit(ATH_STAT_STARTED, sc->status); 2227 __set_bit(ATH_STAT_STARTED, sc->status);
2239 2228
2240 /* Set ack to be sent at low bit-rates */ 2229 /* Set ack to be sent at low bit-rates */
2241 ath5k_hw_set_ack_bitrate_high(sc->ah, false); 2230 ath5k_hw_set_ack_bitrate_high(ah, false);
2242 2231
2243 mod_timer(&sc->calib_tim, round_jiffies(jiffies + 2232 mod_timer(&sc->calib_tim, round_jiffies(jiffies +
2244 msecs_to_jiffies(ath5k_calinterval * 1000))); 2233 msecs_to_jiffies(ath5k_calinterval * 1000)));
diff --git a/drivers/net/wireless/ath5k/debug.c b/drivers/net/wireless/ath5k/debug.c
index 8f92d670f614..19980cbd5d5f 100644
--- a/drivers/net/wireless/ath5k/debug.c
+++ b/drivers/net/wireless/ath5k/debug.c
@@ -339,7 +339,7 @@ static struct {
339 { ATH5K_DEBUG_BEACON, "beacon", "beacon handling" }, 339 { ATH5K_DEBUG_BEACON, "beacon", "beacon handling" },
340 { ATH5K_DEBUG_CALIBRATE, "calib", "periodic calibration" }, 340 { ATH5K_DEBUG_CALIBRATE, "calib", "periodic calibration" },
341 { ATH5K_DEBUG_TXPOWER, "txpower", "transmit power setting" }, 341 { ATH5K_DEBUG_TXPOWER, "txpower", "transmit power setting" },
342 { ATH5K_DEBUG_LED, "led", "LED mamagement" }, 342 { ATH5K_DEBUG_LED, "led", "LED management" },
343 { ATH5K_DEBUG_DUMP_RX, "dumprx", "print received skb content" }, 343 { ATH5K_DEBUG_DUMP_RX, "dumprx", "print received skb content" },
344 { ATH5K_DEBUG_DUMP_TX, "dumptx", "print transmit skb content" }, 344 { ATH5K_DEBUG_DUMP_TX, "dumptx", "print transmit skb content" },
345 { ATH5K_DEBUG_DUMPBANDS, "dumpbands", "dump bands" }, 345 { ATH5K_DEBUG_DUMPBANDS, "dumpbands", "dump bands" },
diff --git a/drivers/net/wireless/ath5k/desc.c b/drivers/net/wireless/ath5k/desc.c
index dd1374052ba9..5e362a7a3620 100644
--- a/drivers/net/wireless/ath5k/desc.c
+++ b/drivers/net/wireless/ath5k/desc.c
@@ -531,10 +531,10 @@ static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah,
531 AR5K_5210_RX_DESC_STATUS0_RECEIVE_SIGNAL); 531 AR5K_5210_RX_DESC_STATUS0_RECEIVE_SIGNAL);
532 rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, 532 rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0,
533 AR5K_5210_RX_DESC_STATUS0_RECEIVE_RATE); 533 AR5K_5210_RX_DESC_STATUS0_RECEIVE_RATE);
534 rs->rs_antenna = rx_status->rx_status_0 & 534 rs->rs_antenna = AR5K_REG_MS(rx_status->rx_status_0,
535 AR5K_5210_RX_DESC_STATUS0_RECEIVE_ANTENNA; 535 AR5K_5210_RX_DESC_STATUS0_RECEIVE_ANTENNA);
536 rs->rs_more = rx_status->rx_status_0 & 536 rs->rs_more = !!(rx_status->rx_status_0 &
537 AR5K_5210_RX_DESC_STATUS0_MORE; 537 AR5K_5210_RX_DESC_STATUS0_MORE);
538 /* TODO: this timestamp is 13 bit, later on we assume 15 bit */ 538 /* TODO: this timestamp is 13 bit, later on we assume 15 bit */
539 rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, 539 rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
540 AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); 540 AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
@@ -607,10 +607,10 @@ static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah,
607 AR5K_5212_RX_DESC_STATUS0_RECEIVE_SIGNAL); 607 AR5K_5212_RX_DESC_STATUS0_RECEIVE_SIGNAL);
608 rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, 608 rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0,
609 AR5K_5212_RX_DESC_STATUS0_RECEIVE_RATE); 609 AR5K_5212_RX_DESC_STATUS0_RECEIVE_RATE);
610 rs->rs_antenna = rx_status->rx_status_0 & 610 rs->rs_antenna = AR5K_REG_MS(rx_status->rx_status_0,
611 AR5K_5212_RX_DESC_STATUS0_RECEIVE_ANTENNA; 611 AR5K_5212_RX_DESC_STATUS0_RECEIVE_ANTENNA);
612 rs->rs_more = rx_status->rx_status_0 & 612 rs->rs_more = !!(rx_status->rx_status_0 &
613 AR5K_5212_RX_DESC_STATUS0_MORE; 613 AR5K_5212_RX_DESC_STATUS0_MORE);
614 rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, 614 rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
615 AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); 615 AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
616 rs->rs_status = 0; 616 rs->rs_status = 0;
diff --git a/drivers/net/wireless/ath5k/initvals.c b/drivers/net/wireless/ath5k/initvals.c
index ea2e1a20b499..ceaa6c475c06 100644
--- a/drivers/net/wireless/ath5k/initvals.c
+++ b/drivers/net/wireless/ath5k/initvals.c
@@ -806,6 +806,8 @@ static const struct ath5k_ini_mode ar5212_rf5111_ini_mode_end[] = {
806 { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, 806 { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } },
807 { AR5K_PHY(642), 807 { AR5K_PHY(642),
808 { 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 } }, 808 { 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788, 0xd03e6788 } },
809 { 0xa228,
810 { 0x000001b5, 0x000001b5, 0x000001b5, 0x000001b5, 0x000001b5 } },
809 { 0xa23c, 811 { 0xa23c,
810 { 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af } }, 812 { 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af, 0x13c889af } },
811}; 813};
diff --git a/drivers/net/wireless/ath5k/reset.c b/drivers/net/wireless/ath5k/reset.c
index 8f1886834e61..1b6d45b6772d 100644
--- a/drivers/net/wireless/ath5k/reset.c
+++ b/drivers/net/wireless/ath5k/reset.c
@@ -537,9 +537,10 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
537 mdelay(1); 537 mdelay(1);
538 538
539 /* 539 /*
540 * Write some more initial register settings 540 * Write some more initial register settings for revised chips
541 */ 541 */
542 if (ah->ah_version == AR5K_AR5212) { 542 if (ah->ah_version == AR5K_AR5212 &&
543 ah->ah_phy_revision > 0x41) {
543 ath5k_hw_reg_write(ah, 0x0002a002, 0x982c); 544 ath5k_hw_reg_write(ah, 0x0002a002, 0x982c);
544 545
545 if (channel->hw_value == CHANNEL_G) 546 if (channel->hw_value == CHANNEL_G)
@@ -558,19 +559,10 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
558 else 559 else
559 ath5k_hw_reg_write(ah, 0x00000000, 0x994c); 560 ath5k_hw_reg_write(ah, 0x00000000, 0x994c);
560 561
561 /* Some bits are disabled here, we know nothing about 562 /* Got this from legacy-hal */
562 * register 0xa228 yet, most of the times this ends up 563 AR5K_REG_DISABLE_BITS(ah, 0xa228, 0x200);
563 * with a value 0x9b5 -haven't seen any dump with 564
564 * a different value- */ 565 AR5K_REG_MASKED_BITS(ah, 0xa228, 0x800, 0xfffe03ff);
565 /* Got this from decompiling binary HAL */
566 data = ath5k_hw_reg_read(ah, 0xa228);
567 data &= 0xfffffdff;
568 ath5k_hw_reg_write(ah, data, 0xa228);
569
570 data = ath5k_hw_reg_read(ah, 0xa228);
571 data &= 0xfffe03ff;
572 ath5k_hw_reg_write(ah, data, 0xa228);
573 data = 0;
574 566
575 /* Just write 0x9b5 ? */ 567 /* Just write 0x9b5 ? */
576 /* ath5k_hw_reg_write(ah, 0x000009b5, 0xa228); */ 568 /* ath5k_hw_reg_write(ah, 0x000009b5, 0xa228); */
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 24a1aeb6448f..8d690a0eb1a9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2090,7 +2090,6 @@ static void iwl_alive_start(struct iwl_priv *priv)
2090 iwl4965_error_recovery(priv); 2090 iwl4965_error_recovery(priv);
2091 2091
2092 iwl_power_update_mode(priv, 1); 2092 iwl_power_update_mode(priv, 1);
2093 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
2094 2093
2095 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status)) 2094 if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status))
2096 iwl4965_set_mode(priv, priv->iw_mode); 2095 iwl4965_set_mode(priv, priv->iw_mode);
@@ -2342,6 +2341,7 @@ static void iwl_bg_alive_start(struct work_struct *data)
2342 mutex_lock(&priv->mutex); 2341 mutex_lock(&priv->mutex);
2343 iwl_alive_start(priv); 2342 iwl_alive_start(priv);
2344 mutex_unlock(&priv->mutex); 2343 mutex_unlock(&priv->mutex);
2344 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
2345} 2345}
2346 2346
2347static void iwl4965_bg_rf_kill(struct work_struct *work) 2347static void iwl4965_bg_rf_kill(struct work_struct *work)
@@ -3252,7 +3252,11 @@ static void iwl4965_mac_update_tkip_key(struct ieee80211_hw *hw,
3252 return; 3252 return;
3253 } 3253 }
3254 3254
3255 iwl_scan_cancel_timeout(priv, 100); 3255 if (iwl_scan_cancel(priv)) {
3256 /* cancel scan failed, just live w/ bad key and rely
3257 briefly on SW decryption */
3258 return;
3259 }
3256 3260
3257 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); 3261 key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
3258 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); 3262 key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index 3b0bee331a33..c89365e2ca58 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -896,6 +896,13 @@ static void iwl_bg_request_scan(struct work_struct *data)
896 return; 896 return;
897 897
898 done: 898 done:
899 /* Cannot perform scan. Make sure we clear scanning
900 * bits from status so next scan request can be performed.
901 * If we don't clear scanning status bit here all next scan
902 * will fail
903 */
904 clear_bit(STATUS_SCAN_HW, &priv->status);
905 clear_bit(STATUS_SCANNING, &priv->status);
899 /* inform mac80211 scan aborted */ 906 /* inform mac80211 scan aborted */
900 queue_work(priv->workqueue, &priv->scan_completed); 907 queue_work(priv->workqueue, &priv->scan_completed);
901 mutex_unlock(&priv->mutex); 908 mutex_unlock(&priv->mutex);
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index d15a2c997954..285b53e7e261 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -5768,7 +5768,6 @@ static void iwl3945_alive_start(struct iwl3945_priv *priv)
5768 if (priv->error_recovering) 5768 if (priv->error_recovering)
5769 iwl3945_error_recovery(priv); 5769 iwl3945_error_recovery(priv);
5770 5770
5771 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
5772 return; 5771 return;
5773 5772
5774 restart: 5773 restart:
@@ -6013,6 +6012,7 @@ static void iwl3945_bg_alive_start(struct work_struct *data)
6013 mutex_lock(&priv->mutex); 6012 mutex_lock(&priv->mutex);
6014 iwl3945_alive_start(priv); 6013 iwl3945_alive_start(priv);
6015 mutex_unlock(&priv->mutex); 6014 mutex_unlock(&priv->mutex);
6015 ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
6016} 6016}
6017 6017
6018static void iwl3945_bg_rf_kill(struct work_struct *work) 6018static void iwl3945_bg_rf_kill(struct work_struct *work)
@@ -6256,6 +6256,11 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
6256 n_probes, 6256 n_probes,
6257 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); 6257 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]);
6258 6258
6259 if (scan->channel_count == 0) {
6260 IWL_DEBUG_SCAN("channel count %d\n", scan->channel_count);
6261 goto done;
6262 }
6263
6259 cmd.len += le16_to_cpu(scan->tx_cmd.len) + 6264 cmd.len += le16_to_cpu(scan->tx_cmd.len) +
6260 scan->channel_count * sizeof(struct iwl3945_scan_channel); 6265 scan->channel_count * sizeof(struct iwl3945_scan_channel);
6261 cmd.data = scan; 6266 cmd.data = scan;
@@ -6273,6 +6278,14 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
6273 return; 6278 return;
6274 6279
6275 done: 6280 done:
6281 /* can not perform scan make sure we clear scanning
6282 * bits from status so next scan request can be performed.
6283 * if we dont clear scanning status bit here all next scan
6284 * will fail
6285 */
6286 clear_bit(STATUS_SCAN_HW, &priv->status);
6287 clear_bit(STATUS_SCANNING, &priv->status);
6288
6276 /* inform mac80211 scan aborted */ 6289 /* inform mac80211 scan aborted */
6277 queue_work(priv->workqueue, &priv->scan_completed); 6290 queue_work(priv->workqueue, &priv->scan_completed);
6278 mutex_unlock(&priv->mutex); 6291 mutex_unlock(&priv->mutex);
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c
index 297696de2da0..8265c7d25edc 100644
--- a/drivers/net/wireless/libertas/cmd.c
+++ b/drivers/net/wireless/libertas/cmd.c
@@ -605,9 +605,9 @@ int lbs_get_tx_power(struct lbs_private *priv, s16 *curlevel, s16 *minlevel,
605 if (ret == 0) { 605 if (ret == 0) {
606 *curlevel = le16_to_cpu(cmd.curlevel); 606 *curlevel = le16_to_cpu(cmd.curlevel);
607 if (minlevel) 607 if (minlevel)
608 *minlevel = le16_to_cpu(cmd.minlevel); 608 *minlevel = cmd.minlevel;
609 if (maxlevel) 609 if (maxlevel)
610 *maxlevel = le16_to_cpu(cmd.maxlevel); 610 *maxlevel = cmd.maxlevel;
611 } 611 }
612 612
613 lbs_deb_leave(LBS_DEB_CMD); 613 lbs_deb_leave(LBS_DEB_CMD);
diff --git a/drivers/net/wireless/libertas/rx.c b/drivers/net/wireless/libertas/rx.c
index 5749f22b296f..079e6aa874dc 100644
--- a/drivers/net/wireless/libertas/rx.c
+++ b/drivers/net/wireless/libertas/rx.c
@@ -328,7 +328,7 @@ static int process_rxed_802_11_packet(struct lbs_private *priv,
328 lbs_deb_rx("rx err: frame received with bad length\n"); 328 lbs_deb_rx("rx err: frame received with bad length\n");
329 priv->stats.rx_length_errors++; 329 priv->stats.rx_length_errors++;
330 ret = -EINVAL; 330 ret = -EINVAL;
331 kfree(skb); 331 kfree_skb(skb);
332 goto done; 332 goto done;
333 } 333 }
334 334
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c
index 8f66903641b9..22c4c6110521 100644
--- a/drivers/net/wireless/libertas/scan.c
+++ b/drivers/net/wireless/libertas/scan.c
@@ -598,8 +598,8 @@ static int lbs_process_bss(struct bss_descriptor *bss,
598 598
599 switch (elem->id) { 599 switch (elem->id) {
600 case MFIE_TYPE_SSID: 600 case MFIE_TYPE_SSID:
601 bss->ssid_len = elem->len; 601 bss->ssid_len = min_t(int, 32, elem->len);
602 memcpy(bss->ssid, elem->data, elem->len); 602 memcpy(bss->ssid, elem->data, bss->ssid_len);
603 lbs_deb_scan("got SSID IE: '%s', len %u\n", 603 lbs_deb_scan("got SSID IE: '%s', len %u\n",
604 escape_essid(bss->ssid, bss->ssid_len), 604 escape_essid(bss->ssid, bss->ssid_len),
605 bss->ssid_len); 605 bss->ssid_len);
diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c
index 2d022f83774c..827ca0384a4c 100644
--- a/drivers/net/wireless/p54/p54common.c
+++ b/drivers/net/wireless/p54/p54common.c
@@ -319,7 +319,7 @@ static int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
319 void *tmp; 319 void *tmp;
320 int err; 320 int err;
321 u8 *end = (u8 *)eeprom + len; 321 u8 *end = (u8 *)eeprom + len;
322 u16 synth; 322 u16 synth = 0;
323 DECLARE_MAC_BUF(mac); 323 DECLARE_MAC_BUF(mac);
324 324
325 wrap = (struct eeprom_pda_wrap *) eeprom; 325 wrap = (struct eeprom_pda_wrap *) eeprom;
@@ -422,7 +422,8 @@ static int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
422 entry = (void *)entry + (entry_len + 1)*2; 422 entry = (void *)entry + (entry_len + 1)*2;
423 } 423 }
424 424
425 if (!priv->iq_autocal || !priv->output_limit || !priv->curve_data) { 425 if (!synth || !priv->iq_autocal || !priv->output_limit ||
426 !priv->curve_data) {
426 printk(KERN_ERR "p54: not all required entries found in eeprom!\n"); 427 printk(KERN_ERR "p54: not all required entries found in eeprom!\n");
427 err = -EINVAL; 428 err = -EINVAL;
428 goto err; 429 goto err;
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
index 1c2a02a741af..88b3cad8b65e 100644
--- a/drivers/net/wireless/p54/p54pci.c
+++ b/drivers/net/wireless/p54/p54pci.c
@@ -346,68 +346,6 @@ static void p54p_tx(struct ieee80211_hw *dev, struct p54_control_hdr *data,
346 printk(KERN_INFO "%s: tx overflow.\n", wiphy_name(dev->wiphy)); 346 printk(KERN_INFO "%s: tx overflow.\n", wiphy_name(dev->wiphy));
347} 347}
348 348
349static int p54p_open(struct ieee80211_hw *dev)
350{
351 struct p54p_priv *priv = dev->priv;
352 int err;
353
354 init_completion(&priv->boot_comp);
355 err = request_irq(priv->pdev->irq, &p54p_interrupt,
356 IRQF_SHARED, "p54pci", dev);
357 if (err) {
358 printk(KERN_ERR "%s: failed to register IRQ handler\n",
359 wiphy_name(dev->wiphy));
360 return err;
361 }
362
363 memset(priv->ring_control, 0, sizeof(*priv->ring_control));
364 err = p54p_upload_firmware(dev);
365 if (err) {
366 free_irq(priv->pdev->irq, dev);
367 return err;
368 }
369 priv->rx_idx_data = priv->tx_idx_data = 0;
370 priv->rx_idx_mgmt = priv->tx_idx_mgmt = 0;
371
372 p54p_refill_rx_ring(dev, 0, priv->ring_control->rx_data,
373 ARRAY_SIZE(priv->ring_control->rx_data), priv->rx_buf_data);
374
375 p54p_refill_rx_ring(dev, 2, priv->ring_control->rx_mgmt,
376 ARRAY_SIZE(priv->ring_control->rx_mgmt), priv->rx_buf_mgmt);
377
378 P54P_WRITE(ring_control_base, cpu_to_le32(priv->ring_control_dma));
379 P54P_READ(ring_control_base);
380 wmb();
381 udelay(10);
382
383 P54P_WRITE(int_enable, cpu_to_le32(ISL38XX_INT_IDENT_INIT));
384 P54P_READ(int_enable);
385 wmb();
386 udelay(10);
387
388 P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_RESET));
389 P54P_READ(dev_int);
390
391 if (!wait_for_completion_interruptible_timeout(&priv->boot_comp, HZ)) {
392 printk(KERN_ERR "%s: Cannot boot firmware!\n",
393 wiphy_name(dev->wiphy));
394 free_irq(priv->pdev->irq, dev);
395 return -ETIMEDOUT;
396 }
397
398 P54P_WRITE(int_enable, cpu_to_le32(ISL38XX_INT_IDENT_UPDATE));
399 P54P_READ(int_enable);
400 wmb();
401 udelay(10);
402
403 P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_UPDATE));
404 P54P_READ(dev_int);
405 wmb();
406 udelay(10);
407
408 return 0;
409}
410
411static void p54p_stop(struct ieee80211_hw *dev) 349static void p54p_stop(struct ieee80211_hw *dev)
412{ 350{
413 struct p54p_priv *priv = dev->priv; 351 struct p54p_priv *priv = dev->priv;
@@ -474,6 +412,68 @@ static void p54p_stop(struct ieee80211_hw *dev)
474 memset(ring_control, 0, sizeof(*ring_control)); 412 memset(ring_control, 0, sizeof(*ring_control));
475} 413}
476 414
415static int p54p_open(struct ieee80211_hw *dev)
416{
417 struct p54p_priv *priv = dev->priv;
418 int err;
419
420 init_completion(&priv->boot_comp);
421 err = request_irq(priv->pdev->irq, &p54p_interrupt,
422 IRQF_SHARED, "p54pci", dev);
423 if (err) {
424 printk(KERN_ERR "%s: failed to register IRQ handler\n",
425 wiphy_name(dev->wiphy));
426 return err;
427 }
428
429 memset(priv->ring_control, 0, sizeof(*priv->ring_control));
430 err = p54p_upload_firmware(dev);
431 if (err) {
432 free_irq(priv->pdev->irq, dev);
433 return err;
434 }
435 priv->rx_idx_data = priv->tx_idx_data = 0;
436 priv->rx_idx_mgmt = priv->tx_idx_mgmt = 0;
437
438 p54p_refill_rx_ring(dev, 0, priv->ring_control->rx_data,
439 ARRAY_SIZE(priv->ring_control->rx_data), priv->rx_buf_data);
440
441 p54p_refill_rx_ring(dev, 2, priv->ring_control->rx_mgmt,
442 ARRAY_SIZE(priv->ring_control->rx_mgmt), priv->rx_buf_mgmt);
443
444 P54P_WRITE(ring_control_base, cpu_to_le32(priv->ring_control_dma));
445 P54P_READ(ring_control_base);
446 wmb();
447 udelay(10);
448
449 P54P_WRITE(int_enable, cpu_to_le32(ISL38XX_INT_IDENT_INIT));
450 P54P_READ(int_enable);
451 wmb();
452 udelay(10);
453
454 P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_RESET));
455 P54P_READ(dev_int);
456
457 if (!wait_for_completion_interruptible_timeout(&priv->boot_comp, HZ)) {
458 printk(KERN_ERR "%s: Cannot boot firmware!\n",
459 wiphy_name(dev->wiphy));
460 p54p_stop(dev);
461 return -ETIMEDOUT;
462 }
463
464 P54P_WRITE(int_enable, cpu_to_le32(ISL38XX_INT_IDENT_UPDATE));
465 P54P_READ(int_enable);
466 wmb();
467 udelay(10);
468
469 P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_UPDATE));
470 P54P_READ(dev_int);
471 wmb();
472 udelay(10);
473
474 return 0;
475}
476
477static int __devinit p54p_probe(struct pci_dev *pdev, 477static int __devinit p54p_probe(struct pci_dev *pdev,
478 const struct pci_device_id *id) 478 const struct pci_device_id *id)
479{ 479{
@@ -556,11 +556,13 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
556 spin_lock_init(&priv->lock); 556 spin_lock_init(&priv->lock);
557 tasklet_init(&priv->rx_tasklet, p54p_rx_tasklet, (unsigned long)dev); 557 tasklet_init(&priv->rx_tasklet, p54p_rx_tasklet, (unsigned long)dev);
558 558
559 p54p_open(dev); 559 err = p54p_open(dev);
560 if (err)
561 goto err_free_common;
560 err = p54_read_eeprom(dev); 562 err = p54_read_eeprom(dev);
561 p54p_stop(dev); 563 p54p_stop(dev);
562 if (err) 564 if (err)
563 goto err_free_desc; 565 goto err_free_common;
564 566
565 err = ieee80211_register_hw(dev); 567 err = ieee80211_register_hw(dev);
566 if (err) { 568 if (err) {
@@ -573,8 +575,6 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
573 575
574 err_free_common: 576 err_free_common:
575 p54_free_common(dev); 577 p54_free_common(dev);
576
577 err_free_desc:
578 pci_free_consistent(pdev, sizeof(*priv->ring_control), 578 pci_free_consistent(pdev, sizeof(*priv->ring_control),
579 priv->ring_control, priv->ring_control_dma); 579 priv->ring_control, priv->ring_control_dma);
580 580
diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
index f839ce044afd..95511ac22470 100644
--- a/drivers/net/wireless/rt2x00/Kconfig
+++ b/drivers/net/wireless/rt2x00/Kconfig
@@ -1,5 +1,5 @@
1menuconfig RT2X00 1menuconfig RT2X00
2 bool "Ralink driver support" 2 tristate "Ralink driver support"
3 depends on MAC80211 && WLAN_80211 && EXPERIMENTAL 3 depends on MAC80211 && WLAN_80211 && EXPERIMENTAL
4 ---help--- 4 ---help---
5 This will enable the experimental support for the Ralink drivers, 5 This will enable the experimental support for the Ralink drivers,
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index a60ae86bd5c9..a3ccd8c1c716 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -61,6 +61,7 @@ static struct usb_device_id usb_ids[] = {
61 { USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 }, 61 { USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 },
62 /* ZD1211B */ 62 /* ZD1211B */
63 { USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B }, 63 { USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
64 { USB_DEVICE(0x0ace, 0xb215), .driver_info = DEVICE_ZD1211B },
64 { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B }, 65 { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },
65 { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B }, 66 { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B },
66 { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B }, 67 { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B },
@@ -82,6 +83,7 @@ static struct usb_device_id usb_ids[] = {
82 { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B }, 83 { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B },
83 { USB_DEVICE(0x0586, 0x340a), .driver_info = DEVICE_ZD1211B }, 84 { USB_DEVICE(0x0586, 0x340a), .driver_info = DEVICE_ZD1211B },
84 { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B }, 85 { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B },
86 { USB_DEVICE(0x07fa, 0x1196), .driver_info = DEVICE_ZD1211B },
85 /* "Driverless" devices that need ejecting */ 87 /* "Driverless" devices that need ejecting */
86 { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, 88 { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
87 { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER }, 89 { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER },
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 51e5214071da..224ae6bc67b6 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -105,7 +105,16 @@ EXPORT_SYMBOL(of_release_dev);
105int of_device_register(struct of_device *ofdev) 105int of_device_register(struct of_device *ofdev)
106{ 106{
107 BUG_ON(ofdev->node == NULL); 107 BUG_ON(ofdev->node == NULL);
108 return device_register(&ofdev->dev); 108
109 device_initialize(&ofdev->dev);
110
111 /* device_add will assume that this device is on the same node as
112 * the parent. If there is no parent defined, set the node
113 * explicitly */
114 if (!ofdev->dev.parent)
115 set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->node));
116
117 return device_add(&ofdev->dev);
109} 118}
110EXPORT_SYMBOL(of_device_register); 119EXPORT_SYMBOL(of_device_register);
111 120
diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c
index d962ba0dd87a..191a3202cecc 100644
--- a/drivers/oprofile/event_buffer.c
+++ b/drivers/oprofile/event_buffer.c
@@ -105,7 +105,7 @@ static int event_buffer_open(struct inode *inode, struct file *file)
105 if (!capable(CAP_SYS_ADMIN)) 105 if (!capable(CAP_SYS_ADMIN))
106 return -EPERM; 106 return -EPERM;
107 107
108 if (test_and_set_bit(0, &buffer_opened)) 108 if (test_and_set_bit_lock(0, &buffer_opened))
109 return -EBUSY; 109 return -EBUSY;
110 110
111 /* Register as a user of dcookies 111 /* Register as a user of dcookies
@@ -129,7 +129,7 @@ static int event_buffer_open(struct inode *inode, struct file *file)
129fail: 129fail:
130 dcookie_unregister(file->private_data); 130 dcookie_unregister(file->private_data);
131out: 131out:
132 clear_bit(0, &buffer_opened); 132 __clear_bit_unlock(0, &buffer_opened);
133 return err; 133 return err;
134} 134}
135 135
@@ -141,7 +141,7 @@ static int event_buffer_release(struct inode *inode, struct file *file)
141 dcookie_unregister(file->private_data); 141 dcookie_unregister(file->private_data);
142 buffer_pos = 0; 142 buffer_pos = 0;
143 atomic_set(&buffer_ready, 0); 143 atomic_set(&buffer_ready, 0);
144 clear_bit(0, &buffer_opened); 144 __clear_bit_unlock(0, &buffer_opened);
145 return 0; 145 return 0;
146} 146}
147 147
diff --git a/drivers/parport/parport_cs.c b/drivers/parport/parport_cs.c
index b1899e9c1f65..0cd5fbc7f2c2 100644
--- a/drivers/parport/parport_cs.c
+++ b/drivers/parport/parport_cs.c
@@ -112,7 +112,7 @@ static int parport_probe(struct pcmcia_device *link)
112 112
113 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 113 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
114 link->io.Attributes2 = IO_DATA_PATH_WIDTH_8; 114 link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
115 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; 115 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
116 link->irq.IRQInfo1 = IRQ_LEVEL_ID; 116 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
117 link->conf.Attributes = CONF_ENABLE_IRQ; 117 link->conf.Attributes = CONF_ENABLE_IRQ;
118 link->conf.IntType = INT_MEMORY_AND_IO; 118 link->conf.IntType = INT_MEMORY_AND_IO;
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index dfe7c8e1b185..b3a63edb6901 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -83,6 +83,9 @@ static acpi_status acpi_run_osc(acpi_handle handle,
83 if (ACPI_FAILURE(status)) 83 if (ACPI_FAILURE(status))
84 return status; 84 return status;
85 85
86 if (!output.length)
87 return AE_NULL_OBJECT;
88
86 out_obj = output.pointer; 89 out_obj = output.pointer;
87 if (out_obj->type != ACPI_TYPE_BUFFER) { 90 if (out_obj->type != ACPI_TYPE_BUFFER) {
88 printk(KERN_DEBUG "Evaluate _OSC returns wrong type\n"); 91 printk(KERN_DEBUG "Evaluate _OSC returns wrong type\n");
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 110022d78689..5d72866897a8 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -575,7 +575,7 @@ static int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct
575 575
576 nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; 576 nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
577 start = vma->vm_pgoff; 577 start = vma->vm_pgoff;
578 size = pci_resource_len(pdev, resno) >> PAGE_SHIFT; 578 size = ((pci_resource_len(pdev, resno) - 1) >> PAGE_SHIFT) + 1;
579 if (start < size && size - start >= nr) 579 if (start < size && size - start >= nr)
580 return 1; 580 return 1;
581 WARN(1, "process \"%s\" tried to map 0x%08lx-0x%08lx on %s BAR %d (size 0x%08lx)\n", 581 WARN(1, "process \"%s\" tried to map 0x%08lx-0x%08lx on %s BAR %d (size 0x%08lx)\n",
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 96cf8ecd04ce..5049a47030ac 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -43,20 +43,6 @@ static void __devinit quirk_mellanox_tavor(struct pci_dev *dev)
43DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor); 43DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor);
44DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor); 44DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor);
45 45
46/* Many VIA bridges seem to corrupt data for DAC. Disable it here */
47int forbid_dac __read_mostly;
48EXPORT_SYMBOL(forbid_dac);
49
50static __devinit void via_no_dac(struct pci_dev *dev)
51{
52 if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI && forbid_dac == 0) {
53 dev_info(&dev->dev,
54 "VIA PCI bridge detected. Disabling DAC.\n");
55 forbid_dac = 1;
56 }
57}
58DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
59
60/* Deal with broken BIOS'es that neglect to enable passive release, 46/* Deal with broken BIOS'es that neglect to enable passive release,
61 which can cause problems in combination with the 82441FX/PPro MTRRs */ 47 which can cause problems in combination with the 82441FX/PPro MTRRs */
62static void quirk_passive_release(struct pci_dev *dev) 48static void quirk_passive_release(struct pci_dev *dev)
@@ -1706,24 +1692,24 @@ static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev)
1706 } 1692 }
1707} 1693}
1708 1694
1709DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1695DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1710 PCI_DEVICE_ID_NX2_5706, 1696 PCI_DEVICE_ID_NX2_5706,
1711 quirk_brcm_570x_limit_vpd); 1697 quirk_brcm_570x_limit_vpd);
1712DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1698DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1713 PCI_DEVICE_ID_NX2_5706S, 1699 PCI_DEVICE_ID_NX2_5706S,
1714 quirk_brcm_570x_limit_vpd); 1700 quirk_brcm_570x_limit_vpd);
1715DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1701DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1716 PCI_DEVICE_ID_NX2_5708, 1702 PCI_DEVICE_ID_NX2_5708,
1717 quirk_brcm_570x_limit_vpd); 1703 quirk_brcm_570x_limit_vpd);
1718DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1704DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1719 PCI_DEVICE_ID_NX2_5708S, 1705 PCI_DEVICE_ID_NX2_5708S,
1720 quirk_brcm_570x_limit_vpd); 1706 quirk_brcm_570x_limit_vpd);
1721DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1707DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1722 PCI_DEVICE_ID_NX2_5709, 1708 PCI_DEVICE_ID_NX2_5709,
1723 quirk_brcm_570x_limit_vpd); 1709 quirk_brcm_570x_limit_vpd);
1724DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 1710DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
1725 PCI_DEVICE_ID_NX2_5709S, 1711 PCI_DEVICE_ID_NX2_5709S,
1726 quirk_brcm_570x_limit_vpd); 1712 quirk_brcm_570x_limit_vpd);
1727 1713
1728#ifdef CONFIG_PCI_MSI 1714#ifdef CONFIG_PCI_MSI
1729/* Some chipsets do not support MSI. We cannot easily rely on setting 1715/* Some chipsets do not support MSI. We cannot easily rely on setting
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index 1f5f6143f35c..132a78159b60 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -100,7 +100,8 @@ size_t pci_get_rom_size(void __iomem *rom, size_t size)
100 * pci_map_rom - map a PCI ROM to kernel space 100 * pci_map_rom - map a PCI ROM to kernel space
101 * @pdev: pointer to pci device struct 101 * @pdev: pointer to pci device struct
102 * @size: pointer to receive size of pci window over ROM 102 * @size: pointer to receive size of pci window over ROM
103 * @return: kernel virtual pointer to image of ROM 103 *
104 * Return: kernel virtual pointer to image of ROM
104 * 105 *
105 * Map a PCI ROM into kernel space. If ROM is boot video ROM, 106 * Map a PCI ROM into kernel space. If ROM is boot video ROM,
106 * the shadow BIOS copy will be returned instead of the 107 * the shadow BIOS copy will be returned instead of the
@@ -167,7 +168,8 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
167 * pci_map_rom_copy - map a PCI ROM to kernel space, create a copy 168 * pci_map_rom_copy - map a PCI ROM to kernel space, create a copy
168 * @pdev: pointer to pci device struct 169 * @pdev: pointer to pci device struct
169 * @size: pointer to receive size of pci window over ROM 170 * @size: pointer to receive size of pci window over ROM
170 * @return: kernel virtual pointer to image of ROM 171 *
172 * Return: kernel virtual pointer to image of ROM
171 * 173 *
172 * Map a PCI ROM into kernel space. If ROM is boot video ROM, 174 * Map a PCI ROM into kernel space. If ROM is boot video ROM,
173 * the shadow BIOS copy will be returned instead of the 175 * the shadow BIOS copy will be returned instead of the
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index f57eeae3830a..222904411a13 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -188,10 +188,6 @@ config PCMCIA_M8XX
188 188
189 This driver is also available as a module called m8xx_pcmcia. 189 This driver is also available as a module called m8xx_pcmcia.
190 190
191config HD64465_PCMCIA
192 tristate "HD64465 host bridge support"
193 depends on HD64465 && PCMCIA
194
195config PCMCIA_AU1X00 191config PCMCIA_AU1X00
196 tristate "Au1x00 pcmcia support" 192 tristate "Au1x00 pcmcia support"
197 depends on SOC_AU1X00 && PCMCIA 193 depends on SOC_AU1X00 && PCMCIA
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
index 23e492bf75cf..238629ad7f7c 100644
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
@@ -22,7 +22,6 @@ obj-$(CONFIG_I82365) += i82365.o
22obj-$(CONFIG_I82092) += i82092.o 22obj-$(CONFIG_I82092) += i82092.o
23obj-$(CONFIG_TCIC) += tcic.o 23obj-$(CONFIG_TCIC) += tcic.o
24obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o 24obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o
25obj-$(CONFIG_HD64465_PCMCIA) += hd64465_ss.o
26obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o 25obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o
27obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o 26obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o
28obj-$(CONFIG_M32R_PCC) += m32r_pcc.o 27obj-$(CONFIG_M32R_PCC) += m32r_pcc.o
diff --git a/drivers/pcmcia/hd64465_ss.c b/drivers/pcmcia/hd64465_ss.c
deleted file mode 100644
index 9ef69cdb3183..000000000000
--- a/drivers/pcmcia/hd64465_ss.c
+++ /dev/null
@@ -1,939 +0,0 @@
1/*
2 * Device driver for the PCMCIA controller module of the
3 * Hitachi HD64465 handheld companion chip.
4 *
5 * Note that the HD64465 provides a very thin PCMCIA host bridge
6 * layer, requiring a lot of the work of supporting cards to be
7 * performed by the processor. For example: mapping of card
8 * interrupts to processor IRQs is done by IRQ demuxing software;
9 * IO and memory mappings are fixed; setting voltages according
10 * to card Voltage Select pins etc is done in software.
11 *
12 * Note also that this driver uses only the simple, fixed,
13 * 16MB, 16-bit wide mappings to PCMCIA spaces defined by the
14 * HD64465. Larger mappings, smaller mappings, or mappings of
15 * different width to the same socket, are all possible only by
16 * involving the SH7750's MMU, which is considered unnecessary here.
17 * The downside is that it may be possible for some drivers to
18 * break because they need or expect 8-bit mappings.
19 *
20 * This driver currently supports only the following configuration:
21 * SH7750 CPU, HD64465, TPS2206 voltage control chip.
22 *
23 * by Greg Banks <gbanks@pocketpenguins.com>
24 * (c) 2000 PocketPenguins Inc
25 */
26
27#include <linux/types.h>
28#include <linux/module.h>
29#include <linux/init.h>
30#include <linux/string.h>
31#include <linux/kernel.h>
32#include <linux/ioport.h>
33#include <linux/mm.h>
34#include <linux/vmalloc.h>
35#include <asm/errno.h>
36#include <linux/irq.h>
37#include <linux/interrupt.h>
38#include <linux/platform_device.h>
39
40#include <asm/io.h>
41#include <asm/hd64465/hd64465.h>
42#include <asm/hd64465/io.h>
43
44#include <pcmcia/cs_types.h>
45#include <pcmcia/cs.h>
46#include <pcmcia/cistpl.h>
47#include <pcmcia/ds.h>
48#include <pcmcia/ss.h>
49
50#define MODNAME "hd64465_ss"
51
52/* #define HD64465_DEBUG 1 */
53
54#if HD64465_DEBUG
55#define DPRINTK(args...) printk(MODNAME ": " args)
56#else
57#define DPRINTK(args...)
58#endif
59
60extern int hd64465_io_debug;
61extern void * p3_ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags);
62extern void p3_iounmap(void *addr);
63
64/*============================================================*/
65
66#define HS_IO_MAP_SIZE (64*1024)
67
68typedef struct hs_socket_t
69{
70 unsigned int number;
71 u_int irq;
72 u_long mem_base;
73 void *io_base;
74 u_long mem_length;
75 u_int ctrl_base;
76 socket_state_t state;
77 pccard_io_map io_maps[MAX_IO_WIN];
78 pccard_mem_map mem_maps[MAX_WIN];
79 struct pcmcia_socket socket;
80} hs_socket_t;
81
82
83
84#define HS_MAX_SOCKETS 2
85static hs_socket_t hs_sockets[HS_MAX_SOCKETS];
86
87#define hs_in(sp, r) inb((sp)->ctrl_base + (r))
88#define hs_out(sp, v, r) outb(v, (sp)->ctrl_base + (r))
89
90
91/* translate a boolean value to a bit in a register */
92#define bool_to_regbit(sp, r, bi, bo) \
93 do { \
94 unsigned short v = hs_in(sp, r); \
95 if (bo) \
96 v |= (bi); \
97 else \
98 v &= ~(bi); \
99 hs_out(sp, v, r); \
100 } while(0)
101
102/* register offsets from HD64465_REG_PCC[01]ISR */
103#define ISR 0x0
104#define GCR 0x2
105#define CSCR 0x4
106#define CSCIER 0x6
107#define SCR 0x8
108
109
110/* Mask and values for CSCIER register */
111#define IER_MASK 0x80
112#define IER_ON 0x3f /* interrupts on */
113#define IER_OFF 0x00 /* interrupts off */
114
115/*============================================================*/
116
117#if HD64465_DEBUG > 10
118
119static void cis_hex_dump(const unsigned char *x, int len)
120{
121 int i;
122
123 for (i=0 ; i<len ; i++)
124 {
125 if (!(i & 0xf))
126 printk("\n%08x", (unsigned)(x + i));
127 printk(" %02x", *(volatile unsigned short*)x);
128 x += 2;
129 }
130 printk("\n");
131}
132
133#endif
134/*============================================================*/
135
136/*
137 * This code helps create the illusion that the IREQ line from
138 * the PC card is mapped to one of the CPU's IRQ lines by the
139 * host bridge hardware (which is how every host bridge *except*
140 * the HD64465 works). In particular, it supports enabling
141 * and disabling the IREQ line by code which knows nothing
142 * about the host bridge (e.g. device drivers, IDE code) using
143 * the request_irq(), free_irq(), probe_irq_on() and probe_irq_off()
144 * functions. Also, it supports sharing the mapped IRQ with
145 * real hardware IRQs from the -IRL0-3 lines.
146 */
147
148#define HS_NUM_MAPPED_IRQS 16 /* Limitation of the PCMCIA code */
149static struct
150{
151 /* index is mapped irq number */
152 hs_socket_t *sock;
153 hw_irq_controller *old_handler;
154} hs_mapped_irq[HS_NUM_MAPPED_IRQS];
155
156static void hs_socket_enable_ireq(hs_socket_t *sp)
157{
158 unsigned short cscier;
159
160 DPRINTK("hs_socket_enable_ireq(sock=%d)\n", sp->number);
161
162 cscier = hs_in(sp, CSCIER);
163 cscier &= ~HD64465_PCCCSCIER_PIREQE_MASK;
164 cscier |= HD64465_PCCCSCIER_PIREQE_LEVEL;
165 hs_out(sp, cscier, CSCIER);
166}
167
168static void hs_socket_disable_ireq(hs_socket_t *sp)
169{
170 unsigned short cscier;
171
172 DPRINTK("hs_socket_disable_ireq(sock=%d)\n", sp->number);
173
174 cscier = hs_in(sp, CSCIER);
175 cscier &= ~HD64465_PCCCSCIER_PIREQE_MASK;
176 hs_out(sp, cscier, CSCIER);
177}
178
179static unsigned int hs_startup_irq(unsigned int irq)
180{
181 hs_socket_enable_ireq(hs_mapped_irq[irq].sock);
182 hs_mapped_irq[irq].old_handler->startup(irq);
183 return 0;
184}
185
186static void hs_shutdown_irq(unsigned int irq)
187{
188 hs_socket_disable_ireq(hs_mapped_irq[irq].sock);
189 hs_mapped_irq[irq].old_handler->shutdown(irq);
190}
191
192static void hs_enable_irq(unsigned int irq)
193{
194 hs_socket_enable_ireq(hs_mapped_irq[irq].sock);
195 hs_mapped_irq[irq].old_handler->enable(irq);
196}
197
198static void hs_disable_irq(unsigned int irq)
199{
200 hs_socket_disable_ireq(hs_mapped_irq[irq].sock);
201 hs_mapped_irq[irq].old_handler->disable(irq);
202}
203
204extern struct hw_interrupt_type no_irq_type;
205
206static void hs_mask_and_ack_irq(unsigned int irq)
207{
208 hs_socket_disable_ireq(hs_mapped_irq[irq].sock);
209 /* ack_none() spuriously complains about an unexpected IRQ */
210 if (hs_mapped_irq[irq].old_handler != &no_irq_type)
211 hs_mapped_irq[irq].old_handler->ack(irq);
212}
213
214static void hs_end_irq(unsigned int irq)
215{
216 hs_socket_enable_ireq(hs_mapped_irq[irq].sock);
217 hs_mapped_irq[irq].old_handler->end(irq);
218}
219
220
221static struct hw_interrupt_type hd64465_ss_irq_type = {
222 .typename = "PCMCIA-IRQ",
223 .startup = hs_startup_irq,
224 .shutdown = hs_shutdown_irq,
225 .enable = hs_enable_irq,
226 .disable = hs_disable_irq,
227 .ack = hs_mask_and_ack_irq,
228 .end = hs_end_irq
229};
230
231/*
232 * This function should only ever be called with interrupts disabled.
233 */
234static void hs_map_irq(hs_socket_t *sp, unsigned int irq)
235{
236 struct irq_desc *desc;
237
238 DPRINTK("hs_map_irq(sock=%d irq=%d)\n", sp->number, irq);
239
240 if (irq >= HS_NUM_MAPPED_IRQS)
241 return;
242
243 desc = irq_to_desc(irq);
244 hs_mapped_irq[irq].sock = sp;
245 /* insert ourselves as the irq controller */
246 hs_mapped_irq[irq].old_handler = desc->chip;
247 desc->chip = &hd64465_ss_irq_type;
248}
249
250
251/*
252 * This function should only ever be called with interrupts disabled.
253 */
254static void hs_unmap_irq(hs_socket_t *sp, unsigned int irq)
255{
256 struct irq_desc *desc;
257
258 DPRINTK("hs_unmap_irq(sock=%d irq=%d)\n", sp->number, irq);
259
260 if (irq >= HS_NUM_MAPPED_IRQS)
261 return;
262
263 desc = irq_to_desc(irq);
264 /* restore the original irq controller */
265 desc->chip = hs_mapped_irq[irq].old_handler;
266}
267
268/*============================================================*/
269
270
271/*
272 * Set Vpp and Vcc (in tenths of a Volt). Does not
273 * support the hi-Z state.
274 *
275 * Note, this assumes the board uses a TPS2206 chip to control
276 * the Vcc and Vpp voltages to the hs_sockets. If your board
277 * uses the MIC2563 (also supported by the HD64465) then you
278 * will have to modify this function.
279 */
280 /* 0V 3.3V 5.5V */
281static const u_char hs_tps2206_avcc[3] = { 0x00, 0x04, 0x08 };
282static const u_char hs_tps2206_bvcc[3] = { 0x00, 0x80, 0x40 };
283
284static int hs_set_voltages(hs_socket_t *sp, int Vcc, int Vpp)
285{
286 u_int psr;
287 u_int vcci = 0;
288 u_int sock = sp->number;
289
290 DPRINTK("hs_set_voltage(%d, %d, %d)\n", sock, Vcc, Vpp);
291
292 switch (Vcc)
293 {
294 case 0: vcci = 0; break;
295 case 33: vcci = 1; break;
296 case 50: vcci = 2; break;
297 default: return 0;
298 }
299
300 /* Note: Vpp = 120 not supported -- Greg Banks */
301 if (Vpp != 0 && Vpp != Vcc)
302 return 0;
303
304 /* The PSR register holds 8 of the 9 bits which control
305 * the TPS2206 via its serial interface.
306 */
307 psr = inw(HD64465_REG_PCCPSR);
308 switch (sock)
309 {
310 case 0:
311 psr &= 0x0f;
312 psr |= hs_tps2206_avcc[vcci];
313 psr |= (Vpp == 0 ? 0x00 : 0x02);
314 break;
315 case 1:
316 psr &= 0xf0;
317 psr |= hs_tps2206_bvcc[vcci];
318 psr |= (Vpp == 0 ? 0x00 : 0x20);
319 break;
320 };
321 outw(psr, HD64465_REG_PCCPSR);
322
323 return 1;
324}
325
326
327/*============================================================*/
328
329/*
330 * Drive the RESET line to the card.
331 */
332static void hs_reset_socket(hs_socket_t *sp, int on)
333{
334 unsigned short v;
335
336 v = hs_in(sp, GCR);
337 if (on)
338 v |= HD64465_PCCGCR_PCCR;
339 else
340 v &= ~HD64465_PCCGCR_PCCR;
341 hs_out(sp, v, GCR);
342}
343
344/*============================================================*/
345
346static int hs_init(struct pcmcia_socket *s)
347{
348 hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
349
350 DPRINTK("hs_init(%d)\n", sp->number);
351
352 return 0;
353}
354
355/*============================================================*/
356
357
358static int hs_get_status(struct pcmcia_socket *s, u_int *value)
359{
360 hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
361 unsigned int isr;
362 u_int status = 0;
363
364
365 isr = hs_in(sp, ISR);
366
367 /* Card is seated and powered when *both* CD pins are low */
368 if ((isr & HD64465_PCCISR_PCD_MASK) == 0)
369 {
370 status |= SS_DETECT; /* card present */
371
372 switch (isr & HD64465_PCCISR_PBVD_MASK)
373 {
374 case HD64465_PCCISR_PBVD_BATGOOD:
375 break;
376 case HD64465_PCCISR_PBVD_BATWARN:
377 status |= SS_BATWARN;
378 break;
379 default:
380 status |= SS_BATDEAD;
381 break;
382 }
383
384 if (isr & HD64465_PCCISR_PREADY)
385 status |= SS_READY;
386
387 if (isr & HD64465_PCCISR_PMWP)
388 status |= SS_WRPROT;
389
390 /* Voltage Select pins interpreted as per Table 4-5 of the std.
391 * Assuming we have the TPS2206, the socket is a "Low Voltage
392 * key, 3.3V and 5V available, no X.XV available".
393 */
394 switch (isr & (HD64465_PCCISR_PVS2|HD64465_PCCISR_PVS1))
395 {
396 case HD64465_PCCISR_PVS1:
397 printk(KERN_NOTICE MODNAME ": cannot handle X.XV card, ignored\n");
398 status = 0;
399 break;
400 case 0:
401 case HD64465_PCCISR_PVS2:
402 /* 3.3V */
403 status |= SS_3VCARD;
404 break;
405 case HD64465_PCCISR_PVS2|HD64465_PCCISR_PVS1:
406 /* 5V */
407 break;
408 }
409
410 /* TODO: SS_POWERON */
411 /* TODO: SS_STSCHG */
412 }
413
414 DPRINTK("hs_get_status(%d) = %x\n", sock, status);
415
416 *value = status;
417 return 0;
418}
419
420/*============================================================*/
421
422static int hs_set_socket(struct pcmcia_socket *s, socket_state_t *state)
423{
424 hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
425 u_long flags;
426 u_int changed;
427 unsigned short cscier;
428
429 DPRINTK("hs_set_socket(sock=%d, flags=%x, csc_mask=%x, Vcc=%d, Vpp=%d, io_irq=%d)\n",
430 sock, state->flags, state->csc_mask, state->Vcc, state->Vpp, state->io_irq);
431
432 local_irq_save(flags); /* Don't want interrupts happening here */
433
434 if (state->Vpp != sp->state.Vpp ||
435 state->Vcc != sp->state.Vcc) {
436 if (!hs_set_voltages(sp, state->Vcc, state->Vpp)) {
437 local_irq_restore(flags);
438 return -EINVAL;
439 }
440 }
441
442/* hd64465_io_debug = 1; */
443 /*
444 * Handle changes in the Card Status Change mask,
445 * by propagating to the CSCR register
446 */
447 changed = sp->state.csc_mask ^ state->csc_mask;
448 cscier = hs_in(sp, CSCIER);
449
450 if (changed & SS_DETECT) {
451 if (state->csc_mask & SS_DETECT)
452 cscier |= HD64465_PCCCSCIER_PCDE;
453 else
454 cscier &= ~HD64465_PCCCSCIER_PCDE;
455 }
456
457 if (changed & SS_READY) {
458 if (state->csc_mask & SS_READY)
459 cscier |= HD64465_PCCCSCIER_PRE;
460 else
461 cscier &= ~HD64465_PCCCSCIER_PRE;
462 }
463
464 if (changed & SS_BATDEAD) {
465 if (state->csc_mask & SS_BATDEAD)
466 cscier |= HD64465_PCCCSCIER_PBDE;
467 else
468 cscier &= ~HD64465_PCCCSCIER_PBDE;
469 }
470
471 if (changed & SS_BATWARN) {
472 if (state->csc_mask & SS_BATWARN)
473 cscier |= HD64465_PCCCSCIER_PBWE;
474 else
475 cscier &= ~HD64465_PCCCSCIER_PBWE;
476 }
477
478 if (changed & SS_STSCHG) {
479 if (state->csc_mask & SS_STSCHG)
480 cscier |= HD64465_PCCCSCIER_PSCE;
481 else
482 cscier &= ~HD64465_PCCCSCIER_PSCE;
483 }
484
485 hs_out(sp, cscier, CSCIER);
486
487 if (sp->state.io_irq && !state->io_irq)
488 hs_unmap_irq(sp, sp->state.io_irq);
489 else if (!sp->state.io_irq && state->io_irq)
490 hs_map_irq(sp, state->io_irq);
491
492
493 /*
494 * Handle changes in the flags field,
495 * by propagating to config registers.
496 */
497 changed = sp->state.flags ^ state->flags;
498
499 if (changed & SS_IOCARD) {
500 DPRINTK("card type: %s\n",
501 (state->flags & SS_IOCARD ? "i/o" : "memory" ));
502 bool_to_regbit(sp, GCR, HD64465_PCCGCR_PCCT,
503 state->flags & SS_IOCARD);
504 }
505
506 if (changed & SS_RESET) {
507 DPRINTK("%s reset card\n",
508 (state->flags & SS_RESET ? "start" : "stop"));
509 bool_to_regbit(sp, GCR, HD64465_PCCGCR_PCCR,
510 state->flags & SS_RESET);
511 }
512
513 if (changed & SS_OUTPUT_ENA) {
514 DPRINTK("%sabling card output\n",
515 (state->flags & SS_OUTPUT_ENA ? "en" : "dis"));
516 bool_to_regbit(sp, GCR, HD64465_PCCGCR_PDRV,
517 state->flags & SS_OUTPUT_ENA);
518 }
519
520 /* TODO: SS_SPKR_ENA */
521
522/* hd64465_io_debug = 0; */
523 sp->state = *state;
524
525 local_irq_restore(flags);
526
527#if HD64465_DEBUG > 10
528 if (state->flags & SS_OUTPUT_ENA)
529 cis_hex_dump((const unsigned char*)sp->mem_base, 0x100);
530#endif
531 return 0;
532}
533
534/*============================================================*/
535
536static int hs_set_io_map(struct pcmcia_socket *s, struct pccard_io_map *io)
537{
538 hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
539 int map = io->map;
540 int sock = sp->number;
541 struct pccard_io_map *sio;
542 pgprot_t prot;
543
544 DPRINTK("hs_set_io_map(sock=%d, map=%d, flags=0x%x, speed=%dns, start=%#lx, stop=%#lx)\n",
545 sock, map, io->flags, io->speed, io->start, io->stop);
546 if (map >= MAX_IO_WIN)
547 return -EINVAL;
548 sio = &sp->io_maps[map];
549
550 /* check for null changes */
551 if (io->flags == sio->flags &&
552 io->start == sio->start &&
553 io->stop == sio->stop)
554 return 0;
555
556 if (io->flags & MAP_AUTOSZ)
557 prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IODYN);
558 else if (io->flags & MAP_16BIT)
559 prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IO16);
560 else
561 prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IO8);
562
563 /* TODO: handle MAP_USE_WAIT */
564 if (io->flags & MAP_USE_WAIT)
565 printk(KERN_INFO MODNAME ": MAP_USE_WAIT unimplemented\n");
566 /* TODO: handle MAP_PREFETCH */
567 if (io->flags & MAP_PREFETCH)
568 printk(KERN_INFO MODNAME ": MAP_PREFETCH unimplemented\n");
569 /* TODO: handle MAP_WRPROT */
570 if (io->flags & MAP_WRPROT)
571 printk(KERN_INFO MODNAME ": MAP_WRPROT unimplemented\n");
572 /* TODO: handle MAP_0WS */
573 if (io->flags & MAP_0WS)
574 printk(KERN_INFO MODNAME ": MAP_0WS unimplemented\n");
575
576 if (io->flags & MAP_ACTIVE) {
577 unsigned long pstart, psize, paddrbase;
578
579 paddrbase = virt_to_phys((void*)(sp->mem_base + 2 * HD64465_PCC_WINDOW));
580 pstart = io->start & PAGE_MASK;
581 psize = ((io->stop + PAGE_SIZE) & PAGE_MASK) - pstart;
582
583 /*
584 * Change PTEs in only that portion of the mapping requested
585 * by the caller. This means that most of the time, most of
586 * the PTEs in the io_vma will be unmapped and only the bottom
587 * page will be mapped. But the code allows for weird cards
588 * that might want IO ports > 4K.
589 */
590 sp->io_base = p3_ioremap(paddrbase + pstart, psize, pgprot_val(prot));
591
592 /*
593 * Change the mapping used by inb() outb() etc
594 */
595 hd64465_port_map(io->start,
596 io->stop - io->start + 1,
597 (unsigned long)sp->io_base + io->start, 0);
598 } else {
599 hd64465_port_unmap(sio->start, sio->stop - sio->start + 1);
600 p3_iounmap(sp->io_base);
601 }
602
603 *sio = *io;
604 return 0;
605}
606
607/*============================================================*/
608
609static int hs_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *mem)
610{
611 hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
612 struct pccard_mem_map *smem;
613 int map = mem->map;
614 unsigned long paddr;
615
616#if 0
617 DPRINTK("hs_set_mem_map(sock=%d, map=%d, flags=0x%x, card_start=0x%08x)\n",
618 sock, map, mem->flags, mem->card_start);
619#endif
620
621 if (map >= MAX_WIN)
622 return -EINVAL;
623 smem = &sp->mem_maps[map];
624
625 paddr = sp->mem_base; /* base of Attribute mapping */
626 if (!(mem->flags & MAP_ATTRIB))
627 paddr += HD64465_PCC_WINDOW; /* base of Common mapping */
628 paddr += mem->card_start;
629
630 /* Because we specified SS_CAP_STATIC_MAP, we are obliged
631 * at this time to report the system address corresponding
632 * to the card address requested. This is how Socket Services
633 * queries our fixed mapping. I wish this fact had been
634 * documented - Greg Banks.
635 */
636 mem->static_start = paddr;
637
638 *smem = *mem;
639
640 return 0;
641}
642
643/* TODO: do we need to use the MMU to access Common memory ??? */
644
645/*============================================================*/
646
647/*
648 * This function is registered with the HD64465 glue code to do a
649 * secondary demux step on the PCMCIA interrupts. It handles
650 * mapping the IREQ request from the card to a standard Linux
651 * IRQ, as requested by SocketServices.
652 */
653static int hs_irq_demux(int irq, void *dev)
654{
655 hs_socket_t *sp = dev;
656 u_int cscr;
657
658 DPRINTK("hs_irq_demux(irq=%d)\n", irq);
659
660 if (sp->state.io_irq &&
661 (cscr = hs_in(sp, CSCR)) & HD64465_PCCCSCR_PIREQ) {
662 cscr &= ~HD64465_PCCCSCR_PIREQ;
663 hs_out(sp, cscr, CSCR);
664 return sp->state.io_irq;
665 }
666
667 return irq;
668}
669
670/*============================================================*/
671
672/*
673 * Interrupt handling routine.
674 */
675
676static irqreturn_t hs_interrupt(int irq, void *dev)
677{
678 hs_socket_t *sp = dev;
679 u_int events = 0;
680 u_int cscr;
681
682 cscr = hs_in(sp, CSCR);
683
684 DPRINTK("hs_interrupt, cscr=%04x\n", cscr);
685
686 /* check for bus-related changes to be reported to Socket Services */
687 if (cscr & HD64465_PCCCSCR_PCDC) {
688 /* double-check for a 16-bit card, as we don't support CardBus */
689 if ((hs_in(sp, ISR) & HD64465_PCCISR_PCD_MASK) != 0) {
690 printk(KERN_NOTICE MODNAME
691 ": socket %d, card not a supported card type or not inserted correctly\n",
692 sp->number);
693 /* Don't do the rest unless a card is present */
694 cscr &= ~(HD64465_PCCCSCR_PCDC|
695 HD64465_PCCCSCR_PRC|
696 HD64465_PCCCSCR_PBW|
697 HD64465_PCCCSCR_PBD|
698 HD64465_PCCCSCR_PSC);
699 } else {
700 cscr &= ~HD64465_PCCCSCR_PCDC;
701 events |= SS_DETECT; /* card insertion or removal */
702 }
703 }
704 if (cscr & HD64465_PCCCSCR_PRC) {
705 cscr &= ~HD64465_PCCCSCR_PRC;
706 events |= SS_READY; /* ready signal changed */
707 }
708 if (cscr & HD64465_PCCCSCR_PBW) {
709 cscr &= ~HD64465_PCCCSCR_PSC;
710 events |= SS_BATWARN; /* battery warning */
711 }
712 if (cscr & HD64465_PCCCSCR_PBD) {
713 cscr &= ~HD64465_PCCCSCR_PSC;
714 events |= SS_BATDEAD; /* battery dead */
715 }
716 if (cscr & HD64465_PCCCSCR_PSC) {
717 cscr &= ~HD64465_PCCCSCR_PSC;
718 events |= SS_STSCHG; /* STSCHG (status changed) signal */
719 }
720
721 if (cscr & HD64465_PCCCSCR_PIREQ) {
722 cscr &= ~HD64465_PCCCSCR_PIREQ;
723
724 /* This should have been dealt with during irq demux */
725 printk(KERN_NOTICE MODNAME ": unexpected IREQ from card\n");
726 }
727
728 hs_out(sp, cscr, CSCR);
729
730 if (events)
731 pcmcia_parse_events(&sp->socket, events);
732
733 return IRQ_HANDLED;
734}
735
736/*============================================================*/
737
738static struct pccard_operations hs_operations = {
739 .init = hs_init,
740 .get_status = hs_get_status,
741 .set_socket = hs_set_socket,
742 .set_io_map = hs_set_io_map,
743 .set_mem_map = hs_set_mem_map,
744};
745
746static int hs_init_socket(hs_socket_t *sp, int irq, unsigned long mem_base,
747 unsigned int ctrl_base)
748{
749 unsigned short v;
750 int i, err;
751
752 memset(sp, 0, sizeof(*sp));
753 sp->irq = irq;
754 sp->mem_base = mem_base;
755 sp->mem_length = 4*HD64465_PCC_WINDOW; /* 16MB */
756 sp->ctrl_base = ctrl_base;
757
758 for (i=0 ; i<MAX_IO_WIN ; i++)
759 sp->io_maps[i].map = i;
760 for (i=0 ; i<MAX_WIN ; i++)
761 sp->mem_maps[i].map = i;
762
763 hd64465_register_irq_demux(sp->irq, hs_irq_demux, sp);
764
765 if ((err = request_irq(sp->irq, hs_interrupt, IRQF_DISABLED, MODNAME, sp)) < 0)
766 return err;
767 if (request_mem_region(sp->mem_base, sp->mem_length, MODNAME) == 0) {
768 sp->mem_base = 0;
769 return -ENOMEM;
770 }
771
772
773 /* According to section 3.2 of the PCMCIA standard, low-voltage
774 * capable cards must implement cold insertion, i.e. Vpp and
775 * Vcc set to 0 before card is inserted.
776 */
777 /*hs_set_voltages(sp, 0, 0);*/
778
779 /* hi-Z the outputs to the card and set 16MB map mode */
780 v = hs_in(sp, GCR);
781 v &= ~HD64465_PCCGCR_PCCT; /* memory-only card */
782 hs_out(sp, v, GCR);
783
784 v = hs_in(sp, GCR);
785 v |= HD64465_PCCGCR_PDRV; /* enable outputs to card */
786 hs_out(sp, v, GCR);
787
788 v = hs_in(sp, GCR);
789 v |= HD64465_PCCGCR_PMMOD; /* 16MB mapping mode */
790 hs_out(sp, v, GCR);
791
792 v = hs_in(sp, GCR);
793 /* lowest 16MB of Common */
794 v &= ~(HD64465_PCCGCR_PPA25|HD64465_PCCGCR_PPA24);
795 hs_out(sp, v, GCR);
796
797 hs_reset_socket(sp, 1);
798
799 printk(KERN_INFO "HD64465 PCMCIA bridge socket %d at 0x%08lx irq %d\n",
800 i, sp->mem_base, sp->irq);
801
802 return 0;
803}
804
805static void hs_exit_socket(hs_socket_t *sp)
806{
807 unsigned short cscier, gcr;
808 unsigned long flags;
809
810 local_irq_save(flags);
811
812 /* turn off interrupts in hardware */
813 cscier = hs_in(sp, CSCIER);
814 cscier = (cscier & IER_MASK) | IER_OFF;
815 hs_out(sp, cscier, CSCIER);
816
817 /* hi-Z the outputs to the card */
818 gcr = hs_in(sp, GCR);
819 gcr &= HD64465_PCCGCR_PDRV;
820 hs_out(sp, gcr, GCR);
821
822 /* power the card down */
823 hs_set_voltages(sp, 0, 0);
824
825 if (sp->mem_base != 0)
826 release_mem_region(sp->mem_base, sp->mem_length);
827 if (sp->irq != 0) {
828 free_irq(sp->irq, hs_interrupt);
829 hd64465_unregister_irq_demux(sp->irq);
830 }
831
832 local_irq_restore(flags);
833}
834
835static struct device_driver hd64465_driver = {
836 .name = "hd64465-pcmcia",
837 .bus = &platform_bus_type,
838 .suspend = pcmcia_socket_dev_suspend,
839 .resume = pcmcia_socket_dev_resume,
840};
841
842static struct platform_device hd64465_device = {
843 .name = "hd64465-pcmcia",
844 .id = 0,
845};
846
847static int __init init_hs(void)
848{
849 int i;
850 unsigned short v;
851
852/* hd64465_io_debug = 1; */
853 if (driver_register(&hd64465_driver))
854 return -EINVAL;
855
856 /* Wake both sockets out of STANDBY mode */
857 /* TODO: wait 15ms */
858 v = inw(HD64465_REG_SMSCR);
859 v &= ~(HD64465_SMSCR_PC0ST|HD64465_SMSCR_PC1ST);
860 outw(v, HD64465_REG_SMSCR);
861
862 /* keep power controller out of shutdown mode */
863 v = inb(HD64465_REG_PCC0SCR);
864 v |= HD64465_PCCSCR_SHDN;
865 outb(v, HD64465_REG_PCC0SCR);
866
867 /* use serial (TPS2206) power controller */
868 v = inb(HD64465_REG_PCC0CSCR);
869 v |= HD64465_PCCCSCR_PSWSEL;
870 outb(v, HD64465_REG_PCC0CSCR);
871
872 /*
873 * Setup hs_sockets[] structures and request system resources.
874 * TODO: on memory allocation failure, power down the socket
875 * before quitting.
876 */
877 for (i=0; i<HS_MAX_SOCKETS; i++) {
878 hs_set_voltages(&hs_sockets[i], 0, 0);
879
880 hs_sockets[i].socket.features |= SS_CAP_PCCARD | SS_CAP_STATIC_MAP; /* mappings are fixed in host memory */
881 hs_sockets[i].socket.resource_ops = &pccard_static_ops;
882 hs_sockets[i].socket.irq_mask = 0xffde;/*0xffff*/ /* IRQs mapped in s/w so can do any, really */
883 hs_sockets[i].socket.map_size = HD64465_PCC_WINDOW; /* 16MB fixed window size */
884
885 hs_sockets[i].socket.owner = THIS_MODULE;
886 hs_sockets[i].socket.ss_entry = &hs_operations;
887 }
888
889 i = hs_init_socket(&hs_sockets[0],
890 HD64465_IRQ_PCMCIA0,
891 HD64465_PCC0_BASE,
892 HD64465_REG_PCC0ISR);
893 if (i < 0) {
894 unregister_driver(&hd64465_driver);
895 return i;
896 }
897 i = hs_init_socket(&hs_sockets[1],
898 HD64465_IRQ_PCMCIA1,
899 HD64465_PCC1_BASE,
900 HD64465_REG_PCC1ISR);
901 if (i < 0) {
902 unregister_driver(&hd64465_driver);
903 return i;
904 }
905
906/* hd64465_io_debug = 0; */
907
908 platform_device_register(&hd64465_device);
909
910 for (i=0; i<HS_MAX_SOCKETS; i++) {
911 unsigned int ret;
912 hs_sockets[i].socket.dev.parent = &hd64465_device.dev;
913 hs_sockets[i].number = i;
914 ret = pcmcia_register_socket(&hs_sockets[i].socket);
915 if (ret && i)
916 pcmcia_unregister_socket(&hs_sockets[0].socket);
917 }
918
919 return 0;
920}
921
922static void __exit exit_hs(void)
923{
924 int i;
925
926 for (i=0 ; i<HS_MAX_SOCKETS ; i++) {
927 pcmcia_unregister_socket(&hs_sockets[i].socket);
928 hs_exit_socket(&hs_sockets[i]);
929 }
930
931 platform_device_unregister(&hd64465_device);
932 unregister_driver(&hd64465_driver);
933}
934
935module_init(init_hs);
936module_exit(exit_hs);
937
938/*============================================================*/
939/*END*/
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index afea2b2558b5..76d4a98f0955 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -693,8 +693,9 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)
693 type = 0; 693 type = 0;
694 if (s->functions > 1) /* All of this ought to be handled higher up */ 694 if (s->functions > 1) /* All of this ought to be handled higher up */
695 type = IRQF_SHARED; 695 type = IRQF_SHARED;
696 if (req->Attributes & IRQ_TYPE_DYNAMIC_SHARING) 696 else if (req->Attributes & IRQ_TYPE_DYNAMIC_SHARING)
697 type = IRQF_SHARED; 697 type = IRQF_SHARED;
698 else printk(KERN_WARNING "pcmcia: Driver needs updating to support IRQ sharing.\n");
698 699
699#ifdef CONFIG_PCMCIA_PROBE 700#ifdef CONFIG_PCMCIA_PROBE
700 701
diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c
index 478a4a739c00..c3f1c8e9d254 100644
--- a/drivers/pnp/interface.c
+++ b/drivers/pnp/interface.c
@@ -12,7 +12,6 @@
12#include <linux/errno.h> 12#include <linux/errno.h>
13#include <linux/list.h> 13#include <linux/list.h>
14#include <linux/types.h> 14#include <linux/types.h>
15#include <linux/pnp.h>
16#include <linux/stat.h> 15#include <linux/stat.h>
17#include <linux/ctype.h> 16#include <linux/ctype.h>
18#include <linux/slab.h> 17#include <linux/slab.h>
diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c
index 85edf945ab86..204158cf7a55 100644
--- a/drivers/ps3/ps3-lpm.c
+++ b/drivers/ps3/ps3-lpm.c
@@ -22,6 +22,7 @@
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/interrupt.h> 23#include <linux/interrupt.h>
24#include <linux/uaccess.h> 24#include <linux/uaccess.h>
25#include <asm/smp.h>
25#include <asm/time.h> 26#include <asm/time.h>
26#include <asm/ps3.h> 27#include <asm/ps3.h>
27#include <asm/lv1call.h> 28#include <asm/lv1call.h>
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 4dada6ee1119..39360e2a4540 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -1,6 +1,4 @@
1menu "Voltage and Current regulators" 1menuconfig REGULATOR
2
3config REGULATOR
4 bool "Voltage and Current Regulator Support" 2 bool "Voltage and Current Regulator Support"
5 default n 3 default n
6 help 4 help
@@ -23,21 +21,20 @@ config REGULATOR
23 21
24 If unsure, say no. 22 If unsure, say no.
25 23
24if REGULATOR
25
26config REGULATOR_DEBUG 26config REGULATOR_DEBUG
27 bool "Regulator debug support" 27 bool "Regulator debug support"
28 depends on REGULATOR
29 help 28 help
30 Say yes here to enable debugging support. 29 Say yes here to enable debugging support.
31 30
32config REGULATOR_FIXED_VOLTAGE 31config REGULATOR_FIXED_VOLTAGE
33 tristate 32 tristate
34 default n 33 default n
35 select REGULATOR
36 34
37config REGULATOR_VIRTUAL_CONSUMER 35config REGULATOR_VIRTUAL_CONSUMER
38 tristate "Virtual regulator consumer support" 36 tristate "Virtual regulator consumer support"
39 default n 37 default n
40 select REGULATOR
41 help 38 help
42 This driver provides a virtual consumer for the voltage and 39 This driver provides a virtual consumer for the voltage and
43 current regulator API which provides sysfs controls for 40 current regulator API which provides sysfs controls for
@@ -49,7 +46,6 @@ config REGULATOR_VIRTUAL_CONSUMER
49config REGULATOR_BQ24022 46config REGULATOR_BQ24022
50 tristate "TI bq24022 Dual Input 1-Cell Li-Ion Charger IC" 47 tristate "TI bq24022 Dual Input 1-Cell Li-Ion Charger IC"
51 default n 48 default n
52 select REGULATOR
53 help 49 help
54 This driver controls a TI bq24022 Charger attached via 50 This driver controls a TI bq24022 Charger attached via
55 GPIOs. The provided current regulator can enable/disable 51 GPIOs. The provided current regulator can enable/disable
@@ -59,7 +55,6 @@ config REGULATOR_BQ24022
59config REGULATOR_WM8350 55config REGULATOR_WM8350
60 tristate "Wolfson Microelectroncis WM8350 AudioPlus PMIC" 56 tristate "Wolfson Microelectroncis WM8350 AudioPlus PMIC"
61 depends on MFD_WM8350 57 depends on MFD_WM8350
62 select REGULATOR
63 help 58 help
64 This driver provides support for the voltage and current regulators 59 This driver provides support for the voltage and current regulators
65 of the WM8350 AudioPlus PMIC. 60 of the WM8350 AudioPlus PMIC.
@@ -67,7 +62,6 @@ config REGULATOR_WM8350
67config REGULATOR_WM8400 62config REGULATOR_WM8400
68 tristate "Wolfson Microelectroncis WM8400 AudioPlus PMIC" 63 tristate "Wolfson Microelectroncis WM8400 AudioPlus PMIC"
69 depends on MFD_WM8400 64 depends on MFD_WM8400
70 select REGULATOR
71 help 65 help
72 This driver provides support for the voltage regulators of the 66 This driver provides support for the voltage regulators of the
73 WM8400 AudioPlus PMIC. 67 WM8400 AudioPlus PMIC.
@@ -75,9 +69,8 @@ config REGULATOR_WM8400
75config REGULATOR_DA903X 69config REGULATOR_DA903X
76 tristate "Support regulators on Dialog Semiconductor DA9030/DA9034 PMIC" 70 tristate "Support regulators on Dialog Semiconductor DA9030/DA9034 PMIC"
77 depends on PMIC_DA903X 71 depends on PMIC_DA903X
78 select REGULATOR
79 help 72 help
80 Say y here to support the BUCKs and LDOs regulators found on 73 Say y here to support the BUCKs and LDOs regulators found on
81 Dialog Semiconductor DA9030/DA9034 PMIC. 74 Dialog Semiconductor DA9030/DA9034 PMIC.
82 75
83endmenu 76endif
diff --git a/drivers/regulator/da903x.c b/drivers/regulator/da903x.c
index 3688e339db87..773b29cec8be 100644
--- a/drivers/regulator/da903x.c
+++ b/drivers/regulator/da903x.c
@@ -79,6 +79,11 @@ struct da903x_regulator_info {
79 int enable_bit; 79 int enable_bit;
80}; 80};
81 81
82static inline struct device *to_da903x_dev(struct regulator_dev *rdev)
83{
84 return rdev_get_dev(rdev)->parent->parent;
85}
86
82static inline int check_range(struct da903x_regulator_info *info, 87static inline int check_range(struct da903x_regulator_info *info,
83 int min_uV, int max_uV) 88 int min_uV, int max_uV)
84{ 89{
@@ -93,7 +98,7 @@ static int da903x_set_ldo_voltage(struct regulator_dev *rdev,
93 int min_uV, int max_uV) 98 int min_uV, int max_uV)
94{ 99{
95 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 100 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
96 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 101 struct device *da9034_dev = to_da903x_dev(rdev);
97 uint8_t val, mask; 102 uint8_t val, mask;
98 103
99 if (check_range(info, min_uV, max_uV)) { 104 if (check_range(info, min_uV, max_uV)) {
@@ -111,7 +116,7 @@ static int da903x_set_ldo_voltage(struct regulator_dev *rdev,
111static int da903x_get_voltage(struct regulator_dev *rdev) 116static int da903x_get_voltage(struct regulator_dev *rdev)
112{ 117{
113 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 118 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
114 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 119 struct device *da9034_dev = to_da903x_dev(rdev);
115 uint8_t val, mask; 120 uint8_t val, mask;
116 int ret; 121 int ret;
117 122
@@ -128,7 +133,7 @@ static int da903x_get_voltage(struct regulator_dev *rdev)
128static int da903x_enable(struct regulator_dev *rdev) 133static int da903x_enable(struct regulator_dev *rdev)
129{ 134{
130 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 135 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
131 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 136 struct device *da9034_dev = to_da903x_dev(rdev);
132 137
133 return da903x_set_bits(da9034_dev, info->enable_reg, 138 return da903x_set_bits(da9034_dev, info->enable_reg,
134 1 << info->enable_bit); 139 1 << info->enable_bit);
@@ -137,7 +142,7 @@ static int da903x_enable(struct regulator_dev *rdev)
137static int da903x_disable(struct regulator_dev *rdev) 142static int da903x_disable(struct regulator_dev *rdev)
138{ 143{
139 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 144 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
140 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 145 struct device *da9034_dev = to_da903x_dev(rdev);
141 146
142 return da903x_clr_bits(da9034_dev, info->enable_reg, 147 return da903x_clr_bits(da9034_dev, info->enable_reg,
143 1 << info->enable_bit); 148 1 << info->enable_bit);
@@ -146,7 +151,7 @@ static int da903x_disable(struct regulator_dev *rdev)
146static int da903x_is_enabled(struct regulator_dev *rdev) 151static int da903x_is_enabled(struct regulator_dev *rdev)
147{ 152{
148 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 153 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
149 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 154 struct device *da9034_dev = to_da903x_dev(rdev);
150 uint8_t reg_val; 155 uint8_t reg_val;
151 int ret; 156 int ret;
152 157
@@ -162,7 +167,7 @@ static int da9030_set_ldo1_15_voltage(struct regulator_dev *rdev,
162 int min_uV, int max_uV) 167 int min_uV, int max_uV)
163{ 168{
164 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 169 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
165 struct device *da903x_dev = rdev_get_dev(rdev)->parent; 170 struct device *da903x_dev = to_da903x_dev(rdev);
166 uint8_t val, mask; 171 uint8_t val, mask;
167 int ret; 172 int ret;
168 173
@@ -189,7 +194,7 @@ static int da9030_set_ldo14_voltage(struct regulator_dev *rdev,
189 int min_uV, int max_uV) 194 int min_uV, int max_uV)
190{ 195{
191 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 196 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
192 struct device *da903x_dev = rdev_get_dev(rdev)->parent; 197 struct device *da903x_dev = to_da903x_dev(rdev);
193 uint8_t val, mask; 198 uint8_t val, mask;
194 int thresh; 199 int thresh;
195 200
@@ -215,7 +220,7 @@ static int da9030_set_ldo14_voltage(struct regulator_dev *rdev,
215static int da9030_get_ldo14_voltage(struct regulator_dev *rdev) 220static int da9030_get_ldo14_voltage(struct regulator_dev *rdev)
216{ 221{
217 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 222 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
218 struct device *da903x_dev = rdev_get_dev(rdev)->parent; 223 struct device *da903x_dev = to_da903x_dev(rdev);
219 uint8_t val, mask; 224 uint8_t val, mask;
220 int ret; 225 int ret;
221 226
@@ -238,7 +243,7 @@ static int da9034_set_dvc_voltage(struct regulator_dev *rdev,
238 int min_uV, int max_uV) 243 int min_uV, int max_uV)
239{ 244{
240 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 245 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
241 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 246 struct device *da9034_dev = to_da903x_dev(rdev);
242 uint8_t val, mask; 247 uint8_t val, mask;
243 int ret; 248 int ret;
244 249
@@ -264,7 +269,7 @@ static int da9034_set_ldo12_voltage(struct regulator_dev *rdev,
264 int min_uV, int max_uV) 269 int min_uV, int max_uV)
265{ 270{
266 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 271 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
267 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 272 struct device *da9034_dev = to_da903x_dev(rdev);
268 uint8_t val, mask; 273 uint8_t val, mask;
269 274
270 if (check_range(info, min_uV, max_uV)) { 275 if (check_range(info, min_uV, max_uV)) {
@@ -283,7 +288,7 @@ static int da9034_set_ldo12_voltage(struct regulator_dev *rdev,
283static int da9034_get_ldo12_voltage(struct regulator_dev *rdev) 288static int da9034_get_ldo12_voltage(struct regulator_dev *rdev)
284{ 289{
285 struct da903x_regulator_info *info = rdev_get_drvdata(rdev); 290 struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
286 struct device *da9034_dev = rdev_get_dev(rdev)->parent; 291 struct device *da9034_dev = to_da903x_dev(rdev);
287 uint8_t val, mask; 292 uint8_t val, mask;
288 int ret; 293 int ret;
289 294
@@ -466,7 +471,7 @@ static int __devinit da903x_regulator_probe(struct platform_device *pdev)
466 if (ri->desc.id == DA9030_ID_LDO1 || ri->desc.id == DA9030_ID_LDO15) 471 if (ri->desc.id == DA9030_ID_LDO1 || ri->desc.id == DA9030_ID_LDO15)
467 ri->desc.ops = &da9030_regulator_ldo1_15_ops; 472 ri->desc.ops = &da9030_regulator_ldo1_15_ops;
468 473
469 rdev = regulator_register(&ri->desc, pdev->dev.parent, ri); 474 rdev = regulator_register(&ri->desc, &pdev->dev, ri);
470 if (IS_ERR(rdev)) { 475 if (IS_ERR(rdev)) {
471 dev_err(&pdev->dev, "failed to register regulator %s\n", 476 dev_err(&pdev->dev, "failed to register regulator %s\n",
472 ri->desc.name); 477 ri->desc.name);
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
index 7af60b98d8a4..a04c1b6b1575 100644
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
@@ -271,7 +271,7 @@ int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
271 dev_dbg(&rtc->dev, "alarm rollover: %s\n", "year"); 271 dev_dbg(&rtc->dev, "alarm rollover: %s\n", "year");
272 do { 272 do {
273 alarm->time.tm_year++; 273 alarm->time.tm_year++;
274 } while (!rtc_valid_tm(&alarm->time)); 274 } while (rtc_valid_tm(&alarm->time) != 0);
275 break; 275 break;
276 276
277 default: 277 default:
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 5549231179a2..6cf8e282338f 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -794,7 +794,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
794 goto cleanup2; 794 goto cleanup2;
795 } 795 }
796 796
797 pr_info("%s: alarms up to one %s%s, %zd bytes nvram, %s irqs\n", 797 pr_info("%s: alarms up to one %s%s, %zd bytes nvram%s\n",
798 cmos_rtc.rtc->dev.bus_id, 798 cmos_rtc.rtc->dev.bus_id,
799 is_valid_irq(rtc_irq) 799 is_valid_irq(rtc_irq)
800 ? (cmos_rtc.mon_alrm 800 ? (cmos_rtc.mon_alrm
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index 079e9ed907e0..ecdea44ae4e5 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -446,9 +446,6 @@ static int rtc_dev_release(struct inode *inode, struct file *file)
446 if (rtc->ops->release) 446 if (rtc->ops->release)
447 rtc->ops->release(rtc->dev.parent); 447 rtc->ops->release(rtc->dev.parent);
448 448
449 if (file->f_flags & FASYNC)
450 rtc_dev_fasync(-1, file, 0);
451
452 clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags); 449 clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
453 return 0; 450 return 0;
454} 451}
diff --git a/drivers/rtc/rtc-ds3234.c b/drivers/rtc/rtc-ds3234.c
index 37d131d03f33..45e5b106af73 100644
--- a/drivers/rtc/rtc-ds3234.c
+++ b/drivers/rtc/rtc-ds3234.c
@@ -189,7 +189,7 @@ static const struct rtc_class_ops ds3234_rtc_ops = {
189 .set_time = ds3234_set_time, 189 .set_time = ds3234_set_time,
190}; 190};
191 191
192static int ds3234_probe(struct spi_device *spi) 192static int __devinit ds3234_probe(struct spi_device *spi)
193{ 193{
194 struct rtc_device *rtc; 194 struct rtc_device *rtc;
195 unsigned char tmp; 195 unsigned char tmp;
@@ -249,7 +249,7 @@ static int ds3234_probe(struct spi_device *spi)
249 return 0; 249 return 0;
250} 250}
251 251
252static int __exit ds3234_remove(struct spi_device *spi) 252static int __devexit ds3234_remove(struct spi_device *spi)
253{ 253{
254 struct ds3234 *chip = platform_get_drvdata(spi); 254 struct ds3234 *chip = platform_get_drvdata(spi);
255 struct rtc_device *rtc = chip->rtc; 255 struct rtc_device *rtc = chip->rtc;
diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c
index 04b63dab6932..43afb7ab5289 100644
--- a/drivers/rtc/rtc-m48t59.c
+++ b/drivers/rtc/rtc-m48t59.c
@@ -87,6 +87,10 @@ static int m48t59_rtc_read_time(struct device *dev, struct rtc_time *tm)
87 dev_dbg(dev, "Century bit is enabled\n"); 87 dev_dbg(dev, "Century bit is enabled\n");
88 tm->tm_year += 100; /* one century */ 88 tm->tm_year += 100; /* one century */
89 } 89 }
90#ifdef CONFIG_SPARC
91 /* Sun SPARC machines count years since 1968 */
92 tm->tm_year += 68;
93#endif
90 94
91 tm->tm_wday = bcd2bin(val & 0x07); 95 tm->tm_wday = bcd2bin(val & 0x07);
92 tm->tm_hour = bcd2bin(M48T59_READ(M48T59_HOUR) & 0x3F); 96 tm->tm_hour = bcd2bin(M48T59_READ(M48T59_HOUR) & 0x3F);
@@ -110,11 +114,20 @@ static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm)
110 struct m48t59_private *m48t59 = platform_get_drvdata(pdev); 114 struct m48t59_private *m48t59 = platform_get_drvdata(pdev);
111 unsigned long flags; 115 unsigned long flags;
112 u8 val = 0; 116 u8 val = 0;
117 int year = tm->tm_year;
118
119#ifdef CONFIG_SPARC
120 /* Sun SPARC machines count years since 1968 */
121 year -= 68;
122#endif
113 123
114 dev_dbg(dev, "RTC set time %04d-%02d-%02d %02d/%02d/%02d\n", 124 dev_dbg(dev, "RTC set time %04d-%02d-%02d %02d/%02d/%02d\n",
115 tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, 125 year + 1900, tm->tm_mon, tm->tm_mday,
116 tm->tm_hour, tm->tm_min, tm->tm_sec); 126 tm->tm_hour, tm->tm_min, tm->tm_sec);
117 127
128 if (year < 0)
129 return -EINVAL;
130
118 spin_lock_irqsave(&m48t59->lock, flags); 131 spin_lock_irqsave(&m48t59->lock, flags);
119 /* Issue the WRITE command */ 132 /* Issue the WRITE command */
120 M48T59_SET_BITS(M48T59_CNTL_WRITE, M48T59_CNTL); 133 M48T59_SET_BITS(M48T59_CNTL_WRITE, M48T59_CNTL);
@@ -125,9 +138,9 @@ static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm)
125 M48T59_WRITE((bin2bcd(tm->tm_mday) & 0x3F), M48T59_MDAY); 138 M48T59_WRITE((bin2bcd(tm->tm_mday) & 0x3F), M48T59_MDAY);
126 /* tm_mon is 0-11 */ 139 /* tm_mon is 0-11 */
127 M48T59_WRITE((bin2bcd(tm->tm_mon + 1) & 0x1F), M48T59_MONTH); 140 M48T59_WRITE((bin2bcd(tm->tm_mon + 1) & 0x1F), M48T59_MONTH);
128 M48T59_WRITE(bin2bcd(tm->tm_year % 100), M48T59_YEAR); 141 M48T59_WRITE(bin2bcd(year % 100), M48T59_YEAR);
129 142
130 if (pdata->type == M48T59RTC_TYPE_M48T59 && (tm->tm_year / 100)) 143 if (pdata->type == M48T59RTC_TYPE_M48T59 && (year / 100))
131 val = (M48T59_WDAY_CEB | M48T59_WDAY_CB); 144 val = (M48T59_WDAY_CEB | M48T59_WDAY_CB);
132 val |= (bin2bcd(tm->tm_wday) & 0x07); 145 val |= (bin2bcd(tm->tm_wday) & 0x07);
133 M48T59_WRITE(val, M48T59_WDAY); 146 M48T59_WRITE(val, M48T59_WDAY);
@@ -159,6 +172,10 @@ static int m48t59_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
159 M48T59_SET_BITS(M48T59_CNTL_READ, M48T59_CNTL); 172 M48T59_SET_BITS(M48T59_CNTL_READ, M48T59_CNTL);
160 173
161 tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR)); 174 tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR));
175#ifdef CONFIG_SPARC
176 /* Sun SPARC machines count years since 1968 */
177 tm->tm_year += 68;
178#endif
162 /* tm_mon is 0-11 */ 179 /* tm_mon is 0-11 */
163 tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1; 180 tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1;
164 181
@@ -192,11 +209,20 @@ static int m48t59_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
192 struct rtc_time *tm = &alrm->time; 209 struct rtc_time *tm = &alrm->time;
193 u8 mday, hour, min, sec; 210 u8 mday, hour, min, sec;
194 unsigned long flags; 211 unsigned long flags;
212 int year = tm->tm_year;
213
214#ifdef CONFIG_SPARC
215 /* Sun SPARC machines count years since 1968 */
216 year -= 68;
217#endif
195 218
196 /* If no irq, we don't support ALARM */ 219 /* If no irq, we don't support ALARM */
197 if (m48t59->irq == NO_IRQ) 220 if (m48t59->irq == NO_IRQ)
198 return -EIO; 221 return -EIO;
199 222
223 if (year < 0)
224 return -EINVAL;
225
200 /* 226 /*
201 * 0xff means "always match" 227 * 0xff means "always match"
202 */ 228 */
@@ -228,7 +254,7 @@ static int m48t59_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
228 spin_unlock_irqrestore(&m48t59->lock, flags); 254 spin_unlock_irqrestore(&m48t59->lock, flags);
229 255
230 dev_dbg(dev, "RTC set alarm time %04d-%02d-%02d %02d/%02d/%02d\n", 256 dev_dbg(dev, "RTC set alarm time %04d-%02d-%02d %02d/%02d/%02d\n",
231 tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, 257 year + 1900, tm->tm_mon, tm->tm_mday,
232 tm->tm_hour, tm->tm_min, tm->tm_sec); 258 tm->tm_hour, tm->tm_min, tm->tm_sec);
233 return 0; 259 return 0;
234} 260}
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 910bc704939c..f59277bbedaa 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -455,6 +455,8 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
455 455
456 s3c_rtc_setfreq(&pdev->dev, 1); 456 s3c_rtc_setfreq(&pdev->dev, 1);
457 457
458 device_init_wakeup(&pdev->dev, 1);
459
458 /* register RTC and exit */ 460 /* register RTC and exit */
459 461
460 rtc = rtc_device_register("s3c", &pdev->dev, &s3c_rtcops, 462 rtc = rtc_device_register("s3c", &pdev->dev, &s3c_rtcops,
@@ -507,7 +509,7 @@ static int s3c_rtc_resume(struct platform_device *pdev)
507#define s3c_rtc_resume NULL 509#define s3c_rtc_resume NULL
508#endif 510#endif
509 511
510static struct platform_driver s3c2410_rtcdrv = { 512static struct platform_driver s3c2410_rtc_driver = {
511 .probe = s3c_rtc_probe, 513 .probe = s3c_rtc_probe,
512 .remove = __devexit_p(s3c_rtc_remove), 514 .remove = __devexit_p(s3c_rtc_remove),
513 .suspend = s3c_rtc_suspend, 515 .suspend = s3c_rtc_suspend,
@@ -523,12 +525,12 @@ static char __initdata banner[] = "S3C24XX RTC, (c) 2004,2006 Simtec Electronics
523static int __init s3c_rtc_init(void) 525static int __init s3c_rtc_init(void)
524{ 526{
525 printk(banner); 527 printk(banner);
526 return platform_driver_register(&s3c2410_rtcdrv); 528 return platform_driver_register(&s3c2410_rtc_driver);
527} 529}
528 530
529static void __exit s3c_rtc_exit(void) 531static void __exit s3c_rtc_exit(void)
530{ 532{
531 platform_driver_unregister(&s3c2410_rtcdrv); 533 platform_driver_unregister(&s3c2410_rtc_driver);
532} 534}
533 535
534module_init(s3c_rtc_init); 536module_init(s3c_rtc_init);
diff --git a/drivers/s390/char/tape_block.c b/drivers/s390/char/tape_block.c
index 023803dbb0c7..ae18baf59f06 100644
--- a/drivers/s390/char/tape_block.c
+++ b/drivers/s390/char/tape_block.c
@@ -76,7 +76,7 @@ tapeblock_trigger_requeue(struct tape_device *device)
76static void 76static void
77tapeblock_end_request(struct request *req, int error) 77tapeblock_end_request(struct request *req, int error)
78{ 78{
79 if (__blk_end_request(req, error, blk_rq_bytes(req))) 79 if (blk_end_request(req, error, blk_rq_bytes(req)))
80 BUG(); 80 BUG();
81} 81}
82 82
@@ -166,7 +166,7 @@ tapeblock_requeue(struct work_struct *work) {
166 nr_queued++; 166 nr_queued++;
167 spin_unlock(get_ccwdev_lock(device->cdev)); 167 spin_unlock(get_ccwdev_lock(device->cdev));
168 168
169 spin_lock(&device->blk_data.request_queue_lock); 169 spin_lock_irq(&device->blk_data.request_queue_lock);
170 while ( 170 while (
171 !blk_queue_plugged(queue) && 171 !blk_queue_plugged(queue) &&
172 elv_next_request(queue) && 172 elv_next_request(queue) &&
@@ -176,7 +176,9 @@ tapeblock_requeue(struct work_struct *work) {
176 if (rq_data_dir(req) == WRITE) { 176 if (rq_data_dir(req) == WRITE) {
177 DBF_EVENT(1, "TBLOCK: Rejecting write request\n"); 177 DBF_EVENT(1, "TBLOCK: Rejecting write request\n");
178 blkdev_dequeue_request(req); 178 blkdev_dequeue_request(req);
179 spin_unlock_irq(&device->blk_data.request_queue_lock);
179 tapeblock_end_request(req, -EIO); 180 tapeblock_end_request(req, -EIO);
181 spin_lock_irq(&device->blk_data.request_queue_lock);
180 continue; 182 continue;
181 } 183 }
182 blkdev_dequeue_request(req); 184 blkdev_dequeue_request(req);
diff --git a/drivers/s390/char/tape_core.c b/drivers/s390/char/tape_core.c
index d7073dbf825c..f9bb51fa7f5b 100644
--- a/drivers/s390/char/tape_core.c
+++ b/drivers/s390/char/tape_core.c
@@ -1200,7 +1200,7 @@ tape_open(struct tape_device *device)
1200{ 1200{
1201 int rc; 1201 int rc;
1202 1202
1203 spin_lock(get_ccwdev_lock(device->cdev)); 1203 spin_lock_irq(get_ccwdev_lock(device->cdev));
1204 if (device->tape_state == TS_NOT_OPER) { 1204 if (device->tape_state == TS_NOT_OPER) {
1205 DBF_EVENT(6, "TAPE:nodev\n"); 1205 DBF_EVENT(6, "TAPE:nodev\n");
1206 rc = -ENODEV; 1206 rc = -ENODEV;
@@ -1218,7 +1218,7 @@ tape_open(struct tape_device *device)
1218 tape_state_set(device, TS_IN_USE); 1218 tape_state_set(device, TS_IN_USE);
1219 rc = 0; 1219 rc = 0;
1220 } 1220 }
1221 spin_unlock(get_ccwdev_lock(device->cdev)); 1221 spin_unlock_irq(get_ccwdev_lock(device->cdev));
1222 return rc; 1222 return rc;
1223} 1223}
1224 1224
@@ -1228,11 +1228,11 @@ tape_open(struct tape_device *device)
1228int 1228int
1229tape_release(struct tape_device *device) 1229tape_release(struct tape_device *device)
1230{ 1230{
1231 spin_lock(get_ccwdev_lock(device->cdev)); 1231 spin_lock_irq(get_ccwdev_lock(device->cdev));
1232 if (device->tape_state == TS_IN_USE) 1232 if (device->tape_state == TS_IN_USE)
1233 tape_state_set(device, TS_UNUSED); 1233 tape_state_set(device, TS_UNUSED);
1234 module_put(device->discipline->owner); 1234 module_put(device->discipline->owner);
1235 spin_unlock(get_ccwdev_lock(device->cdev)); 1235 spin_unlock_irq(get_ccwdev_lock(device->cdev));
1236 return 0; 1236 return 0;
1237} 1237}
1238 1238
diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c
index b5390821434f..f05590355be8 100644
--- a/drivers/s390/cio/qdio_debug.c
+++ b/drivers/s390/cio/qdio_debug.c
@@ -20,6 +20,7 @@ static struct dentry *debugfs_root;
20#define MAX_DEBUGFS_QUEUES 32 20#define MAX_DEBUGFS_QUEUES 32
21static struct dentry *debugfs_queues[MAX_DEBUGFS_QUEUES] = { NULL }; 21static struct dentry *debugfs_queues[MAX_DEBUGFS_QUEUES] = { NULL };
22static DEFINE_MUTEX(debugfs_mutex); 22static DEFINE_MUTEX(debugfs_mutex);
23#define QDIO_DEBUGFS_NAME_LEN 40
23 24
24void qdio_allocate_do_dbf(struct qdio_initialize *init_data) 25void qdio_allocate_do_dbf(struct qdio_initialize *init_data)
25{ 26{
@@ -152,17 +153,6 @@ static int qstat_seq_open(struct inode *inode, struct file *filp)
152 filp->f_path.dentry->d_inode->i_private); 153 filp->f_path.dentry->d_inode->i_private);
153} 154}
154 155
155static void get_queue_name(struct qdio_q *q, struct ccw_device *cdev, char *name)
156{
157 memset(name, 0, sizeof(name));
158 sprintf(name, "%s", dev_name(&cdev->dev));
159 if (q->is_input_q)
160 sprintf(name + strlen(name), "_input");
161 else
162 sprintf(name + strlen(name), "_output");
163 sprintf(name + strlen(name), "_%d", q->nr);
164}
165
166static void remove_debugfs_entry(struct qdio_q *q) 156static void remove_debugfs_entry(struct qdio_q *q)
167{ 157{
168 int i; 158 int i;
@@ -189,14 +179,17 @@ static struct file_operations debugfs_fops = {
189static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev) 179static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev)
190{ 180{
191 int i = 0; 181 int i = 0;
192 char name[40]; 182 char name[QDIO_DEBUGFS_NAME_LEN];
193 183
194 while (debugfs_queues[i] != NULL) { 184 while (debugfs_queues[i] != NULL) {
195 i++; 185 i++;
196 if (i >= MAX_DEBUGFS_QUEUES) 186 if (i >= MAX_DEBUGFS_QUEUES)
197 return; 187 return;
198 } 188 }
199 get_queue_name(q, cdev, name); 189 snprintf(name, QDIO_DEBUGFS_NAME_LEN, "%s_%s_%d",
190 dev_name(&cdev->dev),
191 q->is_input_q ? "input" : "output",
192 q->nr);
200 debugfs_queues[i] = debugfs_create_file(name, S_IFREG | S_IRUGO | S_IWUSR, 193 debugfs_queues[i] = debugfs_create_file(name, S_IFREG | S_IRUGO | S_IWUSR,
201 debugfs_root, q, &debugfs_fops); 194 debugfs_root, q, &debugfs_fops);
202} 195}
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index a50682d2a0fa..7c8659151993 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -1083,7 +1083,6 @@ void qdio_int_handler(struct ccw_device *cdev, unsigned long intparm,
1083 case -EIO: 1083 case -EIO:
1084 sprintf(dbf_text, "ierr%4x", irq_ptr->schid.sch_no); 1084 sprintf(dbf_text, "ierr%4x", irq_ptr->schid.sch_no);
1085 QDIO_DBF_TEXT2(1, setup, dbf_text); 1085 QDIO_DBF_TEXT2(1, setup, dbf_text);
1086 qdio_int_error(cdev);
1087 return; 1086 return;
1088 case -ETIMEDOUT: 1087 case -ETIMEDOUT:
1089 sprintf(dbf_text, "qtoh%4x", irq_ptr->schid.sch_no); 1088 sprintf(dbf_text, "qtoh%4x", irq_ptr->schid.sch_no);
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 7de410d5be4a..52d26592c72c 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -3025,7 +3025,7 @@ static inline void __qeth_fill_buffer(struct sk_buff *skb,
3025 struct qdio_buffer *buffer, int is_tso, int *next_element_to_fill, 3025 struct qdio_buffer *buffer, int is_tso, int *next_element_to_fill,
3026 int offset) 3026 int offset)
3027{ 3027{
3028 int length = skb->len - offset; 3028 int length = skb->len;
3029 int length_here; 3029 int length_here;
3030 int element; 3030 int element;
3031 char *data; 3031 char *data;
@@ -3037,6 +3037,7 @@ static inline void __qeth_fill_buffer(struct sk_buff *skb,
3037 3037
3038 if (offset >= 0) { 3038 if (offset >= 0) {
3039 data = skb->data + offset; 3039 data = skb->data + offset;
3040 length -= offset;
3040 first_lap = 0; 3041 first_lap = 0;
3041 } 3042 }
3042 3043
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 955ba7a31b90..1b1e80336d2c 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -373,8 +373,6 @@ static int qeth_l2_stop_card(struct qeth_card *card, int recovery_mode)
373 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *)); 373 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *));
374 374
375 qeth_set_allowed_threads(card, 0, 1); 375 qeth_set_allowed_threads(card, 0, 1);
376 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD))
377 return -ERESTARTSYS;
378 if (card->read.state == CH_STATE_UP && 376 if (card->read.state == CH_STATE_UP &&
379 card->write.state == CH_STATE_UP && 377 card->write.state == CH_STATE_UP &&
380 (card->state == CARD_STATE_UP)) { 378 (card->state == CARD_STATE_UP)) {
@@ -451,12 +449,15 @@ static void qeth_l2_process_inbound_buffer(struct qeth_card *card,
451 netif_rx(skb); 449 netif_rx(skb);
452 break; 450 break;
453 case QETH_HEADER_TYPE_OSN: 451 case QETH_HEADER_TYPE_OSN:
454 skb_push(skb, sizeof(struct qeth_hdr)); 452 if (card->info.type == QETH_CARD_TYPE_OSN) {
455 skb_copy_to_linear_data(skb, hdr, 453 skb_push(skb, sizeof(struct qeth_hdr));
454 skb_copy_to_linear_data(skb, hdr,
456 sizeof(struct qeth_hdr)); 455 sizeof(struct qeth_hdr));
457 len = skb->len; 456 len = skb->len;
458 card->osn_info.data_cb(skb); 457 card->osn_info.data_cb(skb);
459 break; 458 break;
459 }
460 /* else unknown */
460 default: 461 default:
461 dev_kfree_skb_any(skb); 462 dev_kfree_skb_any(skb);
462 QETH_DBF_TEXT(TRACE, 3, "inbunkno"); 463 QETH_DBF_TEXT(TRACE, 3, "inbunkno");
@@ -975,12 +976,6 @@ static int __qeth_l2_set_online(struct ccwgroup_device *gdev, int recovery_mode)
975 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *)); 976 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *));
976 977
977 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1); 978 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1);
978 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD)) {
979 PRINT_WARN("set_online of card %s interrupted by user!\n",
980 CARD_BUS_ID(card));
981 return -ERESTARTSYS;
982 }
983
984 recover_flag = card->state; 979 recover_flag = card->state;
985 rc = ccw_device_set_online(CARD_RDEV(card)); 980 rc = ccw_device_set_online(CARD_RDEV(card));
986 if (rc) { 981 if (rc) {
@@ -1091,11 +1086,7 @@ static int __qeth_l2_set_offline(struct ccwgroup_device *cgdev,
1091 if (card->dev && netif_carrier_ok(card->dev)) 1086 if (card->dev && netif_carrier_ok(card->dev))
1092 netif_carrier_off(card->dev); 1087 netif_carrier_off(card->dev);
1093 recover_flag = card->state; 1088 recover_flag = card->state;
1094 if (qeth_l2_stop_card(card, recovery_mode) == -ERESTARTSYS) { 1089 qeth_l2_stop_card(card, recovery_mode);
1095 PRINT_WARN("Stopping card %s interrupted by user!\n",
1096 CARD_BUS_ID(card));
1097 return -ERESTARTSYS;
1098 }
1099 rc = ccw_device_set_offline(CARD_DDEV(card)); 1090 rc = ccw_device_set_offline(CARD_DDEV(card));
1100 rc2 = ccw_device_set_offline(CARD_WDEV(card)); 1091 rc2 = ccw_device_set_offline(CARD_WDEV(card));
1101 rc3 = ccw_device_set_offline(CARD_RDEV(card)); 1092 rc3 = ccw_device_set_offline(CARD_RDEV(card));
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c
index 99547dea44de..ed59fedd5922 100644
--- a/drivers/s390/net/qeth_l3_main.c
+++ b/drivers/s390/net/qeth_l3_main.c
@@ -2064,8 +2064,6 @@ static int qeth_l3_stop_card(struct qeth_card *card, int recovery_mode)
2064 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *)); 2064 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *));
2065 2065
2066 qeth_set_allowed_threads(card, 0, 1); 2066 qeth_set_allowed_threads(card, 0, 1);
2067 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD))
2068 return -ERESTARTSYS;
2069 if (card->read.state == CH_STATE_UP && 2067 if (card->read.state == CH_STATE_UP &&
2070 card->write.state == CH_STATE_UP && 2068 card->write.state == CH_STATE_UP &&
2071 (card->state == CARD_STATE_UP)) { 2069 (card->state == CARD_STATE_UP)) {
@@ -3049,11 +3047,6 @@ static int __qeth_l3_set_online(struct ccwgroup_device *gdev, int recovery_mode)
3049 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *)); 3047 QETH_DBF_HEX(SETUP, 2, &card, sizeof(void *));
3050 3048
3051 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1); 3049 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1);
3052 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD)) {
3053 PRINT_WARN("set_online of card %s interrupted by user!\n",
3054 CARD_BUS_ID(card));
3055 return -ERESTARTSYS;
3056 }
3057 3050
3058 recover_flag = card->state; 3051 recover_flag = card->state;
3059 rc = ccw_device_set_online(CARD_RDEV(card)); 3052 rc = ccw_device_set_online(CARD_RDEV(card));
@@ -3170,11 +3163,7 @@ static int __qeth_l3_set_offline(struct ccwgroup_device *cgdev,
3170 if (card->dev && netif_carrier_ok(card->dev)) 3163 if (card->dev && netif_carrier_ok(card->dev))
3171 netif_carrier_off(card->dev); 3164 netif_carrier_off(card->dev);
3172 recover_flag = card->state; 3165 recover_flag = card->state;
3173 if (qeth_l3_stop_card(card, recovery_mode) == -ERESTARTSYS) { 3166 qeth_l3_stop_card(card, recovery_mode);
3174 PRINT_WARN("Stopping card %s interrupted by user!\n",
3175 CARD_BUS_ID(card));
3176 return -ERESTARTSYS;
3177 }
3178 rc = ccw_device_set_offline(CARD_DDEV(card)); 3167 rc = ccw_device_set_offline(CARD_DDEV(card));
3179 rc2 = ccw_device_set_offline(CARD_WDEV(card)); 3168 rc2 = ccw_device_set_offline(CARD_WDEV(card));
3180 rc3 = ccw_device_set_offline(CARD_RDEV(card)); 3169 rc3 = ccw_device_set_offline(CARD_RDEV(card));
diff --git a/drivers/s390/net/qeth_l3_sys.c b/drivers/s390/net/qeth_l3_sys.c
index 210ddb639748..c144b9924d52 100644
--- a/drivers/s390/net/qeth_l3_sys.c
+++ b/drivers/s390/net/qeth_l3_sys.c
@@ -121,9 +121,6 @@ static ssize_t qeth_l3_dev_route6_show(struct device *dev,
121 if (!card) 121 if (!card)
122 return -EINVAL; 122 return -EINVAL;
123 123
124 if (!qeth_is_supported(card, IPA_IPV6))
125 return sprintf(buf, "%s\n", "n/a");
126
127 return qeth_l3_dev_route_show(card, &card->options.route6, buf); 124 return qeth_l3_dev_route_show(card, &card->options.route6, buf);
128} 125}
129 126
@@ -135,10 +132,6 @@ static ssize_t qeth_l3_dev_route6_store(struct device *dev,
135 if (!card) 132 if (!card)
136 return -EINVAL; 133 return -EINVAL;
137 134
138 if (!qeth_is_supported(card, IPA_IPV6)) {
139 return -EOPNOTSUPP;
140 }
141
142 return qeth_l3_dev_route_store(card, &card->options.route6, 135 return qeth_l3_dev_route_store(card, &card->options.route6,
143 QETH_PROT_IPV6, buf, count); 136 QETH_PROT_IPV6, buf, count);
144} 137}
diff --git a/drivers/sbus/char/jsflash.c b/drivers/sbus/char/jsflash.c
index 2bec9ccc0293..a9a9893a5f95 100644
--- a/drivers/sbus/char/jsflash.c
+++ b/drivers/sbus/char/jsflash.c
@@ -36,7 +36,6 @@
36#include <linux/poll.h> 36#include <linux/poll.h>
37#include <linux/init.h> 37#include <linux/init.h>
38#include <linux/string.h> 38#include <linux/string.h>
39#include <linux/smp_lock.h>
40#include <linux/genhd.h> 39#include <linux/genhd.h>
41#include <linux/blkdev.h> 40#include <linux/blkdev.h>
42 41
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index c33bcb284df7..56f4e6bffc21 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -290,9 +290,11 @@
290#include <scsi/scsi_ioctl.h> 290#include <scsi/scsi_ioctl.h>
291#include "fdomain.h" 291#include "fdomain.h"
292 292
293#ifndef PCMCIA
293MODULE_AUTHOR("Rickard E. Faith"); 294MODULE_AUTHOR("Rickard E. Faith");
294MODULE_DESCRIPTION("Future domain SCSI driver"); 295MODULE_DESCRIPTION("Future domain SCSI driver");
295MODULE_LICENSE("GPL"); 296MODULE_LICENSE("GPL");
297#endif
296 298
297 299
298#define VERSION "$Revision: 5.51 $" 300#define VERSION "$Revision: 5.51 $"
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index afe1de998763..a454f94623d7 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -2988,17 +2988,6 @@ static int megasas_mgmt_open(struct inode *inode, struct file *filep)
2988} 2988}
2989 2989
2990/** 2990/**
2991 * megasas_mgmt_release - char node "release" entry point
2992 */
2993static int megasas_mgmt_release(struct inode *inode, struct file *filep)
2994{
2995 filep->private_data = NULL;
2996 fasync_helper(-1, filep, 0, &megasas_async_queue);
2997
2998 return 0;
2999}
3000
3001/**
3002 * megasas_mgmt_fasync - Async notifier registration from applications 2991 * megasas_mgmt_fasync - Async notifier registration from applications
3003 * 2992 *
3004 * This function adds the calling process to a driver global queue. When an 2993 * This function adds the calling process to a driver global queue. When an
@@ -3345,7 +3334,6 @@ megasas_mgmt_compat_ioctl(struct file *file, unsigned int cmd,
3345static const struct file_operations megasas_mgmt_fops = { 3334static const struct file_operations megasas_mgmt_fops = {
3346 .owner = THIS_MODULE, 3335 .owner = THIS_MODULE,
3347 .open = megasas_mgmt_open, 3336 .open = megasas_mgmt_open,
3348 .release = megasas_mgmt_release,
3349 .fasync = megasas_mgmt_fasync, 3337 .fasync = megasas_mgmt_fasync,
3350 .unlocked_ioctl = megasas_mgmt_ioctl, 3338 .unlocked_ioctl = megasas_mgmt_ioctl,
3351#ifdef CONFIG_COMPAT 3339#ifdef CONFIG_COMPAT
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 9adf35bd8b56..5103855242ae 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -327,7 +327,6 @@ sg_release(struct inode *inode, struct file *filp)
327 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) 327 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
328 return -ENXIO; 328 return -ENXIO;
329 SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name)); 329 SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name));
330 sg_fasync(-1, filp, 0); /* remove filp from async notification list */
331 if (0 == sg_remove_sfp(sdp, sfp)) { /* Returns 1 when sdp gone */ 330 if (0 == sg_remove_sfp(sdp, sfp)) { /* Returns 1 when sdp gone */
332 if (!sdp->detached) { 331 if (!sdp->detached) {
333 scsi_device_put(sdp->device); 332 scsi_device_put(sdp->device);
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index c94d3c4b7521..579d63a81aa2 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -1276,7 +1276,7 @@ config SERIAL_SGI_IOC3
1276 say Y or M. Otherwise, say N. 1276 say Y or M. Otherwise, say N.
1277 1277
1278config SERIAL_NETX 1278config SERIAL_NETX
1279 bool "NetX serial port support" 1279 tristate "NetX serial port support"
1280 depends on ARM && ARCH_NETX 1280 depends on ARM && ARCH_NETX
1281 select SERIAL_CORE 1281 select SERIAL_CORE
1282 help 1282 help
@@ -1288,7 +1288,7 @@ config SERIAL_NETX
1288 1288
1289config SERIAL_NETX_CONSOLE 1289config SERIAL_NETX_CONSOLE
1290 bool "Console on NetX serial port" 1290 bool "Console on NetX serial port"
1291 depends on SERIAL_NETX 1291 depends on SERIAL_NETX=y
1292 select SERIAL_CORE_CONSOLE 1292 select SERIAL_CORE_CONSOLE
1293 help 1293 help
1294 If you have enabled the serial port on the Hilscher NetX SoC 1294 If you have enabled the serial port on the Hilscher NetX SoC
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 61fb8b6d19af..d5efd6c77904 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -1258,6 +1258,8 @@ static void __devinit atmel_init_port(struct atmel_uart_port *atmel_port,
1258 atmel_port->clk = clk_get(&pdev->dev, "usart"); 1258 atmel_port->clk = clk_get(&pdev->dev, "usart");
1259 clk_enable(atmel_port->clk); 1259 clk_enable(atmel_port->clk);
1260 port->uartclk = clk_get_rate(atmel_port->clk); 1260 port->uartclk = clk_get_rate(atmel_port->clk);
1261 clk_disable(atmel_port->clk);
1262 /* only enable clock when USART is in use */
1261 } 1263 }
1262 1264
1263 atmel_port->use_dma_rx = data->use_dma_rx; 1265 atmel_port->use_dma_rx = data->use_dma_rx;
@@ -1379,6 +1381,8 @@ static int __init atmel_console_setup(struct console *co, char *options)
1379 return -ENODEV; 1381 return -ENODEV;
1380 } 1382 }
1381 1383
1384 clk_enable(atmel_ports[co->index].clk);
1385
1382 UART_PUT_IDR(port, -1); 1386 UART_PUT_IDR(port, -1);
1383 UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); 1387 UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX);
1384 UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN); 1388 UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN);
@@ -1403,7 +1407,7 @@ static struct console atmel_console = {
1403 .data = &atmel_uart, 1407 .data = &atmel_uart,
1404}; 1408};
1405 1409
1406#define ATMEL_CONSOLE_DEVICE &atmel_console 1410#define ATMEL_CONSOLE_DEVICE (&atmel_console)
1407 1411
1408/* 1412/*
1409 * Early console initialization (before VM subsystem initialized). 1413 * Early console initialization (before VM subsystem initialized).
@@ -1534,6 +1538,15 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev)
1534 if (ret) 1538 if (ret)
1535 goto err_add_port; 1539 goto err_add_port;
1536 1540
1541 if (atmel_is_console_port(&port->uart)
1542 && ATMEL_CONSOLE_DEVICE->flags & CON_ENABLED) {
1543 /*
1544 * The serial core enabled the clock for us, so undo
1545 * the clk_enable() in atmel_console_setup()
1546 */
1547 clk_disable(port->clk);
1548 }
1549
1537 device_init_wakeup(&pdev->dev, 1); 1550 device_init_wakeup(&pdev->dev, 1);
1538 platform_set_drvdata(pdev, port); 1551 platform_set_drvdata(pdev, port);
1539 1552
@@ -1544,7 +1557,6 @@ err_add_port:
1544 port->rx_ring.buf = NULL; 1557 port->rx_ring.buf = NULL;
1545err_alloc_ring: 1558err_alloc_ring:
1546 if (!atmel_is_console_port(&port->uart)) { 1559 if (!atmel_is_console_port(&port->uart)) {
1547 clk_disable(port->clk);
1548 clk_put(port->clk); 1560 clk_put(port->clk);
1549 port->clk = NULL; 1561 port->clk = NULL;
1550 } 1562 }
@@ -1568,7 +1580,6 @@ static int __devexit atmel_serial_remove(struct platform_device *pdev)
1568 1580
1569 /* "port" is allocated statically, so we shouldn't free it */ 1581 /* "port" is allocated statically, so we shouldn't free it */
1570 1582
1571 clk_disable(atmel_port->clk);
1572 clk_put(atmel_port->clk); 1583 clk_put(atmel_port->clk);
1573 1584
1574 return ret; 1585 return ret;
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 211c21797ce0..8b2c619a09f2 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -34,14 +34,14 @@ static char *serial_version = "$Revision: 1.25 $";
34#include <asm/system.h> 34#include <asm/system.h>
35#include <linux/delay.h> 35#include <linux/delay.h>
36 36
37#include <asm/arch/svinto.h> 37#include <arch/svinto.h>
38 38
39/* non-arch dependent serial structures are in linux/serial.h */ 39/* non-arch dependent serial structures are in linux/serial.h */
40#include <linux/serial.h> 40#include <linux/serial.h>
41/* while we keep our own stuff (struct e100_serial) in a local .h file */ 41/* while we keep our own stuff (struct e100_serial) in a local .h file */
42#include "crisv10.h" 42#include "crisv10.h"
43#include <asm/fasttimer.h> 43#include <asm/fasttimer.h>
44#include <asm/arch/io_interface_mux.h> 44#include <arch/io_interface_mux.h>
45 45
46#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER 46#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER
47#ifndef CONFIG_ETRAX_FAST_TIMER 47#ifndef CONFIG_ETRAX_FAST_TIMER
diff --git a/drivers/serial/crisv10.h b/drivers/serial/crisv10.h
index e3c5c8c3c09b..f36a729280bc 100644
--- a/drivers/serial/crisv10.h
+++ b/drivers/serial/crisv10.h
@@ -10,7 +10,7 @@
10#include <linux/circ_buf.h> 10#include <linux/circ_buf.h>
11#include <asm/termios.h> 11#include <asm/termios.h>
12#include <asm/dma.h> 12#include <asm/dma.h>
13#include <asm/arch/io_interface_mux.h> 13#include <arch/io_interface_mux.h>
14 14
15/* Software state per channel */ 15/* Software state per channel */
16 16
diff --git a/drivers/serial/netx-serial.c b/drivers/serial/netx-serial.c
index 3f489329e8d3..3e5dda8518b7 100644
--- a/drivers/serial/netx-serial.c
+++ b/drivers/serial/netx-serial.c
@@ -42,8 +42,6 @@
42#define SERIAL_NX_MAJOR 204 42#define SERIAL_NX_MAJOR 204
43#define MINOR_START 170 43#define MINOR_START 170
44 44
45#ifdef CONFIG_SERIAL_NETX_CONSOLE
46
47enum uart_regs { 45enum uart_regs {
48 UART_DR = 0x00, 46 UART_DR = 0x00,
49 UART_SR = 0x04, 47 UART_SR = 0x04,
@@ -528,6 +526,8 @@ static struct netx_port netx_ports[] = {
528 } 526 }
529}; 527};
530 528
529#ifdef CONFIG_SERIAL_NETX_CONSOLE
530
531static void netx_console_putchar(struct uart_port *port, int ch) 531static void netx_console_putchar(struct uart_port *port, int ch)
532{ 532{
533 while (readl(port->membase + UART_FR) & FR_BUSY); 533 while (readl(port->membase + UART_FR) & FR_BUSY);
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index f0658d2c45b2..5c0f32c7fbf6 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -250,8 +250,7 @@ static inline void h8300_sci_disable(struct uart_port *port)
250} 250}
251#endif 251#endif
252 252
253#if defined(SCI_ONLY) || defined(SCI_AND_SCIF) && \ 253#if defined(__H8300H__) || defined(__H8300S__)
254 defined(__H8300H__) || defined(__H8300S__)
255static void sci_init_pins_sci(struct uart_port* port, unsigned int cflag) 254static void sci_init_pins_sci(struct uart_port* port, unsigned int cflag)
256{ 255{
257 int ch = (port->mapbase - SMR0) >> 3; 256 int ch = (port->mapbase - SMR0) >> 3;
@@ -285,11 +284,6 @@ static void sci_init_pins_irda(struct uart_port *port, unsigned int cflag)
285#define sci_init_pins_irda NULL 284#define sci_init_pins_irda NULL
286#endif 285#endif
287 286
288#ifdef SCI_ONLY
289#define sci_init_pins_scif NULL
290#endif
291
292#if defined(SCIF_ONLY) || defined(SCI_AND_SCIF)
293#if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) 287#if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
294static void sci_init_pins_scif(struct uart_port* port, unsigned int cflag) 288static void sci_init_pins_scif(struct uart_port* port, unsigned int cflag)
295{ 289{
@@ -449,7 +443,6 @@ static inline int scif_rxroom(struct uart_port *port)
449 return sci_in(port, SCFDR) & SCIF_RFDC_MASK; 443 return sci_in(port, SCFDR) & SCIF_RFDC_MASK;
450} 444}
451#endif 445#endif
452#endif /* SCIF_ONLY || SCI_AND_SCIF */
453 446
454static inline int sci_txroom(struct uart_port *port) 447static inline int sci_txroom(struct uart_port *port)
455{ 448{
@@ -485,11 +478,9 @@ static void sci_transmit_chars(struct uart_port *port)
485 return; 478 return;
486 } 479 }
487 480
488#ifndef SCI_ONLY
489 if (port->type == PORT_SCIF) 481 if (port->type == PORT_SCIF)
490 count = scif_txroom(port); 482 count = scif_txroom(port);
491 else 483 else
492#endif
493 count = sci_txroom(port); 484 count = sci_txroom(port);
494 485
495 do { 486 do {
@@ -519,12 +510,10 @@ static void sci_transmit_chars(struct uart_port *port)
519 } else { 510 } else {
520 ctrl = sci_in(port, SCSCR); 511 ctrl = sci_in(port, SCSCR);
521 512
522#if !defined(SCI_ONLY)
523 if (port->type == PORT_SCIF) { 513 if (port->type == PORT_SCIF) {
524 sci_in(port, SCxSR); /* Dummy read */ 514 sci_in(port, SCxSR); /* Dummy read */
525 sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port)); 515 sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port));
526 } 516 }
527#endif
528 517
529 ctrl |= SCI_CTRL_FLAGS_TIE; 518 ctrl |= SCI_CTRL_FLAGS_TIE;
530 sci_out(port, SCSCR, ctrl); 519 sci_out(port, SCSCR, ctrl);
@@ -547,11 +536,9 @@ static inline void sci_receive_chars(struct uart_port *port)
547 return; 536 return;
548 537
549 while (1) { 538 while (1) {
550#if !defined(SCI_ONLY)
551 if (port->type == PORT_SCIF) 539 if (port->type == PORT_SCIF)
552 count = scif_rxroom(port); 540 count = scif_rxroom(port);
553 else 541 else
554#endif
555 count = sci_rxroom(port); 542 count = sci_rxroom(port);
556 543
557 /* Don't copy more bytes than there is room for in the buffer */ 544 /* Don't copy more bytes than there is room for in the buffer */
@@ -810,26 +797,27 @@ static irqreturn_t sci_br_interrupt(int irq, void *ptr)
810 797
811static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr) 798static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr)
812{ 799{
813 unsigned short ssr_status, scr_status; 800 unsigned short ssr_status, scr_status;
814 struct uart_port *port = ptr; 801 struct uart_port *port = ptr;
802 irqreturn_t ret = IRQ_NONE;
815 803
816 ssr_status = sci_in(port,SCxSR); 804 ssr_status = sci_in(port,SCxSR);
817 scr_status = sci_in(port,SCSCR); 805 scr_status = sci_in(port,SCSCR);
818 806
819 /* Tx Interrupt */ 807 /* Tx Interrupt */
820 if ((ssr_status & 0x0020) && (scr_status & 0x0080)) 808 if ((ssr_status & 0x0020) && (scr_status & SCI_CTRL_FLAGS_TIE))
821 sci_tx_interrupt(irq, ptr); 809 ret = sci_tx_interrupt(irq, ptr);
822 /* Rx Interrupt */ 810 /* Rx Interrupt */
823 if ((ssr_status & 0x0002) && (scr_status & 0x0040)) 811 if ((ssr_status & 0x0002) && (scr_status & SCI_CTRL_FLAGS_RIE))
824 sci_rx_interrupt(irq, ptr); 812 ret = sci_rx_interrupt(irq, ptr);
825 /* Error Interrupt */ 813 /* Error Interrupt */
826 if ((ssr_status & 0x0080) && (scr_status & 0x0400)) 814 if ((ssr_status & 0x0080) && (scr_status & SCI_CTRL_FLAGS_REIE))
827 sci_er_interrupt(irq, ptr); 815 ret = sci_er_interrupt(irq, ptr);
828 /* Break Interrupt */ 816 /* Break Interrupt */
829 if ((ssr_status & 0x0010) && (scr_status & 0x0200)) 817 if ((ssr_status & 0x0010) && (scr_status & SCI_CTRL_FLAGS_REIE))
830 sci_br_interrupt(irq, ptr); 818 ret = sci_br_interrupt(irq, ptr);
831 819
832 return IRQ_HANDLED; 820 return ret;
833} 821}
834 822
835#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_HAVE_CLK) 823#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_HAVE_CLK)
@@ -1054,10 +1042,8 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios,
1054 1042
1055 sci_out(port, SCSCR, 0x00); /* TE=0, RE=0, CKE1=0 */ 1043 sci_out(port, SCSCR, 0x00); /* TE=0, RE=0, CKE1=0 */
1056 1044
1057#if !defined(SCI_ONLY)
1058 if (port->type == PORT_SCIF) 1045 if (port->type == PORT_SCIF)
1059 sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); 1046 sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST);
1060#endif
1061 1047
1062 smr_val = sci_in(port, SCSMR) & 3; 1048 smr_val = sci_in(port, SCSMR) & 3;
1063 if ((termios->c_cflag & CSIZE) == CS7) 1049 if ((termios->c_cflag & CSIZE) == CS7)
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h
index 7cd28b226800..6163a45f968f 100644
--- a/drivers/serial/sh-sci.h
+++ b/drivers/serial/sh-sci.h
@@ -16,7 +16,6 @@
16# define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */ 16# define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */
17# define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */ 17# define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */
18# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ 18# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */
19# define SCI_AND_SCIF
20#elif defined(CONFIG_CPU_SUBTYPE_SH7705) 19#elif defined(CONFIG_CPU_SUBTYPE_SH7705)
21# define SCIF0 0xA4400000 20# define SCIF0 0xA4400000
22# define SCIF2 0xA4410000 21# define SCIF2 0xA4410000
@@ -30,17 +29,15 @@
30 * SCIF0 (0xA4400000) -> Internal clock, SCK pin as serial clock output 29 * SCIF0 (0xA4400000) -> Internal clock, SCK pin as serial clock output
31 */ 30 */
32# define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0 31# define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0
33# define SCIF_ONLY
34#elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \ 32#elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \
35 defined(CONFIG_CPU_SUBTYPE_SH7721) 33 defined(CONFIG_CPU_SUBTYPE_SH7721)
36# define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ 34# define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */
37# define SCIF_ONLY
38#define SCIF_ORER 0x0200 /* overrun error bit */ 35#define SCIF_ORER 0x0200 /* overrun error bit */
39#elif defined(CONFIG_SH_RTS7751R2D) 36#elif defined(CONFIG_SH_RTS7751R2D)
37# define SCSPTR1 0xFFE0001C /* 8 bit SCIF */
40# define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ 38# define SCSPTR2 0xFFE80020 /* 16 bit SCIF */
41# define SCIF_ORER 0x0001 /* overrun error bit */ 39# define SCIF_ORER 0x0001 /* overrun error bit */
42# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 40# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
43# define SCIF_ONLY
44#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ 41#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \
45 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ 42 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
46 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ 43 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
@@ -53,28 +50,24 @@
53# define SCSCR_INIT(port) (((port)->type == PORT_SCI) ? \ 50# define SCSCR_INIT(port) (((port)->type == PORT_SCI) ? \
54 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \ 51 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \
55 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ ) 52 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ )
56# define SCI_AND_SCIF
57#elif defined(CONFIG_CPU_SUBTYPE_SH7760) 53#elif defined(CONFIG_CPU_SUBTYPE_SH7760)
58# define SCSPTR0 0xfe600024 /* 16 bit SCIF */ 54# define SCSPTR0 0xfe600024 /* 16 bit SCIF */
59# define SCSPTR1 0xfe610024 /* 16 bit SCIF */ 55# define SCSPTR1 0xfe610024 /* 16 bit SCIF */
60# define SCSPTR2 0xfe620024 /* 16 bit SCIF */ 56# define SCSPTR2 0xfe620024 /* 16 bit SCIF */
61# define SCIF_ORER 0x0001 /* overrun error bit */ 57# define SCIF_ORER 0x0001 /* overrun error bit */
62# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 58# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
63# define SCIF_ONLY
64#elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) 59#elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
65# define SCSPTR0 0xA4400000 /* 16 bit SCIF */ 60# define SCSPTR0 0xA4400000 /* 16 bit SCIF */
66# define SCIF_ORER 0x0001 /* overrun error bit */ 61# define SCIF_ORER 0x0001 /* overrun error bit */
67# define PACR 0xa4050100 62# define PACR 0xa4050100
68# define PBCR 0xa4050102 63# define PBCR 0xa4050102
69# define SCSCR_INIT(port) 0x3B 64# define SCSCR_INIT(port) 0x3B
70# define SCIF_ONLY
71#elif defined(CONFIG_CPU_SUBTYPE_SH7343) 65#elif defined(CONFIG_CPU_SUBTYPE_SH7343)
72# define SCSPTR0 0xffe00010 /* 16 bit SCIF */ 66# define SCSPTR0 0xffe00010 /* 16 bit SCIF */
73# define SCSPTR1 0xffe10010 /* 16 bit SCIF */ 67# define SCSPTR1 0xffe10010 /* 16 bit SCIF */
74# define SCSPTR2 0xffe20010 /* 16 bit SCIF */ 68# define SCSPTR2 0xffe20010 /* 16 bit SCIF */
75# define SCSPTR3 0xffe30010 /* 16 bit SCIF */ 69# define SCSPTR3 0xffe30010 /* 16 bit SCIF */
76# define SCSCR_INIT(port) 0x32 /* TIE=0,RIE=0,TE=1,RE=1,REIE=0,CKE=1 */ 70# define SCSCR_INIT(port) 0x32 /* TIE=0,RIE=0,TE=1,RE=1,REIE=0,CKE=1 */
77# define SCIF_ONLY
78#elif defined(CONFIG_CPU_SUBTYPE_SH7722) 71#elif defined(CONFIG_CPU_SUBTYPE_SH7722)
79# define PADR 0xA4050120 72# define PADR 0xA4050120
80# define PSDR 0xA405013e 73# define PSDR 0xA405013e
@@ -82,7 +75,6 @@
82# define PSCR 0xA405011E 75# define PSCR 0xA405011E
83# define SCIF_ORER 0x0001 /* overrun error bit */ 76# define SCIF_ORER 0x0001 /* overrun error bit */
84# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 77# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
85# define SCIF_ONLY
86#elif defined(CONFIG_CPU_SUBTYPE_SH7366) 78#elif defined(CONFIG_CPU_SUBTYPE_SH7366)
87# define SCPDR0 0xA405013E /* 16 bit SCIF0 PSDR */ 79# define SCPDR0 0xA405013E /* 16 bit SCIF0 PSDR */
88# define SCSPTR0 SCPDR0 80# define SCSPTR0 SCPDR0
@@ -97,12 +89,10 @@
97# define SCSPTR5 0xa4050128 89# define SCSPTR5 0xa4050128
98# define SCIF_ORER 0x0001 /* overrun error bit */ 90# define SCIF_ORER 0x0001 /* overrun error bit */
99# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 91# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
100# define SCIF_ONLY
101#elif defined(CONFIG_CPU_SUBTYPE_SH4_202) 92#elif defined(CONFIG_CPU_SUBTYPE_SH4_202)
102# define SCSPTR2 0xffe80020 /* 16 bit SCIF */ 93# define SCSPTR2 0xffe80020 /* 16 bit SCIF */
103# define SCIF_ORER 0x0001 /* overrun error bit */ 94# define SCIF_ORER 0x0001 /* overrun error bit */
104# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 95# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
105# define SCIF_ONLY
106#elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) 96#elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103)
107# define SCIF_BASE_ADDR 0x01030000 97# define SCIF_BASE_ADDR 0x01030000
108# define SCIF_ADDR_SH5 PHYS_PERIPHERAL_BLOCK+SCIF_BASE_ADDR 98# define SCIF_ADDR_SH5 PHYS_PERIPHERAL_BLOCK+SCIF_BASE_ADDR
@@ -111,14 +101,11 @@
111# define SCSPTR2 ((port->mapbase)+SCIF_PTR2_OFFS) /* 16 bit SCIF */ 101# define SCSPTR2 ((port->mapbase)+SCIF_PTR2_OFFS) /* 16 bit SCIF */
112# define SCLSR2 ((port->mapbase)+SCIF_LSR2_OFFS) /* 16 bit SCIF */ 102# define SCLSR2 ((port->mapbase)+SCIF_LSR2_OFFS) /* 16 bit SCIF */
113# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0, TE=1,RE=1,REIE=1 */ 103# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0, TE=1,RE=1,REIE=1 */
114# define SCIF_ONLY
115#elif defined(CONFIG_H83007) || defined(CONFIG_H83068) 104#elif defined(CONFIG_H83007) || defined(CONFIG_H83068)
116# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ 105# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */
117# define SCI_ONLY
118# define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) 106# define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port)
119#elif defined(CONFIG_H8S2678) 107#elif defined(CONFIG_H8S2678)
120# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ 108# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */
121# define SCI_ONLY
122# define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) 109# define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port)
123#elif defined(CONFIG_CPU_SUBTYPE_SH7763) 110#elif defined(CONFIG_CPU_SUBTYPE_SH7763)
124# define SCSPTR0 0xffe00024 /* 16 bit SCIF */ 111# define SCSPTR0 0xffe00024 /* 16 bit SCIF */
@@ -126,20 +113,17 @@
126# define SCSPTR2 0xffe10020 /* 16 bit SCIF/IRDA */ 113# define SCSPTR2 0xffe10020 /* 16 bit SCIF/IRDA */
127# define SCIF_ORER 0x0001 /* overrun error bit */ 114# define SCIF_ORER 0x0001 /* overrun error bit */
128# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 115# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
129# define SCIF_ONLY
130#elif defined(CONFIG_CPU_SUBTYPE_SH7770) 116#elif defined(CONFIG_CPU_SUBTYPE_SH7770)
131# define SCSPTR0 0xff923020 /* 16 bit SCIF */ 117# define SCSPTR0 0xff923020 /* 16 bit SCIF */
132# define SCSPTR1 0xff924020 /* 16 bit SCIF */ 118# define SCSPTR1 0xff924020 /* 16 bit SCIF */
133# define SCSPTR2 0xff925020 /* 16 bit SCIF */ 119# define SCSPTR2 0xff925020 /* 16 bit SCIF */
134# define SCIF_ORER 0x0001 /* overrun error bit */ 120# define SCIF_ORER 0x0001 /* overrun error bit */
135# define SCSCR_INIT(port) 0x3c /* TIE=0,RIE=0,TE=1,RE=1,REIE=1,cke=2 */ 121# define SCSCR_INIT(port) 0x3c /* TIE=0,RIE=0,TE=1,RE=1,REIE=1,cke=2 */
136# define SCIF_ONLY
137#elif defined(CONFIG_CPU_SUBTYPE_SH7780) 122#elif defined(CONFIG_CPU_SUBTYPE_SH7780)
138# define SCSPTR0 0xffe00024 /* 16 bit SCIF */ 123# define SCSPTR0 0xffe00024 /* 16 bit SCIF */
139# define SCSPTR1 0xffe10024 /* 16 bit SCIF */ 124# define SCSPTR1 0xffe10024 /* 16 bit SCIF */
140# define SCIF_ORER 0x0001 /* Overrun error bit */ 125# define SCIF_ORER 0x0001 /* Overrun error bit */
141# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 126# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
142# define SCIF_ONLY
143#elif defined(CONFIG_CPU_SUBTYPE_SH7785) 127#elif defined(CONFIG_CPU_SUBTYPE_SH7785)
144# define SCSPTR0 0xffea0024 /* 16 bit SCIF */ 128# define SCSPTR0 0xffea0024 /* 16 bit SCIF */
145# define SCSPTR1 0xffeb0024 /* 16 bit SCIF */ 129# define SCSPTR1 0xffeb0024 /* 16 bit SCIF */
@@ -149,7 +133,6 @@
149# define SCSPTR5 0xffef0024 /* 16 bit SCIF */ 133# define SCSPTR5 0xffef0024 /* 16 bit SCIF */
150# define SCIF_OPER 0x0001 /* Overrun error bit */ 134# define SCIF_OPER 0x0001 /* Overrun error bit */
151# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 135# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
152# define SCIF_ONLY
153#elif defined(CONFIG_CPU_SUBTYPE_SH7203) || \ 136#elif defined(CONFIG_CPU_SUBTYPE_SH7203) || \
154 defined(CONFIG_CPU_SUBTYPE_SH7206) || \ 137 defined(CONFIG_CPU_SUBTYPE_SH7206) || \
155 defined(CONFIG_CPU_SUBTYPE_SH7263) 138 defined(CONFIG_CPU_SUBTYPE_SH7263)
@@ -158,14 +141,12 @@
158# define SCSPTR2 0xfffe9020 /* 16 bit SCIF */ 141# define SCSPTR2 0xfffe9020 /* 16 bit SCIF */
159# define SCSPTR3 0xfffe9820 /* 16 bit SCIF */ 142# define SCSPTR3 0xfffe9820 /* 16 bit SCIF */
160# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 143# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
161# define SCIF_ONLY
162#elif defined(CONFIG_CPU_SUBTYPE_SH7619) 144#elif defined(CONFIG_CPU_SUBTYPE_SH7619)
163# define SCSPTR0 0xf8400020 /* 16 bit SCIF */ 145# define SCSPTR0 0xf8400020 /* 16 bit SCIF */
164# define SCSPTR1 0xf8410020 /* 16 bit SCIF */ 146# define SCSPTR1 0xf8410020 /* 16 bit SCIF */
165# define SCSPTR2 0xf8420020 /* 16 bit SCIF */ 147# define SCSPTR2 0xf8420020 /* 16 bit SCIF */
166# define SCIF_ORER 0x0001 /* overrun error bit */ 148# define SCIF_ORER 0x0001 /* overrun error bit */
167# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 149# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
168# define SCIF_ONLY
169#elif defined(CONFIG_CPU_SUBTYPE_SHX3) 150#elif defined(CONFIG_CPU_SUBTYPE_SHX3)
170# define SCSPTR0 0xffc30020 /* 16 bit SCIF */ 151# define SCSPTR0 0xffc30020 /* 16 bit SCIF */
171# define SCSPTR1 0xffc40020 /* 16 bit SCIF */ 152# define SCSPTR1 0xffc40020 /* 16 bit SCIF */
@@ -173,7 +154,6 @@
173# define SCSPTR3 0xffc60020 /* 16 bit SCIF */ 154# define SCSPTR3 0xffc60020 /* 16 bit SCIF */
174# define SCIF_ORER 0x0001 /* Overrun error bit */ 155# define SCIF_ORER 0x0001 /* Overrun error bit */
175# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ 156# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
176# define SCIF_ONLY
177#else 157#else
178# error CPU subtype not defined 158# error CPU subtype not defined
179#endif 159#endif
@@ -186,6 +166,7 @@
186#if defined(CONFIG_CPU_SUBTYPE_SH7750) || \ 166#if defined(CONFIG_CPU_SUBTYPE_SH7750) || \
187 defined(CONFIG_CPU_SUBTYPE_SH7091) || \ 167 defined(CONFIG_CPU_SUBTYPE_SH7091) || \
188 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ 168 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
169 defined(CONFIG_CPU_SUBTYPE_SH7722) || \
189 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ 170 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
190 defined(CONFIG_CPU_SUBTYPE_SH7751) || \ 171 defined(CONFIG_CPU_SUBTYPE_SH7751) || \
191 defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ 172 defined(CONFIG_CPU_SUBTYPE_SH7751R) || \
@@ -244,55 +225,28 @@
244# define SCIF_TXROOM_MAX 16 225# define SCIF_TXROOM_MAX 16
245#endif 226#endif
246 227
247#if defined(SCI_ONLY) 228#define SCxSR_TEND(port) (((port)->type == PORT_SCI) ? SCI_TEND : SCIF_TEND)
248# define SCxSR_TEND(port) SCI_TEND 229#define SCxSR_ERRORS(port) (((port)->type == PORT_SCI) ? SCI_ERRORS : SCIF_ERRORS)
249# define SCxSR_ERRORS(port) SCI_ERRORS 230#define SCxSR_RDxF(port) (((port)->type == PORT_SCI) ? SCI_RDRF : SCIF_RDF)
250# define SCxSR_RDxF(port) SCI_RDRF 231#define SCxSR_TDxE(port) (((port)->type == PORT_SCI) ? SCI_TDRE : SCIF_TDFE)
251# define SCxSR_TDxE(port) SCI_TDRE 232#define SCxSR_FER(port) (((port)->type == PORT_SCI) ? SCI_FER : SCIF_FER)
252# define SCxSR_ORER(port) SCI_ORER 233#define SCxSR_PER(port) (((port)->type == PORT_SCI) ? SCI_PER : SCIF_PER)
253# define SCxSR_FER(port) SCI_FER 234#define SCxSR_BRK(port) (((port)->type == PORT_SCI) ? 0x00 : SCIF_BRK)
254# define SCxSR_PER(port) SCI_PER 235
255# define SCxSR_BRK(port) 0x00
256# define SCxSR_RDxF_CLEAR(port) 0xbc
257# define SCxSR_ERROR_CLEAR(port) 0xc4
258# define SCxSR_TDxE_CLEAR(port) 0x78
259# define SCxSR_BREAK_CLEAR(port) 0xc4
260#elif defined(SCIF_ONLY)
261# define SCxSR_TEND(port) SCIF_TEND
262# define SCxSR_ERRORS(port) SCIF_ERRORS
263# define SCxSR_RDxF(port) SCIF_RDF
264# define SCxSR_TDxE(port) SCIF_TDFE
265#if defined(CONFIG_CPU_SUBTYPE_SH7705) 236#if defined(CONFIG_CPU_SUBTYPE_SH7705)
266# define SCxSR_ORER(port) SCIF_ORER 237# define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : SCIF_ORER)
267#else 238#else
268# define SCxSR_ORER(port) 0x0000 239# define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : 0x0000)
269#endif 240#endif
270# define SCxSR_FER(port) SCIF_FER 241
271# define SCxSR_PER(port) SCIF_PER
272# define SCxSR_BRK(port) SCIF_BRK
273#if defined(CONFIG_CPU_SUBTYPE_SH7705) || \ 242#if defined(CONFIG_CPU_SUBTYPE_SH7705) || \
274 defined(CONFIG_CPU_SUBTYPE_SH7720) || \ 243 defined(CONFIG_CPU_SUBTYPE_SH7720) || \
275 defined(CONFIG_CPU_SUBTYPE_SH7721) 244 defined(CONFIG_CPU_SUBTYPE_SH7721)
276# define SCxSR_RDxF_CLEAR(port) (sci_in(port,SCxSR)&0xfffc) 245# define SCxSR_RDxF_CLEAR(port) (sci_in(port, SCxSR) & 0xfffc)
277# define SCxSR_ERROR_CLEAR(port) (sci_in(port,SCxSR)&0xfd73) 246# define SCxSR_ERROR_CLEAR(port) (sci_in(port, SCxSR) & 0xfd73)
278# define SCxSR_TDxE_CLEAR(port) (sci_in(port,SCxSR)&0xffdf) 247# define SCxSR_TDxE_CLEAR(port) (sci_in(port, SCxSR) & 0xffdf)
279# define SCxSR_BREAK_CLEAR(port) (sci_in(port,SCxSR)&0xffe3) 248# define SCxSR_BREAK_CLEAR(port) (sci_in(port, SCxSR) & 0xffe3)
280#else
281/* SH7705 can also use this, clearing is same between 7705 and 7709 */
282# define SCxSR_RDxF_CLEAR(port) 0x00fc
283# define SCxSR_ERROR_CLEAR(port) 0x0073
284# define SCxSR_TDxE_CLEAR(port) 0x00df
285# define SCxSR_BREAK_CLEAR(port) 0x00e3
286#endif
287#else 249#else
288# define SCxSR_TEND(port) (((port)->type == PORT_SCI) ? SCI_TEND : SCIF_TEND)
289# define SCxSR_ERRORS(port) (((port)->type == PORT_SCI) ? SCI_ERRORS : SCIF_ERRORS)
290# define SCxSR_RDxF(port) (((port)->type == PORT_SCI) ? SCI_RDRF : SCIF_RDF)
291# define SCxSR_TDxE(port) (((port)->type == PORT_SCI) ? SCI_TDRE : SCIF_TDFE)
292# define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : 0x0000)
293# define SCxSR_FER(port) (((port)->type == PORT_SCI) ? SCI_FER : SCIF_FER)
294# define SCxSR_PER(port) (((port)->type == PORT_SCI) ? SCI_PER : SCIF_PER)
295# define SCxSR_BRK(port) (((port)->type == PORT_SCI) ? 0x00 : SCIF_BRK)
296# define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc) 250# define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc)
297# define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073) 251# define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073)
298# define SCxSR_TDxE_CLEAR(port) (((port)->type == PORT_SCI) ? 0x78 : 0x00df) 252# define SCxSR_TDxE_CLEAR(port) (((port)->type == PORT_SCI) ? 0x78 : 0x00df)
@@ -574,18 +528,20 @@ static inline int sci_rxd_in(struct uart_port *port)
574 defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ 528 defined(CONFIG_CPU_SUBTYPE_SH7751R) || \
575 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ 529 defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
576 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ 530 defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
577 defined(CONFIG_CPU_SUBTYPE_SH7091) || \ 531 defined(CONFIG_CPU_SUBTYPE_SH7091)
578 defined(CONFIG_CPU_SUBTYPE_SH4_202)
579static inline int sci_rxd_in(struct uart_port *port) 532static inline int sci_rxd_in(struct uart_port *port)
580{ 533{
581#ifndef SCIF_ONLY
582 if (port->mapbase == 0xffe00000) 534 if (port->mapbase == 0xffe00000)
583 return ctrl_inb(SCSPTR1)&0x01 ? 1 : 0; /* SCI */ 535 return ctrl_inb(SCSPTR1)&0x01 ? 1 : 0; /* SCI */
584#endif
585#ifndef SCI_ONLY
586 if (port->mapbase == 0xffe80000) 536 if (port->mapbase == 0xffe80000)
587 return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */ 537 return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */
588#endif 538 return 1;
539}
540#elif defined(CONFIG_CPU_SUBTYPE_SH4_202)
541static inline int sci_rxd_in(struct uart_port *port)
542{
543 if (port->mapbase == 0xffe80000)
544 return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */
589 return 1; 545 return 1;
590} 546}
591#elif defined(CONFIG_CPU_SUBTYPE_SH7760) 547#elif defined(CONFIG_CPU_SUBTYPE_SH7760)
@@ -651,7 +607,7 @@ static inline int sci_rxd_in(struct uart_port *port)
651#elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) 607#elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103)
652static inline int sci_rxd_in(struct uart_port *port) 608static inline int sci_rxd_in(struct uart_port *port)
653{ 609{
654 return sci_in(port, SCSPTR)&0x0001 ? 1 : 0; /* SCIF */ 610 return sci_in(port, SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */
655} 611}
656#elif defined(__H8300H__) || defined(__H8300S__) 612#elif defined(__H8300H__) || defined(__H8300S__)
657static inline int sci_rxd_in(struct uart_port *port) 613static inline int sci_rxd_in(struct uart_port *port)
diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
index 307b1f62d949..b1b947edcf01 100644
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
@@ -1,10 +1,11 @@
1menu "Sonics Silicon Backplane"
2
3config SSB_POSSIBLE 1config SSB_POSSIBLE
4 bool 2 bool
5 depends on HAS_IOMEM && HAS_DMA 3 depends on HAS_IOMEM && HAS_DMA
6 default y 4 default y
7 5
6menu "Sonics Silicon Backplane"
7 depends on SSB_POSSIBLE
8
8config SSB 9config SSB
9 tristate "Sonics Silicon Backplane support" 10 tristate "Sonics Silicon Backplane support"
10 depends on SSB_POSSIBLE 11 depends on SSB_POSSIBLE
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index e1654f59eb70..c95b286a1239 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -21,7 +21,23 @@ menuconfig STAGING
21 21
22 If in doubt, say N here. 22 If in doubt, say N here.
23 23
24if STAGING 24
25config STAGING_EXCLUDE_BUILD
26 bool "Exclude Staging drivers from being built" if STAGING
27 default y
28 ---help---
29 Are you sure you really want to build the staging drivers?
30 They taint your kernel, don't live up to the normal Linux
31 kernel quality standards, are a bit crufty around the edges,
32 and might go off and kick your dog when you aren't paying
33 attention.
34
35 Say N here to be able to select and build the Staging drivers.
36 This option is primarily here to prevent them from being built
37 when selecting 'make allyesconfg' and 'make allmodconfig' so
38 don't be all that put off, your dog will be just fine.
39
40if !STAGING_EXCLUDE_BUILD
25 41
26source "drivers/staging/et131x/Kconfig" 42source "drivers/staging/et131x/Kconfig"
27 43
@@ -45,4 +61,4 @@ source "drivers/staging/at76_usb/Kconfig"
45 61
46source "drivers/staging/poch/Kconfig" 62source "drivers/staging/poch/Kconfig"
47 63
48endif # STAGING 64endif # !STAGING_EXCLUDE_BUILD
diff --git a/drivers/staging/echo/echo.c b/drivers/staging/echo/echo.c
index b8f2c5e9dee5..fd4007e329e7 100644
--- a/drivers/staging/echo/echo.c
+++ b/drivers/staging/echo/echo.c
@@ -106,7 +106,6 @@
106 106
107#include <linux/kernel.h> /* We're doing kernel work */ 107#include <linux/kernel.h> /* We're doing kernel work */
108#include <linux/module.h> 108#include <linux/module.h>
109#include <linux/kernel.h>
110#include <linux/slab.h> 109#include <linux/slab.h>
111 110
112#include "bit_operations.h" 111#include "bit_operations.h"
diff --git a/drivers/staging/me4000/me4000.c b/drivers/staging/me4000/me4000.c
index 0b33773bb4f6..0394e2709278 100644
--- a/drivers/staging/me4000/me4000.c
+++ b/drivers/staging/me4000/me4000.c
@@ -39,7 +39,6 @@
39#include <asm/uaccess.h> 39#include <asm/uaccess.h>
40#include <asm/io.h> 40#include <asm/io.h>
41#include <asm/system.h> 41#include <asm/system.h>
42#include <asm/uaccess.h>
43 42
44/* Include-File for the Meilhaus ME-4000 I/O board */ 43/* Include-File for the Meilhaus ME-4000 I/O board */
45#include "me4000.h" 44#include "me4000.h"
@@ -1633,9 +1632,6 @@ static int me4000_release(struct inode *inode_p, struct file *file_p)
1633 1632
1634 free_irq(ext_int_context->irq, ext_int_context); 1633 free_irq(ext_int_context->irq, ext_int_context);
1635 1634
1636 /* Delete the fasync structure and free memory */
1637 me4000_ext_int_fasync(0, file_p, 0);
1638
1639 /* Mark as unused */ 1635 /* Mark as unused */
1640 ext_int_context->in_use = 0; 1636 ext_int_context->in_use = 0;
1641 } else { 1637 } else {
diff --git a/drivers/staging/usbip/Kconfig b/drivers/staging/usbip/Kconfig
index 7426235ccc44..217fb7e62c2f 100644
--- a/drivers/staging/usbip/Kconfig
+++ b/drivers/staging/usbip/Kconfig
@@ -1,6 +1,6 @@
1config USB_IP_COMMON 1config USB_IP_COMMON
2 tristate "USB IP support (EXPERIMENTAL)" 2 tristate "USB IP support (EXPERIMENTAL)"
3 depends on USB && EXPERIMENTAL 3 depends on USB && NET && EXPERIMENTAL
4 default N 4 default N
5 ---help--- 5 ---help---
6 This enables pushing USB packets over IP to allow remote 6 This enables pushing USB packets over IP to allow remote
diff --git a/drivers/telephony/ixj.c b/drivers/telephony/ixj.c
index 41b6530b8f25..a913efc69669 100644
--- a/drivers/telephony/ixj.c
+++ b/drivers/telephony/ixj.c
@@ -2328,7 +2328,6 @@ static int ixj_release(struct inode *inode, struct file *file_p)
2328 j->rec_codec = j->play_codec = 0; 2328 j->rec_codec = j->play_codec = 0;
2329 j->rec_frame_size = j->play_frame_size = 0; 2329 j->rec_frame_size = j->play_frame_size = 0;
2330 j->flags.cidsent = j->flags.cidring = 0; 2330 j->flags.cidsent = j->flags.cidring = 0;
2331 ixj_fasync(-1, file_p, 0); /* remove from list of async notification */
2332 2331
2333 if(j->cardtype == QTI_LINEJACK && !j->readers && !j->writers) { 2332 if(j->cardtype == QTI_LINEJACK && !j->readers && !j->writers) {
2334 ixj_set_port(j, PORT_PSTN); 2333 ixj_set_port(j, PORT_PSTN);
diff --git a/drivers/telephony/phonedev.c b/drivers/telephony/phonedev.c
index 37caf4d69037..b52cc830c0b4 100644
--- a/drivers/telephony/phonedev.c
+++ b/drivers/telephony/phonedev.c
@@ -8,7 +8,7 @@
8 * as published by the Free Software Foundation; either version 8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version. 9 * 2 of the License, or (at your option) any later version.
10 * 10 *
11 * Author: Alan Cox, <alan@redhat.com> 11 * Author: Alan Cox, <alan@lxorguk.ukuu.org.uk>
12 * 12 *
13 * Fixes: Mar 01 2000 Thomas Sparr, <thomas.l.sparr@telia.com> 13 * Fixes: Mar 01 2000 Thomas Sparr, <thomas.l.sparr@telia.com>
14 * phone_register_device now works with unit!=PHONE_UNIT_ANY 14 * phone_register_device now works with unit!=PHONE_UNIT_ANY
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index f9b4647255aa..2d2440cd57a9 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -367,9 +367,6 @@ static int uio_release(struct inode *inode, struct file *filep)
367 ret = idev->info->release(idev->info, inode); 367 ret = idev->info->release(idev->info, inode);
368 368
369 module_put(idev->owner); 369 module_put(idev->owner);
370
371 if (filep->f_flags & FASYNC)
372 ret = uio_fasync(-1, filep, 0);
373 kfree(listener); 370 kfree(listener);
374 return ret; 371 return ret;
375} 372}
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index 543811f6e6e8..8e74657f106c 100644
--- a/drivers/usb/class/usbtmc.c
+++ b/drivers/usb/class/usbtmc.c
@@ -133,7 +133,7 @@ static int usbtmc_release(struct inode *inode, struct file *file)
133 133
134static int usbtmc_ioctl_abort_bulk_in(struct usbtmc_device_data *data) 134static int usbtmc_ioctl_abort_bulk_in(struct usbtmc_device_data *data)
135{ 135{
136 char *buffer; 136 u8 *buffer;
137 struct device *dev; 137 struct device *dev;
138 int rv; 138 int rv;
139 int n; 139 int n;
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index fc9018e72a09..e1b42626d04d 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -106,6 +106,9 @@ static DEFINE_SPINLOCK(hcd_root_hub_lock);
106/* used when updating an endpoint's URB list */ 106/* used when updating an endpoint's URB list */
107static DEFINE_SPINLOCK(hcd_urb_list_lock); 107static DEFINE_SPINLOCK(hcd_urb_list_lock);
108 108
109/* used to protect against unlinking URBs after the device is gone */
110static DEFINE_SPINLOCK(hcd_urb_unlink_lock);
111
109/* wait queue for synchronous unlinks */ 112/* wait queue for synchronous unlinks */
110DECLARE_WAIT_QUEUE_HEAD(usb_kill_urb_queue); 113DECLARE_WAIT_QUEUE_HEAD(usb_kill_urb_queue);
111 114
@@ -1376,10 +1379,25 @@ static int unlink1(struct usb_hcd *hcd, struct urb *urb, int status)
1376int usb_hcd_unlink_urb (struct urb *urb, int status) 1379int usb_hcd_unlink_urb (struct urb *urb, int status)
1377{ 1380{
1378 struct usb_hcd *hcd; 1381 struct usb_hcd *hcd;
1379 int retval; 1382 int retval = -EIDRM;
1383 unsigned long flags;
1380 1384
1381 hcd = bus_to_hcd(urb->dev->bus); 1385 /* Prevent the device and bus from going away while
1382 retval = unlink1(hcd, urb, status); 1386 * the unlink is carried out. If they are already gone
1387 * then urb->use_count must be 0, since disconnected
1388 * devices can't have any active URBs.
1389 */
1390 spin_lock_irqsave(&hcd_urb_unlink_lock, flags);
1391 if (atomic_read(&urb->use_count) > 0) {
1392 retval = 0;
1393 usb_get_dev(urb->dev);
1394 }
1395 spin_unlock_irqrestore(&hcd_urb_unlink_lock, flags);
1396 if (retval == 0) {
1397 hcd = bus_to_hcd(urb->dev->bus);
1398 retval = unlink1(hcd, urb, status);
1399 usb_put_dev(urb->dev);
1400 }
1383 1401
1384 if (retval == 0) 1402 if (retval == 0)
1385 retval = -EINPROGRESS; 1403 retval = -EINPROGRESS;
@@ -1528,6 +1546,17 @@ void usb_hcd_disable_endpoint(struct usb_device *udev,
1528 hcd->driver->endpoint_disable(hcd, ep); 1546 hcd->driver->endpoint_disable(hcd, ep);
1529} 1547}
1530 1548
1549/* Protect against drivers that try to unlink URBs after the device
1550 * is gone, by waiting until all unlinks for @udev are finished.
1551 * Since we don't currently track URBs by device, simply wait until
1552 * nothing is running in the locked region of usb_hcd_unlink_urb().
1553 */
1554void usb_hcd_synchronize_unlinks(struct usb_device *udev)
1555{
1556 spin_lock_irq(&hcd_urb_unlink_lock);
1557 spin_unlock_irq(&hcd_urb_unlink_lock);
1558}
1559
1531/*-------------------------------------------------------------------------*/ 1560/*-------------------------------------------------------------------------*/
1532 1561
1533/* called in any context */ 1562/* called in any context */
diff --git a/drivers/usb/core/hcd.h b/drivers/usb/core/hcd.h
index 2dcde61c465e..9465e70f4dd0 100644
--- a/drivers/usb/core/hcd.h
+++ b/drivers/usb/core/hcd.h
@@ -232,6 +232,7 @@ extern void usb_hcd_flush_endpoint(struct usb_device *udev,
232 struct usb_host_endpoint *ep); 232 struct usb_host_endpoint *ep);
233extern void usb_hcd_disable_endpoint(struct usb_device *udev, 233extern void usb_hcd_disable_endpoint(struct usb_device *udev,
234 struct usb_host_endpoint *ep); 234 struct usb_host_endpoint *ep);
235extern void usb_hcd_synchronize_unlinks(struct usb_device *udev);
235extern int usb_hcd_get_frame_number(struct usb_device *udev); 236extern int usb_hcd_get_frame_number(struct usb_device *udev);
236 237
237extern struct usb_hcd *usb_create_hcd(const struct hc_driver *driver, 238extern struct usb_hcd *usb_create_hcd(const struct hc_driver *driver,
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 9b3f16bd12cb..b19cbfcd51da 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -659,6 +659,9 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
659 PREPARE_DELAYED_WORK(&hub->init_work, hub_init_func2); 659 PREPARE_DELAYED_WORK(&hub->init_work, hub_init_func2);
660 schedule_delayed_work(&hub->init_work, 660 schedule_delayed_work(&hub->init_work,
661 msecs_to_jiffies(delay)); 661 msecs_to_jiffies(delay));
662
663 /* Suppress autosuspend until init is done */
664 to_usb_interface(hub->intfdev)->pm_usage_cnt = 1;
662 return; /* Continues at init2: below */ 665 return; /* Continues at init2: below */
663 } else { 666 } else {
664 hub_power_on(hub, true); 667 hub_power_on(hub, true);
@@ -1429,6 +1432,7 @@ void usb_disconnect(struct usb_device **pdev)
1429 */ 1432 */
1430 dev_dbg (&udev->dev, "unregistering device\n"); 1433 dev_dbg (&udev->dev, "unregistering device\n");
1431 usb_disable_device(udev, 0); 1434 usb_disable_device(udev, 0);
1435 usb_hcd_synchronize_unlinks(udev);
1432 1436
1433 usb_unlock_device(udev); 1437 usb_unlock_device(udev);
1434 1438
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
index f2638009a464..4342bd9c3bb6 100644
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
@@ -474,6 +474,12 @@ EXPORT_SYMBOL_GPL(usb_submit_urb);
474 * indicating that the request has been canceled (rather than any other 474 * indicating that the request has been canceled (rather than any other
475 * code). 475 * code).
476 * 476 *
477 * Drivers should not call this routine or related routines, such as
478 * usb_kill_urb() or usb_unlink_anchored_urbs(), after their disconnect
479 * method has returned. The disconnect function should synchronize with
480 * a driver's I/O routines to insure that all URB-related activity has
481 * completed before it returns.
482 *
477 * This request is always asynchronous. Success is indicated by 483 * This request is always asynchronous. Success is indicated by
478 * returning -EINPROGRESS, at which time the URB will probably not yet 484 * returning -EINPROGRESS, at which time the URB will probably not yet
479 * have been given back to the device driver. When it is eventually 485 * have been given back to the device driver. When it is eventually
@@ -550,6 +556,9 @@ EXPORT_SYMBOL_GPL(usb_unlink_urb);
550 * This routine may not be used in an interrupt context (such as a bottom 556 * This routine may not be used in an interrupt context (such as a bottom
551 * half or a completion handler), or when holding a spinlock, or in other 557 * half or a completion handler), or when holding a spinlock, or in other
552 * situations where the caller can't schedule(). 558 * situations where the caller can't schedule().
559 *
560 * This routine should not be called by a driver after its disconnect
561 * method has returned.
553 */ 562 */
554void usb_kill_urb(struct urb *urb) 563void usb_kill_urb(struct urb *urb)
555{ 564{
@@ -588,6 +597,9 @@ EXPORT_SYMBOL_GPL(usb_kill_urb);
588 * This routine may not be used in an interrupt context (such as a bottom 597 * This routine may not be used in an interrupt context (such as a bottom
589 * half or a completion handler), or when holding a spinlock, or in other 598 * half or a completion handler), or when holding a spinlock, or in other
590 * situations where the caller can't schedule(). 599 * situations where the caller can't schedule().
600 *
601 * This routine should not be called by a driver after its disconnect
602 * method has returned.
591 */ 603 */
592void usb_poison_urb(struct urb *urb) 604void usb_poison_urb(struct urb *urb)
593{ 605{
@@ -622,6 +634,9 @@ EXPORT_SYMBOL_GPL(usb_unpoison_urb);
622 * 634 *
623 * this allows all outstanding URBs to be killed starting 635 * this allows all outstanding URBs to be killed starting
624 * from the back of the queue 636 * from the back of the queue
637 *
638 * This routine should not be called by a driver after its disconnect
639 * method has returned.
625 */ 640 */
626void usb_kill_anchored_urbs(struct usb_anchor *anchor) 641void usb_kill_anchored_urbs(struct usb_anchor *anchor)
627{ 642{
@@ -651,6 +666,9 @@ EXPORT_SYMBOL_GPL(usb_kill_anchored_urbs);
651 * this allows all outstanding URBs to be poisoned starting 666 * this allows all outstanding URBs to be poisoned starting
652 * from the back of the queue. Newly added URBs will also be 667 * from the back of the queue. Newly added URBs will also be
653 * poisoned 668 * poisoned
669 *
670 * This routine should not be called by a driver after its disconnect
671 * method has returned.
654 */ 672 */
655void usb_poison_anchored_urbs(struct usb_anchor *anchor) 673void usb_poison_anchored_urbs(struct usb_anchor *anchor)
656{ 674{
@@ -672,6 +690,7 @@ void usb_poison_anchored_urbs(struct usb_anchor *anchor)
672 spin_unlock_irq(&anchor->lock); 690 spin_unlock_irq(&anchor->lock);
673} 691}
674EXPORT_SYMBOL_GPL(usb_poison_anchored_urbs); 692EXPORT_SYMBOL_GPL(usb_poison_anchored_urbs);
693
675/** 694/**
676 * usb_unlink_anchored_urbs - asynchronously cancel transfer requests en masse 695 * usb_unlink_anchored_urbs - asynchronously cancel transfer requests en masse
677 * @anchor: anchor the requests are bound to 696 * @anchor: anchor the requests are bound to
@@ -680,6 +699,9 @@ EXPORT_SYMBOL_GPL(usb_poison_anchored_urbs);
680 * from the back of the queue. This function is asynchronous. 699 * from the back of the queue. This function is asynchronous.
681 * The unlinking is just tiggered. It may happen after this 700 * The unlinking is just tiggered. It may happen after this
682 * function has returned. 701 * function has returned.
702 *
703 * This routine should not be called by a driver after its disconnect
704 * method has returned.
683 */ 705 */
684void usb_unlink_anchored_urbs(struct usb_anchor *anchor) 706void usb_unlink_anchored_urbs(struct usb_anchor *anchor)
685{ 707{
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c
index f4585d3e90d7..eeb26c0f88e5 100644
--- a/drivers/usb/gadget/inode.c
+++ b/drivers/usb/gadget/inode.c
@@ -1251,7 +1251,6 @@ dev_release (struct inode *inode, struct file *fd)
1251 * alternatively, all host requests will time out. 1251 * alternatively, all host requests will time out.
1252 */ 1252 */
1253 1253
1254 fasync_helper (-1, fd, 0, &dev->fasync);
1255 kfree (dev->buf); 1254 kfree (dev->buf);
1256 dev->buf = NULL; 1255 dev->buf = NULL;
1257 put_dev (dev); 1256 put_dev (dev);
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index b679a556b98d..4e2cda93da59 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -26,7 +26,7 @@
26 * Introduced common header to be used also in USB Gadget Framework. 26 * Introduced common header to be used also in USB Gadget Framework.
27 * Still needs some other style fixes. 27 * Still needs some other style fixes.
28 * 28 *
29 * 2007_Jun_21 Alan Cox <alan@redhat.com> 29 * 2007_Jun_21 Alan Cox <alan@lxorguk.ukuu.org.uk>
30 * Minimal cleanups for some of the driver problens and tty layer abuse. 30 * Minimal cleanups for some of the driver problens and tty layer abuse.
31 * Still needs fixing to allow multiple dongles. 31 * Still needs fixing to allow multiple dongles.
32 * 32 *
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 8be3f39891c7..794b5ffe4397 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -281,6 +281,7 @@ static void serial_close(struct tty_struct *tty, struct file *filp)
281 if (tty->driver_data) 281 if (tty->driver_data)
282 tty->driver_data = NULL; 282 tty->driver_data = NULL;
283 tty_port_tty_set(&port->port, NULL); 283 tty_port_tty_set(&port->port, NULL);
284 tty_kref_put(tty);
284 } 285 }
285 } 286 }
286 287
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index a2b9ebbef38e..fb9e20e624c1 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -333,6 +333,13 @@ UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100,
333 "Finecam S5", 333 "Finecam S5",
334 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 334 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
335 335
336/* Patch submitted by Jens Taprogge <jens.taprogge@taprogge.org> */
337UNUSUAL_DEV( 0x0482, 0x0107, 0x0100, 0x0100,
338 "Kyocera",
339 "CONTAX SL300R T*",
340 US_SC_DEVICE, US_PR_DEVICE, NULL,
341 US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE),
342
336/* Reported by Paul Stewart <stewart@wetlogic.net> 343/* Reported by Paul Stewart <stewart@wetlogic.net>
337 * This entry is needed because the device reports Sub=ff */ 344 * This entry is needed because the device reports Sub=ff */
338UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, 345UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001,
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 0f13448c6f79..3f3ce13fef43 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -2083,6 +2083,38 @@ config FB_METRONOME
2083 controller. The pre-release name for this device was 8track 2083 controller. The pre-release name for this device was 8track
2084 and could also have been called by some vendors as PVI-nnnn. 2084 and could also have been called by some vendors as PVI-nnnn.
2085 2085
2086config FB_MB862XX
2087 tristate "Fujitsu MB862xx GDC support"
2088 depends on FB
2089 select FB_CFB_FILLRECT
2090 select FB_CFB_COPYAREA
2091 select FB_CFB_IMAGEBLIT
2092 ---help---
2093 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2094
2095config FB_MB862XX_PCI_GDC
2096 bool "Carmine/Coral-P(A) GDC"
2097 depends on PCI && FB_MB862XX
2098 ---help---
2099 This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2100 PCI graphics controller devices.
2101
2102config FB_MB862XX_LIME
2103 bool "Lime GDC"
2104 depends on FB_MB862XX
2105 depends on OF && !FB_MB862XX_PCI_GDC
2106 select FB_FOREIGN_ENDIAN
2107 select FB_LITTLE_ENDIAN
2108 ---help---
2109 Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2110
2111config FB_PRE_INIT_FB
2112 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2113 depends on FB_MB862XX_LIME
2114 ---help---
2115 Select this option if display contents should be inherited as set by
2116 the bootloader.
2117
2086source "drivers/video/omap/Kconfig" 2118source "drivers/video/omap/Kconfig"
2087 2119
2088source "drivers/video/backlight/Kconfig" 2120source "drivers/video/backlight/Kconfig"
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 248bddc8d0b0..e39e33e797da 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -122,6 +122,7 @@ obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
122obj-$(CONFIG_FB_OMAP) += omap/ 122obj-$(CONFIG_FB_OMAP) += omap/
123obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o 123obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
124obj-$(CONFIG_FB_CARMINE) += carminefb.o 124obj-$(CONFIG_FB_CARMINE) += carminefb.o
125obj-$(CONFIG_FB_MB862XX) += mb862xx/
125 126
126# Platform or fallback drivers go here 127# Platform or fallback drivers go here
127obj-$(CONFIG_FB_UVESA) += uvesafb.o 128obj-$(CONFIG_FB_UVESA) += uvesafb.o
diff --git a/drivers/video/backlight/corgi_lcd.c b/drivers/video/backlight/corgi_lcd.c
index 2afd47eefe74..f8a4bb20f41a 100644
--- a/drivers/video/backlight/corgi_lcd.c
+++ b/drivers/video/backlight/corgi_lcd.c
@@ -439,7 +439,7 @@ static int corgi_bl_update_status(struct backlight_device *bd)
439 return corgi_bl_set_intensity(lcd, intensity); 439 return corgi_bl_set_intensity(lcd, intensity);
440} 440}
441 441
442void corgibl_limit_intensity(int limit) 442void corgi_lcd_limit_intensity(int limit)
443{ 443{
444 if (limit) 444 if (limit)
445 corgibl_flags |= CORGIBL_BATTLOW; 445 corgibl_flags |= CORGIBL_BATTLOW;
@@ -448,7 +448,7 @@ void corgibl_limit_intensity(int limit)
448 448
449 backlight_update_status(the_corgi_lcd->bl_dev); 449 backlight_update_status(the_corgi_lcd->bl_dev);
450} 450}
451EXPORT_SYMBOL(corgibl_limit_intensity); 451EXPORT_SYMBOL(corgi_lcd_limit_intensity);
452 452
453static struct backlight_ops corgi_bl_ops = { 453static struct backlight_ops corgi_bl_ops = {
454 .get_brightness = corgi_bl_get_intensity, 454 .get_brightness = corgi_bl_get_intensity,
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index 048b139f0e50..8a8760230bc7 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -2049,7 +2049,7 @@ static void cirrusfb_pci_unmap(struct fb_info *info)
2049#endif /* CONFIG_PCI */ 2049#endif /* CONFIG_PCI */
2050 2050
2051#ifdef CONFIG_ZORRO 2051#ifdef CONFIG_ZORRO
2052static void __devexit cirrusfb_zorro_unmap(struct fb_info *info) 2052static void cirrusfb_zorro_unmap(struct fb_info *info)
2053{ 2053{
2054 struct cirrusfb_info *cinfo = info->par; 2054 struct cirrusfb_info *cinfo = info->par;
2055 struct zorro_dev *zdev = to_zorro_dev(info->device); 2055 struct zorro_dev *zdev = to_zorro_dev(info->device);
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 64b3d30027b8..b92947d62ad6 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -2118,7 +2118,7 @@ static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int s
2118 height, width); 2118 height, width);
2119} 2119}
2120 2120
2121static __inline__ void updatescrollmode(struct display *p, 2121static void updatescrollmode(struct display *p,
2122 struct fb_info *info, 2122 struct fb_info *info,
2123 struct vc_data *vc) 2123 struct vc_data *vc)
2124{ 2124{
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index cd5f20da738a..1d5ae39cb271 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1002,13 +1002,9 @@ fb_blank(struct fb_info *info, int blank)
1002 return ret; 1002 return ret;
1003} 1003}
1004 1004
1005static long 1005static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
1006fb_ioctl(struct file *file, unsigned int cmd, 1006 unsigned long arg)
1007 unsigned long arg)
1008{ 1007{
1009 struct inode *inode = file->f_path.dentry->d_inode;
1010 int fbidx = iminor(inode);
1011 struct fb_info *info;
1012 struct fb_ops *fb; 1008 struct fb_ops *fb;
1013 struct fb_var_screeninfo var; 1009 struct fb_var_screeninfo var;
1014 struct fb_fix_screeninfo fix; 1010 struct fb_fix_screeninfo fix;
@@ -1018,14 +1014,10 @@ fb_ioctl(struct file *file, unsigned int cmd,
1018 void __user *argp = (void __user *)arg; 1014 void __user *argp = (void __user *)arg;
1019 long ret = 0; 1015 long ret = 0;
1020 1016
1021 info = registered_fb[fbidx];
1022 mutex_lock(&info->lock);
1023 fb = info->fbops; 1017 fb = info->fbops;
1024 1018 if (!fb)
1025 if (!fb) {
1026 mutex_unlock(&info->lock);
1027 return -ENODEV; 1019 return -ENODEV;
1028 } 1020
1029 switch (cmd) { 1021 switch (cmd) {
1030 case FBIOGET_VSCREENINFO: 1022 case FBIOGET_VSCREENINFO:
1031 ret = copy_to_user(argp, &info->var, 1023 ret = copy_to_user(argp, &info->var,
@@ -1126,6 +1118,21 @@ fb_ioctl(struct file *file, unsigned int cmd,
1126 else 1118 else
1127 ret = fb->fb_ioctl(info, cmd, arg); 1119 ret = fb->fb_ioctl(info, cmd, arg);
1128 } 1120 }
1121 return ret;
1122}
1123
1124static long fb_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1125__acquires(&info->lock)
1126__releases(&info->lock)
1127{
1128 struct inode *inode = file->f_path.dentry->d_inode;
1129 int fbidx = iminor(inode);
1130 struct fb_info *info;
1131 long ret;
1132
1133 info = registered_fb[fbidx];
1134 mutex_lock(&info->lock);
1135 ret = do_fb_ioctl(info, cmd, arg);
1129 mutex_unlock(&info->lock); 1136 mutex_unlock(&info->lock);
1130 return ret; 1137 return ret;
1131} 1138}
@@ -1157,8 +1164,8 @@ struct fb_cmap32 {
1157 compat_caddr_t transp; 1164 compat_caddr_t transp;
1158}; 1165};
1159 1166
1160static int fb_getput_cmap(struct inode *inode, struct file *file, 1167static int fb_getput_cmap(struct fb_info *info, unsigned int cmd,
1161 unsigned int cmd, unsigned long arg) 1168 unsigned long arg)
1162{ 1169{
1163 struct fb_cmap_user __user *cmap; 1170 struct fb_cmap_user __user *cmap;
1164 struct fb_cmap32 __user *cmap32; 1171 struct fb_cmap32 __user *cmap32;
@@ -1181,7 +1188,7 @@ static int fb_getput_cmap(struct inode *inode, struct file *file,
1181 put_user(compat_ptr(data), &cmap->transp)) 1188 put_user(compat_ptr(data), &cmap->transp))
1182 return -EFAULT; 1189 return -EFAULT;
1183 1190
1184 err = fb_ioctl(file, cmd, (unsigned long) cmap); 1191 err = do_fb_ioctl(info, cmd, (unsigned long) cmap);
1185 1192
1186 if (!err) { 1193 if (!err) {
1187 if (copy_in_user(&cmap32->start, 1194 if (copy_in_user(&cmap32->start,
@@ -1223,8 +1230,8 @@ static int do_fscreeninfo_to_user(struct fb_fix_screeninfo *fix,
1223 return err; 1230 return err;
1224} 1231}
1225 1232
1226static int fb_get_fscreeninfo(struct inode *inode, struct file *file, 1233static int fb_get_fscreeninfo(struct fb_info *info, unsigned int cmd,
1227 unsigned int cmd, unsigned long arg) 1234 unsigned long arg)
1228{ 1235{
1229 mm_segment_t old_fs; 1236 mm_segment_t old_fs;
1230 struct fb_fix_screeninfo fix; 1237 struct fb_fix_screeninfo fix;
@@ -1235,7 +1242,7 @@ static int fb_get_fscreeninfo(struct inode *inode, struct file *file,
1235 1242
1236 old_fs = get_fs(); 1243 old_fs = get_fs();
1237 set_fs(KERNEL_DS); 1244 set_fs(KERNEL_DS);
1238 err = fb_ioctl(file, cmd, (unsigned long) &fix); 1245 err = do_fb_ioctl(info, cmd, (unsigned long) &fix);
1239 set_fs(old_fs); 1246 set_fs(old_fs);
1240 1247
1241 if (!err) 1248 if (!err)
@@ -1244,8 +1251,10 @@ static int fb_get_fscreeninfo(struct inode *inode, struct file *file,
1244 return err; 1251 return err;
1245} 1252}
1246 1253
1247static long 1254static long fb_compat_ioctl(struct file *file, unsigned int cmd,
1248fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 1255 unsigned long arg)
1256__acquires(&info->lock)
1257__releases(&info->lock)
1249{ 1258{
1250 struct inode *inode = file->f_path.dentry->d_inode; 1259 struct inode *inode = file->f_path.dentry->d_inode;
1251 int fbidx = iminor(inode); 1260 int fbidx = iminor(inode);
@@ -1262,16 +1271,16 @@ fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1262 case FBIOPUT_CON2FBMAP: 1271 case FBIOPUT_CON2FBMAP:
1263 arg = (unsigned long) compat_ptr(arg); 1272 arg = (unsigned long) compat_ptr(arg);
1264 case FBIOBLANK: 1273 case FBIOBLANK:
1265 ret = fb_ioctl(file, cmd, arg); 1274 ret = do_fb_ioctl(info, cmd, arg);
1266 break; 1275 break;
1267 1276
1268 case FBIOGET_FSCREENINFO: 1277 case FBIOGET_FSCREENINFO:
1269 ret = fb_get_fscreeninfo(inode, file, cmd, arg); 1278 ret = fb_get_fscreeninfo(info, cmd, arg);
1270 break; 1279 break;
1271 1280
1272 case FBIOGETCMAP: 1281 case FBIOGETCMAP:
1273 case FBIOPUTCMAP: 1282 case FBIOPUTCMAP:
1274 ret = fb_getput_cmap(inode, file, cmd, arg); 1283 ret = fb_getput_cmap(info, cmd, arg);
1275 break; 1284 break;
1276 1285
1277 default: 1286 default:
@@ -1286,6 +1295,8 @@ fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1286 1295
1287static int 1296static int
1288fb_mmap(struct file *file, struct vm_area_struct * vma) 1297fb_mmap(struct file *file, struct vm_area_struct * vma)
1298__acquires(&info->lock)
1299__releases(&info->lock)
1289{ 1300{
1290 int fbidx = iminor(file->f_path.dentry->d_inode); 1301 int fbidx = iminor(file->f_path.dentry->d_inode);
1291 struct fb_info *info = registered_fb[fbidx]; 1302 struct fb_info *info = registered_fb[fbidx];
@@ -1339,6 +1350,8 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
1339 1350
1340static int 1351static int
1341fb_open(struct inode *inode, struct file *file) 1352fb_open(struct inode *inode, struct file *file)
1353__acquires(&info->lock)
1354__releases(&info->lock)
1342{ 1355{
1343 int fbidx = iminor(inode); 1356 int fbidx = iminor(inode);
1344 struct fb_info *info; 1357 struct fb_info *info;
@@ -1374,6 +1387,8 @@ out:
1374 1387
1375static int 1388static int
1376fb_release(struct inode *inode, struct file *file) 1389fb_release(struct inode *inode, struct file *file)
1390__acquires(&info->lock)
1391__releases(&info->lock)
1377{ 1392{
1378 struct fb_info * const info = file->private_data; 1393 struct fb_info * const info = file->private_data;
1379 1394
diff --git a/drivers/video/mb862xx/Makefile b/drivers/video/mb862xx/Makefile
new file mode 100644
index 000000000000..07664814bb1d
--- /dev/null
+++ b/drivers/video/mb862xx/Makefile
@@ -0,0 +1,5 @@
1#
2# Makefile for the MB862xx framebuffer driver
3#
4
5obj-$(CONFIG_FB_MB862XX) := mb862xxfb.o
diff --git a/drivers/video/mb862xx/mb862xx_reg.h b/drivers/video/mb862xx/mb862xx_reg.h
new file mode 100644
index 000000000000..2ba65e118500
--- /dev/null
+++ b/drivers/video/mb862xx/mb862xx_reg.h
@@ -0,0 +1,138 @@
1/*
2 * Fujitsu MB862xx Graphics Controller Registers/Bits
3 */
4
5#ifndef _MB862XX_REG_H
6#define _MB862XX_REG_H
7
8#ifdef MB862XX_MMIO_BOTTOM
9#define MB862XX_MMIO_BASE 0x03fc0000
10#else
11#define MB862XX_MMIO_BASE 0x01fc0000
12#endif
13#define MB862XX_I2C_BASE 0x0000c000
14#define MB862XX_DISP_BASE 0x00010000
15#define MB862XX_CAP_BASE 0x00018000
16#define MB862XX_DRAW_BASE 0x00030000
17#define MB862XX_GEO_BASE 0x00038000
18#define MB862XX_PIO_BASE 0x00038000
19#define MB862XX_MMIO_SIZE 0x40000
20
21/* Host interface/pio registers */
22#define GC_IST 0x00000020
23#define GC_IMASK 0x00000024
24#define GC_SRST 0x0000002c
25#define GC_CCF 0x00000038
26#define GC_CID 0x000000f0
27#define GC_REVISION 0x00000084
28
29#define GC_CCF_CGE_100 0x00000000
30#define GC_CCF_CGE_133 0x00040000
31#define GC_CCF_CGE_166 0x00080000
32#define GC_CCF_COT_100 0x00000000
33#define GC_CCF_COT_133 0x00010000
34#define GC_CID_CNAME_MSK 0x0000ff00
35#define GC_CID_VERSION_MSK 0x000000ff
36
37/* define enabled interrupts hereby */
38#define GC_INT_EN 0x00000000
39
40/* Memory interface mode register */
41#define GC_MMR 0x0000fffc
42
43/* Display Controller registers */
44#define GC_DCM0 0x00000000
45#define GC_HTP 0x00000004
46#define GC_HDB_HDP 0x00000008
47#define GC_VSW_HSW_HSP 0x0000000c
48#define GC_VTR 0x00000010
49#define GC_VDP_VSP 0x00000014
50#define GC_WY_WX 0x00000018
51#define GC_WH_WW 0x0000001c
52#define GC_L0M 0x00000020
53#define GC_L0OA0 0x00000024
54#define GC_L0DA0 0x00000028
55#define GC_L0DY_L0DX 0x0000002c
56#define GC_DCM1 0x00000100
57#define GC_L0EM 0x00000110
58#define GC_L0WY_L0WX 0x00000114
59#define GC_L0WH_L0WW 0x00000118
60#define GC_DCM2 0x00000104
61#define GC_DCM3 0x00000108
62#define GC_CPM_CUTC 0x000000a0
63#define GC_CUOA0 0x000000a4
64#define GC_CUY0_CUX0 0x000000a8
65#define GC_CUOA1 0x000000ac
66#define GC_CUY1_CUX1 0x000000b0
67#define GC_L0PAL0 0x00000400
68
69#define GC_CPM_CEN0 0x00100000
70#define GC_CPM_CEN1 0x00200000
71
72#define GC_DCM01_ESY 0x00000004
73#define GC_DCM01_SC 0x00003f00
74#define GC_DCM01_RESV 0x00004000
75#define GC_DCM01_CKS 0x00008000
76#define GC_DCM01_L0E 0x00010000
77#define GC_DCM01_DEN 0x80000000
78#define GC_L0M_L0C_8 0x00000000
79#define GC_L0M_L0C_16 0x80000000
80#define GC_L0EM_L0EC_24 0x40000000
81#define GC_L0M_L0W_UNIT 64
82
83#define GC_DISP_REFCLK_400 400
84
85/* Carmine specific */
86#define MB86297_DRAW_BASE 0x00020000
87#define MB86297_DISP0_BASE 0x00100000
88#define MB86297_DISP1_BASE 0x00140000
89#define MB86297_WRBACK_BASE 0x00180000
90#define MB86297_CAP0_BASE 0x00200000
91#define MB86297_CAP1_BASE 0x00280000
92#define MB86297_DRAMCTRL_BASE 0x00300000
93#define MB86297_CTRL_BASE 0x00400000
94#define MB86297_I2C_BASE 0x00500000
95
96#define GC_CTRL_STATUS 0x00000000
97#define GC_CTRL_INT_MASK 0x00000004
98#define GC_CTRL_CLK_ENABLE 0x0000000c
99#define GC_CTRL_SOFT_RST 0x00000010
100
101#define GC_CTRL_CLK_EN_DRAM 0x00000001
102#define GC_CTRL_CLK_EN_2D3D 0x00000002
103#define GC_CTRL_CLK_EN_DISP0 0x00000020
104#define GC_CTRL_CLK_EN_DISP1 0x00000040
105
106#define GC_2D3D_REV 0x000004b4
107#define GC_RE_REVISION 0x24240200
108
109/* define enabled interrupts hereby */
110#define GC_CARMINE_INT_EN 0x00000004
111
112/* DRAM controller */
113#define GC_DCTL_MODE_ADD 0x00000000
114#define GC_DCTL_SETTIME1_EMODE 0x00000004
115#define GC_DCTL_REFRESH_SETTIME2 0x00000008
116#define GC_DCTL_RSV0_STATES 0x0000000C
117#define GC_DCTL_RSV2_RSV1 0x00000010
118#define GC_DCTL_DDRIF2_DDRIF1 0x00000014
119#define GC_DCTL_IOCONT1_IOCONT0 0x00000024
120
121#define GC_DCTL_STATES_MSK 0x0000000f
122#define GC_DCTL_INIT_WAIT_CNT 3000
123#define GC_DCTL_INIT_WAIT_INTERVAL 1
124
125/* DRAM ctrl values for Carmine PCI Eval. board */
126#define GC_EVB_DCTL_MODE_ADD 0x012105c3
127#define GC_EVB_DCTL_MODE_ADD_AFT_RST 0x002105c3
128#define GC_EVB_DCTL_SETTIME1_EMODE 0x47498000
129#define GC_EVB_DCTL_REFRESH_SETTIME2 0x00422a22
130#define GC_EVB_DCTL_RSV0_STATES 0x00200003
131#define GC_EVB_DCTL_RSV0_STATES_AFT_RST 0x00200002
132#define GC_EVB_DCTL_RSV2_RSV1 0x0000000f
133#define GC_EVB_DCTL_DDRIF2_DDRIF1 0x00556646
134#define GC_EVB_DCTL_IOCONT1_IOCONT0 0x05550555
135
136#define GC_DISP_REFCLK_533 533
137
138#endif
diff --git a/drivers/video/mb862xx/mb862xxfb.c b/drivers/video/mb862xx/mb862xxfb.c
new file mode 100644
index 000000000000..38718d95fbb9
--- /dev/null
+++ b/drivers/video/mb862xx/mb862xxfb.c
@@ -0,0 +1,1061 @@
1/*
2 * drivers/mb862xx/mb862xxfb.c
3 *
4 * Fujitsu Carmine/Coral-P(A)/Lime framebuffer driver
5 *
6 * (C) 2008 Anatolij Gustschin <agust@denx.de>
7 * DENX Software Engineering
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#undef DEBUG
16
17#include <linux/fb.h>
18#include <linux/delay.h>
19#include <linux/init.h>
20#include <linux/interrupt.h>
21#include <linux/pci.h>
22#if defined(CONFIG_PPC_OF)
23#include <linux/of_platform.h>
24#endif
25#include "mb862xxfb.h"
26#include "mb862xx_reg.h"
27
28#define NR_PALETTE 256
29#define MB862XX_MEM_SIZE 0x1000000
30#define CORALP_MEM_SIZE 0x4000000
31#define CARMINE_MEM_SIZE 0x8000000
32#define DRV_NAME "mb862xxfb"
33
34#if defined(CONFIG_LWMON5)
35static struct mb862xx_gc_mode lwmon5_gc_mode = {
36 /* Mode for Sharp LQ104V1DG61 TFT LCD Panel */
37 { "640x480", 60, 640, 480, 40000, 48, 16, 32, 11, 96, 2, 0, 0, 0 },
38 /* 16 bits/pixel, 32MB, 100MHz, SDRAM memory mode value */
39 16, 0x2000000, GC_CCF_COT_100, 0x414fb7f2
40};
41#endif
42
43#if defined(CONFIG_SOCRATES)
44static struct mb862xx_gc_mode socrates_gc_mode = {
45 /* Mode for Prime View PM070WL4 TFT LCD Panel */
46 { "800x480", 45, 800, 480, 40000, 86, 42, 33, 10, 128, 2, 0, 0, 0 },
47 /* 16 bits/pixel, 16MB, 133MHz, SDRAM memory mode value */
48 16, 0x1000000, GC_CCF_COT_133, 0x4157ba63
49};
50#endif
51
52/* Helpers */
53static inline int h_total(struct fb_var_screeninfo *var)
54{
55 return var->xres + var->left_margin +
56 var->right_margin + var->hsync_len;
57}
58
59static inline int v_total(struct fb_var_screeninfo *var)
60{
61 return var->yres + var->upper_margin +
62 var->lower_margin + var->vsync_len;
63}
64
65static inline int hsp(struct fb_var_screeninfo *var)
66{
67 return var->xres + var->right_margin - 1;
68}
69
70static inline int vsp(struct fb_var_screeninfo *var)
71{
72 return var->yres + var->lower_margin - 1;
73}
74
75static inline int d_pitch(struct fb_var_screeninfo *var)
76{
77 return var->xres * var->bits_per_pixel / 8;
78}
79
80static inline unsigned int chan_to_field(unsigned int chan,
81 struct fb_bitfield *bf)
82{
83 chan &= 0xffff;
84 chan >>= 16 - bf->length;
85 return chan << bf->offset;
86}
87
88static int mb862xxfb_setcolreg(unsigned regno,
89 unsigned red, unsigned green, unsigned blue,
90 unsigned transp, struct fb_info *info)
91{
92 struct mb862xxfb_par *par = info->par;
93 unsigned int val;
94
95 switch (info->fix.visual) {
96 case FB_VISUAL_TRUECOLOR:
97 if (regno < 16) {
98 val = chan_to_field(red, &info->var.red);
99 val |= chan_to_field(green, &info->var.green);
100 val |= chan_to_field(blue, &info->var.blue);
101 par->pseudo_palette[regno] = val;
102 }
103 break;
104 case FB_VISUAL_PSEUDOCOLOR:
105 if (regno < 256) {
106 val = (red >> 8) << 16;
107 val |= (green >> 8) << 8;
108 val |= blue >> 8;
109 outreg(disp, GC_L0PAL0 + (regno * 4), val);
110 }
111 break;
112 default:
113 return 1; /* unsupported type */
114 }
115 return 0;
116}
117
118static int mb862xxfb_check_var(struct fb_var_screeninfo *var,
119 struct fb_info *fbi)
120{
121 unsigned long tmp;
122
123 if (fbi->dev)
124 dev_dbg(fbi->dev, "%s\n", __func__);
125
126 /* check if these values fit into the registers */
127 if (var->hsync_len > 255 || var->vsync_len > 255)
128 return -EINVAL;
129
130 if ((var->xres + var->right_margin) >= 4096)
131 return -EINVAL;
132
133 if ((var->yres + var->lower_margin) > 4096)
134 return -EINVAL;
135
136 if (h_total(var) > 4096 || v_total(var) > 4096)
137 return -EINVAL;
138
139 if (var->xres_virtual > 4096 || var->yres_virtual > 4096)
140 return -EINVAL;
141
142 if (var->bits_per_pixel <= 8)
143 var->bits_per_pixel = 8;
144 else if (var->bits_per_pixel <= 16)
145 var->bits_per_pixel = 16;
146 else if (var->bits_per_pixel <= 32)
147 var->bits_per_pixel = 32;
148
149 /*
150 * can cope with 8,16 or 24/32bpp if resulting
151 * pitch is divisible by 64 without remainder
152 */
153 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) {
154 int r;
155
156 var->bits_per_pixel = 0;
157 do {
158 var->bits_per_pixel += 8;
159 r = d_pitch(&fbi->var) % GC_L0M_L0W_UNIT;
160 } while (r && var->bits_per_pixel <= 32);
161
162 if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT)
163 return -EINVAL;
164 }
165
166 /* line length is going to be 128 bit aligned */
167 tmp = (var->xres * var->bits_per_pixel) / 8;
168 if ((tmp & 15) != 0)
169 return -EINVAL;
170
171 /* set r/g/b positions and validate bpp */
172 switch (var->bits_per_pixel) {
173 case 8:
174 var->red.length = var->bits_per_pixel;
175 var->green.length = var->bits_per_pixel;
176 var->blue.length = var->bits_per_pixel;
177 var->red.offset = 0;
178 var->green.offset = 0;
179 var->blue.offset = 0;
180 var->transp.length = 0;
181 break;
182 case 16:
183 var->red.length = 5;
184 var->green.length = 5;
185 var->blue.length = 5;
186 var->red.offset = 10;
187 var->green.offset = 5;
188 var->blue.offset = 0;
189 var->transp.length = 0;
190 break;
191 case 24:
192 case 32:
193 var->transp.length = 8;
194 var->red.length = 8;
195 var->green.length = 8;
196 var->blue.length = 8;
197 var->transp.offset = 24;
198 var->red.offset = 16;
199 var->green.offset = 8;
200 var->blue.offset = 0;
201 break;
202 default:
203 return -EINVAL;
204 }
205 return 0;
206}
207
208/*
209 * set display parameters
210 */
211static int mb862xxfb_set_par(struct fb_info *fbi)
212{
213 struct mb862xxfb_par *par = fbi->par;
214 unsigned long reg, sc;
215
216 dev_dbg(par->dev, "%s\n", __func__);
217
218 if (par->pre_init)
219 return 0;
220
221 /* disp off */
222 reg = inreg(disp, GC_DCM1);
223 reg &= ~GC_DCM01_DEN;
224 outreg(disp, GC_DCM1, reg);
225
226 /* set display reference clock div. */
227 sc = par->refclk / (1000000 / fbi->var.pixclock) - 1;
228 reg = inreg(disp, GC_DCM1);
229 reg &= ~(GC_DCM01_CKS | GC_DCM01_RESV | GC_DCM01_SC);
230 reg |= sc << 8;
231 outreg(disp, GC_DCM1, reg);
232 dev_dbg(par->dev, "SC 0x%lx\n", sc);
233
234 /* disp dimension, format */
235 reg = pack(d_pitch(&fbi->var) / GC_L0M_L0W_UNIT,
236 (fbi->var.yres - 1));
237 if (fbi->var.bits_per_pixel == 16)
238 reg |= GC_L0M_L0C_16;
239 outreg(disp, GC_L0M, reg);
240
241 if (fbi->var.bits_per_pixel == 32) {
242 reg = inreg(disp, GC_L0EM);
243 outreg(disp, GC_L0EM, reg | GC_L0EM_L0EC_24);
244 }
245 outreg(disp, GC_WY_WX, 0);
246 reg = pack(fbi->var.yres - 1, fbi->var.xres);
247 outreg(disp, GC_WH_WW, reg);
248 outreg(disp, GC_L0OA0, 0);
249 outreg(disp, GC_L0DA0, 0);
250 outreg(disp, GC_L0DY_L0DX, 0);
251 outreg(disp, GC_L0WY_L0WX, 0);
252 outreg(disp, GC_L0WH_L0WW, reg);
253
254 /* both HW-cursors off */
255 reg = inreg(disp, GC_CPM_CUTC);
256 reg &= ~(GC_CPM_CEN0 | GC_CPM_CEN1);
257 outreg(disp, GC_CPM_CUTC, reg);
258
259 /* timings */
260 reg = pack(fbi->var.xres - 1, fbi->var.xres - 1);
261 outreg(disp, GC_HDB_HDP, reg);
262 reg = pack((fbi->var.yres - 1), vsp(&fbi->var));
263 outreg(disp, GC_VDP_VSP, reg);
264 reg = ((fbi->var.vsync_len - 1) << 24) |
265 pack((fbi->var.hsync_len - 1), hsp(&fbi->var));
266 outreg(disp, GC_VSW_HSW_HSP, reg);
267 outreg(disp, GC_HTP, pack(h_total(&fbi->var) - 1, 0));
268 outreg(disp, GC_VTR, pack(v_total(&fbi->var) - 1, 0));
269
270 /* display on */
271 reg = inreg(disp, GC_DCM1);
272 reg |= GC_DCM01_DEN | GC_DCM01_L0E;
273 reg &= ~GC_DCM01_ESY;
274 outreg(disp, GC_DCM1, reg);
275 return 0;
276}
277
278static int mb862xxfb_pan(struct fb_var_screeninfo *var,
279 struct fb_info *info)
280{
281 struct mb862xxfb_par *par = info->par;
282 unsigned long reg;
283
284 reg = pack(var->yoffset, var->xoffset);
285 outreg(disp, GC_L0WY_L0WX, reg);
286
287 reg = pack(var->yres_virtual, var->xres_virtual);
288 outreg(disp, GC_L0WH_L0WW, reg);
289 return 0;
290}
291
292static int mb862xxfb_blank(int mode, struct fb_info *fbi)
293{
294 struct mb862xxfb_par *par = fbi->par;
295 unsigned long reg;
296
297 dev_dbg(fbi->dev, "blank mode=%d\n", mode);
298
299 switch (mode) {
300 case FB_BLANK_POWERDOWN:
301 reg = inreg(disp, GC_DCM1);
302 reg &= ~GC_DCM01_DEN;
303 outreg(disp, GC_DCM1, reg);
304 break;
305 case FB_BLANK_UNBLANK:
306 reg = inreg(disp, GC_DCM1);
307 reg |= GC_DCM01_DEN;
308 outreg(disp, GC_DCM1, reg);
309 break;
310 case FB_BLANK_NORMAL:
311 case FB_BLANK_VSYNC_SUSPEND:
312 case FB_BLANK_HSYNC_SUSPEND:
313 default:
314 return 1;
315 }
316 return 0;
317}
318
319/* framebuffer ops */
320static struct fb_ops mb862xxfb_ops = {
321 .owner = THIS_MODULE,
322 .fb_check_var = mb862xxfb_check_var,
323 .fb_set_par = mb862xxfb_set_par,
324 .fb_setcolreg = mb862xxfb_setcolreg,
325 .fb_blank = mb862xxfb_blank,
326 .fb_pan_display = mb862xxfb_pan,
327 .fb_fillrect = cfb_fillrect,
328 .fb_copyarea = cfb_copyarea,
329 .fb_imageblit = cfb_imageblit,
330};
331
332/* initialize fb_info data */
333static int mb862xxfb_init_fbinfo(struct fb_info *fbi)
334{
335 struct mb862xxfb_par *par = fbi->par;
336 struct mb862xx_gc_mode *mode = par->gc_mode;
337 unsigned long reg;
338
339 fbi->fbops = &mb862xxfb_ops;
340 fbi->pseudo_palette = par->pseudo_palette;
341 fbi->screen_base = par->fb_base;
342 fbi->screen_size = par->mapped_vram;
343
344 strcpy(fbi->fix.id, DRV_NAME);
345 fbi->fix.smem_start = (unsigned long)par->fb_base_phys;
346 fbi->fix.smem_len = par->mapped_vram;
347 fbi->fix.mmio_start = (unsigned long)par->mmio_base_phys;
348 fbi->fix.mmio_len = par->mmio_len;
349 fbi->fix.accel = FB_ACCEL_NONE;
350 fbi->fix.type = FB_TYPE_PACKED_PIXELS;
351 fbi->fix.type_aux = 0;
352 fbi->fix.xpanstep = 1;
353 fbi->fix.ypanstep = 1;
354 fbi->fix.ywrapstep = 0;
355
356 reg = inreg(disp, GC_DCM1);
357 if (reg & GC_DCM01_DEN && reg & GC_DCM01_L0E) {
358 /* get the disp mode from active display cfg */
359 unsigned long sc = ((reg & GC_DCM01_SC) >> 8) + 1;
360 unsigned long hsp, vsp, ht, vt;
361
362 dev_dbg(par->dev, "using bootloader's disp. mode\n");
363 fbi->var.pixclock = (sc * 1000000) / par->refclk;
364 fbi->var.xres = (inreg(disp, GC_HDB_HDP) & 0x0fff) + 1;
365 reg = inreg(disp, GC_VDP_VSP);
366 fbi->var.yres = ((reg >> 16) & 0x0fff) + 1;
367 vsp = (reg & 0x0fff) + 1;
368 fbi->var.xres_virtual = fbi->var.xres;
369 fbi->var.yres_virtual = fbi->var.yres;
370 reg = inreg(disp, GC_L0EM);
371 if (reg & GC_L0EM_L0EC_24) {
372 fbi->var.bits_per_pixel = 32;
373 } else {
374 reg = inreg(disp, GC_L0M);
375 if (reg & GC_L0M_L0C_16)
376 fbi->var.bits_per_pixel = 16;
377 else
378 fbi->var.bits_per_pixel = 8;
379 }
380 reg = inreg(disp, GC_VSW_HSW_HSP);
381 fbi->var.hsync_len = ((reg & 0xff0000) >> 16) + 1;
382 fbi->var.vsync_len = ((reg & 0x3f000000) >> 24) + 1;
383 hsp = (reg & 0xffff) + 1;
384 ht = ((inreg(disp, GC_HTP) & 0xfff0000) >> 16) + 1;
385 fbi->var.right_margin = hsp - fbi->var.xres;
386 fbi->var.left_margin = ht - hsp - fbi->var.hsync_len;
387 vt = ((inreg(disp, GC_VTR) & 0xfff0000) >> 16) + 1;
388 fbi->var.lower_margin = vsp - fbi->var.yres;
389 fbi->var.upper_margin = vt - vsp - fbi->var.vsync_len;
390 } else if (mode) {
391 dev_dbg(par->dev, "using supplied mode\n");
392 fb_videomode_to_var(&fbi->var, (struct fb_videomode *)mode);
393 fbi->var.bits_per_pixel = mode->def_bpp ? mode->def_bpp : 8;
394 } else {
395 int ret;
396
397 ret = fb_find_mode(&fbi->var, fbi, "640x480-16@60",
398 NULL, 0, NULL, 16);
399 if (ret == 0 || ret == 4) {
400 dev_err(par->dev,
401 "failed to get initial mode\n");
402 return -EINVAL;
403 }
404 }
405
406 fbi->var.xoffset = 0;
407 fbi->var.yoffset = 0;
408 fbi->var.grayscale = 0;
409 fbi->var.nonstd = 0;
410 fbi->var.height = -1;
411 fbi->var.width = -1;
412 fbi->var.accel_flags = 0;
413 fbi->var.vmode = FB_VMODE_NONINTERLACED;
414 fbi->var.activate = FB_ACTIVATE_NOW;
415 fbi->flags = FBINFO_DEFAULT |
416#ifdef __BIG_ENDIAN
417 FBINFO_FOREIGN_ENDIAN |
418#endif
419 FBINFO_HWACCEL_XPAN |
420 FBINFO_HWACCEL_YPAN;
421
422 /* check and possibly fix bpp */
423 if ((fbi->fbops->fb_check_var)(&fbi->var, fbi))
424 dev_err(par->dev, "check_var() failed on initial setup?\n");
425
426 fbi->fix.visual = fbi->var.bits_per_pixel == 8 ?
427 FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
428 fbi->fix.line_length = (fbi->var.xres_virtual *
429 fbi->var.bits_per_pixel) / 8;
430 return 0;
431}
432
433/*
434 * show some display controller and cursor registers
435 */
436static ssize_t mb862xxfb_show_dispregs(struct device *dev,
437 struct device_attribute *attr, char *buf)
438{
439 struct fb_info *fbi = dev_get_drvdata(dev);
440 struct mb862xxfb_par *par = fbi->par;
441 char *ptr = buf;
442 unsigned int reg;
443
444 for (reg = GC_DCM0; reg <= GC_L0DY_L0DX; reg += 4)
445 ptr += sprintf(ptr, "%08x = %08x\n",
446 reg, inreg(disp, reg));
447
448 for (reg = GC_CPM_CUTC; reg <= GC_CUY1_CUX1; reg += 4)
449 ptr += sprintf(ptr, "%08x = %08x\n",
450 reg, inreg(disp, reg));
451
452 for (reg = GC_DCM1; reg <= GC_L0WH_L0WW; reg += 4)
453 ptr += sprintf(ptr, "%08x = %08x\n",
454 reg, inreg(disp, reg));
455
456 return ptr - buf;
457}
458
459static DEVICE_ATTR(dispregs, 0444, mb862xxfb_show_dispregs, NULL);
460
461irqreturn_t mb862xx_intr(int irq, void *dev_id)
462{
463 struct mb862xxfb_par *par = (struct mb862xxfb_par *) dev_id;
464 unsigned long reg_ist, mask;
465
466 if (!par)
467 return IRQ_NONE;
468
469 if (par->type == BT_CARMINE) {
470 /* Get Interrupt Status */
471 reg_ist = inreg(ctrl, GC_CTRL_STATUS);
472 mask = inreg(ctrl, GC_CTRL_INT_MASK);
473 if (reg_ist == 0)
474 return IRQ_HANDLED;
475
476 reg_ist &= mask;
477 if (reg_ist == 0)
478 return IRQ_HANDLED;
479
480 /* Clear interrupt status */
481 outreg(ctrl, 0x0, reg_ist);
482 } else {
483 /* Get status */
484 reg_ist = inreg(host, GC_IST);
485 mask = inreg(host, GC_IMASK);
486
487 reg_ist &= mask;
488 if (reg_ist == 0)
489 return IRQ_HANDLED;
490
491 /* Clear status */
492 outreg(host, GC_IST, ~reg_ist);
493 }
494 return IRQ_HANDLED;
495}
496
497#if defined(CONFIG_FB_MB862XX_LIME)
498/*
499 * GDC (Lime, Coral(B/Q), Mint, ...) on host bus
500 */
501static int mb862xx_gdc_init(struct mb862xxfb_par *par)
502{
503 unsigned long ccf, mmr;
504 unsigned long ver, rev;
505
506 if (!par)
507 return -ENODEV;
508
509#if defined(CONFIG_FB_PRE_INIT_FB)
510 par->pre_init = 1;
511#endif
512 par->host = par->mmio_base;
513 par->i2c = par->mmio_base + MB862XX_I2C_BASE;
514 par->disp = par->mmio_base + MB862XX_DISP_BASE;
515 par->cap = par->mmio_base + MB862XX_CAP_BASE;
516 par->draw = par->mmio_base + MB862XX_DRAW_BASE;
517 par->geo = par->mmio_base + MB862XX_GEO_BASE;
518 par->pio = par->mmio_base + MB862XX_PIO_BASE;
519
520 par->refclk = GC_DISP_REFCLK_400;
521
522 ver = inreg(host, GC_CID);
523 rev = inreg(pio, GC_REVISION);
524 if ((ver == 0x303) && (rev & 0xffffff00) == 0x20050100) {
525 dev_info(par->dev, "Fujitsu Lime v1.%d found\n",
526 (int)rev & 0xff);
527 par->type = BT_LIME;
528 ccf = par->gc_mode ? par->gc_mode->ccf : GC_CCF_COT_100;
529 mmr = par->gc_mode ? par->gc_mode->mmr : 0x414fb7f2;
530 } else {
531 dev_info(par->dev, "? GDC, CID/Rev.: 0x%lx/0x%lx \n", ver, rev);
532 return -ENODEV;
533 }
534
535 if (!par->pre_init) {
536 outreg(host, GC_CCF, ccf);
537 udelay(200);
538 outreg(host, GC_MMR, mmr);
539 udelay(10);
540 }
541
542 /* interrupt status */
543 outreg(host, GC_IST, 0);
544 outreg(host, GC_IMASK, GC_INT_EN);
545 return 0;
546}
547
548static int __devinit of_platform_mb862xx_probe(struct of_device *ofdev,
549 const struct of_device_id *id)
550{
551 struct device_node *np = ofdev->node;
552 struct device *dev = &ofdev->dev;
553 struct mb862xxfb_par *par;
554 struct fb_info *info;
555 struct resource res;
556 resource_size_t res_size;
557 unsigned long ret = -ENODEV;
558
559 if (of_address_to_resource(np, 0, &res)) {
560 dev_err(dev, "Invalid address\n");
561 return -ENXIO;
562 }
563
564 info = framebuffer_alloc(sizeof(struct mb862xxfb_par), dev);
565 if (info == NULL) {
566 dev_err(dev, "cannot allocate framebuffer\n");
567 return -ENOMEM;
568 }
569
570 par = info->par;
571 par->info = info;
572 par->dev = dev;
573
574 par->irq = irq_of_parse_and_map(np, 0);
575 if (par->irq == NO_IRQ) {
576 dev_err(dev, "failed to map irq\n");
577 ret = -ENODEV;
578 goto fbrel;
579 }
580
581 res_size = 1 + res.end - res.start;
582 par->res = request_mem_region(res.start, res_size, DRV_NAME);
583 if (par->res == NULL) {
584 dev_err(dev, "Cannot claim framebuffer/mmio\n");
585 ret = -ENXIO;
586 goto irqdisp;
587 }
588
589#if defined(CONFIG_LWMON5)
590 par->gc_mode = &lwmon5_gc_mode;
591#endif
592
593#if defined(CONFIG_SOCRATES)
594 par->gc_mode = &socrates_gc_mode;
595#endif
596
597 par->fb_base_phys = res.start;
598 par->mmio_base_phys = res.start + MB862XX_MMIO_BASE;
599 par->mmio_len = MB862XX_MMIO_SIZE;
600 if (par->gc_mode)
601 par->mapped_vram = par->gc_mode->max_vram;
602 else
603 par->mapped_vram = MB862XX_MEM_SIZE;
604
605 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram);
606 if (par->fb_base == NULL) {
607 dev_err(dev, "Cannot map framebuffer\n");
608 goto rel_reg;
609 }
610
611 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len);
612 if (par->mmio_base == NULL) {
613 dev_err(dev, "Cannot map registers\n");
614 goto fb_unmap;
615 }
616
617 dev_dbg(dev, "fb phys 0x%llx 0x%lx\n",
618 (u64)par->fb_base_phys, (ulong)par->mapped_vram);
619 dev_dbg(dev, "mmio phys 0x%llx 0x%lx, (irq = %d)\n",
620 (u64)par->mmio_base_phys, (ulong)par->mmio_len, par->irq);
621
622 if (mb862xx_gdc_init(par))
623 goto io_unmap;
624
625 if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED,
626 DRV_NAME, (void *)par)) {
627 dev_err(dev, "Cannot request irq\n");
628 goto io_unmap;
629 }
630
631 mb862xxfb_init_fbinfo(info);
632
633 if (fb_alloc_cmap(&info->cmap, NR_PALETTE, 0) < 0) {
634 dev_err(dev, "Could not allocate cmap for fb_info.\n");
635 goto free_irq;
636 }
637
638 if ((info->fbops->fb_set_par)(info))
639 dev_err(dev, "set_var() failed on initial setup?\n");
640
641 if (register_framebuffer(info)) {
642 dev_err(dev, "failed to register framebuffer\n");
643 goto rel_cmap;
644 }
645
646 dev_set_drvdata(dev, info);
647
648 if (device_create_file(dev, &dev_attr_dispregs))
649 dev_err(dev, "Can't create sysfs regdump file\n");
650 return 0;
651
652rel_cmap:
653 fb_dealloc_cmap(&info->cmap);
654free_irq:
655 outreg(host, GC_IMASK, 0);
656 free_irq(par->irq, (void *)par);
657io_unmap:
658 iounmap(par->mmio_base);
659fb_unmap:
660 iounmap(par->fb_base);
661rel_reg:
662 release_mem_region(res.start, res_size);
663irqdisp:
664 irq_dispose_mapping(par->irq);
665fbrel:
666 dev_set_drvdata(dev, NULL);
667 framebuffer_release(info);
668 return ret;
669}
670
671static int __devexit of_platform_mb862xx_remove(struct of_device *ofdev)
672{
673 struct fb_info *fbi = dev_get_drvdata(&ofdev->dev);
674 struct mb862xxfb_par *par = fbi->par;
675 resource_size_t res_size = 1 + par->res->end - par->res->start;
676 unsigned long reg;
677
678 dev_dbg(fbi->dev, "%s release\n", fbi->fix.id);
679
680 /* display off */
681 reg = inreg(disp, GC_DCM1);
682 reg &= ~(GC_DCM01_DEN | GC_DCM01_L0E);
683 outreg(disp, GC_DCM1, reg);
684
685 /* disable interrupts */
686 outreg(host, GC_IMASK, 0);
687
688 free_irq(par->irq, (void *)par);
689 irq_dispose_mapping(par->irq);
690
691 device_remove_file(&ofdev->dev, &dev_attr_dispregs);
692
693 unregister_framebuffer(fbi);
694 fb_dealloc_cmap(&fbi->cmap);
695
696 iounmap(par->mmio_base);
697 iounmap(par->fb_base);
698
699 dev_set_drvdata(&ofdev->dev, NULL);
700 release_mem_region(par->res->start, res_size);
701 framebuffer_release(fbi);
702 return 0;
703}
704
705/*
706 * common types
707 */
708static struct of_device_id __devinitdata of_platform_mb862xx_tbl[] = {
709 { .compatible = "fujitsu,MB86276", },
710 { .compatible = "fujitsu,lime", },
711 { .compatible = "fujitsu,MB86277", },
712 { .compatible = "fujitsu,mint", },
713 { .compatible = "fujitsu,MB86293", },
714 { .compatible = "fujitsu,MB86294", },
715 { .compatible = "fujitsu,coral", },
716 { /* end */ }
717};
718
719static struct of_platform_driver of_platform_mb862xxfb_driver = {
720 .owner = THIS_MODULE,
721 .name = DRV_NAME,
722 .match_table = of_platform_mb862xx_tbl,
723 .probe = of_platform_mb862xx_probe,
724 .remove = __devexit_p(of_platform_mb862xx_remove),
725};
726#endif
727
728#if defined(CONFIG_FB_MB862XX_PCI_GDC)
729static int coralp_init(struct mb862xxfb_par *par)
730{
731 int cn, ver;
732
733 par->host = par->mmio_base;
734 par->i2c = par->mmio_base + MB862XX_I2C_BASE;
735 par->disp = par->mmio_base + MB862XX_DISP_BASE;
736 par->cap = par->mmio_base + MB862XX_CAP_BASE;
737 par->draw = par->mmio_base + MB862XX_DRAW_BASE;
738 par->geo = par->mmio_base + MB862XX_GEO_BASE;
739 par->pio = par->mmio_base + MB862XX_PIO_BASE;
740
741 par->refclk = GC_DISP_REFCLK_400;
742
743 ver = inreg(host, GC_CID);
744 cn = (ver & GC_CID_CNAME_MSK) >> 8;
745 ver = ver & GC_CID_VERSION_MSK;
746 if (cn == 3) {
747 dev_info(par->dev, "Fujitsu Coral-%s GDC Rev.%d found\n",\
748 (ver == 6) ? "P" : (ver == 8) ? "PA" : "?",
749 par->pdev->revision);
750 outreg(host, GC_CCF, GC_CCF_CGE_166 | GC_CCF_COT_133);
751 udelay(200);
752 outreg(host, GC_MMR, GC_MMR_CORALP_EVB_VAL);
753 udelay(10);
754 /* Clear interrupt status */
755 outreg(host, GC_IST, 0);
756 } else {
757 return -ENODEV;
758 }
759 return 0;
760}
761
762static int init_dram_ctrl(struct mb862xxfb_par *par)
763{
764 unsigned long i = 0;
765
766 /*
767 * Set io mode first! Spec. says IC may be destroyed
768 * if not set to SSTL2/LVCMOS before init.
769 */
770 outreg(dram_ctrl, GC_DCTL_IOCONT1_IOCONT0, GC_EVB_DCTL_IOCONT1_IOCONT0);
771
772 /* DRAM init */
773 outreg(dram_ctrl, GC_DCTL_MODE_ADD, GC_EVB_DCTL_MODE_ADD);
774 outreg(dram_ctrl, GC_DCTL_SETTIME1_EMODE, GC_EVB_DCTL_SETTIME1_EMODE);
775 outreg(dram_ctrl, GC_DCTL_REFRESH_SETTIME2,
776 GC_EVB_DCTL_REFRESH_SETTIME2);
777 outreg(dram_ctrl, GC_DCTL_RSV2_RSV1, GC_EVB_DCTL_RSV2_RSV1);
778 outreg(dram_ctrl, GC_DCTL_DDRIF2_DDRIF1, GC_EVB_DCTL_DDRIF2_DDRIF1);
779 outreg(dram_ctrl, GC_DCTL_RSV0_STATES, GC_EVB_DCTL_RSV0_STATES);
780
781 /* DLL reset done? */
782 while ((inreg(dram_ctrl, GC_DCTL_RSV0_STATES) & GC_DCTL_STATES_MSK)) {
783 udelay(GC_DCTL_INIT_WAIT_INTERVAL);
784 if (i++ > GC_DCTL_INIT_WAIT_CNT) {
785 dev_err(par->dev, "VRAM init failed.\n");
786 return -EINVAL;
787 }
788 }
789 outreg(dram_ctrl, GC_DCTL_MODE_ADD, GC_EVB_DCTL_MODE_ADD_AFT_RST);
790 outreg(dram_ctrl, GC_DCTL_RSV0_STATES, GC_EVB_DCTL_RSV0_STATES_AFT_RST);
791 return 0;
792}
793
794static int carmine_init(struct mb862xxfb_par *par)
795{
796 unsigned long reg;
797
798 par->ctrl = par->mmio_base + MB86297_CTRL_BASE;
799 par->i2c = par->mmio_base + MB86297_I2C_BASE;
800 par->disp = par->mmio_base + MB86297_DISP0_BASE;
801 par->disp1 = par->mmio_base + MB86297_DISP1_BASE;
802 par->cap = par->mmio_base + MB86297_CAP0_BASE;
803 par->cap1 = par->mmio_base + MB86297_CAP1_BASE;
804 par->draw = par->mmio_base + MB86297_DRAW_BASE;
805 par->dram_ctrl = par->mmio_base + MB86297_DRAMCTRL_BASE;
806 par->wrback = par->mmio_base + MB86297_WRBACK_BASE;
807
808 par->refclk = GC_DISP_REFCLK_533;
809
810 /* warm up */
811 reg = GC_CTRL_CLK_EN_DRAM | GC_CTRL_CLK_EN_2D3D | GC_CTRL_CLK_EN_DISP0;
812 outreg(ctrl, GC_CTRL_CLK_ENABLE, reg);
813
814 /* check for engine module revision */
815 if (inreg(draw, GC_2D3D_REV) == GC_RE_REVISION)
816 dev_info(par->dev, "Fujitsu Carmine GDC Rev.%d found\n",
817 par->pdev->revision);
818 else
819 goto err_init;
820
821 reg &= ~GC_CTRL_CLK_EN_2D3D;
822 outreg(ctrl, GC_CTRL_CLK_ENABLE, reg);
823
824 /* set up vram */
825 if (init_dram_ctrl(par) < 0)
826 goto err_init;
827
828 outreg(ctrl, GC_CTRL_INT_MASK, 0);
829 return 0;
830
831err_init:
832 outreg(ctrl, GC_CTRL_CLK_ENABLE, 0);
833 return -EINVAL;
834}
835
836static inline int mb862xx_pci_gdc_init(struct mb862xxfb_par *par)
837{
838 switch (par->type) {
839 case BT_CORALP:
840 return coralp_init(par);
841 case BT_CARMINE:
842 return carmine_init(par);
843 default:
844 return -ENODEV;
845 }
846}
847
848#define CHIP_ID(id) \
849 { PCI_DEVICE(PCI_VENDOR_ID_FUJITSU_LIMITED, id) }
850
851static struct pci_device_id mb862xx_pci_tbl[] __devinitdata = {
852 /* MB86295/MB86296 */
853 CHIP_ID(PCI_DEVICE_ID_FUJITSU_CORALP),
854 CHIP_ID(PCI_DEVICE_ID_FUJITSU_CORALPA),
855 /* MB86297 */
856 CHIP_ID(PCI_DEVICE_ID_FUJITSU_CARMINE),
857 { 0, }
858};
859
860MODULE_DEVICE_TABLE(pci, mb862xx_pci_tbl);
861
862static int __devinit mb862xx_pci_probe(struct pci_dev *pdev,
863 const struct pci_device_id *ent)
864{
865 struct mb862xxfb_par *par;
866 struct fb_info *info;
867 struct device *dev = &pdev->dev;
868 int ret;
869
870 ret = pci_enable_device(pdev);
871 if (ret < 0) {
872 dev_err(dev, "Cannot enable PCI device\n");
873 goto out;
874 }
875
876 info = framebuffer_alloc(sizeof(struct mb862xxfb_par), dev);
877 if (!info) {
878 dev_err(dev, "framebuffer alloc failed\n");
879 ret = -ENOMEM;
880 goto dis_dev;
881 }
882
883 par = info->par;
884 par->info = info;
885 par->dev = dev;
886 par->pdev = pdev;
887 par->irq = pdev->irq;
888
889 ret = pci_request_regions(pdev, DRV_NAME);
890 if (ret < 0) {
891 dev_err(dev, "Cannot reserve region(s) for PCI device\n");
892 goto rel_fb;
893 }
894
895 switch (pdev->device) {
896 case PCI_DEVICE_ID_FUJITSU_CORALP:
897 case PCI_DEVICE_ID_FUJITSU_CORALPA:
898 par->fb_base_phys = pci_resource_start(par->pdev, 0);
899 par->mapped_vram = CORALP_MEM_SIZE;
900 par->mmio_base_phys = par->fb_base_phys + MB862XX_MMIO_BASE;
901 par->mmio_len = MB862XX_MMIO_SIZE;
902 par->type = BT_CORALP;
903 break;
904 case PCI_DEVICE_ID_FUJITSU_CARMINE:
905 par->fb_base_phys = pci_resource_start(par->pdev, 2);
906 par->mmio_base_phys = pci_resource_start(par->pdev, 3);
907 par->mmio_len = pci_resource_len(par->pdev, 3);
908 par->mapped_vram = CARMINE_MEM_SIZE;
909 par->type = BT_CARMINE;
910 break;
911 default:
912 /* should never occur */
913 goto rel_reg;
914 }
915
916 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram);
917 if (par->fb_base == NULL) {
918 dev_err(dev, "Cannot map framebuffer\n");
919 goto rel_reg;
920 }
921
922 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len);
923 if (par->mmio_base == NULL) {
924 dev_err(dev, "Cannot map registers\n");
925 ret = -EIO;
926 goto fb_unmap;
927 }
928
929 dev_dbg(dev, "fb phys 0x%llx 0x%lx\n",
930 (u64)par->fb_base_phys, (ulong)par->mapped_vram);
931 dev_dbg(dev, "mmio phys 0x%llx 0x%lx\n",
932 (u64)par->mmio_base_phys, (ulong)par->mmio_len);
933
934 if (mb862xx_pci_gdc_init(par))
935 goto io_unmap;
936
937 if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED,
938 DRV_NAME, (void *)par)) {
939 dev_err(dev, "Cannot request irq\n");
940 goto io_unmap;
941 }
942
943 mb862xxfb_init_fbinfo(info);
944
945 if (fb_alloc_cmap(&info->cmap, NR_PALETTE, 0) < 0) {
946 dev_err(dev, "Could not allocate cmap for fb_info.\n");
947 ret = -ENOMEM;
948 goto free_irq;
949 }
950
951 if ((info->fbops->fb_set_par)(info))
952 dev_err(dev, "set_var() failed on initial setup?\n");
953
954 ret = register_framebuffer(info);
955 if (ret < 0) {
956 dev_err(dev, "failed to register framebuffer\n");
957 goto rel_cmap;
958 }
959
960 pci_set_drvdata(pdev, info);
961
962 if (device_create_file(dev, &dev_attr_dispregs))
963 dev_err(dev, "Can't create sysfs regdump file\n");
964
965 if (par->type == BT_CARMINE)
966 outreg(ctrl, GC_CTRL_INT_MASK, GC_CARMINE_INT_EN);
967 else
968 outreg(host, GC_IMASK, GC_INT_EN);
969
970 return 0;
971
972rel_cmap:
973 fb_dealloc_cmap(&info->cmap);
974free_irq:
975 free_irq(par->irq, (void *)par);
976io_unmap:
977 iounmap(par->mmio_base);
978fb_unmap:
979 iounmap(par->fb_base);
980rel_reg:
981 pci_release_regions(pdev);
982rel_fb:
983 framebuffer_release(info);
984dis_dev:
985 pci_disable_device(pdev);
986out:
987 return ret;
988}
989
990static void __devexit mb862xx_pci_remove(struct pci_dev *pdev)
991{
992 struct fb_info *fbi = pci_get_drvdata(pdev);
993 struct mb862xxfb_par *par = fbi->par;
994 unsigned long reg;
995
996 dev_dbg(fbi->dev, "%s release\n", fbi->fix.id);
997
998 /* display off */
999 reg = inreg(disp, GC_DCM1);
1000 reg &= ~(GC_DCM01_DEN | GC_DCM01_L0E);
1001 outreg(disp, GC_DCM1, reg);
1002
1003 if (par->type == BT_CARMINE) {
1004 outreg(ctrl, GC_CTRL_INT_MASK, 0);
1005 outreg(ctrl, GC_CTRL_CLK_ENABLE, 0);
1006 } else {
1007 outreg(host, GC_IMASK, 0);
1008 }
1009
1010 device_remove_file(&pdev->dev, &dev_attr_dispregs);
1011
1012 pci_set_drvdata(pdev, NULL);
1013 unregister_framebuffer(fbi);
1014 fb_dealloc_cmap(&fbi->cmap);
1015
1016 free_irq(par->irq, (void *)par);
1017 iounmap(par->mmio_base);
1018 iounmap(par->fb_base);
1019
1020 pci_release_regions(pdev);
1021 framebuffer_release(fbi);
1022 pci_disable_device(pdev);
1023}
1024
1025static struct pci_driver mb862xxfb_pci_driver = {
1026 .name = DRV_NAME,
1027 .id_table = mb862xx_pci_tbl,
1028 .probe = mb862xx_pci_probe,
1029 .remove = __devexit_p(mb862xx_pci_remove),
1030};
1031#endif
1032
1033static int __devinit mb862xxfb_init(void)
1034{
1035 int ret = -ENODEV;
1036
1037#if defined(CONFIG_FB_MB862XX_LIME)
1038 ret = of_register_platform_driver(&of_platform_mb862xxfb_driver);
1039#endif
1040#if defined(CONFIG_FB_MB862XX_PCI_GDC)
1041 ret = pci_register_driver(&mb862xxfb_pci_driver);
1042#endif
1043 return ret;
1044}
1045
1046static void __exit mb862xxfb_exit(void)
1047{
1048#if defined(CONFIG_FB_MB862XX_LIME)
1049 of_unregister_platform_driver(&of_platform_mb862xxfb_driver);
1050#endif
1051#if defined(CONFIG_FB_MB862XX_PCI_GDC)
1052 pci_unregister_driver(&mb862xxfb_pci_driver);
1053#endif
1054}
1055
1056module_init(mb862xxfb_init);
1057module_exit(mb862xxfb_exit);
1058
1059MODULE_DESCRIPTION("Fujitsu MB862xx Framebuffer driver");
1060MODULE_AUTHOR("Anatolij Gustschin <agust@denx.de>");
1061MODULE_LICENSE("GPL v2");
diff --git a/drivers/video/mb862xx/mb862xxfb.h b/drivers/video/mb862xx/mb862xxfb.h
new file mode 100644
index 000000000000..c4c8f4dd2217
--- /dev/null
+++ b/drivers/video/mb862xx/mb862xxfb.h
@@ -0,0 +1,83 @@
1#ifndef __MB862XX_H__
2#define __MB862XX_H__
3
4#define PCI_VENDOR_ID_FUJITSU_LIMITED 0x10cf
5#define PCI_DEVICE_ID_FUJITSU_CORALP 0x2019
6#define PCI_DEVICE_ID_FUJITSU_CORALPA 0x201e
7#define PCI_DEVICE_ID_FUJITSU_CARMINE 0x202b
8
9#define GC_MMR_CORALP_EVB_VAL 0x11d7fa13
10
11enum gdctype {
12 BT_NONE,
13 BT_LIME,
14 BT_MINT,
15 BT_CORAL,
16 BT_CORALP,
17 BT_CARMINE,
18};
19
20struct mb862xx_gc_mode {
21 struct fb_videomode def_mode; /* mode of connected display */
22 unsigned int def_bpp; /* default depth */
23 unsigned long max_vram; /* connected SDRAM size */
24 unsigned long ccf; /* gdc clk */
25 unsigned long mmr; /* memory mode for SDRAM */
26};
27
28/* private data */
29struct mb862xxfb_par {
30 struct fb_info *info; /* fb info head */
31 struct device *dev;
32 struct pci_dev *pdev;
33 struct resource *res; /* framebuffer/mmio resource */
34
35 resource_size_t fb_base_phys; /* fb base, 36-bit PPC440EPx */
36 resource_size_t mmio_base_phys; /* io base addr */
37 void __iomem *fb_base; /* remapped framebuffer */
38 void __iomem *mmio_base; /* remapped registers */
39 size_t mapped_vram; /* length of remapped vram */
40 size_t mmio_len; /* length of register region */
41
42 void __iomem *host; /* relocatable reg. bases */
43 void __iomem *i2c;
44 void __iomem *disp;
45 void __iomem *disp1;
46 void __iomem *cap;
47 void __iomem *cap1;
48 void __iomem *draw;
49 void __iomem *geo;
50 void __iomem *pio;
51 void __iomem *ctrl;
52 void __iomem *dram_ctrl;
53 void __iomem *wrback;
54
55 unsigned int irq;
56 unsigned int type; /* GDC type */
57 unsigned int refclk; /* disp. reference clock */
58 struct mb862xx_gc_mode *gc_mode; /* GDC mode init data */
59 int pre_init; /* don't init display if 1 */
60
61 u32 pseudo_palette[16];
62};
63
64#if defined(CONFIG_FB_MB862XX_LIME) && defined(CONFIG_FB_MB862XX_PCI_GDC)
65#error "Select Lime GDC or CoralP/Carmine support, but not both together"
66#endif
67#if defined(CONFIG_FB_MB862XX_LIME)
68#define gdc_read __raw_readl
69#define gdc_write __raw_writel
70#else
71#define gdc_read readl
72#define gdc_write writel
73#endif
74
75#define inreg(type, off) \
76 gdc_read((par->type + (off)))
77
78#define outreg(type, off, val) \
79 gdc_write((val), (par->type + (off)))
80
81#define pack(a, b) (((a) << 16) | (b))
82
83#endif
diff --git a/drivers/video/via/global.h b/drivers/video/via/global.h
index 8e5263c5b812..7543d5f7e309 100644
--- a/drivers/video/via/global.h
+++ b/drivers/video/via/global.h
@@ -38,7 +38,6 @@
38#include "iface.h" 38#include "iface.h"
39#include "viafbdev.h" 39#include "viafbdev.h"
40#include "chip.h" 40#include "chip.h"
41#include "debug.h"
42#include "accel.h" 41#include "accel.h"
43#include "share.h" 42#include "share.h"
44#include "dvi.h" 43#include "dvi.h"
@@ -48,12 +47,10 @@
48 47
49#include "lcd.h" 48#include "lcd.h"
50#include "ioctl.h" 49#include "ioctl.h"
51#include "viamode.h"
52#include "via_utility.h" 50#include "via_utility.h"
53#include "vt1636.h" 51#include "vt1636.h"
54#include "tblDPASetting.h" 52#include "tblDPASetting.h"
55#include "tbl1636.h" 53#include "tbl1636.h"
56#include "viafbdev.h"
57 54
58/* External struct*/ 55/* External struct*/
59 56
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 1a22fe782a27..4fd3fa5546b1 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -67,11 +67,11 @@ config AT91RM9200_WATCHDOG
67 system when the timeout is reached. 67 system when the timeout is reached.
68 68
69config AT91SAM9X_WATCHDOG 69config AT91SAM9X_WATCHDOG
70 tristate "AT91SAM9X watchdog" 70 tristate "AT91SAM9X / AT91CAP9 watchdog"
71 depends on WATCHDOG && (ARCH_AT91SAM9260 || ARCH_AT91SAM9261) 71 depends on ARCH_AT91 && !ARCH_AT91RM9200
72 help 72 help
73 Watchdog timer embedded into AT91SAM9X chips. This will reboot your 73 Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will
74 system when the timeout is reached. 74 reboot your system when the timeout is reached.
75 75
76config 21285_WATCHDOG 76config 21285_WATCHDOG
77 tristate "DC21285 watchdog" 77 tristate "DC21285 watchdog"
diff --git a/drivers/watchdog/acquirewdt.c b/drivers/watchdog/acquirewdt.c
index 6e46a551395c..3e57aa4d643a 100644
--- a/drivers/watchdog/acquirewdt.c
+++ b/drivers/watchdog/acquirewdt.c
@@ -3,8 +3,8 @@
3 * 3 *
4 * Based on wdt.c. Original copyright messages: 4 * Based on wdt.c. Original copyright messages:
5 * 5 *
6 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 6 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
7 * http://www.redhat.com 7 * All Rights Reserved.
8 * 8 *
9 * This program is free software; you can redistribute it and/or 9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License 10 * modify it under the terms of the GNU General Public License
@@ -15,7 +15,7 @@
15 * warranty for any of this software. This material is provided 15 * warranty for any of this software. This material is provided
16 * "AS-IS" and at no charge. 16 * "AS-IS" and at no charge.
17 * 17 *
18 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 18 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
19 * 19 *
20 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> 20 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
21 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 21 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/watchdog/advantechwdt.c b/drivers/watchdog/advantechwdt.c
index a5110f93a755..a1d7856ea6e0 100644
--- a/drivers/watchdog/advantechwdt.c
+++ b/drivers/watchdog/advantechwdt.c
@@ -6,8 +6,8 @@
6 * Based on acquirewdt.c which is based on wdt.c. 6 * Based on acquirewdt.c which is based on wdt.c.
7 * Original copyright messages: 7 * Original copyright messages:
8 * 8 *
9 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 9 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
10 * http://www.redhat.com 10 * All Rights Reserved.
11 * 11 *
12 * This program is free software; you can redistribute it and/or 12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License 13 * modify it under the terms of the GNU General Public License
@@ -18,7 +18,7 @@
18 * warranty for any of this software. This material is provided 18 * warranty for any of this software. This material is provided
19 * "AS-IS" and at no charge. 19 * "AS-IS" and at no charge.
20 * 20 *
21 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 21 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
22 * 22 *
23 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> 23 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
24 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 24 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index b4babfc31586..b1da287f90ec 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -30,7 +30,7 @@
30#include <linux/bitops.h> 30#include <linux/bitops.h>
31#include <linux/uaccess.h> 31#include <linux/uaccess.h>
32 32
33#include <asm/arch/at91_wdt.h> 33#include <mach/at91_wdt.h>
34 34
35#define DRV_NAME "AT91SAM9 Watchdog" 35#define DRV_NAME "AT91SAM9 Watchdog"
36 36
diff --git a/drivers/watchdog/bfin_wdt.c b/drivers/watchdog/bfin_wdt.c
index 31b42253054e..067a57cb3f82 100644
--- a/drivers/watchdog/bfin_wdt.c
+++ b/drivers/watchdog/bfin_wdt.c
@@ -5,7 +5,7 @@
5 * Originally based on softdog.c 5 * Originally based on softdog.c
6 * Copyright 2006-2007 Analog Devices Inc. 6 * Copyright 2006-2007 Analog Devices Inc.
7 * Copyright 2006-2007 Michele d'Amico 7 * Copyright 2006-2007 Michele d'Amico
8 * Copyright 1996 Alan Cox <alan@redhat.com> 8 * Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>
9 * 9 *
10 * Enter bugs at http://blackfin.uclinux.org/ 10 * Enter bugs at http://blackfin.uclinux.org/
11 * 11 *
diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index c3b78a76f173..225398fd5049 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -42,8 +42,10 @@ u32 booke_wdt_period = WDT_PERIOD_DEFAULT;
42 42
43#ifdef CONFIG_FSL_BOOKE 43#ifdef CONFIG_FSL_BOOKE
44#define WDTP(x) ((((63-x)&0x3)<<30)|(((63-x)&0x3c)<<15)) 44#define WDTP(x) ((((63-x)&0x3)<<30)|(((63-x)&0x3c)<<15))
45#define WDTP_MASK (WDTP(0))
45#else 46#else
46#define WDTP(x) (TCR_WP(x)) 47#define WDTP(x) (TCR_WP(x))
48#define WDTP_MASK (TCR_WP_MASK)
47#endif 49#endif
48 50
49static DEFINE_SPINLOCK(booke_wdt_lock); 51static DEFINE_SPINLOCK(booke_wdt_lock);
@@ -65,6 +67,7 @@ static void __booke_wdt_enable(void *data)
65 /* clear status before enabling watchdog */ 67 /* clear status before enabling watchdog */
66 __booke_wdt_ping(NULL); 68 __booke_wdt_ping(NULL);
67 val = mfspr(SPRN_TCR); 69 val = mfspr(SPRN_TCR);
70 val &= ~WDTP_MASK;
68 val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period)); 71 val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
69 72
70 mtspr(SPRN_TCR, val); 73 mtspr(SPRN_TCR, val);
@@ -114,7 +117,7 @@ static long booke_wdt_ioctl(struct file *file,
114 case WDIOC_SETTIMEOUT: 117 case WDIOC_SETTIMEOUT:
115 if (get_user(booke_wdt_period, p)) 118 if (get_user(booke_wdt_period, p))
116 return -EFAULT; 119 return -EFAULT;
117 mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WDTP(0)) | 120 mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WDTP_MASK) |
118 WDTP(booke_wdt_period)); 121 WDTP(booke_wdt_period));
119 return 0; 122 return 0;
120 case WDIOC_GETTIMEOUT: 123 case WDIOC_GETTIMEOUT:
diff --git a/drivers/watchdog/eurotechwdt.c b/drivers/watchdog/eurotechwdt.c
index bbd14e34319f..a171fc6ae1cb 100644
--- a/drivers/watchdog/eurotechwdt.c
+++ b/drivers/watchdog/eurotechwdt.c
@@ -8,8 +8,8 @@
8 * Based on wdt.c. 8 * Based on wdt.c.
9 * Original copyright messages: 9 * Original copyright messages:
10 * 10 *
11 * (c) Copyright 1996-1997 Alan Cox <alan@redhat.com>, All Rights Reserved. 11 * (c) Copyright 1996-1997 Alan Cox <alan@lxorguk.ukuu.org.uk>,
12 * http://www.redhat.com 12 * All Rights Reserved.
13 * 13 *
14 * This program is free software; you can redistribute it and/or 14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License 15 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/i6300esb.c b/drivers/watchdog/i6300esb.c
index c13383f7fcb9..74f951c18b90 100644
--- a/drivers/watchdog/i6300esb.c
+++ b/drivers/watchdog/i6300esb.c
@@ -394,8 +394,7 @@ static unsigned char __init esb_getdevice(void)
394 goto err_disable; 394 goto err_disable;
395 } 395 }
396 396
397 BASEADDR = ioremap(pci_resource_start(esb_pci, 0), 397 BASEADDR = pci_ioremap_bar(esb_pci, 0);
398 pci_resource_len(esb_pci, 0));
399 if (BASEADDR == NULL) { 398 if (BASEADDR == NULL) {
400 /* Something's wrong here, BASEADDR has to be set */ 399 /* Something's wrong here, BASEADDR has to be set */
401 printk(KERN_ERR PFX "failed to get BASEADDR\n"); 400 printk(KERN_ERR PFX "failed to get BASEADDR\n");
diff --git a/drivers/watchdog/ib700wdt.c b/drivers/watchdog/ib700wdt.c
index 8782ec1f5aa0..317ef2b16cff 100644
--- a/drivers/watchdog/ib700wdt.c
+++ b/drivers/watchdog/ib700wdt.c
@@ -11,8 +11,8 @@
11 * Based on acquirewdt.c which is based on wdt.c. 11 * Based on acquirewdt.c which is based on wdt.c.
12 * Original copyright messages: 12 * Original copyright messages:
13 * 13 *
14 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 14 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
15 * http://www.redhat.com 15 * All Rights Reserved.
16 * 16 *
17 * This program is free software; you can redistribute it and/or 17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License 18 * modify it under the terms of the GNU General Public License
@@ -23,7 +23,7 @@
23 * warranty for any of this software. This material is provided 23 * warranty for any of this software. This material is provided
24 * "AS-IS" and at no charge. 24 * "AS-IS" and at no charge.
25 * 25 *
26 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 26 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
27 * 27 *
28 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> 28 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
29 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 29 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/watchdog/indydog.c b/drivers/watchdog/indydog.c
index 73c9e7992feb..0f761db9a27c 100644
--- a/drivers/watchdog/indydog.c
+++ b/drivers/watchdog/indydog.c
@@ -9,7 +9,7 @@
9 * as published by the Free Software Foundation; either version 9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 * 11 *
12 * based on softdog.c by Alan Cox <alan@redhat.com> 12 * based on softdog.c by Alan Cox <alan@lxorguk.ukuu.org.uk>
13 */ 13 */
14 14
15#include <linux/module.h> 15#include <linux/module.h>
diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
index 2a9bfa81f9d6..1130ad697ce2 100644
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -4,8 +4,8 @@
4 * (c) Copyright 2004 ARM Limited 4 * (c) Copyright 2004 ARM Limited
5 * 5 *
6 * Based on the SoftDog driver: 6 * Based on the SoftDog driver:
7 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 7 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
8 * http://www.redhat.com 8 * All Rights Reserved.
9 * 9 *
10 * This program is free software; you can redistribute it and/or 10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License 11 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 7bcbb7f4745f..2f2ce7429f5b 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -16,7 +16,7 @@
16 * 20030527: George G. Davis <gdavis@mvista.com> 16 * 20030527: George G. Davis <gdavis@mvista.com>
17 * Initially based on linux-2.4.19-rmk7-pxa1/drivers/char/sa1100_wdt.c 17 * Initially based on linux-2.4.19-rmk7-pxa1/drivers/char/sa1100_wdt.c
18 * (c) Copyright 2000 Oleg Drokin <green@crimea.edu> 18 * (c) Copyright 2000 Oleg Drokin <green@crimea.edu>
19 * Based on SoftDog driver by Alan Cox <alan@redhat.com> 19 * Based on SoftDog driver by Alan Cox <alan@lxorguk.ukuu.org.uk>
20 * 20 *
21 * Copyright (c) 2004 Texas Instruments. 21 * Copyright (c) 2004 Texas Instruments.
22 * 1. Modified to support OMAP1610 32-KHz watchdog timer 22 * 1. Modified to support OMAP1610 32-KHz watchdog timer
diff --git a/drivers/watchdog/pcwd_pci.c b/drivers/watchdog/pcwd_pci.c
index 90eb1d4271d7..5d76422c402c 100644
--- a/drivers/watchdog/pcwd_pci.c
+++ b/drivers/watchdog/pcwd_pci.c
@@ -6,7 +6,7 @@
6 * Based on source code of the following authors: 6 * Based on source code of the following authors:
7 * Ken Hollis <kenji@bitgate.com>, 7 * Ken Hollis <kenji@bitgate.com>,
8 * Lindsay Harris <lindsay@bluegum.com>, 8 * Lindsay Harris <lindsay@bluegum.com>,
9 * Alan Cox <alan@redhat.com>, 9 * Alan Cox <alan@lxorguk.ukuu.org.uk>,
10 * Matt Domsch <Matt_Domsch@dell.com>, 10 * Matt Domsch <Matt_Domsch@dell.com>,
11 * Rob Radez <rob@osinvestor.com> 11 * Rob Radez <rob@osinvestor.com>
12 * 12 *
diff --git a/drivers/watchdog/pcwd_usb.c b/drivers/watchdog/pcwd_usb.c
index c1685c942de6..afb089695da8 100644
--- a/drivers/watchdog/pcwd_usb.c
+++ b/drivers/watchdog/pcwd_usb.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * Based on source code of the following authors: 6 * Based on source code of the following authors:
7 * Ken Hollis <kenji@bitgate.com>, 7 * Ken Hollis <kenji@bitgate.com>,
8 * Alan Cox <alan@redhat.com>, 8 * Alan Cox <alan@lxorguk.ukuu.org.uk>,
9 * Matt Domsch <Matt_Domsch@dell.com>, 9 * Matt Domsch <Matt_Domsch@dell.com>,
10 * Rob Radez <rob@osinvestor.com>, 10 * Rob Radez <rob@osinvestor.com>,
11 * Greg Kroah-Hartman <greg@kroah.com> 11 * Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
index c9c73b69c5e5..57027f4653ce 100644
--- a/drivers/watchdog/rc32434_wdt.c
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -7,7 +7,8 @@
7 * based on 7 * based on
8 * SoftDog 0.05: A Software Watchdog Device 8 * SoftDog 0.05: A Software Watchdog Device
9 * 9 *
10 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 10 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
11 * All Rights Reserved.
11 * 12 *
12 * This program is free software; you can redistribute it and/or 13 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License 14 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 86d42801de45..f7f6ce82a5e2 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -6,7 +6,7 @@
6 * S3C2410 Watchdog Timer Support 6 * S3C2410 Watchdog Timer Support
7 * 7 *
8 * Based on, softdog.c by Alan Cox, 8 * Based on, softdog.c by Alan Cox,
9 * (c) Copyright 1996 Alan Cox <alan@redhat.com> 9 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>
10 * 10 *
11 * This program is free software; you can redistribute it and/or modify 11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by 12 * it under the terms of the GNU General Public License as published by
diff --git a/drivers/watchdog/sa1100_wdt.c b/drivers/watchdog/sa1100_wdt.c
index 31a48437dc3d..ed01e4c2beff 100644
--- a/drivers/watchdog/sa1100_wdt.c
+++ b/drivers/watchdog/sa1100_wdt.c
@@ -2,7 +2,7 @@
2 * Watchdog driver for the SA11x0/PXA2xx 2 * Watchdog driver for the SA11x0/PXA2xx
3 * 3 *
4 * (c) Copyright 2000 Oleg Drokin <green@crimea.edu> 4 * (c) Copyright 2000 Oleg Drokin <green@crimea.edu>
5 * Based on SoftDog driver by Alan Cox <alan@redhat.com> 5 * Based on SoftDog driver by Alan Cox <alan@lxorguk.ukuu.org.uk>
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 8 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index 27e526a07c9a..38f5831c9291 100644
--- a/drivers/watchdog/sb_wdog.c
+++ b/drivers/watchdog/sb_wdog.c
@@ -35,8 +35,8 @@
35 * Based on various other watchdog drivers, which are probably all 35 * Based on various other watchdog drivers, which are probably all
36 * loosely based on something Alan Cox wrote years ago. 36 * loosely based on something Alan Cox wrote years ago.
37 * 37 *
38 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 38 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
39 * http://www.redhat.com 39 * All Rights Reserved.
40 * 40 *
41 * This program is free software; you can redistribute it and/or 41 * This program is free software; you can redistribute it and/or
42 * modify it under the terms of the GNU General Public License 42 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/sbc8360.c b/drivers/watchdog/sbc8360.c
index fd83dd052d8c..ae74f6bcfa23 100644
--- a/drivers/watchdog/sbc8360.c
+++ b/drivers/watchdog/sbc8360.c
@@ -16,8 +16,8 @@
16 * Based on acquirewdt.c which is based on wdt.c. 16 * Based on acquirewdt.c which is based on wdt.c.
17 * Original copyright messages: 17 * Original copyright messages:
18 * 18 *
19 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 19 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
20 * http://www.redhat.com 20 * All Rights Reserved.
21 * 21 *
22 * This program is free software; you can redistribute it and/or 22 * This program is free software; you can redistribute it and/or
23 * modify it under the terms of the GNU General Public License 23 * modify it under the terms of the GNU General Public License
@@ -28,7 +28,7 @@
28 * warranty for any of this software. This material is provided 28 * warranty for any of this software. This material is provided
29 * "AS-IS" and at no charge. 29 * "AS-IS" and at no charge.
30 * 30 *
31 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 31 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
32 * 32 *
33 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> 33 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
34 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 34 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
diff --git a/drivers/watchdog/sbc_epx_c3.c b/drivers/watchdog/sbc_epx_c3.c
index e5e470ca7759..06553debc7bc 100644
--- a/drivers/watchdog/sbc_epx_c3.c
+++ b/drivers/watchdog/sbc_epx_c3.c
@@ -10,7 +10,7 @@
10 * as published by the Free Software Foundation; either version 10 * as published by the Free Software Foundation; either version
11 * 2 of the License, or (at your option) any later version. 11 * 2 of the License, or (at your option) any later version.
12 * 12 *
13 * based on softdog.c by Alan Cox <alan@redhat.com> 13 * based on softdog.c by Alan Cox <alan@lxorguk.ukuu.org.uk>
14 */ 14 */
15 15
16#include <linux/module.h> 16#include <linux/module.h>
diff --git a/drivers/watchdog/smsc37b787_wdt.c b/drivers/watchdog/smsc37b787_wdt.c
index 988ff1d5b4be..2e56cad77d19 100644
--- a/drivers/watchdog/smsc37b787_wdt.c
+++ b/drivers/watchdog/smsc37b787_wdt.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * SMsC 37B787 Watchdog Timer driver for Linux 2.6.x.x 2 * SMsC 37B787 Watchdog Timer driver for Linux 2.6.x.x
3 * 3 *
4 * Based on acquirewdt.c by Alan Cox <alan@redhat.com> 4 * Based on acquirewdt.c by Alan Cox <alan@lxorguk.ukuu.org.uk>
5 * and some other existing drivers 5 * and some other existing drivers
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
diff --git a/drivers/watchdog/softdog.c b/drivers/watchdog/softdog.c
index c650464c5c63..7204f9662114 100644
--- a/drivers/watchdog/softdog.c
+++ b/drivers/watchdog/softdog.c
@@ -1,8 +1,7 @@
1/* 1/*
2 * SoftDog 0.07: A Software Watchdog Device 2 * SoftDog 0.07: A Software Watchdog Device
3 * 3 *
4 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 4 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>, All Rights Reserved.
5 * http://www.redhat.com
6 * 5 *
7 * This program is free software; you can redistribute it and/or 6 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 7 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/w83627hf_wdt.c b/drivers/watchdog/w83627hf_wdt.c
index 69396adaa5c3..916890abffdd 100644
--- a/drivers/watchdog/w83627hf_wdt.c
+++ b/drivers/watchdog/w83627hf_wdt.c
@@ -11,8 +11,8 @@
11 * 11 *
12 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl> 12 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl>
13 * 13 *
14 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 14 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
15 * http://www.redhat.com 15 * All Rights Reserved.
16 * 16 *
17 * This program is free software; you can redistribute it and/or 17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License 18 * modify it under the terms of the GNU General Public License
@@ -23,7 +23,7 @@
23 * warranty for any of this software. This material is provided 23 * warranty for any of this software. This material is provided
24 * "AS-IS" and at no charge. 24 * "AS-IS" and at no charge.
25 * 25 *
26 * (c) Copyright 1995 Alan Cox <alan@redhat.com> 26 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
27 */ 27 */
28 28
29#include <linux/module.h> 29#include <linux/module.h>
diff --git a/drivers/watchdog/w83697hf_wdt.c b/drivers/watchdog/w83697hf_wdt.c
index 445d30a01ed3..3c7aa412b1f3 100644
--- a/drivers/watchdog/w83697hf_wdt.c
+++ b/drivers/watchdog/w83697hf_wdt.c
@@ -12,8 +12,8 @@
12 * 12 *
13 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl> 13 * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl>
14 * 14 *
15 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 15 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
16 * http://www.redhat.com 16 * All Rights Reserved.
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/watchdog/wafer5823wdt.c b/drivers/watchdog/wafer5823wdt.c
index 68377ae171ff..42e940c23891 100644
--- a/drivers/watchdog/wafer5823wdt.c
+++ b/drivers/watchdog/wafer5823wdt.c
@@ -10,8 +10,8 @@
10 * Based on advantechwdt.c which is based on wdt.c. 10 * Based on advantechwdt.c which is based on wdt.c.
11 * Original copyright messages: 11 * Original copyright messages:
12 * 12 *
13 * (c) Copyright 1996-1997 Alan Cox <alan@redhat.com>, All Rights Reserved. 13 * (c) Copyright 1996-1997 Alan Cox <alan@lxorguk.ukuu.org.uk>,
14 * http://www.redhat.com 14 * All Rights Reserved.
15 * 15 *
16 * This program is free software; you can redistribute it and/or 16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License 17 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/wdt.c b/drivers/watchdog/wdt.c
index deeebb2b13ea..eddb9187e7b6 100644
--- a/drivers/watchdog/wdt.c
+++ b/drivers/watchdog/wdt.c
@@ -1,8 +1,8 @@
1/* 1/*
2 * Industrial Computer Source WDT500/501 driver 2 * Industrial Computer Source WDT500/501 driver
3 * 3 *
4 * (c) Copyright 1996-1997 Alan Cox <alan@redhat.com>, All Rights Reserved. 4 * (c) Copyright 1996-1997 Alan Cox <alan@lxorguk.ukuu.org.uk>,
5 * http://www.redhat.com 5 * All Rights Reserved.
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 8 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/wdt285.c b/drivers/watchdog/wdt285.c
index 191ea6302107..f55135662d78 100644
--- a/drivers/watchdog/wdt285.c
+++ b/drivers/watchdog/wdt285.c
@@ -6,7 +6,8 @@
6 * 6 *
7 * SoftDog 0.05: A Software Watchdog Device 7 * SoftDog 0.05: A Software Watchdog Device
8 * 8 *
9 * (c) Copyright 1996 Alan Cox <alan@redhat.com>, All Rights Reserved. 9 * (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
10 * All Rights Reserved.
10 * 11 *
11 * This program is free software; you can redistribute it and/or 12 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License 13 * modify it under the terms of the GNU General Public License
diff --git a/drivers/watchdog/wdt_pci.c b/drivers/watchdog/wdt_pci.c
index ed02bdb38c09..c45839a4a34d 100644
--- a/drivers/watchdog/wdt_pci.c
+++ b/drivers/watchdog/wdt_pci.c
@@ -1,8 +1,8 @@
1/* 1/*
2 * Industrial Computer Source PCI-WDT500/501 driver 2 * Industrial Computer Source PCI-WDT500/501 driver
3 * 3 *
4 * (c) Copyright 1996-1997 Alan Cox <alan@redhat.com>, All Rights Reserved. 4 * (c) Copyright 1996-1997 Alan Cox <alan@lxorguk.ukuu.org.uk>,
5 * http://www.redhat.com 5 * All Rights Reserved.
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 8 * modify it under the terms of the GNU General Public License
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 8c83abc73400..a0fb5eac407c 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -41,7 +41,6 @@
41#include <linux/pagemap.h> 41#include <linux/pagemap.h>
42#include <linux/highmem.h> 42#include <linux/highmem.h>
43#include <linux/mutex.h> 43#include <linux/mutex.h>
44#include <linux/highmem.h>
45#include <linux/list.h> 44#include <linux/list.h>
46#include <linux/sysdev.h> 45#include <linux/sysdev.h>
47 46
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 9ce1ab6c268d..1e3b934a4cf7 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -774,7 +774,7 @@ void xen_poll_irq(int irq)
774 774
775 poll.nr_ports = 1; 775 poll.nr_ports = 1;
776 poll.timeout = 0; 776 poll.timeout = 0;
777 poll.ports = &evtchn; 777 set_xen_guest_handle(poll.ports, &evtchn);
778 778
779 if (HYPERVISOR_sched_op(SCHEDOP_poll, &poll) != 0) 779 if (HYPERVISOR_sched_op(SCHEDOP_poll, &poll) != 0)
780 BUG(); 780 BUG();
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c
index d0e87cbe157c..9b91617b9582 100644
--- a/drivers/xen/manage.c
+++ b/drivers/xen/manage.c
@@ -39,8 +39,6 @@ static int xen_suspend(void *data)
39 39
40 BUG_ON(!irqs_disabled()); 40 BUG_ON(!irqs_disabled());
41 41
42 load_cr3(swapper_pg_dir);
43
44 err = device_power_down(PMSG_SUSPEND); 42 err = device_power_down(PMSG_SUSPEND);
45 if (err) { 43 if (err) {
46 printk(KERN_ERR "xen_suspend: device_power_down failed: %d\n", 44 printk(KERN_ERR "xen_suspend: device_power_down failed: %d\n",
diff --git a/drivers/xen/xencomm.c b/drivers/xen/xencomm.c
index 797cb4e31f07..a240b2c20b99 100644
--- a/drivers/xen/xencomm.c
+++ b/drivers/xen/xencomm.c
@@ -23,13 +23,7 @@
23#include <asm/page.h> 23#include <asm/page.h>
24#include <xen/xencomm.h> 24#include <xen/xencomm.h>
25#include <xen/interface/xen.h> 25#include <xen/interface/xen.h>
26#ifdef __ia64__ 26#include <asm/xen/xencomm.h> /* for xencomm_is_phys_contiguous() */
27#include <asm/xen/xencomm.h> /* for is_kern_addr() */
28#endif
29
30#ifdef HAVE_XEN_PLATFORM_COMPAT_H
31#include <xen/platform-compat.h>
32#endif
33 27
34static int xencomm_init(struct xencomm_desc *desc, 28static int xencomm_init(struct xencomm_desc *desc,
35 void *buffer, unsigned long bytes) 29 void *buffer, unsigned long bytes)
@@ -157,20 +151,11 @@ static int xencomm_create(void *buffer, unsigned long bytes,
157 return 0; 151 return 0;
158} 152}
159 153
160/* check if memory address is within VMALLOC region */
161static int is_phys_contiguous(unsigned long addr)
162{
163 if (!is_kernel_addr(addr))
164 return 0;
165
166 return (addr < VMALLOC_START) || (addr >= VMALLOC_END);
167}
168
169static struct xencomm_handle *xencomm_create_inline(void *ptr) 154static struct xencomm_handle *xencomm_create_inline(void *ptr)
170{ 155{
171 unsigned long paddr; 156 unsigned long paddr;
172 157
173 BUG_ON(!is_phys_contiguous((unsigned long)ptr)); 158 BUG_ON(!xencomm_is_phys_contiguous((unsigned long)ptr));
174 159
175 paddr = (unsigned long)xencomm_pa(ptr); 160 paddr = (unsigned long)xencomm_pa(ptr);
176 BUG_ON(paddr & XENCOMM_INLINE_FLAG); 161 BUG_ON(paddr & XENCOMM_INLINE_FLAG);
@@ -202,7 +187,7 @@ struct xencomm_handle *xencomm_map(void *ptr, unsigned long bytes)
202 int rc; 187 int rc;
203 struct xencomm_desc *desc; 188 struct xencomm_desc *desc;
204 189
205 if (is_phys_contiguous((unsigned long)ptr)) 190 if (xencomm_is_phys_contiguous((unsigned long)ptr))
206 return xencomm_create_inline(ptr); 191 return xencomm_create_inline(ptr);
207 192
208 rc = xencomm_create(ptr, bytes, &desc, GFP_KERNEL); 193 rc = xencomm_create(ptr, bytes, &desc, GFP_KERNEL);
@@ -219,7 +204,7 @@ struct xencomm_handle *__xencomm_map_no_alloc(void *ptr, unsigned long bytes,
219 int rc; 204 int rc;
220 struct xencomm_desc *desc = NULL; 205 struct xencomm_desc *desc = NULL;
221 206
222 if (is_phys_contiguous((unsigned long)ptr)) 207 if (xencomm_is_phys_contiguous((unsigned long)ptr))
223 return xencomm_create_inline(ptr); 208 return xencomm_create_inline(ptr);
224 209
225 rc = xencomm_create_mini(ptr, bytes, xc_desc, 210 rc = xencomm_create_mini(ptr, bytes, xc_desc,
diff --git a/fs/Makefile b/fs/Makefile
index 2168c902d5ca..d9f8afe6f0c4 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -81,8 +81,6 @@ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
81obj-$(CONFIG_CODA_FS) += coda/ 81obj-$(CONFIG_CODA_FS) += coda/
82obj-$(CONFIG_MINIX_FS) += minix/ 82obj-$(CONFIG_MINIX_FS) += minix/
83obj-$(CONFIG_FAT_FS) += fat/ 83obj-$(CONFIG_FAT_FS) += fat/
84obj-$(CONFIG_MSDOS_FS) += msdos/
85obj-$(CONFIG_VFAT_FS) += vfat/
86obj-$(CONFIG_BFS_FS) += bfs/ 84obj-$(CONFIG_BFS_FS) += bfs/
87obj-$(CONFIG_ISO9660_FS) += isofs/ 85obj-$(CONFIG_ISO9660_FS) += isofs/
88obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ 86obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
diff --git a/fs/autofs4/dev-ioctl.c b/fs/autofs4/dev-ioctl.c
index 625abf5422e2..33bf8cbfd051 100644
--- a/fs/autofs4/dev-ioctl.c
+++ b/fs/autofs4/dev-ioctl.c
@@ -128,9 +128,10 @@ static inline void free_dev_ioctl(struct autofs_dev_ioctl *param)
128 */ 128 */
129static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param) 129static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param)
130{ 130{
131 int err = -EINVAL; 131 int err;
132 132
133 if (check_dev_ioctl_version(cmd, param)) { 133 err = check_dev_ioctl_version(cmd, param);
134 if (err) {
134 AUTOFS_WARN("invalid device control module version " 135 AUTOFS_WARN("invalid device control module version "
135 "supplied for cmd(0x%08x)", cmd); 136 "supplied for cmd(0x%08x)", cmd);
136 goto out; 137 goto out;
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
index cde2f8e8935a..4b6fb3f628c0 100644
--- a/fs/autofs4/expire.c
+++ b/fs/autofs4/expire.c
@@ -56,12 +56,23 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry)
56 mntget(mnt); 56 mntget(mnt);
57 dget(dentry); 57 dget(dentry);
58 58
59 if (!autofs4_follow_mount(&mnt, &dentry)) 59 if (!follow_down(&mnt, &dentry))
60 goto done; 60 goto done;
61 61
62 /* This is an autofs submount, we can't expire it */ 62 if (is_autofs4_dentry(dentry)) {
63 if (is_autofs4_dentry(dentry)) 63 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb);
64 goto done; 64
65 /* This is an autofs submount, we can't expire it */
66 if (sbi->type == AUTOFS_TYPE_INDIRECT)
67 goto done;
68
69 /*
70 * Otherwise it's an offset mount and we need to check
71 * if we can umount its mount, if there is one.
72 */
73 if (!d_mountpoint(dentry))
74 goto done;
75 }
65 76
66 /* Update the expiry counter if fs is busy */ 77 /* Update the expiry counter if fs is busy */
67 if (!may_umount_tree(mnt)) { 78 if (!may_umount_tree(mnt)) {
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 88a776fa0ef6..db831efbdbbd 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -986,7 +986,6 @@ static int __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part);
986static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) 986static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
987{ 987{
988 struct gendisk *disk; 988 struct gendisk *disk;
989 struct hd_struct *part = NULL;
990 int ret; 989 int ret;
991 int partno; 990 int partno;
992 int perm = 0; 991 int perm = 0;
@@ -1004,24 +1003,25 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
1004 return ret; 1003 return ret;
1005 } 1004 }
1006 1005
1007 ret = -ENXIO;
1008
1009 lock_kernel(); 1006 lock_kernel();
1010 1007
1008 ret = -ENXIO;
1011 disk = get_gendisk(bdev->bd_dev, &partno); 1009 disk = get_gendisk(bdev->bd_dev, &partno);
1012 if (!disk) 1010 if (!disk)
1013 goto out_unlock_kernel; 1011 goto out_unlock_kernel;
1014 part = disk_get_part(disk, partno);
1015 if (!part)
1016 goto out_unlock_kernel;
1017 1012
1018 mutex_lock_nested(&bdev->bd_mutex, for_part); 1013 mutex_lock_nested(&bdev->bd_mutex, for_part);
1019 if (!bdev->bd_openers) { 1014 if (!bdev->bd_openers) {
1020 bdev->bd_disk = disk; 1015 bdev->bd_disk = disk;
1021 bdev->bd_part = part;
1022 bdev->bd_contains = bdev; 1016 bdev->bd_contains = bdev;
1023 if (!partno) { 1017 if (!partno) {
1024 struct backing_dev_info *bdi; 1018 struct backing_dev_info *bdi;
1019
1020 ret = -ENXIO;
1021 bdev->bd_part = disk_get_part(disk, partno);
1022 if (!bdev->bd_part)
1023 goto out_clear;
1024
1025 if (disk->fops->open) { 1025 if (disk->fops->open) {
1026 ret = disk->fops->open(bdev, mode); 1026 ret = disk->fops->open(bdev, mode);
1027 if (ret) 1027 if (ret)
@@ -1049,18 +1049,17 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
1049 bdev->bd_contains = whole; 1049 bdev->bd_contains = whole;
1050 bdev->bd_inode->i_data.backing_dev_info = 1050 bdev->bd_inode->i_data.backing_dev_info =
1051 whole->bd_inode->i_data.backing_dev_info; 1051 whole->bd_inode->i_data.backing_dev_info;
1052 bdev->bd_part = disk_get_part(disk, partno);
1052 if (!(disk->flags & GENHD_FL_UP) || 1053 if (!(disk->flags & GENHD_FL_UP) ||
1053 !part || !part->nr_sects) { 1054 !bdev->bd_part || !bdev->bd_part->nr_sects) {
1054 ret = -ENXIO; 1055 ret = -ENXIO;
1055 goto out_clear; 1056 goto out_clear;
1056 } 1057 }
1057 bd_set_size(bdev, (loff_t)part->nr_sects << 9); 1058 bd_set_size(bdev, (loff_t)bdev->bd_part->nr_sects << 9);
1058 } 1059 }
1059 } else { 1060 } else {
1060 disk_put_part(part);
1061 put_disk(disk); 1061 put_disk(disk);
1062 module_put(disk->fops->owner); 1062 module_put(disk->fops->owner);
1063 part = NULL;
1064 disk = NULL; 1063 disk = NULL;
1065 if (bdev->bd_contains == bdev) { 1064 if (bdev->bd_contains == bdev) {
1066 if (bdev->bd_disk->fops->open) { 1065 if (bdev->bd_disk->fops->open) {
@@ -1080,6 +1079,7 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
1080 return 0; 1079 return 0;
1081 1080
1082 out_clear: 1081 out_clear:
1082 disk_put_part(bdev->bd_part);
1083 bdev->bd_disk = NULL; 1083 bdev->bd_disk = NULL;
1084 bdev->bd_part = NULL; 1084 bdev->bd_part = NULL;
1085 bdev->bd_inode->i_data.backing_dev_info = &default_backing_dev_info; 1085 bdev->bd_inode->i_data.backing_dev_info = &default_backing_dev_info;
@@ -1091,7 +1091,6 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
1091 out_unlock_kernel: 1091 out_unlock_kernel:
1092 unlock_kernel(); 1092 unlock_kernel();
1093 1093
1094 disk_put_part(part);
1095 if (disk) 1094 if (disk)
1096 module_put(disk->fops->owner); 1095 module_put(disk->fops->owner);
1097 put_disk(disk); 1096 put_disk(disk);
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 8f528ea24c48..8855331b2fba 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -4,7 +4,11 @@ Various fixes to make delete of open files behavior more predictable
4(when delete of an open file fails we mark the file as "delete-on-close" 4(when delete of an open file fails we mark the file as "delete-on-close"
5in a way that more servers accept, but only if we can first rename the 5in a way that more servers accept, but only if we can first rename the
6file to a temporary name). Add experimental support for more safely 6file to a temporary name). Add experimental support for more safely
7handling fcntl(F_SETLEASE). 7handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp
8sends, and also let tcp autotune the socket send and receive buffers.
9This reduces the number of EAGAIN errors returned by TCP/IP in
10high stress workloads (and the number of retries on socket writes
11when sending large SMBWriteX requests).
8 12
9Version 1.54 13Version 1.54
10------------ 14------------
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index c791e5b5a914..1cb1189f24e0 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -141,6 +141,8 @@ struct TCP_Server_Info {
141 char versionMajor; 141 char versionMajor;
142 char versionMinor; 142 char versionMinor;
143 bool svlocal:1; /* local server or remote */ 143 bool svlocal:1; /* local server or remote */
144 bool noblocksnd; /* use blocking sendmsg */
145 bool noautotune; /* do not autotune send buf sizes */
144 atomic_t socketUseCount; /* number of open cifs sessions on socket */ 146 atomic_t socketUseCount; /* number of open cifs sessions on socket */
145 atomic_t inFlight; /* number of requests on the wire to server */ 147 atomic_t inFlight; /* number of requests on the wire to server */
146#ifdef CONFIG_CIFS_STATS2 148#ifdef CONFIG_CIFS_STATS2
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 0cff7fe986e8..6f21ecb85ce5 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -36,7 +36,7 @@ extern void cifs_buf_release(void *);
36extern struct smb_hdr *cifs_small_buf_get(void); 36extern struct smb_hdr *cifs_small_buf_get(void);
37extern void cifs_small_buf_release(void *); 37extern void cifs_small_buf_release(void *);
38extern int smb_send(struct socket *, struct smb_hdr *, 38extern int smb_send(struct socket *, struct smb_hdr *,
39 unsigned int /* length */ , struct sockaddr *); 39 unsigned int /* length */ , struct sockaddr *, bool);
40extern unsigned int _GetXid(void); 40extern unsigned int _GetXid(void);
41extern void _FreeXid(unsigned int); 41extern void _FreeXid(unsigned int);
42#define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current->fsuid)); 42#define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current->fsuid));
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 843a85fb8b9a..d5eac48fc415 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -1536,7 +1536,7 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
1536 __u32 bytes_sent; 1536 __u32 bytes_sent;
1537 __u16 byte_count; 1537 __u16 byte_count;
1538 1538
1539 /* cFYI(1,("write at %lld %d bytes",offset,count));*/ 1539 /* cFYI(1, ("write at %lld %d bytes", offset, count));*/
1540 if (tcon->ses == NULL) 1540 if (tcon->ses == NULL)
1541 return -ECONNABORTED; 1541 return -ECONNABORTED;
1542 1542
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 71b7661e2260..e9f9248cb3fe 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -92,6 +92,8 @@ struct smb_vol {
92 bool seal:1; /* request transport encryption on share */ 92 bool seal:1; /* request transport encryption on share */
93 bool nodfs:1; /* Do not request DFS, even if available */ 93 bool nodfs:1; /* Do not request DFS, even if available */
94 bool local_lease:1; /* check leases only on local system, not remote */ 94 bool local_lease:1; /* check leases only on local system, not remote */
95 bool noblocksnd:1;
96 bool noautotune:1;
95 unsigned int rsize; 97 unsigned int rsize;
96 unsigned int wsize; 98 unsigned int wsize;
97 unsigned int sockopt; 99 unsigned int sockopt;
@@ -102,9 +104,11 @@ struct smb_vol {
102static int ipv4_connect(struct sockaddr_in *psin_server, 104static int ipv4_connect(struct sockaddr_in *psin_server,
103 struct socket **csocket, 105 struct socket **csocket,
104 char *netb_name, 106 char *netb_name,
105 char *server_netb_name); 107 char *server_netb_name,
108 bool noblocksnd,
109 bool nosndbuf); /* ipv6 never set sndbuf size */
106static int ipv6_connect(struct sockaddr_in6 *psin_server, 110static int ipv6_connect(struct sockaddr_in6 *psin_server,
107 struct socket **csocket); 111 struct socket **csocket, bool noblocksnd);
108 112
109 113
110 /* 114 /*
@@ -191,12 +195,13 @@ cifs_reconnect(struct TCP_Server_Info *server)
191 try_to_freeze(); 195 try_to_freeze();
192 if (server->protocolType == IPV6) { 196 if (server->protocolType == IPV6) {
193 rc = ipv6_connect(&server->addr.sockAddr6, 197 rc = ipv6_connect(&server->addr.sockAddr6,
194 &server->ssocket); 198 &server->ssocket, server->noautotune);
195 } else { 199 } else {
196 rc = ipv4_connect(&server->addr.sockAddr, 200 rc = ipv4_connect(&server->addr.sockAddr,
197 &server->ssocket, 201 &server->ssocket,
198 server->workstation_RFC1001_name, 202 server->workstation_RFC1001_name,
199 server->server_RFC1001_name); 203 server->server_RFC1001_name,
204 server->noblocksnd, server->noautotune);
200 } 205 }
201 if (rc) { 206 if (rc) {
202 cFYI(1, ("reconnect error %d", rc)); 207 cFYI(1, ("reconnect error %d", rc));
@@ -1192,6 +1197,10 @@ cifs_parse_mount_options(char *options, const char *devname,
1192 /* ignore */ 1197 /* ignore */
1193 } else if (strnicmp(data, "rw", 2) == 0) { 1198 } else if (strnicmp(data, "rw", 2) == 0) {
1194 vol->rw = true; 1199 vol->rw = true;
1200 } else if (strnicmp(data, "noblocksend", 11) == 0) {
1201 vol->noblocksnd = 1;
1202 } else if (strnicmp(data, "noautotune", 10) == 0) {
1203 vol->noautotune = 1;
1195 } else if ((strnicmp(data, "suid", 4) == 0) || 1204 } else if ((strnicmp(data, "suid", 4) == 0) ||
1196 (strnicmp(data, "nosuid", 6) == 0) || 1205 (strnicmp(data, "nosuid", 6) == 0) ||
1197 (strnicmp(data, "exec", 4) == 0) || 1206 (strnicmp(data, "exec", 4) == 0) ||
@@ -1518,7 +1527,8 @@ static void rfc1002mangle(char *target, char *source, unsigned int length)
1518 1527
1519static int 1528static int
1520ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, 1529ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket,
1521 char *netbios_name, char *target_name) 1530 char *netbios_name, char *target_name,
1531 bool noblocksnd, bool noautotune)
1522{ 1532{
1523 int rc = 0; 1533 int rc = 0;
1524 int connected = 0; 1534 int connected = 0;
@@ -1590,11 +1600,16 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket,
1590 (*csocket)->sk->sk_sndbuf, 1600 (*csocket)->sk->sk_sndbuf,
1591 (*csocket)->sk->sk_rcvbuf, (*csocket)->sk->sk_rcvtimeo)); 1601 (*csocket)->sk->sk_rcvbuf, (*csocket)->sk->sk_rcvtimeo));
1592 (*csocket)->sk->sk_rcvtimeo = 7 * HZ; 1602 (*csocket)->sk->sk_rcvtimeo = 7 * HZ;
1603 if (!noblocksnd)
1604 (*csocket)->sk->sk_sndtimeo = 3 * HZ;
1605
1593 /* make the bufsizes depend on wsize/rsize and max requests */ 1606 /* make the bufsizes depend on wsize/rsize and max requests */
1594 if ((*csocket)->sk->sk_sndbuf < (200 * 1024)) 1607 if (noautotune) {
1595 (*csocket)->sk->sk_sndbuf = 200 * 1024; 1608 if ((*csocket)->sk->sk_sndbuf < (200 * 1024))
1596 if ((*csocket)->sk->sk_rcvbuf < (140 * 1024)) 1609 (*csocket)->sk->sk_sndbuf = 200 * 1024;
1597 (*csocket)->sk->sk_rcvbuf = 140 * 1024; 1610 if ((*csocket)->sk->sk_rcvbuf < (140 * 1024))
1611 (*csocket)->sk->sk_rcvbuf = 140 * 1024;
1612 }
1598 1613
1599 /* send RFC1001 sessinit */ 1614 /* send RFC1001 sessinit */
1600 if (psin_server->sin_port == htons(RFC1001_PORT)) { 1615 if (psin_server->sin_port == htons(RFC1001_PORT)) {
@@ -1631,7 +1646,7 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket,
1631 /* sizeof RFC1002_SESSION_REQUEST with no scope */ 1646 /* sizeof RFC1002_SESSION_REQUEST with no scope */
1632 smb_buf->smb_buf_length = 0x81000044; 1647 smb_buf->smb_buf_length = 0x81000044;
1633 rc = smb_send(*csocket, smb_buf, 0x44, 1648 rc = smb_send(*csocket, smb_buf, 0x44,
1634 (struct sockaddr *)psin_server); 1649 (struct sockaddr *)psin_server, noblocksnd);
1635 kfree(ses_init_buf); 1650 kfree(ses_init_buf);
1636 msleep(1); /* RFC1001 layer in at least one server 1651 msleep(1); /* RFC1001 layer in at least one server
1637 requires very short break before negprot 1652 requires very short break before negprot
@@ -1651,7 +1666,8 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket,
1651} 1666}
1652 1667
1653static int 1668static int
1654ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) 1669ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket,
1670 bool noblocksnd)
1655{ 1671{
1656 int rc = 0; 1672 int rc = 0;
1657 int connected = 0; 1673 int connected = 0;
@@ -1720,6 +1736,9 @@ ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket)
1720 the default. sock_setsockopt not used because it expects 1736 the default. sock_setsockopt not used because it expects
1721 user space buffer */ 1737 user space buffer */
1722 (*csocket)->sk->sk_rcvtimeo = 7 * HZ; 1738 (*csocket)->sk->sk_rcvtimeo = 7 * HZ;
1739 if (!noblocksnd)
1740 (*csocket)->sk->sk_sndtimeo = 3 * HZ;
1741
1723 1742
1724 return rc; 1743 return rc;
1725} 1744}
@@ -1983,11 +2002,14 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
1983 cFYI(1, ("attempting ipv6 connect")); 2002 cFYI(1, ("attempting ipv6 connect"));
1984 /* BB should we allow ipv6 on port 139? */ 2003 /* BB should we allow ipv6 on port 139? */
1985 /* other OS never observed in Wild doing 139 with v6 */ 2004 /* other OS never observed in Wild doing 139 with v6 */
1986 rc = ipv6_connect(&sin_server6, &csocket); 2005 rc = ipv6_connect(&sin_server6, &csocket,
2006 volume_info.noblocksnd);
1987 } else 2007 } else
1988 rc = ipv4_connect(&sin_server, &csocket, 2008 rc = ipv4_connect(&sin_server, &csocket,
1989 volume_info.source_rfc1001_name, 2009 volume_info.source_rfc1001_name,
1990 volume_info.target_rfc1001_name); 2010 volume_info.target_rfc1001_name,
2011 volume_info.noblocksnd,
2012 volume_info.noautotune);
1991 if (rc < 0) { 2013 if (rc < 0) {
1992 cERROR(1, ("Error connecting to IPv4 socket. " 2014 cERROR(1, ("Error connecting to IPv4 socket. "
1993 "Aborting operation")); 2015 "Aborting operation"));
@@ -2002,6 +2024,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
2002 sock_release(csocket); 2024 sock_release(csocket);
2003 goto out; 2025 goto out;
2004 } else { 2026 } else {
2027 srvTcp->noblocksnd = volume_info.noblocksnd;
2028 srvTcp->noautotune = volume_info.noautotune;
2005 memcpy(&srvTcp->addr.sockAddr, &sin_server, 2029 memcpy(&srvTcp->addr.sockAddr, &sin_server,
2006 sizeof(struct sockaddr_in)); 2030 sizeof(struct sockaddr_in));
2007 atomic_set(&srvTcp->inFlight, 0); 2031 atomic_set(&srvTcp->inFlight, 0);
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 62d8bd8f14c0..ead1a3bb0256 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -1824,7 +1824,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
1824 pTcon = cifs_sb->tcon; 1824 pTcon = cifs_sb->tcon;
1825 1825
1826 pagevec_init(&lru_pvec, 0); 1826 pagevec_init(&lru_pvec, 0);
1827 cFYI(DBG2, ("rpages: num pages %d", num_pages)); 1827 cFYI(DBG2, ("rpages: num pages %d", num_pages));
1828 for (i = 0; i < num_pages; ) { 1828 for (i = 0; i < num_pages; ) {
1829 unsigned contig_pages; 1829 unsigned contig_pages;
1830 struct page *tmp_page; 1830 struct page *tmp_page;
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index d54fa8aeaea9..ff8c68de4a92 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -1361,9 +1361,11 @@ int cifs_rename(struct inode *source_dir, struct dentry *source_dentry,
1361 CIFS_MOUNT_MAP_SPECIAL_CHR); 1361 CIFS_MOUNT_MAP_SPECIAL_CHR);
1362 1362
1363 if (tmprc == 0 && (info_buf_source->UniqueId == 1363 if (tmprc == 0 && (info_buf_source->UniqueId ==
1364 info_buf_target->UniqueId)) 1364 info_buf_target->UniqueId)) {
1365 /* same file, POSIX says that this is a noop */ 1365 /* same file, POSIX says that this is a noop */
1366 rc = 0;
1366 goto cifs_rename_exit; 1367 goto cifs_rename_exit;
1368 }
1367 } /* else ... BB we could add the same check for Windows by 1369 } /* else ... BB we could add the same check for Windows by
1368 checking the UniqueId via FILE_INTERNAL_INFO */ 1370 checking the UniqueId via FILE_INTERNAL_INFO */
1369 1371
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index bf0e6d8e382a..ff8243a8fe3e 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -161,7 +161,7 @@ void DeleteTconOplockQEntries(struct cifsTconInfo *tcon)
161 161
162int 162int
163smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, 163smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer,
164 unsigned int smb_buf_length, struct sockaddr *sin) 164 unsigned int smb_buf_length, struct sockaddr *sin, bool noblocksnd)
165{ 165{
166 int rc = 0; 166 int rc = 0;
167 int i = 0; 167 int i = 0;
@@ -178,7 +178,10 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer,
178 smb_msg.msg_namelen = sizeof(struct sockaddr); 178 smb_msg.msg_namelen = sizeof(struct sockaddr);
179 smb_msg.msg_control = NULL; 179 smb_msg.msg_control = NULL;
180 smb_msg.msg_controllen = 0; 180 smb_msg.msg_controllen = 0;
181 smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; /* BB add more flags?*/ 181 if (noblocksnd)
182 smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL;
183 else
184 smb_msg.msg_flags = MSG_NOSIGNAL;
182 185
183 /* smb header is converted in header_assemble. bcc and rest of SMB word 186 /* smb header is converted in header_assemble. bcc and rest of SMB word
184 area, and byte area if necessary, is converted to littleendian in 187 area, and byte area if necessary, is converted to littleendian in
@@ -229,8 +232,8 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer,
229} 232}
230 233
231static int 234static int
232smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, 235smb_send2(struct TCP_Server_Info *server, struct kvec *iov, int n_vec,
233 struct sockaddr *sin) 236 struct sockaddr *sin, bool noblocksnd)
234{ 237{
235 int rc = 0; 238 int rc = 0;
236 int i = 0; 239 int i = 0;
@@ -240,6 +243,7 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec,
240 unsigned int total_len; 243 unsigned int total_len;
241 int first_vec = 0; 244 int first_vec = 0;
242 unsigned int smb_buf_length = smb_buffer->smb_buf_length; 245 unsigned int smb_buf_length = smb_buffer->smb_buf_length;
246 struct socket *ssocket = server->ssocket;
243 247
244 if (ssocket == NULL) 248 if (ssocket == NULL)
245 return -ENOTSOCK; /* BB eventually add reconnect code here */ 249 return -ENOTSOCK; /* BB eventually add reconnect code here */
@@ -248,7 +252,10 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec,
248 smb_msg.msg_namelen = sizeof(struct sockaddr); 252 smb_msg.msg_namelen = sizeof(struct sockaddr);
249 smb_msg.msg_control = NULL; 253 smb_msg.msg_control = NULL;
250 smb_msg.msg_controllen = 0; 254 smb_msg.msg_controllen = 0;
251 smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; /* BB add more flags?*/ 255 if (noblocksnd)
256 smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL;
257 else
258 smb_msg.msg_flags = MSG_NOSIGNAL;
252 259
253 /* smb header is converted in header_assemble. bcc and rest of SMB word 260 /* smb header is converted in header_assemble. bcc and rest of SMB word
254 area, and byte area if necessary, is converted to littleendian in 261 area, and byte area if necessary, is converted to littleendian in
@@ -283,8 +290,11 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec,
283 if (rc < 0) 290 if (rc < 0)
284 break; 291 break;
285 292
286 if (rc >= total_len) { 293 if (rc == total_len) {
287 WARN_ON(rc > total_len); 294 total_len = 0;
295 break;
296 } else if (rc > total_len) {
297 cERROR(1, ("sent %d requested %d", rc, total_len));
288 break; 298 break;
289 } 299 }
290 if (rc == 0) { 300 if (rc == 0) {
@@ -312,6 +322,16 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec,
312 i = 0; /* in case we get ENOSPC on the next send */ 322 i = 0; /* in case we get ENOSPC on the next send */
313 } 323 }
314 324
325 if ((total_len > 0) && (total_len != smb_buf_length + 4)) {
326 cFYI(1, ("partial send (%d remaining), terminating session",
327 total_len));
328 /* If we have only sent part of an SMB then the next SMB
329 could be taken as the remainder of this one. We need
330 to kill the socket so the server throws away the partial
331 SMB */
332 server->tcpStatus = CifsNeedReconnect;
333 }
334
315 if (rc < 0) { 335 if (rc < 0) {
316 cERROR(1, ("Error %d sending data on socket to server", rc)); 336 cERROR(1, ("Error %d sending data on socket to server", rc));
317 } else 337 } else
@@ -518,8 +538,9 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
518#ifdef CONFIG_CIFS_STATS2 538#ifdef CONFIG_CIFS_STATS2
519 atomic_inc(&ses->server->inSend); 539 atomic_inc(&ses->server->inSend);
520#endif 540#endif
521 rc = smb_send2(ses->server->ssocket, iov, n_vec, 541 rc = smb_send2(ses->server, iov, n_vec,
522 (struct sockaddr *) &(ses->server->addr.sockAddr)); 542 (struct sockaddr *) &(ses->server->addr.sockAddr),
543 ses->server->noblocksnd);
523#ifdef CONFIG_CIFS_STATS2 544#ifdef CONFIG_CIFS_STATS2
524 atomic_dec(&ses->server->inSend); 545 atomic_dec(&ses->server->inSend);
525 midQ->when_sent = jiffies; 546 midQ->when_sent = jiffies;
@@ -711,7 +732,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses,
711 atomic_inc(&ses->server->inSend); 732 atomic_inc(&ses->server->inSend);
712#endif 733#endif
713 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, 734 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length,
714 (struct sockaddr *) &(ses->server->addr.sockAddr)); 735 (struct sockaddr *) &(ses->server->addr.sockAddr),
736 ses->server->noblocksnd);
715#ifdef CONFIG_CIFS_STATS2 737#ifdef CONFIG_CIFS_STATS2
716 atomic_dec(&ses->server->inSend); 738 atomic_dec(&ses->server->inSend);
717 midQ->when_sent = jiffies; 739 midQ->when_sent = jiffies;
@@ -851,7 +873,8 @@ send_nt_cancel(struct cifsTconInfo *tcon, struct smb_hdr *in_buf,
851 return rc; 873 return rc;
852 } 874 }
853 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, 875 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length,
854 (struct sockaddr *) &(ses->server->addr.sockAddr)); 876 (struct sockaddr *) &(ses->server->addr.sockAddr),
877 ses->server->noblocksnd);
855 up(&ses->server->tcpSem); 878 up(&ses->server->tcpSem);
856 return rc; 879 return rc;
857} 880}
@@ -941,7 +964,8 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon,
941 atomic_inc(&ses->server->inSend); 964 atomic_inc(&ses->server->inSend);
942#endif 965#endif
943 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, 966 rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length,
944 (struct sockaddr *) &(ses->server->addr.sockAddr)); 967 (struct sockaddr *) &(ses->server->addr.sockAddr),
968 ses->server->noblocksnd);
945#ifdef CONFIG_CIFS_STATS2 969#ifdef CONFIG_CIFS_STATS2
946 atomic_dec(&ses->server->inSend); 970 atomic_dec(&ses->server->inSend);
947 midQ->when_sent = jiffies; 971 midQ->when_sent = jiffies;
diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c
index cfd29da714d1..0376ac66c44a 100644
--- a/fs/coda/psdev.c
+++ b/fs/coda/psdev.c
@@ -2,7 +2,7 @@
2 * An implementation of a loadable kernel mode driver providing 2 * An implementation of a loadable kernel mode driver providing
3 * multiple kernel/user space bidirectional communications links. 3 * multiple kernel/user space bidirectional communications links.
4 * 4 *
5 * Author: Alan Cox <alan@redhat.com> 5 * Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
6 * 6 *
7 * This program is free software; you can redistribute it and/or 7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License 8 * modify it under the terms of the GNU General Public License
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index 06db79d05c12..6046239465a1 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -1251,6 +1251,7 @@ struct kmem_cache *ecryptfs_header_cache_2;
1251/** 1251/**
1252 * ecryptfs_write_headers_virt 1252 * ecryptfs_write_headers_virt
1253 * @page_virt: The virtual address to write the headers to 1253 * @page_virt: The virtual address to write the headers to
1254 * @max: The size of memory allocated at page_virt
1254 * @size: Set to the number of bytes written by this function 1255 * @size: Set to the number of bytes written by this function
1255 * @crypt_stat: The cryptographic context 1256 * @crypt_stat: The cryptographic context
1256 * @ecryptfs_dentry: The eCryptfs dentry 1257 * @ecryptfs_dentry: The eCryptfs dentry
@@ -1278,7 +1279,8 @@ struct kmem_cache *ecryptfs_header_cache_2;
1278 * 1279 *
1279 * Returns zero on success 1280 * Returns zero on success
1280 */ 1281 */
1281static int ecryptfs_write_headers_virt(char *page_virt, size_t *size, 1282static int ecryptfs_write_headers_virt(char *page_virt, size_t max,
1283 size_t *size,
1282 struct ecryptfs_crypt_stat *crypt_stat, 1284 struct ecryptfs_crypt_stat *crypt_stat,
1283 struct dentry *ecryptfs_dentry) 1285 struct dentry *ecryptfs_dentry)
1284{ 1286{
@@ -1296,7 +1298,7 @@ static int ecryptfs_write_headers_virt(char *page_virt, size_t *size,
1296 offset += written; 1298 offset += written;
1297 rc = ecryptfs_generate_key_packet_set((page_virt + offset), crypt_stat, 1299 rc = ecryptfs_generate_key_packet_set((page_virt + offset), crypt_stat,
1298 ecryptfs_dentry, &written, 1300 ecryptfs_dentry, &written,
1299 PAGE_CACHE_SIZE - offset); 1301 max - offset);
1300 if (rc) 1302 if (rc)
1301 ecryptfs_printk(KERN_WARNING, "Error generating key packet " 1303 ecryptfs_printk(KERN_WARNING, "Error generating key packet "
1302 "set; rc = [%d]\n", rc); 1304 "set; rc = [%d]\n", rc);
@@ -1368,14 +1370,14 @@ int ecryptfs_write_metadata(struct dentry *ecryptfs_dentry)
1368 goto out; 1370 goto out;
1369 } 1371 }
1370 /* Released in this function */ 1372 /* Released in this function */
1371 virt = kzalloc(crypt_stat->num_header_bytes_at_front, GFP_KERNEL); 1373 virt = (char *)get_zeroed_page(GFP_KERNEL);
1372 if (!virt) { 1374 if (!virt) {
1373 printk(KERN_ERR "%s: Out of memory\n", __func__); 1375 printk(KERN_ERR "%s: Out of memory\n", __func__);
1374 rc = -ENOMEM; 1376 rc = -ENOMEM;
1375 goto out; 1377 goto out;
1376 } 1378 }
1377 rc = ecryptfs_write_headers_virt(virt, &size, crypt_stat, 1379 rc = ecryptfs_write_headers_virt(virt, PAGE_CACHE_SIZE, &size,
1378 ecryptfs_dentry); 1380 crypt_stat, ecryptfs_dentry);
1379 if (unlikely(rc)) { 1381 if (unlikely(rc)) {
1380 printk(KERN_ERR "%s: Error whilst writing headers; rc = [%d]\n", 1382 printk(KERN_ERR "%s: Error whilst writing headers; rc = [%d]\n",
1381 __func__, rc); 1383 __func__, rc);
@@ -1393,8 +1395,7 @@ int ecryptfs_write_metadata(struct dentry *ecryptfs_dentry)
1393 goto out_free; 1395 goto out_free;
1394 } 1396 }
1395out_free: 1397out_free:
1396 memset(virt, 0, crypt_stat->num_header_bytes_at_front); 1398 free_page((unsigned long)virt);
1397 kfree(virt);
1398out: 1399out:
1399 return rc; 1400 return rc;
1400} 1401}
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 18eaa78ecb4e..5dec6d1356c4 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -281,7 +281,8 @@ void ext3_abort (struct super_block * sb, const char * function,
281 EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS; 281 EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS;
282 sb->s_flags |= MS_RDONLY; 282 sb->s_flags |= MS_RDONLY;
283 EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT; 283 EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT;
284 journal_abort(EXT3_SB(sb)->s_journal, -EIO); 284 if (EXT3_SB(sb)->s_journal)
285 journal_abort(EXT3_SB(sb)->s_journal, -EIO);
285} 286}
286 287
287void ext3_warning (struct super_block * sb, const char * function, 288void ext3_warning (struct super_block * sb, const char * function,
@@ -390,11 +391,14 @@ static void ext3_put_super (struct super_block * sb)
390{ 391{
391 struct ext3_sb_info *sbi = EXT3_SB(sb); 392 struct ext3_sb_info *sbi = EXT3_SB(sb);
392 struct ext3_super_block *es = sbi->s_es; 393 struct ext3_super_block *es = sbi->s_es;
393 int i; 394 int i, err;
394 395
395 ext3_xattr_put_super(sb); 396 ext3_xattr_put_super(sb);
396 if (journal_destroy(sbi->s_journal) < 0) 397 err = journal_destroy(sbi->s_journal);
398 sbi->s_journal = NULL;
399 if (err < 0)
397 ext3_abort(sb, __func__, "Couldn't clean up the journal"); 400 ext3_abort(sb, __func__, "Couldn't clean up the journal");
401
398 if (!(sb->s_flags & MS_RDONLY)) { 402 if (!(sb->s_flags & MS_RDONLY)) {
399 EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); 403 EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER);
400 es->s_state = cpu_to_le16(sbi->s_mount_state); 404 es->s_state = cpu_to_le16(sbi->s_mount_state);
@@ -2386,13 +2390,12 @@ static void ext3_write_super (struct super_block * sb)
2386 2390
2387static int ext3_sync_fs(struct super_block *sb, int wait) 2391static int ext3_sync_fs(struct super_block *sb, int wait)
2388{ 2392{
2389 tid_t target;
2390
2391 sb->s_dirt = 0; 2393 sb->s_dirt = 0;
2392 if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) { 2394 if (wait)
2393 if (wait) 2395 ext3_force_commit(sb);
2394 log_wait_commit(EXT3_SB(sb)->s_journal, target); 2396 else
2395 } 2397 journal_start_commit(EXT3_SB(sb)->s_journal, NULL);
2398
2396 return 0; 2399 return 0;
2397} 2400}
2398 2401
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
index b9821be709bd..d2003cdc36aa 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -589,21 +589,23 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode,
589 return; 589 return;
590} 590}
591 591
592int ext4_claim_free_blocks(struct ext4_sb_info *sbi, 592/**
593 s64 nblocks) 593 * ext4_has_free_blocks()
594 * @sbi: in-core super block structure.
595 * @nblocks: number of needed blocks
596 *
597 * Check if filesystem has nblocks free & available for allocation.
598 * On success return 1, return 0 on failure.
599 */
600int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks)
594{ 601{
595 s64 free_blocks, dirty_blocks; 602 s64 free_blocks, dirty_blocks, root_blocks;
596 s64 root_blocks = 0;
597 struct percpu_counter *fbc = &sbi->s_freeblocks_counter; 603 struct percpu_counter *fbc = &sbi->s_freeblocks_counter;
598 struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter; 604 struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter;
599 605
600 free_blocks = percpu_counter_read_positive(fbc); 606 free_blocks = percpu_counter_read_positive(fbc);
601 dirty_blocks = percpu_counter_read_positive(dbc); 607 dirty_blocks = percpu_counter_read_positive(dbc);
602 608 root_blocks = ext4_r_blocks_count(sbi->s_es);
603 if (!capable(CAP_SYS_RESOURCE) &&
604 sbi->s_resuid != current->fsuid &&
605 (sbi->s_resgid == 0 || !in_group_p(sbi->s_resgid)))
606 root_blocks = ext4_r_blocks_count(sbi->s_es);
607 609
608 if (free_blocks - (nblocks + root_blocks + dirty_blocks) < 610 if (free_blocks - (nblocks + root_blocks + dirty_blocks) <
609 EXT4_FREEBLOCKS_WATERMARK) { 611 EXT4_FREEBLOCKS_WATERMARK) {
@@ -616,57 +618,32 @@ int ext4_claim_free_blocks(struct ext4_sb_info *sbi,
616 } 618 }
617 } 619 }
618 /* Check whether we have space after 620 /* Check whether we have space after
619 * accounting for current dirty blocks 621 * accounting for current dirty blocks & root reserved blocks.
620 */ 622 */
621 if (free_blocks < ((root_blocks + nblocks) + dirty_blocks)) 623 if (free_blocks >= ((root_blocks + nblocks) + dirty_blocks))
622 /* we don't have free space */ 624 return 1;
623 return -ENOSPC; 625
626 /* Hm, nope. Are (enough) root reserved blocks available? */
627 if (sbi->s_resuid == current->fsuid ||
628 ((sbi->s_resgid != 0) && in_group_p(sbi->s_resgid)) ||
629 capable(CAP_SYS_RESOURCE)) {
630 if (free_blocks >= (nblocks + dirty_blocks))
631 return 1;
632 }
624 633
625 /* Add the blocks to nblocks */
626 percpu_counter_add(dbc, nblocks);
627 return 0; 634 return 0;
628} 635}
629 636
630/** 637int ext4_claim_free_blocks(struct ext4_sb_info *sbi,
631 * ext4_has_free_blocks()
632 * @sbi: in-core super block structure.
633 * @nblocks: number of neeed blocks
634 *
635 * Check if filesystem has free blocks available for allocation.
636 * Return the number of blocks avaible for allocation for this request
637 * On success, return nblocks
638 */
639ext4_fsblk_t ext4_has_free_blocks(struct ext4_sb_info *sbi,
640 s64 nblocks) 638 s64 nblocks)
641{ 639{
642 s64 free_blocks, dirty_blocks; 640 if (ext4_has_free_blocks(sbi, nblocks)) {
643 s64 root_blocks = 0; 641 percpu_counter_add(&sbi->s_dirtyblocks_counter, nblocks);
644 struct percpu_counter *fbc = &sbi->s_freeblocks_counter;
645 struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter;
646
647 free_blocks = percpu_counter_read_positive(fbc);
648 dirty_blocks = percpu_counter_read_positive(dbc);
649
650 if (!capable(CAP_SYS_RESOURCE) &&
651 sbi->s_resuid != current->fsuid &&
652 (sbi->s_resgid == 0 || !in_group_p(sbi->s_resgid)))
653 root_blocks = ext4_r_blocks_count(sbi->s_es);
654
655 if (free_blocks - (nblocks + root_blocks + dirty_blocks) <
656 EXT4_FREEBLOCKS_WATERMARK) {
657 free_blocks = percpu_counter_sum(fbc);
658 dirty_blocks = percpu_counter_sum(dbc);
659 }
660 if (free_blocks <= (root_blocks + dirty_blocks))
661 /* we don't have free space */
662 return 0; 642 return 0;
663 643 } else
664 if (free_blocks - (root_blocks + dirty_blocks) < nblocks) 644 return -ENOSPC;
665 return free_blocks - (root_blocks + dirty_blocks);
666 return nblocks;
667} 645}
668 646
669
670/** 647/**
671 * ext4_should_retry_alloc() 648 * ext4_should_retry_alloc()
672 * @sb: super block 649 * @sb: super block
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 4880cc3e6727..b0537c827024 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1003,8 +1003,7 @@ extern ext4_fsblk_t ext4_new_blocks(handle_t *handle, struct inode *inode,
1003 ext4_lblk_t iblock, ext4_fsblk_t goal, 1003 ext4_lblk_t iblock, ext4_fsblk_t goal,
1004 unsigned long *count, int *errp); 1004 unsigned long *count, int *errp);
1005extern int ext4_claim_free_blocks(struct ext4_sb_info *sbi, s64 nblocks); 1005extern int ext4_claim_free_blocks(struct ext4_sb_info *sbi, s64 nblocks);
1006extern ext4_fsblk_t ext4_has_free_blocks(struct ext4_sb_info *sbi, 1006extern int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks);
1007 s64 nblocks);
1008extern void ext4_free_blocks(handle_t *handle, struct inode *inode, 1007extern void ext4_free_blocks(handle_t *handle, struct inode *inode,
1009 ext4_fsblk_t block, unsigned long count, int metadata); 1008 ext4_fsblk_t block, unsigned long count, int metadata);
1010extern void ext4_free_blocks_sb(handle_t *handle, struct super_block *sb, 1009extern void ext4_free_blocks_sb(handle_t *handle, struct super_block *sb,
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index fe34d74cfb19..2a117e286e54 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -718,6 +718,8 @@ got:
718 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT); 718 gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);
719 free = ext4_free_blocks_after_init(sb, group, gdp); 719 free = ext4_free_blocks_after_init(sb, group, gdp);
720 gdp->bg_free_blocks_count = cpu_to_le16(free); 720 gdp->bg_free_blocks_count = cpu_to_le16(free);
721 gdp->bg_checksum = ext4_group_desc_csum(sbi, group,
722 gdp);
721 } 723 }
722 spin_unlock(sb_bgl_lock(sbi, group)); 724 spin_unlock(sb_bgl_lock(sbi, group));
723 725
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 8dbf6953845b..be21a5ae33cb 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -2329,6 +2329,8 @@ static int ext4_da_writepage(struct page *page,
2329 unlock_page(page); 2329 unlock_page(page);
2330 return 0; 2330 return 0;
2331 } 2331 }
2332 /* now mark the buffer_heads as dirty and uptodate */
2333 block_commit_write(page, 0, PAGE_CACHE_SIZE);
2332 } 2334 }
2333 2335
2334 if (test_opt(inode->i_sb, NOBH) && ext4_should_writeback_data(inode)) 2336 if (test_opt(inode->i_sb, NOBH) && ext4_should_writeback_data(inode))
@@ -4580,9 +4582,10 @@ static int ext4_indirect_trans_blocks(struct inode *inode, int nrblocks,
4580static int ext4_index_trans_blocks(struct inode *inode, int nrblocks, int chunk) 4582static int ext4_index_trans_blocks(struct inode *inode, int nrblocks, int chunk)
4581{ 4583{
4582 if (!(EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL)) 4584 if (!(EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL))
4583 return ext4_indirect_trans_blocks(inode, nrblocks, 0); 4585 return ext4_indirect_trans_blocks(inode, nrblocks, chunk);
4584 return ext4_ext_index_trans_blocks(inode, nrblocks, 0); 4586 return ext4_ext_index_trans_blocks(inode, nrblocks, chunk);
4585} 4587}
4588
4586/* 4589/*
4587 * Account for index blocks, block groups bitmaps and block group 4590 * Account for index blocks, block groups bitmaps and block group
4588 * descriptor blocks if modify datablocks and index blocks 4591 * descriptor blocks if modify datablocks and index blocks
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index dfe17a134052..444ad998f72e 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -4441,6 +4441,7 @@ ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b,
4441 else if (block >= (entry->start_blk + entry->count)) 4441 else if (block >= (entry->start_blk + entry->count))
4442 n = &(*n)->rb_right; 4442 n = &(*n)->rb_right;
4443 else { 4443 else {
4444 ext4_unlock_group(sb, group);
4444 ext4_error(sb, __func__, 4445 ext4_error(sb, __func__,
4445 "Double free of blocks %d (%d %d)\n", 4446 "Double free of blocks %d (%d %d)\n",
4446 block, entry->start_blk, entry->count); 4447 block, entry->start_blk, entry->count);
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index bdddea14e782..e4a241c65dbe 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -333,7 +333,8 @@ void ext4_abort(struct super_block *sb, const char *function,
333 EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS; 333 EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS;
334 sb->s_flags |= MS_RDONLY; 334 sb->s_flags |= MS_RDONLY;
335 EXT4_SB(sb)->s_mount_opt |= EXT4_MOUNT_ABORT; 335 EXT4_SB(sb)->s_mount_opt |= EXT4_MOUNT_ABORT;
336 jbd2_journal_abort(EXT4_SB(sb)->s_journal, -EIO); 336 if (EXT4_SB(sb)->s_journal)
337 jbd2_journal_abort(EXT4_SB(sb)->s_journal, -EIO);
337} 338}
338 339
339void ext4_warning(struct super_block *sb, const char *function, 340void ext4_warning(struct super_block *sb, const char *function,
@@ -442,14 +443,16 @@ static void ext4_put_super(struct super_block *sb)
442{ 443{
443 struct ext4_sb_info *sbi = EXT4_SB(sb); 444 struct ext4_sb_info *sbi = EXT4_SB(sb);
444 struct ext4_super_block *es = sbi->s_es; 445 struct ext4_super_block *es = sbi->s_es;
445 int i; 446 int i, err;
446 447
447 ext4_mb_release(sb); 448 ext4_mb_release(sb);
448 ext4_ext_release(sb); 449 ext4_ext_release(sb);
449 ext4_xattr_put_super(sb); 450 ext4_xattr_put_super(sb);
450 if (jbd2_journal_destroy(sbi->s_journal) < 0) 451 err = jbd2_journal_destroy(sbi->s_journal);
451 ext4_abort(sb, __func__, "Couldn't clean up the journal");
452 sbi->s_journal = NULL; 452 sbi->s_journal = NULL;
453 if (err < 0)
454 ext4_abort(sb, __func__, "Couldn't clean up the journal");
455
453 if (!(sb->s_flags & MS_RDONLY)) { 456 if (!(sb->s_flags & MS_RDONLY)) {
454 EXT4_CLEAR_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_RECOVER); 457 EXT4_CLEAR_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_RECOVER);
455 es->s_state = cpu_to_le16(sbi->s_mount_state); 458 es->s_state = cpu_to_le16(sbi->s_mount_state);
@@ -1455,9 +1458,8 @@ static int ext4_fill_flex_info(struct super_block *sb)
1455 1458
1456 /* We allocate both existing and potentially added groups */ 1459 /* We allocate both existing and potentially added groups */
1457 flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) + 1460 flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +
1458 ((sbi->s_es->s_reserved_gdt_blocks +1 ) << 1461 ((le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) + 1) <<
1459 EXT4_DESC_PER_BLOCK_BITS(sb))) / 1462 EXT4_DESC_PER_BLOCK_BITS(sb))) / groups_per_flex;
1460 groups_per_flex;
1461 sbi->s_flex_groups = kzalloc(flex_group_count * 1463 sbi->s_flex_groups = kzalloc(flex_group_count *
1462 sizeof(struct flex_groups), GFP_KERNEL); 1464 sizeof(struct flex_groups), GFP_KERNEL);
1463 if (sbi->s_flex_groups == NULL) { 1465 if (sbi->s_flex_groups == NULL) {
@@ -2882,12 +2884,9 @@ int ext4_force_commit(struct super_block *sb)
2882/* 2884/*
2883 * Ext4 always journals updates to the superblock itself, so we don't 2885 * Ext4 always journals updates to the superblock itself, so we don't
2884 * have to propagate any other updates to the superblock on disk at this 2886 * have to propagate any other updates to the superblock on disk at this
2885 * point. Just start an async writeback to get the buffers on their way 2887 * point. (We can probably nuke this function altogether, and remove
2886 * to the disk. 2888 * any mention to sb->s_dirt in all of fs/ext4; eventual cleanup...)
2887 *
2888 * This implicitly triggers the writebehind on sync().
2889 */ 2889 */
2890
2891static void ext4_write_super(struct super_block *sb) 2890static void ext4_write_super(struct super_block *sb)
2892{ 2891{
2893 if (mutex_trylock(&sb->s_lock) != 0) 2892 if (mutex_trylock(&sb->s_lock) != 0)
@@ -2897,15 +2896,15 @@ static void ext4_write_super(struct super_block *sb)
2897 2896
2898static int ext4_sync_fs(struct super_block *sb, int wait) 2897static int ext4_sync_fs(struct super_block *sb, int wait)
2899{ 2898{
2900 tid_t target; 2899 int ret = 0;
2901 2900
2902 trace_mark(ext4_sync_fs, "dev %s wait %d", sb->s_id, wait); 2901 trace_mark(ext4_sync_fs, "dev %s wait %d", sb->s_id, wait);
2903 sb->s_dirt = 0; 2902 sb->s_dirt = 0;
2904 if (jbd2_journal_start_commit(EXT4_SB(sb)->s_journal, &target)) { 2903 if (wait)
2905 if (wait) 2904 ret = ext4_force_commit(sb);
2906 jbd2_log_wait_commit(EXT4_SB(sb)->s_journal, target); 2905 else
2907 } 2906 jbd2_journal_start_commit(EXT4_SB(sb)->s_journal, NULL);
2908 return 0; 2907 return ret;
2909} 2908}
2910 2909
2911/* 2910/*
diff --git a/fs/fat/Makefile b/fs/fat/Makefile
index bfb5f06cf2c8..e06190322c1c 100644
--- a/fs/fat/Makefile
+++ b/fs/fat/Makefile
@@ -3,5 +3,9 @@
3# 3#
4 4
5obj-$(CONFIG_FAT_FS) += fat.o 5obj-$(CONFIG_FAT_FS) += fat.o
6obj-$(CONFIG_VFAT_FS) += vfat.o
7obj-$(CONFIG_MSDOS_FS) += msdos.o
6 8
7fat-objs := cache.o dir.o fatent.o file.o inode.o misc.o 9fat-y := cache.o dir.o fatent.o file.o inode.o misc.o
10vfat-y := namei_vfat.o
11msdos-y := namei_msdos.o
diff --git a/fs/fat/cache.c b/fs/fat/cache.c
index 3222f51c41cf..b42602298087 100644
--- a/fs/fat/cache.c
+++ b/fs/fat/cache.c
@@ -9,8 +9,8 @@
9 */ 9 */
10 10
11#include <linux/fs.h> 11#include <linux/fs.h>
12#include <linux/msdos_fs.h>
13#include <linux/buffer_head.h> 12#include <linux/buffer_head.h>
13#include "fat.h"
14 14
15/* this must be > 0. */ 15/* this must be > 0. */
16#define FAT_MAX_CACHE 8 16#define FAT_MAX_CACHE 8
@@ -293,10 +293,12 @@ static int fat_bmap_cluster(struct inode *inode, int cluster)
293} 293}
294 294
295int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, 295int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
296 unsigned long *mapped_blocks) 296 unsigned long *mapped_blocks, int create)
297{ 297{
298 struct super_block *sb = inode->i_sb; 298 struct super_block *sb = inode->i_sb;
299 struct msdos_sb_info *sbi = MSDOS_SB(sb); 299 struct msdos_sb_info *sbi = MSDOS_SB(sb);
300 const unsigned long blocksize = sb->s_blocksize;
301 const unsigned char blocksize_bits = sb->s_blocksize_bits;
300 sector_t last_block; 302 sector_t last_block;
301 int cluster, offset; 303 int cluster, offset;
302 304
@@ -309,10 +311,21 @@ int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
309 } 311 }
310 return 0; 312 return 0;
311 } 313 }
312 last_block = (MSDOS_I(inode)->mmu_private + (sb->s_blocksize - 1)) 314
313 >> sb->s_blocksize_bits; 315 last_block = (i_size_read(inode) + (blocksize - 1)) >> blocksize_bits;
314 if (sector >= last_block) 316 if (sector >= last_block) {
315 return 0; 317 if (!create)
318 return 0;
319
320 /*
321 * ->mmu_private can access on only allocation path.
322 * (caller must hold ->i_mutex)
323 */
324 last_block = (MSDOS_I(inode)->mmu_private + (blocksize - 1))
325 >> blocksize_bits;
326 if (sector >= last_block)
327 return 0;
328 }
316 329
317 cluster = sector >> (sbi->cluster_bits - sb->s_blocksize_bits); 330 cluster = sector >> (sbi->cluster_bits - sb->s_blocksize_bits);
318 offset = sector & (sbi->sec_per_clus - 1); 331 offset = sector & (sbi->sec_per_clus - 1);
diff --git a/fs/fat/dir.c b/fs/fat/dir.c
index bae1c3292522..67e058357098 100644
--- a/fs/fat/dir.c
+++ b/fs/fat/dir.c
@@ -16,11 +16,11 @@
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/slab.h> 17#include <linux/slab.h>
18#include <linux/time.h> 18#include <linux/time.h>
19#include <linux/msdos_fs.h>
20#include <linux/smp_lock.h> 19#include <linux/smp_lock.h>
21#include <linux/buffer_head.h> 20#include <linux/buffer_head.h>
22#include <linux/compat.h> 21#include <linux/compat.h>
23#include <asm/uaccess.h> 22#include <asm/uaccess.h>
23#include "fat.h"
24 24
25static inline loff_t fat_make_i_pos(struct super_block *sb, 25static inline loff_t fat_make_i_pos(struct super_block *sb,
26 struct buffer_head *bh, 26 struct buffer_head *bh,
@@ -77,7 +77,7 @@ next:
77 77
78 *bh = NULL; 78 *bh = NULL;
79 iblock = *pos >> sb->s_blocksize_bits; 79 iblock = *pos >> sb->s_blocksize_bits;
80 err = fat_bmap(dir, iblock, &phys, &mapped_blocks); 80 err = fat_bmap(dir, iblock, &phys, &mapped_blocks, 0);
81 if (err || !phys) 81 if (err || !phys)
82 return -1; /* beyond EOF or error */ 82 return -1; /* beyond EOF or error */
83 83
@@ -86,7 +86,7 @@ next:
86 *bh = sb_bread(sb, phys); 86 *bh = sb_bread(sb, phys);
87 if (*bh == NULL) { 87 if (*bh == NULL) {
88 printk(KERN_ERR "FAT: Directory bread(block %llu) failed\n", 88 printk(KERN_ERR "FAT: Directory bread(block %llu) failed\n",
89 (unsigned long long)phys); 89 (llu)phys);
90 /* skip this block */ 90 /* skip this block */
91 *pos = (iblock + 1) << sb->s_blocksize_bits; 91 *pos = (iblock + 1) << sb->s_blocksize_bits;
92 goto next; 92 goto next;
@@ -373,9 +373,10 @@ parse_record:
373 if (de->attr == ATTR_EXT) { 373 if (de->attr == ATTR_EXT) {
374 int status = fat_parse_long(inode, &cpos, &bh, &de, 374 int status = fat_parse_long(inode, &cpos, &bh, &de,
375 &unicode, &nr_slots); 375 &unicode, &nr_slots);
376 if (status < 0) 376 if (status < 0) {
377 return status; 377 err = status;
378 else if (status == PARSE_INVALID) 378 goto end_of_dir;
379 } else if (status == PARSE_INVALID)
379 continue; 380 continue;
380 else if (status == PARSE_NOT_LONGNAME) 381 else if (status == PARSE_NOT_LONGNAME)
381 goto parse_record; 382 goto parse_record;
@@ -832,6 +833,7 @@ static long fat_compat_dir_ioctl(struct file *filp, unsigned cmd,
832#endif /* CONFIG_COMPAT */ 833#endif /* CONFIG_COMPAT */
833 834
834const struct file_operations fat_dir_operations = { 835const struct file_operations fat_dir_operations = {
836 .llseek = generic_file_llseek,
835 .read = generic_read_dir, 837 .read = generic_read_dir,
836 .readdir = fat_readdir, 838 .readdir = fat_readdir,
837 .ioctl = fat_dir_ioctl, 839 .ioctl = fat_dir_ioctl,
@@ -1089,6 +1091,7 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts)
1089 struct msdos_dir_entry *de; 1091 struct msdos_dir_entry *de;
1090 sector_t blknr; 1092 sector_t blknr;
1091 __le16 date, time; 1093 __le16 date, time;
1094 u8 time_cs;
1092 int err, cluster; 1095 int err, cluster;
1093 1096
1094 err = fat_alloc_clusters(dir, &cluster, 1); 1097 err = fat_alloc_clusters(dir, &cluster, 1);
@@ -1102,7 +1105,7 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts)
1102 goto error_free; 1105 goto error_free;
1103 } 1106 }
1104 1107
1105 fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); 1108 fat_time_unix2fat(sbi, ts, &time, &date, &time_cs);
1106 1109
1107 de = (struct msdos_dir_entry *)bhs[0]->b_data; 1110 de = (struct msdos_dir_entry *)bhs[0]->b_data;
1108 /* filling the new directory slots ("." and ".." entries) */ 1111 /* filling the new directory slots ("." and ".." entries) */
@@ -1112,13 +1115,14 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts)
1112 de[0].lcase = de[1].lcase = 0; 1115 de[0].lcase = de[1].lcase = 0;
1113 de[0].time = de[1].time = time; 1116 de[0].time = de[1].time = time;
1114 de[0].date = de[1].date = date; 1117 de[0].date = de[1].date = date;
1115 de[0].ctime_cs = de[1].ctime_cs = 0;
1116 if (sbi->options.isvfat) { 1118 if (sbi->options.isvfat) {
1117 /* extra timestamps */ 1119 /* extra timestamps */
1118 de[0].ctime = de[1].ctime = time; 1120 de[0].ctime = de[1].ctime = time;
1121 de[0].ctime_cs = de[1].ctime_cs = time_cs;
1119 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date; 1122 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date;
1120 } else { 1123 } else {
1121 de[0].ctime = de[1].ctime = 0; 1124 de[0].ctime = de[1].ctime = 0;
1125 de[0].ctime_cs = de[1].ctime_cs = 0;
1122 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0; 1126 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0;
1123 } 1127 }
1124 de[0].start = cpu_to_le16(cluster); 1128 de[0].start = cpu_to_le16(cluster);
diff --git a/fs/fat/fat.h b/fs/fat/fat.h
new file mode 100644
index 000000000000..ea440d65819c
--- /dev/null
+++ b/fs/fat/fat.h
@@ -0,0 +1,329 @@
1#ifndef _FAT_H
2#define _FAT_H
3
4#include <linux/buffer_head.h>
5#include <linux/string.h>
6#include <linux/nls.h>
7#include <linux/fs.h>
8#include <linux/mutex.h>
9#include <linux/msdos_fs.h>
10
11/*
12 * vfat shortname flags
13 */
14#define VFAT_SFN_DISPLAY_LOWER 0x0001 /* convert to lowercase for display */
15#define VFAT_SFN_DISPLAY_WIN95 0x0002 /* emulate win95 rule for display */
16#define VFAT_SFN_DISPLAY_WINNT 0x0004 /* emulate winnt rule for display */
17#define VFAT_SFN_CREATE_WIN95 0x0100 /* emulate win95 rule for create */
18#define VFAT_SFN_CREATE_WINNT 0x0200 /* emulate winnt rule for create */
19
20struct fat_mount_options {
21 uid_t fs_uid;
22 gid_t fs_gid;
23 unsigned short fs_fmask;
24 unsigned short fs_dmask;
25 unsigned short codepage; /* Codepage for shortname conversions */
26 char *iocharset; /* Charset used for filename input/display */
27 unsigned short shortname; /* flags for shortname display/create rule */
28 unsigned char name_check; /* r = relaxed, n = normal, s = strict */
29 unsigned short allow_utime;/* permission for setting the [am]time */
30 unsigned quiet:1, /* set = fake successful chmods and chowns */
31 showexec:1, /* set = only set x bit for com/exe/bat */
32 sys_immutable:1, /* set = system files are immutable */
33 dotsOK:1, /* set = hidden and system files are named '.filename' */
34 isvfat:1, /* 0=no vfat long filename support, 1=vfat support */
35 utf8:1, /* Use of UTF-8 character set (Default) */
36 unicode_xlate:1, /* create escape sequences for unhandled Unicode */
37 numtail:1, /* Does first alias have a numeric '~1' type tail? */
38 flush:1, /* write things quickly */
39 nocase:1, /* Does this need case conversion? 0=need case conversion*/
40 usefree:1, /* Use free_clusters for FAT32 */
41 tz_utc:1, /* Filesystem timestamps are in UTC */
42 rodir:1; /* allow ATTR_RO for directory */
43};
44
45#define FAT_HASH_BITS 8
46#define FAT_HASH_SIZE (1UL << FAT_HASH_BITS)
47
48/*
49 * MS-DOS file system in-core superblock data
50 */
51struct msdos_sb_info {
52 unsigned short sec_per_clus; /* sectors/cluster */
53 unsigned short cluster_bits; /* log2(cluster_size) */
54 unsigned int cluster_size; /* cluster size */
55 unsigned char fats,fat_bits; /* number of FATs, FAT bits (12 or 16) */
56 unsigned short fat_start;
57 unsigned long fat_length; /* FAT start & length (sec.) */
58 unsigned long dir_start;
59 unsigned short dir_entries; /* root dir start & entries */
60 unsigned long data_start; /* first data sector */
61 unsigned long max_cluster; /* maximum cluster number */
62 unsigned long root_cluster; /* first cluster of the root directory */
63 unsigned long fsinfo_sector; /* sector number of FAT32 fsinfo */
64 struct mutex fat_lock;
65 unsigned int prev_free; /* previously allocated cluster number */
66 unsigned int free_clusters; /* -1 if undefined */
67 unsigned int free_clus_valid; /* is free_clusters valid? */
68 struct fat_mount_options options;
69 struct nls_table *nls_disk; /* Codepage used on disk */
70 struct nls_table *nls_io; /* Charset used for input and display */
71 const void *dir_ops; /* Opaque; default directory operations */
72 int dir_per_block; /* dir entries per block */
73 int dir_per_block_bits; /* log2(dir_per_block) */
74
75 int fatent_shift;
76 struct fatent_operations *fatent_ops;
77
78 spinlock_t inode_hash_lock;
79 struct hlist_head inode_hashtable[FAT_HASH_SIZE];
80};
81
82#define FAT_CACHE_VALID 0 /* special case for valid cache */
83
84/*
85 * MS-DOS file system inode data in memory
86 */
87struct msdos_inode_info {
88 spinlock_t cache_lru_lock;
89 struct list_head cache_lru;
90 int nr_caches;
91 /* for avoiding the race between fat_free() and fat_get_cluster() */
92 unsigned int cache_valid_id;
93
94 /* NOTE: mmu_private is 64bits, so must hold ->i_mutex to access */
95 loff_t mmu_private; /* physically allocated size */
96
97 int i_start; /* first cluster or 0 */
98 int i_logstart; /* logical first cluster */
99 int i_attrs; /* unused attribute bits */
100 loff_t i_pos; /* on-disk position of directory entry or 0 */
101 struct hlist_node i_fat_hash; /* hash by i_location */
102 struct inode vfs_inode;
103};
104
105struct fat_slot_info {
106 loff_t i_pos; /* on-disk position of directory entry */
107 loff_t slot_off; /* offset for slot or de start */
108 int nr_slots; /* number of slots + 1(de) in filename */
109 struct msdos_dir_entry *de;
110 struct buffer_head *bh;
111};
112
113static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb)
114{
115 return sb->s_fs_info;
116}
117
118static inline struct msdos_inode_info *MSDOS_I(struct inode *inode)
119{
120 return container_of(inode, struct msdos_inode_info, vfs_inode);
121}
122
123/*
124 * If ->i_mode can't hold S_IWUGO (i.e. ATTR_RO), we use ->i_attrs to
125 * save ATTR_RO instead of ->i_mode.
126 *
127 * If it's directory and !sbi->options.rodir, ATTR_RO isn't read-only
128 * bit, it's just used as flag for app.
129 */
130static inline int fat_mode_can_hold_ro(struct inode *inode)
131{
132 struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
133 mode_t mask;
134
135 if (S_ISDIR(inode->i_mode)) {
136 if (!sbi->options.rodir)
137 return 0;
138 mask = ~sbi->options.fs_dmask;
139 } else
140 mask = ~sbi->options.fs_fmask;
141
142 if (!(mask & S_IWUGO))
143 return 0;
144 return 1;
145}
146
147/* Convert attribute bits and a mask to the UNIX mode. */
148static inline mode_t fat_make_mode(struct msdos_sb_info *sbi,
149 u8 attrs, mode_t mode)
150{
151 if (attrs & ATTR_RO && !((attrs & ATTR_DIR) && !sbi->options.rodir))
152 mode &= ~S_IWUGO;
153
154 if (attrs & ATTR_DIR)
155 return (mode & ~sbi->options.fs_dmask) | S_IFDIR;
156 else
157 return (mode & ~sbi->options.fs_fmask) | S_IFREG;
158}
159
160/* Return the FAT attribute byte for this inode */
161static inline u8 fat_make_attrs(struct inode *inode)
162{
163 u8 attrs = MSDOS_I(inode)->i_attrs;
164 if (S_ISDIR(inode->i_mode))
165 attrs |= ATTR_DIR;
166 if (fat_mode_can_hold_ro(inode) && !(inode->i_mode & S_IWUGO))
167 attrs |= ATTR_RO;
168 return attrs;
169}
170
171static inline void fat_save_attrs(struct inode *inode, u8 attrs)
172{
173 if (fat_mode_can_hold_ro(inode))
174 MSDOS_I(inode)->i_attrs = attrs & ATTR_UNUSED;
175 else
176 MSDOS_I(inode)->i_attrs = attrs & (ATTR_UNUSED | ATTR_RO);
177}
178
179static inline unsigned char fat_checksum(const __u8 *name)
180{
181 unsigned char s = name[0];
182 s = (s<<7) + (s>>1) + name[1]; s = (s<<7) + (s>>1) + name[2];
183 s = (s<<7) + (s>>1) + name[3]; s = (s<<7) + (s>>1) + name[4];
184 s = (s<<7) + (s>>1) + name[5]; s = (s<<7) + (s>>1) + name[6];
185 s = (s<<7) + (s>>1) + name[7]; s = (s<<7) + (s>>1) + name[8];
186 s = (s<<7) + (s>>1) + name[9]; s = (s<<7) + (s>>1) + name[10];
187 return s;
188}
189
190static inline sector_t fat_clus_to_blknr(struct msdos_sb_info *sbi, int clus)
191{
192 return ((sector_t)clus - FAT_START_ENT) * sbi->sec_per_clus
193 + sbi->data_start;
194}
195
196static inline void fat16_towchar(wchar_t *dst, const __u8 *src, size_t len)
197{
198#ifdef __BIG_ENDIAN
199 while (len--) {
200 *dst++ = src[0] | (src[1] << 8);
201 src += 2;
202 }
203#else
204 memcpy(dst, src, len * 2);
205#endif
206}
207
208static inline void fatwchar_to16(__u8 *dst, const wchar_t *src, size_t len)
209{
210#ifdef __BIG_ENDIAN
211 while (len--) {
212 dst[0] = *src & 0x00FF;
213 dst[1] = (*src & 0xFF00) >> 8;
214 dst += 2;
215 src++;
216 }
217#else
218 memcpy(dst, src, len * 2);
219#endif
220}
221
222/* fat/cache.c */
223extern void fat_cache_inval_inode(struct inode *inode);
224extern int fat_get_cluster(struct inode *inode, int cluster,
225 int *fclus, int *dclus);
226extern int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
227 unsigned long *mapped_blocks, int create);
228
229/* fat/dir.c */
230extern const struct file_operations fat_dir_operations;
231extern int fat_search_long(struct inode *inode, const unsigned char *name,
232 int name_len, struct fat_slot_info *sinfo);
233extern int fat_dir_empty(struct inode *dir);
234extern int fat_subdirs(struct inode *dir);
235extern int fat_scan(struct inode *dir, const unsigned char *name,
236 struct fat_slot_info *sinfo);
237extern int fat_get_dotdot_entry(struct inode *dir, struct buffer_head **bh,
238 struct msdos_dir_entry **de, loff_t *i_pos);
239extern int fat_alloc_new_dir(struct inode *dir, struct timespec *ts);
240extern int fat_add_entries(struct inode *dir, void *slots, int nr_slots,
241 struct fat_slot_info *sinfo);
242extern int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo);
243
244/* fat/fatent.c */
245struct fat_entry {
246 int entry;
247 union {
248 u8 *ent12_p[2];
249 __le16 *ent16_p;
250 __le32 *ent32_p;
251 } u;
252 int nr_bhs;
253 struct buffer_head *bhs[2];
254};
255
256static inline void fatent_init(struct fat_entry *fatent)
257{
258 fatent->nr_bhs = 0;
259 fatent->entry = 0;
260 fatent->u.ent32_p = NULL;
261 fatent->bhs[0] = fatent->bhs[1] = NULL;
262}
263
264static inline void fatent_set_entry(struct fat_entry *fatent, int entry)
265{
266 fatent->entry = entry;
267 fatent->u.ent32_p = NULL;
268}
269
270static inline void fatent_brelse(struct fat_entry *fatent)
271{
272 int i;
273 fatent->u.ent32_p = NULL;
274 for (i = 0; i < fatent->nr_bhs; i++)
275 brelse(fatent->bhs[i]);
276 fatent->nr_bhs = 0;
277 fatent->bhs[0] = fatent->bhs[1] = NULL;
278}
279
280extern void fat_ent_access_init(struct super_block *sb);
281extern int fat_ent_read(struct inode *inode, struct fat_entry *fatent,
282 int entry);
283extern int fat_ent_write(struct inode *inode, struct fat_entry *fatent,
284 int new, int wait);
285extern int fat_alloc_clusters(struct inode *inode, int *cluster,
286 int nr_cluster);
287extern int fat_free_clusters(struct inode *inode, int cluster);
288extern int fat_count_free_clusters(struct super_block *sb);
289
290/* fat/file.c */
291extern int fat_generic_ioctl(struct inode *inode, struct file *filp,
292 unsigned int cmd, unsigned long arg);
293extern const struct file_operations fat_file_operations;
294extern const struct inode_operations fat_file_inode_operations;
295extern int fat_setattr(struct dentry * dentry, struct iattr * attr);
296extern void fat_truncate(struct inode *inode);
297extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry,
298 struct kstat *stat);
299
300/* fat/inode.c */
301extern void fat_attach(struct inode *inode, loff_t i_pos);
302extern void fat_detach(struct inode *inode);
303extern struct inode *fat_iget(struct super_block *sb, loff_t i_pos);
304extern struct inode *fat_build_inode(struct super_block *sb,
305 struct msdos_dir_entry *de, loff_t i_pos);
306extern int fat_sync_inode(struct inode *inode);
307extern int fat_fill_super(struct super_block *sb, void *data, int silent,
308 const struct inode_operations *fs_dir_inode_ops, int isvfat);
309
310extern int fat_flush_inodes(struct super_block *sb, struct inode *i1,
311 struct inode *i2);
312/* fat/misc.c */
313extern void fat_fs_panic(struct super_block *s, const char *fmt, ...)
314 __attribute__ ((format (printf, 2, 3))) __cold;
315extern void fat_clusters_flush(struct super_block *sb);
316extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster);
317extern void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts,
318 __le16 __time, __le16 __date, u8 time_cs);
319extern void fat_time_unix2fat(struct msdos_sb_info *sbi, struct timespec *ts,
320 __le16 *time, __le16 *date, u8 *time_cs);
321extern int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs);
322
323int fat_cache_init(void);
324void fat_cache_destroy(void);
325
326/* helper for printk */
327typedef unsigned long long llu;
328
329#endif /* !_FAT_H */
diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c
index fb98b3d847ed..da6eea47872f 100644
--- a/fs/fat/fatent.c
+++ b/fs/fat/fatent.c
@@ -7,6 +7,7 @@
7#include <linux/fs.h> 7#include <linux/fs.h>
8#include <linux/msdos_fs.h> 8#include <linux/msdos_fs.h>
9#include <linux/blkdev.h> 9#include <linux/blkdev.h>
10#include "fat.h"
10 11
11struct fatent_operations { 12struct fatent_operations {
12 void (*ent_blocknr)(struct super_block *, int, int *, sector_t *); 13 void (*ent_blocknr)(struct super_block *, int, int *, sector_t *);
@@ -92,8 +93,7 @@ static int fat12_ent_bread(struct super_block *sb, struct fat_entry *fatent,
92err_brelse: 93err_brelse:
93 brelse(bhs[0]); 94 brelse(bhs[0]);
94err: 95err:
95 printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", 96 printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", (llu)blocknr);
96 (unsigned long long)blocknr);
97 return -EIO; 97 return -EIO;
98} 98}
99 99
@@ -106,7 +106,7 @@ static int fat_ent_bread(struct super_block *sb, struct fat_entry *fatent,
106 fatent->bhs[0] = sb_bread(sb, blocknr); 106 fatent->bhs[0] = sb_bread(sb, blocknr);
107 if (!fatent->bhs[0]) { 107 if (!fatent->bhs[0]) {
108 printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", 108 printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n",
109 (unsigned long long)blocknr); 109 (llu)blocknr);
110 return -EIO; 110 return -EIO;
111 } 111 }
112 fatent->nr_bhs = 1; 112 fatent->nr_bhs = 1;
@@ -316,10 +316,20 @@ static inline int fat_ent_update_ptr(struct super_block *sb,
316 /* Is this fatent's blocks including this entry? */ 316 /* Is this fatent's blocks including this entry? */
317 if (!fatent->nr_bhs || bhs[0]->b_blocknr != blocknr) 317 if (!fatent->nr_bhs || bhs[0]->b_blocknr != blocknr)
318 return 0; 318 return 0;
319 /* Does this entry need the next block? */ 319 if (sbi->fat_bits == 12) {
320 if (sbi->fat_bits == 12 && (offset + 1) >= sb->s_blocksize) { 320 if ((offset + 1) < sb->s_blocksize) {
321 if (fatent->nr_bhs != 2 || bhs[1]->b_blocknr != (blocknr + 1)) 321 /* This entry is on bhs[0]. */
322 return 0; 322 if (fatent->nr_bhs == 2) {
323 brelse(bhs[1]);
324 fatent->nr_bhs = 1;
325 }
326 } else {
327 /* This entry needs the next block. */
328 if (fatent->nr_bhs != 2)
329 return 0;
330 if (bhs[1]->b_blocknr != (blocknr + 1))
331 return 0;
332 }
323 } 333 }
324 ops->ent_set_ptr(fatent, offset); 334 ops->ent_set_ptr(fatent, offset);
325 return 1; 335 return 1;
diff --git a/fs/fat/file.c b/fs/fat/file.c
index ddde37025ca6..f06a4e525ece 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -10,13 +10,13 @@
10#include <linux/module.h> 10#include <linux/module.h>
11#include <linux/mount.h> 11#include <linux/mount.h>
12#include <linux/time.h> 12#include <linux/time.h>
13#include <linux/msdos_fs.h>
14#include <linux/buffer_head.h> 13#include <linux/buffer_head.h>
15#include <linux/writeback.h> 14#include <linux/writeback.h>
16#include <linux/backing-dev.h> 15#include <linux/backing-dev.h>
17#include <linux/blkdev.h> 16#include <linux/blkdev.h>
18#include <linux/fsnotify.h> 17#include <linux/fsnotify.h>
19#include <linux/security.h> 18#include <linux/security.h>
19#include "fat.h"
20 20
21int fat_generic_ioctl(struct inode *inode, struct file *filp, 21int fat_generic_ioctl(struct inode *inode, struct file *filp,
22 unsigned int cmd, unsigned long arg) 22 unsigned int cmd, unsigned long arg)
@@ -29,10 +29,9 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp,
29 { 29 {
30 u32 attr; 30 u32 attr;
31 31
32 if (inode->i_ino == MSDOS_ROOT_INO) 32 mutex_lock(&inode->i_mutex);
33 attr = ATTR_DIR; 33 attr = fat_make_attrs(inode);
34 else 34 mutex_unlock(&inode->i_mutex);
35 attr = fat_attr(inode);
36 35
37 return put_user(attr, user_attr); 36 return put_user(attr, user_attr);
38 } 37 }
@@ -62,20 +61,16 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp,
62 /* Merge in ATTR_VOLUME and ATTR_DIR */ 61 /* Merge in ATTR_VOLUME and ATTR_DIR */
63 attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) | 62 attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) |
64 (is_dir ? ATTR_DIR : 0); 63 (is_dir ? ATTR_DIR : 0);
65 oldattr = fat_attr(inode); 64 oldattr = fat_make_attrs(inode);
66 65
67 /* Equivalent to a chmod() */ 66 /* Equivalent to a chmod() */
68 ia.ia_valid = ATTR_MODE | ATTR_CTIME; 67 ia.ia_valid = ATTR_MODE | ATTR_CTIME;
69 ia.ia_ctime = current_fs_time(inode->i_sb); 68 ia.ia_ctime = current_fs_time(inode->i_sb);
70 if (is_dir) { 69 if (is_dir)
71 ia.ia_mode = MSDOS_MKMODE(attr, 70 ia.ia_mode = fat_make_mode(sbi, attr, S_IRWXUGO);
72 S_IRWXUGO & ~sbi->options.fs_dmask) 71 else {
73 | S_IFDIR; 72 ia.ia_mode = fat_make_mode(sbi, attr,
74 } else { 73 S_IRUGO | S_IWUGO | (inode->i_mode & S_IXUGO));
75 ia.ia_mode = MSDOS_MKMODE(attr,
76 (S_IRUGO | S_IWUGO | (inode->i_mode & S_IXUGO))
77 & ~sbi->options.fs_fmask)
78 | S_IFREG;
79 } 74 }
80 75
81 /* The root directory has no attributes */ 76 /* The root directory has no attributes */
@@ -115,7 +110,7 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp,
115 inode->i_flags &= S_IMMUTABLE; 110 inode->i_flags &= S_IMMUTABLE;
116 } 111 }
117 112
118 MSDOS_I(inode)->i_attrs = attr & ATTR_UNUSED; 113 fat_save_attrs(inode, attr);
119 mark_inode_dirty(inode); 114 mark_inode_dirty(inode);
120up: 115up:
121 mnt_drop_write(filp->f_path.mnt); 116 mnt_drop_write(filp->f_path.mnt);
@@ -274,7 +269,7 @@ static int fat_sanitize_mode(const struct msdos_sb_info *sbi,
274 269
275 /* 270 /*
276 * Note, the basic check is already done by a caller of 271 * Note, the basic check is already done by a caller of
277 * (attr->ia_mode & ~MSDOS_VALID_MODE) 272 * (attr->ia_mode & ~FAT_VALID_MODE)
278 */ 273 */
279 274
280 if (S_ISREG(inode->i_mode)) 275 if (S_ISREG(inode->i_mode))
@@ -287,11 +282,18 @@ static int fat_sanitize_mode(const struct msdos_sb_info *sbi,
287 /* 282 /*
288 * Of the r and x bits, all (subject to umask) must be present. Of the 283 * Of the r and x bits, all (subject to umask) must be present. Of the
289 * w bits, either all (subject to umask) or none must be present. 284 * w bits, either all (subject to umask) or none must be present.
285 *
286 * If fat_mode_can_hold_ro(inode) is false, can't change w bits.
290 */ 287 */
291 if ((perm & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO))) 288 if ((perm & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO)))
292 return -EPERM; 289 return -EPERM;
293 if ((perm & S_IWUGO) && ((perm & S_IWUGO) != (S_IWUGO & ~mask))) 290 if (fat_mode_can_hold_ro(inode)) {
294 return -EPERM; 291 if ((perm & S_IWUGO) && ((perm & S_IWUGO) != (S_IWUGO & ~mask)))
292 return -EPERM;
293 } else {
294 if ((perm & S_IWUGO) != (S_IWUGO & ~mask))
295 return -EPERM;
296 }
295 297
296 *mode_ptr &= S_IFMT | perm; 298 *mode_ptr &= S_IFMT | perm;
297 299
@@ -314,13 +316,15 @@ static int fat_allow_set_time(struct msdos_sb_info *sbi, struct inode *inode)
314} 316}
315 317
316#define TIMES_SET_FLAGS (ATTR_MTIME_SET | ATTR_ATIME_SET | ATTR_TIMES_SET) 318#define TIMES_SET_FLAGS (ATTR_MTIME_SET | ATTR_ATIME_SET | ATTR_TIMES_SET)
319/* valid file mode bits */
320#define FAT_VALID_MODE (S_IFREG | S_IFDIR | S_IRWXUGO)
317 321
318int fat_setattr(struct dentry *dentry, struct iattr *attr) 322int fat_setattr(struct dentry *dentry, struct iattr *attr)
319{ 323{
320 struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb); 324 struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb);
321 struct inode *inode = dentry->d_inode; 325 struct inode *inode = dentry->d_inode;
322 int error = 0;
323 unsigned int ia_valid; 326 unsigned int ia_valid;
327 int error;
324 328
325 /* 329 /*
326 * Expand the file. Since inode_setattr() updates ->i_size 330 * Expand the file. Since inode_setattr() updates ->i_size
@@ -356,7 +360,7 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr)
356 ((attr->ia_valid & ATTR_GID) && 360 ((attr->ia_valid & ATTR_GID) &&
357 (attr->ia_gid != sbi->options.fs_gid)) || 361 (attr->ia_gid != sbi->options.fs_gid)) ||
358 ((attr->ia_valid & ATTR_MODE) && 362 ((attr->ia_valid & ATTR_MODE) &&
359 (attr->ia_mode & ~MSDOS_VALID_MODE))) 363 (attr->ia_mode & ~FAT_VALID_MODE)))
360 error = -EPERM; 364 error = -EPERM;
361 365
362 if (error) { 366 if (error) {
@@ -374,7 +378,8 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr)
374 attr->ia_valid &= ~ATTR_MODE; 378 attr->ia_valid &= ~ATTR_MODE;
375 } 379 }
376 380
377 error = inode_setattr(inode, attr); 381 if (attr->ia_valid)
382 error = inode_setattr(inode, attr);
378out: 383out:
379 return error; 384 return error;
380} 385}
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 19eafbe3c379..bdd8fb7be2ca 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -16,7 +16,6 @@
16#include <linux/slab.h> 16#include <linux/slab.h>
17#include <linux/smp_lock.h> 17#include <linux/smp_lock.h>
18#include <linux/seq_file.h> 18#include <linux/seq_file.h>
19#include <linux/msdos_fs.h>
20#include <linux/pagemap.h> 19#include <linux/pagemap.h>
21#include <linux/mpage.h> 20#include <linux/mpage.h>
22#include <linux/buffer_head.h> 21#include <linux/buffer_head.h>
@@ -27,7 +26,9 @@
27#include <linux/uio.h> 26#include <linux/uio.h>
28#include <linux/writeback.h> 27#include <linux/writeback.h>
29#include <linux/log2.h> 28#include <linux/log2.h>
29#include <linux/hash.h>
30#include <asm/unaligned.h> 30#include <asm/unaligned.h>
31#include "fat.h"
31 32
32#ifndef CONFIG_FAT_DEFAULT_IOCHARSET 33#ifndef CONFIG_FAT_DEFAULT_IOCHARSET
33/* if user don't select VFAT, this is undefined. */ 34/* if user don't select VFAT, this is undefined. */
@@ -63,7 +64,7 @@ static inline int __fat_get_block(struct inode *inode, sector_t iblock,
63 sector_t phys; 64 sector_t phys;
64 int err, offset; 65 int err, offset;
65 66
66 err = fat_bmap(inode, iblock, &phys, &mapped_blocks); 67 err = fat_bmap(inode, iblock, &phys, &mapped_blocks, create);
67 if (err) 68 if (err)
68 return err; 69 return err;
69 if (phys) { 70 if (phys) {
@@ -93,7 +94,7 @@ static inline int __fat_get_block(struct inode *inode, sector_t iblock,
93 *max_blocks = min(mapped_blocks, *max_blocks); 94 *max_blocks = min(mapped_blocks, *max_blocks);
94 MSDOS_I(inode)->mmu_private += *max_blocks << sb->s_blocksize_bits; 95 MSDOS_I(inode)->mmu_private += *max_blocks << sb->s_blocksize_bits;
95 96
96 err = fat_bmap(inode, iblock, &phys, &mapped_blocks); 97 err = fat_bmap(inode, iblock, &phys, &mapped_blocks, create);
97 if (err) 98 if (err)
98 return err; 99 return err;
99 100
@@ -175,7 +176,7 @@ static ssize_t fat_direct_IO(int rw, struct kiocb *iocb,
175 176
176 if (rw == WRITE) { 177 if (rw == WRITE) {
177 /* 178 /*
178 * FIXME: blockdev_direct_IO() doesn't use ->prepare_write(), 179 * FIXME: blockdev_direct_IO() doesn't use ->write_begin(),
179 * so we need to update the ->mmu_private to block boundary. 180 * so we need to update the ->mmu_private to block boundary.
180 * 181 *
181 * But we must fill the remaining area or hole by nul for 182 * But we must fill the remaining area or hole by nul for
@@ -198,7 +199,14 @@ static ssize_t fat_direct_IO(int rw, struct kiocb *iocb,
198 199
199static sector_t _fat_bmap(struct address_space *mapping, sector_t block) 200static sector_t _fat_bmap(struct address_space *mapping, sector_t block)
200{ 201{
201 return generic_block_bmap(mapping, block, fat_get_block); 202 sector_t blocknr;
203
204 /* fat_get_cluster() assumes the requested blocknr isn't truncated. */
205 mutex_lock(&mapping->host->i_mutex);
206 blocknr = generic_block_bmap(mapping, block, fat_get_block);
207 mutex_unlock(&mapping->host->i_mutex);
208
209 return blocknr;
202} 210}
203 211
204static const struct address_space_operations fat_aops = { 212static const struct address_space_operations fat_aops = {
@@ -247,25 +255,21 @@ static void fat_hash_init(struct super_block *sb)
247 INIT_HLIST_HEAD(&sbi->inode_hashtable[i]); 255 INIT_HLIST_HEAD(&sbi->inode_hashtable[i]);
248} 256}
249 257
250static inline unsigned long fat_hash(struct super_block *sb, loff_t i_pos) 258static inline unsigned long fat_hash(loff_t i_pos)
251{ 259{
252 unsigned long tmp = (unsigned long)i_pos | (unsigned long) sb; 260 return hash_32(i_pos, FAT_HASH_BITS);
253 tmp = tmp + (tmp >> FAT_HASH_BITS) + (tmp >> FAT_HASH_BITS * 2);
254 return tmp & FAT_HASH_MASK;
255} 261}
256 262
257void fat_attach(struct inode *inode, loff_t i_pos) 263void fat_attach(struct inode *inode, loff_t i_pos)
258{ 264{
259 struct super_block *sb = inode->i_sb; 265 struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
260 struct msdos_sb_info *sbi = MSDOS_SB(sb); 266 struct hlist_head *head = sbi->inode_hashtable + fat_hash(i_pos);
261 267
262 spin_lock(&sbi->inode_hash_lock); 268 spin_lock(&sbi->inode_hash_lock);
263 MSDOS_I(inode)->i_pos = i_pos; 269 MSDOS_I(inode)->i_pos = i_pos;
264 hlist_add_head(&MSDOS_I(inode)->i_fat_hash, 270 hlist_add_head(&MSDOS_I(inode)->i_fat_hash, head);
265 sbi->inode_hashtable + fat_hash(sb, i_pos));
266 spin_unlock(&sbi->inode_hash_lock); 271 spin_unlock(&sbi->inode_hash_lock);
267} 272}
268
269EXPORT_SYMBOL_GPL(fat_attach); 273EXPORT_SYMBOL_GPL(fat_attach);
270 274
271void fat_detach(struct inode *inode) 275void fat_detach(struct inode *inode)
@@ -276,13 +280,12 @@ void fat_detach(struct inode *inode)
276 hlist_del_init(&MSDOS_I(inode)->i_fat_hash); 280 hlist_del_init(&MSDOS_I(inode)->i_fat_hash);
277 spin_unlock(&sbi->inode_hash_lock); 281 spin_unlock(&sbi->inode_hash_lock);
278} 282}
279
280EXPORT_SYMBOL_GPL(fat_detach); 283EXPORT_SYMBOL_GPL(fat_detach);
281 284
282struct inode *fat_iget(struct super_block *sb, loff_t i_pos) 285struct inode *fat_iget(struct super_block *sb, loff_t i_pos)
283{ 286{
284 struct msdos_sb_info *sbi = MSDOS_SB(sb); 287 struct msdos_sb_info *sbi = MSDOS_SB(sb);
285 struct hlist_head *head = sbi->inode_hashtable + fat_hash(sb, i_pos); 288 struct hlist_head *head = sbi->inode_hashtable + fat_hash(i_pos);
286 struct hlist_node *_p; 289 struct hlist_node *_p;
287 struct msdos_inode_info *i; 290 struct msdos_inode_info *i;
288 struct inode *inode = NULL; 291 struct inode *inode = NULL;
@@ -341,8 +344,7 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
341 344
342 if ((de->attr & ATTR_DIR) && !IS_FREE(de->name)) { 345 if ((de->attr & ATTR_DIR) && !IS_FREE(de->name)) {
343 inode->i_generation &= ~1; 346 inode->i_generation &= ~1;
344 inode->i_mode = MSDOS_MKMODE(de->attr, 347 inode->i_mode = fat_make_mode(sbi, de->attr, S_IRWXUGO);
345 S_IRWXUGO & ~sbi->options.fs_dmask) | S_IFDIR;
346 inode->i_op = sbi->dir_ops; 348 inode->i_op = sbi->dir_ops;
347 inode->i_fop = &fat_dir_operations; 349 inode->i_fop = &fat_dir_operations;
348 350
@@ -359,10 +361,9 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
359 inode->i_nlink = fat_subdirs(inode); 361 inode->i_nlink = fat_subdirs(inode);
360 } else { /* not a directory */ 362 } else { /* not a directory */
361 inode->i_generation |= 1; 363 inode->i_generation |= 1;
362 inode->i_mode = MSDOS_MKMODE(de->attr, 364 inode->i_mode = fat_make_mode(sbi, de->attr,
363 ((sbi->options.showexec && !is_exec(de->name + 8)) 365 ((sbi->options.showexec && !is_exec(de->name + 8))
364 ? S_IRUGO|S_IWUGO : S_IRWXUGO) 366 ? S_IRUGO|S_IWUGO : S_IRWXUGO));
365 & ~sbi->options.fs_fmask) | S_IFREG;
366 MSDOS_I(inode)->i_start = le16_to_cpu(de->start); 367 MSDOS_I(inode)->i_start = le16_to_cpu(de->start);
367 if (sbi->fat_bits == 32) 368 if (sbi->fat_bits == 32)
368 MSDOS_I(inode)->i_start |= (le16_to_cpu(de->starthi) << 16); 369 MSDOS_I(inode)->i_start |= (le16_to_cpu(de->starthi) << 16);
@@ -378,25 +379,16 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
378 if (sbi->options.sys_immutable) 379 if (sbi->options.sys_immutable)
379 inode->i_flags |= S_IMMUTABLE; 380 inode->i_flags |= S_IMMUTABLE;
380 } 381 }
381 MSDOS_I(inode)->i_attrs = de->attr & ATTR_UNUSED; 382 fat_save_attrs(inode, de->attr);
383
382 inode->i_blocks = ((inode->i_size + (sbi->cluster_size - 1)) 384 inode->i_blocks = ((inode->i_size + (sbi->cluster_size - 1))
383 & ~((loff_t)sbi->cluster_size - 1)) >> 9; 385 & ~((loff_t)sbi->cluster_size - 1)) >> 9;
384 inode->i_mtime.tv_sec = 386
385 date_dos2unix(le16_to_cpu(de->time), le16_to_cpu(de->date), 387 fat_time_fat2unix(sbi, &inode->i_mtime, de->time, de->date, 0);
386 sbi->options.tz_utc);
387 inode->i_mtime.tv_nsec = 0;
388 if (sbi->options.isvfat) { 388 if (sbi->options.isvfat) {
389 int secs = de->ctime_cs / 100; 389 fat_time_fat2unix(sbi, &inode->i_ctime, de->ctime,
390 int csecs = de->ctime_cs % 100; 390 de->cdate, de->ctime_cs);
391 inode->i_ctime.tv_sec = 391 fat_time_fat2unix(sbi, &inode->i_atime, 0, de->adate, 0);
392 date_dos2unix(le16_to_cpu(de->ctime),
393 le16_to_cpu(de->cdate),
394 sbi->options.tz_utc) + secs;
395 inode->i_ctime.tv_nsec = csecs * 10000000;
396 inode->i_atime.tv_sec =
397 date_dos2unix(0, le16_to_cpu(de->adate),
398 sbi->options.tz_utc);
399 inode->i_atime.tv_nsec = 0;
400 } else 392 } else
401 inode->i_ctime = inode->i_atime = inode->i_mtime; 393 inode->i_ctime = inode->i_atime = inode->i_mtime;
402 394
@@ -443,13 +435,8 @@ static void fat_delete_inode(struct inode *inode)
443 435
444static void fat_clear_inode(struct inode *inode) 436static void fat_clear_inode(struct inode *inode)
445{ 437{
446 struct super_block *sb = inode->i_sb;
447 struct msdos_sb_info *sbi = MSDOS_SB(sb);
448
449 spin_lock(&sbi->inode_hash_lock);
450 fat_cache_inval_inode(inode); 438 fat_cache_inval_inode(inode);
451 hlist_del_init(&MSDOS_I(inode)->i_fat_hash); 439 fat_detach(inode);
452 spin_unlock(&sbi->inode_hash_lock);
453} 440}
454 441
455static void fat_write_super(struct super_block *sb) 442static void fat_write_super(struct super_block *sb)
@@ -555,6 +542,20 @@ static int fat_statfs(struct dentry *dentry, struct kstatfs *buf)
555 return 0; 542 return 0;
556} 543}
557 544
545static inline loff_t fat_i_pos_read(struct msdos_sb_info *sbi,
546 struct inode *inode)
547{
548 loff_t i_pos;
549#if BITS_PER_LONG == 32
550 spin_lock(&sbi->inode_hash_lock);
551#endif
552 i_pos = MSDOS_I(inode)->i_pos;
553#if BITS_PER_LONG == 32
554 spin_unlock(&sbi->inode_hash_lock);
555#endif
556 return i_pos;
557}
558
558static int fat_write_inode(struct inode *inode, int wait) 559static int fat_write_inode(struct inode *inode, int wait)
559{ 560{
560 struct super_block *sb = inode->i_sb; 561 struct super_block *sb = inode->i_sb;
@@ -564,9 +565,12 @@ static int fat_write_inode(struct inode *inode, int wait)
564 loff_t i_pos; 565 loff_t i_pos;
565 int err; 566 int err;
566 567
568 if (inode->i_ino == MSDOS_ROOT_INO)
569 return 0;
570
567retry: 571retry:
568 i_pos = MSDOS_I(inode)->i_pos; 572 i_pos = fat_i_pos_read(sbi, inode);
569 if (inode->i_ino == MSDOS_ROOT_INO || !i_pos) 573 if (!i_pos)
570 return 0; 574 return 0;
571 575
572 bh = sb_bread(sb, i_pos >> sbi->dir_per_block_bits); 576 bh = sb_bread(sb, i_pos >> sbi->dir_per_block_bits);
@@ -588,19 +592,17 @@ retry:
588 raw_entry->size = 0; 592 raw_entry->size = 0;
589 else 593 else
590 raw_entry->size = cpu_to_le32(inode->i_size); 594 raw_entry->size = cpu_to_le32(inode->i_size);
591 raw_entry->attr = fat_attr(inode); 595 raw_entry->attr = fat_make_attrs(inode);
592 raw_entry->start = cpu_to_le16(MSDOS_I(inode)->i_logstart); 596 raw_entry->start = cpu_to_le16(MSDOS_I(inode)->i_logstart);
593 raw_entry->starthi = cpu_to_le16(MSDOS_I(inode)->i_logstart >> 16); 597 raw_entry->starthi = cpu_to_le16(MSDOS_I(inode)->i_logstart >> 16);
594 fat_date_unix2dos(inode->i_mtime.tv_sec, &raw_entry->time, 598 fat_time_unix2fat(sbi, &inode->i_mtime, &raw_entry->time,
595 &raw_entry->date, sbi->options.tz_utc); 599 &raw_entry->date, NULL);
596 if (sbi->options.isvfat) { 600 if (sbi->options.isvfat) {
597 __le16 atime; 601 __le16 atime;
598 fat_date_unix2dos(inode->i_ctime.tv_sec, &raw_entry->ctime, 602 fat_time_unix2fat(sbi, &inode->i_ctime, &raw_entry->ctime,
599 &raw_entry->cdate, sbi->options.tz_utc); 603 &raw_entry->cdate, &raw_entry->ctime_cs);
600 fat_date_unix2dos(inode->i_atime.tv_sec, &atime, 604 fat_time_unix2fat(sbi, &inode->i_atime, &atime,
601 &raw_entry->adate, sbi->options.tz_utc); 605 &raw_entry->adate, NULL);
602 raw_entry->ctime_cs = (inode->i_ctime.tv_sec & 1) * 100 +
603 inode->i_ctime.tv_nsec / 10000000;
604 } 606 }
605 spin_unlock(&sbi->inode_hash_lock); 607 spin_unlock(&sbi->inode_hash_lock);
606 mark_buffer_dirty(bh); 608 mark_buffer_dirty(bh);
@@ -819,8 +821,10 @@ static int fat_show_options(struct seq_file *m, struct vfsmount *mnt)
819 seq_puts(m, ",uni_xlate"); 821 seq_puts(m, ",uni_xlate");
820 if (!opts->numtail) 822 if (!opts->numtail)
821 seq_puts(m, ",nonumtail"); 823 seq_puts(m, ",nonumtail");
824 if (opts->rodir)
825 seq_puts(m, ",rodir");
822 } 826 }
823 if (sbi->options.flush) 827 if (opts->flush)
824 seq_puts(m, ",flush"); 828 seq_puts(m, ",flush");
825 if (opts->tz_utc) 829 if (opts->tz_utc)
826 seq_puts(m, ",tz=UTC"); 830 seq_puts(m, ",tz=UTC");
@@ -836,7 +840,7 @@ enum {
836 Opt_charset, Opt_shortname_lower, Opt_shortname_win95, 840 Opt_charset, Opt_shortname_lower, Opt_shortname_win95,
837 Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes, 841 Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes,
838 Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, 842 Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes,
839 Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_err, 843 Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_rodir, Opt_err,
840}; 844};
841 845
842static const match_table_t fat_tokens = { 846static const match_table_t fat_tokens = {
@@ -908,6 +912,7 @@ static const match_table_t vfat_tokens = {
908 {Opt_nonumtail_yes, "nonumtail=yes"}, 912 {Opt_nonumtail_yes, "nonumtail=yes"},
909 {Opt_nonumtail_yes, "nonumtail=true"}, 913 {Opt_nonumtail_yes, "nonumtail=true"},
910 {Opt_nonumtail_yes, "nonumtail"}, 914 {Opt_nonumtail_yes, "nonumtail"},
915 {Opt_rodir, "rodir"},
911 {Opt_err, NULL} 916 {Opt_err, NULL}
912}; 917};
913 918
@@ -927,10 +932,13 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug,
927 opts->allow_utime = -1; 932 opts->allow_utime = -1;
928 opts->codepage = fat_default_codepage; 933 opts->codepage = fat_default_codepage;
929 opts->iocharset = fat_default_iocharset; 934 opts->iocharset = fat_default_iocharset;
930 if (is_vfat) 935 if (is_vfat) {
931 opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95; 936 opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95;
932 else 937 opts->rodir = 0;
938 } else {
933 opts->shortname = 0; 939 opts->shortname = 0;
940 opts->rodir = 1;
941 }
934 opts->name_check = 'n'; 942 opts->name_check = 'n';
935 opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0; 943 opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0;
936 opts->utf8 = opts->unicode_xlate = 0; 944 opts->utf8 = opts->unicode_xlate = 0;
@@ -1081,6 +1089,9 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug,
1081 case Opt_nonumtail_yes: /* empty or 1 or yes or true */ 1089 case Opt_nonumtail_yes: /* empty or 1 or yes or true */
1082 opts->numtail = 0; /* negated option */ 1090 opts->numtail = 0; /* negated option */
1083 break; 1091 break;
1092 case Opt_rodir:
1093 opts->rodir = 1;
1094 break;
1084 1095
1085 /* obsolete mount options */ 1096 /* obsolete mount options */
1086 case Opt_obsolate: 1097 case Opt_obsolate:
@@ -1126,7 +1137,7 @@ static int fat_read_root(struct inode *inode)
1126 inode->i_gid = sbi->options.fs_gid; 1137 inode->i_gid = sbi->options.fs_gid;
1127 inode->i_version++; 1138 inode->i_version++;
1128 inode->i_generation = 0; 1139 inode->i_generation = 0;
1129 inode->i_mode = (S_IRWXUGO & ~sbi->options.fs_dmask) | S_IFDIR; 1140 inode->i_mode = fat_make_mode(sbi, ATTR_DIR, S_IRWXUGO);
1130 inode->i_op = sbi->dir_ops; 1141 inode->i_op = sbi->dir_ops;
1131 inode->i_fop = &fat_dir_operations; 1142 inode->i_fop = &fat_dir_operations;
1132 if (sbi->fat_bits == 32) { 1143 if (sbi->fat_bits == 32) {
@@ -1143,7 +1154,7 @@ static int fat_read_root(struct inode *inode)
1143 MSDOS_I(inode)->i_logstart = 0; 1154 MSDOS_I(inode)->i_logstart = 0;
1144 MSDOS_I(inode)->mmu_private = inode->i_size; 1155 MSDOS_I(inode)->mmu_private = inode->i_size;
1145 1156
1146 MSDOS_I(inode)->i_attrs = ATTR_NONE; 1157 fat_save_attrs(inode, ATTR_DIR);
1147 inode->i_mtime.tv_sec = inode->i_atime.tv_sec = inode->i_ctime.tv_sec = 0; 1158 inode->i_mtime.tv_sec = inode->i_atime.tv_sec = inode->i_ctime.tv_sec = 0;
1148 inode->i_mtime.tv_nsec = inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec = 0; 1159 inode->i_mtime.tv_nsec = inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec = 0;
1149 inode->i_nlink = fat_subdirs(inode)+2; 1160 inode->i_nlink = fat_subdirs(inode)+2;
diff --git a/fs/fat/misc.c b/fs/fat/misc.c
index 79fb98ad36d4..ac39ebcc1496 100644
--- a/fs/fat/misc.c
+++ b/fs/fat/misc.c
@@ -8,8 +8,8 @@
8 8
9#include <linux/module.h> 9#include <linux/module.h>
10#include <linux/fs.h> 10#include <linux/fs.h>
11#include <linux/msdos_fs.h>
12#include <linux/buffer_head.h> 11#include <linux/buffer_head.h>
12#include "fat.h"
13 13
14/* 14/*
15 * fat_fs_panic reports a severe file system problem and sets the file system 15 * fat_fs_panic reports a severe file system problem and sets the file system
@@ -124,8 +124,9 @@ int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster)
124 mark_inode_dirty(inode); 124 mark_inode_dirty(inode);
125 } 125 }
126 if (new_fclus != (inode->i_blocks >> (sbi->cluster_bits - 9))) { 126 if (new_fclus != (inode->i_blocks >> (sbi->cluster_bits - 9))) {
127 fat_fs_panic(sb, "clusters badly computed (%d != %lu)", 127 fat_fs_panic(sb, "clusters badly computed (%d != %llu)",
128 new_fclus, inode->i_blocks >> (sbi->cluster_bits - 9)); 128 new_fclus,
129 (llu)(inode->i_blocks >> (sbi->cluster_bits - 9)));
129 fat_cache_inval_inode(inode); 130 fat_cache_inval_inode(inode);
130 } 131 }
131 inode->i_blocks += nr_cluster << (sbi->cluster_bits - 9); 132 inode->i_blocks += nr_cluster << (sbi->cluster_bits - 9);
@@ -135,65 +136,131 @@ int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster)
135 136
136extern struct timezone sys_tz; 137extern struct timezone sys_tz;
137 138
139/*
140 * The epoch of FAT timestamp is 1980.
141 * : bits : value
142 * date: 0 - 4: day (1 - 31)
143 * date: 5 - 8: month (1 - 12)
144 * date: 9 - 15: year (0 - 127) from 1980
145 * time: 0 - 4: sec (0 - 29) 2sec counts
146 * time: 5 - 10: min (0 - 59)
147 * time: 11 - 15: hour (0 - 23)
148 */
149#define SECS_PER_MIN 60
150#define SECS_PER_HOUR (60 * 60)
151#define SECS_PER_DAY (SECS_PER_HOUR * 24)
152#define UNIX_SECS_1980 315532800L
153#if BITS_PER_LONG == 64
154#define UNIX_SECS_2108 4354819200L
155#endif
156/* days between 1.1.70 and 1.1.80 (2 leap days) */
157#define DAYS_DELTA (365 * 10 + 2)
158/* 120 (2100 - 1980) isn't leap year */
159#define YEAR_2100 120
160#define IS_LEAP_YEAR(y) (!((y) & 3) && (y) != YEAR_2100)
161
138/* Linear day numbers of the respective 1sts in non-leap years. */ 162/* Linear day numbers of the respective 1sts in non-leap years. */
139static int day_n[] = { 163static time_t days_in_year[] = {
140 /* Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec */ 164 /* Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec */
141 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0, 0 165 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0,
142}; 166};
143 167
144/* Convert a MS-DOS time/date pair to a UNIX date (seconds since 1 1 70). */ 168/* Convert a FAT time/date pair to a UNIX date (seconds since 1 1 70). */
145int date_dos2unix(unsigned short time, unsigned short date, int tz_utc) 169void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts,
170 __le16 __time, __le16 __date, u8 time_cs)
146{ 171{
147 int month, year, secs; 172 u16 time = le16_to_cpu(__time), date = le16_to_cpu(__date);
173 time_t second, day, leap_day, month, year;
148 174
149 /* 175 year = date >> 9;
150 * first subtract and mask after that... Otherwise, if 176 month = max(1, (date >> 5) & 0xf);
151 * date == 0, bad things happen 177 day = max(1, date & 0x1f) - 1;
152 */ 178
153 month = ((date >> 5) - 1) & 15; 179 leap_day = (year + 3) / 4;
154 year = date >> 9; 180 if (year > YEAR_2100) /* 2100 isn't leap year */
155 secs = (time & 31)*2+60*((time >> 5) & 63)+(time >> 11)*3600+86400* 181 leap_day--;
156 ((date & 31)-1+day_n[month]+(year/4)+year*365-((year & 3) == 0 && 182 if (IS_LEAP_YEAR(year) && month > 2)
157 month < 2 ? 1 : 0)+3653); 183 leap_day++;
158 /* days since 1.1.70 plus 80's leap day */ 184
159 if (!tz_utc) 185 second = (time & 0x1f) << 1;
160 secs += sys_tz.tz_minuteswest*60; 186 second += ((time >> 5) & 0x3f) * SECS_PER_MIN;
161 return secs; 187 second += (time >> 11) * SECS_PER_HOUR;
188 second += (year * 365 + leap_day
189 + days_in_year[month] + day
190 + DAYS_DELTA) * SECS_PER_DAY;
191
192 if (!sbi->options.tz_utc)
193 second += sys_tz.tz_minuteswest * SECS_PER_MIN;
194
195 if (time_cs) {
196 ts->tv_sec = second + (time_cs / 100);
197 ts->tv_nsec = (time_cs % 100) * 10000000;
198 } else {
199 ts->tv_sec = second;
200 ts->tv_nsec = 0;
201 }
162} 202}
163 203
164/* Convert linear UNIX date to a MS-DOS time/date pair. */ 204/* Convert linear UNIX date to a FAT time/date pair. */
165void fat_date_unix2dos(int unix_date, __le16 *time, __le16 *date, int tz_utc) 205void fat_time_unix2fat(struct msdos_sb_info *sbi, struct timespec *ts,
206 __le16 *time, __le16 *date, u8 *time_cs)
166{ 207{
167 int day, year, nl_day, month; 208 time_t second = ts->tv_sec;
209 time_t day, leap_day, month, year;
168 210
169 if (!tz_utc) 211 if (!sbi->options.tz_utc)
170 unix_date -= sys_tz.tz_minuteswest*60; 212 second -= sys_tz.tz_minuteswest * SECS_PER_MIN;
171 213
172 /* Jan 1 GMT 00:00:00 1980. But what about another time zone? */ 214 /* Jan 1 GMT 00:00:00 1980. But what about another time zone? */
173 if (unix_date < 315532800) 215 if (second < UNIX_SECS_1980) {
174 unix_date = 315532800; 216 *time = 0;
175 217 *date = cpu_to_le16((0 << 9) | (1 << 5) | 1);
176 *time = cpu_to_le16((unix_date % 60)/2+(((unix_date/60) % 60) << 5)+ 218 if (time_cs)
177 (((unix_date/3600) % 24) << 11)); 219 *time_cs = 0;
178 day = unix_date/86400-3652; 220 return;
179 year = day/365; 221 }
180 if ((year+3)/4+365*year > day) 222#if BITS_PER_LONG == 64
223 if (second >= UNIX_SECS_2108) {
224 *time = cpu_to_le16((23 << 11) | (59 << 5) | 29);
225 *date = cpu_to_le16((127 << 9) | (12 << 5) | 31);
226 if (time_cs)
227 *time_cs = 199;
228 return;
229 }
230#endif
231
232 day = second / SECS_PER_DAY - DAYS_DELTA;
233 year = day / 365;
234 leap_day = (year + 3) / 4;
235 if (year > YEAR_2100) /* 2100 isn't leap year */
236 leap_day--;
237 if (year * 365 + leap_day > day)
181 year--; 238 year--;
182 day -= (year+3)/4+365*year; 239 leap_day = (year + 3) / 4;
183 if (day == 59 && !(year & 3)) { 240 if (year > YEAR_2100) /* 2100 isn't leap year */
184 nl_day = day; 241 leap_day--;
242 day -= year * 365 + leap_day;
243
244 if (IS_LEAP_YEAR(year) && day == days_in_year[3]) {
185 month = 2; 245 month = 2;
186 } else { 246 } else {
187 nl_day = (year & 3) || day <= 59 ? day : day-1; 247 if (IS_LEAP_YEAR(year) && day > days_in_year[3])
188 for (month = 0; month < 12; month++) { 248 day--;
189 if (day_n[month] > nl_day) 249 for (month = 1; month < 12; month++) {
250 if (days_in_year[month + 1] > day)
190 break; 251 break;
191 } 252 }
192 } 253 }
193 *date = cpu_to_le16(nl_day-day_n[month-1]+1+(month << 5)+(year << 9)); 254 day -= days_in_year[month];
194}
195 255
196EXPORT_SYMBOL_GPL(fat_date_unix2dos); 256 *time = cpu_to_le16(((second / SECS_PER_HOUR) % 24) << 11
257 | ((second / SECS_PER_MIN) % 60) << 5
258 | (second % SECS_PER_MIN) >> 1);
259 *date = cpu_to_le16((year << 9) | (month << 5) | (day + 1));
260 if (time_cs)
261 *time_cs = (ts->tv_sec & 1) * 100 + ts->tv_nsec / 10000000;
262}
263EXPORT_SYMBOL_GPL(fat_time_unix2fat);
197 264
198int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs) 265int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs)
199{ 266{
diff --git a/fs/msdos/namei.c b/fs/fat/namei_msdos.c
index e844b9809d27..7ba03a4acbe0 100644
--- a/fs/msdos/namei.c
+++ b/fs/fat/namei_msdos.c
@@ -9,8 +9,8 @@
9#include <linux/module.h> 9#include <linux/module.h>
10#include <linux/time.h> 10#include <linux/time.h>
11#include <linux/buffer_head.h> 11#include <linux/buffer_head.h>
12#include <linux/msdos_fs.h>
13#include <linux/smp_lock.h> 12#include <linux/smp_lock.h>
13#include "fat.h"
14 14
15/* Characters that are undesirable in an MS-DOS file name */ 15/* Characters that are undesirable in an MS-DOS file name */
16static unsigned char bad_chars[] = "*?<>|\""; 16static unsigned char bad_chars[] = "*?<>|\"";
@@ -203,33 +203,37 @@ static struct dentry *msdos_lookup(struct inode *dir, struct dentry *dentry,
203{ 203{
204 struct super_block *sb = dir->i_sb; 204 struct super_block *sb = dir->i_sb;
205 struct fat_slot_info sinfo; 205 struct fat_slot_info sinfo;
206 struct inode *inode = NULL; 206 struct inode *inode;
207 int res; 207 int err;
208
209 dentry->d_op = &msdos_dentry_operations;
210 208
211 lock_super(sb); 209 lock_super(sb);
212 res = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); 210
213 if (res == -ENOENT) 211 err = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo);
214 goto add; 212 if (err) {
215 if (res < 0) 213 if (err == -ENOENT) {
216 goto out; 214 inode = NULL;
215 goto out;
216 }
217 goto error;
218 }
219
217 inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); 220 inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos);
218 brelse(sinfo.bh); 221 brelse(sinfo.bh);
219 if (IS_ERR(inode)) { 222 if (IS_ERR(inode)) {
220 res = PTR_ERR(inode); 223 err = PTR_ERR(inode);
221 goto out; 224 goto error;
222 } 225 }
223add: 226out:
224 res = 0; 227 unlock_super(sb);
228 dentry->d_op = &msdos_dentry_operations;
225 dentry = d_splice_alias(inode, dentry); 229 dentry = d_splice_alias(inode, dentry);
226 if (dentry) 230 if (dentry)
227 dentry->d_op = &msdos_dentry_operations; 231 dentry->d_op = &msdos_dentry_operations;
228out: 232 return dentry;
233
234error:
229 unlock_super(sb); 235 unlock_super(sb);
230 if (!res) 236 return ERR_PTR(err);
231 return dentry;
232 return ERR_PTR(res);
233} 237}
234 238
235/***** Creates a directory entry (name is already formatted). */ 239/***** Creates a directory entry (name is already formatted). */
@@ -247,7 +251,7 @@ static int msdos_add_entry(struct inode *dir, const unsigned char *name,
247 if (is_hid) 251 if (is_hid)
248 de.attr |= ATTR_HIDDEN; 252 de.attr |= ATTR_HIDDEN;
249 de.lcase = 0; 253 de.lcase = 0;
250 fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); 254 fat_time_unix2fat(sbi, ts, &time, &date, NULL);
251 de.cdate = de.adate = 0; 255 de.cdate = de.adate = 0;
252 de.ctime = 0; 256 de.ctime = 0;
253 de.ctime_cs = 0; 257 de.ctime_cs = 0;
diff --git a/fs/vfat/namei.c b/fs/fat/namei_vfat.c
index 155c10b4adbd..bf326d4356a3 100644
--- a/fs/vfat/namei.c
+++ b/fs/fat/namei_vfat.c
@@ -16,36 +16,75 @@
16 */ 16 */
17 17
18#include <linux/module.h> 18#include <linux/module.h>
19
20#include <linux/jiffies.h> 19#include <linux/jiffies.h>
21#include <linux/msdos_fs.h>
22#include <linux/ctype.h> 20#include <linux/ctype.h>
23#include <linux/slab.h> 21#include <linux/slab.h>
24#include <linux/smp_lock.h> 22#include <linux/smp_lock.h>
25#include <linux/buffer_head.h> 23#include <linux/buffer_head.h>
26#include <linux/namei.h> 24#include <linux/namei.h>
25#include "fat.h"
27 26
28static int vfat_revalidate(struct dentry *dentry, struct nameidata *nd) 27/*
28 * If new entry was created in the parent, it could create the 8.3
29 * alias (the shortname of logname). So, the parent may have the
30 * negative-dentry which matches the created 8.3 alias.
31 *
32 * If it happened, the negative dentry isn't actually negative
33 * anymore. So, drop it.
34 */
35static int vfat_revalidate_shortname(struct dentry *dentry)
29{ 36{
30 int ret = 1; 37 int ret = 1;
31 38 spin_lock(&dentry->d_lock);
32 if (!dentry->d_inode && 39 if (dentry->d_time != dentry->d_parent->d_inode->i_version)
33 nd && !(nd->flags & LOOKUP_CONTINUE) && (nd->flags & LOOKUP_CREATE))
34 /*
35 * negative dentry is dropped, in order to make sure
36 * to use the name which a user desires if this is
37 * create path.
38 */
39 ret = 0; 40 ret = 0;
40 else { 41 spin_unlock(&dentry->d_lock);
41 spin_lock(&dentry->d_lock);
42 if (dentry->d_time != dentry->d_parent->d_inode->i_version)
43 ret = 0;
44 spin_unlock(&dentry->d_lock);
45 }
46 return ret; 42 return ret;
47} 43}
48 44
45static int vfat_revalidate(struct dentry *dentry, struct nameidata *nd)
46{
47 /* This is not negative dentry. Always valid. */
48 if (dentry->d_inode)
49 return 1;
50 return vfat_revalidate_shortname(dentry);
51}
52
53static int vfat_revalidate_ci(struct dentry *dentry, struct nameidata *nd)
54{
55 /*
56 * This is not negative dentry. Always valid.
57 *
58 * Note, rename() to existing directory entry will have ->d_inode,
59 * and will use existing name which isn't specified name by user.
60 *
61 * We may be able to drop this positive dentry here. But dropping
62 * positive dentry isn't good idea. So it's unsupported like
63 * rename("filename", "FILENAME") for now.
64 */
65 if (dentry->d_inode)
66 return 1;
67
68 /*
69 * This may be nfsd (or something), anyway, we can't see the
70 * intent of this. So, since this can be for creation, drop it.
71 */
72 if (!nd)
73 return 0;
74
75 /*
76 * Drop the negative dentry, in order to make sure to use the
77 * case sensitive name which is specified by user if this is
78 * for creation.
79 */
80 if (!(nd->flags & (LOOKUP_CONTINUE | LOOKUP_PARENT))) {
81 if (nd->flags & LOOKUP_CREATE)
82 return 0;
83 }
84
85 return vfat_revalidate_shortname(dentry);
86}
87
49/* returns the length of a struct qstr, ignoring trailing dots */ 88/* returns the length of a struct qstr, ignoring trailing dots */
50static unsigned int vfat_striptail_len(struct qstr *qstr) 89static unsigned int vfat_striptail_len(struct qstr *qstr)
51{ 90{
@@ -127,25 +166,16 @@ static int vfat_cmp(struct dentry *dentry, struct qstr *a, struct qstr *b)
127 return 1; 166 return 1;
128} 167}
129 168
130static struct dentry_operations vfat_dentry_ops[4] = { 169static struct dentry_operations vfat_ci_dentry_ops = {
131 { 170 .d_revalidate = vfat_revalidate_ci,
132 .d_hash = vfat_hashi, 171 .d_hash = vfat_hashi,
133 .d_compare = vfat_cmpi, 172 .d_compare = vfat_cmpi,
134 }, 173};
135 { 174
136 .d_revalidate = vfat_revalidate, 175static struct dentry_operations vfat_dentry_ops = {
137 .d_hash = vfat_hashi, 176 .d_revalidate = vfat_revalidate,
138 .d_compare = vfat_cmpi, 177 .d_hash = vfat_hash,
139 }, 178 .d_compare = vfat_cmp,
140 {
141 .d_hash = vfat_hash,
142 .d_compare = vfat_cmp,
143 },
144 {
145 .d_revalidate = vfat_revalidate,
146 .d_hash = vfat_hash,
147 .d_compare = vfat_cmp,
148 }
149}; 179};
150 180
151/* Characters that are undesirable in an MS-DOS file name */ 181/* Characters that are undesirable in an MS-DOS file name */
@@ -569,6 +599,7 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
569 unsigned char msdos_name[MSDOS_NAME]; 599 unsigned char msdos_name[MSDOS_NAME];
570 wchar_t *uname; 600 wchar_t *uname;
571 __le16 time, date; 601 __le16 time, date;
602 u8 time_cs;
572 int err, ulen, usize, i; 603 int err, ulen, usize, i;
573 loff_t offset; 604 loff_t offset;
574 605
@@ -621,10 +652,10 @@ shortname:
621 memcpy(de->name, msdos_name, MSDOS_NAME); 652 memcpy(de->name, msdos_name, MSDOS_NAME);
622 de->attr = is_dir ? ATTR_DIR : ATTR_ARCH; 653 de->attr = is_dir ? ATTR_DIR : ATTR_ARCH;
623 de->lcase = lcase; 654 de->lcase = lcase;
624 fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); 655 fat_time_unix2fat(sbi, ts, &time, &date, &time_cs);
625 de->time = de->ctime = time; 656 de->time = de->ctime = time;
626 de->date = de->cdate = de->adate = date; 657 de->date = de->cdate = de->adate = date;
627 de->ctime_cs = 0; 658 de->ctime_cs = time_cs;
628 de->start = cpu_to_le16(cluster); 659 de->start = cpu_to_le16(cluster);
629 de->starthi = cpu_to_le16(cluster >> 16); 660 de->starthi = cpu_to_le16(cluster >> 16);
630 de->size = 0; 661 de->size = 0;
@@ -683,46 +714,58 @@ static struct dentry *vfat_lookup(struct inode *dir, struct dentry *dentry,
683{ 714{
684 struct super_block *sb = dir->i_sb; 715 struct super_block *sb = dir->i_sb;
685 struct fat_slot_info sinfo; 716 struct fat_slot_info sinfo;
686 struct inode *inode = NULL; 717 struct inode *inode;
687 struct dentry *alias; 718 struct dentry *alias;
688 int err, table; 719 int err;
689 720
690 lock_super(sb); 721 lock_super(sb);
691 table = (MSDOS_SB(sb)->options.name_check == 's') ? 2 : 0;
692 dentry->d_op = &vfat_dentry_ops[table];
693 722
694 err = vfat_find(dir, &dentry->d_name, &sinfo); 723 err = vfat_find(dir, &dentry->d_name, &sinfo);
695 if (err) { 724 if (err) {
696 table++; 725 if (err == -ENOENT) {
726 inode = NULL;
727 goto out;
728 }
697 goto error; 729 goto error;
698 } 730 }
731
699 inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); 732 inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos);
700 brelse(sinfo.bh); 733 brelse(sinfo.bh);
701 if (IS_ERR(inode)) { 734 if (IS_ERR(inode)) {
702 unlock_super(sb); 735 err = PTR_ERR(inode);
703 return ERR_CAST(inode); 736 goto error;
704 } 737 }
705 alias = d_find_alias(inode);
706 if (alias) {
707 if (d_invalidate(alias) == 0)
708 dput(alias);
709 else {
710 iput(inode);
711 unlock_super(sb);
712 return alias;
713 }
714 738
739 alias = d_find_alias(inode);
740 if (alias && !(alias->d_flags & DCACHE_DISCONNECTED)) {
741 /*
742 * This inode has non DCACHE_DISCONNECTED dentry. This
743 * means, the user did ->lookup() by an another name
744 * (longname vs 8.3 alias of it) in past.
745 *
746 * Switch to new one for reason of locality if possible.
747 */
748 BUG_ON(d_unhashed(alias));
749 if (!S_ISDIR(inode->i_mode))
750 d_move(alias, dentry);
751 iput(inode);
752 unlock_super(sb);
753 return alias;
715 } 754 }
716error: 755out:
717 unlock_super(sb); 756 unlock_super(sb);
718 dentry->d_op = &vfat_dentry_ops[table]; 757 dentry->d_op = sb->s_root->d_op;
719 dentry->d_time = dentry->d_parent->d_inode->i_version; 758 dentry->d_time = dentry->d_parent->d_inode->i_version;
720 dentry = d_splice_alias(inode, dentry); 759 dentry = d_splice_alias(inode, dentry);
721 if (dentry) { 760 if (dentry) {
722 dentry->d_op = &vfat_dentry_ops[table]; 761 dentry->d_op = sb->s_root->d_op;
723 dentry->d_time = dentry->d_parent->d_inode->i_version; 762 dentry->d_time = dentry->d_parent->d_inode->i_version;
724 } 763 }
725 return dentry; 764 return dentry;
765
766error:
767 unlock_super(sb);
768 return ERR_PTR(err);
726} 769}
727 770
728static int vfat_create(struct inode *dir, struct dentry *dentry, int mode, 771static int vfat_create(struct inode *dir, struct dentry *dentry, int mode,
@@ -1014,9 +1057,9 @@ static int vfat_fill_super(struct super_block *sb, void *data, int silent)
1014 return res; 1057 return res;
1015 1058
1016 if (MSDOS_SB(sb)->options.name_check != 's') 1059 if (MSDOS_SB(sb)->options.name_check != 's')
1017 sb->s_root->d_op = &vfat_dentry_ops[0]; 1060 sb->s_root->d_op = &vfat_ci_dentry_ops;
1018 else 1061 else
1019 sb->s_root->d_op = &vfat_dentry_ops[2]; 1062 sb->s_root->d_op = &vfat_dentry_ops;
1020 1063
1021 return 0; 1064 return 0;
1022} 1065}
diff --git a/fs/file_table.c b/fs/file_table.c
index efc06faede6c..5ad0eca6eea2 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -269,6 +269,10 @@ void __fput(struct file *file)
269 eventpoll_release(file); 269 eventpoll_release(file);
270 locks_remove_flock(file); 270 locks_remove_flock(file);
271 271
272 if (unlikely(file->f_flags & FASYNC)) {
273 if (file->f_op && file->f_op->fasync)
274 file->f_op->fasync(-1, file, 0);
275 }
272 if (file->f_op && file->f_op->release) 276 if (file->f_op && file->f_op->release)
273 file->f_op->release(inode, file); 277 file->f_op->release(inode, file);
274 security_file_free(file); 278 security_file_free(file);
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 87250b6a8682..b72361479be2 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1056,7 +1056,6 @@ static int fuse_dev_release(struct inode *inode, struct file *file)
1056 end_requests(fc, &fc->pending); 1056 end_requests(fc, &fc->pending);
1057 end_requests(fc, &fc->processing); 1057 end_requests(fc, &fc->processing);
1058 spin_unlock(&fc->lock); 1058 spin_unlock(&fc->lock);
1059 fasync_helper(-1, file, 0, &fc->fasync);
1060 fuse_conn_put(fc); 1059 fuse_conn_put(fc);
1061 } 1060 }
1062 1061
diff --git a/fs/inotify_user.c b/fs/inotify_user.c
index d85c7d931cdf..d367e9b92862 100644
--- a/fs/inotify_user.c
+++ b/fs/inotify_user.c
@@ -537,9 +537,6 @@ static int inotify_release(struct inode *ignored, struct file *file)
537 inotify_dev_event_dequeue(dev); 537 inotify_dev_event_dequeue(dev);
538 mutex_unlock(&dev->ev_mutex); 538 mutex_unlock(&dev->ev_mutex);
539 539
540 if (file->f_flags & FASYNC)
541 inotify_fasync(-1, file, 0);
542
543 /* free this device: the put matching the get in inotify_init() */ 540 /* free this device: the put matching the get in inotify_init() */
544 put_inotify_dev(dev); 541 put_inotify_dev(dev);
545 542
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c
index 1bd8d4acc6f2..61f32f3868cd 100644
--- a/fs/jbd/checkpoint.c
+++ b/fs/jbd/checkpoint.c
@@ -115,7 +115,7 @@ static int __try_to_free_cp_buf(struct journal_head *jh)
115 */ 115 */
116void __log_wait_for_space(journal_t *journal) 116void __log_wait_for_space(journal_t *journal)
117{ 117{
118 int nblocks; 118 int nblocks, space_left;
119 assert_spin_locked(&journal->j_state_lock); 119 assert_spin_locked(&journal->j_state_lock);
120 120
121 nblocks = jbd_space_needed(journal); 121 nblocks = jbd_space_needed(journal);
@@ -128,25 +128,42 @@ void __log_wait_for_space(journal_t *journal)
128 /* 128 /*
129 * Test again, another process may have checkpointed while we 129 * Test again, another process may have checkpointed while we
130 * were waiting for the checkpoint lock. If there are no 130 * were waiting for the checkpoint lock. If there are no
131 * outstanding transactions there is nothing to checkpoint and 131 * transactions ready to be checkpointed, try to recover
132 * we can't make progress. Abort the journal in this case. 132 * journal space by calling cleanup_journal_tail(), and if
133 * that doesn't work, by waiting for the currently committing
134 * transaction to complete. If there is absolutely no way
135 * to make progress, this is either a BUG or corrupted
136 * filesystem, so abort the journal and leave a stack
137 * trace for forensic evidence.
133 */ 138 */
134 spin_lock(&journal->j_state_lock); 139 spin_lock(&journal->j_state_lock);
135 spin_lock(&journal->j_list_lock); 140 spin_lock(&journal->j_list_lock);
136 nblocks = jbd_space_needed(journal); 141 nblocks = jbd_space_needed(journal);
137 if (__log_space_left(journal) < nblocks) { 142 space_left = __log_space_left(journal);
143 if (space_left < nblocks) {
138 int chkpt = journal->j_checkpoint_transactions != NULL; 144 int chkpt = journal->j_checkpoint_transactions != NULL;
145 tid_t tid = 0;
139 146
147 if (journal->j_committing_transaction)
148 tid = journal->j_committing_transaction->t_tid;
140 spin_unlock(&journal->j_list_lock); 149 spin_unlock(&journal->j_list_lock);
141 spin_unlock(&journal->j_state_lock); 150 spin_unlock(&journal->j_state_lock);
142 if (chkpt) { 151 if (chkpt) {
143 log_do_checkpoint(journal); 152 log_do_checkpoint(journal);
153 } else if (cleanup_journal_tail(journal) == 0) {
154 /* We were able to recover space; yay! */
155 ;
156 } else if (tid) {
157 log_wait_commit(journal, tid);
144 } else { 158 } else {
145 printk(KERN_ERR "%s: no transactions\n", 159 printk(KERN_ERR "%s: needed %d blocks and "
146 __func__); 160 "only had %d space available\n",
161 __func__, nblocks, space_left);
162 printk(KERN_ERR "%s: no way to get more "
163 "journal space\n", __func__);
164 WARN_ON(1);
147 journal_abort(journal, 0); 165 journal_abort(journal, 0);
148 } 166 }
149
150 spin_lock(&journal->j_state_lock); 167 spin_lock(&journal->j_state_lock);
151 } else { 168 } else {
152 spin_unlock(&journal->j_list_lock); 169 spin_unlock(&journal->j_list_lock);
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
index d15cd6e7251e..60d4c32c8808 100644
--- a/fs/jbd/transaction.c
+++ b/fs/jbd/transaction.c
@@ -860,7 +860,6 @@ out:
860 * int journal_get_undo_access() - Notify intent to modify metadata with non-rewindable consequences 860 * int journal_get_undo_access() - Notify intent to modify metadata with non-rewindable consequences
861 * @handle: transaction 861 * @handle: transaction
862 * @bh: buffer to undo 862 * @bh: buffer to undo
863 * @credits: store the number of taken credits here (if not NULL)
864 * 863 *
865 * Sometimes there is a need to distinguish between metadata which has 864 * Sometimes there is a need to distinguish between metadata which has
866 * been committed to disk and that which has not. The ext3fs code uses 865 * been committed to disk and that which has not. The ext3fs code uses
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c
index 9203c3332f17..9497718fe920 100644
--- a/fs/jbd2/checkpoint.c
+++ b/fs/jbd2/checkpoint.c
@@ -116,7 +116,7 @@ static int __try_to_free_cp_buf(struct journal_head *jh)
116 */ 116 */
117void __jbd2_log_wait_for_space(journal_t *journal) 117void __jbd2_log_wait_for_space(journal_t *journal)
118{ 118{
119 int nblocks; 119 int nblocks, space_left;
120 assert_spin_locked(&journal->j_state_lock); 120 assert_spin_locked(&journal->j_state_lock);
121 121
122 nblocks = jbd_space_needed(journal); 122 nblocks = jbd_space_needed(journal);
@@ -129,25 +129,43 @@ void __jbd2_log_wait_for_space(journal_t *journal)
129 /* 129 /*
130 * Test again, another process may have checkpointed while we 130 * Test again, another process may have checkpointed while we
131 * were waiting for the checkpoint lock. If there are no 131 * were waiting for the checkpoint lock. If there are no
132 * outstanding transactions there is nothing to checkpoint and 132 * transactions ready to be checkpointed, try to recover
133 * we can't make progress. Abort the journal in this case. 133 * journal space by calling cleanup_journal_tail(), and if
134 * that doesn't work, by waiting for the currently committing
135 * transaction to complete. If there is absolutely no way
136 * to make progress, this is either a BUG or corrupted
137 * filesystem, so abort the journal and leave a stack
138 * trace for forensic evidence.
134 */ 139 */
135 spin_lock(&journal->j_state_lock); 140 spin_lock(&journal->j_state_lock);
136 spin_lock(&journal->j_list_lock); 141 spin_lock(&journal->j_list_lock);
137 nblocks = jbd_space_needed(journal); 142 nblocks = jbd_space_needed(journal);
138 if (__jbd2_log_space_left(journal) < nblocks) { 143 space_left = __jbd2_log_space_left(journal);
144 if (space_left < nblocks) {
139 int chkpt = journal->j_checkpoint_transactions != NULL; 145 int chkpt = journal->j_checkpoint_transactions != NULL;
146 tid_t tid = 0;
140 147
148 if (journal->j_committing_transaction)
149 tid = journal->j_committing_transaction->t_tid;
141 spin_unlock(&journal->j_list_lock); 150 spin_unlock(&journal->j_list_lock);
142 spin_unlock(&journal->j_state_lock); 151 spin_unlock(&journal->j_state_lock);
143 if (chkpt) { 152 if (chkpt) {
144 jbd2_log_do_checkpoint(journal); 153 jbd2_log_do_checkpoint(journal);
154 } else if (jbd2_cleanup_journal_tail(journal) == 0) {
155 /* We were able to recover space; yay! */
156 ;
157 } else if (tid) {
158 jbd2_log_wait_commit(journal, tid);
145 } else { 159 } else {
146 printk(KERN_ERR "%s: no transactions\n", 160 printk(KERN_ERR "%s: needed %d blocks and "
147 __func__); 161 "only had %d space available\n",
162 __func__, nblocks, space_left);
163 printk(KERN_ERR "%s: no way to get more "
164 "journal space in %s\n", __func__,
165 journal->j_devname);
166 WARN_ON(1);
148 jbd2_journal_abort(journal, 0); 167 jbd2_journal_abort(journal, 0);
149 } 168 }
150
151 spin_lock(&journal->j_state_lock); 169 spin_lock(&journal->j_state_lock);
152 } else { 170 } else {
153 spin_unlock(&journal->j_list_lock); 171 spin_unlock(&journal->j_list_lock);
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 8b119e16aa36..ebc667bc54a8 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -974,6 +974,9 @@ restart_loop:
974 journal->j_committing_transaction = NULL; 974 journal->j_committing_transaction = NULL;
975 spin_unlock(&journal->j_state_lock); 975 spin_unlock(&journal->j_state_lock);
976 976
977 if (journal->j_commit_callback)
978 journal->j_commit_callback(journal, commit_transaction);
979
977 if (commit_transaction->t_checkpoint_list == NULL && 980 if (commit_transaction->t_checkpoint_list == NULL &&
978 commit_transaction->t_checkpoint_io_list == NULL) { 981 commit_transaction->t_checkpoint_io_list == NULL) {
979 __jbd2_journal_drop_transaction(journal, commit_transaction); 982 __jbd2_journal_drop_transaction(journal, commit_transaction);
@@ -995,11 +998,8 @@ restart_loop:
995 } 998 }
996 spin_unlock(&journal->j_list_lock); 999 spin_unlock(&journal->j_list_lock);
997 1000
998 if (journal->j_commit_callback)
999 journal->j_commit_callback(journal, commit_transaction);
1000
1001 trace_mark(jbd2_end_commit, "dev %s transaction %d head %d", 1001 trace_mark(jbd2_end_commit, "dev %s transaction %d head %d",
1002 journal->j_devname, commit_transaction->t_tid, 1002 journal->j_devname, journal->j_commit_sequence,
1003 journal->j_tail_sequence); 1003 journal->j_tail_sequence);
1004 jbd_debug(1, "JBD: commit %d complete, head %d\n", 1004 jbd_debug(1, "JBD: commit %d complete, head %d\n",
1005 journal->j_commit_sequence, journal->j_tail_sequence); 1005 journal->j_commit_sequence, journal->j_tail_sequence);
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 783de118de92..e70d657a19f8 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1089,6 +1089,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
1089 if (!journal->j_wbuf) { 1089 if (!journal->j_wbuf) {
1090 printk(KERN_ERR "%s: Cant allocate bhs for commit thread\n", 1090 printk(KERN_ERR "%s: Cant allocate bhs for commit thread\n",
1091 __func__); 1091 __func__);
1092 jbd2_stats_proc_exit(journal);
1092 kfree(journal); 1093 kfree(journal);
1093 return NULL; 1094 return NULL;
1094 } 1095 }
@@ -1098,6 +1099,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
1098 if (err) { 1099 if (err) {
1099 printk(KERN_ERR "%s: Cannnot locate journal superblock\n", 1100 printk(KERN_ERR "%s: Cannnot locate journal superblock\n",
1100 __func__); 1101 __func__);
1102 jbd2_stats_proc_exit(journal);
1101 kfree(journal); 1103 kfree(journal);
1102 return NULL; 1104 return NULL;
1103 } 1105 }
diff --git a/fs/jffs2/background.c b/fs/jffs2/background.c
index 8adebd3e43c6..3cceef4ad2b7 100644
--- a/fs/jffs2/background.c
+++ b/fs/jffs2/background.c
@@ -85,15 +85,15 @@ static int jffs2_garbage_collect_thread(void *_c)
85 for (;;) { 85 for (;;) {
86 allow_signal(SIGHUP); 86 allow_signal(SIGHUP);
87 again: 87 again:
88 spin_lock(&c->erase_completion_lock);
88 if (!jffs2_thread_should_wake(c)) { 89 if (!jffs2_thread_should_wake(c)) {
89 set_current_state (TASK_INTERRUPTIBLE); 90 set_current_state (TASK_INTERRUPTIBLE);
91 spin_unlock(&c->erase_completion_lock);
90 D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread sleeping...\n")); 92 D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread sleeping...\n"));
91 /* Yes, there's a race here; we checked jffs2_thread_should_wake()
92 before setting current->state to TASK_INTERRUPTIBLE. But it doesn't
93 matter - We don't care if we miss a wakeup, because the GC thread
94 is only an optimisation anyway. */
95 schedule(); 93 schedule();
96 } 94 } else
95 spin_unlock(&c->erase_completion_lock);
96
97 97
98 /* This thread is purely an optimisation. But if it runs when 98 /* This thread is purely an optimisation. But if it runs when
99 other things could be running, it actually makes things a 99 other things could be running, it actually makes things a
diff --git a/fs/jffs2/compr_lzo.c b/fs/jffs2/compr_lzo.c
index 47b045797e42..90cb60d09787 100644
--- a/fs/jffs2/compr_lzo.c
+++ b/fs/jffs2/compr_lzo.c
@@ -19,7 +19,7 @@
19 19
20static void *lzo_mem; 20static void *lzo_mem;
21static void *lzo_compress_buf; 21static void *lzo_compress_buf;
22static DEFINE_MUTEX(deflate_mutex); 22static DEFINE_MUTEX(deflate_mutex); /* for lzo_mem and lzo_compress_buf */
23 23
24static void free_workspace(void) 24static void free_workspace(void)
25{ 25{
@@ -49,18 +49,21 @@ static int jffs2_lzo_compress(unsigned char *data_in, unsigned char *cpage_out,
49 49
50 mutex_lock(&deflate_mutex); 50 mutex_lock(&deflate_mutex);
51 ret = lzo1x_1_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem); 51 ret = lzo1x_1_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem);
52 mutex_unlock(&deflate_mutex);
53
54 if (ret != LZO_E_OK) 52 if (ret != LZO_E_OK)
55 return -1; 53 goto fail;
56 54
57 if (compress_size > *dstlen) 55 if (compress_size > *dstlen)
58 return -1; 56 goto fail;
59 57
60 memcpy(cpage_out, lzo_compress_buf, compress_size); 58 memcpy(cpage_out, lzo_compress_buf, compress_size);
61 *dstlen = compress_size; 59 mutex_unlock(&deflate_mutex);
62 60
61 *dstlen = compress_size;
63 return 0; 62 return 0;
63
64 fail:
65 mutex_unlock(&deflate_mutex);
66 return -1;
64} 67}
65 68
66static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out, 69static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out,
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c
index 0875b60b4bf7..21a052915aa9 100644
--- a/fs/jffs2/nodemgmt.c
+++ b/fs/jffs2/nodemgmt.c
@@ -261,9 +261,11 @@ static int jffs2_find_nextblock(struct jffs2_sb_info *c)
261 261
262 jffs2_sum_reset_collected(c->summary); /* reset collected summary */ 262 jffs2_sum_reset_collected(c->summary); /* reset collected summary */
263 263
264#ifdef CONFIG_JFFS2_FS_WRITEBUFFER
264 /* adjust write buffer offset, else we get a non contiguous write bug */ 265 /* adjust write buffer offset, else we get a non contiguous write bug */
265 if (!(c->wbuf_ofs % c->sector_size) && !c->wbuf_len) 266 if (!(c->wbuf_ofs % c->sector_size) && !c->wbuf_len)
266 c->wbuf_ofs = 0xffffffff; 267 c->wbuf_ofs = 0xffffffff;
268#endif
267 269
268 D1(printk(KERN_DEBUG "jffs2_find_nextblock(): new nextblock = 0x%08x\n", c->nextblock->offset)); 270 D1(printk(KERN_DEBUG "jffs2_find_nextblock(): new nextblock = 0x%08x\n", c->nextblock->offset));
269 271
diff --git a/fs/libfs.c b/fs/libfs.c
index 74688598bcf7..e960a8321902 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -814,7 +814,7 @@ EXPORT_SYMBOL(simple_getattr);
814EXPORT_SYMBOL(simple_link); 814EXPORT_SYMBOL(simple_link);
815EXPORT_SYMBOL(simple_lookup); 815EXPORT_SYMBOL(simple_lookup);
816EXPORT_SYMBOL(simple_pin_fs); 816EXPORT_SYMBOL(simple_pin_fs);
817EXPORT_SYMBOL(simple_prepare_write); 817EXPORT_UNUSED_SYMBOL(simple_prepare_write);
818EXPORT_SYMBOL(simple_readpage); 818EXPORT_SYMBOL(simple_readpage);
819EXPORT_SYMBOL(simple_release_fs); 819EXPORT_SYMBOL(simple_release_fs);
820EXPORT_SYMBOL(simple_rename); 820EXPORT_SYMBOL(simple_rename);
diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c
index 014f6ce48172..4dfdcbc6bf68 100644
--- a/fs/lockd/svc4proc.c
+++ b/fs/lockd/svc4proc.c
@@ -434,6 +434,7 @@ nlm4svc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,
434 * reclaim all locks we hold on this server. 434 * reclaim all locks we hold on this server.
435 */ 435 */
436 memset(&saddr, 0, sizeof(saddr)); 436 memset(&saddr, 0, sizeof(saddr));
437 saddr.sin_family = AF_INET;
437 saddr.sin_addr.s_addr = argp->addr; 438 saddr.sin_addr.s_addr = argp->addr;
438 nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); 439 nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state);
439 440
diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c
index 548b0bb2b84d..3ca89e2a9381 100644
--- a/fs/lockd/svcproc.c
+++ b/fs/lockd/svcproc.c
@@ -466,6 +466,7 @@ nlmsvc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp,
466 * reclaim all locks we hold on this server. 466 * reclaim all locks we hold on this server.
467 */ 467 */
468 memset(&saddr, 0, sizeof(saddr)); 468 memset(&saddr, 0, sizeof(saddr));
469 saddr.sin_family = AF_INET;
469 saddr.sin_addr.s_addr = argp->addr; 470 saddr.sin_addr.s_addr = argp->addr;
470 nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); 471 nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state);
471 472
diff --git a/fs/msdos/Makefile b/fs/msdos/Makefile
deleted file mode 100644
index ea67646fcb95..000000000000
--- a/fs/msdos/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
1#
2# Makefile for the Linux msdos filesystem routines.
3#
4
5obj-$(CONFIG_MSDOS_FS) += msdos.o
6
7msdos-y := namei.o
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index b9195c02a863..d22eb383e1cf 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * nfs inode and superblock handling functions 6 * nfs inode and superblock handling functions
7 * 7 *
8 * Modularised by Alan Cox <Alan.Cox@linux.org>, while hacking some 8 * Modularised by Alan Cox <alan@lxorguk.ukuu.org.uk>, while hacking some
9 * experimental NFS changes. Modularisation taken straight from SYS5 fs. 9 * experimental NFS changes. Modularisation taken straight from SYS5 fs.
10 * 10 *
11 * Change to nfs_read_super() to permit NFS mounts to multi-homed hosts. 11 * Change to nfs_read_super() to permit NFS mounts to multi-homed hosts.
@@ -908,21 +908,16 @@ static int nfs_size_need_update(const struct inode *inode, const struct nfs_fatt
908 return nfs_size_to_loff_t(fattr->size) > i_size_read(inode); 908 return nfs_size_to_loff_t(fattr->size) > i_size_read(inode);
909} 909}
910 910
911static unsigned long nfs_attr_generation_counter; 911static atomic_long_t nfs_attr_generation_counter;
912 912
913static unsigned long nfs_read_attr_generation_counter(void) 913static unsigned long nfs_read_attr_generation_counter(void)
914{ 914{
915 smp_rmb(); 915 return atomic_long_read(&nfs_attr_generation_counter);
916 return nfs_attr_generation_counter;
917} 916}
918 917
919unsigned long nfs_inc_attr_generation_counter(void) 918unsigned long nfs_inc_attr_generation_counter(void)
920{ 919{
921 unsigned long ret; 920 return atomic_long_inc_return(&nfs_attr_generation_counter);
922 smp_rmb();
923 ret = ++nfs_attr_generation_counter;
924 smp_wmb();
925 return ret;
926} 921}
927 922
928void nfs_fattr_init(struct nfs_fattr *fattr) 923void nfs_fattr_init(struct nfs_fattr *fattr)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index a3b0061dfd45..f48db679a1c6 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * nfs superblock handling functions 6 * nfs superblock handling functions
7 * 7 *
8 * Modularised by Alan Cox <Alan.Cox@linux.org>, while hacking some 8 * Modularised by Alan Cox <alan@lxorguk.ukuu.org.uk>, while hacking some
9 * experimental NFS changes. Modularisation taken straight from SYS5 fs. 9 * experimental NFS changes. Modularisation taken straight from SYS5 fs.
10 * 10 *
11 * Change to nfs_read_super() to permit NFS mounts to multi-homed hosts. 11 * Change to nfs_read_super() to permit NFS mounts to multi-homed hosts.
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 0bc56f6d9276..4433c8f00163 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1875,11 +1875,11 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
1875 return -ENOMEM; 1875 return -ENOMEM;
1876 1876
1877 offset = *offsetp; 1877 offset = *offsetp;
1878 cdp->err = nfserr_eof; /* will be cleared on successful read */
1879 1878
1880 while (1) { 1879 while (1) {
1881 unsigned int reclen; 1880 unsigned int reclen;
1882 1881
1882 cdp->err = nfserr_eof; /* will be cleared on successful read */
1883 buf.used = 0; 1883 buf.used = 0;
1884 buf.full = 0; 1884 buf.full = 0;
1885 1885
@@ -1912,8 +1912,6 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
1912 de = (struct buffered_dirent *)((char *)de + reclen); 1912 de = (struct buffered_dirent *)((char *)de + reclen);
1913 } 1913 }
1914 offset = vfs_llseek(file, 0, SEEK_CUR); 1914 offset = vfs_llseek(file, 0, SEEK_CUR);
1915 if (!buf.full)
1916 break;
1917 } 1915 }
1918 1916
1919 done: 1917 done:
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 8d3225a78073..e2570a3bc2b2 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -247,8 +247,8 @@ int ocfs2_update_inode_atime(struct inode *inode,
247 mlog_entry_void(); 247 mlog_entry_void();
248 248
249 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); 249 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
250 if (handle == NULL) { 250 if (IS_ERR(handle)) {
251 ret = -ENOMEM; 251 ret = PTR_ERR(handle);
252 mlog_errno(ret); 252 mlog_errno(ret);
253 goto out; 253 goto out;
254 } 254 }
@@ -312,8 +312,8 @@ static int ocfs2_simple_size_update(struct inode *inode,
312 handle_t *handle = NULL; 312 handle_t *handle = NULL;
313 313
314 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); 314 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
315 if (handle == NULL) { 315 if (IS_ERR(handle)) {
316 ret = -ENOMEM; 316 ret = PTR_ERR(handle);
317 mlog_errno(ret); 317 mlog_errno(ret);
318 goto out; 318 goto out;
319 } 319 }
@@ -679,8 +679,7 @@ leave:
679 679
680/* Some parts of this taken from generic_cont_expand, which turned out 680/* Some parts of this taken from generic_cont_expand, which turned out
681 * to be too fragile to do exactly what we need without us having to 681 * to be too fragile to do exactly what we need without us having to
682 * worry about recursive locking in ->prepare_write() and 682 * worry about recursive locking in ->write_begin() and ->write_end(). */
683 * ->commit_write(). */
684static int ocfs2_write_zero_page(struct inode *inode, 683static int ocfs2_write_zero_page(struct inode *inode,
685 u64 size) 684 u64 size)
686{ 685{
@@ -1056,8 +1055,8 @@ static int __ocfs2_write_remove_suid(struct inode *inode,
1056 (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_mode); 1055 (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_mode);
1057 1056
1058 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); 1057 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
1059 if (handle == NULL) { 1058 if (IS_ERR(handle)) {
1060 ret = -ENOMEM; 1059 ret = PTR_ERR(handle);
1061 mlog_errno(ret); 1060 mlog_errno(ret);
1062 goto out; 1061 goto out;
1063 } 1062 }
@@ -1260,8 +1259,8 @@ static int __ocfs2_remove_inode_range(struct inode *inode,
1260 } 1259 }
1261 1260
1262 handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS); 1261 handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS);
1263 if (handle == NULL) { 1262 if (IS_ERR(handle)) {
1264 ret = -ENOMEM; 1263 ret = PTR_ERR(handle);
1265 mlog_errno(ret); 1264 mlog_errno(ret);
1266 goto out; 1265 goto out;
1267 } 1266 }
@@ -1353,8 +1352,8 @@ static int ocfs2_zero_partial_clusters(struct inode *inode,
1353 goto out; 1352 goto out;
1354 1353
1355 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); 1354 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
1356 if (handle == NULL) { 1355 if (IS_ERR(handle)) {
1357 ret = -ENOMEM; 1356 ret = PTR_ERR(handle);
1358 mlog_errno(ret); 1357 mlog_errno(ret);
1359 goto out; 1358 goto out;
1360 } 1359 }
@@ -1867,6 +1866,13 @@ relock:
1867 written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos, 1866 written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos,
1868 ppos, count, ocount); 1867 ppos, count, ocount);
1869 if (written < 0) { 1868 if (written < 0) {
1869 /*
1870 * direct write may have instantiated a few
1871 * blocks outside i_size. Trim these off again.
1872 * Don't need i_size_read because we hold i_mutex.
1873 */
1874 if (*ppos + count > inode->i_size)
1875 vmtruncate(inode, inode->i_size);
1870 ret = written; 1876 ret = written;
1871 goto out_dio; 1877 goto out_dio;
1872 } 1878 }
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
index 4903688f72a9..7aa00d511874 100644
--- a/fs/ocfs2/inode.c
+++ b/fs/ocfs2/inode.c
@@ -1106,6 +1106,12 @@ void ocfs2_clear_inode(struct inode *inode)
1106 oi->ip_last_trans = 0; 1106 oi->ip_last_trans = 0;
1107 oi->ip_dir_start_lookup = 0; 1107 oi->ip_dir_start_lookup = 0;
1108 oi->ip_blkno = 0ULL; 1108 oi->ip_blkno = 0ULL;
1109
1110 /*
1111 * ip_jinode is used to track txns against this inode. We ensure that
1112 * the journal is flushed before journal shutdown. Thus it is safe to
1113 * have inodes get cleaned up after journal shutdown.
1114 */
1109 jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal, 1115 jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal,
1110 &oi->ip_jinode); 1116 &oi->ip_jinode);
1111 1117
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 81e40677eecb..99fe9d584f3c 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -690,6 +690,7 @@ void ocfs2_journal_shutdown(struct ocfs2_super *osb)
690 690
691 /* Shutdown the kernel journal system */ 691 /* Shutdown the kernel journal system */
692 jbd2_journal_destroy(journal->j_journal); 692 jbd2_journal_destroy(journal->j_journal);
693 journal->j_journal = NULL;
693 694
694 OCFS2_I(inode)->ip_open_count--; 695 OCFS2_I(inode)->ip_open_count--;
695 696
diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c
index 3dc18d67557c..eea1d24713ea 100644
--- a/fs/ocfs2/mmap.c
+++ b/fs/ocfs2/mmap.c
@@ -113,7 +113,11 @@ static int __ocfs2_page_mkwrite(struct inode *inode, struct buffer_head *di_bh,
113 * ocfs2_write_begin_nolock(). 113 * ocfs2_write_begin_nolock().
114 */ 114 */
115 if (!PageUptodate(page) || page->mapping != inode->i_mapping) { 115 if (!PageUptodate(page) || page->mapping != inode->i_mapping) {
116 ret = -EINVAL; 116 /*
117 * the page has been umapped in ocfs2_data_downconvert_worker.
118 * So return 0 here and let VFS retry.
119 */
120 ret = 0;
117 goto out; 121 goto out;
118 } 122 }
119 123
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 485a6aa0ad39..f4967e634ffd 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -378,8 +378,8 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb,
378 } 378 }
379 379
380 inode = new_inode(dir->i_sb); 380 inode = new_inode(dir->i_sb);
381 if (IS_ERR(inode)) { 381 if (!inode) {
382 status = PTR_ERR(inode); 382 status = -ENOMEM;
383 mlog(ML_ERROR, "new_inode failed!\n"); 383 mlog(ML_ERROR, "new_inode failed!\n");
384 goto leave; 384 goto leave;
385 } 385 }
@@ -491,8 +491,10 @@ leave:
491 brelse(*new_fe_bh); 491 brelse(*new_fe_bh);
492 *new_fe_bh = NULL; 492 *new_fe_bh = NULL;
493 } 493 }
494 if (inode) 494 if (inode) {
495 clear_nlink(inode);
495 iput(inode); 496 iput(inode);
497 }
496 } 498 }
497 499
498 mlog_exit(status); 500 mlog_exit(status);
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index a21a465490c4..fef7ece32376 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -473,6 +473,9 @@ static inline int ocfs2_uses_extended_slot_map(struct ocfs2_super *osb)
473 (____gd)->bg_signature); \ 473 (____gd)->bg_signature); \
474} while (0) 474} while (0)
475 475
476#define OCFS2_IS_VALID_XATTR_BLOCK(ptr) \
477 (!strcmp((ptr)->xb_signature, OCFS2_XATTR_BLOCK_SIGNATURE))
478
476static inline unsigned long ino_from_blkno(struct super_block *sb, 479static inline unsigned long ino_from_blkno(struct super_block *sb,
477 u64 blkno) 480 u64 blkno)
478{ 481{
diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h
index f24ce3d3f956..5f180cf7abbd 100644
--- a/fs/ocfs2/ocfs2_fs.h
+++ b/fs/ocfs2/ocfs2_fs.h
@@ -742,12 +742,12 @@ struct ocfs2_group_desc
742 */ 742 */
743struct ocfs2_xattr_entry { 743struct ocfs2_xattr_entry {
744 __le32 xe_name_hash; /* hash value of xattr prefix+suffix. */ 744 __le32 xe_name_hash; /* hash value of xattr prefix+suffix. */
745 __le16 xe_name_offset; /* byte offset from the 1st etnry in the local 745 __le16 xe_name_offset; /* byte offset from the 1st entry in the
746 local xattr storage(inode, xattr block or 746 local xattr storage(inode, xattr block or
747 xattr bucket). */ 747 xattr bucket). */
748 __u8 xe_name_len; /* xattr name len, does't include prefix. */ 748 __u8 xe_name_len; /* xattr name len, does't include prefix. */
749 __u8 xe_type; /* the low 7 bits indicates the name prefix's 749 __u8 xe_type; /* the low 7 bits indicate the name prefix
750 * type and the highest 1 bits indicate whether 750 * type and the highest bit indicates whether
751 * the EA is stored in the local storage. */ 751 * the EA is stored in the local storage. */
752 __le64 xe_value_size; /* real xattr value length. */ 752 __le64 xe_value_size; /* real xattr value length. */
753}; 753};
@@ -766,9 +766,10 @@ struct ocfs2_xattr_header {
766 xattr. */ 766 xattr. */
767 __le16 xh_name_value_len; /* total length of name/value 767 __le16 xh_name_value_len; /* total length of name/value
768 length in this bucket. */ 768 length in this bucket. */
769 __le16 xh_num_buckets; /* bucket nums in one extent 769 __le16 xh_num_buckets; /* Number of xattr buckets
770 record, only valid in the 770 in this extent record,
771 first bucket. */ 771 only valid in the first
772 bucket. */
772 __le64 xh_csum; 773 __le64 xh_csum;
773 struct ocfs2_xattr_entry xh_entries[0]; /* xattr entry list. */ 774 struct ocfs2_xattr_entry xh_entries[0]; /* xattr entry list. */
774}; 775};
@@ -776,8 +777,8 @@ struct ocfs2_xattr_header {
776/* 777/*
777 * On disk structure for xattr value root. 778 * On disk structure for xattr value root.
778 * 779 *
779 * It is used when one extended attribute's size is larger, and we will save it 780 * When an xattr's value is large enough, it is stored in an external
780 * in an outside cluster. It will stored in a b-tree like file content. 781 * b-tree like file data. The xattr value root points to this structure.
781 */ 782 */
782struct ocfs2_xattr_value_root { 783struct ocfs2_xattr_value_root {
783/*00*/ __le32 xr_clusters; /* clusters covered by xattr value. */ 784/*00*/ __le32 xr_clusters; /* clusters covered by xattr value. */
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
index 802c41492214..054e2efb0b7e 100644
--- a/fs/ocfs2/xattr.c
+++ b/fs/ocfs2/xattr.c
@@ -3,25 +3,20 @@
3 * 3 *
4 * xattr.c 4 * xattr.c
5 * 5 *
6 * Copyright (C) 2008 Oracle. All rights reserved. 6 * Copyright (C) 2004, 2008 Oracle. All rights reserved.
7 * 7 *
8 * CREDITS: 8 * CREDITS:
9 * Lots of code in this file is taken from ext3. 9 * Lots of code in this file is copy from linux/fs/ext3/xattr.c.
10 * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
10 * 11 *
11 * This program is free software; you can redistribute it and/or 12 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public 13 * modify it under the terms of the GNU General Public
13 * License as published by the Free Software Foundation; either 14 * License version 2 as published by the Free Software Foundation.
14 * version 2 of the License, or (at your option) any later version.
15 * 15 *
16 * This program is distributed in the hope that it will be useful, 16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * General Public License for more details. 19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public
22 * License along with this program; if not, write to the
23 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 * Boston, MA 021110-1307, USA.
25 */ 20 */
26 21
27#include <linux/capability.h> 22#include <linux/capability.h>
@@ -83,7 +78,7 @@ struct xattr_handler *ocfs2_xattr_handlers[] = {
83 NULL 78 NULL
84}; 79};
85 80
86static struct xattr_handler *ocfs2_xattr_handler_map[] = { 81static struct xattr_handler *ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = {
87 [OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler, 82 [OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler,
88 [OCFS2_XATTR_INDEX_TRUSTED] = &ocfs2_xattr_trusted_handler, 83 [OCFS2_XATTR_INDEX_TRUSTED] = &ocfs2_xattr_trusted_handler,
89}; 84};
@@ -116,6 +111,10 @@ static int ocfs2_xattr_bucket_get_name_value(struct inode *inode,
116 int *block_off, 111 int *block_off,
117 int *new_offset); 112 int *new_offset);
118 113
114static int ocfs2_xattr_block_find(struct inode *inode,
115 int name_index,
116 const char *name,
117 struct ocfs2_xattr_search *xs);
119static int ocfs2_xattr_index_block_find(struct inode *inode, 118static int ocfs2_xattr_index_block_find(struct inode *inode,
120 struct buffer_head *root_bh, 119 struct buffer_head *root_bh,
121 int name_index, 120 int name_index,
@@ -137,6 +136,24 @@ static int ocfs2_xattr_set_entry_index_block(struct inode *inode,
137static int ocfs2_delete_xattr_index_block(struct inode *inode, 136static int ocfs2_delete_xattr_index_block(struct inode *inode,
138 struct buffer_head *xb_bh); 137 struct buffer_head *xb_bh);
139 138
139static inline u16 ocfs2_xattr_buckets_per_cluster(struct ocfs2_super *osb)
140{
141 return (1 << osb->s_clustersize_bits) / OCFS2_XATTR_BUCKET_SIZE;
142}
143
144static inline u16 ocfs2_blocks_per_xattr_bucket(struct super_block *sb)
145{
146 return OCFS2_XATTR_BUCKET_SIZE / (1 << sb->s_blocksize_bits);
147}
148
149static inline u16 ocfs2_xattr_max_xe_in_bucket(struct super_block *sb)
150{
151 u16 len = sb->s_blocksize -
152 offsetof(struct ocfs2_xattr_header, xh_entries);
153
154 return len / sizeof(struct ocfs2_xattr_entry);
155}
156
140static inline const char *ocfs2_xattr_prefix(int name_index) 157static inline const char *ocfs2_xattr_prefix(int name_index)
141{ 158{
142 struct xattr_handler *handler = NULL; 159 struct xattr_handler *handler = NULL;
@@ -542,14 +559,12 @@ static int ocfs2_xattr_block_list(struct inode *inode,
542 mlog_errno(ret); 559 mlog_errno(ret);
543 return ret; 560 return ret;
544 } 561 }
545 /*Verify the signature of xattr block*/
546 if (memcmp((void *)blk_bh->b_data, OCFS2_XATTR_BLOCK_SIGNATURE,
547 strlen(OCFS2_XATTR_BLOCK_SIGNATURE))) {
548 ret = -EFAULT;
549 goto cleanup;
550 }
551 562
552 xb = (struct ocfs2_xattr_block *)blk_bh->b_data; 563 xb = (struct ocfs2_xattr_block *)blk_bh->b_data;
564 if (!OCFS2_IS_VALID_XATTR_BLOCK(xb)) {
565 ret = -EIO;
566 goto cleanup;
567 }
553 568
554 if (!(le16_to_cpu(xb->xb_flags) & OCFS2_XATTR_INDEXED)) { 569 if (!(le16_to_cpu(xb->xb_flags) & OCFS2_XATTR_INDEXED)) {
555 struct ocfs2_xattr_header *header = &xb->xb_attrs.xb_header; 570 struct ocfs2_xattr_header *header = &xb->xb_attrs.xb_header;
@@ -749,47 +764,25 @@ static int ocfs2_xattr_block_get(struct inode *inode,
749 size_t buffer_size, 764 size_t buffer_size,
750 struct ocfs2_xattr_search *xs) 765 struct ocfs2_xattr_search *xs)
751{ 766{
752 struct ocfs2_dinode *di = (struct ocfs2_dinode *)xs->inode_bh->b_data;
753 struct buffer_head *blk_bh = NULL;
754 struct ocfs2_xattr_block *xb; 767 struct ocfs2_xattr_block *xb;
755 struct ocfs2_xattr_value_root *xv; 768 struct ocfs2_xattr_value_root *xv;
756 size_t size; 769 size_t size;
757 int ret = -ENODATA, name_offset, name_len, block_off, i; 770 int ret = -ENODATA, name_offset, name_len, block_off, i;
758 771
759 if (!di->i_xattr_loc)
760 return ret;
761
762 memset(&xs->bucket, 0, sizeof(xs->bucket)); 772 memset(&xs->bucket, 0, sizeof(xs->bucket));
763 773
764 ret = ocfs2_read_block(inode, le64_to_cpu(di->i_xattr_loc), &blk_bh); 774 ret = ocfs2_xattr_block_find(inode, name_index, name, xs);
765 if (ret < 0) { 775 if (ret) {
766 mlog_errno(ret); 776 mlog_errno(ret);
767 return ret;
768 }
769 /*Verify the signature of xattr block*/
770 if (memcmp((void *)blk_bh->b_data, OCFS2_XATTR_BLOCK_SIGNATURE,
771 strlen(OCFS2_XATTR_BLOCK_SIGNATURE))) {
772 ret = -EFAULT;
773 goto cleanup; 777 goto cleanup;
774 } 778 }
775 779
776 xs->xattr_bh = blk_bh; 780 if (xs->not_found) {
777 xb = (struct ocfs2_xattr_block *)blk_bh->b_data; 781 ret = -ENODATA;
778
779 if (!(le16_to_cpu(xb->xb_flags) & OCFS2_XATTR_INDEXED)) {
780 xs->header = &xb->xb_attrs.xb_header;
781 xs->base = (void *)xs->header;
782 xs->end = (void *)(blk_bh->b_data) + blk_bh->b_size;
783 xs->here = xs->header->xh_entries;
784
785 ret = ocfs2_xattr_find_entry(name_index, name, xs);
786 } else
787 ret = ocfs2_xattr_index_block_find(inode, blk_bh,
788 name_index,
789 name, xs);
790
791 if (ret)
792 goto cleanup; 782 goto cleanup;
783 }
784
785 xb = (struct ocfs2_xattr_block *)xs->xattr_bh->b_data;
793 size = le64_to_cpu(xs->here->xe_value_size); 786 size = le64_to_cpu(xs->here->xe_value_size);
794 if (buffer) { 787 if (buffer) {
795 ret = -ERANGE; 788 ret = -ERANGE;
@@ -828,7 +821,8 @@ cleanup:
828 brelse(xs->bucket.bhs[i]); 821 brelse(xs->bucket.bhs[i]);
829 memset(&xs->bucket, 0, sizeof(xs->bucket)); 822 memset(&xs->bucket, 0, sizeof(xs->bucket));
830 823
831 brelse(blk_bh); 824 brelse(xs->xattr_bh);
825 xs->xattr_bh = NULL;
832 return ret; 826 return ret;
833} 827}
834 828
@@ -837,11 +831,11 @@ cleanup:
837 * Copy an extended attribute into the buffer provided. 831 * Copy an extended attribute into the buffer provided.
838 * Buffer is NULL to compute the size of buffer required. 832 * Buffer is NULL to compute the size of buffer required.
839 */ 833 */
840int ocfs2_xattr_get(struct inode *inode, 834static int ocfs2_xattr_get(struct inode *inode,
841 int name_index, 835 int name_index,
842 const char *name, 836 const char *name,
843 void *buffer, 837 void *buffer,
844 size_t buffer_size) 838 size_t buffer_size)
845{ 839{
846 int ret; 840 int ret;
847 struct ocfs2_dinode *di = NULL; 841 struct ocfs2_dinode *di = NULL;
@@ -871,7 +865,7 @@ int ocfs2_xattr_get(struct inode *inode,
871 down_read(&oi->ip_xattr_sem); 865 down_read(&oi->ip_xattr_sem);
872 ret = ocfs2_xattr_ibody_get(inode, name_index, name, buffer, 866 ret = ocfs2_xattr_ibody_get(inode, name_index, name, buffer,
873 buffer_size, &xis); 867 buffer_size, &xis);
874 if (ret == -ENODATA) 868 if (ret == -ENODATA && di->i_xattr_loc)
875 ret = ocfs2_xattr_block_get(inode, name_index, name, buffer, 869 ret = ocfs2_xattr_block_get(inode, name_index, name, buffer,
876 buffer_size, &xbs); 870 buffer_size, &xbs);
877 up_read(&oi->ip_xattr_sem); 871 up_read(&oi->ip_xattr_sem);
@@ -1229,7 +1223,7 @@ static int ocfs2_xattr_set_entry(struct inode *inode,
1229 1223
1230 free = min_offs - ((void *)last - xs->base) - sizeof(__u32); 1224 free = min_offs - ((void *)last - xs->base) - sizeof(__u32);
1231 if (free < 0) 1225 if (free < 0)
1232 return -EFAULT; 1226 return -EIO;
1233 1227
1234 if (!xs->not_found) { 1228 if (!xs->not_found) {
1235 size_t size = 0; 1229 size_t size = 0;
@@ -1514,10 +1508,9 @@ static int ocfs2_xattr_free_block(struct inode *inode,
1514 goto out; 1508 goto out;
1515 } 1509 }
1516 1510
1517 /*Verify the signature of xattr block*/ 1511 xb = (struct ocfs2_xattr_block *)blk_bh->b_data;
1518 if (memcmp((void *)blk_bh->b_data, OCFS2_XATTR_BLOCK_SIGNATURE, 1512 if (!OCFS2_IS_VALID_XATTR_BLOCK(xb)) {
1519 strlen(OCFS2_XATTR_BLOCK_SIGNATURE))) { 1513 ret = -EIO;
1520 ret = -EFAULT;
1521 goto out; 1514 goto out;
1522 } 1515 }
1523 1516
@@ -1527,7 +1520,6 @@ static int ocfs2_xattr_free_block(struct inode *inode,
1527 goto out; 1520 goto out;
1528 } 1521 }
1529 1522
1530 xb = (struct ocfs2_xattr_block *)blk_bh->b_data;
1531 blk = le64_to_cpu(xb->xb_blkno); 1523 blk = le64_to_cpu(xb->xb_blkno);
1532 bit = le16_to_cpu(xb->xb_suballoc_bit); 1524 bit = le16_to_cpu(xb->xb_suballoc_bit);
1533 bg_blkno = ocfs2_which_suballoc_group(blk, bit); 1525 bg_blkno = ocfs2_which_suballoc_group(blk, bit);
@@ -1771,15 +1763,14 @@ static int ocfs2_xattr_block_find(struct inode *inode,
1771 mlog_errno(ret); 1763 mlog_errno(ret);
1772 return ret; 1764 return ret;
1773 } 1765 }
1774 /*Verify the signature of xattr block*/ 1766
1775 if (memcmp((void *)blk_bh->b_data, OCFS2_XATTR_BLOCK_SIGNATURE, 1767 xb = (struct ocfs2_xattr_block *)blk_bh->b_data;
1776 strlen(OCFS2_XATTR_BLOCK_SIGNATURE))) { 1768 if (!OCFS2_IS_VALID_XATTR_BLOCK(xb)) {
1777 ret = -EFAULT; 1769 ret = -EIO;
1778 goto cleanup; 1770 goto cleanup;
1779 } 1771 }
1780 1772
1781 xs->xattr_bh = blk_bh; 1773 xs->xattr_bh = blk_bh;
1782 xb = (struct ocfs2_xattr_block *)blk_bh->b_data;
1783 1774
1784 if (!(le16_to_cpu(xb->xb_flags) & OCFS2_XATTR_INDEXED)) { 1775 if (!(le16_to_cpu(xb->xb_flags) & OCFS2_XATTR_INDEXED)) {
1785 xs->header = &xb->xb_attrs.xb_header; 1776 xs->header = &xb->xb_attrs.xb_header;
@@ -1806,52 +1797,6 @@ cleanup:
1806} 1797}
1807 1798
1808/* 1799/*
1809 * When all the xattrs are deleted from index btree, the ocfs2_xattr_tree
1810 * will be erased and ocfs2_xattr_block will have its ocfs2_xattr_header
1811 * re-initialized.
1812 */
1813static int ocfs2_restore_xattr_block(struct inode *inode,
1814 struct ocfs2_xattr_search *xs)
1815{
1816 int ret;
1817 handle_t *handle;
1818 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
1819 struct ocfs2_xattr_block *xb =
1820 (struct ocfs2_xattr_block *)xs->xattr_bh->b_data;
1821 struct ocfs2_extent_list *el = &xb->xb_attrs.xb_root.xt_list;
1822 u16 xb_flags = le16_to_cpu(xb->xb_flags);
1823
1824 BUG_ON(!(xb_flags & OCFS2_XATTR_INDEXED) ||
1825 le16_to_cpu(el->l_next_free_rec) != 0);
1826
1827 handle = ocfs2_start_trans(osb, OCFS2_XATTR_BLOCK_UPDATE_CREDITS);
1828 if (IS_ERR(handle)) {
1829 ret = PTR_ERR(handle);
1830 handle = NULL;
1831 goto out;
1832 }
1833
1834 ret = ocfs2_journal_access(handle, inode, xs->xattr_bh,
1835 OCFS2_JOURNAL_ACCESS_WRITE);
1836 if (ret < 0) {
1837 mlog_errno(ret);
1838 goto out_commit;
1839 }
1840
1841 memset(&xb->xb_attrs, 0, inode->i_sb->s_blocksize -
1842 offsetof(struct ocfs2_xattr_block, xb_attrs));
1843
1844 xb->xb_flags = cpu_to_le16(xb_flags & ~OCFS2_XATTR_INDEXED);
1845
1846 ocfs2_journal_dirty(handle, xs->xattr_bh);
1847
1848out_commit:
1849 ocfs2_commit_trans(osb, handle);
1850out:
1851 return ret;
1852}
1853
1854/*
1855 * ocfs2_xattr_block_set() 1800 * ocfs2_xattr_block_set()
1856 * 1801 *
1857 * Set, replace or remove an extended attribute into external block. 1802 * Set, replace or remove an extended attribute into external block.
@@ -1961,8 +1906,6 @@ out:
1961 } 1906 }
1962 1907
1963 ret = ocfs2_xattr_set_entry_index_block(inode, xi, xs); 1908 ret = ocfs2_xattr_set_entry_index_block(inode, xi, xs);
1964 if (!ret && xblk->xb_attrs.xb_root.xt_list.l_next_free_rec == 0)
1965 ret = ocfs2_restore_xattr_block(inode, xs);
1966 1909
1967end: 1910end:
1968 1911
@@ -2398,7 +2341,8 @@ static int ocfs2_xattr_index_block_find(struct inode *inode,
2398 BUG_ON(p_blkno == 0 || num_clusters == 0 || first_hash > name_hash); 2341 BUG_ON(p_blkno == 0 || num_clusters == 0 || first_hash > name_hash);
2399 2342
2400 mlog(0, "find xattr extent rec %u clusters from %llu, the first hash " 2343 mlog(0, "find xattr extent rec %u clusters from %llu, the first hash "
2401 "in the rec is %u\n", num_clusters, p_blkno, first_hash); 2344 "in the rec is %u\n", num_clusters, (unsigned long long)p_blkno,
2345 first_hash);
2402 2346
2403 ret = ocfs2_xattr_bucket_find(inode, name_index, name, name_hash, 2347 ret = ocfs2_xattr_bucket_find(inode, name_index, name, name_hash,
2404 p_blkno, first_hash, num_clusters, xs); 2348 p_blkno, first_hash, num_clusters, xs);
@@ -2422,7 +2366,7 @@ static int ocfs2_iterate_xattr_buckets(struct inode *inode,
2422 memset(&bucket, 0, sizeof(bucket)); 2366 memset(&bucket, 0, sizeof(bucket));
2423 2367
2424 mlog(0, "iterating xattr buckets in %u clusters starting from %llu\n", 2368 mlog(0, "iterating xattr buckets in %u clusters starting from %llu\n",
2425 clusters, blkno); 2369 clusters, (unsigned long long)blkno);
2426 2370
2427 for (i = 0; i < num_buckets; i++, blkno += blk_per_bucket) { 2371 for (i = 0; i < num_buckets; i++, blkno += blk_per_bucket) {
2428 ret = ocfs2_read_blocks(inode, blkno, blk_per_bucket, 2372 ret = ocfs2_read_blocks(inode, blkno, blk_per_bucket,
@@ -2440,7 +2384,8 @@ static int ocfs2_iterate_xattr_buckets(struct inode *inode,
2440 if (i == 0) 2384 if (i == 0)
2441 num_buckets = le16_to_cpu(bucket.xh->xh_num_buckets); 2385 num_buckets = le16_to_cpu(bucket.xh->xh_num_buckets);
2442 2386
2443 mlog(0, "iterating xattr bucket %llu, first hash %u\n", blkno, 2387 mlog(0, "iterating xattr bucket %llu, first hash %u\n",
2388 (unsigned long long)blkno,
2444 le32_to_cpu(bucket.xh->xh_entries[0].xe_name_hash)); 2389 le32_to_cpu(bucket.xh->xh_entries[0].xe_name_hash));
2445 if (func) { 2390 if (func) {
2446 ret = func(inode, &bucket, para); 2391 ret = func(inode, &bucket, para);
@@ -2776,7 +2721,8 @@ static int ocfs2_xattr_create_index_block(struct inode *inode,
2776 */ 2721 */
2777 blkno = ocfs2_clusters_to_blocks(inode->i_sb, bit_off); 2722 blkno = ocfs2_clusters_to_blocks(inode->i_sb, bit_off);
2778 2723
2779 mlog(0, "allocate 1 cluster from %llu to xattr block\n", blkno); 2724 mlog(0, "allocate 1 cluster from %llu to xattr block\n",
2725 (unsigned long long)blkno);
2780 2726
2781 xh_bh = sb_getblk(inode->i_sb, blkno); 2727 xh_bh = sb_getblk(inode->i_sb, blkno);
2782 if (!xh_bh) { 2728 if (!xh_bh) {
@@ -2818,7 +2764,11 @@ static int ocfs2_xattr_create_index_block(struct inode *inode,
2818 if (data_bh) 2764 if (data_bh)
2819 ocfs2_journal_dirty(handle, data_bh); 2765 ocfs2_journal_dirty(handle, data_bh);
2820 2766
2821 ocfs2_xattr_update_xattr_search(inode, xs, xb_bh, xh_bh); 2767 ret = ocfs2_xattr_update_xattr_search(inode, xs, xb_bh, xh_bh);
2768 if (ret) {
2769 mlog_errno(ret);
2770 goto out_commit;
2771 }
2822 2772
2823 /* Change from ocfs2_xattr_header to ocfs2_xattr_tree_root */ 2773 /* Change from ocfs2_xattr_header to ocfs2_xattr_tree_root */
2824 memset(&xb->xb_attrs, 0, inode->i_sb->s_blocksize - 2774 memset(&xb->xb_attrs, 0, inode->i_sb->s_blocksize -
@@ -2941,8 +2891,8 @@ static int ocfs2_defrag_xattr_bucket(struct inode *inode,
2941 2891
2942 mlog(0, "adjust xattr bucket in %llu, count = %u, " 2892 mlog(0, "adjust xattr bucket in %llu, count = %u, "
2943 "xh_free_start = %u, xh_name_value_len = %u.\n", 2893 "xh_free_start = %u, xh_name_value_len = %u.\n",
2944 blkno, le16_to_cpu(xh->xh_count), xh_free_start, 2894 (unsigned long long)blkno, le16_to_cpu(xh->xh_count),
2945 le16_to_cpu(xh->xh_name_value_len)); 2895 xh_free_start, le16_to_cpu(xh->xh_name_value_len));
2946 2896
2947 /* 2897 /*
2948 * sort all the entries by their offset. 2898 * sort all the entries by their offset.
@@ -3058,7 +3008,7 @@ static int ocfs2_mv_xattr_bucket_cross_cluster(struct inode *inode,
3058 prev_blkno += (num_clusters - 1) * bpc + bpc / 2; 3008 prev_blkno += (num_clusters - 1) * bpc + bpc / 2;
3059 3009
3060 mlog(0, "move half of xattrs in cluster %llu to %llu\n", 3010 mlog(0, "move half of xattrs in cluster %llu to %llu\n",
3061 prev_blkno, new_blkno); 3011 (unsigned long long)prev_blkno, (unsigned long long)new_blkno);
3062 3012
3063 /* 3013 /*
3064 * We need to update the 1st half of the new cluster and 3014 * We need to update the 1st half of the new cluster and
@@ -3168,26 +3118,74 @@ static int ocfs2_read_xattr_bucket(struct inode *inode,
3168} 3118}
3169 3119
3170/* 3120/*
3171 * Move half num of the xattrs in old bucket(blk) to new bucket(new_blk). 3121 * Find the suitable pos when we divide a bucket into 2.
3122 * We have to make sure the xattrs with the same hash value exist
3123 * in the same bucket.
3124 *
3125 * If this ocfs2_xattr_header covers more than one hash value, find a
3126 * place where the hash value changes. Try to find the most even split.
3127 * The most common case is that all entries have different hash values,
3128 * and the first check we make will find a place to split.
3129 */
3130static int ocfs2_xattr_find_divide_pos(struct ocfs2_xattr_header *xh)
3131{
3132 struct ocfs2_xattr_entry *entries = xh->xh_entries;
3133 int count = le16_to_cpu(xh->xh_count);
3134 int delta, middle = count / 2;
3135
3136 /*
3137 * We start at the middle. Each step gets farther away in both
3138 * directions. We therefore hit the change in hash value
3139 * nearest to the middle. Note that this loop does not execute for
3140 * count < 2.
3141 */
3142 for (delta = 0; delta < middle; delta++) {
3143 /* Let's check delta earlier than middle */
3144 if (cmp_xe(&entries[middle - delta - 1],
3145 &entries[middle - delta]))
3146 return middle - delta;
3147
3148 /* For even counts, don't walk off the end */
3149 if ((middle + delta + 1) == count)
3150 continue;
3151
3152 /* Now try delta past middle */
3153 if (cmp_xe(&entries[middle + delta],
3154 &entries[middle + delta + 1]))
3155 return middle + delta + 1;
3156 }
3157
3158 /* Every entry had the same hash */
3159 return count;
3160}
3161
3162/*
3163 * Move some xattrs in old bucket(blk) to new bucket(new_blk).
3172 * first_hash will record the 1st hash of the new bucket. 3164 * first_hash will record the 1st hash of the new bucket.
3165 *
3166 * Normally half of the xattrs will be moved. But we have to make
3167 * sure that the xattrs with the same hash value are stored in the
3168 * same bucket. If all the xattrs in this bucket have the same hash
3169 * value, the new bucket will be initialized as an empty one and the
3170 * first_hash will be initialized as (hash_value+1).
3173 */ 3171 */
3174static int ocfs2_half_xattr_bucket(struct inode *inode, 3172static int ocfs2_divide_xattr_bucket(struct inode *inode,
3175 handle_t *handle, 3173 handle_t *handle,
3176 u64 blk, 3174 u64 blk,
3177 u64 new_blk, 3175 u64 new_blk,
3178 u32 *first_hash, 3176 u32 *first_hash,
3179 int new_bucket_head) 3177 int new_bucket_head)
3180{ 3178{
3181 int ret, i; 3179 int ret, i;
3182 u16 count, start, len, name_value_len, xe_len, name_offset; 3180 int count, start, len, name_value_len = 0, xe_len, name_offset = 0;
3183 u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb); 3181 u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
3184 struct buffer_head **s_bhs, **t_bhs = NULL; 3182 struct buffer_head **s_bhs, **t_bhs = NULL;
3185 struct ocfs2_xattr_header *xh; 3183 struct ocfs2_xattr_header *xh;
3186 struct ocfs2_xattr_entry *xe; 3184 struct ocfs2_xattr_entry *xe;
3187 int blocksize = inode->i_sb->s_blocksize; 3185 int blocksize = inode->i_sb->s_blocksize;
3188 3186
3189 mlog(0, "move half of xattrs from bucket %llu to %llu\n", 3187 mlog(0, "move some of xattrs from bucket %llu to %llu\n",
3190 blk, new_blk); 3188 (unsigned long long)blk, (unsigned long long)new_blk);
3191 3189
3192 s_bhs = kcalloc(blk_per_bucket, sizeof(struct buffer_head *), GFP_NOFS); 3190 s_bhs = kcalloc(blk_per_bucket, sizeof(struct buffer_head *), GFP_NOFS);
3193 if (!s_bhs) 3191 if (!s_bhs)
@@ -3220,21 +3218,44 @@ static int ocfs2_half_xattr_bucket(struct inode *inode,
3220 3218
3221 for (i = 0; i < blk_per_bucket; i++) { 3219 for (i = 0; i < blk_per_bucket; i++) {
3222 ret = ocfs2_journal_access(handle, inode, t_bhs[i], 3220 ret = ocfs2_journal_access(handle, inode, t_bhs[i],
3223 OCFS2_JOURNAL_ACCESS_CREATE); 3221 new_bucket_head ?
3222 OCFS2_JOURNAL_ACCESS_CREATE :
3223 OCFS2_JOURNAL_ACCESS_WRITE);
3224 if (ret) { 3224 if (ret) {
3225 mlog_errno(ret); 3225 mlog_errno(ret);
3226 goto out; 3226 goto out;
3227 } 3227 }
3228 } 3228 }
3229 3229
3230 xh = (struct ocfs2_xattr_header *)s_bhs[0]->b_data;
3231 count = le16_to_cpu(xh->xh_count);
3232 start = ocfs2_xattr_find_divide_pos(xh);
3233
3234 if (start == count) {
3235 xe = &xh->xh_entries[start-1];
3236
3237 /*
3238 * initialized a new empty bucket here.
3239 * The hash value is set as one larger than
3240 * that of the last entry in the previous bucket.
3241 */
3242 for (i = 0; i < blk_per_bucket; i++)
3243 memset(t_bhs[i]->b_data, 0, blocksize);
3244
3245 xh = (struct ocfs2_xattr_header *)t_bhs[0]->b_data;
3246 xh->xh_free_start = cpu_to_le16(blocksize);
3247 xh->xh_entries[0].xe_name_hash = xe->xe_name_hash;
3248 le32_add_cpu(&xh->xh_entries[0].xe_name_hash, 1);
3249
3250 goto set_num_buckets;
3251 }
3252
3230 /* copy the whole bucket to the new first. */ 3253 /* copy the whole bucket to the new first. */
3231 for (i = 0; i < blk_per_bucket; i++) 3254 for (i = 0; i < blk_per_bucket; i++)
3232 memcpy(t_bhs[i]->b_data, s_bhs[i]->b_data, blocksize); 3255 memcpy(t_bhs[i]->b_data, s_bhs[i]->b_data, blocksize);
3233 3256
3234 /* update the new bucket. */ 3257 /* update the new bucket. */
3235 xh = (struct ocfs2_xattr_header *)t_bhs[0]->b_data; 3258 xh = (struct ocfs2_xattr_header *)t_bhs[0]->b_data;
3236 count = le16_to_cpu(xh->xh_count);
3237 start = count / 2;
3238 3259
3239 /* 3260 /*
3240 * Calculate the total name/value len and xh_free_start for 3261 * Calculate the total name/value len and xh_free_start for
@@ -3291,6 +3312,7 @@ static int ocfs2_half_xattr_bucket(struct inode *inode,
3291 xh->xh_free_start = xe->xe_name_offset; 3312 xh->xh_free_start = xe->xe_name_offset;
3292 } 3313 }
3293 3314
3315set_num_buckets:
3294 /* set xh->xh_num_buckets for the new xh. */ 3316 /* set xh->xh_num_buckets for the new xh. */
3295 if (new_bucket_head) 3317 if (new_bucket_head)
3296 xh->xh_num_buckets = cpu_to_le16(1); 3318 xh->xh_num_buckets = cpu_to_le16(1);
@@ -3308,9 +3330,13 @@ static int ocfs2_half_xattr_bucket(struct inode *inode,
3308 *first_hash = le32_to_cpu(xh->xh_entries[0].xe_name_hash); 3330 *first_hash = le32_to_cpu(xh->xh_entries[0].xe_name_hash);
3309 3331
3310 /* 3332 /*
3311 * Now only update the 1st block of the old bucket. 3333 * Now only update the 1st block of the old bucket. If we
3312 * Please note that the entry has been sorted already above. 3334 * just added a new empty bucket, there is no need to modify
3335 * it.
3313 */ 3336 */
3337 if (start == count)
3338 goto out;
3339
3314 xh = (struct ocfs2_xattr_header *)s_bhs[0]->b_data; 3340 xh = (struct ocfs2_xattr_header *)s_bhs[0]->b_data;
3315 memset(&xh->xh_entries[start], 0, 3341 memset(&xh->xh_entries[start], 0,
3316 sizeof(struct ocfs2_xattr_entry) * (count - start)); 3342 sizeof(struct ocfs2_xattr_entry) * (count - start));
@@ -3358,7 +3384,8 @@ static int ocfs2_cp_xattr_bucket(struct inode *inode,
3358 BUG_ON(s_blkno == t_blkno); 3384 BUG_ON(s_blkno == t_blkno);
3359 3385
3360 mlog(0, "cp bucket %llu to %llu, target is %d\n", 3386 mlog(0, "cp bucket %llu to %llu, target is %d\n",
3361 s_blkno, t_blkno, t_is_new); 3387 (unsigned long long)s_blkno, (unsigned long long)t_blkno,
3388 t_is_new);
3362 3389
3363 s_bhs = kzalloc(sizeof(struct buffer_head *) * blk_per_bucket, 3390 s_bhs = kzalloc(sizeof(struct buffer_head *) * blk_per_bucket,
3364 GFP_NOFS); 3391 GFP_NOFS);
@@ -3382,6 +3409,8 @@ static int ocfs2_cp_xattr_bucket(struct inode *inode,
3382 3409
3383 for (i = 0; i < blk_per_bucket; i++) { 3410 for (i = 0; i < blk_per_bucket; i++) {
3384 ret = ocfs2_journal_access(handle, inode, t_bhs[i], 3411 ret = ocfs2_journal_access(handle, inode, t_bhs[i],
3412 t_is_new ?
3413 OCFS2_JOURNAL_ACCESS_CREATE :
3385 OCFS2_JOURNAL_ACCESS_WRITE); 3414 OCFS2_JOURNAL_ACCESS_WRITE);
3386 if (ret) 3415 if (ret)
3387 goto out; 3416 goto out;
@@ -3428,7 +3457,8 @@ static int ocfs2_cp_xattr_cluster(struct inode *inode,
3428 struct ocfs2_xattr_header *xh; 3457 struct ocfs2_xattr_header *xh;
3429 u64 to_blk_start = to_blk; 3458 u64 to_blk_start = to_blk;
3430 3459
3431 mlog(0, "cp xattrs from cluster %llu to %llu\n", src_blk, to_blk); 3460 mlog(0, "cp xattrs from cluster %llu to %llu\n",
3461 (unsigned long long)src_blk, (unsigned long long)to_blk);
3432 3462
3433 /* 3463 /*
3434 * We need to update the new cluster and 1 more for the update of 3464 * We need to update the new cluster and 1 more for the update of
@@ -3493,15 +3523,15 @@ out:
3493} 3523}
3494 3524
3495/* 3525/*
3496 * Move half of the xattrs in this cluster to the new cluster. 3526 * Move some xattrs in this cluster to the new cluster.
3497 * This function should only be called when bucket size == cluster size. 3527 * This function should only be called when bucket size == cluster size.
3498 * Otherwise ocfs2_mv_xattr_bucket_cross_cluster should be used instead. 3528 * Otherwise ocfs2_mv_xattr_bucket_cross_cluster should be used instead.
3499 */ 3529 */
3500static int ocfs2_half_xattr_cluster(struct inode *inode, 3530static int ocfs2_divide_xattr_cluster(struct inode *inode,
3501 handle_t *handle, 3531 handle_t *handle,
3502 u64 prev_blk, 3532 u64 prev_blk,
3503 u64 new_blk, 3533 u64 new_blk,
3504 u32 *first_hash) 3534 u32 *first_hash)
3505{ 3535{
3506 u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb); 3536 u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
3507 int ret, credits = 2 * blk_per_bucket; 3537 int ret, credits = 2 * blk_per_bucket;
@@ -3515,8 +3545,8 @@ static int ocfs2_half_xattr_cluster(struct inode *inode,
3515 } 3545 }
3516 3546
3517 /* Move half of the xattr in start_blk to the next bucket. */ 3547 /* Move half of the xattr in start_blk to the next bucket. */
3518 return ocfs2_half_xattr_bucket(inode, handle, prev_blk, 3548 return ocfs2_divide_xattr_bucket(inode, handle, prev_blk,
3519 new_blk, first_hash, 1); 3549 new_blk, first_hash, 1);
3520} 3550}
3521 3551
3522/* 3552/*
@@ -3559,7 +3589,8 @@ static int ocfs2_adjust_xattr_cross_cluster(struct inode *inode,
3559 int bpc = ocfs2_clusters_to_blocks(inode->i_sb, 1); 3589 int bpc = ocfs2_clusters_to_blocks(inode->i_sb, 1);
3560 3590
3561 mlog(0, "adjust xattrs from cluster %llu len %u to %llu\n", 3591 mlog(0, "adjust xattrs from cluster %llu len %u to %llu\n",
3562 prev_blk, prev_clusters, new_blk); 3592 (unsigned long long)prev_blk, prev_clusters,
3593 (unsigned long long)new_blk);
3563 3594
3564 if (ocfs2_xattr_buckets_per_cluster(OCFS2_SB(inode->i_sb)) > 1) 3595 if (ocfs2_xattr_buckets_per_cluster(OCFS2_SB(inode->i_sb)) > 1)
3565 ret = ocfs2_mv_xattr_bucket_cross_cluster(inode, 3596 ret = ocfs2_mv_xattr_bucket_cross_cluster(inode,
@@ -3578,9 +3609,9 @@ static int ocfs2_adjust_xattr_cross_cluster(struct inode *inode,
3578 last_blk, new_blk, 3609 last_blk, new_blk,
3579 v_start); 3610 v_start);
3580 else { 3611 else {
3581 ret = ocfs2_half_xattr_cluster(inode, handle, 3612 ret = ocfs2_divide_xattr_cluster(inode, handle,
3582 last_blk, new_blk, 3613 last_blk, new_blk,
3583 v_start); 3614 v_start);
3584 3615
3585 if ((*header_bh)->b_blocknr == last_blk && extend) 3616 if ((*header_bh)->b_blocknr == last_blk && extend)
3586 *extend = 0; 3617 *extend = 0;
@@ -3629,7 +3660,7 @@ static int ocfs2_add_new_xattr_cluster(struct inode *inode,
3629 mlog(0, "Add new xattr cluster for %llu, previous xattr hash = %u, " 3660 mlog(0, "Add new xattr cluster for %llu, previous xattr hash = %u, "
3630 "previous xattr blkno = %llu\n", 3661 "previous xattr blkno = %llu\n",
3631 (unsigned long long)OCFS2_I(inode)->ip_blkno, 3662 (unsigned long long)OCFS2_I(inode)->ip_blkno,
3632 prev_cpos, prev_blkno); 3663 prev_cpos, (unsigned long long)prev_blkno);
3633 3664
3634 ocfs2_init_xattr_tree_extent_tree(&et, inode, root_bh); 3665 ocfs2_init_xattr_tree_extent_tree(&et, inode, root_bh);
3635 3666
@@ -3716,7 +3747,7 @@ static int ocfs2_add_new_xattr_cluster(struct inode *inode,
3716 } 3747 }
3717 } 3748 }
3718 mlog(0, "Insert %u clusters at block %llu for xattr at %u\n", 3749 mlog(0, "Insert %u clusters at block %llu for xattr at %u\n",
3719 num_bits, block, v_start); 3750 num_bits, (unsigned long long)block, v_start);
3720 ret = ocfs2_insert_extent(osb, handle, inode, &et, v_start, block, 3751 ret = ocfs2_insert_extent(osb, handle, inode, &et, v_start, block,
3721 num_bits, 0, meta_ac); 3752 num_bits, 0, meta_ac);
3722 if (ret < 0) { 3753 if (ret < 0) {
@@ -3761,7 +3792,7 @@ static int ocfs2_extend_xattr_bucket(struct inode *inode,
3761 u16 bucket = le16_to_cpu(first_xh->xh_num_buckets); 3792 u16 bucket = le16_to_cpu(first_xh->xh_num_buckets);
3762 3793
3763 mlog(0, "extend xattr bucket in %llu, xattr extend rec starting " 3794 mlog(0, "extend xattr bucket in %llu, xattr extend rec starting "
3764 "from %llu, len = %u\n", start_blk, 3795 "from %llu, len = %u\n", (unsigned long long)start_blk,
3765 (unsigned long long)first_bh->b_blocknr, num_clusters); 3796 (unsigned long long)first_bh->b_blocknr, num_clusters);
3766 3797
3767 BUG_ON(bucket >= num_buckets); 3798 BUG_ON(bucket >= num_buckets);
@@ -3797,8 +3828,8 @@ static int ocfs2_extend_xattr_bucket(struct inode *inode,
3797 } 3828 }
3798 3829
3799 /* Move half of the xattr in start_blk to the next bucket. */ 3830 /* Move half of the xattr in start_blk to the next bucket. */
3800 ret = ocfs2_half_xattr_bucket(inode, handle, start_blk, 3831 ret = ocfs2_divide_xattr_bucket(inode, handle, start_blk,
3801 start_blk + blk_per_bucket, NULL, 0); 3832 start_blk + blk_per_bucket, NULL, 0);
3802 3833
3803 le16_add_cpu(&first_xh->xh_num_buckets, 1); 3834 le16_add_cpu(&first_xh->xh_num_buckets, 1);
3804 ocfs2_journal_dirty(handle, first_bh); 3835 ocfs2_journal_dirty(handle, first_bh);
@@ -4146,7 +4177,7 @@ static int ocfs2_xattr_value_update_size(struct inode *inode,
4146 handle_t *handle = NULL; 4177 handle_t *handle = NULL;
4147 4178
4148 handle = ocfs2_start_trans(osb, 1); 4179 handle = ocfs2_start_trans(osb, 1);
4149 if (handle == NULL) { 4180 if (IS_ERR(handle)) {
4150 ret = -ENOMEM; 4181 ret = -ENOMEM;
4151 mlog_errno(ret); 4182 mlog_errno(ret);
4152 goto out; 4183 goto out;
@@ -4313,7 +4344,7 @@ static int ocfs2_rm_xattr_cluster(struct inode *inode,
4313 } 4344 }
4314 4345
4315 handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS); 4346 handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS);
4316 if (handle == NULL) { 4347 if (IS_ERR(handle)) {
4317 ret = -ENOMEM; 4348 ret = -ENOMEM;
4318 mlog_errno(ret); 4349 mlog_errno(ret);
4319 goto out; 4350 goto out;
@@ -4489,11 +4520,21 @@ out:
4489 return ret; 4520 return ret;
4490} 4521}
4491 4522
4492/* check whether the xattr bucket is filled up with the same hash value. */ 4523/*
4524 * check whether the xattr bucket is filled up with the same hash value.
4525 * If we want to insert the xattr with the same hash, return -ENOSPC.
4526 * If we want to insert a xattr with different hash value, go ahead
4527 * and ocfs2_divide_xattr_bucket will handle this.
4528 */
4493static int ocfs2_check_xattr_bucket_collision(struct inode *inode, 4529static int ocfs2_check_xattr_bucket_collision(struct inode *inode,
4494 struct ocfs2_xattr_bucket *bucket) 4530 struct ocfs2_xattr_bucket *bucket,
4531 const char *name)
4495{ 4532{
4496 struct ocfs2_xattr_header *xh = bucket->xh; 4533 struct ocfs2_xattr_header *xh = bucket->xh;
4534 u32 name_hash = ocfs2_xattr_name_hash(inode, name, strlen(name));
4535
4536 if (name_hash != le32_to_cpu(xh->xh_entries[0].xe_name_hash))
4537 return 0;
4497 4538
4498 if (xh->xh_entries[le16_to_cpu(xh->xh_count) - 1].xe_name_hash == 4539 if (xh->xh_entries[le16_to_cpu(xh->xh_count) - 1].xe_name_hash ==
4499 xh->xh_entries[0].xe_name_hash) { 4540 xh->xh_entries[0].xe_name_hash) {
@@ -4616,7 +4657,9 @@ try_again:
4616 * one bucket's worth, so check it here whether we need to 4657 * one bucket's worth, so check it here whether we need to
4617 * add a new bucket for the insert. 4658 * add a new bucket for the insert.
4618 */ 4659 */
4619 ret = ocfs2_check_xattr_bucket_collision(inode, &xs->bucket); 4660 ret = ocfs2_check_xattr_bucket_collision(inode,
4661 &xs->bucket,
4662 xi->name);
4620 if (ret) { 4663 if (ret) {
4621 mlog_errno(ret); 4664 mlog_errno(ret);
4622 goto out; 4665 goto out;
@@ -4727,14 +4770,11 @@ out:
4727/* 4770/*
4728 * 'trusted' attributes support 4771 * 'trusted' attributes support
4729 */ 4772 */
4730
4731#define XATTR_TRUSTED_PREFIX "trusted."
4732
4733static size_t ocfs2_xattr_trusted_list(struct inode *inode, char *list, 4773static size_t ocfs2_xattr_trusted_list(struct inode *inode, char *list,
4734 size_t list_size, const char *name, 4774 size_t list_size, const char *name,
4735 size_t name_len) 4775 size_t name_len)
4736{ 4776{
4737 const size_t prefix_len = sizeof(XATTR_TRUSTED_PREFIX) - 1; 4777 const size_t prefix_len = XATTR_TRUSTED_PREFIX_LEN;
4738 const size_t total_len = prefix_len + name_len + 1; 4778 const size_t total_len = prefix_len + name_len + 1;
4739 4779
4740 if (list && total_len <= list_size) { 4780 if (list && total_len <= list_size) {
@@ -4771,18 +4811,14 @@ struct xattr_handler ocfs2_xattr_trusted_handler = {
4771 .set = ocfs2_xattr_trusted_set, 4811 .set = ocfs2_xattr_trusted_set,
4772}; 4812};
4773 4813
4774
4775/* 4814/*
4776 * 'user' attributes support 4815 * 'user' attributes support
4777 */ 4816 */
4778
4779#define XATTR_USER_PREFIX "user."
4780
4781static size_t ocfs2_xattr_user_list(struct inode *inode, char *list, 4817static size_t ocfs2_xattr_user_list(struct inode *inode, char *list,
4782 size_t list_size, const char *name, 4818 size_t list_size, const char *name,
4783 size_t name_len) 4819 size_t name_len)
4784{ 4820{
4785 const size_t prefix_len = sizeof(XATTR_USER_PREFIX) - 1; 4821 const size_t prefix_len = XATTR_USER_PREFIX_LEN;
4786 const size_t total_len = prefix_len + name_len + 1; 4822 const size_t total_len = prefix_len + name_len + 1;
4787 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); 4823 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
4788 4824
diff --git a/fs/ocfs2/xattr.h b/fs/ocfs2/xattr.h
index c25c7c62a059..1d8314c7656d 100644
--- a/fs/ocfs2/xattr.h
+++ b/fs/ocfs2/xattr.h
@@ -3,24 +3,16 @@
3 * 3 *
4 * xattr.h 4 * xattr.h
5 * 5 *
6 * Function prototypes 6 * Copyright (C) 2004, 2008 Oracle. All rights reserved.
7 *
8 * Copyright (C) 2008 Oracle. All rights reserved.
9 * 7 *
10 * This program is free software; you can redistribute it and/or 8 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public 9 * modify it under the terms of the GNU General Public
12 * License as published by the Free Software Foundation; either 10 * License version 2 as published by the Free Software Foundation.
13 * version 2 of the License, or (at your option) any later version.
14 * 11 *
15 * This program is distributed in the hope that it will be useful, 12 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details. 15 * General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public
21 * License along with this program; if not, write to the
22 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 * Boston, MA 021110-1307, USA.
24 */ 16 */
25 17
26#ifndef OCFS2_XATTR_H 18#ifndef OCFS2_XATTR_H
@@ -40,29 +32,11 @@ enum ocfs2_xattr_type {
40 32
41extern struct xattr_handler ocfs2_xattr_user_handler; 33extern struct xattr_handler ocfs2_xattr_user_handler;
42extern struct xattr_handler ocfs2_xattr_trusted_handler; 34extern struct xattr_handler ocfs2_xattr_trusted_handler;
43
44extern ssize_t ocfs2_listxattr(struct dentry *, char *, size_t);
45extern int ocfs2_xattr_get(struct inode *, int, const char *, void *, size_t);
46extern int ocfs2_xattr_set(struct inode *, int, const char *, const void *,
47 size_t, int);
48extern int ocfs2_xattr_remove(struct inode *inode, struct buffer_head *di_bh);
49extern struct xattr_handler *ocfs2_xattr_handlers[]; 35extern struct xattr_handler *ocfs2_xattr_handlers[];
50 36
51static inline u16 ocfs2_xattr_buckets_per_cluster(struct ocfs2_super *osb) 37ssize_t ocfs2_listxattr(struct dentry *, char *, size_t);
52{ 38int ocfs2_xattr_set(struct inode *, int, const char *, const void *,
53 return (1 << osb->s_clustersize_bits) / OCFS2_XATTR_BUCKET_SIZE; 39 size_t, int);
54} 40int ocfs2_xattr_remove(struct inode *, struct buffer_head *);
55
56static inline u16 ocfs2_blocks_per_xattr_bucket(struct super_block *sb)
57{
58 return OCFS2_XATTR_BUCKET_SIZE / (1 << sb->s_blocksize_bits);
59}
60
61static inline u16 ocfs2_xattr_max_xe_in_bucket(struct super_block *sb)
62{
63 u16 len = sb->s_blocksize -
64 offsetof(struct ocfs2_xattr_header, xh_entries);
65 41
66 return len / sizeof(struct ocfs2_xattr_entry);
67}
68#endif /* OCFS2_XATTR_H */ 42#endif /* OCFS2_XATTR_H */
diff --git a/fs/pipe.c b/fs/pipe.c
index fcba6542b8d0..7aea8b89baac 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -717,14 +717,12 @@ pipe_rdwr_fasync(int fd, struct file *filp, int on)
717static int 717static int
718pipe_read_release(struct inode *inode, struct file *filp) 718pipe_read_release(struct inode *inode, struct file *filp)
719{ 719{
720 pipe_read_fasync(-1, filp, 0);
721 return pipe_release(inode, 1, 0); 720 return pipe_release(inode, 1, 0);
722} 721}
723 722
724static int 723static int
725pipe_write_release(struct inode *inode, struct file *filp) 724pipe_write_release(struct inode *inode, struct file *filp)
726{ 725{
727 pipe_write_fasync(-1, filp, 0);
728 return pipe_release(inode, 0, 1); 726 return pipe_release(inode, 0, 1);
729} 727}
730 728
@@ -733,7 +731,6 @@ pipe_rdwr_release(struct inode *inode, struct file *filp)
733{ 731{
734 int decr, decw; 732 int decr, decw;
735 733
736 pipe_rdwr_fasync(-1, filp, 0);
737 decr = (filp->f_mode & FMODE_READ) != 0; 734 decr = (filp->f_mode & FMODE_READ) != 0;
738 decw = (filp->f_mode & FMODE_WRITE) != 0; 735 decw = (filp->f_mode & FMODE_WRITE) != 0;
739 return pipe_release(inode, decr, decw); 736 return pipe_release(inode, decr, decw);
diff --git a/fs/proc/array.c b/fs/proc/array.c
index bb9f4b05703d..6af7fba7abb1 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -40,7 +40,7 @@
40 * 40 *
41 * 41 *
42 * Alan Cox : security fixes. 42 * Alan Cox : security fixes.
43 * <Alan.Cox@linux.org> 43 * <alan@lxorguk.ukuu.org.uk>
44 * 44 *
45 * Al Viro : safe handling of mm_struct 45 * Al Viro : safe handling of mm_struct
46 * 46 *
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index 0c10a0b3f146..df26aa88fa47 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -1,43 +1,45 @@
1#include <linux/fs.h>
2#include <linux/init.h> 1#include <linux/init.h>
3#include <linux/proc_fs.h> 2#include <linux/proc_fs.h>
4#include <linux/sched.h> 3#include <linux/sched.h>
5#include <linux/seq_file.h>
6#include <linux/time.h> 4#include <linux/time.h>
7#include <asm/cputime.h> 5#include <asm/cputime.h>
8 6
9static int uptime_proc_show(struct seq_file *m, void *v) 7static int proc_calc_metrics(char *page, char **start, off_t off,
8 int count, int *eof, int len)
9{
10 if (len <= off + count)
11 *eof = 1;
12 *start = page + off;
13 len -= off;
14 if (len > count)
15 len = count;
16 if (len < 0)
17 len = 0;
18 return len;
19}
20
21static int uptime_read_proc(char *page, char **start, off_t off, int count,
22 int *eof, void *data)
10{ 23{
11 struct timespec uptime; 24 struct timespec uptime;
12 struct timespec idle; 25 struct timespec idle;
26 int len;
13 cputime_t idletime = cputime_add(init_task.utime, init_task.stime); 27 cputime_t idletime = cputime_add(init_task.utime, init_task.stime);
14 28
15 do_posix_clock_monotonic_gettime(&uptime); 29 do_posix_clock_monotonic_gettime(&uptime);
16 monotonic_to_bootbased(&uptime); 30 monotonic_to_bootbased(&uptime);
17 cputime_to_timespec(idletime, &idle); 31 cputime_to_timespec(idletime, &idle);
18 seq_printf(m, "%lu.%02lu %lu.%02lu\n", 32 len = sprintf(page, "%lu.%02lu %lu.%02lu\n",
19 (unsigned long) uptime.tv_sec, 33 (unsigned long) uptime.tv_sec,
20 (uptime.tv_nsec / (NSEC_PER_SEC / 100)), 34 (uptime.tv_nsec / (NSEC_PER_SEC / 100)),
21 (unsigned long) idle.tv_sec, 35 (unsigned long) idle.tv_sec,
22 (idle.tv_nsec / (NSEC_PER_SEC / 100))); 36 (idle.tv_nsec / (NSEC_PER_SEC / 100)));
23 return 0; 37 return proc_calc_metrics(page, start, off, count, eof, len);
24} 38}
25 39
26static int uptime_proc_open(struct inode *inode, struct file *file)
27{
28 return single_open(file, uptime_proc_show, NULL);
29}
30
31static const struct file_operations uptime_proc_fops = {
32 .open = uptime_proc_open,
33 .read = seq_read,
34 .llseek = seq_lseek,
35 .release = single_release,
36};
37
38static int __init proc_uptime_init(void) 40static int __init proc_uptime_init(void)
39{ 41{
40 proc_create("uptime", 0, NULL, &uptime_proc_fops); 42 create_proc_read_entry("uptime", 0, NULL, uptime_read_proc, NULL);
41 return 0; 43 return 0;
42} 44}
43module_init(proc_uptime_init); 45module_init(proc_uptime_init);
diff --git a/fs/splice.c b/fs/splice.c
index a1e701c27156..1abab5cee4ba 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -731,8 +731,8 @@ ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out,
731 }; 731 };
732 732
733 /* 733 /*
734 * The actor worker might be calling ->prepare_write and 734 * The actor worker might be calling ->write_begin and
735 * ->commit_write. Most of the time, these expect i_mutex to 735 * ->write_end. Most of the time, these expect i_mutex to
736 * be held. Since this may result in an ABBA deadlock with 736 * be held. Since this may result in an ABBA deadlock with
737 * pipe->inode, we have to order lock acquiry here. 737 * pipe->inode, we have to order lock acquiry here.
738 */ 738 */
diff --git a/fs/vfat/Makefile b/fs/vfat/Makefile
deleted file mode 100644
index 40f2798a4f08..000000000000
--- a/fs/vfat/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
1#
2# Makefile for the linux vfat-filesystem routines.
3#
4
5obj-$(CONFIG_VFAT_FS) += vfat.o
6
7vfat-y := namei.o
diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c
index 9e561a9cefca..a11a8390bf6c 100644
--- a/fs/xfs/xfs_da_btree.c
+++ b/fs/xfs/xfs_da_btree.c
@@ -1566,11 +1566,14 @@ xfs_da_grow_inode(xfs_da_args_t *args, xfs_dablk_t *new_blkno)
1566 int nmap, error, w, count, c, got, i, mapi; 1566 int nmap, error, w, count, c, got, i, mapi;
1567 xfs_trans_t *tp; 1567 xfs_trans_t *tp;
1568 xfs_mount_t *mp; 1568 xfs_mount_t *mp;
1569 xfs_drfsbno_t nblks;
1569 1570
1570 dp = args->dp; 1571 dp = args->dp;
1571 mp = dp->i_mount; 1572 mp = dp->i_mount;
1572 w = args->whichfork; 1573 w = args->whichfork;
1573 tp = args->trans; 1574 tp = args->trans;
1575 nblks = dp->i_d.di_nblocks;
1576
1574 /* 1577 /*
1575 * For new directories adjust the file offset and block count. 1578 * For new directories adjust the file offset and block count.
1576 */ 1579 */
@@ -1647,6 +1650,8 @@ xfs_da_grow_inode(xfs_da_args_t *args, xfs_dablk_t *new_blkno)
1647 } 1650 }
1648 if (mapp != &map) 1651 if (mapp != &map)
1649 kmem_free(mapp); 1652 kmem_free(mapp);
1653 /* account for newly allocated blocks in reserved blocks total */
1654 args->total -= dp->i_d.di_nblocks - nblks;
1650 *new_blkno = (xfs_dablk_t)bno; 1655 *new_blkno = (xfs_dablk_t)bno;
1651 return 0; 1656 return 0;
1652} 1657}
diff --git a/fs/xfs/xfs_dir2.c b/fs/xfs/xfs_dir2.c
index 80e0dc51361c..1afb12278b8d 100644
--- a/fs/xfs/xfs_dir2.c
+++ b/fs/xfs/xfs_dir2.c
@@ -525,11 +525,13 @@ xfs_dir2_grow_inode(
525 xfs_mount_t *mp; 525 xfs_mount_t *mp;
526 int nmap; /* number of bmap entries */ 526 int nmap; /* number of bmap entries */
527 xfs_trans_t *tp; 527 xfs_trans_t *tp;
528 xfs_drfsbno_t nblks;
528 529
529 xfs_dir2_trace_args_s("grow_inode", args, space); 530 xfs_dir2_trace_args_s("grow_inode", args, space);
530 dp = args->dp; 531 dp = args->dp;
531 tp = args->trans; 532 tp = args->trans;
532 mp = dp->i_mount; 533 mp = dp->i_mount;
534 nblks = dp->i_d.di_nblocks;
533 /* 535 /*
534 * Set lowest possible block in the space requested. 536 * Set lowest possible block in the space requested.
535 */ 537 */
@@ -622,7 +624,11 @@ xfs_dir2_grow_inode(
622 */ 624 */
623 if (mapp != &map) 625 if (mapp != &map)
624 kmem_free(mapp); 626 kmem_free(mapp);
627
628 /* account for newly allocated blocks in reserved blocks total */
629 args->total -= dp->i_d.di_nblocks - nblks;
625 *dbp = xfs_dir2_da_to_db(mp, (xfs_dablk_t)bno); 630 *dbp = xfs_dir2_da_to_db(mp, (xfs_dablk_t)bno);
631
626 /* 632 /*
627 * Update file's size if this is the data space and it grew. 633 * Update file's size if this is the data space and it grew.
628 */ 634 */
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index dbd9cef852ec..a391b955df01 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1414,7 +1414,7 @@ xfs_itruncate_start(
1414 mp = ip->i_mount; 1414 mp = ip->i_mount;
1415 1415
1416 /* wait for the completion of any pending DIOs */ 1416 /* wait for the completion of any pending DIOs */
1417 if (new_size < ip->i_size) 1417 if (new_size == 0 || new_size < ip->i_size)
1418 vn_iowait(ip); 1418 vn_iowait(ip);
1419 1419
1420 /* 1420 /*
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index 0b02c6443551..3608a0f0a5f6 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -563,6 +563,11 @@ xfs_log_mount(
563 } 563 }
564 564
565 mp->m_log = xlog_alloc_log(mp, log_target, blk_offset, num_bblks); 565 mp->m_log = xlog_alloc_log(mp, log_target, blk_offset, num_bblks);
566 if (!mp->m_log) {
567 cmn_err(CE_WARN, "XFS: Log allocation failed: No memory!");
568 error = ENOMEM;
569 goto out;
570 }
566 571
567 /* 572 /*
568 * Initialize the AIL now we have a log. 573 * Initialize the AIL now we have a log.
@@ -601,6 +606,7 @@ xfs_log_mount(
601 return 0; 606 return 0;
602error: 607error:
603 xfs_log_unmount_dealloc(mp); 608 xfs_log_unmount_dealloc(mp);
609out:
604 return error; 610 return error;
605} /* xfs_log_mount */ 611} /* xfs_log_mount */
606 612
@@ -1217,7 +1223,9 @@ xlog_alloc_log(xfs_mount_t *mp,
1217 int i; 1223 int i;
1218 int iclogsize; 1224 int iclogsize;
1219 1225
1220 log = (xlog_t *)kmem_zalloc(sizeof(xlog_t), KM_SLEEP); 1226 log = kmem_zalloc(sizeof(xlog_t), KM_MAYFAIL);
1227 if (!log)
1228 return NULL;
1221 1229
1222 log->l_mp = mp; 1230 log->l_mp = mp;
1223 log->l_targ = log_target; 1231 log->l_targ = log_target;
@@ -1249,6 +1257,8 @@ xlog_alloc_log(xfs_mount_t *mp,
1249 xlog_get_iclog_buffer_size(mp, log); 1257 xlog_get_iclog_buffer_size(mp, log);
1250 1258
1251 bp = xfs_buf_get_empty(log->l_iclog_size, mp->m_logdev_targp); 1259 bp = xfs_buf_get_empty(log->l_iclog_size, mp->m_logdev_targp);
1260 if (!bp)
1261 goto out_free_log;
1252 XFS_BUF_SET_IODONE_FUNC(bp, xlog_iodone); 1262 XFS_BUF_SET_IODONE_FUNC(bp, xlog_iodone);
1253 XFS_BUF_SET_BDSTRAT_FUNC(bp, xlog_bdstrat_cb); 1263 XFS_BUF_SET_BDSTRAT_FUNC(bp, xlog_bdstrat_cb);
1254 XFS_BUF_SET_FSPRIVATE2(bp, (unsigned long)1); 1264 XFS_BUF_SET_FSPRIVATE2(bp, (unsigned long)1);
@@ -1275,13 +1285,17 @@ xlog_alloc_log(xfs_mount_t *mp,
1275 iclogsize = log->l_iclog_size; 1285 iclogsize = log->l_iclog_size;
1276 ASSERT(log->l_iclog_size >= 4096); 1286 ASSERT(log->l_iclog_size >= 4096);
1277 for (i=0; i < log->l_iclog_bufs; i++) { 1287 for (i=0; i < log->l_iclog_bufs; i++) {
1278 *iclogp = (xlog_in_core_t *) 1288 *iclogp = kmem_zalloc(sizeof(xlog_in_core_t), KM_MAYFAIL);
1279 kmem_zalloc(sizeof(xlog_in_core_t), KM_SLEEP); 1289 if (!*iclogp)
1290 goto out_free_iclog;
1291
1280 iclog = *iclogp; 1292 iclog = *iclogp;
1281 iclog->ic_prev = prev_iclog; 1293 iclog->ic_prev = prev_iclog;
1282 prev_iclog = iclog; 1294 prev_iclog = iclog;
1283 1295
1284 bp = xfs_buf_get_noaddr(log->l_iclog_size, mp->m_logdev_targp); 1296 bp = xfs_buf_get_noaddr(log->l_iclog_size, mp->m_logdev_targp);
1297 if (!bp)
1298 goto out_free_iclog;
1285 if (!XFS_BUF_CPSEMA(bp)) 1299 if (!XFS_BUF_CPSEMA(bp))
1286 ASSERT(0); 1300 ASSERT(0);
1287 XFS_BUF_SET_IODONE_FUNC(bp, xlog_iodone); 1301 XFS_BUF_SET_IODONE_FUNC(bp, xlog_iodone);
@@ -1323,6 +1337,25 @@ xlog_alloc_log(xfs_mount_t *mp,
1323 log->l_iclog->ic_prev = prev_iclog; /* re-write 1st prev ptr */ 1337 log->l_iclog->ic_prev = prev_iclog; /* re-write 1st prev ptr */
1324 1338
1325 return log; 1339 return log;
1340
1341out_free_iclog:
1342 for (iclog = log->l_iclog; iclog; iclog = prev_iclog) {
1343 prev_iclog = iclog->ic_next;
1344 if (iclog->ic_bp) {
1345 sv_destroy(&iclog->ic_force_wait);
1346 sv_destroy(&iclog->ic_write_wait);
1347 xfs_buf_free(iclog->ic_bp);
1348 xlog_trace_iclog_dealloc(iclog);
1349 }
1350 kmem_free(iclog);
1351 }
1352 spinlock_destroy(&log->l_icloglock);
1353 spinlock_destroy(&log->l_grant_lock);
1354 xlog_trace_loggrant_dealloc(log);
1355 xfs_buf_free(log->l_xbuf);
1356out_free_log:
1357 kmem_free(log);
1358 return NULL;
1326} /* xlog_alloc_log */ 1359} /* xlog_alloc_log */
1327 1360
1328 1361
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index 82d46ce69d5f..70e3ba32e6be 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -1419,7 +1419,13 @@ xlog_recover_add_to_trans(
1419 return 0; 1419 return 0;
1420 item = trans->r_itemq; 1420 item = trans->r_itemq;
1421 if (item == NULL) { 1421 if (item == NULL) {
1422 ASSERT(*(uint *)dp == XFS_TRANS_HEADER_MAGIC); 1422 /* we need to catch log corruptions here */
1423 if (*(uint *)dp != XFS_TRANS_HEADER_MAGIC) {
1424 xlog_warn("XFS: xlog_recover_add_to_trans: "
1425 "bad header magic number");
1426 ASSERT(0);
1427 return XFS_ERROR(EIO);
1428 }
1423 if (len == sizeof(xfs_trans_header_t)) 1429 if (len == sizeof(xfs_trans_header_t))
1424 xlog_recover_add_item(&trans->r_itemq); 1430 xlog_recover_add_item(&trans->r_itemq);
1425 memcpy(&trans->r_theader, dp, len); /* d, s, l */ 1431 memcpy(&trans->r_theader, dp, len); /* d, s, l */
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index a4503f5e9497..15f5dd22fbb2 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -1245,6 +1245,9 @@ xfs_unmountfs(
1245 1245
1246 XFS_QM_DQPURGEALL(mp, XFS_QMOPT_QUOTALL | XFS_QMOPT_UMOUNTING); 1246 XFS_QM_DQPURGEALL(mp, XFS_QMOPT_QUOTALL | XFS_QMOPT_UMOUNTING);
1247 1247
1248 if (mp->m_quotainfo)
1249 XFS_QM_DONE(mp);
1250
1248 /* 1251 /*
1249 * Flush out the log synchronously so that we know for sure 1252 * Flush out the log synchronously so that we know for sure
1250 * that nothing is pinned. This is important because bflush() 1253 * that nothing is pinned. This is important because bflush()
@@ -1297,8 +1300,6 @@ xfs_unmountfs(
1297 xfs_errortag_clearall(mp, 0); 1300 xfs_errortag_clearall(mp, 0);
1298#endif 1301#endif
1299 xfs_free_perag(mp); 1302 xfs_free_perag(mp);
1300 if (mp->m_quotainfo)
1301 XFS_QM_DONE(mp);
1302} 1303}
1303 1304
1304STATIC void 1305STATIC void
diff --git a/include/asm-cris/arch-v32/arbiter.h b/include/asm-cris/arch-v32/arbiter.h
deleted file mode 100644
index 081a911d7af1..000000000000
--- a/include/asm-cris/arch-v32/arbiter.h
+++ /dev/null
@@ -1,30 +0,0 @@
1#ifndef _ASM_CRIS_ARCH_ARBITER_H
2#define _ASM_CRIS_ARCH_ARBITER_H
3
4#define EXT_REGION 0
5#define INT_REGION 1
6
7typedef void (watch_callback)(void);
8
9enum
10{
11 arbiter_all_dmas = 0x3ff,
12 arbiter_cpu = 0xc00,
13 arbiter_all_clients = 0x3fff
14};
15
16enum
17{
18 arbiter_all_read = 0x55,
19 arbiter_all_write = 0xaa,
20 arbiter_all_accesses = 0xff
21};
22
23int crisv32_arbiter_allocate_bandwidth(int client, int region,
24 unsigned long bandwidth);
25int crisv32_arbiter_watch(unsigned long start, unsigned long size,
26 unsigned long clients, unsigned long accesses,
27 watch_callback* cb);
28int crisv32_arbiter_unwatch(int id);
29
30#endif
diff --git a/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h b/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h
deleted file mode 100644
index 13c725e4c774..000000000000
--- a/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h
+++ /dev/null
@@ -1,632 +0,0 @@
1#ifndef __pinmux_defs_asm_h
2#define __pinmux_defs_asm_h
3
4/*
5 * This file is autogenerated from
6 * file: ../../inst/pinmux/rtl/guinness/pinmux_regs.r
7 * id: pinmux_regs.r,v 1.40 2005/02/09 16:22:59 perz Exp
8 * last modfied: Mon Apr 11 16:09:11 2005
9 *
10 * by /n/asic/design/tools/rdesc/src/rdes2c -asm --outfile asm/pinmux_defs_asm.h ../../inst/pinmux/rtl/guinness/pinmux_regs.r
11 * id: $Id: pinmux_defs_asm.h,v 1.1 2005/04/24 18:31:04 starvik Exp $
12 * Any changes here will be lost.
13 *
14 * -*- buffer-read-only: t -*-
15 */
16
17#ifndef REG_FIELD
18#define REG_FIELD( scope, reg, field, value ) \
19 REG_FIELD_X_( value, reg_##scope##_##reg##___##field##___lsb )
20#define REG_FIELD_X_( value, shift ) ((value) << shift)
21#endif
22
23#ifndef REG_STATE
24#define REG_STATE( scope, reg, field, symbolic_value ) \
25 REG_STATE_X_( regk_##scope##_##symbolic_value, reg_##scope##_##reg##___##field##___lsb )
26#define REG_STATE_X_( k, shift ) (k << shift)
27#endif
28
29#ifndef REG_MASK
30#define REG_MASK( scope, reg, field ) \
31 REG_MASK_X_( reg_##scope##_##reg##___##field##___width, reg_##scope##_##reg##___##field##___lsb )
32#define REG_MASK_X_( width, lsb ) (((1 << width)-1) << lsb)
33#endif
34
35#ifndef REG_LSB
36#define REG_LSB( scope, reg, field ) reg_##scope##_##reg##___##field##___lsb
37#endif
38
39#ifndef REG_BIT
40#define REG_BIT( scope, reg, field ) reg_##scope##_##reg##___##field##___bit
41#endif
42
43#ifndef REG_ADDR
44#define REG_ADDR( scope, inst, reg ) REG_ADDR_X_(inst, reg_##scope##_##reg##_offset)
45#define REG_ADDR_X_( inst, offs ) ((inst) + offs)
46#endif
47
48#ifndef REG_ADDR_VECT
49#define REG_ADDR_VECT( scope, inst, reg, index ) \
50 REG_ADDR_VECT_X_(inst, reg_##scope##_##reg##_offset, index, \
51 STRIDE_##scope##_##reg )
52#define REG_ADDR_VECT_X_( inst, offs, index, stride ) \
53 ((inst) + offs + (index) * stride)
54#endif
55
56/* Register rw_pa, scope pinmux, type rw */
57#define reg_pinmux_rw_pa___pa0___lsb 0
58#define reg_pinmux_rw_pa___pa0___width 1
59#define reg_pinmux_rw_pa___pa0___bit 0
60#define reg_pinmux_rw_pa___pa1___lsb 1
61#define reg_pinmux_rw_pa___pa1___width 1
62#define reg_pinmux_rw_pa___pa1___bit 1
63#define reg_pinmux_rw_pa___pa2___lsb 2
64#define reg_pinmux_rw_pa___pa2___width 1
65#define reg_pinmux_rw_pa___pa2___bit 2
66#define reg_pinmux_rw_pa___pa3___lsb 3
67#define reg_pinmux_rw_pa___pa3___width 1
68#define reg_pinmux_rw_pa___pa3___bit 3
69#define reg_pinmux_rw_pa___pa4___lsb 4
70#define reg_pinmux_rw_pa___pa4___width 1
71#define reg_pinmux_rw_pa___pa4___bit 4
72#define reg_pinmux_rw_pa___pa5___lsb 5
73#define reg_pinmux_rw_pa___pa5___width 1
74#define reg_pinmux_rw_pa___pa5___bit 5
75#define reg_pinmux_rw_pa___pa6___lsb 6
76#define reg_pinmux_rw_pa___pa6___width 1
77#define reg_pinmux_rw_pa___pa6___bit 6
78#define reg_pinmux_rw_pa___pa7___lsb 7
79#define reg_pinmux_rw_pa___pa7___width 1
80#define reg_pinmux_rw_pa___pa7___bit 7
81#define reg_pinmux_rw_pa___csp2_n___lsb 8
82#define reg_pinmux_rw_pa___csp2_n___width 1
83#define reg_pinmux_rw_pa___csp2_n___bit 8
84#define reg_pinmux_rw_pa___csp3_n___lsb 9
85#define reg_pinmux_rw_pa___csp3_n___width 1
86#define reg_pinmux_rw_pa___csp3_n___bit 9
87#define reg_pinmux_rw_pa___csp5_n___lsb 10
88#define reg_pinmux_rw_pa___csp5_n___width 1
89#define reg_pinmux_rw_pa___csp5_n___bit 10
90#define reg_pinmux_rw_pa___csp6_n___lsb 11
91#define reg_pinmux_rw_pa___csp6_n___width 1
92#define reg_pinmux_rw_pa___csp6_n___bit 11
93#define reg_pinmux_rw_pa___hsh4___lsb 12
94#define reg_pinmux_rw_pa___hsh4___width 1
95#define reg_pinmux_rw_pa___hsh4___bit 12
96#define reg_pinmux_rw_pa___hsh5___lsb 13
97#define reg_pinmux_rw_pa___hsh5___width 1
98#define reg_pinmux_rw_pa___hsh5___bit 13
99#define reg_pinmux_rw_pa___hsh6___lsb 14
100#define reg_pinmux_rw_pa___hsh6___width 1
101#define reg_pinmux_rw_pa___hsh6___bit 14
102#define reg_pinmux_rw_pa___hsh7___lsb 15
103#define reg_pinmux_rw_pa___hsh7___width 1
104#define reg_pinmux_rw_pa___hsh7___bit 15
105#define reg_pinmux_rw_pa_offset 0
106
107/* Register rw_hwprot, scope pinmux, type rw */
108#define reg_pinmux_rw_hwprot___ser1___lsb 0
109#define reg_pinmux_rw_hwprot___ser1___width 1
110#define reg_pinmux_rw_hwprot___ser1___bit 0
111#define reg_pinmux_rw_hwprot___ser2___lsb 1
112#define reg_pinmux_rw_hwprot___ser2___width 1
113#define reg_pinmux_rw_hwprot___ser2___bit 1
114#define reg_pinmux_rw_hwprot___ser3___lsb 2
115#define reg_pinmux_rw_hwprot___ser3___width 1
116#define reg_pinmux_rw_hwprot___ser3___bit 2
117#define reg_pinmux_rw_hwprot___sser0___lsb 3
118#define reg_pinmux_rw_hwprot___sser0___width 1
119#define reg_pinmux_rw_hwprot___sser0___bit 3
120#define reg_pinmux_rw_hwprot___sser1___lsb 4
121#define reg_pinmux_rw_hwprot___sser1___width 1
122#define reg_pinmux_rw_hwprot___sser1___bit 4
123#define reg_pinmux_rw_hwprot___ata0___lsb 5
124#define reg_pinmux_rw_hwprot___ata0___width 1
125#define reg_pinmux_rw_hwprot___ata0___bit 5
126#define reg_pinmux_rw_hwprot___ata1___lsb 6
127#define reg_pinmux_rw_hwprot___ata1___width 1
128#define reg_pinmux_rw_hwprot___ata1___bit 6
129#define reg_pinmux_rw_hwprot___ata2___lsb 7
130#define reg_pinmux_rw_hwprot___ata2___width 1
131#define reg_pinmux_rw_hwprot___ata2___bit 7
132#define reg_pinmux_rw_hwprot___ata3___lsb 8
133#define reg_pinmux_rw_hwprot___ata3___width 1
134#define reg_pinmux_rw_hwprot___ata3___bit 8
135#define reg_pinmux_rw_hwprot___ata___lsb 9
136#define reg_pinmux_rw_hwprot___ata___width 1
137#define reg_pinmux_rw_hwprot___ata___bit 9
138#define reg_pinmux_rw_hwprot___eth1___lsb 10
139#define reg_pinmux_rw_hwprot___eth1___width 1
140#define reg_pinmux_rw_hwprot___eth1___bit 10
141#define reg_pinmux_rw_hwprot___eth1_mgm___lsb 11
142#define reg_pinmux_rw_hwprot___eth1_mgm___width 1
143#define reg_pinmux_rw_hwprot___eth1_mgm___bit 11
144#define reg_pinmux_rw_hwprot___timer___lsb 12
145#define reg_pinmux_rw_hwprot___timer___width 1
146#define reg_pinmux_rw_hwprot___timer___bit 12
147#define reg_pinmux_rw_hwprot___p21___lsb 13
148#define reg_pinmux_rw_hwprot___p21___width 1
149#define reg_pinmux_rw_hwprot___p21___bit 13
150#define reg_pinmux_rw_hwprot_offset 4
151
152/* Register rw_pb_gio, scope pinmux, type rw */
153#define reg_pinmux_rw_pb_gio___pb0___lsb 0
154#define reg_pinmux_rw_pb_gio___pb0___width 1
155#define reg_pinmux_rw_pb_gio___pb0___bit 0
156#define reg_pinmux_rw_pb_gio___pb1___lsb 1
157#define reg_pinmux_rw_pb_gio___pb1___width 1
158#define reg_pinmux_rw_pb_gio___pb1___bit 1
159#define reg_pinmux_rw_pb_gio___pb2___lsb 2
160#define reg_pinmux_rw_pb_gio___pb2___width 1
161#define reg_pinmux_rw_pb_gio___pb2___bit 2
162#define reg_pinmux_rw_pb_gio___pb3___lsb 3
163#define reg_pinmux_rw_pb_gio___pb3___width 1
164#define reg_pinmux_rw_pb_gio___pb3___bit 3
165#define reg_pinmux_rw_pb_gio___pb4___lsb 4
166#define reg_pinmux_rw_pb_gio___pb4___width 1
167#define reg_pinmux_rw_pb_gio___pb4___bit 4
168#define reg_pinmux_rw_pb_gio___pb5___lsb 5
169#define reg_pinmux_rw_pb_gio___pb5___width 1
170#define reg_pinmux_rw_pb_gio___pb5___bit 5
171#define reg_pinmux_rw_pb_gio___pb6___lsb 6
172#define reg_pinmux_rw_pb_gio___pb6___width 1
173#define reg_pinmux_rw_pb_gio___pb6___bit 6
174#define reg_pinmux_rw_pb_gio___pb7___lsb 7
175#define reg_pinmux_rw_pb_gio___pb7___width 1
176#define reg_pinmux_rw_pb_gio___pb7___bit 7
177#define reg_pinmux_rw_pb_gio___pb8___lsb 8
178#define reg_pinmux_rw_pb_gio___pb8___width 1
179#define reg_pinmux_rw_pb_gio___pb8___bit 8
180#define reg_pinmux_rw_pb_gio___pb9___lsb 9
181#define reg_pinmux_rw_pb_gio___pb9___width 1
182#define reg_pinmux_rw_pb_gio___pb9___bit 9
183#define reg_pinmux_rw_pb_gio___pb10___lsb 10
184#define reg_pinmux_rw_pb_gio___pb10___width 1
185#define reg_pinmux_rw_pb_gio___pb10___bit 10
186#define reg_pinmux_rw_pb_gio___pb11___lsb 11
187#define reg_pinmux_rw_pb_gio___pb11___width 1
188#define reg_pinmux_rw_pb_gio___pb11___bit 11
189#define reg_pinmux_rw_pb_gio___pb12___lsb 12
190#define reg_pinmux_rw_pb_gio___pb12___width 1
191#define reg_pinmux_rw_pb_gio___pb12___bit 12
192#define reg_pinmux_rw_pb_gio___pb13___lsb 13
193#define reg_pinmux_rw_pb_gio___pb13___width 1
194#define reg_pinmux_rw_pb_gio___pb13___bit 13
195#define reg_pinmux_rw_pb_gio___pb14___lsb 14
196#define reg_pinmux_rw_pb_gio___pb14___width 1
197#define reg_pinmux_rw_pb_gio___pb14___bit 14
198#define reg_pinmux_rw_pb_gio___pb15___lsb 15
199#define reg_pinmux_rw_pb_gio___pb15___width 1
200#define reg_pinmux_rw_pb_gio___pb15___bit 15
201#define reg_pinmux_rw_pb_gio___pb16___lsb 16
202#define reg_pinmux_rw_pb_gio___pb16___width 1
203#define reg_pinmux_rw_pb_gio___pb16___bit 16
204#define reg_pinmux_rw_pb_gio___pb17___lsb 17
205#define reg_pinmux_rw_pb_gio___pb17___width 1
206#define reg_pinmux_rw_pb_gio___pb17___bit 17
207#define reg_pinmux_rw_pb_gio_offset 8
208
209/* Register rw_pb_iop, scope pinmux, type rw */
210#define reg_pinmux_rw_pb_iop___pb0___lsb 0
211#define reg_pinmux_rw_pb_iop___pb0___width 1
212#define reg_pinmux_rw_pb_iop___pb0___bit 0
213#define reg_pinmux_rw_pb_iop___pb1___lsb 1
214#define reg_pinmux_rw_pb_iop___pb1___width 1
215#define reg_pinmux_rw_pb_iop___pb1___bit 1
216#define reg_pinmux_rw_pb_iop___pb2___lsb 2
217#define reg_pinmux_rw_pb_iop___pb2___width 1
218#define reg_pinmux_rw_pb_iop___pb2___bit 2
219#define reg_pinmux_rw_pb_iop___pb3___lsb 3
220#define reg_pinmux_rw_pb_iop___pb3___width 1
221#define reg_pinmux_rw_pb_iop___pb3___bit 3
222#define reg_pinmux_rw_pb_iop___pb4___lsb 4
223#define reg_pinmux_rw_pb_iop___pb4___width 1
224#define reg_pinmux_rw_pb_iop___pb4___bit 4
225#define reg_pinmux_rw_pb_iop___pb5___lsb 5
226#define reg_pinmux_rw_pb_iop___pb5___width 1
227#define reg_pinmux_rw_pb_iop___pb5___bit 5
228#define reg_pinmux_rw_pb_iop___pb6___lsb 6
229#define reg_pinmux_rw_pb_iop___pb6___width 1
230#define reg_pinmux_rw_pb_iop___pb6___bit 6
231#define reg_pinmux_rw_pb_iop___pb7___lsb 7
232#define reg_pinmux_rw_pb_iop___pb7___width 1
233#define reg_pinmux_rw_pb_iop___pb7___bit 7
234#define reg_pinmux_rw_pb_iop___pb8___lsb 8
235#define reg_pinmux_rw_pb_iop___pb8___width 1
236#define reg_pinmux_rw_pb_iop___pb8___bit 8
237#define reg_pinmux_rw_pb_iop___pb9___lsb 9
238#define reg_pinmux_rw_pb_iop___pb9___width 1
239#define reg_pinmux_rw_pb_iop___pb9___bit 9
240#define reg_pinmux_rw_pb_iop___pb10___lsb 10
241#define reg_pinmux_rw_pb_iop___pb10___width 1
242#define reg_pinmux_rw_pb_iop___pb10___bit 10
243#define reg_pinmux_rw_pb_iop___pb11___lsb 11
244#define reg_pinmux_rw_pb_iop___pb11___width 1
245#define reg_pinmux_rw_pb_iop___pb11___bit 11
246#define reg_pinmux_rw_pb_iop___pb12___lsb 12
247#define reg_pinmux_rw_pb_iop___pb12___width 1
248#define reg_pinmux_rw_pb_iop___pb12___bit 12
249#define reg_pinmux_rw_pb_iop___pb13___lsb 13
250#define reg_pinmux_rw_pb_iop___pb13___width 1
251#define reg_pinmux_rw_pb_iop___pb13___bit 13
252#define reg_pinmux_rw_pb_iop___pb14___lsb 14
253#define reg_pinmux_rw_pb_iop___pb14___width 1
254#define reg_pinmux_rw_pb_iop___pb14___bit 14
255#define reg_pinmux_rw_pb_iop___pb15___lsb 15
256#define reg_pinmux_rw_pb_iop___pb15___width 1
257#define reg_pinmux_rw_pb_iop___pb15___bit 15
258#define reg_pinmux_rw_pb_iop___pb16___lsb 16
259#define reg_pinmux_rw_pb_iop___pb16___width 1
260#define reg_pinmux_rw_pb_iop___pb16___bit 16
261#define reg_pinmux_rw_pb_iop___pb17___lsb 17
262#define reg_pinmux_rw_pb_iop___pb17___width 1
263#define reg_pinmux_rw_pb_iop___pb17___bit 17
264#define reg_pinmux_rw_pb_iop_offset 12
265
266/* Register rw_pc_gio, scope pinmux, type rw */
267#define reg_pinmux_rw_pc_gio___pc0___lsb 0
268#define reg_pinmux_rw_pc_gio___pc0___width 1
269#define reg_pinmux_rw_pc_gio___pc0___bit 0
270#define reg_pinmux_rw_pc_gio___pc1___lsb 1
271#define reg_pinmux_rw_pc_gio___pc1___width 1
272#define reg_pinmux_rw_pc_gio___pc1___bit 1
273#define reg_pinmux_rw_pc_gio___pc2___lsb 2
274#define reg_pinmux_rw_pc_gio___pc2___width 1
275#define reg_pinmux_rw_pc_gio___pc2___bit 2
276#define reg_pinmux_rw_pc_gio___pc3___lsb 3
277#define reg_pinmux_rw_pc_gio___pc3___width 1
278#define reg_pinmux_rw_pc_gio___pc3___bit 3
279#define reg_pinmux_rw_pc_gio___pc4___lsb 4
280#define reg_pinmux_rw_pc_gio___pc4___width 1
281#define reg_pinmux_rw_pc_gio___pc4___bit 4
282#define reg_pinmux_rw_pc_gio___pc5___lsb 5
283#define reg_pinmux_rw_pc_gio___pc5___width 1
284#define reg_pinmux_rw_pc_gio___pc5___bit 5
285#define reg_pinmux_rw_pc_gio___pc6___lsb 6
286#define reg_pinmux_rw_pc_gio___pc6___width 1
287#define reg_pinmux_rw_pc_gio___pc6___bit 6
288#define reg_pinmux_rw_pc_gio___pc7___lsb 7
289#define reg_pinmux_rw_pc_gio___pc7___width 1
290#define reg_pinmux_rw_pc_gio___pc7___bit 7
291#define reg_pinmux_rw_pc_gio___pc8___lsb 8
292#define reg_pinmux_rw_pc_gio___pc8___width 1
293#define reg_pinmux_rw_pc_gio___pc8___bit 8
294#define reg_pinmux_rw_pc_gio___pc9___lsb 9
295#define reg_pinmux_rw_pc_gio___pc9___width 1
296#define reg_pinmux_rw_pc_gio___pc9___bit 9
297#define reg_pinmux_rw_pc_gio___pc10___lsb 10
298#define reg_pinmux_rw_pc_gio___pc10___width 1
299#define reg_pinmux_rw_pc_gio___pc10___bit 10
300#define reg_pinmux_rw_pc_gio___pc11___lsb 11
301#define reg_pinmux_rw_pc_gio___pc11___width 1
302#define reg_pinmux_rw_pc_gio___pc11___bit 11
303#define reg_pinmux_rw_pc_gio___pc12___lsb 12
304#define reg_pinmux_rw_pc_gio___pc12___width 1
305#define reg_pinmux_rw_pc_gio___pc12___bit 12
306#define reg_pinmux_rw_pc_gio___pc13___lsb 13
307#define reg_pinmux_rw_pc_gio___pc13___width 1
308#define reg_pinmux_rw_pc_gio___pc13___bit 13
309#define reg_pinmux_rw_pc_gio___pc14___lsb 14
310#define reg_pinmux_rw_pc_gio___pc14___width 1
311#define reg_pinmux_rw_pc_gio___pc14___bit 14
312#define reg_pinmux_rw_pc_gio___pc15___lsb 15
313#define reg_pinmux_rw_pc_gio___pc15___width 1
314#define reg_pinmux_rw_pc_gio___pc15___bit 15
315#define reg_pinmux_rw_pc_gio___pc16___lsb 16
316#define reg_pinmux_rw_pc_gio___pc16___width 1
317#define reg_pinmux_rw_pc_gio___pc16___bit 16
318#define reg_pinmux_rw_pc_gio___pc17___lsb 17
319#define reg_pinmux_rw_pc_gio___pc17___width 1
320#define reg_pinmux_rw_pc_gio___pc17___bit 17
321#define reg_pinmux_rw_pc_gio_offset 16
322
323/* Register rw_pc_iop, scope pinmux, type rw */
324#define reg_pinmux_rw_pc_iop___pc0___lsb 0
325#define reg_pinmux_rw_pc_iop___pc0___width 1
326#define reg_pinmux_rw_pc_iop___pc0___bit 0
327#define reg_pinmux_rw_pc_iop___pc1___lsb 1
328#define reg_pinmux_rw_pc_iop___pc1___width 1
329#define reg_pinmux_rw_pc_iop___pc1___bit 1
330#define reg_pinmux_rw_pc_iop___pc2___lsb 2
331#define reg_pinmux_rw_pc_iop___pc2___width 1
332#define reg_pinmux_rw_pc_iop___pc2___bit 2
333#define reg_pinmux_rw_pc_iop___pc3___lsb 3
334#define reg_pinmux_rw_pc_iop___pc3___width 1
335#define reg_pinmux_rw_pc_iop___pc3___bit 3
336#define reg_pinmux_rw_pc_iop___pc4___lsb 4
337#define reg_pinmux_rw_pc_iop___pc4___width 1
338#define reg_pinmux_rw_pc_iop___pc4___bit 4
339#define reg_pinmux_rw_pc_iop___pc5___lsb 5
340#define reg_pinmux_rw_pc_iop___pc5___width 1
341#define reg_pinmux_rw_pc_iop___pc5___bit 5
342#define reg_pinmux_rw_pc_iop___pc6___lsb 6
343#define reg_pinmux_rw_pc_iop___pc6___width 1
344#define reg_pinmux_rw_pc_iop___pc6___bit 6
345#define reg_pinmux_rw_pc_iop___pc7___lsb 7
346#define reg_pinmux_rw_pc_iop___pc7___width 1
347#define reg_pinmux_rw_pc_iop___pc7___bit 7
348#define reg_pinmux_rw_pc_iop___pc8___lsb 8
349#define reg_pinmux_rw_pc_iop___pc8___width 1
350#define reg_pinmux_rw_pc_iop___pc8___bit 8
351#define reg_pinmux_rw_pc_iop___pc9___lsb 9
352#define reg_pinmux_rw_pc_iop___pc9___width 1
353#define reg_pinmux_rw_pc_iop___pc9___bit 9
354#define reg_pinmux_rw_pc_iop___pc10___lsb 10
355#define reg_pinmux_rw_pc_iop___pc10___width 1
356#define reg_pinmux_rw_pc_iop___pc10___bit 10
357#define reg_pinmux_rw_pc_iop___pc11___lsb 11
358#define reg_pinmux_rw_pc_iop___pc11___width 1
359#define reg_pinmux_rw_pc_iop___pc11___bit 11
360#define reg_pinmux_rw_pc_iop___pc12___lsb 12
361#define reg_pinmux_rw_pc_iop___pc12___width 1
362#define reg_pinmux_rw_pc_iop___pc12___bit 12
363#define reg_pinmux_rw_pc_iop___pc13___lsb 13
364#define reg_pinmux_rw_pc_iop___pc13___width 1
365#define reg_pinmux_rw_pc_iop___pc13___bit 13
366#define reg_pinmux_rw_pc_iop___pc14___lsb 14
367#define reg_pinmux_rw_pc_iop___pc14___width 1
368#define reg_pinmux_rw_pc_iop___pc14___bit 14
369#define reg_pinmux_rw_pc_iop___pc15___lsb 15
370#define reg_pinmux_rw_pc_iop___pc15___width 1
371#define reg_pinmux_rw_pc_iop___pc15___bit 15
372#define reg_pinmux_rw_pc_iop___pc16___lsb 16
373#define reg_pinmux_rw_pc_iop___pc16___width 1
374#define reg_pinmux_rw_pc_iop___pc16___bit 16
375#define reg_pinmux_rw_pc_iop___pc17___lsb 17
376#define reg_pinmux_rw_pc_iop___pc17___width 1
377#define reg_pinmux_rw_pc_iop___pc17___bit 17
378#define reg_pinmux_rw_pc_iop_offset 20
379
380/* Register rw_pd_gio, scope pinmux, type rw */
381#define reg_pinmux_rw_pd_gio___pd0___lsb 0
382#define reg_pinmux_rw_pd_gio___pd0___width 1
383#define reg_pinmux_rw_pd_gio___pd0___bit 0
384#define reg_pinmux_rw_pd_gio___pd1___lsb 1
385#define reg_pinmux_rw_pd_gio___pd1___width 1
386#define reg_pinmux_rw_pd_gio___pd1___bit 1
387#define reg_pinmux_rw_pd_gio___pd2___lsb 2
388#define reg_pinmux_rw_pd_gio___pd2___width 1
389#define reg_pinmux_rw_pd_gio___pd2___bit 2
390#define reg_pinmux_rw_pd_gio___pd3___lsb 3
391#define reg_pinmux_rw_pd_gio___pd3___width 1
392#define reg_pinmux_rw_pd_gio___pd3___bit 3
393#define reg_pinmux_rw_pd_gio___pd4___lsb 4
394#define reg_pinmux_rw_pd_gio___pd4___width 1
395#define reg_pinmux_rw_pd_gio___pd4___bit 4
396#define reg_pinmux_rw_pd_gio___pd5___lsb 5
397#define reg_pinmux_rw_pd_gio___pd5___width 1
398#define reg_pinmux_rw_pd_gio___pd5___bit 5
399#define reg_pinmux_rw_pd_gio___pd6___lsb 6
400#define reg_pinmux_rw_pd_gio___pd6___width 1
401#define reg_pinmux_rw_pd_gio___pd6___bit 6
402#define reg_pinmux_rw_pd_gio___pd7___lsb 7
403#define reg_pinmux_rw_pd_gio___pd7___width 1
404#define reg_pinmux_rw_pd_gio___pd7___bit 7
405#define reg_pinmux_rw_pd_gio___pd8___lsb 8
406#define reg_pinmux_rw_pd_gio___pd8___width 1
407#define reg_pinmux_rw_pd_gio___pd8___bit 8
408#define reg_pinmux_rw_pd_gio___pd9___lsb 9
409#define reg_pinmux_rw_pd_gio___pd9___width 1
410#define reg_pinmux_rw_pd_gio___pd9___bit 9
411#define reg_pinmux_rw_pd_gio___pd10___lsb 10
412#define reg_pinmux_rw_pd_gio___pd10___width 1
413#define reg_pinmux_rw_pd_gio___pd10___bit 10
414#define reg_pinmux_rw_pd_gio___pd11___lsb 11
415#define reg_pinmux_rw_pd_gio___pd11___width 1
416#define reg_pinmux_rw_pd_gio___pd11___bit 11
417#define reg_pinmux_rw_pd_gio___pd12___lsb 12
418#define reg_pinmux_rw_pd_gio___pd12___width 1
419#define reg_pinmux_rw_pd_gio___pd12___bit 12
420#define reg_pinmux_rw_pd_gio___pd13___lsb 13
421#define reg_pinmux_rw_pd_gio___pd13___width 1
422#define reg_pinmux_rw_pd_gio___pd13___bit 13
423#define reg_pinmux_rw_pd_gio___pd14___lsb 14
424#define reg_pinmux_rw_pd_gio___pd14___width 1
425#define reg_pinmux_rw_pd_gio___pd14___bit 14
426#define reg_pinmux_rw_pd_gio___pd15___lsb 15
427#define reg_pinmux_rw_pd_gio___pd15___width 1
428#define reg_pinmux_rw_pd_gio___pd15___bit 15
429#define reg_pinmux_rw_pd_gio___pd16___lsb 16
430#define reg_pinmux_rw_pd_gio___pd16___width 1
431#define reg_pinmux_rw_pd_gio___pd16___bit 16
432#define reg_pinmux_rw_pd_gio___pd17___lsb 17
433#define reg_pinmux_rw_pd_gio___pd17___width 1
434#define reg_pinmux_rw_pd_gio___pd17___bit 17
435#define reg_pinmux_rw_pd_gio_offset 24
436
437/* Register rw_pd_iop, scope pinmux, type rw */
438#define reg_pinmux_rw_pd_iop___pd0___lsb 0
439#define reg_pinmux_rw_pd_iop___pd0___width 1
440#define reg_pinmux_rw_pd_iop___pd0___bit 0
441#define reg_pinmux_rw_pd_iop___pd1___lsb 1
442#define reg_pinmux_rw_pd_iop___pd1___width 1
443#define reg_pinmux_rw_pd_iop___pd1___bit 1
444#define reg_pinmux_rw_pd_iop___pd2___lsb 2
445#define reg_pinmux_rw_pd_iop___pd2___width 1
446#define reg_pinmux_rw_pd_iop___pd2___bit 2
447#define reg_pinmux_rw_pd_iop___pd3___lsb 3
448#define reg_pinmux_rw_pd_iop___pd3___width 1
449#define reg_pinmux_rw_pd_iop___pd3___bit 3
450#define reg_pinmux_rw_pd_iop___pd4___lsb 4
451#define reg_pinmux_rw_pd_iop___pd4___width 1
452#define reg_pinmux_rw_pd_iop___pd4___bit 4
453#define reg_pinmux_rw_pd_iop___pd5___lsb 5
454#define reg_pinmux_rw_pd_iop___pd5___width 1
455#define reg_pinmux_rw_pd_iop___pd5___bit 5
456#define reg_pinmux_rw_pd_iop___pd6___lsb 6
457#define reg_pinmux_rw_pd_iop___pd6___width 1
458#define reg_pinmux_rw_pd_iop___pd6___bit 6
459#define reg_pinmux_rw_pd_iop___pd7___lsb 7
460#define reg_pinmux_rw_pd_iop___pd7___width 1
461#define reg_pinmux_rw_pd_iop___pd7___bit 7
462#define reg_pinmux_rw_pd_iop___pd8___lsb 8
463#define reg_pinmux_rw_pd_iop___pd8___width 1
464#define reg_pinmux_rw_pd_iop___pd8___bit 8
465#define reg_pinmux_rw_pd_iop___pd9___lsb 9
466#define reg_pinmux_rw_pd_iop___pd9___width 1
467#define reg_pinmux_rw_pd_iop___pd9___bit 9
468#define reg_pinmux_rw_pd_iop___pd10___lsb 10
469#define reg_pinmux_rw_pd_iop___pd10___width 1
470#define reg_pinmux_rw_pd_iop___pd10___bit 10
471#define reg_pinmux_rw_pd_iop___pd11___lsb 11
472#define reg_pinmux_rw_pd_iop___pd11___width 1
473#define reg_pinmux_rw_pd_iop___pd11___bit 11
474#define reg_pinmux_rw_pd_iop___pd12___lsb 12
475#define reg_pinmux_rw_pd_iop___pd12___width 1
476#define reg_pinmux_rw_pd_iop___pd12___bit 12
477#define reg_pinmux_rw_pd_iop___pd13___lsb 13
478#define reg_pinmux_rw_pd_iop___pd13___width 1
479#define reg_pinmux_rw_pd_iop___pd13___bit 13
480#define reg_pinmux_rw_pd_iop___pd14___lsb 14
481#define reg_pinmux_rw_pd_iop___pd14___width 1
482#define reg_pinmux_rw_pd_iop___pd14___bit 14
483#define reg_pinmux_rw_pd_iop___pd15___lsb 15
484#define reg_pinmux_rw_pd_iop___pd15___width 1
485#define reg_pinmux_rw_pd_iop___pd15___bit 15
486#define reg_pinmux_rw_pd_iop___pd16___lsb 16
487#define reg_pinmux_rw_pd_iop___pd16___width 1
488#define reg_pinmux_rw_pd_iop___pd16___bit 16
489#define reg_pinmux_rw_pd_iop___pd17___lsb 17
490#define reg_pinmux_rw_pd_iop___pd17___width 1
491#define reg_pinmux_rw_pd_iop___pd17___bit 17
492#define reg_pinmux_rw_pd_iop_offset 28
493
494/* Register rw_pe_gio, scope pinmux, type rw */
495#define reg_pinmux_rw_pe_gio___pe0___lsb 0
496#define reg_pinmux_rw_pe_gio___pe0___width 1
497#define reg_pinmux_rw_pe_gio___pe0___bit 0
498#define reg_pinmux_rw_pe_gio___pe1___lsb 1
499#define reg_pinmux_rw_pe_gio___pe1___width 1
500#define reg_pinmux_rw_pe_gio___pe1___bit 1
501#define reg_pinmux_rw_pe_gio___pe2___lsb 2
502#define reg_pinmux_rw_pe_gio___pe2___width 1
503#define reg_pinmux_rw_pe_gio___pe2___bit 2
504#define reg_pinmux_rw_pe_gio___pe3___lsb 3
505#define reg_pinmux_rw_pe_gio___pe3___width 1
506#define reg_pinmux_rw_pe_gio___pe3___bit 3
507#define reg_pinmux_rw_pe_gio___pe4___lsb 4
508#define reg_pinmux_rw_pe_gio___pe4___width 1
509#define reg_pinmux_rw_pe_gio___pe4___bit 4
510#define reg_pinmux_rw_pe_gio___pe5___lsb 5
511#define reg_pinmux_rw_pe_gio___pe5___width 1
512#define reg_pinmux_rw_pe_gio___pe5___bit 5
513#define reg_pinmux_rw_pe_gio___pe6___lsb 6
514#define reg_pinmux_rw_pe_gio___pe6___width 1
515#define reg_pinmux_rw_pe_gio___pe6___bit 6
516#define reg_pinmux_rw_pe_gio___pe7___lsb 7
517#define reg_pinmux_rw_pe_gio___pe7___width 1
518#define reg_pinmux_rw_pe_gio___pe7___bit 7
519#define reg_pinmux_rw_pe_gio___pe8___lsb 8
520#define reg_pinmux_rw_pe_gio___pe8___width 1
521#define reg_pinmux_rw_pe_gio___pe8___bit 8
522#define reg_pinmux_rw_pe_gio___pe9___lsb 9
523#define reg_pinmux_rw_pe_gio___pe9___width 1
524#define reg_pinmux_rw_pe_gio___pe9___bit 9
525#define reg_pinmux_rw_pe_gio___pe10___lsb 10
526#define reg_pinmux_rw_pe_gio___pe10___width 1
527#define reg_pinmux_rw_pe_gio___pe10___bit 10
528#define reg_pinmux_rw_pe_gio___pe11___lsb 11
529#define reg_pinmux_rw_pe_gio___pe11___width 1
530#define reg_pinmux_rw_pe_gio___pe11___bit 11
531#define reg_pinmux_rw_pe_gio___pe12___lsb 12
532#define reg_pinmux_rw_pe_gio___pe12___width 1
533#define reg_pinmux_rw_pe_gio___pe12___bit 12
534#define reg_pinmux_rw_pe_gio___pe13___lsb 13
535#define reg_pinmux_rw_pe_gio___pe13___width 1
536#define reg_pinmux_rw_pe_gio___pe13___bit 13
537#define reg_pinmux_rw_pe_gio___pe14___lsb 14
538#define reg_pinmux_rw_pe_gio___pe14___width 1
539#define reg_pinmux_rw_pe_gio___pe14___bit 14
540#define reg_pinmux_rw_pe_gio___pe15___lsb 15
541#define reg_pinmux_rw_pe_gio___pe15___width 1
542#define reg_pinmux_rw_pe_gio___pe15___bit 15
543#define reg_pinmux_rw_pe_gio___pe16___lsb 16
544#define reg_pinmux_rw_pe_gio___pe16___width 1
545#define reg_pinmux_rw_pe_gio___pe16___bit 16
546#define reg_pinmux_rw_pe_gio___pe17___lsb 17
547#define reg_pinmux_rw_pe_gio___pe17___width 1
548#define reg_pinmux_rw_pe_gio___pe17___bit 17
549#define reg_pinmux_rw_pe_gio_offset 32
550
551/* Register rw_pe_iop, scope pinmux, type rw */
552#define reg_pinmux_rw_pe_iop___pe0___lsb 0
553#define reg_pinmux_rw_pe_iop___pe0___width 1
554#define reg_pinmux_rw_pe_iop___pe0___bit 0
555#define reg_pinmux_rw_pe_iop___pe1___lsb 1
556#define reg_pinmux_rw_pe_iop___pe1___width 1
557#define reg_pinmux_rw_pe_iop___pe1___bit 1
558#define reg_pinmux_rw_pe_iop___pe2___lsb 2
559#define reg_pinmux_rw_pe_iop___pe2___width 1
560#define reg_pinmux_rw_pe_iop___pe2___bit 2
561#define reg_pinmux_rw_pe_iop___pe3___lsb 3
562#define reg_pinmux_rw_pe_iop___pe3___width 1
563#define reg_pinmux_rw_pe_iop___pe3___bit 3
564#define reg_pinmux_rw_pe_iop___pe4___lsb 4
565#define reg_pinmux_rw_pe_iop___pe4___width 1
566#define reg_pinmux_rw_pe_iop___pe4___bit 4
567#define reg_pinmux_rw_pe_iop___pe5___lsb 5
568#define reg_pinmux_rw_pe_iop___pe5___width 1
569#define reg_pinmux_rw_pe_iop___pe5___bit 5
570#define reg_pinmux_rw_pe_iop___pe6___lsb 6
571#define reg_pinmux_rw_pe_iop___pe6___width 1
572#define reg_pinmux_rw_pe_iop___pe6___bit 6
573#define reg_pinmux_rw_pe_iop___pe7___lsb 7
574#define reg_pinmux_rw_pe_iop___pe7___width 1
575#define reg_pinmux_rw_pe_iop___pe7___bit 7
576#define reg_pinmux_rw_pe_iop___pe8___lsb 8
577#define reg_pinmux_rw_pe_iop___pe8___width 1
578#define reg_pinmux_rw_pe_iop___pe8___bit 8
579#define reg_pinmux_rw_pe_iop___pe9___lsb 9
580#define reg_pinmux_rw_pe_iop___pe9___width 1
581#define reg_pinmux_rw_pe_iop___pe9___bit 9
582#define reg_pinmux_rw_pe_iop___pe10___lsb 10
583#define reg_pinmux_rw_pe_iop___pe10___width 1
584#define reg_pinmux_rw_pe_iop___pe10___bit 10
585#define reg_pinmux_rw_pe_iop___pe11___lsb 11
586#define reg_pinmux_rw_pe_iop___pe11___width 1
587#define reg_pinmux_rw_pe_iop___pe11___bit 11
588#define reg_pinmux_rw_pe_iop___pe12___lsb 12
589#define reg_pinmux_rw_pe_iop___pe12___width 1
590#define reg_pinmux_rw_pe_iop___pe12___bit 12
591#define reg_pinmux_rw_pe_iop___pe13___lsb 13
592#define reg_pinmux_rw_pe_iop___pe13___width 1
593#define reg_pinmux_rw_pe_iop___pe13___bit 13
594#define reg_pinmux_rw_pe_iop___pe14___lsb 14
595#define reg_pinmux_rw_pe_iop___pe14___width 1
596#define reg_pinmux_rw_pe_iop___pe14___bit 14
597#define reg_pinmux_rw_pe_iop___pe15___lsb 15
598#define reg_pinmux_rw_pe_iop___pe15___width 1
599#define reg_pinmux_rw_pe_iop___pe15___bit 15
600#define reg_pinmux_rw_pe_iop___pe16___lsb 16
601#define reg_pinmux_rw_pe_iop___pe16___width 1
602#define reg_pinmux_rw_pe_iop___pe16___bit 16
603#define reg_pinmux_rw_pe_iop___pe17___lsb 17
604#define reg_pinmux_rw_pe_iop___pe17___width 1
605#define reg_pinmux_rw_pe_iop___pe17___bit 17
606#define reg_pinmux_rw_pe_iop_offset 36
607
608/* Register rw_usb_phy, scope pinmux, type rw */
609#define reg_pinmux_rw_usb_phy___en_usb0___lsb 0
610#define reg_pinmux_rw_usb_phy___en_usb0___width 1
611#define reg_pinmux_rw_usb_phy___en_usb0___bit 0
612#define reg_pinmux_rw_usb_phy___en_usb1___lsb 1
613#define reg_pinmux_rw_usb_phy___en_usb1___width 1
614#define reg_pinmux_rw_usb_phy___en_usb1___bit 1
615#define reg_pinmux_rw_usb_phy_offset 40
616
617
618/* Constants */
619#define regk_pinmux_no 0x00000000
620#define regk_pinmux_rw_hwprot_default 0x00000000
621#define regk_pinmux_rw_pa_default 0x00000000
622#define regk_pinmux_rw_pb_gio_default 0x00000000
623#define regk_pinmux_rw_pb_iop_default 0x00000000
624#define regk_pinmux_rw_pc_gio_default 0x00000000
625#define regk_pinmux_rw_pc_iop_default 0x00000000
626#define regk_pinmux_rw_pd_gio_default 0x00000000
627#define regk_pinmux_rw_pd_iop_default 0x00000000
628#define regk_pinmux_rw_pe_gio_default 0x00000000
629#define regk_pinmux_rw_pe_iop_default 0x00000000
630#define regk_pinmux_rw_usb_phy_default 0x00000000
631#define regk_pinmux_yes 0x00000001
632#endif /* __pinmux_defs_asm_h */
diff --git a/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h b/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h
deleted file mode 100644
index 76959b70cd2c..000000000000
--- a/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h
+++ /dev/null
@@ -1,96 +0,0 @@
1#ifndef __reg_map_h
2#define __reg_map_h
3
4/*
5 * This file is autogenerated from
6 * file: ../../mod/fakereg.rmap
7 * id: fakereg.rmap,v 1.3 2004/02/11 19:53:22 ronny Exp
8 * last modified: Wed Feb 11 20:53:25 2004
9 * file: ../../rtl/global.rmap
10 * id: global.rmap,v 1.3 2003/08/18 15:08:23 mikaeln Exp
11 * last modified: Mon Aug 18 17:08:23 2003
12 * file: ../../mod/modreg.rmap
13 * id: modreg.rmap,v 1.31 2004/02/20 15:40:04 stefans Exp
14 * last modified: Fri Feb 20 16:40:04 2004
15 *
16 * by /n/asic/design/tools/rdesc/src/rdes2c -asm --outfile asm/reg_map_asm.h -base 0xb0000000 ../../rtl/global.rmap ../../mod/modreg.rmap ../../inst/memarb/rtl/guinness/marb_top.r ../../mod/fakereg.rmap
17 * id: $Id: reg_map_asm.h,v 1.1 2005/04/24 18:31:04 starvik Exp $
18 * Any changes here will be lost.
19 *
20 * -*- buffer-read-only: t -*-
21 */
22#define regi_artpec_mod 0xb7044000
23#define regi_ata 0xb0032000
24#define regi_ata_mod 0xb7006000
25#define regi_barber 0xb701a000
26#define regi_bif_core 0xb0014000
27#define regi_bif_dma 0xb0016000
28#define regi_bif_slave 0xb0018000
29#define regi_bif_slave_ext 0xac000000
30#define regi_bus_master 0xb703c000
31#define regi_config 0xb003c000
32#define regi_dma0 0xb0000000
33#define regi_dma1 0xb0002000
34#define regi_dma2 0xb0004000
35#define regi_dma3 0xb0006000
36#define regi_dma4 0xb0008000
37#define regi_dma5 0xb000a000
38#define regi_dma6 0xb000c000
39#define regi_dma7 0xb000e000
40#define regi_dma8 0xb0010000
41#define regi_dma9 0xb0012000
42#define regi_eth0 0xb0034000
43#define regi_eth1 0xb0036000
44#define regi_eth_mod 0xb7004000
45#define regi_eth_mod1 0xb701c000
46#define regi_eth_strmod 0xb7008000
47#define regi_eth_strmod1 0xb7032000
48#define regi_ext_dma 0xb703a000
49#define regi_ext_mem 0xb7046000
50#define regi_gen_io 0xb7016000
51#define regi_gio 0xb001a000
52#define regi_hook 0xb7000000
53#define regi_iop 0xb0020000
54#define regi_irq 0xb001c000
55#define regi_irq_nmi 0xb701e000
56#define regi_marb 0xb003e000
57#define regi_marb_bp0 0xb003e240
58#define regi_marb_bp1 0xb003e280
59#define regi_marb_bp2 0xb003e2c0
60#define regi_marb_bp3 0xb003e300
61#define regi_nand_mod 0xb7014000
62#define regi_p21 0xb002e000
63#define regi_p21_mod 0xb7042000
64#define regi_pci_mod 0xb7010000
65#define regi_pin_test 0xb7018000
66#define regi_pinmux 0xb0038000
67#define regi_sdram_chk 0xb703e000
68#define regi_sdram_mod 0xb7012000
69#define regi_ser0 0xb0026000
70#define regi_ser1 0xb0028000
71#define regi_ser2 0xb002a000
72#define regi_ser3 0xb002c000
73#define regi_ser_mod0 0xb7020000
74#define regi_ser_mod1 0xb7022000
75#define regi_ser_mod2 0xb7024000
76#define regi_ser_mod3 0xb7026000
77#define regi_smif_stat 0xb700e000
78#define regi_sser0 0xb0022000
79#define regi_sser1 0xb0024000
80#define regi_sser_mod0 0xb700a000
81#define regi_sser_mod1 0xb700c000
82#define regi_strcop 0xb0030000
83#define regi_strmux 0xb003a000
84#define regi_strmux_tst 0xb7040000
85#define regi_tap 0xb7002000
86#define regi_timer 0xb001e000
87#define regi_timer_mod 0xb7034000
88#define regi_trace 0xb0040000
89#define regi_usb0 0xb7028000
90#define regi_usb1 0xb702a000
91#define regi_usb2 0xb702c000
92#define regi_usb3 0xb702e000
93#define regi_usb_dev 0xb7030000
94#define regi_utmi_mod0 0xb7036000
95#define regi_utmi_mod1 0xb7038000
96#endif /* __reg_map_h */
diff --git a/include/asm-cris/arch-v32/hwregs/gio_defs.h b/include/asm-cris/arch-v32/hwregs/gio_defs.h
deleted file mode 100644
index 3e9a0b25366f..000000000000
--- a/include/asm-cris/arch-v32/hwregs/gio_defs.h
+++ /dev/null
@@ -1,295 +0,0 @@
1#ifndef __gio_defs_h
2#define __gio_defs_h
3
4/*
5 * This file is autogenerated from
6 * file: ../../inst/gio/rtl/gio_regs.r
7 * id: gio_regs.r,v 1.5 2005/02/04 09:43:21 perz Exp
8 * last modfied: Mon Apr 11 16:07:47 2005
9 *
10 * by /n/asic/design/tools/rdesc/src/rdes2c --outfile gio_defs.h ../../inst/gio/rtl/gio_regs.r
11 * id: $Id: gio_defs.h,v 1.6 2005/04/24 18:30:58 starvik Exp $
12 * Any changes here will be lost.
13 *
14 * -*- buffer-read-only: t -*-
15 */
16/* Main access macros */
17#ifndef REG_RD
18#define REG_RD( scope, inst, reg ) \
19 REG_READ( reg_##scope##_##reg, \
20 (inst) + REG_RD_ADDR_##scope##_##reg )
21#endif
22
23#ifndef REG_WR
24#define REG_WR( scope, inst, reg, val ) \
25 REG_WRITE( reg_##scope##_##reg, \
26 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
27#endif
28
29#ifndef REG_RD_VECT
30#define REG_RD_VECT( scope, inst, reg, index ) \
31 REG_READ( reg_##scope##_##reg, \
32 (inst) + REG_RD_ADDR_##scope##_##reg + \
33 (index) * STRIDE_##scope##_##reg )
34#endif
35
36#ifndef REG_WR_VECT
37#define REG_WR_VECT( scope, inst, reg, index, val ) \
38 REG_WRITE( reg_##scope##_##reg, \
39 (inst) + REG_WR_ADDR_##scope##_##reg + \
40 (index) * STRIDE_##scope##_##reg, (val) )
41#endif
42
43#ifndef REG_RD_INT
44#define REG_RD_INT( scope, inst, reg ) \
45 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
46#endif
47
48#ifndef REG_WR_INT
49#define REG_WR_INT( scope, inst, reg, val ) \
50 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
51#endif
52
53#ifndef REG_RD_INT_VECT
54#define REG_RD_INT_VECT( scope, inst, reg, index ) \
55 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
56 (index) * STRIDE_##scope##_##reg )
57#endif
58
59#ifndef REG_WR_INT_VECT
60#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
61 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
62 (index) * STRIDE_##scope##_##reg, (val) )
63#endif
64
65#ifndef REG_TYPE_CONV
66#define REG_TYPE_CONV( type, orgtype, val ) \
67 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
68#endif
69
70#ifndef reg_page_size
71#define reg_page_size 8192
72#endif
73
74#ifndef REG_ADDR
75#define REG_ADDR( scope, inst, reg ) \
76 ( (inst) + REG_RD_ADDR_##scope##_##reg )
77#endif
78
79#ifndef REG_ADDR_VECT
80#define REG_ADDR_VECT( scope, inst, reg, index ) \
81 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
82 (index) * STRIDE_##scope##_##reg )
83#endif
84
85/* C-code for register scope gio */
86
87/* Register rw_pa_dout, scope gio, type rw */
88typedef struct {
89 unsigned int data : 8;
90 unsigned int dummy1 : 24;
91} reg_gio_rw_pa_dout;
92#define REG_RD_ADDR_gio_rw_pa_dout 0
93#define REG_WR_ADDR_gio_rw_pa_dout 0
94
95/* Register r_pa_din, scope gio, type r */
96typedef struct {
97 unsigned int data : 8;
98 unsigned int dummy1 : 24;
99} reg_gio_r_pa_din;
100#define REG_RD_ADDR_gio_r_pa_din 4
101
102/* Register rw_pa_oe, scope gio, type rw */
103typedef struct {
104 unsigned int oe : 8;
105 unsigned int dummy1 : 24;
106} reg_gio_rw_pa_oe;
107#define REG_RD_ADDR_gio_rw_pa_oe 8
108#define REG_WR_ADDR_gio_rw_pa_oe 8
109
110/* Register rw_intr_cfg, scope gio, type rw */
111typedef struct {
112 unsigned int pa0 : 3;
113 unsigned int pa1 : 3;
114 unsigned int pa2 : 3;
115 unsigned int pa3 : 3;
116 unsigned int pa4 : 3;
117 unsigned int pa5 : 3;
118 unsigned int pa6 : 3;
119 unsigned int pa7 : 3;
120 unsigned int dummy1 : 8;
121} reg_gio_rw_intr_cfg;
122#define REG_RD_ADDR_gio_rw_intr_cfg 12
123#define REG_WR_ADDR_gio_rw_intr_cfg 12
124
125/* Register rw_intr_mask, scope gio, type rw */
126typedef struct {
127 unsigned int pa0 : 1;
128 unsigned int pa1 : 1;
129 unsigned int pa2 : 1;
130 unsigned int pa3 : 1;
131 unsigned int pa4 : 1;
132 unsigned int pa5 : 1;
133 unsigned int pa6 : 1;
134 unsigned int pa7 : 1;
135 unsigned int dummy1 : 24;
136} reg_gio_rw_intr_mask;
137#define REG_RD_ADDR_gio_rw_intr_mask 16
138#define REG_WR_ADDR_gio_rw_intr_mask 16
139
140/* Register rw_ack_intr, scope gio, type rw */
141typedef struct {
142 unsigned int pa0 : 1;
143 unsigned int pa1 : 1;
144 unsigned int pa2 : 1;
145 unsigned int pa3 : 1;
146 unsigned int pa4 : 1;
147 unsigned int pa5 : 1;
148 unsigned int pa6 : 1;
149 unsigned int pa7 : 1;
150 unsigned int dummy1 : 24;
151} reg_gio_rw_ack_intr;
152#define REG_RD_ADDR_gio_rw_ack_intr 20
153#define REG_WR_ADDR_gio_rw_ack_intr 20
154
155/* Register r_intr, scope gio, type r */
156typedef struct {
157 unsigned int pa0 : 1;
158 unsigned int pa1 : 1;
159 unsigned int pa2 : 1;
160 unsigned int pa3 : 1;
161 unsigned int pa4 : 1;
162 unsigned int pa5 : 1;
163 unsigned int pa6 : 1;
164 unsigned int pa7 : 1;
165 unsigned int dummy1 : 24;
166} reg_gio_r_intr;
167#define REG_RD_ADDR_gio_r_intr 24
168
169/* Register r_masked_intr, scope gio, type r */
170typedef struct {
171 unsigned int pa0 : 1;
172 unsigned int pa1 : 1;
173 unsigned int pa2 : 1;
174 unsigned int pa3 : 1;
175 unsigned int pa4 : 1;
176 unsigned int pa5 : 1;
177 unsigned int pa6 : 1;
178 unsigned int pa7 : 1;
179 unsigned int dummy1 : 24;
180} reg_gio_r_masked_intr;
181#define REG_RD_ADDR_gio_r_masked_intr 28
182
183/* Register rw_pb_dout, scope gio, type rw */
184typedef struct {
185 unsigned int data : 18;
186 unsigned int dummy1 : 14;
187} reg_gio_rw_pb_dout;
188#define REG_RD_ADDR_gio_rw_pb_dout 32
189#define REG_WR_ADDR_gio_rw_pb_dout 32
190
191/* Register r_pb_din, scope gio, type r */
192typedef struct {
193 unsigned int data : 18;
194 unsigned int dummy1 : 14;
195} reg_gio_r_pb_din;
196#define REG_RD_ADDR_gio_r_pb_din 36
197
198/* Register rw_pb_oe, scope gio, type rw */
199typedef struct {
200 unsigned int oe : 18;
201 unsigned int dummy1 : 14;
202} reg_gio_rw_pb_oe;
203#define REG_RD_ADDR_gio_rw_pb_oe 40
204#define REG_WR_ADDR_gio_rw_pb_oe 40
205
206/* Register rw_pc_dout, scope gio, type rw */
207typedef struct {
208 unsigned int data : 18;
209 unsigned int dummy1 : 14;
210} reg_gio_rw_pc_dout;
211#define REG_RD_ADDR_gio_rw_pc_dout 48
212#define REG_WR_ADDR_gio_rw_pc_dout 48
213
214/* Register r_pc_din, scope gio, type r */
215typedef struct {
216 unsigned int data : 18;
217 unsigned int dummy1 : 14;
218} reg_gio_r_pc_din;
219#define REG_RD_ADDR_gio_r_pc_din 52
220
221/* Register rw_pc_oe, scope gio, type rw */
222typedef struct {
223 unsigned int oe : 18;
224 unsigned int dummy1 : 14;
225} reg_gio_rw_pc_oe;
226#define REG_RD_ADDR_gio_rw_pc_oe 56
227#define REG_WR_ADDR_gio_rw_pc_oe 56
228
229/* Register rw_pd_dout, scope gio, type rw */
230typedef struct {
231 unsigned int data : 18;
232 unsigned int dummy1 : 14;
233} reg_gio_rw_pd_dout;
234#define REG_RD_ADDR_gio_rw_pd_dout 64
235#define REG_WR_ADDR_gio_rw_pd_dout 64
236
237/* Register r_pd_din, scope gio, type r */
238typedef struct {
239 unsigned int data : 18;
240 unsigned int dummy1 : 14;
241} reg_gio_r_pd_din;
242#define REG_RD_ADDR_gio_r_pd_din 68
243
244/* Register rw_pd_oe, scope gio, type rw */
245typedef struct {
246 unsigned int oe : 18;
247 unsigned int dummy1 : 14;
248} reg_gio_rw_pd_oe;
249#define REG_RD_ADDR_gio_rw_pd_oe 72
250#define REG_WR_ADDR_gio_rw_pd_oe 72
251
252/* Register rw_pe_dout, scope gio, type rw */
253typedef struct {
254 unsigned int data : 18;
255 unsigned int dummy1 : 14;
256} reg_gio_rw_pe_dout;
257#define REG_RD_ADDR_gio_rw_pe_dout 80
258#define REG_WR_ADDR_gio_rw_pe_dout 80
259
260/* Register r_pe_din, scope gio, type r */
261typedef struct {
262 unsigned int data : 18;
263 unsigned int dummy1 : 14;
264} reg_gio_r_pe_din;
265#define REG_RD_ADDR_gio_r_pe_din 84
266
267/* Register rw_pe_oe, scope gio, type rw */
268typedef struct {
269 unsigned int oe : 18;
270 unsigned int dummy1 : 14;
271} reg_gio_rw_pe_oe;
272#define REG_RD_ADDR_gio_rw_pe_oe 88
273#define REG_WR_ADDR_gio_rw_pe_oe 88
274
275
276/* Constants */
277enum {
278 regk_gio_anyedge = 0x00000007,
279 regk_gio_hi = 0x00000001,
280 regk_gio_lo = 0x00000002,
281 regk_gio_negedge = 0x00000006,
282 regk_gio_no = 0x00000000,
283 regk_gio_off = 0x00000000,
284 regk_gio_posedge = 0x00000005,
285 regk_gio_rw_intr_cfg_default = 0x00000000,
286 regk_gio_rw_intr_mask_default = 0x00000000,
287 regk_gio_rw_pa_oe_default = 0x00000000,
288 regk_gio_rw_pb_oe_default = 0x00000000,
289 regk_gio_rw_pc_oe_default = 0x00000000,
290 regk_gio_rw_pd_oe_default = 0x00000000,
291 regk_gio_rw_pe_oe_default = 0x00000000,
292 regk_gio_set = 0x00000003,
293 regk_gio_yes = 0x00000001
294};
295#endif /* __gio_defs_h */
diff --git a/include/asm-cris/arch-v32/hwregs/intr_vect.h b/include/asm-cris/arch-v32/hwregs/intr_vect.h
deleted file mode 100644
index 5c1b28fb205d..000000000000
--- a/include/asm-cris/arch-v32/hwregs/intr_vect.h
+++ /dev/null
@@ -1,39 +0,0 @@
1/* Interrupt vector numbers autogenerated by /n/asic/design/tools/rdesc/src/rdes2intr version
2 from ../../inst/intr_vect/rtl/guinness/ivmask.config.r
3version . */
4
5#ifndef _______INST_INTR_VECT_RTL_GUINNESS_IVMASK_CONFIG_R
6#define _______INST_INTR_VECT_RTL_GUINNESS_IVMASK_CONFIG_R
7#define MEMARB_INTR_VECT 0x31
8#define GEN_IO_INTR_VECT 0x32
9#define IOP0_INTR_VECT 0x33
10#define IOP1_INTR_VECT 0x34
11#define IOP2_INTR_VECT 0x35
12#define IOP3_INTR_VECT 0x36
13#define DMA0_INTR_VECT 0x37
14#define DMA1_INTR_VECT 0x38
15#define DMA2_INTR_VECT 0x39
16#define DMA3_INTR_VECT 0x3a
17#define DMA4_INTR_VECT 0x3b
18#define DMA5_INTR_VECT 0x3c
19#define DMA6_INTR_VECT 0x3d
20#define DMA7_INTR_VECT 0x3e
21#define DMA8_INTR_VECT 0x3f
22#define DMA9_INTR_VECT 0x40
23#define ATA_INTR_VECT 0x41
24#define SSER0_INTR_VECT 0x42
25#define SSER1_INTR_VECT 0x43
26#define SER0_INTR_VECT 0x44
27#define SER1_INTR_VECT 0x45
28#define SER2_INTR_VECT 0x46
29#define SER3_INTR_VECT 0x47
30#define P21_INTR_VECT 0x48
31#define ETH0_INTR_VECT 0x49
32#define ETH1_INTR_VECT 0x4a
33#define TIMER_INTR_VECT 0x4b
34#define BIF_ARB_INTR_VECT 0x4c
35#define BIF_DMA_INTR_VECT 0x4d
36#define EXT_INTR_VECT 0x4e
37#define IPI_INTR_VECT 0x4f
38
39#endif
diff --git a/include/asm-cris/arch-v32/hwregs/pinmux_defs.h b/include/asm-cris/arch-v32/hwregs/pinmux_defs.h
deleted file mode 100644
index 9d91c2de1b07..000000000000
--- a/include/asm-cris/arch-v32/hwregs/pinmux_defs.h
+++ /dev/null
@@ -1,357 +0,0 @@
1#ifndef __pinmux_defs_h
2#define __pinmux_defs_h
3
4/*
5 * This file is autogenerated from
6 * file: ../../inst/pinmux/rtl/guinness/pinmux_regs.r
7 * id: pinmux_regs.r,v 1.40 2005/02/09 16:22:59 perz Exp
8 * last modfied: Mon Apr 11 16:09:11 2005
9 *
10 * by /n/asic/design/tools/rdesc/src/rdes2c --outfile pinmux_defs.h ../../inst/pinmux/rtl/guinness/pinmux_regs.r
11 * id: $Id: pinmux_defs.h,v 1.3 2005/04/24 18:30:58 starvik Exp $
12 * Any changes here will be lost.
13 *
14 * -*- buffer-read-only: t -*-
15 */
16/* Main access macros */
17#ifndef REG_RD
18#define REG_RD( scope, inst, reg ) \
19 REG_READ( reg_##scope##_##reg, \
20 (inst) + REG_RD_ADDR_##scope##_##reg )
21#endif
22
23#ifndef REG_WR
24#define REG_WR( scope, inst, reg, val ) \
25 REG_WRITE( reg_##scope##_##reg, \
26 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
27#endif
28
29#ifndef REG_RD_VECT
30#define REG_RD_VECT( scope, inst, reg, index ) \
31 REG_READ( reg_##scope##_##reg, \
32 (inst) + REG_RD_ADDR_##scope##_##reg + \
33 (index) * STRIDE_##scope##_##reg )
34#endif
35
36#ifndef REG_WR_VECT
37#define REG_WR_VECT( scope, inst, reg, index, val ) \
38 REG_WRITE( reg_##scope##_##reg, \
39 (inst) + REG_WR_ADDR_##scope##_##reg + \
40 (index) * STRIDE_##scope##_##reg, (val) )
41#endif
42
43#ifndef REG_RD_INT
44#define REG_RD_INT( scope, inst, reg ) \
45 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
46#endif
47
48#ifndef REG_WR_INT
49#define REG_WR_INT( scope, inst, reg, val ) \
50 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
51#endif
52
53#ifndef REG_RD_INT_VECT
54#define REG_RD_INT_VECT( scope, inst, reg, index ) \
55 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
56 (index) * STRIDE_##scope##_##reg )
57#endif
58
59#ifndef REG_WR_INT_VECT
60#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
61 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
62 (index) * STRIDE_##scope##_##reg, (val) )
63#endif
64
65#ifndef REG_TYPE_CONV
66#define REG_TYPE_CONV( type, orgtype, val ) \
67 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
68#endif
69
70#ifndef reg_page_size
71#define reg_page_size 8192
72#endif
73
74#ifndef REG_ADDR
75#define REG_ADDR( scope, inst, reg ) \
76 ( (inst) + REG_RD_ADDR_##scope##_##reg )
77#endif
78
79#ifndef REG_ADDR_VECT
80#define REG_ADDR_VECT( scope, inst, reg, index ) \
81 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
82 (index) * STRIDE_##scope##_##reg )
83#endif
84
85/* C-code for register scope pinmux */
86
87/* Register rw_pa, scope pinmux, type rw */
88typedef struct {
89 unsigned int pa0 : 1;
90 unsigned int pa1 : 1;
91 unsigned int pa2 : 1;
92 unsigned int pa3 : 1;
93 unsigned int pa4 : 1;
94 unsigned int pa5 : 1;
95 unsigned int pa6 : 1;
96 unsigned int pa7 : 1;
97 unsigned int csp2_n : 1;
98 unsigned int csp3_n : 1;
99 unsigned int csp5_n : 1;
100 unsigned int csp6_n : 1;
101 unsigned int hsh4 : 1;
102 unsigned int hsh5 : 1;
103 unsigned int hsh6 : 1;
104 unsigned int hsh7 : 1;
105 unsigned int dummy1 : 16;
106} reg_pinmux_rw_pa;
107#define REG_RD_ADDR_pinmux_rw_pa 0
108#define REG_WR_ADDR_pinmux_rw_pa 0
109
110/* Register rw_hwprot, scope pinmux, type rw */
111typedef struct {
112 unsigned int ser1 : 1;
113 unsigned int ser2 : 1;
114 unsigned int ser3 : 1;
115 unsigned int sser0 : 1;
116 unsigned int sser1 : 1;
117 unsigned int ata0 : 1;
118 unsigned int ata1 : 1;
119 unsigned int ata2 : 1;
120 unsigned int ata3 : 1;
121 unsigned int ata : 1;
122 unsigned int eth1 : 1;
123 unsigned int eth1_mgm : 1;
124 unsigned int timer : 1;
125 unsigned int p21 : 1;
126 unsigned int dummy1 : 18;
127} reg_pinmux_rw_hwprot;
128#define REG_RD_ADDR_pinmux_rw_hwprot 4
129#define REG_WR_ADDR_pinmux_rw_hwprot 4
130
131/* Register rw_pb_gio, scope pinmux, type rw */
132typedef struct {
133 unsigned int pb0 : 1;
134 unsigned int pb1 : 1;
135 unsigned int pb2 : 1;
136 unsigned int pb3 : 1;
137 unsigned int pb4 : 1;
138 unsigned int pb5 : 1;
139 unsigned int pb6 : 1;
140 unsigned int pb7 : 1;
141 unsigned int pb8 : 1;
142 unsigned int pb9 : 1;
143 unsigned int pb10 : 1;
144 unsigned int pb11 : 1;
145 unsigned int pb12 : 1;
146 unsigned int pb13 : 1;
147 unsigned int pb14 : 1;
148 unsigned int pb15 : 1;
149 unsigned int pb16 : 1;
150 unsigned int pb17 : 1;
151 unsigned int dummy1 : 14;
152} reg_pinmux_rw_pb_gio;
153#define REG_RD_ADDR_pinmux_rw_pb_gio 8
154#define REG_WR_ADDR_pinmux_rw_pb_gio 8
155
156/* Register rw_pb_iop, scope pinmux, type rw */
157typedef struct {
158 unsigned int pb0 : 1;
159 unsigned int pb1 : 1;
160 unsigned int pb2 : 1;
161 unsigned int pb3 : 1;
162 unsigned int pb4 : 1;
163 unsigned int pb5 : 1;
164 unsigned int pb6 : 1;
165 unsigned int pb7 : 1;
166 unsigned int pb8 : 1;
167 unsigned int pb9 : 1;
168 unsigned int pb10 : 1;
169 unsigned int pb11 : 1;
170 unsigned int pb12 : 1;
171 unsigned int pb13 : 1;
172 unsigned int pb14 : 1;
173 unsigned int pb15 : 1;
174 unsigned int pb16 : 1;
175 unsigned int pb17 : 1;
176 unsigned int dummy1 : 14;
177} reg_pinmux_rw_pb_iop;
178#define REG_RD_ADDR_pinmux_rw_pb_iop 12
179#define REG_WR_ADDR_pinmux_rw_pb_iop 12
180
181/* Register rw_pc_gio, scope pinmux, type rw */
182typedef struct {
183 unsigned int pc0 : 1;
184 unsigned int pc1 : 1;
185 unsigned int pc2 : 1;
186 unsigned int pc3 : 1;
187 unsigned int pc4 : 1;
188 unsigned int pc5 : 1;
189 unsigned int pc6 : 1;
190 unsigned int pc7 : 1;
191 unsigned int pc8 : 1;
192 unsigned int pc9 : 1;
193 unsigned int pc10 : 1;
194 unsigned int pc11 : 1;
195 unsigned int pc12 : 1;
196 unsigned int pc13 : 1;
197 unsigned int pc14 : 1;
198 unsigned int pc15 : 1;
199 unsigned int pc16 : 1;
200 unsigned int pc17 : 1;
201 unsigned int dummy1 : 14;
202} reg_pinmux_rw_pc_gio;
203#define REG_RD_ADDR_pinmux_rw_pc_gio 16
204#define REG_WR_ADDR_pinmux_rw_pc_gio 16
205
206/* Register rw_pc_iop, scope pinmux, type rw */
207typedef struct {
208 unsigned int pc0 : 1;
209 unsigned int pc1 : 1;
210 unsigned int pc2 : 1;
211 unsigned int pc3 : 1;
212 unsigned int pc4 : 1;
213 unsigned int pc5 : 1;
214 unsigned int pc6 : 1;
215 unsigned int pc7 : 1;
216 unsigned int pc8 : 1;
217 unsigned int pc9 : 1;
218 unsigned int pc10 : 1;
219 unsigned int pc11 : 1;
220 unsigned int pc12 : 1;
221 unsigned int pc13 : 1;
222 unsigned int pc14 : 1;
223 unsigned int pc15 : 1;
224 unsigned int pc16 : 1;
225 unsigned int pc17 : 1;
226 unsigned int dummy1 : 14;
227} reg_pinmux_rw_pc_iop;
228#define REG_RD_ADDR_pinmux_rw_pc_iop 20
229#define REG_WR_ADDR_pinmux_rw_pc_iop 20
230
231/* Register rw_pd_gio, scope pinmux, type rw */
232typedef struct {
233 unsigned int pd0 : 1;
234 unsigned int pd1 : 1;
235 unsigned int pd2 : 1;
236 unsigned int pd3 : 1;
237 unsigned int pd4 : 1;
238 unsigned int pd5 : 1;
239 unsigned int pd6 : 1;
240 unsigned int pd7 : 1;
241 unsigned int pd8 : 1;
242 unsigned int pd9 : 1;
243 unsigned int pd10 : 1;
244 unsigned int pd11 : 1;
245 unsigned int pd12 : 1;
246 unsigned int pd13 : 1;
247 unsigned int pd14 : 1;
248 unsigned int pd15 : 1;
249 unsigned int pd16 : 1;
250 unsigned int pd17 : 1;
251 unsigned int dummy1 : 14;
252} reg_pinmux_rw_pd_gio;
253#define REG_RD_ADDR_pinmux_rw_pd_gio 24
254#define REG_WR_ADDR_pinmux_rw_pd_gio 24
255
256/* Register rw_pd_iop, scope pinmux, type rw */
257typedef struct {
258 unsigned int pd0 : 1;
259 unsigned int pd1 : 1;
260 unsigned int pd2 : 1;
261 unsigned int pd3 : 1;
262 unsigned int pd4 : 1;
263 unsigned int pd5 : 1;
264 unsigned int pd6 : 1;
265 unsigned int pd7 : 1;
266 unsigned int pd8 : 1;
267 unsigned int pd9 : 1;
268 unsigned int pd10 : 1;
269 unsigned int pd11 : 1;
270 unsigned int pd12 : 1;
271 unsigned int pd13 : 1;
272 unsigned int pd14 : 1;
273 unsigned int pd15 : 1;
274 unsigned int pd16 : 1;
275 unsigned int pd17 : 1;
276 unsigned int dummy1 : 14;
277} reg_pinmux_rw_pd_iop;
278#define REG_RD_ADDR_pinmux_rw_pd_iop 28
279#define REG_WR_ADDR_pinmux_rw_pd_iop 28
280
281/* Register rw_pe_gio, scope pinmux, type rw */
282typedef struct {
283 unsigned int pe0 : 1;
284 unsigned int pe1 : 1;
285 unsigned int pe2 : 1;
286 unsigned int pe3 : 1;
287 unsigned int pe4 : 1;
288 unsigned int pe5 : 1;
289 unsigned int pe6 : 1;
290 unsigned int pe7 : 1;
291 unsigned int pe8 : 1;
292 unsigned int pe9 : 1;
293 unsigned int pe10 : 1;
294 unsigned int pe11 : 1;
295 unsigned int pe12 : 1;
296 unsigned int pe13 : 1;
297 unsigned int pe14 : 1;
298 unsigned int pe15 : 1;
299 unsigned int pe16 : 1;
300 unsigned int pe17 : 1;
301 unsigned int dummy1 : 14;
302} reg_pinmux_rw_pe_gio;
303#define REG_RD_ADDR_pinmux_rw_pe_gio 32
304#define REG_WR_ADDR_pinmux_rw_pe_gio 32
305
306/* Register rw_pe_iop, scope pinmux, type rw */
307typedef struct {
308 unsigned int pe0 : 1;
309 unsigned int pe1 : 1;
310 unsigned int pe2 : 1;
311 unsigned int pe3 : 1;
312 unsigned int pe4 : 1;
313 unsigned int pe5 : 1;
314 unsigned int pe6 : 1;
315 unsigned int pe7 : 1;
316 unsigned int pe8 : 1;
317 unsigned int pe9 : 1;
318 unsigned int pe10 : 1;
319 unsigned int pe11 : 1;
320 unsigned int pe12 : 1;
321 unsigned int pe13 : 1;
322 unsigned int pe14 : 1;
323 unsigned int pe15 : 1;
324 unsigned int pe16 : 1;
325 unsigned int pe17 : 1;
326 unsigned int dummy1 : 14;
327} reg_pinmux_rw_pe_iop;
328#define REG_RD_ADDR_pinmux_rw_pe_iop 36
329#define REG_WR_ADDR_pinmux_rw_pe_iop 36
330
331/* Register rw_usb_phy, scope pinmux, type rw */
332typedef struct {
333 unsigned int en_usb0 : 1;
334 unsigned int en_usb1 : 1;
335 unsigned int dummy1 : 30;
336} reg_pinmux_rw_usb_phy;
337#define REG_RD_ADDR_pinmux_rw_usb_phy 40
338#define REG_WR_ADDR_pinmux_rw_usb_phy 40
339
340
341/* Constants */
342enum {
343 regk_pinmux_no = 0x00000000,
344 regk_pinmux_rw_hwprot_default = 0x00000000,
345 regk_pinmux_rw_pa_default = 0x00000000,
346 regk_pinmux_rw_pb_gio_default = 0x00000000,
347 regk_pinmux_rw_pb_iop_default = 0x00000000,
348 regk_pinmux_rw_pc_gio_default = 0x00000000,
349 regk_pinmux_rw_pc_iop_default = 0x00000000,
350 regk_pinmux_rw_pd_gio_default = 0x00000000,
351 regk_pinmux_rw_pd_iop_default = 0x00000000,
352 regk_pinmux_rw_pe_gio_default = 0x00000000,
353 regk_pinmux_rw_pe_iop_default = 0x00000000,
354 regk_pinmux_rw_usb_phy_default = 0x00000000,
355 regk_pinmux_yes = 0x00000001
356};
357#endif /* __pinmux_defs_h */
diff --git a/include/asm-cris/arch-v32/hwregs/strmux_defs.h b/include/asm-cris/arch-v32/hwregs/strmux_defs.h
deleted file mode 100644
index 67474855c499..000000000000
--- a/include/asm-cris/arch-v32/hwregs/strmux_defs.h
+++ /dev/null
@@ -1,127 +0,0 @@
1#ifndef __strmux_defs_h
2#define __strmux_defs_h
3
4/*
5 * This file is autogenerated from
6 * file: ../../inst/strmux/rtl/guinness/strmux_regs.r
7 * id: strmux_regs.r,v 1.10 2005/02/10 10:10:46 perz Exp
8 * last modfied: Mon Apr 11 16:09:43 2005
9 *
10 * by /n/asic/design/tools/rdesc/src/rdes2c --outfile strmux_defs.h ../../inst/strmux/rtl/guinness/strmux_regs.r
11 * id: $Id: strmux_defs.h,v 1.5 2005/04/24 18:30:58 starvik Exp $
12 * Any changes here will be lost.
13 *
14 * -*- buffer-read-only: t -*-
15 */
16/* Main access macros */
17#ifndef REG_RD
18#define REG_RD( scope, inst, reg ) \
19 REG_READ( reg_##scope##_##reg, \
20 (inst) + REG_RD_ADDR_##scope##_##reg )
21#endif
22
23#ifndef REG_WR
24#define REG_WR( scope, inst, reg, val ) \
25 REG_WRITE( reg_##scope##_##reg, \
26 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
27#endif
28
29#ifndef REG_RD_VECT
30#define REG_RD_VECT( scope, inst, reg, index ) \
31 REG_READ( reg_##scope##_##reg, \
32 (inst) + REG_RD_ADDR_##scope##_##reg + \
33 (index) * STRIDE_##scope##_##reg )
34#endif
35
36#ifndef REG_WR_VECT
37#define REG_WR_VECT( scope, inst, reg, index, val ) \
38 REG_WRITE( reg_##scope##_##reg, \
39 (inst) + REG_WR_ADDR_##scope##_##reg + \
40 (index) * STRIDE_##scope##_##reg, (val) )
41#endif
42
43#ifndef REG_RD_INT
44#define REG_RD_INT( scope, inst, reg ) \
45 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
46#endif
47
48#ifndef REG_WR_INT
49#define REG_WR_INT( scope, inst, reg, val ) \
50 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
51#endif
52
53#ifndef REG_RD_INT_VECT
54#define REG_RD_INT_VECT( scope, inst, reg, index ) \
55 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
56 (index) * STRIDE_##scope##_##reg )
57#endif
58
59#ifndef REG_WR_INT_VECT
60#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
61 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
62 (index) * STRIDE_##scope##_##reg, (val) )
63#endif
64
65#ifndef REG_TYPE_CONV
66#define REG_TYPE_CONV( type, orgtype, val ) \
67 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
68#endif
69
70#ifndef reg_page_size
71#define reg_page_size 8192
72#endif
73
74#ifndef REG_ADDR
75#define REG_ADDR( scope, inst, reg ) \
76 ( (inst) + REG_RD_ADDR_##scope##_##reg )
77#endif
78
79#ifndef REG_ADDR_VECT
80#define REG_ADDR_VECT( scope, inst, reg, index ) \
81 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
82 (index) * STRIDE_##scope##_##reg )
83#endif
84
85/* C-code for register scope strmux */
86
87/* Register rw_cfg, scope strmux, type rw */
88typedef struct {
89 unsigned int dma0 : 3;
90 unsigned int dma1 : 3;
91 unsigned int dma2 : 3;
92 unsigned int dma3 : 3;
93 unsigned int dma4 : 3;
94 unsigned int dma5 : 3;
95 unsigned int dma6 : 3;
96 unsigned int dma7 : 3;
97 unsigned int dma8 : 3;
98 unsigned int dma9 : 3;
99 unsigned int dummy1 : 2;
100} reg_strmux_rw_cfg;
101#define REG_RD_ADDR_strmux_rw_cfg 0
102#define REG_WR_ADDR_strmux_rw_cfg 0
103
104
105/* Constants */
106enum {
107 regk_strmux_ata = 0x00000003,
108 regk_strmux_eth0 = 0x00000001,
109 regk_strmux_eth1 = 0x00000004,
110 regk_strmux_ext0 = 0x00000001,
111 regk_strmux_ext1 = 0x00000001,
112 regk_strmux_ext2 = 0x00000001,
113 regk_strmux_ext3 = 0x00000001,
114 regk_strmux_iop0 = 0x00000002,
115 regk_strmux_iop1 = 0x00000001,
116 regk_strmux_off = 0x00000000,
117 regk_strmux_p21 = 0x00000004,
118 regk_strmux_rw_cfg_default = 0x00000000,
119 regk_strmux_ser0 = 0x00000002,
120 regk_strmux_ser1 = 0x00000002,
121 regk_strmux_ser2 = 0x00000004,
122 regk_strmux_ser3 = 0x00000003,
123 regk_strmux_sser0 = 0x00000003,
124 regk_strmux_sser1 = 0x00000003,
125 regk_strmux_strcop = 0x00000002
126};
127#endif /* __strmux_defs_h */
diff --git a/include/asm-cris/arch-v32/pinmux.h b/include/asm-cris/arch-v32/pinmux.h
deleted file mode 100644
index bb09bce42e7a..000000000000
--- a/include/asm-cris/arch-v32/pinmux.h
+++ /dev/null
@@ -1,40 +0,0 @@
1#ifndef _ASM_CRIS_ARCH_PINMUX_H
2#define _ASM_CRIS_ARCH_PINMUX_H
3
4#define PORT_B 0
5#define PORT_C 1
6#define PORT_D 2
7#define PORT_E 3
8
9enum pin_mode
10{
11 pinmux_none = 0,
12 pinmux_fixed,
13 pinmux_gpio,
14 pinmux_iop
15};
16
17enum fixed_function
18{
19 pinmux_ser1,
20 pinmux_ser2,
21 pinmux_ser3,
22 pinmux_sser0,
23 pinmux_sser1,
24 pinmux_ata0,
25 pinmux_ata1,
26 pinmux_ata2,
27 pinmux_ata3,
28 pinmux_ata,
29 pinmux_eth1,
30 pinmux_timer
31};
32
33int crisv32_pinmux_init(void);
34int crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode);
35int crisv32_pinmux_alloc_fixed(enum fixed_function function);
36int crisv32_pinmux_dealloc(int port, int first_pin, int last_pin);
37int crisv32_pinmux_dealloc_fixed(enum fixed_function function);
38void crisv32_pinmux_dump(void);
39
40#endif
diff --git a/include/asm-cris/spinlock.h b/include/asm-cris/spinlock.h
deleted file mode 100644
index 2e8ba8afc7af..000000000000
--- a/include/asm-cris/spinlock.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm/arch/spinlock.h>
diff --git a/include/asm-generic/kdebug.h b/include/asm-generic/kdebug.h
index 2b799c90b2d4..11e57b6a85fc 100644
--- a/include/asm-generic/kdebug.h
+++ b/include/asm-generic/kdebug.h
@@ -3,6 +3,7 @@
3 3
4enum die_val { 4enum die_val {
5 DIE_UNUSED, 5 DIE_UNUSED,
6 DIE_OOPS=1
6}; 7};
7 8
8#endif /* _ASM_GENERIC_KDEBUG_H */ 9#endif /* _ASM_GENERIC_KDEBUG_H */
diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h
index ae060c62aff1..18546d8eb78e 100644
--- a/include/asm-generic/memory_model.h
+++ b/include/asm-generic/memory_model.h
@@ -34,7 +34,7 @@
34 34
35#define __pfn_to_page(pfn) \ 35#define __pfn_to_page(pfn) \
36({ unsigned long __pfn = (pfn); \ 36({ unsigned long __pfn = (pfn); \
37 unsigned long __nid = arch_pfn_to_nid(pfn); \ 37 unsigned long __nid = arch_pfn_to_nid(__pfn); \
38 NODE_DATA(__nid)->node_mem_map + arch_local_page_offset(__pfn, __nid);\ 38 NODE_DATA(__nid)->node_mem_map + arch_local_page_offset(__pfn, __nid);\
39}) 39})
40 40
diff --git a/include/asm-x86/iomap.h b/include/asm-x86/iomap.h
new file mode 100644
index 000000000000..c1f06289b14b
--- /dev/null
+++ b/include/asm-x86/iomap.h
@@ -0,0 +1,30 @@
1/*
2 * Copyright © 2008 Ingo Molnar
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 as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 */
18
19#include <linux/fs.h>
20#include <linux/mm.h>
21#include <linux/uaccess.h>
22#include <asm/cacheflush.h>
23#include <asm/pgtable.h>
24#include <asm/tlbflush.h>
25
26void *
27iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot);
28
29void
30iounmap_atomic(void *kvaddr, enum km_type type);
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 59c796b46ee7..28c7f1679d49 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -861,8 +861,6 @@ struct drm_device {
861 struct timer_list vblank_disable_timer; 861 struct timer_list vblank_disable_timer;
862 862
863 u32 max_vblank_count; /**< size of vblank counter register */ 863 u32 max_vblank_count; /**< size of vblank counter register */
864 spinlock_t tasklet_lock; /**< For drm_locked_tasklet */
865 void (*locked_tasklet_func)(struct drm_device *dev);
866 864
867 /*@} */ 865 /*@} */
868 cycles_t ctx_start; 866 cycles_t ctx_start;
@@ -1149,8 +1147,6 @@ extern int drm_vblank_init(struct drm_device *dev, int num_crtcs);
1149extern int drm_wait_vblank(struct drm_device *dev, void *data, 1147extern int drm_wait_vblank(struct drm_device *dev, void *data,
1150 struct drm_file *filp); 1148 struct drm_file *filp);
1151extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq); 1149extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq);
1152extern void drm_locked_tasklet(struct drm_device *dev,
1153 void(*func)(struct drm_device *));
1154extern u32 drm_vblank_count(struct drm_device *dev, int crtc); 1150extern u32 drm_vblank_count(struct drm_device *dev, int crtc);
1155extern void drm_handle_vblank(struct drm_device *dev, int crtc); 1151extern void drm_handle_vblank(struct drm_device *dev, int crtc);
1156extern int drm_vblank_get(struct drm_device *dev, int crtc); 1152extern int drm_vblank_get(struct drm_device *dev, int crtc);
@@ -1158,7 +1154,6 @@ extern void drm_vblank_put(struct drm_device *dev, int crtc);
1158/* Modesetting support */ 1154/* Modesetting support */
1159extern int drm_modeset_ctl(struct drm_device *dev, void *data, 1155extern int drm_modeset_ctl(struct drm_device *dev, void *data,
1160 struct drm_file *file_priv); 1156 struct drm_file *file_priv);
1161extern void drm_locked_tasklet(struct drm_device *dev, void(*func)(struct drm_device*));
1162 1157
1163 /* AGP/GART support (drm_agpsupport.h) */ 1158 /* AGP/GART support (drm_agpsupport.h) */
1164extern struct drm_agp_head *drm_agp_init(struct drm_device *dev); 1159extern struct drm_agp_head *drm_agp_init(struct drm_device *dev);
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
index da04109741e8..5165f240aa68 100644
--- a/include/drm/drm_pciids.h
+++ b/include/drm/drm_pciids.h
@@ -395,27 +395,27 @@
395 {0, 0, 0} 395 {0, 0, 0}
396 396
397#define i915_PCI_IDS \ 397#define i915_PCI_IDS \
398 {0x8086, 0x3577, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 398 {0x8086, 0x3577, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
399 {0x8086, 0x2562, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 399 {0x8086, 0x2562, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
400 {0x8086, 0x3582, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 400 {0x8086, 0x3582, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
401 {0x8086, 0x2572, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 401 {0x8086, 0x2572, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
402 {0x8086, 0x2582, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 402 {0x8086, 0x2582, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
403 {0x8086, 0x258a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 403 {0x8086, 0x258a, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
404 {0x8086, 0x2592, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 404 {0x8086, 0x2592, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
405 {0x8086, 0x2772, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 405 {0x8086, 0x2772, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
406 {0x8086, 0x27a2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 406 {0x8086, 0x27a2, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
407 {0x8086, 0x27ae, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 407 {0x8086, 0x27ae, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
408 {0x8086, 0x2972, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 408 {0x8086, 0x2972, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
409 {0x8086, 0x2982, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 409 {0x8086, 0x2982, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
410 {0x8086, 0x2992, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 410 {0x8086, 0x2992, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
411 {0x8086, 0x29a2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 411 {0x8086, 0x29a2, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
412 {0x8086, 0x29b2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 412 {0x8086, 0x29b2, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
413 {0x8086, 0x29c2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 413 {0x8086, 0x29c2, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
414 {0x8086, 0x29d2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 414 {0x8086, 0x29d2, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
415 {0x8086, 0x2a02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 415 {0x8086, 0x2a02, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
416 {0x8086, 0x2a12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 416 {0x8086, 0x2a12, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
417 {0x8086, 0x2a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 417 {0x8086, 0x2a42, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
418 {0x8086, 0x2e02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 418 {0x8086, 0x2e02, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
419 {0x8086, 0x2e12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 419 {0x8086, 0x2e12, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
420 {0x8086, 0x2e22, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \ 420 {0x8086, 0x2e22, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0}, \
421 {0, 0, 0} 421 {0, 0, 0}
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
index eb4b35031a55..152b34da927c 100644
--- a/include/drm/i915_drm.h
+++ b/include/drm/i915_drm.h
@@ -159,6 +159,7 @@ typedef struct _drm_i915_sarea {
159#define DRM_I915_GEM_SW_FINISH 0x20 159#define DRM_I915_GEM_SW_FINISH 0x20
160#define DRM_I915_GEM_SET_TILING 0x21 160#define DRM_I915_GEM_SET_TILING 0x21
161#define DRM_I915_GEM_GET_TILING 0x22 161#define DRM_I915_GEM_GET_TILING 0x22
162#define DRM_I915_GEM_GET_APERTURE 0x23
162 163
163#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) 164#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
164#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) 165#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -190,6 +191,7 @@ typedef struct _drm_i915_sarea {
190#define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish) 191#define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish)
191#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) 192#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling)
192#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) 193#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling)
194#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture)
193 195
194/* Allow drivers to submit batchbuffers directly to hardware, relying 196/* Allow drivers to submit batchbuffers directly to hardware, relying
195 * on the security mechanisms provided by hardware. 197 * on the security mechanisms provided by hardware.
@@ -600,4 +602,15 @@ struct drm_i915_gem_get_tiling {
600 uint32_t swizzle_mode; 602 uint32_t swizzle_mode;
601}; 603};
602 604
605struct drm_i915_gem_get_aperture {
606 /** Total size of the aperture used by i915_gem_execbuffer, in bytes */
607 uint64_t aper_size;
608
609 /**
610 * Available space in the aperture used by i915_gem_execbuffer, in
611 * bytes
612 */
613 uint64_t aper_available_size;
614};
615
603#endif /* _I915_DRM_H_ */ 616#endif /* _I915_DRM_H_ */
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 1c91a176b9ae..6a642098e5c3 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -236,12 +236,16 @@ static inline void *bio_data(struct bio *bio)
236#define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1) 236#define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1)
237#define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx) 237#define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx)
238 238
239/* Default implementation of BIOVEC_PHYS_MERGEABLE */
240#define __BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
241 ((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2)))
242
239/* 243/*
240 * allow arch override, for eg virtualized architectures (put in asm/io.h) 244 * allow arch override, for eg virtualized architectures (put in asm/io.h)
241 */ 245 */
242#ifndef BIOVEC_PHYS_MERGEABLE 246#ifndef BIOVEC_PHYS_MERGEABLE
243#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ 247#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
244 ((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2))) 248 __BIOVEC_PHYS_MERGEABLE(vec1, vec2)
245#endif 249#endif
246 250
247#define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \ 251#define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 8b00f6643e93..1164963c3a85 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -25,7 +25,6 @@ struct cgroup;
25 25
26extern int cgroup_init_early(void); 26extern int cgroup_init_early(void);
27extern int cgroup_init(void); 27extern int cgroup_init(void);
28extern void cgroup_init_smp(void);
29extern void cgroup_lock(void); 28extern void cgroup_lock(void);
30extern bool cgroup_lock_live_group(struct cgroup *cgrp); 29extern bool cgroup_lock_live_group(struct cgroup *cgrp);
31extern void cgroup_unlock(void); 30extern void cgroup_unlock(void);
@@ -348,8 +347,6 @@ struct cgroup_subsys {
348 struct cgroupfs_root *root; 347 struct cgroupfs_root *root;
349 348
350 struct list_head sibling; 349 struct list_head sibling;
351
352 void *private;
353}; 350};
354 351
355#define SUBSYS(_x) extern struct cgroup_subsys _x ## _subsys; 352#define SUBSYS(_x) extern struct cgroup_subsys _x ## _subsys;
@@ -410,7 +407,6 @@ void cgroup_mm_owner_callbacks(struct task_struct *old,
410 407
411static inline int cgroup_init_early(void) { return 0; } 408static inline int cgroup_init_early(void) { return 0; }
412static inline int cgroup_init(void) { return 0; } 409static inline int cgroup_init(void) { return 0; }
413static inline void cgroup_init_smp(void) {}
414static inline void cgroup_fork(struct task_struct *p) {} 410static inline void cgroup_fork(struct task_struct *p) {}
415static inline void cgroup_fork_callbacks(struct task_struct *p) {} 411static inline void cgroup_fork_callbacks(struct task_struct *p) {}
416static inline void cgroup_post_fork(struct task_struct *p) {} 412static inline void cgroup_post_fork(struct task_struct *p) {}
diff --git a/include/linux/cnt32_to_63.h b/include/linux/cnt32_to_63.h
index 8c0f9505b48c..7605fdd1eb65 100644
--- a/include/linux/cnt32_to_63.h
+++ b/include/linux/cnt32_to_63.h
@@ -16,6 +16,7 @@
16#include <linux/compiler.h> 16#include <linux/compiler.h>
17#include <linux/types.h> 17#include <linux/types.h>
18#include <asm/byteorder.h> 18#include <asm/byteorder.h>
19#include <asm/system.h>
19 20
20/* this is used only to give gcc a clue about good code generation */ 21/* this is used only to give gcc a clue about good code generation */
21union cnt32_to_63 { 22union cnt32_to_63 {
@@ -53,11 +54,19 @@ union cnt32_to_63 {
53 * needed increment. And any race in updating the value in memory is harmless 54 * needed increment. And any race in updating the value in memory is harmless
54 * as the same value would simply be stored more than once. 55 * as the same value would simply be stored more than once.
55 * 56 *
56 * The only restriction for the algorithm to work properly is that this 57 * The restrictions for the algorithm to work properly are:
57 * code must be executed at least once per each half period of the 32-bit 58 *
58 * counter to properly update the state bit in memory. This is usually not a 59 * 1) this code must be called at least once per each half period of the
59 * problem in practice, but if it is then a kernel timer could be scheduled 60 * 32-bit counter;
60 * to manage for this code to be executed often enough. 61 *
62 * 2) this code must not be preempted for a duration longer than the
63 * 32-bit counter half period minus the longest period between two
64 * calls to this code.
65 *
66 * Those requirements ensure proper update to the state bit in memory.
67 * This is usually not a problem in practice, but if it is then a kernel
68 * timer should be scheduled to manage for this code to be executed often
69 * enough.
61 * 70 *
62 * Note that the top bit (bit 63) in the returned value should be considered 71 * Note that the top bit (bit 63) in the returned value should be considered
63 * as garbage. It is not cleared here because callers are likely to use a 72 * as garbage. It is not cleared here because callers are likely to use a
@@ -68,9 +77,10 @@ union cnt32_to_63 {
68 */ 77 */
69#define cnt32_to_63(cnt_lo) \ 78#define cnt32_to_63(cnt_lo) \
70({ \ 79({ \
71 static volatile u32 __m_cnt_hi; \ 80 static u32 __m_cnt_hi; \
72 union cnt32_to_63 __x; \ 81 union cnt32_to_63 __x; \
73 __x.hi = __m_cnt_hi; \ 82 __x.hi = __m_cnt_hi; \
83 smp_rmb(); \
74 __x.lo = (cnt_lo); \ 84 __x.lo = (cnt_lo); \
75 if (unlikely((s32)(__x.hi ^ __x.lo) < 0)) \ 85 if (unlikely((s32)(__x.hi ^ __x.lo) < 0)) \
76 __m_cnt_hi = __x.hi = (__x.hi ^ 0x80000000) + (__x.hi >> 31); \ 86 __m_cnt_hi = __x.hi = (__x.hi ^ 0x80000000) + (__x.hi >> 31); \
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index d3219d73f8e6..21e1dd43e52a 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -5,6 +5,9 @@
5 * Cpumasks provide a bitmap suitable for representing the 5 * Cpumasks provide a bitmap suitable for representing the
6 * set of CPU's in a system, one bit position per CPU number. 6 * set of CPU's in a system, one bit position per CPU number.
7 * 7 *
8 * The new cpumask_ ops take a "struct cpumask *"; the old ones
9 * use cpumask_t.
10 *
8 * See detailed comments in the file linux/bitmap.h describing the 11 * See detailed comments in the file linux/bitmap.h describing the
9 * data type on which these cpumasks are based. 12 * data type on which these cpumasks are based.
10 * 13 *
@@ -31,7 +34,7 @@
31 * will span the entire range of NR_CPUS. 34 * will span the entire range of NR_CPUS.
32 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33 * 36 *
34 * The available cpumask operations are: 37 * The obsolescent cpumask operations are:
35 * 38 *
36 * void cpu_set(cpu, mask) turn on bit 'cpu' in mask 39 * void cpu_set(cpu, mask) turn on bit 'cpu' in mask
37 * void cpu_clear(cpu, mask) turn off bit 'cpu' in mask 40 * void cpu_clear(cpu, mask) turn off bit 'cpu' in mask
@@ -138,7 +141,7 @@
138#include <linux/threads.h> 141#include <linux/threads.h>
139#include <linux/bitmap.h> 142#include <linux/bitmap.h>
140 143
141typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t; 144typedef struct cpumask { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
142extern cpumask_t _unused_cpumask_arg_; 145extern cpumask_t _unused_cpumask_arg_;
143 146
144#define cpu_set(cpu, dst) __cpu_set((cpu), &(dst)) 147#define cpu_set(cpu, dst) __cpu_set((cpu), &(dst))
@@ -527,4 +530,556 @@ extern cpumask_t cpu_active_map;
527#define for_each_online_cpu(cpu) for_each_cpu_mask_nr((cpu), cpu_online_map) 530#define for_each_online_cpu(cpu) for_each_cpu_mask_nr((cpu), cpu_online_map)
528#define for_each_present_cpu(cpu) for_each_cpu_mask_nr((cpu), cpu_present_map) 531#define for_each_present_cpu(cpu) for_each_cpu_mask_nr((cpu), cpu_present_map)
529 532
533/* These are the new versions of the cpumask operators: passed by pointer.
534 * The older versions will be implemented in terms of these, then deleted. */
535#define cpumask_bits(maskp) ((maskp)->bits)
536
537#if NR_CPUS <= BITS_PER_LONG
538#define CPU_BITS_ALL \
539{ \
540 [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
541}
542
543/* This produces more efficient code. */
544#define nr_cpumask_bits NR_CPUS
545
546#else /* NR_CPUS > BITS_PER_LONG */
547
548#define CPU_BITS_ALL \
549{ \
550 [0 ... BITS_TO_LONGS(NR_CPUS)-2] = ~0UL, \
551 [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
552}
553
554#define nr_cpumask_bits nr_cpu_ids
555#endif /* NR_CPUS > BITS_PER_LONG */
556
557/* verify cpu argument to cpumask_* operators */
558static inline unsigned int cpumask_check(unsigned int cpu)
559{
560#ifdef CONFIG_DEBUG_PER_CPU_MAPS
561 WARN_ON_ONCE(cpu >= nr_cpumask_bits);
562#endif /* CONFIG_DEBUG_PER_CPU_MAPS */
563 return cpu;
564}
565
566#if NR_CPUS == 1
567/* Uniprocessor. Assume all masks are "1". */
568static inline unsigned int cpumask_first(const struct cpumask *srcp)
569{
570 return 0;
571}
572
573/* Valid inputs for n are -1 and 0. */
574static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
575{
576 return n+1;
577}
578
579static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
580{
581 return n+1;
582}
583
584static inline unsigned int cpumask_next_and(int n,
585 const struct cpumask *srcp,
586 const struct cpumask *andp)
587{
588 return n+1;
589}
590
591/* cpu must be a valid cpu, ie 0, so there's no other choice. */
592static inline unsigned int cpumask_any_but(const struct cpumask *mask,
593 unsigned int cpu)
594{
595 return 1;
596}
597
598#define for_each_cpu(cpu, mask) \
599 for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
600#define for_each_cpu_and(cpu, mask, and) \
601 for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask, (void)and)
602#else
603/**
604 * cpumask_first - get the first cpu in a cpumask
605 * @srcp: the cpumask pointer
606 *
607 * Returns >= nr_cpu_ids if no cpus set.
608 */
609static inline unsigned int cpumask_first(const struct cpumask *srcp)
610{
611 return find_first_bit(cpumask_bits(srcp), nr_cpumask_bits);
612}
613
614/**
615 * cpumask_next - get the next cpu in a cpumask
616 * @n: the cpu prior to the place to search (ie. return will be > @n)
617 * @srcp: the cpumask pointer
618 *
619 * Returns >= nr_cpu_ids if no further cpus set.
620 */
621static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
622{
623 /* -1 is a legal arg here. */
624 if (n != -1)
625 cpumask_check(n);
626 return find_next_bit(cpumask_bits(srcp), nr_cpumask_bits, n+1);
627}
628
629/**
630 * cpumask_next_zero - get the next unset cpu in a cpumask
631 * @n: the cpu prior to the place to search (ie. return will be > @n)
632 * @srcp: the cpumask pointer
633 *
634 * Returns >= nr_cpu_ids if no further cpus unset.
635 */
636static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
637{
638 /* -1 is a legal arg here. */
639 if (n != -1)
640 cpumask_check(n);
641 return find_next_zero_bit(cpumask_bits(srcp), nr_cpumask_bits, n+1);
642}
643
644int cpumask_next_and(int n, const struct cpumask *, const struct cpumask *);
645int cpumask_any_but(const struct cpumask *mask, unsigned int cpu);
646
647/**
648 * for_each_cpu - iterate over every cpu in a mask
649 * @cpu: the (optionally unsigned) integer iterator
650 * @mask: the cpumask pointer
651 *
652 * After the loop, cpu is >= nr_cpu_ids.
653 */
654#define for_each_cpu(cpu, mask) \
655 for ((cpu) = -1; \
656 (cpu) = cpumask_next((cpu), (mask)), \
657 (cpu) < nr_cpu_ids;)
658
659/**
660 * for_each_cpu_and - iterate over every cpu in both masks
661 * @cpu: the (optionally unsigned) integer iterator
662 * @mask: the first cpumask pointer
663 * @and: the second cpumask pointer
664 *
665 * This saves a temporary CPU mask in many places. It is equivalent to:
666 * struct cpumask tmp;
667 * cpumask_and(&tmp, &mask, &and);
668 * for_each_cpu(cpu, &tmp)
669 * ...
670 *
671 * After the loop, cpu is >= nr_cpu_ids.
672 */
673#define for_each_cpu_and(cpu, mask, and) \
674 for ((cpu) = -1; \
675 (cpu) = cpumask_next_and((cpu), (mask), (and)), \
676 (cpu) < nr_cpu_ids;)
677#endif /* SMP */
678
679#define CPU_BITS_NONE \
680{ \
681 [0 ... BITS_TO_LONGS(NR_CPUS)-1] = 0UL \
682}
683
684#define CPU_BITS_CPU0 \
685{ \
686 [0] = 1UL \
687}
688
689/**
690 * cpumask_set_cpu - set a cpu in a cpumask
691 * @cpu: cpu number (< nr_cpu_ids)
692 * @dstp: the cpumask pointer
693 */
694static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
695{
696 set_bit(cpumask_check(cpu), cpumask_bits(dstp));
697}
698
699/**
700 * cpumask_clear_cpu - clear a cpu in a cpumask
701 * @cpu: cpu number (< nr_cpu_ids)
702 * @dstp: the cpumask pointer
703 */
704static inline void cpumask_clear_cpu(int cpu, struct cpumask *dstp)
705{
706 clear_bit(cpumask_check(cpu), cpumask_bits(dstp));
707}
708
709/**
710 * cpumask_test_cpu - test for a cpu in a cpumask
711 * @cpu: cpu number (< nr_cpu_ids)
712 * @cpumask: the cpumask pointer
713 *
714 * No static inline type checking - see Subtlety (1) above.
715 */
716#define cpumask_test_cpu(cpu, cpumask) \
717 test_bit(cpumask_check(cpu), (cpumask)->bits)
718
719/**
720 * cpumask_test_and_set_cpu - atomically test and set a cpu in a cpumask
721 * @cpu: cpu number (< nr_cpu_ids)
722 * @cpumask: the cpumask pointer
723 *
724 * test_and_set_bit wrapper for cpumasks.
725 */
726static inline int cpumask_test_and_set_cpu(int cpu, struct cpumask *cpumask)
727{
728 return test_and_set_bit(cpumask_check(cpu), cpumask_bits(cpumask));
729}
730
731/**
732 * cpumask_setall - set all cpus (< nr_cpu_ids) in a cpumask
733 * @dstp: the cpumask pointer
734 */
735static inline void cpumask_setall(struct cpumask *dstp)
736{
737 bitmap_fill(cpumask_bits(dstp), nr_cpumask_bits);
738}
739
740/**
741 * cpumask_clear - clear all cpus (< nr_cpu_ids) in a cpumask
742 * @dstp: the cpumask pointer
743 */
744static inline void cpumask_clear(struct cpumask *dstp)
745{
746 bitmap_zero(cpumask_bits(dstp), nr_cpumask_bits);
747}
748
749/**
750 * cpumask_and - *dstp = *src1p & *src2p
751 * @dstp: the cpumask result
752 * @src1p: the first input
753 * @src2p: the second input
754 */
755static inline void cpumask_and(struct cpumask *dstp,
756 const struct cpumask *src1p,
757 const struct cpumask *src2p)
758{
759 bitmap_and(cpumask_bits(dstp), cpumask_bits(src1p),
760 cpumask_bits(src2p), nr_cpumask_bits);
761}
762
763/**
764 * cpumask_or - *dstp = *src1p | *src2p
765 * @dstp: the cpumask result
766 * @src1p: the first input
767 * @src2p: the second input
768 */
769static inline void cpumask_or(struct cpumask *dstp, const struct cpumask *src1p,
770 const struct cpumask *src2p)
771{
772 bitmap_or(cpumask_bits(dstp), cpumask_bits(src1p),
773 cpumask_bits(src2p), nr_cpumask_bits);
774}
775
776/**
777 * cpumask_xor - *dstp = *src1p ^ *src2p
778 * @dstp: the cpumask result
779 * @src1p: the first input
780 * @src2p: the second input
781 */
782static inline void cpumask_xor(struct cpumask *dstp,
783 const struct cpumask *src1p,
784 const struct cpumask *src2p)
785{
786 bitmap_xor(cpumask_bits(dstp), cpumask_bits(src1p),
787 cpumask_bits(src2p), nr_cpumask_bits);
788}
789
790/**
791 * cpumask_andnot - *dstp = *src1p & ~*src2p
792 * @dstp: the cpumask result
793 * @src1p: the first input
794 * @src2p: the second input
795 */
796static inline void cpumask_andnot(struct cpumask *dstp,
797 const struct cpumask *src1p,
798 const struct cpumask *src2p)
799{
800 bitmap_andnot(cpumask_bits(dstp), cpumask_bits(src1p),
801 cpumask_bits(src2p), nr_cpumask_bits);
802}
803
804/**
805 * cpumask_complement - *dstp = ~*srcp
806 * @dstp: the cpumask result
807 * @srcp: the input to invert
808 */
809static inline void cpumask_complement(struct cpumask *dstp,
810 const struct cpumask *srcp)
811{
812 bitmap_complement(cpumask_bits(dstp), cpumask_bits(srcp),
813 nr_cpumask_bits);
814}
815
816/**
817 * cpumask_equal - *src1p == *src2p
818 * @src1p: the first input
819 * @src2p: the second input
820 */
821static inline bool cpumask_equal(const struct cpumask *src1p,
822 const struct cpumask *src2p)
823{
824 return bitmap_equal(cpumask_bits(src1p), cpumask_bits(src2p),
825 nr_cpumask_bits);
826}
827
828/**
829 * cpumask_intersects - (*src1p & *src2p) != 0
830 * @src1p: the first input
831 * @src2p: the second input
832 */
833static inline bool cpumask_intersects(const struct cpumask *src1p,
834 const struct cpumask *src2p)
835{
836 return bitmap_intersects(cpumask_bits(src1p), cpumask_bits(src2p),
837 nr_cpumask_bits);
838}
839
840/**
841 * cpumask_subset - (*src1p & ~*src2p) == 0
842 * @src1p: the first input
843 * @src2p: the second input
844 */
845static inline int cpumask_subset(const struct cpumask *src1p,
846 const struct cpumask *src2p)
847{
848 return bitmap_subset(cpumask_bits(src1p), cpumask_bits(src2p),
849 nr_cpumask_bits);
850}
851
852/**
853 * cpumask_empty - *srcp == 0
854 * @srcp: the cpumask to that all cpus < nr_cpu_ids are clear.
855 */
856static inline bool cpumask_empty(const struct cpumask *srcp)
857{
858 return bitmap_empty(cpumask_bits(srcp), nr_cpumask_bits);
859}
860
861/**
862 * cpumask_full - *srcp == 0xFFFFFFFF...
863 * @srcp: the cpumask to that all cpus < nr_cpu_ids are set.
864 */
865static inline bool cpumask_full(const struct cpumask *srcp)
866{
867 return bitmap_full(cpumask_bits(srcp), nr_cpumask_bits);
868}
869
870/**
871 * cpumask_weight - Count of bits in *srcp
872 * @srcp: the cpumask to count bits (< nr_cpu_ids) in.
873 */
874static inline unsigned int cpumask_weight(const struct cpumask *srcp)
875{
876 return bitmap_weight(cpumask_bits(srcp), nr_cpumask_bits);
877}
878
879/**
880 * cpumask_shift_right - *dstp = *srcp >> n
881 * @dstp: the cpumask result
882 * @srcp: the input to shift
883 * @n: the number of bits to shift by
884 */
885static inline void cpumask_shift_right(struct cpumask *dstp,
886 const struct cpumask *srcp, int n)
887{
888 bitmap_shift_right(cpumask_bits(dstp), cpumask_bits(srcp), n,
889 nr_cpumask_bits);
890}
891
892/**
893 * cpumask_shift_left - *dstp = *srcp << n
894 * @dstp: the cpumask result
895 * @srcp: the input to shift
896 * @n: the number of bits to shift by
897 */
898static inline void cpumask_shift_left(struct cpumask *dstp,
899 const struct cpumask *srcp, int n)
900{
901 bitmap_shift_left(cpumask_bits(dstp), cpumask_bits(srcp), n,
902 nr_cpumask_bits);
903}
904
905/**
906 * cpumask_copy - *dstp = *srcp
907 * @dstp: the result
908 * @srcp: the input cpumask
909 */
910static inline void cpumask_copy(struct cpumask *dstp,
911 const struct cpumask *srcp)
912{
913 bitmap_copy(cpumask_bits(dstp), cpumask_bits(srcp), nr_cpumask_bits);
914}
915
916/**
917 * cpumask_any - pick a "random" cpu from *srcp
918 * @srcp: the input cpumask
919 *
920 * Returns >= nr_cpu_ids if no cpus set.
921 */
922#define cpumask_any(srcp) cpumask_first(srcp)
923
924/**
925 * cpumask_first_and - return the first cpu from *srcp1 & *srcp2
926 * @src1p: the first input
927 * @src2p: the second input
928 *
929 * Returns >= nr_cpu_ids if no cpus set in both. See also cpumask_next_and().
930 */
931#define cpumask_first_and(src1p, src2p) cpumask_next_and(-1, (src1p), (src2p))
932
933/**
934 * cpumask_any_and - pick a "random" cpu from *mask1 & *mask2
935 * @mask1: the first input cpumask
936 * @mask2: the second input cpumask
937 *
938 * Returns >= nr_cpu_ids if no cpus set.
939 */
940#define cpumask_any_and(mask1, mask2) cpumask_first_and((mask1), (mask2))
941
942/**
943 * cpumask_of - the cpumask containing just a given cpu
944 * @cpu: the cpu (<= nr_cpu_ids)
945 */
946#define cpumask_of(cpu) (get_cpu_mask(cpu))
947
948/**
949 * to_cpumask - convert an NR_CPUS bitmap to a struct cpumask *
950 * @bitmap: the bitmap
951 *
952 * There are a few places where cpumask_var_t isn't appropriate and
953 * static cpumasks must be used (eg. very early boot), yet we don't
954 * expose the definition of 'struct cpumask'.
955 *
956 * This does the conversion, and can be used as a constant initializer.
957 */
958#define to_cpumask(bitmap) \
959 ((struct cpumask *)(1 ? (bitmap) \
960 : (void *)sizeof(__check_is_bitmap(bitmap))))
961
962static inline int __check_is_bitmap(const unsigned long *bitmap)
963{
964 return 1;
965}
966
967/**
968 * cpumask_size - size to allocate for a 'struct cpumask' in bytes
969 *
970 * This will eventually be a runtime variable, depending on nr_cpu_ids.
971 */
972static inline size_t cpumask_size(void)
973{
974 /* FIXME: Once all cpumask assignments are eliminated, this
975 * can be nr_cpumask_bits */
976 return BITS_TO_LONGS(NR_CPUS) * sizeof(long);
977}
978
979/*
980 * cpumask_var_t: struct cpumask for stack usage.
981 *
982 * Oh, the wicked games we play! In order to make kernel coding a
983 * little more difficult, we typedef cpumask_var_t to an array or a
984 * pointer: doing &mask on an array is a noop, so it still works.
985 *
986 * ie.
987 * cpumask_var_t tmpmask;
988 * if (!alloc_cpumask_var(&tmpmask, GFP_KERNEL))
989 * return -ENOMEM;
990 *
991 * ... use 'tmpmask' like a normal struct cpumask * ...
992 *
993 * free_cpumask_var(tmpmask);
994 */
995#ifdef CONFIG_CPUMASK_OFFSTACK
996typedef struct cpumask *cpumask_var_t;
997
998bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags);
999void alloc_bootmem_cpumask_var(cpumask_var_t *mask);
1000void free_cpumask_var(cpumask_var_t mask);
1001void free_bootmem_cpumask_var(cpumask_var_t mask);
1002
1003#else
1004typedef struct cpumask cpumask_var_t[1];
1005
1006static inline bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
1007{
1008 return true;
1009}
1010
1011static inline void alloc_bootmem_cpumask_var(cpumask_var_t *mask)
1012{
1013}
1014
1015static inline void free_cpumask_var(cpumask_var_t mask)
1016{
1017}
1018
1019static inline void free_bootmem_cpumask_var(cpumask_var_t mask)
1020{
1021}
1022#endif /* CONFIG_CPUMASK_OFFSTACK */
1023
1024/* The pointer versions of the maps, these will become the primary versions. */
1025#define cpu_possible_mask ((const struct cpumask *)&cpu_possible_map)
1026#define cpu_online_mask ((const struct cpumask *)&cpu_online_map)
1027#define cpu_present_mask ((const struct cpumask *)&cpu_present_map)
1028#define cpu_active_mask ((const struct cpumask *)&cpu_active_map)
1029
1030/* It's common to want to use cpu_all_mask in struct member initializers,
1031 * so it has to refer to an address rather than a pointer. */
1032extern const DECLARE_BITMAP(cpu_all_bits, NR_CPUS);
1033#define cpu_all_mask to_cpumask(cpu_all_bits)
1034
1035/* First bits of cpu_bit_bitmap are in fact unset. */
1036#define cpu_none_mask to_cpumask(cpu_bit_bitmap[0])
1037
1038/* Wrappers for arch boot code to manipulate normally-constant masks */
1039static inline void set_cpu_possible(unsigned int cpu, bool possible)
1040{
1041 if (possible)
1042 cpumask_set_cpu(cpu, &cpu_possible_map);
1043 else
1044 cpumask_clear_cpu(cpu, &cpu_possible_map);
1045}
1046
1047static inline void set_cpu_present(unsigned int cpu, bool present)
1048{
1049 if (present)
1050 cpumask_set_cpu(cpu, &cpu_present_map);
1051 else
1052 cpumask_clear_cpu(cpu, &cpu_present_map);
1053}
1054
1055static inline void set_cpu_online(unsigned int cpu, bool online)
1056{
1057 if (online)
1058 cpumask_set_cpu(cpu, &cpu_online_map);
1059 else
1060 cpumask_clear_cpu(cpu, &cpu_online_map);
1061}
1062
1063static inline void set_cpu_active(unsigned int cpu, bool active)
1064{
1065 if (active)
1066 cpumask_set_cpu(cpu, &cpu_active_map);
1067 else
1068 cpumask_clear_cpu(cpu, &cpu_active_map);
1069}
1070
1071static inline void init_cpu_present(const struct cpumask *src)
1072{
1073 cpumask_copy(&cpu_present_map, src);
1074}
1075
1076static inline void init_cpu_possible(const struct cpumask *src)
1077{
1078 cpumask_copy(&cpu_possible_map, src);
1079}
1080
1081static inline void init_cpu_online(const struct cpumask *src)
1082{
1083 cpumask_copy(&cpu_online_map, src);
1084}
530#endif /* __LINUX_CPUMASK_H */ 1085#endif /* __LINUX_CPUMASK_H */
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 8f225339eee9..5a361f85cfec 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -44,11 +44,6 @@ static inline bool should_send_signal(struct task_struct *p)
44 return !(p->flags & PF_FREEZER_NOSIG); 44 return !(p->flags & PF_FREEZER_NOSIG);
45} 45}
46 46
47/*
48 * Wake up a frozen process
49 */
50extern int __thaw_process(struct task_struct *p);
51
52/* Takes and releases task alloc lock using task_lock() */ 47/* Takes and releases task alloc lock using task_lock() */
53extern int thaw_process(struct task_struct *p); 48extern int thaw_process(struct task_struct *p);
54 49
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5b248d61430c..0dcdd9458f4b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -489,13 +489,6 @@ struct address_space_operations {
489 int (*readpages)(struct file *filp, struct address_space *mapping, 489 int (*readpages)(struct file *filp, struct address_space *mapping,
490 struct list_head *pages, unsigned nr_pages); 490 struct list_head *pages, unsigned nr_pages);
491 491
492 /*
493 * ext3 requires that a successful prepare_write() call be followed
494 * by a commit_write() call - they must be balanced
495 */
496 int (*prepare_write)(struct file *, struct page *, unsigned, unsigned);
497 int (*commit_write)(struct file *, struct page *, unsigned, unsigned);
498
499 int (*write_begin)(struct file *, struct address_space *mapping, 492 int (*write_begin)(struct file *, struct address_space *mapping,
500 loff_t pos, unsigned len, unsigned flags, 493 loff_t pos, unsigned len, unsigned flags,
501 struct page **pagep, void **fsdata); 494 struct page **pagep, void **fsdata);
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
index 4e625e0094c8..708bab58d8d0 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -49,7 +49,8 @@ struct gianfar_platform_data {
49 u32 device_flags; 49 u32 device_flags;
50 /* board specific information */ 50 /* board specific information */
51 u32 board_flags; 51 u32 board_flags;
52 char bus_id[MII_BUS_ID_SIZE]; 52 int mdio_bus; /* Bus controlled by us */
53 char bus_id[MII_BUS_ID_SIZE]; /* Bus PHY is on */
53 u32 phy_id; 54 u32 phy_id;
54 u8 mac_addr[6]; 55 u8 mac_addr[6];
55 phy_interface_t interface; 56 phy_interface_t interface;
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index a3d46151be19..703eb53cfa2b 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -8,7 +8,7 @@
8#include <linux/types.h> 8#include <linux/types.h>
9#include <linux/kallsyms.h> 9#include <linux/kallsyms.h>
10 10
11#ifdef CONFIG_FTRACE 11#ifdef CONFIG_FUNCTION_TRACER
12 12
13extern int ftrace_enabled; 13extern int ftrace_enabled;
14extern int 14extern int
@@ -36,16 +36,14 @@ void clear_ftrace_function(void);
36 36
37extern void ftrace_stub(unsigned long a0, unsigned long a1); 37extern void ftrace_stub(unsigned long a0, unsigned long a1);
38 38
39#else /* !CONFIG_FTRACE */ 39#else /* !CONFIG_FUNCTION_TRACER */
40# define register_ftrace_function(ops) do { } while (0) 40# define register_ftrace_function(ops) do { } while (0)
41# define unregister_ftrace_function(ops) do { } while (0) 41# define unregister_ftrace_function(ops) do { } while (0)
42# define clear_ftrace_function(ops) do { } while (0) 42# define clear_ftrace_function(ops) do { } while (0)
43static inline void ftrace_kill_atomic(void) { } 43static inline void ftrace_kill(void) { }
44#endif /* CONFIG_FTRACE */ 44#endif /* CONFIG_FUNCTION_TRACER */
45 45
46#ifdef CONFIG_DYNAMIC_FTRACE 46#ifdef CONFIG_DYNAMIC_FTRACE
47# define FTRACE_HASHBITS 10
48# define FTRACE_HASHSIZE (1<<FTRACE_HASHBITS)
49 47
50enum { 48enum {
51 FTRACE_FL_FREE = (1 << 0), 49 FTRACE_FL_FREE = (1 << 0),
@@ -58,9 +56,9 @@ enum {
58}; 56};
59 57
60struct dyn_ftrace { 58struct dyn_ftrace {
61 struct hlist_node node; 59 struct list_head list;
62 unsigned long ip; /* address of mcount call-site */ 60 unsigned long ip; /* address of mcount call-site */
63 unsigned long flags; 61 unsigned long flags;
64}; 62};
65 63
66int ftrace_force_update(void); 64int ftrace_force_update(void);
@@ -71,14 +69,33 @@ extern int ftrace_ip_converted(unsigned long ip);
71extern unsigned char *ftrace_nop_replace(void); 69extern unsigned char *ftrace_nop_replace(void);
72extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr); 70extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr);
73extern int ftrace_dyn_arch_init(void *data); 71extern int ftrace_dyn_arch_init(void *data);
74extern int ftrace_mcount_set(unsigned long *data);
75extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code,
76 unsigned char *new_code);
77extern int ftrace_update_ftrace_func(ftrace_func_t func); 72extern int ftrace_update_ftrace_func(ftrace_func_t func);
78extern void ftrace_caller(void); 73extern void ftrace_caller(void);
79extern void ftrace_call(void); 74extern void ftrace_call(void);
80extern void mcount_call(void); 75extern void mcount_call(void);
81 76
77/**
78 * ftrace_modify_code - modify code segment
79 * @ip: the address of the code segment
80 * @old_code: the contents of what is expected to be there
81 * @new_code: the code to patch in
82 *
83 * This is a very sensitive operation and great care needs
84 * to be taken by the arch. The operation should carefully
85 * read the location, check to see if what is read is indeed
86 * what we expect it to be, and then on success of the compare,
87 * it should write to the location.
88 *
89 * Return must be:
90 * 0 on success
91 * -EFAULT on error reading the location
92 * -EINVAL on a failed compare of the contents
93 * -EPERM on error writing to the location
94 * Any other value will be considered a failure.
95 */
96extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code,
97 unsigned char *new_code);
98
82extern int skip_trace(unsigned long ip); 99extern int skip_trace(unsigned long ip);
83 100
84extern void ftrace_release(void *start, unsigned long size); 101extern void ftrace_release(void *start, unsigned long size);
@@ -97,11 +114,10 @@ static inline void ftrace_release(void *start, unsigned long size) { }
97 114
98/* totally disable ftrace - can not re-enable after this */ 115/* totally disable ftrace - can not re-enable after this */
99void ftrace_kill(void); 116void ftrace_kill(void);
100void ftrace_kill_atomic(void);
101 117
102static inline void tracer_disable(void) 118static inline void tracer_disable(void)
103{ 119{
104#ifdef CONFIG_FTRACE 120#ifdef CONFIG_FUNCTION_TRACER
105 ftrace_enabled = 0; 121 ftrace_enabled = 0;
106#endif 122#endif
107} 123}
@@ -113,7 +129,7 @@ static inline void tracer_disable(void)
113 */ 129 */
114static inline int __ftrace_enabled_save(void) 130static inline int __ftrace_enabled_save(void)
115{ 131{
116#ifdef CONFIG_FTRACE 132#ifdef CONFIG_FUNCTION_TRACER
117 int saved_ftrace_enabled = ftrace_enabled; 133 int saved_ftrace_enabled = ftrace_enabled;
118 ftrace_enabled = 0; 134 ftrace_enabled = 0;
119 return saved_ftrace_enabled; 135 return saved_ftrace_enabled;
@@ -124,7 +140,7 @@ static inline int __ftrace_enabled_save(void)
124 140
125static inline void __ftrace_enabled_restore(int enabled) 141static inline void __ftrace_enabled_restore(int enabled)
126{ 142{
127#ifdef CONFIG_FTRACE 143#ifdef CONFIG_FUNCTION_TRACER
128 ftrace_enabled = enabled; 144 ftrace_enabled = enabled;
129#endif 145#endif
130} 146}
diff --git a/include/linux/hid.h b/include/linux/hid.h
index f13bca2dd53b..e5780f8c934a 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -410,6 +410,7 @@ struct hid_output_fifo {
410#define HID_SUSPENDED 5 410#define HID_SUSPENDED 5
411#define HID_CLEAR_HALT 6 411#define HID_CLEAR_HALT 6
412#define HID_DISCONNECTED 7 412#define HID_DISCONNECTED 7
413#define HID_STARTED 8
413 414
414struct hid_input { 415struct hid_input {
415 struct list_head list; 416 struct list_head list;
@@ -417,6 +418,11 @@ struct hid_input {
417 struct input_dev *input; 418 struct input_dev *input;
418}; 419};
419 420
421enum hid_type {
422 HID_TYPE_OTHER = 0,
423 HID_TYPE_USBMOUSE
424};
425
420struct hid_driver; 426struct hid_driver;
421struct hid_ll_driver; 427struct hid_ll_driver;
422 428
@@ -431,6 +437,7 @@ struct hid_device { /* device report descriptor */
431 __u32 vendor; /* Vendor ID */ 437 __u32 vendor; /* Vendor ID */
432 __u32 product; /* Product ID */ 438 __u32 product; /* Product ID */
433 __u32 version; /* HID version */ 439 __u32 version; /* HID version */
440 enum hid_type type; /* device type (mouse, kbd, ...) */
434 unsigned country; /* HID country */ 441 unsigned country; /* HID country */
435 struct hid_report_enum report_enum[HID_REPORT_TYPES]; 442 struct hid_report_enum report_enum[HID_REPORT_TYPES];
436 443
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 2b3645b1acf4..07e510a3b00a 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -239,7 +239,7 @@ static inline void hrtimer_add_expires(struct hrtimer *timer, ktime_t time)
239 timer->_softexpires = ktime_add_safe(timer->_softexpires, time); 239 timer->_softexpires = ktime_add_safe(timer->_softexpires, time);
240} 240}
241 241
242static inline void hrtimer_add_expires_ns(struct hrtimer *timer, unsigned long ns) 242static inline void hrtimer_add_expires_ns(struct hrtimer *timer, u64 ns)
243{ 243{
244 timer->_expires = ktime_add_ns(timer->_expires, ns); 244 timer->_expires = ktime_add_ns(timer->_expires, ns);
245 timer->_softexpires = ktime_add_ns(timer->_softexpires, ns); 245 timer->_softexpires = ktime_add_ns(timer->_softexpires, ns);
diff --git a/include/linux/i7300_idle.h b/include/linux/i7300_idle.h
new file mode 100644
index 000000000000..05a80c44513c
--- /dev/null
+++ b/include/linux/i7300_idle.h
@@ -0,0 +1,83 @@
1
2#ifndef I7300_IDLE_H
3#define I7300_IDLE_H
4
5#include <linux/pci.h>
6
7/*
8 * I/O AT controls (PCI bus 0 device 8 function 0)
9 * DIMM controls (PCI bus 0 device 16 function 1)
10 */
11#define IOAT_BUS 0
12#define IOAT_DEVFN PCI_DEVFN(8, 0)
13#define MEMCTL_BUS 0
14#define MEMCTL_DEVFN PCI_DEVFN(16, 1)
15
16struct fbd_ioat {
17 unsigned int vendor;
18 unsigned int ioat_dev;
19};
20
21/*
22 * The i5000 chip-set has the same hooks as the i7300
23 * but support is disabled by default because this driver
24 * has not been validated on that platform.
25 */
26#define SUPPORT_I5000 0
27
28static const struct fbd_ioat fbd_ioat_list[] = {
29 {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB},
30#if SUPPORT_I5000
31 {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT},
32#endif
33 {0, 0}
34};
35
36/* table of devices that work with this driver */
37static const struct pci_device_id pci_tbl[] = {
38 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) },
39#if SUPPORT_I5000
40 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) },
41#endif
42 { } /* Terminating entry */
43};
44
45/* Check for known platforms with I/O-AT */
46static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev,
47 struct pci_dev **ioat_dev)
48{
49 int i;
50 struct pci_dev *memdev, *dmadev;
51
52 memdev = pci_get_bus_and_slot(MEMCTL_BUS, MEMCTL_DEVFN);
53 if (!memdev)
54 return -ENODEV;
55
56 for (i = 0; pci_tbl[i].vendor != 0; i++) {
57 if (memdev->vendor == pci_tbl[i].vendor &&
58 memdev->device == pci_tbl[i].device) {
59 break;
60 }
61 }
62 if (pci_tbl[i].vendor == 0)
63 return -ENODEV;
64
65 dmadev = pci_get_bus_and_slot(IOAT_BUS, IOAT_DEVFN);
66 if (!dmadev)
67 return -ENODEV;
68
69 for (i = 0; fbd_ioat_list[i].vendor != 0; i++) {
70 if (dmadev->vendor == fbd_ioat_list[i].vendor &&
71 dmadev->device == fbd_ioat_list[i].ioat_dev) {
72 if (fbd_dev)
73 *fbd_dev = memdev;
74 if (ioat_dev)
75 *ioat_dev = dmadev;
76
77 return 0;
78 }
79 }
80 return -ENODEV;
81}
82
83#endif
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 9e7b49b8062d..a5cb0c3f6dcf 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -114,6 +114,8 @@ extern u16 vlan_dev_vlan_id(const struct net_device *dev);
114 114
115extern int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, 115extern int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
116 u16 vlan_tci, int polling); 116 u16 vlan_tci, int polling);
117extern int vlan_hwaccel_do_receive(struct sk_buff *skb);
118
117#else 119#else
118static inline struct net_device *vlan_dev_real_dev(const struct net_device *dev) 120static inline struct net_device *vlan_dev_real_dev(const struct net_device *dev)
119{ 121{
@@ -133,6 +135,11 @@ static inline int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
133 BUG(); 135 BUG();
134 return NET_XMIT_SUCCESS; 136 return NET_XMIT_SUCCESS;
135} 137}
138
139static inline int vlan_hwaccel_do_receive(struct sk_buff *skb)
140{
141 return 0;
142}
136#endif 143#endif
137 144
138/** 145/**
diff --git a/include/linux/init.h b/include/linux/init.h
index 0c1264668be0..68cb0265d009 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -112,21 +112,25 @@
112#define __FINIT .previous 112#define __FINIT .previous
113 113
114#define __INITDATA .section ".init.data","aw" 114#define __INITDATA .section ".init.data","aw"
115#define __INITRODATA .section ".init.rodata","a"
115#define __FINITDATA .previous 116#define __FINITDATA .previous
116 117
117#define __DEVINIT .section ".devinit.text", "ax" 118#define __DEVINIT .section ".devinit.text", "ax"
118#define __DEVINITDATA .section ".devinit.data", "aw" 119#define __DEVINITDATA .section ".devinit.data", "aw"
120#define __DEVINITRODATA .section ".devinit.rodata", "a"
119 121
120#define __CPUINIT .section ".cpuinit.text", "ax" 122#define __CPUINIT .section ".cpuinit.text", "ax"
121#define __CPUINITDATA .section ".cpuinit.data", "aw" 123#define __CPUINITDATA .section ".cpuinit.data", "aw"
124#define __CPUINITRODATA .section ".cpuinit.rodata", "a"
122 125
123#define __MEMINIT .section ".meminit.text", "ax" 126#define __MEMINIT .section ".meminit.text", "ax"
124#define __MEMINITDATA .section ".meminit.data", "aw" 127#define __MEMINITDATA .section ".meminit.data", "aw"
128#define __MEMINITRODATA .section ".meminit.rodata", "a"
125 129
126/* silence warnings when references are OK */ 130/* silence warnings when references are OK */
127#define __REF .section ".ref.text", "ax" 131#define __REF .section ".ref.text", "ax"
128#define __REFDATA .section ".ref.data", "aw" 132#define __REFDATA .section ".ref.data", "aw"
129#define __REFCONST .section ".ref.rodata", "aw" 133#define __REFCONST .section ".ref.rodata", "a"
130 134
131#ifndef __ASSEMBLY__ 135#ifndef __ASSEMBLY__
132/* 136/*
diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h
new file mode 100644
index 000000000000..82df31726a54
--- /dev/null
+++ b/include/linux/io-mapping.h
@@ -0,0 +1,125 @@
1/*
2 * Copyright © 2008 Keith Packard <keithp@keithp.com>
3 *
4 * This file is free software; you can redistribute it and/or modify
5 * it under the terms of version 2 of the GNU General Public License
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software Foundation,
15 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
16 */
17
18#ifndef _LINUX_IO_MAPPING_H
19#define _LINUX_IO_MAPPING_H
20
21#include <linux/types.h>
22#include <asm/io.h>
23#include <asm/page.h>
24#include <asm/iomap.h>
25
26/*
27 * The io_mapping mechanism provides an abstraction for mapping
28 * individual pages from an io device to the CPU in an efficient fashion.
29 *
30 * See Documentation/io_mapping.txt
31 */
32
33/* this struct isn't actually defined anywhere */
34struct io_mapping;
35
36#ifdef CONFIG_HAVE_ATOMIC_IOMAP
37
38/*
39 * For small address space machines, mapping large objects
40 * into the kernel virtual space isn't practical. Where
41 * available, use fixmap support to dynamically map pages
42 * of the object at run time.
43 */
44
45static inline struct io_mapping *
46io_mapping_create_wc(unsigned long base, unsigned long size)
47{
48 return (struct io_mapping *) base;
49}
50
51static inline void
52io_mapping_free(struct io_mapping *mapping)
53{
54}
55
56/* Atomic map/unmap */
57static inline void *
58io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
59{
60 offset += (unsigned long) mapping;
61 return iomap_atomic_prot_pfn(offset >> PAGE_SHIFT, KM_USER0,
62 __pgprot(__PAGE_KERNEL_WC));
63}
64
65static inline void
66io_mapping_unmap_atomic(void *vaddr)
67{
68 iounmap_atomic(vaddr, KM_USER0);
69}
70
71static inline void *
72io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset)
73{
74 offset += (unsigned long) mapping;
75 return ioremap_wc(offset, PAGE_SIZE);
76}
77
78static inline void
79io_mapping_unmap(void *vaddr)
80{
81 iounmap(vaddr);
82}
83
84#else
85
86/* Create the io_mapping object*/
87static inline struct io_mapping *
88io_mapping_create_wc(unsigned long base, unsigned long size)
89{
90 return (struct io_mapping *) ioremap_wc(base, size);
91}
92
93static inline void
94io_mapping_free(struct io_mapping *mapping)
95{
96 iounmap(mapping);
97}
98
99/* Atomic map/unmap */
100static inline void *
101io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
102{
103 return ((char *) mapping) + offset;
104}
105
106static inline void
107io_mapping_unmap_atomic(void *vaddr)
108{
109}
110
111/* Non-atomic map/unmap */
112static inline void *
113io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset)
114{
115 return ((char *) mapping) + offset;
116}
117
118static inline void
119io_mapping_unmap(void *vaddr)
120{
121}
122
123#endif /* HAVE_ATOMIC_IOMAP */
124
125#endif /* _LINUX_IO_MAPPING_H */
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index fa2853b49f70..69a9bfdf9c86 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -116,6 +116,8 @@ extern int _cond_resched(void);
116# define might_resched() do { } while (0) 116# define might_resched() do { } while (0)
117#endif 117#endif
118 118
119#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
120 void __might_sleep(char *file, int line);
119/** 121/**
120 * might_sleep - annotation for functions that can sleep 122 * might_sleep - annotation for functions that can sleep
121 * 123 *
@@ -126,8 +128,6 @@ extern int _cond_resched(void);
126 * be bitten later when the calling function happens to sleep when it is not 128 * be bitten later when the calling function happens to sleep when it is not
127 * supposed to. 129 * supposed to.
128 */ 130 */
129#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
130 void __might_sleep(char *file, int line);
131# define might_sleep() \ 131# define might_sleep() \
132 do { __might_sleep(__FILE__, __LINE__); might_resched(); } while (0) 132 do { __might_sleep(__FILE__, __LINE__); might_resched(); } while (0)
133#else 133#else
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 797fcd781242..f18b86fa8655 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -489,6 +489,9 @@ struct kvm_assigned_pci_dev {
489 __u32 busnr; 489 __u32 busnr;
490 __u32 devfn; 490 __u32 devfn;
491 __u32 flags; 491 __u32 flags;
492 union {
493 __u32 reserved[12];
494 };
492}; 495};
493 496
494struct kvm_assigned_irq { 497struct kvm_assigned_irq {
@@ -496,6 +499,9 @@ struct kvm_assigned_irq {
496 __u32 host_irq; 499 __u32 host_irq;
497 __u32 guest_irq; 500 __u32 guest_irq;
498 __u32 flags; 501 __u32 flags;
502 union {
503 __u32 reserved[12];
504 };
499}; 505};
500 506
501#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) 507#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 3833c48fae3a..bb92be2153bc 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -37,6 +37,8 @@
37#define KVM_REQ_UNHALT 6 37#define KVM_REQ_UNHALT 6
38#define KVM_REQ_MMU_SYNC 7 38#define KVM_REQ_MMU_SYNC 7
39 39
40#define KVM_USERSPACE_IRQ_SOURCE_ID 0
41
40struct kvm_vcpu; 42struct kvm_vcpu;
41extern struct kmem_cache *kvm_vcpu_cache; 43extern struct kmem_cache *kvm_vcpu_cache;
42 44
@@ -306,15 +308,18 @@ struct kvm_assigned_dev_kernel {
306 int host_irq; 308 int host_irq;
307 int guest_irq; 309 int guest_irq;
308 int irq_requested; 310 int irq_requested;
311 int irq_source_id;
309 struct pci_dev *dev; 312 struct pci_dev *dev;
310 struct kvm *kvm; 313 struct kvm *kvm;
311}; 314};
312void kvm_set_irq(struct kvm *kvm, int irq, int level); 315void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level);
313void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); 316void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi);
314void kvm_register_irq_ack_notifier(struct kvm *kvm, 317void kvm_register_irq_ack_notifier(struct kvm *kvm,
315 struct kvm_irq_ack_notifier *kian); 318 struct kvm_irq_ack_notifier *kian);
316void kvm_unregister_irq_ack_notifier(struct kvm *kvm, 319void kvm_unregister_irq_ack_notifier(struct kvm *kvm,
317 struct kvm_irq_ack_notifier *kian); 320 struct kvm_irq_ack_notifier *kian);
321int kvm_request_irq_source_id(struct kvm *kvm);
322void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id);
318 323
319#ifdef CONFIG_DMAR 324#ifdef CONFIG_DMAR
320int kvm_iommu_map_pages(struct kvm *kvm, gfn_t base_gfn, 325int kvm_iommu_map_pages(struct kvm *kvm, gfn_t base_gfn,
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 507f53ef8038..59b0f1c807b5 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -372,6 +372,9 @@ enum {
372 ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ 372 ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */
373 ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ 373 ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */
374 ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */ 374 ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */
375 ATA_HORKAGE_BRIDGE_OK = (1 << 10), /* no bridge limits */
376 ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
377 not multiple of 16 bytes */
375 378
376 /* DMA mask for user DMA control: User visible values; DO NOT 379 /* DMA mask for user DMA control: User visible values; DO NOT
377 renumber */ 380 renumber */
@@ -695,6 +698,7 @@ struct ata_port {
695 unsigned int cbl; /* cable type; ATA_CBL_xxx */ 698 unsigned int cbl; /* cable type; ATA_CBL_xxx */
696 699
697 struct ata_queued_cmd qcmd[ATA_MAX_QUEUE]; 700 struct ata_queued_cmd qcmd[ATA_MAX_QUEUE];
701 unsigned long qc_allocated;
698 unsigned int qc_active; 702 unsigned int qc_active;
699 int nr_active_links; /* #links with active qcs */ 703 int nr_active_links; /* #links with active qcs */
700 704
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index ee6e822d5994..403aa505f27e 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -130,7 +130,7 @@ struct mmc_card {
130#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR) 130#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)
131 131
132#define mmc_card_name(c) ((c)->cid.prod_name) 132#define mmc_card_name(c) ((c)->cid.prod_name)
133#define mmc_card_id(c) ((c)->dev.bus_id) 133#define mmc_card_id(c) (dev_name(&(c)->dev))
134 134
135#define mmc_list_to_card(l) container_of(l, struct mmc_card, node) 135#define mmc_list_to_card(l) container_of(l, struct mmc_card, node)
136#define mmc_get_drvdata(c) dev_get_drvdata(&(c)->dev) 136#define mmc_get_drvdata(c) dev_get_drvdata(&(c)->dev)
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index bde891f64591..f842f234e44f 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -176,7 +176,7 @@ static inline void *mmc_priv(struct mmc_host *host)
176 176
177#define mmc_dev(x) ((x)->parent) 177#define mmc_dev(x) ((x)->parent)
178#define mmc_classdev(x) (&(x)->class_dev) 178#define mmc_classdev(x) (&(x)->class_dev)
179#define mmc_hostname(x) ((x)->class_dev.bus_id) 179#define mmc_hostname(x) (dev_name(&(x)->class_dev))
180 180
181extern int mmc_suspend_host(struct mmc_host *, pm_message_t); 181extern int mmc_suspend_host(struct mmc_host *, pm_message_t);
182extern int mmc_resume_host(struct mmc_host *); 182extern int mmc_resume_host(struct mmc_host *);
diff --git a/include/linux/mmc/sdio_func.h b/include/linux/mmc/sdio_func.h
index 07bee4a0d457..451bdfc85830 100644
--- a/include/linux/mmc/sdio_func.h
+++ b/include/linux/mmc/sdio_func.h
@@ -63,7 +63,7 @@ struct sdio_func {
63 63
64#define sdio_func_set_present(f) ((f)->state |= SDIO_STATE_PRESENT) 64#define sdio_func_set_present(f) ((f)->state |= SDIO_STATE_PRESENT)
65 65
66#define sdio_func_id(f) ((f)->dev.bus_id) 66#define sdio_func_id(f) (dev_name(&(f)->dev))
67 67
68#define sdio_get_drvdata(f) dev_get_drvdata(&(f)->dev) 68#define sdio_get_drvdata(f) dev_get_drvdata(&(f)->dev)
69#define sdio_set_drvdata(f,d) dev_set_drvdata(&(f)->dev, d) 69#define sdio_set_drvdata(f,d) dev_set_drvdata(&(f)->dev, d)
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index eb71b45fdf5a..97b91d1abb43 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -135,6 +135,7 @@ struct usb_device_id {
135 135
136struct hid_device_id { 136struct hid_device_id {
137 __u16 bus; 137 __u16 bus;
138 __u16 pad1;
138 __u32 vendor; 139 __u32 vendor;
139 __u32 product; 140 __u32 product;
140 kernel_ulong_t driver_data 141 kernel_ulong_t driver_data
diff --git a/include/linux/msdos_fs.h b/include/linux/msdos_fs.h
index ba63858056c7..e0a9b207920d 100644
--- a/include/linux/msdos_fs.h
+++ b/include/linux/msdos_fs.h
@@ -46,11 +46,6 @@
46#define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ 46#define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */
47#define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) 47#define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG)
48 48
49/* valid file mode bits */
50#define MSDOS_VALID_MODE (S_IFREG | S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO)
51/* Convert attribute bits and a mask to the UNIX mode. */
52#define MSDOS_MKMODE(a, m) (m & (a & ATTR_RO ? S_IRUGO|S_IXUGO : S_IRWXUGO))
53
54#define MSDOS_NAME 11 /* maximum name length */ 49#define MSDOS_NAME 11 /* maximum name length */
55#define MSDOS_LONGNAME 256 /* maximum name length */ 50#define MSDOS_LONGNAME 256 /* maximum name length */
56#define MSDOS_SLOTS 21 /* max # of slots for short and long names */ 51#define MSDOS_SLOTS 21 /* max # of slots for short and long names */
@@ -167,282 +162,10 @@ struct msdos_dir_slot {
167}; 162};
168 163
169#ifdef __KERNEL__ 164#ifdef __KERNEL__
170
171#include <linux/buffer_head.h>
172#include <linux/string.h>
173#include <linux/nls.h>
174#include <linux/fs.h>
175#include <linux/mutex.h>
176
177/*
178 * vfat shortname flags
179 */
180#define VFAT_SFN_DISPLAY_LOWER 0x0001 /* convert to lowercase for display */
181#define VFAT_SFN_DISPLAY_WIN95 0x0002 /* emulate win95 rule for display */
182#define VFAT_SFN_DISPLAY_WINNT 0x0004 /* emulate winnt rule for display */
183#define VFAT_SFN_CREATE_WIN95 0x0100 /* emulate win95 rule for create */
184#define VFAT_SFN_CREATE_WINNT 0x0200 /* emulate winnt rule for create */
185
186struct fat_mount_options {
187 uid_t fs_uid;
188 gid_t fs_gid;
189 unsigned short fs_fmask;
190 unsigned short fs_dmask;
191 unsigned short codepage; /* Codepage for shortname conversions */
192 char *iocharset; /* Charset used for filename input/display */
193 unsigned short shortname; /* flags for shortname display/create rule */
194 unsigned char name_check; /* r = relaxed, n = normal, s = strict */
195 unsigned short allow_utime;/* permission for setting the [am]time */
196 unsigned quiet:1, /* set = fake successful chmods and chowns */
197 showexec:1, /* set = only set x bit for com/exe/bat */
198 sys_immutable:1, /* set = system files are immutable */
199 dotsOK:1, /* set = hidden and system files are named '.filename' */
200 isvfat:1, /* 0=no vfat long filename support, 1=vfat support */
201 utf8:1, /* Use of UTF-8 character set (Default) */
202 unicode_xlate:1, /* create escape sequences for unhandled Unicode */
203 numtail:1, /* Does first alias have a numeric '~1' type tail? */
204 flush:1, /* write things quickly */
205 nocase:1, /* Does this need case conversion? 0=need case conversion*/
206 usefree:1, /* Use free_clusters for FAT32 */
207 tz_utc:1; /* Filesystem timestamps are in UTC */
208};
209
210#define FAT_HASH_BITS 8
211#define FAT_HASH_SIZE (1UL << FAT_HASH_BITS)
212#define FAT_HASH_MASK (FAT_HASH_SIZE-1)
213
214/*
215 * MS-DOS file system in-core superblock data
216 */
217struct msdos_sb_info {
218 unsigned short sec_per_clus; /* sectors/cluster */
219 unsigned short cluster_bits; /* log2(cluster_size) */
220 unsigned int cluster_size; /* cluster size */
221 unsigned char fats,fat_bits; /* number of FATs, FAT bits (12 or 16) */
222 unsigned short fat_start;
223 unsigned long fat_length; /* FAT start & length (sec.) */
224 unsigned long dir_start;
225 unsigned short dir_entries; /* root dir start & entries */
226 unsigned long data_start; /* first data sector */
227 unsigned long max_cluster; /* maximum cluster number */
228 unsigned long root_cluster; /* first cluster of the root directory */
229 unsigned long fsinfo_sector; /* sector number of FAT32 fsinfo */
230 struct mutex fat_lock;
231 unsigned int prev_free; /* previously allocated cluster number */
232 unsigned int free_clusters; /* -1 if undefined */
233 unsigned int free_clus_valid; /* is free_clusters valid? */
234 struct fat_mount_options options;
235 struct nls_table *nls_disk; /* Codepage used on disk */
236 struct nls_table *nls_io; /* Charset used for input and display */
237 const void *dir_ops; /* Opaque; default directory operations */
238 int dir_per_block; /* dir entries per block */
239 int dir_per_block_bits; /* log2(dir_per_block) */
240
241 int fatent_shift;
242 struct fatent_operations *fatent_ops;
243
244 spinlock_t inode_hash_lock;
245 struct hlist_head inode_hashtable[FAT_HASH_SIZE];
246};
247
248#define FAT_CACHE_VALID 0 /* special case for valid cache */
249
250/*
251 * MS-DOS file system inode data in memory
252 */
253struct msdos_inode_info {
254 spinlock_t cache_lru_lock;
255 struct list_head cache_lru;
256 int nr_caches;
257 /* for avoiding the race between fat_free() and fat_get_cluster() */
258 unsigned int cache_valid_id;
259
260 loff_t mmu_private;
261 int i_start; /* first cluster or 0 */
262 int i_logstart; /* logical first cluster */
263 int i_attrs; /* unused attribute bits */
264 loff_t i_pos; /* on-disk position of directory entry or 0 */
265 struct hlist_node i_fat_hash; /* hash by i_location */
266 struct inode vfs_inode;
267};
268
269struct fat_slot_info {
270 loff_t i_pos; /* on-disk position of directory entry */
271 loff_t slot_off; /* offset for slot or de start */
272 int nr_slots; /* number of slots + 1(de) in filename */
273 struct msdos_dir_entry *de;
274 struct buffer_head *bh;
275};
276
277static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb)
278{
279 return sb->s_fs_info;
280}
281
282static inline struct msdos_inode_info *MSDOS_I(struct inode *inode)
283{
284 return container_of(inode, struct msdos_inode_info, vfs_inode);
285}
286
287/* Return the FAT attribute byte for this inode */
288static inline u8 fat_attr(struct inode *inode)
289{
290 return ((inode->i_mode & S_IWUGO) ? ATTR_NONE : ATTR_RO) |
291 (S_ISDIR(inode->i_mode) ? ATTR_DIR : ATTR_NONE) |
292 MSDOS_I(inode)->i_attrs;
293}
294
295static inline unsigned char fat_checksum(const __u8 *name)
296{
297 unsigned char s = name[0];
298 s = (s<<7) + (s>>1) + name[1]; s = (s<<7) + (s>>1) + name[2];
299 s = (s<<7) + (s>>1) + name[3]; s = (s<<7) + (s>>1) + name[4];
300 s = (s<<7) + (s>>1) + name[5]; s = (s<<7) + (s>>1) + name[6];
301 s = (s<<7) + (s>>1) + name[7]; s = (s<<7) + (s>>1) + name[8];
302 s = (s<<7) + (s>>1) + name[9]; s = (s<<7) + (s>>1) + name[10];
303 return s;
304}
305
306static inline sector_t fat_clus_to_blknr(struct msdos_sb_info *sbi, int clus)
307{
308 return ((sector_t)clus - FAT_START_ENT) * sbi->sec_per_clus
309 + sbi->data_start;
310}
311
312static inline void fat16_towchar(wchar_t *dst, const __u8 *src, size_t len)
313{
314#ifdef __BIG_ENDIAN
315 while (len--) {
316 *dst++ = src[0] | (src[1] << 8);
317 src += 2;
318 }
319#else
320 memcpy(dst, src, len * 2);
321#endif
322}
323
324static inline void fatwchar_to16(__u8 *dst, const wchar_t *src, size_t len)
325{
326#ifdef __BIG_ENDIAN
327 while (len--) {
328 dst[0] = *src & 0x00FF;
329 dst[1] = (*src & 0xFF00) >> 8;
330 dst += 2;
331 src++;
332 }
333#else
334 memcpy(dst, src, len * 2);
335#endif
336}
337
338/* media of boot sector */ 165/* media of boot sector */
339static inline int fat_valid_media(u8 media) 166static inline int fat_valid_media(u8 media)
340{ 167{
341 return 0xf8 <= media || media == 0xf0; 168 return 0xf8 <= media || media == 0xf0;
342} 169}
343 170#endif /* !__KERNEL__ */
344/* fat/cache.c */ 171#endif /* !_LINUX_MSDOS_FS_H */
345extern void fat_cache_inval_inode(struct inode *inode);
346extern int fat_get_cluster(struct inode *inode, int cluster,
347 int *fclus, int *dclus);
348extern int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
349 unsigned long *mapped_blocks);
350
351/* fat/dir.c */
352extern const struct file_operations fat_dir_operations;
353extern int fat_search_long(struct inode *inode, const unsigned char *name,
354 int name_len, struct fat_slot_info *sinfo);
355extern int fat_dir_empty(struct inode *dir);
356extern int fat_subdirs(struct inode *dir);
357extern int fat_scan(struct inode *dir, const unsigned char *name,
358 struct fat_slot_info *sinfo);
359extern int fat_get_dotdot_entry(struct inode *dir, struct buffer_head **bh,
360 struct msdos_dir_entry **de, loff_t *i_pos);
361extern int fat_alloc_new_dir(struct inode *dir, struct timespec *ts);
362extern int fat_add_entries(struct inode *dir, void *slots, int nr_slots,
363 struct fat_slot_info *sinfo);
364extern int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo);
365
366/* fat/fatent.c */
367struct fat_entry {
368 int entry;
369 union {
370 u8 *ent12_p[2];
371 __le16 *ent16_p;
372 __le32 *ent32_p;
373 } u;
374 int nr_bhs;
375 struct buffer_head *bhs[2];
376};
377
378static inline void fatent_init(struct fat_entry *fatent)
379{
380 fatent->nr_bhs = 0;
381 fatent->entry = 0;
382 fatent->u.ent32_p = NULL;
383 fatent->bhs[0] = fatent->bhs[1] = NULL;
384}
385
386static inline void fatent_set_entry(struct fat_entry *fatent, int entry)
387{
388 fatent->entry = entry;
389 fatent->u.ent32_p = NULL;
390}
391
392static inline void fatent_brelse(struct fat_entry *fatent)
393{
394 int i;
395 fatent->u.ent32_p = NULL;
396 for (i = 0; i < fatent->nr_bhs; i++)
397 brelse(fatent->bhs[i]);
398 fatent->nr_bhs = 0;
399 fatent->bhs[0] = fatent->bhs[1] = NULL;
400}
401
402extern void fat_ent_access_init(struct super_block *sb);
403extern int fat_ent_read(struct inode *inode, struct fat_entry *fatent,
404 int entry);
405extern int fat_ent_write(struct inode *inode, struct fat_entry *fatent,
406 int new, int wait);
407extern int fat_alloc_clusters(struct inode *inode, int *cluster,
408 int nr_cluster);
409extern int fat_free_clusters(struct inode *inode, int cluster);
410extern int fat_count_free_clusters(struct super_block *sb);
411
412/* fat/file.c */
413extern int fat_generic_ioctl(struct inode *inode, struct file *filp,
414 unsigned int cmd, unsigned long arg);
415extern const struct file_operations fat_file_operations;
416extern const struct inode_operations fat_file_inode_operations;
417extern int fat_setattr(struct dentry * dentry, struct iattr * attr);
418extern void fat_truncate(struct inode *inode);
419extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry,
420 struct kstat *stat);
421
422/* fat/inode.c */
423extern void fat_attach(struct inode *inode, loff_t i_pos);
424extern void fat_detach(struct inode *inode);
425extern struct inode *fat_iget(struct super_block *sb, loff_t i_pos);
426extern struct inode *fat_build_inode(struct super_block *sb,
427 struct msdos_dir_entry *de, loff_t i_pos);
428extern int fat_sync_inode(struct inode *inode);
429extern int fat_fill_super(struct super_block *sb, void *data, int silent,
430 const struct inode_operations *fs_dir_inode_ops, int isvfat);
431
432extern int fat_flush_inodes(struct super_block *sb, struct inode *i1,
433 struct inode *i2);
434/* fat/misc.c */
435extern void fat_fs_panic(struct super_block *s, const char *fmt, ...);
436extern void fat_clusters_flush(struct super_block *sb);
437extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster);
438extern int date_dos2unix(unsigned short time, unsigned short date, int tz_utc);
439extern void fat_date_unix2dos(int unix_date, __le16 *time, __le16 *date,
440 int tz_utc);
441extern int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs);
442
443int fat_cache_init(void);
444void fat_cache_destroy(void);
445
446#endif /* __KERNEL__ */
447
448#endif
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index ee5124ec319e..00e2b575021f 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -282,9 +282,25 @@ struct cfi_private {
282/* 282/*
283 * Returns the command address according to the given geometry. 283 * Returns the command address according to the given geometry.
284 */ 284 */
285static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs, int interleave, int type) 285static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs,
286 struct map_info *map, struct cfi_private *cfi)
286{ 287{
287 return (cmd_ofs * type) * interleave; 288 unsigned bankwidth = map_bankwidth(map);
289 unsigned interleave = cfi_interleave(cfi);
290 unsigned type = cfi->device_type;
291 uint32_t addr;
292
293 addr = (cmd_ofs * type) * interleave;
294
295 /* Modify the unlock address if we are in compatiblity mode.
296 * For 16bit devices on 8 bit busses
297 * and 32bit devices on 16 bit busses
298 * set the low bit of the alternating bit sequence of the address.
299 */
300 if (((type * interleave) > bankwidth) && ((uint8_t)cmd_ofs == 0xaa))
301 addr |= (type >> 1)*interleave;
302
303 return addr;
288} 304}
289 305
290/* 306/*
@@ -430,7 +446,7 @@ static inline uint32_t cfi_send_gen_cmd(u_char cmd, uint32_t cmd_addr, uint32_t
430 int type, map_word *prev_val) 446 int type, map_word *prev_val)
431{ 447{
432 map_word val; 448 map_word val;
433 uint32_t addr = base + cfi_build_cmd_addr(cmd_addr, cfi_interleave(cfi), type); 449 uint32_t addr = base + cfi_build_cmd_addr(cmd_addr, map, cfi);
434 val = cfi_build_cmd(cmd, map, cfi); 450 val = cfi_build_cmd(cmd, map, cfi);
435 451
436 if (prev_val) 452 if (prev_val)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index c8bcb59adfdf..9d77b1d7dca8 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1537,7 +1537,6 @@ static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
1537/** 1537/**
1538 * netif_tx_lock - grab network device transmit lock 1538 * netif_tx_lock - grab network device transmit lock
1539 * @dev: network device 1539 * @dev: network device
1540 * @cpu: cpu number of lock owner
1541 * 1540 *
1542 * Get network device transmit lock 1541 * Get network device transmit lock
1543 */ 1542 */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index c75b82bda327..feb4657bb043 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1136,7 +1136,7 @@ static inline void pci_mmcfg_late_init(void) { }
1136#endif 1136#endif
1137 1137
1138#ifdef CONFIG_HAS_IOMEM 1138#ifdef CONFIG_HAS_IOMEM
1139static inline void * pci_ioremap_bar(struct pci_dev *pdev, int bar) 1139static inline void __iomem *pci_ioremap_bar(struct pci_dev *pdev, int bar)
1140{ 1140{
1141 /* 1141 /*
1142 * Make sure the BAR is actually a memory resource, not an IO resource 1142 * Make sure the BAR is actually a memory resource, not an IO resource
diff --git a/include/linux/phonet.h b/include/linux/phonet.h
index c9609f9aedac..4157faa857b6 100644
--- a/include/linux/phonet.h
+++ b/include/linux/phonet.h
@@ -72,6 +72,7 @@ struct phonetmsg {
72 } pn_msg_u; 72 } pn_msg_u;
73}; 73};
74#define PN_COMMON_MESSAGE 0xF0 74#define PN_COMMON_MESSAGE 0xF0
75#define PN_COMMGR 0x10
75#define PN_PREFIX 0xE0 /* resource for extended messages */ 76#define PN_PREFIX 0xE0 /* resource for extended messages */
76#define pn_submsg_id pn_msg_u.base.pn_submsg_id 77#define pn_submsg_id pn_msg_u.base.pn_submsg_id
77#define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id 78#define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index c200b9a34aff..8fc909ef6787 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -115,6 +115,9 @@ struct mdk_rdev_s
115 * in superblock. 115 * in superblock.
116 */ 116 */
117 struct work_struct del_work; /* used for delayed sysfs removal */ 117 struct work_struct del_work; /* used for delayed sysfs removal */
118
119 struct sysfs_dirent *sysfs_state; /* handle for 'state'
120 * sysfs entry */
118}; 121};
119 122
120struct mddev_s 123struct mddev_s
@@ -128,7 +131,6 @@ struct mddev_s
128#define MD_CHANGE_DEVS 0 /* Some device status has changed */ 131#define MD_CHANGE_DEVS 0 /* Some device status has changed */
129#define MD_CHANGE_CLEAN 1 /* transition to or from 'clean' */ 132#define MD_CHANGE_CLEAN 1 /* transition to or from 'clean' */
130#define MD_CHANGE_PENDING 2 /* superblock update in progress */ 133#define MD_CHANGE_PENDING 2 /* superblock update in progress */
131#define MD_NOTIFY_ARRAY_STATE 3 /* atomic context wants to notify userspace */
132 134
133 int ro; 135 int ro;
134 136
@@ -239,6 +241,10 @@ struct mddev_s
239 sector_t resync_max; /* resync should pause 241 sector_t resync_max; /* resync should pause
240 * when it gets here */ 242 * when it gets here */
241 243
244 struct sysfs_dirent *sysfs_state; /* handle for 'array_state'
245 * file in sysfs.
246 */
247
242 spinlock_t write_lock; 248 spinlock_t write_lock;
243 wait_queue_head_t sb_wait; /* for waiting on superblock updates */ 249 wait_queue_head_t sb_wait; /* for waiting on superblock updates */
244 atomic_t pending_writes; /* number of active superblock writes */ 250 atomic_t pending_writes; /* number of active superblock writes */
diff --git a/include/linux/resource.h b/include/linux/resource.h
index aaa423a6f3d9..40fc7e626082 100644
--- a/include/linux/resource.h
+++ b/include/linux/resource.h
@@ -59,10 +59,10 @@ struct rlimit {
59#define _STK_LIM (8*1024*1024) 59#define _STK_LIM (8*1024*1024)
60 60
61/* 61/*
62 * GPG wants 32kB of mlocked memory, to make sure pass phrases 62 * GPG2 wants 64kB of mlocked memory, to make sure pass phrases
63 * and other sensitive information are never written to disk. 63 * and other sensitive information are never written to disk.
64 */ 64 */
65#define MLOCK_LIMIT (8 * PAGE_SIZE) 65#define MLOCK_LIMIT ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024)
66 66
67/* 67/*
68 * Due to binary compatibility, the actual resource numbers 68 * Due to binary compatibility, the actual resource numbers
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 8478f334d732..644ffbda17ca 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -247,6 +247,7 @@ extern void init_idle(struct task_struct *idle, int cpu);
247extern void init_idle_bootup_task(struct task_struct *idle); 247extern void init_idle_bootup_task(struct task_struct *idle);
248 248
249extern int runqueue_is_locked(void); 249extern int runqueue_is_locked(void);
250extern void task_rq_unlock_wait(struct task_struct *p);
250 251
251extern cpumask_t nohz_cpu_mask; 252extern cpumask_t nohz_cpu_mask;
252#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) 253#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ)
@@ -936,7 +937,6 @@ struct sched_class {
936 void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup); 937 void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup);
937 void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep); 938 void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep);
938 void (*yield_task) (struct rq *rq); 939 void (*yield_task) (struct rq *rq);
939 int (*select_task_rq)(struct task_struct *p, int sync);
940 940
941 void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync); 941 void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync);
942 942
@@ -944,6 +944,8 @@ struct sched_class {
944 void (*put_prev_task) (struct rq *rq, struct task_struct *p); 944 void (*put_prev_task) (struct rq *rq, struct task_struct *p);
945 945
946#ifdef CONFIG_SMP 946#ifdef CONFIG_SMP
947 int (*select_task_rq)(struct task_struct *p, int sync);
948
947 unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, 949 unsigned long (*load_balance) (struct rq *this_rq, int this_cpu,
948 struct rq *busiest, unsigned long max_load_move, 950 struct rq *busiest, unsigned long max_load_move,
949 struct sched_domain *sd, enum cpu_idle_type idle, 951 struct sched_domain *sd, enum cpu_idle_type idle,
@@ -955,16 +957,17 @@ struct sched_class {
955 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); 957 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
956 void (*post_schedule) (struct rq *this_rq); 958 void (*post_schedule) (struct rq *this_rq);
957 void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); 959 void (*task_wake_up) (struct rq *this_rq, struct task_struct *task);
958#endif
959 960
960 void (*set_curr_task) (struct rq *rq);
961 void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
962 void (*task_new) (struct rq *rq, struct task_struct *p);
963 void (*set_cpus_allowed)(struct task_struct *p, 961 void (*set_cpus_allowed)(struct task_struct *p,
964 const cpumask_t *newmask); 962 const cpumask_t *newmask);
965 963
966 void (*rq_online)(struct rq *rq); 964 void (*rq_online)(struct rq *rq);
967 void (*rq_offline)(struct rq *rq); 965 void (*rq_offline)(struct rq *rq);
966#endif
967
968 void (*set_curr_task) (struct rq *rq);
969 void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
970 void (*task_new) (struct rq *rq, struct task_struct *p);
968 971
969 void (*switched_from) (struct rq *this_rq, struct task_struct *task, 972 void (*switched_from) (struct rq *this_rq, struct task_struct *task,
970 int running); 973 int running);
@@ -1347,6 +1350,8 @@ struct task_struct {
1347 */ 1350 */
1348 unsigned long timer_slack_ns; 1351 unsigned long timer_slack_ns;
1349 unsigned long default_timer_slack_ns; 1352 unsigned long default_timer_slack_ns;
1353
1354 struct list_head *scm_work_list;
1350}; 1355};
1351 1356
1352/* 1357/*
diff --git a/include/linux/security.h b/include/linux/security.h
index f5c4a51eb42e..c13f1cec9abb 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1585,6 +1585,7 @@ int security_syslog(int type);
1585int security_settime(struct timespec *ts, struct timezone *tz); 1585int security_settime(struct timespec *ts, struct timezone *tz);
1586int security_vm_enough_memory(long pages); 1586int security_vm_enough_memory(long pages);
1587int security_vm_enough_memory_mm(struct mm_struct *mm, long pages); 1587int security_vm_enough_memory_mm(struct mm_struct *mm, long pages);
1588int security_vm_enough_memory_kern(long pages);
1588int security_bprm_alloc(struct linux_binprm *bprm); 1589int security_bprm_alloc(struct linux_binprm *bprm);
1589void security_bprm_free(struct linux_binprm *bprm); 1590void security_bprm_free(struct linux_binprm *bprm);
1590void security_bprm_apply_creds(struct linux_binprm *bprm, int unsafe); 1591void security_bprm_apply_creds(struct linux_binprm *bprm, int unsafe);
@@ -1820,6 +1821,11 @@ static inline int security_vm_enough_memory(long pages)
1820 return cap_vm_enough_memory(current->mm, pages); 1821 return cap_vm_enough_memory(current->mm, pages);
1821} 1822}
1822 1823
1824static inline int security_vm_enough_memory_kern(long pages)
1825{
1826 return cap_vm_enough_memory(current->mm, pages);
1827}
1828
1823static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages) 1829static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
1824{ 1830{
1825 return cap_vm_enough_memory(mm, pages); 1831 return cap_vm_enough_memory(mm, pages);
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 2e4d58b26c06..3f9a60043a97 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -64,8 +64,17 @@ extern void smp_cpus_done(unsigned int max_cpus);
64 * Call a function on all other processors 64 * Call a function on all other processors
65 */ 65 */
66int smp_call_function(void(*func)(void *info), void *info, int wait); 66int smp_call_function(void(*func)(void *info), void *info, int wait);
67/* Deprecated: use smp_call_function_many() which uses a cpumask ptr. */
67int smp_call_function_mask(cpumask_t mask, void(*func)(void *info), void *info, 68int smp_call_function_mask(cpumask_t mask, void(*func)(void *info), void *info,
68 int wait); 69 int wait);
70
71static inline void smp_call_function_many(const struct cpumask *mask,
72 void (*func)(void *info), void *info,
73 int wait)
74{
75 smp_call_function_mask(*mask, func, info, wait);
76}
77
69int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, 78int smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
70 int wait); 79 int wait);
71void __smp_call_function_single(int cpuid, struct call_single_data *data); 80void __smp_call_function_single(int cpuid, struct call_single_data *data);
diff --git a/include/linux/spi/spi_bitbang.h b/include/linux/spi/spi_bitbang.h
index b8db32cea1de..bf8de281b4ed 100644
--- a/include/linux/spi/spi_bitbang.h
+++ b/include/linux/spi/spi_bitbang.h
@@ -18,6 +18,9 @@
18 * duplex (MicroWire) controllers. Provide chipslect() and txrx_bufs(), 18 * duplex (MicroWire) controllers. Provide chipslect() and txrx_bufs(),
19 * and custom setup()/cleanup() methods. 19 * and custom setup()/cleanup() methods.
20 */ 20 */
21
22#include <linux/workqueue.h>
23
21struct spi_bitbang { 24struct spi_bitbang {
22 struct workqueue_struct *workqueue; 25 struct workqueue_struct *workqueue;
23 struct work_struct work; 26 struct work_struct work;
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h
index e530026eedf7..17d9b58f6379 100644
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
@@ -427,12 +427,16 @@ static inline int ssb_dma_mapping_error(struct ssb_device *dev, dma_addr_t addr)
427{ 427{
428 switch (dev->bus->bustype) { 428 switch (dev->bus->bustype) {
429 case SSB_BUSTYPE_PCI: 429 case SSB_BUSTYPE_PCI:
430#ifdef CONFIG_SSB_PCIHOST
430 return pci_dma_mapping_error(dev->bus->host_pci, addr); 431 return pci_dma_mapping_error(dev->bus->host_pci, addr);
432#endif
433 break;
431 case SSB_BUSTYPE_SSB: 434 case SSB_BUSTYPE_SSB:
432 return dma_mapping_error(dev->dev, addr); 435 return dma_mapping_error(dev->dev, addr);
433 default: 436 default:
434 __ssb_dma_not_implemented(dev); 437 break;
435 } 438 }
439 __ssb_dma_not_implemented(dev);
436 return -ENOSYS; 440 return -ENOSYS;
437} 441}
438 442
@@ -441,12 +445,16 @@ static inline dma_addr_t ssb_dma_map_single(struct ssb_device *dev, void *p,
441{ 445{
442 switch (dev->bus->bustype) { 446 switch (dev->bus->bustype) {
443 case SSB_BUSTYPE_PCI: 447 case SSB_BUSTYPE_PCI:
448#ifdef CONFIG_SSB_PCIHOST
444 return pci_map_single(dev->bus->host_pci, p, size, dir); 449 return pci_map_single(dev->bus->host_pci, p, size, dir);
450#endif
451 break;
445 case SSB_BUSTYPE_SSB: 452 case SSB_BUSTYPE_SSB:
446 return dma_map_single(dev->dev, p, size, dir); 453 return dma_map_single(dev->dev, p, size, dir);
447 default: 454 default:
448 __ssb_dma_not_implemented(dev); 455 break;
449 } 456 }
457 __ssb_dma_not_implemented(dev);
450 return 0; 458 return 0;
451} 459}
452 460
@@ -455,14 +463,18 @@ static inline void ssb_dma_unmap_single(struct ssb_device *dev, dma_addr_t dma_a
455{ 463{
456 switch (dev->bus->bustype) { 464 switch (dev->bus->bustype) {
457 case SSB_BUSTYPE_PCI: 465 case SSB_BUSTYPE_PCI:
466#ifdef CONFIG_SSB_PCIHOST
458 pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); 467 pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir);
459 return; 468 return;
469#endif
470 break;
460 case SSB_BUSTYPE_SSB: 471 case SSB_BUSTYPE_SSB:
461 dma_unmap_single(dev->dev, dma_addr, size, dir); 472 dma_unmap_single(dev->dev, dma_addr, size, dir);
462 return; 473 return;
463 default: 474 default:
464 __ssb_dma_not_implemented(dev); 475 break;
465 } 476 }
477 __ssb_dma_not_implemented(dev);
466} 478}
467 479
468static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, 480static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev,
@@ -472,15 +484,19 @@ static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev,
472{ 484{
473 switch (dev->bus->bustype) { 485 switch (dev->bus->bustype) {
474 case SSB_BUSTYPE_PCI: 486 case SSB_BUSTYPE_PCI:
487#ifdef CONFIG_SSB_PCIHOST
475 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, 488 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr,
476 size, dir); 489 size, dir);
477 return; 490 return;
491#endif
492 break;
478 case SSB_BUSTYPE_SSB: 493 case SSB_BUSTYPE_SSB:
479 dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); 494 dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir);
480 return; 495 return;
481 default: 496 default:
482 __ssb_dma_not_implemented(dev); 497 break;
483 } 498 }
499 __ssb_dma_not_implemented(dev);
484} 500}
485 501
486static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, 502static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev,
@@ -490,15 +506,19 @@ static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev,
490{ 506{
491 switch (dev->bus->bustype) { 507 switch (dev->bus->bustype) {
492 case SSB_BUSTYPE_PCI: 508 case SSB_BUSTYPE_PCI:
509#ifdef CONFIG_SSB_PCIHOST
493 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, 510 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr,
494 size, dir); 511 size, dir);
495 return; 512 return;
513#endif
514 break;
496 case SSB_BUSTYPE_SSB: 515 case SSB_BUSTYPE_SSB:
497 dma_sync_single_for_device(dev->dev, dma_addr, size, dir); 516 dma_sync_single_for_device(dev->dev, dma_addr, size, dir);
498 return; 517 return;
499 default: 518 default:
500 __ssb_dma_not_implemented(dev); 519 break;
501 } 520 }
521 __ssb_dma_not_implemented(dev);
502} 522}
503 523
504static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, 524static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev,
@@ -509,17 +529,21 @@ static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev,
509{ 529{
510 switch (dev->bus->bustype) { 530 switch (dev->bus->bustype) {
511 case SSB_BUSTYPE_PCI: 531 case SSB_BUSTYPE_PCI:
532#ifdef CONFIG_SSB_PCIHOST
512 /* Just sync everything. That's all the PCI API can do. */ 533 /* Just sync everything. That's all the PCI API can do. */
513 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, 534 pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr,
514 offset + size, dir); 535 offset + size, dir);
515 return; 536 return;
537#endif
538 break;
516 case SSB_BUSTYPE_SSB: 539 case SSB_BUSTYPE_SSB:
517 dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, 540 dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset,
518 size, dir); 541 size, dir);
519 return; 542 return;
520 default: 543 default:
521 __ssb_dma_not_implemented(dev); 544 break;
522 } 545 }
546 __ssb_dma_not_implemented(dev);
523} 547}
524 548
525static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, 549static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev,
@@ -530,17 +554,21 @@ static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev,
530{ 554{
531 switch (dev->bus->bustype) { 555 switch (dev->bus->bustype) {
532 case SSB_BUSTYPE_PCI: 556 case SSB_BUSTYPE_PCI:
557#ifdef CONFIG_SSB_PCIHOST
533 /* Just sync everything. That's all the PCI API can do. */ 558 /* Just sync everything. That's all the PCI API can do. */
534 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, 559 pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr,
535 offset + size, dir); 560 offset + size, dir);
536 return; 561 return;
562#endif
563 break;
537 case SSB_BUSTYPE_SSB: 564 case SSB_BUSTYPE_SSB:
538 dma_sync_single_range_for_device(dev->dev, dma_addr, offset, 565 dma_sync_single_range_for_device(dev->dev, dma_addr, offset,
539 size, dir); 566 size, dir);
540 return; 567 return;
541 default: 568 default:
542 __ssb_dma_not_implemented(dev); 569 break;
543 } 570 }
571 __ssb_dma_not_implemented(dev);
544} 572}
545 573
546 574
diff --git a/include/linux/string.h b/include/linux/string.h
index 810d80df0a1d..d18fc198aa2f 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -1,7 +1,7 @@
1#ifndef _LINUX_STRING_H_ 1#ifndef _LINUX_STRING_H_
2#define _LINUX_STRING_H_ 2#define _LINUX_STRING_H_
3 3
4/* We don't want strings.h stuff being user by user stuff by accident */ 4/* We don't want strings.h stuff being used by user stuff by accident */
5 5
6#ifndef __KERNEL__ 6#ifndef __KERNEL__
7#include <string.h> 7#include <string.h>
diff --git a/include/linux/telephony.h b/include/linux/telephony.h
index 5b2b6261f193..f63afe330add 100644
--- a/include/linux/telephony.h
+++ b/include/linux/telephony.h
@@ -14,7 +14,7 @@
14 * Authors: Ed Okerson, <eokerson@quicknet.net> 14 * Authors: Ed Okerson, <eokerson@quicknet.net>
15 * Greg Herlein, <gherlein@quicknet.net> 15 * Greg Herlein, <gherlein@quicknet.net>
16 * 16 *
17 * Contributors: Alan Cox, <alan@redhat.com> 17 * Contributors: Alan Cox, <alan@lxorguk.ukuu.org.uk>
18 * David W. Erhart, <derhart@quicknet.net> 18 * David W. Erhart, <derhart@quicknet.net>
19 * 19 *
20 * IN NO EVENT SHALL QUICKNET TECHNOLOGIES, INC. BE LIABLE TO ANY PARTY FOR 20 * IN NO EVENT SHALL QUICKNET TECHNOLOGIES, INC. BE LIABLE TO ANY PARTY FOR
diff --git a/include/linux/timer.h b/include/linux/timer.h
index d4ba79248a27..daf9685b861c 100644
--- a/include/linux/timer.h
+++ b/include/linux/timer.h
@@ -186,4 +186,9 @@ unsigned long __round_jiffies_relative(unsigned long j, int cpu);
186unsigned long round_jiffies(unsigned long j); 186unsigned long round_jiffies(unsigned long j);
187unsigned long round_jiffies_relative(unsigned long j); 187unsigned long round_jiffies_relative(unsigned long j);
188 188
189unsigned long __round_jiffies_up(unsigned long j, int cpu);
190unsigned long __round_jiffies_up_relative(unsigned long j, int cpu);
191unsigned long round_jiffies_up(unsigned long j);
192unsigned long round_jiffies_up_relative(unsigned long j);
193
189#endif 194#endif
diff --git a/include/linux/topology.h b/include/linux/topology.h
index 2158fc0d5a56..117f1b7405cf 100644
--- a/include/linux/topology.h
+++ b/include/linux/topology.h
@@ -99,7 +99,7 @@ void arch_update_cpu_topology(void);
99 | SD_BALANCE_FORK \ 99 | SD_BALANCE_FORK \
100 | SD_BALANCE_EXEC \ 100 | SD_BALANCE_EXEC \
101 | SD_WAKE_AFFINE \ 101 | SD_WAKE_AFFINE \
102 | SD_WAKE_IDLE \ 102 | SD_WAKE_BALANCE \
103 | SD_SHARE_CPUPOWER, \ 103 | SD_SHARE_CPUPOWER, \
104 .last_balance = jiffies, \ 104 .last_balance = jiffies, \
105 .balance_interval = 1, \ 105 .balance_interval = 1, \
@@ -120,10 +120,10 @@ void arch_update_cpu_topology(void);
120 .wake_idx = 1, \ 120 .wake_idx = 1, \
121 .forkexec_idx = 1, \ 121 .forkexec_idx = 1, \
122 .flags = SD_LOAD_BALANCE \ 122 .flags = SD_LOAD_BALANCE \
123 | SD_BALANCE_NEWIDLE \
124 | SD_BALANCE_FORK \ 123 | SD_BALANCE_FORK \
125 | SD_BALANCE_EXEC \ 124 | SD_BALANCE_EXEC \
126 | SD_WAKE_AFFINE \ 125 | SD_WAKE_AFFINE \
126 | SD_WAKE_BALANCE \
127 | SD_SHARE_PKG_RESOURCES\ 127 | SD_SHARE_PKG_RESOURCES\
128 | BALANCE_FOR_MC_POWER, \ 128 | BALANCE_FOR_MC_POWER, \
129 .last_balance = jiffies, \ 129 .last_balance = jiffies, \
@@ -146,10 +146,10 @@ void arch_update_cpu_topology(void);
146 .wake_idx = 1, \ 146 .wake_idx = 1, \
147 .forkexec_idx = 1, \ 147 .forkexec_idx = 1, \
148 .flags = SD_LOAD_BALANCE \ 148 .flags = SD_LOAD_BALANCE \
149 | SD_BALANCE_NEWIDLE \
150 | SD_BALANCE_FORK \
151 | SD_BALANCE_EXEC \ 149 | SD_BALANCE_EXEC \
150 | SD_BALANCE_FORK \
152 | SD_WAKE_AFFINE \ 151 | SD_WAKE_AFFINE \
152 | SD_WAKE_BALANCE \
153 | BALANCE_FOR_PKG_POWER,\ 153 | BALANCE_FOR_PKG_POWER,\
154 .last_balance = jiffies, \ 154 .last_balance = jiffies, \
155 .balance_interval = 1, \ 155 .balance_interval = 1, \
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index 89a5a1231ffb..b36291130f22 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -240,4 +240,12 @@ void cancel_rearming_delayed_work(struct delayed_work *work)
240 cancel_delayed_work_sync(work); 240 cancel_delayed_work_sync(work);
241} 241}
242 242
243#ifndef CONFIG_SMP
244static inline long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)
245{
246 return fn(arg);
247}
248#else
249long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg);
250#endif /* CONFIG_SMP */
243#endif 251#endif
diff --git a/include/net/af_unix.h b/include/net/af_unix.h
index 7dd29b7e461d..c29ff1da8a18 100644
--- a/include/net/af_unix.h
+++ b/include/net/af_unix.h
@@ -54,6 +54,7 @@ struct unix_sock {
54 atomic_long_t inflight; 54 atomic_long_t inflight;
55 spinlock_t lock; 55 spinlock_t lock;
56 unsigned int gc_candidate : 1; 56 unsigned int gc_candidate : 1;
57 unsigned int gc_maybe_cycle : 1;
57 wait_queue_head_t peer_wait; 58 wait_queue_head_t peer_wait;
58}; 59};
59#define unix_sk(__sk) ((struct unix_sock *)__sk) 60#define unix_sk(__sk) ((struct unix_sock *)__sk)
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index d861197f83c7..8856e2d60e9f 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1474,7 +1474,6 @@ void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw,
1474 * ieee80211_beacon_get - beacon generation function 1474 * ieee80211_beacon_get - beacon generation function
1475 * @hw: pointer obtained from ieee80211_alloc_hw(). 1475 * @hw: pointer obtained from ieee80211_alloc_hw().
1476 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf. 1476 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf.
1477 * @control: will be filled with information needed to send this beacon.
1478 * 1477 *
1479 * If the beacon frames are generated by the host system (i.e., not in 1478 * If the beacon frames are generated by the host system (i.e., not in
1480 * hardware/firmware), the low-level driver uses this function to receive 1479 * hardware/firmware), the low-level driver uses this function to receive
@@ -1575,7 +1574,6 @@ __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw,
1575 * ieee80211_get_buffered_bc - accessing buffered broadcast and multicast frames 1574 * ieee80211_get_buffered_bc - accessing buffered broadcast and multicast frames
1576 * @hw: pointer as obtained from ieee80211_alloc_hw(). 1575 * @hw: pointer as obtained from ieee80211_alloc_hw().
1577 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf. 1576 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf.
1578 * @control: will be filled with information needed to send returned frame.
1579 * 1577 *
1580 * Function for accessing buffered broadcast and multicast frames. If 1578 * Function for accessing buffered broadcast and multicast frames. If
1581 * hardware/firmware does not implement buffering of broadcast/multicast 1579 * hardware/firmware does not implement buffering of broadcast/multicast
@@ -1623,9 +1621,8 @@ unsigned int ieee80211_hdrlen(__le16 fc);
1623 * 1621 *
1624 * @keyconf: the parameter passed with the set key 1622 * @keyconf: the parameter passed with the set key
1625 * @skb: the skb for which the key is needed 1623 * @skb: the skb for which the key is needed
1626 * @rc4key: a buffer to which the key will be written
1627 * @type: TBD 1624 * @type: TBD
1628 * @key: TBD 1625 * @key: a buffer to which the key will be written
1629 */ 1626 */
1630void ieee80211_get_tkip_key(struct ieee80211_key_conf *keyconf, 1627void ieee80211_get_tkip_key(struct ieee80211_key_conf *keyconf,
1631 struct sk_buff *skb, 1628 struct sk_buff *skb,
@@ -1726,7 +1723,8 @@ void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw,
1726 * @hw: pointer as obtained from ieee80211_alloc_hw(). 1723 * @hw: pointer as obtained from ieee80211_alloc_hw().
1727 * @ra: receiver address of the BA session recipient 1724 * @ra: receiver address of the BA session recipient
1728 * @tid: the TID to BA on. 1725 * @tid: the TID to BA on.
1729 * @return: success if addBA request was sent, failure otherwise 1726 *
1727 * Return: success if addBA request was sent, failure otherwise
1730 * 1728 *
1731 * Although mac80211/low level driver/user space application can estimate 1729 * Although mac80211/low level driver/user space application can estimate
1732 * the need to start aggregation on a certain RA/TID, the session level 1730 * the need to start aggregation on a certain RA/TID, the session level
@@ -1764,7 +1762,8 @@ void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_hw *hw, const u8 *ra,
1764 * @ra: receiver address of the BA session recipient 1762 * @ra: receiver address of the BA session recipient
1765 * @tid: the TID to stop BA. 1763 * @tid: the TID to stop BA.
1766 * @initiator: if indicates initiator DELBA frame will be sent. 1764 * @initiator: if indicates initiator DELBA frame will be sent.
1767 * @return: error if no sta with matching da found, success otherwise 1765 *
1766 * Return: error if no sta with matching da found, success otherwise
1768 * 1767 *
1769 * Although mac80211/low level driver/user space application can estimate 1768 * Although mac80211/low level driver/user space application can estimate
1770 * the need to stop aggregation on a certain RA/TID, the session level 1769 * the need to stop aggregation on a certain RA/TID, the session level
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 708009be88b6..700c53a3c6fa 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -214,6 +214,8 @@ struct pernet_operations {
214 214
215extern int register_pernet_subsys(struct pernet_operations *); 215extern int register_pernet_subsys(struct pernet_operations *);
216extern void unregister_pernet_subsys(struct pernet_operations *); 216extern void unregister_pernet_subsys(struct pernet_operations *);
217extern int register_pernet_gen_subsys(int *id, struct pernet_operations *);
218extern void unregister_pernet_gen_subsys(int id, struct pernet_operations *);
217extern int register_pernet_device(struct pernet_operations *); 219extern int register_pernet_device(struct pernet_operations *);
218extern void unregister_pernet_device(struct pernet_operations *); 220extern void unregister_pernet_device(struct pernet_operations *);
219extern int register_pernet_gen_device(int *id, struct pernet_operations *); 221extern int register_pernet_gen_device(int *id, struct pernet_operations *);
diff --git a/include/net/phonet/phonet.h b/include/net/phonet/phonet.h
index d4e72508e145..c6a245184460 100644
--- a/include/net/phonet/phonet.h
+++ b/include/net/phonet/phonet.h
@@ -27,7 +27,7 @@
27 * The lower layers may not require more space, ever. Make sure it's 27 * The lower layers may not require more space, ever. Make sure it's
28 * enough. 28 * enough.
29 */ 29 */
30#define MAX_PHONET_HEADER 8 30#define MAX_PHONET_HEADER (8 + MAX_HEADER)
31 31
32/* 32/*
33 * Every Phonet* socket has this structure first in its 33 * Every Phonet* socket has this structure first in its
diff --git a/include/net/scm.h b/include/net/scm.h
index 06df126103ca..33e9986beb86 100644
--- a/include/net/scm.h
+++ b/include/net/scm.h
@@ -14,8 +14,9 @@
14 14
15struct scm_fp_list 15struct scm_fp_list
16{ 16{
17 int count; 17 struct list_head list;
18 struct file *fp[SCM_MAX_FD]; 18 int count;
19 struct file *fp[SCM_MAX_FD];
19}; 20};
20 21
21struct scm_cookie 22struct scm_cookie
diff --git a/include/net/sock.h b/include/net/sock.h
index ada50c04d09f..c04f9e18ea22 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -936,7 +936,6 @@ extern void sock_init_data(struct socket *sock, struct sock *sk);
936 936
937/** 937/**
938 * sk_filter_release: Release a socket filter 938 * sk_filter_release: Release a socket filter
939 * @sk: socket
940 * @fp: filter to remove 939 * @fp: filter to remove
941 * 940 *
942 * Remove a filter from a socket and release its resources. 941 * Remove a filter from a socket and release its resources.
diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h
index cf4c219c0b5c..17231385cb37 100644
--- a/include/scsi/scsi_tcq.h
+++ b/include/scsi/scsi_tcq.h
@@ -140,8 +140,18 @@ static inline struct scsi_cmnd *scsi_find_tag(struct scsi_device *sdev, int tag)
140 */ 140 */
141static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth) 141static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth)
142{ 142{
143 shost->bqt = blk_init_tags(depth); 143 /*
144 return shost->bqt ? 0 : -ENOMEM; 144 * If the shared tag map isn't already initialized, do it now.
145 * This saves callers from having to check ->bqt when setting up
146 * devices on the shared host (for libata)
147 */
148 if (!shost->bqt) {
149 shost->bqt = blk_init_tags(depth);
150 if (!shost->bqt)
151 return -ENOMEM;
152 }
153
154 return 0;
145} 155}
146 156
147/** 157/**
diff --git a/include/sound/core.h b/include/sound/core.h
index 35424a971b7a..1508c4ec1ba9 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -385,9 +385,13 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
385 385
386#else /* !CONFIG_SND_DEBUG */ 386#else /* !CONFIG_SND_DEBUG */
387 387
388#define snd_printd(fmt, args...) /* nothing */ 388#define snd_printd(fmt, args...) do { } while (0)
389#define snd_BUG() /* nothing */ 389#define snd_BUG() do { } while (0)
390#define snd_BUG_ON(cond) ({/*(void)(cond);*/ 0;}) /* always false */ 390static inline int __snd_bug_on(void)
391{
392 return 0;
393}
394#define snd_BUG_ON(cond) __snd_bug_on() /* always false */
391 395
392#endif /* CONFIG_SND_DEBUG */ 396#endif /* CONFIG_SND_DEBUG */
393 397
diff --git a/include/sound/soc.h b/include/sound/soc.h
index a1e0357a84d7..5e0189876afd 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -28,7 +28,8 @@
28 */ 28 */
29#define SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert) \ 29#define SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert) \
30 ((unsigned long)&(struct soc_mixer_control) \ 30 ((unsigned long)&(struct soc_mixer_control) \
31 {.reg = xreg, .shift = xshift, .max = xmax, .invert = xinvert}) 31 {.reg = xreg, .shift = xshift, .rshift = xshift, .max = xmax, \
32 .invert = xinvert})
32#define SOC_SINGLE_VALUE_EXT(xreg, xmax, xinvert) \ 33#define SOC_SINGLE_VALUE_EXT(xreg, xmax, xinvert) \
33 ((unsigned long)&(struct soc_mixer_control) \ 34 ((unsigned long)&(struct soc_mixer_control) \
34 {.reg = xreg, .max = xmax, .invert = xinvert}) 35 {.reg = xreg, .max = xmax, .invert = xinvert})
diff --git a/init/Kconfig b/init/Kconfig
index 44e9208f9c78..86b00c53fade 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -401,16 +401,20 @@ config CGROUP_MEM_RES_CTLR
401 depends on CGROUPS && RESOURCE_COUNTERS 401 depends on CGROUPS && RESOURCE_COUNTERS
402 select MM_OWNER 402 select MM_OWNER
403 help 403 help
404 Provides a memory resource controller that manages both page cache and 404 Provides a memory resource controller that manages both anonymous
405 RSS memory. 405 memory and page cache. (See Documentation/controllers/memory.txt)
406 406
407 Note that setting this option increases fixed memory overhead 407 Note that setting this option increases fixed memory overhead
408 associated with each page of memory in the system by 4/8 bytes 408 associated with each page of memory in the system. By this,
409 and also increases cache misses because struct page on many 64bit 409 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
410 systems will not fit into a single cache line anymore. 410 usage tracking struct at boot. Total amount of this is printed out
411 at boot.
411 412
412 Only enable when you're ok with these trade offs and really 413 Only enable when you're ok with these trade offs and really
413 sure you need the memory resource controller. 414 sure you need the memory resource controller. Even when you enable
415 this, you can set "cgroup_disable=memory" at your boot option to
416 disable memory resource controller and you can avoid overheads.
417 (and lose benefits of memory resource contoller)
414 418
415 This config option also selects MM_OWNER config option, which 419 This config option also selects MM_OWNER config option, which
416 could in turn add some fork/exit overhead. 420 could in turn add some fork/exit overhead.
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
index 4c87ee1fe5d3..d6da5cdd3c38 100644
--- a/init/do_mounts_md.c
+++ b/init/do_mounts_md.c
@@ -1,6 +1,5 @@
1
2#include <linux/raid/md.h>
3#include <linux/delay.h> 1#include <linux/delay.h>
2#include <linux/raid/md.h>
4 3
5#include "do_mounts.h" 4#include "do_mounts.h"
6 5
diff --git a/kernel/Makefile b/kernel/Makefile
index 305f11dbef21..9a3ec66a9d84 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -13,7 +13,7 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o \
13 13
14CFLAGS_REMOVE_sched.o = -mno-spe 14CFLAGS_REMOVE_sched.o = -mno-spe
15 15
16ifdef CONFIG_FTRACE 16ifdef CONFIG_FUNCTION_TRACER
17# Do not trace debug files and internal ftrace files 17# Do not trace debug files and internal ftrace files
18CFLAGS_REMOVE_lockdep.o = -pg 18CFLAGS_REMOVE_lockdep.o = -pg
19CFLAGS_REMOVE_lockdep_proc.o = -pg 19CFLAGS_REMOVE_lockdep_proc.o = -pg
@@ -88,7 +88,7 @@ obj-$(CONFIG_MARKERS) += marker.o
88obj-$(CONFIG_TRACEPOINTS) += tracepoint.o 88obj-$(CONFIG_TRACEPOINTS) += tracepoint.o
89obj-$(CONFIG_LATENCYTOP) += latencytop.o 89obj-$(CONFIG_LATENCYTOP) += latencytop.o
90obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o 90obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o
91obj-$(CONFIG_FTRACE) += trace/ 91obj-$(CONFIG_FUNCTION_TRACER) += trace/
92obj-$(CONFIG_TRACING) += trace/ 92obj-$(CONFIG_TRACING) += trace/
93obj-$(CONFIG_SMP) += sched_cpupri.o 93obj-$(CONFIG_SMP) += sched_cpupri.o
94 94
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 35eebd5510c2..358e77564e6f 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2497,7 +2497,6 @@ static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry)
2497 list_del(&cgrp->sibling); 2497 list_del(&cgrp->sibling);
2498 spin_lock(&cgrp->dentry->d_lock); 2498 spin_lock(&cgrp->dentry->d_lock);
2499 d = dget(cgrp->dentry); 2499 d = dget(cgrp->dentry);
2500 cgrp->dentry = NULL;
2501 spin_unlock(&d->d_lock); 2500 spin_unlock(&d->d_lock);
2502 2501
2503 cgroup_d_remove_dir(d); 2502 cgroup_d_remove_dir(d);
diff --git a/kernel/cgroup_freezer.c b/kernel/cgroup_freezer.c
index e95056954498..7fa476f01d05 100644
--- a/kernel/cgroup_freezer.c
+++ b/kernel/cgroup_freezer.c
@@ -162,9 +162,13 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
162 struct task_struct *task) 162 struct task_struct *task)
163{ 163{
164 struct freezer *freezer; 164 struct freezer *freezer;
165 int retval;
166 165
167 /* Anything frozen can't move or be moved to/from */ 166 /*
167 * Anything frozen can't move or be moved to/from.
168 *
169 * Since orig_freezer->state == FROZEN means that @task has been
170 * frozen, so it's sufficient to check the latter condition.
171 */
168 172
169 if (is_task_frozen_enough(task)) 173 if (is_task_frozen_enough(task))
170 return -EBUSY; 174 return -EBUSY;
@@ -173,13 +177,7 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
173 if (freezer->state == CGROUP_FROZEN) 177 if (freezer->state == CGROUP_FROZEN)
174 return -EBUSY; 178 return -EBUSY;
175 179
176 retval = 0; 180 return 0;
177 task_lock(task);
178 freezer = task_freezer(task);
179 if (freezer->state == CGROUP_FROZEN)
180 retval = -EBUSY;
181 task_unlock(task);
182 return retval;
183} 181}
184 182
185static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task) 183static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
@@ -190,8 +188,9 @@ static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
190 freezer = task_freezer(task); 188 freezer = task_freezer(task);
191 task_unlock(task); 189 task_unlock(task);
192 190
193 BUG_ON(freezer->state == CGROUP_FROZEN);
194 spin_lock_irq(&freezer->lock); 191 spin_lock_irq(&freezer->lock);
192 BUG_ON(freezer->state == CGROUP_FROZEN);
193
195 /* Locking avoids race with FREEZING -> THAWED transitions. */ 194 /* Locking avoids race with FREEZING -> THAWED transitions. */
196 if (freezer->state == CGROUP_FREEZING) 195 if (freezer->state == CGROUP_FREEZING)
197 freeze_task(task, true); 196 freeze_task(task, true);
@@ -276,25 +275,18 @@ static int try_to_freeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
276 return num_cant_freeze_now ? -EBUSY : 0; 275 return num_cant_freeze_now ? -EBUSY : 0;
277} 276}
278 277
279static int unfreeze_cgroup(struct cgroup *cgroup, struct freezer *freezer) 278static void unfreeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
280{ 279{
281 struct cgroup_iter it; 280 struct cgroup_iter it;
282 struct task_struct *task; 281 struct task_struct *task;
283 282
284 cgroup_iter_start(cgroup, &it); 283 cgroup_iter_start(cgroup, &it);
285 while ((task = cgroup_iter_next(cgroup, &it))) { 284 while ((task = cgroup_iter_next(cgroup, &it))) {
286 int do_wake; 285 thaw_process(task);
287
288 task_lock(task);
289 do_wake = __thaw_process(task);
290 task_unlock(task);
291 if (do_wake)
292 wake_up_process(task);
293 } 286 }
294 cgroup_iter_end(cgroup, &it); 287 cgroup_iter_end(cgroup, &it);
295 freezer->state = CGROUP_THAWED;
296 288
297 return 0; 289 freezer->state = CGROUP_THAWED;
298} 290}
299 291
300static int freezer_change_state(struct cgroup *cgroup, 292static int freezer_change_state(struct cgroup *cgroup,
@@ -304,27 +296,22 @@ static int freezer_change_state(struct cgroup *cgroup,
304 int retval = 0; 296 int retval = 0;
305 297
306 freezer = cgroup_freezer(cgroup); 298 freezer = cgroup_freezer(cgroup);
299
307 spin_lock_irq(&freezer->lock); 300 spin_lock_irq(&freezer->lock);
301
308 update_freezer_state(cgroup, freezer); 302 update_freezer_state(cgroup, freezer);
309 if (goal_state == freezer->state) 303 if (goal_state == freezer->state)
310 goto out; 304 goto out;
311 switch (freezer->state) { 305
306 switch (goal_state) {
312 case CGROUP_THAWED: 307 case CGROUP_THAWED:
313 retval = try_to_freeze_cgroup(cgroup, freezer); 308 unfreeze_cgroup(cgroup, freezer);
314 break; 309 break;
315 case CGROUP_FREEZING:
316 if (goal_state == CGROUP_FROZEN) {
317 /* Userspace is retrying after
318 * "/bin/echo FROZEN > freezer.state" returned -EBUSY */
319 retval = try_to_freeze_cgroup(cgroup, freezer);
320 break;
321 }
322 /* state == FREEZING and goal_state == THAWED, so unfreeze */
323 case CGROUP_FROZEN: 310 case CGROUP_FROZEN:
324 retval = unfreeze_cgroup(cgroup, freezer); 311 retval = try_to_freeze_cgroup(cgroup, freezer);
325 break; 312 break;
326 default: 313 default:
327 break; 314 BUG();
328 } 315 }
329out: 316out:
330 spin_unlock_irq(&freezer->lock); 317 spin_unlock_irq(&freezer->lock);
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 86d49045daed..5a732c5ef08b 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -499,3 +499,6 @@ const unsigned long cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)] = {
499#endif 499#endif
500}; 500};
501EXPORT_SYMBOL_GPL(cpu_bit_bitmap); 501EXPORT_SYMBOL_GPL(cpu_bit_bitmap);
502
503const DECLARE_BITMAP(cpu_all_bits, NR_CPUS) = CPU_BITS_ALL;
504EXPORT_SYMBOL(cpu_all_bits);
diff --git a/kernel/exit.c b/kernel/exit.c
index 80137a5d9467..ae2b92be5fae 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -141,6 +141,11 @@ static void __exit_signal(struct task_struct *tsk)
141 if (sig) { 141 if (sig) {
142 flush_sigqueue(&sig->shared_pending); 142 flush_sigqueue(&sig->shared_pending);
143 taskstats_tgid_free(sig); 143 taskstats_tgid_free(sig);
144 /*
145 * Make sure ->signal can't go away under rq->lock,
146 * see account_group_exec_runtime().
147 */
148 task_rq_unlock_wait(tsk);
144 __cleanup_signal(sig); 149 __cleanup_signal(sig);
145 } 150 }
146} 151}
diff --git a/kernel/freezer.c b/kernel/freezer.c
index ba6248b323ef..2f4936cf7083 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -121,16 +121,7 @@ void cancel_freezing(struct task_struct *p)
121 } 121 }
122} 122}
123 123
124/* 124static int __thaw_process(struct task_struct *p)
125 * Wake up a frozen process
126 *
127 * task_lock() is needed to prevent the race with refrigerator() which may
128 * occur if the freezing of tasks fails. Namely, without the lock, if the
129 * freezing of tasks failed, thaw_tasks() might have run before a task in
130 * refrigerator() could call frozen_process(), in which case the task would be
131 * frozen and no one would thaw it.
132 */
133int __thaw_process(struct task_struct *p)
134{ 125{
135 if (frozen(p)) { 126 if (frozen(p)) {
136 p->flags &= ~PF_FROZEN; 127 p->flags &= ~PF_FROZEN;
@@ -140,6 +131,15 @@ int __thaw_process(struct task_struct *p)
140 return 0; 131 return 0;
141} 132}
142 133
134/*
135 * Wake up a frozen process
136 *
137 * task_lock() is needed to prevent the race with refrigerator() which may
138 * occur if the freezing of tasks fails. Namely, without the lock, if the
139 * freezing of tasks failed, thaw_tasks() might have run before a task in
140 * refrigerator() could call frozen_process(), in which case the task would be
141 * frozen and no one would thaw it.
142 */
143int thaw_process(struct task_struct *p) 143int thaw_process(struct task_struct *p)
144{ 144{
145 task_lock(p); 145 task_lock(p);
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 2b465dfde426..95d3949f2ae5 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -1209,6 +1209,7 @@ static void run_hrtimer_pending(struct hrtimer_cpu_base *cpu_base)
1209 enum hrtimer_restart (*fn)(struct hrtimer *); 1209 enum hrtimer_restart (*fn)(struct hrtimer *);
1210 struct hrtimer *timer; 1210 struct hrtimer *timer;
1211 int restart; 1211 int restart;
1212 int emulate_hardirq_ctx = 0;
1212 1213
1213 timer = list_entry(cpu_base->cb_pending.next, 1214 timer = list_entry(cpu_base->cb_pending.next,
1214 struct hrtimer, cb_entry); 1215 struct hrtimer, cb_entry);
@@ -1217,10 +1218,24 @@ static void run_hrtimer_pending(struct hrtimer_cpu_base *cpu_base)
1217 timer_stats_account_hrtimer(timer); 1218 timer_stats_account_hrtimer(timer);
1218 1219
1219 fn = timer->function; 1220 fn = timer->function;
1221 /*
1222 * A timer might have been added to the cb_pending list
1223 * when it was migrated during a cpu-offline operation.
1224 * Emulate hardirq context for such timers.
1225 */
1226 if (timer->cb_mode == HRTIMER_CB_IRQSAFE_PERCPU ||
1227 timer->cb_mode == HRTIMER_CB_IRQSAFE_UNLOCKED)
1228 emulate_hardirq_ctx = 1;
1229
1220 __remove_hrtimer(timer, timer->base, HRTIMER_STATE_CALLBACK, 0); 1230 __remove_hrtimer(timer, timer->base, HRTIMER_STATE_CALLBACK, 0);
1221 spin_unlock_irq(&cpu_base->lock); 1231 spin_unlock_irq(&cpu_base->lock);
1222 1232
1223 restart = fn(timer); 1233 if (unlikely(emulate_hardirq_ctx)) {
1234 local_irq_disable();
1235 restart = fn(timer);
1236 local_irq_enable();
1237 } else
1238 restart = fn(timer);
1224 1239
1225 spin_lock_irq(&cpu_base->lock); 1240 spin_lock_irq(&cpu_base->lock);
1226 1241
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c
index fac014a81b24..4d161c70ba55 100644
--- a/kernel/irq/proc.c
+++ b/kernel/irq/proc.c
@@ -220,7 +220,7 @@ void unregister_handler_proc(unsigned int irq, struct irqaction *action)
220 } 220 }
221} 221}
222 222
223void register_default_affinity_proc(void) 223static void register_default_affinity_proc(void)
224{ 224{
225#ifdef CONFIG_SMP 225#ifdef CONFIG_SMP
226 proc_create("irq/default_smp_affinity", 0600, NULL, 226 proc_create("irq/default_smp_affinity", 0600, NULL,
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 234a9dccb4be..a42858303233 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -2173,12 +2173,11 @@ void early_boot_irqs_on(void)
2173/* 2173/*
2174 * Hardirqs will be enabled: 2174 * Hardirqs will be enabled:
2175 */ 2175 */
2176void trace_hardirqs_on_caller(unsigned long a0) 2176void trace_hardirqs_on_caller(unsigned long ip)
2177{ 2177{
2178 struct task_struct *curr = current; 2178 struct task_struct *curr = current;
2179 unsigned long ip;
2180 2179
2181 time_hardirqs_on(CALLER_ADDR0, a0); 2180 time_hardirqs_on(CALLER_ADDR0, ip);
2182 2181
2183 if (unlikely(!debug_locks || current->lockdep_recursion)) 2182 if (unlikely(!debug_locks || current->lockdep_recursion))
2184 return; 2183 return;
@@ -2192,7 +2191,6 @@ void trace_hardirqs_on_caller(unsigned long a0)
2192 } 2191 }
2193 /* we'll do an OFF -> ON transition: */ 2192 /* we'll do an OFF -> ON transition: */
2194 curr->hardirqs_enabled = 1; 2193 curr->hardirqs_enabled = 1;
2195 ip = (unsigned long) __builtin_return_address(0);
2196 2194
2197 if (DEBUG_LOCKS_WARN_ON(!irqs_disabled())) 2195 if (DEBUG_LOCKS_WARN_ON(!irqs_disabled()))
2198 return; 2196 return;
@@ -2228,11 +2226,11 @@ EXPORT_SYMBOL(trace_hardirqs_on);
2228/* 2226/*
2229 * Hardirqs were disabled: 2227 * Hardirqs were disabled:
2230 */ 2228 */
2231void trace_hardirqs_off_caller(unsigned long a0) 2229void trace_hardirqs_off_caller(unsigned long ip)
2232{ 2230{
2233 struct task_struct *curr = current; 2231 struct task_struct *curr = current;
2234 2232
2235 time_hardirqs_off(CALLER_ADDR0, a0); 2233 time_hardirqs_off(CALLER_ADDR0, ip);
2236 2234
2237 if (unlikely(!debug_locks || current->lockdep_recursion)) 2235 if (unlikely(!debug_locks || current->lockdep_recursion))
2238 return; 2236 return;
@@ -2245,7 +2243,7 @@ void trace_hardirqs_off_caller(unsigned long a0)
2245 * We have done an ON -> OFF transition: 2243 * We have done an ON -> OFF transition:
2246 */ 2244 */
2247 curr->hardirqs_enabled = 0; 2245 curr->hardirqs_enabled = 0;
2248 curr->hardirq_disable_ip = _RET_IP_; 2246 curr->hardirq_disable_ip = ip;
2249 curr->hardirq_disable_event = ++curr->irq_events; 2247 curr->hardirq_disable_event = ++curr->irq_events;
2250 debug_atomic_inc(&hardirqs_off_events); 2248 debug_atomic_inc(&hardirqs_off_events);
2251 } else 2249 } else
@@ -3426,9 +3424,10 @@ retry:
3426 } 3424 }
3427 printk(" ignoring it.\n"); 3425 printk(" ignoring it.\n");
3428 unlock = 0; 3426 unlock = 0;
3427 } else {
3428 if (count != 10)
3429 printk(KERN_CONT " locked it.\n");
3429 } 3430 }
3430 if (count != 10)
3431 printk(" locked it.\n");
3432 3431
3433 do_each_thread(g, p) { 3432 do_each_thread(g, p) {
3434 /* 3433 /*
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index dcd165f92a88..23bd4daeb96b 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -96,7 +96,7 @@ config SUSPEND
96 96
97config PM_TEST_SUSPEND 97config PM_TEST_SUSPEND
98 bool "Test suspend/resume and wakealarm during bootup" 98 bool "Test suspend/resume and wakealarm during bootup"
99 depends on SUSPEND && PM_DEBUG && RTC_LIB=y 99 depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
100 ---help--- 100 ---help---
101 This option will let you suspend your machine during bootup, and 101 This option will let you suspend your machine during bootup, and
102 make it wake up a few seconds later using an RTC wakeup alarm. 102 make it wake up a few seconds later using an RTC wakeup alarm.
diff --git a/kernel/printk.c b/kernel/printk.c
index 6341af77eb65..f492f1583d77 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -233,45 +233,6 @@ static inline void boot_delay_msec(void)
233#endif 233#endif
234 234
235/* 235/*
236 * Return the number of unread characters in the log buffer.
237 */
238static int log_buf_get_len(void)
239{
240 return logged_chars;
241}
242
243/*
244 * Copy a range of characters from the log buffer.
245 */
246int log_buf_copy(char *dest, int idx, int len)
247{
248 int ret, max;
249 bool took_lock = false;
250
251 if (!oops_in_progress) {
252 spin_lock_irq(&logbuf_lock);
253 took_lock = true;
254 }
255
256 max = log_buf_get_len();
257 if (idx < 0 || idx >= max) {
258 ret = -1;
259 } else {
260 if (len > max)
261 len = max;
262 ret = len;
263 idx += (log_end - max);
264 while (len-- > 0)
265 dest[len] = LOG_BUF(idx + len);
266 }
267
268 if (took_lock)
269 spin_unlock_irq(&logbuf_lock);
270
271 return ret;
272}
273
274/*
275 * Commands to do_syslog: 236 * Commands to do_syslog:
276 * 237 *
277 * 0 -- Close the log. Currently a NOP. 238 * 0 -- Close the log. Currently a NOP.
diff --git a/kernel/profile.c b/kernel/profile.c
index a9e422df6bf6..9830a037d8db 100644
--- a/kernel/profile.c
+++ b/kernel/profile.c
@@ -102,7 +102,7 @@ int profile_setup(char *str)
102__setup("profile=", profile_setup); 102__setup("profile=", profile_setup);
103 103
104 104
105int profile_init(void) 105int __ref profile_init(void)
106{ 106{
107 int buffer_bytes; 107 int buffer_bytes;
108 if (!prof_on) 108 if (!prof_on)
diff --git a/kernel/resource.c b/kernel/resource.c
index 4089d12af6e0..4337063663ef 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -17,6 +17,7 @@
17#include <linux/proc_fs.h> 17#include <linux/proc_fs.h>
18#include <linux/seq_file.h> 18#include <linux/seq_file.h>
19#include <linux/device.h> 19#include <linux/device.h>
20#include <linux/pfn.h>
20#include <asm/io.h> 21#include <asm/io.h>
21 22
22 23
@@ -522,7 +523,7 @@ static void __init __reserve_region_with_split(struct resource *root,
522{ 523{
523 struct resource *parent = root; 524 struct resource *parent = root;
524 struct resource *conflict; 525 struct resource *conflict;
525 struct resource *res = kzalloc(sizeof(*res), GFP_KERNEL); 526 struct resource *res = kzalloc(sizeof(*res), GFP_ATOMIC);
526 527
527 if (!res) 528 if (!res)
528 return; 529 return;
@@ -571,7 +572,7 @@ static void __init __reserve_region_with_split(struct resource *root,
571 572
572} 573}
573 574
574void reserve_region_with_split(struct resource *root, 575void __init reserve_region_with_split(struct resource *root,
575 resource_size_t start, resource_size_t end, 576 resource_size_t start, resource_size_t end,
576 const char *name) 577 const char *name)
577{ 578{
@@ -849,7 +850,8 @@ int iomem_map_sanity_check(resource_size_t addr, unsigned long size)
849 continue; 850 continue;
850 if (p->end < addr) 851 if (p->end < addr)
851 continue; 852 continue;
852 if (p->start <= addr && (p->end >= addr + size - 1)) 853 if (PFN_DOWN(p->start) <= PFN_DOWN(addr) &&
854 PFN_DOWN(p->end) >= PFN_DOWN(addr + size - 1))
853 continue; 855 continue;
854 printk(KERN_WARNING "resource map sanity check conflict: " 856 printk(KERN_WARNING "resource map sanity check conflict: "
855 "0x%llx 0x%llx 0x%llx 0x%llx %s\n", 857 "0x%llx 0x%llx 0x%llx 0x%llx %s\n",
diff --git a/kernel/sched.c b/kernel/sched.c
index 0a4dc3b1300b..2a106b6b78b0 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -386,7 +386,6 @@ struct cfs_rq {
386 386
387 u64 exec_clock; 387 u64 exec_clock;
388 u64 min_vruntime; 388 u64 min_vruntime;
389 u64 pair_start;
390 389
391 struct rb_root tasks_timeline; 390 struct rb_root tasks_timeline;
392 struct rb_node *rb_leftmost; 391 struct rb_node *rb_leftmost;
@@ -398,9 +397,9 @@ struct cfs_rq {
398 * 'curr' points to currently running entity on this cfs_rq. 397 * 'curr' points to currently running entity on this cfs_rq.
399 * It is set to NULL otherwise (i.e when none are currently running). 398 * It is set to NULL otherwise (i.e when none are currently running).
400 */ 399 */
401 struct sched_entity *curr, *next; 400 struct sched_entity *curr, *next, *last;
402 401
403 unsigned long nr_spread_over; 402 unsigned int nr_spread_over;
404 403
405#ifdef CONFIG_FAIR_GROUP_SCHED 404#ifdef CONFIG_FAIR_GROUP_SCHED
406 struct rq *rq; /* cpu runqueue to which this cfs_rq is attached */ 405 struct rq *rq; /* cpu runqueue to which this cfs_rq is attached */
@@ -970,6 +969,14 @@ static struct rq *task_rq_lock(struct task_struct *p, unsigned long *flags)
970 } 969 }
971} 970}
972 971
972void task_rq_unlock_wait(struct task_struct *p)
973{
974 struct rq *rq = task_rq(p);
975
976 smp_mb(); /* spin-unlock-wait is not a full memory barrier */
977 spin_unlock_wait(&rq->lock);
978}
979
973static void __task_rq_unlock(struct rq *rq) 980static void __task_rq_unlock(struct rq *rq)
974 __releases(rq->lock) 981 __releases(rq->lock)
975{ 982{
@@ -1806,7 +1813,9 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd)
1806 /* 1813 /*
1807 * Buddy candidates are cache hot: 1814 * Buddy candidates are cache hot:
1808 */ 1815 */
1809 if (sched_feat(CACHE_HOT_BUDDY) && (&p->se == cfs_rq_of(&p->se)->next)) 1816 if (sched_feat(CACHE_HOT_BUDDY) &&
1817 (&p->se == cfs_rq_of(&p->se)->next ||
1818 &p->se == cfs_rq_of(&p->se)->last))
1810 return 1; 1819 return 1;
1811 1820
1812 if (p->sched_class != &fair_sched_class) 1821 if (p->sched_class != &fair_sched_class)
@@ -3344,7 +3353,7 @@ small_imbalance:
3344 } else 3353 } else
3345 this_load_per_task = cpu_avg_load_per_task(this_cpu); 3354 this_load_per_task = cpu_avg_load_per_task(this_cpu);
3346 3355
3347 if (max_load - this_load + 2*busiest_load_per_task >= 3356 if (max_load - this_load + busiest_load_per_task >=
3348 busiest_load_per_task * imbn) { 3357 busiest_load_per_task * imbn) {
3349 *imbalance = busiest_load_per_task; 3358 *imbalance = busiest_load_per_task;
3350 return busiest; 3359 return busiest;
@@ -6876,15 +6885,17 @@ cpu_attach_domain(struct sched_domain *sd, struct root_domain *rd, int cpu)
6876 struct sched_domain *tmp; 6885 struct sched_domain *tmp;
6877 6886
6878 /* Remove the sched domains which do not contribute to scheduling. */ 6887 /* Remove the sched domains which do not contribute to scheduling. */
6879 for (tmp = sd; tmp; tmp = tmp->parent) { 6888 for (tmp = sd; tmp; ) {
6880 struct sched_domain *parent = tmp->parent; 6889 struct sched_domain *parent = tmp->parent;
6881 if (!parent) 6890 if (!parent)
6882 break; 6891 break;
6892
6883 if (sd_parent_degenerate(tmp, parent)) { 6893 if (sd_parent_degenerate(tmp, parent)) {
6884 tmp->parent = parent->parent; 6894 tmp->parent = parent->parent;
6885 if (parent->parent) 6895 if (parent->parent)
6886 parent->parent->child = tmp; 6896 parent->parent->child = tmp;
6887 } 6897 } else
6898 tmp = tmp->parent;
6888 } 6899 }
6889 6900
6890 if (sd && sd_degenerate(sd)) { 6901 if (sd && sd_degenerate(sd)) {
@@ -7673,6 +7684,7 @@ static int __build_sched_domains(const cpumask_t *cpu_map,
7673error: 7684error:
7674 free_sched_groups(cpu_map, tmpmask); 7685 free_sched_groups(cpu_map, tmpmask);
7675 SCHED_CPUMASK_FREE((void *)allmasks); 7686 SCHED_CPUMASK_FREE((void *)allmasks);
7687 kfree(rd);
7676 return -ENOMEM; 7688 return -ENOMEM;
7677#endif 7689#endif
7678} 7690}
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c
index ad958c1ec708..48ecc51e7701 100644
--- a/kernel/sched_debug.c
+++ b/kernel/sched_debug.c
@@ -144,7 +144,7 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
144 last = __pick_last_entity(cfs_rq); 144 last = __pick_last_entity(cfs_rq);
145 if (last) 145 if (last)
146 max_vruntime = last->vruntime; 146 max_vruntime = last->vruntime;
147 min_vruntime = rq->cfs.min_vruntime; 147 min_vruntime = cfs_rq->min_vruntime;
148 rq0_min_vruntime = per_cpu(runqueues, 0).cfs.min_vruntime; 148 rq0_min_vruntime = per_cpu(runqueues, 0).cfs.min_vruntime;
149 spin_unlock_irqrestore(&rq->lock, flags); 149 spin_unlock_irqrestore(&rq->lock, flags);
150 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "MIN_vruntime", 150 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "MIN_vruntime",
@@ -161,26 +161,8 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
161 SPLIT_NS(spread0)); 161 SPLIT_NS(spread0));
162 SEQ_printf(m, " .%-30s: %ld\n", "nr_running", cfs_rq->nr_running); 162 SEQ_printf(m, " .%-30s: %ld\n", "nr_running", cfs_rq->nr_running);
163 SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); 163 SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight);
164#ifdef CONFIG_SCHEDSTATS
165#define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, rq->n);
166
167 P(yld_exp_empty);
168 P(yld_act_empty);
169 P(yld_both_empty);
170 P(yld_count);
171 164
172 P(sched_switch); 165 SEQ_printf(m, " .%-30s: %d\n", "nr_spread_over",
173 P(sched_count);
174 P(sched_goidle);
175
176 P(ttwu_count);
177 P(ttwu_local);
178
179 P(bkl_count);
180
181#undef P
182#endif
183 SEQ_printf(m, " .%-30s: %ld\n", "nr_spread_over",
184 cfs_rq->nr_spread_over); 166 cfs_rq->nr_spread_over);
185#ifdef CONFIG_FAIR_GROUP_SCHED 167#ifdef CONFIG_FAIR_GROUP_SCHED
186#ifdef CONFIG_SMP 168#ifdef CONFIG_SMP
@@ -260,6 +242,25 @@ static void print_cpu(struct seq_file *m, int cpu)
260#undef P 242#undef P
261#undef PN 243#undef PN
262 244
245#ifdef CONFIG_SCHEDSTATS
246#define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, rq->n);
247
248 P(yld_exp_empty);
249 P(yld_act_empty);
250 P(yld_both_empty);
251 P(yld_count);
252
253 P(sched_switch);
254 P(sched_count);
255 P(sched_goidle);
256
257 P(ttwu_count);
258 P(ttwu_local);
259
260 P(bkl_count);
261
262#undef P
263#endif
263 print_cfs_stats(m, cpu); 264 print_cfs_stats(m, cpu);
264 print_rt_stats(m, cpu); 265 print_rt_stats(m, cpu);
265 266
@@ -319,7 +320,7 @@ static int __init init_sched_debug_procfs(void)
319{ 320{
320 struct proc_dir_entry *pe; 321 struct proc_dir_entry *pe;
321 322
322 pe = proc_create("sched_debug", 0644, NULL, &sched_debug_fops); 323 pe = proc_create("sched_debug", 0444, NULL, &sched_debug_fops);
323 if (!pe) 324 if (!pe)
324 return -ENOMEM; 325 return -ENOMEM;
325 return 0; 326 return 0;
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 9573c33688b8..98345e45b059 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -143,6 +143,49 @@ static inline struct sched_entity *parent_entity(struct sched_entity *se)
143 return se->parent; 143 return se->parent;
144} 144}
145 145
146/* return depth at which a sched entity is present in the hierarchy */
147static inline int depth_se(struct sched_entity *se)
148{
149 int depth = 0;
150
151 for_each_sched_entity(se)
152 depth++;
153
154 return depth;
155}
156
157static void
158find_matching_se(struct sched_entity **se, struct sched_entity **pse)
159{
160 int se_depth, pse_depth;
161
162 /*
163 * preemption test can be made between sibling entities who are in the
164 * same cfs_rq i.e who have a common parent. Walk up the hierarchy of
165 * both tasks until we find their ancestors who are siblings of common
166 * parent.
167 */
168
169 /* First walk up until both entities are at same depth */
170 se_depth = depth_se(*se);
171 pse_depth = depth_se(*pse);
172
173 while (se_depth > pse_depth) {
174 se_depth--;
175 *se = parent_entity(*se);
176 }
177
178 while (pse_depth > se_depth) {
179 pse_depth--;
180 *pse = parent_entity(*pse);
181 }
182
183 while (!is_same_group(*se, *pse)) {
184 *se = parent_entity(*se);
185 *pse = parent_entity(*pse);
186 }
187}
188
146#else /* CONFIG_FAIR_GROUP_SCHED */ 189#else /* CONFIG_FAIR_GROUP_SCHED */
147 190
148static inline struct rq *rq_of(struct cfs_rq *cfs_rq) 191static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
@@ -193,6 +236,11 @@ static inline struct sched_entity *parent_entity(struct sched_entity *se)
193 return NULL; 236 return NULL;
194} 237}
195 238
239static inline void
240find_matching_se(struct sched_entity **se, struct sched_entity **pse)
241{
242}
243
196#endif /* CONFIG_FAIR_GROUP_SCHED */ 244#endif /* CONFIG_FAIR_GROUP_SCHED */
197 245
198 246
@@ -223,6 +271,27 @@ static inline s64 entity_key(struct cfs_rq *cfs_rq, struct sched_entity *se)
223 return se->vruntime - cfs_rq->min_vruntime; 271 return se->vruntime - cfs_rq->min_vruntime;
224} 272}
225 273
274static void update_min_vruntime(struct cfs_rq *cfs_rq)
275{
276 u64 vruntime = cfs_rq->min_vruntime;
277
278 if (cfs_rq->curr)
279 vruntime = cfs_rq->curr->vruntime;
280
281 if (cfs_rq->rb_leftmost) {
282 struct sched_entity *se = rb_entry(cfs_rq->rb_leftmost,
283 struct sched_entity,
284 run_node);
285
286 if (vruntime == cfs_rq->min_vruntime)
287 vruntime = se->vruntime;
288 else
289 vruntime = min_vruntime(vruntime, se->vruntime);
290 }
291
292 cfs_rq->min_vruntime = max_vruntime(cfs_rq->min_vruntime, vruntime);
293}
294
226/* 295/*
227 * Enqueue an entity into the rb-tree: 296 * Enqueue an entity into the rb-tree:
228 */ 297 */
@@ -256,15 +325,8 @@ static void __enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se)
256 * Maintain a cache of leftmost tree entries (it is frequently 325 * Maintain a cache of leftmost tree entries (it is frequently
257 * used): 326 * used):
258 */ 327 */
259 if (leftmost) { 328 if (leftmost)
260 cfs_rq->rb_leftmost = &se->run_node; 329 cfs_rq->rb_leftmost = &se->run_node;
261 /*
262 * maintain cfs_rq->min_vruntime to be a monotonic increasing
263 * value tracking the leftmost vruntime in the tree.
264 */
265 cfs_rq->min_vruntime =
266 max_vruntime(cfs_rq->min_vruntime, se->vruntime);
267 }
268 330
269 rb_link_node(&se->run_node, parent, link); 331 rb_link_node(&se->run_node, parent, link);
270 rb_insert_color(&se->run_node, &cfs_rq->tasks_timeline); 332 rb_insert_color(&se->run_node, &cfs_rq->tasks_timeline);
@@ -274,37 +336,25 @@ static void __dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se)
274{ 336{
275 if (cfs_rq->rb_leftmost == &se->run_node) { 337 if (cfs_rq->rb_leftmost == &se->run_node) {
276 struct rb_node *next_node; 338 struct rb_node *next_node;
277 struct sched_entity *next;
278 339
279 next_node = rb_next(&se->run_node); 340 next_node = rb_next(&se->run_node);
280 cfs_rq->rb_leftmost = next_node; 341 cfs_rq->rb_leftmost = next_node;
281
282 if (next_node) {
283 next = rb_entry(next_node,
284 struct sched_entity, run_node);
285 cfs_rq->min_vruntime =
286 max_vruntime(cfs_rq->min_vruntime,
287 next->vruntime);
288 }
289 } 342 }
290 343
291 if (cfs_rq->next == se)
292 cfs_rq->next = NULL;
293
294 rb_erase(&se->run_node, &cfs_rq->tasks_timeline); 344 rb_erase(&se->run_node, &cfs_rq->tasks_timeline);
295} 345}
296 346
297static inline struct rb_node *first_fair(struct cfs_rq *cfs_rq)
298{
299 return cfs_rq->rb_leftmost;
300}
301
302static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq) 347static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq)
303{ 348{
304 return rb_entry(first_fair(cfs_rq), struct sched_entity, run_node); 349 struct rb_node *left = cfs_rq->rb_leftmost;
350
351 if (!left)
352 return NULL;
353
354 return rb_entry(left, struct sched_entity, run_node);
305} 355}
306 356
307static inline struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) 357static struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq)
308{ 358{
309 struct rb_node *last = rb_last(&cfs_rq->tasks_timeline); 359 struct rb_node *last = rb_last(&cfs_rq->tasks_timeline);
310 360
@@ -424,6 +474,7 @@ __update_curr(struct cfs_rq *cfs_rq, struct sched_entity *curr,
424 schedstat_add(cfs_rq, exec_clock, delta_exec); 474 schedstat_add(cfs_rq, exec_clock, delta_exec);
425 delta_exec_weighted = calc_delta_fair(delta_exec, curr); 475 delta_exec_weighted = calc_delta_fair(delta_exec, curr);
426 curr->vruntime += delta_exec_weighted; 476 curr->vruntime += delta_exec_weighted;
477 update_min_vruntime(cfs_rq);
427} 478}
428 479
429static void update_curr(struct cfs_rq *cfs_rq) 480static void update_curr(struct cfs_rq *cfs_rq)
@@ -613,13 +664,7 @@ static void check_spread(struct cfs_rq *cfs_rq, struct sched_entity *se)
613static void 664static void
614place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) 665place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
615{ 666{
616 u64 vruntime; 667 u64 vruntime = cfs_rq->min_vruntime;
617
618 if (first_fair(cfs_rq)) {
619 vruntime = min_vruntime(cfs_rq->min_vruntime,
620 __pick_next_entity(cfs_rq)->vruntime);
621 } else
622 vruntime = cfs_rq->min_vruntime;
623 668
624 /* 669 /*
625 * The 'current' period is already promised to the current tasks, 670 * The 'current' period is already promised to the current tasks,
@@ -671,6 +716,15 @@ enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int wakeup)
671 __enqueue_entity(cfs_rq, se); 716 __enqueue_entity(cfs_rq, se);
672} 717}
673 718
719static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se)
720{
721 if (cfs_rq->last == se)
722 cfs_rq->last = NULL;
723
724 if (cfs_rq->next == se)
725 cfs_rq->next = NULL;
726}
727
674static void 728static void
675dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) 729dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep)
676{ 730{
@@ -693,9 +747,12 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep)
693#endif 747#endif
694 } 748 }
695 749
750 clear_buddies(cfs_rq, se);
751
696 if (se != cfs_rq->curr) 752 if (se != cfs_rq->curr)
697 __dequeue_entity(cfs_rq, se); 753 __dequeue_entity(cfs_rq, se);
698 account_entity_dequeue(cfs_rq, se); 754 account_entity_dequeue(cfs_rq, se);
755 update_min_vruntime(cfs_rq);
699} 756}
700 757
701/* 758/*
@@ -742,29 +799,18 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se)
742 se->prev_sum_exec_runtime = se->sum_exec_runtime; 799 se->prev_sum_exec_runtime = se->sum_exec_runtime;
743} 800}
744 801
745static struct sched_entity * 802static int
746pick_next(struct cfs_rq *cfs_rq, struct sched_entity *se) 803wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se);
747{
748 struct rq *rq = rq_of(cfs_rq);
749 u64 pair_slice = rq->clock - cfs_rq->pair_start;
750
751 if (!cfs_rq->next || pair_slice > sysctl_sched_min_granularity) {
752 cfs_rq->pair_start = rq->clock;
753 return se;
754 }
755
756 return cfs_rq->next;
757}
758 804
759static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq) 805static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq)
760{ 806{
761 struct sched_entity *se = NULL; 807 struct sched_entity *se = __pick_next_entity(cfs_rq);
762 808
763 if (first_fair(cfs_rq)) { 809 if (cfs_rq->next && wakeup_preempt_entity(cfs_rq->next, se) < 1)
764 se = __pick_next_entity(cfs_rq); 810 return cfs_rq->next;
765 se = pick_next(cfs_rq, se); 811
766 set_next_entity(cfs_rq, se); 812 if (cfs_rq->last && wakeup_preempt_entity(cfs_rq->last, se) < 1)
767 } 813 return cfs_rq->last;
768 814
769 return se; 815 return se;
770} 816}
@@ -936,6 +982,8 @@ static void yield_task_fair(struct rq *rq)
936 if (unlikely(cfs_rq->nr_running == 1)) 982 if (unlikely(cfs_rq->nr_running == 1))
937 return; 983 return;
938 984
985 clear_buddies(cfs_rq, se);
986
939 if (likely(!sysctl_sched_compat_yield) && curr->policy != SCHED_BATCH) { 987 if (likely(!sysctl_sched_compat_yield) && curr->policy != SCHED_BATCH) {
940 update_rq_clock(rq); 988 update_rq_clock(rq);
941 /* 989 /*
@@ -1122,10 +1170,9 @@ wake_affine(struct sched_domain *this_sd, struct rq *this_rq,
1122 if (!(this_sd->flags & SD_WAKE_AFFINE) || !sched_feat(AFFINE_WAKEUPS)) 1170 if (!(this_sd->flags & SD_WAKE_AFFINE) || !sched_feat(AFFINE_WAKEUPS))
1123 return 0; 1171 return 0;
1124 1172
1125 if (!sync && sched_feat(SYNC_WAKEUPS) && 1173 if (sync && (curr->se.avg_overlap > sysctl_sched_migration_cost ||
1126 curr->se.avg_overlap < sysctl_sched_migration_cost && 1174 p->se.avg_overlap > sysctl_sched_migration_cost))
1127 p->se.avg_overlap < sysctl_sched_migration_cost) 1175 sync = 0;
1128 sync = 1;
1129 1176
1130 /* 1177 /*
1131 * If sync wakeup then subtract the (maximum possible) 1178 * If sync wakeup then subtract the (maximum possible)
@@ -1244,33 +1291,88 @@ static unsigned long wakeup_gran(struct sched_entity *se)
1244 * More easily preempt - nice tasks, while not making it harder for 1291 * More easily preempt - nice tasks, while not making it harder for
1245 * + nice tasks. 1292 * + nice tasks.
1246 */ 1293 */
1247 if (sched_feat(ASYM_GRAN)) 1294 if (!sched_feat(ASYM_GRAN) || se->load.weight > NICE_0_LOAD)
1248 gran = calc_delta_mine(gran, NICE_0_LOAD, &se->load); 1295 gran = calc_delta_fair(sysctl_sched_wakeup_granularity, se);
1249 1296
1250 return gran; 1297 return gran;
1251} 1298}
1252 1299
1253/* 1300/*
1301 * Should 'se' preempt 'curr'.
1302 *
1303 * |s1
1304 * |s2
1305 * |s3
1306 * g
1307 * |<--->|c
1308 *
1309 * w(c, s1) = -1
1310 * w(c, s2) = 0
1311 * w(c, s3) = 1
1312 *
1313 */
1314static int
1315wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se)
1316{
1317 s64 gran, vdiff = curr->vruntime - se->vruntime;
1318
1319 if (vdiff <= 0)
1320 return -1;
1321
1322 gran = wakeup_gran(curr);
1323 if (vdiff > gran)
1324 return 1;
1325
1326 return 0;
1327}
1328
1329static void set_last_buddy(struct sched_entity *se)
1330{
1331 for_each_sched_entity(se)
1332 cfs_rq_of(se)->last = se;
1333}
1334
1335static void set_next_buddy(struct sched_entity *se)
1336{
1337 for_each_sched_entity(se)
1338 cfs_rq_of(se)->next = se;
1339}
1340
1341/*
1254 * Preempt the current task with a newly woken task if needed: 1342 * Preempt the current task with a newly woken task if needed:
1255 */ 1343 */
1256static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync) 1344static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync)
1257{ 1345{
1258 struct task_struct *curr = rq->curr; 1346 struct task_struct *curr = rq->curr;
1259 struct cfs_rq *cfs_rq = task_cfs_rq(curr);
1260 struct sched_entity *se = &curr->se, *pse = &p->se; 1347 struct sched_entity *se = &curr->se, *pse = &p->se;
1261 s64 delta_exec;
1262 1348
1263 if (unlikely(rt_prio(p->prio))) { 1349 if (unlikely(rt_prio(p->prio))) {
1350 struct cfs_rq *cfs_rq = task_cfs_rq(curr);
1351
1264 update_rq_clock(rq); 1352 update_rq_clock(rq);
1265 update_curr(cfs_rq); 1353 update_curr(cfs_rq);
1266 resched_task(curr); 1354 resched_task(curr);
1267 return; 1355 return;
1268 } 1356 }
1269 1357
1358 if (unlikely(p->sched_class != &fair_sched_class))
1359 return;
1360
1270 if (unlikely(se == pse)) 1361 if (unlikely(se == pse))
1271 return; 1362 return;
1272 1363
1273 cfs_rq_of(pse)->next = pse; 1364 /*
1365 * Only set the backward buddy when the current task is still on the
1366 * rq. This can happen when a wakeup gets interleaved with schedule on
1367 * the ->pre_schedule() or idle_balance() point, either of which can
1368 * drop the rq lock.
1369 *
1370 * Also, during early boot the idle thread is in the fair class, for
1371 * obvious reasons its a bad idea to schedule back to the idle thread.
1372 */
1373 if (sched_feat(LAST_BUDDY) && likely(se->on_rq && curr != rq->idle))
1374 set_last_buddy(se);
1375 set_next_buddy(pse);
1274 1376
1275 /* 1377 /*
1276 * We can come here with TIF_NEED_RESCHED already set from new task 1378 * We can come here with TIF_NEED_RESCHED already set from new task
@@ -1296,9 +1398,19 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync)
1296 return; 1398 return;
1297 } 1399 }
1298 1400
1299 delta_exec = se->sum_exec_runtime - se->prev_sum_exec_runtime; 1401 find_matching_se(&se, &pse);
1300 if (delta_exec > wakeup_gran(pse)) 1402
1301 resched_task(curr); 1403 while (se) {
1404 BUG_ON(!pse);
1405
1406 if (wakeup_preempt_entity(se, pse) == 1) {
1407 resched_task(curr);
1408 break;
1409 }
1410
1411 se = parent_entity(se);
1412 pse = parent_entity(pse);
1413 }
1302} 1414}
1303 1415
1304static struct task_struct *pick_next_task_fair(struct rq *rq) 1416static struct task_struct *pick_next_task_fair(struct rq *rq)
@@ -1312,6 +1424,7 @@ static struct task_struct *pick_next_task_fair(struct rq *rq)
1312 1424
1313 do { 1425 do {
1314 se = pick_next_entity(cfs_rq); 1426 se = pick_next_entity(cfs_rq);
1427 set_next_entity(cfs_rq, se);
1315 cfs_rq = group_cfs_rq(se); 1428 cfs_rq = group_cfs_rq(se);
1316 } while (cfs_rq); 1429 } while (cfs_rq);
1317 1430
@@ -1594,9 +1707,6 @@ static const struct sched_class fair_sched_class = {
1594 .enqueue_task = enqueue_task_fair, 1707 .enqueue_task = enqueue_task_fair,
1595 .dequeue_task = dequeue_task_fair, 1708 .dequeue_task = dequeue_task_fair,
1596 .yield_task = yield_task_fair, 1709 .yield_task = yield_task_fair,
1597#ifdef CONFIG_SMP
1598 .select_task_rq = select_task_rq_fair,
1599#endif /* CONFIG_SMP */
1600 1710
1601 .check_preempt_curr = check_preempt_wakeup, 1711 .check_preempt_curr = check_preempt_wakeup,
1602 1712
@@ -1604,6 +1714,8 @@ static const struct sched_class fair_sched_class = {
1604 .put_prev_task = put_prev_task_fair, 1714 .put_prev_task = put_prev_task_fair,
1605 1715
1606#ifdef CONFIG_SMP 1716#ifdef CONFIG_SMP
1717 .select_task_rq = select_task_rq_fair,
1718
1607 .load_balance = load_balance_fair, 1719 .load_balance = load_balance_fair,
1608 .move_one_task = move_one_task_fair, 1720 .move_one_task = move_one_task_fair,
1609#endif 1721#endif
diff --git a/kernel/sched_features.h b/kernel/sched_features.h
index fda016218296..da5d93b5d2c6 100644
--- a/kernel/sched_features.h
+++ b/kernel/sched_features.h
@@ -12,3 +12,4 @@ SCHED_FEAT(LB_BIAS, 1)
12SCHED_FEAT(LB_WAKEUP_UPDATE, 1) 12SCHED_FEAT(LB_WAKEUP_UPDATE, 1)
13SCHED_FEAT(ASYM_EFF_LOAD, 1) 13SCHED_FEAT(ASYM_EFF_LOAD, 1)
14SCHED_FEAT(WAKEUP_OVERLAP, 0) 14SCHED_FEAT(WAKEUP_OVERLAP, 0)
15SCHED_FEAT(LAST_BUDDY, 1)
diff --git a/kernel/sched_idletask.c b/kernel/sched_idletask.c
index dec4ccabe2f5..8a21a2e28c13 100644
--- a/kernel/sched_idletask.c
+++ b/kernel/sched_idletask.c
@@ -105,9 +105,6 @@ static const struct sched_class idle_sched_class = {
105 105
106 /* dequeue is not valid, we print a debug message there: */ 106 /* dequeue is not valid, we print a debug message there: */
107 .dequeue_task = dequeue_task_idle, 107 .dequeue_task = dequeue_task_idle,
108#ifdef CONFIG_SMP
109 .select_task_rq = select_task_rq_idle,
110#endif /* CONFIG_SMP */
111 108
112 .check_preempt_curr = check_preempt_curr_idle, 109 .check_preempt_curr = check_preempt_curr_idle,
113 110
@@ -115,6 +112,8 @@ static const struct sched_class idle_sched_class = {
115 .put_prev_task = put_prev_task_idle, 112 .put_prev_task = put_prev_task_idle,
116 113
117#ifdef CONFIG_SMP 114#ifdef CONFIG_SMP
115 .select_task_rq = select_task_rq_idle,
116
118 .load_balance = load_balance_idle, 117 .load_balance = load_balance_idle,
119 .move_one_task = move_one_task_idle, 118 .move_one_task = move_one_task_idle,
120#endif 119#endif
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index b446dc87494f..d9ba9d5f99d6 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -1504,9 +1504,6 @@ static const struct sched_class rt_sched_class = {
1504 .enqueue_task = enqueue_task_rt, 1504 .enqueue_task = enqueue_task_rt,
1505 .dequeue_task = dequeue_task_rt, 1505 .dequeue_task = dequeue_task_rt,
1506 .yield_task = yield_task_rt, 1506 .yield_task = yield_task_rt,
1507#ifdef CONFIG_SMP
1508 .select_task_rq = select_task_rq_rt,
1509#endif /* CONFIG_SMP */
1510 1507
1511 .check_preempt_curr = check_preempt_curr_rt, 1508 .check_preempt_curr = check_preempt_curr_rt,
1512 1509
@@ -1514,6 +1511,8 @@ static const struct sched_class rt_sched_class = {
1514 .put_prev_task = put_prev_task_rt, 1511 .put_prev_task = put_prev_task_rt,
1515 1512
1516#ifdef CONFIG_SMP 1513#ifdef CONFIG_SMP
1514 .select_task_rq = select_task_rq_rt,
1515
1517 .load_balance = load_balance_rt, 1516 .load_balance = load_balance_rt,
1518 .move_one_task = move_one_task_rt, 1517 .move_one_task = move_one_task_rt,
1519 .set_cpus_allowed = set_cpus_allowed_rt, 1518 .set_cpus_allowed = set_cpus_allowed_rt,
diff --git a/kernel/signal.c b/kernel/signal.c
index 105217da5c82..4530fc654455 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1144,7 +1144,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
1144 struct task_struct * p; 1144 struct task_struct * p;
1145 1145
1146 for_each_process(p) { 1146 for_each_process(p) {
1147 if (p->pid > 1 && !same_thread_group(p, current)) { 1147 if (task_pid_vnr(p) > 1 &&
1148 !same_thread_group(p, current)) {
1148 int err = group_send_sig_info(sig, info, p); 1149 int err = group_send_sig_info(sig, info, p);
1149 ++count; 1150 ++count;
1150 if (err != -EPERM) 1151 if (err != -EPERM)
diff --git a/kernel/smp.c b/kernel/smp.c
index f362a8553777..75c8dde58c55 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -51,10 +51,6 @@ static void csd_flag_wait(struct call_single_data *data)
51{ 51{
52 /* Wait for response */ 52 /* Wait for response */
53 do { 53 do {
54 /*
55 * We need to see the flags store in the IPI handler
56 */
57 smp_mb();
58 if (!(data->flags & CSD_FLAG_WAIT)) 54 if (!(data->flags & CSD_FLAG_WAIT))
59 break; 55 break;
60 cpu_relax(); 56 cpu_relax();
@@ -76,6 +72,11 @@ static void generic_exec_single(int cpu, struct call_single_data *data)
76 list_add_tail(&data->list, &dst->list); 72 list_add_tail(&data->list, &dst->list);
77 spin_unlock_irqrestore(&dst->lock, flags); 73 spin_unlock_irqrestore(&dst->lock, flags);
78 74
75 /*
76 * Make the list addition visible before sending the ipi.
77 */
78 smp_mb();
79
79 if (ipi) 80 if (ipi)
80 arch_send_call_function_single_ipi(cpu); 81 arch_send_call_function_single_ipi(cpu);
81 82
@@ -157,7 +158,7 @@ void generic_smp_call_function_single_interrupt(void)
157 * Need to see other stores to list head for checking whether 158 * Need to see other stores to list head for checking whether
158 * list is empty without holding q->lock 159 * list is empty without holding q->lock
159 */ 160 */
160 smp_mb(); 161 smp_read_barrier_depends();
161 while (!list_empty(&q->list)) { 162 while (!list_empty(&q->list)) {
162 unsigned int data_flags; 163 unsigned int data_flags;
163 164
@@ -191,7 +192,7 @@ void generic_smp_call_function_single_interrupt(void)
191 /* 192 /*
192 * See comment on outer loop 193 * See comment on outer loop
193 */ 194 */
194 smp_mb(); 195 smp_read_barrier_depends();
195 } 196 }
196} 197}
197 198
@@ -370,6 +371,11 @@ int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info,
370 list_add_tail_rcu(&data->csd.list, &call_function_queue); 371 list_add_tail_rcu(&data->csd.list, &call_function_queue);
371 spin_unlock_irqrestore(&call_function_lock, flags); 372 spin_unlock_irqrestore(&call_function_lock, flags);
372 373
374 /*
375 * Make the list addition visible before sending the ipi.
376 */
377 smp_mb();
378
373 /* Send a message to all CPUs in the map */ 379 /* Send a message to all CPUs in the map */
374 arch_send_call_function_ipi(mask); 380 arch_send_call_function_ipi(mask);
375 381
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 7110daeb9a90..e7c69a720d69 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -269,10 +269,11 @@ void irq_enter(void)
269{ 269{
270 int cpu = smp_processor_id(); 270 int cpu = smp_processor_id();
271 271
272 if (idle_cpu(cpu) && !in_interrupt()) 272 if (idle_cpu(cpu) && !in_interrupt()) {
273 __irq_enter();
273 tick_check_idle(cpu); 274 tick_check_idle(cpu);
274 275 } else
275 __irq_enter(); 276 __irq_enter();
276} 277}
277 278
278#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED 279#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index a13bd4dfaeb1..9d048fa2d902 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -474,7 +474,7 @@ static struct ctl_table kern_table[] = {
474 .mode = 0644, 474 .mode = 0644,
475 .proc_handler = &proc_dointvec, 475 .proc_handler = &proc_dointvec,
476 }, 476 },
477#ifdef CONFIG_FTRACE 477#ifdef CONFIG_FUNCTION_TRACER
478 { 478 {
479 .ctl_name = CTL_UNNUMBERED, 479 .ctl_name = CTL_UNNUMBERED,
480 .procname = "ftrace_enabled", 480 .procname = "ftrace_enabled",
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 5bbb1044f847..342fc9ccab46 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -568,6 +568,9 @@ static void tick_nohz_switch_to_nohz(void)
568 */ 568 */
569static void tick_nohz_kick_tick(int cpu) 569static void tick_nohz_kick_tick(int cpu)
570{ 570{
571#if 0
572 /* Switch back to 2.6.27 behaviour */
573
571 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); 574 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
572 ktime_t delta, now; 575 ktime_t delta, now;
573 576
@@ -584,6 +587,7 @@ static void tick_nohz_kick_tick(int cpu)
584 return; 587 return;
585 588
586 tick_nohz_restart(ts, now); 589 tick_nohz_restart(ts, now);
590#endif
587} 591}
588 592
589#else 593#else
diff --git a/kernel/timer.c b/kernel/timer.c
index 56becf373c58..dbd50fabe4c7 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -112,27 +112,8 @@ timer_set_base(struct timer_list *timer, struct tvec_base *new_base)
112 tbase_get_deferrable(timer->base)); 112 tbase_get_deferrable(timer->base));
113} 113}
114 114
115/** 115static unsigned long round_jiffies_common(unsigned long j, int cpu,
116 * __round_jiffies - function to round jiffies to a full second 116 bool force_up)
117 * @j: the time in (absolute) jiffies that should be rounded
118 * @cpu: the processor number on which the timeout will happen
119 *
120 * __round_jiffies() rounds an absolute time in the future (in jiffies)
121 * up or down to (approximately) full seconds. This is useful for timers
122 * for which the exact time they fire does not matter too much, as long as
123 * they fire approximately every X seconds.
124 *
125 * By rounding these timers to whole seconds, all such timers will fire
126 * at the same time, rather than at various times spread out. The goal
127 * of this is to have the CPU wake up less, which saves power.
128 *
129 * The exact rounding is skewed for each processor to avoid all
130 * processors firing at the exact same time, which could lead
131 * to lock contention or spurious cache line bouncing.
132 *
133 * The return value is the rounded version of the @j parameter.
134 */
135unsigned long __round_jiffies(unsigned long j, int cpu)
136{ 117{
137 int rem; 118 int rem;
138 unsigned long original = j; 119 unsigned long original = j;
@@ -154,8 +135,9 @@ unsigned long __round_jiffies(unsigned long j, int cpu)
154 * due to delays of the timer irq, long irq off times etc etc) then 135 * due to delays of the timer irq, long irq off times etc etc) then
155 * we should round down to the whole second, not up. Use 1/4th second 136 * we should round down to the whole second, not up. Use 1/4th second
156 * as cutoff for this rounding as an extreme upper bound for this. 137 * as cutoff for this rounding as an extreme upper bound for this.
138 * But never round down if @force_up is set.
157 */ 139 */
158 if (rem < HZ/4) /* round down */ 140 if (rem < HZ/4 && !force_up) /* round down */
159 j = j - rem; 141 j = j - rem;
160 else /* round up */ 142 else /* round up */
161 j = j - rem + HZ; 143 j = j - rem + HZ;
@@ -167,6 +149,31 @@ unsigned long __round_jiffies(unsigned long j, int cpu)
167 return original; 149 return original;
168 return j; 150 return j;
169} 151}
152
153/**
154 * __round_jiffies - function to round jiffies to a full second
155 * @j: the time in (absolute) jiffies that should be rounded
156 * @cpu: the processor number on which the timeout will happen
157 *
158 * __round_jiffies() rounds an absolute time in the future (in jiffies)
159 * up or down to (approximately) full seconds. This is useful for timers
160 * for which the exact time they fire does not matter too much, as long as
161 * they fire approximately every X seconds.
162 *
163 * By rounding these timers to whole seconds, all such timers will fire
164 * at the same time, rather than at various times spread out. The goal
165 * of this is to have the CPU wake up less, which saves power.
166 *
167 * The exact rounding is skewed for each processor to avoid all
168 * processors firing at the exact same time, which could lead
169 * to lock contention or spurious cache line bouncing.
170 *
171 * The return value is the rounded version of the @j parameter.
172 */
173unsigned long __round_jiffies(unsigned long j, int cpu)
174{
175 return round_jiffies_common(j, cpu, false);
176}
170EXPORT_SYMBOL_GPL(__round_jiffies); 177EXPORT_SYMBOL_GPL(__round_jiffies);
171 178
172/** 179/**
@@ -191,13 +198,10 @@ EXPORT_SYMBOL_GPL(__round_jiffies);
191 */ 198 */
192unsigned long __round_jiffies_relative(unsigned long j, int cpu) 199unsigned long __round_jiffies_relative(unsigned long j, int cpu)
193{ 200{
194 /* 201 unsigned long j0 = jiffies;
195 * In theory the following code can skip a jiffy in case jiffies 202
196 * increments right between the addition and the later subtraction. 203 /* Use j0 because jiffies might change while we run */
197 * However since the entire point of this function is to use approximate 204 return round_jiffies_common(j + j0, cpu, false) - j0;
198 * timeouts, it's entirely ok to not handle that.
199 */
200 return __round_jiffies(j + jiffies, cpu) - jiffies;
201} 205}
202EXPORT_SYMBOL_GPL(__round_jiffies_relative); 206EXPORT_SYMBOL_GPL(__round_jiffies_relative);
203 207
@@ -218,7 +222,7 @@ EXPORT_SYMBOL_GPL(__round_jiffies_relative);
218 */ 222 */
219unsigned long round_jiffies(unsigned long j) 223unsigned long round_jiffies(unsigned long j)
220{ 224{
221 return __round_jiffies(j, raw_smp_processor_id()); 225 return round_jiffies_common(j, raw_smp_processor_id(), false);
222} 226}
223EXPORT_SYMBOL_GPL(round_jiffies); 227EXPORT_SYMBOL_GPL(round_jiffies);
224 228
@@ -243,6 +247,71 @@ unsigned long round_jiffies_relative(unsigned long j)
243} 247}
244EXPORT_SYMBOL_GPL(round_jiffies_relative); 248EXPORT_SYMBOL_GPL(round_jiffies_relative);
245 249
250/**
251 * __round_jiffies_up - function to round jiffies up to a full second
252 * @j: the time in (absolute) jiffies that should be rounded
253 * @cpu: the processor number on which the timeout will happen
254 *
255 * This is the same as __round_jiffies() except that it will never
256 * round down. This is useful for timeouts for which the exact time
257 * of firing does not matter too much, as long as they don't fire too
258 * early.
259 */
260unsigned long __round_jiffies_up(unsigned long j, int cpu)
261{
262 return round_jiffies_common(j, cpu, true);
263}
264EXPORT_SYMBOL_GPL(__round_jiffies_up);
265
266/**
267 * __round_jiffies_up_relative - function to round jiffies up to a full second
268 * @j: the time in (relative) jiffies that should be rounded
269 * @cpu: the processor number on which the timeout will happen
270 *
271 * This is the same as __round_jiffies_relative() except that it will never
272 * round down. This is useful for timeouts for which the exact time
273 * of firing does not matter too much, as long as they don't fire too
274 * early.
275 */
276unsigned long __round_jiffies_up_relative(unsigned long j, int cpu)
277{
278 unsigned long j0 = jiffies;
279
280 /* Use j0 because jiffies might change while we run */
281 return round_jiffies_common(j + j0, cpu, true) - j0;
282}
283EXPORT_SYMBOL_GPL(__round_jiffies_up_relative);
284
285/**
286 * round_jiffies_up - function to round jiffies up to a full second
287 * @j: the time in (absolute) jiffies that should be rounded
288 *
289 * This is the same as round_jiffies() except that it will never
290 * round down. This is useful for timeouts for which the exact time
291 * of firing does not matter too much, as long as they don't fire too
292 * early.
293 */
294unsigned long round_jiffies_up(unsigned long j)
295{
296 return round_jiffies_common(j, raw_smp_processor_id(), true);
297}
298EXPORT_SYMBOL_GPL(round_jiffies_up);
299
300/**
301 * round_jiffies_up_relative - function to round jiffies up to a full second
302 * @j: the time in (relative) jiffies that should be rounded
303 *
304 * This is the same as round_jiffies_relative() except that it will never
305 * round down. This is useful for timeouts for which the exact time
306 * of firing does not matter too much, as long as they don't fire too
307 * early.
308 */
309unsigned long round_jiffies_up_relative(unsigned long j)
310{
311 return __round_jiffies_up_relative(j, raw_smp_processor_id());
312}
313EXPORT_SYMBOL_GPL(round_jiffies_up_relative);
314
246 315
247static inline void set_running_timer(struct tvec_base *base, 316static inline void set_running_timer(struct tvec_base *base,
248 struct timer_list *timer) 317 struct timer_list *timer)
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 1cb3e1f616af..33dbefd471e8 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -1,13 +1,13 @@
1# 1#
2# Architectures that offer an FTRACE implementation should select HAVE_FTRACE: 2# Architectures that offer an FUNCTION_TRACER implementation should
3# select HAVE_FUNCTION_TRACER:
3# 4#
4 5
5config NOP_TRACER 6config NOP_TRACER
6 bool 7 bool
7 8
8config HAVE_FTRACE 9config HAVE_FUNCTION_TRACER
9 bool 10 bool
10 select NOP_TRACER
11 11
12config HAVE_DYNAMIC_FTRACE 12config HAVE_DYNAMIC_FTRACE
13 bool 13 bool
@@ -25,12 +25,15 @@ config TRACING
25 bool 25 bool
26 select DEBUG_FS 26 select DEBUG_FS
27 select RING_BUFFER 27 select RING_BUFFER
28 select STACKTRACE 28 select STACKTRACE if STACKTRACE_SUPPORT
29 select TRACEPOINTS 29 select TRACEPOINTS
30 select NOP_TRACER
30 31
31config FTRACE 32menu "Tracers"
33
34config FUNCTION_TRACER
32 bool "Kernel Function Tracer" 35 bool "Kernel Function Tracer"
33 depends on HAVE_FTRACE 36 depends on HAVE_FUNCTION_TRACER
34 depends on DEBUG_KERNEL 37 depends on DEBUG_KERNEL
35 select FRAME_POINTER 38 select FRAME_POINTER
36 select TRACING 39 select TRACING
@@ -49,7 +52,6 @@ config IRQSOFF_TRACER
49 default n 52 default n
50 depends on TRACE_IRQFLAGS_SUPPORT 53 depends on TRACE_IRQFLAGS_SUPPORT
51 depends on GENERIC_TIME 54 depends on GENERIC_TIME
52 depends on HAVE_FTRACE
53 depends on DEBUG_KERNEL 55 depends on DEBUG_KERNEL
54 select TRACE_IRQFLAGS 56 select TRACE_IRQFLAGS
55 select TRACING 57 select TRACING
@@ -73,7 +75,6 @@ config PREEMPT_TRACER
73 default n 75 default n
74 depends on GENERIC_TIME 76 depends on GENERIC_TIME
75 depends on PREEMPT 77 depends on PREEMPT
76 depends on HAVE_FTRACE
77 depends on DEBUG_KERNEL 78 depends on DEBUG_KERNEL
78 select TRACING 79 select TRACING
79 select TRACER_MAX_TRACE 80 select TRACER_MAX_TRACE
@@ -101,7 +102,6 @@ config SYSPROF_TRACER
101 102
102config SCHED_TRACER 103config SCHED_TRACER
103 bool "Scheduling Latency Tracer" 104 bool "Scheduling Latency Tracer"
104 depends on HAVE_FTRACE
105 depends on DEBUG_KERNEL 105 depends on DEBUG_KERNEL
106 select TRACING 106 select TRACING
107 select CONTEXT_SWITCH_TRACER 107 select CONTEXT_SWITCH_TRACER
@@ -112,7 +112,6 @@ config SCHED_TRACER
112 112
113config CONTEXT_SWITCH_TRACER 113config CONTEXT_SWITCH_TRACER
114 bool "Trace process context switches" 114 bool "Trace process context switches"
115 depends on HAVE_FTRACE
116 depends on DEBUG_KERNEL 115 depends on DEBUG_KERNEL
117 select TRACING 116 select TRACING
118 select MARKERS 117 select MARKERS
@@ -122,9 +121,9 @@ config CONTEXT_SWITCH_TRACER
122 121
123config BOOT_TRACER 122config BOOT_TRACER
124 bool "Trace boot initcalls" 123 bool "Trace boot initcalls"
125 depends on HAVE_FTRACE
126 depends on DEBUG_KERNEL 124 depends on DEBUG_KERNEL
127 select TRACING 125 select TRACING
126 select CONTEXT_SWITCH_TRACER
128 help 127 help
129 This tracer helps developers to optimize boot times: it records 128 This tracer helps developers to optimize boot times: it records
130 the timings of the initcalls and traces key events and the identity 129 the timings of the initcalls and traces key events and the identity
@@ -141,9 +140,9 @@ config BOOT_TRACER
141 140
142config STACK_TRACER 141config STACK_TRACER
143 bool "Trace max stack" 142 bool "Trace max stack"
144 depends on HAVE_FTRACE 143 depends on HAVE_FUNCTION_TRACER
145 depends on DEBUG_KERNEL 144 depends on DEBUG_KERNEL
146 select FTRACE 145 select FUNCTION_TRACER
147 select STACKTRACE 146 select STACKTRACE
148 help 147 help
149 This special tracer records the maximum stack footprint of the 148 This special tracer records the maximum stack footprint of the
@@ -160,7 +159,7 @@ config STACK_TRACER
160 159
161config DYNAMIC_FTRACE 160config DYNAMIC_FTRACE
162 bool "enable/disable ftrace tracepoints dynamically" 161 bool "enable/disable ftrace tracepoints dynamically"
163 depends on FTRACE 162 depends on FUNCTION_TRACER
164 depends on HAVE_DYNAMIC_FTRACE 163 depends on HAVE_DYNAMIC_FTRACE
165 depends on DEBUG_KERNEL 164 depends on DEBUG_KERNEL
166 default y 165 default y
@@ -170,7 +169,7 @@ config DYNAMIC_FTRACE
170 with a No-Op instruction) as they are called. A table is 169 with a No-Op instruction) as they are called. A table is
171 created to dynamically enable them again. 170 created to dynamically enable them again.
172 171
173 This way a CONFIG_FTRACE kernel is slightly larger, but otherwise 172 This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but otherwise
174 has native performance as long as no tracing is active. 173 has native performance as long as no tracing is active.
175 174
176 The changes to the code are done by a kernel thread that 175 The changes to the code are done by a kernel thread that
@@ -195,3 +194,5 @@ config FTRACE_STARTUP_TEST
195 a series of tests are made to verify that the tracer is 194 a series of tests are made to verify that the tracer is
196 functioning properly. It will do tests on all the configured 195 functioning properly. It will do tests on all the configured
197 tracers of ftrace. 196 tracers of ftrace.
197
198endmenu
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index a85dfba88ba0..c8228b1a49e9 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -1,7 +1,7 @@
1 1
2# Do not instrument the tracer itself: 2# Do not instrument the tracer itself:
3 3
4ifdef CONFIG_FTRACE 4ifdef CONFIG_FUNCTION_TRACER
5ORIG_CFLAGS := $(KBUILD_CFLAGS) 5ORIG_CFLAGS := $(KBUILD_CFLAGS)
6KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS)) 6KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS))
7 7
@@ -10,13 +10,13 @@ CFLAGS_trace_selftest_dynamic.o = -pg
10obj-y += trace_selftest_dynamic.o 10obj-y += trace_selftest_dynamic.o
11endif 11endif
12 12
13obj-$(CONFIG_FTRACE) += libftrace.o 13obj-$(CONFIG_FUNCTION_TRACER) += libftrace.o
14obj-$(CONFIG_RING_BUFFER) += ring_buffer.o 14obj-$(CONFIG_RING_BUFFER) += ring_buffer.o
15 15
16obj-$(CONFIG_TRACING) += trace.o 16obj-$(CONFIG_TRACING) += trace.o
17obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o 17obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o
18obj-$(CONFIG_SYSPROF_TRACER) += trace_sysprof.o 18obj-$(CONFIG_SYSPROF_TRACER) += trace_sysprof.o
19obj-$(CONFIG_FTRACE) += trace_functions.o 19obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o
20obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o 20obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o
21obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o 21obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o
22obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o 22obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 4dda4f60a2a9..4a39d24568c8 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -25,13 +25,24 @@
25#include <linux/ftrace.h> 25#include <linux/ftrace.h>
26#include <linux/sysctl.h> 26#include <linux/sysctl.h>
27#include <linux/ctype.h> 27#include <linux/ctype.h>
28#include <linux/hash.h>
29#include <linux/list.h> 28#include <linux/list.h>
30 29
31#include <asm/ftrace.h> 30#include <asm/ftrace.h>
32 31
33#include "trace.h" 32#include "trace.h"
34 33
34#define FTRACE_WARN_ON(cond) \
35 do { \
36 if (WARN_ON(cond)) \
37 ftrace_kill(); \
38 } while (0)
39
40#define FTRACE_WARN_ON_ONCE(cond) \
41 do { \
42 if (WARN_ON_ONCE(cond)) \
43 ftrace_kill(); \
44 } while (0)
45
35/* ftrace_enabled is a method to turn ftrace on or off */ 46/* ftrace_enabled is a method to turn ftrace on or off */
36int ftrace_enabled __read_mostly; 47int ftrace_enabled __read_mostly;
37static int last_ftrace_enabled; 48static int last_ftrace_enabled;
@@ -153,21 +164,8 @@ static int __unregister_ftrace_function(struct ftrace_ops *ops)
153} 164}
154 165
155#ifdef CONFIG_DYNAMIC_FTRACE 166#ifdef CONFIG_DYNAMIC_FTRACE
156
157#ifndef CONFIG_FTRACE_MCOUNT_RECORD 167#ifndef CONFIG_FTRACE_MCOUNT_RECORD
158/* 168# error Dynamic ftrace depends on MCOUNT_RECORD
159 * The hash lock is only needed when the recording of the mcount
160 * callers are dynamic. That is, by the caller themselves and
161 * not recorded via the compilation.
162 */
163static DEFINE_SPINLOCK(ftrace_hash_lock);
164#define ftrace_hash_lock(flags) spin_lock_irqsave(&ftrace_hash_lock, flags)
165#define ftrace_hash_unlock(flags) \
166 spin_unlock_irqrestore(&ftrace_hash_lock, flags)
167#else
168/* This is protected via the ftrace_lock with MCOUNT_RECORD. */
169#define ftrace_hash_lock(flags) do { (void)(flags); } while (0)
170#define ftrace_hash_unlock(flags) do { } while(0)
171#endif 169#endif
172 170
173/* 171/*
@@ -178,8 +176,6 @@ static DEFINE_SPINLOCK(ftrace_hash_lock);
178 */ 176 */
179static unsigned long mcount_addr = MCOUNT_ADDR; 177static unsigned long mcount_addr = MCOUNT_ADDR;
180 178
181static struct task_struct *ftraced_task;
182
183enum { 179enum {
184 FTRACE_ENABLE_CALLS = (1 << 0), 180 FTRACE_ENABLE_CALLS = (1 << 0),
185 FTRACE_DISABLE_CALLS = (1 << 1), 181 FTRACE_DISABLE_CALLS = (1 << 1),
@@ -190,13 +186,9 @@ enum {
190 186
191static int ftrace_filtered; 187static int ftrace_filtered;
192static int tracing_on; 188static int tracing_on;
193static int frozen_record_count;
194
195static struct hlist_head ftrace_hash[FTRACE_HASHSIZE];
196 189
197static DEFINE_PER_CPU(int, ftrace_shutdown_disable_cpu); 190static LIST_HEAD(ftrace_new_addrs);
198 191
199static DEFINE_MUTEX(ftraced_lock);
200static DEFINE_MUTEX(ftrace_regex_lock); 192static DEFINE_MUTEX(ftrace_regex_lock);
201 193
202struct ftrace_page { 194struct ftrace_page {
@@ -214,16 +206,13 @@ struct ftrace_page {
214static struct ftrace_page *ftrace_pages_start; 206static struct ftrace_page *ftrace_pages_start;
215static struct ftrace_page *ftrace_pages; 207static struct ftrace_page *ftrace_pages;
216 208
217static int ftraced_trigger;
218static int ftraced_suspend;
219static int ftraced_stop;
220
221static int ftrace_record_suspend;
222
223static struct dyn_ftrace *ftrace_free_records; 209static struct dyn_ftrace *ftrace_free_records;
224 210
225 211
226#ifdef CONFIG_KPROBES 212#ifdef CONFIG_KPROBES
213
214static int frozen_record_count;
215
227static inline void freeze_record(struct dyn_ftrace *rec) 216static inline void freeze_record(struct dyn_ftrace *rec)
228{ 217{
229 if (!(rec->flags & FTRACE_FL_FROZEN)) { 218 if (!(rec->flags & FTRACE_FL_FROZEN)) {
@@ -250,72 +239,6 @@ static inline int record_frozen(struct dyn_ftrace *rec)
250# define record_frozen(rec) ({ 0; }) 239# define record_frozen(rec) ({ 0; })
251#endif /* CONFIG_KPROBES */ 240#endif /* CONFIG_KPROBES */
252 241
253int skip_trace(unsigned long ip)
254{
255 unsigned long fl;
256 struct dyn_ftrace *rec;
257 struct hlist_node *t;
258 struct hlist_head *head;
259
260 if (frozen_record_count == 0)
261 return 0;
262
263 head = &ftrace_hash[hash_long(ip, FTRACE_HASHBITS)];
264 hlist_for_each_entry_rcu(rec, t, head, node) {
265 if (rec->ip == ip) {
266 if (record_frozen(rec)) {
267 if (rec->flags & FTRACE_FL_FAILED)
268 return 1;
269
270 if (!(rec->flags & FTRACE_FL_CONVERTED))
271 return 1;
272
273 if (!tracing_on || !ftrace_enabled)
274 return 1;
275
276 if (ftrace_filtered) {
277 fl = rec->flags & (FTRACE_FL_FILTER |
278 FTRACE_FL_NOTRACE);
279 if (!fl || (fl & FTRACE_FL_NOTRACE))
280 return 1;
281 }
282 }
283 break;
284 }
285 }
286
287 return 0;
288}
289
290static inline int
291ftrace_ip_in_hash(unsigned long ip, unsigned long key)
292{
293 struct dyn_ftrace *p;
294 struct hlist_node *t;
295 int found = 0;
296
297 hlist_for_each_entry_rcu(p, t, &ftrace_hash[key], node) {
298 if (p->ip == ip) {
299 found = 1;
300 break;
301 }
302 }
303
304 return found;
305}
306
307static inline void
308ftrace_add_hash(struct dyn_ftrace *node, unsigned long key)
309{
310 hlist_add_head_rcu(&node->node, &ftrace_hash[key]);
311}
312
313/* called from kstop_machine */
314static inline void ftrace_del_hash(struct dyn_ftrace *node)
315{
316 hlist_del(&node->node);
317}
318
319static void ftrace_free_rec(struct dyn_ftrace *rec) 242static void ftrace_free_rec(struct dyn_ftrace *rec)
320{ 243{
321 rec->ip = (unsigned long)ftrace_free_records; 244 rec->ip = (unsigned long)ftrace_free_records;
@@ -346,7 +269,6 @@ void ftrace_release(void *start, unsigned long size)
346 } 269 }
347 } 270 }
348 spin_unlock(&ftrace_lock); 271 spin_unlock(&ftrace_lock);
349
350} 272}
351 273
352static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip) 274static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
@@ -358,10 +280,8 @@ static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
358 rec = ftrace_free_records; 280 rec = ftrace_free_records;
359 281
360 if (unlikely(!(rec->flags & FTRACE_FL_FREE))) { 282 if (unlikely(!(rec->flags & FTRACE_FL_FREE))) {
361 WARN_ON_ONCE(1); 283 FTRACE_WARN_ON_ONCE(1);
362 ftrace_free_records = NULL; 284 ftrace_free_records = NULL;
363 ftrace_disabled = 1;
364 ftrace_enabled = 0;
365 return NULL; 285 return NULL;
366 } 286 }
367 287
@@ -371,76 +291,36 @@ static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
371 } 291 }
372 292
373 if (ftrace_pages->index == ENTRIES_PER_PAGE) { 293 if (ftrace_pages->index == ENTRIES_PER_PAGE) {
374 if (!ftrace_pages->next) 294 if (!ftrace_pages->next) {
375 return NULL; 295 /* allocate another page */
296 ftrace_pages->next =
297 (void *)get_zeroed_page(GFP_KERNEL);
298 if (!ftrace_pages->next)
299 return NULL;
300 }
376 ftrace_pages = ftrace_pages->next; 301 ftrace_pages = ftrace_pages->next;
377 } 302 }
378 303
379 return &ftrace_pages->records[ftrace_pages->index++]; 304 return &ftrace_pages->records[ftrace_pages->index++];
380} 305}
381 306
382static void 307static struct dyn_ftrace *
383ftrace_record_ip(unsigned long ip) 308ftrace_record_ip(unsigned long ip)
384{ 309{
385 struct dyn_ftrace *node; 310 struct dyn_ftrace *rec;
386 unsigned long flags;
387 unsigned long key;
388 int resched;
389 int cpu;
390 311
391 if (!ftrace_enabled || ftrace_disabled) 312 if (!ftrace_enabled || ftrace_disabled)
392 return; 313 return NULL;
393
394 resched = need_resched();
395 preempt_disable_notrace();
396 314
397 /* 315 rec = ftrace_alloc_dyn_node(ip);
398 * We simply need to protect against recursion. 316 if (!rec)
399 * Use the the raw version of smp_processor_id and not 317 return NULL;
400 * __get_cpu_var which can call debug hooks that can
401 * cause a recursive crash here.
402 */
403 cpu = raw_smp_processor_id();
404 per_cpu(ftrace_shutdown_disable_cpu, cpu)++;
405 if (per_cpu(ftrace_shutdown_disable_cpu, cpu) != 1)
406 goto out;
407
408 if (unlikely(ftrace_record_suspend))
409 goto out;
410
411 key = hash_long(ip, FTRACE_HASHBITS);
412
413 WARN_ON_ONCE(key >= FTRACE_HASHSIZE);
414
415 if (ftrace_ip_in_hash(ip, key))
416 goto out;
417
418 ftrace_hash_lock(flags);
419
420 /* This ip may have hit the hash before the lock */
421 if (ftrace_ip_in_hash(ip, key))
422 goto out_unlock;
423
424 node = ftrace_alloc_dyn_node(ip);
425 if (!node)
426 goto out_unlock;
427
428 node->ip = ip;
429
430 ftrace_add_hash(node, key);
431 318
432 ftraced_trigger = 1; 319 rec->ip = ip;
433 320
434 out_unlock: 321 list_add(&rec->list, &ftrace_new_addrs);
435 ftrace_hash_unlock(flags);
436 out:
437 per_cpu(ftrace_shutdown_disable_cpu, cpu)--;
438 322
439 /* prevent recursion with scheduler */ 323 return rec;
440 if (resched)
441 preempt_enable_no_resched_notrace();
442 else
443 preempt_enable_notrace();
444} 324}
445 325
446#define FTRACE_ADDR ((long)(ftrace_caller)) 326#define FTRACE_ADDR ((long)(ftrace_caller))
@@ -559,7 +439,6 @@ static void ftrace_replace_code(int enable)
559 rec->flags |= FTRACE_FL_FAILED; 439 rec->flags |= FTRACE_FL_FAILED;
560 if ((system_state == SYSTEM_BOOTING) || 440 if ((system_state == SYSTEM_BOOTING) ||
561 !core_kernel_text(rec->ip)) { 441 !core_kernel_text(rec->ip)) {
562 ftrace_del_hash(rec);
563 ftrace_free_rec(rec); 442 ftrace_free_rec(rec);
564 } 443 }
565 } 444 }
@@ -567,15 +446,6 @@ static void ftrace_replace_code(int enable)
567 } 446 }
568} 447}
569 448
570static void ftrace_shutdown_replenish(void)
571{
572 if (ftrace_pages->next)
573 return;
574
575 /* allocate another page */
576 ftrace_pages->next = (void *)get_zeroed_page(GFP_KERNEL);
577}
578
579static void print_ip_ins(const char *fmt, unsigned char *p) 449static void print_ip_ins(const char *fmt, unsigned char *p)
580{ 450{
581 int i; 451 int i;
@@ -591,23 +461,23 @@ ftrace_code_disable(struct dyn_ftrace *rec)
591{ 461{
592 unsigned long ip; 462 unsigned long ip;
593 unsigned char *nop, *call; 463 unsigned char *nop, *call;
594 int failed; 464 int ret;
595 465
596 ip = rec->ip; 466 ip = rec->ip;
597 467
598 nop = ftrace_nop_replace(); 468 nop = ftrace_nop_replace();
599 call = ftrace_call_replace(ip, mcount_addr); 469 call = ftrace_call_replace(ip, mcount_addr);
600 470
601 failed = ftrace_modify_code(ip, call, nop); 471 ret = ftrace_modify_code(ip, call, nop);
602 if (failed) { 472 if (ret) {
603 switch (failed) { 473 switch (ret) {
604 case 1: 474 case -EFAULT:
605 WARN_ON_ONCE(1); 475 FTRACE_WARN_ON_ONCE(1);
606 pr_info("ftrace faulted on modifying "); 476 pr_info("ftrace faulted on modifying ");
607 print_ip_sym(ip); 477 print_ip_sym(ip);
608 break; 478 break;
609 case 2: 479 case -EINVAL:
610 WARN_ON_ONCE(1); 480 FTRACE_WARN_ON_ONCE(1);
611 pr_info("ftrace failed to modify "); 481 pr_info("ftrace failed to modify ");
612 print_ip_sym(ip); 482 print_ip_sym(ip);
613 print_ip_ins(" expected: ", call); 483 print_ip_ins(" expected: ", call);
@@ -615,6 +485,15 @@ ftrace_code_disable(struct dyn_ftrace *rec)
615 print_ip_ins(" replace: ", nop); 485 print_ip_ins(" replace: ", nop);
616 printk(KERN_CONT "\n"); 486 printk(KERN_CONT "\n");
617 break; 487 break;
488 case -EPERM:
489 FTRACE_WARN_ON_ONCE(1);
490 pr_info("ftrace faulted on writing ");
491 print_ip_sym(ip);
492 break;
493 default:
494 FTRACE_WARN_ON_ONCE(1);
495 pr_info("ftrace faulted on unknown error ");
496 print_ip_sym(ip);
618 } 497 }
619 498
620 rec->flags |= FTRACE_FL_FAILED; 499 rec->flags |= FTRACE_FL_FAILED;
@@ -623,19 +502,11 @@ ftrace_code_disable(struct dyn_ftrace *rec)
623 return 1; 502 return 1;
624} 503}
625 504
626static int __ftrace_update_code(void *ignore);
627
628static int __ftrace_modify_code(void *data) 505static int __ftrace_modify_code(void *data)
629{ 506{
630 unsigned long addr;
631 int *command = data; 507 int *command = data;
632 508
633 if (*command & FTRACE_ENABLE_CALLS) { 509 if (*command & FTRACE_ENABLE_CALLS) {
634 /*
635 * Update any recorded ips now that we have the
636 * machine stopped
637 */
638 __ftrace_update_code(NULL);
639 ftrace_replace_code(1); 510 ftrace_replace_code(1);
640 tracing_on = 1; 511 tracing_on = 1;
641 } else if (*command & FTRACE_DISABLE_CALLS) { 512 } else if (*command & FTRACE_DISABLE_CALLS) {
@@ -646,14 +517,6 @@ static int __ftrace_modify_code(void *data)
646 if (*command & FTRACE_UPDATE_TRACE_FUNC) 517 if (*command & FTRACE_UPDATE_TRACE_FUNC)
647 ftrace_update_ftrace_func(ftrace_trace_function); 518 ftrace_update_ftrace_func(ftrace_trace_function);
648 519
649 if (*command & FTRACE_ENABLE_MCOUNT) {
650 addr = (unsigned long)ftrace_record_ip;
651 ftrace_mcount_set(&addr);
652 } else if (*command & FTRACE_DISABLE_MCOUNT) {
653 addr = (unsigned long)ftrace_stub;
654 ftrace_mcount_set(&addr);
655 }
656
657 return 0; 520 return 0;
658} 521}
659 522
@@ -662,26 +525,9 @@ static void ftrace_run_update_code(int command)
662 stop_machine(__ftrace_modify_code, &command, NULL); 525 stop_machine(__ftrace_modify_code, &command, NULL);
663} 526}
664 527
665void ftrace_disable_daemon(void)
666{
667 /* Stop the daemon from calling kstop_machine */
668 mutex_lock(&ftraced_lock);
669 ftraced_stop = 1;
670 mutex_unlock(&ftraced_lock);
671
672 ftrace_force_update();
673}
674
675void ftrace_enable_daemon(void)
676{
677 mutex_lock(&ftraced_lock);
678 ftraced_stop = 0;
679 mutex_unlock(&ftraced_lock);
680
681 ftrace_force_update();
682}
683
684static ftrace_func_t saved_ftrace_func; 528static ftrace_func_t saved_ftrace_func;
529static int ftrace_start;
530static DEFINE_MUTEX(ftrace_start_lock);
685 531
686static void ftrace_startup(void) 532static void ftrace_startup(void)
687{ 533{
@@ -690,9 +536,9 @@ static void ftrace_startup(void)
690 if (unlikely(ftrace_disabled)) 536 if (unlikely(ftrace_disabled))
691 return; 537 return;
692 538
693 mutex_lock(&ftraced_lock); 539 mutex_lock(&ftrace_start_lock);
694 ftraced_suspend++; 540 ftrace_start++;
695 if (ftraced_suspend == 1) 541 if (ftrace_start == 1)
696 command |= FTRACE_ENABLE_CALLS; 542 command |= FTRACE_ENABLE_CALLS;
697 543
698 if (saved_ftrace_func != ftrace_trace_function) { 544 if (saved_ftrace_func != ftrace_trace_function) {
@@ -705,7 +551,7 @@ static void ftrace_startup(void)
705 551
706 ftrace_run_update_code(command); 552 ftrace_run_update_code(command);
707 out: 553 out:
708 mutex_unlock(&ftraced_lock); 554 mutex_unlock(&ftrace_start_lock);
709} 555}
710 556
711static void ftrace_shutdown(void) 557static void ftrace_shutdown(void)
@@ -715,9 +561,9 @@ static void ftrace_shutdown(void)
715 if (unlikely(ftrace_disabled)) 561 if (unlikely(ftrace_disabled))
716 return; 562 return;
717 563
718 mutex_lock(&ftraced_lock); 564 mutex_lock(&ftrace_start_lock);
719 ftraced_suspend--; 565 ftrace_start--;
720 if (!ftraced_suspend) 566 if (!ftrace_start)
721 command |= FTRACE_DISABLE_CALLS; 567 command |= FTRACE_DISABLE_CALLS;
722 568
723 if (saved_ftrace_func != ftrace_trace_function) { 569 if (saved_ftrace_func != ftrace_trace_function) {
@@ -730,7 +576,7 @@ static void ftrace_shutdown(void)
730 576
731 ftrace_run_update_code(command); 577 ftrace_run_update_code(command);
732 out: 578 out:
733 mutex_unlock(&ftraced_lock); 579 mutex_unlock(&ftrace_start_lock);
734} 580}
735 581
736static void ftrace_startup_sysctl(void) 582static void ftrace_startup_sysctl(void)
@@ -740,15 +586,15 @@ static void ftrace_startup_sysctl(void)
740 if (unlikely(ftrace_disabled)) 586 if (unlikely(ftrace_disabled))
741 return; 587 return;
742 588
743 mutex_lock(&ftraced_lock); 589 mutex_lock(&ftrace_start_lock);
744 /* Force update next time */ 590 /* Force update next time */
745 saved_ftrace_func = NULL; 591 saved_ftrace_func = NULL;
746 /* ftraced_suspend is true if we want ftrace running */ 592 /* ftrace_start is true if we want ftrace running */
747 if (ftraced_suspend) 593 if (ftrace_start)
748 command |= FTRACE_ENABLE_CALLS; 594 command |= FTRACE_ENABLE_CALLS;
749 595
750 ftrace_run_update_code(command); 596 ftrace_run_update_code(command);
751 mutex_unlock(&ftraced_lock); 597 mutex_unlock(&ftrace_start_lock);
752} 598}
753 599
754static void ftrace_shutdown_sysctl(void) 600static void ftrace_shutdown_sysctl(void)
@@ -758,112 +604,50 @@ static void ftrace_shutdown_sysctl(void)
758 if (unlikely(ftrace_disabled)) 604 if (unlikely(ftrace_disabled))
759 return; 605 return;
760 606
761 mutex_lock(&ftraced_lock); 607 mutex_lock(&ftrace_start_lock);
762 /* ftraced_suspend is true if ftrace is running */ 608 /* ftrace_start is true if ftrace is running */
763 if (ftraced_suspend) 609 if (ftrace_start)
764 command |= FTRACE_DISABLE_CALLS; 610 command |= FTRACE_DISABLE_CALLS;
765 611
766 ftrace_run_update_code(command); 612 ftrace_run_update_code(command);
767 mutex_unlock(&ftraced_lock); 613 mutex_unlock(&ftrace_start_lock);
768} 614}
769 615
770static cycle_t ftrace_update_time; 616static cycle_t ftrace_update_time;
771static unsigned long ftrace_update_cnt; 617static unsigned long ftrace_update_cnt;
772unsigned long ftrace_update_tot_cnt; 618unsigned long ftrace_update_tot_cnt;
773 619
774static int __ftrace_update_code(void *ignore) 620static int ftrace_update_code(void)
775{ 621{
776 int i, save_ftrace_enabled; 622 struct dyn_ftrace *p, *t;
777 cycle_t start, stop; 623 cycle_t start, stop;
778 struct dyn_ftrace *p;
779 struct hlist_node *t, *n;
780 struct hlist_head *head, temp_list;
781
782 /* Don't be recording funcs now */
783 ftrace_record_suspend++;
784 save_ftrace_enabled = ftrace_enabled;
785 ftrace_enabled = 0;
786 624
787 start = ftrace_now(raw_smp_processor_id()); 625 start = ftrace_now(raw_smp_processor_id());
788 ftrace_update_cnt = 0; 626 ftrace_update_cnt = 0;
789 627
790 /* No locks needed, the machine is stopped! */ 628 list_for_each_entry_safe(p, t, &ftrace_new_addrs, list) {
791 for (i = 0; i < FTRACE_HASHSIZE; i++) {
792 INIT_HLIST_HEAD(&temp_list);
793 head = &ftrace_hash[i];
794 629
795 /* all CPUS are stopped, we are safe to modify code */ 630 /* If something went wrong, bail without enabling anything */
796 hlist_for_each_entry_safe(p, t, n, head, node) { 631 if (unlikely(ftrace_disabled))
797 /* Skip over failed records which have not been 632 return -1;
798 * freed. */
799 if (p->flags & FTRACE_FL_FAILED)
800 continue;
801 633
802 /* Unconverted records are always at the head of the 634 list_del_init(&p->list);
803 * hash bucket. Once we encounter a converted record,
804 * simply skip over to the next bucket. Saves ftraced
805 * some processor cycles (ftrace does its bid for
806 * global warming :-p ). */
807 if (p->flags & (FTRACE_FL_CONVERTED))
808 break;
809 635
810 /* Ignore updates to this record's mcount site. 636 /* convert record (i.e, patch mcount-call with NOP) */
811 * Reintroduce this record at the head of this 637 if (ftrace_code_disable(p)) {
812 * bucket to attempt to "convert" it again if 638 p->flags |= FTRACE_FL_CONVERTED;
813 * the kprobe on it is unregistered before the 639 ftrace_update_cnt++;
814 * next run. */ 640 } else
815 if (get_kprobe((void *)p->ip)) { 641 ftrace_free_rec(p);
816 ftrace_del_hash(p);
817 INIT_HLIST_NODE(&p->node);
818 hlist_add_head(&p->node, &temp_list);
819 freeze_record(p);
820 continue;
821 } else {
822 unfreeze_record(p);
823 }
824
825 /* convert record (i.e, patch mcount-call with NOP) */
826 if (ftrace_code_disable(p)) {
827 p->flags |= FTRACE_FL_CONVERTED;
828 ftrace_update_cnt++;
829 } else {
830 if ((system_state == SYSTEM_BOOTING) ||
831 !core_kernel_text(p->ip)) {
832 ftrace_del_hash(p);
833 ftrace_free_rec(p);
834 }
835 }
836 }
837
838 hlist_for_each_entry_safe(p, t, n, &temp_list, node) {
839 hlist_del(&p->node);
840 INIT_HLIST_NODE(&p->node);
841 hlist_add_head(&p->node, head);
842 }
843 } 642 }
844 643
845 stop = ftrace_now(raw_smp_processor_id()); 644 stop = ftrace_now(raw_smp_processor_id());
846 ftrace_update_time = stop - start; 645 ftrace_update_time = stop - start;
847 ftrace_update_tot_cnt += ftrace_update_cnt; 646 ftrace_update_tot_cnt += ftrace_update_cnt;
848 ftraced_trigger = 0;
849
850 ftrace_enabled = save_ftrace_enabled;
851 ftrace_record_suspend--;
852 647
853 return 0; 648 return 0;
854} 649}
855 650
856static int ftrace_update_code(void)
857{
858 if (unlikely(ftrace_disabled) ||
859 !ftrace_enabled || !ftraced_trigger)
860 return 0;
861
862 stop_machine(__ftrace_update_code, NULL, NULL);
863
864 return 1;
865}
866
867static int __init ftrace_dyn_table_alloc(unsigned long num_to_init) 651static int __init ftrace_dyn_table_alloc(unsigned long num_to_init)
868{ 652{
869 struct ftrace_page *pg; 653 struct ftrace_page *pg;
@@ -892,7 +676,7 @@ static int __init ftrace_dyn_table_alloc(unsigned long num_to_init)
892 pg = ftrace_pages = ftrace_pages_start; 676 pg = ftrace_pages = ftrace_pages_start;
893 677
894 cnt = num_to_init / ENTRIES_PER_PAGE; 678 cnt = num_to_init / ENTRIES_PER_PAGE;
895 pr_info("ftrace: allocating %ld hash entries in %d pages\n", 679 pr_info("ftrace: allocating %ld entries in %d pages\n",
896 num_to_init, cnt); 680 num_to_init, cnt);
897 681
898 for (i = 0; i < cnt; i++) { 682 for (i = 0; i < cnt; i++) {
@@ -1401,10 +1185,10 @@ ftrace_regex_release(struct inode *inode, struct file *file, int enable)
1401 } 1185 }
1402 1186
1403 mutex_lock(&ftrace_sysctl_lock); 1187 mutex_lock(&ftrace_sysctl_lock);
1404 mutex_lock(&ftraced_lock); 1188 mutex_lock(&ftrace_start_lock);
1405 if (iter->filtered && ftraced_suspend && ftrace_enabled) 1189 if (iter->filtered && ftrace_start && ftrace_enabled)
1406 ftrace_run_update_code(FTRACE_ENABLE_CALLS); 1190 ftrace_run_update_code(FTRACE_ENABLE_CALLS);
1407 mutex_unlock(&ftraced_lock); 1191 mutex_unlock(&ftrace_start_lock);
1408 mutex_unlock(&ftrace_sysctl_lock); 1192 mutex_unlock(&ftrace_sysctl_lock);
1409 1193
1410 kfree(iter); 1194 kfree(iter);
@@ -1424,55 +1208,6 @@ ftrace_notrace_release(struct inode *inode, struct file *file)
1424 return ftrace_regex_release(inode, file, 0); 1208 return ftrace_regex_release(inode, file, 0);
1425} 1209}
1426 1210
1427static ssize_t
1428ftraced_read(struct file *filp, char __user *ubuf,
1429 size_t cnt, loff_t *ppos)
1430{
1431 /* don't worry about races */
1432 char *buf = ftraced_stop ? "disabled\n" : "enabled\n";
1433 int r = strlen(buf);
1434
1435 return simple_read_from_buffer(ubuf, cnt, ppos, buf, r);
1436}
1437
1438static ssize_t
1439ftraced_write(struct file *filp, const char __user *ubuf,
1440 size_t cnt, loff_t *ppos)
1441{
1442 char buf[64];
1443 long val;
1444 int ret;
1445
1446 if (cnt >= sizeof(buf))
1447 return -EINVAL;
1448
1449 if (copy_from_user(&buf, ubuf, cnt))
1450 return -EFAULT;
1451
1452 if (strncmp(buf, "enable", 6) == 0)
1453 val = 1;
1454 else if (strncmp(buf, "disable", 7) == 0)
1455 val = 0;
1456 else {
1457 buf[cnt] = 0;
1458
1459 ret = strict_strtoul(buf, 10, &val);
1460 if (ret < 0)
1461 return ret;
1462
1463 val = !!val;
1464 }
1465
1466 if (val)
1467 ftrace_enable_daemon();
1468 else
1469 ftrace_disable_daemon();
1470
1471 filp->f_pos += cnt;
1472
1473 return cnt;
1474}
1475
1476static struct file_operations ftrace_avail_fops = { 1211static struct file_operations ftrace_avail_fops = {
1477 .open = ftrace_avail_open, 1212 .open = ftrace_avail_open,
1478 .read = seq_read, 1213 .read = seq_read,
@@ -1503,54 +1238,6 @@ static struct file_operations ftrace_notrace_fops = {
1503 .release = ftrace_notrace_release, 1238 .release = ftrace_notrace_release,
1504}; 1239};
1505 1240
1506static struct file_operations ftraced_fops = {
1507 .open = tracing_open_generic,
1508 .read = ftraced_read,
1509 .write = ftraced_write,
1510};
1511
1512/**
1513 * ftrace_force_update - force an update to all recording ftrace functions
1514 */
1515int ftrace_force_update(void)
1516{
1517 int ret = 0;
1518
1519 if (unlikely(ftrace_disabled))
1520 return -ENODEV;
1521
1522 mutex_lock(&ftrace_sysctl_lock);
1523 mutex_lock(&ftraced_lock);
1524
1525 /*
1526 * If ftraced_trigger is not set, then there is nothing
1527 * to update.
1528 */
1529 if (ftraced_trigger && !ftrace_update_code())
1530 ret = -EBUSY;
1531
1532 mutex_unlock(&ftraced_lock);
1533 mutex_unlock(&ftrace_sysctl_lock);
1534
1535 return ret;
1536}
1537
1538static void ftrace_force_shutdown(void)
1539{
1540 struct task_struct *task;
1541 int command = FTRACE_DISABLE_CALLS | FTRACE_UPDATE_TRACE_FUNC;
1542
1543 mutex_lock(&ftraced_lock);
1544 task = ftraced_task;
1545 ftraced_task = NULL;
1546 ftraced_suspend = -1;
1547 ftrace_run_update_code(command);
1548 mutex_unlock(&ftraced_lock);
1549
1550 if (task)
1551 kthread_stop(task);
1552}
1553
1554static __init int ftrace_init_debugfs(void) 1241static __init int ftrace_init_debugfs(void)
1555{ 1242{
1556 struct dentry *d_tracer; 1243 struct dentry *d_tracer;
@@ -1581,17 +1268,11 @@ static __init int ftrace_init_debugfs(void)
1581 pr_warning("Could not create debugfs " 1268 pr_warning("Could not create debugfs "
1582 "'set_ftrace_notrace' entry\n"); 1269 "'set_ftrace_notrace' entry\n");
1583 1270
1584 entry = debugfs_create_file("ftraced_enabled", 0644, d_tracer,
1585 NULL, &ftraced_fops);
1586 if (!entry)
1587 pr_warning("Could not create debugfs "
1588 "'ftraced_enabled' entry\n");
1589 return 0; 1271 return 0;
1590} 1272}
1591 1273
1592fs_initcall(ftrace_init_debugfs); 1274fs_initcall(ftrace_init_debugfs);
1593 1275
1594#ifdef CONFIG_FTRACE_MCOUNT_RECORD
1595static int ftrace_convert_nops(unsigned long *start, 1276static int ftrace_convert_nops(unsigned long *start,
1596 unsigned long *end) 1277 unsigned long *end)
1597{ 1278{
@@ -1599,20 +1280,18 @@ static int ftrace_convert_nops(unsigned long *start,
1599 unsigned long addr; 1280 unsigned long addr;
1600 unsigned long flags; 1281 unsigned long flags;
1601 1282
1283 mutex_lock(&ftrace_start_lock);
1602 p = start; 1284 p = start;
1603 while (p < end) { 1285 while (p < end) {
1604 addr = ftrace_call_adjust(*p++); 1286 addr = ftrace_call_adjust(*p++);
1605 /* should not be called from interrupt context */
1606 spin_lock(&ftrace_lock);
1607 ftrace_record_ip(addr); 1287 ftrace_record_ip(addr);
1608 spin_unlock(&ftrace_lock);
1609 ftrace_shutdown_replenish();
1610 } 1288 }
1611 1289
1612 /* p is ignored */ 1290 /* disable interrupts to prevent kstop machine */
1613 local_irq_save(flags); 1291 local_irq_save(flags);
1614 __ftrace_update_code(p); 1292 ftrace_update_code();
1615 local_irq_restore(flags); 1293 local_irq_restore(flags);
1294 mutex_unlock(&ftrace_start_lock);
1616 1295
1617 return 0; 1296 return 0;
1618} 1297}
@@ -1658,130 +1337,34 @@ void __init ftrace_init(void)
1658 failed: 1337 failed:
1659 ftrace_disabled = 1; 1338 ftrace_disabled = 1;
1660} 1339}
1661#else /* CONFIG_FTRACE_MCOUNT_RECORD */
1662static int ftraced(void *ignore)
1663{
1664 unsigned long usecs;
1665
1666 while (!kthread_should_stop()) {
1667
1668 set_current_state(TASK_INTERRUPTIBLE);
1669
1670 /* check once a second */
1671 schedule_timeout(HZ);
1672 1340
1673 if (unlikely(ftrace_disabled)) 1341#else
1674 continue;
1675
1676 mutex_lock(&ftrace_sysctl_lock);
1677 mutex_lock(&ftraced_lock);
1678 if (!ftraced_suspend && !ftraced_stop &&
1679 ftrace_update_code()) {
1680 usecs = nsecs_to_usecs(ftrace_update_time);
1681 if (ftrace_update_tot_cnt > 100000) {
1682 ftrace_update_tot_cnt = 0;
1683 pr_info("hm, dftrace overflow: %lu change%s"
1684 " (%lu total) in %lu usec%s\n",
1685 ftrace_update_cnt,
1686 ftrace_update_cnt != 1 ? "s" : "",
1687 ftrace_update_tot_cnt,
1688 usecs, usecs != 1 ? "s" : "");
1689 ftrace_disabled = 1;
1690 WARN_ON_ONCE(1);
1691 }
1692 }
1693 mutex_unlock(&ftraced_lock);
1694 mutex_unlock(&ftrace_sysctl_lock);
1695
1696 ftrace_shutdown_replenish();
1697 }
1698 __set_current_state(TASK_RUNNING);
1699 return 0;
1700}
1701 1342
1702static int __init ftrace_dynamic_init(void) 1343static int __init ftrace_nodyn_init(void)
1703{ 1344{
1704 struct task_struct *p; 1345 ftrace_enabled = 1;
1705 unsigned long addr;
1706 int ret;
1707
1708 addr = (unsigned long)ftrace_record_ip;
1709
1710 stop_machine(ftrace_dyn_arch_init, &addr, NULL);
1711
1712 /* ftrace_dyn_arch_init places the return code in addr */
1713 if (addr) {
1714 ret = (int)addr;
1715 goto failed;
1716 }
1717
1718 ret = ftrace_dyn_table_alloc(NR_TO_INIT);
1719 if (ret)
1720 goto failed;
1721
1722 p = kthread_run(ftraced, NULL, "ftraced");
1723 if (IS_ERR(p)) {
1724 ret = -1;
1725 goto failed;
1726 }
1727
1728 last_ftrace_enabled = ftrace_enabled = 1;
1729 ftraced_task = p;
1730
1731 return 0; 1346 return 0;
1732
1733 failed:
1734 ftrace_disabled = 1;
1735 return ret;
1736} 1347}
1348device_initcall(ftrace_nodyn_init);
1737 1349
1738core_initcall(ftrace_dynamic_init);
1739#endif /* CONFIG_FTRACE_MCOUNT_RECORD */
1740
1741#else
1742# define ftrace_startup() do { } while (0) 1350# define ftrace_startup() do { } while (0)
1743# define ftrace_shutdown() do { } while (0) 1351# define ftrace_shutdown() do { } while (0)
1744# define ftrace_startup_sysctl() do { } while (0) 1352# define ftrace_startup_sysctl() do { } while (0)
1745# define ftrace_shutdown_sysctl() do { } while (0) 1353# define ftrace_shutdown_sysctl() do { } while (0)
1746# define ftrace_force_shutdown() do { } while (0)
1747#endif /* CONFIG_DYNAMIC_FTRACE */ 1354#endif /* CONFIG_DYNAMIC_FTRACE */
1748 1355
1749/** 1356/**
1750 * ftrace_kill_atomic - kill ftrace from critical sections 1357 * ftrace_kill - kill ftrace
1751 * 1358 *
1752 * This function should be used by panic code. It stops ftrace 1359 * This function should be used by panic code. It stops ftrace
1753 * but in a not so nice way. If you need to simply kill ftrace 1360 * but in a not so nice way. If you need to simply kill ftrace
1754 * from a non-atomic section, use ftrace_kill. 1361 * from a non-atomic section, use ftrace_kill.
1755 */ 1362 */
1756void ftrace_kill_atomic(void)
1757{
1758 ftrace_disabled = 1;
1759 ftrace_enabled = 0;
1760#ifdef CONFIG_DYNAMIC_FTRACE
1761 ftraced_suspend = -1;
1762#endif
1763 clear_ftrace_function();
1764}
1765
1766/**
1767 * ftrace_kill - totally shutdown ftrace
1768 *
1769 * This is a safety measure. If something was detected that seems
1770 * wrong, calling this function will keep ftrace from doing
1771 * any more modifications, and updates.
1772 * used when something went wrong.
1773 */
1774void ftrace_kill(void) 1363void ftrace_kill(void)
1775{ 1364{
1776 mutex_lock(&ftrace_sysctl_lock);
1777 ftrace_disabled = 1; 1365 ftrace_disabled = 1;
1778 ftrace_enabled = 0; 1366 ftrace_enabled = 0;
1779
1780 clear_ftrace_function(); 1367 clear_ftrace_function();
1781 mutex_unlock(&ftrace_sysctl_lock);
1782
1783 /* Try to totally disable ftrace */
1784 ftrace_force_shutdown();
1785} 1368}
1786 1369
1787/** 1370/**
@@ -1870,3 +1453,4 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,
1870 mutex_unlock(&ftrace_sysctl_lock); 1453 mutex_unlock(&ftrace_sysctl_lock);
1871 return ret; 1454 return ret;
1872} 1455}
1456
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 94af1fe56bb4..2f76193c3489 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -130,7 +130,7 @@ struct buffer_page {
130static inline void free_buffer_page(struct buffer_page *bpage) 130static inline void free_buffer_page(struct buffer_page *bpage)
131{ 131{
132 if (bpage->page) 132 if (bpage->page)
133 __free_page(bpage->page); 133 free_page((unsigned long)bpage->page);
134 kfree(bpage); 134 kfree(bpage);
135} 135}
136 136
@@ -966,7 +966,9 @@ rb_add_time_stamp(struct ring_buffer_per_cpu *cpu_buffer,
966 if (unlikely(*delta > (1ULL << 59) && !once++)) { 966 if (unlikely(*delta > (1ULL << 59) && !once++)) {
967 printk(KERN_WARNING "Delta way too big! %llu" 967 printk(KERN_WARNING "Delta way too big! %llu"
968 " ts=%llu write stamp = %llu\n", 968 " ts=%llu write stamp = %llu\n",
969 *delta, *ts, cpu_buffer->write_stamp); 969 (unsigned long long)*delta,
970 (unsigned long long)*ts,
971 (unsigned long long)cpu_buffer->write_stamp);
970 WARN_ON(1); 972 WARN_ON(1);
971 } 973 }
972 974
@@ -1020,8 +1022,23 @@ rb_reserve_next_event(struct ring_buffer_per_cpu *cpu_buffer,
1020 struct ring_buffer_event *event; 1022 struct ring_buffer_event *event;
1021 u64 ts, delta; 1023 u64 ts, delta;
1022 int commit = 0; 1024 int commit = 0;
1025 int nr_loops = 0;
1023 1026
1024 again: 1027 again:
1028 /*
1029 * We allow for interrupts to reenter here and do a trace.
1030 * If one does, it will cause this original code to loop
1031 * back here. Even with heavy interrupts happening, this
1032 * should only happen a few times in a row. If this happens
1033 * 1000 times in a row, there must be either an interrupt
1034 * storm or we have something buggy.
1035 * Bail!
1036 */
1037 if (unlikely(++nr_loops > 1000)) {
1038 RB_WARN_ON(cpu_buffer, 1);
1039 return NULL;
1040 }
1041
1025 ts = ring_buffer_time_stamp(cpu_buffer->cpu); 1042 ts = ring_buffer_time_stamp(cpu_buffer->cpu);
1026 1043
1027 /* 1044 /*
@@ -1043,7 +1060,7 @@ rb_reserve_next_event(struct ring_buffer_per_cpu *cpu_buffer,
1043 1060
1044 /* Did the write stamp get updated already? */ 1061 /* Did the write stamp get updated already? */
1045 if (unlikely(ts < cpu_buffer->write_stamp)) 1062 if (unlikely(ts < cpu_buffer->write_stamp))
1046 goto again; 1063 delta = 0;
1047 1064
1048 if (test_time_stamp(delta)) { 1065 if (test_time_stamp(delta)) {
1049 1066
@@ -1530,10 +1547,23 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
1530{ 1547{
1531 struct buffer_page *reader = NULL; 1548 struct buffer_page *reader = NULL;
1532 unsigned long flags; 1549 unsigned long flags;
1550 int nr_loops = 0;
1533 1551
1534 spin_lock_irqsave(&cpu_buffer->lock, flags); 1552 spin_lock_irqsave(&cpu_buffer->lock, flags);
1535 1553
1536 again: 1554 again:
1555 /*
1556 * This should normally only loop twice. But because the
1557 * start of the reader inserts an empty page, it causes
1558 * a case where we will loop three times. There should be no
1559 * reason to loop four times (that I know of).
1560 */
1561 if (unlikely(++nr_loops > 3)) {
1562 RB_WARN_ON(cpu_buffer, 1);
1563 reader = NULL;
1564 goto out;
1565 }
1566
1537 reader = cpu_buffer->reader_page; 1567 reader = cpu_buffer->reader_page;
1538 1568
1539 /* If there's more to read, return this page */ 1569 /* If there's more to read, return this page */
@@ -1663,6 +1693,7 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts)
1663 struct ring_buffer_per_cpu *cpu_buffer; 1693 struct ring_buffer_per_cpu *cpu_buffer;
1664 struct ring_buffer_event *event; 1694 struct ring_buffer_event *event;
1665 struct buffer_page *reader; 1695 struct buffer_page *reader;
1696 int nr_loops = 0;
1666 1697
1667 if (!cpu_isset(cpu, buffer->cpumask)) 1698 if (!cpu_isset(cpu, buffer->cpumask))
1668 return NULL; 1699 return NULL;
@@ -1670,6 +1701,19 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts)
1670 cpu_buffer = buffer->buffers[cpu]; 1701 cpu_buffer = buffer->buffers[cpu];
1671 1702
1672 again: 1703 again:
1704 /*
1705 * We repeat when a timestamp is encountered. It is possible
1706 * to get multiple timestamps from an interrupt entering just
1707 * as one timestamp is about to be written. The max times
1708 * that this can happen is the number of nested interrupts we
1709 * can have. Nesting 10 deep of interrupts is clearly
1710 * an anomaly.
1711 */
1712 if (unlikely(++nr_loops > 10)) {
1713 RB_WARN_ON(cpu_buffer, 1);
1714 return NULL;
1715 }
1716
1673 reader = rb_get_reader_page(cpu_buffer); 1717 reader = rb_get_reader_page(cpu_buffer);
1674 if (!reader) 1718 if (!reader)
1675 return NULL; 1719 return NULL;
@@ -1720,6 +1764,7 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts)
1720 struct ring_buffer *buffer; 1764 struct ring_buffer *buffer;
1721 struct ring_buffer_per_cpu *cpu_buffer; 1765 struct ring_buffer_per_cpu *cpu_buffer;
1722 struct ring_buffer_event *event; 1766 struct ring_buffer_event *event;
1767 int nr_loops = 0;
1723 1768
1724 if (ring_buffer_iter_empty(iter)) 1769 if (ring_buffer_iter_empty(iter))
1725 return NULL; 1770 return NULL;
@@ -1728,6 +1773,19 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts)
1728 buffer = cpu_buffer->buffer; 1773 buffer = cpu_buffer->buffer;
1729 1774
1730 again: 1775 again:
1776 /*
1777 * We repeat when a timestamp is encountered. It is possible
1778 * to get multiple timestamps from an interrupt entering just
1779 * as one timestamp is about to be written. The max times
1780 * that this can happen is the number of nested interrupts we
1781 * can have. Nesting 10 deep of interrupts is clearly
1782 * an anomaly.
1783 */
1784 if (unlikely(++nr_loops > 10)) {
1785 RB_WARN_ON(cpu_buffer, 1);
1786 return NULL;
1787 }
1788
1731 if (rb_per_cpu_empty(cpu_buffer)) 1789 if (rb_per_cpu_empty(cpu_buffer))
1732 return NULL; 1790 return NULL;
1733 1791
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index d345d649d073..697eda36b86a 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -34,6 +34,7 @@
34 34
35#include <linux/stacktrace.h> 35#include <linux/stacktrace.h>
36#include <linux/ring_buffer.h> 36#include <linux/ring_buffer.h>
37#include <linux/irqflags.h>
37 38
38#include "trace.h" 39#include "trace.h"
39 40
@@ -655,7 +656,11 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags,
655 entry->preempt_count = pc & 0xff; 656 entry->preempt_count = pc & 0xff;
656 entry->pid = (tsk) ? tsk->pid : 0; 657 entry->pid = (tsk) ? tsk->pid : 0;
657 entry->flags = 658 entry->flags =
659#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
658 (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) | 660 (irqs_disabled_flags(flags) ? TRACE_FLAG_IRQS_OFF : 0) |
661#else
662 TRACE_FLAG_IRQS_NOSUPPORT |
663#endif
659 ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) | 664 ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) |
660 ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) | 665 ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) |
661 (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0); 666 (need_resched() ? TRACE_FLAG_NEED_RESCHED : 0);
@@ -700,6 +705,7 @@ static void ftrace_trace_stack(struct trace_array *tr,
700 unsigned long flags, 705 unsigned long flags,
701 int skip, int pc) 706 int skip, int pc)
702{ 707{
708#ifdef CONFIG_STACKTRACE
703 struct ring_buffer_event *event; 709 struct ring_buffer_event *event;
704 struct stack_entry *entry; 710 struct stack_entry *entry;
705 struct stack_trace trace; 711 struct stack_trace trace;
@@ -725,6 +731,7 @@ static void ftrace_trace_stack(struct trace_array *tr,
725 731
726 save_stack_trace(&trace); 732 save_stack_trace(&trace);
727 ring_buffer_unlock_commit(tr->buffer, event, irq_flags); 733 ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
734#endif
728} 735}
729 736
730void __trace_stack(struct trace_array *tr, 737void __trace_stack(struct trace_array *tr,
@@ -851,7 +858,7 @@ ftrace_special(unsigned long arg1, unsigned long arg2, unsigned long arg3)
851 preempt_enable_notrace(); 858 preempt_enable_notrace();
852} 859}
853 860
854#ifdef CONFIG_FTRACE 861#ifdef CONFIG_FUNCTION_TRACER
855static void 862static void
856function_trace_call(unsigned long ip, unsigned long parent_ip) 863function_trace_call(unsigned long ip, unsigned long parent_ip)
857{ 864{
@@ -865,9 +872,6 @@ function_trace_call(unsigned long ip, unsigned long parent_ip)
865 if (unlikely(!ftrace_function_enabled)) 872 if (unlikely(!ftrace_function_enabled))
866 return; 873 return;
867 874
868 if (skip_trace(ip))
869 return;
870
871 pc = preempt_count(); 875 pc = preempt_count();
872 resched = need_resched(); 876 resched = need_resched();
873 preempt_disable_notrace(); 877 preempt_disable_notrace();
@@ -1084,17 +1088,20 @@ static void s_stop(struct seq_file *m, void *p)
1084 mutex_unlock(&trace_types_lock); 1088 mutex_unlock(&trace_types_lock);
1085} 1089}
1086 1090
1087#define KRETPROBE_MSG "[unknown/kretprobe'd]"
1088
1089#ifdef CONFIG_KRETPROBES 1091#ifdef CONFIG_KRETPROBES
1090static inline int kretprobed(unsigned long addr) 1092static inline const char *kretprobed(const char *name)
1091{ 1093{
1092 return addr == (unsigned long)kretprobe_trampoline; 1094 static const char tramp_name[] = "kretprobe_trampoline";
1095 int size = sizeof(tramp_name);
1096
1097 if (strncmp(tramp_name, name, size) == 0)
1098 return "[unknown/kretprobe'd]";
1099 return name;
1093} 1100}
1094#else 1101#else
1095static inline int kretprobed(unsigned long addr) 1102static inline const char *kretprobed(const char *name)
1096{ 1103{
1097 return 0; 1104 return name;
1098} 1105}
1099#endif /* CONFIG_KRETPROBES */ 1106#endif /* CONFIG_KRETPROBES */
1100 1107
@@ -1103,10 +1110,13 @@ seq_print_sym_short(struct trace_seq *s, const char *fmt, unsigned long address)
1103{ 1110{
1104#ifdef CONFIG_KALLSYMS 1111#ifdef CONFIG_KALLSYMS
1105 char str[KSYM_SYMBOL_LEN]; 1112 char str[KSYM_SYMBOL_LEN];
1113 const char *name;
1106 1114
1107 kallsyms_lookup(address, NULL, NULL, NULL, str); 1115 kallsyms_lookup(address, NULL, NULL, NULL, str);
1108 1116
1109 return trace_seq_printf(s, fmt, str); 1117 name = kretprobed(str);
1118
1119 return trace_seq_printf(s, fmt, name);
1110#endif 1120#endif
1111 return 1; 1121 return 1;
1112} 1122}
@@ -1117,9 +1127,12 @@ seq_print_sym_offset(struct trace_seq *s, const char *fmt,
1117{ 1127{
1118#ifdef CONFIG_KALLSYMS 1128#ifdef CONFIG_KALLSYMS
1119 char str[KSYM_SYMBOL_LEN]; 1129 char str[KSYM_SYMBOL_LEN];
1130 const char *name;
1120 1131
1121 sprint_symbol(str, address); 1132 sprint_symbol(str, address);
1122 return trace_seq_printf(s, fmt, str); 1133 name = kretprobed(str);
1134
1135 return trace_seq_printf(s, fmt, name);
1123#endif 1136#endif
1124 return 1; 1137 return 1;
1125} 1138}
@@ -1246,7 +1259,8 @@ lat_print_generic(struct trace_seq *s, struct trace_entry *entry, int cpu)
1246 trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid); 1259 trace_seq_printf(s, "%8.8s-%-5d ", comm, entry->pid);
1247 trace_seq_printf(s, "%3d", cpu); 1260 trace_seq_printf(s, "%3d", cpu);
1248 trace_seq_printf(s, "%c%c", 1261 trace_seq_printf(s, "%c%c",
1249 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' : '.', 1262 (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
1263 (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? 'X' : '.',
1250 ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.')); 1264 ((entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.'));
1251 1265
1252 hardirq = entry->flags & TRACE_FLAG_HARDIRQ; 1266 hardirq = entry->flags & TRACE_FLAG_HARDIRQ;
@@ -1372,10 +1386,7 @@ print_lat_fmt(struct trace_iterator *iter, unsigned int trace_idx, int cpu)
1372 1386
1373 seq_print_ip_sym(s, field->ip, sym_flags); 1387 seq_print_ip_sym(s, field->ip, sym_flags);
1374 trace_seq_puts(s, " ("); 1388 trace_seq_puts(s, " (");
1375 if (kretprobed(field->parent_ip)) 1389 seq_print_ip_sym(s, field->parent_ip, sym_flags);
1376 trace_seq_puts(s, KRETPROBE_MSG);
1377 else
1378 seq_print_ip_sym(s, field->parent_ip, sym_flags);
1379 trace_seq_puts(s, ")\n"); 1390 trace_seq_puts(s, ")\n");
1380 break; 1391 break;
1381 } 1392 }
@@ -1491,12 +1502,9 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
1491 ret = trace_seq_printf(s, " <-"); 1502 ret = trace_seq_printf(s, " <-");
1492 if (!ret) 1503 if (!ret)
1493 return TRACE_TYPE_PARTIAL_LINE; 1504 return TRACE_TYPE_PARTIAL_LINE;
1494 if (kretprobed(field->parent_ip)) 1505 ret = seq_print_ip_sym(s,
1495 ret = trace_seq_puts(s, KRETPROBE_MSG); 1506 field->parent_ip,
1496 else 1507 sym_flags);
1497 ret = seq_print_ip_sym(s,
1498 field->parent_ip,
1499 sym_flags);
1500 if (!ret) 1508 if (!ret)
1501 return TRACE_TYPE_PARTIAL_LINE; 1509 return TRACE_TYPE_PARTIAL_LINE;
1502 } 1510 }
@@ -1747,7 +1755,7 @@ static enum print_line_t print_bin_fmt(struct trace_iterator *iter)
1747 return TRACE_TYPE_HANDLED; 1755 return TRACE_TYPE_HANDLED;
1748 1756
1749 SEQ_PUT_FIELD_RET(s, entry->pid); 1757 SEQ_PUT_FIELD_RET(s, entry->pid);
1750 SEQ_PUT_FIELD_RET(s, iter->cpu); 1758 SEQ_PUT_FIELD_RET(s, entry->cpu);
1751 SEQ_PUT_FIELD_RET(s, iter->ts); 1759 SEQ_PUT_FIELD_RET(s, iter->ts);
1752 1760
1753 switch (entry->type) { 1761 switch (entry->type) {
@@ -2379,9 +2387,10 @@ tracing_set_trace_write(struct file *filp, const char __user *ubuf,
2379 int i; 2387 int i;
2380 size_t ret; 2388 size_t ret;
2381 2389
2390 ret = cnt;
2391
2382 if (cnt > max_tracer_type_len) 2392 if (cnt > max_tracer_type_len)
2383 cnt = max_tracer_type_len; 2393 cnt = max_tracer_type_len;
2384 ret = cnt;
2385 2394
2386 if (copy_from_user(&buf, ubuf, cnt)) 2395 if (copy_from_user(&buf, ubuf, cnt))
2387 return -EFAULT; 2396 return -EFAULT;
@@ -2414,8 +2423,8 @@ tracing_set_trace_write(struct file *filp, const char __user *ubuf,
2414 out: 2423 out:
2415 mutex_unlock(&trace_types_lock); 2424 mutex_unlock(&trace_types_lock);
2416 2425
2417 if (ret == cnt) 2426 if (ret > 0)
2418 filp->f_pos += cnt; 2427 filp->f_pos += ret;
2419 2428
2420 return ret; 2429 return ret;
2421} 2430}
@@ -2667,7 +2676,7 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
2667{ 2676{
2668 unsigned long val; 2677 unsigned long val;
2669 char buf[64]; 2678 char buf[64];
2670 int ret; 2679 int ret, cpu;
2671 struct trace_array *tr = filp->private_data; 2680 struct trace_array *tr = filp->private_data;
2672 2681
2673 if (cnt >= sizeof(buf)) 2682 if (cnt >= sizeof(buf))
@@ -2695,6 +2704,14 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
2695 goto out; 2704 goto out;
2696 } 2705 }
2697 2706
2707 /* disable all cpu buffers */
2708 for_each_tracing_cpu(cpu) {
2709 if (global_trace.data[cpu])
2710 atomic_inc(&global_trace.data[cpu]->disabled);
2711 if (max_tr.data[cpu])
2712 atomic_inc(&max_tr.data[cpu]->disabled);
2713 }
2714
2698 if (val != global_trace.entries) { 2715 if (val != global_trace.entries) {
2699 ret = ring_buffer_resize(global_trace.buffer, val); 2716 ret = ring_buffer_resize(global_trace.buffer, val);
2700 if (ret < 0) { 2717 if (ret < 0) {
@@ -2726,6 +2743,13 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
2726 if (tracing_disabled) 2743 if (tracing_disabled)
2727 cnt = -ENOMEM; 2744 cnt = -ENOMEM;
2728 out: 2745 out:
2746 for_each_tracing_cpu(cpu) {
2747 if (global_trace.data[cpu])
2748 atomic_dec(&global_trace.data[cpu]->disabled);
2749 if (max_tr.data[cpu])
2750 atomic_dec(&max_tr.data[cpu]->disabled);
2751 }
2752
2729 max_tr.entries = global_trace.entries; 2753 max_tr.entries = global_trace.entries;
2730 mutex_unlock(&trace_types_lock); 2754 mutex_unlock(&trace_types_lock);
2731 2755
@@ -3097,7 +3121,7 @@ void ftrace_dump(void)
3097 dump_ran = 1; 3121 dump_ran = 1;
3098 3122
3099 /* No turning back! */ 3123 /* No turning back! */
3100 ftrace_kill_atomic(); 3124 ftrace_kill();
3101 3125
3102 for_each_tracing_cpu(cpu) { 3126 for_each_tracing_cpu(cpu) {
3103 atomic_inc(&global_trace.data[cpu]->disabled); 3127 atomic_inc(&global_trace.data[cpu]->disabled);
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index f1f99572cde7..8465ad052707 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -120,18 +120,20 @@ struct trace_boot {
120/* 120/*
121 * trace_flag_type is an enumeration that holds different 121 * trace_flag_type is an enumeration that holds different
122 * states when a trace occurs. These are: 122 * states when a trace occurs. These are:
123 * IRQS_OFF - interrupts were disabled 123 * IRQS_OFF - interrupts were disabled
124 * NEED_RESCED - reschedule is requested 124 * IRQS_NOSUPPORT - arch does not support irqs_disabled_flags
125 * HARDIRQ - inside an interrupt handler 125 * NEED_RESCED - reschedule is requested
126 * SOFTIRQ - inside a softirq handler 126 * HARDIRQ - inside an interrupt handler
127 * CONT - multiple entries hold the trace item 127 * SOFTIRQ - inside a softirq handler
128 * CONT - multiple entries hold the trace item
128 */ 129 */
129enum trace_flag_type { 130enum trace_flag_type {
130 TRACE_FLAG_IRQS_OFF = 0x01, 131 TRACE_FLAG_IRQS_OFF = 0x01,
131 TRACE_FLAG_NEED_RESCHED = 0x02, 132 TRACE_FLAG_IRQS_NOSUPPORT = 0x02,
132 TRACE_FLAG_HARDIRQ = 0x04, 133 TRACE_FLAG_NEED_RESCHED = 0x04,
133 TRACE_FLAG_SOFTIRQ = 0x08, 134 TRACE_FLAG_HARDIRQ = 0x08,
134 TRACE_FLAG_CONT = 0x10, 135 TRACE_FLAG_SOFTIRQ = 0x10,
136 TRACE_FLAG_CONT = 0x20,
135}; 137};
136 138
137#define TRACE_BUF_SIZE 1024 139#define TRACE_BUF_SIZE 1024
@@ -335,7 +337,7 @@ void update_max_tr_single(struct trace_array *tr,
335 337
336extern cycle_t ftrace_now(int cpu); 338extern cycle_t ftrace_now(int cpu);
337 339
338#ifdef CONFIG_FTRACE 340#ifdef CONFIG_FUNCTION_TRACER
339void tracing_start_function_trace(void); 341void tracing_start_function_trace(void);
340void tracing_stop_function_trace(void); 342void tracing_stop_function_trace(void);
341#else 343#else
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c
index e90eb0c2c56c..0f85a64003d3 100644
--- a/kernel/trace/trace_functions.c
+++ b/kernel/trace/trace_functions.c
@@ -64,7 +64,7 @@ static void function_trace_ctrl_update(struct trace_array *tr)
64 64
65static struct tracer function_trace __read_mostly = 65static struct tracer function_trace __read_mostly =
66{ 66{
67 .name = "ftrace", 67 .name = "function",
68 .init = function_trace_init, 68 .init = function_trace_init,
69 .reset = function_trace_reset, 69 .reset = function_trace_reset,
70 .ctrl_update = function_trace_ctrl_update, 70 .ctrl_update = function_trace_ctrl_update,
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
index a7db7f040ae0..9c74071c10e0 100644
--- a/kernel/trace/trace_irqsoff.c
+++ b/kernel/trace/trace_irqsoff.c
@@ -63,7 +63,7 @@ irq_trace(void)
63 */ 63 */
64static __cacheline_aligned_in_smp unsigned long max_sequence; 64static __cacheline_aligned_in_smp unsigned long max_sequence;
65 65
66#ifdef CONFIG_FTRACE 66#ifdef CONFIG_FUNCTION_TRACER
67/* 67/*
68 * irqsoff uses its own tracer function to keep the overhead down: 68 * irqsoff uses its own tracer function to keep the overhead down:
69 */ 69 */
@@ -104,7 +104,7 @@ static struct ftrace_ops trace_ops __read_mostly =
104{ 104{
105 .func = irqsoff_tracer_call, 105 .func = irqsoff_tracer_call,
106}; 106};
107#endif /* CONFIG_FTRACE */ 107#endif /* CONFIG_FUNCTION_TRACER */
108 108
109/* 109/*
110 * Should this new latency be reported/recorded? 110 * Should this new latency be reported/recorded?
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index fe4a252c2363..3ae93f16b565 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -31,7 +31,7 @@ static raw_spinlock_t wakeup_lock =
31 31
32static void __wakeup_reset(struct trace_array *tr); 32static void __wakeup_reset(struct trace_array *tr);
33 33
34#ifdef CONFIG_FTRACE 34#ifdef CONFIG_FUNCTION_TRACER
35/* 35/*
36 * irqsoff uses its own tracer function to keep the overhead down: 36 * irqsoff uses its own tracer function to keep the overhead down:
37 */ 37 */
@@ -96,7 +96,7 @@ static struct ftrace_ops trace_ops __read_mostly =
96{ 96{
97 .func = wakeup_tracer_call, 97 .func = wakeup_tracer_call,
98}; 98};
99#endif /* CONFIG_FTRACE */ 99#endif /* CONFIG_FUNCTION_TRACER */
100 100
101/* 101/*
102 * Should this new latency be reported/recorded? 102 * Should this new latency be reported/recorded?
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
index 09cf230d7eca..90bc752a7580 100644
--- a/kernel/trace/trace_selftest.c
+++ b/kernel/trace/trace_selftest.c
@@ -70,7 +70,7 @@ static int trace_test_buffer(struct trace_array *tr, unsigned long *count)
70 return ret; 70 return ret;
71} 71}
72 72
73#ifdef CONFIG_FTRACE 73#ifdef CONFIG_FUNCTION_TRACER
74 74
75#ifdef CONFIG_DYNAMIC_FTRACE 75#ifdef CONFIG_DYNAMIC_FTRACE
76 76
@@ -99,13 +99,6 @@ int trace_selftest_startup_dynamic_tracing(struct tracer *trace,
99 /* passed in by parameter to fool gcc from optimizing */ 99 /* passed in by parameter to fool gcc from optimizing */
100 func(); 100 func();
101 101
102 /* update the records */
103 ret = ftrace_force_update();
104 if (ret) {
105 printk(KERN_CONT ".. ftraced failed .. ");
106 return ret;
107 }
108
109 /* 102 /*
110 * Some archs *cough*PowerPC*cough* add charachters to the 103 * Some archs *cough*PowerPC*cough* add charachters to the
111 * start of the function names. We simply put a '*' to 104 * start of the function names. We simply put a '*' to
@@ -183,13 +176,6 @@ trace_selftest_startup_function(struct tracer *trace, struct trace_array *tr)
183 /* make sure msleep has been recorded */ 176 /* make sure msleep has been recorded */
184 msleep(1); 177 msleep(1);
185 178
186 /* force the recorded functions to be traced */
187 ret = ftrace_force_update();
188 if (ret) {
189 printk(KERN_CONT ".. ftraced failed .. ");
190 return ret;
191 }
192
193 /* start the tracing */ 179 /* start the tracing */
194 ftrace_enabled = 1; 180 ftrace_enabled = 1;
195 tracer_enabled = 1; 181 tracer_enabled = 1;
@@ -226,7 +212,7 @@ trace_selftest_startup_function(struct tracer *trace, struct trace_array *tr)
226 212
227 return ret; 213 return ret;
228} 214}
229#endif /* CONFIG_FTRACE */ 215#endif /* CONFIG_FUNCTION_TRACER */
230 216
231#ifdef CONFIG_IRQSOFF_TRACER 217#ifdef CONFIG_IRQSOFF_TRACER
232int 218int
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
index 74c5d9a3afae..be682b62fe58 100644
--- a/kernel/trace/trace_stack.c
+++ b/kernel/trace/trace_stack.c
@@ -44,6 +44,10 @@ static inline void check_stack(void)
44 if (this_size <= max_stack_size) 44 if (this_size <= max_stack_size)
45 return; 45 return;
46 46
47 /* we do not handle interrupt stacks yet */
48 if (!object_is_on_stack(&this_size))
49 return;
50
47 raw_local_irq_save(flags); 51 raw_local_irq_save(flags);
48 __raw_spin_lock(&max_stack_lock); 52 __raw_spin_lock(&max_stack_lock);
49 53
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index f2b7c28a4708..af8c85664882 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -131,6 +131,9 @@ tracepoint_entry_remove_probe(struct tracepoint_entry *entry, void *probe)
131 131
132 old = entry->funcs; 132 old = entry->funcs;
133 133
134 if (!old)
135 return NULL;
136
134 debug_print_probes(entry); 137 debug_print_probes(entry);
135 /* (N -> M), (N > 1, M >= 0) probes */ 138 /* (N -> M), (N > 1, M >= 0) probes */
136 for (nr_probes = 0; old[nr_probes]; nr_probes++) { 139 for (nr_probes = 0; old[nr_probes]; nr_probes++) {
@@ -388,6 +391,11 @@ int tracepoint_probe_unregister(const char *name, void *probe)
388 if (entry->rcu_pending) 391 if (entry->rcu_pending)
389 rcu_barrier_sched(); 392 rcu_barrier_sched();
390 old = tracepoint_entry_remove_probe(entry, probe); 393 old = tracepoint_entry_remove_probe(entry, probe);
394 if (!old) {
395 printk(KERN_WARNING "Warning: Trying to unregister a probe"
396 "that doesn't exist\n");
397 goto end;
398 }
391 mutex_unlock(&tracepoints_mutex); 399 mutex_unlock(&tracepoints_mutex);
392 tracepoint_update_probes(); /* may update entry */ 400 tracepoint_update_probes(); /* may update entry */
393 mutex_lock(&tracepoints_mutex); 401 mutex_lock(&tracepoints_mutex);
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index f928f2a87b9b..d4dc69ddebd7 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -970,6 +970,51 @@ undo:
970 return ret; 970 return ret;
971} 971}
972 972
973#ifdef CONFIG_SMP
974struct work_for_cpu {
975 struct work_struct work;
976 long (*fn)(void *);
977 void *arg;
978 long ret;
979};
980
981static void do_work_for_cpu(struct work_struct *w)
982{
983 struct work_for_cpu *wfc = container_of(w, struct work_for_cpu, work);
984
985 wfc->ret = wfc->fn(wfc->arg);
986}
987
988/**
989 * work_on_cpu - run a function in user context on a particular cpu
990 * @cpu: the cpu to run on
991 * @fn: the function to run
992 * @arg: the function arg
993 *
994 * This will return -EINVAL in the cpu is not online, or the return value
995 * of @fn otherwise.
996 */
997long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)
998{
999 struct work_for_cpu wfc;
1000
1001 INIT_WORK(&wfc.work, do_work_for_cpu);
1002 wfc.fn = fn;
1003 wfc.arg = arg;
1004 get_online_cpus();
1005 if (unlikely(!cpu_online(cpu)))
1006 wfc.ret = -EINVAL;
1007 else {
1008 schedule_work_on(cpu, &wfc.work);
1009 flush_work(&wfc.work);
1010 }
1011 put_online_cpus();
1012
1013 return wfc.ret;
1014}
1015EXPORT_SYMBOL_GPL(work_on_cpu);
1016#endif /* CONFIG_SMP */
1017
973void __init init_workqueues(void) 1018void __init init_workqueues(void)
974{ 1019{
975 cpu_populated_map = cpu_online_map; 1020 cpu_populated_map = cpu_online_map;
diff --git a/lib/Makefile b/lib/Makefile
index 16feaab057b2..7cb65d85aeb0 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -2,7 +2,7 @@
2# Makefile for some libs needed in the kernel. 2# Makefile for some libs needed in the kernel.
3# 3#
4 4
5ifdef CONFIG_FTRACE 5ifdef CONFIG_FUNCTION_TRACER
6ORIG_CFLAGS := $(KBUILD_CFLAGS) 6ORIG_CFLAGS := $(KBUILD_CFLAGS)
7KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS)) 7KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS))
8endif 8endif
diff --git a/lib/cpumask.c b/lib/cpumask.c
index 5f97dc25ef9c..8d03f22c6ced 100644
--- a/lib/cpumask.c
+++ b/lib/cpumask.c
@@ -2,6 +2,7 @@
2#include <linux/bitops.h> 2#include <linux/bitops.h>
3#include <linux/cpumask.h> 3#include <linux/cpumask.h>
4#include <linux/module.h> 4#include <linux/module.h>
5#include <linux/bootmem.h>
5 6
6int __first_cpu(const cpumask_t *srcp) 7int __first_cpu(const cpumask_t *srcp)
7{ 8{
@@ -35,3 +36,81 @@ int __any_online_cpu(const cpumask_t *mask)
35 return cpu; 36 return cpu;
36} 37}
37EXPORT_SYMBOL(__any_online_cpu); 38EXPORT_SYMBOL(__any_online_cpu);
39
40/**
41 * cpumask_next_and - get the next cpu in *src1p & *src2p
42 * @n: the cpu prior to the place to search (ie. return will be > @n)
43 * @src1p: the first cpumask pointer
44 * @src2p: the second cpumask pointer
45 *
46 * Returns >= nr_cpu_ids if no further cpus set in both.
47 */
48int cpumask_next_and(int n, const struct cpumask *src1p,
49 const struct cpumask *src2p)
50{
51 while ((n = cpumask_next(n, src1p)) < nr_cpu_ids)
52 if (cpumask_test_cpu(n, src2p))
53 break;
54 return n;
55}
56EXPORT_SYMBOL(cpumask_next_and);
57
58/**
59 * cpumask_any_but - return a "random" in a cpumask, but not this one.
60 * @mask: the cpumask to search
61 * @cpu: the cpu to ignore.
62 *
63 * Often used to find any cpu but smp_processor_id() in a mask.
64 * Returns >= nr_cpu_ids if no cpus set.
65 */
66int cpumask_any_but(const struct cpumask *mask, unsigned int cpu)
67{
68 unsigned int i;
69
70 cpumask_check(cpu);
71 for_each_cpu(i, mask)
72 if (i != cpu)
73 break;
74 return i;
75}
76
77/* These are not inline because of header tangles. */
78#ifdef CONFIG_CPUMASK_OFFSTACK
79bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags)
80{
81 if (likely(slab_is_available()))
82 *mask = kmalloc(cpumask_size(), flags);
83 else {
84#ifdef CONFIG_DEBUG_PER_CPU_MAPS
85 printk(KERN_ERR
86 "=> alloc_cpumask_var: kmalloc not available!\n");
87 dump_stack();
88#endif
89 *mask = NULL;
90 }
91#ifdef CONFIG_DEBUG_PER_CPU_MAPS
92 if (!*mask) {
93 printk(KERN_ERR "=> alloc_cpumask_var: failed!\n");
94 dump_stack();
95 }
96#endif
97 return *mask != NULL;
98}
99EXPORT_SYMBOL(alloc_cpumask_var);
100
101void __init alloc_bootmem_cpumask_var(cpumask_var_t *mask)
102{
103 *mask = alloc_bootmem(cpumask_size());
104}
105
106void free_cpumask_var(cpumask_var_t mask)
107{
108 kfree(mask);
109}
110EXPORT_SYMBOL(free_cpumask_var);
111
112void __init free_bootmem_cpumask_var(cpumask_var_t mask)
113{
114 free_bootmem((unsigned long)mask, cpumask_size());
115}
116#endif
diff --git a/lib/dynamic_printk.c b/lib/dynamic_printk.c
index d640f87bdc9e..d83660fd6fdd 100644
--- a/lib/dynamic_printk.c
+++ b/lib/dynamic_printk.c
@@ -402,6 +402,8 @@ static int __init dynamic_printk_init(void)
402 iter->logical_modname, 402 iter->logical_modname,
403 iter->flag_names, iter->hash, iter->hash2); 403 iter->flag_names, iter->hash, iter->hash2);
404 } 404 }
405 if (dynamic_enabled == DYNAMIC_ENABLED_ALL)
406 set_all(true);
405 return 0; 407 return 0;
406} 408}
407module_init(dynamic_printk_init); 409module_init(dynamic_printk_init);
@@ -411,7 +413,7 @@ static int __init dynamic_printk_setup(char *str)
411{ 413{
412 if (str) 414 if (str)
413 return -ENOENT; 415 return -ENOENT;
414 set_all(true); 416 dynamic_enabled = DYNAMIC_ENABLED_ALL;
415 return 0; 417 return 0;
416} 418}
417/* Use early_param(), so we can get debug output as early as possible */ 419/* Use early_param(), so we can get debug output as early as possible */
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index f8eebd489149..78330c37a61b 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -497,8 +497,10 @@ swiotlb_alloc_coherent(struct device *hwdev, size_t size,
497 printk("hwdev DMA mask = 0x%016Lx, dev_addr = 0x%016Lx\n", 497 printk("hwdev DMA mask = 0x%016Lx, dev_addr = 0x%016Lx\n",
498 (unsigned long long)*hwdev->dma_mask, 498 (unsigned long long)*hwdev->dma_mask,
499 (unsigned long long)dev_addr); 499 (unsigned long long)dev_addr);
500 panic("swiotlb_alloc_coherent: allocated memory is out of " 500
501 "range for device"); 501 /* DMA_TO_DEVICE to avoid memcpy in unmap_single */
502 unmap_single(hwdev, ret, size, DMA_TO_DEVICE);
503 return NULL;
502 } 504 }
503 *dma_handle = dev_addr; 505 *dma_handle = dev_addr;
504 return ret; 506 return ret;
diff --git a/mm/filemap.c b/mm/filemap.c
index ab8553658af3..f3e5f8944d17 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2029,48 +2029,8 @@ int pagecache_write_begin(struct file *file, struct address_space *mapping,
2029{ 2029{
2030 const struct address_space_operations *aops = mapping->a_ops; 2030 const struct address_space_operations *aops = mapping->a_ops;
2031 2031
2032 if (aops->write_begin) { 2032 return aops->write_begin(file, mapping, pos, len, flags,
2033 return aops->write_begin(file, mapping, pos, len, flags,
2034 pagep, fsdata); 2033 pagep, fsdata);
2035 } else {
2036 int ret;
2037 pgoff_t index = pos >> PAGE_CACHE_SHIFT;
2038 unsigned offset = pos & (PAGE_CACHE_SIZE - 1);
2039 struct inode *inode = mapping->host;
2040 struct page *page;
2041again:
2042 page = __grab_cache_page(mapping, index);
2043 *pagep = page;
2044 if (!page)
2045 return -ENOMEM;
2046
2047 if (flags & AOP_FLAG_UNINTERRUPTIBLE && !PageUptodate(page)) {
2048 /*
2049 * There is no way to resolve a short write situation
2050 * for a !Uptodate page (except by double copying in
2051 * the caller done by generic_perform_write_2copy).
2052 *
2053 * Instead, we have to bring it uptodate here.
2054 */
2055 ret = aops->readpage(file, page);
2056 page_cache_release(page);
2057 if (ret) {
2058 if (ret == AOP_TRUNCATED_PAGE)
2059 goto again;
2060 return ret;
2061 }
2062 goto again;
2063 }
2064
2065 ret = aops->prepare_write(file, page, offset, offset+len);
2066 if (ret) {
2067 unlock_page(page);
2068 page_cache_release(page);
2069 if (pos + len > inode->i_size)
2070 vmtruncate(inode, inode->i_size);
2071 }
2072 return ret;
2073 }
2074} 2034}
2075EXPORT_SYMBOL(pagecache_write_begin); 2035EXPORT_SYMBOL(pagecache_write_begin);
2076 2036
@@ -2079,32 +2039,9 @@ int pagecache_write_end(struct file *file, struct address_space *mapping,
2079 struct page *page, void *fsdata) 2039 struct page *page, void *fsdata)
2080{ 2040{
2081 const struct address_space_operations *aops = mapping->a_ops; 2041 const struct address_space_operations *aops = mapping->a_ops;
2082 int ret;
2083
2084 if (aops->write_end) {
2085 mark_page_accessed(page);
2086 ret = aops->write_end(file, mapping, pos, len, copied,
2087 page, fsdata);
2088 } else {
2089 unsigned offset = pos & (PAGE_CACHE_SIZE - 1);
2090 struct inode *inode = mapping->host;
2091
2092 flush_dcache_page(page);
2093 ret = aops->commit_write(file, page, offset, offset+len);
2094 unlock_page(page);
2095 mark_page_accessed(page);
2096 page_cache_release(page);
2097
2098 if (ret < 0) {
2099 if (pos + len > inode->i_size)
2100 vmtruncate(inode, inode->i_size);
2101 } else if (ret > 0)
2102 ret = min_t(size_t, copied, ret);
2103 else
2104 ret = copied;
2105 }
2106 2042
2107 return ret; 2043 mark_page_accessed(page);
2044 return aops->write_end(file, mapping, pos, len, copied, page, fsdata);
2108} 2045}
2109EXPORT_SYMBOL(pagecache_write_end); 2046EXPORT_SYMBOL(pagecache_write_end);
2110 2047
@@ -2226,174 +2163,6 @@ repeat:
2226} 2163}
2227EXPORT_SYMBOL(__grab_cache_page); 2164EXPORT_SYMBOL(__grab_cache_page);
2228 2165
2229static ssize_t generic_perform_write_2copy(struct file *file,
2230 struct iov_iter *i, loff_t pos)
2231{
2232 struct address_space *mapping = file->f_mapping;
2233 const struct address_space_operations *a_ops = mapping->a_ops;
2234 struct inode *inode = mapping->host;
2235 long status = 0;
2236 ssize_t written = 0;
2237
2238 do {
2239 struct page *src_page;
2240 struct page *page;
2241 pgoff_t index; /* Pagecache index for current page */
2242 unsigned long offset; /* Offset into pagecache page */
2243 unsigned long bytes; /* Bytes to write to page */
2244 size_t copied; /* Bytes copied from user */
2245
2246 offset = (pos & (PAGE_CACHE_SIZE - 1));
2247 index = pos >> PAGE_CACHE_SHIFT;
2248 bytes = min_t(unsigned long, PAGE_CACHE_SIZE - offset,
2249 iov_iter_count(i));
2250
2251 /*
2252 * a non-NULL src_page indicates that we're doing the
2253 * copy via get_user_pages and kmap.
2254 */
2255 src_page = NULL;
2256
2257 /*
2258 * Bring in the user page that we will copy from _first_.
2259 * Otherwise there's a nasty deadlock on copying from the
2260 * same page as we're writing to, without it being marked
2261 * up-to-date.
2262 *
2263 * Not only is this an optimisation, but it is also required
2264 * to check that the address is actually valid, when atomic
2265 * usercopies are used, below.
2266 */
2267 if (unlikely(iov_iter_fault_in_readable(i, bytes))) {
2268 status = -EFAULT;
2269 break;
2270 }
2271
2272 page = __grab_cache_page(mapping, index);
2273 if (!page) {
2274 status = -ENOMEM;
2275 break;
2276 }
2277
2278 /*
2279 * non-uptodate pages cannot cope with short copies, and we
2280 * cannot take a pagefault with the destination page locked.
2281 * So pin the source page to copy it.
2282 */
2283 if (!PageUptodate(page) && !segment_eq(get_fs(), KERNEL_DS)) {
2284 unlock_page(page);
2285
2286 src_page = alloc_page(GFP_KERNEL);
2287 if (!src_page) {
2288 page_cache_release(page);
2289 status = -ENOMEM;
2290 break;
2291 }
2292
2293 /*
2294 * Cannot get_user_pages with a page locked for the
2295 * same reason as we can't take a page fault with a
2296 * page locked (as explained below).
2297 */
2298 copied = iov_iter_copy_from_user(src_page, i,
2299 offset, bytes);
2300 if (unlikely(copied == 0)) {
2301 status = -EFAULT;
2302 page_cache_release(page);
2303 page_cache_release(src_page);
2304 break;
2305 }
2306 bytes = copied;
2307
2308 lock_page(page);
2309 /*
2310 * Can't handle the page going uptodate here, because
2311 * that means we would use non-atomic usercopies, which
2312 * zero out the tail of the page, which can cause
2313 * zeroes to become transiently visible. We could just
2314 * use a non-zeroing copy, but the APIs aren't too
2315 * consistent.
2316 */
2317 if (unlikely(!page->mapping || PageUptodate(page))) {
2318 unlock_page(page);
2319 page_cache_release(page);
2320 page_cache_release(src_page);
2321 continue;
2322 }
2323 }
2324
2325 status = a_ops->prepare_write(file, page, offset, offset+bytes);
2326 if (unlikely(status))
2327 goto fs_write_aop_error;
2328
2329 if (!src_page) {
2330 /*
2331 * Must not enter the pagefault handler here, because
2332 * we hold the page lock, so we might recursively
2333 * deadlock on the same lock, or get an ABBA deadlock
2334 * against a different lock, or against the mmap_sem
2335 * (which nests outside the page lock). So increment
2336 * preempt count, and use _atomic usercopies.
2337 *
2338 * The page is uptodate so we are OK to encounter a
2339 * short copy: if unmodified parts of the page are
2340 * marked dirty and written out to disk, it doesn't
2341 * really matter.
2342 */
2343 pagefault_disable();
2344 copied = iov_iter_copy_from_user_atomic(page, i,
2345 offset, bytes);
2346 pagefault_enable();
2347 } else {
2348 void *src, *dst;
2349 src = kmap_atomic(src_page, KM_USER0);
2350 dst = kmap_atomic(page, KM_USER1);
2351 memcpy(dst + offset, src + offset, bytes);
2352 kunmap_atomic(dst, KM_USER1);
2353 kunmap_atomic(src, KM_USER0);
2354 copied = bytes;
2355 }
2356 flush_dcache_page(page);
2357
2358 status = a_ops->commit_write(file, page, offset, offset+bytes);
2359 if (unlikely(status < 0))
2360 goto fs_write_aop_error;
2361 if (unlikely(status > 0)) /* filesystem did partial write */
2362 copied = min_t(size_t, copied, status);
2363
2364 unlock_page(page);
2365 mark_page_accessed(page);
2366 page_cache_release(page);
2367 if (src_page)
2368 page_cache_release(src_page);
2369
2370 iov_iter_advance(i, copied);
2371 pos += copied;
2372 written += copied;
2373
2374 balance_dirty_pages_ratelimited(mapping);
2375 cond_resched();
2376 continue;
2377
2378fs_write_aop_error:
2379 unlock_page(page);
2380 page_cache_release(page);
2381 if (src_page)
2382 page_cache_release(src_page);
2383
2384 /*
2385 * prepare_write() may have instantiated a few blocks
2386 * outside i_size. Trim these off again. Don't need
2387 * i_size_read because we hold i_mutex.
2388 */
2389 if (pos + bytes > inode->i_size)
2390 vmtruncate(inode, inode->i_size);
2391 break;
2392 } while (iov_iter_count(i));
2393
2394 return written ? written : status;
2395}
2396
2397static ssize_t generic_perform_write(struct file *file, 2166static ssize_t generic_perform_write(struct file *file,
2398 struct iov_iter *i, loff_t pos) 2167 struct iov_iter *i, loff_t pos)
2399{ 2168{
@@ -2494,10 +2263,7 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov,
2494 struct iov_iter i; 2263 struct iov_iter i;
2495 2264
2496 iov_iter_init(&i, iov, nr_segs, count, written); 2265 iov_iter_init(&i, iov, nr_segs, count, written);
2497 if (a_ops->write_begin) 2266 status = generic_perform_write(file, &i, pos);
2498 status = generic_perform_write(file, &i, pos);
2499 else
2500 status = generic_perform_write_2copy(file, &i, pos);
2501 2267
2502 if (likely(status >= 0)) { 2268 if (likely(status >= 0)) {
2503 written += status; 2269 written += status;
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 421aee99b84a..d143ab67be44 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -354,11 +354,26 @@ static int vma_has_reserves(struct vm_area_struct *vma)
354 return 0; 354 return 0;
355} 355}
356 356
357static void clear_gigantic_page(struct page *page,
358 unsigned long addr, unsigned long sz)
359{
360 int i;
361 struct page *p = page;
362
363 might_sleep();
364 for (i = 0; i < sz/PAGE_SIZE; i++, p = mem_map_next(p, page, i)) {
365 cond_resched();
366 clear_user_highpage(p, addr + i * PAGE_SIZE);
367 }
368}
357static void clear_huge_page(struct page *page, 369static void clear_huge_page(struct page *page,
358 unsigned long addr, unsigned long sz) 370 unsigned long addr, unsigned long sz)
359{ 371{
360 int i; 372 int i;
361 373
374 if (unlikely(sz > MAX_ORDER_NR_PAGES))
375 return clear_gigantic_page(page, addr, sz);
376
362 might_sleep(); 377 might_sleep();
363 for (i = 0; i < sz/PAGE_SIZE; i++) { 378 for (i = 0; i < sz/PAGE_SIZE; i++) {
364 cond_resched(); 379 cond_resched();
@@ -366,12 +381,32 @@ static void clear_huge_page(struct page *page,
366 } 381 }
367} 382}
368 383
384static void copy_gigantic_page(struct page *dst, struct page *src,
385 unsigned long addr, struct vm_area_struct *vma)
386{
387 int i;
388 struct hstate *h = hstate_vma(vma);
389 struct page *dst_base = dst;
390 struct page *src_base = src;
391 might_sleep();
392 for (i = 0; i < pages_per_huge_page(h); ) {
393 cond_resched();
394 copy_user_highpage(dst, src, addr + i*PAGE_SIZE, vma);
395
396 i++;
397 dst = mem_map_next(dst, dst_base, i);
398 src = mem_map_next(src, src_base, i);
399 }
400}
369static void copy_huge_page(struct page *dst, struct page *src, 401static void copy_huge_page(struct page *dst, struct page *src,
370 unsigned long addr, struct vm_area_struct *vma) 402 unsigned long addr, struct vm_area_struct *vma)
371{ 403{
372 int i; 404 int i;
373 struct hstate *h = hstate_vma(vma); 405 struct hstate *h = hstate_vma(vma);
374 406
407 if (unlikely(pages_per_huge_page(h) > MAX_ORDER_NR_PAGES))
408 return copy_gigantic_page(dst, src, addr, vma);
409
375 might_sleep(); 410 might_sleep();
376 for (i = 0; i < pages_per_huge_page(h); i++) { 411 for (i = 0; i < pages_per_huge_page(h); i++) {
377 cond_resched(); 412 cond_resched();
@@ -456,6 +491,8 @@ static void update_and_free_page(struct hstate *h, struct page *page)
456{ 491{
457 int i; 492 int i;
458 493
494 VM_BUG_ON(h->order >= MAX_ORDER);
495
459 h->nr_huge_pages--; 496 h->nr_huge_pages--;
460 h->nr_huge_pages_node[page_to_nid(page)]--; 497 h->nr_huge_pages_node[page_to_nid(page)]--;
461 for (i = 0; i < pages_per_huge_page(h); i++) { 498 for (i = 0; i < pages_per_huge_page(h); i++) {
@@ -970,6 +1007,14 @@ found:
970 return 1; 1007 return 1;
971} 1008}
972 1009
1010static void prep_compound_huge_page(struct page *page, int order)
1011{
1012 if (unlikely(order > (MAX_ORDER - 1)))
1013 prep_compound_gigantic_page(page, order);
1014 else
1015 prep_compound_page(page, order);
1016}
1017
973/* Put bootmem huge pages into the standard lists after mem_map is up */ 1018/* Put bootmem huge pages into the standard lists after mem_map is up */
974static void __init gather_bootmem_prealloc(void) 1019static void __init gather_bootmem_prealloc(void)
975{ 1020{
@@ -980,7 +1025,7 @@ static void __init gather_bootmem_prealloc(void)
980 struct hstate *h = m->hstate; 1025 struct hstate *h = m->hstate;
981 __ClearPageReserved(page); 1026 __ClearPageReserved(page);
982 WARN_ON(page_count(page) != 1); 1027 WARN_ON(page_count(page) != 1);
983 prep_compound_page(page, h->order); 1028 prep_compound_huge_page(page, h->order);
984 prep_new_huge_page(h, page, page_to_nid(page)); 1029 prep_new_huge_page(h, page, page_to_nid(page));
985 } 1030 }
986} 1031}
@@ -2130,7 +2175,7 @@ same_page:
2130 if (zeropage_ok) 2175 if (zeropage_ok)
2131 pages[i] = ZERO_PAGE(0); 2176 pages[i] = ZERO_PAGE(0);
2132 else 2177 else
2133 pages[i] = page + pfn_offset; 2178 pages[i] = mem_map_offset(page, pfn_offset);
2134 get_page(pages[i]); 2179 get_page(pages[i]);
2135 } 2180 }
2136 2181
diff --git a/mm/internal.h b/mm/internal.h
index e4e728bdf324..13333bc2eb68 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -17,6 +17,7 @@ void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
17 unsigned long floor, unsigned long ceiling); 17 unsigned long floor, unsigned long ceiling);
18 18
19extern void prep_compound_page(struct page *page, unsigned long order); 19extern void prep_compound_page(struct page *page, unsigned long order);
20extern void prep_compound_gigantic_page(struct page *page, unsigned long order);
20 21
21static inline void set_page_count(struct page *page, int v) 22static inline void set_page_count(struct page *page, int v)
22{ 23{
@@ -176,6 +177,34 @@ static inline void free_page_mlock(struct page *page) { }
176#endif /* CONFIG_UNEVICTABLE_LRU */ 177#endif /* CONFIG_UNEVICTABLE_LRU */
177 178
178/* 179/*
180 * Return the mem_map entry representing the 'offset' subpage within
181 * the maximally aligned gigantic page 'base'. Handle any discontiguity
182 * in the mem_map at MAX_ORDER_NR_PAGES boundaries.
183 */
184static inline struct page *mem_map_offset(struct page *base, int offset)
185{
186 if (unlikely(offset >= MAX_ORDER_NR_PAGES))
187 return pfn_to_page(page_to_pfn(base) + offset);
188 return base + offset;
189}
190
191/*
192 * Iterator over all subpages withing the maximally aligned gigantic
193 * page 'base'. Handle any discontiguity in the mem_map.
194 */
195static inline struct page *mem_map_next(struct page *iter,
196 struct page *base, int offset)
197{
198 if (unlikely((offset & (MAX_ORDER_NR_PAGES - 1)) == 0)) {
199 unsigned long pfn = page_to_pfn(base) + offset;
200 if (!pfn_valid(pfn))
201 return NULL;
202 return pfn_to_page(pfn);
203 }
204 return iter + 1;
205}
206
207/*
179 * FLATMEM and DISCONTIGMEM configurations use alloc_bootmem_node, 208 * FLATMEM and DISCONTIGMEM configurations use alloc_bootmem_node,
180 * so all functions starting at paging_init should be marked __init 209 * so all functions starting at paging_init should be marked __init
181 * in those cases. SPARSEMEM, however, allows for memory hotplug, 210 * in those cases. SPARSEMEM, however, allows for memory hotplug,
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 36f42573a335..e9493b1c1117 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -489,12 +489,6 @@ check_range(struct mm_struct *mm, unsigned long start, unsigned long end,
489 int err; 489 int err;
490 struct vm_area_struct *first, *vma, *prev; 490 struct vm_area_struct *first, *vma, *prev;
491 491
492 if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) {
493
494 err = migrate_prep();
495 if (err)
496 return ERR_PTR(err);
497 }
498 492
499 first = find_vma(mm, start); 493 first = find_vma(mm, start);
500 if (!first) 494 if (!first)
@@ -809,9 +803,13 @@ int do_migrate_pages(struct mm_struct *mm,
809 const nodemask_t *from_nodes, const nodemask_t *to_nodes, int flags) 803 const nodemask_t *from_nodes, const nodemask_t *to_nodes, int flags)
810{ 804{
811 int busy = 0; 805 int busy = 0;
812 int err = 0; 806 int err;
813 nodemask_t tmp; 807 nodemask_t tmp;
814 808
809 err = migrate_prep();
810 if (err)
811 return err;
812
815 down_read(&mm->mmap_sem); 813 down_read(&mm->mmap_sem);
816 814
817 err = migrate_vmas(mm, from_nodes, to_nodes, flags); 815 err = migrate_vmas(mm, from_nodes, to_nodes, flags);
@@ -974,6 +972,12 @@ static long do_mbind(unsigned long start, unsigned long len,
974 start, start + len, mode, mode_flags, 972 start, start + len, mode, mode_flags,
975 nmask ? nodes_addr(*nmask)[0] : -1); 973 nmask ? nodes_addr(*nmask)[0] : -1);
976 974
975 if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) {
976
977 err = migrate_prep();
978 if (err)
979 return err;
980 }
977 down_write(&mm->mmap_sem); 981 down_write(&mm->mmap_sem);
978 vma = check_range(mm, start, end, nmask, 982 vma = check_range(mm, start, end, nmask,
979 flags | MPOL_MF_INVERT, &pagelist); 983 flags | MPOL_MF_INVERT, &pagelist);
diff --git a/mm/migrate.c b/mm/migrate.c
index 6602941bfab0..385db89f0c33 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -841,12 +841,12 @@ static int do_move_page_to_node_array(struct mm_struct *mm,
841 struct page_to_node *pp; 841 struct page_to_node *pp;
842 LIST_HEAD(pagelist); 842 LIST_HEAD(pagelist);
843 843
844 migrate_prep();
844 down_read(&mm->mmap_sem); 845 down_read(&mm->mmap_sem);
845 846
846 /* 847 /*
847 * Build a list of pages to migrate 848 * Build a list of pages to migrate
848 */ 849 */
849 migrate_prep();
850 for (pp = pm; pp->node != MAX_NUMNODES; pp++) { 850 for (pp = pm; pp->node != MAX_NUMNODES; pp++) {
851 struct vm_area_struct *vma; 851 struct vm_area_struct *vma;
852 struct page *page; 852 struct page *page;
diff --git a/mm/mmap.c b/mm/mmap.c
index 74f4d158022e..de14ac21e5b5 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -175,7 +175,8 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
175 175
176 /* Don't let a single process grow too big: 176 /* Don't let a single process grow too big:
177 leave 3% of the size of this process for other processes */ 177 leave 3% of the size of this process for other processes */
178 allowed -= mm->total_vm / 32; 178 if (mm)
179 allowed -= mm->total_vm / 32;
179 180
180 /* 181 /*
181 * cast `allowed' as a signed long because vm_committed_space 182 * cast `allowed' as a signed long because vm_committed_space
diff --git a/mm/nommu.c b/mm/nommu.c
index 2696b24f2bb3..7695dc850785 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -1454,7 +1454,8 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
1454 1454
1455 /* Don't let a single process grow too big: 1455 /* Don't let a single process grow too big:
1456 leave 3% of the size of this process for other processes */ 1456 leave 3% of the size of this process for other processes */
1457 allowed -= current->mm->total_vm / 32; 1457 if (mm)
1458 allowed -= mm->total_vm / 32;
1458 1459
1459 /* 1460 /*
1460 * cast `allowed' as a signed long because vm_committed_space 1461 * cast `allowed' as a signed long because vm_committed_space
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 64e5b4bcd964..a0a01902f551 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -38,7 +38,6 @@ static DEFINE_SPINLOCK(zone_scan_mutex);
38 * badness - calculate a numeric value for how bad this task has been 38 * badness - calculate a numeric value for how bad this task has been
39 * @p: task struct of which task we should calculate 39 * @p: task struct of which task we should calculate
40 * @uptime: current uptime in seconds 40 * @uptime: current uptime in seconds
41 * @mem: target memory controller
42 * 41 *
43 * The formula used is relatively simple and documented inline in the 42 * The formula used is relatively simple and documented inline in the
44 * function. The main rationale is that we want to select a good task 43 * function. The main rationale is that we want to select a good task
@@ -295,6 +294,8 @@ static void dump_tasks(const struct mem_cgroup *mem)
295 continue; 294 continue;
296 if (mem && !task_in_mem_cgroup(p, mem)) 295 if (mem && !task_in_mem_cgroup(p, mem))
297 continue; 296 continue;
297 if (!thread_group_leader(p))
298 continue;
298 299
299 task_lock(p); 300 task_lock(p);
300 printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", 301 printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n",
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index d0a240fbb8bf..54069e64e3a8 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -263,24 +263,39 @@ void prep_compound_page(struct page *page, unsigned long order)
263{ 263{
264 int i; 264 int i;
265 int nr_pages = 1 << order; 265 int nr_pages = 1 << order;
266
267 set_compound_page_dtor(page, free_compound_page);
268 set_compound_order(page, order);
269 __SetPageHead(page);
270 for (i = 1; i < nr_pages; i++) {
271 struct page *p = page + i;
272
273 __SetPageTail(p);
274 p->first_page = page;
275 }
276}
277
278#ifdef CONFIG_HUGETLBFS
279void prep_compound_gigantic_page(struct page *page, unsigned long order)
280{
281 int i;
282 int nr_pages = 1 << order;
266 struct page *p = page + 1; 283 struct page *p = page + 1;
267 284
268 set_compound_page_dtor(page, free_compound_page); 285 set_compound_page_dtor(page, free_compound_page);
269 set_compound_order(page, order); 286 set_compound_order(page, order);
270 __SetPageHead(page); 287 __SetPageHead(page);
271 for (i = 1; i < nr_pages; i++, p++) { 288 for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) {
272 if (unlikely((i & (MAX_ORDER_NR_PAGES - 1)) == 0))
273 p = pfn_to_page(page_to_pfn(page) + i);
274 __SetPageTail(p); 289 __SetPageTail(p);
275 p->first_page = page; 290 p->first_page = page;
276 } 291 }
277} 292}
293#endif
278 294
279static void destroy_compound_page(struct page *page, unsigned long order) 295static void destroy_compound_page(struct page *page, unsigned long order)
280{ 296{
281 int i; 297 int i;
282 int nr_pages = 1 << order; 298 int nr_pages = 1 << order;
283 struct page *p = page + 1;
284 299
285 if (unlikely(compound_order(page) != order)) 300 if (unlikely(compound_order(page) != order))
286 bad_page(page); 301 bad_page(page);
@@ -288,9 +303,8 @@ static void destroy_compound_page(struct page *page, unsigned long order)
288 if (unlikely(!PageHead(page))) 303 if (unlikely(!PageHead(page)))
289 bad_page(page); 304 bad_page(page);
290 __ClearPageHead(page); 305 __ClearPageHead(page);
291 for (i = 1; i < nr_pages; i++, p++) { 306 for (i = 1; i < nr_pages; i++) {
292 if (unlikely((i & (MAX_ORDER_NR_PAGES - 1)) == 0)) 307 struct page *p = page + i;
293 p = pfn_to_page(page_to_pfn(page) + i);
294 308
295 if (unlikely(!PageTail(p) | 309 if (unlikely(!PageTail(p) |
296 (p->first_page != page))) 310 (p->first_page != page)))
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index b70a7fec1ff6..5e0ffd967452 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -130,10 +130,11 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn)
130 if (page && get_pageblock_migratetype(page) != MIGRATE_ISOLATE) 130 if (page && get_pageblock_migratetype(page) != MIGRATE_ISOLATE)
131 break; 131 break;
132 } 132 }
133 if (pfn < end_pfn) 133 page = __first_valid_page(start_pfn, end_pfn - start_pfn);
134 if ((pfn < end_pfn) || !page)
134 return -EBUSY; 135 return -EBUSY;
135 /* Check all pages are free or Marked as ISOLATED */ 136 /* Check all pages are free or Marked as ISOLATED */
136 zone = page_zone(pfn_to_page(pfn)); 137 zone = page_zone(page);
137 spin_lock_irqsave(&zone->lock, flags); 138 spin_lock_irqsave(&zone->lock, flags);
138 ret = __test_page_isolated_in_pageblock(start_pfn, end_pfn); 139 ret = __test_page_isolated_in_pageblock(start_pfn, end_pfn);
139 spin_unlock_irqrestore(&zone->lock, flags); 140 spin_unlock_irqrestore(&zone->lock, flags);
diff --git a/mm/shmem.c b/mm/shmem.c
index d38d7e61fcd0..0ed075215e5f 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -161,8 +161,8 @@ static inline struct shmem_sb_info *SHMEM_SB(struct super_block *sb)
161 */ 161 */
162static inline int shmem_acct_size(unsigned long flags, loff_t size) 162static inline int shmem_acct_size(unsigned long flags, loff_t size)
163{ 163{
164 return (flags & VM_ACCOUNT)? 164 return (flags & VM_ACCOUNT) ?
165 security_vm_enough_memory(VM_ACCT(size)): 0; 165 security_vm_enough_memory_kern(VM_ACCT(size)) : 0;
166} 166}
167 167
168static inline void shmem_unacct_size(unsigned long flags, loff_t size) 168static inline void shmem_unacct_size(unsigned long flags, loff_t size)
@@ -179,8 +179,8 @@ static inline void shmem_unacct_size(unsigned long flags, loff_t size)
179 */ 179 */
180static inline int shmem_acct_block(unsigned long flags) 180static inline int shmem_acct_block(unsigned long flags)
181{ 181{
182 return (flags & VM_ACCOUNT)? 182 return (flags & VM_ACCOUNT) ?
183 0: security_vm_enough_memory(VM_ACCT(PAGE_CACHE_SIZE)); 183 0 : security_vm_enough_memory_kern(VM_ACCT(PAGE_CACHE_SIZE));
184} 184}
185 185
186static inline void shmem_unacct_blocks(unsigned long flags, long pages) 186static inline void shmem_unacct_blocks(unsigned long flags, long pages)
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index a91b5f8fcaf6..a13ea6401ae7 100644
--- a/mm/sparse-vmemmap.c
+++ b/mm/sparse-vmemmap.c
@@ -64,7 +64,7 @@ void __meminit vmemmap_verify(pte_t *pte, int node,
64 unsigned long pfn = pte_pfn(*pte); 64 unsigned long pfn = pte_pfn(*pte);
65 int actual_node = early_pfn_to_nid(pfn); 65 int actual_node = early_pfn_to_nid(pfn);
66 66
67 if (actual_node != node) 67 if (node_distance(actual_node, node) > LOCAL_DISTANCE)
68 printk(KERN_WARNING "[%lx-%lx] potential offnode " 68 printk(KERN_WARNING "[%lx-%lx] potential offnode "
69 "page_structs\n", start, end - 1); 69 "page_structs\n", start, end - 1);
70} 70}
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 036536945dd9..ba6b0f5f7fac 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -178,7 +178,7 @@ static int vmap_page_range(unsigned long addr, unsigned long end,
178static inline int is_vmalloc_or_module_addr(const void *x) 178static inline int is_vmalloc_or_module_addr(const void *x)
179{ 179{
180 /* 180 /*
181 * x86-64 and sparc64 put modules in a special place, 181 * ARM, x86-64 and sparc64 put modules in a special place,
182 * and fall back on vmalloc() if that fails. Others 182 * and fall back on vmalloc() if that fails. Others
183 * just put it in the vmalloc space. 183 * just put it in the vmalloc space.
184 */ 184 */
@@ -592,6 +592,8 @@ static void free_unmap_vmap_area_addr(unsigned long addr)
592 592
593#define VMAP_BLOCK_SIZE (VMAP_BBMAP_BITS * PAGE_SIZE) 593#define VMAP_BLOCK_SIZE (VMAP_BBMAP_BITS * PAGE_SIZE)
594 594
595static bool vmap_initialized __read_mostly = false;
596
595struct vmap_block_queue { 597struct vmap_block_queue {
596 spinlock_t lock; 598 spinlock_t lock;
597 struct list_head free; 599 struct list_head free;
@@ -828,6 +830,9 @@ void vm_unmap_aliases(void)
828 int cpu; 830 int cpu;
829 int flush = 0; 831 int flush = 0;
830 832
833 if (unlikely(!vmap_initialized))
834 return;
835
831 for_each_possible_cpu(cpu) { 836 for_each_possible_cpu(cpu) {
832 struct vmap_block_queue *vbq = &per_cpu(vmap_block_queue, cpu); 837 struct vmap_block_queue *vbq = &per_cpu(vmap_block_queue, cpu);
833 struct vmap_block *vb; 838 struct vmap_block *vb;
@@ -897,7 +902,8 @@ EXPORT_SYMBOL(vm_unmap_ram);
897 * @count: number of pages 902 * @count: number of pages
898 * @node: prefer to allocate data structures on this node 903 * @node: prefer to allocate data structures on this node
899 * @prot: memory protection to use. PAGE_KERNEL for regular RAM 904 * @prot: memory protection to use. PAGE_KERNEL for regular RAM
900 * @returns: a pointer to the address that has been mapped, or NULL on failure 905 *
906 * Returns: a pointer to the address that has been mapped, or %NULL on failure
901 */ 907 */
902void *vm_map_ram(struct page **pages, unsigned int count, int node, pgprot_t prot) 908void *vm_map_ram(struct page **pages, unsigned int count, int node, pgprot_t prot)
903{ 909{
@@ -941,6 +947,8 @@ void __init vmalloc_init(void)
941 INIT_LIST_HEAD(&vbq->dirty); 947 INIT_LIST_HEAD(&vbq->dirty);
942 vbq->nr_dirty = 0; 948 vbq->nr_dirty = 0;
943 } 949 }
950
951 vmap_initialized = true;
944} 952}
945 953
946void unmap_kernel_range(unsigned long addr, unsigned long size) 954void unmap_kernel_range(unsigned long addr, unsigned long size)
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c
index 916061f681b6..68ced4bf158c 100644
--- a/net/8021q/vlan_core.c
+++ b/net/8021q/vlan_core.c
@@ -3,11 +3,20 @@
3#include <linux/if_vlan.h> 3#include <linux/if_vlan.h>
4#include "vlan.h" 4#include "vlan.h"
5 5
6struct vlan_hwaccel_cb {
7 struct net_device *dev;
8};
9
10static inline struct vlan_hwaccel_cb *vlan_hwaccel_cb(struct sk_buff *skb)
11{
12 return (struct vlan_hwaccel_cb *)skb->cb;
13}
14
6/* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ 15/* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */
7int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, 16int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
8 u16 vlan_tci, int polling) 17 u16 vlan_tci, int polling)
9{ 18{
10 struct net_device_stats *stats; 19 struct vlan_hwaccel_cb *cb = vlan_hwaccel_cb(skb);
11 20
12 if (skb_bond_should_drop(skb)) { 21 if (skb_bond_should_drop(skb)) {
13 dev_kfree_skb_any(skb); 22 dev_kfree_skb_any(skb);
@@ -15,23 +24,35 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
15 } 24 }
16 25
17 skb->vlan_tci = vlan_tci; 26 skb->vlan_tci = vlan_tci;
27 cb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK);
28
29 return (polling ? netif_receive_skb(skb) : netif_rx(skb));
30}
31EXPORT_SYMBOL(__vlan_hwaccel_rx);
32
33int vlan_hwaccel_do_receive(struct sk_buff *skb)
34{
35 struct vlan_hwaccel_cb *cb = vlan_hwaccel_cb(skb);
36 struct net_device *dev = cb->dev;
37 struct net_device_stats *stats;
38
18 netif_nit_deliver(skb); 39 netif_nit_deliver(skb);
19 40
20 skb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK); 41 if (dev == NULL) {
21 if (skb->dev == NULL) { 42 kfree_skb(skb);
22 dev_kfree_skb_any(skb); 43 return -1;
23 /* Not NET_RX_DROP, this is not being dropped
24 * due to congestion. */
25 return NET_RX_SUCCESS;
26 } 44 }
27 skb->dev->last_rx = jiffies; 45
46 skb->dev = dev;
47 skb->priority = vlan_get_ingress_priority(dev, skb->vlan_tci);
28 skb->vlan_tci = 0; 48 skb->vlan_tci = 0;
29 49
30 stats = &skb->dev->stats; 50 dev->last_rx = jiffies;
51
52 stats = &dev->stats;
31 stats->rx_packets++; 53 stats->rx_packets++;
32 stats->rx_bytes += skb->len; 54 stats->rx_bytes += skb->len;
33 55
34 skb->priority = vlan_get_ingress_priority(skb->dev, vlan_tci);
35 switch (skb->pkt_type) { 56 switch (skb->pkt_type) {
36 case PACKET_BROADCAST: 57 case PACKET_BROADCAST:
37 break; 58 break;
@@ -43,13 +64,12 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
43 * This allows the VLAN to have a different MAC than the 64 * This allows the VLAN to have a different MAC than the
44 * underlying device, and still route correctly. */ 65 * underlying device, and still route correctly. */
45 if (!compare_ether_addr(eth_hdr(skb)->h_dest, 66 if (!compare_ether_addr(eth_hdr(skb)->h_dest,
46 skb->dev->dev_addr)) 67 dev->dev_addr))
47 skb->pkt_type = PACKET_HOST; 68 skb->pkt_type = PACKET_HOST;
48 break; 69 break;
49 }; 70 };
50 return (polling ? netif_receive_skb(skb) : netif_rx(skb)); 71 return 0;
51} 72}
52EXPORT_SYMBOL(__vlan_hwaccel_rx);
53 73
54struct net_device *vlan_dev_real_dev(const struct net_device *dev) 74struct net_device *vlan_dev_real_dev(const struct net_device *dev)
55{ 75{
diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c
index 0feefa4e1a4b..3628e0a81b40 100644
--- a/net/8021q/vlanproc.c
+++ b/net/8021q/vlanproc.c
@@ -314,7 +314,7 @@ static int vlandev_seq_show(struct seq_file *seq, void *offset)
314 dev_info->ingress_priority_map[6], 314 dev_info->ingress_priority_map[6],
315 dev_info->ingress_priority_map[7]); 315 dev_info->ingress_priority_map[7]);
316 316
317 seq_printf(seq, "EGRESSS priority Mappings: "); 317 seq_printf(seq, " EGRESS priority mappings: ");
318 for (i = 0; i < 16; i++) { 318 for (i = 0; i < 16; i++) {
319 const struct vlan_priority_tci_mapping *mp 319 const struct vlan_priority_tci_mapping *mp
320 = dev_info->egress_priority_map[i]; 320 = dev_info->egress_priority_map[i];
diff --git a/net/9p/client.c b/net/9p/client.c
index 67717f69412e..4b529454616d 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -189,6 +189,9 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag)
189 printk(KERN_ERR "Couldn't grow tag array\n"); 189 printk(KERN_ERR "Couldn't grow tag array\n");
190 kfree(req->tc); 190 kfree(req->tc);
191 kfree(req->rc); 191 kfree(req->rc);
192 kfree(req->wq);
193 req->tc = req->rc = NULL;
194 req->wq = NULL;
192 return ERR_PTR(-ENOMEM); 195 return ERR_PTR(-ENOMEM);
193 } 196 }
194 req->tc->sdata = (char *) req->tc + sizeof(struct p9_fcall); 197 req->tc->sdata = (char *) req->tc + sizeof(struct p9_fcall);
@@ -311,12 +314,6 @@ static void p9_free_req(struct p9_client *c, struct p9_req_t *r)
311 r->status = REQ_STATUS_IDLE; 314 r->status = REQ_STATUS_IDLE;
312 if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool)) 315 if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool))
313 p9_idpool_put(tag, c->tagpool); 316 p9_idpool_put(tag, c->tagpool);
314
315 /* if this was a flush request we have to free response fcall */
316 if (r->rc->id == P9_RFLUSH) {
317 kfree(r->tc);
318 kfree(r->rc);
319 }
320} 317}
321 318
322/** 319/**
@@ -611,19 +608,21 @@ reterr:
611 608
612static struct p9_fid *p9_fid_create(struct p9_client *clnt) 609static struct p9_fid *p9_fid_create(struct p9_client *clnt)
613{ 610{
614 int err; 611 int ret;
615 struct p9_fid *fid; 612 struct p9_fid *fid;
613 unsigned long flags;
616 614
617 P9_DPRINTK(P9_DEBUG_FID, "clnt %p\n", clnt); 615 P9_DPRINTK(P9_DEBUG_FID, "clnt %p\n", clnt);
618 fid = kmalloc(sizeof(struct p9_fid), GFP_KERNEL); 616 fid = kmalloc(sizeof(struct p9_fid), GFP_KERNEL);
619 if (!fid) 617 if (!fid)
620 return ERR_PTR(-ENOMEM); 618 return ERR_PTR(-ENOMEM);
621 619
622 fid->fid = p9_idpool_get(clnt->fidpool); 620 ret = p9_idpool_get(clnt->fidpool);
623 if (fid->fid < 0) { 621 if (fid->fid < 0) {
624 err = -ENOSPC; 622 ret = -ENOSPC;
625 goto error; 623 goto error;
626 } 624 }
625 fid->fid = ret;
627 626
628 memset(&fid->qid, 0, sizeof(struct p9_qid)); 627 memset(&fid->qid, 0, sizeof(struct p9_qid));
629 fid->mode = -1; 628 fid->mode = -1;
@@ -632,27 +631,28 @@ static struct p9_fid *p9_fid_create(struct p9_client *clnt)
632 fid->clnt = clnt; 631 fid->clnt = clnt;
633 fid->aux = NULL; 632 fid->aux = NULL;
634 633
635 spin_lock(&clnt->lock); 634 spin_lock_irqsave(&clnt->lock, flags);
636 list_add(&fid->flist, &clnt->fidlist); 635 list_add(&fid->flist, &clnt->fidlist);
637 spin_unlock(&clnt->lock); 636 spin_unlock_irqrestore(&clnt->lock, flags);
638 637
639 return fid; 638 return fid;
640 639
641error: 640error:
642 kfree(fid); 641 kfree(fid);
643 return ERR_PTR(err); 642 return ERR_PTR(ret);
644} 643}
645 644
646static void p9_fid_destroy(struct p9_fid *fid) 645static void p9_fid_destroy(struct p9_fid *fid)
647{ 646{
648 struct p9_client *clnt; 647 struct p9_client *clnt;
648 unsigned long flags;
649 649
650 P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid); 650 P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid);
651 clnt = fid->clnt; 651 clnt = fid->clnt;
652 p9_idpool_put(fid->fid, clnt->fidpool); 652 p9_idpool_put(fid->fid, clnt->fidpool);
653 spin_lock(&clnt->lock); 653 spin_lock_irqsave(&clnt->lock, flags);
654 list_del(&fid->flist); 654 list_del(&fid->flist);
655 spin_unlock(&clnt->lock); 655 spin_unlock_irqrestore(&clnt->lock, flags);
656 kfree(fid); 656 kfree(fid);
657} 657}
658 658
@@ -818,7 +818,9 @@ struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid,
818 } 818 }
819 819
820 P9_DPRINTK(P9_DEBUG_9P, "<<< RATTACH qid %x.%llx.%x\n", 820 P9_DPRINTK(P9_DEBUG_9P, "<<< RATTACH qid %x.%llx.%x\n",
821 qid.type, qid.path, qid.version); 821 qid.type,
822 (unsigned long long)qid.path,
823 qid.version);
822 824
823 memmove(&fid->qid, &qid, sizeof(struct p9_qid)); 825 memmove(&fid->qid, &qid, sizeof(struct p9_qid));
824 826
@@ -865,7 +867,9 @@ p9_client_auth(struct p9_client *clnt, char *uname, u32 n_uname, char *aname)
865 } 867 }
866 868
867 P9_DPRINTK(P9_DEBUG_9P, "<<< RAUTH qid %x.%llx.%x\n", 869 P9_DPRINTK(P9_DEBUG_9P, "<<< RAUTH qid %x.%llx.%x\n",
868 qid.type, qid.path, qid.version); 870 qid.type,
871 (unsigned long long)qid.path,
872 qid.version);
869 873
870 memmove(&afid->qid, &qid, sizeof(struct p9_qid)); 874 memmove(&afid->qid, &qid, sizeof(struct p9_qid));
871 p9_free_req(clnt, req); 875 p9_free_req(clnt, req);
@@ -930,7 +934,8 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, int nwname, char **wnames,
930 934
931 for (count = 0; count < nwqids; count++) 935 for (count = 0; count < nwqids; count++)
932 P9_DPRINTK(P9_DEBUG_9P, "<<< [%d] %x.%llx.%x\n", 936 P9_DPRINTK(P9_DEBUG_9P, "<<< [%d] %x.%llx.%x\n",
933 count, wqids[count].type, wqids[count].path, 937 count, wqids[count].type,
938 (unsigned long long)wqids[count].path,
934 wqids[count].version); 939 wqids[count].version);
935 940
936 if (nwname) 941 if (nwname)
@@ -980,7 +985,9 @@ int p9_client_open(struct p9_fid *fid, int mode)
980 } 985 }
981 986
982 P9_DPRINTK(P9_DEBUG_9P, "<<< ROPEN qid %x.%llx.%x iounit %x\n", 987 P9_DPRINTK(P9_DEBUG_9P, "<<< ROPEN qid %x.%llx.%x iounit %x\n",
983 qid.type, qid.path, qid.version, iounit); 988 qid.type,
989 (unsigned long long)qid.path,
990 qid.version, iounit);
984 991
985 fid->mode = mode; 992 fid->mode = mode;
986 fid->iounit = iounit; 993 fid->iounit = iounit;
@@ -1023,7 +1030,9 @@ int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode,
1023 } 1030 }
1024 1031
1025 P9_DPRINTK(P9_DEBUG_9P, "<<< RCREATE qid %x.%llx.%x iounit %x\n", 1032 P9_DPRINTK(P9_DEBUG_9P, "<<< RCREATE qid %x.%llx.%x iounit %x\n",
1026 qid.type, qid.path, qid.version, iounit); 1033 qid.type,
1034 (unsigned long long)qid.path,
1035 qid.version, iounit);
1027 1036
1028 fid->mode = mode; 1037 fid->mode = mode;
1029 fid->iounit = iounit; 1038 fid->iounit = iounit;
@@ -1230,9 +1239,9 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid)
1230 "<<< name=%s uid=%s gid=%s muid=%s extension=(%s)\n" 1239 "<<< name=%s uid=%s gid=%s muid=%s extension=(%s)\n"
1231 "<<< uid=%d gid=%d n_muid=%d\n", 1240 "<<< uid=%d gid=%d n_muid=%d\n",
1232 ret->size, ret->type, ret->dev, ret->qid.type, 1241 ret->size, ret->type, ret->dev, ret->qid.type,
1233 ret->qid.path, ret->qid.version, ret->mode, 1242 (unsigned long long)ret->qid.path, ret->qid.version, ret->mode,
1234 ret->atime, ret->mtime, ret->length, ret->name, 1243 ret->atime, ret->mtime, (unsigned long long)ret->length,
1235 ret->uid, ret->gid, ret->muid, ret->extension, 1244 ret->name, ret->uid, ret->gid, ret->muid, ret->extension,
1236 ret->n_uid, ret->n_gid, ret->n_muid); 1245 ret->n_uid, ret->n_gid, ret->n_muid);
1237 1246
1238free_and_error: 1247free_and_error:
@@ -1255,9 +1264,9 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
1255 " name=%s uid=%s gid=%s muid=%s extension=(%s)\n" 1264 " name=%s uid=%s gid=%s muid=%s extension=(%s)\n"
1256 " uid=%d gid=%d n_muid=%d\n", 1265 " uid=%d gid=%d n_muid=%d\n",
1257 wst->size, wst->type, wst->dev, wst->qid.type, 1266 wst->size, wst->type, wst->dev, wst->qid.type,
1258 wst->qid.path, wst->qid.version, wst->mode, 1267 (unsigned long long)wst->qid.path, wst->qid.version, wst->mode,
1259 wst->atime, wst->mtime, wst->length, wst->name, 1268 wst->atime, wst->mtime, (unsigned long long)wst->length,
1260 wst->uid, wst->gid, wst->muid, wst->extension, 1269 wst->name, wst->uid, wst->gid, wst->muid, wst->extension,
1261 wst->n_uid, wst->n_gid, wst->n_muid); 1270 wst->n_uid, wst->n_gid, wst->n_muid);
1262 err = 0; 1271 err = 0;
1263 clnt = fid->clnt; 1272 clnt = fid->clnt;
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c
index 8d6cc4777aae..2f1fe5fc1228 100644
--- a/net/9p/trans_rdma.c
+++ b/net/9p/trans_rdma.c
@@ -45,7 +45,6 @@
45#include <net/9p/transport.h> 45#include <net/9p/transport.h>
46#include <rdma/ib_verbs.h> 46#include <rdma/ib_verbs.h>
47#include <rdma/rdma_cm.h> 47#include <rdma/rdma_cm.h>
48#include <rdma/ib_verbs.h>
49 48
50#define P9_PORT 5640 49#define P9_PORT 5640
51#define P9_RDMA_SQ_DEPTH 32 50#define P9_RDMA_SQ_DEPTH 32
@@ -589,6 +588,9 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
589 if (IS_ERR(rdma->cm_id)) 588 if (IS_ERR(rdma->cm_id))
590 goto error; 589 goto error;
591 590
591 /* Associate the client with the transport */
592 client->trans = rdma;
593
592 /* Resolve the server's address */ 594 /* Resolve the server's address */
593 rdma->addr.sin_family = AF_INET; 595 rdma->addr.sin_family = AF_INET;
594 rdma->addr.sin_addr.s_addr = in_aton(addr); 596 rdma->addr.sin_addr.s_addr = in_aton(addr);
@@ -669,7 +671,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
669 if (err || (rdma->state != P9_RDMA_CONNECTED)) 671 if (err || (rdma->state != P9_RDMA_CONNECTED))
670 goto error; 672 goto error;
671 673
672 client->trans = rdma;
673 client->status = Connected; 674 client->status = Connected;
674 675
675 return 0; 676 return 0;
diff --git a/net/core/dev.c b/net/core/dev.c
index d9038e328cc1..9174c77d3112 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2218,6 +2218,9 @@ int netif_receive_skb(struct sk_buff *skb)
2218 int ret = NET_RX_DROP; 2218 int ret = NET_RX_DROP;
2219 __be16 type; 2219 __be16 type;
2220 2220
2221 if (skb->vlan_tci && vlan_hwaccel_do_receive(skb))
2222 return NET_RX_SUCCESS;
2223
2221 /* if we've gotten here through NAPI, check netpoll */ 2224 /* if we've gotten here through NAPI, check netpoll */
2222 if (netpoll_receive_skb(skb)) 2225 if (netpoll_receive_skb(skb))
2223 return NET_RX_DROP; 2226 return NET_RX_DROP;
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index f1d07b5c1e17..1895a4ca9c4f 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -325,6 +325,38 @@ void unregister_pernet_subsys(struct pernet_operations *module)
325} 325}
326EXPORT_SYMBOL_GPL(unregister_pernet_subsys); 326EXPORT_SYMBOL_GPL(unregister_pernet_subsys);
327 327
328int register_pernet_gen_subsys(int *id, struct pernet_operations *ops)
329{
330 int rv;
331
332 mutex_lock(&net_mutex);
333again:
334 rv = ida_get_new_above(&net_generic_ids, 1, id);
335 if (rv < 0) {
336 if (rv == -EAGAIN) {
337 ida_pre_get(&net_generic_ids, GFP_KERNEL);
338 goto again;
339 }
340 goto out;
341 }
342 rv = register_pernet_operations(first_device, ops);
343 if (rv < 0)
344 ida_remove(&net_generic_ids, *id);
345 mutex_unlock(&net_mutex);
346out:
347 return rv;
348}
349EXPORT_SYMBOL_GPL(register_pernet_gen_subsys);
350
351void unregister_pernet_gen_subsys(int id, struct pernet_operations *ops)
352{
353 mutex_lock(&net_mutex);
354 unregister_pernet_operations(ops);
355 ida_remove(&net_generic_ids, id);
356 mutex_unlock(&net_mutex);
357}
358EXPORT_SYMBOL_GPL(unregister_pernet_gen_subsys);
359
328/** 360/**
329 * register_pernet_device - register a network namespace device 361 * register_pernet_device - register a network namespace device
330 * @ops: pernet operations structure for the subsystem 362 * @ops: pernet operations structure for the subsystem
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 99f656d35b4f..a47f5bad110d 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -1973,28 +1973,27 @@ static void pktgen_setup_inject(struct pktgen_dev *pkt_dev)
1973 1973
1974 /* make sure that we don't pick a non-existing transmit queue */ 1974 /* make sure that we don't pick a non-existing transmit queue */
1975 ntxq = pkt_dev->odev->real_num_tx_queues; 1975 ntxq = pkt_dev->odev->real_num_tx_queues;
1976 if (ntxq <= num_online_cpus() && (pkt_dev->flags & F_QUEUE_MAP_CPU)) { 1976 if (ntxq > num_online_cpus() && (pkt_dev->flags & F_QUEUE_MAP_CPU)) {
1977 printk(KERN_WARNING "pktgen: WARNING: QUEUE_MAP_CPU " 1977 printk(KERN_WARNING "pktgen: WARNING: QUEUE_MAP_CPU "
1978 "disabled because CPU count (%d) exceeds number ", 1978 "disabled because CPU count (%d) exceeds number "
1979 num_online_cpus()); 1979 "of tx queues (%d) on %s\n", num_online_cpus(), ntxq,
1980 printk(KERN_WARNING "pktgen: WARNING: of tx queues " 1980 pkt_dev->odev->name);
1981 "(%d) on %s \n", ntxq, pkt_dev->odev->name);
1982 pkt_dev->flags &= ~F_QUEUE_MAP_CPU; 1981 pkt_dev->flags &= ~F_QUEUE_MAP_CPU;
1983 } 1982 }
1984 if (ntxq <= pkt_dev->queue_map_min) { 1983 if (ntxq <= pkt_dev->queue_map_min) {
1985 printk(KERN_WARNING "pktgen: WARNING: Requested " 1984 printk(KERN_WARNING "pktgen: WARNING: Requested "
1986 "queue_map_min (%d) exceeds number of tx\n", 1985 "queue_map_min (zero-based) (%d) exceeds valid range "
1987 pkt_dev->queue_map_min); 1986 "[0 - %d] for (%d) queues on %s, resetting\n",
1988 printk(KERN_WARNING "pktgen: WARNING: queues (%d) on " 1987 pkt_dev->queue_map_min, (ntxq ?: 1)- 1, ntxq,
1989 "%s, resetting\n", ntxq, pkt_dev->odev->name); 1988 pkt_dev->odev->name);
1990 pkt_dev->queue_map_min = ntxq - 1; 1989 pkt_dev->queue_map_min = ntxq - 1;
1991 } 1990 }
1992 if (ntxq <= pkt_dev->queue_map_max) { 1991 if (pkt_dev->queue_map_max >= ntxq) {
1993 printk(KERN_WARNING "pktgen: WARNING: Requested " 1992 printk(KERN_WARNING "pktgen: WARNING: Requested "
1994 "queue_map_max (%d) exceeds number of tx\n", 1993 "queue_map_max (zero-based) (%d) exceeds valid range "
1995 pkt_dev->queue_map_max); 1994 "[0 - %d] for (%d) queues on %s, resetting\n",
1996 printk(KERN_WARNING "pktgen: WARNING: queues (%d) on " 1995 pkt_dev->queue_map_max, (ntxq ?: 1)- 1, ntxq,
1997 "%s, resetting\n", ntxq, pkt_dev->odev->name); 1996 pkt_dev->odev->name);
1998 pkt_dev->queue_map_max = ntxq - 1; 1997 pkt_dev->queue_map_max = ntxq - 1;
1999 } 1998 }
2000 1999
diff --git a/net/core/scm.c b/net/core/scm.c
index 10f5c65f6a47..ab242cc1acca 100644
--- a/net/core/scm.c
+++ b/net/core/scm.c
@@ -75,6 +75,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp)
75 if (!fpl) 75 if (!fpl)
76 return -ENOMEM; 76 return -ENOMEM;
77 *fplp = fpl; 77 *fplp = fpl;
78 INIT_LIST_HEAD(&fpl->list);
78 fpl->count = 0; 79 fpl->count = 0;
79 } 80 }
80 fpp = &fpl->fp[fpl->count]; 81 fpp = &fpl->fp[fpl->count];
@@ -106,9 +107,25 @@ void __scm_destroy(struct scm_cookie *scm)
106 107
107 if (fpl) { 108 if (fpl) {
108 scm->fp = NULL; 109 scm->fp = NULL;
109 for (i=fpl->count-1; i>=0; i--) 110 if (current->scm_work_list) {
110 fput(fpl->fp[i]); 111 list_add_tail(&fpl->list, current->scm_work_list);
111 kfree(fpl); 112 } else {
113 LIST_HEAD(work_list);
114
115 current->scm_work_list = &work_list;
116
117 list_add(&fpl->list, &work_list);
118 while (!list_empty(&work_list)) {
119 fpl = list_first_entry(&work_list, struct scm_fp_list, list);
120
121 list_del(&fpl->list);
122 for (i=fpl->count-1; i>=0; i--)
123 fput(fpl->fp[i]);
124 kfree(fpl);
125 }
126
127 current->scm_work_list = NULL;
128 }
112 } 129 }
113} 130}
114 131
@@ -284,6 +301,7 @@ struct scm_fp_list *scm_fp_dup(struct scm_fp_list *fpl)
284 301
285 new_fpl = kmalloc(sizeof(*fpl), GFP_KERNEL); 302 new_fpl = kmalloc(sizeof(*fpl), GFP_KERNEL);
286 if (new_fpl) { 303 if (new_fpl) {
304 INIT_LIST_HEAD(&new_fpl->list);
287 for (i=fpl->count-1; i>=0; i--) 305 for (i=fpl->count-1; i>=0; i--)
288 get_file(fpl->fp[i]); 306 get_file(fpl->fp[i]);
289 memcpy(new_fpl, fpl, sizeof(*fpl)); 307 memcpy(new_fpl, fpl, sizeof(*fpl));
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 4e22e3a35359..d49ef8301b5b 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -449,6 +449,18 @@ void kfree_skb(struct sk_buff *skb)
449 __kfree_skb(skb); 449 __kfree_skb(skb);
450} 450}
451 451
452/**
453 * skb_recycle_check - check if skb can be reused for receive
454 * @skb: buffer
455 * @skb_size: minimum receive buffer size
456 *
457 * Checks that the skb passed in is not shared or cloned, and
458 * that it is linear and its head portion at least as large as
459 * skb_size so that it can be recycled as a receive buffer.
460 * If these conditions are met, this function does any necessary
461 * reference count dropping and cleans up the skbuff as if it
462 * just came from __alloc_skb().
463 */
452int skb_recycle_check(struct sk_buff *skb, int skb_size) 464int skb_recycle_check(struct sk_buff *skb, int skb_size)
453{ 465{
454 struct skb_shared_info *shinfo; 466 struct skb_shared_info *shinfo;
@@ -474,8 +486,8 @@ int skb_recycle_check(struct sk_buff *skb, int skb_size)
474 shinfo->frag_list = NULL; 486 shinfo->frag_list = NULL;
475 487
476 memset(skb, 0, offsetof(struct sk_buff, tail)); 488 memset(skb, 0, offsetof(struct sk_buff, tail));
477 skb_reset_tail_pointer(skb);
478 skb->data = skb->head + NET_SKB_PAD; 489 skb->data = skb->head + NET_SKB_PAD;
490 skb_reset_tail_pointer(skb);
479 491
480 return 1; 492 return 1;
481} 493}
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 37616884b8a9..1af5a79309e9 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -10,6 +10,7 @@
10 10
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/netdevice.h> 12#include <linux/netdevice.h>
13#include <linux/etherdevice.h>
13#include <linux/phy.h> 14#include <linux/phy.h>
14#include "dsa_priv.h" 15#include "dsa_priv.h"
15 16
@@ -49,11 +50,57 @@ void dsa_slave_mii_bus_init(struct dsa_switch *ds)
49/* slave device handling ****************************************************/ 50/* slave device handling ****************************************************/
50static int dsa_slave_open(struct net_device *dev) 51static int dsa_slave_open(struct net_device *dev)
51{ 52{
53 struct dsa_slave_priv *p = netdev_priv(dev);
54 struct net_device *master = p->parent->master_netdev;
55 int err;
56
57 if (!(master->flags & IFF_UP))
58 return -ENETDOWN;
59
60 if (compare_ether_addr(dev->dev_addr, master->dev_addr)) {
61 err = dev_unicast_add(master, dev->dev_addr, ETH_ALEN);
62 if (err < 0)
63 goto out;
64 }
65
66 if (dev->flags & IFF_ALLMULTI) {
67 err = dev_set_allmulti(master, 1);
68 if (err < 0)
69 goto del_unicast;
70 }
71 if (dev->flags & IFF_PROMISC) {
72 err = dev_set_promiscuity(master, 1);
73 if (err < 0)
74 goto clear_allmulti;
75 }
76
52 return 0; 77 return 0;
78
79clear_allmulti:
80 if (dev->flags & IFF_ALLMULTI)
81 dev_set_allmulti(master, -1);
82del_unicast:
83 if (compare_ether_addr(dev->dev_addr, master->dev_addr))
84 dev_unicast_delete(master, dev->dev_addr, ETH_ALEN);
85out:
86 return err;
53} 87}
54 88
55static int dsa_slave_close(struct net_device *dev) 89static int dsa_slave_close(struct net_device *dev)
56{ 90{
91 struct dsa_slave_priv *p = netdev_priv(dev);
92 struct net_device *master = p->parent->master_netdev;
93
94 dev_mc_unsync(master, dev);
95 dev_unicast_unsync(master, dev);
96 if (dev->flags & IFF_ALLMULTI)
97 dev_set_allmulti(master, -1);
98 if (dev->flags & IFF_PROMISC)
99 dev_set_promiscuity(master, -1);
100
101 if (compare_ether_addr(dev->dev_addr, master->dev_addr))
102 dev_unicast_delete(master, dev->dev_addr, ETH_ALEN);
103
57 return 0; 104 return 0;
58} 105}
59 106
@@ -77,9 +124,30 @@ static void dsa_slave_set_rx_mode(struct net_device *dev)
77 dev_unicast_sync(master, dev); 124 dev_unicast_sync(master, dev);
78} 125}
79 126
80static int dsa_slave_set_mac_address(struct net_device *dev, void *addr) 127static int dsa_slave_set_mac_address(struct net_device *dev, void *a)
81{ 128{
82 memcpy(dev->dev_addr, addr + 2, 6); 129 struct dsa_slave_priv *p = netdev_priv(dev);
130 struct net_device *master = p->parent->master_netdev;
131 struct sockaddr *addr = a;
132 int err;
133
134 if (!is_valid_ether_addr(addr->sa_data))
135 return -EADDRNOTAVAIL;
136
137 if (!(dev->flags & IFF_UP))
138 goto out;
139
140 if (compare_ether_addr(addr->sa_data, master->dev_addr)) {
141 err = dev_unicast_add(master, addr->sa_data, ETH_ALEN);
142 if (err < 0)
143 return err;
144 }
145
146 if (compare_ether_addr(dev->dev_addr, master->dev_addr))
147 dev_unicast_delete(master, dev->dev_addr, ETH_ALEN);
148
149out:
150 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
83 151
84 return 0; 152 return 0;
85} 153}
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c
index bdc0510b53b7..31866543332e 100644
--- a/net/dsa/tag_dsa.c
+++ b/net/dsa/tag_dsa.c
@@ -159,6 +159,7 @@ static int dsa_rcv(struct sk_buff *skb, struct net_device *dev,
159 159
160 skb->dev = ds->ports[source_port]; 160 skb->dev = ds->ports[source_port];
161 skb_push(skb, ETH_HLEN); 161 skb_push(skb, ETH_HLEN);
162 skb->pkt_type = PACKET_HOST;
162 skb->protocol = eth_type_trans(skb, skb->dev); 163 skb->protocol = eth_type_trans(skb, skb->dev);
163 164
164 skb->dev->last_rx = jiffies; 165 skb->dev->last_rx = jiffies;
diff --git a/net/dsa/tag_edsa.c b/net/dsa/tag_edsa.c
index f985ea993843..9f4ce55eae59 100644
--- a/net/dsa/tag_edsa.c
+++ b/net/dsa/tag_edsa.c
@@ -178,6 +178,7 @@ static int edsa_rcv(struct sk_buff *skb, struct net_device *dev,
178 178
179 skb->dev = ds->ports[source_port]; 179 skb->dev = ds->ports[source_port];
180 skb_push(skb, ETH_HLEN); 180 skb_push(skb, ETH_HLEN);
181 skb->pkt_type = PACKET_HOST;
181 skb->protocol = eth_type_trans(skb, skb->dev); 182 skb->protocol = eth_type_trans(skb, skb->dev);
182 183
183 skb->dev->last_rx = jiffies; 184 skb->dev->last_rx = jiffies;
diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c
index d3117764b2c2..efd26697e716 100644
--- a/net/dsa/tag_trailer.c
+++ b/net/dsa/tag_trailer.c
@@ -95,6 +95,7 @@ static int trailer_rcv(struct sk_buff *skb, struct net_device *dev,
95 95
96 skb->dev = ds->ports[source_port]; 96 skb->dev = ds->ports[source_port];
97 skb_push(skb, ETH_HLEN); 97 skb_push(skb, ETH_HLEN);
98 skb->pkt_type = PACKET_HOST;
98 skb->protocol = eth_type_trans(skb, skb->dev); 99 skb->protocol = eth_type_trans(skb, skb->dev);
99 100
100 skb->dev->last_rx = jiffies; 101 skb->dev->last_rx = jiffies;
diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
index 490e035c6d90..2e78f6bd9775 100644
--- a/net/ipv4/cipso_ipv4.c
+++ b/net/ipv4/cipso_ipv4.c
@@ -2063,9 +2063,10 @@ int cipso_v4_skbuff_setattr(struct sk_buff *skb,
2063 u32 opt_len; 2063 u32 opt_len;
2064 int len_delta; 2064 int len_delta;
2065 2065
2066 buf_len = cipso_v4_genopt(buf, buf_len, doi_def, secattr); 2066 ret_val = cipso_v4_genopt(buf, buf_len, doi_def, secattr);
2067 if (buf_len < 0) 2067 if (ret_val < 0)
2068 return buf_len; 2068 return ret_val;
2069 buf_len = ret_val;
2069 opt_len = (buf_len + 3) & ~3; 2070 opt_len = (buf_len + 3) & ~3;
2070 2071
2071 /* we overwrite any existing options to ensure that we have enough 2072 /* we overwrite any existing options to ensure that we have enough
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c
index 8f5a403f6f6b..a631a1f110ca 100644
--- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c
@@ -237,43 +237,45 @@ static const struct snmp_mib snmp4_net_list[] = {
237 SNMP_MIB_SENTINEL 237 SNMP_MIB_SENTINEL
238}; 238};
239 239
240static void icmpmsg_put_line(struct seq_file *seq, unsigned long *vals,
241 unsigned short *type, int count)
242{
243 int j;
244
245 if (count) {
246 seq_printf(seq, "\nIcmpMsg:");
247 for (j = 0; j < count; ++j)
248 seq_printf(seq, " %sType%u",
249 type[j] & 0x100 ? "Out" : "In",
250 type[j] & 0xff);
251 seq_printf(seq, "\nIcmpMsg:");
252 for (j = 0; j < count; ++j)
253 seq_printf(seq, " %lu", vals[j]);
254 }
255}
256
240static void icmpmsg_put(struct seq_file *seq) 257static void icmpmsg_put(struct seq_file *seq)
241{ 258{
242#define PERLINE 16 259#define PERLINE 16
243 260
244 int j, i, count; 261 int i, count;
245 static int out[PERLINE]; 262 unsigned short type[PERLINE];
263 unsigned long vals[PERLINE], val;
246 struct net *net = seq->private; 264 struct net *net = seq->private;
247 265
248 count = 0; 266 count = 0;
249 for (i = 0; i < ICMPMSG_MIB_MAX; i++) { 267 for (i = 0; i < ICMPMSG_MIB_MAX; i++) {
250 268 val = snmp_fold_field((void **) net->mib.icmpmsg_statistics, i);
251 if (snmp_fold_field((void **) net->mib.icmpmsg_statistics, i)) 269 if (val) {
252 out[count++] = i; 270 type[count] = i;
253 if (count < PERLINE) 271 vals[count++] = val;
254 continue; 272 }
255 273 if (count == PERLINE) {
256 seq_printf(seq, "\nIcmpMsg:"); 274 icmpmsg_put_line(seq, vals, type, count);
257 for (j = 0; j < PERLINE; ++j) 275 count = 0;
258 seq_printf(seq, " %sType%u", i & 0x100 ? "Out" : "In", 276 }
259 i & 0xff);
260 seq_printf(seq, "\nIcmpMsg: ");
261 for (j = 0; j < PERLINE; ++j)
262 seq_printf(seq, " %lu",
263 snmp_fold_field((void **) net->mib.icmpmsg_statistics,
264 out[j]));
265 seq_putc(seq, '\n');
266 }
267 if (count) {
268 seq_printf(seq, "\nIcmpMsg:");
269 for (j = 0; j < count; ++j)
270 seq_printf(seq, " %sType%u", out[j] & 0x100 ? "Out" :
271 "In", out[j] & 0xff);
272 seq_printf(seq, "\nIcmpMsg:");
273 for (j = 0; j < count; ++j)
274 seq_printf(seq, " %lu", snmp_fold_field((void **)
275 net->mib.icmpmsg_statistics, out[j]));
276 } 277 }
278 icmpmsg_put_line(seq, vals, type, count);
277 279
278#undef PERLINE 280#undef PERLINE
279} 281}
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index eccb7165a80c..c5aca0bb116a 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1374,8 +1374,7 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
1374 sk->sk_state == TCP_CLOSE || 1374 sk->sk_state == TCP_CLOSE ||
1375 (sk->sk_shutdown & RCV_SHUTDOWN) || 1375 (sk->sk_shutdown & RCV_SHUTDOWN) ||
1376 !timeo || 1376 !timeo ||
1377 signal_pending(current) || 1377 signal_pending(current))
1378 (flags & MSG_PEEK))
1379 break; 1378 break;
1380 } else { 1379 } else {
1381 if (sock_flag(sk, SOCK_DONE)) 1380 if (sock_flag(sk, SOCK_DONE))
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index e4c5ac9fe89b..ba85d8831893 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2279,6 +2279,11 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
2279 } 2279 }
2280 2280
2281 memset(&opts, 0, sizeof(opts)); 2281 memset(&opts, 0, sizeof(opts));
2282#ifdef CONFIG_SYN_COOKIES
2283 if (unlikely(req->cookie_ts))
2284 TCP_SKB_CB(skb)->when = cookie_init_timestamp(req);
2285 else
2286#endif
2282 TCP_SKB_CB(skb)->when = tcp_time_stamp; 2287 TCP_SKB_CB(skb)->when = tcp_time_stamp;
2283 tcp_header_size = tcp_synack_options(sk, req, mss, 2288 tcp_header_size = tcp_synack_options(sk, req, mss,
2284 skb, &opts, &md5) + 2289 skb, &opts, &md5) +
@@ -2304,11 +2309,6 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
2304 2309
2305 /* RFC1323: The window in SYN & SYN/ACK segments is never scaled. */ 2310 /* RFC1323: The window in SYN & SYN/ACK segments is never scaled. */
2306 th->window = htons(min(req->rcv_wnd, 65535U)); 2311 th->window = htons(min(req->rcv_wnd, 65535U));
2307#ifdef CONFIG_SYN_COOKIES
2308 if (unlikely(req->cookie_ts))
2309 TCP_SKB_CB(skb)->when = cookie_init_timestamp(req);
2310 else
2311#endif
2312 tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location); 2312 tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location);
2313 th->doff = (tcp_header_size >> 2); 2313 th->doff = (tcp_header_size >> 2);
2314 TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS); 2314 TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS);
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 2095abc3caba..cf02701ced48 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -284,7 +284,7 @@ struct sock *udp4_lib_lookup(struct net *net, __be32 saddr, __be16 sport,
284} 284}
285EXPORT_SYMBOL_GPL(udp4_lib_lookup); 285EXPORT_SYMBOL_GPL(udp4_lib_lookup);
286 286
287static inline struct sock *udp_v4_mcast_next(struct sock *sk, 287static inline struct sock *udp_v4_mcast_next(struct net *net, struct sock *sk,
288 __be16 loc_port, __be32 loc_addr, 288 __be16 loc_port, __be32 loc_addr,
289 __be16 rmt_port, __be32 rmt_addr, 289 __be16 rmt_port, __be32 rmt_addr,
290 int dif) 290 int dif)
@@ -296,7 +296,8 @@ static inline struct sock *udp_v4_mcast_next(struct sock *sk,
296 sk_for_each_from(s, node) { 296 sk_for_each_from(s, node) {
297 struct inet_sock *inet = inet_sk(s); 297 struct inet_sock *inet = inet_sk(s);
298 298
299 if (s->sk_hash != hnum || 299 if (!net_eq(sock_net(s), net) ||
300 s->sk_hash != hnum ||
300 (inet->daddr && inet->daddr != rmt_addr) || 301 (inet->daddr && inet->daddr != rmt_addr) ||
301 (inet->dport != rmt_port && inet->dport) || 302 (inet->dport != rmt_port && inet->dport) ||
302 (inet->rcv_saddr && inet->rcv_saddr != loc_addr) || 303 (inet->rcv_saddr && inet->rcv_saddr != loc_addr) ||
@@ -1079,15 +1080,16 @@ static int __udp4_lib_mcast_deliver(struct net *net, struct sk_buff *skb,
1079 read_lock(&udp_hash_lock); 1080 read_lock(&udp_hash_lock);
1080 sk = sk_head(&udptable[udp_hashfn(net, ntohs(uh->dest))]); 1081 sk = sk_head(&udptable[udp_hashfn(net, ntohs(uh->dest))]);
1081 dif = skb->dev->ifindex; 1082 dif = skb->dev->ifindex;
1082 sk = udp_v4_mcast_next(sk, uh->dest, daddr, uh->source, saddr, dif); 1083 sk = udp_v4_mcast_next(net, sk, uh->dest, daddr, uh->source, saddr, dif);
1083 if (sk) { 1084 if (sk) {
1084 struct sock *sknext = NULL; 1085 struct sock *sknext = NULL;
1085 1086
1086 do { 1087 do {
1087 struct sk_buff *skb1 = skb; 1088 struct sk_buff *skb1 = skb;
1088 1089
1089 sknext = udp_v4_mcast_next(sk_next(sk), uh->dest, daddr, 1090 sknext = udp_v4_mcast_next(net, sk_next(sk), uh->dest,
1090 uh->source, saddr, dif); 1091 daddr, uh->source, saddr,
1092 dif);
1091 if (sknext) 1093 if (sknext)
1092 skb1 = skb_clone(skb, GFP_ATOMIC); 1094 skb1 = skb_clone(skb, GFP_ATOMIC);
1093 1095
diff --git a/net/ipv4/xfrm4_state.c b/net/ipv4/xfrm4_state.c
index 07735ed280d7..55dc6beab9aa 100644
--- a/net/ipv4/xfrm4_state.c
+++ b/net/ipv4/xfrm4_state.c
@@ -33,6 +33,7 @@ __xfrm4_init_tempsel(struct xfrm_state *x, struct flowi *fl,
33 x->sel.dport_mask = htons(0xffff); 33 x->sel.dport_mask = htons(0xffff);
34 x->sel.sport = xfrm_flowi_sport(fl); 34 x->sel.sport = xfrm_flowi_sport(fl);
35 x->sel.sport_mask = htons(0xffff); 35 x->sel.sport_mask = htons(0xffff);
36 x->sel.family = AF_INET;
36 x->sel.prefixlen_d = 32; 37 x->sel.prefixlen_d = 32;
37 x->sel.prefixlen_s = 32; 38 x->sel.prefixlen_s = 32;
38 x->sel.proto = fl->proto; 39 x->sel.proto = fl->proto;
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index eea9542728ca..d9da5eb9dcb2 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2483,8 +2483,10 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
2483 if (!idev && dev->mtu >= IPV6_MIN_MTU) 2483 if (!idev && dev->mtu >= IPV6_MIN_MTU)
2484 idev = ipv6_add_dev(dev); 2484 idev = ipv6_add_dev(dev);
2485 2485
2486 if (idev) 2486 if (idev) {
2487 idev->if_flags |= IF_READY; 2487 idev->if_flags |= IF_READY;
2488 run_pending = 1;
2489 }
2488 } else { 2490 } else {
2489 if (!addrconf_qdisc_ok(dev)) { 2491 if (!addrconf_qdisc_ok(dev)) {
2490 /* device is still not ready. */ 2492 /* device is still not ready. */
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index 182f8a177e7f..52a7eb0e2c2c 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -981,14 +981,15 @@ int __init ip6_mr_init(void)
981 goto proc_cache_fail; 981 goto proc_cache_fail;
982#endif 982#endif
983 return 0; 983 return 0;
984reg_notif_fail:
985 kmem_cache_destroy(mrt_cachep);
986#ifdef CONFIG_PROC_FS 984#ifdef CONFIG_PROC_FS
987proc_vif_fail:
988 unregister_netdevice_notifier(&ip6_mr_notifier);
989proc_cache_fail: 985proc_cache_fail:
990 proc_net_remove(&init_net, "ip6_mr_vif"); 986 proc_net_remove(&init_net, "ip6_mr_vif");
987proc_vif_fail:
988 unregister_netdevice_notifier(&ip6_mr_notifier);
991#endif 989#endif
990reg_notif_fail:
991 del_timer(&ipmr_expire_timer);
992 kmem_cache_destroy(mrt_cachep);
992 return err; 993 return err;
993} 994}
994 995
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index e51da8c092fa..8b48512ebf6a 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -138,6 +138,7 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,
138 int peeked; 138 int peeked;
139 int err; 139 int err;
140 int is_udplite = IS_UDPLITE(sk); 140 int is_udplite = IS_UDPLITE(sk);
141 int is_udp4;
141 142
142 if (addr_len) 143 if (addr_len)
143 *addr_len=sizeof(struct sockaddr_in6); 144 *addr_len=sizeof(struct sockaddr_in6);
@@ -158,6 +159,8 @@ try_again:
158 else if (copied < ulen) 159 else if (copied < ulen)
159 msg->msg_flags |= MSG_TRUNC; 160 msg->msg_flags |= MSG_TRUNC;
160 161
162 is_udp4 = (skb->protocol == htons(ETH_P_IP));
163
161 /* 164 /*
162 * If checksum is needed at all, try to do it while copying the 165 * If checksum is needed at all, try to do it while copying the
163 * data. If the data is truncated, or if we only want a partial 166 * data. If the data is truncated, or if we only want a partial
@@ -180,9 +183,14 @@ try_again:
180 if (err) 183 if (err)
181 goto out_free; 184 goto out_free;
182 185
183 if (!peeked) 186 if (!peeked) {
184 UDP6_INC_STATS_USER(sock_net(sk), 187 if (is_udp4)
185 UDP_MIB_INDATAGRAMS, is_udplite); 188 UDP_INC_STATS_USER(sock_net(sk),
189 UDP_MIB_INDATAGRAMS, is_udplite);
190 else
191 UDP6_INC_STATS_USER(sock_net(sk),
192 UDP_MIB_INDATAGRAMS, is_udplite);
193 }
186 194
187 sock_recv_timestamp(msg, sk, skb); 195 sock_recv_timestamp(msg, sk, skb);
188 196
@@ -196,7 +204,7 @@ try_again:
196 sin6->sin6_flowinfo = 0; 204 sin6->sin6_flowinfo = 0;
197 sin6->sin6_scope_id = 0; 205 sin6->sin6_scope_id = 0;
198 206
199 if (skb->protocol == htons(ETH_P_IP)) 207 if (is_udp4)
200 ipv6_addr_set(&sin6->sin6_addr, 0, 0, 208 ipv6_addr_set(&sin6->sin6_addr, 0, 0,
201 htonl(0xffff), ip_hdr(skb)->saddr); 209 htonl(0xffff), ip_hdr(skb)->saddr);
202 else { 210 else {
@@ -207,7 +215,7 @@ try_again:
207 } 215 }
208 216
209 } 217 }
210 if (skb->protocol == htons(ETH_P_IP)) { 218 if (is_udp4) {
211 if (inet->cmsg_flags) 219 if (inet->cmsg_flags)
212 ip_cmsg_recv(msg, skb); 220 ip_cmsg_recv(msg, skb);
213 } else { 221 } else {
@@ -228,8 +236,14 @@ out:
228 236
229csum_copy_err: 237csum_copy_err:
230 lock_sock(sk); 238 lock_sock(sk);
231 if (!skb_kill_datagram(sk, skb, flags)) 239 if (!skb_kill_datagram(sk, skb, flags)) {
232 UDP6_INC_STATS_USER(sock_net(sk), UDP_MIB_INERRORS, is_udplite); 240 if (is_udp4)
241 UDP_INC_STATS_USER(sock_net(sk),
242 UDP_MIB_INERRORS, is_udplite);
243 else
244 UDP6_INC_STATS_USER(sock_net(sk),
245 UDP_MIB_INERRORS, is_udplite);
246 }
233 release_sock(sk); 247 release_sock(sk);
234 248
235 if (flags & MSG_DONTWAIT) 249 if (flags & MSG_DONTWAIT)
@@ -328,7 +342,7 @@ drop:
328 return -1; 342 return -1;
329} 343}
330 344
331static struct sock *udp_v6_mcast_next(struct sock *sk, 345static struct sock *udp_v6_mcast_next(struct net *net, struct sock *sk,
332 __be16 loc_port, struct in6_addr *loc_addr, 346 __be16 loc_port, struct in6_addr *loc_addr,
333 __be16 rmt_port, struct in6_addr *rmt_addr, 347 __be16 rmt_port, struct in6_addr *rmt_addr,
334 int dif) 348 int dif)
@@ -340,7 +354,7 @@ static struct sock *udp_v6_mcast_next(struct sock *sk,
340 sk_for_each_from(s, node) { 354 sk_for_each_from(s, node) {
341 struct inet_sock *inet = inet_sk(s); 355 struct inet_sock *inet = inet_sk(s);
342 356
343 if (sock_net(s) != sock_net(sk)) 357 if (!net_eq(sock_net(s), net))
344 continue; 358 continue;
345 359
346 if (s->sk_hash == num && s->sk_family == PF_INET6) { 360 if (s->sk_hash == num && s->sk_family == PF_INET6) {
@@ -383,14 +397,14 @@ static int __udp6_lib_mcast_deliver(struct net *net, struct sk_buff *skb,
383 read_lock(&udp_hash_lock); 397 read_lock(&udp_hash_lock);
384 sk = sk_head(&udptable[udp_hashfn(net, ntohs(uh->dest))]); 398 sk = sk_head(&udptable[udp_hashfn(net, ntohs(uh->dest))]);
385 dif = inet6_iif(skb); 399 dif = inet6_iif(skb);
386 sk = udp_v6_mcast_next(sk, uh->dest, daddr, uh->source, saddr, dif); 400 sk = udp_v6_mcast_next(net, sk, uh->dest, daddr, uh->source, saddr, dif);
387 if (!sk) { 401 if (!sk) {
388 kfree_skb(skb); 402 kfree_skb(skb);
389 goto out; 403 goto out;
390 } 404 }
391 405
392 sk2 = sk; 406 sk2 = sk;
393 while ((sk2 = udp_v6_mcast_next(sk_next(sk2), uh->dest, daddr, 407 while ((sk2 = udp_v6_mcast_next(net, sk_next(sk2), uh->dest, daddr,
394 uh->source, saddr, dif))) { 408 uh->source, saddr, dif))) {
395 struct sk_buff *buff = skb_clone(skb, GFP_ATOMIC); 409 struct sk_buff *buff = skb_clone(skb, GFP_ATOMIC);
396 if (buff) { 410 if (buff) {
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
index 89884a4f23aa..60c78cfc2737 100644
--- a/net/ipv6/xfrm6_state.c
+++ b/net/ipv6/xfrm6_state.c
@@ -34,6 +34,7 @@ __xfrm6_init_tempsel(struct xfrm_state *x, struct flowi *fl,
34 x->sel.dport_mask = htons(0xffff); 34 x->sel.dport_mask = htons(0xffff);
35 x->sel.sport = xfrm_flowi_sport(fl); 35 x->sel.sport = xfrm_flowi_sport(fl);
36 x->sel.sport_mask = htons(0xffff); 36 x->sel.sport_mask = htons(0xffff);
37 x->sel.family = AF_INET6;
37 x->sel.prefixlen_d = 128; 38 x->sel.prefixlen_d = 128;
38 x->sel.prefixlen_s = 128; 39 x->sel.prefixlen_s = 128;
39 x->sel.proto = fl->proto; 40 x->sel.proto = fl->proto;
diff --git a/net/key/af_key.c b/net/key/af_key.c
index e55e0441e4d9..5b22e011653b 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -2075,7 +2075,6 @@ static int pfkey_xfrm_policy2msg(struct sk_buff *skb, struct xfrm_policy *xp, in
2075 req_size += socklen * 2; 2075 req_size += socklen * 2;
2076 } else { 2076 } else {
2077 size -= 2*socklen; 2077 size -= 2*socklen;
2078 socklen = 0;
2079 } 2078 }
2080 rq = (void*)skb_put(skb, req_size); 2079 rq = (void*)skb_put(skb, req_size);
2081 pol->sadb_x_policy_len += req_size/8; 2080 pol->sadb_x_policy_len += req_size/8;
@@ -3189,6 +3188,7 @@ static struct xfrm_policy *pfkey_compile_policy(struct sock *sk, int opt,
3189 return xp; 3188 return xp;
3190 3189
3191out: 3190out:
3191 xp->walk.dead = 1;
3192 xfrm_policy_destroy(xp); 3192 xfrm_policy_destroy(xp);
3193 return NULL; 3193 return NULL;
3194} 3194}
diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
index 189d0bafa91a..b85c4f27b361 100644
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -199,7 +199,7 @@ static ssize_t sta_agg_status_write(struct file *file,
199 /* toggle Rx aggregation command */ 199 /* toggle Rx aggregation command */
200 tid_num = tid_num - 100; 200 tid_num = tid_num - 100;
201 if (tid_static_rx[tid_num] == 1) { 201 if (tid_static_rx[tid_num] == 1) {
202 strcpy(state, "off "); 202 strcpy(state, "off");
203 ieee80211_sta_stop_rx_ba_session(sta->sdata, da, tid_num, 0, 203 ieee80211_sta_stop_rx_ba_session(sta->sdata, da, tid_num, 0,
204 WLAN_REASON_QSTA_REQUIRE_SETUP); 204 WLAN_REASON_QSTA_REQUIRE_SETUP);
205 sta->ampdu_mlme.tid_state_rx[tid_num] |= 205 sta->ampdu_mlme.tid_state_rx[tid_num] |=
diff --git a/net/mac80211/rc80211_minstrel_debugfs.c b/net/mac80211/rc80211_minstrel_debugfs.c
index 0b024cd6b809..98f480708050 100644
--- a/net/mac80211/rc80211_minstrel_debugfs.c
+++ b/net/mac80211/rc80211_minstrel_debugfs.c
@@ -94,8 +94,8 @@ minstrel_stats_open(struct inode *inode, struct file *file)
94 prob / 10, prob % 10, 94 prob / 10, prob % 10,
95 mr->last_success, 95 mr->last_success,
96 mr->last_attempts, 96 mr->last_attempts,
97 mr->succ_hist, 97 (unsigned long long)mr->succ_hist,
98 mr->att_hist); 98 (unsigned long long)mr->att_hist);
99 } 99 }
100 p += sprintf(p, "\nTotal packet count:: ideal %d " 100 p += sprintf(p, "\nTotal packet count:: ideal %d "
101 "lookaround %d\n\n", 101 "lookaround %d\n\n",
@@ -106,7 +106,7 @@ minstrel_stats_open(struct inode *inode, struct file *file)
106 return 0; 106 return 0;
107} 107}
108 108
109static int 109static ssize_t
110minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *o) 110minstrel_stats_read(struct file *file, char __user *buf, size_t len, loff_t *o)
111{ 111{
112 struct minstrel_stats_info *ms; 112 struct minstrel_stats_info *ms;
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
index 02ddc2b3ce2e..e90d52f199bc 100644
--- a/net/netfilter/ipvs/ip_vs_xmit.c
+++ b/net/netfilter/ipvs/ip_vs_xmit.c
@@ -713,7 +713,8 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
713 iph = ipv6_hdr(skb); 713 iph = ipv6_hdr(skb);
714 iph->version = 6; 714 iph->version = 6;
715 iph->nexthdr = IPPROTO_IPV6; 715 iph->nexthdr = IPPROTO_IPV6;
716 iph->payload_len = old_iph->payload_len + sizeof(old_iph); 716 iph->payload_len = old_iph->payload_len;
717 be16_add_cpu(&iph->payload_len, sizeof(*old_iph));
717 iph->priority = old_iph->priority; 718 iph->priority = old_iph->priority;
718 memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl)); 719 memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl));
719 iph->daddr = rt->rt6i_dst.addr; 720 iph->daddr = rt->rt6i_dst.addr;
diff --git a/net/netfilter/nf_conntrack_helper.c b/net/netfilter/nf_conntrack_helper.c
index 9c06b9f86ad4..c39b6a994133 100644
--- a/net/netfilter/nf_conntrack_helper.c
+++ b/net/netfilter/nf_conntrack_helper.c
@@ -21,6 +21,7 @@
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/netdevice.h> 22#include <linux/netdevice.h>
23#include <linux/rculist.h> 23#include <linux/rculist.h>
24#include <linux/rtnetlink.h>
24 25
25#include <net/netfilter/nf_conntrack.h> 26#include <net/netfilter/nf_conntrack.h>
26#include <net/netfilter/nf_conntrack_l3proto.h> 27#include <net/netfilter/nf_conntrack_l3proto.h>
@@ -167,10 +168,12 @@ void nf_conntrack_helper_unregister(struct nf_conntrack_helper *me)
167 */ 168 */
168 synchronize_rcu(); 169 synchronize_rcu();
169 170
171 rtnl_lock();
170 spin_lock_bh(&nf_conntrack_lock); 172 spin_lock_bh(&nf_conntrack_lock);
171 for_each_net(net) 173 for_each_net(net)
172 __nf_conntrack_helper_unregister(me, net); 174 __nf_conntrack_helper_unregister(me, net);
173 spin_unlock_bh(&nf_conntrack_lock); 175 spin_unlock_bh(&nf_conntrack_lock);
176 rtnl_unlock();
174} 177}
175EXPORT_SYMBOL_GPL(nf_conntrack_helper_unregister); 178EXPORT_SYMBOL_GPL(nf_conntrack_helper_unregister);
176 179
diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c
index a59a307e685d..592d73344d46 100644
--- a/net/netfilter/nf_conntrack_proto.c
+++ b/net/netfilter/nf_conntrack_proto.c
@@ -22,6 +22,7 @@
22#include <linux/notifier.h> 22#include <linux/notifier.h>
23#include <linux/kernel.h> 23#include <linux/kernel.h>
24#include <linux/netdevice.h> 24#include <linux/netdevice.h>
25#include <linux/rtnetlink.h>
25 26
26#include <net/netfilter/nf_conntrack.h> 27#include <net/netfilter/nf_conntrack.h>
27#include <net/netfilter/nf_conntrack_l3proto.h> 28#include <net/netfilter/nf_conntrack_l3proto.h>
@@ -221,8 +222,10 @@ void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto)
221 synchronize_rcu(); 222 synchronize_rcu();
222 223
223 /* Remove all contrack entries for this protocol */ 224 /* Remove all contrack entries for this protocol */
225 rtnl_lock();
224 for_each_net(net) 226 for_each_net(net)
225 nf_ct_iterate_cleanup(net, kill_l3proto, proto); 227 nf_ct_iterate_cleanup(net, kill_l3proto, proto);
228 rtnl_unlock();
226} 229}
227EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); 230EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister);
228 231
@@ -333,8 +336,10 @@ void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto)
333 synchronize_rcu(); 336 synchronize_rcu();
334 337
335 /* Remove all contrack entries for this protocol */ 338 /* Remove all contrack entries for this protocol */
339 rtnl_lock();
336 for_each_net(net) 340 for_each_net(net)
337 nf_ct_iterate_cleanup(net, kill_l4proto, l4proto); 341 nf_ct_iterate_cleanup(net, kill_l4proto, l4proto);
342 rtnl_unlock();
338} 343}
339EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister); 344EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister);
340 345
diff --git a/net/netfilter/nf_conntrack_proto_gre.c b/net/netfilter/nf_conntrack_proto_gre.c
index a2cdbcbf64c4..4ab62ad85dd4 100644
--- a/net/netfilter/nf_conntrack_proto_gre.c
+++ b/net/netfilter/nf_conntrack_proto_gre.c
@@ -335,7 +335,7 @@ static int __init nf_ct_proto_gre_init(void)
335 rv = nf_conntrack_l4proto_register(&nf_conntrack_l4proto_gre4); 335 rv = nf_conntrack_l4proto_register(&nf_conntrack_l4proto_gre4);
336 if (rv < 0) 336 if (rv < 0)
337 return rv; 337 return rv;
338 rv = register_pernet_gen_device(&proto_gre_net_id, &proto_gre_net_ops); 338 rv = register_pernet_gen_subsys(&proto_gre_net_id, &proto_gre_net_ops);
339 if (rv < 0) 339 if (rv < 0)
340 nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_gre4); 340 nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_gre4);
341 return rv; 341 return rv;
@@ -344,7 +344,7 @@ static int __init nf_ct_proto_gre_init(void)
344static void nf_ct_proto_gre_fini(void) 344static void nf_ct_proto_gre_fini(void)
345{ 345{
346 nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_gre4); 346 nf_conntrack_l4proto_unregister(&nf_conntrack_l4proto_gre4);
347 unregister_pernet_gen_device(proto_gre_net_id, &proto_gre_net_ops); 347 unregister_pernet_gen_subsys(proto_gre_net_id, &proto_gre_net_ops);
348} 348}
349 349
350module_init(nf_ct_proto_gre_init); 350module_init(nf_ct_proto_gre_init);
diff --git a/net/netlabel/netlabel_addrlist.c b/net/netlabel/netlabel_addrlist.c
index b0925a303353..249f6b92f153 100644
--- a/net/netlabel/netlabel_addrlist.c
+++ b/net/netlabel/netlabel_addrlist.c
@@ -315,6 +315,7 @@ struct netlbl_af6list *netlbl_af6list_remove(const struct in6_addr *addr,
315 * Audit Helper Functions 315 * Audit Helper Functions
316 */ 316 */
317 317
318#ifdef CONFIG_AUDIT
318/** 319/**
319 * netlbl_af4list_audit_addr - Audit an IPv4 address 320 * netlbl_af4list_audit_addr - Audit an IPv4 address
320 * @audit_buf: audit buffer 321 * @audit_buf: audit buffer
@@ -386,3 +387,4 @@ void netlbl_af6list_audit_addr(struct audit_buffer *audit_buf,
386 } 387 }
387} 388}
388#endif /* IPv6 */ 389#endif /* IPv6 */
390#endif /* CONFIG_AUDIT */
diff --git a/net/netlabel/netlabel_addrlist.h b/net/netlabel/netlabel_addrlist.h
index 0242bead405f..07ae7fd82be1 100644
--- a/net/netlabel/netlabel_addrlist.h
+++ b/net/netlabel/netlabel_addrlist.h
@@ -120,9 +120,19 @@ struct netlbl_af4list *netlbl_af4list_search(__be32 addr,
120struct netlbl_af4list *netlbl_af4list_search_exact(__be32 addr, 120struct netlbl_af4list *netlbl_af4list_search_exact(__be32 addr,
121 __be32 mask, 121 __be32 mask,
122 struct list_head *head); 122 struct list_head *head);
123
124#ifdef CONFIG_AUDIT
123void netlbl_af4list_audit_addr(struct audit_buffer *audit_buf, 125void netlbl_af4list_audit_addr(struct audit_buffer *audit_buf,
124 int src, const char *dev, 126 int src, const char *dev,
125 __be32 addr, __be32 mask); 127 __be32 addr, __be32 mask);
128#else
129static inline void netlbl_af4list_audit_addr(struct audit_buffer *audit_buf,
130 int src, const char *dev,
131 __be32 addr, __be32 mask)
132{
133 return;
134}
135#endif
126 136
127#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 137#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
128 138
@@ -179,11 +189,23 @@ struct netlbl_af6list *netlbl_af6list_search(const struct in6_addr *addr,
179struct netlbl_af6list *netlbl_af6list_search_exact(const struct in6_addr *addr, 189struct netlbl_af6list *netlbl_af6list_search_exact(const struct in6_addr *addr,
180 const struct in6_addr *mask, 190 const struct in6_addr *mask,
181 struct list_head *head); 191 struct list_head *head);
192
193#ifdef CONFIG_AUDIT
182void netlbl_af6list_audit_addr(struct audit_buffer *audit_buf, 194void netlbl_af6list_audit_addr(struct audit_buffer *audit_buf,
183 int src, 195 int src,
184 const char *dev, 196 const char *dev,
185 const struct in6_addr *addr, 197 const struct in6_addr *addr,
186 const struct in6_addr *mask); 198 const struct in6_addr *mask);
199#else
200static inline void netlbl_af6list_audit_addr(struct audit_buffer *audit_buf,
201 int src,
202 const char *dev,
203 const struct in6_addr *addr,
204 const struct in6_addr *mask)
205{
206 return;
207}
208#endif
187#endif /* IPV6 */ 209#endif /* IPV6 */
188 210
189#endif 211#endif
diff --git a/net/netlabel/netlabel_mgmt.c b/net/netlabel/netlabel_mgmt.c
index ee769ecaa13c..0a0ef17b2a40 100644
--- a/net/netlabel/netlabel_mgmt.c
+++ b/net/netlabel/netlabel_mgmt.c
@@ -265,7 +265,7 @@ add_failure:
265static int netlbl_mgmt_listentry(struct sk_buff *skb, 265static int netlbl_mgmt_listentry(struct sk_buff *skb,
266 struct netlbl_dom_map *entry) 266 struct netlbl_dom_map *entry)
267{ 267{
268 int ret_val; 268 int ret_val = 0;
269 struct nlattr *nla_a; 269 struct nlattr *nla_a;
270 struct nlattr *nla_b; 270 struct nlattr *nla_b;
271 struct netlbl_af4list *iter4; 271 struct netlbl_af4list *iter4;
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
index b9d97effebe3..defeb7a0d502 100644
--- a/net/phonet/af_phonet.c
+++ b/net/phonet/af_phonet.c
@@ -261,6 +261,8 @@ static inline int can_respond(struct sk_buff *skb)
261 return 0; /* we are not the destination */ 261 return 0; /* we are not the destination */
262 if (ph->pn_res == PN_PREFIX && !pskb_may_pull(skb, 5)) 262 if (ph->pn_res == PN_PREFIX && !pskb_may_pull(skb, 5))
263 return 0; 263 return 0;
264 if (ph->pn_res == PN_COMMGR) /* indications */
265 return 0;
264 266
265 ph = pn_hdr(skb); /* re-acquires the pointer */ 267 ph = pn_hdr(skb); /* re-acquires the pointer */
266 pm = pn_msg(skb); 268 pm = pn_msg(skb);
@@ -309,7 +311,8 @@ static int send_reset_indications(struct sk_buff *rskb)
309 311
310 return pn_raw_send(data, sizeof(data), rskb->dev, 312 return pn_raw_send(data, sizeof(data), rskb->dev,
311 pn_object(oph->pn_sdev, 0x00), 313 pn_object(oph->pn_sdev, 0x00),
312 pn_object(oph->pn_rdev, oph->pn_robj), 0x10); 314 pn_object(oph->pn_rdev, oph->pn_robj),
315 PN_COMMGR);
313} 316}
314 317
315 318
diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
index 21124ec0a73d..bfdade72e066 100644
--- a/net/rfkill/rfkill-input.c
+++ b/net/rfkill/rfkill-input.c
@@ -256,6 +256,11 @@ static struct input_handler rfkill_handler = {
256 256
257static int __init rfkill_handler_init(void) 257static int __init rfkill_handler_init(void)
258{ 258{
259 unsigned long last_run = jiffies - msecs_to_jiffies(500);
260 rfkill_wlan.last = last_run;
261 rfkill_bt.last = last_run;
262 rfkill_uwb.last = last_run;
263 rfkill_wimax.last = last_run;
259 return input_register_handler(&rfkill_handler); 264 return input_register_handler(&rfkill_handler);
260} 265}
261 266
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c
index f949a482b007..25ba3bd57e66 100644
--- a/net/rfkill/rfkill.c
+++ b/net/rfkill/rfkill.c
@@ -603,7 +603,7 @@ static int rfkill_check_duplicity(const struct rfkill *rfkill)
603 } 603 }
604 604
605 /* 0: first switch of its kind */ 605 /* 0: first switch of its kind */
606 return test_bit(rfkill->type, seen); 606 return (test_bit(rfkill->type, seen)) ? 1 : 0;
607} 607}
608 608
609static int rfkill_add_switch(struct rfkill *rfkill) 609static int rfkill_add_switch(struct rfkill *rfkill)
diff --git a/net/socket.c b/net/socket.c
index 2b7a4b5c9b72..57550c3bcabe 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -990,7 +990,6 @@ static int sock_close(struct inode *inode, struct file *filp)
990 printk(KERN_DEBUG "sock_close: NULL inode\n"); 990 printk(KERN_DEBUG "sock_close: NULL inode\n");
991 return 0; 991 return 0;
992 } 992 }
993 sock_fasync(-1, filp, 0);
994 sock_release(SOCKET_I(inode)); 993 sock_release(SOCKET_I(inode));
995 return 0; 994 return 0;
996} 995}
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
index 436bf1b4b76c..cb216b2df666 100644
--- a/net/sunrpc/auth.c
+++ b/net/sunrpc/auth.c
@@ -228,19 +228,21 @@ static int
228rpcauth_prune_expired(struct list_head *free, int nr_to_scan) 228rpcauth_prune_expired(struct list_head *free, int nr_to_scan)
229{ 229{
230 spinlock_t *cache_lock; 230 spinlock_t *cache_lock;
231 struct rpc_cred *cred; 231 struct rpc_cred *cred, *next;
232 unsigned long expired = jiffies - RPC_AUTH_EXPIRY_MORATORIUM; 232 unsigned long expired = jiffies - RPC_AUTH_EXPIRY_MORATORIUM;
233 233
234 while (!list_empty(&cred_unused)) { 234 list_for_each_entry_safe(cred, next, &cred_unused, cr_lru) {
235 cred = list_entry(cred_unused.next, struct rpc_cred, cr_lru); 235
236 /* Enforce a 60 second garbage collection moratorium */
237 if (time_in_range(cred->cr_expire, expired, jiffies) &&
238 test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags) != 0)
239 continue;
240
236 list_del_init(&cred->cr_lru); 241 list_del_init(&cred->cr_lru);
237 number_cred_unused--; 242 number_cred_unused--;
238 if (atomic_read(&cred->cr_count) != 0) 243 if (atomic_read(&cred->cr_count) != 0)
239 continue; 244 continue;
240 /* Enforce a 5 second garbage collection moratorium */ 245
241 if (time_in_range(cred->cr_expire, expired, jiffies) &&
242 test_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags) != 0)
243 continue;
244 cache_lock = &cred->cr_auth->au_credcache->lock; 246 cache_lock = &cred->cr_auth->au_credcache->lock;
245 spin_lock(cache_lock); 247 spin_lock(cache_lock);
246 if (atomic_read(&cred->cr_count) == 0) { 248 if (atomic_read(&cred->cr_count) == 0) {
@@ -453,7 +455,7 @@ need_lock:
453 } 455 }
454 if (test_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags) == 0) 456 if (test_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags) == 0)
455 rpcauth_unhash_cred(cred); 457 rpcauth_unhash_cred(cred);
456 else if (test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags) != 0) { 458 if (test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags) != 0) {
457 cred->cr_expire = jiffies; 459 cred->cr_expire = jiffies;
458 list_add_tail(&cred->cr_lru, &cred_unused); 460 list_add_tail(&cred->cr_lru, &cred_unused);
459 number_cred_unused++; 461 number_cred_unused++;
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 9a288d5eea64..0a50361e3d83 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -249,6 +249,7 @@ struct sock_xprt {
249 void (*old_data_ready)(struct sock *, int); 249 void (*old_data_ready)(struct sock *, int);
250 void (*old_state_change)(struct sock *); 250 void (*old_state_change)(struct sock *);
251 void (*old_write_space)(struct sock *); 251 void (*old_write_space)(struct sock *);
252 void (*old_error_report)(struct sock *);
252}; 253};
253 254
254/* 255/*
@@ -698,8 +699,9 @@ static int xs_tcp_send_request(struct rpc_task *task)
698 case -EAGAIN: 699 case -EAGAIN:
699 xs_nospace(task); 700 xs_nospace(task);
700 break; 701 break;
701 case -ECONNREFUSED:
702 case -ECONNRESET: 702 case -ECONNRESET:
703 xs_tcp_shutdown(xprt);
704 case -ECONNREFUSED:
703 case -ENOTCONN: 705 case -ENOTCONN:
704 case -EPIPE: 706 case -EPIPE:
705 status = -ENOTCONN; 707 status = -ENOTCONN;
@@ -742,6 +744,22 @@ out_release:
742 xprt_release_xprt(xprt, task); 744 xprt_release_xprt(xprt, task);
743} 745}
744 746
747static void xs_save_old_callbacks(struct sock_xprt *transport, struct sock *sk)
748{
749 transport->old_data_ready = sk->sk_data_ready;
750 transport->old_state_change = sk->sk_state_change;
751 transport->old_write_space = sk->sk_write_space;
752 transport->old_error_report = sk->sk_error_report;
753}
754
755static void xs_restore_old_callbacks(struct sock_xprt *transport, struct sock *sk)
756{
757 sk->sk_data_ready = transport->old_data_ready;
758 sk->sk_state_change = transport->old_state_change;
759 sk->sk_write_space = transport->old_write_space;
760 sk->sk_error_report = transport->old_error_report;
761}
762
745/** 763/**
746 * xs_close - close a socket 764 * xs_close - close a socket
747 * @xprt: transport 765 * @xprt: transport
@@ -765,9 +783,8 @@ static void xs_close(struct rpc_xprt *xprt)
765 transport->sock = NULL; 783 transport->sock = NULL;
766 784
767 sk->sk_user_data = NULL; 785 sk->sk_user_data = NULL;
768 sk->sk_data_ready = transport->old_data_ready; 786
769 sk->sk_state_change = transport->old_state_change; 787 xs_restore_old_callbacks(transport, sk);
770 sk->sk_write_space = transport->old_write_space;
771 write_unlock_bh(&sk->sk_callback_lock); 788 write_unlock_bh(&sk->sk_callback_lock);
772 789
773 sk->sk_no_check = 0; 790 sk->sk_no_check = 0;
@@ -1180,6 +1197,28 @@ static void xs_tcp_state_change(struct sock *sk)
1180} 1197}
1181 1198
1182/** 1199/**
1200 * xs_tcp_error_report - callback mainly for catching RST events
1201 * @sk: socket
1202 */
1203static void xs_tcp_error_report(struct sock *sk)
1204{
1205 struct rpc_xprt *xprt;
1206
1207 read_lock(&sk->sk_callback_lock);
1208 if (sk->sk_err != ECONNRESET || sk->sk_state != TCP_ESTABLISHED)
1209 goto out;
1210 if (!(xprt = xprt_from_sock(sk)))
1211 goto out;
1212 dprintk("RPC: %s client %p...\n"
1213 "RPC: error %d\n",
1214 __func__, xprt, sk->sk_err);
1215
1216 xprt_force_disconnect(xprt);
1217out:
1218 read_unlock(&sk->sk_callback_lock);
1219}
1220
1221/**
1183 * xs_udp_write_space - callback invoked when socket buffer space 1222 * xs_udp_write_space - callback invoked when socket buffer space
1184 * becomes available 1223 * becomes available
1185 * @sk: socket whose state has changed 1224 * @sk: socket whose state has changed
@@ -1454,10 +1493,9 @@ static void xs_udp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock)
1454 1493
1455 write_lock_bh(&sk->sk_callback_lock); 1494 write_lock_bh(&sk->sk_callback_lock);
1456 1495
1496 xs_save_old_callbacks(transport, sk);
1497
1457 sk->sk_user_data = xprt; 1498 sk->sk_user_data = xprt;
1458 transport->old_data_ready = sk->sk_data_ready;
1459 transport->old_state_change = sk->sk_state_change;
1460 transport->old_write_space = sk->sk_write_space;
1461 sk->sk_data_ready = xs_udp_data_ready; 1499 sk->sk_data_ready = xs_udp_data_ready;
1462 sk->sk_write_space = xs_udp_write_space; 1500 sk->sk_write_space = xs_udp_write_space;
1463 sk->sk_no_check = UDP_CSUM_NORCV; 1501 sk->sk_no_check = UDP_CSUM_NORCV;
@@ -1589,13 +1627,13 @@ static int xs_tcp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock)
1589 1627
1590 write_lock_bh(&sk->sk_callback_lock); 1628 write_lock_bh(&sk->sk_callback_lock);
1591 1629
1630 xs_save_old_callbacks(transport, sk);
1631
1592 sk->sk_user_data = xprt; 1632 sk->sk_user_data = xprt;
1593 transport->old_data_ready = sk->sk_data_ready;
1594 transport->old_state_change = sk->sk_state_change;
1595 transport->old_write_space = sk->sk_write_space;
1596 sk->sk_data_ready = xs_tcp_data_ready; 1633 sk->sk_data_ready = xs_tcp_data_ready;
1597 sk->sk_state_change = xs_tcp_state_change; 1634 sk->sk_state_change = xs_tcp_state_change;
1598 sk->sk_write_space = xs_tcp_write_space; 1635 sk->sk_write_space = xs_tcp_write_space;
1636 sk->sk_error_report = xs_tcp_error_report;
1599 sk->sk_allocation = GFP_ATOMIC; 1637 sk->sk_allocation = GFP_ATOMIC;
1600 1638
1601 /* socket options */ 1639 /* socket options */
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index dc504d308ec0..eb90f77bb0e2 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1302,14 +1302,23 @@ static void unix_destruct_fds(struct sk_buff *skb)
1302 sock_wfree(skb); 1302 sock_wfree(skb);
1303} 1303}
1304 1304
1305static void unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb) 1305static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
1306{ 1306{
1307 int i; 1307 int i;
1308
1309 /*
1310 * Need to duplicate file references for the sake of garbage
1311 * collection. Otherwise a socket in the fps might become a
1312 * candidate for GC while the skb is not yet queued.
1313 */
1314 UNIXCB(skb).fp = scm_fp_dup(scm->fp);
1315 if (!UNIXCB(skb).fp)
1316 return -ENOMEM;
1317
1308 for (i=scm->fp->count-1; i>=0; i--) 1318 for (i=scm->fp->count-1; i>=0; i--)
1309 unix_inflight(scm->fp->fp[i]); 1319 unix_inflight(scm->fp->fp[i]);
1310 UNIXCB(skb).fp = scm->fp;
1311 skb->destructor = unix_destruct_fds; 1320 skb->destructor = unix_destruct_fds;
1312 scm->fp = NULL; 1321 return 0;
1313} 1322}
1314 1323
1315/* 1324/*
@@ -1368,8 +1377,11 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
1368 goto out; 1377 goto out;
1369 1378
1370 memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred)); 1379 memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred));
1371 if (siocb->scm->fp) 1380 if (siocb->scm->fp) {
1372 unix_attach_fds(siocb->scm, skb); 1381 err = unix_attach_fds(siocb->scm, skb);
1382 if (err)
1383 goto out_free;
1384 }
1373 unix_get_secdata(siocb->scm, skb); 1385 unix_get_secdata(siocb->scm, skb);
1374 1386
1375 skb_reset_transport_header(skb); 1387 skb_reset_transport_header(skb);
@@ -1538,8 +1550,13 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
1538 size = min_t(int, size, skb_tailroom(skb)); 1550 size = min_t(int, size, skb_tailroom(skb));
1539 1551
1540 memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred)); 1552 memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred));
1541 if (siocb->scm->fp) 1553 if (siocb->scm->fp) {
1542 unix_attach_fds(siocb->scm, skb); 1554 err = unix_attach_fds(siocb->scm, skb);
1555 if (err) {
1556 kfree_skb(skb);
1557 goto out_err;
1558 }
1559 }
1543 1560
1544 if ((err = memcpy_fromiovec(skb_put(skb,size), msg->msg_iov, size)) != 0) { 1561 if ((err = memcpy_fromiovec(skb_put(skb,size), msg->msg_iov, size)) != 0) {
1545 kfree_skb(skb); 1562 kfree_skb(skb);
@@ -2213,7 +2230,7 @@ static int unix_net_init(struct net *net)
2213#endif 2230#endif
2214 error = 0; 2231 error = 0;
2215out: 2232out:
2216 return 0; 2233 return error;
2217} 2234}
2218 2235
2219static void unix_net_exit(struct net *net) 2236static void unix_net_exit(struct net *net)
diff --git a/net/unix/garbage.c b/net/unix/garbage.c
index 2a27b84f740b..6d4a9a8de5ef 100644
--- a/net/unix/garbage.c
+++ b/net/unix/garbage.c
@@ -186,8 +186,17 @@ static void scan_inflight(struct sock *x, void (*func)(struct unix_sock *),
186 */ 186 */
187 struct sock *sk = unix_get_socket(*fp++); 187 struct sock *sk = unix_get_socket(*fp++);
188 if (sk) { 188 if (sk) {
189 hit = true; 189 struct unix_sock *u = unix_sk(sk);
190 func(unix_sk(sk)); 190
191 /*
192 * Ignore non-candidates, they could
193 * have been added to the queues after
194 * starting the garbage collection
195 */
196 if (u->gc_candidate) {
197 hit = true;
198 func(u);
199 }
191 } 200 }
192 } 201 }
193 if (hit && hitlist != NULL) { 202 if (hit && hitlist != NULL) {
@@ -249,11 +258,11 @@ static void inc_inflight_move_tail(struct unix_sock *u)
249{ 258{
250 atomic_long_inc(&u->inflight); 259 atomic_long_inc(&u->inflight);
251 /* 260 /*
252 * If this is still a candidate, move it to the end of the 261 * If this still might be part of a cycle, move it to the end
253 * list, so that it's checked even if it was already passed 262 * of the list, so that it's checked even if it was already
254 * over 263 * passed over
255 */ 264 */
256 if (u->gc_candidate) 265 if (u->gc_maybe_cycle)
257 list_move_tail(&u->link, &gc_candidates); 266 list_move_tail(&u->link, &gc_candidates);
258} 267}
259 268
@@ -267,6 +276,7 @@ void unix_gc(void)
267 struct unix_sock *next; 276 struct unix_sock *next;
268 struct sk_buff_head hitlist; 277 struct sk_buff_head hitlist;
269 struct list_head cursor; 278 struct list_head cursor;
279 LIST_HEAD(not_cycle_list);
270 280
271 spin_lock(&unix_gc_lock); 281 spin_lock(&unix_gc_lock);
272 282
@@ -282,10 +292,14 @@ void unix_gc(void)
282 * 292 *
283 * Holding unix_gc_lock will protect these candidates from 293 * Holding unix_gc_lock will protect these candidates from
284 * being detached, and hence from gaining an external 294 * being detached, and hence from gaining an external
285 * reference. This also means, that since there are no 295 * reference. Since there are no possible receivers, all
286 * possible receivers, the receive queues of these sockets are 296 * buffers currently on the candidates' queues stay there
287 * static during the GC, even though the dequeue is done 297 * during the garbage collection.
288 * before the detach without atomicity guarantees. 298 *
299 * We also know that no new candidate can be added onto the
300 * receive queues. Other, non candidate sockets _can_ be
301 * added to queue, so we must make sure only to touch
302 * candidates.
289 */ 303 */
290 list_for_each_entry_safe(u, next, &gc_inflight_list, link) { 304 list_for_each_entry_safe(u, next, &gc_inflight_list, link) {
291 long total_refs; 305 long total_refs;
@@ -299,6 +313,7 @@ void unix_gc(void)
299 if (total_refs == inflight_refs) { 313 if (total_refs == inflight_refs) {
300 list_move_tail(&u->link, &gc_candidates); 314 list_move_tail(&u->link, &gc_candidates);
301 u->gc_candidate = 1; 315 u->gc_candidate = 1;
316 u->gc_maybe_cycle = 1;
302 } 317 }
303 } 318 }
304 319
@@ -325,14 +340,24 @@ void unix_gc(void)
325 list_move(&cursor, &u->link); 340 list_move(&cursor, &u->link);
326 341
327 if (atomic_long_read(&u->inflight) > 0) { 342 if (atomic_long_read(&u->inflight) > 0) {
328 list_move_tail(&u->link, &gc_inflight_list); 343 list_move_tail(&u->link, &not_cycle_list);
329 u->gc_candidate = 0; 344 u->gc_maybe_cycle = 0;
330 scan_children(&u->sk, inc_inflight_move_tail, NULL); 345 scan_children(&u->sk, inc_inflight_move_tail, NULL);
331 } 346 }
332 } 347 }
333 list_del(&cursor); 348 list_del(&cursor);
334 349
335 /* 350 /*
351 * not_cycle_list contains those sockets which do not make up a
352 * cycle. Restore these to the inflight list.
353 */
354 while (!list_empty(&not_cycle_list)) {
355 u = list_entry(not_cycle_list.next, struct unix_sock, link);
356 u->gc_candidate = 0;
357 list_move_tail(&u->link, &gc_inflight_list);
358 }
359
360 /*
336 * Now gc_candidates contains only garbage. Restore original 361 * Now gc_candidates contains only garbage. Restore original
337 * inflight counters for these as well, and remove the skbuffs 362 * inflight counters for these as well, and remove the skbuffs
338 * which are creating the cycle(s). 363 * which are creating the cycle(s).
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 832b47c1de80..058f04f54b90 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -315,9 +315,9 @@ static void xfrm_policy_kill(struct xfrm_policy *policy)
315 return; 315 return;
316 } 316 }
317 317
318 spin_lock(&xfrm_policy_gc_lock); 318 spin_lock_bh(&xfrm_policy_gc_lock);
319 hlist_add_head(&policy->bydst, &xfrm_policy_gc_list); 319 hlist_add_head(&policy->bydst, &xfrm_policy_gc_list);
320 spin_unlock(&xfrm_policy_gc_lock); 320 spin_unlock_bh(&xfrm_policy_gc_lock);
321 321
322 schedule_work(&xfrm_policy_gc_work); 322 schedule_work(&xfrm_policy_gc_work);
323} 323}
@@ -1251,6 +1251,8 @@ xfrm_tmpl_resolve_one(struct xfrm_policy *policy, struct flowi *fl,
1251 -EINVAL : -EAGAIN); 1251 -EINVAL : -EAGAIN);
1252 xfrm_state_put(x); 1252 xfrm_state_put(x);
1253 } 1253 }
1254 else if (error == -ESRCH)
1255 error = -EAGAIN;
1254 1256
1255 if (!tmpl->optional) 1257 if (!tmpl->optional)
1256 goto fail; 1258 goto fail;
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 4a8a1abb59ee..a278a6f3b991 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1816,7 +1816,7 @@ static int copy_to_user_kmaddress(struct xfrm_kmaddress *k, struct sk_buff *skb)
1816 uk.family = k->family; 1816 uk.family = k->family;
1817 uk.reserved = k->reserved; 1817 uk.reserved = k->reserved;
1818 memcpy(&uk.local, &k->local, sizeof(uk.local)); 1818 memcpy(&uk.local, &k->local, sizeof(uk.local));
1819 memcpy(&uk.remote, &k->local, sizeof(uk.remote)); 1819 memcpy(&uk.remote, &k->remote, sizeof(uk.remote));
1820 1820
1821 return nla_put(skb, XFRMA_KMADDRESS, sizeof(uk), &uk); 1821 return nla_put(skb, XFRMA_KMADDRESS, sizeof(uk), &uk);
1822} 1822}
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5ed4cbf1e0e1..468fbc9016c7 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -198,10 +198,16 @@ cmd_modversions = \
198 fi; 198 fi;
199endif 199endif
200 200
201ifdef CONFIG_64BIT
202arch_bits = 64
203else
204arch_bits = 32
205endif
206
201ifdef CONFIG_FTRACE_MCOUNT_RECORD 207ifdef CONFIG_FTRACE_MCOUNT_RECORD
202cmd_record_mcount = perl $(srctree)/scripts/recordmcount.pl \ 208cmd_record_mcount = perl $(srctree)/scripts/recordmcount.pl \
203 "$(ARCH)" "$(OBJDUMP)" "$(OBJCOPY)" "$(CC)" "$(LD)" "$(NM)" "$(RM)" \ 209 "$(ARCH)" "$(arch_bits)" "$(OBJDUMP)" "$(OBJCOPY)" "$(CC)" "$(LD)" \
204 "$(MV)" "$(@)"; 210 "$(NM)" "$(RM)" "$(MV)" "$(@)";
205endif 211endif
206 212
207define rule_cc_o_c 213define rule_cc_o_c
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index 9ee9783aea57..f4053dc7b5d6 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -82,7 +82,7 @@ modpost = scripts/mod/modpost \
82 $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,) \ 82 $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,) \
83 $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ 83 $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \
84 $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ 84 $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \
85 $(if $(KBUILD_EXTRA_SYMBOLS), $(patsubst %, -e %,$(EXTRA_SYMBOLS))) \ 85 $(if $(KBUILD_EXTRA_SYMBOLS), $(patsubst %, -e %,$(KBUILD_EXTRA_SYMBOLS))) \
86 $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ 86 $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \
87 $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \ 87 $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \
88 $(if $(CONFIG_MARKERS),-K $(kernelmarkersfile)) \ 88 $(if $(CONFIG_MARKERS),-K $(kernelmarkersfile)) \
diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index 5e7316e5aa39..d2c61efc216f 100644
--- a/scripts/bootgraph.pl
+++ b/scripts/bootgraph.pl
@@ -37,7 +37,10 @@
37# dmesg | perl scripts/bootgraph.pl > output.svg 37# dmesg | perl scripts/bootgraph.pl > output.svg
38# 38#
39 39
40my %start, %end; 40use strict;
41
42my %start;
43my %end;
41my $done = 0; 44my $done = 0;
42my $maxtime = 0; 45my $maxtime = 0;
43my $firsttime = 100; 46my $firsttime = 100;
@@ -105,18 +108,20 @@ my $threshold = ($maxtime - $firsttime) / 60.0;
105my $stylecounter = 0; 108my $stylecounter = 0;
106my %rows; 109my %rows;
107my $rowscount = 1; 110my $rowscount = 1;
108while (($key,$value) = each %start) { 111my @initcalls = sort { $start{$a} <=> $start{$b} } keys(%start);
112my $key;
113foreach $key (@initcalls) {
109 my $duration = $end{$key} - $start{$key}; 114 my $duration = $end{$key} - $start{$key};
110 115
111 if ($duration >= $threshold) { 116 if ($duration >= $threshold) {
112 my $s, $s2, $e, $y; 117 my ($s, $s2, $e, $w, $y, $y2, $style);
113 $pid = $pids{$key}; 118 my $pid = $pids{$key};
114 119
115 if (!defined($rows{$pid})) { 120 if (!defined($rows{$pid})) {
116 $rows{$pid} = $rowscount; 121 $rows{$pid} = $rowscount;
117 $rowscount = $rowscount + 1; 122 $rowscount = $rowscount + 1;
118 } 123 }
119 $s = ($value - $firsttime) * $mult; 124 $s = ($start{$key} - $firsttime) * $mult;
120 $s2 = $s + 6; 125 $s2 = $s + 6;
121 $e = ($end{$key} - $firsttime) * $mult; 126 $e = ($end{$key} - $firsttime) * $mult;
122 $w = $e - $s; 127 $w = $e - $s;
@@ -140,9 +145,9 @@ while (($key,$value) = each %start) {
140my $time = $firsttime; 145my $time = $firsttime;
141my $step = ($maxtime - $firsttime) / 15; 146my $step = ($maxtime - $firsttime) / 15;
142while ($time < $maxtime) { 147while ($time < $maxtime) {
143 my $s2 = ($time - $firsttime) * $mult; 148 my $s3 = ($time - $firsttime) * $mult;
144 my $tm = int($time * 100) / 100.0; 149 my $tm = int($time * 100) / 100.0;
145 print "<text transform=\"translate($s2,89) rotate(90)\">$tm</text>\n"; 150 print "<text transform=\"translate($s3,89) rotate(90)\">$tm</text>\n";
146 $time = $time + $step; 151 $time = $time + $step;
147} 152}
148 153
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh
index 41564b142c04..60d00d1c4eee 100755
--- a/scripts/checksyscalls.sh
+++ b/scripts/checksyscalls.sh
@@ -113,10 +113,10 @@ EOF
113} 113}
114 114
115syscall_list() { 115syscall_list() {
116sed -n -e '/^\#define/ { s/[^_]*__NR_\([^[:space:]]*\).*/\ 116sed -n -e '/^\#define/ s/[^_]*__NR_\([^[:space:]]*\).*/\
117\#if !defined \(__NR_\1\) \&\& !defined \(__IGNORE_\1\)\ 117\#if !defined \(__NR_\1\) \&\& !defined \(__IGNORE_\1\)\
118\#warning syscall \1 not implemented\ 118\#warning syscall \1 not implemented\
119\#endif/p }' $1 119\#endif/p' $1
120} 120}
121 121
122(ignore_list && syscall_list ${srctree}/arch/x86/include/asm/unistd_32.h) | \ 122(ignore_list && syscall_list ${srctree}/arch/x86/include/asm/unistd_32.h) | \
diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
index 15d53a6b1a1f..488a3b1f760f 100644
--- a/scripts/headers_check.pl
+++ b/scripts/headers_check.pl
@@ -1,4 +1,4 @@
1#!/usr/bin/perl 1#!/usr/bin/perl -w
2# 2#
3# headers_check.pl execute a number of trivial consistency checks 3# headers_check.pl execute a number of trivial consistency checks
4# 4#
@@ -17,7 +17,6 @@
17# 2) TODO: check for leaked CONFIG_ symbols 17# 2) TODO: check for leaked CONFIG_ symbols
18 18
19use strict; 19use strict;
20use warnings;
21 20
22my ($dir, $arch, @files) = @ARGV; 21my ($dir, $arch, @files) = @ARGV;
23 22
@@ -27,14 +26,15 @@ my $lineno = 0;
27my $filename; 26my $filename;
28 27
29foreach my $file (@files) { 28foreach my $file (@files) {
29 local *FH;
30 $filename = $file; 30 $filename = $file;
31 open(my $fh, '<', "$filename") or die "$filename: $!\n"; 31 open(FH, "<$filename") or die "$filename: $!\n";
32 $lineno = 0; 32 $lineno = 0;
33 while ($line = <$fh>) { 33 while ($line = <FH>) {
34 $lineno++; 34 $lineno++;
35 check_include(); 35 check_include();
36 } 36 }
37 close $fh; 37 close FH;
38} 38}
39exit $ret; 39exit $ret;
40 40
diff --git a/scripts/headers_install.pl b/scripts/headers_install.pl
index 68591cd08731..7d2b4146e02f 100644
--- a/scripts/headers_install.pl
+++ b/scripts/headers_install.pl
@@ -1,4 +1,4 @@
1#!/usr/bin/perl 1#!/usr/bin/perl -w
2# 2#
3# headers_install prepare the listed header files for use in 3# headers_install prepare the listed header files for use in
4# user space and copy the files to their destination. 4# user space and copy the files to their destination.
@@ -17,28 +17,29 @@
17# 3) Drop all sections defined out by __KERNEL__ (using unifdef) 17# 3) Drop all sections defined out by __KERNEL__ (using unifdef)
18 18
19use strict; 19use strict;
20use warnings;
21 20
22my ($readdir, $installdir, $arch, @files) = @ARGV; 21my ($readdir, $installdir, $arch, @files) = @ARGV;
23 22
24my $unifdef = "scripts/unifdef -U__KERNEL__"; 23my $unifdef = "scripts/unifdef -U__KERNEL__";
25 24
26foreach my $file (@files) { 25foreach my $file (@files) {
26 local *INFILE;
27 local *OUTFILE;
27 my $tmpfile = "$installdir/$file.tmp"; 28 my $tmpfile = "$installdir/$file.tmp";
28 open(my $infile, '<', "$readdir/$file") 29 open(INFILE, "<$readdir/$file")
29 or die "$readdir/$file: $!\n"; 30 or die "$readdir/$file: $!\n";
30 open(my $outfile, '>', "$tmpfile") or die "$tmpfile: $!\n"; 31 open(OUTFILE, ">$tmpfile") or die "$tmpfile: $!\n";
31 while (my $line = <$infile>) { 32 while (my $line = <INFILE>) {
32 $line =~ s/([\s(])__user\s/$1/g; 33 $line =~ s/([\s(])__user\s/$1/g;
33 $line =~ s/([\s(])__force\s/$1/g; 34 $line =~ s/([\s(])__force\s/$1/g;
34 $line =~ s/([\s(])__iomem\s/$1/g; 35 $line =~ s/([\s(])__iomem\s/$1/g;
35 $line =~ s/\s__attribute_const__\s/ /g; 36 $line =~ s/\s__attribute_const__\s/ /g;
36 $line =~ s/\s__attribute_const__$//g; 37 $line =~ s/\s__attribute_const__$//g;
37 $line =~ s/^#include <linux\/compiler.h>//; 38 $line =~ s/^#include <linux\/compiler.h>//;
38 printf $outfile "%s", $line; 39 printf OUTFILE "%s", $line;
39 } 40 }
40 close $outfile; 41 close OUTFILE;
41 close $infile; 42 close INFILE;
42 system $unifdef . " $tmpfile > $installdir/$file"; 43 system $unifdef . " $tmpfile > $installdir/$file";
43 unlink $tmpfile; 44 unlink $tmpfile;
44} 45}
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 44ee94d2ab76..a53e2fc8dfb5 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1648,7 +1648,7 @@ sub dump_function($$) {
1648 $prototype =~ s/^noinline +//; 1648 $prototype =~ s/^noinline +//;
1649 $prototype =~ s/__devinit +//; 1649 $prototype =~ s/__devinit +//;
1650 $prototype =~ s/__init +//; 1650 $prototype =~ s/__init +//;
1651 $prototype =~ s/^#define\s+//; #ak added 1651 $prototype =~ s/^#\s*define\s+//; #ak added
1652 $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//; 1652 $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//;
1653 1653
1654 # Yes, this truly is vile. We are looking for: 1654 # Yes, this truly is vile. We are looking for:
@@ -1764,13 +1764,13 @@ sub process_state3_function($$) {
1764 1764
1765 $x =~ s@\/\/.*$@@gos; # strip C99-style comments to end of line 1765 $x =~ s@\/\/.*$@@gos; # strip C99-style comments to end of line
1766 1766
1767 if ($x =~ m#\s*/\*\s+MACDOC\s*#io || ($x =~ /^#/ && $x !~ /^#define/)) { 1767 if ($x =~ m#\s*/\*\s+MACDOC\s*#io || ($x =~ /^#/ && $x !~ /^#\s*define/)) {
1768 # do nothing 1768 # do nothing
1769 } 1769 }
1770 elsif ($x =~ /([^\{]*)/) { 1770 elsif ($x =~ /([^\{]*)/) {
1771 $prototype .= $1; 1771 $prototype .= $1;
1772 } 1772 }
1773 if (($x =~ /\{/) || ($x =~ /\#define/) || ($x =~ /;/)) { 1773 if (($x =~ /\{/) || ($x =~ /\#\s*define/) || ($x =~ /;/)) {
1774 $prototype =~ s@/\*.*?\*/@@gos; # strip comments. 1774 $prototype =~ s@/\*.*?\*/@@gos; # strip comments.
1775 $prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's. 1775 $prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's.
1776 $prototype =~ s@^\s+@@gos; # strip leading spaces 1776 $prototype =~ s@^\s+@@gos; # strip leading spaces
diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c
index d9cc6901d680..aadc5223dcdb 100644
--- a/scripts/mod/sumversion.c
+++ b/scripts/mod/sumversion.c
@@ -290,6 +290,15 @@ static int parse_file(const char *fname, struct md4_ctx *md)
290 release_file(file, len); 290 release_file(file, len);
291 return 1; 291 return 1;
292} 292}
293/* Check whether the file is a static library or not */
294static int is_static_library(const char *objfile)
295{
296 int len = strlen(objfile);
297 if (objfile[len - 2] == '.' && objfile[len - 1] == 'a')
298 return 1;
299 else
300 return 0;
301}
293 302
294/* We have dir/file.o. Open dir/.file.o.cmd, look for deps_ line to 303/* We have dir/file.o. Open dir/.file.o.cmd, look for deps_ line to
295 * figure out source file. */ 304 * figure out source file. */
@@ -420,7 +429,8 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
420 while ((fname = strsep(&sources, " ")) != NULL) { 429 while ((fname = strsep(&sources, " ")) != NULL) {
421 if (!*fname) 430 if (!*fname)
422 continue; 431 continue;
423 if (!parse_source_files(fname, &md)) 432 if (!(is_static_library(fname)) &&
433 !parse_source_files(fname, &md))
424 goto release; 434 goto release;
425 } 435 }
426 436
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index ba6bf5d5abf9..1264b8e2829d 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -15,15 +15,18 @@ set -e
15version=$KERNELRELEASE 15version=$KERNELRELEASE
16revision=`cat .version` 16revision=`cat .version`
17tmpdir="$objtree/debian/tmp" 17tmpdir="$objtree/debian/tmp"
18fwdir="$objtree/debian/fwtmp"
18packagename=linux-$version 19packagename=linux-$version
20fwpackagename=linux-firmware-image
19 21
20if [ "$ARCH" == "um" ] ; then 22if [ "$ARCH" == "um" ] ; then
21 packagename=user-mode-linux-$version 23 packagename=user-mode-linux-$version
22fi 24fi
23 25
24# Setup the directory structure 26# Setup the directory structure
25rm -rf "$tmpdir" 27rm -rf "$tmpdir" "$fwdir"
26mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot" 28mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot"
29mkdir -p "$fwdir/DEBIAN" "$fwdir/lib"
27if [ "$ARCH" == "um" ] ; then 30if [ "$ARCH" == "um" ] ; then
28 mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/share/doc/$packagename" "$tmpdir/usr/bin" 31 mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/share/doc/$packagename" "$tmpdir/usr/bin"
29fi 32fi
@@ -107,6 +110,7 @@ Standards-Version: 3.6.1
107 110
108Package: $packagename 111Package: $packagename
109Provides: kernel-image-$version, linux-image-$version 112Provides: kernel-image-$version, linux-image-$version
113Suggests: $fwpackagename
110Architecture: any 114Architecture: any
111Description: Linux kernel, version $version 115Description: Linux kernel, version $version
112 This package contains the Linux kernel, modules and corresponding other 116 This package contains the Linux kernel, modules and corresponding other
@@ -118,8 +122,24 @@ fi
118chown -R root:root "$tmpdir" 122chown -R root:root "$tmpdir"
119chmod -R go-w "$tmpdir" 123chmod -R go-w "$tmpdir"
120 124
125# Do we have firmware? Move it out of the way and build it into a package.
126if [ -e "$tmpdir/lib/firmware" ]; then
127 mv "$tmpdir/lib/firmware" "$fwdir/lib/"
128
129 cat <<EOF >> debian/control
130
131Package: $fwpackagename
132Architecture: all
133Description: Linux kernel firmware, version $version
134 This package contains firmware from the Linux kernel, version $version
135EOF
136
137 dpkg-gencontrol -isp -p$fwpackagename -P"$fwdir"
138 dpkg --build "$fwdir" ..
139fi
140
121# Perform the final magic 141# Perform the final magic
122dpkg-gencontrol -isp 142dpkg-gencontrol -isp -p$packagename
123dpkg --build "$tmpdir" .. 143dpkg --build "$tmpdir" ..
124 144
125exit 0 145exit 0
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index ffd61fe0c1ad..2500886fb90a 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -57,15 +57,17 @@ fi
57echo "%build" 57echo "%build"
58 58
59if ! $PREBUILT; then 59if ! $PREBUILT; then
60echo "make clean && make %{_smp_mflags}" 60echo "make clean && make %{?_smp_mflags}"
61echo "" 61echo ""
62fi 62fi
63 63
64echo "%install" 64echo "%install"
65echo "%ifarch ia64" 65echo "%ifarch ia64"
66echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' 66echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
67echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
67echo "%else" 68echo "%else"
68echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' 69echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
70echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
69echo "%endif" 71echo "%endif"
70 72
71echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} modules_install' 73echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} modules_install'
@@ -92,5 +94,6 @@ echo "%files"
92echo '%defattr (-, root, root)' 94echo '%defattr (-, root, root)'
93echo "%dir /lib/modules" 95echo "%dir /lib/modules"
94echo "/lib/modules/$KERNELRELEASE" 96echo "/lib/modules/$KERNELRELEASE"
97echo "/lib/firmware"
95echo "/boot/*" 98echo "/boot/*"
96echo "" 99echo ""
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index f56d760bd589..6b9fe3eb8360 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -106,7 +106,13 @@ if ($#ARGV < 6) {
106 exit(1); 106 exit(1);
107} 107}
108 108
109my ($arch, $objdump, $objcopy, $cc, $ld, $nm, $rm, $mv, $inputfile) = @ARGV; 109my ($arch, $bits, $objdump, $objcopy, $cc,
110 $ld, $nm, $rm, $mv, $inputfile) = @ARGV;
111
112# Acceptable sections to record.
113my %text_sections = (
114 ".text" => 1,
115);
110 116
111$objdump = "objdump" if ((length $objdump) == 0); 117$objdump = "objdump" if ((length $objdump) == 0);
112$objcopy = "objcopy" if ((length $objcopy) == 0); 118$objcopy = "objcopy" if ((length $objcopy) == 0);
@@ -129,8 +135,16 @@ my $function_regex; # Find the name of a function
129 # (return offset and func name) 135 # (return offset and func name)
130my $mcount_regex; # Find the call site to mcount (return offset) 136my $mcount_regex; # Find the call site to mcount (return offset)
131 137
138if ($arch eq "x86") {
139 if ($bits == 64) {
140 $arch = "x86_64";
141 } else {
142 $arch = "i386";
143 }
144}
145
132if ($arch eq "x86_64") { 146if ($arch eq "x86_64") {
133 $section_regex = "Disassembly of section"; 147 $section_regex = "Disassembly of section\\s+(\\S+):";
134 $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:"; 148 $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
135 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$"; 149 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$";
136 $type = ".quad"; 150 $type = ".quad";
@@ -142,7 +156,7 @@ if ($arch eq "x86_64") {
142 $cc .= " -m64"; 156 $cc .= " -m64";
143 157
144} elsif ($arch eq "i386") { 158} elsif ($arch eq "i386") {
145 $section_regex = "Disassembly of section"; 159 $section_regex = "Disassembly of section\\s+(\\S+):";
146 $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:"; 160 $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
147 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$"; 161 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
148 $type = ".long"; 162 $type = ".long";
@@ -289,7 +303,13 @@ my $text;
289while (<IN>) { 303while (<IN>) {
290 # is it a section? 304 # is it a section?
291 if (/$section_regex/) { 305 if (/$section_regex/) {
292 $read_function = 1; 306
307 # Only record text sections that we know are safe
308 if (defined($text_sections{$1})) {
309 $read_function = 1;
310 } else {
311 $read_function = 0;
312 }
293 # print out any recorded offsets 313 # print out any recorded offsets
294 update_funcs() if ($text_found); 314 update_funcs() if ($text_found);
295 315
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 83b75126c9f7..72d233528ade 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -9,11 +9,13 @@ usage() {
9cd "${1:-.}" || usage 9cd "${1:-.}" || usage
10 10
11# Check for git and a git repo. 11# Check for git and a git repo.
12if head=`git rev-parse --verify HEAD 2>/dev/null`; then 12if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
13 # Do we have an untagged version? 13 # Do we have an untagged version?
14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then 14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then
15 if tag=`git describe 2>/dev/null`; then 15 if tag=`git describe 2>/dev/null`; then
16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' 16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
17 else
18 printf '%s%s' -g $head
17 fi 19 fi
18 fi 20 fi
19 21
@@ -55,7 +57,7 @@ if rev=`svn info 2>/dev/null | grep '^Revision'`; then
55 57
56 # Are there uncommitted changes? 58 # Are there uncommitted changes?
57 if [ $changes != 0 ]; then 59 if [ $changes != 0 ]; then
58 printf -- '-svn%s%s%s' "$rev" -dirty "$changes" 60 printf -- '-svn%s%s' "$rev" -dirty
59 else 61 else
60 printf -- '-svn%s' "$rev" 62 printf -- '-svn%s' "$rev"
61 fi 63 fi
diff --git a/security/commoncap.c b/security/commoncap.c
index 399bfdb9e2da..3976613db829 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -279,10 +279,10 @@ static int get_file_caps(struct linux_binprm *bprm)
279 struct vfs_cap_data vcaps; 279 struct vfs_cap_data vcaps;
280 struct inode *inode; 280 struct inode *inode;
281 281
282 if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) { 282 bprm_clear_caps(bprm);
283 bprm_clear_caps(bprm); 283
284 if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID)
284 return 0; 285 return 0;
285 }
286 286
287 dentry = dget(bprm->file->f_dentry); 287 dentry = dget(bprm->file->f_dentry);
288 inode = dentry->d_inode; 288 inode = dentry->d_inode;
diff --git a/security/keys/internal.h b/security/keys/internal.h
index b39f5c2e2c4b..239098f0fd76 100644
--- a/security/keys/internal.h
+++ b/security/keys/internal.h
@@ -107,6 +107,7 @@ extern key_ref_t search_process_keyrings(struct key_type *type,
107 107
108extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check); 108extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check);
109 109
110extern int install_user_keyrings(struct task_struct *tsk);
110extern int install_thread_keyring(struct task_struct *tsk); 111extern int install_thread_keyring(struct task_struct *tsk);
111extern int install_process_keyring(struct task_struct *tsk); 112extern int install_process_keyring(struct task_struct *tsk);
112 113
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
index 5be6d018759a..45b240af6dbe 100644
--- a/security/keys/process_keys.c
+++ b/security/keys/process_keys.c
@@ -40,7 +40,7 @@ struct key_user root_key_user = {
40/* 40/*
41 * install user and user session keyrings for a particular UID 41 * install user and user session keyrings for a particular UID
42 */ 42 */
43static int install_user_keyrings(struct task_struct *tsk) 43int install_user_keyrings(struct task_struct *tsk)
44{ 44{
45 struct user_struct *user = tsk->user; 45 struct user_struct *user = tsk->user;
46 struct key *uid_keyring, *session_keyring; 46 struct key *uid_keyring, *session_keyring;
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index ba32ca6469bd..abea08f87fe2 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -74,6 +74,10 @@ static int call_sbin_request_key(struct key_construction *cons,
74 74
75 kenter("{%d},{%d},%s", key->serial, authkey->serial, op); 75 kenter("{%d},{%d},%s", key->serial, authkey->serial, op);
76 76
77 ret = install_user_keyrings(tsk);
78 if (ret < 0)
79 goto error_alloc;
80
77 /* allocate a new session keyring */ 81 /* allocate a new session keyring */
78 sprintf(desc, "_req.%u", key->serial); 82 sprintf(desc, "_req.%u", key->serial);
79 83
diff --git a/security/security.c b/security/security.c
index 255b08559b2b..c0acfa7177e5 100644
--- a/security/security.c
+++ b/security/security.c
@@ -198,14 +198,23 @@ int security_settime(struct timespec *ts, struct timezone *tz)
198 198
199int security_vm_enough_memory(long pages) 199int security_vm_enough_memory(long pages)
200{ 200{
201 WARN_ON(current->mm == NULL);
201 return security_ops->vm_enough_memory(current->mm, pages); 202 return security_ops->vm_enough_memory(current->mm, pages);
202} 203}
203 204
204int security_vm_enough_memory_mm(struct mm_struct *mm, long pages) 205int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
205{ 206{
207 WARN_ON(mm == NULL);
206 return security_ops->vm_enough_memory(mm, pages); 208 return security_ops->vm_enough_memory(mm, pages);
207} 209}
208 210
211int security_vm_enough_memory_kern(long pages)
212{
213 /* If current->mm is a kernel thread then we will pass NULL,
214 for this specific case that is fine */
215 return security_ops->vm_enough_memory(current->mm, pages);
216}
217
209int security_bprm_alloc(struct linux_binprm *bprm) 218int security_bprm_alloc(struct linux_binprm *bprm)
210{ 219{
211 return security_ops->bprm_alloc_security(bprm); 220 return security_ops->bprm_alloc_security(bprm);
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 3e3fde7c1d2b..f85597a4d733 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -2126,14 +2126,16 @@ static inline void flush_unauthorized_files(struct files_struct *files)
2126 tty = get_current_tty(); 2126 tty = get_current_tty();
2127 if (tty) { 2127 if (tty) {
2128 file_list_lock(); 2128 file_list_lock();
2129 file = list_entry(tty->tty_files.next, typeof(*file), f_u.fu_list); 2129 if (!list_empty(&tty->tty_files)) {
2130 if (file) { 2130 struct inode *inode;
2131
2131 /* Revalidate access to controlling tty. 2132 /* Revalidate access to controlling tty.
2132 Use inode_has_perm on the tty inode directly rather 2133 Use inode_has_perm on the tty inode directly rather
2133 than using file_has_perm, as this particular open 2134 than using file_has_perm, as this particular open
2134 file may belong to another process and we are only 2135 file may belong to another process and we are only
2135 interested in the inode-based check here. */ 2136 interested in the inode-based check here. */
2136 struct inode *inode = file->f_path.dentry->d_inode; 2137 file = list_first_entry(&tty->tty_files, struct file, f_u.fu_list);
2138 inode = file->f_path.dentry->d_inode;
2137 if (inode_has_perm(current, inode, 2139 if (inode_has_perm(current, inode,
2138 FILE__READ | FILE__WRITE, NULL)) { 2140 FILE__READ | FILE__WRITE, NULL)) {
2139 drop_tty = 1; 2141 drop_tty = 1;
diff --git a/sound/aoa/soundbus/core.c b/sound/aoa/soundbus/core.c
index f84f3e505788..fa8ab2815a98 100644
--- a/sound/aoa/soundbus/core.c
+++ b/sound/aoa/soundbus/core.c
@@ -176,7 +176,7 @@ int soundbus_add_one(struct soundbus_dev *dev)
176 return -EINVAL; 176 return -EINVAL;
177 } 177 }
178 178
179 snprintf(dev->ofdev.dev.bus_id, BUS_ID_SIZE, "soundbus:%x", ++devcount); 179 dev_set_name(&dev->ofdev.dev, "soundbus:%x", ++devcount);
180 dev->ofdev.dev.bus = &soundbus_bus_type; 180 dev->ofdev.dev.bus = &soundbus_bus_type;
181 return of_device_register(&dev->ofdev); 181 return of_device_register(&dev->ofdev);
182} 182}
diff --git a/sound/core/control.c b/sound/core/control.c
index 6d71f9a7ccbb..636b3b52ef8b 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -113,7 +113,6 @@ static int snd_ctl_release(struct inode *inode, struct file *file)
113 unsigned int idx; 113 unsigned int idx;
114 114
115 ctl = file->private_data; 115 ctl = file->private_data;
116 fasync_helper(-1, file, 0, &ctl->fasync);
117 file->private_data = NULL; 116 file->private_data = NULL;
118 card = ctl->card; 117 card = ctl->card;
119 write_lock_irqsave(&card->ctl_files_rwlock, flags); 118 write_lock_irqsave(&card->ctl_files_rwlock, flags);
@@ -225,8 +224,13 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
225 kctl.id.iface = ncontrol->iface; 224 kctl.id.iface = ncontrol->iface;
226 kctl.id.device = ncontrol->device; 225 kctl.id.device = ncontrol->device;
227 kctl.id.subdevice = ncontrol->subdevice; 226 kctl.id.subdevice = ncontrol->subdevice;
228 if (ncontrol->name) 227 if (ncontrol->name) {
229 strlcpy(kctl.id.name, ncontrol->name, sizeof(kctl.id.name)); 228 strlcpy(kctl.id.name, ncontrol->name, sizeof(kctl.id.name));
229 if (strcmp(ncontrol->name, kctl.id.name) != 0)
230 snd_printk(KERN_WARNING
231 "Control name '%s' truncated to '%s'\n",
232 ncontrol->name, kctl.id.name);
233 }
230 kctl.id.index = ncontrol->index; 234 kctl.id.index = ncontrol->index;
231 kctl.count = ncontrol->count ? ncontrol->count : 1; 235 kctl.count = ncontrol->count ? ncontrol->count : 1;
232 access = ncontrol->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE : 236 access = ncontrol->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE :
diff --git a/sound/core/init.c b/sound/core/init.c
index ef2352c2e451..b47ff8b44be8 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -264,8 +264,11 @@ static int snd_disconnect_release(struct inode *inode, struct file *file)
264 } 264 }
265 spin_unlock(&shutdown_lock); 265 spin_unlock(&shutdown_lock);
266 266
267 if (likely(df)) 267 if (likely(df)) {
268 if ((file->f_flags & FASYNC) && df->disconnected_f_op->fasync)
269 df->disconnected_f_op->fasync(-1, file, 0);
268 return df->disconnected_f_op->release(inode, file); 270 return df->disconnected_f_op->release(inode, file);
271 }
269 272
270 panic("%s(%p, %p) failed!", __func__, inode, file); 273 panic("%s(%p, %p) failed!", __func__, inode, file);
271} 274}
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index aef18682c035..a789efc9df39 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -2169,7 +2169,6 @@ static int snd_pcm_release(struct inode *inode, struct file *file)
2169 if (snd_BUG_ON(!substream)) 2169 if (snd_BUG_ON(!substream))
2170 return -ENXIO; 2170 return -ENXIO;
2171 pcm = substream->pcm; 2171 pcm = substream->pcm;
2172 fasync_helper(-1, file, 0, &substream->runtime->fasync);
2173 mutex_lock(&pcm->open_mutex); 2172 mutex_lock(&pcm->open_mutex);
2174 snd_pcm_release_substream(substream); 2173 snd_pcm_release_substream(substream);
2175 kfree(pcm_file); 2174 kfree(pcm_file);
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
index c4995c9f5730..39672f68ce5d 100644
--- a/sound/core/rawmidi.c
+++ b/sound/core/rawmidi.c
@@ -148,6 +148,8 @@ static int snd_rawmidi_runtime_free(struct snd_rawmidi_substream *substream)
148 148
149static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up) 149static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up)
150{ 150{
151 if (!substream->opened)
152 return;
151 if (up) { 153 if (up) {
152 tasklet_hi_schedule(&substream->runtime->tasklet); 154 tasklet_hi_schedule(&substream->runtime->tasklet);
153 } else { 155 } else {
@@ -158,6 +160,8 @@ static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *subs
158 160
159static void snd_rawmidi_input_trigger(struct snd_rawmidi_substream *substream, int up) 161static void snd_rawmidi_input_trigger(struct snd_rawmidi_substream *substream, int up)
160{ 162{
163 if (!substream->opened)
164 return;
161 substream->ops->trigger(substream, up); 165 substream->ops->trigger(substream, up);
162 if (!up && substream->runtime->event) 166 if (!up && substream->runtime->event)
163 tasklet_kill(&substream->runtime->tasklet); 167 tasklet_kill(&substream->runtime->tasklet);
@@ -857,6 +861,8 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream,
857 int result = 0, count1; 861 int result = 0, count1;
858 struct snd_rawmidi_runtime *runtime = substream->runtime; 862 struct snd_rawmidi_runtime *runtime = substream->runtime;
859 863
864 if (!substream->opened)
865 return -EBADFD;
860 if (runtime->buffer == NULL) { 866 if (runtime->buffer == NULL) {
861 snd_printd("snd_rawmidi_receive: input is not active!!!\n"); 867 snd_printd("snd_rawmidi_receive: input is not active!!!\n");
862 return -EINVAL; 868 return -EINVAL;
@@ -1126,6 +1132,8 @@ int snd_rawmidi_transmit_ack(struct snd_rawmidi_substream *substream, int count)
1126int snd_rawmidi_transmit(struct snd_rawmidi_substream *substream, 1132int snd_rawmidi_transmit(struct snd_rawmidi_substream *substream,
1127 unsigned char *buffer, int count) 1133 unsigned char *buffer, int count)
1128{ 1134{
1135 if (!substream->opened)
1136 return -EBADFD;
1129 count = snd_rawmidi_transmit_peek(substream, buffer, count); 1137 count = snd_rawmidi_transmit_peek(substream, buffer, count);
1130 if (count < 0) 1138 if (count < 0)
1131 return count; 1139 return count;
diff --git a/sound/core/timer.c b/sound/core/timer.c
index e582face89d2..c584408c9f17 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -1263,7 +1263,6 @@ static int snd_timer_user_release(struct inode *inode, struct file *file)
1263 if (file->private_data) { 1263 if (file->private_data) {
1264 tu = file->private_data; 1264 tu = file->private_data;
1265 file->private_data = NULL; 1265 file->private_data = NULL;
1266 fasync_helper(-1, file, 0, &tu->fasync);
1267 if (tu->timeri) 1266 if (tu->timeri)
1268 snd_timer_close(tu->timeri); 1267 snd_timer_close(tu->timeri);
1269 kfree(tu->queue); 1268 kfree(tu->queue);
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c
index ecdbeb6d3603..7783843ca9ae 100644
--- a/sound/drivers/ml403-ac97cr.c
+++ b/sound/drivers/ml403-ac97cr.c
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
1153 /* get irq */ 1153 /* get irq */
1154 irq = platform_get_irq(pfdev, 0); 1154 irq = platform_get_irq(pfdev, 0);
1155 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, 1155 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
1156 pfdev->dev.bus_id, (void *)ml403_ac97cr)) { 1156 dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
1157 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " 1157 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
1158 "unable to grab IRQ %d\n", 1158 "unable to grab IRQ %d\n",
1159 irq); 1159 irq);
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
1166 ml403_ac97cr->irq); 1166 ml403_ac97cr->irq);
1167 irq = platform_get_irq(pfdev, 1); 1167 irq = platform_get_irq(pfdev, 1);
1168 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, 1168 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED,
1169 pfdev->dev.bus_id, (void *)ml403_ac97cr)) { 1169 dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
1170 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " 1170 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": "
1171 "unable to grab IRQ %d\n", 1171 "unable to grab IRQ %d\n",
1172 irq); 1172 irq);
diff --git a/sound/drivers/pcsp/pcsp_input.c b/sound/drivers/pcsp/pcsp_input.c
index cd9b83e7f7d1..0444cdeb4bec 100644
--- a/sound/drivers/pcsp/pcsp_input.c
+++ b/sound/drivers/pcsp/pcsp_input.c
@@ -24,13 +24,13 @@ static void pcspkr_do_sound(unsigned int count)
24 spin_lock_irqsave(&i8253_lock, flags); 24 spin_lock_irqsave(&i8253_lock, flags);
25 25
26 if (count) { 26 if (count) {
27 /* enable counter 2 */
28 outb_p(inb_p(0x61) | 3, 0x61);
29 /* set command for counter 2, 2 byte write */ 27 /* set command for counter 2, 2 byte write */
30 outb_p(0xB6, 0x43); 28 outb_p(0xB6, 0x43);
31 /* select desired HZ */ 29 /* select desired HZ */
32 outb_p(count & 0xff, 0x42); 30 outb_p(count & 0xff, 0x42);
33 outb((count >> 8) & 0xff, 0x42); 31 outb((count >> 8) & 0xff, 0x42);
32 /* enable counter 2 */
33 outb_p(inb_p(0x61) | 3, 0x61);
34 } else { 34 } else {
35 /* disable counter 2 */ 35 /* disable counter 2 */
36 outb(inb_p(0x61) & 0xFC, 0x61); 36 outb(inb_p(0x61) & 0xFC, 0x61);
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 660beb41f767..ce0aa044e274 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -211,7 +211,7 @@ config SND_GUSCLASSIC
211 211
212config SND_GUSEXTREME 212config SND_GUSEXTREME
213 tristate "Gravis UltraSound Extreme" 213 tristate "Gravis UltraSound Extreme"
214 select SND_HWDEP 214 select SND_OPL3_LIB
215 select SND_MPU401_UART 215 select SND_MPU401_UART
216 select SND_PCM 216 select SND_PCM
217 help 217 help
diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c
index b68d20edc20f..223a6c038819 100644
--- a/sound/isa/ad1848/ad1848.c
+++ b/sound/isa/ad1848/ad1848.c
@@ -70,15 +70,15 @@ static int __devinit snd_ad1848_match(struct device *dev, unsigned int n)
70 return 0; 70 return 0;
71 71
72 if (port[n] == SNDRV_AUTO_PORT) { 72 if (port[n] == SNDRV_AUTO_PORT) {
73 snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 73 dev_err(dev, "please specify port\n");
74 return 0; 74 return 0;
75 } 75 }
76 if (irq[n] == SNDRV_AUTO_IRQ) { 76 if (irq[n] == SNDRV_AUTO_IRQ) {
77 snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); 77 dev_err(dev, "please specify irq\n");
78 return 0; 78 return 0;
79 } 79 }
80 if (dma1[n] == SNDRV_AUTO_DMA) { 80 if (dma1[n] == SNDRV_AUTO_DMA) {
81 snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); 81 dev_err(dev, "please specify dma1\n");
82 return 0; 82 return 0;
83 } 83 }
84 return 1; 84 return 1;
diff --git a/sound/isa/adlib.c b/sound/isa/adlib.c
index efa8c80d05b6..374b7177e111 100644
--- a/sound/isa/adlib.c
+++ b/sound/isa/adlib.c
@@ -36,7 +36,7 @@ static int __devinit snd_adlib_match(struct device *dev, unsigned int n)
36 return 0; 36 return 0;
37 37
38 if (port[n] == SNDRV_AUTO_PORT) { 38 if (port[n] == SNDRV_AUTO_PORT) {
39 snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 39 dev_err(dev, "please specify port\n");
40 return 0; 40 return 0;
41 } 41 }
42 return 1; 42 return 1;
@@ -55,13 +55,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
55 55
56 card = snd_card_new(index[n], id[n], THIS_MODULE, 0); 56 card = snd_card_new(index[n], id[n], THIS_MODULE, 0);
57 if (!card) { 57 if (!card) {
58 snd_printk(KERN_ERR "%s: could not create card\n", dev->bus_id); 58 dev_err(dev, "could not create card\n");
59 return -EINVAL; 59 return -EINVAL;
60 } 60 }
61 61
62 card->private_data = request_region(port[n], 4, CRD_NAME); 62 card->private_data = request_region(port[n], 4, CRD_NAME);
63 if (!card->private_data) { 63 if (!card->private_data) {
64 snd_printk(KERN_ERR "%s: could not grab ports\n", dev->bus_id); 64 dev_err(dev, "could not grab ports\n");
65 error = -EBUSY; 65 error = -EBUSY;
66 goto out; 66 goto out;
67 } 67 }
@@ -73,13 +73,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
73 73
74 error = snd_opl3_create(card, port[n], port[n] + 2, OPL3_HW_AUTO, 1, &opl3); 74 error = snd_opl3_create(card, port[n], port[n] + 2, OPL3_HW_AUTO, 1, &opl3);
75 if (error < 0) { 75 if (error < 0) {
76 snd_printk(KERN_ERR "%s: could not create OPL\n", dev->bus_id); 76 dev_err(dev, "could not create OPL\n");
77 goto out; 77 goto out;
78 } 78 }
79 79
80 error = snd_opl3_hwdep_new(opl3, 0, 0, NULL); 80 error = snd_opl3_hwdep_new(opl3, 0, 0, NULL);
81 if (error < 0) { 81 if (error < 0) {
82 snd_printk(KERN_ERR "%s: could not create FM\n", dev->bus_id); 82 dev_err(dev, "could not create FM\n");
83 goto out; 83 goto out;
84 } 84 }
85 85
@@ -87,7 +87,7 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
87 87
88 error = snd_card_register(card); 88 error = snd_card_register(card);
89 if (error < 0) { 89 if (error < 0) {
90 snd_printk(KERN_ERR "%s: could not register card\n", dev->bus_id); 90 dev_err(dev, "could not register card\n");
91 goto out; 91 goto out;
92 } 92 }
93 93
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index ddd289120aa8..f019d449e2d6 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -74,15 +74,15 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n)
74 return 0; 74 return 0;
75 75
76 if (port[n] == SNDRV_AUTO_PORT) { 76 if (port[n] == SNDRV_AUTO_PORT) {
77 snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 77 dev_err(dev, "please specify port\n");
78 return 0; 78 return 0;
79 } 79 }
80 if (irq[n] == SNDRV_AUTO_IRQ) { 80 if (irq[n] == SNDRV_AUTO_IRQ) {
81 snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); 81 dev_err(dev, "please specify irq\n");
82 return 0; 82 return 0;
83 } 83 }
84 if (dma1[n] == SNDRV_AUTO_DMA) { 84 if (dma1[n] == SNDRV_AUTO_DMA) {
85 snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); 85 dev_err(dev, "please specify dma1\n");
86 return 0; 86 return 0;
87 } 87 }
88 return 1; 88 return 1;
@@ -133,7 +133,7 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
133 mpu_port[n], 0, mpu_irq[n], 133 mpu_port[n], 0, mpu_irq[n],
134 mpu_irq[n] >= 0 ? IRQF_DISABLED : 0, 134 mpu_irq[n] >= 0 ? IRQF_DISABLED : 0,
135 NULL) < 0) 135 NULL) < 0)
136 printk(KERN_WARNING "%s: MPU401 not detected\n", dev->bus_id); 136 dev_warn(dev, "MPU401 not detected\n");
137 } 137 }
138 138
139 snd_card_set_dev(card, dev); 139 snd_card_set_dev(card, dev);
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index 91f9c15d3e30..019c9401663e 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -488,19 +488,19 @@ static int __devinit snd_cs423x_isa_match(struct device *pdev,
488 return 0; 488 return 0;
489 489
490 if (port[dev] == SNDRV_AUTO_PORT) { 490 if (port[dev] == SNDRV_AUTO_PORT) {
491 snd_printk(KERN_ERR "%s: please specify port\n", pdev->bus_id); 491 dev_err(pdev, "please specify port\n");
492 return 0; 492 return 0;
493 } 493 }
494 if (cport[dev] == SNDRV_AUTO_PORT) { 494 if (cport[dev] == SNDRV_AUTO_PORT) {
495 snd_printk(KERN_ERR "%s: please specify cport\n", pdev->bus_id); 495 dev_err(pdev, "please specify cport\n");
496 return 0; 496 return 0;
497 } 497 }
498 if (irq[dev] == SNDRV_AUTO_IRQ) { 498 if (irq[dev] == SNDRV_AUTO_IRQ) {
499 snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); 499 dev_err(pdev, "please specify irq\n");
500 return 0; 500 return 0;
501 } 501 }
502 if (dma1[dev] == SNDRV_AUTO_DMA) { 502 if (dma1[dev] == SNDRV_AUTO_DMA) {
503 snd_printk(KERN_ERR "%s: please specify dma1\n", pdev->bus_id); 503 dev_err(pdev, "please specify dma1\n");
504 return 0; 504 return 0;
505 } 505 }
506 return 1; 506 return 1;
diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c
index f88639ea64b2..b46377139cf8 100644
--- a/sound/isa/es1688/es1688.c
+++ b/sound/isa/es1688/es1688.c
@@ -88,16 +88,14 @@ static int __devinit snd_es1688_legacy_create(struct snd_card *card,
88 if (irq[n] == SNDRV_AUTO_IRQ) { 88 if (irq[n] == SNDRV_AUTO_IRQ) {
89 irq[n] = snd_legacy_find_free_irq(possible_irqs); 89 irq[n] = snd_legacy_find_free_irq(possible_irqs);
90 if (irq[n] < 0) { 90 if (irq[n] < 0) {
91 snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", 91 dev_err(dev, "unable to find a free IRQ\n");
92 dev->bus_id);
93 return -EBUSY; 92 return -EBUSY;
94 } 93 }
95 } 94 }
96 if (dma8[n] == SNDRV_AUTO_DMA) { 95 if (dma8[n] == SNDRV_AUTO_DMA) {
97 dma8[n] = snd_legacy_find_free_dma(possible_dmas); 96 dma8[n] = snd_legacy_find_free_dma(possible_dmas);
98 if (dma8[n] < 0) { 97 if (dma8[n] < 0) {
99 snd_printk(KERN_ERR "%s: unable to find a free DMA\n", 98 dev_err(dev, "unable to find a free DMA\n");
100 dev->bus_id);
101 return -EBUSY; 99 return -EBUSY;
102 } 100 }
103 } 101 }
@@ -147,8 +145,7 @@ static int __devinit snd_es1688_probe(struct device *dev, unsigned int n)
147 145
148 if (snd_opl3_create(card, chip->port, chip->port + 2, 146 if (snd_opl3_create(card, chip->port, chip->port + 2,
149 OPL3_HW_OPL3, 0, &opl3) < 0) 147 OPL3_HW_OPL3, 0, &opl3) < 0)
150 printk(KERN_WARNING "%s: opl3 not detected at 0x%lx\n", 148 dev_warn(dev, "opl3 not detected at 0x%lx\n", chip->port);
151 dev->bus_id, chip->port);
152 else { 149 else {
153 error = snd_opl3_hwdep_new(opl3, 0, 1, NULL); 150 error = snd_opl3_hwdep_new(opl3, 0, 1, NULL);
154 if (error < 0) 151 if (error < 0)
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c
index 8f914b37bf89..426532a4d730 100644
--- a/sound/isa/gus/gusclassic.c
+++ b/sound/isa/gus/gusclassic.c
@@ -90,24 +90,21 @@ static int __devinit snd_gusclassic_create(struct snd_card *card,
90 if (irq[n] == SNDRV_AUTO_IRQ) { 90 if (irq[n] == SNDRV_AUTO_IRQ) {
91 irq[n] = snd_legacy_find_free_irq(possible_irqs); 91 irq[n] = snd_legacy_find_free_irq(possible_irqs);
92 if (irq[n] < 0) { 92 if (irq[n] < 0) {
93 snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", 93 dev_err(dev, "unable to find a free IRQ\n");
94 dev->bus_id);
95 return -EBUSY; 94 return -EBUSY;
96 } 95 }
97 } 96 }
98 if (dma1[n] == SNDRV_AUTO_DMA) { 97 if (dma1[n] == SNDRV_AUTO_DMA) {
99 dma1[n] = snd_legacy_find_free_dma(possible_dmas); 98 dma1[n] = snd_legacy_find_free_dma(possible_dmas);
100 if (dma1[n] < 0) { 99 if (dma1[n] < 0) {
101 snd_printk(KERN_ERR "%s: unable to find a free DMA1\n", 100 dev_err(dev, "unable to find a free DMA1\n");
102 dev->bus_id);
103 return -EBUSY; 101 return -EBUSY;
104 } 102 }
105 } 103 }
106 if (dma2[n] == SNDRV_AUTO_DMA) { 104 if (dma2[n] == SNDRV_AUTO_DMA) {
107 dma2[n] = snd_legacy_find_free_dma(possible_dmas); 105 dma2[n] = snd_legacy_find_free_dma(possible_dmas);
108 if (dma2[n] < 0) { 106 if (dma2[n] < 0) {
109 snd_printk(KERN_ERR "%s: unable to find a free DMA2\n", 107 dev_err(dev, "unable to find a free DMA2\n");
110 dev->bus_id);
111 return -EBUSY; 108 return -EBUSY;
112 } 109 }
113 } 110 }
@@ -174,8 +171,8 @@ static int __devinit snd_gusclassic_probe(struct device *dev, unsigned int n)
174 171
175 error = -ENODEV; 172 error = -ENODEV;
176 if (gus->max_flag || gus->ess_flag) { 173 if (gus->max_flag || gus->ess_flag) {
177 snd_printk(KERN_ERR "%s: GUS Classic or ACE soundcard was " 174 dev_err(dev, "GUS Classic or ACE soundcard was "
178 "not detected at 0x%lx\n", dev->bus_id, gus->gf1.port); 175 "not detected at 0x%lx\n", gus->gf1.port);
179 goto out; 176 goto out;
180 } 177 }
181 178
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c
index da13185eb0a0..7ad4c3b41a84 100644
--- a/sound/isa/gus/gusextreme.c
+++ b/sound/isa/gus/gusextreme.c
@@ -106,16 +106,14 @@ static int __devinit snd_gusextreme_es1688_create(struct snd_card *card,
106 if (irq[n] == SNDRV_AUTO_IRQ) { 106 if (irq[n] == SNDRV_AUTO_IRQ) {
107 irq[n] = snd_legacy_find_free_irq(possible_irqs); 107 irq[n] = snd_legacy_find_free_irq(possible_irqs);
108 if (irq[n] < 0) { 108 if (irq[n] < 0) {
109 snd_printk(KERN_ERR "%s: unable to find a free IRQ " 109 dev_err(dev, "unable to find a free IRQ for ES1688\n");
110 "for ES1688\n", dev->bus_id);
111 return -EBUSY; 110 return -EBUSY;
112 } 111 }
113 } 112 }
114 if (dma8[n] == SNDRV_AUTO_DMA) { 113 if (dma8[n] == SNDRV_AUTO_DMA) {
115 dma8[n] = snd_legacy_find_free_dma(possible_dmas); 114 dma8[n] = snd_legacy_find_free_dma(possible_dmas);
116 if (dma8[n] < 0) { 115 if (dma8[n] < 0) {
117 snd_printk(KERN_ERR "%s: unable to find a free DMA " 116 dev_err(dev, "unable to find a free DMA for ES1688\n");
118 "for ES1688\n", dev->bus_id);
119 return -EBUSY; 117 return -EBUSY;
120 } 118 }
121 } 119 }
@@ -143,16 +141,14 @@ static int __devinit snd_gusextreme_gus_card_create(struct snd_card *card,
143 if (gf1_irq[n] == SNDRV_AUTO_IRQ) { 141 if (gf1_irq[n] == SNDRV_AUTO_IRQ) {
144 gf1_irq[n] = snd_legacy_find_free_irq(possible_irqs); 142 gf1_irq[n] = snd_legacy_find_free_irq(possible_irqs);
145 if (gf1_irq[n] < 0) { 143 if (gf1_irq[n] < 0) {
146 snd_printk(KERN_ERR "%s: unable to find a free IRQ " 144 dev_err(dev, "unable to find a free IRQ for GF1\n");
147 "for GF1\n", dev->bus_id);
148 return -EBUSY; 145 return -EBUSY;
149 } 146 }
150 } 147 }
151 if (dma1[n] == SNDRV_AUTO_DMA) { 148 if (dma1[n] == SNDRV_AUTO_DMA) {
152 dma1[n] = snd_legacy_find_free_dma(possible_dmas); 149 dma1[n] = snd_legacy_find_free_dma(possible_dmas);
153 if (dma1[n] < 0) { 150 if (dma1[n] < 0) {
154 snd_printk(KERN_ERR "%s: unable to find a free DMA " 151 dev_err(dev, "unable to find a free DMA for GF1\n");
155 "for GF1\n", dev->bus_id);
156 return -EBUSY; 152 return -EBUSY;
157 } 153 }
158 } 154 }
@@ -278,8 +274,8 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
278 274
279 error = -ENODEV; 275 error = -ENODEV;
280 if (!gus->ess_flag) { 276 if (!gus->ess_flag) {
281 snd_printk(KERN_ERR "%s: GUS Extreme soundcard was not " 277 dev_err(dev, "GUS Extreme soundcard was not "
282 "detected at 0x%lx\n", dev->bus_id, gus->gf1.port); 278 "detected at 0x%lx\n", gus->gf1.port);
283 goto out; 279 goto out;
284 } 280 }
285 gus->codec_flag = 1; 281 gus->codec_flag = 1;
@@ -310,8 +306,7 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
310 306
311 if (snd_opl3_create(card, es1688->port, es1688->port + 2, 307 if (snd_opl3_create(card, es1688->port, es1688->port + 2,
312 OPL3_HW_OPL3, 0, &opl3) < 0) 308 OPL3_HW_OPL3, 0, &opl3) < 0)
313 printk(KERN_ERR "%s: opl3 not detected at 0x%lx\n", 309 dev_warn(dev, "opl3 not detected at 0x%lx\n", es1688->port);
314 dev->bus_id, es1688->port);
315 else { 310 else {
316 error = snd_opl3_hwdep_new(opl3, 0, 2, NULL); 311 error = snd_opl3_hwdep_new(opl3, 0, 2, NULL);
317 if (error < 0) 312 if (error < 0)
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index 336a34277907..667eccc676a4 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -85,11 +85,11 @@ static int __devinit snd_sb8_match(struct device *pdev, unsigned int dev)
85 if (!enable[dev]) 85 if (!enable[dev])
86 return 0; 86 return 0;
87 if (irq[dev] == SNDRV_AUTO_IRQ) { 87 if (irq[dev] == SNDRV_AUTO_IRQ) {
88 snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); 88 dev_err(pdev, "please specify irq\n");
89 return 0; 89 return 0;
90 } 90 }
91 if (dma8[dev] == SNDRV_AUTO_DMA) { 91 if (dma8[dev] == SNDRV_AUTO_DMA) {
92 snd_printk(KERN_ERR "%s: please specify dma8\n", pdev->bus_id); 92 dev_err(pdev, "please specify dma8\n");
93 return 0; 93 return 0;
94 } 94 }
95 return 1; 95 return 1;
diff --git a/sound/oss/dmasound/dmasound.h b/sound/oss/dmasound/dmasound.h
index 1cb13fe56ec4..1308d8d34186 100644
--- a/sound/oss/dmasound/dmasound.h
+++ b/sound/oss/dmasound/dmasound.h
@@ -235,7 +235,7 @@ struct sound_queue {
235 */ 235 */
236 int active; 236 int active;
237 wait_queue_head_t action_queue, open_queue, sync_queue; 237 wait_queue_head_t action_queue, open_queue, sync_queue;
238 fmode_t open_mode; 238 int non_blocking;
239 int busy, syncing, xruns, died; 239 int busy, syncing, xruns, died;
240}; 240};
241 241
diff --git a/sound/oss/dmasound/dmasound_core.c b/sound/oss/dmasound/dmasound_core.c
index b8239f3168fb..793b7f478433 100644
--- a/sound/oss/dmasound/dmasound_core.c
+++ b/sound/oss/dmasound/dmasound_core.c
@@ -603,7 +603,7 @@ static ssize_t sq_write(struct file *file, const char __user *src, size_t uLeft,
603 while (uLeft) { 603 while (uLeft) {
604 while (write_sq.count >= write_sq.max_active) { 604 while (write_sq.count >= write_sq.max_active) {
605 sq_play(); 605 sq_play();
606 if (write_sq.open_mode & O_NONBLOCK) 606 if (write_sq.non_blocking)
607 return uWritten > 0 ? uWritten : -EAGAIN; 607 return uWritten > 0 ? uWritten : -EAGAIN;
608 SLEEP(write_sq.action_queue); 608 SLEEP(write_sq.action_queue);
609 if (signal_pending(current)) 609 if (signal_pending(current))
@@ -718,7 +718,7 @@ static int sq_open2(struct sound_queue *sq, struct file *file, fmode_t mode,
718 return rc; 718 return rc;
719 } 719 }
720 720
721 sq->open_mode = file->f_mode; 721 sq->non_blocking = file->f_flags & O_NONBLOCK;
722 } 722 }
723 return rc; 723 return rc;
724} 724}
diff --git a/sound/oss/kahlua.c b/sound/oss/kahlua.c
index eb9bc365530d..c180598f1710 100644
--- a/sound/oss/kahlua.c
+++ b/sound/oss/kahlua.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Initialisation code for Cyrix/NatSemi VSA1 softaudio 2 * Initialisation code for Cyrix/NatSemi VSA1 softaudio
3 * 3 *
4 * (C) Copyright 2003 Red Hat Inc <alan@redhat.com> 4 * (C) Copyright 2003 Red Hat Inc <alan@lxorguk.ukuu.org.uk>
5 * 5 *
6 * XpressAudio(tm) is used on the Cyrix MediaGX (now NatSemi Geode) systems. 6 * XpressAudio(tm) is used on the Cyrix MediaGX (now NatSemi Geode) systems.
7 * The older version (VSA1) provides fairly good soundblaster emulation 7 * The older version (VSA1) provides fairly good soundblaster emulation
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 6704acbca8c0..bd510eceff1f 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -1927,9 +1927,9 @@ static int snd_ac97_dev_register(struct snd_device *device)
1927 ac97->dev.bus = &ac97_bus_type; 1927 ac97->dev.bus = &ac97_bus_type;
1928 ac97->dev.parent = ac97->bus->card->dev; 1928 ac97->dev.parent = ac97->bus->card->dev;
1929 ac97->dev.release = ac97_device_release; 1929 ac97->dev.release = ac97_device_release;
1930 snprintf(ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s", 1930 dev_set_name(&ac97->dev, "%d-%d:%s",
1931 ac97->bus->card->number, ac97->num, 1931 ac97->bus->card->number, ac97->num,
1932 snd_ac97_get_short_name(ac97)); 1932 snd_ac97_get_short_name(ac97));
1933 if ((err = device_register(&ac97->dev)) < 0) { 1933 if ((err = device_register(&ac97->dev)) < 0) {
1934 snd_printk(KERN_ERR "Can't register ac97 bus\n"); 1934 snd_printk(KERN_ERR "Can't register ac97 bus\n");
1935 ac97->dev.bus = NULL; 1935 ac97->dev.bus = NULL;
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c
index 92f3a976ef2e..a7f38e63303f 100644
--- a/sound/pci/ad1889.c
+++ b/sound/pci/ad1889.c
@@ -932,7 +932,7 @@ snd_ad1889_create(struct snd_card *card,
932 goto free_and_ret; 932 goto free_and_ret;
933 933
934 chip->bar = pci_resource_start(pci, 0); 934 chip->bar = pci_resource_start(pci, 0);
935 chip->iobase = ioremap_nocache(chip->bar, pci_resource_len(pci, 0)); 935 chip->iobase = pci_ioremap_bar(pci, 0);
936 if (chip->iobase == NULL) { 936 if (chip->iobase == NULL) {
937 printk(KERN_ERR PFX "unable to reserve region.\n"); 937 printk(KERN_ERR PFX "unable to reserve region.\n");
938 err = -EBUSY; 938 err = -EBUSY;
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c
index 085a52b8c807..226fe8237d31 100644
--- a/sound/pci/atiixp.c
+++ b/sound/pci/atiixp.c
@@ -1609,7 +1609,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1609 return err; 1609 return err;
1610 } 1610 }
1611 chip->addr = pci_resource_start(pci, 0); 1611 chip->addr = pci_resource_start(pci, 0);
1612 chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci, 0)); 1612 chip->remap_addr = pci_ioremap_bar(pci, 0);
1613 if (chip->remap_addr == NULL) { 1613 if (chip->remap_addr == NULL) {
1614 snd_printk(KERN_ERR "AC'97 space ioremap problem\n"); 1614 snd_printk(KERN_ERR "AC'97 space ioremap problem\n");
1615 snd_atiixp_free(chip); 1615 snd_atiixp_free(chip);
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c
index 2f106306c7fe..0e6e5cc1c501 100644
--- a/sound/pci/atiixp_modem.c
+++ b/sound/pci/atiixp_modem.c
@@ -1252,7 +1252,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1252 return err; 1252 return err;
1253 } 1253 }
1254 chip->addr = pci_resource_start(pci, 0); 1254 chip->addr = pci_resource_start(pci, 0);
1255 chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci, 0)); 1255 chip->remap_addr = pci_ioremap_bar(pci, 0);
1256 if (chip->remap_addr == NULL) { 1256 if (chip->remap_addr == NULL) {
1257 snd_printk(KERN_ERR "AC'97 space ioremap problem\n"); 1257 snd_printk(KERN_ERR "AC'97 space ioremap problem\n");
1258 snd_atiixp_free(chip); 1258 snd_atiixp_free(chip);
diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c
index 68368e490074..a36d4d1fd419 100644
--- a/sound/pci/au88x0/au88x0.c
+++ b/sound/pci/au88x0/au88x0.c
@@ -180,8 +180,7 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
180 if ((err = pci_request_regions(pci, CARD_NAME_SHORT)) != 0) 180 if ((err = pci_request_regions(pci, CARD_NAME_SHORT)) != 0)
181 goto regions_out; 181 goto regions_out;
182 182
183 chip->mmio = ioremap_nocache(pci_resource_start(pci, 0), 183 chip->mmio = pci_ioremap_bar(pci, 0);
184 pci_resource_len(pci, 0));
185 if (!chip->mmio) { 184 if (!chip->mmio) {
186 printk(KERN_ERR "MMIO area remap failed.\n"); 185 printk(KERN_ERR "MMIO area remap failed.\n");
187 err = -ENOMEM; 186 err = -ENOMEM;
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 3aa8d973540a..1aa1c0402540 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -749,8 +749,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
749 pci_disable_device(pci); 749 pci_disable_device(pci);
750 return err; 750 return err;
751 } 751 }
752 chip->mmio = ioremap_nocache(pci_resource_start(pci, 0), 752 chip->mmio = pci_ioremap_bar(pci, 0);
753 pci_resource_len(pci, 0));
754 if (!chip->mmio) { 753 if (!chip->mmio) {
755 snd_printk(KERN_ERR "cannot remap io memory\n"); 754 snd_printk(KERN_ERR "cannot remap io memory\n");
756 err = -ENOMEM; 755 err = -ENOMEM;
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c
index ef9308f7c45b..192e7842e181 100644
--- a/sound/pci/cs4281.c
+++ b/sound/pci/cs4281.c
@@ -1382,8 +1382,8 @@ static int __devinit snd_cs4281_create(struct snd_card *card,
1382 chip->ba0_addr = pci_resource_start(pci, 0); 1382 chip->ba0_addr = pci_resource_start(pci, 0);
1383 chip->ba1_addr = pci_resource_start(pci, 1); 1383 chip->ba1_addr = pci_resource_start(pci, 1);
1384 1384
1385 chip->ba0 = ioremap_nocache(chip->ba0_addr, pci_resource_len(pci, 0)); 1385 chip->ba0 = pci_ioremap_bar(pci, 0);
1386 chip->ba1 = ioremap_nocache(chip->ba1_addr, pci_resource_len(pci, 1)); 1386 chip->ba1 = pci_ioremap_bar(pci, 1);
1387 if (!chip->ba0 || !chip->ba1) { 1387 if (!chip->ba0 || !chip->ba1) {
1388 snd_cs4281_free(chip); 1388 snd_cs4281_free(chip);
1389 return -ENOMEM; 1389 return -ENOMEM;
diff --git a/sound/pci/cs5530.c b/sound/pci/cs5530.c
index 7ff8b68e997e..6dea5b5cc774 100644
--- a/sound/pci/cs5530.c
+++ b/sound/pci/cs5530.c
@@ -2,7 +2,7 @@
2 * cs5530.c - Initialisation code for Cyrix/NatSemi VSA1 softaudio 2 * cs5530.c - Initialisation code for Cyrix/NatSemi VSA1 softaudio
3 * 3 *
4 * (C) Copyright 2007 Ash Willis <ashwillis@programmer.net> 4 * (C) Copyright 2007 Ash Willis <ashwillis@programmer.net>
5 * (C) Copyright 2003 Red Hat Inc <alan@redhat.com> 5 * (C) Copyright 2003 Red Hat Inc <alan@lxorguk.ukuu.org.uk>
6 * 6 *
7 * This driver was ported (shamelessly ripped ;) from oss/kahlua.c but I did 7 * This driver was ported (shamelessly ripped ;) from oss/kahlua.c but I did
8 * mess with it a bit. The chip seems to have to have trouble with full duplex 8 * mess with it a bit. The chip seems to have to have trouble with full duplex
@@ -132,7 +132,7 @@ static int __devinit snd_cs5530_create(struct snd_card *card,
132 } 132 }
133 chip->pci_base = pci_resource_start(pci, 0); 133 chip->pci_base = pci_resource_start(pci, 0);
134 134
135 mem = ioremap_nocache(chip->pci_base, pci_resource_len(pci, 0)); 135 mem = pci_ioremap_bar(pci, 0);
136 if (mem == NULL) { 136 if (mem == NULL) {
137 kfree(chip); 137 kfree(chip);
138 pci_disable_device(pci); 138 pci_disable_device(pci);
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index 2f283ea6ad9a..de5ee8f097f6 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -1464,6 +1464,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
1464 .ca0151_chip = 1, 1464 .ca0151_chip = 1,
1465 .spk71 = 1, 1465 .spk71 = 1,
1466 .spdif_bug = 1, 1466 .spdif_bug = 1,
1467 .invert_shared_spdif = 1, /* digital/analog switch swapped */
1467 .ac97_chip = 1} , 1468 .ac97_chip = 1} ,
1468 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, 1469 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102,
1469 .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", 1470 .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]",
@@ -1473,6 +1474,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
1473 .ca0151_chip = 1, 1474 .ca0151_chip = 1,
1474 .spk71 = 1, 1475 .spk71 = 1,
1475 .spdif_bug = 1, 1476 .spdif_bug = 1,
1477 .invert_shared_spdif = 1, /* digital/analog switch swapped */
1476 .ac97_chip = 1} , 1478 .ac97_chip = 1} ,
1477 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, 1479 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102,
1478 .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", 1480 .driver = "Audigy2", .name = "Audigy 2 ZS [2001]",
@@ -1482,6 +1484,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
1482 .ca0151_chip = 1, 1484 .ca0151_chip = 1,
1483 .spk71 = 1, 1485 .spk71 = 1,
1484 .spdif_bug = 1, 1486 .spdif_bug = 1,
1487 .invert_shared_spdif = 1, /* digital/analog switch swapped */
1485 .ac97_chip = 1} , 1488 .ac97_chip = 1} ,
1486 /* Audigy 2 */ 1489 /* Audigy 2 */
1487 /* Tested by James@superbug.co.uk 3rd July 2005 */ 1490 /* Tested by James@superbug.co.uk 3rd July 2005 */
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 6447754ae56e..ba1ab737b55f 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -64,6 +64,7 @@ static struct hda_vendor_id hda_vendor_ids[] = {
64 { 0x14f1, "Conexant" }, 64 { 0x14f1, "Conexant" },
65 { 0x17e8, "Chrontel" }, 65 { 0x17e8, "Chrontel" },
66 { 0x1854, "LG" }, 66 { 0x1854, "LG" },
67 { 0x1aec, "Wolfson Microelectronics" },
67 { 0x434d, "C-Media" }, 68 { 0x434d, "C-Media" },
68 { 0x8384, "SigmaTel" }, 69 { 0x8384, "SigmaTel" },
69 {} /* terminator */ 70 {} /* terminator */
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 9f316c1b2790..35722ec920cb 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -45,6 +45,7 @@
45#include <linux/slab.h> 45#include <linux/slab.h>
46#include <linux/pci.h> 46#include <linux/pci.h>
47#include <linux/mutex.h> 47#include <linux/mutex.h>
48#include <linux/reboot.h>
48#include <sound/core.h> 49#include <sound/core.h>
49#include <sound/initval.h> 50#include <sound/initval.h>
50#include "hda_codec.h" 51#include "hda_codec.h"
@@ -397,6 +398,9 @@ struct azx {
397 398
398 /* for pending irqs */ 399 /* for pending irqs */
399 struct work_struct irq_pending_work; 400 struct work_struct irq_pending_work;
401
402 /* reboot notifier (for mysterious hangup problem at power-down) */
403 struct notifier_block reboot_notifier;
400}; 404};
401 405
402/* driver types */ 406/* driver types */
@@ -1979,12 +1983,36 @@ static int azx_resume(struct pci_dev *pci)
1979 1983
1980 1984
1981/* 1985/*
1986 * reboot notifier for hang-up problem at power-down
1987 */
1988static int azx_halt(struct notifier_block *nb, unsigned long event, void *buf)
1989{
1990 struct azx *chip = container_of(nb, struct azx, reboot_notifier);
1991 azx_stop_chip(chip);
1992 return NOTIFY_OK;
1993}
1994
1995static void azx_notifier_register(struct azx *chip)
1996{
1997 chip->reboot_notifier.notifier_call = azx_halt;
1998 register_reboot_notifier(&chip->reboot_notifier);
1999}
2000
2001static void azx_notifier_unregister(struct azx *chip)
2002{
2003 if (chip->reboot_notifier.notifier_call)
2004 unregister_reboot_notifier(&chip->reboot_notifier);
2005}
2006
2007/*
1982 * destructor 2008 * destructor
1983 */ 2009 */
1984static int azx_free(struct azx *chip) 2010static int azx_free(struct azx *chip)
1985{ 2011{
1986 int i; 2012 int i;
1987 2013
2014 azx_notifier_unregister(chip);
2015
1988 if (chip->initialized) { 2016 if (chip->initialized) {
1989 azx_clear_irq_pending(chip); 2017 azx_clear_irq_pending(chip);
1990 for (i = 0; i < chip->num_streams; i++) 2018 for (i = 0; i < chip->num_streams; i++)
@@ -2158,7 +2186,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
2158 } 2186 }
2159 2187
2160 chip->addr = pci_resource_start(pci, 0); 2188 chip->addr = pci_resource_start(pci, 0);
2161 chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci,0)); 2189 chip->remap_addr = pci_ioremap_bar(pci, 0);
2162 if (chip->remap_addr == NULL) { 2190 if (chip->remap_addr == NULL) {
2163 snd_printk(KERN_ERR SFX "ioremap error\n"); 2191 snd_printk(KERN_ERR SFX "ioremap error\n");
2164 err = -ENXIO; 2192 err = -ENXIO;
@@ -2348,6 +2376,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
2348 pci_set_drvdata(pci, card); 2376 pci_set_drvdata(pci, card);
2349 chip->running = 1; 2377 chip->running = 1;
2350 power_down_all_codecs(chip); 2378 power_down_all_codecs(chip);
2379 azx_notifier_register(chip);
2351 2380
2352 dev++; 2381 dev++;
2353 return err; 2382 return err;
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c
index 743d77922bce..c39af986bff1 100644
--- a/sound/pci/hda/hda_proc.c
+++ b/sound/pci/hda/hda_proc.c
@@ -483,6 +483,8 @@ static void print_gpio(struct snd_info_buffer *buffer,
483 (gpio & AC_GPIO_UNSOLICITED) ? 1 : 0, 483 (gpio & AC_GPIO_UNSOLICITED) ? 1 : 0,
484 (gpio & AC_GPIO_WAKE) ? 1 : 0); 484 (gpio & AC_GPIO_WAKE) ? 1 : 0);
485 max = gpio & AC_GPIO_IO_COUNT; 485 max = gpio & AC_GPIO_IO_COUNT;
486 if (!max || max > 8)
487 return;
486 enable = snd_hda_codec_read(codec, nid, 0, 488 enable = snd_hda_codec_read(codec, nid, 0,
487 AC_VERB_GET_GPIO_MASK, 0); 489 AC_VERB_GET_GPIO_MASK, 0);
488 direction = snd_hda_codec_read(codec, nid, 0, 490 direction = snd_hda_codec_read(codec, nid, 0,
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 2b00c4afdf97..686c77491dea 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -3860,6 +3860,9 @@ static const char *ad1884a_models[AD1884A_MODELS] = {
3860 3860
3861static struct snd_pci_quirk ad1884a_cfg_tbl[] = { 3861static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
3862 SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE), 3862 SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
3863 SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
3864 SND_PCI_QUIRK(0x103c, 0x30e7, "HP EliteBook 8530p", AD1884A_LAPTOP),
3865 SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
3863 SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD), 3866 SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
3864 {} 3867 {}
3865}; 3868};
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ef4955c73c88..a378c0145125 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -307,6 +307,13 @@ struct alc_spec {
307 /* for PLL fix */ 307 /* for PLL fix */
308 hda_nid_t pll_nid; 308 hda_nid_t pll_nid;
309 unsigned int pll_coef_idx, pll_coef_bit; 309 unsigned int pll_coef_idx, pll_coef_bit;
310
311#ifdef SND_HDA_NEEDS_RESUME
312#define ALC_MAX_PINS 16
313 unsigned int num_pins;
314 hda_nid_t pin_nids[ALC_MAX_PINS];
315 unsigned int pin_cfgs[ALC_MAX_PINS];
316#endif
310}; 317};
311 318
312/* 319/*
@@ -822,6 +829,7 @@ static void alc_sku_automute(struct hda_codec *codec)
822 spec->jack_present ? 0 : PIN_OUT); 829 spec->jack_present ? 0 : PIN_OUT);
823} 830}
824 831
832#if 0 /* it's broken in some acses -- temporarily disabled */
825static void alc_mic_automute(struct hda_codec *codec) 833static void alc_mic_automute(struct hda_codec *codec)
826{ 834{
827 struct alc_spec *spec = codec->spec; 835 struct alc_spec *spec = codec->spec;
@@ -842,6 +850,9 @@ static void alc_mic_automute(struct hda_codec *codec)
842 snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic, 850 snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic,
843 HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); 851 HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0);
844} 852}
853#else
854#define alc_mic_automute(codec) /* NOP */
855#endif /* disabled */
845 856
846/* unsolicited event for HP jack sensing */ 857/* unsolicited event for HP jack sensing */
847static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res) 858static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res)
@@ -1051,12 +1062,14 @@ do_sku:
1051 AC_VERB_SET_UNSOLICITED_ENABLE, 1062 AC_VERB_SET_UNSOLICITED_ENABLE,
1052 AC_USRSP_EN | ALC880_HP_EVENT); 1063 AC_USRSP_EN | ALC880_HP_EVENT);
1053 1064
1065#if 0 /* it's broken in some acses -- temporarily disabled */
1054 if (spec->autocfg.input_pins[AUTO_PIN_MIC] && 1066 if (spec->autocfg.input_pins[AUTO_PIN_MIC] &&
1055 spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC]) 1067 spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC])
1056 snd_hda_codec_write(codec, 1068 snd_hda_codec_write(codec,
1057 spec->autocfg.input_pins[AUTO_PIN_MIC], 0, 1069 spec->autocfg.input_pins[AUTO_PIN_MIC], 0,
1058 AC_VERB_SET_UNSOLICITED_ENABLE, 1070 AC_VERB_SET_UNSOLICITED_ENABLE,
1059 AC_USRSP_EN | ALC880_MIC_EVENT); 1071 AC_USRSP_EN | ALC880_MIC_EVENT);
1072#endif /* disabled */
1060 1073
1061 spec->unsol_event = alc_sku_unsol_event; 1074 spec->unsol_event = alc_sku_unsol_event;
1062} 1075}
@@ -2778,6 +2791,64 @@ static void alc_free(struct hda_codec *codec)
2778 codec->spec = NULL; /* to be sure */ 2791 codec->spec = NULL; /* to be sure */
2779} 2792}
2780 2793
2794#ifdef SND_HDA_NEEDS_RESUME
2795static void store_pin_configs(struct hda_codec *codec)
2796{
2797 struct alc_spec *spec = codec->spec;
2798 hda_nid_t nid, end_nid;
2799
2800 end_nid = codec->start_nid + codec->num_nodes;
2801 for (nid = codec->start_nid; nid < end_nid; nid++) {
2802 unsigned int wid_caps = get_wcaps(codec, nid);
2803 unsigned int wid_type =
2804 (wid_caps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
2805 if (wid_type != AC_WID_PIN)
2806 continue;
2807 if (spec->num_pins >= ARRAY_SIZE(spec->pin_nids))
2808 break;
2809 spec->pin_nids[spec->num_pins] = nid;
2810 spec->pin_cfgs[spec->num_pins] =
2811 snd_hda_codec_read(codec, nid, 0,
2812 AC_VERB_GET_CONFIG_DEFAULT, 0);
2813 spec->num_pins++;
2814 }
2815}
2816
2817static void resume_pin_configs(struct hda_codec *codec)
2818{
2819 struct alc_spec *spec = codec->spec;
2820 int i;
2821
2822 for (i = 0; i < spec->num_pins; i++) {
2823 hda_nid_t pin_nid = spec->pin_nids[i];
2824 unsigned int pin_config = spec->pin_cfgs[i];
2825 snd_hda_codec_write(codec, pin_nid, 0,
2826 AC_VERB_SET_CONFIG_DEFAULT_BYTES_0,
2827 pin_config & 0x000000ff);
2828 snd_hda_codec_write(codec, pin_nid, 0,
2829 AC_VERB_SET_CONFIG_DEFAULT_BYTES_1,
2830 (pin_config & 0x0000ff00) >> 8);
2831 snd_hda_codec_write(codec, pin_nid, 0,
2832 AC_VERB_SET_CONFIG_DEFAULT_BYTES_2,
2833 (pin_config & 0x00ff0000) >> 16);
2834 snd_hda_codec_write(codec, pin_nid, 0,
2835 AC_VERB_SET_CONFIG_DEFAULT_BYTES_3,
2836 pin_config >> 24);
2837 }
2838}
2839
2840static int alc_resume(struct hda_codec *codec)
2841{
2842 resume_pin_configs(codec);
2843 codec->patch_ops.init(codec);
2844 snd_hda_codec_resume_amp(codec);
2845 snd_hda_codec_resume_cache(codec);
2846 return 0;
2847}
2848#else
2849#define store_pin_configs(codec)
2850#endif
2851
2781/* 2852/*
2782 */ 2853 */
2783static struct hda_codec_ops alc_patch_ops = { 2854static struct hda_codec_ops alc_patch_ops = {
@@ -2786,6 +2857,9 @@ static struct hda_codec_ops alc_patch_ops = {
2786 .init = alc_init, 2857 .init = alc_init,
2787 .free = alc_free, 2858 .free = alc_free,
2788 .unsol_event = alc_unsol_event, 2859 .unsol_event = alc_unsol_event,
2860#ifdef SND_HDA_NEEDS_RESUME
2861 .resume = alc_resume,
2862#endif
2789#ifdef CONFIG_SND_HDA_POWER_SAVE 2863#ifdef CONFIG_SND_HDA_POWER_SAVE
2790 .check_power_status = alc_check_power_status, 2864 .check_power_status = alc_check_power_status,
2791#endif 2865#endif
@@ -3832,6 +3906,7 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
3832 spec->num_mux_defs = 1; 3906 spec->num_mux_defs = 1;
3833 spec->input_mux = &spec->private_imux; 3907 spec->input_mux = &spec->private_imux;
3834 3908
3909 store_pin_configs(codec);
3835 return 1; 3910 return 1;
3836} 3911}
3837 3912
@@ -5250,6 +5325,7 @@ static int alc260_parse_auto_config(struct hda_codec *codec)
5250 } 5325 }
5251 spec->num_mixers++; 5326 spec->num_mixers++;
5252 5327
5328 store_pin_configs(codec);
5253 return 1; 5329 return 1;
5254} 5330}
5255 5331
@@ -8338,6 +8414,7 @@ static const char *alc883_models[ALC883_MODEL_LAST] = {
8338static struct snd_pci_quirk alc883_cfg_tbl[] = { 8414static struct snd_pci_quirk alc883_cfg_tbl[] = {
8339 SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG), 8415 SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG),
8340 SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE), 8416 SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE),
8417 SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_ACER_ASPIRE),
8341 SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), 8418 SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE),
8342 SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), 8419 SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE),
8343 SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), 8420 SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE),
@@ -8392,6 +8469,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
8392 SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763), 8469 SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
8393 SND_PCI_QUIRK(0x17aa, 0x101d, "Lenovo Sky", ALC888_LENOVO_SKY), 8470 SND_PCI_QUIRK(0x17aa, 0x101d, "Lenovo Sky", ALC888_LENOVO_SKY),
8394 SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2), 8471 SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
8472 SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
8395 SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG), 8473 SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
8396 SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66), 8474 SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
8397 SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL), 8475 SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
@@ -10313,6 +10391,7 @@ static int alc262_parse_auto_config(struct hda_codec *codec)
10313 if (err < 0) 10391 if (err < 0)
10314 return err; 10392 return err;
10315 10393
10394 store_pin_configs(codec);
10316 return 1; 10395 return 1;
10317} 10396}
10318 10397
@@ -11447,6 +11526,7 @@ static int alc268_parse_auto_config(struct hda_codec *codec)
11447 if (err < 0) 11526 if (err < 0)
11448 return err; 11527 return err;
11449 11528
11529 store_pin_configs(codec);
11450 return 1; 11530 return 1;
11451} 11531}
11452 11532
@@ -12166,8 +12246,26 @@ static int alc269_auto_create_multi_out_ctls(struct alc_spec *spec,
12166 return 0; 12246 return 0;
12167} 12247}
12168 12248
12169#define alc269_auto_create_analog_input_ctls \ 12249static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec,
12170 alc880_auto_create_analog_input_ctls 12250 const struct auto_pin_cfg *cfg)
12251{
12252 int err;
12253
12254 err = alc880_auto_create_analog_input_ctls(spec, cfg);
12255 if (err < 0)
12256 return err;
12257 /* digital-mic input pin is excluded in alc880_auto_create..()
12258 * because it's under 0x18
12259 */
12260 if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 ||
12261 cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) {
12262 struct hda_input_mux *imux = &spec->private_imux;
12263 imux->items[imux->num_items].label = "Int Mic";
12264 imux->items[imux->num_items].index = 0x05;
12265 imux->num_items++;
12266 }
12267 return 0;
12268}
12171 12269
12172#ifdef CONFIG_SND_HDA_POWER_SAVE 12270#ifdef CONFIG_SND_HDA_POWER_SAVE
12173#define alc269_loopbacks alc880_loopbacks 12271#define alc269_loopbacks alc880_loopbacks
@@ -12230,6 +12328,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
12230 spec->mixers[spec->num_mixers] = alc269_capture_mixer; 12328 spec->mixers[spec->num_mixers] = alc269_capture_mixer;
12231 spec->num_mixers++; 12329 spec->num_mixers++;
12232 12330
12331 store_pin_configs(codec);
12233 return 1; 12332 return 1;
12234} 12333}
12235 12334
@@ -13316,6 +13415,7 @@ static int alc861_parse_auto_config(struct hda_codec *codec)
13316 spec->mixers[spec->num_mixers] = alc861_capture_mixer; 13415 spec->mixers[spec->num_mixers] = alc861_capture_mixer;
13317 spec->num_mixers++; 13416 spec->num_mixers++;
13318 13417
13418 store_pin_configs(codec);
13319 return 1; 13419 return 1;
13320} 13420}
13321 13421
@@ -14427,6 +14527,7 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec)
14427 if (err < 0) 14527 if (err < 0)
14428 return err; 14528 return err;
14429 14529
14530 store_pin_configs(codec);
14430 return 1; 14531 return 1;
14431} 14532}
14432 14533
@@ -16258,6 +16359,8 @@ static int alc662_parse_auto_config(struct hda_codec *codec)
16258 16359
16259 spec->mixers[spec->num_mixers] = alc662_capture_mixer; 16360 spec->mixers[spec->num_mixers] = alc662_capture_mixer;
16260 spec->num_mixers++; 16361 spec->num_mixers++;
16362
16363 store_pin_configs(codec);
16261 return 1; 16364 return 1;
16262} 16365}
16263 16366
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 788fdc6f3264..e6085915d86d 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -69,6 +69,7 @@ enum {
69enum { 69enum {
70 STAC_92HD73XX_REF, 70 STAC_92HD73XX_REF,
71 STAC_DELL_M6, 71 STAC_DELL_M6,
72 STAC_DELL_EQ,
72 STAC_92HD73XX_MODELS 73 STAC_92HD73XX_MODELS
73}; 74};
74 75
@@ -566,10 +567,8 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
566 nid = codec->slave_dig_outs[smux_idx - 1]; 567 nid = codec->slave_dig_outs[smux_idx - 1];
567 if (spec->cur_smux[smux_idx] == smux->num_items - 1) 568 if (spec->cur_smux[smux_idx] == smux->num_items - 1)
568 val = AMP_OUT_MUTE; 569 val = AMP_OUT_MUTE;
569 if (smux_idx == 0)
570 nid = spec->multiout.dig_out_nid;
571 else 570 else
572 nid = codec->slave_dig_outs[smux_idx - 1]; 571 val = AMP_OUT_UNMUTE;
573 /* un/mute SPDIF out */ 572 /* un/mute SPDIF out */
574 snd_hda_codec_write_cache(codec, nid, 0, 573 snd_hda_codec_write_cache(codec, nid, 0,
575 AC_VERB_SET_AMP_GAIN_MUTE, val); 574 AC_VERB_SET_AMP_GAIN_MUTE, val);
@@ -775,9 +774,7 @@ static struct hda_verb dell_eq_core_init[] = {
775}; 774};
776 775
777static struct hda_verb dell_m6_core_init[] = { 776static struct hda_verb dell_m6_core_init[] = {
778 /* set master volume to max value without distortion 777 { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff},
779 * and direct control */
780 { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
781 /* setup audio connections */ 778 /* setup audio connections */
782 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, 779 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
783 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, 780 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
@@ -1602,11 +1599,13 @@ static unsigned int dell_m6_pin_configs[13] = {
1602static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { 1599static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = {
1603 [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, 1600 [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs,
1604 [STAC_DELL_M6] = dell_m6_pin_configs, 1601 [STAC_DELL_M6] = dell_m6_pin_configs,
1602 [STAC_DELL_EQ] = dell_m6_pin_configs,
1605}; 1603};
1606 1604
1607static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { 1605static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = {
1608 [STAC_92HD73XX_REF] = "ref", 1606 [STAC_92HD73XX_REF] = "ref",
1609 [STAC_DELL_M6] = "dell-m6", 1607 [STAC_DELL_M6] = "dell-m6",
1608 [STAC_DELL_EQ] = "dell-eq",
1610}; 1609};
1611 1610
1612static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { 1611static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
@@ -4133,12 +4132,17 @@ again:
4133 sizeof(stac92hd73xx_dmux)); 4132 sizeof(stac92hd73xx_dmux));
4134 4133
4135 switch (spec->board_config) { 4134 switch (spec->board_config) {
4136 case STAC_DELL_M6: 4135 case STAC_DELL_EQ:
4137 spec->init = dell_eq_core_init; 4136 spec->init = dell_eq_core_init;
4137 /* fallthru */
4138 case STAC_DELL_M6:
4138 spec->num_smuxes = 0; 4139 spec->num_smuxes = 0;
4139 spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; 4140 spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
4140 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; 4141 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
4141 spec->num_amps = 1; 4142 spec->num_amps = 1;
4143
4144 if (!spec->init)
4145 spec->init = dell_m6_core_init;
4142 switch (codec->subsystem_id) { 4146 switch (codec->subsystem_id) {
4143 case 0x1028025e: /* Analog Mics */ 4147 case 0x1028025e: /* Analog Mics */
4144 case 0x1028025f: 4148 case 0x1028025f:
@@ -4148,8 +4152,6 @@ again:
4148 break; 4152 break;
4149 case 0x10280271: /* Digital Mics */ 4153 case 0x10280271: /* Digital Mics */
4150 case 0x10280272: 4154 case 0x10280272:
4151 spec->init = dell_m6_core_init;
4152 /* fall-through */
4153 case 0x10280254: 4155 case 0x10280254:
4154 case 0x10280255: 4156 case 0x10280255:
4155 stac92xx_set_config_reg(codec, 0x13, 0x90A60160); 4157 stac92xx_set_config_reg(codec, 0x13, 0x90A60160);
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 5b442383fcda..58d7cda03de5 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -2688,12 +2688,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
2688 return err; 2688 return err;
2689 } 2689 }
2690 2690
2691 if (ice_has_con_ac97(ice)) 2691 if (ice_has_con_ac97(ice)) {
2692 err = snd_ice1712_pcm(ice, pcm_dev++, NULL); 2692 err = snd_ice1712_pcm(ice, pcm_dev++, NULL);
2693 if (err < 0) { 2693 if (err < 0) {
2694 snd_card_free(card); 2694 snd_card_free(card);
2695 return err; 2695 return err;
2696 } 2696 }
2697 }
2697 2698
2698 err = snd_ice1712_ac97_mixer(ice); 2699 err = snd_ice1712_ac97_mixer(ice);
2699 if (err < 0) { 2700 if (err < 0) {
@@ -2715,12 +2716,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
2715 } 2716 }
2716 } 2717 }
2717 2718
2718 if (ice_has_con_ac97(ice)) 2719 if (ice_has_con_ac97(ice)) {
2719 err = snd_ice1712_pcm_ds(ice, pcm_dev++, NULL); 2720 err = snd_ice1712_pcm_ds(ice, pcm_dev++, NULL);
2720 if (err < 0) { 2721 if (err < 0) {
2721 snd_card_free(card); 2722 snd_card_free(card);
2722 return err; 2723 return err;
2723 } 2724 }
2725 }
2724 2726
2725 if (!c->no_mpu401) { 2727 if (!c->no_mpu401) {
2726 err = snd_mpu401_uart_new(card, 0, MPU401_HW_ICE1712, 2728 err = snd_mpu401_uart_new(card, 0, MPU401_HW_ICE1712,
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index c88d1eace1c4..19d3391e229f 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2702,6 +2702,7 @@ static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
2702 SND_PCI_QUIRK(0x0e11, 0x008a, "AD1885", 41000), 2702 SND_PCI_QUIRK(0x0e11, 0x008a, "AD1885", 41000),
2703 SND_PCI_QUIRK(0x1028, 0x00be, "AD1885", 44100), 2703 SND_PCI_QUIRK(0x1028, 0x00be, "AD1885", 44100),
2704 SND_PCI_QUIRK(0x1028, 0x0177, "AD1980", 48000), 2704 SND_PCI_QUIRK(0x1028, 0x0177, "AD1980", 48000),
2705 SND_PCI_QUIRK(0x1028, 0x01ad, "AD1981B", 48000),
2705 SND_PCI_QUIRK(0x1043, 0x80f3, "AD1985", 48000), 2706 SND_PCI_QUIRK(0x1043, 0x80f3, "AD1985", 48000),
2706 { } /* terminator */ 2707 { } /* terminator */
2707}; 2708};
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c
index 2d0dce649a64..ae7601f353a7 100644
--- a/sound/pci/mixart/mixart.c
+++ b/sound/pci/mixart/mixart.c
@@ -1314,8 +1314,7 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
1314 } 1314 }
1315 for (i = 0; i < 2; i++) { 1315 for (i = 0; i < 2; i++) {
1316 mgr->mem[i].phys = pci_resource_start(pci, i); 1316 mgr->mem[i].phys = pci_resource_start(pci, i);
1317 mgr->mem[i].virt = ioremap_nocache(mgr->mem[i].phys, 1317 mgr->mem[i].virt = pci_ioremap_bar(pci, i);
1318 pci_resource_len(pci, i));
1319 if (!mgr->mem[i].virt) { 1318 if (!mgr->mem[i].virt) {
1320 printk(KERN_ERR "unable to remap resource 0x%lx\n", 1319 printk(KERN_ERR "unable to remap resource 0x%lx\n",
1321 mgr->mem[i].phys); 1320 mgr->mem[i].phys);
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index d723543beadd..736246f98acc 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -4548,11 +4548,20 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne
4548{ 4548{
4549 struct hdsp *hdsp = (struct hdsp *)hw->private_data; 4549 struct hdsp *hdsp = (struct hdsp *)hw->private_data;
4550 void __user *argp = (void __user *)arg; 4550 void __user *argp = (void __user *)arg;
4551 int err;
4551 4552
4552 switch (cmd) { 4553 switch (cmd) {
4553 case SNDRV_HDSP_IOCTL_GET_PEAK_RMS: { 4554 case SNDRV_HDSP_IOCTL_GET_PEAK_RMS: {
4554 struct hdsp_peak_rms __user *peak_rms = (struct hdsp_peak_rms __user *)arg; 4555 struct hdsp_peak_rms __user *peak_rms = (struct hdsp_peak_rms __user *)arg;
4555 4556
4557 err = hdsp_check_for_iobox(hdsp);
4558 if (err < 0)
4559 return err;
4560
4561 err = hdsp_check_for_firmware(hdsp, 1);
4562 if (err < 0)
4563 return err;
4564
4556 if (!(hdsp->state & HDSP_FirmwareLoaded)) { 4565 if (!(hdsp->state & HDSP_FirmwareLoaded)) {
4557 snd_printk(KERN_ERR "Hammerfall-DSP: firmware needs to be uploaded to the card.\n"); 4566 snd_printk(KERN_ERR "Hammerfall-DSP: firmware needs to be uploaded to the card.\n");
4558 return -EINVAL; 4567 return -EINVAL;
@@ -4572,10 +4581,14 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne
4572 unsigned long flags; 4581 unsigned long flags;
4573 int i; 4582 int i;
4574 4583
4575 if (!(hdsp->state & HDSP_FirmwareLoaded)) { 4584 err = hdsp_check_for_iobox(hdsp);
4576 snd_printk(KERN_ERR "Hammerfall-DSP: Firmware needs to be uploaded to the card.\n"); 4585 if (err < 0)
4577 return -EINVAL; 4586 return err;
4578 } 4587
4588 err = hdsp_check_for_firmware(hdsp, 1);
4589 if (err < 0)
4590 return err;
4591
4579 spin_lock_irqsave(&hdsp->lock, flags); 4592 spin_lock_irqsave(&hdsp->lock, flags);
4580 info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp); 4593 info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp);
4581 info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp); 4594 info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp);
@@ -5045,6 +5058,10 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
5045 /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */ 5058 /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */
5046 ssleep(2); 5059 ssleep(2);
5047 5060
5061 err = hdsp_check_for_iobox(hdsp);
5062 if (err < 0)
5063 return err;
5064
5048 if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { 5065 if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
5049#ifdef HDSP_FW_LOADER 5066#ifdef HDSP_FW_LOADER
5050 if ((err = hdsp_request_fw_loader(hdsp)) < 0) 5067 if ((err = hdsp_request_fw_loader(hdsp)) < 0)
@@ -5057,7 +5074,7 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
5057 /* init is complete, we return */ 5074 /* init is complete, we return */
5058 return 0; 5075 return 0;
5059#endif 5076#endif
5060 /* no iobox connected, we defer initialization */ 5077 /* we defer initialization */
5061 snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n"); 5078 snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n");
5062 if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0) 5079 if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
5063 return err; 5080 return err;
diff --git a/sound/soc/blackfin/bf5xx-i2s.c b/sound/soc/blackfin/bf5xx-i2s.c
index 827587f08180..e020c160ee44 100644
--- a/sound/soc/blackfin/bf5xx-i2s.c
+++ b/sound/soc/blackfin/bf5xx-i2s.c
@@ -70,12 +70,24 @@ static struct sport_param sport_params[2] = {
70 } 70 }
71}; 71};
72 72
73static u16 sport_req[][7] = { 73/*
74 { P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS, 74 * Setting the TFS pin selector for SPORT 0 based on whether the selected
75 P_SPORT0_DRPRI, P_SPORT0_RSCLK, 0}, 75 * port id F or G. If the port is F then no conflict should exist for the
76 { P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, 76 * TFS. When Port G is selected and EMAC then there is a conflict between
77 P_SPORT1_DRPRI, P_SPORT1_RSCLK, 0}, 77 * the PHY interrupt line and TFS. Current settings prevent the conflict
78}; 78 * by ignoring the TFS pin when Port G is selected. This allows both
79 * ssm2602 using Port G and EMAC concurrently.
80 */
81#ifdef CONFIG_BF527_SPORT0_PORTF
82#define LOCAL_SPORT0_TFS (P_SPORT0_TFS)
83#else
84#define LOCAL_SPORT0_TFS (0)
85#endif
86
87static u16 sport_req[][7] = { {P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_RFS,
88 P_SPORT0_DRPRI, P_SPORT0_RSCLK, LOCAL_SPORT0_TFS, 0},
89 {P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_RFS, P_SPORT1_DRPRI,
90 P_SPORT1_RSCLK, P_SPORT1_TFS, 0} };
79 91
80static int bf5xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai, 92static int bf5xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
81 unsigned int fmt) 93 unsigned int fmt)
@@ -98,23 +110,21 @@ static int bf5xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
98 ret = -EINVAL; 110 ret = -EINVAL;
99 break; 111 break;
100 default: 112 default:
113 printk(KERN_ERR "%s: Unknown DAI format type\n", __func__);
101 ret = -EINVAL; 114 ret = -EINVAL;
102 break; 115 break;
103 } 116 }
104 117
105 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { 118 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
106 case SND_SOC_DAIFMT_CBS_CFS:
107 ret = -EINVAL;
108 break;
109 case SND_SOC_DAIFMT_CBM_CFS:
110 ret = -EINVAL;
111 break;
112 case SND_SOC_DAIFMT_CBM_CFM: 119 case SND_SOC_DAIFMT_CBM_CFM:
113 break; 120 break;
121 case SND_SOC_DAIFMT_CBS_CFS:
122 case SND_SOC_DAIFMT_CBM_CFS:
114 case SND_SOC_DAIFMT_CBS_CFM: 123 case SND_SOC_DAIFMT_CBS_CFM:
115 ret = -EINVAL; 124 ret = -EINVAL;
116 break; 125 break;
117 default: 126 default:
127 printk(KERN_ERR "%s: Unknown DAI master type\n", __func__);
118 ret = -EINVAL; 128 ret = -EINVAL;
119 break; 129 break;
120 } 130 }
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index aba402b3c999..945b32ed9884 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -140,7 +140,7 @@ SOC_SINGLE("Capture ADC Boost (+20dB) Switch", AC97_VIDEO, 6, 1, 0),
140 140
141SOC_SINGLE("ALC Target Volume", AC97_CODEC_CLASS_REV, 12, 15, 0), 141SOC_SINGLE("ALC Target Volume", AC97_CODEC_CLASS_REV, 12, 15, 0),
142SOC_SINGLE("ALC Hold Time", AC97_CODEC_CLASS_REV, 8, 15, 0), 142SOC_SINGLE("ALC Hold Time", AC97_CODEC_CLASS_REV, 8, 15, 0),
143SOC_SINGLE("ALC Decay Time ", AC97_CODEC_CLASS_REV, 4, 15, 0), 143SOC_SINGLE("ALC Decay Time", AC97_CODEC_CLASS_REV, 4, 15, 0),
144SOC_SINGLE("ALC Attack Time", AC97_CODEC_CLASS_REV, 0, 15, 0), 144SOC_SINGLE("ALC Attack Time", AC97_CODEC_CLASS_REV, 0, 15, 0),
145SOC_ENUM("ALC Function", wm9713_enum[6]), 145SOC_ENUM("ALC Function", wm9713_enum[6]),
146SOC_SINGLE("ALC Max Volume", AC97_PCI_SVID, 11, 7, 0), 146SOC_SINGLE("ALC Max Volume", AC97_PCI_SVID, 11, 7, 0),
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
index 86923299bc10..94a02eaa4825 100644
--- a/sound/soc/fsl/mpc5200_psc_i2s.c
+++ b/sound/soc/fsl/mpc5200_psc_i2s.c
@@ -277,7 +277,7 @@ static int psc_i2s_trigger(struct snd_pcm_substream *substream, int cmd)
277 struct mpc52xx_psc __iomem *regs = psc_i2s->psc_regs; 277 struct mpc52xx_psc __iomem *regs = psc_i2s->psc_regs;
278 u16 imr; 278 u16 imr;
279 u8 psc_cmd; 279 u8 psc_cmd;
280 long flags; 280 unsigned long flags;
281 281
282 if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) 282 if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE)
283 s = &psc_i2s->capture; 283 s = &psc_i2s->capture;
@@ -699,9 +699,11 @@ static ssize_t psc_i2s_stat_store(struct device *dev,
699 return count; 699 return count;
700} 700}
701 701
702DEVICE_ATTR(status, 0644, psc_i2s_status_show, NULL); 702static DEVICE_ATTR(status, 0644, psc_i2s_status_show, NULL);
703DEVICE_ATTR(playback_underrun, 0644, psc_i2s_stat_show, psc_i2s_stat_store); 703static DEVICE_ATTR(playback_underrun, 0644, psc_i2s_stat_show,
704DEVICE_ATTR(capture_overrun, 0644, psc_i2s_stat_show, psc_i2s_stat_store); 704 psc_i2s_stat_store);
705static DEVICE_ATTR(capture_overrun, 0644, psc_i2s_stat_show,
706 psc_i2s_stat_store);
705 707
706/* --------------------------------------------------------------------- 708/* ---------------------------------------------------------------------
707 * OF platform bus binding code: 709 * OF platform bus binding code:
@@ -819,8 +821,8 @@ static int __devinit psc_i2s_of_probe(struct of_device *op,
819 821
820 /* Register the SYSFS files */ 822 /* Register the SYSFS files */
821 rc = device_create_file(psc_i2s->dev, &dev_attr_status); 823 rc = device_create_file(psc_i2s->dev, &dev_attr_status);
822 rc = device_create_file(psc_i2s->dev, &dev_attr_capture_overrun); 824 rc |= device_create_file(psc_i2s->dev, &dev_attr_capture_overrun);
823 rc = device_create_file(psc_i2s->dev, &dev_attr_playback_underrun); 825 rc |= device_create_file(psc_i2s->dev, &dev_attr_playback_underrun);
824 if (rc) 826 if (rc)
825 dev_info(psc_i2s->dev, "error creating sysfs files\n"); 827 dev_info(psc_i2s->dev, "error creating sysfs files\n");
826 828
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 462e635dfc74..16c7453f4946 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -95,8 +95,8 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
95 codec->ac97->dev.parent = NULL; 95 codec->ac97->dev.parent = NULL;
96 codec->ac97->dev.release = soc_ac97_device_release; 96 codec->ac97->dev.release = soc_ac97_device_release;
97 97
98 snprintf(codec->ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s", 98 dev_set_name(&codec->ac97->dev, "%d-%d:%s",
99 codec->card->number, 0, codec->name); 99 codec->card->number, 0, codec->name);
100 err = device_register(&codec->ac97->dev); 100 err = device_register(&codec->ac97->dev);
101 if (err < 0) { 101 if (err < 0) {
102 snd_printk(KERN_ERR "Can't register ac97 bus\n"); 102 snd_printk(KERN_ERR "Can't register ac97 bus\n");
@@ -1462,7 +1462,7 @@ int snd_soc_info_volsw(struct snd_kcontrol *kcontrol,
1462 struct soc_mixer_control *mc = 1462 struct soc_mixer_control *mc =
1463 (struct soc_mixer_control *)kcontrol->private_value; 1463 (struct soc_mixer_control *)kcontrol->private_value;
1464 int max = mc->max; 1464 int max = mc->max;
1465 unsigned int shift = mc->min; 1465 unsigned int shift = mc->shift;
1466 unsigned int rshift = mc->rshift; 1466 unsigned int rshift = mc->rshift;
1467 1467
1468 if (max == 1) 1468 if (max == 1)
diff --git a/sound/sound_core.c b/sound/sound_core.c
index faef87a9bc3f..a75b289a5d78 100644
--- a/sound/sound_core.c
+++ b/sound/sound_core.c
@@ -57,7 +57,7 @@ module_exit(cleanup_soundcore);
57/* 57/*
58 * OSS sound core handling. Breaks out sound functions to submodules 58 * OSS sound core handling. Breaks out sound functions to submodules
59 * 59 *
60 * Author: Alan Cox <alan.cox@linux.org> 60 * Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
61 * 61 *
62 * Fixes: 62 * Fixes:
63 * 63 *
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c
index c257ad8bdfbc..23ed6f04a718 100644
--- a/sound/sparc/dbri.c
+++ b/sound/sparc/dbri.c
@@ -2534,6 +2534,8 @@ static int __devinit snd_dbri_create(struct snd_card *card,
2534 dbri->dma = dma_alloc_coherent(&op->dev, 2534 dbri->dma = dma_alloc_coherent(&op->dev,
2535 sizeof(struct dbri_dma), 2535 sizeof(struct dbri_dma),
2536 &dbri->dma_dvma, GFP_ATOMIC); 2536 &dbri->dma_dvma, GFP_ATOMIC);
2537 if (!dbri->dma)
2538 return -ENOMEM;
2537 memset((void *)dbri->dma, 0, sizeof(struct dbri_dma)); 2539 memset((void *)dbri->dma, 0, sizeof(struct dbri_dma));
2538 2540
2539 dprintk(D_GEN, "DMA Cmd Block 0x%p (0x%08x)\n", 2541 dprintk(D_GEN, "DMA Cmd Block 0x%p (0x%08x)\n",
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h
index 69689e79bf79..92115755d98e 100644
--- a/sound/usb/usbquirks.h
+++ b/sound/usb/usbquirks.h
@@ -1480,6 +1480,36 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1480 } 1480 }
1481 } 1481 }
1482}, 1482},
1483{
1484 /* Advanced modes of the Edirol UA-25EX.
1485 * For the standard mode, UA-25EX has ID 0582:00e7, which
1486 * offers only 16-bit PCM at 44.1 kHz and no MIDI.
1487 */
1488 USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6),
1489 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1490 .vendor_name = "EDIROL",
1491 .product_name = "UA-25EX",
1492 .ifnum = QUIRK_ANY_INTERFACE,
1493 .type = QUIRK_COMPOSITE,
1494 .data = (const struct snd_usb_audio_quirk[]) {
1495 {
1496 .ifnum = 0,
1497 .type = QUIRK_AUDIO_EDIROL_UAXX
1498 },
1499 {
1500 .ifnum = 1,
1501 .type = QUIRK_AUDIO_EDIROL_UAXX
1502 },
1503 {
1504 .ifnum = 2,
1505 .type = QUIRK_AUDIO_EDIROL_UAXX
1506 },
1507 {
1508 .ifnum = -1
1509 }
1510 }
1511 }
1512},
1483 1513
1484/* Guillemot devices */ 1514/* Guillemot devices */
1485{ 1515{
diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c
index d0169f5e6047..55ad76ee2d09 100644
--- a/virt/kvm/irq_comm.c
+++ b/virt/kvm/irq_comm.c
@@ -25,15 +25,23 @@
25#include "ioapic.h" 25#include "ioapic.h"
26 26
27/* This should be called with the kvm->lock mutex held */ 27/* This should be called with the kvm->lock mutex held */
28void kvm_set_irq(struct kvm *kvm, int irq, int level) 28void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level)
29{ 29{
30 unsigned long *irq_state = (unsigned long *)&kvm->arch.irq_states[irq];
31
32 /* Logical OR for level trig interrupt */
33 if (level)
34 set_bit(irq_source_id, irq_state);
35 else
36 clear_bit(irq_source_id, irq_state);
37
30 /* Not possible to detect if the guest uses the PIC or the 38 /* Not possible to detect if the guest uses the PIC or the
31 * IOAPIC. So set the bit in both. The guest will ignore 39 * IOAPIC. So set the bit in both. The guest will ignore
32 * writes to the unused one. 40 * writes to the unused one.
33 */ 41 */
34 kvm_ioapic_set_irq(kvm->arch.vioapic, irq, level); 42 kvm_ioapic_set_irq(kvm->arch.vioapic, irq, !!(*irq_state));
35#ifdef CONFIG_X86 43#ifdef CONFIG_X86
36 kvm_pic_set_irq(pic_irqchip(kvm), irq, level); 44 kvm_pic_set_irq(pic_irqchip(kvm), irq, !!(*irq_state));
37#endif 45#endif
38} 46}
39 47
@@ -58,3 +66,31 @@ void kvm_unregister_irq_ack_notifier(struct kvm *kvm,
58{ 66{
59 hlist_del(&kian->link); 67 hlist_del(&kian->link);
60} 68}
69
70/* The caller must hold kvm->lock mutex */
71int kvm_request_irq_source_id(struct kvm *kvm)
72{
73 unsigned long *bitmap = &kvm->arch.irq_sources_bitmap;
74 int irq_source_id = find_first_zero_bit(bitmap,
75 sizeof(kvm->arch.irq_sources_bitmap));
76 if (irq_source_id >= sizeof(kvm->arch.irq_sources_bitmap)) {
77 printk(KERN_WARNING "kvm: exhaust allocatable IRQ sources!\n");
78 irq_source_id = -EFAULT;
79 } else
80 set_bit(irq_source_id, bitmap);
81 return irq_source_id;
82}
83
84void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id)
85{
86 int i;
87
88 if (irq_source_id <= 0 ||
89 irq_source_id >= sizeof(kvm->arch.irq_sources_bitmap)) {
90 printk(KERN_ERR "kvm: IRQ source ID out of range!\n");
91 return;
92 }
93 for (i = 0; i < KVM_IOAPIC_NUM_PINS; i++)
94 clear_bit(irq_source_id, &kvm->arch.irq_states[i]);
95 clear_bit(irq_source_id, &kvm->arch.irq_sources_bitmap);
96}
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index cf0ab8ed3845..a87f45edfae8 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -105,14 +105,12 @@ static void kvm_assigned_dev_interrupt_work_handler(struct work_struct *work)
105 */ 105 */
106 mutex_lock(&assigned_dev->kvm->lock); 106 mutex_lock(&assigned_dev->kvm->lock);
107 kvm_set_irq(assigned_dev->kvm, 107 kvm_set_irq(assigned_dev->kvm,
108 assigned_dev->irq_source_id,
108 assigned_dev->guest_irq, 1); 109 assigned_dev->guest_irq, 1);
109 mutex_unlock(&assigned_dev->kvm->lock); 110 mutex_unlock(&assigned_dev->kvm->lock);
110 kvm_put_kvm(assigned_dev->kvm); 111 kvm_put_kvm(assigned_dev->kvm);
111} 112}
112 113
113/* FIXME: Implement the OR logic needed to make shared interrupts on
114 * this line behave properly
115 */
116static irqreturn_t kvm_assigned_dev_intr(int irq, void *dev_id) 114static irqreturn_t kvm_assigned_dev_intr(int irq, void *dev_id)
117{ 115{
118 struct kvm_assigned_dev_kernel *assigned_dev = 116 struct kvm_assigned_dev_kernel *assigned_dev =
@@ -134,7 +132,7 @@ static void kvm_assigned_dev_ack_irq(struct kvm_irq_ack_notifier *kian)
134 132
135 dev = container_of(kian, struct kvm_assigned_dev_kernel, 133 dev = container_of(kian, struct kvm_assigned_dev_kernel,
136 ack_notifier); 134 ack_notifier);
137 kvm_set_irq(dev->kvm, dev->guest_irq, 0); 135 kvm_set_irq(dev->kvm, dev->irq_source_id, dev->guest_irq, 0);
138 enable_irq(dev->host_irq); 136 enable_irq(dev->host_irq);
139} 137}
140 138
@@ -146,6 +144,7 @@ static void kvm_free_assigned_device(struct kvm *kvm,
146 free_irq(assigned_dev->host_irq, (void *)assigned_dev); 144 free_irq(assigned_dev->host_irq, (void *)assigned_dev);
147 145
148 kvm_unregister_irq_ack_notifier(kvm, &assigned_dev->ack_notifier); 146 kvm_unregister_irq_ack_notifier(kvm, &assigned_dev->ack_notifier);
147 kvm_free_irq_source_id(kvm, assigned_dev->irq_source_id);
149 148
150 if (cancel_work_sync(&assigned_dev->interrupt_work)) 149 if (cancel_work_sync(&assigned_dev->interrupt_work))
151 /* We had pending work. That means we will have to take 150 /* We had pending work. That means we will have to take
@@ -215,6 +214,11 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
215 match->ack_notifier.gsi = assigned_irq->guest_irq; 214 match->ack_notifier.gsi = assigned_irq->guest_irq;
216 match->ack_notifier.irq_acked = kvm_assigned_dev_ack_irq; 215 match->ack_notifier.irq_acked = kvm_assigned_dev_ack_irq;
217 kvm_register_irq_ack_notifier(kvm, &match->ack_notifier); 216 kvm_register_irq_ack_notifier(kvm, &match->ack_notifier);
217 r = kvm_request_irq_source_id(kvm);
218 if (r < 0)
219 goto out_release;
220 else
221 match->irq_source_id = r;
218 222
219 /* Even though this is PCI, we don't want to use shared 223 /* Even though this is PCI, we don't want to use shared
220 * interrupts. Sharing host devices with guest-assigned devices 224 * interrupts. Sharing host devices with guest-assigned devices